具有电池优化的移动设备操作的制作方法

文档序号:6495579阅读:95来源:国知局
具有电池优化的移动设备操作的制作方法
【专利摘要】本发明提供了用于节省设备中的电池电量的技术。使一个或多个可延迟任务排队以供稍后执行。检测针对设备的电池的后续充电事件的发起。排队的可延迟任务被允许在该充电事件期间执行。例如,排队的可延迟任务可被允许在诸如通过参考移动设备的充电简档来预测充电事件是长持续时间充电事件的情况下执行。以此方式,在设备被使用且未连接到电池充电器时节省电池电量。
【专利说明】具有电池优化的移动设备操作
[0001]背景
[0002]有时也被称为手持式设备的移动设备是为了被人们携带和/或装袋而调整大小的电子设备。移动设备通常包括以下各项中的一个或多个:快速且有能力的处理器、丰富但较小的显示器、无线通信能力、触摸屏、减小的键盘和/或实现设备移动性的其它功能部件。这类移动设备也往往包含可充电电池来供电。
[0003]具有可充电电池的移动设备在递送丰富体验方面具有恒定的张力,同时提供具有足够长的电池寿命来使得这些移动设备能够在使用中(例如,在未连接到电池充电器时)传递它们的价值。移动设备的用户通常期望携带移动设备,并且不想要留下移动设备充电。然而,诸如安全功能(例如,病毒扫描、备份功能等)等某些移动设备功能能够极大地使用移动设备的处理资源,并且可因此在电池使用方面是昂贵的。结果,这类设备功能可限制移动设备的便携性。
[0004]概述
[0005]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0006]提供了用于节省包括非移动和移动设备的电池供电设备中的电池电量的方法、系统和计算机程序产品。通过选择性地延迟被确定为是可延迟的任务来节省这类设备中的电池电量。延迟这些任务直到发生可支持被延迟的任务的充电事件。当发生这一充电事件时,允许被延迟的任务执行。以此方式,在设备未连接到电池充电器时减少电池使用,从而实现提闻的设备移动性。
[0007]在一个示例方法实现中,使一个或多个可延迟任务排队以供稍后执行。检测排队之后的针对移动设备的电池的充电事件的发起。排队的可延迟任务被允许在该充电事件期间执行。例如,排队的可延迟任务可被允许在预测充电事件是长持续时间充电事件(这可通过参考移动设备的充电简档或通过其它技术来确定)的情况下执行。
[0008]在一示例系统实现中,在移动设备中提供任务调度器。该任务调度器包括任务排队模块、充电监视器和队列启用器模块。任务排队模块被配置成使至少一个可延迟任务排队以供稍后执行。充电监视器被配置成检测使可延迟任务排队之后的针对移动设备的电池的充电事件的发起。队列启用器模块被配置成允许可延迟任务在充电事件期间执行。
[0009]本文还描述了用于通过延迟任务的执行直到电池充电时间来节省移动设备的电池电量以及用于本文描述的附加实施例的计算机程序产品。
[0010]下面将参考各个附图,详细描述本发明的进一步特点和优点,以及本发明的各实施例的结构和操作。值得注意的是,本发明不仅限于此处所描述的特定实施例。本文呈现这些实施例仅用于说明性的用途。基于本文所包含的描述,其它实施例对于相关领域的技术人员将是显而易见的。
[0011]附图简述
[0012]结合到本说明书并构成本说明书的一部分的附图示出了本发明,且与描述一起,进一步用于说明本发明的原理,并允许那些相关领域技术人员实施和使用本发明。
[0013]图1示出了根据一示例实施例的移动设备环境的框图。
[0014]图2示出了根据一示例实施例的提供移动设备中的用于调度设备任务以获得更高效的电池使用的过程的流程图。
[0015]图3示出了根据一示例实施例的任务调度器的框图。
[0016]图4示出了根据一示例实施例的设备操作逻辑的框图。
[0017]图5示出了根据一示例实施例的用于预测充电事件是否适于执行被延迟的任务的过程。
[0018]图6示出了根据一示例实施例的包括充电事件分析器的队列启用器模块的框图。
[0019]图7示出了根据一示例实施例的被配置成生成充电简档的队列启用器模块的框图。
[0020]图8示出了根据一实施例的表示示例电池充电简档的曲线。
[0021]图9示出了根据一示例实施例的提供用于处理不可延迟任务的过程的流程图。
[0022]图10示出了根据一示例实施例的提供用于从延迟状态中移除任务的过程的流程图。
[0023]图11示出了可用于实现本发明的各实施例的示例计算机的框图。
[0024]当结合其中相同的附图标记标识对应的元素的附图时,本发明的特征和优点将从以下阐述的详细描述中变得更加显而易见。在附图中,相同的参考标号一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次出现的附图由对应的参考标号中最左侧的数字指示。
[0025]详细描述
[0026]1.引言
[0027]本说明书公开了包括本发明的各特征的一个或多个实施例。所公开的实施例只例示了本发明。本发明的范围不仅限于所公开的实施例。本发明由所附的权利要求进行限定。
[0028]说明书中对一个“实施例”、“实施例”、“示例实施例”等等的引用表示所描述的实施例可包括特定特征、结构或特性,但是,每一个实施例可不必包括该特定特征、结构,或特征。此外,这些短语不一定指相同的实施例。此外,当关于某一实施例描述特定特征、结构或特性时,不管是否被明确描述,关于其他实施例来实现该特征、结构或特性被认为是在本领域技术人员的知识范围内。
[0029]存在许多类型的电池供电设备,包括包含电池的移动设备以及使用电池电量的固定设备。例如,移动手持式设备可包括电池,可以在移动操作期间消耗电池电量(放电),并且可以耦合到充电设备以便在停留(不移动)时为电池充电。这些和其它类型的电池供电设备的在频繁消耗电池电量(放电)时出现的操作在不知晓它们消耗的电池电量的情况下被执行,更不用说如何缓解该活动。例如,病毒扫描和/或软件更新在它们不会影响前台活动时频繁地执行,但未被配置成引起对电池寿命的最小影响。结果,设备电池可能在使用期间耗尽,并因此用户可能需要留下该设备以耦合到充电器。在某些情况下,病毒扫描可基于对病毒发作的响应、按需、在所安排的时刻等执行。这些活动通常是“可检测到的”并且无需持续运行。这些操作可以在不影响宝贵的电池电量的情况下运行。
[0030]在各个实施例中,提供了用于节省诸如移动设备和其它类型的电池供电设备等电池供电设备中的电池电量的技术。注意,尽管各实施例在此处频繁地参考移动设备来描述,但这些实施例是出于说明的目的而以此方式描述的,并非旨在被限于移动设备。各实施例还适用于其它类型的电池供电设备(例如,安全系统、控制系统等)。
[0031 ] 在各实施例中,可延迟设备操作直到设备的电池耦合到电池充电器,从而在该设备在移动或由于某种原因未耦合到电源时节省电池电量。各实施例可考虑不同的因素(包括设备的AC/DC剖析/使用)来节省电池供电设备的电池电量,并且可以在不牺牲设备功能性的情况下将设备功能(例如,安全功能等)优化成尽可能多地在该设备适当地利用充电器供电而非电池供电时出现。
[0032]例如,非实时、非抢先式安全操作和/或其它操作可以倾向于在专用/延长的充电事件/周期期间进行,并且还可倾向于在这类充电事件的末尾进行,以使得在设备比预期更早地从充电器移除的情况下能够确保设备已被充电且“受保护”。在另一示例中,文件、应用(例如“app”)和/或安装程序可被下载到移动设备并且在应用/安装程序的情况下,它们可能不被立即运行。可高速缓存对这些下载的指示,并且可以在充电器时间期间扫描所下载的文件/应用/安装程序。以此方式,即使文件/应用/安装程序在移动设备靠电池电量运行时安装,也可避免任何可选的事件化安装时扫描(evented scan-on_installs)。
[0033]在各实施例中,可使用各种因素来预见何时将发生电池充电器时间以及电池充电将可能进行多久,以考虑安全操作和/或以其它方式耗尽电池电量的其它功能花费多久来进行。因此,可预见启动安全操作和/或其它功能的时间,并利用该时间来启动这一执行。
[0034]在各实施例中,可监视设备充电的历史以预测后续充电事件。可使用该历史和/或其它因素来配置设备的充电简档,以帮助预测是否正在执行足够长的充电事件以允许被延迟的操作。充电简档可基于一个或多个因素来确定,包括用户手动输入的简档信息、对正在进行的充电历史的静态和/或动态剖析、对日历/日程安排(存储在移动设备上和/或远程地存储)的访问和参考、对移动设备正在充电API/通知的访问、电池充电容量的知识、充电速率以及当前充电水平和/或对移动设备的其它“敏感/传感”方面的使用。
[0035]例如,在一天的使用后,移动设备可被放置在用户床边的充电器上、厨房柜台上、或者车库门钥匙丢放格充电器中,以便为第二天做准备。耗尽电量的设备操作可以在移动设备正在充电(且用户正在睡觉)时被允许执行。各实施例可适用于任何用户日程安排,包括上日班的用户(这可导致晚上充电)、上夜班的用户(这可导致白天充电)和/或任何其它可能的用户日程安排。
[0036]注意,一些充电时间不足以允许执行被延迟的任务。例如,在上下班驾车时移动设备在汽车充电器上充电的时间对于执行密集的设备安全/维护操作而言可能不是合适的时间。在各实施例中,可以区分这类时间,所以不使用这些时间来执行诸如维护/安全活动等设备操作。
[0037]本发明的多个示例性实施例在以下描述。应当理解,在此提供的任何章节/子章节标题不旨在限制。本文档中描述了各实施例,并且任何类型的实施例可被包括在任何章节/子章节下。
[0038]I1.示例实施例
[0039]各实施例提供了用于节省诸如移动设备等电池供电设备的电池电量的技术。具体而言,各实施例允许延迟可延迟任务直到设备充电(例如,耦合到电池充电器)并因此具有对电量资源的更大访问权,而不是在常规使用期间(例如,在移动设备未耦合到电池充电器并因此启用移动性时)执行这些任务。这些实施例使得设备能够在电池充电周期之间使用更长时间段。在移动设备上执行的各种任务可被认为是可延迟的,包括安全操作、维护操作、文件下载/安装和其它类型的任务。
[0040]这样的实施例可在各种环境中实现。例如,图1示出了根据一示例实施例的移动设备环境100的框图。如图1所示,环境100包括计算设备102、服务器104,以及充电器106。下面描述了环境100。
[0041]移动设备102可以是任何类型的移动设备,包括移动计算机或计算设备(例如,Palm?设备、RIM Blackberry?设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、
平板计算机(例如,Apple iPad?等)、上网本等等)、移动电话(例如,蜂窝电话,智能电话,诸如 Apple iPhone、结合 Google Android? 平台的手机、结合诸如 Microsoft WindowsPhone 7i<微软操作系统的手机等)或其它类型的移动设备。移动设备102可包括一个或多个处理器和/或其它处理逻辑、可包括触摸屏的显示器、无线通信能力、减小的键盘和/或使移动设备102能够是移动的(例如,由人类用户通过手和/或口袋携带)的其它功能部件。服务器104可包括一个或多个服务器,该服务器可以是此处描述的或以其他方式已知的提供诸如文件122等文件的任何类型的计算设备。文件122可包括各种类型的文件,包括数据文件、网页、应用等。
[0042]移动设备102和服务器104通过网络108来通信地耦合。网络108可包括一个或多个通信链路和/或通信网络,诸如PAN (个域网)、LAN (局域网)、WAN (广域网)、或网络的组合,诸如因特网。可使用各种链路来将移动设备102和服务器104通信地耦合到网络108,该各种链路包括有线和/或无线链路,如IEEE802.11无线局域网(WLAN)无线链路、全球微波互联接入(W1-MAX)链路、蜂窝网络链路、无线个人区域网络(PAN)链路(例如,Bluetooth?链路)、以太网链路、USB链路等等。
[0043]充电器106是被配置成为诸如移动设备102等移动设备的电池充电的电池充电器。充电器106可以外置于移动设备102,如图1所示,或者可以部分或完全内置于移动设备102。充电器106可以耦合到电源(例如,60Hz 120V交流(AC)电源等)以接收电流,并且可将接收到的电流转换成处于恒定DC (直流)电压的充电电流。如图1所示,充电器106可通过充电线缆130将充电电流输出到移动设备102,但在一些实现中,移动设备102可包括直接连接到充电器106而无需其间的充电线缆的连接器。
[0044]如图1所示,移动设备102包括设备操作逻辑114、任务调度器116、至少一个电池118以及可选的充电模块120。设备操作逻辑114包括用于执行移动设备102中的一个或多个操作(包括安全操作、维护操作、文件下载/安装以及其它类型的任务/操作)的逻辑。设备操作逻辑114可以按各种方式被实现为执行操作,包括用硬件、软件、固件或其组合来实现。例如,设备操作逻辑114可以被实现为被配置成在一个或多个处理器中执行的计算机程序代码。或者,设备操作逻辑114可以被实现为硬件逻辑/电路。在一实施例中,设备操作逻辑114可被实现在片上系统(SoC)中。SoC可包括集成电路芯片,该集成电路芯片包括以下一个或多个:处理器(如微控制器、微处理器、数字信号处理器(DSP)等等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和/或嵌入的固件。[0045]充电118包括由允许重复充电的材料制成的一个或多个可重复充电的电池。例如,电池118可包括诸如镍镉(NiCd)或镍金属氢化物(NiMH)电池等基于镍的可重复充电的电池、诸如锂离子(L1-1on)或锂离子聚合物(L1-1on聚合物)电池等基于锂的可重复充电的电池或其它类型的可重复充电的电池。电池118中的电荷可通过施加电能来还原。在移动设备102的移动操作期间,电池118可经由直流(DC)电压来向移动设备102的各个组件供电。
[0046]充电模块120可选地存在于移动设备102中,并且当存在时提供充电器106和电池118之间的接口。或者,充电模块120可包括充电器106的部分或全部。如图1所示,充电模块120可以经由充电线缆130 (或其它连接)耦合到充电器106以便从充电器106接收充电电压/电流。充电模块120可包括调节和/或保护电路(例如,过流和/或过压保护、逆向偏置保护等),用以保护电池118和/或移动设备102免于连接到提供与电池118不兼容的电压/电流的电源。当存在时,充电模块120基于通过充电线缆130 (或其它连接)从充电器106接收到的充电电流来向电池118提供充电电流128。当充电模块120不存在时,充电器106可以直接向电池118提供充电电流128。
[0047]如图1所示,任务调度器116可以从充电模块120接收充电指示126。当充电模块120不存在时,任务调度器116可以从充电器106接收充电指示。充电指示126可以是由充电模块120或充电器106生成的、指示是否正在向电池118提供充电电流128以由此指示电池118是否正在充电的信号。由此,在一实施例中,充电指示126可以是提供充电指示的数字或模拟信号。在一实施例中,充电模块120可包括与充电电流128串联的电阻。当充电电流128正流向电池118以指示电池118正在充电时,特定电压值可以跨电阻存在,并由充电指示126提供。在其它实施例中,充电指示126可以按其它方式来指示是否正在通过充电电流128来为电池118充电,如相关领域的技术人员已知的。
[0048]任务调度器116被配置成将设备操作逻辑114中的一个或多个任务/操作调度成在电池118充电的时间段期间操作。例如,任务调度器116可被配置成允许延迟可延迟任务直到移动设备102的电池118由充电器106进行充电,并因此移动设备102具有对仅仅电池118的更多电量资源的访问权,而不是在常规使用期间(例如,在移动设备102未耦合到充电器106时)执行这些任务。
[0049]任务调度器116可生成由设备操作逻辑114接收的任务启用信号124。任务启用信号124可允许执行设备操作逻辑114中的被延迟的任务。例如,任务调度器116可以从充电指示126中确定电池118正在充电,并且作为结果,可生成任务启用信号124以允许执行被设备操作逻辑114延迟的一个或多个任务。以此方式,在电池118正在充电时执行可延迟的任务,由此在电池118未充电期间节省电池资源。任务调度器116可生成任务启用信号124以便在检测到合适的充电事件时立即启用被延迟的任务,或者可延迟生成用于启用被延迟的任务的任务启用信号124直到充电事件的后部(例如,在电池118已被充电至所需水平,如可以在充电指示126上指示的或者如可以按其它方式确定的)。
[0050]在各实施例中,任务调度器116可以按各种方式执行其功能。例如,图2示出了提供根据一示例实施例的用于调度任务以便在移动设备中获得更高的电池效率的过程的流程图200。在一实施例中,流程图200可由图1的任务调度器116来执行。流程图200以下参考图1的环境100并参考图3-8来描述。例如,图3示出了根据一示例实施例的任务调度器300的框图。图3的任务调度器300是图1的任务调度器116的示例。如图3所示,任务调度器300包括任务排队模块302、充电监视器304和队列启用器模块306。基于以下有关流程图200的讨论,其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。
[0051]流程图200开始于步骤202。在步骤202中,使至少一个可延迟任务排队以供稍后执行。例如,参考图1,设备操作逻辑114可由移动设备102的用户来请求执行任务(例如,通过该用户与移动设备102的用户接口交互)或者可被配置成出于其它原因而执行任务(例如,响应于文件下载、在预定时间、等等)。
[0052]如上所述,设备操作逻辑114可被配置成执行可延迟的各种任务。例如,图4示出了根据一示例实施例的设备操作逻辑114的框图。如图4所示,设备操作逻辑114包括安全操作逻辑402、安装程序404以及维护操作逻辑406。安全操作逻辑402、安装程序404和维护操作逻辑406各自被配置成执行移动设备102的任务,如下所述。安全操作逻辑402、安装程序404和维护操作逻辑406中的每一个都可包括可延迟任务。可延迟任务是那些不需要被立即执行的任务,因为稍后执行这些任务不会削弱移动设备102的操作,并且因为移动设备102的用户尚未请求立即执行这些任务。由此,可延迟任务可以在稍后时间(如由任务调度器300确定)执行。在各实施例中,设备操作逻辑114可包括图4所示的可包括可延迟任务的这些特征中的一个或多个,和/或可包括包含可延迟任务的另外的或替换的特征。
[0053]安全操作逻辑402包括用于执行移动设备102的一个或多个安全相关操作的逻辑。例如,如图4所示,安全操作逻辑402可包括扫描模块408、备份模块410和/或配置管理模块412。扫描模块408是被配置成对被下载到移动设备102的文件(例如,从图1中的服务器104下载的文件122)执行病毒扫描任务的病毒扫描模块。扫描模块408的可从市场上获得的示例对于相关领域的技术人员而言是已知的。备份模块410被配置成对移动设备102的存储中的文件执行到远程存储(图1未示出)的备份任务。备份模块410的可从市场上获得的示例对于相关领域的技术人员而言是已知的。配置管理模块412被配置成对移动设备102执行配置管理任务。配置管理模块412的可从市场上获得的示例对于相关领域的技术人员而言是已知的。安全操作逻辑402的其它示例任务对于相关领域的技术人员而H是将会是已知的。
[0054]注意,在各实施例中,扫描模块408可被配置成执行对文件的全面扫描,和/或可被配置成执行较不完整地在文件中扫描病毒的“轻量级”扫描。例如,扫描模块408可以对一文件执行轻量级扫描以生成扫描结果。该扫描结果可以是该文件的散列,或者是可被分析以便以足够的可能性来确定该文件是否包含病毒的其它结果。扫描结果可被传送到远程服务器以供分析,诸如图1所示的服务器104。服务器可分析扫描结果(例如散列结果等)以确定文件是否可能具有病毒。该分析可以按相关领域的技术人员已知的各种方式来执行。可以从远程服务器接收到基于分析的文件是否是恶意的指示。如果远程服务器指示文件是恶意的,则该文件可被隔离、删除或以其它方式被扫描模块408禁用以免对移动设备102造成损害。如果远程服务器指示文件不是恶意的,则可以对该文件执行全面扫描任务。该全面扫描任务可被延迟以供作为可延迟任务在稍后执行,如此处所描述的。
[0055]安装程序404被配置成执行应用(例如,计算机程序)的安装(和/或设置),这可包括将驱动程序、插件等安装和/或设置到移动设备102上以使得这些应用可被执行。安装程序404可下载应用(例如从诸如图1中的服务器104等服务器)和/或在移动设备102上安装所下载的应用。安装程序404还可被配置为对已经被加载在移动设备102上的应用进行更新的应用更新程序。例如,安装程序404可下载更新(例如从诸如服务器104等服务器)并且将更新安装到移动设备102上的应用。安装程序404的可从市场上获得的示例对于相关领域的技术人员而言是已知的。
[0056]维护操作逻辑406包括用于执行移动设备102的一个或多个维护相关操作的逻辑。例如,如图4所示,维护操作逻辑406可包括整理程序414。整理程序414是被配置成对移动设备102的文件系统执行整理任务以减少碎片的碎片整理模块。整理程序414的可从市场上获得的示例对于相关领域的技术人员而言是已知的。维护操作逻辑406的其它示例任务对于相关领域的技术人员而言是将会是已知的。
[0057]在一实施例中,根据步骤202,使一个或多个可延迟任务排队以供稍后执行。例如,在操作期间,设备操作逻辑114可确定将执行一任务(例如,安全任务、安装任务、维护任务等)。例如,可能期望(例如通过安装程序404)执行文件下载任务以便将一个或多个文件下载到移动设备102。或者,文件可能已经被下载到移动设备102 (例如从图1中的服务器104),并且安全操作逻辑402可被配置成对该文件执行安全操作,安装程序404可被配置成安装与该文件相关联的应用,等等。或者,备份模块410可被配置成对移动设备102执行备份任务,维护操作逻辑406可被配置成执行配置管理任务等。由此,如图3所示,任务排队模块302可以从设备操作逻辑114接收到指示期望由设备操作逻辑114来执行的这些任务或其它任务中的任一个或多个的执行任务请求308。
[0058]任务排队模块302被配置成评估执行任务请求308以确定是否可延迟所指示的任务。例如,在一实施例中,任务排队模块302可将执行任务请求308所指示的任务与可延迟任务的预定列表(存储在移动设备102的存储中)进行比较,并且如果所指示的任务匹配可延迟任务的预定列表中的任务,则任务排队模块302可确定所指示的任务可被延迟。例如,执行任务请求308可包括所指示任务的任务标识符(任务ID),并且可延迟任务的预定列表可包括所列出的可延迟任务中的每一个的任务标识符。如果所指示任务的任务标识符匹配可延迟任务的列表中的任务的标识符,则任务排队模块302可确定所指示任务可被延迟。如果不出现匹配,则任务排队模块302可确定所指示任务不可被延迟。
[0059]此外,任务排队模块302可确定移动设备102的用户是否正在请求立即执行所指示任务。在这种情况下,所指示任务将会是不可延迟的。例如,用户可能正在与移动设备102的用户接口(例如,键盘、触摸屏、语音激活的控件等)交互以请求执行任务。用户可能正在与安全操作工具接口、浏览器或其它文件下载/安装程序接口、维护工具接口、和/或移动设备102提供的其它接口交互以请求执行任务。如果任务排队模块302接收到任务请求308并且该任务请求指示用户已经指示立即执行任务,则任务排队模块302可确定所指示任务不可被延迟。如果从移动设备102的用户接口接收到任务请求308,但该任务请求未指示用户已经指示立即执行任务,则任务排队模块302可确定所指示任务可被延迟。
[0060]在其它实施例中,任务排队模块302可以按其它方式确定任务是否是可延迟的。例如,如果任务排队模块302确定所指示任务调用安全操作逻辑402 (例如,扫描模块408、备份模块410、配置管理模块412等)、安装程序404或维护操作逻辑406 (例如,整理程序414)或其它指定操作或任务,则任务排队模块302可确定该任务是可延迟的。
[0061]如果一任务被确定是可延迟的,则任务排队模块302将该任务添加到延迟任务队列(例如,存储在移动设备102的存储中),该延迟任务队列可包含任何数量的排队的可延迟任务。如图3所示,任务排队模块302生成任务启用信号124,该任务启用信号可由图1的设备操作逻辑114来接收。如果一任务被确定是不可延迟的,则任务排队模块302生成任务启用信号124以便向设备操作逻辑114指示该任务被启用并且可被执行。如果一任务被确定是可延迟的,则任务排队模块302生成任务启用信号124以便向设备操作逻辑114指示该任务不被启用并且将被延迟直到稍后被任务排队模块302启用。
[0062]回头参考图2,在流程图200的步骤204中,检测在可延迟任务排队之后的针对移动设备的电池的充电事件的发起。例如,如图3所示,充电监视器304可接收指示正在对电池118 (图1)施加充电的充电指示126。作为响应,充电监视器304可生成由队列启用器模块306接收的充电事件指示312。注意在一个实施例中,只要充电指示126指示接收到的充电电流,充电监视器304就可输出充电事件指示312。在另一实施例中,充电监视器304可延迟生成充电事件指示312直到充电指示126指示已接收充电电流达预定时间量(例如,以数秒、数分钟等为单位)。以此方式,充电监视器304过滤掉持续时间相对较短的或间歇性充电事件。在又一实施例中,充电监视器304可以不存在,而改为队列启用器模块306可执行步骤204。在这一实施例中,队列启用器模块306可直接接收充电指示126。
[0063]在步骤206中,允许排队的可延迟任务在充电事件期间执行。例如,如图3所示,队列启用器模块306接收充电事件指示312 (或充电指示126)。队列启用器模块306被配置成允许由任务排队模块302排队的可延迟任务在由充电事件指示312指示的充电事件期间执行。如图3所示,如果队列启用器模块306确定正在发生合适的充电事件,则队列启用器模块306生成指示可启用由任务排队模块302排队的可延迟任务的被延迟任务启用信号314。任务排队模块302接收被延迟的任务启用信号314。结果,任务排队模块302生成任务启用信号124以便向设备操作逻辑114指示启用一个或多个排队的可延迟任务。如果多个被延迟的任务排队,则任务排队模块302可同时或按任何次序(诸如按任务被添加到队列的次序(例如,先进先出(FIFO))、按后进先出(LIFO)次序、按最后或首先执行资源最密集任务的次序、按由任务自身规定的次序(例如,在安装任务之前执行清理任务、在扫描任务之前执行签名下载任务等)或者按任何其它次序)依次启用排队的可延迟任务。在允许执行排队的可延迟任务后,任务排队模块302可以从被延迟的任务队列中清除已启用的任务。
[0064]队列启用器模块306可以按任何方式基于充电事件指示312 (或充电指示126)来确定是否允许执行排队的可延迟任务。例如,如果队列启用器模块306确定充电事件指示312所指示的充电事件是持续时间足够长的充电事件以使得被延迟的任务具有足够的时间来执行,则队列启用器模块306可启用排队的被延迟任务。长持续时间充电事件比可以在电池118到充电器106的间歇性或短期连接期间发生的充电事件更长。例如,长持续时间充电事件可以是足够长以供至少一个排队的可延迟任务在该充电事件期间执行/实施的充电事件,电池118和充电器106在该充电事件期间不解耦。
[0065]在一实施例中,队列启用器模块306可以在图2的步骤206期间执行图5所示的步骤502。在步骤502中,基于移动设备的充电简档来将充电事件预测为长持续时间充电事件。例如,图6示出了根据一示例实施例的包括充电事件分析器602的队列启用器模块306的框图。充电事件分析器602可被配置成执行图5的步骤502,预测充电事件指示312所指示的充电事件是否是长持续时间充电事件以使得可执行排队的被延迟任务。
[0066]充电事件分析器602可被配置成以各种方式执行步骤502中的预测。例如,如图6所示,充电事件分析器602可接收充电简档数据604。充电简档数据604包括指示关于移动设备102 (图1)的电池118的充电简档的数据。例如,充电简档数据604可基于诸如电池118的充电历史、用户对充电偏好的手动输入和/或其它因素等因素来生成。充电事件分析器602可分析充电简档数据604以预测特定充电事件是否将会是持续时间足够长的充电事件以允许在该充电事件期间执行排队的被延迟任务。
[0067]充电简档数据604可包括任何形式的数据,包括指示电池118在各种时间(包括按分钟、按小时、按一周中的每一天和/或任何其它时间段)的充电概率的数据结构(例如,列表、查找表、数据数组、数据库等)的形式。
[0068]充电简档数据604可以按各种方式生成。例如,图7示出了根据一示例实施例的被配置成生成充电简档的队列启用器模块306的框图。如图7所示,队列启用器模块306包括存储702、可选的用户接口模块704和充电简档生成器706。图7的队列启用器模块306允许基于各类信息中的一类或多类来生成被示为存储在存储702中的充电简档数据604,各类信息包括用户输入的信息、移动设备的参数、关于移动设备的一个或多个用户的信息、移动设备的电池的充电历史和/或其它信息。注意,存储702可包括一个或多个存储器设备、硬盘驱动器和/或本文其他地方描述或以其它方式已知的其它计算机存储介质。
[0069]用户接口模块704可提供一用户接口,移动设备的用户可以在该用户接口处手动输入充电简档信息。例如,用户可输入优选充电的时间和/或日期以及不优选或禁止充电的时间和/或日期。用户接口模块704可以从移动设备102提供的任何类型的用户接口元件中的一个或多个接收充电简档信息,这些用户接口元件包括键盘、拇指轮、定点设备、滚球、指点杆、触敏显示器、任何数量的虚拟接口元件、语音识别系统等。如图7所示,用户接口模块704输出手动输入的充电简档信息712。
[0070]队列启用器模块306还可接收设备数据708。设备数据708可被存储在移动设备102的存储(例如,存储702)中。设备数据708可包括可用于生成充电简档数据604的关于移动设备102和/或电池118的信息,诸如电池118的充电容量、电池118的充电速率、电池118的当前充电水平等。此外,设备数据708可指示移动设备102的可用于生成充电简档数据604的其它敏感/传感方面,诸如GPS (全球定位系统)功能的使用、话筒、光敏性、运动、是否正在进行语音呼叫、日历内容和/或处理密集功能(例如,数据同步)。
[0071]队列启用器模块306还可接收用户数据710。用户数据710可被存储在移动设备102的存储(例如,存储702)中或者可以从远离移动设备102的设备(例如,基于“云”的服务器、网站、用户帐户等)接收。用户数据710可包括可用于生成充电简档数据604的关于移动设备102的用户的信息,诸如指示用户的日程安排的用户日历(例如,诸如由美国华盛顿州雷蒙德市的微软公司提供的Microsoft Office Outlook?等日历工具)。
[0072]队列启用器模块306还可接收指示充电事件已被发起(例如,电池118耦合到充电器106)并且正在进行的充电事件指示312,如上所述。如图7所示,充电简档生成器706可接收充电事件指示312、设备数据708、用户数据710和手动输入的充电简档信息712。可取决于特定实施例来接收充电事件指示312、设备数据708、用户数据710和手动输入的充电简档信息712中的任一个或多个。充电简档生成器706可使用充电事件指示312、设备数据708、用户数据710和/或手动输入的充电简档信息712来生成充电简档数据604。
[0073]例如,充电简档生成器706可随时间监视充电事件指示312以确定电池118 —贯充电的时间段/日子。同样,充电简档生成器706可随时间监视充电事件指示312以确定电池118充电的可能性较低的时间段/日子。充电简档生成器706可生成充电简档数据604以包括基于各种时间的电池充电频率的概率。充电简档生成器706可生成充电简档数据604以指示可能以高概率(例如,高于75%或其它概率)进行电池118的充电的时间/日子,以及指示可能以低概率(例如,低于25%或其它概率)进行电池118的充电的时间/日子。充电简档生成器706可基于设备数据708、用户数据710和手动输入的充电简档信息712中的一个或多个来修改充电简档数据604。例如,充电简档生成器706可修改所生成的充电简档数据604,包括在移动设备102的用户期望用手动输入的充电简档数据来盖写所生成的充电简档数据的情况下用手动输入的充电简档信息712来完全替换充电简档数据604。充电简档生成器706可基于电池118的能力和/或上文提到或以其他方式已知的其它设备数据708来修改充电简档数据604。此外,充电简档生成器706可基于上文提到或以其他方式已知的用户数据710来修改充电简档数据604。
[0074]结果,可以为移动设备确定对应于不同时间的充电概率。例如,图8示出了根据一示例实施例的图800,该图示出了对照时间(X轴)的充电概率(Y轴)的曲线802。图800在图8中是出于说明的目的而示出的,而不旨在是限制性的。曲线802可以可视地表示由充电简档生成器706基于用户的移动设备的充电习惯来生成的充电简档数据604。如图8所示,曲线802指示在特定日期间的不同时间的充电概率。注意,可以按需为一周中的每一天、一月中的每一天、一年中的每一天生成类似的充电简档数据。
[0075]在图8的示例中,曲线802指示用户在大约10:00pm到7:00am的典型睡眠/夜间时段期间具有高充电概率(例如0.9)。这可能是因为用户在他/她在这些时间期间睡觉时将他/她的移动设备耦合到充电器。上夜班或具有其它睡眠时间安排的其他人可以在夜间具有低充电概率。
[0076]此外,曲线802指示从大约7:00am到1:00pm用户具有相对较低的充电概率。除了从大约9:00am到9:30am的相对较高的充电概率(0.8概率)之外(此时用户可能在开车上班时将他/她的移动设备耦合到基于汽车的充电器),该时间段期间的充电概率接近零。曲线802指示用户在从大约1:00pm到3:00pm的下午期间具有相对较低的充电概率(例如
0.15)。例如,用户可能偶尔在下午将他/她的移动设备耦合到他/她的计算机(例如,基于USB的充电器)。曲线802还指示从大约3:00pm到10:00pm用户具有相对较低的充电概率。除了从大约4:00pm到4:30pm (0.15概率)之外(此时用户可能偶尔在下班驾车回家时将他/她的移动设备耦合到基于汽车的充电器),该时间段期间的充电概率接近零。
[0077]根据一实施例,在充电被充电事件分析器602(图6)预测为是长持续时间充电事件的情况下,队列启用器模块306允许在该充电事件期间执行排队的可延迟任务(图2的步骤206)。例如,参考由图8的曲线802表示的充电简档的示例,如果在10:00pm到7:00am或
I:OOpm到3:00pm的时间段期间发生一充电事件并且该充电事件由充电事件指示312来指示,则充电事件分析器602可预测该充电事件是长持续时间充电事件,因为这些时间段期间的充电简档概率相对较高,并且进行充电的典型持续时间被预测为长于预定阈值(例如,大于I小时或其它预定时间阈值)。在这种情况下,队列启用器模块306可生成被延迟任务启用信号314以指示可启用由任务排队模块302排队的被延迟的任务。如果在10:00pm到7:OOam以及1:00pm到3:00pm的时间段之外发生充电事件并且该充电事件由充电事件指示312来指示,则充电事件分析器602可预测该充电事件不是长持续时间充电事件(即,是持续时间相对较短的充电事件),因为这些时间段期间的充电简档概率相对较低和/或因为预测出的充电持续时间相对较短。例如,9: OOam到9:30am具有高电池充电概率,但预测出的持续时间(30分钟)可能太短以至于无法完整地执行排队的任务。在这种情况下,队列启用器模块306可生成被延迟任务启用信号314以指示不可启用由任务排队模块302排队的被延迟的任务。
[0078]由此,根据各实施例,图1的任务调度器116可延迟可延迟任务直到预测发生长持续时间充电事件。此外,如上所述,不可延迟的任务可被任务调度器116检测到,并且因此可被允许实时执行,而不等待充电事件。
[0079]例如,图9示出了提供根据一示例实施例的用于处理不可延迟任务的过程的流程图900。在一实施例中,流程图900可由图1的任务调度器116、图3的任务调度器300和/或由其它实施例来执行。基于以下有关流程图900的讨论,其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。
[0080]流程图900开始于步骤902。在步骤902中,可接收执行特定任务的请求。例如,参考图3,任务排队模块302可以从设备操作逻辑114接收到指示期望由设备操作逻辑114执行任务的执行任务请求308。
[0081 ] 在步骤904中,可确定该任务是不可延迟的。例如,如上所述,任务排队模块302可分析所指示任务以确定该任务是否是可延迟的。在一实施例中,任务排队模块302可将所指示任务与可延迟任务的预定列表进行比较和/或执行本文描述的其它技术来确定所指示任务是否可被延迟。如果所指示任务不在预定列表中或者未通过另一可延迟任务测试,则任务排队模块302可确定所指示任务不是可延迟的。
[0082]在步骤906中,在充电事件之前允许执行特定任务。例如,如图3所示,任务排队模块302可生成任务启用信号124,该任务启用信号可由图1的设备操作逻辑114来接收。因为任务被确定是不可延迟的,所以任务排队模块302生成任务启用信号124以便向设备操作逻辑114指示该任务被启用并且可被实时执行(而不等待充电事件)。
[0083]注意,被延迟的任务稍后可被确定为需要较早地(在充电事件之前)执行。例如,图10示出了提供根据一示例实施例的用于从延迟状态中移除任务的过程的流程图1000。在一实施例中,流程图1000可由图1的任务调度器116、图3的任务调度器300和/或由其它实施例来执行。基于以下有关流程图1000的讨论,其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。
[0084]流程图1000开始于步骤1002。在步骤1002中,使与文件相关联的可延迟任务排队以供稍后执行。例如,如以上参考流程图200的步骤202所描述的,可由任务排队模块302来使可延迟任务排队以供稍后执行。
[0085]在步骤1004中,从用户接收涉及该文件的请求。在一实施例中,用户可做出针对根据步骤1002来排队以供稍后执行的文件的请求。该请求可由任务排队模块302从图1的设备操作逻辑114接收到。例如,该文件可以是用户先前下载但尚未安装的应用(例如,“app”)的一部分,且用户可能被请求启动或执行该应用。该应用可能已经作为被延迟的任务来排队以便在充电事件期间安装。然而,因为用户现在想要执行该应用,所以不再能够延迟应用安装。在另一示例中,文件先前可能已经被下载,但对该文件的扫描可能已经作为可延迟任务来排队。用户现在可能想要访问该文件,因此不再能够延迟对该文件的扫描。在又一示例中,文件的下载可能已经作为可延迟任务来排队。用户现在可能想要访问该文件,因此不再能够延迟对该文件的下载(以及可选的扫描)。
[0086]在步骤1006中,由于接收到的请求而从队列中移除可延迟任务。在一实施例中,任务排队模块302可以从被延迟任务队列中清除与涉及步骤1004中的请求的文件相关联的任务。
[0087]在步骤1008中,由于接收到的请求而执行针对文件的操作。在一实施例中,任务排队模块302可生成可由图1的设备操作逻辑114接收的任务启用信号124,以便向该设备操作逻辑114指示任务被启用并且可被实时执行(而不等待充电事件)。由此,用户对文件的请求可被立即满足。在一个实施例中,任务启用信号124可被自动生成。在另一实施例中,可生成请求是否应执行任务的用户接口。如果用户指示应执行任务,则可生成任务启用信号124以便向设备操作逻辑114指示启用该任务。如果用户指示不应执行任务,则可以不生成用于向设备操作逻辑114指示启用该任务的任务启用信号124,并且可选地,可拒绝步骤1004中的用户请求。在这种情况下,可以不执行步骤1006 (例如,可延迟任务可以保持在队列中)。
[0088]还注意,在某些情况下,用户可能期望进行设备的充电而不在充电期间执行任何被延迟的任务。例如,用户可能知道充电的时长可能太短以至于无法执行被延迟的任务,或者可能想要尽可能快地为设备电池充电并因此可能不想要任务耗尽充电电流。由此,移动设备102的用户接口可以向用户指示在充电事件期间将在何时执行被延迟的任务。该用户接口还可提供盖写开关(物理或虚拟)或其它用户接口元素(例如,“阻止被延迟的任务? ”查询或其它显示的图形用户接口元素),用户可以与这些用户接口元素交互以阻止一个或多个可延迟任务在移动设备102的电池118的充电期间执行。
[0089]II1.示例计算设备实施例
[0090]任务调度器116、充电模块120、任务调度器300、任务排队模块302、充电监视器304、队列启用器模块306、充电事件分析器602、用户接口模块704、充电简档生成器706、步骤502和流程图200、900和1000可以用硬件、软件、固件或其任意组合来实现。例如,任务调度器116、充电模块120、任务调度器300、任务排队模块302、充电监视器304、队列启用器模块306、充电事件分析器602、用户接口模块704、充电简档生成器706、流程图200、步骤502、流程图900和/或流程图1000可被实现为被配置成在一个或多个处理器中执行的计算机程序代码。或者,任务调度器116、充电模块120、任务调度器300、任务排队模块302、充电监视器304、队列启用器模块306、充电事件分析器602、用户接口模块704、充电简档生成器706、流程图200、步骤502、流程图900和/或流程图1000可被实现为硬件逻辑/电路系统。例如,在一实施例中,任务调度器116、充电模块120、任务调度器300、任务排队模块302、充电监视器304、队列启用器模块306、充电事件分析器602、用户接口模块704、充电简档生成器706、流程图200、步骤502、流程图900和/或流程图1000中的一个或多个可以在片上系统(SoC)中实现。SoC可包括集成电路芯片,该集成电路芯片包括以下Iv或多个:处理器(如微控制器、微处理器、数字信号处理器(DSP)等等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和/或嵌入的固件。
[0091]图11描绘了其中可实现本发明的各实施例的计算机1100的示例实现。例如,移动设备102可在类似于计算机1100的移动计算机系统中实现,该移动计算机系统包括计算机1100的一个或多个特征和/或替换的特征。此外,服务器104可以在类似于计算机1100的一个或多个计算机系统中实现。计算机1100可以是例如常规个人计算机、移动计算机或工作站形式的通用计算设备,或者计算机1100可以是专用计算设备。此处所提供的对计算机1100的描述只是为了说明,并不是限制性的。如相关领域的技术人员所知道的,本发明的各实施例可以在其他类型的计算机系统中实现。
[0092]如图11所示,计算机1100包括处理单元1102、系统存储器1104和总线1106,总线1106将包括系统存储器1104在内的各种系统组件耦合到处理单元1102。总线1106表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任何一种的局部总线。系统存储器1104包括只读存储器(ROM) 1108和随机存取存储器(RAM) 1110。基本输入/输出系统1112 (BIOS)储存在R0M1108中。
[0093]计算机1100还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器1114、用于读或写可移动磁盘1118的磁盘驱动器1116、以及用于读或写诸如⑶R0M、DVD ROM或其他光介质之类的可移动光盘1122的光盘驱动器1120。硬盘驱动器1114、磁盘驱动器1116以及光驱动器1120分别通过硬盘驱动器接口 1124、磁盘驱动器接口 1126以及光盘驱动器接口 1128连接到总线1106。驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等之类的其他类型的计算机可读存储介质来储存数据。
[0094]数个程序模块可被储存在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统1130、一个或多个应用程序1132、其他程序模块1134以及程序数据1136。应用程序1132或程序模块1134可包括例如用于实现以下内容的计算机程序逻辑:任务调度器116、充电模块120、任务调度器300、任务排队模块302、充电监视器304、队列启用器模块306、充电事件分析器602、用户接口模块704、充电简档生成器706、流程图200、步骤502、流程图900和/或流程图1000 (包括流程图200、900和1000中的任何步骤)和/或本文描述的其它实施例。
[0095]用户可以通过诸如键盘1138和定点设备1140之类的输入设备向计算机1100中输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些及其他输入设备常常通过耦合到总线1106的串行端口接口 1142连接到处理单元1102,但是,也可以通过其他接口,诸如并行端口、游戏端口、通用串行总线(USB)端口,来进行连接。
[0096]显示设备1144也通过诸如视频适配器1146之类的接口连接到总线1106。除了监视器之外,计算机1100还可包括其他外围输出设备(未示出),如扬声器和打印机。
[0097]计算机1100通过适配器或网络接口 1150、调制解调器1152、或用于通过网络建立通信的其他手段连接到网络1148 (例如,因特网)。调制解调器1152 (可以是内置的或外置的)通过串行端口接口 1142连接到总线1106。
[0098]如此处所用的,术语“计算机程序介质”、“计算机可读介质”以及“计算机可读存储介质”被用于泛指介质,诸如与硬盘驱动器1114相关联的硬盘、可移动磁盘1118、可移动光盘1122,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。这些计算机可读存储介质与通信介质(不包括通信介质)相区别且不重叠。通信介质通常在诸如载波等已调制数据信号中承载计算机可读指令、数据结构、程序模块或者其它数据。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括无线介质,如声学、RF、红外和其它无线介质。各个实施例也针对这些通信介质。
[0099]如上文所指示的,计算机程序和模块(包括应用程序1132及其他程序模块1134)可被储存在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以通过网络接口 1150或串行端口接口 1142来接收。这样的计算机程序,当由应用执行或加载时,使得计算机1100能实现此处所讨论的本发明的特征。相应地,这样的计算机程序表示计算机1100的控制器。
[0100]本发明还涉及包括储存在任何计算机可使用介质上的软件的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。本发明的各实施例使用现在已知的或将来已知的任何计算机可使用或计算机可读介质。计算机可读介质的示例包括,但不仅限于,诸如RAM、硬盘驱动器、软盘、⑶ROM、DVDROM、zip磁盘、磁带、磁存储设备、光存储设备、MEM (存储器)、基于纳米技术的存储设备等等之类的存储设备。
[0101]V1.结语
[0102]尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。那些精通有关技术的人员将理解,在不偏离如所附权利要求书所定义的本发明的精神和范围的情况下,可以在形式和细节方面进行各种修改。因此,本发明的范围不应该受到上述示例性实施例的任一个的限制,而只应根据下面的权利要求和它们的等效内容进行定义。
【权利要求】
1.一种设备中的方法,包括: 使至少一个可延迟任务排队以供稍后执行; 检测所述排队之后的针对所述设备的电池的充电事件的发起;以及 允许在所述充电事件期间执行排队的所述至少一个可延迟任务。
2.如权利要求1所述的方法,其特征在于, 基于所述设备的充电简档来预测所述充电事件是长持续时间充电事件;以及 由于所述预测而允许所述执行。
3.如权利要求2所述的方法,其特征在于,所述预测包括: 预测所述充电事件具有大于预定阈值的持续时间。
4.如权利要求2所述的方法,其特征在于,还包括: 随时间监视所述设备的电池的充电;以及 基于所述监视来生成所述充电简档。
5.如权利要求2所述的方法,其特征在于,还包括: 允许所述设备的用户手 动配置所述充电简档。
6.如权利要求1所述的方法,其特征在于,还包括: 接收执行特定任务的请求; 确定所述特定任务不是可延迟的;以及 在所述充电事件之前允许执行所述特定任务。
7.如权利要求1所述的方法,其特征在于,还包括: 使与文件相关联的可延迟任务排队以供稍后执行; 从用户接收涉及所述文件的请求; 由于接收到的请求而从队列中移除所述可延迟任务;以及 由于所述接收到的请求而对所述文件执行操作。
8.如权利要求1所述的方法,其特征在于,还包括: 对文件执行轻量级扫描以生成扫描结果; 将所述扫描结果传送到远程服务器; 从所述远程服务器接收所述文件是否是恶意的指示;以及 在所述文件被指示为不是恶意的情况下使与所述文件相关联的全面扫描任务排队。
9.如权利要求1所述的方法,其特征在于,所述至少一个可延迟任务包括文件下载任务、病毒扫描任务、备份任务或配置管理任务中的至少一个。
10.一种计算机程序产品,包括其上记录有计算机程序逻辑的计算机可读介质,所述计算机程序逻辑包括: 用于使得处理器能够执行权利要求1-9中任一项的计算机程序逻辑装置。
11.一种移动设备中的任务调度器,所述任务调度器使得能够在移动操作期间节省所述移动设备的电池电量,所述任务调度器包括: 任务排队模块,所述任务排队模块被配置成确定至少一个任务是可延迟的并且使所述至少一个可延迟任务排队以供稍后执行; 充电监视器,所述充电监视器被配置成检测使所述至少一个可延迟任务排队之后的针对所述移动设备的电池的充电事件的发起;队列启用器模块,所述队列启用器模块被配置成在所述充电事件被预测为长持续时间充电事件的情况下允许在所述充电事件期间执行所述至少一个可延迟任务。
12.如权利要求10所述的任务调度器,其特征在于,所述队列启用器模块包括: 充电事件分析器,所述充电事件分析器被配置成基于关于所述移动设备的充电简档来预测所述充电事件是长持续时间充电事件;以及 队列启用器模块,所述队列启用器模块被配置成由于所述预测而允许在所述充电事件期间执行所述排队的至少一个可延迟任务。
13.如权利要求11所述的任务调度器,其特征在于,所述充电事件分析器被配置成确定所述充电事件是否具有大于预定阈值的持续时间以便预测所述充电事件是否是长持续时间充电事件。
14.如权利要求11所述的任务调度器,其特征在于,所述队列启用器模块被配置成随时间监视所述电池的充电以生成充电历史数据并且基于所述充电历史数据来生成所述充电简档。
15.如权利要求11所述的任务调度器,其特征在于,还包括: 被配置成使所述移动设备的用户能够手动配置所述充电简档的用户接口模块。
16.如权利要求10所述的任务调度器,其特征在于,所述任务排队模块接收执行特定任务的请求,并且确定所述特定任务是否是不可延迟的,所述队列启用器模块在所述特定任务被确定为是不可延迟的情况下允许在接收到充电电流之前执行所述特定任务。
【文档编号】G06F1/32GK103597423SQ201280029334
【公开日】2014年2月19日 申请日期:2012年6月6日 优先权日:2011年6月16日
【发明者】M·圣菲尔德, C·J·郭, A·普特南, J·威廉姆斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1