Claims
- 1. A method of updating a plurality of servers, each having at least one type, and to which at least a portion of communications received by each server are directed by a load balancer, comprising:
allocating each of the plurality of servers to various ones of a plurality of groups, each group comprising, for at least one of the at least one type, fewer than all of the servers having a same type; selecting at least one of the plurality of groups; identifying a status related to the servers in the selected at least one of the plurality of groups; providing at least one command for suspending the directing of communications to the servers in the selected at least one plurality of groups, said command not suspending the directing of communications to the servers in at least one of the plurality of groups different from the selected at least one of the plurality of groups; updating information on the servers in the selected at least one of the plurality of groups and for which the directing of communications is suspended; and responsive to the status identified, initiating the resumption the directing of communications to at least one of the servers containing updated information and in the selected at least one of the plurality of groups.
- 2. The method of claim 1 wherein the suspending step comprises:
identifying a type of load balancer; retrieving at least one command from a set of commands for a plurality of types of load balancers; and providing to the load balancer the at least one command retrieved.
- 3. The method of claim 1 additionally comprising suspending the directing of new connections to the servers in the selected at least one plurality of groups.
- 4. The method of claim 3 wherein the suspending the directing of new communications step comprises:
identifying a type of load balancer; retrieving at least one command from a set of commands for a plurality of types of load balancers; and providing the at least one command retrieved to the load balancer.
- 5. The method of claim 1 additionally comprising:
selecting a different at least one of the plurality of groups; identifying a status related to the servers in the different selected at least one of the plurality of groups; after the resuming step, providing a command for suspending the directing of communications to the servers in the different selected at least one plurality of groups, said command not for suspending the directing of communications to the servers in at least one of the plurality of groups different from the different selected at least one of the plurality of groups; updating information on the servers in the different selected at least one of the plurality of groups and for which the directing of communications is suspended; and responsive to the status identified, resuming the directing of communications to at least one of the servers containing updated information and in the different selected at least one of the plurality of groups.
- 6. The method of claim 1 wherein the status related to the servers in the selected at least one of the plurality of groups comprises, for each of said servers, a status related to directing of communications to that server.
- 7. The method of claim 1:additionally comprising receiving at least one indication regarding a success of the updating step; and wherein the initiating the resumption step is additionally responsive to at least one of the at least one indication regarding the success of the updating step.
- 8. A system for updating a plurality of servers, each having at least one type, and to which at least a portion of communications received by each server are directed by a load balancer, comprising:
a configuration manager having an input coupled to receive information regarding the plurality of servers, the configuration manager for:
allocating each of the plurality of servers to various ones of a plurality of groups responsive to the information received at the configuration manager input, each group comprising, for at least one of the at least one type, fewer than all of the servers having a same type; and selecting at least one of the plurality of groups and providing at an output at least one identifier corresponding to at least one server in the selected at least one plurality of groups; a status manager having an input coupled to the configuration manager output, for receiving the at least one identifier corresponding to the at least one server in the selected group, the status manager for
providing at a status request output a request for status related to the at least one server in the selected at least one of the plurality of groups; receiving at a status input a response to the request provided at the status request output; and providing at an output an indication of the status corresponding to the at least one server in the selected at least one of the plurality of groups responsive to the response received at the status input; a shutdown manager having an input coupled to the configuration manager output for receiving the at least one identifier corresponding to at least one server in the selected at least one plurality of groups, the shutdown manager for providing at an output at least one command for suspending the directing of communications to the servers in the selected at least one plurality of groups, said command not suspending the directing of communications to the servers in at least one of the plurality of groups different from the selected at least one of the plurality of groups and for providing a signal at a signal output following the at least one command provided at the shutdown manager output; an update manager having an input coupled to the shutdown manager output for receiving the signal, the shutdown manager for, responsive to the signal, providing at an output information useful for updating the servers in the selected at least one of the plurality of groups; and wherein the shutdown manager additionally provides at the output, responsive to the status identified, at least one command for initiating the resumption of the directing of communications to at least one of the servers:
having received the information useful for updating the servers; and in the selected at least one of the plurality of groups.
- 9. The system of claim 8 wherein the shutdown manager additionally:
receives at a load balancer type input, an identifier of a type of load balancer; retrieves via a command input/output at least one command from a set of commands for a plurality of types of load balancers; and the shutdown manager provides the at least one command for suspending by providing to the load balancer at least one of the at least one command retrieved.
- 10. The system of claim 8 wherein the shutdown manager is additionally for providing at the shutdown manager output at least one command to suspend the directing of new connections to the servers in the selected at least one plurality of groups before it provides suspending the directing of communications to the servers in the selected at least one plurality of groups.
- 11. The system of claim 10 wherein the shutdown manager additionally:
receives at a load balancer type input, an identifier of a type of load balancer; retrieves via a command input/output at least one command from a set of commands for a plurality of types of load balancers; and provides the at least one command for at least one command to suspend the directing of new connections to the servers in the selected at least one plurality of groups by providing to the load balancer at least one of the at least one command retrieved.
- 12. The system of claim 8, wherein:
the configuration manager is additionally for selecting, and providing at the configuration manager output at least one identifier corresponding to, a different at least one of the plurality of groups not selected after it selects the at least one plurality of groups; the status manager input is additionally for receiving the at least one identifier corresponding to, a different at least one of the plurality of groups, and the status manager is additionally for:
providing at a status request output a request for status related to the at least one server in the different at least one of the plurality of groups; receiving at a status input a response to the request provided at the status request output; and providing at an output an indication of the status corresponding to the at least one server in the different at least one of the plurality of groups responsive to the response received at the status input. the shutdown manager is additionally for, after providing the at least one command for initiating the resumption of the directing of communications to at least one of the servers, providing at the output at least one command for suspending the directing of communications to the servers in the different selected at least one plurality of groups not already selected, said command not for suspending the directing of communications to the servers in at least one of the plurality of groups different from the different selected at least one of the plurality of groups; the update manager is additionally for providing at the update manager output information useful for updating of information on the servers in the different selected at least one of the plurality of groups and for which the directing of communications is suspended; and the shutdown manager additionally provides at the shutdown manager output, responsive to the status identified, at least one command for resuming the directing of communications to at least one of the servers containing updated information and in the different selected at least one of the plurality of groups.
- 13. The system of claim 8 wherein the status related to the servers in the selected at least one of the plurality of groups comprises, for each of said servers, a status related to directing of communications to that server.
- 14. The system of claim 8:wherein the update manager additionally receives at an update status input at least one indication regarding a success of the updating step, the update manager for providing at an update status output coupled to the shutdown manager input at least one status message responsive to the at least one indication; and the shutdown manager is additionally for receiving the status message at the shutdown manager input; and wherein the shutdown manager provides the at least one command for initiating the resumption additionally responsive to the status message received at the shutdown manager input.
- 15. A computer program product comprising a computer useable medium having computer readable program code embodied therein for updating a plurality of servers, each having at least one type, and to which at least a portion of communications received by each server are directed by a load balancer, the computer program product comprising computer readable program code devices configured to cause a computer to:
allocate each of the plurality of servers to various ones of a plurality of groups, each group comprising, for at least one of the at least one type, fewer than all of the servers having a same type; select at least one of the plurality of groups; identify a status related to the servers in the selected at least one of the plurality of groups; provide at least one command for suspending the directing of communications to the servers in the selected at least one plurality of groups, said command not suspending the directing of communications to the servers in at least one of the plurality of groups different from the selected at least one of the plurality of groups; update information on the servers in the selected at least one of the plurality of groups and for which the directing of communications is suspended; and responsive to the status identified, initiate the resumption the directing of communications to at least one of the servers containing updated information and in the selected at least one of the plurality of groups.
- 16. The computer program product of claim 15 wherein the computer readable program code devices configured to cause the computer to suspend comprise computer readable program code devices configured to cause the computer to:
identify a type of load balancer; retrieve at least one command from a set of commands for a plurality of types of load balancers; and provide to the load balancer the at least one command retrieved.
- 17. The computer program product of claim 15 additionally comprising computer readable program code devices configured to cause the computer to suspend the directing of new connections to the servers in the selected at least one plurality of groups.
- 18. The computer program product of claim 17 wherein the computer readable program code devices configured to cause the computer to suspend the directing of new communications step comprise computer readable program code devices configured to cause the computer to:
identify a type of load balancer; retrieve at least one command from a set of commands for a plurality of types of load balancers; and provide the at least one command retrieved to the load balancer.
- 19. The computer program product of claim 15 additionally comprising computer readable program code devices configured to cause the computer to:
select a different at least one of the plurality of groups; identify a status related to the servers in the different selected at least one of the plurality of groups; after the operation of the computer readable program code devices configured to cause the computer to resume, provide a command for suspending the directing of communications to the servers in the different selected at least one plurality of groups, said command not for suspending the directing of communications to the servers in at least one of the plurality of groups different from the different selected at least one of the plurality of groups; update information on the servers in the different selected at least one of the plurality of groups and for which the directing of communications is suspended; and responsive to the status identified, resume the directing of communications to at least one of the servers containing updated information and in the different selected at least one of the plurality of groups.
- 20. The computer program product of claim 8:additionally comprising computer readable program code devices configured to cause the computer to receive at least one indication regarding a success of the computer readable program code devices configured to cause the computer to update; and wherein the computer readable program code devices configured to cause the computer to initiate the resumption are additionally responsive to at least one of the at least one indication regarding the success of the updating step.
RELATED PATENTS
[0001] This application is related to U.S. Pat. No. 5,919,247 entitled “Method for the Distribution of Code and Data Updates” issued Jul. 6, 1999 which is hereby incorporated by reference in its entirety.