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

文档序号:9620849阅读:来源:国知局
务组件通过提供代理连接数据来响应于会话请求,所述代理连接数据被配 置为允许客户端设备经由广域网建立代理连接。换句话说,利用代理连接数据,客户端设备 的代理客户端可通过互联网打开与代理服务组件的会话。为了出于这种目的使能客户端设 备,连接管理组件向客户端设备发送代理连接数据。
[0025] 客户端设备的代理客户端通过广域网打开到代理服务组件的会话,并且代理服务 组件经由相应的虚拟机引擎将通信转发给相应的目标目的地,即,实现用于客户端设备的 远程桌面的远程虚拟机。代理连接和相应的会话通过唯一标识符来标识。代理服务可受连 接管理组件所提供的管理服务控制,并且可向相关代理客户端推送其配置数据。
[0026] 在一个实施例中,连接管理组件和代理服务组件可在专用管理设备中运行。然而, 管理设备还可以是运行虚拟机的一个或多个虚拟主机的一部分。
[0027] 在一个实施例中,所建立的客户端设备的代理客户端与代理服务之间的代理连接 可以是安全连接(例如,使用传输层安全(Transport Layer Security,TLS)或者安全套接 字层(Secure Socket Layer,SSL)) 〇
[0028] 在一个实施例中,代理服务从客户端设备接收数据最优化指示符。数据最优化指 示符基于客户端设备的技术约束,诸如例如客户端设备所支持的连接的类型或者特定协 议。代理服务可与客户端设备协商从预定义的最优化协议集合中选择的特定最优化协议, 其中特定最优化协议与数据最优化指示符相关联。
[0029] 在一个实施例中,连接管理组件可存储多个用户的用户数据,其中每个用户可使 用相应的客户端设备。此外,多个用户组的用户组数据可被存储。用户组具有多个用户的 子集并且可与多个远程虚拟机相关联。换句话说,系统支持多个顾客的组织,其中每个顾客 可由包括各个顾客的用户的用户组来表示。对于每个顾客,专用远程虚拟机集合可被分配 给各个用户组。多个远程虚拟机到用户组的映射定义了针对各个顾客的专用虚拟局域网。 这允许了以如下方式为同一虚拟主机上的多个不同顾客提供远程桌面:每个顾客可分别通 过相应远程桌面具有定制视图。另外,用户组可以是一个或多个更高级别的用户组的子组。 可允许用户组的有特权用户管理其直接父组的访问控制结构。可在父用户组与子用户组之 间明确同意由更高级别的组的有特权用户进行额外访问,以使得父用户组的有特权用户能 够访问与子用户组相关联的远程虚拟机引擎。
[0030] 在一个实施例中,访问策略的预定义的访问数据结构和相应访问规则可存储下列 访问规则中的任何一者:允许或者拒绝显示器连接(可能部分地),允许或者拒绝键盘连接 (可能利用密钥限制),允许或者拒绝鼠标连接,允许或者拒绝文件传送,允许或者拒绝剪 贴板传送(分别对于两个方向:从虚拟机以及到虚拟机),允许或者拒绝USB重定向,定义 USB重定向设备类别(例如,存储、音频、…)的黑名单和/或白名单,定义用于每个访问规 则的访问时间,定义用于限制访问特定客户端机器的客户端系统ID,以及定义用于限制客 户端访问指定子网的网络黑名单/白名单(诸如公司、供应商、城市或国家)。在建立代理 客户端与代理服务之间的代理连接时,只有这样的连接协议可被使能:其被访问规则允许 用于接收到的授权数据。例如,通过使用能够直接从相应虚拟机引擎抓取远程桌面的视频 流的协议,所建议的系统能够绕过现有技术应用的问题:
[0031] a.在协作的同时,到同一桌面的多个连接的特征;
[0032] b.利用WAN连接应用协议最优化以使远程会话高效;
[0033] c.提供额外的安全选项以避免通过互联网的明文发送;
[0034] d.与远程桌面网络无关(例如,使得桌面连接到外国VPN网络成为可能)。
[0035] 本发明的另外的方面将借助于在权利要求中具体描绘的元件和组合来实现和达 到。将会理解,前述一般描述和随后的详细描述两者都仅是示例性的以及说明性的,而不会 像所描述的那样限制本发明。
【附图说明】
[0036] 图1是本发明的实施例所使用的组件的简化框图;
[0037] 图2图示了根据本发明的实施例的具有其管理程序和虚拟机引擎的虚拟主机;
[0038] 图3是根据本发明的实施例的连接管理组件的简化框图;
[0039] 图4是图示本发明的一个实施例中的组件的交互的游线图;以及
[0040] 图5是根据本发明的实施例的计算机实现的方法的简化流程图。
【具体实施方式】
[0041] 图1是本发明的实施例所使用的组件的简化框图。这些组件可通信地耦合以允许 组件之间的通信。这样的通信当组件在物理上分开时可经由网络(例如,广域网或局域网、 无线网络等等)通过适当的接口发生。在同一物理设备上实现的组件可经由设备内部总线 通过适当的接口进行通信。组件之间的双向通信通过相应组件之间的双向箭头来图示。单 向通信通过单向箭头来图示。
[0042] 组件可使得客户端设备200能够打开与远程桌面的会话,该远程桌面在于虚拟主 机301上运行的远程虚拟机引擎302内实现。例如,客户端设备200可以是传统个人计算机 (PC)、平板PC、智能电话或者允许经由用户界面(UI)与用户进行用户交互的任何其它计算 设备。客户端设备具有提供用于数据输入/输出的功能(I/O功能)的UI客户端201 (例 如,浏览器或者虚拟网络计算(virtual network computing,VNC)查看器)。UI客户端可 支持视频数据、音频数据或者用于用户交互的任何其它适当的数据流或格式。例如,可经由 显示设备(例如,监视器设备)向用户提供桌面的图形表示,所述显示设备允许用户执行控 制动作,诸如通过利用指示设备(例如,鼠标)点击图标来选择图标或者将数据输入到相应 数据录入字段表示。UI客户端201可与客户端设备200的代理客户端202通信。代理客 户端202可被配置为通过广域网WAN 400连接到代理服务102。例如,WAN 400可以是互联 网,并且代理客户端与代理服务之间的连接可以是安全的TLS或者SSL连接,其与二元协议 (例如,SSH隧道或者用于此使用情况的更高级的协议)一起使用。代理服务102可被配置 为连续监听端口 443/TCP(默认HTTPS端口)以使得即使客户端设备200受到阻断非默认 传出连接的隔火墙保护,客户端设备200上的代理客户端202也能够连接到代理服务102。
[0043] 除了仅促进连接但不进行任何最优化且不提供任何过滤技术的SSH隧道之外,也 可使用更高级的代理协议。
[0044] 这种更高级的代理协议可以是这样的协议:其对于每个网络基础设施表现地像 HTTPS协议,但其实现上是有状态协议。连接可由代理客户端202发起。例如,连接可以是 TLS加密的。当加密被使用时,TLS握手在TCP连接被建立之后直接开始。如果需要的话, TLS的重新握手可发生在代理会话期间的任何时候。在TLS连接内部,客户端利用唯一的令 牌自我验证。此令牌可在向代理服务102发送各个请求时由连接管理组件101的管理服务 生成。此令牌在代理服务102处绑定到数据结构,其保存下列信息中的任何一者:
[0045] .TLS上下文数据
[0046] ?代理客户端连接数据(例如,源IP/端口)
[0047] ?代理客户端的访问控制表(access control list,ACL)(例如,机器ID,源网络)
[0048] ?最后的数据传送(用于超时功能)
[0049] ?直至最大数量(例如,八个)的远程流结构的集合
[0050] 远程流结构是代理用来保存数据流相关信息的连接句柄。例如,流(stream)#0总 是可被用于代理内部通信。然后流#1到#7可用于远程桌面有效负载。远程流结构可保存 下列信息中的任何一者:
[0051] ?流函数(例如,桌面、USB、剪贴板、…)
[0052] ?在端点(例如,特定块存储装置、通过IP的USB、…)处的协议类型
[0053] ?协议端点(流目标所在的虚拟主机上的实际软件的套接字侦听器:例如,虚拟机 引擎302)
[0054] ?连接所涉及的远程虚拟机引擎302的唯一 ID(例如,通用唯一标识符UUID)
[0055] ?连接状态(例如,等待、连接、重新连接)
[0056] ?客户端所建议的最优化(例如,压缩算法、编解码器转换、…)
[0057] ?协商的最优化(例如,压缩算法、编解码器转换、…的种类)
[0058] ?最优化参数(例如,词典大小、比特率…)
[0059] ?统计信息(例如,设立次数、传送的数据、…)
[0060] ?代理客户端的ACL(例如,
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1