Systems and methods for nTier cache redirection
First Claim
1. A method for managing layers of intermediary devices providing cache redirection of client requests, the method comprising:
- (a) receiving, by a first intermediary device of a first layer of one or more intermediary devices that load balance a plurality of intermediary devices of a second layer, a first request of a client to an origin server, each of the plurality of intermediary devices of the second layer configured to receive requests on a predetermined range of ports different than another intermediary device of the second layer;
(b) forwarding, by the first intermediary device of the first layer to a second intermediary device of the plurality of intermediary devices of the second layer, the first request of the client responsive to load balancing the first request;
(c) determining, by the second intermediary device of the second layer, that the first request is cacheable or non-cacheable responsive to applying an expression of a policy to content of the first request, a cacheable request transmitted to a cache server and a non-cacheable request transmitted to the origin server;
(d) transmitting, by the second intermediary device of the second layer responsive to determining the first request is cacheable, the first request to a cache server;
(e) transmitting, by the second intermediary device of the second layer to the origin server, a second request sent from the cache server to the origin server responsive to a cache miss, the second request identifying a port of the predetermined range of ports on which the second intermediary device of the second layer receives requests from the first intermediary device of the first layer;
(f) receiving, by the first intermediary device of the first layer, a response to the second request from the origin server, the response identifying a destination port corresponding to the port of the predetermined range of ports of the second intermediary device of the second layer that was included in the second request to the origin server;
(g) applying, by the first intermediary device of the first layer, based on matching the destination port of the response to the second request to the predetermined range of ports for the second intermediary device of the second layer, a policy-based routing rule to determine the second intermediary device of the second layer to which to transmit the response to the second request; and
(h) transmitting, by the first intermediary device of the first layer, the response to the second request to the second intermediary device of the second layer that transmitted the second request to the origin server responsive to applying the policy-based route rule on the destination port identified via the response as corresponding to the port of the predetermined range of ports of the second intermediary device of the second layer; and
(i) transmitting, by the second intermediary device of the second layer, the response to the first request of the first client based on the response to the second request of the origin server transmitted by the first intermediary device of the first layer to the second intermediary device of the second layer.
8 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure describes systems and methods for load balancing multiple application delivery controllers (ADCs) in multiple tiers. An upper layer of the tier comprises ADCs that load balance the plurality of ADCs of a lower layer of the tier. In order to appropriately share and maintain client IPs for transparent cache redirection scenarios, the transport layer (Transport Control Protocol (TCP)) port range is split among the ADCs of the lower tier. The lower tier ADCs would then create a connection only using a source port assigned to them. The response from the origin will then be sent to the upper level ADC which looks at the destination port and forward the packet to the correct lower tier ADC. Hence, the ADCs at two levels will work in conjunction to provide transparent cache direction.
-
Citations
16 Claims
-
1. A method for managing layers of intermediary devices providing cache redirection of client requests, the method comprising:
-
(a) receiving, by a first intermediary device of a first layer of one or more intermediary devices that load balance a plurality of intermediary devices of a second layer, a first request of a client to an origin server, each of the plurality of intermediary devices of the second layer configured to receive requests on a predetermined range of ports different than another intermediary device of the second layer; (b) forwarding, by the first intermediary device of the first layer to a second intermediary device of the plurality of intermediary devices of the second layer, the first request of the client responsive to load balancing the first request; (c) determining, by the second intermediary device of the second layer, that the first request is cacheable or non-cacheable responsive to applying an expression of a policy to content of the first request, a cacheable request transmitted to a cache server and a non-cacheable request transmitted to the origin server; (d) transmitting, by the second intermediary device of the second layer responsive to determining the first request is cacheable, the first request to a cache server; (e) transmitting, by the second intermediary device of the second layer to the origin server, a second request sent from the cache server to the origin server responsive to a cache miss, the second request identifying a port of the predetermined range of ports on which the second intermediary device of the second layer receives requests from the first intermediary device of the first layer; (f) receiving, by the first intermediary device of the first layer, a response to the second request from the origin server, the response identifying a destination port corresponding to the port of the predetermined range of ports of the second intermediary device of the second layer that was included in the second request to the origin server; (g) applying, by the first intermediary device of the first layer, based on matching the destination port of the response to the second request to the predetermined range of ports for the second intermediary device of the second layer, a policy-based routing rule to determine the second intermediary device of the second layer to which to transmit the response to the second request; and (h) transmitting, by the first intermediary device of the first layer, the response to the second request to the second intermediary device of the second layer that transmitted the second request to the origin server responsive to applying the policy-based route rule on the destination port identified via the response as corresponding to the port of the predetermined range of ports of the second intermediary device of the second layer; and (i) transmitting, by the second intermediary device of the second layer, the response to the first request of the first client based on the response to the second request of the origin server transmitted by the first intermediary device of the first layer to the second intermediary device of the second layer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for managing tiers of intermediary devices providing cache redirection of client requests, the system comprising:
-
a first layer comprising one or more intermediary devices; a second layer comprising a plurality of intermediary devices in communication with and load balanced by the one or more intermediary devices of the first layer, each of the plurality of intermediary devices of the second layer configured to receive requests on a predetermined range of ports different than another intermediary device of the second layer; a first intermediary device of the one or more intermediary devices of the first layer receiving a first request of a client to an origin server and forwarding, responsive to load balancing, the first request to a second intermediary device of the plurality of intermediary devices of the second layer; wherein the second intermediary device of the second layer determines that the first request is cacheable or non-cacheable responsive to applying an expression of a policy to content of the first request, a cacheable request includes a request transmitted to a cache server and a non-cacheable request transmitted to the origin server, transmits the first request to the cache server responsive to determining the first request is cacheable and responsive to a cache miss, forwards to the origin server, a second request sent from the cache server to the origin server, the second request identifying a port of the predetermined range of ports on which the second intermediary device of the second layer receives requests from the first intermediary device of the first layer; and wherein the first intermediary device of the first layer receives a response to the second request from the origin server, the response identifying a destination port corresponding to the port of the predetermined range of ports of the second intermediary device of the second layer that was included in the second request to the origin server, applies, based on matching the destination port of the response to the second request to the predetermined range of ports for the second intermediary device of the second layer, a policy-based routing rule to determine the second intermediary device of the second layer to which to transmit the response to the second request, transmits the response to the second request to the second intermediary device of the second layer that transmitted the second request to the origin server responsive to applying the policy-based route rule on the destination port identified via the response as corresponding to the port of the predetermined range of ports of the second intermediary device of the second layer, and transmits the response to the first request of the client based on the response to the second request of the origin server transmitted by the first intermediary device of the first layer to the second intermediary device of the second layer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification