Adaptive and dynamic message routing system for multinode wormhole networks
First Claim
Patent Images
1. A wormhole network, comprising:
- a plurality of nodes interconnected by communication links, said nodes divided into groups where each of said groups includes a predetermined number of said nodes not included in the other groups, each node having a local node address and a group address and further having access to a processor and memory;
each node including a level-1 table, said level-1 table comprising message delivery directions for delivering a message from a node of a group to another group in the network; and
each node including a level-2 table, said level-2 table comprising message delivery directions for delivering said message from a node of a group to the other nodes within said group.
1 Assignment
0 Petitions
Accused Products
Abstract
In a multinode communication or multiprocessor network, messages are communicated from one node to another using an adaptive and dynamic routing scheme. The routing scheme includes two-level multi-path routing tables at each node to ensure efficient delivery of the messages. An entry in the level-1 table identifies a group of nodes and entry in the level-2 table identifies the address for each node within that group. The routing scheme also includes a deflection counter in each message header to avoid endless rerouting of messages and an exponential backoff and retry policy to avoid deadlocks.
117 Citations
24 Claims
-
1. A wormhole network, comprising:
-
a plurality of nodes interconnected by communication links, said nodes divided into groups where each of said groups includes a predetermined number of said nodes not included in the other groups, each node having a local node address and a group address and further having access to a processor and memory; each node including a level-1 table, said level-1 table comprising message delivery directions for delivering a message from a node of a group to another group in the network; and each node including a level-2 table, said level-2 table comprising message delivery directions for delivering said message from a node of a group to the other nodes within said group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of delivering messages in a wormhole network from a source node to a destination node where each message includes a group address and a local node address for the destination node, comprising the steps of:
-
dividing nodes in said network into groups where each group comprises a plurality of the nodes not included in the other groups; storing a level-1 routing table at each node for providing message delivery directions from a node to every other group in the network; storing a level-2 routing table at each node for providing message delivery directions from a node of a group to the other nodes of said group; and routing said message from the source node to the destination node using the level-1 table and level-2 table. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A wormhole network comprising:
-
a plurality of nodes interconnected by communication links, said nodes divided into gateway nodes and local nodes where each of said gateway nodes controls message delivery to a predetermined number of said local nodes, each gateway node is identified by a gateway node address and each local node is identified by a local node address and a gateway node address, each of said nodes further having access to a processor and memory; a level-1 table stored at each gateway node, said level-1 table comprising message delivery directions, including the most preferred message delivery directions, for delivering a message from a gateway node to other gateway nodes in the network, said message comprising a message header, said message header including a destination address, said destination address having a destination gateway node address and a destination local node address; a level-2 table stored at each local node, said level-2 table comprising message delivery directions, including the most preferred message delivery directions, for delivering said message among the local nodes controlled by a gateway node; and wherein said destination gateway node address is used as an index into a level-1 table of a gateway node receiving said message if said destination gateway node address does not match the gateway node address of the gateway node receiving said message. - View Dependent Claims (18, 19, 20)
-
-
21. A method of delivering messages in a wormhole network from a source node to a destination node where each message comprises a message header, said message header including a destination address, said destination address having a destination gateway node address and a destination local node address comprising the steps of:
-
dividing nodes in said network into gateway nodes and local nodes where each gateway node controls message delivery to a predetermined number of local nodes; storing a level-1 routing table at each gateway node for providing message delivery directions, including the most preferred message delivery directions, from a gateway node to the other gateway nodes in the network; storing a level-2 routing table at each local node for providing message delivery directions, including the most preferred message delivery directions, from a local node of a gateway node to the other local nodes of said gateway node; routing said message from the source node to the destination gateway node using the level-1 table at each gateway node used in the network for message delivery; routing said message from the destination gateway node to the destination local node using the level-2 table at each local node used in the network for message delivery; and wherein said destination gateway address is used as an index into a level-1 table of a gateway node receiving said message if said destination gateway address does not match the gateway node address. - View Dependent Claims (22, 23, 24)
-
Specification