Various embodiments of a system and method for failing over one cluster
node to another are disclosed. The system may include a client networked
to a cluster of computer nodes, connected to a persistent data store such
as a database resident on a backend system. Each node of the cluster may
be configured to run a distributed application component. The client may
be configured to communicate with an instance of the application running
on a first node. The client may include an augmented stub capable of
accessing the instance of the application on the first node and capable
of detecting a failure of the first node. In response to detecting a
failure in the first node, the augmented stub may be capable of failing
over to a second node and accessing the instance of the application on
the second node, transparently to the client.