Method and apparatus for implementing a sleep proxy for services on a network
AssigneeApple Computer, Inc.
InventorStuart D. Cheshire
Life of this patent
Estimating the term…
Abstract
One embodiment of the present invention provides a system for implementing a sleep proxy. The system starts by receiving a request at the sleep proxy for information pertaining to a service provided by a device. In response to this request, the system determines if the device is a member of a list of devices for which the sleep proxy takes action. If so, the system determines if the sleep proxy can answer the request. If so, the sleep proxy sends a response to the request on behalf of the device. In a variation on this embodiment, if the system cannot answer the request on behalf of the device, the system sends a wakeup packet to the device, wherein the wakeup packet causes the device to exit a power-saving mode so that the device can respond to the request directly.
Claims21
A method for implementing a sleep proxy, comprising:
- receiving a registration request from a device, wherein the registration request contains:
- sufficient information to allow the sleep proxy to generate a wakeup packet that can wake up the device,
- a list of requests for which the sleep proxy can answer, and
- a lease expiration time, wherein upon reaching the lease expiration time, the sleep proxy cancels the device registration;
- and
- adding the device to the list of devices for which the sleep proxy answers;
- receiving a request at the sleep proxy for information pertaining to a service provided by the device;
- determining if the device is a device for which the sleep proxy answers;
- if so, determining if the request is a request for which the sleep proxy can answer;
- and
- if so, sending a response to the request on behalf of the device.
A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for implementing a sleep proxy, the method comprising:
- receiving a registration request from a device, wherein the registration request contains:
- sufficient information to allow the sleep proxy to generate a wakeup packet that can wake up the device,
- a list of requests for which the sleep proxy can answer, and
- a lease expiration time, wherein upon reaching the lease expiration time, the sleep proxy cancels the device registration;
- and
- adding the device to the list of devices for which the sleep proxy answers;
- receiving a request at the sleep proxy for information pertaining to a service provided by the device;
- determining if the device is a device for which the sleep proxy answers;
- if so, determining if the request is a request for which the sleep proxy can answer;
- and
- if so, sending a response to the request on behalf of the device.
An apparatus that implements a sleep proxy, comprising:
- a registration mechanism configured to receive a registration request from a device, wherein the registration request contains:
- sufficient information to allow the sleep proxy to generate a wakeup packet that can wake up the device,
- a list of requests for which the sleep proxy can answer, and
- a lease expiration time;
- a list addition mechanism configured to add the device to the list of devices for which the sleep proxy answers;
- a cancellation mechanism that is configured to cancel the device registration upon reaching the lease expiration time;
- a receiving mechanism configured to receive a request at the sleep proxy for information pertaining to a service provided by the device;
- a determination mechanism configured to determine if the device is a device for which the sleep proxy answers;
- a second determination mechanism configured to determine if the request is a request for which the sleep proxy can answer if the device is a member of the list of devices for which the sleep proxy answers;
- and
- a response mechanism configured to send a response to the request on behalf of the device if the request is a request for which the sleep proxy can answer.
Dependencies are inferred from the claim text.