用于电热电池模型的生成与使用的系统及方法
相关申请的交叉引用
本申请要求于2016年2月16日递交的序列号为15/044,454的名称为“用于电热电池模型的生成与使用的系统及方法”的美国非临时专利申请的优先权,其全部内容以全文引用的方式并入本文中。
背景技术
电池是由两个或多个将存储的化学能转化成电能的电化学单元组成的设备。每个单元具有正极端子或阴极,以及负极端子或阳极。被标记为正极的端子比被标记为负极的端子处于更高的电势能。被标记为负极的端子是电子源,当被连接到外部电路时,电子将流动并且将能量传送到外部设备。当电池被连接到外部电路时,电解液能够在其内部作为离子移动,这允许化学反应在不同的端子处完成并且因此将能量传送到外部电路。将化学能转化成电能的过程涉及损失,该损失被转化成热量。
发明内容
本说明书描述涉及各个单元和电池的技术。
总体上,本说明书中描述的主题的一个创新性方面可以体现在方法中,在方面1,该方法包括获取电池数据的动作,该电池数据包括电压值,其中每个电压值都对应于该电池的操作状态。该方法包括选择电池模型的动作,该电池模型具有凸参数和非凸参数。该方法包括通过执行拟合过程来处理电池数据以确定凸参数与非凸参数的值的动作。该拟合过程包括相对于电池数据对凸参数进行拟合,在此期间保持非凸参数固定。该拟合过程包括相对于所述电池数据对非凸参数进行拟合。该拟合过程还包括使用凸参数与非凸参数的拟合值根据所选择的电池模型来创建用于电池的电热模型。
前述实施例和其他实施例可各自可选择地单独或以组合形式包括下述特征中的一个或多个特征。
根据方面1和3-20的任意组合的方面2,其中非凸参数的拟合触发凸参数的拟合。
根据方面1-2和4-20的任意组合的方面3,其中拟合过程被配置为继续对非凸参数进行拟合直到成本函数的值满足预先限定的阈值为止。
根据方面1-3和5-20的任意组合的方面4,其中拟合过程包括嵌套循环过程,在该嵌套循环过程中,使用内循环相对于电池数据对凸参数进行拟合,以及使用外循环相对于电池数据对非凸参数进行拟合,在内循环期间保持非凸参数固定。
根据方面1-4和6-20的任意组合的方面5,其中电池模型包括电学模型和热学模型,该电学模型被配置为预测电池电压和热生成量,并且热学模型被配置为基于热生成量预测温度,并且预测温度与测量温度之间的差被用在拟合过程中。
根据方面1-5和6-20的任意组合的方面6,其中电池模型使用基矢函数来表示在电池状态范围内的至少一个凸参数,并且电池状态包括电池温度、充电状态和年龄的某一集合。
根据方面1-6和8-20的任意组合的方面7,其中预测温度与温度数据的差被包括在被用在拟合过程中的成本函数中。
根据方面1-7和9-20的任意组合的方面8,其中电池数据是从多个不同的电池中收集的。
根据方面1-8和10-20的任意组合的方面9,其中电池数据是从多个热环境中收集的。
根据方面1-10和11-20的任意组合的方面10,其中电池数据是从多个测量系统中收集的。
根据方面1-11和12-20的任意组合的方面11,还包括将电热模型编码在电子设备中以监控汽车中的电池性能。
根据方面1-11和13-20的任意组合的方面12,还包括将电热模型编码在电子设备中以监控移动电子设备中的电池性能。
根据方面1-12和14-20的任意组合的方面13,还包括被配置为执行电池的数值模拟的模拟系统。
根据方面1-13和15-20的任意组合的方面14,其中选择电池模型包括比较多个电池模型以及选择具有最低成本函数的电池模型。
根据方面1-14和16-20的任意组合的方面15,其中至少一个凸参数是基于凸成本函数来选择的。
根据方面1-15和17-20的任意组合的方面16,其中选择电池模型包括将非凸参数的数量与阈值进行比较。
根据方面1-16和18-20的任意组合的方面17,其中选择电池模型包括确定非凸参数与凸参数之间的比例,并且将该比例与阈值进行比较。
根据方面1-17和19-20的任意组合的方面18,其中电热模型在电池操作状态的连续范围内是有预测性的,电池操作状态的连续范围包括由该电池经历的情况的子集或该电池将要经历的所有设计情况。
根据方面1-18和20的任意组合的方面19,其中拟合通过在选择凸参数之前选择非凸参数来实现高效处理器使用。
根据方面1-19的任意组合的方面20,其中电池的操作状态包括温度、电流和充电状态中的至少一者。
本说明书中描述的主题的具体实施例可被实施以实现下述优点中的一个或多个优点。用于电池的电热模型可被高效地产生。与管理和计算更复杂的方程相比,可以利用使用更低的处理功率的电子设备来监控和控制电池。
本说明书中描述的主题的一个或多个实施例的细节在下文的附图和描述中给出。从描述、附图和权利要求,主题的其他特征、方面和优点将变得清楚。
附图说明
图1示出了电池对电流脉冲的典型电压响应。
图2示出了表示电池的电路的示例。
图3示出了电池数据收集系统的示例。
图4示出了模型生成系统的示例。
图5示出了针对离散化模型的方程的结构。
图6是用于使用测试数据拟合模型的过程的示例的流程图。
图7是示出了凸函数的曲线图。
各图中相同的参考编号和名称指示相同的元件。
具体实施方式
电池是电热系统。其主要用来存储电能。其效率和电学行为与电池中元件的温度紧密地联系在一起。低阶电学模型可被用来预测和控制电池的电学行为。例如,低阶模型可被用来识别可在使用电池时对电池持久性的影响最小的充电及放电功率的范围。这是通过使用预测的电压及热生成量以识别何时发生过高的温度或化学浓度来完成的。
电池边界上的电学条件和热学条件互相作用。此外,电池对其边界上的变化的响应是该边界处之前的变化的函数。例如,在恒定的热学条件下,电池的端子处的电流的变化导致反映电池内部的电流及离子分布和电池与周围材料的相互作用的响应。图1示出了电池对电流脉冲104的典型电压响应102。另外电压的变化与电池中热量的生成有关,电池中热量的生成会造成电池的温度的变化。
该电池电学行为可使用不同方法来建模。一种方法是基于描述单元内的电学行为和离子行为的偏微分方程的使用。偏微分方程方法对单元内部的物理建模来预测电学行为。另一种方法是使用模拟所观测到的行为的方程来对该行为建模。例如,使用如图2所示的等效电路模型。这一解释将集中在等效电路模型的使用上。然而这些方法适用于不能用电气电路模型描述的方程组。在所有这些技术中,测试数据被用来调整模型以匹配实验结果。
图2所示的电路将被用于说明该系统。在这个模型中,参数可被调整来在给定电流与电压信息的情况下预测电池电压。另外,这些参数可变化以表示所观测到的随温度、充电状态(SOC)和年龄的变化
传统技术仅使用电压与电流测量来估计在单个温度、SOC和年龄下的电学参数。在本文描述的系统中,从电压、电流和温度的测量中针对所有温度、SOC和年龄来估计电学参数。使用电学参数的表示,使得建模误差相对于电学参数中的大多数是凸的。另外,使用基函数以既确保凸性又在温度、SOC和年龄的范围内表示电学参数。进一步地,热学模型202与电学模型204中的损失耦合,使得所观测到的温度为电学参数的估计提供附加的信息。
参照图2,该电学模型允许确定跨接电池电极的端子电压208。电学热量的生成由箭头206a-d表示,从而指示电学模型204中热量的生成。热学模型202允许在点210确定电池的温度,其中在点212处可确定外部温度。图2是示例性模型。实际上,可以应用表示电学行为、热学行为和该两者之间的耦合的任何方程组。
图3是电池数据收集系统300的示例。该系统的部件可以位于一个位置或在空间上分布。
电池电负载302是在电池上产生时变信号致使电压及电流随时间变化的设备。电池304是要表征的电化学设备。热环境306与电池304交换热能。热环境306的状态被充分地测量和了解以表征与电池的热量交换。温度感测硬件308检测电池304和热环境306中的温度和/或热量流动。温度测量系统314将感测的信号转化成可被记录的形式。电压与电流测量系统312将电压与电流测量转化成可被记录的形式。电学数据一般在电池端子310处进行收集。数据记录系统316存储来自电压与电流测量系统312和温度测量系统314的测量的信息。模型生成系统318将被记录在数据记录系统316中的数据转化成电学参数,这些电学参数被提供给模型存储系统320。下文将深入描述模型生成系统318。
在一些实现方式中,这类系统包括实验室装置和嵌入式装置。嵌入式装置的示例包括固定系统,诸如不间断电源和诸如车辆或蜂窝电话之类的移动应用。该系统也可被应用到用于数值模拟与分析的模型的生成。
模型生成系统318集成有相对于大多数参数为凸的电池电热模型、预测温度的热学模型、以及为电学模型选择最佳一组参数的方法。该系统在图4中被示出。数据记录系统(图3的316)提供(20)温度数据402和电学数据404。该系统针对由被识别为凸和非凸的参数组成的电池模型生成电池参数值406。凸参数相对于电学测量404与电池电压预测408之间的差满足凸性的性质。另外,凸参数相对于热学测量402与电池温度预测418之间的差满足凸性的性质。
电池电热模型410满足以下性质。它具有从参数值选择器412分配的凸的和非凸的电池参数406。另外,电池参数值406包含电池模型的初始情况。电学模型410生成电压预测408和热量预测414。最后,参数值包括初始情况。电池参数值406也能够针对温度、SOC和年龄的组合来限定该电池模型。
该模型的实现方式可由以下方程(equation)实现:
EQ.1到EQ.5中的方程模拟电池的电学热生成量和热学热生成量。这些方程与图2所示的电气电路相对应。该模型通过使用微分方程来示出。在这些方程中,符号t表示时间。在EQ.1、EQ.2、EQ.4和EQ.5中使用的符号i(t)是被包含在电池电学测量404中的电流测量。在EQ.4中被计算的符号V(t)是预测电压408并且是来自电池电热模型410的输出。符号q(t)是电池生成的热量并且是热生成量输出414。符号S(t)表示在给定瞬间处电池的状态并且是在给定时间瞬间处电池温度、SOC和年龄的某一组合。EQ.1-5中的符号是该模型中的凸参数和非凸参数,它们一般是矢量。EQ.1-4描述电池的电学行为。EQ.5描述电池的热生成量。用于该模型的初始值作为值x1(0)和x2(0)被包含在参数中。
所以,(下面)表1中的参数描述在由S(t)表示的所有操作状态下电池的操作,值的矢量与由符号
表示的基矢函数相乘。该基矢函数返回针对给定的S值的基函数。基矢函数的简单示例是其中基矢内的每个元素都对应于具体的S值的函数。针对给定的S值,该矢量的与S最接近的元素被分配值1,而所有其他的元素被分配值0。在这个特定的基中,S的最近邻被设置为值1。很多函数满足这一性质并且可提供合适的基。
Eq.1到Eq.5中余下的符号为被用在Eq.4和Eq.5中的值的计算中的中间值。
模型参数 |
符号 |
凸性 |
开路电压 |
wV<sub>OC</sub> |
凸 |
正向电流的电阻 |
wR<sub>0</sub> |
凸 |
时间常数#1 |
wτ<sub>1</sub> |
非凸 |
直流增益#1 |
wR<sub>1</sub> |
凸 |
时间常数#2 |
wτ<sub>2</sub> |
非凸 |
直流增益#2 |
wR<sub>2</sub> |
凸 |
初始时间常数值1 |
x<sub>1</sub>(0) |
非凸 |
初始时间常数值2 |
x<sub>2</sub>(0) |
非凸 |
表1-电池电学模型中的参数
热学模型416提供了在给定的电池的热生成量及其热环境的边界条件(图2的206)的情况下在电池中、在电池上或在电池附近所观测到的一个或多个温度的预测。该模型可以用多种方式实现。示例性热学模型如Eq.6中所示。在该模型中,从电池电热模型410输入的热生成量414由q(t)表示。该模型的参数如表2中所示。
Eq.6 T(t)=q(t)-h·(T(t)-Text(t))
模型参数 |
符号 |
初始温度 |
T(0) |
热量传递 |
h |
边界条件 |
T<sub>ext</sub>(t) |
表2-电池电学模型中的参数
参数值选择器412将电学测量404和热学测量402与预测电池电压408和预测电池温度418相比较。使用该差以及模型方程的结构,该选择器将为所评估的每个非凸参数值组寻找最佳凸参数值。找到使将电学误差与热学误差映射到标量值的成本函数最小的最佳参数。
例如,简单的电池电热模型可以包括开路电压与电阻器。该模型等效于简单的电阻式电气电路。用于该模型的方程如下所示:
V=VOC+I·R
Q=I2·R
在这些方程中,V为端子处的电压,VOC为开路电压,I为电流,R为电阻,以及Q为生成的热量。该模型缺乏对温度和充电状态(SOC)的敏感性。为了解决这个问题,开路电压和电阻由温度和SOC的函数表示,从而针对该模型创建新的方程组。
V=VOC(T,SOC)+I·R(T,SOC)
Q=I2·R(T,SOC)
变量T表示温度并且SOC表示充电状态。这类模型通常被调整以通过用表格表示温度和SOC来匹配测试数据。通过在不同的温度和SOC下执行测试以及针对每个情况独立地选取最佳匹配测试结果的条目来选择表格的条目。
该方程组对于VOC和R的变化是凸的。当VOC(T,SOC)和R(T,SOC)由线性基函数的加权和表示时,得到的模型相对于待拟合的参数是凸的。
这一简单的电阻式电路模型可被扩展为包括附加的电路元件和功能性行为。例如,下述微分方程等效于具有与之前的模型串联的RC电路的电气电路。
dVRC/dt=-VRC/(R1(T,SOC)·C1(T,SOC))+I/C1
V=Vrc+Voc(T,SOC)+I·R(T,SOC)
在该模型中,参数R、VOC、R1和C1的值可以通过对关于给定温度和SOC的电池操作进行测量然后将该数据的结果分配给得到的参数来进行选择。通过增加附加的方程可以生成越来越复杂的电池模型。这些附加的方程可以包括诸如迟滞现象和非线性电阻的影响。
该模型相对于R1和C1是非凸的,并且相对于R和VOC是凸的。
电池建模的另一种方法是根据几何和物理来生成用偏微分方程表达的模型。下述方程示出了在恒温情况下用于高功率锂离子单元的电池模型。该模型中的离子浓度是SOC的高维等效。该单元由锂-碳(Li-C)电极、锂电极、两个电极之间的电解液区域以及位于电解液区域的中心处的参考锂-铝(Li-Al)电极组成。该电池的宽度为l1+l2,其中宽度为0的Li电极位于x=0处,l1为电解液区域宽度以及l2为Li-C电极宽度。
通过针对单元中的电极区域和电解液区域的三维偏微分方程来描述该单元。边界条件针对这些区域中的每个区域来指定。本文中表3给出了用于说明它们的结构的方程。
表3-一维PDE单元模型
在这个形式中,两个状态变量c和ΘI分别是空间C1[0,l1+l2]和C1[l1,l1+l2]的元素。该二者相对于t均可微分。拟合该电池模型通常涉及使用针对大多数参数的已知物理性质,然后用实验室实验来针对给定温度下的操作调整剩余的参数。为使调整和模拟更简单,常用技巧是将该模型在空间上离散化。这种离散化得到如下文在表4中所示的模型。为了达到这一结果,对PDE模型中的系数进行了组合和简化,得到新的系数。
表4-离散化一维模型
对于这类问题,凸参数和非凸参数的分离可以是具有挑战性的。考虑针对以上的端子电压(Vterm)计算来寻找参数的情况。为了帮助说明方程的结构,对于具有5个区域的电极的离散化模型500,可见图5。已知该离散化模型中节点处的浓度(c),则该五节点模型具有已知的I0和c1至c5。未知量为感兴趣的参数以及变量vterm、V1至V5、I1至I5。可获得11个联立的方程。若R0和Re是待拟合的参数,则通过求解它们的倒数(例如,1/R0),可得到凸拟合问题。然而,若电阻不可求倒数,则得到的拟合是非凸的。
图6是用于使用测试数据拟合模型的过程600的示例的流程图。在过程600开始602之后,过程600随时间测量604针对电流、电压及温度的电池边界条件。例如,参考图3,电池电负载302和热环境306在电池304上建立时变边界条件。在一些实现方式中,电池数据可从多个不同的电池和多个不同的热环境中进行收集。该电池数据也可从多个不同的测量系统中进行收集。电池数据也可以来自于包括电池性能模拟的其他源。
回到参考图6,过程600针对该电池的电学行为选择606参数化动态模型。该动态模型可以是被选择以用在电池电热模型(例如,图4的电池电热模型410)中的参数化电池模型。该动态模型可使用基矢函数来在电池状态范围内(例如,温度,充电状态,和年龄)表示参数。
过程600生成608用于该电池的热学模型。该(3)电池的模型及其热环境可被生成以用在该热学模型中。例如,该热学模型可以是图4的热学模型416。
过程600为该电池模型选择610用于非凸参数的值。该过程也为该动态电池模型选择612用于凸参数的值。这些参数可通过模型生成系统进行选择,诸如图3的模型生成系统318。用于这些参数的值可包括被应用到基函数的权重和对基函数的截距(intercept)调整。
过程600可针对预测电压和温度之间的误差的凸成本函数执行检索来寻找针对该电池电学模型的最佳参数值。这由嵌套过程完成,在该嵌套过程中,对非凸参数值进行选择(610)并且然后使用成本函数以及该电池模型中的凸部分执行凸最优化来对凸参数值进行选择(612)。对非凸参数值进行拟合可以触发对凸参数值的拟合。在一些实现方式中,选择非凸参数可包括迭代拟合过程,在该迭代拟合过程中在循环内用不同的值或函数对非凸参数进行拟合。
过程600提高了执行该过程的计算机或处理器的利用率。处理器利用率得到提高是因为过程600减少了生成电热模型所要求的处理时间。过程600通过在对凸参数进行拟合之前集中在对更少的非凸参数进行拟合600上,过程600智能地选择了要使用的参数。例如,拟合凸参数比拟合非凸参数的成本更低。因此可选择包括相对更少的非凸参数的模型。在一些实现方式中,选择电池模型可包括将非凸参数的数量与阈值进行比较。在一些实现方式中,选择电池模型可包括确定非凸参数与凸参数之间的比例。然后将该比例与阈值进行比较。
过程600对测量与电池模型的电压输出及热输出之间的误差进行评估614。通常,该过程评估(616)电热模型的预测结果与测量值之间的差足够小,然后参数值被组合618并用于创建电热模型。
若该误差不够小,则过程600返回以选择610新的参数值。
拟合的电热模型可被用于在电池操作状态的连续范围内预测电池功能。电池操作状态的范围可以包括预期由该电池在其有用的寿命期间经历的情况的子集。
一旦选择了电热模型,该模型就可被编码或集成到电子设备中来监控和预测电池的性能。例如,该电热模型可被集成到汽车或移动电子设备中。
图7是示出凸函数的曲线图700。如果沿每个间隔函数的值小于沿在该间隔端点之间的直线上的任意一个点,则该函数相对于变量是凸的。凸性的另一个定义是若对于0≤θ≤1有f(θx+(1-θ)y)≤θf(x)+(1-θ)f(y),则x,y的区域也是凸的。
凸性可由方程结构的分析确定。它也可通过梯度和采样的评估以高度的确定性来在实验上确定。
本说明书中描述的主题的实施例和操作可被实施在数字电子电路中,或者在计算机软件、固件或硬件中,包括本说明书所公开的结构及它们的等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以作为一个或多个计算机程序(也被称为数据处理程序)(即,被编码在计算机存储介质上的用于被数据处理装置执行或用于控制数据处理装置的操作的计算机程序指令的一个或多个模块)来实施。计算机存储介质可以是或可以被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合中。计算机存储介质也可以是或可以被包括在一个或多个单独物理部件或介质(例如,多个CD、磁盘或其他存储设备)。主题可被实施在被存储于非暂时性的计算机存储介质上的计算机程序指令中。
本说明书中描述的操作可以作为由数据处理装置对被存储于一个或多个计算机可读设备上或从其他来源接收的数据执行的操作来实施。
术语“数据处理装置”包括用于处理数据的所有种类的装置、设备和机器,以示例的方式包括:可编程处理器,计算机,芯片上的系统,或前述中的多个或其组合。该装置可包括专用逻辑电路(例如,FGPA(现场可编程门阵列)或ASIC(专用集成电路))。除了硬件,该装置也可包括针对所讨论的计算机程序创建执行环境的代码(例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码)。该装置和执行环境可实现各种不同的计算模型基础设施,诸如网络服务,分布式计算和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言进行编写,包括编译或解释语言,声明性或程序语言,并且它可以以任何形式部署,包括作为独立程序或者作为模块、部件、子程序、对象、或适合用于计算环境中的其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可被存储在持有其他程序或数据的文件中的一部分(例如,被存储于标记语言文档内的一个或多个脚本)中、在专用于所讨论的程序的单个文件中、或在多个协调的文件(例如,存储一个或多个模块、子程序、或代码部分的文件)中。计算机程序可以被部署以在一个计算机上或者在位于一个地点或分布在多个地点并由通信网络相互连接的多个计算机上被执行。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该可编程处理器通过对输入数据进行操作并生成输出来执行一个或多个计算机程序以执行动作。该过程和逻辑流程也可通过专用逻辑电路(例如,FGPA(现场可编程门阵列)或ASIC(专用集成电路))来执行,以及装置也可以作为专用逻辑电路(例如,FGPA(现场可编程门阵列)或ASIC(专用集成电路))来实施。
适合用于计算机程序的执行的处理器以示例的方式包括通用和专用微处理器,和任何种类的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者一起接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机也将包括或被可操作地耦接以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)中接收数据,或者向这些大容量存储设备传输数据,或者两者都进行,然而,计算机不需要具有这样的设备。而且,计算机可被嵌入到另一个设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(USB)闪速驱动器))中。适合用于存储计算机程序指令和数据的设备包括所有形式的非易失性的存储器、介质和存储器设备,以示例的方式包括半导体存储器设备(例如,EPROM、EEPROM、和闪速存储器设备)、磁盘(例如,内部硬盘或可移除盘)、磁光盘、和CDROM以及DVD-ROM盘。处理器和该存储器可以由专用逻辑电路补充或被集成在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以被实施在具有用于向用户显示信息的显示器设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和键盘以及定点设备(例如,鼠标或跟踪球)的计算机上,用户通过键盘以及定点设备向该计算机提供输入。其他种类的设备也可被用于提供与用户的交互;例如,被提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈),以及来自用户的输入可以通过任何形式被接收,包括声音输入、语音输入或触觉输入。另外,计算机可通过向由用户使用的设备发送文件以及从由用户使用的设备接收文件(例如,通过响应于从网络浏览器接收的请求向用户的用户设备上的网络浏览器发送网络页面)来与用户进行交互。
本说明书中描述的主题的实施例可被实施在包括后端部件(例如,作为数据服务器)或包括中间件部件(例如,应用服务器)或包括前端部件(例如,具有图形用户界面的用户计算机或供用户与本说明书中描述的主题的实现方式进行交互的网络浏览器)或者一个或多个这样的后端、中间件或前端部件的任意组合的计算系统中。该系统的部件可以通过任何形式或介质的数字数据通信(例如,通信网络)来相互连接。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网(例如,因特网)、以及对等网络(例如,点对点对等网络)。
计算系统可包括用户和服务器。用户和服务器通常彼此远离并且典型地通过通信网络进行交互。用户和服务器的关系凭借在相应的计算机上运行并且彼此具有用户-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML网页)传输至用户设备(例如,为了向与用户设备交互的用户显示数据以及从该用户接收用户输入)。在用户设备处生成的数据(例如,用户交互的结果)可从在该服务器处的用户设备处接收。
尽管本说明书包含很多具体的实现方式的细节,但是这些细节不应当被解释为对任何发明或者所要求的范围的限制,而是应当被解释为针对特定发明的特定实施例的特征的描述。本说明书中在单独实施例的背景下所描述的某些特征也能够在单个实施例的组合中实施。相反地,在单个实施例的背景下所描述的各种特征也可以在多个实施例中单独实施或者以任何合适的子组合来实施。而且,虽然特征可在上文被描述为在某些组合中起作用并且甚至最初是如这样被要求的,但是所要求的组合中的一个或多个特征在一些情况中可被从该组合中删除,并且该所要求的组合可被指向子组合或子组合的变形。
类似地,当在附图中以特定顺序描述操作时,这不应当被理解成为了实现预期的结果,要求按所示的特定顺序或者按先后顺序执行这样的操作,或者要求执行全部所述的操作。在某些情况下,多任务和并行处理可能是有利的。而且,上文描述的实施例中的各种系统部件的分离不应当被理解为在所有的实施例中都要求这样的分离,而应当被理解为所描述的程序部件和系统通常可在单个软件产品中被集成在一起或者被封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例都在所附权利要求的范围内。在一些情况中,权利要求中所述的动作可按不同的顺序来执行并且仍然可以实现预期的结果。另外,附图中所描述的过程并不必要地要求所示的特定顺序,或先后顺序来实现预期的结果。在某些实现方式中,多任务和并行处理可能是有利的。