CN104090825B - 动态迁移计算机网络 - Google Patents
动态迁移计算机网络 Download PDFInfo
- Publication number
- CN104090825B CN104090825B CN201410287384.XA CN201410287384A CN104090825B CN 104090825 B CN104090825 B CN 104090825B CN 201410287384 A CN201410287384 A CN 201410287384A CN 104090825 B CN104090825 B CN 104090825B
- Authority
- CN
- China
- Prior art keywords
- network
- computer network
- computer
- calculate node
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/082—Mobility data transfer for traffic bypassing of mobility servers, e.g. location registers, home PLMNs or home agents
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明描述了用于提供当计算机网络在使用中时在两个或多个计算机网络之间动态地迁移计算节点,例如将整个发端第一计算机网络动态和递增地迁移到在远程位置处的目的第二计算机网络的能力的技术。例如,第一计算机网络可包括一个或多个物理上互连的计算机网络,而第二计算机网络可以是在远程地理位置处的虚拟计算机网络(例如,在远程用户可采用的网络可访问服务的控制下)。所提供的能力还可包括例如通过以对各种计算节点透明的方式转发第一和第二计算机网络之间的通信,当第一计算机网络计算节点的子集迁移到远程目的第二计算机网络时促进发端第一计算机网络的正在进行的操作。
Description
分案申请说明
本申请是申请日为2010年7月22日、申请号为201080036315.1(国际申请号PCT/US2010/042858)的、题为“动态迁移计算机网络”的发明专利申请的分案申请。
背景技术
很多公司和其它组织操作将许多计算机系统相互连接以支持它们操作的计算机网络,例如被协同定位(例如,作为局部网络的一部分)或替代地定位于多个不同的地理位置上(例如,经由一个或多个私有或公共中间网络而连接)的计算机系统。例如,容纳相当大数量的互连计算系统的数据中心变得普通,例如由和代表单个组织操作的私有数据中心,以及由作为企业的实体操作以向用户提供计算资源的公共数据中心。一些公共数据中心运营商为不同用户拥有的硬件提供网络接入、动力和安全安装设施,而其它公共数据中心运营商提供“完全服务”设施,其也包括他们的用户可以加以使用的硬件资源。然而,因为一般数据中心的规模和范围增加了,供应、施行和管理物理计算资源的任务变得日益复杂。
商品硬件的虚拟化技术的出现提供了一些关于为很多具有不同需要的用户管理大规模计算资源的益处,允许各种计算资源有效和安全地被多个用户共享。例如,虚拟化技术,例如由VMWare、XEN、Linux的KVM(基于核心的虚拟机)或用户模式Linux提供的那些技术,可允许单个物理计算机器通过给每个用户提供由单个物理计算机器托管的一个或多个虚拟机来在多个用户中间被共享,每个这样的虚拟机是充当不同的逻辑计算系统的软件模拟,该逻辑计算系统给用户提供他们是给定硬件计算资源的唯一操作员和管理员的错觉,同时也在各种虚拟机中间提供应用隔离和安全。
附图简述
图1A和1B是示出涉及动态地迁移计算机网络计算节点的交互的示例性实施方案的网络图。
图2是示出在提供用于动态地迁移计算机网络计算节点的能力时使用的互连计算系统的示例性实施方案的网络图。
图3是示出适合于提供用于动态地迁移计算机网络计算节点的能力的示例性计算系统的方框图。
图4A和4B示出可配置网络服务管理器例程的示例性实施方案的流程图。
图5示出网络迁移管理器例程的示例性实施方案的流程图。
图6示出网关设备例程的示例性实施方案的流程图。
发明内容
描述了用于提供当计算机网络在使用中时,例如代表用户或与计算机网络关联的其它实体,促进计算机网络之间的计算节点的动态迁移的能力。在至少一些实施方案中,提供的能力包括当第一计算机网络在使用中时促进整个第一计算机网络到远程位置的动态迁移,例如第一计算机网络的多个计算节点中的每一个递增地迁移到在远程位置处的作为目的第二计算机网络的一部分的不同的计算节点。此外,在至少一些这样的实施方案中,提供的能力还包括当第一计算机网络计算节点的子集迁移到远程目的第二计算机网络时,例如通过以对各种计算机网络计算节点透明的方式转发第一和第二计算机网络之间的通信(例如,从而第一计算机网络的特定计算节点的迁移对第一计算机网络的其它计算节点是透明的,从而其它计算节点可继续发送它们之间的通信,并且在一些情况下也可继续将通信发送到正在迁移的计算节点),来促进发端第一计算机网络的正在进行的操作。此外,在至少一些实施方案中,第一和第二计算机网络中的一个可以是在第一地理位置上的物理上连接的计算机网络(例如,LAN或局域网),而第一和第二计算机网络中的另一个可以是在远程第二地理位置处提供的虚拟计算机网络(例如,在远程用户可以采用的网络可访问服务的控制下),例如如果发端第一计算机网络是在第一实体的控制下的物理上连接的计算机网络,并且目的第二计算机网络是由基于费用的网络可访问服务提供到第一实体的远程虚拟计算机网络,其中第一实体是用户。下面讨论关于用于动态地迁移计算机网络计算节点的各种提供的能力的附加细节。此外,在至少一些实施方案中,所描述的技术中的一些或全部由网络迁移管理器(NMM)模块的实施方案自动执行,如下面更详细地描述的。
如上所述,在至少一些实施方案中,NMM模块的实施方案自动促进发端第一计算机网络中的一些或全部计算节点到不同的目的第二计算机网络,例如到远离发端计算机网络的目的虚拟计算机网络,的迁移。在一些这样的实施方案中,NMM模块可与目的第二计算机网络集成或以其它方式关联,例如如果NMM模块是也提供用于客户端使用的虚拟计算机网络的网络可访问服务的一部分,目的第二计算机网络是提供的虚拟计算机网络中的一个。在其它实施方案中,NMM模块替代地与发端第一计算机网络集成或以其它方式关联(例如,如果第一计算机网络是由这样的网络可访问服务提供的虚拟计算机网络),或可以不与发端和目的计算机网络的任一个关联(例如,如果NMM模块是提供促进动态计算机网络迁移的能力的不同服务的一部分)。
此外,在至少一些实施方案中,当第一计算机网络在使用中时发端第一计算机网络的一些或全部计算节点到不同的目的第二计算机网络的动态迁移的促进包括在动态迁移期间管理第一和第二计算机网络之间的交互。特别是,在第一和第二计算机网络中的一个或两个上的网关设备可配置成维持第一和第二计算机网络之间的连接(例如,私有和/或安全连接,例如VPN连接),并且管理第一和第二计算机网络之间的交互。例如,如果在第一计算机网络上的发送计算节点发起到预期目的计算节点(其以前是第一计算机网络的一部分,但已迁移到在第二计算网络上的不同的备用计算节点)的网络通信,在第一和第二计算机网络上的网关设备可交互以对发送计算节点和目的备用计算节点透明的方式将通信转发到在第二计算网络上的备用计算节点。类似地,由备用计算节点发送回的任何响应通信将以相反的方式经由网关设备转发回到第一计算机网络上的发送计算节点,在这样一种方式下转发的响应通信表现为来自作为第一计算机网络的一部分的原始预期目的计算节点。以这种方式,在第二计算机网络上的迁移的备用计算节点上执行的软件程序可能不知道备用计算节点不再物理上连接到第一计算机网络。作为一个说明性实例,这样的网关设备可每个是局域网的一部分并支持局域网(例如,通常使用第二层联网协议作为单个广播域的一部分来管理通信的物理或虚拟局域网),在这样的第一局域网上的网关设备通过欺骗第一局域网的远程计算节点的硬件地址(例如,MAC或媒体访问控制、地址)来代表在另一第二局域网上的远程计算节点,以便接收并且处理指向远程计算节点的来自第一局域网的通信。此外,网关设备可以进一步配置成在其它情况下执行其它操作,作为促进计算机网络计算节点的动态迁移的一部分(例如,对ping请求、SNMP(简单网络管理协议)查询等作出响应)。
在一个实施方案中作为具有关于这样的网关设备的操作的附加细节的说明性实例,考虑发端第一局域计算机网络的第一计算节点迁移到配置成作为第一计算机网络的扩展而操作的远程目的第二计算机网络的情况,该迁移使得第二计算机网络的不同的第二计算节点代替作为第一局域计算机网络的一部分的第一计算节点,并且开始使用以前由第一计算节点使用的第一计算机网络的第一网络地址(例如,IP或互联网协议、地址)。作为促进第一计算节点到第二计算节点的动态迁移的一部分,作为第一计算机网络的一部分的第一网关设备可配置成例如通过本身与在第一计算机网络上的第一网络地址关联的第一网络设备来向在第一计算机网络上的其它计算节点代表远程第二计算节点。例如,第一网关设备可发出包括第一网络地址的免费ARP(地址解析协议)消息,或可以其它方式更新在第一计算机网络上的其它设备,以将预期给第一网络地址的通信转发到第一网关设备。当在第一计算机网络上的另一计算节点随后将通信发送到预期给第一计算节点使用的第一网络地址时,通信将接着通过第一计算机网络指向第一网关设备。第一网关设备可接着例如以与路由器的方式类似的方式将通信转发到远程第二计算机网络,用于传送到第二计算节点代替迁移的第一计算节点。这样的通信转发可由在第二计算机网络上的第二网关设备促进,该第二网关设备接收来自第一网关设备的转发的通信,并且进一步通过第二计算机网络转发通信。而且,在至少一些实施方案中,第一和第二网关设备可以用对第一和第二计算机网络的计算节点透明的方式转发通信,例如通过不以与路由器设备将实行的方式相同的方式修改转发的通信(例如,不修改通信的生存时间跳跃值),通过使用对相应于发送计算节点和第一计算机网络的发送方网络地址和/或发送方硬件地址的欺骗信息来在第二计算机网络上发送转发的通信,等等。以这种方式,转发的通信表现为到第二计算节点,好像它经由这两个计算节点所属的单个局域计算机网络来自于发送计算节点。
此外,可在各种实施方案中以各种方式执行计算节点从发端第一计算机网络到远程目的第二计算机网络的迁移。例如,在一些实施方案中,第二计算机网络可以是在迁移之前配置成包括一个或多个计算节点的物理计算机网络,每个计算节点可用来代替第一计算机网络的一个或多个计算节点,例如如果第二计算机网络的一个或多个计算节点在其它方式下不在使用中,直到这样的迁移出现。在其它实施方案中,第二计算机网络可以是在第一计算机网络计算节点迁移时计算节点可能被动态地添加到的虚拟计算机网络,例如如果虚拟计算机网络由网络可访问服务提供,该网络可访问服务提供在向客户端提供的虚拟计算机网络中使用的大量可用的计算节点。此外,在一些实施方案和情况中,计算节点的迁移可包括将在计算节点上执行的软件程序和/或执行软件程序所使用的数据中的一些或全部移动到在不同的地理位置上的新的物理计算系统(例如,通过在新的计算系统上执行那些软件程序的不同的复制,通过将数据复制到新的计算系统,等等),从而在迁移完成之后新的物理计算系统充当相同的逻辑计算节点,而在其它实施方案中,待迁移的计算节点可以物理上移动到不同的地理位置并且连接到新的计算机网络。此外,当计算节点迁移涉及在不同位置处的新计算系统的使用时,新的计算系统可在一些实施方案中配置成在NMM模块发起促进迁移的任何变化(例如,对涉及转发通信的网关设备的任何变化)之前作为对正在迁移的计算节点的备用计算节点而操作,从而所配置的网关设备可开始以直接或实质上直接的方式将通信转发到备用计算节点。在其它实施方案和情况中,备用计算节点可能在迁移开始之后的一段时间(例如,秒、分钟、小时等)内是不可用的,并且如果是这样,网关设备可执行一种或多种类型的行动来促进迁移(例如,发送到正在迁移的计算节点的队列通信,直到备用计算节点准备接收它们,发出错误以指示通信没有被传送以便触发通信的以后重新发送,等等)。
此外,可确定特定的计算节点迁移的各种方式。例如,在一些实施方案中,与计算节点从其迁移的发端计算机网络关联的用户可选择要迁移的特定的计算节点,并且接着向NMM模块通知该选择,并且可进一步在一些这样的实施方案中人工执行在计算节点迁移中涉及的行动(例如,在向NMM模块通知该选择之前)。在其它实施方案中,NMM模块可参与要迁移的计算节点的自动选择和/或选定的计算节点的自动迁移(例如,通过提供备用计算节点,执行软件程序,复制数据,等等)。例如,在至少一些实施方案中,用户和/或NMM模块可定义在评估和选择要迁移的特定计算节点时使用的标准(例如,以选择要迁移的计算节点的子集,以选择一些或全部计算节点将被迁移的顺序,等等)。这样定义的标准可基于例如被选择来迁移的计算节点和/或将用作对迁移的计算节点的备用计算节点的不同的计算节点的当前状态或其它特征,例如通过使用用户指定的和/或自动获悉的阈值或其它类型的约束(例如,以识别在一个或多个区域中过度利用或未充分利用的计算节点)。此外,这样的标准可以与各种因素中的一个或多个有关,包括当前计算节点的操作度量和/或其它因素。例如,NMM模块可在其定义的标准中使用的非排他列表包括下列项中的一个或多个:每个计算节点的可用性程度;由每个计算节点接收和/或处理的请求的量;每个计算节点的网络利用程度;每个计算节点的网络时延程度;在对每个计算节点的请求作出响应时的时延程度;每个计算节点的处理器利用程度;每个计算节点的存储器利用程度;每个计算节点的I/O(输入/输出)带宽利用程度;当前与每个计算节点交互或以其它方式使用每个计算节点的多个其它计算节点(或那些计算节点的软件应用);与对在当前时间和/或未来时间的一个或多个行为使用一个或多个计算节点关联的财务成本;与对在当前时间和/或未来时间的一个或多个行为使用一个或多个计算节点关联的非财务成本(例如,可用财务术语表示的环境成本);对每个计算节点的一个或多个其它因素的当前和/或未来要求的用户指定的预测程度;对每个计算节点的一个或多个其它因素的当前和/或未来要求的自动获悉或以其它方式预测的程度;等等。此外,NMM模块可在各种实施方案中例如通过监控各种计算节点和网络操作特征以各种方式收集或以其它方式获得这样的度量和其它因素的当前值和关于这样的度量和其它因素的其它信息。
在各种实施方案中可为了各种原因并以各种方式作出迁移特定的计算节点的确定。例如,在一些实施方案中,可发起计算节点的迁移,以获得将由备用计算节点和/或备用计算节点所属的目的计算机网络提供的增强水平的服务或能力,例如对费用。作为一个实例,在一些实施方案中,目的计算机网络可提供有区别的能力,例如在不同的计算节点上的不同水平的服务质量或不同类型的能力(例如,对费用),并且特定的备用计算节点可基于备用计算节点的这样的能力(例如,基于用户请求或选择,基于NMM模块对用户或与发端计算机网络关联的其它实体的自动建议,等等)来选择。在其它实施方案中,计算节点可被迁移,作为整个发端计算机网络的迁移的一部分,并且待迁移的计算节点的顺序可用其它方式(例如,以随机的方式,基于商业考虑由关联的用户,等等)来选择。
如前所述,NMM模块可配置成通过使用远程计算机网络或远程网络可访问服务提供的其它计算节点来促进发端第一计算机网络的一些或全部计算节点的动态迁移。为了获得对这样的远程计算机网络或其它远程计算节点的访问,在至少一些实施方案中,用户(或代表用户的NMM模块)可通过公共网络与远程网络可访问服务(其允许用户配置服务代表用户提供的计算机网络)交互,所配置的计算机网络包括由网络可访问服务维持的或以其它方式在网络可访问服务的控制下的多个计算节点。在配置了这样的计算机网络之后,用户和/或NMM模块可从一个或多个远程位置与网络可访问服务提供的计算机网络交互,例如以在提供的计算机网络的计算节点上执行程序,以将附加计算节点动态地添加到提供的计算机网络,等等。在至少一些实施方案中,由网络可访问服务提供的计算机网络中的至少一些可以是私有计算机网络,每个私有计算机网络只可由网络可访问服务的用户访问,提供的计算机网络代表该用户而被创建和配置(或由访问被明确配置的其它网络)。例如,网络可访问服务可以例如通过实现在客户端的一个或多个远程计算系统和提供的计算机网络之间的安全VPN(虚拟私有网络)连接或其它私有连接来给作为网络可访问服务的客户端的用户提供对为客户端提供的计算机网络的私有访问,或可使用其它安全和/或认证技术来使客户端能够以私有和/或安全的方式与提供的计算机网络远程地进行交互。此外,在至少一些实施方案中,由网络可访问服务提供的计算机网络中的至少一些中的每个由客户端创建和配置为客户端的现有计算机网络的扩展,如客户端的现有远程私有计算机网络的私有计算机网络扩展(例如,作为公司实体的客户端的远程公司网络)。此外,在至少一些实施方案和情况中,由网络可访问服务提供的计算机网络可以是虚拟计算机网络,而在其它实施方案中,提供的计算机网络可以是物理上连接的计算机网络。下文包括与建立和使用由网络可访问服务提供的远程计算机网络有关的附加细节。
用于实施各种提供的能力的所述技术的使用产生在各种情况下的各种益处。例如,在一些情况下,用户或其它实体可维持在一个或多个地理位置上的具有多个计算节点的一个或多个物理网络,但需要暂时将那些计算节点中的一些或全部迁移到远程位置(例如,以便执行维持或更新),并且接着在临时时期结束之后将迁移反转回到所述一个或多个物理网络。在其它情况下,用户或其它实体可能替代地希望将在一个或多个地理位置上的一个或多个物理网络的一些或全部计算节点永久地迁移到远程位置(例如,以得到成本和/或能力上的优点)。此外,在一个或多个地理位置上的一个或多个物理网络的一些或全部计算节点到远程位置的暂时或永久迁移可以例如快速地(例如,在分钟或小时期间内)或更逐步地(例如,在天或星期或月的时期内)以各种方式执行——这样的迁移可包括重复地选择物理网络的待迁移的一个或多个计算节点,引导以其它方式被发送到那些选定计算节点而不是发送到远程虚拟网络的相应备用计算节点的新通信,以及可选地紧接着或在选定计算节点完成处理指定的功能(例如,在它们被选择来迁移之前所涉及的正在进行的会话或其它网络交互)之后停止使用这些节点。将认识到,可进一步以各种其它方式使用所述技术和提供的能力。
图1A是示出所述技术可用于提供用于促进计算机网络计算节点在计算机网络之间的动态迁移的能力的情况的实例的网络图。在本实例中,动态迁移使用目的计算机网络,其为来自提供客户端-可配置网络的示例性网络可访问服务的远程虚拟计算机网络,例如被创建并且配置为客户端的现有私有计算机网络的网络扩展的远程虚拟计算机网络,虽然动态迁移可在其它实施方案中以其它方式(例如,通过使用例如是不同的计算机网络的一部分的用户的其它可用计算节点)执行。
在图1A的所示实例中,示例性可配置网络服务(CNS)105通过一个或多个公共网络100给客户端(未示出)提供使客户端能够访问并且使用由CNS 105提供给客户端的虚拟计算机网络的能力,以使远程客户端可使用CNS 105来利用云计算计算通过公共网络100将其远程现有私有计算机网络130的能力动态地修改和扩展到新的提供的虚拟计算机网络。此外,在所示实例中,一个或多个NMM模块125还使用由CNS 105提供的功能来促进动态计算机网络计算节点迁移功能,如下面更详细地描述的。由NMM模块125提供的这样的动态计算机网络计算节点迁移功能可由CNS 105促进,如果例如CNS 105允许提供的计算机网络被动态地修改(例如,以将计算节点添加到提供的计算机网络或从提供的计算机网络移除),如果特定的提供的计算机网络已经包括可用来由NMM负载平衡模块125按需要暂时或永久地使用为备用计算节点的计算节点,等等。
特别是,在图1A中,很多客户端通过公共网络100与CNS 105的管理器模块110交互,以创建并且配置远程现有客户端私有网络130的各种私有计算机网络扩展120,计算机网络扩展120中的至少一些配置成通过公共网络100(例如,经由通过互连100a和100b建立的VPN连接或经由其它类型的私有连接)来实现从一个或多个相应的客户端私有网络130的专有访问。在本实例中,提供的计算机网络120中的每一个包括一个或多个计算节点124(例如,从CNS 105提供的很多计算节点),以及配置成充当网关设备122以促进与相应的远程客户端私有网络130交互的至少一个计算设备。示例性远程客户端私有网络130中的每一个包括多个计算节点134以及促进与相应的提供的计算机网络120交互的一个或多个网关设备132。这样的网关设备132可例如在建立作对客户端私有网络130(例如,在CNS 105和/或NMM模块125的控制下)的扩展的相应的提供的计算机网络120时添加到客户端私有网络130,或替代地作为以前客户端私有网络130的一部分(例如,以管理计算节点134与公共网络100的其它交互)并且配置成执行与相应的提供的计算机网络120的进一步交互。此外,在这个实施方案中,管理器模块110例如结合CNS 105的各种其它模块(未示出)和由CNS 105使用来提供私有计算机网络扩展120的各种计算节点和联网设备(未示出)来帮助向远程客户端提供CNS 105的功能。在至少一些实施方案中,CNS管理器模块110可在CNS 105的一个或多个计算系统(未示出)上执行,并且可提供使远程计算系统能够以编程方式与模块110交互的一个或多个API(应用编程接口),以代表客户端访问CNS 105的一些或全部功能(例如,创建、配置和/或发起私有网络扩展120的使用)。此外,在至少一些实施方案中,客户端替代地与模块110手工进行交互(例如,经由模块110提供的图形用户界面),以执行一些或全部这样的行动。
NMM模块125中的每一个可与客户端私有网络130中的一个或多个关联,例如以促进那些关联的客户端私有网络的一个或多个计算节点134到关联的提供的计算机网络120的一个或多个相应的备用计算节点124的动态和递增的迁移。如前所述,当客户端私有网络130中的一个的计算节点将迁移到在关联的提供的计算机网络120上的备用计算节点时,关联的NMM模块125可采取各种行动来促进迁移。例如,NMM模块125可分别配置计算机网络130和120的网关设备132和122,以管理发送到迁移的计算节点的网络地址的通信,从而所配置的网关设备132将通信从计算节点134中的一个转发到所配置的网关设备122的该网络地址,以进一步转发到备用计算节点124,而从计算节点124中的另一个到该网络地址的通信将被直接转发到备用计算节点124,而没有通过所配置的网关设备122和132的任何行动。
此外,在一些实施方案中,NMM模块125可例如通过与一些或全部计算节点134交互以获得关于在选择待迁移的计算节点134时使用的它们的操作的当前状态信息,和/或通过经由模块110与提供的计算机网络120交互以添加、提供和/或发起备用计算节点124的操作,来自动执行关于选择待迁移的计算节点134和/或执行到相应的备用节点124的迁移的附加行为。更一般地,作为促进客户端私有网络130的一些或全部计算节点134到相应的提供的计算机网络120的动态迁移的一部分,NMM模块124可进一步执行与CNS 105的交互,例如下列项的一个或多个:对于计算节点134从客户端私有网络130的迁移开始创建用作目的计算机网络的提供的计算机网络120;对于客户端私有网络130开始将一个或多个计算节点添加到现有的提供的计算机网络120,例如以用作备用计算节点;开始使用现有的提供的计算机网络120中的一个或多个现有计算节点作为客户端私有网络130的备用计算节点,等等。在一些实施方案中,每个迁移的计算节点134将由不同的计算节点124代替,而在其它实施方案中,单个计算节点124可充当对多个迁移的计算节点134的备用计算节点,和/或单个迁移的计算节点134可具有多个相应的备用计算节点124。
此外,在一些实施方案中,NMM模块125可进一步促进提供的计算机网络120的计算节点124到客户端私有网络130的备用计算节点134的动态迁移,不管是作为从客户端私有网络130暂时迁移到提供的计算机网络120的计算节点124的反向迁移,还是作为从虚拟计算机网络120到物理上提供的客户网络130的永久单向迁移。类似地,在一些实施方案中,NMM模块125可进一步促进提供的计算机网络120的计算节点124到另一提供的计算机网络120的备用计算节点124的动态迁移,和/或客户端私有计算机网络130的计算节点134到另一客户端私有计算机网络130的备用计算节点134的动态迁移。
虽然在本实例中示出了可选地经由连接145通过公共网络100可访问的NMM模块125,但是NMM模块125中的一些或全部中的每个可替代地被定位成特定的关联客户端私有网络130的一部分和/或CNS 105的一部分。例如,作为特定的客户端私有网络130的一部分的NMM模块125可由提供该客户端私有网络的实体获得并且安装,而由CNS 105提供的NMM负载平衡模块125可配置成支持用于动态迁移的提供的计算机网络120中的一个或多个,并且在一些情况下可配置为那些一个或多个提供的计算机网络120的每一个的一部分。
在图1A的实例中,公共网络100可以例如是可能由不同方操作的链接网络的可公开访问的网络,例如互联网。远程客户端私有网络130可每个包括一个或多个现有的私有网络,例如公司或其它私有网络(例如,家庭、大学等),其对非特许用户是一部分或全部不可访问的并包括计算系统和/或客户端的其它联网设备。在所示实例中,提供的网络扩展120每个包括多个计算节点124,其中的至少一些由CNS 105提供或以其它方式在CNS 105的控制下,并且提供的网络扩展120中的每一个可由它们被提供给的客户端以各种方式配置。在所示实施方案中的网络扩展120中的每一个可以是只可由创建它的客户端访问的私有计算机网络,虽然在其它实施方案中由CNS 105为客户端提供的至少一些计算机网络可以是可公开访问的和/或可以是不是其它现有计算机网络的扩展的独立计算机网络。类似地,虽然在本例中的提供的计算机网络120是作为私有网络的远程客户端计算机网络130的扩展,在其它实施方案中,提供的计算机网络120可以是不是私有网络的客户端计算机网络130的扩展。
在为客户端提供的远程客户端私有计算机网络130和相应的私有计算机网络扩展120之间的私有访问可以用各种方式实现,例如通过在它们之间建立VPN连接或允许以私有方式通过私有网络100相互通信的其它私有连接。例如,CNS 105可例如通过自动配置由CNS105托管的一个或多个VPN机制(例如,软件和/或硬件VPN机制)在网关设备122和/或其它计算系统上自动执行适当的配置以实现对客户端的特定私有网络扩展120的VPN访问,和/或可给客户端自动提供适当的配置信息(例如,证书、访问点、经由电子分发的软件VPN程序、经由物理分发的硬件VPN设备、和/或其它参数)以允许在远程客户端私有网络130上托管的VPN机制建立VPN访问。这样的VPN连接可在相应的网关设备122和132之间直接建立,或这样的网关设备替代地使用由其它计算系统维持的VPN连接。在VPN访问被适当地实现和/或配置之后,VPN连接可在远程客户端私有网络和私有网络扩展之间建立,例如由使用IPsec(互联网协议安全)或其它适当的通信技术的客户端发起。例如,在一些实施方案中,可建立到使用用于数据传输的MPLS(多协议标签交换)的网络或在所述网络之间的VPN连接或其它私有连接,例如代替基于Ipsec的VPN连接。
此外,在所示实施方案中,各种网络可访问远程资源服务140对公共网络100上的远程计算系统,包括在远程客户端私有网络130上的计算节点140,是可用的。资源服务140可向远程计算节点提供各种功能,例如使资源服务140中的至少一些给远程计算节点提供对各种类型的计算相关的资源的访问。此外,由CNS 105提供的私有网络扩展120中的至少一些可配置成提供对远程资源服务140中的至少一些的访问,提供的访问可选地表现对私有网络扩展120的计算节点124,该访问经由作为私有网络扩展120的一部分的虚拟连接115在本地提供,虽然与远程资源服务140的实际通信可通过公共网络100出现(例如,经由互连100b和100c)。此外,在至少一些实施方案中,NMM模块125可配置成使用资源服务140中的一个或多个作为计算节点的动态迁移的一部分,例如以暂时存储软件程序和/或其它数据作为动态迁移的一部分。
提供的网络扩展120可每个由客户端以各种方式配置。例如,在至少一些实施方案中,CNS 105提供可由被提供给客户端的网络扩展加以使用的多个计算节点,从而每个提供的网络扩展120可包括客户端配置的数量的多个这样的计算节点,其专门用作提供的网络扩展的一部分。特别是,客户端可与模块110交互以配置被最初包括在为客户端提供的计算机网络中(例如,经由与CNS 105提供的API的一个或多个编程的交互)的多个计算节点。此外,在至少一些这样的实施方案中,计算节点可以后动态地添加到客户端的提供的计算机网络或从该网络移除(例如,经由与CNS 105提供的API的一个或多个编程的交互),例如在提供的计算机网络已经由客户端使用(例如,通过指示开始或终止在特定计算节点上的特定程序的执行)之后。此外,CNS 105可在至少一些实施方案中提供多种不同类型的计算节点,例如具有各种性能特征(例如,处理器速度、可用内存、可以存储器等)和/或其它能力的计算节点。如果是这样,在至少一些这样的实施方案中,客户端可指定将包括在该客户端的提供的计算机网络中的计算节点的类型。此外,在至少一些实施方案中,客户端可与模块110交互以配置为客户端提供的计算机网络的网络地址(例如,经由与CNS 105提供的API的一个或多个编程的交互),并且在至少一些这样的实施方案中,可稍后为客户端的提供的计算机网络动态地添加、移除或修改网络地址,例如在提供的计算机网络已经由客户端使用之后。此外,在至少一些实施方案中,客户端可与模块110交互以配置为客户端提供的计算机网络的网络拓扑信息(例如,经由与CNS 105提供的API的一个或多个编程的交互),并且在至少一些这样的实施方案中,可稍后为提供的计算机网络动态地修改这样的网络拓扑信息,例如在提供的计算机网络已经由客户端使用之后。此外,在至少一些实施方案中,客户端可与模块110交互以配置为客户端提供的计算机网络的各种网络访问约束信息(例如,经由与CNS 105提供的API的一个或多个编程的交互,例如以限制或实现对其它计算系统135和/或计算关联的资源服务140的访问),并且在至少一些这样的实施方案中,可稍后为提供的计算机网络动态地修改这样的网络访问约束信息,例如在提供的计算机网络已经由客户端使用之后。在至少一些实施方案中,NMM模块125可类似地配置成与模块110交互以代表特定的客户端执行提供的计算机网络120的一些或全部这样的配置,例如促进那些客户端的客户端私有网络130的一些或全部计算节点的动态迁移。
可在各种实施方案中以各种方式为提供的计算机网络120配置网络地址。例如,如果正被配置的特定的提供的计算机网络为现有远程客户端计算机网络的扩展,客户端可指定作为由现有远程客户端计算机网络所使用的网络地址的子集的一个或多个地址范围(例如,无类别域间路由(CIDR)地址块)或其它组的网络地址,使得指定的网络地址用于提供的计算机网络的计算节点。这样配置的网络地址可在一些情况下是不可直接从公共网络100上的计算系统寻址的虚拟或私有网络地址(例如,如果现有远程客户端计算机网络和相应的提供的网络扩展对客户端计算机网络及其提供的网络扩展使用网络地址转换技术和/或虚拟联网技术),而在其它情况下,所配置的网络地址中的至少一些可以是可直接从公共网络100上的计算系统寻址的公共网络地址(例如,作为静态互联网可路由的IP地址或其它无变化的网络地址的公共网络地址)。在其它实施方案中,CNS 105可例如基于由CNS 105加以使用的网络地址,基于选择作为由相应于提供的计算机网络的远程现有计算机网络所使用的有关网络地址的网络地址,等等,来自动选择用于至少一些提供的计算机网络扩展的至少一些计算节点的网络地址。此外,如果CNS 105提供的计算机网络中的两个或多个配置成实现提供的计算机网络之间的相互通信(例如,对于提供到单个客户端的两个或多个计算机网络,例如对于在单个组织内的不同部门或组;对于提供到两个或多个不同的用户的两个或多个计算机网络,等等),CNS 105可在一些实施方案中自动选择用于那些提供的计算机网络的至少一些计算节点的网络地址,以例如通过使用各种提供的计算机网络的不同网络地址来促进相互通信。此外,在CNS 105向客户端提供各种网络的至少一些实施方案中,例如通过使用在基础网络上的覆盖网络,每个客户可被允许指定将用于其提供的计算机网络的任何网络地址(或对于提供的计算机网络120的特定计算节点124,例如对于复制以前由迁移的计算节点134使用的网络地址的备用计算节点),即使多个客户端指定其各自的提供的计算机网络的相同或重叠的网络地址一一在这样的实施方案中,CNS 105为每个客户端不同地管理网络地址,从而第一客户端可具有与第一客户端的提供的计算机网络的特定的指定网络地址关联的第一计算节点,而不同的第二客户端可具有与第二客户端的提供的计算机网络的相同特定的指定网络地址关联的不同的第二计算节点。一旦为提供的计算机网络配置或以其它方式确定了网络地址,CNS 105就可例如以随机的方式通过使用DHCP(动态主机配置协议)或用于动态分配网络地址的其它技术等将网络地址分配给对提供的计算机网络选择的各种计算节点。
可在各种实施方案中以各种方式为提供的计算机网络配置网络拓扑信息。例如,客户端可将特定类型的联网设备(例如,路由器、交换机等)和/或其它网络设备或节点(例如,负载平衡器、防火墙、代理、网络存储设备、打印机等)指定为提供的计算机网络的一部分,和/或可指定提供的计算机网络的计算节点的子集分组在一起或以其它方式共享公共相互通信特征(例如,作为相互通信未被过滤的子网的一部分和/或与特定联网设备关联的计算节点的特定子集,作为由NMM负载平衡器模块管理的组的一部分的计算节点的特定子集,等等)。在这样的实施方案中,指定联网设备的功能可通过物理上提供这样的联网设备由CNS 105为特定的提供的计算机网络120提供,或替代地通过虚拟地提供这样的功能而没有物理上提供这样的联网设备来提供,如下面更详细讨论的。以这样的方式,当整个客户端私有网络130动态地和递增地迁移到相应的提供的计算机网络120时,CNS 105可实现客户端私有网络130的联网设备以及计算节点的迁移,从而全部客户端私有网络130可在整个网络迁移完成之后被关闭。
此外,在至少一些实施方案中,提供的计算机网络的指定的配置信息可包括路由信息或在联网设备和/或计算设备组之间的其它互连信息。此外,在至少一些实施方案中,CNS 105可提供在多个地理位置上(例如,在多个地理上分布的数据中心中)的可用计算节点,且由客户端对提供的计算机网络指定的配置信息可进一步指示提供的计算机网络的计算节点将位于的一个或多个地理位置(例如,以通过使提供的计算机网络的计算节点位于多个地理位置上而提供在它们中间的故障容忍),和/或可以其它方式提供关于提供的计算机网络的计算节点将如何协同工作的、由CNS 105使用来选择一个或多个这样的地理位置的偏好或需要的信息(例如,用于计算节点相互通信的最小或最大网络时延或带宽;在计算节点之间的最小或最大网络接近度;在计算节点之间的最小或最大地理接近度;局部访问在全部这样的地理位置上不可用的特定资源或功能;具有相对于其它外部计算系统例如客户端的远程计算机网络和/或远程资源服务的指定位置;基于获得特定计算节点的使用的成本和/或对于与特定计算节点的交互的特定类型例如与将数据提供到那些计算节点和/或从那些节点提供数据关联的成本的约束或其它偏好,等等)。
如在其它地方更详细地讨论的,在至少一些实施方案中,使用CNS 105的下层基础网络来管理在提供的计算机网络的计算节点之间的互连和相互通信,并且如果是这样,可在至少一些这样的实施方案中使用下层基础网络和CNS 105的相应模块来模拟所配置的网络拓扑信息中的一些或全部。例如,由CNS 105提供的计算节点中的每一个可与CNS 105的节点通信管理器模块(未示出)关联,该节点通信管理器模块管理到和来自其关联的计算节点的通信。如果是这样,例如可通过使用计算节点的关联通信管理器模块来模拟防火墙设备,以用与一个或多个模拟的防火墙设备一致的方式禁止或以其它方式处理到和/或来自计算节点的通信。这样的节点通信管理器模块可通过控制相互通信如何和是否在计算节点之间传递并通过使用适当的响应信息响应于来自计算节点的对信息的请求(例如,ARP请求)来类似地模拟路由器和子网。CNS 105的一个或多个外部通信管理器模块(未示出)可管理在CNS 105提供的计算节点和外部计算系统之间的通信,例如以类似地模拟防火墙设备并加强规定的网络访问约束,以及管理远程资源服务的所配置的访问机制和到远程客户端私有计算机网络的私有连接。可类似地模拟其它类型的网络拓扑信息。
可在各种实施方案中以各种方式为提供的计算机网络配置网络访问约束信息。例如,客户端可例如基于下列项的一个或多个来指定关于提供的计算机网络的计算节点中的一些或全部是否和如何被允许与提供的计算机网络的其它计算节点和/或与其它外部计算系统进行通信的信息:通信的方向(进入与外发);通信的类型(例如,基于所包括的内容的类型和/或所使用的通信协议的类型,例如以允许对文本的HTTP请求但不管理且不允许FTP请求);其它计算系统的位置(例如,是否是提供的计算机网络的一部分,相应于提供的计算机网络的远程客户端计算机网络的一部分,对其的访问被建立的远程资源服务的一部分,在提供的计算机网络和任何相应的远程客户端计算机网络的外部,等等);其它计算系统的类型,等等。以与对网络拓扑信息和其它路由信息的方式类似的方式,CNS 105可用各种方式加强对提供的计算机网络的网络访问约束信息。
为了例证的目的,下面描述一些实施方案,其中特定类型的计算节点、网络、通信和配置操作被执行。这些实例为了例证的目的而被提供并且为了简洁起见而被简化,并且发明性技术可在各种其它情况下使用,下面描述其中一些情况。例如,在一些实施方案中,由客户端创建并配置来访问的计算机网络是那些客户端的现有私有计算机网络的私有计算机网络扩展,而在其它实施方案中,所创建和配置的计算机网络可以是不是其它计算机网络的扩展的独立的计算机网络,和/或可以是不可由客户端私下访问的、代表该客户端创建和配置的公共计算机网络。此外,在一些实施方案中,由可配置网络服务提供的特定计算机网络可配置成实现对可配置网络服务提供的其它计算机网络的秘密访问或与其它计算机网络的其它相互通信,而在其它实施方案中,可以不提供在多个提供的计算机网络之间的这样的相互通信。此外,在一些实施方案中,由可配置网络服务提供的计算机网络使用由可配置网络服务提供并控制的计算节点,而在其它实施方案中,用于提供的计算机网络的至少一些这样的计算节点可由其它方(例如,由第三方、由客户端等)控制或维持,但可以由可配置网络服务加以利用。例如,在一些实施方案中,NMM模块可访问并使用由多个不同的可配置网络服务提供并控制的计算节点,这些可配置网络服务的计算节点在与NMM模块和/或其迁移由NMM模块促进的一个或多个计算节点的位置不同的一个或多个地理位置上(例如,基于直接与多个不同的可配置网络服务交互的NMM模块,基于来自第一实体的特定的可配置网络服务,第一实体通过与来自第二实体的另一可配置网络服务交互来向NMM模块提供功能,以代表NMM模块从该第二可配置网络服务获得功能,等等),例如以提供该组的计算节点的特定程度的地理分布。
图1B示出关于可由CNS 105(或网络可访问服务的其它实施方案)为客户端提供的示例性计算机网络120a的附加细节,在本例中提供的计算机网络120a是客户端的远程私有计算机网络例如图1A的远程私有计算机网络130中的一个的私有网络扩展。在本实例中,提供的计算机网络120a的各种连接和通信路径以概念方式示出以说明可配置访问约束和网络拓扑的类型,并且图2示出关于可用于创建提供的计算机网络例如示例性提供的计算机网络120a的下层基础网络的实例。此外,在本实例中,与提供的计算机网络120a关联的NMM模块164被示为网络120a的一部分,虽然在其它实施方案中,NMM模块可以不是提供的计算机网络120a的一部分或甚至被提供为CNS105的一部分。
特别是,在图1B中,提供的计算机网络120a包括由CNS 105提供的位于第一地理位置1160处(例如,在地理位置1处的第一数据中心处)的各种计算节点,各种计算节点在本例中被配置在逻辑组165和166中(例如,以相应于不同的子网和/或关联的所配置的联网设备,未示出)。在本实例中,示出了在地理位置1处的单个概念虚拟路由器162以控制在那些计算节点和其它计算系统之间的通信,以便说明可能出现的不同类型的通信,虽然提供的计算机网络120a可实际上在地理位置1处有多个或没有配置的联网设备,并且可通过使用下层基础网络和在下层基础网络上控制通信的关联模块等,由在地理位置1处的可配置网络服务以各种方式例如经由多个物理互连的路由器或其它联网来实现计算机网络120a。在本实例中,虚拟路由器162根据提供的计算机网络120a的所配置的信息,包括所配置的网络拓扑信息、对远程资源服务的所配置的访问、以及其它所配置的网络访问约束信息,操作,例如以将发送到提供的计算机网络120a内的网络地址的通信路由到在提供的计算机网络120a上的相应的目的计算节点,并且在适当时将其它通信路由到提供的计算机网络120a之外的其它网络地址。此外,所配置的防火墙不允许的通信、所配置的网络拓扑信息或其它所配置的网络访问约束可由虚拟路由器162阻止或以其它方式管理。
在本实例中,为示例性客户端1提供计算机网络120a,并且计算机网络120a是客户端1的远程计算机网络的网络扩展。客户端1的远程计算机网络包括在第一远程位置SiteA190处的多个计算节点191,以及网关设备192和一个或多个物理路由器联网设备195,并且虚拟路由器162配置成经由网关设备192和163之间的虚拟通信链路170与那些多个计算节点通信。例如,如在其它地方更详细地讨论的,提供的计算机网络120a可包括到Site A 190处的多个计算系统的一个或多个所配置的VPN连接,并且通信链路170可相应于一个或多个这样的VPN连接。此外,当一个或多个计算节点165和/或166是对以前作为计算节点191的一部分的迁移的计算节点的备用计算节点时,NMM模块164可配置网关设备192和163以经由虚拟通信链路170将通信从其它计算节点路由到在提供的计算机网络120a处的那些备用计算节点165和/或166中的一个或多个,并且类似地经由虚拟通信链路170将通信从在提供的计算机网络120a处的那些备用计算节点165和/或166路由到计算节点191。
此外,客户端1的远程计算机网络可以可选地包括在一个或多个其它位置例如所示的任选Site B193处的计算节点,并且如果是这样,在Site A190处和Site B193处的计算节点可经由一个或多个通信链路(未示出)例如经由互联网196和/或一个或多个私有连接来互连——在这种情况下,NMM模块164可类似地配置网关设备163和在Site B处的网关设备(未示出),以例如经由在Site A和B之间的那些一个或多个通信链路和/或经由到SiteB193的任选的虚拟通信链路172(例如,经由直接到Site B的一个或多个其它所配置的VPN连接)来路由在Site B193处的计算节点(未示出)和备用计算节点165和/或166之间的通信。当多个VPN连接或其它私有连接用于远程计算机网络的远程计算系统时,每个连接可相应于远程计算系统的子集(例如,通过与相应于那些远程计算系统的远程计算机网络的网络地址的子集关联),以便使通信路由到适当的连接。在其它实施方案中,多个VPN连接或其它私有连接可用于在一个或多个位置处的远程计算系统,但每个可支持到远程计算系统中的任意一个的通信,例如如果多个连接是冗余的备选连接(例如,用于负载平衡)。此外,在一些实施方案中,客户端的远程计算机网络可包括在多个位置处的多个计算系统,但可只使用到远程计算系统的单个VPN连接或其它私有连接,远程计算机网络负责将通信路由到适当的位置和计算系统。
此外,提供的计算机网络120a可配置成允许在提供的计算机网络120a的计算节点和通常在互联网196或其它公共网络上可访问的其它外部计算系统之间的全部、一些或没有通信。如果至少一些这样的外部通信被允许,则虚拟路由器16还可配置成例如结合提供的计算机网络120a的任选的虚拟边界路由器155,经由提供的计算机网络120a的任选的虚拟通信链路178与那些外部多个计算系统通信。虚拟边界路由器155可以通过使用下层基础网络和通过下层基础网络控制通信的关联模块(例如,以防止不允许的通信由提供的计算机网络120a的计算节点发送到基础网络)等,例如使用管理外部计算系统和在地理位置1处的CNS 105所提供的各种计算节点之间的通信的一个或多个实际防火墙设备或边界路由器设备(例如,支持由CNS 105提供到使用CNS 105的那些计算节点的客户端的很多计算机系统的实际设备)由CNS 105以各种方式物理地实现。此外,虚拟边界路由器155可进一步在概念上帮助管理到在提供的计算机网络120a外部的其它计算系统例如到在Site A和B处的远程客户端计算机网络、到一个或多个远程资源服务等的其它通信。
此外,提供的计算机网络120a可配置成例如通过指定提供的计算机网络120a的一个或多个网络地址以表示那些一个或多个远程资源服务,并且通过可选地配置将对发送到那些指定的网络地址的通信采取的特定行动,来提供对一个或多个远程资源服务的私有或其它专门的访问。在本实例中,虚拟路由器162配置成经由提供的计算机网络120a的虚拟通信链路174来提供对远程资源服务194的本地访问。因此,例如,如果提供的计算机网络120a的计算节点中的一个将通信发送到映射到通信链路174的提供的计算机网络120a的特定网络地址,虚拟路由器可将该通信转发到在提供的计算机网络120a外部的远程资源服务194(例如,经由互联网或其它公共网络)。在其它实施方案中,远程资源服务194可实施作为CNS105的一部分或以其它方式在地理位置1处的接口,并且如果是这样,发送到映射到通信链路174的提供的计算机网络120a的特定网络地址的通信替代地转发到远程资源服务的那个接口用于处理。此外,虚拟通信链路174可在至少一些实施方案中配置成以各种方式管理经由该链路发送的通信,例如以在那些通信被转发到远程资源服务194之前以一种或多种方式修改它们,或以其它方式以专门的方式访问远程资源服务194。例如,在所示实施方案中,虚拟通信链路174可配置成相应于远程资源服务194内的特定命名空间,由远程资源服务194提供的计算机关联的资源的子集是该命名空间的一部分,或替代地配置成相应于通过可配置网络服务或通过远程资源服务194与提供的计算机网络120a关联的一个或多个特定的标识符或其它访问控制指示符。此外,如果虚拟通信链路174配置成相应于特定的命名空间或以其它方式相应于远程资源服务194提供的资源的子集,则提供的计算机网络120a可以可选地进一步配置成包括一个或多个其它虚拟通信链路,其也相应于同一远程资源服务194但配置成以其它方式访问远程资源服务194,例如如果提供的计算机网络120a可选地包括配置成以与虚拟通信链路174的方式不同的方式访问远程资源服务194的不同的虚拟通信链路176(例如,以相应于不同的第二命名空间,不相应于任何特定的命名空间,使用不同于用于通信链路174的客户标识符的远程资源服务194的用户的标识符,等等)。
在所示实施方案中,除了在地理位置1处的CNS 105的计算节点以外,提供的计算机网络120a还可可选地包括由CNS 105提供的位于第二地理位置2180处(例如,在地理位置1处的不同的第二数据中心处)的计算节点184。因此,虚拟路由器162可配置成包括到提供的计算机网络120a的在地理位置2处的一部分的任选的虚拟通信链路168。在本例中,提供的计算机网络120a的在地理位置2处的一部分的类似地被示为使用概念虚拟路由器182来管理到和来自计算节点184的通信,包括经由虚拟通信链路188与提供的计算机网络120a的在地理位置1处的一部分通信。可在各种实施方案中以各种方式来处理CNS 105的在不同的地理位置处的计算节点之间的这样的通信,例如通过经由互联网或其它公共网络(例如,作为例如使用由CNS 105支持的加密的安全隧道的一部分)发送通信,通过以秘密安全的方式或其它秘密方式发送通信(例如,经由地理位置之间的私有释放线路),等等。此外,虽然没有在这里示出,提供的计算机网络120a的在地理位置2处的一部分的可类似地包括对地理位置1处的一部分示出的相同类型的其它虚拟通信链路中的一些或全部,例如到远程客户端私有网络(例如,经由在位置2处的网关设备和/或不同于到地理位置1的任何VPN连接的一个或多个VPN连接)、到远程资源服务、到互联网等的通信链路。
在提供的计算机网络120a包括在多个地理位置处的计算节点或以其它方式包括关于一个或多个属性不同的计算节点的这种情况下,当NMM模块促进计算节点191到备用计算节点165、166或184的动态迁移时,NMM模块164可在一些实施方案中进一步配置成在提供的计算机网络120a处的可用来用作对该迁移的备用计算节点的特定的候选计算节点或特定类型的计算节点(例如,基于那些计算节点的属性,基于到那些计算节点的距离或那些计算节点与其它指示的计算相关的资源的其它关系,等等)之间选择,或以其它方式提供与这样的候选备用计算节点有关的用于通过客户端1的这种选择来使用的信息,如在其它地方更详细讨论的。
将认识到,图1B的示例性提供的计算机网络120a为了示例性的目的而被包括,并且由CNS 105为客户端提供的其它计算机网络可以不包括全部类型的所配置的通信链路和网络拓扑信息,和/或可包括在这里未示出的其它类型的所配置的通信链路和网络拓扑信息。例如,在一些实施方案和情况中,提供的计算机网络除了或代替计算节点外还可包括所配置的设备和其它资源,并且如果是这样,每个这样的其它资源可以可选地被分配提供的计算机网络的网络地址。此外,图1B所示的概念设备和通信链路可使用各种类型的下层物理设备、连接和模块来实施。此外,虽然在这里未示出,客户端可执行与远程资源服务的各种其它交互,不管是从提供的计算机网络还是替代地从其它远程计算系统,例如以签署/注册来使用资源,接收/创建各种证书(例如,用户ID、口令等),从其它远程计算系统(例如,其是远程私有公司网络的一部分)创建以后从提供的计算机网络(例如,私有公司网络的网络扩展)访问的资源和/或命名空间,等等。
图2是示出在例如通过可配置网络服务的实施方案提供计算机网络时使用的计算系统的示例性实施方案的网络图。特别是,在本实例中,很多物理计算系统协同定位在数据中心200中,并且经由各种物理联网设备和一个或多个物理网络互连。物理计算系统和其它设备在本例中由可配置网络服务使用来通过建立并且维持提供的计算机网络中的每一个作为虚拟网络并且通过使用物理网络作为虚拟网络所覆盖的基础网络而为客户端提供多个计算机网络。例如,关于图1B的实例,数据中心200可位于地理位置1处,并且所示物理计算系统可用于提供所提供的计算机网络120a的计算节点165和166。在至少一些实施方案中,覆盖网络和下层基础网络的使用对提供的计算机网络的计算节点可以是透明的。
此外,一个或多个NMM模块可位于不同的位置,并可使用提供的计算机网络作为提供用于促进计算机网络计算节点的动态迁移的功能的一部分。例如,一个或多个这样的NMM模块可每个是私有网络240的一部分,并且经由公共网络235与在数据中心200处的相应的提供的计算机网络通信,或替代地与在数据中心260处的直接连接到公共网络235的一个或多个其它计算系统245b或其它计算系统关联。虽然没有在这里示出,但是在一些实施方案中,在数据中心200处的计算系统还可包括一个或多个这样的NMM模块,其可通过内部网络220与管理器模块210交互,以便促进计算机网络计算节点的动态迁移。
在本实例中,由可配置网络服务提供的计算机网络被实施为经由下层物理基础网络发送通信的虚拟覆盖网络。可在各种实施方案中以各种方式实施提供的虚拟覆盖网络,例如在一些实施方案中没有封装通信(例如,通过在为物理基础网络的联网协议配置的通信中嵌入虚拟网络的虚拟网络地址信息)。作为一个例证性的实例,虚拟网络可使用32位Ipv4(互联网协议版本4)网络地址来实施,并且那些32位虚拟网络地址可被嵌入作为由物理基础网络使用的128位Ipv6(互联网协议版本6)网络地址的一部分,例如通过给通信分组或其它数据传输重新加报头(例如,使用无国家IP/ICMP转换或SIIT)或以其它方式修改这样的数据传输以将它们从它们被配置用于的第一联网协议转换到不同的第二联网协议。作为另一说明性实例,虚拟网络和基础网络都可适使用同一网络寻址协议(例如,Ipv4或Ipv6)来实施,且使用虚拟网络地址经由提供的虚拟覆盖网络发送的数据通信可被修改以使用相应于基础网络的不同的物理网络地址,而传输通过基础网络被发送,但原始虚拟网络地址存储在所修改的数据传输中或以其它方式被跟踪,以使数据传输在退出基础网络时可被再次存储到其原始形式。在其它实施方案中,覆盖网络中的至少一些可使用通信的封装来实施。
图2的所示实例包括具有由可配置网络服务的实施方案操作的多个物理计算系统的数据中心200。数据中心200连接到在数据中心200外部的一个或多个公共网络235,其经由私有网络240提供对一个或多个远程计算系统245a、对一个或多个其它本地可访问的数据中心260(每个具有在其它地理位置处的多个计算系统)、以及对一个或多个其它远程计算系统245b的访问。公共网络235可例如是可能由各种不同方操作的网络的可公开访问的网络例如互联网,并且私有网络240可以是例如从在私有网络240外部的计算系统完全或部分地不可访问的公司网络。计算系统245b可每个是例如直接连接到互联网的家庭计算系统(例如,经由电话线、电缆调制解调器、数字用户线(DSL)等)。
在本实例中,虚拟的提供的计算机网络的配置由可配置网络服务的管理器模块210促进,并且可配置网络服务的多个其它模块用于通过修改进入和/或离开基础网络的通信例如从物理基础网络的边缘实现提供的计算机网络的功能。特别是,在本实例中,可配置网络服务的多个节点通信管理器模块每个管理到和来自关联计算节点例如所示节点通信管理器模块209a、209b和250的通信,如下面更详细讨论的。此外,在本实例中,可配置网络服务的外部通信管理器模块270管理在数据中心200内的物理计算系统和外部计算系统之间的通信,如下面更详细讨论的。虽然在本例中只示出单个外部通信管理器模块270,但是将认识到,模块270的功能可使用多个设备来实施。
示例性数据中心200包括很多物理计算系统205a-205d和225a-225n,以及在一个或多个其它计算系统(未示出)上执行来管理对关联计算系统225a-225n的通信的CNS节点通信管理器模块250,以及在一个或多个计算系统(未示出)上执行的可配置网络服务的管理器模块210。在本示例性实施方案中,每个物理计算系统205a-205d托管多个虚拟机计算节点,并且还包括虚拟机(VM)节点通信管理器模块(例如,作为物理计算系统的虚拟机管理程序监控器的一部分),例如在计算系统205a上的CNS VM节点通信管理器模块209a和虚拟机207a,在计算系统205d上的CNS VM节点通信管理器模块209d和虚拟机207d。每个虚拟机计算节点可由可配置网络用作为客户端提供的计算机网络的不同的计算节点。在本例中物理计算系统225a-225n不执行任何虚拟机,并且因此可每个充当不同的计算节点,其是由可配置网络服务为客户端提供的计算机网络的一部分。在其它实施方案中,在数据中心处的物理计算系统中的全部或没有一个可托管虚拟机。
该示例性数据中心还包括多个物理联网设备,例如交换机215a和215b、边缘路由器225a-225c以及核心路由器230a-230c。交换机215a是包括物理计算系统205a-205c的物理网络的一部分,并且连接到边缘路由器225a。交换机215b是包括物理计算系统205d、255a-255n、以及提供CNS节点通信管理器模块250和CNS系统管理器模块210的不同物理网络的一部分,并且连接到边缘路由器225b。由交换机215a-215b建立的物理网络又经由中间互连网络220连接到彼此和其它网络(例如,公共网络235),中间互连网络220包括边缘路由器225a-225c和核心路由器230a-230c。边缘路由器225a-225c提供在两个或多个网络之间的网关。例如,边缘路由器225a提供在交换机215a所建立的物理网络和互连网络220之间的网关。边缘路由器225c提供在互连网络220和公共网络235之间的互连。核心路由器230a-230c例如通过在适当时基于其它数据传输(例如,包括源和/或目的基础网络地址的报头信息、协议标识符等)的特征和/或互连网络220本身的特征(例如,基于物理网络拓扑而路由,等等)转发分组或这样的数据传输来管理互连网络220内的通信。
所示节点通信管理器模块管理发送到关联计算节点并且从关联计算节点发送的通信。例如,节点通信管理器模块209a管理关联的虚拟机计算节点207a,节点通信管理器模块209d管理关联的虚拟机计算节点207d,并且其它节点通信管理器模块中的每一个可类似地管理对一组一个或多个其它关联计算节点的通信。所示节点通信管理器模块可管理计算节点之间的通信,以便将多个虚拟网络覆盖在中间物理基础网络(例如,互连网络220和与交换机215a和215b关联的物理网络)上,并且可实施防火墙策略和其它网络访问约束以控制这样的通信。外部通信管理器模块270管理进入和离开数据中心200的外部通信,例如以进一步关于这样的外部通信实施在数据中心200内的基础网络上的覆盖网络。外部通信管理器模块270可采取行动来实施防火墙策略和其它网络访问约束,包括提供的计算机网络的允许对在数据中心220外部的远程资源服务的私有或其它专门访问的至少一些所配置的访问机制,以及可选地到外部远程客户端计算机网络的至少一些VPN连接,或替代地结合实施这样的VPN连接的可配置网络服务的一部分的其它硬件和/或软件(未示出)来操作。
因此,作为一个例证性的实例,在计算系统205a上的虚拟机计算节点207a中的一个可以是客户端的特定的提供的虚拟计算机网络(例如,图1B的提供的计算机网络120a)的一部分,连同计算系统205d上的虚拟机计算节点207d中的一个和计算系统255a(以及可选地在本数据中心中或一个或多个其它数据中心260中的也由可配置网络服务使用的其它计算节点),并且Ipv4用于表示虚拟网络的虚拟网络地址。虚拟机计算节点207a、虚拟机计算节点207d和计算系统255b-255n中的另一个(以及所示计算节点中的另一个)可目前专用于被提供给其它客户端的其它计算机网络,可目前未分配给提供的计算机网络并可由可配置网络服务加以使用,和/或也可以是同一特定的提供的虚拟计算机网络的一部分。在作为特定的提供的虚拟计算机网络的一部分的虚拟机计算节点207a上为客户端执行的程序可接着例如通过指定被分配到目的虚拟机计算节点207d的该提供的虚拟计算机网络的虚拟网络地址,来将外发的通信(未示出)指向特定的提供的虚拟计算机网络的虚拟机计算节点207d。节点通信管理器模块209a接收外发的通信,并且在至少一些实施方案中例如基于关于发送虚拟机计算节点207a和/或关于目的虚拟机计算节点207d的以前配置的信息,和/或通过与系统管理器模块210动态地交互(例如,以获得授权确定,获得一些或全部这样的信息,等等),来确定是否授权外发的通信的发送。
如果节点通信管理器模块209a确定外发的通信被授权(或不执行这样的授权确定),模块209a确定相应于用于通信的目的虚拟网络地址的实际物理基础网络地址。在本实例中,互连网络使用Ipv6来表示经由互连网络连接的计算节点的实际网络地址,并且模块209a给外发的通信重新加报头,以使它使用实际Ipv6基础网络地址指向节点通信管理器模块209d。节点通信管理器模块209a可例如通过与系统管理器模块210动态地交互来确定实际Ipv6目的网络地址以用于目的虚拟计算节点207d的虚拟网络地址,或可先前确定并存储该信息(例如,响应于来自发送虚拟机计算节点207a的对关于该目的虚拟网络地址的信息的在先请求,例如使用ARP的请求)。在本实例中,所使用的实际Ipv6目的网络地址嵌入虚拟目的网络地址和附加信息,以便通过没有封装的覆盖网络发送通信。
当节点通信管理器模块209d经由互连网络220接收通信时,它从实际Ipv6目的网络地址提取虚拟目的网络地址和附加信息,并且确定通信指向哪个虚拟机计算节点207d。节点通信管理器模块209d接着例如通过从实际Ipv6源网络地址提取虚拟源网络地址和附加信息并且确认具有该虚拟源网络地址的计算节点实际上由转发通信的节点通信管理器模块(在本实例中,是节点通信管理器模块209d)管理,来可选地确定是否为目的虚拟机计算节点207d授权通信,以便防止源网络地址被恶意发送者欺骗。如果通信被确定为被授权(或节点通信管理器模块209d不执行这样的授权确定),则模块209d接着给进入的通信重新加报头,以使它例如通过使用发送虚拟机计算节点的虚拟网络地址作为源网络地址并且通过使用目的虚拟机计算节点的虚拟网络地址作为目的网络地址,来使用虚拟网络的适当Ipv4网络地址而指向目的虚拟机计算节点207d。在给进入的通信重新加报头之后,模块209d接着将修改的通信转发到目的虚拟机计算节点。在至少一些实施方案中,在将进入的通信转发到目的虚拟机之前,模块209d也可执行与安全有关的附加步骤。例如,模块209d可例如基于模块209d以前获得的信息或基于与系统管理器模块210的交互来证实发送虚拟机计算节点被授权与目的虚拟机通信(例如,基于属于同一虚拟网络和/或基于对提供的虚拟网络指定的网络访问信息约束,与同一用户或其它实体关联,与不同的实体和/或其计算节点被授权相互通信的计算机网络关联,等等),和/或进入的通信具有被允许的类型。
如果发送虚拟机计算节点207a替代地(或此外)将外发的通信(未示出)指向在数据中心200外部的一个或多个预期的目的计算系统,节点通信管理器模块209a以类似的方式接收并且处理外发的通信。预期的外部目的计算系统可以是例如作为同一特定的提供的虚拟计算机网络的一部分的另一计算节点(例如,在特定的提供的计算机网络是扩展的远程虚拟客户端计算机网络上,或在也由可配置网络服务使用来提供特定的虚拟计算机网络的一部分的另一数据中心260处)、远程资源服务的计算系统、在互联网上可公开访问的计算系统等。在至少一些实施方案和情况中,模块209a可首先确定是否授权外发的通信的发送,并且如果是这样,确定相应于用于通信的目的网络地址的实际物理基础网络位置。在本实例中,所确定的物理基础网络位置相应于外部通信管理器模块270,例如如果模块270与以其它方式不被分配给节点通信管理器模块的全部虚拟和/或实际网络地址关联。当模块270经由互连网络220接收通信时,它类似地从所接收的通信提取目的网络地址和附加信息,并确定是否和如何转发通信,包括可选地确定是否为预期的目的地授权通信。如果通信被确定为被授权(或模块270不执行这样的授权确定),模块270接着给进入的通信重新加报头,以使它使用适当的Ipv4公共网络地址(或适合于公共网络235的其它网络地址)指向目的地,并且接着通过公共网络235转发修改的通信。以这种方式,外部通信管理器270和/或各种节点通信管理器模块可以可选地配置成为提供的虚拟计算机网络提供网关设备的功能中的一些或全部。
因此,如前所述,各种技术可用于提供计算机网络计算节点的动态迁移,包括通过使用作为提供的虚拟计算机网络的一部分的备用计算节点。
如前所述,在至少一些实施方案中,NMM模块可与远程网络可访问服务例如向远程客户端提供虚拟计算机网络的可配置网络服务交互。可配置网络服务或其它网络可访问服务在至少一些实施方案中可以是基于费用的服务,从而网络可访问服务的用户是对网络可访问服务提供的功能中的至少一些向网络可访问服务支付费用的用户。此外,在至少一些实施方案中,由可配置网络服务使用来向客户端提供计算机网络的计算节点可具有各种形式,例如物理计算系统和/或虚拟机,其每个被托管在一个或多个物理计算系统上。例如,在一些实施方案中,可配置网络服务可包括由可配置网络服务提供的大量计算节点,以在提供给客户端的计算机网络中例如在一个或多个地理位置上的一个或多个数据中心中被加以使用。此外,在至少一些实施方案中,由可配置网络服务提供的计算节点中的一些或全部通过一个或多个中间物理网络互连,并且提供给客户端的计算机网络可以是虚拟(或逻辑)网络,其通过使用中间物理网络作为基础网络来覆盖在中间物理网络上。此外,在至少一些实施方案中,计算节点中的至少一些可由程序执行服务(PES)使用,该程序执行服务代表程序执行服务的多个用户或其它用户执行多个程序。下文包括关于计算节点和下层计算机网络的附加细节,并且关于向客户端提供虚拟网络和提供程序执行服务的示例性实施方案的附加细节包括在编号为12/332,214(律师档案号120137.599)的,2008年12月10日提交的并且题目为“Providing Access to Configurable Private Computer Networks”的美国专利、编号为11/394,595(律师档案号120137.524)的,2006年3月31日提交的并且题目为“Managing Communications Between Computing Nodes”的美国专利、编号为11/395,463(律师档案号120137.525)的,2006年3月31日提交的并且题目为“Managing Executing ofPrograms by Multiple Computing Systems”的美国专利、编号为11/692,038(律师档案号120137.554)的,2006年3月27日提交的并且题目为“Configuring IntercommunicationsBetween Computing Nodes”的美国专利、编号为11/060,074(律师档案号120137.576)的,2008年3月31日提交的并且题目为“Configuring Communications Between ComputingNodes”的美国专利、以及编号为11/764,739(律师档案号120137.555)的,在2008年6月18日提交的并且题目为“Providing Enhanced Access To Remote Services”的美国专利中,这些专利中的每一个通过引用被全部并入本文。
因此,如关于图2所述的,在至少一些实施方案中,网络可访问可配置网络服务通过使用下层基础网络将虚拟计算机网络实施为覆盖网络例如使用可配置网络服务的各种通信管理器模块来向客户端提供虚拟计算机网络。可配置网络服务的一个或多个系统管理器模块可例如通过跟踪和/或管理哪些计算节点属于哪些提供的虚拟网络并通过提供关于相应于用于特定的虚拟网络的虚拟网络地址(例如,通过特定用户或其它实体)的实际物理基础网络地址的信息来进一步促进配置计算节点之间的通信。此外,系统管理器模块可接收在目标物理计算系统上的虚拟机计算节点和虚拟机所关联的提供的虚拟网络的指示,并且接着开始为目标物理计算节点配置虚拟机节点通信管理器模块,以便使虚拟机与虚拟网络关联,或节点通信管理器模块替代地开始该配置(例如,当虚拟机首先发起或接收通信时)。在一些实施方案中,系统管理器模块和/或关联的节点通信管理器模块可进一步以各种方式参与供应提供的虚拟网络的特定虚拟机计算节点(例如,响应于来自用户的与代表这样的用户的提供的虚拟网络和/或NMM模块关联的指令),例如以采取所指示的行动,以使虚拟机计算节点在与提供的虚拟网络关联的用户开始该执行时准备执行一个或多个软件程序,和/或开始代表用户在虚拟机计算节点上执行一个或多个所指示的软件程序。
图3是示出适合于提供促进计算机网络计算节点的动态迁移的功能的示例性计算系统的方框图。特别是,图3示出适合于执行促进计算机网络计算节点的动态迁移的NMM模块的实施方案的计算系统300、以及各种客户端计算系统350、计算节点360、网关计算设备370、和其它计算系统380。虽然没有在这里示出,但是在一些实施方案中,所示计算系统、设备和节点中的至少一些可以例如通过作为单个计算机网络的一部分和/或在公共数据中心处而被协同定位或以其它方式关联在一起(例如,计算系统300、以及计算节点360和网关设备370的至少一些),如关于图1B和2更详细描述的。此外,虽然没有在这里示出,但是可配置网络服务可例如从其它计算系统380中的一个或多个由NMM模块访问并且在至少一些实施方案中被使用,并且如果是这样,计算节点360和网关设备370中的至少一些可由可配置网络服务提供并且定位成远离计算节点360和网关设备370中的另一些。
在所示实施方案中,计算系统300具有包括CPU305、各种I/O部件310、存储器320和内存330的部件。所示I/O部件包括显示器311、网络连接312、计算机可读介质驱动器313和其它I/O设备315(例如,键盘、鼠标、扬声器等)。此外,所示客户端计算系统350具有类似于服务器计算系统300的部件的部件,包括CPU351、I/O部件352、存储器354和内存357。其它计算系统380、网关设备370和计算节点360也可每个包括与关于服务器计算系统300示出的部件中的一些或全部类似的部件,但为了简洁起见这样的部件在本实例中没有示出。此外,网络迁移管理器(NMM)模块340的实施方案在内存330中执行。虽然NMM模块在本实例中被示为所配置的通用计算系统的一部分,但是在其它实施方案中,计算系统300替代地是设计和/或配置成提供NMM模块的能力的专用设备。
执行的NMM模块通过一个或多个网络390与其它计算系统、设备和节点交互(例如,经由互联网和/或万维网,经由私有蜂窝网络,经由由可配置网络服务使用的私有基础网络,等等)。在本示例性实施方案中,模块340促进一个或多个发端计算机网络的计算节点360中的至少一些到作为其它目的计算机网络的一部分的其它备用计算节点360的动态迁移。发端和目的计算机网络(未示出)中的每一个,以及可选地其它计算系统380中的至少一些可与一个或多个特定的用户或其它实体(未示出)关联,并且这样的用户(或代表该实体的用户)可使用客户端计算系统350中的一个来配置和访问这样的计算机网络的计算节点和计算系统。这样的用户可类似地与NMM模块340交互,以例如通过提供关于发端计算机网络及其计算节点的信息、通过可选地提供关于目的计算机网络的信息、通过提供已被迁移或NMM模块340将迁移的特定计算节点的指示,来发起和配置计算机网络计算节点的动态迁移,以提供关于客户端的信息(例如,联系信息、支付信息等),提供相应于NMM模块340提供的服务的操作的支付,等等。
此外,NMM模块340可采取各种行动来动态地促进在不同时间计算机网络计算节点的递增迁移。在所示实施方案中,模块340可访问关于NMM模块动态地促进计算机网络计算节点的迁移的客户端的各种信息326、关于那些客户端的发端和目的计算机网络的信息322、以及关于迁移的计算节点和备用计算节点的位置和其它关联信息的信息324。各种信息可从客户端和从与发端和目的计算机网络的交互收集,例如模块340请求和收集(例如,周期性地)和/或被推到模块340(例如,周期性地,当所关注的事件出现时,等等)的计算节点状态信息。此外,NMM模块可使用计算节点信息324例如通过在适当时给那些网关设备的每个提供在转发在发端和目的计算机网络的计算节点之间的通信时使用的信息374,来帮助配置支持参与计算机网络计算节点的动态迁移的发端和目的计算机网络的网关设备370。NMM模块可在至少一些实施方案和情况中进一步执行与一个或多个可配置网络服务的各种交互,例如以配置由可配置网络服务提供的网关设备,将计算节点360添加到由可配置网络服务提供的计算机网络以用作备用计算节点,发起备用计算节点的供应,等等。例如,其它计算系统380可包括可用来在提供的计算机网络中使用的这样的可配置网络服务的计算系统,例如主机计算系统,该主机计算系统可每个托管一个或多个计算节点。在一些这样的情况下,客户端计算系统350的用户可首先与可配置网络服务交互,以从可配置网络服务配置特定的虚拟计算机网络(例如,作为客户端的物理计算机网络的扩展),并且可提供信息322以使该虚拟计算机网络与客户端的计算机网络关联。在其它情况下,模块340替代地配置成与可配置网络服务交互以创建由模块340使用的一个或多个这样的虚拟计算机网络,例如代表特定的客户端使用来自可配置网络服务的特定的提供的虚拟计算机网络。
其它计算系统350和380、网关设备370和计算节点360可执行各种软件作为与模块340的交互的一部分。例如,客户端计算系统350中的一些或全部可每个执行存储器357中的软件以与模块340交互(例如,作为网页浏览器或专门的客户端应用程序的一部分),例如使客户端计算系统的用户能够配置模块340的关于与用户关联的一个或多个计算机网络的操作。此外,客户端计算系统350中的一些或全部和/或其它计算系统380可每个执行存储器357中的软件以例如经由VPN连接代表客户端与可配置网络服务为客户端提供的计算机网络交互,该VPN连接将作为客户端的远程网络的一部分的多个其它计算系统380连接到作为客户端的远程网络的提供的计算机网络扩展的一部分的多个计算节点360。此外,计算节点360中的一些和/或其它计算节点380可执行软件模块(未示出)以帮助提供模块340的功能,例如帮助管理发送到计算节点和从计算节点发送的通信并将关于那些计算节点的状态信息提供到模块340的通信管理器模块,或类似地包括向模块340提供这样的状态信息的软件的计算节点360。类似地,网关设备370中的一些或全部可类似地执行软件模块(未示出)以帮助提供模块340的功能,例如促进网关设备的NMM模块340的配置的软件模块。此外,其它计算节点380可执行其它功能,例如执行各种用户可用的远程资源服务。
将认识到,计算系统300、350和380、网关计算设备370和计算节点360仅仅是例证性的,而不是用来限制本发明的范围。计算系统、设备和/或节点可替代地每个包括多个交互的计算系统或设备,并且计算系统/设备/节点可连接到未示出的其它设备,包括通过一个或多个网络例如互联网,经由Web或经由私有网络(例如,移动通信网络等)。更一般地,计算节点、计算设备或其它计算系统可包括可交互并且执行所述类型的功能的硬件或软件的任何组合,没有限制地包括膝上型计算机或其它计算机、数据库服务器、网络存储设备、网络路由器和其它联网设备、PDA、蜂窝电话、无线电话、寻呼机、电子组织器、互联网器具、基于电视的系统(例如,使用机顶盒和/或个人/数字视频记录器)、以及包括适当的通信能力的各种其它用户产品。此外,由所示模块340提供的功能在一些实施方案中可以分布在附加模块中,或模块340在一些实施方案中可与可配置网络服务集成或以其它方式关联,并且如果是这样,也可合并由可配置网络服务的一个或多个模块(例如,一个或多个系统管理器模块、一个或多个节点通信管理器模块、一个或多个外部通信管理器模块等)提供的在其它地方描述的功能。类似地,在一些实施方案中,模块340的功能中的一些可以不被提供和/或其它附加功能可能是可用的。
还将认识到,虽然各种项被示为在被使用时存储在内存中或存储器上,但是这些项或其一部分可为了存储器管理和数据完整性的目的而在存储器和其它存储设备之间转移。此外,由NMM模块340使用的存储器在一些实施方案中可部分或全部位于计算系统300上,而在其它实施方案中可部分或全部位于计算系统300的外部(例如,作为网络可访问的存储器,例如设置在一个或多个其它计算系统380和/或其它网络可访问的存储设备上),可替代地,在其它实施方案中,软件模块和/或系统中的一些或全部可在另一设备上的存储器中执行,或经由计算机间通信与所示计算系统通信。此外,在一些实施方案中,系统和/或模块中的一些或全部可用其它方式实施或提供,例如至少部分地在固件和/或硬件中,包括但不限于一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当的指令并包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)、网络处理器等。模块、系统和数据结构中的一些或全部也可存储(例如,作为软件指令或结构数据)在计算机可读介质上,例如硬盘、存储器、网络、或由适当的驱动器或经由适当的连接读取并且由一个或多个处理器执行的便携式介质物品。系统、模块和数据结构也可作为所产生的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在各种计算机可读传输介质,包括基于有线和有线/基于电缆的介质,上传输,并且可采取各种形式(例如,作为单个或复用模拟信号的一部分,或作为分立的数字分组或帧)。在其它实施方案中,这样的计算机程序产品也可采取其它形式。因此,可使用其它计算机系统配置来实践本发明。
图5是网络迁移管理器例程500的示例性实施方案的流程图。例程可例如通过图1A和1B的NMM模块125和164和/或图3的NMM模块340的执行提供,例如以提供促进计算机网络计算节点的动态迁移的能力。在所示实施方案中,每个NMM模块在单个时间为单个客户端管理计算节点从发端网络到目的计算机网络的动态迁移,虽然在其它实施方案中,单个NMM模块可同时管理多个计算机网络的计算节点的动态迁移(例如,对多个不同的用户或其它实体,例如如果NMM模块由向多个远程客户端提供虚拟计算机网络的可配置网络服务提供),和/或可管理计算节点在两个或多个计算机网络之间来回的动态迁移,从而不同的计算机网络在不同的时间充当发端和目的计算机网络。此外,在所示实施方案中,例程使用由网络可访问服务(例如,可配置网络服务)提供的虚拟计算机网络作为计算节点迁移到的目的计算机网络,但在其它实施方案中可与其它类型的计算机网络交互。此外,在所示实施方案中,例程可以可选地接收并且使用各种标准信息以帮助自动选择要迁移的特定计算节点,但在其它实施方案中例程替代地不执行这样的自动选择(例如,如果客户端提供关于特定的计算节点何时将被迁移的指令)。类似地,在所示实施方案中,例程可以例如通过与网络可访问服务交互以准备备用计算节点作为迁移的一部分来可选地参与特定的计算节点的自动迁移,但在其它实施方案中,例程替代地不执行这样的自动迁移行为(例如,如果客户端执行这样的迁移行为,并且通知例程所指示的发端网络计算节点到所指示的目的网络备用计算节点的迁移何时完成)。
例程的所示实施方案在块500开始,在块505,接收关于客户端的发端计算机网络的配置信息(一个或多个计算节点将从该发端计算机网络动态和递增地迁移到目的远程虚拟计算机网络),以及可选地在选择如何和/或何时将发端计算机网络计算节点迁移到相应的目的计算机网络备用计算节点时使用的所定义的标准。因此,在所示实施方案中,例程500接收关于用作目的计算机网络的现有远程虚拟网络的信息,虽然在其它实施方案中,例程替代地与远程网络可访问服务动态地交互以代表客户端创建这样的远程虚拟网络,或以其它方式获得对用作迁移的计算节点的备用计算节点的一个或多个远程计算节点的访问。
在所示实施方案中,例程继续到块510,其中接收请求或信息。在块515中,如果确定关于发端和/或目的计算机网络的计算节点的计算状态信息在块510中被接收到(例如,从客户端,响应于例程在块585中作出的请求,从由网络可访问服务和/或由网关设备和/或由特定的计算节点被推到例程的信息,等等),例程继续到块520以将存储该状态信息。在所示实例中,例程接着继续到块535以例如至少部分地基于所接收的状态信息来确定所定义的标准(如果可选地被提供)是否当前被满足,虽然在其它实施方案中可以不在每次接收到状态信息时检查所定义的标准。
如果在块515中替代地确定没有接收到状态信息,例程替代地继续到块530以确定在块510中接收的信息或请求是否是评估可选地提供的所定义的标准以确定是否当前选择一个或多个发端计算机网络计算节点来迁移到一个或多个目的计算机网络备用计算节点的指令,例如来自客户端的指令、周期性地触发或在规定的情况下的指令等。如果是这样,例程继续到块535来评估所定义的标准以至少部分地基于关于块520存储的以前接收的状态信息来确定当前是否满足一个或多个所定义的标准。如在其它地方更详细地讨论的,这样的所定义的标准可基于各种因素(例如,各种发端计算机网络计算节点的当前利用水平)。如果在块540中确定一个或多个所定义的标准被满足,例程继续到块545以确定要动态地迁移的一个或多个特定的发端计算机网络计算节点(例如,基于所定义的标准;以不基于所定义的标准的方式,例如随机方式,等等),并且可选地确定将用于迁移的特定备用计算节点(例如,基于所定义的标准;以不基于所定义的标准的方式,例如当前作为目的计算机网络的一部分或可以动态地添加到目的计算机网络的任何可用计算节点,等等)。例程接着继续到块565并指示所确定的计算节点。
如果在块530中替代地确定所接收的请求或信息不是访问所定义的标准,则例程继续到块560以确定关于一个或多个所指示的发端计算机网络计算节点的请求或指令是否被接收到。如果是这样,例程继续到块565以例如通过将备用计算节点添加到目的计算机网络、提供备用计算节点等来可选地以编程方式与远程网络可访问服务交互,该远程网络可访问服务提供目的虚拟计算机网络以促进用于迁移的备用计算节点的可用性。在其它实施方案和情况中,客户端替代地管理所指示的发端计算机网络计算节点到所指示的备用计算节点的实际迁移,并通知例程500那些备用计算节点作为在块510中接收的信息的一部分,并且如果是这样,例程可以不在块565中与网络可访问服务交互。在块565之后,例程接着继续到块570以向发端和目的计算机网络上的网关设备通知所指示的发端计算机网络计算节点到目的虚拟计算机网络上的相应备用计算节点的迁移,使得网关设备可在动态迁移期间促进发端计算机网络的外发操作。
如果在块560中替代地确定所接收的请求或信息不是迁移的计算节点的指示,例程替代地继续到块585以在适当时执行一个或多个其它所指示的操作。例如,其它类型的操作可包括请求发端和/或目的网络计算节点的当前状态信息(例如,周期性地,当特定的情况出现时,等等),促进对动态地迁移到相应于路由器设备或发端计算机网络的其它设备(其不是发端计算机网络计算节点中的一个)的目的计算机网络的客户端请求,等等。在至少一些实施方案和情况中,其它操作也可包括各种类型的管理或内务处理行动。
在块570或585之后,或如果例程在块540中替代地确定所定义的标准不被满足,例程继续到块595以确定是否继续,例如直到明确的终止指示被接收到。如果确定继续,例程返回到块510,而如果不,则继续到块599并且结束。
图4A和4B示出可配置网络服务管理器例程400的示例性实施方案的流程图。例程可通过例如图1A的系统管理器模块110的执行和/或使用图3的其它计算系统380中的一个或多个的网络可访问服务的执行提供,例如以帮助管理向远程客户端提供计算机网络的可配置网络服务的操作。在所示实施方案中,由例程400创建和提供的计算机网络中的至少一些可以是客户端的现有远程网络的扩展,而在其它实施方案中,由例程400创建和提供的网络替代地是由不是其它网络的扩展的客户端使用的独立网络。此外,提供的计算机网络中的至少一些可由NMM模块的实施方案使用以促进发端计算机网络计算节点的动态迁移,如关于图5和在其它地方讨论的。
例程的所示实施方案在块405开始,在块405,接收消息(例如,从NMM模块或其它客户端)或所接收的其它信息的指示。在至少一些实施方案中,例程400支持的可配置网络服务提供一个或多个API以允许远程客户端以编程方式与可配置网络服务交互,并且如果是这样,可经由调用或远程客户端与那些API的其它编程的交互来做出在块405中接收的指示中的一些或全部,而在其它实施方案和情况中,在块405中接收的指示中的一些或全部替代地由远程客户端或其它设备以其它方式发起。
在块405之后,例程继续到块410以确定在块405接收的指示是否是开始创建将代表请求的客户端提供的新虚拟计算机网络,例如客户端的现有远程网络的扩展。如果是这样,例程继续到块415以执行各种行动来代表客户端创建新的计算机网络扩展或其它新的计算机网络。例如,如在其它地方更详细地讨论的,创建新的计算机网络的所接收的通信可包括关于待创建的计算机网络的各种配置信息,例如将作为所创建的计算机网络的一部分的计算节点的数量,新的计算机网络是否是另一远程网络的扩展的指示,等等。在块415中采取的行动可包括例如:选择从可配置网络服务可用的特定计算节点以在正被创建的新计算机网络中使用;产生唯一的标识符并且将该标识符与正被创建的新计算机网络关联;存储任何接收到的配置信息用于以后使用;等等。如在其它地方更详细地描述的,可在各种实施方案以各种方式从一组可用计算节点中选择这样的计算节点,例如基于选定计算节点的能力,基于选定计算节点的网络位置(例如,基于可配置网络服务的下层基础网络,基于对计算机网络的其它计算节点的相对网络位置,等等),基于选定计算节点的地理位置(例如,在多个地理上分布的数据中心中,在对计算机网络的其它计算节点的相对地理位置上,等等),以随机方式等。此外,虽然没有在这里示出,但是例程可向客户端提供新计算机网络的唯一标识符或新计算机网络的其它参考,以便允许客户端以后在执行新计算机网络的进一步配置或与新计算机网络的交互时参考新计算机网络。
在块415之后,或如果在块410中替代地确定在块405中接收的指示不是创建新的计算机网络,则例程继续到块420以确定在块405中接收的指示是否包括与对所指示的计算机网络的访问约束或其它访问信息有关的信息。例如,在一些情况下,客户端可提供关于块405而被接收并且一起处理的一个或多个请求或其它消息,例如创建新计算机网络扩展的请求和该新计算机网络扩展的各种规定的配置信息的请求——如果是这样,访问信息被提供给的所指示的计算机网络可以是刚刚关于块415创建的新计算机网络扩展。在其它情况和实施方案中,远程客户端替代地在不同的时间提供关于块405而被接收并且处理的不同的信息,例如创建新计算机网络扩展的初始请求以及指定以前创建的计算机网络的各种类型的配置信息的以后的一个或多个其它单独的请求。如果在块420确定在块405中接收到访问信息,例程继续到块430以使用所指示的计算机网络的规定的访问约束信息来配置对所指示的计算机网络的可允许的访问。如在其它地方更详细描述的,这样的配置信息可包括关于计算机网络的任一计算节点是否被允许访问互联网或以其它方式在计算机网络之外以及关于可选地规定计算机网络的计算节点之间的通信访问策略(包括计算机网络的远程部分,如果所指示的计算机网络是远程计算机网络的扩展)的约束。因此,在块430中,例程采取一个或多个行动,其可包括例如配置由可配置网络服务的通信管理器节点使用的路由信息,所述通信管理节点支持计算机网络(例如,通过将消息发送到信息被配置的那些通信管理器节点)。此外,如果访问信息包括建立从远程客户端位置到提供的计算机网络的VPN连接的指令,则在块430中采取的行动还可包括采取行动来通过提供的计算机网络或以其它方式代表提供的计算机网络通过可配置网络服务来支持这样的VPN连接,例如通过配置提供的计算机网络以接受这样的VPN连接并使用适当的信息来加密为VPN连接加密的通信。
在块430之后,或如果在块420中替代地确定在块405中的指示不包括访问信息,例程继续到块440以确定在块405中的指示是否包括所指示的计算机网络的网络地址信息,例如一个或多个网络地址范围和/或以另一形式规定的特定的网络地址。如果是这样,例程继续到块445以存储规定的网络地址信息以用在所指示的计算机网络的计算节点上,并且可例如关于块415和/或462进一步继续进行以使那些规定的网络地址与所指示的计算机网络的计算节点关联,如果那些计算节点已经被选择或以其它方式利用。规定的网络地址与计算机网络的计算节点的关联还可包括配置由支持计算机网络的通信管理器模块使用的路由信息,如在其它地方更详细描述的。在块445之后,或如果替代地在块440中确定在块405中接收的指示不包括网络地址信息,例程继续到块455以确定在块405中接收的指示是否包括所指示的计算机网络的网络拓扑信息。如果是这样,例程继续到块457以存储所指示的计算机网络的网络拓扑信息,并且可选地继续根据网络拓扑信息来配置所指示的计算机网络。网络拓扑信息的配置可包括配置由支持计算机网络的通信管理器模块使用的路由信息,例如以模拟作为规定的拓扑信息的一部分的虚拟联网设备的行动。
在块457之后,或如果在块455中替代地确定在块405中的指示不包括网络拓扑信息,例程继续到块460以确定在块405中的指示是否包括将计算节点添加到所指示的计算机网络的指示,例如如果所指示的计算机网络已配置成包括规定数量的计算节点,但小于该规定数量的计算节点已被选择和使用,或如果没有对所指示的计算机网络指定规定数量的计算节点。此外,在一些实施方案中,客户端可修改由可配置网络服务以各种方式提供的现有计算机网络,即使在计算机网络的使用正在进行之后,包括修改计算机网络的计算节点的数量和/或修改计算机网络的网络拓扑信息。如在其它地方更详细讨论的,添加一个或多个计算节点的请求可从NMM模块和/或客户端接收,作为一个或多个发端计算机网络计算节点到用作备用计算节点的添加的计算节点的动态迁移的一部分,并且还可包括将用于添加的计算节点的特定网络地址(例如,以前由正在迁移的发端计算机网络计算节点使用的网络地址)的指示。如果在块460中确定该指示是添加一个或多个计算节点,例程继续到块462以从可配置网络服务的一组可用计算节点选择将被添加到所指示的计算机网络的一个或多个计算节点。如在其它地方更详细描述的,可用各种方式选择这样的计算节点。在块464中,选定的计算节点接着配置成例如以与以前讨论的方式类似的方式用作所指示的计算机网络的一部分(例如,通过使适当的网络地址信息与那些选定的计算节点关联,通过根据任何规定的网络拓扑信息和/或计算机网络扩展的其它访问约束信息来设定那些选定计算节点的访问权限,等等)。此外,在至少一些实施方案中,客户端和/或NMM模块可进一步提供用于提供特定的目的计算机网络计算节点以作为对正在迁移的发端计算机网络计算节点的替代物而操作的指令,不管是在与计算节点的添加相同的时间还是在以后的时间,虽然在其它实施方案中,在目的计算机网络计算节点被添加以执行这样的提供之后,客户端和/或NMM模块替代地直接与目的计算机网络计算节点交互。
在块464之后,或如果在块460中替代地确定在块405中的指示不是添加计算节点,例程继续到块470以确定在块405中的指示是否是从所指示的计算机网络例如从NMM模块和/或客户端移除一个或多个计算节点,作为计算节点从所指示的虚拟计算机网络到另一计算机网络的动态迁移的一部分,以便在迁移完成之后移除迁移的计算节点。如果在块470中确定该指示是移除一个或多个计算节点,例程继续到块475以例如基于在请求中的选定计算节点的指示或替代地以另一方式(例如,基于可配置网络服务的方便性或益处,等等)来选择将从所指示的计算机网络移除的一个或多个计算节点。在块480中,选定的计算节点接着从计算机网络移除。
在块480之后,或如果在块470中替代地确定在块405中的指示不是移除一个或多个计算节点,例程替代地继续到块482以确定在块405中的指示是否是提供所指示的计算机网络的一个或多个计算节点,例如刚刚关于块464添加的一个或多个计算节点,或以前作为所指示的计算机网络的一部分但用于其它目的(或目前没有使用)的一个或多个计算节点。如果是这样,例程继续到块485以开始以所指示的方式提供所指示的计算节点,例如在计算节点中的每一个上执行一个或多个所指示的软件程序,将所指示的数据复制到计算节点,和/或以其它方式准备以特定的方式使用计算节点。在其它实施方案中,这样提供计算节点替代地基于客户端直接与那些计算节点的交互来直接由所配置的网络服务的客户端执行。
在块485之后,或如果在块482中替代地确定在块405中的指示不是提供一个或多个计算节点,例程继续到块487以确定在块405中的指示是否是配置所指示的计算机网络以例如通过物理路由器设备或其它联网设备提供联网功能,其以前被提供为迁移到所指示的计算机网络的远程发端计算机网络的一部分。如果是这样,例程继续到块489以根据所指示的联网信息以与以前关于块457和在其它地方讨论的方式类似的方式配置所指示的计算机网络。联网功能的配置可包括配置将由支持所指示的计算机网络的通信管理器模块使用的路由信息,例如以模拟相应于作为发端计算机网络的一部分的物理联网设备的虚拟联网设备的行动。
在块489之后,或如果在块487中替代地确定在块405中的指示不是联网设备的迁移功能,例程继续到块490以在适当时可选地执行一个或多个所指示的操作。例如,在对客户端完成特定计算机网络的配置之后,例程可进一步采取一个或多个最后的步骤来从远程资源例如从所创建的计算机网络扩展所属的远程计算机网络提供对计算机网络的访问。访问的这种提供可包括例如向客户端提供使客户端能够访问计算机网络(例如,VPN到计算机网络的可公开访问的网络地址)的信息,配置计算机网络以从远程客户端接受通信,等等。此外,对于至少一些提供的计算机网络(例如,由NMM模块使用来作为目的计算机网络和/或发端计算机网络的计算机网络),例程可进一步提供并配置一个或多个网关设备,例如结合VPN连接。在网关设备被提供之后,NMM模块可直接与网关设备交互,或在其它实施方案中可与例程400交互以配置网关设备和/或从网关设备获得状态信息。此外,例程可不时地(例如,周期性地,当目前条件超过规定的阈值或另外触发规定的条件时,等等)执行其它操作,例如以因特网包探索器或以其它方式检查一些或全部计算机网络的一些或全部计算节点的状态,通过远程客户端监控一些或全部计算机网络的使用,通过一些或全部提供的计算机网络监控内部可配置网络服务资源的使用,使用可配置网络服务建立并且维持客户端的账户,响应于来自客户端的对关于其账户或关于其提供的计算机网络的状态信息的请求,将关于NMM模块正使用的计算节点的状态信息主动发送到NMM模块,从客户端获得对可配置网络服务的使用的支付,修改作为所指示的计算机网络的一部分的特定计算节点(例如,通过将一个或多个执行程序从在第一地理位置处的计算节点移动到在第二地理位置处的新计算节点),等等。
在块490之后,例程继续到块495以确定是否继续,例如直到明确的终止指示被接收到。如果确定继续,例程返回到块405,而如果不,则继续到块499并且结束。
图6示出网关设备例程600的示例性实施方案的流程图。可通过例如图1A的网关设备122或132、图1B的网关设备163或192和/或图3的网关计算设备370的执行来提供例程,例如以当发端计算机网络的计算节点中的一些或全部迁移到目的计算机网络时促进发端计算机网络的正在进行的操作。在所示实施方案中,网关设备可与发端计算机网络和目的计算机网络的任一个关联,并且与在计算机网络的另一个上的相应的网关设备配对,但在其它实施方案中,单个网关设备可支持发端计算机网络和目的计算机网络或以其它方式支持两个或多个计算机网络。
例程的所示实施方案在块605开始,在块605接收关于网络设备所属的计算机网络的本地计算节点以及关于与作为远程计算机网络的一部分的相应远程网关设备关联的远程计算节点的配置信息的指示。例程接着继续到块607以可选地建立与其它网关设备的VPN连接或其它私有连接,如果这样的连接不是已经可用的。
在块607之后,例程继续到块610,其中接收请求或信息。在块615中,如果确定接收到相应于关于经由远程网关设备可访问的远程计算节点的信息的请求,例程继续到块620以代表远程计算节点提供信息。例如,如果请求是ARP消息或来自本地计算节点的对关于远程计算节点的位置的信息的其它请求,网关设备作出响应,好像网关设备是所指示的计算节点,使得预定给远程计算节点的通信将指向网关设备。类似地,如果请求是英特网包探索器请求或对关于远程计算节点的状态的信息的其它请求,网关设备可模仿由远程计算节点提供的响应和/或与远程计算节点交互以获得在响应中使用的实际信息。可用类似的方式处理其它类型的网络消息。
如果在块615中替代地确定没有接收到对关于远程计算节点的信息的请求,例程替代地继续到块625以确定在块610中接收的信息或请求是否是来自本地计算节点的预定给特定的远程计算节点(例如,预定给在远程目的计算机网络处的相应于以前迁移的本地计算节点的备用计算节点)的外发的通信。如果是这样,例程继续到块630以例如以对发送和目的计算节点透明的方式将通信转发到远程网关设备,以进一步转发到预期的目的远程计算节点。如果在块615中替代地确定所接收的请求或信息不实预定给远程计算节点的通信,例程替代地继续到块640以确定进入的通信是否经由供本地计算节点(例如,用于在远程目的计算机网络处的相应于以前从远程发端计算机网络迁移的远程计算节点的备用计算节点)使用的远程网关设备从远程计算节点接收到。如果是这样,例程继续到块645以可选地修改通信以反映远程发送计算节点,例如使修改的通信包括发送计算节点的网络地址而不是网关设备的硬件地址,以使响应通信返回到网关设备。在块645之后,例程继续到块650以通过本地计算机网络将修改的通信转发到本地目的计算节点。
如果在块640中替代地确定所接收的请求或信息不是进入的通信,例程替代地继续到块660以确定从块610接收的请求或信息是否是在本地和远程计算机网络之间的计算节点的迁移的指示。如果是这样,例程继续到块665以更新关于哪些计算节点是本地的和哪些是远程的所存储的信息,用于以后在转发通信时使用,并且可进一步可选地采取一个或多个行动来更新改变的其它本地计算节点和/或远程网关设备(例如,通过在本地计算机网络上发出免费ARP,将消息发送到远程网关设备,等等)。
如果在块660中替代地确定所接收的请求或信息不是计算节点迁移的指示,例程替代地继续到块685以在适当时执行一个或多个其它所指示的操作。例如,其它类型的操作可包括提供关于本地和/或远程计算节点的当前状态信息(例如,到NMM模块,例如响应于请求,或替代地周期性地或当特定的情况出现时)、各种类型的管理或内务处理行动,等等。
在块620、630、650、665或685之后,例程继续到块695以确定是否继续,例如直到明确的终止指示被接收到。如果确定继续,例程返回到块610,而如果不,继续到块699并且结束。
还将认识到,在一些实施方案中,上面讨论的例程所提供的功能可以用可选的方式提供,例如在多个例程中间分开或合并成较少的例程。类似地,在一些实施方案中,所示例程可提供比所描述的更多或更少的功能,例如当其它所示例程替代地分别缺乏或包括这样的功能时,或当所提供的功能的数量改变时。此外,虽然各种操作可以被示为以特定的方式(例如,串行或并行)和/或以特定的顺序执行,本领域技术人员将认识到,在其它实施方案中,操作可按其它顺序和以其它方式执行。本领域技术人员还将认识到,上面讨论的数据结构可用不同的方式构造,例如通过将单个数据结构分成多个数据结构或通过将多个数据结构合并成单个数据结构。类似地,在一些实施方案中,所示数据结构可存储比所描述的更多或更少的信息,例如当其它所示数据结构替代地分别缺乏或包括这样的信息时,或当所存储的信息的数量或类型改变时。
条款1.一种使计算系统促进联网的计算节点的动态迁移的方法,所述方法包括:
当第一计算机网络在使用中时管理发送到第一计算机网络的多个计算节点的多个通信,多个计算节点位于第一地理位置处,且每个计算节点与第一计算机网络的多个不同的网络地址之一关联,多个通信每个指示作为多个网络地址中的一个的至少一个目的网络地址,以便将多个计算节点中的至少一个指定为用于通信的预期目的地,通信中的每一个的管理包括基于由通信指示的至少一个目的网络地址通过第一计算机网络将通信转发到用于通信的至少一个预期的目的计算节点;
在多个通信的管理之后,并且在配置成当第一计算机网络继续在使用中时将第一计算机网络动态地和递增地迁移到在第二地理位置处的远程虚拟第二计算机网络的一个或多个计算设备的控制下,并且对于第一计算机网络的多个计算节点中的每一个:
接收第一计算机网络的计算节点到作为远程虚拟计算机网络的一部分的在第二地理位置处的不同的备用计算节点的迁移的指示,远程虚拟计算机网络的备用计算节点代替迁移的计算节点作为第一计算机网络的一部分,并且使用迁移的计算节点的网络地址用于第一计算机网络的正在进行的操作;以及
将第一计算机网络上的迁移的计算节点的网络地址与配置成代表远程虚拟计算机网络的计算节点的在第一计算机网络上的网关设备自动关联;以及
在多个计算节点的子集的迁移之后,自动管理通过第一计算机网络发送的一个或多个附加通信,每个通信指示由子网的计算节点中的一个的备用计算节点使用的目的网络地址,每个附加通信的管理包括通过第一计算机网络将附加通信转发到所配置的网关设备,使得所配置的网关设备将附加通信转发到远程虚拟计算机网络用于传送到该备用计算节点。
条款2.条款1的方法,其中第一计算机网络是物理局域网,其中远程虚拟计算机网络配置为第一计算机网络的扩展,使得远程虚拟计算机网络的计算节点使用第一计算机网络的网络地址,网络地址不同于当前由第一计算机网络的计算节点使用的网络地址,且其中所述方法还包括:
在第一计算机网络到远程虚拟计算机网络的动态迁移之前,
使第一计算机网络的多个计算节点的网络地址自动与配置成代表第一计算机网络的多个计算节点的远程虚拟计算机网络上的第二网关设备关联;以及
自动管理通过远程虚拟计算机网络发送的一个或多个其它通信,每个通信指示由第一计算机网络的多个计算节点使用的目的网络地址,每个其它通信的管理包括通过远程虚拟计算机网络将其它通信转发到第二网关设备,以使第二网关设备将其它通信转发到第一计算机网络用于传送到使用由其它通信指示的目的网络地址的一个计算节点;
以及其中,对于第一计算机网络的多个计算节点的每个,在第一计算机网络上的计算节点的网络地址与第一计算机网络上的网关设备的自动关联还包括不将计算节点的网络地址与在远程虚拟计算机网络上的第二网关设备关联。
条款3.条款1的方法,其中第一计算机网络的多个计算节点在第一实体的控制下,其中远程虚拟计算机网络的计算节点在不同的第二实体的控制下,其中第二实体提供使用户能够购买对所配置的虚拟计算机网络的访问的基于费用的可配置网络服务,所配置的虚拟计算机网络使用云计算技术由可配置网络服务代表用户提供,其中第一实体是可配置网络服务的用户中的一个,其中远程虚拟计算机网络是由可配置网络服务提供的虚拟计算机网络中的一个,并且其中远程虚拟计算机网络进一步由可配置网络服务配置成在第一计算机网络动态地迁移到远程虚拟计算机网络之前为迁移的第一计算机网络提供由第一计算机网络的一个或多个物理联网设备提供的联网能力。
条款4.一种用于促进联网计算节点的动态迁移的计算机实施的方法,所述方法包括:
在当第一计算机网络在使用中时在配置成将在第一地理位置处的具有多个计算节点的第一计算机网络动态地迁移到在第二地理位置处的远程虚拟第二计算机网络的一个或多个计算设备的控制下,并且对于第一计算机网络的多个计算节点中的至少一些中的每一个:
接收第一计算机网络的计算节点到作为远程虚拟计算机网络的一部分的在第二地理位置处的不同的备用计算节点的迁移的指示,从而在迁移之后,远程虚拟计算机网络的备用计算节点代替迁移的计算节点作为第一计算机网络的一部分,并且使用以前由迁移的计算节点使用的第一计算机网络的网络地址;
将由备用计算节点所使用的网络地址与配置成代表远程虚拟计算机网络的备用计算节点的在第一计算机网络上的网关设备自动关联;以及
在网络地址的自动关联之后,自动管理通过第一计算机网络发送到由备用计算节点使用的网络地址的一个或多个附加通信,附加通信中的每一个的管理包括,在附加通信通过第一计算机网络被转发到代表备用计算节点的网关设备之后,将附加通信转发到远程虚拟计算机网络用于传送到备用计算节点。
条款5.条款4的方法,其中第一计算机网络的至少一些计算节点包括第一计算机网络的多个计算节点的全部,从而当第一计算机网络在使用中时第一计算机网络的全部递增地迁移到远程虚拟计算机网络,并且其中远程虚拟计算机网络配置成作为第一计算机网络的扩展操作,直到第一计算机网络的全部到远程虚拟计算机网络的递增迁移完成。
条款6.条款5的方法,还包括自动配置与远程虚拟计算机网络关联的一个或多个计算设备,以在第一计算机网络到远程虚拟计算机网络的递增迁移之前为迁移的第一计算机网络提供由第一计算机网络的一个或多个物理联网设备提供的联网能力。
条款7.条款4的方法,还包括在第一计算机网络到远程虚拟计算机网络的动态迁移之后,并且对于远程虚拟计算机网络的备用计算节点中的至少一个中的每一个,自动促进备用计算节点返回到作为第一计算机网络的一部分的目标计算节点的反向迁移,从而目标计算节点在反向迁移之后代替在第一计算机网络中的备用计算节点并且使用以前由备用计算节点使用的第一计算机网络的网络地址,自动促进包括不将以前由备用计算节点使用的网络地址与在第一计算机网络上的所配置的网关设备关联,以使指向该网络地址的随后的通信经由第一计算机网络被转发到目标计算节点。
条款8.条款4的方法,其中基于从与远程虚拟计算机网络关联的用户接收的一个或多个指令以及用于选择至少一些计算节点的一个或多个以前定义的标准的满意度中的至少一个来选择第一计算机网络的至少一些计算节点以用于迁移。
条款9.条款4的方法,其中在将第一计算机网络的至少一些计算节点中的一个迁移到远程虚拟计算机网络之前,第一计算机网络的一个计算节点的网络地址与远程虚拟计算机网络上的第二网关设备关联,第二网关设备配置成通过将指向该网络地址的通信转发到第一计算机网络来代表第一计算机网络的所述一个计算节点,并且其中与由第一计算机网络的所述一个计算节点的备用计算节点使用的网络地址的第一计算机网络上的网关设备的自动关联是提供远程虚拟计算机网络以支持备用计算节点的一部分,远程虚拟计算机网络的提供还包括不将由备用计算节点所使用的网络地址与在远程虚拟计算机网络上的第二网关设备关联,以使指向由备用计算节点使用的该网络地址的随后的通信经由远程虚拟计算机网络被转发到备用计算节点。
条款10.条款9的方法,其中所述一个计算节点在所述一个计算节点迁移到备用计算节点之前执行一个或多个软件应用中的每一个的复制,且提供远程虚拟计算机网络以支持备用计算节点还包括开始在备用计算节点上执行一个或多个软件应用的每个的复制。
条款11.条款4的方法,其中所述第一计算机网络包括在第一地理位置处的一个或多个物理上互连的局域计算机网络并且在第一实体的控制下,其中远程虚拟计算机网络在第二地理位置处并且在不同的第二实体的控制下,其中第二实体提供可配置网络服务,其使客户端能够配置由可配置网络服务代表客户端提供的虚拟计算机网络,其中第一实体是可配置网络服务的客户端中的一个,并且其中远程虚拟计算机网络是由可配置网络服务提供的虚拟计算机网络中的一个。
条款12.条款11的方法,其中一个或多个所配置的计算设备在可配置网络服务的控制下操作,其中可配置网络服务提供多个计算节点以在由可配置网络服务提供的虚拟计算机网络中使用,其中第一计算机网络的至少一些计算节点包括第一计算机网络的多个计算节点中的两个或多个,并且其中对于所述至少一些计算节点中的每一个,第一计算机网络的计算节点的备用计算节点是由可配置网络服务选择并且代表第一实体动态地添加到远程虚拟计算机网络的多个计算节点中的不同的一个,从而在第一计算机网络到远程虚拟计算机网络的动态迁移之后远程虚拟计算机网络包括两个或多个动态地添加的计算节点。
条款13.条款12的方法,其中所述至少一些计算节点的备用计算节点每个是在可配置网络服务的多个物理计算系统中的一个上托管的虚拟机,并且其中两个或多个备用计算节点到远程虚拟计算机网络的动态添加包括配置在物理计算系统中的一个或多个上执行的一个或多个虚拟机管理器模块以管理对所托管的虚拟机的通信,以使所托管的虚拟机被包括为远程虚拟计算机网络的一部分。
条款14.条款4的方法,其中对于迁移到远程虚拟计算机网络的第一计算机网络的至少一些计算节点中的一个或多个中的每一个,计算节点到远程虚拟计算机网络的迁移以对第一计算机网络的其它计算节点透明的方式执行,从而其它计算节点在计算节点的迁移期间继续通过第一计算机网络将其它通信发送到第一计算机网络的目的计算节点,并且从而其它通信的至少一个的目的计算节点是正在迁移的计算节点。
条款15.条款4的方法,其中一个或多个所配置的计算设备包括所配置的网关设备,并且其中第一计算机网络的至少一些计算节点中的每一个的网络地址是互联网协议(“IP”)地址。
条款16.一种计算机可读介质,其内容配置一个或多个计算设备以通过执行包括下列操作的方法来促进联网计算节点的动态迁移:
在一个或多个所配置的计算设备的控制下,并且当具有多个计算节点的第一计算机网络在使用中时,每个计算节点对第一计算机网络具有不同的网络地址,对于第一计算机网络的一个或多个计算节点中的每一个,通过下列操作促进第一计算机网络的多个计算节点中的一个或多个到不同的虚拟第二计算机网络的动态迁移:
接收第一计算机网络的计算节点到虚拟计算机网络的不同的计算节点的迁移的指示,从而在迁移之后,虚拟计算机网络的不同的计算节点使用迁移的计算节点的网络地址用于第一计算机网络的外发操作;以及
将在第一计算机网络上的迁移的计算节点的网络地址与配置成与虚拟计算机网络交互的第一计算机网络上的网关设备自动关联,从而对于在自动关联之后通过第一计算机网络发送到迁移的计算节点的该网络地址的一个或多个通信中的每一个,通信将被转发到所配置的网关设备用于进一步转发到虚拟计算机网络的不同的计算节点。
条款17.条款16的计算机可读介质,其中第一计算机网络的多个计算节点在一个或多个第一地理位置处,其中虚拟计算机网络远离第一计算机网络,并且包括在远离一个或多个第一地理位置的第二地理位置处的多个其它计算节点,其中远程虚拟计算机网络配置成作为第一计算机网络的扩展操作,且其中对于第一计算机网络的一个或多个计算节点,第一计算机网络的计算节点迁移到的远程虚拟计算机网络的不同的计算节点是其它计算节点中的一个,并且作为在远程虚拟计算机网络上的第一计算机网络的计算节点的备用物。
条款18.条款17的计算机可读介质,其中第一计算机网络的多个计算节点在第一实体的控制下,其中远程虚拟计算机网络的计算节点在不同的第二实体的控制下,其中第二实体提供使客户端能够配置由网络可访问服务代表客户端提供的虚拟计算机网络的网络可访问服务,其中第一实体是网络可访问服务的客户端中的一个,并且其中远程虚拟计算机网络是由网络可访问服务提供的虚拟计算机网络中的一个。
条款19.条款16的计算机可读介质,其中促进动态迁移对第一计算机网络的多个计算节点中的每一个执行,以便当第一计算机网络在使用中时将第一计算机网络递增地迁移到不同的虚拟计算机网络。
条款20.条款16的计算机可读介质,其中计算机可读介质是存储内容的一个或多个所配置的设备中的一个的存储器和包括包含所述内容的产生的所存储的数据信号的数据传输介质中的至少一个,并且其中内容是当被执行时使一个或多个所配置的设备执行所述方法的指令。
条款21.一种配置成促进联网计算节点的动态迁移的计算设备,包括:
一个或多个处理器;以及
迁移管理器模块,其配置成当由一个或多个处理器中的至少一个执行时,在第一和第二计算机网络在使用中时促进一个或多个计算节点在不同的第一和第二局域计算机网络之间的动态迁移,动态迁移的促进对于一个或多个计算节点中的每一个包括:
接收计算节点从发端计算机网络到目的计算机网络的迁移的指示,发端计算机网络是第一和第二计算机网络中的一个,并且目的计算机网络是第一和第二计算机网络中的另一个,迁移的计算节点使用在迁移之前作为发端计算机网络的操作的一部分的地址,并且由在迁移之后使用该地址的目的计算机网络的不同的备用计算节点代替,从而在迁移之后,备用计算节点代替以前由迁移的计算节点执行的发端计算机网络的操作;以及
将在发端计算机网络上的迁移的计算节点的地址与配置成与目的计算机网络交互的在发端计算机网络上的网关设备自动关联,从而对于在迁移之后通过发端计算机网络发送到该地址的一个或多个通信中的每一个,通信被转发到所配置的网关设备以被转发到目的计算机网络的备用计算节点。
条款22.条款21的计算设备,其中第一计算机网络包括在一个或多个第一地理位置处的具有多个计算节点的一个或多个物理计算机网络,并且其中第二计算机网络是虚拟计算机网络,其包括在远离一个或多个第一地理位置的第二地理位置处的多个其它计算节点。
条款23.条款22的计算设备,其中第一计算机网络的多个计算节点在第一实体的控制下,其中第二计算机网络的其它计算节点在不同的第二实体的控制下,其中第二实体提供使客户端能够配置由网络可访问服务代表客户端提供的虚拟计算机网络的网络可访问服务,其中第一实体是网络可访问服务的客户端中的一个,并且其中第二计算机网络是由网络可访问服务提供的虚拟计算机网络中的一个,第二计算机网络配置成作为第一计算机网络的扩展操作。
条款24.条款21的计算设备,其中第一计算机网络包括在一个或多个第一地理位置处的具有多个计算节点的一个或多个物理计算机网络,并且其中第二计算机网络包括具有在远离一个或多个第一地理位置的一个或多个其它第二地理位置处的多个其它计算节点的一个或多个其它物理计算机网络。
条款25.条款21的计算设备,其中所述一个或多个计算节点中的每一个的发端计算机网络是第一计算机网络,而所述一个或多个计算节点中的每一个的目的计算机网络是第二计算机网络,并且其中动态迁移的促进对第一计算机网络的多个计算节点中的每一个执行,以便当第一计算机网络在使用中时将第一计算机网络递增地迁移到第二计算机网络。
条款26.条款25的计算设备,其中由迁移的一个或多个计算节点使用的地址是硬件地址,并且其中在发端计算机网络上的一个或多个迁移的计算节点的硬件地址与发端计算机网络上的网关地址的自动关联包括在发端计算机网络上的网关设备起作用来欺骗一个或多个迁移的计算节点的硬件地址,以便使通过发端计算机网络发送到一个或多个迁移的计算节点的硬件地址的通信指向在发端计算机网络上的网关设备。
条款27.条款25的计算设备,其中由迁移的一个或多个计算节点使用的地址是网络地址,并且其中在发端计算机网络上的一个或多个迁移的计算节点的网络地址与发端计算机网络上的网关地址的自动关联包括由在发端计算机网络上的网关设备发起一个或多个通告以使通过发端计算机网络发送到一个或多个迁移的计算节点的网络地址的通信指向在发端计算机网络上的网关设备。
条款28.条款21的计算设备,其中迁移管理器模块包括由计算设备执行的软件指令。
条款29.条款21的计算设备,其中迁移管理器模块由用于当第一和第二计算机网络在使用中时促进一个或多个计算节点在不同的第一和第二局域计算机网络之间的动态迁移的装置组成,动态迁移的促进对于一个或多个计算节点中的每一个包括:
接收计算节点从发端计算机网络到目的计算机网络的迁移的指示,发端计算机网络是第一和第二计算机网络中的一个,并且目的计算机网络是第一和第二计算机网络中的另一个,迁移的计算节点使用在迁移之前作为发端计算机网络的操作的一部分的地址,并且由在迁移之后使用该地址的目的计算机网络的不同的备用计算节点代替,从而在迁移之后,备用计算节点代替以前由迁移的计算节点执行的发端计算机网络的操作;以及
将在发端计算机网络上的迁移的计算节点的地址与配置成与目的计算机网络交互的在发端计算机网络上的网关设备自动关联,从而对于在迁移之后通过发端计算机网络发送到该地址的一个或多个通信中的每一个,通信被转发到所配置的网关设备以被转发到目的计算机网络的备用计算节点。
从前述内容中将认识到,虽然为了说明的目的在本文描述了特定的实施方案,但可进行各种修改而不偏离本发明的精神和范围。因此,本发明除此之外不被所附权利要求和其中所述的元件限制。此外,虽然下面在某些权利要求形式中介绍了本发明的某些方面,发明人设想以任何可用权利要求形式的本发明的各种方面。例如,虽然本发明的仅仅一些方面目前可被陈述为体现在计算机可读介质中,其它方面可同样被这样体现。
Claims (15)
1.一种计算机实施方法,所述方法包括:
由所配置的计算设备确定将使用中的第一计算机网络的一个或多个目标计算节点迁移到在线服务所提供的远程虚拟计算机网络;以及
当所述第一计算机网络在使用中时,通过针对一个或多个目标计算节点执行以下动作,将一个或多个目标计算节点迁移到远程虚拟计算机网络:
由所配置的计算设备发起提供远程虚拟计算机网络中的备用计算节点,以代替第一计算机网络的目标计算节点;以及
由所配置的计算设备发起将目标计算节点所使用的第一计算机网络的网络地址与第一计算机网络中的设备关联,使得通过第一计算机网络发送的后续通信能够从所述设备转发至远程虚拟计算机网络中的备用计算节点。
2.如权利要求1所述的计算机实施方法,其中所述第一计算机网络中的设备是网关设备,并且所述方法还包括:在将目标计算节点之一的网络地址与网络设备关联后,通过将通过第一计算机网络发送至所述网络地址的一个或多个通信从网关设备转发至远程虚拟计算机网络以传送至目标计算节点的备用计算节点,来自动管理所述一个或多个通信。
3.如权利要求1所述的计算机实施方法,其中所述第一计算机网络包括多个计算节点,并且所述一个或多个目标计算节点是所述多个计算节点的子集,从而在将一个或多个目标节点迁移后继续第一计算机网络的操作包括使用远程虚拟计算机网络的备用计算节点来代替一个或多个目标计算节点。
4.如权利要求3所述的计算机实施方法,还包括:在将一个或多个目标计算节点迁移到远程虚拟计算机网络后,以及针对至少一个目标计算节点中的每一个,发起目标节点的备用节点返回到第一计算机网络的反向迁移,所述反向迁移包括不将目标计算节点的网络地址与第一计算机网络上的设备关联,而将所述网络地址与第一计算机网络中充当目标计算节点的计算节点关联。
5.如权利要求1所述的计算机实施方法,其中所述第一计算机网络包括多个计算节点,并且所述一个或多个目标计算节点包括所述多个计算节点的全部,从而当所述第一计算机网络在使用中时所述第一计算机网络的全部递增地迁移到所述远程虚拟计算机网络。
6.如权利要求5所述的计算机实施方法,还包括:执行与在线服务的一个或多个交互,以配置所述在线服务虚拟地提供在第一计算机网络递增地迁移到远程虚拟计算机网络之前第一计算机网络设备的一个或多个物理联网设备先前提供的第一计算机网络的联网能力。
7.如权利要求1所述的计算机实施方法,其中基于从用户接收到的指令确定迁移一个或多个目标计算节点,所述用户是在线服务的客户端。
8.如权利要求1所述的计算机实施方法,其中所述在线服务是可配置网络服务,所述可配置网络服务使客户端能够配置由可配置网络服务代替客户端提供的虚拟计算机网络,并且第一计算机网络受第一实体的控制,所述第一实体是可配置网络服务的客户端之一。
9.如权利要求8所述的计算机实施方法,其中所配置的计算设备在可配置网络服务的控制下操作,所述可配置网络服务提供多个计算节点在可配置网络服务所提供的虚拟计算机网络中使用,并且针对一个或多个目标计算节点中的每一个,目标计算节点的备用计算节点是多个计算节点中被可配置网络服务选择并代表第一实体动态地添加至远程虚拟计算机网络的一个计算节点。
10.如权利要求8所述的计算机实施方法,其中针对目标计算节点之一发起提供备用计算节点包括:由所配置的计算设备执行与可配置网络服务的一个或多个交互,以使备用计算节点被添加至远程虚拟计算机网络。
11.如权利要求8所述的计算机实施方法,其中针对目标计算节点之一发起提供备用计算节点包括:由所配置的计算设备执行与可配置网络服务的一个或多个交互,以使远程虚拟计算机网络中的备用计算节点被供应为执行一个目标计算节点的操作。
12.如权利要求8所述的计算机实施方法,还包括:在将一个或多个目标计算节点迁移到远程虚拟计算机网络前,由所配置的计算设备执行与可配置网络服务的一个或多个交互,以使远程虚拟计算机网络针对第一实体被创建。
13.如权利要求1所述的计算机实施方法,其中将一个或多个目标计算节点迁移到远程虚拟计算机网络是以对第一计算机网络中的其他计算节点透明的方式执行的,从而在迁移一个或多个目标计算节点期间其他计算节点继续通过第一计算机网络向第一计算机网络的目的地计算节点发送通信。
14.一种计算设备,包括:
用于确定将使用中的第一计算机网络的一个或多个目标计算节点迁移到在线服务所提供的远程虚拟计算机网络的装置;以及
用于当所述第一计算机网络在使用中时,通过针对一个或多个目标计算节点执行以下动作,将一个或多个目标计算节点迁移到远程虚拟计算机网络的装置:
由所配置的计算设备发起提供远程虚拟计算机网络中的备用计算节点,以代替第一计算机网络的目标计算节点;以及
由所配置的计算设备发起将目标计算节点所使用的第一计算机网络的网络地址与第一计算机网络中的设备关联,使得通过第一计算机网络发送的后续通信能够从所述设备转发至远程虚拟计算机网络中的备用计算节点。
15.如权利要求14所述的计算设备,还包括:
一个或多个处理器;以及
存储指令的存储器,所述指令在被一个或多个处理器执行时,配置所述计算设备执行根据权利要求2至13中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/507,742 US8234377B2 (en) | 2009-07-22 | 2009-07-22 | Dynamically migrating computer networks |
US12/507,742 | 2009-07-22 | ||
CN201080036315.1A CN102473114B (zh) | 2009-07-22 | 2010-07-22 | 动态迁移计算机网络 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080036315.1A Division CN102473114B (zh) | 2009-07-22 | 2010-07-22 | 动态迁移计算机网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104090825A CN104090825A (zh) | 2014-10-08 |
CN104090825B true CN104090825B (zh) | 2017-08-25 |
Family
ID=43498243
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080036315.1A Active CN102473114B (zh) | 2009-07-22 | 2010-07-22 | 动态迁移计算机网络 |
CN201410287384.XA Active CN104090825B (zh) | 2009-07-22 | 2010-07-22 | 动态迁移计算机网络 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080036315.1A Active CN102473114B (zh) | 2009-07-22 | 2010-07-22 | 动态迁移计算机网络 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8234377B2 (zh) |
EP (1) | EP2457159B1 (zh) |
JP (2) | JP5520375B2 (zh) |
CN (2) | CN102473114B (zh) |
CA (1) | CA2767553C (zh) |
SG (1) | SG177515A1 (zh) |
WO (1) | WO2011011576A1 (zh) |
Families Citing this family (300)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095875B2 (en) * | 2001-06-22 | 2012-01-10 | Krause Philip R | Method and apparatus for consolidating network information |
US8217992B2 (en) * | 2007-01-11 | 2012-07-10 | The Jackson Laboratory | Microscopic imaging techniques |
US9678803B2 (en) | 2007-06-22 | 2017-06-13 | Red Hat, Inc. | Migration of network entities to a cloud infrastructure |
US9354960B2 (en) | 2010-12-27 | 2016-05-31 | Red Hat, Inc. | Assigning virtual machines to business application service groups based on ranking of the virtual machines |
US8156378B1 (en) | 2010-10-15 | 2012-04-10 | Red Hat, Inc. | System and method for determination of the root cause of an overall failure of a business application service |
US9727440B2 (en) | 2007-06-22 | 2017-08-08 | Red Hat, Inc. | Automatic simulation of virtual machine performance |
US9569330B2 (en) | 2007-06-22 | 2017-02-14 | Red Hat, Inc. | Performing dependency analysis on nodes of a business application service group |
US9495152B2 (en) | 2007-06-22 | 2016-11-15 | Red Hat, Inc. | Automatic baselining of business application service groups comprised of virtual machines |
US8938489B2 (en) | 2007-06-22 | 2015-01-20 | Red Hat, Inc. | Monitoring system performance changes based on configuration modification |
US8825838B2 (en) | 2010-10-15 | 2014-09-02 | Red Hat, Inc. | Identification of business process application service groups |
US8787391B2 (en) * | 2009-08-11 | 2014-07-22 | Novell, Inc. | Techniques for using the network as a memory device |
US8417938B1 (en) * | 2009-10-16 | 2013-04-09 | Verizon Patent And Licensing Inc. | Environment preserving cloud migration and management |
US7937438B1 (en) | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
US8995301B1 (en) | 2009-12-07 | 2015-03-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing cost information |
US9203747B1 (en) | 2009-12-07 | 2015-12-01 | Amazon Technologies, Inc. | Providing virtual networking device functionality for managed computer networks |
US9036504B1 (en) | 2009-12-07 | 2015-05-19 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to associate network addresses with computing nodes |
US7953865B1 (en) | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US8224971B1 (en) | 2009-12-28 | 2012-07-17 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to initiate external actions |
US7991859B1 (en) | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
US8224931B1 (en) * | 2010-03-31 | 2012-07-17 | Amazon Technologies, Inc. | Managing use of intermediate destination computing nodes for provided computer networks |
US8396946B1 (en) * | 2010-03-31 | 2013-03-12 | Amazon Technologies, Inc. | Managing integration of external nodes into provided computer networks |
US9047136B2 (en) * | 2010-06-11 | 2015-06-02 | Oracle International Corporation | Method and system for migrating the state of a virtual cluster |
US8296459B1 (en) * | 2010-06-30 | 2012-10-23 | Amazon Technologies, Inc. | Custom routing decisions |
US8239572B1 (en) * | 2010-06-30 | 2012-08-07 | Amazon Technologies, Inc. | Custom routing decisions |
US9794220B2 (en) * | 2010-08-31 | 2017-10-17 | Comcast Cable Communications, Llc | Wireless extension of broadband access |
US8549129B2 (en) * | 2010-10-12 | 2013-10-01 | Microsoft Corporation | Live migration method for large-scale IT management systems |
KR101401378B1 (ko) * | 2010-10-26 | 2014-05-30 | 한국전자통신연구원 | 가상 머신의 라이브 마이그레이션에서 가상 연결성 유지를 위한 호스트 시스템, 원격 장치 서버 및 이를 이용한 연결성 유지 방법 |
US8533724B1 (en) | 2010-12-20 | 2013-09-10 | Amazon Technologies, Inc. | Virtual resource provisioning by assigning colors to virtual resources in multi-tenant resource pool |
US8868766B1 (en) * | 2011-03-29 | 2014-10-21 | Amazon Technologies, Inc. | Optimizing communication among collections of computing resources |
EP2693704B1 (en) * | 2011-04-28 | 2018-06-06 | Huawei Technologies Co., Ltd. | Method, regional management entity and system for virtual network migration |
US8924541B2 (en) * | 2011-05-29 | 2014-12-30 | International Business Machines Corporation | Migration of virtual resources over remotely connected networks |
US8824471B2 (en) * | 2011-06-01 | 2014-09-02 | Cisco Technology, Inc. | Maintained message delivery during routing domain migration |
US9736065B2 (en) | 2011-06-24 | 2017-08-15 | Cisco Technology, Inc. | Level of hierarchy in MST for traffic localization and load balancing |
US8997107B2 (en) * | 2011-06-28 | 2015-03-31 | Microsoft Technology Licensing, Llc | Elastic scaling for cloud-hosted batch applications |
US9246985B2 (en) * | 2011-06-28 | 2016-01-26 | Novell, Inc. | Techniques for prevent information disclosure via dynamic secure cloud resources |
US9781205B2 (en) * | 2011-09-12 | 2017-10-03 | Microsoft Technology Licensing, Llc | Coordination engine for cloud selection |
US8775438B1 (en) | 2011-09-22 | 2014-07-08 | Amazon Technologies, Inc. | Inferring resource allocation decisions from descriptive information |
JP6094487B2 (ja) * | 2011-09-27 | 2017-03-15 | 日本電気株式会社 | 情報システム、管理装置、データ処理方法、データ構造、プログラム、および記録媒体 |
US10320951B2 (en) * | 2011-10-31 | 2019-06-11 | Hurricane Electric | Systems and methods for establishing a virtual local area network |
IN2014DN05690A (zh) * | 2011-12-09 | 2015-04-03 | Kubisys Inc | |
JP5803656B2 (ja) * | 2011-12-21 | 2015-11-04 | 富士通株式会社 | 配信経路構築方法及び端末装置 |
US8908698B2 (en) | 2012-01-13 | 2014-12-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
US9021096B2 (en) | 2012-01-23 | 2015-04-28 | International Business Machines Corporation | Performing maintenance operations on cloud computing node without requiring to stop all virtual machines in the node |
US8909734B2 (en) | 2012-02-07 | 2014-12-09 | International Business Machines Corporation | Migrating data between networked computing environments |
US20130218768A1 (en) | 2012-02-21 | 2013-08-22 | Mike Leber | Systems and Methods for Facilitating Secured Financial Transactions |
US9201704B2 (en) * | 2012-04-05 | 2015-12-01 | Cisco Technology, Inc. | System and method for migrating application virtual machines in a network environment |
US9129124B2 (en) * | 2012-04-12 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Dynamic provisioning of virtual systems |
WO2013158142A1 (en) * | 2012-04-16 | 2013-10-24 | Hewlett-Packard Development Company, L.P. | Secure network data |
US9223634B2 (en) | 2012-05-02 | 2015-12-29 | Cisco Technology, Inc. | System and method for simulating virtual machine migration in a network environment |
US20130326038A1 (en) * | 2012-06-05 | 2013-12-05 | Microsoft Corporation | Management of datacenters for fault tolerance and bandwidth |
JP6304493B2 (ja) * | 2012-06-22 | 2018-04-04 | 日本電気株式会社 | 仮想マシンのマイグレーション方法、マイグレーション装置及びプログラム |
US9965760B2 (en) | 2012-06-29 | 2018-05-08 | Hurricane Electric | Systems and methods for facilitating electronic transactions utilizing a mobile computing device |
US20140032774A1 (en) * | 2012-07-30 | 2014-01-30 | Microsoft Corporation | Client-emulating Gateways for Communication Network Migration |
US8990956B2 (en) | 2012-08-06 | 2015-03-24 | Hurricane Electric | Systems and methods of exchanging information for a reward |
EP2891062A1 (en) * | 2012-08-28 | 2015-07-08 | Vce Company, Llc | Integrated computing platform deployed in an existing computing environment |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
US10394611B2 (en) * | 2012-11-26 | 2019-08-27 | Amazon Technologies, Inc. | Scaling computing clusters in a distributed computing system |
US20140161028A1 (en) * | 2012-12-07 | 2014-06-12 | At&T Mobility Ii Llc | Digital mobile radio front end processor |
CN103067514B (zh) * | 2012-12-29 | 2016-09-07 | 深圳先进技术研究院 | 用于视频监控分析系统的云计算资源优化的方法和系统 |
CN103079057B (zh) * | 2012-12-29 | 2016-03-09 | 深圳先进技术研究院 | 用于视频监控分析系统进行资源优化的方法和系统 |
US10452284B2 (en) * | 2013-02-05 | 2019-10-22 | International Business Machines Corporation | Storage system based host computer monitoring |
US9043439B2 (en) | 2013-03-14 | 2015-05-26 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
US9426154B2 (en) | 2013-03-14 | 2016-08-23 | Amazon Technologies, Inc. | Providing devices as a service |
JP6155861B2 (ja) * | 2013-06-06 | 2017-07-05 | 富士通株式会社 | データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置 |
CN104239026B (zh) * | 2013-06-21 | 2019-12-27 | 伊姆西公司 | 用于度量存储系统性能的方法和装置 |
JP5964786B2 (ja) * | 2013-06-24 | 2016-08-03 | 日本電信電話株式会社 | 管理装置、通信システム、管理方法、および、管理プログラム |
JP6009415B2 (ja) * | 2013-07-02 | 2016-10-19 | 日本電信電話株式会社 | 通信システム、管理装置、管理方法、および、管理プログラム |
US9996562B2 (en) | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
US10776244B2 (en) * | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US9686121B2 (en) * | 2013-09-23 | 2017-06-20 | Amazon Technologies, Inc. | Client-premise resource control via provider-defined interfaces |
US10333789B1 (en) * | 2013-12-18 | 2019-06-25 | Amazon Technologies, Inc. | Client-directed placement of remotely-configured service instances |
US10223385B2 (en) | 2013-12-19 | 2019-03-05 | At&T Intellectual Property I, L.P. | Systems, methods, and computer storage devices for providing third party application service providers with access to subscriber information |
US9529828B1 (en) * | 2013-12-24 | 2016-12-27 | EMC IP Holding Company LLC | Automating configuration and migrating configurations of assets in a storage area network |
US9942199B2 (en) * | 2013-12-31 | 2018-04-10 | Open Invention Network, Llc | Optimizing connections over virtual private networks |
US9800515B2 (en) * | 2014-01-31 | 2017-10-24 | Apollo Education Group, Inc. | Mechanism for controlling a process on a computing node based on the participation status of the computing node |
US11132173B1 (en) * | 2014-02-20 | 2021-09-28 | Amazon Technologies, Inc. | Network scheduling of stimulus-based actions |
US9703611B1 (en) | 2014-03-21 | 2017-07-11 | Amazon Technologies, Inc. | Isolating resources for utilization by tenants executing in multi-tenant software containers |
US10374866B1 (en) * | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Moving nodes in a distributed system |
US9755858B2 (en) | 2014-04-15 | 2017-09-05 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US9473365B2 (en) | 2014-05-08 | 2016-10-18 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
US9686140B2 (en) * | 2014-07-02 | 2017-06-20 | Verizon Patent And Licensing Inc. | Intelligent network interconnect |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US9729583B1 (en) | 2016-06-10 | 2017-08-08 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10152343B2 (en) | 2014-08-13 | 2018-12-11 | Hitachi, Ltd. | Method and apparatus for managing IT infrastructure in cloud environments by migrating pairs of virtual machines |
CN105471609B (zh) * | 2014-09-05 | 2019-04-05 | 华为技术有限公司 | 一种用于配置业务的方法和装置 |
US9923827B2 (en) | 2014-09-05 | 2018-03-20 | At&T Intellectual Property I, L.P. | Load balancing and migration of transport connections |
US9825878B2 (en) | 2014-09-26 | 2017-11-21 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US10050862B2 (en) | 2015-02-09 | 2018-08-14 | Cisco Technology, Inc. | Distributed application framework that uses network and application awareness for placing data |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10715460B2 (en) * | 2015-03-09 | 2020-07-14 | Amazon Technologies, Inc. | Opportunistic resource migration to optimize resource placement |
US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
CN104796338B (zh) * | 2015-04-24 | 2018-08-24 | 新华三技术有限公司 | 虚拟机迁移方法及装置 |
US10476982B2 (en) | 2015-05-15 | 2019-11-12 | Cisco Technology, Inc. | Multi-datacenter message queue |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
CA2990018C (en) * | 2015-06-29 | 2023-10-03 | Amazon Technologies, Inc. | Virtual machine instance migration using a triangle approach |
US10034201B2 (en) | 2015-07-09 | 2018-07-24 | Cisco Technology, Inc. | Stateless load-balancing across multiple tunnels |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
EP3362895B1 (en) * | 2015-10-13 | 2024-01-10 | Schneider Electric Industries SAS | Method for arranging workloads in a software defined automation system |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10205677B2 (en) | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US11070395B2 (en) * | 2015-12-09 | 2021-07-20 | Nokia Of America Corporation | Customer premises LAN expansion |
US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
US9910713B2 (en) * | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11004125B2 (en) | 2016-04-01 | 2021-05-11 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US10706447B2 (en) | 2016-04-01 | 2020-07-07 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
ES2979143T3 (es) * | 2016-06-10 | 2024-09-24 | Schneider Electric Ind Sas | Procedimiento y sistema para proporcionar un servicio proxy en un sistema industrial |
US10585968B2 (en) | 2016-06-10 | 2020-03-10 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10503926B2 (en) | 2016-06-10 | 2019-12-10 | OneTrust, LLC | Consent receipt management systems and related methods |
US10565161B2 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11057356B2 (en) | 2016-06-10 | 2021-07-06 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US10282700B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US10769301B2 (en) | 2016-06-10 | 2020-09-08 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US12118121B2 (en) | 2016-06-10 | 2024-10-15 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10592692B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10565397B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10796260B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Privacy management systems and methods |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US10949170B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for integration of consumer feedback with data subject access requests and related methods |
US11138299B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US10885485B2 (en) | 2016-06-10 | 2021-01-05 | OneTrust, LLC | Privacy management systems and methods |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US10565236B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US10242228B2 (en) | 2016-06-10 | 2019-03-26 | OneTrust, LLC | Data processing systems for measuring privacy maturity within an organization |
US11025675B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11144622B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Privacy management systems and methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US10607028B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10776518B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Consent receipt management systems and related methods |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US12052289B2 (en) | 2016-06-10 | 2024-07-30 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US10169609B1 (en) | 2016-06-10 | 2019-01-01 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US12045266B2 (en) | 2016-06-10 | 2024-07-23 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11138242B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US11074367B2 (en) | 2016-06-10 | 2021-07-27 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US10896394B2 (en) | 2016-06-10 | 2021-01-19 | OneTrust, LLC | Privacy management systems and methods |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11146566B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10839102B2 (en) | 2016-06-10 | 2020-11-17 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US10848523B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US10803200B2 (en) | 2016-06-10 | 2020-10-13 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US10762236B2 (en) | 2016-06-10 | 2020-09-01 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10944725B2 (en) | 2016-06-10 | 2021-03-09 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US11038925B2 (en) | 2016-06-10 | 2021-06-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10783256B2 (en) | 2016-06-10 | 2020-09-22 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US11157600B2 (en) | 2016-06-10 | 2021-10-26 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10997315B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10776517B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10496846B1 (en) | 2016-06-10 | 2019-12-03 | OneTrust, LLC | Data processing and communications systems and methods for the efficient implementation of privacy by design |
US10873606B2 (en) | 2016-06-10 | 2020-12-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US10798133B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US11023842B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US10572686B2 (en) | 2016-06-10 | 2020-02-25 | OneTrust, LLC | Consent receipt management systems and related methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US10776514B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for the identification and deletion of personal data in computer systems |
US11087260B2 (en) | 2016-06-10 | 2021-08-10 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11418492B2 (en) * | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11100444B2 (en) | 2016-06-10 | 2021-08-24 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US10726158B2 (en) | 2016-06-10 | 2020-07-28 | OneTrust, LLC | Consent receipt management and automated process blocking systems and related methods |
US10853501B2 (en) | 2016-06-10 | 2020-12-01 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US11151233B2 (en) | 2016-06-10 | 2021-10-19 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US10659283B2 (en) | 2016-07-08 | 2020-05-19 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10432532B2 (en) | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US10834226B2 (en) * | 2016-07-15 | 2020-11-10 | International Business Machines Corporation | Live migration of containers based on geo-location |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10142346B2 (en) | 2016-07-28 | 2018-11-27 | Cisco Technology, Inc. | Extension of a private cloud end-point group to a public cloud |
US10567344B2 (en) | 2016-08-23 | 2020-02-18 | Cisco Technology, Inc. | Automatic firewall configuration based on aggregated cloud managed information |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
US10514932B2 (en) * | 2016-09-26 | 2019-12-24 | Amazon Technologies, Inc. | Resource configuration based on dynamic group membership |
US10523592B2 (en) | 2016-10-10 | 2019-12-31 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10320683B2 (en) | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10671571B2 (en) | 2017-01-31 | 2020-06-02 | Cisco Technology, Inc. | Fast network performance in containerized environments for network function virtualization |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
US11005731B2 (en) | 2017-04-05 | 2021-05-11 | Cisco Technology, Inc. | Estimating model parameters for automatic deployment of scalable micro services |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
US10439877B2 (en) | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10666606B2 (en) * | 2017-06-28 | 2020-05-26 | Amazon Technologies, Inc. | Virtual private network service endpoints |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10601693B2 (en) | 2017-07-24 | 2020-03-24 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
US10353800B2 (en) | 2017-10-18 | 2019-07-16 | Cisco Technology, Inc. | System and method for graph based monitoring and management of distributed systems |
US11481362B2 (en) | 2017-11-13 | 2022-10-25 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US10705882B2 (en) | 2017-12-21 | 2020-07-07 | Cisco Technology, Inc. | System and method for resource placement across clouds for data intensive workloads |
US11595474B2 (en) | 2017-12-28 | 2023-02-28 | Cisco Technology, Inc. | Accelerating data replication using multicast and non-volatile memory enabled nodes |
US20190253274A1 (en) * | 2018-02-14 | 2019-08-15 | Megaport (Services) Pty Ltd. | Network interconnection service |
US10511534B2 (en) | 2018-04-06 | 2019-12-17 | Cisco Technology, Inc. | Stateless distributed load-balancing |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10904322B2 (en) | 2018-06-15 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for scaling down cloud-based servers handling secure connections |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11019083B2 (en) | 2018-06-20 | 2021-05-25 | Cisco Technology, Inc. | System for coordinating distributed website analysis |
US11121981B1 (en) | 2018-06-29 | 2021-09-14 | Amazon Technologies, Inc. | Optimistically granting permission to host computing resources |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US10819677B2 (en) * | 2018-07-16 | 2020-10-27 | Amazon Technologies, Inc. | Address migration service |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11144675B2 (en) | 2018-09-07 | 2021-10-12 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
EP3921998B1 (en) * | 2019-02-06 | 2023-08-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Migration of computational service |
US11494214B2 (en) * | 2019-03-28 | 2022-11-08 | Amazon Technologies, Inc. | Verified isolated run-time environments for enhanced security computations within compute instances |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
CN111092755B (zh) * | 2019-12-05 | 2022-05-03 | 桂林电子科技大学 | 一种基于资源占用的边缘服务迁移仿真方法 |
US11797528B2 (en) | 2020-07-08 | 2023-10-24 | OneTrust, LLC | Systems and methods for targeted data discovery |
WO2022026564A1 (en) | 2020-07-28 | 2022-02-03 | OneTrust, LLC | Systems and methods for automatically blocking the use of tracking tools |
WO2022032072A1 (en) | 2020-08-06 | 2022-02-10 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
US20220058590A1 (en) * | 2020-08-20 | 2022-02-24 | International Business Machines Corporation | Equipment maintenance in geo-distributed equipment |
US11436373B2 (en) | 2020-09-15 | 2022-09-06 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
WO2022061270A1 (en) | 2020-09-21 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
US11397819B2 (en) | 2020-11-06 | 2022-07-26 | OneTrust, LLC | Systems and methods for identifying data processing activities based on data discovery results |
WO2022102085A1 (ja) * | 2020-11-13 | 2022-05-19 | 日本電信電話株式会社 | 計算処理システム、計算処理方法および計算処理プログラム |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
WO2022170047A1 (en) | 2021-02-04 | 2022-08-11 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
US11494515B2 (en) | 2021-02-08 | 2022-11-08 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US20240098109A1 (en) | 2021-02-10 | 2024-03-21 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
WO2022178089A1 (en) | 2021-02-17 | 2022-08-25 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
WO2022178219A1 (en) | 2021-02-18 | 2022-08-25 | OneTrust, LLC | Selective redaction of media content |
US11533315B2 (en) | 2021-03-08 | 2022-12-20 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
US11831615B1 (en) * | 2022-12-01 | 2023-11-28 | Uab 360 It | Parallel tunneling with virtual private network servers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947096A (zh) * | 2004-05-08 | 2007-04-11 | 国际商业机器公司 | 虚拟机计算机程序的动态迁移 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3224745B2 (ja) * | 1996-07-09 | 2001-11-05 | 株式会社日立製作所 | 高信頼化ネットワークシステム及びサーバ切り替え方法 |
US7299294B1 (en) * | 1999-11-10 | 2007-11-20 | Emc Corporation | Distributed traffic controller for network data |
JP4148605B2 (ja) * | 1999-08-06 | 2008-09-10 | 富士通株式会社 | ネットワークシステムおよびサーバ |
US7117273B1 (en) * | 2000-01-25 | 2006-10-03 | Cisco Technology, Inc. | Methods and apparatus for maintaining a map of node relationships for a network |
JP4572476B2 (ja) * | 2001-03-13 | 2010-11-04 | ソニー株式会社 | 通信処理システム、通信処理方法、および通信端末装置、データ転送制御装置、並びにプログラム |
US7644171B2 (en) * | 2001-09-12 | 2010-01-05 | Netmotion Wireless, Inc. | Mobile networking system and method using IPv4 and IPv6 |
US7561553B2 (en) * | 2002-02-27 | 2009-07-14 | Motorola, Inc. | Method and apparatus for providing IP mobility for mobile networks and detachable mobile network nodes |
US7484208B1 (en) * | 2002-12-12 | 2009-01-27 | Michael Nelson | Virtual machine migration |
EP1453243B1 (en) * | 2003-02-03 | 2014-01-15 | NTT DoCoMo, Inc. | An apparatus and a method for optimizing network resources in data communication |
WO2004109993A1 (ja) * | 2003-05-13 | 2004-12-16 | Fujitsu Limited | ネットワークシステム |
JP4271988B2 (ja) * | 2003-05-19 | 2009-06-03 | 株式会社日立コミュニケーションテクノロジー | パケット通信装置 |
FR2855697B1 (fr) * | 2003-05-26 | 2005-09-23 | At & T Corp | SYSTEME DE CONVERSION DE DONNEES BASEE SUR IPv4 EN DONNEES BASEES SUR IPv6 A TRANSMETTRE A TRAVERS UN RESEAU COMMUTE IP |
US7684417B2 (en) * | 2004-02-26 | 2010-03-23 | Nec Corporation | Method of migrating processes between networks and network system thereof |
US20060123111A1 (en) * | 2004-12-02 | 2006-06-08 | Frank Dea | Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems |
US7681075B2 (en) * | 2006-05-02 | 2010-03-16 | Open Invention Network Llc | Method and system for providing high availability to distributed computer applications |
US7761573B2 (en) * | 2005-12-07 | 2010-07-20 | Avaya Inc. | Seamless live migration of virtual machines across optical networks |
ATE456890T1 (de) * | 2005-12-13 | 2010-02-15 | Ibm | Verfahren zum betrieb von mehreren virtuellen netzwerken |
US7840683B2 (en) * | 2006-08-31 | 2010-11-23 | Sap Ag | Systems and methods of migrating sessions between computer systems |
US7852819B2 (en) * | 2007-03-01 | 2010-12-14 | Meraki, Inc. | Client operation for network access |
US7801994B2 (en) | 2007-11-29 | 2010-09-21 | Hitachi, Ltd. | Method and apparatus for locating candidate data centers for application migration |
US7865586B2 (en) * | 2008-03-31 | 2011-01-04 | Amazon Technologies, Inc. | Configuring communications between computing nodes |
US8046480B2 (en) * | 2008-03-31 | 2011-10-25 | Amazon Technologies, Inc. | Embedding overlay virtual network addresses in underlying substrate network addresses |
-
2009
- 2009-07-22 US US12/507,742 patent/US8234377B2/en not_active Expired - Fee Related
-
2010
- 2010-07-22 CN CN201080036315.1A patent/CN102473114B/zh active Active
- 2010-07-22 EP EP10802883.8A patent/EP2457159B1/en active Active
- 2010-07-22 CN CN201410287384.XA patent/CN104090825B/zh active Active
- 2010-07-22 WO PCT/US2010/042858 patent/WO2011011576A1/en active Application Filing
- 2010-07-22 SG SG2012000659A patent/SG177515A1/en unknown
- 2010-07-22 JP JP2012521774A patent/JP5520375B2/ja active Active
- 2010-07-22 CA CA2767553A patent/CA2767553C/en active Active
-
2012
- 2012-07-06 US US13/543,538 patent/US9495219B2/en active Active
-
2014
- 2014-04-04 JP JP2014078195A patent/JP5948362B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947096A (zh) * | 2004-05-08 | 2007-04-11 | 国际商业机器公司 | 虚拟机计算机程序的动态迁移 |
Also Published As
Publication number | Publication date |
---|---|
EP2457159A1 (en) | 2012-05-30 |
US8234377B2 (en) | 2012-07-31 |
JP5520375B2 (ja) | 2014-06-11 |
US9495219B2 (en) | 2016-11-15 |
JP5948362B2 (ja) | 2016-07-06 |
CA2767553A1 (en) | 2011-01-27 |
JP2013500518A (ja) | 2013-01-07 |
CN102473114A (zh) | 2012-05-23 |
US20130046874A1 (en) | 2013-02-21 |
CN104090825A (zh) | 2014-10-08 |
CA2767553C (en) | 2014-10-28 |
SG177515A1 (en) | 2012-02-28 |
WO2011011576A1 (en) | 2011-01-27 |
CN102473114B (zh) | 2014-07-09 |
EP2457159B1 (en) | 2015-10-14 |
JP2014157617A (ja) | 2014-08-28 |
US20110022711A1 (en) | 2011-01-27 |
EP2457159A4 (en) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104090825B (zh) | 动态迁移计算机网络 | |
CN105072096B (zh) | 提供到可配置专用计算机网络的访问 | |
US20210152632A1 (en) | Managing replication of computing nodes for provided computer networks | |
CN104320418B (zh) | 提供对远程服务的本地安全网络访问 | |
JP6306640B2 (ja) | 管理されたコンピュータネットワークのための論理ネットワーキング機能の提供 | |
US9864727B1 (en) | Providing dynamically scaling computing load balancing | |
CN106663034A (zh) | 基于企业的网络与多租户网络之间的应用程序迁移 | |
CN103401952B (zh) | 配置计算机节点之间的通信 | |
CN106462408A (zh) | 到云计算环境中的工作空间的低延迟连接 | |
CN102893559A (zh) | 互连虚拟网络的成员 | |
CN108768861A (zh) | 一种发送业务报文的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |