# US 10,771,405 B2 · Switching and load balancing techniques in a communication network

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

- Number: US 10,771,405 B2
- Document ID: US10771405B2
- Status: Granted
- Kind: B2
- Application number: 16/172,598
- Filed: 2018-10-26
- Published: 2020-04-30
- Granted: 2020-09-08
- Earliest claimed: 2018-10-26
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Eric M. Levy-Abegnoli; Pascal Thubert; Patrick Wetterwald
- Web page: https://patentgrep.com/patent/US10771405B2

## CPC

- H04L 49/1515: Non-blocking multistage, e.g. Clos
- H04L 49/9089: {replacing packets in a storage arrangement, e.g. pushout}
- H04L 45/64: using an overlay routing layer
- H04L 47/11: Identifying congestion
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 47/32: by discarding or delaying data units, e.g. packets or frames
- H04L 49/1569: {Clos switching fabrics}
- H04L 49/25: Routing or path finding in a switch fabric
- H04L 45/7453: using hashing
- H04L 49/501: {Overload detection}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A source access network device multicasts copies of a packet to multiple core switches, for switching to a same target access network device. The core switches are selected for the multicast based on a load balancing algorithm managed by a central controller. The target access network device receives at least one of the copies of the packet and generates at least metric indicative of a level of traffic congestion at the core switches and feeds back information regarding the recorded at least one metric to the controller. The controller adjusts the load balancing algorithm based on the fed back information for selection of core switches for a subsequent data flow.

## Claims

### Claim 1

A method for switching data in a communication network, comprising:
obtaining at a source access network device a packet to send to a target access network device, wherein each of the source access network device and the target access network device is coupled to each of a plurality of core network devices;
transmitting by the source access network device the packet to a first core network device for switching to the target access network device, wherein the first core network device is selected from the plurality of core network devices based on a load balancing algorithm configured by a controller;
transmitting by the source access network device at least one copy of the packet to a respective second core network device for switching to the target access network device;
receiving at the target access network device at least one of the packet or the at least one copy of the packet;
generating by the target access network device based on the receiving, at least one metric indicative of a level of traffic congestion at the first and second core network devices;
transmitting by the target access network device information regarding the at least one metric to the controller; and
adjusting by the controller the load balancing algorithm based on the at least one metric.

### Claim 2 (depends on 1)

The method of claim 1, further comprising transmitting by the source access network device at least one subsequent packet based on the adjusted load balancing algorithm.

### Claim 3 (depends on 1)

The method of claim 1, further comprising receiving at the source access network device the packet from a source end point device for transmitting to a target end point device coupled to the target access network device.

### Claim 4 (depends on 3)

The method of claim 3, further comprising, after receiving at least one of the packet or the at least one copy of the packet, (i) forwarding by the target access network device one of the packet or the at least one copy of the packet to the target end point device and (ii) discarding the other packet.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
detecting that the packet is part of a critical traffic flow; and
wherein the transmitting by the source access network device the packet and the at least one copy of the packet is in response to detecting that the packet is part of the critical traffic flow.

### Claim 6 (depends on 5)

The method of claim 5, further comprising receiving by the source access network device from the controller an indication of the critical traffic flow.

### Claim 7 (depends on 1)

The method of claim 1, wherein the packet is part of operations, administration and maintenance (OAM) traffic.

### Claim 8 (depends on 7)

The method of claim 7, further comprising, after receiving at least one of the packet or the at least one copy of the packet, discarding the packet and the at least one copy of the packet.

### Claim 9 (depends on 1)

The method of claim 1, further comprising receiving at the source access network device a first indication from the controller to transmit the packet to the first core network device, wherein the first indication is based on the load balancing algorithm.

### Claim 10 (depends on 9)

The method of claim 9, further comprising receiving at the source access network device a second indication from the controller to transmit the at least one copy of the packet to the respective second core network device, wherein the second indication is based on the load balancing algorithm.

### Claim 11 (depends on 1)

The method of claim 1, wherein the respective second core network device is selected based on a random algorithm.

### Claim 12 (depends on 1)

The method of claim 1, further comprising replicating by the source access network device the packet using a redundancy protocol to generate the at least one copy of the packet.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
tagging by the source access network device the packet with a highest priority; and
tagging by the source access network device the at least one copy of the packet with a lower priority.

### Claim 14 (depends on 13)

The method of claim 13, wherein each of the plurality of core network devices is configured to switch packets from highest to lowest priorities.

### Claim 15

A communication network for switching data, comprising:
a controller for managing switching of traffic flows in the communication network;
a plurality of core network devices;
a source access network device; and
a target access network device, wherein each of the source access network device and the target access network device is coupled to each of a plurality of core network devices,
wherein the source access network device is configured to:
obtain a packet to send to the target access network device,
transmit the packet to a first core network device for switching to the target access network device, wherein the first core network device is selected from the plurality of core network devices based on a load balancing algorithm configured by a controller, and
transmit at least one copy of the packet to a respective second core network device for switching to the target access network device,
wherein the target access network device is configured to:
receive at least one of the packet or the at least one copy of the packet,
generate based on the receiving, at least one metric indicative of a level of traffic congestion at the first and second core network devices, and
transmit information regarding the at least one metric to the controller,
wherein the controller is configured to adjust the load balancing algorithm based on the at least one metric.

### Claim 16 (depends on 15)

The communication network of claim 15, wherein the source access network device is further configured to transmit at least one subsequent packet based on the adjusted load balancing algorithm.

### Claim 17 (depends on 15)

The communication network of claim 15, further comprising:
a source end point device coupled to the source access network device; and
a target end point device coupled to the target access network device,
wherein the source access network device is further configured to receive the packet from a source end point device for transmitting to the target end point device.

### Claim 18 (depends on 17)

The communication network of claim 17, wherein, after receiving at least one of the packet or the at least one copy of the packet, the target access network device is further configured to forward one of the packet or the at least one copy of the packet to the target end point device and discard the other packet.

### Claim 19 (depends on 15)

The communication network of claim 15, wherein the packet is part of operations, administration and maintenance (OAM) traffic.

### Claim 20

An apparatus for switching data in a communication network, comprising:
means for obtaining at a source access network device a packet to send to a target access network device, wherein each of the source access network device and the target access network device is coupled to each of a plurality of core network devices;
means for transmitting by the source access network device the packet to a first core network device for switching to the target access network device, wherein the first core network device is selected from the plurality of core network devices based on a load balancing algorithm configured by a controller;
means for transmitting by the source access network device at least one copy of the packet to a respective second core network device for switching to the target access network device;
means for receiving at the target access network device at least one of the packet or the at least one copy of the packet;
means for generating by the target access network device based on the receiving, at least one metric indicative of a level of traffic congestion at the first and second core network devices;
means for transmitting by the target access network device information regarding the at least one metric to the controller; and
means for adjusting by the controller the load balancing algorithm based on the at least one metric.
