基于参数报告更新的阈值基准的制作方法

文档序号:6485120阅读:145来源:国知局
基于参数报告更新的阈值基准的制作方法
【专利摘要】这里公开的示例实施例涉及报告与电池有关的第一更新阈值基准。监控与计算设备为第一OS进入休眠状态需汲取的电力有关的参数。第一更新阈值基准基于该参数设定。第一更新阈值基准被报告给第一OS。第一OS基于第一更新阈值基准改变第一电池基准阈值。
【专利说明】基于参数报告更新的阈值基准
【背景技术】
[0001 ] 移动设备,诸如笔记本电脑,可以由电池供电。软件,诸如在移动设备上运行的操作系统(OS),可以测量电池的实际剩余电池容量。如果实际剩余电池容量降至电池基准阈值以下,则OS会进入不活动状态,诸如休眠状态。在进入休眠状态之前,OS可以执行保存数据的操作,诸如将易失性存储器的数据保存在移动设备的非易失性存储器中。
[0002]电池基准阈值由OS设定,以确保电池的实际剩余电池容量足以为移动设备转换到休眠状态供电。
【专利附图】

【附图说明】
[0003]以下具体描述参考附图,其中:
[0004]图1是将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一操作系统的计算设备的示例框图;
[0005]图2是将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一操作系统、并且将第二修改剩余电池容量和第二更新阈值基准中的至少一个报告给第二操作系统的系统的示例框图;
[0006]图3是包括用于将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一操作系统的指令的计算设备的示例框图;
[0007]图4是将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一操作系统的方法的示例流程图;以及
[0008]图5A和5B是将第一和第二修改剩余电池容量以及第一和第二更新阈值基准中的至少一个报告给第一和第二操作系统的方法的示例流程图。
【具体实施方式】
[0009]在以下描述中给出具体细节,以提供对实施例的全面理解。然而,本领域技术人员可以理解的是,不需要这些细节也可以实现实施例。例如,为了不让不必要的细节掩盖实施例,系统可以以框图示出。在其他实例中,可以在没有不必要的细节的情况下示出公知的过程、结构和技术,以避免掩盖实施例。
[0010]移动设备,诸如笔记本电脑或平板电脑,可以由电池供电。这些设备经常运行诸如操作系统(OS)的软件,其通过高级配置与电源接口(ACPI)监控电池的实际剩余电池容量。ACPI可以提供OS与硬件和/或固件之间的接口,诸如基本输入/输出系统(BIOS),以允许OS控制设备的功率状态。例如,OS将经由BIOS和/或ACPI接收的实际剩余电池容量与电池基准阈值相比较,以确定电池的实际剩余电池容量是否低。在实际剩余电池容量降至电池基准阈值以下时,OS可以进入不活动状态,诸如休眠状态。休眠状态可以指在设备的诸如RAM的一个或多个部件断电之前诸如RAM的易失性存储器的内容被写入诸如硬盘驱动器的非易失性存储器的不活动状态。在OS从休眠状态中唤醒时,易失性存储器的内容被重新载入,诸如被重新载入至RAM,并且该设备恢复为其进入休眠状态之前的状态。[0011]制造商可以确定电池基准阈值,然后将电池基准阈值应用于一个或多个设备的整个平台。如果电池基准阈值被设为太低,则电池可能不具有足够的电能为OS转换到休眠状态供电。因此,电池基准阈值经常保守地被设为相对高水平,以确保电池存储足够的电能为OS转换到休眠状态供电。然而,结果是在进入休眠状态之前电池可能仍旧保留足够的电能为OS供电较长时间。因此,OS可能过早进入休眠状态,因此减少了设备处于活动状态且能够被用户使用的时间。
[0012]因此,各种实施例基于设备需汲取的估计电力,动态地改变向OS报告的电池的实际剩余电池容量和OS的电池基准阈值中的至少一个,以最大化或延长设备进入休眠状态之前的时间。例如,实施例可以监控需保存的存储量、设备的使用年限和状况、设备部件的速度和温度、在设备上运行的软件的复杂性、电池容量等。这些参数可以被用于增加或减小报告给OS的实际剩余电池容量的值和/或OS的电池基准阈值,以延迟OS进入休眠状态之前的时间,并最大化或延长OS的活动状态。
[0013]现在参见附图,图1是计算设备100的示例框图。在一个实施例中,计算设备100可以将修改的剩余电池容量报告给第一0S145。在另一个实施例中,计算设备可以将第一更新阈值基准报告给第一 0S145。在另一个实施例中,计算设备100可以将修改的剩余电池容量和第一更新阈值基准中的任一个或两个报告给第一 0S145。计算设备100的实施例可以包括例如笔记本电脑、台式电脑、一体化系统、平板计算设备、便携式阅读设备、无线邮件设备、移动电话等。在图1A的实施例中,计算设备100包括处理器110、第一存储器120、电池130和第二存储器140。第二存储器140进一步包括接口模块141、监控模块142、基准模块143 和第一 0S145。
[0014]电池130可以包括任意类型的蓄电设备,诸如可再充电电池。例如,电池可以是具有包括镍-镉(NiCd)、镍-锌(NiZn)、镍金属氢化物(NiMH)、锂离子等的单电池的干电池式电池。诸如在没有可用的电源输出口时,计算设备100可以由电池130供电。进一步,电池130还可以经由电源输出口再充电。
[0015]电池130的实际剩余电池容量可以由电池130的诸如经由库仑计数或电压检测方法估计电池130的剩余电力或电能的芯片(未示出)报告。进一步,实际剩余电池容量可以表示为电池总电量毫瓦特时数的百分比等。
[0016]第一和第二存储器120和140可以是一个或多个机器可读存储介质,诸如包含或存储可执行指令的任意电子、磁性、光学、或其他物理存储设备。进一步,第一存储器120可以是易失性型存储器,诸如随机存取存储器(RAM),包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。第二存储器140可以是非易失性型存储器,诸如只读存储器,闪存,如硬盘、软盘、磁带、光盘等的磁性计算机存储设备。
[0017]处理器110可以是CPU、GPU或适于从第二存储器140和/或配置为执行下述模块141至143中任一个的功能的电子电路检索并执行指令的微处理器。例如,在计算设备100的一个或多个部件断电时,诸如在休眠期间,第一存储器120中存储的任意信息可能丢失。因此,处理器110可以在第一 0S145进入休眠状态之前将第一存储器120的信息存储至第二存储器140的位置。术语OS可以指管理硬件资源,例如第一存储器120和第二存储器140的硬件资源,并/或支持软件应用程序的一个或多个程序。
[0018]模块141至143中的每一个可以包括例如包括用于实现以下所述功能的电子电路的硬件设备。另外地或作为替代例,每个模块可以实现为在机器可读存储介质上编码并可由处理器Iio执行的一系列指令。在实施例中,模块141至143中的某些可以实现为硬件设备,同时其他模块实现为可执行指令。
[0019]模块141至143可以实现为由诸如第一 0S145的OS运行的应用程序的部分,和/或ACPI的部分。接口模块141用于从由电池130供电的计算设备100上运行的第一 0S145接收第一电池基准阈值。监控模块142用于监控电池130的实际剩余电池容量以及与计算设备100为第一 0S145进入休眠状态需汲取的电力有关的参数。
[0020]由监控模块142监控的参数可以涉及需保存信息的大小和类型、第一和第二存储器120和140中至少一个的速度和可靠性、处理器110的速度和温度、电池130的容量和使用年限等。因此,所述参数会随着计算设备100的操作而改变。例如,所述参数的值可以根据计算设备100处于通电状态期间的时间中存储在诸如RAM的第一存储器120上的信息的量和/或在给定情况下处理器110的温度而改变。计算设备100可以包括监控处理器110的温度的传感器(未示出)。下面结合图4-5B更详细地解释参数。
[0021]基准模块143用于通过设定第一修改剩余电池容量和第一更新阈值基准中的至少一个,延长第一 0S145进入例如休眠状态的低功率状态之前的时间。基于所接收的第一电池基准阈值、所监控的实际剩余电池容量和所述参数设定第一修改剩余电池容量。基于所述参数设定第一更新阈值基准。进一步,接口模块141将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一 0S145。
[0022]如果第一修改剩余电池容量小于第一电池基准阈值,则第一 0S145进入休眠状态,并且第一 0S145基于第一更新阈值基准而改变第一电池基准阈值。例如,如果第一更新阈值基准小于第一电池基准阈值,则第一电池基准阈值可以设定为低基准,因此延迟第一0S145进入休眠状态之前的时间。并且,如果第一修改剩余电池容量大于实际剩余电池容量,则相比于第一 0S145将第一电池基准阈值与电池130的实际剩余电池容量相比较的情况,第一 0S145会等待较长的时间进入休眠状态。
[0023]如果接口模块141不将第一修改值报告给第一 0S145,则接口模块141可以将电池130的实际剩余电池容量报告给第一 0S145。第一 0S145可以将所报告的第一修改剩余电池容量和实际剩余电池容量中的任一个解释为电池130的实际剩余电力。因此,如果电池的实际剩余电池容量或第一修改剩余电池容量被报告为小于第一电池基准阈值,则第一0S145可以进入休眠状态。
[0024]例如,第一电池基准阈值可以是电池容量的4%,并且第一修改剩余电池容量可以由基准模块143设定为例如比电池130的实际剩余电池容量大2%。如果第一修改剩余电池容量被报告给第一 0S145,则第一 0S145不会进入休眠状态,直到第一修改剩余电池容量为4%。因此,如果实际剩余电池容量是3%并且第一修改剩余电池容量是5%,则计算设备100不会进入低功率状态。因此,报告第一修改剩余电池容量而不是电池130的实际剩余电池容量,可以增加用户可以使用第一 0S145的时间并且延迟直到第一 0S145进入休眠状态的时间。
[0025]在替代实施例中,第一更新阈值基准可以用于将第一电池基准阈值设定为不同值。例如,如果所报告的第一更新阈值基准是2%,则第一 0S145可以将第一电池基准阈值从4%改变为2%,因此允许第一 0S145延迟进入休眠状态的时间,直到电池130的实际剩余电池容量或第一修改剩余电池容量被报告为小于2%。
[0026]模块141至143可以连续监控实际剩余电池容量和所述参数,以动态地改变第一修改剩余电池容量和第一更新阈值基准中的至少一个。结合图3更详细地解释模块141至143的操作。
[0027]进一步,如果第一 0S145空闲一阈值时间段,则一旦从用户或第一 0S145接收到睡眠命令,第一 0S145也可以进入睡眠状态。除了诸如第一存储器120的易失性存储器可以保持供电之外,睡眠状态可以类似于休眠状态。如果在睡眠状态期间电池130的实际剩余电池容量变低,则第一 0S145可能需保存如果计算设备100断电为关闭状态将会丢失的临时数据,诸如第一存储器120的内容。然而,第一 0S145可能不具有在睡眠状态期间保存临时数据的能力,也不具有直接转换为休眠以保存临时数据的能力。相反,0S145在进入休眠状态之前可以从睡眠状态转换为活动状态。
[0028]因此,0S145不会进入睡眠状态,除非电池130的实际剩余电池容量足以从睡眠状态唤醒并转换为休眠状态。因此,在这种情况下,如果接口模块141接收到睡眠命令,并且第一修改剩余电池容量大于或等于第一电池基准阈值,则第一 0S145可以进入睡眠状态。基准模块143可以将第一修改剩余电池容量设定为使得电池130的储备足以为第一 0S145在进入休眠状态之前进入睡眠状态并从睡眠状态唤醒供电。
[0029]虽然图1示出模块141至143和第一 0S145被存储在单个存储器位置,诸如第二存储器140,但是实施例并不限于此。例如,模块141至143可以被存储在与第二存储器140分立的存储器中或存储在第二存储器140的物理或逻辑的分立分区中。
[0030]图2是将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一操作系统145,并且将第二修改剩余电池容量和第二更新阈值基准中的至少一个报告给第二操作系统230的系统200的示例框图。图2的系统200包括类似于图1A的计算设备100的部件。例如,系统200具有包括处理器110、第一存储器120、电池130和第二存储器140的硬件210。进一步,系统200包括接口模块141、监控模块142、基准模块143和第一0S145。然而,系统200还包括第二 0S230和包括模块141至143的管理程序220。虽然管理程序220以及第一和第二 0S145和230被示为与硬件210分开,但是实施例还可以包括处于诸如第二存储器140的硬件210内部的管理程序220以及第一和第二 0S145和230。
[0031]第一和第二 0S145和230可以是相同类型的OS,或者各自可以是不同类型的OS,诸如Windows 0S> Linux 0S> Unix OS等中的任一个。另外,第一和第二 0S145和230中的每一个都可以分配给一个或多个不同用户。例如,硬件210可以是服务器,其中第一 0S145被分配给第一用户,并且第二 0S230被分配给第二用户。
[0032]在该实施例中,模块141至143可以是允许硬件210运行多个OS的软件类型的部分,此处第一 0S145和第二 0S230可以是由管理程序220管理的虚拟机。管理程序220可以在诸如第一存储器120和电池130的硬件210与诸如第一 0S145和/或第二 0S230的虚拟机之间形成联系。管理程序220可以包括允许多个OS作为来宾同时在诸如硬件210的主机上运行的任意类型的硬件虚拟化技术,或者管理程序可以是OS本身。管理程序220的功能可以是灵活的,且根据用户或制造商的指定来确定。例如,管理程序220可以诸如经由管理程序220的进程启动并监控第一 0S145和/或第二 0S230。
[0033]类似于图1,管理程序220可以将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一 0S145。另外,管理程序220可以将第二修改剩余电池容量和第二更新阈值基准中的至少一个报告给第二 OS230。如果第二修改剩余电池容量小于第二 OS的第二电池基准阈值,则第二 0S230进入休眠状态。进一步,第二 OS基于第二更新阈值基准改变第二电池基准阈值。
[0034]当存在同时运行在硬件210上的诸如第一 0S145和第二 0S230的多个OS时,如果第一 0S145和第二 0S230中的一个不进入休眠状态,则硬件210的所有部件不会进入休眠状态。相反,例如,管理程序220可以确定由于第一 0S145和第二 0S230中的至少一个进入休眠状态需对硬件210中的哪个部件进行访问和/或断电。例如,在第一 0S145进入休眠状态时,管理程序220可以允许第一存储器120的涉及第一 0S145的内容被保存在第二存储器140中。然而,如果第二 0S230不进入休眠状态,则管理程序220可以保留第一存储器120中涉及第二 0S230的内容。
[0035]第一 0S145和第二 0S230中的一个可能没有意识到电池130正被第一 0S145和第二 0S230中的另一个分享。管理程序220可以将第一和第二修改剩余电池容量设定为在第一 0S145和第二 0S230之间分配电池130的实际剩余电池容量。例如,经由基准模块143,管理程序220可以将电池130的实际剩余电池容量在第一和第二修改剩余电池容量之间平均分开。可替代地,管理程序220可以监控诸如第一和第二 0S145和230中至少一个的活动率或功耗之类的参数,以帮助设定第一和第二修改剩余电池容量和/或第一和第二更新阈值基准。将结合图5A和5B更详细地解释模块141至143的关于诸如第一和第二 0S145和230的多个OS的操作。进一步,硬件210的实施例还可以包括比实施方式中所描述的更多或更少的虚拟机。
[0036]图3是包括用于将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一 OS的指令的计算设备300的示例框图。在图3的实施例中,计算设备300包括处理器302、电池306以及包括指令312、314、316和318的机器可读存储介质310,指令312、314,316和318用于将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一 OS (未不出)。
[0037]计算设备300可以是例如芯片组、笔记本电脑、平板计算设备、便携式阅读设备、无线邮件设备、移动电话或能够执行指令312、314、316和318的任意其他设备。在某些示例中,计算设备300可以包括或被连接至附加的部件,诸如存储器、传感器、显示器等。例如,计算设备300可以包括第一存储器(未示出)和第二存储器(未示出),以存储一个或多个OS。
[0038]处理器302可以是至少一个中央处理单元(CPU)、至少一个基于半导体的微处理器、至少一个图形处理单元(GPU)、其他适用于检索并执行存储在机器可读存储介质310中的指令的硬件设备或其组合。处理器302可以取出、解码并执行指令312、314、316和318,以实现第一修改剩余电池容量和第一更新阈值基准中的至少一个的设定以及向第一 0S145的报告。作为替代例或除了检索并执行指令之外,处理器302可以包括包括用于执行指令312、314、316和318的功能的多个电子部件的至少一个集成电路(1C)、其他控制逻辑、其他电子电路或其组合。
[0039]机器可读存储介质310可以是任意电子、磁性、光学或包含或存储可执行指令的其他物理存储设备。因此,机器可读存储介质310可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPR0M)、存储驱动器、光盘只读储存器(⑶-ROM)等。同样地,机器可读存储介质310可以是非临时性的。如下详细描述,机器可读存储介质310可以使用一系列可执行指令编码,用于设定并向第一 OS报告第一修改剩余电池容量和第一更新阈值基准中的至少一个。
[0040]另外,指令312、314、316和318在被处理器执行(例如,经由处理器的一个处理元件或多处理元件)时可以使处理器执行过程,诸如图4或图5A和5B的过程。例如,确定指令312可以被处理器302执行以从由电池306供电的计算设备300上运行的第一 OS确定第一电池基准阈值。监控指令314可以被处理器302执行以监控电池306的实际剩余电池容量和与计算设备300为第一 OS转换为休眠状态需汲取的电力有关的参数。该参数可以随着计算设备300的操作而改变。
[0041 ] 延长指令316可以被处理器302执行以通过设定第一修改剩余电池容量和第一更新阈值基准中的至少一个来延长第一 OS进入休眠状态之前的时间,第一修改剩余电池容量基于确定的第一电池基准阈值、监控的实际剩余电池容量以及所述参数而设定,并且第一更新阈值基准基于所述参数而设定。报告指令318可以被处理器302执行以将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一 OS,如果第一修改剩余电池容量小于第一电池基准阈值,则第一 OS进入休眠状态,并且第一 OS基于第一更新阈值基准改变第一电池基准阈值。
[0042]如结合图5A和5B更详细的描述,机器可读存储介质310还可以包括用于确定并报告针对第二 OS的第二修改剩余电池容量和第二更新阈值基准中的至少一个的指令(未示出)。
[0043]图4是将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一OS的方法400的示例流程图。虽然执行以下关于计算设备100描述的方法400,但是也可以使用执行方法400的其他适合部件,诸如系统200或设备300。另外,执行方法400的部件可以分散在多个设备(例如,与输入和输出设备通信的处理设备)中。在某些情况下,协作的多个设备可以被认为是执行方法400的单个设备。方法400可以以存储在诸如存储介质310的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实现。
[0044]计算设备100从由电池130供电的计算设备100上运行的第一 0S145接收第一电池基准阈值。计算设备100还确定电池130的实际剩余电池容量。在块410,计算设备100监控与如果运行在计算设备上的第一 OS进入休眠状态则计算设备100需汲取的电力有关的参数,该参数随着计算设备100的操作而改变。可以以不同的顺序和/或同时执行这些块。
[0045]在块420,计算设备100基于参数设定第一修改剩余电池容量和第一更新阈值基准中的至少一个。第一修改剩余电池容量可以进一步基于第一电池基准阈值和实际剩余电池容量而设定。在块430,计算设备100将取代实际剩余电池容量的第一修改剩余电池容量以及替代第一电池基准阈值的第一更新阈值基准中的至少一个报告给第一 0S145。如果所报告的第一修改剩余电池容量或实际剩余电池容量小于第一电池基准阈值,则第一 0S145进入休眠状态,并且第一 0S145基于第一更新阈值基准而改变第一电池基准阈值。进一步,如果第一 0S145接收到睡眠命令,并且所报告的第一修改剩余电池容量或实际剩余电池容量大于或等于第一电池基准阈值,则第一 0S145进入睡眠状态。正如上面所指出的,诸如在计算设备100已经报告第一更新阈值基准时,计算设备100可以报告实际剩余电池容量而不是第一修改剩余电池容量。
[0046]虽然计算设备100设定第一修改剩余电池容量以延长第一 0S145进入休眠状态之前的时间,但是计算设备100还将第一修改剩余电池容量设定为使得电池130的储备足以使第一 0S145在进入休眠状态之前进入睡眠状态并从睡眠状态唤醒而供电。例如,计算设备100可以监控参数,并确定在电池130仅有2%的实际剩余电池容量的情况下,计算设备100可以安全地转换为休眠状态。然而,第一 0S145的第一电池基准阈值可以是5%。因此,为了最大化或延长第一 0S145进入休眠状态之前的时间,计算设备100可以按照比实际剩余电池容量高3%来报告第一修改剩余电池容量。因此,第一 0S145将仅仅在实际剩余电池容量是2%而不是5%时进入休眠状态。可替代地或另外地,计算设备100可以设定第一更新阈值基准为2%。然后,第一 0S145—旦接收到所报告的第一更新阈值基准,则可以将第一电池基准阈值改变为2%。
[0047]在一个实施例中,监控参数可以包括监控需从存储器保存的信息量,计算设备100基于需保存的信息量,将第一修改剩余电池容量设定为相对于实际剩余电池容量而改变。例如,在块410,计算设备100可以监控在进入休眠状态之前需从第一存储器120保存到第二存储器140的信息。在这种情况下,计算设备100可以估计或确定保存信息所需的电量,诸如通过确定在将信息从第一存储器120转移至第二存储器140时,第一和第二存储器120和140以及处理器110需汲取的电量。需存储的信息量越大,可能要求的电量越大。
[0048]计算设备100还可以确定与计算设备100在进入休眠状态之前需汲取的电力有关的其他类型的参数,如下所解释。由这些不同参数确定的需汲取的电力可以加在一起以确定使第一 0S145进入休眠状态的最小实际剩余电池容量。接下来,计算设备100可以将最小实际剩余电池容量与第一 0S145的第一电池基准阈值相比较。在块420,如果最小实际剩余电池容量小于第一电池基准阈值,则计算设备100可以将第一修改剩余电池容量设定为大于电池130的实际剩余电池容量,和/或将第一更新阈值基准设定为可以小于第一电池基准阈值的最小实际剩余电池容量,以延迟计算设备100进入休眠状态之前的时间。例如,在需从第一存储器120保存到第二存储器140的信息量较少的情况下,最小实际剩余电池容量可以更小。
[0049]存储于第一存储器120的信息与所安装存储器的物理存储量(诸如第一存储器120的存储容量)无关,并且通常小于所安装存储器的物理存储量。第一 0S145和/或第二0S230可以区分存储于第一存储器120的几种类型的信息,诸如硬件储备、在用、修改、待用以及自由型的信息。硬件储备型信息可以被第一和第二 0S145和230中的至少一个的驱动器动态地使用,以存储系统200的部件的瞬时背景。在用型信息可以是从诸如第二存储器140的另一存储器取出的只读数据的缓存。修改型信息可以表示用户数据,诸如被用户所用的应用程序修改但尚未存储回诸如第二存储器140的另一个存储器的数据。待用型信息可以推测地表示诸如第二存储器140的另一个存储器的取出位置,取出位置已经被写入第一存储器120以帮助更快载入应用程序。自由型信息可以表示第一存储器120的未使用或空闲部分。
[0050]即将进入休眠状态的OS (诸如第一或第二 0S145或230)的待用型和自由型信息,可以被系统200丢弃且不保存在第二存储器140中。硬件储备型信息中的至少一些也可以根据第一 0S145和第二 0S230中的一个或两个即将进入休眠状态而被丢弃。在用型信息还可以表示需保存到第二存储器140的冗余型信息,并且修改型信息还可以表示需保存到第二存储器140的非冗余型信息。
[0051]进一步,需保存到第二存储器140的冗余型信息还可以包括第一和第二 0S145和230之间的任意复制信息。例如如果第一和第二 0S145和230是相同类型的OS或其实例,则硬件储备型、在用型或甚至可能的修改型信息可以在第一和第二 0S145和230之间复制。
[0052]在块410中可以被计算设备100监控的第二示例参数包括需保存的冗余或非冗余信息的优先级。优先级可以指信息被保存的顺序,具有较高优先级的信息在具有较低优先级的信息之前被保存。如上所指出,冗余型信息可以包括从第二存储器140中取出的存储在第一存储器120中的只读数据。正因如此,会存在存储在第一和第二存储器120和140上的冗余型信息的副本。非冗余信息可以是只存储在第一存储器120上的数据,诸如被硬件、应用程序、用户等修改或生成的数据。
[0053]因此,如果计算设备100在进入休眠状态之前不能存储全部非冗余信息,诸如如果电池130事先耗尽,则信息将会丢失。另一方面,如果计算设备100在进入休眠或关机状态之前不能存储全部冗余信息,则信息不会丢失。因此,在块420,计算设备100可以进一步基于优先级比冗余型信息更高的非冗余型信息的量或百分比,将第一修改剩余电池容量设定为相对于实际剩余电池容量而改变和/或设定第一更新阈值基准。例如,如上解释,假设最小实际剩余电池容量加起来小于第一电池基准阈值,那么如果在冗余型信息之前保存全部或大部分非冗余型信息,则计算设备100可以将第一修改剩余电池容量设定为大于实际剩余电池容量和/或将第一更新阈值基准设定为小于第一电池基准阈值。
[0054]在块410中可以被计算设备100监控的第三示例参数包括确定电池130的使用年限、电量和再生循环数中的至少一个。当电池使用年限和/或其再生循环数增加时,其放电结束时的拐点(knee)可能变得更不可预测。放电结束时的拐点可以指在实际剩余电池容量接近于零时电池的电压水平快速崩溃的情况下的响应。再生循环可以指电池的充电和放电。不同类型的电池还可以具有不同的电量。例如,十二芯电池可以存储的电力比六芯电池多。进一步,电池的电量还可以随着电池的使用年限或再生循环数的增加而减小。作为上述的结果,计算设备100可以储备电池的较大的实际剩余电池容量以增加成功转换至休眠状态的可能性。
[0055]因此,在块420,计算设备100可以基于电池130的使用年限、电量和再生循环数中的至少一个,将第一修改剩余电池容量设定为相对于实际剩余电池容量而改变和/或设定第一更新阈值基准。例如,如上解释,假设最小实际剩余电池容量大于第一电池基准阈值,那么当电池的使用年限增加、电池的电量减小和电池再生循环数增加中的至少一种发生时,计算设备100可以将第一修改剩余电池容量设定为小于实际剩余电池容量和/或将第一更新阈值基准设定为大于第一电池基准阈值。
[0056]在块410中可以被计算设备100监控的第四示例参数包括确定计算设备100的部件的温度、处理速度和用电量中的至少一个。用电量基于在计算设备100上运行的诸如第一 0S145或其应用程序的软件的复杂性和计算设备100的使用模式中的至少一个而改变。例如,如果用户不怎么使用或不理会计算设备100,则部件的用电量可能比积极使用计算设备的情况低。计算设备100的部件可以包括例如处理器110。
[0057]计算设备100的一个或多个部件的温度可以直接和/或间接影响计算设备100进入休眠状态所需的时间和电能。例如,与较低温度相比较,较高的温度可以导致计算设备100在操作期间直接消耗更多的功率。进一步,如果处理器100的处理速度被降低或限制以防止过热,则更高的温度可以间接导致进入休眠状态的时间更长。限制处理器110可能不仅导致处理器100更慢的性能,而且由于进入休眠状态的时间更长而导致更大的功耗。
[0058]因此,在块420,计算设备100可以基于计算设备100的部件的温度、处理速度和用电量中的至少一个,将第一修改剩余电池容量设定为相对于实际剩余电池容量而改变和/或设定第一更新阈值基准。例如,如上解释,假设最小实际剩余电池容量大于第一电池基准阈值,那么当温度增加、处理速度降低和用电量增加中的至少一种发生时,计算设备100可以将第一修改剩余电池容量设定为小于实际剩余电池容量和/或将第一更新阈值基准设定为大于第一电池基准阈值。
[0059]在块410中可以被计算设备100监控的第五参数包括确定使连接至计算设备100的外围设备(未示出)断电所需的时间和功耗中的至少一个。断电所需的时间可以包括保存外围设备的信息的时间。外围设备可以包括附接至计算设备100而不是计算设备100的一部分的设备,诸如存储设备、打印机、数码相机等。例如,外围设备可以是存储在第一 0S145进入休眠状态之前需保存至第二存储器140的修改的用户数据的闪存驱动器。
[0060]因此,在块420,计算设备100可以基于使外围设备断电所需的时间和功耗中的至少一个,将第一修改剩余电池容量设定为相对于实际剩余电池容量而改变和/或将第一更新阈值设定为小于第一电池基准阈值。例如,如上解释,假设最小实际剩余电池容量大于第一电池基准阈值,那么当使外围设备断电所需的时间和功耗中的至少一个增加时,计算设备100可以将第一修改剩余电池容量设定为小于实际剩余电池容量和/或将第一更新阈值设定为大于第一电池基准阈值。
[0061]在实施例中,计算设备100可以监控上面所列一个或多个参数的任意组合,和/或与进入休眠状态需汲取的电力有关的其他参数。例如,由这些参数中的任一个汲取的电力可以加在一起,来确定进入休眠状态的最小实际剩余电池容量。如果最小实际剩余电池容量小于第一电池基准阈值,则第一修改剩余电池容量可以被设定为小于电池的实际剩余电池容量,以延迟第一 0S145进入休眠状态之前的时间。相反地,如果最小实际剩余电池容量大于第一电池基准阈值,则第一修改剩余电池容量可以被设定为大于电池的实际剩余电池容量,以确保第一 0S145能够完成到休眠状态的转换。
[0062]图5A和5B是将第一和第二修改剩余电量以及第一和第二更新阈值基准中的至少一个报告给第一和第二 0S145和230的方法500的示例流程图。虽然以下关于系统200描述方法500的执行,但是也可以使用执行方法500的其他适合部件,诸如计算设备100和300。另外,执行方法500的部件可以分散在多个设备(例如,与输入和输出设备通信的处理设备)中。在某些情况下,协作的多个设备可以被认为是执行方法500的单个设备。方法500可以以存储在诸如存储介质310的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实现。
[0063]如上解释,在图5A和5B的方法500中,系统200可以包括管理程序220以执行诸如第一 0S145和第二 0S230的多个虚拟机。在这种情况下,在块510,管理程序220从运行在由电池130供电的系统200上的第一 0S145接收第一电池基准阈值,并从运行在由电池130供电的系统200上的第二 0S230接收第二电池基准阈值。在块520,管理程序220确定给系统200供电的电池130的实际剩余电池容量。在块530,管理程序220监控包括第一OS145的第一虚拟机和包括第二 0S230的第二虚拟机的参数。第一 OS145的参数可以是系统200为使第一 OS145进入休眠状态需汲取的电力。第二 0S230的参数可以是系统200为使第二 OS145进入休眠状态需汲取的电力。这些参数随着系统200的操作而改变。
[0064]第一 0S145和第二 0S230可能不会意识到彼此的存在。因此,第一和第二电池基准阈值可能不会考虑到电池130的全部的实际剩余电池容量不会对第一和第二 0S145和230中的每一个都可用。因此,系统200可以将电池130的实际剩余电池容量在第一和第二 0S145和230之间分开。为了更好地确定怎样分开实际剩余电池容量,在块530的监控第一 OS的参数和第二 OS的参数还可以包括监控第一 0S145和第二 0S230的运行时间百分比和用户活动率中的至少一个。
[0065]运行时间百分比可以指OS运行或活动的时间的百分比。用户活动率可以指针对该OS的用户活动的量或百分比。例如,第一 0S145可以经常运行或活动,诸如时间的80%,同时第二 0S230可以较少运行或活动,诸如时间的20%。在这种情况下,当在以下块540设定第一修改剩余电池容量时,系统200可以给第一 0S145分配实际剩余电池容量的较大部分。块510、520和530可以以不同的顺序和/或同时执行。进一步,如果系统200不报告第一或第二修改剩余电池容量,则块510和520可以省略。
[0066]图5A和5B的第一和第二修改剩余电池容量可以与涉及图4的第一修改剩余电池容量的描述类似地设定。图5A和5B的第一和第二更新阈值基准也可以与涉及图4的第一更新阈值基准的描述类似地设定。例如,在块540,系统200通过设定第一修改剩余电池容量和第一更新阈值基准中的至少一个,延长第一 0S145进入休眠状态之前的时间。第一修改剩余电池容量基于第一电池基准阈值、实际剩余电池容量和第一 0S145的参数,并且第一更新阈值基准基于第一 0S145的参数。在块550,系统200通过设定第二修改剩余电池容量和第二更新阈值基准中的至少一个,延长第二 0S230进入休眠状态之前的时间。第二修改剩余电池容量基于第二电池基准阈值、实际剩余电池容量和第二 0S230的参数,并且第一更新阈值基准基于第二 0S230的参数。
[0067]当在块540和550确定第一和第二修改剩余电池容量时,系统200基于块530中的监控的运行时间百分比和用户活动率,将确定的实际剩余电池容量分为第一电力部分和第二电力部分。基于接收的第二电池基准阈值以及第一和第二电力部分中的一个,设定第二修改剩余电池容量,并且基于第一和第二电力部分中的另一个设定第一修改剩余电池容量。例如,如果第一 0S145的运行时间百分比和用户活动率中的至少一个比第二 0S230大,则系统200可以将第一修改剩余电池容量设定为大于第二修改剩余电池容量。最终,第二修改剩余电池容量可以比第一修改剩余电池容量达到第一 0S145的第一电池基准阈值更快地达到第二 0S230的第二电池基准阈值,这允许第一 0S145使用实际剩余电池容量的更大份额。例如,如果实际剩余电池容量为50%,则计算设备100可以将第一修改剩余电池容量报告为30%,并且将第二修改剩余电池容量报告为20%。
[0068]在另一方面,如果第二 0S230的运行时间百分比和用户活动率中的至少一个比第一 0S145大,则系统200可以将第二修改剩余电池容量设定为大于第一修改剩余电池容量。当在块540和550确定第一和第二更新阈值基准时,系统200可以考虑块430中监控的运行百分比和用户活动率。例如,如果第一 0S145的运行时间百分比和用户活动率中的至少一个比第二 0S230大,则系统200可以将第一更新阈值基准设定为小于第二更新阈值基准。如果第二0S230的运行时间百分比和用户活动率中的至少一个比第一OS145大,则系统200
可以将第二更新阈值基准设定为小于第一更新阈值基准。
[0069]然后,在块560,系统200将第一修改剩余电池容量和第一更新阈值基准中的至少一个报告给第一 0S145,并且将第二修改剩余电池容量和第二更新阈值基准中的至少一个报告给第二 0S230。类似于第一 0S145,如果第二修改剩余电池容量小于第二电池基准阈值,则第二 0S230进入休眠状态,并且如果第二 0S230接收到睡眠命令且第二修改剩余电池容量大于或等于第二电池基准阈值,则第二 0S230进入睡眠状态。第二 0S230基于第二更新阈值基准改变第二电池基准阈值。
[0070]通过在第一和第二 0S145和230之间分配电池130的实际剩余电池容量,系统200阻止或减少第一和第二 0S145和230缺少转换为休眠状态的足够电力的可能性。进一步,通过向第一和第二 0S145和230提供不同的修改剩余电池容量,系统200阻止或减少第一和第二 0S145和230试图同时将信息从第一存储器120写入第二存储器140的相同位置的可能性。
[0071]在块570,系统200基于块530中的监控确定第一和第二警告。第一和第二警告可以进一步基于块510和520的接收和确定而确定。然后,在块580,系统200将第一警告值发送至第一 0S145,并且在块590,系统200将第二警告值发送至第二 0S230。第一警告值用于指示第一 0S145警告用户电池130低时的实际剩余电池容量,并且第二警告值用于指示第二 0S230警告用户电池130低时的实际剩余电池容量。例如,如果第一警告值为10%,则在报告的第一修改剩余电池容量或实际剩余电池容量达到10%时,第一 0S145可以给用户显示电池130的实际剩余电池容量低的警告。如果警告值没有随着块540、550和560而同时改变和/或执行,则块570、580和590可以省略。
[0072]使用上面的方法,计算设备进入休眠状态之前的时间可以被延迟,并且计算设备处于活动状态的时间可以被延长。例如,可以监控与需保存的存储量、计算设备的使用年限和状况、计算设备的部件的速度和温度、在计算设备上运行的软件的复杂性、电池的使用年限和容量等有关的参数。然后,所述参数可以被用于确定修改的剩余电池容量相对于电池的实际剩余电池容量而改变的量,和/或确定更新的阈值基准。修改的剩余电池容量可以报告给OS,如果修改的剩余电池容量小于电池基准阈值,则该OS将修改的剩余电池容量解释为电池的实际剩余电池容量,并进入休眠状态。更新的阈值基准可以被发送至OS以改变电池基准阈值的值。因此,发送修改的剩余电池容量和/或更新的阈值基准可以延迟OS转换为休眠状态之前的时间量。
【权利要求】
1.一种用于指示电池电力的方法,包括: 监控与如果在计算设备上运行的第一操作系统(OS)进入休眠状态则所述计算设备需汲取的电力有关的参数,所述参数随着所述计算设备的操作而改变; 基于监控的参数设定第一修改剩余电池容量和第一更新阈值基准中的至少一个;并且将取代实际剩余电池容量的所述第一修改剩余电池容量和替代所述第一电池基准阈值的第一更新阈值基准中的至少一个报告给第一 OS。
2.根据权利要求1所述的方法,进一步包括: 从所述第一 OS接收所述第一电池基准阈值;并且 确定为所述计算设备供电的电池的实际剩余电池容量,其中 所述设定基于接收的第一电池基准阈值和确定的实际剩余电池容量设定所述第一修改剩余电池容量。
3.根据权利要求2所述的方法,其中: 如果所述第一 OS接收到睡眠命令,则所述第一 OS将进入睡眠状态,并且所述设定将所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个设定为,使电池的储备足以为所述第一 OS在进入所述休眠状态之前进入睡眠状态并从所述睡眠状态唤醒供电。
4.根据权利要求2所述的方法,进一步包括: 监控存储器中需保存的信息量,并且 基于所述需保存的信息量,设定所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个。
5.根据权利要求4所述的方法,进一步包括: 监控所述需保存的信息的冗余和非冗余类型的优先级,并且 基于优先级大于冗余型信息的非冗余型信息的量,设定所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个。
6.根据权利要求2所述的方法,进一步包括: 确定电池的使用年限、电量和再生循环数中的至少一个,并且基于电池的使用年限、电量和再生循环数中的至少一个,设定所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个。
7.根据权利要求2所述的方法,进一步包括: 确定所述计算设备的部件的温度、处理速度和用电量中的至少一个,所述用电量基于在所述计算设备上运行的软件的复杂性和所述计算设备的使用模式中的至少一个而改变,并且 基于所述计算设备的部件的温度、处理速度和用电量中的至少一个,设定所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个。
8.根据权利要求2所述的方法,进一步包括: 确定使连接至所述计算设备的外围设备断电的时间和功耗中的至少一个,断电的时间包括保存所述外围设备的信息的时间,并且 基于使所述外围 设备断电的时间和功耗,设定所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个。
9.根据权利要求2所述的方法,进一步包括: 从在所述计算设备上运行的第二 OS接收第二电池基准阈值, 监控所述第二 OS的与所述计算设备为使所述第二 OS进入休眠状态需汲取的电力有关的参数,所述第二 OS的参数随着所述计算设备的操作而改变, 基于监控的所述第二 OS的参数,设定第二修改剩余电池容量和第二更新阈值基准中的至少一个,并且 向所述第二 OS报告取代所述实际剩余电池容量的所述第二修改剩余电池容量和替代所述第二电池基准阈值的所述第二更新阈值基准中的至少一个,如果所述第二修改剩余电池容量小于第二电池基准阈值,则所述第二 OS进入所述休眠状态,并且所述第二 OS基于所述第二更新阈值基准而改变所述第二电池基准阈值。
10.根据权利要求9所述的方法,进一步包括: 从所述第二 OS接收所述第二电池基准阈值, 确定所述第一 OS和所述第二 OS的运行时间百分比和用户活动率中的至少一个, 基于所述监控,将确定的实际剩余电池容量分为第一电力部分和第二电力部分, 基于接收的第二电池基准阈值以及所述第一电力部分和所述第二电力部分中的一个,设定所述第二修改剩余电池容量,并且 基于所述第一电力部分和 所述第二电力部分中的另一个,设定所述第一修改剩余电池容量。
11.根据权利要求10所述的方法,进一步包括: 如果所述第一 OS的运行时间百分比和用户活动率中的至少一个比所述第二OS大,则将所述第一修改剩余电池容量设定为大于所述第二修改剩余电池容量, 如果所述第二 OS的运行时间百分比和用户活动率中的至少一个比所述第一 OS大,则将所述第二修改剩余电池容量设定为大于所述第一修改剩余电池容量, 如果所述第一 OS的运行时间百分比和用户活动率中的至少一个比所述第二 OS大,则将所述第一更新阈值基准设定为小于所述第二更新阈值基准,并且 如果所述第二 OS的运行时间百分比和用户活动率中的至少一个比所述第一 OS大,则将所述第二更新阈值基准设定为小于所述第一更新阈值基准。
12.根据权利要求10所述的方法,进一步包括: 基于所述监控,确定第一警告和第二警告; 将第一警告值发送至所述第一 OS,所述第一警告值用于指示所述第一 OS警告用户电池低时的实际剩余电池容量;并且 将第二警告值发送至所述第二 OS,所述第二警告值用于指示所述第二 OS警告用户电池低时的实际剩余电池容量。
13.一种计算设备,包括: 接口模块,用于从在由电池供电的计算设备上运行的第一操作系统(OS)接收第一电池基准阈值;监控模块,用于监控电池的实际剩余电池容量以及与所述计算设备为使所述第一 OS进入休眠状态需汲取的电力有关的参数,所述参数随着所述计算设备的操作而改变;以及基准模块,用于设定第一更新阈值基准,所述第一更新阈值基准基于所述参数设定,其中 所述接口模块将所述第一更新阈值基准报告给所述第一 OS,所述第一 OS在所述实际剩余电池容量小于所述第一电池基准阈值的情况下进入休眠状态,并且所述第一 OS基于所述第一更新阈值基准而改变所述第一电池基准阈值。
14.根据权利要求12所述的计算设备,进一步包括: 第一存储器,用于存储进入休眠状态之前需保存的信息; 第二存储器;以及 处理器,用于将所述信息存储至所述第二存储器,其中 由所述监控模块监控的参数涉及所述信息的大小和类型、所述第一存储器和所述第二存储器中的至少一个的速度和可靠性、所述处理器的速度和温度以及电池的容量和使用年限中的至少一个。
15.一种非临时性计算机可读存储介质,用于存储在被设备的处理器执行时使所述处理器执行以下操作的指令: 从在由电池供电的设备上运行的第一操作系统(OS)确定第一电池基准阈值; 监控电池的实际剩余电池容量和与所述计算设备为使所述第一 OS转换为休眠状态需汲取的电力有关的参数,所述参数随着所述计算设备的操作而改变; 设定第一修改剩余 电池容量和第一更新阈值基准中的至少一个,所述第一修改剩余电池容量基于所确定的第一电池基准阈值、所监控的实际剩余电池容量和所述参数而设定,并且所述第一更新阈值基准基于所述参数而设定;并且 将所述第一修改剩余电池容量和所述第一更新阈值基准中的至少一个报告给所述第一 OS,所述第一 OS在 所述第一修改剩余电池容量小于所述第一电池基准阈值的情况下进入休眠状态,并且所述第一 OS基于所述第一更新阈值基准改变所述第一电池基准阈值。
【文档编号】G06F9/22GK103890693SQ201180074265
【公开日】2014年6月25日 申请日期:2011年10月28日 优先权日:2011年10月28日
【发明者】基思·A·罗杰斯, 利·沃伦·阿特金森, 里卡多·马克斯, 克雷格·A·沃尔拉思 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1