Exposed control components for customizable load balancing and persistence
First Claim
1. A traffic manager device for managing communications over a network, comprising:
- a memory that stores data and instructions;
an input interface that receives requests and sends responses; and
a processor that performs actions embodied by at least a portion of the stored instructions, the actions comprising;
receiving a request from a client device for a resource;
obtaining a list of a plurality of network devices in response to receiving the request;
exposing at least one metric about the plurality of network devices identified in the list, wherein the at least one metric is a control plane or a management plane metric, the management plane metric being a measure of at least one aspect of the network of operations, administration, maintenance, or provisioning of network traffic;
providing access to the at least one metric for use in a late binding user customized set of instructions configured to perform an action further based on the request, where late binding of the user customized set of instructions with the stored instructions assigns values to symbolic placeholder at least after execution of the stored instructions starts; and
wherein the late binding user customized set of instructions perform actions, comprising;
combining request specific data with each of a plurality of different identifiers, each identifier being associated with a different network device in the plurality of network devices, and wherein the identifiers represent an exposed metric;
generating a plurality of hash values based on the plurality of combinations;
selecting a network device based on an evaluation of the generated plurality of hash values; and
forwarding the request to the selected network device, such that the selected network device services the request for content.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments are directed towards exposing access to network metrics to a late binding user customized set of computer instructions within a traffic manager device (TMD) for use in managing a request for a resource. In one embodiment, the TMD may be interposed between client devices and a plurality of network devices. Request specific data is extracted from a client request received by the user'"'"'s instructions. Various network metrics about the network devices are provided to the user'"'"'s instructions to selectively provide the request from the client device to a network device. In one embodiment, an election hash is described as an action performed by the user'"'"'s instructions.
-
Citations
19 Claims
-
1. A traffic manager device for managing communications over a network, comprising:
-
a memory that stores data and instructions; an input interface that receives requests and sends responses; and a processor that performs actions embodied by at least a portion of the stored instructions, the actions comprising; receiving a request from a client device for a resource; obtaining a list of a plurality of network devices in response to receiving the request; exposing at least one metric about the plurality of network devices identified in the list, wherein the at least one metric is a control plane or a management plane metric, the management plane metric being a measure of at least one aspect of the network of operations, administration, maintenance, or provisioning of network traffic; providing access to the at least one metric for use in a late binding user customized set of instructions configured to perform an action further based on the request, where late binding of the user customized set of instructions with the stored instructions assigns values to symbolic placeholder at least after execution of the stored instructions starts; and wherein the late binding user customized set of instructions perform actions, comprising; combining request specific data with each of a plurality of different identifiers, each identifier being associated with a different network device in the plurality of network devices, and wherein the identifiers represent an exposed metric; generating a plurality of hash values based on the plurality of combinations; selecting a network device based on an evaluation of the generated plurality of hash values; and forwarding the request to the selected network device, such that the selected network device services the request for content. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory, machine-readable storage medium having machine-executable instructions stored thereon, which when executed by at least one processor that is interposed between client devices and a plurality of network devices, causes the at least one processor to perform one or more actions to manage communications over a network, comprising:
-
receiving a request for content; extracting request specific data from the request for content; exposing a plurality of network metrics to a late binding user-customized set of script instructions, the late binding of the user-customized set of script instructions occurring at least after execution of the machine-executable instructions starts; and executing the late binding instructions to; combine request specific data with each of a plurality of different identifiers, each identifier being associated with a different network device in the plurality of network devices, and wherein the identifiers represent an exposed metric; generate a plurality of election hashes based on the plurality of combinations, wherein the combinations include the request specific data with at least one exposed network metric associated with the plurality of network devices; elect one of the plurality of network devices based on a comparison of the generated plurality of election hashes, and selectively forward the request for content to the elected network device such that the selected network device can provide the requested content. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for managing communications over a network, comprising:
-
a plurality of network devices, wherein the plurality of network devices are distributed among a plurality of resource pools; and a traffic manager device that is interposed between the plurality of application servers and client devices, and is configured to perform actions, including; receiving a request from a client device for a resource; extracting request specific data from the request; exposing a plurality of network metrics, wherein at least one network metric is associated with a control plane or a management plane; and executing a late binding user-customized script that is configured to perform actions, the late binding of the user-customized script occurring with instructions executed by the traffic manager device at least after a start of execution of the instructions, including; combining request specific data with each of a plurality of different identifiers, each identifier being associated with a different network device in the plurality of network devices, and wherein the identifiers represent an exposed metric; generating a first election hash from the plurality of combinations of the request specific data; employing the first election hash to elect a resource pool from the plurality of resource pools; generating a plurality of second election hashes from the plurality of combinations of the request specific data and at least one exposed network metric for each of the plurality of network devices associated with the elected resource pool; electing a network device from within the associated plurality of network devices based on the plurality of second election hashes; and selectively forwarding the request for the resource to the elected network device, such that the selected network device provides the resource to the client device. - View Dependent Claims (14, 15)
-
-
16. A method of managing a request for a managing communications over a network, comprising:
-
receiving a request from a client device for a resource; extracting request specific data from the request; exposing at least one network metric to a late binding user-customized script, the late binding of the user-customized script with instructions for executing the method occurring at least after execution of the instructions starts, wherein the at least one network metric is a control plane or a management plane associated metric about a plurality of network devices;
wherein the late binding user customized script with instructions perform actions, comprising;combining request specific data with each of a plurality of different identifiers, each identifier being associated with a different network device in the plurality of network devices, and wherein the identifiers represent an exposed metric; generating a plurality of election hashes based on the plurality of combinations from the request specific data and the at least one network metric about the plurality of network devices;
selectively electing a network device from within the plurality of network devices based on an evaluation of the generated plurality of hash values; andforwarding the request for the resource to the elected network device. - View Dependent Claims (17, 18, 19)
-
Specification