Patent ID: 8135732

Claim:
A system configured to provide a server application with high availability, the system comprising: a first server; and a second server, wherein the first server comprises one or more processors configured to execute a first set of computer program modules, the first set of computer program modules comprising: a first server application module configured to facilitate access and interaction of users with content and functionality served by the first server application module, wherein the first server application module provides at least a first web server, a first application server, and a first database server, and wherein the first server application module provides application programming interfaces through which the first server application module communicates with other computer program modules included in the first set of computer program modules; and a query module configured (i) to generate queries to the application programming interfaces of the first server application module requesting configuration parameters of the first web server, the first application server, and the first database server, (ii) to receive responses to the queries from the application programming interfaces of the first server application module, and (iii) to transmit information related to the received responses to the second server; and wherein the second server comprises one or more processors configured to execute a second set of computer program modules, wherein the second set of computer program modules comprises: a second server application module configured to facilitate access and interaction of users with content and functionality served by the second server application module, wherein the second server application module provides at least a second web server, a second application server, and a second database server, and wherein the second server application module provides application programming interfaces through which the second server application module communicates with other computer program modules in the second set of computer program modules; and a synchronization module configured (i) to receive the information transmitted to the second server by the query module, and (ii) to generate commands to the second server application module, via the application programming interfaces of the second server application module, that cause the configuration parameters of the second server application module to correspond to the configuration parameters of the first server application module.