用于降低移动客户端上的无线电功耗的客户端侧网络流量的排队机制的制作方法

文档序号:10664113阅读:517来源:国知局
用于降低移动客户端上的无线电功耗的客户端侧网络流量的排队机制的制作方法
【专利摘要】本文所述的实施例总体涉及延迟对多个数据分组的传输。设备可以基于没有检测到用户活动和无线电装置的空闲模式进入分组延迟模式。在分组延迟模式中,设备可使数据分组在缓冲器中排队,从而使得对这些数据分组的传输被延迟。基于预定事件的发生(例如,检测到用户活动、超过缓冲器阈值、或倒数定时器到期)可以释放和发送被缓冲的数据分组。其他实施例也可以被描述和要求保护。
【专利说明】用于降低移动客户端上的无线电功耗的客户端侧网络流量的排队机制
[0001]相关申请的交叉引用
[0002]本申请要求于2014年3月26日递交的题为“QUEUEING MECHANISM FOR CLIENT-SIDE NETWORK TRAFFIC TO REDUCE RAD1 POWER CONSUMPT1N ON MOBILE CLIENTS”的美国专利申请N0.14/226,690的优先权权益,该申请的全部公开通过引用被完整结合于此。
技术领域
[0003]本发明的实施例总体涉及数据处理的技术领域,更加具体地涉及适用于在无线网络中操作的设备。
【背景技术】
[0004]本文所提供的背景描述是为了大致介绍本公开的背景。目前署名的发明人的工作(到此【背景技术】部分中所描述的程度)以及说明书中在递交时可能不能以其他方式作为现有技术的方面既不明确地也不隐含地被承认为抵触本公开的现有技术。除非本文中另有指示,否则这部分所描述的途径对于本公开的权利要求而言不是现有技术,并且不因被包括在这部分中而被承认是现有技术。
[0005]当前在移动通信中,设备普遍适于执行多个应用。这些应用可以是例如终端用户软件(例如,社交媒体应用、天气应用等等)和/或系统软件(例如,操作系统软件、实用软件等等)。应用可能经常请求来自通过网络可以访问的外部来源的数据。
[0006]在无线通信系统中,设备可以使用该设备的无线电装置发送请求。通过使用无线电装置,设备可以向诸如基站收发机和/或节点B之类的接入节点发送请求。与使用无线电装置通过网络发送请求相关联的操作可在设备处产生相当大的功耗。具体来说,由设备持续执行的多个应用(例如,同时在设备的后台运行的应用)对于该设备的电源(例如,电池)来说耗费相当大。
【附图说明】
[0007]在附图的图示中通过示例的方式而非限制的方式示出了本发明的实施例,在这些附图中相似的参考标号指示类似的元件。应当注意的是在本公开中发明的“一”或“一个”实施例不一定指的是同一实施例,并且它们意为至少一个实施例。
[0008]图1是根据各种实施例示出包括用于网络通信的协议栈的设备的框图。
[0009]图2是根据各种实施例示出包括流量整形模块的设备的框图,其中流量整形模块用于在通过网络传输多个流量分组之前对它们进行缓冲。
[0010]图3是根据各种实施例示出用于基于预定事件的发生保留要通过网络传输的多个数据分组的方法的流程图。
[0011]图4是根据各种实施例示出多个预定事件的流程图,其中该多个预定事件可以使多个保留的数据分组被释放。
[0012]图5是根据各种实施例示出用于避免对至少一个数据分组的不必要的传输的方法的流程图,其中多个数据分组将在传输之前被保留。
[0013]图6是根据各种实施例示出用于在通过网络传输多个数据分组之前将它们缓冲至少预定时间量的方法的流程图。
[0014]图7是根据各种实施例的适用于在无线通信网络中操作的计算设备的框图。
[0015]图8是根据各种实施例的发送设备的框图。
【具体实施方式】
[0016]在下面的【具体实施方式】中,参考了形成本文的一部分的附图,其中相似的标号通篇表示相似的部分,并且这些附图通过示例的方式示出了可被实践的实施例。应当理解的是在不背离本公开的范围的情况下可以利用其他实施例,并且可以做出结构变化或逻辑变化。因此,下面的【具体实施方式】不应被理解为是限制意义的,并且实施例的范围由所附权利要求及其等同物来限定。
[0017]各种操作可以最有助于理解所要求保护的主题的方式被描述为依次的多个离散动作或操作。然而,描述的顺序不应当被解释为暗示这些操作必须依赖于顺序。具体来说,这些操作可以不按呈现的顺序来执行。所描述的操作可以采用与所描述的实施例不同的顺序来执行。在附加的实施例中可以执行各种附加的操作和/或可以省略所描述的操作。
[0018]出于本公开的目的,短语“A或B”和“A和/或B”意为(A)、(B)或(A和B)。出于本公开的目的,短语“A、B和/或C"意为(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
[0019]本说明书可以使用短语“在一个实施例中”或“在实施例中”,它们分别指代相同或不同实施例中的一个或多个实施例。另外,针对本公开的实施例所使用的词语“包括”、“包含”、“具有”等是同义词。
[0020]如本文所使用的,术语“模块”和/或“逻辑”可以指代或包括执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享的、专用的、或者群组)、和/或存储器(共享的、专用的、或者群组)、组合逻辑电路、和/或提供所述功能的其他合适的硬件组件;或者可以是以上各项的一部分。
[0021]首先从图1开始,图1根据各种实施例示出了包括用于网络通信的协议栈的设备100的框图。设备100可以在接入节点(未示出)所提供的无线小区上进行操作和/或适用于W1-Fi通信。根据实施例,设备100可以是适于根据例如一个或多个3GPP技术规范与接入节点连接的任意设备。在一些实施例中,设备100可以是用户设备(“UE”),例如手持型电话、智能电话、平板计算机、膝上型计算机或配有移动宽带适配器的其他类似的设备。因此,设备100可以适合于管理环境100中的一个或多个任务,包括移动性管理、呼叫控制、会话管理以及身份管理。
[0022]设备100可以包括由多个层105、110、115、120、130组成的协议栈。图1示出了设备100的一种可能的栈,因此,本文考虑到了其他栈布置(例如,开放式系统互连(“0SI”)模型)。在所示实施例中,最低层是硬件层130。该层130以硬件(例如,无线电装置132)的物理交互为特征。无线电装置132可以包括适于使用无线电波来无线地发送和/或接收数据的电路。根据各种实施例,无线电装置132可以适合于根据例如第二代(2G)、第三代(3G)、第四代(4G)、W1-F1、全球微波互联接入(WiMAX)或其他类似的无线协议来传输数据。
[0023]在各种实施例中,在硬件层130上面的每一层可以包括额外的特征,并且只有最高层105、110对于诸如消费者和/或开发者之类的终端用户是可见的。应用层105可以包括多个应用106a_b。在各种实施例中,第一应用106a可以接收用户输入和/或与第二应用106b交互。应用106可以是例如网络诊断应用和/或数据采集应用。根据一些实施例,应用106可以适于生成针对数据的请求,该数据可能需要通过网络由无线电装置进行传输。
[0024]在应用层105处的应用106可以与包括在应用框架层110中的一个或多个组件进行接口连接。应用框架层110可以包括针对应用106的基本功能和/或支持功能,例如,资源管理、活动管理、内容提供等等。包括在应用框架层110中的可以是电话管理器112。电话管理器112可以提供对于设备100处的订户服务和/或电话服务(例如,对设备100适于连接到的一个或多个电话网络的管理和/或配置)的访问。
[0025]在应用框架层110下面,设备100的协议栈可以包括资料库层115。资料库层115可使应用框架层110(以及通过扩展还有应用层105)能够处理不同类型的数据,并且可以特定于设备100的硬件层130。根据实施例,无线电层接口 117被包括在资料库层115中。无线电层接口 117可以在层的组件之间(例如,在电话管理器112和无线电装置132之间)提供抽象。因此,无线电接口层117可以在不提供语音和分组服务的情况下引入控制流。
[0026]位于硬件层130和其他层105、110、115之间的是核心层120。核心层120可以管理来自层105、110、115的输入和/或输出请求并将这些请求转译成针对无线电装置132、处理器(未示出)和/或硬件层130的其他组件的指令。根据各种实施例,核心层120可以包括互联网协议(“IP”)栈122、流量整形模块124和设备驱动器126。
[0027]IP栈122可以指定如何通过网络对数据(例如,来自应用106的请求)进行格式化、寻址、发送、路由和接收。在一个实施例中,IP栈122可以实施传输控制协议(“TCP”)。1卩栈122可以例如通过将数据分割成分组来对数据进行分组化,其中分组被寻址和路由以由无线电装置132通过网络进行通信。
[0028]通过无线电装置132传输由IP栈122形成的分组对于设备100的电源(未示出)来说可能耗费很高。因此,流量整形模块124可以通过在降低功耗的同时仍提供在期望的延迟目标内的通信的方式来调节流量。在一些实施例中,流量整形模块124可以适用于保留由IP栈122生成的一个或多个分组。在各种实施例中,流量整形模块124可以将一个或多个分组作为队列保留在设备100中所包括的一个或多个缓冲器内。因此,流量整形模块124可以包括一个或多个缓冲器或者可以通信方式与一个或多个缓冲器耦合来保留数据分组。
[0029]流量整形模块124可以适用于确定关于设备100的信息。基于所确定的关于设备100的信息,流量整形模块124可以保留或释放数据分组。在一个实施例中,流量整形模块124适用于确定设备100处于低功率状态中。例如,流量整形模块124可以确定无线电状态为空闲并且设备未被用户使用,从而确定设备100处于低功率状态中。基于该确定结果,流量整形模块124可以保留由IP栈122生成的一个或多个数据分组,这可以节省设备100处的电會K。
[0030]另外,流量整形模块124可以适用于确定设备100处于高功率状态。根据实施例,流量整形模块124可以基于例如设备100的显示器(未示出)正处于开启状态、无线电装置132接收下行链路数据分组、用于流量整形模块124保留数据分组的定时器到期、和/或超过将由流量整形模块124保留的数据分组的阈值来确定设备100处于高功率状态。基于该确定结果,流量整形模块124可以释放IP栈122所生成的一个或多个数据分组,以由无线电装置132进行传输。
[0031]根据实施例,流量整形模块124可以在设备100中被实现为硬件、软件或二者的组合。例如,流量整形模块124可以被实现为片上系统(“S0C”)或其他类似的集成电路。在一个实施例中,流量整形模块124可以是包括例如一些存储器和/或存储设备(未示出)的专用集成电路(“ASIC")。在一些实施例中,流量整形模块124可以包括将由设备100的处理器(未示出)执行的多个指令。
[0032]设备驱动器126可以控制和/或操作硬件层130的一个或多个组件。例如,设备驱动器126可以促进流量整形模块124和无线电装置132之间的通信,从而使得由流量整形模块124释放的一个或多个分组可以被无线电装置132发送。
[0033]现在转向图2,图2的框图根据各种实施例示出了包括流量整形模块225的设备200,其中流量整形模块225用于在通过网络传输多个数据分组之前对它们进行缓冲。设备200可以被包括在图1的设备100中,也可以不被包括在其中。设备200包括至少一个应用205,应用205适用于生成请求210。请求210可以适用于在设备200之外得到服务。
[0034]基于请求210,设备200的TCP/IP栈215可以生成一个或多个分组220,从而请求210可以根据TCP/IP协议作为数据分组220被发送。分组220被流量整形模块225拦截,其中流量整形模块225包括缓冲器235或者以通信方式与缓冲器235耦合。流量整形模块225可以适用于在无线电电路245传输分组220之前将它们保留在缓冲器235中。
[0035]流量整形模块225可以包括适用于确定如何保留分组220的整形逻辑226。根据实施例,流量整形模块225可以通信方式与设备200的显示器240和/或无线电电路245耦合。流量整形模块225可以查询显示器240和/或无线电电路245各自的状态。在显示器240的状态指示不活动(例如,关闭状态)和/或无线电电路245的状态为空闲的情形中,整形逻辑226可使分组230在一个或多个缓冲器235中排队。流量整形模块225可以在一段时间内阻止无线电电路245发送这些排队的分组230,从而可以节省设备200的资源(例如,电能)。
[0036]根据各种实施例,在显示器240和无线电电路245中的至少一个状态被流量整形模块225确定为改变成高功率状态的情况下,流量整形模块225可以释放缓冲器235中排队的分组230。例如,如果流量整形模块225确定显示器240被激活(例如,被开启)和/或无线电电路245被连接,则流量整形模块225可以释放在缓冲器235中排队的分组230。
[0037]在一些实施例中,流量整形模块225可以包括辅助逻辑,该辅助逻辑进一步适用于确定如何保留分组230。根据实施例,缓冲器可以与阈值(例如,最大容量)相关联。当在缓冲器235中排队的分组230达到该阈值时,流量整形模块225可以适用于释放排队的分组230。
[0038]在另一实施例中,流量整形模块225可以包括倒数定时器。倒数定时器可以与整形逻辑226耦合。整形逻辑226可以参考倒数定时器来防止在缓冲器235中的分组230变得过期。在各种实施例中,倒数定时器可以在例如流量整形模块225确定要被保留的分组存在(一个或多个)状态的时候、至少一个分组被保留的时候、或其他类似的情况下启动。当倒数定时器到期时,可以从缓冲器235释放排队的分组230。根据一些实施例,倒数定时器是可配置的。因此,设备200可以从用户和/或接入节点接收设定倒数定时器的持续时间的输入。
[0039]由流量整形模块225从缓冲器235释放的分组(这些分组可被称为释放的分组250)可以被无线电电路245接收。然后,无线电电路245可以使得传输的分组255通过网络被发送。
[0040]根据各种实施例,针对图3示出了说明用于基于预定事件的发生,保留要通过网络进行传输的多个数据分组的方法300的流程图。方法300可由图1中示出的设备100来执行。尽管图3示出了多个顺序操作,但是技术人员将理解方法300的一个或多个操作可以被颠倒顺序和/或同时执行。
[0041]方法300开始于操作305,其可以包括基于至少一个请求生成用于通过网络传输的至少一个数据分组。在实施例中,根据TCP/IP和/或其他传输协议,将通过网络发送的请求可以被分组化以用于传输。
[0042]判定框310可以包括确定显示器是否被停用。在显示器未被停用的情况下,方法300可以进行至操作335,以通过网络发送至少一个数据分组。相反,在确定显示器被停用的情况下,方法300可以到达判定框315。
[0043]判定框315可以包括确定设备处于低功率状态。该确定可以基于显示器的状态以及可被包括在执行方法300的设备中的一个或多个组件的状态。例如,处于空闲状态的无线电装置也可以指示设备处于低功率状态。在设备未处于低功率状态的情况下,方法300可以进行至操作335,以通过网络发送至少一个数据分组。
[0044]基于判定框315处对于设备处于低功率状态的指示,方法300可以到达操作320。操作320可以包括保留数据分组。在各种实施例中,数据分组可在设备的一个或多个缓冲器中进行排队。
[0045]随后,判定框325可以包括确定预定事件已经发生。在判定框325指示预定事件没有发生的情况下,方法300可以返回至操作305以通过枚举的操作进行迭代。从而,如操作320所示,多个数据分组可以被保留而不被发送。如本文所述,这些数据分组可以在一个或多个缓冲器中进行排队。
[0046]基于所确定的预定事件的发生,方法300可以到达操作330。操作330可以包括释放被保留的数据分组,并且在已经保留了多个数据分组的情况下,释放该多个保留的数据分组。因此,操作335包括通过网络发送释放的一个或多个数据分组。基于前述操作,在设备处于低功率状态时,可以保留一个或多个数据分组来节省该设备处的电能。
[0047]图4根据各种实施例示出可以使多个保留的数据分组被释放的多个预定事件。图4示出了与图3的判定框325相关联的多种情形。在判定框325指示预定事件已经发生的情况下,方法300可以通过本文所述的操作进行迭代。
[0048]根据实施例,判定框325的预定事件可以是四种情形中的至少一种。根据实施例,预定事件可以是用户交互。因此,当检测到用户交互时,预定事件可以被确定为已经发生。在各种实施例中,用户交互可以是激活显示器或者可以致使显示器被激活(从而可以推断出用户交互)。在另一实施例中,用户交互可以是按下触压按键(例如,执行方法300的设备的外壳上的触压按键(例如,键盘按键,“主”按键、音量按键等等))。在第三实施例中,用户交互可以是接收麦克风输入。例如,设备的麦克风可以检测对应于设备将执行的动作的音频信号,例如,语音命令。
[0049]根据实施例,预定事件可以是下行链路分组传输,因此,基于接收到下行链路分组,可以确定预定事件已经发生。接收下行链路分组可使无线电装置从空闲状态中转换出来(例如,无线电装置可以转换至连接状态以接收下行链路分组)。由于无线电装置可能不再处于空闲状态,所以设备可以不再处于低功率状态,并且电能节省技术对于数据分组的上行链路传输可能不再是优选的。
[0050]在各种实施例中,预定事件可以是预定阈值,例如,数据分组的阈值量或缓冲器空间的阈值量。当达到或超过预定阈值时,预定事件可以被确定为已经发生。例如,当保留了预定量的数据分组时或者在保留的数据分组已经消耗了预定量的缓冲器空间的情况下,可达到或超过预定阈值。
[0051]在实施例中,预定事件可以是倒数定时器。倒数定时器的到期可以指示预定事件已经发生。例如,在数据分组被保留或者设备被确定为处于低功率状态从而数据分组将被保留的情况下,该倒数定时器可以开始倒计时。根据一些实施例,倒数定时器的持续时间是可配置的,例如通过用户输入或者从接入节点接收的控制信息。
[0052]前述四种情形可以指示例如执行方法300的设备不再处于低功率状态中、设备不再能够保留数据分组、和/或保留的数据分组有变为过期的危险。因此,判定框325处对于发生前述四种情形中的至少一种情形的指示可使方法300进行至操作330。从而,可以释放一个或多个保留的数据分组。
[0053]根据各种实施例,针对图5示出了说明用于避免对至少一个数据分组进行不必要的传输的方法500的流程图。方法500可由图1中示出的设备100来执行。如所示,方法500示出了可在图3的方法300中执行的多个操作。尽管图5示出了多个顺序操作,但是技术人员将理解方法500的一个或多个操作可以被颠倒顺序和/或同时执行。
[0054]根据实施例,方法500可以开始于判定框315。在判定框315指示设备未处于低功率状态的情况下,方法500可以返回至开始,开始可以包括如本文所述的图3中的操作305-310。基于在判定框315处对于设备处于低功率状态的指示,方法500可以到达判定框505。
[0055]判定框505可以包括确定数据分组是否是保留的数据分组的副本。在各种实施例中,可以将第一数据分组(例如,最近生成的数据分组)与一个或多个保留的数据分组(例如,通过方法300的先前迭代在操作320处被缓冲的数据分组)进行比较。如果判定框505指示第一数据分组是当前保留的数据分组的副本,则方法500可以达到操作520。操作520包括丢弃数据分组。在一个实施例中,当前保留的数据分组(例如,较旧的数据分组)被丢弃,从而可以避免保留和传输过期的数据分组。在另一实施例中,第一数据分组(例如,最近生成的数据分组)被丢弃。
[0056]根据实施例,方法500可以不同的方式到达接下来的操作510。在一个实施例中,判定框505指示数据分组不是副本,并且方法500继续进行。在第二实施例中,判定框505指示数据分组是副本一一然而,当前保留的数据分组(例如,较旧的数据分组)在操作520处被丢弃。在此第二实施例中,尽管数据分组是当前保留的数据分组的副本,方法500仍可以进行至操作510。
[0057]操作510包括向数据分组添加时间戳。该时间戳可以指示例如数据分组被生成和/或被保留的时间。随后,操作320包括保留具有时间戳的数据分组(例如,在缓冲器中)。此后,判定框515包括确定保留的数据分组的时间戳是否到期。该判定可以基于例如在数据分组被视为“过期”之前该数据分组将被保留的预定时间段。在判定框515指示数据分组的时间戳过期的情况下,在操作520处数据分组被丢弃。
[0058]方法500可以到达判定框520来确定连接是否已经被重置。在一个实施例中,判定框520可以基于接收到对于数据分组将通过其被发送的连接已经被重置的指示(例如,消息)信令(例如,TCP/IP连接重置消息)来进行该确定。在判定框520指示连接已经被重置的情况下,方法500可以进行至操作520来丢弃数据分组。在实施例中,在判定框520处对于连接已经被重置的指示可以使得所有保留的数据分组被丢弃。
[0059]在判定框520未指示连接已经被重置的情况下,方法500可以进行至判定框325。针对图3描述了判定框325,并且方法300可以如所描述的进行。方法500可以在执行方法300期间防止对过期和/或副本数据分组进行不必要的和/或有害的传输。
[0060]转向图6,图6是根据各种实施例示出了说明用于在通过网络传输多个数据分组之前将它们缓冲至少预定时间量的方法600的流程图。方法600可由图1所示的设备100来执行。尽管图6示出了多个顺序操作,但是技术人员将理解方法600的一个或多个操作可以被颠倒顺序和/或同时执行。
[0061]方法600开始于操作605,其可以包括接收倒数定时器的值。根据实施例,可以不同的方式来接收倒数定时器值。在一个实施例中,可以从用户接收倒数定时器值以作为输入。在另一实施例中,可以从例如适用于提供无线小区的接入节点接收倒数定时器值。倒数定时器可以被设定成该接收的值。因此,倒数定时器可以针对不同的情形进行配置,例如,分组可能在各种时刻变得过期的情形。
[0062]判定框610可以包括确定设备处于分组延迟模式。该确定可以基于可被包括在执行方法600的设备中的一个或多个组件的状态。例如,在显示器被停用并且无线电处于空闲状态的情况下,则设备可以处于分组延迟模式中。在另一实施例中,在可能不利于发送数据分组的时间期间,设备可以处于“睡眠”模式或其他低功率模式中。在设备未处于分组延迟模式的情况下,方法600可以进行至操作630来释放缓冲的数据分组以通过网络进行传输。
[0063]基于判定框610处对于设备处于分组延迟模式的指示,方法600可以到达操作615。操作615可以包括启动倒数定时器,从而该倒数定时器在所配置的持续时间内运行。由于判定框610指示设备处于分组延迟模式,操作620包括对多个数据分组进行缓存。在各种实施例中,多个数据分组可以由一个或多个应用生成并且在一个或多个缓冲器中进行排队以延迟对该多个数据分组的传输。
[0064]随后,判定框625可以包括确定倒数定时器已经到期。在判定框625指示倒数定时器尚未到期的情况下,方法600可以留在操作620处以对多个数据分组进行缓冲。然而,在判定框625指示倒数定时器已经到期的情况下,方法600可以进行至操作630。操作630可以包括释放多个缓冲的数据分组以通过网络进行传输。基于前述操作,当设备处于分组延迟模式中时,一个或多个数据分组可以被缓冲以节省该设备处的电能,同时通过及时传输数据分组进行调节。
[0065]现在参考图7,其根据各种实施例示出了示例性计算设备700的框图。图1的设备100和本文所描述的可以在诸如计算设备700之类的计算设备上实现。另外,计算设备700可以适用于执行针对图3描述的方法300的一个或多个操作、针对图5描述的方法500、和/或针对图6描述的方法600。计算设备700可以包括多个组件,一个或多个处理器704以及至少一个通信芯片706。取决于实施例,一个或多个枚举组件可以包括计算设备700的“电路”,例如计算电路、通信电路等等。在各种实施例中,一个或多个处理器704分别可以是处理器核心。在各种实施例中,至少一个通信芯片706可以与一个或多个处理器704进行物理耦合或电气耦合。在又一实施方式中,通信芯片706可以是一个或多个处理器704的一部分。在各种实施例中,计算设备700可以印刷电路板(PCB)702。对于这些实施例,可将一个或多个处理器704和通信芯片706置于PCB 702上。在替换的实施例中,各种组件可以在不使用PCB 702的情况下被耦合。
[0066]取决于计算设备700的应用,计算设备700可以包括其他组件,这些其他组件可以与PCB 702进行物理耦合或通信耦合,也可以不与其耦合。这些其他组件可以包括,但不限于易失性存储器(例如,动态随机存取存储器708,也被称为“DRAM”)、非易失性存储器(例如,只读存储器710,也被称为“ROM” )、闪速存储器712、输入/输出控制器714、数字信号处理器(未示出)、加密处理器(未示出)、图形处理器716、一个或多个天线718、显示器(未示出)、触屏显示器720、触屏控制器722、电池724、音频编解码器(未示出)、视频编解码器(未示出)、全球导航卫星系统(GNSS)728、指南针730、加速度计(未示出)、陀螺仪(未示出)、扬声器732、照相机734、一个或多个传感器736 (例如,气压计、盖革计数器、温度计、粘度计、流变仪、高度计、或可在各种制造环境中找到或在其他应用中使用的其他传感器)、大容量存储设备(例如,硬盘驱动、固态驱动、光盘及驱动、数字多功能光盘及驱动等等)(未示出)等等。在各种实施例中,一个或多个处理器704可以与其他组件一起被集成在相同模具上以形成片上系统(“SoC")。
[0067]在各种实施例中,易失性存储器(例如,DRAM708)、非易失性存储器(例如,ROM710)、闪速存储器712、和大容量存储设备(未示出)可以包括编程指令,这些编程指令被配置为响应于被一个或多个处理器704执行而使得计算设备700能够实践本文所描述的方法和数据交换的全部或选定方面,这取决于实现这些数据交换和方法的计算设备700的实施例)。更加具体地,一个或多个处理器组件(例如,DRAM 708、ROM 710、闪速存储器712、和大容量存储设备)可以包括指令的临时和/或永久副本,这些指令在被一个或多个处理器704执行时,使计算设备700能够操作被配置为实践本文所描述的方法和数据交换的全部或选定方面的一个或多个模块738,这取决于实现这类数据交换和方法的计算设备700的实施例。
[0068]通信芯片706可以使能用于向计算设备700传输数据和从计算设备700传输数据的有线和/或无线通信。术语“无线”及其派生词可被用于描述可以通过使用经调制的电磁辐射经由非固态介质传送数据的电路、设备、系统、方法、技术、通信信道等等。该术语并非暗示相关联的设备不包含任何电线,尽管在一些实施例中它们可能不包含任何电线。通信芯片706可以实现多种无线标准或协议中的任一种,包括但不限于:长期演进(“LTE”)、高级版长期演进(“LTE-A” )、电气与电子工程师协会(“IEEE”)702.20、通用分组无线业务(“GPRS” )、演进数据优化(“Ev-DO” )、演进型高速分组接入(“HSPA+” )、演进型高速下行链路分组接入(“HSDPA+”)、演进型高速上行链路分组接入(“HSUPA+”)、全球移动通信系统(“GSM”)、增强型数据速率GSM演进(“EDGE”)、码分多址(“CDMA”)、时分多址(“TDMA” )、数字增强型无线通讯(“DECT”)、蓝牙、它们的衍生物,以及被指定为3G、4G、5G及更高版的其他无线协议。计算设备700可以包括适于执行不同通信功能的多个通信芯片706。例如,第一通信芯片706可专用于较短距离的无线通信,例如,W1-Fi和蓝牙,而第二通信芯片706可专用于较长距离的无线通信,例如,GPS、EDGE、GPRS、CDMA、WiMAX、LTE、LTE-A、Ev-DO 等等。
[0069]在各种实施例中,计算设备700还包括晶体振荡器740。晶体振荡器740可以通信方式与(一个或多个)通信芯片706和/或其他通信电路耦合。晶体振荡器可以使用振荡晶体的(例如,压电材料的)机械谐振来产生具有非常精确的频率的电信号。因此,晶体振荡器740可被用于生成由UE发送的信号。
[0070]在各种实施方式中,计算设备700可以是膝上型计算机、上网本、笔记本计算机、超极本计算机、智能电话、计算平板、个人数字助理(“PDA”)、超级移动个人计算机、移动电话、台式计算机、服务器、打印机、扫描仪、监视器、机顶盒、娱乐控制单元(例如,游戏控制器)、数码相机、便携式数字媒体播放器、数字视频录像机等等。在其他实施例中,计算设备700可以是处理数据的另外的电子设备。
[0071]图8根据一些实施例示出了设备800。设备800可以类似于图1的设备100,或者实质上可与图1的设备100互换。设备800可以包括至少如图所示彼此耦合的发送器电路804、处理电路808、通信电路812、以及一个或多个天线816。
[0072]简言之,通信电路812可以与天线耦合来协助去往/来自设备800的信号的空中通信。通信电路812的操作可以包括,但不限于:过滤、放大、存储、调制、解调制、变换等等。
[0073]发送器电路804可以与通信电路812耦合,并且可以被配置为向通信电路812提供信号以用于由天线816进行传输。在各种实施例中,发送器电路804可以被配置为对信号提供各种信号处理操作以将信号提供给具有适当特性的通信电路。
[0074]处理电路808可以与通信电路812耦合,并且可以被配置为从通信电路812接收信号以用于由通信电路812进行传输。在一些实施例中,处理电路808可以适用于生成信号。此夕卜,处理电路808可以适用于在通信电路812传输各种信号之前,对这些信号进行加扰、复用和/或调制。
[0075]通信电路812、发送器电路804、和/或处理电路808中的一些或全部可以被包括在例如通信芯片中和/或以通信方式与针对图7所描述的印刷电路板耦合。
[0076]在各种实施例中,示例I可以是一种被包括在UE中的装置,该装置包括:处理电路,该处理器电路用于:确定UE的显示器处于停用状态;基于确定显示器处于所述停用状态,确定UE处于低功率状态;基于确定UE处于低功率状态,保留多个数据分组以用于通过网络进行上传传输;检测预定事件的发生;以及基于检测到预定事件的发生,释放多个数据分组;以及无线电电路,该无线电电路以通信方式与处理电路耦合,用于通过网络发送释放的多个数据分组。示例2可以包括示例I的装置,其中处理电路用于确定UE的无线电电路处于空闲状态;以及基于确定无线电电路处于空闲状态,确定UE处于低功率状态。示例3可以包括示例I的装置,其中处理电路基于来自与UE相关联的应用的至少一个请求生成多个数据分组。示例4包括示例I的装置,其中处理电路用于将多个数据分组作为队列保留在缓冲器中。示例5可以包括示例1-4中任一者的装置,其中预定事件是激活UE的显示器、由UE接收下行链路数据分组、与保留多个数据分组相关联的定时器到期、或超过与用于存储多个数据分组的缓冲器相关联的预定阈值。示例6可以包括示例1-4中任一者的装置,还包括:与保留多个数据分组相关联的定时器,该定时器利用作为UE的输入而被提供的值来进行设定,其中预定事件是定时器的到期。示例7可以包括示例1-4中任一者的装置,其中处理电路还进行以下各项操作:对多个数据分组中的每一个数据分组应用时间戳;将各个数据分组的相应的时间戳与预定时间值进行比较;以及基于相应的时间戳与预定时间值的比较结果,丢弃相应的数据分组。示例8可以包括示例1-4中任一者的装置,其中处理电路还进行以下各项操作:将多个数据分组中的第一数据分组与第二数据分组进行比较,以检测重复的数据分组;以及基于第一数据分组与第二数据分组的比较结果,丢弃第二数据分组。示例9可以包括示例1-4中任一者的装置,其中处理电路还检测与UE相关联的连接的重置,并且响应于检测到连接的重置,丢弃多个数据分组。
[0077]在各种实施例,示例10可以是一种被包括在用户设备(“UE”)中的装置,该装置包括:流量整形模块,该流量整形模块包括整形逻辑,该整形逻辑用于进行以下各项操作:确定UE的无线电电路处于空闲状态;基于确定无线电电路处于空闲状态,对多个数据分组进行排队以通过网络进行传输;基于与UE相关联的预定事件,释放多个数据分组;以及缓冲器,该缓冲器以通信方式与流量整形模块耦合,用于对多个数据分组进行排队。示例11可以包括示例10的装置,其中流量整形模块逻辑用于从缓冲器中释放多个数据分组。示例12可以包括示例10的装置,其中流量整形模块逻辑还检测没有与UE的交互,并且进一步基于检测出没有与UE的交互,对多个数据分组进行排队。示例13可以包括示例12的装置,其中流量整形模块逻辑基于以下各项来检测没有与UE的交互:设备的显示器的关闭状态、在与UE相关联的麦克风处没有输入、UE没有接收到触压输入、或者与UE相关联的扬声器没有输出。示例14可以包括示例10-12中任一者的装置,其中,在流量整形模块逻辑对多个数据分组进行排队之前,基于来自UE的应用层的一个或多个请求,在UE的互联网协议的传输控制协议(“TCP/IP”)栈处生成多个数据分组。示例15可以包括示例10-12中任一者的装置,其中预定事件基于以下各项:UE的显示器的状态、UE的无线电装置的状态、与排队相关联的UE的定时器以及与用于存储多个数据分组的缓冲器相关联的阈值。示例16可以包括示例15的装置,其中与排队相关联的定时器的持续时间是可配置的。示例17可以包括示例10-12中任一者的装置,其中流量整形模块逻辑还将时间戳与多个数据分组中的第一数据分组相关联,并且基于与第一数据分组相关联的时间戳,丢弃第一数据分组。示例18可以包括示例10-12中任一者的装置,其中流量整形模块逻辑还丢弃与多个数据分组中的现有数据分组重复的第一数据分组,以使得重复的数据不被通信电路发送。示例19可以包括示例10-12中任一者的装置,其中流量整形模块逻辑还检测用于传输数据分组的连接的改变,并且响应于检测到连接的改变,丢弃多个数据分组。
[0078]在各种实施例中,示例20可以是一种在用户设备(“UE”)中执行的方法,该方法包括:确定UE处于分组延迟模式;基于确定UE处于分组延迟模式,在至少预定时间段内缓冲准备通过网络传输的多个数据分组;以及基于预定时间段到期,释放多个经缓冲的数据分组以通过网络进行传输。示例21可以包括示例20的方法,还包括将数据分组化成多个数据分组以通过网络进行传输。示例21可以包括示例20的方法,其中确定UE处于分组延迟模式包括:确定UE的显示器是关闭的;以及确定UE的无线电装置处于空闲状态。示例23可以包括示例20-22中任一者的方法,还包括:接收预定时间段的值;以及将倒数定时器设定成所接收的值,其中倒数定时器的到期指示预定时间段的到期。示例24可以包括示例20-22中任一者的方法,还包括:检测用于传输数据分组的连接的改变;以及响应于检测到连接的改变,丢弃多个数据分组。示例25可以包括示例20-22中任一者的方法,还包括:将时间戳与多个数据分组中的第一数据分组相关联;在与第一数据分组相关联的时间戳超过预定时间阈值的情况下,丢弃第一数据分组。
[0079]在各种实施例中,示例26可以是一种包括计算设备可执行指令的非暂态计算设备可读介质,其中该指令响应于被计算设备执行,致使计算设备进行以下各项操作:确定UE的显示器处于停用状态;基于确定显示器处于停用状态,确定UE处于低功率状态;基于确定UE处于低功率状态,保留多个数据分组以用于通过网络进行上传传输;检测预定事件的发生;以及基于检测到预定事件的发生,释放多个数据分组;以及通过网络发送所释放的多个数据分组。示例27可以包括示例26的非暂态计算设备可读介质,其中指令还致使计算设备进行以下各项操作:确定UE的无线电电路处于空闲状态;以及基于确定无线电电路处于空闲状态,确定UE处于低功率状态。示例28可以包括示例26的非暂态计算设备可读介质,其中指令还致使计算设备基于来自与UE相关联的应用的至少一个请求来生成多个数据分组。示例
29包括示例26的非暂态计算设备可读介质,其中指令还致使计算设备将多个数据分组作为队列保留在缓冲器中。示例30可以包括示例26的非暂态计算设备可读介质,其中预定事件是激活UE的显示器、由UE接收下行链路数据分组、与保留多个数据分组相关联的定时器到期、或超过与用于存储多个数据分组的缓冲器相关联的预定阈值。示例31可以包括示例30的非暂态计算设备可读介质,其中指令还致使计算设备启动与保留多个数据分组相关联的定时器的倒计时,该定时器利用作为UE的输入而被提供的值来设定。示例32可以包括示例26-30中任一者的非暂态计算设备可读介质,其中指令还致使计算设备进行以下各项操作:对多个数据分组中的每一个数据分组应用时间戳;将各个数据分组的相应的时间戳与预定时间值进行比较;以及基于相应的时间戳与预定时间值的比较结果,丢弃相应的数据分组。示例33可以包括示例26-30中任一者的非暂态计算设备可读介质,其中指令还致使计算设备进行以下各项操作:将多个数据分组中的第一数据分组与第二数据分组进行比较,以检测重复的数据分组;以及基于第一数据分组与第二数据分组的比较结果,丢弃第二数据分组。示例34可以包括示例26-30中任一者的非暂态计算设备可读介质,其中指令还致使计算设备检测与UE相关联的连接的重置,并且响应于检测到连接的重置,丢弃多个数据分组。
[0080]在各种实施例中,示例35可以包括一种被包括在用户设备(“UE”)中的设备,该设备包括:用于确定UE的无线电电路处于空闲状态的装置;用于基于确定无线电电路处于空闲状态,对多个数据分组进行排队以通过网络进行传输的装置;以及用于基于与UE相关联的预定事件,释放多个数据分组的装置。示例36可以包括示例35的设备,其中排队装置还用于检测没有与UE的交互,并且进一步基于检测出没有与UE的交互,对多个数据分组进行排队。示例37可以包括示例36的设备,其中排队装置基于以下各项来检测没有与UE的交互:设备的显示器的关闭状态、在与UE相关联的麦克风处没有输入、UE没有接收到触压输入、或者与UE相关联的扬声器没有输出。示例38可以包括示例35-36中任一者的设备,还包括:在流量整形模块逻辑对多个数据分组进行排队之前,基于来自UE的应用层的一个或多个请求,用于在UE的互联网协议的传输控制协议(“TCP/IP”)栈处生成多个数据分组的装置。示例39可以包括示例35-36中任一者的设备,其中预定事件是基于以下各项:UE的显示器的状态、UE的无线电装置的状态、与排队相关联的UE的定时器以及与用于存储多个数据分组的缓冲器相关联的阈值。示例40可以包括示例39的设备,其中与排队相关联的定时器的持续时间是可配置的。
[0081]前述具体实施例方式的一部分已经在对计算机存储器内的数据位进行的算法和符号表示的操作方面进行了呈现。这些算法描述和表示是数据处理领域的技术人员所使用的最为有效地将其工作的实质传递给本领域其他技术人员的方式。在这里并且一般情况下算法被设想为产生想要的结果的自相一致的操作序列。这些操作是需要对物理量进行物理处理的操作。
[0082]然而,应该记住的是这些方面以及类似的方面的全部将与适当的物理量相关联,并且只是应用于这些量的适用的标签。除非特别说明或者从以上讨论中可以明显看出,否则应该认识到,本说明书中使用诸如在所附权利要求中所给出的那些方面所进行的讨论指代计算机系统或类似的电子计算设备的动作和处理,该计算机系统或类似的电子计算设备操作被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据,或将这些数据转换为类似表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。
[0083]本发明的实施例还涉及用于执行本文的操作的装置。这样的计算机程序被存储在非暂态计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储数据的任意机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM” )、磁盘存储介质、光存储介质、闪速存储器设备)。
[0084]前述附图中所描述的过程或方法可以通过处理逻辑来执行,该处理逻辑包括硬件(例如,电路系统、专用逻辑等)、软件(例如,在非暂态计算机可读介质上实现的)或二者的结合。虽然以上过程或方法根据一些顺序操作进行了描述,但是应该认识到,所描述的一些操作可以不同的顺序执行。此外,一些操作可以并行执行而不是顺序执行。
[0085]本发明的实施例未参考任何具体的编程语言进行描述。将认识到的是各种编程语言可被用于实现本文所描述的发明的实施例的教导。
[0086]在前述说明书中,本发明的实施例已经参考其具体示例性实施例进行了描述。显然,在不脱离所附权利要求中给出的本发明的广义精神和范围的情况下,可以对其做出各种修改。因此,说明书和附图将被认为是说明意义而非限制意义。
【主权项】
1.一种被包括在用户设备(“UE”)中的装置,该装置包括: 处理电路,该处理器电路进行以下各项操作: 确定所述UE的显示器处于停用状态; 基于确定所述显示器处于停用状态,确定所述UE处于低功率状态; 基于确定所述UE处于低功率状态,保留多个数据分组以用于通过网络进行上传传输; 检测预定事件的发生;以及 基于检测到所述预定事件的发生,释放所述多个数据分组;以及无线电电路,该无线电电路以通信方式与所述处理电路耦合,用于通过所述网络发送所释放的多个数据分组。2.如权利要求1所述的装置,其中所述处理电路进行以下各项操作: 确定所述UE的无线电电路处于空闲状态;以及 基于确定所述无线电电路处于空闲状态,确定所述UE处于低功率状态。3.如权利要求1所述的装置,其中所述处理电路基于来自与所述UE相关联的应用的至少一个请求来生成所述多个数据分组。4.如权利要求1所述的装置,其中所述处理电路用于将所述多个数据分组作为队列保留在缓冲器中。5.如权利要求1-4中任一项所述的装置,其中所述预定事件是激活所述UE的显示器、由所述UE接收下行链路数据分组、与保留所述多个数据分组相关联的定时器到期、或超过与用于存储所述多个数据分组的缓冲器相关联的预定阈值。6.如权利要求1-4中任一项所述的装置,还包括: 与保留所述多个数据分组相关联的定时器,所述定时器利用作为所述UE的输入而被提供的值来进行设定, 其中所述预定事件是所述定时器的到期。7.如权利要求1-4中任一项所述的装置,其中所述处理电路还进行以下各项操作: 对所述多个数据分组中的每一个数据分组应用时间戳; 将各个数据分组的相应的时间戳与预定时间值进行比较;以及 基于所述相应的时间戳与所述预定时间值的比较结果,丢弃相应的数据分组。8.如权利要求1-4中任一项所述的装置,其中所述处理电路还进行以下各项操作: 将所述多个数据分组中的第一数据分组与第二数据分组进行比较,以检测重复的数据分组;以及 基于所述第一数据分组与所述第二数据分组的比较结果,丢弃所述第二数据分组。9.如权利要求1-4中任一项所述的装置,其中所述处理电路还检测与所述UE相关联的连接的重置,并且响应于检测到所述连接的重置,丢弃所述多个数据分组。10.一种被包括在用户设备(“UE”)中的装置,该设备包括: 流量整形模块,该流量整形模块包括整形逻辑,该整形逻辑用于进行以下各项操作: 确定所述UE的无线电电路处于空闲状态; 基于确定所述无线电电路处于空闲状态,对多个数据分组进行排队以通过网络进行传输; 基于与所述UE相关联的预定事件,释放所述多个数据分组;以及 缓冲器,该缓冲器以通信方式与所述流量整形模块耦合,用于对所述多个数据分组进行排队。11.如权利要求10所述的装置,其中所述流量整形模块逻辑用于从所述缓冲器中释放所述多个数据分组。12.如权利要求10所述的装置,其中所述流量整形模块逻辑还检测没有与所述UE的交互,并且进一步基于检测出没有与所述UE的交互,对所述多个数据分组进行排队。13.如权利要求12所述的装置,其中所述流量整形模块逻辑基于以下各项来检测没有与所述UE的交互:所述设备的显示器的关闭状态、在与所述UE相关联的麦克风处没有输入、所述UE没有接收到触压输入、或者与所述UE相关联的扬声器没有输出。14.如权利要求10-12中任一项所述的装置,其中,在所述流量整形模块逻辑对所述多个数据分组进行排队之前,基于来自所述UE的应用层的一个或多个请求,在所述UE的互联网协议的传输控制协议(“TCP/IP”)栈处生成所述多个数据分组。15.如权利要求10-12中任一项所述的装置,其中所述预定事件基于以下各项:所述UE的显示器的状态、所述UE的无线电装置的状态、与所述排队相关联的UE的定时器以及与用于存储所述多个数据分组的缓冲器相关联的阈值。16.如权利要求15所述的装置,其中与所述排队相关联的定时器的持续时间是可配置的。17.如权利要求10-12所述的装置,其中所述流量整形模块逻辑还将时间戳与所述多个数据分组中的第一数据分组相关联,并且基于与所述第一数据分组相关联的时间戳,丢弃所述第一数据分组。18.如权利要求10-12所述的装置,其中所述流量整形模块逻辑还丢弃与所述多个数据分组中的现有数据分组重复的第一数据分组,以使得重复的数据不被通信电路发送。19.如权利要求10-12所述的装置,其中所述流量整形模块逻辑还检测用于传输所述数据分组的连接的改变,并且响应于检测到所述连接的改变,丢弃所述多个数据分组。20.一种在用户设备(“UE” )中执行的方法,该方法包括: 确定所述UE处于分组延迟模式; 基于确定所述UE处于分组延迟模式,在至少预定时间段内缓冲准备通过网络传输的多个数据分组;以及 基于所述预定时间段到期,释放多个经缓冲的数据分组以通过所述网络进行传输。21.如权利要求20所述的方法,还包括: 将数据分组化成所述多个数据分组以通过所述网络进行传输。22.如权利要求20所述的方法,其中确定所述UE处于分组延迟模式包括: 确定所述UE的显示器是关闭的;以及 确定所述UE的无线电装置处于空闲状态。23.如权利要求20-22中任一项所述的方法,还包括: 接收所述预定时间段的值;以及 将倒数定时器设定成所接收的值,其中所述倒数定时器的到期指示所述预定时间段的到期。24.如权利要求20-22中任一项所述的方法,还包括: 检测用于传输所述数据分组的连接的改变;以及 响应于检测到所述连接的改变,丢弃所述多个数据分组。25.如权利要求20-22中任一项所述的方法,还包括: 将时间戳与所述多个数据分组中的第一数据分组相关联; 在与所述第一数据分组相关联的时间戳超过预定时间阈值的情况下,丢弃所述第一数据分组。
【文档编号】H04L12/861GK106031222SQ201580009704
【公开日】2016年10月12日
【申请日】2015年2月20日
【发明人】玛鲁蒂·古普塔, 厄尔库特·德米尔汗
【申请人】英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1