CN104769573B - 动态分配网络地址 - Google Patents

动态分配网络地址 Download PDF

Info

Publication number
CN104769573B
CN104769573B CN201380048537.9A CN201380048537A CN104769573B CN 104769573 B CN104769573 B CN 104769573B CN 201380048537 A CN201380048537 A CN 201380048537A CN 104769573 B CN104769573 B CN 104769573B
Authority
CN
China
Prior art keywords
computing device
network address
distribution
branch
network
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
CN201380048537.9A
Other languages
English (en)
Other versions
CN104769573A (zh
Inventor
A.P.尼伊莫勒
A.B.迪金森
B.D.罗伯特斯
E.P.韦
C.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 CN104769573A publication Critical patent/CN104769573A/zh
Application granted granted Critical
Publication of CN104769573B publication Critical patent/CN104769573B/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/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • 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/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • 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/5061Pools of addresses
    • 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/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文公开基于需求将网络地址动态分配给设备的各种实施方案。首先将第一网络地址分配指派给包括多个计算设备的网络的分支。用于所述分支的路由器被配置来实施所述第一网络地址分配。获取指示所述计算设备的重新配置的数据。随后至少部分地基于所述计算设备的所述重新配置,将第二网络地址分配指派给所述网络的所述分支。用于所述分支的所述路由器被重新配置来实施所述第二网络地址分配。

Description

动态分配网络地址
相关申请的交叉引用
下述申请主张2012年9月18日提交的、申请号为13/621,891、题为“动态分配网络地址(DYNAMICALLY ALLOCATING NETWORK ADDRESSES)”的美国专利申请的优先权和利益,所述申请的全部内容以引用的方式并入本文中。
背景
网络设备可与每个网络接口的一个或多个网络地址相关联。网络地址有利于将数据路由到网络设备以及从网络设备路由数据。因特网协议(IP)网络地址与子网掩码相关联,所述子网掩码指示网络地址的对应于路由前缀的部分以及网络地址的对应于子网的主机识别符的部分。子网是IP网络的逻辑可见分支。子网逻辑上可以布置在分层架构中,从而将网络地址空间分割成树状路由结构。在假定网络地址长度只是32位的情况下,网络地址耗尽便是IP版本4的潜在问题。IP版本6使用128位地址,且因此不容易受到地址耗尽的影响。不过,尽管存在地址耗尽问题,IP版本4仍然普遍使用。
附图简述
可参照以下附图来更好地理解本公开的许多方面。附图中的组件未必按比例绘制,而是将重点放在清楚地示出本公开的原理。此外,在附图中,相同参考标号贯穿若干视图始终指示对应部分。
图1为根据本公开的各种实施方案的网络化环境的图。
图2为根据本公开的各种实施方案在图1的网络化环境中采用的托管计算环境的一个示例的图。
图3和图4为根据本公开的各种实施方案的流程图,所述流程图示出作为在图1的网络化环境中的计算环境中执行的地址分配服务的部分而实施的功能性的示例。
图5为根据本公开的各种实施方案的示意性框图,所述框图提供在图1的网络化环境中采用的计算环境的一个示例性图示。
详细描述
本公开涉及基于需求来向网络设备进行网络地址的动态指派。网络地址耗尽是因特网协议(IP)版本4中的严重问题,并且很有可能也是其它通信协议中的严重问题。公共可存取的IP地址难以得到,并且它们的分配受到精心管理。甚至私有IP网络也可能面临地址耗尽问题。举例来说,大型私有网络通常使用例如“10.0.0.0/8”地址空间(用无类域间路由(CIDR)记号来表示),所述地址空间使用八位网络前缀和24位主机识别符,并且提供将近1千7百万个地址(大约224个地址)。
如此巨大的数量可能看上去对于某一组织来说是用之不尽的。然而,如果网络地址分配管理不善,那么地址耗尽问题便可能发生。举例来说,某一组织可能天真地选择为所述组织的数据中心中的每个机架的“/22”网络分配地址空间。“/22”网络提供大约1024(也就是210)个地址。使用这类分配方案的组织会受限于 “10.0.0.0/8”地址空间内具有“/22”分配的16,384(或214)个机架。这类限制对于大型组织来说可能呈现真实问题。
如果网络是进一步分层构建的,那么问题可能更加复杂。举例说明,可能在网络中存在某个数目的聚合路由器,而聚合路由器中的每个聚合路由器后面具有某个数量的机架。假设将“/15”网络分配给每个聚合路由器。这会向每个路由器提供大约131,072(或217)个地址的分配,所述分配还可划分成128(27)个机架分配,各具有1024个地址。另外,在“10.0.0.0/8”地址空间内,可存在128(27)个这类聚合路由器。就聚合路由器的总数和/或每个聚合路由器的机架数目来说,可能发生可扩展性问题。
如果一些机架使用少于1024个地址,那么上文示例中所论述的这类硬性网络地址分配方案可能没有意义。如果特定机架只使用256个地址,那么向特定机架分配1024个地址将是浪费的。然而,当最初配置机架时,可能并不知道最终会使用多少个地址,特别是当机架中可能采用可变数目的机器实例时。可将较大数量(如1024个)选定为上界,从而会导致分配无效。此外,在一些情况下,上界对于密集配置的机架来说可能太低。
本公开的各种实施方案提供基于需求的网络地址的动态分配,从而克服这些无效性和可扩展性挑战。网络地址的手动固定配置可由自动动态配置取代,所述自动动态配置会辨别具有可变数目的机器实例的网络分支内的地址使用的动态本质。可根据机架或其它网络分支的初始物理配置来分配初始数目的网络地址。必要时可对网络分支进行额外网络地址分配,以满足需求。在以下论述中,提供对所述系统及其组件的概述,接着是对其操作的论述。
参照图1,展示根据各种实施方案的网络化环境100。网络化环境100包括经由网络109进行数据通信的托管计算环境103和计算环境106。网络109包括(例如)因特网、内部网、外联网、广域网(WAN)、局域网(LAN)、有线网、无线网或其它合适网络等,或者两个或更多个这类网络的任何组合。
托管计算环境103可包括多个机架112a…112N,可经由一个或多个聚合路由器115提供所述机架112a…112N到网络109的连接性。尽管描述为“机架”,但机架112可对应于托管计算环境103的其它分支,例如,数据中心、数据中心内的机房、机架群组、计算装备群组等等。机架112中的每个机架可包括多个计算设备118a…118N以及路由器121。路由器121可对应于为相应机架112提供到网络109的连接性的架顶(TOR)路由器或其它设备。路由器121可采用路由协议,如路由信息协议(RIP)、开放最短路径优先(OSPF)协议或其它路由协议。在一些情况下,路由器121可受可通告的单独网络地址分配数目约束。
计算设备118a可对应于具有处理器和存储器电路的计算设备,其用来根据效用计算模型向客户提供计算服务。为此,特定计算设备118a可包括(例如)多个机器实例124a…124N。计算设备118内的机器实例124可为一个客户或多个客户而托管。如将描述,不同的机器实例124可具有不同的特性。给定的计算设备118可动态地重新配置,从而具有任何数目的机器实例124。
注意,不同的机架112可具有不同类型和数量的计算设备118。一些计算设备118可具有相对较多的计算资源,例如较多的存储器、较多的强大处理器、较快的数据存储等,或者计算资源的不同组合。此外,计算设备118可具有不同类型和数量的机器实例124。
机架112中的每个机架可被指派有一个或多个网络地址分配,以便连接到网络109。在一些情况下,这类网络地址分配可聚合成给予相应聚合路由器115的分配,从而向网络109的处于托管计算环境103中的部分提供分层结构。托管计算环境103可具有服务网络109的不同机架112或分支的多个聚合路由器115。聚合路由器115可采用路由协议,如OSPF或其它路由协议。在一些情况下,聚合路由器115可受可通告的单独网络地址分配的数目约束。
计算环境106可包括(例如)服务器计算机或提供计算能力的任何其它系统。或者,计算环境106可采用多个计算设备,所述多个计算设备可用于布置成(例如)一个或多个服务器组或计算机组或其它布置。这类计算设备可定位在单个装置中或者可分布在许多不同地理位置当中。举例来说,计算环境106可包括多个计算设备,所述多个计算设备一起可组成云计算资源、网格计算资源和/或任何其它分布式计算布置。在一些情况下,计算环境106可对应于弹性计算资源,其中处理、网络、存储或其它计算相关资源的分派容量可随着时间而改变。
根据各种实施方案,可在计算环境106中执行各种应用程序和/或其它功能性。另外,在可由计算环境106存取的数据存储125中存储各种数据。正如可了解的,数据存储125可表示多个数据存储125。存储于数据存储125中的数据(例如)与下文所描述的各种应用程序和/或功能实体的操作相关联。
在计算环境106上执行的组件(例如)包括地址分配服务127、网络监视服务130以及本文未详细论述的其它应用程序、服务、进程、系统、引擎或功能性。执行地址分配服务127,从而在网络109上针对托管计算环境103产生地址的地址分配指派131。地址分配指派131可对应于初始指派(例如,当最初配置机架112时)或基于需求(例如,机架112中的计算设备118的重新配置所产生的需求)的后续指派。地址分配服务127可管理未充分使用或预测到未充分使用的地址分配的释放。此外,地址分配服务127可配置成合并地址分配,从而释放地址分配空间或促进分配的聚合。在各种实施方案中,地址分配服务127可分成两个或更多个服务,(例如)其中一个服务包括业务逻辑来确定是否指派或释放分配,而另一个服务执行在托管计算环境103中的实施。
可执行网络监视服务130,从而监视托管计算环境103的各个方面。这些方面可涉及资源消耗、网络地址利用、资源消耗历史、网络地址使用历史、资源消耗或地址利用的增加或降低速率,等等。作为这类监视的结果,网络监视服务130所产生的数据可对应于地址分配服务127的输入。这类输入可允许地址分配服务127作出关于是否指派另外的网络地址分配、释放现有的网络地址分配、合并或聚合网络地址分配等等的决定。
数据存储125中所存储的数据包括(例如)网络拓扑数据133、地址分配136、地址分配历史139、设备类型数据142、设备使用数据145、客户数据148以及潜在的其它数据。网络拓扑数据133可包括与托管计算环境103的物理和逻辑网络拓扑相关的信息。这类信息可包括与机架112或其它网络分支、机架112中的计算设备118、路由器121、聚合路由器115等相关的数据。地址分配136描述已经指派给聚合路由器115、路由器121、计算设备118、机器实例124和/或托管计算环境103的其它组件的网络地址块。作为非限制性示例,地址分配136可指示块“10.1.2.0/27”中的地址已经指派给与机架112相关联的特定路由器121。
地址分配历史139可指示已对托管计算环境103中的特定组件进行的地址分配136的历史。作为非限制性示例,地址分配历史139可指示用于特定机架112的路由器121已被指派有五个“/27”地址块,每周指派一个块。因此,从地址分配历史139中,可确定地址分配的历史需求和速率。
设备类型数据142指示各种计算设备118和机器实例124的特性。举例来说,特定设备类型的计算设备118可能够容纳五个大型机器实例124、10个中型机器实例124或20个小型机器实例124。设备使用数据145可指示各种计算设备118的当前配置和网络地址利用。
举例来说,设备使用数据145可指示当前计算设备118被分割成三个大型机器实例124,其中机器实例124中的两个机器实例正使用两个网络地址,并且机器实例124中的一个机器实例正使用五个网络地址。设备使用数据145还可包括之前和现有的机器实例124的网络地址使用历史和速率。这类数据可与客户数据148相互关联来确定托管计算环境103中特定客户的网络地址和实例利用。
接下来参看图2,展示根据各种实施方案的托管计算环境103的一个示例。托管计算环境103包括多个计算设备203a、203b…203n,多个计算设备206a、206b...206n,以及数据存储209。托管计算环境103的这类部件可借助于网络109(图1)而彼此进行数据通信,或与外部计算设备进行数据通信。这类计算设备203和206可定位在单个装置中,或可分散在许多不同地理位置之中。
计算设备203和206对应于计算设备118(图1)。在各种实施方案中,计算设备203和206可对应于不同的硬件平台。因此,计算设备203和206可具有资源的不同硬件配置,例如,提供通用处理资源的中央处理器(CPU)、提供图形处理资源的图形处理单元(GPU)、系统存储器、数据存储特性(如容量、存储带宽和存储每秒输入/输出操作(IOPS))、网络带宽和/或其它硬件特性。在一个实施方案中,所有计算设备203a、203b...203n可具有第一硬件配置,而所有计算设备206a、206b...206n可具有第二硬件配置。
举例来说,计算设备203可具有第一类型资源与第二类型资源的某一比率,而计算设备206可具有第一类型资源与第二类型资源的不同比率。在具体示例中,计算设备203可具有相对较高的存储器量,而计算设备206可具有相对较高的CPU资源量。在另一具体示例中,计算设备203可具有相对较高的CPU资源量,而计算设备206可具有相对较高的GPU资源量。尽管只展示两组计算设备203和206,但应理解,可存在具有不同硬件配置的任何数目组的计算设备203和206。
作为非限制性示例,计划运行将响应较小数量数据的较高查询量的数据存储的客户可能偏好具有存储IOPS能力相对较高的计算设备203、206,而不是存储带宽。相反,计划运行数据备份存档的客户可能偏好具有存储带宽能力相对较高的计算设备203、206,而不是存储IOPS。数据备份存档可能并不响应许多请求,但当接收到请求时,可优选较大数量的带宽来从数据备份存档中传送数据。
每个计算设备203、206可执行一个或多个机器实例(MI)。机器实例可对应于真实机或虚拟机。虚拟机实例是虚拟化计算机系统或物理计算系统的软件实施方式。虚拟机可使得多个和/或不同操作系统环境同时在具有处理器电路和存储器的单个系统上运行。作为非限制性示例,Linux®操作系统环境的多个实例可与Microsoft® Windows®操作系统环境的多个实例同时在单个系统上执行。每个机器实例可由不同客户进行控制,所述不同客户可只对其自己的实例具有管理访问权限,而对其它客户的实例不具有访问权限。实际上,多个机器实例可同时在包括并行处理器的计算机系统上执行,但多个实例可看起来同时在具有比实例少的处理器的多线程计算机系统上执行。
可利用不同类型的机器实例。在图2的示例中,计算设备203可支持三种类型的机器实例:大型MI 212、中型MI 215和小型MI 218,每个类型的机器实例可与不同的资源配置相关联。作为非限制性示例,每个大型MI 212实例可具有四个CPU等效单元、15 GB的系统存储器和1,000 GB的数据存储装置。每个中型MI 215实例可具有两个CPU等效单元、10 GB的系统存储器和600 GB的数据存储装置。另外,每个小型MI 218实例可具有一个CPU等效单元、5 GB的系统存储器和250 GB的数据存储装置。在图2的示例中,计算设备206也还可支持三种类型的机器实例,也就是,大型MI 221、中型MI 224和小型MI 227。大型MI 221、中型MI224和小型MI 227可与大型MI 212、中型MI 215和小型MI 218具有相同的相应配置,或者可按照需要具有不同的配置。作为非限制性示例,大型MI 221实例可具有四个CPU等效单元、20 GB的系统存储器和1,000 GB的数据存储装置。
每种类型计算设备203、206的三种类型机器实例的示例无意为限制性的。在各种实施方案中,对于每种类型的计算设备203、206来说,可存在更多或更少类型的机器实例。在一个实施方案中,机器实例可包括整个计算设备203、206的分配,而不存在虚拟化。
在图2的示例中,一个大型MI 212实例在计算设备203a上执行,两个中型MI 215a、215b实例在计算设备203b上执行,一个中型MI 215c实例和两个小型MI 218a、218b实例在计算设备203n上执行,一个大型MI 221实例在计算设备206a上执行,三个中型MI 224a、224b、224c实例在计算设备206b上执行,并且,一个中型MI 224d实例和四个小型MI 227a、227b、227c、227d在计算设备206n上执行。每个机器实例可与客户相关联,但任何客户均可与任何数目的机器实例相关联。
在各种实施方案中,客户可能够动态地启动新的机器实例和/或终止机器实例。因此,托管计算环境103可向客户提供可随时间而改变的弹性计算能力。作为非限制性示例,托管机器实例上不频繁受访网络站点的客户在电视上提到所述网络站点或所述网络站点链接在受欢迎网络站点上时,可能突然得到大量涌入的网络页面点击。网络站点流量的增加可能超出机器实例的计算能力,从而导致较差的网络站点性能和可用性。为了应对网络站点流量,客户可以启动新的机器实例和/或过渡到具有更多资源和更好性能的机器实例。客户也可根据需要为特定机器实例配置额外或更少的网络地址。托管计算环境103的操作员可能需要确保备用计算能力在托管计算环境103中可用,从而容纳这类新的机器实例。同时,过多的备用计算能力可能成本较高且资源效率低下。
根据各种实施方案,可在机器实例中和计算设备203、206中执行各种应用程序和/或其它功能性。另外,在可由计算设备203、206存取的数据存储209中存储各种数据。正如可以了解的,数据存储209可表示多个数据存储209。存储于数据存储209中的数据包括(例如)机器图像数据230、客户数据233以及潜在的其它数据。
机器映像数据230可包括用来启动机器实例的数据。机器图像数据230可包括操作系统环境的一个或多个磁盘图像。磁盘图像中的一些磁盘图像可经预先配置来供任何客户或任何子集客户使用,而其它磁盘图像可针对特定客户或特定子集客户进行定制。在一个实施方案中,一个磁盘图像可由多个机器实例加载。
客户数据233可包括客户专用数据。在一个实施方案中,用于机器实例的所有客户配置数据存储在客户数据233中。如此一来,这类数据可在许多机器实例之间轻易地共享。作为非限制性示例,客户数据233可包括将要由在与客户相关联的机器实例上执行的一个或多个网络页面服务器来提供的网络页面。然而,应理解,在一些实施方案中,客户专用数据可存储在与机器实例相关联的本地数据存储装置内。
现在返回到图1,提供对网络化环境100的各种组件的操作的概述。首先,可将网络109的网络地址的初始分配给予聚合路由器115。可为聚合路由器115后面的托管计算环境103配置机架112或其它分支。在各种实施方案中,多个其它路由器和连网硬件可插入机架112和聚合路由器115之间。在一些实施方案中,机架112中的路由器121可耦接到不具有聚合路由器115的网络109。
机架112最初可配置有一组计算设备118。在一些情况下,计算设备118中的一个或多个计算设备最初可被配置来托管一个或多个机器实例124。在一些情况下,计算设备118中的一个或多个计算设备可不具有机器实例124的初始配置。机架112内的所有物理空间最初均可被占用,或者机架112内的物理空间是可用的。地址分配服务127至少部分地基于默认指派配置、机架112中的计算设备118中的每个计算设备的设备类型、各类计算设备118的历史指派速率或地址使用速率、与计算设备118相关联的客户的历史指派速率或地址使用速率和/或其它因素,将网络地址分配指派给机架112。
作为非限制性示例,机架112最初可配置有某种设备类型的20个计算设备118。响应于计算设备118的数目、计算设备118的类型和/或其它数据,地址分配服务127可决定向机架112指派含有32个地址的“/27”块。为此,地址分配服务127可自动配置路由器121来通告此特定的地址块,从而实施分配。地址分配服务127可从已分配给对应聚合路由器115的更大地址块(例如,“/22”或其它块)中选定特定的地址块。
继续所述非限制性示例,可能的情况是20个计算设备118中的每个计算设备最初被配置成使用来自“/27”块的单个对应地址。块中的各种地址可保留为网络编号、网关地址、广播地址等。随着机架112被重新配置,地址利用可能会增加。可将额外计算设备118增加到机架112,可将额外机器实例124增加到计算设备118,客户可为其机器实例124或计算设备118请求额外的网络地址,且/或其它重新配置可发生。网络监视服务130可监视网络拓扑、地址分配、包括地址利用的设备使用和/或与托管计算环境103相关的其它信息。与重新配置相关联且指示重新配置的数据可存储在网络拓扑数据133中、地址分配历史139中、设备类型数据142中、设备使用数据145中,等等。在一些实施方案中,指示重新配置的这类数据可直接提供给地址分配服务127。可建立阈值来确保在地址耗尽之前进行地址分配。
举例来说,地址分配服务127可获取相应数据,其指示机架112的重新配置已产生了增加数量的机器实例124。因此,地址分配服务127可决定将另一“/27”网络地址块指派给特定机架112。在一些情况下,网络地址块可选定为分配给聚合路由器115的地址的子集。指派后,地址分配服务127可自动重新配置路由器121来实施额外地址分配。
地址分配服务127可被配置成优先选用可用的连续分配。在一些情况下,至少部分地基于地址分配历史139、客户数据148、和/或其它因素,地址分配服务127最初可保留与指派连续的未指派地址分配,其中所述保留便于将来可能的使用。如果其它机架112中的需求引起额外指派,那么这类保留的分配可按照需要指派给其它机架。因此,非连续指派可能是必要的。
如果做出连续分配指派,那么地址分配服务127可被配置成合并指派。举例来说,如果两个“/27”网络被连续分配,那么地址分配服务127可被配置成将这两个“/27”分配卷积成一个“/26”分配。同样地,如果四个“/27”网络被连续分配,那么地址分配服务127可被配置成将这四个“/27”分配卷积成一个“/25”分配。在一个实施方案中,通过组合连续分配,作为用于较小分配的之前保留地址(例如,网络编号、广播地址等)的额外地址可变成能够指派给计算设备118。通过进行此路由聚合或汇总,可减少对路由器121和聚合路由器115的路由需求。
在一个实施方案中,路由器121(或聚合路由器115)可被配置成通告出于聚合目的而未指派给计算设备118的路由。举例来说,针对“/27”块的三个连续地址分配136可指派给特定机架112。尽管在“/25”块内包括一个未指派的“/27”块,但地址分配136可聚合成单个“/25”块,从而简化路由通告。未指派的“/27”块可保留而将来供机架112使用,或者后续可取决于需求而加以分裂供另一机架112使用。
虽然机架112中的一些重新配置可能导致更多的地址利用,但其它重新配置可能引起减少的地址利用。举例来说,之前指派有“/22”块的地址分配136的机架112现在可只使用400个地址,这些地址都可适应“/23”块。当正在动力已经相对不足的增益计算设备118上托管较少的机器实例124时,便可发生这类减少的利用。因此,地址分配服务127可从原始“/22”分配中释放另一“/23”块。阈值可用来提供迟滞。可能需要迟滞来避免释放短期内可使用的分配。举例来说,对于“/22”块来说,地址利用可能临时下降到512个以下,但可直到地址利用下降到450个以下才会释放“/23”块。
在一些情况下,待释放块内的地址可能已经被使用。在这类情况下,地址利用服务127可被配置成起始计算设备118从待释放块中的地址转变到待留存块中的地址。在一些实施方案中,将计算设备118从一个地址移动到另一个地址可能是不当的,并且可能导致限制释放地址分配136的部分。举例来说,尽管“/22”块中只有400个地址可使用,但由于现有的地址利用,地址分配服务127也可能只释放“/24”块。地址分配服务127可配置有阈值来防止使地址分配136破裂成众多小型块,从而避免有问题的路由表开销。
上文所论述的示例也可延伸到指派给聚合路由器115的地址分配136。托管计算环境103位于聚合路由器115后面的部分可被视为网络109的分支。为此,可至少部分地基于预测或实际需求(例如,聚合路由器115所服务的机架112、计算设备118、机器实例124等),将网络地址块分配给聚合路由器115。网络地址的实际或预测可随着时间而增加或降低,从而使得指派额外地址分配136,或者释放现有的地址分配136来用于重新指派。
接下来参看图3,展示根据各种实施方案的提供地址分配服务127的一部分的操作的一个示例的流程图。应理解,图3的流程图提供许多不同类型的功能布置的仅一个示例,可采用所述功能布置来实施地址分配服务127的所述部分的操作,正如本文所描述。作为一个替代方案,图3的流程图可被看作是描绘根据一个或多个实施方案的在计算环境106(图1)中实施的方法的步骤的示例。
开始于框303,地址分配服务127确定网络109(图1)的分支的初始配置。所述分支可对应于机架112(图1)、托管计算环境103(图1)的位于给定聚合路由器115(图1)后面的部分或者另一分支。为此,地址分配服务127可参照网络监视服务130(图1)所搜集的数据来确定网络109的拓扑、计算设备118(图1)及其设备类型、已经配置的机器实例124(图1)、与机器实例124相关联的客户,等等。
在框306中,地址分配服务127至少部分地基于初始配置,将第一地址分配136(图1)指派给所述分支。举例来说,可至少部分地基于计算设备118中的每一个计算设备的相应设备类型、网络地址的预计需求和/或其它因素来确定地址分配136。在框309中,地址分配服务127配置路由器121(图1)(或聚合路由器115,视情况而定)来实施第一地址分配136。
在框312中,地址分配服务127(例如)从网络监视服务130获取指示所述分支中的计算设备118的重新配置的数据。举例来说,可增加额外计算设备118,计算设备118可由更为强大的计算设备118取代,计算设备118可重新配置有更多的机器实例124,计算设备118可为想要使用许多网络地址的客户重新配置,等等。在图3的情况下,重新配置指示实际或预测地址利用的增加。在框315中,地址分配服务127至少部分地基于重新配置,而将第二地址分配136指派给所述分支。第二地址分配136可(例如)基于与第一地址分配136的连续性而加以选定。举例来说,“10.1.0.0/24”与“10.1.1.0/24”是连续的。连续性可取决于地址分配136适应特定子网掩码的能力。第二地址分配136的大小可(例如)基于地址指派、分配或利用的速率来确定。
在框318中,地址分配服务127确定是否聚合第一和第二地址分配136。举例来说,“10.1.0.0/24”可与“10.1.1.0/24”聚合以产生“10.1.1.0/23”。在一些实施方案中,可聚合非连续地址分配136。如果地址分配服务127确定不聚合第一和第二地址分配136,那么地址分配服务127就移到框321,并且配置路由器121(或聚合路由器115,视情况而定)来将第二地址分配136通告为单独路由。接着,地址分配服务127继续到框324。
相反,如果地址分配服务127确定将要聚合第一和第二地址分配136,那么地址分配服务127从框318继续到框327,并且将第一地址分配136与第二地址分配136组合。在框330中,地址分配服务127配置路由器121(或聚合路由器115,视情况而定)来通告组合的地址分配136。接着,地址分配服务127继续进行到框324。
在框324中,地址分配服务127确定是否已发生另一重新配置。如果另一重新配置已经发生,那么地址分配服务127返回到框312,并且获取指示重新配置的数据。如果另一重新配置尚未发生,那么地址分配服务127的所述部分结束。
现在转向图4,展示根据各种实施方案的提供地址分配服务127的另一部分的操作的一个示例的流程图。应理解,图4的流程图提供许多不同类型的功能布置的仅一个示例,可采用所述功能布置来实施地址分配服务127的所述部分的操作,正如本文所描述。作为一个替代方案,图4的流程图可被看作是描绘根据一个或多个实施方案的在计算环境106(图1)中实施的方法的步骤的示例。
开始于框403,地址分配服务127(图1)(例如)从网络监视服务130(图1)获取指示网络109(图1)的分支(例如,机架112(图1)、托管计算环境103(图1)的位于聚合路由器115(图1)后面的部分等)中的计算设备118(图1)的重新配置的数据。举例来说,可去除计算设备118,计算设备118可重新配置有较少的机器实例124,计算设备118可为想要使用较少网络地址的客户重新配置,等等。在图4的情况下,重新配置指示实际或预测地址利用的减少。
在框406中,地址分配服务127确定所述分支的地址利用是否低于阈值。如果不低于阈值,那么地址分配服务127继续进行到框409,并且不会发生地址分配136(图1)的释放。如果低于阈值,那么地址分配服务127从框406继续到框412,并且确定所述分支的地址分配136的至少一部分是否为可释放的。举例来说,地址分配136可填充有当前正使用的且无法移动的地址,从而使得地址分配136很有可能是不可释放的。如果地址分配136是不可释放的,那么地址分配服务127继续到框409。
如果地址分配136是可释放的,那么地址分配服务127从框412过渡到框415,并且确定是否移动活动的地址指派。如果不移动,那么地址分配服务127继续到框418。相反,如果将要移动活动的地址指派,那么地址分配服务127从框415继续到框421,并且从地址分配136的可释放子集中迁出活动的地址指派。这可能涉及到所涉及的计算设备118的自动重新配置、通知与计算设备118相关联的客户,等等。
在框418中,地址分配服务127释放地址分配136的子集。在框424中,地址分配服务127重新配置路由器121(或聚合路由器115,视情况而定)来通告地址分配136的未释放子集。作为非限制性示例,在地址分配136为“10.1.1.0/23”的情况下,地址指派可从“10.1.1.0/24”中迁出,并且可释放“10.1.1.0/24”。随后可通告到“10.1.0.0/24”的路由。如果地址分配136的释放子集没有与另一子集聚合,那么可能的情况是结果没有通告新的路由。地址分配服务127继续进行到框409。
在框409中,地址分配服务127确定是否已发生另一重新配置。如果另一重新配置已发生,那么地址分配服务127返回到框403,并且获取指示重新配置的数据。如果另一重新配置尚未发生,那么地址分配服务127的部分结束。
参照图5,展示根据本公开的一个实施方案的计算环境106的示意性框图。计算环境106包括一个或多个计算设备500。每个计算设备500包括(例如)具有处理器503和存储器506的至少一个处理器电路,所述处理器与存储器两者均耦接到本地接口509。为此,每个计算设备500可包括(例如)至少一个服务器计算机或类似设备。如可了解,本地接口509可包括(例如)具有伴随的地址/控制总线或其它总线结构的数据总线。
存储于存储器506中的是可由处理器503执行的数据与若干组件两者。具体地说,存储于存储器506中并且可由处理器503执行的是地址分配服务127、网络监视服务130以及潜在的其它应用程序。也存储于存储器506中的可为数据存储125和其它数据。此外,操作系统可存储在存储器506中,并且可由处理器503执行。
应理解,如可了解,可存在存储于存储器506中并且可由处理器503执行的其它应用程序。在本文所论述的任何组件均以软件的形式实施的情况下,可采用许多种编程语言中的任何一种,例如C、C++、C#、Objective C、Java®、JavaScript®、Perl、PHP、Visual Basic®、Python®、Ruby、Flash®或其它编程语言。
许多软件组件存储于存储器506中并且可由处理器503执行。在这方面,术语“可执行的”意味着呈最终可由处理器503运行的一种形式的程序文件。可执行程序的示例可为(例如):可转译成相应格式的机器代码的经编译程序,所述格式的机器代码可加载到存储器506的随机存取部分中,并且可由处理器503运行;可用恰当格式表达的源代码,如能够加载到存储器506的随机存取部分中并且可由处理器503执行的目标代码;或者,可由另一可执行程序解译以在存储器506的随机存取部分中生成将由处理器503执行的指令的源代码;等等。可执行程序可存储于存储器506的任何部分或组件中,包括(例如)随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、存储卡、光盘(如压缩光盘(CD)或数字多功能光盘(DVD))、软盘、磁带或其它存储器组件。
在本文中将存储器506定义为包括易失性和非易失性存储器与数据存储组件两者。易失性组件为在失电之后不会保持数据值的那些组件。非易失性组件为在失电之后保持数据的那些组件。因此,存储器506可包括(例如)随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、经由存储卡读取器存取的存储卡、经由相关联软盘驱动器存取的软盘、经由光盘驱动器存取的光盘、经由适当的磁带驱动器存取的磁带和/或其它存储器组件,或这些存储器组件中的任何两个或更多个的组合。此外,RAM可包括(例如)静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)以及其它这类设备。ROM可包括(例如)可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它类似存储器设备。
另外,处理器503可表示多个处理器503和/或多个处理器核心,并且存储器506可表示分别在并联处理电路中操作的多个存储器506。在此情况下,本地接口509可为促进所述多个处理器503中的任何两者之间、任何处理器503和存储器506中的任何一者之间或者存储器506中的任何两者之间的通信的适当网络。本地接口509可包括旨在协调此通信(包括(例如)进行负载平衡)的额外系统。处理器503可具有电气构造或某一其它可用构造。
尽管地址分配服务127、网络监视服务130以及本文所描述的其它各种系统可体现为由如上文所论述的通用硬件执行的软件或代码,但作为替代方案,以上服务和系统还可体现为专用硬件或软件/通用硬件与专用硬件的组合。如果体现为专用硬件,那么每个专用硬件均可实施为采用许多项技术中的任何一项或组合的电路或状态机。这些技术可包括但不限于离散逻辑电路(其具有用于在施加一个或多个数据信号后实施各种逻辑功能的逻辑门)、具有适当逻辑门的专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它组件,等等。这类技术一般是本领域技术人员众所周知的,因此,本文不再详细描述。
图3和图4的流程图展示地址分配服务127的部分的实施方式的功能性和操作。如果体现为软件,那么每个块可表示包括用来实施指定逻辑功能的程序指令的代码的模块、区段或部分。程序指令可体现为以下形式:源代码,其包括以编程语言编写的人类可读语句;或机器代码,其包括可由适合的执行系统(如计算机系统或其它系统中的处理器503)辨别的数字指令。机器代码可从源代码等转换。如果体现为硬件,那么每个块可表示用来实施指定逻辑功能的电路或许多互连电路。
尽管图3和图4的流程图展示特定执行顺序,但应理解,执行顺序可不同于所描绘的顺序。举例来说,两个或更多个块的执行顺序可相对于所示的顺序而打乱。另外,图3和图4中连续展示的两个或更多个块可同时或部分同时执行。此外,在一些实施方案中,图3和图4所示区块中的一个或多个块可跳过或省略。另外,为了增强的效用、记帐、性能测量或提供疑难解答帮助等,可能会将任何数量的计数器、状态变量、警报信号量或消息添加到本文所描述的逻辑流。应理解,所有这类变化都在本公开的范围中。
另外,本文所描述的包括软件或代码的任何逻辑或应用程序,包括地址分配服务127和网络监视服务130,均可体现为供指令执行系统(例如计算机系统或其它系统中的处理器503)使用或与所述指令执行系统相连接的任何非暂时性计算机可读介质。在这个意义上,所述逻辑可包括(例如)语句,所述语句包括可从计算机可读介质取出并且由指令执行系统执行的指令和声明。在本公开的上下文中,“计算机可读介质”可为供指令执行系统使用或与所述指令执行系统相连接的可含有、存储或维持本文所描述的逻辑或应用程序的任何介质。
可鉴于以下条款来描述本公开的各种实施方案:
1. 一种非暂时性计算机可读介质,其体现可在至少一个计算设备中执行的程序,所述非暂时性计算机可读介质包括:
首先至少部分地基于所述计算设备中的每个计算设备的相应计算设备类型将第一网络地址分配指派给包括多个计算设备的网络的分支的代码;
为所述分支配置路由器以实施所述第一网络地址分配的代码;
获取指示所述计算设备的重新配置以托管增加数量的机器实例的数据的代码;
随后至少部分地基于所述计算设备的所述重新配置将第二网络地址分配指派给所述网络的所述分支的代码;
重新配置用于所述分支的所述路由器以实施所述第二网络地址分配的代码;
获取指示所述分支中所包括的所述计算设备的后续重新配置以托管减少数量的机器实例的数据的代码;
至少部分地基于所述计算设备的所述后续重新配置来释放指派给所述分支的第三网络地址分配的代码;以及
为所述分支重新配置所述路由器以排除所述第三网络地址分配的通告的代码。
2. 如条款1所述的非暂时性计算机可读介质,其还包括响应于释放所述第三网络地址分配而重新配置所述计算设备中的一个计算设备来使用不同的网络地址的代码。
3. 如条款1所述的非暂时性计算机可读介质,其中所述第三网络地址分配是所述第一网络地址分配或所述第二网络地址分配的子集。
4. 一种系统,其包括:
至少一个计算设备;以及
可由所述至少一个计算设备执行的地址分配服务,所述地址分配服务被配置来:
首先将第一网络地址分配指派给网络的分支,所述分支包括多个计算设备;
为所述分支配置路由器来实施所述第一网络地址分配;
获取指示所述计算设备的重新配置的数据;
随后至少部分地基于所述计算设备的所述重新配置,将第二网络地址分配指派给所述网络的所述分支;以及
为所述分支重新配置所述路由器来实施所述第二网络地址分配。
5. 如条款4所述的系统,其中所述计算设备包括采用可变数量网络地址的多个机器实例。
6. 如条款4所述的系统,其中随后至少部分地基于增加数量的机器实例来指派所述第二网络地址分配,所述机器实例由所述计算设备依照所述计算设备的所述重新配置而托管。
7. 如条款4所述的系统,其中随后至少部分地基于与所述计算设备相关联的网络地址指派速率来指派所述第二网络地址分配。
8. 如条款4所述的系统,其中所述第一网络地址分配至少部分地基于所述计算设备中每个计算设备的相应计算设备类型。
9. 如条款8所述的系统,其中所述地址分配服务还被配置来:
至少部分地基于所述相应计算设备类型,为所述计算设备中的至少一个计算设备预测机器实例数量;以及
其中所述第一网络地址分配至少部分地基于预测的所述机器实例数量。
10. 如条款4所述的系统,其中所述分支对应于机架,并且所述路由器对应于机架相关联的路由器。
11. 如条款4所述的系统,其中至少部分地基于所述第二网络地址分配与所述第一网络地址分配的连续性来选择所述第二网络地址分配。
12. 如条款4所述的系统,其中响应于实施所述第二网络地址分配而将所述第一网络地址分配和所述第二网络地址分配指派给所述分支。
13. 如条款12所述的系统,其中所述第一网络地址分配和所述第二网络地址分配是连续的。
14. 如条款12所述的系统,其中所述第一网络地址分配和所述第二网络地址分配是不连续的。
15. 如条款14所述的系统,其中,响应于实施所述第二网络地址分配,所述路由器被配置来通告连续网络地址分配,所述连续网络地址分配包括所述第一网络地址分配、所述第二网络地址分配以及与所述第一网络地址分配和所述第二网络地址分配连续且未指派给所述分支的第三网络地址分配。
16. 如条款4所述的系统,其中响应于实施所述第二网络地址分配而不再将所述第一网络地址分配指派给所述分支。
17. 如条款4所述的系统,其中所述第二网络地址分配包括所述第一网络地址分配。
18. 一种方法,其包括:
通过至少一个计算设备,获取指示网络的分支中所包括的多个计算设备中的至少一个计算设备的重新配置的数据,所述分支指派有网络地址分配;
通过所述至少一个计算设备,至少部分地基于所述计算设备中的所述至少一个计算设备的所述重新配置来确定是否释放所述网络地址分配的第一子集的指派;
通过所述至少一个计算设备,响应于所述确定来释放所述网络地址分配的所述第一子集的所述指派;以及
通过所述至少一个计算设备来为所述分支重新配置路由器,从而通告所述网络地址分配的第二子集,而不是所述网络地址分配。
19. 如条款18所述的方法,其中所述重新配置对应于所述计算设备中的所述至少一个计算设备所托管的机器实例数量的减少。
20. 如条款19所述的方法,其还包括通过所述至少一个计算设备,确定所述机器实例数量是否满足释放所述网络地址分配的所述第一子集的阈值。
21. 如条款18所述的方法,其还包括通过所述至少一个计算设备,自动重新配置所述分支中的所述计算设备中的一个计算设备,从而在自动重新配置所述路由器之前,使用所述网络地址分配的所述第一子集中的第一网络地址,而不是所述网络地址分配的所述第二子集中的第二网络地址。
22. 如条款18所述的方法,其中所述网络地址分配的所述第一子集和所述网络地址分配的所述第二子集是连续的。
23. 如条款18所述的方法,其中所述网络地址分配的所述第一子集和所述网络地址分配的所述第二子集是不连续的。
24. 如条款18所述的方法,其还包括以下步骤:
在所述至少一个计算设备中获取指示所述分支中所包括的所述计算设备中的至少一个计算设备的后续重新配置的数据;
在所述至少一个计算设备中,至少部分地基于所述计算设备中的所述至少一个计算设备的所述后续重新配置,将另一网络地址分配指派给所述分支;以及
在所述至少一个计算设备中,自动重新配置用于所述分支的所述路由器,从而除所述网络地址分配的所述第二子集之外,还通告另一网络地址分配。
计算机可读介质可包括许多种物理介质中的任何一种,例如磁性介质、光学介质或半导体介质。适合的计算机可读介质的更多具体示例将包括但不限于磁带、磁性软盘、磁性硬盘驱动器、存储卡、固态驱动器、USB闪存驱动器或光盘。另外,计算机可读介质可为随机存取存储器(RAM),包括(例如)静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)。此外,计算机可读介质可为只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它类型的存储器设备。
应该强调的是,本公开的上述实施方案仅是为了清楚理解本公开的原理而陈述的实施形式的可能示例。在实质上不背离本公开的精神以及原理的情况下,可对以上描述的实施方案做出许多变化和修改。在本文中,所有这类修改和变化既定包括于本公开的范围内,并且受所附权利要求书保护。

Claims (35)

1.一种用于动态分配网络地址的系统,其包括:
至少一个计算设备;以及
可由所述至少一个计算设备执行的地址分配服务,所述地址分配服务被配置来:
首先将第一网络地址分配指派给网络的分支,所述分支包括多个计算设备;
为所述分支配置路由器来实施所述第一网络地址分配;
获取指示所述多个计算设备的重新配置的数据,其中所述重新配置改变由所述多个计算设备托管的虚拟化机器实例的数量;
至少部分地基于所述多个计算设备的所述重新配置,将第二网络地址分配动态指派给所述网络的所述分支;以及
为所述分支重新配置所述路由器来实施所述第二网络地址分配。
2.如权利要求1所述的系统,其中至少部分地基于增加的虚拟化机器实例数量来动态指派所述第二网络地址分配,所述机器实例由所述多个计算设备依照所述多个计算设备的所述重新配置而托管。
3.如权利要求1所述的系统,其中随后至少部分地基于与所述多个计算设备相关联的网络地址指派速率来指派所述第二网络地址分配。
4.如权利要求1所述的系统,其中所述第一网络地址分配至少部分地基于所述多个计算设备中每个计算设备的相应计算设备类型。
5.如权利要求4所述的系统,其中所述地址分配服务还被配置来:
至少部分地基于所述相应计算设备类型,为所述多个计算设备中的至少一个计算设备预测虚拟化机器实例数量;以及
其中所述第一网络地址分配至少部分地基于预测的所述虚拟化机器实例数量。
6.如权利要求1所述的系统,其中所述分支对应于机架,并且所述路由器对应于机架相关联的路由器。
7.如权利要求1所述的系统,其中至少部分地基于所述第二网络地址分配与所述第一网络地址分配的连续性来选择所述第二网络地址分配。
8.如权利要求1所述的系统,其中响应于实施所述第二网络地址分配而将所述第一网络地址分配和所述第二网络地址分配指派给所述分支。
9.如权利要求1所述的系统,其中,在首先指派之后,响应于实施所述第二网络地址分配而变得不再将所述第一网络地址分配指派给所述分支。
10.如权利要求1所述的系统,其中所述第二网络地址分配包括所述第一网络地址分配。
11.一种用于动态分配网络地址的方法,其包括:
通过至少一个计算设备,获取指示网络的分支中所包括的多个计算设备中的至少一个计算设备的重新配置的数据,所述分支指派有网络地址分配,其中所述重新配置改变由所述多个计算设备中的所述至少一个计算设备托管的虚拟化机器实例的数量;
通过所述至少一个计算设备,至少部分地基于所述多个计算设备中的所述至少一个计算设备的所述重新配置来确定是否释放所述网络地址分配的第一子集的指派;
通过所述至少一个计算设备,响应于所述确定来动态释放所述网络地址分配的所述第一子集的所述指派;以及
通过所述至少一个计算设备来为所述分支重新配置路由器,以通告所述网络地址分配的第二子集,而不是所述网络地址分配。
12.如权利要求11所述的方法,其中所述重新配置对应于所述多个计算设备中的所述至少一个计算设备所托管的虚拟化机器实例数量的减少。
13.如权利要求12所述的方法,其还包括通过所述至少一个计算设备来确定所述虚拟化机器实例数量是否满足释放所述网络地址分配的所述第一子集的阈值。
14.如权利要求11所述的方法,其还包括通过所述多个计算设备中的所述至少一个计算设备来自动重新配置所述分支中的所述计算设备中的一个计算设备,以在自动重新配置所述路由器之前,使用所述网络地址分配的所述第一子集中的第一网络地址,而不是所述网络地址分配的所述第二子集中的第二网络地址。
15.如权利要求11所述的方法,其还包括:
在所述至少一个计算设备中获取指示所述分支中所包括的所述多个计算设备中的至少一个计算设备的后续重新配置的数据;
在所述至少一个计算设备中,至少部分地基于所述多个计算设备中的所述至少一个计算设备的所述后续重新配置,将另一网络地址分配指派给所述分支;以及
在所述至少一个计算设备中,自动重新配置用于所述分支的所述路由器,以除所述网络地址分配的所述第二子集之外,还通告另一个网络地址分配。
16.一种用于动态分配网络地址的系统,包括:
至少一个计算设备;以及
能够在所述至少一个计算设备中执行的至少一个服务,其中当被执行时,所述至少一个服务使得所述至少一个计算设备至少进行如下操作:
确定在多个计算设备上执行的虚拟化机器实例的数量已经改变;
响应于虚拟化机器实例的数量,将更新的网络地址分配动态地指派给网络的分支,所述分支包括所述多个计算设备;以及
为所述分支重新配置路由器来实施所述更新的网络地址分配。
17.如权利要求16所述的系统,其中相对于由所述多个计算设备托管的虚拟化机器实例的先前数量,虚拟化机器实例的数量已经增加。
18.如权利要求16所述的系统,其中所述数量的虚拟化机器实例采用可变数量的网络地址。
19.如权利要求16所述的系统,其中,响应于实施所述更新的网络地址分配,所述路由器被配置为通告连续的网络地址分配,所述连续的网络地址分配包括所述更新的网络地址分配和另一网络地址分配,所述另一网络地址分配与所述更新的网络地址分配连续并且未被指派给所述分支。
20.如权利要求16所述的系统,其中当被执行时,所述至少一个服务还使得所述至少一个计算设备至少进行如下操作:
确定与所述多个计算设备关联的网络地址指派速度;以及
至少部分地基于所述网络地址指派速度确定所述更新的网络地址分配。
21.如权利要求16所述的系统,其中当被执行时,所述至少一个服务还使得所述至少一个计算设备至少进行如下操作:
确定与所述多个计算设备中的每个计算设备关联的相应计算设备类型;以及
至少部分地基于与所述多个计算设备中的每个计算设备关联的相应计算设备类型确定所述更新的网络地址分配。
22.如权利要求16所述的系统,其中当被执行时,所述至少一个服务还使得所述至少一个计算设备至少进行如下操作:至少部分地基于所述更新的网络地址分配与先前网络地址分配的连续性确定所述更新的网络地址分配。
23.如权利要求16所述的系统,其中所述分支对应于机架,并且所述路由器对应于机架相关联的路由器。
24.一种用于动态分配网络地址的系统,包括:
至少一个计算设备;以及
能够在所述至少一个计算设备中执行的至少一个服务,其中当被执行时,所述至少一个服务使得所述至少一个计算设备至少进行如下操作:
确定由包括在网络的分支中的计算设备托管的虚拟化机器实例的数量已经改变,所述分支被指派网络地址分配;
响应于虚拟化机器实例的数量,动态释放所述网络地址分配的第一子集的指派;以及
为所述分支重新配置路由器来通告所述网络地址分配的第二子集,而不是所述网络地址分配。
25.如权利要求24所述的系统,其中相对于由所述计算设备托管的虚拟化机器实例的先前数量,虚拟化机器实例的数量已经减少。
26.如权利要求24所述的系统,其中当被执行时,所述至少一个服务还使得所述至少一个计算设备至少确定:虚拟化机器实例的数量满足用于释放所述网络地址分配的第一子集的阈值。
27.如权利要求24所述的系统,其中当被执行时,所述至少一个服务还使得所述至少一个计算设备至少重新配置所述分支中的所述计算设备以使用所述网络地址分配的第二子集中的第一网络地址,而不是在重新配置所述路由器之前所述网络地址分配的第一子集中的第二网络地址。
28.如权利要求24所述的系统,其中当被执行时,所述至少一个服务还使得所述至少一个计算设备至少进行如下操作:
确定虚拟化机器实例的数量已经再次改变;
响应于已经再次改变的虚拟化机器实例的数量,把另一网络地址分配指派给所述子集;以及
为所述分支重新配置所述路由器来通告所述网络地址分配的第二子集以及另一网络地址分配。
29.一种用于动态分配网络地址的方法,包括:
由至少一个计算设备确定在多个计算设备上执行的虚拟化机器实例的数量已经改变;
响应于虚拟化机器实例的数量,由所述至少一个计算设备将更新的网络地址分配动态地指派给网络的分支,所述分支包括所述多个计算设备;以及
由所述至少一个计算设备为所述分支重新配置路由器来实施所述更新的网络地址分配。
30.如权利要求29所述的方法,其中,响应于实施所述更新的网络地址分配,所述路由器被配置为通告连续的网络地址分配,所述连续的网络地址分配包括所述更新的网络地址分配和另一网络地址分配,所述另一网络地址分配与所述更新的网络地址分配连续并且未被指派给所述分支。
31.如权利要求29所述的方法,其中所述数量的虚拟化机器实例采用可变数量的网络地址。
32.如权利要求29所述的方法,还包括:
由所述至少一个计算设备确定与所述多个计算设备关联的网络地址指派速度;以及
由所述至少一个计算设备至少部分地基于所述网络地址指派速度确定所述更新的网络地址分配。
33.如权利要求29所述的方法,还包括:
由所述至少一个计算设备确定与所述多个计算设备中的每个计算设备关联的相应计算设备类型;以及
由所述至少一个计算设备至少部分地基于与所述多个计算设备中的每个计算设备关联的相应计算设备类型确定所述更新的网络地址分配。
34.如权利要求29所述的方法,还包括:由所述至少一个计算设备至少部分地基于所述更新的网络地址分配与先前网络地址分配的连续性确定所述更新的网络地址分配。
35.如权利要求29所述的方法,其中所述分支对应于机架,并且所述路由器对应于机架相关联的路由器。
CN201380048537.9A 2012-09-18 2013-09-13 动态分配网络地址 Active CN104769573B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/621,891 US9055112B2 (en) 2012-09-18 2012-09-18 Dynamically allocating network addresses
US13/621891 2012-09-18
PCT/US2013/059631 WO2014046975A2 (en) 2012-09-18 2013-09-13 Dynamically allocating network addresses

Publications (2)

Publication Number Publication Date
CN104769573A CN104769573A (zh) 2015-07-08
CN104769573B true CN104769573B (zh) 2018-07-27

Family

ID=50275645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380048537.9A Active CN104769573B (zh) 2012-09-18 2013-09-13 动态分配网络地址

Country Status (11)

Country Link
US (2) US9055112B2 (zh)
EP (1) EP2898423B1 (zh)
JP (1) JP5989907B2 (zh)
CN (1) CN104769573B (zh)
AU (1) AU2013318330B2 (zh)
BR (1) BR112015006005B1 (zh)
CA (1) CA2881149C (zh)
IN (1) IN2015DN00539A (zh)
RU (1) RU2606557C9 (zh)
SG (1) SG11201502056RA (zh)
WO (1) WO2014046975A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661250B (zh) * 2015-02-03 2018-03-20 河海大学 风电机组无线传感器状态监控系统的路由替代自愈方法
CN105120013B (zh) * 2015-08-28 2019-08-13 西安理邦科学仪器有限公司 探头、中央站的网络地址的分配方法及系统
CN105306617B (zh) * 2015-09-22 2019-07-09 广州昂宝电子有限公司 用于分配网络地址的方法和网络设备
US10142284B2 (en) * 2015-09-30 2018-11-27 Vmware, Inc. Faster IP address allocation in a hybrid cloud environment using subnet selective randomization
FI3860050T3 (fi) * 2016-02-18 2023-08-02 Fusionlayer Oy Verkkojen aktivointi/deaktivointi ohjelmiston määrittelemissä tietojenkäsittely-ympäristöissä
CN107707380B (zh) * 2017-07-31 2018-10-23 贵州白山云科技有限公司 一种监控告警方法和装置
US10534351B1 (en) * 2018-10-08 2020-01-14 Quest Automated Services, LLC Automation system network
CN110290228B (zh) * 2019-06-03 2022-03-11 网宿科技股份有限公司 一种互联网协议ip地址分配方法及装置
US11509626B2 (en) * 2020-01-29 2022-11-22 Jpmorgan Chase Bank, N.A. System and method for network IP address capacity analytics and management
US11436092B2 (en) * 2020-04-20 2022-09-06 Hewlett Packard Enterprise Development Lp Backup objects for fully provisioned volumes with thin lists of chunk signatures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409689A (zh) * 2008-11-25 2009-04-15 清华大学 互联网地址交换方法
CN101448012A (zh) * 2002-11-12 2009-06-03 雷特泽遥距管理有限责任公司 具有ip能力分区的数据存储设备
US7788345B1 (en) * 2001-06-04 2010-08-31 Cisco Technology, Inc. Resource allocation and reclamation for on-demand address pools
CN102395959A (zh) * 2009-02-14 2012-03-28 必可视股份公司 不同网络地址转换器后的客户端之间视频会议或数据传输的方法和系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835723A (en) 1995-12-28 1998-11-10 Intel Corporation Dynamic assignment of multicast addresses
JPH10308763A (ja) * 1997-05-09 1998-11-17 Toshiba Corp 通信システム
US7299294B1 (en) * 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US7079511B2 (en) * 2000-12-06 2006-07-18 Qualcomm, Incorporated Method and apparatus for handoff of a wireless packet data services connection
US8359377B2 (en) 2001-04-30 2013-01-22 Hewlett-Packard Development Company, L.P. Interface for automated deployment and management of network devices
US7197549B1 (en) 2001-06-04 2007-03-27 Cisco Technology, Inc. On-demand address pools
US7383340B2 (en) 2003-06-30 2008-06-03 Intel Corporation System and method for programmatically changing the network location of a network component
DE10330471A1 (de) * 2003-07-05 2005-02-03 Alstom Technology Ltd Vorrichtung zum Abscheiden von Fremdpartikeln aus der den Laufschaufeln einer Turbine zuführbaren Kühlluft
US20050027778A1 (en) * 2003-07-29 2005-02-03 Arthur Dimitrelis Automatic configuration of an address allocation mechanism in a computer network
US7624445B2 (en) 2004-06-15 2009-11-24 International Business Machines Corporation System for dynamic network reconfiguration and quarantine in response to threat conditions
US7940694B2 (en) * 2005-11-14 2011-05-10 Juniper Networks, Inc. Intelligent filtering of redundant data streams within computer networks
US7929552B2 (en) 2006-10-26 2011-04-19 At&T Intellectual Property I, L.P. Automated IP pool management
US8972547B2 (en) * 2007-10-18 2015-03-03 International Business Machines Corporation Method and apparatus for dynamically configuring virtual internet protocol addresses
WO2010041996A1 (en) * 2008-10-09 2010-04-15 Telefonaktiebolaget L M Ericsson (Publ) A virtualization platform
US7921197B2 (en) * 2008-11-19 2011-04-05 Vmware, Inc. Dynamic configuration of virtual machines
US8838473B2 (en) * 2009-02-25 2014-09-16 Microsoft Corporation Services advertisement in a wireless mesh
DE112010003675T5 (de) * 2009-09-17 2013-01-10 International Business Machines Corp. Adress-Server
CN102143239B (zh) * 2010-02-02 2015-01-28 华为技术有限公司 实现在不同网络间进行通信的方法及装置
US20110239291A1 (en) * 2010-03-26 2011-09-29 Barracuda Networks, Inc. Detecting and Thwarting Browser-Based Network Intrusion Attacks For Intellectual Property Misappropriation System and Method
US8631100B2 (en) * 2010-07-20 2014-01-14 Juniper Networks, Inc. Automatic assignment of hardware addresses within computer networks
US9384030B2 (en) * 2011-08-11 2016-07-05 Ca, Inc. System and method for deploying a dynamic virtual network address translation appliance
JP6218819B2 (ja) * 2012-06-20 2017-10-25 フュージョンレイヤー・オサケユキテュア オーケストレートされたコンピューティング環境における、ipのコミッショニングおよびデコミッショニングのための方法および装置
US9390055B2 (en) * 2012-07-17 2016-07-12 Coho Data, Inc. Systems, methods and devices for integrating end-host and network resources in distributed memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788345B1 (en) * 2001-06-04 2010-08-31 Cisco Technology, Inc. Resource allocation and reclamation for on-demand address pools
CN101448012A (zh) * 2002-11-12 2009-06-03 雷特泽遥距管理有限责任公司 具有ip能力分区的数据存储设备
CN101409689A (zh) * 2008-11-25 2009-04-15 清华大学 互联网地址交换方法
CN102395959A (zh) * 2009-02-14 2012-03-28 必可视股份公司 不同网络地址转换器后的客户端之间视频会议或数据传输的方法和系统

Also Published As

Publication number Publication date
RU2606557C9 (ru) 2017-02-22
US9055112B2 (en) 2015-06-09
IN2015DN00539A (zh) 2015-06-26
WO2014046975A3 (en) 2014-05-30
JP5989907B2 (ja) 2016-09-07
RU2015114530A (ru) 2016-11-10
US20150271018A1 (en) 2015-09-24
CA2881149A1 (en) 2014-03-27
EP2898423A4 (en) 2016-06-01
JP2015529417A (ja) 2015-10-05
AU2013318330B2 (en) 2016-04-07
EP2898423A2 (en) 2015-07-29
EP2898423B1 (en) 2020-02-26
WO2014046975A2 (en) 2014-03-27
BR112015006005A2 (pt) 2017-07-04
US9705741B2 (en) 2017-07-11
SG11201502056RA (en) 2015-04-29
AU2013318330A1 (en) 2015-02-19
BR112015006005B1 (pt) 2023-01-17
RU2606557C2 (ru) 2017-01-10
US20140082164A1 (en) 2014-03-20
CN104769573A (zh) 2015-07-08
CA2881149C (en) 2017-08-22

Similar Documents

Publication Publication Date Title
CN104769573B (zh) 动态分配网络地址
CN108924268B (zh) 一种容器云服务系统及pod创建方法、装置
US10140066B2 (en) Smart partitioning of storage access paths in shared storage services
US10218536B1 (en) Configuring and managing virtual grids
US10698739B2 (en) Multitenant access to multiple desktops on host machine partitions in a service provider network
CN110113441B (zh) 实现负载均衡的计算机设备、系统和方法
CN107196982B (zh) 一种用户请求的处理方法和装置
CN103051564B (zh) 资源动态调配的方法和装置
KR102361929B1 (ko) 동적 호스트 디바이스 인스턴스 모델 재구성을 이용한 제공자 네트워크에서의 수용량 관리
US9813374B1 (en) Automated allocation using spare IP addresses pools
CN110741352B (zh) 虚拟网络功能管理系统和管理方法及计算机可读存储设备
US11710206B2 (en) Session coordination for auto-scaled virtualized graphics processing
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
CN103078965A (zh) 虚拟机的ip地址管理方法
Chen et al. Algorithm for virtual nodes reconfiguration on network virtualization
CN114553492B (zh) 基于云平台的操作请求处理方法及装置
CN105404545A (zh) 虚拟机分配的方法及装置
CN117354283A (zh) 一种容器的ip地址分配方法及装置、系统、设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant