基于用户活动的移动设备的动态调节的利记博彩app
【技术领域】
[0001]本公开总体涉及基于用户行为来调节计算机系统的部件。
【背景技术】
[0002]移动计算设备典型地为电池驱动的。一些移动计算设备可通过蜂窝数据和/或W1-Fi网络连接来无线地访问网络资源。这些移动设备通常受到电池容量和蜂窝数据限制的约束。
[0003]—些移动计算设备允许用户运行用于访问来自网络资源的数据的应用程序。用户典型地调用应用程序,然后必须等待该应用程序从网络资源检索数据,使得该应用程序可呈现当前更新的内容。
【发明内容】
[0004]在一些具体实施中,移动设备可被配置为监测环境系统和用户事件。移动设备可被配置为检测可触发对系统设置的调整的一个或多个事件的发生。
[0005]在一些具体实施中,移动设备可被配置为保持经常调用的应用程序为最新的。移动设备可保持对应用程序何时被用户调用的跟踪。基于调用信息,移动设备可预测在一天内应用程序何时被调用。移动设备随后可先发制人地启动应用程序并且下载更新,使得用户可调用应用程序并且查看当前更新的内容,而不必等待应用程序下载更新的内容。
[0006]在一些具体实施中,移动设备可接收与应用程序相关联的指示应用程序有新内容可用于下载的推送通知。移动设备可在后台启动与推送通知相关联的应用程序并且下载新内容。在下载内容之后,移动设备可呈现指示用户接收到推送通知的图形界面。用户随后可调用应用程序并查看更新的内容。
[0007]在一些具体实施中,移动设备可被配置为对移动设备上的应用程序执行进程下载和/或内容上载。例如,专用进程可在移动设备上被配置为针对移动设备上的应用程序下载和/或上载内容。在正执行上载/下载期间,应用程序可被暂停或终止。在上载/下载完成时应用程序可被调用。
[0008]在一些具体实施中,在运行应用程序或访问网络接口之前,移动设备可被配置为检查电池功率和蜂窝数据使用预算以确保有足够的功率和数据用于用户调用操作。在后台中启动应用程序之前,移动设备可检查使用统计值以确定该应用程序是否可能在不久的将来由用户调用。
[0009]具体实施提供了至少以下优点:可通过响应于所检测到的事件动态地调节移动设备的部件来节省电池功率。可通过预见用户何时将调用应用程序并下载内容来改善用户体验,使得用户在调用应用程序时将会查看更新的内容。
[0010]在下面的附图和【具体实施方式】中示出了一种或多种具体实施的细节。其他特征、方面和潜在优点将在【具体实施方式】和附图以及权利要求中显而易见。
【附图说明】
[0011]图1示出了被配置为执行移动设备的动态调整的移动设备100。
[0012]图2示出了用于调用启发式进程的示例性进程。
[0013]图3示出了用于使用启发式进程来调整移动设备的设置的进程。
[0014]图4示出了用于执行应用程序的后台获取更新的示例性系统。
[0015]图5示出了描绘用于针对移动设备上的应用程序确定用户调用概率的时间序列模型的示例性图示。
[0016]图6是用于预测性地启动应用程序来执行后台更新的示例性进程的流程图。
[0017]图7是用于确定何时启动移动设备上的应用程序的示例性进程的流程图。
[0018]图8是示出了针对趋向性表中的条目的状态转换的流程图。
[0019]图9是示出了用于向移动设备提供推送通知的系统的框图。
[0020]图10是用于在推送通知服务器处执行非唤醒推送的示例性进程的流程图。
[0021]图11是用于响应于低优先级推送通知来执行应用程序后台更新的示例性进程的流程图。
[0022]图12是用于响应于高优先级推送通知来执行应用程序后台更新的示例性进程的流程图。
[0023]图13是用于在移动设备上执行数据的后台下载和/或上载的示例性系统的框图。
[0024]图14是用于执行后台下载和上载的示例性进程的流程图。
[0025]图15示出了用于针对移动设备上的应用程序启用和/或禁用后台更新的示例性图形用户界面(GUI)。
[0026]图16是可实现图1-图15的特征和进程的示例性计算设备的框图。
[0027]在各附图中,类似的参考符号指示类似的元件。
【具体实施方式】
[0028]概述
[0029]根据具体实施,本文描述了一种系统架构,所述系统架构用于实现移动设备对用户行为的适应以有利于在电池寿命、功率需求、热管理和性能之间折中。系统提供基本事件和统计值采集架构和一组启发式进程,该进程随时间了解用户网络状况和应用程序使用模式以最大化电池寿命而不会明显降级用户体验。该系统可基于动态采集的统计值和/或明确指定的用户意图来预见用户将来行为以及用户对设备性能的期待。系统可确定要设置哪些硬件和软件控制参数以及将参数设置为什么值以便针对所预见的用户行为来改善用户体验。系统平衡用户监测和硬件控制以获取用户体验的整体改善,同时将系统和网络资源延伸为可用于移动设备。因此,系统可使系统和网络资源最大化,同时使对用户体验的影响最小化。
[0030]数据采集一用户中心统计值
[0031]图1示出了被配置为执行移动设备100的动态调整的移动设备100。在一些具体实施中,移动设备100可包括采样守护进程102,该采样守护进程采集与设备状况、网络状况和用户行为有关的事件。例如,采样守护进程102可采集与应用程序、传感器和移动设备100所接收的用户输入有关的统计值并且将该统计值存储在事件数据存储104中。所有所生成或所采集的统计值可包括地理位置和/或指示统计值何时被生成或被采集的时间和时区的时间戳。可基于全球导航卫星系统信号、蜂窝传输信号、W1-Fi信号或任何其他位置确定方法来确定地理位置。
[0032]在一些具体实施中,采样守护进程102可从应用程序管理器进程106接收应用程序使用统计值。例如,应用程序管理器106可为开始、停止和监测移动设备100上的应用程序(例如,应用程序108)的进程。在一些具体实施中,应用程序管理器106可将在移动设备100上运行的应用程序的开始和停止时间报告给采样守护进程102。例如,当用户或其他进程调用或启动应用程序时,应用程序管理器106可通知采样守护进程102该应用程序调用。另选地,应用程序管理器106可指示采样守护进程102响应于推送通知、用户调用或所预测或所预见的用户应用程序调用以发起应用程序启动。当应用程序终止时,应用程序管理器106可通知采样守护进程102该应用程序不再运行。应用程序管理器106例如可将应用程序的名称或其他标识符以及开始时间或结束时间提供给采样守护进程102。
[0033]在一些具体实施中,采样守护进程102可使用应用程序开始和结束通知来生成每个应用程序的使用时间的历史。例如,每个应用程序的使用时间的历史可包括针对应用程序的每次执行的自应用程序的上次执行和执行时间段已经过的时间量。采样守护进程102可保持用户调用应用程序启动和/或系统启动应用程序的独立历史。因此,采样守护进程102可针对在移动设备100上运行的所有应用程序保持使用统计值。
[0034]在一些具体实施中,采样守护进程102可从功率监测进程108接收功率统计值。例如,功率监测器108可监测移动设备100的电池容量、放电情况、使用情况和充电特性。功率监测器可确定移动设备100何时插到外部电源以及移动设备100何时由电池供电。功率监测器108可通知采样守护进程102该移动设备100何时插到外部电源中。例如,功率监测器108可在功率监测器检测到移动设备100插到外部电源时向采样守护进程102发送消息。该消息可包括当连接外部电源时的电池电量。
[0035]功率监测器108可通知采样守护进程102移动设备100何时与外部电源断开连接。例如,功率监测器108可在功率监测器检测到移动设备100与外部电源断开连接时向采样守护进程102发送消息。该消息可包括当断开外部电源连接时的电池电量。因此,采样守护进程102可保持统计值,该统计值描述了移动设备100的电池的充电分布(例如,随时间的电量)。充电分布统计值可包括自上次充电起的时间量(例如,自插到外部电源中的时间)以及得益于充电的电池电量变化(例如,充电开始水平、充电结束水平)。
[0036]在一些具体实施中,功率监测器108可通知采样守护进程102电池电量在一天中的变化。例如,功率监测器108可被通知应用程序何时开始和停止并且响应于该通知来确定在该时间段内电池放电量以及电池剩余的电量并且将该信息传送到采样守护进程102。
[0037]在一些具体实施中,采样守护进程102可从热管理进程110接收设备温度统计值。例如,热管理进程110可使用一个或多个温度传感器来监测移动设备100的操作温度状况。热管理进程I1可被配置为将温度变化周期性地报告给采样守护进程102。例如,热管理进程110可每五秒钟确定移动设备100的操作温度并且将温度报告给采样守护进程102。采样守护进程102可将所报告的温度存储在事件数据存储104中。
[0038]在一些具体实施中,采样守护进程102可从设备设置进程112接收设备设置统计值。例如,设备设置进程112可为移动设备100的操作系统的函数或进程。设备设置进程112例如可接收调节各种设备设置的用户输入,诸如打开/关闭飞行模式、打开/关闭W1-F1、打开/关闭漫游等。设备设置进程112可将设备设置的变化报告给采样守护进程102。例如,设备设置进程112可通知采样守护进程102用户何时打开或关闭移动设备100上的飞行模式。采样守护进程102可基于所接收到的通知来生成并存储用于设备设置的统计值。例如,针对每次被启用(或被禁用)的设置,采样守护进程102可存储指示自前一次启用设置所经过的时间量以及启用设置的时间量(例如,持续时间)的数据。
[0039]类似地,在一些具体实施中,采样守护进程102可在发生其他事件时从其他移动设备100部件(例如,设备传感器114)接收通知。例如,采样守护进程102可在移动设备的空闲屏幕被打开或关闭时、在移动设备100保持靠近用户面部时、在检测到小区塔进行切换时、在基带处理器处于搜索模式时、移动设备100检测到用户在走路、跑步和/或驾驶时接收通知。在每种情况下,采样守护进程102可在事件的开始和结束时接收通知。在每种情况下,采样守护进程102可生成并存储指示自上次检测到事件所经过的时间量以及事件持续时间的统计值。采样守护进程102可接收其他事件通知并且生成其他统计值,如以下参考特定使用情况和场景进一步所述的。
[0040]应用稈序事件
[0041]在一些具体实施中,采样守护进程102可从移动设备100上的应用程序接收事件信息。例如,采样守护进程102可从日历应用程序116接收日历事件(例如,约会、会议、提醒等)。采样守护进程102例如可存储事件名称、事件持续时间和/或事件预计发生的时间。采样守护进程102可从时钟应用程序118接收时钟事件。例如,采样守护进程102可存储事件名称(例如,闹钟名称)和/或事件预计发生的时间。采样守护进程102可从其他应用程序(例如,媒体应用程序、存折应用程序等)接收事件信息,如下文进一步所述的。
[0042]应用程序统计值
[0043]在一些具体实施中,采样守护进程102可在应用程序启动事件期间采集应用程序统计值。例如,采样守护进程102可在应用程序的许多调用期间采集用于每个应用程序的统计值。例如,每个应用程序可由其可执行的文件系统路径的哈希值和可执行的内容哈希值识别,使得相同应用程序的不同版本可作为不同应用程序来处理。
[0044]在一些具体实施中,采样守护进程102可保持计数器,该计数器针对每个应用程序跟踪后台任务完成声明事件。例如,每次应用程序作为后台任务(例如,在前台和/或由用户当前使用时不可见)运行时,应用程序或应用程序管理器106可通知采样守护进程102应用程序何时终止或者暂停并且采样守护进程102可将计数器递增。采样守护进程102可保持计数器,该计数器跟踪应用程序已在后台运行的应用程序启动期间累积的秒数。在一些具体实施中,采样守护进程102可保持独立计数器,该独立计数器对数据连接的数量进行计数、跟踪网络数据通信量(例如,按字节计)、跟踪文件系统操作的持续时间和大小和/或跟踪与每个应用程序相关联的线程的数量。采样守护进程102例如可保持应用程序在应用程序启动期间保持活动的累积时间量的计数。仅存在采样守护进程102可跟踪应用程序统计值的类型的有限实例。可如下文进一步描述来生成或采集其他统计值。
[0045]启发式
[0046]在一些具体实施中,移动设备100可被配置有启发式进程,该启发式进程可基于由采样守护进程102所检测到的事件来调节设备部件的设置。例如,启发式进程120可包括被配置(例如,被编程)为响应于一个或多个触发事件和/或基于由采样守护进程102所采集或所生成的统计值来调节各种系统设置(例如,CPU功率、基带处理器功率、显示器照明等)的一个或多个进程。
[0047]在一些具体实施中,启发式进程120可向在满足预定义的一组标准(例如,一些触发事件发生)时要被调用或激活的采样守护进程102注册。触发事件可包括调用媒体播放器应用程序或检测用户开始走路、跑步、驾驶等。触发事件可被一般化为在事件数据104中或由采样守护进程102检测到一些属性、数据、统计值、事件等时调用启发式进程120。例如,启发式进程120可在采样守护进程102接收应用程序开始通知或者温度高于某个阈值时被调用。启发式进程120可被注册为在单个事件发生或观测到统计值时被调用。启发式进程120可被注册为在观测或检测到事件、数据和/或统计值的组合时被调用。启发式进程120可响应于特定用户输入(例如,改变对飞行模式的设备设置)被触发或调用。当采集进程102检测到启发式进程120注册的事件时,采集进程102可调用启发式进程120。
[0048]在一些具体实施中,当调用启发式进程120时,启发式进程120可与采样守护进程102进行通信以从事件数据104检索数据。启发式进程120可处理事件数据和/或启发式进程120自身采集的其他数据以确定如何调节系统设置来改进移动设备100的性能,改善使用移动设备100时的用户体验和/或避免将来的移动设备100的问题。
[0049]在一些具体实施中,启发式进程120可作出可使得移动设备100的各种设备部件122设置变化的设置推荐。例如,设备部件可包括CPU、GPU、基带处理器、显示器、GPS、蓝牙、W1-F1、振动马达和其他部件。
[0050]在一些具体实施中,启发式进程120可对控制复用器124作出设置推荐。例如,控制复用器124可为在由启发式进程120所提供的部件设置之间进行仲裁的进程和影响或改变移动设备100的部件的设置的其他进程和/或移动设备100的功能。例如,热管理进程110可被配置为基于检测到移动设备100处于热事件(例如,在阈值温度上)过程中对CPU功率、显示器亮度、基带处理器功率和其他部件设置作出调整。然而,启发式进程120也可被配置为对CPU功率、显示器亮度、基带处理器功率和其他部件作出调整。因此,在一些具体实施中,启发式进程120和热管理进程110可对控制复用器124作出设置调整推荐并且控制复用器124可确定要作出哪些设置调整。例如,控制复用器124可对进程优先级排序并且基于推荐进程的优先级来执行调整。因此,如果热管理进程110为比启发式进程120高的优先级进程,则控制复用器124可根据热管理进程110而不是启发式进程120的推荐来调整CPU、显示器、基带处理器等的设置。
[0051]在一些具体实施中,可为移动设备100配置多个启发式进程120。启发式进程120可通过空气进行配置或者重新配置。例如,每个启发式进程120的参数(例如,触发、阈值、标准和输出)可通过网络(例如,蜂窝数据连接、W1-Fi连接等)进行设置或调节。在一些具体实施中,可将新启发式进程120添加到移动设备100。例如,随时间推移,触发事件、统计数据和设备设置之间的新的关联可由系统开发者确定。在识别这些新的关联时,可开发出新启发式进程120来调节系统设置以考虑新确定的关系。在一些具体实施中,可将新启发式进程120通过网络添加到移动设备100。例如,新启发式进程120可通过空气(例如,蜂窝数据连接、W1-Fi连接等)被下载或安装在移动设备100上。
[0052]示例启发式讲稈
[0053]在一些具体实施中,启发式进程120可被配置为调整移动设备100的系统设置以防止移动设备100在用户口袋中时变得过热。例如,这种口袋过热启发式进程可被配置为向在移动设备的显示器关闭时以及在移动设备100没有播放任何娱乐媒体(例如,音乐、电影、视频等)时要被调用的采样守护进程102注册。当被调用时,口袋过热启发式例如可作出减小CPU功率和GPU功率的推荐。
[0054]在一些具体实施中,启发式进程120可被配置为当未使用移动设备的显示器时调节定位精度。例如,如果未使用移动设备的显示器(例如,显示器关闭)时,移动设备100无法将地图信息或指引显示给用户。因此,用户不可能使用移动设备100的定位服务并且可调节定位服务(例如,GPS定位、W1-Fi定位、蜂窝定位等)以使用较少的功率。定位精度启发式进程可向在移动设备的显示器关闭时要被调用的采样守护进程102注册。当被调用时,启发式进程可调节GPS处理器、W1-Fi收发器、蜂窝收发器和基带处理器的功率水平或者终止所使用的进程以确定移动设备100的位置。
[0055]在一些具体实施中,启发式进程120可被配置为响应于用户的行为来调节移动设备的环境光传感器的设置。例如,这种用户自适应环境光传感器(ALS)启发式进程可在采样守护进程102接收到指示环境光传感器已检测到移动设备100周围的环境光的变化时,环境光传感器系统调节显示器的亮度时和/或用户提供输入来调节显示器的亮度的数据时由采样守护进程102调用。
[0056]当被调用时,用户自适应ALS启发式可相对于ALS显示器调节和用户发起显示器调节从采样守护进程102请求附加信息以确定是否存在指示ALS何时将显示器亮度向上或向下调节以及用户何时在相反方向调节显示器亮度的用户输入模式。例如,用户可乘汽车或火车去上班。在行驶期间汽车灯可打开和关闭。环境光传感器可检测环境光的变化并且当灯光打开时增大显示器亮度。由于灯光只是临时打开,所以用户可在灯光再次关闭时降低