METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING A RESOURCE IN RESPONSE TO A CHANGE IN AVAILABLE ENERGY
Methods and systems are described for selecting a resource in response to a change in available energy. A change in a first energy source is detected during processing of a first resource by a program component. A second resource is selected based on a measure of an energy cost for processing the second resource. The second resource is identified to the program component for processing in response to detecting the change.
1 . A method for selecting a resource in response to a change in available energy, the method comprising:
detecting a change in a first energy source during processing of a first resource by a program component;
selecting a second resource based on a second measure of an energy cost for processing the second resource; and
identifying the second resource to the program component for processing in response to detecting the change.
2 . The method of claim 1 wherein the change includes a change from receiving energy from the first energy source to receiving energy from a second energy source.
3 . The method of claim 1 wherein the change includes a change in at least one of an amount of energy and a rate of energy received from the first energy source.
4 . The method of claim 1 wherein detecting the change comprises:
detecting energy flowing from the first energy source; and
subsequently detecting a flow of energy to the first energy source.
5 . The method of claim 1 wherein the change in the first energy source is based on a change in at least one of a cost of energy, a receiver of energy, a provider of energy, a rate of energy utilization, a period of time, a specified time, a user, a geospatial location, heat, light, and a component for at least one of storing, transmitting, and receiving energy.
6 . The method of claim 1 wherein detecting the change includes determining a first energy condition prior to the change and detecting a second energy condition based on the change.
7 . The method of claim 1 wherein the change is detected in response to processing the first resource by the program component.
8 . The method of claim 1 wherein the energy cost is at least one of determined and expressed based on at least one of volts, watts, amps, a measure of electrical energy, a measure of stored energy, a measure of mechanical resistance, a measure of electrical resistance, a measure of time, a count of a particular event, a measure of monetary cost, a measure of heat, a measure of light, a measure of distance, a measure of mass, a measure of size, and a measure of weight.
9 . The method of claim 8 wherein the count is based on at least one of instruction-processing unit cycles, disk spins, data read operations, data write operations, refreshes of at least a portion of a presentation space, display refreshes, data transmitted via a network, data received via a network, and a measure of human movement.
10 . The method of claim 1 wherein a metric for the energy cost for processing the second resource is determined based on at least one of an operation, a hardware component, the program component, a user, a group, a role, a task, a time, a location, at least one of the first resource and the second resource, and a device for performing the operation and/or for providing the resource.
11 . The method of claim 1 wherein selecting the second resource includes determining the second measure based on at least one of a user input for measuring the energy cost and a previous determination of a measure of an energy cost.
12 . The method of claim 1 wherein selecting the second resource comprises:
sending a message via a network to a node for determining the second measure; and
receiving a response via the network identifying the second measure.
13 . The method of claim 1 wherein selecting the second resource comprises:
comparing a first measure of an energy cost for processing the first resource with the second measure; and
selecting the second resource based on the comparing.
14 . The method of claim 1 wherein in selecting the second resource comprises:
communicating with an output device to present an indication of the second measure for a selectable representation of the second resource to a user;
receiving selection information identifying the second resource, in response to a detected user input: and
selecting the second resource identified by the selection information.
15 . The method of claim 1 wherein the second resource is identified to the program component for processing instead of the first resource.
16 . The method of claim 1 wherein the second resource is identified to the program component for processing in addition to the first resource.
17 . The method of claim 1 wherein identifying the second resource to the program component comprises:
disabling access, for the program component, to the first resource; and
enabling access, for the program component, to the second resource.
18 . The method of claim 1 wherein identifying the second resource to the program component comprises:
providing for terminating the program component; and
subsequently restarting the program component configured to process the second resource.
19 . A system for selecting a resource in response to a change in available energy, the system comprising:
an energy monitor component, a cost monitor component, and a resource director component adapted for operation in an execution environment;
the energy monitor component configured for detecting a change in a first energy source during processing of a first resource by a program component;
the cost monitor component configured for selecting a second resource based on a second measure of an energy cost for processing the second resource; and
the resource director component configured for identifying the second resource to the program component for processing in response to detecting the change
20 . A computer-readable medium embodying a computer program, executable by a machine, for selecting a resource in response to a change in available energy, the computer program comprising executable instructions for:
detecting a change in a first energy source during processing of a first resource by a program component;
selecting a second resource based on a second measure of an energy cost for processing the second resource; and
identifying the second resource to the program component for processing in response to detecting the change.