基于上下文信息的电力和负载管理转让专利

申请号 : CN201280029561.3

文献号 : CN103608747B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J·阿塞姆D·福提尔M·豪尔A·卓哈D·里德

申请人 : 微软技术许可有限责任公司

摘要 :

在此描述了基于诸如位置、负载、可用替换、电力成本和带宽成本之类的因素来作出与设备电力使用有关的决策的电力上下文系统。该系统结合了与使用设备的情况有关的上下文知识。通过使用位置上下文,设备可作出与以下各项有关的更智能的决策:判定哪些过程要迁移到云、在各应用间进行负载平衡、以及取决于用户距电源有多远来切换到省电模式。当云变得被更频繁地使用时,通过利用分布式数据仓库取决于诸如可访问性、场所和电力成本之类的因素将各过程移动到世界各地的不同位置来进行负载平衡是电力管理的考量。对移动设备的电力管理日益变得重要,同时与云集成产生了设备能够可靠地访问和持久保持数据的期望。

权利要求 :

1.一种用于基于位置来管理计算设备中的电力的计算机实现的方法,所述方法包括:检测在所述计算设备上调用的电力密集任务;

确定所述计算设备的当前电力状态;

确定所述设备的位置以及与附加的电力和/或计算资源的邻近度,其中确定所述设备的位置包括确定电力可用性以及所述设备的当前电力级别是否足以完成在用户到达附加电源的位置之前将发生的任务;

标识用于执行所请求的任务的一个或多个替换设备;以及

基于所确定的所述设备的位置以及所接收到的其他信息,采取基于电力的动作来管理所述计算设备,其中以上所有步骤由至少一个处理器来执行。

2.如权利要求1所述的方法,其特征在于,检测电力密集任务包括确定由所述计算设备的用户运行的应用。

3.如权利要求1所述的方法,其特征在于,检测电力密集任务包括从应用或其他资源接收描述所述任务的一个或多个资源需求的信息。

4.如权利要求1所述的方法,其特征在于,检测电力密集任务包括确定允许所述任务在本地执行,还是在另一设备处远程地执行所述任务。

5.如权利要求1所述的方法,其特征在于,确定当前电力状态包括确定以下各项中的至少一个:处理器的电压级别和频率,被打开和关闭的一个或多个存储器排,屏幕亮度,背光状态,以及一个或多个传感器、外围设备和通信硬件是否被上电。

6.如权利要求1所述的方法,其特征在于,确定当前电力状态包括从所述设备收集电力状态信息,并查询应用以确定当前所预期的完成现有任务的电力状态。

7.如权利要求1所述的方法,其特征在于,确定当前电力状态包括确定要将所述设备转移到的新电力状态。

8.如权利要求1所述的方法,其特征在于,确定所述设备的位置包括确定另一设备是否能够更高效地处理所述任务。

9.如权利要求1所述的方法,其特征在于,标识替换设备包括确定到能够处理检测到的任务的数据中心或云的连接是否可用。

10.如权利要求1所述的方法,其特征在于,标识替换设备包括请求描述所述替换计算资源的可用性和电力成本的信息。

11.如权利要求1所述的方法,其特征在于,采取基于电力的动作包括以下各项中的至少一个:将所述设备的当前电力状态转移到另一电力状态、防止转移所述设备的电力状态,以及将在所述计算设备上运行的所请求的任务或其他负载转移到一个或多个替换计算设备。

12.如权利要求1所述的方法,其特征在于,采取基于电力的动作包括选择将向所述计算设备的一个或多个用户提供良好体验同时高效地使用电力并管理成本的动作。

13.一种用于基于计算设备上的上下文信息来进行电力和负载管理的计算机系统,所述系统包括:被配置成执行包含在以下组件内的软件指令的处理器和存储器;

电力状态组件,所述电力状态组件维护描述所述计算设备的当前电力状态的信息;

负载感测组件,所述负载感测组件感测由所述计算设备上的活动引发的一个或多个负载请求;

电力成本组件,所述电力成本组件确定所述计算设备的当前电力成本和将来电力成本;

位置知晓组件,所述位置知晓组件确定所述计算设备的当前位置,并确定该设备的一个或多个潜在的后续位置,并确定电力可用性以及所述设备的当前电力级别是否足以完成在用户到达附加电源的位置之前将发生的任务;

决策引擎组件,所述决策引擎组件从其他组件接收信息,并作出与所述计算设备的电力状态以及是否将负载转移到远程设备有关的决策;

负载转移组件,所述负载转移组件基于确定的电力成本将计算负载从所述计算设备转移到由所述决策引擎指示出的辅助计算设备;以及电力节省组件,所述电力节省组件基于位置信息将所述计算设备从所述当前电力状态转移到另一电力状态,或者防止从所述当前电力状态开始的转移。

14.如权利要求13所述的系统,其特征在于,所述电力成本组件与所述位置知晓组件协调以知道目前位置中的电力成本比照一个或多个预期的后续位置中的电力成本。

说明书 :

基于上下文信息的电力和负载管理

[0001] 背景
[0002] 从移动电话到数据中心,能量效率越来越成为重要的区别之处。顾客愿意为更持久的移动设备体验支付额外费用,而且渴望从这些相同设备获取提升的性能。在该规模的另一端,数据中心继续扩大计算能力,然而面临对于什么可被有效地冷却的热限制。另外,公众越来越意识到能量使用和能量使用的环境影响。因此,在许多类型的计算系统中,对能力进行高效使用是较高优先级的设计目标。
[0003] 随着移动设备变得普遍存在,电力管理和与云集成对于提供不间断的访问及持久保存移动设备上的数据而言变得日益重要。当今,移动设备通常具有相对较少的电力状态。设备要么处于使用中并以满电力操作,要么处于待机或空闲状态并以低电力操作。如果电池较低,则设备可采取某些步骤来减少电力使用,诸如使屏幕变暗。然而,这样的动作可能干扰用户对设备的使用。
[0004] 数据中心面临类似的问题。在某些情况下,某组织操作多个数据中心,并具有基于特定规范来将计算请求路由到一个以上数据中心的灵活性。例如,数据中心操作者可能能够仅将与数据中心所具有的计算和冷却能力一样多的请求路由到数据中心。随后,操作者可以将任何溢出请求发送到处于另一位置的另一数据中心。
[0005] 在这些情况下作出的决策通常未被最优地作出的,因为这些决策是在没有使用对该情况的完整知识的情况下作出的。例如,数据中心可能没有预测到基于时刻,客户机请求将显著下降,使得不需要卸载工作或仅临时需要卸载工作。同样,移动设备可能没有预测到用户打算在10分钟内将该设备插入电源,使得现有的电池寿命量即便较低但也足以允许用户使用该设备的所有能力。这些决策不能导致与利用更智能的设备或者通过使用对这些设备在其中操作的环境可用的全面上下文知识集合所能够实现的同样合乎需要的结果。
[0006] 概述
[0007] 在此描述了基于诸如位置、负载、可用替换、电力成本和带宽成本之类的因素来作出与设备电力使用有关的决策的电力上下文系统。该系统结合了与使用设备的情况有关的上下文知识。通过使用位置上下文,设备可作出与以下各项有关的更智能的决策:判定哪些过程要迁移到云、在各应用间进行负载平衡、以及取决于用户距电源有多远来切换到省电模式。当云变得被更频繁地使用时,通过利用分布式数据仓库取决于诸如可访问性、场所和电力成本之类的因素将各过程移动到世界各地的不同位置来进行负载平衡是电力管理的考量。对移动设备的电力管理正随着移动设备的普及度而变得越来越重要,并且与云集成产生了对设备能够可靠地访问及持久保存数据的期望。作出取决于环境上下文、系统中可用的资源的上下文来管理电力以及将处理器昂贵的计算卸载到云以便省电的智能决策的设备对用户更有用。因此,电力上下文系统可以提供更低的数据中心成本、延长的移动电池寿命、以及更令人满意的用户体验。
[0008] 提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0009] 附图简述
[0010] 图1是示出在一个实施例中的电力上下文系统的各组件的框图。
[0011] 图2是示出在一个实施例中的电力上下文系统基于位置来管理计算设备中的电力的过程的流程图。
[0012] 图3是示出在一个实施例中的电力上下文系统将计算负载从一个计算设备转移到另一计算设备的过程的流程图。
[0013] 详细描述
[0014] 在此描述了基于诸如位置、负载、可用替换、电力成本和带宽成本之类的因素来作出与设备电力使用有关的决策的电力上下文系统。与先前的设备相比,该系统更智能,因为该系统结合了与使用设备的情况有关的上下文知识。通过使用位置上下文,设备可以作出与以下各项有关的更智能的决策:判定哪些过程要迁移到云、在各应用之间进行负载平衡、取决于用户距电源有多远(其中,“远”可以是地理距离,或者到预期用户将在可用电源附近为止的时间)来切换到省电模式。例如,与用户正行进远离电源的情况相比,在用户正在移动设备上以低电池运行处理密集的应用,但是基于用户的位置,用户很快就要到其中可以向该设备充电的家的情况下,用户可以采取更不省电的动作。类似地,如果数据中心服务器在高峰电力成本期间正在某地区中处理负载,而另一数据中心正以非高峰电力成本在世界上的另一部分处可用,则服务器可以将该负载转移到具有较低电力成本的该另一数据中心。将这些替换的可用性以及上下文信息考虑在系统所作出的决策内。
[0015] 电力上下文系统作出与电力成本有关的决策。在移动设备场景中,电力成本是该设备将停止工作的成本。在数据中心场景中,该成本是美元。该系统的一个任务是使用各种上下文信息和外部因素来确定为了优化电力成本要做什么。如果廉价的电源正接近可用,或者(例如,数据中心中的)电力成本将要减少,则决策可以是继续这么做。否则,决策可以是迁移到电力成本较低的另一“节点”。电话可以将工作负载迁移到数据中心,并且数据中心可将其迁移到另一数据中心(或该电话)。
[0016] 设备还可以基于位置和历史知识/数据来作出与要做出哪个数据连接有关的更智能的决策。例如,如果用户接近家/办公室,则设备可停止通过蜂窝网络下载,并等待直到较高带宽的Wi-Fi网络连接可用。某些设备也限制通过某些网络的下载尺寸,而等待可允许较大的文件被下载。如果设备知道较佳的连接很快将可用,则该设备就将该下载排队以便一旦该合适的网络可用就开始。
[0017] 当云变得被更频繁使用时,通过利用分布式数据仓库取决于诸如可访问性、场所和电力成本之类的因素将各过程移动到世界中的不同位置来进行负载平衡是电力管理的考量。对移动设备的电力管理正随着移动设备的普及度而变得越来越重要,并且与云集成导致对设备能够可靠地访问及持久保存数据的期望。作出取决于环境上下文、系统中可用的资源的上下文来管理电力以及将大量消耗处理器的计算卸载到云以便省电的智能决策的设备对用户更有用。迁移也可以以其他方向发生,其中云将工作卸载到一个其他设备或其他设备的网络(例如,像SETI项目)。因此,电力上下文系统可以提供更低的数据中心成本、延长的移动电池寿命、以及更令人满意的用户体验。
[0018] 对于移动设备,应用和资源的有效电力管理有助于延长设备的电池寿命。当移动设备被插上电源或被完全充电时,应用可以请求更高的计算能力。然而,当电池电力较低时,对高计算能力的连续使用将快速耗尽电池,从而导致潜在的数据损失或对该设备的中断使用。因此,取决于移动系统可用的电力量,可允许执行利用不同电力量的应用。基于事件的子系统可有助于基于可用的电力在各应用之间平衡计算负载。事件允许各应用就所需的计算能力和存储器资源的量以及应用不在使用的可用资源的量进行通信。该系统可以监视各应用之间的事件并进行负载平衡,使得计算上昂贵的各应用可在存在低电力时被挂起,且资源可在更多资源变得可用时被在各应用之间重新分配。
[0019] 电力上下文系统可以使用设备在地理上位于何处以及还要多久预期电源才可用的上下文来确定哪些应用被允许运行及哪些应用被断电。通常,计算上密集的应用在电力较低时首先被断电。然而,如果该设备可以利用其位置上下文和目的地,并可确定它在几分钟内就会到家,在家里不昂贵的电源可用,则省电可能并不是必须的。结果,计算上昂贵的应用可继续运行,而不管该低电力系统状态。利用位置上下文可允许设备动态地作出更智能的决策,并预测它是否需要省电。此外,与替换资源(诸如设备可访问的云)的可用性有关的上下文信息可允许该设备将计算上密集的任务卸载到云,同时该设备被置为休眠或被允许运行其他应用。基于设备的位置,用户可能能够在处于后续位置(例如,用户工作时的台式计算机)的另一设备处或者在移动设备连接到电源后在该移动设备上接收所卸载的工作的结果。
[0020] 电力上下文系统还可以基于感测环境使用试探法来确定何时应基于当前电力/位置/使用模型来访问各个设备子系统。对内核的系统调用比其他调用更为在计算上昂贵。内核和传感器之间的握手可被利用来管理各应用间的电力。例如,该系统可以在设备处于低电力状态时允许较小子集的低电力传感器操作,并且如果这些传感器检测到了某件重要的事,则该系统可将该设备唤醒到用于简要处理较复杂事件的较高电力状态中。在某些情况下,传感器可以提供较低保真度、较低电力模式,在该模式中,可以为了某一感测详尽性而牺牲低电力使用。这可以提供足够好的信息,以检测以更多的电力使用为代价而唤醒更多的传感器以得到更高保真度的读数是否值得。
[0021] 到云的过程状态迁移可用于卸载计算上昂贵的工作、提供在云中的存储、或将各过程迁移到另一设备继续处理(诸如从电话迁移到计算机)。云可以用作作为移动设备的扩展的虚拟化环境,并且可以与移动系统无缝集成以供进行负载平衡。诸如后台服务之类在该系统上运行的过程可以被切换到从云运行的虚拟化过程。
[0022] 随着云计算变得更普遍,对数据中心的电力管理也变成一个重要的问题。分布式数据中心之间的负载平衡过程可以基于电力成本。过程可以取决于电力成本在何处较便宜而被移动到不同的位置,或者处理可以被调度使得在高峰小时不进行执行。例如,日常的批处理可以被延迟,直到非高峰小时,以允许更便宜的电力成本、更多的处理,同时外部温度更低(并且因此数据中心冷却成本更低)等等。由于云计算是虚拟化环境,因此带宽和安全性是要解决的重要问题。取决于场所、天气和地理因素,数据可被限制于某些数据仓库位置。例如,某些组织可被限制而不能将某数据存储在特定国家,使得到这些国家中的数据中心的迁移被禁止。数据的访问频率也可以作为影响数据可被推送到的位置的因素。被频繁访问的数据可被保持在附近,而较不被频繁访问的数据可被移动到不可较快速访问(并且较便宜或未被充分使用)的位置。
[0023] 图1是示出在一个实施例中电力上下文系统的组件的框图。系统100包括电力状态组件110、负载感测组件120、电力成本组件130、位置知晓组件140、决策引擎组件150、负载转移组件160、电力节省组件170和应用通信组件180。这些组件中的每个都在此予以更详细讨论。
[0024] 电力状态组件110维护描述计算设备的当前电力状态的信息。例如,组件110包括移动设备是否正被积极地使用、处于休眠状态、和已使背光/屏幕变暗等知识。对于数据中心,组件110包括性能计数器、操作系统电力状态、和设备状态的知识等。电力状态组件110向系统100提供用于作出有关以下的决策的信息:是否进入不同的电力状态以及该设备目前使用了多少电力。基于接收到的使用更多或更少电力的请求,系统100可使用该信息将设备转移到更高或更低的电力状态。例如,如果用户请求运行处理密集的应用并且该设备处于休眠状态,则系统100可以判定唤醒该设备还是将该用户请求推迟到另一时间(或另一设备或云)。
[0025] 负载感测组件120感测由计算设备上的活动引发的一个或多个负载请求。负载可以来自消耗计算设备上的资源的客户机请求、交互式用户、应用后台任务、操作系统服务、批处理、或任何其他任务。负载感测组件120在负载开始时、预期到将来的负载时、负载完成时、以及在从一个负载级别到另一负载级别的潜在转移的其他时间处提供信息。系统100使用该信息来在该设备的各可用电力状态之间进行选择,并确定是否将使用替换设备通过将负载转移到该替换设备来处理该负载的全部或部分。例如,经历高负载(及相应的高电力成本)的数据中心服务器可以将部分负载转移到另一数据中心来完成。
[0026] 电力成本组件130确定计算设备的当前电力成本和将来电力成本。组件130可以从标识高峰时刻和非高峰时刻或其他电力成本等级的各设施或管理员处接收信息。组件130还可以接收标识计算设备的地理位置的信息、每天的温度信息和影响电力成本的其他信息。对于移动设备来说,组件130可以与位置知晓组件140协调以知道目前位置中的电力成本比照(versus)预期的后续位置中的电力成本。成本可以包括金融成本以及获得更多电力的努力、和移送设备中的电池使用以及线绳电力使用之间的差异(例如,前者可以是受限的,而后者并不受限)等等。
[0027] 位置知晓组件140确定计算设备的当前位置,并确定该设备的一个或多个潜在的后续位置。组件140可以访问安装在该设备中的全球定位系统(GPS)接收机硬件、蜂窝塔信息、Wi-Fi信息、或用于三角剖分或确定设备的位置的其他位置数据。数据中心也可以通过显式配置信息或通过外部可用信息(诸如,GPS、Wi-Fi或其他信号)而具有位置知晓。如今,某些数据中心甚至是可移动的,包括那些容纳在通过车辆来移动的容器中的数据中心。此外,组件140可访问与设备的用户相关联的电子日历,以确定对于将来的约会设备可处于的位置。组件140还可以跟踪历史信息,并趋于确定用户的习惯以及用户在任何特定时间可将该设备带到何处。例如,如果设备的目前位置处于用户在每天几乎相同的时间将该设备带到的位置附近,则组件140可以确定该设备很快将处于该日常目的地。目的地可以是用户的家或办公室,并且可以是该设备通常具有对附加的电力、通信或处理资源的访问的位置。该信息被决策引擎组件150考虑在内以确定如何管理该设备。
[0028] 决策引擎组件150从其他组件接收信息,并作出与计算设备的电力状态以及是否将负载转移到其他设备有关的决策。决策引擎组件150可以使用各种各样的试探法、简档、策略和其他信息或方法来作出与如何管理该设备有关的决策。在某些情况下,管理员为与组织或业务相关联的各设备开发电力策略。例如,该策略可以指示决策引擎组件150将在用户远离电源时(例如,通过卸载工作或进入较低电力状态)最大化电池寿命,并在用户在电源附近时最大化处理能力。对于数据中心,策略可指示组件150将通过在可能时将工作卸载到非高峰数据中心来最小化电力成本、热量标高和/或带宽成本。决策引擎组件150调用负载转移组件160和电力节省组件170来实施决策并采取其他动作。
[0029] 负载转移组件160将计算负载从计算设备转移到辅助计算设备。在某些情况下,计算设备是移动设备,而辅助计算设备是可以代表该移动设备来执行处理任务的数据中心或云服务器。在其他情况下,计算设备可以是数据中心服务器本身,而辅助计算设备可以是另一数据中心服务器、分布式移动设备网络、家庭服务器、或任何其他计算资源。负载转移旨在寻找用于以低成本、低电力使用或为满足其他目标而处理负载的较好场所。转移可包括转移整个过程,或转移过程的可被划分或分发的各部分。
[0030] 电力节省组件170将计算设备从当前电力状态转移到另一电力状态,或防止从当前电力状态开始的转移。在某些情况下,组件170可通过防止转移来覆盖设备要转移电力状态的默认行为。例如,该决策可基于对附加电力的、基于位置的预期后续访问。在其他情况下,组件170可以基于从决策引擎组件150接收到的指令(包括基于位置、电力成本、和可用替换等等的那些指令)来将设备从较高电力状态转移到较低电力状态,或反之亦然。
[0031] 应用通信组件180可选地提供在计算设备上操作的应用之间的基于事件的通信设施,以协调计算设备上的电力需求和可用性。由计算设备执行的许多任务是可选的,并且可被推迟到另一时间而不会挫败该任务的目的。例如,计算设备可以例行地执行批处理、系统维护、或其他任务,但对其执行不具有特定的最终期限。因此,如果系统维护任务与它想要运行但不想要任何响应的其他应用通信,则它可以运行而不干扰其他应用。另一方面,如果另一应用指示它在处理密集工作或者想要使用最后的可用电力量,则维护任务可以推迟其工作以使得电力或资源对该另一应用可用。
[0032] 在其上面实现了电力上下文系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和指示设备)、输出设备(例如,显示设备),以及存储设备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以是编码有实现或启用该系统的计算机可执行指令(如软件)的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传输介质传送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
[0033] 该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码相机、网络PC、小型计算机、大型计算机、包括上述系统或设备等中任一种的分布式计算环境、机顶盒、片上系统(SOC)等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
[0034] 该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
[0035] 图2是示出在一个实施例中的电力上下文系统基于位置来管理计算设备中的电力的过程的流程图。
[0036] 在框210处开始,系统检测到在计算设备上调用的电力密集的任务。例如,用户可以运行应用或请求信息,应用可以请求执行后台或其他处理,操作系统的服务可以请求执行系统维护等。系统可以从应用或其他源接收描述任务的资源需求的信息,诸如处理量、存储器、带宽或将使用的其他资源。基于该信息,系统可以确定允许该任务全部运行,还是在另一设备处远程地运行该任务。
[0037] 在框220继续,系统确定计算设备的当前电力状态。例如,电力状态可以包括处理器的电压级别、被打开和关闭的存储器排、屏幕亮度或背光状态、及一个或多个传感器和通信硬件是否被上电等。系统从设备收集电力状态信息,并可查询应用以确定当前所预期的完成现有任务的电力状态。基于该电力状态,系统可以确定要将该设备转移到的新电力状态,或者可以确定添加新请求的任务是否会使该设备过载或使用太多电力。
[0038] 在框230中继续,系统确定设备的位置及与附加的电力和/或计算资源的邻近度。位置可以包括有助于系统确定电力可用性以确定设备的当前电力级别是否足以完成干预任务并确定其他设备是否可能更高效地处理该任务(例如,基于其位置处的较低电力成本)的GPS位置、概念位置(例如,离家5英里)、地址或其他信息。
[0039] 在块240中继续,系统标识用于执行所请求任务的一个或多个替换设备。例如,系统可确定:到数据中心或云的连接是否可用、其他设备是否处于使用蓝牙或其他通信协议的邻近度内、该设备是否与另一计算设备接驳或栓连、带宽成本(例如,基于移动数据计划或数据中心带宽成本)等等。系统还可以请求描述替换计算资源的可用性和电力成本的信息,使得决策引擎可以确定是否定位处理任务以管理效率和成本。
[0040] 在框250中继续,该系统基于所确定的该设备的位置和其他接收到的信息来采取基于电力的动作来管理计算设备。该动作可包括将该设备的当前电力状态转移成另一电力状态、防止转移该设备的电力状态、以及将计算设备上运行的所请求任务或其他负载转移至一个或多个替换计算设备等等。系统选择将向计算设备的一个或多个用户提供最佳的可能体验,同时高效地使用电力和管理成本的动作。所采取的动作可以基于系统管理员所定义的或设备用户所指定的一个或多个策略,以符合组织或用户的特定目标。在框250之后,这些步骤结束。
[0041] 图3是示出在一个实施例中的电力上下文系统将计算负载从一个计算设备转移到另一计算设备的过程的流程图。
[0042] 在框310开始,系统接收执行将在计算设备的一个或多个资源上产生计算负载的任务的请求。例如,用户可以启动一应用,数据中心可以实例化用于处理用户请求的服务器过程,等等。系统可以使用试探法或接收到的信息来确定与所请求的负载相关联的级别并标识出该负载将消耗哪些资源。系统使用这个或其他信息来确定要在本地、在远程还是以这两者的结合执行负载。
[0043] 在框320继续,系统确定与计算设备相关联的位置,该计算设备确定附加的电力和/或计算资源的可用性。该位置可包括有助于该系统确定电力可用性以确定该设备的当前电力级别是否足以完成干预任务并确定其他设备是否可能更高效地处理该任务(例如基于其位置处的较低电力成本)的GPS位置、概念位置(例如,离家有5分钟)、地址、或其他信息。在某些情况下,位置信息包括确定:到用于完成该任务的远程位置的连接的等待时间和带宽;该系统在远程而非本地执行该任务的情况下,完成该任务的预期持续时间,等等。
[0044] 在块330中继续,系统标识出用于执行所请求的任务的一个或多个替换设备。例如,系统可确定:到数据中心或云的连接是否可用、其他设备是否处于使用蓝牙或其他通信协议的邻近度内、该设备是否与另一计算设备接驳或栓连、和带宽成本等。系统还可以请求描述替换计算资源的可用性和电力成本的信息,使得决策引擎可以确定是否定位处理任务以管理效率和成本。
[0045] 在框340中继续,系统确定用于在计算设备的本地以及在标识出的替换中的一个或多个处执行所请求的负载的电力成本。电力成本可包括货币成本、由每一位置处的执行所产生的热负载、和其他设备对其他任务的可用性等等。系统还可确定每一位置处的时刻以及基于所确定的时刻的电力成本。例如,许多电力设施公司可能在高峰时刻与在非高峰时刻相比对电力以不同的比率收费。由于各数据中心可以处于在不同的时区,处于高峰成本位置的数据中心可以能够将至少一些任务转移到处于非高峰成本位置的数据中心。
[0046] 在框350中继续,系统判定要在本地计算设备上执行所请求的负载,还是要将所请求的负载中的至少一些转移到标识出的替换计算设备。该系统可以基于位置信息和环境因素来作出判定,这些因素会在计算设备到达后续位置后改变。系统还可以基于描述本地计算设备和一个或多个标识出的替换计算设备上的负载的电力成本、带宽成本或其他信息来作出判定。例如,如果移动设备电池上较低,或者预测了接收到新任务以后对所有可用电池寿命的需要,则该设备可将任务转移到云来执行,并为其他任务保存移动设备的电池寿命。作为另一示例,处于高电力成本区域的数据中心可以推迟任务直到较低电力成本时刻为止,或将任务转移到较低成本数据中心。该系统基于先前的系统没有考虑的可用的附加信息来挑选用于执行每一任务的最高效的位置。在框350之后,这些步骤结束。
[0047] 在某些实施例中,电力上下文系统操作者与影响系统所作的决策的运营商或其他实体间具有软件许可或其他协定。例如,移动运营商可定义指定用于使用Wi-Fi、3G、4G或其他传感器和通信硬件的电力简档(profile)的策略。对于某些用户数据计划来说,运营商可以选择该运营商的使用最少成本通信硬件的简档,而使用其他数据计划,运营商可以优化设备的电池寿命或吞吐量。在某些情况下,运营商可以提供最大化设备的用户所体验到的服务质量(QoS)的高端计划。
[0048] 在某些实施例中,电力上下文系统可以通过选择特定通信硬件来管理通信成本。虽然处理和电力成本已在此处的示例中被使用,但用户还面临其他类型的成本。例如,具有来自移动运营商的3G计划的用户可能希望设备在Wi-Fi连接可用时偏好Wi-Fi连接,其中该
3G计划包括在有限数据传送量之后征收附加成本。在某些情况下,基于位置信息,设备可以等待直到用户到家而能够经由Wi-Fi(因此不使用3G数据计划资源)来执行原本将使用3G数据计划资源来执行的某些任务。移动设备可以包括设置阶段,在该设置阶段期间,用户提供这样的偏好,或者可以由运营商或其他实体(诸如,处于用户的工作场合的信息技术(IT)人员)向他们提供这样的偏好。
[0049] 在某些实施例中,电力上下文系统将与将负载转移到远程位置相关联的成本考虑在内。例如,转移可包括发送任务和接收结果的带宽使用。某些任务还可涉及处于任务完成的各种中间阶段的用户输入或其他通信。基于该信息,转移负载的等待时间或带宽成本可能是不合乎需要的,即使其他因素(诸如,最大化本地设备电池寿命)可以表明支持这种转移。因此,该系统可以将各种考虑和彼此冲突的目标考虑在内,以确定执行每一负载的合适位置。
[0050] 在某些实施例中,电力上下文系统包括历史数据存储,该存储包括系统观察到的历史信息。系统可使用学习或其他技术来发现趋势,并基于过去的用户习惯、从大量用户聚集的趋势或其他信息来改进决策作出过程。该系统可以随时间存储信息,并使用将该信息用作反馈来使得系统作出的决策更好。在某些实施例中,该系统向管理员提供报告,管理员可以基于当前决策工作起来有多好来修改系统,以满足电力、成本和其他目标。
[0051] 从上文将会认识到,虽然在此已出于说明目的描述了电力上下文系统的特定实施例,但是可以做出各种修改而不背离本发明的精神和范围。因此,本发明只受所附权利要求限制。