CN103620597B - 外部动态迁移 - Google Patents

外部动态迁移 Download PDF

Info

Publication number
CN103620597B
CN103620597B CN201280012137.8A CN201280012137A CN103620597B CN 103620597 B CN103620597 B CN 103620597B CN 201280012137 A CN201280012137 A CN 201280012137A CN 103620597 B CN103620597 B CN 103620597B
Authority
CN
China
Prior art keywords
network
address
service
business
network service
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
CN201280012137.8A
Other languages
English (en)
Other versions
CN103620597A (zh
Inventor
A·B·迪金森
E·J·布兰德怀恩
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
Publication of CN103620597A publication Critical patent/CN103620597A/zh
Application granted granted Critical
Publication of CN103620597B publication Critical patent/CN103620597B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5084Providing for device mobility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS

Abstract

可以从跨因特网或其它公共网络的多个点通告全局可重新映射地址。可以将全局地址映射到提供商的一个或多个内部地址,使得当将业务接收到网络位置时,提供商可确定要在当前网络位置还是不同的网络位置中处理业务,这可以使用静态过程或基于多个因素的任一个因素的动态过程来确定。如果业务是以不同的网络位置为目的地,则可以将业务重新映射并将其转发到该网络位置。一旦业务处于所确定的目的地网络位置中,则可以将业务重新映射并送达到最终目的地。可以基于多个因素中的任一个因素在任何时间调整重新映射和目的地网络位置,而不会有丢失业务的显著风险。

Description

外部动态迁移
背景技术
随着如因特网的网络上有数量日益增加的应用和服务可用,数量日益增加的内容、应用和/或服务提供商转向如多租户资源和云计算的技术。这些技术使客户能够访问和/或利用多种类型的电子资源(物理的或虚拟的),其中用于提供这些资源的硬件和/或软件可动态地伸缩以在任何给定时间满足多个客户的需求。客户通常将租借、租用或以其它方式付费来访问这些资源,并且因此无需购买和维护用于获取这些资源提供的功能的硬件和/或软件。
使用常规方法,客户可以在任何存在适合资源且客户有权访问的地方启动实例。然而,如果将静态地址与该实例关联,则发往该静态地址的业务可能在网络故障或其它此类事件发生的情况中丢失。在一些方法中,客户可以将现有名称(例如,DNS名)重新映射到新实例的公共地址,但是此类方法可能要为该地址传遍因特网耗费若干小时,使得新实例可能无法接收业务,同时终止或不可用的实例继续接收到请求。再者,即使当重新映射地址时,客户可能受限于特定区域,在区域性网络中断或其它此类情况中可能成问题。
附图简介
将参考附图描述根据本公开的多种实施例,其中:
图1图示其中可实现多种实施例的环境;
图2图示可根据多种实施例使用的控制平面和数据平面的实例分隔;
图3图示可根据多种实施例使用的客户网络位置的实例分布;
图4图示可根据多种实施例使用的客户网络位置的实例评级列表;
图5(a)和图5(b)图示常规方法中的以及根据多种实施例的映射点的表示;以及
图6图示可根据多种实施例使用的用于定向业务的实例过程。
具体实施方式
根据本公开的多种实施例的系统和方法可以克服常规方法中体验的前文所述和其它缺点的一个或多个缺点以管理电子环境中的业务。具体来说,根据多种实施例的方法支持使用可全局重新定位的可重新映射地址。这些可重新映射全局地址使客户能够从多个点和/或网络位置(例如,不同提供商运营的地理上分开的区域或不同网络堆栈)通告地址,同时使这些网络位置处接收的业务能够在任何给定时间被定向到适合的实例或其它目的地。此种方法能够实现动态业务管理,而不会有丢失业务的显著风险。
在至少一些实施例中,被接收到已通告全局地址所在的位置的请求能够间接地被重新映射并尽可能快地发送回因特网上,而无需利用提供商自己的网络来定向业务。在一个实例中,在第一区域始发消息且将其发往第二区域中的位置的客户可以使消息在第一区域中发送到因特网,并在因特网上发送到第二区域,其中因特网组件负责确定如何获取对第二区域中的地址的请求。此类方法防止了提供商跨提供商自己的网络将该业务载送到第二区域,虽然在至少一些实施例中,提供商可确定在某些情况下使用专用网络。此类方法允许在任何适合的时间出于任何适合的目的进行跨区域实例迁移。如果最初将消息接收到目的地区域,则可以将该消息直接重新映射到适合的实例,并将其送达到该实例以用于处理。
在一些此类实施例中,可以使用特定可重新映射全局地址,以使地址空间的仅小部分在多个入网点(POP)或其它接口点中进行通告。该小部分可以在一些或所有POP中通告,以及在一些情况中,可以从不同的POP分群通告不同分段的地址空间。在一些实施例中,可以将地址块的大小选为足够大以使提供商可选择性地选择用于广告该空间的至少一部分的区域。在一些实施例中,可以使用预分配的地址块,这些预分配的地址块可以在一些或全部区域中进行广告,因为知道大量的业务可能需要在提供商网络上载送。大客户可能潜在地利用全局广告的地址块中的多个可重新映射地址,并小心地确定如何在较小规模上定向业务。在一些实施例中,从比能够处理接收的业务的网络位置多的网络位置通告地址。在至少一些实施例中,某些网络位置未获授权处理某些类型的业务,如某些客户的业务等。在一些情况中,网络区域可以向特定类型的业务无法被定向去的某些其它区域通告。
在一些情况中,提供商可以监视状态信息,并自动地按需重新映射地址,以使客户无需检测中断和/或需要解决任何相关的问题。在至少一些实施例中,客户可以指定一个或多个策略来指定应该如何重新映射地址,以及促使那些地址被重新映射的环境或标准。在一些情况中,客户可以指定使得某些映射定时以客户预先指定的自动化方式发生的策略。在其它情况中,客户可以指定某些重新映射应该响应某种类型的事件(例如,区域故障)的发生而发生。还可以使用其它策略,也可以由任何适合的实体提供或指定。例如,提供商可以利用一个或多个策略来路由客户业务,其中路由选择至少部分地基于业务的始发位置或地址、与业务对应的客户的类型或与业务关联的财务对价的金额中的至少一个来确定。
在至少一些实施例中,客户可以具有指定和/或更新静态配置信息,以便例如调整目的地区域的评级的能力。例如,客户可能期望指定将该业务定向到与明尼苏达州关联的区域中的位置。该客户可以提交指定更新的配置信息的API调用,然后将按需传播该信息以更新必要的配置列表。在至少一些实施例中,客户可以对不同区域和/或在不同时间指定不同的配置信息或策略。在至少一些实施例中,可以就至少一个区域的状态,如该位置是否有效且可用,以及其它信息,如从当前区域至该区域的距离和当前区域与潜在目标区域之间的路径作出确定
还可以由提供商来实现多种策略。例如,提供商可以实现使得业务在整天过程中被路由到不同区域的策略。此类策略还可以执行全局自动缩放,其中不同的区域可以基于日内时间或其它此类因素来接收、处理和/或发送不同数量的业务。
在一个实施例中,可以使用基于域名系统(DNS)的方法,其中主机的DNS条目使对应的因特网协议(IP)地址在新区域中通告的范围内进行更改或更新。可以在不同区域中通告不同的IP地址范围,并且当期望将业务定向到新(或不同的)区域时,适合的主机可以使DNS条目更新为包括该新区域的范围内的值。其它实施例可以例如通过管理边界网关巡视(BGP)信息来控制某些协议的数据。
多种实施例提供可用来使用户能够指定和管理数据环境或数据平面的多个方面的单独的控制环境或控制平面。可以通过一组Web服务来提供此“自服务”功能,从而使用户和控制平面能够一起充当虚拟数据库管理员(DBA)。例如,用户或客户可以通过多个外部可见应用程序接口(API)中的一个向控制平面提交请求。可以使用多种API来执行有关数据环境中多种资源的特定功能。可以分析接收到API中的一个的请求以确定要在数据平面中执行的期望的动作,如启动客户实例的动作,以及确定要在启动实例时使用的任何配置参数。如资源管理组件的组件可以确定该动作的适合任务,确保选择了适合的启动配置,以及促使任务按适合的次序执行。这些任务中的至少一个将在数据环境中执行,以便如启动或调整资源实例的一个方面。
正如可根据多种实施例所提供的,下文描述和提出了多种其它功能和优点。
图1图示用于实现根据多种实施例的多个方面的环境100的实例。正如将认识到的,虽然出于解释的目的而使用了基于Web的环境,但是也可以在适合的情况下使用不同环境来实现多种实施例。环境100包括电子客户端设备102,电子客户端设备102可以包括可操作以通过适合的网络104发送和接收请求、消息或信息以及将信息送达回设备的用户的任何适合的设备。此类客户端设备的实例包括个人计算机、蜂窝电话、手持消息传送设备、膝上型计算机、机顶盒、个人数字助理、电子书阅读器等。该网络可以包括任何适合的网络,包括内联网、因特网、蜂窝网络、局域网或任何其它此类网络或其组合。用于此类系统的组件可以至少部分地取决于所选的网络和/或环境的类型。用于经由此类网络通信的协议和组件是众所周知的,并且在本文将不予以详细论述。通过网络的通信可以通过有线或无线连接及其组合来实现。在此实例中,该网络包括因特网,因为环境包括用于接收请求并对此响应提供内容的Web服务器106,虽然对于其它网络,可以如本领域技术人员所显见的,使用提供类似目的替代设备。
说明性环境包括至少一个应用服务器108和数据存储110。应该理解,可以有若干个应用服务器、层或其它元件、过程或组件,它们可以链接或以其它方式配置,并且可以交互来执行如从适合的数据存储获取数据的任务。正如本文所使用的,术语“数据存储”指代能够存储、访问和检索数据的任何设备或设备的组合,其可以包括任何标准、分布式或集群式环境中的任何组合和任何数量的数据服务器、数据库、数据存储设备和数据存储介质。该应用服务器可以包括用于按执行客户端设备的一个或多个应用的多个方面所需的与数据存储集成、处理应用的数据访问和商业逻辑的大部分的任何适合的硬件和软件。该应用服务器与数据存储协同来提供访问控制服务,以及能够生成如文本、图形、音频和/或视频的内容以传输给用户,在此实例中,其可以通过Web服务器以HTML、XML或另一个适合的结构化语言的形式提供给用户。处理所有请求和响应以及在客户端设备102和应用服务器108之间交付内容可以由Web服务器来处理。应该理解,Web和应用服务器并非必需的且仅仅是示例组件,因为本文论述的结构化代码可以在任何适合的设备或主机机器上执行,正如本文其它地方所论述的。
数据存储110可以包括用于存储与特定方面相关的数据的若干个单独的数据表、数据库或其它数据存储机构和介质。例如,图示的数据存储包括用于存储生产数据112和用户信息116的机构,生产数据112和用户信息116可以用于提供内容服务。该数据存储还示出为包括用于存储可用于如报告和分析之类的目的的日志数据114的机构。应该理解,可以有可能需要存储在数据存储中的许多其它方面(如用于页图像信息和访问权信息),可以根据情况将其存储在任何上文列出的机构中或存储在数据存储110中的附加机构中。数据存储110可通过与之关联的逻辑操作以从应用服务器108接收指令,并对此响应以获取、更新或以其它方式处理数据。在一个实例中,用户可以提交针对某种类型的项目的搜索请求。在此情况中,数据存储可以访问用户信息以验证用户的身份,并且可以访问目录细节信息以获取与该类型的项目有关的信息。然后,可以如在用户能够通过用户设备102上的浏览器查看的Web页面上结果列示中将该信息返回给用户。可以在浏览器的专用页面或窗口查看所关注的特定项目的信息。
每个服务器通常将包括操作系统,操作系统提供用于该服务器的常见管理和操作的可执行程序指令,并且通常将包括计算机可读介质,其存储在被服务器的处理器执行时允许服务器执行其预期功能的指令。操作系统和服务器的常见功能性的适合实现是众所周知的或可通过商业渠道获取的,并且尤其根据本文公开,由本领域普通技术人员容易地实现。
一个实施例中的环境是利用若干个计算机系统和组件的分布式计算环境,这些计算机系统和组件使用一个或多个计算机网络或直接连接经由通信链路互连。然而,本领域普通技术人员将认识到,此类系统在具有比图1所示更少或更多数量的组件的系统中同样能够很好地工作。因此,图1中的系统100的描绘应该被视为本质上是说明性的,而非对本公开范围的限制。
如图1所示的环境对于如电子交易市场的提供商是有用的,其中可以使用多个主机来执行如提供内容、认证用户、执行支付交易或执行任何多种其它此类任务的任务。这些主机中的一些可以被配置来提供相同的功能性,而另一些服务器可以被配置来执行至少一些不同的功能。在此类情况中的电子环境可以包括附加的组件和/或其它布置,如图2的配置200中所示那些,下文对此进行详细论述。
可以将根据多种实施例的方法与如可以提供关系数据库服务(“RDS”)的系统一起来使用,关系数据库服务(“RDS”)使开发人员、客户或其它获授权的用户能够获得和配置关系数据库和其它此类数据源,以使用户可执行如存储、处理和查询云中的关系数据集。虽然此实例是结合因特网、Web服务和基于因特网的技术来论述的,但是应该理解多种实施例的多个方面可以与电子环境中通过网络可用或提供的任何适合服务结合来使用。再者,虽然服务在本文中称为“关系数据库服务”,但是应该理解,此类服务可以与电子环境中任何适合类型的数据资料库或数据存储结合来使用。此实例中的RDS包括至少一个Web服务,该至少一个Web服务使用户或客户能够容易地管理资源和关系数据集而无需担心部署、升级、补丁管理、备份、复制、故障切换、容量管理、缩放和数据管理的其它此类方面的监管复杂性。因此,开发人员自由地开发完善的云应用而无需担心管理数据库基础设施的复杂性。
一个实施例中的RDS提供包括对于管理数据存储的多个方面有用的组件(例如,硬件和软件)的单独的“控制平面”。在一个实施例中,提供一组数据管理应用编程接口(API)或其它此类接口,这样允许用户或客户调用到RDS以执行与数据存储相关的某些任务。然而,用户仍可以使用直接接口或API来与数据资料库通信,并且只能在必须要管理数据存储或执行类似任务时才能使用控制平面的专用于RDS的API。
图2图示可根据多种实施例使用的RDS实现200的实例。在此实例中,终端用户的计算设备202示出为能够通过网络206调用到控制平面208以执行如预备数据平面210的数据资料库的任务。用户或应用204可以直接通过数据平面210的接口访问提供的资料库。虽然终端用户计算设备和应用是出于解释的目的来使用的,但是应该理解,在多种实施例中,任何适合的用户、应用、服务、设备、组件或资源均可以在适合的情况下访问控制平面和/或数据平面的接口。再者,虽然组件被分离成控制和数据“平面”,但是应该理解,这可以指用于提供相应功能的至少一些资源(例如,硬件和/或软件)的实际或虚拟分离。
在此实例中,控制平面208本质上是处理如预备、缩放、复制等的控制和管理动作的虚拟层的硬件和软件组件。此实施例中的控制平面包括Web服务层212或层次,Web服务层212或层次可以包括例如至少一个Web服务器,连同计算机可执行软件、应用服务器或其它此类组件。Web服务层还可以包括用于跨网络206接收Web服务调用或请求的一组API 232(或其它此类接口)。可以提供每个API以接收对要涉及数据环境来执行的至少一个特定动作的请求,该至少一个特定动作诸如预备、缩放、克隆关系数据库的实例或将其休眠。当接收到对API中的一个的请求时,Web服务层可以剖析或以其它方式分析该请求以确定需要执行或处理调用的步骤或动作。例如,可以接收包括创建数据资料库的请求的Web服务调用。在此实例中,
Web服务层可以剖析该请求以确定要创建的数据资料库的类型、所请求的存储卷、所请求的硬件(如果有的话)的类型或其它此类方面。可以将请求的信息写入管理(“管理”)数据存储222或其它适合的存储位置或作业队列,以便后续处理。
一个实施例中的Web服务层包括能够提供多种控制平面API并基于API规范返回适合的响应的一组可伸缩面向客户的服务器。Web服务层还可以包括至少一个API服务层,在一个实施例中,该至少一个API服务层由处理面向外部的客户API的无状态复制的服务器组成。Web服务层可以负责Web服务前端特征功能,如基于证书对客户进行认证,对客户授权,节制客户对API服务器的请求、验证用户输入和编组(marshalling)或解组(unmarshalling)请求和响应。API层还能够负责响应于API调用而从管理数据存储读取数据库配置数据和将数据库配置数据写入到管理数据存储中。在多个实施例中,Web服务层和/或API服务层将是仅外部可见的组件,或仅对控制服务的客户可见且可被其访问的组件。正如本领域中公知的,Web服务层的服务器可以是无状态且水平缩放的。可以将API服务器以及持久性数据存储散布在地理区域中或靠近地理位置的多个数据中心上,例如,使得服务器对于单个数据中心故障能够迅速恢复。
此实施例中的控制平面包括称为“扫描器”的组件214。扫描器组件可以是可操作以轮询控制平面的多种组件或另行地响应于未决请求而确定要执行的任何任务。在此实例中,Web服务层可以将“创建数据库”请求的指令或信息置于管理数据存储222或类似作业队列中,并且扫描器可以周期性地对管理数据存储检查未决作业。正如本领域普通技术人员将显见到的,可以使用多种其它方法,如Web服务层向扫描器发送有作业存在的通知。扫描器组件可以提取“创建数据库”请求,并且使用该请求的信息可以向工作流程组件216发送请求、调用或其它此类命令,工作流程组件216可操作以将用于该请求的至少一个工作流程实例化。使用工作流程服务生成并维护一个实施例中的工作流程,正如本文其它地方所论述的。一般来说,工作流程是为了执行特定作业而应该被执行的序列任务。工作流程不是实际的工作,而是控制信息的流动和工作的执行的工作的抽象。工作流程还可以视为状态机,其可以在执行期间的任何时间管理和返回过程的状态。一个实施例中的工作流程组件(或组件的系统)可操作以管理和/或执行如下任务的工作流程的托管和执行:资料库创建、修改和删除;复原和备份;安全性群创建、删除和修改;用户证书管理;和密钥旋转和证书管理。此类工作流程可以在工作流程服务的顶端上实现,正如本文其它地方所论述的。工作流程组件还可以管理用于不同数据库引擎(如MySQL)的工作流程步骤之间的差异,因为底层工作流程服务不一定会改变。
在此实例中,可以使用用于创建数据库和应用从最初请求提取的信息的工作流程模板来将工作流程实例化。例如,如果相对于RDBMS或其它此类实例,该请求针对关系数据库管理系统(RDBMS)实例,则将特定任务添加到指向MySQL实例的工作流程。工作流程组件还可以选择与所请求的存储量、任何特定硬件需求相关的特定任务或其它此类任务。可以按对于整个作业有用的执行次序将这些任务添加到工作流程中。当一些任务可并行地执行时,其它任务依赖于先前的任务首先完成。工作流程组件或服务可以将此信息包括在工作流程中,并且可以按需执行这些任务和传递信息。
客户的实例“创建数据库”工作流程可以包括例如如下任务:确保为请求指定一组适合的启动配置参数,利用一组启动配置参数预备数据存储实例,分配非实例持久性存储的卷,将该持久性存储容量附接到数据存储实例,然后分配和附接客户可用来访问或以其它方式连接到数据实例的DNS地址或其它地址、端口、接口或标识符。在此实例中,对用户提供用于访问该实例的DNS地址和端口地址。工作流程组件可以管理这些和任何相关任务的执行,或此类任务的任何其它适合组合,并且可以响应于“创建数据库”请求而对该请求生成指示创建“数据库”的响应,这实际上对应于数据平面210中的数据存储实例,并且提供用于访问该实例的DNS地址。用户就可以直接使用DNS地址和端口访问数据存储实例,而无需访问或通过控制平面208。可以使用多种其它工作流程模板来执行类似的作业,如删除、创建或修改多个数据存储实例中的一个,如增加存储设备。在一些实施例中,将工作流程信息写入存储设备,并且至少一个单独的执行组件(未示出)基于该工作流程信息抽出或另行访问或接收要执行的任务。例如,可以有执行预备任务的专用预备组件,并且此组件可能不被工作流程组件调用,但是可以监视任务队列或可以应该显见的多种相关方式中的任一种接收预备任务的信息。
此实施例中的控制平面208还包括至少一个监视组件218。当在数据平面中创建数据实例时,可以将该实例的信息写入到控制平面中的数据存储,如监视数据存储220。应该理解,监视数据存储可以是单独的数据存储,或可以是另一个数据存储的一部分,如管理数据存储222中的一组不同表或其它适合的资料库。监视组件可以访问监视数据存储中的信息以确定数据平面210中的活动实例234。正如本文其它地方论述的,这些实例可以位于可能分布在世界上任何选定的适合位置处的不同区域。监视组件还可以执行其它任务,如从控制平面和/或数据平面的多个组件,如Web服务层、工作流程组件、扫描器组件和多个主机管理器收集日志和/或事件信息。使用此类事件信息,监视组件可以出于实现面向客户API的目的暴露客户可见事件。监视组件可以持续地监视控制平面的运行中资料库和/或实例的健康,检测这些实例中任一个的故障和启动适合的恢复过程。
数据平面中的每个实例234可以包括至少一个数据存储226和用于提供对数据存储的访问权的机器的主机管理器组件228。一个实施例中的主机管理器是实例和/或应用服务器(如Tomcat或Java应用服务器)上执行的应用或软件代理,其编程为管理如软件部署和数据存储操作的任务,以及监视数据存储和/或相应的实例的状态。一个实施例中的主机管理器监听只能从内部系统组件达到的端口,且不可供客户或其它外侧实体使用。在一些实施例中,主机管理器无法发起调用到控制平面层中。主机管理器可以负责管理和/或执行如为新资料库建立实例的任务,包括建立逻辑卷和文件系统、安装数据库二进制文件和种子,以及启动或停止资料库。主机管理器可以监视数据存储的健康,以及对错误状况监视如I/O错误或数据存储设备错误的错误状况,并且必要时可重启数据存储。主机管理器还执行和/或管理数据存储和/或操作系统的软件补丁的安装和升级。主机管理器还可收集相关度量,如可能与CPU、存储器和I/O使用率相关的度量。
监视组件可以通过如发送特定请求或监视来自主机管理器的心跳或确定每个主机的状态来周期性地就监视的实例234与每个主机管理器228通信。在一个实施例中,监视组件包括被配置来向每个主机管理器发出命令以便如获取特定主机和/或实例的状态的一组事件处理器(或监视服务器)。如果在特定重试次数之后未接收到响应,则监视组件可以确定存在问题,并且可以将信息存储在管理数据存储222或另一个此类作业队列中以对该实例执行如验证问题以及在需要的情况下重新预备实例的动作。扫描器可以访问此信息,并对该实例开始恢复工作流程以尝试自动地从故障恢复。主机管理器228可以充当用于监视的代理和控制平面的其它组件,代控制平面组件对这些实例执行任务。偶尔,实例中的一个将发生问题,如对应的主机、实例或卷崩溃、重新引导、重启等,这无法自动地解决。在一个实施例中,存在可以记录这些和其它客户可见性事件的日志组件(未示出)。日志组件可以包括API或其它此类接口,使得如果实例在一段时间期间不可用,客户可以调用适合的“事件”或类似的API来获取有关该事件的信息。在一些情况中,当实例故障时可以将请求保持为待处理。因为此实施例中的控制平面与数据平面分离,所以控制平面从未接收该数据请求,并因此无法将后续子任务的请求排队(虽然在一些实施例中,可以将此信息转发到控制平面)。因此,此实施例中的控制平面向用户提供有关故障的信息,所以用户可在必要时处理请求。
正如所论述的,一旦预备实例,并且向用户提供DNS地址或其它地址或位置,则用户可以通过网络使用Java数据库连接性(JDBC)或其它此类客户端直接与该实例234交互来向数据平面210“直接”发送请求。在一个实施例中,数据平面采取计算云环境或跨“云”提供数据存储设备或访问的一组Web服务和资源或硬件和/或软件组件的动态网络的形式(或至少包括计算云环境或跨“云”提供数据存储设备或访问的一组Web服务和资源或硬件和/或软件组件的动态网络或作为其一部分)。DNS地址在此类动态云环境中是有益的,因为可以通过以编程方式将DNS地址重新映射到任何适合的替代实例来使用以屏蔽例如实例或可用性故障。可以将例如从用户202或应用204接收的请求定向到可将该请求定向到与该请求的DNS对应的实际实例234或主机的网络地址转换(NAT)路由器224或其它适合的组件。正如所论述的,此类方法允许实例进行动态地移动、更新、复制等,而无需用户或应用更改用于访问实例的DNS或其它地址。正如所论述的,每个实例234可以包括主机管理器228和数据存储226,以及可以在持久性存储设备230中具有至少一个备份实例或副本。使用此类方法,一旦通过控制平面配置了实例,则用户、应用、服务或组件可通过对数据平面的请求直接与实例交互,而无需访问控制平面232。例如,用户可以通过DNS地址直接地发出与实例中的数据相关的结构化查询语言(SQL)或其它此类命令。仅在用户想要执行如扩大实例的存储容量的任务的情况下,用户才需访问控制平面。在至少一个实施例中,控制平面208的此功能可以由提供商作为至少一个服务来提供,该提供商可以与数据平面210的提供商相关或不相关,但是仅可以作为可用于预备和管理数据平面中的数据实例的第三方服务,并且还可以监视并确保单独的数据平面210中的那些实例的可用性。
正如所论述的,将控制平面的功能作为Web服务或其它此类服务来提供的一个优点在于,控制平面可起到例如,虚拟系统管理员或虚拟数据库管理员(DBA)的作用,从而无需有经验的人类管理员来执行如验证启动配置和预备数据的任务。许多常规方法需要这种人类管理员来接收必要的配置信息,确定配置是否有效,优化和调整实例,并执行其它此类任务,这耗费大量时间和工作量。再者,此类方法提供许多出错的机会。然而,用户能够指定这些参数的能力可导致用户以对于当前网络或系统环境不是最优的方式启动实例或另外的访问资源。如本文描述的,当向控制平面或服务提交请求时指定特定的启动配置,用户或客户可以获得资源访问的最优(或至少适合或被允许的)性能。控制平面可以执行必要的任务来响应请求创建、启动、删除、修改、扩大和/或以其它方式管理资源或资源实例。控制平面还可以一致性的方式支持若干不同类型的资源,而无需每种类型资源中的专家。
在常规实施例中,客户也许能够在世界上任何地方,至少适合资源所在的位置启动实例(如结合图2描述的那些实例),并且客户对那些资源具有访问权。然而,如果根据多种常规方法将如静态地址的地址与特定实例关联,则定向到该静态地址的业务可能在故障或其它此类事件发生的情况中丢失。在一些方法中,在启动时可能对实例赋予两个地址:专用地址和通过网络地址转换(NAT)映射到该专用地址的公共地址。例如,对于IP地址,此类方法使客户能够使用动态DNS将现有DNS名称重新映射到新实例的公共IP地址。然而,此类方法可能耗费多达24小时来通过因特网传播IP地址,使得新实例可能接收不到业务,同时已终止的实例继续接收请求。
在某些环境中,客户也许能够代之以关联本文将称为“可重新映射”地址的。可重新映射地址的实例是华盛顿州西雅图的Amazon.com有限公司提供的“弹性IP地址”供给。例如,客户能够将可重新映射地址与客户的帐户关联,而非与特定实例关联。然而,不同于传统静态IP地址,可重新映射地址使客户能够将公开暴露的IP地址重新映射到客户的帐户中的任何实例。
然而,即使利用可重新映射地址,客户仍通常局限于单个区域。例如,在维吉尼亚存在机器故障的客户也许能够在维吉尼亚或周围区域启动新实例,并将可重新映射地址重新映射到该新实例。从网络(例如,因特网)发往该可重新映射地址的来业务将被路由到该实例。客户可以利用该区域内的多个位置,如维吉尼亚的多个不同数据中心,使得在例如一个数据中心遇到丧失电力的情况下,可以将业务重新路由到该区域中的其它数据中心。
然而,使用常规方法,客户无法跨多个区域重新映射那些可重新映射地址或将其重新映射到不同的区域。例如,在大灾难或重创美国的网络的其它情况中,客户无法重新映射到美国以外的数据中心。再者,在不同时间从世界主要不同区域始发业务的客户无法重新映射地址,以便通过映射到距离最初业务始发点最近的数据中心以在任何给定时间处减少网络上的业务量。客户将必须分配新的可重新映射地址,并使用DNS或另一个类似机构来向客户告知新端点,这在许多不同场合下可能是不期望的。
使用常规方法来实现可用于对客户的一种选项是,在每个期望的区域中“通告”所有公共地址。在图3所示的实例300中,提供商可以利用至少四个不同区域中的资源,每个区域对应于关联的区域,这里美国的西海岸(区域A)、美国东海岸(区域B)、爱尔兰(区域C)和亚洲(区域D)。在此实例中,维吉尼亚的公共地址空间可以从维吉尼亚通告,以及爱尔兰的公共地址空间从爱尔兰通告。这里,“通告”一般是指提供通知,通过通知网络(如因特网)的节点获知某个地址(例如,IP地址)的位置,使得发往这些地址的业务能够适合地路由到该位置。因为如实践中那样客户通常倾向于将业务作为短路径来利用,并且因为那些客户还倾向于利用其它人的网络(例如,其它提供商的第3层以上等),所以此类方法使得给定区域(例如,欧洲)始发的业务能够跨非客户拥有的网络(例如,因特网)来定向,并能够定向到欧洲通告的位置(例如,本实例中为爱尔兰)。相似地,从美国国内发送的业务可以通过因特网定向到维吉尼亚中通告的位置,并且可以首先命中该位置处的客户的网络。然而,此类方法的一个潜在负面影响在于,如果爱尔兰地址空间变得不可用,则欧洲始发的业务可能丢失,因为该区域不知道其它区域的地址空间。
在一些情况中,可以通用地使用常规方法来重新映射地址。在此类情况中,可以在每个地方通告公共地址空间,以使可在那些位置的任一个位置处接收业务并将其相应地进行定向。此类方法出于多个原因可能是非期望的,如通告该地址空间的实体通常需要在区域之间返程载送巨大量的业务,才能使在亚洲被接收到可能更有利而在爱尔兰接收到的业务能够被发送到亚洲等。例如,在西海岸运行Web网址的公司可能拥有位于东海岸的许多客户,业务可能来自这些客户在维吉尼亚数据中心被接收到,然后需要跨该公司的网络将其载送到西海岸服务器,这意味着这些数据中心的主机或提供商需要付出成本跨出自己的网络载送数据。此类方法还可能产生缩放问题,因为地址空间需要进行全局缩放以在任何地方适应业务,即使这些区域的大小设置差异可能非常大。此类方法还可能产生其它此类问题。
根据多种实施例的系统和方法能够使客户利用可全局重新定位和/或间接地可重新映射的可重新映射地址。在至少一些实施例中,利用通过一个或多个应用编程接口(API)的客户可以利用和管理全局可重定位可重新映射IP地址。此类方法使网络能够利用路由业务的“烫山芋”方法,从而可间接地将接收到通告的位置中的一个的请求重新映射,并尽可能快地发送回因特网,而无需利用提供商自己的网络来定向业务。在一个实例中,在维吉尼亚始发消息且将其发往爱尔兰的位置的客户可以让消息在维吉尼亚发送到因特网,并在因特网上发送到爱尔兰,其中因特网组件负责确定如何获取对爱尔兰的地址的请求。此类方法无需数据中心提供商跨提供商自己的网络将业务载送到爱尔兰,然后仅在爱尔兰命中因特网。因为提供商通常将两边都为因特网带宽付费,所以首选可能是利用该带宽而非在专用光纤或其它此类专用连接跨大西洋载送数据。
此类方法允许基于任何适合的目的进行跨区域实例迁移,以便例如在任何特定时间将实例定位得更靠近大多数用户(例如,在世界范围“跟踪太阳(follow the sun)”)。使用常规基于因特网的方法,此类迁移在实例正在与因特网主机通信时实现可能困难或甚至不可能。客户一般将期望此类迁移相对无缝地执行,但是这在因特网上适合地路由业务时造成问题。在一个实施例中,可以使用基于域名系统(DNS)的方法,其中主机的DNS条目可以具有在新区域中通告的范围内更改或更新的对应IP地址。在此类方法中,在不同区域中通告不同的IP地址范围,并且当期望将业务定向到新(或不同的)区域时,适合的主机可以使DNS条目更新为包括该新区域的范围内的值。
另一种方法基于控制某些协议的数据,例如边界网关巡视(BGP)信息。BGP通常维护与因特网路由选择决策一起使用的IP前缀表。在某些实施例中,可以将BGP通告可更改为开始广告新区域中的特定地址空间,并停止广告先前区域中的该空间。使用此类方法,业务可以直接发往新区域,同时客户保持相同的IP地址。在一些实施例中,可以提供一种机制以在基于DNS或基于BGP的方法的信息正在改变的时间段期间在区域之间转发和/或隧道传送业务。
在一些实施例中,可以使用特定的可重新映射全局地址,以使地址空间的仅小部分在多种POP或其它接口点中进行通告。该小部分可以在一些或所有POP中通告,以及在一些情况中,可以从不同的POP分群通告不同分段的地址空间。使用常规因特网方法,无法简单地全局通告单个IP地址。然而,实体能够请求可重新映射地址块,并且期望这些地址在多于一个区域中可访问,如美国东部和美国西部。在此类情况中,所有(或大多数)客户可以是在美国,但是公司可能期望在出问题的情况中能够执行故障切换和将业务转移到其它位置。在一些情况中,公司可能仅期望在任何给定时间根据大多数客户的位置定向业务。例如,如果公司在全球范围有客户,并且那些客户往往在其世界所处部分在上班时间命中该网络,则公司可能期望在全天将它们的地址调整到不同的区域,以便尝试使在任何给定时间处需要的大多数数据路径最小化。在一个实例中,可以赋予客户可被通告到全局BGP中的“/24”。“/24”一般是指路由选择表中概述的因特网地址块,其概述为小数点符号后跟正斜杠(“/”)和给出子网掩码中的前导位个数的两位数十进制数的地址。然后可以在任何给定时间从期望区域通告/24。然后可以对业务的该子网执行最优请求路由选择,并且可以按适合的金额对客户计费。
在一个实施例中,可以将地址块的大小选为足够大以使提供商能够选择性地选择用于广告该空间的至少一部分的区域。在另一个实施例中,可以使用预分配的地址块,这些预分配的地址块能够在一些或全部区域中进行广告,因为知道大量的业务将需要在提供商网络上载送。大客户可能潜在地利用全局广告的地址块中的多个可重新映射地址,并提供商可以小心地确定如何在较小规模上定向业务。
在至少一些实施例中,客户仍能够接收到许多期望的与故障相关的特征。在常规系统中使用可重新映射地址,如果维吉尼亚存在传输中断,则在维吉尼亚具有多个可重新映射地址的客户将遇到问题,因为这些地址将至少暂时不可用,并且请求一命中主干网络,则这些请求将丢失。然而,如果客户租用了全局可重新映射地址群,则这些地址可以被映射到维吉尼亚,但是在全局范围的许多点处可以被通告,从而当维吉尼亚掉网时,这些地址仍在因特网上所有其它在场点(POP)处得以通告。客户由此能够在另一个区域将实例启动,并且可以将这些全局可重新映射地址的一个或多个映射到该实例,从而服务将快速地再次可用。此过程的优点在于,整个操作可以完全地包括在提供商网络内,从而不会有等待因特网BGP或DNS传播的拖延时间或延迟。客户无需与他们的因特网服务提供商交互,而是可以例如向提供商发出一个或多个API调用,以便能够使DNS名称和IP地址非常快速地再次可用。
在一些情况中,提供商可以监视状态,并自动地按需重新映射地址,以使客户无需检测中断和/或无需解决任何相关的问题。在至少一些实施例中,客户可以指定一个或多个策略来指定应该如何重新映射地址,以及促成那些地址被重新映射的环境或标准。在一些情况中,客户可以指定使得某些映射在规律的时间以客户预先指定的自动化方式发生的策略。在其它情况中,客户可以指定某些重新映射应该响应某种类型的事件(例如,区域故障)的发生而发生。
在至少一些实施例中,每个区域知道有关客户具有提供商的地址空间所在的每个其它区域。可以有在这些区域之间如通过一个或多个隧道建立的通信。可以维护一个映射列表,其指示哪些地址或地址空间的什么分段当前在区域外。由此,当业务进入当前映射到第二区域的全局可重新映射地址的第一区域时,提供商可以对进来的业务执行地址转换和目的地查询以确定目的地区域。第一区域也许能够确定第二区域的标识以外的任何信息,但是可以沿着隧道将业务定向到第二区域。一旦在第二区域,则可以执行适合的路由选择协议查询,因为该业务在该点是本地的。
在本实例中,如洛杉矶和维吉尼亚的区域可以始终将给定IP地址广告到因特网上。如果用户坐在维吉尼亚的商店里,则本地ISP一般将首选使用烫山芋路由选择方法快速地处理掉该业务。由此,ISP一般将该业务定向到维吉尼亚区域。然而,如果维吉尼亚有如传输中断的情况发生,则主干网ISP仍会从洛杉矶接收到通告,使得主干网能够将该信息载送到洛杉矶区域。
在一些实施例中,可以从比实际用于处理请求的区域更多的区域通告这些地址。例如,可以从全球范围五个不同区域中的每一个区域通告全局可重新映射地址。将地址本身映射到这些区域中的两个区域,如VA和爱尔兰中的实例。这些映射可以配置成使得到达VA的业务在VA给予服务,以及到达爱尔兰的业务在爱尔兰给予服务。这些映射还可以配置成使得到达美国西海岸区域的业务被定向到VA,以及到达亚洲的业务被定向到爱尔兰等。由此,在五个不同地方通告这些地址,但是定向到这些位置中的仅两个并由这两个位置给予服务。在至少一些实施例中,没有智能,因为路由选择由配置确定。在至少一些实施例中,可以有内置的智能或策略,该内置的智能或策略指令业务基于多种因素(如当前负载、日内时间等)选择路由到不同位置。
在一些实施例中,可以使用任意播方法,其中没有状态检测或流散列(flowhashing),但是基于如当前时区的因素将业务导向到特定区域。正如本文所使用的,任意播一般是指本领域中公知的用于将业务路由到全部与相同目的地地址关联的一群潜在接收方的成员的方法。在至少一些实施例中,可以提供静态配置信息,其可以包括在任何或所有时间根据接收业务的所在地要将业务定向到的特定区域。在其它实施例中,该静态配置信息可以包括业务能够被导向到的多个不同区域的排序或评级。例如,可以基于网络接近度来对其它区域评级。因此,当业务对于特定地址是入局的时,可以就在哪里全局可重新映射地址是有效的作出确定,并且可以查询列表来确定多个不同区域的排序。在至少一个实施例中,将业务定向到地址是有效且在评级列表中位于最高的区域。在一个实例中,评级列表400(如图4所示)可以列出(按降序)洛杉矶、维吉尼亚和爱尔兰,以及业务的全局地址在爱尔兰和维吉尼亚中是有效的。在此情况中,业务将被定向到维吉尼亚,因为维吉尼亚是地址在其中是有效的最高评级的区域。
在至少一些实施例中,客户可以具有指定和/或更新静态配置信息,以便例如在多个不同时间或特定时间评级的能力。例如,客户可能期望指定将该业务定向到与明尼苏达州关联的区域中的位置。使用如结合图2描述的系统,客户可以提交指定更新的配置信息的API调用,然后可以将按需传播此信息以更新必要的配置列表。在至少一些实施例中,客户可以对不同区域和/或在不同时间指定不同的配置信息或策略。可以包括或利用多种其它类型的信息,以及依据本发明披露应该显见到的。
在至少一些实施例中,适合区域的确定可以更为动态。例如,可以就至少一个区域的状态,如该位置是否有效且可用,以及其它信息,如从当前区域至该区域的距离和当前区域与潜在目标区域之间的路径作出确定在一个实例中,可以在洛杉矶接收正常情况下可以定向到维吉尼亚的业务。如果东海岸有巨大网络事件使得维吉尼亚在当前时间不可用,则可以代之以将业务路由到下一个最靠近的可用区域,在此情况中其位于亚洲。当维吉尼亚返回在线状态时,维吉尼亚可以再次作为更好的选择,所以后续业务可以路由到维吉尼亚。还可以将多种其它因素包括在动态决策中。例如,客户的群组(fleet)大部分可能在西海岸,相对较小部分存在于其它位置。相应地,客户可能期望请求加权业务平衡,其中大部分客户业务转向指定区域,以及较小量转向其它区域。在多种实施例的范围内,还可以实现任何数量的其它此类策略。
还可以由提供商来实现多种策略。例如,提供商可以实现“跟踪太阳”类型的策略,其中在整天的过程中将业务路由到不同区域,如上文论述,以便通过基于日内时间全球范围哪里负载最高来路由业务以缩短平均路径长度,其中负载基于日间和昼间时段等的相对差异在全球范围转移。此类策略还可以执行全局自动缩放,其中不同的区域可以基于日内时间或其它此类因素来接收、处理和/或发送不同数量的业务。在一些实施例中,客户可以在每个24小时时段上“在世界范围”移动网址或应用,以便调适到大部分业务对于当前区域将是相对本地性的区域。
应该理解,多种常规方法提供某种层面的全局请求路由解决方案。例如,马萨诸塞州剑桥的Akamai Technologies公司提供边缘解决方案,其使得应用能够在网络边缘运行,其具有全局DNS定向器,全局DNS定向器具有基于容量来动态地定向负载的能力。全局DNS定向器可以充当不在数据平面上工作而仅在DNS层面上处理平衡的负载平衡器。如果不同时区中有两个数据中心,则DNS定向器可以从负载平衡器(或其它组件)获得来自每个时区的指示当前容量的数量的信息,并且定向器可以至少部分地基于该容量来对DNS响应加权。例如,如果负载或群组成员有变化(即,多个附加服务器转为在线),则DNS定向器可以相应地作出决策。此类方法在其能力上相对受限,并且不是强一致性的。再者,相对于本文论述的方法将存在某种时间拖延。常规方法不利用全局可重新映射IP地址(具体来说为服务提供商层面上),并且由此无法提供本发明披露中的多种优点或实现。
可以结合图5(a)和图5(b)来描述用于结合某些常规系统解释多种实施例的至少一些差异的方法。在图5(a)中,图示三层面表示500,其包括作为顶层的因特网502、作为中间层的服务提供商504和底层协议层506(例如,路由选择协议基层)。协议层已较好地连接且充分地映射,以及每一方均参与协议层的相同区域。在图5(a)的常规方法中,有因特网“接触”服务提供商所在的多个不同点508。这些点中的一个确切地将出于路由业务的目的通告特定IP地址。然而,在图5(b)的方法中,服务提供商514接触到因特网512的这些点中多于一个点可以通告相同的全局可重新映射IP地址。然后,在通告IP地址的网址中,可以在本地将入局该IP的业务与协议相关信息封装在一起,以使协议层516能够将多个不同位置518互连。
在多种实施例中,可以使用其中不存在路由选择协议基层,例如采用用于NAT转换的常规IP等的其它方法来提供互连。例如,业务可以走特定全局IP地址来自因特网,可以将其转换到为区域相关相对较慢移动的地址。然后业务可以发往该区域,并且当在该区域时,将地址转换为接收业务的实际主机的地址,这样可以涉及远为更快移动的映射。在一个实例中,可以使用两个NAT转换设备,其中将源区域编码到目的地IP地址中,其中有两个或更多个IP地址,并且这些地址中的至少一个是全局可重新映射IP地址。可以接收到以全局IP地址为目的地的业务,该业务能够有效地被重新映射到区域相关可重新映射IP地址。可以采用相似的方式重新映射响应业务。
此类方法有效地利用单向映射替代常规双向映射(或作为常规双向映射的补充)。考虑具有如下IP地址的情况:
A=全局可重新映射IP地址
B=洛杉矶特定的IP地址
C=内部提供商IP地址(例如,主机/实例地址)
D=洛杉矶特定的IP地址
在业务到达洛杉矶且具有对应于全局地址A的目的地的实例中,可以直接地将该业务映射到内部地址C以送达到适合的实例等。这与使用常规方法路由选择的工作方式类似。如果业务反而到达另一个区域,如维吉尼亚,且目的地为全局地址A,则维吉尼亚可以具有A->B的单向映射,以使来自因特网的业务能够被映射到洛杉矶的地址B。因为提供商可以知道其中B是洛杉矶中的成员的整个地址块,所以提供商可以将该业务从提供商的主干网放下通过因特网发送到洛杉矶,具有B->C的单向映射,以使该业务能够达到预期的实例。然后任何返回业务可以根据直接重新映射走C->A,以使业务能够直接走出到因特网,而无需将其载送回维吉尼亚。
在至少一些实施例中,在此类方法中也可以将源区域编码。例如,爱尔兰可能具有A->D但是没有A->B的映射,虽然B和D位于洛杉矶。入局到A在爱尔兰被接收到的业务可以经过NAT过程将目的地地址更改为D,从而可以将业务通过主干网或WAN发送到洛杉矶,其中可以与先前实例的情况一样执行类似的D->C映射。然而,在此情况中,系统可以入境维吉尼亚的业务与入境爱尔兰的业务之间进行区别。此类方法能够实现在洛杉矶确定业务入境来源的区域(但是不一定是实例)。此类方法可以能够在中间IP是公开可路由的情况下使区域之间的业务推送回因特网上,而非在提供商网络上返程载送。在至少一些实施例中,可以基于如当前负载和传输费用的多个因素来作出是返程载送还是推送到因特网的决策。
图6图示能够根据多种实施例使用的用于使用全局地址来路由业务的示例过程600。在此实例中,为至少一个客户实例选择全局可重新映射地址602。正如所论述的,该地址还可以指向多种其它类型的目的地。还可以将全局地址映射到任何适合的内部或中间地址604,如中间区域性地址或个人实例地址。然后可以从可以位于如本文论述的任何适合的位置的一个或多个区域606通告全局地址。同样正如所论述的,发出全局地址通告的区域可以在多个不同时间有所不同。当随后业务被接收到以全局可重新映射地址为目的地的区域之一608时,可以确定目的地区域610。正如所论述的,这可以是至少部分地基于配置信息的静态确定或可以是基于如当前负载、当前可用性、至区域的距离、评级信息等的因素的动态决策。
如果确定所确定的目的地区域是接收到业务所在的相同区域612,则可以将业务重新映射到适合实例的内部地址614,并且可以将业务送达到该实例616。如果接收到业务的区域不是所确定的目的地,则可以将业务重新映射到目的地区域618,并将其转发到目的地区域620。正如所论述的,此转发可以通过提供商网络或公共网络,具体取决于本文论述的多种因素。当业务达到目的地时,可以相应地将业务重新映射并送达到实例。
在多种实施例中,还可以在DNS层面上执行相似的映射和转换。例如,如果提供商控制给定主机的DNS,则可以修改DNS响应,以使转换在DNS名称与IP地址之间进行,而非在IP地址之间进行。例如,此类方法可以用于替代NAT转换或其它协议相关的封装。
再者某些实施例可以通过不同方式处理变化的时间附近接收的业务。例如,具有全局IP和DNS名称的主机可以将该DNS名称路由到新区域。在一些实施例中,可以丢弃旧区域处接收到的所有业务。然而,在至少一些实施例中,即使最终的目的地可能尚未知道或尚未可用,系统仍可以将业务定向到新区域。在维护静态状态的又一个实施例中,在先前区域有效的交易可以继续处于服务状态。可以在旧区域中处理现有交易,同时新业务发送到新区域,从而避免在转换时段期间丢失业务。
多种其它方法也可以利用上文描述的功能中的至少一些。例如,利用因特网协议版本6(IPv6)的系统可以利用此类方法,即使根据常规方法,IPv6未与NAT一起使用。但是仍可以使用中间IP地址,以便能够利用本文论述的多种地址转换方法。在其它方法中,到达以具有从全局IP到区域特定IP的第一转换的区域的业务,可以转换回全局特定IP地址,并如常规方式那样送达。在至少一些实施例中,可以将地址通告扩展到云前在场点(POP)。使用此类方法,可以快速地将业务移动到提供商的网络上,以便能够更快速地进行任何期望的调整。
可以鉴于如下条款来对多种实施例进行描述:
条款1.一种计算机实现的定向网络业务的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
将全局可重新映射因特网协议(IP)地址映射到位于多个网络位置中的至少一个网络位置中的至少一个虚拟实例;
从那些网络位置中至少两个网络位置通告所述全局可重新映射IP地址;
将网络业务接收到通告所述全局可重新映射IP地址的所述至少两个网络位置的接收网络位置;
确定所述网络业务的目的地网络位置;
当所述目的地网络位置是所述接收网络位置时,将所述网络业务重新映射并将所述网络业务送达到所述至少一个虚拟实例的目标实例;以及
当所述目的地网络位置不同于所述接收网络位置时:
将所述网络业务重新映射到所述目的地网络位置的中间IP地址,
将所述网络业务发送到所述目的地网络位置中的所述中间IP地址;以及
当所述网络业务在所述目的地网络位置处被接收到时,将所述网络业务重新映射并将所述网络业务送达到所述目标实例。
条款2.如条款1所述的计算机实现的方法,其还包括:
确定是通过接收到所述网络业务的服务提供商的专用网络还是通过因特网将所述网络业务发送到所述目的地网络位置中的所述中间IP地址。
条款3.如条款2所述的计算机实现的方法,其中确定是通过专用网络还是因特网将所述网络业务发送到所述中间IP地址是至少部分地基于所述专用网络的当前负载。
条款4.一种定向网络业务的计算机实现方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
将网络业务接收到服务提供商网络,将所述网络业务接收到从所述服务提供商网络的至少一个点通告的全局可重新映射地址,每个点能够位于不同的网络位置,并映射到所述服务提供商网络的目标目的地;
当所述目标目的地的目标网络位置与接收到所述网络业务所在的接收网络位置相同时,将所述网络业务重新映射并将所述网络业务送达到所述目标目的地;以及
当所述目的地网络位置不同于所述接收网络位置时:
将所述网络业务重新映射到所述目的地网络位置的所述服务提供商网络的中间地址,
将所述网络业务发送到所述目的地网络位置中的所述中间地址;以及
当所述网络业务在所述目的地网络位置处被接收到时,将所述网络业务重新映射并将所述网络业务送达到所述目标目的地。
条款5.如条款4所述的计算机实现的方法,其中从所述服务提供商网络的至少两个点通告所述全局可重新映射地址。
条款6.如条款4所述的计算机实现的方法,其中所述可重新映射的全局地址是全局可重新映射因特网协议(IP)地址,且
其中所述服务提供商能够使用域名系统(DNS)或边界网关协议(BGP)路由选择中的至少一个来实现所述网络业务的全局路由。
条款7.如条款4所述的计算机实现的方法,其中所述目标目的地对应于多个租户资源环境中的至少一个虚拟机。
条款8.如条款4所述的计算机实现的方法,其中使对应于所述目标目的地的客户能够提交在确定所述目标目的地时有用的至少一个策略。
条款9.如条款7所述的计算机实现的方法,其中客户能够通过至少一个应用编程接口(API)提交更新的策略。
条款10.如条款8所述的计算机实现的方法,其中客户能够为每个网络位置提交至少一个策略。
条款11.如条款4所述的计算机实现的方法,其中所述不同网络位置对应于由不同提供商运营的地理上分散的区域或网络中的至少一个。
条款12.如条款4所述的计算机实现的方法,其中用于确定目标目的地的策略指定在日内特定时间将所述网络业务定向到的网络位置。
条款13.如条款4所述的计算机实现的方法,其中利用至少一个策略确定目标目的地,所述至少一个策略基于所述网络业务的始发位置、与所述网络业务对应的客户的类型或与所述网络业务关联的财务对价的金额中的至少一个来确定所述目标目的地。
条款14.如条款4所述的计算机实现的方法,其中使用静态配置信息来确定所述目标目的地,所述静态配置信息指示要至少部分地基于接收到所述网络业务所在的网络位置将所述业务路由到的网络位置。
条款15.如条款4所述的计算机实现的方法,其中基于多个因素动态地确定所述目标目的地,所述多个因素包括某些网络位置的当前负载和某些网络位置的网络接近度中的至少一个。
条款16.如条款4所述的计算机实现的方法,其中使用对多个网络位置评级的列表和所述全局可重新映射地址为有效的网络位置的列表来确定所述目标目的地。
条款17.如条款4所述的计算机实现的方法,其中所述全局可重新映射地址能够从不同国家和不同大陆中的至少一个的网络位置通告。
条款18.如条款4所述的计算机实现的方法,其中所述网络业务能够使用公共网络或专用网络发送到所述中间地址。
条款19.如条款4所述的计算机实现的方法,其中所述全局可重新映射地址、中间地址和目的地地址之间的映射中的至少一些是单向的。
条款20.如条款4所述的计算机实现的方法,其中所述全局可重新映射地址能够映射到比通告所述全局可重新映射地址的网络位置的数量少的网络位置。
条款21.如条款17所述的计算机实现的方法,其中通告所述全局可重新映射地址的至少一个网络位置没有能够或获授权将至少某些类型的业务传送去以进行处理的本地资源。
条款22.如条款4所述的计算机实现的方法,其中使用任意播方法来定向所述网络业务。
条款23.如条款4所述的计算机实现的方法,其中客户能够指定加权的业务平衡,其中将大致数量的接收业务定向到至少一个网络位置。
条款24.如条款4所述的计算机实现的方法,其中地址全局地可重新映射到新的虚拟机,且其中现有交易能够使用先前的虚拟机来处理,而新交易被定向到新虚拟机来进行处理。
条款25.一种用于管理网络业务的系统,其包括:
处理器;以及
存储器设备,其包括在被所述处理器执行时使所述处理器执行如下操作的指令:
将网络业务接收到服务提供商网络,将所述网络业务接收到从所述服务提供商网络的至少一个点通告的全局可重新映射地址,每个点能够位于不同的网络位置,并映射到所述服务提供商网络的目标目的地;
当所述目标目的地的目标网络位置与接收到所述网络业务所在的接收网络位置相同时,将所述网络业务重新映射并将所述网络业务送达到所述目标目的地;以及
当所述目的地网络位置不同于所述接收网络位置时:
将所述网络业务重新映射到所述目的地网络位置的所述服务提供商网络的中间地址;以及
将所述网络业务发送到所述目的地网络位置中的所述中间地址,从而当所述网络业务在所述目的地网络位置处被接收到时,所述网络业务能够被重新映射并被送达到所述目标目的地。
条款26.如条款25所述的系统,其中根据策略、评级列表、网络负载或静态配置中的至少一个来确定所述目标目的地。
条款27.如条款25所述的系统,其中所述网络业务能够使用公共网络或专用网络发送到所述中间地址。
条款28.一种存储用于管理网络业务的指令的非临时性计算机可读存储介质,所述指令在被处理器执行时,促使所述处理器执行如下操作:
将网络业务接收到服务提供商网络,将所述网络业务接收到从所述服务提供商网络的至少一个点通告的全局可重新映射地址,每个点能够位于不同的网络位置,并映射到所述服务提供商网络的目标目的地;
当所述目标目的地的目标网络位置与接收到所述网络业务所在的接收网络位置相同时,将所述网络业务重新映射并将所述网络业务送达到所述目标目的地;以及
当所述目的地网络位置不同于所述接收网络位置时:
将所述网络业务重新映射到所述目的地网络位置的所述服务提供商网络的中间地址;以及
将所述网络业务发送到所述目的地网络位置中的所述中间地址,从而当所述网络业务在所述目的地网络位置处被接收到时,所述网络业务能够被重新映射并被送达到所述目标目的地。
条款29.如条款28所述的非临时性计算机可读存储介质,其中所述全局可重新映射地址、中间地址和目的地地址之间的映射中的至少一些是单向的。
正如上文论述的,多种实施例可以在范围广泛的操作环境中实现,在一些情况中这些操作环境可以包括能够用于操作任何数量的应用的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可以包括任何多个通用个人计算机(如运行标准操作系统的桌上型或膝上型计算机)以及运行移动软件且能够支持多个联网和消息传送协议的蜂窝、无线和手持设备。此类系统还可以包括运行任何多种商业渠道可获取的操作系统和以如开发和数据库管理为目的的其它公知应用的多个工作站。这些设备还可以包括其它电子设备,如伪终端、瘦客户端、游戏系统和能够通过网络通信的其它设备。
还可以将多个不同方面作为至少一个服务或Web服务的一部分来实现,如可以是面向服务的体系结构的一部分。如Web服务的服务可以使用任何适合类型的消息传送,如使用可扩展标记语言(XML)格式且使用如SOAP(源自“简单对象访问协议”)的适合协议交换的消息来通信。此类服务提供或执行的过程可以采用任何适合的语言,如Web服务描述语言(WSDL)来编使用如WSDL的语言允许实现如以多种SOAP框架自动化生成客户端代码的功能性。
大多数实施例利用本领域技术人员熟知的至少一个网络来支持使用多种商业渠道可获取的协议(如,TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk)的任何一种进行通信。该网络可以是例如,局域网、广域网、虚拟专用网络、因特网、内联网、外联网、公共交换电话网,红外线网络、无线网络及其任何组合。
在利用Web服务器的实施例中,Web服务器可以运行多种服务器或中间层次应用的任何一种,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商业应用服务器。服务器还可以能够响应来自用户设备的请求执行程序或脚本,如执行可以作为以任何编程语言(如C、C#或C++)或任何脚本语言(如Perl、Python或TCL)及其组合编写的一个或多个脚本或程序来实现的一个或多个Web应用。服务器还可以包括数据库服务器,包括而不限于可从以商业渠道可获取的那些数据库服务器。
该环境可以包括多种数据存储和其它存储器和存储介质,正如上文论述的。它们可以驻留在多个不同位置中,如在这些计算机的其中一个或多个本地(和/或驻留在其中)的存储介质或在网络上对于任何一个或全部计算机为远程的存储介质。在一组特定实施例中,信息可以驻留在本领域技术人员熟知的存储区域网络(“SAN”)中。相似地,可以在适合的情况下,将用于执行归因于这些计算机、服务器或其它网络设备的功能的任何必需文件存储在本地和/或存储在远程位置。在系统包括计算机化设备的情况中,每个此类设备可以包括经由总线电耦合的硬件元件,这些元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。此类系统还可以包括一个或多个存储设备,如硬盘驱动器、光存储设备和固态存储设备(如随机存取存储器(“RAM”)或只读存储器(“ROM”),以及移动介质设备、存储卡、闪存卡等。
此类设备还可以包括计算机可读存储介质读取器、通信设备(例如,调制解调器、网络卡(无线或有线)、红外线通信设备等)和如上所述的工作存储器。该计算机可读存储介质读取器可以与计算机可读存储介质连接或配置成接纳计算机可读存储介质,该计算机可读存储介质代表用于临时性地和/或永久性地包括、存储、传送和检索计算机可读信息的远程、本地、固定和/或移动存储设备以及存储介质。该系统和多种设备通常还将包括位于至少一个工作存储器设备内的多个软件应用、模块、服务或其它元件,包括操作系统和应用程序(如客户端应用或Web浏览器)。应该认识到,备选实施例可以具有源自上文所描述的多种变化。例如,还可以使用定制的硬件和/或可以采用硬件、软件(包括便携式软件,如applet)或二者兼有来实现特定元件。再者,可以采用至其它计算设备(如网络输入/输出设备)的连接。
用于包含代码或代码的一部分的存储介质和计算机可读介质可以包括本领域中众所周知或使用的任何适合的介质,包括存储介质和通信介质,如但不限于以用于存储和/或传输如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、移动和不可移动介质,包括RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能光盘(DVD)或其它光存储设备、磁带盒、磁带、磁盘存储设备或其它磁存储设备或能够用于存储期望的信息且能够被系统设备访问的任何其它介质。基于本文提供的发明公开和教导,本领域技术人员能够认识到用于实现这些多种实施例的其它方式和/或方法。
因此,本说明书和附图应视为说明性意义的而非限制性意义的。然而,将显见的是在不背离权利要求中提出的本发明的更宽精神和范围的前提下可以对其进行多种修改和更改。

Claims (15)

1.一种定向网络业务的计算机实现的方法,包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
促使从服务提供商网络的至少两个网络位置通告全局可重新映射地址;
在通告所述全局可重新映射地址的所述至少两个网络位置中的接收网络位置处,接收网络业务,其中所述至少两个网络位置位于不同的网络位置;
确定所述网络业务的目标目的地的目标网络位置;
当所述目标目的地的所述目标网络位置与接收到所述网络业务的所述接收网络位置相同时,将所述网络业务的所述全局可重新映射地址重新映射到一实例的内部地址并将所述网络业务送达到所述目标目的地;以及
当所述目标网络位置不同于所述接收网络位置时:
将所述网络业务的所述全局可重新映射地址重新映射到所述目标网络位置的所述服务提供商网络的中间地址,
将所述网络业务发送到所述目标网络位置中的所述中间地址;以及
当所述网络业务在所述目标网络位置处被接收到时,将所述网络业务的所述中间地址重新映射到所述实例的所述内部地址并将所述网络业务送达到所述目标目的地。
2.如权利要求1所述的计算机实现的方法,其中所述全局可重新映射地址是全局可重新映射因特网协议(IP)地址,以及
其中所述服务提供商能够使用域名系统(DNS)或边界网关协议(BGP)路由中的至少一个来实现所述网络业务的全局路由。
3.如权利要求1所述的计算机实现的方法,其中所述不同的网络位置对应于由不同提供商运营的地理上分散的区域或网络中的至少一个。
4.如权利要求1所述的计算机实现的方法,其中用于确定目标目的地的策略指定在日内特定时间将所述网络业务定向到的网络位置。
5.如权利要求1所述的计算机实现的方法,其中利用至少一个策略确定所述目标目的地,所述至少一个策略基于所述网络业务的始发位置、与所述网络业务对应的客户的类型或与所述网络业务关联的财务对价的金额中的至少一个来确定所述目标目的地。
6.如权利要求1所述的计算机实现的方法,其中使用静态配置信息来确定所述目标目的地,所述静态配置信息指示要至少部分地基于接收到所述网络业务所在的网络位置而将所述网络业务路由到的网络位置。
7.如权利要求1所述的计算机实现的方法,其中基于因素动态地确定所述目标目的地,所述因素包括特定网络位置的当前负载和特定网络位置的网络接近度中的至少一个。
8.如权利要求1所述的计算机实现的方法,其中使用对多个网络位置评级的列表和所述全局可重新映射地址为有效的网络位置的列表来确定所述目标目的地。
9.如权利要求1所述的计算机实现的方法,其中所述全局可重新映射地址、中间地址和目的地地址之间的映射中的至少一些是单向的。
10.如权利要求1所述的计算机实现的方法,其中使用任意播方法来定向所述网络业务。
11.如权利要求1所述的计算机实现的方法,其中客户能够指定加权的业务平衡,其中将所接收的网络业务量定向到至少一个网络位置。
12.如权利要求1所述的计算机实现的方法,其中地址全局地可重新映射到新的虚拟机,且其中现有交易能够使用先前的虚拟机来处理,而新交易被定向到新虚拟机来进行处理。
13.一种用于管理网络业务的系统,包括:
处理器;以及
存储器设备,包括在被所述处理器执行时促使所述处理器执行如下操作的指令:
促使从服务提供商网络的至少两个网络位置通告全局可重新映射地址;
在通告所述全局可重新映射地址的所述至少两个网络位置中的接收网络位置处,接收网络业务,其中所述至少两个网络位置位于不同的网络位置;
确定所述网络业务的目标目的地的目标网络位置;
当所述目标目的地的所述目标网络位置与接收到所述网络业务的所述接收网络位置相同时,将所述网络业务的所述全局可重新映射地址重新映射到一实例的内部地址并将所述网络业务送达到所述目标目的地;以及
当所述目标网络位置不同于所述接收网络位置时:
将所述网络业务的所述全局可重新映射地址重新映射到所述目标网络位置的所述服务提供商网络的中间地址;以及
将所述网络业务发送到所述目标网络位置中的所述中间地址,从而当所述网络业务在所述目标网络位置处被接收到时,所述网络业务的所述中间地址能够被重新映射到所述实例的所述内部地址并被送达到所述目标目的地。
14.如权利要求13所述的系统,其中根据策略、评级列表、网络负载或静态配置中的至少一个来确定所述目标目的地。
15.如权利要求13所述的系统,其中所述网络业务是使用公共网络或专用网络而被发送到所述中间地址的。
CN201280012137.8A 2011-03-09 2012-03-09 外部动态迁移 Active CN103620597B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/044,494 2011-03-09
US13/044,494 US10009315B2 (en) 2011-03-09 2011-03-09 Outside live migration
PCT/US2012/028480 WO2012122474A2 (en) 2011-03-09 2012-03-09 Outside live migration

Publications (2)

Publication Number Publication Date
CN103620597A CN103620597A (zh) 2014-03-05
CN103620597B true CN103620597B (zh) 2019-08-13

Family

ID=46797097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280012137.8A Active CN103620597B (zh) 2011-03-09 2012-03-09 外部动态迁移

Country Status (9)

Country Link
US (1) US10009315B2 (zh)
EP (1) EP2684065A4 (zh)
JP (1) JP5727053B2 (zh)
CN (1) CN103620597B (zh)
AU (1) AU2012225301B2 (zh)
BR (1) BR112013021997B1 (zh)
CA (1) CA2824598C (zh)
SG (1) SG191948A1 (zh)
WO (1) WO2012122474A2 (zh)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8954978B1 (en) 2010-12-29 2015-02-10 Amazon Technologies, Inc. Reputation-based mediation of virtual control planes
US8667495B1 (en) 2010-12-29 2014-03-04 Amazon Technologies, Inc. Virtual resource provider with virtual control planes
US8667399B1 (en) 2010-12-29 2014-03-04 Amazon Technologies, Inc. Cost tracking for virtual control planes
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9537973B2 (en) * 2012-11-01 2017-01-03 Microsoft Technology Licensing, Llc CDN load balancing in the cloud
US9374276B2 (en) 2012-11-01 2016-06-21 Microsoft Technology Licensing, Llc CDN traffic management in the cloud
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US20150066560A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus for managing multi-vendor infrastructure for software defined clouds through abstracted control planes
US9628436B1 (en) * 2014-04-04 2017-04-18 8X8, Inc. User-configurable dynamic DNS mapping for virtual services
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) * 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) * 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US10229124B2 (en) 2015-05-01 2019-03-12 Microsoft Technology Licensing, Llc Re-directing tenants during a data move
US10678762B2 (en) 2015-05-01 2020-06-09 Microsoft Technology Licensing, Llc Isolating data to be moved across boundaries
US10261943B2 (en) 2015-05-01 2019-04-16 Microsoft Technology Licensing, Llc Securely moving data across boundaries
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10216379B2 (en) 2016-10-25 2019-02-26 Microsoft Technology Licensing, Llc User interaction processing in an electronic mail system
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10601768B2 (en) * 2017-04-10 2020-03-24 Verizon Digital Media Services Inc. Automated steady state traffic management
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
CN107301084B (zh) * 2017-07-05 2020-04-21 深圳先进技术研究院 集群服务器的虚拟机迁移方法、装置、服务器及存储介质
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10819677B2 (en) * 2018-07-16 2020-10-27 Amazon Technologies, Inc. Address migration service
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11489908B1 (en) * 2021-06-25 2022-11-01 Button, Inc. Web traffic routing
CN114612049B (zh) * 2022-05-11 2022-08-05 弥费实业(上海)有限公司 路径生成方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988492A (zh) * 2006-11-28 2007-06-27 华为技术有限公司 网络节点之间互通的方法、接入服务网络及WiMAX网络架构
WO2010099367A2 (en) * 2009-02-27 2010-09-02 Coach Wei System and method for network traffic management and load balancing
CN101918926A (zh) * 2007-10-24 2010-12-15 乔纳森·彼得·多伊奇 用于通过虚拟ip地址访问没有可访问地址的联网装置的各种方法和设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633321B2 (ja) 1998-10-23 2005-03-30 富士通株式会社 広域負荷分散装置及び方法
US6415323B1 (en) 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US20030046419A1 (en) 2001-08-31 2003-03-06 King Peter F. Stateful load balancing
KR100423500B1 (ko) * 2002-01-29 2004-03-18 삼성전자주식회사 인터넷 프로토콜 주소 변환장치 및 이를 이용한홈네트워크 시스템
US20040073596A1 (en) * 2002-05-14 2004-04-15 Kloninger John Josef Enterprise content delivery network having a central controller for coordinating a set of content servers
US7139840B1 (en) 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
US20060112170A1 (en) 2004-05-03 2006-05-25 Craig Sirkin Geo-locating load balancing
US8250175B2 (en) 2006-08-02 2012-08-21 Cisco Technology, Inc. Techniques for remapping content requests
US8195736B2 (en) 2006-08-08 2012-06-05 Opnet Technologies, Inc. Mapping virtual internet protocol addresses
US9143558B2 (en) * 2007-05-09 2015-09-22 Radware, Ltd. Geographic resiliency and load balancing for SIP application services
US8190158B2 (en) * 2008-09-22 2012-05-29 Cellco Partnership Robust and fast inter-EBS handoff mechanism
US8429647B2 (en) 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US8345692B2 (en) * 2010-04-27 2013-01-01 Cisco Technology, Inc. Virtual switching overlay for cloud computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988492A (zh) * 2006-11-28 2007-06-27 华为技术有限公司 网络节点之间互通的方法、接入服务网络及WiMAX网络架构
CN101918926A (zh) * 2007-10-24 2010-12-15 乔纳森·彼得·多伊奇 用于通过虚拟ip地址访问没有可访问地址的联网装置的各种方法和设备
CN101952810A (zh) * 2007-10-24 2011-01-19 兰特罗尼克斯公司 用于中心站分配虚拟ip地址的各种方法和设备
WO2010099367A2 (en) * 2009-02-27 2010-09-02 Coach Wei System and method for network traffic management and load balancing

Also Published As

Publication number Publication date
US10009315B2 (en) 2018-06-26
SG191948A1 (en) 2013-08-30
EP2684065A2 (en) 2014-01-15
WO2012122474A2 (en) 2012-09-13
CN103620597A (zh) 2014-03-05
AU2012225301B2 (en) 2015-03-12
BR112013021997B1 (pt) 2021-09-08
CA2824598C (en) 2016-07-19
JP2014512739A (ja) 2014-05-22
US20120233329A1 (en) 2012-09-13
CA2824598A1 (en) 2012-09-13
BR112013021997A2 (pt) 2016-11-29
JP5727053B2 (ja) 2015-06-03
EP2684065A4 (en) 2015-04-01
WO2012122474A3 (en) 2013-11-28

Similar Documents

Publication Publication Date Title
CN103620597B (zh) 外部动态迁移
Van Steen et al. A brief introduction to distributed systems
US20210075881A1 (en) Customizable event-triggered computation at edge locations
US10616129B2 (en) Automated desktop placement
AU2012225301A1 (en) Outside live migration
CN106462408A (zh) 到云计算环境中的工作空间的低延迟连接
US9552366B2 (en) Automated data synchronization
CN107111519A (zh) 用于管理和调度容器的系统
Fagg et al. Scalable networked information processing environment (SNIPE)
US20150195347A1 (en) Architecture and method for cloud provider selection and projection
US20150193466A1 (en) Architecture and method for cloud provider selection and projection
CN106357432B (zh) 基于web服务器的混合式虚拟主机管理平台
US11411921B2 (en) Enabling access across private networks for a managed blockchain service
CN102439913A (zh) 网络业务管理和负载平衡的系统和方法
CN107734026A (zh) 一种网络附加存储集群的设计方法、装置及设备
US20150193246A1 (en) Apparatus and method for data center virtualization
US20150195141A1 (en) Apparatus and method for data center migration
JP2017509046A (ja) クラウドプロバイダ選択及び提示のためのアーキテクチャ及び方法
US10929797B1 (en) Fault tolerance determinations for networked resources
US11895212B2 (en) Read-only data store replication to edge locations
US20150193862A1 (en) Architecture and method for implementing a marketplace for data center resources
US20150193128A1 (en) Virtual data center graphical user interface
Bonvin Linear scalability of distributed applications
Chakraborty et al. Recovering Microsoft Azure Workloads to Another Azure Region
Kumpunen High availability and load balancing for web services

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant