Back to results
US 8,554,790 B2Granted
Content based load balancer
AssigneeRed Hat, Inc.
InventorMladen Turk
Life of this patent
Estimating the term…
Abstract
A content based load balancing system receives a request for data provided by a resource. The content based load balancing system searches a content history cache for a content history cache entry corresponding to the requested data. The content based history cache then selects a resource node to service the request based on the content history cache entry corresponding to the data.
Claims18
A computer-implemented method comprising:
- receiving a request for data by a computing device executing a load balancing module, wherein the data is provided by a plurality of resource nodes;
- searching, by the computing device, a content history cache for one or more content history cache entries corresponding to the data, at least one of the one or more content history cache entries comprising an indicator of a resource node of the plurality of resource nodes that serviced an associated previous request, wherein the content history cache is not located on the plurality of resource nodes;
- responsive to finding the one or more content history cache entries, selecting a first resource node of the plurality of resource nodes to service the request in accordance with a first load balancing algorithm, the first load balancing algorithm being a content based load balancing algorithm, wherein the selecting comprises:
- responsive to finding a single content history cache entry, selecting the first resource node associated with the single content history cache entry;
- and
- responsive to finding a plurality of content history cache entries, selecting the first resource node based on a weighting value and a validity value of at least one of the found plurality of matching content history cache entries;
- responsive to failing to find the one or more content history cache entries, selecting a second resource node of the plurality of resource nodes to service the request in accordance with a second load balancing algorithm;
- and
- forwarding the request to the selected first resource node or the selected second resource node.
6 more elements
A non-transitory computer readable medium, having instructions stored therein, which when executed, cause a computing device to perform a set of operations comprising:
- receiving a request for data by a load balancing module running on the computing device, wherein the data is provided by a plurality of resource nodes;
- searching, by the load balancing module, a content history cache for one or more content history cache entries corresponding to the data, at least one of the one or more content history cache entries comprising an indicator of a resource node of the plurality of resource nodes that serviced an associated previous request, wherein the content history cache is not located on the plurality of resource nodes;
- responsive to finding the one or more content history cache entries, selecting a first resource node to service the request in accordance with a first load balancing algorithm, the first load balancing algorithm being a content based load balancing algorithm, wherein the selecting comprises:
- responsive to finding a single content history cache entry, selecting the first resource node associated with the single content history cache entry;
- and
- responsive to finding a plurality of content history cache entries, selecting the first resource node based on a weighting value and a validity value of at least one of the found plurality of matching content history cache entries;
- responsive to failing to find the one or more content history cache entries, selecting a second resource node of the plurality of resource nodes to service the request in accordance with a second load balancing algorithm;
- and
- forwarding the request to the selected first resource node or the selected second resource node.
6 more elements
A system comprising:
- a memory device;
- and
- a processor coupled to the memory device, wherein the processor is configured to:
- receive a request for data, wherein the data is provided by a plurality of resource nodes;
- search a content history cache for one or more content history cache entries corresponding to the data, at least one of the one or more content history cache entries comprising an indicator of a resource node of the plurality of resource nodes that serviced an associated previous request, wherein the content history cache is not located on the plurality of resource nodes;
- responsive to finding the one or more content history cache entries, select a first resource node to service the request in accordance with a first load balancing algorithm, the first load balancing algorithm being a content based load balancing algorithm, wherein the selecting comprises:
- responsive to finding a single content history cache entry, selecting the first resource node associated with the single content history cache entry;
- and
- responsive to finding a plurality of content history cache entries, selecting the first resource node based on a weighting value and a validity value of at least one of the found plurality of matching content history cache entries;
- responsive to failing to find the one or more content history cache entries, select a second resource node of the plurality of resource nodes to service the request in accordance with a second load balancing algorithm;
- and
- forward the request to the selected first resource node or the selected second resource node.
9 more elements
Dependencies are inferred from the claim text.