1. Field of the Invention
The present invention relates to providing the capability for peer processes in an application server cluster to detect failure of and recover transactions from any application server in the cluster.
2. Description of the Related Art
An application server is a process on a server computer on a computer network dedicated to running certain software applications (as opposed to, for example, a file server or print server). Generally, an application server is a software process that delivers applications to client computers. Moreover, an application server should handle most, if not all, of the business logic and data access of the application. Typically, multiple application servers are grouped into clusters of server computers. A computer cluster is a group of loosely coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve speed and/or reliability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or reliability.
Given that there are multiple computers in a server cluster, a need arises for high availability of Global/XA transactions. This entails the collaboration of a number of application server processes within the cluster to provide information on and timely recovery of such transactions. Problems that result from lack of such a capability include potential transactional inconsistencies due to lack of correct information as well as the prolonged holding of resource locks (such as databases) which present serious performance repercussions. One specific aspect of this high-availability is the need for enterprise information systems to be able to call any application server in the cluster and request information about or execute actions upon any transaction in the cluster.
Thus, a need arises for a technique that provides improved availability of Global/XA transactions in an application server cluster.