CN105378698A - 自动化数据中心选择 - Google Patents

自动化数据中心选择 Download PDF

Info

Publication number
CN105378698A
CN105378698A CN201480021842.3A CN201480021842A CN105378698A CN 105378698 A CN105378698 A CN 105378698A CN 201480021842 A CN201480021842 A CN 201480021842A CN 105378698 A CN105378698 A CN 105378698A
Authority
CN
China
Prior art keywords
data center
user
time delay
calculation element
delay factor
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.)
Pending
Application number
CN201480021842.3A
Other languages
English (en)
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 CN105378698A publication Critical patent/CN105378698A/zh
Pending legal-status Critical Current

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明呈现用于自动选择数据中心的系统和方法,所述数据中心可在提供减少或最小延时的连接上与用户计算系统通信。在一些情况下,所述系统可基于一个或多个延时因数的计算来选择所述数据中心,所述一个或多个延时因数至少部分地与处于所述数据中心与所述用户计算系统之间的通信信道的延时相关联。此外,所述所选择的数据中心可从一组数据中心识别,所述组数据中心包括用户已经识别为期望访问的一个或多个计算资源。

Description

自动化数据中心选择
相关申请
本申请要求2013年3月11日提交的且标题为“AUTOMATEDDATACENTERSELECTION”的美国申请第13/794,595号的优先权,其全部公开内容以引用的方式并入本文中。此外,本申请涉及以下申请:2013年3月11日提交的且标题为“自动化桌面布置(AUTOMATEDDESKTOPPLACEMENT)”的美国申请第13/794,490号;2013年3月11日提交的且标题为“用于虚拟桌面的应用市场(APPLICATIONMARKETPLACEFORVIRTUALDESKTOPS)”的美国申请第13/794,600号;以及2013年3月11日提交的且标题为“自动化数据同步(AUTOMATEDDATASYNCHRONIZATION)”的美国申请第13/794,515号。这些申请中的每个的全部公开内容以引用的方式并入本文中。
背景
公司和组织运营计算机网络,所述计算机网络使众多计算系统互相连接以便支持它们的操作。所述计算系统可位于单个地理位置中(例如,作为局部网络的一部分)或者位于多个截然不同的地理位置中(例如,经由一个或多个私人或公共中间网络来连接)。数据中心可以容纳巨大数量的互连计算系统,例如像由单个组织运营的私人数据中心和由第三方运营的公共数据中心,以便向客户提供计算资源。公共数据中心和私人数据中心可提供网络访问、电力、硬件资源(例如,计算和存储)以及针对数据中心、组织或由其他客户所拥有的硬件的安全安装设施。许多数据中心还可以组织为单个程序执行服务(PES)的一部分,所述程序执行服务可以促进PES的客户对数据中心的资源的利用。
为了促进数据中心资源的加大利用,虚拟化技术可允许单个物理计算机器托管虚拟机的一个或多个实例,所述虚拟机作为独立计算机机器向所连接的计算机用户展现并操作。利用虚拟化,单个物理计算装置可按照动态方式创建、维护或删除虚拟机。反过来,用户可从数据中心请求计算机资源并在“按需”基础上或至少在“按请求”基础上提供有变化数量的虚拟机资源。
随着数据中心的规模和范围不断扩大,预备、管控和管理数据中心的物理计算资源和虚拟计算资源的任务已经变得日益复杂。
附图简述
参考编号在全部附图中重复使用以便指示参考元件之间的一致性。提供附图用以说明本文所述的发明主题的实施方案且并不限制其范围。
图1A示出可经由通信网络向多个用户计算系统提供计算资源的程序执行服务环境的示例。
图1B示出可经由通信网络向多个用户计算系统提供计算资源的程序执行服务环境的另外示例。
图2示出应用市场的示例,在一些实施方案中,所述应用市场可包括为程序执行服务环境的一部分。
图3示出数据中心的示例,在一些实施方案中,所述数据中心可包括为程序执行服务环境的一部分。
图4A示出托管计算环境资源分配系统的示例,在一些实施方案中,所述托管计算环境资源分配系统可包括为程序执行服务环境的一部分。
图4B示出数据中心资源分配系统的示例,在一些实施方案中,所述数据中心资源分配系统可包括为数据中心的一部分。
图5示出实例的示例,在一些实施方案中,所述实例可由数据中心的数据中心计算机托管。
图6示出数据中心选择过程的示例。
图7示出延时因数计算过程的示例。
图8示出桌面布置配置过程的示例。
图9示出桌面预备过程的示例。
图10示出借助应用市场来访问应用程序的过程的示例。
图11示出文件同步系统的示例。
图12示出文件同步过程的示例。
图13示出借助通向虚拟桌面实例的现有连接的文件同步过程的示例。
详细说明
I.引言
在传统台式计算环境中,用户通常访问物理上位于用户桌子附近的台式计算机的计算资源或存储资源。所述台式计算机可连接至显示器和数据输入装置(例如,键盘和鼠标),所述显示器和数据输入装置允许用户访问可由台式计算机执行的应用程序(例如,文字处理应用程序、电子邮件应用程序等等)。膝上型计算环境总体上类似于台式计算环境,除了使用便携式膝上型计算机代替台式计算机。传统台式计算环境或膝上型计算环境的缺点包括,用户仅能访问存储在台式计算机或膝上型计算机上的应用程序而不能跨越不同计算平台来轻松共享应用程序或数据。随着许多各种各样的固定计算装置和便携式计算装置(例如,台式计算机、膝上型计算机、平板计算机、智能电话、电子书阅读器等等)的使用增多,用户可能期望在这些平台中的每个上访问相同应用程序。例如,用户可能希望使用文字处理应用程序以便在位于用户办公室中的用户台式计算机上编辑文档。用户随后可能希望在机场等待航班时在用户的膝上型计算机上继续编辑所述文档。然后,在飞机上或者在去参加会议的出租车中时,用户可能希望在智能电话上查看或编辑所述文档。在所有这些情况(或其他情况)下,用户可能希望使用相同文字处理应用程序、无缝地编辑相同文档,并在与每个计算装置交互时具有类似用户体验(经受每个装置的计算约束和物理约束)。简而言之,用户可能希望具有允许用户访问用户的应用程序和数据的“虚拟桌面”,而无论用户在何处并且无论用户那时在什么计算装置上使用。
本申请描述系统和方法的示例,依靠所述系统和方法,用户可通过使用通向程序执行服务(有时称为“云计算”服务)的连接而在许多各种各样的计算装置上访问应用程序和数据,所述程序执行服务托管应用程序和数据而不是通过用户访问存储在每个单独计算装置上的单独应用程序和数据。在各种实施形式中,所述程序执行服务可提供用户可购买或租赁应用程序以便在他们的计算装置上使用的应用市场。所述程序执行服务也可提供允许用户访问在所有用户计算装置上自动同步的数据的数据存储。现将描述各种基于云的实施形式的详细示例。
本文描述系统和方法的实施方案,用于提供对由数据中心的计算机系统托管或赋权使用的计算资源的访问权限,所述数据中心包括为程序执行服务(PES)的一部分。图1A示出PES环境100的一个示例,所述PES环境100可经由通信网络106向多个用户计算系统104提供计算资源。
PES环境100包括用于提供计算资源(如虚拟机实例)的按需访问权限的PES平台120(其可称为PES120),所述虚拟机实例可包括虚拟桌面环境的应用和/或访问。如以下将参照图9更加详细描述的,所述计算资源可基于一组桌面布置规则和/或一组计算资源布置规则来启动或以其他方式实例化。
PES平台120可在永久性或按需基础上提供用于执行应用程序的计算资源。由PES平台120提供的计算资源可包括各种类型的资源,如数据处理资源、数据存储资源、数据通信资源、应用资源、文件管理资源、用户认证资源、虚拟桌面资源等等。尽管并不受限于此,但是虚拟桌面资源仍可包括用于与文件和/或应用程序交互的界面,所述文件和/或应用程序存储在PES平台120上和/或由PES平台120托管,正如与存储在用户计算系统104上和/或由用户计算系统104托管的情形相反的,其中用户计算系统104用来与PES平台120通信。所述虚拟桌面资源可与操作系统相关联(或模仿操作系统)。例如,可存在可配置来执行Windows应用程序的Windows虚拟桌面。所述虚拟桌面可使得用户能够访问由PES平台提供的服务,例如像应用程序、文件管理器和/或文件存储。
在一些情况下,虚拟桌面可以是与或可以看上去与用户计算系统104的桌面完全一样的。例如,虚拟桌面可提供对经由PES平台120而利用的应用资源的访问权限,并可提供文件管理能力以便经由图形界面来管理存储在PES平台120处的文件。在一些情况下,虚拟桌面可被配置来提供单个资源(如应用程序)的访问权限。在一些情况下,虚拟桌面是数据中心102的计算系统上可访问的图形容器。这个容器可流动传送至用户计算系统104并可与文件管理器和文件存储相关联。此外,在一些情况下,虚拟桌面可以是用户计算系统104上的用户计算系统104上可访问的应用程序。在其他情况下,虚拟桌面可通过建立与数据中心102的计算系统的通信来访问,所述数据中心102可将用于虚拟桌面的图形界面流动传送至用户计算系统104。尽管虚拟桌面通常不经由浏览器来访问,但是在一些情况下,通向虚拟桌面的图形界面也可经由网络浏览器来呈现。
每种类型的计算资源可以是通用的,或者可以利用于一些特定配置中。例如,数据处理资源可用作虚拟机实例。在一些情况下,计算资源可以是具有配置有操作系统的虚拟机的计算节点。所述计算节点可在物理计算装置(如服务器)上实施。所述实例可被配置来执行应用程序,包括网络服务器、应用服务器、媒体服务器、数据库服务器等等。数据存储资源可包括文件存储装置、区块存储装置等等。应用资源可包括所租赁的或所购买的应用程序。此外,应用资源可包括在执行期间由PES平台120托管的和/或在执行期间暂时性或永久性地流动传送至用户计算系统104的应用程序。
每种类型或每种配置的计算资源可以具有不同大小,如大型资源,其由许多处理器、大量存储器和/或较大存储容量组成,以及小型资源,其由较少处理器、更少量的存储器和/或更小的存储容量组成。例如,客户可选择分配许多如网络服务器的小型处理资源和/或如数据库服务器的一个大型处理资源。
PES平台120包括托管计算环境114,所述托管计算环境114包括许多数据中心102A至102N(其在本文中可单数地称为“一个数据中心102”或复数地称为“多个数据中心102”),所述数据中心102A至102N向用户或客户提供上文所述计算资源的访问权限。在2011年1月4日发布的且标题为“配置计算节点之间的通信(ConfiguringCommunicationsBetweenComputingNodes)”的美国专利第7,865,586号中给出了托管计算环境和数据中心的另外示例,所述专利的全部内容在此以引用的方式并入本文中。在一些实例中,托管计算环境也可称为云计算环境。
尽管示出四个数据中心102,但是PES平台120也可包括任何数量的数据中心,如一个数据中心、十个数据中心或五十个数据中心。此外,尽管概念性地示出数据中心102作为单个托管计算环境114的一部分,但是数据中心102也可位于地理上完全不同的位置中。例如,数据中心102A可位于地理区域122A内,数据中心102B和数据中心102C可位于地理区域122B内,并且数据中心102N可位于图1A中未示出的又一个地理区域内。如下文将详细描述的,地里区域122A、地理区域122B可位于不同的市、县或州中或者甚至不同的国家中。
数据中心102是用以容纳并操作计算机系统和关联部件的设施。例如,数据中心102通常包括冗余和备用电力、通信、冷却以及安全系统。下文将参照图3来描述用于数据中心102的一个说明性配置,所述数据中心102实施本文所公开的概念和技术以便向用户提供各种计算资源的访问权限。
PES平台120的客户和其他用户可访问由数据中心102在网络106上提供的计算资源。网络106可包括任何类型的有线或无线网络,所述网络包括广域网络(WAN)、局域网络(LAN)、细胞网络等等。此外,在一些情况下,网络106可包括互联网。此外,在一些情况下,网络106可包括将数据中心102连接至远程客户或用户的任何其他已知网络拓扑。还应了解的是,也可利用此类网络的组合。
如图1A中所示出的,客户或用户可经由一个或多个用户计算系统104A至104C(其在本文中可单数地称为“一个用户计算系统104”或复数地称为“多个用户计算系统104”)与PES平台120通信。尽管示出三个用户计算系统104,但是PES环境100可包括任何数量的用户计算系统104。此外,用户计算系统104可包括可由用户利用来访问PES平台120的任何类型计算系统。例如,用户计算系统104可以是服务器计算机、台式或膝上型个人计算机、平板计算机、无线电话(例如,智能电话)、个人数字助理(PDA)、电子书阅读器(例如,电子阅读器)、游戏机、机顶盒或能够访问PES平台120的任何其他计算装置。
用户计算系统104中的每个可位于一个或多个完全不同的地理区域122A至122B中。例如,如图所示,用户计算系统104A可位于地理区域122A中,并且用户计算系统104B和用户计算系统104C可位于地理区域122B中。作为另一示例,计算系统104中的每个可位于其自己的地理区域122中或位于同一地理区域122中。
每个地理区域122可具有变化的大小。例如,地理区域122可以是住宅或建筑物(例如,商务场所、公司总部或机场)。作为第二示例,地理区域122可以是地理面积,如平方英里。在一些情况下,地理区域122可基于地缘政治边界。例如,地理区域122A可以是市、县、州或国家,并且地理区域122B可以是另一市、县、州或国家。在一些情形中,地理区域122可至少部分地基于组网设备来界定。例如,地理区域122A可基于处在地理区域122A中的路由器(未图示)的范围来界定。
用户计算系统104可经由网络106来与PES平台120或其数据中心102通信。与数据中心102通信可包括与数据中心102的计算机系统通信。例如,用户计算系统104可访问数据中心计算系统上托管的虚拟桌面或应用程序。许多连接协议可用来访问数据中心计算系统。例如,用户计算系统104可使用基于远程桌面协议(RDP)的连接或基于用户数据报协议(UDP)的连接来与数据中心处的计算机系统通信。此外,用户计算系统104可使用任何用于访问或流动传送另一机器所托管的应用程序的协议,而访问数据中心处所托管的应用实例。例如,用户计算系统104可通过使用应用虚拟化或应用流软件(如App-V(可从位于美国华盛顿州雷德蒙德市的微软公司购得)或ThinApp(可从位于美国加州帕罗奥多的VMware公司购得))来访问数据中心计算机上托管的应用程序。
A.数据中心选择
如先前提到的,用户计算系统104可访问PES平台120以便获取各种计算资源的访问权限。通常,与PES平台120的通信是通过与单个数据中心102通信而发生。尽管在一些情况下用户计算系统104可与多个数据中心102通信。为了简化论述,并且除非另有说明,本文所述的示例将假设用户计算系统104在给定的时间点上与单个数据中心102通信。然而,在不同的时间点上,用户计算系统104可与不同数据中心102通信,尤其是当用户计算系统104已经移动至不同地理区域122或正尝试访问不同计算资源时。
在一些情况下,用户可选择与之通信的数据中心102。由用户选择的数据中心102可能经常是次优的。例如,由用户选择的数据中心102可能不提供最低延时连接。此外,由用户选择的数据中心102可能不包括用户期望访问的一个或多个计算资源。
本文描述系统和方法的实施方案,用于自动选择数据中心102,所述数据中心102可在提供减少或最小延时的连接上与用户计算系统104通信。在一些情况下,所述连接的延时相比于给定时间点上与其他数据中心的连接而言可能不是减少或最小的,但可在一段时间内是减少或最小的。此外,在一些情形中,所选择的数据中心102可能不提供绝对最小延时连接,但可提供低于延时阈值水平的延时连接。在一些情况下,所述系统可基于一个或多个延时因数的计算来选择所述数据中心,所述延时因数至少部分地与处于数据中心与用户计算系统之间的通信信道的延时相互关联。此外,所选择的数据中心102可从一组数据中心102识别,所述组数据中心102包括用户已经识别为期望访问的所述一个或多个计算资源。
在某些实施方案中,可通过测量与用户计算系统104和来自托管计算环境114的数据中心102中的一个或多个之间的连接相关联的许多延时因数,而选择数据中心102。例如,可基于数据中心102与用户计算系统104之间的地理距离来选择数据中心102。下文参照图6和图7进一步描述选择数据中心102。
B.桌面实例布置
与数据中心102通信可包括与提供计算资源(如应用程序和虚拟桌面)访问权限的一个或多个数据中心计算机通信。在一些情况下,使用数据中心102来向许多用户(例如,员工或客户)提供计算资源的实体可能期望指定如何在数据中心102处分布计算资源的规则。例如,当数据中心102的计算机系统掉线时,提供经纪服务的实体可能想要减少所影响的员工(或客户)的数量。同样地,所述实体可能想要将处理交易的员工分布在许多计算机系统当中,而不是将整个部门聚集在一个或两个数据中心102计算机系统中。
本公开的实施方案使得用户(例如,管理员)能够为雇用用户或与用户相关联的实体提供数据中心102处计算资源(例如,虚拟桌面)的布置或配置规则。数据中心102可使用布置规则来选择数据中心计算机系统,以便为用户托管计算资源。例如,数据中心102可确定用户是工程公司的会计部门的成员。基于管理员在工程公司指定的规则,数据中心102可选择并未托管公司会计部门的其他成员的数据中心计算机。此外,数据中心102可确保为会计部门员工所创建的虚拟桌面预先配置有会计部门员工执行其工作职能所需要的应用程序。
C.应用访问
程序执行服务(PES)的用户可在通过应用市场得到的各种应用程序和操作系统当中进行选择。用户可搜索其想要在其虚拟桌面实例上使用的操作系统和应用程序。PES平台120可配置所述应用程序以便可从运行用户所选择的操作系统的虚拟桌面实例来执行。例如,用户可选择在其虚拟桌面实例上安装AppleMACOS。用户也可以选择在其虚拟桌面实例中包括MicrosoftPowerPoint软件。用户最初可在家中从用户的膝上型计算机访问PowerPoint软件。用户随后可行进至另一个城市,在所述城市中用户想要使用与PES平台120上的虚拟桌面实例的连接,而在用户的宾馆中从用户的膝上型计算机来访问相同的软件和操作系统。PES平台120可检查与用户以及用户的膝上型计算机相关联的元数据,并确定授权用户来访问所述程序。
用户随后可行进至商务会议并从用户的平板装置进行演示。PES平台120可检查与用户以及用户的平板装置相关联的元数据,并确定授权用户从用户的平板装置来访问PES平台120上的虚拟桌面实例上的PowerPoint软件。
D.云文件夹同步
很多人具有一个以上计算装置。用户可能想要从许多不同装置(如台式计算机、服务器计算机、平板装置、智能电话等等)来访问远程存储在PES平台120上的文件。尽管用户可访问这些装置上的文件,但是在一些实施方案中,安全和访问等级设置可被配置成仅允许用户在某些装置上同步文件。一旦文件被允许在计算装置上同步,那么从其他计算装置或在虚拟桌面实例上对所述文件做出的所有变化便可自动地同步至计算装置。在一些情形中,文件可被配置成可在计算装置上访问而无论网络连接性如何。
例如,用户可在其办公室中具有台式PC、平板装置和智能电话,它们全部被配置成访问存储在PES平台120上的文件。用户可通过PES平台120上托管的虚拟桌面实例来操作其台式PC上的Microsoft文档。在虚拟桌面实例上编辑MicrosoftWord文档之后,用户可关闭其办公室中他的台式PC。用户可能到达机场并期望编辑相同MicrosoftWord文档。
可能在用户的各种计算装置之间存在许多同步点。设想下述说明性实例,其中用户Bob具有虚拟桌面实例Foo。由Bob使用虚拟桌面实例Foo修改的文件可与Bob的计算装置中的一个(例如,计算装置0)同步。由Bob使用虚拟桌面实例Foo在其计算装置0上修改的文件也可与PES同步,从而使得PES将所修改文件的复本存储在Bob可访问的文件储存器(例如,可由虚拟桌面Foo访问的文件夹Foo)中。用户Bob随后可选择访问PES所存储的文件中的一个或多个,但使用第二计算装置,例如,计算装置1。计算装置1可访问所述文件(例如,从PES上的文件夹Foo),从而使得Bob可使用计算装置1上的虚拟桌面实例Foo而继续在计算装置1上操作并修改所述文件。PES可在PES中的文件储存器与计算装置1上的本地储存器之间同步文件。因此,存储在PES中的文件可与Bob的计算装置0和计算装置1同步。因此,计算装置0或计算装置1中的一者或两者上的文档的变化可与PES并与虚拟桌面实例Foo同步。此外,如果通向PES的网络连接性丢失或需要本地访问,那么用户Bob便具有计算装置0和计算装置1两者上的文件的访问权限。
II.示例性程序执行服务环境
图1B示出可经由通信网络106向多个用户计算系统104提供计算资源的程序执行服务环境100的另外示例。除了图1A中所示的部件之外,程序执行服务环境100可包括经由网络106来与PES平台120通信的一个或多个提供商计算系统108。
提供商计算系统108的用户可经由网络130将用于特定类型功能性的服务图像提交给应用市场130,所述应用市场130包括为PES平台120的一部分并在下文参照图2更加详细地进行描述。服务图像可包括应用程序、虚拟桌面配置或可经由应用市场130得到的任何其他类型计算资源的图像。应用市场130可制作所提交的服务图像和提交给所述市场的其他服务图像,所述图像对于用户计算系统104的用户而言是可用的。因此,利用用户计算系统104的用户可浏览从应用市场130得到的服务图像,获得所期望的服务图像,并在用户计算系统104处或在数据中心102的计算机系统中启动所获得的服务图像,正如下文将参照图10所进一步描述的。
在一些情况下,提供商计算系统108的用户可隶属于实体,所述实体隶属于PES平台120。在其他情况下,提供商计算系统108的用户可以是不隶属于PES平台的第三方。在所获得的服务图像是由第三方提供商提交给电子服务图像市场100的情况下,可以在由所述第三方提供商操作、维护、提供或者以其他方式与其相关联的提供商托管计算环境110中启动所获得的服务图像。提供商托管计算环境110可包括一个或多个物理计算机系统,并且在一些情况下,其自身可为PES平台。
PES平台120还可包括托管计算环境资源分配系统140,所述托管计算环境资源分配系统140可包括可促进从托管计算环境114选择数据中心102的任何系统。托管计算环境资源分配系统140可基于许多因素来选择数据中心102,所述因素包括数据中心102与用户计算系统104之间的连接的预期延时以及数据中心102处的可用计算资源。
为了促进选择数据中心102,在一些情况下,托管计算环境资源分配系统140可从共同资源库112来访问与数据中心102相关联的元数据。这个元数据可以包括可与数据中心102相关联的任何信息。例如,所述元数据可包括数据中心的102位置、数据中心102处的可用计算资源、针对数据中心102与各种地理区域122之间的连接的延时信息、对数据中心102具有访问权限的实体的身份、用于确定用户或关联实体是否被授权来访问数据中心102的访问规则等等。
在一些情形中,用户可能想要在用户计算系统104与数据中心102之间同步数据。此外,如果用户由于(例如)切换地理位置而因此访问新的数据中心102,那么其可能必须在数据中心102之间同步数据。在此类情况下,PES平台120可使用文件同步系统170来促进数据同步。下文将参照图11更加详细地描述文件同步系统170。
尽管示出为PES平台120的一部分,但是在一些情形中,托管计算环境资源分配系统140和应用市场130中的一个或多个可与PES平台120分离。此外,在一些情况下,托管计算环境资源分配系统140和应用市场中的一个或多个可包括为托管计算环境114的一部分。此外,在一些情况下,共同资源库112可包括为托管计算环境114的一部分。
III.示例性电子服务图像市场
图2示出应用市场130的示例,在一些实施方案中,所述应用市场130可包括为程序执行服务环境100的一部分。如之前提到的,应用市场可使得服务图像对用户而言是可用的。这些服务图像可包括应用程序、虚拟桌面以及可由与PES平台120相关联的实体或第三方实体提供的其他计算资源。
在示出的实施方案中,应用市场130被示出为可包括几个系统的计算机环境,所述系统包括电子目录216、市场界面212、应用资源库220、计费系统218和使用监控系统214。在一些情况下,应用市场130的系统可以是单个计算系统的一部分。在其他情况下,应用市场130的系统的至少一些可分布在多个计算机系统上。在此类情况下,计算机系统可使用一个或多个网络(如网络106等等)进行互连。下文将更加详细地描述应用市场130的系统中的每个系统。然而,应用市场130可具有比图2中所示出的更少或更多数量的部件。另外,应用市场130可包括各种网络服务或网页服务和/或端对端网络配置。因此,图2中的应用市场130的描述应被视为说明性的而不是对本公开的限制。
市场界面212促进第三方提供商所做的网络提交以及用户或客户在应用市场130中对服务图像的浏览和获得。因此,利用提供商计算系统108的提供商或其他用户可经由市场界面212向应用市场130提交一个或多个服务图像。随后,可将所提交的服务图像纳入电子目录216中。用于提交服务图像(如应用程序)的实施方案或过程在2011年9月29日提交的且标题为“托管服务图像的电子市场(ElectronicMarketplaceforHostedServiceImages)”的美国申请第13/248,227号中更加详细地加以描述,所述申请以引用方式整体并入本文中。
电子目录216包括与从多个提供商得到的服务图像和通过应用市场100的运营商得到的服务图像有关的信息,所述运营商可以与PES平台130的运营商是相同的运营商。因此,市场系统212可获取用于由多个提供商和所述市场提供的服务图像的服务图像信息,并且使得服务图像可用于来自单个网络资源(如网页)的客户。客户随后可从应用市场获取服务图像,并在利用服务图像市场布置的单个交互或顺序中或者作为与PES平台120的多个交互的一部分而在托管计算环境114或其数据中心102中启动所述服务图像。在不背离本公开范围的情况下,电子目录216可以是包含关于项目(如商品和服务)和服务图像(如应用程序和虚拟桌面)两者的信息的目录,或者可以是单独的目录,其中一个目录包含关于项目的信息并且另一个目录包含关于服务图像的信息。
说明性地,市场界面212可以生成一个或多个用户界面,通过所述用户界面,客户可利用用户计算系统104来浏览服务图像(例如,应用程序或虚拟桌面)、提交用于匹配服务图像的查询并查看关于特定服务图像的信息和细节。
在客户从应用市场130选择所期望的服务图像之后,市场界面212可促进服务图像的配置和获得并引起数据中心102处的计算机系统上的服务图像的启动。在这方面,市场界面212可接收来自用户计算系统104的付款信息,以及在一些情况下,指定服务图像应如何在数据中心102处的计算机系统上实施的信息。在一些实施方案中,客户可选择特定数据中心102以便托管所选择的服务图像。
一旦服务图像启动并在数据中心102处的计算机系统上运行,应用市场130便可经由使用监控系统214来监控服务图像提供的功能性或服务的使用。此外,应用市场130可经由计费系统218相应地对客户计费和/或向服务图像提供商付款。计费系统218可经由与市场系统212的交互来接收并提供付款信息。在一些实施方案中,计费系统218可替代地经由其他过程(如经由额外服务器、经由电话交互或其他机制)来接收并提供付款信息。此外,应用市场130可以向客户提供工具来对服务图像的配置进行管理、监控、修改等。
服务图像可存储在应用资源库220处。当用户购买、租赁、许可或获取对服务图像(如应用程序或预先配置的虚拟桌面)的访问权限时,应用市场130可访问应用资源库以便获取服务图像的复本并可将它安装在已经使用本文所述的方法选择的数据中心102处的计算机系统上。
在一些实施方案中,应用程序的提供商可向应用市场130提供限制所提供应用程序的部署或购买的规则。例如,提供商可对与提供商位于同一国家的数据中心102限制应用程序的部署。提供商可指定地域规则以便确保符合提供商国家的出口限制法律。作为另一个示例,提供商可对与提供商相关联的实体已经购买访问权限的数据中心102限制应用程序的部署。例如,如果应用程序仅针对员工使用来开发,那么提供商可指定应用程序应限于员工可访问的数据中心102。
IV.示例性数据中心
图3示出数据中心102的示例,在一些实施方案中,所述数据中心102可包括为程序执行服务环境100的一部分。如之前所述的,数据中心102可以是托管计算环境114的一部分并可包括结合应用市场130或第三方提供商来托管的快速预备和释放计算资源的集合。所述计算资源可包括彼此通信的许多计算、组网和存储装置。在一些实施方案中,计算装置可对应于物理计算装置(例如,数据中心计算机302)。在其他实施方案中,计算装置可对应于由一个或多个物理计算装置实施的虚拟机实例(例如,实例306)。在又一些其他实施方案中,计算装置可对应于虚拟计算装置和物理计算装置两者。
图3中所示的示例性数据中心102包括用于提供执行应用程序的计算资源的几个数据中心计算机302A至302N(其在本文中可单数地称为“一个数据中心计算机302”或复数地称为“多个数据中心计算机302”)。数据中心计算机302可以是任何类型的计算装置,所述计算装置包括适当地配置而用于提供上文所述计算资源的客户端计算机系统和塔式或机架安装式服务器计算机。例如,在一个实施形式中,数据中心计算机302被配置成提供计算资源的实例306A至306N。
在一个实施方案中,实例306A至306N(其在本文中可单数地称为“一个实例306”或复数地称为“多个实例306”)是虚拟机实例。在某些实施方案中,实例306可基于本文所述的、与PES平台120相关联的实体或第三方实体所提供的服务图像,或者可以是所述服务图像的实例。虚拟机实例可包括像物理机一样执行程序的机器(例如,计算机)的软件实施形式的实例。在虚拟机实例的示例中,数据中心计算机302中的每个可被配置成执行能够执行所述实例的实例管理器308。实例管理器308可以(例如)是管理程序或被配置成使得能够在单个数据中心计算机302上执行多个实例306的另一种类型程序。实例306中的每个可被配置成执行应用程序的全部或一部分。此外,在一些情况下,实例306可被配置成提供虚拟桌面环境的访问权限。
应了解,尽管本文所公开的实施方案主要是在虚拟机实例的情境中描述的,但是其他类型的实例也可与本文所公开的概念和技术一起使用。例如,本文所公开的技术可与存储资源的实例、数据通信资源的实例以及其他类型的资源一起使用。本文所公开的实施方案也可直接在计算机系统上执行应用程序的全部或一部分,而不利用虚拟机实例。
图3中所示的数据中心102也包括可执行软件或硬件部件来管理数据中心102的操作的管理计算机304,在一些情况下,所述数据中心102包括数据中心计算机302和/或实例306。详细而言,管理计算机304可包括管理部件310。在一些情况下,PES平台120的用户(例如,管理员)可利用用户计算系统104来访问管理部件310以便配置数据中心102和客户购买的实例206的操作的各种方面。在一些情况下,客户(例如,企业客户的管理员)可访问管理部件310以便配置数据中心102的购买或租赁部分。例如,客户可购买实例并对所述实例的配置做出改变,或者如下文进一步描述的,向额外用户(例如,企业客户的额外员工)供给用于在数据中心102处分配计算机资源的布置规则。客户也可指定关于所购买的实例如何响应于需求而定标的设置。此外,客户也可提供请求来启动管理部件310的实例。在一些实施方案中,用户可能不具有关于数据中心102的功能性和/或管理的知识。在此类情况下,数据中心102可使用(例如)管理部件310来自动地配置数据中心102的计算资源以供用户使用。
管理计算机304还可以包括可基于PES平台108的用户(例如,管理员)所定义的规则来定标实例306的自动定标部件312。例如,在一个实施方案中,自动定标部件312允许用户指定用于确定新实例应何时实例化的放大规则以及用于确定现有实例应何时终止的缩小规则。在一些实施方案中,放大规则和缩小规则可基于数据中心102的利用、服务品质保证、一天中的时间和/或提供有数据中心102的访问权限的客户,等等。
在一些情况下,自动定标部件312可在单个管理计算机304上执行或者在数据中心102和/或PES平台120中的多个计算机上并行地执行。另外,自动定标部件312可由在PES平台120中的不同数据中心302或其他计算装置上执行的许多子部件组成。自动定标部件312可实施为软件、硬件或两者的组合。在一些情况下,自动定标部件312可(例如)在内部管理网络上促进在PES平台120中监控可用计算资源。另外或作为替代地,可用计算资源可由数据中心资源分配系统330监控。
管理计算机304也可包括部署部件314以便辅助计算资源的新实例306的部署。部署部件314可从用户或系统接受包括描述新实例306应如何配置的数据的配置。例如,假设新实例306A用于虚拟桌面,所述配置可指定应安装有新实例306A或可由实例306A的虚拟桌面访问的一个或多个应用程序。
此外,部署部件314可提供将为配置新实例306而执行的脚本和/或其他类型的代码,可提供指定应用高速缓存器应如何准备的高速缓存器预热逻辑和可促进创建实例306的其他类型信息。在一些情况下,所述配置、高速缓存器预热逻辑和其他信息可由用户利用管理部件310来指定或通过直接将此信息提供给部署部件314来指定。也可利用其他机制来配置部署部件314的操作。
在一些实施方案中,数据中心102包括数据中心资源分配系统330,所述数据中心资源分配系统330可包括促进选择数据中心计算机302以便向用户提供计算资源访问权限的任何系统。数据中心资源分配系统330可基于许多因素来选择数据中心计算机302,所述因素包括数据中心计算机302的负载、数据中心计算机302上的可用资源、所请求的计算资源的类型、与请求用户相关联的元数据等等。在一些情况下,数据中心资源分配系统330可基于由与关联于用户实体相关联的用户和/或管理员提供的实例或计算资源布置规则来选择数据中心。这些计算资源布置规则可以包括可用来确定在何处布置实例306以便使得用户能够访问计算资源的任何因素。下文将参照图8和图9更加详细地论述计算资源布置规则和数据中心计算机的选择。
计算资源布置规则和/或与数据中心102相关联的属性或元数据可存储在数据中心资源库332处。与数据中心102相关联的属性或元数据可以包括可与数据中心相关联的任何信息。例如,所述元数据可包括与数据中心102处的可用物理资源有关的信息、数据中心102处的可用软件资源、数据中心102的位置、被授权来访问数据中心102的用户和/或实体的身份、与数据中心102相关联的延时信息等等。
在图3中所示的示例性数据中心102中,网络306用来将数据中心计算机302A至302N、管理计算机304、数据中心资源分配系统330以及数据中心资源库332互连。网络306可包括之前已经参照网络106所描述的任何类型的网络,包括LAN。此外,网络306也可连接至图1A和图1B中所示出的网络106。应了解,图1A、图1B和图3中所示出的网络拓扑已经极大地简化,并且更多的网络和网络装置可用来将本文所公开的各种计算系统互连。适当的负载平衡装置或软件模块也可用于平衡数据中心102A至102N中的每个之间、每个数据中心102中的数据中心计算机302A至302N中的每个之间,以及由PES平台120的每个客户购买或租赁的实例306之间的负载。
应了解,图3中所述的数据中心102仅是说明性的并且可利用其他实施形式。详细而言,本文中描述为由管理部件310、自动定标部件312和部署部件314执行的功能性可由彼此执行、可由其他部件执行或者可由这些部件或其他部件的组合来执行。此外,描述为由数据中心资源分配系统330执行的功能性可由管理计算机304的一个或多个部件执行,或者反之亦然。另外,在一些情况下,数据中心资源分配系统330可包括为管理计算机304的一部分,或者反之亦然。另外地,应了解,数据中心102的各种部件可在软件、硬件或者软件和硬件的组合中实施。
V.示例性资源分配系统
图4A示出托管计算环境资源分配系统140的示例,在一些实施方案中,所述托管计算环境资源分配系统140可包括为程序执行服务环境100的一部分。如之前所述的,托管计算环境资源分配系统140可包括用于促进从托管计算环境114选择数据中心102的任何系统。托管计算环境资源分配系统140可以包括可用来帮助识别数据中心102的许多子系统。这些子系统可包括数据中心计算机容量识别模块402、实例利用模块404、延时计算模块406和应用资源识别模块408。
在使用数据中心计算机容量识别模块402的情况下,托管计算环境资源分配系统140可识别与每个数据中心102处的数据中心计算机302的容量相关的容量信息。容量可指代与数据中心计算机302相关联的物理资源,如处理器、存储器以及存储资源或软件资源,如应用程序或虚拟机容量。此外,由数据中心计算机容量识别模块402确定的信息可包括与数据中心计算机302的容量相关联的任何信息。例如,数据中心容量信息可包括由数据中心计算机302或数据中心102支持的总容量、数据中心102处所用的和/或可用的容量、数据中心102处可用的数据中心计算机302的类型,等等。
在一些实施方案中,托管计算环境资源分配系统140可通过访问数据中心资源分配系统330来识别数据中心计算机302的容量信息。另外或作为替代地,托管计算环境资源分配系统140可访问共同资源库112以便确定数据中心102的容量信息。
实例利用模块404可识别数据中心102处所利用的和/或可用的实例302的数量。在一些情况下,可由数据中心102支持的实例302的数量是无限的。在其他情况下,可由数据中心102支持的实例302的数量是基于可用的计算资源(例如,数据中心计算机302的处理器或存储器)和/或数据中心计算机302的管理员设置。类似于数据中心计算机容量识别模块,在一些情况下,实例利用模块404可访问数据中心102的数据中心资源分配系统330和共同资源库112中的一个或多个以便确定数据中心102处的实例306的利用。在一些实施方案中,实例利用模块404可包括为数据中心计算机容量识别模块402的一部分。
应用资源识别模块408可通过访问数据中心资源分配系统330和/或共同资源库112来识别数据中心102处可用的应用程序或服务图像。在一些实施方案中,特定应用程序可从数据中心102的子集进行限制。例如,应用程序提供商可能期望限制可提供应用程序访问权限的数据中心102,例如,由于成本原因或为了防止所述应用程序违反出口法律。在一些情况下,数据中心102可具有用于应用程序的有限数量许可的访问权限。在此类情况下,应用资源识别模块408可识别许可是否可用于所述应用程序。在一些实施方案中,应用资源识别模块408可包括为数据中心容量识别模块402和/或实例利用模块404的一部分。
在某些情况下,重要的是在与数据中心102的通信中具有尽可能小的延时。延时计算模块406可计算数据中心102与用户计算系统104之间的估计延时,从而优化数据中心选择以便提供最小延时。用于选择数据中心102并计算预期延时的过程在下文中将参照图6和图7进一步加以描述。
VI.示例性数据中心资源分配系统
图4B示出数据中心资源分配系统330的示例,在一些实施方案中,所述数据中心资源分配系统330可包括为数据中心102的一部分。在一些情形中,每个数据中心102可包括其自己的数据中心资源分配系统330,所述数据中心资源分配系统330可与PES平台120的托管计算环境资源分配系统140通信。
如可通过比较图4B和图4A而看出的,数据中心资源分配系统330可包括与托管计算环境资源分配系统140类似的系统。在一些实施方案中,托管计算环境资源分配系统140的系统可促进识别PES平台120内的资源的可用性,而数据中心资源分配系统330可促进识别包括数据中心资源分配系统330的特定数据中心102内的资源的可用性。
在一些情形中,数据中心资源分配系统330可包括数据中心计算机容量识别模块452、实例利用模块454、延时计算模块456和应用资源识别模块458。在一些情况下,数据中心资源分配系统330的系统可提供信息给托管计算环境资源分配系统140的对应系统以便促进托管计算环境资源分配系统140所做的确定和/或计算。
因此,例如,数据中心计算机容量识别模块452可将用于数据中心102的数据中心计算机302的容量信息提供给托管计算环境资源分配系统140的数据中心计算机容量识别模块402。同样地,实例利用模块454可将与数据中心102的实例306的利用和/或可用性有关的信息提供给托管计算环境资源分配系统140的实例利用模块404。此外,应用资源识别模块458可将与数据中心102处的可用应用程序相关的信息提供给应用资源识别模块408。
除了上文所述的系统之外,数据中心资源分配系统330也可包括延时计算模块456。延时计算模块456可识别信息以便促进延时计算模块406计算与用户计算系统104的连接的预期延时。例如,延时计算模块456可提供针对通向地理区域122B中的用户计算系统104的连接的历史延时信息。
在一些实施方案中,数据中心资源分配系统330的一些子系统可进行组合和/或是可选的。例如,在一些情况下,数据中心资源分配系统330可不包括延时计算模块456。作为第二示例,数据中心计算机容量识别模块452和实例利用模块454可进行组合。
VII.示例性桌面实例
图5示出实例500的示例,在一些实施方案中,所述实例500可由数据中心102的数据中心计算机302托管。例如,实例500可以是实例306的示例,所述实例306可经过创建而向用户提供对数据中心计算机302上通过数据中心计算机302的实例管理器308而创建的虚拟桌面的访问权限。在一些情况下,实例500可由或致使由部署部件314响应于用户的请求来创建。
一般而言,实例500包括经过实例化而向用户提供计算资源或计算节点(如虚拟桌面)访问权限的虚拟机。然而,在一些情况下,实例500可在不使用虚拟机的情况下创建于数据中心计算机302上。
在图5所示出的示例中,实例500包括桌面环境502。桌面环境502可包括表示虚拟桌面的任何类型环境。例如,所述桌面环境可包括用于与存储在PES平台120上或由PES平台120托管的文件和/或应用程序进行交互的界面。在一些情况下,桌面环境502可包括用于访问由另一个实例306包括或托管的数据和/或应用程序的快捷方式。此外,在一些情况下,桌面环境502可提供用于访问除桌面之外的文件和应用程序的额外或替代界面。例如,桌面环境502可包括文件管理器或可为文件管理器。在一些情况下,无论底层操作系统和/或硬件如何,桌面环境502都可呈现具体外观和感觉。例如,桌面环境502可被配置成模仿Windows桌面、Linux桌面或iOS桌面。在其他情况下,实例500可以是由用户选择的虚拟机计算资源的一部分。在此类情况下,桌面环境502可以是用于虚拟机计算资源的所选操作系统(例如,Windows、Linux等等)的桌面环境。
桌面环境502可包括应用访问模块504、应用市场界面506和文件访问模块508。当用户尝试经由实例500(例如,从桌面环境502上的快捷方式)访问应用程序时,应用访问模块504可向用户提供所述应用程序的访问权限。在一些情况下,应用访问模块504可获取包括用户所期望的应用程序的另一个实例的访问权限。在一些实施方案中,获取应用程序的访问权限可包括应用访问模块504确定是否授权用户来访问应用程序,并且,如果不授权,那么应用访问模块504可使用应用市场界面506来向用户提供从应用市场130购买或租赁应用程序的机会。此外,用户可使用应用市场界面506来浏览可经由应用市场130得到的应用程序或服务图像。
文件访问模块508可向用户提供不包括在实例500内的文件或数据的访问权限。例如,如果用户尝试经由桌面环境502来访问文件,那么文件访问模块508可定位所述文件,所述文件可存储在另一个实例306或另一个数据中心计算机302(如存储服务器)中。一旦文件访问模块508已经定位所述文件,它便可经由桌面环境502向用户提供文件的访问权限。如果所述文件被用户修改,那么文件访问模块508可同步所述文件,从而使得所修改的文件可由用户在相同计算装置或不同计算装置上访问。下文将参照图12和图13来描述用于同步文件的过程。
VIII.示例性数据中心选择过程
图6示出数据中心选择过程600的示例。过程600可以至少部分地由可选择供用户(例如,客户或其员工)使用的数据中心的任何系统来实施。例如,过程600可完全地或部分地由PES平台120、托管计算环境资源分配系统140、数据中心计算机容量识别模块402、实例利用模块404、延时计算模块406、应用资源识别模块408和数据中心资源分配系统330等来实施。尽管任何数量的系统可完全地或部分地实施过程600,但是为了简化论述,将参考特定系统描述过程600的部分。
在某些情况下,过程600至少部分地基于用户的计算机系统与数据中心之间的延时的测量来为用户选择最佳数据中心。有利地,在某些实施方案中,过程600可自动地执行和/或在不知悉用户的情况下执行。在其他实施方案中,用户可发起过程600。
过程600在方框602处开始,其中(例如)PES平台120从用户计算系统104(例如,用户计算系统104A)接收用以获取计算资源的访问权限的请求。所述计算请求可响应于用户命令而接收或自动地从与用户计算系统104相关联的应用程序或系统来接收。此外,所请求的计算资源可以包括可由PES平台120提供的任何类型资源。例如,计算资源可以是应用程序、虚拟桌面环境、用于数据中心或用户计算系统104处托管的应用程序的计算资源、文件存储空间或可由PES平台120提供的任何其他资源。
在方框604处,托管计算环境资源分配系统140识别用户计算系统104的地理位置。识别用户计算系统104的地理位置可包括在特定性阈值程度内识别用户计算系统104的位置。例如,方框604可包括识别特定地址、邮政编码、乡镇、县城、国家或用户计算系统104所位于的任何其他地理区域。
此外,托管计算环境资源分配系统140可使用一个或多个机制来识别或确认用户计算系统104的地理位置。例如,资源分配系统140可使用用户计算系统104的互联网协议(IP)地址来识别其位置。作为另一个示例,托管计算环境资源分配系统140可使用全球定位系统(GPS)数据来识别用户计算系统104的位置。在又一个示例中,托管计算环境资源分配系统140可查询用户计算系统104的用户以便建立其位置。
在方框606处,托管计算环境资源分配系统140确定一组数据中心102,所述组数据中心102包括在方框602处请求的、处于用户计算装置104的半径内的计算资源。托管计算环境资源分配系统140可使用数据中心计算机容量识别模块402、实例利用模块404和应用资源识别模块408中的一个或多个来促进识别包括所请求计算资源的所述组数据中心102。此外,在一些情况下,托管计算环境资源分配系统140可访问每个数据中心102的数据中心资源分配系统330,以便促进确定包括所请求计算资源的所述组数据中心102。此外,在一些情况下,托管计算环境资源分配系统140从用户被授权访问的数据中心来确定所述组数据中心102。确定数据中心102是否包括所请求的资源也可包括,基于(例如)与用户或雇用用户的实体相关联的用户概要或者一组桌面布置规则来确定数据中心102是否包括额外资源,下文将更加详细地描述所述用户概要文件桌面布置规则。例如,托管计算环境资源分配系统140可确定在与用户相关联的使用概要指示用户利用超过使用阈值量的存储资源时,每个数据中心102是否包括至少可用性阈值量的数据存储可用性。
在一些情况下,所述半径可预先定义或可由用户设置。在其他情况下,可识别包括计算资源的所有数据中心,而无论它们相对于用户计算系统104的位置如何。在一些实施方案中,在方框602处接收的请求可识别多个计算资源。在此类情况下,托管计算环境资源分配系统140识别包括所有期望计算资源的所述组数据中心102。
然而,在没有任何数据中心102包括所有期望计算资源的情况下,托管计算环境资源分配系统140可识别包括最大数量的请求计算资源的所述组数据中心102。在一些情况下,用户可识别比其他资源更重要的某些请求计算资源。在此类情况下,当识别包括所请求计算资源中的一些但不是全部的数据中心102时,托管计算环境资源分配系统140可使所述更重要的计算资源的权重更高。
尽管使用术语“半径”,但是资源分配系统140所检查的地理区域不必须是圆形的或以用户计算装置104为中心。相反,在一些情况下,所搜索的地理区域可以是任何其他几何形状,或者可基于地理区(如州或国家)的地缘政治细分。
在一些实施方案中,在方框606处识别的所述组数据中心102可基于用户的任何属性或与用户相关联的元数据来过滤。例如,数据中心的选择可基于请求资源访问权限的用户的从属关系来过滤。例如,假设用户是实体的员工,如果所述实体已经购买三个数据中心的访问权限,那么在方框606处识别的所述组数据中心102将受限于所述三个数据中心,即使额外的数据中心存在于包括用户所期望的计算资源的半径内也是如此。作为另一个示例,所识别的所述组数据中心102可基于用户购买的服务的品质来过滤。因此,用户需要无停用期的数据中心102的计算资源的恒久访问权限可购买白金等级访问权限。在此类情况下,方框606处识别的数据中心102可经过过滤来识别相比于用于满足于青铜等级访问权限的用户的数据中心102而言具有更高可靠率和更低订阅率的数据中心102。
在一些实施方案中,如果在方框606处没有识别到数据中心102,那么托管计算环境资源分配系统140可扩展搜索半径。另外或作为替代地,托管计算环境资源分配系统140可致使将计算资源从包括所述资源的数据中心复制到方框606处搜索的半径内的数据中心。在其他情况下,如果搜索半径内没有数据中心102包括所期望的计算资源,那么便可拒绝用户访问计算资源。
在一些实施方案中,方框606是可选的。例如,在一些情况下,每个数据中心102可包括相同资源和/或可位于指定半径内。作为第二示例,过程600可为所有数据中心102执行。
在方框608处,延时计算模块406为来自方框606处识别的所述组数据中心的每个数据中心102计算延时因数。所述延时因数表示数据中心102与用户计算系统104之间的通信的预期延时。此外,所述延时因数可基于各种因素,包括数据中心102与用户计算系统104之间的距离、一个或多个延时测试的结果和历史延时信息等等。在一些实施方案中,所述延时因数是基于与用户计算机系统104和/或数据中心102相关联的特定系统来计算。例如,所述延时因数可基于数据中心102处的出口计算系统(例如,在网络306处将数据中心连接至网络106的路由器或网关)与用户计算系统104之间的通信。作为第二示例,所述延时因数可基于定位在地理区域122中、与用户计算系统104通信的路由器和数据中心102处的系统之间的通信。在一些情况下,数据中心102中的至少一些的延时因数可并行地计算,从而相比于每个数据中心102的延时因数是循序计算的情况而言加快过程600的执行。下文将参照图7更加详细地论述延时因数的计算。
托管计算环境资源分配系统140在方框610处识别具有最低延时因数的数据中心102。如果一个以上数据中心102共享最低延时因数,那么托管计算环境资源分配系统140可使用平局决胜因素来选择数据中心102。所述平局决胜因素可以包括可用来相对于另一个数据中心而选择一个数据中心的任何特性。例如,平局决胜因素可基于每个数据中心102的利用率、每个数据中心102处的未分配资源、每个数据中心102至用户计算系统104的距离、具有每个数据中心102的访问权限的额外用户等等中的一个或多个。或者,托管计算环境资源分配系统140可从共享最低延时率的所述组数据中心102来随机选择数据中心102处。作为另一个替代方案,托管计算环境资源分配系统140可使用按特定顺序为每个所处理的请求来选择不同数据中心102的轮循过程。
在一些实施方案中,在方框610处选择的数据中心102可以不是具有最低延时因数的数据中心,但可以是具有最低延时因数的、满足一个或多个额外要求的数据中心102。举例而言,假设出于冗余目的,每个数据中心102被配置成分配最多90%的可用处理器资源。如果数据中心102a已经分配有90%的可用处理器资源,那么数据中心102a可能不符合选择条件,即使它与特定请求用户计算系统104的最低延时因数相关联。
在方框612处,托管计算环境114向用户计算系统104的用户授予所识别数据中心102处的计算资源的访问权限。在一些实施方案中,向用户授予数据中心102的访问权限可包括将用户的一个或多个账户与数据中心102相关联。另外或作为替代地,向用户授予数据中心102的访问权限可包括将用户计算系统104与数据中心102相关联。此外,在一些情况下,用户的每个用户计算系统104可与数据中心102相关联以便(例如)维护用户的可用数据和资源的一致性。此外,在一些情况下,授予数据中心102的访问权限可包括每次用户或相关联的用户计算系统104尝试从PES平台120访问数据或计算资源时,便自动地连接至数据中心102。
在一些实施方案中,托管计算环境资源分配系统140可使用用户计算系统104的位置来确定用于执行与过程600相关联的一个或多个操作的顺序。例如,在方框608处执行延时计算的顺序可基于用户计算系统104的位置。
IX.示例性延时因数计算过程
图7示出延时因数计算过程700的示例。过程700可以至少部分地由可为数据中心102计算延时因数的任何系统来实施。所述延时因数可包括用户计算系统104与数据中心102之间的通信的预期延时等级的测量。此外,过程700可作为过程600的一部分(例如,作为方框608的一部分)来执行。过程700可完全地或部分地(例如)由PES平台120、托管计算环境资源分配系统140、延时计算模块406、数据中心资源分配系统330和延时计算模块456等来实施。尽管任何数量的系统都可完全地或部分地实施过程700,但是为了简化论述,将参考特定系统来描述过程700的部分。
过程700在方框702处开始,其中(例如)延时计算模块406接收用户计算系统104的地理位置。所述地理位置可从托管计算环境资源分配系统140或可确定用户计算系统104的地理位置的任何系统来接收。或者,延时计算模块406可(例如)基于用户计算系统104的IP地址自行确定地理位置。在一些实施方案中,方框702可包括上文参照方框604所描述的实施方案中的一些或全部。
在方框704处,延时计算模块406接收数据中心102的识别信息。延时计算模块406在方框706处确定数据中心102的地理位置。数据中心102的地理位置可通过访问共同资源库112来确定。或者,每个数据中心102的地理位置可存储在延时计算模块406处。作为另一个替代方案,延时计算模块406可查询数据中心102以便确定其地理位置。
基于用户计算系统102和数据中心102的地理位置,延时计算模块406可在方框708处计算用户计算系统104与数据中心102之间的距离。在一些情况下,所述距离可至少部分地基于用户计算系统104与数据中心102之间的物理距离。另外或作为替代地,所述距离可至少部分地基于数据中心102与用户计算系统104之间的一个或多个网络通信路径的长度。
在方框710处,延时计算模块406可基于在方框708处计算的距离来确定第一延时数L1。在一些实施方案中,第一延时数还可至少部分地基于用户计算系统104与数据中心102之间利用的连接和/或网络硬件的类型。例如,如果数据中心102与用户计算系统104之间的路线的一半包括光纤,那么与铜线服务于所述路线的那部分的情况下相比,可确定不同的第一延时数。
延时计算模块406在方框712处执行一个或多个延时测试以便获取第二延时数L2。所述延时测试可以包括可用来获取两个计算系统之间的延时估计的任何类型网络或连接测试。例如,所述延时测试可包括ping操作、路由跟踪操作、路由跟踪6操作、跟踪操作、路径跟踪操作等等。在执行多个延时测试的实施方案中,方框712可包括汇总所述延时测试的结果(例如,求平均值、求和等等)。
在方框714处,延时计算模块406检索数据中心102与最接近用户计算系统104的网络跃点之间的历史延时信息。所述网络跃点可包括在数据中心102与用户计算系统104之间发送和/或转发通信数据包的任何网络或通信硬件(例如,路由器或网关)。最接近用户计算系统104的网络跃点可指代物理上最接近用户计算系统104的网络跃点和/或当由用户计算系统104发送至PES平台120时接收数据包的第一个网络跃点。在一些实施方案中,识别所述网络跃点可包括访问查找表和/或访问网络拓扑图来确定最接近用户计算系统104的网络跃点。所述查找表和/或网络图可存储在共同资源库112处或存储在网络106中所包括的公共可访问资源库处。
在使用历史延时信息的情况下,延时计算模块406在方框716处生成第三延时数L3。第三延时数可从历史延时信息中得出(例如,历史延时信息的平均数或时间加权平均数等等)。在方框718处,延时计算模块406基于第一延时数、第二延时数和第三延时数来为数据中心102计算延时因数D。此外,在一些情况下,每个延时数可使用(例如)凭经验确定的加权因数(例如,A1、A2和A3)加权。因此,例如,延时因数可使用下述公式1来计算。
D=A1*L1+A2*L2+A3*L3(1)
尽管使用公式1计算的延时因数是第一延时数、第二延时数和第三延时数的加权总和,但是将延时因数基于延时数的其他数学组合也是可能的。此外,在一些情况下,延时因数可通过访问由延时数中的一个或多个或者其组合进行索引的延时因数表来确定。
在一些实施方案中,延时数中的一个或多个可从计算延时因数排除。在此类情形中,来自图7的关联方框是可选的。例如,延时因数可在没有与历史延时信息相关的第三延时数的情况下进行计算。在此类情况下,方框714和方框716是可选的。
在一些情况下,延时数或延时因数中的一个或多个至少部分地和数据中心102与用户计算系统104之间的通信信道的延时相互关联。因此,在一些实施方案中,过程7和过程6可用来选择相比于用户计算系统104与其他数据中心102之间的通信信道而言预期具有最小延时的数据中心102。另外或作为替代地,过程7和过程6可用来选择在与用户计算装置104通信时预期具有低于阈值级别的延时的数据中心102。
X.示例性桌面布置配置过程
图8示出桌面布置配置过程800的示例。过程800可至少部分由可基于针对实例(例如,虚拟桌面、应用程序等等)分配的一组规则(例如,桌面布置规则)来配置PES平台120和/或其一个或多个数据中心102的任何系统来实施。例如,过程800可完全地或部分地由PES平台120、托管计算环境114、托管计算环境资源分配系统140、数据中心资源分配系统330、管理计算机304、管理部件310和部署部件314等来实施。尽管任何数量的系统都可完全地或部分地实施过程800,但是为了简化论述,将参考特定系统来描述过程800的部分。
尽管是参照虚拟桌面和桌面布置规则来描述图8,但是过程800并不受限于此。过程800可用来基于任何类型的计算资源布置规则而配置数据中心102,所述计算资源布置规则用于确定如何分配任何类型的计算资源,包括虚拟桌面、应用程序、处理器利用、数据存储等等。
过程800在方框802处开始,其中(例如)托管计算环境114经由(例如)用户计算系统104接收来自用户的用户认证信息。在一些情况下,托管计算环境114的特定数据中心102接收所述认证信息。尽管并非所有情况下都是必要的,但是通常用户相比于至少一些其他用户而言与升级权限相关联(例如,管理员或其他超级用户)。
在方框804处,托管计算环境114接收来自用户的桌面布置规则。所述桌面布置规则可与特定数据中心102相关联或与多个数据中心相关联。例如,桌面布置规则可与用户被授权访问的所有数据中心102相关联。作为第二示例,桌面布置规则可与特定群组的用户(例如,实体的开发团队或市场营销团队)被授权访问的所有数据中心相关联。
此外,桌面布置规则可包括用于在数据中心102处布置虚拟桌面的任何类型规则。例如,桌面布置规则可指定数据中心102处的任何特定计算系统服务不超过实体的阈值百分比的用户或者实体的子群组或部门(例如,会计、研发等等)的用户。在一些情况下,桌面布置规则可指定特定群组的两个成员不会由数据中心102处的同一计算机系统来服务。此外,在一些情况下,桌面布置规则可指定用户子集被分配至不共享机架、备用电池、电力总线、机架交换机、电源、路由器、数据存储、数据存储系统等的计算机系统。有利地,在某些实施方案中,通过限制被分配有来自特定计算系统或来自共享一些类型资源(例如,备用电池)的一组计算系统的计算资源的用户的百分比,失去访问权限或需要转移至另一个计算系统的用户的数量便被限制以防计算系统变得不可访问或资源变得不可访问(例如,数据中心102处的路由器),从而减轻计算资源丢失时可能发生的负面后果。
在一些情况下,桌面布置规则可基于与由桌面布置规则管控的用户相关联的用户概要。例如,桌面布置规则可指定用户概要指示用户利用许多图形密集型应用程序的用户分配有在数据中心102处包括比数据中心102处的一些其他计算系统更强显卡的计算系统。作为第二示例,用户概要指示用户需要许多存储空间的用户可被分配有数据中心102处的计算系统的访问权限,所述计算系统与具有超过阈值的或比其他数据储存器的存储空间可用性更大的存储空间可用性的数据储存器相关联。
另外,在一些情况下,桌面布置规则可包括直接地或经由虚拟桌面来指定一组用户被授权访问的应用程序的规则。此外,桌面布置规则可指定用户所要求的虚拟桌面默认配置。
此外,如上文陈述的,在一些实施方案中,桌面布置规则可与任何类型的计算资源而不仅是桌面或虚拟桌面相关联。
在方框806处,托管计算环境114识别与桌面布置规则相关联的实体(例如,雇用用户的公司)。在一些实施方案中,托管计算环境114在方框806处识别与实体相关联的用户子群。用户子群可以是(例如)实体的组织结构内的部门或位于特定位置(例如,实体的英国办公室)的用户群组。在一些实施方案中,方框806是可选的。例如,用户可设置供用户个人使用的桌面布置规则。
托管计算环境114在方框808处确认用户被授权来为方框806处识别的实体设置桌面布置规则。授权的这个确定可至少部分地基于方框802处接收的用户认证信息来做出。此外,在一些情况下,授权的确定可基于与用户相关联的元数据(如用户在所述实体中的部门、角色、职称)来做出。
在方框810处,托管计算环境114识别与用户相关联的一个或多个数据中心102。另外或作为替代地,托管计算环境114可基于桌面布置规则来识别所述一个或多个数据中心102。在一些实施方案中,方框810是可选的。例如,桌面布置规则可为托管计算环境114的所有数据中心102指定桌面布置规则。
在方框812处,托管计算环境114在方框810处识别的所述一个或多个数据中心102处将桌面布置规则与实体相关联。在一个或多个数据中心102处将桌面布置规则与实体相关联,可包括将桌面布置规则存储在方框810处所识别的每个数据中心102的数据中心资源库332处。此外,在一些情况下,方框812可包括将桌面布置规则提供给管理计算机304。
XI.示例性桌面预备过程
图9示出桌面预备过程900的示例。过程900可以至少部分地由可在数据中心102处的计算系统(例如,数据中心计算机302)上部署实例的任何系统来实施。例如,过程900可完全地或部分地由PES平台120、托管计算环境114、数据中心102、管理计算机304、管理部件310和部署部件314等来实施。尽管任何数量的系统都可完全地或部分地实施过程900,但是为了简化论述,将参考特定系统来描述过程900的部分。
尽管是参考虚拟桌面和桌面实例来描述图9,但是过程900并不受限于此。过程900可以用来部署可在数据中心102的计算系统处实例化的任何类型实例,包括(例如)应用程序、存储文件夹等等。
过程900在方框902处开始,其中(例如)管理计算机304从用户计算系统104接收用以获取虚拟桌面会话的访问权限的请求。所述请求可从用户或应用程序接收。如之前所陈述的,所述请求不限于虚拟桌面。例如,所述请求可针对应用程序的实例的访问权限。
在方框904处,管理部件310识别与用户计算系统104相关联的用户。管理部件310可基于在方框902处利用请求而接收的认证信息来识别用户。另外或作为替代地,管理部件310可基于与用户计算系统104相关联的元数据(如与用户计算系统104相关联的IP地址或名称)来识别用户。在一些情况下,不是识别用户或除了识别用户之外,管理部件310可识别与用户相关联的实体、部门或其他群组。在一些实施方案中,方框904是可选的。例如,桌面实例的预备可基于数据中心102处的每个数据中心计算机302的利用的测量或者不需要请求用户或关联实体等的识别的任何其他因素。
在决策方框906处,部署部件314确定是否存在与用户相关联的活动桌面实例306。活动实例306可包括在数据中心计算机302上运行或当前正执行的实例。此外,在一些情况下,活动实例306可包括已经缓存在数据中心计算机302处的实例。如果部署部件314确定存在与用户相关联的活动桌面,那么部署部件314在方框908处可向用户提供托管现有桌面实例306的数据中心计算机302处的现有桌面实例306的访问权限。
在一些实施方案中,决策方框906和方框908中的一个或多个是可选的。例如,如果请求用户是新用户或在方框902处接收的请求明确地请求新的桌面实例,那么决策方框906便是可选的。作为另一个示例,如果托管现有桌面实例306的数据中心计算机302的负载或利用超出阈值(例如,归因于访问数据中心计算机302的额外用户),那么用户可能不被授予现有桌面实例的访问权限并且方框908是可选的。或者,现有桌面实例可作为方框908的一部分转移至另一个数据中心计算机302,从而使用户能够获取现有桌面实例的访问权限,尽管最初托管现有桌面实例的数据中心计算机302满足其阈值负载或利用也是如此。
如果部署部件314确定不存在与用户相关联的活动桌面,那么在方框910处管理部件310便识别与用户相关联的元数据。另外或作为替代地,管理部件识别与用户计算系统104相关联的元数据。在一些实施方案中,管理部件310通过访问目录来识别元数据以便获取与用户相关联的信息,如用户在实体中的角色、职称、部门等等。这个目录可使用轻量目录访问协议(LDAP)或用于访问和维护分布式目录的任何其他已知应用协议来实施和/或访问。在一些情况下,所述目录可存储在数据中心资源库332处。在一些实施方案中,所述元数据可包括与用户的计算资源使用相关联的用户概要信息。例如,用户概要可指示用户是否利用图形密集型的许多应用程序(例如,动画程序、建模程序等等)。作为第二示例,用户概要可指示相比隶属于雇用数据中心102的所述用户或其他用户的实体的其他用户而言,所述用户生成许多数据,并且因此可能比其他用户需要更多的存储空间。
在方框912处,管理部件310基于在方框910处获取的元数据来识别桌面布置规则。这些桌面布置规则可从数据中心资源库332访问。例如,如果用户被识别为属于经纪实体处的交易柜台部门,那么管理部件310可检索与经济实体的交易柜台部门相关联的桌面布置规则。
在方框914处部署部件314基于桌面布置规则来识别数据中心计算机302。如上文参照图8所述的,桌面布置规则可包括用于选择数据中心102处的数据中心计算机302以便托管实例(例如,虚拟桌面实例)和/或提供计算资源给用户的任何规则。例如,桌面布置规则可指定没有任何数据中心计算机会托管来自实体部门的两个以上员工。作为第二示例,桌面布置规则可指定特定部门或特定实体不共享同一数据中心计算机302的访问权限。在一些实施方案中,部署部件314可使用用户的使用概要来促进识别数据中心计算机302。
在一些实施方案中,部署部件314可使用数据中心资源分配系统330来促进识别数据中心计算机302。例如,部署部件314可使用数据中心计算机容量识别模块452来识别数据中心计算302的可用容量。作为第二示例,部署部件314可使用实例利用模块454来确定数据中心计算机302处的额外实例的可用性。此外,部署部件314可使用应用资源识别模块458来确定数据中心计算机302是否具有用户所请求的或指定为用于配置虚拟桌面实例的桌面布置规则的一部分的应用资源的访问权限。
一旦数据中心计算机302已经选择,在方框916处部署部件314便在所识别数据中心计算机302上创建桌面实例。在一些情况下,创建桌面实例可基于桌面布置规则。例如,桌面布置规则可指定用于桌面实例的配置(例如,为桌面实例或预先配置来经由桌面实例访问的应用程序所分配的存储器量)。
在方框918处,管理部件310向用户提供桌面实例的访问权限。在一些实施方案中,方框918还可包括记录桌面实例的创建和/或访问。此外,在一些情况下,可向另一个用户(例如,管理员)通知桌面实例的创建和/或访问。
XII.示例性应用访问过程
图10示出访问可从PES平台120的数据中心得到的应用程序的过程的实施方案。如之前在图1B中所描述的,每个数据中心包括可配置来执行许多虚拟桌面实例的一个或多个物理计算系统。每个虚拟桌面实例可包括操作系统,如Microsoft操作系统、MAC操作系统、Linux操作系统、Solaris操作系统等等。包括在每个虚拟桌面实例中的操作系统可被配置来执行应用市场130中的一个或多个应用程序。虚拟桌面实例可由PES的用户经由网络来访问。此外,PES的用户可经由市场界面212而在应用市场130中搜索应用程序或虚拟桌面实例。
在所示出的实施方案中,过程1000在方框1002处开始,其中向与PES的用户相关联的用户计算装置提供应用市场130的访问权限。访问应用市场的用户计算装置可经由市场界面212来搜索将要由虚拟桌面实例执行的应用程序。例如,用户可经由市场界面212而在应用市场130中搜索软件的Linux版本。
过程1000继续进行至方框1004并从用户接收请求以便从用户计算装置来访问虚拟桌面实例上的应用程序。所述请求可由用户通过应用市场130做出。在上文参考的示例中,用户可请求软件的Linux版本的访问权限。用户的虚拟桌面实例可至少包括Linux操作系统和软件。
过程1000继续进行至方框1006并访问与用户计算装置相关联的元数据。所述元数据可指示用户是否被授权在用户计算装置上访问来自PES的应用程序。例如,与用户计算装置相关联的元数据可指示用户当前正使用位于其办公室中的台式PC,并且根据与用户的PES账户和应用市场偏好相关联的安全设置,用户被授权从其办公室中的桌面PC来访问软件。在另一个示例中,与另一个用户计算装置相关联的元数据可指示用户正从其智能电话来访问虚拟桌面实例,并且根据与用户PES账户和应用市场偏好相关联的安全设置,用户未被授权从其智能电话来访问软件。在一些实施方案中,所述元数据可包括信息,例如像用户的应用市场账户、账户类型、访问等级、用户使用的装置的类型(平板计算机、台式计算机等等)、装置的名称、媒体访问控制(MAC)地址、用户的位置、用户的域、用户是否通过住宅互联网或用户的雇主提供的连接来访问应用市场130和/或用户是否使用代理来访问应用市场130,等等。
过程1000继续进行至决策方框1008,以便至少部分地基于所述元数据来确定用户是否被授权在用户计算装置上访问应用程序。在一些实施方案中,确定用户是否被授权访问应用程序可包括确定应用程序是否可用于在与用户相关联的或用户的虚拟桌面实例所位于的数据中心102处进行访问。在一些情况下,如果应用程序的复本在用户的虚拟桌面实例所位于的数据中心102处不可用,那么数据中心102的管理计算机304便可从PES平台120请求应用程序的复本。或者,可拒绝用户访问应用程序。如果用户未被授权访问应用程序,过程1000便结束。
然而,如果用户被授权访问应用程序,过程便继续进行至方框1010,并配置将要在虚拟桌面实例上执行的应用程序。应用程序可被配置成适合于用户和应用市场130所提供的操作系统或其他设置。在一些实施方案中,应用程序可驻留于PES平台120中的数据中心102中的物理计算系统上,并且所述物理计算系统可不同于用户所连接的物理计算系统。在一些情况下,应用程序可处于应用资源库220中。在一些情况下,应用程序的一些部分或全部的复本可下载至用户所连接的物理计算系统。
所述过程继续进行至方框1012并致使从虚拟桌面实例来执行应用程序。所述过程随后继续进行至方框1014并从虚拟桌面实例向用户计算装置提供所述应用程序的至少一部分的访问权限。
在一些实施方案中,仅仅应用程序的用户界面会提供给用户的计算装置,并且所述用户界面接受来自用户计算装置的输入并将用户输入提供给应用程序。在一些其他实施方案中,应用程序中提供给用户的计算装置的部分可以是应用程序的整个复本。例如,在上文的使用情况下,整个软件可提供给用户的计算装置。在一些其他情形中,提供应用程序的至少一部分的访问权限可包括将所述应用程序的一部分递送(例如,流动传送)给用户计算装置。例如,在上文的使用情况下,仅仅用户当前在软件中使用的信息库和软件的界面会提供给用户计算装置。
在另一个示例中,提供应用程序的至少一部分的访问权限可包括将本地虚拟桌面实例流动传送至计算实例。本地虚拟桌面实例可被配置成在用户计算装置上执行应用程序。例如,用户计算装置可接收虚拟桌面实例,所述虚拟桌面实例包括Linux操作系统和在Linux操作系统上运行的应用程序(软件)。在其他实施方案中,虚拟机或容器可流动传送至用户计算系统104。这个虚拟机或容器可被配置成在其流动传送至用户计算系统104时和/或在应用程序的流动传送完成之后运行应用程序。在某些实施方案中,虚拟机、容器和/或流动传送至用户计算系统104的应用程序任何部分会在用户已经完成使用应用程序的当前会话之后从用户计算系统104去除。有利地,在某些实施方案中,通过流动传送应用程序或其一部分至用户计算系统104并且随后在使用会话完成后去除应用程序或其部分,用户便可购买使用应用程序的临时许可。此外,用户可在用户计算系统104上使用应用程序,所述用户计算系统104通常可能由于(例如)存储空间约束、存储器约束、图形约束或用户计算系统104的其他硬件和/或软件约束而不能运行所述应用程序。所述使用会话可包括应用程序使用的单个时间段或者应用程序的租赁或许可时间段。在其他情况下,所述使用会话可包括在应用程序流动传送至用户计算系统104时开始的并且在用户计算系统104从数据中心102和/或数据中心102处托管的实例断开时结束的一段时间。
根据本公开的应用市场130可为用户提供各种选项以便为将在他们的虚拟桌面上执行的应用程序进行付款。例如,用户可选择购买、租赁或特许其感兴趣的应用程序。在一些情况下,用户群组可选择为群组许可付款。因此,在一些情况下,用来确定用户是否被配置成在用户计算装置上访问应用程序的元数据可包括用户是否已经从应用市场130购买、租赁或特许应用程序。应用市场130的计费系统218可以被配置来管理可从应用市场得到的应用程序、操作系统、虚拟桌面等的购买、租赁或特许。
如果用户选择租赁或特许应用程序而不是购买应用程序,那么应用市场130可在租赁或许可期结束之前通知用户。所述通知可包括供用户在某段时间上续订租赁或许可协议的选项和购买软件的选项。在一些实施方案中,在租赁期期满时,如果(例如)用户已经拒绝为额外租赁时间付款,那么为用户托管应用程序的数据中心302便可自动地阻止继续访问应用程序。在一些此类情况下,数据中心计算机302可自动地将用户数据保存至与用户相关联的存储装置和/或文件夹(例如,云文件夹),可从与用户相关联的虚拟桌面实例来访问所述存储装置和/或文件夹。此外,在一些情况下,数据可自动地同步至一个或多个用户计算系统104。
XIII.示例性文件同步系统
为了同步文档,PES平台120可实施图11中所示的文件同步系统1100。在所示出的实施方案中,文件同步系统1100包括连接性模块1102、同步模块1104和文件访问模块1106。连接性模块1102可用来建立PES与用户的计算装置之间的连接。如下文所述论述的,在一些实施形式中,PES与用户的计算装置之间的连接性是双向的。在一些此类实施形式中,PES与计算装置之间的双向连接用于递送虚拟桌面实例的访问权限并在PES与计算装置之间同步文件。继续上文的示例,文件访问模块1106可基于与平板装置相关联的元数据来确定其是被授权访问和修改特定Word文档的计算装置。因此,所述平板装置被授权维护所述Word文档的同步复本,所述复本对用户而言是可访问的,甚至在所述平板装置不具有网络连接时也是如此。例如,当用户编辑所述Word文档时,所述平板装置可丢失通向PES的网络连接。然而,因为所述文件被配置成与平板装置同步,所以在网络连接丢失时做出的修改可经由同步模块1104而与远程存储在PES平台120上的文件的复本同步。例如,对文件的修改可本地存储在用户计算装置上,并且当网络连接性恢复时,所述修改可传递至同步模块1104以便与存储在PES平台上的文件同步。
然后,在用户处于出租车上时,用户可尝试从其智能电话通过与PES的连接来编辑相同文档。由于智能电话可能会轻易地丢失,因此用户(或与用户相关联的实体,如其雇主)可将某些文档的访问权限限制在某些装置上或限制在用户处于某些位置的时候(例如,以便实施出口限制或控制)。因此,在这个示例中,文件访问模块1106可基于与智能电话或用户位置相关联的元数据,而确定用户不被授权在出租车上从其智能电话来更改文件的内容。因此,用户尝试从其智能电话做出的改变并不被PES平台120存储和/或并不本地存储在智能电话上
在另一个示例中,用户可通过PES平台120上的虚拟桌面实例编辑其办公室台式PC上的重要CAD图。在用户关闭其办公室PC后,她对CAD图做出的编辑存储在PES平台120上。用户可在家里打开其膝上型计算机并尝试编辑本地存储的CAD图的同步复本。文件访问模块1106可基于与CAD图和/或用户的膝上型计算机相关联的元数据来确定用户不被授权直接从其膝上型计算机来修改CAD图。然而,文件访问模块1106可确定用户被授权经由PES上的虚拟桌面实例来编辑CAD图。这意味着CAD图仅可从所述虚拟桌面实例来编辑。因此,用户尝试直接从其膝上型计算机对CAD图的同步复本做出的改变中没有一个可被PES平台120存储。然而,如果用户被授权从其膝上型计算机经由连接性模块1102而连接至虚拟桌面实例,并且其从虚拟桌面实例执行程序来编辑CAD图,那么用户便可被允许经由通向所述虚拟桌面实例的连接来编辑所述图。
XIV.第一示例性文件同步过程
图12示出在PES平台120的控制下使用文件同步系统1100的文件同步过程的示例。在所示出的实施方案中,过程1200在方框1202处开始,其中连接性模块1102形成PES与用户的计算装置之间的连接(其可以是双向的)。所述过程继续进行至方框1204,其中PES平台120接收来自计算装置的请求以便在PES平台120上修改文件。所述过程继续进行至方框1206,其中PES平台120使用文件访问模块1106来访问文件元数据。在这个示出的实施方案中,文件元数据可包括指示文件是否可与计算装置等同步的设置。
所述过程继续进行至方框1208以便至少基于文件元数据来确定所述文件是否被配置成与计算装置同步。在一些实施方案中,这个步骤可由文件访问模块508执行。如果所述文件未被配置成与计算装置同步,那么过程1200便结束。然而,如果确定所述文件可与计算装置同步,那么过程1200便继续进行至方框1210,并且所述文件由同步模块1104使用方框1202中形成的双向连接来与计算装置同步。所述过程在方框1210之后结束。
在一些情况下,用户可能需要通过被配置成在虚拟桌面实例上执行的应用程序来同步或修改文件。例如,用户可能已经配置包括Linux操作系统和软件的虚拟桌面实例。用户可能希望同步其已经在她的各种计算装置上做出的程序和模拟。如果用户已经通过虚拟桌面实例而具有通向PES平台120的现有连接,那么用户便可以不需要在本地具有能够修改或打开特定类型文件的程序。
XV.第二示例性文件同步过程
图13进一步示出借助通向数据中心处虚拟桌面实例的现有连接的文件同步过程的示例。在这个实施方案中,过程1300在方框1302处开始,其中对PES中的虚拟桌面实例上的应用程序的访问权限由连接性模块1102提供。过程1300继续进行至方框1304,并且PES可接收来自计算装置的请求以便通过虚拟桌面实例上的应用程序来修改文件。过程1300继续进行至方框1306,并且PES经由文件访问模块1106来访问文件元数据。所述文件元数据可指示文件是否被配置成由(例如)第一计算装置修改。
过程1300继续进行至方框1308以便确定所述文件是否被配置成由计算装置修改。在上文所论述的使用情况下,程序可被配置成与用户的台式计算机、其膝上型计算机同步但不与其平板装置同步。在另一个示例中,用户可能去参加海外销售会议,并且其模拟中的一个可被配置成与其平板装置同步,从而使得用户可轻易地在其会议上展示模拟。在一些情况下,文件可被配置成与用户计算装置同步但不可由用户计算装置在本地进行编辑。在这些情况下,所述文件可被配置成仅可经由虚拟桌面实例来编辑。因此,元数据可用来确定特定计算装置是否被授权修改所述文件,并且如果被授权,那么便确定PES所存储的文件的复本是否进行同步以便反映用户对文件做出的修改。
如果所述文件未被配置成由计算装置修改,那么过程1300便结束。然而,如果文件访问模块1106确定所述文件被配置成由计算装置修改,那么过程1300便继续进行至方框1310,以便允许所述文件由计算装置通过虚拟桌面上的应用程序来修改。由计算装置通过虚拟桌面上的应用程序做出的修改可由PES同步并存储。所述过程在方框1310之后结束。例如,模拟文件可被配置成与用户的平板装置同步,并由所述平板装置经由虚拟桌面实例来修改。在用户对PES平台120上的虚拟桌面实例上的模拟文件做出改变之后,对模拟文件的更新可同步至用户的平板装置,所述平板装置也连接至PES平台120上的虚拟桌面实例。如果所述文件也被配置成由平板装置经由通向虚拟桌面实例的连接来修改,那么用户可从其平板装置来修改所述文件。用户做出的修改将通过PES来与其他授权计算装置同步。在一些实施方案中,用户可在具有或不具有网络连接的情况下,在其平板装置上查看文件的同步本地复本。
在一些情况下,一个以上计算装置可被配置成维护文件的同步复本。另外,在一些情况下,文件的一个以上版本可被配置来进行存储。例如,用户可从其办公室计算机来对模拟文件做出改变,所述办公室计算机连接至运行软件的虚拟桌面实例。在测试更新文件之后,用户可决定取消其刚刚做出的改变。用户可选择维护模拟文件的同步复本,所述模拟文件是不具有其做出的所有改变的先前版本。在另一个示例中,用户可选择在其膝上型计算机上同步用于销售会议的最稳定版本的模拟版本。用户可选择不同步最新的版本。相反,用户可指定其希望在她的膝上型计算机上维护的文件版本。文件的多个版本可提供给用户,所以其可选择她想要在特定计算装置上维护的版本。
在一些实施方案中,同一文件的多个版本之间的差别可呈现给用户,这可帮助用户决定在计算装置上维护文件的哪个版本。
XVI.实施方案
本公开的实施方案可鉴于以下条款来描述:
1.一种用于选择程序执行服务(PES)平台的数据中心的方法,所述方法包括:
在包括许多数据中心的PES平台的控制下,所述许多数据中心中的至少一些数据中心能够向用户提供对所述许多数据中心中的所述至少一些数据中心所托管的一个或多个计算节点的访问权限,所述计算节点包括能够使所述用户访问所述PES平台提供的多个服务的虚拟桌面:
在PES平台处从所述用户的计算装置接收用以获取计算节点的访问权限的请求;
识别所述计算装置的地理位置;
从所述许多数据中心来确定包括所述计算节点的一组数据中心;
至少部分地基于所述计算装置的所述地理位置而为来自所述组数据中心的每个数据中心计算延时因数;
至少部分地基于所述数据中心的所述延时因数而识别来自所述组数据中心的数据中心,其中所述数据中心的所述延时因数低于来自所述组数据中心的其他数据中心中的至少一些数据中心;以及
向所述计算装置的所述用户授予所述数据中心处的所述计算节点的访问权限,从而使所述用户能够访问所述计算节点,而同时相比于从来自所述组数据中心的所述其他数据中心中的所述至少一些数据中心来访问所述计算节点而言减少延时对所述用户的影响。
2.如条款1所述的方法,其中为每个数据中心计算所述延时因数包括:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;
基于所述计算装置与所述数据中心之间的所述距离来确定第一延时因数;
在所述计算装置与所述数据中心之间执行一个或多个延时测试以便确定第二延时因数;
识别最接近所述计算装置的网络跃点;
检索所述数据中心与所述网络跃点之间的历史延时信息;以及
至少部分地基于所述第一延时因数、所述第二延时因数和所述历史延时信息来计算所述延时因数。
3.如条款2所述的方法,其中所述一个或多个延时测试包括以下操作中的一个或多个:ping操作;路由跟踪操作;路由跟踪6操作;跟踪操作;以及路径跟踪操作。
4.如条款1所述的方法,其中确定包括所述计算节点的所述组数据中心包括:
在所述计算装置的所述地理位置的阈值距离内识别数据中心;以及
从所述计算装置的所述地理位置的所述阈值距离内所识别的所述数据中心来识别包括所述计算节点的所述组数据中心。
5.一种用于选择程序执行服务(PES)平台的数据中心的系统,所述系统包括:
PES平台,其包括许多数据中心,所述PES平台被配置成从用户的计算装置接收用以获取计算资源的访问权限的请求;
资源分配系统,其被配置成:
识别所述计算装置的地理位置;和
从所述许多数据中心来确定包括所述计算资源的一组数据中心;
延时计算系统,其被配置成至少部分地基于所述计算装置的所述地理位置而为来自所述组数据中心的每个数据中心计算延时因数;
所述资源分配系统还被配置成至少部分地基于所述数据中心的所述延时因数识别来自所述组数据中心的数据中心;以及
数据中心管理系统,其被配置成向所述计算装置的所述用户授予所述数据中心处的所述计算资源的访问权限。
6.如条款5所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;以及
至少部分地基于所述计算装置与所述数据中心之间的所述距离来确定所述延时因数。
7.如条款5所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
在所述计算装置与所述数据中心之间执行一个或多个延时测试;以及
至少部分地基于所述一个或多个延时测试的结果来确定所述延时因数。
8.如条款5所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
识别最接近所述计算装置的网络跃点;
检索所述数据中心与所述网络跃点之间的历史延时信息;以及
至少部分地基于所述历史延时信息来确定所述延时因数。
9.如条款5所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;
基于所述计算装置与所述数据中心之间的所述距离来确定第一延时因数;
在所述计算装置与所述数据中心之间执行一个或多个延时测试以便确定第二延时因数;
识别最接近所述计算装置的网络跃点;
检索所述数据中心与所述网络跃点之间的历史延时信息;以及
至少部分地基于所述第一延时因数、所述第二延时因数和所述历史延时信息来计算所述延时因数。
10.如条款9所述的系统,其中计算所述延时因数还包括加权所述第一延时因数、所述第二延时因数或所述历史延时信息中的一个或多个。
11.如条款5所述的系统,其中所述资源分配系统还被配置成通过下述操作来识别所述组数据中心:
在所述计算装置的所述地理位置的阈值距离内识别数据中心;以及
从所述计算装置的所述地理位置的所述阈值距离内所识别的所述数据中心来识别包括所述计算资源的所述组数据中心。
12.如条款5所述的系统,其中所述资源分配系统还被配置成从用户被授权访问的数据中心来识别所述组数据中心。
13.如条款5所述的系统,其中所述延时因数至少部分地与所述计算装置和所述数据中心之间的通信延时相互关联。
14.一种非暂时性物理计算机储存器,其包括计算机可执行指令,所述指令引导计算系统来执行一种用于选择程序执行服务(PES)平台的数据中心的方法,所述方法包括:
在PES平台处从用户的计算装置接收用以获取计算资源的访问权限的请求,所述PES平台包括许多数据中心;
识别所述计算装置的地理位置;
从所述许多数据中心来确定包括所述计算资源的一组数据中心;
至少部分地基于所述计算装置的所述地理位置而为来自所述组数据中心的每个数据中心计算延时因数;
至少部分地基于所述数据中心的所述延时因数而识别来自所述组数据中心的数据中心;以及
向所述计算装置的用户授予所述数据中心处的所述计算资源的访问权限。
15.如条款14所述的非暂时性物理计算机储存器,其中为每个数据中心计算所述延时因数包括:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;
基于所述计算装置与所述数据中心之间的所述距离来确定第一延时因数;
在所述计算装置与所述数据中心之间执行一个或多个延时测试以便确定第二延时因数;
识别最接近所述计算装置的网络跃点;
检索所述数据中心与所述网络跃点之间的历史延时信息;以及
至少部分地基于所述第一延时因数、所述第二延时因数和所述历史延时信息来计算所述延时因数。
16.如条款15所述的非暂时性物理计算机储存器,其中所述一个或多个延时测试包括以下操作中的一个或多个:ping操作;路由跟踪操作;路由跟踪6操作;跟踪操作;以及路径跟踪操作。
17.如条款15所述的非暂时性物理计算机储存器,其中识别最接近所述计算装置的网络跃点包括访问查找表以便识别最接近所述计算装置的公共网络跃点。
18.如条款15所述的非暂时性物理计算机储存器,其中计算所述延时因数还包括加权所述第一延时因数、所述第二延时因数或所述历史延时信息中的一个或多个。
19.如条款14所述的非暂时性物理计算机储存器,其中确定包括所述计算资源的所述组数据中心包括:
在所述计算装置的所述地理位置的阈值距离内识别数据中心;以及
从所述计算装置的所述地理位置的所述阈值距离内所识别的所述数据中心来识别包括所述计算资源的所述组数据中心。
20.如条款14所述的非暂时性物理计算机储存器,其中确定包括所述计算资源的所述组数据中心包括识别能够获取所述计算资源的访问权限的数据中心。
21.如条款14所述的非暂时性物理计算机储存器,其中确定包括所述计算资源的所述组数据中心还包括从所述用户被授权访问的数据中心来识别所述组数据中心。
22.如条款14所述的非暂时性物理计算机储存器,其中所述计算资源包括能够使所述用户访问所述PES平台提供的多个服务的虚拟桌面。
23.如条款22所述的非暂时性物理计算机储存器,其中所述多个服务包括以下各项中的一个或多个:应用程序;文件管理器;或文件储存器。
24.如条款14所述的非暂时性物理计算机储存器,其中所述计算资源包括应用程序。
25.如条款14所述的非暂时性物理计算机储存器,其中所述延时因数至少部分地与所述计算装置与所述数据中心之间的通信延时相互关联。
XVII.术语
本公开的全篇内容中已经描述了许多计算系统。这些系统的描述并非意在限制本公开的教示或适用性。例如,本文所述的用户系统一般可包括任何计算装置,如台式计算机、膝上型计算机、视频游戏平台、电视机顶盒、电视(例如,互联网TV)、计算机化的器具和无线移动装置(例如,智能电话、PDA、平板计算机或类似装置)等等。此外,本文所述的用户系统可能为不同类型的装置,可能包括不同应用程序或者可能以其他方式被不同地配置。另外,本文所述的用户系统可包括任何类型的操作系统(“OS”)。例如,本文所述的移动计算系统可实施AndroidTMOS、OS、OS、LinuxOS或基于Unix的OS,或者类似操作系统。
此外,所示出系统的各种部件的处理可分布在多个机器、网络和其他计算资源上。另外,系统的两个或两个以上部件可组合为更少的部件。例如,示出为数据中心资源分配系统330的一部分的各种系统可分布在多个计算系统上或组合为单个计算系统。此外,所示出系统的各种部件可在一个或多个虚拟机中实施而不是在专用的计算机硬件系统中实施。同样地,所示的数据资源库可表示物理和/或逻辑数据储存器,包括(例如)存储区网络或其他分布式存储系统。此外,在一些实施方案中,所示部件之间的连接表示数据流的可能路径,而不是硬件之间的实际连接。虽然展示了可能连接的一些示例,但是在各种实施形式中所示部件的子集中的任何部件都可与任何其他部件子集通信。
取决于实施方案,本文所述的算法、方法或过程中的任一者的某些动作、事件或功能可在不同序列中执行,可进行增加、合并或全部一起省去(例如,对于算法的实践而言并不是所有的描述动作或事件都是必要的)。此外,在某些实施方案中,动作或事件可同时执行(例如,通过多线程处理、中断处理或多个处理器或处理器核心或者在其他平行架构上),而不是循序执行。
各种所示出系统中的每个可实施为被编程或配置来执行本文所述的各种功能的计算系统。所述计算系统可包括在网络上进行通信并进行交互操作来执行所述功能的多个截然不同的计算机或计算装置(例如,物理服务器、工作站、存储阵列等等)。每个此类计算装置通常包括执行存储在存储器或其他非暂时性计算机可读存储介质中的程序指令或模块的处理器(或多个处理器)。本文公开的各种功能可体现在此类程序指令中,尽管所公开功能中的一些或全部可替代地在计算机系统的专用电路(例如,ASIC或FPGA)中实施。在计算系统包括多个计算装置的情况下,这些装置可以但不必是同位的。所公开方法和任务的结果可通过将物理存储装置(如固态存储器芯片和/或磁盘)转换为不同状态而持久地存储。所述的每个过程可由一个或多个计算装置(如利用关联服务器代码来编程的一个或多个物理服务器)来实施。
除非另外特别说明,或者使用时在上下文中以其他方式所理解的,否则本文所用的条件语言,特别是诸如“能够”、“可以”、“可能”、“例如”等,一般意在表达如下意思:虽然其他实施方案不包括,但某些实施方案包括特定的特征、元件和/或状态。因此,此类条件性语言一般并非意在暗含如下意思:特征、元件和/或状态对于一个或多个实施方案而言无论如何都是必需的,或者,一个或多个实施方案无论有或没有作者输入或提示都必须包括用于决定在任何特定实施方案中是否包括或将要执行这些特征、元件和/或状态的逻辑。术语“包括”、“包含”、“具有”等是同义的,并以开放的方式包含性地使用,而且不排除额外元件、特征、动作、操作等等。另外,术语“或者”以其包含性意义(并且不以其排除性意义)使用,从而使得当(例如)用来连接一列表元件时,术语“或者”意味着所述列表中元件的一个、一些或全部。另外,除非另有规定,否则字词“一”和“一个”应解释为表示“一个或多个”或“至少一个”的意思。
除非另外特别说明,否则诸如短语“X、Y以及Z中的至少一个”等的连接性语言,在上下文中使用时一般应以其他方式理解为表达如下意思:项目、名目等可以是X、Y或Z。因此,此类连接性语言一般并非意在暗示某些实施方案需要存在X中的至少一个、Y中的至少一个以及Z中的至少一个。
虽然上文的详细说明已经在应用于各种实施方案时展示、描述并指出新颖特征,但是应理解,在所示出装置或算法的形式和细节上的各种省略、代替和改变可在不背离本公开的精神的情况下做出。因此,在前文描述中没有内容意在暗示任何特定特征、特性、步骤、模块或方框是必须的或不可缺少的。如将认识到的,本文所述的过程可在不提供本文所阐述的所有特征和益处的形式内体现,因为一些特征可与其他特征分开使用或实践。保护的范围由随附权利要求书而不是由前文的描述来界定。处于权利要求书的等效意义和范围内的所有改变都应涵盖在权利要求书的范围中。

Claims (15)

1.一种用于选择程序执行服务(PES)平台的数据中心的系统,所述系统包括:
PES平台,其包括许多数据中心,所述PES平台被配置成从用户的计算装置接收用以获取计算资源的访问权限的请求;
资源分配系统,其被配置成:
识别所述计算装置的地理位置;以及
从所述许多数据中心确定包括所述计算资源的一组数据中心;
延时计算系统,其被配置成至少部分地基于所述计算装置的所述地理位置,而为来自所述一组数据中心的每个数据中心计算延时因数;
所述资源分配系统还被配置成至少部分地基于所述数据中心的所述延时因数,而识别来自所述一组数据中心的数据中心;以及
数据中心管理系统,其被配置成向所述计算装置的所述用户授予对所述数据中心处的所述计算资源的访问权限。
2.如权利要求1所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;以及
至少部分地基于所述计算装置与所述数据中心之间的所述距离来确定所述延时因数。
3.如权利要求1所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
在所述计算装置与所述数据中心之间执行一个或多个延时测试;以及
至少部分地基于所述一个或多个延时测试的结果来确定所述延时因数。
4.如权利要求1所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
识别最接近所述计算装置的网络跃点;
检索所述数据中心和所述网络跃点之间的历史延时信息;以及
至少部分地基于所述历史延时信息来确定所述延时因数。
5.如权利要求1所述的系统,其中所述延时计算系统还被配置成通过下述操作来计算所述延时因数:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;
基于所述计算装置与所述数据中心之间的所述距离来确定第一延时因数;
在所述计算装置与所述数据中心之间执行一个或多个延时测试以便确定第二延时因数;
识别最接近所述计算装置的网络跃点;
检索所述数据中心和所述网络跃点之间的历史延时信息;以及
至少部分地基于所述第一延时因数、所述第二延时因数和所述历史延时信息来计算所述延时因数。
6.如权利要求5所述的系统,其中计算所述延时因数还包括加权所述第一延时因数、所述第二延时因数或所述历史延时信息中的一个或多个。
7.如权利要求1所述的系统,其中所述资源分配系统还被配置成通过下述操作来识别所述一组数据中心:
识别处在所述计算装置的所述地理位置的阈值距离内的数据中心;以及
从识别出的处在所述计算装置的所述地理位置的所述阈值距离内的所述数据中心来识别包括所述计算资源的所述一组数据中心。
8.如权利要求1所述的系统,其中所述资源分配系统还被配置成从所述用户被授权访问的数据中心来识别所述一组数据中心。
9.如权利要求1所述的系统,其中所述延时因数至少部分地与所述计算装置与所述数据中心之间的通信延时相关联。
10.一种方法,所述方法包括:
在PES平台处从用户的计算装置接收用以获取计算资源的访问权限的请求,所述PES平台包括许多数据中心;
识别所述计算装置的地理位置;
从所述许多数据中心确定包括所述计算资源的一组数据中心;
至少部分地基于所述计算装置的所述地理位置而为来自所述一组数据中心的每个数据中心计算延时因数;
至少部分地基于所述数据中心的所述延时因数识别来自所述一组数据中心的数据中心;以及
向所述计算装置的所述用户授予对所述数据中心处的所述计算资源的访问权限。
11.如权利要求10所述的方法,其中为每个数据中心计算所述延时因数包括:
基于所述计算装置的所述地理位置和所述数据中心的地理位置来计算所述计算装置与所述数据中心之间的距离;
基于所述计算装置与所述数据中心之间的所述距离来确定第一延时因数;
在所述计算装置与所述数据中心之间执行一个或多个延时测试以便确定第二延时因数;
识别最接近所述计算装置的网络跃点;
检索所述数据中心与所述网络跃点之间的历史延时信息;以及
至少部分地基于所述第一延时因数、所述第二延时因数和所述历史延时信息来计算所述延时因数。
12.如权利要求11所述的方法,其中识别最接近所述计算装置的网络跃点包括访问查找表以便识别最接近所述计算装置的公共网络跃点。
13.如权利要求10所述的方法,其中确定包括所述计算资源的所述一组数据中心包括:
识别处在所述计算装置的所述地理位置的阈值距离内的数据中心;以及
从识别出的处在所述计算装置的所述地理位置的所述阈值距离内的所述数据中心来识别包括所述计算资源的所述一组数据中心。
14.如权利要求10所述的方法,其中确定包括所述计算资源的所述一组数据中心包括识别能够获取所述计算资源的访问权限的数据中心。
15.如权利要求10所述的方法,其中所述计算资源包括能够使所述用户访问由所述PES平台提供的多个服务的虚拟桌面。
CN201480021842.3A 2013-03-11 2014-03-04 自动化数据中心选择 Pending CN105378698A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/794,595 2013-03-11
US13/794,595 US10142406B2 (en) 2013-03-11 2013-03-11 Automated data center selection
PCT/US2014/020412 WO2014164076A1 (en) 2013-03-11 2014-03-04 Automated data center selection

Publications (1)

Publication Number Publication Date
CN105378698A true CN105378698A (zh) 2016-03-02

Family

ID=51489243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480021842.3A Pending CN105378698A (zh) 2013-03-11 2014-03-04 自动化数据中心选择

Country Status (9)

Country Link
US (1) US10142406B2 (zh)
EP (1) EP2972963B1 (zh)
JP (1) JP6279705B2 (zh)
KR (1) KR102031695B1 (zh)
CN (1) CN105378698A (zh)
AU (1) AU2014249681B2 (zh)
CA (1) CA2904281C (zh)
SG (1) SG11201507125WA (zh)
WO (1) WO2014164076A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109923833A (zh) * 2016-11-02 2019-06-21 微软技术许可有限责任公司 用于pstn服务的数据中心质心度量计算
CN111092743A (zh) * 2018-10-24 2020-05-01 中国移动通信有限公司研究院 一种虚拟链路监控方法、装置和存储介质
CN113688427A (zh) * 2021-10-26 2021-11-23 杭州宇链科技有限公司 基于区块链防止托管数据源被滥用的系统
CN116210212A (zh) * 2020-07-21 2023-06-02 辉达公司 云计算环境中的内容自适应数据中心路由和转发

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819461B (zh) * 2012-07-19 2016-05-11 腾讯科技(深圳)有限公司 桌面同步方法、装置、设备及系统
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
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
US9276860B2 (en) * 2013-03-13 2016-03-01 Microsoft Technology Licensing, Llc Distributed data center technology
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
US9264289B2 (en) 2013-06-27 2016-02-16 Microsoft Technology Licensing, Llc Endpoint data centers of different tenancy sets
US20150074272A1 (en) * 2013-09-11 2015-03-12 Institute For Information Industry Application management network device and application management method thereof
US9537938B2 (en) * 2014-09-23 2017-01-03 Amazon Technologies, Inc. Virtual desktop migration
US10108985B2 (en) * 2014-10-07 2018-10-23 Oath Inc. Mitigation of failures in an online advertising network
US9851933B2 (en) * 2015-03-25 2017-12-26 International Business Machines Corporation Capability-based abstraction of software-defined infrastructure
JP6627323B2 (ja) * 2015-08-18 2020-01-08 富士通株式会社 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
US10860374B2 (en) * 2015-09-26 2020-12-08 Intel Corporation Real-time local and global datacenter network optimizations based on platform telemetry data
CN105468358B (zh) * 2015-11-17 2019-11-05 腾讯科技(深圳)有限公司 一种移动游戏的数据处理方法以及装置
JP6669614B2 (ja) * 2016-08-31 2020-03-18 Kddi株式会社 データセンタと光ネットワークとを含むシステムの制御装置
US9867006B1 (en) 2016-10-17 2018-01-09 Microsoft Technology Licensing, Inc. Geo-classification of users from application log data
US10581995B1 (en) * 2017-07-13 2020-03-03 Parallels International Gmbh High availability virtual desktop infrastructure
US10880406B2 (en) 2019-03-05 2020-12-29 Mastercard International Incorporated Controlling access to data resources on high latency networks
WO2020185130A1 (en) * 2019-03-08 2020-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic access network selection based on application orchestration information in an edge cloud system
EP3855315A1 (en) 2020-01-22 2021-07-28 Softimize Ltd. Systems and methods for managing a multi-region saas model
US20230362234A1 (en) * 2022-05-04 2023-11-09 Microsoft Technology Licensing, Llc Method and system of managing resources in a cloud computing environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174410A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment
US20090216975A1 (en) * 2008-02-26 2009-08-27 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
US20090276771A1 (en) * 2005-09-15 2009-11-05 3Tera, Inc. Globally Distributed Utility Computing Cloud
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
CN102572875A (zh) * 2010-11-22 2012-07-11 微软公司 用于移动设备的网络等待时间估计
US20120239792A1 (en) * 2011-03-15 2012-09-20 Subrata Banerjee Placement of a cloud service using network topology and infrastructure performance
US20130283289A1 (en) * 2012-04-19 2013-10-24 International Business Machines Corporation Environmentally aware load-balancing

Family Cites Families (194)

* Cited by examiner, † Cited by third party
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
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
US6470386B1 (en) 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
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
US6560609B1 (en) 1999-06-14 2003-05-06 International Business Machines Corporation Delegating instance management functions to underlying resource managers
US6567818B1 (en) 1999-06-14 2003-05-20 International Business Machines Corporation Employing management policies to manage instances of objects
US6502103B1 (en) 1999-06-14 2002-12-31 International Business Machines Corporation Providing composed containers and data objects to support multiple resources
JP2002007329A (ja) 2000-06-20 2002-01-11 Nec Corp コンピュータシステム
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
JP4237055B2 (ja) 2001-09-28 2009-03-11 ファイバーリンク コミュニケーションズ コーポレーション クライアント側網アクセス・ポリシー及び管理アプリケーション
US7209906B2 (en) 2002-01-14 2007-04-24 International Business Machines Corporation System and method for implementing a metrics engine for tracking relationships over time
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
US7412516B1 (en) 2003-12-29 2008-08-12 Aol Llc Using a network bandwidth setting based on determining the network environment
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
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
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
ES2659651T3 (es) 2006-01-17 2018-03-16 Microsoft Technology Licensing, Llc Integración ininterrumpida de múltiples entornos informáticos
JP2009525531A (ja) 2006-02-01 2009-07-09 エックス2 テクノロジーズ,インク. コンピュータサービス提供システムおよび方法
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
CA2665873A1 (en) 2006-10-20 2008-05-02 Citrix Systems, Inc. Methods and systems for accessing remote user files associated with local resources
US20080114883A1 (en) * 2006-11-14 2008-05-15 Fmr Corp. Unifying User Sessions on a Network
US20080172720A1 (en) 2007-01-15 2008-07-17 Botz Patrick S Administering Access Permissions for Computer Resources
WO2008092104A2 (en) 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
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
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
US8769660B2 (en) 2008-01-26 2014-07-01 Citrix Systems, Inc. Systems and methods for proxying cookies for SSL VPN clientless sessions
US7953833B2 (en) 2008-01-31 2011-05-31 Wanova Technologies Ltd. Desktop delivery for a distributed enterprise
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
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
US10127059B2 (en) 2008-05-02 2018-11-13 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
CN103810012A (zh) 2008-10-24 2014-05-21 思杰系统有限公司 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
US8812714B2 (en) 2008-11-12 2014-08-19 Citrix Systems, Inc. Systems and methods for application fluency policies
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
US8918488B2 (en) 2009-02-04 2014-12-23 Citrix Systems, Inc. Methods and systems for automated management of virtual resources in a cloud computing environment
US8386757B1 (en) 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
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
US9154364B1 (en) 2009-04-25 2015-10-06 Dasient, Inc. Monitoring for problems and detecting malware
US8578076B2 (en) 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8856783B2 (en) 2010-10-12 2014-10-07 Citrix Systems, Inc. Allocating virtual machines according to user-specific virtual machine metrics
WO2010129487A1 (en) 2009-05-02 2010-11-11 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
US8285218B2 (en) 2009-08-31 2012-10-09 The Nielsen Company (Us), Llc Methods and apparatus to identify wireless carrier performance effects
US8365195B2 (en) 2009-08-31 2013-01-29 Red Hat, Inc. Systems and methods for generating sets of model objects having data messaging pipes
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 リモート操作システム、クライアント装置、サーバ、通信方法、プログラム及び記録媒体
US7953865B1 (en) 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed 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
US9477531B2 (en) 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
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
JP2011160300A (ja) 2010-02-02 2011-08-18 Fujitsu Ltd ルータ、ルーティング方法、ルーティングプログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
US9953178B2 (en) * 2010-02-03 2018-04-24 Os Nexus, Inc. Role based access control utilizing scoped permissions
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
US8601056B2 (en) 2010-03-09 2013-12-03 Avistar Communications Corporation Scalable high-performance interactive real-time media architectures for virtual desktop environments
WO2011111141A1 (ja) 2010-03-11 2011-09-15 日本電気株式会社 リソース配分装置及びリソース配分方法並びにコンピュータ可読媒体
EP2553561A4 (en) 2010-04-01 2016-03-30 Citrix Systems Inc INTERACTION WITH REMOTE APPLICATIONS DISPLAYED ON A VIRTUAL DESKTOP OF A TABLET COMPUTER DEVICE
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
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
WO2012044558A2 (en) 2010-10-01 2012-04-05 Imerj, Llc 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
JP4811830B1 (ja) 2010-10-15 2011-11-09 株式会社 イーシー・ワン コンピュータリソース制御システム
US8607054B2 (en) 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
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
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 富士通株式会社 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム
EP2693336A4 (en) 2011-03-28 2016-03-23 Nec Corp VIRTUAL MACHINE MANAGEMENT SYSTEM AND METHOD FOR MANAGING VIRTUAL MACHINES
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
WO2013006157A1 (en) 2011-07-01 2013-01-10 Hewlett-Packard Development Company, L.P. Method of and system for managing computing resources
KR101507919B1 (ko) 2011-07-01 2015-04-07 한국전자통신연구원 가상 데스크탑 서비스를 위한 방법 및 장치
WO2012109876A1 (zh) 2011-08-03 2012-08-23 华为技术有限公司 虚拟化数据备份方法、虚拟化数据重组方法、装置及系统
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
US8886925B2 (en) 2011-10-11 2014-11-11 Citrix Systems, Inc. Protecting enterprise data through policy-based encryption of message attachments
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
US20140250232A1 (en) 2011-10-14 2014-09-04 National Ict Australia Limited 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
US9210162B2 (en) 2012-05-02 2015-12-08 Microsoft Technology Licensing, Llc Certificate based connection to cloud virtual machine
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
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
US8934887B2 (en) 2012-05-31 2015-01-13 Emblaze Ltd. System and method for running mobile devices in the cloud
JP2013250775A (ja) 2012-05-31 2013-12-12 Fujitsu Ltd 仮想マシン管理装置、仮想マシン管理プログラム、仮想マシン管理方法及びネットワークシステム
EP2867771A4 (en) 2012-06-29 2016-06-29 Hewlett Packard Entpr Dev L P OPTIMIZED POSITIONING 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
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
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
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
US20150006614A1 (en) 2013-06-26 2015-01-01 Amazon Technologies, Inc. Management of computing sessions
US20150019704A1 (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
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US20150019705A1 (en) 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276771A1 (en) * 2005-09-15 2009-11-05 3Tera, Inc. Globally Distributed Utility Computing Cloud
US20070174410A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment
US20090216975A1 (en) * 2008-02-26 2009-08-27 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
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
CN102572875A (zh) * 2010-11-22 2012-07-11 微软公司 用于移动设备的网络等待时间估计
US20120239792A1 (en) * 2011-03-15 2012-09-20 Subrata Banerjee Placement of a cloud service using network topology and infrastructure performance
US20130283289A1 (en) * 2012-04-19 2013-10-24 International Business Machines Corporation Environmentally aware load-balancing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109923833A (zh) * 2016-11-02 2019-06-21 微软技术许可有限责任公司 用于pstn服务的数据中心质心度量计算
CN111092743A (zh) * 2018-10-24 2020-05-01 中国移动通信有限公司研究院 一种虚拟链路监控方法、装置和存储介质
CN116210212A (zh) * 2020-07-21 2023-06-02 辉达公司 云计算环境中的内容自适应数据中心路由和转发
CN113688427A (zh) * 2021-10-26 2021-11-23 杭州宇链科技有限公司 基于区块链防止托管数据源被滥用的系统

Also Published As

Publication number Publication date
WO2014164076A1 (en) 2014-10-09
AU2014249681A1 (en) 2015-10-01
AU2014249681B2 (en) 2017-05-25
CA2904281A1 (en) 2014-10-09
KR20160010412A (ko) 2016-01-27
EP2972963A4 (en) 2016-11-09
EP2972963B1 (en) 2021-05-05
KR102031695B1 (ko) 2019-10-14
US20140258374A1 (en) 2014-09-11
CA2904281C (en) 2018-05-01
SG11201507125WA (en) 2015-10-29
JP6279705B2 (ja) 2018-02-14
US10142406B2 (en) 2018-11-27
EP2972963A1 (en) 2016-01-20
JP2016517075A (ja) 2016-06-09

Similar Documents

Publication Publication Date Title
CN105393219B (zh) 用于虚拟桌面的应用市场
CN105378698A (zh) 自动化数据中心选择
CN105408882A (zh) 自动化桌面布置
US9552366B2 (en) Automated data synchronization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160302