在一组个人移动设备间虚拟化电池的制作方法
【专利摘要】提供一种用于在个人移动设备中或在由用户控制的一组个人移动设备中虚拟化电池的系统、方法和非瞬态计算机可读介质。用户对在个人移动设备中运行的应用程序规定一组电源管理策略。监视每个应用程序的电池使用量,并且基于所监视的电池使用量和电源管理策略,对应用程序调度资源。
【专利说明】在一组个人移动设备间虚拟化电池
【背景技术】
[0001]个人移动设备已变得越来越流行。用户在任何特定时间通常携带多个个人移动设备,以满足他们的移动计算和通信需求。这些设备可以包括例如电话和智能电话、膝上型电脑、平板电脑、游戏设备、数码相机、个人数字助理等。个人移动设备在任何特定时间运行多个应用程序,并且在它们的用户移动时靠电池运行。有各种可利用的电池(例如,锂聚合物电池、锂离子电池、镍镉电池等),但是它们都有有限寿命的问题。即便过去数年电池技术已经大幅地改进,但是用户意外地耗尽他们的设备电池仍是十分常见的,因为在任何特定时间他们运行的不可预测应用程序的混合。
[0002]个人移动设备的电池使用量或消耗量可以利用电源管理工具来监视。大多数电源管理工具仅监视设备的电池使用量,当电池使用量下降至特定阈值以下时开启警报,并且显示电池使用量以使用户通过例如在需要时对设备充电来采取动作。最近已经开发出工具来监视在设备中运行的特定组件或应用程序使用的电池百分比。然而,这些工具存在监视开销显著的问题,并且受限于仅在一小类设备中工作。
[0003]因此,如今的个人移动设备具有十分粗的电池使用量监视粒度水平。电源管理工具可以监视每个应用程序的电池使用量,但是它们不允许用户分配每个应用程序的电池使用量。例如,如果用户期望在具有低电量的智能电话上进行一重要商务电话,则用户不能为电话呼叫自动地分配电池,并且暂停其它应用程序耗费电池。用户不得不寻求基于经验和基本监视的专门的方法来关闭被认为消耗更多电池的应用程序。此外,没有供用户管理或协调多个个人移动设备之间的总可用电池功率的方法。
[0004]此外,用户在多种环境(例如,工作、个人、来宾等)中使用单个移动设备。这些环境可以被认为是多个用户角色,这些用户角色可以对设备使用策略(包括与电池相关的那些设备使用策略)施加不同要求。特定角色(比如,工作人员)可能对电子邮件和电话使用赋予较高优先级,而来宾角色可能对一些游戏应用程序赋予较高优先级。
【专利附图】
【附图说明】
[0005]本申请可以关于结合附图做出的下面详细描述得到更充分理解,其中相同的附图标记在全文中指相同的部分,并且其中:
[0006]图1是图示可以实施各实施例的示例环境的示意图;
[0007]图2是图示根据各实施例的示例电池虚拟化模块的示意图;
[0008]图3图示图2的电池虚拟化模块在个人移动设备内使用的示例;
[0009]图4是用于在个人移动设备中虚拟化电池的示意图;
[0010]图5是图示个人移动设备中的电池虚拟化的示意图;
[0011]图6是图示在由用户控制的一组设备之间运行的协调电池虚拟化模块的示意图;
[0012]图7是更详细的示例协调电池虚拟化模块的示意图;
[0013]图8是图示根据各实施例的协调电池虚拟化模块的示例实现方式的示意图;
[0014]图9图示在云网络中部署的示例协调电池虚拟化模块;
[0015]图10是用于在由用户控制的个人移动设备之间虚拟化电池的流程图;
[0016]图11是用于规定电源管理策略的用户界面;以及
[0017]图12是用于根据各实施例实现图7的协调电池虚拟化模块的示例组件的框图。
【具体实施方式】
[0018]公开一种用于在个人移动设备内或多个个人移动设备之间虚拟化电池的系统、方法和非瞬态计算机可读介质。如本文中概括地描述的,个人移动设备是一种用于在各种环境中处理、接收和发送信息的便携式计算和通信设备。个人移动设备可以包括但不限于,例如电话和智能电话、膝上型电脑、平板电脑、游戏设备、数码相机和个人数字助理等等。
[0019]在各实施例中,电池虚拟化模块对个人移动设备中的电池虚拟化。在其它实施例中,协调电池虚拟化模块在由用户控制的一组不同的个人移动设备之间的总可用电池进行虚拟化。如本文中概括地描述的,电池虚拟化指在特定应用程序及多个用户角色之间分配可用电池电量的能力以及确保指定应用程序具有较高优先级和有权访问电池的能力。在第一组实施例中,应用程序在个人移动设备本身上运行。在第二组实施例中,应用程序可以在由用户控制的一组不同的个人移动设备之间运行。这两种情况的目的是要使总电池寿命最大化,确保电池能够为特定高优先级应用程序预留,并且因此增强用户体验质量(“如^。
[0020]应理解,本文下面描述的实施例可以包括各种组件和特征。这些组件和特征中的一些可以去除和/或修改,而不背离用于在多个个人移动设备之间虚拟化电池的系统、方法和非瞬态计算机可读介质的范围。还应当理解,在下面的描述中,陈述多个特定细节,以提供实施例的透彻理解。然而,应当理解,这些实施例可以在不局限于这些特定细节的情况下实践。在其它实例中,可能没有详细地描述众所周知的方法和结构,以避免不必要地模糊实施例的描述。此外,这些实施例可以彼此结合使用。
[0021]在说明书中对“实施例”、“示例”或类似用语的引用指关于该实施例或示例描述的特定特征、结构或特性包含在至少一个示例中,但不一定包含在其它示例中。在说明书各处的短语“在一个实施例中”或类似短语的各实例不一定全部指相同实施例。本文中使用的组件是用于提供特定功能的硬件和在该硬件上运行的软件的组合。
[0022]现在参考图1,描述图示示例环境的示意图,在该示例环境中可以实施各实施例。用户100可以将多个个人移动设备用于他/她的移动计算需求和/或通信需求,这些个人移动设备包括例如电话105、智能电话110、视频游戏设备115、膝上型电脑120、个人数字助理125和平板电脑130,它们全部通过有线通信网和/或无线通信网连接(由每个设备之间的箭头表示在任何特定时间,个人移动设备105-130可以运行多个应用程序135-160,多个应用程序135-160消耗和耗费每个设备上的电池功率。个人移动设备105-130可以具有电源管理工具,电源管理工具使用户100能够监视每个设备中的电池使用量以确定应用程序135-160中哪个应用程序消耗任何特定设备上的最多电池。利用本文下面更详细地描述的电池虚拟化模块,用户100能够在任何特定设备上运行的多个应用程序之间分配该设备的可用电池。并且,利用本文下面更详细地描述的协调电池虚拟化模块,用户100能够在该组个人移动设备105-130之间分配总电池功率,使得保证用户100具有如所希望那样运行他/她的全部应用程序的必需功率。
[0023]现在将注意力转向图2,图2图示根据各实施例的单个设备中的示例电池虚拟化模块。电池虚拟化模块200在个人移动设备上运行以在该设备中运行的多个应用程序之间分配电池。电池虚拟化模块200具有三个主要组件:(1)用户策略和规则引擎205 ; (2)应用程序功率监视模块210 ;以及(3)功率感知应用程序资源调度器模块215。用户策略和规则引擎205向用户提供语言和用户界面,以规定用于根据用户需求和偏好对电源进行管理和对在该设备中运行的应用程序进行分类的策略和规则。
[0024]例如,用户可以规定将电话功能的优先级置于最高级而将所有商务应用程序置于下一优先级等等的策略。在另一示例中,用户可以在应用程序之间分配电池使用量的百分比,例如对游戏分配电池使用量的20%,对电话呼叫分配电池使用量的50%,等等。如本领域技术人员理解的,如今的用户以多个角色(例如、工作、个人、父母等)以及不同环境(例如,位置、成本等)运行应用程序。用户可以利用用户策略和规则引擎205规定的策略可以基于用户的多个角色和环境信息。
[0025]应用程序功率监视模块210监视每个应用程序的电池使用量。还监视基于每个应用程序的0^和存储器使用量,这有助于估计电池使用量。应用程序功率监视模块210可以采用各种模型来监视电池使用量,各种模型包括特定设备的模型。最后,功率感知应用程序资源调度器模块215使用由应用程序功率监视模块210获取的监视信息来对在设备中运行的应用程序进行资源调度判定。例如,可以迫使已经用光它们的电池分配量的应用程序关闭,因此使这些应用程序匮乏资源,如0^周期、1/0设备、存储器接入等。
[0026]图3中图示在个人移动设备中使用的图2的电池虚拟化模块的示例。用户300具有个人移动设备305,个人移动设备305运行多个耗电应用程序310。在个人移动设备305上运行的电池虚拟化模块315使用户300能够规定用于在这些耗电应用程序310之间分配个人移动设备305中的电池的电池使用策略。在这么做时,电池虚拟化模块315监视在设备305中运行的应用程序310的电池使用量,并且相应地做出资源调度判定。
[0027]在各实施例中,当正对个人移动设备315充电时,电池虚拟化模块315基于电池充电策略对每个应用程序、一类应用程序或用户角色分配电池。例如,用户可能想要对每个应用程序、一类应用程序或用户角色进行按比例的充电或基于优先级的充电。
[0028]图4示出用于虚拟化个人移动设备中的电池的流程图。首先,根据用户需求和偏好,建立用于管理电源和对在设备中运行的应用程序进行分类的电源管理策略(400)。接下来,在该设备上监视每个应用程序的电池使用量(4051然后,使用所监视的电池使用量和策略以为在该设备中运行的应用程序调度资源(4101
[0029]应理解,在设备中运行的每个应用程序具有其自己专用电池的认识,即便有被所有应用程序共享的单个电池。图5示出说明个人移动设备中的电池虚拟化的示意图。个人移动设备500具有在各种应用程序(如应用程序510-525)之间共享的单个物理电池505。当运行电池虚拟化模块530时,移动设备500将其实体电池虚拟化成多个专用虚拟电池535-550,每种应用程序或每个应用程序类使用一个专用虚拟电池。用于每个应用程序的专用虚拟电池是通过由用户建立的电源管理策略向该应用程序分配的实体电池505的一部分。例如,用户可以规定应分配该电池的20%给游戏,应分配该电池的20%给电子邮件,应分配该电池的40%给网页浏览,并且应分配剩余的20%给电话应用程序。该设备中的游戏应用程序、电子邮件应用程序和电话应用程序各自知晓具有该设备中全部电池的20%的专用电池。类似地,网页浏览应用程序知晓具有该设备中全部电池的40%的专用电池。
[0030]在各实施例中,上面参考图2-5描述的电池虚拟化模块可以扩展至在由用户控制的一组不同的个人移动设备之间虚拟化电池。协调电池虚拟化模块可以在由用户控制的这些设备之间运行,或者其可以部署在云网络中。图6图示在由用户控制的一组设备之间运行的协调电池虚拟化模块。用户600可以控制多个个人移动设备,如个人移动设备605-620。个人移动设备605-620中的每个运行多个耗电应用程序625-640。协调电池虚拟化模块645在个人移动设备605-620之间运行,以在所有耗电应用程序625-640之间分配总电池功率。
[0031]图7更详细地示出示例协调电池虚拟化模块。协调电池虚拟化模块700与图2所示的电池虚拟化模块200类似,也具有三个主要组件:(1)用户策略和规则引擎705 5(2)应用程序功率监视模块710 ;以及(3)功率感知应用程序迀移和资源调度器模块715。用户策略和规则引擎705向用户提供语言和用户界面,以规定用于根据用户需求和偏好以及基于用户关于每个设备的多个角色和环境信息而管理电源和对在用户的多个个人移动设备之间运行的应用程序进行分类的策略和规则。
[0032]应用程序功率监视模块710监视每个应用程序的电池使用量。还监视0^和存储器使用量,并且将0^和存储器使用量用于估计电池使用量。应用程序功率监视模块710可以采用各种模型来监视电池使用量,各种模型包括特定设备的模型。最后,功率感知应用程序迀移和资源调度器模块715使用由应用程序功率监视模块710获取的监视信息来对在用户的多个个人移动设备中运行的应用程序进行资源调度判定。
[0033]在此情况中,功率感知应用程序迀移和资源调度器715加强来自由用户控制的所有设备的应用程序功率配置文件和当前电源可用性,然后做出知情决定以管理和控制每个单独设备上的应用程序的资源调度,该资源调度包括许可控制(即,阻止或延迟特定应用程序的启动)。此外,控制动作包括应用程序从一个设备向另一设备的迀移,还可以包括在多个设备之间以分解的方式使用通信和计算。
[0034]例如,考虑用户在四个个人移动设备(智能电话、平板电脑、膝上型电脑和游戏设备)中运行应用程序。用户建立规定应对电话应用程序分配总电池功率的40%的策略。当那些电话应用程序正在运行时,依据每个设备处由其它应用程序消耗的电池,功率感知应用程序迀移和资源调度器模块715可以触发这些其它应用程序中的一些迀移至具有更多可用电池的其它设备。目的是具有在由用户控制的应用程序和设备之间的电池分配,使得每个应用程序知晓具有其自己专用的电池。如本领域技术人员理解的,应用程序迀移和资源调度对用户是透明的。用户可以利用用户策略和规则引擎705设置电源管理策略,并且应用程序功率监视模块710和功率感知应用程序迀移和资源调度器模块715相应地在应用程序和设备之间监视和分配电池。
[0035]现在将注意力转向图8,图8图示根据各实施例的协调电池虚拟化模块的示例实现方式。在此实现方式中,协调电池虚拟化模块800在由用户控制的多个个人移动设备(例如,移动设备1至10中的每个内的管理程序上方运行,以将每个移动设备中的单个实体电池虚拟化成多个虚拟电池。每个虚拟电池专用于与不同用户角色(例如,商务、个人等)对应的来宾操作系统(在每个来宾03内,根据由用户规定的电源管理策略,将虚拟电池分配给不同应用程序。例如,个人移动设备1 (805)具有两个来宾03,即来宾03 810和来宾03 815,每个来宾03对应于不同的角色且具有专用的虚拟电池,即虚拟电池820和虚拟电池825。根据由用户设置的策略,将虚拟电池820和虚拟电池825分配给由来宾03 810和来宾03 815管理的应用程序。
[0036]如本领域技术人员理解的,仅为了说明目的而将协调电池虚拟化模块800示出为在个人移动设备中的管理程序上方实现。可以考虑其它实现方式,包括将协调电池虚拟化模块800与每个个人移动设备中的管理程序集成在一起。在移动设备不具备管理程序但包括主机03的情况下,协调电池虚拟化模块800可以在主机03中实现。
[0037]现在参考图9,描述在云网络中部署的示例协调电池虚拟化模块。用户900可以控制多个个人移动设备,例如个人移动设备905-920。个人移动设备905-920每个运行多个耗电应用程序925-940。协调电池虚拟化模块945在个人移动设备905-920之间运行,以在全部耗电应用程序925-940之间分配全部电池功率。协调电池虚拟化模块945具有在云955中运行的全局调度器950,以协调对在个人移动设备905-920中运行的应用程序的电池分配。全局调度器950可以加强来自属于用户900的所有个人移动设备的应用程序功率配置文件和当前电源可用性,然后做出知情决定以管理和控制在每个单独个人移动设备905-920上运行的功率感知应用程序迀移和资源调度器模块。
[0038]图10示出用于在由用户控制的多个个人移动设备之间虚拟化电池的流程图。首先,根据用户需求和偏好,建立用于对电源进行管理并且对在该设备中运行的应用程序进行分类的策略(10001接着,在多个个人移动设备之间监视每个应用程序的电池使用量(1005)。然后,使用所监视的电池使用量和策略来根据所监视的电池使用量和电源管理策略在这些设备之间迀移应用程序(10101基于所监视的电池使用量和电源管理策略,为在每个设备中运行的应用程序调度资源(10151
[0039]电源管理策略可以由用户利用用户界面(如图11中图示的那个)来规定。用户界面1100使用户能够向左侧窗口 1105中的不同应用程序(即,流式发送、电话、电子邮件和其它)分配电池,同时监视右侧窗口 1110中的每个应用程序的电池使用量。
[0040]有益地,图2的电池虚拟化模块200使用户能够将设备的可用电池分配给特定应用程序,并且保证一些应用程序具有较高优先级和有权利用电池资源。类似地,图7的协调电池虚拟化模块700使用户能能够在一组不同的个人移动设备之间分配全部电池功率,使得保证用户具有运行全部期望应用程序的必要功率,从而最大化总电池寿命并增强用户的
[0041]图2的电池虚拟化模块200和图7的电池虚拟化模块700可以以硬件、软件以及硬件和软件的组合实现。图12图示用于根据所描述的本公开内容实现图7的协调电池虚拟化模块700的组件。组件1200可以包括处理器1205和存储器资源,例如易失性存储器1210和/或非易失性存储器1215,以执行在有形非瞬态介质(例如,易失性存储器120、非易失性存储器1215和/或计算机可读介质1220)中存储的指令。非瞬态计算机可读介质丄220可以具有在其上存储的计算机可读指令1255,计算机可读指令1225由处理器1205执行以根据本公开内容实现协调电池虚拟化模块1260。
[0042]机器(例如,计算设备)可以包括和丨或通过输入设备1225接收对一组计算机可读指令(例如,软件)进行存储的有形非瞬态计算机可读介质1220。本文中使用的处理器1205可以包括一个或多个处理器,如在并行处理系统中。存储器可以包括可由处理器1205寻址的存储器,以执行计算机可读指令。计算机可读介质1220可以包括易失性存储器和/或非易失性存储器,如随机存取存储器(“狀11、磁性存储器(如,硬盘、软盘和/或带式存储器〉、固态驱动器(“330”〉、闪存、相变存储器等。在一些实施例中,非易失性存储器1215可以是包括多个实体非易失性存储器设备的本地数据库或远程数据库。
[0043]处理器1205可以控制组件1200的总体操作。处理器1205可以连接至存储器控制器1230,存储器控制器1230可以从易失性存储器读取数据和丨或向易失性存储器1210写入数据。处理器1205可以连接至用于提供处理器1205、网络连接1240和组件1200的其它部分之间的通信的总线1235。非易失性存储器1215可以对组件1200提供持久数据存储。此外,图形控制器1245可以连接至可选的显示器1250。
[0044]每个组件1200可以包括计算设备,计算设备包括控制电路,如处理器、状态机、八310、控制器和/或类似机器。本文中使用的不定冠词“一”和/或“该”可以指示所命名的对象中的一个或一个以上。因此,例如“一处理器”可以包括一个或一个以上的处理器,如在多核处理器、集群或并行处理设置中。
[0045]应理解,前面描述的所公开的实施例被提供来使本领域技术人员能够使用和利用本公开内容。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,并且本文限定的一般原理可以应用于其它实施例,而不背离本公开内容的精神或范围。因此,本公开内容不旨在局限于本文示出的实施例,而是符合与本公开的原理和新颖特征一致的最广范围。例如,应理解,本公开内容不局限于特定布置,如组件1200。
[0046]本领域技术人员将进一步理解,关于本文公开的实施例描述的各说明性模块和步骤可以被实现为电子硬件、计算机软件或二者的组合。例如,图4和图10的示例步骤可以使用软件模块、硬件模块或组件或软件模块和硬件模块或组件的组合来实现。因此,在一个实施例中,图4和图10的示例步骤中的一个或多个步骤可以包括硬件模块或组件。在另一实施例中,图4和图10的步骤中的一个或多个步骤可以包括在计算机可读存储介质中存储的软件代码,该软件代码可由处理器执行。
[0047]为了清楚地说明硬件和软件的此可互换性,各说明性组件、框、模块和步骤已经在上面从它们的功能(例如,协调电池虚拟化模块1260)方面概括地进行了描述。这样的功能被实现为硬件还是软件取决于特定应用和对总体系统施加的设计约束。本领域技术人员可以对每个特定应用程序以不同的方式实现所描述的功能,但是这样的实现方式决定不应被解释为导致背离本公开内容的范围。
【权利要求】
1.一种用于虚拟化个人移动设备中的电池的系统,包括: 用户策略和规则引擎,用于对所述个人移动设备规定一组电源管理策略; 应用程序功率监视模块,用于监视在所述个人移动设备中运行的每个应用程序的电池使用量;以及 功率感知应用程序资源调度器模块,用于基于所监视的电池使用量和所述电源管理策略对在所述个人移动设备中运行的应用程序调度资源。
2.根据权利要求1所述的系统,其中所述用户策略和规则引擎包括用户界面,所述用户界面用于使用户对在所述个人移动设备上运行的应用程序或应用程序类规定电池分配。
3.根据权利要求2所述的系统,其中所述用户界面显示与在所述个人移动设备上运行的所述应用程序或应用程序类相关的所监视的电池使用量。
4.根据权利要求1所述的系统,其中所述一组电源管理策略对与所述个人移动设备关联的多个用户角色和环境规定电池使用量分配。
5.根据权利要求1所述的系统,其中所述应用程序功率监视模块监视CPU和存储器使用量并且计算电池使用量的估计。
6.根据权利要求1所述的系统,其中由所述功率感知应用程序资源调度器调度的资源包括来自由CPU周期、I/O设备和存储器组成的组中的资源。
7.—种用于在由用户控制的一组个人移动设备之间虚拟化电池的方法,所述方法包括: 对在所述个人移动设备中运行的应用程序建立电源管理策略; 监视在所述个人移动设备中运行的每个应用程序的电池使用量;并且 基于所监视的电池使用量和电源管理策略,在所述个人移动设备之间迀移应用程序。
8.根据权利要求7所述的方法,其中通过用户控制所述个人移动设备,设置该组电源管理策略。
9.根据权利要求7所述的方法,其中建立电源管理策略包括对在所述个人移动设备中运行的应用程序规定电池使用量分配。
10.根据权利要求9所述的方法,其中所述电源管理策略进一步对与所述个人移动设备关联的多个用户角色和环境规定电池使用量分配。
11.根据权利要求7所述的方法,其中监视每个应用程序的电池使用量包括监视CPU和存储器使用量并且将它们转换成电池使用量。
12.根据权利要求7所述的方法,进一步包括基于所监视的电池使用量和电源管理策略,对在所述个人移动设备中运行的应用程序调度资源。
13.根据权利要求7所述的方法,其中监视在所述个人移动设备中运行的每个应用程序的电池使用量包括在被虚拟化的个人移动设备之间监视电池使用量并且运行管理程序。
14.一种非瞬态计算机可读介质,具有在其上存储的指令,所述指令可由处理器执行以: 显示用户界面,以规定电源管理策略并且对在由用户控制的一组个人移动设备中运行的应用程序监视电池使用量; 基于所监视的电池使用量和电源管理策略,在所述个人移动设备之间迀移应用程序;并且 基于所监视的电池使用量和电源管理策略,在所述个人移动设备之间全局地调度资源。
15.根据权利要求14所述的非瞬态计算机可读介质,其中用于在所述个人移动设备之间全局地调度资源的可执行例程包括:用于管理在所述个人移动设备之间运行的应用程序的调度的许可控制例程。
【文档编号】G06F9/44GK104487912SQ201280073052
【公开日】2015年4月1日 申请日期:2012年3月8日 优先权日:2012年3月8日
【发明者】苏亚塔·班纳吉, 帕拉梅斯瓦兰·拉马纳坦, 金奎韩 申请人:惠普发展公司,有限责任合伙企业