自动化基础架构供应的制作方法

文档序号:6377020阅读:386来源:国知局
专利名称:自动化基础架构供应的制作方法
技术领域
本发明涉及基础架构,尤其涉及自动化基础架构供应。
背景技术
在典型的公司计算机系统建立中,管理员可确定公司应该具有带有给定应用集(例如,Outlook、Word、Visio、AutoCad等)的工程桌面以及带有略有不同的应用集(例如,Outlook、Word、Excel等)的财务桌面。管理员随后可确定将要向多少用户供应给定的桌面(即,工程部中的每个人获得基于工程桌面的桌面映像,而财务部中的每个人获得基于财务桌面的桌面映像)。管理员还可确定后端服务器需要支持此类用户和应用。例如,管理员将确定将需要多少服务器来支持电子邮件服务器、需要多少服务器来支持文档储存库等等。服务器硬件随后需要在公司中被建立,并且安装在服务器、台式机或笔记本计算机上的各种应用需要被购买并用各种桌面映像来供应等等。

发明内容
当虚拟计算资源被用来向一个或多个用户提供计算基础架构时,可减少或消除在建立IT基础架构时所涉及的大部分后端配置和管理任务。公开了用于至少部分地用在云中提供虚拟公司基础架构的自动化的基于云的服务来替换真实世界中公司基础架构供应的方法和系统。本发明的一方面在于提供基于云的基础架构供应工具,该工具通过在云中复制和虚拟化基础架构的各方面来消除对大部分的手动过程的需要。为此,自动化过程允许管理员将基础架构定义为云服务,从而减少了确定公司内所需的硬件和软件基础架构的需要。例如,可向用户提供用于向云计算服务进行订阅的web界面。通过web界面,用户可定义初始典型的用户角色并选择操作系统环境和应用。用户还可选择要提供的角色实例的数量。云计算环境以负载平衡和可缩放的方式来自动地部署所请求的环境。所部署的环境可经由因特网通过使用URL或IP地址来访问。云计算环境中的基础架构的底层供应对于用户而言是透明的。


参考附图来进一步描述根据本说明书的用于部署虚拟计算基础架构的系统、方法和计算机可读介质,在附图中图I描绘了其中可实现本公开的各方面的示例计算环境。图2描绘了其中可实现本公开的各方面的示例计算环境。图3描绘了包括数据中心的示例计算环境。图4描绘了数据中心的操作环境。图5描绘了用于实施本公开的各方面的操作环境。图6示出了用于实施此处所公开的某些方法的示例体系结构。图7示出了描绘此处所公开的某些方法的示例框图。
图8示出了描绘云数据服务的计算组件的示例框图。图9示出了描绘云数据服务的存储组件的示例框图。图10示出了描绘云数据服务的结构控制器组件的示例框图。图11示出了描绘云数据服务的⑶N组件的示例框图。图12示出了描绘云数据服务的连接组件的示例框图。图13示出了此处所公开的方法的示例实施例。图14示出了此处所公开的方法的示例实施例。图15示出了用于实施本公开的各方面的操作过程的示例。
图16示出了用于实施本公开的各方面的示例系统。图17示出了用户数据装载场景的示例实施例。
具体实施例方式在以下描述和附图中阐明了某些具体细节,以提供对本公开的各个实施例的全面理解。通常与计算和软件技术相关联的某些公知细节不在以下公开中描述,以避免不必要地使本公开的各实施例晦涩难懂。此外,相关领域的普通技术人员会理解,他们可以无需以下描述的细节中的一个或多个而实现本公开的其它实施例。最后,尽管在以下公开中参考了步骤和序列来描述各个方法,但是如此的描述是为了提供本公开的实施例的清楚实现,且步骤以及步骤序列不应被认为是实现本公开所必需的。应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,本公开的方法和装置或其某些方面或部分,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(S卩,指令)的形式,其中,当程序代码被加载至诸如计算机等机器并由其运行时,该机器成为用于实现本公开的装置。在程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用应用编程接口(API)、可重用控件等来实现或利用结合本公开所描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。远程桌面系统是维护可由客户端计算机系统远程地执行的应用的计算机系统。输入是在客户计算机系统处被输入的,并通过网络(例如,使用基于国际电信联盟(ITU)T. 120系列协议等协议,如远程桌面协议(RDP))传送到终端服务器上的应用。该应用如同该输入是在终端服务器处输入的那样来处理该输入。该应用响应于所接收到的输入来生成输出,并且通过网络将该输出传送到客户端。各实施例可在一个或多个计算机上执行。图I及以下讨论旨在提供可在其中实现本发明的合适计算环境的简要概括描述。本领域的技术人员可以理解,计算机系统200、300可具有相对于图I的计算机100描述的组件中的一部分或全部。在其中各组件可用包括硬件和软件的组合的电路来实现的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。贯穿本公开使用的术语电路可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件/软件。术语电路还可包括被配置成通过固件或通过开关集来以特定方式执行功能的微处理器,或一个或多个逻辑处理器,例如,多核通用处理单元的一个或多个核。此示例中的逻辑处理器可以通过从存储器,例如,RAM、ROM、固件和/或虚拟存储器中加载的体现可操作以执行功能的逻辑的软件指令来配置。因为本领域技术人员可以明白,现有技术已经进化到硬件、软件或硬件/软件的组合之间能够互换的地步,因而选择硬件还是软件来实现功能可能只是一个设计选择。因此,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现是无足轻重的且留给了实现者。图I描绘了以本公开的各方面来配置的计算系统的示例。计算系统可包括计算机20等等,其中包括处理单元21、系统存储器22,以及将包括系统存储器在内的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。系统存储器包括只读存储器(ROM) 24和随机存取存储器(RAM) 25。基本输入/输出系统26(BI0S)被存储在ROM 24中,该基本输入/输出系统26包含了诸如在启动期间帮助在计算机20内的元件之间传输信息的基本例程。计算机20还可以包括用于读写硬盘(未示出)的硬盘驱动器27、用于读写可移动磁盘29的磁盘驱动器28,以及用于读写诸如CDROM或其他光学介质之类的可移动光盘31的光盘驱动器30。在一些示例实施例中,实施本公开的各方面的计算机可执行指令可存储在ROM 24、硬盘(未示出)、RAM25、可移动磁盘29、光盘31和/或处理单元21的高速缓存中。硬盘驱动器27、磁盘驱动器28,以及光盘驱动器30分别通过硬盘驱动器接口 32、磁盘驱动器接口 33,以及光盘驱动器接口 34连接到系统总线23。驱动器以及它们相关联的计算机可读介质为计算机20提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失性存储。虽然此处所描述的环境使用了硬盘、可移动磁盘29、以及可移动光盘31,但是,那些本领域普通技术人员应该理解,在操作环境中也可以使用诸如盒式磁带、闪存卡、数字视频盘、伯努利磁带盒、随机存取存储器(RAM)、只读存储器(ROM)等等之类的可以存储可由计算机进行访问的数据的其他类型的计算机可 读介质。可以有若干个程序模块存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25上,包括操作系统35、一个或多个应用程序36、其他程序模块37、以及程序数据38。用户可以通过诸如键盘40和定点设备42之类的输入设备向计算机20中输入命令和信息。其他输入设备(未示出)可包括话筒、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过耦合到系统总线的串行端口接口 46连接到处理单元21,但是,也可以通过诸如并行端口、游戏端口、通用串行总线(USB)之类的其他接口来连接。显示器47或其他类型的显示设备也可以通过诸如视频适配器48之类的接口连接到系统总线23。除了显示器47之外,计算机通常包括其他外围输出设备(未示出),如扬声器和打印机。图I的系统也包括主机适配器55、小型计算机系统接口(SCSI)总线56,以及连接到SCSI总线56的外部存储设备62。计算机20可使用到一个或多个远程计算机(诸如,远程计算机49)的逻辑连接而在联网环境中操作。远程计算机49可以是另一计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点、虚拟机,并通常包括上文相对于计算机20所描述的许多或全部元件,但是在图I中只示出了存储器存储设备50。图I中所描绘的逻辑连接可包括局域网(LAN)51和广域网(WAN)52。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。当用于LAN联网环境中时,计算机20可通过网络接口或适配器53连接到LAN 51。当用于WAN联网环境中时,计算机20可通常包括调制解调器54,或用于通过诸如因特网之类的广域网52建立通信的其他手段。可以是内置的或外置的调制解调器54可通过串行端口接口 46连接到系统总线23。在联网环境中,相对于计算机20所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示出的网络连接只是示例,也可以使用用于在计算机之间建立通信链路的其他手段。此外,虽然可构想本发明的许多实施例尤其适用于计算机系统,然而在本文中不意味着将本公开限于这些实施例。现在参考图2,所描绘的是被配置成实现虚拟机的计算机系统的高级框图。如图所示,计算机系统100可包括图I和2中所描述的元件,以及可用于实现虚拟机的组件。一个这样的组件是在本领域中也可被称为虚拟机监控程序的系统管理程序(hypervisor) 202。 所描绘的实施例中的系统管理程序202可被配置成控制并仲裁对计算机系统100的硬件的访问。广泛而言,系统管理程序202可以生成称为分区的执行环境,如子分区I到子分区N(其中N是大于或等于I的整数)。在各实施例中,子分区可被认为是系统管理程序202所支持的基本隔离单位,即,每一子分区可被映射到在系统管理程序202的控制下的一组硬件资源,例如存储器、设备、逻辑处理器周期等,和/或父分区,并且系统管理程序202可以隔离一个分区使其无法访问另一分区的资源。在各实施例中,系统管理程序202可以是独立软件产品,操作系统的一部分、被嵌入在主板的固件内、专门的集成电路,或其组合。在以上示例中,计算机系统100包括父分区204,父分区在开源社区中也可被认为是域O。父分区204可被配置成通过使用虚拟化服务向在子分区I-N中执行的客操作系统提供资源。每一子分区可包括一个或多个虚拟处理器,例如客操作系统220到222可管理并调度线程在其上执行的虚拟处理器230到232。一般而言,虚拟处理器230到232是提供带有特定体系结构的物理处理器的表示的可执行指令和相关联状态信息。例如,一个虚拟机可具有带有英特尔x86处理器特性的虚拟处理器,而另一虚拟处理器可具有PowerPC处理器的特性。本示例中的虚拟处理器可被映射到计算机系统的逻辑处理器,使得实现虚拟处理器的指令将受到逻辑处理器的支持。如此,在这些示例实施例中,多个虚拟处理器可以同时执行,而同时例如另一逻辑处理器正执行系统管理程序指令。一般而言,且如图所示,分区中的虚拟处理器以及存储器的组合可被认为是虚拟机,如虚拟机240或242。—般而言,客操作系统220到222可包括任何操作系统,如来自微软 、苹果 、开源社区等的操作系统。客操作系统可包括用户/内核操作模式,并且可具有能包括调度器、存储器管理器等的内核。内核模式可包括逻辑处理器中的执行模式,该执行模式授予对至少特权处理器指令的访问。每一客操作系统220到222可具有相关联的文件系统,该文件系统上存储有诸如终端服务器、电子商务服务器、电子邮件服务器等应用以及客操作系统本身。客操作系统220-222可以调度线程来在虚拟处理器230-232上执行,并可以实现这样的应用程序的实例。图3和以下描述旨在提供其中可实现此处描述的各实施例的示例计算环境的简要概括描述。具体地,图3描绘了包括用于提供计算资源的数据中心308的说明性操作环境300。数据中心308可提供用于执行应用的计算资源并且在连续的或按需的基础上提供数据服务。数据中心308所提供的计算资源可包括各种类型的资源,诸如数据处理资源、数据存储资源、数据通信资源等。每一种类型的计算资源可以是通用的或者可以在多个特定配置上可用。例如,数据处理资源可供用作虚拟机实例。虚拟机实例可被配置成执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可包括文件存储设备、块存储设备等。数据中心不仅仅包括虚拟机计算资源,还包括多个物理计算设备,所述物理计算设备可被配置成运行一个或多个虚拟机,所述虚拟机可以跨物理资源被迁移以进行负载平衡。数据中心308所提供的计算资源可由一个或多个单独的数据中心来启用。数据中心308是用于容纳和操作计算机系统和相关联的组件的设施。数据中心308通常包括冗余且备用的供电、通信、冷却和安全系统。数据中心302还可位于在地理上不同的位置。下文将参考图3来描述实现此处所公开的用于可缩放地部署虚拟化计算基础架构的概念和技 术的数据中心308的一个说明性配置。数据中心308的顾客和其他顾客可通过网络306访问数据中心302所提供的计算资源。应该理解,可使用将数据中心308连接到远程顾客的局域网(“LAN”)、因特网或本领域已知的任何其他联网拓扑结构。还应该理解,还可使用此类网络的组合。用户计算机304可以是数据中心308的顾客或其他顾客所使用的计算机。例如,用户计算机304可以是服务器计算机、台式机或膝上型个人计算机、瘦客户机、平板计算机、无线电话、个人数字助理(“PDA”)、电子阅读器、游戏控制台、机顶盒或能够访问数据中心308的任何其他计算设备。用户计算机304用于配置数据中心308所提供的计算资源的各方面。在这一点上,数据中心308可提供Web界面,该数据中心的操作的各方面可通过使用在顾客计算系统304上执行的Web浏览器应用程序来配置。另选地,在顾客计算系统304上执行的独立应用程序可访问由数据中心308展示的应用编程接口(“API”)来执行配置操作。还可使用用于配置数据中心308的操作的其他机制,包括向应用部署更新。图4描绘了一计算系统图,该图示出了数据中心308的一种配置,包括此处所公开的用于可缩放地部署虚拟化计算基础架构的概念和技术。图2包括用于提供计算资源以供执行应用的服务器计算机402。服务器计算机402可以是被合适地配置为提供上述计算资源的标准服务器计算机。例如,在一种实现中,服务器计算机402被配置成提供进程406。在一实施例中,进程406可以是虚拟机实例。虚拟机实例可以是非常像物理机执行程序那样执行程序的机器(即计算机)的软件实现的实例。在虚拟机实例的示例中,每一个服务器402都可被配置成执行能够执行实例的实例管理器。实例管理器可以是系统管理程序、或者是被配置成例如在单个服务器402上实现多个进程406的执行的另一类型的程序。应该理解,尽管此处所公开的某些实施例在虚拟机实例的上下文中进行讨论,但还可将其他类型的实例用于此处所公开的概念和技术。例如,此处所公开的技术可用于存储资源、处理资源、数据通信资源的实例以及用于其他类型的资源的实例。此处所公开的各实施例还可用于不利用虚拟机实例的计算系统,即使用物理机和虚拟机的组合的计算系统。
在图4所示的示例数据中心中,LAN 401被用来互连服务器计算机402。LAN401还可连接到图3所示的WAN 306。应该理解,图3和4所示的网络拓扑结构已经被极大地简化,并且可利用多得多的网络和联网设备来互连此处所公开的各种计算系统。合适的负载平衡设备或软件模块还可用于在数据中心之间、在每一个数据中心中的每一个服务器计算机402之间、以及在由数据中心的每一个顾客购买的实例406之间进行负载平衡。这些网络拓扑结构和设备对于本领域技术人员而言应该是显而易见的。云计算一般指的是用于实现对诸如上文所述的计算资源(例如,应用、服务器和存储)的共享池的按需网络访问的计算环境。此类计算环境可用最少的管理工作或服务提供者交互来快速地供应和释放。云计算服务通常不要求终端用户知晓递送服务的系统的物理位置以及配置。服务可以是基于消耗的并且经由因特网来递送。许多云计算服务涉及诸如上文所述的那些虚拟化资源,并且可以采取用户能够通过web浏览器来访问和使用的基于web的工具或应用的形式,就好像它们是本地地安装在用户自己的计算机上的程序那样。云计算服务通常构建在某种类型的平台上。对于诸如在组织的数据中心内部运行的某些应用而言,此类平台可包括操作系统以及被配置成存储数据的数据存储服务。运行在云中的应用可使用类似的基础。图5提供了图3所示的实例环境的进一步细节。用户计算机304处的管理员可建立桌面配置501,包括标识操作系统、应用、策略和存储设置。此类偏好可由管理员改变,并且服务的提供者可针对提供所请求的配置向管理员收费。在一实施例中并且如图6进一步描述的,云服务可实现如下包括四层栈的体系结构·云计算平台601,被配置成提供资源以支持云服务·桌面供应和管理层602,用于创建和管理云计算资产,所述云计算资产使得应用提供者能够提供应用、企业桌面提供者和桌面转售商能够创建和管理桌面、用户能够连接到他们的桌面等。这一层可将应用和桌面的逻辑视图转换成云计算平台的物理资产。 应用提供者/企业桌面提供者/桌面转售商/用户体验层603,为上述四种类型的实体中的每一种实体提供独特的端到端体验。·垂直层604,为特定的用户组提供由桌面转售商提供的一组定制体验。在云计算平台的一实施例中,可实现和使用戳记来定义隔离单元,例如,以借助安全界限的方式在云环境内将一个实体与另一实体隔离开,并且该戳记可被配置成根据本发明的一方面来定义远程桌面部署。可提供维护顾客人工制品和凭证、跨戳记来管理负载、以及供应戳记并调整戳记的大小的远程桌面控制器组件。远程桌面控制器还可创建并管理应用和桌面。特定端点提供用户桌面的虚拟等价物,一个(或多个)戳记提供公司计算基础架构的虚拟等价物。上文所述的各层可涉及多个组件。此类组件可包括在下文中进一步描述的下列组件。·计算组件(例如,图8),运行云中的应用。·存储组件(例如,图9),存储云中的二进制和结构化数据·结构控制器组件(例如,图10),部署、管理和监控应用。结构控制器还处理整个平台上对系统软件的更新 内容递送网络组件(例如,图11),通过在全世界范围内维护云存储中的数据的高速缓存的副本来提高该数据的全球访问速度。·连接组件(例如,图12),允许在本地(on-premise)计算机和云应用之间创建IP级连接。参考描绘计算组件810的图8,应用可被实现为如上所述的一个或多个角色800、801、802。云服务可通过使用负载平衡来跨角色地传播请求来运行每一个角色的多个实例。可向开发者提供门户以将应用提交给云服务。门户可被配置成接收配置信息,该配置信息通知云平台每一个角色要运行多少实例。结构控制器组件可为每一个实例创建虚拟机(VM)并且在该VM上为合适的角色运行代码。来自应用的用户的请求可使用诸如HTTP、HTTPS和TCP之类的协议作出。请求可跨一角色的全部实例来进行负载平衡。参考描绘存储组件910的图9,云平台可提供使用多个数据结构和格式的数据存储。例如,数据存储可作为二进制数据900的未结构化块来提供。元数据可用于提供关于内容的信息。为了允许应用以更结构化的方式来对数据进行操作,云存储服务可将存储作为与属性相关联的实体组来提供。还可向应用提供查询数据的装置,诸如例如包括搜索参数的API。另外,云存储可提供一种供web角色实例与工作者角色实例异步通信的方式。例如,用户可提交请求以经由由web角色实现的web界面来执行某种计算密集的任务。接收这一请求的web角色实例可将消息写入描述要完成的工作的队列902。在这一队列上等待的工作者角色实例随后可读取该消息并执行指定的任务。结果可经由另一队列返回。云存储服务可复制数据以便提供容错。此外,数据可被备份复制在位于不同物理位置的另一数据中心中以实现冗余和增强的可用性。参考图10,结构控制器组件1000可以是跨一组机器而复制的分布式应用。结构控制器组件可被配置成拥有在其环境中的全部资源,诸如计算机、交换机和负载平衡器。结构控制器组件1000还可监控正在运行的应用,确定新应用应该在哪里运行,以及选择物理服 务器来优化硬件利用。结构控制器组件还可被配置成启动、监控和终止虚拟机。在一实施例中并且参考图11,云服务可将数据副本存储在离使用该数据的客户机1000较近的站点处。例如,用户第一次访问特定数据片段时,内容递送网络组件可将该数据的副本存储(即高速缓存)在地理上离该用户近的位置处。下一次访问该数据时,内容可从高速缓存而非从更远的源来递送。在一实施例中并且参照图11,为了支持组织内使用的应用和数据,本地环境可与云服务连接。在一实施例中,此类组合可通过在云应用以及在云外部运行的机器之间提供IP级连通性来实现。端点代理1201可被安装在连接到云应用的每一本地计算机1202上。云应用还可被配置成与云连接组件1200 —起工作。代理可使用诸如IPsec之类的协议来与该应用中的特定角色交互。通过使用此类代理,配置诸如IPsec协议1203之类的协议的潜在复杂性对于用户而言可能是透明的,同时提供了比诸如虚拟专用网络(VPN)之类的方法更简单的连接。一旦建立了连接,云应用中的角色可显得像在本地机器上一样地在同一IP网络上。通过建立此类连接,云应用可直接访问本地数据库。云应用还可域加入(domain-join)到本地环境中,从而允许本地用户到云应用的单次登录,并且使用用于访问控制的现有的活动目录账户和组。在各实施例中,可提供远程桌面计算体验,其中桌面提供者可提供灵活的桌面池,管理员可以几乎与供应和管理单个用户桌面相同的方式从该池中容易地供应和管理多个用户桌面。远程桌面用户因此可被提供总是可用、无需管理过程并且基于消费来计费的桌面体验。对于应用提供者,此类服务可使得应用提供者以最小的工作用web应用形式向用户提供的传统桌面应用。随着企业开始采用远程或虚拟桌面作为集中式管理安全和相容的员工桌面,对于IT管理员而言能够提供同构的桌面环境以便控制和最小化成本将是有利的。因此,能提供多个远程或虚拟桌面的平台能以低成本提供可缩放的且同构的计算环境。通过以与同构的计算模型类似的方式在云平台上构建托管桌面解决方案,可向IT管理员提供与传统的“作为服务的桌面”的替换方案相比能够极大地降低成本的环境。 云计算平台可被配置成与多个用户和提供者一起操作并且向该多个用户和提供者提供益处。例如,对于向企业桌面提供者或桌面转售商提供应用的应用提供者而言,云计算平台可被配置成在可缩放的云模型中供应和销售传统的桌面应用。可使得应用提供者能够创建带有支出账户信息的应用提供者账户、上传应用包、在所选操作系统上测试所上传的应用、在云上的应用市场上发布应用、监控应用使用和设置每个用户的用户收费。对于创建和/或管理桌面的企业桌面提供者而言,云平台可被配置成将可包括应用束的桌面供应给具有类似要求的用户组。例如,用户组可以全部都是同一企业顾客的员工。可使得桌面提供者能够创建企业桌面提供者账户并且例如经由信用卡或其他信用设施来提供信用信息。可进一步使得桌面提供者能够通过例如从云市场选择OS版本和兼容的应用来创建桌面、按需上传附加的应用并且选择递送模式,即完全桌面体验还是远程应用递送。还可使得桌面提供者能够提供凭证以实现从桌面对顾客的本地活动目录的访问、添加用户以实现对桌面的访问、设置策略以控制对桌面上的应用的用户访问、为桌面用户设立网页的URL、以及访问连接活动和禁用/启用访问。桌面转售商可以是创建和/或管理作为服务销售给用户的桌面的实体。可使得桌面转售商能够执行与企业桌面提供者类似的能力,诸如创建桌面转售商账户、为远程用户创建注册和连接场景、通过从云市场选择OS版本和兼容应用来创建一个或多个桌面、以及上传附加的应用并选择递送模式。还可使得桌面转售商能够设置策略以管理对桌面上的应用的用户访问,并且自动或手动地提供OS和应用更新。还可使得桌面转售商能够查看连接活动和禁用/启用访问、监控桌面使用并接收来自用户的支付。用户可以是访问由企业桌面提供者或桌面转售商所供应的桌面的可标识的实体。用户可经由云平台从任何位置访问桌面、浏览至桌面服务的URL、并且登录并访问所供应的服务。在某些实施例中,可向用户提供用户能够登入的桌面环境列表。参考图13,示出了描绘用于在云计算框架中提供远程桌面服务的过程的示例框图。用户可经由浏览器来访问提供到远程桌面服务的接入点的网页,所述远程桌面服务根据用户的IT部门要求来对用户可访问和配置。用户可使用提供给用户的凭证来登录系统。凭证可以是诸如Windows Live ID或OpenID (开放ID)之类的持久ID。用户随后将被重定向至认证服务器,该认证服务器可要求通过安全连接输入用户名和口令。一旦通过认证,用户可被发放对于该用户而言持久的口令,所述口令被提供给其他服务以使得不再需要附加的授权。在一实施例中,即使桌面会话结束,口令对于该用户而言可能是持久的,除非用户显式地从会话登出。可以提供一种用于自动地登录到基于云的系统的机制,在所述基于云的系统中,单次用户认证和授权过程准许用户访问用户具有访问许可的基于云的系统中的资源而无需输入多次口令。提供单次登录允许用户登录一次并且访问多个应用而无需输入更多次的口令。单次登录通过经由减少必须被维护的口令数量来提升安全性和效率,它对于企业而言是合乎需要的。对于云服务提供者而言,单次登录通过允许用户更大的访问权而无需附加的认证工作来提供更好的用户体验。基于云的服务可能不接受由单次登录服务所生成的令牌登录凭证。例如,web-ID提供者或单次登录服务可向用户提示单次凭证,并且服务可生成可用于连接到其他服务的权证或令牌。此类系统的示例包括Windows、Linux和iOS。给予本地企业域中的用户例如对在云服务中运行的应用的单次登录是合乎需要的。在一实施例中,当用户登录到基于云的桌面并提供认证凭证时,可自动地生成和 保持一次性口令。所生成的一次性口令可用于自动地登录到基于云的系统中的其他过程。在一实施例中,所生成的一次性口令可被保持到用户显式地登出为止。因此,即使在桌面会话被意外终止的情况下,口令也可被保持。在另一实施例中,用户可具有用于提供诸如Windows Live或Yahoo之类的集成在线服务的服务的账户。此类服务可提供诸如能使用单个用户ID和口令来访问的电子邮件和多媒体服务之类的服务和软件产品集。在一实施例中,此类集成服务的用户也可被提供如上所述地访问基于云的计算服务的选项。因此,当用户选择了基于云的计算服务作为此类集成服务的一部分时,一旦用户登录了服务,则可向用户呈现访问基于云的计算服务并请求远程桌面会话的选项。因为例如远程桌面之类的基于云的服务可能不接受来自集成服务的凭证,所以基于云的服务可生成带有允许用户访问桌面会话的一次性口令的账户。一次性口令的细节不必提供给用户,因为该口令仅在会话期间存在或者仅存在至用户登出为止。在一实施例中,一次性口令可被保持以使得在桌面被无意地断开连接的情况下用户可返回至桌面而不必重启登录过程。在图14所不的一实施例中,客户机1404可输入他的公司的基于云的服务主页1400的URL。另选地,用户可输入集成在线服务的URL。用户可被定向至向用户提示认证凭证的在线认证服务1404。在线认证服务1401可以是用户的管理员所使用的服务,并且用户的凭证信息可由管理员提供给云服务,从而授权服务创建用户简档并允许用户启动和访问桌面。另选地,在线认证服务1401可由集成在线服务提供。一旦用户经过认证,该用户被定向至主页1402,该用户可使用由在线认证服务所提供的凭证来访问云服务1410。云服务1410生成一次性口令1405和/或临时用户账户,并且用户的一次性口令被发送140至端点1407。如上所述,端点1407可以是用户桌面会话。一次性口令可基于在线认证服务接收到的凭证来生成。在一实施例中,口令可被存储在主存用户会话的虚拟机中的本地凭证存储中。因此,口令不随着用户被保持在用户简档中,从而允许增强的安全性并避免了对云服务为每一个用户维护口令的需要。可向用户呈现可被选择和登录的多个桌面,例如,工程桌面、财务桌面等。例如,每一个桌面可针对特定的功能来定制。可基于预定义的授权来向用户呈现特定的桌面。一旦用户选择了桌面,可为该用户实例化新的桌面实例。如果先前的桌面实例被选择,则可恢复与先前的桌面实例相关联的会话。该用户的会话以及其他用户的会话可作为主存多个此类会话的虚拟机内的端点而被启动。所保存的简档可与被创建的或被恢复的每一个端点相关联,所述简档包括来自先前会话的用户偏好和状态信息以及用于维护用户状态所需的其他信息,从而用户的会话可被保持、暂停和恢复。一般地,桌面可由操作系统、应用和设置构成。桌面实例一般指的是桌面加上特定的用户简档。在某些情况下,桌面实例和桌面会话可互换地使用。在一实施例中,可为额外的用户启动多个会话。参考图14所示的示例实施例,当额外的用户登录到系统时,可实例化对应于多个端点的多个会话。此外,用户可包括如用户组的管理员所定义的多个用户类型。例如,如图所示,类型I和类型2的多个用户可登录到系统并开始会话。例如,类型I可以是财务类型桌面而类型2可以是工程类型桌面。当然,其它示例也是可能的。虚拟机可被配置成主存一个或多个类型的多个会话。在一实施例中,会话数量可独立于主存各个用户会话的底层虚拟机配置。当在虚拟机上实例化额外的用户会话时,可启动额外的虚拟机。在一实施例中,一组多个远程桌面会话可被配置成在 虚拟机上执行。在需要更多的远程桌面会话时,可启动另一虚拟机。可提供弹性的虚拟机池,以使得可在任何时候动态地添加会话而无需终端用户或管理员理解提供服务的结构的底层细节。因为用户可被分配来自可用虚拟机(VM)端点池的VM端点,因此下一次用户登录时,用户可连接到该池中的任何一个VM端点。为了为用户创建定制的桌面体验,可保存用户偏好和状态数据。在一实施例中,用户偏好和状态数据可被保存到可与用户相关联的数据集,以使得任何时候用户登录并被分配桌面时,可获得用户偏好和状态数据从而可恢复用户先前的桌面状态。因此,例如,如果用户与第一虚拟机上的会话(即端点)相关联并且稍后被分配到不同虚拟机上的不同会话,则来自第一虚拟机的用户桌面状态对于第二虚拟机上的会话而言一般将不可用。然而,根据本公开的一方面,用户状态独立于会话和特定的VM端点而被保存。如本发明中所述的,此类用户数据集可被成为虚拟简档。在各实施例中,虚拟简档可被实现并且被称为虚拟硬盘驱动器或虚拟硬盘(VHD)。由此,当用户与不同虚拟机上的会话连接时,先前的用户状态可被迁移至新的会话。此特征允许被设计成提供特定类型以对每一个特定用户而言具有定制的感觉的单个主机桌面。结果是其他方面通用的会话环境的用户被用户感知为具有个人桌面外观和感觉。如上所讨论的,在用户会话的过程期间,客户机可打开和关闭到云服务的远程访问连接,并且在任何给定的连接期间,客户机可改变会话中的设置和偏好。此处描述了一种用于在基于云的基础架构中供应远程桌面同时维护用户个性化的机制。在基于云的系统中,用户可能无法一直重新连接到同一个虚拟桌面。在一实施例中,分配给用户的虚拟简档可被装载到分配给用户的端点。虚拟简档可包括诸如用户个人数据和个性化信息(例如,设置、简档、文件、应用数据等)之类的信息。当用户从远程桌面断开连接或者从远程桌面登出时,虚拟简档从该端点被卸载并且被保存以供后续用户会话。虚拟简档因此保存了关于用户断开连接时的用户状态的信息并且按需提供该信息以用于启动下一次用户会话。因为用户可被分配来自可用VM端点池的VM端点,因此下一次用户登录时,用户可连接到该池中的任何一个VM端点。为了为用户创建定制的桌面体验,用户的被保存的偏好和状态数据可用于提供定制的桌面体验,而不管用户连接到的特定VM端点。尽管术语虚拟简档和VHD用于描述用于保存用户偏好和状态信息的数据结构,但应该理解,本发明不旨在限于任何特定的文件或数据格式。在一实施例中,虚拟简档或VHD可以是被配置为通常在物理数据盘驱动器上找到的数据的虚拟硬盘文件格式。最初,虚拟简档或VHD可用可操作地根据由例如公司IT管理员所定义的标准桌面配置来配置用户桌面的数据来填充。因此,虚拟简档或VHD可包括定义桌面的“黄金映像” (即,对于用户角色而言标准的桌面配置)的数据。然而,当用户使用特定的远程桌面并开始通过例如改变墙纸、添加音乐、保存本地文档等来定制桌面时,该信息被存储到虚拟简档或VHD,并且之后每一次用户连接到标准远程桌面时,就用来自虚拟简档或VHD的数据来进行填充以提供定制用户体验的外观和感觉。可在单个云服务界限的界限内定义用户类型(即桌面类型)的任意组合。例如,云服务界限1410可定义单个服务界限,所述单个服务界限被定义并且被配置成用于提供给特定公司并且可使用预先确定的URL来访问的服务集,当经由浏览器输入所述URL时,可提供用于登录到服务并且访问被配置成用于服务的桌面的web界面。在一实施例中,在请求用户会话时,最初可请求到连接代理的连接。连接代理可确定与所请求的用户会话相关联的戳记,并且选择正主存所标识的戳记内的用户会话的虚拟机。例如,如果请求指示需要一用户会话,则连接代理可搜索包括IP地址端口号组合或网络标识符的数据库以寻找正被主存在云服务器上的合适的虚拟机。连接代理可生成重定向请求,所述重定向请求使得用户会话与所标识的虚拟机相关联。参考图17所述的实施例,端点可被通知1700用户已经登录了系统。系统搜索虚拟简档1701并确定用户的虚拟简档已经存在1702。如果不存在用户的虚拟简档,则创建虚拟简档1703。如果用户的虚拟简档已经存在或者如果虚拟简档被创建,则用户虚拟简档被移动至端点1704。用户桌面会话可被启动1705。当确定用户已经登出时1706,虚拟简档从端点被卸载1707并且被保存以供后续使用。基础架构供应在一实施例中,描述了一种用于在云计算环境中创建和部署计算基础架构的机制。可向诸如管理员之类的用户(通常确定公司的计算需求的人)提供用于定义各种公司计算需求和典型的终端用户桌面的界面。此类机制可允许至少部分地用提供云中的虚拟公司基础架构的自动化的基于云的服务来替换真实世界公司基础架构供应的过程。例如,在典型的公司计算机系统设立中,管理员可确定公司应该具有带有给定应用集(例如,Outlook、Word、Visio、AutoCad等)的工程桌面以及带有略有不同的应用集(例如,Outlook、Word、Excel等)的财务桌面。管理员随后可确定要向多少终端用户供应给定的桌面(即,工程部门中的每个人获得基于工程桌面的桌面映像,而财务部门中的每个人获得基于财务桌面的桌面映像)。管理员随后可确定终端服务器需要支持此类终端用户和应用。例如,管理员将确定需要多少服务器来支持电子邮件服务器、需要多少服务器来支持文档储存库等等。服务器硬件随后需要在公司中被建立,并且安装在服务器、台式机或笔记本计算机上的各种应用将需要被购买并用各种桌面映像来供应等等。
本发明的一方面在于提供基于云的基础架构供应工具,所述工具通过在云中复制和虚拟化基础架构的各方面来移除对大部分手动过程的需要。为此,自动化过程允许管理员将基础架构定义为云服务,从而减少了确定公司内需要的硬件和软件基础架构的需要。由此,可向管理员提供用于订阅云计算服务的web界面。通过该web界面,管理员可定义典型的终端用户角色并且选择操作系统环境和应用。管理员还可选择要提供的角色实例的数量。云计算环境以负载平衡且可缩放的方式来自动地部署所请求的环境。所部署的环境可经由因特网通过使用URL或IP地址来访问。远程桌面配置可经由因特网通过使用URL来访问。例如,在配置桌面环境之后,桌面环境可由个体终端用户通过输入例如画· company.com/tech和www. company, com/finance来访问。云计算环境中的基础架构的底层供应对于管理员而言是透明的。参考图5,示出了用户计算机104处的管理员访问经由网络106访问由数据中心102提供的云服务。管理员可选择包括操作系统、应用、策略和存储选项的桌面配置501。图15描绘了用于部署虚拟计算基础架构的示例性操作过程,包括操作1500、1502、1504、1506、1508和1510。参考图15,操作1500开始操作过程,并且操作1502示出了 使得用户界面被呈现给用户。用户界面可以是例如可在web浏览器上呈现的网页。用户界面可用于允许用户输入计算基础架构配置参数。配置参数可包括操作环境以及要被包括在操作环境中的软件应用。操作1504示出了处理经由用户界面接收的配置参数,以建立包括一个或多个用户远程桌面配置的虚拟计算基础架构。远程桌面配置可各自对应于一用户角色。远程桌面配置可经由因特网通过使用URL来访问。远程桌面配置可各自对应于一用户角色。例如,管理员可使用此类用户界面来为中等大小的公司定义两个桌面环境。管理员可定义用于工程人员的第一桌面环境,并且可选择操作系统和版本、电子邮件和日历应用、浏览器应用、办公应用以及制图应用。管理员可进一步指定一次可使用最多五十个这样的桌面。管理员还可定义用于财务人员的第二桌面环境,并且可选择操作系统和版本、电子邮件和日历应用、浏览器应用、办公应用以及数据库应用。管理员可进一步指定一次可使用最多二十五个这样的桌面。操作1506示出了基于配置参数在多个虚拟机上安装多个服务器应用。操作1508示出了实例化虚拟计算基础架构,包括可由多个终端用户经由远程网络连接来访问的一个或多个终端用户远程桌面配置。操作1510示出了使得远程终端用户能够在多个虚拟机的至少一个上实例化远程桌面。远程桌面根据远程桌面配置之一来进行配置,以经由远程桌面访问至少一个服务器应用。图16描绘了用于如上所述地部署虚拟计算基础架构的示例性系统。参考图16,系统1600包括处理器1610和存储器1620。存储器1620还包括被配置成用于部署虚拟计算基础架构的计算机指令。框1622示出使得用户界面被呈现给用户,所述用户界面用于允许用户输入计算基础架构配置参数。框1624示出处理经由用户界面接收到的配置参数来建立虚拟计算基础架构。虚拟计算基础架构可包括安全界限内的多个虚拟机,其中虚拟机的数量根据接收到的配置参数来确定。框1626示出基于配置参数在多个虚拟机上安装多个服务器应用。框1628示出实例化虚拟计算基础架构,包括可由多个终端用户经由远程网络连接来访问的一个或多个终端用户远程桌面配置。框1630示出使得远程终端用户能够在多个虚拟机的至少一个上实例化远程桌面。远程桌面根据远程桌面配置之一来进行配置,以经由远程桌面访问至少一个服务器应用。上文所提及的方面中的任何一个方面都可以以方法、系统、计算机可读介质或任何类型的产品来实现。例如,计算机可读介质可以在其上存储用于部署虚拟计算基础架构的计算机可执行指令。此类介质可包括用于使得用户界面被呈现给用户的指令的第一子集,所述用户界面可用于允许用户输入计算基础架构配置参数;用于处理经由用户界面接收到的配置参数以建立虚拟计算基础架构的指令的第二子集;用于使得基于配置参数在多个虚拟机上安装多个服务器应用的指令的第三子集;用于使得确定一个或多个终端用户远程桌面配置的指令的第四子集,所述终端用户远程桌面配置可由多个终端用户经由远程网络连接来访问;用于在多个虚拟机的至少一个上实例化远程桌面的指令的第五子集,所述远程桌面根据远程桌面配置之一来进行配置以经由远程桌面来访问至少一个服务器应用;以及用于使得终端用户通过远程网络连接并且通过安全界限来访问远程桌面配置的指令的第六子集。本领域技术人员可以理解,可以使用附加指令集来捕捉此处所公开的各其他 方面,且根据本公开,目前所公开的六个指令子集可以在细节方面不同。
权利要求
1.一种用于部署虚拟计算基础架构的方法,所述方法包括 使得(1502)用户界面被呈现给用户,所述用户界面用于允许用户输入计算基础架构配置参数,所述配置参数包括操作环境以及要被包括在所述操作环境中的软件应用; 处理(1504)经由所述用户界面接收的配置参数以建立所述虚拟计算基础架构,所述虚拟计算基础架构包括安全界限内的多个虚拟机,其中所述虚拟机的数量根据接收到的配置参数来确定; 基于所述配置参数在多个虚拟机上安装(1506)多个服务器应用;以及实例化(1508)虚拟计算基础架构,所述虚拟计算基础架构包括可由多个终端用户经由远程网络连接来访问的一个或多个终端用户远程桌面配置; 使得(1510)远程终端用户在所述多个虚拟机的至少一个上实例化远程桌面,所述远程桌面根据所述远程桌面配置之一来进行配置以经由所述远程桌面来访问至少一个服务器应用。
2.如权利要求I所述的方法,其特征在于,所述一个或多个终端用户远程桌面配置各自对应于一用户角色。
3.如权利要求I所述的方法,其特征在于,所述至少一个计算基础架构还包括对于所述一个或多个远程桌面配置中的每一个来说是最大数量的终端用户。
4.如权利要求I所述的方法,其特征在于,所述用户界面可用于在web浏览器上显示。
5.如权利要求I所述的方法,其特征在于,所述一个或多个终端用户远程桌面配置经由因特网通过使用URL来访问。
6.如权利要求I所述的方法,其特征在于,终端用户所访问的远程桌面的每一个实例由虚拟机实例化。
7.如权利要求I所述的方法,其特征在于,所述操作环境包括数据存储容量。
8.一种计算系统(1600),包括 包括至少一个处理器的计算设备; 在所述系统运行时通信地耦合到所述处理器的存储器,所述存储器具有存储于其中的计算机指令,所述计算机指令在由所述至少一个处理器执行时致使 用户界面被呈现(1622)给用户,所述用户界面用于允许用户输入计算基础架构配置参数,所述配置参数包括操作环境以及要被包括在所述操作环境中的软件应用; 处理(1624)经由所述用户界面接收的配置参数以建立所述虚拟计算基础架构,所述虚拟计算基础架构包括安全界限内的多个虚拟机,其中所述虚拟机的数量根据接收到的配置参数来确定; 基于所述配置参数在所述多个虚拟机上安装(1626)多个服务器应用;以及实例化(1628)虚拟计算基础架构,所述虚拟计算基础架构包括可由多个终端用户经由远程网络连接来访问的一个或多个终端用户远程桌面配置; 使得(1630)远程终端用户在所述多个虚拟机的至少一个上实例化远程桌面,所述远程桌面根据所述远程桌面配置之一来进行配置以经由所述远程桌面来访问至少一个服务器应用。
9.如权利要求8所述的计算系统,其特征在于,所述一个或多个终端用户远程桌面配置各自对应于一用户角色。
10.一种其上存储有计算机可执行指令的计算机可读存储介质,所述指令用于可缩放地部署虚拟化计算基础架构,所述计算机可读存储介质包括指令用于致使 用户界面被呈现给用户,所述用户界面用于允许用户输入计算基础架构配置参数,所述配置参数包括操作环境以及要被包括在所述操作环境中的软件应用; 处理经由所述用户界面接收的配置参数以建立所述虚拟计算基础架构,所述虚拟计算基础架构包括安全界限内的多个虚拟机,其中所述虚拟机的数量根据接收到的配置参数来确定; 基于所述配置参数在所述多个虚拟机上安装多个服务器应用;以及 确定多个终端用户能经由远程网络连接来访问的一个或多个终端用户远程桌面配置; 在所述多个虚拟机的至少一个上实例化远程桌面,所述远程桌面根据所述远程桌面配置之一来进行配置以经由所述远程桌面来访问至少一个服务器应用; 使得终端用户通过所述远程网络连接并且通过所述安全界限来访问所述远程桌面配置。
全文摘要
本发明涉及自动化基础架构供应。提供了一种用于在云计算环境中创建和部署用于工作组的用户环境的机制。向诸如管理员之类的用户提供用于定义终端用户计算环境和所需IT基础架构的界面。基于此类信息,系统在云平台中创建基础架构。云中的基础架构的底层供应对于管理员而言是透明的。
文档编号G06F9/50GK102929685SQ201210342580
公开日2013年2月13日 申请日期2012年9月14日 优先权日2011年9月15日
发明者M·达斯, S·亚达夫, A·坎德哈雷, S·兰简, J·纳兰, R·拉蒂南, N·K·斯里尼瓦斯, R·米特尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1