CN102246147B - 提供到可配置专用计算机网络的访问 - Google Patents

提供到可配置专用计算机网络的访问 Download PDF

Info

Publication number
CN102246147B
CN102246147B CN200980149403.XA CN200980149403A CN102246147B CN 102246147 B CN102246147 B CN 102246147B CN 200980149403 A CN200980149403 A CN 200980149403A CN 102246147 B CN102246147 B CN 102246147B
Authority
CN
China
Prior art keywords
network
computer network
client
service
communication
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
Application number
CN200980149403.XA
Other languages
English (en)
Other versions
CN102246147A (zh
Inventor
埃里克·詹森·布兰德温
克莱里萨·洛里·库克·布兰德温
丹尼尔·T·科恩
安德鲁·J·德恩
卡尔·J·莫塞斯
斯特芬·E·舒米特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Priority to CN201410469606.XA priority Critical patent/CN104283869B/zh
Priority to CN201510435053.0A priority patent/CN105072096B/zh
Publication of CN102246147A publication Critical patent/CN102246147A/zh
Application granted granted Critical
Publication of CN102246147B publication Critical patent/CN102246147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Abstract

描述了为用户提供到计算机网络的访问的技术,以便于使用户能够与远程可配置网络服务交互以创建和配置由该可配置网络服务为该用户的使用所提供的计算机网络。可将该可配置网络服务提供的计算机网络配置成仅由创建他们的用户可访问的专用计算机网络,该可配置网络服务的客户端可创建和配置该计算机网络的每一个作为该客户端的现有计算机网络的延伸,如该客户端的现有专用计算机网络的专用计算机网络延伸。如果这样,使用一个或多个VPN连接或其他专用访问机制可使能被提供的在现有计算机网络和新计算机网络延伸之间的安全专门访问。

Description

提供到可配置专用计算机网络的访问
背景技术
许多公司和其他组织操作互连了很多计算系统的计算机网络以支持他们的操作,例如使用了机房共置(如,作为局域络的一部分)或改为位于多个不同的地理位置(如,通过一个或多个专用或公用的中间网络连接)的计算机系统。例如,容置了明显多的互连计算机系统的数据中心已经普遍,例如通过并代表了单个组织来操作的专用数据中心,和通过作为企业的实体来操作以为顾客提供计算资源的公用数据中心。一些公用数据中心的操作者提供了网络访问,功率和由各个顾客所拥有硬件的安全安装功能,当其他公用数据中心的操作者提供了“完全服务”功能,其同样包括为他们的顾客可使用而制作的硬件资源。但是,随着常用的数据中心的尺寸和范围已经增长,该物理计算资源的提供,支配和管理已经变得递增地复杂。
标准硬件虚拟化技术的出现已经提供了一些关于管理具有不同需求的多个顾客所使用的计算资源的优点,允许多个顾客被验证并安全地共享多个计算资源。例如,虚拟化技术,如由VMWare,XEN或用户模式的Linux所提供的,可允许在多个用户之间共享单个物理计算机器,通过为每一个用户提供由该单个物理计算机器作为主机的一个或多个虚拟机,每一个这样的虚拟机是用作不同的逻辑计算系统的软件模拟器,该系统为用户提供了他们是给定的硬件计算资源的单一操作者和管理者的假象,在同样提供了该多个虚拟机中间的应用程序隔离和安全性时。进一步地,一些虚拟化技术能够提供分布在一个或多个物理资源上的虚拟资源,如具有分布在多个不同物理计算系统上的多个虚拟处理器的单个虚拟机。
附图说明
图1A和1B是描述了涉及创建并配置专用计算机网络的远程客户端的交互的示例性实施方案的网络图。
图2是描述了用于提供计算机网络给客户端的互连计算系统的示例性实施方案的网络图。
图3是描述了适合执行为远程客户端的使用而提供了计算机网络的系统的实施方案的示例性计算系统的方框图。
图4A和4B示出了可配置网络服务管理程序的示例性实施方案的流程图。
图5示出了节点通信管理程序的示例性实施方案的流程图。
图6示出了外部通信管理程序的示例性实施方案的流程图。
图7示出了远程资源服务访问程序的示例性实施方案的流程图。
图8示出了VPN创建实现程序的示例性实施方案的流程图。
发明详述
为用户提供到计算机网络的访问而进行技术描述,如在远程用户可获得的可配置网络服务的控制下。在至少一些实施方案中,远程用户可在公用网络上与可配置网络服务进行交互以为该用户的使用而创建并配置计算机网络,该被配置的计算机网络由该可配置网络服务提供并包括多个该可配置网络服务所保留的或不然所控制下的计算节点。在配置这样的计算机网络后,该用户可以使用由该可配置网络服务提供给该用户的计算机网络交互于一个或多个远程位置,如执行在该提供的计算机网络的计算节点上的程序。该可配置网络服务可能在至少一些实施方案中是基于收费的服务,使得该可配置网络服务的用户成为付费给该可配置网路服务以获得由该可配置网络服务提供的功能中至少一些的顾客。另外,在至少一些实施方案中,上述技术中的一些或全部由可配置网络服务管理模块的实施方案来自动实施,可选地与其他通信管理模块一起,如下进行更具体的描述。
在至少一些实施方案中,由该可配置网络服务所提供的计算机网络中至少一些是专用计算机网络,其仅仅可被该可配置网络服务的用户来访问,并为该用户创建并配置了该提供的计算机网络(或通过其他方式为其明确地配置访问)。例如,该可配置网络服务可为作为该可配置网络服务的客户端的用户提供了为该客户端提供的计算机网络的安全专用访问,如通过使能VPN(虚拟专用网络)连接或其他在一个或多个该客户端的远程计算系统和该提供的计算机网络之间的安全连接,或可以使用其他安全和/或认证技术来使得该客户端与该提供的计算机网络以专用和安全方式进行远程地交互。另外,在至少一些实施方案中,该可配置网络服务所提供的该计算机网络的至少一些,每一个由客户端创建并配置,成为该客户端的现有计算机网络的延伸,如对于该客户端的现有远程专用计算机网络的专用计算机网络延伸(如,企业实体的客户端的远程企业网络)。在这样的实施方案中,正被提供的在该现有计算机网络和新的计算机网络延伸之间的安全专用访问可使用一个或多个VPN连接或其他专用连接来可类似地进行使能。下面包括了与为由该可配置网络服务的实施方案所提供的计算机网络建立客户端的访问相关的附加细节。
该可配置网络服务的客户端可以在各个实施方案中的各种方式来创建并配置由该可配置网络服务所提供的计算机网络。在至少一些实施方案中,该可配置网络服务提供了一个或多个API(“应用程序接口”),该API使得客户端的计算系统与该可配置网络可编程地交互以执行由该可配置网络服务所提供的计算机网络的创建,配置,和启动使用中的一些或全部行为,当在至少一些实施方案中成为该可配置网络服务的客户端的用户可以与该可配置网络服务进行相互地交互以实施上述行为的一些或全部时(如,通过该可配置网络服务提供的GUI,或图形用户界面,或其他控制台),无论是作为通过使用上述API实施上述行为的替代或附加。在一些实施方案中,用户可获得的GUI可以基于下面的用户可替换的API,而在其他实施方案中,可以其他方式实施GUI。另外,在客户端的计算装置和该可配置网络服务之间的交互可至少部分地基于在该客户端计算装置和该可配置网络服务之间发送的电子信息(如,电子邮件信息),如依照该可配置网络服务的基于信息的API。
例如,在至少一些实施方案中,客户端可与该可配置网络服务的实施方案进行交互以指定将提供给该客户端的计算机网络的配置信息,该配置信息可选地包括多种类型的信息,如下列非排他性列表中的一个或多个:将被分配给该提供的计算机网络的多个计算节点的多个指定网络地址;该提供的计算机网络的指定网络拓扑信息;和该提供的计算机网络的指定网络访问限制。该多个指定网络地址可包括,例如,一个或多个网络地址范围,和如果正被提供的该计算机网络是客户端的远程专用计算机网络的延伸,可对应于该远程专用计算机网络所使用的虚拟和/或专用网络地址的子集。该指定网络拓扑信息可指示,例如该提供计算机网络的计算节点的子集,其将被一起分组或不然将共享相同的互相通信的特性,如通过将一个或多个网络装置指定为该提供的计算机网络的一部分(如,路由器,断路器,等),上述管理或不然与具有特定指定网络地址的计算节点相关,或不然通过指示该提供的计算机网络的子集或该提供的计算机网络的计算节点的其他分组。该指定网络访问限制信息可指示,例如,对于该提供的计算机网络的计算节点的一个或多个中的每一个,那些其他计算节点可能与该计算节点互相通信和/或允许到和/或来自该计算节点的通信的类型,包括是否允许该提供的计算机网络的计算节点与该提供的计算机网络之外的任意计算节点进行通信(或在该提供的计算机网络是现有其他计算机网络的延伸的情况中,是否允许该提供的计算机网络的计算节点与上述其所属的其他计算机网络之外的任意计算节点进行通信)。下面包括了与创建并配置由该可配置网络服务的实施方案所提供的计算机网络相关的附加细节。
另外,在至少一些实施方案中,该可配置网络服务用来为客户端提供计算机网络的该计算节点可具有多种形式,如物理计算系统和/或虚拟机,该虚拟机每一个以一个或多个物理计算系统为主机。例如,在一些实施方案中,该可配置网络服务可包括许多由该可配置网络服务提供的可用于提供给客户端的计算机网络中的计算节点,如在一个或多个地理位置中的一个或多个数据中心内。另外,在至少一些实施方案中,通过一个或多个中间物理网络将由该可配置网络服务提供的该计算节点的一些或全部进行互连,提供给客户端的该计算机网络可以是虚拟的(或“逻辑上的”)通过将该中间物理网络用作基板网络而贴在该中间物理网络之上的网络。进一步地,在至少一些实施方案中,代表多个顾客或该程序执行服务的其他用户执行多个程序的程序执行服务(或“PES”)可使用该计算节点中的至少一些。下面包括了与计算节点和以下计算机网络相关的附加细节,以及与将虚拟网络提供给客户端和提供程序执行服务的示例性实施方案相关的附加细节被包括于2006年3月31日提交的名为“管理在计算节点之间的通信”的第11/394,595号美国申请(代理人卷号120137.524),2006年3月31日提交的名为“通过多个计算机系统管理程序的执行”的第11/395,463号美国申请(代理人卷号120137.525),2007年3月27日提交的名为“配置在计算节点之间的互相通信”的第11/692,038号美国申请(代理人卷号120137.554),2008年3月31日提交的名为“配置在计算节点之间的通信”的第12/060,074号美国申请(代理人卷号120137.576),和2007年6月18日提交的名为“提供到远程服务的增强访问”的第11/764,739号美国申请(代理人卷号120137.555),其中的每一个通过引用并入本文中。
在一些实施方案中,客户端可进一步地配置由该可配置网络服务提供的计算机网络以提供到一个或多个远离该提供的计算机网络的其他网络可访问服务的访问,如在该互联网或其他公用网络上,或不然在该提供的计算机网络之外和不属于该提供的计算机网络一部分的那些网络上可访问的其他远程网络可访问服务。至少一些这样的远程服务在一些实施方案中可被附属于该可配置网络服务(如,由该可配置网络服务的操作者或附属实体来提供;由该可配置网络服务的另一个客户端来提供,如通过由该可配置网络服务提供给上述其他客户端的计算机网络,等),以及这少一些这样的远程服务在一些实施方案中可被替代地独立于该可配置网络服务。这样的其他远程服务在各个实施方案中可具有各种形式,包括提供到一个或多个类型的计算相关资源的网络访问(如,提供访问已存储数据资源的存储服务,提供访问信息队列资源或其他已存储信息资源的消息服务,提供访问已存储数据库资源的数据库服务,提供访问程序执行资源的程序执行服务,等)用于远程计算系统的使用,或不然其提供到信息或功能或其他使用资源的访问(如,提供股票报价信息资源或搜速查询结果资源的服务;提供相片共享功能资源或社交能力资源的服务;等)。在一些情况中,该可配置网络服务的实施方案可提供在数据中心或其他地理位置处的多个计算节点,以及可以使用这些计算节点的子集以提供给不同的客户端以不同的计算机网络(如,每一个提供的计算机网络是共享相同基板网络的不同虚拟网络)-在这样地情况中,一个客户端可以为该客户端配置该提供的计算机网络以提供到一个或多个网络可访问远程服务的访问,该服务由使用在该地理位置处该提供的计算机网络的其他服务的其他客户端来提供,如没有一个客户端意识到在同一地理位置处的其他计算节点实际上提供了这些远程资源。
在至少一些实施方案中,客户端可为该客户端配置提供的计算机网络以包括访问特定资源服务的机制,能够配置该访问机制以为该提供的计算机网络提供各个功能。作为一个特殊的实施例,在一些实施方案中,具有多个相关虚拟网络地址的提供的虚拟计算机网络可以分配这些虚拟网络地址的一个(或多个)以展示特定的远程资源服务,使得计算节点或该提供的计算机网络的其他参与者可以与该提供的计算机网络之外的远程资源服务进行通信,通过对于该提供的计算机网络为本地的代表性分配网络地址。以这种方式,即使提供的计算机网络被配置有网络访问限制以阻止该提供的计算机网络对外的通信(如,阻止将通过该互联网或一个或多个其他公用网络的通信),可配置该提供的计算机网络以允许与特定外部远程资源服务通过这样的成为该提供的计算机网络一部分的访问机制来进行通信。
进一步地,可在至少一些实施方案中使用各种技术来为从提供的计算机网络到远程资源服务通过该提供的计算机网络的已配置访问机制进行的这样的通信提供增强的安全机制。例如,在至少一些实施方案中,特定远程资源服务可以具有公开可访问的接口,用户通过该互联网或其他公用网络(如,通过一个或多个公用网络地址和相关域名)可访问该接口,但是同样可实施从该基板网络处直接可访问的接口,其被该可配置网络服务用来与计算节点互连,例如如果该特定远程资源服务被与该可配置网络服务相同的操作者提供或不然附属与该可配置网络服务。如果在特定远程资源服务的基板网络上实施这样的直接访问接口,该可配置网络服务的一个或多个提供的计算机网络每一个可具有该远程资源服务的已配置访问机制,其将所需的该远程资源服务的通信引导到在该基板网络上实施的上述接口,而不是引导到该远程资源服务的远程公开可访问接口。相应地上述远程资源服务可选择地,在至少一些这样的实施方案和情况中,对于以该可配置网络服务本地的方式的至少一些客户端请求提供该远程资源服务的功能的一些或全部(如,如果使用该可配置网络服务的一个或多个计算节点来实施上述本地功能),而在其他实施方案和情况中,该远程资源业务可为管理通信的至少一些这样的客户端请求提供功能的一些或全部,该通信在该可配置网络服务的基板网络之间,以安全方式在该远程资源服务的远程位置的一个或多个公用网络之上。可替代地,在至少一些实施方案中,该可配置网络服务可为至少一些远程资源服务实施附加行为以提供在一个或多个公用网络上以类似方式从该可配置网络服务到该远程资源服务的远程位置的安全通信,如通过以对于该远程资源服务可访问的方式加密该通信和/或通过将该通信认证为来自可信源。下面包括了与访问来自提供的计算机网络的远程资源相关的附加细节。
进一步地,在至少一些这样的实施例中,可配置客户端的提供的计算机网络以接收指向由网络可访问远程资源服务所提供的计算相关资源的特定子集的访问,如与上述客户端相应的子集。作为一实施例,远程资源服务可使用不同的命名空间,该命名空间将远程资源服务提供的资源划分为具有不同访问权限并被分别引用的不同组,使得在不同命名空间内的不同资源可具有同一本地名称或其他标识,但基于上述命名空间被分别引用,以及使用对应于特定客户端的特定命名空间。如果这样,客户端的提供的计算机网络可包括访问特定远程资源服务的一个或多个机制,其每一个被配置以自动地对应于该远程资源服务的特定命名空间,使得该提供的计算机网络的计算节点可使用已配置的访问机制来获取到该客户端的该特定相应命名空间内的资源的访问。进一步地,在至少一些实施方案中,该提供的计算机网络的计算节点可能不知道已配置机制相应的命名空间,使得计算节点可发送请求或其他信息给该远程资源服务以指示关注资源的名称或其他标识在该命名空间的上下文内,而不是在该命名空间的实际指示中。如果这样,该已配置访问机制可自动地修改或转化该信息使得该指示的名称或其他标识与对应于该已配置访问机制的命名空间关联,发送该信息的该计算节点清楚该可选的修改或转化。
可以多种方式配置该提供计算机网络和展示远程资源服务的该访问机制。例如,在一些情况中,客户端可指定在该远程资源服务内该客户端的现有命名空间,如该客户端先前在其中已存入或不然已使用特定资源的命名空间。可替代地,在其他实施方案中,该可配置网络服务可为从该提供的计算机网络处访问到的新资源来自动地启动该远程资源服务内新命名空间的使用,如通过与该远程资源服务的交互来创建该新命名空间。可在不同时间实施这样的与该远程资源服务的交互,如当创建该客户端和配置该提供的计算机网络时,或作为替代的更晚时间(如,当在该提供计算机网络上的计算节点第一次试图通过已配置访问机制来访问该远程资源服务时)。进一步地,在至少一些实施方案和情况中,该可配置网络服务可生成与该提供计算机网络相关的唯一标识并使用该标识以引用该新命名空间,而在其他实施方案中,该远程资源服务可提供这样的标识或被创建的新命名空间的其他指示。不论何种情况,该客户端和该提供的计算机网络的计算节点会可选地不知道该新的自动启动的命名空间和/或该可配置网络服务所使用以引用该新命名空间的唯一标识。可替代地,在一些实施方案中,该客户端可以指定将被该可配置网络服务所使用的标识,其将与由该可配置网络服务提供给该客户端的计算机网络相关,无论该客户端是否知道该可配置网络服务将使用该标识以引用新命名空间或可替换的其他方式。进一步地,在至少一些实施方案中,该与提供给客户端的计算机网络相关的标识可以是与该客户端相关的标识,例如如果该客户端具有单个提供的计算机网络,而在其他实施方案中该提供的计算机网络标识不同于任意指定客户端的标识。下面包括了与使用命名空间关联的附加细节。
另外,在至少一些这样的实施方案中,客户端的提供的计算机网络所使用以从特定远程资源服务处访问资源的该访问机制可被配置以帮助该远程资源服务认证或生效从该提供的计算机网络处所接收的通信,例如,使特定位置发出的通信生效(如,甚至为了阻止相同客户端从另一位置处访问特定资源)。例如,至少一些远程资源服务可能允许或需要由该远程资源服务提供的资源,其每一个具有一个或多个相关访问控制指示符(如,名称或其他文本标识,数字标识,标记或其他访问键,证书,等),使得可由外部请求方访问这样的资源,仅在如果该请求方支持所有这些相关指示符时。对于这样的远程资源服务,该客户端的提供的计算机网络的计算节点所使用的访问控制指示符中的一个可以是与该客户端对应的标识,如具有该远程资源服务的客户端的顾客标识。如果仅仅该客户端的单个顾客标识与资源相关,则该客户端可能能够通过支持该同一单个顾客标识来访问来自该客户端的其他远程计算系统的资源。这样的资源,例如,可以响应于来自该客户端的请求或不然由该客户端访问并与该客户端相关(如,临时的)。
但是,在至少一些实施方案中,客户端的提供的计算机网络用来访问来自特定远程资源服务的资源的已配置访问机制可被配置以修改正被发送给该多个远程资源服务的通信来包括一个或多个其他附加访问控制指示符。这样的其他附加访问控制指示符可包括,例如,对应于由该可配置网络服务自动生成的提供的计算机网络的标识,以及在至少一些实施方案中,该客户端和/或该提供的计算机网络的计算节点可能知道被使用的该特定附加访问控制指示符,或甚至知道任意这样的附加访问控制指示符的存在和使用。如果该客户端不了解该一个或多个附加访问控制指示符,则该客户端可能未访问这些资源除了通过该已配置访问机制从该提供的计算机网络处访问,因此该客户端将不会用别的方式支持与在访问该资源的请求中的这样资源相关的所有指示符。因此,如上所述,远程资源服务可使用这样的附加访问控制指示符作为该资源或访问资源的请求位置的指示符,使得来自其他位置的请求无法提供到该资源的访问。可替代地,可为来自其他位置的请求提供到这样资源的不同访问,例如配置资源以允许对该资源的写或其他修改访问,仅仅如果支持该资源的所有访问控制指示符时,但是在其他环境下以允许对该资源的读或其他访问,例如如果支持该指定客户端的标识时通过来自另一个位置的客户端,通过不具有支持任意该访问控制指示符的任何人,等。另外,这样的附加访问控制指示符可具有多种形式,例如自动产生的随机字母数字指示符,与提供计算机网络相关的实际地理位置的指示,等。
在类似于该命名空间的使用的方式中,可以各种方式来实施配置该提供的计算机网络的访问机制以使用一个或多个这样的附加访问控制指示符。例如,在一些实施方案中,客户端可指定一个或多个将与提供的计算机网络相关的附加指示符以通过已配置的到远程资源服务的访问机制进行使用。可替代地,在其他实施方案中,该可配置的网络服务可以自动地启动一个或多个新附加指示符的使用,用于到提供的计算机网络的远程资源服务的已配置访问机制(如,通过生成并使用与该提供的计算机网络相关的唯一标识),使得通过该已配置访问机制从该远程资源服务处访问到的新资源仅仅对于该提供的计算机网络是可访问的。另外,如下进行更具体地讨论,该可配置网络服务的一些实施方案可使用各种模块以管理在提供的计算机网络的计算节点之间的通信,例如以实现在基板网络上的通信的传送,以及如果这样,可配置一个或多个这样的模块来实施特定访问机制,通过自动修改通信以包括命名空间标识和/或访问控制指示符和/或通过在一个或多个公用网络上将通信推进(可选地在修改后)到特定远程资源服务处。下面包括了与实施访问机制相关的附加细节,该机制包括帮助远程资源服务将来自提供的计算机网络处的指定位置通信生效。
在至少一些实施方案中,该可配置网络服务进一步包括API,该API使得客户端与该可配置网络服务进行可编程地交互以使得该可配置网络服务来采取行为,该行为实施了通过该可配置网络服务建立该客户端到提供给他们的计算机网络的远程访问。这样的远程访问建立API可在各个实施方案中实施各种行为,以及在至少一些实施方案中,通过该可配置网络服务帮助客户端建立从该客户端的远程位置到正提供给该客户端的计算机网络的VPN连接。如上所述,在一些情况中,客户端可能具有在该可配置网络服务之外的远程专用计算机网络,由该可配置网络服务建立和提供的计算机网络可以是该远程专用网络的延伸或不然连接到该远程专用网络。在其他情况中,客户端可使用一个或多个其他远程计算系统以与该可配置计算机服务所提供计算机网络进行访问和交互。不论何种情况,该客户端可以在至少一些实施方案中使用到由该可配置网络服务所提供计算机网络的VPN连接或其他来自该远程专用网络或其他远程计算系统的其他安全连接。在这样的实施方案中,由该可配置网络服务提供的该远程访问建立API,当由该可配置网络服务的客户端可编程地调用时,可使得该可配置网络服务启动到一个或多个适合网络组件的客户端的供应以允许该远程专用网络或该客户端的其他远程计算系统来建立到由该可配置网络服务所提供的计算机网络的VPN连接或其他安全连接。这样的网络组件可包括,例如,一个或多个硬件装置(如,路由器或其他网络装置),软件组件,和/或配置信息的分组。
例如,在一些实施方案中,通过客户端对该远程访问建立API的调用使得该可配置网络服务与商人交互以购买或不然获取合适的路由器装置或其他被交付给该客户端远程位置的硬件网络装置,并适当地使得该获取的网络装置的已配置软件或其他配置信息将被交付给该客户端,使得在使用该软件或基于该配置信息配置该装置和该装置连接到该客户端的一个或多个远程计算系统时,该装置将通过该可配置网络服务启动提供给该客户端的与该计算机网络的连接。以这种方式,在该客户端接收到该网络装置,软件和/或配置信息后,该客户端,例如,可将该接收到的网络装置附于该远程专用网络或其他远程计算系统上,并使用该软件和/或配置信息以配置该接收到的网络装置。该已配置网络装置随后可自动地连接为该客户端所提供的计算机网络并建立该VPN连接以使能该客户端到该提供的计算机网络的专用安全访问。在其他情况中,该已配置的网络装置可以首先自动连接该可配置网络服务的已配置计算系统以获取指定给为该客户端所提供的计算机网络的附加配置信息,随后自动地连续建立到该提供的计算机网络的VPN连接。
在这样的实施方案中,用来将该网络装置提供给客户端的商人可具有各种形式,如由操作该可配置的网络服务的相同操作者所操作的在线销售商或其他零售商,或不然附属于该可配置网络服务的商人,或可替换地不附属于该可配置网络服务的第三方商人。在各个实施方案中可以不同方式类似地选择该将使用的硬件装置,包括基于由该可配置网络服务所提供计算机网络和/或由该客户端所使用中的该远程计算系统的兼容性,如该客户端可自动地检测和/或指定的一样。进一步地,在一些实施方案中,从该客户端可选之处可获得多个替代方式,如当开始调用该远程访问建立API时该客户端可指定的一样,或响应于来自该可配置网络服务的较晚查询(如,从该客户端可选之处指定该多个替代方式的查询)。在其他实施方按中,可使用单个类型的网络装置或其他硬件装置。另外,从各个源处可提供给该客户端该已配置软件和/或其他配置信息(如,通过提供该网络装置的相同商人,直接通过该可配置网络服务,或通过其他实体),并可以各种方式提供(如,电子地将该软件和/或配置信息传送给该客户端;通过将该软件和/或配置信息存储在物理装置可读介质上,如DVD或USB存储键,和物理上地将该介质交付给该客户端;通过在该网络装置上存储该软件和/或配置信息,在将他们交付给该客户端之前,如用来预先配置该装置一样;等)。另外,在一些实施方按中,提供给该客户端的已配置软件可能足够用于建立该VPN连接,如当使用了在该远程位置处该客户端已经具有的一个或多个计算系统或其他硬件装置时一样。
进一步地,从零售商或其他第三方实体为客户端进行的硬件装置的获取可在各个实施方案中以各种方式实施,如购买该装置或可替换地以另一方式获取他(如,获取他用来租赁,出租,临时估价,等),以及在一些实施方案中可包括提供报酬给该零售商并随后分别从该客户端处获取报酬的该可配置网络服务(如,来自该客户端的报酬超过,少于或相同于给该零售商的报酬),或该客户端将报酬直接提供给该零售商的可替换方式(如,通过提供该零售商以该客户端的报酬信息的该可配置网络服务,通过提供该零售商以用于和该客户端接触或不然交互以获取该报酬信息的信息的该可配置网络服务,通过该零售商使用先前从该客户端获取的信息以获取该报酬的方式,等)。另外,当在一些实施方案中时,为客户端从零售商处的硬件装置的启动的获取使得该来自该零售商处的该硬件装置直接交付给该客户端的远程位置,在其他实施方案中,该可配置网络服务可以其他方式实施该获取,如开始提取该硬件装置并随后将其交付给该客户端(如,在使用合适软件和/或配置信息对该硬件装置进行配置后,或可替换地通过将该硬件装置以其被接收到时的相同形式转发给该客户端)。下面描述了在各个实施方案中与通过该可配置网络服务实现客户端的该远程访问建立API的编程调用的相关行为的附加细节。
为了用于说明,下面描述了一些实施方案,其中实施了指定类型的计算节点,网络,通信,和配置操作。为了说明目的提供了这些实施例并为了简洁起见对其进行了简化,以及可在种类繁多的其他情况中使用该发明的技术,下面对其中的一些进行了描述。例如,在一些实施方案中,客户端创建并为访问配置的该计算机网络是对这些客户端的现有专用计算机网络的专用计算机网络延伸,而在其他实施方案中,该被创建和配置的计算机网络可以使独立的计算机网络,其不是其他计算机网络的延伸和/或可能是公用计算机网络,被代表以创建和配置他们的该客户端无法专门地访问该公用计算机网络。另外,在一些实施方案中,由该可配置网络服务提供的该计算机网络使用了由该可配置网络服务提供和控制的计算节点,而在其他实施方案中,用来提供计算机网络的这样的计算节点的至少一些可被其他控制或维护(如,通过第三方,通过该客户端,等),但是使得被该可配置网络服务所使用成为可能。
图1A是描述了使得远程客户端创建并配置该客户端所用的计算机网络的可配置网络服务的示例性实施方案的网络图。在本实施例中被创建和配置的该计算机网络是对客户端现有专用计算机网络的专用网络延伸,可配置网络服务105在一个或多个公用网络100上(如,在该互联网上)提供了这样的功能给客户端(未示出)。因此,该远程客户端可使用该可配置网络服务(“CNS”)105以动态修改他们的专用计算机网络的大小和/或性能,如在该公用网络100上通过使用云计算技术一样。
特别是,在图1A的实施例中,多个客户端(未示出)在公用网络100上与管理模块110交互以创建和配置远程现有的客户端专用网络130的各个专用计算机网络延伸120,将该计算机网络延伸120的至少一些配置以使能在该公用网络100上来自一个或多个相应客户端专用网络130处的安全专用访问(如,通过在100a和100b互连上建立的VPN连接)。在这个示例性实施方案中,该管理模块110有助于为该远程客户端提供该CNS105的功能,如与该CNS 105的各个其他模块(未示出)和各个由该CNS105所使用以提供该专用计算机网络延伸120的计算节点和网络装置(未示出)一起。在至少一些实施方案中,该CNS管理模块110可在该CNS 105的一个或多个计算系统(未示出)上执行,以及可提供一个或多个API,该API使得远程计算系统与该模块110可编程地交互以访问代表客户端的该CNS 105的一些或所有功能(如,创建,配置,和/或启动专用网络延伸120的使用)。另外,在至少一些实施方案中,可替换地,客户端可手动地与该模块110交互(如,通过由该模块110提供的用户界面)以实施一些或所有这样的行为。
该公用网络100可以是,例如,链接网络的公用可访问网络,可能由不同方操作,例如该互联网。该远程客户端专用网络130每一个可包括一个或多个现有专用网络,如公司或其他专用网络(如,家庭,大学,等),其部分地或整个地对于非特权用户是无法访问的,以及其包括客户端的计算系统和/或其他网络装置。在所述实施例中,该提供的网络延伸120每一个包括多个计算节点(未示出),其中的至少一些由该CNS 105所提供或不然在该CNS 105的控制下,以及该提供的网络延伸120每一个可由将他们提供给的客户端以各种方式配置。在该所述实施方案中的该网络延伸120每一个可以是仅由创建他的客户端可访问的专用计算机网络,尽管在其他实施方案中,该CNS 105为客户端所提供的至少一些计算机网络可以是公用可访问的和/或可以是非其他现有计算机网络的延伸的独立计算机网络。类似地,当在本实施例中的该提供的计算机网络120是专用网络的远程客户端计算机网络130的延伸时,在其他实施方案中,该提供的计算机网络120可以是非专用网络的客户端计算机网络130的延伸。
可以各种方式使能在远程客户端专用计算机网络130和为客户端所提供的相应专用计算机网络延伸120之间的专用访问,如通过在他们之间建立VPN连接或其他安全连接,允许以安全专用方式在该公用网络100上进行互相通信。例如,该CNS 105可自动地在其计算节点和其他计算系统上实施合适的配置以使得VPN访问客户端的特定专用网络延伸120,如通过自动地配置以该CNS 105为主机的一个或多个VPN机制(如,软件和/或硬件VPN机制),和/或可自动地提供给该客户端以合适的配置信息(如,证书,接入点,和/或其他参数)以允许以该远程客户端专用网络130为主机的VPN机制来建立该VPN访问。在VPN访问已被合适地使能和/或配置时,在该远程客户端专用网络和该专用网络延伸之间可建立VPN连接,如由使用IPsec(“因特网协议安全”)或其他合适通信技术的客户端所启动。例如,在一些实施方案中,VPN连接或其他安全连接可被建立给或在使用MPLS(“多协议标签交换”)以数据传送的网络之间,如代替基于IPsec的VPN连接。在其他地方更具体地讨论与使能和建立安全连接相关的附加细节,如响应于该CNS 105所提供的相应远程访问建立API的客户端调用。
另外,在所述实施方案中,对于在该公用网络100上的远程计算系统可访问各种网络可访问远程资源服务140,包括对于该远程客户端专用网络130上的计算系统。该资源服务140可提供各种功能给该远程计算系统,如对于至少一些该资源服务140为远程计算系统提供到各种类型计算相关资源的访问。进一步地,由该CNS 105所提供的该专用网络延伸120的至少一些可被配置以提供专用或其他特定访问给至少一些该远程资源服务140,该提供的访问可选地出现给该专用网络延伸120的计算节点成为正由虚拟连接115本地所提供,该虚拟连接115是该专用网络延伸120的一部分,尽管与该远程资源服务140的实际通信可出现在该公用网络100上(如,通过互连100b和100c)。在其他地方更具体地讨论与建立和使用到远程资源服务的这样的专用或其他特定访问相关的附加细节。
如上所述,该提供的网络延伸120每一个可由客户端以各种方式配置。例如,在至少一些实施方案中,该CNS 105提供了为被提供给客户端的网络延伸可使用的多个计算节点,使得每一个提供的网络延伸120可包括被配置客户端数量的多个专门用作该提供网络延伸的一部分的这样的计算节点。特别是,客户端可与该模块110交互以配置一些计算节点来最初被包括在提供给该客户端的计算机网络中(如,通过使用由该CNS 105所提供API的一个或多个可编程交互)。另外,在至少一些这样的实施方案中,随后计算节点可被动态地增加给或被移除于客户端的提供的计算机网络(如,通过使用由该CNS 105所提供API的一个或多个可编程交互),如在该提供的计算机网络已经由该客户端所使用后(如,通过指示启动或终止在特定计算节点上的特定程序的执行)。进一步地,该CNS 105可在至少一些实施方案中提供多个不同类型的计算节点,如,举例,具有不同性能特性(如,处理器速度,可获得的存储器,可获得的存储,等)和/或其他能力的计算节点。如果这样,在至少一些这样的实施方案中,客户端可指定将被包括在为该客户端所提供的计算机网络中的计算节点的类型。
另外,在至少一些实施方案中,客户端可与该模块110交互以配置为该客户端所提供的计算机网络的网络地址(如,通过使用由该CNS 105所提供API的一个或多个可编程交互),在至少一些这样的实施方案中随后可动态地为客户端所提供的计算机网络增加,移除或修改网络地址,如在该提供的计算机网络已经被该客户端所用后。例如,如果正在被配置的特定提供的计算机网络是现有远程客户端计算机网络的延伸,该客户端可指定一个或多个地址范围(如,无类域内路由选择(“CIDR”)地址码组)或网络地址的其它分组,其为该现有远程客户端计算机网络所使用网络地址的子集,使得该指定的网络地址被用于该提供的计算机网络的计算节点。在一些情况中的这样的已配置网络地址可以是虚拟或专用网络地址,其在该公用网络100上的计算系统处无法直接寻址(如,如果该现有远程客户端计算机网络和该相应的提供的网络延伸为该客户端计算机网络和其被提供的计算机延伸使用网络地址转换技术和/或虚拟网络技术),而在其他情况中,至少一些该已配置网络地址可以是公用网络地址,其在该公用网络100上的计算系统处直接寻址(如,为静态互联网可路由IP地址或其他非变化网络地址的公用网络地址)。在其他实施方案中,该CNS 105可自动地选择将为至少一些提供的计算机网络延伸的至少一些计算节点所使用的网络地址,如基于由该CNS 105可使用的网络地址,基于网络地址选择,该网络地址是对应于该提供的计算机网络的远程现有计算机网络所使用的相关网络地址,等。另外,在至少一些实施方案中,其中该CNS 105提供给客户度虚拟网络,如通过使用在基板网络上的覆盖网络,可允许每一个客户端为他们提供的计算机网络指定任意将使用的网络地址,即使多个客户端为他们各自的提供的计算机网络指定相同或覆盖网络地址在这样的实施方案中,该CNS 105为每一个客户端不同地管理该网络地址,使得第一客户端可具有与该第一客户端的提供的计算机网络的特定指定网络地址相关的第一计算节点,而不同的第二客户端可具有与该第二客户端的提供的计算机网络的相同特定指定网络地址相关的不同的第二计算节点。一旦为提供的计算机网络配置或不然确定了网络地址,该CNS 105可将该网络地址分配给为该提供的计算机网络所选择的各个计算节点,如以随机方式,通过使用DHCP(“动态主机配置协议”)或用于网络地址动态分配的其他技术,等。另外,即使为特定计算机网络使用了公用网络地址,该CNS 105可映射这些公用网络地址的一个或多个以用于其他方式,如使用特定公用网络地址用作与其他地方更具体讨论一样的特定远程资源服务的访问机制,使得发送给由该特定计算机网络的计算节点的该特定公用网络地址的该通信被推进到该相应远程资源服务而不是到在该互联网或该特定公用网络地址被分配的其他网络上的另一个计算系统。图1B提供了与使用已配置网络地址以在提供的计算机网络中路由通信的实施例相关的附加细节。
另外,在至少一些实施方案中,客户端可与该模块110交互以为该客户端所提供的计算机网络配置网络拓扑信息(如,通过使用由该CNS 105所提供API的一个或多个可编程交互),在至少一些这样的实施方案中随后可为提供的计算机网络动态地修改这样的网络拓扑信息,如在该提供的计算机网络已经由该客户端使用后。例如,客户端可指定特定类型的网络装置(如,路由器,断路器,等)和/或其他网络装置或将成为该提供的计算机网络一部分的节点(如,防火墙,代理,网络存储装置,打印机,等),和/或可可指定该提供的计算机网络的计算节点的子集以被一起分组或其不然将共享相同的互相通信的特性(如,计算节点的特定子集,该子集是其互相通信未过滤子集的一部分和/或与特定网络装置相关)。另外,该提供的计算机网络的指定配置信息在至少一些实施方案中包括在网络装置和/或计算装置分组之间路由信息或其他互连性信息。进一步地,在至少一些实施方案中,该CNS 105可提供在多个地理位置中可获得的计算节点(如,在多个地理上分布的数据中心),以及由客户端为提供的计算机网络所指定的该配置信息可进一步指出在其中将放置该提供的计算机网络的计算节点的一个或多个地理位置(如,通过将他们放置在多个地理位置中以提供在提供的计算机网络的计算节点之间的错误容忍度),和/或可要不然提供与该提供的计算机网络的计算节点将如何相互操作的偏好或需求相关的信息,其由该CNS 105用来选择一个或多个这样的地理位置(如,计算节点互相通信的最小或最大网络延迟或带宽;在计算节点之间的最小或最大网络接近性;在计算节点之间的最小或最大网络地理接近性;具有到在所有这样的地理位置中无法访问的特定资源或功能的本地访问;具有与其他外部计算机系统相关的指定位置,如与该客户端的远程计算机网络相关和/或与远程资源服务相关;等)。
与在其他地方进行更具体讨论的一样,在至少一些实施方案中,使用该CNS 105的下面的基板网络来管理在提供的计算机网络的计算节点之间的交互和互相通信,以及如果这样,在至少一些实施方案中使用该CNS 105的下面的基板网络和相应模块可模仿一些或所有该已配置网络拓扑信息。例如,由该CNS 105所提供的该计算节点每一个可与该CNS 105的节点通信管理模块相关,该模块管理去往和来自其相关计算节点的通信。如果这样,可使用该计算节点的相关通信管理模块来模仿防火墙装置以与一个或多个被模仿防火墙装置一致的方式来不允许或不然处理去往和来自该计算节点的通信。这样的节点通信管理模块可类似地通过控制在计算节点之间如何和是否进行通信来模仿路由器和子网,以及通过使用合适的相应信息以响应来自计算节点处的信息的请求(如,ARP,或地址解析协议,请求)。该CNS 105的一个或多个外部通信管理模块可管理在该CNS 105所提供计算节点和外部计算系统之间的通信,如用来类似地模仿防火墙装置和加强特定网络访问限制,与用来管理用于远程资源业务的已配置访问机制和到远程客户端专用计算机网络的安全连接。可类似地模仿其他类型的网络拓扑信息,下面参照图2和其他位置来讨论在一些实施方案中与该CNS 105的各种模块的使用相关的附加细节。
另外,在至少一些实施方案中,客户端可与该模块110交互以配置为该客户端所提供的计算机网络的各种网络访问限制信息(如,通过使用由该CNS 105所提供API的一个或多个可编程交互),随后在至少一些这样的实施方案中可为提供的计算机网络动态地修改这样的网络访问限制信息,如在该提供的计算机网络已经由该客户端使用后。例如,客户端可指定与是否和如何允许提供的计算机网络的一些或全部计算节点与该提供的计算机网络的其他计算节点和/或与其他外部计算系统进行通信相关的信息,如基于下列中的一个或多个:通信方向(将来的对比出发的);通信类型(如,基于所包括内容的类型和/或所使用通信协议的类型,如允许要求文本但非图像的HTTP请求和不允许FTP请求);其他计算系统的位置(如,是否该提供的计算机网络的一部分,对应于该提供的计算机网络的远程客户端计算机网络的一部分,已建立的专用或其他特定访问所到达的远程资源服务的一部分,该提供计算机网络和任意相应远程客户端计算机网络之外,等);其他计算系统的类型;等。另外,如在其他地方进行更具体讨论的一样,在至少一些实施方案中,可配置提供的计算机网络以提供到一个或多个远程资源服务的专用或其他特定访问,如通过已配置的访问机制,该机制是该提供的计算机网络的一部分或不然在该提供的计算机网络的本地。在与用于网络拓扑信息和其他路由信息类似的方式中,该CNS 105可以各种方式加强提供的计算机网络的网络访问限制信息。下面参照图2和其他位置来讨论在一些实施方案中与管理提供的计算机网络的通信相关的附加细节。
图1B描述了与可由用于客户端的CNS 105(或可配置网络服务的其他实施方案)所提供示例性计算机网络120a相关的附加细节,本实施例中该提供的计算机网络120a是该客户端的远程专用计算机网络的延伸,如图1A的远程专用计算机网络130之一。在本实施例中,该提供的计算机网络120a的各种连接和通信路径以概念方式显示以描述可配置网络访问限制和网络拓扑的类型,以及图2描述了与可用来创建如该示例性的提供的计算机网络120a的提供的计算机网络的下面基板网络和连接的实施例相关的附加细节。
特别是,在图1B中,该提供的计算机网络120a包括位于第一地理位置1160(如,在该地理位置1处的第一数据中心)的该CNS 105所提供的各个计算节点,在本实施例中将该各个计算节点配置成逻辑分组164,165和166(如,以对应于不同子网和/或相关已配置网络装置,未示出)。在本实施例中,在地理位置1处显示了单个概念上的虚拟路由器162以控制在这些计算节点和其他计算系统之间的通信,以便描述可能发生的通信的不同类型,尽管该提供的计算机网络120a可能实际上在地理位置1处具有多个或没有任何已配置网络装置,该可配置网络服务可在该地理位置1处以各种方式实施该计算机网络120a,如通过多个物理上的互连路由器或其他网络装置,通过使用下面的基板网络和控制在该基板网络上的通信的相关模块,等。在本实施例中,该虚拟路由器162依照该提供的计算机网络120a的已配置信息操作,包括已配置网络拓扑信息,已配置到远程资源服务的专用或其他特定访问,和其他已配置网络访问限制信息,以便路由将发送到该提供的计算机网络120a内网络地址处的通信到在该提供的计算机网络120a上的相应目标计算节点,和以便适当地路由其他通信到该提供的计算机网络120a外部的其他网络地址。进一步地,已配置防火墙装置,已配置网络拓扑信息,或其他已配置网络访问限制不允许的通信可由该虚拟路由器162阻挡或不然管理。
在本实施例中,为示例性客户端1提供了该计算机网络120a,该计算机网络120a是客户端1的远程计算机网络的网络延伸。客户端1的远程计算机网络包括在第一远程位置站点A 190处的多个计算系统(未示出),以及将该虚拟路由器配置为通过在该地理位置1处的虚拟通信链路170与那些多个计算系统进行通信。例如,如在其他位置将更具体讨论的一样,该提供的计算机网络120a可包括到站点A 190处的该多个计算系统的一个或多个已配置VPN连接,该通信链路170可对应于一个或多个这样的VPN连接。另外,客户端1的远程计算机网络可选地可包括在一个或多个其他位置处的计算系统,如所述可选的站点B 192,如果这样,可进一步配置该虚拟路由器162以与在该其他位置处的这些其他计算系统进行通信,如通过到站点B 192的可选的虚拟通信链路172(如,通过直接到达站点B的一个或多个其他已配置VPN连接)。当多个VPN连接或其他安全连接用于远程计算机网络的远程计算系统时,每一个连接可对应于该远程计算系统的子集(如,通过与对应于这些远程计算系统的远程计算机网络的网络地址的子集相关),以便使得将通信路由到该合适的连接。在其他实施方案中,多个VPN连接或其他安全连接可用于在一个或多个位置处的远程计算系统,但是可能每一个支持到该远程计算系统任意一个的通信,例如如果该多个连接为冗余的替代方式(如,用于负载平衡)。进一步地,在一些实施方案中,客户端的远程计算机网络可包括在多个站点处的多个计算系统,但是仅仅可使用到该远程计算系统的单个连接或其他安全连接,该远程计算机网络负责将该通信路由到该合适的站点和计算系统。
另外,可配置该提供的计算机网络120a以允许在该提供的计算机网络120a的计算节点和该互联网196或其他公用网络上通常可访问的其他外部计算系统之间的所有,一些或禁止通信。如果允许至少一些这样的外部通信,可进一步配置该虚拟路由器162以通过该提供的计算机网络120a的可选虚拟通信链路178与这些外部多个计算系统通信,如与该提供的计算机网络120a的可选虚拟边界路由器155连在一起。可以各种方式来物理上实施该虚拟边界路由器155,如通过CNS 105使用一个或多个实际防火墙装置或管理在外部计算系统和由在地理位置1处的CNS 105所提供的各个计算节点之间通信的边界路由器装置(如,支持由该CNS 105提供给客户端的许多计算机网络的实际装置,该客户端使用了该CNS 105的这些计算节点),通过使用下面的基板网络和控制在该下面的基板网络上的通信的相关模块(如,用来阻止由在该基板网络上的该提供的计算机网络120a的计算节点正发送的不允许的通信),等。进一步地,该虚拟边界路由器155可进一步概念上有助于管理到该提供的计算机网络120a之外其他计算系统的其他通信,如到在站点A和B的该远程客户端计算机网络,到一个或多个远程资源服务,等。
另外,可配置该提供的计算机网络120a以提供到一个或多个远程资源服务的专用或其他特定访问,如通过分配该提供的计算机网络120a的一个或多个网络地址以展现这些一个或多个远程资源服务,通过可选地配置用于发送到这些已分配网络地址的通信的特定行为。在本实施例中,已配置该虚拟路由器162以提供通过该提供的计算机网络120a的虚拟通信链路174到远程资源服务194的本地访问。因此,例如,如果该提供的计算机网络120a的一个计算节点发送了到该提供的计算机网络120a的特定网络地址的被映射到该通信链路174的通信,该虚拟路由器可将该通信推进到在该提供的计算机网络120a之外的该远程资源服务194(如,通过该互联网或其他公用网络)。在其他实施方案中,该远程资源服务194可实施为该CNS 105一部分或不然在该地理位置1处的接口,如果这样,发送到该提供的计算机网络120a的特定网络地址以及被映射到该通信链路174的通信可替代地被推进到该远程资源服务的接口处用于处理。
另外,在至少一些实施方案中可配置该虚拟通信链路174以管理以各种方式通过该链路所发送的通信,以便以一种或多种方式在他们被推送到该远程资源服务194之前修改这些通信,或不然以特定方式访问该远程资源服务194。例如,在所述实施方案中,可配置该虚拟通信链路174以对应于在该远程资源服务194内的特定命名空间,该远程资源服务194所提供的该计算相关资源的子集成为该命名空间的一部分。相应地,可配置该虚拟通信链路174以访问在该特定命名空间内的资源,如通过修改或转变通信以使用与该特定命名空间关联的名称或其他标识,通过使用该支持指出特定命名空间的远程资源服务的特定接口,等。另外,如果配置该虚拟通信链路174以对应于特定命名空间或不然对应于由该远程资源服务194所提供资源的子集,可选地进一步配置该提供的计算机网络120a以包括同样对应于相同远程资源服务194的一个或多个其他虚拟通信链路,但配置以使用其他方式访问该远程资源服务194。例如,该提供的计算机网络120a可选地可包括不同的虚拟通信链路176,该链路被配置以不同于虚拟通信链路174的方式来访问该远程资源服务194,以便对应于不同的第二命名空间,以对应于任意特定命名空间,以使用不同于用于通信链路174的顾客标识的该远程资源服务194的顾客标识,等。在本实施例种,配置该虚拟通信链路174和176以使用不同标识(如,不同命名空间标识),其在本实施例中为该链路174和176分别展示为ID 1和ID 2。因此该提供的计算机网络120a的计算节点可以能够访问来自远程资源194处的不同类型功能。进一步地,当在此处未描述时,可类似地配置该提供的计算机网络120a以访问一个或多个其他远程资源服务(未示出),使用到这些其他远程资源服务的其他虚拟通信链路。
作为配置该虚拟通信链路174以访问该远程资源服务194的特定命名空间的补充或替代,在至少一些实施方案中可配置该虚拟通信链路以提供给该远程资源服务194附加信息以允许该远程资源服务194将该通信的位置或其他源验证为该提供的计算机网络120a。例如,在所示实施方案中,该可配置网络服务或该远程资源服务194可配置该虚拟通信链路174以对应于与该提供的计算机网络120a相关的一个或多个特定标识或其他访问控制指示符,使得该远程资源服务194所提供的通过该虚拟通信链路174访问的新的和/或现有计算相关资源的子集与该访问控制指示符相关,通过该远程资源服务194用于对这些资源的限制访问。相应地,可配置该虚拟通信链路174以各种方式使用与该提供的计算机网络120a相关的特定附加指示符,以便修改通信以包括该附加指示符,以不修改该通信来发送与该通信一起的该附加指示符,以使用支持包括这样附加标识符的该远程资源服务的特定接口,等。另外,如果配置该虚拟通信链路以对应于一个或多个附加指示符,可选地可进一步配置该提供的计算机网络120a以包括同样对应于该相同远程资源服务194的一个或多个其他虚拟通信链路,但是配置以使用其他方式访问该远程资源服务194。例如,该提供的计算机网络120a可以可选地配置该不同的虚拟通信链路176以访问该远程资源服务194而没有使用任意附加指示符(如,以提供到该远程资源服务194的相同访问在其将不然为公用可访问时),以使用不同于用于虚拟通信链路174的那些的一个或多个其他附加访问控制指示符,以使用不同于用于虚拟通信链路174的顾客标识的该远程资源服务194的顾客标识,等。进一步地,当在此处未描述时,可类似地配置该提供的计算机网络120a以访问一个或多个其他远程资源服务(未示出),使用到这些其他远程资源服务的其他虚拟通信链路,如被配置以使用与虚拟通信链路174相同的一个或多个附加指示符的其他虚拟通信链路,或不然其已被配置。
在所述实施方案中,作为在地理位置1处CNS 105的计算节点的补充,该提供的计算机网络120可进一步包括位于第二地理位置2180的CNS105所提供的计算节点184(如,在该地理位置2的不同的第二数据中心)。相应地,可配置该虚拟路由器162以包括到在该地理位置2的该提供的计算机网络120a一部分的可选虚拟通信链路168。在本实施例中,类似地使用概念上的虚拟路由器182描述在该地理位置2的该提供的计算机网络120a一部分以管理去往和来自该计算节点184的通信,包括以通过虚拟通信链路188与在该地理位置1处的该提供的计算机网络120的一部分进行通信。这样的在不同地理位置处的CNS 105的计算节点之间的通信可在各个实施方案中以各种方式来处理,如通过在该互联网或其他公用网络上发送该通信(如,作为安全通道的一部分,以便其使用该CNS 105所支持的加密),通过以专用安全方式来发送该通信(如,通过在该地理位置之间的专用租用线),等。另外,当在此处未描述时,在该地理位置2处的该提供的计算机网络120a的一部分可类似地包括为在地理位置1处的部分所描述的其他虚拟通信链路的相同类型的一些或全部,以便到远程客户端专用网络(如,通过与到该地理位置1的任意VPN连接不同的一个或多个VPN连接),到远程资源服务,到该互联网,等。
明显的是,图1B的该示例性提供的计算机网络120a被包括用于示范目的,由客户端的CNS 105所提供的其他计算机网络可能不包括所有类型的已配置通信链路和网络拓扑信息,和/或可能包括其他类型的在这里未描述的已配置通信链路和网络拓扑信息。例如,在一些实施方案和情况中,提供的计算机网络可包括已配置装置和作为计算节点补充和替换的其他资源,如果这样,可将每一个这样的其他资源可选地分配该提供的计算机网络的网络地址。进一步地,图1B所述的概念上的装置和通信链路可使用多种类型的下面的物理装置,连接和模块来实施。另外,当在此处未描述时,客户端可实施多种其他类型的与远程资源服务的交互,无论来自提供的计算机网络还是可替换地来自其他远程计算系统,以便预定/注册到用户资源,接收/创建各种证书(如,用户ID,密码,等),创建来自其他远程计算系统的资源和/或命名空间(如,其为远程专用公司网络的一部分),其随后从提供的计算机网络处被访问(如,该专用公司网络的网络延伸),等。
图2是描述了用于提供计算机网络的计算系统的示例性实施方案的网络图,如通过可配置网络服务的实施方案。特别是,在本实施例中,多个物理计算系统被共置于数据中心200中并通过各种网络装置和一个或多个物理网络互连。通过可配置网络服务在本实施例中使用该物理计算系统和其他装置以为客户端提供多个计算机网络,通过建立和保留每一个提供的计算机网络作为虚拟网络,和通过将该物理网络用作上面覆盖有该虚拟网络的基板网络。例如,参照图1B的实施例,可将该数据中心200置于地理位置1处,可使用该所述的物理计算系统以提供该提供的计算机网络120a的计算节点164,165和166。在至少一些实施方案中,该覆盖网络和下面的基板网络的使用对于该提供的计算机网络的计算节点而言可以是显而易见的。
因此,在本实施例中,由该可配置网络服务所提供的计算机网络实施为虚拟覆盖网络,其通过覆盖物理上的基板网络来发送通信。该提供的虚拟覆盖网络可以各种方式在各个实施方案中实施,如在一些实施方案中没有封装通信(如,通过将虚拟网络的虚拟网络地址信息嵌入为该物理基板网络的网络协议所配置的通信中)。作为一个描述性实施例,可使用32位IPv4(互联网协议第四版)网络地址来实施虚拟网络,那些32位虚拟网络地址可嵌入作为由该物理基板网络所使用的128位IPv6(互联网协议第六版)网络地址的一部分,如通过重新定义通信包或其他数据传输的包头(如,使用无国家的IP/ICMP转变,或SIIT),或不然修改这样的数据传输以将他们从他们所配置的第一网络协议转变为不同的第二网络协议。作为另一个描述性实施例,可使用同一网络地址协议(如,IPv4或IPv6)将该虚拟网络和基板网络一起实施,可修改使用虚拟网络地址通过该提供的虚拟覆盖网络发送的数据传输以使用相对于该基板网络的不同的物理网络地址,而在该基板网络之上发送该传输,但是初始虚拟网络地址被存入在该修改的数据传输中或不然被跟踪使得该数据传输当他们退出该基板网络时候可被存入他们的初始形式。在其他实施方案中,使用通信封装可实施至少一些该重叠网络。
图2的所述实施例包括由该可配置网络服务的实施方案操作的具有多个物理计算系统的数据中心200。该数据中心200连接该数据中心200之外的一个或多个公用网络235,其提供了通过专用网络240到一个或多个远程计算系统245a的访问,到在其他地理位置处每一个具有多个计算系统的一个或多个其他全球可访问数据中心260,和到一个或多个其他远程计算系统245b。该公用网络235可以是,例如,网络的公用可访问网络,可能由如互联网的各种不同方所操作,以及该专用网络240可以是,例如,该专用网络240之外的计算系统整体或部分地无法访问的公司网络。计算系统245b每一个可以是,例如,直接连接到互联网的家庭计算网络(如,通过电话线,电缆调制解调器,数字用户线(“DSL”),等)。
在本实施例中,该可配置网络服务的管理模块210实现了该虚拟提供的计算机网络的配置,使用该可配置网络服务的多个其他模块来实施该提供的计算机网络的功能,如从该物理基板网络的边界通过修改进入和/或离开该基板网络的通信。特别是,在本实施例中,该可配置网络服务的多个节点通信管理模块每一个管理去往和来自相关计算节点的通信,如所述的节点通信管理模块209a,209d和250,如下进行更具体地讨论。另外,在本实施例中,该可配置网络服务的外部通信管理模块270管理在该数据中心200内的物理计算系统和外部计算系统之间的通信,如下进行的更具体地讨论。当在本实施例中仅仅描述了单个外部通信管理模块270时,应当清楚,可使用多个装置来实施该模块270的功能,如用于冗余和负载平衡。
该数据中心200包括多个物理计算系统205a-205d和255a-255n,以及CNS节点通信管理模块250,其在一个或多个其他计算系统(未示出)上执行以管理该相关计算系统255a-255n的通信,和该可配置网络服务的管理模块210,其在一个或多个计算系统(未示出)上执行。在本示例性实施方案中,物理计算系统205a-205d每一个作为多个虚拟机计算节点的主机并同样包括虚拟机(“VM”)节点通信管理模块(如,作为该物理计算系统的虚拟机管理程序监视器的一部分),如在计算系统205a上的该CNSVM节点通信管理模块209a和虚拟机207a,和在计算系统205d上的CNSVM节点通信管理模块209d和虚拟机207d。该可配置网络服务可使用该虚拟机计算节点的每一个作为为客户端所提供的计算机网络的不同计算节点。物理上的计算系统255a-255n在本实施例中不执行任意虚拟机,并因此每一个可作为成为由该可配置网络服务为客户端所提供计算机网络一部分的不同计算节点。在其他实施方案中,所有或没有该物理计算节点在该数据中心处可以作为虚拟机的主机。
本示例性数据中心进一步包括多个物理网络装置,如断路器215a和215b,边界路由器225a-225c,和中心路由器230a-230c。断路器215a是包括物理计算系统205a-205c的物理网络的一部分,并连接边界路由器225a。断路器215b是包括物理计算系统205d,255a-255n的不同物理网络的一部分,以及该计算系统提供了该CNS节点通信管理模块250和该CNS系统管理模块210,并连接边界路由器225b。由断路器215a-215b建立的该物理网络,轮流地,连接彼此和其他网络(如,该公用网络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可采取行为以实施防火墙策略和其他网络访问限制,包括至少一些提供的计算机网络的已配置的访问机制,其运行到该数据中心200之外的远程资源服务的专用或其他特定访问,并可选地到外部远程客户端计算机网络的至少一些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。该节点通信管理模块209d可确定该实际IPv6目标网络地址以用于该目标虚拟计算节点207d的虚拟网络地址,通过例如,动态地与该系统管理模块210交互,或可以先前已经确定和存储了这样的信息(如,为了关于该目标虚拟网络地址的信息响应于来自该发送虚拟机计算节点207a的先前请求,这样的请求使用地址解析协议,或ARP)。在本实施例中,所使用的实际IPv6目标网络地址嵌入该虚拟目标网络地址和附加信息中,以便于在该没有封装的覆盖网络上发送该通信。
当该节点通信管理模块209d通过该交互网络220接收到该通信时,其从该实际IPv6目标网络地址处提取该虚拟目标网络地址和附加信息,并确定将该通信指向的虚拟机器计算节点207d。该节点通信管理模块209d下一步可选地确定是否为该目标虚拟机计算节点207d对通信授权,如通过从该实际IPv6源网络地址处提取该虚拟源网络地址和附加信息,并确认具有该虚拟源网络地址的计算节点实际上由推进该通信的节点通信管理模块所管理(在本实施例中,节点通信管理模块209a),以便于阻止来自恶意发送者的源网络地址的欺骗。如果确定该通信为被授权的(或该节点通信管理模块209d不实施这样的授权确定),随后该模块209d重新确定即将到来的通信的包头使得将其指向使用该虚拟网络的合适IPv4网络地址的目标虚拟机计算节点207d,如通过使用该发送虚拟机计算节点的虚拟网络地址用作该源网络地址和通过使用该目标虚拟机计算节点的虚拟网络地址用作该目标网络地址。在重新确定了该即将到来的通信的包头后,随后该模块209d将该已修改的通信推进到该目标虚拟机计算节点。在至少一些实施方案中,在将该即将到来的通信推进到该目标虚拟机之前,该模块209d同样可实施与安全相关的附加步骤。例如,该模块209d可证明授权该发送虚拟机计算节点以与该目标虚拟机通信(如,基于属于相同虚拟网络和/或基于为该提供的虚拟网络所指定的网络访问限制信息,与相同顾客或其他实体相关,与不同的其计算节点被授权以互相通信的实体相关,等)和/或该即将到来的通信属于允许类型,如基于该模块209d先前所获得的信息或基于与该系统管理模块210的交互。
如果该发送虚拟机计算节点207d可替换地(或附加地)将离开的通信(为示出)指向该数据中心200之外的一个或多个期望的目标计算系统,该节点通信管理模块209a以类似方式接收并处理该离开的通信。期望的外部目标计算系统可以是,例如,成为相同特别提供的虚拟计算机网络一部分的另一个计算节点(如,在远处虚拟客户端计算机网络上,该特别提供的计算机网络是其的延伸,或在另一个数据中心260处,其同样由该可配置网络服务所使用以提供该特定虚拟计算机网络的一部分),远程源服务的计算系统,在该互联网上公众可访问的计算系统,等。在至少一些实施方案和情况中,该模块209a可首先确定是否去授权该离开通信的发送,如果这样其确定相对于该通信的目标网络地址的实际物理基板网络位置。在本实施例中,该确定的物理基板网络位置对应于该外部通信管理模块270,这样如果该模块270与要不然被分配给节点通信管理模块的所有虚拟和/或实际网络地址相关。当该模块270通过该互连网络220接收到该通信,其类似地从该接收到的通信处提取该目标网络地址和附加信息,并确定是否和如何来推进该通信,包括可选地确定该通信是否被授权于期望的目标。如果该通信被确定为已授权(或该模块270不实施这样的授权确定),随后该模块270重新确定该即将到来的通信的包头使得将其指向使用合适IPv4公用网络地址的目标(或其他适合该公用网络235的网络地址),随后在该公用网络235上推进该已修改的通信。
因此,如上所述,在所述实施方案中该外部通信管理模块270处理来自提供的计算机网络的离开的通信,包括通过这些远程源服务的已配置访问机制发送到远程资源服务处的离开的通信。如果该离开的通信正通过该特别提供的计算机网络的已配置访问机制发送到远程资源服务,在至少一些实施方案和情况中,该模块270和/或该发送计算节点的相关节点通信管理模块可采取进一步行为。例如,该特别提供的虚拟计算机网络可能具有特定远程资源服务的已配置访问机制(如,通过一个或多个该计算系统245b或通过在另一数据中心260处的一个或多个计算系统提供的远程资源服务),将其映射到该远程资源服务的特定命名空间,以及该发送虚拟机计算节点207a可通过该已配置访问机制发送该通信。到该特别提供的计算机网络的远程资源服务的该已配置访问机制可以是,例如,被分配以展示该已配置访问机制的该特别提供的计算机网络的虚拟网络地址,如果这样,该分配的虚拟网络地址可与该模块270相关以使得将该离开的通信指向该模块270。在通过该公用网络235将这样的离开的通信推进到该远程资源服务之前,该模块270可采取各种行为以反映所使用的访问机制的配置,以便修改该离开的通信以参考或不然使用该访问机制对应的特定命名空间。在这样的情况中,该模块270可以各种方式确定该命名空间和该访问机制的其他配置信息,如通过将该配置信息本地存储,接入该系统管理模块210以获得该配置信息,等。另外,该模块270可确定如何和何时来修改通信以各种方式来使用该特定命名空间,如通过先前已将相应配置信息提供给该可配置网络服务的远程资源业务(如,一个或多个特定消息参数的指示,指示出命名空间;用来命名或参照资源的一个或多个特定消息参数的指示,其可选地包括命名空间标识;消息类型的指示,其允许指示命名空间或不然允许使用命名空间信息;等)。
作为一个特殊的描述性实施例,该远程资源服务可提供数据存储服务,该离开的通信可以是访问特定与存储相关的资源的请求(如,恢复已存储的对象或已存储数据的其他分组)。如果这样,该客户端可先前已创建该特定存储资源作为该客户端所定义命名空间的一部分,如通过使用该提供的计算机网络之外的计算系统(如,在该客户端的远程专用计算机网络上。通过配置该特别提供的计算机网络的访问机制以使用该相同的命名空间,该提供的计算机网络的计算节点可访问并使用该客户端的现有已存储的资源。作为描述性实施例,如果该客户端的远程专用计算机网络是公司网络,该客户端可使用不同命名空间已存储不同类型数据,以便于在第一命名空间内存储敏感的人力资源数据,在第二命名空间内存储限制的软件开发软件和其他数据,通过第三命名空间存储在该公司范围内一般可获得的其他公司数据。如果仅仅该公司的特定子集使用了该可配置网络服务的提供的计算机网络(如,人力资源全体人员),可配置到该特别提供的计算机网络的远程资源服务的访问机制以使用该敏感人力资源数据的第一命名空间。进一步地,该特别提供的计算机网络可以可选地具有被配置到该远程资源服务的第二访问机制(如,使用该提供的计算机网络的不同的分配虚拟网络地址),以便于使用该一般可获得的公司数据的第三命名空间,使得该特别提供的计算机网络的计算节点可以可替换地与该特别提供的计算机网络的不同本地虚拟网络地址进行交互以获得到不同资源分组的访问。
作为另一个描述性实施例,可替换地将到该特别提供的计算机网络的远程资源服务的访问机制配置为仅仅允许该特别提供的计算机网络的计算节点具有到这些计算节点所创建和使用的存储资源的访问。如果这样,该可配置网络服务可确定新的命名空间用于该特别提供的计算机网络,如通过自动生成新的命名空间(如,没有将该信息提供给该特别提供的计算机网络的计算节点)或通过使用由具有该配置信息的客户端所指示的新的命名空间,以及可配置该访问机制以使用该新的命名空间。该可配置网络服务或该特别提供的计算机网络的计算节点可进一步地需要采取启动行为以在该远程资源服务内创建该新的命名空间,基于该远程资源服务。一旦可获得该新的命名空间,该特别提供的计算机网络的计算节点可类似地使用该已配置的访问机制来与该远程资源服务交互以创建成为该新的命名空间一部分的新的已存储资源并以访问这样的已存储资源,以及该外部通信管理模块270将类似地对该离开的通信进行合适修改以使用该新的命名空间。
作为被配置以实施相对于在特定远程资源服务内特定命名空间的已配置访问机制的补充和替换,在一些实施方案中可配置该外部通信管理模块270以包括一个或多个附加指示符,该指示符与通过该访问机制发送到该远程资源服务的一些或所有通信的访问控制相关,该发送虚拟机计算节点207a可通过该已配置访问机制发送这样的通信。在通过该公用网络235推进这样的离开的通信到该远程资源服务之前,该模块270可采取各种行为以反映该使用的访问机制的配置,以便修改该离开的通信来包括相对于该访问机制的一个或多个附加指示符,如以指定给该远程资源服务的方式来修改该通信的包头和/或主体(如,如果该远程资源服务允许一个或多个访问控制指示符的客户端说明,以采用该远程资源服务所支持的方式来包括该一个或多个附加指示符,无论对该发送虚拟机计算节点207a所指定的任意指示符进行替换或补充)。在这样的情况中,该模块270可以各种方式确定该访问机制的附加指示符,如通过本地存储该信息,接入该系统管理模块210以包括该信息,等。另外,该模块270可确定如何和何时来修改通信以采用各种方式来使用该特定附加指示符,如通过先前已经将相应配置信息提供给该可配置网络服务的该远程资源服务(如,指示这样的访问控制指示符的一个或多个特定消息参数的指示;用来访问资源的一个或多个特定消息参数的指示,可选地其可包括一个或多个这样的访问控制指示符;允许指定一个或多个这样的访问控制指示符或不然使用这样的访问控制指示符的消息的类型的指示;等)。
以类似于参照采用该已配置访问机制对命名空间信息的使用的先前所述实施例的方式,该远程资源服务可提供数据存储服务,该离开的通信可以是访问特定与存储相关的资源的请求(如,恢复已存储的对象或已存储数据的其他分组)。如果这样,该发送虚拟机计算节点207a所属于的提供的计算机网络的计算节点之一先前已经将该特定存储资源创建,或可以最近进行创建或作为该当前通信一部分进行访问。在一些实施方案中,该可配置网络服务可进一步需要采取启动行为以指定在该远程资源服务内使用的一个或多个附加指示符(如,以定义他们),基于该远程资源服务。如在别处进行更具体讨论的一样,该发送虚拟机计算节点207a和该相关客户端可能不了解该附加指示符的使用,但是该外部通信管理模块270将仍然对该离开的通信进行合适修改以使用该相关指示符。
进一步地,如上所述,该外部通信管理模块270在所述实施方案中处理离开的通信,该通信从提供的计算机网络延伸处到该延伸对应的远程计算机网络,如通过已配置VPN连接到发送到特定远程计算机网络的离开的通信。在至少一些实施方案中,该已配置网络服务提供了远程访问建立API,该API允许客户端可编程地启动从远程于该数据中心200的位置到在该数据中心200的客户端所提供计算机网络处的这样VPN连接的建立,以便使得在建立该VPN连接中将合适的硬件装置,软件和/或配置信息发送到由该客户端所使用的远程位置。例如,该计算系统245b中的一个可对应于销售或不然提供这样的硬件装置和/或软件的在线零售商,如果这样,该可配置网络服务可使用该零散商所提供的单独的API来放置这样硬件装置和/或软件的订单以发送到该远程位置或对应于该客户端的其他指定位置(如,当该客户端指定为调用该可配置网络服务的已提供API的一部分,基于由该可配置网络服务为该客户端先前所存储的信息,基于该零售商为该客户端先前所存储的信息,等)。一旦建立了这样的VPN连接或其他安全连接以允许该客户端具有到该提供的计算机网络的远程访问,该模块270可进一步地采取行为以支持该安全连接,如通过使用该安全连接以发送离开的通信,该通信为在该安全连接所对应的远程位置处的一个或多个目的计算系统所期望的。
因此,参照图2如上所述,在至少一些实施方案中,该可配置网络服务将虚拟计算机网络提供给客户端,通过将他们实施为使用了下面基板网络的覆盖网络,如使用该可配置网络服务的各个节点通信管理模块和该可配置网络服务的一个或多个外部通信管理模块。在至少一些实施方案中,一个或多个系统管理模块可进一步地实现对计算节点之间的通信的配置,如通过跟踪和/或管理哪一个计算节点属于哪一个提供的虚拟网络,和通过提供与用于特定虚拟网络的虚拟网络地址对应的实际物理基板网络地址相关的信息(如,通过特定顾客或其他实体)。另外,系统管理模块可接收在目标物理计算系统上的虚拟机计算节点和将相关于该虚拟机的提供的虚拟网络的指示,随后为该目标物理计算系统启动虚拟机节点通信管理模块的配置以便将该虚拟机与该虚拟网络相关,或者可替换地该节点通信管理模块可启动该配置(如,当该虚拟机第一次启动或接收到通信时)。
在至少一些实施方案中,未授权通信的检测和/或阻止可至少部分地基于虚拟网络所覆盖的该一个或多个中间基板网络的拓扑。在这样的实施方案中,用于这样计算节点以在该基板网络上通信的该物理网络地址包括了该计算节点的虚拟网络地址的指示,并包括了相对于该计算节点相关节点通信管理模块的位置的基板网络的部分网络地址(如,为了该基本板的子网或其他部分,该节点通信管理模块管理通信)。因此,为了对恶意用户正确地构建虚拟网络一部分的计算节点的有效物理网络地址,该恶意用户将需要获得到与该计算节点所属的虚拟网络的相关信息的访问,以获得到与该计算节点的物理基板网络位置的拓扑的相关信息的访问以确定该相关节点通信管理模块的部分网络地址,并以确定如何使用该信息来构建该物理网络地址。可以各种方式检查构建的物理网络地址的有效性,如通过识别出被嵌入在构建的物理网络地址中的虚拟地址所对应的计算节点,和验证与在对应于该部分网络地址的基板网络的一部分中的该计算节点之一所对应的已识别计算节点的位置(如,由该部分网络地址所对应的节点通信管理模块管理的计算节点之一)。另外,可在不同时间检查构建的物理网络地址的有效性,如通过接收目标计算节点所期望的将到通信的节点通信管理模块(如,验证该源物理网络地址有效),通过据称地接收来自代表已指示被管理计算节点的节点通信管理模块处的消息的管理模块(如,用来请求期望的关注目标计算节点的物理网络地址的消息),等。
图4,5和6提供了在至少一些实施方案中,与该系统管理模块210,节点通信管理模块,和外部通信管理模块270的行为分别相关的附加细节。进一步地,与实施可被用于至少一些实施方案中的覆盖网络相关的附加细节被包括于2008年3月31日提交的名为“配置在计算节点之间的通信”的第12/060,074号(代理人卷号120137.576)美国申请,其通过引用并入本文中。
图3是描述了适合执行为远程客户端的使用而提供了计算机网络的系统的实施方案的示例性计算系统的方框图。提拔是,图3描述了适合执行有助于提供可配置网络服务的可配置网络服务系统管理模块的实施方案的服务器计算系统300,与各个客户端计算系统350,主机计算系统360,和其他计算系统380一样。当此处未示出时,在一些实施方案中,该所述计算系统的至少一些可以是共置的或不然相关的(如,该服务器计算系统300和成为该可配置网络服务一部分的该主机计算系统360的至少一些),如在数据中心处,如参照图1B和2更具体地描述一样。另外,当此处未示出时,该可配置网络服务的各个其他模块可被展示并用于至少一些实施方案中,如各个节点通信管理模块和一个或多个外部通信管理模块。
在所示实施方案中,该服务器计算系统300具有包括CPU 305,各个I/O组件310,储存器320,和存储器330的组件。该所述I/O组件包括显示器311,网络连接312,计算机可读媒体驱动器313,和其他I/O装置315(如,键盘,鼠标,扬声器,等)。另外,该所述客户端计算系统350具有类似于服务器计算系统300的那些组件的组件,包括CPU 351,I/O组件352,储存器354,和存储器357。其他计算系统360和380每一个同样可包括类似于参照服务器计算系统300所述的一些或所有组件的组件,但是为了简洁的目的在本实施例中未示出这样的组件。
可配置网络服务(“CNS”)管理模块340的实施方案在存储器330中执行,其在一个或多个网络390(如,通过该互联网和/或该万维网,通过专用蜂窝网络,通过该可配置网络服务所使用的专用基板网络,等)上与计算系统350,360和380互动。在本示例性实施方案中,该模块340包括与提供和管理各个客户端(未示出)所使用的计算机网络相关的作为可配置网络服务一部分的功能,该客户端使用计算系统350以配置和访问该提供的计算机网络。该主机计算系统360同样可以有助于提供该可配置网络服务,如通过提供该可配置网络服务所提供计算机网络的计算节点。类似地,在至少一些实施方案中,该其他计算系统380的至少一些可同样有助于提供该可配置网络服务,如通过实现在提供的计算机网络和外部远程计算机系统之间的互相通信(如,通过实施VPN连接或其他访问机制),通过提供该提供的计算机网络被配置来访问的远程资源服务,通过实现在提供的计算机网络的计算节点之间的互相通信(如,通过实施基板网络的部分或实现该通信的可配置网络服务的其他基础结构),等。
该其他计算系统350,360和380可被执行作为与该模块340交互的一部分的各个软件。例如,该客户端计算系统350的一些或全部可每一个被执行在存储器357中的软件以与模块340交互(如,作为网站浏览器或特定的客户端侧应用程序的一部分),以便于使得客户端计算系统的用户创建和配置该用户或该可配置网络服务的其他客户端所使用的计算网络。进一步地,一些或所有该客户端计算系统350和/或其他计算系统380每一个可被执行在存储器357中的软件以代表客户端与该可配置网络服务为该客户端所提供的计算机网络交互,如通过将多个该客户端计算系统350和/或成为客户端的远程网络一部分的其他计算系统380与多个为该客户端远程网络提供作为提供的计算机网络延伸一部分的计算节点的主机计算系统360连接的VPN连接。另外,该客户端计算系统350的一个或多个用户可与模块340交互以实施各个其他类型的行为(如,与具有该可配置网络服务的客户端的账户相关的管理功能,以监视提供的计算机网络的使用,等),如在他处更具体讨论的一样。进一步地,该主机计算系统360和/或该其他计算系统380的一些可执行软件模块(未示出)以有助于提供该可配置网络服务,如有助于管理发送到和来自提供的计算机网络的计算节点的通信的节点通信管理模块。另外,该计算系统360和380的其他可实施其他功能,以便于执行各个用户可获得的远程资源服务。也可在储存器320中存储与模块340和该可配置网络服务的功能相关的各个信息,如信息322,以及可包括与代表多个客户端的计算机网络的配置和/或规定相关的信息。
在该模块340接收一个或多个请求(或其他指示)来为客户端创建和配置计算机网络后,该模块340可实施如在他处更具体讨论一样的各个行为。这样行为可包括从将成为该计算机网络一部分的主机计算系统360处选择一个或多个计算节点,配置这些主机计算系统和/或其他计算系统来提供该计算网络,并启动该提供的计算机网络到客户端的远程计算系统350或远程其他计算系统380的访问。另外,该模块340可进一步地与计算系统360互动来管理被提供的计算机网络,如响应于来自客户端的请求或可替换地自动确定,包括在一些情况中用来增加或减少成为提供的计算机网络一部分的计算节点的数量,用来修改提供的计算机网络的已配置的网络拓扑,用来修改提供该提供的计算机网络的计算节点的特定主机计算系统(如,通过将在提供的计算机网络的一个或多个计算节点上执行的程序移到其他计算节点),等。另外,该模块340可监视或不然与该主机计算系统360的一个或多个互动以跟踪该提供的计算机网络的使用和操作。
应当清楚,该计算系统300,350,360和380仅仅是描述性的,并不是用于限制本发明的范围。该计算系统和/或计算节点可以可替换地每一个包括多个交互计算系统或装置,该计算系统/装置可连接未示出的其他装置,包括通过一个或多个如该互联网的网络,通过该网站,或通过专用网络(如,移动通信网络,等)。更具体地,计算节点或其他计算系统可包括可交互并实施所述类型功能的硬件或软件的任意组合,包括不限于台式或其他计算机,数据库服务器,网络存储装置和其他网络装置,PDA,手机,无线电话,寻呼机,电子记事本,互联网应用,基于电视的系统(如,使用机顶盒和/或个人/数字视频录像机),和包括合适的通信能力的各种其他顾客用品。另外,在一些实施方案中所述模块340所提供的功能可被分布在附加模块中,或该模块340可合并在别处所述的该可配置网络服务的多个模块(如,一个或多个系统管理模块,一个或多个节点通信管理模块,和一个或多个外部通信管理模块)所提供的功能。类似地,在一些实施方案中,可能未提供该模块340的一些功能和/或可获得其他附加功能。
同样应当清楚,当各个物品被描述为存入存储器或使用时在储存器上时,为了存储管理和数据完整可在存储器和其他存储装置之间转移这些物品或他们的部分。可替换地,在其他实施方案中,该软件模块和/或系统的一些或全部可在其他装置上的存储器中执行并通过计算机之间通信与所述计算系统通信。进一步地,在一些实施方案中,采用其他方式可实施或提供该系统和/或模块的一些或全部,如至少部分地以固件和/或硬件方式,包括,但不限于,一个或多个特定应用集成电路(ASICs),标准集成电路,控制器(如,通过执行合适的指令,并包括微控制器和/或嵌入式控制器),现场可编程门阵列(FPGAs),复杂可编程逻辑器件(CPLDs),等。可同样将该模块,系统和数据结构的一些或全部存储(如,作为软件指令或结构化数据)在计算机可读介质上,如硬盘,存储器,网络,或由合适驱动器或通过合适连接将阅读的便携式媒体文章。同样可将该系统,模块和数据结构传送为生成的数据信号(如,作为载波或其他模拟或数字传播信号的一部分),在多个计算机可读传送介质上,包括基于无线和基于有线/电缆的介质,并且可采用多种形式(如,作为单个或复用的模拟信号的一部分,或作为多个离散数据包或帧)。这样的计算机编程产品同样在其他实施方案中可采取其他形式。相应地,可采用其他计算机系统配置来实践本发明。
图4A和4B示出了可配置网络服务管理程序400的示例性实施方案的流程图。例如,可由图1A的系统管理模块110,图2的系统管理模块210,和/或图3的系统管理模块340的执行来提供该程序,以便于帮助将计算机网络提供给远程客户端的可配置网络服务的管理操作。在所述实施方案中,该程序400所创建和提供的计算机网络的至少一些可以是客户端的现有远程网络的延伸,而在其他实施方案中,该程序400所创建和提供的网络可替换地可以是客户端所使用的独立的网络,其不是其他网络的延伸。
该程序的所述实施方案开始于块405,其中来自客户端的消息或其他已接收信息的指示被接收。在至少一些实施方案中,该程序400所支持的可配置网络服务提供了一个或多个API以允许远程客户端来可编程地与该可配置网络服务进行互动,如果这样,可通过具有这些API的远程客户端的调用或其他编程互动来制作在块405中所接收到的一些或全部指示,而在其他实施方案和情况中,可替换地远程客户端可发起在块405中接收到的一些或全部指示,或其他客户端采用其他方式。
在块405后,该程序继续到块410处以确定在块405中接收的指示是否用来启动被提供的代表请求客户端的新计算机网络的创建,如该客户端的现有远程网络的延伸。如果这样,该程序继续到块415处以实施各个行为来创建该新计算机网络延伸或代表该客户端的其他新计算机网络。例如,如在他处更具体讨论的一样,用来创建该新计算机网络的接收到的通信可包括与将被创建的计算机网络相关的各种配置信息,如多个成为该创建的计算机网络一部分的计算节点,该新计算机网络是否是另一远程网络的延伸的指示,等。在块415中采取的行为可包括,例如,选择该可配置网络服务可获得的特定计算节点用于正被创建的新计算机网络;生成唯一标识并将其与正被创建的该新计算机网络相关;存储任意接收到的配置信息为以后使用;等。如在他处更具体讨论的一样,在各个实施方案中以各种方式从可获得的计算节点组中可选择这样的计算节点,如基于所选计算节点的性能,基于所选计算节点的网络位置(如,在该可配置网络服务的下面基板网络上,在与该计算机网络的其他计算节点相关的网络位置上,等),基于该所选计算节点的地理位置(如,在多个地理上分散的数据中心之一中,在与该计算机网络的其他计算节点相关的地理位置上,等),以随机方式,等。进一步地,当此处未示出时,该程序可将该新计算机网络的唯一标识或该新计算机网络的其他标记提供给该客户端,以便于允许该客户端随后在实施该新计算机网络的进一步配置时参照该新计算机网络。
在块415后,或如果可替代地在块410中确定了在块405中所接收的指示不将创建新计算机网络,该程序继续到块420以确定在块405中所接收的指示是否包括被指示的计算机网络的与访问限制相关的信息或其他访问信息。例如,在一些情况中,客户端可支持一个或多个请求或其他参照块405一起接收和处理的信息,如创建新计算机网络延伸和该新计算机网络延伸的各种指定配置信息的请求-如果这样,支持访问信息的该被指定的计算机网络可以是刚参照块415所创建的新计算机网络延伸。在其他情况和实施方案中,可替代地远程客户端可支持在不同时间参照块405被接收和处理的不同通信,如创建新计算机网络的启动请求,和随后一个或多个其他独立请求以指定该先前创建的计算机网络的各种类型的配置信息。如果在块420中确定了在块405中接收了访问信息,该程序继续到块422处以确定该客户端是否已经调用远程访问建立API或不然是否已经请求从该客户端的远程位置处建立到该指示的计算机网络的远程访问,其在所述实施方案中由启动VPN连接的创建来实施,该VPN连接到在该远程位置处的客户端的一个或多个远程计算系统处的该指示的计算机网络。如果这样,该程序继续到块425处以执行VPN创建完成程序来采取行为建立该远程客户端访问,参照图8更具体地描述这样的程序的实施例。
在块425后,或如果可替代地在块422中确定了该访问信息未指出在远程客户端位置处启动VPN连接的创建,该程序继续到块430处以使用该指示的计算机网络的其他特定访问限制信息来配置该指示的计算机网络的可允许访问。如在他处更具体描述的一样,这样的配置信息可包括关于该计算机网络的任意计算节点是否允许具有到该互联网或不然到该计算机网络外部的访问的限制,和可选地指定在该计算机网络的计算节点之间的通信访问策略一样(包括该计算机网络的远程部分,如果该指示的计算机网络是远程计算机网络的延伸)。相应地,在块430中,该程序采用一个或多个行为,该行为可包括,例如,配置支持该计算机网络的节点通信管理模块和/或外部通信管理模块所使用的路由信息(如,通过采用将被配置的信息将消息发送给这些通信管理模块),如在他处更具体描述的一样。进一步地,如果在块425中采用行为以建立从远程客户端位置到该提供的计算机网络的VPN连接,在块430中所采用的行为可进一步包括采取行为以由该提供的计算机网络或不然由代表该提供的计算机网络的可配置网络服务来支持这样的VPN连接,如通过配置该提供的计算机网络来接收这样的VPN连接和使用合适的信息来解密为该VPN连接加密的通信。
在块430后,或如果可替代地在块420中确定了在块405中的指示不包括访问信息,该程序继续到块440以确定在块405中的指示是否包括指示的计算机网络的网络地址信息,如以另一形式指定的一个或多个网络地址范围和/或网络地址。如果这样,该程序继续到块445以存储用于该指示的计算机网络的计算节点的指定的网络地址信息,并可进一步继续到将这些指定网络地址与该指示的计算机网络的计算节点相关,如果这些计算节点已经被选中或不然进行使用,如参照块415和/或462。指定网络地址与计算机网络的计算节点的该相关可进一步包括配置将由支持该计算机网络的节点通信管理模块和/或外部通信管理模块所使用的路由信息,如在他处更具体描述的一样。在块445后,或如果可替代地在块440中确定了在块405中所接收到的指示不包括网络地址信息,该程序继续到块455以确定在块405中所接收到的该指示是否包括指示的计算机网络的网络拓扑信息。如果这样,该程序继续到块457以为该指示的计算机网络存储该网络拓扑信息,并可选地以继续依照该网络拓扑信息来配置该指示的计算机网络。该网络拓扑信息的配置可包括配置将由支持该计算机网络的节点通信管理模块和/或外部通信管理模块所使用的路由信息,以便于模仿成为该指定拓扑信息一部分的虚拟网络装置的行为,如在他处更具体描述的一样。
在块457后,或如果可替代地在块455中确定了在块405中的指示不包括网络拓扑信息,该程序继续到块460处以确定在块405中的指示是否包括将计算节点加到指示的计算机网络的指示,例如如果已经将该指示的计算机网络配置为包括指定数量的计算节点但少于已选中并进行使用的指定数量。进一步地,在一些实施方案中,客户端可采用各种方式修改由该可配置网络服务提供的现有计算机网络即使在已经进行该计算机网络的使用后,包括修改该计算机网络的网络拓扑信息,如在他处更具体描述的一样。如果在块460中确定了该指示是增加一个或多个计算节点,该程序继续到块462处以从该可配置网络服务可获得的计算节点组中选择一个或多个计算节点来加入到该指示的计算机网络。如在他处更具体描述的一样,可以各种方式来选择这样的计算节点。在块464中,随后该选中的计算节点被加入到该计算机网络,如采用与先前讨论相类似的方式(如,通过将合适的网络地址信息与这些选中的计算节点相关,通过依照该计算机网络延伸的任意指定的网络拓扑信息和/或其他访问限制信息来设置这些选中的计算节点的访问权限,等)。
在块464后,或如果可替代地在块460中确定了在块405中的指示不用来增加计算节点,该程序继续到块470以确定在块405中的指示是否用来将该指示的计算机网络的已配置访问增加到指示的远程资源服务中。如果这样,该程序继续到块475处以配置该指示的计算机网络的访问机制来访问该指示的远程资源服务,如通过将该提示的计算机网络的一个或多个网络地址映射到该远程资源服务,通过配置将由支持该计算机网络的节点通信管理模块和/或外部通信管理模块所使用的路由信息,通过配置将由外部通信管理模块为使用该访问机制的通信所采用的行为,等。该程序随后继续到块478处以确定该远程资源服务是否具有该指示的计算机网络可访问的资源的特定命名空间和/或是否具有用于该资源的该指示的计算机网络的一个或多个附加访问控制指示符,如可以在块405中被指示或不然由该可配置网络服务自动确定,如果这样,该程序继续到块480以将该命名空间信息和/或该访问控制指示符信息与该远程资源服务的已配置访问机制相关。
在块480后,或如果可替代地在块478中确定了命名空间和/或附加访问控制指示符将不被使用或在块470中确定了在块405中的指示未提供到指示的远程资源服务的访问,该程序继续到块490处以可选地合适地实施一个或多个其他指示的操作。例如,在完成客户端的特定计算机网络的配置后,该程序可进一步采取一个或多个最终步骤以从远程资源处提供到该计算机网络的访问,如从创建的新计算机网络延伸所属于的远程计算机网络处。这样的访问的提供可包括,例如,提供信息给该客户端以使得该客户端来访问该计算机网络(如,到该计算机网络的VPN的公用可访问网络地址),配置该计算机网络以接收来自该远程客户端的通信,等。另外,该程序可进一步地不时实施其他操作(如,周期地,在当前情况超出了指定阈值或不然触发了指定情况,等),以便于ping或不然检查一些或所有计算机网络的一些或所有计算节点的状态,监视远程客户端对一些或所有计算机网络的使用,监视一些或所有提供的计算机网络对内部可配置计算机服务资源的使用,建立并保留使用该可配置网络服务的客户端的账户,响应于来自客户端以获取与他们账户或他们的提供的计算机网络相关的状态信息,获取来自客户端为使用该可配置网络服务的支付,减少指示的计算机网络的计算节点的数量,修改成为指示的计算机网络一部分的特定计算节点(如,通过将一个或多个执行程序从第一地理位置处的计算节点移到在第二地理位置处的新计算节点),等。在块490后,该程序继续到块495以确定是否继续,如直到接收到明确的终止指示。如果确定要继续,该程序返回到块405,以及如果不继续则到块499并结束。
图5是节点通信管理程序500的示例性实施方案的流程图。该程序可由,例如,图2的CNS节点通信管理模块209a,209d,和250的执行来提供,以便于在至少一些实施方案中控制去往和来自提供的计算机网络的相关计算节点处的通信。该程序500,在至少一些实施方案中,可由每一个与该可配置网络服务所提供的一个或多个计算节点相关的该可配置网络服务的多个节点通信管理模块的每一个来执行,以及可以各种方式提供每一个该节点通信管理模块(如,作为物理主机计算系统的虚拟机监视器管理程序的一部分,在其上执行其他虚拟机计算节点,作为独立代理计算系统或其他计算系统,其控制去往和来自提供的计算机网络的一个或多个计算节点的通信,等)。特别是,在所述实施方案中,该节点通信管理模块实现了客户端的计算机网络的提供,通过使用覆盖在一个或多个下面物理基板网络上的虚拟网络,该下面物理基板网络由该可配置网络服务使用以将该可配置网络服务的各个计算节点互连,尽管在其他实施方案中,该提供的计算机网络可具有不同于虚拟网络和/或覆盖网络的形式。进一步地,如在他处更具体描述的一样,在所述实施方案中的节点通信管理模块为提供的计算机网络提供依照指定网络拓扑信息的功能,如通过实施模仿的虚拟或幻像的网络装置的功能或不然以与展示的这样的网络装置一致的方式来处理通信,尽管在其他实施方案中,提供的计算机网络的网络拓扑信息可以替换地以其他方式提供(如,通过使用对应于该网络拓扑的实际物理网络装置)。
该程序的所述实施方案开始于块505处,其中接收到节点通信或其他消息的指示。该程序继续到块510处以确定该指示的消息的类型并相应地继续。特别是,如果确定该指示的消息为与该程序对应的通信管理模块相关的一个或多个目标计算节点所需的即将到来的节点通信,该程序继续到块515以确定该即将到来的节点通信的一个或多个所需目标计算节点。例如,在一个或多个下面的基板网络上可将该即将到来的通信指向节点通信管理模块,以及通过该基板网络发送的通信的包头或其他部分可包括与成为虚拟提供的计算机网络一部分的目标计算节点的虚拟网络地址相关的信息,或可不然指示该目标计算节点。如下面参照块525所述的一样,通过该基板网络对该即将到来的通信的处理可进一步包括以合适于该目标计算节点所属的提供的计算机网络的方式修改该通信,如通过重新确定该通信的包头以使用该目标和源计算节点的虚拟网络地址。
在块515后,该程序继续到块520处以验证该即将到来的通信为该期望的目标计算机节点所允许。如在他处更具体描述的一样,可以各种方式将该即将到来的通信确定为允许或不允许的,以便于提供防火墙性能或其他访问控制使得仅仅允许来自特定其他计算节点处的通信(如,成为相同提供的计算机网络一部分的其他计算节点)和/或使得仅仅允许特定类型的通信(如,对于来自其他计算系统的至少一些通信,仅仅如果该通信响应于其他从提供的计算机网络的计算节点之一处发送到这些计算系统的通信)。如上所述,可至少部分地基于为该程序所属的节点通信管理模块所先前指定的配置信息来作出是否允许该通信的确定,如以指定给该目标计算节点和/或这些目标计算节点所属的提供的计算机网络的方式(如,基于该目标计算节点所属的提供的计算机网络的指定的网络拓扑信息和/或其他为该提供的计算机网络指定的访问限制信息)。另外,在覆盖虚拟网络用于该目标计算节点所属的提供的计算机网络的实施方案中,该即将到来的通信的验证可部分地基于与该覆盖网络和/或该基板网络相关的信息,其被该可配置网络包括在该即将到来的通信中,在该最初发送计算节点发送该通信后,以便于验证该据说的发送方实际上发送了该通信。
如果确定了允许该即将到来的通信,在块525中将该即将到来的通信提供给该通信的一个或多个目标节点,如通过在该节点通信管理模块和该目标计算节点之间的一个或多个连接或通信链路上推进该通信。在通过下面的基板网络发送该即将到来的通信的实施方案中,可首先修改该即将到来的通信使得其与提供的计算机网络一致,如通过与该提供的计算机网络一致的方式来重新确定该即将到来的通信的包头(如,为该目标和源计算节点使用对应于该提供的计算机网络的虚拟网络地址)。另外,当这里未示出时,如果在块520中该通信未被确定为允许的,该程序可采取各种其他行为,以便于放弃该离开的节点通信而没有任何到该发送计算节点的指示,将错误消息返回给该发送计算节点,尝试将该离开的通信修改为允许的,等。
如果可替代地在块510中确定了在块505内的指示的消息是来自该程序所属节点通信管理模块所管理的提供的计算机网络的相关计算节点处的离开的节点通信,该程序可替代地继续到块530处以首先验证是否允许该离开的通信,如以类似于参照块520先前所述的方式。如在他处更具体描述的一样,可在各个实施方案中以各种方式来作出是否允许该离开的通信的确定,包括基于该发送计算节点所属的提供的计算机网络的指定网络拓扑信息和/或为该提供的计算机网络所指定的其他访问限制信息。在所述实施方案中,该提供的计算机网络是虚拟覆盖网络,以及在计算节点之间的通信实际上通过一个或多个下面的基板网络来发送。相应地,在块530后,该程序继续到块535处以确定对应于该离开的通信的一个或多个目标计算节点或其他目标计算系统的一个或多个基板目标网络地址(如,对应于管理这些目标计算节点的通信的一个或多个远程节点通信管理模块,对应于管理外部目标计算系统的通信的外部通信管理模块,等),如在他处更具体描述的一样。该程序随后继续到块540处以将该离开的节点通信推进到该期望的目标,通过使用该确定的基板目标网络地址。以与参照块525所述类似的方式,通过该下面基板网络将该节点通信的推进可包括修改该离开的通信使得其与该基板网络一致,如通过以与该基板网络一致的方式重新确定该离开的通信的包头(如,使用该确定的基板目标网络地址和/或包括与该目标和源计算节点的虚拟网络地址相关的信息),如在他处更具体描述的一样。
如果可替代地在块510中确定了在块505中接收到了另一种类型的指示消息,该程序可替代地继续到块590处以实施合适的一个或多个其他指示操作。例如,其他类型的消息可包括来自图4的可配置网络服务管理程序400处的配置信息或其他管理消息(如,用来指定该程序500为该程序500的例子所对应的一个或多个提供的计算机网络而使用的路由信息或其他配置信息),来自其他节点通信管理程序(如,传播提供的计算机网络的配置信息),等。类似地,在一些情况种,该程序可在块590中采取将提供的计算机网络的配置信息发送到其他节点通信管理模块的行为,如在从另一个节点通信管理模块或从该可配置网络服务管理模块处接收到该信息后以点对点的方式分布这样的信息。其他行为可包括各种类型的管理或家务行为,在至少一些实施方案和情况中,以便于检查一些或所有计算机网络的一些或所有计算节点的状态,监视远程客户端对一些或所有计算机网络的使用,监视一些或所有提供的计算机网络对内部可配置网络服务资源的使用,等。在块520,540,或590之后,该程序继续到块595处以确定是否继续,如直到接收到明确的终止指示。如果确定要继续,该程序返回到块505处,如果不继续则到块599处并结束。
因此,该程序500管理了多种类型的去往和来自成为由该可配置网络服务所提供的计算机网络一部分的计算节点处的通信。当在该程序的本示例性实施方案中未分别描述时,应当清楚,该程序500可进一步实施至少一些通信的配置以允许一个或多个对先前已发送通信的响应,以便于启动通信的会话或其他系列。因此,例如,可配置提供的计算机网络的特定计算节点以不接收来自至少一些其他计算系统的通信(如,外部计算系统),但可允许来自这些其他计算系统的通信,如果他们响应于该特定计算节点最初发出的通信。相应地,在块520中的确定可进一步部分基于该即将到来的通信是否响应于参照块530-540所处理的先前离开的通信。
图6示出了外部通信管理程序600的示例性实施方案的流程图。该程序,例如,可由图2的外部通信管理模块270的执行所提供,以便于管理进入或离开数据中心或由该可配置网络服务所控制的其他计算节点组的通信(如,在控制的计算节点组和处于该控制的计算节点之外位置处的其他计算系统之间,如客户端的远程位置,远程资源服务,和在该互联网或其他公用网络上一般可访问到的其他位置)。如在他处更具体描述的一样,在所述实施方案中的一个或多个外部通信管理模块提供了依照提供的计算机网络的特定访问限制信息和依照访问特殊远程资源服务的特定配置信息,如通过以与防火墙和其他访问信息一致的方式来处理通信,该信息由客户端为他们提供的计算机网络所指定和/或由该可配置网络服务为其提供的计算机网络所指定。另外,在所述实施方案中,由该可配置网络服务所提供的计算机网络是使用了一个或多个下面的物理基板网络的虚拟覆盖网络,该下面的物理基板网络与该可配置网络服务所提供的计算节点互连,尽管在其他实施方案中,该提供的计算机网络可以其他方式实施(如,未使用虚拟网络和/或覆盖网络)。
该程序的所述实施方案开始于块605,其中接收了去往或来自提供的计算机网络的计算节点的通信或另一消息的指示。在块605之后,在块610中的程序确定了接收到的指示消息的类型,并相应地继续。特别是,如果该指定的消息将来到由该可配置网络服务所控制的计算节点和为在提供的计算机网络上的一个或多个目标计算节点所期望(如,通过来自该客户端的远程位置处的VPN连接,其代表该客户端提供了该计算机网络,来自通过该互联网的外部计算系统,等),该程序继续到块612处。在块615中,该程序首先确定该即将到来的通信是否通过客户端的VPN连接来发送,如果是这样,则继续到块620以可选地解密或不然解码该通信(如,如果该可配置网络服务的其他软件尚未处理经过该VPN连接所接收到的这样的通信的管理)。在其他实施方案中,块615和620可能未被实施,例如如果该可配置网络服务的其他软件和/或硬件管理了经过VPN连接所接收到的这样的通信,在块605中接收到他们之前。在块620后,或者如果可替换地在块615中确定了经过VPN连接未接收到该即将到来的通信,该程序继续到块625处。
以类似于图5的这些块530-540的方式实施块625-629。特别是,在块625中,该程序首先验证是否允许该即将到来的通信,如至少部分地基于该目标计算节点所属的提供的计算机网络的指定网络拓扑信息和/或基于该提供的计算机网络的其他访问限制信息。如果验证了可接收该通信,该程序继续到块627以确定对应于该目标计算节点的一个或多个目标基板网络地址。在块629中,该程序随后将该通信推进到在该基板网络上的已确定的目标网络地址,如用来最终由一个或多个节点通信管理模块以如参照图5的块515-525如上所述的方式来处理。如上所述,如果在625中验证了允许该通信,可替换地可采取多种其他方式,如放弃该通信。另外,在该基板网络上通信的推进可包括以与该基板网络一致的一个或多个方式修改该通信,如在他处更具体描述的一样。进一步地,当此处未示出时,在至少一些实施方案中,该程序可实施与即将到被控制计算机节点组处的通信一致的其他功能(如,从公用网络到专用网络),如提供网络地址转换(“NAT”)和/或端口地址转换(“PAT”)的功能,以提供常用防火墙或代理或该可配置网络服务的其他安全功能,等。
如果可替换地在块610中确定了该指定的消息不是即将到提供的计算机网络的计算节点处的通信,但是可替换地是在该内部基板网络上从提供的计算机网络的计算节点处所接收到的并将离开到一个或多个外部目标计算系统的通信(如,通过到客户端的远程计算机网络或客户端的其他远程计算机系统的VPN连接,通过该互联网到公用可访问系统,等),该程序继续到块630。以与图5的块515-525类似的方式来实施块630,635和645。特别是,在块630中,该程序确定了在该离开的通信的一个或多个远程位置处的一个或多个期望的目标计算系统,如基于通过该基板网络所接收的通信中的信息。在块635中,该程序随后验证了是否允许该通信,如以类似于上述的方式(如,通过考虑该发送计算节点所属提供的计算机网络的指定网络拓扑信息和/或访问限制信息)。在块635后,该程序继续到块640以确定该离开的通信是否经过VPN连接被发送到一个或多个远程客户端计算系统,如该客户端的远程计算机网络的一部分。如果这样,该程序继续到块642以可选地为该VPN连接加密或不然编码该通信(如,如果该可配置网络服务的其他软件和/或硬件未处理这样的经过该VPN连接发送的通信的管理),随后将通信经过该VPN连接推进到该确定的目标计算系统。在其他实施方案中,保留该VPN连接的单独的软件和/或硬件将可替换地实施这样的操作。如果可替换地在块640中确定了该离开的通信未经过VPN连接被发送,该程序可替换地继续到块645处以将该通信经过该互联网或其他公用网络推进到该确定的目标计算系统。如上所述,该程序可进一步修改经过该基板网络所接收的这样的离开的通信,在将他们向外推出之前,以便于以与该通信将经过的该计算机网络一致的方式来重新确定该离开的通信的包头。进一步地,当此处未示出时,在至少一些实施方案中,该程序可实施与从被控制计算节点组处离开的通信一致的其他功能(如,从专用网络到公用网络),如提供网络地址转换(“NAT”)和/或端口地址转换(“PAT”)的功能,以提供常用防火墙或代理或该可配置网络服务的其他安全功能,等。
如果可替换地在块610中确定了该指示的消息是来自于在提供的计算机网络上的计算节点以访问具有该提供的计算机网络的已配置访问机制的远程资源服务,该程序可替换地继续到块650以执行该远程资源服务访问程序,参照图7更具体地描述该程序的一个示例性实施方案。否则,该程序继续到690以合适地实施一个或多个其他指示的操作,如响应于其他接收的消息或接收的信息。这样的其他指示的操作可以具有各种形式,如参照图5的块590进行更具体讨论一样。例如,其他类型的消息可包括来自图4的可配置网络服务管理程序400的配置信息或其他管理消息(如,指定该程序600为一个或多个提供的计算机网络所使用的路由信息或其他配置信息),来自节点通信管理程序(如,传播提供的计算机网络的配置信息),等。类似地,在一些情况中,该程序可在块690中采用行为以将提供的计算机网络的配置信息发送到节点通信管理模块,以便于以点对点方式分布这样的信息,在接收到来自其他节点通信管理模块或来自该可配置网络服务管理模块的信息之后。其他行为在至少一些实施方案和情况中可类似地包括各种类型的管理或家务行为,以便于检查一些或所有计算机网络的一些或所有计算节点的状态,监视远程客户端对一些或所有计算机网络的使用,监视一些或所有提供的计算机网络对内部可配置网络服务资源的使用,等。
在块629,642,645,650或690之后,该程序继续到块695处以确定是否继续,如直到接收到明确的终止指示。如果确定要继续,该程序返回到块605处,如果不继续则到块699处并结束。
因此,该程序600管理了多种类型的去往和来自成为该可配置网络服务所提供计算机网络一部分的计算节点的通信。当在该程序的本示例性实施方案中未分别描述时,应当清楚,该程序600可进一步实施至少一些通信的配置以允许一个或多个对先前已发送通信的响应,以便于启动通信的会话或其他系列。因此,例如,可配置特别提供的计算机网络以阻止来自启动的通信的任意外部计算系统到该计算机网络的计算节点,但是可能允许这样的外部计算系统去响应最初由该计算机网络的计算节点发送到该外部计算系统处的通信。相应地,在块625中的确定可进一步部分基于该即将到来的通信是否响应于参照块630-645所处理的先前离开的通信。类似地,对于被启动以访问远程资源服务的通信,如参照块650进行更具体讨论一样,可将来自该远程资源服务的响应设置为被允许,如参照块615-629,或可替换地以另一种方式。
图7示出了远程资源服务访问程序700的示例性实施方案的流程图。该程序,例如,可由图2的外部通信管理模块270的执行所提供,如可由图6的块650的执行来启动。该程序管理由提供的计算机网络的计算节点所作出的到远程资源服务的通信,特别是到先前已配置该提供的计算机网络以提供指定访问所到的远程资源服务,如与图4的块475-480一起。如在他处更具体讨论的一样,在至少一些实施方案中,可配置提供的计算机网络以提供到特定远程资源服务的指定访问(如,通过在该提供的计算机网络上分配一个或多个网络地址以展现该远程资源服务),以及可配置基板物理网络以将相应通信推进到管理外部通信的外部通信管理模块,将该外部通信管理模块配置为合适地管理这些被推进的通信。
在所述实施方案中,该程序开始于块705,其中接收了从在提供的计算机网络上计算节点到远程资源服务的通信的指示,因为该远程资源服务为该计算机网络提供已配置的访问机制,如基于用于该通信的网络地址。该程序随后继续到块710,其中其恢复了先前为用于该通信的访问机制所指定的配置信息。在块715中,该程序随后确定了该通信所期望的目标远程资源服务,如基于该恢复的配置信息。
在块715后,该程序继续到块725处以确定是否允许该通信,如以类似于参照图5的块520和530和图6的块625和635所讨论的方式。进一步地,在至少一些情况和实施方案中可基于所使用访问机制的已恢复配置信息来进一步作出该决定,以便于仅仅允许某些已配置访问机制的某些类型的通信。如果该通信被确定为可访问的,该程序随后继续到块730以可选地以基于所使用访问机制的先前配置的方式来修改该通信。例如,如在他处更具体讨论的一样,可配置访问机制以修改远程资源服务所使用的特定命名空间所对应的通信,以包括与发送该通信的计算节点的提供的计算机网络相关的信息或与该远程资源服务为鉴定目的的计算节点位置相关的信息,等。
该程序随后继续到块735以可选地实施该通信的附加的与鉴定相关的行动,以指定给该确定的远程资源服务的方式。例如,如在他处更具体讨论的一样,至少一些远程资源服务可附属于该可配置网络服务或不然允许该可配置网络服务以授权方式来访问该远程资源服务,该授权方式未被提供给与该远程资源服务在公用网络上通信的未鉴定请求方。如果这样,该程序可实施与鉴定相关的行动,例如,使得该远程资源服务来确定从信任或不然已知的请求方正发送该通信,如通过修改该通信以包括与该可配置网络服务相对应的标识(如,基于在该可配置网络服务和该远程资源服务之间的在前交互,如通过包括基于作为该已修改通信一部分的识别的数字签名)。
在块735后,该程序随后继续到块745以可选地加密该通信或不然访问到该确定的远程资源服务的安全连接(如,与特定附属远程资源服务的VPN连接,专门的专用租用线或到该远程资源服务的其他通信链接,等),并将该通信推进到该确定的远程资源服务。正被推进的通信,例如可以在该互联网或一个或多个其他公用网络上发送,或可以可替换地在一些实施方案中经过专用通信链路或其他安全连接来发送。在块745后,该程序继续到块799处并结束。
图8示出了VPN创建实现程序800的示例性实施方案的流程图。该程序,例如可以由该可配置网络服务管理模块的执行来提供,如可以基于图4的块425的执行来启动,由该可配置网络服务的实施方案所提供的远程访问建立API的客户端调用产生。
在所述实施方案中,该程序开始于块805,其中接收到建立从该客户端的远程位置处(如,该客户端的远程专用计算机网络)到该客户端的提供的计算机网络(如,由该可配置网络服务为该客户端的远程专用计算机网络所提供的网络延伸)的VPN连接的客户端请求的指示。在至少一些实施方案中,建立该VPN连接的该客户端的请求是履行将被提供给该客户端远程位置的一个或多个合适网络装置和相应软件和/或配置信息的订单的请求的一部分,以便于使该可配置网络服务从在该远程客户端位置的一个或多个计算系统到该客户端所提供的计算机网络建立起该VPN连接。在至少一些这样的实施方案中,可通过该可配置网络服务实施该订单的履行而没有该客户端的任意进一步行为,在该远程访问建立API的调用或该客户端的请求的其他启动之后,而在其他实施方案中,与该客户端的一些附加互动可被实施为该订单履行的一部分(如,展现给该客户端的选项,获取来自该客户端的附加信息,获取来自该客户端的支付信息,等)。
在块815中,该程序随后获取与该客户端相关的各种信息以用于履行该请求,如可在块805中所接收到的请求中供给,先前从该客户端处接收和从具有该可配置网络服务的客户端的账户处恢复,和/或动态地从该客户端和/或一个或多个外部源处获得。该获得的信息可具有多种形式,如可能将网络装置和其他物品物理地交付给的客户端的地理位置相关的信息,可能将电子信息电性地交付给的电子通信地址,该客户端凭之将交纳与在块805中所接收到请求相关的费用的报酬信息,等。另外,可获得多种信息以有助于配置在该远程客户端位置和该客户端的提供的计算机网络之间的VPN连接,如从该远程客户端位置公开可获得的网络地址(或其他相应连接信息),以启动该VPN连接,用于识别将该VPN连接建立给的提供的计算机网络的唯一标识或其他信息,等。
在块815后,该程序继续到块825以确定用于该客户端一个或多个远程计算系统的一个或多个合适的网络装置以建立到该提供的计算机网络的VPN连接。如在他处更具体讨论的一样,,可以各种方式确定该合适的网络装置,如基于指定给该客户端的提供的计算机网络,给该客户端的远程计算系统,和/或给该可配置网络服务的信息(如,基于用作该可配置网络服务的该基板网络或该可配置网络服务的其他基础结构一部分的网络装置)。进一步地,可在各个实施方案中以各种方式作出该合适网络装置地确定,如通过该可配置网络服务自动地和/或至少部分地基于来自该客户端的信息(如,基于作为在块805中所接收请求的一部分或不然由该客户端指定的客户端选择,以便于在多个展现给该客户端的替换方案之间选择)。
在块825后,该程序继续到块835以生成该确定的网络装置的配置信息以用于准备将该网络装置连接该客户端的提供的计算机网络,尽管在其他实施方案中,该程序可指令第三方实体生成该配置信息(在块845中将接触的同一零售商)。在至少一些实施方案中,该确定的网络装置的配置信息将使得该已配置的网络装置来启动与该可配置网络服务的连接以完成该已配置网络装置的配置(如,通过从该可配置网络服务处获取附加的信息以采用指定给特别提供的计算机网络的方式来配置该网络装置)。另外,在至少一些实施方案中,该确定的网络装置的配置信息将使得该已配置的网络装置来启动与该客户端的提供的计算机网络的连接,以便于建立到该提供的计算机网络的VPN连接。在一些实施方案中该生成的配置信息对于确定的网络装置的类型和/或对于该确定的网络装置将把该VPN连接建立到的提供的计算机网络是明确的,以及该配置信息的生成可包括恢复先前准备的配置信息和/或动态地创建新的配置信息(如,通过修改先前准备的配置信息,以对于该确定的网络装置和/或该提供的计算机网络是明确的方式,例如如果该先前准备的配置信息用于任意网络装置和/或用于任意提供的计算机网络)。该生成的配置信息可类似地具有多种形式,如已配置的将在硬件装置上执行的软件,在该远程位置处由人类操作者所使用的文本指令,等。
在块845中,该程序随后启动给予零售商的订单以将该确定的网络装置供给该远程客户端位置以与该客户端的一个或多个远程计算系统一起使用,以及在所述实施方案中用来进一步启动将该生成的配置信息供给该客户端以与该网络装置一起使用。在这样的实施方案中,可以各种方式将该生成的配置信息提供给该零售商,如通过发送作为该订单一部分的配置信息,通过先前指令在块835中的零售商以生成该配置信息,等。如在他处更具体讨论的一样,可以各种方式将该生成的配置信息供给该客户端,包括下列中的一个或多个:通过将该生成的配置信息存储在物理装置可读存储介质上(如,CD,DVD,USB存储键,等),其被物理地交付给该客户端;通过使用该生成的配置信息来配置该网络装置,在他们被交付给该客户端之前(如,通过在该零售商所使用的履行中心处将该生成的配置信息载入该网络装置);通过将该生成的配置信息电性地传送给该客户端;等。在其他实施方案中,可将该网络装置和/或该配置信息以各种方式提供给该客户端,如通过将具有该网络装置和生成的配置之一或两者直接通过该可配置网络服务而不是零售商来供给,通过使用第一个零售商以供给该网络装置和使用不同的第二零售商以供给该生成的配置信息,通过使用非零售商的一个或多个第三方,等。在块845后,该程序继续到块899处并返回。
同样应当理解,在一些实施方案中,可以替代方式提供上述程序所提供的功能,如被分成多个程序或统一成较少的程序。类似地,在一些实施方案中所述的程序可提供比所述或多或少的功能,如当其他所述程序可替换地分别缺少或包括这样的功能时,或当改变了所提供的功能数量时。另外,当可将各种操作描述为以特殊方式(如,串行或并行)和/或以特殊顺序实施时,本领域技术人员应理解在其他实施方案中可以其他顺序和其他方式来实施该操作。本领域技术人员同样应理解以上所讨论的数据结构可以不同方式构成,如通过将单个数据结构分成多个数据结构或通过将多个数据结构统一成单个数据结构。类似地,在一些实施方案中,所述的数据结构可存储比所述或多或少的信息,如当其他所述数据结构可替换地分别缺少或包括这样的信息时,或当改变了所存储信息的数量或种类时。
条款1.可配置网络服务的计算系统提供到专用计算机网络的访问的方法,该方法包括:
为该可配置网络服务提供编程接口以使得远程用户创建和配置到该远程用户的远程专用计算机网络的网络延伸,该可配置网络服务包括多个用于提供到该远程用户的创建的网络延伸的计算系统;和
在该可配置网络服务的计算系统的控制下,用于多个远程用户中的每一个,
经过该提供的编程接口接收该远程用户可编程地提供的配置信息以创建和配置到该用户的远程专用计算机网络的本地专用网络延伸,该专用网络延伸由该可配置网络服务提供并包括该多个计算系统的倍数的子集,该接收到的配置信息包括该专用网络延伸的指定用户的网络拓扑信息和将被分配给该多个计算系统的该专用计算机网络的多个网络地址的用户指定子集,该接收到的配置信息进一步包括该用户的专用计算机网络之外且从该专用网络延伸的多个计算系统处可访问的远程资源服务的指示;
自动配置该用户的专用网络延伸以提供在该用户的专用计算机网络和该用户的专用网络延伸的多个计算系统之间的专用访问,该配置包括了在该专用网络延伸和该用户的专用计算机网络之间建立虚拟专用网络连接并配置了依照该指定的网络拓扑信息将路由的专用网络延伸内的通信;
自动生成该专用网络延伸的唯一标识以展现在该指示的远程资源服务内的新命名空间,该远程资源服务将与计算相关的资源提供给多个用户,该展现的命名空间包括由仅从该专用网络延伸处可访问的远程资源服务所提供的一个或多个与计算相关的资源;
自动配置该用户的专用网络延伸以使能从该专用网络延伸的多个计算系统到该展现命名空间内远程资源服务所提供的一个或多个与计算相关的资源的访问,该配置包括分配网络地址的用户指定子集之一以展现该远程资源服务并将该唯一标识与该分配的网络地址相关,使得修改经过该分配网络地址发送给该远程资源服务的通信以将该远程资源服务所使用的该唯一标识包括在该展现的命名空间的识别中;和
提供在该专用网络延伸的多个计算系统和该用户的专用计算机网络之间的专用访问。
条款2.如条款1所述的方法,其中对于该多个用户之一,在该接收到的配置信息中的网络拓扑信息进一步指定了一个或多个网络装置以将该一个用户的专用网络延伸的多个计算系统划分为具有不同互相通信特性的不同组,该接收到的配置信息进一步包括指示:未允许该一个用户的专用网络延伸的多个计算系统去访问具有非该用户的专用计算机网络的多个网络地址一部分的网络地址的计算系统,自动配置该一个用户的专用网络延伸以将该一个用户的专用计算机网络的专用访问提供给该一个用户的专用网络延伸包括创建虚拟装置以模仿该指定的一个或多个网络装置并包括配置一个或多个实际网络地址以阻止在该一个用户的专用计算机网络和该一个用户的专用计算机网络之外的任意计算系统之间的通信。
条款3.如条款2所述的方法,其中该可配置网络服务是经过公用网络为该远程用户可访问且提供了使用云计算技术的网络延伸的基于付费业务,其中该多个远程用户是该可配置网络服务的顾客,其为该可配置网络服务提供给该用户的创建的网络延伸将报酬提供给可配置网络服务。
条款4.提供到专用计算机网络的访问的计算机实施方法,该方法包括:
在可配置网络服务的计算系统的控制下,该可配置网络服务提供多个客户端所使用的编程接口以配置该多个客户端所使用的专用计算机网络,
经过该编程接口接收第一客户端可编程地提供的第一信息以配置该第一客户端所使用的第一专用计算机网络,该第一专用计算机网络包括该可配置网络服务所提供的多个计算节点的倍数的组,配置该多个计算节点的每一个以与在用于该第一专用计算机网络的该第一信息内所指定的多个网络地址的至少一个相关;
获取第二信息以配置从该第一专用计算机网络到在网络可访问远程资源服务内命名空间关联的与计算相关的资源的子集的访问,该第二信息包括在该远程资源服务内命名空间关联的标识;
自动配置该第一专用计算机网络以使能从该多个计算节点到该远程资源服务所提供与计算相关的资源的子集的访问,该配置包括将该标识与展现该远程资源服务的多个网络地址的被指示的一个相关,使得修改经过该指示的网络地址被发送到该远程资源服务以访问该与计算相关的资源的子集的通信以将该远程资源所使用的标识的指示包括于该命名空间的识别中;和
启动来自该第一客户端的一个或多个远程计算系统处的到第一专用计算机网络的访问的可用性。
条款5.如条款4所述的方法,其中将该第一专用计算机网络配置为包括多个计算系统的第一客户端的远程专用计算机网络的延伸,其中该指定的多个网络地址是用于该远程专用计算机网络的多个专用网络地址的子集,其中自动配置该第一专用计算机网络以进一步地使能在该第一客户端的远程专用计算机网络的多个计算系统和该第一专用计算机网络的多个计算节点之间的专用访问。
条款6.如条款5所述的方法,其中启动到来自该第一客户端的一个或多个远程计算系统处的第一专用计算机网络的访问的可用性包括建立在该远程专用计算机网络和该第一专用计算机网络之间的安全连接以提供该使能的专用访问。
条款7.如条款5所述的方法,其中该可配置网络服务提供该第一专用计算机网络作为在该可配置网络服务的一个或多个物理基板网络上所覆盖的虚拟网络,其将该可配置网络服务所提供的多个计算节点互连,其中该指定的多个网络地址是虚拟网络地址。
条款8.如条款4所述的方法,其中该第一信息进一步包括该第一客户端所指定的附加信息以用于配置该第一专用计算机网络来控制在该第一专用计算机网络的多个计算节点之间的通信,其中该方法进一步包括自动配置该第一专用计算机网络以依照该指定的附加信息来允许和阻挡在该多个计算节点之间的通信。
条款9.如条款8所述的方法,其中该指定的附加信息包括网络拓扑信息,指示了成为该第一专用计算机网络一部分的一个或多个网络装置和共享相同互相通信特性的多个计算节点的一个或多个子组,其中该第一专用计算机网络的自动配置包括,如果该网络拓扑信息指示该一个或多个网络装置,配置该可配置网络服务的一个或多个模块以模仿该一个或多个网络装置的存在,其中该第一专用计算机网络的自动配置包括,如果该网络拓扑信息指示该一个或多个子组,配置该可配置网络服务的一个或多个模块以模仿该一个或多个子组的存在。
条款10.如条款4所述的方法,其中该第一信息进一步包括该第一客户端所指定的附加信息以用于配置该第一专用计算机网络,该附加信息包括该第一专用计算机网络的多个计算节点的一些,该多个计算节点的至少一些所在的一个或多个地理位置,和用来控制在该第一专用计算机网络的多个计算节点和该第一专用计算机网络之外的其他计算系统之间的通信的一个或多个网络访问限制的一个或多个,其中该方法进一步包括基于该指定的第一信息为该第一专用计算机网络自动选择该多个计算节点,并依照该指定的附加信息自动配置该第一专用计算机网络。
条款11.如条款4所述的方法,其中至少部分地基于经过该编程接口可编程地提供该第二信息的该第一客户端来获得该第二信息,其中该提供的第二信息包括该命名空间的相关标识,其中该与计算相关的资源的子集的至少一些存在于该命名空间内的远程资源服务,在提供该第二信息之前,其中该方法进一步包括获取从该多个计算节点的一个或多个处发送到该指示的网络地址以访问来自该远程资源服务的现有至少一些与计算相关的资源中的一个或多个的通信,并将该获得的一个或多个通信推进到该远程资源,在修改该获得的一个或多个通信以包括该标识的指示后。
条款12.如条款4所述的方法,其中获取被包括在该第二信息中的标识包括自动与该远程资源服务互动以创建用于该第一专用计算机网络的命名空间的可配置网络服务,该命名空间的创建包括确定该命名空间的标识,其中该方法进一步包括获取从该多个计算节点的一个或多个处发送到该指示的网络地址的一个或多个通信以创建来自该远程资源服务的一个或多个新的与计算相关的资源,并将该获得的一个或多个通信推进到该远程资源,在修改该获得的一个或多个通信以包括该标识的指示后。
条款13.如条款4所述的方法,其中经过一个或多个公用网络可访问该远程资源服务,其中配置该第一专用计算机网络以使能从该多个计算节点到该与计算相关的资源的子集的访问包括配置该可配置网络服务的一个或多个模块以将发送到该指示的网络地址处的通信在该一个或多个公用网络上推进到该远程资源服务。
条款14.如条款4所述的方法,进一步包括获取第三信息以配置从该第一专用计算机网络到该远程资源服务内不同第二命名空间关联的与计算相关的资源的不同第二子集的访问,该第三信息包括在该远程资源服务内的第二命名空间关联的不同第二标识,并自动地配置该第一专用计算机网络以使能从该多个计算节点到该与计算相关的资源的第二子集处的访问,通过将该第二标识与该多个网络地址的第二地址相关,使得修改经过该第二网络地址发送到该远程资源服务以访问该与计算相关的资源的第二子集的通信以将该远程资源服务所用的该第二标识的指示包括于该第二命名空间的识别中。
条款15.如条款4所述的方法,其中在该远程资源服务内命名空间关联的与计算相关的资源包括数据存储服务和程序执行服务和异步消息通过服务中的至少一个的资源,其中该方法进一步包括,在该远程资源服务的控制下:
接收从该第一专用计算机网络的多个计算节点处经过该指示的网络地址发送以访问该与计算相关的资源的子集的至少一个的通信,该接收到的通信包括该标识的指示;和
从与该指示的标识关联的命名空间处提供到该至少一些与计算相关的资源的访问。
条款16.如条款4所述的方法,其中该多个计算节点每一个是托管在该可配置网络服务的多个物理计算系统之一上的虚拟机,其中该第一专用计算机网络的配置包括配置在该物理计算系统的一个或多个上执行以管理该托管的虚拟机的通信的一个或多个虚拟机通信管理模块。
条款17.如条款4所述的方法,其中由该多个客户端所配置的专用计算机网络包括一个或多个已配置的专用计算机网络而不是该第一专用计算机网络,为了一个或多个客户端而不是该第一客户端,该第一客户端具有由该一个或多个其他客户端所指定的一个或多个网络地址,该其他客户端与用于该第一专用计算机网络而指定的多个网络地址中至少一个相同,其中该可配置网络服务进一步管理这些相同的网络地址使得,对于这些相同网络地址中的每一个,该其他专用计算机网络中的每一个具有对应于该网络节点的计算节点,其不同于该第一专用计算机网络的网络地址所对应的计算节点。
条款18.如条款4所述的方法,其中由该第一客户端配置该第一专用计算机网络包括允许该第一客户端从该第一信息中指定的多个网络地址选择任意网络地址以用于该第一专用计算机网络。
条款19.如条款4所述的方法,其中基于具有在该第一客户端的计算装置上显示给该第一客户端的图形用户界面的该第一客户端的一种或多种互动来接收该第一客户端经过该编程接口可编程地提供的第一信息。
条款20.计算机可读介质,其内容使可配置网络服务的计算系统能提供到专用计算机网络的访问,通过实施方法,该方法包括:
为可配置网络服务的多个远程顾客的每一个,
接收一个或多个请求,该请求由该远程顾客可编程地作出用来为该顾客的远程专用网络启动网络延伸的顾客的创建并用来为该顾客的创建的网络延伸指定配置信息,该配置信息包括该顾客的创建的网络延伸的网络拓扑信息;
自动选择多个计算节点以用作该顾客的创建的网络延伸的一部分,该多个计算节点成为由该可配置网络服务所提供的多个计算节点的子集且至少部分地基于该顾客所指定的配置信息而被选择;
自动配置该顾客的创建的网络延伸以使用该多个计算节点以便于提供到该顾客的创建的网络延伸的该顾客的专用访问,该专用访问将在该多个计算节点和该顾客的远程专用网络的一个或多个计算系统之间的互相通信使能,依照该顾客所指定的网络拓扑信息经过该创建的网络延伸来路由该互相通信;和
启动到该顾客的创建的网络延伸的该顾客的专用访问的提供。
条款21.如条款20所述的计算机可读介质,其中该可配置网络服务提供了由该多个远程顾客使用以供给请求的编程接口,其中经过该编程接口提供从该多个顾客中的每一个所接收到的一个或多个请求,其中,对于该一个或多个远程顾客中的每一个,该顾客所指定的网络拓扑信息包括用于该顾客的创建的网络延伸的多个网络地址的指示,配置为该顾客创建的网络延伸以使用该多个计算节点包括将该计算节点中的每一个与该指示的网络地址中的一个关联,该资源服务的访问机制包括被分配以展现该资源服务的该创建的网络延伸的该多个网络地址中的一个。
条款22.如条款21所述的计算机可读介质,其中该多个顾客中的至少一些的每一个指定了第一网络地址,其中该至少一些顾客的创建的网络延伸的自动配置包括为该至少一些顾客的创建的网络延伸不同地管理该第一网络地址,使得这些创建的网络延伸的每一个具有不同的成为分配该第一网络地址的该创建的网络延伸的一部分的计算节点。
条款23.如条款20所述的计算机可读介质,其中,对于该多个远程顾客中至少一个的每一个,基于该顾客与被显示给该顾客的图形用户界面的一种或多种互动来接收该一个或多个可编程地作出的请求,对于该多个远程顾客中至少一个其他顾客的每一个,从执行在该顾客的计算装置上的软件处接收该一个或多个可编程地作出的请求,该顾客可编程地调用了该可配置网络服务的编程接口。
条款24.如条款20所述的计算机可读介质,其中该方法进一步包括,对于该多个远程顾客中一个或多个的每一个:
获取信息以配置从该顾客的创建的网络延伸到该创建的网络延伸和该顾客的专用网络之外的资源服务所提供的一个或多个与计算相关的资源的访问,该信息包括与该一个或多个计算相关的资源关联的资源服务内命名空间的识别;和
自动配置该顾客的创建的网络延伸以使能从该创建的网络延伸的多个计算节点到该资源服务所提供的一个或多个与计算相关的资源的访问,该配置包括将该命名空间识别与该资源服务的访问机制关联,以经过到来自该创建的网络延伸处的资源服务的访问机制被发送以访问该一个或多个与计算相关的资源的通信自动修改为包括该资源服务所使用的该命名空间识别的指示的方式。
条款25.如条款20所述的计算机可读介质,其中该计算机可读介质是存储该内容的计算系统的存储器和包括包含该内容的生成的存储数据信号的数据传输介质中的至少一个,其中该内容为在被执行时导致该计算系统实施该方法的指令。
条款26.配置用来提供到专用计算机网络的访问的计算系统,包括:
一个或多个存储器;和
可配置网络服务管理模块,配置用来自动提供为远程客户端使用而创建的计算机网络,为多个远程客户端的每一个,通过:
接收该客户端可编程地提供的配置信息用来配置为该客户端使用而创建的计算机网络,该配置信息包括多个网络地址的指示以与被提供作为该客户端的创建的计算机网络一部分的多个计算节点相关;
依照该接收到的配置信息配置被提供作为该客户端的创建的计算机网络一部分的多个计算节点,该配置包括将该多个网络地址的至少一个与该多个计算节点中的每一个关联,从可为客户端的计算机网络所使用的多个计算节点处选择该多个计算节点;
获取附加信息以配置从为该客户端创建的计算机网络到网络可访问资源服务所提供的一个或多个资源的访问,该附加信息包括为具有该一个或多个资源的资源服务所关联的标识;
自动配置该为客户端创建的计算机网络以使能以与该标识关联的方式从该多个计算节点到由该资源服务所提供的一个或多个资源的访问,使得从该创建的专用网络发送到该资源服务以访问该一个或多个资源的通信包括为该资源服务所使用的标识的指示;和
将到该创建的计算机网络的多个计算节点的访问提供给该客户端。
条款27.如条款26所述的计算系统,其中该可配置网络服务管理模块是可配置网络服务的一部分并提供了该多个远程客户端所使用的编程接口以配置为该客户端所使用而创建的计算机网络,其中该创建的计算机网络可获得使用的该多个计算节点通过该可配置网络服务来提供,其中,对于该多个客户端中至少一些的每一个,该客户端可编程地提供的配置信息经过该编程接口被提供并进一步包括被配置以为该客户端所使用的创建的计算机网络的网络拓扑信息,为该客户端所使用而创建和配置的计算机网络是该客户端的远程专用计算机网络的专用计算机网络延伸并进一步依照该提供的网络拓扑信息而被配置,该创建的计算机网络的自动配置进一步用来使能在该远程专用计算机网络和该专用计算机网络延伸的多个计算节点之间的专用访问。
条款28.如条款26所述的计算系统,其中,对于该多个客户端中至少一些的每一个,提供了为该客户端的创建的计算机网络所配置的访问所到的一个或多个资源的网络可访问资源服务是非该创建的计算机网络一部分的远程资源服务,被包括在该获得的附加信息中的标识是在该远程资源服务内与该客户端的命名空间关联的唯一标识,在该客户端的关联的命名空间内存入该客户端的创建的计算机网络将访问的一个或多个资源,配置该客户端的创建的计算机网络以采用发送给该远程资源服务的通信来包括该标识的指示包括了为该创建的计算机网络分配该多个网络地址中的一个以再现该远程资源服务并将该标识与该分配的网络地址关联,采用了修改经过该分配的网络地址发送给该远程资源服务的通信来将该远程资源服务所使用的标识包括于该关联命名空间的识别中的方式。
条款29.如条款26所述的计算系统,其中该可配置网络服务管理模块包括由该计算系统执行的软件指令。
条款30.如条款26所述的计算系统,其中该可配置网络服务管理模块由自动提供为远程客户端所使用而创建的计算机网络的设备组成,对于该多个远程客户端中的每一个,通过:
接收该客户端可编程地提供的配置信息用来配置为该客户端使用而创建的计算机网络,该配置信息包括多个网络地址的指示以与被提供作为该客户端的创建的计算机网络一部分的多个计算节点相关;
依照该接收到的配置信息配置被提供作为该客户端的创建的计算机网络一部分的多个计算节点,该配置包括将该多个网络地址的至少一个与该多个计算节点中的每一个关联,从可为客户端的计算机网络所使用的多个计算节点处选择该多个计算节点;
获取附加信息以配置从为该客户端创建的计算机网络到网络可访问资源服务所提供的一个或多个资源的访问,该附加信息包括为具有该一个或多个资源的资源服务所关联的标识;
自动配置该为客户端创建的计算机网络以使能以与该标识关联的方式从该多个计算节点到由该资源服务所提供的一个或多个资源的访问,使得从该创建的专用网络发送到该资源服务以访问该一个或多个资源的通信包括为该资源服务所使用的标识的指示;和
将到该创建的计算机网络的多个计算节点的访问提供给该客户端。
由上述内容应当理解,尽管此处为了说明目的已经描述了特定实施例,可作出各种修改而不脱离本发明的精神和范围。相应地,本发明不是限制性的,除了由附属权利要求和此处引用的要素所限制之外。另外,当在下面以某些权利要求形式展现本发明的某些方面时,本发明人预料到了以任意可获得权利要求形式的本发明的各个方面。例如,当在计算机可读介质中实现时当前可能仅仅引用了本发明的一些方面,可同样地这样实现其他方面。

Claims (14)

1.一种提供到专用计算机网络的访问的计算机实施方法,该方法包括:
在可配置网络服务的计算系统的控制下,该可配置网络服务提供多个客户端所使用的编程接口以配置该多个客户端所使用的专用计算机网络,
经过该编程接口接收第一客户端可编程地提供的第一信息以配置该第一客户端所使用的第一专用计算机网络,该第一专用计算机网络包括该可配置网络服务所提供的多个计算节点的倍数的组,配置该多个计算节点的每一个以与在用于该第一专用计算机网络的该第一信息内所指定的多个网络地址的至少一个相关;
获取第二信息以配置从该第一专用计算机网络到在网络可访问远程资源服务内命名空间关联的与计算相关的资源的子集的访问,该第二信息包括在该远程资源服务内命名空间关联的标识;
自动配置该第一专用计算机网络以使能从该多个计算节点到该远程资源服务所提供与计算相关的资源的子集的访问,该配置包括将该标识与展现该远程资源服务的多个网络地址的被指示的一个相关,使得修改经过该指示的网络地址被发送到该远程资源服务以访问该与计算相关的资源的子集的通信以将该远程资源所使用的标识的指示包括于该命名空间的识别中;和
启动来自该第一客户端的一个或多个远程计算系统处的到第一专用计算机网络的访问的可用性。
2.如权利要求1所述的方法,其中将该第一专用计算机网络配置为包括多个计算系统的第一客户端的远程专用计算机网络的延伸,其中该指定的多个网络地址是用于该远程专用计算机网络的多个专用网络地址的子集,其中自动配置该第一专用计算机网络以进一步地使能在该第一客户端的远程专用计算机网络的多个计算系统和该第一专用计算机网络的多个计算节点之间的专用访问。
3.如权利要求1所述的方法,其中该第一信息进一步包括该第一客户端所指定的附加信息以用于配置该第一专用计算机网络来控制在该第一专用计算机网络的多个计算节点之间的通信,其中该方法进一步包括自动配置该第一专用计算机网络以依照该指定的附加信息来允许和阻挡在该多个计算节点之间的通信。
4.如权利要求1所述的方法,其中至少部分地基于经过该编程接口可编程地提供该第二信息的该第一客户端来获得该第二信息,其中该提供的第二信息包括该命名空间的相关标识,其中该与计算相关的资源的子集的至少一些存在于该命名空间内的远程资源服务,在提供该第二信息之前,其中该方法进一步包括获取从该多个计算节点的一个或多个处发送到该指示的网络地址以访问来自该远程资源服务的现有至少一些与计算相关的资源中的一个或多个的通信,并将该获得的一个或多个通信推进到该远程资源,在修改该获得的一个或多个通信以包括该标识的指示后。
5.如权利要求1所述的方法,其中获取被包括在该第二信息中的标识包括自动与该远程资源服务互动以创建用于该第一专用计算机网络的命名空间的可配置网络服务,该命名空间的创建包括确定该命名空间的标识,其中该方法进一步包括获取从该多个计算节点的一个或多个处发送到该指示的网络地址的一个或多个通信以创建来自该远程资源服务的一个或多个新的与计算相关的资源,并将该获得的一个或多个通信推进到该远程资源,在修改该获得的一个或多个通信以包括该标识的指示后。
6.如权利要求1所述的方法,其中经过一个或多个公用网络可访问该远程资源服务,其中配置该第一专用计算机网络以使能从该多个计算节点到该与计算相关的资源的子集的访问包括配置该可配置网络服务的一个或多个模块以将发送到该指示的网络地址处的通信在该一个或多个公用网络上推进到该远程资源服务。
7.如权利要求1所述的方法,进一步包括获取第三信息以配置从该第一专用计算机网络到该远程资源服务内不同第二命名空间关联的与计算相关的资源的不同第二子集的访问,该第三信息包括在该远程资源服务内的第二命名空间关联的不同第二标识,并自动地配置该第一专用计算机网络以使能从该多个计算节点到该与计算相关的资源的第二子集处的访问,通过将该第二标识与该多个网络地址的第二地址相关,使得修改经过该多个网络地址的第二地址发送到该远程资源服务以访问该与计算相关的资源的第二子集的通信以将该远程资源服务所用的该第二标识的指示包括于该第二命名空间的识别中。
8.如权利要求1所述的方法,其中在该远程资源服务内命名空间关联的与计算相关的资源包括数据存储服务和程序执行服务和异步消息通过服务中的至少一个的资源,其中该方法进一步包括,在该远程资源服务的控制下:
接收从该第一专用计算机网络的多个计算节点处经过该指示的网络地址发送以访问该与计算相关的资源的子集的至少一个的通信,该接收到的通信包括该标识的指示;和
从与该指示的标识关联的命名空间处提供到该至少一些与计算相关的资源的访问。
9.如权利要求1所述的方法,其中该多个计算节点每一个是托管在该可配置网络服务的多个物理计算系统之一上的虚拟机,其中该第一专用计算机网络的配置包括配置在该物理计算系统的一个或多个上执行以管理该托管的虚拟机的通信的一个或多个虚拟机通信管理模块。
10.如权利要求1所述的方法,其中由该多个客户端所配置的专用计算机网络包括一个或多个已配置的专用计算机网络而不是该第一专用计算机网络,为了一个或多个客户端而不是该第一客户端,该第一客户端具有由该一个或多个其他客户端所指定的一个或多个网络地址,该其他客户端与用于该第一专用计算机网络而指定的多个网络地址中至少一个相同,其中该可配置网络服务进一步管理这些相同的网络地址使得,对于这些相同网络地址中的每一个,该其他专用计算机网络中的每一个具有对应于该网络节点的计算节点,其不同于该第一专用计算机网络的网络地址所对应的计算节点。
11.如权利要求1所述的方法,其中由该第一客户端配置该第一专用计算机网络包括允许该第一客户端从该第一信息中指定的多个网络地址选择任意网络地址以用于该第一专用计算机网络。
12.一种提供到专用计算机网络的访问的计算机实施方法,包括:
接收客户端可编程地提供的配置信息用来配置为该客户端使用而创建的计算机网络,该配置信息包括多个网络地址的指示以与被提供作为该客户端的创建的计算机网络一部分的多个计算节点相关;
依照该接收到的配置信息配置被提供作为该客户端的创建的计算机网络一部分的多个计算节点,该配置包括将该多个网络地址的至少一个与该多个计算节点中的每一个关联,从可为客户端的计算机网络所使用的多个计算节点处选择该多个计算节点;
获取附加信息以配置从为该客户端创建的计算机网络到网络可访问资源服务所提供的一个或多个资源的访问,该附加信息包括为具有该一个或多个资源的资源服务所关联的标识;
自动配置该为客户端创建的计算机网络以使能以与该标识关联的方式从该多个计算节点到由该资源服务所提供的一个或多个资源的访问,使得从该创建的计算机网络发送到该资源服务以访问该一个或多个资源的通信包括为该资源服务所使用的标识的指示;和
将到该创建的计算机网络的多个计算节点的访问提供给该客户端。
13.如权利要求12所述的计算机实施方法,其中所述方法由具有编程接口的计算系统执行,所述编程接口由客户端所使用以配置该客户端的计算机网络,其中该客户端的计算机网络可获得使用的该多个计算节点通过可配置网络服务来提供,其中,该客户端可编程地提供的配置信息经过该编程接口被提供并进一步包括被配置以为该客户端所使用的创建的计算机网络的网络拓扑信息,为该客户端所使用而创建和配置的计算机网络是该客户端的远程专用计算机网络的专用计算机网络延伸并进一步依照该提供的网络拓扑信息而被配置,该创建的计算机网络的自动配置进一步用来使能在该远程专用计算机网络和该专用计算机网络延伸的多个计算节点之间的专用访问。
14.如权利要求12所述的计算机实施方法,其中,提供了为该客户端的创建的计算机网络所配置的访问所到的一个或多个资源的网络可访问资源服务是非该创建的计算机网络一部分的远程资源服务,被包括在该获得的附加信息中的标识是在该远程资源服务内与该客户端的命名空间关联的唯一标识,在该客户端的关联的命名空间内存入该客户端的创建的计算机网络将访问的一个或多个资源,配置该客户端的创建的计算机网络以采用发送给该远程资源服务的通信来包括该标识的指示包括了为该创建的计算机网络分配该多个网络地址中的一个以再现该远程资源服务并将该标识与该分配的网络地址关联,采用了修改经过该分配的网络地址发送给该远程资源服务的通信来将该远程资源服务所使用的标识包括于该关联命名空间的识别中的方式。
CN200980149403.XA 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问 Active CN102246147B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410469606.XA CN104283869B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问
CN201510435053.0A CN105072096B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/332,214 US8230050B1 (en) 2008-12-10 2008-12-10 Providing access to configurable private computer networks
US12/332,214 2008-12-10
PCT/US2009/067106 WO2010068618A1 (en) 2008-12-10 2009-12-08 Providing access to configurable private computer networks

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN201510435053.0A Division CN105072096B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问
CN201410469606.XA Division CN104283869B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问

Publications (2)

Publication Number Publication Date
CN102246147A CN102246147A (zh) 2011-11-16
CN102246147B true CN102246147B (zh) 2015-08-12

Family

ID=42243047

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201510435053.0A Active CN105072096B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问
CN201410469606.XA Active CN104283869B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问
CN200980149403.XA Active CN102246147B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201510435053.0A Active CN105072096B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问
CN201410469606.XA Active CN104283869B (zh) 2008-12-10 2009-12-08 提供到可配置专用计算机网络的访问

Country Status (7)

Country Link
US (7) US8230050B1 (zh)
EP (2) EP3489824B1 (zh)
JP (3) JP5385403B2 (zh)
CN (3) CN105072096B (zh)
CA (2) CA2915391C (zh)
SG (1) SG171425A1 (zh)
WO (1) WO2010068618A1 (zh)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) * 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US10411975B2 (en) 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
US9489647B2 (en) 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
WO2009155574A1 (en) 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US8230050B1 (en) 2008-12-10 2012-07-24 Amazon Technologies, Inc. Providing access to configurable private computer networks
US8977750B2 (en) * 2009-02-24 2015-03-10 Red Hat, Inc. Extending security platforms to cloud-based networks
US9106540B2 (en) 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
EP2804350B1 (en) 2009-04-01 2019-07-24 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US8438216B2 (en) * 2009-05-20 2013-05-07 Kaseya International Limited Remote management of virtual machines hosted in a private network
US8086633B2 (en) 2009-08-27 2011-12-27 International Business Machines Corporation Unified user identification with automatic mapping and database absence handling
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
US8224931B1 (en) * 2010-03-31 2012-07-17 Amazon Technologies, Inc. Managing use of intermediate destination computing nodes for provided computer networks
US8738745B1 (en) * 2010-03-31 2014-05-27 Amazon Technologies, Inc. Managing use of intermediate destination hardware devices for provided computer networks
US8396946B1 (en) 2010-03-31 2013-03-12 Amazon Technologies, Inc. Managing integration of external nodes into provided computer networks
US8966027B1 (en) 2010-05-24 2015-02-24 Amazon Technologies, Inc. Managing replication of computing nodes for provided computer networks
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8717895B2 (en) 2010-07-06 2014-05-06 Nicira, Inc. Network virtualization apparatus and method with a table mapping engine
JP5710928B2 (ja) 2010-10-07 2015-04-30 株式会社日立製作所 ネットワークシステム、仮想ネットワーク管理方法及びルータ
US8683019B1 (en) * 2011-01-25 2014-03-25 Sprint Communications Company L.P. Enabling external access to a private-network host
US9628294B1 (en) 2011-03-23 2017-04-18 Amazon Technologies, Inc. Methods and apparatus for remapping public network addresses on a network to an external network via a private communications channel
US8751691B1 (en) 2011-03-23 2014-06-10 Amazon Technologies, Inc. Methods and apparatus for remapping public network addresses on a network to an external network via an intermediate network
US8924542B1 (en) 2011-05-31 2014-12-30 Amazon Technologies, Inc. Methods and apparatus for scalable private services
CN102882758B (zh) * 2011-07-12 2018-12-07 华为技术有限公司 虚拟私云接入网络的方法、网络侧设备和数据中心设备
CN106850444B (zh) 2011-08-17 2020-10-27 Nicira股份有限公司 逻辑l3路由
US9319272B1 (en) 2011-09-21 2016-04-19 Amazon Technologies, Inc. Methods and apparatus for providing composed appliance services in virtualized private networks
US8819229B1 (en) * 2011-10-04 2014-08-26 Amazon Technologies, Inc. Techniques for accessing logical networks via a programmatic service call
US8751614B2 (en) 2011-10-11 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Providing virtualized visibility through routers
US8812670B2 (en) * 2011-10-11 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Architecture for virtualized home IP service delivery
US9137107B2 (en) 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US9154433B2 (en) 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
JP2014534789A (ja) * 2011-11-29 2014-12-18 アマゾン・テクノロジーズ・インコーポレーテッド 直接ネットワークピアリングを管理するためのインターフェース
US20130223230A1 (en) * 2012-02-27 2013-08-29 Qualcomm Incorporated Serving Multiple Subscribers Through a Software-Enabled Access Point
WO2013133837A1 (en) * 2012-03-08 2013-09-12 Hewlett-Packard Development Company, L.P. Modifying virtual machine communications
AU2013249152B2 (en) 2012-04-18 2016-04-28 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US9210178B1 (en) * 2012-06-15 2015-12-08 Amazon Technologies, Inc. Mixed-mode authorization metadata manager for cloud computing environments
EP2864875B1 (en) * 2012-06-20 2019-08-07 FusionLayer Oy Method and apparatus for ip commissioning and decom-missioning in orchestrated computing environments
US9025439B2 (en) 2012-06-26 2015-05-05 Telefonaktiebolaget L M Ericsson (Publ) Method and system to enable re-routing for home networks upon connectivity failure
US20140082157A1 (en) * 2012-09-18 2014-03-20 Artisan Mobile, Inc. System and method for selectively permitting entry into a defined mode by distributed client-side software applications
US9251114B1 (en) * 2012-10-12 2016-02-02 Egnyte, Inc. Systems and methods for facilitating access to private files using a cloud storage system
US20140136597A1 (en) * 2012-11-15 2014-05-15 Kaseya International Limited Relay enabled dynamic virtual private network
US9426154B2 (en) * 2013-03-14 2016-08-23 Amazon Technologies, Inc. Providing devices as a service
US9141416B2 (en) 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US20140280669A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Memory Sharing Over A Network
US9203694B2 (en) 2013-03-15 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Network assisted UPnP remote access
US10205638B1 (en) * 2013-05-28 2019-02-12 Ns3I, Llc. Method and apparatus for configuring a network topology in a cloud computing environment
US9419930B2 (en) * 2013-06-28 2016-08-16 International Business Machines Corporation Management of connections in a messaging environment
US9137178B2 (en) * 2013-09-17 2015-09-15 Verizon Patent And Licensing Inc. Tracking packets through a cloud computing environment
US9864623B2 (en) 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
US9807057B1 (en) 2013-12-17 2017-10-31 Amazon Technologies, Inc. Private network peering in virtual network environments
JP5858205B1 (ja) * 2014-03-07 2016-02-10 日本電気株式会社 ネットワークシステムと拠点間ネットワーク連携制御装置及びネットワーク制御方法並びにプログラム
US10698569B2 (en) 2014-04-03 2020-06-30 Centurylink Intellectual Property Llc System and method for implementing customer control point or customer portal
US10110710B2 (en) 2014-04-03 2018-10-23 Centurylink Intellectual Property Llc System and method for implementing extension of customer LAN at provider network service point
US9948493B2 (en) 2014-04-03 2018-04-17 Centurylink Intellectual Property Llc Network functions virtualization interconnection gateway
US9733975B2 (en) 2014-04-03 2017-08-15 Centurylink Intellectual Property Llc System and method for implementing network experience shifting
US9585282B1 (en) * 2014-05-01 2017-02-28 Amazon Technologies, Inc. Transverse console switch bridge
RU2016144305A (ru) 2014-05-12 2018-05-14 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Подключение публичного облака к ресурсам частной сети
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
US9787499B2 (en) * 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US9912637B2 (en) * 2014-09-30 2018-03-06 A 10 Networks, Incorporated Use of packet header extension for layer-3 direct server return
CN111988214B (zh) * 2014-11-06 2022-04-15 柏思科技有限公司 用于在vpn网关处建立vpn连接的方法和系统
US9832118B1 (en) 2014-11-14 2017-11-28 Amazon Technologies, Inc. Linking resource instances to virtual networks in provider network environments
US10212161B1 (en) * 2014-11-19 2019-02-19 Amazon Technologies, Inc. Private network layering in provider network environments
JP6467906B2 (ja) 2014-12-19 2019-02-13 富士通株式会社 情報処理システム、情報処理方法、情報処理プログラム、及び情報処理装置
WO2016146494A1 (en) * 2015-03-13 2016-09-22 Koninklijke Kpn N.V. Method and control system for controlling provisioning of a service in a network
US10148611B2 (en) 2015-03-30 2018-12-04 EMC IP Holding Company LLC Network address sharing in a multitenant, monolithic application environment
US9967134B2 (en) 2015-04-06 2018-05-08 Nicira, Inc. Reduction of network churn based on differences in input state
US10673978B2 (en) 2015-05-06 2020-06-02 Centurylink Intellectual Property Llc Method and system for implementing network experience shifting using shared objects
US10481938B2 (en) 2015-05-06 2019-11-19 Centurylink Intellectual Property Llc System and method for implementing network experience shifting
US10291726B2 (en) * 2015-05-12 2019-05-14 Equinix, Inc. Network field unit for a cloud-based services exchange
CN104954461A (zh) * 2015-06-10 2015-09-30 浪潮电子信息产业股份有限公司 可信计算池的应用方法及系统、宿主机及云管理平台
US10021196B1 (en) 2015-06-22 2018-07-10 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
US10893029B1 (en) * 2015-09-08 2021-01-12 Amazon Technologies, Inc. Secure computing service environment
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US10078528B2 (en) 2015-10-06 2018-09-18 Centurylink Intellectual Property Llc Virtual machine-to-port peripheral device driver for implementing communications between virtual machines and client devices
WO2017146768A1 (en) * 2016-02-24 2017-08-31 Centurylink Intellectual Property Llc System and method for implementing customer control point or customer portal
US9887990B2 (en) 2016-04-25 2018-02-06 International Business Machines Corporation Protection of application passwords using a secure proxy
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US10536338B2 (en) * 2016-07-07 2020-01-14 International Business Machines Corporation Networking connection resolution assistant
EP3424185A4 (en) * 2016-07-27 2019-02-27 Megaport (Services) Pty Ltd PROVISION OF PRIVATE NETWORK CONNECTIONS
FR3063590A1 (fr) * 2017-03-03 2018-09-07 Orange Dispositif d'acces a adressage multiple
US10511599B2 (en) * 2017-03-13 2019-12-17 Microsoft Technology Licensing, Llc System to filter impossible user travel indicators
US10511651B2 (en) * 2017-04-25 2019-12-17 General Electric Company Infinite micro-services architecture
US10498810B2 (en) * 2017-05-04 2019-12-03 Amazon Technologies, Inc. Coordinating inter-region operations in provider network environments
US10834044B2 (en) 2018-09-19 2020-11-10 Amazon Technologies, Inc. Domain name system operations implemented using scalable virtual traffic hub
EP3702920A1 (en) * 2019-03-01 2020-09-02 ABB Schweiz AG Heterogeneous execution engines in a network centric process control system
US11089119B1 (en) * 2020-03-31 2021-08-10 Atlassian Pty Ltd. Service provider managed applications in secured networks
CA3187434A1 (en) * 2020-07-30 2022-02-03 Bryan J. Dreyer Edge compute environment configuration tool for a communications network
US11456987B1 (en) 2021-05-07 2022-09-27 State Farm Mutual Automobile Insurance Company Systems and methods for automatic internet protocol address management
US11871240B2 (en) * 2021-06-28 2024-01-09 Amazon Technologies, Inc. Interfaces for creating radio-based private networks
US11418489B1 (en) * 2021-09-01 2022-08-16 Netflow, UAB Optimized server picking in a virtual private network
KR20230040216A (ko) * 2021-09-15 2023-03-22 삼성전자주식회사 가상 사설 네트워크를 통해 통신하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체
US11936658B2 (en) 2021-11-15 2024-03-19 Bank Of America Corporation Intelligent assignment of a network resource
CN116170364B (zh) * 2022-12-09 2024-04-05 山东有人物联网股份有限公司 一种vpn连接方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1739105A (zh) * 2001-04-20 2006-02-22 皇家菲利浦电子有限公司 业务接入系统
US7457827B2 (en) * 2000-12-12 2008-11-25 Canon Kabushiki Kaisha Information file recording apparatus

Family Cites Families (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642515A (en) 1992-04-17 1997-06-24 International Business Machines Corporation Network server for local and remote resources
SE507138C2 (sv) 1996-10-14 1998-04-06 Mirror Image Internet Ab Förfarande och anordning för informationsöverföring på Internet
US6154843A (en) * 1997-03-21 2000-11-28 Microsoft Corporation Secure remote access computing system
US6007408A (en) 1997-08-21 1999-12-28 Micron Technology, Inc. Method and apparatus for endpointing mechanical and chemical-mechanical polishing of substrates
US6278714B1 (en) 1998-02-06 2001-08-21 Sun Microsystems, Inc. Efficient hardware implementation of virtual circuit bunching
US7032242B1 (en) 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6226751B1 (en) 1998-04-17 2001-05-01 Vpnet Technologies, Inc. Method and apparatus for configuring a virtual private network
IL126552A (en) 1998-10-13 2007-06-03 Nds Ltd Remote administration of smart cards for secure access systems
CN100384191C (zh) * 1999-06-10 2008-04-23 阿尔卡塔尔互联网运行公司 基于策略的网络体系结构
US6526581B1 (en) 1999-08-03 2003-02-25 Ucentric Holdings, Llc Multi-service in-home network with an open interface
US6982985B1 (en) 1999-09-02 2006-01-03 Verso Technologies, Inc. Interaction of VoIP calls and cellular networks
US6636983B1 (en) 1999-10-07 2003-10-21 Andrew E. Levi Method and system for uniform resource locator status tracking
JP2001273258A (ja) 2000-03-23 2001-10-05 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証システム
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
GB2363297B (en) 2000-06-09 2004-04-07 Hewlett Packard Co Secure network communications
EP1758311B1 (en) 2000-06-16 2009-08-19 Fujitsu Limited Communication device including VPN accomodation function
ATE291803T1 (de) 2000-06-30 2005-04-15 Cit Alcatel Verfahren und apparat um mit apparate zu kommunizieren die nicht zum selben virtuellen privaten netzwerk (vpn) gehören
BR0112170A (pt) 2000-07-05 2004-07-27 Ernst & Young Llp Aparelho provendo um ou mais serviços de computador para diversos clientes, combinação de um primeiro aparelho e um segundo aparelho substancialmente idêntico ao citado primeiro aparelho, e, processos para prover um ou mais serviços de computador para diversos clientes, para operar um computador real em nome de diversos clientes, e para prover, para diversos clientes, um ou mais serviços de computador
US7127742B2 (en) 2001-01-24 2006-10-24 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
US20060242276A1 (en) 2001-02-16 2006-10-26 Lumenare Networks System and method for remotely configuring testing laboratories
US6778498B2 (en) 2001-03-20 2004-08-17 Mci, Inc. Virtual private network (VPN)-aware customer premises equipment (CPE) edge router
US7171453B2 (en) 2001-04-19 2007-01-30 Hitachi, Ltd. Virtual private volume method and system
US7231430B2 (en) 2001-04-20 2007-06-12 Egenera, Inc. Reconfigurable, virtual processing system, cluster, network and method
JP3945297B2 (ja) 2001-04-24 2007-07-18 株式会社日立製作所 システム及び管理システム
US7099947B1 (en) 2001-06-08 2006-08-29 Cisco Technology, Inc. Method and apparatus providing controlled access of requests from virtual private network devices to managed information objects using simple network management protocol
US7313819B2 (en) 2001-07-20 2007-12-25 Intel Corporation Automated establishment of addressability of a network device for a target network environment
US7827278B2 (en) 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. System for automated connection to virtual private networks related applications
US7197550B2 (en) * 2001-08-23 2007-03-27 The Directv Group, Inc. Automated configuration of a virtual private network
US7155497B2 (en) * 2001-09-27 2006-12-26 Hewlett-Packard Development Company, L.P. Configuring a network parameter to a device
JP4237055B2 (ja) 2001-09-28 2009-03-11 ファイバーリンク コミュニケーションズ コーポレーション クライアント側網アクセス・ポリシー及び管理アプリケーション
FI20011949A0 (fi) 2001-10-05 2001-10-05 Stonesoft Corp Virtuaalisen yksityisverkon hallinta
JP3879471B2 (ja) 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
JP2003167805A (ja) 2001-12-04 2003-06-13 Nippon Telegr & Teleph Corp <Ntt> 複数ユーザ側閉域網とサーバ側閉域網間のネットワーク通信方法およびサーバ装置
US20030140142A1 (en) 2002-01-18 2003-07-24 David Marples Initiating connections through firewalls and network address translators
US7818409B2 (en) 2002-01-22 2010-10-19 Alcatel-Lucent Usa Inc. Dynamic virtual private network system and methods
US7624437B1 (en) * 2002-04-02 2009-11-24 Cisco Technology, Inc. Methods and apparatus for user authentication and interactive unit authentication
US20030217126A1 (en) * 2002-05-14 2003-11-20 Polcha Andrew J. System and method for automatically configuring remote computer
US20030217266A1 (en) 2002-05-15 2003-11-20 Epp Edward C. Collaboration of resources in a distributed environment using credentials and encryption keys
JP4382328B2 (ja) 2002-06-11 2009-12-09 株式会社日立製作所 セキュアストレージシステム
US20050193103A1 (en) 2002-06-18 2005-09-01 John Drabik Method and apparatus for automatic configuration and management of a virtual private network
JP4083531B2 (ja) 2002-10-17 2008-04-30 株式会社エヌ・ティ・ティ・ドコモ 通信システム、転送装置、通信方法及びプログラム
US7386605B2 (en) * 2002-11-05 2008-06-10 Enterasys Networks, Inc. Methods and apparatus for automated edge device configuration in a heterogeneous network
US7574738B2 (en) 2002-11-06 2009-08-11 At&T Intellectual Property Ii, L.P. Virtual private network crossovers based on certificates
FR2847097B1 (fr) 2002-11-08 2005-04-01 Cit Alcatel Procede pour attribuer a un terminal un identifiant de reseau virtuel; terminal, serveur de configuration dynamique d'un hote, et serveur d'annuaire pour la mise en oeuvre de ce procede
US8122136B2 (en) 2002-12-18 2012-02-21 Cisco Technology, Inc. Methods and apparatus for providing security to a computerized device
US7447751B2 (en) 2003-02-06 2008-11-04 Hewlett-Packard Development Company, L.P. Method for deploying a virtual private network
US7444675B2 (en) 2003-02-28 2008-10-28 Hewlett-Packard Development Company, L.P. Systems and methods for defining security information for web-services
US7496685B2 (en) 2003-03-03 2009-02-24 Hewlett-Packard Development Company, L.P. Method and system for managing a device within a private network using a management device external to the private network
US7349951B2 (en) 2003-05-12 2008-03-25 Hewlett-Packard Development Company, L.P. Systems and methods for accessing a printing service
US7715380B2 (en) 2003-06-19 2010-05-11 Cisco Technology, Inc. Apparatus and methods for handling shared services through virtual route forwarding (VRF)-aware-NAT
US7437769B2 (en) 2003-06-24 2008-10-14 Realnetworks, Inc. Multiple entity control of access restrictions for media playback
US7386629B2 (en) * 2003-06-30 2008-06-10 Intel Corporation System and method for synchronous configuration of DHCP server and router interfaces
JP4011528B2 (ja) 2003-08-07 2007-11-21 日本電信電話株式会社 ネットワーク仮想化システム
US7373660B1 (en) 2003-08-26 2008-05-13 Cisco Technology, Inc. Methods and apparatus to distribute policy information
GB2405561B (en) 2003-08-28 2006-07-26 Motorola Inc Computer network security system and method for preventing unauthorised access of computer network resources
US7512715B2 (en) 2003-09-26 2009-03-31 Nokia Corporation System and method for requesting a resource over at least one network with reduced overhead
WO2005052737A2 (en) * 2003-11-21 2005-06-09 Building Address, Inc. System and method of virtualizing physical locations
US8590032B2 (en) 2003-12-10 2013-11-19 Aventail Llc Rule-based routing to resources through a network
US8661158B2 (en) 2003-12-10 2014-02-25 Aventail Llc Smart tunneling to resources in a network
US20050190769A1 (en) * 2004-01-28 2005-09-01 Smith B. S. System and method for securing remote access to a remote system
JP2005217757A (ja) 2004-01-29 2005-08-11 Oki Techno Creation:Kk ファイアウオール管理システム、ファイアウオール管理方法、およびファイアウオール管理プログラム
US7756998B2 (en) * 2004-02-11 2010-07-13 Alcatel Lucent Managing L3 VPN virtual routing tables
US20050185611A1 (en) 2004-02-25 2005-08-25 Torarp Carl-Johan Y. Broadband wireless network
US7679612B2 (en) 2004-04-30 2010-03-16 Microsoft Corporation Configuration goals via video presenting network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US7587588B2 (en) 2004-08-11 2009-09-08 Avaya Inc. System and method for controlling network access
US7428754B2 (en) 2004-08-17 2008-09-23 The Mitre Corporation System for secure computing using defense-in-depth architecture
US7411975B1 (en) 2004-08-26 2008-08-12 Juniper Networks, Inc. Multimedia over internet protocol border controller for network-based virtual private networks
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US20060095960A1 (en) 2004-10-28 2006-05-04 Cisco Technology, Inc. Data center topology with transparent layer 4 and layer 7 services
JP4339234B2 (ja) 2004-12-07 2009-10-07 株式会社エヌ・ティ・ティ・データ Vpn接続構築システム
US7551614B2 (en) 2004-12-14 2009-06-23 Hewlett-Packard Development Company, L.P. Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
US7457824B1 (en) 2004-12-28 2008-11-25 Emc Corporation Methods and apparatus for managing groups of resources
US7373661B2 (en) 2005-02-14 2008-05-13 Ethome, Inc. Systems and methods for automatically configuring and managing network devices and virtual private networks
US7463637B2 (en) * 2005-04-14 2008-12-09 Alcatel Lucent Public and private network service management systems and methods
US20060235973A1 (en) 2005-04-14 2006-10-19 Alcatel Network services infrastructure systems and methods
US7483438B2 (en) 2005-04-14 2009-01-27 Alcatel Lucent Systems and methods for managing network services between private networks
US7580415B2 (en) 2005-04-27 2009-08-25 Hewlett-Packard Development Company, L.P. Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections
US7653648B2 (en) 2005-05-06 2010-01-26 Microsoft Corporation Permissions using a namespace
BRPI0615559A2 (pt) 2005-07-20 2017-09-12 Verimatrix Inc sistema e método de autenticação de usúario de rede
US7802000B1 (en) * 2005-08-01 2010-09-21 Vmware Virtual network in server farm
WO2007020120A1 (en) 2005-08-16 2007-02-22 International Business Machines Corporation Computer maintenance method and system
US7590733B2 (en) 2005-09-14 2009-09-15 Infoexpress, Inc. Dynamic address assignment for access control on DHCP networks
US8532095B2 (en) 2005-11-18 2013-09-10 Cisco Technology, Inc. Techniques configuring customer equipment for network operations from provider edge
US7716240B2 (en) * 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
WO2007136423A2 (en) 2005-12-30 2007-11-29 Bmo Llc Digital content delivery via virtual private network(vpn) incorporating secured set-top devices
US20070201361A1 (en) 2006-01-30 2007-08-30 Megasoft Consultants, Inc. method and apparatus for selecting a communication system based on a utilization analysis
WO2007089283A2 (en) 2006-02-01 2007-08-09 X2 Technologies, Inc. System and method for providing computer services
US8169903B2 (en) 2006-03-07 2012-05-01 Cisco Technology, Inc. Managing traffic within and between virtual private networks when using a session border controller
US7961722B1 (en) 2006-03-07 2011-06-14 Juniper Networks, Inc. Multiple virtualized operating environments within a VPN appliance
US7426627B2 (en) 2006-03-10 2008-09-16 Microsoft Corporation Selective address translation for a resource such as a hardware device
US20090037247A1 (en) * 2006-03-17 2009-02-05 Thomas Frederick Quinn Method and system for managing legal matters
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US8190682B2 (en) 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US20070268515A1 (en) 2006-05-19 2007-11-22 Yun Freund System and method for automatic configuration of remote network switch and connected access point devices
US7624134B2 (en) 2006-06-12 2009-11-24 International Business Machines Corporation Enabling access to remote storage for use with a backup program
US7843912B2 (en) 2006-08-03 2010-11-30 Citrix Systems, Inc. Systems and methods of fine grained interception of network communications on a virtual private network
US20080215450A1 (en) 2006-09-28 2008-09-04 Microsoft Corporation Remote provisioning of information technology
US20080089338A1 (en) * 2006-10-13 2008-04-17 Robert Campbell Methods for remotely creating and managing virtual machines
US7852861B2 (en) 2006-12-14 2010-12-14 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) application level content routing using dual-proxy method
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US7840701B2 (en) 2007-02-21 2010-11-23 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method
US8055789B2 (en) 2007-03-27 2011-11-08 Amazon Technologies, Inc. Configuring intercommunications between computing nodes
WO2008148191A2 (en) * 2007-06-06 2008-12-11 Boldstreet Inc. Remote service access system and method
US20080307486A1 (en) 2007-06-11 2008-12-11 Microsoft Corporation Entity based access management
US8621573B2 (en) 2007-08-28 2013-12-31 Cisco Technology, Inc. Highly scalable application network appliances with virtualized services
US7954145B2 (en) 2007-09-27 2011-05-31 Novell, Inc. Dynamically configuring a client for virtual private network (VPN) access
US9330050B2 (en) * 2007-10-02 2016-05-03 Aspect Software, Inc. Deployment wizard
KR20090056481A (ko) 2007-11-30 2009-06-03 한국전자통신연구원 센서 네트워크에서의 이종망 접속 장치 및 방법
JP5029373B2 (ja) * 2008-01-11 2012-09-19 日本電気株式会社 ノード、経路制御方法および経路制御プログラム
US7930732B2 (en) 2008-02-22 2011-04-19 Novell, Inc. Techniques for secure transparent switching between modes of a virtual private network (VPN)
US7958184B2 (en) 2008-03-04 2011-06-07 International Business Machines Corporation Network virtualization in a multi-node system with multiple networks
US8429739B2 (en) 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
US20090276774A1 (en) 2008-05-01 2009-11-05 Junji Kinoshita Access control for virtual machines in an information system
US8972978B2 (en) 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
GB2473797A (en) 2008-07-31 2011-03-23 Hewlett Packard Development Co Selectively re-mapping a network topology
US8326972B2 (en) * 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment
US8045570B2 (en) * 2008-09-30 2011-10-25 Nortel Networks Limited Extended private LAN
US8521868B2 (en) 2008-10-15 2013-08-27 International Business Machines Corporation Platform-level indicators of application performance
US8121118B2 (en) 2008-10-31 2012-02-21 At&T Intellectual Property I, L.P. Methods and apparatus to dynamically control connectivity within virtual private networks
US9524167B1 (en) 2008-12-10 2016-12-20 Amazon Technologies, Inc. Providing location-specific network access to remote services
US9137209B1 (en) 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US8230050B1 (en) 2008-12-10 2012-07-24 Amazon Technologies, Inc. Providing access to configurable private computer networks
US8201237B1 (en) 2008-12-10 2012-06-12 Amazon Technologies, Inc. Establishing secure remote access to private computer networks
US9106540B2 (en) 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
US8595378B1 (en) 2009-03-30 2013-11-26 Amazon Technologies, Inc. Managing communications having multiple alternative destinations
US8644188B1 (en) 2009-06-25 2014-02-04 Amazon Technologies, Inc. Providing virtual networking functionality for managed computer networks
US8532108B2 (en) 2009-09-30 2013-09-10 Alcatel Lucent Layer 2 seamless site extension of enterprises in cloud computing
US20110110377A1 (en) 2009-11-06 2011-05-12 Microsoft Corporation Employing Overlays for Securing Connections Across Networks
US8369345B1 (en) 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
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
US8995301B1 (en) 2009-12-07 2015-03-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing cost information
US9282027B1 (en) 2010-03-31 2016-03-08 Amazon Technologies, Inc. Managing use of alternative intermediate destination computing nodes for provided computer networks
US20120099602A1 (en) 2010-10-25 2012-04-26 Brocade Communications Systems, Inc. End-to-end virtualization
WO2012170016A1 (en) 2011-06-07 2012-12-13 Hewlett-Packard Development Company, L.P. A scalable multi-tenant network architecture for virtualized datacenters
US8868710B2 (en) 2011-11-18 2014-10-21 Amazon Technologies, Inc. Virtual network interface objects
US9916545B1 (en) 2012-02-29 2018-03-13 Amazon Technologies, Inc. Portable network interfaces for authentication and license enforcement
US20140241173A1 (en) 2012-05-16 2014-08-28 Erik J. Knight Method for routing data over a telecommunications network
US10389608B2 (en) 2013-03-15 2019-08-20 Amazon Technologies, Inc. Network traffic mapping and performance analysis
US10044581B1 (en) 2015-09-29 2018-08-07 Amazon Technologies, Inc. Network traffic tracking using encapsulation protocol
US9787499B2 (en) 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US9832118B1 (en) 2014-11-14 2017-11-28 Amazon Technologies, Inc. Linking resource instances to virtual networks in provider network environments
US10212161B1 (en) 2014-11-19 2019-02-19 Amazon Technologies, Inc. Private network layering in provider network environments
US10484297B1 (en) 2015-03-16 2019-11-19 Amazon Technologies, Inc. Automated migration of compute instances to isolated virtual networks
US10749808B1 (en) 2015-06-10 2020-08-18 Amazon Technologies, Inc. Network flow management for isolated virtual networks
US10021196B1 (en) 2015-06-22 2018-07-10 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
US10320644B1 (en) 2015-09-14 2019-06-11 Amazon Technologies, Inc. Traffic analyzer for isolated virtual networks
US10593009B1 (en) 2017-02-22 2020-03-17 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing
US10498693B1 (en) 2017-06-23 2019-12-03 Amazon Technologies, Inc. Resizing virtual private networks in provider network environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457827B2 (en) * 2000-12-12 2008-11-25 Canon Kabushiki Kaisha Information file recording apparatus
CN1739105A (zh) * 2001-04-20 2006-02-22 皇家菲利浦电子有限公司 业务接入系统

Also Published As

Publication number Publication date
EP3489824B1 (en) 2024-04-24
EP3489824A1 (en) 2019-05-29
CN104283869B (zh) 2018-09-28
JP6118850B2 (ja) 2017-04-19
CN105072096A (zh) 2015-11-18
CN104283869A (zh) 2015-01-14
US20200358651A1 (en) 2020-11-12
SG171425A1 (en) 2011-07-28
CA2744720A1 (en) 2010-06-17
CA2915391A1 (en) 2010-06-17
US20120311108A1 (en) 2012-12-06
EP2356568B1 (en) 2019-06-19
US20240113935A1 (en) 2024-04-04
US20130204971A1 (en) 2013-08-08
JP2015216692A (ja) 2015-12-03
CN105072096B (zh) 2018-07-24
JP5788945B2 (ja) 2015-10-07
US20140047082A1 (en) 2014-02-13
JP2014039313A (ja) 2014-02-27
US11290320B2 (en) 2022-03-29
US9521037B2 (en) 2016-12-13
JP5385403B2 (ja) 2014-01-08
US8230050B1 (en) 2012-07-24
CN102246147A (zh) 2011-11-16
WO2010068618A1 (en) 2010-06-17
EP2356568A4 (en) 2016-04-27
EP2356568A1 (en) 2011-08-17
US10728089B2 (en) 2020-07-28
US20220217040A1 (en) 2022-07-07
CA2915391C (en) 2018-09-25
US11831496B2 (en) 2023-11-28
US8578003B2 (en) 2013-11-05
CA2744720C (en) 2016-09-13
JP2012511878A (ja) 2012-05-24

Similar Documents

Publication Publication Date Title
CN102246147B (zh) 提供到可配置专用计算机网络的访问
CN104090825B (zh) 动态迁移计算机网络
CN102246465B (zh) 提供对远程服务的本地安全网络访问
US9756018B2 (en) Establishing secure remote access to private computer networks
US10951586B2 (en) Providing location-specific network access to remote services
CN102334111B (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
C14 Grant of patent or utility model
GR01 Patent grant