In a peer to peer grid computing environment, volunteers are exposed to failures such as crash and link failures. In addition, since volunteers can dynamically join and leave executions and they are not dedicated only to a peer to peer grid computing, the executions of volunteers are stopped or suspended more frequently than in a grid computing environment. These failures result in the delay and blocking of the executions
of tasks and even partial or entire loss of the executions. In addition, these failures make it difficult for a volunteer server to schedule tasks and manage the allocated tasks as well as volunteers. Existing peer to peer grid computing systems, however, do not deal with these failures in scheduling mechanisms. Moreover, since existing scheduling mechanisms are performed only by a volunteer server in a centralized way, there is a high overhead.