This technical paper presents a method for resolving conflicts between processes in distributed systems. This is an area in which considerable work has been done for nondistributed systems; in addition, some work has been done for distributed systems as well. The notion of the precedence graph, which can be used for conflict resolution in nondistributed systems, is extended to include distributed systems. The authors add to the acyclic precedence graph a distinguishing feature: the depth of a process (the longest chain of predecessors).
The problem is presented both informally and formally. The formal presentation develops the Drinking Philosophers Problem, an extension to the well-known Dining Philosophers Problem. The resultant conflict resolution rule guarantees fairness, symmetry, economy, concurrency, and boundedness. It is a little laborious to translate the diners and drinkers problems back to the real problem being addressed--namely, resource allocation; however, it is desirable to use a “classic” paradigm for representing the problem.
This is an important result in an area which is receiving much attention, and which is admittedly difficult to address (namely, concurrent distributed systems). This paper is well written, and includes sufficient background to be self-contained. It can be read by novices and experts, although it is likely to be of more interest to people working in this area. This paper should be read by those interested in conflict resolution in distributed systems, as it provides an additional tool for addressing the problem.