监视应用程序资源消耗的方法和设备

申请号 CN201280059536.X 申请日 2012-10-05 公开(公告)号 CN103959745B 公开(公告)日 2017-06-23
申请人 谷歌公司; 发明人 G·A·科恩; M·G·莫里西; J·A·夏基; A·夏尔马;
摘要 一般而言,本 说明书 中描述的主题内容可以体现在用于监视应用程序资源消耗的方法、系统和程序产品中。 访问 信息,该信息标识多个计算设备并且在特定应用程序的 请求 时对与计算设备对应的资源的消耗。多个计算设备中的每个计算设备提供信息的一部分。计算系统分析访问的信息以确定一个或者多个值,该一个或者多个值标识计算设备的至少子集对资源的消耗。提供图示一个或者多个值的标记用于在特定计算设备上并且与网络可访问应用程序 软件 集市的显示配合显示。应用程序软件集市提供用于由特定计算设备和其它计算设备执行的应用程序软件。
权利要求

1.一种计算机实施的方法,包括:
由计算系统通过访问信息来监视多个计算设备中特定应用程序的性能,所述信息标识作为所述多个计算设备上所述特定应用程序的请求的结果的所述多个计算设备的电池消耗或无线数据传送的第一平;
由所述计算系统分析所述访问的信息以确定一个或者多个值,所述一个或者多个值标识所述多个计算设备的至少一子集的电池消耗或无线数据传送的第二水平;以及由所述计算系统提供指示所述一个或者多个值的标记并且用于由特定计算设备与网络可访问应用程序软件集市的显示配合地显示,其中所述应用程序软件集市提供用于由所述特定计算设备和访问所述应用程序软件集市的其它计算设备执行的应用程序软件。
2.根据权利要求1所述的计算机实施的方法,其中所述第二水平是所述多个计算设备的所述至少一子集在定义的时间长度内的平均电池消耗或平均无线数据传送的水平。
3.根据权利要求2所述的计算机实施的方法,其中所述定义的时间长度是分钟、小时、天、周或月。
4.根据权利要求1所述的计算机实施的方法,其中:
无线数据传送的所述第一水平或无线数据传送的所述第二水平标识使用一个或者多个无线网络来传送的数据数量;以及
所述一个或者多个无线网络的一个或者多个服务提供者:(i)计量使用所述一个或者多个无线网络传送的至少某些所述数据数量,并且(ii)基于所述计量的至少某些所述数据数量向所述多个计算设备的至少某些用户开账单。
5.根据权利要求1所述的计算机实施的方法,还包括:
标识已经被确定与所述特定应用程序相似的另一应用程序;
标识作为所述多个计算设备或另一组计算设备的至少某些计算 设备上所述另一特定应用程序的请求的结果的所述多个计算设备或另一组计算设备的所述至少某些计算设备的电池消耗或无线数据传送的第三水平;以及
在所述一个或者多个值的所述确定方面使用所述标识的电池消耗或无线数据传送的第三水平,所述一个或者多个值标识作为所述特定应用程序的所述请求的结果的电池消耗或无线数据传送的第二水平。
6.根据权利要求5所述的计算机实施的方法,其中所述标记指示所述特定应用程序的电池消耗或无线数据传送与所述另一应用程序的电池消耗或无线数据传送的比较。
7.根据权利要求1所述的计算机实施的方法,其中所述一个或者多个值的所述确定对(i)标识所述多个计算设备的某些计算设备的所述电池消耗或所述无线数据传送的所述第一水平的信息比(ii)标识所述计算设备中不是所述多个计算设备的所述某些计算设备的其它计算设备的电池消耗或无线数据传送的所述第一水平的信息更重地加权。
8.根据权利要求7所述的计算机实施的方法,进一步包括将所述多个计算设备的所述某些计算设备标识为所述多个计算设备中与所述特定计算设备或所述特定计算设备的用户具有特定共性的某些计算设备。
9.根据权利要求1所述的计算机实施的方法,其中提供所述标记用于由所述特定计算设备与网络可访问应用程序软件集市的所述显示配合地显示包括:在由所述应用程序软件集市提供的网页中显示所述标记。
10.根据权利要求9所述的计算机实施的方法,其中所述网页在所述特定应用程序的标题旁边呈现所述标记的显示。
11.根据权利要求9所述的计算机实施的方法,其中所述网页呈现所述标记的显示、所述特定应用程序的标题、所述特定应用程序的描述和所述特定应用程序的价格。
12.根据权利要求1所述的计算机实施的方法,其中提供所述标记用于由所述特定计算设备与网络可访问应用程序软件集市的所述显示配合地显示包括所述特定计算设备呈现以下信息的同时显示:
(i)关于所述特定应用程序和所述标记的信息;以及
(ii)关于另一特定应用程序和另一标记的信息,所述另一标记指示标识作为某些计算设备上所述另一应用程序的请求的结果的所述某些计算设备的电池消耗或无线数据传送的水平的一个或者多个值。
13.根据权利要求1所述的计算机实施的方法,还包括从所述多个计算设备接收所述信息,所述多个计算设备的每个计算设备提供所述信息的一部分,使得由相应个别计算设备提供的所述信息的所述一部分标识作为所述相应个别计算设备的某些请求的结果的所述相应个别计算设备的电池消耗或无线数据传送的水平。
14.根据权利要求1所述的计算机实施的方法,其中所述特定应用程序在所述多个计算设备中的每个计算设备被安装并且至少部分从所述每个计算设备执行。
15.根据权利要求1所述的计算机实施的方法,其中响应于所述多个计算设备中的每个计算设备提交所述网络可访问应用程序软件集市以提供所述特定应用程序的请求,在所述多个计算设备中的每个计算设备安装所述特定应用程序。
16.根据权利要求1所述的计算机实施的方法,其中电池消耗或无线数据传送的所述第一水平与电池消耗或无线数据传送的所述第二水平相同。
17.一种计算机实施的设备,包括:
用于记录信息的装置,所述信息标识作为计算设备上特定应用程序的请求的结果的所述计算设备的电池消耗或无线数据传送的第一水平;以及
用于向监视多个计算设备中所述特定应用程序的性能的计算系 统提供所述信息的装置,所述信息标识所述计算设备的电池消耗或无线数据传送的所述第一水平,以便使所述计算系统:
(a)通过聚合由所述计算设备提供的所述信息与其它信息来生成一个或者多个值,所述其它信息由所述多个计算设备的其它计算设备提供并且标识作为所述其它计算设备上所述特定应用程序的其他请求的结果的所述其它计算设备的电池消耗或无线数据传送的第二水平,以及
(b)向系统提供所述一个或者多个值的表示,所述系统配合网络可访问应用程序软件集市的显示向能够从所述应用程序软件集市下载应用程序的计算设备显示标记,所述标记指示所述一个或者多个值。

说明书全文

监视应用程序资源消耗的方法和设备

[0001] 有关申请的交叉引用
[0002] 本申请要求于2011年10月11日提交、名称为MONITORING APPLICATION PROGRAM RESOURCE CONSUMPTION的第13/270,892号美国申请的优先权,其公开内容通过引用并入于此。

技术领域

[0003] 本文总体上涉及监视应用程序资源消耗。

背景技术

[0004] 计算系统可以包括多个应用程序,并且这些应用程序可以在计算机系统启动时或者在计算机系统接收用于起动应用程序的用户输入时执行。例如,计算系统的显示器可以呈现各自与相应应用程序对应的多个图标。用户可以选择图标之一(例如,通过鼠标点击或者用户的手指触摸)以起动对应应用程序。应用程序可以是计算机系统可以执行的计算机程序。例如,应用程序可以包括在计算机可读设备关联编码的并且计算系统的一个或者多个处理器可以执行的指令。
[0005] 应用程序可以在用户购买系统时随着计算系统预加载或者可以在用户的请求时向计算系统添加。用于向计算系统添加应用的示例技术包括插入光盘,光盘包含用于应用程序的安装文件。用户可以选择安装文件以便提示计算系统安装应用程序。
[0006] 用户也可以通过使用网络可访问应用程序软件集市向计算系统添加应用程序。在一些示例中,应用程序软件集市可以是网站,该网站允许用户浏览遍历能够在用户的计算系统上安装的应用程序的列表。
[0007] 用户可以选择安装或者执行应用程序软件集市呈现的具体应用程序。作为响应,应用程序软件集市可以提供一个或者多个应用程序安装或者可执行文件用于由用户的计算系统接收。在计算系统接收安装文件时,计算系统可以解压在安装文件内存储的信息并且配置计算系统用于应用程序的操作。
[0008] 计算系统可以在应用程序的请求时使用与该计算系统对应的资源。这样的资源可以例如包括中央处理单元(CPU)周期、计算系统能量或者电池消耗、无线网络数据使用和文本消息。计算系统的资源可能成本高或者有限。例如,计算系统对无线网络的使用可以例如由无线网络服务提供者计量。可以针对无线网络的使用对于使用的每个带宽单位或者对于在数据上限以上使用的每个带宽单位向计算系统的用户开账单。类似地,计算系统可以具有在计算系统可能需要再充电之前可用的有限电池功率数量并且可能具有计算系统可以在给定的时间段内花费的有限处理平。发明内容
[0009] 系统可以向计算机用户通知应用程序和相似项目可能对在其上安装它们的计算设备需求的各种系统资源的水平。该系统可以是有用的,因为应用程序可以消耗不同水平的计算系统资源。例如,第一应用程序可能在典型使用期间比第二应用程序消耗更多无线网络带宽或者能量消耗。计算系统资源的这样消耗差异对设备用户是有意义的,因为设备经常赋予有限资源。标识应用程序对计算系统资源的历史或者预期消耗的信息可能被考虑使用该应用程序的用户重视。例如,用户对资源的以往消耗可以帮助将来用户判决是否向他的或者她的计算设备添加应用。
[0010] 这样的消耗信息共享可以伴随有让各种设备报告他们的消耗统计量(以匿名化方式),并且编辑这样的信息用于向其他用户提供。这样,计算设备可以监视与设备对应并且在一个或者多个应用程序的请求时花费的资源的消耗。计算设备可以向计算机系统定期地报 告应用程序对设备的资源的消耗,该计算机系统聚合从其它计算设备相似地接收的关于应用程序资源消耗的报告。
[0011] 聚合系统可以在多个应用程序中的每个应用程序的请求时并且跨越已经在其上安装各种应用的许多不同设备存储标识计算设备资源消耗的信息。这样的消耗信息可以由提供网络可访问应用程序软件集市的系统访问并且可选地管理。应用程序软件集市可以呈现标记作为伴随可以从应用程序软件集市下载的应用程序的呈现的表示,这些标记各自图示每个应用程序对计算设备资源的消耗。
[0012] 作为在以下说明书中描述的实现方式的备选,本公开内容也提供以下实现方式:
[0013] 实现方式1涉及一种用于监视应用程序资源消耗的计算机实施的方法,该方法包括访问信息,该信息标识多个计算设备并且在特定应用程序的请求时对与计算设备对应的资源的消耗,多个计算设备中的每个计算设备已经提供信息的一部分。该方法计算系统分析访问的信息以确定一个或者多个值,该一个或者多个值标识计算设备的至少子集对资源的消耗。该方法提供图示一个或者多个值的标记用于在特定计算设备上并且与网络可访问应用程序软件集市的显示配合显示,其中应用程序软件集市提供用于由特定计算设备和其它计算设备执行的应用程序软件。
[0014] 实现方式2涉及实现方式1的方法,其中一个或者多个值标识资源在定义的时间长度内的平均消耗。
[0015] 实现方式3涉及实现方式1或者2中的任一实现方式的方法,其中资源包括计算设备对一个或者多个无线网络的数据使用。
[0016] 实现方式4涉及实现方式3的方法,其中标识一个或者多个无线网络对数据使用的消耗的信息标识使用一个或者多个无线网络来传送的数据量。
[0017] 实现方式5涉及实现方式3或者4中的任一实现方式的方法,其中无线网络的一个或者多个服务提供者(i)计量无线网络的计算设备的数据使用并且(ii)基于用户消耗的数据数量向计算设备的用 户开账单。
[0018] 实现方式6涉及实现方式1或者2中的任一实现方式的方法,其中资源包括计算设备的CPU使用或者电池使用。
[0019] 实现方式7涉及实现方式1至6中的任一实现方式的方法,还包括从多个计算设备接收信息,多个计算设备中的每个计算设备已经提供信息的部分,从而信息的部分标识该个别计算设备在特定应用程序的请求时的资源消耗。
[0020] 实现方式8涉及实现方式7的方法,其中为多个计算设备中的个别计算设备安装的操作系统监视对应个别计算设备在特定应用程序的请求时的资源消耗。
[0021] 实现方式9涉及实现方式7的方法,其中为多个计算设备中的个别计算设备安装的特定应用程序监视对应个别计算设备在特定应用的请求时的资源消耗。
[0022] 实现方式10涉及实现方式1至9中的任一实现方式的方法,其中应用程序在计算设备中的每个计算设备被安装并且至少部分从每个计算设备执行。
[0023] 实现方式11涉及实现方式1至10中的任一实现方式的方法,其中响应于计算设备中的每个计算设备请求来自网络可访问应用程序软件集市的特定应用程序在计算设备中的每个计算设备安装特定应用程序。
[0024] 实现方式12涉及实现方式1至11中的任一实现方式的方法,其中应用程序软件集市提供计算设备的用户购买应用程序并且向应用程序的开发者提供购买的至少货币部分。
[0025] 实现方式13涉及实现方式1至12中的任一实现方式的方法,还包括确定计算设备的至少子集为计算设备的由社交网络的与特定计算设备的用户具有关系的用户操作的计算子集,其中确定一个或者多个值对标识计算设备子集对资源的消耗的信息比标识计算设备中的未在子集中的其它计算设备对资源的消耗的信息重地或者排他地加权。
[0026] 实现方式14涉及实现方式1至13中的任一实现方式的方法,还包括确定计算设备的至少子集为计算设备的消耗资源的与特定计算设备消耗的资源的水平匹配的水平的子集,其中确定一个或者多个值对标识计算设备子集对资源的消耗的信息比标识计算设备中的未在子集中的其它计算设备对资源的消耗的信息重地或者排他地加权。
[0027] 实现方式15涉及实现方式1至14中的任一实现方式的方法,还包括确定计算设备的至少子集为计算设备的在地理上在特定计算设备附近的子集,其中确定一个或者多个值对标识计算设备子集对资源的消耗的信息比标识计算设备中的未在子集中的其它计算设备对资源的消耗的信息重地或者排他地加权。
[0028] 实现方式16涉及实现方式1至15中的任一实现方式的方法,还包括确定计算设备的至少子集为计算设备的使用相同无线网络数据计划的子集,其中确定一个或者多个值对标识计算设备子集对资源的消耗的信息比标识计算设备中的未在子集中的其它计算设备对资源的消耗的信息重地或者排他地加权。
[0029] 实现方式17涉及实现方式1至15中的任一实现方式的方法,还包括:标识已经被确定与特定应用程序相似的另一应用程序;标识多个计算设备或者另一组计算设备在另一应用程序的请求时的资源消耗;并且在确定标识在特定应用程序的请求时对资源的消耗的一个或者多个值时使用在另一应用程序的请求时的标识的资源消耗。
[0030] 实现方式18涉及实现方式17的方法,其中基于特定应用程序和另一应用程序在应用程序软件集市中被特定应用程序和另一应用程序的不同开发者指派成相同应用程序软件类别来确定另一应用程序与特定应用程序相似。
[0031] 实现方式19涉及实现方式17的方法,其中基于由以下各项构成的组中的任何一项或者多项确定另一应用程序与特定应用程序相似:(i)确定特定应用程序和另一应用程序使用相同操作系统应用 程序界面以及(ii)确定特定应用程序和另一应用程序请求操作系统的相同权限。
[0032] 其它实现方式包括一个或者多个存储指令的计算机可读存储设备,指令在由一个或者多个处理设备执行时执行根据以上描述的方法的操作。其它实现方式包括如下系统和装置,这些系统和装置包括描述的计算机可读存储设备并且被配置用于使用一个或者多个处理设备来执行操作。
[0033] 实现方式20涉及一个或者多个存储指令的计算机可读存储设备,指令在由一个或者多个处理设备执行时执行操作,这些操作包括:计算设备记录信息,该信息标识在特定应用程序的请求时与计算设备对应的资源的消耗;并且计算设备向监视在特定应用程序的请求时与计算设备和其它计算设备对应的资源的消耗的计算系统提供标识资源的消耗的信息以便使计算系统(i)聚合信息与标识与其它计算设备对应的资源的消耗的信息并且(ii)向赋予网络可访问应用程序软件集市的系统提供聚合的信息的表示,网络可访问应用程序软件集市使用提供的表示以向能够从应用程序软件集市下载应用程序的计算设备显示标记,该标记标识应用程序的消耗水平。
[0034] 实现方式21涉及一种计算机系统,该计算机系统包括:聚合计算子系统,用于从多个计算设备接收信息,信息标识在相同应用程序的由多个计算设备执行的实例的请求时与多个计算设备对应的资源的消耗;以及集市显示器计算子系统,用于从聚合计算子系统接收一个或者多个值,一个或者多个值代表在相同应用程序的实例的请求时与多个计算设备对应的资源的消耗,并且向请求应用程序软件集市显示相同应用程序的请求计算设备提供标记用于显示,标记代表一个或者多个值并且向请求计算设备的用户提供计算设备资源在相同应用程序的请求时的消耗的指示。
[0035] 实现方式22涉及实现方式21的计算机系统,其中聚合计算子系统包括用于从接收的信息生成一个或者多个值的个性化计算子系统,一个或者多个值代表在相同应用程序的一个或者多个实例的请 求时相对于在已经被确定与相同应用程序匹配的另一应用程序的一个或者多个实例的请求时的资源消耗而言的资源消耗。
[0036] 实现方式23涉及一种用于提供应用程序软件集市的计算机实施的方法,该方法包括:计算系统接收对于提供在应用程序软件集市可用的多个应用程序中的至少一个应用程序的表示用于在远程计算设备上显示的请求,其中应用程序软件集市提供远程计算设备的用于下载信息以执行多个应用程序中的每个应用程序的能;计算系统标识值,值代表一个应用程序已经在其上执行的远程计算设备上的资源在应用程序的请求时的消耗水平,远程计算设备中的每个远程计算设备已经提供用来生成值的信息的部分;并且提供在远程计算设备上并行显示(i)一个应用程序的表示和(ii)代表值的标记。
[0037] 具体实现方式可以在某些示例中实现以下优点中的一个或者多个优点。可以向用户示出关于他们想要使用的应用的更多信息,从而他们可以选择使用应用程序,这些应用程序最高效地消耗他们的计算设备的资源。这样,用户的设备可以更快地操作、可以对于在能量充电之间的更长持续时间操作并且可以消耗减少数量的高成本服务(例如数据计划或者文本消息)。另外,用户可以能够确定用于应用程序的总所有权成本。例如两个应用程序可以初始购买架构显得相似,但是一个应用程序可以消耗比另一应用程序更多的资源。这样,用户可以能够确定这一个应用程序可以实际反映比另一应用程序更大的总所有权成本。另外,应用程序资源消耗的公开呈现可以刺激应用程序开发者开发更高效地消耗计算设备资源的应用程序。
[0038] 在附图和以下描述中阐述一个或者多个实现方式的细节。将从描述和附图中以及从权利要求中清楚其它特征、目的和优点。

附图说明

[0039] 图1图示监视应用程序资源消耗并且向用户呈现这样的消耗的指示的系统。
[0040] 图2是图示应用随着时间的计算设备资源消耗的图形。
[0041] 图3图示消耗度量个性化系统的操作。
[0042] 图4图示用于由软件集市显示的代表应用资源消耗的标记。
[0043] 图5是用于监视应用程序资源消耗并且向用户呈现这样的消耗的指示的过程的流程图
[0044] 图6是可以用来实施在本文中描述的系统和方法的系统的概念图
[0045] 图7是可以用来实施在本文中描述的系统和方法为客户端或者为一个服务器或者多个服务器的计算设备的框图
[0046] 在各种附图中的相似标号表示相似要素。

具体实施方式

[0047] 本文主要地描述用于监视应用程序资源消耗,并且向用户呈现这样的消耗的指示的技术。例如,系统可以监视在用户组的设备上的应用程序对计算设备资源的消耗水平。系统可以在网络可访问应用程序软件集市中向其他用户、比如可能想要获取应用程序的用户提供这样的消耗的指示。
[0048] 更具体而言,网络可访问应用程序软件集市可以帮助用户标识应用程序用于由他们的计算系统安装和/或执行。例如,用户可以浏览在上个月内的最普遍下载的应用程序的列表或者可以搜寻与用户录入的关键词匹配的应用程序。软件集市可以提供允许用户购买不是免费的应用程序的支付系统并且可以向应用程序的开发者至少提供购买架构的部分。软件集市可以赋予关于应用程序中的每个应用程序的信息、例如屏幕截图、描述、价格和为了安装应用程序而需要的存储器
[0049] 软件集市也可以提供信息,该信息标识应用程序在已经安装应用程序的计算设备上的资源消耗——其中资源消耗可以根据如何使用应用在实际使用中从设备到设备和用户到用户变化(即,它不是可以在安装之前对于应用容易确定的设置的消耗数量、比如存储空 间)。例如,软件即使可以在应用程序的标题旁边显示标记(例如,数目或者图标),该标记标识已经下载应用程序的用户的每月平均无线网络数据消耗。由于一些无线网络提供者未提供无限的无线网络数据消耗或者在消耗达到指定的无线网络数据水平之后节制带宽速度,所以这样的信息可以帮助用户被通知下载和使用哪些应用程序。
[0050] 对于特定应用程序呈现的一个或者多个标记可以依赖于信息,该信息标识在应用程序的请求时在多个计算设备上的资源使用。信息可以由监视这样的计算系统资源使用的系统(例如,在个别客户端计算设备上)获得。例如,用户可以向他们的相应计算设备下载特定应用程序。在计算设备上的应用程序的个别安装的实例或者操作系统可以监视应用程序的请求和响应于请求而消耗的计算设备资源。计算设备可以向集中式系统报告这样的消耗信息,该集中式系统聚合用于多个应用程序的来自多个设备的信息并且向软件集市提供信息以便影响图示应用程序资源消耗的不同标记的显示。
[0051] 图1图示监视应用程序资源消耗并且向用户呈现这样的消耗的指示的系统。在这一图示中,多个计算设备102a-c监视在应用程序的请求时出现的计算设备资源消耗。计算设备然后向应用消耗聚合系统110发送标识资源消耗的信息。应用消耗聚合系统110可以向消耗度量个性化系统112提供这样的信息。消耗度量个性化系统112可以定制信息以例如在计算设备的特定子集之中的应用程序的请求时指示计算设备资源的消耗。消耗度量个性化系统112可以向应用程序软件集市提供个性化信息(由网页114图示)。
[0052] 更具体而言,计算设备102a(在一些实例中,这里也称为计算系统)包括多个应用程序108。应用程序108可以代表多个不同计算机程序,这些计算机程序中的一些计算机程序可以已经向计算设备上预加载,并且这些计算机程序中的一些已经通过使用应用程序软件集市向计算设备102a下载。
[0053] 计算设备102a可以在计算设备102a启动时或者在计算设备 102a的用户选择引起执行应用程序的图形界面元素时执行应用程序。应用程序可以在一些实例中在计算设备的前台显示中执行。在计算设备的前台显示中执行的应用程序可以控制显示的至少部分以便在显示的该部分内接收用户输入。应用程序也可以在计算设备的后台中执行。对于这样的后台执行应用程序,计算设备可以未显示应用当前正在执行的指示。
[0054] 计算设备102a可以包括应用消耗记录器106。应用消耗记录器106可以监视各种应用程序的请求和由于请求而出现的计算设备资源对应消耗。例如,应用消耗记录器106可以定期地标识和记录向应用程序分配的CPUP周期或者易失性存储器的当前水平。
[0055] 应用消耗记录器106可以附加地或者备选地定期地标识和记录已经在应用程序的请求时出现的无线网络数据消耗或者文本消息数量。这样的标识和记录的信息可以加时间戳并且与应用程序在该特定时间的状态(例如,后台或者前台操作)的指示存储,从而信息可以用来确定在具体时间段内或者相对于计算设备的特定状态而言的资源消耗。
[0056] 图2是图示应用随着时间的计算设备资源消耗的图形200。具体而言,图形图示在应用程序的请求时与计算设备对应的资源消耗(即,数据消耗202和CPU消耗204)。
[0057] 在第一时间段206a期间,应用程序不活跃。例如,托管应用程序的计算设备可以被关断或者可以被接通,但是用户可以尚未提供用于起动应用程序的用户输入。因而,系统对于时间段206a未记录在应用程序的请求时的数据消耗202或者CPU消耗204。
[0058] 在第二时间段206b期间,应用程序已经被起动并且在前台中执行。例如,应用程序可以已经由于用户接通计算设备而自动起动,或者用户可以已经将他的手指触摸到计算设备显示的并且在被选择时使计算设备执行应用程序的图标。如图形200所示,CPU消耗204在应用在前台中被执行时初始地跳跃、然后对于应用在前台中执行的持续时间调稳更低。在另一方面,数据消耗202在时间段206b的 结束附近明显增加之前缓慢增加。
[0059] 在第三时间段206c期间,应用程序将执行改变成激活状态。CPU消耗204和数据消耗202在这一激活状态期间增加。作为示例,应用程序可以是音乐流式程序。应用程序的前台执行可以涉及到用户浏览可用于用户收听的台。然而激活状态可以在用户已经选择收听特定音乐台并且通过网络接收音乐的数据传输之后出现。
[0060] 在第四时间段206d期间,应用程序将执行改变成后台状态。例如,电话呼叫可以已经由计算设备(在这一示例中为包括电话的移动设备)接收。电话应用程序可以替换音乐流式服务作为前台应用程序,并且音乐可以停止从音乐流式服务的流发送。计算设备仍然可以在减少的执行水平维持音乐流失服务,从而音乐流逝程序可以自动在终止电话呼叫时自动恢复前台状态或者可以在用户的请求时快速恢复前台执行。
[0061] 在一些示例中,应用消耗记录器106可以根据时间表、例如每五秒定期地记录应用消耗数据。然而可以提示应用消耗记录器106在应用程序向不同状态转变时在时间表以外记录应用消耗数据。这样,应用消耗记录器106可以在状态开始时和在状态结束时记录应用消耗。在一些示例中,应用消耗记录器106可以在应用程序提出特定事件时、例如在应用程序发送文本消息、请求增加分配的存储器或者通过无线网络发送信息分组时记录应用数据消耗。应用消耗记录器106可以与消耗数据中的每个数据点存储应用程序的对应状态和时间。
[0062] 在一些实现方式中,应用消耗记录器106可以至少部分从远离计算设备102a的服务器系统执行。例如,计算设备102a可以通过向计算设备102a的桌面显示添加指向web应用程序的书签来安装作为web应用程序的特定应用程序。这样,web应用程序可以在有客户端-服务器关系的服务器系统和计算设备二者执行。在这样的示例中,服务器系统可以包括应用消耗记录器106以便以集中方式记录多个移动计算设备的资源消耗。例如,服务器系统可以记录特定计 算设备向服务器系统传输的数据数量以便估计该特定计算设备对无线数据计划(或者有线数据计划)的消耗。
[0063] 回到图1的描述,应用消耗记录器106向应用消耗传输器104提供记录的信息。应用消耗记录器104向应用消耗聚合系统110定期地传输应用消耗记录器106记录的应用消耗数据。应用消耗传输器104可以原样传输消耗记录器106记录的数据而未与其它消耗数据绑或者可以捆绑信息并且向聚合系统110定期地(例如,每N分钟或者天或者在出现特定事件时、比如在设备接通或者用户拜访软件集市时)发送捆绑的信息。
[0064] 应用消耗传输器104可以匿名化传输的数据。在一些示例中,匿名化和传输的数据可以与非个人地可标识用户信息(例如,设备的大致地理、向设备赋予无线网络数据服务的服务提供者以及如以下更具体描述的其它相似用户和设备特性)关联。用户可以选择退出计算设备记录应用消耗和计算设备传输应用消耗数据。
[0065] 应用消耗聚合系统110可以由可以物理地远离设备102a-c中的每个设备的服务器系统执行。聚合系统110可以从设备102a-c中的每个设备接收消耗数据并且可以存储用于每个特定应用程序的消耗数据。
[0066] 聚合系统110可以向应用程序软件集市传输用于至少一个应用程序的聚合的数据或者可以向消耗度量个性化系统112传输数据,该消耗度量个性化系统112可以是聚合系统110的子系统。关于图3更具体描述消耗度量个性化系统112的操作。
[0067] 图3图示消耗度量个性化系统112的操作。个性化系统112接收应用统计量302并且可以分析统计量302以便生成代表应用消耗304的不同数据。不同数据304可以由软件集市用来选择代表应用消耗的一个或者多个标记用于显示。可以对于软件集市的特定查看者个性化或者相对于特定应用程序类别的消耗来归一化标记。
[0068] 个性化系统112可以使用用户数据过滤器或者加权器306以基于查看者数据308个性化应用消耗统计量302。例如,用户数据过滤 器或者加权器306可以标识用于软件集市的查看者的无线网络数据服务提供者以便排除或者更少分量地加权由未使用相同无线网络数据服务提供者的移动设备生成的消耗数据。在效果上,可以强调随着与软件集市查看者相同的服务提供者操作的移动设备的消耗。相同服务提供者的用户可以比未使用相同服务提供者的用户更可能相似地使用他们的设备。这样,这样的相似用户的消耗数据可以在估计软件即使查看者的应用消耗时比其他用户的消耗数据更有价值。
[0069] 相似地,个性化系统112可以标识无线网络数据计划或者软件即使查看者的计算设备。这样,由使用相同无线网络数据计划或者相同计算设备(例如,构成、型号和操作系统中的一项或者多项的任何组合)的设备生成的应用统计量302可以在个性化应用统计量302时被用户数据过滤器或者加权器206更重地加权。
[0070] 在相似基本原理之下,标识用户在社交网络中的关系的数据可以用来过滤或者加权应用消耗统计量302。例如,用户可以通过提供用于发起或者接受与在社交网络中的两百位“好友”的社交网络关系的输入来与这两百位好友有关。代表由用户的好友操作的设备的消耗的应用消耗统计量302可以比用户的好友未操作的设备的统计量被更大量强调地加权。
[0071] 访问用户的社交网络关系数据以定制应用程序统计量用于向用户显示的系统可以提示用户“选择加入”共享社交网络关系数据。因而,偏好于未与系统共享他们的社交网络关系数据的用户可以看见代表整个设备团体的资源消耗的应用程序统计量或者可以基于非个人地可标识数据(例如,用户的设备)查看被定制用于向用户显示的统计量。
[0072] 另外,消耗度量个性化系统112可以标识具有历史上使用的相似数据数量(例如,在每月基础上)的计算设备的用户。软件集市查看者的历史数据消耗与特定设备的历史数据消耗越相似,用户数据过滤器或者加权器306向代表特定设备的消耗的消耗统计量302提供越大权值。
[0073] 对应用统计量进行加权可以包括将比未强调的数据(例如,对于无相同服务提供者、在不同国家中和在社交网络中无关的设备为值0.1)更大的系数应用于强调的数据(例如,对于具有相同服务提供者、在相同城市内和用户在社交网络中有关的设备为值0.9)。
[0074] 作为基于查看者数据308的个性化的备选或者附加,应用消耗统计量302可以由相似应用过滤器或者加权器308过滤或者加权。相似应用过滤器或者加权器308可以从相似应用确定器310接收软件集市的查看者已经请求关于其的信息的应用程序的指示和一个或者多个相似应用程序的列表。相似应用过滤器或者加权器308可以滤除用于尚未被确定与请求的应用程序相似的应用程序的消耗数据以便比较用于请求的应用程序的应用统计量302与相似应用程序。比较可以产生数据304,该数据可以例如是请求的应用的消耗相对于其它相似应用的消分数。
[0075] 相似应用确定器310可以确定与软件集市查看者已经请求关于其的信息的应用程序相似的应用程序。在一些示例中,应用程序的开发者标识开发者向软件集市添加的应用程序的一个或者多个类别。如果已经向相同类别指派多个应用程序,则相似应用确定器310可以确定多个应用相似。
[0076] 在另一示例中,相似应用确定器310基于应用程序使用相同应用编程接口、请求相同操作系统权限、在相同应用状态(例如,后台或者前台)中操作或者以上各项中的一项或者多项的任何组合确定应用程序相似。
[0077] 例如,相似应用确定器310可以基于应用程序访问相同API的大多数并且请求相同操作系统权限用相似性值0.8确定性地标识两个应用程序为有关。例如,两个设备使用的API可以向应用程序批准对计算设备的联系人簿和电话拨号可执行程序的访问,因为两个应用程序可以是网际协议语音电话应用程序。相似性值可以在相似应用过滤器或者加权器308对应用消耗统计量302进行加权时使用。
[0078] 如以上描述的那样,消耗度量个性化系统112可以向软件集市 转发过滤或者加权的结果作为代表应用消耗304的数据。可以向操作软件集市的系统提供数据304以便用来生成代表应用消耗的标记用于向软件集市的查看者显示。
[0079] 图4图示用于由软件即使显示的代表应用资源消耗的标记。例如程序概览402可以是网页的部分,该网页由软件集市呈现并且提供关于应用程序“Sudoku Plus!”的信息。应用程序概览402可以包括应用程序图标404、应用程序标题406。应用程序描述408和按钮410,用户可以选择该按钮以便下载“Sudoku Plus!”应用程序。
[0080] 应用概览402也包括应用资源消耗的标记412。在这一示例中,标记412是向下箭头,该箭头可以代表“Sudoku Plus!”应用程序消耗相对少量无线网络数据(或者备选地消耗比相似应用程序更少的无线网络数据)。与应用概览402的至少部分并行显示向下箭头标记412。
[0081] 取代标记412或者除了标记412之外还可以在应用概览402中呈现各种其它标记。例如,标记413是代表资源消耗百分比的条。在这一示例中,条少于半途填充,这图示应用程序使用相对少量资源或者比相似应用程序更少的资源。标记414是系列图形界面元素。在这一示例中,填充五个图形界面元素中的三个图形界面元素,这图示应用程序消耗大约平均数量的资源。示出圆形图形界面元素,但是可以显示星形或者其它图形界面元素形状。
[0082] 标记416是图示应用程序消耗的网络数据平均数量数目。标记418是可以在应用程序的请求时根据确定的资源消耗在不同颜色或者阴影中出现的单个图形界面元素。例如标记418可以表现为如果应用程序消耗最少水平的资源则无阴影418a、如果应用程序消耗适度水平的资源则部分阴影418b,以及如果应用程序消耗大量资源则完全阴影418c。
[0083] 用户可以通过选择标记412在具体消耗度量显示420中查看附加消耗度量。显示420示出度量、比如平均每月资源数据消耗标记422、平均每月资源上传消耗标记424、平均每月资源下载消耗标记 426、高峰小时消耗标记428和平均小时后台数据消耗标记430。标记可以基于每时间单位基础(例如,每月、周、天或者小时)。
[0084] 用户可以选择按钮432以提示计算设备改变标记被显示420呈现的资源。另外,用户可以选择按钮434以提示计算设备将度量从代表所有计算设备的统计量改变成代表系统已经确定为与软件集市的查看者相似的计算设备的统计量。
[0085] 显示器420也包括标记,这些标记图示“Sudoku Plus!”应用程序相对于其它应用程序的如相似应用确定器310确定的资源消耗。在这一示例中,双箭头标记432沿着条434并且相对于用于相似应用程序“Sudoku Now!”和“More Sudoku”的标记436和438代表“Sudoku Plus!”应用程序的数据消耗。用户可以选择用于“Sudoku Now!”440的链接以查看用于该应用程序的具体消耗度量的显示。
[0086] 图5是用于监视应用程序资源消耗并且向用户呈现这样的消耗的指示的过程的流程图。该过程可以由关于图1至图3描述的系统执行并且可以提供用于生成图1和图4的显示的信息。
[0087] 在框502中,计算系统从多个计算设备接收信息,计算设备中的每个计算设备已经提供信息的部分。信息的每个部分标识该个别计算设备在特定应用程序的请求时的资源消耗(也称为使用)。例如多个计算设备(例如,移动电话)可以监视移动电话资源(例如,电话使用的无线数据)的消耗,该消耗是特定应用程序的请求的结果。这些计算设备中的每个计算设备可以在特定应用程序(例如,在计算设备安装的应用程序的实例)的请求时向计算系统报告资源消耗。计算系统可以通过因特网从计算设备接收信息传输。
[0088] 在503中,资源消耗可以包括数据消耗、CPU消耗和电池消耗中的一个或者多个消耗的任何组合。例如计算系统可以接收信息,该信息标识已经在特定应用程序的请求时出现的数据消耗(例如,通过无线网络的上传和/或下载传送)。资源也可以包括CPU消耗(例如,CPU周期或者处理能力百分比)和电池消耗(例如,与应用程序的CPU消耗百分比组合从电池电平的定期测量中推导的用来运行 应用程序的电池电平)。另外,资源可以包括与计算设备对应的其它资源、例如计算设备发送和接收的并且与计算设备的无线服务计划的用户关联的文本消息。
[0089] 在框504中,为每个计算设备安装的操作系统已经监视在特定应用程序的请求时执行的对该设备的资源的消耗。例如,在向客户交付计算设备时向计算设备中预加载的操作系统可以偶尔标识由于应用程序所致的数据传送的水平。
[0090] 在块506中,每个相应计算设备安装的应用程序已经监视在特定应用程序的请求时对每个设备的资源的消耗。例如,可以在相应计算设备上安装应用程序的实例。应用程序的这些实例可以例如通过在为应用程序保留的存储器中存储相应计算设备的资源消耗来记录这样的信息。作为示例,在计算设备上安装的Sudoku应用程序可以定期地轮询操作系统寄存器以标识向应用程序分配的CPU周期或者设备存储器水平并且可以存储这样的信息。另外,Sudoku应用程序可以记录在Sudoku应用程序的请求时执行的外部网络数据传送的大小。
[0091] 在框508中,计算系统访问信息,该信息标识在特定应用程序的请求时对与计算设备对应的资源的消耗。例如,计算系统已经从计算设备接收信息(如关于框502描述的那样)、已经存储信息并且访问信息(例如以如以下描述的那样分析信息)。
[0092] 在框512中,计算系统分析访问的信息以确定一个或者多个值,该一个或者多个值标识设备的至少子集对资源的消耗。在一些实例中,这一分析包括对用于特定应用程序的消耗值进行平均。在一些实例中,这一分析包括形成用于应用程序的合成分数。合成分数可以标识应用程序对多个不同类型的资源的消耗。
[0093] 设备子集可以是满足确定的判据的设备子集。这一设备子集可以在确定一个或者多个值时比其它设备被重或者排他地加权(例如,可以在确定时未考虑用于未在子集中的设备的信息)。例如可以确定使用相同无线网络数据提供者的计算设备作为计算设备的子集, 从而这一计算设备子集可以排他地或者用比未满足判据的其它计算设备更多的强调来影响一个或者多个值的确定。
[0094] 在框514中,信息标识仅用于设备的子集的消耗值,并且确定设备的子集为与将在软件集市上向其示出消耗标记的设备具有社交网络关系的那些设备。如果设备的用户在社交网络中相互具有关系,则设备可以具有社交网络关系。如果用户之一已经请求通过使用社交网络来查看用户中的其他用户提交的有特权的信息并且其他用户已经批准请求用户查看这一有特权的信息,则用户可以具有社交网络关系。这样,用户的社交网络“好友”的消耗数据可以在确定一个或者多个值时被重地或者排他地加权,该一个或者多个字标识应用程序的资源消耗。
[0095] 在框516中,信息仅标识用于设备的子集的消耗值,并且设备的子集是被确定在地理上在用户附近的那些设备。可以基于如使用IP地址、蜂窝塔标识号、用户指定的人口信息或者基于卫星的定位确定系统信息(例如,全球定位系统)而推断的在设备之间的距离确定设备在地理上在用户附近。
[0096] 如关于图3更具体描述的那样,分析可以包括用于分析访问的信息的各种其它技术。作为贯穿本公开内容描述的许多示例中的单个示例,可以基于相似应用程序的统计量生成一个或者多个值,该一个或者多个值标识在应用程序的请求时的资源消耗。这样,即使特定应用程序可以使用比应用程序中的多数应用程序更少的资源,一个或者多个值仍然可以指示特定应用程序实际使用比相似应用程序更多的资源。
[0097] 在框518中,计算系统提供图示一个或者多个值的一个或者多个标记用于与软件集市的显示配合显示。例如,计算系统可以向操作软件集市的系统传输一个或者多个值。软件集市系统可以基于一个或者多个值确定向集市查看者显示的标记(例如,用于低数据消耗的“绿色圆圈”、用于适度数据消耗的“黄色圆圈”或者用于高数据消耗的“红色圆圈”)。软件集市系统可以向软件集市的查看者的计算 设备传输数据用于显示标记。在一些实现方式中,提供标记用于显示的计算系统无需显示标记。实际上,系统可以通过传输用来生成标记的显示的信息来提供标记用于显示。
[0098] 在框520中,软件集市提供应用程序软件用于由计算设备执行。例如软件集市可以提供用户界面,该用户界面允许远离软件集市系统的计算设备的用户浏览应用程序列表。在一些示例中,用户可以点击在列表中的应用程序中的每个应用程序旁边的按钮以便向用户的计算设备下载用于应用程序的安装程序。在各种示例中,未向用户的计算设备提供用于应用程序的安装程序,但是实际上指引用户设备的与远程系统通信以在客户端-服务器关系中执行应用。
[0099] 软件集市可以要求用户为应用程序中的一些应用程序付费。软件集市的管理员可以向应用程序的开发者提供购买价格的部分,这些开发者向软件集市系统提供应用程序用于向计算设备的用户散布。
[0100] 在框522中,从软件集市为计算设备中的每个计算设备安装特定应用程序。例如,计算设备——访问的信息对于这些计算设备标识资源消耗——可以都已经从软件集市接收应用程序或者用于应用程序的安装程序。这样,越多设备从软件集市下载应用程序,图示应用消耗的统计量就越好。
[0101] 现在参照图6,图示可以用来实施在本文中描述的系统和方法的系统的概念图。在系统中,移动计算设备610可以与基站640无线通信,该基站可以向移动计算设备提供通过网络650对许多托管的服务660的无线访问。
[0102] 在这一图示中,描绘移动计算设备610为手持移动电话(例如,智能电话或者应用电话),该手持移动电话包括用于向移动计算设备610的用户呈现内容和接收基于触摸的用户输入的触屏显示设备612。也可以如各种不同输入部件(例如,键盘614、物理按钮、跟踪球、加速度计、陀螺仪和磁力计)可以的那样提供其它视觉、触觉和听觉输出部件(例如,LED灯、用于触觉输出的振动机制或者 用于提供音调、语音生成或者记录的输出的扬声器)。
[0103] 形式为显示设备612的示例视觉输出机制可以采用具有电阻或者电容触摸能力的显示器的形式。显示设备可以用于显示视频、图形、图像和文本并且用于协调用户触摸输入位置与显示的信息的位置,从而设备610可以将用户在显示的项目的位置的接触与项目关联。移动计算设备610也可以采用备选形式、包括作为膝上型计算机、平板计算机或者平板触摸计算机、个人数字助理嵌入式系统(例如,汽车导航系统)、桌面型个人计算机或者计算机化的工作站。
[0104] 用于接收用户输入的示例机制包括键盘614,该键盘可以是全qwerty键盘或者是包括用于数字‘0-9’、‘*’和‘#’的键的传统键区。键盘614在用户物理地接触或者下压键盘键时接收输入。用户操控跟踪球616或者与跟踪板交互让用户能够向移动计算设备610供应移动方向和速率信息(例如,操控光标在显示设备612上的定位)。
[0105] 移动计算设备610可以能够确定与触屏显示设备612的物理接触的定位(例如,手指或者触笔的接触定位)。使用触屏612可以产生各种“虚拟”输入机制,其中用户通过接触在触屏612上描绘的图形用户界面元素来与图形用户界面元素接触。“虚拟”输入机制的示例是“软件键盘”,其中在触屏上显示键盘并且用户通过按压触屏612的与每个键对应的区域来选择键。
[0106] 移动计算设备610可以包括机械或者触敏按钮618a-d。此外,移动计算设备可以包括用于调整一个或者多个扬声器620输出的音量的按钮和用于接通或者关断移动计算设备的按钮。麦克622允许移动计算设备610将可听声音转换成可以数字编码并且在计算机可读存储器中存储或者向另一计算设备传输的电信号。移动计算设备610也可以包括数字罗盘、加速度计、邻近传感器和环境光传感器。
[0107] 操作系统可以提供在移动计算设备的硬件(例如,输入/输出机制和执行从计算机可读介质取回的指令的处理器)和软件之间的接 口。示例操作系统包括ANDROID、CHROME OS、IOS、MAC OS X、WINDOW7、WINDOWS PHONE7、SYMBIAN、BLACKBERRY、WEBOS、多种UNIX操作系统;或者用于计算机化的设备的专用操作系统。操作系统可以提供用于执行应用程序的平台,这些应用程序有助于在计算设备与用户之间的交互。
[0108] 移动计算设备610可以用触屏612呈现图形用户界面。图形用户界面是一个或者多个图形界面元素的汇集并且可以是静态的(例如,显示表现为在时间段内保持相同)或者可以是动态的(例如,图形用户界面包括在无用户输入时动画的图形界面元素)。
[0109] 图形界面元素可以是文本、线条、形状、图像或者其组合。例如,图形界面元素可以是在桌面上显示的图标和图标的关联文本。在一些示例中,图形界面元素通过用户输入可选择。例如,用户可以通过按压触屏的与图形界面元素的显示对应的区域来选择图形界面元素。在一些示例中,用户可以操控跟踪器以醒目显示单个图形界面元素为具有聚焦。用户选择图形界面元素可以调用移动计算设备的预定义动作。在一些示例中,可选择的图形界面元素还对应于或者备选地对应于键盘604上的按钮。用户选择按钮可以调用预定义动作。
[0110] 在一些示例中,操作系统提供在接通移动计算设备610之后、从睡眠状态激活移动计算设备610之后、在“解”移动计算设备610之后或者在接收用户选择“home”按钮618c之后显示的“桌面”图形用户界面。桌面图形用户界面可以显示在被选择时调用对应应用程序的若干图形界面元素。调用的应用程序可以呈现替换桌面图形用户界面的图形界面直至应用程序终止或者被从视图隐藏。
[0111] 用户输入可以影响移动计算设备610操作的执行序列。例如,单动作用户输入(例如,单次轻敲触屏、在触屏之上挥动、与按钮接触或者在相同时间的这些输入的组合)可以调用让用户界面的显示改变的操作。在无用户输入时,用户界面可以在特定时间尚未改变。例如,即使地图应用可能已经默认在若干秒之后放大,用触屏 612的多触摸用户输入仍然可以调用地图应用以在位置上“放大”。
[0112] 桌面图形界面也可以显示“小配件”。小配件是与执行的应用程序关联并且在执行的应用程序控制的桌面内容上显示的一个或者多个图形界面元素。小配件的应用程序可以在移动设备接通时起动。另外,小配件可以未取得全显示的聚焦。取而代之,小配件可以仅“拥有”桌面的小部分从而在桌面的该部分内显示内容并且接收触屏用户输入。
[0113] 移动计算设备610可以包括一个或者多个位置标识机制。位置标识机制可以包括硬件和软件的汇集,该硬件和软件的汇集向操作系统和应用程序提供移动设备的地理定位的估计。位置标识机制可以运用基于卫星的定位技术、基站发射天线标识、多个基站三测量、因特网接入点IP位置确定、基于搜索引擎查询对用户的定位的推断标识以及用户供应的位置标识(例如,通过接收用户向位置的“报到”)。
[0114] 移动计算设备610可以包括其它应用、集散子系统和硬件。呼叫处理单元可以接收传入电话呼叫的指示并且向用户提供用于应答传入电话呼叫的能力。媒体播放器可以允许用户收听在移动计算设备610的本地存储器中存储的音乐或者播放在该存储器中存储的电影。移动设备610可以包括数字相机传感器以及对应图像和视频捕获和编辑软件。因特网浏览器让用户能够通过键入与网页对应的地址或者选择指向网页的链接来查看来自网页的内容。
[0115] 移动计算设备610可以包括用于与基站640无线传达信息的天线。基站640可以是基站汇集(例如,移动电话蜂窝网络)中的许多基站之一,该基站汇集使移动计算设备610能够在移动计算设备在地理上被移动时维持与网络650的通信。计算设备610可以备选地或者附加地通过Wi-Fi路由器或者有线连接(例如,以太网、USB或者火线)与网络650通信。计算设备610也可以使用蓝牙协议来与其它计算设备无线通信或者可以运用自组织无线网络。
[0116] 操作基站网络的服务提供者可以将移动计算设备610连接到网 络650以实现在移动计算设备610与提供服务660的其它计算机化的设备之间的通信。虽然可以通过不同网络(例如,服务提供者的内部网络、公共交换电话网络和因特网)提供服务660,但是图示网络650为单个网络。服务提供者可以操作服务器系统652,该服务器系统在移动计算设备610和与服务660关联的计算系统之间路由信息分组和语音数据。
[0117] 网络650可以将移动计算设备610连接到公用交换电话网络(PSTN)662以便建立在移动计算设备610与另一计算设备之间的语音或者传真通信。例如,服务提供者服务器系统652可以从PSTN662接收用于移动计算设备610的传入呼叫的指示。反言之,移动计算设备
610可以向服务提供者服务器系统652发送通信,该通信使用与通过PSTN662可访问的设备关联的电话号码来发起电话呼叫。
[0118] 网络650可以连接移动计算设备610与通过IP网络而不是PSTN路由语音通信的网际协议语音(VoIP)服务664。例如移动计算设备610的用户可以调用VoIP应用并且使用该程序来发起呼叫。服务提供者服务器系统652可以向VoIP服务转发来自呼叫的语音数据,该VoIP服务可以通过因特网可能将PSTN用于连接的最后支路向对应计算设备路由呼叫。
[0119] 应用存储库666可以向移动计算设备610的用户提供用于浏览用户可以通过网络650下载的并且在移动计算设备610上安装的远程存储的应用程序的列表的能力。应用存储库666可以用作第三方应用开发者开发的应用的贮存库。在移动计算设备610上安装的应用程序可以能够通过网络650与被指明用于应用程序的服务器系统通信。例如可以从应用存储库666下载VoIP应用程序从而让用户能够与VoIP服务664通信。
[0120] 移动计算设备610可以通过网络650访问因特网668上的内容。例如移动计算设备610的用户可以调用web浏览器应用,该web浏览器应用请求来自在指明的通用资源位置可访问的远程计算设备的数据。在各种示例中,服务660中的一些服务通过因特网可访问。
[0121] 移动计算设备可以与个人计算机670通信。例如个人计算机670可以是用于移动计算设备610的用户的家用计算机。因此,用户可以能够从他的个人计算机670用流发送媒体。用户也可以查看他的个人计算机670的文件结构并且在计算机化的设备之间传输选择的文档。
[0122] 语音识别服务672可以接收用移动计算设备的麦克风622记录的语音通信数据并且将语音通信转译成对应文本数据。在一些示例中,向搜索引擎提供转译的文本作为web查询,并且向移动计算设备610传输响应搜索引擎搜索结果。
[0123] 移动计算设备610可以与社交网络674通信。社交网络可以包括许多成员,这些成员中的一些成员已经同意作为相识者而有关。在移动计算设备610上的应用程序可以访问社交网络674以基于移动计算设备610的用户的相识者取回信息。例如“地址簿”应用程序可以取回用于用户的相识者的电话号码。在各种示例中,可以基于在成员的社交网络图形中从用户到其他成员的社交网络距离以及连接关系向移动计算设备610递送内容。例如可以基于与用户“接近”的成员(例如,如下成员,这些成员是“好友”或者“好友的好友”)与这样的内容的交互水平来为用户选择广告和新闻文章内容。
[0124] 移动计算设备610可以通过网络650访问联系人676的个人集合。每个联系人可以标识个人并且包括关于该个人的信息(例如,电话号码、电子邮件地址和生日)。由于从移动计算设备610远离地托管联系人集合,所以用户可以跨越若干设备访问和维持联系人676作为共同联系人集合。
[0125] 移动计算设备610可以访问基于的应用程序678。云计算提供从移动计算设备610远离地托管的并且设备610可以使用web浏览器或者专用程序来访问的应用程序(例如字处理器或者电子邮件程序)。基于云的示例应用程序包括GOOGLE DOCS字处理器和电子表格服务、GOOGLE GMAIL web邮件服务和PICASA图片管理器。
[0126] 地图服务680可以向移动计算设备610提供街道地图、路线计 划信息和卫星图像。示例地图服务是GOOGLE MAPS。地图服务680也可以接收查询并且返回位置专属结果。例如移动计算设备610可以向地图服务680发送移动计算设备的估计位置和用于“比萨饼地点”的用户录入的查询。地图服务680可以返回街道地图,该街道地图具有在该地图上叠加的“标记符”,这些标记符标识附近“比萨饼地点”的地理位置。
[0127] 逐个转弯服务682可以向移动计算设备610提供通向用户供应的目的地的逐个转弯指示。例如逐个转弯服务682可以将设备的估计位置的街道级视图与用于提供音频命令的数据和指引设备610的用户去往目的地的叠加箭头一起向设备610用流发送。
[0128] 移动计算设备610可以请求各种形式的流式媒体684。例如计算设备610可以请求用于预先记录的视频文件、实况电视节目或者实况电台节目的流。提供流式媒体的示例服务包括YOUTUBE和PANDORA。
[0129] 微博服务686可以从移动计算设备610接收用户输入的公告,该公告未标识公告的接收人。微博服务686可以向微博服务686的同意向用户预订的其他成员散布公告。
[0130] 搜索引擎688可以从移动计算设备610接收用户录入的文本或者口头查询、确定响应于查询的因特网可访问文档的集合并且向设备610提供用于显示用于响应文档的搜索结果列表的信息。在其中接收口头查询的示例中,语音识别引擎672可以将接收的音频转译成向搜索引擎发送的文本查询。
[0131] 可以在服务器系统690中实施这些和其它服务。服务器系统可以是提供服务或者服务集合的硬件和软件的组合。例如物理上分离的并且联网的计算机化的设备的集合可以一起作为逻辑服务器系统单元操作以处理为了向数以百计的计算设备赋予服务而必需的操作。服务器系统这里也称为计算系统。
[0132] 在各种实现方式中,如果在先操作未成功(例如如果未执行确定),则未执行“响应于”或者“由于”另一操作(例如确定或者标识) 而执行的操作。“自动”执行的操作是无用户干预(例如进行干预的用户输入)而执行的操作。在本文中的用条件语言描述的特征可以描述可选的实现方式。在一些示例中,从第一设备向第二设备“传输”包括第一设备将数据放置到网络中用于由第二设备接收、但是可以未包括第二设备接收数据。反言之,从第一设备“接收”可以包括从网络接收数据、但是可以未包括第一设备传输数据。
[0133] 计算系统“确定”可以包括计算系统请求另一设备执行确定并且向计算设备供应结果。另外,计算系统“显示”或者“呈现”可以包括计算系统发送数据用于使另一设备显示或者呈现引用的信息。
[0134] 图7是可以用来实施在文本中描述的系统和方法为客户端或者为一个服务器或者多个服务器的计算设备700、计算设备750的框图。计算设备700旨在于代表各种形式的数字计算机、比如膝上型计算机、桌面型计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其它适当计算机。计算设备750旨在于代表各种形式的移动设备、比如个人数字助理、蜂窝电话、智能电话和其它相似计算设备。这里所示部件、它们的连接和关系及其功能意味着仅为示例而未意味着限制在本文中描述和/或要求保护的实施方式。
[0135] 计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和高速扩展端口710的高速接口708以及连接到低速总线714和存储设备706的低速接口712。部件702、704、706、708、710和712中的每个部件使用各种总线来互连并且可以装配于公共母板上或者以如适当的其它方式来装配。处理器702可以处理用于在计算设备700内执行的指令,这些指令包括在存储器704中或者在存储设备706上存储的用于在外部输入/输出设备、比如耦合到高速接口708的显示器716上显示用于GUI的图形信息的指令。在其它实现方式中,多个处理器和/或多个总线可以如适当的那样与多个存储器和存储器类型一起使用。也可以连接多个计算设备700而每个设备提供必需操作的部分(例如,作为服务器组、成组刀片服务器或者多处理器系统)。
[0136] 存储器704存储计算设备700内的信息。在一个实现方式中,存储器704是一个或者多个易失性存储器单元。在另一实现方式中,存储器704是一个或者多个非易失性存储器单元。存储器704也可以是另一形式的计算机可读介质、比如磁盘或者光盘。
[0137] 存储设备706能够提供用于计算设备700的海量存储装置。在一个实现方式中,存储设备706可以是或者包含计算机可读介质、比如软盘设备、硬盘设备、光盘设备或者带设备、闪存或者其它相似固态存储器设备或者如下设备的阵列,这些设备包括存储区域网络或者其它配置中的设备。计算机程序产品可以有形地体现于信息载体中。计算机程序产品也可以包含在被执行时执行一种或者多种方法、比如以上描述的方法的指令。信息载体是计算机或者机器可读介质、比如存储器704、存储设备706或者在处理器702上的存储器。
[0138] 高速控制器708管理用于计算设备700的带宽密集操作,而低速控制器712管理更低带宽密集操作。这样的功能分配仅为示例。在一个实现方式中,高速控制器708耦合到存储器704、显示器716(例如通过图形处理器或者加速器)并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口710。在该实现方式中,低速控制器712耦合到存储设备706和低速扩展端口714。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或者多个输入/输出设备、比如键盘、指示设备、扫描仪或者联网设备、比如交换机或者路由器。
[0139] 可以如该图中所示以多个不同形式实施计算设备700。例如可以实施它为标准服务器720或者多次实施于成组这样的服务器中。也可以实施它为架式服务器系统724的部分。此外,它可以实施于个人计算机、比如膝上型计算机722中。备选地,来自计算设备700的部件可以与移动设备(未示出)、比如设备750中的其它部件组合。这样的设备中的每个设备可以包含计算设备700、750中的一个或者多个计算设备,并且整个系统可以由相互通信的多个计算设备 700、750组成。
[0140] 计算设备750包括处理器752、存储器764、输入/输出设备、比如显示器754、通信接口766和收发器768以及其它部件。设备750也可以具有用于提供附加存储装置的存储设备、比如微驱动或者其它设备。使用各种总线来互连部件750、752、764、754、766和768中的每个部件,并且部件中的若干部件可以装配于公共母板上或者以如适当的其它方式来装配。
[0141] 处理器752可以执行计算设备750内的指令,这些指令包括在存储器764中存储的指令。可以实施处理器为包括分离以及多个模拟和数字处理器的芯片的芯片组。此外,可以使用多个架构中的任何架构来实施处理器。例如,处理器410可以是CISC(复杂指令集计算机)处理器、RISC(精简指令集计算机)处理器或者MISC(最小指令集计算机)处理器。处理器可以例如提供协调设备750的其它部件、比如控制用户界面、由设备750运行的应用和设备750的无线通信。
[0142] 处理器752可以通过控制接口758和耦合到显示器754的显示器接口756与用户通信。显示器754可以例如是TFT(薄膜晶体管液晶显示器)显示器或者OLED(有机发光二极管)显示器或者其它适当显示器技术。显示器接口756可以包括用于驱动显示器754以向用户呈现图形和其它信息的适当电路。控制接口758可以从用户接收命令并且转换它们用于向处理器752提交。此外,可以提供与处理器752通信的外部接口762以便实现设备750与其它设备的近区域通信。外部接口762可以例如在一些实现方式中提供有线通信或者在其它实现方式中提供无线通信,并且也可以使用多个接口。
[0143] 存储器764存储计算设备750内的信息。可以实施存储器764为一个或者多个计算机可读介质、一个或者多个易失性存储器单元或者一个或者多个非易失性存储器单元中的一项或者多项。也可以提供扩展存储器774并且该扩展存储器可以通过可以例如包括SIMM(单列直插存储器模块)卡接口的扩展接口772连接到设备 750。这样的扩展存储器774可以提供用于设备750的额外存储空间或者也可以存储用于设备750的应用或者其它信息。具体而言,扩展存储器774可以包括用于实现或者补充以上描述的过程的指令并且也可以包括安全信息。因此例如可以提供扩展存储器774作为用于设备750的安全模块并且可以用允许安全使用设备750的指令对扩展存储器774进行编程。此外,可以经由SIMM卡将安全应用与附加信息一起提供、比如以不可黑客方式将标识信息放置于SIMM卡上。
[0144] 存储器可以如以下讨论的那样例如包括闪存和/或NVRAM存储器。在一个实现方式中,在信息载体中有形地体现计算机程序产品。计算机程序产品包含在被执行时执行一种或者多种方法、比如以上描述的方法的指令。信息载体是计算机或者机器可读介质、比如存储器764、扩展存储器774或者可以例如通过收发器768或者外部接口762接收的在处理器752上的存储器。
[0145] 设备750可以通过可以在必要时可以包括数字信号处理电路装置的通信接口766无线通信。通信接口766可以在各种模式或者协议、比如GSM语音呼叫、SMS、EMS或者MMS消息接发、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS以及其它模式或者协议之下提供通信。可以例如通过射频收发器768出现这样的通信。此外,可以比如使用蓝牙、WiFi或者其它这样的收发器(未示出)来出现近程通信。此外,GPS(全球定位系统)接收器模块770可以向设备750提供附加的与导航和位置有关的无线数据,该数据可以如适当的那样由在设备750上运行的应用使用。
[0146] 设备750也可以使用音频编码解码器760来可听地通信,该编码解码器可以从用户接收口述信息并且将它转换成可用数字信息。音频编码解码器760可以类似地比如通过例如在设备750的头戴式受话器中的扬声器生成用于用户的可听声音。这样的声音可以包括来自语音电话呼叫的声音、可以包括记录的声音(例如语音消息、音乐文件等)并且也可以包括由在设备750上操作的应用生成的声 音。
[0147] 可以如该图中所示以多个不同形式实施计算设备750。例如,可以实施它为蜂窝电话780。也可以实施它为智能电话782、个人数字助理或者其它相似移动设备的部分。
[0148] 此外,计算设备700或者750可以包括通用串行总线(USB)快闪驱动。USB快闪驱动可以存储操作系统和其它应用。USB快闪驱动可以包括输入/输出部件、比如可以向另一计算设备的USB端口中插入的无线传输器或者USB连接器。
[0149] 可以在数字电子电路装置、集成电路装置、特殊设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现这里描述的系统和技术的各种实现方式。这些各种实现方式可以包括在可编程系统上可执行和/或可解译的一个或者多个计算机程序中的实现方式,该可编程系统包括可以是特殊或者通用的至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该至少一个可编程处理器被耦合用于从存储系统接收数据和指令以及向存储系统发送数据和指令。
[0150] 这些计算机程序(也称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实施。如这里所用,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),该计算机程序产品、装置和/或设备包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用来向可编程处理器提供机器指令和/或数据的任何信号。
[0151] 为了提供与用户的交互,这里描述的系统和技术可以实施于计算机上,该计算机具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或者LCD(液晶显示器)监视器)以及用户可以用来向计算机提供输入的指示设备(例如鼠标或者跟踪球)。其它种 类的设备也可以用来提供与用户的交互;例如向用户提供的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈或者触觉反馈);并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。
[0152] 这里描述的系统和技术可以实施于计算系统中,该计算系统包括后端部件(例如,作为数据服务器)或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如具有图形用户界面或者Web浏览器的客户端计算机,用户可以通过该图形用户界面或者Web浏览器来与这里描述的系统和技术的实现方式交互)或者这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、对等网络(具有自组织或者静态成员)、网格计算基础结构和因特网。
[0153] 计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序产生客户端和服务器关系。
[0154] 虽然以上已经具体描述少数实现方式,但是其它修改是可能的。另外,可以使用其它用于实现在本文中描述的系统和方法的机制。此外,在各图中描绘的逻辑流程无需所示特定顺序或者依次顺序以实现希望的结果。可以提供其它步骤或者从描述的流程消除步骤,并且可以向描述的系统添加或者从描述的系统去除其它部件。因而其它实现方式在所附权利要求的范围内。
QQ群二维码
意见反馈