APPARATUS AND METHODS OF A ZERO SINGLE POINT OF FAILURE LOAD BALANCER
First Claim
1. A computer-implemented method for a slave computing apparatus of a load balancer, comprising:
- determining, according to a common predetermined health maintenance algorithm independently operable by each of a plurality of slaves in the load balancer, if a master of the load balancer is functioning; and
if the master is not functioning, then attempting to become the master according to a common predetermined role transitioning algorithm independently operable by each of the plurality of slaves in the load balancer, wherein the predetermined role transitioning algorithm includes setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus and methods in a load balancer computing apparatus include, in aspects, determining if a master is functioning, and if the master is not functioning, then attempting to become the master by setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table. In other aspects, the apparatus and methods include assigning each of a group of commands to one of a plurality of slaves, storing the commands and a corresponding assignment in a database table, checking a command status in the database table for each of the group of commands, wherein the command status indicates whether or not the respective command has been executed; and executing a callback function when all the commands are executed.
-
Citations
48 Claims
-
1. A computer-implemented method for a slave computing apparatus of a load balancer, comprising:
-
determining, according to a common predetermined health maintenance algorithm independently operable by each of a plurality of slaves in the load balancer, if a master of the load balancer is functioning; and if the master is not functioning, then attempting to become the master according to a common predetermined role transitioning algorithm independently operable by each of the plurality of slaves in the load balancer, wherein the predetermined role transitioning algorithm includes setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22)
-
-
12. At least one processor configured to act as a slave of a load balancer, comprising:
-
a first module for determining, according to a common predetermined health maintenance algorithm independently operable by each of a plurality of slaves in the load balancer, if a master of the load balancer is functioning; and a second module for attempting, if the master is not functioning, to become the master according to a common predetermined role transitioning algorithm independently operable by each of the plurality of slaves in the load balancer, wherein the predetermined role transitioning algorithm includes setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table.
-
-
13. A computer program product for a slave of a load balancer, comprising:
a computer-readable medium comprising; a first set of codes for causing a computer to determine, according to a common predetermined health maintenance algorithm independently operable by each of a plurality of slaves in the load balancer, if a master of the load balancer is functioning; and a second set of codes for causing the computer to attempt, if the master is not functioning, to become the master according to a common predetermined role transitioning algorithm independently operable by each of the plurality of slaves in the load balancer, wherein the predetermined role transitioning algorithm includes setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table.
-
14. A slave apparatus of a load balancer, comprising:
-
means for determining, according to a common predetermined health maintenance algorithm independently operable by each of a plurality of slaves in the load balancer, if a master of the load balancer is functioning; and means for attempting, if the master is not functioning, to become the master according to a common predetermined role transitioning algorithm independently operable by each of the plurality of slaves in the load balancer, wherein the predetermined role transitioning algorithm includes setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table.
-
-
15. A slave apparatus of a load balancer, comprising:
-
a health management service operable to determine, according to a common predetermined health maintenance algorithm independently operable by each of a plurality of slaves in the load balancer if a master is functioning and further operable, if the master is not functioning, to attempt to become the master according to a common predetermined role transitioning algorithm independently operable by each of the plurality of slaves in the load balancer wherein the predetermined role transitioning algorithm includes setting a master network identification in a master database table to a self network identification before at least one other slave sets a corresponding other slave network identification as the master network identification in the master database table; and a database service in communication with the health management service and operable to read and write to the master database table responsive to the health management service. - View Dependent Claims (16, 17, 18, 19, 20, 21, 23, 24, 25)
-
-
26. A computer-implemented method for a master computing apparatus of a load balancer, comprising:
-
executing a common predetermined role transitioning algorithm to become a master, wherein the common predetermined role transitioning algorithm is independently operable by each of a plurality of slaves in the load balancer and includes setting a master network identification in a master database table to a self network identification before at least one other slaves sets a corresponding other slave network identification as the master network identification in the master database table; executing a common predetermined health maintenance algorithm to determine health of each of the plurality of slaves, wherein the common predetermined health maintenance algorithm is independently operable by each of the plurality of slaves in the load balancer; assigning each of a group of commands to at least one of the plurality of slaves determined to be functioning based on the execution of the predetermined health maintenance algorithm; storing the commands and a corresponding assignment in a database table, wherein each assignment comprises a network identification for one of the plurality of slaves assigned to the respective command; checking a command status in the database table for each of the group of commands, wherein the command status indicates whether or not the respective command has been executed; and executing a callback function when all the commands are executed as determined based on the command status. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. At least one processor configured to act as a master of a load balancer comprising:
-
a first module for executing a common predetermined role transitioning algorithm to become a master, wherein the common predetermined role transitioning algorithm is independently operable by each of a plurality of slaves in the load balancer and includes setting a master network identification in a master database table to a self network identification before at least one other slaves sets a corresponding other slave network identification as the master network identification in the master database table; a second module for executing a common predetermined health maintenance algorithm to determine health of each of the plurality of slaves, wherein the common predetermined health maintenance algorithm is independently operable by each of the plurality of slaves in the load balancer; a third module for assigning each of a group of commands to at least one of the plurality of slaves determined to be functioning based on the execution of the predetermined health maintenance algorithm; a fourth module for storing the commands and a corresponding assignment in a database table, wherein each assignment comprises a network identification for one of the plurality of slaves assigned to the respective command; a fifth module for checking a command status in the database table for each of the group of commands, wherein the command status indicates whether or not the respective command has been executed; and a sixth module for executing a callback function when all the commands are executed as determined based on the command status.
-
-
37. A computer program product, comprising:
a computer-readable medium comprising; a first set of codes causing a computer to execute a common predetermined role transitioning algorithm to become a master, wherein the common predetermined role transitioning algorithm is independently operable by each of a plurality of slaves in the load balancer and includes setting a master network identification in a master database table to a self network identification before at least one other slaves sets a corresponding other slave network identification as the master network identification in the master database table; a second set of codes causing the computer to execute a common predetermined health maintenance algorithm to determine health of each of the plurality of slaves, wherein the common predetermined health maintenance algorithm is independently operable by each of the plurality of slaves in the load balancer; a third set of codes causing the computer to assign each of a group of commands to at least one of the plurality of slaves determined to be functioning based on the execution of the predetermined health maintenance algorithm; a fourth set of codes causing the computer to store the commands and a corresponding assignment in a database table, wherein each assignment comprises a network identification for one of the plurality of slaves assigned to the respective command; a fifth set of codes causing the computer to check a command status in the database table for each of the group of commands, wherein the command status indicates whether or not the respective command has been executed; and a sixth set of codes causing the computer to execute a callback function when all the commands are executed as determined based on the command status.
-
38. A master apparatus of a load balancer comprising:
-
means for executing a common predetermined role transitioning algorithm to become a master, wherein the common predetermined role transitioning algorithm is independently operable by each of a plurality of slaves in the load balancer and includes setting a master network identification in a master database table to a self network identification before at least one other slaves sets a corresponding other slave network identification as the master network identification in the master database table; means for executing a common predetermined health maintenance algorithm to determine health of each of the plurality of slaves, wherein the common predetermined health maintenance algorithm is independently operable by each of the plurality of slaves in the load balancer; means for assigning each of a group of commands to at least one of the plurality of slaves determined to be functioning based on the execution of the predetermined health maintenance algorithm; means for storing the commands and a corresponding assignment in a database table, wherein each assignment comprises a network identification for one of the plurality of slaves assigned to the respective command; means for checking a command status in the database table for each of the group of commands, wherein the command status indicates whether or not the respective command has been executed; and means for executing a callback function when all the commands are executed as determined based on the command status.
-
-
39. A master apparatus of a load balancer comprising:
-
a health maintenance service operable to execute a common predetermined role transitioning algorithm to become a master, wherein the common predetermined role transitioning algorithm is independently operable by each of a plurality of slaves in the load balancer and includes setting a master network identification in a master database table to a self network identification before at least one other slaves sets a corresponding other slave network identification as the master network identification in the master database table; wherein the health maintenance service is further operable to execute a common predetermined health maintenance algorithm to determine health of each of the plurality of slaves, wherein the common predetermined health maintenance algorithm is independently operable by each of the plurality of slaves in the load balancer; a distribution service operable to assign each of a group of commands to at least one of the plurality of slaves determined to be functioning based on the execution of the predetermined health maintenance algorithm; a database service in communication with the distribution service and operable to store the commands and a corresponding assignment in a database table, wherein each assignment comprises a network identification for one of the plurality of slaves assigned to the respective command; wherein the distribution service is further operable to check a command status in the database table for each of the group of commands, wherein the command status indicates whether or not the respective command has been executed; and a user command executor operable to execute a callback function when all the commands are executed as determined based on the command status. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification