US2009296716A1PendingUtilityA1

Method and system for programmable data dependant network routing

54
Assignee: DROPPS FRANK RPriority: Jul 21, 2003Filed: Apr 29, 2009Published: Dec 3, 2009
Est. expiryJul 21, 2023(expired)· nominal 20-yr term from priority
H04L 45/00H04L 45/24H04L 49/101
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system for routing fibre channel frames using a fibre channel switch element is provided. The switch element includes, a hashing module whose output is used to select the column from a look up table to route frames. The method includes, indexing a look up table using domain, area, virtual storage area network identifier, a hashing module output and/or AL_PA values; selecting a column from the look up table based on a column select signal; and routing a frame if a route is valid. The hashing module takes a fibre channel header to generate a pseudo random value used for selecting a column from the look up table. The hashing module uses same field values in an exchange to generate the pseudo random value. A hash function is used on a frame's OX_ID, D_ID, S_ID, and/or RX_ID to route fibre channel frames.

Claims

exact text as granted — not AI-modified
1 - 12 . (canceled) 
     
     
         13 . A method for routing frames via a network element having a plurality of ports, comprising:
 (a) receiving a frame at a port of the network element;   (b) indexing a look tip table by using an output value generated by a hashing module for the network element and at least an another field used for routing the frame; wherein the look up table includes a plurality of values;   (c) selecting a column value from the look up table based on a column select signal generated by a hardware logic; wherein the column select signal is based on a pseudo random number value generated by the hashing module by applying a hashing function on a field of a frame header for the received frame; and   (d) based on the selected column value, routing the frame if a route is valid.   
     
     
         14 . The method of  claim 13 , wherein the at least another field used for routing the frame and indexing the look up table includes a domain value for routing the frame to another network element, an area value for routing the frame to a port of the network element that received the frame, and a virtual storage area network identifier for routing the frame within a virtual storage area network. 
     
     
         15 . The method of  claim 13 , wherein the hashing module uses a same field value from the frame header for a same information exchange to generate the pseudo random number value. 
     
     
         16 . The method of  claim 13 , wherein to route the frame, the hashing function is applied to a field identifying an originator of the frame. 
     
     
         17 . The method of  claim 13 , wherein the column select signal is generated after a plurality of fields are input to the hardware logic and one of the input fields is selected to generate the column select signal. 
     
     
         18 . The method of  claim 17 , wherein the hardware logic is a multiplexer and the plurality of inputs are a destination identifier field, a source identifier field, a virtual storage area network identifier, an originator exchange identification field, and the pseudo random number value generated by the hashing module. 
     
     
         19 . The network element of  claim 13 , wherein the hash function is used on at least one or more of a destination identifier field, a source identifier field and a responder identifier field included in the frame header. 
     
     
         20 . A network element for routing frames, configured to select a route from amongst a plurality of routes, the network element comprising:
 at least one port for receiving and transmitting a frame having a frame header;   a look up table having a plurality of columns indexed by using an output value generated by a hashing module for the network element and at least an another field used for routing the frame; and   a hardware logic that receives a plurality of inputs and based on one of the inputs, a column select signal is generated to select a value from one of the plurality of columns to route the frame;   wherein the column select signal is based a pseudo random number value generated by the hashing module by applying a hash function on a field of the frame header.   
     
     
         21 . The network element of  claim 20 , wherein the at least another field used for routing the frame and indexing the look up table includes a domain value for routing the frame to another network element, an area value for routing the frame to a port of the network element that received the frame, and a virtual storage area network identifier for routing the frame within a virtual storage area. 
     
     
         22 . The network element of  claim 20 , wherein the hashing module uses a same field value from the frame header for a same exchange to generate the pseudo random number value. 
     
     
         23 . The network element of  claim 20 , wherein to route the frame, the hash function is applied to a field identifying an originator of the frame. 
     
     
         24 . The network element of  claim 20 , wherein the hash function, to route the frame, is used on at least one or more of a destination identifier field, a source identifier field and a responder identifier field included in the frame header. 
     
     
         25 . The network element of  claim 20 , wherein the hardware logic is a multiplexer and the plurality of inputs are a destination identifier field, a source identifier field, a virtual storage area network identifier, an originator exchange identification field, and the pseudo random number value generated by the hashing module. 
     
     
         26 . A network system, comprising:
 a computing system for sending and receiving information; and   at least one network element operationally coupled to the computing system for routing frames and configured to select a route from amongst a plurality of routes, where the network element includes:   at least one port for receiving and transmitting a frame having a frame header;   a look up table having a plurality of columns indexed by using an output value generated by a hashing module for the network element and at least an another field used for routing the frame; and   a hardware logic that receives a plurality of inputs and based on one of the inputs, a column select signal is generated to select a value from one of the plurality of columns to route the frame;   wherein the column select signal is based a pseudo random number value generated by the hashing module by applying a hash function on a field of the frame header.   
     
     
         27 . The network of  claim 26 , wherein the at least another field used for routing the frame and indexing the look up table includes a domain value for routing the frame to another network element, an area value for routing the frame to a port of the network element that received the frame, and a virtual storage area network identifier for routing the frame within a virtual storage area. 
     
     
         28 . The network of  claim 26 , wherein the hashing module uses a same field value from the frame header for a same exchange to generate the pseudo random number value. 
     
     
         29 . The network of  claim 26 , wherein to route the frame, the hash function is applied to a field identifying an originator of the frame. 
     
     
         30 . The network of  claim 26 , wherein the hash function, to route the frame, is used on at least one or more of a destination identifier field, a source identifier field and a responder identifier field included in the frame header. 
     
     
         31 . The network of  claim 26 , wherein the hardware logic is a multiplexer and the plurality of inputs are a destination identifier field, a source identifier field, a virtual storage area network identifier, an originator exchange identification field, and the pseudo random number value generated by the hashing module.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.