next up previous
Next: Best Fit Algorithm for Up: P2Cast: P2P Patching Scheme Previous: Patch server selection

Failure Recovery

In P2Cast, the departure of a client or an underlying network failure, such as link breakdown or available bandwidth fluctuation, can disrupt both the delivery of a patch stream from a patch server, as well as the transmission of the base stream over the application-level multicast tree. P2Cast provides two types of failure recovery: base stream recovery and patch recovery.

We consider the base stream recovery first. Suppose client $A$ is disrupted by a failure. Due to the tree structure, all clients belonging to the subtree rooted at this client are affected by the failure. For the sake of simplicity and to prevent the server from receiving a large number of recovery requests, P2Cast only allows client $A$ to contact the server and perform recovery. The recovery process is identical to that of a new client joining process except that here only the base stream is required. If the recovery attempt succeeds, the entire subtree is recovered. If it fails, client $A$ is rejected. The children of client $A$ will then contact the server and start the recovery process representing their own subtrees. This process continues recursively.

In patch recovery, assume client $B$ seeks a new patch server. It contacts the server and begins the recursive recovery process identical to the server selection process for a new client. Note that here only the clients that arrived earlier than client $B$ can be candidate patch servers. If a patch server is successfully selected, the recovery succeeds. Otherwise, client $B$ has to be rejected, and the clients that receive a patch or the base stream from client $B$ will initiate the recovery processes.

We present the signaling protocol used in P2Cast for clients to do the failure recovery in [11]. It consists of the network failure recovery protocol and the client departure recovery protocol, to deal with network failure and client departure, respectively. P2Cast clients constantly monitor the incoming traffic, both the base stream and patch stream. If the incoming traffic's quality degrades to a certain degree, the recovery process is triggered.

In Section 4 we will further investigate how to provide continuous playback even in the face of disruptions . Below we first present the Best Fit algorithm for the base tree construction and the patch server selection.


next up previous
Next: Best Fit Algorithm for Up: P2Cast: P2P Patching Scheme Previous: Patch server selection
Yang Guo 2003-03-27