掌桥专利:专业的专利平台
掌桥专利
首页

本申请是分案申请,其母案申请号:201780067709.5,申请日:2017年12月12日,发明名称:基于在设备上显示内容时的电池使用来管理内容。

技术领域

本发明涉及基于在设备上显示内容时的电池使用来管理内容。

背景技术

在诸如互联网的计算机联网环境中,可以响应于对内容的请求,将来自服务器的数据递送到客户端设备。客户端设备从服务器接收数据。数据可以包括用于渲染(render)对应于该数据的内容的指令,以便于在客户端设备处显示。在客户端设备渲染和显示内容的同时,客户端设备可能消耗电力。

发明内容

至少一个方面涉及一种用于提高移动设备的电池寿命的方法。该方法包括接收多个电池变化指示,每个电池变化指示指示当多个内容项中的相应内容项被显示在多个移动设备中的相应移动设备上的同时,该移动设备的电池余量(battery level)的改变。该方法进一步包括接收移动设备属性数据,该移动设备属性数据指示多个移动设备中的相应移动设备的一个或多个移动设备属性。该方法还包括基于多个电池变化指示和移动设备属性数据来确定电池余量的改变和多个内容项中的内容项之间的关系。该方法还包括基于所确定的关系修改多个内容项,以生成修改后的多个内容项。

在一些实施例中,该方法还包括将修改后的多个内容项中的内容项提供给一个或多个移动设备用于显示。

在一些实施方式中,所生成的修改后的多个内容项与移动设备属性相关联,并且其中修改后的多个内容项中的内容项基于相关联的移动设备属性和与移动设备相关联的属性被提供给移动设备。

在一些实施方式中,多个内容项中的内容项具有相关联的内容项属性,并且其中确定电池余量的改变和多个内容项中的内容项之间的关系包括确定电池余量的改变和内容项属性之间的关系。

在一些实施方式中,修改多个内容项包括:基于所确定的电池余量的改变和内容项属性之间的关系来选择内容项属性,选择具有与内容项属性对应的相关属性的内容项,并修改所选择的内容项。

在一些实施方式中,基于多个电池变化指示和移动设备属性数据来确定电池余量的改变和多个内容项中的内容项之间的关系包括使用回归模型来处理多个电池变化指示和移动设备属性数据。

在一些实施方式中,通过向移动设备发送内容项来获得每个电池变化指示,该内容项包括要在该设备上显示的内容和脚本,其中该脚本被布置成使得在第一时间和第二后续时间测量移动设备的电池余量,并将指示第一时间和第二时间之间电池余量的改变的数据发送到服务器。

在一些实施方式中,脚本嵌入在内容项中。

在一些实施方式中,一个或多个移动设备属性包括从包括以下各项的组中选择的移动设备的属性:与内容项一起显示的网页、数据通信协议、和屏幕亮度。

至少一个方面涉及一种用于管理内容以提高移动设备的电池寿命的方法。该方法包括由包括一个或多个服务器的数据处理系统从多个移动设备接收多个内容请求。该方法进一步包括由数据处理系统响应于多个内容请求中的每个内容请求,将从内容项的组中选择的相应内容项发送到从其接收内容请求的相应移动设备。该方法还包括由数据处理系统从向其发送相应内容项的多个移动设备中的每一个接收向相应移动设备供电的电池的电池状态信息。该方法还包括由数据处理系统使用从向其发送内容项的相应移动设备接收的电池状态信息,为发送到该相应移动设备的每个内容项,确定移动设备呈现(present)该内容项所消耗的电量。该方法进一步包括由数据处理系统为每个内容项确定电池使用值,该电池使用值与移动设备呈现该内容项所消耗的所确定的电量对应。该方法还包括由数据处理系统基于内容项的组中的内容项的相应电池使用值来修改内容选择策略,该内容选择策略用于响应于接收到内容请求而从内容项的组中选择要发送到移动设备的内容项。

至少一个方面涉及一种包括处理器和耦合到该处理器的存储器的系统。存储器存储计算机可执行指令,当计算机可执行指令被处理器执行时,使得处理器从多个移动设备接收多个内容请求。当计算机可执行指令被处理器执行时,还使得处理器响应于多个内容请求中的每个内容请求,将从内容项的组中选择的相应内容项发送到从其接收内容请求的相应移动设备。当计算机可执行指令被处理器执行时,还使得处理器从向其发送相应内容项的多个移动设备中的每一个接收向相应移动设备供电的电池的电池状态信息。当计算机可执行指令被处理器执行时,还使得处理器使用从向其发送内容项的相应移动设备接收的电池状态信息,为发送到该相应移动设备的每个内容项确定移动设备呈现该内容项所消耗的电量。当计算机可执行指令被处理器执行时,进一步使得处理器为每个内容项确定电池使用值,该电池使用值与移动设备呈现该内容项所消耗的所确定的电量对应。当计算机可执行指令被处理器执行时,还使得处理器基于内容项的组中的内容项的相应电池使用值来修改内容选择策略,该内容选择策略用于响应于接收到内容请求而从内容项的组中选择要发送到移动设备的内容项。

根据本申请的一个方面,提供一种方法,包括:由耦合到存储器的一个或多个处理器从呈现内容项的多个客户端设备中的每个客户端设备接收与客户端设备处的内容项的显示相对应的内容项的渲染性能数据;由所述一个或多个处理器从所述多个客户端设备中的每个客户端设备接收移动设备属性数据,所述移动设备属性数据指示与所接收的渲染性能数据相对应的客户端设备的一个或多个移动设备属性;由所述一个或多个处理器确定所述内容项与对应于所述内容项在所述多个客户端设备中的每一个处的显示的内容项的渲染性能数据之间的关系,所述关系基于对应的移动设备属性数据;和由一个或多个处理器基于内容项和渲染性能数据之间的关系来修改与内容项相关联的内容选择策略,以响应于对内容的请求来限制内容项的后续选择。

根据本申请的一个方面,提供一种计算机系统,包括:存储器,存储处理器可读指令;和一个或多个处理器,被布置为读取和执行存储在存储器中的处理器可读指令,所述指令使得一个或多个处理器:从呈现内容项的多个客户端设备中的每个客户端设备接收与客户端设备处的内容项的显示相对应的内容项的渲染性能数据;从所述多个客户端设备中的每个客户端设备接收移动设备属性数据,所述移动设备属性数据指示对应于所接收的渲染性能数据的客户端设备的一个或多个移动设备属性;确定内容项和对应于内容项在多个客户端设备中的每一个处的显示的内容项的渲染性能数据之间的关系,该关系基于对应的移动设备属性数据;和基于内容项和渲染性能数据之间的关系来修改与内容项相关联的内容选择策略,以响应于对内容的请求来限制内容项的后续选择。

根据本申请的一个方面,提供一种承载计算机程序的非暂时性计算机可读介质,所述计算机程序包括被配置成使计算机执行根据上述任何方法的计算机可读指令。

这些和其他方面以及实施方式将在下面详细讨论。前述信息和以下详细描述包括各种方面和实施方式的说明性示例,并提供用于理解所要求保护的方面和实施方式的性质和特性的概述或框架。附图提供了对各个方面和实施方式的图示和进一步理解,并且被包含在本说明书中并构成本说明书的一部分。应当理解的是,各方面和实施方式可以被组合,并且在一个方面或实施方式的上下文中描述的特征可以在其他方面的上下文中实施。

附图说明

附图不意图按比例绘制。各附图中相同的附图标记和名称表示相同的元件。为清楚起见,并非每个组件都可以在每个图中标记。在附图中:

图1示出了描绘根据一些实施方式的用于管理递送到移动设备的内容的环境的框图。

图2描绘了根据一些实施方式的在图1中示出的客户端计算设备处显示的计算应用的用户界面200的一部分的表示。

图3示出了根据一些实施方式的由图1所示的客户端计算设备接收的内容项300的表示。

图4示出了根据一些实施方式的由在客户端计算设备上执行的内容项脚本发送到图1所示的数据处理系统的电池使用分析模块的信息400的表示。

图5描绘了根据一些实施方式的在图1所示的数据处理系统处的电池使用聚集数据的表示。

图6描绘了根据一些实施方式的电池使用估计数据的表示。

图7示出了描绘根据一些实施方式的用于管理内容项到图1所示的客户端计算设备的传输的方法的流程图。

图8示出了描绘根据一些实施方式的用于管理内容项到图1所示的客户端计算设备的传输的另一方法的流程图。

图9是描绘根据一些实施方式的可用于实施本文描述和例示的系统和方法的元素的计算机系统的一般架构的框图。

具体实施方式

以下是与提高移动设备的电池寿命的方法、装置和系统相关的各种构思及其实施方式的更详细描述。移动设备可以包括台式计算机、膝上型计算机、平板计算机、智能手机、个人数字助理、消费者计算设备、服务器、客户端、数字录像机、电视机的机顶盒、视频游戏控制台、数字个人助理或任何其他计算或便携式设备等。以上介绍并在下面更详细讨论的各种构思可以以多种方式中的任何一种来实施,因为所描述的构思不限于任何特定的实施方式。

本公开涉及用于确定内容项和在移动设备上显示内容项时所消耗的电量之间的关系的系统和方法。进一步,本公开涉及使用该关系来通知用于生成和选择递送给移动设备的内容项的策略。该策略能够用于通过基于内容项和在移动设备上显示内容项时所消耗的电量的所确定的关系来限制对某些内容项的选择,从而提高移动设备的电池寿命。

在诸如移动设备的计算设备上显示的内容可以包括文本和诸如图像或视频的其他内容项。在移动设备上执行的应用可以从服务器请求这些内容项,并在移动设备上显示这些内容项。在移动设备上显示内容项消耗电力,该电力可以由移动设备上的电池提供。而且,用于显示内容项所消耗的电量可以取决于内容项的性质。例如,显示视频内容项可能比显示图像内容项消耗更多的电力。在某些情况下,显示高电力消耗内容项可能会不希望地耗尽电池。

图1示出了描绘用于管理递送到移动设备的内容以保持或提高移动设备的电池寿命的环境的框图。环境100包括至少一个数据处理系统110、网络105、至少一个内容提供商计算设备115、至少一个内容发布者计算设备120和至少一个客户端计算设备125。数据处理系统110可以包括至少一个处理器(或处理电路)以及存储器。存储器存储处理器可执行指令,当该指令在处理器上执行时,使得处理器执行本文描述的操作中的一个或多个操作。处理器可以包括微处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)等、或它们的组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(read-only memory,ROM)、随机存取存储器(random-access memory,RAM)、电可擦除ROM(electrically-erasable ROM,EEPROM)、可擦除可编程ROM(erasable-programmable ROM,EPROM)、闪存、光学介质或处理器可以从其读取指令的任何其他合适的存储器。指令可以包括源自任何合适的计算机编程语言的代码。数据处理系统110可以包括可以执行各种功能的一个或多个计算设备或服务器。

网络105可以包括计算机网络,诸如互联网、局域网、广域网、城域网或其他区域网、内部网、卫星网、其他计算机网络(诸如语音或数据移动电话通信网络),以及它们的组合。环境100的数据处理系统110可以经由网络105通信,例如与至少一个内容提供商计算设备115、至少一个内容发布者计算设备120或至少一个客户端计算设备125通信。网络105可以是在客户端设备125、数据处理系统110和一个或多个内容源(例如web服务器、内容服务器等)之间转发信息的任何形式的计算机网络。例如,网络105可以包括互联网和/或其他类型的数据网络,诸如局域网(local area network,LAN)、广域网(wide area network,WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络105还可以包括被配置为在网络105内接收和/或发送数据的任意数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络105可以进一步包括任意数量的硬连线和/或无线连接。例如,客户端计算设备125可以与硬连线(例如,经由光纤光缆、CAT5线缆等)到网络105中的其他计算设备的收发器无线通信(例如,通过WiFi、蜂窝、无线电等)。

内容提供商计算设备115可以包括由内容提供商实体操作的服务器或其他计算设备,以提供一个或多个内容项用于在客户端计算设备125处的信息资源上显示。由内容提供商计算设备115提供的内容可以包括用于在信息资源(诸如包括主要内容的网站或网页)上显示的第三方内容项,例如由内容发布者计算设备120提供的内容。内容项也可以显示在搜索结果网页上。例如,内容提供商计算设备115可以提供或作为一个或多个内容项的源,用于在内容网页(诸如公司网页,其中由内容发布者计算设备提供网页的主要内容)的内容时隙中显示,或者用于在由搜索引擎提供的搜索结果着陆页面上显示。与内容提供商计算设备115相关联的内容项可以显示在除网页之外的信息资源上,诸如内容显示为智能手机或其他客户端计算设备125上的应用(诸如全球定位系统(global positioning system,GPS)或地图应用,或其他类型的应用)的执行的一部分。内容项可以是任何类型的内容文件,包括图像文件、音频文件、视频文件、HTML 5文件、标记语言文件、图形文件或任何多媒体文件。

内容发布者计算设备120可以包括由内容发布实体操作以提供用于在客户端计算设备125处显示或渲染的主要内容的服务器或其他计算设备。例如,内容发布者计算设备120可以包括主要内容操作器,该主内容操作器提供用于在网页或客户端计算设备125上运行的应用上显示或渲染的主要内容。主要内容可以包括除了由内容发布者计算设备120提供的内容之外的内容,并且网页或应用可以包括被配置用于显示来自内容提供商计算设备115的第三方内容项的内容时隙。例如,内容发布者计算设备120可以操作公司的网站并且可以提供关于该公司的内容用于在网站的网页上显示。网页可以包括被配置为用于显示内容提供商计算设备115的第三方内容项的内容时隙。在一些实施方式中,内容发布者计算设备120包括操作搜索引擎网站的搜索引擎操作员的搜索引擎计算设备(例如,服务器)。搜索引擎网页(例如,结果或着陆网页)的主要内容可以包括搜索结果以及显示在内容时隙中的第三方内容项,诸如来自内容提供商计算设备115的内容项。在一些实施方式中,内容发布者计算设备120可以包括用于服务视频内容的服务器。

客户端计算设备125可以包括被配置为经由网络105通信以显示数据的计算设备,该数据诸如由内容发布者计算设备120提供的内容(例如,主要网页内容或其他信息资源)和由内容提供商计算设备115提供的内容(例如,被配置为用于在网页或应用的内容时隙中显示的第三方内容项)。例如,客户端计算设备125可以被配置为运行由内容发布者计算设备120创建的应用,并且该应用可以被配置为在其中显示内容项。客户端计算设备125、内容提供商计算设备115和内容发布者计算设备120可以包括台式计算机、膝上型计算机、平板计算机、智能手机、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字录像机、电视机的机顶盒、视频游戏控制台、数字个人助理或被配置为经由网络105通信的任何其他计算设备。客户端计算设备125可以是终端用户能够通过其提交对接收内容的请求的通信设备。这些请求可以是对搜索引擎的请求,并且这些请求可以包括搜索查询。在一些实施方式中,请求可以包括访问网页的请求。

内容提供商计算设备115、内容发布者计算设备120和客户端计算设备125可以包括处理器和存储器,即处理电路。存储器存储机器指令,当该指令在处理器上执行时,使得处理器执行本文描述的操作中的一个或多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或它们的组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪存、光学介质或处理器可以从其读取指令的任何其他合适的存储器。指令可以包括源自任何合适的计算机编程语言的代码。

内容提供商计算设备115、内容发布者计算设备120和客户端计算设备125也可以包括一个或多个用户界面设备。一般而言,用户接口设备是指通过生成感官信息(例如,显示器上的可视化、一个或多个声音等)向用户传达数据和/或将从用户接收的感官信息转换成电信号(例如,键盘、鼠标、指示设备、触摸屏显示器、麦克风等)的任何电子设备。根据各种实施方式,一个或多个用户界面设备可以处于内容提供商计算设备115、内容发布者计算设备120和客户端计算设备125的外壳的内部(例如,内置显示器、麦克风等),或处于内容提供商计算设备115、内容发布者计算设备120和客户端计算设备125的外壳的外部(例如,连接到内容提供商计算设备115的监视器、连接到内容提供商计算设备115的扬声器等)。例如,内容提供商计算设备115、内容发布者计算设备120和客户端计算设备125可以包括电子显示器,其使用经由网络105从一个或多个内容源和/或从数据处理系统110接收的网页数据来可视地显示网页。在一些实施方式中,内容放置管理器或第三方内容提供商可以经由内容提供商计算设备115与数据处理系统110通信。在一些实施方式中,内容放置管理器或第三方内容提供商可以经由显示在内容提供商计算设备115的用户界面设备上的用户界面与数据处理系统110通信。

数据处理系统110可以包括至少一个服务器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器场中的多个服务器。在一些实施方式中,数据处理系统110可以包括第三方内容放置系统,例如内容服务器。数据处理系统110可以包括至少一个内容请求模块130、至少一个内容选择模块135、至少一个脚本提供商模块140、至少一个电池使用分析模块150和至少一个数据库145。内容请求模块130、内容选择模块135、脚本提供商模块140和电池使用分析模块150均可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、电器或其他逻辑设备(诸如被配置为经由网络105与数据库145和其他计算设备(例如,内容提供商计算设备115、内容发布者计算设备120或客户端计算设备125)通信的可编程逻辑阵列)。

内容请求模块130、内容选择模块135、脚本提供商模块140和电池使用分析模块150可以包括或执行至少一个计算机程序或至少一个脚本。内容请求模块130、内容选择模块135、脚本提供商模块140和电池使用分析模块150可以是分离的组件、单个组件、或数据处理系统110的一部分。内容请求模块130、内容选择模块135、脚本提供商模块140和电池使用分析模块150可以包括软件和硬件的组合(诸如被配置为执行一个或多个脚本的一个或多个处理器)。

数据处理系统110还可以包括一个或多个内容储存库或数据库145。数据库145相对于数据处理系统110可以是本地的。在一些实施方式中,数据库145可以远离数据处理系统110,但可以经由网络105与数据处理系统110通信。数据库145可以包括网页、网页的部分、第三方内容项和电池余量脚本等等,以服务于客户端计算设备125。在一些实施方式中,数据库145可以包括对应于内容项的内容项标识列表,内容项中的一个或多个可以由内容选择模块135潜在地选择以传输到一个或多个客户端计算设备125。数据库145还可以包括与内容项标识列表中的一个或多个标识对应的电池使用信息。数据库145还可以包括与客户端计算设备125相关联的一个或多个性能参数和与一个或多个内容项的标识对应的电池使用信息之间的相关性。与客户端计算设备125相关联的性能参数的示例可以包括内容显示的帧速率和显示内容时的延迟。电池使用信息的生成以及与客户端计算设备125相关联的一个或多个性能参数和电池使用信息之间的相关性将在下面进一步讨论。

内容请求模块130可以从客户端计算设备125接收对内容的请求。对内容的请求可以包括对信息资源的请求、对第三方内容的请求、对脚本的请求、或它们的组合。在一些实施方式中,对第三方内容的请求可以包括对要在其上显示该第三方内容的信息资源的地址或标识符的请求。对第三方内容的请求还可以包括或识别一个或多个设备参数,数据处理系统110可以使用这些设备参数来确定响应于对内容的请求而提供的内容。例如,设备参数可以标识要插入所请求内容的内容时隙的大小。设备参数可以标识与信息资源相关联的内容的类型、所请求的第三方内容(例如,文本、图像、视频等)的类型、客户端设备信息、所请求的第三方内容项的大小信息、或它们的组合。在一些实施方式中,设备参数可以标识设备的属性,例如设备类型、操作系统或设备的任何其他属性。在一些实施方式中,内容选择模块125可以实时地生成内容项,除了下面讨论的电池使用脚本之外,该内容项还可以包括所请求的内容。

脚本提供商模块140提供电池使用脚本或计算机程序等,当该脚本或计算机程序在客户端计算设备125处执行时,允许在客户端计算设备125处测量电池使用。除了所请求的内容项之外,内容选择模块135还可以将脚本提供商模块140提供的电池使用脚本传送到发出请求的客户端计算设备125。电池使用脚本可以被配置为当客户端计算设备125显示或渲染所请求的内容项时执行。例如,当显示所请求的内容项时,运行在客户端计算设备125上的网络浏览器或应用可以执行电池使用脚本。电池使用脚本可以被配置成利用由网络浏览器或应用提供的应用可编程接口(application programmable interface,API)(诸如电池状态API)来获得对客户端计算设备125的电池余量的访问。在一些实施方式中,电池使用脚本还可以被配置为利用API来获得对关于客户端计算设备的电池的附加信息的访问,其中附加信息可以包括电池是否正在通过外部电源充电、所使用的电池的类型等。电池使用脚本可以被配置为调用电池状态API,以在客户端计算设备125显示或渲染内容项的持续时间之前、期间或之后的一个或多个时刻检索电池余量信息。在一些实施方式中,数据处理系统110可以维护内容项标识符的列表或适当的数据结构,该列表或数据结构指示已经为其传送了电池使用脚本的内容项。数据处理系统110可以利用与从客户端计算设备125接收的相应内容项对应的电池余量信息来更新该列表或数据结构。

电池使用脚本还可以被配置为将电池余量信息发送到数据处理系统110。电池使用脚本还可以被配置为发送与电池余量信息相关的附加信息,其中附加信息可以包括唯一标识与电池余量信息对应的正被显示或渲染的内容项内容项标识符、浏览器或计算应用的标识、操作系统的标识、客户端计算设备125的制造商或型号的标识、电池是否正在通过外部电源充电的指示等。

在一些实施方式中,电池使用脚本可以包括附加脚本或计算机程序,该附加脚本或计算机程序可以结合所请求的内容项被发送到客户端计算设备125。这些附加脚本或计算机程序可以确定客户端计算设备125的与显示或渲染所请求的内容项相关的附加性能参数。例如,脚本提供商模块140可以提供帧速率脚本,当在客户端计算设备125处执行该脚本时,可以确定客户端计算设备125显示或渲染内容项的帧速率(例如,以每秒帧为单位测量)。脚本提供商模块140还可以提供延迟脚本,当该脚本在客户端计算设备125处执行时,可以确定在客户端计算设备125上显示或渲染内容项时的延迟(例如,以毫秒为单位)。脚本提供商模块140还可以提供在内容项的显示或渲染内容项期间监视和记录用户行为的脚本。例如,脚本可以监视和记录由用户点击的项或者导致内容项的显示或渲染终止的用户动作,诸如请求不同的网页或终止应用。电池使用脚本可以将记录的信息发送到数据处理系统110。下面将参考图3更详细地讨论电池使用脚本。

电池使用分析模块150可以被配置成处理和分析从运行在一个或多个客户端计算设备125上的电池使用脚本接收的电池使用信息。电池使用分析模块150可以聚集从一个或多个客户端计算设备125接收的电池使用信息,并且在显示或渲染内容项时确定内容项和相应的电池使用之间的关系。电池使用分析模块150可以利用统计工具(诸如回归模型)来确定该关系。在一些实施方式中,电池使用分析模块150可以确定与针对其接收电池使用信息的每个内容项相关联的电池使用值。在一些实施方式中,电池使用分析模块150还可以分析与性能参数相关的附加信息,诸如从客户端计算设备125接收的帧速率、延迟和用户行为。基于该信息,电池使用分析模块150可以确定电池使用和以上提到的性能参数之间的相关性。电池使用信息以及与电池使用分析模块150生成的每个内容项相关联的相关性可以存储在数据处理系统110中,例如存储在数据库145中。电池使用分析模块150的额外细节将在下面结合图4-图6进行讨论。

内容选择模块135可以被配置为响应于接收到的对内容的请求,确定要发送到客户端计算设备125的内容。内容选择模块135可以基于对内容的请求中包括的信息和由电池使用分析模块150生成的电池使用信息来确定要发送到客户端计算设备125的内容。

在一些实施方式中,内容选择模块135还可以访问数据库145,以确定与所请求的内容项对应的电池信息。内容选择模块135可以比较与所请求的内容项对应的电池使用信息和阈值。基于该比较,内容选择模块135可以修改用于选择内容项以传输到请求客户端计算设备125的策略。内容选择模块135的额外细节在下面进一步讨论。

图2描绘了在客户端计算设备处显示的计算应用的示例用户界面200的一部分的表示。示例用户界面200包括网络浏览器窗口202,该窗口又包括地址栏204和视图框206。地址栏204接受所期望的网页的地址,其中该地址可以包括通用资源定位器(universalresource locator,URL)。视图框206在地址栏204中显示从指定URL检索的内容。例如,在一些实施方式中,视图框206可以显示从诸如内容发布者计算设备120的发布者检索到的与URL对应的网页的内容。

由计算应用接收的内容可以包括子框,诸如发布者内容子框208和内容项子框210。发布者内容子框208可以包括由内容发布者计算设备120提供的内容。内容项子框210可以包括可以提供一个或多个内容项的计算设备或服务器的指针、IP地址或URL。计算应用可以通过网络向与内容项子框210中指定的地址对应的计算设备发送请求。在一些实施方式中,内容项子框210中指定的地址可以与数字处理系统(诸如图1所示的数据处理系统110)的地址对应。除了发送对一个或多个内容项的请求之外,计算应用还可以向数字处理系统传送属于该计算应用或客户端计算设备的设备参数。例如,计算应用可以传送其标识(例如,XYZ网络浏览器、JKL应用等)。响应于该请求,计算应用可以从数字处理系统或者从内容提供商计算设备(诸如图1所示的内容提供商计算设备115)接收一个或多个内容项。

图3示出了由客户端计算设备125接收的示例内容项300的表示。如上所述,由客户端计算设备125接收的内容项可以包括要在客户端计算设备125上显示或渲染的内容以及由脚本提供商模块140(图1)提供的一个或多个脚本。内容项300包括至少内容部分302和电池使用脚本352。内容部分302可以包括将在客户端计算设备上显示或渲染的内容。例如,如图3所示,内容部分302可以包括图像304、视频306、音频308和其他内容310中的一个或多个。电池使用脚本352可以包括将由计算应用(诸如上面结合图2讨论的计算应用)执行的一个或多个脚本。例如,如图3所示,电池使用脚本352可以包括一个或多个脚本,诸如第一电池余量脚本312、第二电池余量脚本314、帧速率脚本316和一个或多个其他合适的脚本320。

第一电池余量脚本312可以包括当内容项在客户端计算设备125上显示或重现时在第一时刻获取电池使用的指令。第二电池余量脚本314可以包括当内容项在客户端计算设备125上显示或重现时在第二时刻获取电池使用的指令。在一些实施方式中,第一时刻可以与内容项首次在客户端计算设备125上显示或渲染的时间对应。在一些实施方式中,第二时刻可以与第一时刻之后的几毫秒或几秒对应。例如,第二瞬时可以在第一时刻之后的大约5秒到大约25秒之间。在一些其他示例中,第二时刻可以是从第一时刻开始的几毫秒到大约几秒或者几十秒。在其他示例中,第一时刻和第二时刻之间的持续时间可以是内容项在客户端计算设备125上显示或渲染的持续时间的某个百分比。在一些实施方式中,第二时刻可以与在客户端计算设备125上显示或渲染内容已经完成的时间。第一电池余量脚本312和第二电池余量脚本314两者都可以通过与由在其中显示或渲染内容项300的网络浏览器或计算应用提供的API(诸如电池余量API)通信,分别在第一时刻和第二时刻获取电池余量。

在一些实施方式中,电池使用脚本352可以包括被配置为在与以上讨论的第一时刻和第二时刻对应的两个时刻获取电池余量的脚本。表示电池余量脚本的一个示例伪代码如下所示:

表示电池余量脚本的另一示例伪代码如下所示:

在示例电池余量脚本的以上示例伪代码中,SECS_TO_REPORT变量指定获取电池余量的两个时刻之间的时间差(15秒),其中两个时刻中的第一个时刻与内容项的显示或渲染开始的时间对应。SAMPLES_TO_REPORT变量可以指定获取电池余量的时刻的数量(这里为五个)。此外,脚本被配置成仅在第一时刻测量的电池余量大于在第二时刻的电池余量的情况下才报告电池余量。

电池使用脚本352还可以包括帧速率脚本316,其确定由网络浏览器或计算应用显示的帧之间的时间间隔。在典型操作下,网络浏览器或计算应用可以以预定的帧速率(诸如每秒60帧)在客户端计算设备125显示器上显示图像帧。然而,在一些示例实施方式中,如果在客户端计算设备125上执行的操作将导致网络浏览器或计算应用的处理资源上的过载,则帧速率将降低。也就是说,在过载条件下,后续帧之间的时间间隔会增加。帧速率的降低或者显示后续帧之间的间隔的增加可以被用作由内容项的显示或渲染引起的过载(如果有的话)的指示符。类似于上面讨论的电池余量脚本,帧速率脚本316还可以确定在一个或多个时刻的帧速率,诸如内容项首次在客户端计算设备上显示或渲染的第一时刻以及在第一时刻之后的预定时间段的另一时刻。在一些示例实施方式中,帧速率脚本316可以使用诸如requestAnimationFrame和requestIdleCallback的API来确定后续帧之间的帧速率或时间间隔。

电池使用脚本部分352还可以包括其他脚本320,其可以包括诸如延迟脚本的脚本,该延迟脚本确定显示或渲染内容项时的延迟。其他脚本320还可以包括当内容项在客户端计算设备125上显示或渲染时监测用户行为的脚本。例如,其他脚本320可以包括用于确定用户是否点击了内容项的脚本。其他脚本320还可以包括用于确定当正在显示或渲染内容项时用户是否移动到不同的网页或终止计算应用的脚本。

上面讨论的脚本中的每一个还可以被配置成将在客户端计算设备125处获取的信息发送到电池使用分析模块150。在一些实施方式中,一个或多个脚本可以被配置成只要获取了所获取的信息,就将其传送到电池使用分析模块150。在一些其他示例实施方式中,一个或多个脚本可以被配置为在客户端计算设备125处本地临时存储信息,并且以预定间隔或者在存储的数据的大小达到某个阈值之后将所存储的信息发送到电池使用分析模块150。

在一些实施方式中,电池余量脚本可以被配置为仅在第一时刻之后存在电池余量下降的情况下才向电池使用分析模块150发送电池余量信息。在一些实施方式中,电池余量脚本可以被配置为在存在电池余量下降的情况下,向电池使用分析模块150发送指示(例如,battery_drop=TRUE/FALSE),而不发送电池余量下降的幅度。在一些实施方式中,电池余量脚本可以被配置为向电池使用分析模块150发送电池余量下降的幅度。在一些实施方式中,电池余量脚本可以被配置为向事件监听器脚本登记以检测电池余量变化,并将变化报告给电池使用分析模块150。在一些实施方式中,电池脚本可以被配置为获取已经在上面关于帧速率脚本316和其他脚本320讨论过的性能参数的值或水平,并将获取的信息发送到电池使用分析模块150。

在一些实施方式中,上面讨论的一个或多个脚本可以位于网络浏览器或计算应用,而不是在内容项300中发送。特别地,当在客户端计算设备125上显示或渲染接收到的内容项时,一个或多个脚本可以由网络浏览器或计算应用执行。在一些实施方式中,数据处理系统110可以一次向客户端计算设备125上的网络浏览器或计算应用提供一个或多个脚本,其具有用以在客户端计算设备125处本地存储一个或多个脚本,并且在显示或渲染内容项时执行脚本的指令。在客户端计算设备125处存储一个或多个脚本可以减少从数据处理系统110传递的数据量,从而减少对数据处理系统110和客户端计算设备125之间的数据带宽的影响。

图4示出了由内容项脚本发送到电池使用分析模块的示例信息400的表示。特别地,信息400可以包括内容ID、电池余量-1、电池余量-2、设备ID和OS ID。内容ID可以指定与在客户端计算设备125上显示或渲染的内容项对应的标识。电池余量-1可以指定在第一时刻获取的电池余量,而电池余量-2可以指定在第二时刻获取的电池余量。在一些实施方式中,还可以包括附加的电池余量,诸如附加时刻处的电池余量、在第一和第二时刻测量的电池余量的差异、从接收到的所有时刻开始在任意两个时刻测量的电池余量的差异、关于是否存在电池余量下降的指示、电池正在充电的指示等。信息400还可以包括与测量或传输电池余量的每个时刻相关联的时间戳。设备ID可以指定客户端计算设备125的类型。例如,设备ID可以包括与诸如移动设备、平板电脑、膝上型计算机、桌上型计算机、数字个人助理等设备类型相关联的名称或参考。OS ID可以提供关于在客户端计算设备125上运行的操作系统的信息。

在一些实施方式中,发送到电池使用分析模块150的信息400还可以包括附加性能参数的值,诸如由以上讨论的一个或多个脚本获取的帧速率、帧间隔持续时间以及用户行为。

图5描绘了数据处理系统110处的示例电池使用聚集数据500的表示。在一些实施方式中,电池使用聚集数据500可以存储在数据库145中。电池使用聚集数据500可以由电池使用分析模块150基于从在一个或多个客户端计算设备125处执行的脚本接收的信息(诸如图3所示的信息400)来生成。例如,电池使用聚集数据500可以包括内容ID、电池余量的变化、设备ID、OS ID和帧速率。如上所述,内容ID指定与内容项相关联的唯一标识符。电池使用聚集数据500包括与内容ID“1234”和内容ID“9876”相关联的若干条目。虽然图5示出了仅与两个内容项相关联的条目,但是应当理解的是,电池使用聚集数据500可以包括与对应于其他内容项的其他内容ID相关联的额外的条目。与相同内容ID相关联的每个条目包括从客户端计算设备125接收的关于显示或渲染与内容ID对应的内容项的信息。例如,对于具有内容ID“1234”的内容项,电池使用聚集数据500可以包括从设备ID为“0001”、运行“iOS”操作系统、具有记录为每秒60帧的帧速率的客户端计算设备125接收的0.5的电池余量。

电池余量的变化可以指示从客户端计算设备125接收的两个电池余量之间的差异。在客户端计算设备125处获取的电池余量可以与当时运行在客户端计算设备上的所有进程的累积效果对应。基于测量电池余量的时间,这些进程中的一个或多个可以对应于显示或渲染的内容项。由于客户端计算设备上其他进程的发生是不可预测的,所以两个电池余量之间的差异可以是正的或负的。例如,负数可以指示电池余量的降低,而正数可以指示电池余量的增加。这些数字可以指示电池余量变化的幅度或缩放幅度。在一些其他实施方式中,电池余量的变化可以表示在内容项的显示或渲染期间在第一时刻获取的电池余量与在第二时刻获取的电池余量的比率。

在一些实施方式中,电池使用聚集数据500可以包括指定关于与内容项的其他度量或性能参数对应的信息的附加列。例如,电池使用聚集数据500可以包括延迟列,其指定加载内容项的延迟。电池使用聚集数据500可以包括与其他性能参数相关联的数据,所述其他性能参数的值已经被电池使用分析模块150接收。

在一些实施方式中,电池使用聚集数据500可以包括与每个内容ID相关联的数十、数百、数千、数十万的或更多条目。也就是说,电池使用分析模块150可以在数十、数百、数千、数十万或更多客户端计算设备125处接收与显示或渲染相同内容项相关联的数据。一般而言,电池使用分析模块150可以利用与每个内容项相关联的大量数据点来确定用于显示或渲染该内容项的电池使用。如下所讨论的,内容选择模块135可以维护能够潜在地被发送到客户端计算设备的内容项列表,并且可以基于所确定的电池使用修改用于选择内容项的策略。在一些实施方式中,电池使用分析模块150可以使用统计工具来处理电池使用聚集数据500,以生成统计数据,诸如每个内容项的平均电池余量、电池余量的平均变化、平均帧速率等。在一些其他实施方式中,电池使用分析模块150可以利用回归模型来确定电池余量和其他性能参数(诸如帧速率、延迟或用户行为)之间的相关性。

电池使用聚集数据500可以存储在数据库145中,并且可以基于一个或多个列被索引,使得电池使用分析模块150可以搜索和检索与每一列相关的数据。在一些实施方式中,电池使用聚集数据500可以以与图5所示的方式不同的方式布置。例如,电池使用聚集数据500可以作为仅两个列的多个表存储在数据库145中,其中这些列中的一个包括内容ID,并且另一列包括电池余量的变化、设备ID、OS ID、帧速率和其他性能参数中的一个。这种数据布置可以有助于基于诸如设备ID和OS ID的各方面中的一个或其组合确定内容ID的电池使用。例如,电池使用分析模块150可以确定在运行相同操作系统(由相同OS ID标识)的客户端计算设备125上显示或渲染与内容ID“1234”相关联的内容项的估计,以确定特定操作系统的电池使用估计。附加地或可替代地,电池使用分析模块可以确定与特定设备类型相关联的电池使用估计。因此,考虑到与电池使用相关联的客户端设备的其他属性,电池使用分析模块可以用于确定与显示或渲染内容项相关联的电池使用估计,并且可以例如用于针对特定设备属性确定电池使用。所确定的电池使用可以例如用于基于设备的属性向设备提供内容项。

图6描绘了电池使用估计数据600的表示。电池使用估计数据600可以由电池使用分析模块150基于图5所示的电池使用聚集数据500生成。特别地,电池使用估计数据600可以是使用一个或多个统计工具处理电池使用聚集数据500的结果。电池使用估计数据可以包括两个列:内容ID列和电池使用估计列。内容ID可以指定内容项的唯一标识符,并且电池使用估计指定在显示或渲染内容项时电池使用的估计(或电池使用值)。在一些实施方式中,电池使用估计数据600可以包括电池使用分析模块150从一个或多个客户端计算设备125接收针对其的电池使用信息的内容项的组的电池使用估计。电池使用估计可以基于上面结合图5讨论的电池余量的变化。在一个或多个示例中,可以基于接收到的针对内容项的所有电池余量变化的平均来确定与该内容项相关联的电池使用估计。在一些示例中,也可以利用其他统计估计工具来确定电池使用估计。在一些实施方式中,电池使用分析模块150可以利用电池使用聚集数据500和从客户端计算设备125接收的任何附加数据来确定内容项的相对电力消耗,而不是估计实际的电池使用量。电池使用分析模块150可以基于在电池使用聚集数据500中接收的新的或更新的条目周期性地更新电池使用估计数据600。

在一些实施方式中,电池使用分析模块150可以生成内容项的估计电池消耗和附加性能参数(诸如帧速率、延迟、用户行为等)之间的相关性。例如,电池使用分析模块150可以确定一个内容项或若干个内容项的电池余量和帧速率之间的相关性。如果在电池余量和帧速率之间存在强相关性,则电池使用分析模块150可以确立具有低帧速率的内容项也展现出高电力消耗。确定强相关性可以允许电池使用分析模块150估计内容项的电力消耗,即使对于该内容项没有可用的电池余量数据(或不可靠的电池余量数据)。也就是说,电池使用分析模块150可以分析相关的性能参数来估计内容项的电力消耗。

参考图1,内容选择模块135可以在实施用于选择和发送由一个或多个客户端计算设备125请求的内容项的策略时利用电池使用估计数据600。在一些实施方式中,内容选择模块135可以实施限制发送其显示或渲染会消耗不期望的电池电量的所请求内容项的策略。内容选择模块135可以设置预定阈值电池余量,并且比较与每个所请求的内容项对应的电池使用估计。如果所请求内容项的电池使用估计值小于预定阈值,则内容选择模块135可以拒绝对该特定内容项的请求。例如,参考图6,内容选择模块135可以将阈值电池电平设置为-0.4。如果内容选择模块135接收对内容ID为“9876”的内容项的请求,则内容选择模块135可以搜索内容ID为“9876”的条目的电池使用估计数据600。当该条目存在于电池使用估计数据600中时,内容选择模块135确定针对内容ID“9876”的电池使用估计-0.5是否小于阈值电池余量-0.4。由于电池使用估计小于阈值电池余量,所以内容选择模块135可以拒绝由客户端计算设备125对该内容项的请求。在一些实施方式中,可以存储与内容项和特定客户端设备属性相关联的电池使用,并且内容选择模块可以基于与发出请求的客户端设备相关联的属性以及针对该客户端设备和该属性的电池使用估计来选择内容项。在一些实施方式中,内容选择模块135可以维护可以潜在地递送给客户端计算设备125的内容项列表。如果内容选择模块135确定内容项列表上的内容项具有不期望的电池使用估计,则内容选择模块135可以从列表中移除该内容项。在一些实施方式中,内容选择模块135可以标记列表中具有不期望的电池使用估计的内容项。

在一些实施方式中,内容选择模块135可以实施修改被确定为具有不期望的电池使用估计的内容项的策略。例如,内容选择模块135可以修改内容项的质量(诸如通过减小所显示的图像的大小、减小视频或动画中显示的帧数等)以减少在客户端计算设备125处显示或渲染内容项时消耗的电量。在一些实施方式中,可以修改所存储的内容项,以改善与内容项相关联的电池使用估计。例如,当多个内容项被显示时,客户端设备对该内容项和相关联的电池使用进行的分析可以标识与相对高的电池使用估计相关联的特定内容项属性。可以通过将内容项属性修改为与相对低的电池使用估计相关联的内容项属性来修改内容项以生成修改后的内容项。例如,可以确定具有相对高的帧速率的视频使用相对高的电池量,并且具有相对高的帧速率的内容项可以被修改以降低其帧速率,从而改善电池使用。如上所述,可以通过向多个客户端设备提供修改后的内容项以显示修改后的内容项并在显示修改后的内容项时分析客户端设备的电池使用来确定对内容项属性的修改效果,从而与确定相对低的电池使用相关联的内容项属性。

在一些实施方式中,除了拒绝对内容项的请求之外,内容选择模块135还可以向内容提供商计算设备115(其可以是被拒绝的内容项的源)发送与内容项相关联的电力消耗为不可接受的消息。作为响应,内容提供商计算设备115可以通知生成内容项的实体关于该内容项的不可接受的电力消耗,或者向内容选择模块135提供消耗相对较少电池电力的替换内容项。

在一些实施方式中,可能期望的是在将由内容选择模块135接收的新内容项传送到客户端计算设备125之前,确定该内容项的电力消耗的估计。在一些实施方式中,内容选择模块135可以将电池使用估计数据600中具有高电力消耗的内容项的各方面与新内容项的对应方面进行比较。例如,内容选择模块135可以比较诸如内容(图像、视频、音频)的大小和类型的各方面。如果新内容项在这些方面基本上类似于高电力消耗内容项,则内容选择模块135可以确定新内容项也可能消耗高电池电力。基于该确定,内容选择模块135可以限制将新内容项包括在内容项列表中。在一些实施方式中,内容选择模块135可以使用机器学习算法来分析高电力消耗内容项的属性,并且基于该分析,提供新内容项是否将消耗大于预定阈值的电池电力的预测。内容选择模块135可以使用由机器学习算法提供的预测来确定新内容项是否可以被包括在内容项列表中。

图7示出了描绘用于管理内容项到客户端计算设备的传输的示例方法700的流程图。方法700包括从移动设备接收内容项请求(框702)。方法700进一步包括响应于每个内容项请求,向相应的移动设备发送从内容项的组中选择的相应内容项(框704)。方法700还包括从向其发送相应内容项的移动设备中的每一个移动设备接收向相应移动设备供电的电池的电池状态信息(框706)。方法700还包括根据每个内容项,确定显示或渲染该内容项所消耗的电量的估计(框708)。方法700进一步包括基于电力消耗的估计来修改用于从内容项的组中选择内容项的内容选择策略(框710)。

如上所述,方法700包括从移动设备接收内容项请求(框702)。如以上结合图1和图2所讨论的,数据处理系统110可以从客户端计算设备125接收对要在相应的客户端计算设备125上显示或渲染的内容项的请求。而且如上述,客户端计算设备125可以包括移动设备,诸如电话、智能手机、膝上型计算机、平板电脑、平板手机或由电池供电的任何其他设备。如图2所示,内容项子框210包括地址或引用,客户端计算设备125可以使用该地址或引用来请求要在内容项子框210中显示的内容项。该请求可以被传送到数据处理系统110,并且特别地被传送到内容选择模块135。该请求可以包括所请求的内容项的标识。

方法700进一步包括响应于每个内容项请求,向相应的移动设备发送从内容项的组中选择的相应内容项(框704)。如以上结合图1和图6所讨论的,内容选择模块135维护可以提供给客户端计算设备125的内容项列表。内容选择模块135可以从内容项列表中选择内容项,并将所选择的内容项传送到发出请求的客户端计算设备。

方法还包括从向其发送相应内容项的移动设备中的每一个移动设备接收向该相应移动设备供电的电池的电池状态信息(框706)。如以上结合图1、图4和图5所讨论的,电池使用分析模块150接收向相应客户端计算设备125供电的电池的电池状态信息。特别地,电池使用分析模块150接收在客户端计算设备125上显示或渲染内容项期间在一个或多个时刻在客户端计算设备处获取的电池余量。除了传送标识与电池余量相关联的内容项的标识符之外,客户端计算设备125还可以传送电池余量。

方法进一步包括根据每个内容项确定显示或渲染该内容项所消耗的电量的估计(框708)。上面已经结合图1-图6讨论了该方法框的至少一个示例。例如,如以上结合图6所讨论的,电池使用分析模块150可以基于从客户端计算设备125接收的电池余量信息来确定每个内容项的电池使用估计或电池使用值。例如,电池使用分析模块150可以使用统计分析来分析所接收到的电池余量,并且基于该分析来估计与在客户端计算设备125上显示或渲染内容项相关联的电池使用值。

方法700包括基于电力消耗的估计来修改用于从内容项的组中选择内容项的内容选择策略(框710)。如以上结合图1和图6所讨论的,内容选择模块135可以基于由电池使用分析模块150确定的电池使用估计来修改从内容项列表中选择内容项的策略。例如,内容选择模块可以通过限制仅选择用于其显示和渲染的电池消耗小于预定阈值的那些内容项来修改内容选择策略。

图8示出了描绘用于管理内容项到客户端计算设备的传输的另一示例方法800的流程图。方法800包括接收多个电池变化指示,每个电池变化指示指示当多个内容项中的相应内容项被显示在多个移动设备中的相应移动设备上的同时,该移动设备的电池余量的改变(框802)。方法800进一步包括接收移动设备属性数据,该移动设备属性数据指示多个移动设备中的相应移动设备的一个或多个移动设备属性(框804)。该方法还包括基于多个电池变化指示和移动设备属性数据来确定电池余量的改变和多个内容项中的内容项之间的关系(框806)。方法800还包括基于所确定的关系修改多个内容项,以生成修改后的多个内容项(框808)。

如上所述,方法800包括接收多个电池变化指示,每个电池变化指示指示当多个内容项中的相应内容项被显示在多个移动设备中的相应移动设备上的同时,该移动设备的电池余量的改变(框802)。如以上结合图1、图4和图5所讨论的,当内容项在客户端计算设备125上显示或渲染的同时,电池使用分析模块150可以接收指示在客户端计算设备125处的电池余量的任何变化的电池余量。所接收的电池余量可以与在至少两个时刻在相应客户端计算设备125处获取的电池余量对应。电池余量的差可以指示当显示或渲染相应内容项的同时电池余量的变化。

方法800还包括接收移动设备属性数据,该移动设备属性数据指示多个移动设备中的相应移动设备的一个或多个移动设备属性(框804)。如以上结合图1、图4和图5所讨论的,除了接收电池余量之外,电池使用分析模块150还可以接收与客户端计算设备125相关的数据。例如,电池使用分析模块150可以接收关于客户端计算设备125处的帧速率和延迟、客户端计算设备的操作系统、与客户端计算设备相关联的设备类型的信息,或者当内容在客户端计算设备处显示的同时可能影响客户端计算设备的电池使用的任何其他信息。

该方法800进一步包括基于多个电池变化指示和移动设备属性数据来确定电池余量的改变和多个内容项中的内容项之间的关系(框806)。如以上结合图1-图6所讨论的,电池使用分析模块150可以确定在显示或渲染内容项时的电池使用量。电池使用分析模块150可以基于从客户端计算设备125接收的电池余量信息来确定这种关系。

该方法还包括基于所确定的关系修改多个内容项,以生成修改后的多个内容项(框808)。如以上结合图1和图6所讨论的,内容选择模块135可以基于显示或渲染内容项的组中的每一个内容项时的电池消耗的估计来修改内容项的组。例如,如果显示或渲染内容项时的电池消耗的估计高于阈值,则内容选择模块135可以从内容项中的组中移除该内容项。附加地或可替代地,可以基于确定属性对电池消耗产生不利影响来修改多个内容项中的一个或多个内容项的属性。在一些实施例中,例如,在确定了与内容项相关联的电池使用因为不同的客户端设备属性而不同的情况下,可以生成内容项的多个组组,其中内容项的每个组与客户端设备属性相关联。

图9是描绘根据一些实施方式的计算机系统900的通用架构的框图,该计算机系统900可以被用来实施本文描述和示出的系统和方法的元素(包括数据处理系统110及其组件,诸如内容请求模块130、内容选择模块135、脚本提供商模块140和电池使用分析模块150)。计算机系统900可以用于经由网络105提供信息以便于显示。图9的计算机系统900包括被通信地耦合到存储器925的一个或多个处理器920、一个或多个通信接口905、以及一个或多个输出设备910(例如,一个或多个显示单元)和一个或多个输入设备915。处理器920可以被包括在数据处理系统110或数据处理系统110的其他组件中,诸如内容请求模块130、内容选择模块135、脚本提供商模块140和电池使用分析模块150。

在图9的计算机系统900中,存储器925可以包括任何计算机可读存储介质,并且可以存储计算机指令(诸如用于实施本文针对相应系统描述的各种功能性的处理器可执行指令)以及由此生成的或经由(多个)通信接口或(多个)输入设备(如果存在的话)接收的与其相关的任何数据。再次参考图1的数据处理系统110,数据处理系统110可以包括存储器925,以存储与一个或多个内容单元的库存的可用性、一个或多个内容单元的保留等相关的信息。存储器925可以包括数据库145。图9中所示的(多个)处理器920可以被用于执行存储在存储器925中的指令,并且在这样做时,还可以从存储器读取根据指令的执行而处理和/或生成的各种信息或向存储器写入根据指令的执行而处理和/或生成的各种信息。

图9中所示的计算机系统900的处理器920还可以被通信地耦合到或控制(多个)通信接口905,以根据指令的执行来发送或接收各种信息。例如,(多个)通信接口905可以被耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统900向其他设备(例如,其他计算机系统)发送信息或从其他设备接收信息。虽然未在图1的系统中明确地示出,但一个或多个通信接口促进系统900的组件之间的信息流动。在一些实施方式中,(多个)通信接口可以被配置(例如,经由各种硬件组件或软件组件)为将网站提供作为对计算机系统900的至少一些方面的访问端口。通信接口905的示例可以包括用户接口(例如,网页),用户可以通过该用户接口与数据处理系统110通信。

可以提供图9中所示的计算机系统900的输出设备910,以例如允许各种信息结合指令的执行被查看或以其他方式被感知。可以提供(多个)输入设备915以例如允许用户在指令的执行期间与处理器进行手动调整、进行选择、输入数据或以各种方式中的任何一种进行交互。本文进一步提供了与可以用于本文讨论的各种系统的通用计算机系统架构有关的附加信息。

本说明书中描述的主题和操作的实施方式可以在数字电子电路系统中实施,或者在具体体现在有形介质、固件或硬件(包括本说明书中公开的结构和它们的结构等价物)上的计算机软件中实施,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序,即被编码在计算机存储介质上用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,该信号被生成来编码信息以发送到合适的接收器装置以便由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储衬底、随机或串行访问存储器阵列或设备、或它们中的一个或多个的组合,或被包括在其中。而且,虽然计算机存储介质不是传播信号,但计算机存储介质可以包括被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个分离的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或被包括在其中。

本文公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实施,该智能电视模块包括被配置为将互联网连接与(例如,经由电缆、卫星、空中传送或其他信号接收的)更传统的电视节目源集成的处理模块。智能电视模块可以被物理地并入电视机中,或者可以包括分离的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏控制台、酒店电视系统和其他伴随设备。智能电视模块可以被配置为允许观看者在网页上、在本地有线TV频道上、在卫星TV频道上搜索和查找视频、电影、照片和其他内容,或者被存储在本地硬盘驱动器上。机顶盒(set-top box,STB)或机顶盒单元(set-top unit,STU)可以包括信息电器设备,该信息电器设备可以包含调谐器并连接到电视机和外部信号源,从而将信号转换成随后在电视屏幕或其他显示设备上显示的内容。智能电视模块可以被配置为提供包括用于多个不同应用(诸如网页浏览器和多个流媒体服务、连接的有线或卫星媒体源、其他网络“频道”等)的图标的主屏幕或顶层屏幕。智能电视模块可以进一步被配置为向用户提供电子节目指南。智能电视模块的伴随应用可以在移动计算设备上操作以向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在替代的实施方式中,这些特征可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、手持计算机、平板PC或其他计算设备上实施。

本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。

术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵括用于处理数据的各种装置、设备和机器,作为示例其包括可编程处理器、计算机、片上系统、或者前述内容中的多个、或者前述内容的组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件的代码、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或它们中一个或多个的组合。装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。内容请求模块130和内容选择模块135可以包括或共享一个或多个数据处理装置、计算设备或处理器。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以包括编译或解释语言、声明性或过程性语言的任何形式的编程语言编写,并且它可以以包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元的任何形式来部署。计算机程序可以但不必对应于文件系统中的文件。程序能够存储在保持其它程序或者数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的部分中、存储在专用于所讨论的程序的单一文件中、或者存储在多个协调的文件(例如,存储一个或多个模块、子程序、或者代码的部分的文件)中。可以部署计算机程序以在一个计算机上或在位于一个站点处或跨多个站点分布并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

适用于执行计算机程序的处理器,举例而言包括通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。一般而言,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者被可操作地耦合,以从一个或多个大容量存储设备接收数据、或将数据传送到一个或多个大容量存储设备、或者这两者。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入在另一设备中,例如移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(universalserial bus,USB)闪速驱动器)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备(例如,EPROM、EEPROM和闪存)、磁盘(例如,内部硬盘或可移动磁盘)、磁光盘、以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或被并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示器设备(例如CRT(cathode ray tube,阴极射线管),等离子或LCD(liquid crystal display,液晶显示器)监测器)和用户可通过其向计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)的计算机上实施。其他类型的设备也可以被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学输入、语音输入或触觉输入。此外,计算机可以通过向用户使用的设备传送文档和从该设备接收文档来与用户交互,例如通过响应于从网页浏览器接收的请求向用户客户端设备上的网页浏览器传送网页。

本说明书中描述的主题的实施方式可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如具有用户可以通过其与本说明书中描述的主题的实施方式交互的图形用户界面或网页浏览器的客户端计算机)或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),网络间(例如,互联网)和对等网络(例如,adhoc对等网络)。

诸如系统900或数据处理系统110的计算系统可以包括客户端和服务器。例如,数据处理系统110可以包括一个或多个数据中心或服务器场中的一个或多个服务器。客户端和服务器一般而言彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系由于在相应计算机上运行并且彼此具有的客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。

虽然本说明书包含许多特定的实施方式细节,但是这些不应被解释为对本公开的范围或可能要求保护的范围的限制,而是对本文描述的系统和方法的特定实施方式的特征的描述。本说明书中在分离的实施方式的上下文中描述的某些特征也可以在单一实施方式中组合实施。相反,在单一实施方式中的上下文中描述的各种特征也可以分离地或以任何合适的子组合在多个实施方式中实施。而且,尽管以上可以将特征描述为以某些组合起作用甚至这些特征由此最初要求保护,但是在某些情况下来自要求保护的组合的一个或多个特征可以从该组合中删去,并且要求保护的组合可以指向子组合或子组合的变体。

类似地,虽然在附图中以特殊的顺序描绘了操作,但是这不应该被理解为要求以所示的特殊的顺序或按顺次的顺序来执行这些操作、或者执行所有示出的操作以实现期望的结果。在一些情况下,权利要求中记载的动作可以以不同的顺序来执行并且仍然实现期望的结果。此外,附图中描绘的过程不一定要求所示的特殊的顺序或顺次的顺序来实现期望的结果。

在某些情况下,多任务处理和并行处理可以是有利的。而且,上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解的是,描述的程序组件和系统一般而言可以在单一软件产品中集成在一起或者被打包到多个软件产品当中。例如,内容请求模块130和内容选择模块135可以是数据处理系统110的一部分、可以是单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或者搜索引擎的一部分。

现在已经描述了一些说明性的实施方式,显而易见的是前述内容是说明性的而非限制性的,其已经通过示例的方式表示。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但那些动作和那些元件可以以其他方式组合以完成相同的目标。仅结合一个实施方式讨论的动作、元素和特征不旨在被从其他实施方式或实施方式的类似角色中排除。

在本公开的实施方式中,内容或内容项可以是任何合适的内容。在一些应用中,内容或内容项可以是广告(“ads”),但是本公开不限于此。当内容或内容项是广告时,内容服务器205可以是ad服务器和/或第三方内容提供商可以是广告商。

本文使用的措辞和术语是出于描述的目的,不应被视为限制。本文中“包括”、“包含”、“具有”、“含有”、“涉及”、“以……为特征”、“其特征在于”及其变化的使用意味着涵括其后列出的项、其等同物和附加项、以及由其后专门地列出的项所组成的替代实施方式。在一个实施方式中,本文描述的系统和方法由一个、多于一个中的每种组合、或所有描述的元件、动作或组件组成。

以单数形式提及的对本文系统和方法的实施方式或元件或动作的任何引用也可以囊括包括多个这些元件的实施方式,并且以复数形式对本文的任何实施方式或元件或动作的引用也可以囊括仅包括单一元件的实施方式。以单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单数的或复数配置。对基于任何信息、动作或元件的任何动作或元件的引用可以包括其中动作或元件至少部分基于任何信息、动作或元件的实施方式。

本文公开的任何实施方式可以与任何其他实施方式相结合,并且对“实施方式”、“一些实施方式”、“替代性实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定相互排斥,并且旨在指示结合该实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式中。本文使用的这些术语不一定全部指的是相同的实施方式。任何实施方式可以以与本文公开的各方面和实施方式一致的任何方式包含地或排他地与任何其他实施方式组合。

对“或”的引用可以被解释为包含性的,使得用“或”描述的任何术语可以指示单个所描述的术语、多于一个所描述的术语和所有所描述的术语中的任何一个。

在附图、详细描述或任何权利要求中的技术特征后面有附图标记的情况下,包括附图标记是为了增加附图、详细描述和权利要求的可理解性的唯一目的。因此,附图标记和它们的缺失对任何权利要求要素的范围都不会有任何限制的作用。

在不脱离其特性的情况下,本文描述的系统和方法可以以其他特定形式体现。尽管本文提供的示例涉及控制对信息资源内容的显示,但是本文描述的系统和方法可以包括应用于其他环境。前述实施方式是说明性的而不是限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述来指示,并且在权利要求的等同物的含义和范围内发生的变化被囊括在其中。

技术分类

06120116511099