# US 2013/0279366 A1 · Self-healing communications network

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

- Number: US 2013/0279366 A1
- Document ID: US20130279366A1
- Status: Published application
- Kind: A1
- Application number: 13/452,022
- Filed: 2012-04-20
- Published: 2013-10-24
- Earliest claimed: 2012-04-20
- Assignees: Allied Telesis Holdings K.K.
- Inventors: Sachin Surendran
- Web page: https://patentgrep.com/patent/US20130279366A1

## CPC

- H04L 12/462: {LAN interconnection over a bridge based backbone}
- H04L 43/0811: by checking connectivity
- H04L 45/18: Loop-free operations
- H04L 45/38: {Flow based routing}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present invention encompasses methods, apparati, and computer-readable media for detecting and removing unwanted loops in communications networks having host processors (10), nodes (16), and segments (14) connecting the nodes (16). A method embodiment of the present invention comprises the steps of collecting and storing a set of steady state data regarding direction of network (1) traffic flow through the nodes (16) and segments (14) for at least one network flow; comparing newly sampled flow with stored steady state data to detect flows whose paths contradict their steady state direction; and identifying a network loop when a segment (14) carries such contradictory flows.

## Claims

### Claim 1

A method for detecting unwanted loops in a communications network having host processors, nodes, and physical or virtual segments connecting the nodes, said method comprising the steps of:
collecting and storing a set of steady state data regarding direction of network traffic flow through the nodes and segments for at least one network flow;
comparing newly sampled flow with stored steady state data to detect flows whose paths contradict their steady state direction; and
identifying a network loop when a segment carries such contradictory flows.

### Claim 2 (depends on 1)

The method of claim 1 wherein:
a loop pointer is generated for each segment carrying such contradictory flows; and
the loop pointers point to the unwanted loop.

### Claim 3 (depends on 1)

The method of claim 1 wherein the method steps are performed by a host processor.

### Claim 4 (depends on 1)

The method of claim 1 wherein the method steps are performed by a collector computer other than a host processor.

### Claim 5 (depends on 4)

The method of claim 4 wherein the collector computer is coupled to the network via any form of data connectivity.

### Claim 6 (depends on 1)

The method of claim 1 wherein the method steps are performed by modules associated with each node.

### Claim 7 (depends on 6)

The method of claim 6 wherein:
a module associated with each node determines whether there are such contradictory flows at that node;
a first node experiencing such contradictory flows determines whether said node is connected to a second node experiencing such contradictory flows; and
when modules associated with the first node and the second node determine that each node is experiencing contradictory flows on the same connecting segment, then a module associated with at least one node breaks the segment.

### Claim 8 (depends on 7)

The method of claim 7 wherein the segment that is broken is the segment connecting the first node and the second node.

### Claim 9 (depends on 1)

The method of claim 1 wherein the steady state data is collected by a flow monitoring process from the group consisting of sflow and netflow.

### Claim 10 (depends on 1)

The method of claim 1 further comprising the step of disabling the segment carrying the bidirectional flows.

### Claim 11 (depends on 1)

The method of claim 1 further comprising the step of breaking a lowest bandwidth segment of the loop.

### Claim 12 (depends on 1)

The method of claim 1 further comprising the step of differentiating between an intentional network reconfiguration and a network loop.

### Claim 13 (depends on 12)

The method of claim 12 wherein an intentional network reconfiguration is detected by observing the following two conditions:
new samples of a flow in a steady state direction reduce to zero over a preselected period of time; and
new samples of the flow in an opposite direction increase over said preselected period of time.

### Claim 14 (depends on 1)

The method of claim 1 wherein the network is a digital packet network.

### Claim 15 (depends on 1)

The method of claim 1 wherein the network is an analog network.

### Claim 16 (depends on 1)

The method of claim 1 wherein a network flow contains information uniquely identifying said flow.

### Claim 17

A method for automatically healing a communications network experiencing an unwanted condition, said network having nodes coupled by segments, said method comprising at least one of the following steps:
disabling a newly introduced segment that has a created a loop within the network;
disabling a lowest bandwidth segment of the loop.

### Claim 18

At least one computer-readable medium comprising computer program instructions for detecting unwanted loops in a communications network having host processors, nodes, and segments connecting the nodes, said instructions adapted to effectuate the following method steps:
collecting and storing a set of steady state data regarding direction of network traffic flow through the nodes and segments for at least one network flow;
comparing newly sampled flow with stored steady state data to detect flows whose paths contradict their steady state direction; and
identifying a network loop when a segment carries such contradictory flows.

### Claim 19

Apparatus for detecting unwanted loops in a communications network containing nodes and segments connecting the nodes, said apparatus comprising:
means for collecting and storing a set of steady state data pertaining to direction of network traffic flow through the nodes and segments;
coupled to the collecting and storing means, means for comparing newly sampled flows with stored steady state data to detect flows whose paths contradict their steady state direction; and
coupled to the comparing means, means for detecting a network loop when a segment carries such contradictory flows.
