Patent ID: 7551552

Claim:
A method of guaranteeing failure notification in a distributed system operating on a plurality of nodes in a network, the method comprising: creating a failure notification group comprising the plurality of nodes, wherein the failure notification group has a unique identifier; associating with the unique identifier of the failure notification group a failure handling method of a distributed application running on some or all of the nodes of the failure notification group; each node in the failure notification group ascertaining whether a failure has occurred; each node in the failure notification group that has ascertained a failure signaling a failure notification to each reachable node in the failure notification group, wherein each node in the failure notification group ascertains a failure or is notified of a failure; and each node in the failure notification group executing the failure handling method to perform an application level action in response to ascertaining a failure or being notified of a failure, wherein the nodes in the failure notification group are a subset of nodes in an overlay network, wherein creating a failure notification group includes creating a multicast tree by sending a construction message to each node in the failure notification group, further comprising receiving a confirmation message, wherein the construction message is routed to each node in the failure notification group through an overlay routing path, and upon receiving the confirmation message, each node in the overlay routing path records a pointer to a preceding node, and wherein the confirmation message is routed through the overlay routing path in reverse, and upon receiving the confirmation message, each node in the reverse overlay routing path records a pointer to a preceding node.