Claims
- 1. A method for a source node to transmit data to destinations nodes by using virtual path identifiers to route the data through a network, the method comprising:
for each of one or more source applications executing on the source node,
receiving from the source application multiple instructions that each indicate to transmit data to a remote node; and for each of the multiple indicated data transmissions,
determining whether a network manager for the network has previously provided a transmittal virtual path identifier that is assigned to a path through the network from the source node to a remote destination node for the indicated data transmission; when it is determined that the network manager has previously provided a transmittal virtual path identifier that is assigned to the path, selecting that transmittal virtual path identifier to be used to route the indicated data transmission through the network along the path; when it is determined that the network manager has not previously provided a transmittal virtual path identifier that is assigned to the path,
registering the indicated data transmission with the network manager and receiving in response a transmittal virtual path identifier that is assigned to the path; and selecting the received transmittal virtual path identifier to be used to route the indicated data transmission through the network along the path; and transmitting the data to the destination node by using the selected transmittal virtual path identifier, so that the data is routed through the network along the path assigned to the selected transmittal virtual path identifier.
- 2. The method of claim 1 wherein the registering of an indicated data transmission from a source node to a destination node includes configuring each of multiple intermediate network routing devices along the path between the source node and the destination node so as to forward a data transmittal indicating the transmittal virtual path identifier assigned to that path to a next of the intermediate routing devices.
- 3. The method of claim 1 wherein the path to which a transmittal virtual path identifier is assigned is relative to a source using that transmittal virtual path identifier to transmit data, and wherein one of the received transmittal virtual path identifiers used by the source node to transmit data to a destination node is also assigned to another path through the network from a distinct source node to a distinct destination node and is used by that distinct source node to transmit data to that distinct destination node.
- 4. The method of claim 1 wherein each of the received instructions specify a destination network address that is associated with a remote node, and wherein the determining of whether the network manager has previously provided a transmittal virtual path identifier that is assigned to a path through the network from the source node to a destination node includes determining whether a transmittal virtual path identifier is associated with the specified destination network address.
- 5. The method of claim 4 wherein the registering of the indicated data transmissions includes supplying to the network manager the destination network addresses specified for those indicated data transmissions, wherein the network manager selects the destination nodes for those indicated data transmissions based on the registering, and wherein for at least some of those indicated data transmissions the network manager selects a remote destination node that is distinct from the remote node associated with the network address specified for that indicated data transmission.
- 6. The method of claim 1 wherein the registering of an indicated data transmission includes supplying to the network manager indications of multiple of a type of the data to be transmitted as part of that data transmission, a specified manner of data transmission for that data transmission, the source application that indicated that data transmission, and a destination application at the destination node for that data transmission that is to receive that data transmission, and wherein the transmittal virtual path identifier that is received in response to the registering is assigned to a path to a destination node that is selected based at least in part on a combination of multiple of the supplied indications.
- 7. The method of claim 1 wherein the destination node for at least some of the indicated data transmissions is selected based on a type of data to be transmitted such that the registering of each of those data transmissions includes supplying to the network manager the data type for that indicated data transmission and such that the transmittal virtual path identifier that is received in response to that registering is assigned to a path to a remote node that had subscribed to the data type for that indicated data transmission.
- 8. The method of claim 1 wherein multiple destination nodes are selected for at least some of the indicated data transmissions and wherein for those indicated data transmissions the transmittal virtual path identifier that is received in response to the registering is assigned to a path from the source node that divides in the network so as to lead to the multiple destination nodes.
- 9. The method of claim 1 wherein the registering of an indicated data transmission includes supplying to the network manager an authentication key specific to the source node, and wherein a transmittal virtual path identifier is not received in response to the registering unless the supplied authentication key corresponds to the node performing the registering.
- 10. The method of claim 1 wherein the registering of an indicated data transmission includes transmitting information to the network manager by using a previously provided transmittal virtual path identifier that will route the transmitted information through the network to the network manager.
- 11. The method of claim 1 including receiving in response to the registering of each of the indicated data transmissions one or more Quality Of Service parameters related to that data transmission, and wherein the transmitting of data for each of the registered data transmissions includes performing that transmitting in accordance with the received Quality Of Service parameters related to that data transmission.
- 12. The method of claim 1 including:
receiving in response to the registering of at least some of the indicated data transmissions a response virtual path identifier assigned to a path from the destination node for that indicated data transmission to the source node; and routing received data transmissions that use one of the response virtual path identifiers to the application that indicated the data transmission for which that response virtual path identifier was received.
- 13. A computer-implemented method for using virtual identifiers to communicate data through a network, the method comprising:
receiving an indication of data to be communicated through the network to a destination having a network address; determining a virtual identifier that is distinct from the network address and that corresponds to a path through the network to the destination; and indicating to communicate the indicated data to the destination by using the determined virtual identifier to route the indicated data through the network.
- 14. The method of claim 13 wherein the destination is a node of the network, and wherein the network address is a physical network address corresponding to the node.
- 15. The method of claim 13 wherein the destination is a node of the network, and wherein the network address is a logical network address corresponding to the node.
- 16. The method of claim 13 wherein the destination is specified using a logical name that corresponds to the network address and that is distinct from the virtual identifier.
- 17. The method of claim 13 wherein the received indication of the data to be communicated includes an indication of the network address.
- 18. The method of claim 13 wherein the received indication of the data to be communicated includes an indication of the destination.
- 19. The method of claim 13 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 13 wherein the virtual identifier is not associated with any node of the network.
- 22. The method of claim 13 wherein the determining of the virtual identifier includes notifying a network manager for the network of the data communication and receiving the virtual identifier from the network manager for use in communicating the indicated data.
- 23. The method of claim 22 wherein the notifying of the network manager of the data communication includes supplying an indication of a type of the data to be communicated, and wherein the destination of the path corresponding to the received virtual identifier is selected based at least in part on the indicated data type.
- 24. The method of claim 22 wherein the notifying of the network manager of the data communication includes supplying an indication of a manner of communicating the data, and wherein the destination of the path corresponding to the received virtual identifier is selected based at least in part on the indicated communication manner.
- 25. The method of claim 22 wherein the notifying of the network manager of the data communication includes supplying an indication of a source application that indicated the data to be communicated, and wherein the destination of the path corresponding to the received virtual identifier is selected based at least in part on the source application.
- 26. The method of claim 22 wherein the notifying of the network manager of the data communication includes supplying an indication related to a destination application that is to receive the communicated data, and wherein the destination of the path corresponding to the received virtual identifier is selected based at least in part on the indicated destination application.
- 27. The method of claim 22 wherein the method is performed by a source having a unique identifier, and wherein the notifying of the network manager of the data communication includes supplying the unique identifier so that the network manager can authenticate the source before the supplying of the virtual identifier.
- 28. The method of claim 22 wherein the notifying of the network manager of the data communication includes communicating information to the network manager by using a virtual identifier associated with the network manager to route that information through the network to the network manager, the virtual identifier associated with the network manager being distinct from the received virtual identifier.
- 29. The method of claim 22 wherein the notifying of the network manager of the data communication is performed only for an initial communication to that destination, and wherein subsequent communications to that destination select the previously received virtual identifier for use in the communicating.
- 30. The method of claim 13 including determining a Class Of Service for the data communication, and wherein the indicating to communicate the indicated data includes indicating to perform that communicating using the determined Class Of Service.
- 31. The method of claim 13 including determining at least one authorized priority for the data communication, and wherein the indicating to communicate the indicated data includes indicating to perform that communicating at one of the authorized priorities.
- 32. The method of claim 13 wherein the method is performed by a source node, and including:
determining a second virtual identifier that corresponds to a path through the network from the destination to the source node; and routing received data communications that use the second virtual identifier to an application executing on the source node from which the indication of the data communication was received.
- 33. The method of claim 13 wherein the received indication of the data to be communicated includes an identifier of a first destination, and wherein the destination to which the path of the determined virtual identifier leads is distinct from the first destination.
- 34. The method of claim 13 wherein the indicating to communicate the indicated data is performed by a first source, wherein the path corresponding to the virtual identifier is relative to the first source, and wherein a distinct second source uses that virtual identifier to correspond to a distinct path through the network to a distinct destination.
- 35. The method of claim 13 including identifying multiple destinations for the communicated data, and wherein the path through the network corresponding to the determined virtual identifier leads to each of the multiple destinations.
- 36. A computer-readable medium whose contents cause a computing device to use virtual identifiers to communicate data through a network, by performing a method comprising:
receiving an indication of data to be communicated through the network to a destination; determining a virtual identifier that corresponds to a path through the network to the destination; and indicating to communicate the indicated data to the destination by using the determined virtual identifier to route the indicated data through the network.
- 37. The computer-readable medium of claim 36 wherein the determining of the virtual identifier includes notifying a network manager for the network of the indicated data to be communicated to the destination and receiving the virtual identifier from the network manager for use in communicating the indicated data.
- 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 using virtual identifiers to communicate data through a network, comprising:
a first module capable of receiving an indication of data to be communicated through the network to a destination having a network address; a second module capable of determining a virtual identifier that is distinct from the network address and that corresponds to a path through the network to the destination; and a third module capable of indicating to communicate the indicated data to the destination by using the determined virtual identifier to route the indicated data through the network.
- 41. The computing device of claim 40 including at least one application program executing in memory of the computing device, and wherein the indication of the data to be communicated is received from one of the executing application programs.
- 42. The computing device of claim 40 wherein the second module determines the virtual identifier by notifying a network manager for the network of the indicated data to be communicated to the destination and by receiving the virtual identifier from the network manager for use in communicating the indicated data.
- 43. The computing device of claim 40 wherein the first, second and third modules 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 first, second and third modules are executing in memory of the computing device.
- 46. A computer system for using virtual identifiers to communicate data through a network, comprising:
means for receiving an indication of data to be communicated through the network to a destination having a network address; means for determining a virtual identifier that is distinct from the network address and that corresponds to a path through the network to the destination; and means for indicating to communicate the indicated data to the destination by using the determined virtual identifier to route the indicated data through the network.
- 47. A method for a computing device to use virtual identifiers to communicate data through a network, the method comprising:
receiving an indication to communicate data through the network to a destination; registering the indicated data communication with a network manager for the network; receiving from the network manager a virtual identifier that can be used to route the data communication to the destination through the network; and indicating to communicate the data to the destination by using the virtual identifier for routing of the data.
- 48. The method of claim 47 wherein the destination is a node 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 registering.
- 51. The method of claim 47 wherein the virtual identifier is not associated with the destination before the registering.
- 52. The method of claim 47 including receiving from the network manager an authorized Class Of Service for the data communication, and wherein the indicating to communicate the data includes indicating to perform that communicating using the authorized Class Of Service.
- 53. The method of claim 47 including receiving from the network manager an indication of at least one authorized priority for the data communication, and wherein the indicating to communicate the indicated data includes indicating to perform that communicating at one of the authorized priorities.
- 54. The method of claim 47 including:
determining a second virtual identifier that corresponds to a response path from the destination through the network; and routing received data communications that use the second virtual identifier to an executing application from which the indication of the data communication was received.
- 55. The method of claim 47 including identifying multiple destinations for the communicated data, and wherein the virtual identifier routes the communicated data to each of the multiple destinations.
- 56. A computer-readable medium containing instructions that when executed cause a computing device to use virtual identifiers to communicate data through a network, by performing a method comprising:
receiving an indication to communicate data through the network to a destination; registering the indicated data communication with a network manager; receiving from the network manager a virtual identifier that can be used to route the data communication to the destination through the network; and indicating to communicate the data to the destination by using the virtual identifier.
- 57. A network node computing device for using virtual identifiers to communicate data through a network, comprising:
a first module capable of receiving an indication of data to be communicated through the network to a destination having a network address; a second module capable of registering the indicated data communication with a network manager for the network and of receiving from the network manager a virtual identifier that can be used to route the data communication to the destination through the network; and a third module capable of indicating to communicate the data to the destination by using the virtual identifier for routing of the data.
- 58. A method for a source node to use virtual path identifiers to transmit data through a network, each virtual path identifier corresponding to a unique path through the network from a source to a destination, the method comprising:
receiving an indication of data to be transmitted to a destination node; determining one of the virtual path identifiers that corresponds to a path from the source node to the destination node; and indicating to transmit the indicated data to the destination node along the path through the network that corresponds to the determined virtual path identifier.
- 59. The method of claim 58 wherein the received indication of the data includes an indication of the destination node.
- 60. The method of claim 58 wherein the determining of the virtual path identifier includes registering the data transmission with a network manager for the network and receiving that virtual path identifier from the network manager in response.
- 61. A method for a source node to use virtual identifiers to transmit data through a network, the method comprising:
receiving an indication of data to be transmitted to unspecified recipients; determining based on a type of the data a virtual identifier that can be used to route the data transmission through the network to one or more appropriate recipients for the data; and indicating to transmit the data through the network to the appropriate recipients by using the virtual identifier.
- 62. The method of claim 61 wherein the determining of the virtual identifier includes registering the data transmission with a network manager for the network and receiving the virtual identifier from the network manager in response.
- 63. The method of claim 61 wherein the transmitting of the indicated data includes publishing the indicated data, and wherein the appropriate recipients are subscribers for the type of the indicated data.
- 64. A method for a source node to use virtual identifiers to transmit data through a network, the method comprising:
receiving an indication to transmit data in a specified manner to unspecified recipients; determining based on the specified manner a virtual identifier that can be used to route the data transmission through the network to one or more appropriate recipients for the data; and indicating to transmit the data through the network to the appropriate recipients by using the virtual identifier.
- 65. The method of claim 64 wherein the determining of the virtual identifier includes registering the data transmission with a network manager for the network and receiving the virtual identifier from the network manager in response.
- 66. A method for a source node to use virtual identifiers to transmit data through a network, the method comprising:
receiving an indication from an executing application to transmit data to unspecified recipients; determining based on the executing application a virtual identifier that can be used to route the data transmission through the network to one or more appropriate recipients for the data; and indicating to transmit the data through the network to the appropriate recipients by using the virtual identifier.
- 67. The method of claim 66 wherein the determining of the virtual identifier includes registering the data transmission with a network manager for the network and receiving the virtual identifier from the network manager in response.
- 68. A method for using virtual identifiers to transmit data through a network, the method comprising:
receiving an indication of data to be transmitted through the network to a specified network address; determining a destination virtual identifier that corresponds to the specified network address and that can be used to route the data through the network to multiple destination nodes; and indicating to transmit the indicated data to the multiple destination nodes by using the determined destination virtual identifier to route the transmitted data through the network.
- 69. The method of claim 68 wherein the determining of the virtual identifier includes registering the data transmission with a network manager for the network and receiving the virtual identifier from the network manager in response.
- 70. A computer-readable medium containing a data structure for use by a source in communicating data to a destination by using a virtual identifier to route the data communications along a path through a network, the virtual identifier distinct from a network address associated with the destination, the data structure comprising a multiplicity of entries, each entry corresponding to one or more data communications and containing information comprising:
an indication of a type of data communication; and an indication of a virtual identifier corresponding to a path through the network to a destination, so that when a first data communication of a first type is to be communicated, the virtual identifier that is selected to be used to route the first data communication is the virtual identifier that is indicated in an entry having an indication of the first type of data communication, the routing of the first data communication using that selected virtual identifier being along the path corresponding to the selected virtual identifier and being to the destination of that path.
- 71. The computer-readable medium of claim 70 wherein each of the indications of a type of data communication includes an indication of a manner of communicating data, and wherein the virtual identifier that is selected is the virtual identifier that is indicated in an entry that has an indication of a manner of communicating data that is selected for the first data communication.
- 72. The computer-readable medium of claim 70 wherein each of the indications of a type of data communication includes an indication of a source application, and wherein the virtual identifier that is selected is the virtual identifier that is indicated in an entry that has an indication of a source application that initiated the first data communication.
- 73. The computer-readable medium of claim 70 wherein each of the indications of a type of data communication includes an indication of a destination application, and wherein the virtual identifier that is selected is the virtual identifier that is indicated in an entry that has an indication of a destination application for the first data communication.
- 74. The computer-readable medium of claim 70 wherein the indication of a type of data communication in each entry includes an indication of the destination of the path corresponding to the indicated virtual identifier for that entry, and wherein the virtual identifier that is selected is the virtual identifier that is indicated in an entry that has an indication of a destination for the first data communication.
- 75. The computer-readable medium of claim 70 wherein each of the entries further comprises an indication of a Class Of Service, and wherein the first data communication is communicated using the Class Of Service indicated for the entry having the selected virtual identifier.
- 76. The computer-readable medium of claim 70 wherein each of the entries further comprises an indication of at least one transmission priority, and wherein the first data communication is communicated at one of the transmission priorities indicated for the entry having the selected virtual identifier.
- 77. The computer-readable medium of claim 70 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 of the path corresponding to the indicated virtual identifier for that entry to the source, so that received data communications that use the second virtual identifier can be forward to an application that initiated the first data communication.
- 78. The computer-readable medium of claim 70 wherein each of the indicated types of data communications is distinct.
- 79. The computer-readable medium of claim 70 wherein each of the indicated virtual identifiers is distinct.
- 80. The computer-readable medium of claim 70 wherein each entry includes a unique combination of an indicated type of data communication and an indicated virtual identifier.
- 81. The method of claim 13 wherein the indicated data to be communicated is stored in one or more Fibre Channel frames.
- 82. The method of claim 13 wherein the network uses the Fibre Channel protocol, and including communicating the Fibre Channel frames to the destination over the network.
- 83. The method of claim 13 wherein the indicated data to be communicated is stored in one or more InfiniBand packets.
- 84. The method of claim 13 wherein the network uses the InfiniBand protocol, and including communicating the InfiniBand packets to the destination over the network.
- 85. 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. 030048041US); 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 |