GB2439104A - Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often. - Google Patents

Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often. Download PDF

Info

Publication number
GB2439104A
GB2439104A GB0611903A GB0611903A GB2439104A GB 2439104 A GB2439104 A GB 2439104A GB 0611903 A GB0611903 A GB 0611903A GB 0611903 A GB0611903 A GB 0611903A GB 2439104 A GB2439104 A GB 2439104A
Authority
GB
United Kingdom
Prior art keywords
timer
computing device
events
timer events
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0611903A
Other versions
GB0611903D0 (en
Inventor
Lorin Mckay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symbian Software Ltd
Original Assignee
Symbian Software Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symbian Software Ltd filed Critical Symbian Software Ltd
Priority to GB0611903A priority Critical patent/GB2439104A/en
Publication of GB0611903D0 publication Critical patent/GB0611903D0/en
Priority to PCT/GB2007/002243 priority patent/WO2007144648A1/en
Publication of GB2439104A publication Critical patent/GB2439104A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Disclosed is a method of managing power resources on a computing device by minimising the number of separately activated timer events, such that the device is powering up less often. This is done by enabling the device to decide which timer events can occur concurrently and adjusting timer events on the device in such a way that those which can safely occur concurrently do occur concurrently. Components on the computing device may make requests for timer events in terms of ranges of acceptable times, in which the timer events are then triggered. The ranges of acceptable times which are passed by the components may be as maximum and minimum durations or minimum and maximum times, with the ranges having an allowable variation which may allow a timer event to be triggered earlier and/or later. The requests may be made for a periodic timer event and the device ensuring that the average period between instances of the timer event are constant. The device may use a default range for timer requests that do not specify a range. The device or any components may conserve power by entering a low power state whilst waiting for a timer event. The device may place the timer events in a first queue based on the earliest trigger time with a second queue of impending events based on latest trigger time.

Description

<p>1 2439104</p>
<p>POWER MANAGEMENT IN A COMPUTING DEVICE</p>
<p>This invention relates to a method of reducing power consumption in a computing device.</p>
<p>The term computing device' includes, without limitation, Desktop and Laptop computers, Personal Digital Assistants (PDA5), Mobile Telephones, Smartphones, Digital Cameras and Digital Music Players. It also includes converged devices incorporating the functionality of one or more of the classes of device already mentioned, together with many other industrial and domestic electronic appliances.</p>
<p>Much of the functionality available on such devices depends on accurate timings; as well as timing constraints which are apparent to the users of such devices (for example, exposure times on camera and speed of playback on music and video) there are also timing requirements that are less obvious to the user but are of critical importance to the functioning of the device, such as the timing specifications included in the protocols used by devices with communications capabilities, such as mobile telephones.</p>
<p>It is common for the provision of these timings to be the responsibility of an operating system (OS). At the heart of any OS is a fundamental core of system software that controls the overall operation of the computer it runs on.</p>
<p>This system software is responsible for the management of the hardware -controlling and integrating the various hardware components in the system. It is also responsible for all the other software on the device, launching, scheduling and coordinating individual executable software components (such as applications, processes and threads) and providing them with various services that they all require. Timer functionality is one of the most important of these.</p>
<p>Operating system timer functionality is typically capable of concurrently utilising and organising a large number of timers and associated timer events requested by various other operating system components and application software. The completion of a timer (often known as a time-out) is an event that triggers a sequence of operations, the exact effect of which depends on the current state of the system and the program logic of the client software that requested the time-out.</p>
<p>Most operating systems have a set of Application Programming Interfaces (APIs) which allow timers to be set and timer events to be generated. The exact mechanism by which applications are notified of timer events varies between operating systems, depending on the way that a particular OS handles event notifications. Calibacks and various types of Inter-Process Communication (IPC) are commonly used for this purpose.</p>
<p>Timers are commonly used to implement various power management techniques on modern computing devices. After a certain period of inactivity, switching off specific components, such as displays and disk drives, can prolong their working lives. Other components, such as the Central Processing Unit (CPU) and certain types of memory, can be placed into low power modes, which may be provided with various levels of power conservation modes, such as sleep or standby. These measures enable the overall power consumption of the computing device to be considerably reduced without affecting its functionality in any significant way.</p>
<p>Such techniques of power management are especially important for the increasing number of computing devices that are mobile and battery-operated.</p>
<p>Effective management of power resources and power consumption on a device is critical for ensuring that power is not wasted, and that the user is provided with a reasonable and respectable amount of use out of one set of batteries or one charge.</p>
<p>However, it should be appreciated that power savings can also be applied to mains powered computing devices, and although of relatively small benefit when considering a computing device in isolation, can provide meaningful benefits to the planetary environment as a whole when considering the millions of devices in operation for significant periods of time every day.</p>
<p>When any electrical or electronic device has been placed in low power mode, it can only revert to a fuller operational status in response to some external event. The arrival of an externally generated signal, such as user input, represent one class of external event that can wake up an electrical device in low power mode. However, it is well-known that there is some considerable latency between the generation of the external event and the device becoming fully operational; for example, any person who has used a remote control to bring a CRT based television out of standby mode will appreciate that it takes time for the tube to warm up and become operational.</p>
<p>Computing devices, in common with other electrical and electronic devices, are subject to the same latency considerations when emerging from a low-power standby state. As well as user input, these devices can make use of programmed timer events to trigger a wake-up. However, in order to take account of latency, the OS controlling the computing device must begin processing some time before a client on the device requires the timer event, in order to ensure that the device will have become fully operational at the time of the required event. For example, it takes some time for the Phase Locked Loops (PLL5) and crystals used in the Central Processing Units (CPUs) and Application Specific Integrated Circuits (ASICs) that are fundamental to wireless communication devices such as mobile telephones to power up, stabilise and become operational. During this time, various parts of the computing device will be using power but completing no desired function.</p>
<p>It is therefore desirable to economise on the number of times that a computing device is brought out of low power mode, as power is wasted on each power-up cycle. Such economy may be achieved by ensuring that each time a device powers up, it is able to do as much as it can.</p>
<p>However, the timer APIs available in all current operating systems do not allow this to be done as effectively as they might. The client software typically provides the OS with either a length of time to elapse or a specific time of day after when it requires an event. All the OS can do to satisfy such a request is to schedule the time-out to occur as soon as possible after the elapsed time or absolute time.</p>
<p>In devices where there are many concurrent timers, there will be many timer events that are triggered closely together. This results in the various components in the computing device being repeatedly put into a low power state and subsequently returned to a fully operational state.</p>
<p>In the worst case, time-outs might be scheduled so closely together that it is not possible in the time available to enter a low power state; in this case the device is kept idle, using more power than is required but not completing any desired function. This would happen whenever an OS looked at the future list of timer events that were due, and determined that it did not make sense, in terms of power conservation, to go back to low power mode.</p>
<p>Ideally, it should be possible for multiple independently set timer events to be concatenated into one single timer event, thereby saving wasted power. Such a concatenation of timer events would mean that some might be triggered early while others might be triggered late. But, the existing timer APIs set a specific point in time at which a future timer event will be triggered, and this does not provide enough information for the OS to make a decision as to whether it is safe or practical to adjust the time at which a particular event will be triggered early.</p>
<p>According to a first aspect of the present invention there is provided a method of managing power resources on a computing device by minimising the number of separate timer events by a. enabling the device to decide which timer events can occur concurrently; and b. adjusting timer events on the device in such a way that those which can occur concurrently do occur concurrently.</p>
<p>According to a second aspect of the present invention there is provided a computing device arranged to operate in accordance with a method of the first aspect.</p>
<p>According to a third aspect of the present invention there is provided an operating system for causing a computing device to operate in accordance with a method of the first aspect.</p>
<p>Embodiments of the present invention will now be described, by way of further example only, with reference to the accompanying drawings, in which: Figure 1 shows an idle algorithm performed when a computing device in accordance with an embodiment of the present invention has completed all pending tasks and is determining if it should transition to a low power mode; and Figure 2 shows a wake up algorithm performed when a computing device according to an embodiment of the present invention transitions from a low power mode in response to a hardware timer/counter or an external event.</p>
<p>The present invention will now be described with reference to a computing device in the form of a mobile telephone. The operating system (OS) of such a device runs a telephony protocol stack together with a networking protocol stack and various other protocols; this is in addition to any user applications.</p>
<p>Therefore, in such a device there are likely to be many (tens of) timers of varying length set to trigger at different times, so devices of this kind are considered to be particularly suitable for implementing the present invention.</p>
<p>However, to describe many of these timers simply in terms of their length and the time at which they are set to be triggered would be incomplete. The protocol specifications which the timers are set to implement are actually rather more flexible and requiring varying degrees of accuracies. For instance, the Universal Mobile Telecommunications System (UMTS) specifies many of the timer values as needing to be accurate only to the degree of 10% or +10%/-0% The perception behind this invention is that if the OS timer functionality can be provided with knowledge of the accuracy requirements of client software, it would be able to schedule the various pending time-outs with enhanced precision so as to minimise the number of times the device or its various hardware components are put into a low power state, thereby reducing the overall power consumption of the device.</p>
<p>While this description is couched in terms of a mobile telephone, the invention can be applied to any timers on any computing device where the required degree of accuracy is known.</p>
<p>There are many methods of implementing the invention in its most basic form, but all of them have the same fundamental property that the OS is provided with a timing range for an event rather than a specific time at which the event should occur.</p>
<p>The following schemes are provided by way of illustration, and are not intended to limit the invention in any way. The programming idioms used are those of Symbian OS, the advanced mobile phone system from Symbian Ltd., but can easily be implemented using idioms from other operating systems such as WindowsTM, Java TM or Linux.</p>
<p>Timer functions in Symbian OS currently are of the form RTimer::After(TDuratjon aPer od)in which the parameter passed was a period of time, orRTimer::At(TTimeof]Jay aTime)in which the parameter passed was a specific time. Those calls can easily be retained in an OS implementing this invention, which would additionally add a set of RTimer: : Between () functions that might take any of the following forms: 1. RTimer: :Between(TDuratjon aMinPeriod, TDuration aMaxPeriod) in which two parameters are passed; a minimum period of time and a maximum period of time. The resulting timer event is therefore allowed to occur at any point between these limits.</p>
<p>2. RTimer::Between(TDuratjon aPeriod, TInt aVariation)in which two parameters are passed; a period of time and a percentage by which that period might be varied either higher or lower. The period passed is therefore a mean value and the resulting timer event is therefore allowed to occur at any point between the period as adjusted below the value passed by the percentage and the period as adjusted above the value passed by the percentage.</p>
<p>3. RTimer: :Between(T]Juratjon aPeriod, TInt aVariation, TBool aDirect ion) in which three parameters are passed; a period of time, a percentage by which that period might be varied, and a boolean where I indicates that the period is a maximum that can only be decreased and 0 indicates that the period is a minimum that can only be increased. This is a variation of version 2 above of RTimer: :Between 4. RTimer::Between(TTimeofDay aTime, TDuration aVariation) in which two parameters are passed; a specific time and a period of time (the variation period) by which it might be varied above or below that time. The resulting timer event is therefore allowed to occur at any point between the specific time minus the variation period and the specific time plus the variation period.</p>
<p>5. RT mer: :Between(TTimeOfDay aTime, TDuration aPeriod, TBool aDirect ion) in which three parameters are passed; a specific time, a period of time by which it might be varied, and a boolean where I indicates that the specific time is a maximum which can only be decreased and where 0 indicates that the specific time is a minimum and can only be increased. This is a variation of version 4 above of RTimer::Between.</p>
<p>The function prototypes listed above are intended to illustrate and not limit the invention; there are many variations which will be apparent to those skilled in the art. One alternative set of variations to RTimer and CPeriodic, which are two of the classes that system and application software use to access the Symbian OS timer functionality, may be as follows, in which additional functions provided to invoke this invention are indicated.</p>
<p>Modified RTimer API: class RTimer: public RHandleBase public: IMPORT C TInt CreateLocalQ; IMPORT C void CancelO; IMPORT C void After(TRequeststatus& aStatus, TTimelntervalMicroseconds32 anlnterval); IMPORT C void AfterTicks(TRequeststatus &aStatus, TInt aTicks); IMPORT C void At(TRequestStatus& aStatus,const TTime& aTime); IMPORT C void AtUTC(TRequestStatus& aStatus, const TTime& aUTCTime); IMPORT C void Lock(TRequeststatus& aStatus, TTimerLockSpec aLock); IMPORT C void Inactivity(TRequeststatus& aStatus, TTimelntervalseconds aSeconds); IMPORT C void HighRes(TRequeststatusg. aStatus, TTimelntervalMicroseconds32 anlnterval); II the following five functions provide timer ranges IMPORT C void At(TRequestStatus& aStatus, const TTime& aTime, TTimelntervalgeconds aEarlier); IMPORT C void AtUTC(TRequestStatus& aStatus, const TTime& aTimeInUTC, TTimelntervalseconds aEarlier); IMPORT C void After(TRequestStatus& aStatus, TTimelntervalMicroseconds32 aEarliest, TTimelntervalMicroseconds32 aLatest); IMPORT C void Inactivity(TRequeststatus& aStatus, TTimelntervalseconds aEarliest, TTimelntervalSeconds aLatest); IMPORT C void HighRes(TRequeststatus& aStatus, TTimelntervalMicroseconds32 aEarliest, TTimelntervalMjcroseconds32 aLatest) protected: IMPORT C CTimer(TInt aPriority); IMPORT C void ConstructLO; IMPORT C void DoCancel; private: RTimer iTimer; Modified CPeriodicl class CPeriodic: public CTimer public: IMPORT C static CPeriodic* New(TInt aPriority); IMPORT C static CPeriodic* NewL(TInt aPriority); IMPORT C.-CPeriodicO; IMPORT C void Start (TTimelntervalMicroSeconds32 aDelay, TTimelntervalMicro5econds32 alnterval, TCallBack aCailBack); // the following function provides timer ranges IMPORT C void Start (TTimelntervalMjcro5econds32 aDelay, TTimelntervalMjcro5econds32 alnterval, TTimelntervalMicrogeconds32 aVariation, TCallBack aCaliBack); protected: IMPORT C CPeriodic (TInt aPriority); IMPORT C void RunL(); private: TTimelntervalMjcroseconds32 ilnterval; TCallBacJc iCaliBack; It should be noted that all variations for implementing the invention on Symbian OS, together with all comparable implementations on other operating systems, share the same characteristic in that they convey to the OS a range of acceptable values for scheduling a timer event rather than a specific time.</p>
<p>It should also be noted that this invention is quite distinct from those operating systems that allow the granularity of timers to be specified, where the variation in the event is an unpredictable consequence of an inaccuracy in the clock being used.</p>
<p>That this is so can be seen by considering the type of algorithm that an OS implementing this invention might choose when scheduling events. It has been stated above that the OS is passed an acceptable range of times for queuing events. When a timer event is requested, the OS checks to see if there are any other timer requests whose range, or value in the case of a request made with RTimer::After() or RTimer::AtO, overlaps with the range passed to it. Where overlaps are detected, the OS schedules all the timer events to trigger at the same time, thereby avoiding the need to waste energy by transitioning to and from low power modes.</p>
<p>An example of idle and wake up algorithms performed within an operating system of this invention are shown, respectively, in Figures 1 and 2. The algorithm of Figure 1 is performed when the computing device has completed all pending tasks and must determine if it should transition to a low power mode. The algorithm in Figure 2 is performed when the computing device transitions from a low power mode in response to the hardware timer/counter or an external event.</p>
<p>The algorithms of figures 1 and 2 are provided as examples for illustrative purposes only; there are many other ways to implement the queuing of the requests and many algorithms for deciding which time-outs group and complete together, which will be apparent to those skilled in the art.</p>
<p>Other range APIs can be introduced to handle repeating periodic timers (heartbeats or tickers). These APIs are arranged to ensure that an average period is maintained between calls. A suitable function would be: RTimer: :Repeating(TDuratjon aPeriod, TInt aVariation TDuration aMaxPeriod, TDuration aMinPeriod) Each repeating event is scheduled by the preceding event; a static variable associated with the class in which the TDuration aPeriod parameter can be stored would enable each instantiation of RTimer::Repeating to look up the time it had actually been triggered, compare it to the mean time that it would have been triggered had there been no adjustment, and set aMaxPeriod and aMinPeriod for the subsequent call accordingly to maintain the average tick.</p>
<p>An OS introducing this invention could, for legacy clients using RTimer::After() or RTimer::At() functions, assume a small variation (5% to 10%). Any components using the legacy calls should be tested thoroughly to ensure that they still functioned.</p>
<p>The principal advantage of this invention over the known methods of operating computing devices is that it enables devices to consume less power.</p>
<p>For mains-powered devices, this use of less energy for many hundreds of thousands of devices assists in reducing consumption of fossil fuels and global warming. Additionally, powering down components of computing devices can in many cases extend their functioning life.</p>
<p>For battery-powered devices, especially mobile ones, there is considerable additional utility value in this invention as it permits them to function for longer on a single set of batteries or on a single charge.</p>
<p>Although the present invention has been described with reference to particular embodiments, it will be appreciated that modifications may be effected whilst remaining within the scope of the present invention as defined by the appended claims.</p>

Claims (1)

  1. <p>Claims: 1. A method of managing power resources on a computing device
    by minimising the number of separate timer events by a. enabling the device to decide which timer events can occur concurrently; and b. adjusting timer events on the device in such a way that those which can safely occur concurrently do occur concurrently.</p>
    <p>2. A method according to claim I in which components on the computing device make requests for timer events in terms of ranges of acceptable times and in which the timer events are then triggered on the device at any point within the range of acceptable times.</p>
    <p>3. A method according to claim 2 in which the ranges of acceptable times are passed as a. maximum and minimum durations; or b. minimum and maximum times.</p>
    <p>4. A method according to claim 2 in which the ranges of acceptable times are passed as either durations or times with an allowable variation which may a. allow a timer event to be triggered earlier; or b. allow a timer event to be triggered later; or c. allow a timer event to be triggered either earlier or later.</p>
    <p>5. A method according to claim 2 in which a request is made for a periodic timer event and in which the computing device ensures that the average period between instances of the timer event are constant.</p>
    <p>6. A method according to any one of the preceding claims in which the computing device is enabled to assume a default range for timer requests that do not specify a range.</p>
    <p>7. A method according to any one of the preceding claims in which either the computing device or any components of the computing device are enabled to conserve power by entering one or more low power states whilst awaiting a timer event.</p>
    <p>8. A method according to any one of the preceding claims in which the computing device maintains a collection of multiple impending timer events and in which the timer events have an associated range of potential trigger times.</p>
    <p>9. A method according to any one of the preceding claims in which the computing device maintains a first queue of impending timer events based on the earliest trigger time together with a second queue of impending timer events based on the latest trigger time, and in which all the timer events are stored on both queues.</p>
    <p>10.A method according to any one of the preceding claims in which the computing device maintains a queue of impending timer events and in which the timer event at the head of the queue is the one with the lowest latest trigger time and in which the remaining timer events in the queue are stored in order of their earliest trigger times.</p>
    <p>11.A computing device arranged to operate in accordance with a method as claimed in any one of claims I to 10.</p>
    <p>12.An operating system for causing a computing device to operate in accordance with a method as claimed in any one of claims I to 10</p>
GB0611903A 2006-06-15 2006-06-15 Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often. Withdrawn GB2439104A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0611903A GB2439104A (en) 2006-06-15 2006-06-15 Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often.
PCT/GB2007/002243 WO2007144648A1 (en) 2006-06-15 2007-06-14 Power management in a computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0611903A GB2439104A (en) 2006-06-15 2006-06-15 Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often.

Publications (2)

Publication Number Publication Date
GB0611903D0 GB0611903D0 (en) 2006-07-26
GB2439104A true GB2439104A (en) 2007-12-19

Family

ID=36775728

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0611903A Withdrawn GB2439104A (en) 2006-06-15 2006-06-15 Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often.

Country Status (2)

Country Link
GB (1) GB2439104A (en)
WO (1) WO2007144648A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009148472A2 (en) * 2008-06-04 2009-12-10 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
EP2851798A4 (en) * 2013-01-25 2015-05-27 Huawei Device Co Ltd Method, device, and terminal for adjusting heartbeat cycle for application
WO2017218160A1 (en) * 2016-06-18 2017-12-21 Qualcomm Incorporated Wake lock aware system wide job scheduling for energy efficiency on mobile devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2381609A (en) * 2002-05-28 2003-05-07 Sendo Int Ltd Controlling signal timing in processor systems to reduce power consumption
EP1365312A1 (en) * 2002-05-20 2003-11-26 Texas Instruments Incorporated Energy-aware scheduling of application execution
WO2006062270A1 (en) * 2004-12-08 2006-06-15 Electronics And Telecommunications Research Institute Power management method for platform and that platform

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918115B2 (en) * 2001-02-16 2005-07-12 Microsoft Corporation Method and apparatus for synchronization of periodic processes
US20060020842A1 (en) * 2004-07-26 2006-01-26 International Business Machines Corporation Timer management for reducing power consumption and workload in computers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1365312A1 (en) * 2002-05-20 2003-11-26 Texas Instruments Incorporated Energy-aware scheduling of application execution
GB2381609A (en) * 2002-05-28 2003-05-07 Sendo Int Ltd Controlling signal timing in processor systems to reduce power consumption
WO2006062270A1 (en) * 2004-12-08 2006-06-15 Electronics And Telecommunications Research Institute Power management method for platform and that platform

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009148472A2 (en) * 2008-06-04 2009-12-10 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
WO2009148472A3 (en) * 2008-06-04 2010-06-24 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US8020025B2 (en) 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
EP2851798A4 (en) * 2013-01-25 2015-05-27 Huawei Device Co Ltd Method, device, and terminal for adjusting heartbeat cycle for application
US9535747B2 (en) 2013-01-25 2017-01-03 Huawei Device Co., Ltd. Application heartbeat period adjusting method and apparatus, and terminal
US10552216B2 (en) 2013-01-25 2020-02-04 Huawei Device Co., Ltd. Application heartbeat period adjusting method and apparatus, and terminal
WO2017218160A1 (en) * 2016-06-18 2017-12-21 Qualcomm Incorporated Wake lock aware system wide job scheduling for energy efficiency on mobile devices
US10095305B2 (en) 2016-06-18 2018-10-09 Qualcomm Incorporated Wake lock aware system wide job scheduling for energy efficiency on mobile devices
CN109313478A (en) * 2016-06-18 2019-02-05 高通股份有限公司 The wide job scheduling of sensory perceptual system is locked in the wake-up carried out on the mobile device for efficiency

Also Published As

Publication number Publication date
WO2007144648A1 (en) 2007-12-21
GB0611903D0 (en) 2006-07-26

Similar Documents

Publication Publication Date Title
KR101551321B1 (en) Method and system for scheduling requests in a portable computing device
US7529958B2 (en) Programmable power transition counter
US8020025B2 (en) Power saving scheduler for timed events
US9268384B2 (en) Conserving power using predictive modelling and signaling
US10564708B2 (en) Opportunistic waking of an application processor
JP2009187552A (en) Power control system and power control method
TWI441083B (en) Apparatus for performing timer management and associated method
CN101689072A (en) Integrated waking/while-awake power management system
TWI574148B (en) Embedded controller for power-saving and method thereof
JPH096465A (en) Information processor and its control method
GB2439104A (en) Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often.
JP5930504B2 (en) System and method for controlling central processing unit power with guaranteed transient deadlines
WO2009156948A2 (en) Electronic device, method of controlling an electronic device, and system-on-chip
US20100169679A1 (en) Controlling multilevel shared resources in a computing device
Min-Allah et al. Towards dynamic voltage scaling in real-time systems-a survey
CN106933325B (en) A kind of fixed priority I/O device energy consumption management method
CN200990597Y (en) Dynamic electric power management device for hand-held terminal based on OMAP5912
Pereira et al. PASA: A software architecture for building power aware embedded systems
TWI831611B (en) Microcontroller and control method thereof
TW202433280A (en) Microcontroller and control method thereof
CN114153305A (en) Intelligent ammeter based on light-weight real-time operating system and low-power-consumption management method
El Ghor et al. Real-time operating system for wireless sensors powered by renewable energy source
CN118369647A (en) Real-time operating system with CPU cycle time base
Doh Voltage-clock scaling and scheduling for energy-constrained real-time systems
Zeng et al. Power optimization for embedded system idle time in the presence of periodic interrupt services

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20090219 AND 20090225

WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)