平码五不中公式规律
  • / 44
  • 下载费用:30 金币  

基于企业的网络与多租户网络之间的应用程序迁移.pdf

关 键 ?#21097;?/dt>
基于 企业 网络 租户 之间 应用程序 迁移
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580024384.3

申请日:

2015.05.06

公开号:

CN106663034A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 9/50申请日:20150506|||公开
IPC分类号: G06F9/50 主分类号: G06F9/50
申请人: 亚马逊技术股份有限公司
发明人: 阿波洛克·波尔塔库尔
地址: 美国内华达州
优?#28909;ǎ?/td> 2014.05.09 US 14/274,426
专利代理机构: ?#26412;?#36229;凡志成知识产权代理事务所(普通合伙) 11371 代理人: 李丙林;马维丽
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580024384.3

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

本发明公开一种将应用程序从基于企业的网络迁移到计算服务提供方的多租户网络的方法,所述方法可包括接收迁移在所述基于企业的网络内的第一虚拟机实例上运行的应用程序的请求。可通过标识所述基于企业的网络内的至少第二虚拟机实例来确定所述应用程序的相关性,其中所述至少第二虚拟机实例与所述应用程序相关联。可接收与由所述第一虚拟机实例和所述至少第二虚拟机实例使用的硬件资源相关联的资源监测指标。可基于所述监测指标将所述第一虚拟机实例和所述至少第二虚拟机实例从所述基于企业的网络迁移到所述多租户网络内的服务器处的至少一个虚拟机,从而将所述应用程序从所述基于企业的网络迁移到所述多租户网络。

权利要求书

1.一种在其上包括指令的计算机可读存储装置,其用于执行将应用程序从基于企业的
网络迁移到计算服务提供方的多租户网络的方法,所述方法包括:
在所述多租户网络处接收与由所述基于企业的网络处的服务器计算机托管的至少一
个应用程序对计算资源的使用相关联的资源监测指标;
选择由所述计算服务提供方的所述多租户网络内的服务器计算机托管的虚拟机实例
的虚拟机实例类型,所述选择至少部分基于所述资源监测指标;以及
将所述至少一个应用程序从所述基于企业的网络迁移到由所述多租户网络内的所述
服务器计算机托管的所述虚拟机实例。
2.如权利要求1所述的计算机可读存储装置,其中所述选择包括使所述资源监测指标
与跟所述多租户网络内的所述服务器计算机相关联的性能指标匹配。
3.如权利要求2所述的计算机可读存储装置,其中:
所述资源监测指标包括所述至少一个应用程序对所述基于企业的网络中的CPU、存储
器和磁盘I/O的实际使用;并且
所述性能指标包括所述多租户环境中的所述服务器计算机的CPU速度、存储器容量和
磁盘I/O速度。
4.如权利要求1所述的计算机可读存储装置,其还包括:
从所述基于企业的网络内的迁移服务获得相关性信息,所述相关性信息标识与所述应
用程序相关联并且在所述基于企业的网络中运行的一个或多个虚拟机实例。
5.如权利要求4所述的计算机可读存储装置,其中所述迁移所述至少一个应用程序还
包括:
将所述一个或多个虚拟机实例从所述基于企业的网络迁移到由所述多租户网络内的
所述服务器计算机托管的对应的一个或多个虚拟机实例,其中所述迁移包括将所述一个或
多个虚拟机实例从与所述基于企业的网络兼容的虚拟机实例格式变换成与所述多租户网
络兼容并且使用与所述多租户网络兼容的至少一个驱动器的虚拟机实例格式。
6.如权利要求1所述的计算机可读存储装置,其中所述选择由所述多租户网络内的所
述服务器计算机托管的所述虚拟机实例的所述虚拟机实例类型自动地发生并且无需用户
?#31245;ぁ?br />
7.如权利要求1所述的计算机可读存储装置,其还包括:
提供对所述虚拟机实例类型和所述多租户网络内的所述服务器计算机的服务器计算
机类型中的一个或两个的至少一个推荐;以及
响应于所述至少一个推荐,接收对所述虚拟机实例类型和所述服务器计算机的所述服
务器计算机类型的选择。
8.如权利要求1所述的计算机可读存储装置,其还包括:
响应于对来自所述多租户网络的信息的API请求,接收所述资源监测指标。
9.如权利要求8所述的计算机可读存储装置,其还包括:
响应于所述API请求,接收标识与由所述基于企业的网络处的所述至少一个应用程序
使用的所述计算资源相关联的至少一个?#25509;?#32593;络的信息,其中所述计算资?#20174;?#20027;机名称和
主机IP地址标识。
10.如权利要求9所述的计算机可读存储装置,其还包括:
针对所述多租户网络内的所述服务器计算机创建?#25509;?#32593;络;以及
分配所述多租户网络内的所述服务器计算机的名称和IP地址,所述名称和所述IP地址
与所述基于企业的网络处的所述计算资源的所述名称和所述IP地址相同。
11.一种用于将应用程序从基于企业的网络迁移到计算服务提供方的多租户网络的系
统,所述系统包括:
多个主机服务器计算机,其联接在一起以形成所述多租户网络,所述主机服务器计算
机的至少一部分用于执行与客户账户相关联的多个虚拟机;以及
应用程序迁移服务,其可操作来:
响应于接收对迁移托管在所述基于企业的网络内的第一虚拟机实例上的应用程序的
请求,确定所述基于企业的网络内托管所述应用程序的至少第二虚拟机实例;
将由所述应用程序对所述基于企业的网络中的计算资源的使用?#25104;?#21040;与所述多租户
网络内的计算资源相关联的性能指标;
至少部分地基于所述?#25104;洌?#22312;所述多租户网络内选择虚拟机实例类型和服务器计算机
类型;以及
将所述第一虚拟机实例从所述基于企业的网络迁移到所选择虚拟机实例类型的并且
由所述多租户网络内的所选择服务器计算机类型的服务器计算机托管的第一虚拟机实例,
从而将所述应用程序从所述基于企业的网络迁移到所述多租户网络。
12.根据权利要求11所述的系统,其中所述应用程序迁移服务可操作来:
将所述至少第二虚拟机实例从所述基于企业的网络迁移到所选择虚拟机实例类型的
并且由所述多租户网络内的所选择服务器计算机类型的所述服务器计算机托管的至少第
二虚拟机实例。
13.根据权利要求11所述的系统,其中所述应用程序迁移服务可操作来:
在所述多租户网络处接收指示由所述基于企业的网络中的所述应用程序对计算资源
的所述使用的资源监测指标。
14.根据权利要求11所述的系统,其中所述应用程序迁移服务可操作来:
响应于API请求,接收指示与所述基于企业的网络中托管所述第一虚拟机实例和所述
至少第二虚拟机实例的至少一个服务器计算机相关联的?#25509;?#23376;网络的信息;
在所述多租户网络处创建虚拟?#25509;?#32593;络;以及
在所述虚拟?#25509;?#32593;络内启动用于所述服务器计算机的?#25509;?#23376;网络。
15.根据权利要求11所述的系统,其中所述应用程序迁移服务可操作来:
致使分配给所述基于企业的网络内的所述第一虚拟机实例的IP地址在所述第一虚拟
机实例迁移到所述多租户网络内的所述服务器计算机之后被分配给所述第一虚拟机实例。

说明书

基于企业的网络与多租户网络之间的应用程序迁移

背景技术

云计算是对在远程位置中可用并且可通过网络(诸如互联网)访问的计算资源(硬
件和软件)的使用。在具?#34892;?#22810;计算装置的计算环境(诸如具?#34892;?#22810;服务器计算机的虚拟服
务器或云计算环境)中,使用计算资源可提供数个优点,包括成本优点和/或快速适应于变
化的计算资源需要的能力。

?#25509;?#20225;业网络关于使用扩展云计算资源的重要考?#19988;?#32032;是将应用程序从?#25509;?#30340;
基于企业的网络移动(或迁移)到云计算环境的容易性。例如,现有的基于企业的网络应用
程序的复杂性可导致应用程序迁移任务是耗时的、易出错的并且是危险的努力。

附图简述

图1是?#22659;?#26681;据本公开的示例性实施方案的从基于企业的网络到计算服务环境的
应用程序迁移的网络图。

图2A和图2B是?#22659;?#28041;及远程客户端创建和配置支持应用程序迁移的?#25509;?#35745;算机
网络的交互的示例性实施方案的网络图。

图3是?#22659;?#29992;于提供支持将应用程序迁移到客户端的计算机网络的互连计算系统
的示例性实施方案的网络图。

图4是?#22659;?#26681;据本公开的示例性实施方案的在多租户环境中运行的使用应用程序
迁移服务的多个虚拟机实例的示例性系统图。

图5?#22659;?#26681;据一个实施方案的包括与控?#30772;?#38754;相关联的多个管理部件的示例性系
统的其他?#38468;冢?#25152;述多个管理部件可用于迁移一个或多个应用程序。

图6?#22659;?#21487;根据本公开的一个实施方案配置的多个主机计算机、路由器和交换器
的实例,所述多个主机计算机、路由器和交换器是用于运行虚拟机实例的硬件资产,其中主
机计算机具有应用程序迁移相关的功能。

图7是根据本公开实施方案的将应用程序从基于企业的网络迁移到计算服务提供
方的多租户网络的示例性方法的流程图。

图8是根据本公开实施方案的将应用程序从基于企业的网络迁移到计算服务提供
方的多租户网络的另一示例性方法的流程图。

图9是根据本公开实施方案的将应用程序从基于企业的网络迁移到计算服务提供
方的多租户网络的又一示例性方法的流程图。

图10描绘其中可实现所描述的创新的合适计算环境的一般化实例。

详细描述

虚拟机图像包含启动虚拟环境中的虚拟机所需的操作系统(例如,Linux)和其他
数据。虚拟机图像类似于物理计算机的磁盘卷,并且可包括文件系统、作为机器开启所需的
操作系统和其他部件。为了启动虚拟机,需要选择硬件。硬件选择可通过实例类型来完成,
所述实例类型可允许多种不同大小的存储器、CPU容量、I/O性能等。虚拟机图像和实例类型
的组合可用于创建可在云计算资源(诸如多租户网络环境中的主机服务器计算机)上启动
的“实例”或虚拟机。

如本文所用,术语“虚拟机”和“虚拟机实例”可互换。

如本文所用,术语“计算服务提供方”可以是指能够将计算和存储容量作为服务传
递到一个或多个最终接受方的云提供方。可由组织或代表组织为组织建立计算服务提供方
(也就是说,计算服务提供方可提供“?#25509;性?#29615;境”)。在其他实例中,计算服务提供方可支持
其中多个客户独立操作的多租户环境(即,公共云环境)。就此而言,多个客户(例如,多个企
业)可租用多租户环境内的资源,诸如服务器计算机。

如本文所用,术语“基于企业的网络”(或“企业?#25509;?#32593;络”或“企业网络”)可以是指
企业(例如,公司或另一个商业机构)拥有的计算机系统的网络。通常,限于公司的员工在基
于企业的网络内进行信息访问。在这种意义上,企业网络是单租户系统。然而,外部用户可
通过企业门户(诸如web接口)获得数据。通常,企业网络中的服务器计算机不可由第三方租
用。

如本文所用,术语“移动”或“迁移”虚拟机是指将虚拟机从一个服务器计算机移动
到另一个服务器计算机。例如,使虚拟机终止或以其他方式暂停在当前服务器计算机处运
行终止,并且在另一个服务器计算机处启动。就此而言,一种或多种软件包装和分布格式
(例如,开放虚拟化格式或OVF)可用于包装虚拟机并将虚拟机迁移到新服务器计算机。

如本文所用,术语“资源监测指标”可包括由应用程序(或用于运行应用程序的虚
拟机)对计算资源的实际使用。例如,计算资源可与托管应用程序(或虚拟机)的一个或多个
服务器计算机相关联,并且可包括对CPU资源、存储器资源、可用存储资源、磁盘I/O利用等
的使用。可在确定的(例如,固定的)时间段内来执行?#28304;?#31867;指标的监测,并且可生成平均值
(具有或不具有标?#35745;?#24046;调整)。可替代地,还可生成此类指标的快照,所述快照可指示某一
时间点时的资源使用。

如本文所用,术语“性能指标”可包括与主机服务器(或由服务器托管的虚拟机)的
架构相关联的一个或多个指标或特性。例如,主机服务器架构可由以下性能指标中的一个
或多个来表征:CPU速度、存储器容量、存储容量、网卡特性(例如,速度)、视频卡特性(例如,
分辨率和视频处理速度)、磁盘I/O速度等。

图1是?#22659;?#26681;据本公开的示例性实施方案的从基于企业的网络到计算服务环境的
应用程序迁移的网络图。参考图1,计算服务环境100可以是能够将计算和存储容量作为服
务传送到最终接受方的社区的计算服务提供方(即,云提供方)。本文参考图4-6公开关于计
算机服务环境/提供方的其他?#38468;凇?#35745;算服务环境100包括多个主机服务器计算机105a、…、
105n、应用程序迁移服务140a和端点145。

主机服务器计算机(例如,105a)可包括CPU 110、存储器115和存储装置120。主机
服务器105a可被配置来执行管理程序125或被配置成能够执行多个虚拟机实例(VMI)
130a、…、130n的另一种类型的程序。

web服务通常用于云计算。web服务是在通过web或云在网络地址下提供的软件功
能。客户端向服务器发起web服务请求并且服务器处理所述请求并返回?#23454;?#30340;响应。客户端
web服务请求通常使用例如API请求来发起。为了简单目的,下文将通常将web服务请求描述
为API请求,但是应理解,可做出其他web服务请求。API请求是到限定的请求响应消息系统
的程序性接口,其常常以JSON或XML表达,所述程序性接口通过web暴露—最常见的是借助
于基于HTTP的web服务器暴露。因此,在某些具体实施中,API可被定义为一组超文本传输协
议(HTTP)请求消息连同对响应消息的结构的定义,它们可以呈可扩展标记语言(XML)或
JavaScript对象表示(JSON)格式。API可指定执行动作的一组功能或例程,所述动作包括完
成特定任务或允许与软件部件交互。当web服务从客户端装置接收API请求时,web服务可生
成对请求的响应并且将所述响应发送到所述请求中所标识的端点。

计算服务环境100包括端点145,所述端点145是设计来接收并处理API请求(诸如
来自应用程序迁移服务140a的API请求190)的DNS地址。具体?#34892;?#36259;的API请求是与?#25509;?#23376;
网信息150、相关性信息155和资源监测指标160相关联的API请求190,如下文所描述。

应用程序迁移服务140a可包括合适的电路、逻辑和/或代码并且可以可操作来迁
移在远程服务器计算机(例如,客户端?#25509;?#32593;络170内的主机计算机175a)上运行的一个或
多个应用程序(例如,应用程序185)。应用程序的迁移可基于例如从客户端?#25509;?#32593;络170处
的应用程序迁移服务140b接收的?#25509;?#23376;网信息150、相关性信息155和资源监测指标160中
的一个或多个。

客户端?#25509;?#32593;络170可以是远程客户端网络,诸如基于企业的网络。客户端网络
170可包括多个主机服务器计算机175a、…、175n。示例性主机服务器计算机(例如,175a)可
包括CPU 171、存储器172和存储装置173。主机服务器(例如,175a)可被配置来运行一个或
多个VMI,诸如VMI 180a-180c。一个或多个应用程序(诸如应用程序185)可在VMI(例如,VMI
180a)上运行。应用程序185可?#35272;?#20110;一个或多个另外的VMI(例如,VMI 180b-180c)。例如,
应用程序185可安装在VMI 180a上,但是应用程序185所使用的另外的功能(例如,一个或多
个数据库或另外的软件模块)可安装在其他VMI(例如,VMI180b-180c)上。就此而言,在实例
中,当选择应用程序185来迁移(例如,从客户端?#25509;?#32593;络170迁移到计算服务提供方100)
时,运行应用程序185的VMI(即,VMI 180a)可与应用程序185所?#35272;?#20110;(或使用)的任何剩余
VMI(即,VMI 180b-180c)一起迁移。

客户端?#25509;?#32593;络还可包括应用程序迁移服务部件140b,其可以可操作来向计算服
务环境100提供?#25509;?#23376;网信息150、相关性信息155或资源监测指标160中的一个或多个。例
如,应用程序迁移服务140b可通过端点145与应用程序迁移服务140a直接通信(例如,140b
可定期地发起通信以报告信息,诸如150、155或160;可替代地,140b可响应于API请求190提
供此类信息)。应用程序迁移服务140a和140b可以是例如分别在计算服务环境100和客户端
?#25509;?#32593;络170内的服务器计算机的操作系统上运行的软件应用程序。

在操作中,可(例如,由用户)正主机计算机175a处激活用户接口122。用户接口122
可包括文本框122a(或另一接口),其用于接收标识将要从客户端?#25509;?#32593;络170迁移到计算
服务环境100的应用程序的输入。例如,用户可在文本框122a中指示应用程序185的名称,然
后可通过点击“迁移”?#30913;?22b(或通过激活另一种类型的用户接口,诸如屏幕轻敲等)发起
迁移过程。

在接收应用程序185的名称之后,计算服务环境100中的应用程序迁移服务140a可
使用API请求190中的一个获取?#25509;?#23376;网信息150,?#25509;?#23376;网信息150可指示主机175a以及
VMI 180a-180c中的一个或多个是否在客户端?#25509;?#32593;络170的?#25509;?#23376;网络(或子网)(例如,
虚拟?#25509;性啤?#34394;拟局域网等)中。应用程序迁移服务140a然后可在计算服务环境100内创建
?#25509;?#32593;络(例如,虚拟?#25509;性?并且分配用于在迁移之后托管VMI的子网(例如,VPC/子网创
建和分配141a)。

应用程序迁移服务140a可从应用程序迁移服务140b获取相关性信息155。相关性
信息155可包括标识应用程序185在其上运行的虚拟机(即,VMI 180a)以及应用程序185可
使用(或?#35272;?#20110;)的其他任何VMI(即,VMI 180b-180c)的信息。应用程序迁移服务140a然后
可从应用程序迁移服务140b获取资源监测指标160。资源监测指标160可指示由应用程序
185中的一个或多个、运行应用程序185的VMI(即,VMI 180a)以及应用程序185所?#35272;?#20110;的
VMI(即,VMI 180b-180c)中的任一个对计算资源的使用。例如,资源监测指标160可包括与
主机计算机175a相关联(由于主机计算机175a用于运行VMI 180a-180c)的CPU资源、存储器
资源、可用存储资源、磁盘I/O利用等。在实例中,当相关的VMI 180b-180c中的一个或多个
根据服务器计算机175a、…、175n中的另一个运行时,?#25970;?#36164;源监测指标160还将指示也与
所述主机计算机相关联的资源的计算资源使用。例如,资源监测指标160可由CPU 171或由
主机计算机175a(或剩余主机计算机175a、…、175n中的任一个)内的专用模块(未?#22659;?收
集。

在获取相关性信息155和资源监测指标160之后,应用程序迁移服务140a可使资源
监测指标160中的一个或多个与主机服务器105a(或剩余主机服务器105a、…、105n中的任
一个)的性能指标139匹配,以选择计算服务环境100内的虚拟机实例类型(用于迁移
VMI180a-180c)和主机服务器计算机类型来托管来自客户端?#25509;?#32593;络170的所迁移VMI(与
所迁移应用程序)。性能指标139可包括主机服务器计算机105a(或剩余主机服务器
105a、…、105n中的任一个)的CPU速度、存储器容量、存储容量、网卡特性(例如,速度)、视频
卡特性(例如,分辨率和视频处理速度)、磁盘I/O速度等中的一个或多个。

在示例性实施方案中,VMI 180a(运行应用程序185)和相关的VMI 180b-180c都可
由客户端?#25509;?#32593;络170中的主机服务器计算机175a托管。资源监测指标160可指示由VMI
180a-180c使用的主机175a的计算资源的量(例如,VMI 180a-180c可使用总共5GB的磁盘空
间、1GB的RAM、1.7GHz的CPU时钟速度等)。在虚拟?#25509;性?VPC)和子网创建和分配(在141a
处)之后,应用程序迁移服务140a可通过使资源监测指标160与主机服务器计算机105a、…、
105n中的一个或多个的性能指标139匹配,来选择虚拟机实例类型和主机服务器计算机类
型(用于在迁移应用程序185之后启动VMI 108a-108c)。VMI和主机计算机类型选择在图1中
?#20174;?#20026;141b。

例如,应用程序迁移服务140a可选择与1GB的RAM和5GB的磁盘空间相关联的虚拟
机实例类型,以及与2GHz的CPU时钟速度、1.5GB的RAM和7GB的磁盘空间相关联的主机服务
器计算机类型(例如,主机服务器计算机105a)。就此而言,通过使资源监测指标160与性能
指标139匹配,可实现计算服务环境100内的计算资源的?#34892;?#21033;用,并且可选择VMI和主机服
务器计算机类型以用于将应用程序185迁移到所选择VMI类型的VMI上并且在所述VMI上启
动相关性信息155所标识的VMI(即,VMI 108a-180c),所选择VMI类型的VMI由所选择主机计
算机类型的主机计算机托管。

在实例中,当相关的VMI 180b-180c(即,应用程序185所?#35272;?#20110;的VMI,其?#19978;?#20851;性
信息155标识符)由客户端?#25509;?#32593;络170中的不同主机计算机(例如,175n)托管时,资源监测
指标160可包括对与主机服务器计算机175a以及175n相关联的计算资源的使用。应用程序
迁移服务140a然后可通过使资源监测指标160与主机服务器计算机105a、…、105n中的一个
或多个的性能指标139匹配,来针对两个主机服务器计算机选择VMI类型和主机服务器计算
机类型(用于启动第一主机服务器计算机上的VMI 180a,以及第二主机服务器计算机上的
VMI 180b-180c)。

VMI 180a-180c然后可从客户端?#25509;?#32593;络170迁移到计算服务环境100。更具体地
说,至少一个文件打包格式(例如,OVF)可用于包装VMI 180a-180c,将它们迁移到计算服务
环境100,然后在所选择VMI类型的并且由所选择主机服务器计算机类型的主机服务器托管
的VMI上启动它们,如由主机/VMI类型选择141b所指示。所迁移VMI 180a-180c可传递到由
所选择主机服务器计算机中的一个或多个托管的所选择VMI(即,VMI传递141c)并在其上启
动。就此而言,应用程序迁移服务140a可以可操作来将迁移实例从资源格式(例如,与客户
端?#25509;?#32593;络170兼容的VMI格式)变换成目标格式(例如,与计算服务环境100兼容的VMI格
式)。在变换期间,应用程序迁移服务140a还可安装在计算服务环境100处运行呈目标格式
的所迁移VMI所必需的一个或多个驱动器。

根据本公开的示例性实施方案,应用程序迁移服务140a还可获取托管VMI 180a-
180c的主机服务器(或多个服务器)的名称,以及与托管服务器相关联的IP地址(例如,主机
服务器175a的IP1地址)和/或VMI 180a-180c的IP地址。应用程序迁移服务140a然后可通过
将托管所迁移VMI的主机服务器(105a)的名称和IP地址改变?#19978;?#21069;的托管服务器(175a)的
名称和IP地址来执行IP和主机名称改变141d。此外,IP和主机名称改变141d可将所迁移VMI
的IP地址改变成与VMI 180a-180c的IP地址相同。

根据本公开的另一个示例性实施方案,在应用程序迁移服务140a执行资源监测指
标160与性能指标139的匹配之后,所确定的用于托管所迁移应用程序和VMI的VMI类型和服
务器计算机类型可被传达到?#25509;?#32593;络170以用于确认或替代性选择。例如,客户端?#25509;?#32593;络
170可使用用户接口(诸如122)来显示由计算服务环境100执行的对VMI类型和主机服务器
计算机类型的自动选择。客户端?#25509;?#32593;络170处的用户然后可确认这种自动选择,或者可指
定对用于启动所迁移应用程序185和VMI 180a-180c的不同的VMI类型和服务器计算机类型
的替代性选择。

图2A和图2B是?#22659;?#28041;及远程客户端创建和配置支持应用程序迁移的?#25509;?#35745;算机
网络的交互的示例性实施方案的网络图。图2A是?#22659;?#35745;算服务提供方205的示例性实施方
案的网络图,所述计算服务提供方205允许远程客户端创建并配置计算机网络以供客户端
使用。在这个实例中,创建并配置的计算机网络是对客户端的现有?#25509;?#35745;算机网络的?#25509;?br />网络扩展,并且计算服务提供方205通过一个或多个公共网络2200(例如,通过互联网)来向
客户端(未?#22659;?提供这种功能。因此,远程客户端可使用CSP计算服务提供方(“CSP”)205来
动态地修改它们?#25509;?#35745;算机网络的大小和/或能力,诸如通过在公共网络200上使用云计算
技术。

具体地说,在图2A的实例中,数个客户端(未?#22659;?通过公共网络200与CSP管理器
模块210交互?#28304;?#24314;并配置对远程现有客户端?#25509;?#32593;络230的各种?#25509;?#35745;算机网络扩展
220,其中计算机网络扩展220中的至少一些被配置来使得能够从一个或多个对应客户端私
有网络230通过公共网络200(例如,借助于通过互连200a和200b建立的VPN连接)进行安全
?#25509;?#35775;问。在这个示例性实施方案中,管理器模块210有助于向远程客户端提供CSP 205的
功能、诸如结合CSP 205的各种其他模块(未?#22659;?以及由CSP 205使用的各种计算节点和联
网装置(未?#22659;?,以提供?#25509;?#35745;算机网络扩展220。在至少一些实施方案中,CSP管理器模块
210可在CSP 205的一个或多个计算系统(未?#22659;?上执行,并且可提供一个或多个API,所述
一个或多个API使得远程计算系统能够与模块210以编程方式交互,从而代表客户端访问
CSP 205的一些或所有功能(例如,创建、配置?#25509;?#32593;络扩展220和/或发起对其的使用)。此
外,在至少一些实施方案中,客户端替代地可与模块210手动地交互(例如,通过由模块210
提供的用户接口)以执行一些或所有此类动作。CSP 205还可包括具有如参考图1描述的功
能的应用程序迁移服务140a。

公用网络200可以是例如可能由不同方操作的链接网络的公共可访问网络,诸如
互联网。远程客户端?#25509;?#32593;络230各自可包括一个或多个现有?#25509;?#32593;络,诸如公司或其他私
有网络(例如,家庭、大学网络等),所述网络是非特权用户部?#21482;?#23436;全不可访问的并且包括
客户端的计算系统和/或其他联网装置。在示例性实施方案中,客户端?#25509;?#32593;络230可包括
运行应用程序的一个VMI(例如,VMI1,类似于图1中的VMI 180)以及多个VMI(例如,VMI2和
VMI3,是在VMI1上运行的应用程序所?#35272;?#30340;)。VMI VMI1-VMI3可连接在?#25509;?#23376;网245中(例
如,运行VMI1-VMI3的主机服务器计算机可连接在子网245中)。

在所示实例中,所提供网络扩展220各自包括多个计算节点(未?#22659;?,所述多个计
算节点中的至少一些由CSP 205提供或者以其他方式在CSP 205的控制下提供,并且所提供
网络扩展220中的每一个可由它们被提供用于的客户端以各种方式配置。所示实施方案中
的网络扩展220中的每一个可以是仅可由创建它的客户端访问的?#25509;?#35745;算机网络,尽管在
其他实施方案中,由CSP 205为客户端提供的至少一些计算机网络可以是公共可访问的和/
或可以是并非是对其他现有计算机网络的扩展的独立计算机网络。类似地,虽然实例中的
所提供计算机网络220是对是?#25509;?#32593;络的远程客户端计算机网络230的扩展,但是在其他实
施方案中,所提供计算机网络220可以是对不是?#25509;?#32593;络的客户端计算机网络230的扩展。

根据本公开的示例性实施方案,应用程序迁移服务140a可将应用程、所述应用在
其上运行的VMI(例如,VMI1)以及任何相关的VMI(例如,VMI2-VMI3)从客户端?#25509;?#32593;络230
迁移到所提供计算机网络220内的一个或多个服务器计算机(类似于参考图1描述的应用程
序迁移功能)。此外,所迁移VMI1-VMI3可连接在计算服务提供方205内的?#25509;?#23376;网250中,如
图2A所示。

可以各种方式实现远程客户端?#25509;?#35745;算机网络230与为客户端提供的对应?#25509;?#35745;
算机网络扩展220之间的?#25509;?#35775;?#21097;?#35832;如通过在它们之间建立允许以安全?#25509;?#26041;式通过公
共网络200互通的VPN连接或其他安全连接。例如,CSP 205可在其计算节点和其他计算系统
上自动执行?#23454;?#30340;配置以实现对客户端的具体?#25509;?#32593;络扩展220的VPN访?#21097;?#35832;如通过自动
地配置由CSP 205托管的一个或多个VPN机构(例如,软件和/或硬件VPN机构),和/或可自动
地将?#23454;?#30340;配置信息(例如,?#23616;ぁ?#25509;入点和/或其他参数)提供给客户端以允许托管在远程
客户端?#25509;?#32593;络230上的VPN机构建立VPN访问。在已?#23454;?#22320;实现和/或配置VPN访问之后,可
在远程客户端?#25509;?#32593;络与?#25509;?#32593;络扩展之间建立VPN连接,诸如由客户端使用IPsec(“互联
网协议安全”)或其他?#23454;?#30340;通信技术发起。例如,在一些实施方案中,可建立到使用MPLS
(“多协议标签交换”)进行数据传输的网络或其间的VPN连接或其他安全连接,诸如替代基
于IPsec的VPN连接。

此外,在所示实施方案中,各种网络可访问的远程资源服务240通过公共网络200
对远程计算系统可用,包括对远程客户端?#25509;?#32593;络230上的计算系统可用。资源服务240可
向远程计算系?#31243;?#20379;各种功能,诸如对资源服务240中的至少一些来说,向远程计算系?#31243;?br />供对各种类型的计算相关的资源的访问权。此外,由CSP 205提供的?#25509;?#32593;络扩展220中的
至少一些可被配置来对远程资源服务240中的至少一些提供?#25509;?#25110;其他专门化访?#21097;?#20854;中
所提供访问任选地对如通过虚拟连接215本地提供的?#25509;?#32593;络扩展220的计算节点(它们是
?#25509;?#32593;络扩展220的一部分)呈现,尽管与远程资源服务240的实际通信可通过公共网络200
(例如,通过互连200b和200c)发生。在其他地方更详细地?#33268;?#20102;关于建立和使用对远程资
源服务的此类?#25509;?#25110;其他专门化访问的另外?#38468;凇?br />

如先前所指出,所提供网络扩展220各自可由客户端以各种方式来配置。例如,在
至少一些实施方案中,CSP 205提供多个计算节点,所述多个计算节点可供用于与向客户端
提供的网络扩展一起使用,使得每个所提供网络扩展220可包括客户端配置数量的多个计
算节点,这些计算节点专用作所提供网络扩展的一部分。具体地说,客户端可与模块210交
互以配置为客户端提供的计算机网络中初始地将要包括的计算节点的数量(例如,通过与
由CSP 205提供的API进行的一个或多个程序性交互)。此外,在至少一些此类实施方案中,
稍后可动态地向所提供客户端计算机网络添加或从其移除计算节点(例如,通过与由CSP
205提供的API进行的一个或多个程序性交互),诸如在所提供计算机网络已由客户端置于
使用中(例如,通过指示在特定计算节点上发起或终止具体程序的执行)之后。此外,在至少
一些实施方案中,CSP 205可提供多个不同类型的计算节点,例如像具有各种性能特性(例
如,处理器速度、可用存储器、可用存储装置等)和/或其他能力的计算节点。如果是这样的
话,在至少一些此类实施方案中,客户端可指定所提供客户端计算机网络中将要包括的计
算节点的类型。

此外,在至少一些实施方案中,客户端可与模块210交互以配置为客户端提供的计
算机网络的网络地址(例如,通过与由CSP 205提供的API进行的一个或多个程序性交互),
并且在至少一些此类实施方案中,稍后可针对所提供客户端计算机网络动态地添加、移除
或修改网络地址,诸如在所提供计算机网络已经由客户端置于使用中之后。例如,如果被配
置的特定所提供计算机网络是对现?#24615;?#31243;客户端计算机网络的扩展,?#25970;?#23458;户端可指定一
个或多个地址?#27573;?例如,无类别域间路由(“CIDR”)地址码组)或其他网络地址组(所述其
他网络地址组是现?#24615;?#31243;客户端计算机网络所使用的网络地址的子集),使得所指定网络
地址得以用于所提供计算机网络的计算节点。在一些情况下,此类配置的网络地址可以是
从公共网络200上的计算系统不可直接寻址的虚拟或?#25509;?#32593;络地址(例如,如果现?#24615;?#31243;客
户端计算机网络和对应所提供网络扩展使用用于客户端计算机网络和它的所提供网络扩
展的网络地址转换技术和/或虚拟网络技术),而在其他情况下,所配置网络地址中的至少
一些可以是可从公共网络200上的计算系?#25345;?#25509;寻址的公共网络地址(例如,是静态互联网
可路由IP地址或其他不改变的网络地址的公共网络地址)。

在其他实施方案中,CSP 205可自动地选择将要用于至少一些所提供计算机网络
扩展的至少一些计算节点的网络地址,诸如基于可供用于由CSP 205使用的网络地址,基于
选择是由对应于所提供计算机网络的远程现有计算机网络使用的相关网络地址的网络地
址等。此外,在至少一些实施方案(其中CSP 205通过诸如在基础网络之上使用叠加网络来
向客户端提供虚拟网络)中,每个客户端可被允许指定将要用于它们的所提供计算机网络
的任何网络地址,即使多个客户?#23435;?#23427;们的相应所提供计算机网络指定相同或叠加的网络
地址也是如此—在此类实施方案中,CSP 205管理相异地为每个客户端管理网络地址,使得
第一客户端可具有与第一客户端的所提供计算机网络的具体指定的网络地址相关联的第
一计算节点,而相异的第二客户端可具有与第二客户端的所提供计算机网络地址的相同的
具体指定的网络地址相关联的相异的第二计算节点。

一旦为所提供计算机网络配置或以其他方式确定网络地址,CSP205就可通过使用
DHCP(“动态主机配置协议”)或用于网络地址动态分配的其他技术等以诸如随机方式将网
络地址分配给针对所提供计算机网络选择的各个计算节点。此外,即使针对特定计算机网
络使用了公共网络地址,CSP 205也可以其他方式(诸如使用特定公共网络地址来充当特定
远程资源服务的访问机构,如在其他地方更详细描述的)?#25104;?#35201;使用的那些公共网络地址
中的一个或多个,使得由那个特定计算机网络的计算节点向那个特定公共网络地址发送的
通信将转发到对应远程资源服务而不是互联网或那个特定公共网络地址被分配给的其他
网络上的另一个计算系统。图2B提供关于使用所配置网络地址来在所提供计算机网络内路
由通信的实例的另外?#38468;凇?br />

此外,在至少一些实施方案中,客户端可与模块210交互以配置为客户端提供的计
算机网络的网络拓扑信息(例如,通过与由CSP 205提供的API进行的一个或多个程序性交
互),并且在至少一些此类实施方案中,随后可针对所提供计算机网络动态地修改此类网络
拓扑信息,诸如在所提供计算机网络已经由客户端置于使用中之后。例如,客户端可指定将
要作为所提供计算机网络的一部分的联网装置(例如,路由器、交换器等)和/或其他网络装
置或节点(例如,防火墙、代理服务器、网络存储装置、打印机等)的具体类型,和/或可指定
将要分组在一起或以其他方式享有共同互通特性的所提供计算机网络的计算节点的子集
(例如,是互通未得到过滤的子网的一部分和/或与特定联网装置相关联的计算节点的特定
子集)。

此外,在至少一些实施方案中,所提供计算机网络的指定配置信息可包括联网装
置和/或计算装置组之间的路由信息或其他互连性信息。此外,在至少一些实施方案中,CSP
205可在多个地理位置中(例如,在多个地理分布的数据?#34892;?#20013;)提供可用计算节点,并且由
客户端针对所提供计算机网络指定的配置信息可进一步指示一个或多个地理位置,所提供
计算机网络的计算节点将要定位在所述一个或多个地理位置中(例如,以便通过将它们定
位在多个地理位置中来在所提供计算机网络的计算节点之中提供?#25910;先?#35768;),和/或可以其
他方式提供关于所提供计算机网络的计算节点如何交互操作的偏好或要求的信息,所述信
息由CSP 205使用来选择一个或多个此类地理位置(例如,用于计算节点互通的最小或最大
网络?#26144;?#25110;带宽;计算节点之间的最小或最大网络接近度;计算节点之间的最小或最大地
理近度;具有对在所有此类地理位置中不可用的特定资源或功能的本地访问权;具有相对
于其他外部计算系统(诸如相对于客户端的远程计算机网络和/或相对于远程资源服务;等
等)指定的位置等)。

如其他地方更详细地?#33268;郟?#22312;至少一些实施方案中,使用CSP 205的底层基础网络
来管理所提供计算机网络的计算节点之间的互连和互通,并且如果是这样的话,在至少一
些此类似实施方案中,可使用CSP 205的底层基础网络和对应模块来模拟一些或所有所配
置网络拓扑信息。例如,由CSP 205提供的计算节点中的每一个可与CSP 205的节点通信管
理器模块相关联,所述节点通信管理器模块管理去往和来自其相关联计算节点的通信。如
果是这样的话,可通过使用计算节点的相关联通信管理器模块模拟防火墙装置以便以与一
个或多个模拟的防火墙装置一致的方式拒绝或以其他方式处置去往和/或来自计算节点的
通信。此类节点通信管理器模块可通过控制互通如何和是否在计算节点之间传递,并且通
过用?#23454;?#30340;响应信息对来自计算节点的对信息的请求(例如,ARP请求或地?#26041;?#26512;协议)作
出响应,来类似地模拟路由器和子网。CSP 205的一个或多个外部通信管理器模块可管理由
CSP 205提供的计算节点与外部计算系统之间的通信,诸如以便类似地模拟防火墙装置并
且强制执行指定的网络访?#35797;际?#20197;及以便管理远程资源服务的所配置访问机构和到远程
客户端?#25509;?#35745;算机网络的安全连接。可类似地模拟其他类型的网络拓扑信息,并且可参考
图3在下文?#33268;?#20851;于在一些实施方案中使用CSP 205的各种模块的另外?#38468;凇?br />

此外,在至少一些实施方案中,客户端可与模块210交互以配置为客户端提供的计
算机网络的网络访?#35797;际?#20449;息(例如,通过与由CSP 205提供的API进行的一个或多个程序
性交互),并且在至少一些此类实施方案中,随后可针对所提供计算机网络动态地修改此类
网络访?#35797;际?#20449;息,诸如在所提供计算机网络已经由客户端置于使用中之后。例如,客户端
可基于诸如以下各项中的一项或多项来指定关于所提供计算机网络的一些或所有计算节
点是否和如何被允许与所提供计算机网络的其他计算节点通信和/或与其他外部计算系统
通信的信息:通信的方向(传入对比传出);通信的类型(例如,基于所包括内容的类型和/或
所使用通信协议的类型,诸如以允许对文本而不是图像的HTTP请求并?#20063;?#20801;许FTP请求);
其他计算系统的位置(例如,是否是所提供计算机网络的一部分、对应于所提供计算机网络
的远程客户端计算机网络的一部分、?#25509;?#25110;其他专门化访问已经对其建立的远程资源服务
的一部分、在所提供计算机网络和任何对应远程客户端计算机网络的外部等);其他计算系
统的类型;等等。此外,如其他地方更详细?#33268;郟?#22312;至少一些实施方案中,所提供计算机网络
可被配置来对一个或多个远程资源服务提供?#25509;?#25110;其他专门化访?#21097;?#35832;如通过是所提供计
算机网络的一部?#21482;?#20197;其他方式在所提供计算机网络本地的所配置访问机构。以类似于用
于网络拓扑信息和其他路由信息的方式,CSP 205可以各种方式强制执行所提供计算机网
络的网络访?#35797;际?#20449;息。参考图3在下文?#33268;?#20102;与在一些实施方案中管理所提供计算机网
络的通信有关的另外?#38468;凇?br />

图2B?#22659;?#20851;于可由CSP 205(或计算服务提供方的其他实施方案)为客户端提供的
示例性计算机网络220A的另外?#38468;冢?#20854;中在这个实例中,所提供计算机网络220A是对客户
端的远程?#25509;?#35745;算机网络(诸如图2A的远程?#25509;?#35745;算机网络230中的一个)的?#25509;?#32593;络扩
展。在这个实例中,以概念性方式?#22659;?#29992;于所提供计算机网络220A的各种连接和通信路径
以展示可配置网络访?#35797;际?#21644;网络拓扑的类型,并且图3展示关于可用于创建所提供计算
机网络(诸如示例性所提供计算机网络220A)的底层基础网络和连接的实例的另外?#38468;凇?br />

具体地说,在图2B中,所提供计算机网络220A包括位于第一地理位置1 260处(例
如,地理位置1处的第一数据?#34892;?#22788;)的由CSP205提供的各种计算节点(或主机服务器计算
机),其中在这个实例中,各种计算节点被配置到逻辑组264、265和266中(例如,以对应于不
同子网和/或相关联的所配置联网装置,未?#22659;?。在这个实例中,单个概念性虚拟路由器
262被?#22659;?#20026;在地理位置1处以控制那些计算节点与其他计算系统之间的通信,以便展示可
能发生的通信的不同类型,尽管所提供计算机网络220A实际上可在地理位置1处具有多个
或没有所配置联网装置,并且计算机网络220A可由地理位置1处的可配置网络服务以各种
方式来实现,诸如借助于多个物理互连路由器或其他联网装置,通过使用底层基础网络和
控制底层基础网络之上的通信的相关联模块等。在这个实例中,虚拟路由器262根据用于所
提供计算机网络220A的所配置信息(包括所配置网络拓扑信息、对远程资源服务的所配置
?#25509;?#25110;其他专门化访问以及其他所配置网络访?#35797;际?#20449;息),诸如以便将发送到所提供计
算机网络220A内的网络地址的通信路由到所提供计算机网络220A上的对应目的地计算节
点,并且视情况将其他通信路由到所提供计算机网络220A外部的其他网络地址。此外,虚拟
路由器262可阻断或以其他方式管理所配置防火墙装置、所配置网络拓扑信息或其他所配
置网络访?#35797;际?#25152;不允许的通信。

在这个实例中,计算机网络220A被提供用于示例性客户端1,并且是对客户端1的
远程计算机网络的网络扩展。客户端1的远程计算机网络包括在第一远程位置位点A 290处
的多个计算系统(未?#22659;?,并且虚拟路由器262被配置来通过地理位置1处的虚拟通信链路
270与那多个计算系统通信。例如,所提供计算机网络220A可包括到位点A 290处的多个计
算系统的一个或多个所配置VPN连接,并且通信链路270可对应于一个或多个此类VPN连接。
此外,客户端1的远程计算机网络可任选地包括一个或多个其他位置处的计算系统,诸如示
出的任选位点B 292,并且如果是这样的话,虚拟路由器262还可被配置来与其他位置处的
那些其他计算系统通信,诸如通过到位点B 292的任选虚拟通信链路272(例如,通过直接到
位点8的一个或多个其他所配置VPN连接)。

当多个VPN连接或其他安全连接用于远程计算机网络的远程计算系统时,每个连
接可对应于远程计算系统的子集(例如,通过与远程计算机网络的对应于那些远程计算系
统的网络地址的子集相关联),以使得通信被路由到?#23454;?#30340;连接。在其他实施方案中,多个
VPN连接或其他安全连接可用于一个或多个位置处的远程计算系统,但是各自可支持到任
何远程计算系统的通信,诸如如果多个连接是冗余替代(例如,用于负载平衡)的话。此外,
在一些实施方案中,客户端的远程计算机网络可包括多个位点处的多个计算系统,但是可
以仅使用到远程计算系统的单一VPN连接或其他安全连接,其?#24615;?#31243;计算机网络负责将通
信路由到?#23454;?#30340;位点和计算系统。

此外,所提供计算机网络220A可被配置来允许所提供计算机网络220A的计算节点
与通常可在互联网296或其他公共网络上访问的其他外部计算系统之间的所有通信、一些
通信或不允许其间的通信。如果至少一些此类外部通信得到允许,?#25970;?#34394;拟路由器262还可
被配置来诸如结合用于所提供计算机网络220A的任选虚拟边界路由器255,通过所提供计
算机网络220A的任选虚拟通信链路278与外部那多个计算系统通信。虚拟边界路由器255可
以各种方式物理地实现,诸如由CSP 205使用管理外部计算系统与地理位置1处的由CSP
205提供的各种计算节点之间的通信的一个或多个实际防火墙装置或边界路由器装置(例
如,支持由CSP 205向使用CSP 205的那些计算节点的客户端提供的众多计算机网络的实际
装置),通过使用底层基础网络和控制底层基础网络之上的通信(例如,以阻止被拒绝通信
由所提供计算机网络220a的计算节点发送到基础网络上)的相关联模块等。此外,在概念
上,虚拟边界路由器255还可有助于管理到提所供计算机网络220A外部的其他计算系统的
其他通信,诸如到位点A和B处的远程客户端计算机网络的通信、到一个或多个远程资源服
务的通信等。

此外,所提供计算机网络220A可被配置来对一个或多个远程资源服务提供?#25509;?#25110;
其他专门化访?#21097;?#35832;如通过分配所提供计算机网络220A的一个或多个网络地址以表示那些
一个或多个远程资源服务,以及通过任选地配置将要采取以用于发送到那些所分配网络地
址的通信的特定动作。在这个实例中,虚拟路由器262已被配置来通过所提供计算机网络
220a的虚拟通信链路274274对远程资源服务294提供本地访问。因此,例如,如果所提供计
算机网络220a的计算节点中的一个将通信发送到所提供计算机网络220a的?#25104;?#21040;通信链
路274274的特定网络地址,?#25970;?#34394;拟路由器可将那个通信转发到所提供计算机网络220a外
部的远程资源服务294(例如,通过互联网或其公他共网络)。在其他实施方案中,远程资源
服务294可实现是CSP205的一部?#21482;?#20197;其他方式在地理位置1处的接口,并且如果是这样的
话,发送到所提供计算机网络220A的?#25104;?#21040;通信链路274的特定网络地址的通信替代地可
转发到远程资源服务的那个接口以进行处置。

此外,在至少一些实施方案中,虚拟通信链路274可被配置来以各种方式管理通过
链路发送的通信,诸如以便在那些通信被转发到远程资源服务294之前以一种或多种方式
?#36816;?#20204;进行修改,或者否则以专门化方式访?#35797;?#31243;资源服务294。例如,在所示实施方案中,
虚拟通信链路274可被配置成对应于远程资源服务294内的特定命名空间,其中由远程资源
服务294提供的计算相关的资源的子集是那个命名空间的一部分。相应地,虚拟通信链路
274可被配置来访问特定命名空间内的资源,诸如通过修改或转换通信以使用与特定命名
空间相关联的名称或其他标识符,通过使用远程资源服务的支?#31181;?#31034;特定命名空间的特定
接口等。

此外,如果虚拟通信链路274被配置成对应于特定命名空间或以其他方式对应于
由远程资源服务294提供的资源的子集,?#25970;?#25152;提供计算机网络220A可任选地进一步被配
置成包括也对应于相同远程资源服务294但被配置来以其他方式访?#35797;?#31243;资源服务294的
一个或多个其他虚拟通信链路。例如,所提供计算机网络220A可任选地包括相异虚拟通信
链路276,所述相异虚拟通信链路276被配置来以与虚拟通信链路274相异的方式访?#35797;?#31243;
资源服务294,诸如以对应于相异第二命名空间,以不对应于任何特定命名空间,以使用远
程资源服务294的客户的与用于通信链路274的客户标识符相异的标识符,等等。在这个实
例中,虚拟通信链路274和276被配置来使用在这个实例中分别表示为链路274和276的ID 1
和ID 2的不同的标识符(例如,不同的命名空间标识符)。因此,所提供计算机网络220a的计
算节点可能能?#29615;?#38382;来自远程资源294的不同类型的功能。此外,虽然此处未?#22659;觶?#20294;是所
提供计算机网络220A可类似地被配置来使用到一个或多个其他远程资源服务(未?#22659;?的
其他虚拟通信链路访问那些其他远程资源服务。

除了或替代配置虚拟链路274以访?#35797;?#31243;资源服务294的特定命名空间,在至少一
些实施方案中,虚拟通信链路可被配置来向远程资源服务294提供另外的信息以允许远程
资源服务294验证通信的位置或其他源是所提供计算机网络220a。例如,在所示实施方案
中,虚拟通信链路274可被配置成对应于一个或多个特定标识符或者与由计算服务提供方
或由远程资源服务294、294提供的计算机网络220a相关联的其他访问控制指示符,使得由
通过虚拟通信链路274访问的远程资源服务294提供的新的和/或现有的计算相关的资源的
子集与访问控制指示符相关联,供远程资源服务294使用来限制?#38405;?#20123;资源的访问。

相应地,虚拟通信链路274可被配置来以各种方式使用与所提供计算机网络220a
相关联的指定的另外指示符,诸如以便将通信修改成包括另外的指示符,在不修改通信的
情况下连同通信一起发送另外的指示符,使用远程资源服务的支持包括此类另外的指示符
的特定接口,等等。另外,如果虚拟通信链路274被配置成对应于一个或多个另外的指示符,
?#25970;?#25152;提供计算机网络220A可任选地进一步被配置成包括也对应于相同远程资源服务294
但被配置来以其他方式访?#35797;?#31243;资源服务294的一个或多个其他虚拟通信链路。例如,所提
供计算机网络220A可任选地配置相异虚拟通信链路276来访?#35797;?#31243;资源服务294而不使用
任何另外的指示符(例如,以便对远程资源服务294提供与否则将可公共获得的访问相同的
访问),以使用与虚拟通信链路274一起使用的那些相异的一个或多个其他另外的访问控制
指示符,以使用远程资源服务294的客户的与用于虚拟通信链路274的客户标识符相异的标
识符,等等。此外,虽然此处未?#22659;觶?#20294;是所提供计算机网络220a可类似地被配置来使用到
一个或多个其他远程资源服务(未?#22659;?的其他虚拟通信链路(诸如,被配置来与虚拟通信
链路274使用相同的一个或多个另外的指示符或以其他方式配置的其他虚拟通信链路)来
访问那些其他远程资源服务。

根据本公开的示例性实施方案,应用程序280d可在由客户端?#25509;?#32593;络位点A 290
的主机服务器托管的VMI 280a上运行。应用程序280d还可利用(即,可?#35272;?#20110;)由VMI 280b-
280c提供的功能。此外,所提供计算机网络220A可使用提供如参考图1描述的功能的应用程
序迁移服务140a。例如,应用程序迁移服务140a可用于将应用程序280d迁移到所提供网络
220A内的主机服务器264。更具体地说,VMI280a-280c可被迁移,如参考图1所解?#20572;?#24182;且在
主机计算机264处分别作为VMI1、VMI2和VMI3来启动。在实例中,当例如VMI280b-280c和VMI
280a由两个不同的服务器计算机托管时,?#25970;?#22312;迁移所有VMI之后,VMI 280b-280c可在所
提供计算机网络220A处作为一个不同服务器(例如,主机服务器265)处的VMI2-VMI3来启
动。此外,由于原始的VMI 280a-280c在?#25509;?#23376;网280e中,所以在迁移之后,新的VMI VMI1-
VMI3也可放置在?#25509;?#23376;网250A中。

在所示实施方案中,除了CSP 205的地理位置1处的计算节点之外,所提供计算机
网络220A还可包括位于第二地理位置2 280处(例如,在地理位置2处的相异第二数据?#34892;?br />处)的由CSP 205提供的计算节点284。相应地,虚拟路由器262可被配置成包括到所提供计
算机网络220a在地理位置2处的部分的任选虚拟通信链路268。在这个实例中,所提供计算
机网络220A在地理位置2处的部分类似地以概念性虚拟路由器282?#22659;觶?#20197;便管理去往和来
自计算节点284的通信,包括通过虚拟通信链路288与所提供计算机网络220A在地理位置1
处的部分通信。在各种实施方案中,CSP 205在不同地理位置处的计算节点之间的此类通信
可以各种方式来处置,诸如通过借助于互联网或其他公共网络发送通信(例如,作为安全通
道的一部分,所述安全通道诸如使用CSP 205所支持的?#29992;?#30340;安全通道),通过?#36816;接?#23433;全
方式发送通信(例如,通过地理位置之间的专用租借线),等等。此外,虽然此处未?#22659;觶?#20294;是
所提供计算机网络220A在地理位置2处的部分可类似地包括针对地理位置1处的部分?#22659;?br />的一些或所有相同类型的其他虚拟通信链路,所述其他虚拟通信链?#20998;?#22914;到远程客户端私
有网络(例如,通过与到地理位置1的任何VPN连接相异的一个或多个VPN连接)、到远程资源
服务、到互联网等。

应理解,出于示例性目的而包括图2B的示例性所提供计算机网络220A,并且由CSP
205为客户端提供的其他计算机网络可不包括所有类型的所配置通信链路和网络拓扑信
息,和/或可包括此处未?#22659;?#30340;其他类型的所配置通信链路和网络拓扑信息。例如,在一些
实施方案和情况中,除了或替代计算节点,所提供计算机网络可包括所配置装置和其他资
源,并且如果是这样的话,每个这样的其他资源可任选地被分配所提供计算机网络的网络
地址。此外,可使用多种类型的底层物理装置、连接和模块来实现图2B中?#22659;?#30340;概念性装置
和通信链路。此外,虽然此处未?#22659;觶?#20294;是客户端可执行与远程资源服务进行的多种其他类
型的交互,?#36824;?#26159;从所提供计算机网络还是替代地其他远程计算系统,诸如以预订/登记来
使用资源,接收/创建各种?#23616;?例如,用户ID、密码等)、从其他远程计算系统(例如,是远程
?#25509;?#20844;司网络的一部分)创建稍后从所提供计算机网络(例如,?#36816;接?#20844;司网络的网络扩
展)访问的资源和/或命名空间,等等。

图3是用于诸如通过计算服务提供方的实施方案来提供计算机网络的计算系统的
示例性实施方案的网络图。具体地说,在这个实例中,数个物理计算系统共同位于数据?#34892;?br />300中并且通过各种联网装置和一个或多个物理网络互连。在这个实例中,由计算服务提供
方使用物理计算系统和其他装置通过以下方式为客户端提供多个计算机网络:将所提供计
算机网络中的每一个建立并保持为虚拟网络,并且将物理网络用作虚拟网络叠加在其上的
基础网络。例如,关于图2B的实例,数据?#34892;?00可位于地理位置1处,并且所示物理计算系
统可用于提供所提供计算机网络220A的计算节点264、265和266。在至少一些实施方案中,
叠加网络和底层基础网络的使用可对所提供计算机网络的计算节点透明。

因此,在这个实例中,由计算服务提供方提供的计算机网络被实现为通过底层物
理基础网络发送通信的虚拟叠加网络。在各种实施方案中,所提供虚拟叠加网络可以各种
方式实现,诸如在一些实施方案中不对通信进行封装(例如,通过将针对物理基础网络的网
络协议配置的虚拟网络的虚拟网络地址信息?#24230;?#22312;通信中)。作为一个说明性实例,可使用
32位1Pv4(“第四版互联网协议”)网络地址来实现虚拟网络,并且那些32-位虚拟网络地址
可作为由物理基础网络使用的128-位1Pv6(“第六版互联网协议”)网络地址的一部分?#24230;耄?br />诸如通过重设通信包或其他数据传输的报头(例如,使用无状态IP/ICMP转换或SIIT),或以
其他方式修改此类数据传输以将它们从它们被配置所针对的第一联网协议转换?#19978;?#24322;第
二联网协议。

作为另一个说明性实例,可使用相同的网络寻址协议(例如,1Pv4或1Pv6)来实现
虚拟网络和基础网络两者,并且使用虚拟网络地址的通过所提供虚拟叠加网络发送的数据
传输可在其通过基础网络被发送时被修改成使用对应于基础网络的不同的物理网络地址,
但是原始虚拟网络地址被存储在已修改数据传输中或以其他方式被跟踪,使得数据传输在
它们离开基础网络时可?#25442;指?#33267;它们的原始形式。在其他实施方案中,可使用通信的封装
来实现叠加网络中的至少一些。

图3所示的实例包括由计算服务提供方的实施方案操作的具有多个物理计算系统
的数据?#34892;?00。数据?#34892;?00连接到数据?#34892;?00外部的一个或多个公共网络335,所述一
个或多个公共网络335提供通过?#25509;?#32593;络340对一个或多个远程计算系统345a的访问、对在
其他地理位置处的各自具有多个计算系统的一个或多个其他全局可访问数据?#34892;?60的访
问、以及对一个或多个其他远程计算系统345b的访问。公共网络335可以是例如可能由各个
相异方操作的公共可访问网络的网络(诸如互联网),并且?#25509;?#32593;络340可以是例如从?#25509;?br />网络340外部的计算系统完全或部分不可访问的公司网络。计算系统345b各自可以是例如
直接连接到互联网(例如,通过电话线、电缆调制解调器、数字用户线(“DSL”)等)的家庭计
算系统。

在这个实例中,计算服务提供方的管理器模块3310有助于对虚拟的所提供计算机
网络进行配置,并且计算服务提供方的多个其他模块用于通过修改进入和/或离开基础网
络的通信而诸如从物理基础网络的边缘实现所提供计算机网络的功能。具体地说,在这个
实例中,计算服务提供方的多个节点通信管理器模块各自管理去往和来自相关联计算节点
的通信,诸如所示节点通信管理器模块309a、309d和350。此外,在这个实例中,计算服务提
供方的外部通信管理器模块370管理数据?#34892;?00内的物理计算系统与外部计算系统之间
的通信,如下文更详细地?#33268;邸?#34429;然在这个实例中仅?#22659;雋说?#20010;外部通信管理器模块370,
但是应理解,可使用多个装置实现模块370的功能,诸如用于冗余和负载平衡。

数据?#34892;?00包括数个物理计算系统(例如,运行一个或多个虚拟机实例的主机服
务器计算机)305a-305d和355a-355n,以及计算服务提供方的CSP节点通信管理器模块350
和管理器模块310,模块350在一个或多个其他计算系统(未?#22659;?上执行以管理相关联计算
系统355a-355n的通信,模块310在一个或多个计算系统(未?#22659;?上执行。在这个示例性实
施方案中,每个物理计算系统305a-305d托管多个虚拟机计算节点并?#19968;?#21253;括虚拟机
(“VM”)节点通信管理器模块(例如,作为用于物理计算系统的虚拟机管理程序监测器的一
部分),诸如计算系统305a上的CSP VM节点通信管理器模块309a和虚拟机307a,并且诸如计
算系统305d上的CSP VM节点通信管理器模块309d和虚拟机307d。虚拟机计算节点中的每一
个可由计算服务提供方用作为客户端提供的计算机网络的相异计算节点。在这个实例中,
物理计算系统355a-355n不执行任何虚拟机,并且因此各自可用作相异计算节点,所述相异
计算节点是由计算服务提供方为客户端提供的计算机网络的一部分。在其他实施方案中,
数据?#34892;?#22788;的所有物理计算系统可托管或不托管虚拟机。

例如,远程计算系统345a可以是基于企业的网络的一部分。应用程序APP1可在由
基于企业的网络的远程计算系统345a的主机服务器390托管的VMI1上运行。应用程序APP1
还可利用(即,可?#35272;?#20110;)由同样由同一主机服务器390托管的VMI2和VMI3提供的功能。计算
服务提供方(例如,公共云网络)的数据?#34892;?00可使用提供如参考图1描述的功能的应用程
序迁移服务140a。例如,应用程序迁移服务140a可用于将应用程序APP1迁移到数据?#34892;?00
内的主机服务器305b。更具体地说,VMI1-VMI3可从主机390迁移,如参考图1所解?#20572;?#24182;且在
数据?#34892;?00内的主机计算机305b处分别作为VMI1、VMI2和VMI3来启动。

原始VMI(在远程计算系统345a内的主机390上运行的VMI1-VMI3)可连接在?#25509;?#23376;
网391中。在迁移之后,新启动的VMI(主机服务器305b中的VMI1-VMI3)还可?#29615;?#32622;在?#25509;?#23376;
网393中。此外,作为迁移过程的一部分,可将主机服务器计算机305b的名称和IP地址改变
成与计算系统345a的基于企业的网络内的主机服务器390的名称(例如,“HOST 1”)和IP地
址(例如,IP1)相同。

这个示例性数据?#34892;?#36824;包括多个物理联网装置,诸如交换器315a和315b、边缘路
由器325a-325c和核心路由器330a-330c。交换器315a是包括物理计算系统305a-305c的物
理网络的一部分,并且连接到边缘路由器325a。交换器315b是包括物理计算系统305d、
355a-355n以及提供CSP节点通信管理器模块350和CSP系统管理器模块310的计算系统的相
异物理网络的一部分,并且连接到边缘路由器325b。由交换器315a-315b建立的物理网络进
而通过中间互连网络320连接到彼此和其他网络(例如,公共网络335),所述中间互连网络
320包括边缘路由器325a-325c和核心路由器330a-330c。边缘路由器325a-325c在两个或更
多个网络之间提供网关。例如,边缘路由器325a在由交换器315a建立的物理网络与互连网
络320之间提供网关。边缘路由器325c在互连网络320与公共网络335之间提供网关。核心路
由器330a-330c管理互连网络320内的通信,诸如视情况通过基于此类数据传输的特性(例
如,包括源和/或目的地基础网络地址、协议标识符等的报头信息)和/或互连网络320本身
的特性(例如,基于物理网络拓?#35828;?#30340;路线)转发包或其他数据传输。

所示节点通信管理器模块管理向和从相关联计算节点发送的通信。例如,节点通
信管理器模块309a管理相关联虚拟机计算节点307a,节点通信管理器模块309d管理相关联
虚拟机计算节点307d,并?#31227;?#20182;节点通信管理器模块中的每一个可类似地管理一个或多个
其他相关联计算节点的群组的通信。所示节点通信管理器模块可管理计算节点之间的通
信,以便在中间物理基础网络(例如,互连网络320以及与交换器315a和315b相关联的物理
网络)之上叠加特定虚拟网络,并且可实?#22336;?#28779;墙策略和其他网络访?#35797;际?#20197;控制此类通
信。外部通信管理器模块370管理进入和离开数据?#34892;?00的外部通信,诸如以关于此类外
部通信进一步在数据?#34892;?00内的基础网络之上实现叠加网络。外部通信管理器模块370可
采取动作以实?#22336;?#28779;墙策略和其他网络访?#35797;际?#21253;括针对所提供计算机网络配置的允许
对数据?#34892;?00外部的远程资源服务进行?#25509;?#25110;其他专门化访问的访问机构,并且任选地
包括到外部远程客户端计算机网络的至少一些VPN连接,或替代地可结合实?#25191;?#31867;VPN连接
的计算服务提供方的部分的其他硬件和/或软件(未?#22659;?操作。

因此,作为一个说明性实例,计算系统305a上的虚拟机计算节点307a中的一个连
同以下各项可以是客户端的特定所提供虚拟计算机网络(例如,图2B的所提供计算机网络
220A)的一部分:计算系统305d虚拟机计算节点307d中的一个和计算系统355a(以及任选地
这个数据?#34892;?#20013;或同样由计算服务提供方使用的一个或多个其他数据?#34892;?60中的其他计
算节点),以及用于表示虚拟网络的虚拟网络地址的1Pv4。其他虚拟机计算节点307a、虚拟
机计算节点307d以及计算系统355b-355n(以及其他所示计算节点)当前可专用于向其他客
户端提供的其他计算机网络,当前可未被分配给所提供计算机网络并且可供计算服务提供
方使用,和/或也可以是同一特定所提供虚拟计算机网络的一部分。为客户端而在是特定所
提供虚拟计算机网络的一部分的虚拟机计算节点307a上执行的程序然后可将传出通信(未
?#22659;?引导到特定所提供虚拟计算机网络的虚拟机计算节点307d,诸如通过指定那个所提
供虚拟计算机网络的被分配给目的地虚拟机计算节点307d的虚拟网络地址。节点通信管理
器模块309a接收传出通信,并且在至少一些实施方案中确定是否要授权发送传出通信,诸
如基于关于发送虚拟机计算节点307a和/或关于目的地虚拟机计算节点307d的先前配置的
信息,和/或通过与系统管理器模块310动态地交互(例如,以获得授权确定、以获得一些或
所有此类信息等)。

如果节点通信管理器模块309a确定传出通信被授权(或不执行这种授权确定),那
么模块309a确定对应于通信的目的地虚拟网络地址的实际物理基础网络位置。在这个实例
中,互连网络使用1Pv6来表示通过互连网络连接的计算节点的实际网络地址,并且模块
309a重设传出通信的报头,使得其被定向到使用实际1Pv6基础网络地址的节点通信管理器
模块309d。节点通信管理器模块309a可通过例如与系统管理器模块310动态地交互来确定
要使用的对应于目的地虚拟计算节点307d的虚拟网络地址的实际1Pv6目的地网络地址,或
可先前确定并存储了那个信息(例如,响应于来自发送虚拟机计算节点307a的对关于那个
目的地虚拟网络地址的信息的先前请求,诸如使用地?#26041;?#26512;协议或ARP的请求)。在这个实
例中,所使用的实际1Pv6目的地网络地址内嵌虚拟目的地网络地址和另外的信息,以便在
不进行封装的情况下通过叠加网络发送通信。

当节点通信管理器模块309d通过互连网络320接收通信时,它从实际1Pv6目的地
网络地址提取虚拟目的地网络地址和另外的信息,并且确定通信要被引导到虚拟机计算节
点307d中的哪一个。节点通信管理器模块309d接着任选地诸如通过以下方式来针?#38405;?#30340;地
虚拟机计算节点307d确定通信是否被授权:从实际1Pv6源网络地址提取虚拟源网络地址和
另外的信息,并且确认具有那个虚拟源网络地址的计算节点实际上由转发通信的节点通信
管理器模块(在这个实例中,节点通信管理器模块309a)管理,以便阻止恶意发送方盗用源
网络地址。如果确定通信被授权(或节点通信管理器模块309d不执行这种授权确定),?#25970;?br />模块309d诸如通过以下方式来重设传入通信的报头以使得其被引导到使用虚拟网络的适
当1Pv4网络地址的目的地虚拟机计算节点307d:使用发送虚拟机计算节点的虚拟网络地址
作为源网络地址并且使用目的地虚拟机计算节点的虚拟网络地址作为目的地网络地址。

在重设传入通信的报头之后,模块309d然后将已修改通信转发到目的地虚拟机计
算节点。在至少一些实施方案中,在将传入通信转发到目的地虚拟机之前,模块309d还可执
行与安全性相关的另外的步骤。例如,模块309d可检验发送虚拟机计算节点被授权与目的
地虚拟机通信(例如,基于属于同一虚拟网络和/或基于针?#38405;?#20010;所提供虚拟网络指定的网
络访?#35797;际?#20449;息,与同一客户或其他实体相关联,与计算节点被授权互通的不同实体相关
联,等等),和/或检验传入通信是所允许类型的,诸如基于由模块309d先前获取的信息或基
于与系统管理器模块310交互。

如果发送虚拟机计算节点307a替代地(或另外地)将传出通信(未?#22659;?引导到数
据?#34892;?00外部的一个或多个预期目的地计算系统,?#25970;?#33410;点通信管理器模块309a以类似
方式接收并处理传出通信。预期外部目的地计算系统可以是例如是同一特定所提供虚拟计
算机网络的一部分的另一计算节点(例如,在特定所提供计算机网络是其扩展的远程虚拟
客户端计算机网络上,或在同样由计算服务提供方用来提供特定虚拟计算机网络的一部分
的另一数据?#34892;?60处)、远程资源服务的计算系统、在互联网上公共可访问的计算系统等。
在至少一些实施方案和情况中,模块309a可首先确定是否要对发送传入通信进行授权,并
且如果是的话,确定对应于通信的目的地网络地址的实际物理基础网络位置。在这个实例
中,所确定物理基础网络位置对应于外部通信管理器模块370,诸如如果模块370与在其他
情况下未被分配给节点通信管理器模块的所有虚拟和/或实际网络地址相关联的话。当模
块370通过互连网络320接收通信时,它类似地从所接收通信提取目的地网络地址和另外的
信息,并且确定是否和如何转发通信,包括任选地针对预期的目的地确定通信是否被授权。
如果确定通信被授权(或模块370不执行这种授权确定),?#25970;?#27169;块370重设传入通信的报头
以使得其被引导到使用?#23454;?#30340;1Pv4公共网络地址(或适用于公共网络335的其他网络地址)
的目的地,然后通过公共网络335转发已修改通信。

因此,如以上所指出,在所示实施方案中,外部通信管理器模块370处理来自所提
供计算机网络的传出通信,包括通过针对远程资源服务配置的访问机构发送到那些远程资
源服务的传出通信。在至少一些实施方案和情况中,如果通过针对特定所提供计算机网络
配置的访问机构将传出通信发送到远程资源服务,?#25970;?#27169;块370和/或发送计算节点的相关
联节点通信管理器模块可采取进一步动作。例如,特定所提供虚拟计算机网络可具有针对
特定远程资源服务配置的?#25104;?#21040;所述远程资源服务的特定命名空间的访问机构(例如,通
过计算系统345b中的一个或多个或者通过另一数据?#34892;?60处的一个或多个计算系?#31243;?#20379;
的远程资源服务),并且发送虚拟机计算节点307a可通过所配置访问机构发送通信。针对特
定所提供计算机网络配置的到远程资源服务的访问机构可以是例如特定所提供计算机网
络的虚拟网络地址,所述虚拟网络地址被分配以表示那个所配置访问机构,并且如果是这
样的话,那个分配的虚拟网络地址可与模块370相关联以使得传出通信被引导到模块370。

在通过公共网络335将这种传出通信转发到远程资源服务之前,模块370可采取各
种动作以?#20174;?#25152;使用访问机构的配置,诸如以修改输出通信以参考或以其他方式使用访问
机构所对应于的特定命名空间。在此类情况中,模块370可以各种方式确定访问机构的命名
空间和其他配置信息,诸如通过本地存储配置信息、联系系统管理器模块310以获取配置信
息等。此外,模块370可以各种方式确定如何和何时修改通信以使用特定命名空间,诸如通
过远程资源服务先前将对应配置信息提供给计算服务提供方(例如,指示命名空间的一个
或多个特定消息参数的指示;用于命名或参考资源的一个或多个特定消息参数的指示,其
任选地可包括命名空间标识符;允许指示命名空间或以其他方式使用命名空间信息的消息
的类型的指示;等等)。

作为一个具体说明性实例,远程资源服务可提供数据存储服务,并且传出通信可
以是对访问特定的存储相关的资源(例如,以检索所存储数据的所存储对象或其他群组)的
请求。如果是这样的话,特定存储资源可先前已由客户端创建为由客户端限定的命名空间
的一部分,诸如通过使用所提供计算机网络外部(例如,客户端的远程?#25509;?#35745;算机网络上的
计算系统。通过配置用于特定所提供计算机网络的访问机构以使用那同一个命名空间,所
提供计算机网络的计算节点可访问并使用客户端的现有所存储资源。作为说明性实例,如
果客户端的远程?#25509;?#35745;算机网络是公司网络,?#25970;?#23458;户端可使用不同的命名空间来存储不
同类型的数据,诸如以将敏感的人力资源数据存储在第一命名空间中,将限制的软件开发
软件和其他数据存储在第二命名空间中,并且通过第三命名空间存储在整个公司一般可用
的其他公司数据。

如果计算服务提供方的所提供计算机网络仅由公司的特定子集(例如,人力资源
人员)使用,?#25970;?#29305;定所提供计算机网络的到远程资源服务的访问机构可被配置来使用第
一命名空间获得敏感的人力资源数据。此外,特定所提供计算机网络可任选地具有第二访
问机构,所述第二访问机构被配置到远程资源服务(例如,使用所提供计算机网络的不同的
所分配虚拟网络地址),诸如以使用第三命名空间获得一般可用的公司数据,使得特定所提
供计算机网络的计算节点可与特定所提供计算机网络的不同的本地虚拟网络地?#26041;换?#20197;
获取对不同资源群组的访问权。

作为另一说明性实例,特定所提供计算机网络的到远程资源服务的访问机?#22266;?#20195;
地可被配置来仅允许特定所提供计算机网络的计算节点具对由那些计算节点创建并使用
的存储资源进行访问。如果是那样的话,计算服务提供方可诸如通过自动地生成新的命名
空间(例如,在未将那个信息提供给特定所提供计算机网络的计算节点的情况下)或通过使
用由客户端利用配置信息指示的新的命名空间来确定新的命名空间以与特定所提供计算
机网络一起使用,并且可配置访问机构以使用新的命名空间。根据远程资源服务,计算服务
提供方或者特定所提供计算机网络的计算节点还可能需要采取初始动作以在远程资源服
务内创建新的命名空间。一旦新的命名空间可用,特定所提供计算机网络的计算节点可类
似地使用所配置访问机构来与远程资源服务交互,从而创建是新的命名空间的一部分的新
的所存储资源并且访问此类所存储资源,并且外部通信管理器模块370将视情况类似地修
改传出通信以使用新的命名空间。

在一些实施方案中,除了或替代被配置来实现对应于特定远程资源服务内的特定
命名空间的所配置访问机构,外部通信管理器模块370可被配置成包括与对通过访问机构
发送到远程资源服务的一些或所有通信的访问控制相关的一个或多个另外的指示符,并且
发送虚拟机计算节点307a可通过那个所配置访问机构发送这种通信。在通过公共网络335
将这种传出通信转发到远程资源服务之前,模块370可采取各种行动以?#20174;?#25152;使用访问机
构的配置,诸如以将传出通信修改成包括访问机构所对应于的一个或多个另外的指示符,
诸如通过以特定于远程资源服务的方式修改通信的报头和/或正文(例如,如果远程资源服
务允许客户端指定一个或多个访问控制指示符,以便以远程资源服务所支持的方式包括一
个或多个另外的指示符,?#36824;?#26159;否替代或除了由发送虚拟机计算节点307a指定的任何指示
符)。在此类情况中,模块370可以各种方式确定访问机构的另外的指示符,诸如通过本地存
储信息、联系系统管理器模块310以获取信息等。此外,模块370可以各种方式确定如何和何
时修改通信以使用特定的另外指示符,诸如通过远程资源服务先前将对应配置信息提供给
计算服务提供方(例如,指示此类访问控制指示符的一个或多个特定消息参数的指示;用于
访问资源的一个或多个特定消息参数的指示,其可任选地包括一个或多个此类访问控制指
示符;允许指定一个或多个此类访问控制指示符或以其他方式使用此类访问控制指示符的
消息的类型的指示;等等)。

以与先前关于将命名空间信息用于所配置访问机?#22266;致?#30340;实例类似的方式,远程
资源服务可提供数据存储服务,并且传出通信可以是对访问特定的存储相关的资源(例如,
以检索所存储数据的所存储对象或其他群组)的请求。如果是这样的话,特定存储资源先前
可已经由发送虚拟机计算节点307a所属于的所提供计算机网络的计算节点中的一个创建,
或可作为当前通信的一部分被新创建或访问。在一些实施方案中,根据远程资源服务,计算
服务提供方还可能需要采取初始行动以指定用于在远程资源服务内使用(例如,以?#36816;?#20204;
进行限定)的一个或多个另外的指示符。发送虚拟机计算节点307a和相关联客户端可不知
道另外的指示符的使用,但是虽然如此,外部通信管理器模块370也将视情况修改传出通信
以使用相关联指示符。

此外,如以上所指出,在所示实施方案中,外部通信管理器模块370处置从所提供
计算机网络扩展到所述扩展所对应于的远程计算机网络的传出通信,诸如通过到特定远程
计算机网络的所配置VPN连接发送的传出通信。在至少一些实施方案中,计算服务提供方提
供远程访问建立API,所述API允许客户端以编程方式发起对从在数据?#34892;?00远程的位置
到在数据?#34892;?00处为客户端提供的计算机网络的这种VPN连接的建立,诸如以使得将?#23454;?br />的硬件装置、软件和/或配置信息传递到远程位置以供由客户?#31169;?#31435;VPN连接。例如,计算系
统345b中的一个可对应于出售或以其他方式提供此类硬件装置和/或软件的网上零售商,
并且如果是这样的话,计算服务提供方可使用由零售商提供的单独的API来?#28304;?#31867;硬件装
置和/或软件下单,以便递送到对应于客户端的远程位置或其他指定位置(例如,如作为调
用计算服务提供方的所提供API的一部分,由客户端基于由计算服务提供方先前为客户端
存储的信息、基于由零售商先前为客户端存储的信息等指定)。一旦建立了这种VPN连接或
其他安全连接以允许客户端远程访问所提供计算机网络,模块370就可进一步采取行动以
支持安全连接,诸如通过使用安全连接来发送传出通信,所述传出通信的目标在于安全连
接所对应于的远程位置处的一个或多个目的地计算系统。

因此,如上文关于图3所描述,在至少一些实施方案中,计算服务提供方通过使用
底层基础网络(诸如使用计算服务提供方的各种节点通信管理器模块和计算服务提供方的
一个或多个外部通信管理器模块)将虚拟计算机网络实现为叠加网络来将它们提供给客户
端。在至少一些实施方案中,一个或多个系统管理器模块还可有助于配置计算节点之间的
通信,诸如通过跟踪和/或管理哪些计算节点属于哪些所提供虚拟网络,并且通过(例如,诸
如由特定客户或其他实体)提供关于对应于用于具体虚拟网络的虚拟网络地址的实际物理
基础网络地址的信息。此外,系统管理器模块可接收目标物理计算系统上的虚拟机计算节
点的指示以及虚拟机将要与其相关联的所提供虚拟网络的指示,并且然后发起针?#38405;?#26631;物
理计算系统配置虚拟机节点通信管理器模块,以便使虚拟机与虚拟网络相关联,或者节点
通信管理器模块替代地可发起所述配置(例如,当虚拟机首先发起或接收通信时)。

在至少一些实施方案中,对未授权通信的检测和/或阻止可至少部分地基于一个
或多个中间基础网络的拓扑,虚拟网络叠加在所述拓扑上,如先前所指出。在此类实施方案
中,供这种计算节点用来通过基础网络进行通信的物理网络地址包括计算节点的虚拟网络
地址的指示,并且包括与计算节点的相关联节点通信管理器模块的位置(例如,基础网络的
子网络或其他部分,节点通信管理器模块为所述子网络或其他部分管理通信)对应的基础
网络的局部网络地址。因此,恶意用户为了正确地构建用于是虚拟网络的一部分的计算节
点的?#34892;?#29289;理网络地址,恶意用户将需要获得对关于计算节点所属于的虚拟网络的信息的
访问权,获得对关于计算节点的物理基础网络位置的拓扑的信息的访问权,以便确定相关
联节点通信管理器模块的局部网络地址,并且确定如何使用那个信息来构建物理网络地
址。

可以各种方式检查所构建物理网络地址的?#34892;?#24615;,诸如通过标识?#24230;?#25152;构建物理
网络地址中的虚拟地址所对应于的计算节点,并且检验那个所标识计算节点的位置对应于
基础网络的与局部网络地址对应的部?#31181;?#30340;计算节点中的一个(例如,由局部网络地址所
对应于的节点通信管理器模块管理的计算节点中的一个)。此外,可由诸如以下各项在各个
时间检查所构建物理网络地址的?#34892;?#24615;:接收目标在于目的地计算节点的传入通信(例如,
以检验源物理网络地址是?#34892;?#30340;)的节点通信管理器模块,据称从代表所指示的受管理计
算节点的节点通信管理器模块接收消息(例如,请求所关注预期目的地计算节点的物理网
络地址的消息)的管理器模块,等等。

图4是?#22659;?#26681;据本公开的示例性实施方案的在多租户环境中运行的使用应用程序
迁移服务的多个虚拟机实例的示例性系统图。更具体地说,图4是?#22659;?#20854;中可使用本文描述
的实施方案的一个实施方案的基于网络的计算服务提供方400的计算系统图。通过背景,计
算服务提供方400(即,云提供方)能够将计算和存储能力作为服务传递到最终接受方(例
如,租户或客户)的社区。

在示例性实施方案中,计算服务提供方400可由组织或代表组织为所述组织建立。
也就是说,计算服务提供方400可提供“?#25509;性?#29615;境”。在另一实施方案中,计算服务提供方
400支持其中多个客户独立地操作的多租户环境(即,公共云环境)。就此而言,多个客户(例
如,多个企业)可租用多租户环境内的资源,诸如服务器计算机。

总而言之,计算服务提供方400可提供以下模型:基础架构即服务(“IaaS”)、平台
即服务(“PaaS”)和/或软件即服务(“SaaS”)。可提供其他模型。对于IaaS模型,计算服务提
供方400可提供计算机作为物理机或虚拟机和其他资源。虚拟机可由管理程序作为客机运
行,如下文进一步描述。PaaS模型传递计算平台,所述计算平台可包括操作系统、编程语言
执行环境、数据库和web服务器。应用程序开发者可在计算服务提供方平台上开发并运行他
们的软件解决方案而无采购和管理底层硬件和软件的成本。SaaS模块允许应用程序软件在
计算服务提供方中安装和运行。在一些实施方案中,终端用户使用联网客户装置(诸如运行
web浏览器或其他轻型客户应用程序的台式计算机、膝上型计算机、平板、智能手机等)访问
计算服务提供方400。本领域的技术人员将认识到计算服务提供方400可描述为“云”环境。

具体?#22659;?#30340;计算服务提供方400包括多个服务器计算机402A-402D。虽然仅?#22659;?#20102;
四个服务器计算机,但是可使用任何数目的服务器计算机,并且大的?#34892;?#21487;包括数以千计
的服务器计算机。服务器计算机402A-402D可提供用于执行软件实例406A-406D的计算资
源。在一个实施方案中,实例406A-406D是虚拟机。如本领域中已知的,虚拟机是像物理机一
样执行应用程序的机器(即,计算机)的软件实现方式的实例。在所述实例中,服务器计算机
402A-402D中的每一个可被配置来执行管理程序408或被配置成能够在单个服务器上执行
多个实例406的另一种类型的程序。例如,服务器402A-402D中的每一个可被配置(例如,通
过管理程序408)来支持一个或多个虚拟机分区,其中每个虚拟机分区能够运行一个虚拟机
实例(例如,服务器计算机402A能够被配置来支?#25351;?#33258;运行对应虚拟机实例的三个虚拟机
分区)。此外,实例406中的每一个可被配置来执行一个或多个应用程序。

在示例性实施方案中,服务器计算机402A-402D中的每一个还可包括应用程序迁
移服务(AMS)(例如,440A-440D)和性能指标模块(例如,441A-441D)。应用程序迁移服务
440A-440D可具有与参考图1描述的应用程序迁移服务140a类似的功能。此外,当应用程序
迁移服务将应用程序(以及相关联虚拟机实例)从基于企业的网络迁移到计算服务提供方
400的云网络时,性能指标模块441A-441D可提供对应主机(402A-402D)的性能指标以便确
定VMI类型和主机服务器类型。性能指标模块441A-441D具有与图1中的性能指标模块139类
似的功能。

计算服务提供方400还可包括应用程序迁移服务440。应用程序迁移服务440可包
括合适的电路、逻辑和/或代码并且可以可操作来执行本文所述的功能(例如,类似于参考
图1-3描述的应用程序迁移服务140a的功能),所述功能包括使用资源监测指标、相关性信
息以及?#25509;?#23376;网信息来将应用程序从基于企业的网络(即,?#25509;?#23458;户端网络)迁移到计算服
务提供方的云网络。应用程序迁移服务440可实现为提供方400内的独立服务、实现为专用
服务器(类似于服务器402A-402D),和/或可实现为执行管理功能的服务器计算机404的一
部分(或实现为单独服务器计算机402A-402D的一部分,如上文所解释)。例如,应用程序迁
移服务440可实现为在服务器的操作系统上运行的软件应用程序(例如,实现为管理部件
410(如图5所示)的一部分)。

应理解,尽管本文所公开的实施方案主要是在虚拟机的情境中描述的,但是其他
类型的实例也可与本文所公开的概念和技术一起使用。例如,本文所公开的技术可与存储
资源、数据通信资源以及其他类型的计算资源一起使用。本文所公开的实施方案也可直接
在计算机系统上执行应用程序的全部或一部分,而不利用虚拟机实例。

一个或多个服务器计算机404可专留用于执行用于管理服务器计算机402、实例
406、管理程序408和/或应用程序迁移服务440的操作的软件部件。例如,服务器计算机404
可执行管理部件410。客户可访?#20351;?#29702;部件410以配置客户所购买的实例406的操作的各个
方面。例如,客户可购买、租用或租借实例并且对实例的配置做出改变。客户还可指定关于
所购买实例如何响应于需求而缩放的设置。管理部件410还可包括策略文档(例如,图5中的
564)以实现客户策略,诸如与应用程序迁移服务440有关的策略。

服务器计算机404还可包括存储器452,其可由应用程序迁移服务440用作处理存
储器。自动缩放部件412可基于由客户限定的规则缩放实例406。在一个实施方案中,自动缩
放部件412允许客户指定用于确定何时应实例化新实例的放大规则以及用于确定何时应终
止现有实例的缩小规则。自动缩放部件412可由在不同服务器计算机402或其他计算装置上
执行的数个?#30828;?#20214;组成。自动缩放部件412可通过内部管理网络监测可用计算资源并且基
于需要修改可用资源。

部署部件414可用于帮助客户部署计算资源的新实例406。部署部件可访问与实例
相关联的账户信息,诸如谁是账户的所有者、信用卡信息、所有者的国?#19994;取?#37096;署部件414可
接收来自客户的配置,所述配置包括描述应如何配置新实例406的数据。例如,所述配置可
以:指定将要在新实例406中安装的一个或多个应用程序,提供将要被执行用于配置新实例
406的脚本和/或其他类型的代码,提供指定应如何准备应用程序高速缓存的高速缓存逻辑
以及其他类型的信息。部署部件414可以利用客户提供的配置和高速缓存逻辑来配置、预先
准备和启动新实例406。所述配置、高速缓存逻辑和其他信息可由客户使用管理部件410来
指定或通过直接将此信息提供给部署部件414来指定。实例管理器(例如,图5中的550)可被
认为是部署部件414的一部分。

客户账户信息415可包括与多租户环境的客户相关联的任何期望的信息。例如,客
户账户信息可包括客户的唯一标识符、客户地址、?#23454;?#20449;息、许可信息、用于启动实例的自
定义参数、调度信息、自动缩放参数、用于访?#25910;?#25143;的先前IP地址等。

网络430可用于互连服务器计算机402A-402D和服务器计算机404。网络430可以是
局域网(LAN)并且可连接到广域网(WAN)440,使得终端用户可访问计算服务提供方400。应
理解,图4中?#22659;?#30340;网络拓扑已简化,并且可利用更多的网络和联网装置来互连本文所公开
的各种计算系统。

图5?#22659;?#26681;据一个实施方案的包括与控?#30772;?#38754;相关联的多个管理部件的示例性系
统的其他?#38468;冢?#25152;述多个管理部件可用于迁移一个或多个虚拟机实例。更具体地说,图5更
详细地?#22659;?#31649;理部件410,所述管理部件410可在计算服务提供方400的多租户环境内实现
不连续的迁移服务120。

为了访问和利用实例(诸如图4的实例406),可使用客户装置。客户装置510可以是
多种计算装置、移动装置或其他装置(包括蜂窝电话、智能手机、手持式计算机、个人数?#31181;?br />理(PDA)、台式计算机等)中的任一种。客户装置510可通过端点512与计算服务提供方400通
信,所述端点512可以是被设计来接收并处理应用程序接口(API)请求的DNS地址。具体地
说,端点512可以是被配置来暴露API的web服务器。使用API请求(例如,图1中的190),客户
装置510可请求实现本文所述的任何功能(例如,请求用于迁移应用程序的相关性信息155、
资源监测指标160和?#25509;?#23376;网信息150,如参考图1所描述)。可以在计算服务提供方400内部
的其他服务515可同样地向端点512做出API请求。例如,客户装置510可使用API请求(例如,
图1中的190)来传达与迁移应用程序相关联的客户请求(例如,客户可响应于来自计算服务
提供方的推荐,确认对用于选择VMI目的的VMI类型和主机服务器类型以及用于迁移应用程
序的主机的推荐;客户还可提供他们自己对用于迁移的VMI和主机的具体类型的选择)。来
自客户端114的API请求(例如,190)可通过准入控制514并?#19994;?#36798;应用程序迁移服务440上
以便访问策略文档564和/或请求迁移相关的服务。管理门户566可由客户或计算服务提供
方300的管理员访问和改变策略文档564。

当将应用程序从基于企业的网络迁移到计算服务提供方时,策略文档564可指定
例如与选择VMI类型和服务器计算机类型相关的一个或多个策略。更具体地说,策略文档
564可指定一个或多个VMI类型和一个或多个服务器架构类型(例如,基于存储器、CPU速度、
磁盘空间等),并且可提供对VMI类型和服务器架构类型两者的推荐,这可基于资源监测度
量与可用主机服务器和VMI的性能度量的匹配自动地选择。

可能包括在或可能未包括在计算服务提供方400中(和/或管理部件410内)的其他
一般管理服务包括准入控制514,例如,一起作为准入控制web服务操作的一个或多个计算
机。准入控制514可对API请求进行?#29616;ぁ?#26816;验和拆包以用于计算服务提供方400内的数据服
务或存储。容量跟踪器516负责根据容量的预测、预配置以及实时配置和分配确定服务器需
要如何被配置以便通过管理并配置实际库存来满足对不同实例类型的需要。容量跟踪器
516将可用库存的池保持在容量池数据库518中。容量跟踪器516还可监测容?#20811;?#24179;,从而知
道资源是容易获得的还是有限的。

实例管理器550控制网络中的虚拟机实例的启动和终止。当接收到指令(诸如通过
API请求)以启动实例时,实例管理器550从容量池518拉取资源并且在所决定主机服务器计
算机上启动实例。存储管理器522和网络资源管理器524与实例管理器类似。存储管理器522
与存储卷的起动和终止有关,而网络资源管理器524与路由器、交换器、子网等的起动和终
止有关。分区网络540关于图6得到进一步描述,并且包括实例在其上启动的物理层。

应用程序迁移服务440可执行本文描述(例如,如参考140a和/或140b所描述)的迁
移相关的功能。应用程序迁移服务440可与容量跟踪器516通信以接收关于可用于迁移和启
动实例(或客户实体所请求的其他网络资源)的可用分区和/或主机服务器的信息。此外,与
准入控制514的通信可用于启动所迁移实例,并且与分区网络540的通信可用于执行影响多
个分区的迁移相关的功能(例如,迁移在一个或多个服务器计算机上运行的多个VMI)。

图6?#22659;?#21487;根据本公开的一个实施方案配置的多个主机计算机、路由器和交换器
的实例,所述多个主机计算机、路由器和交换器是用于运行虚拟机实例的硬件资产,其中主
机计算机具有应用程序迁移相关的功能。更具体地说,图6?#22659;?#20998;区网络640和与其相关联
的物理硬件。分区网络640可包括由路由器(诸如路由器616)联接在一起的多个数据?#34892;?br />(诸如数据?#34892;?10a、…、610n)。

路由器616读取所接收包中的地址信息并且确定包的目的地。如果路由器判定不
同的数据?#34892;?#21253;含主机服务器计算机,?#25970;?#21253;被转发到那个数据?#34892;摹?#22914;果包被定址到数
据?#34892;?10a中的主机,?#25970;?#25152;述包被传递到网络地址转换器(NAT)618,其将包的公共IP地
址变换成?#25509;蠭P地址。NAT 618还将?#25509;械?#22336;转换成绑定在数据?#34892;?10a的外部的公共地
址。另外的路由器620可联接到NAT 618以将包路由到主机服务器计算机的一个或多个机架
630。每个机架630可包括联接到多个主机服务器计算机的一个交换器632。具体的主机服务
器计算机在641处的放大视图中?#22659;觥?br />

每个主机641具有底层硬件650,其可包括网络接口卡、一个或多个CPU、存储器等
(未在图6中?#22659;?。管理程序或内核层660在硬件650上方运行层。管理程序或内核层660可
分类为1型或2型管理程序。1型管理程序直接在主机硬件650上运行以控制硬件并且管理客
机操作系统。2型管理程序在常规的操作系统环境内运行。因此,在2型环境中,管理程序可
以是在操作系统上方运行的相异层,并?#20063;?#20316;系统与系统硬件交互。不同类型的管理程序
包括Xen-基础、Hyper-V、ESXi/ESX、Linux等,但也可使用其他管理程序。

管理层670可以是管理程序的一部?#21482;?#19982;其分离,并且通常包括访问硬件650所需
的装置驱动器。分区680是由管理程序隔离的逻辑单元。每个分区680可被分配其自己的硬
件层内存、CPU分配、存储等的部分。此外,每个分区可包括虚拟机和其自己的主机操作系统
(例如,VMI1可在分区1上运行并且VMIn可在分区n上运行)。这样,每个分区680是被设计来
独立于其他分区支持其自己的虚拟机的抽象容量部分。

此外,当虚拟机实例(例如,VMI1)被迁移时(例如,从计算系统345a的客户端?#25509;?br />网络340内的主机服务器390迁移到计算服务提供方的数据?#34892;?00中的主机服务器305b),
新启动的VMI1将与跟计算系统345a的先前VMI1所使用相同的公共和?#25509;蠭P地址相关联。这
在NAT 618的放大视图643处?#22659;觥?#22914;在643处所见,即使在应用程序/VMI迁移之后在数据中
心610a中启动的每个VMI(或在数据?#34892;?10a中运行VMI的每个服务器)与跟所迁移的基于
企业的网络VMI的公共/?#25509;蠭P地址相同的公共IP地址(IP1、…、IPn)和?#25509;蠭P地址
(PIP1、…、PIPn)相关联。此外,路由信息(即,用于托管VMI的特定服务器计算机的路由信
息)也可保持不同(例如,路由信息“路由1”与VMI1相关联并且路由信息“路由n”与VMIn相关
联)。

图7是根据本公开实施方案的将应用程序从基于企业的网络迁移到计算服务提供
方的多租户网络的示例性方法的流程图。参考图1-3和图7,示例性方法700可在702处开始,
此时,在基于企业的网络内接收到迁移在第一虚拟机实例上运行的应用程序的请求。例如,
用户可使用接口122指定应用程序名称(例如,应用程序185的名称)并且可通过激活软件按
钮122b来发起迁移。

在704处,可通过标识基于企业的网络内的至少第二虚拟机实例来确定应用程序
的相关性,所述至少第二虚拟机实例与应用程序相关联。例如,应用程序迁移服务140a可使
用API请求190中的一个来获取相关性信息155。相关性信息155可标识被选择来迁移的应用
程序(例如,185)、所述应用程序在其上运行的VMI(例如,180a)以及应用程序185所使用或
?#35272;?#20110;的一个或多个另外的VMI(例如,VMI180b-180c)。

在706处,可接收与由第一虚拟机实例和至少第二虚拟机实例使用的硬件资源相
关联的资源监测指标。例如,应用程序迁移服务140a可使用API请求190中的一个来获取资
源监测指标160,其提供关于由VMI 180a-180c对主机服务器计算资源(即,与托管VMI
180a-180c的主机服务器175a相关联的计算资源)的使用的信息。在708处,可基于资源监测
指标针对至少第一虚拟机实例和第二虚拟机实例中的每一个确定多租户网络处的服务器
计算机类型和虚拟机实例类型。

例如,在获取相关性信息155和资源监测指标160之后,应用程序迁移服务140a可
使资源监测指标160中的一个或多个与主机服务器105a(或剩余主机服务器105a、…、105n
中的任一个)的性能指标139匹配,以选择或以其他方式确定(例如,从策略文档,诸如564)
计算服务环境100内的虚拟机实例类型(用于迁移VMI 180a-180c)和主机服务器计算机类
型来托管来自客户端?#25509;?#32593;络170的所迁移VMI(与所迁移应用程序)。性能指标139可包括
主机服务器计算机105a(或剩余主机服务器105a、…、105n中的任一个)的CPU速度、存储器
容量、存储容量、网卡特性(例如,速度)、视频卡特性(例如,分辨率和视频处理速度)、磁盘
I/O速度等中的一个或多个。

在710处,可将第一虚拟机实例和至少第二虚拟机实例从基于企业的网络迁移到
所确定虚拟机实例类型的至少一个虚拟机实例。例如,可将VMI 180a-180c从客户端?#25509;?#32593;
络170迁移到计算服务环境100。更具体地说,至少一种文件打包格式(例如,OVF)可用于包
装VMI180a-180c,将它们迁移到计算服务环境100,然后在所选择VMI类型的并且由所选择
主机服务器计算机类型的主机服务器托管的VMI上启动它们,如由主机/VMI类型选择141b
所指示。所迁移VMI180a-180c可传输到由所选择主机服务器计算机中的一个或多个托管的
所选择VMI(即,VMI传递141c)并在其上启动。

第一虚拟机实例(例如,180a)可从基于企业的网络(170)迁移到计算服务环境100
处的所确定虚拟机实例类型的至少第一虚拟机实例(例如,130a、…、130n中的一个)。至少
第二虚拟机实例(180b-180c)可从基于企业的网络(170)迁移到所确定虚拟机实例类型的
至少第二虚拟机实例,至少第一虚拟机实例和至少第二虚拟机实例由多租户网络(100)内
的服务器计算机(105a)托管。

基于企业的网络(170)可包括?#25509;?#32593;络。应用程序迁移服务140a可确定第一虚拟
机实例(180a)和至少第二虚拟机实例(180b-180c)是否在?#25509;?#32593;络的子网络中。如果第一
虚拟机实例(180a)和至少第二虚拟机实例(180b-180c)在?#25509;?#32593;络的单个子网络(245)中,
?#25970;?#24212;用程序迁移服务140a可针对运行所迁移应用程序的至少一个虚拟机实例(VMI1)在
多租户网络(205)内创建子网络(250)。

应用程序迁移服务140a可确定基于企业的网络中托管第一虚拟机实例(180a)和
至少第二虚拟机实例(180b-180c)的至少一个主机服务器计算机(175a)的名称和IP地址。
应用程序迁移服务140a可将名称和IP地址分配给多租户网络内的所述服务器计算机类型
的服务器计算机(例如,105a),所述名称和IP地址与跟基于企业的网络(170)中的至少一个
主机服务器计算机(例如,175a)相关联的名称和IP地址相同。

图8是根据本公开实施方案的将应用程序从基于企业的网络迁移到计算服务提供
方的多租户网络的另一示例性方法的流程图。参考图1-3和图8,示例性方法800可在802处
开始,此时,可在多租户网络处接收到与由基于企业的网络处的服务器计算机托管的至少
一个应用程序对计算资源的使用相关联的资源监测指标。例如,应用程序迁移服务140a可
使用API请求190中的一个来获取资源监测指标160,其提供关于由与应用程序185相关联的
VMI 180a-180c对主机服务器计算资源(即,与托管VMI 180a-180c的主机服务器175a相关
联的计算资源,所述资?#20174;?#24212;用程序185使用)的使用的信息。

在804处,可至少部分地基于资源监测指标来选择由计算服务提供方的多租户网
络内的服务器计算机托管的虚拟机实例的虚拟机实例类型。例如,在获取相关性信息155和
资源监测指标160之后,应用程序迁移服务140a可使资源监测指标160中的一个或多个与主
机服务器105a(或剩余主机服务器105a、…、105n中的任一个)的性能指标139匹配,以选择
或以其他方式确定(例如,从策略文档,诸如564)计算服务环境100内的虚拟机实例类型(用
于迁移VMI 180a-180c)和主机服务器计算机类型来托管来自客户端?#25509;?#32593;络170的所迁移
VMI(与所迁移应用程序)。性能指标139可包括用于主机服务器计算机105a(或剩余主机服
务器105a、…、105n中的任一个)的CPU速度、存储器容量、存储装置容量、网卡特性(例如,速
度)、视频卡特性(例如,分辨率和视频处理速度)、磁盘I/O速度等。

在806处,可将至少一个应用程序从基于企业的网络迁移到由多租户网络内的服
务器计算机托管的虚拟机实例。例如,可将VMI180a-180c从客户端?#25509;?#32593;络170迁移到计算
服务环境100。更具体地说,至少一种文件打包格式(例如,OVF)可用于包装VMI 180a-180c,
将它们迁移到计算服务环境100,然后在所选择VMI类型的并且由所选择主机服务器计算机
类型的主机服务器托管的VMI上启动它们,如由主机/VMI类型选择141b所指示。所迁移VMI
180a-180c可传输到由所选择主机服务器计算机中的一个或多个托管的所选择VMI(即,VMI
传递141c)并在其上启动。

图9是根据本公开实施方案的将应用程序从基于企业的网络迁移到计算服务提供
方的多租户网络的又一示例性方法的流程图。参考图1-3和图9,示例性方法900可在902处
开始,此时,响应于接收对迁移托管在基于企业的网络内的第一虚拟机实例上的应用程序
的请求,可确定基于企业的网络内托管应用程序的至少第二虚拟机实例。例如,应用程序迁
移服务140a可使用API请求190中的一个来获取相关性信息155。相关性信息155可标识应用
程序185在其上运行的虚拟机(即,VMI 180a)以及应用程序185可使用(或?#35272;?#20110;)的任何其
他VMI(即,VMI 180b-180c)。

在904处,可将由应用程序对基于企业的网络中的计算资源的使用?#25104;?#21040;与多租
户网络内的计算资源相关联的性能指标。在906处,可至少部分地基于?#25104;?#26469;在多租户网络
内选择虚拟机实例类型和服务器计算机类型。例如,在获取相关性信息155和资源监测指标
160之后,应用程序迁移服务140a可将资源监测指标160中的一个或多个?#25104;?#21040;主机服务器
105a(或剩余主机服务器105a、…、105n中的任一个)的性能指标139,以选择计算服务环境
100内的虚拟机实例类型(用于迁移VMI 180a-180c)和主机服务器计算机类型来托管来自
客户端?#25509;?#32593;络170的所迁移VMI(与所迁移应用程序)。性能指标139可包括用于主机服务
器计算机105a(或剩余主机服务器105a、…、105n中的任一个)的CPU速度、存储器容量、存储
装置容量、网卡特性(例如,速度)、视频卡特性(例如,分辨率和视频处理速度)、磁盘I/O速
度等。

在908处,可将第一虚拟机实例从基于企业的网络迁移到所选择虚拟机实例类型
的并且由多租户网络内的所选择服务器计算机类型的服务器计算机托管的第一虚拟机实
例,从而将应用程序从基于企业的网络迁移到多租户网络。例如,可将VMI 180a-180c从客
户端?#25509;?#32593;络170迁移到计算服务环境100。更具体地说,至少一种文件打包格式(例如,
OVF)可用于包装VMI 180a-180c,将它们迁移到计算服务环境100,然后在所选择VMI类型的
并且由所选择主机服务器计算机类型的主机服务器托管的VMI上启动它们,如由主机/VMI
类型选择141b所指示。所迁移VMI 180a-180c可传输到由所选择主机服务器计算机中的一
个或多个托管的所选择VMI(即,VMI传递141c)并在其上启动。

根据本公开的示例性实施方案并?#20063;?#32771;图7-9中描述的任何方法,在主机/VMI类
型选择(141b)和VMI传递(141c)之前,作为初始步骤,应用程序迁移服务140a可执行VPC和
子网创建和分配(141a)。

可鉴于以下条款对本公开的各个实施方?#38468;?#34892;描述:

1.一种将应用程序从基于企业的网络迁移到计算服务提供方的多租户网络的方
法,所述方法包括:

接收对迁移在所述基于企业的网络内的第一虚拟机实例上运行的应用程序的请
求;

通过标识所述基于企业的网络内的至少第二虚拟机实例来确定所述应用程序的
相关性,所述至少第二虚拟机实例与所述应用程序相关联;

接收与由所述第一虚拟机实例和所述至少第二虚拟机实例使用的硬件资源相关
联的资源监测指标,所述硬件资源与托管所述第一虚拟机实例和所述至少第二虚拟机实例
的至少一个主机服务器计算机相关联;

基于所述资源监测指标针对至少所述第一虚拟机实例和所述第二虚拟机实例中
的每一个确定所述多租户网络处的服务器计算机类型和虚拟机实例类型;以及

将所述第一虚拟机实例和所述至少第二虚拟机实例从所述基于企业的网络迁移
到所确定虚拟机实例类型的至少一个虚拟机实例,从而将所述应用程序从所述基于企业的
网络迁移到所述多租户网络,所述至少一个虚拟机实例由所述多租户网络内的所确定服务
器计算机类型的服务器计算机托管。

2.根据条款1所述的方法,其中所述迁移包括:

将所述第一虚拟机实例从所述基于企业的网络迁移到所确定虚拟机实例类型的
至少第一虚拟机实例;以及

将所述至少第二虚拟机实例从所述基于企业的网络迁移到所确定虚拟机实例类
型的至少第二虚拟机实例,所述至少第一虚拟机实例和所述至少第二虚拟机实例由所述多
租户网络内的所述服务器计算机托管。

3.根据条款1所述的方法,其中所述基于企业的网络包括?#25509;?#32593;络并且所述方法
还包括:

确定所述第一虚拟机实例和所述至少第二虚拟机实例是在所述?#25509;?#32593;络的单个
子网络中还是分开的子网络中。

4.根据条款3所述的方法,其包括:

当所述第一虚拟机实例和所述至少第二虚拟机实例在所述?#25509;?#32593;络的单个子网
络中时,针对运行所迁移应用程序的所述至少一个虚拟机实例在所述多租户网络内创建子
网络;以及

当所述第一虚拟机实例和所述至少第二虚拟机实例在所述?#25509;?#32593;络的分开的子
网络中时,在所述多租户网络中创建至少第一子网络和第二子网络,所述第一子网络用于
托管所确定虚拟机实例类型的至少第一虚拟机实例,并且所述第二子网络用于托管所确定
虚拟机实例类型的至少第二虚拟机实例。

5.根据条款1所述的方法,其包括:

确定所述基于企业的网络中托管所述第一虚拟机实例和所述至少第二虚拟机实
例的所述至少一个主机服务器计算机的名称和IP地址。

6.根据条款5所述的方法,其包括:

将名称和IP地址分配给所述多租户网络内的所述服务器计算机类型的所述服务
器计算机,所述名称和所述IP地址与跟所述基于企业的网络中的所述至少一个主机服务器
计算机相关联的名称和IP地址相同。

7.一种在其上包括指令的计算机可读存储装置,所述指令用于执行将应用程序从
基于企业的网络迁移到计算服务提供方的多租户网络的方法,所述方法包括:

在所述多租户网络处接收与由所述基于企业的网络处的服务器计算机托管的至
少一个应用程序对计算资源的使用相关联的资源监测指标;

选择由所述计算服务提供方的所述多租户网络内的服务器计算机托管的虚拟机
实例的虚拟机实例类型,所述选择至少部分地基于所述资源监测指标;以及

将所述至少一个应用程序从所述基于企业的网络迁移到由所述多租户网络内的
所述服务器计算机托管的所述虚拟机实例。

8.如条款7所述的计算机可读存储装置,其中所述选择包括使所述资源监测指标
与跟所述多租户网络内的所述服务器计算机相关联的性能指标匹配。

9.如条款8所述的计算机可读存储装置,其中:

所述资源监测指标包括所述至少一个应用程序对所述基于企业的网络中的CPU、
存储器和磁盘I/O的实际使用;并且

所述性能指标包括所述多租户环境中的所述服务器计算机的CPU速度、存储器容
量和磁盘I/O速度。

10.如条款7所述的计算机可读存储装置,其还包括:

从所述基于企业的网络内的迁移服务获得相关性信息,所述相关性信息标识与所
述应用程序相关联并且在所述基于企业的网络中运行的一个或多个虚拟机实例。

11.如条款10所述的计算机可读存储装置,其中所述迁移所述至少一个应用程序
还包括:

将所述一个或多个虚拟机实例从所述基于企业的网络迁移到由所述多租户网络
内的所述服务器计算机托管的对应的一个或多个虚拟机实例,其中所述迁移包括将所述一
个或多个虚拟机实例从与所述基于企业的网络兼容的虚拟机实例格式变换成与所述多租
户网络兼容并且使用与所述多租户网络兼容的至少一个驱动器的虚拟机实例格式。

12.如条款7所述的计算机可读存储装置,其中所述选择由所述多租户网络内的所
述服务器计算机托管的所述虚拟机实例的所述虚拟机实例类型自动地发生并且无需用户
?#31245;ぁ?br />

13.如条款7所述的计算机可读存储装置,其还包括:

提供对所述虚拟机实例类型和所述多租户网络内的所述服务器计算机的服务器
计算机类型中的一个或两个的至少一个推荐;以及

响应于所述至少一个推荐,接收对所述虚拟机实例类型和所述服务器计算机的所
述服务器计算机类型的选择。

14.如条款7所述的计算机可读存储装置,其还包括:

响应于对来自所述多租户网络的信息的API请求,接收所述资源监测指标。

15.如条款14所述的计算机可读存储装置,其还包括:

响应于所述API请求,接收标识与由所述基于企业的网络处的所述至少一个应用
程序使用的所述计算资源相关联的至少一个?#25509;?#32593;络的信息,其中所述计算资?#20174;?#20027;机名
称和主机IP地址标识。

16.如条款15所述的计算机可读存储装置,其还包括:

针对所述多租户网络内的所述服务器计算机创建?#25509;?#32593;络;以及

分配所述多租户网络内的所述服务器计算机的名称和IP地址,所述名称和所述IP
地址与所述基于企业的网络处的所述计算资源的所述名称和所述IP地址相同。

17.一种用于将应用程序从基于企业的网络迁移到计算服务提供方的多租户网络
的系统,所述系统包括:

多个主机服务器计算机,其联接在一起以形成所述多租户网络,所述主机服务器
计算机的至少一部分用于执行与客户账户相关联的多个虚拟机;以及

应用程序迁移服务,其可操作来:

响应于接收对迁移托管在所述基于企业的网络内的第一虚拟机实例上的应用程
序的请求,确定所述基于企业的网络内托管所述应用程序的至少第二虚拟机实例;

将由所述应用程序对所述基于企业的网络中的计算资源的使用?#25104;?#21040;与所述多
租户网络内的计算资源相关联的性能指标;

至少部分地基于所述?#25104;洌?#22312;所述多租户网络内选择虚拟机实例类型和服务器计
算机类型;以及

将所述第一虚拟机实例从所述基于企业的网络迁移到所选择虚拟机实例类型的
并且由所述多租户网络内的所选择服务器计算机类型的服务器计算机托管的第一虚拟机
实例,从而将所述应用程序从所述基于企业的网络迁移到所述多租户网络。

18.根据条款17所述的系统,其中所述应用程序迁移服务可操作来:

将所述至少第二虚拟机实例从所述基于企业的网络迁移到所选择虚拟机实例类
型的并且由所述多租户网络内的所选择服务器计算机类型的所述服务器计算机托管的至
少第二虚拟机实例。

19.根据条款17所述的系统,其中所述应用程序迁移服务可操作来:

在所述多租户网络处接收指示由所述基于企业的网络中的所述应用程序对计算
资源的所述使用的资源监测指标。

20.根据条款17所述的系统,其中所述应用程序迁移服务可操作来:

响应于API请求,接收指示与所述基于企业的网络中托管所述第一虚拟机实例和
所述至少第二虚拟机实例的至少一个服务器计算机相关联的?#25509;?#23376;网络的信息;

在所述多租户网络处创建虚拟?#25509;?#32593;络;并且

在所述虚拟?#25509;?#32593;络内启动用于所述服务器计算机的?#25509;?#23376;网络。

图10描绘其中可实现所描述的创新的合适计算环境1000的一般化实例。计算环境
1000并不意在对使用?#27573;?#25110;功能提出任何限制,因为创新可在不同的通用或专用计算系统
中实现。例如,计算环境1000可以是多种计算装置中的任一种(例如,台式计算机、膝上型计
算机、服务器计算机、平板计算机等)。

参考图10,计算环境1000包括一个或多个处理单元1010、1015和存储器1020、
1025。在图10中,这种基本配置1030被包括在虚线内。处理单元1010、1015执行计算机可执
行指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或任何
其他类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能
力。例如,图10?#22659;?#20013;央处理单元1010以及图?#26410;?#29702;单元或协处理单元1015。?#34892;未?#20648;器
1020、1025可以是?#36164;?#24615;存储器(例如,寄存器、高速缓存、RAM)、?#19988;资?#24615;存储器(例如,
ROM、EEPROM、闪存等)或这两种存储器的可由处理单元访问的一些组合。存储器1020、1025
以适用于由处理单元执行的计算机可执行指令的形式存储实现本文所述的一个或多个创
新的软件1080。

计算系统可具有另外的特征。例如,计算环境1000包括存储装置1040、一个或多个
输入装置1050、一个或多个输出装置1060以及一个或多个通信连接1070。诸如总线、控制器
或网络互连的互连机构(未?#22659;?将计算环境1000的部件互连起来。通常,操作系统软件(未
?#22659;?为在计算环境1000中执行的其他软件提供操作环境,并且协调计算环境1000的部件
的活动。

?#34892;未?#20648;装置1040可以是可移动或不可移动的,并且包括磁盘、磁带或盒式磁带、
CD-ROM、DVD或任何其他介?#21097;?#23427;们可用于以非暂时性方式存储信息并且可在计算环境1000
内?#29615;?#38382;。存储装置1040存储实现本文所述的一个或多个创新的软件1080的指令。

输入装置1050可以是触摸输入装置(诸如键盘、鼠标、笔或跟踪球)、语音输入装
置、扫描装置或向计算环境1000提供输入的另一种装置。输出装置1060可以是显示器、打印
机、扬声器、CD刻录机或提供来自计算环境1000的输出的另一种装置。

通信连接1070允许通过通信介质与另一计算实体通信。通信介质在已调制数据信
号中传达信息,诸如计算机可执行指令、音频或视频输入或输出或其他信息。已调制数据信
号是一种信号,所述信号使得其一个或多个特性被设定或改变,其方式为使得对信号中的
信息进行编码。以举例而非限制的方式,通信介质可使用电、光、RF或其他载体。

尽管为了便于呈现而以特定的顺序次序描述了所公开方法中的一些的操作,但应
理解,这种描述方式包括重排,除非下文陈述的特定语言要求特定排序。例如,顺序地描述
的操作在某些情况下可重排或同时执行。此外,为了简单起见,附图可不?#22659;?#25152;公开方法可
与其他方法结合使用的各种方式。

任何所公开方法可实现为存储在一个或多个计算机可读存储介质(例如,一个或
多个光学介?#20351;?#30424;、?#36164;?#24615;存储器部件(诸如DRAM或SRAM)或?#19988;资?#24615;存储器部件(诸如闪
存或硬盘驱动器))上并且在计算机(例如,任何可商购获得的计算机,包括智能电话或包括
计算硬件的他移动装置)上执行的计算机可执行指令。术语计算机可读存储介质不包括通
信连接,诸如信号和载波。用于实现所公开技术的任何计算机可执行指令以及在所公开实
施方案的实?#21046;?#38388;创建和使用的任何数据可存储在一个或多个计算机可读存储介质上。计
算机可执行指令可以是例如专用软件应用程序或通过web浏览器访问或下载的软件应用程
序或其他软件应用程序(诸如远程计算应用程序)的一部分。此类软件可使用一个或多个网
络计算机例如在单个本地计算机(例如,任何合适的可商购获得的计算机)上或在网络环境
(例如,通过互联网、广域网、局域网、客户-服务器网络(诸如云计算网络)或其他此类网络)
中执行。

为了清楚起见,仅描述了基于软件的具体实施的某些选定方面。省略了本领域中
众所周知的其他?#38468;凇?#20363;如,应理解,所公开技术不限于任何特定计算机语言或程序。例如,
所公开技术可由以C++、Java、Perl、JavaScript、Adobe Flash或任何其他合适的编程语言
写入的软件来实现。类似地,所公开技术不限于任何特定计算机或硬件类型。合适的计算机
和硬件的某些?#38468;?#26159;众所周知的并?#20063;?#38656;要在本公开中进行详细陈述。

还应很好地理解,可至少部分地由一个或多个硬件逻辑部件替代软件来执行本文
所述的任何功能。例如而非进行限制,可使用的说明性类型的硬件逻辑部件包括现场可编
程门阵列(FPGA)、程序特定集成电路(ASIC)、程序特定标准产品(ASSP)、片上系统的系统
(SOC)、复杂可编程逻辑装置(CPLD)等。

此外,可通过合适的通信手段上传、下载或远程访问任何基于软件的实施方案(包
括,例如,用于致使计算机执行任何所公开方法的计算机可执行指令)。此类合适的通信手
段包括例如互联网、万维网、内联网、软件应用程序、电缆(包括光纤电缆)、磁通信、电磁通
信(包括RF、微波和红外通信)、电子通信或其他此类通信手段。

所公开的方法、设备和系统不应以任何方式理解为是限制性的。相反,本公开涉及
单独地以及彼此间呈各种组合和子组合的各种所公开实施方案的所?#34892;?#39062;且非显而易见
的特征和方面。所公开的方法、设备和系统不限于任何特定的方面或特征或其组合,所公开
的实施方案也不要求呈现任何一个或多个特定的优点或解决问题。

鉴于所公开发明的原理可应用于的许多可能实施方案,应认识到,所示实施方案
仅仅是本发明的优选实例并?#20063;?#24212;被认为是对本发明的?#27573;?#36827;行限制。相反,本发明的范
围是由所附权利要求书限定。因此,我们要求落入这些权利要求?#27573;?#20869;的所有内容都是我
们的发明。

关于本文
本文标题:基于企业的网络与多租户网络之间的应用程序迁移.pdf
链接地址:http://www.pqiex.tw/p-6091737.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 金拉霸老虎机app 彩票网站名称 真人捕鱼比赛破解版 新潮娱乐时时彩 波克捕鱼千炮版腾讯版 大乐游戏mg游戏pt游戏sw游戏 现在没文化的干什么能赚钱 电子游戏娱乐 推币机用磁石作弊 彩票新闻资讯