CN104106052A - 用于主控的服务的连接租赁 - Google Patents

用于主控的服务的连接租赁 Download PDF

Info

Publication number
CN104106052A
CN104106052A CN201380008099.3A CN201380008099A CN104106052A CN 104106052 A CN104106052 A CN 104106052A CN 201380008099 A CN201380008099 A CN 201380008099A CN 104106052 A CN104106052 A CN 104106052A
Authority
CN
China
Prior art keywords
session
lease
client
main frame
token
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380008099.3A
Other languages
English (en)
Other versions
CN104106052B (zh
Inventor
K·M·贝尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN104106052A publication Critical patent/CN104106052A/zh
Application granted granted Critical
Publication of CN104106052B publication Critical patent/CN104106052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Abstract

这里的方面描述使用连接租赁在虚拟桌面基础设施(VDI)中代理主控的资源以减少对连接代理的需求并且允许即使在代理停用的情况仍然维持主控的服务。在客户端设备希望连接到主控的资源(例如主控的桌面或者主控的应用)时,客户端设备可以向会话主机呈现租赁令牌。租赁令牌是自维持数据包,会话主机可以从该自维持数据包确定请求客户端设备是否被授权访问该会话主机主控的一个或者多个资源。租赁令牌可以被用密码签名以保证它的内容尚未被更改并且还保证租赁令牌源于信任的来源。可以与连接代理独立地存储租赁令牌,由此如果连接代理变成离线,则租赁令牌仍然可用。

Description

用于主控的服务的连接租赁
技术领域
这里描述的方面涉及计算机系统、计算机网络和桌面虚拟化。更具体而言,这里描述的方面涉及在桌面虚拟化系统中使用连接租赁以提供客户端设备与远程桌面和远程应用的连接。
背景技术
传统上,个人计算机包括各自在持续的基础上被所有者或者监管者个别管理的操作系统、应用和用户设置的组合。然而许多阻止现在使用桌面虚拟化以提供用于解决它们的用户的可变需要的更灵活选项。在桌面虚拟化中,可以从用户的物理计算设备(例如智能电话、膝上型、桌面型计算机)分离用户的计算环境(例如操作系统、应用和/或用户设置)。使用客户端-服务器技术,“虚拟化的桌面”可以存储于远程服务器中并且由远程服务器监管而不是存储于客户端计算设备的本地存储装置中。
有若干不同类型的桌面虚拟化系统。作为示例,虚拟桌面基础设施(VDI)是指在服务器上驻留的虚拟机以内运行用户桌面的过程。VDI和其它基于服务器的桌面虚拟化系统可以为每个用户提供个性化的桌面而允许集中的管理和安全性。在这样的系统中的服务器可以包括用于虚拟桌面影像和系统配置信息的存储装置以及用于提供虚拟桌面并且允许用户互连到它们的软件部件。例如VDI服务器可以包括用于创建和维护多个虚拟机的一个或者多个管理程序(虚拟机管理器)、用于管理这些管理程序的软件、连接代理以及用于调配和管理虚拟桌面的软件。
可以使用单个虚拟化服务器或者互连为服务器网格的服务器组合来实施桌面虚拟化系统。多服务器桌面虚拟化系统经常包括用于提供公共系统管理门户并且维护全局状态信息的附加计算设备和/或共享存储装置。这样的系统经常将外部共享存储装置与在虚拟化服务器内的数据库和企业服务器软件一起用来管理系统。
在用户希望连接到虚拟桌面时,用户的本地软件客户端联系连接代理以与远程桌面或者其它资源建立会话。常规连接代理视为“内嵌”、因此参与用于确定将用户的会话引向何处的所有判决。换而言之,必须通过连接代理发起并且借助连接代理建立所有连接。因此,连接代理是关键的一件基础设施,因为代理基础设施的停用将造成大规模部署停用、即用户将不能与主控的资源连接。
发明内容
鉴于前述背景,下文表示本公开内容的简化发明内容以便提供这里描述的一些方面的基本理解。这一发明内容不是广泛概述并且未旨在于标识重要或者关键要素或者界定本发明的范围。以下发明内容仅以简化形式表示各种描述的方面作为以下提供的更具体描述的前序。
为了解决以上不足和将在阅读公开内容时实现的附加益处,这里的方面描述通过使用“连接租赁”来代理的新方法和系统,这些连接租赁允许即使在代理停用的情况下仍然维持服务。根据一些方面。连接租赁也服务于减少对代理构架施加的负荷、由此支持更高规模的部署。
根据第一方面,一种租赁令牌数据结构可以用来定义自维持租赁令牌。数据结构可以包括标识租赁令牌标识编号的第一数据字段、标识一个或者多个客户端设备的第二数据字段、标识一个或者多个客户端设备可访问的一个或者多个会话主机的第三数据字段以及标识一个或者多个客户端设备在一个或者多个会话主机上可使用的一个或者多个资源的第四数据字段,其中每个资源是主控的桌面和主控的应用之一。该数据结构还可以包括:标识连接限制的第五数据字段,连接限制约束一个或者多个客户端设备何时可以访问一个或者多个会话资源;标识一个或者多个客户端设备为了访问一个或者多个会话主机而必须满足的一个或者多个访问条件的第六数据字段;标识虚拟信道信息的第七数据字段,虚拟信道信息可由一个或者多个会话主机用来允许或者拒绝一个或者多个客户端在一个或者多个会话主机上访问一个或者多个虚拟信道;以及存储签名的第八数据字段,签名可由一个或者多个会话数据用来验证租赁令牌数据结构未被变更、并且始发于信任的连接代理。
根据另一方面,一种会话主机装置可以包括控制会话主机装置的处理器和存储计算机可读指令的存储器,计算机可读指令在由处理器执行时使会话主机装置使用连接租赁来与会话客户端建立会话。会话主机接收与会话客户端关联的租赁令牌,其中租赁令牌是自维持数据包,会话主机装置可以从该自维持数据包确定会话客户端设备是否被授权访问该会话主机主控的一个或者多个资源。会话主机装置基于租赁令牌确定会话客户端被授权访问的由会话主机装置主控的一个或者多个资源。会话主机装置在确定会话客户端被授权访问一个或者多个资源之后基于确定的资源向会话客户端发送连接信息,并且会话主机装置然后与会话客户端建立会话以提供对一个或者多个确定的资源的访问。
这里描述的更多另一方面提供一种用于使用连接租赁来建立会话的方法。初始地,连接代理从客户端设备接收对于会话的请求。连接代理基于客户端设备的标识确定客户端被授权访问的一个或者多个会话主机和客户端设备被授权在一个或者多个会话主机上使用的一个或者多个资源。连接代理然后基于客户端设备、一个或者多个会话主机和一个或者多个资源生成租赁令牌,其中租赁令牌是自维持数据包,一个或者多个会话主机中的每个会话主机可以从该自维持数据包确定客户端设备是否被授权访问该会话主机主控的一个或者多个资源。连接代理发送租赁令牌用于在租赁存储库中存储。会话主机接收租赁令牌作为对于与客户端设备建立会话的请求,并且会话主机验证租赁令牌。基于验证,会话主机发送连接信息用于由客户端设备用来与会话主机建立会话并且在会话主机与客户端设备之间建立会话,客户端设备通过该会话访问会话主机主控的一个或者多个资源。
附图说明
已经这样用一般措词描述公开内容的方面,现在将参照附图,这些附图未必按比例绘制,并且在附图中:
图1图示其中可以实施公开内容的各种方面的示例操作环境。
图2图示可以根据这里描述的一个或者多个示例方面使用的客户端设备。
图3图示可以根据这里描述的一个或者多个示例方面使用的客户端设备。
图4图示根据这里描述的一个或者多个示例方面的系统架构。
图5图示根据这里描述的一个或者多个所示方面的可以在租赁令牌中包括的数据。
图6图示根据这里描述的一个或者多个所示方面的用于与旧式会话客户端使用连接租赁的方法的数据流程图。
图7图示根据这里描述的一个或者多个所示方面的用于租赁感知会话客户端使用连接租赁的方法的数据流程图。
具体实施方式
在各种实施例的以下描述中参照附图,这些附图形成其部分,并且在附图中通过示例示出其中可以实现这里描述的方面的各种实施例。将理解可以利用其它实施例并且可以进行结构和功能修改而未脱离本公开内容的范围和精神实质。
如本领域技术人员将在阅读以下公开内容时认识的那样,可以体现这里描述的各种方面为方法、数据处理系统或者计算机程序产品。因而那些方面可以采用全硬件实施例、全软件实施例或者组合软件和硬件方面的实施例的形式。另外,这样的方面可以采用一个或者多个计算机可读存储介质存储的计算机程序产品的形式,该一个或者多个计算机可读存储介质具有在存储介质中或者上体现的计算机可读程序代码或者指令。可以利用的包括硬盘、CD-ROM、光存储设备、磁存储设备和/或其任何组合的任何适当计算机可读存储介质。此外,可以用经过信号传导介质、比如金属接线、光纤和/或无线传输介质(例如空气和/或空间)行进的电磁波的形式在源与目的地之间传送如这里描述的代表数据或者事件的各种信号。
图1图示在可以根据公开内容的一个或者多个示例实施例使用的示例计算环境100中的通用计算设备101(例如计算机服务器106a)的示例框图。根据一个或者多个方面,通用计算设备101可以是在配置为提供用于客户端访问设备的虚拟机的单服务器或者多服务器桌面虚拟化系统中的服务器106a。通用计算设备101可以具有用于控制服务器及其关联部件的总体操作的处理器103,这些部件包括随机存取存储器(RAM)105、只读存储器(ROM)107、输入/输出(I/O)模块109和存储器115。
I/O模块109可以包括通用计算设备101的用户可以用来提供输入的鼠标、小键盘、触屏、扫描仪、光学读取器和/或触笔(或者其它输入设备)并且也可以包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一项或者多项。软件可以存储于存储器115和/或其它存储装置内以向处理器103提供用于使通用计算设备101能够执行各种功能的指令。例如存储器115可以存储通用计算设备101使用的软件、比如操作系统117、应用程序119和关联数据库121。备选地,可以在硬件或者固件(未示出)中体现用于通用计算设备101的计算机可执行指令中的一些或者所有计算机可执行指令。
通用计算设备101可以在支持与一个或者多个远程计算机、比如终端140(也称为客户端设备)的连接的联网环境中操作。终端140可以是包括以上关于通用计算设备101描述的单元中的许多或者所有单元的个人计算机或者服务器。当在图1中描绘的网络连接包括局域网(LAN)125和广域网(WAN)129、但是也可以包括其它网络。在LAN联网环境中使用时,通用计算设备101可以通过网络接口或者适配器123连接到LAN 125。当在WAN联网环境中使用时,通用计算设备101可以包括用于通过WAN 129、比如计算机网络130(例如因特网)建立通信的调制解调器127或者其它网络接口。将理解所示网络连接为示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
通用计算设备101和/或终端140也可以是包括各种其它部件、比如电池、扬声器和天线(未示出)的移动终端(例如移动电话、智能电话、PDA、笔记本计算机等)
公开内容用许多其它通用或者专用计算系统环境或者配置操作。适合用于与公开内容使用的熟知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程客户电子产品、网络PC、小型计算机、大型机计算机、包括以上系统或者设备中的任何系统或者设备的分布式计算环境等。
如图1中所示,一个或者多个客户端设备140可以与一个或者多个服务器106a-106n(这里通称为“服务器106”)通信。在一个实施例中,计算环境100可以包括在服务器106与客户端机器140之间安装的装置。这一装置可以管理客户端/服务器连接并且在一些情况下可以负荷平衡在多个后端服务器106之中的客户端连接。
客户端机器140可以在一些实施例中被称为单个客户端机器140或者单组客户端机器,而服务器106可以称为单个服务器106或者单组服务器106。在一个实施例中,单个客户端机器140与多于一个服务器106通信,而在另一实施例中,单个服务器106与多于一个客户端机器140通信。在更多另一实施例中,单个客户端机器140与单个服务器106通信。
客户端机器140可以在一些实施例中被以下术语中的任何术语指代:客户端机器140;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;端点节点;或者第二机器。服务器106在一些实施例中可以被以下术语中的任何术语指代:服务器、本地机器;远程机器;服务器群、主机计算设备或者第一机器。
在一个实施例中,客户端机器140可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施例中,虚拟机可以是Citrix Systems、IBM、VMware开发的管理程序或者任何其它管理程序管理的任何虚拟机。在一些方面中,虚拟机可以由管理程序管理,而在方面中,虚拟机可以由在服务器106上执行的管理程序或者在客户端140上执行的管理程序管理。
客户端机器140可以执行、操作或者提供应用,该应用可以是以下各项中的任何一项:软件;程序;可执行指令;虚拟机;管理程序;web浏览器;基于web的客户端;客户端-服务器应用;瘦客户端计算客户端;ActiveX控件;Java小应用;与通过网际协议(VoIP)之上的语音通信有关的软件、比如软IP电话;用于流式视频和/或音频的应用;用于有助于实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户端;或者任何其它可执行指令集。更多其它实施例包括客户端设备140,该客户端设备显示在服务器106或者其它远程定位的机器上远程执行的应用生成的应用输出。在这些实施例中,客户端设备140可以在应用窗、浏览器或者其它输出窗中显示应用输出。在一个示例中,应用是桌面,而在其它示例中,应用是生成桌面的应用。桌面可以包括为其中可以集成本地和/或远程应用的操作系统的实例提供用户界面的图形壳(graphicalshell)。如这里使用的应用是在已经加载操作系统的实例(以及可选地也加载桌面)之后执行的程序。
服务器106在一些实施例中执行远程表示客户端或者其它客户端或者程序,该远程表示客户端或者其它客户端或者程序使用瘦客户端或者远程显示协议以捕获在服务器106上执行的应用生成的显示输出并且向远程客户端140传输应用显示输出。瘦客户端或者远程显示协议可以是以下协议中的任何协议:佛罗里达劳德代尔堡的公司——Citrix Systems——制造的独立计算架构(IndependentComputing Architecture,ICA)协议;或者华盛顿雷德蒙德的微软公司制造的远程桌面协议(Remote Desktop Protocol,RDP)。
计算环境可以包括多于一个服务器106A-106N,从而服务器106A-106N被在逻辑上一起分组成服务器群106。服务器群106可以包括在地理上分散并且在服务器群106中在逻辑上分组到一起的服务器106或者相互近邻定位,并且在服务器群106中在逻辑上一起分组的服务器106。在服务器群106内的在地理上的服务器106A-106N可以在一些实施例中使用WAN、MAN或者LAN来通信,其中可以表征不同地理地区为:不同大陆;大陆的不同地区;不同国家;不同州、不同城市;不同校园;不同房间;或者前述地理位置的任何组合。在一些实施例中,可以监管作为单个实体服务器群106,而在其它实施例中,服务器群106可以包括多个服务器群106。
在一些实施例中,服务器群106可以包括执行基本上相似类型的操作系统平台(例如华盛顿雷德蒙德的微软公司制造的WindowsServer、UNIX、LINUX、iOS或者LION等)的服务器106。在其它实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一组服务器106和执行第二类型的操作系统平台的第二组服务器106。服务器群106在其它实施例中可以包括执行不同类型的操作系统平台的服务器106。
服务器106在一些实施例中可以是任何服务器类型。在其它实施例中,服务器106可以是以下服务器类型中的任何服务器类型:文件服务器;应用服务器;web服务器;代理服务器;装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSL VPN服务器;防火墙;web服务器;应用服务器或者作为主控应用服务器;执行活跃目录的服务器106;或者执行应用加速程序的服务器106,该应用加速程序提供防火墙功能、应用功能或者负荷平衡功能。在一些实施例中,服务器106可以是包括远程认证拨号访问用户服务的RADIUS服务器。在服务器106包括装置的实施例中,服务器106可以是以下制造商中的任何制造商制造的装置:CitrixApplication Networking Group;Silver Peak Systems公司;RiverbedTechnology公司;F5 Networks公司;或者Juniper Networks公司。一些实施例包括第一服务器106A,该第一服务器从客户端机器140接收请求、向第二服务器106n转发请求并且用来自第二服务器106n的响应对客户端机器140生成的请求做出响应。第一服务器106A可以获取可用于客户的机器140的应用的枚举以及与应用服务器106关联的地址信息,该应用服务器主控在应用枚举内标识的应用。第一服务器106A然后可以使用web接口呈现对客户端的请求的响应并且与客户端140直接通信以向客户端140提供对标识的应用的访问。
服务器106可以在一些实施例中执行以下应用中的任何应用:使用瘦客户端协议以向客户端发送应用显示数据的瘦客户端应用;远程显示表示应用;Citrix Systems公司的CITRIX ACCESS SUITE的任何部分、比如XENAPP、XENDESKTOP、METAFRAME或者CITRIX PRESENATION SERVER;微软公司制造的MICROSOFTWINDOWS Terminal Services;或者Citrix Systems公司开发的ICA客户端。另一实施例包括服务器106,该服务器是应用服务器、比如:提供电邮服务的电邮服务器、比如微软公司制造的MICROSOFTEXCHANGE;web或者因特网服务器;桌面共享服务器;协作服务器;或者任何其它类型的应用服务器。更多其它实施例包括服务器106,该服务器执行以下类型的主控的服务器应用中的任何类型的主控的服务器应用:Citrix Online Division公司提供的GOTOMEETING;加利福尼亚圣克拉拉的WebEx公司提供的WEBEX;或者微软公司提供的Microsoft Office LIVE MEETING。
客户端机器140可以在一些实施例中是寻求访问服务器106提供的资源的客户端节点。在其它实施例中,服务器106可以向客户端140或者客户端节点提供对主控的资源的访问。服务器106在一些实施例中作为主控节点工作,从而它与一个或者多个客户端140或者服务器106通信。在一些实施例中,主控节点可以标识并且向一个或者多个客户端140或者服务器106提供与主控请求的应用的服务器106关联的地址信息。在更多其它实施例中,主控节点可以是服务器群106、客户端140、客户端节点140的群集或者装置。
一个或者多个客户端140和/或一个或者多个服务器106可以通过在计算环境100内的机器与装置之间安装的网络130传输数据。网络130可以包括一个或者多个子网络并且可以安装于在计算环境100内包括的客户端140、服务器106、计算机器和装置的任何组合之间。在一些实施例中,网络130可以是:局域网(LAN);城域网(MAN);广域网(WAN);由位于客户端机器140与服务器106之间的多个子网络组成的主网络104;具有私用子网络的主公用网络130(例如因特网);具有公用子网络的主私用网络130;或者具有私用子网络的主私用网络130。更多其它实施例包括网络130,该网络可以是以下网络类型中的任何网络类型:点到点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM(异步传输模式)网络;SONET(同步光网络)网络;SDH(同步数字分级)网络;无线网络;有线网络;或者包括无线链路的网络,其中无线链路可以是红外线信道或者卫星频带。网络130的网络拓扑可以在不同的实施例内不同,可能的网络拓扑包括:总线网络拓扑;星型网络拓扑;环形网络拓扑;基于中继器的网络拓扑;或者分层星型网络拓扑。附加实施例可以包括使用协议以在移动设备之中通信的移动电话网络的网络,其中协议可以是以下协议中的任何协议:AMPS;TDMA;CDMA;GSM;GPRS UMTS;或者能够在移动设备之中传输数据的任何其它协议。
在图2中图示计算设备200的一个实施例,其中图1A中所示客户端机器140和服务器106可以被部署为这里图示和描述的计算设备200的任何实施例或者在该任何实施例上被执行。在计算设备200内包括与以下部件通信的系统总线250:中央处理单元221;主存储器222;存储装置存储器228;输入/输出(I/O)控制器223;显示设备224A-224N;安装设备216;以及网络接口218。在一个实施例中,存储装置存储器228包括:操作系统、软件例程和客户端代理220。I/O控制器223在一些实施例中还连接到键盘226和指示设备227。其它实施例可以包括连接到多于一个输入/输出设备230A-230N的I/O控制器223。
图3图示计算设备300的一个实施例,其中图1中所示客户端机器140和服务器106可以被部署为这里图示和描述的计算设备300的任何实施例或者在该任何实施例上被执行。在计算设备300内包括与以下部件通信的系统总线350:桥接器370和第一I/O设备330a。在另一实施例中,桥接器370还与主中央处理单元321通信,其中中央处理单元321还可以与第二I/O设备330b、主存储器322和高速缓存存储器340通信。在中央处理单元321内包括I/O端口、存储器端口303和主处理器。
计算机器300的实施例可以包括以以下部件配置中的任何部件配置为特征的中央处理单元321:对从主存储器单元322取读的指令做出响应并且处理这些指令的逻辑电路;微处理器单元、比如:英特尔公司制造的微处理器单元;摩托罗拉公司制造的微处理器单元;加利福尼亚圣克拉拉的全美达(Transmeta)公司制造的微处理器单元;比如国际商业机器公司制造的RS/6000处理器;比如先进微电子器件(Advanced Micro Devices)制造的处理器;或者逻辑电路的任何其它组合。中央处理单元322的更多其它实施例可以包括以下各项的任何组合:微处理器、微控制器、具有单处理核的中央处理单元、具有两个中央处理核的中央处理单元或者具有多于一个处理核的中央处理单元。
尽管图3图示包括单个中央处理单元321的计算设备300,但是在一些实施例中,计算设备300可以包括一个或者多个处理单元321。在这些实施例中,计算设备300可以存储和执行在被执行时指引一个或者多个处理单元321同时执行指令或者对单条数据同时执行指令的固件或者其它可执行指令。在其它实施例中,计算设备300可以存储和执行在被执行时指引一个或者多个处理单元各自执行指令组的一个节段的固件或者其它可执行指令。例如每个处理单元321可以被指令执行程序的一部分或者在程序内的特定模块。
在一些实施例中,处理单元321可以包括一个或者多个处理核。例如处理单元321可以具有两个核、四个核、八个核等。在一个实施例中,处理单元321可以包括一个或者多个并行处理核。处理单元321的处理核可以在一些实施例中访问作为全局地址空间的可用存储器,或者在其它实施例中,在计算设备300内的存储器可以被分段并且指派给在处理单元321内的特定核。在一个实施例中,在计算设备300中的一个或者多个处理核或者处理器可以各自访问本地存储器。在更多其它实施例中,可以在一个或者多个处理器或者处理核之中共享在计算设备300内的存储器,而其它存储器可以被特定处理器或者处理器子集访问。在计算设备300包括多于一个处理单元的实施例中,可以在单个集成电路(IC)中包括多个处理单元。这些多个处理器在一些实施例中可以被可以称为单元互连总线的内部高速总线链接在一起。
在计算设备300包括一个或者多个处理单元321、或者包括一个包括有一个或者多个处理核的处理单元321的实施例中,处理器可以对多条数据同时执行单个指令(SIMD),或者在其它实施例中可以对多条数据同时执行多个指令(MIMD)。在一些实施例中,计算设备100可以包括任何数目的SIMD和MIMD处理器。
计算设备300在一些实施例中可以包括图形处理器或者图形处理单元(未示出)。图形处理单元可以包括软件和硬件的任何组合并且还可以输入图形数据和图形指令、根据输入的数据和指令渲染图形并且输出渲染的图形。在一些实施例中,可以在处理单元321内包括图形处理单元。在其它实施例中,计算设备300可以包括一个或者多个处理单元321,其中至少一个处理单元321专用于处理和渲染图形。
计算机器300的一个实施例包括经由也称为后侧总线的次总线与高速缓存存储器340通信的中央处理单元321,而计算机器300的另一实施例包括经由系统总线350与高速缓存存储器通信的中央处理单元321。本地系统总线350可以在一些实施例中也被中央处理单元用来与多于一个类型的I/O设备330a-330n通信。在一些实施例中,本地系统总线350可以是以下类型的总线中的任何类型的总线:VESA VL总线;ISA总线;EISA总线;多通道架构(MCA)总线;PCI总线;PCI-X总线;PCI-快速总线;或者NuBus。计算机器300的其它实施例包括I/O设备330a-330n,该I/O设备包括与中央处理单元321通信的视频显示器224。计算机器300的更多其它版本包括经由以下连接中的任何连接来连接到I/O设备330a-330n的处理器321:超传输、快速I/O或者无限带宽技术。计算机器300的更多实施例包括使用本地互连总线来与一个I/O设备330a通信并且使用直接连接来与第二I/O设备330b通信的处理器321。
计算设备300在一些实施例中包括主存储器单元322和高速缓存存储器340。高速缓存存储器340可以是任何存储器类型并且在一些实施例中可以是以下存储器类型中的任何存储器类型:SRAM;BSRAM;或者EDRAM。其它实施例包括高速缓存存储器340和主存储器单元322,该主存储器单元可以是以下类型的存储器之一:静态随机存取存储器(SRAM)、突发SRAM或者同步突发SRAM(BSRAM);动态随机存取存储器(DRAM);快速页面模式DRAM(FPM DRAM);增强型DRAM(EDRAM)、扩展式数据输出RAM(EDO RAM);扩展式数据输出DRAM(EDO DRAM);突发扩展式数据输出DRAM(BEDO DRAM);增强型DRAM(EDRAM);同步DRAM(SDRAM);JEDEC SRAM;PC100SDRAM;双数据速率SDRAM(DDR SDRAM);增强型SDRAM(ESDRAM);SyncLinkDRAM(SLDRAM);直接Rambus DRAM(DRDRAM);铁电RAM(FRAM);或者任何其它类型的存储器。更多实施例包括可以经由以下各项访问主存储器322的中央处理单元321:系统总线350;存储器端口303;或者允许处理器321访问存储器322的任何其它连接、总线或者端口。
计算设备200/300的一个实施例提供对于以下安装设备216中的任何安装设备的支持:CD-ROM驱动、CD-R/RW驱动、DVD-ROM驱动、各种格式的带驱动、USB设备、可引导介质、可引导CD、用于GNU/Linux分发的可引导CD、比如硬驱动或者适合用于安装应用或者软件的任何其它设备。应用可以在一些实施例中包括客户端代理220或者客户端代理220的任何部分。计算设备200/300还可以包括存储设备228,该存储设备可以是一个或者多个硬盘驱动或者一个或者多个独立盘冗余阵列;其中存储设备被配置为存储操作系统、软件、程序应用或者客户端代理220的至少一部分。计算设备200、300的又一实施例包括用作存储设备228的安装设备216。
计算设备200、300还可以包括用于通过多种连接对接到局域网(LAN)、广域网(WAN)或者因特网的网络接口218,这些连接包括但不限于标准电话线、LAN或者WAN链路(例如802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如ISDN、帧总计、ATM、吉比特以太网、在SONET之上的以太网)、无线连接或者上述连接中的任何或者所有连接的某个组合。也可以使用多种通信协议(例如TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS232、RS485、IEEE802.11、IEEE802.11a、IEEE802.11b、IEEE802.11g、CDMA、GSM、WiMax和直接异步连接)来建立连接。计算设备200、300的一个版本包括能够经由任何类型和/或形式的网关或者隧道传输协议、比如安全套接字层(SSL)或者传送层安全(TLS)或者Citrix Systems公司制造的Citrix网关协议与附加计算设备200’、300’通信的网络接口218。网络接口218的版本可以包括以下版本中的任何版本:内置式网络适配器;网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适合用于将计算设备、200、300对接到能够通信并且实现这里描述的方法和系统的网络的任何其它设备。
计算设备200、300的实施例包括以下I/O设备230a-230n中的任何一项:键盘226;指示设备227;鼠标;轨迹板;光笔;轨迹球;麦克风、绘图写字板;视频显示器;扬声器;喷墨打印机;激光打印机;以及颜料升华打印机;或者能够实现这里描述的方法和系统的任何其它输入/输出设备。I/O控制器223可以在一些实施例中连接到多个I/O设备230a-230n以控制一个或者多个I/O设备。I/O设备230a-230n的一些实施例可以被配置为提供存储或者安装介质216,而其它实施例可以提供用于接收USB存储设备的通用串行总线(USB)接口、比如Twintech Industry公司制造的设备的USB闪存驱动线。更多其它实施例包括I/O设备230,该I/O设备可以是在系统总线250与外部通信总线、比如:USB总线;Apple Desktop总线;RS-232串行连接;SCSI总线;FireWire总线;FireWire800总线;以太网总线;AppleTalk总线;吉比特以太网总线;异步传输模式总线;HIPPI总线;Super HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或者串行附着小型计算机系统接口总线之间的桥接器。
在一些实施例中,计算机器200、300可以连接到多个显示设备224a-224n,在其它实施例中,计算设备100可以连接到单个显示设备224,而在更多其它实施例中,计算设备200、300连接到相同类型或形式的显示器的显示设备224a-224n,或者连接到不同类型或者形式的显示设备。显示设备224a-224n的实施例可以被以下各项支持和启用:一个或者多个I/O设备230a-230n;I/O控制器223;I/O设备230a-230n和I/O控制器223的组合;能够支持显示设备224a-224n的硬件和软件的组合;用于对接、通信、连接或者使用显示设备224a-224n的任何类型和/或形式的视频适配器、视频卡、驱动器和/或库。计算设备200、300可以在一些实施例中被配置为使用一个或者多个显示设备224A-224N,这些配置包括:具有对接到多个显示设备224A-224N的多个连接器;具有多个视频适配器,每个视频适配器连接到显示设备224A-224N中的一个或者多个显示设备;具有被配置为支持多个显示器224A-224N的操作系统;使用在计算设备200内包括的电路和软件以连接到并且使用多个显示设备224A-224N;以及在主计算设备200和多个次计算设备上执行软件以使主计算设备200能够使用次计算设备的显示器作为用于主计算设备200的显示设备224A-224N。计算设备200的更多其它实施例可以包括多个次计算设备提供的并且经由网络连接到主计算设备200的多个显示设备224A-224N。
在一些实施例中,计算机器200可以执行任何操作系统,而在其它实施例中,计算机器200可以执行以下操作系统中的任何操作系统:MICROSOFT WINDOWS操作系统的版本、比如WINDOWS3.x;WINDOWS95;WINDOWS98;WINDOWS2000;WINDOWSNT 3.51;WINDOWS NT4.0;WINDOWS CE;WINDOWS XP;WINDOWS VISTA、WINDOWS7、WINDOWS Server等;Unix和Linux操作系统的不同发布;Apple Computer制造的MAC OS的任何版本;国际商业机器公司制造的OS/2;任何嵌入式操作系统;任何实时操作系统;任何开源操作系统;任何私用操作系统;用于移动计算设备的任何操作系统;或者任何其它操作系统。在更多另一实施例中,计算机器200可以执行多个操作系统。例如计算机器200可以执行PARALLELS或者可以执行或者管理虚拟机的另一虚拟化平台,该虚拟机执行第一操作系统,而计算机器200执行与第一操作系统不同的第二操作系统。
可以在以下计算设备中的任何计算设备中体现计算机器200:计算工作站;桌面型计算机;膝上型或者笔记本计算机;服务器;手持计算机;移动电话;便携电信设备;媒体播放设备;游戏系统;移动计算设备;上网本;Apple Computer制造的IPOD系列设备中的设备;Sony公司制造的PLAYSTATION系列设备中的任何设备;Nintendo公司制造的Nintendo系列设备中的任何设备;微软公司制造的XBOX系列设备中的任何设备;或者能够通信并且具有充分处理器能力和存储器容量以实现这里描述的方法和系统的充分处理器能力和存储器容量的任何其它类型和/或形式的计算、远程通信或者媒体设备。在其它实施例中,计算机器100可以是移动设备、比如以下移动设备中的任何移动设备:具有JAVA功能的蜂窝电话或者个人数字助理(PDA)、比如都由摩托罗拉公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl或者im1100;Kyocera制造的6035或者7135;三星电子有限责任公司制造的i300或者i300;Palm公司制造的TREO180、270、600、650、680、700p、700w或者750智能电话;具有与设备一致的不同处理器、操作系统和输入设备的任何计算设备;或者能够执行这里描述的方法和系统的任何其它移动计算设备。在更多其它实施例中,计算设备200可以是以下移动计算设备中的任何移动计算设备:Research In Motion Limited制造的任何一个系列Blackberry或者其它手持设备;Apple Computer制造的iPhonemanufactured by Apple Computer;Palm Pre;Pocket PC;Pocket PCPhone;或者任何其它手持移动设备。
在一些实施例中,计算设备200可以具有与设备一致的不同处理器、操作系统和输入设备。例如在一个实施例中,计算设备200是Palm公司制造的TREO180、270、600、650、680、700p、700w或者750智能电话。在这些实施例中的一些实施例中,TREO智能电话是在PalmOS操作系统的控制之下操作的并且包括触笔输入设备以及五向导航设备。
在其它实施例中,计算设备200是移动设备、比如启用了JAVA的蜂窝电话或者个人数字助理(PDA)、比如都由伊利诺伊绍姆堡的摩托罗拉公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl或者im1100、日本京都的Kyocera制造的6035或者7135或者韩国首尔的三星电子有限责任公司制造的i300或者i300。在一些实施例中,计算设备200是芬兰的诺基亚或者瑞典隆德的索尼爱立信移动通信制造的移动设备。
在更多其它实施例中,计算设备是Blackberry手持或者智能电话、比如移动通讯咨询有限公司制造的设备、包括Blackberry7100系列、8700系列、7700系列、7200系列、Blackberry7520或者Blackberry Pearl8100。在更多其它实施例中,计算设备200是智能电话、掌上型电脑、掌上型电脑电话或者支持微软视窗移动软件的其它手持移动电话。另外,计算设备200可以是任何工作站、桌面型计算机、膝上型或者笔记本计算机、服务器、手持计算机、移动电话、任何其它计算机或者能够通信并且具有用于执行这里描述的操作的充分处理器能力和存储器容量的其它形式的计算或者电信设备。
在一些实施例中,计算设备200是数字音频播放器。在这些实施例之一中,计算设备200是数字音频播放器、比如加利福尼亚库比蒂诺的Apple Computer制造的Apple IPOD、IPOD Touch、IPODNANO和IPOD SHUFFLE设备线。在这些实施例中的另一实施例中,数字音频播放器可以作为便携媒体播放器和作为海量存储设备二者工作。在其它实施例中,计算设备200是数字音频播放器、比如新泽西利奇菲尔德的三星电子美国公司制造的数字音频播放器SelectMP3播放器或者伊利诺伊绍德姆堡的摩托罗拉公司制造的Motorolam500或者m25数字音频播放器。在更多其它实施例中,计算设备200是便携媒体播放器、比如创新科技公司制造的Zen Vision W、ZenVision系列、Zen Portable Media Center设备或者Digital MP3线的MP3播放器。在更多其它实施例中,计算设备200是支持文件格式的便携媒体播放器或者数字音频播放器,这些文件格式包括但不限于MP3、WAV、M4A/AAC、WMA保护的AAC、AIFF、可听音频书、Apple无损音频文件格式和.mov、.m4v和.mp4MPEG-4(H.264/MPEG-4AVC)音频文件格式。
在一些实施例中,计算设备200包括设备组合、比如与数字音频播放器或者便携媒体播放器组合的移动电话。在这些实施例中的一个实施例中,计算设备200是Motorola RAZR或者Motorola ROKR线的数字音频播放器和移动电话组合。在这些实施例中的另一实施例中,计算设备200是加利福尼亚库比蒂诺的Apple Computer制造的iPhone智能电话。
图1-3示出示例桌面虚拟化系统的高级架构。如图所示,桌面虚拟化系统可以是单服务器或者多服务器系统、包括被配置为向一个或者多个客户端访问设备140提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器106。如这里所用,桌面是指其中可以主控和/或执行一个或者多个应用的图形环境或者空间。桌面可以包括为其中可以集成本地和/或远程应用的操作系统的实例提供用户界面的图形壳。应用如这里所用是在已经加载操作系统的实例(以及可选地也加载桌面)之后执行的程序。操作系统的每个实例可以是物理的(例如每设备一个操作系统)或者虚拟的(例如在单个设备上运行的OS的许多实例)。可以在本地设备上执行或者在远程定位的设备上执行(例如远程化)每个应用。
已经在图1-3中描述桌面虚拟化系统的各种示例以及可以在这样的系统的服务器106中包括的某些软件和功能,以下段落提供与使用连接租赁作为用于与远程资源建立用户会话的代理模型的各种方法和系统的附加示例。
连接租赁在典型用户从相对小数目的客户端设备连接到相对小数目的会话主机(虚拟桌面或者远程桌面服务(RDS)服务器)并且代理判决随时间稳定——例如昨天做出的代理判决可能与今天做出的判决相同、并且将是明天做出的相同判决——的场景中最有效。在代理判决随时间保持恒定时,要求用户在每当用户希望连接到会话主机时都完成整个内嵌代理过程变成了不必要的资源浪费,因为代理判决只要用户被批准对相同或者相似会话主机的相同权限就将很可能保持不变。然而即使在代理判决有规律地改变的场景中,仍然有将从使用这里描述的租赁模型获得的益处。
参照图4,一个或者多个外部客户端设备405a-405n可以经由一个或者多个网络415、435与连接代理430通信。网络415可以包括公用网络、比如因特网。网络435可以包括防火墙420保护的私用网络、比如公司LAN、WAN等。也可以使用任何其它网络。
外部客户端设备405可以经由边缘设备425、比如接入网关、虚拟专用网络(VPN)服务器等通过防火墙420通信。Web服务器430可以包括分别用于与外部客户端设备405和内部客户端设备410通信的面向外部的方面和面向内部的方面。备选地单个逻辑web服务器可以被适配或者配置为与所有客户端设备通信。Web服务器430与连接代理401通信以如这里进一步描述的那样处理对于与虚拟化的资源的会话的请求。在一些方面中,web服务器430和连接代理401是在物理上和/或在逻辑上分离的设备。在其它方面中,可以在物理上和/或在逻辑上组合web服务器430和连接代理401。
连接代理401可以从在客户端设备405、410处的用户接收登录证书(例如经由web服务器430或者其它客户端-服务器配置)、然后创建和/或向授权的用户指派资源并且向授权的监管者提供管理控制台。一个或者多个会话主机440a-440n可以主控每个资源、例如主控的应用、主控的资源、虚拟机等。
参照图5,充当租赁发布器的连接代理401可以发布可以多次使用的连接租赁。连接租赁可以视为客户端设备和/或用户向具有特定资源集合的一个(或者多个)特定会话主机的静态指派。租赁可以由例如以XML或者其它适当格式存储为数据包的租赁令牌501定义。如这里所用,租赁令牌是自维持数据包,会话主机可以从该自维持数据包确定客户端设备是否被授权访问该会话主机主控的一个或者多个资源(例如应用、桌面、打印服务、音频服务、虚拟信道等)以及客户端设备是否被授权向会话主机暴露客户端侧资源(例如附着到客户端的已附着外设、打印机等)。会话客户端可能需要附加信息以完成会话建立,但是会话主机可以独立确定会话客户端被授权而未查询连接代理(除了关于如以下进一步讨论的可能租赁令牌撤消之外)。
租赁令牌定义特定租赁提供的授权并且可以被定义对于某个时间段、例如对于离散数目的连接503或者对于指定的持续时间505A、505B有效。租赁令牌可以包括可由客户端设备(端点设备)用来直接发起与指定的会话主机——比如DNS或者IP地址——集合的连接的信息507。尽管指定的会话主机集合通常可以数目少量,但是可以指定任何会话主机集合。每个租赁令牌还可以包括用户可以在指定的会话主机上访问的一个或者多个资源509的标识。资源可以包括桌面和/或个体应用。连接租赁还可以指定为了用户访问租赁的路径而必需的信息、例如通向一个或者多个授权的应用的文件路径。
每个连接租赁可以被用密码签名511,从而会话主机可以在不与代理通信的情况下验证租赁的有效性。例如在公用密钥架构(PKI)中,每个连接租赁可以使用代理401的私用密钥来签名和/或加密,并且每个会话主机可以通过使用信任的代理的公用密钥认证或者解密连接租赁来验证租赁。会话主机由此可以保证在租赁中包括的信息由信任的代理提供。代理还可以包括与租赁令牌关联的哈希值以保证租赁在由代理发布之后并且在由用户或者设备使用之前未被不恰当地变更或者改变。
根据一些方面,可以在租赁令牌中包括附加安全性以防止滥用。在一个示例中,租赁可以包括会话主机可以与任何请求的连接的属性比较的信息、包括但不限于用户的或者可以从其建立连接的设备的标识513(从而不能滥用窃取的租赁令牌)、租赁令牌的有效时段505(从而不能无限地使用令牌)、一个或者多个访问条件515(比如客户端设备的可以由网络设备、比如接入网关确定的防病毒状态)和访问或者登录小时。
根据更多其它方面,租赁令牌也可以包括会话主机可用来实施安全策略的信息。这样的信息可以包括在自动断开之前的最大空闲时间517、在自动登出之前的最大断开时间519和对可以使用哪些设备的控制521(虚拟信道控制)。虚拟信道控制是指用于例如在虚拟化的会话期间控制打印机信道、视频信道、音频信道等的能力。
一旦代理发布租赁令牌,令牌本身可以存储于客户端设备(端点设备)或者其它位置上。然而通过在端点设备上存储租赁令牌,仅端点设备、网络和会话主机需要可用以便建立会话。如果连接代理不可用,则假如租赁令牌保持可用就仍然建立会话。在另一示例中,租赁令牌可以存储于网络设备或者服务器、比如接入网关、web接口或者在网络的边缘的其它设备上。在更多其它示例中,租赁令牌可以存储于连接代理本身上,从而代理可以继续在数据库停用的情况下提供服务。此外,每个租赁令牌可以存储于多个位置用于冗余性、例如存储于端点设备上以及连接代理上。由于每个租赁令牌定义它的可接受使用的参数(例如允许的用户、允许的用户设备、允许的会话主机、允许的连接、允许的资源等),所以无基于租赁令牌重复的未授权使用风险。
参照图6,当前部署的虚拟化软件预计使用传统内嵌连接代理来发起连接、因此可能需要被适配用于与这里描述的发明连接租赁系统使用。为了建立与现有虚拟化系统和软件向后兼容,可以建立租赁存储库602和租赁呈现器604。租赁存储库602是其中可以存储租赁令牌的一个或者多个中央贮存库。可以在给定的虚拟化系统中有多于一个租赁存储库602、例如每租赁呈现器一个租赁存储库或者某个其它数量。租赁呈现器是指在会话客户端与连接代理之间引入的软件服务,该软件服务在效果上截获会话客户端向连接代理的请求并且确定是否已经有用于该会话客户端的现有租赁令牌。租赁呈现器604可以例如在网络的边缘或者在网络网关(例如在服务器425中)驻留并且可以在围绕网络的边缘的多个位置被复制。这不同于通常在每个虚拟化系统内的仅单个实例存在的连接代理。
使用租赁呈现器604和租赁存储库602,旧式会话客户端608可以使用租赁令牌来建立会话如下。在用户希望与会话主机606建立连接时,用户登录或者呈现认证证书,并且会话客户端调用连接代理以获得连接信息从而预计接收典型ICA或者RDP文件。租赁呈现器604截获对连接代理的调用并且在验证用户和/或客户端的证书时向租赁存储库602检查用于该会话客户端的现有租赁令牌。如果无租赁令牌存在或者无具有适当约束(例如尝试在登录小时以外或者用不同客户端设备连接)的租赁令牌存在,则租赁呈现器可以向连接代理401查询用于会话客户端的新令牌,然后在步骤601中在租赁存储库602中存储租赁令牌。
在步骤603中,租赁呈现器请求来自租赁存储库的租赁令牌,并且在步骤605中向租赁呈现器提供租赁令牌。租赁呈现器然后在步骤607中向如租赁令牌定义的一个或者多个会话主机呈现租赁令牌。租赁呈现器还可以向会话主机提供用户已经被认证的确认。备选地,网络设备、虚拟机(VM)或者其它服务器、比如接入网关、Web接口、递送服务或者代理本身(它们中的任何一项可以充当“租赁呈现器”)已经在截获来自会话客户端的初始请求之后向会话主机递送租赁令牌。作为“呈现”租赁的一部分,租赁呈现器可以请求一次性连接票券(ticket)、登录票券等或者为了生成典型起动文件而需要的任何其它信息。
会话主机可以验证租赁令牌并且如果需要则还验证用户的真实性。每个会话主机可以代表或者监管多个桌面、应用和/或其它主控的服务。因此,在步骤609中,会话主机确定会话客户端将连接到哪个主控的服务并且向租赁呈现器返回附加连接细节。附加连接细节可以包括桌面或者其它主控的服务特有的IP地址或者DNS以及租赁呈现器需要的用于生成起动文件的任何其它信息。例如会话主机可以具有第一IP地址,但是会话主机可以指示客户端设备应当用来连接的备选地址。会话主机因此按照会话客户端可用来连接到具体桌面(或者其它主控的资源)的IP地址或者其它地址信息标识该主控的服务。此外,会话主机可以采取步骤以预备将来传入连接、比如中断与在会话主机上的资源的一个或者多个现有连接和/或打开准备好从客户端设备接收连接的网络端口。
在步骤611中,租赁呈现器604使用从会话主机606接收的信息(基于会话客户端使用的协议,该协议也可以包括或者备选地包括PCoIP、Hewlett-Packard的RGS等)来生成标准ICA/RDP启动文件并且向会话客户端发送该起动文件。租赁呈现器可以与从会话主机接收的附加信息组合使用租赁令牌以确定用于常规起动的参数、由此实现与未感知连接租赁的会话客户端(端点)设备向后兼容。会话客户端因此从租赁呈现器接收预计响应于会话客户端的向连接代理401的初始请求而接收的同类文件。会话客户端然后在步骤613中使用接收的起动文件以与会话主机并且具体与具体主控的服务(桌面、应用等)建立会话。使用图6的方法,现有旧式会话客户端可以使用这里描述的租赁令牌方法和系统来建立会话。会话主机可以在不与连接代理通信的情况下自动确定租赁的有效性和是否允许会话连接。
根据一些方面,会话主机可以被配置用于如这里描述的那样接受连接租赁和做出响应的软件。根据其它方面,可以向会话主机添加与以上讨论的向会话客户端添加的抽象化层相似的抽象化层。也就是说,在会话客户端不是租赁感知客户端时,租赁呈现器604代表会话客户端充当中介以帮助基于租赁令牌建立连接。相似地,在一些方面中,“租赁接收器”可以被配置为与会话主机操作,这些会话主机不是独立租赁感知设备。换而言之,在一些方面中,可以从租赁被呈现到的部件分离会话主机功能。
根据一个备选方面,参照图7,可以部署包括租赁呈现器604(图6)的功能的租赁感知会话客户端。在这一示例中,在步骤701中,租赁感知客户端702初始地为了连接租赁而联系作为租赁发布器的连接代理401。在步骤703中,连接代理401生成租赁令牌并且向租赁感知客户端702返回租赁令牌。连接代理也可以在一个或者多个其它冗余租赁存储库(未示出)中存储租赁令牌的副本。
在步骤705中,租赁感知客户端702将租赁令牌与任何需要的授权证书一起呈现到会话主机704。会话主机704验证/认证令牌并且向客户端702提供可能需要的用于在客户端702与在租赁令牌中标识的具体资源、例如具体桌面、应用等之间建立连接的任何附加信息。客户端702然后基于从会话主机704接收的附加信息建立会话。
尽管图6和图7的方法描绘两个说明性示例,但是可以进行其它变化而未脱离这里描述的发展精神实质或者范围。例如租赁令牌(或者分离租赁)可以包括用于授权通过安全设备、比如接入网关的网络连接的信息,在该情况下可以向网关呈现租赁作为与会话主机建立连接的一部分。此外,向安全设备呈现的用密码签名的租赁令牌可以包括租赁呈现器被允许访问的一个(或者多个)主机和网络端口,因此网关可以使网络访问仅限于那些主机。
在另一方面中,连接租赁(或者分离租赁)可以包括可以引导会话主机的服务的一个(或者多个)地址,从而如果所需会话主机掉电,则在呈现适当租赁时,租赁呈现器可以请求引导具体会话主机。在这一情况下,租赁可以包括用于会话主机的硬件和/或VM标识符。
在更多其它方面中,在连接租赁中的信息可以被加密以防止向更不受信任的部件、比如客户端(端点)设备透露信息。在这样的示例中,一些信息可以保持未加密、例如关于租赁的有效时段的信息(如果有)以及租赁可以被呈现给的任何服务(网关设备、引导服务或者会话主机)的性质和地址,从而租赁呈现器可以确定租赁令牌是否适合用于它的用途。
租赁发布和续期。可以预先或者按照需求发布租赁。由于监管者确定允许谁连接到哪些资源,租赁发布器可以在不等待来自会话客户端的具体连接请求的情况下前摄地创建租赁、并且将它们放置于租赁存储库中。备选地,可以在用户请求连接到特定资源时或者在用户第一次请求连接到特定会话主机时发布租赁。
相似地,租赁可以前摄地或者按照需要来续期(通过被重新发布)。为了保证连续可用性,租赁可以在它们到期之前被续期。续期可以由自治地动作的租赁发布器或者由确定希望有新续期租赁的租赁呈现器发起。租赁发布器可以在租赁中包括指示租赁应当何时被续期的信息以有益于租赁呈现器。
租赁撤消。一旦以租赁令牌的形式发布租赁,有可能的是应当在租赁到期之前撤消租赁。也就是说,可能需要在监管者消除用户对会话主机(或者应用)的访问时撤消租赁。租赁也可能需要基于从整个系统取消调配用户(例如对于终止的雇员)或者在会话主机被取消调配或者变成离线时被撤消。租赁也可能需要基于策略考虑——比如在用户仅需对于有限时间段具有对会话主机的访问——或者基于用户行为——其中租赁将在某个不活跃时段之后被撤消——来撤消。
可以用多种方式撤消租赁。在取消调配用户或者会话主机时,租赁简单地将未工作,因为相关连接端点之一不再存在于系统上。在另一场景中,可以基于与每个租赁令牌关联的唯一标识符523撤消租赁。可以向适当会话主机(在租赁中标识的会话主机)分发撤消的标识符的列表,因此会话主机如果或者在被呈现给该会话主机时可以自治地拒绝撤消的租赁。备选地,撤消的标识符的列表可以存储于中央位置(存储于租赁存储库、租赁发布器等),并且每个会话主机使用在被呈现时使用租赁的唯一标识符来查询中央贮存库以确认租赁是否有效或者租赁是否已经被撤消。在另一示例中,可以基于用来对已经撤消的租赁签名的密码密钥来撤消租赁。可以使用标准技术、比如用来管理密码密钥撤消的X509证书和证书撤消列表(CRL)来撤消密码密钥。可以组合或者分离地使用以上撤消方法中的任何撤消方法以控制租赁撤消。
使用以上描述的一个或者多个方面,使用连接租赁和租赁令牌通过减少虚拟化系统对中央基础设施和单故障点的依赖性来提供更大弹性,并且还提供用于对于管理的主控的应用和桌面快速和容易扩张的能力。扩张归因于每会话客户端更低频率查询连接代理。作为结果,单个连接代理在使用如这里描述的连接租赁和租赁令牌时与现有技术内嵌连接代理架构相比有能力服务于数目大得多的会话客户端。
虽然已经用结构特征和/或方法动作特有的语言描述主题内容,但是将理解在所附权利要求中定义的主题内容未必限于以上描述的具体特征或者动作。实际上,公开以上描述的具体特征和动作作为实施权利要求的示例形式。

Claims (20)

1.一种会话主机装置,包括:
控制所述会话主机装置的操作的处理器;以及
存储计算机可读指令的存储器,所述计算机可读指令在由所述处理器执行时使所述会话主机装置通过以下操作与会话客户端建立会话:
接收与会话客户端关联的租赁令牌,其中所述租赁令牌是用密码签名的连接租赁数据的自维持包,所述会话主机装置能够从所述用密码签名的连接租赁数据的自维持包确定所述会话客户端设备是否被授权访问由所述会话主机主控的一个或者多个资源;
基于所述租赁令牌确定所述会话客户端被授权访问的、由所述会话主机装置主控的一个或者多个资源;
在确定所述会话客户端被授权访问所述一个或者多个资源之后,基于确定的所述资源向所述会话客户端发送连接信息;以及
与所述会话客户端建立会话以提供对所述一个或者多个确定的资源的访问。
2.根据权利要求1所述的会话主机装置,其中确定包括检查租赁令牌撤消数据库以确定所述租赁令牌是否已经被撤消。
3.根据权利要求1所述的会话主机装置,其中所述租赁令牌包括多个数据字段,每个数据字段定义以下各项中的不同项:
租赁ID;
一个或者多个客户端设备的集合;
一个或者多个会话主机的集合;以及
一个或者多个资源的集合。
4.根据权利要求3所述的会话主机装置,其中所述租赁令牌由信任的连接代理签名。
5.根据权利要求3所述的会话主机装置,其中所述租赁令牌包括多个安全策略数据字段,每个安全策略数据字段定义以下各项中的不同项:
一个或者多个访问条件的集合;
连接限制;
最大空闲时间;以及
最大断开时间。
6.根据权利要求5所述的会话主机装置,其中所述访问条件依赖于在所述会话客户端上的防恶意软件的状态。
7.一种连接代理装置,包括:
控制所述连接代理装置的操作的处理器;以及
存储计算机可读指令的存储器,所述计算机可读指令在由所述处理器执行时使所述连接代理装置通过以下操作监管连接租赁:
从会话客户端接收连接请求;
基于所述会话客户端,确定:
所述客户端被授权与之建立会话的一个或者多个会话主机;以及
所述客户端被授权在所述一个或者多个会话主机上访问的一个或者多个资源;
将租赁令牌生成为数据包,所述数据包具有标识租赁编号的第一数据字段、标识所述一个或者多个会话主机的第二数据字段、标识所述一个或者多个资源的第三数据字段和标识所述会话客户端的第四数据字段;
对所述租赁令牌用密码签名以验证所述租赁令牌始发于所述连接代理装置;以及
向租赁存储库发送签名的所述租赁令牌以用于存储。
8.根据权利要求7所述的连接代理装置,其中发送所述租赁令牌包括向所述会话客户端发送所述租赁令牌以用于在所述租赁客户端上存储。
9.根据权利要求7所述的连接代理装置,其中发送所述租赁令牌包括向一个或者多个标识的会话主机可访问的中央租赁存储库发送所述租赁令牌
10.根据权利要求7所述的连接代理装置,所述指令还使所述连接代理装置执行:
接收对于撤消所述租赁令牌的请求;以及
通过向中央撤消列表公布所述租赁编号来撤消所述租赁令牌。
11.根据权利要求7所述的连接代理装置,所述指令还使所述连接代理装置执行:
接收对于撤消所述租赁令牌的请求;以及
通过向在所述租赁令牌中标识的所述一个或者多个会话主机中的每个会话主机发送撤消消息来撤消所述租赁令牌。
12.根据权利要求7所述的连接代理装置,所述指令还使所述连接代理装置执行:
接收对于撤消所述租赁令牌的请求;以及
通过撤消用来对所述租赁令牌签名的密码密钥来撤消所述租赁令牌。
13.根据权利要求7所述的连接代理装置,其中所述租赁令牌还包括标识一个或者多个访问条件的集合的第五数据字段、标识连接限制的第六数据字段、标识最大空闲时间的第七数据字段和标识最大断开时间的第八数据字段,其中所述第五至第八数据字段中的每个数据字段可由在所述第二数据字段中标识的会话主机用来实施安全策略。
14.一种在虚拟桌面基础设施中建立会话的方法,包括以下步骤:
连接代理从客户端设备接收对于会话的请求;
所述连接代理基于所述客户端设备的标识确定所述客户端被授权访问的一个或者多个会话主机,以及所述客户端设备被授权在所述一个或者多个会话主机上使用的一个或者多个资源;
所述连接代理基于所述客户端设备、所述一个或者多个会话主机和所述一个或者多个资源生成租赁令牌,其中所述租赁令牌是用密码签名的连接租赁数据的自维持包,所述一个或者多个会话主机中的每个会话主机可以从所述用密码签名的连接租赁数据的自维持包确定所述客户端设备是否被授权访问由所述会话主机主控的所述一个或者多个资源;
所述连接代理发送所述租赁令牌以用于在租赁存储库中存储;
所述会话主机之一接收所述租赁令牌作为对于与所述客户端设备建立会话的请求;
所述会话主机基于所述租赁令牌的所述密码签名验证所述租赁令牌;
基于所述验证,所述会话主机发送连接信息以用于由所述客户端设备用来与所述会话主机建立会话;以及
在所述会话主机与所述客户端设备之间建立所述会话,所述客户端设备通过所述会话访问由所述会话主机主控的一个或者多个资源。
15.根据权利要求14所述的方法,其中所述一个或者多个资源之一是主控的桌面。
16.根据权利要求14所述的方法,其中所述一个或者多个资源之一是主控的应用。
17.根据权利要求14所述的方法,其中所述一个或者多个资源之一是虚拟信道。
18.根据权利要求14所述的方法,还包括通过向预定位置公布与所述租赁令牌对应的租赁编号来撤消所述租赁令牌。
19.根据权利要求14所述的方法,其中所述租赁令牌包括多个数据字段,每个数据字段标识以下各项中的不同项:
租赁ID编号;
所述客户端设备;
所述一个或者多个会话主机;
所述一个或者多个资源;
必须在允许所述客户端设备访问所述一个或者多个会话主机之前满足的一个或者多个访问条件;
连接限制;
最大空闲时间;
最大断开时间;
虚拟信道控制信息;以及
所述连接代理的验证所述租赁令牌始发于所述连接代理的签名。
20.一种具有在其上存储的租赁令牌数据结构的一种或者多种非有形计算机可读介质,其中所述租赁令牌数据结构存储有连接租赁数据,所述数据结构包括:
标识租赁令牌标识编号的第一数据字段;
标识一个或者多个客户端设备的第二数据字段;
标识所述一个或者多个客户端设备可访问的一个或者多个会话主机的第三数据字段;
标识所述一个或者多个客户端设备在所述一个或者多个会话主机上可使用的一个或者多个资源的第四数据字段,其中每个资源是主控的桌面和主控的应用之一;
标识连接限制的第五数据字段,所述连接限制约束所述一个或者多个客户端设备何时可以访问所述一个或者多个会话主机;
标识所述一个或者多个客户端设备为了访问所述一个或者多个会话主机而必须满足的一个或者多个访问条件的第六数据字段;
标识虚拟信道信息的第七数据字段,所述虚拟信道信息可由所述一个或者多个会话主机用来允许或者拒绝所述一个或者多个客户端在所述一个或者多个会话主机上访问一个或者多个虚拟信道;以及
存储签名的第八数据字段,所述签名可由所述一个或者多个会话主机用来验证所述租赁令牌数据结构未被变更、并且始发于受信任的连接代理。
CN201380008099.3A 2012-02-16 2013-02-13 用于主控的服务的连接租赁 Active CN104106052B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/398,008 US8990898B2 (en) 2012-02-16 2012-02-16 Connection leasing for hosted services
US13/398,008 2012-02-16
PCT/US2013/025817 WO2013122977A1 (en) 2012-02-16 2013-02-13 Connection leasing for hosted services

Publications (2)

Publication Number Publication Date
CN104106052A true CN104106052A (zh) 2014-10-15
CN104106052B CN104106052B (zh) 2018-07-06

Family

ID=47843386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380008099.3A Active CN104106052B (zh) 2012-02-16 2013-02-13 用于主控的服务的连接租赁

Country Status (5)

Country Link
US (3) US8990898B2 (zh)
EP (1) EP2815317B1 (zh)
CN (1) CN104106052B (zh)
IN (1) IN2014CN04227A (zh)
WO (1) WO2013122977A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
CN110866198A (zh) * 2019-09-27 2020-03-06 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质
CN113614695A (zh) * 2019-05-20 2021-11-05 茨特里克斯系统公司 用于使用基于组件的连接租约的虚拟会话连接的系统和方法
CN113678410A (zh) * 2019-05-20 2021-11-19 茨特里克斯系统公司 提供连接租赁交换和相互信任协议的计算系统和相关方法

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
AU2001251643A1 (en) 2000-04-17 2001-10-30 Circadence Corporation System and method for providing distributed database services
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US10580056B2 (en) 2012-05-17 2020-03-03 Walmart Apollo, Llc System and method for providing a gift exchange
US10346895B2 (en) 2012-05-17 2019-07-09 Walmart Apollo, Llc Initiation of purchase transaction in response to a reply to a recommendation
US20130311337A1 (en) * 2012-05-17 2013-11-21 Luvocracy Inc. Universal consumption service
US10210559B2 (en) 2012-05-17 2019-02-19 Walmart Apollo, Llc Systems and methods for recommendation scraping
US10181147B2 (en) 2012-05-17 2019-01-15 Walmart Apollo, Llc Methods and systems for arranging a webpage and purchasing products via a subscription mechanism
JP5958544B2 (ja) * 2012-09-06 2016-08-02 富士通株式会社 情報処理システム,情報処理方法,プログラム
US8850543B2 (en) 2012-12-23 2014-09-30 Mcafee, Inc. Hardware-based device authentication
US9419953B2 (en) 2012-12-23 2016-08-16 Mcafee, Inc. Trusted container
US8955075B2 (en) 2012-12-23 2015-02-10 Mcafee Inc Hardware-based device authentication
US10025599B1 (en) * 2013-05-21 2018-07-17 Progress Software Corporation Connectivity as a service
US9473506B1 (en) 2013-10-15 2016-10-18 Progress Software Corporation Secure file transfer and notification server
US9531678B1 (en) 2013-10-15 2016-12-27 Progress Software Corporation On-premises data access and firewall tunneling
US10268492B2 (en) 2014-05-20 2019-04-23 Amazon Technologies, Inc. Low latency connections to workspaces in a cloud computing environment
US9686338B1 (en) 2014-10-24 2017-06-20 Amazon Technologies, Inc. Streaming content adjustment based on camera feedback
US10460464B1 (en) 2014-12-19 2019-10-29 Amazon Technologies, Inc. Device, method, and medium for packing recommendations based on container volume and contextual information
US10382578B2 (en) * 2015-06-05 2019-08-13 Apple Inc. Provision of a lease for streaming content
CN107534645B (zh) 2015-08-12 2020-11-20 慧与发展有限责任合伙企业 存储系统、非暂态机器可读介质及主机存储认证的方法
US10270671B2 (en) * 2015-09-22 2019-04-23 Microsoft Technology Licensing, Llc External process user interface isolation and monitoring
US11171924B2 (en) 2015-10-14 2021-11-09 Adp, Inc. Customized web services gateway
US10623528B2 (en) 2015-10-14 2020-04-14 Adp, Llc Enterprise application ecosystem operating system
US10348816B2 (en) * 2015-10-14 2019-07-09 Adp, Llc Dynamic proxy server
US10762559B2 (en) 2016-04-15 2020-09-01 Adp, Llc Management of payroll lending within an enterprise system
US10860342B2 (en) * 2017-01-30 2020-12-08 Citrix Systems, Inc. Computer system providing cloud-based session prelaunch features and related methods
US10616182B1 (en) 2017-11-30 2020-04-07 Progress Software Corporation Data access and firewall tunneling using a custom socket factory
CN108490806B (zh) * 2018-04-23 2020-10-13 北京航空航天大学 基于改进故障模式与影响分析的系统弹性仿真评估方法
US10887287B2 (en) * 2018-05-11 2021-01-05 Citrix Systems, Inc. Connecting client devices to anonymous sessions via helpers
US20210276198A1 (en) * 2018-06-11 2021-09-09 Hewlett-Packard Development Company, L.P. Verifying robot operator identity
US10778603B2 (en) * 2018-10-11 2020-09-15 Citrix Systems, Inc. Systems and methods for controlling access to broker resources
US11115478B2 (en) 2018-11-19 2021-09-07 Citrix Systems, Inc. Computer system and methods providing virtual computing session connections and re-directs based upon ordered list of virtual delivery agents
US10673749B1 (en) * 2018-12-28 2020-06-02 Paypal, Inc. Peer-to-peer application layer distributed mesh routing
US11165575B2 (en) * 2019-01-02 2021-11-02 Citrix Systems, Inc. Tracking tainted connection agents
US10860361B2 (en) * 2019-01-07 2020-12-08 Citrix Systems, Inc. Computer system providing virtual computing sessions through virtual delivery agent leasing with enhanced power savings and connectivity and related methods
US11188372B2 (en) * 2019-04-29 2021-11-30 Citrix Systems, Inc. Computing system with dual VDA registration and related methods
US11645102B2 (en) * 2019-05-20 2023-05-09 Citrix Systems, Inc. Connection leasing system and related methods for use with legacy virtual delivery appliances
US11212113B2 (en) * 2019-05-20 2021-12-28 Citrix Systems, Inc. Systems and methods providing connection lease anti-theft features for virtual computing sessions
US11469894B2 (en) 2019-05-20 2022-10-11 Citrix Systems, Inc. Computing system and methods providing session access based upon authentication token with different authentication credentials
US11362943B2 (en) * 2019-05-20 2022-06-14 Citrix Systems, Inc. System and method for validating virtual session requests
US20220173890A1 (en) 2020-11-30 2022-06-02 Citrix Systems, Inc. Smart card and associated methods for initiating virtual sessions at kiosk device
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11803398B2 (en) * 2021-02-16 2023-10-31 Citrix Systems, Inc. Computing device and associated methods providing browser launching of virtual sessions in an application
WO2022195301A1 (en) * 2021-03-19 2022-09-22 Citrix Systems, Inc. Passwordless login
US11474840B1 (en) 2021-05-17 2022-10-18 Citrix Systems, Inc. Computing device and related methods providing virtual session launching from previously cached assets
US20230020656A1 (en) * 2021-07-06 2023-01-19 Citrix Systems, Inc. Computing session multi-factor authentication

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1506873A (zh) * 2002-08-28 2004-06-23 国际商业机器公司 在全异的网域之间验证和传送可核实授权的方法和系统
US7249176B1 (en) * 2001-04-30 2007-07-24 Sun Microsystems, Inc. Managing user access of distributed resources on application servers
CN101019364A (zh) * 2004-07-15 2007-08-15 思科技术公司 主机证书授权协议
US20090328186A1 (en) * 2002-04-25 2009-12-31 Dennis Vance Pollutro Computer security system
US20110030045A1 (en) * 2009-05-01 2011-02-03 Peter David Beauregard Methods and Systems for Controlling Access to Resources and Privileges Per Process
US20110225643A1 (en) * 2010-03-12 2011-09-15 Igor Faynberg Secure dynamic authority delegation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6161182A (en) 1998-03-06 2000-12-12 Lucent Technologies Inc. Method and apparatus for restricting outbound access to remote equipment
AU2001228235A1 (en) 2000-01-27 2001-08-07 Hummingbird Ltd. A method and system for implementing an enterprise information portal
US7131000B2 (en) * 2001-01-18 2006-10-31 Bradee Robert L Computer security system
JP2007506671A (ja) 2003-06-26 2007-03-22 エフ.ホフマン−ラ ロシュ アーゲー インスリン抵抗性改善薬を製造する方法およびその中間体化合物
US20050160276A1 (en) * 2004-01-16 2005-07-21 Capital One Financial Corporation System and method for a directory secured user account
US7600230B2 (en) 2004-07-06 2009-10-06 Oracle International Corporation System and method for managing security meta-data in a reverse proxy
US8578465B2 (en) 2009-07-21 2013-11-05 Cisco Technology, Inc. Token-based control of permitted sub-sessions for online collaborative computing sessions
US8607054B2 (en) * 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US8950002B2 (en) * 2011-08-15 2015-02-03 Bank Of America Corporation Method and apparatus for token-based access of related resources
US9477517B2 (en) * 2011-10-28 2016-10-25 Qualcomm Incorporated Service broker systems, methods, and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249176B1 (en) * 2001-04-30 2007-07-24 Sun Microsystems, Inc. Managing user access of distributed resources on application servers
US20090328186A1 (en) * 2002-04-25 2009-12-31 Dennis Vance Pollutro Computer security system
CN1506873A (zh) * 2002-08-28 2004-06-23 国际商业机器公司 在全异的网域之间验证和传送可核实授权的方法和系统
CN101019364A (zh) * 2004-07-15 2007-08-15 思科技术公司 主机证书授权协议
US20110030045A1 (en) * 2009-05-01 2011-02-03 Peter David Beauregard Methods and Systems for Controlling Access to Resources and Privileges Per Process
US20110225643A1 (en) * 2010-03-12 2011-09-15 Igor Faynberg Secure dynamic authority delegation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
CN113614695A (zh) * 2019-05-20 2021-11-05 茨特里克斯系统公司 用于使用基于组件的连接租约的虚拟会话连接的系统和方法
CN113678410A (zh) * 2019-05-20 2021-11-19 茨特里克斯系统公司 提供连接租赁交换和相互信任协议的计算系统和相关方法
CN115454582A (zh) * 2019-05-20 2022-12-09 茨特里克斯系统公司 用于使用基于组件的连接租约的虚拟会话连接的系统和方法
CN115469952A (zh) * 2019-05-20 2022-12-13 茨特里克斯系统公司 用于使用基于组件的连接租约的虚拟会话连接的系统和方法
CN110866198A (zh) * 2019-09-27 2020-03-06 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质
CN110866198B (zh) * 2019-09-27 2022-10-28 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US8990898B2 (en) 2015-03-24
US20150201027A1 (en) 2015-07-16
WO2013122977A1 (en) 2013-08-22
CN104106052B (zh) 2018-07-06
EP2815317A1 (en) 2014-12-24
IN2014CN04227A (zh) 2015-07-17
EP2815317B1 (en) 2020-04-01
US20130219468A1 (en) 2013-08-22
US9426227B2 (en) 2016-08-23
US20150026777A1 (en) 2015-01-22
US9800669B2 (en) 2017-10-24

Similar Documents

Publication Publication Date Title
CN104106052A (zh) 用于主控的服务的连接租赁
US9258290B2 (en) Secure administration of virtual machines
CN104246703B (zh) 为云资源指定状态
US10331882B2 (en) Tracking and managing virtual desktops using signed tokens
US11438421B2 (en) Accessing resources in a remote access or cloud-based network environment
US9032496B2 (en) Secure single sign-on
US11656882B2 (en) Instant virtual application launch
CN105379223A (zh) 用于移动应用管理的对移动应用的身份的验证
WO2014124360A9 (en) System updates with personal virtual disks
CN107636603A (zh) 基于位置的装置可用性
US20120297069A1 (en) Managing Unallocated Server Farms In A Desktop Virtualization System
US10846463B2 (en) Document object model (DOM) element location platform
US20200183917A1 (en) Mobile Auditable and Tamper-Resistant Digital-System Usage Tracking and Analytics
CN104115471A (zh) 托管的服务中的客户端带宽模拟
CN108228280A (zh) 浏览器参数的配置方法及装置、存储介质、电子设备
Csibi Integration of Virtual Machine Technologies for the support of Remote Development Units

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant