Decentralized request routing
First Claim
Patent Images
1. A computer-implemented method for routing a request from a client server to a host server, comprising:
- receiving, by the client server, data identifying a plurality of host servers of a service available to process one or more types of service requests;
receiving, by the client server, feedback information comprising data reflecting a load of at least one of the plurality of host servers;
assigning weights to the plurality of host servers, wherein at least a weight of the at least one of the plurality of host servers is determined from a product of a prior weight of the at least one of the plurality of host servers and an average load of the plurality of host servers, the product being divided by a prior load of the at least one of the plurality of host servers;
generating, by the client server, a request to the service;
selecting, by the client server, one of the plurality of host servers of the service to process the request, based on the weights assigned to the plurality of host servers; and
transmitting, by the client server, the request to the selected one of the plurality of host servers.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods provide logic for decentralized request routing. In one implementation, a computer-implemented method routes a request. The method includes receiving, by a client server, the request. The client server evaluates feedback information received by the client server from at least one of a plurality of host servers. The client server selects one of the plurality of host servers to process the request, based on the evaluation, and transmits the request to the selected one of the plurality of host servers.
44 Citations
32 Claims
-
1. A computer-implemented method for routing a request from a client server to a host server, comprising:
-
receiving, by the client server, data identifying a plurality of host servers of a service available to process one or more types of service requests; receiving, by the client server, feedback information comprising data reflecting a load of at least one of the plurality of host servers; assigning weights to the plurality of host servers, wherein at least a weight of the at least one of the plurality of host servers is determined from a product of a prior weight of the at least one of the plurality of host servers and an average load of the plurality of host servers, the product being divided by a prior load of the at least one of the plurality of host servers; generating, by the client server, a request to the service; selecting, by the client server, one of the plurality of host servers of the service to process the request, based on the weights assigned to the plurality of host servers; and transmitting, by the client server, the request to the selected one of the plurality of host servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for routing a request, comprising:
-
receiving, by a host server, the request from a client server; determining whether the host server has a sufficient capacity to handle the request, wherein the determination is made based on whether a queue depth of memory of the host server has reached a predetermined threshold; responsive to determining that the host server has sufficient capacity to handle the request, processing the request; responsive to determining that the host server does not have sufficient capacity to handle the request, determining, by the host server, whether the request was rejected by a prior host server; responsive to determining that the request was not rejected by a prior host server, transmitting a response declining to process the request; responsive to determining that the request was rejected by a prior host server, determining a threshold associated with the queue depth of the prior host server; responsive to the predetermined threshold associated with the queue depth of the host server exceeding the threshold associated with the queue depth of the prior host server, processing the request; and responsive to the predetermined threshold associated with the queue depth of the host server being lower than the threshold associated with the queue depth of the prior host server, increasing the predetermined threshold and processing the request. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for request routing, comprising:
-
a registry server, the registry server comprising a data store, the data store including data identifying a plurality of host servers that are available to process one or more types of requests; a client server comprising a processor and a memory, the client server operable to; receive a request; select one of a plurality of host servers to process the request;
based on an evaluation; andtransmit the request to the selected one of the plurality of host servers; and the selected one of the plurality of host servers comprising a processor and a memory, the selected host server operable to; receive the request; determine whether the selected host server has a sufficient capacity to handle the request, wherein the determination is made based on whether a queue depth of memory of the selected host server has reached a predetermined threshold; responsive to determining that the selected host server has sufficient capacity to handle the request, process the request; responsive to determining that the selected host server does not have sufficient capacity to handle the request, determine whether the request was rejected by a prior host server; responsive to determining that the request was rejected by the prior host server, determine a threshold associated with the queue depth of the prior host server; responsive to the predetermined threshold associated with the queue depth of the selected host server exceeding the threshold associated with the queue depth of the prior host server, process the request; and responsive to the predetermined threshold associated with the queue depth of the selected host server being lower than the threshold associated with the queue depth of the prior host server, increase the predetermined threshold and process the request. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification