Patent ID: 7272730

Claim:
A system comprising: a hardware platform having a processor and at least one hardware resource, wherein the hardware platform is a hand-held, battery-operated device; a real time operating system supporting a plurality of software applications running on the hardware platform; a power manager layer having an application profiles database which stores an application profile for each of the plurality of software applications running on the hardware platform, wherein each application profile describes a first relationship between a processor utilization and a processor clock frequency for the software application and a second relationship between an application data rate and a processor speed for the software application, said power manager layer being arranged to receive real time input from at least one of the plurality of software applications, wherein the real time input includes the at least one of the plurality of software applications informing the power manager layer, through an application programming interface (API) call embedded in the at least one of the plurality of software applications, of a determination made by the at least one of the plurality of software applications of a change in a current processor or hardware resource requirement of the at least one of the plurality of software applications, determine a power management adjustment using the received real time input and the first and second relationships stored in the application profile of the at least one of the plurality of software applications; and exchange information with at least one of said processor and said at least one hardware resource, wherein said information includes the determined power management adjustment, to implement real time power management responsive to the real time input, wherein the real time power management includes changing the power state of at least one of said processor and said at least one hardware resource in response to the change in the current processor or hardware resource requirement of the at least one of the plurality of software applications.