RULE BASED CACHE PROCESSING IN APPLICATION DELIVERY CONTROLLER FOR LOAD BALANCING
First Claim
1. A method comprising:
- receiving, by an Application Delivery Controller (ADC), a Hypertext Transfer Protocol (HTTP) request from a client device for a resource associated with at least one of a plurality of servers on behalf of which the ADC is performing load balancing;
determining, by the ADC, with reference to an HTTP cache of the ADC whether the HTTP request can be serviced by the ADC by;
parsing, by the ADC, the HTTP request to identify a header contained therein; and
identifying existence or non-existence of locally cached content matching the HTTP request by comparing appropriate portions of the identified header with corresponding appropriate portions of a plurality of headers of content cached within the HTTP cache based on a vary rule automatically generated by the ADC or configured by an administrator of the ADC that defines when two headers are meaningfully different, whereby the identified header is not required to exactly match up with an entirety of one of the plurality of headers for a cache hit to be found; and
when a result of said determining indicates the HTTP request can be serviced by the ADC, then responding to the HTTP request, by the ADC, with an HTTP response containing the identified locally cached content.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for improving performance of an HTTP cache are provided. According to one embodiment, an HTTP request is received by an ADC for a resource associated with a server on behalf of which the ADC is performing load balancing. The ADC determines based on a local HTTP cache whether it can service the request. The request is parsed to identify a header. The existence or non-existence of locally cached content matching the request is identified by comparing portions of the identified header with corresponding portions of header information of cached content based on a vary rule defining when two headers are meaningfully different. Therefore, the identified header need not exactly match an entirety of the cached information for a cache hit to be found. Responsive to a cache hit, the ADC responds to the request with an HTTP response containing the identified locally cached content.
20 Citations
13 Claims
-
1. A method comprising:
-
receiving, by an Application Delivery Controller (ADC), a Hypertext Transfer Protocol (HTTP) request from a client device for a resource associated with at least one of a plurality of servers on behalf of which the ADC is performing load balancing; determining, by the ADC, with reference to an HTTP cache of the ADC whether the HTTP request can be serviced by the ADC by; parsing, by the ADC, the HTTP request to identify a header contained therein; and identifying existence or non-existence of locally cached content matching the HTTP request by comparing appropriate portions of the identified header with corresponding appropriate portions of a plurality of headers of content cached within the HTTP cache based on a vary rule automatically generated by the ADC or configured by an administrator of the ADC that defines when two headers are meaningfully different, whereby the identified header is not required to exactly match up with an entirety of one of the plurality of headers for a cache hit to be found; and when a result of said determining indicates the HTTP request can be serviced by the ADC, then responding to the HTTP request, by the ADC, with an HTTP response containing the identified locally cached content. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A load balancing system comprising:
-
a Hypertext Transfer Protocol (HTTP) request receiving module configured to receive, from a client device, an HTTP request; an HTTP request parsing module configured to parse, at an application delivery controller (ADC), the HTTP request to identify one or more headers; a cache search module configured to enable searching, by the ADC, to determine whether a resource requested in the HTTP request is present in a local HTTP cache, wherein when the resource is not present in the local HTTP cache, load balancing is performed to allocate the HTTP request to one of a plurality of servers; a rule-based cache hit determination module configured to execute a vary rule on the one or more headers to determine whether a cache hit is found, wherein the vary rule is formed to evaluate whether the cached response is eligible to be sent back to the client device such that if eligibility is confirmed, the cached response is sent back to the client device. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification