Graceful failover using augmented stubs
First Claim
1. A system, comprising:
- a cluster, comprising a plurality of nodes configured to execute a distributed application component;
a client configured to generate a lookup request for the application component;
a naming service configured to respond to the lookup request, wherein the naming service is configured to, in response to the lookup request;
determine whether the application component is executing on the cluster;
return an augmented stub if the application component is executing on the cluster; and
return a normal stub if the application component is not executing on the cluster;
wherein the client is configured to access the application component using the augmented stub; and
the augmented stub is configured to;
interface to an instance of the application component on one of the nodes;
in response to a failure of the one of the nodes, failover to another one of the nodes, transparent to the client; and
interface to another instance of the application component on the another one of the nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
83 Citations
17 Claims
-
1. A system, comprising:
-
a cluster, comprising a plurality of nodes configured to execute a distributed application component; a client configured to generate a lookup request for the application component; a naming service configured to respond to the lookup request, wherein the naming service is configured to, in response to the lookup request; determine whether the application component is executing on the cluster; return an augmented stub if the application component is executing on the cluster; and return a normal stub if the application component is not executing on the cluster; wherein the client is configured to access the application component using the augmented stub; and the augmented stub is configured to; interface to an instance of the application component on one of the nodes; in response to a failure of the one of the nodes, failover to another one of the nodes, transparent to the client; and interface to another instance of the application component on the another one of the nodes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
-
a client generating a lookup request to a naming service for an application component; the naming service responding to the lookup request, wherein the naming service responding to the lookup request comprises; determining whether the application component is executing on a cluster; returning an augmented stub if the application component is executing on a cluster; and returning a normal stub if the application component is not executing on a cluster; the client accessing the application component using the augmented stub; the augmented stub interfacing to a first instance of the application component on a first node of a cluster; in response to a failure of the first node, the augmented stub failing over to a second node of the cluster transparent to the client; and the augmented stub interfacing to a second instance of the application component on the second node. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving a lookup request for an application component from a client; determining whether the application component is executing on a cluster; in response to the lookup request; returning an augmented stub for interfacing to the application component if the application component is executing on a cluster, wherein the augmented stub is configured to provide fail-over for the application component to another node in the cluster transparently to the client; and returning a normal stub for interfacing to the application component if the application component is not executing on a cluster. - View Dependent Claims (12)
-
-
13. A computer-accessible medium comprising program instructions, wherein the program instructions are computer-executable to implement:
-
a client configured to generate a lookup request for an application component; a naming service configured to respond to the lookup request, wherein the naming service is configured to, in response to the lookup request; determine whether the application component is executing on a cluster; return an augmented stub if the application component is executing on a cluster; and return a normal stub if the application component is not executing on a cluster wherein the client is configured to access the application component using the augmented stub; the augmented stub configured to; interface to an instance of the application component on a first node of a cluster; in response to a failure of the first node, failover to a second node of the cluster, transparent to the client; and interface to another instance of the application component on the second node. - View Dependent Claims (14, 15, 16, 17)
-
Specification