用于在远程虚拟机上虚拟化设备的方法和系统技术方案

技术编号:2920593 阅读:231 留言:0更新日期:2012-04-11 18:40
其中插入了本地设备的虚拟设备集线器使得这些设备能够在本地以及对于远程虚拟机被虚拟化。然后这些设备对于远程应用表现为可用,并且可被用于例如通过位于该用户的物理位置的打印机打印正在该远程主机系统上处理的报告。用户的虚拟设备集线器是一具有网络能力的小型计算机设备,该计算机设备能够访问远程虚拟机。当用户运行一应用时,该应用实际上是在该远程虚拟机上运行。

【技术实现步骤摘要】

本专利技术涉及一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的系统和方法。
技术介绍
当用户使用浏览器或瘦客户机与在处于另一位置的虚拟机上运行的系统相交互时,用户不能直接访问本地外围设备,而仅能访问那些存在于该远程主机系统即存在于虚拟机上的外围设备。例如,通过一本地打印机或设备进行打印是不可能的。向该系统添加设备以及认定该设备可用不能从远程位置实现。例如,用户可能希望使用一与用户在同一位置的外围扫描仪在用户自身的位置直接扫描文档。在此情况下,用户会希望他/她的本地(在同一位置的)扫描仪能够与远程的虚拟机相交互。这样,用户可使用他/她已经运行的虚拟机查看并操作该扫描数据。通常,虚拟机仅能使用相对于该虚拟机自身为本地的设备进行操作,而本地用户被迫仅能使用那些当前安装在该虚拟机上的设备。在本地安装新的外围设备的用户不能立即访问该设备。当外围设备更加多样化以及更加便携(例如蓝牙连接的PDA、便携式数字音乐播放器)时,这个问题变得更加尖锐。虚拟设备这个概念本身并不新颖。实际上,甚至在远程位置的虚拟机也虚拟化连接在该系统上的设备。针对访问主机系统的虚拟机的用户的每个实例,虚拟设备驱动程序虚拟化该系统的外围设备。例如,在一特定的虚拟机上可能仅安装了一个打印机,然而任何访问该虚拟机的用户都可使用该打印机打印文档。该打印机对于这些用户而言是一虚拟设备,因为用户是通过虚拟机访问该设备的。虚拟设备驱动程序模仿实际硬件,并且使每个虚拟机上的应用可访问该单个物理设备。在本
内,需要一种使得用户可在运行虚拟机时访问本地外围设备的装置和方法。
技术实现思路
专利技术通过提供这样一种方法解决上述问题,即当用户在远程虚拟机上执行时,“插入”、识别对于用户为本地的设备,并且使得该用户可使用该设备。本专利技术的独特之处是将一设备物理地插入该用户的本地设备集线器使得该设备可在本地被检测到,设备驱动程序被定位、下载以及安装到虚拟机上。从而使该设备对于用户目前正在执行的位于远程的虚拟机实例可用。本专利技术涉及一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的系统和方法。本专利技术提供了一虚拟设备集线器,本地外围设备或设备插入该集线器。这些设备在本地以及对于远程虚拟机被虚拟化。然后,这些设备对于远程应用表现为可用,并且可被用于例如通过一位于用户的物理位置的打印机打印正在该远程主机上处理的报告。用户的虚拟设备集线器仅是一具有网络能力的、能够访问远程虚拟机的小型计算机。当用户运行一应用时,该应用实际上在该远程虚拟机上运行。输出通过网络连接被发送给用户的显示器,从而本地机器不执行任何处理,而只是象一瘦客户机那样运行。来自用户键盘的输入通过网络传递给用户的虚拟机。在用户的本地机器内跟踪鼠标的移动,并经由网络将其发送给该远程虚拟机。显示中的变化是从该远程虚拟机发送并呈现在用户的本地系统上的。用户不必保留操作系统环境的本地副本,而且用户也不必保持该操作系统环境是最新的、无病毒的以及具有适当的安全性。远程虚拟机上的系统和管理员确保该虚拟机系统使用最新的软件运行。本专利技术也可应用于物理机器。当应用于一物理机器时,通过提供一设备虚拟化层来增强操作系统。该操作系统本身支持与由该设备虚拟化层实现的抽象的、虚拟化的设备相交互的设备驱动程序。继而,该层通过本地设备驱动程序或通过与某远程平台的设备虚拟化层相通信的设备驱动程序实现与实际设备的通信。一些设备需要来自它们的设备驱动程序的实时响应。例如,当使用鼠标时,鼠标的移动和相应的显示更新之间存在着最大延迟,否则用户将发现鼠标不可用。本专利技术包含诸如本
内已知的这样的手段,通过这些手段协商网络服务质量(QoS)从而可满足这些实时响应要求。该虚拟设备集线器可包括存储设备、打印机、音频/视频设备、媒体“烧录机”、投影设备、室内灯光设备、电话设备、付款机、TV以及用户交互设备(例如跟踪球)等。如果作为服务运行,则可适当地收取费用。该虚拟设备集线器还可处理安全性、调度和压缩的某些方面。可查询该虚拟设备集线器以获得可用设备的信息并就如何最好地使用这些设备对用户进行指导。可在办公室、商场、教室和银行部署该集线器。本概念超出传统的计算设备,并且可应用于厨房中的联网的设备,或者汽车、身体区域网络(可穿戴计算)或远程机器人场地中的任何一个中的联网的部件。因此,本专利技术的主要目的是提供一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的系统。本专利技术的另一目的是提供一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的方法。本专利技术的另一目的是提供一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的系统,该系统包括一设备虚拟化层。结合附图从下面的说明中可清楚地了解本专利技术的进一步的以及其他的目的。附图说明图1是本专利技术的一优选实施例的框图。图2是实现本专利技术的方法的流程图。图3是包含一设备虚拟化层的本专利技术的一优选实施例的框图。具体实施例方式本专利技术涉及一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的系统和方法。现参照附图尤其是图1,在服务器101中的远程虚拟机(VM)通过虚拟设备集线器102虚拟化本地外围设备103,并使在服务器101上远程运行的应用可使用这些设备。当用户操作一计算设备104运行位于服务器101上的虚拟机中的程序时,计算设备104的用户就好像操作系统和应用位于该计算设备104上一样进行操作。但是,该操作系统和应用会部分或全部位于远程服务器101上并在服务器101的虚拟机实例中执行。本专利技术的虚拟设备集线器102连接到一可访问在该远程服务器101上运行的虚拟机的网络中。虚拟设备集线器102可直接连接到与服务器101相连接的该网络中,或虚拟设备集线器102可通过计算设备104A与服务器101相连接。该集线器是通过在服务器101上运行的虚拟机“插入”到服务器101的。图2中示出实现本专利技术的方法,其中当用户希望使用本地设备时,在步骤201用户将该本地设备插入该虚拟设备集线器。在步骤202,虚拟设备集线器检测到一设备已插入该集线器,收集关于该设备的信息例如设备型号和类型,并在步骤203将这些信息发送给服务器中的虚拟机实例。在步骤204,使用该设备信息以允许该虚拟机选择哪种类型的设备103已被插入该虚拟设备集线器102的,并察看是否对该特定设备的支持存在于服务器101上。如果不存在,则服务器101中的虚拟机实例启动在该服务器101中安装一物理设备驱动程序,并且在服务器101上运行的虚拟机实例中安装一虚拟设备驱动程序。在步骤205,通过软件使该设备103对于用户的应用可用。例如,当用户希望使用设备103例如打印机时,用户与当前运行的应用相交互以通过例如新添加的打印机103打印一文件。用户选择用于输出的本地打印机103,并启动打印操作。因为用户正在运行的应用实际上位于远程服务器101上,所以该应用将打印输出发送给在服务器101上的虚拟机实例中定义的虚拟打印机。然后,通过网络连接和虚拟设备集线器101将输出发送给实际打印机103。在服务器101中的虚拟机中执行的应用知道,它已通过(在服务器101中的)该虚拟机中的一虚拟设备驱动程序向打印机103发送数据。然后本文档来自技高网
...

【技术保护点】
一种用于在远程虚拟机上虚拟化设备并且将这些设备扩展到用户的物理位置的方法,包括以下步骤:检测到设备对于远程虚拟机的本地客户机是可用的;将设备可用这一信息发送给该远程虚拟机;以及使该设备在本地可用。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DF班茨TE谢弗兰斯SJ马斯特里亚尼CA皮茨克维尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1