1. A single application programming interface comprising: means for communicating between a member of a process group of related processes and another member of said process group; means for synchronizing said related processes of said process group by voting on a proposed protocol among the members of the process group, said proposed protocol comprising a proposed action to be taken by at least one of the members of the process group; and means for implementing or refraining from implementing, said proposed action in response to an outcome of said voting.