# US 2013/0155902 A1 · System and method for non-disruptive management of servers in a network environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0155902 A1
- Document ID: US20130155902A1
- Status: Published application
- Kind: A1
- Application number: 13/329,023
- Filed: 2011-12-16
- Published: 2013-06-20
- Earliest claimed: 2011-12-16
- Assignees: Cisco Technology, Inc.
- Inventors: Chao Feng; Samar Sharma; Ronak Desai; Diheng Qu
- Web page: https://patentgrep.com/patent/US20130155902A1

## CPC

- H04L 67/1031: Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
- G06F 11/16: Error detection or correction of the data by redundancy in hardware
- G06F 11/203: {using migration}
- G06F 11/2007: {using redundant communication media}
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2038: {with a single idle spare processing component}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An example method includes disengaging a target node from a cluster, where the disengaging comprises: selecting an inheritor; migrating flows from the target node to the inheritor; informing a migration manager that the target node is disengaged from the cluster; and broadcasting to peer nodes of the target node that the target node is replaced by the inheritor. In particular implementations of the present disclosure, the cluster can include a first layer of a network topology including a forwarding engine that implements hash-based packet forwarding; a second layer of the network topology comprising the target node and the inheritor, where the target node and the inheritor implement flow-based packet forwarding; and a third layer including service nodes configured for packet processing in a network.

## Claims

### Claim 1

A method comprising:
disengaging a target node from a cluster, wherein the disengaging comprises:
selecting an inheritor;
migrating flows from the target node to the inheritor;
informing a migration manager that the target node is disengaged from the cluster; and
broadcasting to peer nodes of the target node that the target node is replaced by the inheritor.

### Claim 2 (depends on 1)

The method of claim 1, wherein the cluster comprises:
a first layer of a network topology including a forwarding engine that implements hash-based packet forwarding; and
a second layer of the network topology comprising the target node and the inheritor, wherein the target node and the inheritor implement flow-based packet forwarding.

### Claim 3 (depends on 2)

The method of claim 2, wherein the cluster further comprises:
a third layer including service nodes configured for packet processing in a network.

### Claim 4 (depends on 1)

The method of claim 1, wherein the inheritor comprises a peer node of the target node having a least number of flows within a subset of nodes of the cluster.

### Claim 5 (depends on 1)

The method of claim 1, wherein the inheritor comprises a new peer node in the cluster.

### Claim 6 (depends on 1)

The method of claim 1, wherein selecting the inheritor comprises:
receiving flow handling statistics of peer nodes from the migration manager; and
distributing the flows among the peer nodes based on the flow handling statistics so that a total number of flows being handled by the peer nodes are evenly distributed.

### Claim 7 (depends on 1)

The method of claim 1, wherein the target node comprises a flow-packet distributor.

### Claim 8 (depends on 1)

The method of claim 1, wherein the migrating comprises duplicating a flow table to the inheritor.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
purging the flow table;
identifying that the flow table is empty and no data packet is pending in a receive/transmit (RX/TX) queue of the target node; and
setting a status of the target node to indicate that the target node is disengaged from the cluster.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
redirecting a packet from the target node to the inheritor.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
providing instructions for a removal of the target node;
identifying a confirmation that the target node is removed; and
changing a hash scope in a hashing algorithm to remove the target node.

### Claim 12

An apparatus, comprising:
a memory configured to store instructions;
a processor operable to execute the instructions;
an inheritor selector module;
a flow handler; and
a broadcast module, wherein the apparatus is configured for:
disengaging a target node from a cluster, wherein the disengaging comprises:
selecting an inheritor;
migrating flows from the target node to the inheritor;
informing a migration manager that the target node is disengaged from the cluster; and
broadcasting to peer nodes of the target node that the target node is replaced by the inheritor.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the cluster comprises:
a first layer of a network topology including a forwarding engine that implements hash-based packet forwarding; and
a second layer of the network topology comprising the target node and the inheritor, wherein the target node and the inheritor implement flow-based packet forwarding.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein the migrating comprises providing a flow table to the inheritor.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the apparatus is further configured for:
purging the flow table;
identifying that the flow table is empty and no data packet is pending in a RX/TX queue of the target node; and
setting a status of the target node to indicate that the target node is disengaged from the cluster.

### Claim 16

Logic encoded in non-transitory media that includes code for execution and when executed by a processor is operable to perform operations comprising:
disengaging a target node from a cluster, wherein the disengaging comprises:
selecting an inheritor;
migrating flows from the target node to the inheritor;
informing a migration manager that the target node is disengaged from the cluster; and
broadcasting to peer nodes of the target node that the target node is replaced by the inheritor.

### Claim 17 (depends on 16)

The logic of claim 16, wherein the cluster comprises:
a first layer of a network topology including a forwarding engine that implements hash-based packet forwarding; and
a second layer of the network topology comprising the target node and the inheritor, wherein the target node and the inheritor implement flow-based packet forwarding.

### Claim 18 (depends on 16)

The logic of claim 16, wherein the inheritor comprises a peer node of the target node having a least number of flows within a subset of nodes of the cluster.

### Claim 19 (depends on 16)

The logic of claim 16, wherein the migrating comprises duplicating a flow table to be provided to the inheritor.

### Claim 20 (depends on 19)

The logic of claim 19, the operations further comprising:
purging the flow table;
identifying that the flow table is empty and no data packet is pending in a RX/TX queue of the target node; and
setting a status of the target node to indicate that the target node is disengaged from the cluster.
