# US 2026/0089028 A1 · Source-assigned, tag-based forwarding for network connecting endpoint processing units

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

- Number: US 2026/0089028 A1
- Document ID: US20260089028A1
- Status: Published application
- Kind: A1
- Application number: 19/227,466
- Filed: 2025-06-04
- Published: 2026-03-26
- Earliest claimed: 2024-09-21
- Assignees: Delos Data Inc.
- Applicants: Delos Data Inc.
- Inventors: Daniel P. Daly; Edward V. E. Doe; Alain J. E. Gravel
- Web page: https://patentgrep.com/patent/US20260089028A1

## CPC

- H04L 45/24: Multipath
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 45/123: {Evaluation of link metrics (techniques for monitoring network metrics H04L43/08)}
- H04L 47/33: using forward notification
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Some embodiments provide a method of forwarding data messages from a source EPU to other endpoint processing units EPUs that are connected to the source EPU through a network. The EPUs perform computations to collectively execute a distributed application. At the source EPU that performs a computation to be sent to at least one destination EPU, the method uses an identity of the destination EPU to select a tag and associates the tag with a data message flow having multiple data messages to store a result of the computation. Each data message has a payload that contains a portion of the result and a header. At least one header of a data message stores the tag. The method uses the tag to identify an egress port of a network interface that connects the source EPU to the network, and forwards the data message flow through the identified egress port.

## Claims

### Claim 1

A method of forwarding data messages from a source endpoint processing unit (EPU) to a plurality of other endpoint processing units (EPUs) that are connected to the source EPU through a network, said EPUs performing computations to collectively execute a distributed application, the method comprising:
at the source EPU that performs a computation that has to be sent to at least one destination EPU:
using an identity of the destination EPU to select a tag;
associating the tag with a data message flow that comprises a plurality of data messages that store a result of the computation, each data message having (i) a payload that contains a portion of the result and (ii) a header, wherein at least one header of at least one data message stores the tag;
using the tag to identify an egress port from a plurality of egress ports of a network interface that connects the source EPU to the network; and
forwarding the data message flow through the identified egress port.

### Claim 2 (depends on 1)

The method of claim 1, wherein the EPUs are graphics processing units (GPUs).

### Claim 3 (depends on 1)

The method of claim 1, wherein the EPUs comprise at least one of graphics processing units (GPUs), tensor processing units (TPUs) and central processing units (CPUs).

### Claim 4 (depends on 1)

The method of claim 1, wherein each header of each data message in the flow stores the tag.

### Claim 5 (depends on 1)

The method of claim 1, wherein the network comprises a plurality of forwarding elements, each forwarding element comprising a plurality of ports that connect the forwarding element to the network, the method further comprising
for each data message flow sent from the source EPU to the destination EPU:
using the tag at each intervening forwarding element between the source EPU and the destination EPU to identify a port from the plurality of ports of the forwarding element; and
forwarding the data message flow through the identified egress port of the intervening forwarding element.

### Claim 6 (depends on 1)

The method of claim 1, wherein the assigned tags are not layer 2 (L2) or layer 3 (L3) network addresses.

### Claim 7 (depends on 6)

The method of claim 6, wherein the header does not store L2 or L3 network addresses.

### Claim 8 (depends on 1)

The method of claim 1, wherein using the identity of the destination EPU comprises performing one or more mapping operations to map a transaction identifier (ID) to the tag, said transaction ID associated with the destination EPU.

### Claim 9 (depends on 8)

The method of claim 8, wherein the transaction ID comprises an identifier for the destination EPU.

### Claim 10 (depends on 8)

The method of claim 8, wherein the one or more mapping operations comprises:
a first mapping operation that maps the transaction ID to a queue ID; and
a second mapping operation that maps the queue ID to the tag.

### Claim 11 (depends on 8)

The method of claim 8, wherein the one or more mapping operations comprises one mapping operation that maps the transaction ID to the tag.

### Claim 12

A non-transitory machine readable medium storing a program that when executed by a processor at a source graphics processing unit (GPU) forwards data messages to a plurality of other GPUs through a network, said GPUs performing computations to collectively execute a distributed application, the program comprising sets of instructions:
using an identity of the destination GPU to select a tag;
associating the tag with a data message flow that comprises a plurality of data messages that store a result of the computation, each data message having (i) a payload that contains a portion of the result and (ii) a header, wherein at least one header of at least one data message stores the tag, said tag identifying an egress port, for forwarding the data message flow, from a plurality of egress ports of a network interface that connects the source GPU to the network.

### Claim 13 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the program is a driver executed by a control unit of the GPU or a kernel process operating of the GPU.

### Claim 14 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein each header of each data message in the flow stores the tag.

### Claim 15 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the network comprises a plurality of forwarding elements, each forwarding element comprising a plurality of ports that connect the forwarding element to the network, the program further comprising sets of instructions for
for each data message flow sent from the source GPU to the destination GPU:
using the tag at each intervening forwarding element between the source GPU and the destination GPU to identify a port from the plurality of ports of the forwarding element; and
forwarding the data message flow through the identified egress port of the intervening forwarding element.

### Claim 16 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the assigned tags are not layer 2 (L2) or layer 3 (L3) network addresses.

### Claim 17 (depends on 16)

The non-transitory machine readable medium of claim 16, wherein the header does not store L2 or L3 network addresses.

### Claim 18 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein using the identity of the destination GPU comprises performing one or more mapping operations to map a transaction identifier (ID) to the tag, said transaction ID associated with the destination GPU.

### Claim 19 (depends on 18)

The non-transitory machine readable medium of claim 18, wherein the transaction ID comprises an identifier for the destination GPU.

### Claim 20 (depends on 18)

The non-transitory machine readable medium of claim 18, wherein the one or more mapping operations comprises:
a first mapping operation that maps the transaction ID to a queue ID; and
a second mapping operation that maps the queue ID to the tag.
