# US 12,010,013 B2 · Devices and method for controlling network routing configurations

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

- Number: US 12,010,013 B2
- Document ID: US12010013B2
- Status: Granted
- Kind: B2
- Application number: 17/396,367
- Filed: 2021-08-06
- Published: 2021-11-25
- Granted: 2024-06-11
- Earliest claimed: 2019-02-08
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Stefano Paris; Jeremie Leguay; Wei Chen; Qian Cao; Davide Sanvito; Antonio Capone; Ilario Filippini
- Web page: https://patentgrep.com/patent/US12010013B2

## CPC

- H04L 43/04: Processing captured monitoring data, e.g. for logfile generation
- H04L 45/02: Topology update or discovery
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/38: {Flow based routing}
- H04L 45/42: Centralised routing
- H04L 45/46: {Cluster building}
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A device for controlling network routing configurations is configured to obtain a predicted traffic matrix and a plurality of traffic matrices, and to determine, from a plurality of clusters, arranged in a hierarchical structure over the predicted traffic matrix and the plurality of traffic matrices, a first cluster allocated to a lower hierarchy level that contains the predicted traffic matrix. Each of the clusters is associated with a routing configuration, and the plurality of clusters are allocated to at least two different hierarchy levels. The device selects, from the plurality of clusters, a second cluster allocated to a higher hierarchy level that includes at least the first cluster and a third cluster allocated to the lower hierarchy level that contains a current traffic matrix, determine a second routing configuration associated with the second cluster; and activate the second routing configuration as a network routing configuration.

## Claims

### Claim 1

A hardware controller for controlling network routing configurations in a network, the hardware controller being configured to:
obtain a predicted traffic matrix and a plurality of traffic matrices;
determine, from a plurality of clusters, the plurality of clusters being arranged in a hierarchical structure over the predicted traffic matrix and the plurality of traffic matrices, a first cluster allocated to a lower hierarchy level that contains the predicted traffic matrix, wherein
each of the plurality of clusters is associated with a routing configuration, the first cluster is associated with a first routing configuration, and the plurality of clusters are allocated to at least two different hierarchy levels, a cluster allocated to a higher hierarchy level including multiple adjacent clusters allocated to a hierarchy level below;
select, from the plurality of clusters, a second cluster allocated to the higher hierarchy level that includes at least the first cluster and a third cluster allocated to the lower hierarchy level that contains a current traffic matrix;
determine a second routing configuration associated with the second cluster; and
activate the second routing configuration as a network routing configuration.

### Claim 2

A method for controlling network routing configurations in a network, the method comprising:
obtaining a predicted traffic matrix and a plurality of traffic matrices;
determining, from a plurality of clusters, the plurality of clusters being arranged in a hierarchical structure over the predicted traffic matrix and the plurality of traffic matrices, a first cluster allocated to a lower hierarchy level that contains the predicted traffic matrix, wherein
each of the plurality of clusters is associated with a routing configuration, the first cluster is associated with a first routing configuration, and the plurality of clusters are allocated to at least two different hierarchy levels, a cluster allocated to a higher hierarchy level including multiple adjacent clusters allocated to a hierarchy level below,
selecting, from the plurality of clusters, a second cluster allocated to the higher hierarchy level that includes at least the first cluster and a third cluster allocated to the lower hierarchy level that contains a current traffic matrix,
determining a second routing configuration associated with the second cluster, and
activating the second routing configuration as a network routing configuration.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the activation of the second routing configuration comprises: sending a command indicating the second routing configuration to a plurality of or all switches in the network.

### Claim 4 (depends on 2)

The method according to claim 2 wherein the activation of the second routing configuration comprises:
determining a weight for each routing path of a plurality of routing paths contained in the second routing configuration; and
activating the plurality of routing paths of the second routing configuration.

### Claim 5 (depends on 4)

The method according to claim 4, wherein the activation of the second routing configuration further comprises:
sending a command indicating the determined weights of the plurality of routing paths of the second routing configuration to a plurality of or all switches in the network.

### Claim 6 (depends on 2)

The method according to claim 2, further comprising:
deactivating a routing configuration as a network routing configuration by deactivating each routing path of a plurality of routing paths contained in the routing configuration, based on the routing configuration being associated with a cluster that does not contain the predicted traffic matrix.

### Claim 7 (depends on 2)

The method according to claim 2, further comprising:
determining the first routing configuration associated with the first cluster; and
activating the first routing configuration as a network routing configuration.

### Claim 8 (depends on 2)

The method according to claim 2, further comprising:
selecting, as the second cluster, a cluster allocated to a higher hierarchy level that is determined based on a deviation of the predicted traffic matrix from the current traffic matrix.

### Claim 9 (depends on 8)

The method according to claim 8, further configured to comprising:
determining a higher hierarchy level further up based on a larger deviation and a higher hierarchy level further down based on a smaller deviation.

### Claim 10 (depends on 2)

The method according to claim 2, further comprising:
merging at least two adjacent clusters on a same hierarchy level to generate a new cluster on a hierarchy level further up.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the merge of the at least two adjacent clusters comprises:
merging the traffic matrices contained in each of the at least two adjacent clusters into a set of traffic matrices;
calculating a convex polyhedral approximating a convex hull of the set of traffic metrics; and
keeping extreme points of the convex polyhedral.

### Claim 12 (depends on 10)

The method according to claim 10, further comprising:
generating a new routing configuration associated with the new cluster based on the routing configurations associated respectively with each of the at least two adjacent clusters.

### Claim 13 (depends on 11)

The method according to claim 11, further comprising:
generating the plurality of clusters allocated to the at least two different hierarchy levels.

### Claim 14 (depends on 12)

The method according to claim 12, further comprising:
generating the plurality of clusters allocated to the at least two different hierarchy levels.
