IP Library Granted Patent US 10,693,767
Granted Patent B2
US 10,693,767 · App. 16/157,966 · Granted Jun 23, 2020

Method to route packets in a distributed direct interconnect network

Inventors: Dan Oprea (Kanata, CA); Andrei Catana (Ottawa, CA); Udo Neustadter (Carp, CA)
Assignee: ROCKPORT NETWORKS INC.
H04L45/24H04L45/12H04L45/26H04L45/40H04L47/6225H04L45/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,693,767
App. No.
16/157,966
Granted
Jun 23, 2020
Kind
B2
Abstract

The present invention provides a method and apparatus to route data packets across a torus or higher radix topology that has low latency, increased throughput and traffic distribution to avoid hot spots development. Disclosed is a method of routing packets in a distributed direct interconnect network from a source node to a destination node comprising the steps of: discovering all nodes and associated ports; updating the database to include the nodes and ports in the network topology; calculating the shortest path from every output port on each node to every other node in the topology; segmenting each packet into flits at the output port of the source node; as the flits are segmented, distributing said flits along the shortest path from each output port on the source node to the destination node using wormhole switching, whereby the packets are distributed along alternate maximum disjoint routes in the network topology; and re-assembling and re-ordering the packets at the destination node so that the packets accord with their original order/form.

Claims (28)

1. A computer-implemented method of routing packets in a direct interconnect network from a source node to a destination node comprising the steps of:

discovering all nodes and all output ports on each node in the direct interconnect network topology;

including the discovered nodes and output ports in the direct interconnect network topology in a topology database that is stored in all nodes in order to allow said nodes and ports to be included in path routing computations;

calculating a path from every output port on each node to every other node in the direct interconnect network topology based on those nodes and output ports contained in the topology database, wherein each such path is disjoint from one another, and wherein said calculating the disjoint paths is performed independently by each node without the need for any centralized controller within the direct interconnect network topology to assist with same;

generating a source routing database on each node containing said disjoint paths from every output port on each node to all other nodes in the direct interconnect network topology;

receiving a packet at the source node;

sending the received packet to one of the output ports of the source node as chosen in a round robin or weighted round robin manner, whereby the received packet is then distributed along the disjoint path from the chosen output port on the source node to the destination node.

2. The computer-implemented method of claim 1 wherein the step of calculating the path from every output port on each node to every other node in the direct interconnect network topology comprises calculating disjoint paths having no common nodes.

3. The computer-implemented method of claim 1 wherein the step of calculating the path from every output port on each node to every other node in the direct interconnect network topology comprises calculating disjoint paths having no common links.

4. A computer-implemented method of routing packets in a direct interconnect network from a source node to a destination node comprising the steps of: discovering all nodes and all output ports on each node in the direct interconnect network topology;

including the discovered nodes and output ports in the direct interconnect network topology in a topology database that is stored in all nodes in order to allow said nodes and ports to be included in path routing computations;

calculating a path from every output port on each node to every other node in the direct interconnect network topology based on those nodes and output ports contained in the topology database, wherein each such path is disjoint from one another, and wherein said calculating the disjoint paths is performed independently by each node without the need for any centralized controller within the direct interconnect network topology to assist with same;

generating a source routing database on each node containing said disjoint paths from every output port on each node to all other nodes in the direct interconnect network topology;

receiving packets at the source node;

sending the received packets to the output ports of the source node in a round robin or weighted round robin manner, whereby the received packets are distributed along the disjoint paths from the output ports on the source node to the destination node, such that the received packets are thereby distributed along alternate routes in the direct interconnect network topology.

5. The computer-implemented method of claim 4 wherein the step of calculating the path from every output port on each node to every other node in the direct interconnect network topology comprises calculating disjoint paths having no common nodes.

6. The computer-implemented method of claim 4 wherein the step of calculating the path from every output port on each node to every other node in the direct interconnect network topology comprises calculating disjoint paths having no common links.

7. The computer-implemented method of claim 4 wherein the packets are further re-ordered at the destination node so that the packets accord with their original order as received at the source node.

8. A computer-implemented method of routing packets in a direct interconnect network from a source node to a destination node comprising the steps of:

discovering all nodes and all output ports on each node in the direct interconnect network topology;

including the discovered nodes and output ports in the direct interconnect network topology in a topology database that is stored in all nodes in order to allow said nodes and ports to be included in path routing computations;

calculating a path from every output port on each node to every other node in the direct interconnect network topology based on those nodes and output ports contained in the topology database, wherein each such path is disjoint from one another, and wherein said calculating the disjoint paths is performed independently by each node without the need for any centralized controller within the direct interconnect network topology to assist with same;

generating a source routing database on each node containing said disjoint paths from every output port on each node to all other nodes in the direct interconnect network topology;

receiving packets at the source node;

sending the received packets to the output ports of the source node in a round robin or weighted round robin manner, whereby each of said received packets is thereafter segmented into flits at the output ports of the source node and distributed along the disjoint paths from the output ports on the source node to the destination node, such that the packets are thereby distributed along alternate routes in the direct interconnect network topology.

9. The computer-implemented method of claim 8 wherein the step of calculating the path from every output port on each node to every other node in the direct interconnect network topology comprises calculating disjoint paths having no common links or nodes.

10. The computer-implemented method of claim 9 wherein the flits are forwarded to the destination node using wormhole switching.

11. The computer-implemented method of claim 10 wherein the flits are further re-assembled into packets and re-ordered at the destination node so that the packets accord with their original form and order as received at the source node.

Assignments (2)
SECURITY INTEREST Recorded Oct 17, 2023
From: ROCKPORT NETWORKS INC.
To: BDC CAPITAL INC.
Reel/Frame 065255/0618 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2018
From: CATANA, ANDREI; NEUSTADTER, UDO; OPREA, DAN
To: ROCKPORT NETWORKS INC.
Reel/Frame 047138/0576 →
Continuity (3)
Continuation 15114722
Provisional Application 61939487 · Feb 13, 2014
Related Publication 20190068484A1 · Feb 28, 2019
Cited By (2)
US 12,346,285 US 12,712,805