云突发以及对云突发应用的管理转让专利

申请号 : CN201380012981.5

文献号 : CN104160374A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D·J·阿穆尔R·O·朗德尔J·D·韦尔奇Y·郑

申请人 : 微软公司

摘要 :

各实施例针对将应用各部分突发到不同类型的云计算系统、管理分布在多种不同的云类型上的分布式应用、以及在指定云中创建云突发目标。在一个场景中,计算机系统提供对可用云计算系统的指示,可用云计算系统至少包括不同类型的第一和第二云计算系统。计算机系统接收指示当前托管在第一类型的第一云计算系统上的软件应用的一部分要被突发到第二云计算系统上的选择。响应于该选择,计算机系统然后将该软件应用部分从第一类型的第一云计算系统突发到第二不同类型的第二云计算系统。

权利要求 :

1.一种在包括多个计算系统的计算机联网环境中,在包括至少一个处理器和存储器的计算机系统处,用于将应用各部分突发到不同类型的云计算系统的计算机实现的方法,所述方法包括:提供对可用云计算系统的指示的动作,所述可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统;

接收指示当前托管在所述第一类型的第一云计算系统上的软件应用的一部分要被突发到所述第二云计算系统上的选择的动作;以及响应于所述选择,将所述软件应用部分从所述第一类型的第一云计算系统突发到所述第二不同类型的第二云计算系统的动作。

2.如权利要求1所述的方法,其特征在于,所述软件应用的每一部分被呈现在所述部分当前正在其中托管的云计算系统中。

3.如权利要求1所述的方法,其特征在于,呈现一视图,所述视图显示指定的云计算系统以及托管在所述指定的云计算系统上的每一应用部分。

4.如权利要求3所述的方法,其特征在于,还包括响应于选择要呈现哪一云计算系统的观点的用户输入,在云计算系统视图之间切换。

5.一种在包括多个计算系统的计算机联网环境中,在包括至少一个处理器和存储器的计算机系统处,用于管理分布在多个不同的云类型上的分布式应用的计算机实现的方法,所述方法包括:呈现一视图的动作,所述视图显示运行在一个或多个云计算系统上的一个或多个软件应用部分;

接收指示要在用户所选的云计算系统上运行的至少一个软件应用部分上执行的一个或多个任务的用户输入的动作;

访问所接收的用户输入来确定哪个任务要使用对所述用户所选的云计算系统而言为本机的命令来执行的动作;以及在所述用户所选的云计算系统上的所述至少一个软件应用部分上使用本机命令执行所确定的任务的动作。

6.如权利要求5所述的方法,其特征在于,所述访问所接收的用户输入来确定哪个任务要使用对所述用户所选的云计算系统而言为本机的命令来执行的动作包括咨询在所述计算机系统的本机命令和所述云计算系统的本机命令之间映射的命令映射。

7.一种计算机系统,包括以下:

一个或多个处理器;

系统存储器;

其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述指令在被所述一个或多个处理器执行时,使得所述计算系统执行一种用于在指定云中创建云突发目标的方法,所述方法包括以下动作:提供对可用云计算系统的指示的动作,所述可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统;

接收指示第一类型的第一云计算系统要被用作云突发目标的第一指示,所述云突发目标包括被配置成根据预定义设置托管软件应用的一个或多个部分的云计算系统;

接收指定要被显现在所述云突发目标上的数据文件和设置的第二指示的动作;以及响应于所接收的指示,根据所述预定义设置创建所述云突发目标的动作。

8.如权利要求7所述的计算机系统,其特征在于,所述计算机系统转换设置,并将软件应用内容迁移到所述云突发目标。

9.如权利要求7所述的计算机系统,其特征在于,还包括在确定所述云突发目标被创建时,将所述软件应用自动向外扩展到所选云突发目标的动作。

10.如权利要求9所述的计算机系统,其特征在于,在确定预定应用使用阈值被满足时,所述软件应用被自动向外扩展到所选云突发目标。

说明书 :

云突发以及对云突发应用的管理

[0001] 背景
[0002] 计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
[0003] 在一些情况下,软件应用被设计成用于在多个不同的计算机系统上分发和实现。这样的软件应用被称为分布式应用。这些应用可被配置成应用的不同部分或层能够在不同的计算机系统上运行。因此,这些应用部分可被分配以便在不同的计算机系统上执行。在一些情况下,计算机系统可以是同一类型的计算机系统,而在其它情况下,计算机系统可以是不同类型的计算机系统,它们可包括不同的硬件、软件和/或操作系统。
[0004] 这些计算机系统可由云托管商或云供应商在同一或另一地理区域中提供和管理。如此处所使用地,“云供应商”指的是提供云计算资源的实体。实际运行云的物理计算机系统对使用计算机系统的工作负载而言是不透明的。因此,当软件应用或服务正在云上运行时,应用或服务所有者不知道服务/应用实际上哪个计算机系统上运行。
[0005] 简要概述
[0006] 此处描述的各实施例针对将应用各部分突发到不同类型的云计算系统、管理分布在多种不同的云类型上的分布式应用、以及在指定云中创建云突发目标。在一个实施例中,计算机系统提供对可用云计算系统的指示,可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统。计算机系统接收指示当前托管在第一类型的第一云计算系统上的软件应用的一部分要被突发到第二云计算系统上的选择。然后,响应于该选择,计算机系统将该软件应用部分从第一类型的第一云计算系统突发到第二不同类型的第二云计算系统。
[0007] 在另一实施例中,计算机系统管理分布在多个不同的云类型上的分布式应用。计算机系统呈现显示运行在各个云计算系统上的软件应用各部分的视图。计算机系统接收指示要在用户所选的云计算系统上运行的至少一个软件应用部分上执行的任务的用户输入。计算机系统然后访问所接收的用户输入来确定哪个任务要使用对用户所选的云计算系统而言为本机的命令来执行。在作出这一判断之后,计算机系统在用户所选的云计算系统上的软件应用部分上使用本机命令执行所确定的任务。
[0008] 在又一实施例中,计算机系统在指定的云中创建云突发目标。计算机系统提供对可用云计算系统的指示,可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统。计算机系统接收指示第一类型的第一云计算系统要被用作云突发目标的第一指示。云突发目标是被配置成根据预定义设置托管软件应用的各个部分的云计算系统。计算机系统然后接收指定要在云突发目标上显现(stage)的数据文件和设置的第二指示,并响应于所接收的指示,根据预定义设置创建云突发目标。
[0009] 提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0010] 附加的特征和优点将在以下的描述中被阐述,并且部分地可通过该描述而对本领域技术人员显而易见,或者可通过对本文中的教示的实践来习得。本发明的实施例的特征和优点可以通过在所附权利要求中特别指出的手段和组合来被实现并获得。本发明的实施例的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而习得。

附图说明

[0011] 为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明的实施例将通过使用附图用附加特征和细节来描述和说明,附图中:
[0012] 图1示出了其中本发明的各实施例可操作的计算机架构,操作包括将应用的各部分突发到不同类型的云计算系统。
[0013] 图2示出了用于将应用的各部分突发到不同类型的云计算系统的示例方法的流程图。
[0014] 图3示出了用于管理分布在多个不同的云类型上的分布式应用的示例方法的流程图。
[0015] 图4示出了用于在指定云中创建云突发目标的示例方法的流程图。
[0016] 图5示出了其中管理分布在多个不同的云类型上的分布式应用的实施例。
[0017] 图6示出了其中管理分布在多个不同的云类型上的分布式应用的配置窗口。
[0018] 图7示出了其中管理分布在多个不同的云类型上的分布式应用的替换实施例。

具体实施方式

[0019] 此处描述的各实施例针对将应用各部分突发到不同类型的云计算系统、管理分布在多种不同的云类型上的分布式应用、以及在指定云中创建云突发目标。在一个实施例中,计算机系统提供对可用云计算系统的指示,可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统。计算机系统接收指示当前托管在第一类型的第一云计算系统上的软件应用的一部分要被突发到第二云计算系统上的选择。然后,响应于该选择,计算机系统将该软件应用部分从第一类型的第一云计算系统突发到第二不同类型的第二云计算系统。
[0020] 在另一实施例中,计算机系统管理分布在多个不同的云类型上的分布式应用。计算机系统呈现显示运行在各个云计算系统上的软件应用各部分的视图。计算机系统接收指示要在用户所选的云计算系统上运行的至少一个软件应用部分上执行的任务的用户输入。计算机系统然后访问所接收的用户输入来确定哪个任务要使用对用户所选的云计算系统而言为本机的命令来执行。在作出这一判断之后,计算机系统在用户所选的云计算系统上的软件应用各部分上使用本机命令执行所确定的任务。
[0021] 在又一实施例中,计算机系统在指定的云中创建云突发目标。计算机系统提供对可用云计算系统的指示,可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统。计算机系统接收指示第一类型的第一云计算系统要被用作云突发目标的第一指示。云突发目标是被配置成根据预定义设置托管软件应用的各个部分的云计算系统。计算系统然后接收指定要在云突发目标上显现的数据文件和设置的第二指示,并响应于所接收的指示,根据预定义设置创建云突发目标。
[0022] 以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非是特别声明的或者是因为一个动作依赖于在执行该动作之前完成另一动作而需要的。
[0023] 本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如举例而言一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储有计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
[0024] 计算机存储介质包括RAM、ROM、EEPROM、CD-ROM、基于RAM、闪存、相变存储器(PCM),或其它类型的存储器的固态驱动器(SSD),或者其他光盘存储、磁盘存储或其他磁存储设备,或可用于以计算机可执行指令、数据或数据结构形式存储所期望的程序代码装置且可被通用或专用计算机访问的任何其他介质。
[0025] “网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线或无线的组合)被传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括如下的网络:所述网络可以用于运送计算机可执行指令形式或数据结构形式的数据或所期望的程序代码资料,并且可以被通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
[0026] 此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传输给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
[0027] 计算机可执行(或计算机可解释)的指令包括例如致使通用计算机、专用计算机、或专用处理设备执行某个功能或某组功能的指令。计算机可执行指令例如可以是二进制代码、诸如汇编语言之类的中间格式指令或者甚至是源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0028] 本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可在分布式系统环境中实践,在该环境中本地和远程计算机系统通过网络(经由硬连线数据链路、无线数据链路、或者经由硬连线和无线数据链路的组合)链接起来,每个计算机系统都执行任务(例如,云计算、云服务等)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备两者中。
[0029] 如此处所使用地,术语“云”或“云计算”指的是启用对可配置计算资源(例如,网络、服务器、存储、应用和/或服务)的共享池的普遍存在的、方便的、按需网络访问的模型,如由(美国)国家标准技术局(NIST)所定义地,这些资源可在最小管理努力或服务供应商交互的情况下被迅速提供和释放。云计算模型包括诸如按需自助服务、广泛网络访问、资源池存积、快速弹性和计量服务的特征。云计算模型可在各个服务模型中实现,包括软件即服务(SaaS)、平台即服务(PaaS)、基础架构即服务(IaaS),且可容纳一个或多个部署模型,包括私有云、社区云、公有云和混合云。
[0030] 图1示出了可在其中采用本发明的原理的计算机架构100。计算机架构100包括计算机系统101。计算机系统101可以是任何类型的本地或分布式计算机系统,包括云计算系统。计算机系统也可以是任何类型的物理或虚拟计算机系统。计算机系统包括显示109,它显示可用的云计算系统(例如,111A、111B、112A和112B)。这些云计算系统可以是公有云(111A/111B)或私有云(112A/112B)。如名字所暗示地,公有云通常对公众开放,而私有云以某种方式限制成员资格。
[0031] 其它类型的云也可被使用,诸如社区云(其中提供云基础架构供来自具有共享关注点(例如,任务、安全要求、策略和合规考虑)的组织的消费者的特定团体排他使用))或混合云(其中云基础架构包括两个或更多个不同的云基础架构(包括私有、社区或公有云))。每一云(公有、私有、社区或混合)可在单个服务器计算机系统上运行或可分布在多个服务器上。而且,每一云可作为虚拟服务器的一部分运行或运行在多个虚拟服务器上。每一云可被配置成提供处理资源、存储资源、联网资源或其它计算资源。
[0032] 每一云可运行不同的软件应用。在一些情况下,应用运行在单个云上,而在其它情况下,应用运行在多个云上。软件应用可被分成不同的部分或层,每一部分或层可被分派给不同的云。软件应用125包括三个部分:部分A(126A)、部分B(126B)和部分C(126C)。如将被理解地,每一软件应用可包括不同数量的部分,且每一应用可包括基本上任何数量的不同部分。在图1所示的实施例中,部分A正在公有云B(111B)上运行,部分B正在私有云A(112A)上运行,而部分C正在私有云B(112B)上运行。这仅是用于在不同云上运行应用各部分的许多不同的可能性的一个示例。
[0033] 在一些情况下,每一云可具有不同的命令。例如,公有云A可具有某一云专用命令117的集合,用于诸如以下的任务:启动应用的执行、停止应用的执行、暂停执行、升级云或应用软件或者删除应用的部分。许多其它命令是可能的,且以上列表不旨在是穷尽的。计算机系统101提供的云管理界面可具有其自己的本机命令116。任务映射模块115可被用于将用户(105)输入的本机命令映射成每一云的云专用命令。因此,如果用户输入“关机”命令,任务映射模块115可将关机命令映射到私有云B中的“杀掉所有服务”命令。以此方式,计算机系统101可提供一公共术语集合,用于跨为这些命令使用不同术语的各种不同类型的云执行任务。以下将分别参照图2、3和4的方法200、300和400来进一步解释这些概念。
[0034] 鉴于上述系统和体系结构,参照图2、3和4的流程图将更好地理解可根据所公开的主题实现的方法。为了说明简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
[0035] 图2示出了用于将应用的各部分突发到不同类型的云计算系统的方法200的流程图。现在将频繁参考环境100的组件和数据来描述方法200。
[0036] 方法200包括提供对可用云计算系统的指示的动作,可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统(动作210)。例如,计算机系统101的显示109可提供对用户105可用的那些云计算系统110的指示。显示示出两个公有云可用(111A和111B),以及两个私有云可用(112A和112B)。当云计算系统变得可用或失去其可用性时,它们可被动态添加到显示或从显示动态移除。计算机系统101可以是其它计算机系统的群集的一部分,或可经由网络以某种方式链接到其它计算机系统。因此,计算机系统101知晓并通信链接到多种不同类型的云计算系统,包括公有、私有、专用、第三方和其它类型的云。
[0037] 方法200还包括接收指示当前托管在第一类型的第一云计算系统上的软件应用的一部分要被突发到第二云计算系统上的选择的动作(动作220)。如此处所使用地,术语“突发”指的是将应用的执行或托管从一个云移动至一个或多个其它云。突发还可以指的是通过在另一云中运行应用的附加实例同时原有实例保持运行来为应用的一部分提供附加资源(如将在以下进一步解释)。从而,用户105可希望将软件应用125的部分A(126A)的执行从公有云B(111B)移动到私有云A(112A)。用户可出于各种原因希望改变云,包括托管的价格、带宽的价格、合同期到期、位置或各种其它原因中的任何一个。计算机系统101所提供的界面允许用户在基本上任何时间将应用的任何部分突发到任何类型的云上。
[0038] 然后,响应于用户的选择,方法200包括将软件应用的该部分从第一类型的第一云计算系统突发到第二不同类型的第二云计算系统的动作(动作230)。因此,在以上示例中,如果用户在输入106指示软件应用125的部分A的执行要从公有云B突发到私有云A,公有云B将停止托管部分A且私有云A将开始托管部分A。这种转移可无缝进行,即使这两个云是不同类型的(即,不同操作系统、不同协议、不同命令等)。软件应用的每一部分然后将在该部分被分配到的云计算系统中呈现。因此,如果用户105选择私有云A(例如,通过在其上点击),私有云A然后将显示它正托管软件应用125的部分A。
[0039] 从而,在一些实施例中,将呈现一视图,该视图显示指定的云计算系统(例如,私有云A)以及在该云计算系统上托管的每一应用部分。该视图可例如显示公有云A(111A)正托管软件应用125的部分C,以及一不同应用的部分B和又一应用的部分E。该视图可随着应用各部分被突发到公有云A或从公有云A突发而被动态更新。用户105在期望从显示特定云计算机系统的视图前往显示可用云110的全部(或一部分)的主视图时,可切换视图。一旦处于主视图中,用户可选择一不同的云,计算机系统101将生成从所选云计算系统的观点的视图。
[0040] 根据用户(例如,管理员)的期望或根据策略,软件应用各部分可被突发到其它云。例如,客户机可具有策略(或改变其策略)来指示,它们的应用仅在公有云上运行或者仅在服务器位于特定地理区域中的云上运行。在这样的情况下,应用各部分可被突发到符合用户指定策略的其它云。
[0041] 现在转向图3的方法300,流程图示出管理分布在多个不同的云类型上的分布式应用。现在将频繁参考环境100的组件和数据来描述方法300。
[0042] 方法300包括呈现一视图的动作,该视图显示运行在一个或多个云计算系统上的一个或多个软件应用部分(动作310)。例如,图1示出了具有四个不同的云计算系统的显示109:两个是公有的(111A和111B),且两个是私有的(112A和112B)。软件应用125的各个部分被显示为正运行在各个云上(例如,部分C正运行在私有云B上)。方法300然后包括接收指示要在用户所选的云计算系统上运行的至少一个软件应用部分上执行的一个或多个任务的用户输入的动作(动作320)。例如,任务可包括启动、停止或暂停应用部分的执行、恢复执行、更新应用、删除应用文件或各种任务中的任何其它任务。每一云可具有其自己的命令命名表。例如,在公有云B中,临时中止处理的命令可以是“暂停”命令,而在私有云A中,临时中止处理的命令是“挂起”命令。从而,每一云可具有它自己的云专用命令117。
[0043] 方法300然后访问所接收的用户输入来确定哪个任务要使用对用户所选的云计算系统而言为本机的命令来执行(动作330)。任务映射模块115可访问用户输入106中指定的任务107来确定在指定云上任务映射到哪一(些)命令。因此,例如,在以上示例中,如果用户向计算机系统101的云管理界面发送了本机“暂停”命令以暂停私有云A上的执行,则任务映射模块将“暂停”命令映射到私有云A的云专用“挂起”命令。任务映射模块115可存储在计算机系统101的本机命令116和每一云的云专用命令117之间映射的映射。每当公有云或私有云改变其任务/命令命名表时,该映射可被更新。
[0044] 当用户的任务107被正确映射到云专用命令之后,任务执行模块120在用户所选云计算系统上的该至少一个软件应用部分上使用本机命令来执行所确定的任务。因此,继续以上示例,如果用户输入了“暂停”命令,则将向私有云A发送“挂起”命令以临时中止应用部分的执行。在一些情况下,任务可包括更新。因此,当应用的一个或多个部分正在不同的云计算系统上执行时,可对软件应用的每一部分启动更新。从而,每一应用部分或层可被单独更新,而应用的其它部分正在不同的云计算系统上运行。
[0045] 现在转向图4,图4示出了用于在指定云中创建云突发目标的方法400的流程图。现在将频繁参考环境100的组件和数据来描述方法400。
[0046] 方法400包括提供对可用云计算系统的指示的动作,可用云计算系统包括至少第一类型的第一云计算系统以及第二不同类型的第二云计算系统(动作410)。如上所述,计算机系统101可提供显示可用云计算系统110的显示109。可用云是用户能访问(例如,通过向公司支付费用)的那些云。可用云可包括所有不同类型的云,包括公有、私有、第三方、专用系统和其它云。计算机系统可从用户接收输入(例如,来自用户105的输入106)。在一些情况下,输入可指示第一类型的第一云计算系统要被用作云突发目标(动作420)。突发目标是要对其突发应用的执行或托管的云。因此,如果用户选择公有云(111A)作为突发目标,公有云A将被用于根据预定义设置托管用户的软件应用的至少一部分。
[0047] 例如,如图6中所示,可提供允许用户选择突发目标(即用于向外扩展的目标云)的界面。可用云可包括云类型1的“沙箱”(例如,操作系统A)和云类型2的“塔科马(Tacoma)”(例如,操作系统B)。所选突发目标塔科马被示为具有12个虚拟机(VM)的虚拟机计数、24个中央处理单元(即核)、52吉(GB)可用存储器、无限磁盘空间和自定义配额21。将理解,这些设置中的任一个可对每一云改变,且每一云可具有其自己的设置集合。而且,设置可对每一用户不同,或对不同的支付计划不同(例如,较为昂贵的云托管计划包括较多计算资源)。
[0048] 当用户选择突发目标(例如,塔科马)时,云类型可与当前正在托管用户的应用(或应用部分)的云类型不同。用户可选择在主显示109中显示为可用的任何不同类型的云计算系统。在一些情况下,突发目标可以事先用与要跨云计算系统突发的软件应用相关联的一个或多个数据文件和设置显现。因此,例如,如果软件应用125要被突发到塔科马云,该应用的文件和/或设置的至少一部分可在该云实际开始托管应用之前被设置。以此方式,一旦托管开始,启动时间最少,因为文件和设置的大多数已经就位。
[0049] 在一些实施例中,为每一突发目标创建模板。模板包括在目标云中实例化软件应用的实例所需的信息和设置。因此,模板提供可重复步骤的大纲,以确保这样的应用被部署或升级的任何时间,相同集合的步骤可被执行,且应用将被正确部署。
[0050] 如上所述,每一应用或服务可包括不同的部分或层。这些应用部分或层中的每一个可包括多个实例。因此,如图5中所示,应用/服务550可包括三个部分/层:web层551A、服务器层551B和虚拟机(VM)层551C。web层包括三个应用实例(561、562和563),服务器层包括两个应用实例(564和565)而VM层包括一个应用实例(566)。将理解,每一应用部分或层可包括基本上任何数目的实例。这些层中的每一个可被配置成使用网络570与其它计算机系统通信。每一层可包括各种按钮,包括“添加目标按钮”,如web层551A中所示。添加目标按钮可允许用户添加突发目标。一旦添加目标按钮被点击,图6的界面(如上所述)可被显示。一旦用户为该层或为一层的一个应用实例选择了突发目标,该应用实体可被突发到该云。
[0051] 接着,方法400包括接收指定要被显现在云突发目标上的数据文件和设置的第二指示的动作(动作430)。因此,用户105可指示应用125的数据文件和/或设置要被显现在塔科马云上。用户还可指示应用的其它部分要被显现在其它云计算系统(潜在具有不同类型)上。然后,响应于用户的指示,方法400包括根据预定义设置创建云突发目标的动作(动作440)。然后,当应用被突发到突发目标之后,突发目标(例如,塔科马云)托管软件应用的所指示部分或实例。
[0052] 相应地,如图7中所示,应用实例567可被突发到云Y而应用实例568可被突发到云Z。用户可在任何给定实例上点击以查看该实例正在哪里托管以及什么托管设置就位。或者,用户可在层或应用550上点击以查看每一层和/或实例在哪里被托管。在这一视图中,用户还可在任一应用层或实例上执行命令。如图7中所示,如果用户选择任务按钮581,任务菜单582可被显示。任务菜单用界面的本机语言来显示公共任务。如上所述,任何所选命令可被解释,并被映射到相应的云专用命令。
[0053] 在一些实施例中,计算机系统101可被配置成转换设置并将软件应用内容迁移到所选云突发目标。在确定云突发目标已被初始化或创建时,软件应用可被自动向外扩展到所选云突发目标。在一些情况下,应用可在确定预定义应用使用阈值被满足时被自动向外扩展。因此,在这样的情况下,一旦应用显示了充足的使用,它被自动突发到所选云。相对地,当确定软件应用使用低于预定应用使用阈值时,软件应用可被自动缩回。该使用阈值可由用户定义或可从历史应用使用数据来得出。因此,阈值可例如基于应用在指定的时间段(例如,小时、天、周、月等)上被使用了多少来设置,或者在一些情况下,阈值可基于将来、预测的使用来设置。
[0054] 从而,如上所述,提供了向不同类型的云计算系统突发应用各部分的方法、系统和计算机程序产品。而且,提供了管理分布在多个不同的云类型上的分布式应用和在指定云中创建云突发目标的方法、系统和计算机程序产品。
[0055] 本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。