能量高效的无线数据传递转让专利

申请号 : CN201580070097.6

文献号 : CN107113730A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·巴达姆E·B·奈廷格尔R·钱德拉黄健

申请人 : 微软技术许可有限责任公司

摘要 :

本文描述的技术和系统实现了与无线数据传递相关联的直接存储器访问。在一个例子中,在设备处接收数据单元,并确定数据单元已经利用低功耗数据传递被传递,并且所述数据单元将被直接存储于设备的预定存储器内(例如,专用存储器)。在另一例子中,第一设备向伙伴设备提供将数据存储在特定存储位置的指示,使得可以从特定存储位置获取数据,而不中断伙伴设备的主处理器。所述数据还可以直接存储于第一设备的预定存储器内,而不中断第一设备的主处理器。

权利要求 :

1.一种用于减少无线设备的功耗的方法,所述方法包括:

接收一个或多个数据单元;

由所述无线设备确定所述一个或多个数据单元已经利用了低功耗传递被传递;

响应于确定所述一个或多个数据单元已经利用了所述低功耗数据传递被传递,将所述一个或多个数据单元直接存储于所述无线设备的预定存储器中;

确定存在中断所述无线设备的主处理器以处理直接存储于所述无线设备的所述预定存储器中的所述一个或多个数据单元的条件;以及至少部分地基于所述确定,中断所述无线设备的所述主处理器以处理直接存储于所述无线设备的所述预定存储器中的所述一个或多个数据单元。

2.根据权利要求1所述的方法,其中,所述预定存储器是专用存储器,并且网络接口对所述无线设备的所述专用存储器的访问针对所述一个或多个数据单元的直接存储而被使能,而不涉及主处理器。

3.根据权利要求1或权利要求2所述的方法,还包括:确定所述一个或多个数据单元根据特定连接特性而被传递,并且其中确定所述一个或多个数据单元已经利用了所述低功耗传递被传递至少部分地基于所述特定连接特性。

4.根据权利要求3所述的方法,还包括:从所述无线设备向伙伴设备传送所述特定连接特性的指示,使得所述伙伴设备被使能为将所述一个或多个数据单元配置为将利用所述低功耗传递被传递,所述一个或多个数据单元从所述伙伴设备被接收。

5.根据权利要求3或权利要求4所述的方法,其中,所述特定连接特性包括特定网络端口。

6.根据权利要求3所述的方法,其中,所述特定连接特性包括特定数据传递协议。

7.一种无线设备,包括:

电源单元;

无线网络接口;以及

存储指令的一个或多个存储器,所述指令通过使得所述无线网络接口进行以下操作来节省所述电源单元的电力:向与所述无线设备通信的另一设备提供将数据存储于所述另一设备的存储器的一个或多个特定存储位置中的指示;

从所述另一设备的所述存储器的所述特定存储位置获取所述数据;以及将所述数据直接存储于所述无线设备的专用存储器中,而不中断所述无线设备的主处理器。

8.根据权利要求7所述的无线设备,其中,所述指令还使得所述无线网络接口:确定存在中断所述无线设备的所述主处理器以处理所述数据的条件;以及中断所述无线设备的所述主处理器以处理所述数据。

9.根据权利要求8所述的无线设备,其中,所述指令还使得所述无线网络接口:将所述专用存储器的可用存储空间量低于阈值存储空间量确定为所述条件的至少一部分。

10.根据权利要求8所述的无线设备,其中,所述指令还使得所述无线网络接口:将所述无线设备的电源的可用剩余电力量低于阈值电力量确定为所述条件的至少一部分。

11.一个或多个计算机存储介质,存储计算机可执行指令,所述计算机可执行指令在被执行时,使得设备执行操作,所述操作包括:从另一设备接收数据传递设置;

至少部分地基于从所述另一设备接收到的所述数据传递设置,收集来自一个或多个传感器的值,其中,所述数据传递设置指示所述设备经由低功耗数据传递从所述设备向所述另一设备传递所述值的至少一部分,以减少功耗;以及至少部分地基于所述数据传递设置,将所述值的所述至少一部分配置用于经由所述低功耗数据传递向所述另一设备传递。

12.根据权利要求11所述的一个或多个计算机存储介质,其中,所述配置包括生成一个或多个数据单元,所述一个或多个数据单元将根据分配给所述低功耗数据传递的特定连接特性而被传递。

13.根据权利要求11所述的一个或多个计算机存储介质,其中,所述配置包括将所述值的所述至少一部分存储于所述设备的存储器的一个或多个特定存储位置中,以使能从所述一个或多个特定存储位置对所述值的所述至少一部分的直接存储器访问。

14.根据权利要求13所述的一个或多个计算机存储介质,其中,所述数据传递设置定义特定类型的数据将被收集并将经由所述低功耗数据传递被传递,其中所述值的所述至少一部分与所述特定类型的数据相关联。

15.根据权利要求14所述的一个或多个计算机存储介质,其中,所述操作还包括:检测将所述特定类型的数据的传递从所述低功耗数据传递切换到常规数据传递的触发,所述常规数据传递立即中断所述另一设备的主处理器,其中,所述触发包括所述特定类型的数据的检测值超过阈值;以及至少部分地基于所述触发,经由所述常规数据传递来传递所述特定类型的数据的附加值。

说明书 :

能量高效的无线数据传递

背景技术

[0001] 现今,无线设备(例如,智能电话)用于经由无线连接(例如,网络连接)交换大量数据。无线设备可以配置为操作传递数据的预先安装的应用(例如,语音通信功能、消息传送功能等)和/或传递数据的用户安装的应用(例如,电子邮件客户端、社交网络应用等)。
[0002] 无线设备通常与到以及来自无线设备的数据传递相关联地使用主处理器。然而,通过使用主处理器,现有的无线设备消耗与数据传递相关联的大量电力。

发明内容

[0003] 本文描述的技术和系统实现了与无线数据传递相关联的直接存储器存取。在一个例子中,数据单元在设备处被无线接收,并且确定该数据单元是经由低功耗数据传递进行传递的。然后直接将数据单元存储于设备的预定存储器(例如,专用存储器)中。稍后,确定存在中断无线设备的主处理器来处理存储于预定存储器内的数据单元的条件。
[0004] 在另一例子中,第一设备向伙伴设备提供将数据存储于伙伴设备的存储器的特定存储位置中的指示,使得能够从伙伴设备的存储器的特定存储位置获取数据,而不中断伙伴设备的主处理器。数据还可以直接存储于第一设备的专用存储器内,而不中断第一设备的主处理器。
[0005] 提供该“发明内容”是为了以简化形式介绍在下文“具体实施方式”中进一步描述的概念的选择。该发明内容不旨在识别所要求保护技术方案的关键或必要特征,也不旨在用作帮助确定所要求保护技术方案的范围。例如,术语“技术”可以指代如上述上下文和贯穿本文所允许的系统、方法、计算机可读指令、算法、部件、模块和/或元件。

附图说明

[0006] 通过参考附图呈现详细描述。在图中,附图标记最左的数字标识该附图标记首次出现的附图。在不同的图中使用相同的附图标记表示类似或相同的项目。
[0007] 图1示出了可以实现本文描述的技术和系统的示例性环境,其中设备被配置为经由无线连接与各种伙伴设备交换数据。
[0008] 图2示出了以下的更详细的视图:(i)数据接收设备的网络接口,(ii)数据发送伙伴设备,以及(iii)在数据接收设备的网络接口和数据发送伙伴设备之间的低功耗无线数据传递。
[0009] 图3示出的示例性过程确定接收到的数据单元是否是已经经由低功耗传递而被传递的,并且如果是,则经由直接存储器存取存储数据而不中断主处理器。
[0010] 图4示出了配置和传送低功耗数据传递设置的示例性过程。
[0011] 图5示出了确定额外的低功耗数据传递设置的示例性过程。
[0012] 图6示出了根据低功耗传递配置数据和将数据传递到无线设备的示例性过程。
[0013] 图7示出了监视存储数据单元的专用存储器以确定是否存在中断主处理器以处理数据单元的条件的示例性过程。
[0014] 图8示出了监视电源以确定是否存在中断主处理器以处理存储于专用存储器中的数据单元的条件的示例性过程。

具体实施方式

[0015] 本文描述的技术和系统实现与无线数据传递相关联的直接存储器存取。实现直接存储器存取减少了设备(i)接收和处理输入数据和/或(ii)访问并发送输出数据所消耗的电力量,并因此,直接存储器存取延长了设备电源的寿命。换句话说,与实现本文描述的技术和系统相关联地,设备的用户不太可能经历与(i)无电力(例如,死的)无线设备和/或(ii)在不凑巧的时刻对无线设备充电相关联的不便性。
[0016] 在至少一个例子中,所述技术和系统基于无线连接特性确定经由低功耗数据传递已经无线地传递、或将无线地传递数据。响应于该确定,可以经由直接存储器存取写入或读取数据。在至少另一例子中,所述技术和系统基于在特定存储位置处存储数据的指令来实现低功耗数据传递,从而可以利用直接存储器存取从特定存储位置处读取数据和/或利用直接存储器存取将数据写入到专用存储器。因此,可以传递数据,而不中断以下设备的主处理器:(i)从其发送数据的设备和/或(ii)在其上接收并存储数据的设备。所述技术和系统配置数据传递设置,并提前从一个设备向另一设备传送数据传递设置,从而随后可以例如根据上述例子实现直接存储器存取。
[0017] 如本文所使用的,可以经由一个或多个数据单元向无线设备以及从无线设备传递数据。数据单元可以包括和/或被称作数据分组、数据报、数据段、数据块、数据帧、或者数据的可以被配置为按序列或顺序发送数据的集合或子集合的任意其它结构或划分。可以根据各种无线通信协议配置和传递本文讨论的数据单元。在各个例子中,数据单元可以与电子邮件消息、即时消息、短消息、社交应用消息或通知、游戏信息、网络信息、或在设备之间无线传送的其它信息相关联。在其它例子中,数据单元可以与在设备处检测到的信息(例如,值)相关联,所述设备包括或耦合到一个或多个传感器(例如,图像捕捉传感器、温度传感器、噪声传感器、身体/健康传感器、移动传感器等)。例如,可穿戴设备可以配置有或者耦合到监视心率、血糖水平、血压、走路或跑步时的步数等的传感器。可穿戴设备可以配置有用于存储被监视值并生成数据单元以将被监视值无线传送到另一设备(例如,用户的智能电话)的逻辑。
[0018] 通过使用本文描述的直接存储器存取,所述技术和系统能够减少在响应于无线网络请求(例如,接收数据单元和/或发送数据单元)进行读取或写入数据时无线设备的主处理器消耗电力的速率,至少因为网络请求可以通过绕过主处理器而被处理。因此,本文描述的技术和系统能够在补充电源(例如,充电)之前延长电源持续的时间量。
[0019] 本文描述的技术和系统指向减少与涉及经由无线电源(例如,电池)操作的至少一个设备的无线数据传递相关联的功耗。
[0020] 利用无线连接,所述技术和系统配置为通过直接将数据写入到相应的存储器或从相应的存储器读取数据,而从数据发送设备的存储器将数据无线传递到数据接收设备的存储器,而无需主处理器的参与。在至少一个例子中,数据接收设备可以从数据发送设备(例如,伙伴设备或对等设备)接收数据单元,并分析与数据单元相关联的无线连接特性以确定是否利用了低功耗数据传递对所述数据单元进行了传递。低功耗数据传递与将经由直接存储器存取读取和/或写入的数据相关联,从而可以在数据发送设备、数据接收设备或两者处节省电力。如果利用了低功耗传递来传递数据单元,则数据接收设备可以在数据接收设备的预定存储器(例如,专用存储器)中直接存储数据单元。如果未使用低功耗传递来传递数据单元(即,常规数据传递),则数据接收设备可以通过中断主处理器而常规地存储和处理数据单元,这使得消耗更多电力。
[0021] 在至少一个其它例子中,数据发送设备可以至少部分地基于数据发送设备和数据接收设备提前商定的低功耗传递设置,而例如从一个或多个传感器收集数据。在各种实现方式中,这可以被称作发布-订阅关系,其中数据接收设备(例如,智能电话)订阅由数据发送设备(例如,配置为收集、存储和传递数据到智能电话的可穿戴设备)发布的数据。基于商定的低功耗传递设置,数据发送设备可以在存储器的特定位置(例如,定义的地址范围)存储数据,从而数据接收设备可以从特定位置获取数据单元和/或请求(例如,拉出)从特定位置读取数据单元,而不牵扯数据发送设备的主处理器,和/或经由直接存储器存取将数据单元存储在数据接收设备处,而不牵扯主处理器。
[0022] 图1示出了可以实现本文描述的技术和系统的示例性环境100。在示例性环境100中,第一设备102经由无线连接108与各种伙伴设备106交换数据104(例如,一个或多个数据单元)。在各种实现方式中,第一设备102可以是数据接收设备,并且伙伴设备106可以是数据发送设备。
[0023] 第一设备102可以包括但不限于:智能电话、蜂窝电话、平板计算机、膝上型计算机、个人数字助理(PDA)、电子书设备、便携式导航设备、便携式游戏设备、可穿戴设备、个人媒体播放器设备、汽车计算设备、台式计算机设备、游戏控制台设备、服务器设备、或可以无线交换(例如,接收和/或发送)数据的任何其它电子设备。在各种例子中,第一设备102可以由电源单元110(例如,可排出电池或在第一设备102操作期间可能耗尽的任何其它电源)供电。
[0024] 第一设备102可以包括一个或多个处理器112、存储器114、网络接口116以及上述电源单元110。处理器112可以是单个处理单元或多个单元,其每个可以包括多个不同的处理单元。处理器112可以包括微处理器、微计算机、微控制器、数字信号处理器、中央处理单元(CPU)、图形处理单元(GPU)等。在各种例子中,处理器112可以被称作主处理器。除了其它能力外,处理器112可以配置为取得和执行存储于存储器114内的计算机可读指令。
[0025] 存储器114可以包括配置为一个或多个“模块”的软件功能。如本文使用的,术语“模块”旨在表示为了讨论的目的对软件的示例性划分,并不旨在表示任意类型的要求或所要求的方法、方式或组织。因此,虽然讨论了各种“模块”,但是其功能和/或类似功能可以不同地布置(例如,组合为更少数量的模块、分解为更多数量的模块,等等)。此外,虽然在此将特定功能和模块描述为由在处理器上可执行的软件和/或固件实现;但是在其它实施例中,可以通过硬件(例如,专用集成电路(ASIC)、专用处理单元等)整体或部分实现任何或所有模块来执行所描述的功能。在一些实例中,功能和/或模块实现为操作系统的一部分或与操作系统相关联。在其它实例中,功能和/或模块实现为设备驱动器、固件等的一部分。在各种例子中个,存储器114可以被称作主存储器。
[0026] 存储器114可以包括一个计算机可读介质或计算机可读介质的组合。计算机可读介质可以包括计算机存储介质和/或通信介质。计算机存储介质包括易失性和非易失性、可移除和不可移除介质,其实现于用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中。计算机存储介质包括但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、压缩盘只读存储器(CD-ROM)、或者能够用于存储由计算设备存取的信息的任何其它非传输介质。
[0027] 相反地,通信介质可以具体体现计算机可读指令、数据结构、程序模块、或在已调数据信号中(例如,载波或其它传输机构)的其它数据。如本文使用的,“计算机存储介质”不包括通信介质。
[0028] 网络接口116使得第一设备102能够根据各种类型的通信经由无线连接108,从伙伴设备106处接收数据104和/或发送数据104到伙伴设备106。例如,各种类型的通信可以包括Wi-Fi、3G、蓝牙、长期演进(例如,4G LTE)、无线USB、ZigBee等。因此,可以经由蜂窝或移动网络、局域网(LAN)、广域网(WAN)、个域网(PAN)、短距离通信网络等建立无线连接108。
[0029] 伙伴设备106可以包括但不限于:可穿戴设备(例如,手表、电子眼镜、活动或健康监视设备等)、家庭设备(例如,成像设备(如摄像机)、恒温器设备、车库门设备、电器监视设备等)、智能电话、蜂窝电话、平板计算机、膝上型计算机、个人数字助理(PDA)、电子书设备、便携式导航设备、便携式游戏设备、个人媒体播放器设备、汽车计算设备、台式计算设备、游戏控制台、服务器设备(例如,在云环境或服务器农场中配置的)、或可以与第一设备102无线交换(例如,接收和/或发送)数据的任何其它电子设备。因此,伙伴设备106可以是移动设备或固定设备。
[0030] 存储器114可以包括数据处理模块118、应用模块120、和/或用于实现直接存储器存取的专用存储器122,其每个还将在下文进一步描述。在各种实现方式中,数据处理模块118可以是无线设备102的操作系统的一部分,其可由处理器122执行或与处理器112相关联来处理数据。应用模块120可以包括预先安装和/或用户安装的可执行功能和/或应用(例如,app),其可以至少部分地基于数据通信进行操作。例如,应用模块120可以包括但不限于:电子邮件应用、即时消息应用、社交网络应用、游戏应用、健康监视应用(例如,监视和报告心率、血糖水平、血压等)、锻炼监视应用(例如,监视和报告行进距离、步数、移动速度、燃烧卡路里量等)、家庭监视应用(例如,监视和控制温度、安全性、家庭电气、车库门、宠物机构等)、和/或配置为传递数据104的其它数据交换应用。
[0031] 网络接口116可以包括低功率数据传递模块124和/或专用存储器126来实现直接存储器存取。专用存储器126可以是专用存储器122的替代或添加。存储器可以被称作“专用”存储器,至少是因为存储器不能共享。例如,专用存储器122和/或专用存储器126可以单独为网络接口116保留以经由直接存储器存取存储和/或存取数据单元(例如,经由低功耗传递接收的数据或将经由低功耗数据传递发送的数据)。因此,网络接口116配置为确定其具有操作系统不会分配给无线设备102的其它功能或过程的专用或私有存储器。
[0032] 在各种例子中,低功率数据传递模块124可以包括或者以特定方式关联于一个或多个逻辑部件。例如但不限于,可以使用的示例性类型的硬件逻辑部件包括ASIC、现场可编程门阵列(FPGA)、状态机、复杂可编程逻辑设备(CPLD)、其它逻辑电路、片上系统(SoC)、和/或能够基于操作指令来操纵和分析信息(例如,从伙伴设备106接收到的数据单元)的任意其它设备部件。因此,网络接口116可以例如包括ROM或某种存储指令(例如,固件)的可读存储器,以及用于执行指令来实现本文描述的功能的控制器/处理器。
[0033] 低功率数据传递模块124配置为实现数据单元的低功耗传递,而不中断主处理器112。在至少一个例子中,低功率数据传递模块124确定将基于无线连接特性经由直接存储器存取存储无线传递的数据。在至少一个其它例子中,低功率数据传递模块124基于是否从伙伴设备106处的特定存储位置处读取数据(例如,发布-订阅关系)来经由直接存储器存取存储无线传递的数据。在至少一个其它例子中,可以响应于来自第一设备102的低功率数据传递模块124的读取请求,通过伙伴设备的网络接口经由直接存储器存取从特定存储位置处读取数据。因此,在网络接口116中实现低功率数据传递模块124节省了电源单元110的电力(例如,减少消耗电力的速率),至少是因为低功率数据传递模块124能够处理和直接存储用于应用模块120的输入的数据单元,而无需中断主处理器。另外,低功率数据传递模块124可以经由直接存储器存取处理数据读取请求,而不中断主处理器。例如,主处理器112可以处于睡眠模式,而低功率数据传递模块124能够处理和直接存储用于应用模块120的输入数据单元,而不需要在接收到输入数据单元时发送通知以将主处理器从睡眠模式唤醒。
[0034] 低功率数据传递模块124可以在专用存储器122或专用存储器126的至少一个中将输入数据单元直接存储一个临时的时间段。例如,低功率数据传递模块124可以配置为监视专用存储器122、专用存储器126和/或电源110,并确定存在使得主处理器112被中断从而其能够处理临时存储在专用存储器122或专用存储器126的至少一个中的数据单元的条件。在第一例子中,所述条件可以表示存储的数据单元的数量超过数据单元的预先定义的阈值数量,并因此,低功率数据传递模块124生成通知以中断主处理器112,从而主处理器112可以处理数据单元。在第二例子中,所述条件可以表示在专用存储器122或专用存储器126中的可用存储空间低于预先定义的阈值存储控制,并因此,低功率数据传递模块124生成通知以中断主处理器112,从而主处理器112可以处理数据单元。在第三例子中,专用存储器122或专用存储器126包括易失性存储器,并且为了保护免于在断电的情况(例如,第一设备102切断)下丢失信息,所述条件可以表示电源110的可用电力低于可用电力的阈值量(例如,剩余5%电池寿命、剩余10%电池寿命等),并因此,低功率数据传递模块124生成通知以中断主处理器112,从而主处理器112可以处理数据单元(例如,从专用存储器122或专用存储器126清除数据单元)。
[0035] 图2示出了以上关于图1讨论的网络接口116、伙伴设备106、以及在网络接口116和伙伴设备106之间的低功耗无线数据传递的更详细的视图。
[0036] 如上所述,在至少一个例子中,低功率数据传递模块124可以确定基于无线连接特性将经由直接存储器存取存储无线传递的数据。例如,低功率数据传递模块124可以配置为经由多个不同的无线连接特性202(1)…202(N)交换数据,其中N是整数,并且低功率数据传递模块124可以将特定连接特性(例如,202(N))分配给低功耗数据传递,从而可以经由直接存储器存取存储数据单元,而不中断主处理器112(例如,其消耗更多电力)。因此,低功率数据传递模块124可以包括连接特性确定模块204,其配置为当接收到的数据单元是根据分配给低功耗数据传递的连接特性(例如,202(N))而被无线传送的时,确定接收到的数据单元是将无需中断主处理器112而被存储的数据单元。
[0037] 分配给低功耗数据传递的连接特性(例如,202(N))可以通过低功率数据传递模块124传送206到在伙伴设备106上操作的低功率数据传递模块208,从而伙伴设备106被通知并且知道分配的连接特性(例如,202(N))。低功率数据传递模块208可以将分配的连接特性(例如,202(N))存储为数据传递设置210,从而低功率数据传递模块208随后能够配置数据
212用于根据分配的连接特性(例如,202(N))传送214到无线设备102的网络接口116。在一些实现方式中,伙伴设备106可以使用分配的连接特性(例如,202(N))来请求第一设备102的低功率数据传递模块124直接存取并提供数据到伙伴设备106,而不牵扯第一设备102的主处理器112。
[0038] 在各种实现方式中,分配的连接特性(例如,202(N))可以包括网络接口116为数据传递所使用的多个可用端口中的特定端口。例如,网络端口可以用作用于数据交换的通信端点,并且网络端口可以唯一地标识在无线设备102上运行的不同应用和/或过程。因此,特定的网络端口可以被分配用于直接访问存储器,而不牵扯主处理器。在互联网协议(IP)的示例性上下文中,端口可以与主机(例如,第一设备102)的IP地址和/或用于通信的协议类型(例如,传输控制协议(TCP))相关联。网络端口可以由16位数(例如,端口号)标识。添加到IP地址上的端口号可以完成将经由直接存储器存取存储的数据单元的目的地地址,而不中断主处理器112。在另一示例性上下文中,蓝牙端口支持建立连接以用于支持蓝牙的设备。利用蓝牙通信,输入蓝牙端口支持接收将经由直接存储器存取存储的数据单元,而不中断主处理器112;并且输出蓝牙端口支持传输经由直接存储器存取读取的数据,而不中断主处理器112。
[0039] 在各种实现方式中,分配的连接特性(例如,202(N))可以包括网络接口116交换数据所使用的多个数据传递协议的特定数据传递协议(例如,蓝牙)。因此,连接特性确定模块204可以确定将经由直接存储器存取存储经由特定数据传递协议(例如,蓝牙)传送的数据,而不中断端主处理器112;而经由其它数据传递协议(例如,TCP)传送的其它数据将通过中断主处理器112而被常规地存储和处理。
[0040] 在各种实现方式中,连接特性确定模块204可以配置为响应于经由TCP接收到数据单元,而将TCP级别“SYN”或TCP级别“ACK”发送给伙伴设备106。因此,连接特性确定模块204可以配置为TCP卸载引擎,其执行至少一部分TCP堆栈,从而数据单元序列中的第二数据单元的接收不依赖于主处理器112已经处理了所述序列中的、在第二数据单元之前传送的第一数据单元的确认。而是,可以通过网络接口116中的连接特性确定模块204确认第一数据单元的接收,由此支持数据单元序列中的后续数据单元的接收,而不必中断主处理器112。
[0041] 在各种实现方式中,分配的连接特性(例如,202(N))可以是数据单元的可识别标记。例如,TCP/IP报头例如可以由伙伴设备106配置为包括表示低功耗数据传递的比特集合。在另一例子中,数据单元例如可以由伙伴设备106配置为包括表示低功耗数据传递的签名和/或指纹。
[0042] 在至少一个额外的例子中,低功率数据传递模块124基于无线传送的数据是否是从伙伴设备106的特定存储位置216处获取(或,拉出)的,来经由直接存储器存取来存储所述数据。例如,低功率数据传递模块124可以包括数据获取模块218,其配置为(i)经由直接存储器存取而没有中断伙伴设备的主处理器的情况下,请求和/或读取220存储于特定存储位置216(例如,地址、分区、逻辑存储单元等)处的数据;和/或(ii)经由直接存储器存取存储数据,而不中断主处理器112,不中断第一设备102的主处理器112。在一些例子中,该获取可以指的是发布-订阅实现方式,其中伙伴设备106配置为在其自身的存储器中的特定存储位置216处发布数据,从而发布的数据可以被其它设备(例如,第一设备102)根据低功耗数据传递进行订阅。例如,伙伴设备106可以是可穿戴的设备,其附接到人体上并配置有传感器222来收集和监视与用户的健康相关联的信息(例如,心率、血糖水平等)。低功率数据传递模块208可以在特定存储位置216处发布传感器检测到的值,使得这些值可以被直接访问(例如,读取),而不中断伙伴设备的主处理器。随后,可以将这些值提供给订阅的设备,并且订阅的设备也可以直接存储这些值,而不中断主处理器112。因此,执行健康监视应用的订阅的设备可以经由低功耗数据传递接收随着一段时间聚集的且来自位于身体上的多个不同可穿戴设备的传感器值,并稍后处理所有接收到的传感器值以节省电力(例如,在十英里跑完成之后)。
[0043] 特定存储位置216的标识可以在低功率数据传递模块124和在伙伴设备106上操作的低功率数据传递模块208之间交换,从而设备被通知且知道特定存储位置216。低功率数据传递模块208然后可以将特定存储位置216存储为数据传递设置210,从而低功率数据传递模块208随后可以经由特定存储位置216存储或公布用于低功耗获取的数据。
[0044] 如上所述,数据传递设置210可以包括特定连接特性(例如,202(N))和/或特定存储位置216,从而可以实现低功耗数据传递。另外或替代地,数据传递设置210可以包括将经由低功耗数据传递所传递的数据类型(例如,用户可能希望其智能电话聚集在跑步期间与心率相关联的值而不是与体温相关联的值)、将经由低功耗数据传递所传递的数据的阈值尺寸或量(例如,如果将发送少于64千字节数据,则将实现低功耗数据传递;但是如果发送多于64千字节数据,则将实现常规数据传递)、以及使得数据传递从低功耗数据传递切换到常规数据传递的一个或多个触发(例如,立即中断主处理器112来向用户生成检测到的心率值已经超过预先定义的限制或阈值的通知)。可以通过第一设备102的操作系统或应用模块120确定数据传递设置210(例如,默认设置),或者可以基于从设备的用户处接收到的输入配置数据传递设置(例如,可应用于执行特定应用模块120的用户定义的设置)。
[0045] 在各种例子中,低功率数据传递模块124可以包括专用存储器监视模块224。专用存储器监视模块224配置为监视专用存储器126(例如,或专用存储器122),并确定是否存在引起主处理器112中断的条件。在一个实现方式中,所述条件可能与确定存储的数据单元的数量超过阈值数量(例如,十、一百、一千等)相关联。在图2中,标记226例如示出了在专用存储器126中已经存储了十二个数据单元,并且如果阈值数量是十二,则专用存储器监视模块224确定存在中断主处理器112来处理这十二个数据单元的条件。存储的数据单元的数量可以与将处理的数据总量相关,因此,数据单元的阈值数量可以与待处理的数据的阈值量(例如,500千字节、1000千字节等)相关。在另一实现方式中,所述条件可以与确定在专用存储器126中的可用存储器空间低于空间的阈值量相关联。在图2中,标记228例如示出了剩余小于百分之二十的容量(例如,5/6的存储器单元已经存储了低功耗数据),并因此,如果空间的阈值量是百分之二十,则专用存储器监视模块224确定存在中断主处理器112来处理存储于专用存储器126内的数据单元的条件。
[0046] 在各种例子中,低功率数据传递模块124可以包括电源监视模块230。电源监视模块230配置为监视电源单元110,并确定是否存在引起主处理器112中断的条件。该条件可以与确定电源的可用量低于电源的阈值量相关联。在图2中,标记232例如示出了仅剩余百分之十的电源寿命(例如,仅1/10的电源单位可用),并因此,如果电源的阈值量是百分之十一,则电源监视模块230确定存在中断主处理器112来处理存储于专用存储器126内的数据单元的条件。
[0047] 在至少一个额外例子中,可以响应于用户动作(例如,用户请求更新电子邮件收件箱,用户与在无线设备上执行应用进行交互,等等),来处理存储于专用存储器126内的数据单元。
[0048] 图3-8示出了用于采用本文描述的技术和系统的示例性过程。为了便于说明,示例性过程被描述为在图1、图2或图1和图2的组合的环境中执行。例如,可以通过第一设备102和/或伙伴设备106执行示例性过程的一个或多个个体操作。然而,还可以在其它环境中以及通过其它设备执行所述过程。
[0049] 示例性过程被示出为逻辑流图,其每个操作表示可以在硬件、软件或其组合中实现的操作序列。在软件的上下文中,操作表示存储于一个或多个计算机可读存储介质上的计算机可执行指令,当被一个或多个处理器执行时,所述指令配置设备来实现所记载的操作。一般而言,计算机可执行指令包括执行特定功能的例程、程序、对象、部件、数据结构等。描述操作的次序并不旨在被解释为限制,而是可以以任何次序和/或并行地组合所描述的任意数量的操作来实现过程。此外,可以省略任意个体操作。
[0050] 图3示出了的示例性过程300确定是否已经利用低功耗数据传递来传递了数据单元,并且如果是,则经由直接存储器存取存储数据单元而不中断主处理器。
[0051] 在302处,接收数据单元。例如,第一设备102的网络接口116可以从伙伴设备106接收数据单元。在至少一个示例性实现方式中,伙伴设备106是可穿戴设备,其配置为收集和聚集由传感器检测到的值,从而在第一设备102(例如,智能电话设备)上执行的应用(例如,健康和/或健身应用)可以基于检测到的值实现功能。
[0052] 在决策304处,确定是否已经使用低功耗数据传递来传递数据单元。例如,连接特性确定模块204可以确定数据单元是否是利用分配给低功耗数据传递的特定连接特性来被传送的,如以上结合图2所讨论的。
[0053] 如果在决策304处确定数据单元不是经由低功耗数据传递来传递的(即,在决策304处为“否”),则过程进行到306,在306处,中断主处理器以处理经由常规数据传递来传递的数据单元,这与低功耗数据传递相比消耗更多的电力。例如,低功率数据传递模块124可以生成通知,其使得主处理器112和/或数据处理模块118唤醒并处理数据单元。从306起,过程可以返回到302,在其中可以接收另一数据单元。
[0054] 如果在决策304处确定数据单元是经由低功耗数据传递来传递的(即,在决策304处为“是”),则过程进行到308,其中直接将数据单元存储于专用存储器,而不中断主处理器。例如,低功率数据传递模块124可以将数据单元直接存储于专用存储器122或专用存储器126中。通过直接存储无线传递的数据单元,主处理器112并没有在每次接收到数据单元或数据单元集合时就消耗电力来唤醒并返回睡眠。而是,与唤醒主处理器112相关联的功耗被分散遍布多个数据单元(例如,数十、上百、上千,等等)或多个数据单元集合。例如,主处理器112可以被中断以处理在一段时间(例如,三十分钟、一个小时等)接收到的多个消息、通知和/或检测到的值,而不是每次接收到消息、通知或检测到的值时就被中断。从308起,过程可以返回到302,在其中可以接收另一数据单元。
[0055] 在310处,确定存在中断主处理器来处理经由直接存储器存取存储的数据单元的条件。例如,所述条件可以指定数据单元的数量超过阈值数量,或者经由直接存储器存取存储的数据的总量超过阈值总量。在另一例子中,所述条件可以指定在专用存储器(例如,122或126)中可用的存储器空间已经跌落到可用存储器空间的阈值量之下。在又一例子中,所述条件可以指定可用的电源已经掉落到可用电源阈值之下,并且低功耗数据单元应该被处理,从而信息不会丢失(例如,当专用存储器是易失性的并且电力可能很快用完时)。
[0056] 在312处,中断主处理器以处理数据单元。例如,低功率数据传递模块124可以生成通知,其使得主处理器112和/或数据处理模块118唤醒并处理先前存储于专用存储器内的数据单元。
[0057] 作为示例性场景,过程300可以由用户的智能电话实现,从而在用户正在锻炼(例如,十英里跑)的同时,可以接收支持蓝牙的可穿戴设备所收集到的健康和健身数据,并将这些数据直接进行存储而不中断智能电话主处理器。此外,可穿戴设备的网络接口可以经由直接存储器存取提供健康和健身数据,而不中断可穿戴设备的主处理器。在用户结束锻炼之后,智能电话可以处理接收到的数据并显示与活动相关联的健康和健身信息。这节省了智能电话的电力,因为智能电话的主处理器并不是在每次接收到数据单元时就被中断。在一些实例中,智能电话可以配置为在十英里跑期间立即中断(例如,唤醒)主处理器来处理其它数据,例如与重要消息相关联的通知。例如,该通知可以经由TCP通过移动电话网络而不是蓝牙进行传送,从而连接特性确定模块204可以区分低功耗数据传递和常规数据传递。
[0058] 图4示出了配置和传送低功耗数据传递设置的示例性过程400。
[0059] 在402处,配置低功耗数据传递设置。例如,低功耗数据传递设置可以指定低功耗数据单元将根据特定连接特性被传递402(A),或者伙伴设备将在特定存储位置公布用于低功耗传递的数据402(B)。低功率数据传递模块124可以基于从数据处理模块118和/或应用模块120接收到的指令来定义低功耗数据传递设置。例如,应用模块120可以配置有默认设置或用户定义设置,其指定由伙伴设备106的传感器检测到的值将基于特定连接特性(例如,网络端口、诸如蓝牙的通信协议等)经由低功耗数据传递而被传递。
[0060] 在404处,低功耗数据传递设置从一个设备被传送到另一设备。例如,第一设备102可以将低功耗数据传递设置传送到一个或多个伙伴设备106,从而数据可以被配置和/或存储以在第一设备102处支持直接存储器存取,由此节省第一设备102的电力。在另一例子中,第一设备102和伙伴设备106可以商定低功耗数据传递设置,从而可以配置和/或存储数据以在伙伴设备106处(例如,从特定存储位置直接读取)和第一设备102处(例如,直接写入专用存储器)支持直接存储器存取,由此节省第一设备102或伙伴设备106的电源的电力。
[0061] 在406处,根据低功耗数据传递设置传递低功耗数据单元。例如,连接特性确定模块204可以确定已经基于与数据单元相关联的连接特性(例如,网络端口、特定通信协议等)经由低功耗数据传递而传递了数据单元。在另一例子中,数据获取模块218可以从伙伴设备106的特定存储位置216请求数据,并将请求的数据经由直接存储器存取存储于专用存储器(例如,122或126)中,而不中断第一设备102的主处理器112和/或伙伴设备106的主处理器。
[0062] 图5示出了确定除了关于图4在以上讨论的那些以外的低功耗数据传递设置的示例性过程500。
[0063] 在502处,将经由低功耗数据传递而传递的数据的类型被确定为低功耗数据传递设置。例如,应用模块120的启动可以与提示相关联,所述提示询问用户提供输入,从而可以基于数据传递确定与应用模块120的执行相关联的功耗设置。在各种实现方式中,提示可以询问用户想要第一设备106接收和处理什么样类型的数据(例如,由可穿戴设备检测到的心率数据而不是血糖水平数据),和/或用户希望多久查看接收到并已处理的数据(例如,跑步的每30秒,跑步的每5分钟,跑步结束时,等等)。提示可以被呈现为具有如下指示:当数据不需要被频繁处理和查看时可以节省电源的电力。来自用户的输入可以帮助确定什么样类型的数据将经由低功耗数据传递而被传递以及经由直接存储器存储而被存储。例如,用户想要频繁(例如,十英里跑的每30秒)查看的信息可以经由常规数据传递进行传递,从而立即中断主处理器112来处理接收到或获取的数据单元,从而用户可以对其进行查看。用户不想要频繁查看(例如,在十英里跑结束时查看)的信息可以经由低功耗数据传递被传递,使得数据可以经由直接存储器存取而被存储,而不立即中断主处理器112。
[0064] 在504处,使得例如特定类型的数据的传递从低功耗数据传递被切换到常规数据传递的触发被确定为低功耗数据传递设置。例如,应用模块120可以配置为处理在一段时间(例如,十英里跑)与用户的心率相关联的信息,并且应用模块120可以与作为伙伴设备106的可穿戴设备通信。为了节省电力,可以经由低功耗数据传递来传递在可穿戴设备处检测到的心率值,从而在稍后时间(例如,在十英里跑结束时)可以由用户进行处理和查看。然而,用户可能想要在检测到的心率值超过阈值时立即被通知,从而用户能够减慢或休息(例如,不健康或甚至危险且需要降低的值)。因此,低功耗数据传递设置可以定义触发,该触发表示例如与不健康或危险的心率值相关联的数据单元将经由常规数据传递被传递,常规数据传递立即中断主处理器112来处理该数据,并向用户生成可显示的通知或警告。因此,根据由用户和应用模块120定义并被传送到可穿戴设备的低功耗数据传递设置,可穿戴设备配置为检测触发,并将特定类型的数据(例如,心率值)的传递从低功耗数据传递切换到常规数据传递。
[0065] 在506处,指示伙伴设备实现在操作502和/或504中确定出的低功耗数据传递设置。例如,第一设备102可以在伙伴设备106处收集并由伙伴设备106传递数据之前发送指令到伙伴设备106。
[0066] 图6示出了根据低功耗数据传递配置和传递数据的示例性过程600。
[0067] 在602处,从作为伙伴设备的一部分或与伙伴设备耦合的传感器收集数据(例如,经测量的值)。如上所讨论的,收集到的数据可以与在与伙伴设备106无线通信的第一设备102上执行的应用模块120实现的功能相关联或由该功能使用。
[0068] 在604处,至少部分地基于先前接收到的数据传递设置,存储和/或配置第一类型的数据已用于低功耗传递。例如,与应用模块120相关联的用户输入可以指示用户对查看在十英里跑期间检测的心率信息感兴趣,但是用户在十英里跑结束之前不会查看心率信息。
[0069] 在606处,至少部分地基于先前接收到的数据传递设置来存储和/或配置第二类型的数据,使得将不经由低功耗传递来传递所述数据。例如,第二类型的数据可以经由常规数据传递被传递,或者第二类型的数据可以根本不需要被传递。因此,可以在伙伴设备上将第二类型的数据存储于不同于被指定用于低功耗数据传递的特定存储位置216的存储位置。或者,第二类型的数据可以配置用于利用不同于分配给低功耗数据传递的特定网络端口的端口被传递。
[0070] 在608处,经由低功耗数据传递来传递第一类型的数据。例如,可以根据特定的连接特性传递被配置为传递第一类型数据的数据单元。在另一例子中,可以响应于从第一设备102接收到的读取请求来直接访问(例如,不中断伙伴设备106的主处理器)和传递第一类型的数据,所述读取请求标识伙伴设备106的特定存储位置216。
[0071] 在决策610处,确定是否存在从低功耗传递切换到常规传递的触发。如上所讨论的,可以经由低功耗数据传递设置定义所述触发。例如,所述触发可以与阈值相关联,从而如果第一类型的数据的检测到的值满足或超过阈值,则触发切换(例如,用户可能想要被通知不健康的心率值)。
[0072] 如果在决策610处是“否”,则过程返回到602,并且继续收集、存储和/或经由低功耗数据传递来传递第一类型的数据。如果在决策610处是“是”,则过程进行到612,其中第一类型的数据的传递从低功耗数据传递切换到常规数据传递,从而传递的信息可以被立即处理(例如,智能电话能够在十英里跑时生成将显示给用户的高心率的通知)。
[0073] 图7示出了监视存储数据单元的专用存储器以确定是否存在处理数据单元的条件的示例性过程700。
[0074] 在702处,监视专用存储器。例如,专用存储器监视模块224可以监视专用存储器122或专用存储器126。
[0075] 在决策704处,确定存储于专用存储器内的数据单元的数量是否超过数据单元的阈值数量。如果在决策704处是“是”,则过程进行到706,其中中断(例如,唤醒)主处理器以处理存储于专用存储器内的数据单元。
[0076] 如果在决策704处是“否”,则过程进行到决策708,其中确定专用存储器的存储器空间的可用量是否低于存储器空间的阈值量。如果在决策708处是“是”,则过程进行到706,其中中断(例如,唤醒)主处理器以处理存储于专用存储器内的数据单元。如果在决策708处是“否”,则过程返回到702,并继续监视专用存储器。
[0077] 图8示出了监视电源以确定是否存在处理存储于专用存储器中的数据单元的条件的示例性过程800。
[0078] 在802处,监视无线设备的电源。例如,电源监视模块230监视无线设备的电源110。
[0079] 在决策804处,确定电源的可用量是否低于电源的阈值量(例如,只剩余10%的电池寿命)。如果在决策804处是“是”,则过程进行到806,其中中断(例如,唤醒)主处理器以处理存储于专用存储器内的数据单元。如果在决策804处是“否”,则过程返回到802,并继续监视无线设备的电源。
[0080] 示例性条款
[0081] 例子A,一种方法,包括:接收一个或多个数据单元;由无线设备确定该一个或多个数据单元已经利用了低功耗传递被传递;响应于确定该一个或多个数据单元已经利用了低功耗数据传递被传递,直接将该一个或多个数据单元存储于无线设备的预定存储器内;确定存在中断无线设备的主处理器以处理直接存储于无线设备的预定存储器内的一个或多个数据单元的条件;以及至少部分地基于确定,中断无线设备的主处理器以处理直接存储于无线设备的预定存储器内的一个或多个数据单元。
[0082] 例子B,例子A的方法,其中,所述预定存储器是专用存储器,并且网络接口对无线设备的专用存储器的访问针对该一个或多个数据单元的直接存储被使能,而不涉及主处理器。
[0083] 例子C,例子A或例子B的方法,还包括:确定一个或多个数据单元根据特定连接特性被传递,并且其中确定一个或多个数据单元已经利用了低功耗传递被传递至少部分地基于特定连接特性。
[0084] 例子D,例子C的方法,还包括:从无线设备向从其接收到一个或多个数据单元的伙伴设备传送特定连接特性的指示,使得伙伴设备被使能为将该一个或多个数据单元配置为将利用低功耗传递被传递。
[0085] 例子E,例子C或例子D的方法,其中,所述特定的连接特性包括特定的网络端口。
[0086] 例子F,例子C或例子D的方法,其中,特定的连接特性包括特定的数据传递协议。
[0087] 例子G,例子A到例子F的任一个的方法,还包括:将存储于预定存储器内的未处理的数据单元的数量超过未处理的数据单元的阈值数量确定为该条件的至少一部分。
[0088] 例子H,例子A到例子F的任一个的方法,还包括:将存储于预定存储器内的未经处理的数据的总量超过未经处理的数据的阈值总量确定为该条件的至少一部分。
[0089] 例子I,例子A到例子F的任一个的方法,还包括:将预定存储器的可用的存储空间量低于阈值的存储空间量确定为该条件的至少一部分。
[0090] 例子J,例子A到例子F的任一个的方法,还包括:将无线设备的电源的可用剩余电力低于阈值电力量确定为该条件的至少一部分。
[0091] 虽然以上关于方法描述了例子A到例子J,但是可以理解的是,在该文件的上下文中,例子A到例子J的内容还可以关联于设备和/或计算机存储介质被实现。
[0092] 例子K,一种无线设备,包括:无线网络接口;一个或多个处理器;以及存储指令的一个或多个存储器,当在一个或多个处理器上执行时,所述指令使得无线网络接口用于:向与无线设备通信的另一设备提供将数据存储于另一设备的存储器的一个或多个特定存储位置中的指示;从另一设备的存储器的特定存储位置获取数据;以及直接将数据存储于无线设备的专用存储器内,而不中断无线设备的主处理器。
[0093] 例子L,例子K的无线设备,其中,所述指令还使得无线网络接口用于:确定存在中断无线设备的主处理器以处理数据的条件;以及中断无线设备的主处理器以处理数据。
[0094] 例子M,例子L的无线设备,其中,所述指令还使得无线网络接口用于:将专用存储器的可用存储空间量低于阈值存储空间量确定为该条件的至少一部分。
[0095] 例子N,例子L的无线设备,其中,所述指令还使得无线网络接口用于:将无线设备的电源的可用剩余电力量低于阈值电力量确定为该条件的至少一部分。
[0096] 虽然以上关于无线设备描述了例子K到例子N,但是可以理解的是,在该文件的上下文中,例子K到例子N的内容还可以关联于方法和/或计算机存储介质实现。
[0097] 例子O,一个或多个计算机存储介质,其存储计算机可执行指令,当被执行时,所述指令使得设备执行包括以下的操作:从另一设备接收数据传递设置;至少部分地基于从另一设备接收到的数据传递设置从一个或多个传感器收集值,其中所述数据传递设置指示设备经由低功耗数据传递从设备向另一设备传递至少一部分值;以及至少部分地基于数据传递设置,将至少一部分值配置为用于经由低功耗数据传递而传递到另一设备。
[0098] 例子P,例子O的一个或多个计算机存储介质,其中,所述配置包括生成一个或多个数据单元,该一个或多个数据单元将根据分配给低功耗数据传递的特定连接特性而被传递。
[0099] 例子Q,例子O的一个或多个计算机存储介质,其中,所述配置包括在设备的存储器的一个或多个特定存储位置中存储至少一部分值,以使能从所述一个或多个特定存储位置对所述至少一部分值的直接存储器访问。
[0100] 例子R,例子O到例子Q的一个或多个计算机存储介质,其中,所述数据传递设置定义特定类型的数据将被收集并将经由低功耗数据传递被传递,其中所述至少一部分值与所述特定类型的数据相关联。
[0101] 例子S,例子R的一个或多个计算机存储介质,其中,所述操作还包括:检测将特定类型的数据的传递从低功耗数据传递切换到立即中断另一设备的主处理器的常规数据传递的触发;以及至少部分地基于所述触发,经由常规数据传递来传递所述特定类型的数据的额外值。
[0102] 例子T,例子S的一个或多个计算机存储介质,其中,所述触发包括所述特定类型的数据的检测值超过阈值。
[0103] 虽然以上关于一个或多个计算机存储介质描述了例子O到例子T,但是可以理解的是,在该文件的上下文中,例子O到例子T的内容还可以关联于设备和/或方法实现。
[0104] 结论
[0105] 虽然已经用特定于结构特征和/或方法动作的语言描述了技术方案,但是可以理解的是,在权利要求中定义的技术方案不必局限于上述特定特征或动作。而是,上述特定特征和动作被描述为实现权利要求的示例性形式。