US2005117562A1PendingUtilityA1

Method and apparatus for distributing traffic over multiple switched fibre channel routes

Priority: Sep 26, 2000Filed: Jan 10, 2005Published: Jun 2, 2005
Est. expirySep 26, 2020(expired)· nominal 20-yr term from priority
H04L 47/10H04L 45/24H04L 47/125
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer network has two or more switches and a plurality of links. A first machine and a second machine are interconnected by the network in such a way that there exist multiple paths through the network from an N_Port of the first machine to an N_Port of the second machine. Network traffic from the N_Port of the first machine to the N_Port of the second machine is distributed between the multiple paths such that frames related to any single exchange traverse the same path yet frames of a first exchange need not traverse the same path as frames of a second exchange. Frames of each exchange therefore tend to be received by their destination in order with respect to other frames of that exchange, while they are not necessarily received in-order with respect to frames of other exchanges.

Claims

exact text as granted — not AI-modified
1 - 17 . (canceled)  
   
   
       18 . A method of routing between or among a plurality of paths in a network fabric between a first N_Port and a second N_Port, comprising: 
 receiving a packet containing a destination identifier and an originator exchange identifier;    accessing an entry of a routing table using an address generated based on at least portions of each of the destination identifier and originator exchange identifier; and    selecting one of the plurality of paths between the first N_Port and second N_Port based on the accessed entry of the routing table.    
   
   
       19 . The method of  claim 18 , wherein the accessed entry of the routing table contains an outgoing port selector, and wherein selecting one of the plurality of paths comprises selecting one of a plurality of outgoing ports of a switch based on the outgoing port selector.  
   
   
       20 . The method of  claim 18 , further comprising generating the address by applying a hash function on the at least portions of each of the destination identifier and originator exchange identifier.  
   
   
       21 . The method of  claim 20 , wherein the received packet further includes a source identifier, and wherein generating the address comprises generating the address by applying the hash function on the at least portions of each of the destination identifier and originator exchange identifier and at least a portion of the source identifier.  
   
   
       22 . The method of  claim 18 , wherein routing between or among the plurality of paths in a network fabric includes routing between or among the plurality of paths in a Fibre Channel fabric.  
   
   
       23 . The method of  claim 18 , further comprising: 
 selecting a first one of the paths between the first N_Port and second N_Port in response to a first value of the destination identifier and a first value of at least a portion of the originator exchange identifier; and    selecting a second one of the paths between the first N_Port and second N_Port in response to the first value of the destination identifier and a second value of the at least the portion of the originator exchange identifier.    
   
   
       24 . The method of  claim 18 , wherein the packet further contains a source identifier, and wherein the packet is received at an incoming port of a switch, 
 the method further comprising applying the at least portions of the destination identifier and originator exchange identifier to a hash function, the hash function to generate the address,    the hash function to further receive as an input a field selected from the group consisting of the source identifier and a port number of the incoming port of the switch.    
   
   
       25 . The method of  claim 18 , wherein receiving the packet comprises receiving the packet sent by a computer running plural processes, the originator exchange identifier to identify an exchange for performing an input/output operation associated with one of the processes in the computer.  
   
   
       26 . A program product comprising computer-readable code to distribute data between or among paths between a first N_Port and a second N_Port, the computer-readable code executable to cause a switch to: 
 maintain a routing table having plural entries selectable by an address;    receive a packet containing a destination identifier and an exchange identifier;    generate the address based on at least portions of each of the destination identifier and the exchange identifier; and    route the packet on one of the paths based on the entry of the routing table selected by the generated address.    
   
   
       27 . The program product of  claim 26 , wherein each entry of the routing table includes an outgoing port selector, 
 wherein routing the packet on one of the paths comprises routing the packet through one of plural outgoing ports of the switch based on the outgoing port selector contained in the entry selected by the address.    
   
   
       28 . The program product of  claim 26 , wherein generating the address comprises generating the address by applying a hash function on the at least portions of each the destination identifier and exchange identifier.  
   
   
       29 . The program product of  claim 28 , wherein the received packet further includes a source identifier, and wherein generating the address comprises generating the address by applying the hash function on the at least portions of each of the destination identifier and exchange identifier and at least a portion of the source identifier.  
   
   
       30 . The program product of  claim 26 , wherein routing the packet on one of the paths comprises routing the packet on one of the paths of a Fibre Channel fabric.  
   
   
       31 . The program product of  claim 26 , wherein the exchange identifier comprises an originator exchange identifier, and wherein receiving the packet comprises receiving a packet containing the destination identifier and the originator exchange identifier, and wherein generating the address is based on at least portions of each of the destination identifier and originator exchange identifier.  
   
   
       32 . A switch operable in a network having a plurality of paths, comprising: 
 a plurality of ports including a first port to receive a frame over the network, and additional ports;    a storage to store a routing table having entries for identifying corresponding additional ports for routing a frame received at the first port, wherein the received frame has a destination identifier and an exchange identifier; and    a generator to generate an address based on at least portions of each of the destination identifier and exchange identifier, the address to select one of the entries of the routing table; and    routing logic to route the received frame through one of the additional ports based on the entry selected by the address.    
   
   
       33 . The switch of  claim 32 , wherein the additional ports are part of respective plurality of paths between a first N_Port and a second N_Port.  
   
   
       34 . The switch of  claim 33 , wherein the plurality of paths are part of a Fibre Channel fabric.

Join the waitlist — get patent alerts

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

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