Claims
- 1. A method for distributing an information request to a server resource, comprising the steps of:
hashing the request to a request location in a circular mathematical mapping space; hashing the resource to a location in the circular mathematical mapping space; matching the request to the resource based on a mathematical relationship between the request location and the resource location in the mathematical mapping space; and allocating the request to the resource.
- 2. A method for querying one of a plurality of servers, comprising the steps of:
generating an interconnected network of nodes in response to a data request; choosing a first node on the network of nodes; generating a route from the first node to a last node; identifying one of the plurality of servers to be the final server; determining the distance of each of the plurality of servers; identifying a subset of the plurality of servers to be a distance less than or equal to the final server; mapping the first node on the route to one of the subset of the plurality of servers and mapping the last node to the final server; and querying the one of the plurality of servers mapped to the first node on the route.
- 3. The method of claim 2 wherein the querying step comprises transmitting the query and a sequence of nodes through which the query should be directed.
- 4. The method of claim 3 wherein the querying step further comprises transmitting a route of servers mapped to the nodes on the route from the first node to the last node.
- 5. The method of claim 4 wherein the query step further comprises transmitting a request from a client to the server.
- 6. The method of claim 5 wherein the mapping step comprises calculating a hash function.
- 7. The method of claim 6 wherein the mapping step further comprises:
mapping the first node to a first node location in a mathematical mapping space; mapping each of the subset of the plurality of servers to a respective at least one server location in the mathematical mapping space; allocating the first node to one of the subset of the plurality of servers based on a mathematical relationship between the first node location and each of the server locations in the mathematical mapping space.
- 8. The method of claim 2 wherein the identifying step comprises identifying a subset of the plurality of servers to be a distance less than or equal to the final server only if the ratio of servers to clients is smaller than a predetermined value.
- 9. The method of claim 2 wherein the determining step comprises determining distance based on communications latency.
- 10. The method of claim 2 wherein the determining step comprises determining distance based on the number of network hops.
- 11. An apparatus for querying one of a plurality of servers, comprising:
an interface for receiving a query; a router in communication with the input for choosing a first node on a virtual network and for generating at least one route of nodes in response to the query; distance logic for determining the distance of each of the plurality of servers and identifying a subset of the plurality of servers to be an acceptable distance from the apparatus; an allocator in communication with the path generator for allocating nodes on the route to a respective one of the subset of the plurality of servers; and an output in communication with the allocator for requesting data from the respective one of the plurality of servers to the nodes on the route.
- 12. The method of claim 11 wherein the distance logic determines distance based on communications latency.
- 13. The method of claim 11 wherein the distance logic determines distance based on the number of network hops.
- 14. The method of claim 11 wherein the distance logic identifies a subset of the plurality of servers to be a distance less than or equal to a final server only if the ratio of servers to clients is smaller than a predetermined value.
PRIORITY INFORMATION
[0001] This is a continuation-in-part of application Ser. No. 09/042,228 filed Mar. 13, 1999.
GOVERNMENT SUPPORT
[0002] Work described herein was supported by Federal Grant No. DAAH04-95-10607, awarded by the United States Army, Federal Grant No. N00014-95-1-1246, awarded by the United States Navy, and CCR-9624239, awarded by the National Science Foundation. The Government has certain rights in the invention.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09088825 |
Jun 1998 |
US |
Child |
10417427 |
Apr 2003 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09042228 |
Mar 1998 |
US |
Child |
09088825 |
Jun 1998 |
US |