Claims
- 1. A method for a destination node to process received data that was routed through a network by using a transmittal virtual path identifier, the destination node having multiple executing application programs each associated with a network address, the method comprising:
receiving multiple data transmissions that are each routed through the network to the destination node from a remote source node by using a transmittal virtual path identifier that is assigned to a path through the network from that source node to the destination node; and for each of the multiple received data transmissions,
determining the transmittal virtual path identifier used to route the received data transmission to the destination node; determining one of the executing application programs to which the determined virtual path identifier corresponds, the determined virtual path identifier distinct from the network address associated with the determined application program; determining whether the received data transmission includes an indication of a destination network address that is distinct from the network address associated with the determined application program; and when the received data transmission is determined to include an indication of a destination network address distinct from the associated network address,
modifying the received data transmission by replacing the indication of the destination network address with an indication of the associated network address; and supplying the modified received data transmission to the determined application program.
- 2. The method of claim 1 wherein the network has a network manager, and including, before the receiving of at least some of the multiple data transmissions, receiving from the network manager information related to those data transmissions that includes indications of the transmittal virtual path identifiers to be used for the routing of those data transmissions,
and wherein the determining of the executing application programs to which those indicated virtual path identifiers correspond is based at least in part on the information received from the network manager.
- 3. The method of claim 1 wherein the received data transmissions each include a location in which a destination network address can be stored, wherein the determining of whether a received data transmission includes an indication of a destination network address that is distinct from the associated network address consists essentially of determining whether the location for that received data transmission does not include an indication of the network address associated with the application program determined for that data transmission, and wherein the replacing of the indication of a destination network address with the indication of an associated network address consists essentially of storing that associated network address in the location for that received data transmission.
- 4. The method of claim 1 including, when a received data transmission includes an indication of the associated network address, supplying the received data transmission to the determined application program without modifying the indicated network address.
- 5. The method of claim 1 wherein the network addresses associated with the application programs are IP addresses.
- 6. The method of claim 1 wherein at least some of the application programs have associated network addresses that are distinct from the network addresses associated with other of the application programs.
- 7. The method of claim 1 wherein, for at least some of the received data transmissions that include an indication of a distinct destination network address, the received data transmission was transmitted to each of multiple destination nodes and the distinct destination network address corresponds to one of the other destinations nodes.
- 8. The method of claim 1 wherein, for at least some of the received data transmissions that include an indication of a distinct destination network address, the data transmission was requested by an executing source application to be transmitted to a distinct destination node with which the distinct destination network address is associated, and wherein a network manager for the network instead selected to transmit the data transmission to the destination node.
- 9. The method of claim 1 wherein the path to which a transmittal virtual path identifier is assigned is relative to a source node using that transmittal virtual path identifier to transmit data, wherein multiple of the received data transmissions are from multiple distinct source nodes and use a single transmittal virtual path identifier that is assigned to distinct paths from those source nodes to the destination nodes, and wherein the determining for each of those multiple received data transmissions of the executing application program to which that data transmission corresponds is based at least in part on information related to that data transmission such that those received data transmissions are supplied to multiple of the application programs.
- 10. The method of claim 1 including determining for each of the received data transmissions one or more Quality Of Service parameters related to that data transmission, and wherein the determining of the executing application program to which a data transmission corresponds is based at least in part on a combination of the determined transmittal virtual path identifier used to route that data transmission to the destination node and the determined Quality Of Service parameters related to that data transmission.
- 11. The method of claim 1 including determining for each of the received data transmissions a response virtual path identifier assigned to a path from the destination node for that data transmission to the source node for that data transmission, and wherein the determining of the executing application program to which a data transmission corresponds is based at least in part on a combination of the determined transmittal virtual path identifier and the determined response virtual path identifier for that data transmission.
- 12. A computer-implemented method for processing a received data communication based on a virtual identifier that was used to route the data communication through a network, the method comprising:
receiving an indication of a data communication that was routed to a destination along a path through the network by using a virtual identifier corresponding to the path, the virtual identifier distinct from a network address associated with the destination; determining the virtual identifier used to route the indicated data communication along the path through the network to the destination; and determining based on the determined virtual identifier an appropriate resource associated with the destination to which the indicated data communication will be supplied.
- 13. The method of claim 12 wherein the destination is a node of the network, and wherein the network address is a physical network address corresponding to the node.
- 14. The method of claim 12 wherein the destination is a node of the network, and wherein the network address is a logical network address corresponding to the node.
- 15. The method of claim 12 wherein the destination is a node of the network, and wherein the resource associated with the destination is an application executing on the node.
- 16. The method of claim 12 wherein the destination is a node of the network, and wherein the resource associated with the destination is a device associated with the node.
- 17. The method of claim 12 wherein the indicated data communication includes an indication of the network address.
- 18. The method of claim 12 wherein the indicated data communication includes an indication of the virtual identifier.
- 19. The method of claim 12 wherein the virtual identifier is associated with the path through the network by a network manager for the network.
- 20. The method of claim 19 wherein the associating of the virtual identifier with the path includes configuring a last routing device along the path to forward received data indicating the virtual identifier to the destination and configuring each other routing device along the path to forward received data indicating the virtual identifier to a next of the routing devices along the path.
- 21. The method of claim 12 wherein the virtual identifier is not associated with any node of the network.
- 22. The method of claim 12 including, before the determining of the virtual identifier, receiving information related to the data communication from a network manager for the network, and wherein the determining of the appropriate resource is based at least in part on the received information.
- 23. The method of claim 22 wherein the receiving of the information from the network manager is based on a source for the data communication registering the data communication with the network manager.
- 24. The method of claim 12 wherein the indicated data communication was sent by a remote source, wherein the path to which the virtual identifier corresponds is relative to the source using the virtual identifier to communicate data, and including:
receiving an indication of a second data communication from a distinct second source that was routed to the destination by using the virtual identifier to correspond to a distinct second path through the network to the destination; and determining a distinct second resource associated with the destination to which the second data communication will be supplied.
- 25. The method of claim 12 including determining for the indicated data communication a Class Of Service used for the data communication, and wherein the determining of the appropriate resource is additionally based on the determined Class Of Service.
- 26. The method of claim 12 including determining for the indicated data communication a transmission priority used for the data communication, and wherein the determining of the appropriate resource is additionally based on the determined transmission priority.
- 27. The method of claim 12 including determining a second virtual identifier associated with the data communication that corresponds to a path through the network from the destination to a source for the data communication, and wherein the determining of the appropriate resource is additionally based on the determined second virtual identifier.
- 28. The method of claim 12 wherein the indicated data communication includes information related to the resource, and wherein the determining of the appropriate resource is additionally based on the included information.
- 29. The method of claim 12 including supplying the indicated data communication to the determined resource.
- 30. The method of claim 12 including receiving indications of multiple data communications and supplying each of the data communications to a resource associated with the destination based on a virtual identifier used to route the data communication to the destination, at least two of the indicated data communications that are routed to the destination using distinct virtual identifiers being supplied to the same resource.
- 31. The method of claim 12 including determining network address information associated with the determined resource and adding the determined network address information to the indicated data communication before supplying the indicated data communication to the determined resource.
- 32. The method of claim 31 including determining whether the indicated data communication lacks the determined network address information, and wherein the adding of the determined network address information to the indicated data communication is performed only when the indicated data communication is determined to lack the determined network address information.
- 33. The method of claim 31 wherein the determined network address information associated with the determined resource is the network address associated with the destination.
- 34. The method of claim 31 wherein the indicated data communication includes a location in which a destination network address can be stored, and wherein the adding of the determined network address information to the indicated data communication includes storing an indication of that determined network address information in the location.
- 35. The method of claim 31 wherein the determining of the network address information associated with the determined resource includes retrieving information previously associated with the determined virtual identifier.
- 36. A computer-readable medium whose contents cause a computing device to process a received data communication based on a virtual identifier that was used to route the data communication through a network, by performing a method comprising:
receiving an indication of a data communication that was routed to a destination by using a virtual identifier corresponding to a path through the network to the destination; and determining an appropriate resource associated with the destination to which the indicated data communication will be supplied based on the virtual identifier used to route the indicated data communication through the network to the destination.
- 37. The computer-readable medium of claim 36 wherein the method further comprises determining network address information corresponding to the determined resource and adding the determined network address information to the indicated data communication before supplying the indicated data communication to the determined resource.
- 38. The computer-readable medium of claim 36 wherein the computer-readable medium is a memory of a computer system.
- 39. The computer-readable medium of claim 36 wherein the computer-readable medium is a data transmission medium transmitting a generated data signal containing the contents.
- 40. A computing device for processing a received data communication based on a virtual identifier that was used to route the data communication through a network, comprising:
a communication receiver capable of receiving an indication of a data communication that was routed to a destination by using a virtual identifier corresponding to a path through the network to the destination, the virtual identifier distinct from a network address associated with the destination; and a communication processor capable of determining the virtual identifier used to route the indicated data communication through the network to the destination and of determining based on the determined virtual identifier a resource associated with the destination to which the indicated data communication will be supplied.
- 41. The computing device of claim 40 including at least one application program executing in memory of the computing device, and wherein the determined resource is one of the executing application programs.
- 42. The computing device of claim 40 wherein the communication processor is further capable of determining network address information associated with the determined resource and of adding the determined network address information to the indicated data communication before supplying the indicated data communication to the determined resource.
- 43. The computing device of claim 40 wherein the communication receiver and the communication processor are part of a Network Interface Controller for the computing device.
- 44. The computing device of claim 40 wherein the computing device is a node of the network.
- 45. The computing device of claim 40 wherein the communication receiver and the communication processor are executing in memory of the computing device.
- 46. A computer system for processing a received data communication based on a virtual identifier that was used to route the data communication through a network, comprising:
means for receiving an indication of a data communication that was routed to a destination by using a virtual identifier corresponding to a path through the network to the destination, the virtual identifier distinct from a network address associated with the destination; means for determining the virtual identifier used to route the indicated data communication through the network to the destination; and means for determining based on the determined virtual identifier an appropriate resource associated with the destination to which the indicated data communication will be supplied.
- 47. A method for a destination computing device to process a received data communication based on a virtual identifier that was used to route the data communication through a network, the method comprising:
receiving an indication of a virtual identifier that can be used to route a data communication through the network to the destination, the receiving of the indicated virtual identifier based on a registration of that data communication with a network manager for the network; after the receiving of the indication of the virtual identifier, receiving a data communication that was routed to the destination by using the indicated virtual identifier; determining a resource associated with the destination that is appropriate to receive the received data communication, the determining based at least in part on the received indication of the virtual identifier; and supplying the received data communication to the determined resource.
- 48. The method of claim 47 wherein the destination is a node of the network having a network address distinct from the virtual identifier.
- 49. The method of claim 47 wherein the virtual identifier is associated by the network manager with a path through the network to the destination.
- 50. The method of claim 49 wherein the associating is performed in response to the registration.
- 51. The method of claim 47 wherein an ability of the virtual identifier to route a data communication to the destination is enabled during the registration.
- 52. The method of claim 47 wherein the receiving of the indication of the virtual identifier includes receiving an authorized Class Of Service for the data communication, and including verifying that the received data communication used the authorized Class Of Service before performing the supplying of the received data communication.
- 53. The method of claim 47 wherein the receiving of the indication of the virtual identifier includes receiving an indication of at least one authorized priority for the data communication, and including verifying that the received data communication used one of the authorized priorities before performing the supplying of the received data communication.
- 54. The method of claim 47 wherein the determined resource is an application executing on the destination computing device.
- 55. The method of claim 47 including determining network address information associated with the determined resource and adding the determined network address information to the received data communication before the supplying of the received data communication to the determined resource.
- 56. The method of claim 55 including determining that the received data communication includes network address information that is distinct from the determined network address information, and wherein the adding of the determined network address information to the received data communication includes replacing the distinct network address information in the received data communication with the determined network address information.
- 57. The method of claim 47 wherein the receiving of the indication of the virtual identifier includes receiving the determined network address information and associating that received network address information with the virtual identifier, and wherein the determining of the network address information associated with the determined resource includes retrieving the network address information associated with the virtual identifier.
- 58. The method of claim 47 wherein the registration of the data communication with the network manager is performed by the destination to reflect a data communication that is sent from the destination to a remote computing device, and wherein the received data communication is a response from the remote computing device to the sent data communication.
- 59. The method of claim 58 wherein the determined resource is an executing application that initiated the sending of the data communication from the destination to the remote computing device.
- 60. A method for a destination to process a received data communication based on a virtual identifier that was used to route the data communication through a network, the method comprising:
receiving a data communication that was routed through the network to the destination by using a virtual identifier that is distinct from a network address associated with the destination; adding the associated network address to the received data communication in such a manner that the added network address represents a destination network address; and after the adding of the associated network address to the received data communication, supplying the received data communication to a resource associated with the destination.
- 61. The method of claim 60 wherein multiple network addresses are associated with the destination, and including, before the adding of the associated network address to the received data communication, determining one of multiple resources associated with the destination to which the data communication will be supplied and determining one of the multiple network addresses that corresponds to the determined resource,
and wherein the associated network address added to the received data communication is the determined one network address and wherein the resource to which the received data communication is supplied is the determined one resource.
- 62. The method of claim 60 including, before the adding of the associated network address to the received data communication, determining whether the associated network address is included in the received data communication as the destination network address, and wherein the adding of the associated network address to the received data communication is performed only when the associated network address is not included in the received data communication as the destination network address.
- 63. The method of claim 60 including, before the adding of the associated network address to the received data communication, determining whether a distinct network address is included in the received data communication as the destination network address, and wherein the adding of the associated network address to the received data communication includes replacing the distinct network address with the associated network address.
- 64. The method of claim 60 including, before the adding of the associated network address to the received data communication, determining whether the received data communication lacks a destination network address, and wherein the adding of the associated network address to the received data communication is performed only when the received data communication lacks a destination network address.
- 65. The method of claim 60 wherein the received data communication includes a location in which the destination network address for the received data communication is to be stored, and wherein the adding of the associated network address to the received data communication includes storing an indication of the associated network address information in the location.
- 66. The method of claim 60 including determining the associated network address by retrieving information previously associated with the virtual identifier.
- 67. The method of claim 60 wherein the destination is a node of the network, and wherein the resource is an application executing on the destination.
- 68. The method of claim 60 including, before the adding of the associated network address to the received data communication, determining the associated network address by retrieving information associated with the virtual identifier.
- 69. The method of claim 68 including, before the associating of the retrieved information with the virtual identifier and before the receiving of the data communication, receiving an indication of the virtual identifier from a network manager for the network based on a registration of the data communication.
- 70. A computer-readable medium containing instructions that when executed cause a computing device to process a received data communication based on a virtual identifier that was used to route the data communication through a network, by performing a method comprising:
receiving a data communication that was routed through the network to a destination by using a virtual identifier; determining a network address associated with a resource of the destination, the received data communication lacking an indication of the associated network address; adding the associated network address to the received data communication in such a manner that the added network address represents a destination network address; and after the adding of the associated network address to the received data communication, supplying the received data communication to the resource.
- 71. A network node computing device for processing a received data communication based on a virtual identifier that was used to route the data communication through a network, comprising:
a first module capable of receiving a data communication that was routed through the network to the network node by using a virtual identifier that is distinct from a network address associated with the network node; a second module capable of adding the associated network address to the received data communication in such a manner that the added network address represents a destination network address; and a third module capable of, after the adding of the associated network address to the received data communication, supplying the received data communication to a resource associated with the network node.
- 72. A computer-readable medium containing a data structure for use by a destination in processing received data communications based on virtual identifiers that were used to route the data communications through a network, the data structure comprising a multiplicity of entries, each entry corresponding to one or more of the received data communications and containing information comprising:
an indication of a virtual identifier corresponding to a path through the network from a source to the destination; and an indication of a resource associated with the destination, so that when a data communication is received that was routed along a path to the destination through the network by using the virtual identifier indicated in one of the entries, the received data communication can be forwarded to the resource indicated by that one entry.
- 73. The computer-readable medium of claim 72 wherein the destination is a node of the network, and wherein each of the indicated resources is an application executing on the node.
- 74. The computer-readable medium of claim 72 wherein each of the indications of a resource includes information about a communications socket for the destination.
- 75. The computer-readable medium of claim 72 wherein each of the entries further comprises an indication of a Class Of Service, and wherein a received data communication is forwarded to the resource indicated by an entry only if the entry indicates a Class Of Service used for the received data communication.
- 76. The computer-readable medium of claim 72 wherein each of the entries further comprises an indication of at least one transmission priority, and wherein a received data communication is forwarded to the resource indicated by an entry only if the entry indicates a transmission priority used for the received data communication.
- 77. The computer-readable medium of claim 72 wherein each of the entries further comprises an indication of a second virtual identifier that corresponds to a path through the network from the destination to the source of the path corresponding to the indicated virtual identifier for that entry, and wherein a received data communication is forwarded to the resource indicated by an entry only if the entry indicates a virtual identifier and a second virtual identifier that were included as a pair in the received data communication.
- 78. The computer-readable medium of claim 72 wherein the indication of the resource for each of the entries includes an indication of network address information associated with that resource,
- 79. The computer-readable medium of claim 72 wherein each of the indicated resources is distinct.
- 80. The computer-readable medium of claim 72 wherein each of the indicated virtual identifiers is distinct.
- 81. The computer-readable medium of claim 72 wherein each entry includes a unique combination of an indicated resource and an indicated virtual identifier.
- 82. The method of claim 12 wherein the indicated data communication includes one or more Fibre Channel frames.
- 83. The method of claim 12 wherein the network uses the Fibre Channel protocol.
- 84. The method of claim 12 wherein the indicated data communication includes one or more InfiniBand packets.
- 85. The method of claim 12 wherein the network uses the InfiniBand protocol.
- 86. The computer-readable medium of claim 36 wherein the contents are instructions that when executed cause the computing device to perform the method.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims the benefit of U.S. Provisional Application No. 60/287,069 entitled “METHOD FOR IMPLEMENTING A CLUSTER NETWORK FOR HIGH PERFORMANCE AND HIGH AVAILABILITY USING A FIBRE CHANNEL SWITCH FABRIC,” filed Apr. 27, 2001; U.S. Provisional Application No. 60/287,120 entitled “MULTI-PROTOCOL NETWORK FOR ENTERPRISE DATA CENTERS,” filed Apr. 27, 2001; U.S. Provisional Application No. 60/286,918 entitled “UNIFIED ENTERPRISE NETWORK SWITCH (UNEX) PRODUCT SPECIFICATION,” filed Apr. 27, 2001; U.S. Provisional Application No. 60/286,922 entitled “QUALITY OF SERVICE EXAMPLE,” filed Apr. 27, 2001; U.S. Provisional Application No. 60/287,081 entitled “COMMUNICATIONS MODEL,” filed Apr. 27, 2001; U.S. Provisional Application No. 60/287,075 entitled “UNIFORM ENTERPRISE NETWORK SYSTEM,” filed Apr. 27, 2001; U.S. Provisional Application No. 60/314,088 entitled “INTERCONNECT FABRIC MODULE,” filed Aug. 21, 2001; U.S. Provisional Application No. 60/314,287 entitled “INTEGRATED ANALYSIS OF INCOMING DATA TRANSMISSIONS,” filed Aug. 22, 2001; U.S. Provisional Application No. 60/314,158 entitled “USING VIRTUAL IDENTIFIERS TO ROUTE TRANSMITTED DATA THROUGH A NETWORK,” filed Aug. 21, 2001, and is related to U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR VIRTUAL ADDRESSING IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048019US1); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR LABEL TABLE CACHING IN A ROUTING DEVICE,” (Attorney Docket No. 030048024US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR MULTIFRAME BUFFERING IN A ROUTING DEVICE,” (Attorney Docket No. 030048025US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR DOMAIN ADDRESSING IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048026US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR INTERSWITCH LOAD BALANCING IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048027US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR INTERSWITCH DEADLOCK AVOIDANCE IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048028US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR CONNECTION PREEMPTION IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048029US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR MULTICASTING IN A ROUTING DEVICE,” (Attorney Docket No. 030048030US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR NETWORK CONFIGURATION DISCOVERY IN A NETWORK MANAGER,” (Attorney Docket No. 030048032US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR PATH BUILDING IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048033US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR RESERVED ADDRESSING IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048035US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR RECONFIGURING A PATH IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048036US1); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR ADMINISTRATIVE PORTS IN A ROUTING DEVICE,” (Attorney Docket No. 030048037US); U.S. patent application Ser. No. ______ entitled “PARALLEL ANALYSIS OF INCOMING DATA TRANSMISSIONS,” (Attorney Docket No. 030048038US); U.S. patent application Ser. No. ______ entitled “INTEGRATED ANALYSIS OF INCOMING DATA TRANSMISSIONS,” (Attorney Docket No. 030048039US); U.S. patent application Ser. No. ______ entitled “USING VIRTUAL IDENTIFIERS TO ROUTE TRANSMITTED DATA THROUGH A NETWORK,” (Attorney Docket No. 030048040US); U.S. patent application Ser. No. ______ entitled “USING VIRTUAL IDENTIFIERS TO PROCESS RECEIVED DATA ROUTED THROUGH A NETWORK,” (Attorney Docket No. 030048041 US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR PERFORMING SECURITY VIA VIRTUAL ADDRESSING IN A COMMUNICATIONS NETWORK,” (Attorney Docket No. 030048042US); and U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR PERFORMING SECURITY VIA DE-REGISTRATION IN A COMMUNICATIONS NETWORK” (Attorney Docket No. 030048043US), which are all hereby incorporated by reference in their entirety.
Provisional Applications (9)
|
Number |
Date |
Country |
|
60287069 |
Apr 2001 |
US |
|
60287120 |
Apr 2001 |
US |
|
60286918 |
Apr 2001 |
US |
|
60286922 |
Apr 2001 |
US |
|
60287081 |
Apr 2001 |
US |
|
60287075 |
Apr 2001 |
US |
|
60314088 |
Aug 2001 |
US |
|
60314287 |
Aug 2001 |
US |
|
60314158 |
Aug 2001 |
US |