Load balancing using a distributed hash
First Claim
1. A load balancing system for receiving requests for information from clients and providing the information in response, the system comprising:
- a plurality of servers, each server identified by an identifier;
at least one dispatcher module executed by a server of the plurality of servers, the dispatcher module adapted to receive a request for information from a client, incrementally calculate an identifier of an active server of the plurality of servers responsive to different subsets of a same hash result generated by a hashing module responsive to the request, route the request to the server identified by the identifier, and provide information determined in response to the request to the client; and
at least one request handler module executed by a server of the plurality of servers, the request handler module adapted to receive the request routed by the dispatcher module, determine the information requested by the request, and provide the determined information to the dispatcher module.
2 Assignments
0 Petitions
Accused Products
Abstract
A load balancing server system includes a plurality of servers. A server has a dispatcher module, a request handler module, a cache and a local database. A load balancer receives requests for information from clients and distributes the requests among dispatcher modules of the plurality of servers in a balanced manner. The dispatcher module receives a request for information, calculates an identifier of a server from a subset of a hash result responsive to the request, routes the request to the server identified by the identifier, and provides information in the response to the client that requested it. The request handler module receives the request routed by the dispatcher module, determines the requested information by searching the cache and/or the local database, and provides the determined information to the dispatcher module.
-
Citations
20 Claims
-
1. A load balancing system for receiving requests for information from clients and providing the information in response, the system comprising:
-
a plurality of servers, each server identified by an identifier; at least one dispatcher module executed by a server of the plurality of servers, the dispatcher module adapted to receive a request for information from a client, incrementally calculate an identifier of an active server of the plurality of servers responsive to different subsets of a same hash result generated by a hashing module responsive to the request, route the request to the server identified by the identifier, and provide information determined in response to the request to the client; and at least one request handler module executed by a server of the plurality of servers, the request handler module adapted to receive the request routed by the dispatcher module, determine the information requested by the request, and provide the determined information to the dispatcher module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for load balancing requests for information from clients and providing the information in response, the method comprising:
-
receiving a request for information from a client; incrementally calculating an identifier of an active server of a plurality of servers responsive to different subsets of a same hash result generated responsive to the request; routing the request to the server identified by the identifier; determining the information requested by the request; and providing the information determined in response to the request to the client. - View Dependent Claims (10, 11, 12, 13, 14, 20)
-
-
15. A computer program product having a computer-readable medium having computer program code for receiving requests for information from clients and providing the information in response, comprising:
-
a dispatcher module for receiving a request for information from a client, incrementally calculating an identifier of an active server of a plurality of servers responsive to different subsets of a same hash result generated by a hashing module responsive to the request, routing the request to the server identified by the identifier, and providing information determined in response to the request to the client; and a request handler module for receiving a request routed by a dispatcher module, determining the information requested by the request, and providing the determined information to the dispatcher module. - View Dependent Claims (16, 17, 18, 19)
-
Specification