Apparatus and method for efficient hashing in networks
DCFirst Claim
1. A method of transferring data on a network, said network including a plurality of nodes connected by a plurality of links, at least one node being connected to more than one link over which the data can be transferred out of the at least one node, the method comprising:
- providing the data with an identifying portion which identifies a source node and a destination node for, the data;
associating the at least one node with a node identifying value to distinguish the at least one node from other nodes on the network; and
using the identifying portion of the data and the node identifying value, calculating a link selection value which identifies one of the more than one links connected to the at least one node to transfer the data out of the at least one node, wherein the link selection value is calculated by combining the identifying portion of the data and the node identifying value through a logical operation.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
An apparatus and method for efficient hashing uses both an identifying portion of a data packet, e.g., source and destination ID, and an identifying value of the node, e.g., the IP address of the node, to generate a hash result. By inserting a unique value into the hash operation at each node, the invention effectively provides for a different hash implementation at each node. As a result, in situations where multiple paths or multiple links within a path are available to forward packets, traffic can be split over the multiple paths and links. Inefficient utilization of network links found in prior systems which use the same hash operation at each node are eliminated.
-
Citations
26 Claims
-
1. A method of transferring data on a network, said network including a plurality of nodes connected by a plurality of links, at least one node being connected to more than one link over which the data can be transferred out of the at least one node, the method comprising:
- providing the data with an identifying portion which identifies a source node and a destination node for, the data;
associating the at least one node with a node identifying value to distinguish the at least one node from other nodes on the network; and
using the identifying portion of the data and the node identifying value, calculating a link selection value which identifies one of the more than one links connected to the at least one node to transfer the data out of the at least one node, wherein the link selection value is calculated by combining the identifying portion of the data and the node identifying value through a logical operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
- providing the data with an identifying portion which identifies a source node and a destination node for, the data;
-
14. An apparatus for transferring data on a network, said network including a plurality of nodes connected by a plurality of links, at least one node being connected to a plurality of links over which the data can be transferred out of the at least one node, the data being provided with an identifying portion which identifies a source node and a destination node for the data, and the at least one node being associated with a node identifying value to distinguish the at least one node from other nodes on the network, the apparatus comprising:
- an output interface over which the data can be forwarded to one of the plurality of links; and
a processing device for calculating a link selection value using the identifying portion of the data and the node identifying value, said link selection value identifying one of the plurality of links connected to the at least one node to transfer the data out of the at least one node, wherein the link selection value is calculated by combining the identifying portion of the data and the node identifying value through a logical operation. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
- an output interface over which the data can be forwarded to one of the plurality of links; and
Specification