US2009296716A1PendingUtilityA1

Method and system for programmable data dependant network routing

Individually held — no corporate assignee on recordPriority: 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.

Join the waitlist — get patent alerts

Track US2009296716A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.