Method of and system for allocating resources to resource requests based on application of persistence policies
First Claim
1. A system for allocating a resource in a network comprising:
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
first logic coupled to the network data ports for determining if any of a plurality of persistence policies, comprising at least one first persistence policy and at least one second persistence policy, is applicable to a service request from a client in the network, and, if so, allocating the resource to the request based on application of the persistence policy determined to be applicable, wherein the first persistence policy, if applicable, directs the service request to a server, previously or currently connected to the client, that is identified based on content of the service request, the content comprising server, session or cookie information within the service request or corresponding packet at one or more layers corresponding to OSI layers 5-7, and wherein the second persistence policy, if applicable, directs the service request to a server, previously or currently connected to the client, that is identified based on client information within the service request or corresponding packet;
the first logic configured so that;
when a service request for a content-enabled service, comprising a request for a connection to a server at a layer corresponding to any of OSI layers 5-7, is received, the first logic determines if the at least one first persistence policy is applicable;
when a service request for a non-content-enabled service, comprising a request for a connection to a server at a layer corresponding to OSI layer 4, is received, the first logic determines if the at least one second persistence policy is applicable;
when the service request for a content-enabled service is received but it is determined that the at least one first persistence policy is inapplicable, the first logic determines if the at least one second persistence policy is applicable;
wherein the first logic is shared by and supports service requests for both content-enabled and non-content enabled services; and
second logic coupled to the network data ports for allocating the resource to the request based on application of a load balancing policy only if none of the plurality of persistence policies is determined to be applicable as determined by the first logic;
wherein, when the service request for a content-enabled service is bound to a server identified through application of a load balancing policy, such request is bound to the server only after multiple persistence policies are checked for applicability; and
one or more of the foregoing elements are implemented, embodied, maintained or controlled by one or more processor devices.
8 Assignments
0 Petitions
Accused Products
Abstract
A system for and method of allocating a resource to a service request based on application of a persistence policy is described. In one embodiment, upon or after allocation of a resource to a resource request, an entry representing the allocation is made in a data structure using a first index derived from information relating to the resource request if such is available. An entry representing the allocation is also made in the data structure using a second index derived from information relating to the resource request. When a resource request is received, the data structure is accessed using the first index if such is available. If an entry corresponding to the first index is available, the resource corresponding to the entry is allocated to the request. If the first index or an entry corresponding to the first index is unavailable, the data structure is accessed using the second index. If an entry corresponding to the second index is available, the resource corresponding to the entry is allocated to the request. If an entry corresponding to the second index is unavailable, a resource is allocated to the request based on application of a load balancing policy or other persistence policy. One or more entries are then made in the table corresponding to the new allocation.
-
Citations
17 Claims
-
1. A system for allocating a resource in a network comprising:
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
first logic coupled to the network data ports for determining if any of a plurality of persistence policies, comprising at least one first persistence policy and at least one second persistence policy, is applicable to a service request from a client in the network, and, if so, allocating the resource to the request based on application of the persistence policy determined to be applicable, wherein the first persistence policy, if applicable, directs the service request to a server, previously or currently connected to the client, that is identified based on content of the service request, the content comprising server, session or cookie information within the service request or corresponding packet at one or more layers corresponding to OSI layers 5-7, and wherein the second persistence policy, if applicable, directs the service request to a server, previously or currently connected to the client, that is identified based on client information within the service request or corresponding packet;
the first logic configured so that;
when a service request for a content-enabled service, comprising a request for a connection to a server at a layer corresponding to any of OSI layers 5-7, is received, the first logic determines if the at least one first persistence policy is applicable;
when a service request for a non-content-enabled service, comprising a request for a connection to a server at a layer corresponding to OSI layer 4, is received, the first logic determines if the at least one second persistence policy is applicable;
when the service request for a content-enabled service is received but it is determined that the at least one first persistence policy is inapplicable, the first logic determines if the at least one second persistence policy is applicable;
wherein the first logic is shared by and supports service requests for both content-enabled and non-content enabled services; and
second logic coupled to the network data ports for allocating the resource to the request based on application of a load balancing policy only if none of the plurality of persistence policies is determined to be applicable as determined by the first logic;
wherein, when the service request for a content-enabled service is bound to a server identified through application of a load balancing policy, such request is bound to the server only after multiple persistence policies are checked for applicability; and
one or more of the foregoing elements are implemented, embodied, maintained or controlled by one or more processor devices. - View Dependent Claims (2, 3, 4, 5, 15, 16, 17)
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
-
6. A system for allocating a resource, in a network, to a resource request, the request having an originator, based on application of a persistence policy comprising:
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
first logic coupled to the data ports for determining whether an allocation exists or recently expired for the originator of the resource request, based on application of any of a plurality of persistence policies, comprising at least one first persistence policy and at least one second persistence policy, to the request, and, if so, identifying the resource which is the subject of the existing or recently expired allocation, wherein the first persistence policy, if applicable, directs the resource request to a server, currently or previously connected to the originator of the request or corresponding client, that is identified based on content of the resource request, the content comprising server, session or cookie information within the resource request or corresponding packet at one or more layers corresponding to OSI layers 5-7, and wherein the second persistence policy, if applicable, directs the resource request to a server, currently or previously connected to the originator of the request or corresponding client, that is identified based on client information within the request or corresponding packet;
the first logic configured so that;
when a resource request for a content-enabled service, comprising a request for a connection to a server at a lager corresponding to any of OSI layers 5-7, is received, the first logic determines whether an allocation exists or recently expired for the originator of the resource request by applying the at least one first persistence policy, or the at least one second persistence policy when the at least one first persistence policy is determined to be inapplicable;
when a resource request for a non-content-enabled service, comprising a request for a connection to a server at a layer corresponding to OSI layer 4, is received, the first logic determines whether an allocation exists or recently expired for the originator of the resource request by applying the at least one second persistence policy;
wherein the first logic is shared by and supports resource requests for both content enabled and non-content enabled services; and
second logic in the network for allocating the resource, once identified, to the resource request;
wherein, when the service request for a content-enabled service is bound to a server identified through application of a load balancing policy, such request is bound to the server only after multiple persistence policies are checked for applicability; and
one or more of the foregoing elements are implemented, embodied, maintained or controlled by one or more processor devices. - View Dependent Claims (7)
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
-
8. A method of allocating a resource in a network comprising:
- providing multiple data ports to connect to the network to receive and route requests to servers in the network;
determining if any of a plurality of persistence policies, comprising at least one first persistence policy and at least one second persistence policy, is applicable to a service request from a client in the network, and, if so, allocating the resource to the request based on application of the persistence policy determined to be applicable, wherein the first persistence policy, if applicable, directs the service request to a server, currently or previously connected to the client, that is identified based on content of the service request, the content comprising server, session or cookie information within the service request or corresponding packet at one or more layers corresponding to OSI layers 5-7, and wherein the second persistence policy, if applicable, directs the service request to a server, currently or previously connected to the client, that is identified based on client information within the service request or corresponding packet;
when a service request for a content-enabled service, comprising a request for a connection to a server at a layer corresponding to any of OSI layers 5-7, is received, the determining step comprises determining if the at least one first persistence policy is applicable;
when a service request for a non-content-enabled service, comprising a request for a connection to a server at a layer corresponding to OSI layer 4, is received, the determining step comprises determining if the at least one second persistence policy is applicable;
when the service request for a content-enabled service is received, but it is determined that the at least one first persistence policy is inapplicable, the determining step comprises determining if the at least one second persistence policy is applicable;
performing the foregoing steps through logic coupled to the data ports that is shared by and supports service requests for both content enabled and non-content enabled services; and
allocating the resource to the request based on application of a load balancing policy only if none of the persistence policies in the plurality of persistence policies is determined to be applicable in the foregoing determining step;
wherein, when the service request for a content-enabled service is bound to a server identified through application of a load balancing policy, such request is bound to the server only after multiple persistence policies are checked for applicability; and
one or more of the foregoing steps are performed in, by or for one or more processor devices. - View Dependent Claims (11, 12, 13)
- providing multiple data ports to connect to the network to receive and route requests to servers in the network;
-
9. A method of allocating a resource, in a network, to a resource request based on application of a persistence policy, the request having an originator, comprising:
- providing multiple network data ports to connect to the network to receive and route requests to servers in the network;
determining whether an allocation exists or recently expired for the originator of the resource request, based on application of any of a plurality of persistence policies, comprising at least one first persistence policy and at least one second persistence policy, to the request, and, if so, identifying the resource which is the subject of the existing or recently expired allocation, wherein the first persistence policy, if applicable, directs the resource request to a server, currently or previously connected to the originator of the resource request or corresponding client, that is identified based on content of the resource request, the content comprising server, session or cookie information within the resource request or corresponding packet at one or more layers corresponding to OSI layers 5-7, and wherein the second persistence policy, if applicable, directs the resource request to a server, currently or previously connected to the originator of the request or corresponding client, that is identified based on information within the resource request or corresponding packet other than content;
when a resource request for a content-enabled service, comprising a request for a connection to a server at a layer corresponding to any of OSI layers 5-7, is received, the determining step comprises determining whether an allocation exists or recently expired for the originator of the resource request by applying the at least one first persistence policy, or the least one second persistence policy when the at least one first persistence policy is determined to be inapplicable;
when a resource request for a non-content-enabled service, comprising a request for a connection to a server at a layer corresponding to OSI layer 4, is received, the determining step comprises determining whether an allocation exists or recently expired for the originator of the request by applying the at least one second persistence policy;
performing the foregoing steps through logic coupled to the data ports that is shared by and supports both resource requests for content enabled and non-content enabled services; and
allocating the resource in the network, once identified, to the resource request;
wherein, when the service request for a content-enabled service is bound to a server identified through application of a load balancing policy, such request is bound to the server only after multiple persistence policies are checked for applicability;
one or more of the foregoing steps are performed in, by or for one or more processor devices. - View Dependent Claims (10)
- providing multiple network data ports to connect to the network to receive and route requests to servers in the network;
-
14. A system for allocating a resource in a network comprising:
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
first logic coupled to the network data ports for determining if any of a plurality of persistence policies, comprising at least one cookie-based persistence policy, at least one session-based persistence policy, and at least one client-based persistence policy, is applicable to a service request from a client in the network, and, if so, allocating the resource to the request based on application of the persistence policy determined to be applicable, wherein the first persistence policy, if applicable, directs the service request to a server, currently or previously connected to the client, that is identified based on content of the service request, the content comprising server, session or cookie information within the service request or corresponding packet at one or more layers corresponding to OSI layers 5-7, and wherein the second persistence policy, if applicable, directs the service request to a server, currently or previously connected to the client, that is identified based on client information within the service request or corresponding packet at a layer corresponding to OSI layer 4;
the first logic configured so that;
when a service request for a content-enabled service, comprising a request for a connection to a server at a layer corresponding to any of OSI layers 5-7, is received, the first logic determines if either the at least one cookie-based or at least one session-based persistence policy is applicable;
when a service request for a non-content-enabled service, comprising a request for a connection to a server at a layer corresponding to OSI layer 4, is received, the first logic determines if the at least one client-based persistence policy is applicable;
when the service request for a content-enabled service is received but it is determined that both the at least one client-based persistence policy and the at least one session-based persistence policy are inapplicable, the first logic determines if the at least one client-based persistence policy is applicable;
wherein the first logic is shared by and supports service requests for both content-enabled and non-content enabled services; and
second logic in the network for allocating the resource to the request based on application of a load balancing policy only if none of the plurality of persistence policies is determined to be applicable as determined by the first logic wherein, when the service request for a content-enabled service is bound to a server identified through application of a load balancing policy, such request is bound to the server only after multiple persistence policies are checked for applicability; and
one or more of the foregoing elements are implemented, embodied, maintained or controlled by one or more processor devices.
- multiple network data ports to connect to the network to receive and route requests to servers in the network;
Specification