CN106063337B - 通过应用监控的唤醒锁管理 - Google Patents
通过应用监控的唤醒锁管理 Download PDFInfo
- Publication number
- CN106063337B CN106063337B CN201580009222.2A CN201580009222A CN106063337B CN 106063337 B CN106063337 B CN 106063337B CN 201580009222 A CN201580009222 A CN 201580009222A CN 106063337 B CN106063337 B CN 106063337B
- Authority
- CN
- China
- Prior art keywords
- activity
- lock
- wake
- application
- threshold value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
描述了用于管理无线通信设备中的唤醒锁的方法、系统和设备。所描述的方法、系统和设备可以使得无线通信设备能够监控持有唤醒锁的应用的活动性。所描述的方法可以至少部分地基于该应用的活动性或者非活动性来管理唤醒锁。例如,当该应用不活动或者具有低于特定门限达某个时间量的活动性时,所描述的方法可以确定释放该唤醒锁。
Description
交叉引用
本专利申请要求享受由Emami等人于2014年2月20日提交的、标题为“Wake LockManagement Through Application Monitoring”的美国专利申请第14/185,852号的优先权,故被转让给本申请的受让人。
背景技术
概括地说,下文涉及无线通信,并且更具体地,涉及针对在其上运行的应用使用唤醒锁的无线通信设备。广泛地部署了无线通信系统,以提供各种类型的通信内容,例如,语音、视频、分组数据、消息传送、广播等等。这些系统可以是能够通过共享可用的系统资源(例如,时间、频率和功率),来支持与多个用户进行通信的多址系统。这样的多址系统的例子包括码分多址(CDMA)系统、时分多址(TDMA)系统、频分多址(FDMA)系统和正交频分多址(OFDMA)系统。
通常,无线多址通信系统可以包括多个基站,每个基站同时支持针对多个移动设备的通信。基站可以在下游链路和上游链路上,与移动设备进行通信。通常,由于移动设备具有由可充电电池提供的有限电量可用性,所以通常期望减少或者最小化这样的设备的功耗。因此,已知的是,当移动设备例如没有与基站进行活动通信时,使该移动设备进入低功率状态(例如,休眠模式或者状态)。
但是,操作系统应用程序接口(API)的重要部分是唤醒锁。唤醒锁为应用开发者提供用于指示它们的应用需要该设备继续处于原状态的机制(例如,通过诸如不进入休眠模式来保持在较高的功率状态)。唤醒锁可以被配置有影响设备的中央处理单元(CPU)、屏幕和/或键盘行为的各种各样的状态。这里引用的唤醒锁是经由操作系统API控制的用户空间唤醒锁。内核空间唤醒锁被不同地分类,并且将CPU的能力限制于空闲或者暂停。
但是,唤醒锁可能影响移动设备的电池寿命。例如,一旦用户同意应用生成用于设备的唤醒锁的请求,该应用就可以生成唤醒锁,该唤醒锁可以阻止CPU进入暂停(或者休眠)状态,并且甚至可以覆写用户的他们希望暂停CPU的指示。不恰当的唤醒锁管理可能采取两种形式:(1)不必要地生成唤醒锁;以及(2)比必要时间更长地持有唤醒锁。
在最极端的情况下,不恰当的唤醒锁管理的第二种形式扩展到应用根本不释放唤醒锁,并且因此持有唤醒锁,直到设备的操作系统停止该应用为止。
发明内容
所描述的特征通常涉及:一种或多种用于管理无线通信设备中的唤醒锁的改进的系统、方法和/或装置。所描述的特征可以使得无线通信设备能够监控持有唤醒锁的应用的活动性。该设备可以至少部分地基于该应用的活动性或者不活动性来管理唤醒锁。例如,当该应用不活动或者具有低于特定门限达某个时间量的活动性时,该设备可以确定释放该唤醒锁。
描述了一种用于管理无线通信设备中的唤醒锁的方法。在一种配置中,该方法可以涉及:监控该无线通信设备上持有的唤醒锁所针对的应用的活动性。是否释放该唤醒锁可以至少部分地基于所监控的该应用的活动性来确定。
在一些实施例中,对是否释放唤醒锁的确定可以涉及:识别与所述应用的活动性有关的至少一个度量。在这样的实施例中,识别所述至少一个度量可以涉及:识别针对与所述应用相关联的每个进程的至少一个度量。替代地或另外地,识别所述至少一个度量可以涉及:识别针对与所述应用相关联的每个服务的至少一个度量。此外,替代地或另外地,识别与所述应用的活动性有关的所述至少一个度量可以涉及:使用从包括下列各项的组中选择的、下列各项中的一项或者两项或更多项的组合:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与所述应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。
在一些实施例中,识别与所述应用的活动性有关的所述至少一个度量可以涉及:识别与所述应用的活动性有关的多个度量。可以对所识别的多个度量进行合计,以获得活动性分数。在这样的实施例中,对所述多个度量进行合计以获得活动性分数可以涉及:以加权线性组合的方式对所识别的多个度量进行合计。
在一些实施例中,该方法可以涉及:至少部分地基于所述应用,识别监控间隔、具有活动性分数低于门限值的监控间隔的数量、所述门限值或者其组合。在一些实施例中,该方法可以涉及将所获得的活动性分数与门限值进行比较。在这样的实施例中,对是否释放所述唤醒锁的确定可以是至少部分地基于该比较的结果的。在一些实施例中,该方法还可以涉及至少部分地基于所述应用来识别所述门限值。
替代地或另外地,该方法可以涉及识别具有活动性分数低于所述门限值的监控间隔的数量。在这样的实施例中,该方法可以涉及当所述活动性分数低于所述门限值达所识别数量的监控间隔时,释放所述唤醒锁。在一些实施例中,识别监控间隔的数量可以是至少部分地基于所述应用的。
描述了一种用于管理唤醒锁的装置。在一种配置中,该装置可以包括:用于监控无线通信设备上持有的唤醒锁所针对的应用的活动性的单元。该装置还可以包括:用于至少部分地基于所监控的所述应用的活动性来确定是否释放所述唤醒锁的单元。在各个实施例中,该装置可以包括:用于执行上文描述的和/或如本文描述的方法的功能和/或操作中的一些或者全部的单元。
描述了一种用于管理唤醒锁的设备。在一种配置中,该设备可以包括处理器和与该处理器电子通信的存储器。该存储器可以体现指令,其中所述指令可以由所述至少一个处理器可执行以:监控无线通信设备上持有的唤醒锁所针对的应用的活动性;以及至少部分地基于所监控的所述应用的活动性来确定是否释放所述唤醒锁。在各个实施例中,该设备可以包括由处理器可执行的指令,以执行上文描述的和/或如本文描述的方法的功能和/或操作中的一些或者全部。
还描述了一种计算机程序产品。该计算机程序产品可以是非暂时性计算机可读介质,所述该非暂时性计算机可读介质存储由处理器可执行的指令以:监控无线通信设备上持有的唤醒锁所针对的应用的活动性;以及至少部分地基于所监控的所述应用的活动性来确定是否释放所述唤醒锁。在各个实施例中,该计算机程序产品可以包括由所述处理器可执行的指令,以执行上文描述的和/或如本文描述的方法的功能和/或操作中的一些或者全部。
根据下列具体实施方式、权利要求书和附图,所描述的方法和装置的进一步的适用范围将变得显而易见。仅仅通过说明的方式给出了具体实施方式和具体例子,因为对于本领域的技术人员来说,本描述的精神和范围之内的各种改变和修改将变得显而易见。
附图说明
通过参照下面的附图,可以实现对本发明的性质和优点的进一步理解。在附图中,类似的部件或特征可以具有相同的附图标记。此外,相同类型的各个部件可以通过在附图标记之后紧接着破折号以及用于区分相似部件的第二标记来进行区分。如果在说明书中仅使用了第一附图标记,则该描述可应用于具有相同的第一附图标记的类似部件中的任何一个部件,而不管第二附图标记。
图1示出了无线通信系统的框图;
图2A示出了用于管理唤醒锁的无线通信设备的例子的框图;
图2B示出了用于管理唤醒锁的无线通信设备的另一个例子的框图;
图2C示出了用于管理唤醒锁的无线通信设备的另一个例子的框图;
图2D示出了用于管理唤醒锁的无线通信设备的另一个例子的框图;
图3示出了用于管理唤醒锁的无线通信设备的另一个例子的框图;
图4是用于管理无线通信设备中的唤醒锁的方法的例子的流程图;
图5是用于管理无线通信设备中的唤醒锁的方法的另一个例子的流程图;
图6是用于管理无线通信设备中的唤醒锁的方法的另一个例子的流程图;以及
图7是用于管理无线通信设备中的唤醒锁的方法的另一个例子的流程图。
具体实施方式
所提出的发明涉及实现一种唤醒锁管理器,其可以管理唤醒锁,并且在认为适当时释放用于应用的唤醒锁。用于识别要释放的唤醒锁的通用方法涉及:针对每个唤醒锁,当该唤醒锁被持有时,定期地测量或者以别的方式确定持有该唤醒锁的应用的活动性。可以被用于测量应用活动性的度量的例子是:处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)等等)使用/负载(例如,使用的时钟周期);进程运行时间;服务运行时间;进程的数量;服务的数量;由与该应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态(例如,前台中的应用);磁盘活动性;网络活动性;传感器使用;存储器使用/活动性等等。
可以针对与应用相关联的进程和/或服务中的每个,识别、确定和/或测量这样的度量。例如,可以以加权线性组合的方式对这些度量进行合计,以得出应用活动性分数。如果该应用活动性分数下降到给定的门限以下例如达设定数量的测量周期,则可以释放该唤醒锁。在释放相应的唤醒锁之前,可以在每一应用的基础上(例如,至少部分地基于该特定应用),来识别或者以别的方式确定被用于该测量间隔的值、应用活动性门限和/或应用活动性分数必须下降到该门限以下的测量间隔的数量。可以基于请求唤醒锁的应用,使用启发式算法来设置这样的值;例如,与银行应用的唤醒锁监控参数相比,音乐回放应用可以具有不同的唤醒锁监控参数。以该方式,预期不需要延长唤醒锁的应用可以具有相对更加积极的参数,所述更加积极的参数将更快速地释放唤醒锁,这有助于缓解两种形式的不适当的唤醒锁管理。释放不恰当地持有的唤醒锁可以导致显著的功率节省。
虽然用户空间唤醒锁当前仅仅存在于操作系统中,但是本发明的方面将可应用于允许用户空间应用控制系统功率状态的任何操作系统。
下列描述提供了例子,并非是对权利要求书中阐述的范围、适用性或者配置的限制。在不背离本公开内容的精神和范围的情况下,可以对讨论的要素的功能和排列进行改变。各个实施例可以酌情省略、替代或者添加各种过程或部件。例如,可以按照与描述的顺序不同的顺序来执行描述的方法,并且可以对各个步骤进行添加、省略或者组合。此外,关于某些实施例描述的特征可以被组合到其它实施例中。下列描述可互换地使用术语DTX和非连续传输。
首先转向图1,根据本公开内容的各个方面,示出了无线通信系统100的例子的框图。该无线通信系统100包括多个接入点(例如,基站、eNB或者WLAN接入点)105、多个无线通信设备或用户设备(UE)115和核心网130。接入点105中的一些接入点可以在基站控制器(未示出)的控制之下,与UE 115进行通信,其中在各个实施例中,基站控制器可以是核心网130或者某些接入点105(例如,基站或eNB)的一部分。接入点105中的一些接入点可以通过回程132,与核心网130传送控制信息和/或用户数据。在一些实施例中,接入点105中的一些接入点可以通过回程链路134直接地或者间接地与彼此进行通信,其中所述回程链路134可以是有线通信链路或者无线通信链路。无线通信系统100可以支持多个载波(不同频率的波形信号)上的操作。多载波发射机可以在所述多个载波上,同时地发送经调制的信号。例如,每个通信链路125可以是根据各种无线技术调制的多载波信号。每个经调制的信号可以在不同的载波上进行发送,并且可以携带控制信息(例如,参考信号、控制信道等等)、开销信息、数据等等。
接入点105可以经由一个或多个接入点天线,与UE 115进行无线地通信。接入点105中的每个接入点可以为各自的覆盖区域110提供通信覆盖。在一些实施例中,接入点105可以被称为基站、基站收发机(BTS)、无线基站、无线收发机、基本服务集(BSS)、扩展服务集(ESS)、节点B、演进型节点B(eNB)、家庭节点B、家庭演进型节点B、WLAN接入点、Wi-Fi节点或者某种其它适当的术语。可以将接入点的覆盖区域110划分成扇区(未示出),其中所述扇区只构成该覆盖区域的一部分。无线通信系统100可以包括不同类型的接入点105(例如,宏基站、微基站和/或微微基站)。接入点105还可以利用不同的无线技术,例如,蜂窝和/或WLAN无线接入技术。接入点105可以与相同的或者不同的接入网络或运营商部署相关联。不同的接入点105的覆盖区域(其包括相同的或者不同的类型的接入点105的覆盖区域,使用相同的或者不同的无线技术和/或属于相同的或者不同的接入网)可以交迭。
在一些实施例中,无线通信系统100可以包括LTE/LTE-A通信系统(或者网络),其中LTE/LTE-A通信系统可以支持一种或多种LTE-U操作模式或者部署场景。在其它实施例中,无线通信系统100可以使用免许可频谱和与LTE-U不同的接入技术来支持无线通信,或者使用经许可的频谱和与LTE/LTE-A不同的接入技术来支持无线通信。在LTE/LTE-A通信系统中,术语演进型节点B或者eNB通常可以被用于描述接入点105。无线通信系统100可以是异构的LTE/LTE-A/LTE-U网络,在其中,不同类型的eNB为各种地理区域提供覆盖。例如,每个eNB 105可以为宏小区、微微小区、毫微微小区和/或其它类型的小区提供通信覆盖。诸如微微小区、毫微微小区之类的小型小区和/或其它类型的小区可以包括低功率节点或者LPN。宏小区通常覆盖相对大的地理区域(例如,半径为若干千米),并且可以允许由与网络提供商具有服务订制的UE不受限制地接入。微微小区通常覆盖相对较小的地理区域,并且可以允许由与网络提供商具有服务订制的UE不受限制地接入。毫微微小区通常也覆盖相对小的地理区域(例如,住宅),并且除了不受限制的接入之外,还可以向与该毫微微小区具有关联的UE(例如,封闭用户组(CSG)中的UE、用于住宅中的用户的UE等等)提供受限制的接入。用于宏小区的eNB可以被称为宏eNB。用于微微小区的eNB可以被称为微微eNB。并且用于毫微微小区的eNB可以被称为毫微微eNB或家庭eNB。eNB可以支持一个或多个(例如,两个、三个、四个等等)小区。
核心网130可以经由回程132(例如,S1应用协议等等),与eNB 105进行通信。eNB105还可以经由回程链路134(例如,X2应用协议等等)和/或经由回程132(例如,通过核心网130),来例如直接地或者间接地与彼此进行通信。无线通信系统100可以支持同步操作或异步操作。对于同步操作而言,eNB可以具有类似的帧和/或门控时序,并且来自不同eNB的传输在时间上可以近似对齐。对于异步操作而言,eNB可以具有不同的帧和/或门控时序,并且来自不同eNB的传输在时间上可以不对齐。本文描述的技术可以被用于同步操作或者异步操作。
UE 115可以分散于整个无线通信系统100中,并且每个UE 115可以是固定的或者移动的。本领域的技术人员还可以将UE 115称为移动设备、移动站、用户站、移动单元、用户单元、无线单元、远程单元、无线通信设备、无线通信设备、远程设备、移动用户站、接入终端、移动终端、无线终端、远程终端、手持机、用户代理、移动客户端、客户端或者某种其它适当的术语。UE 115可以是蜂窝电话、个人数字助理(PDA)、无线调制解调器、无线通信设备、手持设备、平板计算机、膝上型计算机、无绳电话、诸如手表或者眼镜之类的可穿戴物品、无线本地环路(WLL)站等等。UE 115可能有能力与宏eNB、微微eNB、毫微微eNB、中继等等进行通信。UE 115还可能有能力通过诸如蜂窝或其它WWAN接入网或者WLAN接入网之类的不同的接入网进行通信。
无线通信系统100中示出的通信链路125可以包括用于携带上行链路(UL)传输(例如,从UE 115到eNB 105)的上行链路,和/或用于携带下行链路(DL)传输(例如,从eNB 105到UE 115)的下行链路。UL传输还可以被称为反向链路传输,而DL传输还可以被称为前向链路传输。
UE 115中的一个或多个UE可以被配置为:为在其上运行的应用实现唤醒锁。因此,即使当这样的UE 115没有与基站105中的一个或多个基站进行活动地通信时,也可以通过所持有的用于该UE 115上的应用的唤醒锁,来阻止该UE 115进入低功率状态(例如,空闲、暂停或者休眠模式或状态)。因此,可能期望对用于UE 115的唤醒锁进行管理以例如节省功率。
图2A示出了根据本公开内容的各个方面的被配置用于管理唤醒锁的无线通信设备115-a的框图200-a。在一些实施例中,无线通信设备115-a可以是参照图1描述的无线通信设备115的一个或多个方面的例子。无线通信设备115-a还可以是处理器。无线通信设备115-a可以包括接收机模块205、发射机模块210和/或无线通信管理模块215。这些部件中的每个部件可以与彼此相通信。
无线通信设备115-a的部件可以单独地或者共同地使用一个或多个专用集成电路(ASIC)来实现,其中所述一个或多个ASIC适于在硬件中执行可应用功能中的一些或者全部功能。替代地,这些功能可以由一个或多个集成电路上的一个或多个其它处理单元(或者内核)来执行。在其它实施例中,可以使用其它类型的集成电路(例如,结构化/平台ASIC、现场可编程门阵列(FPGA)和其它半定制IC),其中所述其它类型的集成电路可以用本领域中已知的任何方式来编程。每个单元的功能还可以整体地或者部分地利用指令来实现,其中所述指令被体现在存储器中,被格式化以由一个或多个通用或专用处理器来执行。
在一些实施例中,接收机模块205可以是或者包括无线接收机,例如,蜂窝接收机和/或无线局域网(WLAN)接收机。接收机模块205还可以包括一个以上的无线接收机。接收机模块205可以被用于通过一个或多个无线通信系统的一个或多个通信链路(例如,信道)(例如,参照图1描述的无线通信系统100的一个或多个通信链路125)来接收各种类型的数据和/或控制信号(即,传输)。
在一些实施例中,发射机模块210可以是或者包括无线发射机,例如,蜂窝发射机和/或WLAN发射机。发射机模块210还可以包括一个以上的无线发射机。发射机模块210可以被用于通过一个或多个无线通信系统的一个或多个通信链路(例如,信道)(例如,参照图1描述的无线通信系统100的一个或多个通信链路125)来发送各种类型的数据和/或控制信号(即,传输)。
在一些实施例中,无线通信管理模块215可以被用于管理无线通信设备115-a的无线通信。在一些情况下,对无线通信的管理可以包括如本文描述的对用于无线通信设备115-a上的应用的唤醒锁的管理。
图2B示出了根据本公开内容的各个方面的被配置用于管理唤醒锁的无线通信设备115-b的框图200-b。在一些实施例中,无线通信设备115-b可以是参照图1和/或图2A描述的无线通信设备115的一个或多个方面的例子。无线通信设备115-b还可以是处理器。无线通信设备115-b可以包括接收机模块205、无线通信管理模块215-a和/或发射机模块210。这些部件中的每个部件可以与彼此相通信。
无线通信设备115-b的部件可以单独地或者共同地使用一个或多个ASIC来实现,其中所述一个或多个ASIC适于在硬件中执行可应用功能中的一些或者全部功能。替代地,这些功能可以由一个或多个集成电路上的一个或多个其它处理单元(或者内核)来执行。在其它实施例中,可以使用其它类型的集成电路(例如,结构化/平台ASIC、FPGA和其它半定制IC),其中所述其它类型的集成电路可以用本领域中已知的任何方式来编程。每个单元的功能还可以整体地或者部分地利用指令来实现,其中所述指令被体现在存储器中,被格式化以由一个或多个通用或专用处理器来执行。
在一些实施例中,接收机模块205和发射机模块210可以类似于参照图2A描述的接收机模块205和发射机模块210来进行配置。
在一些实施例中,无线通信管理模块215-a可以是参照图2A描述的无线通信管理模块215的例子,并且可以包括唤醒锁管理模块220。这些部件中的每个部件可以与彼此相通信。
唤醒锁管理模块220可以被用于执行如本文描述的针对唤醒锁管理的各种操作。酌情或依照要求,唤醒锁管理模块220可以与无线通信管理模块215的其它部件协作地或者结合地来执行这样的操作。在一些实施例中,唤醒锁管理模块220可以被配置为监控一个应用(或者复数个应用)的活动性,并且使用所监控的活动性来确定是否释放所持有的用于该应用的唤醒锁(或者用于每个应用的相应的唤醒锁)。
例如,当在设备上持有用于应用的唤醒锁时,唤醒锁管理模块220可以对该应用的活动性进行监控。唤醒锁管理模块220可以确定该应用的活动性是否下降到特定门限以下达某个时间量(例如,达一个或多个监控间隔)。如果该应用的活动性下降到特定门限以下达某个时间量(例如,达期望数量的监控间隔),则唤醒锁管理模块220可以确定应当释放与该应用相关联的唤醒锁。随后,唤醒锁管理模块220可以自己释放该唤醒锁,或者指示/请求释放该唤醒锁。
图2C示出了根据本公开内容的各个方面的被配置用于管理唤醒锁的无线通信设备115-c的框图200-c。在一些实施例中,无线通信设备115-c可以是参照图1、图2A和/或图2B描述的无线通信设备115的一个或多个方面的例子。无线通信设备115-c还可以是处理器。无线通信设备115-c可以包括接收机模块205、无线通信管理模块215-b和/或发射机模块210。这些部件中的每个部件可以与彼此相通信。
无线通信设备115-c的部件可以单独地或者共同地使用一个或多个ASIC来实现,其中所述一个或多个ASIC适于在硬件中执行可应用功能中的一些或者全部功能。替代地,这些功能可以由一个或多个集成电路上的一个或多个其它处理单元(或者内核)来执行。在其它实施例中,可以使用其它类型的集成电路(例如,结构化/平台ASIC、FPGA和其它半定制IC),其中所述其它类型的集成电路可以用本领域中已知的任何方式来编程。每个单元的功能还可以整体地或者部分地利用指令来实现,其中所述指令被体现在存储器中,被格式化以由一个或多个通用或专用处理器来执行。
在一些实施例中,接收机模块205和发射机模块210可以类似于参照图2A描述的接收机模块205和发射机模块210来进行配置。
在一些实施例中,无线通信管理模块215-b可以是参照图2A和/或图2B描述的无线通信管理模块215的例子,并且可以包括唤醒锁管理模块220、计数器模块225和/或监控模块230。这些部件中的每个部件可以与彼此相通信。
唤醒锁管理模块220可以是参照图2B描述的唤醒锁管理模块220的例子,并且可以被用于管理用于设备115-c上的应用的一个或多个唤醒锁。因此,唤醒锁管理模块220可以被用于执行如本文描述的针对唤醒锁管理的各种操作。酌情或依照要求,唤醒锁管理模块220可以与无线通信管理模块215-b的其它部件协作地或者结合地来执行这样的操作。在一些实施例中,无线通信管理模块215-b可以包括计数器模块225和/或监控模块230。
监控模块230可以被配置为监控持有唤醒锁(或者数个唤醒锁)的应用(或者复数个应用)的活动性。监控模块230可以向唤醒锁管理模块220提供关于该应用的活动性的信息,使得唤醒锁管理模块220可以使用所监控的活动性来确定是否释放持有的用于该应用的唤醒锁。
计数器模块225可以被配置为跟踪在其期间该应用的活动性下降到特定门限以下的监控间隔的数量。例如,唤醒锁管理模块220可以确定该应用的活动性下降到该门限以下达特定的监控间隔,则可以对计数器进行递增。如果在递增之后计数器的值等于监控间隔的期望数量,则唤醒锁管理模块220可以确定应当释放用于该应用的唤醒锁。因此,当监控间隔的期望数量大于一时,该期望数量可以指示在其期间该应用的活动性下降到该门限以下的连续的监控间隔的数量,以便唤醒锁管理模块220确定应当释放用于该应用的唤醒锁。
图2D示出了根据本公开内容的各个方面的被配置用于管理唤醒锁的无线通信设备115-d的框图200-d。在一些实施例中,无线通信设备115-d可以是参照图1、图2A、图2B和/或图2C描述的无线通信设备115的一个或多个方面的例子。无线通信设备115-d还可以是处理器。无线通信设备115-d可以包括接收机模块205、无线通信管理模块215-c和/或发射机模块210。这些部件中的每个部件可以与彼此相通信。
无线通信设备115-d的部件可以单独地或者共同地使用一个或多个ASIC来实现,其中所述一个或多个ASIC适于在硬件中执行可应用功能中的一些或者全部功能。替代地,这些功能可以由一个或多个集成电路上的一个或多个其它处理单元(或者内核)来执行。在其它实施例中,可以使用其它类型的集成电路(例如,结构化/平台ASIC、FPGA和其它半定制IC),其中所述其它类型的集成电路可以用本领域中已知的任何方式来编程。每个单元的功能还可以整体地或者部分地利用指令来实现,其中所述指令被体现在存储器中,被格式化以由一个或多个通用或专用处理器来执行。
在一些实施例中,接收机模块205和发射机模块210可以类似于参照图2A描述的接收机模块205和发射机模块210来进行配置。
在一些实施例中,无线通信管理模块215-c可以是参照图2A和/或图2B描述的无线通信管理模块215的例子,并且可以包括唤醒锁管理模块220-a、计数器模块225-a和/或监控模块230。这些部件中的每个部件可以与彼此相通信。
唤醒锁管理模块220-a可以是参照图2B和/或图2C描述的唤醒锁管理模块220的例子,并且可以被用于管理用于设备115-d上的应用的一个或多个唤醒锁。因此,唤醒锁管理模块220-a可以被用于执行如本文描述的针对唤醒锁管理的各种操作。酌情或依照要求,唤醒锁管理模块220-a可以与无线通信管理模块215-c的其它部件协作地或者结合地来执行这样的操作。
在一些实施例中,唤醒锁管理模块220-a可以包括唤醒锁确定模块235、度量模块240和/或间隔/门限确定模块245。唤醒锁确定模块235可以被配置为确定是否释放持有的用于设备115-d上的应用的唤醒锁。度量模块240可以被配置为识别与该应用的活动性有关的一个或多个度量。例如,度量模块240可以被配置为识别与下列各项中的一项或多项相对应的度量:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与该应用相关联的服务持有的内核唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。在一些实施例中,度量模块240(或者唤醒锁管理模块220-a或者无线通信管理模块215-c)可以被配置为至少部分地基于该应用(例如,其属性、其操作/功能、其类型或者类别等等)来识别这些度量。度量模块240可以被配置为识别针对与该应用相关联的每个进程和/或每个服务的至少一个度量。
间隔/门限确定模块245可以被配置为识别或者以别的方式确定用于所监控的该应用的活动性的门限值。在一些实施例中,可以至少部分地基于该应用(例如,其属性、其操作/功能、其类型或者类别等等)来确定该门限值。替代地或另外地,间隔/门限确定模块245可以被配置为识别或者以别的方式确定用于该应用的监控间隔。在一些实施例中,还可以至少部分地基于该应用来确定该监控间隔。间隔/门限确定模块245还可以被配置为识别或者以别的方式确定在其期间该应用的活动性下降到特定门限以下的监控间隔的数量,其指示应当释放该唤醒锁。监控间隔的数量还可以至少部分地基于该应用来确定,并且可以是如上所述的连续的监控间隔的数量。
计数器模块225-a可以是参照图2C描述的计数器模块225的例子,并且可以被用于跟踪在其期间该应用的活动性下降到特定门限以下的监控间隔的数量。计数器模块225-a可以包括计数器控制器250和/或计数器255。
监控模块230可以是参照图2C描述的监控模块230的例子,并且可以被配置为对持有唤醒锁(或者数个唤醒锁)的应用(或者复数个应用)的活动性进行监控。监控模块230可以向度量模块240提供关于该应用的活动性的信息。度量模块240可以使用所提供的关于该应用的活动性的信息来生成一个或多个度量。在一些实施例中,度量模块240可以被配置为生成多个度量。在这样的情况下,度量模块240可以被配置为对多个度量进行合计,以获得针对当前监控间隔的该应用的活动性分数。例如,可以以加权线性组合的方式对多个度量进行合计。度量模块240可以针对每个监控间隔,生成活动性分数。唤醒锁确定模块235(或者唤醒锁管理模块220-a)可以将该活动性分数与门限进行比较,并且如果在所确定数量的监控间隔期间,活动性分数小于该门限,则唤醒锁确定模块235可以确定应当释放用于该应用的唤醒锁。
为了确定在所确定数量的监控间隔期间,活动性分数是否小于该门限,每当在当前监控间隔期间的活动性分数小于该门限时,唤醒锁确定模块235就可以指示计数器控制器250对计数器255进行递增。如果在当前监控间隔期间,活动性分数不小于该门限,则唤醒锁确定模块235可以指示计数器控制器250对计数器255进行重置。可以将计数器255的值提供给唤醒锁确定模块235,或者由唤醒锁确定模块235来获得该值,唤醒锁确定模块235可以将该计数器值与所确定的监控间隔的数量进行比较。如果计数器值等于所确定的监控间隔的数量,则唤醒锁确定模块235可以确定应当释放用于该应用的唤醒锁。
替代地,可能的是,度量模块240生成多个度量而无需对度量进行合计。在这样的情况下,每个度量可以具有要进行比较的相应的门限值。唤醒锁确定模块235可以进行适当的比较,并且可以使用比较的结果来确定是否应当释放该唤醒锁。例如,如果在当前监控间隔期间、在所确定数量的监控间隔期间、或者在所确定数量的连续监控间隔期间,度量中的所有度量、某个数量的度量或者某个百分比的度量小于相应的门限,则唤醒锁确定模块235可以确定应当释放该唤醒锁。
图3示出了根据本公开内容的各个方面的被配置用于管理唤醒锁的无线通信设备115-e的框图300。无线通信设备115-e可以具有各种配置,并且可以被包括在下列各项中或者是下列各项的部分:个人计算机(例如,膝上型计算机、上网本计算机、平板计算机等等)、蜂窝电话、PDA、数字视频录像机(DVR)、互联网家电、游戏控制台、电子阅读器等等。在一些情况下,无线通信设备115-e可以具有诸如小型电池之类的内部电源(未示出),以有助于移动操作。在一些实施例中,无线通信设备115-e可以是参照图1、图2A、图2B、图2C和/或图2D描述的无线通信设备115中的一个无线通信设备的一个或多个方面的例子。无线通信设备115-e可以被配置为实现参照图1、图2A、图2B、图2C和/或图2D描述的特征和功能中的至少一些。无线通信设备115-e可以被配置为与参照图1描述的基站/接入点105中的一个或多个进行通信。
无线通信设备115-e可以包括至少一个天线(其用天线305来表示)、至少一个收发机模块(其用收发机模块310来表示)、无线通信管理模块315、处理器模块320和/或存储器模块325。无线通信设备115-e还可以包括唤醒锁管理模块335、计数器340和/或定时器345。这些部件中的每个部件可以通过一个或多个总线350来直接地或者间接地与彼此相通信。
存储器模块325可以包括随机存取存储器(RAM)和/或只读存储器(ROM)。存储器模块325可以存储包含指令的计算机可读的、计算机可执行的软件(SW)代码330,其中所述指令被配置为:当被执行时,使处理器模块320执行本文描述的用于管理唤醒锁的各种功能。替代地,软件代码330可以不由处理器模块320直接地可执行,而是被配置为(例如,当被编译和执行时)使无线通信设备115-e执行本文描述的各种功能。
处理器模块320可以包括智能硬件设备,例如,CPU、微控制器、ASIC等等。处理器模块320可以处理通过收发机模块310接收的信息,和/或处理要发送给收发机模块310以经由天线305进行发送的信息。处理器模块320可以单独地或者结合无线通信管理模块315、唤醒锁管理模块335、计数器340和/或定时器345,来处理如本文描述的管理唤醒锁的各个方面。
收发机模块310可以包括调制解调器,所述调制解调器被配置为对分组进行调制,并且将经调制的分组提供给天线305以进行发送,以及对从天线305接收的分组进行解调。在一些情况下,收发机模块310可以被实现为一个或多个发射机模块和一个或多个单独的接收机模块。收发机模块310可以被配置为经由天线305,与一个或多个接入点105或者其它设备进行双向地通信。虽然无线通信设备115-e可以包括单一天线305,但是可以存在无线通信设备115-e可以包括多个天线305的实施例。
无线通信管理模块315和/或唤醒锁管理模块335可以被配置为执行和/或控制参照图2B、图2C和/或图2D描述的模块中的一些或者全部模块,并且与用于无线通信设备115-e的唤醒锁管理有关。无线通信管理模块315和/或唤醒锁管理模块335或者其部分可以包括处理器,和/或无线通信管理模块315和/或唤醒锁管理模块335的功能中的一些或者全部功能可以由处理器模块320来执行,和/或结合处理器模块320来执行。计数器340可以专用于唤醒锁管理操作,或者可以是可用于多种用途的无线通信设备115-e的若干计数器中的一个计数器。定时器345可以被用于执行所期望的监控间隔。在一些实施例中,定时器345可以通过无线通信设备115-e的内部时钟来实现。
图4是示出了根据本公开内容的各个方面的用于管理唤醒锁的方法400的例子的流程图。为了清楚起见,下文参照关于图1、图2A、图2B、图2C、图2D和/或图3描述的无线通信设备115中的一个或多个无线通信设备的方面来描述方法400。在一些实施例中,诸如无线通信设备115中的一个无线通信设备之类的无线设备可以执行一个或多个代码集,以控制该无线通信设备115的功能单元来执行下文描述的功能。
在框405处,可以监控无线通信设备115上的持有的唤醒锁所针对的应用的活动性。这样的监控可以例如在用于该应用的唤醒锁被创立时开始。框405处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或监控模块230来执行。
在框410处,是否释放唤醒锁可以是使用所监控的该应用的活动性来确定的。例如,如果所监控的该应用的活动性小于门限,则无线通信设备115可以确定应当释放与该应用相关联的唤醒锁。框410处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或唤醒锁确定模块235来执行。
因此,方法400可以提供对无线通信设备中的唤醒锁的管理。应当注意到的是,方法400仅仅是一种实现方式,并且可以对方法400的操作进行重新排列或者以别的方式进行修改,使得其它实现方式也是可行的。
图5是示出了根据本公开内容的各个方面的用于管理唤醒锁的方法500的例子的流程图。为了清楚起见,下文参照关于图1、图2A、图2B、图2C、图2D和/或图3描述的无线通信设备115中的一个或多个无线通信设备的方面来描述方法500。在一些实施例中,诸如无线通信设备115中的一个无线通信设备之类的无线设备可以执行一个或多个代码集,以控制该无线通信设备115的功能单元来执行下文描述的功能。
在框505处,可以监控持有唤醒锁的应用的活动性。如上文,框505处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或监控模块230来执行。
在框510处,可以识别与该应用的活动性有关的至少一个度量。如上所述,这些度量可以对应于下列各项中的一项或多项:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与该应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。可以针对与该应用相关联的每个进程和/或服务,来识别一个或多个度量。框510处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或度量模块240来执行。
在框515处,可以将与该应用的活动性有关的至少一个度量与门限进行比较。如上所述,该门限可以是至少部分地基于该应用的。在一些实施例中,可以识别或者以别的方式确定与多个度量相对应的多个门限。在这样的实施例中,可以将每个度量的值与相应的门限进行比较。框515处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或唤醒锁确定模块235来执行。
在框520处,是否释放唤醒锁可以使用比较的结果来确定。单一度量的情况是简单明了的,如果该单一度量小于门限,则无线通信设备115可以确定应当释放与该应用相关联的唤醒锁。对于多个度量的情况,酌情或者依照要求,如果度量中的一个度量、度量中的一些度量或者度量中的所有度量小于门限,则无线通信设备115可以确定应当释放与该应用相关联的唤醒锁。框520处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或唤醒锁确定模块235来执行。
因此,方法500可以提供对无线通信设备中的唤醒锁的管理。应当注意到的是,方法500仅仅是一种实现方式,并且可以对方法500的操作进行重新排列或者以别的方式进行修改,使得其它实现方式也是可行的。
图6是示出了根据本公开内容的各个方面的用于管理唤醒锁的方法600的例子的流程图。为了清楚起见,下文参照关于图1、图2A、图2B、图2C、图2D和/或图3描述的无线通信设备115中的一个或多个无线通信设备的方面来描述方法600。在一些实施例中,诸如无线通信设备115中的一个无线通信设备之类的无线设备可以执行一个或多个代码集,以控制该无线通信设备115的功能单元来执行下文描述的功能。
在框605处,可以监控持有唤醒锁的应用的活动性。如上文,框605处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或监控模块230来执行。
在框610处,可以识别与该应用的活动性有关的多个度量。如上所述,这些度量可以对应于下列各项中的一项或多项:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与该应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。可以针对与该应用相关联的每个进程和/或服务,来识别一个或多个度量。框610处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或度量模块240来执行。
在框615处,可以将与该应用的活动性有关的度量进行合计,以生成或者以别的方式获得活动性分数。如上所述,该合计可以是多个度量的加权线性组合。框615处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235和/或度量模块240来执行。
在框620处,可以将该应用的活动性分数与门限进行比较。如上所述,该门限可以是至少部分地基于该应用的。框620处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235和/或度量模块240来执行。
在框625处,是否释放唤醒锁可以使用比较的结果来确定。如果活动性分数小于门限,则无线通信设备115可以确定应当释放与该应用相关联的唤醒锁。框625处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或唤醒锁确定模块235来执行。
因此,方法600可以提供对无线通信设备中的唤醒锁的管理。应当注意到的是,方法600仅仅是一种实现方式,并且可以对方法600的操作进行重新排列或者以别的方式进行修改,使得其它实现方式也是可行的。
图7是示出了根据本公开内容的各个方面的用于管理唤醒锁的方法700的例子的流程图。为了清楚起见,下文参照关于图1、图2A、图2B、图2C、图2D和/或图3描述的无线通信设备115中的一个或多个无线通信设备的方面来描述方法700。在一些实施例中,诸如无线通信设备115中的一个无线通信设备之类的无线设备可以执行一个或多个代码集,以控制该无线通信设备115的功能单元来执行下文描述的功能。
在框705处,可以识别或者以别的方式确定持有唤醒锁的应用。酌情或者依照要求,该操作可以在唤醒锁被创立时执行,或者在该应用请求唤醒锁时执行。框705处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或间隔/门限确定模块245来执行。
在框710处,可以识别或者以别的方式确定监控间隔。如上所述,该监控间隔可以是至少部分地基于该应用的。酌情或者依照要求,该操作可以在唤醒锁被创立时执行,或者在该应用请求唤醒锁时执行。框710处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或间隔/门限确定模块245来执行。替代地,例如,如果监控间隔是预先确定的或者预先设置的,则可以省略框710处的操作。
在框715处,可以识别或者以别的方式确定门限。如上所述,该门限还可以是至少部分地基于该应用的。酌情或者依照要求,该操作可以在该唤醒锁被创立时执行,或者在该应用请求唤醒锁时执行。框715处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或间隔/门限确定模块245来执行。替代地,例如,如果该门限是预先确定的或者预先设置的,则可以省略框715处的操作。
在框720处,在其期间该应用的活动性(或者相应的表示)下降到门限以下的监控间隔的数量可以指示应当释放唤醒锁,可以被识别或者以别的方式来确定。如上所述,监控间隔的数量可以是至少部分地基于该应用的。酌情或者依照要求,该操作还可以在该唤醒锁被创立时执行,或者在该应用请求唤醒锁时执行。框720处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或间隔/门限确定模块245来执行。替代地,例如,如果监控间隔的数量是预先确定的或者预先设置的,则可以省略框720处的操作。
在框725处,可以识别与该应用的活动性有关的多个度量。如上所述,这些度量可以对应于下列各项中的一项或多项:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与该应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。可以针对与该应用相关联的每个进程和/或服务,来识别一个或多个度量。酌情或者依照要求,该操作还可以在该唤醒锁被创立时执行,或者在该应用请求唤醒锁时执行。框725处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或度量模块240来执行。替代地,例如,如果要被用于管理唤醒锁的度量是预先确定的或者预先设置的,则可以省略框725处的操作。
在框730处,可以监控持有唤醒锁的应用的活动性。框730处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335和/或监控模块230来执行。
在框735处,活动性分数可以使用所监控的度量来生成、确定或者以别的方式获得。在一些实施例中,该活动性分数可以通过对监控的度量进行合计来获得。如上所述,该合计可以是所监控的度量的加权线性组合。框735处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235和/或度量模块240来执行。
在框740处,可以将该应用的活动性分数与所确定的门限进行比较。框740处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235和/或度量模块240来执行。
在框745处,可以确定活动性分数是否小于所确定的门限。如果不小于,则该方法可以继续到框750,在框750处可以对计数器进行重置。其后,该方法可以返回到框730,以继续对该应用的活动性进行监控。框750处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235、计数器模块225、计数器控制器250和/或计数器255/340来执行。
如果活动性分数小于所确定的门限,则该方法可以跳到框755,在框755处可以对计数器进行递增。框755处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235、计数器模块225、计数器控制器250和/或计数器255/340来执行。
随后,在框760处,可以确定计数器的当前值(如在框755处递增的)是否等于所识别的监控间隔的数量。虽然未示出,但是可以发生比较操作以实现该确定。如果计数器的值不等于所识别的监控间隔的数量,则该方法可以返回到框730,以继续对该应用的活动性进行监控。框760处的操作可以由参照图2A、图2B、图2C、图2D和/或图3描述的无线通信管理模块215/315、唤醒锁管理模块220/335、唤醒锁确定模块235、计数器模块225、计数器控制器250和/或计数器255/340来执行。
如果计数器的值等于所识别的监控间隔的数量,则该方法可以继续到框765,在框765处可以释放该唤醒锁。因此,是否释放唤醒锁的确定可以是至少部分地基于该计数器的值是否等于所识别的监控间隔的数量的。在该例子中,由于仅仅当该应用的活动性分数不小于门限时(例如,该应用在监控间隔期间是足够活动的),才对计数器进行重置,并且对该应用的活动性的监控继续进行,直到计数器的值等于所识别的监控间隔的数量为止(除非该方法以别的方式被终止),因此在所识别数量的连续监控间隔期间,活动性分数小于所识别的门限,以释放该唤醒锁。
因此,方法700可以提供对无线通信设备中的唤醒锁的管理。应当注意到的是,方法700仅仅是一种实现方式,并且可以对方法700的操作进行重新排列或者以别的方式进行修改,使得其它实现方式也是可行的。虽然在图7中未示出,但是如果由于不同于方法700的到达框765的任何原因而释放了唤醒锁,则可以实现适当的机制,以针对给定的应用来中断该方法。
上文结合附图阐述的具体实施方式描述了示例性的实施例,并非表示可以被实现的或者在权利要求书的范围之内的仅有实施例。贯穿本描述使用的术语“示例性的”意指“充当例子、实例或说明”,并非意指“优选的”或者“比其它实施例有优势”。具体实施方式包括出于提供所描述的技术的理解的具体细节。但是,这些技术可以在没有这些具体细节的情况下实践。在一些实例中,为了避免对所描述的实施例的概念造成模糊,以框图形式示出了公知的结构和设备。
信息和信号可以使用各种各样不同的技术和工艺中的任何一种来表示。例如,贯穿上文描述提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
本文描述的技术可以被用于各种无线通信系统,例如,CDMA、TDMA、FDMA、OFDMA、SC-FDMA和其它系统。术语“系统”和“网络”经常可互换地使用。CDMA系统可以实现诸如CDMA2000、通用陆地无线接入(UTRA)等等之类的无线技术。CDMA2000覆盖IS-2000、IS-95和IS-856标准。IS-2000版本0和A通常被称为CDMA 2000 1X、1X等等。IS-856(TIA-856)通常被称为CDMA 2000 1xEV-DO、高速分组数据(HRPD)等等。UTRA包括宽带CDMA(WCDMA)和CDMA的其它变形。TDMA系统可以实现诸如全球移动通信系统(GSM)之类的无线技术。OFDMA系统可以实现诸如超移动宽带(UMB)、演进型UTRA(E-UTRA)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、闪速-OFDM等等之类的无线技术。UTRA和E-UTRA是通用移动电信系统(UMTS)的一部分。3GPP长期演进(LTE)和改进的LTE(LTE-A)是UMTS的使用E-UTRA的新版本。在来自名称为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了UTRA、E-UTRA、UMTS、LTE、LTE-A和GSM。在来自名称为“第三代合作伙伴计划2”(3GPP2)的组织的文档中描述了CDMA2000和UMB。本文描述的技术可以被用于上文提及的系统和无线技术以及其它系统和无线技术。但是,上文的描述出于例子的目的而描述了LTE系统,并且在上文的描述的大部分内容中使用了LTE术语,但是这些技术可应用于LTE应用之外。
结合本文公开内容描述的各种说明性的框和模块可以利用被设计为执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件部件或者其任意组合来实现或执行。通用处理器可以是微处理器,但是在替代方案中,该处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、结合DSP内核的一个或多个微处理器、或者任何其它这样的配置。
本文描述的功能可以用硬件、由处理器执行的软件、固件或者其任意组合来实现。如果用由处理器执行的软件来实现,则功能可以被存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码进行传输。其它例子和实现方式在本公开内容和所附权利要求书的范围和精神之内。例如,由于软件的性质,上文描述的功能可以使用由处理器执行的软件、硬件、固件、硬连线或者这些中的任意的组合来实现。用于实现功能的特征还可以物理地位于多个位置,其包括被分布使得功能的部分被实现在不同的物理位置处。此外,如本文(包括在权利要求书中)使用的,如在以“中的至少一个”为引语的项目的列表中使用的“或”指示分离的列表,使得例如,“A、B或C中的至少一个”的列表意指A、或B、或C、或AB、或AC、或BC或ABC(即,A和B和C)。
计算机可读介质包括计算机存储介质和通信介质二者,其中所述通信介质包括有助于计算机程序从一个地方向另一个地方传送的任何介质。存储介质可以是能够由通用或专用计算机存取的任何可用的介质。通过例子而非限制的方式,计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者能够被用于携带或存储具有指令或数据结构形式的期望的程序代码单元并且能够由通用或专用计算机、或者通用或专用处理器存取的任何其它介质。此外,可以将任何连接适当地称作计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术被包括在介质的定义中。如本文使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也被包括在计算机可读介质的范围之内。
提供本公开内容的先前描述,以使得本领域的技术人员能够实现或者使用本公开内容。对于本领域的技术人员来说,对本公开内容的各种修改将是显而易见的,并且本文定义的一般性原理在不背离本公开内容的精神或范围的情况下可以被应用于其它变型。贯穿本公开内容,术语“例子”或者“示例性的”指示例子或者实例,并非暗示或者需要所提到的例子的任何偏好。因此,本公开内容不被限制到本文描述的例子和设计,而是要被授予与本文公开的原理和新颖性特征相一致的最宽的范围。
Claims (21)
1.一种用于管理无线通信设备中的唤醒锁的方法,包括:
监控所述无线通信设备上持有的唤醒锁所针对的应用的活动性;
识别与所述应用的所述活动性有关的多个度量;
对所识别的多个度量进行合计,以获得活动性分数;
将所获得的活动性分数与门限值进行比较;
至少部分地基于所述比较的结果来确定是否释放所述唤醒锁。
2.根据权利要求1所述的方法,其中,识别所述多个度量包括:
识别针对与所述应用相关联的每个进程的至少一个度量。
3.根据权利要求1所述的方法,其中,识别所述多个度量包括:
识别针对与所述应用相关联的每个服务的至少一个度量。
4.根据权利要求1所述的方法,其中,所述识别与所述应用的所述活动性有关的所述多个度量包括:
使用从包括以下各项的组中选择的至少一项:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与所述应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。
5.根据权利要求1所述的方法,其中,所述对所述多个度量进行合计,以获得所述活动性分数包括:
以加权线性组合的方式对所识别的多个度量进行合计。
6.根据权利要求1所述的方法,还包括:
至少部分地基于所述应用来识别监控间隔、具有所述活动性分数低于门限值的监控间隔的数量、所述门限值或者其组合。
7.根据权利要求1所述的方法,还包括:
至少部分地基于所述应用来识别所述门限值。
8.根据权利要求1所述的方法,还包括:
识别具有所述活动性分数低于所述门限值的监控间隔的数量。
9.根据权利要求8所述的方法,还包括:
当在所识别的数量的监控间隔期间所述活动性分数低于所述门限值时,释放所述唤醒锁。
10.根据权利要求8所述的方法,其中,所述识别监控间隔的数量是至少部分地基于所述应用的。
11.一种用于管理唤醒锁的装置,包括:
用于监控无线通信设备上持有的唤醒锁所针对的应用的活动性的单元;
用于识别与所述应用的所述活动性有关的多个度量的单元;
用于对所识别的多个度量进行合计,以获得活动性分数的单元;
用于将所获得的活动性分数与门限值进行比较的单元;以及
用于至少部分地基于所述比较的结果来确定是否释放所述唤醒锁的单元。
12.根据权利要求11所述的装置,其中,用于识别与所述应用的所述活动性有关的所述多个度量的单元使用从包括以下各项的组中选择的至少一项:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与所述应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。
13.根据权利要求11所述的装置,其中,用于对所述多个度量进行合计以获得所述活动性分数的单元包括:
用于以加权线性组合的方式对所识别的多个度量进行合计的单元。
14.根据权利要求11所述的装置,还包括:
用于至少部分地基于所述应用来识别监控间隔、具有所述活动性分数低于所述门限值的监控间隔的数量、所述门限值或者其组合的单元。
15.根据权利要求11所述的装置,还包括:
用于识别具有所述活动性分数低于所述门限值的监控间隔的数量的单元;以及
用于当在所识别的数量的监控间隔期间所述活动性分数低于所述门限值时,释放所述唤醒锁的单元。
16.一种用于管理唤醒锁的设备,包括:
处理器;
存储器,其与所述处理器电子通信;以及
指令,其被存储在所述存储器中,所述指令可由所述处理器执行以进行以下操作:
监控无线通信设备上持有的唤醒锁所针对的应用的活动性;
识别与所述应用的所述活动性有关的多个度量;
对所识别的多个度量进行合计,以获得活动性分数;
将所获得的活动性分数与门限值进行比较;以及
至少部分地基于所述比较的结果来确定是否释放所述唤醒锁。
17.根据权利要求16所述的设备,其中,所述可由所述处理器执行以识别与所述应用的所述活动性有关的所述多个度量的指令使用从包括以下各项的组中选择的至少一项:处理器使用/负载;进程运行时间;服务运行时间;进程的数量;服务的数量;由与所述应用相关联的服务持有的内核空间唤醒锁的实例;屏幕状态;磁盘活动性;网络活动性;存储器使用/活动性;以及传感器使用。
18.根据权利要求16所述的设备,其中,所述可由所述处理器执行以对所识别的多个度量进行合计以获得所述活动性分数的指令可由所述处理器执行以进行以下操作:
以加权线性组合的方式对所识别的多个度量进行合计。
19.根据权利要求16所述的设备,其中,所述指令可由所述处理器执行以进行以下操作:
至少部分地基于所述应用来识别监控间隔、具有所述活动性分数低于所述门限值的监控间隔的数量、所述门限值或者其组合。
20.根据权利要求16所述的设备,其中,所述指令可由所述处理器执行以进行以下操作:
识别具有所述活动性分数低于所述门限值的监控间隔的数量;以及
当在所识别的数量的监控间隔期间所述活动性分数低于所述门限值时,释放所述唤醒锁。
21.一种存储指令的非暂时性计算机可读介质,所述指令可由处理器执行以进行以下操作:
监控无线通信设备上持有的唤醒锁所针对的应用的活动性;
识别与所述应用的所述活动性有关的多个度量;
对所识别的多个度量进行合计,以获得活动性分数;
将所获得的活动性分数与门限值进行比较;以及
至少部分地基于所述比较的结果来确定是否释放所述唤醒锁。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/185,852 | 2014-02-20 | ||
US14/185,852 US9841802B2 (en) | 2014-02-20 | 2014-02-20 | Wake lock management through application monitoring |
PCT/US2015/014965 WO2015126647A1 (en) | 2014-02-20 | 2015-02-09 | Wake lock management through application monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106063337A CN106063337A (zh) | 2016-10-26 |
CN106063337B true CN106063337B (zh) | 2019-10-18 |
Family
ID=52573734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580009222.2A Active CN106063337B (zh) | 2014-02-20 | 2015-02-09 | 通过应用监控的唤醒锁管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9841802B2 (zh) |
EP (1) | EP3108702B1 (zh) |
JP (1) | JP6416273B2 (zh) |
KR (1) | KR101870551B1 (zh) |
CN (1) | CN106063337B (zh) |
WO (1) | WO2015126647A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102217336B1 (ko) * | 2014-04-22 | 2021-02-19 | 엘지전자 주식회사 | 이동단말기 제어방법 |
JP5866500B1 (ja) * | 2014-08-29 | 2016-02-17 | パナソニックIpマネジメント株式会社 | 取引端末装置 |
CN105700656B (zh) * | 2014-11-26 | 2020-02-28 | 深圳富泰宏精密工业有限公司 | 待机异常耗电侦测系统及方法 |
JP6639665B2 (ja) * | 2015-10-29 | 2020-02-05 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 端末ベースのウェイクロック制御の方法、装置及び端末 |
CN105530377B (zh) * | 2015-12-14 | 2019-03-15 | Oppo广东移动通信有限公司 | 一种唤醒锁的处理方法、装置及系统 |
US20170300104A1 (en) * | 2016-04-17 | 2017-10-19 | Mediatek Inc. | Power-saving method and an electronic device for performing power consumption management |
US10345883B2 (en) * | 2016-05-31 | 2019-07-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Power estimation |
CN106055073B (zh) * | 2016-05-31 | 2019-02-26 | Oppo广东移动通信有限公司 | 一种基于亮屏锁的处理方法和装置 |
US10095305B2 (en) * | 2016-06-18 | 2018-10-09 | Qualcomm Incorporated | Wake lock aware system wide job scheduling for energy efficiency on mobile devices |
US10517021B2 (en) | 2016-06-30 | 2019-12-24 | Evolve Cellular Inc. | Long term evolution-primary WiFi (LTE-PW) |
CN108268116B (zh) * | 2017-01-03 | 2022-06-07 | 中兴通讯股份有限公司 | 一种解决移动终端异常耗电的方法、装置及移动终端 |
US10386911B2 (en) | 2017-04-07 | 2019-08-20 | International Business Machines Corporation | Screen turn off override control |
JP6911566B2 (ja) * | 2017-06-21 | 2021-07-28 | 株式会社リコー | 情報処理装置、制限解除方法及び制限解除プログラム |
CN107231434A (zh) * | 2017-07-10 | 2017-10-03 | 北京小米移动软件有限公司 | 终端设备的控制方法及装置 |
CN107547742B (zh) * | 2017-08-30 | 2020-10-02 | 深圳辉烨物联科技有限公司 | 一种用于移动终端的唤醒锁释放方法和装置 |
CN108008979B (zh) * | 2017-11-28 | 2021-10-22 | 深圳天珑无线科技有限公司 | 终端唤醒的管理方法及其终端、存储介质 |
US20200151010A1 (en) * | 2018-11-10 | 2020-05-14 | Nutanix, Inc. | Scheduling of fixed number of non-sharable resources |
CN110837290A (zh) * | 2019-09-30 | 2020-02-25 | 华为终端有限公司 | 一种内核锁的管理方法及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510422A (zh) * | 2011-10-09 | 2012-06-20 | 惠州Tcl移动通信有限公司 | 一种移动终端及其调节运行负荷的方法 |
CN103402027A (zh) * | 2013-07-29 | 2013-11-20 | 广东欧珀移动通信有限公司 | 一种移动终端和使移动终端进入睡眠状态的方法 |
US8612786B1 (en) * | 2010-09-24 | 2013-12-17 | Amazon Technologies, Inc. | Deep idle mode |
CN103475790A (zh) * | 2013-09-06 | 2013-12-25 | 中国科学院计算技术研究所 | 一种智能移动终端功耗管理方法 |
US8850251B1 (en) * | 2011-01-19 | 2014-09-30 | Intellectual Ventures Fund 79 Llc | Methods, devices, and mediums associated with controlling a power mode |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416726A (en) * | 1992-10-06 | 1995-05-16 | Microsoft Corporation | Method and system for placing a computer in a reduced power state |
US6845503B1 (en) * | 1999-08-13 | 2005-01-18 | Sun Microsystems, Inc. | System and method for enabling atomic class loading in an application server environment |
US20060246924A1 (en) * | 2005-05-02 | 2006-11-02 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for controlling paging delays of mobile stations in a wireless communication network |
US20110040989A1 (en) | 2009-06-22 | 2011-02-17 | David Keyes Keyes | Systems and methods for managing power consumption of mobile computing devices |
US8538484B2 (en) * | 2009-08-14 | 2013-09-17 | Google Inc. | Providing a user with feedback regarding power consumption in battery-operated electronic devices |
US8280456B2 (en) | 2009-08-14 | 2012-10-02 | Google Inc. | Providing a user with feedback regarding power consumption in battery-operated electronic devices |
US9043797B2 (en) * | 2010-10-26 | 2015-05-26 | Qualcomm Incorporated | Using pause on an electronic device to manage resources |
US10013511B2 (en) | 2012-04-09 | 2018-07-03 | Purdue Research Foundation | System and method for energy usage accounting in software applications |
KR20130131959A (ko) | 2012-05-25 | 2013-12-04 | 삼성전자주식회사 | 휴대 단말기의 휴면 모드 제어 방법 및 장치 |
US9691115B2 (en) * | 2012-06-21 | 2017-06-27 | Cellepathy Inc. | Context determination using access points in transportation and other scenarios |
CN103324519A (zh) | 2013-06-17 | 2013-09-25 | 华为技术有限公司 | 一种恶意耗电应用的清理方法、装置及用户终端 |
-
2014
- 2014-02-20 US US14/185,852 patent/US9841802B2/en not_active Expired - Fee Related
-
2015
- 2015-02-09 JP JP2016552322A patent/JP6416273B2/ja not_active Expired - Fee Related
- 2015-02-09 CN CN201580009222.2A patent/CN106063337B/zh active Active
- 2015-02-09 WO PCT/US2015/014965 patent/WO2015126647A1/en active Application Filing
- 2015-02-09 EP EP15705875.1A patent/EP3108702B1/en not_active Not-in-force
- 2015-02-09 KR KR1020167023682A patent/KR101870551B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612786B1 (en) * | 2010-09-24 | 2013-12-17 | Amazon Technologies, Inc. | Deep idle mode |
US8850251B1 (en) * | 2011-01-19 | 2014-09-30 | Intellectual Ventures Fund 79 Llc | Methods, devices, and mediums associated with controlling a power mode |
CN102510422A (zh) * | 2011-10-09 | 2012-06-20 | 惠州Tcl移动通信有限公司 | 一种移动终端及其调节运行负荷的方法 |
CN103402027A (zh) * | 2013-07-29 | 2013-11-20 | 广东欧珀移动通信有限公司 | 一种移动终端和使移动终端进入睡眠状态的方法 |
CN103475790A (zh) * | 2013-09-06 | 2013-12-25 | 中国科学院计算技术研究所 | 一种智能移动终端功耗管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106063337A (zh) | 2016-10-26 |
KR101870551B1 (ko) | 2018-06-22 |
JP2017512006A (ja) | 2017-04-27 |
US20150234442A1 (en) | 2015-08-20 |
JP6416273B2 (ja) | 2018-10-31 |
KR20160125404A (ko) | 2016-10-31 |
WO2015126647A1 (en) | 2015-08-27 |
EP3108702A1 (en) | 2016-12-28 |
US9841802B2 (en) | 2017-12-12 |
EP3108702B1 (en) | 2017-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106063337B (zh) | 通过应用监控的唤醒锁管理 | |
CN105706483B (zh) | 测量事件定时器和低功率时段的优先级管理方法和装置 | |
CN106538000B (zh) | 用于设备到设备同步信号的监测周期 | |
US9326156B2 (en) | Spectrum reclaiming in a leased spectrum system | |
CN110475323A (zh) | 用于蜂窝通信的控制信息监测框架 | |
US20180219653A1 (en) | Transmission and reception of coded system information | |
CN114449527A (zh) | 资源测量的调整方法及装置、终端及可读存储介质 | |
CN108174462A (zh) | 数据传输方法及装置 | |
US20210297952A1 (en) | Enhanced machine type communication radio resource management requirements based on machine type communication physical downlink control channel monitoring | |
WO2024017322A1 (zh) | 传输处理方法、装置、终端及网络侧设备 | |
CN113923756B (zh) | 获取紧急服务的控制方法及装置、终端及可读存储介质 | |
WO2023088318A1 (zh) | Gap窗口的配置方法、装置、设备及介质 | |
CN117560746A (zh) | 唤醒信号的发送方法、终端及网络侧设备 | |
CN116418466A (zh) | 探测参考信号的发送方法、装置、终端及网络侧设备 | |
CN117715228A (zh) | 准共址参数的确定方法、装置及终端 | |
CN116567688A (zh) | 同步信号块接收方法、同步信号块发送方法及相关设备 | |
CN116366216A (zh) | 定位参考信号的处理方法、设备及可读存储介质 | |
CN118265116A (zh) | 信号检测结果处理方法、装置及终端 | |
CN116137746A (zh) | 上行传输方法、上行传输装置和终端 | |
CN116419400A (zh) | 通信操作执行方法、装置、终端和存储介质 | |
CN117560654A (zh) | Ue能力控制方法、装置、终端及网络侧设备 | |
CN117082587A (zh) | 小区重选方法、小区重选处理方法及相关设备 | |
CN117835386A (zh) | 功率余量上报和接收方法、终端及网络侧设备 | |
CN116170819A (zh) | 终端行为控制方法、终端及网络侧设备 | |
CN117499974A (zh) | 间隙配置方法、装置、终端及网络侧设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |