用于执行目标动作的唤醒触发器

申请号 CN200880132566.2 申请日 2008-12-24 公开(公告)号 CN102273166B 公开(公告)日 2015-09-16
申请人 高通股份有限公司; 发明人 D·克里希纳斯瓦米; F·D·金; R·S·戴利;
摘要 各个方面涉及目标动作的执行,该目标动作可以是 能量 密集的任务、处理计算机密集的任务、与 节点 的交互或以上各项的组合。上下文 感知 触发器、功率感知触发器、随机调度的唤醒触发器、确定调度的唤醒触发器和/或预测调度的唤醒触发器可以用于确定与目标动作相关联的上下文的可用性。基于应当可用的上下文的可用性,来自动执行和/或选择性地暂停一个或多个目标动作。
权利要求

1.一种用于自动触发目标动作的执行的方法,包括:
确定基于目标动作的期望的上下文,其中所述期望的上下文包括与无线通信装置外部的电源的连接;
基于作为历史信息的函数的预测调度来评估所述期望的上下文的可用性,其中,评估所述期望的上下文的可用性包括基于作为历史信息的函数的预测调度来评估所述无线通信装置是否连接到外部的电源,所述历史信息涉及所述无线通信装置先前何时连接到外部的电源,并且其中,所述预测调度包括用于评估所述可用性的估计的将来时间,以及用于当所述期望的上下文在所述估计的将来时间不可用时重新评估所述可用性的时间间隔和时间窗,其中,当所述期望的上下文在所述估计的将来时间不可用时,每隔所述时间间隔来重新评估所述可用性,直到所述时间窗结束或所述期望的上下文被重新评估为可用;以及如果所述期望的上下文可用,则自动执行所述目标动作。
2.如权利要求1所述的方法,还包括:
如果所述期望的上下文不可用,则保存与所述目标动作相关联的数据。
3.如权利要求1所述的方法,还包括:
监控所述期望的上下文的所述可用性;
如果所述期望的上下文不再可用,则暂停所述目标动作的执行;以及
保存与所暂停的目标动作相关联的数据。
4.如权利要求2所述的方法,还包括:
监控与所保存的数据相关联的所述期望的上下文的所述可用性;以及
当所述期望的上下文可用时,执行与所保存的数据有关的所述目标动作。
5.如权利要求1所述的方法,其中所述期望的上下文包括与远程服务器的连接的可用性。
6.如权利要求1所述的方法,其中所述目标动作是无线通信链路上的分布式处理任务。
7.如权利要求1所述的方法,其中所述期望的上下文还包括处理性能平,并且其中所述处理性能水平包括处理性能约束。
8.如权利要求7所述的方法,所述处理性能约束小于或等于可用的性能指标,所述可用的性能指标可以基于针对相关联的任务的性能要求来被选择性地修改
9.如权利要求1所述的方法,其中所述期望的上下文还包括无线链路上的性能指标,并且其中所述无线链路上的所述性能指标包括无线链路延迟约束、无线链路带宽约束、无线链路功率约束、无线链路干扰约束、平均无线链路吞吐量约束或以上各项的组合。
10.如权利要求1所述的方法,其中所述期望的上下文还包括无线链路上的性能指标,并且其中所述无线链路上的所述性能指标是端对端服务质量指标。
11.如权利要求10所述的方法,所述端对端服务质量指标包括端对端延迟约束、端对端吞吐量约束或以上各项的组合。
12.如权利要求1所述的方法,其中所述预测调度包括两个连续的唤醒事件之间的可变的延迟。
13.如权利要求12所述的方法,其中两个连续的唤醒事件之间的所述延迟增加以省电。
14.如权利要求12所述的方法,其中两个连续的唤醒事件之间的所述延迟基于所述期望的上下文出现的可能性而变化。
15.一种无线通信装置,包括:
上下文感知部件,用于确定基于目标动作的期望的上下文,其中所述期望的上下文包括与所述无线通信装置外部的电源的连接,并且用于基于作为历史信息的函数的预测调度来评估所述期望的上下文的可用性,其中,评估所述期望的上下文的可用性包括基于作为历史信息的函数的预测调度来评估所述无线通信装置是否连接到外部的电源,所述历史信息涉及所述无线通信装置先前何时连接到外部的电源,并且其中,所述预测调度包括用于评估所述可用性的估计的将来时间,以及用于当所述期望的上下文在所述估计的将来时间不可用时重新评估所述可用性的时间间隔和时间窗,其中,当所述期望的上下文在所述估计的将来时间不可用时,每隔所述时间间隔来重新评估所述可用性,直到所述时间窗结束或所述期望的上下文被重新评估为可用;以及
触发器部件,用于如果所述期望的上下文可用则自动执行所述目标动作。
16.如权利要求15所述的无线通信装置,还包括:保存部件,用于如果所述上下文不可用则存储与所述目标动作相关联的数据。
17.如权利要求16所述的无线通信装置,其中所述上下文感知部件还用于:监控所述期望的上下文的所述可用性,以及如果所述期望的上下文不再可用则暂停所述目标动作的执行,并且
其中,所述保存部件还用于保存与所暂停的目标动作相关联的数据。
18.如权利要求16所述的无线通信装置,其中:
所述上下文感知部件还用于监控与所保存的数据相关联的所述期望的上下文的所述可用性,并且
所述触发器部件还用于当所述期望的上下文可用时执行与所保存的数据有关的所述目标动作。
19.一种用于自动触发目标动作的执行的无线通信装置,包括:
用于确定基于目标动作的期望的上下文的模,其中所述期望的上下文包括与所述无线通信装置外部的电源的连接;
用于基于作为历史信息的函数的预测调度来评估所述期望的上下文的可用性的模块,其中,所述用于评估所述期望的上下文的可用性的模块包括用于基于作为历史信息的函数的预测调度来评估所述无线通信装置是否连接到外部的电源的模块,所述历史信息涉及所述无线通信装置先前何时连接到外部的电源,并且其中,所述预测调度包括用于评估所述可用性的估计的将来时间,以及用于当所述期望的上下文在所述估计的将来时间不可用时重新评估所述可用性的时间间隔和时间窗,其中,当所述期望的上下文在所述估计的将来时间不可用时,每隔所述时间间隔来重新评估所述可用性,直到所述时间窗结束或所述期望的上下文被重新评估为可用;以及
用于在所述期望的上下文可用的情况下自动执行所述目标动作的模块。
20.如权利要求19所述的无线通信装置,还包括:
用于在所述上下文不可用的情况下存储与所述目标动作相关联的数据的模块。
21.如权利要求19所述的无线通信装置,还包括:
用于监控所述期望的上下文的所述可用性的模块;
用于在所述期望的上下文不再可用的情况下暂停所述目标动作的执行的模块;以及用于保存与所暂停的目标动作相关联的数据的模块。
22.如权利要求20所述的无线通信装置,还包括:
用于监控与所保存的数据相关联的所述期望的上下文的所述可用性的模块;以及用于当所述期望的上下文可用时执行与所保存的数据有关的所述目标动作的模块。
23.被配置为自动触发任务的执行的至少一个处理器,包括:
第一模块,其用于确定基于目标动作的期望的上下文,其中所述期望的上下文包括与无线通信装置外部的电源的连接;
第二模块,其用于基于作为历史信息的函数的预测调度来评估所述期望的上下文的可用性,其中,评估所述期望的上下文的可用性包括基于作为历史信息的函数的预测调度来评估所述无线通信装置是否连接到外部的电源,所述历史信息涉及所述无线通信装置先前何时连接到外部的电源,并且其中,所述预测调度包括用于评估所述可用性的估计的将来时间,以及用于当所述期望的上下文在所述估计的将来时间不可用时重新评估所述可用性的时间间隔和时间窗,其中,当所述期望的上下文在所述估计的将来时间不可用时,每隔所述时间间隔来重新评估所述可用性,直到所述时间窗结束或所述期望的上下文被重新评估为可用;
第三模块,其用于在所述期望的上下文可用的情况下自动执行所述目标动作;
第四模块,其用于在所述期望的上下文不再可用的情况下暂停所述目标动作的执行;
以及
第五模块,其用于保存与所暂停的目标动作相关联的数据。

说明书全文

用于执行目标动作的唤醒触发器

技术领域

[0001] 概括地说,下面的描述涉及无线通信,具体地说,涉及任务调度和/或信息交换以改善通信并节约资源。

背景技术

[0002] 无线通信系统被广泛地部署,以用于提供各种类型的通信并且发送信息,而不论用户位于何处(例如,在结构的内部或外部)以及用户是静止的还是移动的(例如,在车里、行走中)。例如,可以通过无线通信系统来提供语音、数据、视频等。典型的无线通信系统或网络可以给多个用户提供对一个或多个共享资源的访问。系统可使用诸如频分复用(FDM)、时分复用(TDM)、码分复用(CDM)、正交频分复用(OFDM)等的多种多址技术。
[0003] 为了改善设备性能和用户体验,可以通过数据挖掘或其它经用户授权的技术来执行对用户行为的建模。例如,可以执行数据挖掘,以对与用户设备相关联的信息(例如,使用的应用程序)进行挖掘,以更好地理解该用户。因此,有时可能存在作为后台处理运行的算法和/或应用程序,而用户可能不知道这些算法/应用程序正在执行其相应的功能。为了运行这些算法/应用程序,需要消耗系统资源(例如,电池电量(battery power)、带宽)。然而,如果用户正在使用该设备(例如,正在消耗带宽和系统资源)、连接断开(或受限)和/或一个或多个资源是不可用的,则与该算法/应用程序相关联的任务不会运行(例如,减少、消失)并且不执行其它动作,直到要进行下一个运行为止。因此,由于任务不会被执行,因此原本可用的任何信息(例如,挖掘到的数据)都会丢失。
发明内容
[0004] 下面给出一个或多个方面的简要概述,以便提供对这些方面的基本理解。该概述部分不是对所有预期方面的泛泛概括,也不旨在标识全部方面的关键或重要元素或者描述任意或全部方面的范围。其目的仅在于作为后文所提供的更详细描述的序言,以简化形式提供一个或多个方面的一些构思。
[0005] 根据一个或多个方面及其相应的公开内容,结合目标动作的自动执行对各个方面进行了描述。一个方面涉及一种用于自动触发目标动作的执行的方法。该方法包括确定基于目标动作的期望的上下文。期望的上下文是能量平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。该方法还包括评估所述期望的上下文的可用性;以及如果所述期望的上下文可用,则自动执行所述目标动作。
[0006] 另一方面涉及一种包括存储器和处理器的无线通信装置。存储器保存与确定基于目标动作的期望的上下文、评估所述期望的上下文的可用性、以及如果所述期望的上下文可用则自动执行所述目标动作有关的指令。期望的上下文是能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。处理器被耦合到所述存储器,并且被配置为执行保存在所述存储器中的指令。
[0007] 又一方面涉及一种自动触发目标动作的执行的无线通信装置。该装置包括用于确定基于目标动作的期望的上下文的模。期望的上下文是能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。该装置还包括用于评估所述期望的上下文的可用性的模块;以及用于在所述期望的上下文可用的情况下自动执行所述目标动作的模块。
[0008] 又一方面涉及一种包括计算机可读介质的计算机程序产品。该计算机可读介质包括用于使计算机确定基于目标动作的期望的上下文的第一代码集合。期望的上下文是能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。该计算机可读介质还包括用于使所述计算机评估所述期望的上下文的可用性的第二代码集合以及用于使所述计算机在所述期望的上下文可用的情况下自动执行所述目标动作的第三代码集合。此外,该计算机可读介质包括用于使所述计算机在所述期望的上下文不可用的情况下保存与所述目标动作相关联的数据的第四代码集合。
[0009] 又一方面涉及被配置为自动触发任务的执行的至少一个处理器。该处理器包括用于确定基于目标动作的期望的上下文的第一模块。期望的上下文是能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。该处理器还包括用于评估所述期望的上下文的可用性的第二模块以及用于在所述期望的上下文可用的情况下自动执行所述目标动作的第三模块。该处理器还包括用于监控所述期望的上下文的可用性的第四模块。处理器还包括用于在所述期望的上下文不再可用的情况下暂停目标动作的执行的第五模块以及用于保存与所暂停的目标动作相关联的数据的第六模块。
[0010] 为了实现前述目的和有关目的,一个或多个方面包括在下文中充分描述并在权利要求中特别指出的特征。下面的描述和附图详细给出了一个或多个方面的某些说明性特征。然而,这些特征只表示可以使用各个方面的原理的各种方式中的几种方式。通过下面结合附图给出的详细描述,其它优点和新颖特征将变得显而易见,并且所公开的方面旨在包括所有这些方面及其等同形式。

附图说明

[0011] 图1示出了根据本文给出的各个方面的无线通信系统。
[0012] 图2示出了根据一个或多个方面的多址无线通信系统。
[0013] 图3示出了根据一个或多个方面被配置为选择性地延迟任务的激活和/或与一个或多个节点的信息交换的系统。
[0014] 图4示出了根据一个方面用于在系统参数适于目标动作的执行时自动执行目标动作的系统。
[0015] 图5示出了根据本文公开的各个方面基于各个标准来部署目标动作的系统。
[0016] 图6示出了本文公开的各个方面使用机器学习来使与启用唤醒触发器以自动启动和/或自动暂停目标动作的执行相关联的一个或多个特征自动化的系统。
[0017] 图7示出了根据一个方面用于延迟任务的执行直到针对该任务的期望的上下文可用为止的方法。
[0018] 图8示出了根据公开的方面用于选择性地暂停任务和/或信息交换的方法。
[0019] 图9示出了根据公开的方面中的一个或多个方面有助于唤醒触发器执行目标动作的系统。
[0020] 图10示出了根据本文给出的各个方面自动触发目标动作的执行的示例性系统。

具体实施方式

[0021] 现在参照附图来描述各个方面。在下面的描述中,为了解释的目的,给出了大量具体细节,以便提供对一个或多个方面的全面理解。然而,很明显,也可以不用这些具体细节来实现这些方面。在其它例子中,以方框的形式示出了公知的结构和设备,以便于描述这些方面。
[0022] 在本申请中使用的术语“部件”、“模块”、“系统”等意指与计算机相关的实体,其可以是硬件固件、硬件与软件的组合、软件或执行中的软件。例如,部件可以是但不限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,在计算设备上运行的应用程序和该计算设备都可以是部件。一个或多个部件可以位于执行的进程和/或线程内,并且一个部件可以位于一台计算机上和/或分布于两台或更多台计算机之间。此外,可以通过其上存储有多种数据结构的多种计算机可读介质来执行这些部件。这些部件可以通过本地和/或远程进程,例如根据具有一个或多个数据分组的信号(例如,来自于一个部件的数据,其中该部件通过所述信号与本地系统、分布式系统中的另一个部件进行交互,和/或在网络(例如因特网)上与其它系统进行交互)来进行通信。
[0023] 此外,本文结合移动设备描述了各个方面。移动设备还可以称为系统、用户单元、用户站、移动站、移动台、无线终端、节点、设备、远程站、远程终端、接入终端、用户终端、终端、无线通信设备、无线通信装置、用户代理、用户装置或用户设备(UE),并且移动设备可以包含以上各项的功能中的一些或全部。移动设备可以是蜂窝电话、无绳电话、会话发起协议(SIP)电话、智能电话、无线本地环路(WLL)站、个人数字助理(PDA)、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线电设备、无线调制解调卡和/或用于在无线系统上进行通信的另一个处理设备。此外,本文结合基站描述了各个方面。基站可以用于与无线终端进行通信,并且还可以称为接入点、节点、节点B、e-NodeB、e-NB或一些其它网络实体,或者基站可以包含以上各项的功能中的一些或全部。
[0024] 将根据包括多个设备、部件、模块等的系统给出各个方面或特征。应当理解并清楚的是,各个系统可以包括额外的设备、部件、模块等,和/或可不包括结合附图讨论的所有设备、部件、模块等。也可使用这些方法的组合。
[0025] 此外,在本申请中,“示例性的”一词用于意指用作例子、例证或说明。本文中被描述为“示例性的”的任何方面或设计不应被解释为比其它方面或设计更优选或更具优势。确切而言,使用示例性一词是想要以具体的方式来表示构思。
[0026] 现在参照图1,示出了根据本文给出的各个方面的无线通信系统100。系统100可以包括一个或多个扇区中的一个或多个基站102,基站102相互之间和/或与一个或多个移动设备104之间对无线通信信号进行接收、发送、转发等。每个基站102可以包括多个发射机链和接收机链(例如,每个发射和接收天线对应于一个发射机链和接收机链),每个发射机链和接收机链可以相应地包括与信号的发送和接收相关联的多个部件(例如,处理器、调制器、复用器、解调器、解复用器、天线等)。每个移动设备104可以包括一个或多个发射机链和接收机链,所述发射机链和接收机链可以用于多输入多输出(MIMO)系统。本领域技术人员应当清楚的是,每个发射机链和接收机链可以包括与信号的发送和接收相关联的多个部件(例如,处理器、调制器、复用器、解调器、解复用器、天线等)。
[0027] 一个或多个基站102可以与远程服务器相关联,远程服务器收集在一个或多个移动设备104上挖掘的信息。为了将信息发送到远程服务器,移动设备104可以被配置为在满足与设备104相关联的一个或多个上下文时(例如,满足某些条件),自动执行任务和/或传递信息(在本文中有时称为目标动作)。上下文包括但不限于:能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的节点(例如,基站、远程服务器、移动设备、对等节点等)的可用性或以上各项的组合。在另一示例中,根据本文公开的各个方面,可以在两个对等设备之间自动传送信息。如果不满足上下文,则保存与目标动作相关联的数据(例如保存在缓存、存储介质、存储器、计算机可读介质等中),直到满足上下文为止。通过这种方式,与目标动作相关联的数据不会丢失,这是相对于传统系统的优势,其中传统系统在目标动作不能执行的情况下会将数据丢弃。此外,如果根据公开的方面一个或多个上下文在目标动作的执行过程中发生改变,则目标动作可以自动暂停,直到再次满足这些上下文为止。将与暂停的动作相关联的数据进行保存,以用于在以后执行任务和/或信息交换(当满足上下文时)。
[0028] 例如,移动设备104可以被配置为在该移动设备具有较高水平的电池电量和/或连接到电源期间选择性地传送信息和/或执行任务。此外,移动设备104可以被配置为仅在例如具有比可配置的阈值电平更高的信号强度的通信链路存在时才传送信息和/或执行任务。应当理解的是,这些任务不是时间敏感的任务(例如,不必实时地执行),并且因此可以根据需要延迟这些任务直到期望的上下文可用为止。
[0029] 现在参照图2,示出了根据一个或多个方面的多址无线通信系统200。无线通信系统200可以包括与一个或多个用户设备联系的一个或多个基站。每个基站给多个扇区提供覆盖。示出了包括多个天线组的三扇区基站202,一个天线组包括天线204和206,另一个天线组包括天线208和210,第三个天线组包括天线212和214。根据该附图,针对每个天线组仅示出了两个天线,然而,对于每个天线组而言,可以使用更多或更少的天线。移动设备216与天线212和214进行通信,其中,天线212和214在前向链路218上向移动设备216发送信息,并在反向链路220上从移动设备216接收信息。前向链路(或下行链路)是指从基站到移动设备的通信链路,反向链路(上行链路)是指从移动设备到基站的通信链路。
移动设备222与天线204和206进行通信,其中,天线204和206在前向链路224上向移动设备222发送信息,并在反向链路226上从移动设备222接收信息。在FDD系统中,例如,通信链路218、220、224和226可以使用不同的频率来进行通信。例如,前向链路118可以使用与由反向链路220使用的频率不同的频率。
[0030] 每个天线组和/或指定所述天线组在其中进行通信的区域可称为基站202的扇区。在一个或多个方面中,天线组中的每一个被设计为与由基站202覆盖的扇区或区域内的移动设备进行通信。基站可以是用于与终端进行通信的固定站。
[0031] 在通过前向链路218和224的通信中,基站202的发射天线可以使用波束成形以改进针对不同移动设备216和222的前向链路的信噪比。此外,与基站通过单个天线向其覆盖区域中的所有移动设备进行发送相比,当基站使用波束成形向随机地散布于其覆盖区域内的移动设备进行发送时,邻近小区中的移动设备可能遭受更少的干扰。
[0032] 根据某些方面,系统200被配置为对设备平台上的电池电量水平进行评估,以确定能量水平是否降低使得其在没有可用的电源的情况下从能量的度来看在平台上执行某些任务的成本可能过高。这些任务可以包括能源密集的任务,例如获得全球定位系统(GPS)校准(fix)、在后台处理计算机密集的数据挖掘任务、与用于因特网上的分布式处理的服务器的交互以及其它任务。从无线能源利用的角度、平台处理的角度或以上各项的组合来看,这些任务的能量消耗可能很大。功率感知触发器、上下文感知触发器、随机调度器、确定调度器和/或预测调度器可启动唤醒触发器,其中唤醒触发器可以用于确定连接的电源的可用性(和/或另一个上下文),然后可以用于执行这些任务。
[0033] 图3示出了根据一个或多个方面被配置为选择性地延迟任务的激活和/或与一个或多个节点的信息交换的系统300。该激活可以部分地基于与一个或多个上下文的一致性,所述一个或多个上下文对于任务和/或信息交换的执行而言应当是可用的。
[0034] 系统300包括通信装置302,所述通信装置302被示为通过信道304发送数据。虽然描绘为发送数据,但是通信装置302还可以通过信道304接收数据(例如,通信装置302可以同时发送和接收数据、通信装置302可以在不同的时间发送和接收数据或者以上各项的组合)。通信装置302例如可以是移动设备(例如,图1的移动设备104、图2的移动设备216或222)等等。
[0035] 通信装置302包括上下文感知部件306,该部件被配置为监控并评估与通信装置302相关联的上下文。该上下文可以包括能量水平、处理性能水平、与电源的连接性、无线链路的可用性、无线链路的状态、无线链路上的性能指标、远程服务器的可用性、对等设备的可用性等。上下文感知部件306可以通过检查任务的成本(例如,能量消耗、带宽可用性)来执行对某些任务的调度,并且如果需要的话在之后调度成本更高的任务。例如,如果能量水平足够高,则可执行目标动作。然而,如果电池中的能量水平较低,则上下文感知部件306可以等待电源变为可用的,然后执行延迟的目标动作。
[0036] 根据一些方面,上下文感知部件306可以使用随机调度的事件来评估上下文的可用性。根据另一方面,上下文感知部件306可以使用确定调度来评估上下文的可用性。根据又一方面,上下文感知部件306可以使用预测技术。下面将给出与这些方面有关的其它信息。
[0037] 基于对于目标动作(例如,任务、信息交换等)而言上下文是否可用,触发器部件308和/或保存部件310可以执行相应的功能。触发器部件308被配置为在上下文可用的情况下自动启动目标动作。例如,上下文感知部件306可以检测期望的上下文的可用性,并通知触发器部件308执行目标动作的条件可用。触发器部件308可以根据该信息来自动执行目标动作。
[0038] 如果期望的上下文不可用,则上下文感知部件306可以通知保存部件310需要对目标动作进行延迟。保存部件310被配置为保存与目标动作相关联的信息以在稍后试图启动目标动作时使用。当对于目标动作而言条件是可接受的(例如,期望的上下文为可用)时,触发器部件308可以根据从上下文感知部件306接收的信息来收集由保存部件310保存的信息。根据一些方面,一旦通知期望的上下文可用,保存部件310就自动将信息发送到触发器部件310.
[0039] 因此,延迟的目标动作可以被安排到延迟队列或休眠队列中,并等待例如当诸如能量水平等的上下文高于某一阈值或者设备连接到电源时被调度。通过这种方式,如果基于当前的条件不能执行任务和/或信息交换,则信息将不会丢失,并且任务和/或信息交换在上下文可用(例如,条件变好以用于执行目标动作)时被执行。
[0040] 根据一些方面,上下文可在目标动作的执行过程中改变。例如,当正在后台应用中执行目标动作时,用户可能执行消耗大量计算容量、电池电量等的应用(例如,用户启动的动作)。因此,上下文感知部件306可以定期地或连续地监控上下文,并且如果上下文变化,则上下文感知部件306可以通知触发器部件308暂停执行任务和/或信息交换。通过这种方式,后台应用(例如,目标动作的执行)进入休眠模式,以使通信装置302的处理能不会不堪负荷(例如,用户可以执行用户启动的动作)。保存部件310可以保存与暂停的任务/信息交换相关联的数据。
[0041] 此外,上下文感知部件306可以考虑用户正在使用装置302执行的动作。例如,如果用户启动浏览器并希望播放视频,则正在执行的目标动作可能需要进入休眠模式以使装置302的平台不会不堪负荷。在这种情况下,选择性地暂停目标动作可以改善用户体验,这是因为用户设备的处理能力不会不堪负荷。
[0042] 系统300可以包括操作地耦合到通信装置302的存储器312。存储器312可以位于通信装置302的外部,或者可以位于通信装置302的内部。存储器312可以存储与确定基于目标动作的期望的上下文、评估期望的上下文的可用性以及如果期望的上下文可用则自动执行所述目标动作有关的信息,以及与在通信网络中发送和接收的信号有关的适当的信息。处理器314可以操作地连接到通信装置302(和/或存储器312),以便于分析与用于执行任务、信息交换、无线通信链路上的分布式处理任务和/或通信网络中的另一个目标动作的唤醒触发器有关的信息。处理器314可以是专用于分析和/或生成由通信装置302接收的信息的处理器、控制系统300的一个或多个部件的处理器和/或既分析和生成由通信装置302接收的信息又控制系统300的一个或多个部件的处理器。
[0043] 存储器312可以存储与自动启动和/或暂停一个或多个系统执行的目标动作、采取行动来控制通信装置302与其它设备(例如,对等设备、远程服务器等)之间的通信相关联的协议,以使系统300可以使用存储的协议和/或算法来实现本文描述的无线网络中的改进的通信。应当清楚的是,本文所描述的数据存储(例如存储器)部件可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器二者。举例而言而非限制地,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器可以包括随机存取存储器(RAM),所述RAM作为外部高速缓冲存储器。举例而言而非限制地,RAM有多种可用形式,例如,同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)和直接Rambus RAM(DRRAM)。公开的方面的存储器旨在包括但不限于这些存储器和其它适当类型的存储器。
[0044] 图4示出了根据一个方面用于在系统参数适合执行目标动作时自动执行目标动作的系统。系统400提供了触发器,该触发器是功率感知的、上下文感知的和/或唤醒触发器,该唤醒触发器被(例如,随机地、确定地、预测地)调度以确定是否满足上下文要求(例如,连接电源的可用性、节点(例如,服务器、对等设备等)的接近)。如果上下文在目标动作开始以后改变,则可以暂停该动作,以用于在稍后当期望的上下文可用时进行部署。
[0045] 系统400包括通信装置402,所述通信装置402被配置为执行任务、促进通信和/或执行其它计算功能。通信装置402被配置为与一个或多个远程服务器404和/或一个或多个远程设备406进行通信。通信装置402包括上下文感知部件306,所述上下文感知部件306被配置为(定期地、连续地等)监控与通信装置402相关联的上下文,例如处理性能水平。
[0046] 处理性能水平可以包括处理性能约束,所述处理性能约束可能小于或等于可用的性能指标。可以基于对相关联任务的一个或多个性能要求来选择性地修改可用的性能指标(例如,可以基于对在平台上执行的其它任务的性能要求来改变可用的性能指标)。根据一些方面,无线链路上的处理性能指标包括无线链路延迟约束、无线链路带宽约束、无线链路功率约束、无线链路干扰约束、平均无线链路吞吐量约束或以上各项的组合。根据一些方面,无线链路上的性能指标是端对端服务质量指标。端对端服务质量指标包括端对端延迟约束、端对端吞吐量约束或以上各项的组合。
[0047] 与上下文感知部件306相关联的是能量监控部件408,所述能量监控部件408被配置为检测电源的存在。例如,用户可将通信装置402连接到插座或其它电源,以对通信装置402的电池进行再充电。基本上在通信装置402连接到电源的同时,能量监控部件408可以检测到该连接。能量监控部件408可以根据该检测来与触发器部件308交互,触发器部件
308自动部署一个或多个目标动作(任务、信息传递或以上各项的组合)。系统400可以通过后台处理来自动执行目标动作,而无需用户交互。
[0048] 根据一些方面,上下文感知部件306(或能量监控部件408)可以使用随机调度的事件来评估诸如连接的电源等的上下文的可用性。如果通信装置402处于低能量状态,则可以使用实时时钟(RTC)域计时器的过期来唤醒与通信装置402相关联的平台,以检查连接的电源的可用性。例如,可通过检查功率管理集成电路(IC)的寄存器或平台的片上系统上的寄存器中的值,来确定连接的电源的可用性。如果连接到电源,则触发器部件308则可启动目标动作。如果通信装置402不具有连接的电源,则可以在另一随机时间(例如使用RTC计时器)调度后续的事件以检查电源的可用性。保存部件310可以被配置为保存与目标动作有关的数据。应当注意的是,由保存部件310保存的数据应当是对时间不敏感的数据。
[0049] 根据一些方面,上下文感知部件306(或能量监控部件408)可以使用确定调度以通过触发器部件308来触发可选的唤醒并检查电源的可用性。
[0050] 根据一些方面,上下文感知部件306(和/或能量监控部件408)可以使用预测技术。预测技术可以基于与先前何时连接电源有关的过去的行为。该过去的行为可以用于估计通信装置402可能再次连接到电源的将来时间。如果在该将来时间未连接电源,则上下文感知部件306(和/或能量监控部件408)可以在该将来时间附近的时间窗内使用计时器事件触发器来更频繁地进行检查。
[0051] 根据一些方面,预测技术可以包括预测调度,所述预测调度包括两个连续唤醒事件之间的可变延迟。可以增加两个连续唤醒事件之间的延迟以省电。此外或可替换地,两个连续唤醒事件之间的延迟可以基于期望的上下文出现的可能性而改变。
[0052] 当确定电源已连接时(或者当与动作所需的上下文相符时),如果期望的话,触发器部件308可以基于随机/确定/预测地调度的触发来执行所关注的任务。此外或可替换地,当电源已连接时,可以调度目标动作,并且通信装置402的平台自动检测电源的可用性,以使该平台被自动配置为在检测到电源的可用性的时候执行目标动作。此外,可以基于通信装置402所处的上下文或环境在平台上生成触发,以检测电源的可用性。
[0053] 此外或可替换地,可以根据公开的方面来处理需要通信的分布式任务。这种分布式任务包括在因特网上与服务器404的交互、与相连的对等设备406的交互等。例如,目标动作可能需要与远程服务器的无线连接,其中无线连接会消耗无线带宽。因此,考虑的问题可以包括平台上是否具有足够的能量和/或是否具有足够的无线链路条件以使可以使用远程服务器404来执行目标动作。
[0054] 例如,存在一种数据挖掘任务(目标动作),所述数据挖掘任务(目标动作)需要在WWAN回程上与服务器404连接,并且当通信装置402处于用户住宅中时,无线信号强度较低。因此,当装置处于用户住宅中时,可能不会执行目标动作。然而,当用户开车去工作时(例如,在车中),信号强度较高,并且在能量水平合适的情况下,当用户开车去工作时,可以自动执行目标动作。
[0055] 如果目标动作不能被执行(例如,通信装置402未连接到电源),则可以将与该任务相关联的信息保存在保存部件310中,并且这些信息可以在可以执行目标动作时被使用。
[0056] 无线通信装置402还可以包括连接性检测部件410,所述连接性检测部件410被配置为检测通信链路的可用性和/或与通信链路相关联的参数(例如,连接性水平、信号强度、无线链路上的性能指标等)。部分地基于通信链路和/或与通信链路相关联的参数,可以在对于要执行的目标动作而言通信链路和/或相关联的参数是足够的时,执行目标动作。
[0057] 触发器部件308可以基于对电源的存在、通信链路、通信参数或以上各项的组合的检测,来启动一个或多个目标动作。可以通过上下文感知部件306和/或相关联的部件来监控期望的上下文。如果上下文改变,则可以暂停目标动作并且与目标动作相关的应用可以进入休眠状态,直到对于目标动作而言上下文再次适合的时候为止。可以通过保存部件310来保存暂停的应用和/或与暂停的应用相关联的数据。
[0058] 通信装置402可以包括存储器和处理器。存储器可以保存与执行和公开的方面相关联的一个或多个功能有关的指令。操作地连接到存储器的处理器可以被配置为执行保存在存储器中的指令。
[0059] 图5示出了根据本文公开的各个方面基于各种标准来部署目标动作的系统500。系统500包括通信装置502,所述通信装置502被配置为与一个或多个远程服务器504和/或一个或多个远程设备506进行通信。例如,服务器504可以是这样的服务器,即,其收集与通信装置502的用户相关联的信息和/或与通信装置502相关联的功能。设备506可以是对等设备或者与其进行数据传送的另一个设备。
[0060] 通信装置502包括上下文感知部件306,所述上下文感知部件306被配置为监控并评估与通信装置302相关联的上下文,并确定对于目标动作而言该上下文是否是可接受的。该上下文可以包括能量水平、处理性能水平、与电源的连接、无线链路的可用性、无线链路的状态、无线链路上的性能指标、远程服务器的可用性、对等设备的可用性等。
[0061] 与上下文感知部件306相关联的是能量监控部件408,所述能量监控部件408被配置为监控通信装置502的能量状态。例如,能量监控部件408可以检测到通信装置502具有较低的能量状态,这可指示存在较低的电池电量。根据一些方面,能量监控部件408可以检测到通信装置502上执行的应用正在消耗大于正常功率的功率。在这种情况下,可以确定,为了自动执行目标动作(例如,诸如在无线通信链路上的分布式处理任务等的任务和/或信息传递),通信装置502应当连接到电源。
[0062] 此外,通信装置502还包括连接性检测部件410,所述连接性检测部件410评估连接性水平和/或是否存在与服务器504和/或设备506的通信链路。根据一些方面,应当在启动目标动作之前建立通信装置502和相关实体(例如,服务器504、设备506)之间的诸如通信链路等的连接性和/或应当在启动目标动作之前满足相关联的参数(例如,信号强度、无线链路性能指标等)。例如,相关联的设备(或节点)可为远程服务器,并且期望的上下文是与远程服务器的连接性的可用性。
[0063] 触发器部件308被配置为基于能量状态、连接性水平、其它上下文或以上各项的组合来启动目标动作。根据一些方面,触发器部件308可以在能量状态指示通信装置502具有充满的电池时或在通信装置502连接到电源时确定应当启动目标动作。根据一些方面,触发器部件308可以确定应当在存在较高的连接性水平时启动任务或信息交换。根据另一方面,触发器部件308确定在启动任务和/或信息交换之前较高的能量状态(例如,连接到电源)和较高的连接性水平都应当可用。然而,根据公开的方面,触发器部件308可以使用其它标准来做出确定。例如,可能确定用户启动的应用正在消耗高于阈值水平的处理能力,因此不开始目标动作和/或如果目标动作已在进行中则暂停目标动作。
[0064] 无线通信装置502还包括保存部件310,所述保存部件310被配置为捕获并存储与暂停的或未开始的任务和/或信息传送有关的数据(而不是丢弃这些数据)。保存部件310保存的数据可以在执行相关联的动作的稍后时间被使用。
[0065] 此外或可替换地,通信装置502包括历史部件508,所述历史部件508保存与和上下文(例如,连接性、电源的存在等)相关联的事件、行为或以上各项的组合有关的信息。历史部件508保存的信息可以包括例如通信装置502连接到电源的先前时间。预测部件510可以被配置为基于与先前何时连接电源有关的过去的行为,来估计通信装置502可能再次连接到电源的将来时间。如果能量监控部件408在估计的将来时间时未检测到电源的连接,则计时器部件512可以建立与估计的将来时间相关联的时间窗或可配置的时间间隔,其中能量监控部件408可以在时间窗内的不同时间间隔时检查电源的状态(例如,连接、未连接)。例如,如果估计出通信装置502应当在下午三点连接到电源,则时间窗可以从下午两点四十五分到下午三点十五分。能量监控部件408可在该时间窗内的不同时间间隔时检查与电源的连接。例如,能量监控部件408可以在该时间窗期间每隔几分钟进行检查,或者更频繁地进行检查,例如,每隔一分钟、每隔半分钟等。
[0066] 根据一些方面,队列514被配置为确定在特定时间应执行哪个目标动作(如果有的话)。例如,可能存在可能需要具有功率感知和另一上下文(例如,连接性、处理性能约束、端对端服务质量指标等)的感知的一些目标动作,来确定是否应当执行目标动作。应当执行的一个或多个动作可以包括在队列512中,然而,执行每个动作所需的上下文可能不同。因此,队列512可以被配置为检查每个动作所需的上下文,以确定是否可以基于由上下文感知部件306提供的当前的上下文来执行一些动作。因此,如果基于当前的上下文可以执行任何动作,则如果不能执行第一动作,那么队列可检查下一个动作等,直到找到可以执行的动作为止。可以以任意顺序在队列514中列出这些动作,例如重要性顺序、动作被执行的持续时间(例如,首先列出在最长的时间期间未执行的动作)等。
[0067] 当确定电源已连接和/或其它上下文可用时,触发器部件308可以部分地基于这些随机的、确定的和/或预测的调度触发,来执行所关注的任务(例如,数据报告、数据收集、通信任务、分布式处理任务等)。根据一些方面,当电源已连接时,可以调度所关注的任务,并且平台本身自动检测电源的可用性。例如,平台可以被自动配置为在检测到电源的可用性时执行任务。也可以基于通信装置502所处的上下文或环境来生成触发,以确定电源的可用性。此外,除了在通信装置502上执行的任务之外,还可以处理需要通信的分布式任务。这些分布式任务可以包括在互联网上与服务器504的交互和/或与相连的对等移动设备506的交互。
[0068] 举例而言而非限制地,可以存在用户期望(例如通过与对等设备的交互)与朋友执行的目标动作。当下一次装置502的用户处于其朋友的设备附近时,某个动作等待执行(例如,共享一些信息)。因此,装置502正在等待某个上下文以便自动执行目标动作。例如,每个用户可将其相应的设备放在其口袋、包等中。由于目标动作(例如某些信息的交换)正在等待执行,因此当相应的设备检测到其它设备的存在时,动作将自动触发。例如,设备可以通过蓝牙 Wi-Fi来共享信息、通过WWAN回程、因特网上的对等连接来找到彼此等等。根据一些方面,可以使用GPS来使设备发现彼此。在另一方面,设备可以通过因特网发现彼此,然后发现蓝牙 并通过蓝牙 而不是回程来进行交换。
[0069] 通信装置502可以包括存储器和处理器。处理器可以操作地来连接到存储器,并被配置为执行保存在存储器中的指令。存储器可以保存与执行和公开的方面相关联的一个或多个功能有关的指令。
[0070] 现在参照图6,示出了根据本文描述的各个方面使用机器学习来使与启用唤醒触发器以自动启动和/或自动暂停目标动作的执行相关联的一个或多个特征自动化的系统600。系统600包括通信装置602,所述通信装置602使用一个或多个服务器604、一个或多个设备606或以上各项的组合来选择性地执行目标动作。根据一些方面,系统600被配置为如果与通信装置602相关联的上下文在自动执行目标动作的过程中改变则暂停该目标动作。
[0071] 与通信装置602相关联的上下文感知部件306被配置为评估各个上下文。例如,上下文感知部件306可以评估能量状态,并且基于通信装置602的电池充电量以及任务、信息交换和用户启动的动作所需的功率消耗电平等,来确定应当执行某些任务和/或应当交换(或暂停)某种类型的数据的时间。内容感知部件306可以评估处理性能水平和/或无线链路上的性能指标。此外,上下文感知部件306可以被配置为评估与通信装置602和一个或多个服务器604和/或对等设备606相关联的通信链路的参数。上下文感知部件306可以基于通信链路的参数来建议应当何时执行任务、应当何时交换数据和/或应当何时执行另一目标动作。
[0072] 通信装置602还包括触发器部件308,所述触发器部件308被配置为部分地基于上下文感知部件306的建议来启动目标动作。如果确定不应当执行目标动作和/或应当暂停目标动作,则可以由保存部件310来捕获并保存与该目标动作相关联的数据。当稍后执行任务/信息交换时,可以从保存部件310获取数据,从而在由于多种原因(例如,装置602的较低的功率电平、处理密集的用户启动的动作等)而不能执行特定目标动作的情况下减小数据的丢失。
[0073] 根据一些方面,为了确定应当何时执行和/或暂停目标动作,人工智能(AI)部件608和/或基于规则的逻辑部件610可以推断与目标动作有关的信息。
[0074] 基于规则的逻辑部件610可以用于使本文描述或建议的某些功能自动化。根据这个方面,可以应用实现方案(例如规则)来定义应当被作用或被忽略的各种类型的属性。此外或可替换地,实现方案可创建知道执行任务和/或信息交换所需的一个或多个上下文(例如,连接到电源、连接性能、远程服务器和/或对等设备的可用性、端对端服务质量指标、处理性能约束等)的规则,以建议是否应当执行特定的动作(例如,启动任务和/或信息交换、将数据保存在缓存中以供稍后使用等)。举例说明,应当清楚的是,基于规则的实现可以自动定义关于何时启动动作(例如,执行任务、开始数据交换)的标准和/或基于标准的结果来执行哪个动作(例如,等待连接到电源、等待足够的连接性、暂停当前非用户启动的任务/信息交换)。
[0075] AI部件608可以有助于使本文描述的一个或多个特征的性能自动化。例如,AI部件608可以学习什么是装置602的正常行为特征和异常行为特征(例如,设备何时/在何种情况下具有较高水平的连接性),从而学习用户与各个应用执行的具体交互(例如,用户不使用通信装置602的时间、装置正在充电或连接到电源的时间),其中所述交互可能影响行为特性。因此,使用各种基于AI的方案可以有助于执行其多个方面。
[0076] 分类器是将输入属性向量x=(x1,x2,x3,x4,xn)映射到类标签class(x)的函数。分类器还输出关于输入属于类的置信度,也即是说,f(x)=confidence(class(x))。这种分类可以使用基于概率和/或统计的分析(例如,因式分解为分析效用和成本)来预测或推断用户期望自动执行的动作。
[0077] 支持向量机(SVM)是可以使用的分类器的示例。SVM通过在可能的输入空间中寻找超曲面来工作,该超曲面以最佳的方式将触发输入事件与非触发事件分开。可以使用其它的分类方法,这些分类方法包括朴素贝叶斯 、贝叶斯网络决策树、神经网络、模糊逻辑模型、最大熵模型等。本文使用的分类还包括用于开发优先级模型的统计回归。
[0078] 根据本申请将容易明白的是,公开的方面可以使用预先训练(例如,通过来自多个用户的通用训练数据)的分类器以及强化学习的方法(例如,通过观察用户行为、观察趋势、接收外在的和/或内在的信息)。因此,公开的方面可以用于自动学习并执行多个功能,其包括但不限于基于预定的标准的确定。
[0079] 此外,通信装置602可以包括存储器和处理器。存储器可以保存与执行和公开的方面相关联的一个或多个功能和/或暂停目标动作有关的指令。处理器可以操作地连接到存储器,并且被配置为执行保存在存储器中的指令。
[0080] 鉴于上面所示和所描述的示例性系统,将参照下面的流程图来更好地理解可以结合公开的申请来执行的方法。虽然为了简化解释的目的,将这些方法示出并描述为一系列方框,但是,应该理解和清楚的是,要求的申请不受方框的数量或顺序的限制,这是因为,一些方框可以按不同顺序发生和/或基本上与本文中描绘和描述的其它方框同时发生。此外,为了实现本文所描述的方法,并非所示出的全部方框都是必需的。应当清楚的是,与方框相关联的功能可通过软件、硬件、二者的组合或任何适当的模块(例如,设备、系统、进程、部件)来实现。此外,还应当清楚的是,下文以及整个说明书中公开的方法能够存储在制品上,以便于将这些方法运送和传送到各个设备。本领域技术人员应当理解和清楚的是,方法可以可选地表示成例如状态图中的一系列相互关联的状态或事件。
[0081] 图7示出了根据一个方面用于延迟任务的执行直到该任务的期望上下文可用为止的方法700。期望的上下文可以是能量、无线链路的可用性、另一个对等节点的可用性、处理性能约束的可用性、无线链路性能指标、端对端服务质量指标等。如果期望的上下文不可用,则目标动作被延迟(或暂停)直到期望的上下文可用为止。如果期望的上下文可用,则自动执行目标动作。
[0082] 方法700从702开始,在702处,确定期望的上下文。上下文可以是能量状态或水平、处理性能水平、无线链路的可用性、连接性参数、无线链路上的性能指标、远程服务器的可用性、对等设备的可用性、通信装置上的用户激活(或非激活)等。可以基于与待执行的任务/信息交换相关联的参数来确定期望的上下文,其中,如果参数未被满足,则不启用任务/信息交换。根据一些方面,期望的上下文可以由通信装置来定义,例如应当可用以便装置正常工作的参数。
[0083] 在704处,评估期望的上下文的可用性。可以基于系统参数来定期地地或连续地监控上下文。根据一些方面,可以在执行目标动作之前、期间或之后对上下文进行监控。
[0084] 期望的上下文包括与远程节点(例如,远程服务器、对等设备等)的无线连接以及是否存在与电源的连接。根据一些方面,期望的上下文可以是包括与电源的连接的能量水平。处理性能水平可以包括处理性能约束。根据一个方面,处理性能约束可以等于或小于可用的性能指标。根据一个方面,可以基于对相关联的任务的性能要求来选择性地修改可用的性能指标。无线链路上的性能指标可以包括无线链路延迟约束、无线链路带宽约束、无线链路功率约束、无线链路干扰约束、平均无线链路吞吐量约束或以上各项的组合。根据一些方面,无线链路上的性能指标是端对端服务质量指标。端对端服务质量指标可以包括端对端延迟约束、端对端吞吐量约束或以上各项的组合。
[0085] 在706处,确定期望的上下文是否可用。举例而言而非限制地,上下文可以是可能高于阈值的能量水平。例如可以通过与设备相关联的功率管理智能控制器(IC)来进行确定,其中所述设备可以检测与电源的电池连接性。此外或可替换地,可以基于历史信息来进行确定以作为预测。例如,用户可能在诸如晚上九点等的某一时间对设备充电。预测引擎可以例如在晚上九点半调度唤醒来检查电池水平是否上升或设备是否连接到电池充电器或电源。当预测引擎在该预测时间唤醒并且未检测到电源时,预测引擎可以在此之后每隔几分钟就唤醒以检查电源连接。如果在某一时间之后(例如,在时间窗内)未检测到电源连接,则可以确定用户已去睡觉并且可将目标动作置于队列中以在稍后进行部署。
[0086] 根据一个方面,预测可以基于无线连接性。例如,用户从住宅开车去工作,并且存在较高的信号强度(例如,连接性)。预测引擎可以每天在此时调度唤醒,这是因为对于目标动作而言数据连接性是足够的。然而,应当理解的是,其它标准可以用于确定何时调度唤醒来执行一个或多个目标动作。因此,预测引擎可以具有时间列表,其中可以使用该时间列表来知道何时查找连接性以运行一个或多个目标动作。
[0087] 此外或可替换地,预测调度可以包括两个连续唤醒事件之间的可变延迟。例如,可以增加两个连续唤醒事件之间的延迟以省电。根据一些方面,两个唤醒事件之间的延迟可以基于期望的上下文出现的可能性而改变。例如,如果预期期望的上下文的出现以较高的概率发生,则连续的唤醒事件可以被调度为更频繁地发生。如果预期期望的上下文出现的概率较低,则连续唤醒事件可以较不频繁地发生。
[0088] 如果期望的上下文可用(“是”),则在708处自动执行目标动作。如果期望的上下文不可用(“否”),则在710处将与目标动作相关联的数据缓存或保存在存储介质中。方法700可在704处继续,在704处,评估与上下文相关联的参数,并且如果在706处上下文可用,则缓存的数据可以用于执行的目标动作。应当理解的是,该动作可以是递归的,以使可以针对与各个参数的一致性来对与装置相关的上下文检查任意次数。
[0089] 图8示出了根据公开的方面用于选择性地暂停任务和/或信息交换的方法。方法800从802处开始,在802处,部署目标动作。可以与上图的方法700类似地部署目标动作。
在804处,(例如,定期地、连续地等)对上下文进行监控。对上下文的监控可以包括评估与目标动作相关联的参数中的每一个参数以确定是否应当继续执行目标动作。
[0090] 在806处,确定上下文是否已经改变。如果上下文还未改变(“否”),则方法800在804处继续,在804处,对上下文进行监控。如果上下文已经改变(“是”),则方法800在808处继续,在808处,确定上下文的改变是否可接受。例如,上下文的改变可能是用户已经启动应用、设备已经从电源移除等。如果上下文的改变不影响目标动作,则该改变是可接受的(“是”),且方法800在804处继续。如果上下文的改变影响目标动作,则该改变是不可接受的(“否”),且方法800在810处继续,在810处,暂停目标动作。在812处,可以保存与目标动作相关联的数据,以用于稍后执行目标动作。
[0091] 现在参照图9,示出了根据公开的方面中的一个或多个方面有助于唤醒触发器执行目标动作的系统900。系统900可以位于用户设备内。系统900包括可以从例如接收机天线接收信号的接收机902。接收机902可以在其上执行典型的动作,例如,对接收的信号进行滤波、放大、下变频等。接收机902还可以对经调节的信号数字化以获得采样。解调器904可以在每个符号周期期间获得接收的符号,并将接收的符号提供给处理器906。
[0092] 处理器906可以是专用于分析由接收机部件902接收到的信息和/或生成由发射机908发射的信息的处理器。此外或可替换地,处理器906可以控制用户设备900的一个或多个部件、分析由接收机92接收的信息、生成由发射机908发射的信息和/或控制用户设备900的一个或多个部件。处理器906可以包括控制器部件,所述控制器部件能够与额外的用户设备协调通信。
[0093] 用户设备900可以另外包括存储器908,存储器908操作地耦合到处理器906并且可以存储与协调通信有关的信息以及任何其它适当的信息。存储器910可以另外存储与执行和/或暂停目标动作相关联的协议。应当清楚的是,本文描述的数据存储(例如存储器)部件可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器二者。举例而言而非限制地,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器可以包括随机存取存储器(RAM),所述RAM作为外部高速缓冲存储器。举例而言而非限制地,RAM有多种可用形式,例如,同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)和直接Rambus RAM(DRRAM)。本申请的系统和/或方法中的存储器908旨在包括但不限于这些存储器和其它适当类型的存储器。用户设备900还可以包括符号调制器912和发射机908,其中发射机908发送经调制的信号。
[0094] 接收机902还操作地耦合到上下文评估器914,其中上下文评估器914收集与执行目标动作所需的上下文有关的信息,并确定上下文是否可用。期望的上下文是能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。如果上下文可用,则触发器机制916被配置为部署该目标动作。如果上下文不可用,则可以例如在存储器910中保存与目标动作相关联的数据。
[0095] 参照图10,示出了根据本文给出的各个方面自动触发目标动作的执行的示例性系统1000。例如,系统1000可以至少部分地位于移动设备内。应当清楚的是,系统1000被表示为包括功能块,这些功能块可以是表示由处理器、软件或以上各项的组合(例如固件)执行的功能的功能块。
[0096] 系统1000包括可以可单独操作或联合操作的电子部件的逻辑组1002。逻辑组1002包括用于确定基于目标动作的期望的上下文的模块1004。期望的上下文可以是能量水平、处理性能水平、无线链路的连接性、无线链路上的性能指标、相关联的设备的可用性或以上各项的组合。
[0097] 相关联的设备可以是远程服务器,上下文可以是与远程服务器的连接的可用性。期望的上下文可以是包括与电源的连接的能量水平。处理性能水平可以包括处理性能约束。例如,处理性能约束等于或小于可用的性能指标。根据一些方面,可以基于对相关联的任务的性能要求来选择性地修改可用的性能指标。无线链路上的性能指标可以包括无线链路延迟约束、无线链路带宽约束、无线链路功率约束、无线链路干扰约束、平均无线链路吞吐量约束或以上各项的组合。根据一些方面,无线链路上的性能指标是端对端服务质量指标。端对端服务质量指标可以包括端对端延迟约束、端对端吞吐量约束或以上各项的组合。
[0098] 逻辑组1002还包括用于评估期望的上下文的可用性的模块1006和用于在期望的上下文可用的情况下自动执行目标动作的模块1008。根据一些方面,用于评估期望的上下文的可用性的模块1006使用作为历史信息的函数的预测调度。预测调度可以包括两个连续唤醒事件之间的可变延迟。两个连续唤醒事件之间的延迟基于期望上下文出现的可能性而改变。根据一个方面,可以增加两个连续唤醒事件之间的延迟以省电。
[0099] 根据一些方面,逻辑组包括用于在上下文不可用的情况下保存与目标动作相关联的数据的模块。根据另一方面,逻辑组包括用于监控期望的上下文的可用性的模块、用于在期望的上下文不再可用的情况下暂停执行目标动作的模块以及用于保存与暂停的目标动作相关联的数据的模块。
[0100] 此外或可替换地,逻辑组1002包括用于监控与保存的数据相关联的期望的上下文的可用性的模块以及用于在期望的上下文可用时执行与保存的数据有关的目标动作的模块。
[0101] 此外,系统1000可以包括存储器1010,存储器1010保存用于执行与电子部件1004、1006和1008或其它部件相关联的功能的指令。虽然电子部件1004、1006和1008示为在存储器1010的外部,但是应当理解的是,这些电子部件中的一个或多个可以存在于存储器1010内部。
[0102] 应当理解的是,可以通过硬件、软件、固件或其任何组合来实现本文描述的各个方面。当实现在软件中时,可以将这些功能作为一个或多个指令或代码存储在或传送到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质二者,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是可以由通用计算机或专用计算机存取的任何可用介质。举例而言而非限制地,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码模块并可以由通用计算机或专用计算机或者通用处理器或专用处理器存取的任何其它介质。此外,任何连接可以适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线和微波等的无线技术从网站、服务器或其它远程源发送软件,则同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波等的无线技术包括在所述介质的定义中。本文使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘用激光光学地复制数据。上述各项的组合也应当包括在计算机可读介质的范围中。
[0103] 可以使用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列信号(FPGA)或其它可编程逻辑设备、分立门或者晶体管逻辑、分立硬件部件或者其任意组合,来实现或执行结合本文所公开的各个方面所描述的各种示例性的逻辑、逻辑框、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何传统的处理器、控制器、微控制器或者状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合或者任何其它此种结构。此外,至少一个处理器可以包括一个或多个模块,所述一个或多个模块可操作以执行上述步骤和/或动作中的一个或多个步骤和/或动作。
[0104] 对于软件实现而言,可以使用执行本文所描述的功能的模块(例如,程序、功能等)来实现本文描述的技术。软件代码可存储在存储器单元中并由处理器执行。存储器单元可以实现在处理器的内部或外部,在实现在处理器外部的情况下,可以通过本领域公知的多种方式来将存储器单元通信地耦合到处理器。此外,至少一个处理器可以包括可操作以执行本文所描述的功能的一个或多个模块。
[0105] 本文描述的技术可以用于各种无线通信系统,例如CDMA系统、TDMA系统、FDMA系统、OFDMA系统、SD-FDMA系统和其它系统。术语“系统”和“网络”通常交互使用。CDMA系统可以实现诸如通用陆地无线接入(UTRA)、CDMA2000等的无线技术。UTRA包括宽带-CDMA(W-CDMA)和CDMA的其它变体。此外,CDMA2000涵盖IS-2000标准、IS-95标准和IS-856标准。TDMA系统可以实现诸如全球移动通信系统(GSM)等的无线技术。OFDMA系统可实现诸如演进型UTRA(E-UTRA)、超移动宽带(UMB)、IEEE 802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE 802.20、闪速- 等的无线技术。UTRA和E-UTRA是通用移动电信系统(UMTS)的一部分。3GPP长期演进(LTE)是UMTS的使用E-UTRA的版本,其在下行链路使用OFDMA并在上行链路使用SC-FDMA。在名为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了UTRA、E-UTRA、UMTS、LTE和GSM。此外,在名为“第三代合作伙伴计划
2”(3GPP2)的组织的文档中描述了CDMA2000和UMB。此外,这些无线通信系统可以另外包括通常使用不成对的非授权频谱、802.xx无线LAN、蓝牙以及其它任何的近距或远距的无线通信技术的对等(例如,移动台到移动台)自组网络系统。
[0106] 此外,本文所描述的各个方面或特征可以实现为方法、装置、或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”旨在包括可从任何计算机可读设备、载体、或介质存取的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁带等)、光盘(例如,压缩光盘(CD)、数字通用光盘(DVD)等)、智能卡和闪存设备(例如,EPROM、卡、棒、钥匙驱动器等)。此外,本文所描述的各种存储介质可以表示用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:能够存储、包含和/或携带指令和/或数据的无线信道和各种其它介质。此外,计算机程序产品可以包括具有可操作以使计算机能够执行本文描述的功能的一个或多个指令或者代码的计算机可读介质。
[0107] 此外,结合本文公开的各个方面所描述的方法或算法的步骤和/或动作可以直接体现在硬件中、由处理器执行的软件模块中或这二者的组合中。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或者本领域公知的任何其它形式的存储介质中。示例性的存储介质可以耦合到处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。或者,存储介质也可以是处理器的组成部分。此外,在一些方面中,处理器和存储介质可以位于ASIC中。此外,该ASIC可以位于用户终端中。或者,处理器和存储介质也可以作为分立部件存在于用户终端中。此外,在一些方面中,方法或者算法的步骤和/或动作可以作为代码和/或指令的一个或任意组合或集合位于可以并入计算机程序产品中的机器可读介质和/或计算机可读介质上。
[0108] 虽然以上公开内容讨论了示例性的方面和/或各个方面,但是应当注意的是,在不偏离所描述的方面和/或由所附的权利要求定义的方面的范围的情况下,可以进行各种改变和修改。因此,所描述的方面意在涵盖落入所附权利要求的范围的所有这些变形、修改和改变。此外,虽然可以以单数形式描述或要求保护所描述的方面和/或各个方面的要素,但是,除非明确说明限于单数形式,否则可以设想到复数形式。此外,除非另外说明,否则,任意方面和/或方面的全部或一部分可以与任意其它方面和/或方面的全部或一部分一起使用。
[0109] 就说明书或权利要求中使用的术语“包含”而言,该术语旨在表达的涵盖方式类似于“包括”一词在权利要求中用作衔接词所解释的方式。此外,说明书或权利要求中使用的术语“或者”旨在意味着包括性的“或者”而不是排他性的“或者”。也即是说,除非另外指定或从上下文能清楚得知,否则短语“X使用A或者B”旨在意味着任何自然的包括性置换。也即是说,短语“X使用A或者B”满足以下任何一个例子:X使用A;X使用B;或者X使用A和B二者。另外,除非另外指定或从上下文能清楚得知是单一形式,否则本申请和所附的权利要求中使用的冠词“一”和“一个”通常表示“一个或多个”。
QQ群二维码
意见反馈