Claims
- 1. A method, comprising returning, in response to a request therefore, an address of a first server that should service a second server's request for an information object, the address of the first server being selected according to specified performance metrics.
- 2. The method of claim 1 wherein the specified performance metrics comprise one or more of average delay from the first server to the second server, average processing delays at the first server, reliability of a path from the first server to the second server, available bandwidth in said path, and loads on the first server.
- 3. The method of claim 2 wherein the first server is an optimum server for servicing the second server's request.
- 4. The method of claim 3 wherein the first server is the optimum server, because the first server offers a lowest response time in delivering the information object, according to the specified performance metrics.
- 5. The method of claim 1 wherein upon receipt of an instruction to do so, the first server contacts an information object repository determined to store the information object.
- 6. The method of claim 1 wherein the first server stores a copy of the information object.
- 7. The method of claim 1 wherein the first server and the second server are coupled together through a virtual network.
- 8. The method of claim 1 wherein the second server's request for the information object is referred to a first Web router.
- 9. The method of claim 8 wherein the first Web router is configured to map an identifier of the information object with the address of the first server.
- 10. The method of claim 9 wherein the map is generated by the first Web router according to the specified performance metrics, which comprise one or more of average delay from the first server to the second server, average processing delays at the first server, reliability of a path from the first server to the second server, available bandwidth in said path, and loads on the first server.
- 11. The method of claim 10 wherein the map is further generated by the Web router according to other mappings generated by other Web routers and forwarded to the first Web router.
- 12. The method of claim 11 wherein the other mappings generated by the other Web routers are forwarded to the first Web router as inter-Web router communication messages passed between the Web routers using a reliable transmission protocol.
- 13. The method of claim 12 wherein the inter-Web router communication messages conform to a Web Information Locator by Distance (WILD) protocol.
- 14. The method of claim 12 wherein one or more of the communication messages passed between the Web routers further report an associated address of one of the other Web routers co-located with an information object repository that contains the information object.
- 15. The method of claim 11 wherein the other mappings specify optimal associations of information object identifiers to information object repository addresses.
- 16. The method of claim 9 wherein the map is based on distance information obtained using a routing protocol that provides accurate distances from one Web router to another, the distance information being based on one or more of the specified performance metrics.
- 17. The method of claim 16 wherein the routing protocol is at least one of: a diffusing update algorithm (DUAL); a loop-free path-finding algorithm (LPA); a link-vector algorithm (LVA); a bandwidth efficient source tree (BEST) protocol; a dynamic source tree (DST) routing protocol; a diffusing algorithm for shortest multipaths (DASM); a multipath distance vector algorithm (MDVA); a routing on-demand acyclic multipath (ROAM) protocol; a multiple-path partial-topology dissemination algorithm (MPDA); a multipath loop-free routing algorithm (MPATH); an adaptive link-state protocol (ALP); a topology broadcast protocol, such as the one implemented in the Open Shortest Path First protocol (OSPF); a path vector algorithm used as part of the Border Gateway Protocol (BGP); or a static table in the first Web router specifying the next hops or paths to one or more other active Web routers.
- 18. The method of claim 9 wherein the first Web router executes a communication protocol with which it determines: addresses of other Web routers participating in a virtual overlay network with the first Web router; and optimum distances to each Web router in the virtual overlay network.
- 19. The method of claim 18 wherein the first Web router further determines neighbor Web routers that offer the optimum distances to each Web router in the virtual overlay network.
- 20. The method of claim 18 wherein the first Web router updates the map according to messages received from other Web routers in the virtual overlay network.
- 21. The method of claim 20 wherein the map is implemented as one or more tables stored in a computer readable medium.
- 22. A communication protocol, comprising one or more messages passed between Web routers over a reliable transmission protocol used for inter-Web router communication, said messages including information which allows said Web routers to dynamically update mappings of information objects to server addresses based on specified performance metrics.
- 23. The communication protocol of claim 22 wherein the mappings are optimal mappings of the information objects to the server addresses.
- 24. The communication protocol of claim 23 wherein the specified performance metrics comprise are one or more of average delay from a server to another, an average processing delay at a server, reliability of a path from a server to another, available bandwidth in such a path, and loads on a server.
- 25. The communication protocol of claim 23 wherein said messages report updated distances from said server addresses to another information object, said distances being based on said specified performance metrics.
- 26. The communication protocol of claim 25 wherein said messages further report, for each updated distance, an associated server.
- 27. The communication protocol of claim 26 wherein said messages further report, for each updated distance, an associated address of a first Web router co-located with a first server that is a subject of the message.
- 28. The communication protocol of claim 22 wherein Web routers dynamically update mappings in response to one or more of the following inputs: addition/deletion messages from an associated information object repository, changes in load messages from the associated information object repository, changes in information object repository connectivity information, URL updates from neighbor Web routers, changes in Web router neighbor connectivity information, changes in distances to other Web Routers, and URL lookup queries.
- 29. The communication protocol of claim 28 wherein in response to one or more of the inputs, Web routers take one or more of the following actions; if an input offers a better distance to a URL than is currently maintained, change a corrsponding routing table entry accordingly and transmit an add messge; if an input offers a worse distance than a present routing table entry, ignore that input; if an input causes a loss of a last path, transmit a delete message; and if an input causes a distance increase, change a corresponding routing table entry accordingly and transmit a query.
- 30. A method, comprising mapping an address of a requesting server seeking an information object to an address of an information object repositories that has a best distance to the requesting server according to specified performance metrics.
- 31. The method of claim 30 wherein distance information between information object repositories is computed according to a shortest-path first algorithm.
- 32. A method, comprising verifying mapping information information object and a server by only trusting a neighbor node of a communication network that offers a shortest path to the server.
- 33. The method of claim 32 wherein in the case of two or more equal distances, that mapping information which is received is adopted.
RELATED APPLICATIONS
[0001] The present application is related to and hereby claims the priority benefit of the following commonly-owned and co-pending U.S. Provisional Patent Applications:
[0002] (1) Application No. 60/323,126, entitled “SYSTEM AND METHOD FOR DIRECTING CLIENTS TO OPTIMAL SERVERS IN COMPUTER NETWORKS” filed Sep. 10, 2001, by J. J. Garcia-Luna-Aceves and Srinivas Vutukury; and
[0003] (2) Application No. 60/322,899, entitled “SYSTEM AND METHOD FOR INFORMATION OBJECT ROUTING IN COMPUTER NETWORKS”, filed Sep. 10, 2001, by Jyoti Raju, J. J. Garcia-Luna-Aceves and Bradley R. Smith.
[0004] The present application is also a continuation in part of commonly owned and co-pending U.S. patent application Ser. No. 09/810,148, entitled “SYSTEM AND METHOD FOR DISCOVERING INFORMATION OBJECTS AND INFORMATION OBJECT REPOSITORIES IN COMPUTER NETWORKS”, filed Mar. 15, 2001, by J. J. Garcia-Luna-Aceves.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60323126 |
Sep 2001 |
US |
|
60322899 |
Sep 2001 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09810148 |
Mar 2001 |
US |
Child |
10241767 |
Sep 2002 |
US |