Patent ID: 8868943

Claim:
A method for awakening a remote computing device, comprising: publishing a wakeup event from an application server that is subscribed to by a subnet in a client network system having a plurality of computing devices in the subnet including the remote computing device, where at least one of the computing devices in the subnet is awake and other computing devices in the subnet are asleep including the remote computing device; receiving the wakeup event at an awake computing device on the subnet; awakening the remote computing device using the awake computing device on the subnet; selecting an awake threshold that represents a minimum number of computing devices that need to be awake at any given time on the subnet; sending out periodic heartbeats to the application server to inform the application server of a number of computing devices that are awake on the subnet; and rotating between the plurality of computing devices on the subnet computing devices that are awake and computing devices that are asleep so that different computing devices on the subnet are awake at any given time and are able to receive the wakeup event and awaken the remote computing device, wherein the rotation of computing devices ensures that the number of computing devices that are awake is not less than the awake threshold.