CN105579960B - 计算会话的管理 - Google Patents
计算会话的管理 Download PDFInfo
- Publication number
- CN105579960B CN105579960B CN201480042457.7A CN201480042457A CN105579960B CN 105579960 B CN105579960 B CN 105579960B CN 201480042457 A CN201480042457 A CN 201480042457A CN 105579960 B CN105579960 B CN 105579960B
- Authority
- CN
- China
- Prior art keywords
- user
- virtual desktop
- desktop
- computing device
- client computing
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
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是示出包括经由通信网络104与服务提供者计算机网络105通信的客户端计算设备106的联网计算环境100的方框图。客户端计算设备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可通过在物理设备上执行虚拟机来托管虚拟桌面实例。虚拟机可执行操作系统和应用软件的实例以创建虚拟桌面实例。由PES 102执行的每个虚拟桌面实例可由一个或多个客户端计算设备访问。
说明性地,数据中心计算机可在服务提供者计算机网络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也可通过将信息维持在桌面存储区中来便于与多个虚拟实例的客户端交互。在一些实施方案中,如在下面更详细描述的,如果一个虚拟桌面实例出故障,则新实例可被发起并附接到与以前附接到出故障的虚拟桌面实例相同的桌面存储区。
在逻辑上,桌面存储区可分布在多个服务器当中,它们可为了性能目的而在不同网络区域中的服务器上被复制,或它们可为了备份或故障性能目的在具有独立故障配置文件的多个服务器当中被复制。也就是说,服务器可被附接到不同的电源或冷却系统,服务器可位于数据中心的不同房间中或在不同的数据中心中,和/或服务器可附接到不同的路由器或网络交换机。说明性地,在一些实施方案中,桌面存储区可以在一个存储服务器上,且对桌面存储区做出的改变可被复制到在不同的存储服务器上的另一桌面存储区。这个复制创建用户的数据的备份拷贝。如果桌面存储区出故障或虚拟桌面实例失去它到桌面存储区的连接,则PES 102将虚拟桌面实例的连接从桌面存储区切换到备份桌面存储区。
PES平台102还包括用于存储由各种桌面存储区和备份存储区存储在存储服务器107上的数据的中央存储设备,例如PES存储库140。数据中心计算机110和存储服务器107还可包括便于通信的额外的软件或硬件部件,包括但不限于用于选择支持所请求的应用的虚拟机的实例和/或向DNS名称服务器提供信息以便于请求路由的负载平衡或负载共享软件/硬件部件。
服务提供者计算机网络105也可包括用户配置文件存储区108。用户配置文件存储区108可用于存储例如用户在使用虚拟桌面实例时被授权访问的各种程序。所存储的用户配置文件也可指示与不同用户的远程计算会话相关的最大时间或成本。PES平台102可在放置和配置虚拟桌面实例时考虑用户配置文件。PES平台102也可包括或连接到虚拟桌面镜像存储区109。虚拟桌面镜像存储区109可包括操作系统的模板镜像而没有按照用户配置文件应用的定制。
在说明性实施方案中,数据中心计算机110和存储服务器107被考虑为在逻辑上被分组,而不考虑部件或部件的部分是否是物理上分离的。例如,服务器提供者计算机网络105可维持用于提供实例和存储部件的单独位置。此外,虽然数据中心计算机110在图1中被示为在逻辑上与PES平台102相关,但是数据中心计算机将以最好地服务于它的用户的各种人口统计状况的方式在地理上被分布。此外,相关领域中的技术人员将认识到,服务提供者计算机网络105可与各种额外的计算资源、用于管理内容和资源的这样的额外计算设备等相关。
现在参考图2-7,将示出在图1的联网计算环境100的各种部件之间的交互。具体地,图2-7示出在联网计算环境100的各种部件之间的交互用于由服务提供者网络105执行虚拟桌面实例和从客户端计算设备106远程访问虚拟桌面实例。然而为了例子的目的,图示被简化,以便不示出用于便于通信的很多部件。相关领域中的技术人员将认识到,这样的部件可被利用,以及额外的交互将相应地出现而不偏离本公开的精神和范围。
参考图2,可在连接到PES平台102的数据中心计算机110中的任一个上执行虚拟桌面实例114。如果与在数据中心计算机110上的虚拟实例114的执行相关的事件出现,则执行可转移到另一虚拟桌面实例114’。可在同一数据中心计算机110上或在不同的数据中心计算机110’上执行另一实例114’。在任一情况下,由于桌面存储区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也可识别桌面存储区,例如主桌面存储区170,以附接到虚拟桌面实例114。例如,PES平台102可选择数据中心计算机110(在其上,虚拟桌面实例114将被执行),并基于在用户配置文件中的信息给计算机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相关的事件,另一虚拟桌面实例例如示例虚拟桌面实例114’就在步骤(4)被例示。可在同一数据中心计算机110上或在不同的计算机110’上执行另一虚拟桌面实例114’。另一虚拟桌面实例114’可被预先配置,或配置可在故障在虚拟桌面实例114上被检测到之后开始。一旦数据中心管理部件101识别出适合于执行的数据中心计算机或虚拟桌面实例,它就将新的公共IP地址发送到客户端计算设备106以经由新远程计算会话重新连接到新虚拟桌面实例。
在客户端计算设备106上的用户体验看起来几乎是无缝的,因为前一桌面的外观和感觉在整个老的和新的虚拟桌面实例中被维持。以前发送到PES平台102的数据通过到同一主桌面存储区170的连接而提供给新虚拟桌面实例。此外,因为在虚拟机实例114内运行的代理收集关于以前由用户打开的应用的信息,所以相同的应用在新虚拟桌面实例上打开。因为所保存的数据包括关于用户的图形用户界面的细节,所以在客户端计算设备上的应用过程的用户的视角在不同的实例执行当中保持实质上是一致的。因此,新虚拟桌面实例保持在客户端计算设备106上运行的应用过程,且以前被发送到PES平台102的数据被恢复到新实例。客户端计算设备106保持相同的用户体验,因为用户数据在远程计算会话的故障和重新建立期间在不同的实例之间保持同步。
在一些实施方案中,用户可被提示重新输入用户名和密码用于执行远程计算应用130。在其它实施方案中,用户名和密码可通过机制例如cookie或电子证书等存储在数据中,且当远程计算会话被重新建立时用户名和密码可自动被装入。
如上所述,远程计算会话从一个实例到另一实例的转移以对在客户端计算设备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附接到提供给客户端计算设备106或106’的用户的虚拟桌面实例114。
用户可从服务提供者计算机网络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的交互对用户内容和桌面配置文件的部分做出的任何变化通过经由远程计算会话保存到桌面存储区170上来由PES平台102复制。可基于网络连接带宽安排变化的复制。例如,如果网络连接带宽高,则每当客户端计算设备的文件系统涌出它的缓冲器到磁盘时复制可出现。相反,如果网络连接带宽低,则可安排复制周期性地例如每天一次、每星期一次或任何其它适当的时间或基于条件例如当网络连接带宽高于给定阈值时被执行。
如果有客户端计算设备106的故障,如由步骤(3)指示的,则硬盘驱动器或与客户端计算设备106的用户相关的用户内容和桌面配置文件的拷贝在PES平台102处是可用的。故障可包括停电、网络中断、软件或硬件故障或任何其它故障中的一个或多个。PES平台102可使用硬盘驱动器镜像的拷贝来在数据中心计算机110中的一个或多个上配置虚拟实例114,或它可附接桌面存储区170,其中与用户相关的用户内容和桌面配置文件被保存到虚拟桌面实例114,如由步骤(4)指示的。
因此,当新客户端计算设备106’被使用或客户端计算设备106从故障恢复时,桌面恢复程序330和远程计算应用130被装在设备106或106’上。然后远程计算应用130可提示用户输入用户名和密码。在远程计算应用130的装入之后,对新远程计算会话的请求在步骤(5)传输到服务提供者计算机网络105的PES平台102。
在接收到请求之后,PES平台102使用信息例如与请求包括在一起的用户账户标识符选择用户配置文件。用户配置文件可存储在用户配置文件存储区108上。在示例实施方案中,用户配置文件可包括指示实例模板的信息或与该信息相关,从该实例模板为用户创建实例。例如,在硬盘驱动器拷贝被创建的情况下,实例模块可规定以前为用户保存以用作实例模板的硬盘驱动器镜像。远程计算会话可接着开始从以前保存在数据中心计算机110之一上的桌面存储区170之一上的用户的硬盘驱动器镜像的拷贝引导虚拟桌面实例。在用户内容和桌面配置文件被保存的情况下,包括用户内容和桌面配置文件的桌面存储区170可附接到虚拟桌面实例114以由用户访问。
参考图4,公开了示出用于适应不同的用户要求的PES平台102的配置的图1的联网计算环境的方框图。如上所述,当客户端计算设备106响应于事件或用户请求装入远程计算应用130时,可发起新远程计算会话。在装入远程计算应用130之后,客户端计算设备106可请求新远程会话。
在接收到请求之后,PES平台102配置数据中心计算机110和实例114以服务于所请求的新远程会话。可基于由请求识别的一个或多个应用过程和如存储在用户配置文件存储区108中的与这样的应用过程相关的各种存储器或处理要求来配置数据中心计算机和实例。
例如,与实体相关的客户端计算设备106的用户可具有与他们相关的限制。限制可由管理员设置。限制可包括例如每个用户可访问的应用、与用户访问的不同虚拟桌面实例相关的存储器和处理限制。例如,管理员可设置单独用户的默认实例大小。根据例如用户标识符,默认实例大小可存储在与单独用户相关的用户配置文件存储区108中。根据由实例执行的应用,用户配置文件存储区108也可包括用于改变实例大小的变量。
在一个实施方案中,用户可被限制为执行具有低处理要求的应用,例如仅仅电子邮件或web浏览器。这样的用户可被提供对虚拟桌面实例的访问,虚拟桌面实例被分配低数量的资源以支持这样的应用。相反,用户可被授权执行具有较高处理要求的应用,例如专业制图或照片编辑应用。这种类型的用户可被提供对被分配大量资源的虚拟桌面实例的访问,足以使用户能够运行应用。对不同用户授权的应用可保存在用户账户的用户配置文件中。可选地,不同类型的应用可由用户在使用虚拟桌面实例时请求。
说明性地,可基于各种情形确定与用户或客户端计算设备相关的处理要求。该确定可基于在远程计算应用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可将指示资源需要被分配到实例114的信号发送到代理114A。
用户的最佳实例的确定可帮助实现用户的基于使用的记账。可限制被分配有大量资源的实例。例如,这样的实例可以只被提供到某些已授权用户,或可以只在有限的时间段期间被提供到某些用户。不同实例的基于使用的记账可包括用于使用服务提供者资源的基本价格组成部分和基于所分配的资源的可变价格组成部分以及对不同的资源使用的总时间。用户对资源的使用和请求也可用于由与用户相关的账户的管理员进行用户管理。例如,当用户请求超过给定阈值的资源的水平时,通知可被发送到管理员。
分配到实例的资源的确定也可基于与资源的使用相关的成本。例如,配置有给定水平的资源的给定实例可被限制到使用一直到那些资源的使用的阈值数量的成本。在另一例子中,可对实例使用阈值数量的所分配的资源。可选地,在被监控为空闲的或指示在给定会话期间的低资源利用率的阈值数量的时间之后,用户对实例的访问可被降级到具有较低资源的实例。
管理员可提供用于授权用户对虚拟桌面实例上的资源的访问的不同规则。例如,规则可限定不同类型的用户,且用户的类型可存储在由实体提供到程序执行服务(PES)平台的一组规则中。规则可与不同用户的登录信息例如用户账户标识符相关并存储在用户配置文件存储区108中。当用户在实体的客户端计算设备106上发起远程计算应用130时,PES平台102可基于所接收到的登录信息根据被包括在与用户账户标识符相关的用户配置文件中的规定来确定适当的实例。
为了说明性例子的目的,假设由实体雇佣的承包商可被授权在客户端计算设备106上使用所确定的应用过程达确定量的时间。因此,实体将期望要求分配到承包商的用户身份,如传递到PES平台102的。然后当承包商发起远程计算应用130时,登录指示承包商的用户标识符。其后,服务提供者对那个和任何随后的远程计算会话确定实例和数据中心计算机以配置为与客户端计算设备106相关。服务提供者的数据中心管理部件101监控承包商对所确定的过程的使用、处理水平和使用的时间,并按照实体管理员的预定义条件限制使用。承包商不需要在客户端计算设备106上安装任何软件应用,且实体不需要监控承包商对任何应用的使用。PES平台102在中央适应双方的需要。
基于预定的用户类型的应用的配置和应用的处理要求可用于对实体记账。不同实例的基于使用的记账可包括用于使用服务提供者资源的基本价格组成部分和基于处理要求的可变价格组成部分以及对不同的处理要求使用的总时间。可选地,当实体使客户端计算设备106变得可用且用户名与各自用户所需的各种应用过程的适当准许相关时,实体可从PES平台102得到对各种应用过程的许可,且许可可由实体所授权的各种用户使用。
服务提供者实例的配置也可用于在远程计算会话期间基于历史请求或实例的提供来在不同的实例上提供应用过程的预先选择的组合。可例如对不同类型的用户配置应用过程和处理要求的组合。用户的类型可以是例如简单的电子邮件阅读器和web浏览器,或可以是专业制图器或照片编辑器。在一些实施方案中,代替或除了处理要求以外,实例的配置也可基于与应用过程相关的存储要求。
参考图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。数据中心计算机110不需要在CPU被添加之后自动开始,但可简单地重新配置成将新的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可接着使数据和实例的改编版本被执行。
在另一实施方案中,可给客户端计算设备106提供操作系统的镜像、实例管理器和虚拟桌面监控模块601的拷贝而不与PES平台102连接。例如,实体的计算设备106可由实体的信息技术(IT)部门配置有适当的镜像和模块。当与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可用的网络连接时,PES平台102在步骤(4)向客户端计算设备106提供桌面存储区170的拷贝170’、由实例114执行的操作系统的镜像的拷贝和实例管理器122的拷贝122’,使得实例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是说明提供无缝远程计算会话和使在客户端计算设备106和PES平台102之间的用户数据持续的过程的例程是与在PES平台102处的实例一起出现的事件的流程图。例程700在块702开始。在块704,PES平台102从在系统中的数据中心计算机上运行的各种实例接收状态信息。可周期性地或当预定事件出现在实例处时从实例接收状态信息。接收之间的周期可以在毫秒、秒、分钟或不同的持续时间的数量级。预定的事件可与实例的健康状况、实例的网络连接性的健康状况等有关。PES平台102在例程700的整个持续时间中继续接收状态信息。
在块706,PES平台102从客户端计算设备接收对新远程计算会话的请求。在块708,PES平台102选择镜像和一定数量的资源以分配到使用镜像产生的实例。在各种实施方案中,适当的实例可基于被包括在与客户端计算设备的用户相关的用户配置文件存储区中的信息,请求从客户端计算设备被接收到。一旦实例被选择,适当的数据中心计算机就可被选择来托管实例,且在块710,PES平台102开始在实例和客户端计算设备之间的远程计算会话。在块712,对于那个用户,PES平台将特定的数据存储区附接到实例。
当远程计算会话被建立时,通过用户与在PES平台102处的虚拟桌面实例的交互创建的数据然后被保存到在块714选择的桌面存储区。在一些实施方案中,PES平台102可此外将所接收的数据拷贝到第二桌面存储区上。在一些实施方案中,PES平台102可周期性地将数据传送到集中式PES存储库,以便释放在桌面存储区上的存储。然后在块716,PES平台102检测到在远程计算会话中涉及的实例的故障。在一个实施方案中,PES平台102可基于从实例接收的状态信息或可选地基于不从实例接收到这样的状态信息来识别故障。
在块716检测到在实例处的故障之后,PES平台在块718,PES平台102将数据提供给第二虚拟桌面实例。可通过使数据同步或通过除去在桌面存储区和初始实例之间的相关性并使桌面存储区与新实例相关来将数据提供给第二虚拟桌面实例。一旦将数据提供给第二虚拟桌面实例,则例程就移动到块720。在一些实施方案中,可根据用户配置文件来预先配置PES平台102的虚拟桌面实例。在这样的实施方案中,当在块716检测到故障时,则PES平台102识别使用所需的用户配置文件预先配置的另一实例。可选地,可在块716在检测到故障之后配置实例。然后,在新实例被识别出的情况下,所需的IP地址信息被传递到客户端计算设备,且远程计算会话在块720被重新建立。例程700在块722结束。
图8是说明用于在客户端计算设备的故障之后使用在服务提供者和客户端计算设备之间的远程计算会话来恢复硬盘驱动器的镜像的例程的流程图。在块804,为了提供桌面恢复服务的目的,远程计算会话可在客户端计算设备和PES平台之间建立。一旦会话被建立,PES平台就可在块806存储客户端计算设备硬盘驱动器的镜像。在一些实施方案中,除了远程计算应用以外,客户端计算设备还可在本地运行操作系统和应用。在这样的实施方案中,客户端计算设备具有本地硬盘驱动器镜像,其包括与操作系统和在它上执行的应用相关的所有处理和配置信息。在一些实施方案中,远程计算会话可用于复制客户端计算设备的硬盘驱动器的镜像。镜像的存储可能花费一个时间段,取决于在客户端计算设备和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选择数据中心计算机以为所请求的新远程会话服务。
例如,希望或被授权执行具有低处理要求的应用例如电子邮件程序或web浏览器的客户端计算设备的用户可与只被提供有低处理功率能力(例如1或2个CPU核心和1千兆字节的RAM)的虚拟桌面实例和仅仅这样的应用相关。也就是说,用户配置文件可指示用户将被分配“小”实例或用户配置文件可指示用户将最初被分配可基于用户如何使用实例而动态地增长的“小”实例。相反,希望或被授权执行具有较高处理要求的应用例如专业制图或照片编辑应用的客户端计算设备的用户可与被提供有高处理功率能力(例如4或8个CPU核心和16千兆字节的RAM)的不同的虚拟桌面实例和这样的应用相关。类似地,用户配置文件可指示用户将最初被分配可基于用户如何使用它而缩小的“高级”实例。可基于各种因素来确定与用户或客户端计算设备相关的处理要求。该确定可基于在发起远程计算应用时的用户请求。该确定也可基于如在远程计算应用被发起时传输的数据中指示的某些用户的预先选择的选项。
一旦PES平台102确定客户端计算设备请求所需的处理要求,在块1006远程计算会话就在虚拟桌面实例和客户端计算设备之间建立。在建立会话之后,在块1008可基于由客户端计算设备的用户监控实例的使用来动态地调整实例。
例如,初始虚拟桌面实例可基于用户配置文件被提供有低资源。然而在一些时间之后,用户可请求对具有更多资源的虚拟桌面实例的访问以执行特定的任务,例如在数据库上工作。在一些实施方案中,可通过用户对在桌面界面上的应用的图标的选择来发起对不同要求的请求。在一些实施方案中,可通过用户从控制面板中的选项列表中选择选项来发起请求。例如,选项列表可包括不同数量的处理功率和存储器的滑动标尺。
PES平台102可动态地调整分配到虚拟桌面实例的资源的数量以适应更多的处理功率和存储器。在一些实施方案中,调整可能需要在同一或不同的数据中心计算机上重新发起实例。虚拟桌面实例的重新发起可包括终止运行的实例,使桌面存储区与实例解除相关,选择数据中心计算机以发起新实例,在选定数据中心计算机上例示新实例,以及使桌面存储区与新实例相关。一旦例示了实例,就可通过登录提示给用户提供对它的访问。
在其它实施方案中,调整可包括将额外的资源添加到虚拟桌面实例而没有实例的终止。例如,实例管理器可将另一处理器添加到虚拟桌面实例,将存储器添加到虚拟桌面实例,等等。例程1000在块1010结束。
图11是说明用于使客户端计算设备和服务提供者的操作在远程和本地环境之间转变的例程的流程图。例程在1102开始。在块1104,远程计算会话在虚拟桌面实例和客户端计算设备之间建立。可基于与客户端计算设备的用户相关的用户配置文件来建立会话,如上所述。此外,桌面存储区与用户的实例相关。在会话建立之后,PES平台102在块1106将通过用户与客户端计算设备上的实例的交互而创建的数据存储在桌面存储区上。然后在决策块1108,PES平台102确定网络连接损失是否在客户端计算设备和PES平台102之间被规划。例如,客户端计算设备的用户可准备登上飞机,且用户可指示即将来临的网络断开。
虽然没有这样的断开被预料到,但是PES平台102继续从在客户端计算设备处的用户的交互接收数据并在块1106存储数据。然而如果在块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的系统,其中指令在执行时还使PES基于与用户相关的策略规则而使数据存储区的拷贝与在一个或多个卷上的数据存储区同步。
3.条款2的系统,其中指令在执行时还使PES:
从计算设备接收访问第二虚拟桌面实例的第二请求,该请求识别计算设备的用户;
识别对应于第二请求的第二虚拟桌面实例;以及
使数据存储区附接到第二虚拟桌面实例。
4.条款1的系统,其中指令在执行时使PES在确定计算设备将从PES断开时向计算设备提供数据存储区的拷贝的至少一部分。
5.条款1的系统,其中指令在执行时使PES在计算设备连接到PES时终止本地虚拟桌面实例。
6.一种计算机实现的方法,其包括:
经由网络连接将访问虚拟桌面实例的请求传输到程序执行服务(PES);
经由网络连接接收对虚拟桌面实例的访问;
经由网络连接接收在数据存储区中的用户内容的至少一部分并将用户内容的至少一部分存储在本地数据存储区中;
通过虚拟桌面监控模块基于操作系统的本地镜像来发起本地虚拟桌面实例;以及
通过虚拟桌面监控模块将本地数据存储区附接到本地虚拟桌面实例,其中与用户内容有关的输入/输出操作被重定向到附接到本地虚拟桌面实例的本地数据存储区。
7.条款1的计算机实现的方法,其还包括将进入断开模式的请求发送到PES;以及接收用户内容的至少该部分。
8.条款6的计算机实现的方法,其还包括至少部分地基于网络带宽的降低来确定网络连接可能被中断;以及接收用户内容的至少该部分。
9.条款8的计算机实现的方法,其还包括在确定网络连接可能被中断之后,发起本地虚拟桌面实例以及接收用户内容的至少该部分。
10.条款0的计算机实现的方法,其还包括将与操作系统的执行有关的信息捕获到数据存储区的拷贝上。
11.条款0的计算机实现的方法,其还包括确定网络连接被恢复以及将使数据存储区的拷贝与数据存储区同步的请求传输到PES。
12.条款0的计算机实现的方法,其还包括终止本地虚拟桌面实例。
13.条款1的计算机实现的方法,其中操作系统的本地镜像与用于产生虚拟桌面实例的操作系统相比是不同的操作系统版本。
14.条款6的计算机实现的方法,其还包括接收用户的桌面配置文件的至少一部分以及将它存储在本地数据存储区中,其中在本地桌面实例中运行的操作系统根据用户的桌面配置文件而配置。
15.条款14的计算机实现的方法,其还包括使对在本地数据存储区中的用户的桌面配置文件的变化与存储在由PES维持的数据存储区中的用户的桌面配置文件同步。
16.一种包括计算机可执行指令的非临时物理计算机存储装置,所述计算机可执行指令在被执行时引导计算系统至少:
通过创建一个或多个卷来配置用户的虚拟桌面实例,一个或多个卷包括用户的桌面个性化信息和用户的数据存储区,其中当一个或多个卷附接到虚拟桌面实例时,在虚拟桌面实例内的操作系统根据用户的桌面个性化信息被个性化,且操作系统输入/输出操作的至少一部分被重定向到用户的数据存储区;
向与用户相关的计算设备提供桌面个性化信息的至少一部分和用户的数据存储区的至少一部分;
使计算设备能够运行本地虚拟桌面实例并附接至少包括桌面个性化信息的所提供的部分和用户的数据存储区的所提供的部分的本地数据存储区;以及
从客户端计算设备接收使本地数据存储区与在一个或多个卷上的数据存储区同步的请求。
17.条款0的非临时物理计算机存储装置,其中操作系统的镜像的改编版本包括具有不同的资源集合的操作系统的版本,资源包括处理功率要求或存储器要求中的一个或多个。
18.条款0的非临时物理计算机存储装置,其中计算机可执行指令在被执行时还引导计算系统使计算设备能够捕获对在本地数据存储区上的数据存储区的所提供的部分的变化。
19.条款16的非临时物理计算机存储装置,其中计算机可执行指令在被执行时还引导计算系统:
从计算设备接收访问虚拟桌面实例的请求;
配置对应于该请求的虚拟桌面实例;以及
使数据存储区附接到第二实例。
20.条款19的非临时物理计算机存储装置,其中计算机可执行指令在被执行时引导计算系统使第二虚拟桌面实例与本地数据存储区同步。
虽然公开和讨论了说明性实施方案,但是相关领域中的技术人员将认识到,额外或可选的实施方案可在本发明的精神和范围内实现。例如,可利用本文所述的技术而不偏离本发明的范围,以允许在任何数量的其它软件应用和过程(包括但不限于镜像或视频编辑软件、数据库软件、办公室生产率软件、3d设计软件、音频和声音处理应用等)中的远程处理管理。此外,虽然很多实施方案被指示为说明性的,但是相关领域中的技术任何将认识到,说明性实施方案不需要一起被组合或实现。因此,一些说明性实施方案并不需要根据本公开的变型的范围被利用或实现。
条件语言例如尤其是“可以(can)”、“可以(could)”、“可以(might)”或“可以(may)”,除非另外特别规定或在如所使用的上下文内另外理解的,通常意欲传达某些实施方案包括,而其它实施方案不包括,某些特征、元件和/或步骤。因此,这样的条件语言通常并不意欲暗示特征、元件和/或步骤以任何方式对一个或多个实施方案是需要的或一个或多个实施方案必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括或将在任何特定的实施方案中被执行的逻辑。
在本文中描述和/或在附图中描绘的流程图中的任何过程描述、元件或块应被理解为潜在地表示包括用于实现在过程中的特定逻辑功能或步骤的一个或多个可执行指令的代码的模块、段或部分。可选的实现包括在本文所述的实施方案的范围内,其中元件或功能可被删除、从所示或所讨论的顺序无序地执行,包括实质上同时或以相反的顺序被执行,取决于所涉及的功能,如本领域中的技术人员将理解的。将进一步认识到,上面所述的数据和/或部件可存储在计算机可读介质上并使用与计算机可读介质相关的驱动机制被装入计算设备的存储器内,可存储在任何数量的计算机可执行部件例如CD-ROM、DVD-ROM中或经由网络接口被提供或得到;此外,部件和/或数据可包括在单个设备中或以任何其它方式被分布。相应地,通用计算设备可配置成使用上面描述的各种数据和/或部件的处理和/或执行来实现本公开的过程、算法和方法。
应强调,可对上述实施方案进行很多变型和修改,实施方案的元件应被理解为是其它可接受的例子。所有这样的修改和变型被规定为在本文包括在本公开的范围内并被下面的权利要求保护。
Claims (15)
1.一种计算机实现的方法,其包括:
经由网络连接将来自计算设备的访问第一虚拟桌面实例的第一请求传输到程序执行服务PES,所述第一请求识别所述计算设备的用户;
所述PES通过创建一个或多个卷来配置用户的所述虚拟桌面实例,所述一个或多个卷包括所述用户的桌面个性化信息和所述用户的数据存储区,其中当所述一个或多个卷附接到所述虚拟桌面实例时,在所述虚拟桌面实例内的操作系统根据所述用户的所述桌面个性化信息被个性化,且操作系统输入/输出操作的至少一部分被重定向到所述用户的所述数据存储区;
所述PES从所述计算设备接收进入断开模式的第二请求;
所述PES根据所述用户的所述桌面个性化信息向所述计算设备提供被个性化的所述用户的所述数据存储区的拷贝和所述操作系统的镜像;
所述PES向所述计算设备提供虚拟桌面监控模块,其中所述虚拟桌面监控模块配置为基于所述操作系统的所述镜像发起所述第一虚拟桌面实例,其中所述第一虚拟桌面实例的本地版本的至少一个方面在所述计算设备上被修改,以及其中所述虚拟桌面监控模块配置为将所述第一虚拟桌面实例附接到所述计算设备上的所述本地虚拟桌面实例;以及
所述PES从所述计算设备接收使所述数据存储区的所述拷贝与在所述一个或多个卷上的所述数据存储区同步的第三请求。
2.如权利要求1所述的计算机实现的方法,其还包括接收用户内容的至少一部分。
3.如权利要求1所述的计算机实现的方法,其还包括基于网络带宽的降低来确定所述网络连接可能被中断;以及接收用户内容的至少一部分。
4.如权利要求3所述的计算机实现的方法,其还包括在确定所述网络连接可能被中断之后,发起所述本地虚拟桌面实例以及接收用户内容的至少一部分。
5.如权利要求4所述的计算机实现的方法,其还包括将与所述操作系统的执行有关的信息捕获到所述数据存储区的拷贝上。
6.如权利要求5所述的计算机实现的方法,其还包括确定所述网络连接被恢复以及将使所述数据存储区的所述拷贝与所述数据存储区同步的请求传输到所述PES。
7.如权利要求6所述的计算机实现的方法,其还包括终止所述本地虚拟桌面实例。
8.如权利要求1所述的计算机实现的方法,其中所述操作系统的所述本地镜像与用于产生所述虚拟桌面实例的操作系统相比是不同的操作系统版本。
9.如权利要求1所述的计算机实现的方法,其还包括接收所述用户的桌面配置文件的至少一部分以及将它存储在本地数据存储区中,其中在所述本地桌面实例中运行的所述操作系统根据所述用户的所述桌面配置文件而配置。
10.如权利要求9所述的计算机实现的方法,其还包括使对在所述本地数据存储区中的所述用户的所述桌面配置文件的变化与存储在由所述PES维持的数据存储区中的所述用户的桌面配置文件同步。
11.一种系统,其包括:
一个或多个计算机系统,其包括处理器和可执行指令,所述可执行指令在被执行时使所述系统:
从计算设备接收第一请求以访问第一虚拟桌面实例,所述第一请求识别所述计算设备的用户;
通过创建一个或多个卷来配置用户的所述第一虚拟桌面实例,所述一个或多个卷包括所述用户的桌面个性化信息和所述用户的数据存储区,其中当所述一个或多个卷附接到所述第一虚拟桌面实例时,在所述第一虚拟桌面实例内的操作系统根据所述用户的所述桌面个性化信息被个性化,且操作系统输入/输出操作的至少一部分被重定向到所述用户的所述数据存储区;
从所述计算设备接收进入断开模式的第二请求;
根据所述用户的所述桌面个性化信息向所述计算设备提供被个性化的所述用户的所述数据存储区的拷贝和所述操作系统的镜像;
向所述计算设备提供虚拟桌面监控模块,其中所述虚拟桌面监控模块配置为基于所述操作系统的所述镜像发起所述第一虚拟桌面实例,其中所述第一虚拟桌面实例的本地版本的至少一个方面在所述计算设备上被修改,以及其中所述虚拟桌面监控模块配置为将所述第一虚拟桌面实例附接到所述计算设备上的所述本地虚拟桌面实例;以及
从所述计算设备接收使所述数据存储区的拷贝与在所述一个或多个卷上的所述数据存储区同步的第三请求。
12.如权利要求11所述的系统,其中所述操作系统的所述镜像的改编版本包括具有不同的资源集合的所述操作系统的版本,所述资源包括处理功率要求或存储器要求中的一个或多个。
13.如权利要求11所述的系统,其中所述计算机可执行指令在被执行时还使所述系统使所述计算设备能够捕获对在本地数据存储区上的所述数据存储区的所述提供的部分的变化。
14.如权利要求11所述的系统,其中所述计算机可执行指令在被执行时还使所述系统:
配置对应于所述第三请求的第二虚拟桌面实例;以及
使所述数据存储区附接到所述第二虚拟桌面实例。
15.如权利要求14所述的系统,其中所述计算机可执行指令在被执行时还使所述系统使所述第二虚拟桌面实例与所述本地数据存储区同步。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/928,295 | 2013-06-26 | ||
US13/928,295 US10623243B2 (en) | 2013-06-26 | 2013-06-26 | Management of computing sessions |
PCT/US2014/044124 WO2014210175A1 (en) | 2013-06-26 | 2014-06-25 | Management of computing sessions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105579960A CN105579960A (zh) | 2016-05-11 |
CN105579960B true CN105579960B (zh) | 2019-04-12 |
Family
ID=52142652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480042457.7A Active CN105579960B (zh) | 2013-06-26 | 2014-06-25 | 计算会话的管理 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10623243B2 (zh) |
EP (1) | EP3014433B1 (zh) |
JP (1) | JP6307159B2 (zh) |
KR (1) | KR101868489B1 (zh) |
CN (1) | CN105579960B (zh) |
AU (1) | AU2014302474B2 (zh) |
CA (1) | CA2916279C (zh) |
SG (1) | SG11201510455WA (zh) |
WO (1) | WO2014210175A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10313345B2 (en) | 2013-03-11 | 2019-06-04 | Amazon Technologies, Inc. | Application marketplace for virtual desktops |
US9002982B2 (en) | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US9148350B1 (en) | 2013-03-11 | 2015-09-29 | Amazon Technologies, Inc. | Automated data synchronization |
US10142406B2 (en) | 2013-03-11 | 2018-11-27 | Amazon Technologies, Inc. | Automated data center selection |
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 |
US10409625B1 (en) * | 2013-09-17 | 2019-09-10 | Amazon Technologies, Inc. | Version management for hosted computing workspaces |
US10200258B2 (en) * | 2014-08-14 | 2019-02-05 | Juniper Networks, Inc. | Transaction integrity for network services configuration |
US10374891B1 (en) * | 2014-11-11 | 2019-08-06 | Skytap | Multi-region virtual data center template |
JP6540356B2 (ja) * | 2015-08-10 | 2019-07-10 | 富士通株式会社 | システム複製制御装置およびシステムの複製制御方法 |
US10083054B2 (en) | 2015-12-28 | 2018-09-25 | Amazon Technologies, Inc. | Application-based computing resource management |
US10637957B2 (en) * | 2016-12-15 | 2020-04-28 | Vmware, Inc. | Dynamic runtime interface for device management |
US10860342B2 (en) * | 2017-01-30 | 2020-12-08 | Citrix Systems, Inc. | Computer system providing cloud-based session prelaunch features and related methods |
US10728343B2 (en) * | 2018-02-06 | 2020-07-28 | Citrix Systems, Inc. | Computing system providing cloud-based user profile management for virtual sessions and related methods |
US11138274B2 (en) | 2018-05-03 | 2021-10-05 | Citrix Systems, Inc. | Virtualization environment providing user-based search index roaming and related methods |
KR102314221B1 (ko) * | 2019-02-28 | 2021-10-15 | 에스케이브로드밴드주식회사 | 특정 시점의 환경을 제공할 수 있는 가상 데스크톱 시스템 및 그 데이터 처리 방법 |
US11496365B2 (en) * | 2019-06-17 | 2022-11-08 | Cyxtera Data Centers, Inc. | Automated access to racks in a colocation data center |
US11489716B2 (en) * | 2019-08-20 | 2022-11-01 | Citrix Systems, Inc. | Desktop virtualization with a dedicated cellular network connection for client devices |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101971162A (zh) * | 2008-02-26 | 2011-02-09 | 威睿公司 | 将基于服务器的桌面虚拟机架构扩展到客户机上 |
Family Cites Families (212)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001628A (en) | 1987-02-13 | 1991-03-19 | International Business Machines Corporation | Single system image uniquely defining an environment for each user in a data processing system |
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
US4991089A (en) * | 1988-09-30 | 1991-02-05 | Ibm Corp. | Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment |
US6044367A (en) | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US5948061A (en) | 1996-10-29 | 1999-09-07 | Double Click, Inc. | Method of delivery, targeting, and measuring advertising over networks |
US6745224B1 (en) * | 1996-12-06 | 2004-06-01 | Microsoft Corporation | Object framework and services for periodically recurring operations |
US6377993B1 (en) | 1997-09-26 | 2002-04-23 | Mci Worldcom, Inc. | Integrated proxy interface for web based data management reports |
US6332180B1 (en) * | 1998-06-10 | 2001-12-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for communication in a multi-processor computer system |
US6192361B1 (en) | 1997-12-23 | 2001-02-20 | Alcatel Usa Sourcing, L.P. | Full group privileges access system providing user access security protection for a telecommunications switching system |
US6223289B1 (en) * | 1998-04-20 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6574239B1 (en) | 1998-10-07 | 2003-06-03 | Eric Morgan Dowling | Virtual connection of a remote unit to a server |
US6343280B2 (en) | 1998-12-15 | 2002-01-29 | Jonathan Clark | Distributed execution software license server |
US6895588B1 (en) * | 1999-04-09 | 2005-05-17 | Sun Microsystems, Inc. | Remote device access over a network |
US6615264B1 (en) * | 1999-04-09 | 2003-09-02 | Sun Microsystems, Inc. | Method and apparatus for remotely administered authentication and access control |
US6785894B1 (en) * | 1999-04-09 | 2004-08-31 | Sun Microsystems, Inc. | Virtual device driver |
US6502103B1 (en) * | 1999-06-14 | 2002-12-31 | International Business Machines Corporation | Providing composed containers and data objects to support multiple resources |
US6567818B1 (en) * | 1999-06-14 | 2003-05-20 | International Business Machines Corporation | Employing management policies to manage instances of objects |
US6560609B1 (en) * | 1999-06-14 | 2003-05-06 | International Business Machines Corporation | Delegating instance management functions to underlying resource managers |
JP2002007329A (ja) | 2000-06-20 | 2002-01-11 | Nec Corp | コンピュータシステム |
US6959331B1 (en) * | 2000-08-14 | 2005-10-25 | Sun Microsystems, Inc. | System and method for operating a client network computer in a disconnected mode by establishing a connection to a fallover server implemented on the client network computer |
US6915347B2 (en) * | 2000-10-17 | 2005-07-05 | Sun Microsystems, Inc. | Associating multiple display units in a grouped server environment |
JP2002140532A (ja) | 2000-10-31 | 2002-05-17 | Toshiba Eng Co Ltd | ソフトウェア販売システム、ソフトウェア販売方法、ソフトウェア販売を行うためのプログラムを記憶した記録媒体 |
US7349912B2 (en) | 2000-12-22 | 2008-03-25 | Oracle International Corporation | Runtime modification of entries in an identity system |
US6944860B2 (en) * | 2001-01-16 | 2005-09-13 | Sun Microsystems, Inc. | Method and apparatus for representing and encapsulating active computing environments |
US6871232B2 (en) | 2001-03-06 | 2005-03-22 | International Business Machines Corporation | Method and system for third party resource provisioning management |
US20080113675A1 (en) | 2001-02-21 | 2008-05-15 | Harris Scott C | Applications of broadband media and position sensing phones |
JP2002328741A (ja) | 2001-05-07 | 2002-11-15 | Fujitsu Ltd | 使用権管理方法、使用権管理装置及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体 |
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 |
US7010002B2 (en) | 2001-06-14 | 2006-03-07 | At&T Corp. | Broadband network with enterprise wireless communication method for residential and business environment |
US7002995B2 (en) | 2001-06-14 | 2006-02-21 | At&T Corp. | Broadband network with enterprise wireless communication system for residential and business environment |
US20030079030A1 (en) | 2001-08-22 | 2003-04-24 | Cocotis Thomas A. | Output management system and method for enabling access to private network resources |
US20030078965A1 (en) | 2001-08-22 | 2003-04-24 | Cocotis Thomas A. | Output management system and method for enabling printing via wireless devices |
WO2003027878A1 (en) | 2001-09-28 | 2003-04-03 | Fiberlink Communications Corporation | Client-side network access polices and management applications |
US7222297B2 (en) | 2002-01-14 | 2007-05-22 | International Business Machines Corporation | System and method for using XML to normalize documents |
US7577722B1 (en) | 2002-04-05 | 2009-08-18 | Vmware, Inc. | Provisioning of computer systems using virtual machines |
US7197553B2 (en) * | 2002-04-19 | 2007-03-27 | Nortel Networks Limited | Network system having a virtual-service-module |
JP2004062443A (ja) | 2002-07-26 | 2004-02-26 | Ntt Docomo Inc | サービス管理システム、サービス管理方法、サーバ管理装置、通信端末及びサーバ装置 |
JP2004072265A (ja) | 2002-08-02 | 2004-03-04 | Kddi Corp | 機能分散システムおよび負荷分散方法、コンピュータプログラム |
US7209945B2 (en) * | 2002-09-11 | 2007-04-24 | Bellsouth Intellectual Property Corporation | Application services gateway |
DE10324470A1 (de) | 2003-05-30 | 2005-03-10 | Deutsche Telekom Ag | Verfahren und Vorrichtung zum Steuern von Datenverbindungen in einem Datennetz mit einer Vielzahl von Datennetzknoten |
US20060010392A1 (en) * | 2004-06-08 | 2006-01-12 | Noel Vicki E | Desktop sharing method and system |
US7412516B1 (en) * | 2003-12-29 | 2008-08-12 | Aol Llc | Using a network bandwidth setting based on determining the network environment |
US20060253844A1 (en) * | 2005-04-21 | 2006-11-09 | Holt John M | Computer architecture and method of operation for multi-computer distributed processing with initialization of objects |
US20070291739A1 (en) | 2004-05-04 | 2007-12-20 | Sullivan Alan T | Systems and Methods for Direction of Communication Traffic |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
KR100692011B1 (ko) | 2004-07-28 | 2007-03-09 | 엘지전자 주식회사 | 이동 통신 단말기 컨텐츠의 사용권 만료 기준을 갱신하는방법 |
JP4400787B2 (ja) | 2004-09-29 | 2010-01-20 | 日立ソフトウエアエンジニアリング株式会社 | Webアクセス監視システム及び管理者用クライアントコンピュータ |
US8397287B2 (en) | 2006-08-21 | 2013-03-12 | Citrix Systems, Inc. | Method and system for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute |
US7853953B2 (en) | 2005-05-27 | 2010-12-14 | International Business Machines Corporation | Methods and apparatus for selective workload off-loading across multiple data centers |
US8429630B2 (en) | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
GB0525244D0 (en) | 2005-12-12 | 2006-01-18 | Nokia Corp | Providing communication service sessions |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
WO2007083299A2 (en) | 2006-01-17 | 2007-07-26 | Kidaro (Israel) Ltd. | Seamless integration of multiple computing environments |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US20120290455A1 (en) | 2006-02-01 | 2012-11-15 | Stephen Mark Mays | System and Method for Providing Computer Services |
JP4866636B2 (ja) | 2006-03-22 | 2012-02-01 | 株式会社日立製作所 | 分散型プログラム実行環境における稼動品質管理方法 |
US8566447B2 (en) * | 2006-04-10 | 2013-10-22 | Bank Of America Corporation | Virtual service switch |
US8151323B2 (en) | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US20070255814A1 (en) | 2006-04-27 | 2007-11-01 | Securetek Group Inc. | System for server consolidation and mobilization |
US8141075B1 (en) | 2006-05-08 | 2012-03-20 | Vmware, Inc. | Rule engine for virtualized desktop allocation system |
US8312120B2 (en) | 2006-08-22 | 2012-11-13 | Citrix Systems, Inc. | Systems and methods for providing dynamic spillover of virtual servers based on bandwidth |
EP2078251B1 (en) | 2006-10-20 | 2017-01-11 | Citrix Systems, Inc. | Methods and systems for accessing remote user files associated with local resources |
US20080140941A1 (en) * | 2006-12-07 | 2008-06-12 | Dasgupta Gargi B | Method and System for Hoarding Content on Mobile Clients |
US20080172720A1 (en) | 2007-01-15 | 2008-07-17 | Botz Patrick S | Administering Access Permissions for Computer Resources |
WO2008092131A2 (en) | 2007-01-25 | 2008-07-31 | Skyfire Labs, Inc. | Mobile device user interface for remote interaction |
US8554981B2 (en) | 2007-02-02 | 2013-10-08 | Vmware, Inc. | High availability virtual machine cluster |
US8181206B2 (en) | 2007-02-28 | 2012-05-15 | Time Warner Cable Inc. | Personal content server apparatus and methods |
JP2008225520A (ja) | 2007-03-08 | 2008-09-25 | Nec Corp | 仮想マシン環境においてメモリ資源を配置するメモリ資源配置制御方法、仮想マシンシステム及びプログラム |
US8756293B2 (en) * | 2007-04-23 | 2014-06-17 | Nholdings Sa | Providing a user with virtual computing services |
CA2690025C (en) | 2007-06-06 | 2014-05-20 | Boldstreet Inc. | Remote service access system and method |
US8205194B2 (en) * | 2007-06-29 | 2012-06-19 | Microsoft Corporation | Updating offline virtual machines or VM images |
CA2593897C (en) | 2007-07-16 | 2016-06-14 | Tet Hin Yeap | Method, system and apparatus for accessing a resource based on data supplied by a local user |
US8763115B2 (en) | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
US8180908B2 (en) | 2007-08-14 | 2012-05-15 | Bayerische Motoren Werke Aktiengesellschaft | Platform for standardizing vehicle communications with third-party applications |
US8090877B2 (en) | 2008-01-26 | 2012-01-03 | Citrix Systems, Inc. | Systems and methods for fine grain policy driven cookie proxying |
US7953833B2 (en) | 2008-01-31 | 2011-05-31 | Wanova Technologies Ltd. | Desktop delivery for a distributed enterprise |
US8301318B2 (en) * | 2008-03-05 | 2012-10-30 | Robotic Research Llc | Robotic vehicle remote control system having a virtual operator environment |
KR101489301B1 (ko) * | 2008-03-20 | 2015-02-06 | 삼성전자주식회사 | 가상환경 시스템 및 그의 구동방법 |
US8560593B2 (en) | 2008-03-27 | 2013-10-15 | Dell Software Inc. | System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment |
US7865586B2 (en) | 2008-03-31 | 2011-01-04 | Amazon Technologies, Inc. | Configuring communications between computing nodes |
US9003059B2 (en) * | 2008-03-31 | 2015-04-07 | Microsoft Technology Licensing, Llc | Running applications in an online or offline mode based on the availability of the connection to the remote web server |
JP5087456B2 (ja) | 2008-04-09 | 2012-12-05 | 株式会社インテック | サービス提供システム及びそれを構成するユーザ収容装置 |
US8365167B2 (en) * | 2008-04-15 | 2013-01-29 | International Business Machines Corporation | Provisioning storage-optimized virtual machines within a virtual desktop environment |
US8972978B2 (en) | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US8560713B2 (en) | 2008-07-31 | 2013-10-15 | Sap Ag | Method and system for mediating enterprise service access for smart devices |
US8443370B2 (en) | 2008-08-26 | 2013-05-14 | Microsoft Corporation | Method of assigning resources to fulfill a service request by a programming model abstraction layer at a data center based at least in part on a reference of the requested resource class indicative of an abstract amount of resources |
CN102197374B (zh) * | 2008-10-24 | 2014-04-02 | 思杰系统有限公司 | 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统 |
CN102217273B (zh) | 2008-11-12 | 2014-12-10 | 思杰系统有限公司 | 用于应用流畅性策略的系统和方法 |
US9009329B2 (en) * | 2008-11-25 | 2015-04-14 | Microsoft Technology Licensing, Llc | Platform for enabling terminal services virtualization |
US8201237B1 (en) * | 2008-12-10 | 2012-06-12 | Amazon Technologies, Inc. | Establishing secure remote access to private computer networks |
US8370493B2 (en) | 2008-12-12 | 2013-02-05 | Amazon Technologies, Inc. | Saving program execution state |
US8898108B2 (en) | 2009-01-14 | 2014-11-25 | Vmware, Inc. | System and method for scheduling data storage replication over a network |
US9344401B2 (en) | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
US8386757B1 (en) * | 2009-02-13 | 2013-02-26 | Unidesk Corporation | Managed desktop system |
US8549364B2 (en) | 2009-02-18 | 2013-10-01 | Vmware, Inc. | Failure detection and recovery of host computers in a cluster |
TW201032131A (en) | 2009-02-24 | 2010-09-01 | Ibm | Device, method and computer program product for automatically selecting internet browser and providing web page service |
US20100241731A1 (en) * | 2009-03-17 | 2010-09-23 | Gladinet, Inc. | Method for virtualizing internet resources as a virtual computer |
US20100275200A1 (en) | 2009-04-22 | 2010-10-28 | Dell Products, Lp | Interface for Virtual Machine Administration in Virtual Desktop Infrastructure |
US9154364B1 (en) * | 2009-04-25 | 2015-10-06 | Dasient, Inc. | Monitoring for problems and detecting malware |
CN102460393B (zh) | 2009-05-01 | 2014-05-07 | 思杰系统有限公司 | 用于在虚拟存储资源之间建立云桥的系统和方法 |
US8856783B2 (en) | 2010-10-12 | 2014-10-07 | Citrix Systems, Inc. | Allocating virtual machines according to user-specific virtual machine metrics |
US8725791B2 (en) | 2009-05-02 | 2014-05-13 | Citrix Systems, Inc. | Methods and systems for providing a consistent profile to overlapping user sessions |
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 |
CN101964860A (zh) | 2009-07-23 | 2011-02-02 | 孙博雅 | 家庭影院服务器 |
US8832459B2 (en) | 2009-08-28 | 2014-09-09 | Red Hat, Inc. | Securely terminating processes in a cloud computing environment |
US8365195B2 (en) | 2009-08-31 | 2013-01-29 | Red Hat, Inc. | Systems and methods for generating sets of model objects having data messaging pipes |
US8285218B2 (en) * | 2009-08-31 | 2012-10-09 | The Nielsen Company (Us), Llc | Methods and apparatus to identify wireless carrier performance effects |
WO2011030755A1 (ja) | 2009-09-10 | 2011-03-17 | 日本電気株式会社 | ロール設定装置、ロール設定方法及びロール設定プログラム |
JP2011060055A (ja) | 2009-09-11 | 2011-03-24 | Fujitsu Ltd | 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム |
JP2011076251A (ja) | 2009-09-29 | 2011-04-14 | Nec Personal Products Co Ltd | リモート操作システム、クライアント装置、サーバ、通信方法、プログラム及び記録媒体 |
US8676753B2 (en) * | 2009-10-26 | 2014-03-18 | Amazon Technologies, Inc. | Monitoring of replicated data instances |
US8335765B2 (en) * | 2009-10-26 | 2012-12-18 | Amazon Technologies, Inc. | Provisioning and managing replicated data instances |
US7991859B1 (en) * | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
US7953865B1 (en) * | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US20110178946A1 (en) | 2010-01-15 | 2011-07-21 | Incontact, Inc. | Systems and methods for redundancy using snapshots and check pointing in contact handling systems |
US8301746B2 (en) | 2010-01-26 | 2012-10-30 | International Business Machines Corporation | Method and system for abstracting non-functional requirements based deployment of virtual machines |
US9009219B2 (en) | 2010-01-27 | 2015-04-14 | Vmware, Inc. | Native viewer use for service results from a remote desktop |
US9274821B2 (en) | 2010-01-27 | 2016-03-01 | Vmware, Inc. | Independent access to virtual machine desktop content |
US9477531B2 (en) | 2010-01-27 | 2016-10-25 | Vmware, Inc. | Accessing virtual disk content of a virtual machine without running a virtual desktop |
JP2011160300A (ja) | 2010-02-02 | 2011-08-18 | Fujitsu Ltd | ルータ、ルーティング方法、ルーティングプログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム |
US8527549B2 (en) | 2010-02-22 | 2013-09-03 | Sookasa Inc. | Cloud based operating and virtual file system |
US8468455B2 (en) * | 2010-02-24 | 2013-06-18 | Novell, Inc. | System and method for providing virtual desktop extensions on a client desktop |
US8949316B2 (en) | 2010-03-09 | 2015-02-03 | Avistar Communications Corp. | Scalable high-performance interactive real-time media architectures for virtual desktop environments |
JP5733302B2 (ja) | 2010-03-11 | 2015-06-10 | 日本電気株式会社 | リソース配分装置及びプログラム |
CN102918490B (zh) * | 2010-04-01 | 2014-07-23 | 思杰系统有限公司 | 与在平板计算装置的虚拟桌面内显示的远程应用交互 |
JP2011248419A (ja) | 2010-05-24 | 2011-12-08 | Hitachi Ltd | 業務計算機割当て方法及び装置 |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
US8477610B2 (en) * | 2010-05-31 | 2013-07-02 | Microsoft Corporation | Applying policies to schedule network bandwidth among virtual machines |
US8434081B2 (en) * | 2010-07-02 | 2013-04-30 | International Business Machines Corporation | Storage manager for virtual machines with virtual storage |
US8443367B1 (en) | 2010-07-16 | 2013-05-14 | Vmware, Inc. | Federated management in a distributed environment |
JP2012033096A (ja) | 2010-08-02 | 2012-02-16 | Nomura Research Institute Ltd | ライセンスチェックシステムおよびリソースプール管理システム |
WO2012020482A1 (ja) | 2010-08-11 | 2012-02-16 | 富士通株式会社 | バックアップ方法、情報処理装置及びプログラム |
US20120311157A1 (en) * | 2011-06-03 | 2012-12-06 | Erickson Philip J | Integrated information technology service management for cloud resources |
US8612413B2 (en) | 2010-08-12 | 2013-12-17 | Cdnetworks Co., Ltd. | Distributed data cache for on-demand application acceleration |
US20120066679A1 (en) | 2010-09-13 | 2012-03-15 | Startforce, Inc. | Disposable virtual desktop for transient use by multiple users |
US8661120B2 (en) | 2010-09-21 | 2014-02-25 | Amazon Technologies, Inc. | Methods and systems for dynamically managing requests for computing capacity |
US20120084369A1 (en) | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Unified Reconnection To Multiple Remote Servers |
EP2622490B1 (en) | 2010-10-01 | 2018-12-05 | Z124 | Cross-environment communication framework |
US9632875B2 (en) | 2010-10-06 | 2017-04-25 | International Business Machines Corporation | Automated and self-adjusting data protection driven by business and data activity events |
US8607054B2 (en) * | 2010-10-15 | 2013-12-10 | Microsoft Corporation | Remote access to hosted virtual machines by enterprise users |
JP4811830B1 (ja) | 2010-10-15 | 2011-11-09 | 株式会社 イーシー・ワン | コンピュータリソース制御システム |
US20120124194A1 (en) | 2010-11-14 | 2012-05-17 | Caroline Jacqueline Shouraboura | Method and Apparatus for Efficiently Managing Network Distance between Physical Computers in a Computing Cloud |
US8566441B2 (en) | 2010-11-22 | 2013-10-22 | Microsoft Corporation | Network latency estimation for mobile devices |
JP5760406B2 (ja) | 2010-11-29 | 2015-08-12 | セイコーエプソン株式会社 | 検出回路、センサーデバイス及び電子機器 |
US20120166619A1 (en) | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Licensing and metering of virtualized applications |
US9229603B2 (en) | 2010-12-28 | 2016-01-05 | Schlumberger Technology Corporation | Methods, systems, apparatuses, and computer-readable mediums for provisioning petrotechnical workflows in a cloud computing environment |
US9201667B2 (en) * | 2010-12-31 | 2015-12-01 | Vmware, Inc. | Providing virtual desktops using resources accessed on public computer networks |
US8863256B1 (en) | 2011-01-14 | 2014-10-14 | Cisco Technology, Inc. | System and method for enabling secure transactions using flexible identity management in a vehicular environment |
US8510597B2 (en) | 2011-02-08 | 2013-08-13 | Wisconsin Alumni Research Foundation | Providing restartable file systems within computing devices |
JP5242717B2 (ja) | 2011-02-09 | 2013-07-24 | 日本電信電話株式会社 | リソース管理サーバ、リソース管理システム、リソース管理方法及びリソース管理プログラム |
US20120216015A1 (en) * | 2011-02-22 | 2012-08-23 | Mitra Sumanranjan S | System and method to concurrently execute a plurality of object oriented platform independent programs by utilizing memory accessible by both a processor and a co-processor |
KR20120096741A (ko) | 2011-02-23 | 2012-08-31 | 인텔렉추얼디스커버리 주식회사 | 가상단말 클라우드 네트워크 시스템 및 이기종 단말 플랫폼 어플리케이션 제공방법 |
US8866701B2 (en) * | 2011-03-03 | 2014-10-21 | Citrix Systems, Inc. | Transparent user interface integration between local and remote computing environments |
US8732267B2 (en) | 2011-03-15 | 2014-05-20 | Cisco Technology, Inc. | Placement of a cloud service using network topology and infrastructure performance |
US9060239B1 (en) | 2011-08-09 | 2015-06-16 | Zscaler, Inc. | Cloud based mobile device management systems and methods |
US9369433B1 (en) | 2011-03-18 | 2016-06-14 | Zscaler, Inc. | Cloud based social networking policy and compliance systems and methods |
JP5772127B2 (ja) | 2011-03-25 | 2015-09-02 | 富士通株式会社 | 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム |
JP5863771B2 (ja) | 2011-03-28 | 2016-02-17 | 日本電気株式会社 | 仮想マシン管理システム、及び仮想マシン管理方法 |
US8799897B2 (en) | 2011-04-07 | 2014-08-05 | Vmware, Inc. | Automated cost calculation for virtualized infrastructure |
JP5939740B2 (ja) | 2011-04-11 | 2016-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 動的にリソースを割り当てる方法、システム及びプログラム |
US9176744B2 (en) * | 2011-05-20 | 2015-11-03 | Citrix Systems, Inc. | Quickly provisioning a virtual machine by identifying a path to a differential file during pre-boot |
US8683466B2 (en) | 2011-05-24 | 2014-03-25 | Vmware, Inc. | System and method for generating a virtual desktop |
US9225763B2 (en) | 2011-06-07 | 2015-12-29 | Cisco Technology, Inc. | Distributed overlay browser for transparent streaming media support in virtualized desktop environment |
US8769011B2 (en) | 2011-06-21 | 2014-07-01 | Cisco Technology, Inc. | Survivable browsing in virtualized desktop environment when host connectivity is lost |
US20130006815A1 (en) | 2011-06-30 | 2013-01-03 | Ebay Inc. | Federated and multi-tenant e-commerce platform |
KR101507919B1 (ko) | 2011-07-01 | 2015-04-07 | 한국전자통신연구원 | 가상 데스크탑 서비스를 위한 방법 및 장치 |
US9515952B2 (en) | 2011-07-01 | 2016-12-06 | Hewlett Packard Enterprise Development Lp | Method of and system for managing computing resources |
CN102317910B (zh) | 2011-08-03 | 2014-08-20 | 华为技术有限公司 | 虚拟化数据备份方法、虚拟化数据重组方法、装置及系统 |
US8631131B2 (en) * | 2011-09-07 | 2014-01-14 | Red Hat Israel, Ltd. | Virtual machine pool cache |
US20130067469A1 (en) | 2011-09-14 | 2013-03-14 | Microsoft Corporation | Load Balancing By Endpoints |
US8812687B2 (en) | 2011-09-15 | 2014-08-19 | Microsoft Corporation | Managing user state of cloud desktops |
US9143530B2 (en) | 2011-10-11 | 2015-09-22 | Citrix Systems, Inc. | Secure container for protecting enterprise data on a mobile device |
DE102012217202B4 (de) | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
AU2012323779A1 (en) * | 2011-10-14 | 2014-04-17 | Unitrends, Inc. | Disaster recovery failover in cloud computing |
US8868710B2 (en) * | 2011-11-18 | 2014-10-21 | Amazon Technologies, Inc. | Virtual network interface objects |
JP5976840B2 (ja) * | 2011-12-29 | 2016-08-24 | ヴイエムウェア インコーポレイテッドVMware,Inc. | デスクトップイメージのnウェイ同期化 |
US9405553B2 (en) | 2012-01-30 | 2016-08-02 | International Business Machines Corporation | Processing element management in a streaming data system |
US8891450B2 (en) * | 2012-02-06 | 2014-11-18 | Juniper Networks, Inc. | Mobile node host route installation and withdrawal |
US20130219043A1 (en) | 2012-02-20 | 2013-08-22 | Moritz M. Steiner | Method and apparatus for automatic migration of application service |
US9110600B1 (en) * | 2012-03-19 | 2015-08-18 | Amazon Technologies, Inc. | Triggered data shelving to a different storage system and storage deallocation |
US8918392B1 (en) * | 2012-03-29 | 2014-12-23 | Amazon Technologies, Inc. | Data storage mapping and management |
US9110604B2 (en) | 2012-09-28 | 2015-08-18 | Emc Corporation | System and method for full virtual machine backup using storage system functionality |
US20130275966A1 (en) | 2012-04-12 | 2013-10-17 | International Business Machines Corporation | Providing application based monitoring and recovery for a hypervisor of an ha cluster |
US20130283263A1 (en) * | 2012-04-19 | 2013-10-24 | Dincloud, Inc. | System and method for managing resources in a virtual machine environment |
US8954984B2 (en) | 2012-04-19 | 2015-02-10 | International Business Machines Corporation | Environmentally aware load-balancing |
US9413587B2 (en) | 2012-05-02 | 2016-08-09 | Box, Inc. | System and method for a third-party application to access content within a cloud-based platform |
US9210162B2 (en) * | 2012-05-02 | 2015-12-08 | Microsoft Technology Licensing, Llc | Certificate based connection to cloud virtual machine |
US8904081B1 (en) | 2012-05-08 | 2014-12-02 | Vmware, Inc. | Composing a virtual disk using application delta disk images |
US9325530B2 (en) * | 2012-05-22 | 2016-04-26 | Cisco Technology, Inc. | Management of virtual desktop infrastructure (VDI) sessions using real-time network conditions |
JP2013250775A (ja) | 2012-05-31 | 2013-12-12 | Fujitsu Ltd | 仮想マシン管理装置、仮想マシン管理プログラム、仮想マシン管理方法及びネットワークシステム |
US8934887B2 (en) * | 2012-05-31 | 2015-01-13 | Emblaze Ltd. | System and method for running mobile devices in the cloud |
WO2014002102A1 (en) * | 2012-06-29 | 2014-01-03 | Hewlett-Packard Development Company, L.P. | Optimizing placement of virtual machines |
US9535871B2 (en) | 2012-11-27 | 2017-01-03 | Red Hat Israel, Ltd. | Dynamic routing through virtual appliances |
US9692632B2 (en) * | 2012-11-29 | 2017-06-27 | International Business Machines Corporation | Migration to managed clouds |
US20140188977A1 (en) * | 2012-12-28 | 2014-07-03 | Futurewei Technologies, Inc. | Appratus, method for deploying applications in a virtual desktop interface system |
US9384208B2 (en) | 2013-01-22 | 2016-07-05 | Go Daddy Operating Company, LLC | Configuring a cached website file removal using a pulled data list |
US20140237070A1 (en) | 2013-02-19 | 2014-08-21 | Lg Cns Co., Ltd. | Network-attached storage management in a cloud environment |
US9148350B1 (en) | 2013-03-11 | 2015-09-29 | Amazon Technologies, Inc. | Automated data synchronization |
US10313345B2 (en) | 2013-03-11 | 2019-06-04 | Amazon Technologies, Inc. | Application marketplace for virtual desktops |
US9002982B2 (en) | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US10142406B2 (en) | 2013-03-11 | 2018-11-27 | Amazon Technologies, Inc. | Automated data center selection |
US20140280436A1 (en) * | 2013-03-14 | 2014-09-18 | Citrix Systems, Inc. | Migration tool for implementing desktop virtualization |
US9641559B2 (en) | 2013-03-15 | 2017-05-02 | Swyme Ip Bv | Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogeneous devices |
US9645840B2 (en) * | 2013-04-02 | 2017-05-09 | Amazon Technologies, Inc. | User-defined pools |
US9495180B2 (en) | 2013-05-10 | 2016-11-15 | Fireeye, Inc. | Optimized resource allocation for virtual machines within a malware content detection system |
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 |
US9720712B2 (en) | 2013-06-03 | 2017-08-01 | Red Hat Israel, Ltd. | Physical/virtual device failover with a shared backend |
US20150019704A1 (en) | 2013-06-26 | 2015-01-15 | Amazon Technologies, Inc. | Management of computing sessions |
US10623243B2 (en) | 2013-06-26 | 2020-04-14 | Amazon Technologies, Inc. | Management of computing sessions |
US20150006614A1 (en) | 2013-06-26 | 2015-01-01 | Amazon Technologies, Inc. | Management of computing sessions |
US20150019705A1 (en) | 2013-06-26 | 2015-01-15 | Amazon Technologies, Inc. | Management of computing sessions |
US20150019728A1 (en) | 2013-06-26 | 2015-01-15 | Amazon Technologies, Inc. | Management of computing sessions |
-
2013
- 2013-06-26 US US13/928,295 patent/US10623243B2/en active Active
-
2014
- 2014-06-25 SG SG11201510455WA patent/SG11201510455WA/en unknown
- 2014-06-25 CN CN201480042457.7A patent/CN105579960B/zh active Active
- 2014-06-25 EP EP14817746.2A patent/EP3014433B1/en active Active
- 2014-06-25 KR KR1020167002245A patent/KR101868489B1/ko active IP Right Grant
- 2014-06-25 AU AU2014302474A patent/AU2014302474B2/en active Active
- 2014-06-25 JP JP2016523889A patent/JP6307159B2/ja active Active
- 2014-06-25 CA CA2916279A patent/CA2916279C/en active Active
- 2014-06-25 WO PCT/US2014/044124 patent/WO2014210175A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101971162A (zh) * | 2008-02-26 | 2011-02-09 | 威睿公司 | 将基于服务器的桌面虚拟机架构扩展到客户机上 |
Also Published As
Publication number | Publication date |
---|---|
US10623243B2 (en) | 2020-04-14 |
CA2916279C (en) | 2022-05-10 |
EP3014433A1 (en) | 2016-05-04 |
KR101868489B1 (ko) | 2018-06-18 |
SG11201510455WA (en) | 2016-01-28 |
JP2016530604A (ja) | 2016-09-29 |
KR20160048063A (ko) | 2016-05-03 |
US20150019733A1 (en) | 2015-01-15 |
AU2014302474B2 (en) | 2017-06-15 |
EP3014433B1 (en) | 2020-06-17 |
CA2916279A1 (en) | 2014-12-31 |
JP6307159B2 (ja) | 2018-04-04 |
WO2014210175A1 (en) | 2014-12-31 |
AU2014302474A1 (en) | 2016-01-21 |
EP3014433A4 (en) | 2016-12-28 |
CN105579960A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105579960B (zh) | 计算会话的管理 | |
JP6630792B2 (ja) | コンピューティングセッションの管理 | |
CN105637481B (zh) | 计算会话的管理 | |
KR101840222B1 (ko) | 컴퓨팅 세션의 관리 | |
US20150006614A1 (en) | Management of computing sessions | |
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 |