Network load balancing with host status information
First Claim
1. One or more computer-readable storage media storing computer-executable instructions that, when executed, configure one or more processors to perform actions comprising:
- determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising;
an application identifier for a particular application of the plurality of applications;
information characterizing at least one status of the particular application; and
at least one load balancing directive regarding the particular application;
implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated;
communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application—
specific health and load information for the plurality of applications that are executing on the plurality of hosts;
receiving the host status information from the at least one host; and
making load balancing decisions responsive to the received host status information.
2 Assignments
0 Petitions
Accused Products
Abstract
In a first exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: accumulating host status information at multiple hosts; and sending the accumulated host status information from the multiple hosts. In a second exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: receiving host status information from multiple hosts; and making load balancing decisions responsive to the received host status information. In a third exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: determining health and load information on a per application basis; and selecting an application from among multiple applications responsive to the health and load information.
-
Citations
51 Claims
-
1. One or more computer-readable storage media storing computer-executable instructions that, when executed, configure one or more processors to perform actions comprising:
-
determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising; an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application—
specific health and load information for the plurality of applications that are executing on the plurality of hosts;receiving the host status information from the at least one host; and making load balancing decisions responsive to the received host status information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A system comprising:
-
at least one processor; and one or more computer-readable storage media, coupled to the at least one processor, the one or more computer-readable storage media storing computer-executable instructions that are capable of being executed by the at least one processor, the computer-executable instructions, when executed, configuring the system to perform actions comprising; determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising; an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application-specific health and load information for the plurality of applications that are executing on the plurality of hosts; receiving the host status information from the at least one host; and making load balancing decisions responsive to the received host status information. - View Dependent Claims (45, 46, 47)
-
-
48. A computer-implemented method for network load balancing, the method comprising:
-
determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising; an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; communicating the host status information from the at least one host to at least one device comprising load balancing infrastructure, wherein the load balancing infrastructure comprises a consolidated health and load cache that stores application-specific health and load information for the plurality of applications that are executing on the plurality of hosts; receiving the host status information from the at least one host at the at least one device; and making load balancing decisions with the load balancing infrastructure responsive to the received host status information.
-
-
49. A system for network load balancing with host status information, the system comprising:
-
one or more processors; a memory, operatively coupled to the one or more processors, the memory storing; means for determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising; an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; means for implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; means for communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application-specific health and load information for the plurality of applications that are executing on the plurality of hosts; means for receiving the host status information from the at least one host; and means for making load balancing decisions responsive to the host status information. - View Dependent Claims (50, 51)
-
Specification