使客户端设备能够访问远程桌面的方法和系统的制作方法

文档序号:9620849阅读:524来源:国知局
使客户端设备能够访问远程桌面的方法和系统的制作方法
【技术领域】
[0001] 本发明一般涉及电子数据处理,并且更具体地,涉及用于远程客户端访问虚拟机 的方法、计算机程序产品和系统。
【背景技术】
[0002] 存在以下商业解决方案:其通过诸如互联网那样的广域网(WAN)在多用户环境内 利用本地系统行为远程访问虚拟PC或桌面。例如,视频和输入设备以及光学介质和/或 USB重定向可受这种远程访问的支配。一些解决方案,诸如例如RDP或CITIRIX ICA,使得 客户端能够通过互联网访问微软的WINDOWS桌面。然而,WINDOWS是唯一被支持的操作系 统,并且任何显示信息都保持对用户隐藏直到远程桌面完成自举(ramp up)为止。其它解 决方案,诸如例如VNC、HP RGS、iLo、DRAC,能够通过网络公布与平台无关的桌面,但它们是 仅针对局部网(LAN)设计的和/或它们仅支持单个租户(tenant)的行为。
[0003] 像Citrix (ICA)、VMware视图、微软终端服务(RDP)这样的解决方案在操作系统内 执行视频抓取,而这可导致下列后果:
[0004] ?操作系统必须启动并且没有错误地运行。
[0005] ?必须安装软件(可能作为操作系统的一部分)。
[0006] ?要求到远程桌面的网络连通性。
[0007] · VPN连接不能被远程桌面打开。
[0008] -些解决方案(例如,微软终端服务/Citrix终端服务器)共享用于多个客户端 的单个操作系统。在这样的情况下,用户不能像用户专用系统那样管理其系统。用户被限 制在像改变系统设置、安装需要的软件或重启系统那样的操作中。
[0009] -些可用的解决方案使得客户端设备能够通过网际协议访问桌面或者服务器的 虚拟图形硬件及其它I/O设备。这样的解决方案被设计成用于维护到系统(例如,VMware 的虚拟控制台)的访问。这样的解决方案不可高效用于多用户环境,也不可通过广域网高 效使用。这可导致下列后果:
[0010] ?这些解决方案不是针对低带宽(WAN)设计的。
[0011] ?由于延迟困难,解决方案不能被优化。
[0012] ?这些解决方案仅支持单个租户(即不能一次支持多个客户端)。
[0013] ?这些解决方案可能不满足WAN安全性要求(加密、授权、验证、完整性)。

【发明内容】

[0014] 因此,需要改进现有技术系统以支持客户端设备通过广域网访问远程桌面,而这 与操作系统无关。
[0015] 对此问题的解决方案是利用虚拟机。术语"虚拟机"经常被用于在虚拟硬件上运 行的操作系统。事实上,虚拟机是实际的虚拟硬件。虚拟机与在其上运行的任何软件(例 如,操作系统)之间没有相干性。更详细地,典型的虚拟机具有两个部分:虚拟化部分和模 拟部分。真实的现有资源(即,硬件)可由管理程序提供给虚拟机。当提及虚拟化一一而 非模拟一一时,虚拟化部分至少包括存储器(RAM)和处理器资源。不存在于虚拟化部分中 或者不能被分区的额外硬件可被模拟。为虚拟机提供额外的模拟的或者有时是类虚拟化的 硬件的软件在下文中被称为虚拟机引擎。虚拟机引擎是在虚拟主机上运行的软件块,其中 每个虚拟机有一个实例。换句话说,虚拟机引擎在于虚拟主机上启动时可被看作软件过程, 并且对于每个虚拟机,这种虚拟机引擎过程在运行。
[0016] 该问题通过本发明的实施例,诸如根据权利要求的实现方法、计算机程序产品和 计算机系统,来解决以使得客户端设备能够访问被实现为在远程虚拟机引擎上运行的操作 系统的远程桌面。换句话说,虚拟机引擎在远离客户端设备的主机上运行。虚拟机引擎向 客户端设备提供操作系统的功能,从而客户端设备、虚拟机引擎和主机的组合对于用户而 言看起来像用户的桌面。虚拟机是基本硬件的软件实现的抽象,其被呈现给系统的应用层。 虚拟机可基于假想计算机的规范或者模拟现实世界计算机的计算机架构和功能。虚拟机 过滤访问主处理器和虚拟存储器。访问可由处理器本身的虚拟化特征管理(诸如INTEL VT-χ,细节在以下中描述:"Intel? Virtualization Technology andIntel? Active Management Technology in Retail Infrastructure"白皮书,2006 年 12 月,可从 http:// www. intel. com/design/intarch/papers/316087. pdf 获得修订版 1)。存储转换表(虚拟 机到主机)也可由处理器处理。
[0017] 如下文中所使用的远程桌面要被理解为如下软件的实例:其远程模拟用户在本地 客户端设备上可正常运行的所有功能并且通过诸如终端会话那样的远程会话来提供这样 的功能。
[0018] 远程虚拟机可作为虚拟机引擎例示在虚拟主机上。如下文中所使用的虚拟主机对 应于被配置为运行一个或多个虚拟机引擎的操作系统。该远程虚拟机引擎可从在虚拟主机 上运行的一个或多个远程虚拟机引擎中选择。另外,在计算机系统中,可有一个或多个虚拟 主机,其具有都可被客户端设备访问的在运行的虚拟机。
[0019] 用户可在用户的客户端设备上输入用户凭据以从远程系统加载可用远程虚拟机 的列表。远程系统可对用户隐藏,但客户端设备可了解可从其检索到可用远程虚拟机的列 表的连接管理组件。用户可从列表选择目标目的地并且向连接管理组件发送相应连接请 求。
[0020] 连接管理组件接收连接请求,该连接请求指向建立客户端设备与已被选择为目标 目的地的远程虚拟机引擎之间的连接。换句话说,连接请求向连接管理组件指示客户端设 备意图访问通过远程虚拟机引擎实现的远程桌面。用户凭据包括用户的授权数据。授权 数据可分开发送或者作为连接请求的一部分发送。为了与其它组件进行数据交换,连接管 理组件具有管理接口,该管理接口具有适合于与各个组件的通信要求的一个或多个特定接 □〇
[0021] 连接管理组件具有包括预定义的访问数据结构和相应访问规则的访问策略组件, 该访问策略组件被配置为就请求用户是否被允许打开到作为目标目的地的远程桌面的连 接而言评价授权数据。通过访问策略,连接管理组件可定义哪个用户可访问哪个远程虚拟 机引擎并且如何访问。例如,可允许建立显示器连接,但可禁止使用文件或剪贴板传送。USB 重定向可被允许或者拒绝。任何组合是可能的。如果与连接请求相关联的授权数据符合访 问策略,即,如果请求用户具有打开连接的相应访问权限,则连接管理组件请求远程虚拟机 引擎的目的地数据。如更早说明的,远程虚拟机引擎被例示在虚拟主机上。目的地数据可 从相应的虚拟主机请求或者从连接管理组件与虚拟主机之间的中间抽象软件请求。当虚拟 机被例示时,其自动提供虚拟机引擎,并且连接管理组件被使能来控制虚拟机引擎和远程 虚拟机本身。在计算时,管理程序(hypervisor)是作为创建和运行虚拟机的计算机软件、 固件或者硬件的块的虚拟机监视器。管理程序可运行虚拟主机上的一个或多个虚拟机。管 理程序向(一个或多个)远程桌面虚拟机的(一个或多个)操作系统呈现虚拟操作平台并 且管理虚拟机操作系统的运行。多个操作系统的多个实例可共享虚拟化硬件资源。与之相 对,虚拟机引擎专用于各自的虚拟机。它提供非共享硬件资源。例如,来自客户端设备的输 入设备(例如,鼠标、键盘、触摸屏,等等)的控制信号可被转发给虚拟机引擎,而这与操作 系统完全无关。在相反方向上,来自远程客户端的可视信息也可被提供而不管操作系统如 何。因此,所建议的计算机系统在以下意义上是与平台无关的:通信被使能,而这与客户端 设备所使用的以及远程虚拟机内部的操作系统无关。
[0022] 响应于目的地数据请求,连接管理组件接收虚拟机引擎的目的地数据作为所请求 的远程虚拟机的目的地数据。换句话说,虽然所请求的目的地数据指向远程虚拟机,但系统 意图允许仅通过相应的虚拟机引擎来访问该远程虚拟机,并且因此提供虚拟机引擎的目的 地数据。此目的地数据可经过一个或多个中间层。换句话说,任意数量的中间组件,例如, 用于提供额外的抽象级别的组件,可被用在所建议的通信构思的上下文中而不影响要求保 护的通信构思的原理。
[0023] 连接管理组件然后向代理服务组件发送会话请求以用于与远程虚拟机引擎建立 会话。会话请求指定了应当由代理服务根据授权数据打开会话。一般而言,这样的会话是 在于虚拟机内运行的软件与属于同一局域网的客户端设备之间建立的。结合代理服务使用 虚拟机引擎允许了通过像互联网那样的广域网在客户端设备与远程桌面虚拟机之间进行 连接。另外,通过将管理组件用于控制虚拟机引擎,多租户被使能。换句话说,多个组可在 不知道彼此或不干扰彼此的情况下使用此环境。
[0024] 代理服
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1