IP Library Granted Patent US 9,008,735
Granted Patent B2
US 9,008,735 · App. 13/861,140 · Granted Apr 14, 2015

Runtime selection of most energy-efficient approach for services requested by mobile applications

Inventors: Murali Annavaram (Los Angeles, CA); Sangwon Lee (Los Angeles, CA)
Assignee: University of Southern California
G06F1/3234Y02B60/50G06F1/3278
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,008,735
App. No.
13/861,140
Granted
Apr 14, 2015
Kind
B2
Abstract

An energy conservation module may be included in a mobile communication device that receives requests for services from application programs running in the device. For each request, the energy conservation module may determine which of different, selectable ways of performing the request is likely to be the most energy efficient. The energy conservation module may then cause the request to be performed in this most energy-efficient way. This determination may be dynamic and based on current operating conditions. Middleware between the application programs and an operating system may be included that presents various APIs to the application programs to allow them to easily invoke this functionality. The different, selectable ways of performing the services may be of any type, including different, selectable computer network interfaces (e.g., Wi-Fi and cellular) and whether a complex computation should be performed within or outside of the mobile communication device.

Claims (52)

1. An energy conservation module in a battery-powered mobile communication device for maximizing the energy efficiency of the mobile communication device while running one or more application programs that communicate data over a computer network that is outside of the mobile communication device via one of different, selectable computer network interfaces within the mobile communication device, each selectable computer network interface having a configuration that communicates data over the computer network over a wireless communication pathway that is different for each selectable computer network interface, the energy conservation module including computer hardware and software having a configuration that implements the following process:

receives requests from each of the application programs, each request calling for data communication over the computer network; and

for each received request:

determines which of the selectable computer network interfaces that are operational at the time of receiving the request is likely to consume the least amount of energy handing the data communication that is called for by the request; and

causes the requested data communication to take place via the computer network interface that is determined likely to consume the least amount of energy handling the data communication.

2. The energy conservation module of claim 1 wherein:

the mobile communication device includes a data storage system having a configuration that stores information indicative of the energy consumption rate of each of the selectable computer network interfaces; and

the energy conservation module has a configuration that examines the stored information when determining which of the selectable computer network interfaces is likely to consume the least amount of energy.

3. The energy conservation module of claim 1 wherein the determining of which of the selectable computer network interfaces is likely to consume the least amount of energy takes into consideration the current status of one or more operating conditions that vary over time.

4. The energy conservation module of claim 3 wherein the operating conditions includes information indicative of the current response time or available data bandwidth or network congestion of each of the currently operational computer network interfaces.

5. The energy conservation module of claim 1 wherein the mobile communication device includes an operating system and the energy conservation module includes middleware positioned between the operating system and the applications.

6. The energy conservation module of claim 5 wherein the middleware has a configuration that receives the requests for data communications from the application programs via one or more APIs.

7. The energy conservation module of claim 1 wherein one of the computer network interfaces includes a cellular network communication transceiver.

8. The energy conservation module of claim 1 wherein one of the computer network interfaces includes a Wi-Fi network communication transceiver.

9. The energy conservation module of claim 8 wherein one of the computer network interfaces includes a cellular network communication transceiver.

10. The energy conservation module of claim 1 wherein the mobile communication device has an operating system and the energy conservation module has a configuration that also implements the following process:

receives requests from each of the application programs, each request calling for data processing; and

for each received request:

determines whether the data processing is likely to consume the least amount of energy if substantially performed by the data processing system within the mobile communication device or a data processing system outside of the mobile communication device; and

causes the data processing to be substantially performed at the location that is determined to consume the least amount of energy.

11. The energy conservation module of claim 10 wherein:

one of the requests requires state information to perform the request; and

the energy conservation module determines the minimum portion of the state information that is needed to perform this request.

12. Non-transitory, tangible, computer-readable storage media containing a program of instructions configured to cause a battery-powered mobile communication device while running the program of instructions and one or more application programs that communicate data over a computer network that is outside of the mobile communication device via one of different, selectable computer network interfaces within the mobile communication device, each selectable computer network interface having a configuration that communicates data over the computer network over a wireless communication pathway that is different for each selectable computer network interface, to:

receive requests from each of the application programs, each request calling for data communication over the computer network; and

for each received request:

determine which of the selectable computer network interfaces that are operational at the time of receiving the request is likely to consume the least amount of energy handing the data communication that is called for by the request; and

cause the requested data communication to take place via the computer network interface that is determined likely to consume the least amount of energy handling the data communication.

13. An energy conservation module in a battery-powered mobile communication device for maximizing the energy efficiency of the mobile communication device while running one or more application programs that request data processing that can be substantially performed by a data processing system either within or outside of the mobile communication device, the energy conservation module including computer hardware and software having a configuration that implements the following process:

receives requests from each of the application programs, each request calling for data processing; and

for each received request and automatically without user intervention following the receipt of each request:

determines whether the data processing is likely to consume the least amount of energy if substantially performed by the data processing system within or outside of the mobile communication device; and

causes the data processing to be substantially performed by the data processing system that is determined to consume the least amount of energy.

14. The energy conservation module of claim 13 wherein:

the module communication device includes a data storage system configured to store information indicative of the energy consumption rate of performing data processing both within and outside of the mobile communication device; and

the energy conservation module has a configuration that examines the stored information when determining whether the data processing is likely to consume the least amount of energy if substantially performed by the data processing system within or outside of the mobile communication device.

15. The energy conservation module of claim 13 wherein the stored information includes information about the energy consumption rate of:

the data processing system within the mobile communication device; and

a transceiver within the mobile communication device that communicates with the data processing system outside of the mobile communication device.

16. The energy conservation module of claim 14 wherein the determining whether the data processing is likely to consume the least amount of energy if substantially performed by the data processing system within or outside of the mobile communication device takes into consideration the current status of one or more operating conditions that vary over time.

17. The energy conservation module of claim 16 wherein the operating conditions includes information indicative of the current response time of the data processing system outside of the mobile communication device.

18. The energy conservation module of claim 13 wherein the mobile communication device includes an operating system and the energy conservation module includes middleware positioned between the operating system and the applications.

19. The energy conservation module of claim 18 wherein the middleware has a configuration that receives the requests for data communications from the application programs via one or more APIs.

20. The energy conservation module of claim 13 wherein the data processing system outside of the mobile communication device is located within an Internet server.

21. The energy conservation module of claim 13 wherein:

one of the requests requires state information to perform the request; and

the energy conservation module determines the minimum portion of the state information that is needed to perform this request.

22. Non-transitory, tangible, computer-readable storage media containing a program of instructions configured to cause a battery-powered mobile communication device running the program of instructions and one or more application programs that request data processing that can be substantially performed by a data processing system either within or outside of the mobile communication device to:

receive requests from each of the application programs, each request calling for data processing; and

for each received request:

determine whether the data processing is likely to consume the least amount of energy if substantially performed by the data processing system within or outside of the mobile communication device; and

causes the data processing to be substantially performed by the data processing system that is determined to consume the least amount of energy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2013
From: ANNAVARAM, MURALI; LEE, SANGWON
To: UNIVERSITY OF SOUTHERN CALIFORNIA
Reel/Frame 030843/0387 →
Continuity (2)
Provisional Application 61622981 · Apr 11, 2012
Related Publication 20130275794A1 · Oct 17, 2013