Claims
- 1. A method for adding a new server to an existing server pool, comprising the steps of:
sending a request for registration to a predetermined server; receiving from the predetermined server a response with a list of active servers; computing a first identification based on the list of active servers; assigning the first identification to the new server; and determining caretaker information based on the assigned first identification of the new server.
- 2. The method of claim 1, further comprising the steps of:
responsive to sending the request for registration, receiving a second response, representative of an authenticated registration, from the predetermined server; and sending to the predetermined server a second request to obtain a list of active servers in the pool.
- 3. The method of claim 2, further comprising the steps of:
sending to a caretaker server a third request for a list of active pool elements; and receiving the list of active pool elements from the caretaker server.
- 4. The method of claim 1, further comprising the steps of:
prior to sending the request for registration to the predetermined server, obtaining a second list of servers; and selecting the predetermined server from the second list.
- 5. The method of claim 4, wherein the second list of servers includes at least one active server.
- 6. The method of claim 4, wherein the step of selecting the predetermined server from the second list is arbitrary.
- 7. The method of claim 1, further comprising the step of sending an update message indicating that registration is successful.
- 8. The method of claim 7, wherein the update message includes a notification of a load redistribution that includes the new server.
- 9. The method of claim 1, wherein the predetermined server performs an authentication of the first request for registration.
- 10. The method of claim 1, wherein the request for registration includes an expire time and service policy information.
- 11. The method of claim 1, wherein the step of computing the first identification comprises:
determining the identification values of active servers; and computing the first identification as a value different from the identification values of active servers.
- 12. The method of claim 11, wherein the step of computing the first identification as a value different from the identification values of active servers comprises:
determining a highest value identification from the list of active servers; and incrementing the highest value identification to obtain the first identification.
- 13. The method of claim 12, wherein the step of incrementing the highest value identification to obtain the first identification is by one.
- 14. The method of claim 1, wherein the step of determining the caretaker information comprises:
determining a second identification of a server whose identification value is different from the value of the assigned first identification; and defining the determined second identification as the caretaker information.
- 15. The method of claim 14, wherein the value of the second identification is one less than the value of the assigned first identification.
- 16. The method of claim 1, further comprising the steps of:
assigning a first active server a role of first caretaker server to the new server; and assigning a second active server a role of second caretaker server to a third active server whose corresponding caretaker server was the first active server.
- 17. The method of claim 1, further comprising the steps of:
receiving from a caretaker server with the determined caretaker information a flag set response representative of a registration failure; waiting a period of time; computing the first identification a second time; assigning the first identification a second time; and determining caretaker information a second time.
- 18. The method of claim 1, further comprising the step of computing a load redistribution that includes the new server.
- 19. The method of claim 18, further comprising the step of determining a load balancer server.
- 20. The method of claim 1, further comprising the step of:
determining whether an event has occurred; responsive to the determination that the event has occurred, sending a status message.
- 21. The method of claim 20, wherein the status message includes an update to the list of active servers.
- 22. The method of claim 20, wherein the status message includes a health check failure notification.
- 23. The method of claim 20, wherein the status message includes normal shutdown notification of one of the servers in the pool.
- 24. The method of claim 20, wherein the status message includes a change to policy and control parameters.
- 25. The method of claim 20, wherein the event comprises an addition of the new server.
- 26. The method of claim 20, wherein the event comprises at least one server leaving the pool.
- 27. The method of claim 1, wherein the new server, the predetermined server, and the active servers are Endpoint Name Resolution Protocol servers.
- 28. A method for monitoring when a server leaves an existing server pool, comprising the steps of:
detecting a triggering event to remove a server; updating a list of active servers to remove the server; and sending a status message to other servers in the pool.
- 29. The method of claim 28, wherein the status message includes the updated list of active servers.
- 30. The method of claim 28, wherein the triggering event includes receiving a request for registration from the server.
- 31. The method of claim 30, wherein the request for registration includes an expire time set to zero.
- 32. The method of claim 28, further comprising the steps of:
sending a health check message to the server; and determining whether a failure to respond is detected, wherein the step of updating the list of active servers is responsive to the determination that the failure to respond is detected.
- 33. The method of claim 28, further comprising the steps of:
determining whether the removed server is a load balancer server; if the removed server is a load balancer server;
assuming a role of load balancer server by one of other servers in the pool.
- 34. The method of claim 28, wherein the step of sending the status message to other servers in the pool comprises sending the status message to all servers in the pool.
- 35. A method for adding a new server to an existing server pool, comprising the steps of:
receiving from the new server a first request for registration to the pool; sending to the new server a first response with a list of active servers; receiving from the new server a second request for a list of pool elements; and sending a second response with the list of pool elements to the new server.
- 36. The method of claim 35, further comprising the steps of:
authenticating the first request for registration; sending to the new server a third response based on the authenticating step; and receiving from the new server a third request to obtain the list of active servers.
- 37. The method of claim 35, further comprising the step of receiving an update message that registration is successful.
- 38. The method of claim 35, further comprising the step of determining whether the new server must attempt to register a second time.
- 39. The method of claim 35, further comprising the steps of:
setting a flag at a caretaker server in the pool; responsive to the step of receiving the second request, sending a flag set response to the new server; and resetting the flag at the caretaker server.
- 40. The method of claim 39, wherein the step of resetting the flag occurs automatically after a predetermined period of time.
- 41. The method of claim 39, further comprising the step of receiving an update message that registration is successful, wherein the step of resetting the flag occurs responsive to the update message.
- 42. The method of claim 35, further comprising the step of computing a load redistribution that includes the new server.
- 43. The method of claim 42, further comprising the step of determining a load balancer server.
- 44. A system for adding a server to a server pool, the system comprising:
a first server, wherein the first server:
requests registration to join the existing server pool, requests from a second server a list of active servers in the existing server pool, computes an identification based on the list of active servers, assigns the identification to itself, determines a caretaker server for itself, and requests a list of pool elements from the caretaker server; the second server that authenticates the registration request from the first server and sends the list of active servers to the first server; and the caretaker server that sends the list of pool elements to the first server.
- 45. The system of claim 44, wherein the first server obtains a second list of servers from a network level look-up service and selects the second server from the second list of servers.
- 46. The system of claim 44, wherein the first server sends an update message that the registration is successful.
- 47. The system of claim 44, wherein the second server and the caretaker server are the same server.
- 48. The system of claim 44, wherein the registration includes an expire time and service policy information.
- 49. The system of claim 44, wherein the first server assumes a role of new caretaker server to a third server whose previously corresponding caretaker server was the caretaker server.
- 50. The system of claim 44, wherein the caretaker server includes a flag representative of a registration failure.
- 51. The system of claim 50, wherein the first server receives the flag from the caretaker server, waits a period of time, computes an identification a second time, assigns the identification a second time, and determines its caretaker server a second time.
- 52. The system of claim 44, wherein a load redistribution is computed taking into account the first server.
- 53. The system of claim 52, wherein the load redistribution is computed by the first server.
- 54. The system of claim 52, wherein the load redistribution is computed individually by each server in the existing server pool.
- 55. The system of claim 52, further comprising a load balancer server.
- 56. The system of claim 55, wherein the load balancer server is the second server.
- 57. The system of claim 55, wherein the first server assumes the role of the load balancer server.
- 58. The system of claim 44, wherein the caretaker server determines whether an event has occurred and sends a status message responsive to the determination that the event has occurred.
- 59. The system of claim 58, wherein the event is an addition of the first server.
- 60. The system of claim 58, wherein the event is at least one server leaving the pool.
- 61. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a device to perform steps of:
obtaining a list of servers; selecting a first server from the obtained list; sending a first request for registration to the first server; receiving a first response, representative of an authenticated registration, from the selected server; sending a second request to obtain a list of active servers in the existing server pool to the first server; receiving a second response with the list of active servers from the first server; computing an identification based upon the active list; assigning the identification to the device; determining a caretaker server for the device; sending a third request for a list of pool elements from the caretaker server; receiving the list of pool elements from the caretaker server; and sending an update message that registration is successful.
- 62. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a system comprising at least one data processing device to perform steps of:
receiving a first request for registration to an existing pool from a new server; authenticating the first request for registration; sending a first response based on the authenticating step to the new server; receiving a second request to obtain a list of active servers in the pool from the new server; sending a second response with the list of active servers to the new server; receiving a third request for a list of pool elements from the new server; sending the list of pool elements to the new server; and receiving an update message that registration is successful.
Parent Case Info
[0001] This application claims priority to provisional U.S. application Ser. No. 60/361,596, filed Mar. 4, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60361596 |
Mar 2002 |
US |