Content based load balancer
First Claim
Patent Images
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
18 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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. - View Dependent Claims (16, 17, 18)
-
Specification