Load balancing and failover of network services
First Claim
1. A computer program product, comprising:
- a computer usable medium having computer readable code embodied therein for causing reassignment of computer services from one host to any of a plurality of other hosts within a service group, the computer program product including;
first computer readable program code devices configured to cause a computer to transmit a message through a service group address setting forth the state of the computer;
second computer readable program code devices configured to cause a computer to receive at least one message through a service group address from at least one other computer; and
third computer readable program code devices configured to respond to at least one message to acquire or release computer services.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for many-to-many failover and load balancing establishes a plurality of service groups for providing desired computing services. Each service group comprises a plurality of hosts, and each host within the service group is available to perform the computing services for which that group as a whole is responsible. Each host may belong to a plurality of service groups. Each operational host within a service group transmits periodic messages to each other host within the service group advising of the status of the transmitting host. A leader host evaluates the periodic messages and, where appropriate, dynamicall reassigns responsibility for particular computing services to a host within the group. The reassignment can be due either to failover or load balancing.
223 Citations
16 Claims
-
1. A computer program product, comprising:
a computer usable medium having computer readable code embodied therein for causing reassignment of computer services from one host to any of a plurality of other hosts within a service group, the computer program product including; first computer readable program code devices configured to cause a computer to transmit a message through a service group address setting forth the state of the computer; second computer readable program code devices configured to cause a computer to receive at least one message through a service group address from at least one other computer; and third computer readable program code devices configured to respond to at least one message to acquire or release computer services. - View Dependent Claims (2, 3)
-
4. A method for dynamically reassigning computing services to various hosts in a network including the steps of:
-
establishing a service group for each computing service including a unique Internet Protocol address assigned to each of a plurality of host computers so that the computing service is available as long as one of the plurality of hosts is available within the service group; assigning responsibility for a computing service to a first host computer within the service group; transmitting periodically among the host computers of the service group messages through a service group address representative of the state of at least the first host computer; receiving through a service group address from the remaining host computers within the service group messages representative of the state of such remaining host computers; evaluating the presence or absence of such messages and their contents; and reassigning to another host, within the plurality of computers, responsibility for the computing service in response to such evaluation. - View Dependent Claims (5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
7. Apparatus for providing dynamic reallocation of computing services within a network including a plurality of hosts comprising:
-
a service group including a plurality of at least three hosts each available to provide a desired computing service including a unique Internet Protocol address assigned to each of the plurality of at least three hosts so that the computing service is available as long as one of the plurality of hosts is available within the service group; a message portion configured to provide data through a service group address, where the data concerns the state of each of the plurality of hosts; and a leader portion configured to assign responsibility through a service group address for each of the computing services to any host within the service group in response to the message portion.
-
Specification