System and method for cross-platform application level power management
First Claim
1. A system which forms an application-level framework for providing management of power resources and power states of software and hardware of a power-manageable computer system, said application-level framework being configured to execute on a virtual machine, said virtual machine being implemented on a plurality of computing platforms, the system comprising:
- a CPU, wherein said CPU is operable to execute a plurality of instructions expressed in a first machine language;
one or more power-managed devices coupled to said CPU;
a virtual machine, wherein said virtual machine is operable to execute a plurality of instructions expressed in a second machine language, and wherein said virtual machine is executable by said CPU;
a memory coupled to said CPU, wherein said memory stores said virtual machine and a package of programming interfaces;
wherein said package of programming interfaces is executable by said virtual machine to enable a plurality of applications to manage power resources and power states of the computer system, including power resources and power states of said CPU and said power-managed devices, wherein said package of interfaces is executable to enable said applications to obtain a current system power state, to enable said applications to influence said current system power state, and to enable said applications to obtain notification data regarding a plurality of transitions from said current system power state to a new system power state;
wherein said virtual machine is selected from a plurality of virtual machines which are implemented on top of a plurality of different operating systems and a plurality of different computer hardware, wherein said package of programming interfaces is configured to enable said applications to be executed without alteration on said plurality of virtual machines on said plurality of different operating systems and said plurality of different computer hardware.
2 Assignments
0 Petitions
Accused Products
Abstract
A framework for the development of applications which manage the power resources and power states of power-manageable computer systems and attached devices. In one embodiment, the power management framework comprises a plurality of Java™ programming interfaces (APIs) which are part of the Java™ Platform. Therefore, the same framework is configured to enable the same power-aware Java™ applications to execute on many different computing platforms, operating systems, and computer hardware. The programming interfaces comprise a system-level programming interface, a notification programming interface, an exception programming interface, and a device-level programming interface. The system-level programming interface permits Java™ applications to obtain a current system power state and, with the proper privilege, to influence the current system power state. The notification programming interface permits Java™ applications to be notified regarding transitions from one system power state to another system power state. The exception programming interface permits Java™ applications to be notified regarding errors in power management. The device-level programming interface permits Java™ applications to obtain a current device power state and, with the proper privilege, to influence the current device power state. The power management framework defines a plurality of standardized system power states, standardized device power states, and power state transitions.
276 Citations
42 Claims
-
1. A system which forms an application-level framework for providing management of power resources and power states of software and hardware of a power-manageable computer system, said application-level framework being configured to execute on a virtual machine, said virtual machine being implemented on a plurality of computing platforms, the system comprising:
-
a CPU, wherein said CPU is operable to execute a plurality of instructions expressed in a first machine language; one or more power-managed devices coupled to said CPU; a virtual machine, wherein said virtual machine is operable to execute a plurality of instructions expressed in a second machine language, and wherein said virtual machine is executable by said CPU; a memory coupled to said CPU, wherein said memory stores said virtual machine and a package of programming interfaces; wherein said package of programming interfaces is executable by said virtual machine to enable a plurality of applications to manage power resources and power states of the computer system, including power resources and power states of said CPU and said power-managed devices, wherein said package of interfaces is executable to enable said applications to obtain a current system power state, to enable said applications to influence said current system power state, and to enable said applications to obtain notification data regarding a plurality of transitions from said current system power state to a new system power state; wherein said virtual machine is selected from a plurality of virtual machines which are implemented on top of a plurality of different operating systems and a plurality of different computer hardware, wherein said package of programming interfaces is configured to enable said applications to be executed without alteration on said plurality of virtual machines on said plurality of different operating systems and said plurality of different computer hardware. - View Dependent Claims (2, 3, 4)
-
-
5. A method for managing power resources and power states of software and hardware of a computer system, the method being configured to execute without alteration on a plurality of computing platforms, the method comprising:
-
providing a package of programming interfaces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system, wherein said package of programming interfaces further includes one or more object-oriented classes for power management, and wherein said package of programming interfaces is further configurable to instantiate one or more objects for power management from said one or more classes; and implementing said package of programming interfaces between said applications and the computer system, wherein said interfaces are configured to enable said applications to be computing-platform-independent. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A storage medium which stores programming interfaces for platform-independent power management of software and hardware of a computer system, wherein the programming interfaces comprise:
-
a system-level programming interface for power management of the computer system, wherein said system-level programming interface is configured to enable a plurality of applications to obtain data indicating a system power state and enable said applications to influence said system power state; a notification programming interface for power management of the computer system, wherein said notification programming interface is configured to enable said applications to obtain notification data regarding a plurality of power state transitions; wherein said system-level programming interface and said notification programming interface are implemented between said applications and the computer system; wherein said system-level programming interface and said notification programming interface are configured to be utilized by said applications, wherein said interfaces are configured to enable said applications to be executed without alteration on a plurality of different computing platforms. - View Dependent Claims (20, 21, 22)
-
-
23. A system which forms a framework for cross-platform application-level power management of a power-manageable computer, the system comprising:
-
a CPU; a memory coupled to said CPU, wherein said memory stores one or more programming interfaces executable by said CPU and a plurality of applications executable by said CPU; wherein said programming interfaces are configured to enable said applications to participate in power management of power states and power resources of software and hardware of the computer; wherein said applications are expressed in a first sequence of instructions, wherein said first sequence of instructions is executable on a plurality of different computing platforms without alteration; wherein said programming interfaces are expressed in a second sequence of instructions, wherein said second sequence of instructions is executable on a plurality of different computing platforms without alteration. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A method for managing power resources and power states of software and hardware of a computer system, the method being configured to execute without alteration on a plurality of computing platforms, the method comprising:
-
providing a package of programming interfaces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system; providing a virtual machine, wherein said applications and said programming interfaces are configured to execute on said virtual machine, wherein said virtual machine is configured to be implemented on a plurality of different computing platforms; wherein said programming interfaces are interfaces between said applications and said virtual machine, wherein said interfaces are configured to enable said applications to be executable without alteration on any computing platform on which the virtual machine is configured to execute. - View Dependent Claims (29, 30)
-
-
31. A method for managing power resources and power states of software and hardware of a computer system, the method being, configured to execute without alteration on a plurality of computing platforms, the method comprising:
-
providing a package of programming interfaces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system; implementing said package of programming interfaces between said applications and the computer system, wherein said interfaces are configured to enable said applications to be computing-platform-independent; wherein said package of programming interfaces is further configured to enable said applications to obtain a system power state and to permit said applications to influence said system power state; and wherein said package of programming interfaces is further configured to map a plurality of system-independent power states to a plurality of system dependent power states. - View Dependent Claims (32, 33)
-
-
34. A method for managing power resources and power states of software and hardware of a computer system, the method being configured to execute without alteration on a plurality of computing platforms, the method comprising:
-
providing a package of programming interfaces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system; implementing said package of programming interfaces between said applications and the computer system, wherein said interfaces are configured to enable said applications to be computing-platform-independent; wherein said package of programming interfaces is further configured to enable said applications to obtain a system power state and to permit said applications to influence said system power state; and wherein said package of programming interfaces is further configured to provide one or more methods for power management selected from the group consisting of;
getting a system power source, getting a system battery capacity, getting said system power state, adding a system state change event listener, removing said system state change event listener, setting said system power state, and getting a system power monitor object. - View Dependent Claims (35)
-
-
36. A method for managing power resources and power states of software and hardware of a computer system, the method being configured to execute without alteration on a plurality of computing platforms, the method comprising:
-
providing a package of programming interfaces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system; implementing said package of programming interfaces between said applications and the computer system, wherein said interfaces are configured to enable said applications to be computing-platform-independent; wherein said package of programming interfaces is further configured to enable said applications to obtain notification data regarding a plurality of power state transitions; and wherein said power state transitions are selected from the group consisting of;
full power to power management active, power management active to full power, full power to sleep, full power to suspend, full power to off, power management active to sleep, power management active to suspend, power management active to off, sleep to full power, sleep to power management active, suspend to full power, suspend to power management active, and sleep to suspend. - View Dependent Claims (37, 38)
-
-
39. A method for managing power resources and power states of software and hardware of a computer system, the method being configured to execute without alteration on a plurality of computing platforms, the method comprising:
-
providing a package of programming interfaces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system; implementing said package of programming interfaces between said applications and the computer system, wherein said interfaces are configured to enable said applications to be computing-platform-independent; wherein said package of programming interfaces is further configured to enable said applications to obtain notification data regarding a plurality of power state transitions; wherein said package of programming interfaces is further configured to inform said applications of an event indicating a power state transition; and wherein said event indicating said power state transition is selected from the group consisting of;
full power to power management active, power management active to full power, full power to sleep, full power to suspend, full power to off, power management active to sleep, power management active to suspend, power management active to off, sleep to full power, sleep to power management active, suspend to full power, and suspend to power management active. - View Dependent Claims (40)
-
-
41. A method for managing power resources and power states of software and hardware of a computer system, the method being configured to execute without alteration an a plurality of computing platforms, the method comprising:
-
providing a package of programming inter faces for power management of the computer system, wherein said package of programming interfaces is configured to enable a plurality of applications to participate in managing power resources and power states of power-manageable software and hardware of the computer system, wherein said package of programming interfaces is configured to enable said applications to obtain power state data, wherein said power state data reflects a power state of said power-manageable software and hardware of the computer system; implementing said package of programming interfaces between said applications and the computer system, wherein said interfaces are configured to enable said applications to be computing-platform-independent; wherein said package of programming interfaces is further configured to enable said applications to obtain notification data regarding a plurality of power state transitions; and wherein said package of programming interfaces is further configured to provide one or more methods for power management selected from the group consisting of;
receiving a system state change event, getting a new power state, getting a previous power state, and determining if a power state change can be opposed. - View Dependent Claims (42)
-
Specification