Patent ID: 7472094

Claim:
A method performed by a computing device configured to cooperate with other computing devices to solve a distributed constraint problem, the distributed constraint problem comprising a representation of a real world problem to be solved with a solution to the distributed constraint problem, wherein the real world problem comprises a problem of coordinating or controlling the computing devices to achieve a mutual objective, where the computing device concurrently participates in a first ordering of the computing devices and a second ordering of the computing devices, where the first and second orderings comprise different concurrent orderings of the computing devices, where the method performed by the computing device comprises: receiving, via a network, a first external constraint determination from the first ordering, using the first external constraint determination to make a first local constraint determination, and sending, via the network, a message regarding the first local constraint determination to the first ordering, the different orderings comprising different pre-determined orders in which the constraint determinations are made and then communicated from one computing device to another; and receiving, via the network, a second external constraint determination from the second ordering, using the second external constraint determination to determine a second local constraint determination, and sending, via the network, a message regarding the second local constraint determination to the second ordering, wherein the constraint determinations in the messages are used to find a global solution for the distributed constraint problem, the solution comprising a set of constraint values that mutually satisfy the distributed constraint problem, the constraint values of the solution corresponding to the computing devices, respectively, wherein the computing devices mutually solve the real world problem by operating according to their respective constraint values.