Patent ID: 8533255

Claim:
A computing device that is configured for binding negotiation, the computing device comprising: a processor; memory in electronic communication with the processor storing instructions, the instructions being executable to: advertise a first binding with a first binding ID on a network, wherein the first binding identifies a service that is provided by the computing device; discover that a second provider is also providing the first binding with the same service and a second binding ID on the network by receiving a communication from the second provider; determine whether the communication is a duplicate of a previously-received communication by checking the second binding ID and if the communication is a duplicate, then acknowledge the communication; determine whether the computing device is to provide the first binding by evaluating a collision function (F) using the first binding ID and the second binding ID as inputs and wherein the same rules are applied consistently when passing parameters to the collision function (F); and halt the addition of the first binding with the second binding ID or cancel the first binding with the first binding ID based on the result of the collision function so as to prevent the same service from being performed by both the computing device and the second provider, wherein the addition of the first binding with the second binding ID is halted by the computing device withholding an expected acknowledgment to the second provider, and wherein the cancellation of the first binding with the first binding ID occurs by the computing device not sending a confirmation message.