Decentralized Sleep Management
First Claim
1. A computing device residing within a subnet that includes multiple other computing devices, the computing device comprising:
- one or more processors; and
one or more computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising;
receiving a local state of each of the multiple other computing devices that reside within the subnet;
maintaining a global state of the subnet with use of the received local states;
identifying, from the global state, a computing device of the subnet to probe;
probing the identified computing device to determine whether the identified computing device is asleep and unmanaged; and
managing the identified computing device at least partly in response to determining that that the identified computing device is asleep and unmanaged.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for employing a decentralized sleep management service are described herein. In some instances, each computing device of a group of computing devices periodically shares information about itself with each other computing device of the group. With this information, each computing device within the group that is awake and capable of managing other devices selects a subset of devices to probe. The devices then probe this subset to determine whether the probed devices are asleep. In response to identifying a sleeping device, the probing device takes over management of the sleeping device. Managing the sleeping device involves informing other devices of the group that the sleeping device is being managed, in addition to monitoring requests for services on the sleeping device. In response to receiving a valid request for a service hosted by the sleeping device, the managing device awakens the sleeping device and ceases managing the now-woken device.
-
Citations
20 Claims
-
1. A computing device residing within a subnet that includes multiple other computing devices, the computing device comprising:
-
one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising; receiving a local state of each of the multiple other computing devices that reside within the subnet; maintaining a global state of the subnet with use of the received local states; identifying, from the global state, a computing device of the subnet to probe; probing the identified computing device to determine whether the identified computing device is asleep and unmanaged; and managing the identified computing device at least partly in response to determining that that the identified computing device is asleep and unmanaged. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method implemented at least in part by a node of a decentralized wakeup service, the method comprising:
-
receiving information regarding multiple other nodes of the decentralized wakeup service; determining that at least one of the multiple other nodes is asleep based at least in part on the received information; and managing the node that is determined to be asleep at least partly in response to the determining. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. One or more computer-readable media storing computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:
-
receiving state information from each of multiple different computing devices of a decentralized service; detecting when at least one of the multiple different computing devices of the decentralized service goes to sleep with use of the received state information; and assuming responsibility for determining when to awaken the at least one computing device. - View Dependent Claims (19, 20)
-
Specification