Decentralized sleep management
First Claim
1. A first computing device residing within a subnet that includes multiple computing devices, the first 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 local states of the multiple 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 that the identified computing device is asleep and is managed by a second computing device;
sending a response to the second computing device in response to determining that the first computing device has a higher priority of managing the identified computing device than the second computing device, the response causing the second computing device to stop managing the identified computing device, wherein at least two computing devices manages other computing devices of the multiple computing devices within the subnet at one time; and
managing the identified computing device that is asleep.
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.
13 Citations
20 Claims
-
1. A first computing device residing within a subnet that includes multiple computing devices, the first 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 local states of the multiple 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 that the identified computing device is asleep and is managed by a second computing device; sending a response to the second computing device in response to determining that the first computing device has a higher priority of managing the identified computing device than the second computing device, the response causing the second computing device to stop managing the identified computing device, wherein at least two computing devices manages other computing devices of the multiple computing devices within the subnet at one time; and managing the identified computing device that is asleep. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method implemented at least in part by a first computing device, the method comprising:
-
receiving state information from a second computing device of a decentralized service; detecting when the second computing device goes to sleep based on the received state information; determining whether a third computing device that is managing the second computing device has a lower priority to manage the second computing device than the first computing device; and in response to determining that the third computing device that is managing the second computing device has the lower priority to manage the second computing device than the first computing device, assuming responsibility, by the first computing device, for determining when to awaken the second computing device, wherein at least two computing devices manages multiple computing devices within a subnet associated with the decentralized service at one time. - View Dependent Claims (13, 14)
-
-
15. A method implemented at least in part by a first computing device, the method comprising:
-
receiving local states of multiple computing devices that reside within a 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 that the identified computing device is asleep and is managed by a second computing device; sending a response to the second computing device in response to determining that the first computing device has a higher priority of managing the identified computing device than the second computing device, the response causing the second computing device to stop managing the identified computing device, wherein at least two computing devices manages other computing devices of the multiple computing devices within the subnet at one time; and managing the identified computing device that is asleep. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification