# US 11,310,119 B2 · Using graph neural networks to create table-less routers

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

- Number: US 11,310,119 B2
- Document ID: US11310119B2
- Status: Granted
- Kind: B2
- Application number: 16/863,441
- Filed: 2020-04-30
- Published: 2021-09-23
- Granted: 2022-04-19
- Earliest claimed: 2020-04-30
- Assignees: Indian Institute of Technology Bombay
- Applicants: Indian Institute of Technology, Bombay
- Inventors: Abhiram Singh; Sidharth Sharma; Ashwin Gumaste
- Web page: https://patentgrep.com/patent/US11310119B2

## CPC

- H04L 41/16: using machine learning or artificial intelligence
- G06N 3/045: Combinations of networks
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- H04L 45/74: Address processing for routing
- H04L 61/5007: Internet protocol [IP] addresses
- G06N 3/048: Activation functions
- G06N 3/063: using electronic means
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 2101/668: Internet protocol [IP] address subnets
- 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

Methods and apparatuses for using a neural network based model to predict an output port for a destination Internet Protocol (IP) address in a network are described. Some embodiments can construct an untrained model comprising a graph neural network (GNN), a first artificial feed-forward neural network (ANN), and a second ANN. Next, the embodiments can train the untrained model to obtain a trained model by: training the first ANN using at least IP addresses of destination nodes in the network, training the GNN using at least an adjacency matrix of the network and initial node features computed using the IP addresses of destination nodes in the network, and training the second ANN by combining the output of the first ANN and an output of the GNN using an attention mechanism. The embodiments can then use the trained model to predict the output port for the destination IP address.

## Claims

### Claim 1

A method to predict an output port for a destination Internet Protocol (IP) address in a network, the method comprising:
constructing an untrained model comprising a graph neural network (GNN), a first artificial feed-forward neural network (ANN), and a second ANN;
training the untrained model to obtain a trained model by:
training the first ANN using at least IP addresses of destination nodes in the network,
training the GNN using at least an adjacency matrix of the network and initial node features computed using the IP addresses of destination nodes in the network, and
training the second ANN by combining the output of the first ANN and an output of the GNN using an attention mechanism; and
using the trained model to predict the output port for the destination IP address, wherein using the trained model comprises executing the first ANN, the attention mechanism, and the second ANN.

### Claim 2 (depends on 1)

The method of claim 1, wherein a separate trained model is created for each node in the network.

### Claim 3 (depends on 2)

The method of claim 2, wherein the separate trained model for each node in the network is created by a software-defined network (SDN) controller.

### Claim 4 (depends on 1)

The method of claim 1, wherein said training the second ANN using at least the combination of the output of the first ANN and the output of the GNN comprises using dimension reduction to reduce a count of feature entries of the GNN.

### Claim 5 (depends on 1)

The method of claim 1, wherein the attention mechanism comprises performing inner product and normalization operations to scale reduced feature entries of the GNN, and vector summation of scaled feature vectors using the output of the first ANN and the output of the GNN.

### Claim 6 (depends on 1)

The method of claim 1, further comprising receiving a packet having the destination IP address.

### Claim 7 (depends on 6)

The method of claim 6, further comprising forwarding the packet through the output port predicted by the trained model, thereby accomplishing table-less routing.

### Claim 8 (depends on 7)

The method of claim 7, wherein the trained model is trained for the destination IP address.

### Claim 9 (depends on 7)

The method of claim 7, wherein the trained model is not trained for the destination IP address.

### Claim 10

A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform method to predict an output port for a destination Internet Protocol (IP) address in a network, the method comprising:
constructing an untrained model comprising a graph neural network (GNN), a first artificial feed-forward neural network (ANN), and a second ANN;
training the untrained model to obtain a trained model by:
training the first ANN using at least IP addresses of destination nodes in the network,
training the GNN using at least an adjacency matrix of the network and initial node features computed using the IP addresses of destination nodes in the network, and
training the second ANN by combining the output of the first ANN and an output of the GNN using the attention mechanism; and
using the trained model to predict the output port for the destination IP address, wherein using the trained model comprises executing the first ANN, the attention mechanism, and the second ANN.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, a separate trained model is created for each node in the network.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the separate trained model for each node in the network is created by a software-defined network (SDN) controller.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein said training the second ANN using at least the combination of the output of the first ANN and the output of the GNN comprises using dimension reduction to reduce a count of feature entries of the GNN.

### Claim 14 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the attention mechanism comprises performing inner product and normalization operations to scale reduced feature entries of the GNN, and vector summation of scaled feature vectors using the output of the first ANN and the output of the GNN.

### Claim 15 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, further comprising receiving a packet having the destination IP address.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, further comprising forwarding the packet through the output port predicted by the trained model.

### Claim 17

An apparatus, comprising:
a processor; and
a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the processor to perform method to predict an output port for a destination Internet Protocol (IP) address in a network, the method comprising:
constructing an untrained model comprising a graph neural network (GNN), a first artificial feed-forward neural network (ANN), and a second ANN;
training the untrained model to obtain a trained model by:
training the first ANN using at least IP addresses of destination nodes in the network,
training the GNN using at least an adjacency matrix of the network and initial node features computed using the IP addresses of destination nodes in the network, and
training the second ANN by combining the output of the first ANN and an output of the GNN using an attention mechanism; and
using the trained model to predict the output port for the destination IP address, wherein using the trained model comprises executing the first ANN, the attention mechanism, and the second ANN.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein a separate trained model is created for each node in the network by a software-defined network (SDN) controller.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein said training the second ANN using at least the combination of the output of the first ANN and the output of the GNN comprises using dimension reduction to reduce a count of feature entries of the GNN.

### Claim 20 (depends on 17)

The apparatus of claim 17, wherein the attention mechanism comprises performing inner product and normalization operations to scale reduced feature entries of the GNN, and vector summation of scaled feature vectors using the output of the first ANN and the output of the GNN.
