Method and apparatus for distributing requests among a plurality of resources
First Claim
1. A method for distributing a request to one of a plurality of resources, comprising the steps of:
- mapping said request to a request location in a mathematical mapping space;
mapping each of said plurality of resources to a respective at least one resource location in the mathematical mapping space;
allocating said request to one of said plurality of resources based on a mathematical relationship between the request location in the mathematical mapping space and each of the resource locations in the mathematical mapping space.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a method and apparatus for distributing a request to one of a plurality of resources. A request is mapped to a location in mathematical mapping space. Each of the plurality of resources is mapped to a respective location or locations in the mathematical mapping space. The request is allocated to one of the resources based on a mathematical relationship between the request location and the resource location in the mathematical mapping space. An apparatus for distributing a request to one of a plurality of resources includes the plurality of resources and an input receiving a resource request. A mapper in communication with the input maps the request to a request location in a mathematical mapping space and maps each of the plurality of resources to at least one resource locations in the mathematical mapping space. A distributor distributes the request to one of the plurality of resources in response to a mathematical relationship between the locations of the request and resources in the mathematical mapping space. The invention also relates to a method and apparatus for requesting data from one of a plurality of servers. An virtual network of nodes is generated in response to a data request. A first node on the virtual network of nodes is chosen randomly, and a path generated from the first node to the root on the virtual network. At least one node on the path is mapped to a respective one of the plurality of servers and data is requested from a server. The node may be mapped to the server using the method and apparatus for distributing a request to one of a plurality of resources of the present invention.
30 Citations
21 Claims
-
1. A method for distributing a request to one of a plurality of resources, comprising the steps of:
-
mapping said request to a request location in a mathematical mapping space;
mapping each of said plurality of resources to a respective at least one resource location in the mathematical mapping space;
allocating said request to one of said plurality of resources based on a mathematical relationship between the request location in the mathematical mapping space and each of the resource locations in the mathematical mapping space. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for distributing a request to one of a plurality of resources, comprising:
-
the plurality of resources;
an input receiving a resource request;
a mapper in communication with said input, said mapper mapping said request to a request location in a mathematical mapping space and mapping each of said plurality of resources to at least one resource locations in said mathematical mapping space; and
a distributor distributing said request to one of said plurality of resources in response to a mathematical relationship between the request location in the mathematical mapping space and the at least one resource location of each of the plurality of resources in the mathematical mapping space.
-
-
7. A computer-readable medium whose contents cause a computer system to distribute a request to one of a plurality of resources, the computer system executing the contents of the computer-readable medium by performing a program comprising the steps of:
-
mapping said request to a request location in a mathematical mapping space;
mapping each of said plurality of resources to a respective at least one location in the mathematical mapping space;
allocating said request to one of said plurality of resources based on a mathematical relationship between the request location in the mathematical mapping space and the resource location of each of the plurality of resources in the mathematical mapping space.
-
-
8. A method for requesting data from one of a plurality of servers, comprising the steps of:
-
generating an virtual network of nodes in response to a data request;
randomly choosing a first node on said virtual network of nodes and generating a path from the first node to the root node on the virtual network of nodes;
mapping at least one node on the path to a respective one of the plurality of servers; and
requesting data from the one of the plurality of servers. - View Dependent Claims (9, 10, 11, 12, 13, 16, 17, 18, 19, 20)
-
-
14. An apparatus for requesting data from one of a plurality of servers, comprising:
-
an input receiving a data request;
a path generator in communication with the input randomly choosing a node on an virtual network and generating at least one path of nodes in response to the data request;
a mapper in communication with the path generator mapping nodes on the at least one path of nodes to one of the plurality of servers; and
an output in communication with the mapper and requesting data from the one of the plurality of servers mapped to the nodes on the at least one path of nodes.
-
-
15. A method for responding to data requests made by a client, comprising:
-
receiving a first data request comprising a sequence of nodes corresponding to a sequence of servers;
determining whether the data specified in the data request is not available on a selected server; and
if the data is not available, further comprising;
determining a next node from the sequence of nodes;
mapping a server to the next node; and
requesting the data by transmitting a second data request to the server mapped to the next node.
-
-
21. An apparatus for responding to data requests made by a client, comprising:
-
an input receiving a first data request comprising a sequence of nodes corresponding to a sequence of servers;
decision logic determining whether the data specified in the data request is available on a selected server, and if the data is not available determining a next node from the sequence of nodes;
a mapper mapping a server to the next node; and
an output requesting the data by transmitting a second data request to the server mapped to the next node.
-
Specification