Technology has provided many opportunities for increased productivity gains but also with resultant power savings depending upon the application. For example, many computers go into “sleep mode” when there is no activity detected for a predetermined amount of time. Such modes not only conserve power but also can extend the life of the underlying computer hardware. When the user reengages the computer, the computer can be restarted with some delay while the display and/or other software functions (e.g., drivers) are powered on. In another example, devices such as printers and copiers often go into power savings mode during periods of inactivity.
Systems and methods are provided that facilitate location-based task activation to maximize power conservation and mitigate time waiting for power conservation modes to be deactivated before completing the task. A requesting device for a task submits a task request to a network device to fulfill the task, wherein the network device can be in a power-savings mode before receiving the task request. The task request includes some indication of the location of the requesting device. Based on estimates of the distance that the requesting device is from the network device, the network device can determine when to begin a task in order that the task can be fulfilled on time and without causing unnecessary delay waiting for the network device to come out of power-savings mode. Thus, in one specific example, a printer (or other device) can remain in power savings mode until a task request for a printing is made. The task request can include location-based data and other parameters that enable the printer to determine when to come out of power savings mode and when to complete the task of printing before an entity arrives to collect the respective prints. Thus, not only can power savings be maximized by waiting as long as possible to come out of power-savings mode, but efficiency can also be increased by mitigating the amount of time an entity such as a user or device making the request need to wait while the network device comes out of power-savings mode to fulfill the request.
The distance manager 140 can be a third party component that communicates with the network device 110 or can be integrated within the network device, for example. The network device 110 can perform the task or can submit an activation message to a task fulfillment component (not shown) to perform the task. For example, the network device 110 could be a central processor for task requests and performs the task of computing when tasks should be activated in view of the location data 130 and in order to fulfill the requests in a timely manner while conserving power. Upon such determination, the network device 110 could submit a request to the task fulfillment component (e.g., printer or copier in power-savings mode) to complete the request. In other examples, the network device 110, determines the activation time in accordance with computations from the distance manger 140 and also acts as the task fulfillment component.
In one example, the distance manager 140 computes a distance time variable to complete the task based on the location data 130. The distance manager 140 can compute the distance time variable utilizing a time estimate for the network device to become ready to begin the task, a time estimate based on task specifications, or an estimated distance based on a point of origin of the request, for example. The distance manager 140 can determine the estimated distance based on a static parameter specified in the request and/or a dynamic parameter based on coordinates that are generated by the requesting device 120 that generates the request. The dynamic parameter can be updated over the course of time to cause the distance time variable to be recomputed. The dynamic parameter or the static parameter can be updated from data generated from a geo-positioning system (GPS), a radio frequency identification (RFID) tag, a user specification, a device parameter, a network address, a task parameter, and/or a biological detection system, for example. In yet another example, the distance specified with the request could be for some other party who would be receiving the fulfillment results from the request. For example, one person might make a request for a print job and specify that coordinates for distance be obtained from some other person (or entity) that will be arriving to pick up the job. The person making the request could also specify the coordinates for the other entity receiving the results rather than direct the system to obtain alternative coordinates from the other entity.
The network device 110 can be a printer, a copier, a fax machine, an appliance, a vehicle, a computer, a wireless control device, a task fulfillment component, or an environmental control system, for example. For example, the task request could be a message indicating the user's current location with the message triggering some type of appliance activation (e.g., air conditioner) based on the user's current location (e.g., distance 1 hour from home, start appliance in ½ hour to fulfill cooling request in timely manner while conserving maximal energy). Also, a policy (or policies) can be specified that controls how the distance manager 140 determines the activation time for the task. For example, one policy may specify that for network devices that are not too far away from the origin of the request, that activation times should be minimized (e.g., less than a predetermined amount of time for print jobs located in my office). In another policy example, additional time may be added to the activation time to account for nuances in travel (e.g., add additional activation time to account for walking up four flights of stairs to printing room). Policies can be specified for various reasons to alter how the distance manager 140 determines the activation time and/or how long it takes for the network device 110 to perform task fulfillment.
In one specific example for network devices 110, printers can go into and come out of power savings mode (sleep) based on the following criteria such as job submission, network resource access, physical interactions with the device (hard-keys, touch screen, trays, and so forth), and scheduled timeouts. The system 100 facilitates efficient operations for a user with a network enabled device 120 (e.g., a smart phone, tablet, or laptop) that can signal a network device 110 wake-up procedure based on geo-location data or other location data 130. Such device wake-up processes can be employed to control the amount of power required by the network device 110, as well as required time to complete a task (e.g., print) based on said users (or device) location. Thus, the system 100 facilitates conserving energy while promoting maximum uptime for the network device 110 at a usable state. By calculating geo-location enabled device wakeup procedures by the distance manager 140, the system 100 allows for maximum device “sleep time” which reduces the amount of power required by the device over time leading to a reduction in cost to operate. This can also result in improved user experience by facilitating that the user is notified when their print job can be completed as well as detecting when it needs to start each print job based on the user's location. This is also advantageous in situations where there are a large number of users accessing the same network device 110 (e.g., printer) at various times of the day from varying geo-location distances.
For purposes of simplification of explanation, in the example of
In one specific example, the system 200 enables network devices 250 such as printers to dynamically calculate the amount of time required to wake-up to a fully capable ready state depending on the user's (or entity) location. Each print task can be assigned a point of origin address based on the location data 220 that can be sent along with the task request in addition to task information such as total number of pages, colors, impositions, and so forth. After the network device 250 receives this information, it can then calculate the time required not only for wake-up but also to print the job and then process it according to a pre-determined user configuration such as can be achieved via the policies described above.
The printer (or network device) can calculate the required time to process each job submission which can be based on the following criteria specified as a distance time variable 270 (e.g., distance time to print). The distance time variable can include a device specification for “time to ready” that include time required to start up all device components to a read state (e.g., for printing). Another aspect for the distance time variable 270 can include the general amount of time (e.g., print time) required based on job specifications, device specifications (e.g., page size, print engine speed, and so forth). Another aspect of the distance time 270 can include distance from a point of origin address and the network device (e.g., print device). This can be a static value 230 or a dynamic value 240 based on user preference and the ability to live stream the coordinates (e.g., via GPS) of the user/device.
In view of the foregoing structural and functional features described above, example methods will be better appreciated with reference to
The method 300 can be executed by a network device to process a request to perform a task, wherein the request specifies location data for an entity generating the request. The network device can include a distance manager, corresponding to instructions executable by a processor, to determine a distance time variable to execute the task by the network device. The distance time variable can include a time estimate for a device to become ready to begin the task, a time estimate based on task specifications, and an estimated distance based on the location data specified. The network device can process the location data as a static parameter in the request or can process the location data as a dynamic parameter in the request that is periodically updated over the course of time.
At 530 of the method 500, dynamically update active point of origin for the entity that submitted the task requests (e.g., continuously update distance variable based on dynamic location data received from requesting device of
What have been described above are examples. It is, of course, not possible to describe every conceivable combination of components or methods, but one of ordinary skill in the art will recognize that many further combinations and permutations are possible. Accordingly, the invention is intended to embrace all such alterations, modifications, and variations that fall within the scope of this application, including the appended claims. Additionally, where the disclosure or claims recite “a,” “an,” “a first,” or “another” element, or the equivalent thereof, it should be interpreted to include one or more than one such element, neither requiring nor excluding two or more such elements. As used herein, the term “includes” means includes but not limited to, and the term “including” means including but not limited to. The term “based on” means based at least in part on.