I have been studying distributed mutual exclusion algorithms based on the concept of Quorums.
Quoting: A Coterie C is defined as a set of sets, where each set g ∈ C is called a quorum.
The following properties hold for quorums in a coterie:
1) Intersection property: For every quorum g, h ∈ C, g ∩ h= ∅. For example, sets {1,2,3}, {2,5,7} and {5,7,9} cannot be quorums in a coterie because the first and third sets do not have a common element.
2) Minimality property: There should be no quorums g, h in coterie C such that g ⊇ h. For example, sets {1,2,3} and {1,3} cannot be quorums in a coterie because the first set is a superset of the second.
I would like to know that, given a set of nodes in a distributed system, how are such coteries or set of quorums formed from such nodes? What are the algorithms or techniques to do this?
UPDATE: To put the problem in other words - "Given 'N' nodes, what is the best way to form 'K' quorums such that any two of them have 'J' number of nodes in common?"