多电池设备中的负载调度的制作方法

文档序号:13766034阅读:202来源:国知局
多电池设备中的负载调度的制作方法

在电子器件中的能量效率——特别是取决于操作功率的有限源——是对设备工程师的重要关注点,并且在产品设计师的工作中通常是一个重要的限制因素。随着电池供电的移动设备在商业和个人环境中变得无处不在,提高能效的问题仍然与以往一样重要。因此,用于提高这种设备中的能量效率的研究和开发努力是多种多样的,从硬件材料和架构的改进到操作系统调度效率以及在应用层的改进的设备资源管理。

现有系统通常依赖于单个电源(例如,单个电池),从中提取所需的功率,而不管设备的硬件和软件功能的状态如何。即使在使用多个电池单元的越来越常见的系统中,电池组的部件单元或其他部分通常被该设备处理为单个电池模块。

在当前普通的单实体电源范例下,来自设备的所有功率负载由单个电源服务,而不管负载的类型如何(例如,后台应用或进程对流视频)。即使在具有多个可单独访问的电池模块的系统中,通常以不考虑电池的固有和变化特性的方式将负载分配给电池。例如,通常将所有负载分配给单个电池,直到电池的能量耗尽,此时所有负载被分配给另一个电池,直到该电池耗尽,等等。其他典型的系统在电池模块之间连续地尽可能均等地分担负载,使得系统可用的所有电池的充电状态保持基本上均匀或“平衡”。

在本领域中通常表示的系统使得难以或不可能考虑浪费能量的变化百分比,其部分地取决于负载的性质和电池的状态,或者在设计设备或系统时利用那些已知的性质。



技术实现要素:

本文所讨论的技术和设备促进具有多于一个电池模块的设备中的负载调度。该技术使得负载调度模块能够以通过降低设备的总能量消耗来提高效率的方式来调度多个电池之间的设备中的负载,从而延长装置及其电池的寿命。负载调度模块可以通过响应于多个不同的电池和负载特性分配负载来利用系统中不同电池的物理特性。

本发明内容被提供以用于以简化形式介绍概念的选择,其在以下的具体实施方式中将做出进一步的描述。本发明内容并不旨在识别要求保护的主题的关键特征或者核心特征,其也并不旨在被用来确定要求保护的主题的范围。例如,术语“技术”可以指代一个或多个系统、方法、计算机可读指令、模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD))和/或上下文和和整个文档所允许的技术。

附图说明

具体实施方式参照附图进行描述。在附图中,附图标记的最左边的(多个)数字标识在其中该附图标记首次出现的附图。在不同的附图中相同的附图标记表示相似或相同的项目。

图1是描绘其中多电池设备中的负载调度的实施例可操作的示例环境的框图。

图2是描绘根据一些实施例的采用电池监测和工作负载估计模块的示例性电源管理模块的系统框图,两者都向负载调度模块提供信息。

图3是根据一些实施例的用于调度功率负载的示例性贪婪调度算法的流程图。

图4是根据一些实施例的用于调度功率负载的示例性阈值调度算法的流程图。

图5是示出根据一些实施例的具有三种调度模式的示例性混合负载调度过程的流程图。

图6是示出根据示例实施例的示例性电池电阻特性曲线的绘制曲线图。

具体实施方式

概述

本文描述的实施例提供用于在具有多于一个电源模块的设备中调度功率负载的技术和设备,这些设备例如为多电池智能电话、平板计算机、膝上型和台式计算机、电子书阅读器、娱乐设备、可穿戴设备、传感器节点、和可以由多于一个电池模块供电的其他设备。这种设备中的“负载”可以概念化为需要来自设备的(多个)功率模块的电功率以便被完成的设备的任何功能。在各种实施例中,负载可以对应于例如处理器功能、用户活动、用户应用、操作系统或内核进程、输入/输出进程和设备、存储器进程和数据存储硬件的任何组合。更具体地,术语“负载”可以指由上述过程、功能或硬件元件中的一个引起的电负载的概念,指负载引起的过程、功能或硬件元件本身,或两者皆有。

出于本公开目的的电池或电池模块可以指从设备和/或负载调度模块角度起作为单一实体起作用的任何有限功率源。例如,电池模块可以表示单个电池单元或电池组的大网络,每个电池组包含许多单元。术语“电池模块”还可以应用于诸如电容器、超级电容器、燃料电池或任何其他化学、热或机械能存储模块的设备可用的任何其他非无限能量或功率源。

每当任何设备汲取功率时,在其被直接应用于对设备的功能部件(即,负载)供电的意义上,只有所汲取的能量的一部分实际上变得“有用”。无论是否由功率的物理传递、设备中使用的材料的性质、电池组的特性、或设备的硬件和软件的操作设计中的低效率导致,设备中的低效率损失了所汲取的相当大部分的功率。

确定电池中多少功率变成浪费的能量的两个重要因素是电池的内阻和负载的功率。浪费的能量通常被认为是不能到达系统或设备的功能部分的能量,而有用的能量是来自如预期那样充当直接向设备的过程、功能或硬件元件提供功率的电池的能量。由于在有用能量达到的设备的功能区域中固有的其他低效率(例如,在处理器或显示器中产生的热量),来自电池管理视角的“有用的”能量仍然可能“丢失”,但是这种能量仍然可以被认为是有用的能量,因为它在达到其在设备内的预期功能之前不被“浪费”。从提高负载调度的效率的角度来看,仅在到达系统或设备的其他功能部件之后才被浪费的能量(例如,由于各种设备硬件中固有的低效率或者与负载调度无关的低效软件算法而浪费的能量)通常不应从负载调度模块或算法的角度被认为是“浪费”。内阻可以取决于许多因素,包括电池的充电状态、活性电池材料的化学组成、电池的寿命、电池已完成多少次放电循环以及电池的温度等。充电状态(在电池中剩余多少电荷)与例如在当代移动设备中使用的典型电池中的电池的内阻密切相关。

众所周知,与相对较低功率的负载相比,高功率负载在电池中引起更多的浪费的能量。例如,考虑移动设备的两种不同状态:(1)观看视频和(2)待机模式。观看视频的功耗很高,需要为显示器和处理器密集型视频渲染供电。相比之下,待机模式仅使用最少的背景处理,并且通常不需要显示器是可操作的。但是,不仅观看视频的功率需求更高,而且与待机模式或具有比观看视频的功率要求更低的任何其他活动相比,浪费的电池中的能量的百分比也更高。这里描述的这些原理及其发明是可扩展的并且适用于具有更高或更低功率要求的其他系统。例如,在电动或混合动力车辆中,车辆的加速度可以被认为是相对高功率状态,而停车灯处的空闲可以被认为是相对低功率状态。

浪费的能量还取决于电池的内阻(也称为DC内阻或DCIR)。一般来说,电池的内阻越高,与成为最终为设备的功能部分供电的有用能量的能量相比,更多的能量将成为浪费能量。作为这种现象的简化解释,考虑电池作为由理想的电压V的功率源和电阻R的电阻器构成的等效电路,电阻R代表电池的内阻。根据欧姆定律,电池内部的浪费能量等于电流乘以内阻的平方乘以持续时间:

Ewaste=I2RT

因此,对于给定的负载功率,内阻R越高,浪费的能量越高。

实际上,电池的充电状态与目前通常使用的电池的内阻密切相关。实验结果表明,当电池变空时,其内阻变大。因此,浪费的能量也变大。这些观察导致一般的原理,即电池的低充电状态将导致更多的浪费的能量(对于相同的负载)。换言之,电池越空,浪费的能量越多,而电池越充足,浪费的能量越少。

与先前方法相反,本文所讨论的技术和设备被设计为利用电池的固有特性,以便响应于负载的类型和电池本身的各种特性来调度设备中的多个电池之间的负载。

在各种实施例中,基于服务负载所需的功率来表征每个负载,并且负载特性信息可以被提供至负载调度模块。在任何给定时间,可以监测设备中的每个电池的各种参数。例如,可以测量和/或估计电池的内阻。类似地,可以测量和/或估计电池的充电状态。可以监测其他参数,诸如电池的组成、温度和老化、和/或电池已经完成的放电循环的次数,并将其提供至负载调度模块。

在各种实施例中,负载调度模块基于负载特性和电池的监测参数来选择或“调度”电池以处理各个负载。

在一些实施例中,负载调度模块根据“贪婪”算法调度负载。在使用贪婪算法的一些实施例中,单个负载被表征为低功率或高功率。然后可以将低功率负载分配至相对于设备中的其他电池具有较高内阻的电池,并且将高功率负载分配至相对于设备中的其他电池具有较低内阻的电池。

在一些实施例中,负载调度模块根据阈值算法调度负载。在采用阈值算法的一些实施例中,可以计算或预定义能量阈值T。在一些实施例中,阈值算法可以将所有或大多数负载分配至第一电池,直到第一电池的累积能量输出超过阈值T。在一些实施例中,在第一电池的累积能量已经输出超过阈值T,全部或大多数低功率负载可以被分配至具有相对于系统中的其他电池更高的内阻的电池,并且全部或大多数高功率负载可以被分配至具有相对于系统中的其他电池较低内阻的电池。

在另外的实施例中,关于系统中的电池的存储的信息或属性可以被提供至负载调度模块或由负载调度模块访问。在一些实施例中,可以计算估计的工作负载并将其提供至负载调度模块。在一些实施例中,负载调度模块可以使用监测的电池参数、负载特性、估计的工作负载、存储的电池信息或属性、或其他信息的任何组合,以做出负载调度决定。

参考图1-6更详细地描述各种实施例。

说明性环境

图1是描绘其中多电池设备中的负载调度的实施例可操作的示例环境的框图。图1示出了由诸如电子消费者设备(例如,移动电话、膝上型计算机、平板计算机、电子书阅读器或其他便携式计算设备)的设备102表示的示例性基于计算的系统,其包括多个电池104并且其被配置为基于一个或多个不同因素自适应地控制多个电池104中的哪一个处理特定设备负载。负载可以是需要功率完成的系统或设备102的任何功能。例如,操作处理器或显示器、操作系统或应用进程或任何用户应用是负载的示例。

负载调度模块120做出可被称为“调度决策”的决策,即应该由哪个或哪些电池104处理哪些特定负载。被考虑做出调度决策因素的因素的示例包括但不限于:电池104的监测参数(例如充电状态、温度、老化、放电循环次数等)、关于电池104的存储信息、要被调度的(多个)负载的类型、以及已知或预测的未来工作负载。

在各种示例中,电池104可以都是相同类型——每个电池单元可以使用相同的电池技术,并且可以使用任何合适的电池技术。电池技术的示例包括但不限于:锂离子、锂聚合物和磷酸铁锂(LiFePO4)化学品、超级电容器(也称为超电容器)和燃料电池。在其他示例中,基于计算的设备102内的多个电池104可以包括不同类型的电池单元。在一些示例中,电池104可以具有基本上不同的特性,包括例如不同的容量和不同的初始和最大内阻。

基于计算的设备102还包括一个或多个处理器106,其可以是微处理器、控制器或用于处理计算机可执行指令以控制设备的操作的任何其他合适类型的设备。在一些实施方式中,例如在使用芯片上系统架构的情况下,处理器106可以包括一个或多个固定功能块(也称为加速器),其实现硬件(而不是软件或固件)中的操作方法的一部分。

可以使用能够由基于计算机的设备102访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质例如可以包括诸如存储器112和通信介质之类的计算机存储介质。诸如存储器112之类的计算机存储介质可以包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息。计算机存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或可以用于存储用于由计算设备访问的信息的任何其他非传输介质。相比之下,通信介质可以在调制的数据信号(如载波或其他传输机制)中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质本身不应被解释为传播信号。传播的信号可以存在于计算机存储介质中,但是传播的信号本身不是计算机存储介质的示例。尽管在基于计算的设备102内示出了计算机存储介质(存储器112),但是应当理解,存储器可以是分布式的或远程定位的,并且经由网络接口110或其他通信装置来访问。

可以在存储器112内的基于计算的设备102处提供包括操作系统122或任何其他合适的平台软件的操作软件,以使得能够操作设备,包括操作其他软件可实现的功能。例如,在一些实施例中,可以提供功率管理模块114,其在概念上可以包括负载调度模块120、电池监测模块116和工作负载估计模块118的任何组合。电池监测模块116可以通过将关于电池104的信息提供至负载调度模块120来辅助负载调度模块120的决策。虽然为了描述的容易和清楚起见而提供了功率管理模块114、负载调度模块120、电池监测模块116和工作负载估计模块118的概念,但本领域技术人员将理解,这些是基本上的抽象,并且在本说明书中归属于这样的模块的功能可以以任何语言或在一个或多个硬件模块中的一个或多个软件代码的任何组合来执行,硬件模块例如为微控制器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。

存储器112还可以提供数据存储器124,其例如可以用于存储由例如操作系统122、功率管理模块114、负载调度模块120、电池监测模块116和/或工作负载估计模块118所处理的数据。在一些实施例中,数据存储124包括硬盘、“闪存”驱动器或真实或虚拟和永久或临时存储装置的任何组合。例如,数据存储124可以包括诸如数据库、数据仓库或其他类型的结构化或非结构化数据存储的数据存储。在一些实施例中,数据存储124包括具有一个或多个表、索引、存储过程等的关系数据库,以实现数据访问。数据存储124可以存储用于存储在存储器112中和/或由(多个)处理器106执行的过程、应用、组件和/或模块的操作的数据。

(多个)设备102还可以包括一个或多个输入/输出(I/O)接口108,以允许设备102与输入/输出设备通信,输入/输出设备诸如是包括外围输入设备的用户输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等)和/或包括外围输出设备的输出设备(例如,显示器、打印机、音频扬声器、触觉输出等)。

设备102还可以包括一个或多个网络接口110,以使得能够通过诸如无线网络的外部网络在计算设备102和诸如(多个)其他设备102之类的其他联网设备之间进行通信。这样的网络接口110可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备,以通过网络发送和接收通信。

图1中所示的元件的附加描述在下面示出。

说明性操作关系

图2是描绘根据一些实施例的采用电池监测和工作负载估计模块的示例性电源管理模块的系统框图,两者都向负载调度模块提供信息。

在一些实施例中,可以提供功率管理模块114,其在概念上可以包括负载调度模块120、电池监测模块116和工作负载估计模块118的任何组合。负载调度模块120做出可被称为“调度决策”的决策,即应该由哪个或哪些电池104处理哪些特定负载。被考虑做出调度决策因素的因素的示例包括但不限于:电池104的监测参数、关于电池104的存储信息、要被调度的(多个)负载的类型、以及已知或预测的未来工作负载。

电池监测模块116和工作负载估计模块118可以通过将关于电池104的信息提供至负载调度模块120来辅助负载调度模块120的决策。

由电池监测模块116提供至负载调度模块120的信息可以包括关于与设备102的电池104相关的参数的当前状态的信息202。在一些实施例中,示例状态信息202可以包括内阻、充电状态、老化、完成的放电循环次数、剩余能量和从中消耗的能量的测量以及温度。在一些实施例中,电池监测模块116还可以向负载调度模块120提供关于电池104的预先存储的特性信息204。例如,可以为电池104提供放电属性,显示作为充电状态的函数的内阻,或反之亦然。可以提供任何数量的其他属性类型,例如包括作为能量输出的函数的电池电阻、作为能量输出的函数的充电状态、以及基于温度、老化、放电循环次数和其他参数的对其的修改。存储的关于可以提供的电池104的信息的其他示例是初始电阻(例如,在完全充电时的内阻)和最大电阻(例如,在全放电时的内阻)。在一些实施例中,可以响应于作为负载调度模块120或功率管理模块114的功能的结果而访问的信息和/或生成的数据而增加或修改所存储的特性描述信息204。

在一些实施例中,由工作负载估计模块118提供至负载调度模块120的信息可以包括用于操作设备102所需的功率负载的类型表征208。在各种实施例中,负载可以对应于例如处理器功能、用户活动、用户应用、操作系统或内核进程、输入/输出进程和设备、和存储器进程和设备的任何组合。例如,一些实施例可以采用负载表征方案,由此负载通过例如完成负载所需的功率的总量或负载在一段时间内所需的功率量来表征。在这样的示例实施例中,在一些实施例中,包括流视频处理和为输入/输出设备供电以向用户显示流视频的活动可以被表征为高功率负载。类似地,在一些实施例中,在设备102的待机模式期间运行的后台操作过程可以被表征为低功率负载。在一些实施例中,其他负载表征方案可以基于不同的准则,例如:负载是基于软件还是硬件,设备102的哪个组件请求和/或处理该负载,过程的结果是否对于设备102的用户是显见的,以及其他准则。

根据一些实施例的示例负载类型表征方案可以使用任何数量的可能类型表征。例如,基于在一段时间内所需的功率来表征负载的负载类型评级方案可以将所有负载评定为低功率或高功率负载。可替代地,这种方案的其他实施例可以包括基于负载在一段时间内的功率要求的十个(或任何其他数量)负载类型额定值级别。

根据一些实施例,提供至负载调度模块120的信息还可以包括估计工作负载208。在一些实施例中,未来工作负载可以由工作负载估计模块118估计,并提供至负载调度模块120或由负载调度模块120访问。在示例实施例中,可以例如在直到设备102不再具有需要从电池104传输功率的负载的时间段(例如,因为设备已经断电或者已经插入到充电器中)、直到每个电池104中的能量已经耗尽的时间段、或者特定离散时间段以及其他时间段来计算未来的工作负载。

在一些实施例中,在一个放电周期中系统或设备102的示例工作负载可以是在该周期中随时间的“有用”功率消耗的轨迹。例如,在任何时间t,可以通过监测电池104的端电压和来自该电池的直流电流来测量有用功率消耗P(t)。示例系统可以在功率维度和时间维度两者上离散地量化工作负载。在功率维度中,示例系统例如可以使用聚类技术或预定阈值以将工作负载量化为两个功率水平:高功率和低功率,其分别大致对应于设备的活动状态和待机状态。在时间维度中,示例系统可以将工作负载划分为离散“负载”的序列,并且仅在负载的边界处进行调度决策。也就是说,负载例如可以分配给特定的电池,并且电池将处理负载,直到负载完成或者电池中的能量消失。在仅在负载的边界进行调度决策的一些实施例中,负载调度模块120可以仅在新负载被呈现以用于调度时或者由于其对原始分配的负载的完成变得不可能(例如,原始分配的电池已经完全放电)而在先前调度的负载被重新呈现以用于调度时,才可以做出调度决策。

在一些实施例中,负载划分在时间上不均匀,但在(有用的)能量消耗中是均匀的。结果,在这样的实施例中,低功率负载的持续时间将长于完成高功率负载的持续时间,因为高功率负载将比低功率负载更快地用光规定数量的能量。结果,这种示例实施例通常可以在设备处于待机或另一低功率模式时需要较少频繁的电池切换。这样的设计可以帮助确保负载调度的能量开销总是被限制为总能量消耗的一小部分。

在一些实施例中,负载的功率水平可以通过功率阈值P*来量化,负载的能量水平可以通过阈值E*来量化。在一些实施例中,在负载的开始边界处(例如,当负载需要功率并且被呈现至负载调度模块120以用于电池分配时),工作负载估计模块118可以在将消耗有用能量的E*mJ的量之前预测负载在持续时间上的估计平均功率消耗。在这样的示例系统中,如果平均功率消耗被预期高于P*,则当前正在被表征的负载(例如,当前负载)是高功率负载。否则,当前正被表征的负载是低功率负载。负载调度模块120然后可以使用特性信息(通过本文详细描述的任何过程)分配特定电池104以处理当前负载。在存在多于两个级别的一些实施例中,该过程将在每个负载边界处重复。

说明性过程

图3是根据一些实施例的用于调度功率负载的示例性贪婪调度算法的流程图。在各种实施例中,图3的过程可以基本上由负载调度模块120或由功率管理模块114、负载调度模块120、电池监测模块116、工作负载估计模块118和其他有形或抽象软件或硬件模块或设备的任何组合来执行。

在一些实施例中,“贪婪”调度算法(其示例由图3的流程图表示)可以应用于利用二进制负载表征方法的特殊情况负载调度系统(例如,负载可以仅被表征为低功率或高功率)和两个相同的电池模块。

根据利用图3的算法或类似算法的各种实施例,电池104包括两个相同的电池模块:电池1和电池2。例如,相同的电池模块在结构和所有相关的功能参数上基本上相同,这些功能参数诸如为容量、物理结构和材料、活性阴极材料化学、形状因子、监测和通信能力、以及通信和与设备102电耦合的(多个)方法。

根据利用与图3所表示的算法相同或类似的算法的各种实施例,负载调度模块120和/或工作负载估计模块118可以以二进制方式表征每个负载,这意味着仅两个不同的表征是可能的。例如,在一些实施例中,负载可以被表征为低功率或高功率。在其他实施例中,负载可以被表征为活动或后台进程,如对于用户是显而易见的或不明显的;如关于软件或硬件,或任何其他可能的二进制区别。

在一些实施例中,贪婪负载调度算法可以总是调度由电池1供电的第一负载(或者第一高功率或低功率负载)。对于在一些实施例中的所有后续负载,每个高功率负载可以被调度为由当前具有最低内阻的电池供电,而每个低功率负载可以被调度为由当前具有最高内阻的电池供电。在一些实施例中,当需要电池功率的所有负载已经被处理(或者,例如所有电池中的能量已经耗尽)时,调度系统结束。

在示例实施例中,需要来自电池的功率的每个负载可以单独地呈现给负载调度模块120。在步骤302,负载调度模块120和/或工作负载估计模块118确定当前负载是否是第一负载。在示例实施例中,若当前负载是第一负载,当前负载将总是被调度到电池1(步骤304)。在其他示例系统中,第一负载可以总是被调度到电池2,或者第一负载可以被随机调度到电池。

在一些实施例中,如果步骤302的确定结果为否定(例如,当前负载不是第一负载),则在步骤306确定当前负载是高功率还是低功率。在一些实施例中,步骤306的确定可以由例如工作负载估计模块118、负载调度模块120或其组合来进行。

在一些实施例中,如果当前负载在步骤306被表征为高功率负载,则在步骤308调度当前负载以由具有相对于系统中的其他一个或多个电池较低或最低的内阻的电池(在两个相同电池模块的情况下为电池1或电池2)服务。在其他示例性实施例中,电池选择可以完全地或部分地基于除内阻之外的参数,例如电池的相对充电状态。

在一些实施例中,如果当前负载在步骤306被表征为低功率负载,则在步骤310调度当前负载以由当前具有相对于系统中的其他一个或多个电池的更高或最高内阻的电池服务。

在一些实施例中,在将负载调度到特定电池(例如,在步骤304、308或310)之后,在步骤312确定是否有更多负载要被调度。在一些实施例中,步骤312处的是否要调度更多负载的确定可以基于预定义的或者其他已知的工作负载。在其他实施例中,步骤312处的是否要调度更多负载的确定可以完全地或部分地基于估计的未来工作负载,其可以由工作负载估计模块118,负载调度模块120或其组合生成。在一些实施例中,如果步骤312的确定中的回答是否定的(例如,不再有实际排队或期望的负载),则调度算法结束。

在一些实施例中,如果步骤312的确定被肯定地回答(例如,有实际上排队或预期更多负载),则负载调度模块120在步骤314等待下一负载被呈现用于调度。在一些实施例中,在下一负载被呈现用于调度时,图3的算法返回到如本文所描述的步骤302。在一些实施例中,在步骤314处的等待可以是有限的,例如,如果在规定的时间段内没有负载被呈现用于调度,或者例如如果一个或多个电池模块中的能量变得接近耗尽或完全耗尽,则自动结束调度算法。

图4是根据一些实施例的用于调度功率负载的示例性阈值调度算法的流程图。在各种实施例中,图4的过程可以基本上由负载调度模块120或由功率管理模块114、负载调度模块120、电池监测模块116、工作负载估计模块118和其他有形或抽象软件或硬件模块或设备的任何组合来执行。

在一些实施例中,“阈值”调度算法(其示例由图4的流程图表示)可以应用于利用二进制负载表征方法的特殊情况负载调度系统(例如,负载可以仅被表征为低功率或高功率)和两个相同的电池模块。

根据利用图4的算法或类似算法的各种实施例,电池104包括两个相同的电池模块:电池1和电池2。例如,相同的电池模块在结构和所有相关的功能参数上基本上相同,这些功能参数诸如为容量、物理结构和材料、活性阴极材料化学、形状因子、监测和通信能力、以及通信和与设备102电耦合的(多个)方法。

根据可利用与图3或图4所表示的算法相同或类似的算法的各种实施例,负载调度模块120和/或工作负载估计模块118可以以二进制方式表征每个负载,这意味着仅两个不同的表征是可能的。例如,在一些实施例中,负载可以被表征为低功率或高功率。在其他实施例中,负载可以被表征为活动或后台进程,如对于用户是显而易见的或不明显的;如关于软件或硬件,或可以由本领域普通技术人员想象到的任何其他可能的二进制区别。

如图4所示和本文所述的阈值算法的概念部分地源于以下认识:与图3所示和本文描述的类似或相同的贪婪算法在被应用至系统时可以提供更大的效率改进,该系统与具有相对较低的电池之间内阻失衡的系统相比,具有相对较大的电池之间的内阻失衡(例如,双电池系统中的一个电池具有比另一个电池显着更高的内阻)。阈值算法的一般原理是在应用贪婪式调度逻辑之前首先在系统或设备中产生内阻的失衡。

为了定量地评估类似于图4所示及本文所述的通过简单的顺序算法(其中所有负载被分配给电池1,直到电池耗尽,并且此后所有负载被分配给电池2)的示例性阈值算法的操作改进,使用调谐到在Windows和SurfaceTM(RT和Pro)设备系统中观察到的真实世界数字的电池和系统参数来运行模拟。该模拟恰好假设两个相同的电池和二进制负载表征方案,其中负载被表征为低功率或高功率,大致分别等于模拟设备的待机模式和有效功能。

模拟结果表明,与简单的顺序算法相比,使用阈值算法节省高至44.1%的浪费能量和变长22.6%的电池寿命。这些模拟数字对应于具有3.7伏的电池电压和2安培的电流的电话中的负载的模拟。在具有3.7伏电池电压和1安培电流的模拟电话中,观察到其节省了30%的浪费能量以及8.4%更长的电池寿命。在具有7.4伏电池电压和3安培电流的模拟SurfaceTM中,观察到其节省了30.1%的浪费能量以及13.8%更长的电池寿命。

在一些示例实施例中,负载调度开始,并且E1和E2可以分别表示电池1和电池2的累积能量输出。在这样的示例实施例中,最初两个电池可以基本上完全充电,意味着E1=0且E2=0。阈值T被定义为表示将获得的期望的内阻失衡的点。在根据图4的算法或类似算法的一些实施例中,阈值负载调度算法可以被认为在两个“阶段”操作。在第一阶段中,算法尝试通过将所有负载调度到电池1中来在两个电池之间产生充分失衡的内阻(或在其他实施方式中产生失衡的充电状态)。当E1>T时,阶段1结束。在阶段2中,低功率负载被调度到电池1中,而高功率负载被调度到电池2中。在一些实施例中,当需要电池功率的所有负载已经被处理(或者,例如所有电池中的能量已经耗尽)时,调度系统结束。在各种实施例中,相对于图4的算法描述的过程可以基本上由负载调度模块120或由功率管理模块114、负载调度模块120、电池监测模块116、工作负载估计模块118和其他有形或抽象软件或硬件模块或设备的任何组合来执行。

在示例实施例中,呈现一个或多个负载用于调度,提供阈值T,并且可以向负载调度模块120呈现需要来自电池的功率的每个负载。在步骤402,负载调度模块120和/或电池监测模块116确定电池1是否为空,或基本上或完全放电。如果步骤402的确定以肯定回答(例如,电池1确实为空),则在步骤404确定电池2是否也为空,或基本上或完全放电。如果步骤404的确定结果为肯定(例如,电池2为空),则负载调度结束,因为没有可用于向负载提供功率的电池。如果步骤404的确定结果为否定(例如,电池2不为空),则在步骤412将当前负载调度到电池2中,因为电池2是当前可用于为当前负载供电的唯一电池。

在一些实施例中,如果步骤402的确定结果为否定(例如,电池1不为空),则在步骤406确定E1≤T。如果确定步骤406的结果为肯定(例如,E1≤T),则将当前负载调度到电池1。

在一些实施例中,如果确定步骤406的结果为否定(例如,E1>T),则在步骤408确定当前负载是高功率还是低功率。在一些实施例中,步骤406的确定可以由例如工作负载估计模块118、负载调度模块120或其组合来进行。

在一些实施例中,如果在步骤406将当前负载表征为高功率负载,则在步骤412将当前负载调度到电池2。如果在步骤406将当前负载表征为高功率负载,则在步骤410将当前负载调度到电池1。在其他示例性实施例中,电池选择可以完全地或部分地基于除内阻之外的参数,例如电池的相对充电状态。

在一些实施例中,在将负载调度到特定电池(例如,在步骤410或412)之后,在步骤414确定是否有更多负载要被调度。在一些实施例中,步骤414处的是否要调度更多负载的确定可以基于预定义的或者其他已知的工作负载。在其他实施例中,步骤414处的是否要调度更多负载的确定可以完全地或部分地基于估计的未来工作负载,其可以由工作负载估计模块118,负载调度模块120或其组合生成。在一些实施例中,如果步骤414的确定中的回答是否定的(例如,不再有实际排队或期望的负载),则调度结束。

在一些实施例中,如果步骤414的确定被肯定地回答(例如,有实际上排队或预期更多负载),则负载调度模块120在步骤416等待下一负载被呈现用于调度。在一些实施例中,在下一负载被呈现用于调度时,图4的算法返回到如本文所描述的步骤402。在一些实施例中,在步骤416处的等待可以是有限的,例如,如果在规定的时间段内没有负载被呈现用于调度,或者例如如果一个或多个电池模块中的能量变得接近耗尽或完全耗尽,则自动结束调度。

应当注意并且本领域普通技术人员将认识到,可以调整图4所示和本文所述的算法以满足可能不同于本文的确切描述的许多系统的特定设计和限制。例如,在阶段1中,代替将所有负载调度到电池1中,还可能的是通过将大部分负载调度到电池1中来调度两个电池之间的足够大的失衡。类似地,在阶段2中,也可能的是通过向电池1调度大多数低功率负载和向电池2调度大多数高功率负载来实现贪婪式行为。

在一些实施例中,负载调度模块120可以基于预期在不久的将来在特定时间窗口中发生的低功率负载的百分比的估计来计算最优阈值T。具体地,负载调度模块120可以确定运行时间的最优阈值T。当阈值算法处于阶段1时,对于被呈现用于调度的每个负载,负载调度模块120可以执行检查以确定是否满足相变条件。在一些实施例中,如果满足相变条件,则算法自动进行到阶段2。在一些实施例中,相变检查包括模拟类似于图3中描述的贪婪式算法。在贪婪式算法中,可发生两个事件:事件1,当电池1中的能量被低功率负载耗尽时;或事件2,当电池2的充电状态变得低于E*(E2<E*,其中在模拟开始时将E*设置为E*=E1)。如果事件1在模拟期间在事件2之前发生,则满足相变条件。

在另外的实施例中,当算法调度连续负载时,可以重新使用用来检查相变条件的模拟结果。换言之,对于工作负载序列中的给定负载,算法不需要从头开始模拟。相反,该算法可以从该状态开始模拟,并使用来自先前负载的模拟结束时的参数。该属性使得一些实施例的阈值算法本质上变为流算法,其具有线性时间复杂度和恒定的空间复杂度,并且可以足够简单地在硬件电路中实现。此外,在模拟中,事件1和事件2中的哪一个首先发生将极大地依赖于未来工作负载的低功率负载的百分比。在电池容量足够大的系统中,可以合理地假定该百分比趋向于基本上稳定,并且可以准确地进行统计估计,例如,由工作负载估计模块118。

图5是示出根据一些实施例的具有三种调度模式的示例性混合负载调度过程的流程图。在各种实施例中,图5的过程可以基本上由负载调度模块120或由功率管理模块114、负载调度模块120、电池监测模块116、工作负载估计模块118和其他有形或抽象软件或硬件模块或设备的任何组合来执行。应当注意并且本领域技术人员将理解,图5中表示的许多或所有步骤以旨在更清楚地描述本文所公开的概念的方式排序,但是图5的任何两个步骤的相对位置并不一定指示其中一个步骤必须在时间上处于另一个步骤之前执行。

具有由图5的流程图表示和本文描述的三种调度模式的示例混合负载调度过程可以应用于本发明的一些实施例中。与图3和图4中所示的实施例相反,示例性混合负载调度过程并不考虑由两个相同的电池模块供电的系统或设备。相反,可以处理具有变化特性的任何数量的电池模块。

在一些实施例中,在步骤502,负载调度模块120接收调度当前负载的请求。在一些实施例中,在步骤504,负载调度模块120和/或工作负载估计模块118根据一个或多个参数来表征当前负载。根据一些实施例的示例负载类型表征方案可以使用任何数量的可能类型表征。在各种实施例中,负载可以对应于例如处理器功能、用户活动、用户应用、操作系统或内核进程、输入/输出进程和设备、和存储器进程和设备的任何组合。例如,一些实施例可以采用负载表征方案,由此负载通过例如完成负载所需的功率的总量或负载在一段时间内所需的功率量来表征。在这样的示例实施例中,在一些实施例中,包括流视频处理和为输入/输出设备供电以向用户显示流视频的活动可以被表征为高功率负载。类似地,在一些实施例中,在设备102的待机模式期间运行的后台操作过程可以被表征为低功率负载。在一些实施例中,其他负载表征方案可以基于不同的准则,例如:负载是基于软件还是硬件,设备102的哪个组件请求和/或处理该负载,过程的结果是否对于设备102的用户是显见的,以及其他准则。

在一些实施例中,基于在一段时间内所需的功率来分类负载的负载类型评级方案可以将所有负载评定为低功率或高功率负载。可替代地,这种方案的其他实施例可以包括基于负载在一段时间内的功率要求的十个(或任何其他数量)负载类型额定值级别。

在一些实施例中,在步骤506,负载调度模块120和/或电池监测模块116访问电池模块104的实时参数和存储的属性信息。在图5的混合负载调度系统的一些实施例中,产生和利用关于电池模块的另外的背景信息。虽然图3和图4的算法可以通过主要依赖于实时/本地信息来实现,但是根据一些实施例的混合负载调度系统可以使用关于电池104的存储的属性信息。

在一些示例实施例中,电池“b”的特征在于能量输出-内阻曲线Rb(E),其指示当电池在放电循环中已累积输出E焦耳的总能量(有用+浪费)时内阻Rb有多大。在一些实施例中,多项式函数可以用于近似电池104的能量-电阻曲线。这些能量输出-内阻曲线和多项式函数是可用于进行负载调度决策的存储属性信息的示例。

图6是示出根据示例实施例的示例性电池电阻特性曲线的绘制曲线图600。具体地,图6示出了可用于向系统或设备提供功率的三个不同电池的示例存储属性的曲线图。图6示出了在累积能量输出的坐标空间中的每个电池的能量-电阻曲线和实时内阻。

在图6的示例性实施例中,电池1(602)和电池2(604)的能量-电阻曲线遵循基本上线性的函数,而电池3(606)的能量-电阻曲线遵循基本上指数函数。要注意的是并且本领域技术人员将认识到,包括与图6所表示的相似的存储的属性曲线的有用的存储的属性信息可以表示其他参数和参数比较。例如,可以存储曲线和/或对应的多项式函数以表示电荷状态对消耗的能量容量、内阻对电荷状态、或其他参数和比较。此外,可以存储用于修改基于曲线的温度适应性、老化适应性、或其他参数的信息。

再次参考图5,示例性混合算法的一些实施例部分地被设计为更有效地处理如下情况:负载被调度到具有在当前时刻具有基本上相同的内阻、但不同的能量-电阻曲线的电池的系统。在电池在诸如容量、初始电阻和最大电阻的参数方面变化的情况下,由给定负载引起的电阻的总增加可在电池之间显着变化,即使在负载调度时所讨论的电池具有基本相似的内阻。在这种情况下,在调度时间处主要依赖实时数据(如内阻或充电状态)的算法将不能考虑电池之间的这些差异。

电荷状态不是可影响能量阻力曲线的唯一因素。可影响电池的内阻的其他因素是电池的温度、老化、以及完成的放电循环次数等。在一些实施方式中,本文描述的系统的调度算法是可调节的以考虑这些附加因素中的一些因素。例如,在一些实施例中,本文描述的模块中的一个或多个模块可以计算对曲线Rb(E)的调整以考虑诸如温度和老化的参数的变化。

高温通常增加电池的内阻。在一些实施例中,负载调度算法可以响应于电池104的温度而自适应地改变调度策略。例如,可以保存一个或多个调整因子或修改常数,以用于基于电池的温度修改给定电池的能量-电阻曲线。在其他实施例中,对应于各种温度的多个不同的能量-电阻曲线可以被保存为属性的一部分。

如果一个电池对基于老化的恶化比为相同系统或设备供电的另一个电池更敏感,则根据一些实施例的负载调度算法可以修改其调度策略以考虑电池的老化。例如,负载调度算法可以将调度到老(因而具有高内阻)的电池降优先级,或者将调度到再充电比不同电池的再充电将更显着地影响内阻的任何电池降优先级。例如,在一些实施例中,负载调度算法可以通过调整模式切换阈值、通过调整用于表征负载的功率阈值、或通过确定以在具有比系统中的其他电池更高的内阻的电池上调度某些相对高功率的负载(相对于一般的贪婪式逻辑)而被适配。

在步骤508,负载调度模块120和/或工作负载估计模块118估计一组电池的未来工作负载。在一些实施例中,随机工作负载模型可以由负载调度模块120、工作负载估计模块118或其组合来生成。在一些实施例中,随机工作负载模型被定义为随机过程,工作负载估计模块118或负载调度模块120由其可以从给定时间开始对(无限时间长度的)未来工作负载的实例进行采样。随机过程可以是非平稳的。例如,在一些实施例中,低功率负载的百分比可以取决于当前物理时间(例如,夜间更少的总负载需求或更少的高功率负载)和最近的设备使用历史(例如,设备已经处于待机很长时间?)。虽然在一些实施例中,不能知道或预测确切的未来工作负载,但是可以使用随机模型来估计所有可能的未来工作负载上的统计特征。在一些实施例中,例如,负载调度算法可以取决于给定时间窗口中的低功率和/或高功率负载的预期时间长度。

根据一些实施例,在步骤510,类似于图3所示及描述的贪婪算法用于为当前负载选择“贪婪优选”电池。在一些实施例中,对于高功率负载,贪婪优选电池将是在进行调度决策时具有最低内阻的电池,而对于低功率负载,贪婪优选电池将是在进行调度决策时具有最高内阻的电池。‘

在步骤512处,并且根据一些实施例,在进行最终调度决策之前,负载调度模块120检查是否存在任何模式改变条件。在一些实施例中,如果不存在模式改变条件,则在步骤514将当前负载调度到贪婪优选电池,并且调度请求结束。

在一些实施例中,在步骤516,如果存在某些模式改变条件,则可以将当前负载调度到除了贪婪优选电池之外的电池。对于一些实施例,参考步骤516,所需的模式改变条件可以是当前负载是高功率,并且如果遵循贪婪逻辑调度算法则未来工作负载估计预测贪婪优选位置将被高功率负载填充。

在一些实施例中,在调度高功率负载时“投资与开发”权衡是显而易见的。例如,考虑一种情况,其中为系统供电的所有电池具有小的内阻。一般来说,这是对于高功率负载的有利情况。然而,如果当前负载是低功率负载,则必须将其调度在如果高功率负载可能已被调度在相同位置则可以节省更多能量的位置。

在一些实施例中,对于增加算法效率期望失衡的情况——具体地,其中与其他电池相比,系统中的至少一个电池具有相对高的内阻。在一些实施例中,并且如前所述,负载调度算法可以以有意增加电池之间的失衡的方式调度负载——实际上,临时对贪婪式逻辑作用以便增加基于贪婪的调度算法的长期效率。在一些实施例中,这种情况可以被认为是对于更好的情况的“投资”,同时可以考虑替代方式——调度高功率负载至具有相对较低的内阻的电池以在能量节省中给出更好的即时奖励——为“开发”好的位置。

在一些实施例中,阈值算法的最优性可以表现出对于两个相同电池设置唯一的权衡的有趣属性:一旦调度器已经投入足够,它可以在剩余时间内保持开发而不必返回投资。

在其他实施例中,不总是观察到单向相变。例如,在具有不相同或多于两个电池的一些系统中,负载调度算法可以通过在投资和开发策略或模式之间来回切换来提高效率。在一些这样的实施例中的调度器仍然可以使用相同的准则来指导投资与开发策略。与阈值算法类似,根据一些实施例的负载调度模块可以决定在负载调度模块发现如果遵循基本上贪婪的调度策略则随后将由另一个高功率负载填充当前最佳位置时进行投资(例如,根据未修改的贪婪逻辑将高功率负载调度在相对不合需要的位置)。在这种情况下,当前最佳位置在某种意义上可以被认为是“安全的”,因为它不需要被立即填充。相反,负载调度模块可以使用当前的高功率负载来为随后的低功率负载创建更好的位置。

在一些实施例中,因此可以基本上应用投资原理,如本文所使用的。投资原理指出,对于任何给定电池的任何给定位置,如果该位置很可能总是以高功率负载填充,则调度器应该尽可能晚地以高功率负载填充该位置。根据一些实施例的对投资原理的推论陈述可以说是规定了,如果当前负载是高功率负载,并且如果当前最佳位置很可能总是以高功率负载填充,则调度器不应立即用高功率负载填充当前最佳位置。在一些实施例中,用于调度低功率负载的引导策略可以与用于调度高功率负载的引导策略基本相反。具体来说,对于任何给定电池的任何给定位置,如果工作负载估计预测该位置将总是以低功率负载填充,则调度器应尽快以低功率负载填充该位置。用于处理低功率负载调度的推论可以被陈述为:如果当前负载是低功率负载,并且工作负载估计预测无论如何都将以低功率负载来填充贪婪优选位置,则调度器应当立即以低功率负载来填充贪婪优选位置。

在一些实施例中,在步骤518,如果存在某些模式改变条件,则可以将当前负载调度到除了贪婪优选电池之外的替代电池。对于一些实施例,参考步骤518,所需的模式改变条件可以是:当前负载是低功率,替代电池和贪婪优选电池之间的最大电阻的比率超过阈值,和/或未来工作负载估计预测足够的高功率负载以耗尽或几乎耗尽替代电池。

在一些实施例中,可以不遵循上述用于处理低功率负载的规则。在一些实施例中,特别是在电池可具有不同的最大电阻的情况下,可能有益的是在除了贪婪优选位置之外的位置调度低功率负载,以便“保留”当前非优选位置,其由于电池的比较性质将在未来变成比当前贪婪优选位置在当前负载调度决策时更有效的位置。这是因为当前相对低的位置(在贪婪优选的层级中)可以在未来变成相对高的位置,并且如果在该未来时间没有高功率负载,则可能的是实现大的效率增加而又保留该位置。

考虑其中电池1具有稍大的初始电阻但是具有比电池2低得多的最大电阻的示例。还假设除了最后几个负载之外的所有负载都是低功率负载,并且这些最后几个高功率负载耗尽电池1中的所有剩余能量。在该示例中,如果工作负载以一些低功率负载开始,则调度器不应当将这些初始低功率负载调度到电池1,即使电池1此时具有更大的电阻。相反,调度器临时预定电池1、将第一低功率负载调度到电池2并随后填充电池1中的最后的高功率负载可能更有效。

从前述说明和示例,可以导出一些实施例的预定原理:如果电池之间的最大电阻的失衡足够大,并且如果当所有电池中的能量几乎耗尽时调度器预期足够的高功率负载,那么调度器应当为后期高功率负载预定具有较小最大电阻的电池。

示例伪代码出现在应用分离、投资和预定的原理的混合负载调度算法的具体示例实施例的下面。伪代码1引入了适用于伪代码2和伪代码3两者的输入、输出和函数定义。伪代码2表示用于高功率负载的示例调度算法。伪代码3表示用于低功率负载的示例调度算法。

伪代码1

伪代码2

伪代码3

示例伪代码1、2和3的算法可以通过负载调度模块120、电池监测模块116、工作负载估计模块118或(多个)功率管理模块114中的任何一个或组合来实现。所表示的算法可以表示图3、4和5所示并在本文中详细描述的过程和步骤的更详细的实施方式。

示例条款

A、一种方法,包括:监测多个有限能量源中的至少一个有限能量源的至少一个能量源特性;监测当前负载的至少一个负载特性;响应于监测至少一个能量源特性和监测至少一个负载特性,选择该多个有限能量源中的一个有限能量源;以及将该当前负载调度到所选择的有限能量源。

B、根据条款A、M或Q的方法、系统或计算机可读介质,该多个有限能量源包括多个电池模块。

C、根据条款B的方法,监测至少一个能量源特性包括计算从第一电池模块消耗的能量的量;并且选择多个有限能量源中的一个有限能量源包括:当从第一电池模块消耗的能量的量小于或等于切换阈值时,根据第一选择模式进行选择;以及当从第一电池模块消耗的能量的量大于切换阈值时,根据第二选择模式进行选择。

D、根据条款C的方法,监测至少一个负载特性包括确定当前负载是低功率负载还是高功率负载;第一选择模式包括选择第一电池模块;并且第二选择模式包括:在当前负载为低功率时选择第一电池模块;以及在当前负载为高功率时选择第二电池模块。

E、根据条款B的方法,监测至少一个能量源特性包括:监测多个有限能量源中的至少一个有限能量源的至少一个状态;以及访问多个有限能量源中的至少一个有限能量源的至少一个所存储的特性。

F、根据条款E的方法,多个有限能量源中的至少一个有限能量源的至少一个状态包括多个电池模块中的至少一个电池模块的内阻、充电状态、温度、老化或完成的放电循环的次数中的至少一个的值;并且多个有限能量源中的至少一个有限能量源的至少一个存储的特性包括多个电池模块中的至少一个电池模块的内阻相对于能量输出的存储信息、充电状态相对于能量输出的存储信息、初始内阻、最大电阻。

G、根据条款F的方法,其中响应于所述方法的先前应用的结果,扩充或修改至少一个存储的特性。

H、根据条款E的方法,选择多个有限能量源中的一个有限能量源还包括:计算估计的未来工作负载;响应于所估计的未来工作负载、监测至少一个能量源特性、或监测至少一个负载特性中的至少一者,分配用于当前负载的选择模式;以及根据所分配的选择模式选择多个有限能量源中的一个有限能量源。

I、根据条款H的方法,监测至少一个负载特性包括确定当前负载是低功率负载还是高功率负载;其中所分配的选择模式包括分离模式、投资模式或保留模式。

J、根据条款I的方法,该投资模式包括:应用贪婪算法以从多个电池模块中选择贪婪优选电池;在当前负载是低功率并且估计的未来工作负载预测贪婪优选电池的当前可用位置将用低功率负载填充时,选择贪婪优选电池作为所选择的有限能量源,而不管当前选择如何;以及在当前负载是高功率并且估计的未来工作负载预测贪婪优选电池的当前可用位置将填充高功率电池时,选择除贪婪优选电池之外的有限能量源作为所选择的有限能量源,而不管调度决策如何。

K、根据条款I、P或S的方法、系统或计算机可读介质,该保留模式包括:识别第一电池模块和第二电池模块,该第一电池模块具有比第二电池模块的内阻更高的内阻以及比第二电池的第二电池最大电阻更低的第一电池最大电阻;以及在当前负载是低功率、第二电池最大电阻与第一电池最大电阻的比率超过最大电阻失衡阈值、并且所估计的未来工作负载预测高功率负载的量足以填充第一电池模块的剩余容量时,选择第二电池模块作为所选择的有限能量源。

L、根据条款I、P或S的方法、系统或计算机可读介质,该分离模式包括:识别第一电池模块和第二电池模块,该第一电池模块具有比第二电池模块的内阻更高的内阻;在当前负载为低功率时,选择第一电池模块作为选择的有限能量源;以及在当前负载是高功率时,选择第二电池模块作为所选择的有限能量源。

M、一种系统,包括:耦合到多个有限能量源的至少一个计算设备,该多个有限能量源被配置为向至少一个计算设备提供功率;电池监测模块,其被配置为监测多个有限能量源中的至少一个有限能量源的至少一个能量源特性;负载表征模块,其被配置为监测当前负载的至少一个负载特性;以及负载调度模块,其被配置为:响应于由电池监测模块提供至负载调度模块的数据或由负载表征模块提供至负载调度模块的数据中的至少一者,选择多个有限能量源中的一个有限能量源;并且将当前负载调度到所选择的有限能量源。

N、根据条款M的系统,该多个有限能量源包括多个电池模块。

O、根据条款N的系统,其中:电池监测模块还被配置为:监测多个有限能量源中的至少一个有限能量源的至少一个状态;并且访问多个能量源中的至少一个能量源的至少一个存储的特性;并且负载调度模块还被配置为:计算估计的未来工作负载;响应于估计的未来工作负载、由电池监测模块提供的数据或由负载表征模块提供的数据中的至少一者,分配用于当前负载的选择模式;并且根据所分配的选择模式选择多个有限能量源中的一个有限能量源。

P、根据条款O的系统,其中负载表征模块还被配置为将当前负载表征为低功率负载或高功率负载;并且其中所分配的选择模式包括分离模式、投资模式或保留模式。

Q、其上记录有计算机可执行指令的一个或多个计算机可读介质,该计算机可执行指令被配置为当由与多个有限能量源相关联的计算系统执行时使得计算系统执行以下操作,包括:至少监测多个有限能量源中的至少一个有限能量源的一个能量源特性;监测当前负载的至少一个负载特性;响应于监测至少一个能量源特性和监测至少一个负载特性,选择多个有限能量源中的一个有限能量源;以及将当前负载调度到所选择的有限能量源。

R、根据条款Q的计算机可读存储介质,其中监测至少一个能量源特性包括:监测多个有限能量源中的至少一个有限能量源的至少一个状态;以及访问多个有限能量源中的至少一个有限能量源的至少一个所存储的特性;并且其中选择多个有限能量源中的一个有限能量源还包括:计算估计的未来工作负载;响应于估计的未来工作负载、监测至少一个能量源特性或监测至少一个负载特性中的至少一者,分配用于当前负载的选择模式;以及根据所分配的选择模式选择多个有限能量源中的一个有限能量源。

S、根据条款R的计算机可读存储介质,其中监测至少一个负载特性包括确定当前负载是低功率负载还是高功率负载;并且其中所分配的选择模式包括分离模式、投资模式或保留模式。

T、根据条款S的计算机可读存储介质,该多个有限能量源包括多个电池模块;投资模式包括:应用贪婪算法以从多个电池模块中选择贪婪优选电池;在当前负载是低功率时并且估计的未来工作负载预测贪婪优选电池的当前可用位置将以低功率负载填充时,选择贪婪优选电池作为所选择的有限能量源,而不管当前选择如何;以及在当前负载是高功率并且估计的未来工作负载预测贪婪优选电池的当前可用位置将填充高功率电池时,选择除贪婪优选电池之外的有限能量源作为所选择的有限能量源,而不管调度决策如何;保留模式包括:识别第一电池模块和第二电池模块,该第一电池模块具有比第二电池模块的内阻更高的内阻和比第二电池的第二电池最大电阻更低的第一电池最大电阻;以及在当前负载是低功率、第二电池最大电阻与第一电池最大电阻的比率超过最大电阻失衡阈值、并且所估计的未来工作负载预测高功率负载的量足以填充第一电池模块的剩余容量时,选择第二电池模块作为所选择的有限能量源;分离模式包括:识别第一电池模块和第二电池模块,该第一电池模块具有比第二电池模块的内阻相对更高的内阻;在当前负载为低功率时,选择第一电池模块作为所选择的有限能量源;并且在当前负载是高功率时,选择第二电池模块作为所选择的有限能量源。

结论

尽管已经以对结构特征和/或方法动作专用的语言描述了技术,但是应当理解,所附权利要求不一定限于所描述的特征或动作。相反,特征和动作被描述为这样的技术的示例实施方式。

上面描述的所有方法和过程可以体现在由一个或多个通用计算机或处理器执行的软件代码模块中并且通过它们完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储设备中。一些或所有方法可以替代地在专用计算机硬件中实现。

除非另有具体说明,否则诸如“可”、“可以”、“能”或“可能”之类的条件语言在上下文中被理解为表示某些实施例包括而其他实施例不包括某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示某一特征、元件和/或步骤以任何方式对于一个或多个实施例是必需的,或者该一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定某些特征、元件和/或步骤是否包括在或将在任何特定实施例中执行。

诸如短语“X、Y或Z中的至少一个”之类的连接语言应当理解为表示项目、术语等可以是X、Y或Z,或者是其组合。

本文所描述和/或附图中所描绘的流程图中的任何例行描述、元素或块应当被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令的代码的模块、段或部分。替代实施方式被包括在本文所描述的实施例的范围内,其中可以从所示出或讨论的中删除或次序颠倒地(包括基本上同步地或以相反顺序)执行要素或功能,这取决于所涉及的如本领域技术人员将能理解的功能。

应当强调的是,可以对上述实施例进行许多变化和修改,其要素应被理解为在其它可接受的示例中。所有这些修改和变化旨在被包括在本公开的范围内并由所附权利要求保护。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1