CN104011687B - 用于网络环境中的服务器的无中断管理的系统和方法 - Google Patents
用于网络环境中的服务器的无中断管理的系统和方法 Download PDFInfo
- Publication number
- CN104011687B CN104011687B CN201280061940.0A CN201280061940A CN104011687B CN 104011687 B CN104011687 B CN 104011687B CN 201280061940 A CN201280061940 A CN 201280061940A CN 104011687 B CN104011687 B CN 104011687B
- Authority
- CN
- China
- Prior art keywords
- destination node
- stream
- node
- successor
- cluster
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2035—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
Abstract
示例方法包括使目标节点脱离集群,其中脱离包括:选择继承者;将流从目标节点迁移到继承者;通知迁移管理器:目标节点脱离集群;以及向目标节点的对等节点广播:目标节点已由继承者代替。在本公开的具体实现方式中,集群能够包括网络拓扑的第一层,其包括实现基于散列的分组转发的转发引擎;网络拓扑的第二层,其包括目标节点和继承者,其中该目标节点和继承者实现基于流的分组转发;以及第三层,其包括被配置为在网络中进行分组处理的服务节点。
Description
技术领域
本公开一般涉及通信领域,并且更具体地,涉及用于网络环境中的服务器的无中断管理的系统和方法。
背景技术
高速网络和改进的微处理器性能的新进展正在使得计算机集群对企业具有吸引力。此诱惑力中的一部分与能够提供物有所值的并行计算的企业相关联。使用商品化硬件和软件组件构建的集群正在重新定义计算世界。企业可以维护计算机集群(比如,服务器群)来实现超越了单台计算机的性能的服务器需求。计算机集群可以与网络交换机和/或路由器共处于一地,这些网络交换机和/或路由器共同使集群的不同部分和集群的用户之间能够通信。对大型计算机集群的有效管理通常包括:冗余性能、自动故障转移功能、以及对计算机群集进行快速重新配置的能力。
发明内容
根据本公开的一方面,提供了一种用于网络环境中的节点的无中断管理的方法。该方法包括:使目标节点脱离集群,其中该集群包括网络拓扑的第一层和网络拓扑的第二层,网络拓扑的第一层包括实现基于散列的分组转发的转发引擎,并且网络拓扑的第二层包括实现基于流的分组转发的目标节点和继承者,其中脱离包括:选择继承者;将流表格从目标节点复制到继承者,其中流表格包括一组包括流钥匙的条目,流钥匙标识流和将对与流钥匙匹配的分组执行的相应动作;将流从目标节点迁移到继承者;通知迁移管理器:目标节点脱离集群;以及向目标节点的对等节点广播:目标节点由继承者代替。
根据本公开的另一方面,提供了一种用于网络环境中的节点的无中断管理的装置。该装置包括:被配置为存储指令的存储器;可操作来执行这些指令的处理器;继承者选择器模块;流处理器;以及广播模块。该装置被配置为:使目标节点脱离集群,其中该集群包括网络拓扑的第一层和网络拓扑的第二层,网络拓扑的第一层包括实现基于散列的分组转发的转发引擎,并且网络拓扑的第二层包括实现基于流的分组转发的目标节点和继承者,其中脱离包括:选择继承者;将流从目标节点迁移到继承者;将流表格从目标节点复制到继承者,其中流表格包括一组包括流钥匙的条目,流钥匙标识流和将对与流钥匙匹配的分组执行的相应动作;通知迁移管理器:目标节点脱离集群;以及向目标节点的对等节点广播:目标节点由继承者代替。
根据本公开的另一方面,提供了一种用于网络环境中的节点的无中断管理的系统。该系统包括:用于使目标节点脱离集群的装置,其中该集群包括网络拓扑的第一层和网络拓扑的第二层,网络拓扑的第一层包括实现基于散列的分组转发的转发引擎,并且网络拓扑的第二层包括实现基于流的分组转发的目标节点和继承者。该用于使目标节点脱离集群的装置被配置为:选择继承者;将流从目标节点迁移到继承者;将流表格从目标节点复制到继承者,其中流表格包括一组包括流钥匙的条目,流钥匙标识流和将对与流钥匙匹配的分组执行的相应动作;通知迁移管理器:目标节点脱离集群;以及向目标节点的对等节点广播:目标节点由继承者代替。
附图说明
为提供对本公开以及其特征和优点的更全面的理解,结合附图做出下面的描述,其中相同的参考标号表示相同的部分,其中:
图1是根据本公开的通信系统的一个实施例的简化图;
图2是示出了通信系统的另外的细节的简化框图;
图3是通信系统的另一实施例的简化图;
图4是示出了可以与通信系统的实施例相关联的示例操作活动的简化流程图;
图5是示出了可以与通信系统的实施例相关联的示例操作活动的简化流程图;
图6是可以与根据本公开的通信系统的实施例相关联的一组示例流程表条目;
图7是示出了可以与根据本公开的通信系统的实施例相关联的一组示例活动的简化算法;
图8是示出了可以与根据本公开的通信系统的实施例相关联的另一组示例活动的简化算法;以及
图9是示出了可以与根据本公开的通信系统的实施例相关联的又一组示例活动的简化算法。
具体实施方式
概览
一种示例方法包括:使目标节点脱离集群,其中脱离包括:选择继承者;将流从目标节点迁移到继承者;通知迁移管理器目标节点脱离集群;并且向目标节点的对等节点广播该目标节点被继承者代替。在本公开的具体实现方式中,集群能够包括:网络拓扑的第一层,其包括实现基于散列的分组转发的转发引擎;网络拓扑的第二层,其包括目标节点和继承者,其中目标节点和继承者实现基于流的分组转发;以及第三层,包括被配置为在网络中进行分组处理的服务节点。
继承者能够包括目标节点的对等节点,在群集的节点的子集内该对等节点具有最少数目的流。另外,继承者能够包括集群中的新的对等节点。对继承者的选择能够包括:从迁移管理器接收对等节点的流处理统计数据;以及基于流处理统计数据在对等节点之间分发流,以使得由对等节点处理的流的总数均匀地分发。另外,目标节点可以包括流-分组分发器。
迁移可以包括:复制(即,复制至少一部分)将被提供给继承者的流表格。另外,本方法可以包括清除流表格;识别流表格是空的并且在目标节点的接收/发送(RX/TX)队列中没有待决的数据分组;以及设置目标节点的状态以表明目标节点脱离集群。本方法还可以包括将分组从目标节点重定向到继承者。本方法还可以包括提供用于移除目标节点的指令;识别目标节点被移除的确认;以及改变散列算法中的散列范围以移除目标节点。
示例实施例
转到图1,图1是根据本公开的实施例的通信系统10的简化框图。图1的架构可以包括汇聚路由器/交换机12A和12B,它们连接到流-分组分发器(FD)14A和14B,流-分组分发器(FD)14A和14B继而连接到集群18中的服务节点16A、16B、16C和16D。如本文中所使用的,术语“集群(cluster)”指的是彼此进行通信并且一起工作(例如,执行计算处理、网络服务等:通常并行地)的一组节点。如本文中所使用的,术语“节点”意思是包含任何服务器、计算机、网络设备、路由器、交换机、网关、桥接器、负载平衡器、防火墙、处理器或任何其它合适的物理设备、或能够在网络环境中交换信息的物理部件。在示例实现方式中,集群18是数据中心中的服务器集群。
图1中的元件可以通过一个或更多采用任何合适的(有线或无线)连接的接口彼此接连,这为电子通信提供了可行的途径。另外,图1中的这些元件的任何一个或更多都可以基于具体的配置需求被组合到架构中或从架构中移除。通信系统10可以包括能够进行传输控制协议/互联网协议(TCP/IP)通信以在网络中进行分组的电子发送和接收的配置。在适当情况下并且基于具体需求,通信系统10还可以结合用户数据报协议/IP(UDP/IP)或任何其它合适的协议进行操作。
在操作中,服务节点16A-16D被配置为提供诸如分组处理、网络服务、应用服务等服务。服务节点的示例可以包括电子邮件服务器、web服务器、存储服务器、防火墙、服务器负载平衡器、内容缓存服务器等。汇聚路由器/交换机12A-12B包括连接网络的各部分并且还能够在分组(例如,数据分组)被接收到时检测分组的节点。另外,汇聚路由器/交换机12A-12B被配置为确定每个分组的源设备和目的地设备,然后将这些分组适当地转发。汇聚路由器/交换机12A-12B还可以包括组合并行的多个网络连接(例如,来增加超出单个连接所能支持的吞吐量,或者在链路之一故障的情况下提供冗余等)的节点。请注意,专业术语“汇聚路由器/交换机”与本说明书中所使用的更通用的术语“交换机”可交换地使用。这样的设备的示例包括路由器(例如,在计算机网络之间转发分组的设备)、汇聚路由器、汇聚交换机、网络桥接器、第3层交换机、多层交换机、网关等。
流-分组分发器包括截获来自汇聚路由器/交换机的分组并且根据需要处理这些分组的节点。所述处理能够基于所识别的流和/或其它因素(比如,集群中的节点的数目),在处理过程中分组能够被进一步定向(例如,转发、重定向等)到适当地服务节点。FD 14A-14B可以能够确保属于相同流的分组的正确的分组顺序。在各个实施例中,FD知道集群中的全部流,并且能够(例如,通过散列算法)确定任何单个流的拥有者。在一些实施例中,FD14A和14B可以为独立的装置。在其他实施例中,FD 14A和14B可以被集成在服务节点16A-D中。流-分组分发器的示例包括配备用于执行预期的流-分组分发功能的适当应用的交换机、路由器、服务器、处理器、引擎等。
根据本公开的实施例,集群18可以在将基于散列的分组转发和基于流的分组转发相组合的二级网络环境中实现分层设计。第一层能够包括配备合适的转发引擎19的汇聚路由器/交换机12A和12B,其中转发引擎19实现基于散列的分组转发。第二层能够包括实现基于流的分组转发的节点。第一层和第二层之间的网络流量可以使用基于散列的分组转发方案。第二层中以及第二层和其它层(比如,第三层)之间的网络流量可以使用基于流的分组转发方案。
根据本公开的实施例,汇聚路由器/交换机12A和12B可以经由虚拟端口通道(vPC)链路20连接到第一层,虚拟端口通道(vPC)链路20可以包括多端口10千兆比特以太网端口通道(例如,IEEE 802.3ad端口通道)。在一个实施例中,第一层可以提供用于流进入和离开集群18的高速分组交换背板。第一层可以经由各种链路(比如,10千兆比特以太网(GigaE)链路)连接到第二层(例如,在FD 14A和14B的层)。例如,汇聚路由器/交换机12A通过链路22(可以是10GigaE链路)连接到FD 14A。
第二层可以执行各种功能,比如,服务模块集成、服务分类、分组重定向、分组封装等。第二层可以经由各种链路(比如,10千兆比特以太网(GigaE)链路、千兆比特以太网链路等)连接到第三层(例如,在服务节点16A-D的层)。例如,FD 14A通过链路24(可以是千兆比特以太网链路)连接到服务节点16A。在各种实施例中,集群18中的链路可以实现链路汇聚。分组遍历集群18可以按如下方式跟随从汇聚路由器/交换机12A到服务节点16A的路径:分组可以由汇聚路由器/交换机12A使用散列算法(即,基于散列的分组转发方案)经由链路22发送到FD 14A,并且分组可以由FD 14A使用分组-流分发(即,基于流的分组转发方案)在链路24上转发到其目的地节点16A。
根据本公开的某些实现方式,可以在FD 14A和14B的每个中都布置迁移客户端模块26。在一些实施例中,迁移客户端模块26可以是独立的应用。在一些其它实施例中,迁移客户端模块26可以与其它服务(比如,防火墙应用、服务器负载平衡器应用等)并存。可以在汇聚路由器/交换机12A和12B的每个中都布置迁移管理器28。迁移管理器28可以确定FD(或服务节点)应当脱离(例如,成为脱机的),例如,以切断节点的电源,来进行维护和修理、来进行服务升级等。为了说明,假设FD 14A将脱离。根据本公开的实施例,FD 14A的迁移客户端模块26从迁移管理器28接收指令,以从容地使FD 14A脱离集群组而不会导致数据路径中断(即,分组丢失)。当遍历网络的一个或更多分组无法到达它们预期的目的地时可能发生数据路径中断。
在各种实施例中,迁移客户端模块26可以选择继承者(其为诸如FD 14B之类的对等节点)并且可以将来自FD 14A的流复制到继承者FD 14B。如本文所使用的,“对等节点”包括在网络中的同一层的节点。例如,在集群18中,FD 14A是FD 14B的对等节点,并且服务节点16A是服务节点16B-16D的对等节点。随后,迁移客户端模块26可以通知迁移管理器28FD14A已经成功地脱离。迁移客户端模块26还可以根据需要向集群18中的其它对等节点广播(即,向集群18中的所有对等节点发送)FD 14B(从FD 14A继承而来)的新状态。在一些实施例中,可以通过汇聚路由器/交换机12A和12B执行广播。在其它实施例中可以在目标节点的层处的所有对等节点之间执行广播。迁移管理器28然后可以将分组转发或重定向到继承者(即,FD 14B)并且使FD 14A脱离集群。流中(例如,从下游服务器)返回的分组将自动地被重定向到继承者,然后继承者将拥有该流。请注意,(例如,在服务器响应中)返回的分组被当作与进入分组属于相同的流。
为了说明通信系统10的某些示例技术的目的,理解可能正在遍历网络的通信是重要的。下面的基础信息可以被视为本公开可以被恰当地解释的基础。郑重地仅为了解释的目的而提供这样的信息,因此这样的信息不应该以任何方式被构思为限制本公开及其可能的应用的广泛的范围。
在网络通信中,称为分组的多个信息块在设备之间进行交换。分组是八位位组(即,8比特)序列,并且一般由头部和紧随其后的主体构成。通常情况下,头部描述分组的目的地,以及可选地用于转发分组直到该分组到达其目的地的路由器。通常情况下,主体包含被传输的数据(即,有效负载)。在典型的TCP连接中,服务器创建等候远程客户端连接的监听器套接口。客户端能够发布connect()套接口函数来开始TCP握手。客户端能够发送SYN分组(例如,将段的序列号设置为随机值A)。服务器以SYN-ACK分组(例如,将确认号设置为比所接收到的序列号大一的值(A+1),并且服务器为分组选择的序列号是另一随机数B)做出响应。客户端以ACK(例如,将序列号设置为所接收到的确认值(即,A+1),并且将确认号设置为比所接收到的序列号大一的值(即,B+1))做出响应。服务器发布accept()套接口函数来接受连接请求。客户端和服务器发布read()套接口函数和write()套接口函数以通过套接口交换数据。在传输结束时,服务器或客户端之一决定使用TCP关闭序列(后面紧随着ACK分组的FIN分组)关闭套接口。
TCP/IP通信能够按照分组或者可替代地按照流被管理。流是满足相同的匹配准则和共享相同的特性的相关分组的串流(stream)。例如,流包括在特定源地址和端口到唯一目的地地址和端口之间的分组的串流,其中所有这样的分组都使用相同的协议。单个流可以是语音呼叫、视频呼叫、文件传送、web访问等。流的标识可以取决于实际实现方式。例如,流可以单独地由目的地地址来标识,或者它可以由包括源地址、目的地地址和协议的三元组来标识。作为选择,分组的流可以由下面的五元组中的一些或全部来标识:(1)源地址;(2)目的地地址;(3)源端口;(4)目的地端口;以及(5)协议。
转向服务器集群,两个或多个互连的服务器能够创建虚拟资源的表观,其提高了各种服务器和网络参数(例如,服务器可用性、可扩展性等)。集群通常被部署来相比于单个设备(例如,计算机、服务器、存储设备等)提升性能和可用性。集群可以包括(例如,用于提升集群所提供的服务的可用性的)高可用性集群、(例如,用于分担集群上的计算工作负载或共享集群上的功能的)负载平衡集群等。服务器集群可以为可用性、为可扩展性或者为其它配置目标而被配置。
一般来说,集群具有使用专门的软件和高速网络互连组合多个处理器以表现为统一的高性能系统的共同目标。在示例中,服务器集群能够通过由多个服务器分担计算工作负载而在当前性能层级上支持更多用户(或者为当前数目的用户而提升性能)。服务器集群能够使得应用能够处理更多负载并且避免服务中断。由服务器集群呈现的虚拟统一计算资源赋予IT人员更多的选择来配置基础设施(例如,支持应用性能、可用性、可扩展性要求等)。
服务器集群历史上已经与针对专项应用(比如,气象学(例如,天气模拟);地震学(例如,地震分析);军事研究(例如,武器、战争)等)的大学研究、科学实验室、军事研究相关联。在企业中,服务器群集也被应用于广泛的应用中,比如,金融趋势分析(例如,实时债券价格分析和历史趋势);影视动画(例如,几个千兆字节的艺术文件的渲染);制造(例如,汽车设计建模和空气动力学);以及搜索引擎(例如,快速并行查找加内容插入,等)。
在二级服务器集群中,(例如,由源节点和目的地节点所定义的)流可以在多个从入口到出口的两跳路径中被均匀地分发,其中网络中的一些节点作为流分组分发器。路由可以分两级执行,并且每个分组遍历从入口节点到任意FD的第一路径和从该FD到出口节点的第二路径。第一路径路由可以是基于散列算法的(以随机地将分组散布到任何可用的FD),第二路径路由可以是基于流的(其确保流的完整性)。
散列算法可以在硬件(比如,应用专用集成电路(ASIC)或网络处理器)上实现。在一些实现方式中,算法是确定性的;如果使用相同的地址(例如,源地址和/或目的地地址),则所产生的散列可能会到通信通道中的同一端口。这种策略防止无序分组递送。例如,一种散列算法可以将由五个流参数(例如,(1)源地址;(2)目的地地址;(3)源端口;(4)目的地端口;以及(5)协议)构成的五元组转换成散列,并且将流量散布到集群中的FD。散列值能够用于选择用于转发分组的链路。例如,特定流内的所有硬件交换(比如,TCP连接)可以被路由到同一下一跳,从而降低了分组重新排序和分组丢失的几率。
在另一示例中,进入分组的源IP地址和源端口可以被转变为主机标识(ID),该主机ID被匹配到计算得出的、集群中的节点的主机ID。所有这些节点都可以并行地执行散列算法。具有与散列相匹配的主机ID的节点可以接受分组,而其它节点可以丢弃分组。在又一示例中,散列算法可以基于源IP地址和目的地IP地址(对于IP接口而言),以及源介质访问控制(MAC)地址和目的地MAC地址(对于非IP接口而言)。在再一示例中,散列算法可以使用下述参数中的一个或更多个:目的地MAC地址;源MAC地址;源MAC地址和目的地MAC地址;目的地IP地址;源IP地址;源IP地址和目的地IP地址;源TCP/UDP端口号;目的地TCP/UDP端口号;以及源TCP/UDP端口号和目的地TCP/UDP端口号。现有各种用于确定散列算法和相关联的参数的方法,其中任何这样的方法和不同参数都包括在本公开的广泛的范围内。散列算法中所使用的实际参数可以由用户酌情并且基于特定需求进行选择。
在硬件中实现的散列算法能够进行某些高速活动;然而,可能无法高效地执行其它网络流量处理(例如,流持久性、深度分组检测等)。而且,对于要求流中的所有分组被发送到同一节点的应用而言,散列策略可能不是高效的。例如,返回分组可能具有与原始分组不同的源地址和目的地地址。源地址和目的地地址的散列可能生成与针对原始分组计算的出的数不同的数。因此,返回分组可能根据散列算法被路由到不同的节点,导致应用的潜在中断。因此,可以实施涉及流转发的第二级,以将这些分组转发到它们的恰当的目的地节点。
流-分组分发可以在软件中实现。分发可以基于流,其中单个流将不被分发并且仅使用一条链路。可以在集群中的任何FD或服务节点中布置流转发软件。分组的配置设定(比如,安全策略、应用层网关(ALG)、网络地址转换(NAT)设定等)是针对流的第一分组进行评估的。然后这些设定被应用于流中的其余分组。
为确定分组是否属于特定的流,FD基于下述五个匹配标准将分组的信息与现有流的信息进行匹配:(1)源地址;(2)目的地地址;(3)源端口;(4)目的地端口;以及(5)协议。其它匹配标准也可以酌情并且基于特定的需求而被使用。如果分组与现有流相匹配,在该分组的流表格(即,包括钥匙(key)的条目的逻辑集合(例如,字段、参数等))的上下文中对该分组的处理进行评估。例如,FD可以核查其是否是分组流的拥有者(例如,如果该FD可以访问该分组的流表格则它可能是拥有者)。如果FD不是拥有者,它可以(例如,使用适当的流转发软件,比如,Strike Eagle)确定真正的拥有者,并将分组转发到真正的拥有者(其可以是网络上的对等节点)。如果分组与现有流不匹配,那么该分组用于创建新的流表格。
转向应用的弹性容量,服务器集群是实现这一目标的有效工具。例如,如果一个服务器(因为任何原因,比如,故障或计划的停机时间等)变得不可用,集群中的另一服务器能够承担工作负载,因此,显然地避免对访问集群的用户或应用的服务的损失。因为各种原因,应用的弹性容量可能是希望的。例如,所需要的应用的容量可能是基于时间的(例如,在白天全容量,在夜间半容量)。在另一示例中,为节省能源,用户可能设法在非高峰时段关掉一些服务器。在又一实施例中,系统升级可能要求服务器重新启动。如果成员服务器被关掉、重新启动或以其它方式脱离集群,可能发生数据路径中断。例如,很多应用(比如,自适应安全装置(Adaptive Security Appliances,ASA)、广域应用服务(Wide Area Application Services,WAAS)等)要求集群环境中的流紧密度(flowaffinity)。对于这样的应用,所有的分组都必须通过单个应用服务器被发送或者被发送到单个应用服务器。如果该应用服务器从集群脱机,则这些分组可能丢失。
当前的基于流的集群设计中存在用于流复制和迁移的机制。例如,服务提供商经常通过撤回经由交换机的路由而例行地进行无中断的流迁移(例如,在升级或维护汇聚交换机之前从一台汇聚交换机迁移到其对等节点)。然而,这样的方案更多的是为快速故障恢复而设计的而不是在计划节点移除的情况下所希望的零分组丢弃解决方案。此外,在服务器的下游路径中的分组可以设法由同一路径返回(例如,经由所移除的成员):当该成员被移除时导致分组丢弃。
一般而言,在服务器集群设计中,性能是卓越的;较少考虑如何关掉节点(例如,几乎闲置的服务器等)而不导致分组丢弃。例如,某种当前可用的服务装置设计,即使在没有分组要处理时仍然具有高功率消耗,其中这样的消耗是因为繁忙轮询机制。客户可能希望自动地关掉闲置服务器,同时最小化任何潜在分组丢弃。请注意,某种技术能够将虚拟机(VM)从环境中的一个实体服务器迁移到另一实体服务器,其中所述实体服务器表现为多个VM。然而,在实体服务器空间中不存在类似的解决方案,其中多个实体服务器表现为一个。
图1中所示的用于对网络环境中的服务器进行无中断管理的系统能够解决很多这种问题。根据本公开的实施例可以提供对服务器容量、功率和维护的无中断管理。在将基于散列的分组转发和基于流的分组转发相组合的二级集群环境中,迁移管理器28和迁移客户端模块26能够在即将离任的服务器从集群切断之前,从容地将流从该即将离任的服务器迁移到活动服务器。在非VM集群环境中,本公开的实施例能够以无中断的方式管理服务器容量、功率管理和系统维护。在各种实施例中,基于模块的底盘(chassis)或云操作系统(例如,基于云的网络)能够部署本文所述的自适应管理方案,以实现对容量/功率的最优化使用,并且进一步提供随时系统维护而不导致分组丢弃。
在各种实施例中,基本上集群中的每个节点中都安装了迁移客户端模块26。在一些实施例中,仅在FD 14A和14B中安装了迁移客户端模块26。在各种实施例中,迁移管理器28可以是指示迁移客户端模块26移除目标节点(即,将脱离集群18的节点)(比如,FD 14A)的软件组件。FD 14A的流表格(和其它应用状态,视情况而定)于是可以被重新分发到所选定的继承者(其是替代目标节点的节点),比如,FD 14B。集群中的对等节点可以被通知FD14B是先前属于FD 14A的流的新拥有者。消息可以被发送到迁移管理器28以从FD 14A的转发引擎19移除FD 14A(例如,端口通道、WCCP组等)。随后,汇聚路由器/交换机12A和12B可以不向FD 14A转发任何分组。然后,FD 14A能够被关掉、停止使用等,视情况而定。
基本上,所有的对等节点都可以具有访问表明各个流表格的所有权的查找表(或其它逻辑数据库)的权限。例如,流中的元数据可以被存储在一个或更多交换机12A或12B中的查找表中。当分组到达节点(例如,FD 14A)时,节点可以尝试访问其存储的流表格。如果无法访问分组的流,FD 14A可以读取查找表以确定真正的拥有者(例如,FD 14B),并且将分组转发到真正的拥有者(例如,FD 14B)。
在各种实施例中,本文所述的方案可以被实现以从集群18中的(包括FD的)第二层中移除节点。在FD和服务节点被布置在同一设备(例如,ASA)中的实施例中,本文所述的方案可以既针对FD又针对服务节点组件而被实现。在FD和服务节点在分开的设备中的实施例中,如果迁移管理器28和服务节点被配置为向彼此发送消息(例如,Agni、充电控制节点(CCN)XMPP),则本文所述的方案可以另外地被应用于服务节点。
转向图1的基础设施,在一些实施例中,迁移管理器28可以被布置在服务模块底盘中的监管引擎上。监管引擎是除其它功能之外还能够提供集中式的转发信息和处理的管理应用。监管引擎包括策略功能卡(PFC),其是执行第2层和第3层转发、实施访问控制列表(ACL)功能、并且执行对服务质量(QoS)流量的监控和标记的转发平面;多层交换功能卡(MSFC),其是执行对底盘的路由的控制平面。MSFC能够包括针对路由器的路由处理器(RP)和交换机处理器(SP),并且进一步能够运行第2层和第3层协议。
在其它实施例中,迁移管理器28可以被布置在CCN控制点内部。CCN是用于通信网络中的信令控制点,其能够接收和处理、追踪、并且评价分组数据服务和内容使用请求。CCN能够被配置为发现服务数据点(SDP)并与其进行通信、执行会话控制等。根据本公开的实施例,迁移管理器28可以由用户的配置(例如,基于时间的服务器添加/移除)或者由应用使用或其它因素来驱动。
在各种实施例中,迁移客户端模块26和迁移管理器28可以在软件中被实现。视具体情况并且基于特定的需求,软件可以具有相关联的应用编程接口(API)、命令行接口(CLI)、图形用户接口(GUI)或其它适合的用户接口。软件可以是独立的应用或与其它应用(比如,服务器管理应用、路由应用等)相集成。迁移客户端模块26和迁移管理器28还可以在固件(集成于硬件中的软件)中被实现。
对通信系统10的网络的各种设计都是可能的。一般而言,通信系统10可以包括:现货供应商品(CotS)服务器硬件;GigE或10GigE的网络接口卡(NIC);低延迟硬件;非阻塞或低超额订阅(low-over-subscribed)交换结构;网格/部分网格连接性(例如,服务器集群设计经常需要网格或部分网格结构以准许集群中的所有节点之间的通信,其中网格结构能够用于共享在集群中的主站到计算机和计算机到计算机服务器之间的状态、数据和其它信息);巨型帧支撑等。
汇聚路由器/交换机12A和12B可以提供管理权限(例如,人工管理员、管理员软件、诸如控制平面之类的管理员通信通道等)。在一些实施例中,人工管理员可以针对各种功能(比如,节点移除、负载平衡等)而配置汇聚路由器/交换机12A和12B。人工管理员能够使用CLI选择针对各种功能的配置。例如,汇聚路由器/交换机12A和12B可以具有带有若干从中进行选择的负载平衡因子(例如,基于源IP地址、目的地IP地址或两者等的散列算法)的端口通道。人工管理员能够使用CLI选择适当的因子(例如,Cisco Nexus 7000交换机上的、针对散列算法的命令可以是:NXOS:(config)# port-channel load-balance ethernet{各种选项}[模块])。
在另一示例中,人工管理员能够输入适当的命令来指示FD 14A将脱离集群(例如,Cisco Nexus 7000交换机上的命令可以包括manage-lb-pool remove-node(-p pool_id│-n name)--node address:port;或manage-lb-pool deactivate-node(-p pool_id│-nname)--node address:port;等)。在一个示例实施例中,第一供应商可以管理汇聚路由器/交换机12A和12B,第二供应商可以管理不同的节点(例如,FD 14A和FD 14B)。第二供应商可以通知第一供应商FD 14A将从集群被移除。第一供应商可以通过适当的人工命令(使用合适的CLI)协助从容地将FD 14B移除。
汇聚路由器/交换机12A和12B可以被布置有转发引擎19,转发引擎19包括被配置为执行基于散列的分组转发的ASIC。在各种实施例中,转发引擎19可以提供在第2层的以太网桥接、在第3层的IP路由以及其它功能。在一个实施例中,转发引擎19可以具体地被配置为使用硬件和软件的组合来转发分组。分组可以(例如,以高速率)进行硬件交换,并且任何异常的分组(例如,随不支持的封装层达到的分组、802.3以太网分组等)可以被转发到相关联的软件以进一步处理。在示例实施例中,转发引擎19可以包括路由器的数据平面,其包括可以被查找以确定进入分组的目的地地址、传输的路径等的路由表格、可以用于发现适合的接口以发送出去分组的转发信息库以及其它逻辑组件。
在一些实施例中,将被移除的节点(例如,FD 14A)可以向汇聚路由器/交换机12A和12B发送控制平面消息。汇聚路由器/交换机12A和12B可以根据该消息确定可以将FD 14A从转发信道(例如,用于将分组从一层转发到另一层的介质)移除。控制平面消息可以使用到汇聚路由器/交换机12A和12B的控制信道。在示例实施例中,供应商可以管理汇聚路由器/交换机12A和12B以及FD 14A和14B。在这样的情形下,FD 14A和14B可以经由控制平面与汇聚路由器/交换机12A和12B进行通信。在这样的实施例中,经由控制平面的自动消息可以有助于准许将FD 14A从容地从集群中移除。
图1的网络基础设施可以包括10千兆比特以太网(GigaE)、千兆比特以太网、或以太通道通道,根据需要还伴有适当的第2层和第3层接口。可以使用例如冗余层3 10GigE链路、冗余节点等在网络中构建冗余。可以实现分开的核以依据管理和策略(例如,服务的质量、访问列表、故障检修、维护等)隔离分发层或汇聚层。通信系统10的组件可以位于数据中心内,并且提供服务以增强服务器和应用可用性、安全性等。在一个实施例中,汇聚路由器/交换机12A和12B可以包括Cisco Nexus汇聚路由器/交换机。在另一实施例中,FD 14A和14B以及服务节点16A-D可以包括应用控制引擎(ACE),该ACE包括基于并行网络处理器的架构,该架构具有分开的控制路径和数据路径、交换结构接口、具有路由管理器的适当的控制平面和数据平面、接口管理器等。
转向图2,图2是迁移客户端模块26的示例实现方式的简化框图。根据本公开的实施例,迁移客户端模块26包括处理器50、存储器52和继承者选择器54以及流处理器56。流处理器56可以读取或创建流表格58,并且读取或填入接收/发送(RX/TX)队列60。迁移客户端模块26还包括广播模块62。
在各种实施例中,流表格58存储在存储器52中并且RX/TX队列60存储在网络接口卡(NIC)上。NIC实现例如使用专用物理层和数据链路层标准(比如,以太网、WiFi或令牌环等)在网络中进行通信所需要的任何电子电路。NIC允许在同一局域网(LAN)上的计算机小组之间的通信和通过可路由的协议(比如,TCP/IP)的大规模网络通信。NIC可以是独立的卡或者它可以被集成到路由器或服务器的主板中。NIC可以具有合适的存储器(例如,静态随机存取存储器(SRAM))以存储流表格58和RX/TX队列60。在一个实施例中,存储器52和处理器50可以被布置在NIC上,并且流表格58和RX/TX队列60可以存储在存储器52中。
在操作中,继承者选择器54被配置为选择目标节点的一个或更多继承者。在示例实施例中,可以选择单个继承者。在另一实施例中,可以选择一个继承者和一个备份继承者。在又一实施例中,可以选择若干对等节点作为继承者。在又一实施例中,基本上集群中的所有节点都可以被选择作为继承者。继承者选择器54可以使用任何合适的算法来选择继承者。在一个实施例中,继承者选择器54选择如由各个可访问的流表格中的流表格条目的数目所确定的最不繁忙的继承者。在另一实施例中,继承者选择器54可以随机选择对等节点作为继承者。
根据又一实施例,每个迁移客户端模块26可以将各个FD(例如,FD14A和FD 14B)的流处理统计数据通知给迁移管理器28。流处理统计数据可以包括由每一对等节点(例如,FD)处理的流的数目。迁移管理器28可以将流处理统计数据转发给目标节点(例如,FD 14A)的迁移客户端模块26。目标节点的迁移客户端模块26可以基于流处理统计数据在对等节点之间分发这些流,以使得由这些对等节点处理的总的流被均匀地分发。例如,假设FD 14A有三个对等节点:每一个处理当前流的25%。目标节点的迁移客户端模块26可以由每一对等节点相等地分摊目标节点的流表格58。因此,对于目标节点的流的等分份而言,所有的对等节点都可以变为目标节点的继承者。在又一实施例中,可以手动选择继承者。例如管理员可以插入新的FD来代替目标节点(例如,以当它的其余对等节点繁忙时升级目标节点)。管理员可以迫使目标节点的迁移客户端模块26指定新的FD作为继承者(例如,以在目标节点升级/维护期间代替目标节点)。在又一实施例中,新的FD可以由目标节点的迁移客户端模块26自动地进行选择,因为在网络中该新的FD可能具有最少数目的流。
流处理器56被配置为将流从目标节点迁移到一个或更多继承者。在一个实施例中,流处理器56通过将流表格58复制到选定的继承者执行迁移。在将流表格58的内容已经复制到继承者之后,流表格58被清理(即,清除)。在流表格58被清除之后,目标节点能够脱离集群。广播模块62可通知转发交换机(例如,汇聚路由器/交换机12A)上的迁移管理器28:正在将目标节点从集群中移除。交换机(例如,汇聚路由器/交换机12A)随后可以停止转发任何分组到目标节点。流处理器56检测流表格58和双向网络流量正在其中排队的RX/TX队列60,例如,以判断是否有正在等候处理的分组。当RX/TX队列60为空时,广播模块62可以向集群上的对等节点广播继承者的状态。
转向图3,图3是通信系统10的另一实施例的简化框图。集群18的网络设计可以包括两层,其中第一层包括汇聚路由器/交换机12A和12B,第二层包括服务节点16A-D。服务节点16A-D可以连接到具有流同步的虚拟局域网(VLAN)70(并且向其提供服务)。FD的功能可以被集成在服务节点16A-D中。介于第一层和第二层之间的网络流量可以使用散列算法方案。第二层中(以及从第二层到VLAN 70)的网络流量可以使用基于流的分组转发方案。
在汇聚路由器/交换机12A和12B的每个中都可以布置迁移管理器28和转发引擎19。转发引擎19可以实现基于散列的分组转发。在服务节点16A-D的每个中都可以布置迁移客户端模块26。在各种实施例中,服务节点16A-D可以包括安全装置(比如Cisco自适应安全装置(ASA))。服务节点16A-D可以执行各种服务,比如,防火墙、内容安全(例如,防病毒、反间谍软件等)、IPsec、SSL VPN、入侵防御等。迁移客户端模块26可以作为各种其它服务的一部分在服务节点16A-D上运行。
汇聚路由器/交换机12A的迁移管理器28可以通知服务节点(例如,服务节点16A):它正被移除。服务节点16A的迁移客户端模块26可以选择合适的继承者(例如,服务节点16B)和备份继承者(例如,服务节点16C)并且将流表格从服务节点16A复制到服务节点16B和16C。迁移客户端模块26可以向其它对等节点(例如,服务节点16D)广播此次迁移并且将此次移除通知给汇聚路由器/交换机12A。汇聚路由器/交换机12A和12B可以向彼此传送迁移信息。迁移客户端模块26可以停止向服务节点16A转发分组,反而将分组路由到服务节点16B。
转向图4,图4是示出了可以与通信系统10相关联的操作活动的简化流程图。当迁移客户端模块26被通知其相关联的目标节点的移除时,操作100开始于102处。在104处,迁移客户端模块26的继承者选择器54可以从对等节点中选择适当的继承者。在106处,迁移客户端模块26的流处理器56可以将流表格58复制到(一个或更多)继承者。在108处,广播模块62可以向对等节点广播所迁移的流的新所有权。在110处,流处理器56可以清理流表格58。在112处,在将目标节点和继承者的状态变化通知给迁移管理器28之前,迁移客户端模块26可以等候流表格58成为空的并且RX/TX队列60中没有待决的数据分组。在一个实施例中,迁移客户端模块26可以向迁移管理器28发送消息,以将目标节点从与迁移管理器28相关联的转发引擎19中移除。操作结束于114处,并且迁移管理器28可以使得后续分组被转发到继承者。
转向图5,图5是示出了可以与本公开的实施例相关联的示例操作活动的简化流程图。当通信系统10被激活时,操作120开始于122处。在124处,(例如,在汇聚路由器/交换机12A中的)迁移管理器28指示要移除的目标节点(例如,FD 14A)。在一个实施例中,指令可以被传送到目标节点中的迁移客户端模块26。在126处,迁移管理器28等候来自迁移客户端模块26的、对目标节点将被移除的确认。在128处,一旦从迁移客户端模块26接收到确认,迁移管理器28可以改变(例如,在散列算法中的)散列范围以从进一步的流分发中移除目标节点。例如,改变散列范围可以导致目标节点的信息(比如,IP地址或端口)从散列算法中移除。过程结束于130处。
转向图6,图6是根据本公开的实施例的多个流程表条目140的示例。在各种实施例中,流程表条目140可以被实现于包括二级服务器集群的架构中。例如,第一级能够包括使用散列算法随机地散发分组,第二级能够包括基于流的分发。仅为了讨论的目的并且结合图5到图8,假设汇聚路由器/交换机12A的迁移管理器28指示FD 14A上的迁移客户端模块26将被脱离,并且FD 14A的迁移客户端模块26选择FD 14B作为继承者。在集群18仅包括两层的实施例中,假设汇聚路由器/交换机12A的迁移管理器28指示服务节点16A上的迁移客户端模块26将被脱离,并且迁移客户端模块26选择服务节点16B作为继承者。
在根据本图的实施例中,流表格条目140包括:key,其可以由流的分组的源IP、源端口、目的地IP、目的地端口和协议来定义;action_network,其可以包括将对流的分组执行的任何网络动作;action_application,其可以包括由传送流的分组的应用指定的动作。在其它实施例中,基于网络的流定义,key可替代地可以包括五个因子(源IP、源端口、目的地IP、目的地端口、协议或其合适的组合)的子集。
在各种实施例中,网络动作包括:转发(forward)(例如,分组在不进行任何处理的情况下被传递到节点)、重写(rewrite)(例如,为了合适的目的(比如负载平衡或者翻译到不同的网络等)分组被操纵以重写头部的一些部分,比如,目的地IP地址、MAC地址或端口等);或重新定向(redirect)(例如,分组被转发到真正的拥有者)。应用动作能够随传送分组的特定应用而不同。例如,分组可以被压缩、用于进行深度分组检测的解压缩、加密、解密、或缓存(例如,分组的副本被保存在网络节点中以用于快速访问)等。本文所述的流表格条目(例如,key、action_network、action_application)仅为示例的目的并且不意在限制。在本公开的宽泛的范围内还可以使用各种其它流表格条目。
转向图7,图7是根据本公开的实施例的、用于无中断迁移的简化算法150。算法150可以由FD 14A上的迁移客户端模块26(或者在适当的情况下由服务节点16A)实现。算法150包括:(1)调用函数flow_migrate();(2)指示从汇聚路由器/交换机12A上的转发引擎19移除成员(即,FD 14A);(3)等候直到FD 14A的流表格为空并且(可以存储在FD 14A中的NIC上的)RX/TX队列60中没有待决的分组;以及(4)将FD 14A的memberStatus(成员状态)设置为“DISCHARGED FROM CLUSTER”(脱离集群)或者表明目标节点脱离集群18的其它值。
在一个实施例中,调用flow_migrate()函数可以通过在汇聚路由器/交换机12A上进行手动CLI步骤。在另一实施例中,调用flow_migrate()函数可以通过经由控制平面上的API到汇聚路由器/交换机12A的自动消息。在一个实施例中,memberStatus可以经由API被传送到较高层控制平面。在另一实施例中,memberStatus可以被显示在汇聚路由器/交换机12A的CLI上。可替代地,或者另外地,memberStatus可以被显示在与汇聚路由器/交换机12A的迁移管理器28相关联的适当的图形用户接口上。一旦memberStatus已经被设置为“DISCHARGED FROM CLUSTER”,较高的控制点管理软件或者用户能够安全地将FD 14A从网络中移除。
转向图8,图8是根据本公开的实施例的、将流从目标节点迁移到继承者的简化算法160。根据本图的实施例,变量myInheritor(其能够定义目标节点(即,根据本示例的FD14A)的继承者(即,根据本示例的FD14B))被设置为具有最少数目的流的成员。具有最少数目的流的成员可能是最不忙的,因此,分组由这样的成员丢弃的概率可能很低。在其它实施例中,基于具体的需求,myInheritor可以根据对等节点的IP地址(例如,最近的IP地址等)或视情况而定的其它参数而被设置。然后开启flow_migrate。FD 14A的流表格58可以被复制到myInheritor的(即,FD14B的)流表格58中。复制可以通过目标节点(即,FD 14A)和继承者(即,FD 14B)之间的点对点通信实现。然后,FD 14A的迁移客户端模块26可以向对等节点广播:myInheritor(即,FD 14B)是流表格58中的所有流表格条目的拥有者。流表格58然后被清理以移除所有流表格条目140。
转向图9,图9示出了根据本公开的实施例的示例流处理算法170。为了说明,假设分组packet_a遍历通信系统10的二级集群。如果开启流迁移,分组由迁移客户端模块26重新定向到继承者14B。如果packet_a在汇聚路由器/交换机12A的迁移管理器28已经指示FD14A的迁移客户端模块26使FD 14A脱离集群之后并且在FD 14A完全脱离集群之前到达FD14A,则开启流迁移。
如果未开启流迁移(表明FD 14A没有正脱离集群),FD 14A可以根据现有方法处理packet_a。例如,如果packet_a是SYN分组,则它可以表明新的流。新的flow_a可以被创建。flow_a的动作可以根据网络服务(例如,转发、或重定向、或重写等)而被预先描述。packet_a可以根据预先描述的动作而被处理。接下来,reverse_flow_a(其是packet_a在同一通信会话中其返回路径中的流)以及对应的动作被定义。在实施例中,reverse_flow_a是通过交换packet_a的分组头部中的源地址和目的地地址而定义的。一些应用可以具有流持久性要求;进入分组和返回分组应当属于同一流(和流表格)。flow_a和reverse_flow_a被插入到流表格58中。FD14A向其对等节点广播:它是flow_a和reverse_flow_a的拥有者。然后,分组根据其目的地被处理和转发。
如果packet_a与具有不同的拥有者(例如,FD 14B)的flow_a相匹配,那么FD 14A可以将packet_a重定向到FD 14B。分别地,如果packet_a不是表明现有的flow_a的SYN分组,并且FD 14A是flow_a的拥有者,那么FD 14A可以根据按照FD 14A的流表格58中的flow_a预先描述的(或匹配的)动作来处理packet_a。packet_a可以被转发到其目的地。如果分组是表明流的结束的FIN/RST分组,flow_a可以从流表格58中被移除。
在示例实施例中,本文所概述的活动的至少一些部分可以在布置于例如节点(例如,FD 14A和14B和/或汇聚路由器/交换机12A和12B)中的非暂态逻辑(即,软件)中实现。这能够包括被布置在网络中的各种位置的转发引擎19、迁移管理器28、迁移客户端模块26和/或继承者选择器54的一个或更多实例。在一些实施例中,这些功能中的一个或更多个可以在被提供在这些元件的外部或以任何适当的方式合并来实现预期的功能的硬件中实现。汇聚路由器/交换机12A和12B、FD 14A和14B、和/或服务节点16A-D可以包括能够为了实现本文所概述的操作而协调的软件(或交互式软件(reciprocating software))。在其它实施例中,这些元件可以包括任何适合的算法、硬件、软件、组件、模块、接口或协助其操作的对象。
此外,本文所描述和示出的通信系统10的组件还可以包括合适的接口,以在网络环境中接收、发送和/或以其它方式传送数据或信息。另外,与各种节点相关联的一些处理器和存储器可以被移除或以其它方式合并,以使得单个处理器和单个存储器位置负责某些活动。一般来讲,附图中所描绘的部署在其表现方面可以更逻辑化,然而物理架构可以包括这些元件的各种排列、组合和/或混合。必须注意的是数不尽的可能的设计配置能够用于实现本文概括的操作对象。因此,相关联的基础设施具有无数种替代的部署、设计选择、设备可能性、硬件配置、软件实现方式、装备选项等。
在一些示例实施例中,一个或更多存储器(例如,与迁移客户端模块26相关联的存储器)能够存储用于本文所述的操作的数据。这包括能够存储指令(例如,软件、逻辑、代码等)的存储器,这些指令被执行以进行本说明书所描述的活动。处理器能够执行与数据相关联的任何类型的指令以实现本说明书中在此详细描述的操作。在一个示例中,与迁移客户端模块26相关联的一个或更多存储器能够将元件或物体(例如,数据)从一种状态或事物转换为另一种状态或事物。在另一示例中,本文所概述的活动可以使用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现,并且本文所标识的元件能够是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、包括数字逻辑的ASIC、软件、代码、电子指令、闪速存储器、光盘、CD-ROM、DVD ROM、磁卡或光卡、其它类型的适于存储电子指令的机器可读介质、或其任何合适的组合。
通信系统10中的组件能够包括一个或更多存储器(例如,与迁移客户端模块26相关联的存储器),以存储用于实现本文所概述的操作的信息。在适当的情况下并且基于具体需求,这些设备可以进一步将信息保存在任何合适类型的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等)、软件、硬件、或任何其它合适的组件、设备、元件或客体中。基于具体地需求和实现方式,通信系统10中所追踪、发送、接收或存储的信息能够被提供在任何数据库、寄存器、表格、缓存、队列、控制列表或存储结构中,所有这些信息能够在任何合适的时间表中被参考。本文所讨论的任何存储器项目都应当被解释为包含在宽泛的术语‘存储器’内。类似地,本说明书中所描述的任何可能的处理元件、模块和机器应当被解释为包含在宽泛的术语‘处理器’内。
请注意,以本文所提供的多个实施例,交互可以按照两个、三个、四个或更多节点进行描述。然而,这仅是为清楚和示例的目的而进行的。应当理解的是,系统能够以任何合适的方式合并。随着类似的设计替代方案,附图中所示出的任何计算机、模块、组件和元件可以组合在各种可能的配置中,所有这些各种可能的配置都明确地在本说明书的宽泛的范围内。在某些情形下,仅通过参考有限数目的节点来描述一组给定的流的一个或更多功能是容易的。应当理解的是,附图的通信系统10及其教导易于扩展并且能够容纳大量的组件以及更复杂/精密的部署和配置。因此,所提供的示例不应当限制可能应用于无数其它架构的通信系统10的范围或约束通信系统10的宽泛教导。
请注意,在本说明书中,提及包括在“一个实施例”、“示例实施例”、“实施例”、“另一实施例”、“一些实施例”、“各种实施例”、“其它实施例”、“替代实施例”等中的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)意在表示任何这样的特征都包括在本公开的一个或更多实施例中,但是可以或者不一定被组合在相同的实施例中。此外,词语“优化”、“最佳”、“最适宜的”以及相关术语是涉及具体结果的速度和/或效率的提升领域的术语,并且不意图表明获得具体的结果的处理已经实现或者能够实现“最优化”或完美的速度/完美的效率状态。
重要的是要注意到:参照上述附图描述的操作或步骤仅示出了可由该系统执行或在该系统内执行的一些可能的情形。在适当的情况下,这些操作中的一些可以被删除或移除,或者在不脱离所讨论的概念的范围情况下,这些步骤可以被相当大地修改或改变。另外,这些操作的时序可以被相当大地改变并且仍然实现本公开所教导的结果。上述操作流程是为示例和讨论的目的而给出的。系统提供实质的灵活性,因为在不脱离所讨论的概念的教导情况下,任何合适的部署、事件发生顺序、配置、及时序机制都可以被提供。
尽管已经参照具体的部署和配置对本公开进行了详细描述,但是在不脱离本公开的范围的情况下这些示例配置和部署可以被显著地改变。例如,尽管已经参照涉及某些网络访问和协议的具体通信交换对本公开进行了描述,但是通信系统10可以适用于其它对分组进行交换以提供移动性数据、连接性参数、访问管理等的交换或路由协议。而且,尽管已经参照辅助通信处理的具体元件或操作对通信系统10进行了说明,但是可以用实现通信系统10的预期功能的任何合适的架构或处理来替代这些元件和操作。
多种其它变化、替换、变体、变更和修改对本领域技术人员来说可以是确定的,并且本公开意在涵盖落入所附权利要求范围内的所有这样的变化、替换、变体、变更和修改。为了帮助美国专利商标局(United States Patent and Trademark Office,USPTO)以及相应地本申请中所发布的任何专利文献的读者理解所附权利要求,申请人希望指出:申请人(a)不打算存在于本申请的申请日的任何所附权利要求援引35U.S.C.章节112的第六段(6),除非词语“用于……的装置”或“用于……的步骤”具体地用于特定权利要求;并且(b)不打算通过说明书中的任何声明、以没有反映在所附权利要求中的任何方式来限制本公开。
Claims (14)
1.一种用于网络环境中的节点的无中断管理的方法,包括:
使目标节点脱离集群,其中该集群包括网络拓扑的第一层和网络拓扑的第二层,所述网络拓扑的第一层包括实现基于散列的分组转发的转发引擎,并且所述网络拓扑的第二层包括实现基于流的分组转发的所述目标节点和继承者,其中所述脱离包括:
选择所述继承者;
将流表格从所述目标节点复制到所述继承者,其中所述流表格包括一组包括流钥匙的条目,所述流钥匙标识流和将对与所述流钥匙匹配的分组执行的相应动作;
将流从所述目标节点迁移到所述继承者;
通知迁移管理器:所述目标节点脱离所述集群;以及
向所述目标节点的对等节点广播:所述目标节点由所述继承者代替。
2.如权利要求1所述的方法,其中所述集群还包括:
第三层,其包括被配置为在网络中进行分组处理的服务节点。
3.如权利要求1所述的方法,其中所述继承者包括所述集群的节点的子集中的、所述目标节点的具有最少数目的流的对等节点。
4.如权利要求1所述的方法,其中所述继承者包括所述集群中的新的对等节点。
5.如权利要求1所述的方法,其中选择所述继承者包括:
从迁移管理器接收对等节点的流处理统计数据;以及
基于所述流处理统计数据在所述对等节点之间分发所述流,以使得正由所述对等节点处理的流的总数均匀地分发。
6.如权利要求1所述的方法,其中所述目标节点包括流-分组分发器。
7.如权利要求1所述的方法,还包括:
清理所述流表格;
识别所述流表格为空并且所述目标节点的接收/发送(RX/TX)队列中没有待决的数据分组;以及
设置所述目标节点的状态以表明所述目标节点脱离所述集群。
8.如权利要求1所述的方法,还包括:
将分组从所述目标节点重定向到所述继承者。
9.如权利要求1所述的方法,还包括:
提供用于移除所述目标节点的指令;
识别所述目标节点被移除的确认;以及
改变散列算法中的散列范围以移除所述目标节点。
10.一种用于网络环境中的节点的无中断管理的装置,包括:
存储器,其被配置为存储指令;
处理器,其能操作来执行所述指令;
继承者选择器模块;
流处理器;以及
广播模块,其中所述装置被配置为:
使目标节点脱离集群,其中该集群包括网络拓扑的第一层和网络拓扑的第二层,所述网络拓扑的第一层包括实现基于散列的分组转发的转发引擎,并且网络拓扑的第二层包括实现基于流的分组转发的所述目标节点和继承者,其中所述脱离包括:
选择所述继承者;
将流从所述目标节点迁移到所述继承者;
将流表格从所述目标节点复制到所述继承者,其中所述流表格包括一组包括流钥匙的条目,所述流钥匙标识流和将对与所述流钥匙匹配的分组执行的相应动作;
通知迁移管理器:所述目标节点脱离所述集群;以及
向所述目标节点的对等节点广播:所述目标节点由所述继承者代替。
11.如权利要求10所述的装置,其中所述装置还被配置为:
清理所述流表格;
识别所述流表格为空并且所述目标节点的RX/TX队列中没有待决的数据分组;以及
设置所述目标节点的状态以表明所述目标节点脱离所述集群。
12.一种用于网络环境中的节点的无中断管理的系统,该系统包括:
用于使目标节点脱离集群的装置,其中该集群包括网络拓扑的第一层和网络拓扑的第二层,所述网络拓扑的第一层包括实现基于散列的分组转发的转发引擎,并且所述网络拓扑的第二层包括实现基于流的分组转发的所述目标节点和继承者,其中所述用于使目标节点脱离集群的装置被配置为:
选择所述继承者;
将流从所述目标节点迁移到所述继承者;
将流表格从所述目标节点复制到所述继承者,其中所述流表格包括一组包括流钥匙的条目,所述流钥匙标识流和将对与所述流钥匙匹配的分组执行的相应动作;
通知迁移管理器:所述目标节点脱离所述集群;以及
向所述目标节点的对等节点广播:所述目标节点由所述继承者代替。
13.如权利要求12所述的系统,其中所述继承者包括所述集群的节点的子集中的、所述目标节点的具有最少数目的流的对等节点。
14.如权利要求12所述的系统,还包括:
用于清理所述流表格的装置;
用于识别所述流表格为空并且所述目标节点的RX/TX队列中没有待决的数据分组的装置;以及
用于设置所述目标节点的状态以表明所述目标节点脱离所述集群的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/329,023 US9088584B2 (en) | 2011-12-16 | 2011-12-16 | System and method for non-disruptive management of servers in a network environment |
US13/329,023 | 2011-12-16 | ||
PCT/US2012/067502 WO2013090035A1 (en) | 2011-12-16 | 2012-12-02 | System and method for non-disruptive management of servers in a network environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104011687A CN104011687A (zh) | 2014-08-27 |
CN104011687B true CN104011687B (zh) | 2017-09-29 |
Family
ID=47470152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280061940.0A Active CN104011687B (zh) | 2011-12-16 | 2012-12-02 | 用于网络环境中的服务器的无中断管理的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9088584B2 (zh) |
EP (1) | EP2791802B1 (zh) |
CN (1) | CN104011687B (zh) |
WO (1) | WO2013090035A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11799761B2 (en) | 2022-01-07 | 2023-10-24 | Vmware, Inc. | Scaling edge services with minimal disruption |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743885B2 (en) | 2011-05-03 | 2014-06-03 | Cisco Technology, Inc. | Mobile service routing in a network environment |
US9407433B1 (en) * | 2011-08-10 | 2016-08-02 | Nutanix, Inc. | Mechanism for implementing key-based security for nodes within a networked virtualization environment for storage management |
US9088584B2 (en) | 2011-12-16 | 2015-07-21 | Cisco Technology, Inc. | System and method for non-disruptive management of servers in a network environment |
US8879563B2 (en) * | 2012-02-10 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Content-based forwarding of network traffic |
CN104246743B (zh) * | 2012-02-20 | 2017-03-29 | 维图斯瑞姆Ip控股公司 | 涉及在网络上虚拟机主机隔离的系统和方法 |
US9031563B2 (en) * | 2012-04-12 | 2015-05-12 | Qualcomm Incorporated | Enhanced inter-RAT mobility support using inter-RAT channel avoidance |
CN103379185B (zh) * | 2012-04-26 | 2016-08-03 | 华为技术有限公司 | 一种网络地址转换的方法、设备和系统 |
US8891364B2 (en) * | 2012-06-15 | 2014-11-18 | Citrix Systems, Inc. | Systems and methods for distributing traffic across cluster nodes |
CN102769568B (zh) * | 2012-07-19 | 2015-10-21 | 中兴通讯股份有限公司 | 一种基于虚拟交换集群的流量转发方法及系统 |
US9355036B2 (en) | 2012-09-18 | 2016-05-31 | Netapp, Inc. | System and method for operating a system to cache a networked file system utilizing tiered storage and customizable eviction policies based on priority and tiers |
US20140082129A1 (en) * | 2012-09-18 | 2014-03-20 | Netapp, Inc. | System and method for managing a system of appliances that are attached to a networked file system |
US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
US9608877B2 (en) * | 2012-12-17 | 2017-03-28 | Marvell World Trade Ltd. | Network discovery apparatus |
US9197553B2 (en) * | 2013-03-29 | 2015-11-24 | Cisco Technology, Inc. | Using a virtual internet protocol address to represent dually connected hosts in an internet protocol overlay network |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
CN105378745A (zh) * | 2013-05-30 | 2016-03-02 | 惠普发展公司,有限责任合伙企业 | 基于安全问题禁用和启用节点 |
US9509614B2 (en) | 2013-06-20 | 2016-11-29 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
US10110684B1 (en) | 2013-08-15 | 2018-10-23 | Avi Networks | Transparent network service migration across service devices |
US9311331B2 (en) | 2013-08-27 | 2016-04-12 | Netapp, Inc. | Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system |
US10860529B2 (en) | 2014-08-11 | 2020-12-08 | Netapp Inc. | System and method for planning and configuring a file system migration |
US9304997B2 (en) | 2013-08-27 | 2016-04-05 | Netapp, Inc. | Asynchronously migrating a file system |
US9311314B2 (en) | 2013-08-27 | 2016-04-12 | Netapp, Inc. | System and method for migrating data from a source file system to a destination file system with use of attribute manipulation |
US9300692B2 (en) | 2013-08-27 | 2016-03-29 | Netapp, Inc. | System and method for implementing data migration while preserving security policies of a source filer |
US20160041996A1 (en) | 2014-08-11 | 2016-02-11 | Netapp, Inc. | System and method for developing and implementing a migration plan for migrating a file system |
US9473398B2 (en) * | 2013-10-23 | 2016-10-18 | International Business Machines Corporation | Devolved routing in software-defined networks |
US9577939B2 (en) * | 2013-11-07 | 2017-02-21 | Cisco Technology, Inc. | Method and apparatus for distributing EtherChannel load based on variance |
US9231871B2 (en) * | 2013-11-25 | 2016-01-05 | Versa Networks, Inc. | Flow distribution table for packet flow load balancing |
US9374297B2 (en) | 2013-12-17 | 2016-06-21 | Cisco Technology, Inc. | Method for implicit session routing |
US9372766B2 (en) | 2014-02-11 | 2016-06-21 | Saudi Arabian Oil Company | Circumventing load imbalance in parallel simulations caused by faulty hardware nodes |
US9344337B2 (en) | 2014-03-13 | 2016-05-17 | Cisco Technology, Inc. | Service node originated service chains in a network environment |
CN104980361B (zh) | 2014-04-01 | 2018-09-21 | 华为技术有限公司 | 一种负载均衡方法、装置及系统 |
DK3127300T3 (da) * | 2014-05-12 | 2019-10-07 | Google Llc | Håndtering af nic-krypterede flows til at migrere gæster eller opgaver |
US9379931B2 (en) | 2014-05-16 | 2016-06-28 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9479443B2 (en) | 2014-05-16 | 2016-10-25 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9602308B2 (en) | 2014-06-23 | 2017-03-21 | International Business Machines Corporation | Servicing packets in a virtual network and a software-defined network (SDN) |
US9455908B2 (en) * | 2014-07-07 | 2016-09-27 | Cisco Technology, Inc. | Bi-directional flow stickiness in a network environment |
US9026840B1 (en) | 2014-09-09 | 2015-05-05 | Belkin International, Inc. | Coordinated and device-distributed detection of abnormal network device operation |
US10063439B2 (en) | 2014-09-09 | 2018-08-28 | Belkin International Inc. | Coordinated and device-distributed detection of abnormal network device operation |
US9819573B2 (en) | 2014-09-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Method for scalable computer network partitioning |
US9544225B2 (en) * | 2014-09-16 | 2017-01-10 | Microsoft Technology Licensing, Llc | Method for end point identification in computer networks |
US10044617B2 (en) | 2014-11-14 | 2018-08-07 | Nicira, Inc. | Stateful services on stateless clustered edge |
US9876714B2 (en) | 2014-11-14 | 2018-01-23 | Nicira, Inc. | Stateful services on stateless clustered edge |
US9866473B2 (en) | 2014-11-14 | 2018-01-09 | Nicira, Inc. | Stateful services on stateless clustered edge |
WO2016076900A1 (en) * | 2014-11-14 | 2016-05-19 | Nicira, Inc. | Stateful services on stateless clustered edge |
US11533255B2 (en) * | 2014-11-14 | 2022-12-20 | Nicira, Inc. | Stateful services on stateless clustered edge |
US10417025B2 (en) | 2014-11-18 | 2019-09-17 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
EP3241345A1 (en) * | 2015-01-08 | 2017-11-08 | Huawei Technologies Co., Ltd. | Fault tolerant, content download system |
US9800549B2 (en) * | 2015-02-11 | 2017-10-24 | Cisco Technology, Inc. | Hierarchical clustering in a geographically dispersed network environment |
US9503363B2 (en) | 2015-03-16 | 2016-11-22 | Cisco Technology, Inc. | Segment routing label switch paths in network functions virtualization communications networks |
US11283697B1 (en) | 2015-03-24 | 2022-03-22 | Vmware, Inc. | Scalable real time metrics management |
US20160285957A1 (en) * | 2015-03-26 | 2016-09-29 | Avaya Inc. | Server cluster profile definition in a distributed processing network |
US9762402B2 (en) | 2015-05-20 | 2017-09-12 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
US9985869B2 (en) | 2015-06-09 | 2018-05-29 | International Business Machines Corporation | Support for high availability of service appliances in a software-defined network (SDN) service chaining infrastructure |
WO2017019108A1 (en) | 2015-07-30 | 2017-02-02 | Hewlett Packard Enterprise Development Lp | Firmware update of an interconnect device |
US9979629B2 (en) | 2015-08-21 | 2018-05-22 | Cisco Technology, Inc. | Distribution of segment identifiers in network functions virtualization and software defined network environments |
WO2017037193A1 (en) * | 2015-09-02 | 2017-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and network nodes for scalable top-of-chain selection in mobile service chaining |
CN106656905B (zh) * | 2015-10-28 | 2020-02-21 | 新华三技术有限公司 | 防火墙集群实现方法及装置 |
JP6575318B2 (ja) * | 2015-11-18 | 2019-09-18 | 富士通株式会社 | ネットワーク制御装置、クラスタシステムおよび制御プログラム |
US11044203B2 (en) | 2016-01-19 | 2021-06-22 | Cisco Technology, Inc. | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
US11108592B2 (en) * | 2016-01-21 | 2021-08-31 | Cox Communications, Inc. | Systems and methods for implementing a layer two proxy for wireless network data |
US10594620B1 (en) * | 2016-03-23 | 2020-03-17 | Amazon Technologies, Inc. | Bit vector analysis for resource placement in a distributed system |
US10187306B2 (en) | 2016-03-24 | 2019-01-22 | Cisco Technology, Inc. | System and method for improved service chaining |
US10362109B2 (en) | 2016-03-30 | 2019-07-23 | Task Performance Group, Inc. | Cloud operating system and method |
US10931793B2 (en) | 2016-04-26 | 2021-02-23 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10218616B2 (en) | 2016-07-21 | 2019-02-26 | Cisco Technology, Inc. | Link selection for communication with a service function cluster |
US10225270B2 (en) | 2016-08-02 | 2019-03-05 | Cisco Technology, Inc. | Steering of cloned traffic in a service function chain |
US10218593B2 (en) | 2016-08-23 | 2019-02-26 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
US10361969B2 (en) | 2016-08-30 | 2019-07-23 | Cisco Technology, Inc. | System and method for managing chained services in a network environment |
US10476945B2 (en) * | 2017-02-01 | 2019-11-12 | Juniper Networks, Inc. | Consistent flow assignment in load balancing |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10439930B2 (en) * | 2017-04-26 | 2019-10-08 | Futurewei Technologies, Inc. | Packet batch processing with graph-path based pre-classification |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
US10735275B2 (en) | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
US10798187B2 (en) | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
US10608957B2 (en) * | 2017-06-29 | 2020-03-31 | Cisco Technology, Inc. | Method and apparatus to optimize multi-destination traffic over etherchannel in stackwise virtual topology |
US10397271B2 (en) | 2017-07-11 | 2019-08-27 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
CN107395721B (zh) * | 2017-07-20 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种元数据集群扩容的方法和系统 |
US10673698B2 (en) | 2017-07-21 | 2020-06-02 | Cisco Technology, Inc. | Service function chain optimization using live testing |
US11296984B2 (en) | 2017-07-31 | 2022-04-05 | Nicira, Inc. | Use of hypervisor for active-active stateful network service cluster |
US11570092B2 (en) * | 2017-07-31 | 2023-01-31 | Nicira, Inc. | Methods for active-active stateful network service cluster |
US10951584B2 (en) | 2017-07-31 | 2021-03-16 | Nicira, Inc. | Methods for active-active stateful network service cluster |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
US10791065B2 (en) | 2017-09-19 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
US11018981B2 (en) | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
CN107612760B (zh) * | 2017-11-03 | 2021-08-24 | 睿石网云(北京)科技有限公司 | 一种业务服务的中断监测方法及系统 |
US10587517B2 (en) * | 2017-11-30 | 2020-03-10 | Juniper Networks, Inc. | Optimizing fabric path forwarding for virtual nodes within an electronic device |
US10379985B1 (en) * | 2018-02-01 | 2019-08-13 | EMC IP Holding Company LLC | Automating and monitoring rolling cluster reboots |
US11153122B2 (en) | 2018-02-19 | 2021-10-19 | Nicira, Inc. | Providing stateful services deployed in redundant gateways connected to asymmetric network |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
US10838711B2 (en) * | 2018-09-20 | 2020-11-17 | Mellanox Technologies Tlv Ltd. | In-service software/firmware update |
BR112022009957A2 (pt) * | 2019-11-21 | 2022-08-09 | Smartsky Networks LLC | Método e aparelho para melhorar um sistema wi-fi ar-terra |
CN111181801B (zh) * | 2019-12-04 | 2021-11-09 | 腾讯云计算(北京)有限责任公司 | 节点集群测试方法、装置、电子设备及存储介质 |
US11245752B2 (en) * | 2020-04-30 | 2022-02-08 | Juniper Networks, Inc. | Load balancing in a high-availability cluster |
CN111917573B (zh) * | 2020-07-13 | 2023-04-18 | 海南车智易通信息技术有限公司 | 监控方法、监控系统及计算设备 |
US11477117B1 (en) * | 2020-11-23 | 2022-10-18 | Juniper Networks, Inc. | High-availability switchover based on traffic metrics |
CN112631718A (zh) * | 2020-12-21 | 2021-04-09 | 常州微亿智造科技有限公司 | 工业物联网下实现Controller和Worker服务联合的方法及系统 |
US11741232B2 (en) | 2021-02-01 | 2023-08-29 | Mellanox Technologies, Ltd. | Secure in-service firmware update |
US11962564B2 (en) | 2022-02-15 | 2024-04-16 | VMware LLC | Anycast address for network address translation at edge |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167438A (en) | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US8150997B2 (en) | 2001-04-24 | 2012-04-03 | International Business Machines Corporation | Technique for efficient data transfer within a virtual network |
US7647422B2 (en) * | 2001-11-06 | 2010-01-12 | Enterasys Networks, Inc. | VPN failure recovery |
US7231462B2 (en) | 2001-12-21 | 2007-06-12 | International Business Machines Corporation | Method of preserving symmetrical routing in a communication system based upon a server farm |
US8001279B2 (en) | 2001-12-21 | 2011-08-16 | International Business Machines Corporation | Method of synchronizing firewalls in a communication system based upon a server farm |
US7209435B1 (en) | 2002-04-16 | 2007-04-24 | Foundry Networks, Inc. | System and method for providing network route redundancy across Layer 2 devices |
US7197660B1 (en) * | 2002-06-26 | 2007-03-27 | Juniper Networks, Inc. | High availability network security systems |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
US7860095B2 (en) | 2003-10-30 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load-balancing |
US20050257002A1 (en) * | 2004-04-30 | 2005-11-17 | Nokia, Inc. | Apparatus and method for neighbor cache table synchronization |
US7657940B2 (en) | 2004-10-28 | 2010-02-02 | Cisco Technology, Inc. | System for SSL re-encryption after load balance |
US7571470B2 (en) | 2004-10-28 | 2009-08-04 | Cisco Technology, Inc. | One arm data center topology with layer 4 and layer 7 services |
US7558261B2 (en) | 2004-10-28 | 2009-07-07 | Cisco Technology, Inc. | Architecture and method for accessing services in a data center |
US20060092950A1 (en) | 2004-10-28 | 2006-05-04 | Cisco Technology, Inc. | Architecture and method having redundancy in active/active stateful devices based on symmetric global load balancing protocol (sGLBP) |
US7610375B2 (en) | 2004-10-28 | 2009-10-27 | Cisco Technology, Inc. | Intrusion detection in a data center environment |
US20060095960A1 (en) | 2004-10-28 | 2006-05-04 | Cisco Technology, Inc. | Data center topology with transparent layer 4 and layer 7 services |
US7643468B1 (en) | 2004-10-28 | 2010-01-05 | Cisco Technology, Inc. | Data-center network architecture |
US7693050B2 (en) | 2005-04-14 | 2010-04-06 | Microsoft Corporation | Stateless, affinity-preserving load balancing |
US7990847B1 (en) * | 2005-04-15 | 2011-08-02 | Cisco Technology, Inc. | Method and system for managing servers in a server cluster |
US8311045B2 (en) | 2006-04-07 | 2012-11-13 | Cisco Technology, Inc. | System and method for selectively applying a service to a network packet using a preexisting packet header |
US20070250836A1 (en) * | 2006-04-24 | 2007-10-25 | Inventec Corporation | Method for expanding data flow |
US9253274B2 (en) | 2007-01-19 | 2016-02-02 | Cisco Technology, Inc. | Service insertion architecture |
US8291108B2 (en) * | 2007-03-12 | 2012-10-16 | Citrix Systems, Inc. | Systems and methods for load balancing based on user selected metrics |
US7668116B2 (en) | 2007-07-06 | 2010-02-23 | Cisco Technology, Inc. | Root node shutdown messaging for multipoint-to-multipoint transport tree |
CN101583155B (zh) * | 2008-05-16 | 2011-11-23 | 大唐移动通信设备有限公司 | 移动性管理实体上的负载迁移方法及通信设备 |
US8065559B2 (en) * | 2008-05-29 | 2011-11-22 | Citrix Systems, Inc. | Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server |
US8095935B2 (en) * | 2008-06-26 | 2012-01-10 | Microsoft Corporation | Adapting message delivery assignments with hashing and mapping techniques |
CN101316211B (zh) * | 2008-07-04 | 2011-09-14 | 华为技术有限公司 | 通信系统中迁移处理方法及网络侧设备 |
US8442043B2 (en) | 2008-12-29 | 2013-05-14 | Cisco Technology, Inc. | Service selection mechanism in service insertion architecture data plane |
KR101528389B1 (ko) | 2009-03-27 | 2015-06-11 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 적절한 서비스 레벨을 제공하는 방법 및 장치 |
US9686120B2 (en) | 2010-10-28 | 2017-06-20 | International Business Machines Corporation | Dynamic processing unit relocation in a multi-nodal environment based on incoming physical data |
US8762534B1 (en) * | 2011-05-11 | 2014-06-24 | Juniper Networks, Inc. | Server load balancing using a fair weighted hashing technique |
US9088584B2 (en) | 2011-12-16 | 2015-07-21 | Cisco Technology, Inc. | System and method for non-disruptive management of servers in a network environment |
US8830834B2 (en) | 2011-12-21 | 2014-09-09 | Cisco Technology, Inc. | Overlay-based packet steering |
JP5994261B2 (ja) | 2012-01-31 | 2016-09-21 | ブラザー工業株式会社 | 通信装置 |
US20130279503A1 (en) | 2012-02-17 | 2013-10-24 | Rockstar Consortium Us Lp | Next Hop Computation Functions for Equal Cost Multi-Path Packet Switching Networks |
US9270654B2 (en) | 2012-12-31 | 2016-02-23 | Ipass Inc. | Automated configuration for network appliances |
US9219781B2 (en) | 2013-04-06 | 2015-12-22 | Citrix Systems, Inc. | Systems and methods for GSLB preferred backup list |
US9826025B2 (en) | 2013-05-21 | 2017-11-21 | Cisco Technology, Inc. | Chaining service zones by way of route re-origination |
-
2011
- 2011-12-16 US US13/329,023 patent/US9088584B2/en active Active
-
2012
- 2012-12-02 CN CN201280061940.0A patent/CN104011687B/zh active Active
- 2012-12-02 EP EP12808977.8A patent/EP2791802B1/en active Active
- 2012-12-02 WO PCT/US2012/067502 patent/WO2013090035A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11799761B2 (en) | 2022-01-07 | 2023-10-24 | Vmware, Inc. | Scaling edge services with minimal disruption |
Also Published As
Publication number | Publication date |
---|---|
CN104011687A (zh) | 2014-08-27 |
WO2013090035A1 (en) | 2013-06-20 |
EP2791802A1 (en) | 2014-10-22 |
EP2791802B1 (en) | 2019-09-11 |
US9088584B2 (en) | 2015-07-21 |
US20130155902A1 (en) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104011687B (zh) | 用于网络环境中的服务器的无中断管理的系统和方法 | |
US11061942B2 (en) | Unstructured data fusion by content-aware concurrent data processing pipeline | |
US11573840B2 (en) | Monitoring and optimizing interhost network traffic | |
US9858104B2 (en) | Connecting fabrics via switch-to-switch tunneling transparent to network servers | |
Chen et al. | Survey on routing in data centers: insights and future directions | |
CN1914867B (zh) | 虚拟网络设备中的接口束 | |
CN103891209B (zh) | 网络控制系统中的控制器 | |
US20190116133A1 (en) | Ruled-based network traffic interception and distribution scheme | |
CN108028813A (zh) | 用于在高性能计算环境中使用用于线性转发表(lft)查找的全局路由报头(grh)中的子网前缀值的系统和方法 | |
CN107078921A (zh) | 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统 | |
CN106134137A (zh) | 受管理网关的路由通告 | |
CN107005584A (zh) | 内联服务交换机 | |
CN104519125B (zh) | 对于拓扑变化有弹性的分布式按次序负载分布 | |
CN105721358A (zh) | 多跳分布控制面和单跳数据面交换结构系统的方法和装置 | |
CN109905251A (zh) | 网络管理方法、装置、电子设备和存储介质 | |
EP3559833B1 (en) | Best-efforts database functions | |
EP3560148B1 (en) | Database functions-defined network switch | |
US20170195257A1 (en) | Cardinality based packet processing in software-defined networking (sdn) switches | |
CN110266593B (zh) | 一种基于流量监控的自适应路由切换云网络系统 | |
Manel et al. | An efficient MPLS-based source routing scheme in software-defined wide area networks (SD-WAN) | |
Bogdanski | Optimized routing for fat-tree topologies | |
Yan et al. | BigMaC: Reactive network-wide policy caching for SDN policy enforcement | |
Alqahtani et al. | Ernie: scalable load-balanced multicast source routing for cloud data centers | |
CN109587062A (zh) | 负载均衡信息同步的方法、装置和处理设备 | |
WO2017105816A1 (en) | Adaptive fabric multicast schemes |
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 |