CN103516782B - 网络设备任务的分布式处理 - Google Patents
网络设备任务的分布式处理 Download PDFInfo
- Publication number
- CN103516782B CN103516782B CN201310253577.9A CN201310253577A CN103516782B CN 103516782 B CN103516782 B CN 103516782B CN 201310253577 A CN201310253577 A CN 201310253577A CN 103516782 B CN103516782 B CN 103516782B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- task
- router
- network
- agency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及网络设备任务的分布式处理,提出了一种在计算云中运行的虚拟机之间分配网络设备任务的技术。一种网络设备包括:发送和接收消息的网络接口、包括被配置为运行一个版本的网络操作系统的一个或多个处理器的路由单元、和虚拟机代理。该虚拟机代理被配置为:识别在通信耦接至该网络设备的计算云处运行的虚拟机,其中,所识别的虚拟机运行所述版本的网络操作系统的实例;利用至少一个网络接口将执行任务的请求发送至虚拟机;以及利用至少一个网络接口从虚拟机接收包括执行任务的结果的任务响应。路由单元被配置为基于结果更新所述网络设备。
Description
技术领域
本公开涉及计算机网络,更具体地,涉及在虚拟机之间分配网络设备任务的技术。
背景技术
计算机网络是交换数据和共享资源的互连计算设备的集合。在诸如互联网这样的分组网络中,计算设备通过将数据划分为被称为包的较小块来通信数据,这些包从源设备经过网络被单独地路由到目的设备。目的设备从包中提取数据并将数据组装成其原始形式。将数据划分为包能够使源设备可以只重新发送那些可能在传输期间丢失的个体包。
网络内的某些设备,例如路由器,含有保存描述通过网络的路线的路由信息的路由单元。每个路线定义了网络上位置之间的路径。根据路由信息,路由器的转发引擎生成转发信息,路由器使用该转发信息在网络上中继转发(relay)包流,更具体地,将包流中继转发到下一个中继段。关于转发包,网络路由器的“下一个中继段”一般是指沿着给定路线的相邻设备。一旦接收到来的包,路由器就检查包内的信息,从而识别包的目的地。基于目的地,路由器根据转发信息转发该包。
大型计算机网络,例如互联网,通常包括多个根据诸如边界网关协议(BGP)这样的规定路由协议交换路由信息的路由器。当两个路由器最初连接时,路由器交换路由信息和根据所交换的路由信息生成转发信息。具体地,两个路由器初始化路由通信“会话”,两个路由器根据规定的路由协议通过该路由通信“会话”来交换路由信息。路由器继续通过路由协议进行通信以递增地更新路由信息,进一步地,根据更新的路由信息中指示的网络拓补的变化更新其转发信息。例如,路由器可以发送更新消息,告知新近可用的路线或指出不再可用的路线。然而,更新路由信息和执行其他管理任务会消耗大量的计算资源,这限制了可用于转发流量的计算资源量。
按照惯例,网络管理员通过增加处理器、存储器等按比例增加计算资源。然而,可以在单个机架(chassis)内增加的计算资源量是有限的。随着处理器数量和其他计算资源量增加,所产生的热量和所需的电量也增加。网络设备的单个机架中的冷却和功率性能可能无法满足需求,这导致网络管理员使用单独的机架以在网络设备执行各种管理任务的同时,提供维持理想的网络吞吐量所需的额外计算能力。网络管理员必须管理作为单独设备的每个额外机架,这增加管理网络设备的复杂性。进一步,在网络设备上运行的操作系统只可以支持至多一个最大数量的计算资源和软件进程,这限制可用于任何网络设备的总计算能力。
发明内容
一般地,本公开的技术旨在通过使网络设备将任务卸荷(off-load)到在通信联络耦接至网络设备并与其分开管理的计算云中运行的一个或多个虚拟机,来增加可用于网络设备的计算资源。网络设备运行提供网络设备的软件功能的操作系统。每个虚拟机运行其自身的对应于由网络设备运行的操作系统的操作系统实例。虚拟机管理器注册在计算云中运行的各种虚拟机。当网络设备从计算云请求计算资源时,虚拟机管理器识别能够执行网络设备所请求的任务的一个或多个虚拟机,并且建立虚拟机和网络设备之间的网络套接字。网络设备将任务请求发送到虚拟机,虚拟机将任务结果返回到网络设备。用这种方式,网络设备有选择地将任务卸荷到虚拟机,释放网络设备的计算资源来转发包和执行其他延迟敏感的任务。
在计算云中运行的虚拟机可以分别运行特定版本的网络操作系统,能够使计算云为多个不同网络设备和多个不同版本的网络设备提供支持。进一步,两个或多个不同的虚拟机可以运行特定版本的网络操作系统。通过在单独的虚拟机中运行操作系统的多个实例,可用于网络设备的计算资源量与计算云的能力有关,而受到操作系统的限制。因此,随着额外的计算资源的需求增加,计算云的计算资源和虚拟机的数量增加,而不受操作系统或网络设备的规格的限制,包括资源限制、冷却限制、和功率限制。
在一个实施方式中,方法包括:利用网络设备从通信地耦接至该网络设备的多个其他网络设备接收多个链路状态消息;利用在网络设备中运行的虚拟机代理将对计算云的可用计算资源的请求发送到在计算云运行的虚拟机管理器;以及从虚拟机管理器接收包括在计算云运行的至少一个虚拟机的网络套接字的响应。该方法还包括:利用虚拟机代理将确定网络设备与多个其他网络设备中的每一个之间的最短路径的请求利用网络套接字发送到虚拟机,其中,请求包括多个链路状态消息;从虚拟机接收包括网络设备与多个其他网络设备中的每一个之间的相应的最短路径的指示的响应消息;以及基于响应消息更新存储在网络设备的路由信息。
在另一个实施方式中,方法包括:由网络设备运行一个版本的网络操作系统;以及利用在网络设备运行的虚拟机代理识别在通信地耦接至网络设备的计算云处运行的虚拟机,其中,所识别的虚拟机运行所述版本的网络操作系统的实例。该方法进一步包括:利用虚拟机代理将执行任务的请求发送到虚拟机;利用虚拟机代理从虚拟机接收包括执行任务的结果的任务响应;以及基于包括在任务响应中包括的结果更新网络设备。
在另一个实施方式中,网络设备包括:被配置为发送和接收消息的至少一个网络接口、包含被配置为运行一个版本的网络操作系统的一个或多个处理器的路由单元、以及可由路由单元运行的虚拟机。虚拟机代理被配置为:识别在通信地耦接至网络设备的计算云处运行的虚拟机,其中,所识别的虚拟机运行所述版本的网络操作系统的实例;利用至少一个网络接口将执行任务的请求发送至虚拟机;以及利用至少一个网络接口从虚拟机接收包括执行任务的结果的任务响应。路由单元被配置为基于包括在任务响应中的结果更新网络设备。
在另一个实施方式中,利用编码有可由一个或多个处理器执行的指令的计算机可读存储介质运行一个版本的网络操作系统,并识别在通信地耦接至网络设备的计算云处运行的虚拟机,其中所识别的虚拟机运行所述版本的网络操作系统的实例。指令可进一步被执行为:将执行任务的请求发送到所识别的虚拟机;从虚拟机接收包括执行任务的结果的任务响应,以及基于包括在任务响应中所包括的结果更新网络设备。
在下面的附图和说明书中阐述了一个或多个实施方式的细节。根据说明书、附图、和权利要求将明显理解本公开的其他特征、目标、和优势。
附图说明
图1是根据本公开的一个方面示出在虚拟机之间分配网络设备任务的示例系统的框图。
图2是根据本公开的一个方面示出在虚拟机之间分配网络设备任务的示例系统的其他细节的框图。
图3是根据本公开的一个方面示出示例计算云的框图。
图4是示出根据本公开的一个方面的在虚拟机之间分配网络设备任务的示例过程的流程图。
具体实施方式
图1是根据本公开的一个方面示出在虚拟机之间分配网络设备任务的示例系统的框图。如图1中所示,网络系统2包括计算云10、路由器12A-12D(统称为“路由器12”)、虚拟机管理器(VM MANAGER)14、和虚拟机(VM)16A-16N(统称为“虚拟机16”)。计算云10作为包括虚拟机管理器14和虚拟机16的计算资源的主机。计算云10的计算资源可以是能够执行本公开的技术的任何计算资源。例如,计算云10可以包括服务器计算机、台式计算机、便携式计算机、或包括处理器的任何其他设备。尽管作为不同的实体示出,但是虚拟机管理器14和每个虚拟机16可以分配在计算云10的两个以上不同的计算资源之间,虚拟机的数量可以不同于计算云10的不同计算资源的数量。
在某些示例中,两个以上的虚拟机16可以至少部分地使用相同的计算资源。例如,虚拟机16A可以在三个不同的服务器之间运行,而虚拟机16B可以在其上正在运行虚拟机16A的三个服务器中的一个服务器上运行。在某些示例中,计算云10的多个计算资源可以被配置为集群,提供额外的冗余和可扩展性,同时支持多个虚拟机。一般地,每个虚拟机16运行网络操作性的实例。通常,每个网络操作系统实例对应于在通信地耦接至计算云10的网络设备(例如,路由器12)上运行的操作系统。
一般地,路由器12互相交换路由信息,从而保持更新的网络的拓补结构的视图。例如,路由器12B从路由器12A接收包,并基于路由器12B保持的路由信息将包转发到下一个中继段,例如路由器12C。在本公开中描述的任务分配技术能够使每个路由器12最少地使用相应路由器12的计算资源来执行各种配置和管理任务(例如,执行路由协议,从而更新所存储的路由和转发信息),因而能够使相应路由器12的更多计算机资源用于转发包和执行其他延迟敏感的任务。
每个路由器12运行提供辅助在网络之间转发和路由包的某些功能的操作系统。各种不同的进程(有时被称为后台进程)在操作系统内执行或作为操作系统的一部分执行。示例进程包括控制机架及其部件的机架进程、配置和监控网络接口的设备控制进程(即,接口控制过程)、负责包传输的转发进程、管理进程、以及路由协议进程。管理进程提供在其他进程之间的通信,提供对配置数据库的接口,利用配置信息填充配置数据库,当通过路由器12的用户接口之一发布命令时还与其他进程交互,等等。路由协议进程规定了诸如路由信息协议(RIP)、开放最短路径优先(OSPF)协议、约束最短路径优先(CSPF)、虚拟专用局域网服务(VPLS)、以及边界网关协议(BGP)的路由协议在设备上如何工作,包括选择路由器和保持转发表。
如图1中所示,路由器12B包括虚拟机代理18。随着路由器12B执行可以卸荷到一个或多个虚拟机16的各种任务,虚拟机代理18管理路由器12B与计算云10之间的交互。例如,如果路由器12B更新路由器12B存储的网络图,那么网络图的生成和下一个中继段的计算可以卸荷到一个或多个虚拟机16。虚拟机代理18将消息发送到虚拟机管理器14(例如,利用链路20),请求由虚拟机管理器14管理的计算资源。
虚拟机管理器14管理发送到虚拟机16的任务,和存储有关虚拟机16的配置信息。在某些示例中,虚拟机16中的每一个均向虚拟机管理器14注册。在其他示例中,虚拟机管理器14主动询问计算云10,从而识别可用的虚拟机(例如,虚拟机16)。由虚拟机管理器14存储的确认信息包括在每个虚拟机16运行的操作系统版本。配置信息还可以包括每个虚拟机16所被配置执行的任务(例如,网络图生成、下一个中继段的确定等等)。
当虚拟机代理18将对计算资源的请求发送到虚拟机管理器14时,虚拟机管理器14确定计算云10是否具有可用于执行任务的资源。如果计算云10具有可用的计算资源,那么虚拟机管理器14将响应发送到路由器12B表明计算云10可以提供帮助。虚拟机代理18发送对包括在路由器12B运行并且任务路由器12B正在请求计算云10运行的版本操作系统的计算资源的特定请求。虚拟机管理器14识别虚拟机16中正在运行合适版本的操作系统的、具有执行所请求的任务的可用计算资源的、并且包括执行所请求任务所需的功能的一个虚拟机(例如,虚拟机16B)。一旦虚拟机管理器14识别到虚拟机16中的一个能够执行所请求的任务,虚拟机管理器14就将响应消息发送到虚拟机代理18,表明计算云10可以提供帮助。
虚拟机代理18生成并发送第二请求消息以发送到虚拟机管理器14。第二请求消息包括由路由器12B运行的至少一个操作系统版本和有关路由器12B正请求帮助的任务的信息。虚拟机管理器14接收第二请求消息并确定虚拟机16中是否有任何一个支持在请求消息中具体指定的操作系统版本并可以执行所请求的任务。为了识别合适的虚拟机16,虚拟机管理器14访问所存储的配置信息或将对配置信息的请求发送到至少一个虚拟机16(例如,虚拟机16B)。基于配置信息,虚拟机管理器14识别至少一个虚拟机16并在所识别的虚拟机16处建立套接字连接。虚拟机管理器14发送响应消息到包括套接字连接信息的虚拟机代理18。
在从虚拟机管理器14接收响应消息之后,虚拟机代理18将所需的配置信息与所标识的虚拟机16(例如,虚拟机16B)交换消息,而不与虚拟机管理器14交换额外的消息。利用套接字22,虚拟机代理18与虚拟机16B交换消息,从而使得虚拟机16B执行所请求的任务。
尽管以上描述的安装过程包括两个步骤(首先询问是否任何计算资源可用,然后提供具体的任务需求),在某些实例中,安装过程可以在单个步骤中执行。例如,虚拟机代理18可以将单个请求消息发送到虚拟机管理器14。单个请求消息包括在路由器12B运行的操作系统版本和有关计算云10要执行的任务的信息。虚拟机管理器14接收单个请求消息并确定计算云10内是否有足够的可用计算资源。如果没有足够的可用计算资源,那么虚拟机管理器14将指示这次计算云10不能为任务提供支持的响应消息发送到虚拟机代理18。如果存在足够的可用计算资源,那么虚拟机管理器14识别虚拟机16中正在运行相同版本的操作系统并能够执行所要求任务的一个虚拟机(例如,虚拟机16B)。然后,虚拟机管理器14在虚拟机16B处建立套接字(例如,创建具体的互联网协议(IP)地址和端口号)以供虚拟机代理18当交换执行任务所需的消息时使用,并发送包括该套接字信息的响应消息。虚拟机代理18可以开始利用套接字发送消息到虚拟机16B,以使虚拟机16B执行所请求的任务,而不需要在虚拟机代理18和虚拟机管理器14之间交换的额外的请求和响应消息。
在某些实施方式中,虚拟机管理器14可以包括与两个以上的不同虚拟机16相关联的套接字信息。在这些实施方式中,虚拟机代理18可以将任务分配为两个以上的不同的虚拟机16中的每个虚拟机执行至少一部分任务。然而,在某些实例中,尽管虚拟机代理18接收两个以上的不同虚拟机16的套接字信息,但是虚拟机代理18可以选择虚拟机16中的一个来执行整个任务和丢弃或忽略包括在其他虚拟机响应中的套接字信息。
在某些实例中,路由器12可以包括在网络的一个或多个不同的逻辑段中。例如,路由器12A和12B可以是第一逻辑段的一部分,而路由器12B、12C、和12D可以是第二逻辑段的一部分。根据本公开的技术,根据OSPF计算每个逻辑段的网络图和最短路径可以由虚拟机16中的不同虚拟机执行。也就是说,当路由器12B被配置为更新每个逻辑段的网络图时,虚拟机代理18可以建立到两个不同虚拟机16的套接字连接。利用两个不同的套接字连接,虚拟机代理18将第一逻辑段的第一组所接收链路状态消息发送到第一虚拟机16(例如,虚拟机16A)和将第二逻辑段的第二组所接收链路状态消息发送到第二虚拟机16(例如,虚拟机16B)。
用这种方式,本公开的技术能够使用虚拟机提供在一组转发设备(例如路由器12)中对计算资源的逻辑分割。根据需要,虚拟机可以被建立和分配在可用的计算云的计算资源间。每个虚拟机可以负责特定的功能,例如运行一组转发设备的特定路由协议或接口控制,而其他的虚拟机可以提供管理功能。此外,因为操作可以发生在每个虚拟机中,所以特定功能的多个实例可以同时由多个不同的虚拟机执行。也就是说,多个控制平面进程、数据平面进程、和管理平面进程各自利用单独的虚拟机。因此,本公开的技术能够通过更高级别的资源分割更高效地使用转发设备中存在的计算资源。此外,尽管关于执行路由和转发功能的路由器描述了本技术,但是本技术可以适用于包括第三层(“L3”)交换机、第二层(“L2”)交换机、L2/L3交换机、OpenFlow交换机、或其他网络设备的其他网络设备。在这些示例中,路由单元30不一定包括RP后台进程40,和作为替代将RP后台进程40功能卸荷到VM16。
图2是根据本公开的一个方面示出图1中所示的一部分网络系统的进一步细节的框图。如图2中所示,系统2包括计算云10、局域网(LAN)11、和路由器12B。路由器12B包括路由单元30、转发单元34、和交换结构36。交换结构36提供柔性物理接口卡(“PIC”)互连组集中器50A-50N(“FPC50”),每个集中器包括通过一组接口卡(“IFC”)54、56、和57分别发送和接收流量的至少一个包转发引擎52A-52N(“PFE52”),其中接口卡通常具有一个或多个物理网络接口(即,端口)。某些PFE52可以通过隧道PIC发送和接收流量。
FPC50、包括在FPC50内的部件、和交换结构36共同提供用于转发经过的网络流量的转发平面。尽管图2中未示出,但是PFE52可以各自包括中央处理单元(CPU)、存储器、和一个或多个可编程包转发专用集成电路(ASIC)。交换结构36提供用于在PFE52之间转发到来的数据包的高速互连,以便于网络上的传输。
路由单元30提供执行路由器12B的控制平面功能的各种协议的操作环境。例如,后台进程38除其他功能外,还包括运行网络管理软件、执行路由协议从而与对等路由器通信、保持和更新一个或多个路由表、以及产生用于到PFE52的安装的一个或多个转发表的用户级进程。在图2中所示的示例中,后台进程38包括路由协议(RP)后台进程40、管理(MGMT)后台进程42、和虚拟机(VM)代理18。在其他的实施方式中,后台进程38可以包括其他后台进程或软件模块,例如机架后台进程、配置后台进程、和设备控制后台进程。
后台进程38在内核32上工作并与内核32交互,其为用户级进程提供运行时间操作环境。内核32可以包括,例如,诸如Linux或伯克利软件套件(BSD)这样的UNIX操作系统衍生物,。一般地,内核32对应于特定版本的网络操作系统。内核32提供库和驱动程序,后台进程38通过库和驱动程序可以与基础系统进行交互。内核32包含内核级库,例如,套接字库,后台进程38和其他用户级进程或用户级库通过套接字库可以与PFE52进行交互。
路由协议后台进程40执行一个或多个内部和/或外部路由协议来与其他网络设备交换路由信息,将接收的信息存储在路由信息44中、和将提取的转发信息存储在转发信息46中。路由协议后台进程42将转发平面配置成实施包转发服务、增加/修改/删除路由路线、以及通过将表示转发信息46的转发结构安装在PFE52中修改包转发路径。
示出图2中所示的路由器12B的架构仅仅是为了进行说明。本发明不限于该架构。在其他的实施方式中,路由器12B可以通过多种方式配置。在一个实施方式中,例如,路由单元30的某些功能可以分配在PFE52内。路由单元30的操作环境可以单独以软件或硬件实施,或可以作为软件、硬件、或固件的组合实施。例如,路由单元30可以包括执行软件指令的一个或多个处理器。在该情况中,路由单元30可以包括在操作系统上执行的各种软件模块或后台进程,例如,后台进程38,并且可以包括用于存储可执行指令的永久性计算机可读存储设备,例如计算机存储器或硬盘驱动器。
路由单元30的硬件环境可以包括执行程序指令从而同时执行内核32和路由单元30的操作环境的一个或多个处理器(图2中未示出)。处理器可以包括一个或多个通用或专用处理器,例如数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、或任何其他等价的逻辑设备。因此,本文中所使用的术语“处理器”或“控制器”是指可操作地执行本文中所描述的技术的任何一个或多个前述结构或任何其他结构。
计算机可读存储介质可以包括随机存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(RPROM)、电可擦除可编程只读存储器(EEPROM)、非易失性随机存取存储器(NVRAM)、闪存、硬盘驱动器、CD-ROM、软盘、盒式磁带、固态驱动器、磁介质、光学介质、或其他计算机可读介质。计算机可读介质可以利用对应于路由器12B的各个方面(例如,协议)的指令编码。在某些示例中,对于这些方面,路由单元30从存储器检索和执行指令。
本公开的技术能够使路由器12B将管理任务、路由协议更新、或其他任务分配给在计算云10运行的虚拟机。举一个实例来说,路由器12B使用OSPF聚集来自可用路由器的链路状态信息并构造网络的拓补图。当路由器12B执行OSPF更新网络拓补而不实施本公开的任务分配技术时,在更新期间可以消耗路由器12B的大多数(例如,百分之八十)计算资源。然而,通过将至少一部分OSPF计算分配给一个或多个虚拟机16(如图1中所示),使用计算云10的计算资源,从而降低更新网络拓补所需的路由器12B的计算资源量。
为了更新网络拓补,通过与网络中的其他路由器交换链路状态通告消息,路由器12B周期性地识别路由器12B直接连接的所有其他节点(即,路由器)(例如,图1中所示的路由器12A、12C、和12D)。利用所接收的整个链路状态消息组,路由器12B通过对链路状态消息集合进行迭代产生网络图。对于每个接收的链路状态消息,路由器12B根据发送消息的路由器与该消息中被指示为是发送节点的相邻节点的所有路由器之间的网络图建立链路。
代替路由处理后台进程40本身对链路状态消息集合进行迭代并在路由单元30内生成图,虚拟机代理18识别计算云10中可以生成网络图的的虚拟机(例如,图1中所示的虚拟机16B)。在识别虚拟机的过程中,虚拟机代理发送消息到虚拟机管理器14(图1)请求对任务的协助。如果计算云10具有充足的可用计算资源,那么虚拟机管理器14发送表明计算云10可以有助于任务的响应。然后,虚拟机代理18发送包括在路由器12B运行的操作系统版本(例如,在路由单元30运行的内核32版本)的任务请求消息和有关该任务的特定信息(例如,根据OSPF更新网络拓补)。虚拟机管理器14确定任何虚拟机16是否合适地配置为执行具体的任务。如果存在合适配置的至少一个虚拟机16,那么虚拟机管理器14在虚拟机(例如,虚拟机16B)处建立套接字,并将响应消息发送到包括套接字信息的虚拟机代理18。
虚拟机代理18利用从虚拟机管理器14接收的套接字信息与每个已识别的虚拟机16交换消息。也就是说,一旦建立套接字,虚拟机代理18就可以与一个或多个虚拟机16进行通信,而无需通过虚拟机管理器14发送消息(例如,不需要虚拟机管理器14作为中继运行。继续进行根据OSPF更新网络图的示例,虚拟机代理18利用套接字将接收的链路状态消息发送到虚拟机16B。虚拟机16B对从虚拟机代理14接收的链路状态消息进行迭代并生成网络图。
一旦生成完整的图,虚拟机16B就计算路由器12B与网络中其他路由器之间的最短路径。在一个示例中,虚拟机代理18从虚拟机16B接收完整的图。通常,路由单元30,以及更具体地,路由协议后台进程40,将算法(例如,Dijkstra算法)应用于网络图,从而确定从路由器12B到网络中每个其他路由器的最短路径。根据本公开的技术,虚拟机代理18利用套接字将完整的网络图发送到虚拟机16B并请求虚拟机16B计算最短路径,因而释放路由器12B的计算资源来执行其他功能,例如包转发。在另一个示例中,虚拟机16B不发送完整的网络图到虚拟机代理18和/或不等待来自虚拟机代理18的额外指令,作为替代,一旦网络图生成进程完成,就自动地开始确定最短路径。为了计算最短路径,虚拟机16B生成含有网络中的所有路由器的树结构,并且将该树结构组织为:从路由器12B到任何其他路由器的最短路径由从树的根部(即,路由器12B)到期望的路由器进行遍历所得到的节点列表所指示。在已识别的虚拟机16计算最短路径之后,虚拟机16B将最短路径的完整树发送到虚拟机代理18。虚拟机代理18从虚拟机16B接收完整的树和将其传递到路由协议后台进程40。路由协议后台进程更新路由信息并基于所完成的树转发信息。
尽管关于根据OSPF计算网络图并确定到网络中其他路由器的最短路径描述本技术,但是本公开的技术可以应用于任何管理或其他任务,包括根据其他路由协议(例如,RGP、BGP、IS-IS、生成树协议等等)更新路由信息和执行各种管理任务。优选地,诸如在转发包期间确定下一个中继段这样的延迟敏感的任务将不分配给计算云10中的一个或多个虚拟机16。然而,可预期的是任何任务可以由通信地或可操作地耦接至路由器12B的一个或多个虚拟机16执行。
图3是根据本公开的一个方面示出示例计算云的框图。计算云10包括虚拟机管理器14和虚拟机16A-16N。在某些实施方式中,虚拟机管理器14是在一个虚拟机16内执行的软件进程。计算云10的计算资源可以包括服务器计算机、台式计算机、便携式计算机、或可以运行网络操作系统并执行与网络设备相关联的一个或多个任务的任何其他设备。在某些实例中,两个以上的虚拟机16可以至少部分地利用相同的计算资源。例如,虚拟机16A和16B可以同时在单个服务器上运行。单个虚拟机16可以在两个以上的不同的计算资源之间运行。举例来说,多个普通的成品计算机可以配置为集群。计算机集群可以运行单个虚拟机16,在支持多个虚拟机的同时,提供额外的冗余和可伸缩性。一般地,每个虚拟机16运行网络操作系统的实例、网络设备后台进程的实例(例如,管理后台进程)、和/或路由协议的实例(例如,OSPF、BGP、IS-IS等等)。
虚拟机管理器14包括CPU60和存储器62。虚拟机管理器14的CPU60被配置为执行存储在存储器62中的指令。存储器62可以包含一个或多个计算机可读介质,例如永久性计算机可读存储介质。这样的介质的示例包括RAM、ROM、NVRAM、EEPROM、闪存、和其他计算机可读存储介质。存储器62包括配置(CONFIG)数据64和虚拟机管理模块(VM MGMT MODULE)66。配置数据64是被配置为存储虚拟机16的配置信息的数据存储库的一个示例,包括虚拟机16中的每一个虚拟机的性能和配置。
在某些实施方式中,VM管理模块66是CPU60可执行的软件模块。一般地,当建立和终止每个虚拟机16时,VM管理模块66管理虚拟机16的注册。换句话说,VM管理模块66利用每个虚拟机16的配置信息更新配置数据64。例如,当实例化虚拟机16A时,虚拟机16A向虚拟机管理器14注册(例如,通过发送包括虚拟机16A上线的指示和虚拟机16A的配置和/或性能的消息)。VM管理模块66处理虚拟机注册并将性能(例如,在虚拟机运行的操作系统版本和在虚拟机执行的软件进程等等)存储在配置数据64中。响应一个正在终止(例如,关闭)的虚拟机16,VM管理模块66从配置数据64中移除特定虚拟机16的配置信息。
响应于虚拟机管理器14从网络设备(例如,图1的路由器12B)接收请求,VM管理模块66查询配置数据64以确定当前是否正在运行任何虚拟机。如果配置数据64中不存在虚拟机16的配置信息(即,当前没有虚拟机正在运行),那么VM管理模块66生成表明计算云10不能对路由器12B执行任务提供帮助的消息。如果配置数据64中存在至少一个虚拟机16的配置信息(即,至少一个虚拟机16正在运行),那么VM管理模块66生成表明计算云10具有可用计算资源和能够协助路由器12B执行任务的消息。在某些示例中,即使未运行虚拟机16,如果计算云10具有可用的计算资源,那么VM管理模块66生成表明计算云10可以协助路由器12B执行任务的消息。
在计算云10可以协助路由器12B执行任务的实例中,虚拟机管理器14从路由器12B接收特定的任务请求。特定的任务请求包括有关路由器12B正在请求协助的任务的细节和在路由器12B中运行的特定的网络操作系统版本。VM管理模块66查询配置数据64以确定是否有任何的虚拟机16被配置有与路由器12B所运行的网络操作系统相同版本的网络操作系统和完成所请求任务所需的合适进程、后台进程、或其他性能。
如果没有被合适地配置的虚拟机16或如果当前没有虚拟机16正在运行,那么VM管理模块66可以使一个新的虚拟机16被实例化为具有执行特定任务所需的配置。一般地,根据需要,虚拟机16产生和分布在计算云10的计算资源之间。两个以上的虚拟机16可以分别支持特定功能的实例(例如,OSPF、接口控制等等)。因此,路由器12B可以各自利用个体的虚拟机16访问多个控制平面、数据平面、和管理平面。
如果存在满足特定任务需求的至少一个虚拟机16(例如,虚拟机16A),那么VM管理模块66建立虚拟机16A的套接字。在存在满足特定任务需求的两个以上的不同的虚拟机16(例如,虚拟机16A和16B)的实例中,虚拟机管理模块66可以在虚拟机16A和16B建立套接字,并且将所有套接字信息传递回虚拟机代理18。如图3中所示,虚拟机16A包括链路状态路由协议70和路由协议(RP)后台进程72。相似地,虚拟机16B包括链路状态路由协议80和路由协议(RP)后台进程82。在图3的示例中,虚拟机16A和16B可以同时协助链路状态路由协议计算(例如,OSPF、IS-IS等等)。
在识别到两个以上的虚拟机16(例如,虚拟机16A和16B)和特定任务正在执行OSPF计算的实例中,每个虚拟机可以接收一部分所接收的链路状态消息,以使虚拟机16A对第一部分的链路状态消息进行迭代并返回网络的局部图,而虚拟机16B对第二部分的链路状态消息进行迭代并返回网络的另一个局部图。在某些实例中,虚拟机16A和16B中的任一个都可以与请求一起从虚拟机代理18(图2)接收两个局部图并基于这两个局部图生成完整图。相似地,虚拟机16A和16B中的每个虚拟机可以执行最短路径计算的一部分。
在某些实施方式中,计算云10支持开放式虚拟机主机基础结构集成第三方虚拟机。在这些实施方式中,第三方虚拟机不是本地网络操作系统的一部分。为了能够在虚拟机16和第三方虚拟机之间进行通信,第三方虚拟机被视为单独的设备,利用应用程序编程接口(API)与本地虚拟机进行通信。第三方虚拟机可以提供本地虚拟机不支持的额外功能。
图4是根据本公开的一个方面示出在虚拟机之间分配网络设备任务的示例过程的流程图。为了简洁起见,将关于图1的系统2和图2的路由器12B描述图4中所示的进程。尽管下面关于路由器和路由协议进行描述,但是本公开的技术的其他实施方式可以使用其他网络设备和其他进程、后台进程、或网络协议。
路由器12B确定需要完成的一个或多个任务,虚拟机代理18发送请求到计算云10确定计算云10是否能够执行至少一部分任务(100)。在某些实施方式中,路由器12B和虚拟机管理器14利用两级设置进程来建立路由器12B和一个或多个虚拟机16之间的连接。在这些实施方式中,初始请求消息是确定计算云10是否具有任何可用计算资源的请求。虚拟机管理器14接收请求(102)和确定当前是否有任何虚拟机16正在运行和/或虚拟机管理器14是否可以实例化计算云10内的任何其他的虚拟机。虚拟机管理器14向路由器12B发送表明在计算云10内是否有可用资源的响应消息(104)。
虚拟机代理18从虚拟机管理器14接收响应消息(106)。如果响应消息表明计算云10中不存在可用的计算资源,那么虚拟机代理18终止设置过程并且路由器12B执行任务。如果响应消息表明计算云10中存在可用计算资源,那么虚拟机代理18生成包括在路由器12B运行的网络操作系统版本和所请求任务的细节的第二请求消息。在路由器12B和虚拟机管理器14利用单步设置进程建立路由器12B与一个或多个虚拟机16之间的连接的实施方式中,从路由器12B发送到虚拟机管理器14的初始请求消息对应于第二请求消息。也就是说,在这些实施方式中,路由器12B可以跳过在确定计算云10是否具有充足可用的计算资源帮助执行任务的过程中使用的初始请求消息。虚拟机代理18将第二请求消息发送到虚拟机管理器14(108)。
虚拟机管理器14接收第二请求消息(110)和识别具有相同版本的网络操作系统且能够执行任务的一个或多个虚拟机16(112)。一个或多个当前运行的虚拟机16可以被配置有执行任务所需版本的网络操作系统和所需的进程、后台进程、或其他性能。然而,如果没有虚拟机16满足第二需求消息中具体指定的需求,那么虚拟机管理器14可以实例化满足需求且可以执行所请求的任务的新的虚拟机16。响应于识别可以进行所请求任务的一个或多个虚拟机16,虚拟机管理器14在一个或多个所识别的虚拟机16中的每个虚拟机处建立套接字连接并将套接字信息发送到路由器12B(114)。
响应于接收套接字信息(116),虚拟机代理18利用套接字信息将特定的任务信息(例如,链路状态消息、配置信息等等)发送到一个或多个所识别的虚拟机16(118)。每个所识别的虚拟机16接收任务信息(120)并进行完成任务所需的操作(122)。在完成任务之后,相应的所识别的虚拟机16利用套接字将任务结果发送到虚拟机代理18。虚拟机代理18接收任务的结果(124),路由器12B应用任务的结果(例如,路由单元30基于该结果更新路由信息44)。
根据本公开的技术配置的网络设备可以包括被配置为发送和接收消息的至少一个网络接口、包括被配置为运行一个版本的网络操作系统的一个或多个处理器的路由单元、以及虚拟机代理,其中,该虚拟机代理被配置为:识别在通信耦接至该网络设备的计算云处运行的虚拟机,其中所识别的虚拟机运行所述版本的网络操作系统的实例;利用至少一个网络接口将执行任务的请求发送到虚拟机;以及利用至少一个网络接口从虚拟机接收包括执行任务的结果的任务响应,其中,路由单元被配置为基于包括在任务响应中的结果更新网络设备。
在某些示例中,虚拟机是第一虚拟机,所述版本的操作系统的实例是在第一虚拟机中运行的操作系统的第一实例,任务是第一任务,任务响应是第一任务响应。在这些示例中,虚拟机代理被配置为识别在计算云运行的第二虚拟机,其中第二虚拟机运行所述版本的网络操作系统第二实例,并且其中第一虚拟机和第二虚拟机是不同的虚拟机,将执行第二任务的请求发送到第二虚拟机,从第二虚拟机接收包括执行第二任务的结果的第二任务响应,路由单元被配置为基于第一任务响应和第二任务响应更新网络设备。
在某些实例中,第一任务是第三任务的第一部分,并且其中,第二任务是第三任务的第二部分。
在某些示例中,虚拟机代理被配置为:将对计算资源的请求发送到虚拟机管理器,其中,请求包括对在网络设备运行的网络操作系统的版本的指示和对要执行的任务的指示;从虚拟机管理器接收响应,其中,响应包括对套接字的指示,通过该套接字,虚拟机是可到达的(可直接通信的,reachable);利用套接字将任务请求发送到虚拟机;以及利用套接字从虚拟机接收任务响应。
在某些示例中,对计算资源的请求是第二请求,响应是第二响应,虚拟机代理被配置为:在发送对计算资源的第二请求之前将对于计算资源的第一请求发送到虚拟机管理器,以确定计算云是否具有可用资源执行任务;接收表明计算云是否具有可用计算资源的第一响应;基于第一响应确定计算云是否具有可用资源;以及响应于确定计算云具有可用计算资源,将对计算资源的第二请求发送到虚拟机管理器。
在某些示例中,任务与在路由单元执行的路由协议相关联,其中,路由协议是开放式最短路径优先、生成树协议、边界网关协议、中间系统对中间系统协议、虚拟专用局域网服务、和资源预留协议中的一个。
在某些实例中,存储器被配置为存储配置信息、转发信息、和路由信息中的至少一个,路由单元基于包括在任务响应中的结果更新配置信息、转发信息、和路由信息中的至少一个。
在某些示例中,虚拟机是在计算云处运行的多个虚拟机中的一个,其中,多个虚拟机的至少一个子集被配置为执行路由协议、接口控制进程、管理进程、和机架进程中的一个或多个。
本公开中描述的技术可以至少部分地被实现为硬件、软件、固件或其组合。例如,所描述的技术的各种方面可以被实现在一个或多个处理器中,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成或分布式逻辑电路,以及这些部件的任意组合。术语“处理器”或“处理电路”一般可以指任何前述的逻辑电路、单独或与其他逻辑电路组合、或任何其他等效电路。包括硬件的控制单元还可以执行一个或多个本公开的技术。
这样的硬件、软件、和固件可以实现在相同设备内或单独设备内以支持本公开中描述的各种操作和功能。此外,任何所描述的单元、模块、或部件可以实施在一起或单独地作为离散但可共用的逻辑设备。描述作为模块或单元的不同特征是为了突出不同的功能方面,不一定意味着这些模块或单元必须通过单独的硬件或软件部件实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件部件执行,或集成在共同的或单独的硬件或软件部件内。
本公开中描述的技术还可以体现或编码在含有指令的计算机可读介质上,例如计算机可读存储介质。例如,当执行指令时,内嵌或编码在计算机可读介质中的指令可以使得可编程处理器、或其他处理器执行方法。计算机可读存储介质可以包括随机存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(RPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘驱动器、CD-ROM、软盘、盒式磁带、磁介质、光学介质、或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”是指物理存储介质、(例如,非易失性介质)而非信号、载波、或其他传输介质。
已经描述了各种实施方式。这些实施方式和其他实施方式都在所附权利要求的保护范围内。
Claims (10)
1.一种方法,包括:
通过路由器运行一个版本的网络操作系统;
利用在所述路由器运行的虚拟机代理识别在通信耦接至所述路由器的计算云处运行的虚拟机,其中,所识别的虚拟机运行所述版本的网络操作系统的实例;
利用所述虚拟机代理将执行任务的请求发送到所述虚拟机;
利用所述虚拟机代理从所述虚拟机接收包括执行所述任务的结果的任务响应;以及
基于所述任务响应中所包括的结果更新所述路由器。
2.根据权利要求1所述的方法,其中,所述虚拟机是第一虚拟机,其中,所述版本的网络操作系统的所述实例是在所述第一虚拟机运行的所述网络操作系统的第一实例,其中,所述任务是网路的第一逻辑段的第一任务,并且其中,所述任务响应是第一任务响应,所述方法还包括:
利用在所述路由器处运行的所述虚拟机代理识别在所述计算云运行的第二虚拟机,其中,所述第二虚拟机运行所述版本的网络操作系统的第二实例,并且其中,所述第一虚拟机和第二虚拟机是不同的虚拟机;
利用所述虚拟机代理将执行第二任务的请求发送到所述第二虚拟机,其中,所述第二任务用于所述网络的第二逻辑段;以及
利用所述虚拟机代理从所述虚拟机接收包括执行所述第二任务的结果的第二任务响应,
其中,更新所述路由器的步骤包括:基于包括在所述第一任务响应中的结果和包括在所述第二任务响应中的结果来更新所述路由器。
3.根据权利要求2所述的方法,其中,所述第一任务是第三任务的第一子任务,并且其中,所述第二任务是所述第三任务的第二子任务。
4.根据权利要求1至3中的任一项所述的方法,其中,识别所述虚拟机包括:
利用在所述路由器处运行的所述虚拟机代理将对计算资源的请求发送到虚拟机管理器,其中,所述请求包括对所述网络操作系统的版本的指示和对要执行的任务的指示;以及
利用所述虚拟机代理从所述虚拟机管理器接收响应,所述响应包括对套接字的指示,通过所述套接字,所述虚拟机是可到达的,
其中,利用所述虚拟机代理将所述任务请求发送到所述虚拟机包括:利用所述套接字将所述任务请求发送到所述虚拟机,以及
其中,利用所述虚拟机代理从所述虚拟机接收所述任务响应包括:利用所述套接字接收所述任务响应。
5.根据权利要求4所述的方法,其中,对计算资源的所述请求是第二请求,其中,所述响应是第二响应,以及其中,识别所述虚拟机的步骤包括:
在发送对计算资源的所述第二请求之前,利用所述虚拟机代理将对计算资源的第一请求发送到所述虚拟机管理器,以确定所述计算云是否具有执行所述任务的可用计算资源;并且
利用所述虚拟机代理接收表明所述计算云是否具有可用计算资源的第一响应;以及
利用所述虚拟机代理基于所述第一响应确定所述计算云是否具有可用的计算资源,
其中,响应于确定所述计算云具有可用的计算资源,将对计算资源的所述第二请求发送到所述虚拟机管理器。
6.根据权利要求1到3中的任一项所述的方法,其中,所述任务与在所述路由器执行的路由协议相关联,其中,所述路由协议是开放式最短路径优先、生成树协议、边界网关协议、中间系统对中间系统协议和虚拟专用局域网服务中的一个。
7.根据权利要求1到3中的任一项所述的方法,其中,更新所述路由器包括基于包括在所述任务响应中的结果更新存储在所述路由器处的更新配置信息、转发信息和路由信息中的至少一个。
8.根据权利要求1到3中的任一项所述的方法,其中,所述虚拟机是在所述计算云运行的多个虚拟机中的一个,并且其中,所述多个虚拟机的至少一个子集被配置为执行路由协议、接口控制进程、管理进程和机架进程中的一个或多个。
9.一种路由器,包括:
至少一个网络接口,被配置为发送和接收消息;
路由单元,包括被配置为运行一个版本的网络操作系统的一个或多个处理器;以及
虚拟机代理,被配置为:识别在通信耦接至所述路由器的计算云处运行的虚拟机,其中,所识别的虚拟机运行所述版本的网络操作系统的实例;利用所述至少一个网络接口将执行任务的请求发送至所述虚拟机,以及利用所述至少一个网络接口从所述虚拟机接收包括执行所述任务的结果的任务响应,
其中,所述路由单元被配置为基于包括在所述任务响应中的结果来更新所述路由器。
10.根据权利要求9所述的路由器,进一步包括用于执行根据权利要求1到8中的任一项所述方法的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810071965.8A CN108124018B (zh) | 2012-06-26 | 2013-06-24 | 分布式处理网络设备任务的方法与虚拟机管理器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/533,780 US10031782B2 (en) | 2012-06-26 | 2012-06-26 | Distributed processing of network device tasks |
US13/533,780 | 2012-06-26 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810071965.8A Division CN108124018B (zh) | 2012-06-26 | 2013-06-24 | 分布式处理网络设备任务的方法与虚拟机管理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103516782A CN103516782A (zh) | 2014-01-15 |
CN103516782B true CN103516782B (zh) | 2018-02-09 |
Family
ID=48463733
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810071965.8A Active CN108124018B (zh) | 2012-06-26 | 2013-06-24 | 分布式处理网络设备任务的方法与虚拟机管理器 |
CN201310253577.9A Active CN103516782B (zh) | 2012-06-26 | 2013-06-24 | 网络设备任务的分布式处理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810071965.8A Active CN108124018B (zh) | 2012-06-26 | 2013-06-24 | 分布式处理网络设备任务的方法与虚拟机管理器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10031782B2 (zh) |
EP (1) | EP2680144A3 (zh) |
CN (2) | CN108124018B (zh) |
Families Citing this family (157)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
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 |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
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 |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
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 |
US10031782B2 (en) | 2012-06-26 | 2018-07-24 | Juniper Networks, Inc. | Distributed processing of network device tasks |
US9912517B1 (en) | 2012-08-23 | 2018-03-06 | Amazon Technologies, Inc. | Optimized deployment and execution of programs in a distributed computing environment |
US9588788B1 (en) * | 2012-08-23 | 2017-03-07 | Amazon Technologies, Inc. | Optimized communication between program components executing in virtual machines |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9582132B1 (en) * | 2012-11-20 | 2017-02-28 | BoomerSurf LLC | System for interactive help |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US8953439B1 (en) | 2012-12-31 | 2015-02-10 | Juniper Networks, Inc. | Separation of control plane functions using virtual machines in network device |
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
US10749711B2 (en) | 2013-07-10 | 2020-08-18 | Nicira, Inc. | Network-link method useful for a last-mile connectivity in an edge-gateway multipath system |
US20150100670A1 (en) * | 2013-10-04 | 2015-04-09 | International Business Machines Corporation | Transporting multi-destination networking traffic by sending repetitive unicast |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
CN104270464A (zh) * | 2014-10-22 | 2015-01-07 | 西安未来国际信息股份有限公司 | 一种云计算虚拟化网络架构及优化方法 |
US10516733B2 (en) | 2014-11-25 | 2019-12-24 | Auth0, Inc. | Multi-tenancy via code encapsulated in server requests |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US20160285970A1 (en) * | 2015-03-27 | 2016-09-29 | International Business Machines Corporation | Network communication between virtual machine applications via direct memory access |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US10425382B2 (en) | 2015-04-13 | 2019-09-24 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US20180278679A1 (en) * | 2015-10-02 | 2018-09-27 | Idac Holdings, Inc. | Methods, Apparatus and Systems For Information-Centric Networking (ICN) Based Surrogate Server Management Under Dynamic Conditions And Varying Constraints |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10212035B2 (en) | 2016-04-27 | 2019-02-19 | At&T Intellectual Property I, L.P. | Message flow management for virtual networks |
US11169706B2 (en) | 2016-05-26 | 2021-11-09 | Nutanix, Inc. | Rebalancing storage I/O workloads by storage controller selection and redirection |
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 |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
CN107733801B (zh) * | 2016-08-11 | 2021-01-29 | 华为技术有限公司 | 接收和发送报文的方法及设备 |
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 |
US10298491B2 (en) * | 2016-08-25 | 2019-05-21 | Cisco Technology, Inc. | Efficient path detection and validation between endpoints in large datacenters |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10095550B2 (en) | 2016-10-19 | 2018-10-09 | International Business Machines Corporation | Performance-based reallocating of logical processing units to sockets of a computer system |
CN107979630B (zh) * | 2016-10-25 | 2020-04-03 | 新华三技术有限公司 | 一种信息获取方法及装置 |
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 |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US10992558B1 (en) | 2017-11-06 | 2021-04-27 | Vmware, Inc. | Method and apparatus for distributed data network traffic optimization |
US11252079B2 (en) | 2017-01-31 | 2022-02-15 | Vmware, Inc. | High performance software-defined core network |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US11121962B2 (en) | 2017-01-31 | 2021-09-14 | Vmware, Inc. | High performance software-defined core network |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10979328B2 (en) * | 2017-03-31 | 2021-04-13 | Intel Corporation | Resource monitoring |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US10659352B2 (en) | 2017-05-31 | 2020-05-19 | Juniper Networks, Inc. | Signaling private context forwarding tables for a private forwarding layer |
US10476817B2 (en) * | 2017-05-31 | 2019-11-12 | Juniper Networks, Inc. | Transport LSP setup using selected fabric path between virtual nodes |
US10291554B1 (en) * | 2017-06-02 | 2019-05-14 | Juniper Networks, Inc. | Hybrid network function virtualization |
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 |
US10445140B1 (en) * | 2017-06-21 | 2019-10-15 | Amazon Technologies, Inc. | Serializing duration-limited task executions in an on demand code execution system |
US10725826B1 (en) * | 2017-06-21 | 2020-07-28 | Amazon Technologies, Inc. | Serializing duration-limited task executions in an on demand code execution system |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10999165B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud |
US11089111B2 (en) | 2017-10-02 | 2021-08-10 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US11516049B2 (en) | 2017-10-02 | 2022-11-29 | Vmware, Inc. | Overlay network encapsulation to forward data message flows through multiple public cloud datacenters |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US11048538B2 (en) * | 2018-02-26 | 2021-06-29 | Amazon Technologies, Inc. | Autonomous cell-based control plane for scalable virtualized computing |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US11409569B2 (en) * | 2018-03-29 | 2022-08-09 | Xilinx, Inc. | Data processing system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
CN110728363B (zh) * | 2018-06-29 | 2022-11-18 | 华为技术有限公司 | 任务处理方法和装置 |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
GB2576944A (en) * | 2018-09-07 | 2020-03-11 | Metaswitch Networks Ltd | Packet processing |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11343133B2 (en) * | 2018-10-04 | 2022-05-24 | T-Mobile Usa, Inc. | Virtual SNMP trap receiver |
US10922142B2 (en) | 2018-10-31 | 2021-02-16 | Nutanix, Inc. | Multi-stage IOPS allocation |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
CN111381956B (zh) * | 2018-12-28 | 2024-02-27 | 杭州海康威视数字技术股份有限公司 | 一种任务处理的方法、装置及云分析系统 |
US10872069B2 (en) * | 2019-01-22 | 2020-12-22 | Commvault Systems, Inc. | File indexing for virtual machine backups in a data storage management system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11398895B2 (en) * | 2019-03-26 | 2022-07-26 | International Business Machines Corporation | Information management in a decentralized database including a fast path service |
US11418322B2 (en) | 2019-03-26 | 2022-08-16 | International Business Machines Corporation | Information management in a decentralized database including a fast path service |
US11321185B2 (en) * | 2019-04-30 | 2022-05-03 | EMC IP Holding Company LLC | Method to detect and exclude orphaned virtual machines from backup |
US11095528B2 (en) * | 2019-05-09 | 2021-08-17 | International Business Machines Corporation | Identity network onboarding based on confidence scores |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11018995B2 (en) | 2019-08-27 | 2021-05-25 | Vmware, Inc. | Alleviating congestion in a virtual network deployed over public clouds for an entity |
CN112491940B (zh) * | 2019-09-12 | 2024-05-24 | 北京京东振世信息技术有限公司 | 代理服务器的请求转发方法及装置、存储介质及电子设备 |
CN112637088B (zh) * | 2019-09-24 | 2023-06-23 | 阿里巴巴集团控股有限公司 | 网络系统、网络处理方法和装置、电子设备以及计算机可读存储介质 |
US11044190B2 (en) | 2019-10-28 | 2021-06-22 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US20210234804A1 (en) | 2020-01-24 | 2021-07-29 | Vmware, Inc. | Accurate traffic steering between links through sub-path path quality metrics |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11245641B2 (en) | 2020-07-02 | 2022-02-08 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US20220188171A1 (en) * | 2020-12-16 | 2022-06-16 | Marvell Asia Pte Ltd | System and Method for User Devices in Cloud Computing Environment |
US11929903B2 (en) | 2020-12-29 | 2024-03-12 | VMware LLC | Emulating packet flows to assess network links for SD-WAN |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US11509571B1 (en) | 2021-05-03 | 2022-11-22 | Vmware, Inc. | Cost-based routing mesh for facilitating routing through an SD-WAN |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937438B1 (en) * | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
CN102457439A (zh) * | 2011-12-07 | 2012-05-16 | 中标软件有限公司 | 一种云计算系统的虚拟交换系统及其虚拟交换方法 |
Family Cites Families (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715174A (en) | 1994-11-15 | 1998-02-03 | Absolute Software Corporation | Security apparatus and method |
US6069889A (en) | 1996-10-02 | 2000-05-30 | International Business Machines Corporation | Aggregation of data flows on switched network paths |
US6266704B1 (en) | 1997-05-30 | 2001-07-24 | The United States Of America As Represented By The Secretary Of The Navy | Onion routing network for securely moving data through communication networks |
US6339595B1 (en) | 1997-12-23 | 2002-01-15 | Cisco Technology, Inc. | Peer-model support for virtual private networks with potentially overlapping addresses |
US7307990B2 (en) | 1999-01-19 | 2007-12-11 | Cisco Technology, Inc. | Shared communications network employing virtual-private-network identifiers |
US6594268B1 (en) | 1999-03-11 | 2003-07-15 | Lucent Technologies Inc. | Adaptive routing system and method for QOS packet networks |
US6701432B1 (en) | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
US6775280B1 (en) | 1999-04-29 | 2004-08-10 | Cisco Technology, Inc. | Methods and apparatus for routing packets using policy and network efficiency information |
US6735702B1 (en) | 1999-08-31 | 2004-05-11 | Intel Corporation | Method and system for diagnosing network intrusion |
US7298693B1 (en) | 1999-10-21 | 2007-11-20 | Tellabs Operations, Inc. | Reverse notification tree for data networks |
US7190698B2 (en) | 2000-04-13 | 2007-03-13 | Operax Ab | Network optimisation method |
US7215637B1 (en) | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US6938095B2 (en) | 2000-06-28 | 2005-08-30 | Pluris, Inc. | Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes |
US7298704B2 (en) * | 2000-07-06 | 2007-11-20 | Lucent Technologies Inc. | Dynamic path routing with service level guarantees in optical networks |
DE60130844T2 (de) * | 2000-08-29 | 2008-07-17 | International Business Machines Corp. | Autonomes OSPF-System mit einem in zwei Teilbereiche getrennten Hauptnetz |
WO2002019634A1 (en) | 2000-08-31 | 2002-03-07 | Netrake Corporation | Method for enforcing service level agreements |
US7120931B1 (en) | 2000-08-31 | 2006-10-10 | Cisco Technology, Inc. | System and method for generating filters based on analyzed flow data |
US7080161B2 (en) | 2000-10-17 | 2006-07-18 | Avaya Technology Corp. | Routing information exchange |
US6910148B1 (en) | 2000-12-07 | 2005-06-21 | Nokia, Inc. | Router and routing protocol redundancy |
US6973023B1 (en) | 2000-12-30 | 2005-12-06 | Cisco Technology, Inc. | Method for routing information over a network employing centralized control |
US7301899B2 (en) | 2001-01-31 | 2007-11-27 | Comverse Ltd. | Prevention of bandwidth congestion in a denial of service or other internet-based attack |
US20020165962A1 (en) * | 2001-02-28 | 2002-11-07 | Alvarez Mario F. | Embedded controller architecture for a modular optical network, and methods and apparatus therefor |
US7136374B1 (en) | 2001-03-19 | 2006-11-14 | Juniper Networks, Inc. | Transport networks supporting virtual private networks, and configuring such networks |
US7139242B2 (en) | 2001-03-28 | 2006-11-21 | Proficient Networks, Inc. | Methods, apparatuses and systems facilitating deployment, support and configuration of network routing policies |
US7292586B2 (en) | 2001-03-30 | 2007-11-06 | Nokia Inc. | Micro-programmable protocol packet parser and encapsulator |
US7120118B2 (en) * | 2001-10-18 | 2006-10-10 | Intel Corporation | Multi-path analysis for managing machine communications in a network |
WO2003043246A1 (en) | 2001-10-24 | 2003-05-22 | Larson Mykel G | System and method for transmitting and storing data using an enhanced encoding system |
US7330435B2 (en) * | 2001-11-29 | 2008-02-12 | Iptivia, Inc. | Method and system for topology construction and path identification in a routing domain operated according to a link state routing protocol |
US7139278B2 (en) | 2001-12-21 | 2006-11-21 | Nortel Networks Limited | Routing traffic in a communications network |
US7184434B2 (en) | 2002-03-28 | 2007-02-27 | Tropic Networks Inc. | Label distribution protocol supporting multiple classes of service in a multi protocol label switching (MPLS) network, methods and MPLS network using thereof |
US7412701B1 (en) * | 2002-04-22 | 2008-08-12 | Cisco Technology, Inc. | Method for network management using a virtual machine in a network device |
US20030212900A1 (en) | 2002-05-13 | 2003-11-13 | Hsin-Yuo Liu | Packet classifying network services |
US7292535B2 (en) * | 2002-05-23 | 2007-11-06 | Chiaro Networks Ltd | Highly-available OSPF routing protocol |
US8281400B1 (en) | 2002-07-23 | 2012-10-02 | Juniper Networks, Inc. | Systems and methods for identifying sources of network attacks |
US7299296B1 (en) | 2002-09-18 | 2007-11-20 | Juniper Networks, Inc. | Filtering data flows based on associated forwarding tables |
US7133915B2 (en) * | 2002-10-10 | 2006-11-07 | International Business Machines Corporation | Apparatus and method for offloading and sharing CPU and RAM utilization in a network of machines |
US7769873B1 (en) | 2002-10-25 | 2010-08-03 | Juniper Networks, Inc. | Dynamically inserting filters into forwarding paths of a network device |
US7467227B1 (en) | 2002-12-31 | 2008-12-16 | At&T Corp. | System using policy filter decision to map data traffic to virtual networks for forwarding the traffic in a regional access network |
US7382769B1 (en) | 2003-02-07 | 2008-06-03 | Juniper Networks, Inc. | Automatic filtering to prevent network attacks |
US8078758B1 (en) | 2003-06-05 | 2011-12-13 | Juniper Networks, Inc. | Automatic configuration of source address filters within a network device |
US7421487B1 (en) | 2003-06-12 | 2008-09-02 | Juniper Networks, Inc. | Centralized management of quality of service (QoS) information for data flows |
US7634582B2 (en) | 2003-12-19 | 2009-12-15 | Intel Corporation | Method and architecture for optical networking between server and storage area networks |
JP4829474B2 (ja) | 2004-01-30 | 2011-12-07 | 富士通株式会社 | ネットワーク制御装置およびそのパス制御方法 |
US7860097B1 (en) * | 2004-02-13 | 2010-12-28 | Habanero Holdings, Inc. | Fabric-backplane enterprise servers with VNICs and VLANs |
US7773596B1 (en) | 2004-02-19 | 2010-08-10 | Juniper Networks, Inc. | Distribution of traffic flow criteria |
US7606235B1 (en) | 2004-06-03 | 2009-10-20 | Juniper Networks, Inc. | Constraint-based label switched path selection within a computer network |
US8717899B2 (en) | 2004-10-13 | 2014-05-06 | Cisco Technology, Inc. | System and method for reporting out-of-resources (OOR) conditions in a data network |
US7512063B2 (en) | 2004-12-14 | 2009-03-31 | Cisco Technology, Inc. | Border router protection with backup tunnel stitching in a computer network |
US8713180B2 (en) * | 2005-06-22 | 2014-04-29 | Cisco Technology, Inc. | Zero-copy network and file offload for web and application servers |
US7567577B2 (en) * | 2005-06-28 | 2009-07-28 | Cisco Technology, Inc. | Link state advertisements specifying dynamic routing metrics and associated variation metrics and selective distribution thereof |
GB0517304D0 (en) * | 2005-08-23 | 2005-10-05 | Netronome Systems Inc | A system and method for processing and forwarding transmitted information |
US8166474B1 (en) * | 2005-09-19 | 2012-04-24 | Vmware, Inc. | System and methods for implementing network traffic management for virtual and physical machines |
US7551627B2 (en) * | 2005-11-18 | 2009-06-23 | At&T Intellecutal Property I, L.P. | Offloading routing functions from network routers |
US7937054B2 (en) | 2005-12-16 | 2011-05-03 | Honeywell International Inc. | MEMS based multiband receiver architecture |
US8441919B2 (en) | 2006-01-18 | 2013-05-14 | Cisco Technology, Inc. | Dynamic protection against failure of a head-end node of one or more TE-LSPs |
US8458753B2 (en) | 2006-02-27 | 2013-06-04 | Time Warner Cable Enterprises Llc | Methods and apparatus for device capabilities discovery and utilization within a content-based network |
US7814495B1 (en) * | 2006-03-31 | 2010-10-12 | V Mware, Inc. | On-line replacement and changing of virtualization software |
US8451846B1 (en) | 2006-04-19 | 2013-05-28 | Juniper Networks, Inc. | LSP hierarchy for MPLS networks |
US7613847B2 (en) * | 2006-05-16 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Partially virtualizing an I/O device for use by virtual machines |
US8483123B2 (en) | 2006-06-30 | 2013-07-09 | Nokia Corporation | QoS request and information distribution for wireless relay networks |
US7929524B2 (en) * | 2006-09-29 | 2011-04-19 | Cisco Technology, Inc. | Apparatus and method to hide transit only multi-access networks in OSPF |
KR100842285B1 (ko) | 2006-12-08 | 2008-06-30 | 한국전자통신연구원 | 액세스 네트워크에서의 자원 관리 및 호 수락 제어 시스템및 그 방법 |
KR101443939B1 (ko) * | 2007-01-26 | 2014-09-23 | 퀄컴 인코포레이티드 | 통신 소켓 상태 모니터링 시스템 및 방법들 |
US8555081B2 (en) * | 2007-10-30 | 2013-10-08 | Vmware, Inc. | Cryptographic multi-shadowing with integrity verification |
US8929364B2 (en) | 2007-11-06 | 2015-01-06 | Avaya Inc. | Supporting BGP based IP-VPN in a routed network |
US8953486B2 (en) | 2007-11-09 | 2015-02-10 | Cisco Technology, Inc. | Global auto-configuration of network devices connected to multipoint virtual connections |
US7940753B2 (en) * | 2007-11-29 | 2011-05-10 | Alcatel Lucent | Enhancing routing optimality in IP networks requiring path establishment |
CN100573456C (zh) * | 2007-12-10 | 2009-12-23 | 华中科技大学 | 一种并行多处理器虚拟机系统 |
WO2009115726A1 (fr) | 2008-03-04 | 2009-09-24 | France Telecom | Technique pour determiner un arbre point a multipoint reliant un noeud racine a une pluralite de noeuds feuilles |
GB2458154B (en) * | 2008-03-07 | 2012-06-27 | Hewlett Packard Development Co | Routing across a virtual network |
US7801137B2 (en) | 2008-03-11 | 2010-09-21 | Cisco Technology, Inc. | Receiver-based construction of point-to-multipoint trees using path computation elements in a computer network |
US8259584B2 (en) | 2008-03-18 | 2012-09-04 | Cisco Technology, Inc. | Dynamic reroute of network traffic |
US8339959B1 (en) | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
CN101593136B (zh) * | 2008-05-30 | 2012-05-02 | 国际商业机器公司 | 使得计算机具有高可用性的方法和计算机系统 |
JP5062845B2 (ja) | 2008-06-30 | 2012-10-31 | 日本電信電話株式会社 | 経路切替方法、サーバ装置、境界ノード装置、経路切替システム及び経路切替プログラム |
CN101419558A (zh) * | 2008-11-13 | 2009-04-29 | 湖南大学 | Cuda图形子系统虚拟化方法 |
US8572251B2 (en) * | 2008-11-26 | 2013-10-29 | Microsoft Corporation | Hardware acceleration for remote desktop protocol |
WO2010104434A1 (en) * | 2009-03-12 | 2010-09-16 | Telefonaktiebolaget L M Ericsson (Publ) | Global provisioning of zero-bandwidth traffic engineering label switched paths |
US8139492B1 (en) | 2009-06-09 | 2012-03-20 | Juniper Networks, Inc. | Local forwarding bias in a multi-chassis router |
US9210065B2 (en) * | 2009-06-22 | 2015-12-08 | Alcatel Lucent | Providing cloud-based services using dynamic network virtualization |
US8954487B2 (en) | 2009-06-23 | 2015-02-10 | Samsung Electronics Co., Ltd. | Management server and method for providing cloud computing service |
US10210008B2 (en) | 2009-07-31 | 2019-02-19 | Nec Corporation | Control server, service providing system, and method of providing a virtual infrastructure |
US8255525B2 (en) | 2009-08-19 | 2012-08-28 | International Business Machines Corporation | System and method for circuit and path based event correlation |
US20110078230A1 (en) | 2009-09-25 | 2011-03-31 | Emilio Sepulveda | Method and system for providing a cdn with granular quality of service |
US8233387B2 (en) | 2009-11-06 | 2012-07-31 | Telefonaktiebolaget L M Ericsson (Publ) | Disjoint path computation algorithm |
US8493971B2 (en) | 2009-11-06 | 2013-07-23 | Nec Corporation | Path calculation system |
US8473759B2 (en) | 2009-12-10 | 2013-06-25 | International Business Machines Corporation | Efficient routing of computing tasks |
US8537842B2 (en) * | 2009-12-30 | 2013-09-17 | Broadcom Corporation | Network device with virtual switch fabric |
WO2011079962A1 (en) | 2010-01-04 | 2011-07-07 | Telefonaktiebolaget L M Ericsson (Publ) | Providing feedback to path computation element |
US9386093B2 (en) | 2010-02-17 | 2016-07-05 | Deutsche Telekom Ag | Price-aware neighborhood selection for peer-to-peer networks |
US9288111B2 (en) | 2010-02-23 | 2016-03-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Summarization in a multi-domain network |
US8625616B2 (en) * | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
US8493851B2 (en) * | 2010-05-07 | 2013-07-23 | Broadcom Corporation | Method and system for offloading tunnel packet processing in cloud computing |
US8767731B2 (en) | 2010-05-19 | 2014-07-01 | Alcatel Lucent | Method and apparatus for MPLS label allocation for a BGP MAC-VPN |
US8959139B2 (en) | 2010-05-28 | 2015-02-17 | Juniper Networks, Inc. | Application-layer traffic optimization service endpoint type attribute |
US8688775B2 (en) | 2010-05-28 | 2014-04-01 | Juniper Network, Inc. | Application-layer traffic optimization service spanning multiple networks |
US8817621B2 (en) | 2010-07-06 | 2014-08-26 | Nicira, Inc. | Network virtualization apparatus |
US8830826B2 (en) | 2010-10-15 | 2014-09-09 | Futurewei Technologies, Inc. | System and method for computing a backup egress of a point-to-multi-point label switched path |
US8700801B2 (en) | 2010-12-01 | 2014-04-15 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol maps |
US8560660B2 (en) * | 2010-12-15 | 2013-10-15 | Juniper Networks, Inc. | Methods and apparatus for managing next hop identifiers in a distributed switch fabric system |
CN102103518B (zh) * | 2011-02-23 | 2013-11-13 | 运软网络科技(上海)有限公司 | 一种在虚拟化环境中管理资源的系统及其实现方法 |
CN102110071B (zh) * | 2011-03-04 | 2013-04-17 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机集群系统及其实现方法 |
US9471384B2 (en) * | 2012-03-16 | 2016-10-18 | Rackspace Us, Inc. | Method and system for utilizing spare cloud resources |
US8953590B1 (en) | 2011-03-23 | 2015-02-10 | Juniper Networks, Inc. | Layer two virtual private network having control plane address learning supporting multi-homed customer networks |
US8804745B1 (en) * | 2011-06-27 | 2014-08-12 | Amazon Technologies, Inc. | Virtualization mapping |
US9176773B2 (en) * | 2011-06-29 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual machine migration tool |
US10013281B2 (en) * | 2011-06-29 | 2018-07-03 | Microsoft Technology Licensing, Llc | Controlling network utilization |
US8634418B2 (en) | 2011-07-01 | 2014-01-21 | Juniper Networks, Inc. | Providing extended administrative groups in computer networks |
US8908501B2 (en) | 2011-07-15 | 2014-12-09 | Futurewei Technologies, Inc. | Procedures for finding a backup ingress of a point-to-multipoint label switched path |
US8559314B2 (en) * | 2011-08-11 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing OSPF in split-architecture networks |
US9485553B2 (en) | 2011-09-08 | 2016-11-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Path computation in wavelength switched optical networks |
KR101860342B1 (ko) | 2011-09-15 | 2018-05-23 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
CN102299865B (zh) | 2011-09-30 | 2014-05-14 | 杭州华三通信技术有限公司 | 多协议标签交换传送技术环保护倒换方法及节点 |
US8885463B1 (en) | 2011-10-17 | 2014-11-11 | Juniper Networks, Inc. | Path computation element communication protocol (PCEP) extensions for stateful label switched path management |
US9148381B2 (en) * | 2011-10-21 | 2015-09-29 | Qualcomm Incorporated | Cloud computing enhanced gateway for communication networks |
US20130159376A1 (en) * | 2011-12-15 | 2013-06-20 | Charles Moore | Systems and methods for a computing resource broker agent |
US9083627B2 (en) | 2011-12-20 | 2015-07-14 | Cisco Technology, Inc. | Assisted traffic engineering for minimalistic connected object networks |
US8824274B1 (en) | 2011-12-29 | 2014-09-02 | Juniper Networks, Inc. | Scheduled network layer programming within a multi-topology computer network |
US8787154B1 (en) | 2011-12-29 | 2014-07-22 | Juniper Networks, Inc. | Multi-topology resource scheduling within a computer network |
US9094342B2 (en) * | 2012-01-13 | 2015-07-28 | Verizon Patent And Licensing Inc. | Method and system for sharing router resources via a mobile virtual router |
US8660129B1 (en) * | 2012-02-02 | 2014-02-25 | Cisco Technology, Inc. | Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks |
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
US9081618B2 (en) * | 2012-03-19 | 2015-07-14 | Ati Technologies Ulc | Method and apparatus for the scheduling of computing tasks |
US8787400B1 (en) | 2012-04-25 | 2014-07-22 | Juniper Networks, Inc. | Weighted equal-cost multipath |
US9379971B2 (en) | 2012-05-11 | 2016-06-28 | Simula Inovation AS | Method and apparatus for determining paths between source/destination pairs |
US8990826B2 (en) * | 2012-06-06 | 2015-03-24 | General Electric Company | System and method for receiving analysis requests and configuring analytics systems |
US9064216B2 (en) * | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
US9729424B2 (en) | 2012-06-11 | 2017-08-08 | Futurewei Technologies, Inc. | Defining data flow paths in software-defined networks with application-layer traffic optimization |
US8855014B2 (en) | 2012-06-15 | 2014-10-07 | Cisco Technology, Inc. | Distributed stateful path computation element overlay architecture |
US10031782B2 (en) | 2012-06-26 | 2018-07-24 | Juniper Networks, Inc. | Distributed processing of network device tasks |
US8942226B2 (en) | 2012-10-05 | 2015-01-27 | Ciena Corporation | Software defined networking systems and methods via a path computation and control element |
US20150351138A1 (en) | 2012-10-18 | 2015-12-03 | Nokia Solutions And Networks Oy | Intelligent bearer setup configuration control |
US9929919B2 (en) | 2012-10-30 | 2018-03-27 | Futurewei Technologies, Inc. | System and method for virtual network abstraction and switching |
US9621378B2 (en) | 2012-11-27 | 2017-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and routers for connectivity setup between provider edge routers |
US9450874B2 (en) | 2013-01-04 | 2016-09-20 | Futurewei Technologies, Inc. | Method for internet traffic management using a central traffic controller |
US20140269724A1 (en) | 2013-03-04 | 2014-09-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method and devices for forwarding ip data packets in an access network |
US9450817B1 (en) | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
US9178796B2 (en) | 2013-06-28 | 2015-11-03 | Cisco Technology, Inc. | Multi-layer stateful path computation element architecture |
US10708182B2 (en) | 2013-07-26 | 2020-07-07 | Cisco Technology, Inc. | MPLS LSP connectivity test when the initiator address is unknown |
US9210089B2 (en) | 2013-10-21 | 2015-12-08 | Cisco Technology, Inc. | LSP ping/trace over MPLS networks using entropy labels |
US10193801B2 (en) | 2013-11-25 | 2019-01-29 | Juniper Networks, Inc. | Automatic traffic mapping for multi-protocol label switching networks |
-
2012
- 2012-06-26 US US13/533,780 patent/US10031782B2/en active Active
-
2013
- 2013-05-10 EP EP13167218.0A patent/EP2680144A3/en not_active Withdrawn
- 2013-06-24 CN CN201810071965.8A patent/CN108124018B/zh active Active
- 2013-06-24 CN CN201310253577.9A patent/CN103516782B/zh active Active
-
2018
- 2018-07-20 US US16/041,261 patent/US11614972B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937438B1 (en) * | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
CN102457439A (zh) * | 2011-12-07 | 2012-05-16 | 中标软件有限公司 | 一种云计算系统的虚拟交换系统及其虚拟交换方法 |
Also Published As
Publication number | Publication date |
---|---|
US11614972B2 (en) | 2023-03-28 |
US20130346470A1 (en) | 2013-12-26 |
CN108124018B (zh) | 2020-07-28 |
EP2680144A2 (en) | 2014-01-01 |
EP2680144A3 (en) | 2016-08-17 |
CN108124018A (zh) | 2018-06-05 |
US10031782B2 (en) | 2018-07-24 |
CN103516782A (zh) | 2014-01-15 |
US20180329755A1 (en) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103516782B (zh) | 网络设备任务的分布式处理 | |
EP3824602B1 (en) | Multi-cloud connectivity using srv6 and bgp | |
US11349722B2 (en) | Method and system of connecting to a multipath hub in a cluster | |
CN102884763B (zh) | 跨数据中心的虚拟机迁移方法、服务控制网关及系统 | |
CN103368840B (zh) | 减少多宿主网络连接内的边界网关协议会话的流量损失 | |
US10938660B1 (en) | Automation of maintenance mode operations for network devices | |
US8830820B2 (en) | Semi-centralized routing | |
US11201782B1 (en) | Automation of maintenance mode operations for network devices | |
CN103905315B (zh) | 传送网络中所用的路由信息的虚拟化和分发的方法、设备和系统 | |
JP2015530818A (ja) | 分散仮想ルーティングおよびスイッチング(dvrs)を提供するシステムおよび方法 | |
US7403530B2 (en) | Scalable router | |
US9832121B1 (en) | Next hop instruction associations for forwarding unit programming within a network device | |
US20190132152A1 (en) | Dynamic customer vlan identifiers in a telecommunications network | |
WO2019184653A1 (zh) | 链路配置方法和控制器 | |
US11863454B2 (en) | Systems and methods for scalable validation of multiple paths in a network using segment routing | |
US20230093915A1 (en) | Cloud router platform for sdn networks | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
US20240187346A1 (en) | Systems and methods for scalable validation of multiple paths in a network using segment routing | |
CN102420832A (zh) | 一种应用于云环境网络交互引擎及实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: California, USA Patentee after: Juniper Networks, Inc. Address before: California, USA Patentee before: Jungle network |
|
CP01 | Change in the name or title of a patent holder |