IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0039909
(2001-10-19)
|
발명자
/ 주소 |
- Vanderbeck,Sunny C.
- Zoltan,William R.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
17 인용 특허 :
29 |
초록
▼
A method for multi-site clustering in a network includes receiving a domain name from a client at a first domain name server, and identifying a first network address and a second network address associated with the domain name. The first network address is associated with a first site that includes
A method for multi-site clustering in a network includes receiving a domain name from a client at a first domain name server, and identifying a first network address and a second network address associated with the domain name. The first network address is associated with a first site that includes a load balancer coupled to a plurality of web servers, and the second network address is associated with a second site that includes a second domain name server. The method also includes determining whether the first site is available to serve the client, and determining whether the second site is available to serve the client. The method further includes communicating the first network address followed by the second network address to the client based at least partially on a determination that the first site and the second site are available, and communicating the second network address to the client based at least partially on a determination that the first site is not available.
대표청구항
▼
What is claimed is: 1. A method for multi-site clustering in a network, comprising: receiving a domain name from a client at a first domain name server; identifying a first network address and a second network address associated with the domain name, the first network address associated with a firs
What is claimed is: 1. A method for multi-site clustering in a network, comprising: receiving a domain name from a client at a first domain name server; identifying a first network address and a second network address associated with the domain name, the first network address associated with a first site that includes a load balancer coupled to a plurality of web servers, the second network address associated with a second site that includes a second domain name server; determining whether the first site is available to serve the client; determining whether the second site is available to serve the client; communicating the first network address followed by the second network address to the client based at least partially on a determination that the first site and the second site are available; and communicating the second network address to the client based at least partially on a determination that the first site is not available. 2. The method of claim 1, wherein determining whether the first site is available comprises determining whether at least one of the web servers is available. 3. The method of claim 2, wherein determining whether at least one of the web servers is available comprises: communicating a message to the web servers; and determining whether the web servers respond to the message. 4. The method of claim 1, wherein: the web servers are coupled to a database; and determining whether the first site is available comprises determining whether the database is available. 5. The method of claim 4, wherein determining whether the database is available comprises: instructing at least one of the web servers to execute a web page; receiving the executed web page; and determining if the executed web page contains at least one expected keyword. 6. The method of claim 5, wherein the expected keyword comprises a name of a database server serving the database. 7. The method of claim 1, wherein determining whether the second site is available comprises determining whether the second domain name server is available. 8. The method of claim 7, wherein determining whether the second domain name server is available comprises determining if at least one message has been received at the first domain name server from the second domain name server during each of a plurality of time periods. 9. The method of claim 1, further comprising communicating the first network address to the client when the first site is available and the second site is not available. 10. The method of claim 1, wherein communicating the first network address followed by the second network address to the client is also based on at least one of a load placed on each of the first and second sites, a response time of each of the first and second sites, and a locality of the client to each of the first and second sites. 11. The method of claim 10, further comprising communicating the second network address followed by the first network address to the client based on the determination that the first site and the second site are available and at least one of the load placed on each of the first and second sites, the response time of each of the first and second sites, and the locality of the client to each of the first and second sites. 12. The method of claim 1, wherein: the first site includes a first database; and the second site includes a second database. 13. The method of claim 12, further comprising synchronizing information in the first and second databases. 14. The method of claim 13, wherein synchronizing the information in the first and second databases comprises: making first changes to the information in the first database; communicating the first changes to the second database; receiving second changes from the second database; and replicating the second changes to the information in the first database. 15. The method of claim 14, wherein each first change comprises one of an addition of information to the first database, a modification to existing information in the first database, and a deletion of existing information from the first database. 16. The method of claim 14, further comprising storing the first changes in at least one change table. 17. The method of claim 16, wherein storing the first changes in at least one change table comprises storing at least a portion of a row of information from the first database, a row identifier, and a time stamp in the change table. 18. The method of claim 17, wherein storing at least a portion of a row of information from the first database in the change table comprises storing an entire row of information in the change table, the first change affecting at least one entry in the row. 19. The method of claim 14, further comprising consolidating the first changes that affect information in one row of information from the first database. 20. The method of claim 19, wherein consolidating the first changes comprises: combining first changes that affect different entries in the row; and deleting at least one of a plurality of first changes that affect one or more common entries in the row. 21. The method of claim 14, further comprising: determining if any of the second changes conflict with the first changes; and deleting one of the first and second changes that conflict. 22. The method of claim 1, wherein the web servers are operable to execute stateless applications. 23. The method of claim 1, wherein the client is operable to use the first network address until the first network address fails and then use the second network address. 24. A system for multi-site clustering in a network, comprising: at least one computer readable medium; and logic encoded on the computer readable medium and operable when executed to: receive a domain name from a client; identify a first network address and a second network address associated with the domain name, the first network address associated with a first site that includes a load balancer coupled to a plurality of web servers, the second network address associated with a second site that includes a domain name server; determine whether the first site is available to serve the client; determine whether the second site is available to serve the client; communicate the first network address followed by the second network address to the client based at least partially on a determination that the first site and the second site are available; and communicate the second network address to the client based at least partially on a determination that the first site is not available. 25. The system of claim 24, wherein the logic is operable to determine whether the first site is available by receiving an indication from the load balancer identifying whether at least one of the web servers is available. 26. The system of claim 25, wherein the load balancer is operable to determine whether at least one of the web servers is available by: communicating a message to the web servers; and determining whether the web servers respond to the message. 27. The system of claim 24, wherein: the web servers are coupled to a database; and the logic is operable to determine whether the first site is available by receiving an indication from the load balancer identifying whether the database is available. 28. The system of claim 27, wherein the load balancer is operable to determine whether the database is available by: instructing at least one of the web servers to execute a web page; receiving the executed web page; and determining if the executed web page contains at least one expected keyword. 29. The system of claim 24, wherein the logic is operable to determine whether the second site is available by determining whether the domain name server is available. 30. The system of claim 29, wherein the logic is operable to determine whether the domain name server is available by determining if at least one message has been received from the domain name server during each of a plurality of time periods. 31. The system of claim 24, wherein the logic is further operable to communicate the first network address to the client when the first site is available and the second site is not available. 32. The system of claim 24, wherein the logic is operable to communicate the first network address followed by the second network address to the client based also on at least one of a load placed on each of the first and second sites, a response time of each of the first and second sites, and a locality of the client to each of the first and second sites. 33. The system of claim 32, wherein the logic is further operable to communicate the second network address followed by the first network address to the client based on the determination that the first site and the second site are available and at least one of the load placed on each of the first and second sites, the response time of each of the first and second sites, and the locality of the client to each of the first and second sites. 34. The system of claim 24, wherein the first site includes a first database and the second site includes a second database, the databases operable to synchronize information in the first and second databases. 35. The system of claim 34, wherein the first database is operable to synchronize the information by: making first changes to the information in the first database; storing the first changes in at least one change table; communicating the first changes in the change table to the second database; receiving second changes from the second database; and replicating the second changes to the information in the first database. 36. The system of claim 35, wherein the first database is further operable to: combine first changes that affect different entries in the row; delete at least one of a plurality of first changes that affect one or more common entries in the row; determine if any of the second changes conflict with the first changes; and delete one of the first and second changes that conflict. 37. The system of claim 24, wherein the web servers are operable to execute stateless applications. 38. The system of claim 24, wherein the client is operable to use the first network 20 address until the first network address fails and then use the second network address. 39. A system for multi-site clustering in a network, comprising: a memory operable to store a first network address and a second network address associated with a domain name; and at least one processor operable to: receive the domain name from a client; identify the first network address and the second network address associated with the domain name, the first network address associated with a first site that includes a load balancer coupled to a plurality of web servers, the second network address associated with a second site that includes a domain name server; determine whether the first site is available to serve the client; determine whether the second site is available to serve the client; communicate the first network address followed by the second network address to the client based at least partially on a determination that the first site and the second site are available; and communicate the second network address to the client based at least partially on a determination that the first site is not available. 40. The system of claim 39, wherein the processor is operable to determine whether the first site is available by receiving an indication from the load balancer identifying whether at least one of the web servers is available. 41. The system of claim 40, wherein the load balancer is operable to determine whether at least one of the web servers is available by: communicating a message to the web servers; and determining whether the web servers respond to the message. 42. The system of claim 39, wherein: the web servers are coupled to a database; and the processor is operable to determine whether the first site is available by receiving an indication from the load balancer identifying whether the database is available. 43. The system of claim 42, wherein the load balancer is operable to determine whether the database is available by: instructing at least one of the web servers to execute a web page; receiving the executed web page; and determining if the executed web page contains at least one expected keyword. 44. The system of claim 39, wherein the processor is operable to determine whether the second site is available by determining whether the domain name server is available. 45. The system of claim 44, wherein the processor is operable to determine whether the domain name server is available by determining if at least one message has been received from the domain name server during each of a plurality of time periods. 46. The system of claim 39, wherein the processor is further operable to communicate the first network address to the client when the first site is available and the second site is not available. 47. The system of claim 39, wherein the processor is operable to communicate the first network address followed by the second network address to the client based also on at least one of a load placed on each of the first and second sites, a response time of each of the first and second sites, and a locality of the client to each of the first and second sites. 48. The system of claim 47, wherein the processor is further operable to communicate the second network address followed by the first network address to the client based on the determination that the first site and the second site are available and at least one of the load placed on each of the first and second sites, the response time of each of the first and second sites, and the locality of the client to each of the first and second sites. 49. The system of claim 39, wherein the first site includes a first database and the second site includes a second database, the databases operable to synchronize information in the first and second databases. 50. The system of claim 49, wherein the first database is operable to synchronize the information by: making first changes to the information in the first database; storing the first changes in at least one change table; communicating the first changes in the change table to the second database; receiving second changes from the second database; and replicating the second changes to the information in the first database. 51. The system of claim 50, wherein the first database is further operable to: combine first changes that affect different entries in the row; delete at least one of a plurality of first changes that affect one or more common entries in the row; determine if any of the second changes conflict with the first changes; and delete one of the first and second changes that conflict. 52. The system of claim 39, wherein the web servers are operable to execute stateless applications. 53. The system of claim 39, wherein the client is operable to use the first network address until the first network address fails and then use the second network address. 54. A method for multi-site clustering in a network, comprising: receiving a domain name from a client at a first domain name server; identifying a first network address and a second network address associated with the domain name, the first network address associated with a first site that includes a load balancer coupled to a plurality of web servers and a first database, at least one of the web servers operable to execute stateless applications, the second network address associated with a second site that includes a second domain name server and a second database; determining whether the first site is available to serve the client by: communicating a message to the web servers; determining whether the web servers respond to the message; instructing at least one of the web servers to execute a web page; receiving the executed web page; and determining if the executed web page contains at least one expected keyword; determining whether the second site is available to serve the client by determining if at least one message has been received at the first domain name server from the second domain name server during each of a plurality of time periods; communicating the first network address followed by the second network address to the client based on a determination that the first site and the second site are available and on at least one of a load placed on each of the first and second sites, a response time of each of the first and second sites, and a locality of the client to each of the first and second sites; and communicating the second network address to the client based at least partially on a determination that the first site is not available. 55. A system for multi-site clustering in a network, comprising: at least one computer readable medium; and logic encoded on the computer readable medium and operable when executed to: receive a domain name from a client; identify a first network address and a second network address associated with the domain name, the first network address associated with a first site that includes a load balancer coupled to a plurality of web servers and a first database, at least one of the web servers operable to execute stateless applications, the second network address associated with a second site that includes a domain name server and a second database; determine whether the first site is available to serve the client by: communicating a message to the web servers; determining whether the web servers respond to the message; instructing at least one of the web servers to execute a web page; receiving the executed web page; and determining if the executed web page contains at least one expected keyword; determine whether the second site is available to serve the client by determining if at least one message has been received from the domain name server during each of a plurality of time periods; communicate the first network address followed by the second network address to the client based on a determination that the first site and the second site are available and on at least one of a load placed on each of the first and second sites, a response time of each of the first and second sites, and a locality of the client to each of the first and second sites; and communicate the second network address to the client based at least partially on a determination that the first site is not available. 56. A system for multi-site clustering in a network, comprising: a memory operable to store a first network address and a second network address associated with a domain name; and at least one processor operable to: receive the domain name from a client; identify the first network address and the second network address associated with the domain name, the first network address associated with a first site that includes a load balancer coupled to a plurality of web servers and a first database, at least one of the web servers operable to execute stateless applications, the second network address associated with a second site that includes a domain name server and a second database; determine whether the first site is available to serve the client by: communicating a message to the web servers; determining whether the web servers respond to the message; instructing at least one of the web servers to execute a web page; receiving the executed web page; and determining if the executed web page contains at least one expected keyword; determine whether the second site is available to serve the client by determining if at least one message has been received from the domain name server during each of a plurality of time periods; communicate the first network address followed by the second network address to the client based on a determination that the first site and the second site are available and on at least one of a load placed on each of the first and second sites, a response time of each of the first and second sites, and a locality of the client to each of the first and second sites; and communicate the second network address to the client based at least partially on a determination that the first site is not available.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.