CN105637481B - 计算会话的管理 - Google Patents

计算会话的管理 Download PDF

Info

Publication number
CN105637481B
CN105637481B CN201480042455.8A CN201480042455A CN105637481B CN 105637481 B CN105637481 B CN 105637481B CN 201480042455 A CN201480042455 A CN 201480042455A CN 105637481 B CN105637481 B CN 105637481B
Authority
CN
China
Prior art keywords
desktop
storage unit
user
virtual desktop
virtual
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.)
Active
Application number
CN201480042455.8A
Other languages
English (en)
Other versions
CN105637481A (zh
Inventor
迪帕克·苏亚那拉亚南
大卫·埃弗拉德·布朗
尤金·迈克尔·法雷尔
维韦克·拉克什曼安
科林·哈里森·布雷斯
埃里克·乔纳森·特尔维克
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN105637481A publication Critical patent/CN105637481A/zh
Application granted granted Critical
Publication of CN105637481B publication Critical patent/CN105637481B/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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Abstract

一种远程计算会话管理流程涉及在程序执行服务(PES)平台处的数据中心计算机上执行的虚拟实例的各方面的执行和管理。可在所述PES平台与通过通信网络连接至所述PES平台的计算装置之间建立计算会话。由与所述虚拟实例互动的客户端计算装置的用户创建的数据可被存储,且在所述远程计算会话中断之后,当重新建立所述远程计算会话时可使用所述数据。

Description

计算会话的管理
背景
远程网络计算供应商的数据中心可容纳大量互连的计算系统,以便向客户提供计算资源。这些数据中心可为由数据中心、公司或其它第三方所维护的硬件提供网络访问、电力、硬件资源(例如,计算和存储)和安全安装设施。
为了促成数据中心资源的高利用率,虚拟化技术可允许单个实体计算机器来托管一个或多个虚拟机器实例,所述一个或多个虚拟机器作为连接的计算机用户的独立计算机器存在和操作。利用虚拟化,单个实体计算装置可以动态方式创建、维护或删除虚拟机器。反过来,用户可从数据中心请求计算机资源,且可“根据需要”或至少“根据请求”获得数量不断变化的虚拟机器资源。
为其用户提供虚拟机器资源的远程网络计算供应商一般都努力使提供的这些资源具有最优水平的可用性、可量测性和可靠性。
附图简述
当通过结合附图参考以下详细描述时,本发明变得更好理解,因此本发明的前述方面和许多附带优点将变得更容易了解,其中:
图1为说明网络化计算环境的框图,该计算环境包括客户端计算装置和服务供应商计算机网络;
图2为图1的网络化计算环境的框图,说明一个事件之后的虚拟桌面实例的管理以及虚拟桌面实例之间用户数据的永久存储;
图3为图1的网络化计算环境的框图,说明在服务供应商计算机网络与客户端计算装置之间使用远程计算会话以便从与客户端计算装置相关联的事件恢复;
图4为图1的网络化计算环境的框图,说明根据不同用户配置文件适应多种虚拟桌面实例要求的服务供应商计算机网络;
图5为图1的网络化计算环境的框图,说明适应虚拟桌面实例要求中的更改的服务供应商计算机网络;
图6为说明图1的网络化计算环境的框图,其包括当操作从远程网络化环境过渡为本地网络化环境时的客户端计算装置和服务供应商计算机网络;
图7为说明例程的流程图,该例程关于一个事件之后的虚拟桌面实例管理和虚拟桌面实例之间用户数据的永久存储;
图8为说明例程的流程图,该例程关于在服务供应商计算机网络与客户端计算装置之间使用远程计算会话以便从与客户端计算装置相关联的事件恢复;
图9为说明例程的流程图,该例程关于适应根据不同用户配置文件确定的多种虚拟桌面实例要求;
图10为说明例程的流程图,该例程关于虚拟桌面实例要求中的更改;并且
图11为说明例程的流程图,该例程关于客户端计算装置和服务供应商计算机网络的操作在远程环境与本地环境之间的过渡。
详述
总的来说,本公开涉及一个或多个客户端计算装置与由程序执行服务(PES)平台的一个或多个远程数据中心计算机托管的虚拟桌面实例之间的远程计算会话的生成和管理。若干数据中心可被组织成单个PES平台的一部分,该平台可促进PES的客户对数据中心资源的利用。在一些实施方案中,PES可包括几百个或几千个数据中心计算机。
将相关于PES平台对虚拟桌面实例的管理来描述本公开的各个方面。客户端计算装置可在一个或多个远程计算会话期间访问虚拟桌面实例。虚拟桌面实例可为用户提供客户端桌面环境的所有功能,但是为客户端对服务的访问提供集中式设置。
参考第一说明性实例,用户通过客户端计算装置发送请求来加载诸如远程计算应用程序的应用程序。在接收请求之后,客户端计算装置与PES平台通信,以便起动远程计算会话。在一个实施方案中,客户端计算装置与PES平台之间的通信可包括登录信息。在其它实施方案中,通信还可包括识别以下内容的信息:资源使用信息、处理要求或关于用于客户端计算装置的用户的远程计算会话的持续时间或条件的规则。客户端计算装置可进一步传达与装置状态有关的各种信息,包括但不限于装置资源的当前或未来可用性(例如,处理能力、存储器、存储空间、网络使用等)。使用接收的信息,PES平台可识别用于在一个或多个远程计算会话中执行的一个或多个虚拟桌面实例。在一个实例中,PES平台可在数据中心计算机上例示虚拟机器实例或促使虚拟机器实例在数据中心计算机上例示。虚拟机器实例包括操作系统。客户端计算装置然后可与虚拟机器建立远程计算会话,且操作系统的用户接口(例如,操作系统的输出,诸如图形用户接口、声音等)可发送至客户端计算装置或呈现给用户(例如,图形用户接口在客户端计算装置的显示器上呈递)。操作系统可使用与用户相关联的且存储在由PES访问的桌面存储单元上的桌面配置文件来为用户配置虚拟桌面实例,做法是设置桌面背景、屏幕保护程序、桌面布局、指示器偏好、声音设置等。诸如鼠标和键盘操作的用户输入然后可被发送至虚拟机器并添加到操作系统中,就如同该操作是由用户直接在虚拟机器处执行。
PES平台可接收或生成数据,所述数据与客户端计算装置和虚拟桌面实例在远程计算会话期间在客户端计算装置上的互动相关联。所述数据可包括用户数据和偏好、文件等。当接收数据时,PES平台可将数据保存至与虚拟桌面实例相关联的桌面存储单元。在一些实施方案中,桌面存储单元可在卷逻辑块存储装置或其它逻辑块存储装置上实施。在一些实施方案中,PES可创建数据的副本,或还可将数据存储至中央存储库。保存的数据然后可用于恢复因故障已经被中断的远程计算会话,所述故障诸如虚拟桌面实例的故障、托管虚拟桌面实例的服务器的故障、网络故障等。通过保存用户数据,PES平台确保远程计算会话的重新建立给客户端计算装置的用户带来最短的延时和中断。
在另一说明性实例中,所提供的虚拟桌面实例可根据存储在PES的用户配置文件存储单元处的用户配置文件进行配置。虚拟桌面实例的配置还可根据监控的实例用途进行调整。在一些实例中,用户配置文件可由与管理用户的使用的实体相关联的管理员进行设置。用户配置文件可指示各种存储器和与执行一个或多个虚拟桌面实例的PES计算机相关联的处理要求以及关于虚拟桌面实例的要求。例如,用户配置文件可指示在使用虚拟桌面实例时用户被给予访问权限的程序。用户配置文件还可指示与远程计算会话相关联的最长时间或最高成本。当安装和配置虚拟桌面实例时,PES可将关于用户的用户配置文件纳入考虑。除此之外,还可基于用户随着时间推移与虚拟桌面的互动来调整安装和配置决策。
在另一说明性实例中,PES平台可用于在PES平台处的数据中心计算机的一个或多个上提供客户端计算装置的计算环境的备用副本。随后,如果客户端计算装置被破坏,当起动与PES平台的新的远程计算会话时,最初使用的客户端计算装置的计算环境的备用副本可供用户使用。在新的远程计算会话中,用户可从同一个或另一个客户端计算装置连接至PES平台。
在另一说明性实例中,客户端计算装置与PES平台之间的远程计算会话可用于提供将在客户端计算装置上执行的一个版本的虚拟桌面实例。该版本的实例可根据客户端计算装置的操作系统、存储器和处理能力规格中的一个或多个进行改编。在虚拟桌面实例的改编版本被复制到客户端计算装置上的情况下,即使在从PES平台断开之后,装置仍可继续与虚拟桌面实例互动。随后,当重新连接至PES平台时,新的虚拟桌面实例可与在客户端计算装置上执行的前一虚拟桌面实例同步。
虽然出于说明的目的,本公开中所描述的实施方案的各方面可对应于软件应用程序(诸如,虚拟桌面实例)描述一个或多个远程会话的管理,但是本领域技术人员应了解,本文所公开的技术可应用于任意数量的软件流程,包括但不限于操作系统流程和服务。另外,虽然将相关于说明性实例和实施方案描述本公开的各种方面,但是本领域技术人员应了解,公开的实施方案和实例不应被解释成具有限制性。
图1为说明网络化计算环境100的框图,该计算环境100包括通过通信网络104与服务供应商计算机网络105通信的客户端计算装置106。客户端计算装置106可用于为远程操作系统提供访问权限,以及为用户提供应用程序。在说明性实施方案中,客户端计算装置106可对应于多种计算装置,所述多种计算装置包括个人计算装置、膝上型计算装置、手持式计算装置、终端计算装置、移动装置(例如,移动电话、平板计算装置、电子书阅读器等)、无线装置、各种电子装置和设备等。在说明性实施方案中,客户端计算装置106包括用于通过诸如广域网或局域网的通信网络104建立通信的必要硬件和软件组分。例如,客户端计算装置106可配备通过互联网或内联网促进通信的网络设备和浏览器软件应用程序。客户端计算装置106可具有不同的本地计算资源,诸如中央处理单元和架构、存储器、海量存储空间、图形处理单元、通信网络可用性和带宽等。
在一个实施方案中,客户端计算装置106可运行远程计算应用程序130。远程计算应用程序130可请求对由服务供应商计算机网络105托管的虚拟桌面实例进行访问。远程计算应用程序130还可管理客户端计算装置106与服务供应商计算机网络105之间的远程计算会话。进一步继续参考图1,服务供应商计算机网络105还可包括PES平台102。图1中说明的PES平台102对应于与服务供应商相关联的一个或多个数据中心的逻辑联想。PES平台102可与若干数据中心计算机(诸如,数据中心计算机110)相关联。各数据中心计算机110可托管一个或多个虚拟桌面实例114。数据中心计算机110可通过在实体装置上执行虚拟机器来托管虚拟桌面实例。虚拟机器可执行操作系统的实例和应用软件来创建虚拟桌面实例。由PES102执行的各虚拟桌面实例可由一个或多个客户端计算装置访问。
例如,数据中心计算机可与服务供应商计算机网络105内的专用网络地址(诸如,IP地址)相关联,因此所述计算机可能无法直接被客户端计算装置106访问。虚拟桌面实例可与公共网络地址相关联,所述公共网络地址可借助于服务供应商计算机网络105的边缘处的网关变得可用。因此,客户端计算装置可通过公共网络地址直接访问虚拟桌面实例。相关领域技术人员应了解,各数据中心计算机110将包括用于执行多个虚拟桌面实例或动态地例示虚拟桌面实例的实体计算装置资源和软件。这些例示可基于诸如来自客户端计算装置106的具体要求。
数据中心计算机110可包括实例管理器122。实例管理器122可与相应实例114位于同一计算机上,或位于单独的计算机上。实例管理器122跟踪在数据中心计算机110上执行的实例的进程;在通过客户端计算装置与实例114互动的同时监控和协调由用户创建的数据的存储;以及监控数据中心计算机110和在客户端计算装置106上运行的远程计算应用程序的整体健康和状态。实例管理器122将通过跟踪和监控收集的信息与PES平台102的数据中心管理组分101进行通信,以便有效地管理数据中心计算机110与客户端计算装置106之间的各种远程计算会话。
继续参考图1,服务供应商网络105还包括存储服务平台103。存储服务平台103可包括或连接至一个或多个存储服务器107。存储服务器107可用于存储由虚拟桌面实例生成或利用的数据。由虚拟桌面实例生成或利用的数据可基于客户端计算装置106与PES 102之间的通过一个或多个远程计算会话的互动。
例如,存储服务平台103可逻辑地组织和维护与桌面存储单元中的托管虚拟桌面实例114相关联的信息。与在桌面存储单元中维护的虚拟桌面实例114相关联的信息可包括但不限于:用户偏好、与程序数据的执行相关联的信息、用户内容、用户内容参考等。例如,被用户用来在其它存储装置上存储音乐、文件等的文件夹(包括通过存储服务供应商)还可通过对这些存储位置的引用而被映射至桌面存储单元。也就是说,诸如请求打开这些文件夹中的文件的输入/输出操作可被重新定向至桌面存储单元。因此,当用户尝试打开存储在其文档夹中的文件时,该请求可由在虚拟桌面实例中运行的操作系统重新定向至桌面存储单元。除了由用户创建的数据之外,用户的桌面配置文件(其可包括例如关于桌面的配置信息,诸如背景图片、字体、图标排列等)也存储在与用户的虚拟桌面实例相关联的桌面存储单元上。如下面将更为详细地解释,服务供应商计算机网络105可通过在独立于数据中心计算机的存储服务器上进行存储来减轻运行虚拟桌面实例的数据中心计算机110的故障效应或与数据中心计算机上的虚拟实例的执行相关联的误差。另外,服务供应商网络105还可通过在桌面存储单元中维护信息来促进与多个虚拟实例的客户端互动。在一些实施方案中,如下面进一步详细描述,如果一个虚拟桌面实例出现故障,那么新的实例可被启动,并且可如先前附接至出现故障的虚拟桌面实例一样附接至同一桌面存储单元。
逻辑上,桌面存储单元可跨多个服务器分布,其可出于性能目的在不同网络区域中的服务器上进行复制,或其可出于支持或故障性能目的跨具有独立故障配置文件的多个服务器复制。也就是说,服务器可附接至不同电源或冷却系统,服务器可定位在数据中心的不同房间中或定位在不同数据中心中,和/或服务器可附接至不同路由器或网络交换机。例如,在一些实施方案中,桌面存储单元可位于一个存储服务器上,且对桌面存储单元做出的更改可被复制到不同存储服务器上的另一桌面存储单元。该复制创建用户数据的备用副本。如果桌面存储单元出现故障或虚拟桌面实例失去其至桌面存储单元的连接,那么PES102将虚拟桌面实例的连接从桌面存储单元切换至备用桌面存储单元。
PES平台102还包括中央存储装置,诸如用于存储由存储服务器107上的各种桌面存储单元和备用存储单元存储的数据的PES存储库140。数据中心计算机110和存储服务器107可还包括促进通信的额外软件或硬件组分,所述组分包括但不限于用于选择支持请求的应用程序的虚拟机器的实例和/或提供信息至DNS名称服务器来促进请求路由的负载平衡或负载分配软件/硬件组分。
服务供应商计算机网络105还可包括用户配置文件存储单元108。用户配置文件存储单元108可用于存储例如各种程序,用户在使用虚拟桌面实例的同时被给到这些程序的访问权限。存储的用户配置文件还可指示与不同用户的远程计算会话相关联的最长时间或最高成本。当安装和配置虚拟桌面实例时,PES平台102可将用户配置文件纳入考虑。PES平台102还可包括或连接至虚拟桌面影像存储单元109。虚拟桌面影像存储单元109可包括操作系统的模板影像,未根据用户配置文件应用定制。
在说明性实施方案中,数据中心计算机110和存储服务器107视为被逻辑分组,不论组分或组分的各部分是否被物理分离。例如,服务供应商计算机网络105可维护单独位置用于提供实例和存储组分。另外,虽然图1中说明的数据中心组分110与PES平台102逻辑地相关联,但是数据中心计算机将以能够最好地服务于其用户的各种人口统计资料的方式进行地理分布。另外,相关领域技术人员将了解的是,服务供应商计算机网络105可与各种额外计算资源相关联,所述各种额外计算资源诸如用于内容和资源管理的额外计算装置等。
现在参考图2至图7,将说明图1的网络化计算环境100的各种组分之间的互动。具体地说,图2至图7说明网络化计算环境100的各种组分之间的互动,所述网络化计算环境100用于服务供应商网络105对虚拟桌面实例的执行以及用于从客户端计算装置106对虚拟桌面实例进行远程访问。然而,出于举例的目的,该说明已经被简化,因此被利用来促进通信的组分中的许多未示出。相关领域技术人员应了解,在不脱离本公开的精神和范围的情况下,可利用这些组分,且额外的互动将相应地发生。
参考图2,虚拟桌面实例114可在连接至PES平台102的数据中心计算机110的任一个上执行。如果与数据中心计算机110上的虚拟实例114的执行相关联的事件发生,那么该执行可转移至另一虚拟桌面实例114’。该另一实例114’可在同一计算机110或不同的数据中心计算机110’上执行。在任一种情况下,因为使用了桌面存储单元170,所以该转移的发生给客户端计算装置106的用户体验带来最短的延时和中断。如下面将描述,在虚拟桌面实例114的执行转移至114’的整个时间里,用户的数据借助于与桌面存储单元170的持续关联性而保持可用。
例如,在虚拟桌面实例的例示和远程计算会话的建立之前,各实例管理器122监控相应虚拟桌面实例的整体状态和健康。这些状态和健康信息从数据中心计算机110的实例管理器122发送至服务供应商的数据中心管理组分101。除此之外,在远程计算会话期间,实例管理器122监控实例114与客户端计算装置106之间的网络连接的健康和状态。实例管理器122还可通过例如安装在客户端计算装置106上的代理程序监控所连接的客户端计算装置106的健康和状态。监控的所有健康和状态信息被发送至数据中心管理组分101。从实例管理器122收集的且发送至数据中心管理组分101的信息在本文中还被称为状态信息。从各种组分收集的状态信息被用来实现来自服务供应商计算机网络的所需的服务可用性和可靠性。如果收集的状态信息指示组分中的一个或多个出现故障,那么可通过转移实例的执行或访问额外数据存储位置来解决该故障。
如图2中的步骤(1)所说明,当客户端计算装置106响应于事件或用户请求加载远程计算应用程序130时,可初始化关于新的远程计算会话的请求。在一些实施方案中,远程计算应用程序130可提示用户输入用户名和口令。在一个实施方案中,加载远程计算应用程序130可包括从存储组分复制可执行的代码到装置存储器中。在加载远程计算应用程序130之后,客户端计算装置106可请求新的远程会话,并发送请求至服务供应商计算机网络105的PES平台102。在一个实施方案中,远程计算会话可由用户起动,以便远程访问用户的桌面。在另一实施方案中,从客户端计算装置106的角度来说,起动远程会话来处理应用程序流程的执行显得如同应用程序流程正在本地装置上例示和执行。
在接收请求之后,在步骤(2)处,PES平台102选择关于用户的用户配置文件,该用户使用诸如用户账户标识符的信息提交该请求。用户配置文件可存储在用户配置文件存储单元108上(参考图1)。在示例性实施方案中,用户配置文件可包括指示虚拟桌面实例模板的信息或影像或与所述信息或影像相关联,根据所述信息或影像为用户创建虚拟桌面实例。例如,虚拟桌面实例模板或影像可指定要启动的操作系统或指定一组应用程序。用户配置文件还可包括指示提供给用户的虚拟桌面实例的处理单元的数量、存储器、存储空间、带宽等的信息,或与所述信息相关联。该信息可表达为秘钥值对或被抽象成不同类型的虚拟桌面实例(例如,小型实例、中型实例或大型实例)。因此,用户配置文件可指示虚拟桌面实例类型等同于“大型”,其中大型具有与其相关联的固定量的资源。
然后可起动远程会话来对应于由客户端计算装置106所识别的一个或多个应用程序流程。例如,起动新的远程会话可包括根据虚拟机器或数据中心计算机内的影像启动虚拟桌面实例,该影像与分配的装置存储器、存储空间或缓存空间、处理器时间、网络带宽或其它计算或网络资源相关联。该影像可从虚拟桌面影像存储库进行访问,所述存储库诸如像虚拟桌面影像存储单元109(在图1中说明)。
在PES平台102从用户配置文件存储单元108(在图1中说明)检索用户配置文件之后,PES平台102确定将执行虚拟桌面实例的数据中心计算机110。例如,PES平台102可获得可用于托管虚拟桌面实例的数据中心计算机110的清单,且可应用过滤标准至该清单来从可适应虚拟桌面实例的托管要求的一个或多个计算机获得数据中心计算机110的子集。然后,PES平台102可随机或通过使用任何其它选择流程(例如,循环法等)来选择数据中心计算机110中的一个。在具体实例中,PES平台102可获得清单并过滤出无法提供必要资源(例如,存储器、存储空间、处理能力等)的数据中心计算机110。PES平台还可过滤出已经托管与客户账户(其与用户账户相关联)相关联的N个其它虚拟桌面实例114的数据中心计算机110(其中N为可由管理员或PES平台102设置的等于或大于1的任意数)。PES平台还可过滤出对客户端计算装置106等具有高等待时间的数据中心计算机100。
在来自虚拟桌面影像存储单元109的影像被用来创建虚拟桌面实例114之后,PES平台102还可识别用于附接至虚拟桌面实例114的桌面存储单元(诸如,主桌面存储单元170)。例如,PES平台102可选择将在其上执行虚拟桌面实例114的数据中心计算机110,并基于用户配置文件中的信息向该计算机110发送请求来启动虚拟桌面实例114,并向其发送虚拟桌面标识符。例如,虚拟桌面实例与桌面存储单元的关联性可通过利用应用协议接口(“API”)来实现。例如,实例管理器122可利用可被发送至存储服务平台103的API(诸如,附接请求)。存储服务平台103可验证虚拟桌面实例114具有正确的虚拟桌面标识符,并促使用户的桌面存储单元170被附接至虚拟桌面实例114。
与数据中心计算机110相关联的网络地址信息可发送至客户端计算装置106。在客户端计算装置106接收IP地址后,可起动远程计算会话。在虚拟桌面实例被配置后,PES平台102与客户端计算装置106通信,并且发送与虚拟桌面实例相关联的可公开访问的IP地址。在客户端计算装置106接收IP地址后,其向IP地址做出连接请求。然后可对用户进行认证,并且然后如果得到认证,那么实例上的操作系统加载与用户相关联的配置文件。然后使用配置文件,以便允许用户接口或虚拟桌面实例的桌面来观察和感受用户喜欢的方式。例如,实例的配置可包括配置注册表、改变字体、设置桌面图片、组织桌面上的收藏夹和链接,将适当文档的图标放置在桌面上等。
在一些实施方案中,当接收到客户端计算装置请求时,数据中心管理组分101还可选择处理和网络资源以及除实例114之外的另一实例(诸如,实例116)上的供应软件。可为与客户端计算装置106相关联的一个或多个用户、连接至客户端计算装置的一个或多个实例或这些的组合提供额外实例。
然后,实例管理器122继续监控实例114的状态和健康。在虚拟桌面实例114内运行的代理程序还可监控和协调数据的接收和存储,所述数据由客户端计算装置106上的用户与在PES平台102处执行的虚拟桌面实例的互动所创建。所述数据可包括:诸如用户已经打开哪些文件的信息,关于用户配置文件的详情,以及与在PES平台105上执行的实例互动的同时创建的任何数据文件。所述数据还可包括关于用户的图形用户接口的详情。例如,所述数据可包括:用户在客户端计算装置106上已经打开的各种窗口,相应窗口的绝对位置和相对位置,窗口中强调的任何组分等。实例管理器122可发送状态信息至数据中心管理组分101,且其还可将更改写入桌面配置文件,以及将用户内容写入主桌面存储单元170。
继续参考图2,在一些实施方案中,为了防止主桌面存储单元出现故障,在步骤(2B)处,存储在主桌面存储单元上的数据可复制到备用桌面存储单元170’中。与主桌面存储单元170一样,备用桌面存储单元170’与实例114的同一用户相关联。对数据做出的任何更改存储在主桌面存储单元170处,且被复制到备用桌面存储单元170’。复制可定期执行、在事件的基础上执行(其中仅当创建新数据时才对数据进行复制)或以上二者的组合。
在一些实施方案中,在步骤(2C)处,保存的数据还可存储在PES存储库140处。至PES存储库140的存储可定期执行,在事件的基础上执行或以上二者的组合。在一些实施方案中,存储在PES存储库140上之后,可定期从桌面存储单元170、170’清除数据。时间期限可由与客户端计算装置106的用户相关联的实体的管理员确定。
随后,在步骤(3)处,可存在与虚拟桌面实例114相关联的事件。事件可包括例如虚拟桌面实例故障。虚拟桌面实例故障可由于:电力中断、网络断开、数据中心计算机上的软件或硬件故障、虚拟桌面实例上等待时间延长、虚拟桌面实例的重大毁损或任何其它实例故障。在出现此类故障的情况下,从实例管理器122发送的状态信息将会把故障指示给数据中心管理组分101。可选地,主桌面存储单元170将检测出缺少对用户信息的更改,并将该缺少指示给数据中心管理组分101。
在数据中心管理组分101检测出与实例114相关联的事件后,在步骤(4)处例示另一虚拟桌面实例,诸如像虚拟桌面实例114’。该另一实例114’可在同一数据中心计算机110或不同的计算机110’上执行。该另一虚拟桌面实例114’可已经被预先配置,或可在虚拟桌面实例114上检测出故障之后开始配置。在数据中心管理组分101识别出适合于执行的数据中心计算机或虚拟桌面实例后,其发送新的公共IP地址至客户端计算装置106,以便通过新的远程计算会话重新连接至新的虚拟桌面实例。
关于客户端计算装置106的用户体验与旧的和新的虚拟桌面实例上所维护的前一桌面的外观和感受看起来几乎是无缝的。先前发送至PES平台102的数据可借助于至同一主桌面存储单元170的连接用于新的虚拟桌面实例。除此之外,因为在虚拟机器实例114内运行的代理程序收集关于先前由用户打开的应用程序的信息,所以该同一应用程序在新的虚拟桌面实例上打开。因为保存的数据包括关于用户的图形用户接口的详情,所以用户对于客户端计算装置上的应用程序流程的观点在不同的实例执行中保持大致一致。因此,新的虚拟桌面实例保存在客户端计算装置106上运行的应用程序流程,且先前发送至PES平台102的数据被恢复至新的实例。客户端计算装置106保留相同的用户体验,因为在远程计算会话的故障和重建期间,不同实例之间的用户数据被同步。
在一些实施方案中,用户可被提示重新输入用户名和口令,以便执行远程计算应用程序130。在其它实施方案中,用户名和口令可通过诸如小型文本文件或电子证书等的机制存储在数据中,且当远程计算会话被重建时,可自动加载用户名和口令。
如上面所描述,远程计算会话从一个实例到另一个实例的转移在对客户端计算装置106上的用户体验带来最短的延时和中断的情况下完成。通过为从客户端计算装置106接收的数据提供永久存储来将延时和中断降至最低。
在一些实施方案中,虚拟机器实例114可不出现故障,但主桌面存储单元170反而可能出现故障。如果存储管理器135检测出主桌面存储单元170的这种故障,那么虚拟桌面实例114与主桌面存储单元170之间的连接被分离,且虚拟桌面实例114与备用桌面存储单元170’之间的连接被建立,如步骤(4B)中所说明。
在一些实施方案中,在数据中心管理组分101处收集的数据可用于确定客户端计算装置106的状态,以便当虚拟桌面实例114与客户端计算装置106之间建立远程计算会话时进行恢复。例如,收集的数据可用于确定客户端计算装置106处的问题状态,且可确定不对该状态进行恢复。问题状态可基于当连接至客户端计算装置106时所遭遇的问题的严重性和频率进行确定。
参考图3,在与客户端计算装置或同一用户所使用的不同装置相关联的事件之后,网络化计算环境100还可用于起动PES平台102与客户端计算装置之间的远程计算会话。例如,在恢复之后,远程计算会话可将最初连接至PES平台102的客户端计算装置106的硬盘驱动器的副本提供给同一装置106或提供给由同一用户所使用的不同装置106’。
在一些实施方案中,客户端计算装置106能够在本地执行操作系统和应用程序,无需远程执行PES平台上的虚拟桌面实例114。PES平台102可用于复制存储服务器107的一个或多个上的客户端计算装置106计算环境的硬盘驱动器,并且然后使得该硬盘驱动器的副本可作为虚拟桌面实例114用于客户端计算装置106或另一客户端计算装置106’上的用户。在一些实施方案中,PES平台102可用于将用户内容和桌面配置文件复制到存储服务器107的一个或多个上的桌面存储单元170,或复制到PES存储库140,并且然后将该桌面存储单元170附接至虚拟桌面实例114,该虚拟桌面实例114可用于客户端计算装置106或106’的用户。
用户可从服务供应商计算机网络105注册一项服务,诸如像桌面恢复服务。可向订阅该服务的用户提供计算机程序,以便在其客户端计算装置上进行下载,该计算机程序诸如像桌面恢复程序330。桌面恢复程序330然后可在客户端计算装置106上运行,且如由步骤(1)所指示,可在客户端计算装置106与PES平台102之间起动会话。在会话建立之后,PES平台102可将桌面存储单元170中的一个或多个与用户相关联,如上面结合图1所描述。
继续参考图3,在桌面存储单元170与用户会话相关联之后,PES平台102可在步骤(2)处启动对客户端计算装置106的硬盘驱动器影像或关于用户和用户内容的桌面配置文件(诸如,存储在各种文件夹中的文件)的复制。对硬盘驱动器影像或关于用户和用户内容的桌面配置文件的复制可包括将客户端计算装置106的硬盘的各部分复制到PES存储库140或桌面存储单元170。在整个影像被复制的实例中,复制可要求一些时间,取决于客户端计算装置106与PES平台102之间的网络连接的带宽。在一些实施方案中,在步骤(2B)处,硬盘驱动器影像还可被复制到备用桌面存储单元170’。除此之外,在一些实施方案中,在步骤(2C)处,影像还可定期存储在PES存储库140上。
随后,借助于用户与客户端计算装置106的互动而对硬盘驱动器影像或对用户内容和桌面配置文件的各部分作出的任何更改由PES平台102进行复制,做法是通过远程计算会话保存在桌面存储单元170上。对更改的复制可基于网络连接带宽进行安排。例如,如果网络连接带宽较高,那么复制可每当客户端计算装置的文件系统将其缓冲器刷新至磁盘时发生。相反,如果网络连接带宽较低,那么可安排定期执行复制,诸如像每天一次、每周一次或按照任何其它合适的时间,或基于条件,诸如像当网络连接带宽高于给定阈值时。
如果客户端计算装置106存在故障,如由步骤(3)所指示,那么硬盘驱动器或与客户端计算装置106的用户相关联的用户内容和桌面配置文件的副本在PES平台102处可用。该故障可包括电力中断、网络断开、软件或硬件故障中的一个或多个或任何其它故障。PES平台102可使用硬盘驱动器影像的副本来配置数据中心计算机110的一个或多个上的虚拟实例114,或其可附接桌面存储单元170,在该桌面存储单元170处与用户相关联的用户内容和桌面配置文件被保存至虚拟桌面实例114,如由步骤(4)所指示。
因此,当使用新的客户端计算装置106’时,或当客户端计算装置106从故障恢复时,桌面恢复程序330和远程计算应用程序130被加载到装置106或106’上。然后,远程计算应用程序130可提示用户输入用户名和口令。在远程计算应用程序130的加载之后,在步骤(5)处,对新的远程计算会话的请求被发送至服务供应商计算机网络105的PES平台102。
在接收请求之后,PES平台102使用信息选择用户配置文件,所述信息诸如包括在请求内的用户账户标识符。用户配置文件可存储在用户配置文件存储单元108上。在示例性实施方案中,用户配置文件可包括指示实例模板的信息或与该信息相关联,根据该实例模板为用户创建实例。例如,在硬盘驱动器副本被创建的情况下,实例模板可指定先前被保存用于用户的硬盘驱动器影像被用作实例模板。远程计算会话然后可被起动,以便根据用户的硬盘驱动器影像的副本启动虚拟桌面实例,该影像先前被保存在数据中心计算机110中的一个上的桌面存储单元170的一个上。在用户内容和桌面配置文件被保存的情况下,包括用户内容和桌面配置文件的桌面存储单元170可附接至将由用户访问的虚拟桌面实例114。
参考图4,公开图1的网络化计算环境的框图,其说明PES平台102的用于适应不同用户要求的配置。如上面所描述,当客户端计算装置106响应于事件或用户请求加载远程计算应用程序130时,可启动新的远程计算会话。在远程计算应用程序130的加载之后,客户端计算装置106可请求新的远程会话。
在接收请求之后,PES平台102配置数据中心计算机110和实例114来服务该请求的新的远程会话。数据中心计算机和实例可基于一个或多个应用程序流程进行配置,所述一个或多个应用程序流程由请求和各种存储器或与存储在用户配置文件存储单元108中的这些应用程序流程相关联的处理要求识别。
例如,客户端计算装置106的与实体相关联的用户可具有与其相关联的约束条件。所述约束条件可由管理员进行设置。所述约束条件可包括例如:各用户可具有访问权限的应用程序,以及与由用户访问的不同虚拟桌面实例相关联的存储器和处理限制。例如,管理员可为独立用户设置默认实例大小。默认实例大小可例如根据用户标识符存储在与独立用户相关联的用户配置文件存储单元108中。用户配置文件存储单元108还可包括用于改变实例大小的变量,取决于由实例执行的应用程序。
在一个实施方案中,可约束用户利用低处理要求来执行应用程序,诸如仅利用电子邮件或网络浏览器。可向这种用户提供对虚拟桌面实例的访问权限,该虚拟桌面实例被分配少量的资源来支持这些应用程序。相反,可授权用户利用较高处理要求来执行应用程序,诸如利用专业绘图或图片编辑应用程序。可向这种类型的用户提供对被分配了大量资源的虚拟桌面实例的访问权限,所述大量资源足以允许用户运行应用程序。被授权用于不同用户的应用程序可保存在关于用户账户的用户配置文件中。可选地,在使用虚拟桌面实例的同时,用户可请求不同类型的应用程序。
例如,与用户或客户端计算装置相关联的处理器要求可基于多种情形进行确定。该确定可基于启动远程计算应用程序130时的用户请求。例如,可向用户呈现图形用户接口(GUI),该接口显示关于资源和应用程序的多种选项。然后用户可选择其希望具有访问权限的应用程序,或可选地选择这些应用程序的版本。例如,一个用户可能希望访问应用程序的基本版本,而另一用户可希望访问同一应用程序的专业版本。该确定还可基于关于特定用户的预选择选项,所述选项由与用户相关联的实体的管理员确定。例如,预选择选项可作为不同应用程序包的清单呈现给用户,用户可希望访问所述应用程序包。在一些情况下,可对用户的历史使用数据进行确定,PES平台102可在从用户接收到请求后进行确定。在其它情况下,对处理要求的确定可基于在远程计算会话被启动后用户对流程使用的持续监控。在这些情况下,对足够实例的选择可在会话建立之后被动态更改,且动态更改为新的实例可如以上相关于图1所描述执行。
再次参考图4,在步骤(1)处从用户接收请求且对用户配置文件存储单元108进行访问以便确定用户要求后,然后在步骤(2)处,从虚拟桌面影像存储单元109检索虚拟桌面影像,并根据用户要求进行配置。然后,定制的虚拟桌面影像被用来配置实例114。在实例114被配置之后,在步骤(3)处,PES平台确定在哪个数据中心计算机110上启动实例。例如,PES平台102可获得清单并过滤出无法提供必要资源(例如,存储器、存储空间、处理能力等)的数据中心计算机110。在数据中心计算机110被选择后,与数据中心计算机110相关联的网络信息然后可被发送至客户端计算装置106。在客户端计算装置106接收网络信息后,可起动远程计算会话。在虚拟桌面实例被配置后,PES平台102与客户端计算装置106通信,并且发送与虚拟桌面实例相关联的可公开访问的IP地址。在客户端计算装置106接收IP地址后,其向IP地址做出连接请求。然后可对用户进行认证,并且然后如果得到认证,那么向该用户提供如以上所配置的虚拟桌面的影像。
在一些实施方案中,实例代理程序114A可在步骤(4)处监控实例114所使用的CPU和存储器的空间,并且还可视需要从PES平台102寻求更多的资源。在一些实施方案中,各应用程序可标记有指示需要多少资源的信息。当实例代理程序114A检测出程序的启动时,代理程序可被配置来在表格中查找要求或向PES平台102示意应用程序已经启动,以使得PES平台102可发送信号至代理程序114A,指示需要被分配至实例114的资源。
为用户确定最佳实例可有助于实施以使用为基础的用户计费。分配有大量资源的实例可被约束。例如,这些实例可仅提供给某些授权用户,或可仅在有限的时间周期内提供给特定用户。不同实例的以使用为基础的计费可包括:对服务供应商资源的使用的低价组分和基于分配的资源的变动价格组分,以及不同资源所使用的总时间。用户对资源的使用和请求还可用于用户管理,该用户管理由与用户相关联的账户的管理员执行。例如,当用户请求超出给定阈值的资源等级时,可向管理员发送通知。
对分配至实例的资源的确定还可基于与资源的使用相关联的成本。例如,配置有给定资源等级的给定实例可被限制,以便不会使用达到这些资源使用的阈值成本金额。在另一实例中,可利用分配资源的阈值量对实例进行使用。可选地,在监控出时间阈值量闲置或指示给定会话期间的低资源利用率之后,用户对实例的访问权限可被降级为具有较低资源的实例。
管理员可提供不同的规则,以用于授权用户对虚拟桌面实例上的资源的访问。例如,所述规则可限定不同类型的用户,且用户类型可由实体存储在提供至程序执行服务(PES)平台的一组规则中。所述规则可与不同用户的登录信息(诸如,用户账户标识符)相关联,且可被存储在用户配置文件存储单元108中。当用户启动实体的客户端计算装置106上的远程计算应用程序130时,PES平台102可基于接收的登录信息根据包括在与用户账户标识符相关联的用户配置文件中的规范确定适当实例。
出于说明性实例的目的,假定可授权由实体雇用的承包商在客户端计算装置106上使用确定的应用程序流程达到一段确定的时间量。因此,实体将所需的要求指派给承包商的用户标识,如传达给PES平台102。然后,当承包商启动远程计算应用程序130时,登录指示承包商的用户标识符。此后,服务供应商针对该远程计算会话和任何后续远程计算会话确定要配置的实例和数据中心计算机与客户端计算装置106相关联。服务供应商的数据中心管理组分101监控承包商对确定流程的使用、处理等级和使用时间,并根据实体管理员的预定义条件限制使用。承包商不必在客户端计算装置106上安装任何软件应用程序,且实体不必监控承包商对任何应用程序的使用。PES平台102集中地适应双方的需要。
可使用应用程序的配置和基于预先确定的用户类型的应用程序处理要求来对实体进行计费。不同实例的以使用为基础的计费可包括:对服务供应商资源的使用的低价组分和基于处理要求的变动价格组分,以及不同处理要求所使用的总时间。可选地,当实体使得客户端计算装置106可用时,实体可从PES平台102获得多种应用程序流程的证书,且所述证书可被由实体授权的多个用户使用,且用户名与相应用户所需要的各种应用程序流程的适当允许权限相关联。
服务供应商实例的配置还可用于基于远程计算会话期间的历史请求或实例提供在不同实例上提供预先选择的应用程序流程组合。应用程序流程的组合和处理要求可配置用于例如不同类型的用户。用户类型可为例如简单的电子邮件阅读器和网络浏览器,或可为专业绘图器或图片编辑器。在一些实施方案中,与处理要求相反或除了处理要求之外,实例的配置还可基于与应用程序流程相关联的存储要求。
参考图5,公开图1的网络化计算环境的框图,其说明基于实例的资源要求对远程计算会话的调整。如图5中所说明,服务供应商计算机网络105可调整分配至实例的资源,或如果与初始实例相关联的资源要求被更改,那么可在同一或不同数据中心计算机上提供新的实例。如上面所描述,当客户端计算装置106响应于事件或用户请求加载远程计算应用程序130时,可起动新的远程计算会话。在远程计算应用程序130的加载之后,客户端计算装置106可在步骤(1)处请求新的远程会话。在接收请求之后,在步骤(2)处,PES平台102基于用户配置文件存储单元108上的用户配置文件存储单元选择数据中心计算110来服务于请求的新的远程会话,并选择要启动的适当实例。在建立会话之后,可基于在步骤(3)处由实例管理器122对客户端计算装置106的用户的实例使用进行的监控来动态地调整实例。
例如,在客户端计算装置106的用户与虚拟桌面实例互动的同时,用户可访问仅要求低处理能力和低存储器要求的应用程序。然而,在一段时间之后,用户可请求访问要求更多处理能力和更多存储器的一个或多个应用程序。在一些实施方案中,对不同要求的请求可通过用户在桌面接口上选择应用程序的图标来启动。在一些实施方案中,请求可通过用户从控制面板中的选项清单选择选项来启动。例如,选项清单可包括不同处理能力的量和存储器空间的浮动计算法。在任一种情况下,实例管理器122在步骤(4)处确定对不同配置的实例114的需要。
PES平台102可动态地调整分配至虚拟桌面实例的资源量,以便适应更多处理能力和存储器。在一些实施方案中,在步骤(5)处,调整可要求在同一或不同数据中心计算机上重新启动实例。虚拟桌面实例的重新启动可包括:结束正在运行的实例;将桌面存储单元与实例去关联;选择数据中心计算机来启动新的实例;在选择的数据中心计算机上例示新的实例;以及将桌面存储单元与新的实例相关联。在实例被例示后,可通过登录提示向用户提供对其的访问权限。
在其它实施方案中,调整可包括在不结束实例的情况下添加额外资源至虚拟桌面实例。例如,实例管理器可添加另一处理器或存储器至执行桌面实例等的虚拟机器。在一些实施方案中,处理器可通过热添加CPU至虚拟桌面实例而被添加至虚拟桌面实例。可通过添加新的硬件至数据中心计算机、逻辑地执行在线硬件分区或实质上通过虚拟层对CPU进行热添加。在CPU被添加之后,数据中心计算机110不必自动起动,而是可简单地重新配置,以便将新的CPU识别为可用资源。在一些实施方案中,存储器可通过热添加存储器至虚拟桌面实例而被添加至虚拟桌面实例。可通过以下方式来实施热添加存储器至数据中心计算机110:确保用于添加实体存储器至操作系统实例的机构在无需任何操作系统停机时间或任何系统带电操作的情况下得到支持。
图6为说明图1的当虚拟桌面实例的操作从远程网络化环境过渡为本地网络化环境时的计算环境的框图。在一些实施方案中,在PES平台102与客户端计算装置106之间建立的远程计算会话可因为网络断开或故障而丢失。例如,客户端计算装置106的用户可去往未得到网络104服务的区域。为了适应这些断开,PES平台102与客户端计算装置之间的远程计算会话可用于从数据中心计算传递信息至客户端计算装置106,以便为客户端计算装置106配备必要的组分,以用于过渡为本地执行的虚拟实例副本,该副本先前在PES平台上执行。
例如,客户端计算装置106可通过网络104连接至PES平台102,且装置106可在用户登上飞机之前从网络104断开。在从网络104断开之前,任选地在提示用户进行批准之后,可向客户端计算装置106提供操作系统的影像,诸如存储在虚拟桌面影像存储单元109上的影像。因为客户端计算装置106可具有与数据中心计算机110不同的处理能力或存储器配置,所以被适应用于客户端计算装置的操作系统影像可具有对应的能力和存储器配置。还可利用最新保存版本的数据对客户端计算装置106进行改编,所述数据具有桌面存储单元的副本。最后,客户端计算装置106还可从服务供应商计算机网络105接收虚拟桌面监控模块601,以便基于所提供的操作系统影像启动实例114’,并将实例114’附接至桌面存储单元170’的本地副本。此后,当客户端计算装置106从网络104断开时,用户可继续使用装置,且实例在客户端计算装置106上本地执行。然后,客户端计算装置106在飞机上时可执行数据和实例的改编版本。
在另一实施方案中,可在无需与PES平台102连接的情况下向客户端计算装置106提供操作系统、实例管理器和虚拟桌面监控模块601的影像副本。例如,实体的信息技术(IT)部门可利用适当影像和模块对实体的计算装置106进行配置。当与PES平台102连接时,且在从其断开之前,任选地在提示进行批准之后,可向客户端计算装置106提供最新保存版本的数据,所述数据具有桌面存储单元的副本。然后,虚拟桌面监控模块601可基于操作系统的影像启动实例114’,且可将实例114’附接至桌面存储单元170’的本地副本。此后,当客户端计算装置106从网络104断开时,用户可继续使用装置,且实例在客户端计算装置106上本地执行。然后,客户端计算装置106在飞机上时可执行数据和实例的改编版本。
然后,当客户端计算装置106的用户返回在服务供应商的网络内的区域时(例如,在其目的城市下飞机),PES平台102重新建立与客户端计算装置106的远程计算会话,且用户的所有数据被同步,且用户对应用程序流程的使用中断因此被降至最低。
虚拟实例的操作从远程网络环境过渡至本地网络环境的流程中所涉及的步骤在图6中示出。在步骤(1)处,起动客户端计算装置106与PES平台102之间的远程会话。如上面所讨论,对用户配置文件存储单元进行访问,并为用户配置适当实例。在实例的配置之后,选择数据中心计算机110以便启动虚拟实例桌面,并向用户提供对数据中心计算机110上的虚拟桌面实例114的访问权限。
然后,在步骤(2)处,在用户在远程会话中访问虚拟桌面实例的同时,用户对桌面配置文件和用户内容的更改存储在桌面存储单元170处。在步骤(3)处,在一些实施方案中,客户端计算装置106可向PES平台102指示网络连接将会丢失。当出现该指示时,或出于同步目的,PES平台102在步骤(4)处提供桌面存储单元170的副本170’、由实例114执行的操作系统的影像副本以及实例管理器122的副本122’至客户端计算装置106,以使得当PES平台102无可用的网络连接时,实例114’在客户端计算装置106上本地执行。如上面所描述,在一些实施方案中,操作系统的影像、实例管理器和虚拟监控模块601可已经安装在客户端计算装置106上,且PES平台将仅提供桌面存储单元170的副本170’。
在实例114’可在客户端计算装置106上使用后,其在本地执行,且对用户和用户内容的桌面配置文件做出的所有更改存储在桌面存储单元170’的本地副本上。然后,当在步骤(5)处PES平台102重新建立网络连接时,从客户端计算装置106的远程计算应用程序130请求远程计算会话。如上面所述,在步骤(6A)处,用户的用户配置文件被用于例示数据中心计算机110上的虚拟桌面实例114;且在步骤(6B)处,当客户端计算装置106连接至PES平台时,桌面存储单元的副本170’被保存至存储服务器107。然后,在步骤(7A)处,对桌面存储单元的副本170’做出的更改被同步至与用户相关联的主桌面存储单元170;且在步骤(7B)处,在远程会话流程中与虚拟实例114互动的同时从用户接收的进一步更改也被保存至主桌面存储单元170。
图7为说明例程的流程图,该例程关于提供无缝远程计算会话的流程,以及实例在PES平台102处发生的事件之后持续客户端计算装置106与PES平台102之间的用户数据。例程700在块702处开始。在块704处,PES平台102从在系统中的数据中心计算机上运行的各种实例接收状态信息。可定期或当实例处发生预先确定的事件时从实例接收状态信息。各接收之间的时间期限可近似几毫秒、几秒、几分钟或不同的持续时间。预先确定的事件可与实例的健康、实例的网络连接性的健康等有关。在例程700的持续时间期间,PES平台102持续接收状态信息。
在块706处,PES平台102从客户端计算装置接收关于新的远程计算会话的请求。在块708处,PES平台102选择分配至实例的影像和资源量,该实例使用该影像生成。在各种实施方案中,适当实例可基于包括在与客户端计算装置的用户相关联的用户配置文件存储单元中的信息,请求从客户端计算装置接收。在选择实例后,可选择适当的数据中心计算机来托管实例,且在块710处,PES平台102起动实例与客户端计算装置之间的远程计算会话。在块712处,PES平台为该用户将特定数据存储单元附接至实例。
在远程计算会话建立的同时,在块714处,由用户在PES平台102处与虚拟桌面实例的互动创建的数据然后被保存至选择的桌面存储单元。在一些实施方案中,PES平台102可另外将接收的数据复制到第二桌面存储单元上。在一些实施方案中,PES平台102可定期传递数据至中央PES存储库,以便释放桌面存储单元上的存储空间。然后,在块716处,PES平台102检测出远程计算会话流程中涉及的实例故障。在一个实施方案中,PES平台102可基于从实例接收的状态信息或可选地基于未从实例接收这些状态信息来识别故障。
在块716处检测出实例故障之后,在块718处,PES平台102促使数据可用于第二虚拟桌面实例。可通过以下方式来使得数据可用于第二虚拟桌面实例:将数据同步,或通过去除桌面存储单元与初始实例之间的关联性,以及将桌面存储单元与新的实例相关联。在数据已经可用于第二虚拟桌面实例后,然后例程移至块720。在一些实施方案中,PES平台102的虚拟桌面实例可根据用户配置文件进行预配置。在这些实施方案中,当在块716处检测出故障时,然后PES平台102识别出已经利用所需的用户配置文件进行预配置的另一实例。可选地,在块716处,可在检测出故障之后对实例进行配置。然后,在块720处,在新的实例被识别的情况下,所需要的IP地址信息被传达给客户端计算装置,且远程计算会话被重建。例程700在块722处结束。
图8为说明例程的流程图,该例程关于在服务供应商与客户端计算装置之间使用远程计算会话以便在客户端计算装置出现故障之后恢复硬盘驱动器的影像。在块804处,出于提供桌面恢复服务的目的,可在客户端计算装置与PES平台之间建立远程计算会话。在会话建立后,在块806处,PES平台可存储客户端计算装置硬盘驱动器的影像。在一些实施方案中,除了可本地运行远程计算应用程序之外,客户端计算装置还可本地运行操作系统和应用程序。在这些实施方案中,客户端计算装置具有本地硬盘驱动器影像,该影像包括与操作系统及在其上执行的应用程序相关联的所有处理和配置信息。在一些实施方案中,远程计算会话可用于复制客户端计算装置的硬盘驱动器的影像。影像的存储可花费一段时间,取决于客户端计算装置与PES平台102之间的网络连接带宽。硬盘驱动器影像的存储还可包括客户端计算装置的用户对硬盘驱动器做出的更改的复制。可定期或根据网络带宽的可用性对做出的更改进行复制。类似地,在一些实施方案中,PES平台可存储关于用户的用户内容(例如,文件夹和文件,以及存储在其中的其它文件夹)和桌面配置文件设置(例如,背景图片、屏幕保护程序、桌面上的文件夹和文件布局等),而不是存储客户端计算装置的硬盘驱动器的影像。
然后,在块808处,可检测出客户端计算装置的故障。客户端计算装置的故障可由于电力中断、网络断开、软件或硬件故障或促使远程会话被断开的任何其它故障。硬盘驱动器的影像和对硬盘驱动器的所有更改在PES平台处可用。
因此,当客户端计算装置的用户利用新的客户端计算装置,或使用该同一装置重新连接至桌面恢复服务时,关于新的远程会话的请求被发送至PES平台102。当接收到请求时,在块810处,PES平台根据从用户配置文件存储单元检索的用户标识符利用存储的且与用户相关联的硬盘驱动器影像配置虚拟桌面实例。然后,在块812处,且PES平台102建立与用户的计算装置的远程计算会话。在远程计算会话建立后,PES平台102允许用户基于存储的硬盘驱动器访问实例,或可选地向用户提供对保存用于用户的用户内容和桌面配置文件的访问权限。例程800在块816处结束。
图9为说明例程的流程图,该例程关于基于与远程计算会话的用户相关联的流程要求对虚拟桌面实例进行配置。如上面所描述,当客户端计算装置响应于事件或用户请求加载远程计算应用程序时,可例示新的远程计算会话。在远程计算应用程序的加载之后,客户端计算装置可请求新的远程计算会话。
例程900在块902处开始。在块904处,从客户端计算装置接收关于远程计算会话的请求。在块906处,基于根据包括在请求中的用户登录确定的用户标识符,PES平台102确定与用户相关联的存储在用户配置文件存储单元上的用户配置文件。然后,在块908处,根据用户配置文件确定将提供给用户的关于实例的处理要求。然后,在块910处,PES平台102从虚拟影像存储单元获得虚拟桌面影像模板。例如,用户配置文件可指示用户已经被分配“优质”实例,这指示用户将被分配具有大量资源(存储器、CPU内核、网络带宽、GPU代码等)和优质应用程序集合的实例。回到块912,可选择数据中心计算机系统来托管虚拟桌面实例,且实例模板可发送至选择的计算机系统。计算机系统上的实例管理器可启动虚拟桌面实例。用户配置文件可包括由实体的管理员建立的针对实例要求的约束条件。接着,在块914处,在适当实例已经被配置(例如,将数据存储单元附接至该实例)后,在实例与客户端计算装置之间建立远程计算会话。例程900在块916处结束。
图10为说明例程的流程图,该例程关于用于适应流程要求中的更改的远程计算会话的配置。如上面所描述,当客户端计算装置响应于事件或用户请求加载远程计算应用程序时,可例示新的远程计算会话。在远程计算应用程序的加载之后,客户端计算装置可请求新的远程计算会话。例程1000在块1002处开始。在块1004处,当从客户端计算装置接收请求时,PES平台102基于客户端计算装置的用户的用户配置文件确定关于客户端计算装置的处理要求。PES平台102选择数据中心计算机来服务于请求的新的远程会话。
例如,希望或被授权利用低处理要求执行应用程序(诸如,电子邮件程序或网络浏览器)的客户端计算装置的用户可与仅提供了低处理能力功能(例如,1或2个CPU内核和10亿字节的RAM)和仅提供了这些应用程序的虚拟桌面实例相关联。也就是说,用户配置文件可指示用户将被分配“小型”实例;或用户配置文件可指示用户最初将被分配“小型”实例,该实例可基于用户如何使用实例动态地发展。相反,希望或被授权利用较高处理要求执行应用程序(诸如,专业绘图或图片编辑应用程序)的客户端计算装置的用户可与提供了高处理能力功能(例如,4或8个CPU内核和160亿字节的RAM)和这些应用程序的不同虚拟桌面实例相关联。类似地,用户配置文件可指示用户最初将被分配“优质”实例,该实例可基于用户如何使用实例而收缩。与用户或客户端计算装置相关联的处理要求可基于多种因素进行确定。该确定可基于启动远程计算应用程序时的用户请求。该确定还可基于关于特定用户的预选择选项,如当启动远程计算应用程序时发送的数据中所指示。
在PES平台102确定客户端计算装置请求所需要的处理要求后,然后在块1006处,在虚拟桌面实例与客户端计算装置之间建立远程计算会话。在建立会话之后,可基于在块1008处由客户端计算装置的用户对实例使用进行监控来动态地调整实例。
例如,可基于用户配置文件为初始虚拟桌面实例提供低资源。然而,在一段时间之后,用户可请求利用更多的资源来访问虚拟桌面实例以便执行特定任务,诸如在数据库上执行操作。在一些实施方案中,对不同要求的请求可通过用户在桌面接口上选择应用程序的图标来启动。在一些实施方案中,请求可通过用户从控制面板中的选项清单选择选项来启动。例如,选项清单可包括不同处理能力的量和存储器空间的浮动计算法。
PES平台102可动态地调整分配至虚拟桌面实例的资源量,以便适应更多处理能力和存储器。在一些实施方案中,调整可要求在同一或不同数据中心计算机上重新启动实例。虚拟桌面实例的重新启动可包括:结束正在运行的实例;将桌面存储单元与实例去关联;选择数据中心计算机来启动新的实例;在选择的数据中心计算机上例示新的实例;以及将桌面存储单元与新的实例相关联。在实例被例示后,可通过登录提示向用户提供对其的访问权限。
在其它实施方案中,调整可包括在不结束实例的情况下添加额外资源至虚拟桌面实例。例如,实例管理器可添加另一处理器至虚拟桌面实例,添加存储器至虚拟桌面实例等。例程1000在块1010处结束。
图11为说明例程的流程图,该例程关于客户端计算装置和服务供应商的操作在远程环境与本地环境之间的过渡。例程在1102处开始。在块1104处,在虚拟桌面实例与客户端计算装置之间建立远程计算会话。会话可基于与客户端计算装置的用户相关联的用户配置文件建立,如上面所描述。另外,桌面存储单元与用户的实例相关联。在会话建立之后,在块1106处,PES平台102将由用户与客户端计算装置上的实例的互动而创建的数据存储在桌面存储单元上。然后,在判定块1108处,PES平台102确定客户端计算装置与PES平台102之间是否规划了网络连接丢失。例如,客户端计算装置的用户可准备登上飞机,且用户可指示即将发生的网络断开。
在未预期到这种断开的同时,在块1106处,PES平台102继续从用户在客户端计算装置处的互动接收数据,并存储该数据。然而,如果在块1108处,PES平台102确定网络连接将会丢失,那么例程移至块1110,且PES平台102将用于生成虚拟桌面实例的影像(例如,OS和安装的应用程序的影像)的副本复制到客户端计算装置上,并且还将桌面存储单元的副本复制到客户端计算装置上。在一些实施方案中,其可要求大量时间来复制用于例示虚拟桌面实例的影像。因此,用户可需要进行相应规划。在可选实施方案中,客户端计算装置可被提供用于生成虚拟桌面实例的影像,或可在用户将需要输入断开模式之前的某一时间接收影像的副本。在该实施方案中,当PES平台102确定网络连接将丢失时,PES平台102可促使桌面存储单元被发送至客户端计算装置。在此处,PES平台102可不必将桌面存储单元中的所有内容发送至客户端计算装置;而是,PES平台102可发送PES平台102最后一次与客户端计算装置同步以来的更改。例如,本地实例管理器可维持时间戳以及更改日志,该时间戳指示最后一次进行更改的时间,该更改日志指示本地桌面存储单元中的哪些块已经被更改,且PES平台102可维持关于桌面存储单元的时间戳和更改日志。PES平台102和本地实例管理器可确定差异并进行同步。在可选实施方案中,更改日志可维持在文件系统级,而不是块级。例如,实例中的代理程序可记录更改。在该配置中,更改的文件和设置而不是块可被同步。在一些实施方案中,可利用在数据中心计算机上执行的低功率、能源不太密集型版本的实例对客户端计算装置进行改编。
此后,当客户端计算装置106从网络104断开时,用户可从本地存储的影像运行本地虚拟桌面实例并附接本地数据存储单元。在此处,对桌面配置文件和用户内容的更改存储在桌面存储单元的本地副本上。然后,当PES平台102重建网络连接时,诸如像当客户端计算装置106的用户返回至具有至服务供应商的网络的网络连接性的区域时(例如,在其目的城市下飞机),从客户端计算装置接收到远程计算会话请求,且本地桌面存储单元与桌面存储单元同步,如由块1112所示出。在特定实例中,同步化操作可当用户试图起动PES平台102中的虚拟桌面实例时发生。当客户端计算装置106连接至PES平台102时,桌面存储单元170的副本被保存至PES平台102的存储服务器107。对桌面存储单元170的副本做出的更改被同步至与用户相关联的主桌面存储单元1400;且在远程会话流程中与虚拟实例互动的同时从用户接收的进一步更改也被保存至主桌面存储单元170。例程1100在块1114处结束。
可鉴于以下条款描述本公开的实施方案:
1.一种系统,其包括:
程序执行服务(PES)的一个或多个计算机,所述一个或多个计算机包括处理器和存储器,所述存储器包括指令,当执行时所述指令促使所述一个或多个计算机:
从计算装置接收关于虚拟桌面实例的请求,所述请求识别出所述计算装置的用户;以及
识别对应于所述请求的虚拟桌面实例,所述虚拟桌面实例与托管计算机系统相关联,所述托管计算机系统包括一个或多个处理器和存储器,所述存储器包括指令,当执行时所述指令促使所述托管计算机系统:
通过网络将第一桌面存储单元附接至所述虚拟桌面实例,所述第一桌面存储单元包括关于所述用户的桌面配置文件和包括用户内容的一个或多个文件夹;
向所述计算装置提供对所述虚拟桌面实例的访问权限,所述虚拟桌面实例根据关于所述用户的所述桌面配置文件定制,且被配置来将对用户内容的更改存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹;以及
将所述虚拟桌面实例对所述用户内容做出的更改写入存储在所述第一桌面存储单元中的所述一个或多个文件夹,
其中存储在所述第一桌面存储单元中的所述一个或多个文件夹中的所述用户内容被复制到第二桌面存储单元。
2.如条款1所述的系统,其中所述第一桌面存储单元存储在第一服务器上,且所述第二桌面存储单元存储在第二服务器上。
3.如条款1所述的系统,其中所述PES的所述一个或多个计算机包括托管所述第一桌面存储单元的存储服务器,且其中所述存储服务器被配置来响应于请求生成所述第一桌面存储单元的屏幕截图。
4.如条款1所述的系统,其中当执行时所述指令还促使所述托管计算机系统定期地创建所述第一桌面存储单元和所述第二桌面存储单元的屏幕截图。
5.如条款1所述的系统,其中所述第一桌面存储单元和所述第二桌面存储单元独立于彼此分别存储在定位在网络中的服务器上。
6.一种计算机实施方法,其包括:
从计算装置接收关于虚拟桌面实例的请求,所述请求识别出所述计算装置的用户;
识别对应于所述请求的第一虚拟桌面实例;
通过网络将第一桌面存储单元附接至所述第一虚拟桌面实例,所述第一桌面存储单元包括关于所述用户的桌面配置文件和包括用户内容的一个或多个文件夹;
向所述计算装置提供对所述第一虚拟桌面实例的访问权限,所述第一虚拟桌面实例根据关于所述用户的所述桌面配置文件定制,且被配置来将对用户内容的更改存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹;以及
将所述第一虚拟桌面实例对所述用户内容做出的更改写入存储在所述第一桌面存储单元中的所述一个或多个文件夹。
7.如条款6所述的计算机实施方法,其还包括:
确定与所述第一虚拟桌面实例有关的事件;
识别对应于所述请求的第二虚拟桌面实例;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;
将所述第一桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述计算装置提供对所述第二虚拟桌面实例的访问权限。
8.如条款6所述的计算机实施方法,其中存储在所述第一桌面存储单元中的所述一个或多个文件夹中的所述用户内容被复制到第二桌面存储单元。
9.如条款8所述的计算机实施方法,其中到存储在所述第一桌面存储单元中的所述一个或多个文件夹的,由所述第一虚拟桌面实例对的所述用户内容做出的所述更改被复制到所述第二桌面存储单元。
10.如条款9所述的计算机实施方法,其还包括:
确定与所述第一桌面存储单元有关的事件;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;以及
将所述第二桌面存储单元附接至所述第一虚拟桌面实例。
11.如条款10所述的计算机实施方法,其还包括:
确定与所述第一虚拟桌面实例有关的事件;
识别对应于所述请求的第二虚拟桌面实例;
将所述第二桌面存储单元从所述第一虚拟桌面实例分离;
将所述第二桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述计算装置提供对所述第二虚拟桌面实例的访问权限。
12.如条款9所述的计算机实施方法,其还包括:
确定与所述第一虚拟桌面实例有关的事件;
识别对应于所述请求的第二虚拟桌面实例;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;
将所述第一桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述计算装置提供对所述第二虚拟桌面实例的访问权限。
13.如条款12所述的计算机实施方法,其还包括:
确定与所述第一桌面存储单元有关的事件;
将所述第一桌面存储单元从所述第二虚拟桌面实例分离;以及
将所述第二桌面存储单元附接至所述第二虚拟桌面实例。
14.如条款6所述的计算机实施方法,其中所述第一桌面存储单元的屏幕截图被定期地保存至存储服务器。
15.一种非暂时性实体计算机存储器,其包括计算机可执行指令,当被执行时,所述指令引导计算系统来至少:
从客户端接收关于虚拟桌面实例的请求,所述请求识别出所述客户端的用户;以及
识别对应于所述请求的第一虚拟桌面实例,所述第一虚拟桌面实例与托管计算机系统相关联,所述托管计算机系统包括一个或多个处理器和存储器,所述存储器包括指令,当执行时,所述指令促使所述托管计算机系统:
通过网络将第一桌面存储单元附接至所述第一虚拟桌面实例,所述第一桌面存储单元包括关于所述用户的桌面配置文件和包括用户内容的一个或多个文件夹;
向所述客户端提供对所述第一虚拟桌面实例的访问权限,所述第一虚拟桌面实例根据关于所述用户的所述桌面配置文件定制,且被配置来将对用户内容的更改存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹;以及
将所述第一虚拟桌面实例对所述用户内容做出的更改写入存储在所述第一桌面存储单元中的所述一个或多个文件夹。
16.如条款15所述的非暂时性实体计算机存储器,其中存储在所述第一桌面存储单元中的所述一个或多个文件夹中的所述用户内容被复制到第二桌面存储单元。
17.如条款16所述的非暂时性实体计算机存储器,其中到存储在所述第一桌面存储单元中的所述一个或多个文件夹中的,由所述第一虚拟桌面实例对所述用户内容做出的所述更改被复制到所述第二桌面存储单元。
18.如条款15所述的非暂时性实体计算机存储器,其中所述第一桌面存储单元的屏幕截图被定期地保存至存储服务器。
19.如条款15所述的非暂时性实体计算机存储器,其中当被执行时,所述计算机可执行指令还引导所述计算系统:
确定与所述第一虚拟桌面实例有关的中断;
识别对应于所述请求的第二虚拟桌面实例;
将所述第一桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述客户端提供对所述第二虚拟桌面实例的访问权限。
20.如条款19所述的非暂时性实体计算机存储器,其中当被执行时,所述计算机可执行指令还引导所述计算系统来将所述第一桌面存储单元从所述第一虚拟桌面实例分离。
虽然已经公开和讨论说明性实施方案,但是本领域技术人员应了解,可在本发明的精神和范围内实施额外或可选实施方案。例如,可在不脱离本发明的范围的情况下利用本文所描述的技术,以便允许对任意数量的其它软件应用程序和流程的远程处理管理,所述其它应用程序和流程包括但不限于:影像或视频编辑软件、数据库软件、办公室生产性软件、3d设计软件、音频和声音处理应用程序等。另外,虽然已经指示许多实施方案为说明性的,但是相关领域技术人员应了解,说明性实施方案不必组合或一起实施。为此,一些说明性实施方案不必根据本公开的变化的范围被利用或实施。
所使用的尤其诸如“可能”的条件性语言一般意在表达某些实施方案包括而其它实施方案不包括某些特征、元素和/或步骤,除非另有明确规定或在上下文内另外进行理解。因此,这种条件性语言一般并非意在暗示特征、元素和/或步骤无论如何都是一个或多个实施方案所必需的,或者一个或多个实施方案无论有或没有用户输入或提示都必然包括用于决定任何特定实施方案中是否包括或将执行这些特征、元素和/或步骤的逻辑。
应将本文中所描述的和/或在附图中所绘示的流程图中的任何流程描述、元素或块理解为可能代表模块、分段或代码的包括用于实施所述流程中的特定逻辑功能或步骤的一个或多个可执行指令的部分。可选实现方式包括在本文所描述的实施方案的范围内,其中可以按不同于所示出的或所讨论的顺序的顺序来删除或执行元素或功能,所述顺序包括大致上同时或者逆序,这取决于所涉及的功能,本领域技术人员将理解这些说明。应进一步了解,以上所描述的数据和/或组分可被存储在计算机可读介质上并使用与计算机可读介质相关联的驱动机构加载到计算装置的存储器中,可存储在诸如CD-ROM、DVD-ROM的任意数量的计算机可执行组分中,或借助于网络接口进行提供或获得;另外,组分和/或数据可包括在单个装置中或以任何其它方式进行分布。因此,通用计算装置可被配置来实施本公开的流程、算法和方法论,其中各种数据和/或组分的处理和/或执行如上所述。
应强调的是,可对上述实施方案做出许多变化和修改,所述实施方案的元素将被理解成包括在其它可接受的实例中。在本文中,所有这些修改和变化意在包括在本公开和由以下权利要求所保护的范围内。

Claims (13)

1.一种计算机实施方法,其包括:
从计算装置接收关于虚拟桌面实例的请求,所述请求识别出所述计算装置的用户;
识别对应于所述请求的第一虚拟桌面实例;
通过网络将第一桌面存储单元附接至所述第一虚拟桌面实例,所述第一桌面存储单元包括关于所述用户的桌面配置文件和包括用户内容的一个或多个文件夹;
向所述计算装置提供对所述第一虚拟桌面实例的访问权限,所述第一虚拟桌面实例根据关于所述用户的所述桌面配置文件定制,且被配置来将对用户内容的更改存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹;
将所述第一虚拟桌面实例对所述用户内容做出的更改写入存储在所述第一桌面存储单元中的所述一个或多个文件夹;
确定与所述第一桌面存储单元有关的事件;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;以及
将第二桌面存储单元附接至所述第一虚拟桌面实例,
其中存储在所述第一桌面存储单元中的所述一个或多个文件夹中的所述用户内容被复制到第二桌面存储单元。
2.如权利要求1所述的计算机实施方法,其还包括:
确定与所述第一虚拟桌面实例有关的事件;
识别对应于所述请求的第二虚拟桌面实例;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;
将所述第一桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述计算装置提供对所述第二虚拟桌面实例的访问权限。
3.如权利要求1所述的计算机实施方法,其中存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹的,由所述第一虚拟桌面实例对所述用户内容做出的所述更改被复制到所述第二桌面存储单元。
4.如权利要求1所述的计算机实施方法,其还包括:
确定与所述第一虚拟桌面实例有关的事件;
识别对应于所述请求的第二虚拟桌面实例;
将所述第二桌面存储单元从所述第一虚拟桌面实例分离;
将所述第二桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述计算装置提供对所述第二虚拟桌面实例的访问权限。
5.如权利要求3所述的计算机实施方法,其还包括:
确定与所述第一虚拟桌面实例有关的事件;
识别对应于所述请求的第二虚拟桌面实例;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;
将所述第一桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述计算装置提供对所述第二虚拟桌面实例的访问权限。
6.如权利要求5所述的计算机实施方法,其还包括:
确定与所述第一桌面存储单元有关的事件;
将所述第一桌面存储单元从所述第二虚拟桌面实例分离;以及
将所述第二桌面存储单元附接至所述第二虚拟桌面实例。
7.如权利要求1所述的计算机实施方法,其中所述第一桌面存储单元的屏幕截图被定期地保存至存储服务器。
8.一种管理计算会话的系统,其包括:
一个或多个计算机,其具有处理器和存储器,其中所述处理器对计算机可执行指令的执行促使所述一个或多个计算机:
从客户端接收关于虚拟桌面实例的请求,所述请求识别出所述客户端的用户;
识别对应于所述请求的第一虚拟桌面实例;
通过网络将第一桌面存储单元附接至所述第一虚拟桌面实例,所述第一桌面存储单元包括关于所述用户的桌面配置文件和包括用户内容的一个或多个文件夹;
向所述客户端提供对所述第一虚拟桌面实例的访问权限,所述第一虚拟桌面实例根据关于所述用户的所述桌面配置文件定制,且被配置来将对用户内容的更改存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹;
将所述第一虚拟桌面实例对所述用户内容做出的更改写入存储在所述第一桌面存储单元中的所述一个或多个文件夹;
确定与所述第一桌面存储单元有关的事件;
将所述第一桌面存储单元从所述第一虚拟桌面实例分离;以及
将第二桌面存储单元附接至所述第一虚拟桌面实例,
其中存储在所述第一桌面存储单元中的所述一个或多个文件夹中的所述用户内容被复制到第二桌面存储单元。
9.如权利要求8所述的管理计算会话的系统,其中存储在所述第一桌面存储单元中的所述一个或多个文件夹中的用户内容被复制到第二桌面存储单元。
10.如权利要求9所述的管理计算会话的系统,其中存储至存储在所述第一桌面存储单元中的所述一个或多个文件夹的,由所述第一虚拟桌面实例对所述用户内容做出的所述更改被复制到所述第二桌面存储单元。
11.如权利要求8所述的管理计算会话的系统,其中所述第一桌面存储单元的屏幕截图被定期地保存至存储服务器。
12.如权利要求8所述的管理计算会话的系统,其中所述计算机可执行指令还促使所述一个或多个计算机:
确定与所述第一虚拟桌面实例有关的中断;
识别对应于所述请求的第二虚拟桌面实例;
将所述第一桌面存储单元附接至所述第二虚拟桌面实例;以及
向所述客户端提供对所述第二虚拟桌面实例的访问权限。
13.如权利要求12所述的管理计算会话的系统,其中所述计算机可执行指令的执行还促使所述一个或多个计算机:
将所述第一桌面存储单元从所述第一虚拟桌面实例分离。
CN201480042455.8A 2013-06-26 2014-06-25 计算会话的管理 Active CN105637481B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/928,283 2013-06-26
US13/928,283 US20150019728A1 (en) 2013-06-26 2013-06-26 Management of computing sessions
PCT/US2014/044131 WO2014210181A1 (en) 2013-06-26 2014-06-25 Management of computing sessions

Publications (2)

Publication Number Publication Date
CN105637481A CN105637481A (zh) 2016-06-01
CN105637481B true CN105637481B (zh) 2019-12-03

Family

ID=52142654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480042455.8A Active CN105637481B (zh) 2013-06-26 2014-06-25 计算会话的管理

Country Status (9)

Country Link
US (1) US20150019728A1 (zh)
EP (1) EP3014431B1 (zh)
JP (1) JP6182265B2 (zh)
KR (1) KR101828338B1 (zh)
CN (1) CN105637481B (zh)
AU (3) AU2014302480A1 (zh)
CA (1) CA2916386C (zh)
SG (1) SG11201510429TA (zh)
WO (1) WO2014210181A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240031443A1 (en) * 2022-07-20 2024-01-25 Bentley Systems, Incorporated Workspace databases

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US9864874B1 (en) 2014-05-21 2018-01-09 Amazon Technologies, Inc. Management of encrypted data storage
US20160306531A1 (en) * 2015-04-16 2016-10-20 Microsoft Technology Licensing, Llc Dynamic Launch Behavior Based on Context Information
US10268493B2 (en) 2015-09-22 2019-04-23 Amazon Technologies, Inc. Connection-based resource management for virtual desktop instances
US10037221B2 (en) 2015-12-28 2018-07-31 Amazon Technologies, Inc. Management of virtual desktop instance pools
US10063666B2 (en) 2016-06-14 2018-08-28 Futurewei Technologies, Inc. Modular telecommunication edge cloud system
KR102568985B1 (ko) * 2016-06-22 2023-08-23 한국전자통신연구원 오프라인 가상 데스크탑 제공 장치, 오프라인 가상 데스크탑 단말 및 오프라인 가상 데스크탑 제공 방법
US20180041578A1 (en) * 2016-08-08 2018-02-08 Futurewei Technologies, Inc. Inter-Telecommunications Edge Cloud Protocols
US10860342B2 (en) * 2017-01-30 2020-12-08 Citrix Systems, Inc. Computer system providing cloud-based session prelaunch features and related methods
KR102314221B1 (ko) * 2019-02-28 2021-10-15 에스케이브로드밴드주식회사 특정 시점의 환경을 제공할 수 있는 가상 데스크톱 시스템 및 그 데이터 처리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001989A (zh) * 2011-09-16 2013-03-27 中兴通讯股份有限公司 参数接收方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392541B2 (en) * 2001-05-17 2008-06-24 Vir2Us, Inc. Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US7953833B2 (en) * 2008-01-31 2011-05-31 Wanova Technologies Ltd. Desktop delivery for a distributed enterprise
US8352482B2 (en) * 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
JP2011060055A (ja) * 2009-09-11 2011-03-24 Fujitsu Ltd 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
WO2012020482A1 (ja) 2010-08-11 2012-02-16 富士通株式会社 バックアップ方法、情報処理装置及びプログラム
US20120066679A1 (en) * 2010-09-13 2012-03-15 Startforce, Inc. Disposable virtual desktop for transient use by multiple users
US8812687B2 (en) * 2011-09-15 2014-08-19 Microsoft Corporation Managing user state of cloud desktops
US20130219043A1 (en) * 2012-02-20 2013-08-22 Moritz M. Steiner Method and apparatus for automatic migration of application service
US9110604B2 (en) * 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US9740563B2 (en) * 2013-05-24 2017-08-22 International Business Machines Corporation Controlling software processes that are subject to communications restrictions by freezing and thawing a computational process in a virtual machine from writing data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001989A (zh) * 2011-09-16 2013-03-27 中兴通讯股份有限公司 参数接收方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240031443A1 (en) * 2022-07-20 2024-01-25 Bentley Systems, Incorporated Workspace databases

Also Published As

Publication number Publication date
AU2019268151A1 (en) 2019-12-12
AU2017232147A1 (en) 2017-10-12
EP3014431A1 (en) 2016-05-04
JP6182265B2 (ja) 2017-08-16
KR20160045677A (ko) 2016-04-27
US20150019728A1 (en) 2015-01-15
AU2014302480A1 (en) 2016-01-21
CA2916386A1 (en) 2014-12-31
EP3014431B1 (en) 2022-04-20
CN105637481A (zh) 2016-06-01
EP3014431A4 (en) 2017-03-08
JP2016525244A (ja) 2016-08-22
CA2916386C (en) 2017-10-17
SG11201510429TA (en) 2016-01-28
KR101828338B1 (ko) 2018-03-22
WO2014210181A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
CN105637481B (zh) 计算会话的管理
CN105579960B (zh) 计算会话的管理
JP6630792B2 (ja) コンピューティングセッションの管理
US20150006614A1 (en) Management of computing sessions
JP6251390B2 (ja) コンピューティングセッションの管理
US10924542B2 (en) Content delivery system
US10686646B1 (en) Management of computing sessions

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