向用户提供关于电池操作的电子设备中的功耗的反馈转让专利

申请号 : CN201510654565.6

文献号 : CN105302266B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D·K·哈克伯恩M·钱D·S·莱斯A·雅玛萨尼J·B·帕克斯E·米拉

申请人 : 谷歌有限责任公司

摘要 :

一种包括编码在计算机存储介质上的计算机程序的、用于向用户提供关于电池操作的电子设备中的功耗的反馈的方法、系统和装置。在一个方面中,由一个或多个数据处理装置执行一种方法。该方法包括:在该数据处理装置处接收由不同用户操作的电池操作的电子设备的组的功耗的历史记录;由该数据处理装置汇聚以及分析该历史记录,以生成该电池操作的电子设备的不同类别上的该功耗的代表性特征;以及从该数据处理装置输出在该不同类别上执行的不同应用的该功耗的该代表性特征。每个该电池操作的电子设备属于一个类别。

权利要求 :

1.一种计算机实现的方法,包括:

由包括数据处理装置和电池以外的硬件组件的电池操作的电子设备,将来自所述硬件组件的使用的功耗归因于所述硬件组件、以及使用所述硬件组件的软件应用;以及使用所述数据处理装置呈现功耗反馈,所述功耗反馈识别所述硬件组件、所述软件应用以及来自所述使用的所述功耗。

2.根据权利要求1所述的方法,还包括:

监视由所述软件应用对所述硬件组件的使用;以及

将所述硬件组件的所述使用转换成被归因于所述软件应用的功耗。

3.根据权利要求2所述的方法,其中:

所述硬件组件包括无线收发器;以及

将所述硬件组件的所述使用转换成所述功耗包括识别所述无线收发器的所述使用期间的信号强度范围。

4.根据权利要求2所述的方法,其中:

所述硬件组件包括显示器;以及

将所述硬件组件的所述使用转换成所述功耗包括识别所述使用期间的所述显示器的亮度状态。

5.根据权利要求1所述的方法,还包括:

识别新时段的起始;以及

在响应中清除用于以前时段的功耗的记录。

6.根据权利要求5所述的方法,还包括:响应于所述新时段的所述起始的所述识别,将用于所述以前时段的功耗的所述记录中的信息转换成功耗的长期记录。

7.根据权利要求1所述的方法,其中呈现所述功耗反馈包括:显示识别软件应用的表示以及由识别的所述软件应用消耗的功率的量的指示。

8.根据权利要求1所述的方法,其中呈现所述功耗反馈包括:显示识别不同类别的时段的表示以及在所述不同类别内的操作期间消耗的功率的平均量的指示。

9.根据权利要求1所述的方法,包括:在所述电池操作的电子设备的显示器上显示所述功耗反馈。

10.一种电池操作的电子设备,包括:

电池;以及

包括被配置以执行多个不同软件应用的数据处理单元的电池操作的硬件组件的组;以及显示屏,

其中所述数据处理单元可操作以:

将来自所述电池操作的硬件组件的组的一个特定电池操作的硬件组件的使用的功耗归因于电池操作的硬件组件的所述组的所述特定电池操作的硬件组件、以及使用电池操作的硬件组件的所述组的所述特定电池操作的硬件组件的软件应用;以及在所述显示屏上呈现功耗反馈,所述功耗反馈识别电池操作的硬件组件的所述组的所述特定电池操作的硬件组件、所述软件应用以及来自所述使用的所述功耗。

11.根据权利要求10所述的电子设备,还包括:功率测量单元,所述功率测量单元以硬件实现,并且用于测量表征由电池操作的硬件组件的所述组的第一硬件组件消耗的功率的参数。

12.根据权利要求11所述的电子设备,其中所述功率测量单元包括电流计。

13.根据权利要求10所述的电子设备,其中所述显示屏呈现由所述组中的单独的电池操作的硬件组件消耗的功率的记账。

14.根据权利要求10所述的电子设备,还包括数据存储设备,所述数据存储设备存储:表征由所述不同软件应用在当前时段期间消耗的功率的信息的结构化组;以及表征由所述不同应用在长时期上消耗的功率的信息的结构化组,所述长时期比所述当前时段长。

15.根据权利要求10所述的电子设备,其中所述数据处理单元被配置以:监视由所述不同软件应用使用所述组中的电池操作的硬件组件执行的活动,以及计算可归因于所述不同软件应用中的各个软件应用的功耗估计。

16.根据权利要求15所述的电子设备,还包括:一个或者多个持久数据存储设备,所述一个或者多个持久数据存储设备存储用于估计所述不同软件应用的功耗。

17.一种编码有计算机程序的计算机存储介质,所述程序包括指令,当所述指令由数据处理装置执行时使得所述数据处理装置执行操作,所述操作包括:监视由电池操作的电子设备的数据处理装置执行的应用执行的活动,所述电池操作的电子设备包括一个或者多个硬件组件;以及在所述电池操作的电子设备的显示屏上呈现与监视的所述活动中的特定活动相关联的估计的功耗的记账,所述记账识别估计的所述功耗、执行监视的所述活动中的所述特定活动的应用、以及由所述应用使用以执行所述活动的所述一个或者多个硬件组件。

18.根据权利要求17所述的存储介质,其中将所述活动转换至功耗包括识别第一应用请求硬件传感器为激活。

19.根据权利要求17所述的存储介质,其中所述操作还包括:与识别由所述应用使用以执行所述活动的硬件组件的信息相关联地记录表征所述功耗的信息。

说明书 :

向用户提供关于电池操作的电子设备中的功耗的反馈

[0001] 本申请是专利申请号201080040517.3的分案申请。

背景技术

[0002] 本说明书涉及向用户提供关于电池操作的电子设备中的功耗的反馈。
[0003] 现代电子设备向用户提供大量功能。电池操作的便携式手持电子设备如电话、音乐播放器、PDA和游戏机能够在显示器屏幕上显示信息,从用户接收指令,使用有线和无线数据链路与其他设备通信,拍摄数字照片并且以在一个时代以前甚至无法想象的速度来处理大量数字数据。使用硬件组件例如显示器屏幕、键盘、小键盘、通信接口、数字数据处理器、电荷耦合的设备以及用于协调这些以及其他硬件组件的操作的其他集成电路来实现该功能。这些各种各样的硬件组件消耗电能,并且因此加速耗尽电子设备中的电池或电池组。

发明内容

[0004] 本文档描述了系统、方法和技术,其中电池操作的电子设备(如智能电话或上网本计算机)可以通过该系统、方法和技术向用户提供关于设备消耗或可能要消耗的硬件组件和软件组件、该设备上的最大电量的信息。例如,设备可以向用户显示当前在该设备上进行操作的全部功率消耗的硬件组件或软件应用、以及每个硬件组件或软件应用(在确切的即时时刻或者在限定的时间段之内)正在消耗多少功率的指示和/或软件应用的功耗的效率的列表。可以将该指示显示为绝对值(例如以瓦特或毫瓦为单位)或相对值(例如以设备上的全部组件或应用所消耗的总功率、或者用户当前可以禁止的全部组件或应用的总功率的方式)。还可以提供图形表示,以助于用户做出关于禁止哪个组件或应用以便节省功率的判决。
[0005] 例如对于每个组件或应用可以显示条形图,其中条形的长度近似消耗的功率的效率或者组件的功耗的效率,或者可以用类似的方式显示饼图,其中每个切片的大小表示对应的组件的功耗的相对效率。可以响应于如下来显示与刚刚讨论的那些显示类似的显示:响应于明确的用户请求(例如通过用户操作设备上的工具菜单或者选择桌面上的或该设备上的其他显示区域上的功率管理图标),或者响应于其他事件如当该设备下降到低于特定功率等级(例如30%)(其中在该特定功率等级时可能期望用户开始关闭不重要的组件)。在其他实例中,该系统可以以步进的方式在多个不同的电池等级自动关闭组件或应用(基于当装载系统时或者通过用户在稍后的时刻对该系统设置的计划),或者可以向用户提供建议,用户可以接受或拒绝该建议。如果组件或应用保持打开或被关闭,则该系统还可以向用户提供他们电池的剩余时间量的估计,或者通过关闭组件或应用将对电池寿命增加的时间量的估计。
[0006] 因此在第一通用方面中,描述了一种由数据处理装置执行的方法。该方法包括:使用该数据处理装置识别包括该数据处理装置的、电池操作的电子设备的硬件组件的使用;将该硬件组件的该使用归因于(attribute)该硬件组件或者使用该硬件组件的软件应用;
使用该数据处理装置记录由该使用导致的功耗;以及使用该数据处理装置向用户呈现功耗反馈。该功耗反馈识别该电子设备的该硬件组件或该软件应用以及由该使用导致的该功耗。
[0007] 这个以及其他方面可以包括一个或多个以下特征。该方法可以包括:由该应用监视该组件的使用,并且将该组件的该使用转化成归因于该应用的该功耗。该组件可以包括无线收发器。可以通过识别在该无线收发器的该使用期间的信号强度范围,将该组件的该使用转化成该功耗。该组件可以包括显示器。可以通过识别在该使用期间该显示器的亮度状态,将该组件的该使用转化成该功耗。
[0008] 该方法还可以包括:识别新的时段的起始,以及作为响应清除用于以前时段的功耗的记录。可以响应于该新的时段的该起始的该识别,将用于以前的时段的功耗的该记录转化成功耗的长期记录。向该用户呈现该功耗反馈可以包括显示呈现,该呈现识别应用以及所识别应用的功耗的数量的指示;和/或显示呈现,该呈现识别时段的不同类别以及在该不同类别中的操作期间所消耗的功率的平均数量的指示。
[0009] 该方面的其他实施方式包括被配置为执行该方法的动作、编码到计算机存储设备上的对应的系统、装置以及计算机程序。
[0010] 在第二通用方面中,描述了一种电池操作的电子设备。该电池操作的电子设备包括电池、硬件组件组以及显示器屏幕,其中该硬件组件组包括被配置为执行多个不同应用的数据处理单元。该显示器屏幕呈现由该不同应用消耗的功率的记账(accounting)。
[0011] 这个以及其他方面可以包括一个或多个以下特征。该电子设备可以包括功率测量单元。该功率测量单元可以实现在硬件中,并且用于测量表征该组件组中的第一组件所消耗的功率的参数。该功率测量单元可以包括电表。该显示器屏幕可以呈现由该组中的不同组件所消耗的功率的记账。
[0012] 该电子设备还可以包括数据存储设备。该数据存储设备可以存储表征在当前时段期间由该不同应用所消耗的功率的信息的结构化组、以及用于表征长时期内由该不同应用所消耗的功率的信息的结构化组。该长时期比该当前时段更长。
[0013] 该数据处理单元可以被配置为监视由该不同应用使用该组中的硬件组件所执行的活动,并且计算归因于该不同应用中的各个应用的功耗估计。该电子设备还可以包括一个或多个持久数据存储设备,用于存储用于估计该不同应用的功耗的转换规则。
[0014] 该方面的其他实施方式包括对应的系统、方法以及计算机程序。
[0015] 在第三通用方面中,描述了用计算机程序编码的计算机存储介质。该程序包括指令,当该指令被数据处理装置执行时使得该数据处理装置执行操作。该操作包括:监视由电池操作的电子设备的数据处理装置执行的操作所执行的活动;估计用于该活动的功耗;与用于识别执行该活动的应用的信息相关联地,记录用于表征该功耗的信息;以及基于所记录信息在该电池操作的电子设备的显示器屏幕上向用户呈现该应用的所估计功耗的记账。
[0016] 该第三以及其他方面可以包括一个或多个以下特征。可以通过识别第一应用保持锁定并且将该锁定期间所消耗的附加功率归因于该第一应用,估计用于该活动的该功耗。该锁定可以将该硬件组件维持在活动状态中。该锁定可以是唤醒锁定。可以通过识别第二应用在该第一应用保持该唤醒锁定的同时保持该唤醒锁定,并且将该唤醒锁定期间所消耗的附加功率部分地归因于该第一应用并且部分地归因于该第二应用,估计用于该活动的该功耗。
[0017] 可以通过识别该第一应用请求硬件传感器是活动的,估计用于该活动的该功耗。该操作可以包括:与用于识别被该应用用来执行该活动的该硬件组件的信息联合地,记录用于表征该功耗的信息。
[0018] 在第四通用方面中描述了一种用于电子设备的功率管理系统。该系统包括电池操作的电子设备的组和服务器系统,其中每个电池操作的电子设备被编程为生成功耗的记录。每个电池操作的电子设备包括:电池、被编程为执行多个不同应用的数据处理单元、以及用于输出该功耗记录的通信接口。该服务器系统包括:通信接口,被编程为接收从该电池操作的电子设备输出的该功耗记录;以及一个或多个数据处理设备,被编程为分析该记录中记录的该功耗以生成复合值,该复合值提供在电池操作的电子设备的组的适合子集上执行的第一应用的该功耗的代表性特征。
[0019] 该第四以及其他方面可以包括一个或多个以下特征。该服务器系统可以包括功耗数据库,用于存储该功耗记录的至少一些内容。该系统可以包括匿名器,其被编程为将该功耗记录进行匿名化,以使得从该功耗数据库中所存储的内容无法辨别该电池操作的电子设备或与该电池操作的电子设备相关联的用户的身份。该服务器系统可以被编程为分析该记录中所记录的该功耗,以识别第一应用的该功耗中的异常值(outlier)。该服务器系统可以包括数据库,该数据库存储用于识别该组中的该电池操作的电子设备的特征的信息。该服务器系统可以被编程为识别该功耗异常值与该电池操作的电子设备的特征之间的相关性。该数据库可以存储用于识别在该组中的该电池操作的电子设备上安装的应用的信息。该电池操作的电子设备的该特征可以包括该功耗异常值出现于其中的、在该电池操作的电子设备上安装的第二应用。
[0020] 该第四方面的其他实施方式包括编码在计算机存储设备上的对应的方法和计算机程序。
[0021] 在第五通用方面中,描述了一种由一个或多个数据处理装置执行的方法。该方法包括:在该数据处理装置处接收由不同用户操作的电池操作的电子设备的组的功耗的历史记录;由该数据处理装置汇聚以及分析该历史记录,以生成该电池操作的电子设备的不同类别上的该功耗的代表性特征;并且从该数据处理装置输出在该不同类别上执行的不同应用的该功耗的该代表性特征。每个该电池操作的电子设备属于一个类别。
[0022] 该第五方面以及其他方面可以包括一个或多个以下特征。输出该功耗的该特征可以包括向属于第一类别的第一电池操作的电子设备输出用于显示呈现的指令,该呈现包括功率等级标记,该功率等级标记指示属于该第一类别的其他电池操作的电子设备上的应用所消耗的功率的效率。分析该历史记录可以包括识别在多个设备上执行的第一应用的该功耗中的异常值。分析该历史记录还可以包括识别该功耗中的该异常值与该多个设备上的第二应用的执行之间的相关性。分析该历史记录还可以包括识别该功耗中的该异常值与该多个设备处的硬件组件的存在之间的相关性。接收功耗的该历史记录可以包括,接收未归因于该电池操作的电子设备上的特定应用的功耗的记录。该方法还可以包括:通过该数据处理装置将未归因的功耗归因于在该电池操作的电子设备上活动的具体应用。归因该未归因的功耗可以包括:从在该电池操作的电子设备上安装的应用的记录识别该活动的应用。该代表性特征可以包括在第一类别电池操作的电子设备上执行的第一应用的每单位时间平均功耗的特征、在第一类别电池操作的电子设备上执行的第二应用的每单位时间平均功耗的特征、在第二类别电池操作的电子设备上执行的第一应用的每单位时间平均功耗的特征、以及在第二类别电池操作的电子设备上执行的第二应用的每单位时间平均功耗的特征。
[0023] 第五方面的其他实施方式包括:被编程为执行编码在计算机存储介质上的方法的动作的对应系统、装置和计算机程序。
[0024] 在第六通用方面中,计算机存储介质编码有计算机程序。该程序包括指令,当该指令被数据处理装置执行时使得该数据处理装置执行操作。该操作包括:接收由不同用户操作的电池操作的电子设备的组的功耗的历史记录;将该功耗归因于在该电池操作的电子设备上执行的不同应用;生成一组复合值,每个该复合值表征在该电池操作的电子设备上执行的应用之一的代表性功耗;并且报告该复合值。
[0025] 该第六方面以及其他方面可以包括一个或多个以下特征。每个该复合值可以表征不同类别的电池操作的电子设备上应用之一的执行的每单位时间代表性功耗。可以在该电池操作的电子设备中个体设备的签到期间接收该历史记录。该历史记录可以包括该电池操作的电子设备的电池的放电率。该操作还可以包括:接收用于表征在该电池操作的电子设备上安装的应用的使用的使用信息。该使用信息可以表征时段的持续时间,其中在该时段期间同时在该电池操作的电子设备上使用应用。
[0026] 该方面的其他实施方式包括对应的系统、装置和方法。
[0027] 在附图和下文的描述中阐述了一个或多个实现的细节。通过说明书、附图和权利要求,其他特征、方面和优点将变得显而易见。

附图说明

[0028] 图1是可以如何向用户提供关于电池操作的电子设备中的功耗的反馈的示意图。
[0029] 图2是电池操作的电子设备的示意图。
[0030] 图3是可以由电池操作的电子设备执行以向用户提供关于功耗的反馈的过程的流程图。
[0031] 图4是电子设备的不同方面的功耗的记录的示意性表示。
[0032] 图5是用于实现基于硬件的方案的系统的示意性表示,其中该方案用于识别并且归因电池操作的电子设备的硬件组件的使用。
[0033] 图6是用于实现基于软件的方案的系统的示意性表示,其中该方案用于识别并且归因电池操作的电子设备的硬件组件的使用。
[0034] 图7是可以由电池操作的电子设备执行以向用户提供关于功耗的反馈的过程的流程图。
[0035] 图8是不同的组件执行不同的活动所需要的功率的一组估计的示意性表示。
[0036] 图9是可以由电池操作的电子设备执行以向用户提供关于功耗的反馈的过程的流程图。
[0037] 图10是不同应用的功耗的长期记录以及用于不同应用的当前时段的功耗的记录的示意性表示。
[0038] 图11是可以如何向用户提供关于电池操作的电子设备的方面的功耗的反馈的示意性表示。
[0039] 图12是可以收集在电子设备的组上执行的应用的功耗的记录的系统的示意性表示。
[0040] 图13是图12的服务器系统的实现的示意性表示。
[0041] 图14是功耗数据库的实现的示意性表示。
[0042] 图15是一种数据结构的示意性表示,在该数据结构中对应用表的多个历史的信息内容进行组合。
[0043] 图16是用于收集在电池操作的电子设备的组上执行的应用的功耗记录的过程的流程图。
[0044] 图17是图12的服务器系统的另一个实现的示意性表示。
[0045] 图18是用于收集在电池操作的电子设备的组上执行的应用的功耗记录的过程的流程图。
[0046] 图19是这样一种功耗反馈呈现的示意性表示,该功耗反馈呈现向用户提供关于在电池操作的电子设备的组上执行的应用的功耗的反馈。
[0047] 图20是用于分析在电池操作的电子设备的组上执行的应用的功耗的记录的过程的流程图。
[0048] 图21示意性地表示功耗分布上的功耗异常值。
[0049] 图22是这样一种功耗反馈呈现的示意性表示,该功耗反馈呈现向用户提供用于描述第一应用与其他应用之间的相互影响的信息。
[0050] 在各种附图中相同的附图标记指示相同的元素。

具体实施方式

[0051] 图1是可以向用户提供关于电池操作的电子设备中的功耗的反馈的一种方式的示意图。通常,设备100可视地向用户显示在设备100中进行操作的多个硬件组件或软件应用,连同这些组件或应用中的每一个从该设备的电池系统消耗的功率的相对数量。
[0052] 电子设备100可以是例如电话、音乐播放器、PDA、游戏机或包括用于向用户呈现图形图像的显示器屏幕105的其他设备。显示器屏幕105的一部分包括功耗反馈呈现110。功耗反馈呈现110向用户呈现关于设备100的功耗的反馈,并且可以允许用户理解:对于电子设备100可用的电池功率已经如何被消耗或者有可能将被消耗。
[0053] 反馈呈现110包括时段标识符115和记账条目(account entry)120、125、130、135、140、145、150的组。时段标识符115包括文本或其他信息155,用于识别这样一种时间时段,其中针对该时间时段在反馈呈现110中呈现功耗反馈。在所示实现中,信息120识别出提供了对于特定持续时间的时段(即过去3个小时和20分钟的“当前时段”)的功耗。在其他实现中,可以提供例如当特定用户使用设备100、特定过程在设备100上运行时的时间时段的功耗反馈。
[0054] 记账条目120、125、130、135、140、145、150是用于呈现设备100的功耗的记账的记录。不同条目120、125、130、135、140、145、150可以呈现功耗的不同方面的记账,例如由设备100的一个或多个硬件组件的功耗或设备100上的一个或多个软件应用的功耗。例如,在所示实现中,记账条目120呈现显示器屏幕105的功耗的记录。记账条目130呈现地图应用的功耗的记录。
[0055] 在所示实现中,每个记账条目120、125、130、135、140、145、150包括标题160、图示符号165、功耗的可视标记170以及功耗的文本标记175。标题160是用于识别设备100的功耗的这样一种方面的文本,其中对于该方面在各自的条目中呈现记账。例如,条目140中的标题160识别条目140呈现设备100的操作系统的功耗的记账。条目135中的标题160识别条目135呈现设备100的空闲电话的功耗的记账。
[0056] 图示符号165是设备100的功耗的这样一种方面的图示表示,其中对于该方面在各自的条目中呈现记账。例如,条目145中的符号165表示条目145呈现设备100的工具应用的功耗的记账。条目125中的符号165识别条目125呈现设备100的蜂窝通信系统的备用状态的功耗的记账
[0057] 可视标记170和文本标记175中的每一个呈现由每个记账条目120、125、130、135、140、145、150中的标题160识别的、并且由符号165表示的方面的功耗的记账。在所示实现中,文本标记175包括用于识别不同方面所消耗的总功耗的百分比的文本。可视标记170是不同长度的条形。将条形的长度归一化为在时段标识符115所识别的时段期间任意一个方面的最高功耗。例如,在所示实现中,条目125、125中的可视标记170具有相同的长度,并且每个代表当前时段期间的总功耗的23%。相反,条目145中的可视标记170代表当前时段期间的总功耗的10%,并且其长度为条目120、125中的可视标记170的长度的10/23。在其他实现中,可以将可视标记170的特征归一化为例如由时段标识符115所识别的时段期间的总功耗。
[0058] 图2是另一个电池操作的电子设备200的示意图。通常,设备200向用户提供功能,并且允许用户获得关于设备中的特定耗功组件或应用的具体功耗的信息。
[0059] 设备200包括壳体205,触摸屏显示器210可移动地装配在壳体205之上。触摸屏显示器210可移动地暴露并且覆盖键盘215。触摸屏显示器210的一部分可以包括功耗反馈呈现110(图1)。功耗反馈呈现110占用触摸屏显示器210的全部或一部分。
[0060] 壳体205罩住用于协同向用户提供不同功能的220电子硬件组件的组。电子硬件组件组220包括数据处理单元225、显示器接口230、电话接口和组件235、无线接口和组件240以及传感器接口和组件245。数据处理单元225、接口230以及接口和组件235、240、245可以实现在电子电路中、计算机软件、固件或硬件中或在这些与其他元件的组合中。
[0061] 显示器接口230是被配置为允许数据处理单元225指导触摸屏显示器210上的信息的呈现的设备。例如,显示器接口230可以从数据处理单元225接收用于在触摸屏显示器210上显示内容的指令。显示器组件230可以转换那些指令并且使得在触摸屏显示器210恰当地显示内容。
[0062] 电话接口和组件235是电话和被配置为允许数据处理单元225与电话交换数据的接口。无线接口和组件240是无线收发器和被配置为允许数据处理单元225与无线收发器交换数据的接口。无线接口和组件240因此可以与无线网络上的其他设备通信。传感器接口和组件245是传感器和被配置为允许数据处理单元225与该传感器交换数据的接口。传感器可以是例如硬件传感器如加速计、指南针、全球定位系统、数码相机等等。
[0063] 数据处理单元225是被配置为处理数字数据的设备。数据处理单元225例如可以是用于根据应用或其他程序的指令来执行操作的通用数据处理器。在由数据处理单元225执行的应用之中有消耗反馈应用250。
[0064] 消耗反馈应用250是如下数据处理活动集合,其被设计为创建设备200的不同方面的功耗的记账以便向用户提供关于该功耗的反馈。
[0065] 在消耗监视器250的活动的执行期间,数据处理单元225可以访问转换规则255并且写入消耗记录260。将转换规则255和消耗记录260存储在设备200中(例如在一个或多个持久数据存储设备中)。可以提供各种形式的数据存储器,例如固定硬盘驱动器和/或固态存储器。转换规则255是用于将设备200所执行的操作的特性转换成功耗的规则。消耗记录260是设备或其操作的不同方面所消耗的功率的历史记录。例如,消耗记录260可以提供在记账条目120、125、130、135、140、145、150(图1)中所识别和表示的相同的方面的功耗的记账。
[0066] 图3是可以由电池操作的电子设备或用于执行数据处理活动的其他设备执行、以向用户提供关于功耗的反馈的过程300的流程图。可以由用于通过执行一个或多个机器可读指令集合来执行操作的一个或多个数字数据处理设备来执行过程300。例如可以由用于执行设备200(图2)中的消耗反馈应用250的数据处理单元225来执行过程300。作为另一个示例,可以由如下进一步讨论的服务器系统1260使用从电池操作的设备的组1205接收的功耗和应用使用信息来执行过程300。可以孤立地或者与其他数字数据处理操作相结合地执行过程300。例如在一些实现中,可以在过程1600(图16)中在方框1610处向功耗数据库增加功耗记录之前执行过程300。
[0067] 用于执行过程300的设备可以在方框305处识别电池操作的设备的硬件组件的使用。可以例如通过监视硬件组件汲取的功率,通过监视应用与组件执行的活动或者通过监视到该活动的硬件组件的消息(如指令)或来自应用本身的活动的描述,或者通过从接收自用于执行该监视的设备的消息提取使用信息,识别硬件组件的使用。例如,在图2的环境中,可以将从数据处理单元225发送到接口230以及接口和组件230、240、245中的一个或多个的指令的内容中继到消耗反馈应用250,从而其可以识别目的地接口和组件的使用。作为另一个示例,可以由功耗存储模块1335(图13)提取由服务器系统1260从电池操作的设备的组1205接收到的消息中的使用信息。
[0068] 在方框310处,用于执行过程300的设备可以将该组件的使用期间的功耗归因于该设备的一个方面。例如可以将功耗归因于设备的硬件组件(例如显示器屏幕、手机、收发器、数据处理单元、数码相机、加速计或其他传感器),或者可以将功耗归因于由该设备执行的应用(例如操作系统软件、地图应用、游戏应用、邮件或其他消息收发应用、网络浏览器应用、音乐或视频播放器应用或工具应用)。
[0069] 在一些实现中,可以将组件的使用期间的功耗归因于设备的多个方面。例如可以将游戏期间的加速计的功耗归因于计数器和游戏自身两者。作为另一个示例,可以将由多于一个应用保持的唤醒锁定期间所消耗的附加功率归因于全部保持应用,如下进一步所述的。
[0070] 在方框315处,用于执行过程300的设备可以将归因的功耗记录在例如持久数据存储设备中。例如该设备可以记录与某方面的标识符相关联的组件使用期间所消耗的功率数量的估计或测量,其中在数据表格或其他数据结构中该使用被归因于该方面。该记录实际上可以创建该设备的不同方面的功耗的历史记录。
[0071] 在方框320处,用于执行过程300的设备可以向用户呈现关于该设备的功耗的反馈。例如,在一些实现中,该系统可以呈现功耗反馈呈现110(图1)和功耗反馈呈现1105、1110(图11)中的一个或多个,以呈现关于电子设备的不同方面的功耗的反馈。
[0072] 图4是电子设备的不同方面的功耗的记录400的示意性表示。记录400可以被用作为电子设备200(图2)中的消耗记录260,并且可以在过程300(图3)中的方框315期间形成记录400。
[0073] 记录400包括组件表格405的历史以及应用表格410的历史。组件表格405的历史是一种数据结构,其将列415中的标识符与列420中的信息相关联,其中列415中的标识符是功耗被归因于的组件的标识符,并且列420中的信息用于描述被归因于那些各自组件的功率的数量。应用表格410的历史是一种数据结构,其将列425中的标识符与列430中的信息相关联,其中列425中的标识符是功耗被归因于的应用的标识符,并且列430中的信息用于描述被归因于那些各自应用的功率的数量。在数据处理活动例如消耗反馈应用250(图2)期间,可以由数据处理单元225访问记录400中存储的信息。
[0074] 图5是用于实现基于硬件的方法的系统500的示意性表示,其中该方法用于识别并且归因电池操作的电子设备的硬件组件的使用。处理应用执行消耗反馈应用250的数据处理单元225之外,系统500还包括组件接口505、组件510以及功率测量单元515。组件接口505和组件510是电池操作的电子设备的组件。例如,组件接口505和组件510可以例如是显示器接口230和显示器210或者接口和组件235、240、245(图2)中的任意一个。
[0075] 功率测量单元515是被配置为测量组件510所消耗的功率的设备。功率测量单元515例如可以是用于测量从电池520流入到组件510的功率终端525的电流的电表。基于电池
520提供的势能,可以从该测量推断或估计组件510所消耗的功率。功率测量单元515输出用于表示测量参数的信号530。
[0076] 数据处理单元225与组件接口505交换信息535。信息535可以包括例如组件510执行指定操作的输出请求或者表征组件510的操作的输入信息。组件接口505自身与组件510交换对应的信息540。信息540可以包括例如用于执行由数据处理单元225请求的操作的指令或来自组件510的表征它的操作的信息。
[0077] 数据处理单元225还接收并且向消耗反馈应用250传递用于描述信号530的来源(即具有多个单元的系统中具体功率测量单元515的身份)和信息内容的信息。消耗反馈应用250可以使用用于表示该测量参数的信息来识别组件510的使用。例如当由组件510消耗的功率增加时,消耗反馈应用250可以识别组件510正被使用。信号530的来源的描述可用于将功率增加归因于组件510。
[0078] 在一些实现中,消耗反馈应用250包括应用监视器模块、或应用将组件510上的功率增加归因于由数据处理单元225执行的具体应用的其他软件机制。例如,消耗反馈应用250可以监视由不同应用在显示器屏幕210上显示的信息的数量,并且将显示器屏幕210上的功率使用归因于那些应用。
[0079] 在一些实现中,功率测量单元515测量组件接口505与组件510两者所消耗的功率。在该情况中,信号530表示组合测量。如同单独测量的方式那样,可以将该组合测量归因于组件510或由数据处理单元225执行的应用。该组合测量特别涉及由组件接口505的功耗相对于组件510处的功耗不能忽略的情况。
[0080] 图6是用于实现基于软件的方法的系统600的示意性表示,其中该方法用于识别并且归因电池操作的电子设备的硬件组件的使用。消耗反馈应用250包括应用监视器模块605和使用到功耗转换器模块610。
[0081] 应用监视器模块605是一个计算机程序指令集合,当该计算机程序指令集合被数据处理单元225执行时,使得数据处理单元225监视由数据处理单元225和用于不同应用的其他组件执行的活动。应用监视器模块605可以例如在执行应用时监视由数据处理单元225执行的计算的数量,监视在组件上由应用(或应用的版本)生成的无线流量的数量(例如基于蜂窝或WI-FI网络的流量),监视不同应用的唤醒锁定的保持和释放,监视加速计或其他传感器的使用,诸如此类。
[0082] 应用监视器模块605是一个计算机程序指令集合,当该计算机程序指令集合被数据处理单元225执行时使得数据处理单元225将由用于不同应用的组件所执行的活动转化成功耗。通常,该转换可以基于活动期间所消耗的功率的估计数量,产生功耗的估计。例如,可以使用特定类别的无线流量(蜂窝流量或WI-FI流量)的每单元消耗功率的数量的估计,来估计由应用(或应用的版本)生成的无线流量所消耗的功率。作为另一个示例,可以使用应用将电子设备维持在唤醒状态中的成本估计,来估计将该电子设备锁定在该唤醒状态中的应用(或应用的版本)所消耗的功率。
[0083] 图7是可以由电池操作的电子设备或用于执行数据处理活动的其他设备执行以向用户提供关于功耗的反馈的过程700的流程图。可以由用于通过执行一个或多个机器可读指令集合来执行操作的一个或多个数字数据处理设备来执行过程700。例如可以由用于执行消耗反馈应用250的数据处理单元225来执行过程700,该数据处理单元225包括转换器模块610和应用监视器605(图6)。可以孤立地或者与其他数字数据处理操作相结合地执行过程300。例如,可以在过程300(图3)中在方框305、310中执行过程700,以识别组件的使用并且将该使用期间所消耗的功率归因于不同应用。
[0084] 在方框705处,用于执行过程700的设备可以监视当执行不同应用时所执行的活动。可以将该活动归因于所执行的应用。例如,可以监视由应用(或应用的版本)所使用的过程的计算要求,并且可以将该过程活动归因于该应用。作为了一个示例,可以监视当执行浏览器应用时所生成的网络流量,并且可以将该流量归因于该浏览器。
[0085] 在方框710处,用于执行过程700的设备可以将不同应用的活动转换成功耗。该转换可以产生由不同应用消耗的功率的数量的估计,并且可以使用用于将活动转换成功耗的规则如转换规则255(图2)来执行该转换。用于将活动转换成功耗的规则可以基于不同组件执行不同活动所需要的功率的估计。在一些实现中,这些功耗估计可以作为组件的操作条件的函数。
[0086] 图8是不同的组件执行不同的活动所需要的功率的估计组800的示意性表示。估计组800可以表示电子设备200(图2)中的转换规则255或者与其结合使用。
[0087] 估计组800包括一个或多个用于存储信息的数据结构,该信息用于表征不同组件在不同操作条件之下的功耗的估计。在所示示例中,估计组800包括第一无线组件表格805、第二无线组件表格810、LCD屏幕表格815以及OLED屏幕表格820。
[0088] 第一无线组件表格805包括一对列825、830。列825包括用于识别第一无线收发器组件操作情况下的信号强度的不同范围的信息。列830包括当操作在列820中对应的信号强度范围之下时,由第一无线组件进行的信号传输或接收所消耗的功率的估计。可以将该估计表达成例如每该第一无线组件传输或接收的信息的单位时间、或者由该第一无线组件传输或接收的每数据数量。
[0089] 第二无线组件表格810包括列835、840、845的组。列835包括用于识别第二无线收发器组件的操作信号强度的不同范围的信息。列840包括用于识别第二无线收发器组件的不同操作状态的信息。例如列840中的信息可以识别扫描状态、组播状态或第二无线收发器的其他状态。列845包括:当在列840中对应的信号强度范围之下以对应状态操作时,由第二无线组件进行的信号传输或接收所消耗的功率的估计。可以将该估计表达成例如该第二无线组件传输或接收的信息的每单位时间或者由该第二无线组件传输或接收的每数据数量。
[0090] 液晶显示器(LCD)屏幕表格815包括一对列850、855。列850包括用于识别LCD屏幕的各种操作状态的信息。例如,列850中的信息可以识别LCD屏幕的不同亮度等级及其背光。列855包括当操作在列850中的对应亮度时由LCD屏幕消耗的功率的估计。
[0091] 有机发光二极管(OLED)屏幕表格820包括列860、865、870的组。列860包括用于识别OLED屏幕的各种操作状态的信息。例如,列860中的信息可以识别OLED屏幕显示的不同亮度等级。列860可以包括用于识别OLED屏幕显示的颜色的信息。由OLED屏幕显示消耗的功率是所照亮像素的数量和颜色。列870包括当以列850中对应亮度来照亮列865中对应颜色的像素时、由LCD屏幕消耗的功率的估计。
[0092] 下文是可以如何将不同组件上的活动的性能转化成归因于该组件或应用的功耗的示例。
[0093] 数据处理单元225:在一些实现中,可以测量在一个时间时段上由不同过程执行的循环的数量(或用于反映计算强度的有关参数)。然后可以将该测量结果与用于提醒每单位时间功率使用的因子相乘。
[0094] 无线收发器:由无线收发器消耗的功率可以是收发器的类型和他的信号强度的函数。可以根据电子设备中的每个无线收发器的数据传输和接收活动期间的平均信号强度,将那些活动分配给不同的箱(bin)。换句话说,在电子设备中可能存在总共N*Y个箱,其中N是无线收发器的数量并且Y是信号强度范围的数量。例如对于每个无线收发器可能存在5个不同的信号强度范围。每当电子设备的数据传输和接收活动在箱之间切换时,可以将分配给以前的箱的数据传输和接收活动乘以由操作在对应的信号强度范围之中的收发器汲取的功率的估计。可以将功耗的该估计归因于以下一者或两者:
[0095] -无线收发器以及将归因于该无线收发器的功率的数量增加到表格405的列420(图4)中,以及
[0096] -已对于其执行了数据传输和接收活动的应用,并且将归因于该应用的功率的数量增加到表格410的列430(图4)中。
[0097] 唤醒锁定使用:唤醒锁定是由应用(或应用的版本)保持以防止数据处理器单元进入休眠或其他省电模式的锁定。结果,数据处理装置消耗如果进入该省电模式则不会消耗的功率。多个应用可以同时保持唤醒锁定。在将唤醒锁定的保持转换成可以被分配给应用的功耗时,可以将应用(或应用的版本)的每个唤醒锁定的释放或请求视为用于划分时段的结束的触发器。可以通过将该时段的持续时间乘以由于数据处理单元未进入省电模式而未节省的功率,确定用于该时段的总功耗。然后可以由在该时段期间保持该唤醒锁定的大量应用分割该总功耗,并且可以将结果份额归因于表格410(图4)中的列430中的那些应用。
[0098] 硬件传感器,如加速计、指南针、数码相机、全球定位系统等等:可能要求使用该传感器的应用请求将来自该传感器的数据传递到该应用。在请求缺失的情况下,硬件传感器可能保持不活动。可以使用该请求作为将传感器的功耗归因于不同应用的基础。由于多个应用可能同时请求从传感器接收数据,所以可以基于请求来划分时段,并且可以在每个时段期间接收传感器数据的应用之间分配用于每个时段的总功耗。
[0099] LCD屏幕和背光:可以通过将LCD屏幕及其亮度位于亮度范围内的时段的持续时间、乘以每单位时间亮度范围内所消耗的功率的估计,将LCD屏幕的图形显示及其背光转化成功耗。
[0100] 在功耗被分配给LCD屏幕及其背光以作为组件的实现中,可以使用方程式1:
[0101]    方程式1
[0102] 其中“PLCD”是将要被归因于LCD屏幕及其背光的功耗;“ti”是时段“i”的持续时间,“Ei”是在每个时段“i”期间LCD屏幕及其背光所消耗的过量功率的估计(即超过最低亮度时LCD屏幕及其背光所消耗的功率的基准线估计“BE”);并且LCD屏幕及其背光的操作存在“n”个时段。
[0103] 在LCD屏幕及其背光的功耗被分配给应用的情况中,可以使用方程式2:
[0104] PLCD=tiEi   方程式2
[0105] 其中“Papp”是对于持续时间为“ti”的时段“i”被归因于该应用的功耗,并且“Ei”是在时段“i”期间LCD屏幕及其背光所消耗的过量功率的估计。
[0106] OLED显示器屏幕:通过计算特定颜色和亮度上的像素的数量并且将该数量乘以将像素维持在该颜色和亮度上时所需要的功率估计,可以将OLED显示器屏幕的图形显示转换成功耗。在一些实现中,可以对多组像素的颜色、亮度或者颜色和亮度两者求平均值(例如通过使用例如双线性插值进行平滑),并且可以将该平均值乘以维持该组像素在该平均值上所需要的功率的估计。可以将该功耗的估计归因于OLED显示器屏幕或者用于在该OLED显示器屏幕呈现图形图像的应用。
[0107] 处于空闲状态的电话无线:通过将信号强度处于特定范围之中的不同时段的持续时间、乘以该每单位时间信号强度范围之中所消耗的功率的估计,可以将维持电话无线处于空闲状态转换成功耗。在功耗被分配给电话无线作为分量的实现中,可以使用方程式3:
[0108]    方程式3
[0109] 其中“Pidle”是被归因于空闲电话无线作为分量的功耗;“ti”是每个空闲时段“i”的持续时间,“Ei”是每个空闲时段“i”期间电话无线所消耗的过量功率的估计(即电话无线在最高信号强度范围上所消耗的功率的基准线估计“BE”);并且在不同信号强度范围之中存在电话无线的“n”个空闲时段。
[0110] 利用电话无线进行呼叫:通过将信号强度处于特定范围之中的不同呼叫时段的持续时间、乘以每单位时间呼叫中该信号强度之中的所消耗的功率的估计,可以将用电话无线的呼叫转换成功耗。
[0111] WI-FI收发器(即基于IEEE 802.11标准的收发器):WI-FI收发器的功耗是信号强度和状态(例如扫描、组播等等)的函数。根据在该状态中WI-FI收发器的数据传输和接收活动的平均信号强度,可以将那些活动分配给不同的箱。换句话说,在电子设备中可以操作总共M*Z个箱,其中M是信号强度范围的数量并且Z是不同状态的数量。可以将功耗的估计归因于以下一者或两者:
[0112] -WI-FI收发器自身,以及将归因于该WI-FI收发器的功率的数量增加到表格405的列420(图4)中,以及
[0113] -已对于其执行了数据传输和接收活动的应用,并且将归因于该应用的功率的数量增加到表格410的列430(图4)中。
[0114] 音频和视频组件,如头戴式耳机、专用解压硬件等等:可能要求使用音频和视频组件的应用请求激活该音频和视频组件以便使用。在没有请求的情况下,该音频和视频组件可能保持不活动。可以将该请求作为将该音频和视频组件的功耗归因于不同应用的基础。
[0115] 图9是可以由电池操作的电子设备或用于执行数据处理活动的其他设备执行以向用户提供关于功耗的反馈的过程900的流程图。可以由用于通过执行一个或多个机器可读指令集合来执行操作的一个或多个数字数据处理设备来执行过程900。例如可以由用于执行消耗反馈应用250(图2)的数据处理单元225来执行过程900。可以孤立地或者与其他数字数据处理操作相结合地执行过程900。例如,过程900可以执行过程300,以便在方框925处向用户提供关于当前时段中的功耗的反馈,如下文所述的(图3)。
[0116] 在方框905处,用于执行过程900的设备可以确定是否开始新的时段。可以界定不同的时段,例如通过例如开启关闭电子设备,开始或结束电子设备的充电、切换电子设备的用户或者通过其他事件。可以识别新时段,例如通过例如传感设备的加电或断电,传感电池充电的开始或结束,登陆该系统的用户的改变,或者用于识别新时段的开始的手动触发的接收。
[0117] 响应于确定新时段已开始,在方框910处,用于执行过程900的设备可以将用于描述电子设备的不同方面在已结束的时段期间的功耗的信息转换处功耗的长期记录。可以将用于当前时段的功耗信息增加到功耗的长期记录中,以便在延长的时段上记载该设备的不同方面的功耗。该长期的实际时期可以是例如日历时段(例如周、月或年)或者电子设备的寿命。
[0118] 图10是不同应用的功耗的长期记录1005以及用于不同应用的当前时段的功耗的记录1010的示意性表示。
[0119] 长期记录1005是这样一种数据结构,其将列1015中功耗被归因于的应用的标识符与列1020中这样一种信息相关联,其中,该信息描述在长时期上被归因于那些相应应用的功率的数量。当前时段记录1010是这样一种数据结构,其将列1025中功耗被归因于的应用的标识符与列1020中这样一种信息相关联,其中,该信息描述在当前时段上被归因于那些相应应用的功率的数量。在列1015、1025中识别的应用可以是不同的应用或同一应用的不同版本(例如版本1.0、1.2、2.0……)。长期记录1005或当前时段记录1010中的任意一个可以通过应用表格410(图4)实现历史。
[0120] 在将功耗信息从当前时段记录1010传递到长期记录1005时,数据处理设备可以将被归因于当前时段中的应用的功耗增加到被归因于长时期上的应用的功耗。例如,在所示示例中,可以将被归因于当前时段中的应用“应用_3”的功耗(即列1030中的字段1035)增加到被归因于长时期上的同一应用“应用_3”的功耗(即列1020中的字段1040)。如图所示,与当前时段中的应用相比,功耗通常将被更多地归因于长时期上的应用。
[0121] 返回图9,在方框915处,用于执行过程900的设备还可以清除用于描述在当前时段期间电子设备的不同方面的功率消耗的记录。例如,从当前时段记录1010(图10)中可以清除列1025中的应用标识符和列1030中用于描述已被归因于那些相应应用的功率的数量的信息。
[0122] 在方框920处,用于执行过程900的设备还可以响应于确定新时段已开始来复位时段定时器。该时段定时器可用于呈现用于识别如下时间时段的文本或其他信息155,其中对于该时间时段在反馈呈现110(图10)中呈现功耗反馈。
[0123] 在方框925处,用于执行过程900的设备可以向用户提供关于功耗的反馈。例如该设备可以用或不用过程700(图7)执行过程300(图3),以便提供关于当前时段中的功耗的反馈。作为另一个示例,该设备可以提供关于该电子设备的方面的长期功耗的反馈。
[0124] 图11是可以如何向用户提供关于电池操作的电子设备100的方面的功耗的反馈的示意性表示。
[0125] 显示器屏幕105的一部分包括功耗反馈呈现1105、1110。功耗反馈呈现1105包括应用标识符1115的组,每个应用标识符1115与相应功率等级标记1120相关联。应用标识符1115识别可以在或已经在该电子设备上执行的应用。例如,应用标识符1115可以识别可以从应用开发商或提供商下载的应用。由标识符1115识别的应用可以是不同的应用或同一应用的不同版本(例如版本1.0、1.2、2.0……)。功率等级标记1120是用于指示所识别的应用所消耗的功率数量的图示标记或其他标记。
[0126] 可以用多种方式确定由功率等级标记1120表示的功耗。例如在一些实现中,可以从应用的功耗的长期记录如长期记录1005(图10),确定由该应用(或应用版本)所消耗的功率数量。功率等级标记1120因此可以指示由所识别为在同一电子设备上执行的应用所消耗的功耗数量。作为另一个示例,在一些实现中,可以从一个或多个其他设备上的应用的功耗确定功率等级标记1120。例如开发商或供应商可以收集在电子设备的组上执行的应用(或应用版本)的功耗的记录。这些收集记录然后可用于确定由该应用消耗的平均功率,并且生成用于该应用的功率等级。
[0127] 当可以由多个开发商开发应用时,应用的功耗记录尤其有意义。具体而言,不同开发商可以具有不同的专业水平,并且可以开发消耗不同数量功率的类似应用。当不同应用所消耗的功率数量被评级时,在决定是否执行应用时用户可以将功耗作为考虑因素。当不同应用具有类似的功能并且一个应用可以被视为其他应用的替代时,这特别有用。
[0128] 功耗反馈呈现1110包括不同时段类别的标识符1125的组,其中每个时段类别与相应功率标记1130相关联。标识符1115识别当电子设备处于使用中时的不同类别的时间时段。例如一种时段类别可以出现在白天期间的特定钟点上(例如“中午2PM”,“2PM-4PM”),一种时段类别可以发生在当电子设备100被具体用户(“Jeanne”、“Julie”)使用时,诸如此类。功率标记1130包括文本或其他标记,用于指示在所识别的时段类别期间消耗的功率的平均数量。可以以多种方式确定由功率标记1130表示的功耗。例如,在一些实现中,可以创建大量不同的功耗长期记录,其中每个长期记录与不同类别相关联。响应于新时段开始,可以将用于以前时段的功耗记录传递到专用于该类别的时段的记录。
[0129] 图12是可以收集在电子设备的组上执行的应用的功耗的记录的系统1200的示意性表示。系统1200包括电池操作的电子设备的组1205,其中每个电池操作的电子设备与不同的用户相关联。电池操作的电子设备1205通常是手持移动设备,每个该手持移动设备包括一个或多个无线或有线数据通信组件。电池操作的电子设备1205可以属于不同设备类别。例如,不同电池操作的电子设备1205可以是不同类别的设备(例如手机、个人数字助理、游戏机等等)和每个类别中的设备的不同构造和模型。例如第一设备类别可以是由第一制造商提供的第一个人数字助理模型,第二设备类别可以是由同一制造商提供的第二个人数字助理模型,而第三设备类别可以是由不同制造商提供的不同个人数字助理模型。
[0130] 每个电池操作的电子设备1205被配置为收集关于他自己的功耗的信息。例如在一些实现中,至少一些电池操作的电子设备1205可以收集受限于它们自己的电池的放电率的信息。利用该设备1205,功耗不被设备1205自身归因于不同的应用或组件。在一些实现中,电池操作的电子设备1205可以收集表征应用自身的电池的放电率的信息以及表征在放电期间的应用使用的使用信息。然而,不需要由电池操作的电子设备1205它们自己将放电期间消耗的功率归因于具体应用。而是可以将用于表征放电和使用的信息传输到服务器系统1260,以便将功耗归因于应用。在一些实现中,至少一些电池操作的电子设备1205它们自己将使用期间的功耗归因于它们自己的应用。例如,至少一些设备1250可以是设备100、200。
[0131] 如上所述,每个电池操作的电子设备1205包括一个或多个无线或有线数据通信组件。在所示实现中,每个电池操作的电子设备1205包括一个或多个无线数据通信组件,即移动电话收发器、WiFi收发器中的一个或两个。移动电话收发器能够与电话基站1215交换消息1210。WiFi收发器能够与WiFi接入点1225交换消息1220,并且与同样包括WiFi收发器的对等设备1205交换消息1230。
[0132] 连接电话基站1215和WiFi接入点1225,以用于经由数据链路1245、1250与一个或多个数据通信网络1240的数据通信,并且可以与服务器系统1260交换信息。电池操作的电子设备1205因此还与服务器系统1260进行数据通信。
[0133] 服务器系统1260是被编程为根据一个或多个机器可读指令集合来执行数据处理活动的一个或多个数据处理设备的系统。该活动可以包括收集电池操作的电子设备1205的功耗的记录、将这些记录汇聚为功耗数据库、并且分析功耗数据库记录。根据需要,服务器系统1260还可以将该功耗归因于在电池操作的电子设备1205上执行的应用。下文进一步详述这些以及其他活动。
[0134] 图13是服务器系统1260(图12)的实现的示意性表示。服务器系统1260包括网络接口1305、功耗数据库1310、汇聚和分析指令的组1315、汇聚和分析结果数据库1320以及数据处理系统1325。
[0135] 网络接口1305是被配置为在一个或多个数据通信网络(如通信网络1240)(图12)上提供数据通信的一个或多个组件的系统。网络接口1305可以提供到一个或多个联网介质的物理访问,并且在一些实现中可以包括物理层设备和数据链路层设备。
[0136] 功耗数据库1310是用于表征不同电池操作的电子设备组上的不同应用的功耗的数据集合。例如,功耗数据库1310可以表征电池操作的电子设备租1205(图12)是的不同应用的功耗。通常,功耗数据库1310不包括用于识别具体设备和/或具体设备的用户的信息。换句话说,数据库310中的功耗数据通常在存储之前被匿名化。
[0137] 图14是功耗数据库1310的实现的示意性表示。功耗数据库1310包括功耗记录的组1405、1410、1415。每个功耗记录组1405、1410、1415包括功耗记录,该功耗记录将硬件或软件组件的标识符与被归因于不同电池操作的电子设备(例如系统1200(图12)中的不同设备
1205)的那些组件的功耗的描述相关联。
[0138] 在所示实现中,这些功耗记录是应用表格410的历史,其中根据由应用表格410中所包括的信息所表征的功能所属的电池操作的电子设备的类别来对应用表格410进行分组。因此,功耗记录组1405是用于表征在第一类电池操作的电子设备(即属于“类别A”的设备)上执行的应用的历史功耗的一组表格410。功耗记录组1410是用于表征在第二类电池操作的电子设备(即属于“类别B”的设备)上执行的应用的历史功耗的一组表格410。功耗记录组1415是用于表征在另一类电池操作的电子设备(即属于“类别N”的设备)上执行的应用的历史功耗的一组表格410。如上所述,电池操作的电子设备可能由于是特定设备种类、构造和/或模型而属于一个类别。
[0139] 在另一个实现中,可以不同地组织功耗数据库1410的信息内容。例如可以将该信息内容存储在不同类型的数据库中,并且可以用各种各样不同的方式来构造那些数据库中所使用的数据结构。例如可以在这样一种数据结构中收集功耗记录,其中每个该数据结构与单个应用相关联,或者可以组合应用表格410的单独的历史中的一些或全部记录。
[0140] 图15是一种数据结构1500的示意性表示,在该数据结构1500中对应用表410的多个历史的信息内容进行组合。具体而言,对于属于“类别N”的不同电池操作的电子设备组,对于大量不同设备,数据结构1500将列1505中功耗被归因于的应用的标识符与列1510、1515、1520、1525、1530中被归因于那些应用的功耗的相对效率相关联。列1505中所识别的应用可以是不同的应用或同一应用的不同版本(例如版本1.0、1.2、2.0……)。如图所示,对其表征了功耗的不同设备通常将不全部包括相同的应用。例如,在列1520中表征了设备“设备_3”的功耗,设备“设备_3”仅包括在列1505中识别的3个应用(即应用_1、应用_2和应用_
6),而在列1510中表征了设备“设备_1”的功耗,设备“设备_1”仅包括在所识别的应用中的七个。
[0141] 在所示实现中,数据结构1500还包括这样一种值,该值表征不同电池操作的电子设备的功耗的复合值。具体而言,列1535包括这样一种信息,该信息表征被归因于这样一种全部电池操作的电子设备的不同应用的功耗的平均效率,其中该全部电池操作的电子设备的功耗被单独表征在列1510、1515、1520、1525、1530中。复合值的其他示例包括统计测量,如多个电池操作的电子设备所消耗的功率的中值效率,多个电池操作的电子设备的功耗的效率的模式,多个电池操作的电子设备的功耗的效率的范围,以及该复合值的散布的测量,如方差和置信区间。
[0142] 在其他实现中,根本不存储该复合功耗值,或者将该复合功耗值与单独的功耗信息独立地存储。例如,在一些实现中,列1510、1515、1520、1525、1530的信息内容可以存储在数据仓库中,而列1535中的值或其他符合功耗值存储在分析数据库中。
[0143] 该复合值可以提供由不同用户操作的不同设备中的不同应用的功耗的效率的代表性表征。因此可以容纳单独的用户的功耗的唯一特性。
[0144] 返回图13,汇聚和分析指令1315是一组机器可读指令,当其被数据处理系统1325实现时使得数据处理系统1325执行数据处理活动,该数据处理活动汇聚并且分析用于表征不同电池操作的电子设备上的不同应用的功耗的数据。可以由数据处理系统1325中的数据汇聚器和分析器模块1330执行这些活动。用于表征不同应用的功耗的数据的汇聚和分析可以包括计算用于表征多个电池操作的电子设备中的功耗的复合值。汇聚和分析指令1315还可以包括用于识别应用与另一个硬件或软件组件之间功耗的相互影响的指令,如下进一步所述的。
[0145] 汇聚和分析结果集合1320是用于表征对在功耗数据库1310中所表征的不同应用的功耗进行汇聚和分析的结果的一组数据。汇聚和分析结果集合1320可以包括,例如用于表征电池操作的电子设备的组中的功耗的复合值,以及用于表征应用与其他硬件或软件组件之间功耗的相互影响的数据,如下进一步所述的。在一些实现中,汇聚和分析结果集合1320存储在功耗数据库1310的其他数据之中,如同上述数据结构1500(图15)中的列1535中的复合值。
[0146] 除了数据汇聚器和分析器模块1330的数据处理活动之外,数据处理系统1325还可以作为模块1335来执行数据处理活动集合,用于管理功耗数据库1310中的功耗记录的存储;并且作为模块1340来执行数据处理活动集合,用于管理来自结果集合1320的功耗汇聚和分析结果的报告的模块1340。
[0147] 功耗记录存储模块1335的活动可以包括在网络接口1305上从电池操作的电子设备(如设备1205(图12))的组接收或收集功耗信息,并且将它们增加到功耗数据库1310。在一些实现中,当接收时,功耗已被归因于单独的应用。在其他实现中,功耗记录存储模块1335自身将功耗归因于单独的应用,如下进一步所述的。
[0148] 在一些实现中,功耗记录存储模块1335还可以对历史功耗信息所接收自的设备进行分类,并且根据该分类将被归因的功耗的记录增加到功耗数据库1310。通常,功耗记录存储模块1335还将功耗信息进行匿名化,从而从功耗数据库1310不能辨别历史功耗信息所接收自的单独的电池操作的电子设备(或者与那些设备相关联的用户)的身份。
[0149] 功耗报告模块1340的活动可以从结果集合1320提取汇聚和分析结果,并且基于网络接口1305进行输出。例如在一些实现中,功耗报告模块1340可以基于在网络接口1305上接收的具体的电子设备类别、具体的应用或者两者的标识,来识别具体的汇聚和分析结果。在一些实现中,功耗报告模块1340可以向这样一种站点提供汇聚和分析结果,其中在该站点处可以下载不同的应用。如下进一步所述的,该报告结果可用于生成这样一种显示,该显示表征电池操作的电子设备的单个类别或多个类别上的应用(或应用版本)的复合功耗。该报告结果还用于生成这样一种显示,该显示表征电池操作的电子设备的单个类别或多个类别上功耗的相互影响。
[0150] 图16是用于收集在电池操作的电子设备的组上执行的应用的功耗记录的过程1600的流程图。可以由用于通过执行一个或多个机器可读指令集合来执行操作的一个或多个数字数据处理设备来执行过程1600。例如可以由服务器系统1260(图12、13)执行过程
1600。可以孤立地或者与其他数字数据处理操作相结合地执行过程1600。例如,在过程1600期间接收的历史功耗记录可以被归因于由执行一个或多个过程300、700、900(图3、7、9)的电池操作的电子设备的组产生的功耗记录。
[0151] 在方框1605处,用于执行过程1600的设备接收或收集来自多个电池操作的电子设备的历史功耗记录。该电池操作的电子设备可以是向执行过程300的设备无线地传输该功耗记录的便携式设备。例如,在系统1200的环境中,服务器系统1260可以通过网络1240(图12)从设备1205接收历史功耗记录。该记录中的功耗可以被归因于在电池操作的电子设备上执行的应用或不被归因(如下进一步所述的)。
[0152] 在一些实现中,在周期性的“签到”期间,可以利用无线载波或其他范围提供商,从电池操作的电子设备无线地传输历史功耗记录。这样的服务提供商可以执行过程1600或者将该历史功耗记录中继到正在执行过程1600的另一实体。
[0153] 在方框1610处,用于执行过程1600的设备将历史功耗记录增加到功耗数据库中。该功耗数据库可以位于一个或多个持久数据存储设备上。例如在服务器系统1260的环境中,可以将历史功耗记录增加到功耗数据库1310中。通常,向功耗数据库增加历史功耗记录还可以包括匿名化历史功耗记录,从而从该功耗数据库不能辨别该历史功耗信息所接收自的单独的电池操作的电子设备(或者与那些设备相关联的用户)的身份。
[0154] 在方框1615处,用于执行过程1600的设备汇聚并且分析功耗数据库中的历史功耗记录。该汇聚和分析可以产生这样一种复合值,该复合值表征该历史功耗记录所接收自的电池操作的电子设备中的不同应用的代表性功耗。在一些实现中,该汇聚和分析可以识别应用与另一个硬件或软件组件之间功耗的相互影响,如下进一步所述的。
[0155] 在方框1610处,用于执行过程1600的设备还报告汇聚和分析结果。例如在服务器系统1260的环境中,可以由功耗报告模块1340在网络接口1305上输出该环境和分析结果。可以向例如正在考虑将哪个应用安装在他们的电池操作的电子设备上的用户、向对降低功耗感兴趣的应用和硬件开发商报告该汇聚和分析结果、或者向电池操作的电子设备的提供商报告该汇聚和分析结果,从而该提供商可以确定是否认可或同意一个应用。报告该汇聚和分析结果从而可以向各种各样不同用户提供关于电池操作的电子设备中的功耗的反馈。
[0156] 图17是服务器系统1260的另一个实现的示意性表示。除了网络接口1305、功耗数据库1310、汇聚和分析指令组1315、汇聚和分析结果数据库1320和数据处理系统1325之外,服务器系统1260的所示的实现还包括归因指令组1705和应用安装记录1710。
[0157] 归因指令组1705是这样一种机器可读指令组,当其被数据处理系统1225执行时使得数据处理系统1225执行数据处理活动,该数据处理活动将电池操作的电子设备上的功耗归因于在这些设备上执行的不同应用。通常,在对功耗数据库1310中的历史功耗记录进行任何匿名化和存储之前,由数据处理系统1325中的功耗存储模块1335来执行这些数据处理活动。但是,在一些实现中,未归因的历史功耗记录存储在功耗数据库1310中,并且在从功耗数据库1310获取该功耗之后,数据汇聚器和分析器模块1330将该功耗归因于不同的应用。
[0158] 应用安装记录1710是这样一种数据组,其表征未归因的历史功耗记录所接收自的不同电池操作的电子设备上所安装的应用。应用安装记录1710可以将电子设备的标识符与安装在那些设备上的应用的标识符、以及安装那些应用的日期相关联。在一些实现中,应用安装记录1710还可以包括使用信息,其表征安装在那些设备上的应用的使用。例如该使用信息可以表征应用处于活动中的时间数量,当该应用活动时用该应用执行的活动,或者当同时使用多个应用时的时段的持续时间。
[0159] 在一些实现中,当应用可用于下载时,可以通过使用例如服务器数据处理器系统,追踪向不同的电池操作的电子设备的下载应用,收集应用安装记录1710终中的信息。可以从电池操作的电子设备它们自身收集使用信息。例如在一些实现中,在周期性的“签到”期间可以与历史功耗记录一起接收使用信息。
[0160] 图18是用于收集在电池操作的电子设备的组上执行的应用的功耗记录的过程1800的流程图。可以由用于通过执行一个或多个机器可读指令集合来执行操作的一个或多个数字数据处理设备来执行过程1800。例如可以由服务器系统1260(图12、13)来执行过程
1800。可以孤立地或者与其他数字数据处理操作相结合地执行过程1800。例如可以针对过程1600(图16)中的方框1605处接收的历史功耗记录来执行过程1800。
[0161] 在方框1805处,用于执行过程1800的设备从电池操作的电子设备接收未归因的历史功耗记录。未归因的历史功耗记录是尚未被归因于具体应用的功耗的历史记录。用于表征电池操作的电子设备的功耗的电池放电率作为整体是未归因的历史功耗记录的一个示例。在不将该时间归因于具体的应用的情况下,电池操作的电子设备的硬件组件的操作时间是未归因的历史功耗记录的另一个示例。可以接收未归因的历史功耗记录,例如在周期性的“签到”期间从从电池操作的电子设备在无线传输中接收。
[0162] 在方框1810处,用于执行过程1800的设备识别在电池操作的电子设备上活动的应用,该电池操作的电子设备是在记录中表征的历史时段期间、未归因的历史功耗记录所接收自的电池操作的电子设备。可以用多种方式识别该应用。例如可以使用从该电池操作的电子设备自身收集的使用信息来识别活动的应用。作为另一个示例,可以从用于表征安装在该电池操作的电子设备上的应用的一组数据来识别活动的应用。例如在服务器系统1260的环境中,可以使用该未归因的历史功耗记录所接收自的电池操作的电子设备的身份,从应用安装记录1710(图17)识别活动的应用。
[0163] 在方框1815处,用于执行过程1800的设备将历史功耗记录中所表征的功耗归因于在电池操作的电子设备上活动的应用。可以用多种方式归因功耗。
[0164] 例如可以基于在不同的时段中(如当安装新应用时)在同一设备上活动的应用的改变来归因功耗。例如如果一组应用在第一时段中(例如一月份第二周)在一个设备上是活动的,并且该同一组加上附加应用在第二时段中(例如一月份第三周)是活动的,那么可以将该设备整体的(或者已知该附加应用所使用的设备硬件组件的)任意功耗增加归因于该附加应用。可以从例如服务器系统1260(图17)中的应用安装记录1710确定安装该应用的时间。
[0165] 作为另一个示例,可以基于至少共享一些应用的不同的电池操作的电子设备的功耗中的差异,归因功耗。例如,如果一组应用在第一设备上是活动的,并且相同的一组加上附加应用在第二设备上是活动的,那么可以将该第二设备相对于该第一设备的任意附加功耗归因于该附加应用。可以例如从服务器系统1260(图17)中的应用安装记录1710,确定不同在设备上是活动的不同应用。
[0166] 作为另一个示例,可以基于单个设备中的不同使用模式归因功耗。例如如果在第一时段中相对较少地使用第一应用,并且在第二时段中相对频繁地使用第一应用,那么可以将该设备整体的(或者已知该附加应用所使用的设备硬件组件的)任意功耗增加归因于该第一应用。可以从例如服务器系统1260(图17)的网络接口1305上接收的使用信息确定应用的使用信息。
[0167] 作为另一个示例,可以通过来自大量(超过1000个或超过10000个)设备的功耗的统计分析和使用信息,归因功耗。例如即使当不同的应用在不同的时段上在不同设备是活动时,也可以使用各种统计学技术来分离可被归因于单独的应用的功耗。
[0168] 作为另一个示例,可以由服务器系统1260(图12、13)使用过程300(图3)和从远程设备1205(图12)接收的功耗和使用信息来归因功耗。
[0169] 图19是这样一种功耗反馈呈现1900的示意性表示,该功耗反馈呈现向用户提供关于在电池操作的电子设备的组上执行的应用的功耗的反馈。呈现1900所提供的反馈可能基于由系统(如系统1200(图12)中的服务器系统1260)使用诸如过程1600(图16)和/或过程1800(图18)之类的方法所收集的历史功耗记录。例如可以在网络接口1305上从服务器系统
1260向电池操作的电子设备直接输出功耗反馈呈现1900。作为另一个示例,可以向中介服务器系统输出功耗反馈呈现1900中的信息,其中该中介服务器系统向电池操作的电子设备供应功耗反馈呈现1900。
[0170] 功耗反馈呈现1900包括一组不同的应用标识符1905、1910、1915、1920,不同类别的电池操作的电子设备的一组标识符1925、1930、1935、1940以及一组功率等级标记1950。每个应用标识符1905、1910、1915、1920识别可以或者已经在多个电子设备上执行的应用。
由应用标识符1905、1910、1915、1920识别的应用可以是不同的应用或同一应用的不同版本(例如版本1.0、1.2、2.0……)。每个类别标识符1925、1930、1935、1940识别电池操作的电子设备的一个类别。功率等级标记是用于指示每单位操作时间在每个所识别类别中的多个不同电子设备上所识别的应用所消耗的功率的相对数量的图示符号或其他标记。组1950中的功率等级标记1120因此体现从多个电池操作的电子设备上所识别的应用的功耗记录所确定的功率效率的复合值。
[0171] 在未收集足够多的历史功耗记录来确定具体设备上的应用的功耗的代表性效率的示例中,功耗反馈呈现1900可以包括用于指示功率等级不可用的标记1955。
[0172] 图20是用于分析在电池操作的电子设备的组上执行的应用的功耗的记录的过程2000的流程图。可以由用于通过执行一个或多个机器可读指令集合来执行操作的一个或多个数字数据处理设备来执行过程2000。例如可以由服务器系统1260(图12、13)来执行过程
2000。可以孤立地或者与其他数字数据处理操作相结合地执行过程2000。例如可以作为过程1600(图16)中的方框1615处的功耗记录汇聚和分析的一部分来执行过程2000。
[0173] 在方框2005处,用于执行过程2000的设备识别一个或多个功耗异常值。功耗异常值是设备、应用(或应用版本)或其他元素的、明显与其他实例组的代表性功耗不同的功耗的实例。可以通过将一个实例的每单位时间功耗(即功耗效率)与在不同环境集合之下该示例的每单位时间功耗进行比较,来识别异常值。该环境包括执行该应用的设备、同时在该设备上执行的其他应用以及该应用和设备的使用。可以使用各种统计学分析技术来识别异常值。例如可以使用功耗分布的分析来识别功耗异常值。
[0174] 借助于一个示例,图21示意性地表示功耗分布上的功耗异常值,即柱状图2100。在柱状图2100中,已将功耗的实例分成箱,每个箱包括一个功耗范围。该实例可以是单个类别之中的识别的实例、应用的实例、活动的实例或其他实例。可以由沿柱状图2100的x轴2135放置的条形2105、2110、2115、2120、2125、2130来表示箱。每个条形2105、2110、2115、2120、2125、2130的高度表示由对应的箱所包括的范围之中的实例的计数数量。条形2105、2110、
2115、2120、2125、2130沿x轴2135的位置表示在不同环境之下在所包括范围之中的每单位时间功耗。例如在所示实现中,条形2110表示发生在相对低的功耗水平上的应用(或应用版本)的相对大量的功耗实例,而条形2125表示发生在较高的功耗水平上的应用的相对少量的功耗示例。
[0175] 在柱状图2100中,可以将由条形2125、2130所表示的箱中的功耗实例视为功耗异常值。具体而言,由条形2125、2130所包括的范围之中的功耗效率明显与由条形2105、2110、2115、2120所包括的范围之中的功耗效率不同。此外,由条形2125、2130所表示的箱中的示例是柱状图2100上所表示的实例总数的相对小的一部分。因此由条形2125、2130所表示的箱中的实例明显与由条形2105、2110、2115、2120所表示的代表性功耗实例不同。
[0176] 返回图20,在反馈2010处,用于执行过程2000的设备识别该功耗异常值的出现与该功耗异常值中的电池操作的电子设备其他特性之间的相关性。因此,用于执行过程2000的设备识别当设备的功耗、应用(或应用版本)的功耗或其他元素明显与其他示例中的代表性功耗不同时有可能出现(或缺失)的电池操作的电子设备特性。
[0177] 在一些实现中,被识别为与功耗异常值相关联的电池操作的电子设备的特征是经常出现一个或多个硬件或软件组件。例如,可以识别第二应用的执行与第一应用的功耗异常值之间的相关性。作为另一个示例,可以识别一对应用的执行与设备的功耗异常值之间的相关性。可以将该相关性的识别视为该应用在某种程度上改变功耗的指示。在服务器系统1260的环境中,数据汇聚器和分析器模块1330可以访问一组应用安装记录1710,以确定特定其他应用的出现是否与第一应用的功耗的异常值相关联。
[0178] 在一些应用中,通过对于给定设备集合采用每单位时间所消耗的功率的最高数量实例的特定百分比(例如大约5%),并且寻找全部这些示例共有的其他应用或特征,识别相关性。
[0179] 在识别相关性之后,在方框2015处,用于执行过程2000的设备输出用于描述那些相关性的信息。可以使用用于描述那些相关性的信息来识别导致出现功耗异常值的功耗的相互影响。例如,硬件或软件组件可以与应用相互影响,以改变该应用的功耗。然后将该硬件或软件组件的出现与用于该应用的功耗异常值相关联。
[0180] 人员或数据处理系统可以接收并且使用用于描述该相关性的数据以便功耗相互影响的识别。例如工程师或数据处理设备的专家系统能够确定:为什么当一对应用出现在电池操作的设备上时特定硬件组件要消耗附加功率、而任意一个应用单独出现在同一类别的设备上时功率数量相对较低的原因。
[0181] 借助于一个示例,第一应用可以指导电池操作的电子设备在该设备未处于休眠或其他省电操作模式中时执行相对密集的数据处理活动。由于具体类别的电池操作的电子设备经常进入该省电操作模式,所以被孤立的第一应用的功耗可能不会过大。但是,第二应用可能指导电池操作的电子设备避免进入省电模式。这些应用因此进行相互影响以增加第一应用的功耗,因为该设备永远避免进入省电模式,并且在第一应用的指导下持续执行相对密集的数据处理活动。
[0182] 在由各种各样不相关的开发商提供应用的电池操作的电子设备中,一个应用在某种程度上改变另一个应用的功耗的指示特别有意义。具体而言,不同开发商可能在无视它们的应用对其他应用的功耗的影响、以及因此对整个该设备的功耗的影响的情况下开发应用。通过识别相关性和用于描述该相关性的输出信息,用于执行过程2000的设备可以允许以降低的代价,来识别并且潜在地有可能消除不同开发商开发的应用之间的相互影响。
[0183] 图22是这样一种功耗反馈呈现的示意性表示2200,该功耗反馈呈现向用户提供用于描述第一应用于其他应用之间的相互影响的信息。
[0184] 呈现2200所提供的反馈可能基于由系统(如系统1200(图12)中的服务器系统1260)使用诸如过程1600(图16)和/或过程1800(图18)之类的方法所收集的历史功耗记录和由诸如过程2000(图20)的方法所识别的相关性。例如可以在网络接口1305上从服务器系统1260向电池操作的电子设备1205直接输出功耗反馈呈现2200。作为另一个示例,可以向中介服务器系统输出功耗反馈呈现2200中的信息,其中该中介服务器系统向电池操作的电子设备1205供应功耗反馈呈现2200。
[0185] 功耗反馈呈现2200包括第一应用的标识符2205(即“应用_N”)以及应用识别其他应用与由标识符2205所识别的应用之间的相互影响的信息组2210。在所示实现中,信息组2210包括干扰应用的标识符2215、2220和该干扰的影响的描述2225、2230。
[0186] 在一些实现中,可以从这样一种站点向用户提供呈现2220,其中可以在该站点处下载不同的应用。当下载应用时用户可以考虑所述相互影响。
[0187] 可以将本文所述的系统、方法和技术的各种实现以如下方式实现:数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合。这些各种各样的实现可以包括可在包括至少一个可编程处理器的可编程系统上执行和/或解释的一个或多个计算机程序中的实现,其中该至少一个可编程处理器可以是所耦合的专用或通用处理器,用于从存储器系统、至少一个输入设备以及至少一个输出设备接收数据和指令、并且向该存储器系统、至少一个输入设备以及至少一个输出设备传输数据和指令。
[0188] 这些计算机程序(又被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以被实现在高级程序和/或面向对象的编程语言中和/或汇编/机器语言中。如本文所使用的,术语“机器可读指令”、“计算机可读介质”是指用于向可编程处理器提供机器质量和/或数据的任意计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收指令以作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供指令和/或数据的任意信号。
[0189] 为了提供与用户的交互,本文所述的系统、方法和技术可以实现在具有用于向用户显示信息显示器设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及可被用户用于向计算机提供输入的键盘和指点设备(例如鼠标或追踪球)的计算机上。还可以使用其他类型的设备来提供与用户的交互;例如提供给用户的反馈可以是任意形式的传感反馈(例如可视反馈、可听反馈或可触摸反馈),并且可以用任意形式接收来自用户的输入,包括声学的、话音的或可触摸的输入。
[0190] 本文所述的系统、方法和技术可以实现在包括后端组件(例如数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户接口或Web浏览器的客户端计算机,其中用户可以通过它们来与本文所述的系统、方法和技术的实现进行交互)或者包括该后端、中间件或前端组件的任意组合的计算系统中。可以通过任意形式或介质的数字数据通信(例如通信网络)来互联该系统的组件。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
[0191] 计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络来交互。客户端和服务器的关系取决于运行在各计算机上的计算机程序并且彼此具有客户端-服务器关系。
[0192] 已描述大量实施方式。但是要理解的是,在不脱离本发明的精神和范围的前提下可以做出各种各样的修改。例如,虽然关于消息收发和地图应用来描述该文献的大部分,但是可以解决其他形式的图形应用,如交互式节目指南、网页导航和缩放以及其他此类应用。
[0193] 另外,附图中所示的逻辑流程图不需要以所示的具体次序或顺次顺序来实现希望的结果。另外,可以提供其他步骤,或者可以从所述流出中去除多个步骤,并且可以增加或者从所述系统中去除其他组件。因此,其他实施方式也落入所附权利要求的范围中。