# US 9,521,158 B2 · Feature aggregation in a computer network

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

- Number: US 9,521,158 B2
- Document ID: US9521158B2
- Status: Granted
- Kind: B2
- Application number: 14/164,480
- Filed: 2014-01-27
- Published: 2015-07-09
- Granted: 2016-12-13
- Earliest claimed: 2014-01-06
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Andrea Di Pietro; Jean-Philippe Vasseur; Javier Cruz Mota
- Web page: https://patentgrep.com/patent/US9521158B2

## CPC

- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- G06N 3/02: Neural networks
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- H04L 41/16: using machine learning or artificial intelligence
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 47/127: by using congestion prediction
- H04L 47/2466: using signalling traffic
- H04L 47/41: by acting on aggregated flows or links
- G06N 3/084: Backpropagation, e.g. using gradient descent
- H04L 45/48: Routing tree calculation
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

In one embodiment, a device determines that input data to a machine learning model sent from a plurality of source nodes to an aggregation node is causing network congestion. A set of one or more other nodes to perform aggregation of the machine learning model input data is selected. A type of aggregation to be performed by the set of one or more other nodes is also selected. The set of one or more other nodes is also instructed to perform the selected type of aggregation on the data sent from the source nodes.

## Claims

### Claim 1

A method, comprising:
determining, by a device, that feature messages being sent as input data to a machine learning model from a plurality of source nodes to an aggregation node are causing network congestion,
wherein the feature messages are messages sent by the plurality of source nodes to the device, the messages including features relevant to the machine learning model; and
in response to determining that the feature messages are causing network congestion:
selecting, by the device, a set of one or more other nodes to perform aggregation of the machine learning model input data,
selecting, by the device, a type of aggregation to be performed by the set of one or more other nodes, and
instructing, by the device, the set of one or more other nodes to perform the selected type of aggregation on the data sent from the source nodes.

### Claim 2 (depends on 1)

The method as in claim 1, wherein the machine learning model is an artificial neural network (ANN).

### Claim 3 (depends on 1)

The method as in claim 1, wherein the network congestion is determined by the device based on an estimated traffic rate from the source nodes.

### Claim 4 (depends on 1)

The method as in claim 1, wherein the network congestion is determined by the device based on a performance metric for the machine learning model.

### Claim 5 (depends on 1)

The method as in claim 1, wherein the type of aggregation is selected from the group comprising: averaging consecutive samples of input data, sampling the input data, batching the input data, quantizing the input data, and applying a differential encoding to the input data.

### Claim 6 (depends on 1)

The method as in claim 1, wherein the network congestion is determined by the device based on a notification received from a node that a number of non-acknowledged transmissions from the node exceeds a threshold value.

### Claim 7 (depends on 1)

The method as in claim 1, wherein the network congestion is determined by the device based on a notification received from a node that a percentage of link bandwidth attributable to communication of the input data exceeds a threshold value.

### Claim 8 (depends on 1)

The method as in claim 1, wherein the one or more nodes selected to perform the aggregation are based on data selected from a group comprising: routing topology information, available bandwidth, and network usage of the selected nodes.

### Claim 9 (depends on 1)

The method as in claim 1, wherein the one or more nodes and the aggregation type are selected to reduce an amount of network traffic associated with the input data to the machine learning model.

### Claim 10 (depends on 1)

The method as in claim 1, wherein the steps of claim 1 are repeated as part of a closed-loop control mechanism.

### Claim 11

An apparatus, comprising: one or more network interfaces to communicate in a computer network;
a processor coupled to the network interfaces and configured to execute one or more processes; and
a memory configured to store a process executable by the processor, the process when executed operable to:
determine that feature messages being sent as input data to a machine learning model from a plurality of source nodes to an aggregation node are causing network congestion,
wherein the feature messages are messages sent by the plurality of source nodes to the aggregation node, the messages including features relevant to the machine learning model; and
in response to a determination that the feature messages are causing network congestion:
select a set of one or more other nodes to perform aggregation of the machine learning model input data,
select a type of aggregation to be performed by the set of one or more other nodes, and
instruct the set of one or more other nodes to perform the selected type of aggregation on the data sent from the source nodes.

### Claim 12 (depends on 11)

The apparatus as in claim 11, wherein set of one or more other nodes are selected based in part on a determination that the input data is overloading the machine learning model.

### Claim 13 (depends on 11)

The apparatus as in claim 11, wherein the type of aggregation is selected from the group comprising: averaging consecutive samples of input data, sampling the input data, batching the input data, quantizing the input data, and applying a differential encoding to the input data.

### Claim 14 (depends on 11)

The apparatus as in claim 11, wherein the one or more nodes selected to perform the aggregation are based on data selected from a group comprising: routing topology information, available bandwidth, and network usage of the selected nodes.

### Claim 15 (depends on 11)

The apparatus as in claim 11, wherein the one or more nodes and the aggregation type are selected to reduce an amount of network traffic associated with the input data to the machine learning model.

### Claim 16 (depends on 11)

The apparatus as in claim 11, wherein the network congestion is determined by the device based on a notification received from a node that a number of non-acknowledged transmissions from the node exceeds a threshold value.

### Claim 17 (depends on 11)

The apparatus as in claim 11, wherein the network congestion is determined by the device based on a notification received from a node that a percentage of link bandwidth attributable to communication of the input data exceeds a threshold value.

### Claim 18

A tangible, non-transitory; computer-readable media having software encoded thereon, the software when executed by a processor operable to:
determine that feature messages being sent as input data to a machine learning model from a plurality of source nodes to an aggregation node are causing network congestion,
wherein the feature messages are messages sent by the plurality of source nodes to the aggregation node, the messages including features relevant to the machine learning model; and
in response to a determination that the feature messages are causing network congestion:
select a set of one or more other nodes to perform aggregation of the machine learning model input data based on feature relevance to the machine learning model,
select a type of aggregation to be performed by the set of one or more other nodes, and
instruct the set of one or more other nodes to perform the selected type of aggregation on the data sent from the source nodes.

### Claim 19 (depends on 18)

The computer-readable media of claim 18, wherein the machine learning model is an artificial neural network (ANN).

### Claim 20 (depends on 18)

The computer-readable media of claim 18, wherein the type of aggregation is selected from the group comprising: averaging consecutive samples of input data, sampling the input data, batching the input data, quantizing the input data, and applying a differential encoding to the input data.
