Patent ID: 8667107

Claim:
A computer-implemented method for electing a controller, the method comprising: transmitting, amongst devices associated with a domain, messages including data describing a capability of each of the devices by broadcasting sequentially, at each of the devices associated with the domain, a message including the capability of the corresponding device; performing, amongst the devices, an election competition based on comparing, at each of the devices, the capability of the corresponding device with a capability included within a message broadcasted from another device associated with the domain when the corresponding device receives the message broadcasted from the another device, wherein if the capability of the corresponding device is higher than the capability included within the message, the corresponding device survives the election competition, or else the corresponding device stops broadcasting of the message including the capability of the corresponding device; and electing one of the devices the controller for the domain based on the election competition performed by the devices, wherein the elected device has the highest capability among the devices, wherein the controller is responsible for: receiving a request from a client, in response to receiving the request, checking whether the client is located in a local area, and issuing, to the client, a first credential which verifies that the client is located in the local area upon determining that the client is located in the local area, wherein to join the domain, the client submits, to a domain manager of the domain, any one of the first credential issued by the controller and a second credential issued by the domain manager, wherein the first credential includes a controller membership verifying the controller, and a client membership issued to the client, and the second credential is issued by the domain manager when the domain is generated and includes the client membership and a domain credential provided by the domain manager, and wherein the domain manager determines that the client is in a local status or a remote status based on whether the first credential or the second credential, respectively, is submitted to the domain manager.