System and method for application driven power management among intermittently coupled interoperable electronic devices
First Claim
1. A method for device energy and power management and energy and power consumption reduction comprising:
- establishing an event driven runtime environment within at least one device for which the energy and power management and consumption reduction is to be achieved;
generating and maintaining at least one event queue identifying all synchronous and asynchronous processing events and associated minimum expected processing times for the processing events in the queue;
searching through the asynchronous processing events in the at least one event queue that drive asynchronous processing and determining the minimum time needed before any of the asynchronous events need to be processed;
searching through the synchronous processing events in the at least one event queue that drive all the synchronous processing and determining the minimum time needed before any of the synchronous events need to be processed; and
selecting a final minimum estimated response time as the expected minimum of the synchronous and asynchronous event processing times.
5 Assignments
0 Petitions
Accused Products
Abstract
System, device, method, and computer program and computer program products for providing communicating between devices having similar or dissimilar characteristics and facilitating seamless interoperability between them. Computer program software and methods of and systems and devices for sharing of content, applications, resources and control across similar and dissimilar permanently or intermittently connected electronic devices. Devices, systems, appliances, and the like communicating and/or interoperating within the framework provided. Application driven power management. Applications built using linear tasking and/or vertical layering as embodied at least partially in n interoperability framework, keep track of their exact response time needs so that efficient power management techniques can extend the lifetime of batteries, limit amount of energy consumed, or limit amount of heat generated on devices.
-
Citations
21 Claims
-
1. A method for device energy and power management and energy and power consumption reduction comprising:
-
establishing an event driven runtime environment within at least one device for which the energy and power management and consumption reduction is to be achieved; generating and maintaining at least one event queue identifying all synchronous and asynchronous processing events and associated minimum expected processing times for the processing events in the queue; searching through the asynchronous processing events in the at least one event queue that drive asynchronous processing and determining the minimum time needed before any of the asynchronous events need to be processed; searching through the synchronous processing events in the at least one event queue that drive all the synchronous processing and determining the minimum time needed before any of the synchronous events need to be processed; and selecting a final minimum estimated response time as the expected minimum of the synchronous and asynchronous event processing times.
-
-
2. A method for device energy and power management and energy and power consumption reduction comprising:
-
establishing an event driven runtime environment within at least one device for which the energy and power management and consumption reduction is to be achieved; generating and maintaining at least one event queue identifying all synchronous and asynchronous processing events and associated minimum expected processing times for the processing events in the queue; selecting a final minimum estimated response time based on the expected minimum synchronous and asynchronous event processing times in the queue; searching through all the events on a first asynchronous event queue that drive all the asynchronous processing and collect the minimum time needed before any of the asynchronous events need to be processed; searching through all the events on a second synchronous event queue that drive all the synchronous processing and collect the minimum time needed before any of the synchronous events need to be processed; and determining the final minimum response time needed by selecting the lesser of the minimum time needed for the asynchronous events and the minimum time needed for the synchronous events. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for device power management and/or power consumption reduction carried out at least in part by an event driven runtime, the method comprising:
-
(1) at the start of each processing pass through an event driven application, setting a minimum response time variable to its expected highest-value, which expected highest-value is interpreted by the system as a value indicating an infinite response time need of the application event processing and any asynchronous event processing driven by events already in the runtime event queue; (2) when the first synchronous event processing unit of an application is called, the first synchronous event processing unit checking to determine if the event reference passed into the processing unit as a parameter reference points to an actual event instance to be processed; (3) if there is no event referenced, the processing unit makes a system call directly or indirectly by way of executing an instruction to request the next synchronous application event that needs processing, the system call causing the run-time to look through all the asynchronous operations that are being driven by events on the queue, and if there is an event to be processed, then processing continues at step (8) so that the synchronous application event is inspected by all application event processing units in a predefined order according to the software run-time model; (4) asynchronous events on the queue which are ready for processing cause an operation corresponding to each asynchronous event to be executed; (5) as each asynchronous event on the queue is inspected to see if it is ready to be processed, the minimum time until the next asynchronous event will be ready to be processed is gathered in the minimum response time variable, replacing the highest wait time value with any gathered minimum time value which is less than the highest value; (6) when the system call returns, a return value is tested to determine whether there is a synchronous application event now at the head of the queue which needs to be processed by the application; (7) if there is no synchronous application event at the head of the queue which needs to be processed, then a synchronous application processing event of a type to indicate general processing is generated for application processing; (8) the synchronous application event is inspected by all application event processing units in a predefined order according to the software run-time model; (9) any synchronous application event processing unit that needs to continue processing after it processes the current synchronous event will change the minimum response time variable value to the minimum of the minimum response time variable value and that of its own continued processing unit needs; (10) when the first synchronous event processing procedure regains control, a device specific power management function is called with the minimum response time variable value as a parameter; and (11) the device specific power management function uses the value to stop, slow down, modify an operating voltage or other parameter of the power consuming components of the device until an externally generated stimulus occurs or the time specified it the parameter occurs. - View Dependent Claims (17)
-
-
18. A computer program product for use in conjunction with a computer system or information appliance, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a program module that directs the computer system or information appliance to function in a specified manner for device energy and power management and energy and power consumption reduction of the computer system or information appliance, the program module including instructions for; establishing an event driven runtime environment within at least one device for which the energy and power management and consumption reduction is to be achieved; generating and maintaining at least one event queue identifying all synchronous and asynchronous processing events and associated minimum expected processing times for the processing events in the queue; searching through the asynchronous processing events in the at least one event queue that drive asynchronous processing and determining the minimum time needed before any of the asynchronous events need to be processed; searching through the synchronous processing events in the at least one event queue that drive all the synchronous processing and determining the minimum time needed before any of the synchronous events need to be processed; and selecting a final minimum estimated response time as the expected minimum of the synchronous and asynchronous event processing times.
-
-
19. A computer program product for use in conjunction with a computer system or information appliance, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a program module that directs the computer system or information appliance to function in a specified manner for device energy and power management and energy and power consumption reduction of the computer system or information appliance, the program module including instructions for; establishing an event driven runtime environment within at least one device for which the energy and power management and consumption reduction is to be achieved; generating and maintaining at least one event queue identifying all synchronous and asynchronous processing events and associated minimum expected processing times for the processing events in the queue; selecting a final minimum estimated response time based on the expected minimum synchronous and asynchronous event processing times in the queue; searching through all the events on a first asynchronous event queue that drive all the asynchronous processing and collect the minimum time needed before any of the asynchronous events need to be processed;
searching through all the events on a second synchronous event queue that drive all the synchronous processing and collect the minimum time needed before any of the synchronous events need to be processed; anddetermining the final minimum response time needed by selecting the lesser of the minimum time needed for the asynchronous events and the minimum time needed for the synchronous events. - View Dependent Claims (20)
-
-
21. An apparatus for energy and power management and energy and power consumption reduction within at least one device, the apparatus comprising:
-
a logic circuit within the at least one device utilizing energy and power to perform a logic processing operation; means for establishing an event driven runtime environment within at the least one device for which the energy and power management and consumption reduction is to be achieved; means for generating and maintaining at least one event queue identifying all synchronous and asynchronous processing events and associated minimum expected processing times for the processing events in the queue; means for selecting a final minimum estimated response time based on the expected minimum synchronous and asynchronous event processing times in the queue; and means for searching through all the events on a first asynchronous event queue that drive all the asynchronous processing and collect the minimum time needed before any of the asynchronous events need to be processed; means for searching through all the events on a second synchronous event queue that drive all the synchronous processing and collect the minimum time needed before any of the synchronous events need to be processed; means for determining the final minimum response time needed by selecting the lesser of the minimum time needed for the asynchronous events and the minimum time needed for the synchronous events; and means for performing power management or power consumption reduction tasks for the logic circuit using the final minimum response time value before further processing any events.
-
Specification