Rule based cache processing in application delivery controller for load balancing
First Claim
1. A method comprising:
- providing a vary rule for execution by a cache hit determination module of an Application Delivery Controller (ADC), wherein the vary rule is generated by the ADC or configured by an administrator of the ADC, wherein the vary rule specifies a Hypertext Transfer Protocol (HTTP) header by name and specifies a rule to be applied to the specified HTTP header in connection with determining whether a value contained within the specified HTTP header of an HTTP request at least partially matches the specified HTTP header of locally cached content within an HTTP cache of the ADC;
receiving, by the ADC an 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 the HTTP cache whether the HTTP request can be serviced by the ADC by;
parsing, by the ADC, the HTTP request to identify the specified HTTP header contained therein; and
identifying existence or non-existence of locally cached content at least partially matching the HTTP request by comparing a value of the identified header with a value of the specified HTTP header within a plurality of HTTP headers of content cached within the HTTP cache based on the rule specified in the vary rule, wherein the identified header comprises a cookie header, wherein the vary rule is configured to define conditions under which the cookie header at least partially matches a cached cookie header stored in the HTTP cache, and wherein the cookie header contains an identifier of a server of the plurality of servers that previously processed at least one HTTP request from the client device; 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.
9 Citations
18 Claims
-
1. A method comprising:
-
providing a vary rule for execution by a cache hit determination module of an Application Delivery Controller (ADC), wherein the vary rule is generated by the ADC or configured by an administrator of the ADC, wherein the vary rule specifies a Hypertext Transfer Protocol (HTTP) header by name and specifies a rule to be applied to the specified HTTP header in connection with determining whether a value contained within the specified HTTP header of an HTTP request at least partially matches the specified HTTP header of locally cached content within an HTTP cache of the ADC; receiving, by the ADC an 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 the HTTP cache whether the HTTP request can be serviced by the ADC by; parsing, by the ADC, the HTTP request to identify the specified HTTP header contained therein; and identifying existence or non-existence of locally cached content at least partially matching the HTTP request by comparing a value of the identified header with a value of the specified HTTP header within a plurality of HTTP headers of content cached within the HTTP cache based on the rule specified in the vary rule, wherein the identified header comprises a cookie header, wherein the vary rule is configured to define conditions under which the cookie header at least partially matches a cached cookie header stored in the HTTP cache, and wherein the cookie header contains an identifier of a server of the plurality of servers that previously processed at least one HTTP request from the client device; 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, 8, 9)
-
-
10. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processors of an Application Delivery Controller (ADC), causes the one or more processors to perform a method comprising:
-
providing a vary rule for execution by a cache hit determination module of the ADC, wherein the vary rule generated by the ADC or configured by an administrator of the ADC, wherein the vary rule specifies a Hypertext Transfer Protocol (HTTP) header by name and specifies a rule to be applied to the specified HTTP header in connection with determining whether a value contained within the specified HTTP header of an HTTP request at least partially matches the specified HTTP header of locally cached content within an HTTP cache of the ADC; receiving an 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 with reference to the HTTP cache whether the HTTP request can be serviced by the ADC by; parsing the HTTP request to identify the specified HTTP header contained therein; and identifying existence or non-existence of locally cached content at least partially matching the HTTP request by comparing a value of the identified header with a value of the specified HTTP header within a plurality of HTTP headers of content cached within the HTTP cache based on the rule specified in the vary rule, wherein the identified header comprises a cookie header, wherein the vary rule is configured to define conditions under which the cookie header at least partially matches a cached cookie header stored in the HTTP cache, and wherein the cookie header contains an identifier of a server of the plurality of servers that previously processed at least one HTTP request from the client device; and when a result of said determining is affirmative, then responding to the HTTP request with an HTTP response containing the identified locally cached content. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification