网络连接的能量高效最大化的制作方法

文档序号:7791725阅读:190来源:国知局
网络连接的能量高效最大化的制作方法
【专利摘要】电子设备在获取或维持与网络的网络连接中所消耗的功率的量的最小化可延长电子设备的电池寿命。当电子设备已经建立了与无线接入点的通信连接时,电子设备可在不终止通信连接的情况下将电子设备的网络接口控制器在通电状态和断电状态之间循环。因此,当网络接口控制器在通电状态期间检测到指示无线接入点具有针对电子设备的被缓冲的数据帧的信标时,电子设备将该电子设备的主处理器通电。
【专利说明】网络连接的能量高效最大化
[0001] 背景
[0002] 联网电子设备通常包括能够使该电子设备通过网络传送数据和接收来自其他 设备的数据的无线收发机。在许多实例中,该无线收发机可以是包括无线保真(Wi-Fi) IEEE802. 11无线电的无线网络接口控制器(NIC)。Wi-Fi无线电可使得电子设备能够经由 可在地理区域上分布的多个无线网络接入点(也称为热点)来连接到因特网。然而,每个 无线网络接入点的通信范围一般是受限的,当电子设备是经常被用户携带到多个不同位置 的移动设备时,这可导致问题。
[0003] 例如,为了最大化移动电子设备连接到网络的时间,网络接口控制器和电子设备 的主处理器可在即使没有数据正通过网络进行传送时保持开启。对网络接口控制器和主处 理器的持续断电可使得电子设备能够在当前无线接入点退出范围时进行对新的无线接入 点的搜索。在电子设备行进通过不同的地理区域时,由于网络接口控制器和主处理器作出 的持续的功率消耗,这些对新的无线接入点的搜索可过早地耗尽电子设备的电池。
[0004] 替换地,电子设备的用户可手动地对电子设备的网络接口控制器断电,并接着周 期性地打开网络接口控制器以在每个新的地理位置处搜索新的无线接入点。然而,由于用 户可经历与每个新的搜索的启动和执行相关联的时间延迟,这样的努力可能是麻烦和低效 的。此外,由于网络接口控制器被暂时禁用,电子设备上依赖于推送数据的应用(诸如电子 邮件程序和即时消息收发程序)可能不能立即地接收新数据。
[0005] 概述
[0006] 在此描述了用于在最大化电子设备的网络连接的同时最小化该电子设备在获取 或维持通信连接中所消耗的能量的量的技术。该电子设备可以是移动电子设备。电子设备 可使用Wi-Fi收发机来连接到网络,诸如因特网。无线收发机可以是包括Wi-Fi无线电的 无线网络接口控制器(NIC)。电子设备可使用网络接口控制器和电子设备的主服务器来不 仅通过网络传送数据,还在移动电子设备在不同的地理区域周围移动时搜索新的无线接 入点。因此,网络接口控制器和电子设备的主处理器在获取或维持到网络的网络连接的同 时可消耗大量功率。
[0007] 在其中电子设备正尝试获取与无线接入点的网络连接的场景中,可通过对电子设 备的主处理器断电并周期性地对网络接口控制器通电以搜索根据电子设备的使用上下文 被预先选择的一个或多个无线接入点来最小化功率消耗。由此,由于网络接口控制器一般 比电子设备的主处理器消耗更少的功率,在主处理器被断电时周期性地对网络接口控制器 通电可减少总的能量消耗。
[0008] 在这样的场景中,电子设备可选择至少一个无线接入点标识符以包括在无线接入 点标识符列表中并且用该列表来填充网络接口控制器存储器。可使用主处理器来至少根据 与电子设备有关的上下文数据选择该至少一个接入点标识符。电子设备可接着将主处理器 断电。电子设备可进一步周期性地将网络接口控制器在通电状态和省电状态之间循环,使 得网络接口控制器可在通电状态期间执行扫描以寻找与无线接入点标识符匹配的无线接 入点。在一些实例中,这种对与列表中的无线接入点标识符匹配的无线接入点的扫描与对 任意可用无线接入点的扫描相比可消耗更少的能量。响应于网络接口控制器检测到与网络 接口控制器存储器中的对应无线接入点标识符匹配的无线接入点,电子设备可另外对主处 理器通电。
[0009] 在其中电子设备连接到无线接入点的另一场景中,可通过使用不同的技术来最小 化功率消耗。在至少一个实例中,电子设备可在不终止通信连接的情况下将电子设备的网 络接口控制器在通电状态和断电状态之间循环。因此,当网络接口控制器在通电状态期间 检测到指示无线接入点具有针对电子设备的被缓冲的数据帧的信标时,电子设备可进一步 将电子设备的主处理器通电。
[0010] 在另一实例中,功率消耗最小化可包括将电子设备的主处理器断电,并将网络接 口控制器置于省电状态达时间间隔,时间间隔根据无线接入点和电子设备之间的通信连接 的稳健性而变化。在这样的实例中,电子设备可根据通信连接的稳健性来计算电子设备的 网络接口控制器的自适应休眠间隔。电子设备可接着将电子设备的网络接口控制器从持续 自适应休眠间隔的省电状态切换到通电状态。因此,当网络接口控制器在通电状态期间检 测到指示无线接入点具有针对电子设备的被缓冲的数据帧的信标时,电子设备可将电子 设备的主处理器通电。
[0011] 由此,通过将电子设备在获取或维持与网络的网络连接中所消耗的功率的量最小 化,电子设备与网络的整体网络连接的持续时间可被增加。此外,功率消耗最小化还可增加 电子设备的电池寿命,产生对于电子设备的用户而言额外的便利性和生产性。
[0012] 提供本概述是为了以简化的形式介绍将在以下具体实施例中进一步描述的一些 概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所 要求保护主题的范围。
[0013] 附图简述
[0014] 参考附图来描述详细描述。在附图中,附图标记最左边的数字标识该附图标记首 次出现于其中的附图。在不同的附图中使用相同的附图标记来指示相似或相同的项。
[0015] 图1是示出实现在已连接的场景和已断开连接的场景中电子设备的能量高效网 络连接最大化的示例方案的框图。
[0016] 图2是显示在获取并维持与无线接入点的网络连接期间最小化功率消耗的电子 设备的示例模块和组件的说明性图。
[0017] 图3是显示被电子设备用来在搜索可用无线接入点期间最小化功率消耗的搜索 技术的说明性图。
[0018] 图4是示出用于实现周期性断电模式的示例过程的流程图,该周期性断电模式周 期性地将电子设备的网络接口控制器循环通电和断电以减少功率消耗。
[0019] 图5是示出用于实现自适应休眠模式的示例过程的流程图,该自适应休眠模式将 电子设备的网络接口控制器置于省电状态中达变化的时间间隔以减少功率消耗。
[0020] 图6是示出用于根据电子设备的使用上下文来确定是否将电子设备置于周期性 断电模式或自适应休眠模式中的示例过程的流程图。
[0021] 图7是示出用于通过周期性地将网络接口控制器通电以搜索根据上下文数据被 预先选择的一个或多个无线接入点来减少功率消耗的示例过程的流程图。
[0022] 详细描述
[0023] 在此描述了用于最大化电子设备的网络连接的同时最小化该电子设备在获取或 维持通信连接中所消耗的功率的量的技术。该电子设备可以是移动电子设备。电子设备可 使用Wi-Fi收发机来连接到网络,诸如因特网。无线收发机可以是包括Wi-Fi无线电的无线 网络接口控制器(NIC)。电子设备可使用网络接口控制器和电子设备的主服务器来不仅通 过网络传送数据,还在电子设备在地理区域周围移动时搜索新的无线接入点。因此,网络接 口控制器和电子设备的主处理器在获取或维持到网络的网络连接的同时可消耗大量功率。
[0024] 在一些实施例中,各技术在电子设备寻找与无线接入点的网络连接的同时减少网 络接口控制器和该电子设备的主处理器的功率消耗。在这样的实施例中,各技术可包括根 据与电子设备的当前使用上下文有关的数据来选择无线接入点列表。随后,电子设备的主 处理器可被断电并且网络接口控制器可被置于省电状态。网络接口控制器接着可被周期性 地通电以搜索列表中的无线接入点中的一个或多个。该列表可被周期性地更新以适配电子 设备的使用上下文中的变化。
[0025] 在其他实施例中,各技术在电子设备通过无线接入点进行与网络的活动通信连接 的同时减少网络接口控制器和该电子设备的主处理器的功率消耗。在一些实例中,各技术 可包括对电子设备的主处理器进行断电,并周期性地将网络接口控制器循环地通电和断 电。在这样的实例中,电子设备的网络栈可被配置成即使在网络接口控制器被断电的间隔 期间依然避免断开与无线接入点的网络连接。
[0026] 在其他实例中,各技术可包括将电子设备的主处理器断电,并将网络接口控制器 置于省电状态达时间间隔,时间间隔根据无线接入点和电子设备之间的通信连接的稳健性 而变化。在这样的实例中,可根据被电子设备106获取的从无线接入点发出的通信信号的 信号强度来直接测量通信连接的稳健性。替换地,可通过由无线接入点传送的未能到达电 子设备的信标数据的属性来间接地测量通信连接的稳健性。
[0027] 因此,通过最小化电子设备在获取或维持与网络的网络连接中所消耗的功率的 量,电子设备与网络的整体网络连接的持续时间可被增加。此外,功率消耗最小化还可增加 电子设备的电池寿命,产生对于电子设备的用户而言额外的便利性和生产性。以下参考图 1-7来描述用于实现根据各实施例的能量高效网络连接最大化的技术的各种示例。
[0028] 示例方案
[0029] 图1是示出实现在已连接的场景102和已断开连接的场景104中电子设备的能量 高效网络连接最大化的示例方案100的框图。电子设备106可以是通用计算机,诸如平板 计算机、膝上型计算机等。然而,在其它实施例中,电子设备106可以是智能电话、游戏控制 台、个人数字助理(PDA)或能够通过网络接口控制器与网络交互的任何其他电子设备等中 的一个。
[0030] 在各个实施例中,电子设备106可包括至少一个主处理器108和网络接口控制器 110和其他组件。主处理器108可处理被输入到电子设备106中的或由电子设备的另一组 件生成的输入数据来产生输出数据。进而,输出数据可被呈现到电子设备106的用户或被 电子设备106的另一组件处理。例如,在其中电子设备106是智能电话的实例中,主处理器 108可执行存储在智能电话中的各个应用,使得智能电话可执行通信和/或生产力功能。
[0031] 网络接口控制器110可使得电子设备106能够建立并实现经由网络与其他电子设 备的通信。在各实施例中,网络接口控制器110可包括Wi-Fi无线电112,该Wi-Fi无线电 112向电子设备106提供与一个或多个无线接入点(诸如Wi-Fi无线接入点114)通信的能 力。
[0032] 电子设备106可以在若干不同状态中操作。在活动状态中,电子设备106可以处 理数据并实现功能。例如,在其中电子设备106是智能电话的实例中,当用户正在使用电子 设备106来打电话、检查电子邮件、浏览网站、撰写文本消息等时,电子设备106可处于活动 状态。
[0033] 然而,电子设备106还可经常在待机状态中操作。在待机状态中,电子设备106可 被配置成最小化能量消耗的同时保持电子设备106准备好恢复活动状态。然而,电子设备 106可经常被配置成即使在待机状态中也能执行任务。在各个场景中,主处理器108和网 络接口控制器110可保持通电以便持续地找出和/或维持与一个或多个Wi-Fi无线接入点 (诸如无线接入点114)的网络连接。通过这种方式,通信数据(例如,电子邮件、传入V0IP 呼叫提醒、文本消息)可在电子设备106处于待机状态时依然被推送到电子设备106上的 应用或被这些应用拉取。然而,尤其当电子设备106是在不同的Wi-Fi无线接入点之间 移动的电子设备时,这样在待机状态中对网络连接的获取或维持可能显著地降低电子设备 106的电池寿命。
[0034] 例如,在与无线接入点114的通信连接116的建立期间,电子设备106可最初向无 线接入点116认证。在认证期间,网络接口控制器110可向无线接入点114发送认证请求。 认证请求可包括电子设备106的站标识符(例如,网络接口控制器110的MAC地址)。进 而,无线接入点114可用指示认证的成功或失败的认证响应消息来回答。
[0035] 在其中在电子设备106和无线接入点114之间实现共享密钥认证的实例中,认证 还可包括将共享密钥传递到无线接入点114。例如,这样的共享密钥可以是有线等效加密 (WEP)密钥或Wi-Fi保护接入(WPA)密钥。
[0036] 一旦认证完成,网络接口控制器110可向无线接入点114发送关联请求以获取对 网络的访问。在接收到关联请求后,无线接入点114可记录电子设备106的站标识符(例 如,网络接口控制器110的MAC地址),使得数据分组或帧可被递送到电子设备106。例如, 当无线接入点114将关联授予给电子设备106时,无线接入点114可用指示成功关联的状 态码以及关联ID(AID)来对电子设备106进行响应。否则,无线接入点114可用关联失败 状态码来对电子设备106进行响应。
[0037] 此外在关联期间,电子设备106和无线接入点114可进一步建立目标信标传输时 间(TBTT)和/或监听间隔。在各实施例中,无线接入点114可缓冲针对电子设备106的数 据帧使得无线接口控制器110可在省电状态和通电状态之间循环来节省能量,而不丢失来 自无线接入点114的任何被缓冲的数据帧。当在省电状态中时,网络接口控制器110没有 被完全断电,但是处于非活动状态以节省功率。此外,在网络接口控制器110在省电状态和 通电状态之间循环时,电子102的主处理器108可被断电以进一步节省能量。
[0038] TBTT可以是在其无线接入点114向电子设备106发送信标的时间。每个信标可通 知电子设备106无线接入点114是否缓冲了针对电子设备106的数据帧。例如,信标可以 是包括缓冲状态指示符的数据帧,其中当没有数据帧被缓冲时,缓冲状态指示符可具有"〇" 值,当数据帧被缓冲时,缓冲状态指示符可具有"1"值。因此,两个TBTT之间的时间差可 被知晓为信标间隔。
[0039] 进而,电子设备106的网络接口控制器110可向无线接入点114提供监听间隔。监 听间隔可向无线接入点114指示电子设备106希望在省电状态中保持的信标间隔数量。因 此,无线接入点114可被配置成在丢弃被缓冲的数据帧之前将该数据帧保持至少监听间隔 的持续时间。通过这种方式,电子设备106可进入省电状态,并接着周期性地通电以规律的 间隔来检查信标。由此,如果接收到的信标没有指示数据帧被缓冲,则网络接口控制器110 可恢复省电状态,直到下一信标检查。然而,如果接收到的信标的确指示数据帧被缓冲,则 网络接口控制器110可保持通电来接收被缓冲的数据巾贞,并且网络接口控制器110可进一 步触发主处理器108来通电并处理接收到的数据帧。
[0040] 然而,尽管使用TBTT和监听间隔可提供一些省电益处,但是当电子设备106在已 连接的场景102中时,可从使用网络接口控制器110的周期性断电模式118和/或自适应 休眠模式120中实现附加的省电益处。在已连接的场景102中,电子设备106可能已经建 立了与无线接入点114的网络连接。
[0041] 当电子设备106处于待机状态时实现周期性断电模式118。例如,用户可通过激 活电子设备106的用户界面的休眠按键来将电子设备106置于待机状态中。在周期性断电 模式118期间,电子设备106的主处理器108可被断电。此外,网络接口控制器110可被替 换地以规律的间隔通电和断电,而非在省电状态和通电状态之间循环来节省能量。断电持 续时间的每一个可比网络接口控制器110在关联阶段与无线接入点114建立的监听间隔更 长。
[0042] 由此,通过使用这些更长的持续时间以及完全地对网络接口控制器110断电而非 在持续时间中的每一个中将该控制器置于省电状态,周期性断电模式118可实现比使用 TBTT和监听间隔所可能实现的功率节省更大的功率节省。然而,由于网络接口控制器110 被间歇地断电,电子设备106可丢失指示无线接入点114已经缓冲了针对电子设备106的 数据帧的信标。结果,无线接入点114可能丢弃这种旨在针对电子设备106的被缓冲的数 据帧。
[0043] 然而,无线接入点114在网络接口控制器110被断电时在间隔期间丢弃一个或多 个数据帧的可能性可通过发送这些数据帧的应用的通信冗余来补偿。例如,应用可以是在 网络服务器上向电子设备106提醒传入呼叫的V0IP通信程序。因此,V0IP通信程序可连 续地发送出旨在针对电子设备106的多个传入呼叫提醒数据帧。该多个传入呼叫提醒数据 帧被无线接入点114缓冲。电子设备106可在一个或多个被缓冲的传入呼叫提醒数据帧被 无线接入点114丢弃之前由于网络接口控制器110被断电而不能接收该一个或多个被缓冲 的传入呼叫提醒数据帧。然而,网络接口控制器110可最终检测来自无线接入点114的指 示传入呼叫提醒数据帧在通电间隔期间被缓冲的信标。网络接口控制器110可随后接收数 据帧并触发主处理器108来处理数据帧。可对当电子设备106在周期性断电模式118中操 作时丢失的被缓冲的数据帧的可能性进行补偿的可容忍延迟的应用的其他实例可包括文 本消息收发程序、电子邮件程序等。因此,周期性断电模式118可向电子设备106提供可行 的方法来在已连接的场景102期间节省计额外的能量。
[0044] 在其他实施例中,自适应休眠模式120向电子设备106提供另一方法来在已连接 的场景102期间节省额外的能量。在自适应休眠模式120中,网络接口控制器110可在与 无线接入点114的关联期间建立标准的TBTT和标准的信标间隔。网络接口控制器110还 可建立用于无线接入点114来缓冲每个数据帧的缓冲持续时间,该缓冲持续时间是在关联 期间的信标间隔的长度的数倍(例如,10倍)。
[0045] 随后,为了在当电子设备106处于待机状态时维持与无线接入点114的网络连接 的同时节省功率,网络接口控制器110可被置于省电状态达多个自适应休眠间隔。自适应 休眠间隔中的每个(例如,自适应休眠间隔122)是网络接口控制器110的两次通电之间用 于监听信标的时间,并可被规定为从未超过与无线接入点114建立的缓冲持续时间。进一 步地,网络接口控制器110可根据电子设备106和无线接入点114之间的通信连接116的 稳健性来成比例地变化每个自适应休眠间隔的长度。由此,通信连接116越强,则自适应休 眠间隔越长,而通信连接116越弱,则自适应休眠间隔越短。
[0046] 每个自适应休眠间隔的变型可根据以下原理:当通信连接116是强的时,网络接 口控制器110可能不能检测到信标的可能性是小的,使得网络接口控制器110更加可能承 受忽略被无线接入点114发送出的信标中的一些而不丢失被缓冲的数据帧。另一方面,当 通信连接116是弱的时,网络接口控制器110可能不能检测到信标的可能性变得更大,使 得网络接口控制器110不大可能承受忽略信标中的一些。
[0047] 由此,通过使用自适应休眠间隔而非固定长度的监听间隔,自适应休眠模式120 可使得在已连接的场景102期间主处理器108能够被断电并且网络接口控制器110能够被 置于省电模式达较长的持续时间。
[0048] 尽管周期性断电模式118和自适应休眠模式120可能够使得电子设备106在已连 接的场景102期间获得更多的功率节省,但是它们在已断开连接的场景104期间不向电子 设备106提供任何功率节省益处。在已断开连接的场景104中,电子设备106可被断开到 任意无线接入点的连接,并且主动地搜索无线接入点以建立网络连接。因此,主处理器108 和网络接口控制器110可被通电并搜索可用的无线接入点。
[0049] 如关于已断开连接的场景104显示的,电子设备106可利用Wi-Fi卸载以在搜索 可用无线接入点124的同时减少能量消耗。Wi-Fi卸载启用能够进行Wi-Fi卸载的网络接 口控制器(诸如网络接口控制器110)来将所选的无线接入点标识符存储在网络接口控制 器的存储器中的卸载列表126中。无线接入点标识符可以是Wi-Fi服务集标识符(SSID) 或Wi-Fi基本服务集标识符(BSSID)。SSID可以是无线接入点的公共名称,而BSSID可以 是无线接入点的媒体访问控制(MAC)地址。因此,尽管一组无线接入点可在一些实例中共 享共同的SSID,但是每个无线接入点一般具有唯一的BSSID。无线接入点标识符可被电子 设备106的主处理器108选择用于存储在卸载列表126中,并被网络接口控制器110的网 络接口控制器处理器存储到卸载列表126中。可根据电子设备106的使用上下文来从主标 识符数据128中选择无线接入点标识符。在各实施例中,使用上下文可包括电子设备106 的当前位置、电子设备106的预测位置、一天中的时间、由电子设备106上的任务管理应用 指示的用户的即将到来的事件或预约等。主标识符数据128可包括存储在电子设备106中 的标识符信息和/或存储在外部服务器(诸如在处于计算云中的数据中心处的服务器)上 的标识符信息。
[0050] -旦所选无线接入点标识符已经被存储在卸载列表126中,则主处理器108可被 断电并且网络接口控制器110可被置于省电状态。随后,网络接口控制器110可被周期性 地通电以搜索与无线接入点标识符匹配的一个或多个无线接入点。由此,如果网络接口控 制器110能够检测到匹配的无线接入点,则网络接口控制器110可接着触发主处理器108 来通电以建立与所检测到的无线接入点的网络连接。在一些实施例中,一旦网络连接被建 立,电子设备106就可进入周期性断电模式118或自适应休眠模式120。否则,网络接口控 制器110可断电或返回进入省电状态达预定时间间隔,直到下一次通电以搜索一个或多个 匹配的无线接入点。
[0051] 附加地,主处理器108可被周期性地通电以刷新存储在网络接口控制器110的存 储器中的卸载列表126。每次对列表的刷新都可将在电子设备106的使用上下文中的任意 变化考虑在内。由此,通过利用能够卸载的网络接口控制器和使用该控制器上的网络接口 控制器处理器来检测可用的无线接入点,电子设备106可通过在已断开连接的场景104中 周期性地对电子设备106的主处理器108断电来进一步减少功率消耗。
[0052] 在一些实施例中,网络接口控制器110可使用概率数据结构方案来增加被监视用 于检测匹配的无线接入点的无线接入点标识符的数量。例如,存储卸载列表126的存储器 206的存储器容量可被限制为用于存储10个无线接入标识符的空位。在这样的示例中,网 络接口控制器110可使用布隆(Bloom)过滤器来折衷假肯定以换取在存储器206中的相同 数量的标识符空位中存储多于10个无线接入点标识符以供网络接口控制器110监视的能 力。如在此使用的,假肯定表示即使新检测到的标识符实际上不匹配存储在存储器206中 的被监视的无线接入标识符之一,网络接口控制器110也可将主处理器108通电。由此,折 衷是在最小化假肯定率和最大化多个被监视的无线接入点标识符之间。
[0053] 在这样的实施例中,网络接口控制器110可通过维护位向量以及使用一组散列函 数来对要被监视的无线接入标识符进行散列来实现概率数据结构。对于使用散列函数来实 现的每个散列,网络接口控制器110可翻转位向量中的对应位。此外,当被网络接口控制器 110在搜索期间新检测到无线接入点时,网络接口控制器110可对该新检测到的无线接入 点的标识符进行散列。在散列之后,网络接口控制器110可检查是否所得到的对应位都是 "1"。在对应位都是"1"的情况下,网络接口控制器110可将主处理器108通电。可以理解, 具有所有位都等于"1"并不保证在新检测到的无线接入点和存储在存储器206中的无线 接入点标识符之间的精确匹配。相反,这样的结果可指示存在新检测到的无线接入点匹配 存储在存储器206中的无线接入点标识符的高的概率。
[0054] 电子设备组件
[0055] 图2是显示在获取并维持与无线接入点的网络连接期间最小化功率消耗的电子 设备106的示例模块和组件的说明性图。电子设备106可包括至少一个主处理器108、网络 接口控制器110、主存储器202和/或使用户能够与电子设备交互的用户控件。进而,网络 接口控制器110可包括NIC处理器204、存储器206、周期性断电组件208、自适应休眠组件 210、触发组件212、周期性搜索组件214和概率匹配组件216。存储器206可存储卸载列表 126和其他数据。网络接口控制器110的组件可使用NIC处理器204来执行任务和功能。
[0056] 主存储器202和存储器206中的每个可以用诸如计算机存储介质之类的计算机可 读介质来实现。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质 和通信介质。计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其 他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算 机存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能 盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储信 息以供计算设备访问的任何其他非传输介质。相反,通信介质通常用诸如载波或其他传输 机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。如本文所 定义的,计算机存储介质不包括通信介质。
[0057] 主存储器202可存储模式选择模块218、列表选择模块220、网络接口模块222、用 户界面模块224、功率管理模块226以及一个或多个应用228。模块中的每个可包括可由主 处理器108执行来执行特定任务或实现特定抽象数据类型的例程、程序指令、对象、脚本和 /或数据结构。
[0058] 网络接口控制器110可使用周期性断电组件208来执行周期性断电模式118。在 各个实施例中,周期性断电组件208可包括在已连接的场景104中以规律的间隔循环将网 络接口控制器110通电和断电的硬件和/或软件指令。在一些实施例中,软件指令可被存 储在存储器206中。网络接口控制器110可在网络接口控制器110的每个通电间隔期间 监听来自无线接入点114的指示被缓冲的数据帧的存在或缺失的信标。
[0059] 因此,当网络接口控制器110检测到指示针对电子设备106的数据帧被缓冲的信 标时,网络接口控制器110可接收被缓冲的数据帧。此外,网络接口控制器110的触发组件 212还可触发主处理器108来通电并处理接收到的数据帧。
[0060] 周期性断电组件208的适当操作可取决于在主存储器202中网络接口模块222的 配置。网络接口模块222可实现网络栈234的分层抽象,该网络栈234从底往上包括链接 层236、因特网层238、传输层240以及使得电子设备106能够经由网络接收和传送数据的 应用层242。在至少一个实施例中,链接层236可被配置成当底层物理层244中的网络接口 控制器110在周期性断电模式118期间周期性地断电时防止网络栈的其余部分从无线接入 点114断开连接。换言之,链接层236可被配置成制止放弃网络接口控制器110先前从无 线接入点114获得的IP地址,和/或执行当网络接口控制器110断电时链接层236将通常 执行的任何其他网络链接终止动作。
[0061] 在其他实施例中,网络接口模块222可实现网络栈234中链接层236之下的附加 过滤层246。过滤层246可防止网络栈中的剩余层在周期性断电模式118期间变得知晓网 络接口控制器110的断电。例如,过滤层246可在网络接口控制器110断电时阻止由物理 层244发起的媒体断开连接消息到达网络栈234的其余部分。通过这种方式,链接层236 可被防止放弃IP地址和/或执行其他网络连接终止活动。
[0062] 如以上描述的,无线接入点114在网络接口控制器110被断电时在间隔期间丢弃 一个或多个数据帧的可能性可通过发送这些数据帧的应用(诸如应用248)的通信冗余来 补偿。应用248可驻留在服务服务器250上。例如,应用248可以是持续地发送出旨在针 对电子设备106的多个传入呼叫提醒数据帧252 (1)-252 (N)的V0IP通信程序。由此,无线 接入点114可丢弃数据帧252 (1)-252 (N)中的一个或多个,诸如数据帧252 (1)-252 (2),这 是因为网络接口控制器110被断电了。然而,网络接口控制器110可仍然在通电间隔期间 接收传入呼叫提醒数据帧252 (N),使得电子设备106的用户不丢失对应的V0IP呼叫。
[0063] 网络接口控制器110可使用自适应休眠组件210来实现自适应休眠模式120。在 各个实施例中,自适应休眠组件210可包括在自适应休眠模式120期间对网络接口控制器 110的自适应休眠间隔进行变化的硬件和/或软件指令。休眠间隔可根据电子设备106和 无线接入点114之间的通信连接116的稳健性来变化。在一些实施例中,软件指令可被存 储在存储器206中。
[0064] 可根据通信信号的信号强度来评估通信连接116的稳健性。由此,自适应休眠组 件210可测量在自适应休眠模式120期间由无线接入点114传送的通信信号的强度。因此, 通信信号的强度越强,由自适应休眠组件210实现的自适应休眠间隔就越长。相反,通信信 号的强度越弱,由自适应休眠组件210实现的自适应休眠间隔就越短。
[0065] 在一些实施例中,自适应休眠间隔的持续时间与无线接入点114传送的通信信号 的强度直接成比例。例如,给定无线接入点114的数据帧缓冲持续时间是1秒并且信标间 隔是100毫秒,则无线接入点114可每秒传送10个信标。在这样的示例中,当无线接入点 114传送的通信信号的信号强度是90%的强度时,自适应休眠组件210可采取900毫秒作 为网络接口控制器110的自适应休眠间隔。然而,当无线接入点114传送的通信信号的信 号强度是10%的强度时,自适应休眠组件210可采取100毫秒作为网络接口控制器110的 自适应休眠间隔。
[0066] 替换地,可根据自适应休眠组件210检测到的信标丢失率来测量通信连接116的 稳健性。信标丢失率可以是在测试间隔期间网络接口控制器110未能接收到的预期信标的 百分比。在一个示例中,自适应休眠组件210可知晓无线接入点114被配置成在400毫秒 的测试间隔256中传送4个信标254 (1) -254 (4) ( S卩,每100毫秒1个信标)。然而,网络接 口控制器110仅在测试间隔期间接收到两个信标(例如,信标254(2)和254(4))。根据这 些数据,自适应休眠组件210可确定信标丢失率是50%。
[0067] 随后,在每个测试间隔后,自适应休眠组件210可根据信标丢失率在测试间隔期 间调整自适应休眠间隔。在各个实施例中,较高的信标丢失率可导致较短的自适应休眠间 隔,而较低的信标丢失率可导致较长的自适应休眠间隔。在至少一个实施例中,自适应休眠 间隔可与信标丢失率成反比。例如,当信标丢失率是10%时,自适应休眠组件210可采用 900毫秒作为网络接口控制器110的自适应休眠间隔。然而,当无线接入点114传送的通信 信号的信号强度是标准化范围上的90%时,自适应休眠组件210可采取100毫秒作为网络 接口控制器110的自适应休眠间隔。
[0068] 在至少一个实施例中,自适应休眠组件210可在省电间隔之后进行信标丢失率测 试以确定下一自适应休眠间隔的长度。通过这种方式,自适应休眠组件210可适应于电子 设备106和无线接入点114之间的网络连接的稳健性方面的改变。
[0069] 然而,当网络接口控制器110检测到指示针对电子设备106的数据帧被缓冲的信 标时,网络接口控制器110可接收被缓冲的数据帧。此外,网络接口控制器110的触发组件 212还可触发主处理器108来通电并处理接收到的数据帧。
[0070] 模式选择模块218可使得电子设备106能够选择周期性断电模式118或自适应休 眠模式120来由网络接口控制器110实现。这样的确定可在电子设备106要被置于待机状 态时作出。模式选择模块218可根据电子设备106的使用上下文作出关于要实现哪个模式 的确定。在各个实施例中,模式选择模块218可命令网络接口控制器110在存在电子设备 106要在将来的特定时间段内被再次使用的高的可能性(例如,超过50%的可能性)时应 用自适应休眠模式120。另一方面,模式选择模块218可在存在电子设备106要在将来的 特定时间段内被通电的低的可能性(例如,50%或更少的可能性)时应用周期性断电模式 118。这个选择实践可以根据以下观察:尽管周期性断电模式118相比于自适应休眠模式 120节省更多能量,但是在断电后对网络接口控制器110通电来恢复网络连接相比于从省 电状态对网络接口控制器110通电可花费更多时间和处理开销。
[0071] 模式选择模块218可根据电子设备106的使用上下文来确定电子设备106要在将 来的特定时间段内被再次通电的可能性。这样的使用上下文可包括诸如以下的因素:一天 中的时间、电子设备106的位置(例如,家庭或办公室)、电子设备106的预测位置、电子设 备106上任务管理应用中标记的预约或事件的存在或缺失、电子设备106的先前使用模式 和/或其他相关因素。在一些实施例中,模式选择模块218还可具有根据电子设备106的 预测使用上下文来在将来时间处将电子设备106在各模式之间进行切换的能力。例如,在 用户将电子设备106放在待机状态中后,模式选择模块218可在前10分钟将网络接口控制 器110置于自适应休眠模式120中,接着在10分钟过后将网络接口控制器110切换到周期 性断电模式118,或反之亦然。
[0072] 列表选择模块220可对网络接口控制器110进行配置以在已断开连接的场景104 期间高效地搜索无线接入点124。在操作中,列表选择模块220可选择用于从主标识符数 据128卸载到网络接口控制器110的无线接入点标识符。主标识符数据128可包括在各个 地理区域中可用的无线接入点的标识符。主标识符数据128的标识符可包括SSID和/或 BSSID。主标识符数据128可被存储在接入点数据服务器258上和/或电子设备126的数 据存储230中。接入点数据服务器258可以是计算云的一部分的服务器。
[0073] 在各个实施例中,列表选择模块220可根据与电子设备106有关的上下文数据232 来从主标识符数据128中选择标识符。上下文数据232可包括由电子设备106的全球定位 系统(GPS)组件提供的GPS数据。电子设备106可在收集GPS数据之前经由用户界面模块 224向用户提示来获得同意。GPS数据可提供关于当前位置、行进的方向、行进的速度、行进 的道路等的信息。替换地或同时地,上下文数据232还可包括关于电子设备106连接到其 的无线接入点的历史数据,包括这样的无线接入点的地理位置、连接的持续时间等。
[0074] 在一些实施例中,上下文数据232还可包括由电子设备106上的应用228提供的 信息。这样的信息可包括电子设备106的用户的预约或预定的事件、用户的旅行计划和/ 或用户的可有助于计划用户的一个或多个将来位置的其他安排信息。
[0075] 因此,列表选择模块220可处理上下文数据232来选择标识符以供放置在卸载列 表126中。在一些实施例中,列表选择模块220可使用条件概率算法来根据电子设备106 的先前连接过的无线接入点来预测行进的预期方向,并且进而,电子设备106的预期位置。
[0076] 在其他实施例中,列表选择模块220可使用其他机器学习和/或分类算法来根据 上下文数据232预测电子设备106的位置。机器学习算法可包括受监督的学习算法、不受 监督的学习算法、和/或半监督的学习算法等等。分类算法可包括支持向量机、神经网络、 专家系统、贝叶斯信任网络、模糊逻辑、和/或数据融合引擎等等。在附加的实施例中,列表 选择模块220可采用一种或多种有向或无向模型分类方法,诸如朴素贝叶斯、贝叶斯网络、 决策树、神经网络、模糊逻辑模型、和/或其他概率分类模型。
[0077] -旦列表选择模块220已经预测了电子设备106的位置,列表选择模块220就可 从主标识符数据128中选择对应于预测位置的无线接入点的标识符。列表选择模块220可 进一步用对应的无线接入点的标识符来填充卸载列表126。在图3中示出了对对应于预测 位置的无线接入点的标识符的选择。
[0078] 图3是显示在搜索对应于电子设备106的预测位置的可用无线接入点期间电子设 备106所采用的技术的说明性图。在一些实施例中,列表选择模块220可使用最近距离搜 索302来从主标识符数据128中选择预定数量的标识符。所选的标识符可属于最靠近电子 设备106的预测位置304的无线接入点。例如,列表选择模块220可从多个无线接入点的 标识符中选择属于无线接入点306 (1)-306 (N)的标识符,因为无线接入点306 (1)-306 (N) 是最靠近预测位置304的。
[0079] 在其他实施例中,列表选择模块220可使用基于分区的搜索308来从主标识符数 据128中选择预定数量的标识符。在基于分区的搜索308中,列表选择模块314可将电子设 备106的预测位置304周围的地理区域划分成多个区分,诸如分区310 (1)-310 (N)。因此, 列表选择模块314可从每个分区中选择最靠近电子设备106的预测位置304的一个或多个 无线接入点的标识符。例如,列表选择模块220可从多个无线接入点的标识符中选择属于 无线接入点312(1)-312(N)的标识符。通过从每个分区中选择一个或多个无线接入点的标 识符,列表选择模块220可防止对被群集在特定区域中的无线接入点的标识符的选择。相 反,列表选择模块220可跨不同的罗盘方向来分布选择。这样的分布可补偿关于电子设备 106的预测位置304和/或电子设备106的行进的预测位置的任何错误。
[0080] 返回图2,尽管在一些实施例中,卸载列表126中的每个空位可用对应于电子设备 106的预测位置的无线接入点的标识符来填充,但是在其他实施例中卸载列表126中的空 位可被不同地填充。在这样的实施例中,尽管卸载列表126中的多个空位用对应于预测位 置的无线接入点的标识符来填充,但是其他空位可用流行无线接入点的标识符和/或先前 与电子设备106连接的无线接入点的标识符来填充。流行无线接入点可由接入点数据服务 器258根据从多个用户的无线接入点使用模式收集的历史使用数据来选择。在各个实施例 中,流行无线接入点可以是其使用率大于一组无线接入点的平均使用率、其使用率大于阈 值和/或其使用率在使用率的预定最高范围内的无线接入点。
[0081] 此外,存储器206中空位的数量可被存储器206的容量限制。例如,当在卸载列表 126中存在32个空位时,列表选择模块220可用对应于预测位置的无线接入点的标识符来 填充空位中的22个,用流行无线接入点的标识符来填充空位中的5个,并用先前与电子设 备106连接的无线接入点的标识符来填充空位中的5个。
[0082] 一旦所选无线接入点标识符已经被存储在卸载列表126中,则主处理器108可被 断电并且网络接口控制器110可被置于省电状态。随后,周期性搜索组件214可对网络接 口控制器110周期性地通电,使得网络接口控制器110可搜索与卸载列表126中的无线接 入点标识符匹配的一个或多个无线接入点。在各个实施例中,周期性搜索组件214可包括 在已断开连接的场景104中将网络接口控制器110在通电状态和省电状态中循环的硬件和 /或软件指令。在一些实施例中,软件指令可被存储在存储器206中。
[0083] 由此,如果网络接口控制器110能够检测到匹配的无线接入点(例如,无线接入 点114),则网络接口控制器110可接着使用触发组件212来触发主处理器108来通电以建 立与所检测到的无线接入点的通信连接。在其中同时检测到多个匹配的无线接入点的实例 中,电子设备106可根据一个或多个准则来选择该多个匹配的无线接入点之一。该一个或 多个准则可包括最强信号强度、可靠性历史、多个无线接入点的提供者的身份等。在一些实 施例中,一旦通信连接被建立,电子设备106就可进入周期性断电模式118或自适应休眠模 式120。否则,如果没有检测到匹配的无线接入点,则网络接口控制器110可返回到省电状 态达预定时间间隔,直到下一次通电来搜索一个或多个匹配的无线接入点。
[0084] 然而,在替换的实施例中,网络接口控制器110可具有在不需要主处理器108涉 入的情况下建立与所检测到的无线接入点的通信连接的能力,而非使用触发组件212来将 主处理器108通电以建立网络通信。由此,在这样的实施例中,网络接口控制器110可在与 所检测到的无线接入点的通信连接已经建立后使用触发组件212来将主处理器108通电。
[0085] 在各个实施例中,网络接口控制器110可在省电状态和在通电状态中主动地搜索 匹配的无线标识符之间周期性地循环。网络接口控制器110可这么做直到多个失败的扫 描,即,在每个主动搜索处都未能检测到匹配的无线接入点,达预定的阈值。周期性搜索组 件214可跟踪这样的失败的扫描的次数。在失败的扫描的次数达到预定的阈值时,周期性 搜索组件214可将主处理器108通电,使得列表选择模块220可根据与电子设备106有关 的上下文数据232来从主标识符数据128中选择新的标识符。通过这种方式,卸载列表126 中的标识符可根据上下文数据232来刷新。
[0086] 在一些实施例中,网络接口控制器110可使用概率数据结构方案来增加被存储在 存储器206中并被网络接口控制器110监视的无线接入点标识符的数量。例如,存储卸载 列表126的存储器206的存储器容量可被限制为存储10个无线接入标识符。在这样的示 例中,网络接口控制器110可使用布隆(Bloom)过滤器来折衷假肯定以换取在存储器206 的相同量中存储多于10个无线接入点标识符以供网络接口控制器110监视的能力。
[0087] 在这样的实施例中,概率匹配组件216可根据布隆过滤器将一组SSID或BSSID插 入存储器206中。该组SSID或BSSID可由列表选择模块220选择。可通过维护位向量并使 用一组散列函数对要被监视的无线接入标识符进行散列来执行该插入。概率匹配组件216 可具有使用NIC处理器204来实现散列函数的能力。在各个实施例中,散列函数中的每个 可以是密码上安全的散列函数或不是密码上安全的散列函数。对于使用特定的散列函数来 实现的每个散列,概率匹配组件216可翻转位向量中的对应位。该插入过程可由以下的伪 代码示出:
[0088] initialize bit vector to 0 (将位向量初始化为 0) for each s in SSID(BSSID) List do (对于 SSID(BSSID)列农屮的每个 s,进行)
[0089] for each k in list of hash functions do (对于散列_函数_列表中的 每个k,进行) index = hashi<(s) bitvector= 1 endfor endfor
[0090] 此外,当被网络接口控制器110在搜索期间新检测到无线接入点时,概率匹配组 件214可对该新检测到的无线接入点的标识符进行散列。在散列之后,概率匹配组件214 可检查是否所得到的对应位都是" 1"。在对应位都是" 1"的情况下,概率匹配组件214可使 用触发组件214将主处理器108通电。该匹配过程可由以下的伪代码示出:
[0091] foreach k; in list_of_hash_functions do (对于散列_l求i 数_列农'屮的句:个 k,进行) index = hashk(newSSID) if\0 == bitvector[i]) return false; endfor return true;
[0092] 如该伪代码所示出的,具有散列结果的所有位都等于"1"并不保证在新检测到的 无线接入点和存储在存储器206中的无线接入点标识符之间的精确匹配。相反,这样的结 果可指示存在新检测到的无线接入点匹配存储在存储器206中的无线接入点标识符的高 的概率。
[0093] 被概率匹配组件216实现来执行以上描述的插入过程和匹配过程的散列函数的 数量可被设置成最小化布隆过滤器中的假肯定率。例如,假设m是网络接口控制器110中 存储器206的大小(以位为单位),η是要被监视的SSID或BSSID的数量,并且k是布隆过 滤器所使用的散列函数的数量,假肯定的概率可被表示为:
[0094]
【权利要求】
1. 一种计算机实现的方法,包括: 在电子设备和无线接入点之间建立通信连接; 在不终止所述通信连接的情况下,使所述电子设备的网络接口控制器在通电状态和断 电状态之间循环;以及 至少部分地响应于所述网络接口控制器在所述通电状态期间检测到来自所述无线接 入点的指示所述无线接入点具有针对所述电子设备的被缓冲的数据帧的信标,将所述电子 设备的主处理器通电以处理所述被缓冲的数据帧。
2. 如权利要求1所述的计算机实现的方法,其特征在于,进一步包括接收命令以将所 述电子设备置于待机状态中,其中所述循环包括在所述命令被接收后循环所述网络接口控 制器。
3. 如权利要求1所述的计算机实现的方法,其特征在于,所述电子设备包括实现所述 通信连接的网络栈,并且其中在不终止所述通信连接的情况下的所述循环包括阻止媒体断 开连接消息到达所述网络栈的链接层或更高层中的至少一个,所述媒体断开连接消息来自 包括所述网络接口控制器的所述网络栈的物理层。
4. 一种存储计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时 使一个或多个处理器执行以下动作: 在电子设备和无线接入点之间建立通信连接; 至少根据所述通信连接的稳健性来计算所述电子设备的网络接口控制器的自适应休 眠间隔; 将所述网络接口控制器从持续所述自适应休眠间隔的省电状态切换到通电状态以监 听信标;以及 至少部分地响应于所述网络接口控制器在所述通电状态期间检测到来自所述无线接 入点的指示所述无线接入点具有针对所述电子设备的被缓冲的数据帧的信标,将所述电子 设备的主处理器通电。
5. 如权利要求4所述的计算机可读介质,其特征在于,进一步包括至少部分地响应于 所述网络接口控制器检测到指示所述无线接入点不具有针对所述电子设备的被缓冲的数 据帧的信标,至少根据所述通信连接的稳健性来计算所述网络接口控制器的另一自适应休 眠间隔。
6. 如权利要求4所述的计算机可读介质,其特征在于,所述计算包括至少部分基于所 述通信连接的信号强度或与所述通信连接相关联的信标丢失率来计算所述自适应休眠间 隔。
7. -种电子设备,包括: 主处理器; 网络接口控制器(NIC),所述网络接口控制器包括NIC处理器和NIC存储器;以及 主存储器,所述主存储器包括多个计算机可执行模块,所述多个计算机可执行模块包 括: 列表选择模块,所述列表选择模块至少根据与所述电子设备有关的上下文数据来选择 至少一个无线接入点标识符以包括在无线接入点标识符列表中,并用所述无线接入点标识 符列表来填充所述NIC存储器;以及 功率管理模块,所述功率管理模块在用所述无线接入点标识符列表对所述NIC存储器 填充后将所述主处理器断电。
8. 如权利要求7所述的电子设备,其特征在于,所述列表中的每个无线接入点标识符 是对应的无线接入点的服务集标识符(SSID)或基本服务集标识符(BSSID)之一。
9. 如权利要求7所述的电子设备,其特征在于,所述网络接口控制器进一步包括以下 至少一个: 周期搜索组件,所述周期搜索组件使所述网络接口控制器在通电状态和省电状态之间 周期性地循环,所述网络接口控制器在所述通电状态期间执行对与所述NIC存储器中的所 述无线接入点标识符列表匹配的无线接入点的扫描; 概率匹配组件,所述概率匹配组件将无线接入点标识符集合插入到所述NIC存储器中 并确定无线接入点和所述集合中的所述无线接入点标识符之一之间的可能匹配,其中所述 无线接入点标识符集合中的无线接入点标识符的数量大于所述NIC存储器中可用的标识 符空位的数量;以及 触发组件,所述触发组件至少在所述网络接口控制器检测到与所述NIC存储器中的对 应无线接入点标识符匹配的特定无线接入点时将所述主处理器通电。
10. 如权利要求7所述的电子设备,其特征在于,所述列表选择模块进一步包括用以下 至少之一来填充所述无线接入点标识符列表:流行无线接入点的标识符、先前与所述电子 设备连接的无线接入点的标识符,或对应于所述电子设备的预期位置的无线接入点的标识 符。
【文档编号】H04W52/02GK104145510SQ201380011451
【公开日】2014年11月12日 申请日期:2013年2月1日 优先权日:2012年2月28日
【发明者】R·钱德拉, J·C·克鲁姆, X·周, S·沙罗尤 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1