3.2.1 Abstract Data Model

A client that implements this protocol takes advantage of a server that is potentially a node in a failover cluster. Because any active node in the cluster acts as an RPC interface server (as specified in section 3.1.1), the client can be implemented to connect to a different node and resubmit methods if it detects that the current node, or the RPC connection with the current node, has failed.

In order to implement this reconnect logic, the client can maintain the following state:

  • A list of reconnect candidates that consists of the cluster name and the computer name of all the nodes that are configured as members of the cluster, regardless of their current state.

  • The computer name of the node that is currently acting as server for the RPC interface.

  • Open RPC context handles for cluster objects, as specified in sections 2.2.1.1, 2.2.1.2, 2.2.1.3, 2.2.1.4, 2.2.1.5, 2.2.1.6, 2.2.1.7, 2.2.1.8, and 2.2.1.9. For protocol version 3.0,<221> the client maintains the level of access that was granted by the server when the context handle was created with each open HCLUSTER_RPC, HNODE_RPC, HGROUP_RPC, HRES_RPC, HNETWORK_RPC, and HNETINTERFACE_RPC context handle.