Method and system for programmable data dependant network routing
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-modified1 - 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.