首页 / 国际专利分类库 / 电学 / 电通信技术 / 无线通信网络 / 监督、监控或测试装置 / 用于网络质量估计、连接性检测以及负载管理的系统和方法

用于网络质量估计、连接性检测以及负载管理的系统和方法

申请号 CN201280052605.4 申请日 2012-09-17 公开(公告)号 CN103907315B 公开(公告)日 2017-10-27
申请人 高通股份有限公司; 发明人 A·梅朗; J·K·孙达拉拉詹; G·贾雷塔;
摘要 在本文中描述了涉及估计回程 质量 、检测互联网连接性和管理 服务器 负载的系统、方法和设备。在一些方面中,无线设备被配置为对通信链路的质量进行估计。设备包括被配置为接收数据单元的网络 接口 。设备还包括被配置为在网络接口处对所接收的数据单元进行监控的处理器。处理器还被配置为针对经由网络接口接收的每一个数据单元判断数据单元是源自于局域网还是非本地网络。处理器还被配置为基于源自非本地网络的数据单元来计算通信链路的特性。
权利要求

1.一种用于估计通信链路的质量的方法,所述方法包括:
经由网络接口来接收数据单元;
对所述网络接口处的所接收的数据单元进行监控;
针对经由所述网络接口接收的每一个所接收的数据单元并且基于对每一个所接收的数据单元中包括的信息进行识别以及将所识别的信息与和局域网或者非本地网络中的至少一个相关联的信息进行比较,判断每一个所接收的数据单元是源自于所述局域网还是所述非本地网络,其中当所接收的数据单元中的接收的数据单元的子网与所述网络接口的子网匹配时,所述接收的数据单元源自所述局域网;
基于源自所述非本地网络的所接收的数据单元来计算所述通信链路的特性;以及利用所述特性来估计所述通信链路的质量。
2.根据权利要求1所述的方法,还包括:
当所述网络接口变得可用时,开始测量;
当所述网络接口变得可用时,启动定时器
在所述定时器达到限之后停止所述测量;
对所接收的数据单元的字节进行计数,其中,源自所述局域网的字节不被计数;
计算突发速率采样;以及
对多个最高突发速率采样的速率进行平均。
3.根据权利要求1所述的方法,还包括:
确定所述网络接口的所述子网;以及
从下载比特速率中排除源自所述网络接口的所述子网的所接收的数据单元的字节。
4.根据权利要求1所述的方法,还包括:
确定所接收的数据单元的每一个字节的多播或广播属性;以及
排除具有所述多播或广播属性的字节。
5.根据权利要求1所述的方法,还包括:
服务器发送所述通信链路的所估计的质量。
6.根据权利要求1所述的方法,其中,所述特性包括所述通信链路的传送速度。
7.根据权利要求1所述的方法,其中,所述特性包括所述通信链路的等待时间。
8.根据权利要求1所述的方法,其中,所述特性包括所述通信链路的分组延迟变化。
9.根据权利要求1所述的方法,其中,所述特性包括所述通信链路的分组错误率或分组丢失率。
10.一种被配置为估计通信链路的质量的无线设备,所述无线设备包括:
网络接口,其被配置为接收数据单元;以及
处理器,其被配置为:
对所述网络接口处的所接收的数据单元进行监控;
针对经由所述网络接口接收的每一个所接收的数据单元并且基于对每一个所接收的数据单元中包括的信息进行识别以及将所识别的信息与和局域网或者非本地网络中的至少一个相关联的信息进行比较,判断每一个所接收的数据单元是源自于所述局域网还是所述非本地网络,其中当所接收的数据单元中的接收的数据单元的子网与所述网络接口的子网匹配时,所述接收的数据单元源自所述局域网;
基于源自所述非本地网络的所接收的数据单元来计算所述通信链路的特性;以及利用所述特性来估计所述通信链路的质量。
11.根据权利要求10所述的无线设备,其中,所述处理器还被配置为:
当所述网络接口变得可用时,开始测量;
当所述网络接口变得可用时,启动定时器;
在所述定时器达到门限之后停止所述测量;
对所接收的数据单元的字节进行计数,其中,源自所述局域网的字节不被计数;
计算突发速率采样;以及
对多个最高突发速率采样的速率进行平均。
12.根据权利要求10所述的无线设备,其中,所述处理器还被配置为:
确定所述网络接口的所述子网;以及
从下载比特速率中排除源自所述网络接口的所述子网的所接收的数据单元的字节。
13.根据权利要求10所述的无线设备,其中,所述处理器还被配置为:
确定所接收的数据单元的每一个字节的多播或广播属性;以及
排除具有所述多播或广播属性的字节。
14.根据权利要求10所述的无线设备,还包括发射机,所述发射机被配置为向服务器发送所述通信链路的所估计的质量。
15.根据权利要求10所述的无线设备,其中,所述特性包括所述通信链路的传送速度。
16.根据权利要求10所述的无线设备,其中,所述特性包括所述通信链路的等待时间。
17.根据权利要求10所述的无线设备,其中,所述特性包括所述通信链路的分组延迟变化。
18.根据权利要求10所述的无线设备,其中,所述特性包括所述通信链路的分组错误率或分组丢失率。
19.一种用于估计通信链路的质量的装置,所述装置包括:
用于经由网络接口来接收数据单元的模
用于对所述网络接口处的所接收的数据单元进行监控的模块;
用于针对经由所述网络接口接收的每一个所接收的数据单元并且基于对每一个所接收的数据单元中包括的信息进行识别以及将所识别的信息与和局域网或者非本地网络中的至少一个相关联的信息进行比较,判断每一个所接收的数据单元是源自于所述局域网还是所述非本地网络的模块,其中当所接收的数据单元中的接收的数据单元的子网与所述网络接口的子网匹配时,所述接收的数据单元源自所述局域网;
用于基于源自所述非本地网络的所接收的数据单元来计算所述通信链路的特性的模块;以及
用于利用所述特性来估计所述通信链路的质量的模块。
20.根据权利要求19所述的装置,还包括:
用于当所述网络接口变得可用时开始测量的模块;
用于当所述网络接口变得可用时启动定时器的模块;
用于在所述定时器达到门限之后停止所述测量的模块;
用于对所接收的数据单元的字节进行计数的模块,其中,源自所述局域网的字节不被计数;
用于计算突发速率采样的模块;以及
用于对多个最高突发速率采样的速率进行平均的模块。
21.根据权利要求19所述的装置,还包括:
用于确定所述网络接口的所述子网的模块;以及
用于从下载比特速率中排除源自所述网络接口的所述子网的所接收的数据单元的字节的模块。
22.根据权利要求19所述的装置,还包括:
用于确定所接收的数据单元的每一个字节的多播或广播属性的模块;以及用于排除具有所述多播或广播属性的字节的模块。
23.根据权利要求19所述的装置,还包括:
用于向服务器发送所述通信链路的所估计的质量的模块。
24.根据权利要求19所述的装置,其中,所述特性包括所述通信链路的传送速度。
25.根据权利要求19所述的装置,其中,所述特性包括所述通信链路的等待时间。
26.根据权利要求19所述的装置,其中,所述特性包括所述通信链路的分组延迟变化。
27.根据权利要求19所述的装置,其中,所述特性包括所述通信链路的分组错误率或分组丢失率。

说明书全文

用于网络质量估计、连接性检测以及负载管理的系统和方法

[0001] 相关申请的交叉引用
[0002] 本申请基于35U.S.C.§119(e)要求于2011年9月16日提交的序列号为61/535,708的美国临时专利申请的优先权,上述美国临时专利申请的完整内容通过引用并入本文并且应该被认为是本说明书的一部分。

技术领域

[0003] 概括地说,本申请涉及无线通信,更具体地说,本申请涉及用于管理网络质量估计的系统、方法和设备。

背景技术

[0004] 在许多电信系统中,通信网络用于在若干个交互的空间上分离的设备之间交换消息。根据地理范围可以对网络进行分类,地理范围可能是例如都市区域、局部区域或个人区域。可以将这样的网络分别命名为广域网(WAN)、城域网(MAN)、局域网(LAN)、无线局域网(WLAN)或个域网(PAN)。网络还根据用于对各种网络节点和设备进行互联的交换/路由技术(例如,电路交换与分组交换)、用于传输的物理介质的类型(例如,有线的与无线的)以及所使用的通信协议的集合(例如,互联网协议套件,SONET(同步光网络),以太网等)而不同。
[0005] 当网络元件是移动的并且因此具有动态的连接需要时,或者如果网络架构以自组织而不是固定的拓扑来形成,那么无线网络通常是优选的。无线网络在无线电、微波、红外线、光学等频段中的使用电磁波的非导向式的传播模式中使用无形的物理介质。当与固定有线网络相比时,无线网络有利地促进用户移动性及快速现场部署。
[0006] 无线网络中的设备可以在彼此之间发送/接收信息。设备传送信息的速度在不同的搭档设备和/或不同的无线网络之间可能不同。因此,用于估计网络速度、检测连接性和对其进行管理的系统、方法和设备是期望的。发明内容
[0007] 本发明的系统、方法和设备均具有若干方面,其中没有单个的一个单独地负责其期望的属性。在不限制本发明的由随后权利要求所表达的范围的情况下,现在将对一些特征进行简明地讨论。在考虑了该讨论,尤其是在阅读了题为“具体实施方式”的部分之后,将理解本发明的特征如何提供优点,其包括结合网络接入信息的接收来估计网络速度和/或互联网连接性,从而减少无用数据的传送。
[0008] 本公开内容中描述的主题的方面提供了用于确定通信链路的特性的方法。所述方法包括:在移动设备处向服务器发送针对用于确定通信链路的适用性的第一通信的第一请求。所述方法还包括:从所述服务器接收响应于所述第一请求的所述第一通信。所述第一通信是在所述通信链路上接收的。所述方法还包括:基于所述第一通信来确定所述通信链路的适用性。所述方法还包括:存储用于标识多个网络的所确定的适用性的信息。所述方法还包括:在所述通信链路上选择性地发送针对第二通信的第二请求。所述选择性地发送是基于所存储的信息的。
[0009] 本公开内容中描述的主题的另一个方面提供了被配置为确定通信链路的特性的无线设备。所述设备包括发射机,所述发射机述被配置为发送针对用于确定通信链路的适用性的第一通信的第一请求。所述发射机被配置为向服务器发送所述第一请求。所述设备还包括接收机,所述接收机被配置为从所述服务器接收响应于所述第一请求的所述第一通信。所述接收机被配置为在所述通信链路上接收所述第一通信。所述设备还包括处理器,所述处理器被配置为基于所述第一通信来确定所述通信链路的适用性。所述设备还包括存储器,所述存储器被配置为存储用于标识多个网络的所确定的适用性的信息。所述发射机还被配置为在所述通信链路上选择性地发送针对第二通信的第二请求。所述选择性地发送是基于所存储的信息的。
[0010] 本公开内容中描述的主题的另一个方面提供了用于确定通信链路的特性的装置。所述装置包括:用于向服务器发送针对第一通信的第一请求的模。所述第一通信是用于确定所述通信链路的适用性的。所述装置还包括:用于从所述服务器接收响应于所述第一请求的所述第一通信的模块。所述第一通信是在所述通信链路上接收的。所述装置还包括:
用于基于所述第一通信来确定所述通信链路的适用性的模块。所述装置还包括:用于存储用于标识多个网络的所确定的适用性的信息的模块。所述装置还包括:用于在所述通信链路上选择性地发送针对第二通信的第二请求的模块。所述选择性地发送是基于所存储的信息的。
[0011] 本公开内容中描述的主题的另一个方面提供了非暂时性计算机可读介质。所述介质包括:当被执行时使装置发送针对用于确定通信链路的适用性的第一通信的第一请求的代码。所述第一请求是向服务器发送的。所述介质包括:当被执行时使所述装置在所述通信链路上从所述服务器接收响应于所述第一请求的所述第一通信的代码。所述介质还包括:当被执行时使所述装置基于所述第一通信来确定所述通信链路的适用性的代码。所述介质还包括:当被执行时使所述装置存储用于标识多个网络的所确定的适用性的信息的代码。
所述介质还包括:当被执行时使所述装置在所述通信链路上选择性地发送针对第二通信的第二请求的代码。所述选择性地发送是基于所存储的信息的。
[0012] 本公开内容中描述的主题的另一个方面提供了用于确定活动的通信链路的特性的方法。所述方法包括:基于第一接入限制来确定经由所述活动的通信链路接入服务器的允许性。所述方法还包括:当允许接入时,发送针对来自所述服务器的通信的请求。所述方法还包括:在所述通信链路上从所述服务器接收响应于所述请求的通信。所述方法还包括:基于来自所述服务器的通信来确定所述通信链路的特性。
[0013] 本公开内容中描述的主题的另一个方面提供了被配置为确定活动的通信链路的特性的无线设备。所述设备包括处理器,所述处理器被配置为基于第一接入限制来确定经由所述活动的通信链路接入服务器的允许性。所述设备还包括发射机,所述发射机被配置为当允许接入时,发送针对来自所述服务器的通信的请求。所述设备还包括接收机,所述接收机被配置为在所述通信链路上从所述服务器接收响应于所述请求的通信。所述处理器还被配置为基于来自所述服务器的通信来确定所述通信链路的特性。
[0014] 本公开内容中描述的主题的另一个方面提供了用于确定活动的通信链路的特性的装置。所述装置包括:用于基于第一接入限制来确定经由所述活动的通信链路接入服务器的允许性的模块。所述装置还包括:用于当允许接入时,发送针对来自所述服务器的通信的请求的模块。所述装置还包括:用于在所述通信链路上从所述服务器接收响应于所述请求的通信的模块。所述装置还包括:用于基于来自所述服务器的通信来确定所述通信链路的特性的模块。
[0015] 本公开内容中描述的主题的另一个方面提供了另一种非暂时性计算机可读介质。所述介质包括:当被执行时使装置基于第一接入限制来确定经由活动的通信链路接入服务器的允许性的代码。所述介质还包括:当被执行时使装置当允许接入时,发送针对来自所述服务器的通信的请求的代码。所述介质包括:当被执行时使所述装置在所述通信链路上从所述服务器接收响应于所述请求的通信的代码。所述介质还包括:当被执行时使所述装置基于来自所述服务器的所述通信来确定所述通信链路的特性的代码。
[0016] 本公开内容中描述的主题的另一个方面提供了用于检测通过接入点到服务器的连接性的方法。所述方法包括:在无线设备处生成包括令牌的连接检测请求。所述方法还包括:在所述无线设备处经由所述接入点发送去往服务器的连接检测请求。所述方法还包括:等待来自所述服务器的连接检测响应。所述方法还包括:判断所接收的连接检测响应是否包括所述令牌。
[0017] 本公开内容中描述的主题的另一个方面提供了用于在无线网络中进行通信的方法。所述方法包括:确定至少一个通信链路的网络连接是可接受的或不可接受的。所述方法还包括:在不可接受的网络连接的情况下,在通信链路上发送第一数据子集。所述方法还包括:在可接受的网络连接的情况下,在通信链路上发送第二数据子集。
[0018] 本公开内容中描述的主题的另一个方面提供了被配置为检测通过接入点到服务器的连接性的无线设备。所述设备包括处理器,所述处理器被配置为生成包括令牌的连接检测请求。所述设备还包括发射机,所述发射机被配置为经由所述接入点发送去往服务器的连接检测请求。所述处理器还被配置为等待来自所述服务器的连接检测响应。所述处理器还被配置为判断所接收的连接检测响应是否包括所述令牌。
[0019] 本公开内容中描述的主题的另一个方面提供了被配置为在无线网络中进行通信的无线设备。所述设备包括处理器,所述处理器被配置为确定至少一个通信链路的网络连接是可接受的或不可接受的。所述设备还包括发射机,所述发射机被配置为在不可接受的网络连接的情况下,在通信链路上发送第一数据子集。所述发射机还被配置为在可接受的网络连接的情况下,在通信链路上发送第二数据子集。
[0020] 本公开内容中描述的主题的另一个方面提供了用于检测通过接入点到服务器的连接性的装置。所述装置包括:用于生成包括令牌的连接检测请求的模块。所述装置还包括:用于经由所述接入点向服务器发送所述连接检测请求的模块。所述装置还包括:用于等待来自所述服务器的连接检测响应的模块。所述装置还包括:用于判断所接收的连接检测响应是否包括所述令牌的模块。
[0021] 本公开内容中描述的主题的另一个方面提供了用于在无线网络中进行通信的装置。所述装置包括:用于确定至少一个通信链路的网络连接是可接受的或不可接受的模块。所述装置还包括:用于在不可接受的网络连接的情况下,在通信链路上发送第一数据子集的模块。所述装置还包括:用于在可接受的网络连接的情况下,在通信链路上发送第二数据子集的模块。
[0022] 本公开内容中描述的主题的另一个方面提供了另一种非暂时性计算机可读介质。所述介质包括:当被执行时使装置生成包括令牌的连接检测请求的代码。所述介质还包括:
当被执行时使所述装置经由接入点向服务器发送所述连接检测请求的代码。所述介质还包括:当被执行时使所述装置等待来自所述服务器的连接检测响应的代码。所述介质还包括:
当被执行时使所述装置判断所接收的连接检测响应是否包括令牌的代码。
[0023] 本公开内容中描述的主题的另一个方面提供了另一种非暂时性计算机可读介质。所述介质包括:当被执行时使装置确定至少一个通信链路的网络连接是可接受的或不可接受的代码。所述介质还包括:当被执行时使所述装置在不可接受的网络连接的情况下,在通信链路上发送第一数据子集的代码。所述介质还包括:当被执行时使所述装置在可接受的网络连接的情况下,在通信链路上发送第二数据子集的代码。
[0024] 本公开内容中描述的主题的另一个方面提供了另一种用于确定通信链路的特性的方法。所述方法包括:在移动设备处发送针对来自服务器的通信的请求。所述方法还包括:在所述通信链路上从所述服务器接收响应于所述请求的通信。所述方法还包括:计算用于接收所述通信的业务或时间中的至少一个的目标量。所述方法还包括:基于所计算的所接收的时间或业务的量来终止所述通信。所述方法还包括:基于来自所述服务器的通信来确定所述通信链路的特性。
[0025] 本公开内容中描述的主题的另一个方面提供了另一种被配置为确定通信链路的特性的无线设备。所述设备包括发射机,所述发射机被配置为发送针对来自服务器的通信的请求。所述设备还包括接收机,所述接收机被配置为在所述通信链路上从所述服务器接收响应于所述请求的通信。所述设备还包括处理器,所述处理器被配置为计算用于接收所述通信的业务或时间中的至少一个的目标量。所述处理器还被配置为基于所计算的所接收的时间或业务的量来终止所述通信。所述处理器还被配置为基于来自所述服务器的通信来确定所述通信链路的特性。
[0026] 本公开内容中描述的主题的另一个方面提供了另一种用于确定通信链路的特性的装置。所述装置包括:用于发送针对来自服务器的通信的请求的模块。所述装置还包括:用于在所述通信链路上从所述服务器接收响应于所述请求的通信的模块。所述装置还包括:用于计算用于接收所述通信的业务或时间中的至少一个的目标量的模块。所述装置还包括:用于基于所计算的所接收的时间或业务的量来终止所述通信的模块。所述装置还包括:用于基于来自所述服务器的通信来确定所述通信链路的特性的模块。
[0027] 本公开内容中描述的主题的另一个方面提供了另一种非暂时性计算机可读介质。所述介质包括:当被执行时使装置发送针对来自服务器的通信的请求的代码。所述介质包括:当被执行时使所述装置在通信链路上从所述服务器接收响应于所述请求的通信的代码。所述介质还包括:当被执行时,使所述装置计算用于接收所述通信的业务或时间中的至少一个的目标量的代码。所述介质还包括:当被执行时使所述装置基于所计算的所接收的时间或业务的量来终止所述通信的代码。所述介质还包括:当被执行时使所述装置基于来自所述服务器的所述通信来确定所述通信链路的特性的代码。
[0028] 本公开内容中描述的主题的另一个方面提供了用于估计通信链路的质量的方法。所述方法包括:经由网络接口来接收数据单元。所述方法还包括:监控在所述网络接口处接收的数据单元。所述方法还包括:针对经由所述网络接口接收的每一个数据单元判断所述数据单元是源自于局域网还是非本地网络。所述方法还包括:基于源自非本地网络的数据单元来计算所述通信链路的特性。
[0029] 本公开内容中描述的主题的另一个方面提供了被配置为对通信链路的质量进行估计的无线设备。所述设备包括网络接口,所述网络接口被配置为接收数据单元。所述设备还包括处理器,所述处理器被配置为监控在所述网络接口处接收的数据单元。所述处理器还被配置为针对经由所述网络接口接收的每一个数据单元判断所述数据单元是源自于局域网还是非本地网络。所述处理器还被配置为基于源自非本地网络的数据单元来计算所述通信链路的特性。
[0030] 本公开内容中描述的主题的另一个方面提供了用于对通信链路的质量进行估计的装置。所述装置包括:用于经由网络接口来接收数据单元的模块。所述装置还包括:用于监控在所述网络接口处接收的数据单元的模块。所述装置还包括:用于针对经由所述网络接口接收的每一个数据单元判断所述数据单元是源自于局域网还是非本地网络的模块。所述装置还包括:用于基于源自非本地网络的数据单元来计算所述通信链路的特性的模块。
[0031] 本公开内容中描述的主题的另一个方面提供了另一种非暂时性计算机可读介质。所述介质包括:当被执行时使装置经由网络接口来接收数据单元的代码。所述介质还包括:
当被执行时使所述装置监控在所述网络接口处接收的数据单元的代码。所述介质还包括:
当被执行时使所述装置针对经由所述网络接口接收的每一个数据单元判断所述数据单元是源自于局域网还是非本地网络的代码。所述介质还包括:当被执行时使所述装置基于源自非本地网络的数据单元来计算通信链路的特性的代码。
附图说明
[0032] 图1示出了可以在其中使用本公开内容的方面的无线通信系统的示例。
[0033] 图2示出了可以在无线设备中使用的各种部件(包括接收机),所述无线设备可以在图1的无线通信系统中使用。
[0034] 图3是根据一个实施例的查询响应的示意图。
[0035] 图4是示出用于确定通信链路质量的充分性的方法的流程图
[0036] 图5是示出用于确定接入点的互联网连接性的方法的流程图。
[0037] 图6是示出用于确定通信链路的特性的方法的实施例的流程图。
[0038] 图7是根据本发明的示例性实施例的、用于确定通信链路的特性的系统的功能框图
[0039] 图8是示出用于确定活动的通信链路的特性的方法的实施例的流程图800。
[0040] 图9是根据本发明的示例性实施例的、用于确定活动的通信链路的特性的系统的功能框图。
[0041] 图10是示出用于检测通过接入点到服务器的连接性的方法的实施例的流程图。
[0042] 图11是根据本发明的示例性实施例的、用于检测通过接入点到服务器的连接性的系统的功能框图。
[0043] 图12是示出用于在无线网络中进行通信的方法的实施例的流程图。
[0044] 图13是根据本发明的示例性实施例的、用于在无线网络中进行通信的系统的功能框图。
[0045] 图14是示出用于确定通信链路的特性的另一种方法的实施例的流程图。
[0046] 图15是根据本发明的示例性实施例的、用于确定通信链路的特性的另一个系统的功能框图。
[0047] 图16是示出用于对通信链路的质量进行估计的实施例的流程图。
[0048] 图17是根据本发明的示例性实施例的、用于对通信链路的质量进行估计的系统的功能框图。

具体实施方式

[0049] 参照附图在下文中对新颖的系统、装置和方法的各个方面进行了更加全面的描述。然而,教导的公开内容可以以多种不同的形式体现并且不应当被解释为局限于贯穿本公开内容所给出的任何特定的结构或功能。而是提供这些方面以使得本公开内容将是透彻的和完整的,并且将向本领域中的技术人员全面地传达本公开内容的范围。基于本文中的教导,本领域中的技术人员应当意识到的是,本公开内容的范围旨在涵盖本文中公开的新颖的系统、装置和方法的任意方面,不管这些方面是独立地实现的还是与本发明的任何其它方面结合地实现的。例如,可以使用本文中阐述的任何数量的方面来实现装置或实施方法。此外,本发明的范围旨在涵盖使用除了或不同于本文中阐述的本发明的各个方面的其它结构、功能或者结构和功能来实施的这样的装置和方法。应当理解的是,本文中公开的任何方面可以由权利要求的一个或多个元素来体现。
[0050] 尽管本文中描述了特定的方面,但是这些方面的许多变形和置换落入本公开内容的范围之内。尽管提到了优选的方面的一些益处和优点,但是本公开内容的范围并不旨在局限于特定的益处、使用或目标。而是,本公开内容的方面旨在可广泛地应用于不同的无线技术、系统配置、网络和传输协议,对其中的一些通过示例的方式在图中以及在下面对优选的方面的描述中进行了说明。具体实施方式和附图对本公开内容仅是说明性的而非限定性的,本公开内容的范围由所附的权利要求及其等效物来定义。
[0051] 流行的无线网络技术可以包括各种类型的无线局域网(WLAN)。WLAN可以用于运用广泛使用的网络协议(networking protocol)将附近的设备互联在一起。本文中描述的各个方面可以应用于任何通信标准,诸如WiFi,或更加概括地说,无线协议的IEEE族的任何成员。例如,本文中描述的各个方面可以用作IEEE802.11n协议的一部分。
[0052] 在一些实现方式中,WLAN包括各种设备,这些设备是接入无线网络的部件。例如,可以有两种类型的设备:接入点(“AP”)和客户端(也被称为站或“STA”)。总体而言,AP充当用于WLAN的集线器或基站,以及STA充当WLAN的用户。例如,STA可以是膝上型计算机、个人数字助理(PDA)、移动电话等。在一个示例中,STA经由WiFi(例如,诸如802.11n的IEEE802.11协议)兼容的无线链路连接到AP以获得到互联网或到其它广域网的一般性的连接。AP可以通过可以被称为回程的链路与互联网或与其它广域网进行互连。在一些实现方式中,也可以将STA用作AP。
[0053] 接入点(“AP”)还可以包括、被实现为、或者被称为节点B、演进型节点B(eNodeB)、基站控制器(“BSC”)、基站收发机(“BTS”)、基站(“BS”)、收发机功能单元(“TF”)、无线路由器、无线收发机或者某种其它的术语。
[0054] 站“STA”还可以包括、被实现为、或者被称为接入终端(“AT”)、用户站、用户单元、移动站、远程站、远程终端、用户终端、用户代理、用户设备、用户装备或者某种其它的术语。在一些实现方式中,接入终端可以包括蜂窝电话、无绳电话、会话发起协议(“SIP”)电话、无线本地环路(“WLL”)站、个人数字助理(“PDA”)、具有无线连接能手持设备或者连接到无线调制解调器的某种其它适当的处理设备。相应地,可以将本文中教导的一个或多个方面并入电话(例如,蜂窝电话或智能电话)、计算机(例如,膝上型计算机)、便携式通信设备、头戴式机、便携式计算设备(例如,个人数据助理)、娱乐设备(例如,音乐或视频设备,或者卫星无线电)、游戏设备或系统、全球定位系统设备或者被配置为经由无线介质来进行通信的任何其它适当的设备。
[0055] 图1示出了可以在其中使用本公开内容的方面的无线通信系统100的示例。无线通信系统100可以依照无线标准(例如802.11n标准)来操作。无线通信系统100可以包括AP104,所述AP104与STA106进行通信。
[0056] 各种过程和方法可以用于在无线通信系统100中在AP104和STA106之间进行的传输。例如,可以根据OFDM/OFDMA技术,在AP104和STA106之间发送和接收信号。如果是这种情况,那么可以将无线通信系统100称为OFDM/OFDMA系统。或者,可以根据CDMA技术,在AP104和STA106之间发送和接收信号。如果是这种情况,那么可以将无线通信系统100称为CDMA系统。
[0057] 可以将促进从AP104到STA106中的一个或多个STA的传输的通信链路称为下行链路(DL)108,并且可以将促进从STA106中的一个或多个STA到AP104的传输的通信链路称为上行链路(UL)110。或者,可以将下行链路108称为前向链路或前向信道,并且可以将上行链路110称为反向链路或反向信道。
[0058] AP104可以充当基站并且在基本服务区域(BSA)102中提供无线通信覆盖。AP104连同与AP104相关联并且使用AP104来进行通信的STA106可以被称为基本服务集(BSS)。应当注意的是,无线通信系统100可能不具有中央的AP104,而是可以担任STA106之间的对等网络。相应地,本文中描述的AP104的功能可以替换地由STA106中的一个或多个STA来执行。
[0059] 在所示出的实施例中,AP104使用回程通信链路112来与较大的网络114进行通信。例如,网络114可以是互联网或公共交换电话网(PSTN)。回程可以包括若干物理链路。在实施例中,STA106可以经由AP104与服务器116通信。例如,STA106可以经由上行链路110和下行链路108与AP104通信,AP104可以经由回程通信链路112将通信中继到服务器116。
[0060] 回程质量估计(BQE)
[0061] 在一个实施例中,STA106可以对与服务器116的端到端链路的质量进行估计。例如,端到端链路可以包括上行链路110、上行链路108以及回程通信链路112。相应地,STA106可以根据上行链路110、上行链路108和/或回程通信链路112的累加的质量来对端到端链路的质量进行估计。例如,STA106可以根据对传送速度、等待时间、分组延迟变化、分组丢失等的测量对端到端链路的质量进行测量。在回程通信链路112的质量低于上行链路110和/或下行链路108的质量的实施例中,端到端链路的质量可以受限于回程通信链路112的质量。相反,在回程通信链路112的质量高于上行链路110和/或下行链路108的质量的实施例中,端到端链路的质量可以受限于上行链路110和/或下行链路108的质量。相应地,在一些实施例中,STA106可以有效地对回程通信链路112的质量进行估计。对端到端链路的一个或多个方面的质量的估计在本文中可以被称为“回程质量估计”(BQE)。
[0062] 在实施例中,例如,STA106可以通过从服务器116请求文件来对与服务器116的端到端链路的质量进行估计。具体而言,STA106可以向服务器116发送质量估计请求。服务器116可以向STA106发送质量估计响应(其包括在本文中被称为文件的数据)。虽然在本文将STA106描述为从服务器116下载“文件”,但将明白的是,质量估计响应不需要是静态的。在实施例中,STA106可以动态地生成质量估计响应。
[0063] 在端到端链路的质量包括端到端链路的速度的实施例中,STA106可以通过测量从服务器116下载质量估计响应所花费的时间量以及将质量估计响应的大小除以传送时间来估计端到端链路的速度。在端到端链路的质量包括端到端链路的等待时间的实施例中,STA106可以通过测量服务器对下载请求进行响应所花费的时间量来估计端到端链路的等待时间。在端到端链路的质量包括端到端的分组延迟变化的实施例中,STA106可以通过当下载质量估计响应时对分组和确认的传输进行监控来估计端到端链路的分组延迟变化。在端到端链路的质量包括端到端链路的分组丢失率的实施例中,STA106可以通过当下载质量估计响应时,对由服务器116重新发送的分组数量进行测量来估计端到端链路的分组丢失率。
[0064] 在一个实施例中,质量估计响应可以包括随机数据、伪随机数据、空数据或与STA106的当前状态相关的数据。质量估计响应可以包括:不旨在向STA106传送新信息的数据。相应地,质量估计响应可以被称为“伪文件”。STA106可以在不使用的情况下,丢弃或删除伪文件中的数据。例如,STA106可以不使用在应用中在伪文件中的数据,以及可以不经由用户接口呈现该数据。在另一个实施例中,文件由STA106来处理,并且提供与STA106的环境或状态相关的信息。
[0065] 在实施例中,STA116可以对质量估计响应进行缓存。例如,服务器116可以是内容分发网络(CDN)(诸如,例如,由麻萨诸塞州剑桥市的Akamai技术公司提供的 内容分发网络)的一部分。CDN可以将质量估计响应缓存在不同地理位置上的多个服务器中的一个服务器处,以及可以将质量估计请求路由到距离STA106最近的服务器。如本文中所使用的,服务器116可以指的是单独的服务器或与CDN相结合来操作的服务器。
[0066] 在实施例中,质量估计响应可以具有足够用于STA106对端到端链路的质量进行测量的大小。例如,质量估计响应在大小上可以在大约0比特和大约2兆比特之间。在实施例中,质量估计响应在大小上可以在大约0.5兆比特和大约1.5兆比特之间,更具体地说,在大小上大约为1兆比特。在实施例中,质量估计响应的大小可以基于分组在STA106和服务器116之间的往返时间(RTT)。例如,在下文中,基于表1,质量估计响应可以与RTT有关。
[0067]RTT的值(秒) 质量估计响应(兆比特)
0.02 0.18
0.03 0.18
0.04 0.37
0.05 0.37
0.10 0.76
0.15 0.76
0.20 1.52
[0068] 表1
[0069] 因为STA106可以频繁地(诸如,每当STA106连接到AP时)对端到端链路的质量进行估计,所以质量估计响应可能随着时间的推移而消耗大量的带宽。当下载质量估计响应时由STA106使用的带宽可以计入与STA106相关联的带宽配额。相应地,可以期望质量估计响应包含有用的数据而不是伪数据。例如,有用的数据可以包括:对于STA106来说尚不可用的数据、在STA106上由应用使用的数据、要经由STA106的用户接口呈现的数据和/或设备管理信息。例如,设备管理信息可以包括:接入概率因子、质量估计配额、BQE缓存时段、BQE历史限制、被动的BQE命令和/或其它信息。设备管理信息可以包括接入限制。
[0070] 大量STA可以被配置为发送来自服务器116的质量估计请求。随着发送给服务器116的质量估计请求的数量增加,服务器116上的处理负载和/或网络带宽会增加。在一些实施例中,质量估计请求的数量可以超出服务器116的能力。服务器116可以通过向STA106发送设备管理信息来对质量估计请求的量进行管理。设备管理信息可以指示在其下服务器
116可用于BQE的情况。
[0071] 图2示出了可以在无线设备202中使用的各种部件,所述无线设备202可以在无线通信系统100中使用。无线设备202可以包括:处理器204、存储器206、壳体208、发射机210和接收机212(它们可以形成收发机214)、天线216、位置模件218、数字信号处理器(DSP)220、用户接口222以及通信总线226。无线设备202是可以被配置为实现本文中描述的各种方法的设备的示例。例如,无线设备202可以包括AP104和/或STA106中的一个STA。
[0072] 无线设备202可以包括处理器204,所述处理器204控制无线设备202的操作。处理器204还可以被称为中央处理单元(CPU)。存储器206(其可以包括只读存储器(ROM)和随机存取存储器(RAM)二者)向处理器204提供指令和数据。存储器206的一部分还可以包括非易失性随机存取存储器(NVRAM)。处理器204基于存储在存储器206中的程序指令来执行逻辑和算术运算。存储器206中的指令可执行为实现本文中描述的方法。
[0073] 处理器204可以包括或者是利用一个或多个处理器实现的处理系统的部件。可以利用通用微处理器微控制器、数字信号处理器(DSP)、现场可编程阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控控逻辑、分立硬件部件、专用硬件有限状态机、或者可以执行对信息的计算或其它操作的任何其它适当的实体的任意组合来实现一个或多个处理器。
[0074] 处理系统还可以包括用于存储软件的机器可读介质。无论是被称为软件、固件中间件、微代码、硬件描述语言或其它名称,软件应广义地解释为意指任何类型的指令。指令可以包括代码(例如,以源代码格式、二进制代码格式、可执行代码格式,或代码的任何其它适当的格式)。当由一个或多个处理器执行时,指令使处理系统执行本文所描述的各种功能。
[0075] 无线设备202还可以包括壳体208,所述壳体208可以包括发射机210和接收机212,以允许在无线设备202和远程位置之间的数据的发送和接收。发射机210和接收机212可以组合成收发机214。天线216可以附着到壳体208并且电气地耦合到收发机214。无线设备202还可以包括(没有示出)多个发射机、多个接收机、多个收发机和/或多个天线。
[0076] 发射机210可以被配置为如上面所讨论的,发送质量估计请求并且与各个AP相关联。接收机212可以被配置为:如上面所讨论的,接收质量估计响应并且监控各个AP的可用性。
[0077] 无线设备202还可以包括:可以用于确定无线设备202的位置的位置模件218。位置模件218可以基于例如全球定位系统(GPS)、辅助全球定位系统(AGPS)、蜂窝三测量、基于IP的位置感知技术等来确定无线设备202的位置。位置模件218可以结合接收机212、天线216、处理器204、存储器206和/或DSP220来确定无线设备202的位置。无线设备202还可以包括用于处理信号的数字信号处理器(DSP)220。DSP220可以被配置为生成用于传输的分组。
在一些方面中,分组可以包括物理层数据单元(PPDU)。
[0078] 在一些方面中,无线设备202还可以包括用户接口222。用户接口222可以包括键区、麦克、扬声器和/或显示器。用户接口222可以包括:向无线设备202的用户传送信息和/或接收来自用户的输入的元件或部件。在实施例中,用户接口222可以向用户显示无线网络映射,以及可以接收指令以基于无线网络映射与不同的AP相关联。
[0079] 无线设备202的各个部件可以由总线系统226耦合在一起。例如,总线系统226可以包括数据总线、以及除数据总线之外的功率总线、控制信号总线和状态信号总线。本领域中的技术人员将明白的是,无线设备202的部件可以使用某种其它的机制耦合在一起或者接受彼此的输入或向彼此提供输入。
[0080] 尽管在图2中示出了一些单独的部件,但本领域中的技术人员将认识到的是,这些部件中的一个或多个部件可以组合或共同地实现。例如,处理器204可以用于不仅实现上面关于处理器204描述的功能,还用于实现上面关于信号检测器218和/或DSP220描述的功能。另外,图2中示出的部件中的每一个部件可以使用多个单独元件来实现。
[0081] 为了指代方便,当无线设备202被配置为AP时,其在下文中被称为无线设备202a。类似地,当无线设备202被配置为STA时,其在下文中被称为无线设备202s。无线通信系统
100中的设备可以仅实现发送节点的功能、仅实现接收节点的功能、或者实现发送节点和接收节点二者的功能。
[0082] 活动的BQE
[0083] 在实施例中,处理器204被配置为对通信链路的质量进行估计。例如,在无线设备202s包括STA106的实施例中,处理器204可以经由BQE对STA106与服务器116之间的端到端链路的质量进行估计。在实施例中,处理器204间歇地尝试BQE。在实施例中,处理器204可以每当无线设备202s连接到通信网络时尝试BQE。例如,处理器204可以每当无线设备202s与AP(诸如AP104)相关联时尝试BQE。在另一个实施例中,处理器204可以以有规律的或无规律的时间间隔来尝试BQE。
[0084] 当尝试BQE时,处理器204可以判断服务器116是否可用于BQE。在实施例中,处理器204可以基于从服务器116接收的设备管理信息来判断服务器116是否可用于BQE。如果处理器204确定服务器116可用于BQE,那么BQE尝试可以说成功。如果处理器204确定服务器116不可用于BQE,那么BQE尝试可以说失败或者中止。当BQE尝试成功时,处理器204可以生成质量估计请求、发送质量估计请求、接收质量估计响应、基于对质量估计请求的响应来计算针对通信链路的质量度量、向服务器报告质量度量,以及在存储器206中存储响应。涉及服务器116的带宽质量估计可以被称为“活动的BQE”。
[0085] 在实施例中,当服务器116可用于BQE时,处理器204生成质量估计请求。在实施例中,质量估计请求可以包括超文本传输协议(HTTP)GET请求。在另一个实施例中,质量估计报告可以包括HTTP POST请求(其包括经量化的位置)。在各个实施例中,质量估计请求可以采取其它形式。
[0086] 在实施例中,处理器204可以使发射机210经由天线216向服务器116发送质量估计请求。处理器可以经由接收机212接收来自服务器116的响应。响应可以包括设备管理信息。在实施例中,每当无线设备202s连接到新的无线网络时或者基于各种其它度量,处理器204可以在周期性的基础上生成并发送质量估计请求。
[0087] 当接收到来自服务器116的质量估计响应时,处理器204可以基于响应来计算质量度量。质量度量可以包括通信统计,以及可以被称为BQE结果。例如,处理器204可以通过对接收多个字节所花费的时间量进行测量并且将质量估计响应的大小除以传送时间来估计通信链路的速度。字节可以是从服务器116或者向无线设备202进行发送的任何其它主机接收的。处理器204可以通过对服务器对质量估计请求进行响应所花费的时间量进行测量来估计通信链路的等待时间。处理器204可以通过当接收响应时对分组和确认的传输进行监控来估计通信链路的分组延迟变化。处理器204可以通过当接收响应时对由服务器116重新发送的分组的数量进行测量来估计通信链路的分组丢失率。
[0088] 在实施例中,处理器204可以在活动的BQE期间计算“符码率(srate)”度量。符码率可以通过对某个时段期间的平均速率进行测量,来用作反映定性的用户体验的经聚合的度量。时段可以包括DNS查询时间(如可适用的话)、TCP连接建立时间、TCP慢启动时间和TCP拥塞避免时间。处理器204可以维持BQE计数器,所述BQE计数器可以在每一个活动的BQE开始处增加。处理器204可以计算要请求的文件大小以及确定BQE超时,所述BQE超时用于指示应该在其期间下载BQE响应的最大时间。在实施例中,处理器204收集关于AP104的信息(诸如,AP104的基本服务集标识符(BSSID))。
[0089] 在实施例中,处理器204可以基于下列各项中的一个或多个来计算文件大小:最大带宽(MBW)、往返时间(RTT)、最大片段大小(MSS)、并行流(NPS)的数量以及在拥塞避免中花费的时间与在TCP慢启动中花费的时间的比率(cong2slow)。在实施例中,服务器116可以向STA106发送MBW,以便传达STA106根据当前的操作政策应该尝试进行测量的最大带宽。在实施例中,STA106可以在互联网连接检测(ICD)期间从服务器116接收MBW。下面关于图5所描述的,在ICD期间,STA116可以检测AP104是否提供了互联网连接。在实施例中,STA106可以将所接收的MBW和/或默认的MBW存储在存储器206中。
[0090] 在实施例中,处理器204可以估计到服务器116的RTT,以便使BQE业务的量适合于网络等待时间情况。在实施例中,当估计的RTT值不可用时,处理器204可以使用默认的RTT值。在实施例中,处理器204可以结合ICD传输来估计RTT,下面关于图5所描述的。在实施例中,处理器204可以基于任何互联网主机来估计RTT。在实施例中,仅当服务器116不可用时,处理器204可以使用另一个互联网主机用于RTT估计。
[0091] 当计算文件大小时,处理器204可以确定总的业务值等于:NPS*(2^R–1)*MSS+MBW*T*cong2slow。如上面所讨论的,NPS是用于BQE的并行TCP流的数量。R是传输协议足够用于达到峰值速率的RTT的数量。在实施例中,R=max(1,log2(MBW*RTT/(N*MSS))。MSS是传输协议所使用的最大片段大小。MBW是BQE尝试进行估计的最大带宽。T是传输协议足够用于达到峰值速率所经过的时间。在实施例中,T=RTT*R。在实施例中,文件大小是最小所允许的大小,其至少等于所确定的总的业务值。在实施例中,传输协议是TCP。
[0092] 在实施例中,处理器204可以基于下列各项中的一个或多个来计算BQE超时:在拥塞避免中花费的时间与在TCP慢启动中花费的时间的比率(cong2slow)、足够用于使下载达到峰值速率所经过的时间(T)、和/或用于DNS查询进行解析所提供的时间(dns_rtt)。当到服务器116的RTT估计可用时,处理器204可以确定针对ICD/BQE服务器的DNS在本地NDS高速缓存器中,以及可能不提供在BQE期间用于解析的时间。因此,处理器204可以设置dns_rtt=0。当到服务器116的RTT估计不可用时,处理器204可以设置dns_rtt=2*RTT。在实施例中,处理器204可以计算BQE超时为(cong2slow+1)*T+dns_rtt。
[0093] 在实施例中,处理器204基于文件大小和关于AP104的信息来生成针对BQE请求的URI。在实施例中,处理器将用于BQE请求(例如,HTTP传输)的套接字绑定到无线局域网(WLAN)接口。处理器204可以经由针对所生成的URI的HTTP GET来提交BQE请求。在实施例中,处理器204可以基于BQE超时来启动BQE定时器以及开始估计符码率。
[0094] 在实施例中,处理器204可以基于所下载的字节的数量和所经过的下载时间来计算符码率。在实施例中,处理器204可以在网络接口级上对从非本地主机下载的字节的数量进行监控。处理器204可以周期性地更新字节计数器。在实施例中,处理器204可以仅监控通过无线接口接收的字节。
[0095] 在实施例中,如果在BQE请求的传输期间发生HTTP异常,那么处理器204可以确定BQE是成功的。例如,如果接收到下列各项中的一个或多个,那么处理器204可以确定BQE是成功的:SC_INTERNAL_SERVER_ERROR、SC_NOT_FOUND、SC_SERVICE_UNAVAILABLE和SC_UNAUTHORIZED。在实施例中,如果由于HTTP异常而确定BQE是成功的,那么处理器204可以不将所计算的速率存储在存储器206中。
[0096] 在实施例中,处理器204可以对在下载的同时接收到的字节的数量进行监控。当在活动的BQE期间所接收的字节的数量等于或大于所计算的文件大小时,处理器204可以终止活动的BQE下载。在实施例中,处理器204可以经由例如套接字关闭或HTTP库来终止进行中的HTTP GET。当终止下载时,处理器204可以发送CP FIN和/或TCP RST分组。
[0097] 在实施例中,处理器204可以在活动的BQE期间监控BQE定时器。当BQE定时器指示活动的BQE的持续时间等于或大于BQE超时门限时,处理器204可以终止活动的BQE下载。在实施例中,处理器204可以经由例如套接字关闭或HTTP库来终止进行中的HTTP GET。处理器204可以发送TCP FIN分组。在各个实施例中,BQE定时器可以从BQE超时向下计数或者向上计数到BQE超时。在实施例中,处理器204可以基于所接收的字节的数量和BQE定时器的组合来停止BQE下载。
[0098] 在实施例中,处理器204可以基于活动的BQE下载来计算BQE度量。处理器204可以将BQE度量与BQE门限进行比较。BQE门限可以指示通信链路必须满足的最低质量以便无线设备202来使用它。在实施例中,当BQE度量大于或等于BQE门限时,处理器204可以确定通信链路112具有足够的质量。在实施例中,当BQE度量小于BQE门限时,处理器204可以确定通信链路112不具有足够的质量。
[0099] 在实施例中,处理器204在BQE之后可以向服务器116上载一条或多条BQE信息。例如,当处理器204确定通信链路112具有足够的质量时,处理器204可以将向服务器116上载所计算的符码率。在实施例中,当处理器204确定通信链路112提供到互联网的接入时,处理器可以仅上载BQE信息。在实施例中,当通信链路112具有足够的质量时,处理器204可以将BQE信息存储在存储器206中。
[0100] 在实施例中,当处理器204确定通信链路112不具有足够的质量和/或处理器204确定通信链路112不提供互联网接入时,处理器204可以丢弃BQE结果而不向服务器116上载BQE信息。在实施例中,当通信链路112不具有足够的质量时,处理器204可以不将BQE信息存储在存储器206中。在实施例中,当处理器204不能够确定针对AP104的一个或多个标识符(诸如,例如,服务集ID(SSID))时,处理器204可以不将BQE信息存储在存储器206中。
[0101] 在实施例中,处理器204可以在经由接收机212接收来自服务器116的响应之后,将响应存储在存储器206中。在各个实施例中,处理器204可以出于不同于质量估计的各种目的来使用质量估计响应中的信息。例如,在响应包括设备管理信息的实施例中,处理器204可以将设备管理信息存储在存储器206中,以便随后用来确定服务器116针对BQE的可用性。
[0102] 被动的BQE
[0103] 在实施例中,质量估计是被动的BQE。被动的BQE命令可以包括:用于指示处理器204不应该向服务器116发送质量估计请求的信息。不联系服务器116的BQE可以被称为“被动的BQE”。在实施例中,当处理器204尝试BQE时,处理器204可以在不向服务器116发送质量估计请求的情况下,通过对发射机210和/或接收机212上的网络业务进行监控来执行被动的BQE。
[0104] 在处理器204执行被动的BQE的实施例中,处理器204可以通过对去往或来自服务器的数据进行传送所花费的时间量进行测量并且将所传送的数据量除以传送时间来估计链路的速度。在另一个实施例中,处理器204可以通过对服务器对通信进行响应所花费的时间量进行测量来估计与服务器的链路的等待时间。在另一个实施例中,处理器204可以通过对分组和确认的传输进行监控来估计与服务器的链路的分组延迟变化。在另一个实施例中,处理器204可以通过当下载质量估计响应时对由服务器重新发送的分组的数量进行测量来估计与服务器的链路的分组丢失率。在实施例中,在被动的BQE期间,处理器204仅对不是出于BQE的目的而发起的并且具有跨越回程112的目的地的通信进行监控和/或测量。
[0105] 在实施例中,处理器204可以使用上面关于主动的BQE描述的一个或多个技术来执行被动的BQE。例如,处理器204可以在不向服务器116发送下载请求的情况下,执行主动的BQE技术。处理器204可以监控从一个或多个其它互联网服务器下载的字节,而不是监控从服务器116下载的字节。处理器204可以使用前面提到的采样模式、突发模式、符码率计算等来监控所下载的字节。在实施例中,针对被动的BQE,处理器204可以仅监控非本地的业务。在实施例中,处理器可以仅监控单播业务并排除广播和单播业务。在实施例中,处理器204在计算符码率和/或突发位速率(bitrate)时可以排除在其期间没有接收到字节的时段。在另一个实施例中,处理器204可以测量在网络层接收到的所有业务,以及可以计算最高N个位速率采样的平均值,其中N是整数。在实施例中,处理器204可以在STA106连接到AP104时执行被动的BQE,以及可以在此后有限的时间段期间仅执行被动的BQE。
[0106] 在实施例中,处理器204可以根据采样间隔和突发持续时间来计算符码率。在实施例中,采样间隔可以指示处理器204检查字节计数器的频繁程度。突发持续时间可以指示处理器204应该在其上计算位速率的持续时间。可以指定突发持续时间为多个采样间隔。在实施例中,STA106可以从服务器116接收突发持续时间和/或采样间隔。在实施例中,STA106可以将突发持续时间和/或采样间隔存储在存储器206中。
[0107] 在实施例中,在每一个采样间隔处,处理器204可以计算在所述间隔中所接收的字节的数量。当周期性地计算所接收的字节的数量时,处理器204可以处于采样模式。当处理器204确定已经接收了至少一个字节时,处理器204可以进入突发模式。
[0108] 在突发模式下,处理器204可以计算在突发的持续时间期间所接收的字节的数量。处理器204可以计算突发速率等于随后在突发期间所接收的字节的数量除以突发的持续时间。在符码率计算期间,处理器204可以计算符码率为8乘以跨越一个或多个突发所接收的字节的数量,除以跨越一个或多个突发所经过的时间。
[0109] 在实施例中,存储器206可以存储预先设置的被动的BQE命令。在另一个实施例中,处理器204可以基于例如历史的BQE结果、电池电平等来生成被动的BQE命令。在另一个实施例中,处理器204可以经由接收机212取回被动的BQE命令,并且将被动的BQE命令存储在存储器206中。在实施例中,处理器204可以从服务器116接收响应于质量估计请求的被动的BQE命令。被动的BQE命令可以包括在质量估计响应中。在各个实施例中,除了主动的BQE之外或者替代主动的BQE,处理器204可以执行被动的BQE。例如,当处理器204尝试主动的BQE并且失败时,处理器204可以执行被动的BQE。作为另一个示例,处理器204可以被配置为在没有接收到被动的BQE命令的情况下,执行被动的BQE。
[0110] 图3是根据一个实施例的查询响应300的示意图。查询响应300可以包括BQE响应和ICD响应中的一个或多个,下面关于图5描述的。如图所示,查询响应300包括设备管理信息310和BQE和/或ICD数据320。虽然将设备管理信息310和BQE或ICD数据320示为特定的安排,但本领域中具有普通技能的人员将明白其它安排是可能的。例如,设备管理信息310和BQE数据320的位置可以颠倒、交叉、由额外的数据来分开等。此外,在设备管理信息310足够用于BQE或ICD的实施例中,可以省略BQE或ICD数据320。
[0111] 群信息(crowd information)
[0112] BQE和/或ICD数据320可以包括伪数据和/或有用的数据(诸如,例如,关于附近的WiFi热点、质询响应(challenge response)等的信息)。在实施例中,质量估计响应可以包括源自群的信息(“群信息”)。群信息可以包括基于针对特定AP104的一个或多个其它STA106的BQE结果的BQE信息。群信息中的至少一些可以由其它用户提供以及在服务器116上收集。在实施例中,群信息包括用于指示通信链路112是否具有足够的质量的数值。在另一个实施例中,群信息包括针对通信链路112的平均BQE度量。在另一个实施例中,群信息可以包括基于存储在服务器116处的过去的BQE结果的一个或多个其它度量。本领域中具有普通技能的人员将明白,群信息可以使用任何合适的编码。
[0113] 在实施例中,查询响应300可以格式化为文本、超文本标记语言(HTML)、可扩展标记语言(XML)、或者任何其它数据格式。在一个实施例中,查询响应300可以格式化如下:
[0114] <接入概率>0.7
[0115] <配额>9
[0116] <从此处直到结尾的字节是无意义的>
[0117] Pppppppppppppppppppppppppppppppppppppppppppp….
[0118] 在示出的实施例中,设备管理信息320包括历史限制330、缓存时段340、请求配额360、接入概率因子360、以及被动的BQE命令370。在各个实施例中,设备管理信息320可以以不同的顺序包括历史限制330、缓存时段340、请求配额360、接入概率因子360、以及被动的BQE命令370,可以包括额外的信息和/或可以省略历史限制330、缓存时段340、请求配额
360、接入概率因子360、以及被动的BQE命令370中的一个或多个。在各个实施例中,处理器
204可以作用于历史限制330、缓存时段340、请求配额360、接入概率因子360、以及被动的BQE命令370中的一个或多个(单独地或组合地)。
[0119] 历史限制
[0120] 在实施例中,查询响应300可以包括历史限制330。历史限制可以包括用于指示处理器204应该为每一个通信网络存储多少个BQE和/或ICD结果的信息。在实施例中,历史限制330包括用于指示处理器204应该为处理器204针对其执行BQE和/或ICD的每一个通信网络在存储器206中存储的BQE和/或ICD结果的最大数量的数值。本领域中具有普通技能的人员将明白,历史限制330可以使用任何合适的编码。在各个实施例中,设备管理信息310可以包括针对BQE和ICD请求中的一个或二者的单独的历史限制330,或者针对BQE和ICD请求二者的组合的历史限制330。
[0121] 在一个实施例中,例如,当无线设备202s连接到AP104时,处理器204可以尝试BQE和/或ICD。为了判断服务器116是否可用于BQE和/或ICD,处理器可以从存储器206读取BQE和/或ICD结果历史。结果历史可以包括BQE和/或ICD结果的长期历史。在实施例中,结果历史可以包括与BQE和/或ICD结果相对应的和/或与用于指示每一个结果是何时被记录的时间戳相对应的网络标识符的列表。网络标识符可以包括例如SSID、BSSID、路由器介质访问控制(MAC)地址、网络域名等。
[0122] STA106可以针对BQE和ICD结果维持单独的结果历史,或者可以维持组合的结果历史。在实施例中,结果历史(存储相对长期的结果历史)和结果缓存(如下面所描述的,存储相对短期的结果历史)可以包括在相同的数据集合中。在另一个实施例中,结果历史和结果缓存可以分别地存储。
[0123] 处理器204可以确定当前的网络标识符(即,针对无线设备202s连接到的网络的网络标识符)。处理器204可以将当前的网络标识符与存储在存储器206中的结果历史中的网络标识符进行比较。如果当前的网络标识符没有包括在存储在存储器206中的结果历史中,那么处理器204可以确定服务器116可用于BQE和/或ICD。如果当前的网络标识符包括在存储在存储器206中的结果历史中,那么处理器204可以确定服务器116可用于BQE(如果本地的历史不允许BQE得出结论(例如,BQE通过或BQE失败))。当平均值-标准差>门限时,本地的历史允许BQE得出结论,在这种情况下,其得出结论BQE通过,或者当平均值+标准差<门限时,在这种情况下,其得出结论BQE失败。在前述方程式中,平均值是针对当前网络标识符的过去的X个BQE结果的平均,标准差是过去X个结果的标准差,以及门限是门限位速率。
[0124] 在实施例中,X等于历史限制330。在实施例中,存储器206可以存储预先设置的X值。在另一个实施例中,处理器204可以基于例如历史的BQE和/或ICD结果、电池电平等来生成X值。在另一个实施例中,处理器204可以经由接收机212取回X值,并且将X值存储在存储器206中。在实施例中,处理器204可以从服务器116接收响应于质量估计请求的X值。X值可以包括在查询响应300中。
[0125] 在实施例中,存储器206可以存储预先设置的门限值。在另一个实施例中,处理器204可以基于例如历史的BQE结果、电池电平等来生成门限值。在另一个实施例中,处理器
204可以经由接收机212取回门限值,并且将门限值存储在存储器206中。在实施例中,处理器204可以响应于BQE或ICD请求从服务器116接收门限值。门限值可以包括在查询响应300中。在实施例中,处理器可以使用在空中测量的无线参数来计算当前的门限值。
[0126] 在一个实施例中,处理器204可以生成随机或伪随机数。在另一个实施例中,DSP204可以生成随机或伪随机数。随机或伪随机数可以在0到1的范围内生成。处理器204可以将所生成的数字与门限进行比较,以判断服务器116是否可用于BQE。在实施例中,当所生成的数字小于门限时,处理器204可以确定服务器116可用于BQE。在实施例中,当所生成的数字小于或等于门限时,处理器204可以确定服务器116可用于BQE。
[0127] 在另一个实施例中,每当处理器204尝试BQE时,处理器204可以使计数器递增。处理器204可以将计数器存储在存储器206中。处理器204可以将计数器与配额进行比较,以判断服务器116是否可用于BQE。在实施例中,当计数器小于配额时,处理器204可以确定服务器可用于BQE。
[0128] 总的来说,较高的门限值将趋向于使得处理器204更频繁地执行BQE。类似地,较低的门限值将趋向于使得处理器204较不频繁地执行BQE。当针对给定的通信网络的历史的BQE结果相对较高时,处理器204将趋向于较不频繁地执行BQE。当针对给定的通信网络的历史的BQE结果相对较低时,处理器204将趋向于更频繁地执行BQE。相应地,当连接到具有相对较低质量的网络时,处理器204将趋向于更频繁地执行BQE。
[0129] 在另一个实施例中,处理器204可以确定服务器116以与历史的BQE结果的变化性有关的概率可用于BQE。例如,处理器204可以确定服务器116以1–(STDEVX/门限)的概率可用于BQE,其中STDEVX是针对当前网络标识符的过去X个BQE结果的标准差,以及门限是门限位速率。在另一个实施例中,处理器204可以利用与历史的BQE结果的下列统计度量中的一个或多个有关的概率来确定服务器116可用于BQE:均值、中值、平均值、标准差、变化性、最小值、最大值等。
[0130] 在实施例中,存储器206可以存储预先设置的历史限制330。在另一个实施例中,处理器204可以基于例如历史的BQE和/或ICD结果、电池电平等来生成历史限制330。在另一个实施例中,处理器204可以经由接收机212取回历史限制330,并且将历史限制330存储在存储器206中。在实施例中,处理器204可以从服务器116接收响应于BQE和/或ICD请求的历史限制330。
[0131] 缓存时段
[0132] 在实施例中,查询响应300可以包括缓存时段340。缓存时段340可以包括用于指示处理器204应该在针对相同的网络连接的相继的BQE和/或ICD请求之间等待多久的信息。在一个实施例中,例如,处理器204可以一个小时尝试一次BQE和/或ICD。如果缓存时段340指示三个小时的缓存时段,那么处理器204将确定服务器116可用于第一BQE和/或ICD尝试,并且然后确定服务器116在三个小时的时段内不可用于随后的两个BQE和/或ICD尝试,并且BQE和/或ICD尝试将失败。
[0133] 在实施例中,缓存时段340包括用于指示处理器204不应该在其期间执行BQE和/或ICD一次以上的时段的数值。缓存时段340可以包括任意时间(例如,一个小时、三个小时、一天、一周、一个月等)。本领域中具有普通技能的人员将明白,缓存时段340可以使用任何合适的编码。在各个实施例中,设备管理信息310可以包括针对BQE和ICD请求中的一个或二者的单独的缓存时段340,或者针对BQE和ICD请求二者的组合的缓存时段340。
[0134] 在一个实施例中,例如,当无线设备202s连接到AP104时,处理器204可以尝试BQE和/或ICD。为了判断服务器116是否可用于BQE和/或ICD,处理器可以从存储器206读取结果缓存。结果缓存可以包括BQE和/或ICD结果的短期历史。在实施例中,结果缓存可以包括与BQE和/或ICD结果相对应的和/或与用于指示每一个BQE和/或ICD结果是何时被记录的时间戳相对应的网络标识符的列表。网络标识符可以包括例如服务集标识符(SSID)、基本服务集标识符(BSSID)、路由器介质访问控制(MAC)地址、网络域名、小区标识符等。
[0135] STA106可以针对BQE和ICD结果维持单独的结果缓存,或者可以维持组合的结果缓存。在实施例中,结果历史(如上所述,存储相对长期的结果历史)和结果缓存(存储相对短期的结果历史)可以包括在相同的数据集合中。在另一个实施例中,结果历史和结果缓存可以分别地存储。
[0136] 处理器204可以确定当前的网络标识符(即,针对无线设备202s连接到的网络的网络标识符)。处理器204可以将当前的网络标识符与存储在存储器206中的结果缓存中的网络标识符进行比较。如果当前的网络标识符没有包括在存储在存储器206中的结果缓存中,那么处理器204可以确定服务器116可用于BQE和/或ICD。如果当前的网络标识符包括在存储在存储器206中的结果缓存中,那么处理器204可以确定服务器116不可用于BQE和/或ICD。在实施例中,如果当前的网络标识符包括在结果缓存中并且时间戳比缓存时段340要旧,那么处理器204可以确定服务器116不可用于BQE和/或ICD。如果处理器204确定服务器116可用于BQE和/或ICD,那么处理器204可以如本文中所描述的执行BQE和/或ICD。处理器
204可以将BQE和/或ICD结果连同当前的网络标识符和/或时间戳存储在BQE结果缓存中。
[0137] 在实施例中,存储器206可以存储预先设置的缓存时段340。在另一个实施例中,处理器204可以基于例如历史的BQE和/或ICD结果、电池电平等来生成缓存时段340。在另一个实施例中,处理器204可以经由接收机212取回缓存时段340,并且将缓存时段340存储在存储器206中。在实施例中,处理器204从服务器116接收可以响应于BQE和/或ICD请求的缓存时段340。
[0138] 请求配额
[0139] 在实施例中,查询响应300可以包括请求配额350。请求配额350可以包括:当处理器204确定服务器116针对BQE和/或ICD的可用性时,用于指示BQE和/或ICD尝试是否应该成功的信息。具体来说,请求配额350可以指示在某个时段中对应该成功的BQE和/或ICD尝试的数量的限制。在一个实施例中,例如,处理器204可以一天之内尝试十次BQE和/或ICD。如果请求配额350指示每天五次BQE和/或ICD限制,那么处理器204将确定服务器116可用于前五次BQE和/或ICD尝试,以及然后确定服务器116不可用于随后的五次BQE尝试,以及BQE和/或ICD尝试将失败。
[0140] 在实施例中,请求配额350包括用于指示在给定的时段中对应该成功的BQE和/或ICD尝试的数量的限制的数值。请求配额350可以明确地识别时段,或者时段可以是隐含的。配额时段可以包括任意时间帧(例如,一个小时、一天、一周、一个月等)、动态的时段(例如,每个AP、每次重新启动、每个无线会话)或其任意组合。本领域中具有普通技能的人员将明白,请求配额350可以使用任何合适的编码。在各个实施例中,设备管理信息310可以包括针对BQE和ICD请求中的一个或二者的单独的请求配额350,或者针对BQE和ICD请求二者的组合的请求配额350。
[0141] 在一个实施例中,每当处理器204确定服务器可用于BQE和/或ICD时,处理器204可以使计数器递增。处理器204可以将计数器存储在存储器206中。处理器204可以将计数器与请求配额350进行比较,以确定服务器116是否可用于BQE和/或ICD。在实施例中,当计数器小于请求配额350时,处理器204可以确定服务器可用于BQE和/或ICD。在另一个实施例中,当计数器小于或等于请求配额350时,处理器204可以确定服务器可用于BQE和/或ICD。在各个实施例中,在前述情况中的每一种情况下,处理器204可以确定服务器116不可用于BQE和/或ICD。
[0142] 处理器204可以根据设备管理信息对计数器进行重新设置。例如,处理器204可以每小时、每天、每周、每月、每当无线设备202s连接到不同的AP、每当无线设备202s重新启动时,对计数器进行重新设置。在实施例中,处理器204可以基于请求配额350与接入概率因子的组合来确定服务器116是否可用于BQE和/或ICD。例如,如果处理器204确定请求配额350没有被超过,那么不管接入概率因子如何,处理器都可以确定服务器116可用于BQE和/或ICD。在另一方面,如果处理器204确定请求配额350被超过了,那么处理器可以如上所述基于接入概率因子来判断服务器116是否可用于BQE和/或ICD。
[0143] 在实施例中,存储器206可以存储预先设置的请求配额350。在另一个实施例中,处理器204可以基于例如历史的BQE和/或ICD结果、电池电平等来生成请求配额350。在另一个实施例中,处理器204可以经由接收机212取回请求配额350,以及将请求配额350存储在存储器206中。在实施例中,处理器204可以从服务器116接收响应于BQE和/或ICD请求的请求配额350。
[0144] 接入概率因子
[0145] 在实施例中,查询响应300可以包括接入概率因子360。接入概率因子360可以包括:当处理器204确定服务器116针对BQE和/或ICD的可用性时,用于指示BQE和/或ICD尝试应该成功的频繁程度的信息。具体来说,接入概率因子360可以指示BQE和/或ICD尝试以其应该成功的概率。在一个实施例中,例如,处理器204可以每当无线设备202s经由发射机214与AP104相关联时尝试BQE和/或ICD。如果接入概率因子360指示50%的成功率,那么处理器204将确定服务器116大约在50%的时间里不可用,并且BQE和/或ICD将失败。
[0146] 在实施例中,接入概率因子360包括从0到1的数值,其中0指示BQE和/或ICD成功的概率为0%,以及1指示BQE和/或ICD成功的概率为100%。在另一个实施例中,接入概率因子360包括从0到100的数值,其中0指示BQE和/或ICD成功的概率为0%,以及100指示BQE和/或ICD成功的概率为100%。在另一个实施例中,接入概率因子360包括数值X,指示每X个BQE和/或ICD尝试应该成功。本领域中具有普通技能的人员将明白,接入概率因子360可以使用任何合适的编码。在各个实施例中,设备管理信息310可以包括针对BQE和ICD请求中的一个或二者的单独的接入概率因子360,或者针对BQE和ICD请求二者的组合的接入概率因子
360。
[0147] 在一个实施例中,处理器204可以生成随机或伪随机数。在另一个实施例中,DSP204可以生成随机或伪随机数。随机或伪随机数可以在接入概率因子360的可能的值的范围内生成。处理器204可以将所生成的数字与接入概率因子360进行比较,以确定服务器116是否可用于BQE和/或ICD。在实施例中,当所生成的数字小于接入概率因子360时,处理器204可以确定服务器116可用于BQE和/或ICD。在实施例中,当所生成的数字小于或等于接入概率因子360时,处理器204可以确定服务器116可用于BQE和/或ICD。在实施例中,当所生成的数字大于接入概率因子360时,处理器204可以确定服务器116可用于BQE和/或ICD。在实施例中,当所生成的数字大于或等于接入概率因子360时,处理器204可以确定服务器116可用于BQE和/或ICD。在各个实施例中,在前述情况中的每一种情况下,处理器204可以确定服务器116不可用于BQE和/或ICD。
[0148] 在另一个实施例中,每当处理器204尝试BQE和/或ICD时,处理器204可以使计数器递增。处理器204可以将计数器存储在存储器206中。处理器204可以将计数器与接入概率因子360进行比较,以确定服务器116是否可用于BQE和/或ICD。在实施例中,当计数器是接入概率因子360的偶数倍时,处理器204可以确定服务器可用于BQE和/或ICD。在另一个实施例中,当计数器是接入概率因子360的倒数的偶数倍时,处理器204可以确定服务器可用于BQE和/或ICD。在各个实施例中,在前述情况中的每一种情况下,处理器204可以确定服务器116不可用于BQE和/或ICD。
[0149] 在实施例中,存储器206可以存储预先设置的接入概率因子360。在另一个实施例中,处理器204可以基于例如历史的BQE和/或ICD结果、电池电平等来生成接入概率因子360。在另一个实施例中,处理器204可以经由接收机212取回接入概率因子360,以及将接入概率因子360存储在存储器206中。在实施例中,处理器204可以响应于BQE和/或ICD请求从服务器116接收接入概率因子360。
[0150] 图4是示出用于确定通信链路质量的充分性的方法的流程图400。为了清楚起见,下面参考图1中示出的通信网络100和图2中示出的设备202s描述了流程图400。本领域中具有普通技能的人员将明白,流程图200的方法可以与任何合适的设备一起使用。在一种实现方式中,处理器204执行一个或多个代码集来控制设备202s的功能元件以执行下面所描述的功能。在各个实施例中,本文中描述的步骤可以以不同的顺序来执行或者省略,以及可以添加额外的步骤。
[0151] 在实施例中,当连接到新的AP104时,STA106可以遵循流程图400。STA106可以基于流程图400的结果来判断通信链路112是否具有足够的质量。如果流程图400指示通信链路112不具有足够的质量,那么STA106不可以使用AP104来进行通信,以及可以使用另一个无线单元和/或AP来代替。例如,当针对WiFi AP的BQE指示低质量时,STA106可以从WiFi无线单元切换到蜂窝无线单元。另一方面,如果流程图400指示通信链路112具有足够的质量,那么STA106可以使用AP104来进行通信。
[0152] 首先,在框405处,处理器204判断BQE是否被启用。处理器204可以通过检查存储在存储器206中的值来判断BQE是否被启用。在实施例中,STA106可以从服务器116接收关于BQE是否应该被启用的信息。在另一个实施例中,STA106可以从服务提供者接收关于BQE是否应该启用的信息。如果处理器204确定BQE被禁用,那么在框410处,处理器204可以确定通信链路112具有足够的质量。另一方面,如果处理器204确定BQE被启用,那么处理器204可以继续进行到框415。
[0153] 接下来,在框415处,处理器204可以开始被动的BQE,如上所述。处理器204可以在背景中运行被动的BQE,对STA106与一个或多个互联网主机之间的偶发通信进行监控。在运行被动的BQE的同时,处理器204可以继续进行到框420。
[0154] 然后,在框420处,处理器204可以检查针对AP104的短期历史,如上所述。例如,处理器可以从存储器206读取BQE结果缓存。在实施例中,如果当前的网络标识符包括在BQE结果缓存中并且时间戳比BQE缓存时段要旧,那么处理器204可以确定短期历史是最近并且良好的。如果短期历史是最近并且良好的,那么在框410处,处理器204可以确定通信链路112具有足够的质量。另一方面,如果处理器204确定短期历史不是最近并且良好的,那么处理器204可以继续进行到框425。
[0155] 此后,在框425处,处理器204可以检查针对AP104的长期历史,如上所述。例如,处理器可以从存储器206读取BQE结果历史。在实施例中,当时平均值-标准差>门限时,处理器204可以判断长期历史是否是具有高信度且良好的,其中,平均值是针对当前的网络标识符的过去X个BQE结果的平均,标准差是过去X个结果的标准差,以及门限是门限位速率。如果长期历史是具有高可信度且最近的,那么在框410处,处理器204可以确定通信链路112具有足够的质量。另一方面,如果处理器204确定长期历史不是具有高可信度且最近的,那么处理器204可以继续进行到框430。
[0156] 随后,在框430处,处理器204可以等待ICD响应或ICD超时。如下面将关于图5描述的,STA106可以从服务器116接收结合ICD响应的群信息。如果STA106在向服务器116发送ICD请求之后在超时时段内没有接收到ICD响应,那么ICD可以超时。在ICD成功或超时之后,处理器204继续进行到框435。
[0157] 接下来,在框435处,处理器204读取从服务器116接收的群信息。如果群信息指示通信链路112具有足够的质量,那么处理器204可以继续进行到框410。如果群信息没有指示通信链路112具有足够的质量,或者STA106没有成功地从服务器116接收到群信息,那么处理器204继续进行到框440。
[0158] 然后,在框440处,处理器204对在框415处开始的被动的BQE的结果进行检查。处理器204将被动的BQE结果与指示针对通信链路112的足够质量的门限质量值进行比较。如果处理器204确定被动的BQE结果等于或大于BQE门限,那么处理器继续进行到框410。另一方面,如果处理器204确定被动的BQE结果小于BQE门限或者被动的BQE失败,那么处理器继续进行到框445。
[0159] 此后,在框445处,处理器204可以再次检查针对AP104的长期历史,如上所述。例如,处理器可以从存储器206读取BQE结果历史。在实施例中,当时平均值+标准差<门限时,处理器204可以判断长期历史是否是具有高信度且不佳的,其中,平均值是针对当前的网络标识符的过去X个BQE结果的平均,标准差是过去X个结果的标准差,以及门限是门限位速率。如果长期历史是具有高可信度且不佳的,那么在框450处,处理器204可以确定通信链路112不具有足够的质量。另一方面,如果处理器204确定长期历史不是具有高可信度且不佳的,那么处理器204可以继续进行到框455。
[0160] 随后,在框455处,处理器204再次读取从服务器116接收的群信息。如果群信息指示通信链路112不具有足够的质量,那么处理器204可以继续进行到框450。如果群信息没有指示通信链路112不具有足够的质量,或者STA106没有从服务器116成功地接收到群信息,那么处理器204可以继续进行到框460。
[0161] 接下来,在框460处,如上文关于负载管理技术(诸如,例如,接入概率因子、质量估计配额等)所描述的,处理器204判断服务器116是否可用于BQE。如果处理器204确定服务器116不可用于BQE,那么在框410处,处理器204可以确定通信链路112的质量是不足够的。另一方面,如果处理器204确定服务器116可用于BQE,那么在框465处,处理器204可以继续进行主动的BQE。
[0162] 然后,在框465处,处理器204可以执行主动的BQE,如上所述。在实施例中,处理器204将主动的BQE的结果与指示针对通信链路112的足够质量的门限质量值进行比较。如果处理器204确定主动的BQE结果等于或大于BQE门限,那么处理器继续进行到框410。另一方面,如果处理器204确定主动的BQE结果小于BQE门限或者主动的BQE失败,那么处理器继续进行到框450。
[0163] 互联网连接检测(ICD)
[0164] 在实施例中,当STA106连接到AP104时,STA106可以检测通信链路112的互联网连接性。为了判断AP104是否提供到互联网的接入,STA106可以执行互联网连接检测(ICD)。在实施例中,STA106可以每当STA106连接到AP104时执行ICD。ICD可以允许STA106检测AP是否是可能错误地对互联网请求进行响应(例如,通过提供支付请求网页而不是所请求的页面)的所谓的“捕获门户(captive portal)”。STA106可以检测AP是否提供受限的互联网连接。
[0165] 图5是示出用于确定接入点104的互联网连接性的方法的流程图500。为了清楚起见,下面关于图1中示出的通信网络100和图2中示出的设备202s描述了流程图500。本领域中具有普通技能的人员将明白,流程图500的方法可以与任何合适的设备一起使用。在一种实现方式中,处理器204执行一个或多个代码集来控制设备202s的功能单元,以执行下面所描述的功能。在各个实施例中,本文中描述的步骤可以以不同的顺序来执行或者省略,以及可以添加额外的步骤。
[0166] 首先,在框505处,处理器204判断ICD是否被启用。处理器204可以通过检查存储在存储器206中的值来判断ICD是否被启用。在实施例中,STA106可以从服务器116接收关于ICD是否应该被启用的信息。在另一个实施例中,STA106可以从服务提供者接收关于ICD是否应该被启用的信息。如果处理器204确定ICD被禁用,那么在框510处,处理器204可以确定AP104提供了互联网连接。另一方面,如果处理器204确定ICD被启用,那么处理器204可以继续进行到框515。
[0167] 接下来,在框515处,处理器204可以检查针对AP104的短期历史。在实施例中,针对ICD的短期历史可以包括针对BQE的短期历史的一个或多个方面,上文所描述的。为了判断AP104是否提供了互联网连接,处理器可以从存储器206读取ICD结果缓存。ICD结果缓存可以包括ICD结果的短期历史。在实施例中,ICD结果缓存可以包括与ICD结果相对应的和/或与用于指示每一个ICD结果是何时被记录的时间戳相对应的网络标识符的列表。网络标识符可以包括例如服务集标识符(SSID)、基本服务集标识符(BSSID)、路由器介质访问控制(MAC)地址、网络域名等。
[0168] 处理器204可以确定当前的网络标识符(即,针对无线设备202s连接到的网络的网络标识符)。处理器204可以将当前的网络标识符与存储在存储器206中的ICD结果缓存中的网络标识符进行比较。如果当前的网络标识符没有包括在存储在存储器206中的ICD结果缓存中,那么处理器204可能不确定AP104提供了互联网连接。如果当前的网络标识符包括在存储在存储器206中的ICD结果缓存中,那么处理器204可以基于所存储的ICD结果来确定AP104提供了互联网连接。在实施例中,如果当前的网络标识符包括在ICD结果缓存中并且时间戳不比ICD缓存时段要旧,那么处理器204可以确定AP104提供了互联网连接。如果处理器204确定服务器116可用于ICD,那么处理器204可以执行如本文中所描述的ICD。处理器204可以将ICD结果连同当前的网络标识符和/或时间戳存储在ICD结果缓存中。
[0169] 在实施例中,存储器206可以存储预先设置的ICD缓存时段。在另一个实施例中,处理器204可以基于例如历史的ICD结果、电池电平等来生成ICD缓存时段。在另一个实施例中,处理器204可以经由接收机212取回ICD缓存时段,以及将ICD缓存时段存储在存储器206中。在实施例中,处理器204可以从服务器116接收响应于质量估计请求或ICD请求的ICD缓存时段。ICD缓存时段可以包括在质量估计响应或ICD响应中。
[0170] 如果处理器204基于短期历史确定AP104提供了互联网连接,那么处理器204可以继续进行到框510。另一方面,如果处理器204没有确定AP104提供了互联网连接,那么处理器204继续进行到框520。例如,如果处理器204确定最近的ICD结果指示AP204不提供互联网连接,那么处理器204可以继续进行到框520。在实施例中,处理器204可以利用预先设置的概率继续进行到框520,而不管短期历史结果如何。
[0171] 然后,在框520处,处理器可以从存储器206读取ICD结果历史。ICD历史可以包括ICD结果的长期历史。在实施例中,ICD结果历史可以包括与ICD结果相对应的和/或与用于指示每一个ICD结果是何时被记录的时间戳相对应的网络标识符的列表。网络标识符可以包括例如SSID、BSSID、路由器介质访问控制(MAC)地址、网络域名等。在实施例中,ICD结果历史(存储相对长期的结果历史)和ICD结果缓存(存储相对短期的结果历史)可以包括在相同的数据集合中。在另一个实施例中,ICD结果历史和ICD结果缓存可以分别地存储。
[0172] 处理器204可以确定当前的网络标识符(即,针对无线设备202s连接到的网络的网络标识符)。处理器204可以将当前的网络标识符与存储在存储器206中的ICD结果历史中的网络标识符进行比较。如果当前的网络标识符没有包括在存储在存储器206中的ICD结果历史中,那么处理器204可能不确定AP104提供了互联网连接。
[0173] 如果当前的网络标识符包括在存储在存储器206中的ICD结果历史中,那么如果最新的ICD结果指示AP104提供了互联网连接,则处理器204可以确定AP104提供了互联网连接。在实施例中,如果针对AP104的所有存储的ICD结果指示AP104提供了互联网连接,那么处理器204可以确定AP104提供了互联网连接。在实施例中,处理器204可以利用与历史的ICD结果的平均值有关的概率来确定AP104提供了互联网连接。
[0174] 在一个实施例中,处理器204可以生成随机或伪随机数。在另一个实施例中,DSP204可以生成随机或伪随机数。随机或伪随机数可以在0到1的范围内生成。处理器204可以将所生成的数字与概率进行比较,以判断AP104是否提供了互联网连接。在实施例中,当所生成的数字小于概率时,处理器204可以确定AP104提供了互联网连接。在实施例中,当所生成的数字小于或等于概率时,处理器204可以确定AP104提供了互联网连接。
[0175] 在另一个实施例中,每当处理器204尝试ICD时,处理器204可以使计数器递增。处理器204可以将计数器存储在存储器206中。处理器204可以将计数器与概率进行比较,以判断AP104是否提供了互联网连接。在实施例中,当计数器是概率的偶数倍时,处理器204可以确定AP104提供了互联网连接。在另一个实施例中,当计数器是概率的倒数的偶数倍时,处理器204可以确定AP104提供了互联网连接。
[0176] 总的来说,较高的门限值将趋向于使得处理器204更频繁地执行ICD。类似地,较低的门限值将趋向于使得处理器204较不频繁地执行ICD。当针对给定的通信网络的历史的ICD结果相对较高时,处理器204将趋向于较不频繁地执行ICD。当针对给定的通信网络的历史的ICD结果相对较低时,处理器204将趋向于更频繁地执行ICD。相应地,当连接到具有相对较低质量的网络时,处理器204将趋向于更频繁地执行ICD。
[0177] 在实施例中,存储器206可以存储预先设置的ICD历史限制。在另一个实施例中,处理器204可以基于例如历史的ICD结果、电池电平等来生成ICD历史限制。在另一个实施例中,处理器204可以经由接收机212取回ICD历史限制,以及将ICD历史限制存储在存储器206中。在实施例中,处理器204可以从服务器116接收响应于质量估计请求或ICD请求的ICD历史限制。ICD历史限制可以包括在质量估计响应或ICD响应中。
[0178] 如果处理器204基于长期历史确定AP104提供了互联网连接,那么处理器204可以继续进行到框510。另一方面,如果处理器204没有确定AP104提供了互联网连接,那么处理器204继续进行到框525。在实施例中,处理器204可以利用预先设置的概率继续进行到框520,而不管长期历史结果如何。在实施例中,处理器204可以利用预先设置的概率继续进行到框510,而不管长期历史结果如何。
[0179] 此后,在框525处,如上文关于负载管理技术(诸如,例如,接入概率因子、质量估计配额等)所描述的,处理器204判断服务器116是否可用于ICD。虽然上面关于BQE对各种负载管理技术进行了描述,但BQE负载管理技术的一个或多个方面可以应用于ICD负载管理。例如,STA106可以经由BQE或ICD响应从服务器116接收ICD配额。作为另一个示例,STA106可以经由BQE或ICD响应从服务器116接收接入概率因子。如果处理器204确定服务器116不可用于ICD,那么在框510处,处理器204可以确定AP104不提供互联网连接。另一方面,如果处理器204确定服务器116可用于ICD,那么在框530处,处理器204可以继续ICD。
[0180] 随后,在框530处,处理器204发起ICD。在实施例中,处理器204可以生成ICD请求。处理器204可以向服务器116发送ICD请求(例如,经由HTTP)。在实施例中,处理器204将ICD HTTP传输绑定到WLAN接口。处理器204可以跟踪所做出的ICD请求的数量,以及将数量存储在存储器206中。
[0181] 在实施例中,处理器204可以生成所述ICD请求将要发送到的ICDURI。ICD URI可以包括STA106、AP104的识别信息和/或临时标识符。临时标识符可以包括密钥(诸如,例如,AP104的BSSID)。临时标识符可以包括随机或伪随机数据。临时标识符可以基于STA106、AP104、通信系统100和/或服务器116的标识符。在实施例中,临时标识符可以被称为“令牌”。ICD请求可以包括:针对到服务器116的ICD URI的ICD HTTP GET。
[0182] 针对来自服务器116的响应,处理器204可以等待某个时间量。时间量可以是ICD超时值。如果在ICD超时之前接收到了ICD响应,那么处理器204可以对响应加上时间戳。如果ICD响应在预期的位置中包括密钥,那么在框510处,处理器204可以确定AP104提供了互联网连接。
[0183] 如果在ICD超时之内没有接收到ICD响应,那么在框535处,处理器204可以确定AP104没有提供互联网连接。如果ICD响应不包括密钥,那么处理器可以确定AP提供了受限的连接。在实施例中,处理器204可以生成并发送DNS请求,以便确定服务器116的IP地址。如果DNS请求失败,那么在框510处,处理器204可以确定AP104没有提供互联网接入。不管ICD成功还是失败,处理器204可以将ICD结果存储在存储器206中。
[0184] 图6是示出用于确定通信链路的特性的方法的实施例的流程图600。虽然参考上面关于图2讨论的无线通信系统100以及上面关于图2讨论的无线设备202在本文中描述了流程图600的方法,但是本领域中具有普通技能的人员将明白的是,流程图600的方法可以由本文中描述的另一种设备或者任何其它合适的设备来实现。在实施例中,流程图600中的步骤可以至少部分由处理器或控制器(诸如,例如,潜在地结合存储器206(图2)的处理器204(图2)和/或DSP220(图2))来实现。虽然在本文中参考特定的顺序对流程图600的方法进行了描述,但在各个实施例中,本文中的框可以以不同的顺序来执行或者省略,以及可以添加额外的框。
[0185] 首先,在框610处,STA106在通信链路112上向服务器116发送针对第一通信的第一请求。第一通信可以用于确定通信链路112的适用性。在各个实施例中,如上面关于图2-4所讨论的,第一请求可以包括BQE请求和ICD请求中的一个或多个。如上面关于图2-4所讨论的,第一通信可以包括BQE响应和ICD响应中的一个或多个。
[0186] 接下来,在框620处,STA106从服务器116接收响应于第一请求的第一通信。服务器116可以在通信链路112上发送第一通信。STA106可以经由接收机212来接收第一通信。
[0187] 然后,在框630处,STA106基于第一通信来确定通信链路112的适用性。例如,在第一通信包括BQE响应的实施例中,如上面关于图4所讨论的,STA106可以根据流程图400的一个或多个方面来确定通信链路112的适用性。在第一通信包括ICD响应的实施例中,如上面关于图5所讨论的,STA106可以根据流程图500的一个或多个方面来确定通信链路112的适用性。
[0188] 此后,在框640处,STA106存储用于标识所确定的多个网络的适用性的信息。例如,STA106可以存储用于标识通信链路112的所确定的适用性的信息,结合与AP104相关联的网络。在实施例中,如上面关于图2所描述的,STA106可以存储用于标识根据短期和/或长期BQE历史所确定的适用性的信息。在另一个实施例中,如上面关于图5所描述的,STA106可以存储用于标识根据短期和/或长期ICD历史所确定的适用性的信息。
[0189] 随后,在框650处,STA在通信链路112上向服务器116选择性地发送针对第二通信的第二请求。第二通信可以用于确定通信链路112的适用性。在各个实施例中,如上面关于图2-4所讨论的,第二请求可以包括BQE请求和ICD请求中的一个或多个。如上面关于图2-4所讨论的,第二通信可以包括BQE响应和ICD响应中的一个或多个。
[0190] STA106可以基于下列各项中的一个或多个来判断是否发送第二请求:短期历史、长期历史、群信息、被动的BQE结果、以及负载管理技术(诸如,例如,接入概率因子、质量估计配额等)。例如,在第二通信包括BQE响应的实施例中,如上面关于图4所讨论的,STA106可以根据流程图400的一个或多个方面来确定通信链路112的适用性。在第二通信包括ICD响应的实施例中,如上面关于图5所讨论的,STA106可以根据流程图500的一个或多个方面来确定通信链路112的适用性。
[0191] 图7是根据本发明的示例性实施例的、用于确定通信链路的特性的系统的功能框图700。本领域的技术人员将明白的是,与图7中示出的简化的系统700相比,系统可以具有更多的部件。示出的系统700包括仅对于描述权利要求书范围内的实现方式的一些突出特征有用的那些部件。
[0192] 用于确定通信链路的特性的系统700包括:用于在移动设备处向服务器发送针对用于确定通信链路的适用性的第一通信的第一请求的模块710;用于在通信链路上从服务器接收响应于第一请求的第一通信的模块720;用于基于第一通信来确定通信链路的适用性的模块730;用于存储用于标识多个网络的所确定的适用性的信息的模块740;以及用于在通信链路上选择性地发送针对第二通信的第二请求的模块750。
[0193] 在实施例中,用于在移动设备处向服务器发送针对用于确定通信链路的适用性的第一通信的第一请求的模块710可以被配置为执行上面关于框610(图6)描述的功能中的一个或多个功能。在各个实施例中,用于在移动设备处向服务器发送针对用于确定通信链路的适用性的第一通信的第一请求的模块710可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210(图2)中的一个或多个来实现。
[0194] 在实施例中,用于在通信链路上从服务器接收响应于第一请求的第一通信的模块720可以被配置为执行上面关于框620(图6)描述的功能中的一个或多个功能。在各个实施例中,用于在通信链路上从服务器接收响应于第一请求的第一通信的模块720可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和接收机212(图2)中的一个或多个来实现。
[0195] 在实施例中,用于基于第一通信来确定通信链路的适用性的模块730可以被配置为执行上面关于框630(图6)描述的功能中的一个或多个功能。在各个实施例中,用于基于第一通信来确定通信链路的适用性的模块730可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0196] 在实施例中,用于存储用于标识多个网络的所确定的适用性的信息的模块740可以被配置为执行上面关于框640(图6)描述的功能中的一个或多个功能。在各个实施例中,用于存储用于标识多个网络的所确定的适用性的信息的模块740可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0197] 在实施例中,用于在通信链路上选择性地发送针对第二通信的第二请求的模块750可以被配置为执行上面关于框650(图6)描述的功能中的一个或多个功能。在各个实施例中,用于在通信链路上选择性地发送针对第二通信的第二请求的模块750可以由处理器
204(图2)、存储器206(图2)、DSP220(图2)和发射机210(图2)中的一个或多个来实现。
[0198] 图8是示出用于确定活动的通信链路的特性的方法的实施例的流程图800。虽然参考上面关于图2讨论的无线通信系统100以及上面关于图2讨论的无线设备202在本文中描述了流程图800的方法,但是本领域中具有普通技能的人员将明白的是,流程图800的方法可以由本文中描述的另一种设备或者任何其它合适的设备来实现。在实施例中,流程图800中的步骤可以至少部分由处理器或控制器(诸如,例如,潜在地结合存储器206(图2)的处理器204(图2)和/或DSP220(图2))来实现。虽然在本文中参考特定的顺序对流程图800的方法进行了描述,但在各个实施例中,本文中的框可以以不同的顺序来执行或者省略,以及可以添加额外的框。
[0199] 首先,在框810处,STA106确定用于经由活动的通信链路来接入服务器116的允许性。活动的通信链路可以是例如通信链路112。STA106基于第一接入限制来确定用于接入服务器116的允许性。在实施例中,第一接入限制可以包括设备管理信息310,上面关于图3所讨论的。例如,第一接入限制可以包括:接入概率因子330(图3)、质量估计配额340、BQE缓存时段350、BQE历史限制360、被动的BQE命令370、和/或用于指示无线设备202s应该怎样或何时执行BQE的其它信息。在各个实施例中,第一接入限制可以包括与上面关于图5讨论的类似的ICD设备管理信息,诸如,例如,ICD配额、ICD缓存时段、ICD历史限制360、和/或用于指示STA106应该怎样或何时执行ICD的其它信息。
[0200] 如上面关于图2所讨论的,处理器204可以判断服务器116是否可用于BQE和/或ICD。在实施例中,STA106连接到通信网络(诸如通信网络100(图1))。在实施例中,处理器202使发射机210将无线设备202s与AP104相关联。在实施例中,处理器204可以每当无线设备202s连接到通信网络时尝试BQE和/或ICD。例如,处理器204可以每当无线设备202s与AP(诸如AP104)相关联时尝试BQE和/或ICD。
[0201] 然后,在框820处,当向服务器116的接入可用时,STA106发送针对来自服务器116的通信的请求。在各个实施例中,如上面关于图2-4所讨论的,请求可以包括BQE请求和ICD请求中的一个或多个。发射机210可以经由天线216向服务器116发送请求。如上面关于图2-4所讨论的,通信可以包括BQE响应和ICD响应中的一个或多个。
[0202] 随后,在框830处,STA106在通信链路上从服务器116接收响应于请求的通信。在实施例中,通信链路可以包括回程通信链路112。如上面关于图2-4所讨论的,通信可以包括BQE响应和ICD响应中的一个或多个。相应地,来自服务器116的通信可以包括:接入概率因子330(图3)、质量估计配额340、BQE缓存时段350、BQE历史限制360、被动的BQE命令370、和/或用于指示无线设备202s应该怎样或何时执行BQE的其它信息。在各个实施例中,通信可以包括与上面关于图5讨论的类似的ICD设备管理信息,诸如,例如,ICD配额、ICD缓存时段、ICD历史限制360、和/或用于指示STA106应该怎样或何时执行ICD的其它信息。接收机212可以经由天线216从服务器116接收通信。
[0203] 此后,在框840处,STA106基于来自服务器116的通信来确定通信链路112的特性。在各个实施例中,特性可以包括BQE结果和ICD结果中的一个或多个。特性可以包括基于来自服务器116的响应的质量度量。例如,处理器204可以通过对从服务器116下载响应所花费的时间量进行测量并且将质量估计响应的大小除以传送时间来估计通信链路的速度。处理器204可以通过对服务器对质量估计请求进行响应所花费的时间量进行测量来估计通信链路的等待时间。处理器204可以通过当接收响应时对分组和确认的传输进行监控来估计通信链路的分组延迟变化。处理器204可以通过当接收响应时对由服务器116重新发送的分组的数量进行测量来估计通信链路的分组丢失率。
[0204] 在实施例中,处理器204可以将特性存储在存储器206中。处理器204可以基于来自服务器的通信来更新第一接入限制。例如,在响应包括设备管理信息310的实施例中,处理器204可以将设备管理信息310存储在存储器206中以随后在确定服务器116的可用性时来使用。
[0205] 图9是根据本发明的示例性实施例的、用于确定活动的通信链路的特性的系统900的功能框图。本领域的技术人员将明白的是,与图9中示出的简化的系统900相比,系统可以具有更多的部件。示出的系统900包括仅对于描述权利要求书范围内的实现方式的一些突出特征有用的那些部件。
[0206] 用于确定活动的通信链路的特性的系统900包括:用于基于第一接入限制来确定用于经由活动的通信链路接入服务器的允许性的模块910;用于当允许接入时,发送针对来自服务器的通信的请求的模块920;用于在通信链路上从服务器接收响应于请求的通信的模块930;以及用于基于来自服务器的通信来确定通信链路的特性的模块940。
[0207] 在实施例中,用于基于第一接入限制来确定用于经由活动的通信链路接入服务器的允许性的模块910可以被配置为执行上面关于框810(图8)描述的功能中的一个或多个功能。在各个实施例中,用于基于第一接入限制来确定用于经由活动的通信链路接入服务器的允许性的模块910可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0208] 在实施例中,用于当允许接入时,发送针对来自服务器的通信的请求的模块920可以被配置为执行上面关于框820(图8)描述的功能中的一个或多个功能。在各个实施例中,用于当允许接入时,发送针对来自服务器的通信的请求的模块920可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210(图2)中的一个或多个来实现。
[0209] 在实施例中,用于在通信链路上从服务器接收响应于请求的通信的模块930可以被配置为执行上面关于框830(图8)描述的功能中的一个或多个功能。在各个实施例中,用于在通信链路上从服务器接收响应于请求的通信的模块930可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和接收机212(图2)中的一个或多个来实现。
[0210] 在实施例中,用于基于来自服务器的通信来确定通信链路的特性的模块940可以被配置为执行上面关于框840(图8)描述的功能中的一个或多个功能。在各个实施例中,用于基于来自服务器的通信来确定通信链路的特性的模块940可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0211] 图10是示出用于检测通过接入点到服务器的连接性的方法的实施例的流程图1000。虽然参考上面关于图2讨论的无线通信系统100以及上面关于图2讨论的无线设备202在本文中描述了流程图1000的方法,但本领域中具有普通技能的人员将明白的是,流程图
1000的方法可以由本文中描述的另一种设备或者任何其它合适的设备来实现。在实施例中,流程图1000中的步骤可以至少部分由处理器或控制器(诸如,例如,潜在地结合存储器
206(图2)的处理器204(图2)和/或DSP220(图2))来实现。虽然在本文中参考特定的顺序对流程图1000的方法进行了描述,但在各个实施例中,本文中的框可以以不同的顺序来执行或者省略,以及可以添加额外的框。
[0212] 首先,在框1010处,STA106生成包括令牌的连接检测请求。在实施例中,连接检测请求可以包括上面关于图5描述的ICD请求。令牌可以包括上面关于图5描述的临时标识符。例如,令牌可以包括密钥(诸如,例如,AP104的BSSID)。令牌可以允许STA106在有效的ICD响应与“捕获门户”信息(诸如,例如,重定向的或欺骗性的登录提示、付款提示等)之间进行区分。
[0213] 在实施例中,STA106连接到通信网络(诸如通信网络100(图1))。在实施例中,处理器202使发射机210将无线设备202s与AP104相关联。在实施例中,处理器204可以每当无线设备202s连接到通信网络时尝试ICD。例如,处理器204可以每当无线设备202s与AP(诸如AP104)相关联时尝试ICD。
[0214] 然后,在框1120处,STA106经由AP104发送去往服务器(诸如,例如,服务器116)的连接检测请求。STA106可以在回程通信链路112上经由发射机210发送连接检测请求。连接检测请求可以包括:针对到服务器116的ICD URI的ICD HTTP GET。
[0215] 接下来,在框1130处,STA106等待来自服务器116的连接检测响应。在一个实施例中,连接检测响应可以包括上面关于图2-5描述的ICD响应。在一个实施例中,针对来自服务器116的响应,处理器204可以等待某个时间量。该时间量可以是ICD超时值。如果在ICD超时之内没有接收到ICD响应,那么处理器204可以确定AP104没有提供互联网连接。
[0216] 随后,在框1140处,STA106确定所接收的连接检测响应是否包括令牌。在一个实施例中,如果ICD响应在预期的位置中包括密钥,那么处理器204可以确定AP104提供了互联网连接。如果ICD响应格式不正确(例如,缺少令牌),那么处理器204可以确定AP104没有提供互联网连接。在一个实施例中,处理器204可以生成并发送DNS请求,以便确定服务器116的IP地址。如果DNS请求失败,那么在框710处,处理器204可以确定AP104没有提供互联网接入。不管ICD成功还是失败,处理器204可以将ICD结果存储在存储器206中。
[0217] 图11是根据本发明的示例性实施例的、用于检测通过接入点到服务器的连接性的系统的功能框图1100。本领域的技术人员将明白的是,与图11中示出的简化的系统1100相比,系统可以具有更多的部件。示出的系统1100包括仅对描述权利要求书范围内的实现方式的一些突出特征有用的那些部件。
[0218] 用于检测通过接入点到服务器的连接性的系统1100包括:用于在无线设备处生成包括令牌的连接检测请求的模块1100;用于在无线设备处经由接入点发送去往服务器的连接检测请求的模块1120;用于等待来自服务器的连接检测响应的模块1130;以及用于判断所接收的连接检测响应是否包括令牌的模块1140。
[0219] 在实施例中,用于在无线设备处生成包括令牌的连接检测请求的模块1100可以被配置为执行上面关于框1010(图10)描述的功能中的一个或多个功能。在各个实施例中,用于在无线设备处生成包括令牌的连接检测请求的模块1100可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0220] 在实施例中,用于在无线设备处经由接入点发送去往服务器的连接检测请求的模块1120可以被配置为执行上面关于框1020(图10)描述的功能中的一个或多个功能。在各个实施例中,用于在无线设备处经由接入点发送去往服务器的连接检测请求的模块1120可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210(图2)中的一个或多个来实现。
[0221] 在实施例中,用于等待来自服务器的连接检测响应的模块1130可以被配置为执行上面关于框1030(图10)描述的功能中的一个或多个功能。在各个实施例中,用于等待来自服务器的连接检测响应的模块1130可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0222] 在实施例中,用于判断所接收的连接检测响应是否包括令牌的模块1140可以被配置为执行上面关于框1040(图10)描述的功能中的一个或多个功能。在各个实施例中,用于判断所接收的连接检测响应是否包括令牌的模块1140可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0223] 图12是示出用于在无线网络中进行通信的方法的实施例的流程图1200。虽然参考上面关于图2讨论的无线通信系统120以及上面关于图2讨论的无线设备202在本文中描述了流程图1200的方法,但本领域中具有普通技能的人员将明白的是,流程图1200的方法可以由本文中描述的另一种设备或者任何其它合适的设备来实现。在实施例中,流程图1200中的步骤可以至少部分由处理器或控制器(诸如,例如,潜在地结合存储器206(图2)的处理器204(图2)和/或DSP220(图2))来实现。虽然在本文中参考特定的顺序对流程图1200的方法进行了描述,但在各个实施例中,本文中的框可以以不同的顺序来执行或者省略,以及可以添加额外的框。
[0224] 首先,在框1210中,STA106确定至少一个通信链路的网络连接是可接受的或不可接受的。在各个实施例中,STA106可以根据上面分别关于图4和图5描述的流程图400和/或500来确定回程通信链路112或与AP104相关联的另一个链路的网络连接为可接受还是不可接受。STA106可以确定针对图1中未示出的一个或多个可用的通信链路和/或AP(诸如,例如,WiFi链路、蜂窝链路、蓝牙链路等)中的每一个的网络连接。
[0225] 例如,STA106可以如本文中所描述的执行ICD,以及当AP104提供了互联网连接时,确定通信链路的网络连接是可接受的,以及当AP104不提供互联网连接时,确定通信链路的网络连接是不可接受的。在实施例中,STA106可以如本文中所描述的执行BQE,以及当BQE结果超过门限时,确定通信链路的网络连接是可接受的,以及当BQE结果没有超过门限时,确定通信链路的网络连接是不可接受的。
[0226] 接下来,在框1220处,STA106在不可接受的网络连接的情况下,在一个或多个通信链路上发送第一数据子集。在实施例中,STA106在不可接受的网络连接的情况下,在每一个通信链路上发送第一数据子集。在AP104是“捕获门户”的情况下,在不可接受的通信链路上发送第一数据子集会允许用户接入登录提示,付款提示等。在不可接受的通信链路上发送第一数据子集还可以允许STA106检测网络连接中的变化。处理器204可以经由发射机210来发送第一数据子集。
[0227] 然后,在框1230处,STA106在可接受的网络连接的情况下,在一个或多个通信链路上发送第二数据子集。在实施例中,STA106在可接受的网络连接的情况下,在每一个通信链路上发送第一数据子集。在可接受的通信链路上发送第二数据子集可以增加网络接入的可靠性和质量。在各个实施例中,第一数据子集和第二数据子集可以是交叉或不交叉的。在实施例中,STA106可以连续地、周期性地、或间歇地重新确定一个或多个通信链路的网络连接,诸如,例如,具有不可接受的连接的通信链路。处理器204可以经由发射机210来发送第二数据子集。
[0228] 图13是根据本发明的示例性实施例的、用于在无线网络中进行通信的系统1300的功能框图。本领域的技术人员将明白的是,与图13中示出的简化的系统1300相比,系统可以具有更多的部件。示出的系统1300包括仅对描述权利要求书范围内的实现方式的一些突出特征有用的的那些部件。
[0229] 用于在无线网络中进行通信的系统1300包括:用于确定至少一个通信链路的网络连接为可接受的或不可接受的模块1310;用于在不可接受的网络连接的情况下,在通信链路上发送第一数据子集的模块1320;以及用于在可接受的网络连接的情况下,在通信链路上发送第二数据子集的模块1330。
[0230] 在实施例中,用于确定至少一个通信链路的网络连接可接受的或不可接受的模块1310可以被配置为执行上面关于框1210(图12)描述的功能中的一个或多个功能。在各个实施例中,用于确定至少一个通信链路的网络连接为可接受的或不可接受的模块1310可以由处理器204(图2)、存储器206(图2)、DSP220(图2)、发射机210和接收机212中的一个或多个来实现。
[0231] 在实施例中,用于在不可接受的网络连接的情况下,在通信链路上发送第一数据子集的模块1320可以被配置为执行上面关于框1220(图12)描述的功能中的一个或多个功能。在各个实施例中,用于在不可接受的网络连接的情况下,在通信链路上发送第一数据子集的模块1320可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210中的一个或多个来实现。
[0232] 在实施例中,用于在可接受的网络连接的情况下,在通信链路上发送第二数据子集的模块1330可以被配置为执行上面关于框1230(图12)描述的功能中的一个或多个功能。在各个实施例中,用于在可接受的网络连接的情况下,在通信链路上发送第二数据子集的模块1330可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210中的一个或多个来实现。
[0233] 图14是示出用于确定通信链路的特性的另一种方法的实施例的流程图1400。虽然参考上面关于图2讨论的无线通信系统100以及上面关于图2讨论的无线设备202在本文中描述了流程图1400的方法,但本领域中具有普通技能的人员将明白的是,流程图1400的方法可以由本文中描述的另一种设备或者任何其它合适的设备来实现。在实施例中,流程图1400中的步骤可以至少部分地由处理器或控制器(诸如,例如,潜在地结合存储器206(图2)的处理器204(图2)和/或DSP220(图2))来实现。虽然在本文中参考特定的顺序对流程图
1400的方法进行了描述,但在各个实施例中,本文中的框可以以不同的顺序来执行或者省略,以及可以添加额外的框。
[0234] 首先,在框1410处,STA106在通信链路112上向服务器116发送针对通信的请求。通信可以用于确定通信链路112的适用性。在各个实施例中,如上面关于图2-4所讨论的,请求可以包括BQE请求和ICD请求中的一个或多个。如上面关于图2-4所讨论的,通信可以包括BQE响应和ICD响应中的一个或多个。
[0235] 接下来,在框1420处,STA106从服务器116接收响应于请求的通信。服务器116可以在通信链路112上发送通信。STA106可以经由接收机212来接收第一通信。
[0236] 然后,在框1430处,STA106计算用于接收通信的业务或时间中的至少一个的目标量。在实施例中,如上面关于图2所讨论的,STA在执行BQE的同时可以计算要下载的数据的目标量。在实施例中,如上面关于图2所讨论的,STA可以计算BQE超时,所述BQE超时有用指示在其期间应该下载BQE响应的最大时间。STA106可以计算所请求的文件大小,并且要下载的数据的目标量可以小于所请求的文件大小。
[0237] 在实施例中,STA106可以估计到服务器的往返时间。STA106可以从服务器请求文件并且测量响应时间。STA106可以估计由传输协议使用的片段大小。STA106可以确定最大估计速率。STA106可以确定要使用的传输流的数量。STA106可以基于下列各项中的一个或多个来计算目标:传输协议在拥塞避免模式下花费的时间量与传输协议在慢启动模式下花费的时间量的第一比率、传输流的数量、估计的往返时间、估计的片段大小、以及最大估计速率。
[0238] 随后,在框1440处,STA106基于所计算的所接收的时间或业务量来终止通信。例如,STA106可以对在BQE期间接收到的业务量进行监控,并且当接收到的业务量超过所计算的业务的目标量时,终止BQE响应的接收。在另一个示例中,STA106可以对传送BQE响应所花费的时间量进行测量,并且当测量时间量超过所计算的时间的目标量时,可以终止BQE响应的接收。相应地,STA106可以在BQE响应完全被下载之前终止BQE响应的传送。
[0239] 此后,在框1450处,STA106基于来自服务器116的通信来确定通信链路112的特性。在各个实施例中,特性可以包括BQE结果和ICD结果中的一个或多个。特性可以包括基于来自服务器116的响应的质量度量。例如,处理器204可以通过对从服务器116下载响应所花费的时间量进行测量并且将质量估计响应的大小除以传送时间来估计通信链路的速度。处理器204可以通过对服务器对质量估计请求进行响应所花费的时间量进行测量来估计通信链路的等待时间。处理器204可以通过当接收响应时对分组和确认的传输进行监控来估计通信链路的分组延迟变化。处理器204可以通过当接收响应时对由服务器116重新发送的分组的数量进行测量来估计通信链路的分组丢失率。
[0240] 在实施例中,处理器204可以将特性存储在存储器206中。处理器204可以基于来自服务器的通信来更新第一接入限制。例如,在响应包括设备管理信息310的实施例中,处理器204可以将设备管理信息310存储在存储器206中,以便随后用来确定服务器116的可用性。
[0241] 图15是根据本发明的示例性实施例的、用于确定通信链路的特性的另一个系统1500的功能框图。本领域的技术人员将明白的是,与图15中示出的简化的系统1500相比,系统可以具有更多的部件。示出的系统1500包括仅对于描述权利要求书范围内的实现方式的一些突出特征有用的那些部件。
[0242] 用于确定通信链路的特性的系统1500包括:用于在移动设备处发送针对来自服务器的通信的请求的模块1510;用于在通信链路上从服务器接收响应于请求的通信的模块1520;用于计算用于接收通信的业务或时间中的至少一个的目标量的模块1530;用于基于所计算的所接收的时间或业务的量来终止通信的模块1540;以及用于基于来自服务器的通信来确定通信链路的特性的模块1550。
[0243] 在实施例中,用于在移动设备处发送针对来自服务器的通信的请求的模块1510可以被配置为执行上面关于框1410(图14)描述的功能中的一个或多个功能。在各个实施例中,用于在移动设备处发送针对来自服务器的通信的请求的模块1510可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210(图2)中的一个或多个来实现。
[0244] 在实施例中,用于在通信链路上从服务器接收响应于请求的通信的模块1520可以被配置为执行上面关于框1420(图14)描述的功能中的一个或多个功能。在各个实施例中,用于在通信链路上从服务器接收响应于请求的通信的模块1520可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和接收机212(图2)中的一个或多个来实现。
[0245] 在实施例中,用于计算用于接收通信的业务或时间中的至少一个的目标量的模块1530可以被配置为执行上面关于框1430(图14)描述的功能中的一个或多个功能。在各个实施例中,用于计算用于接收通信的业务或时间中的至少一个的目标量的模块1530可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0246] 在实施例中,用于基于所计算的所接收的时间或业务的量来终止通信的模块1540可以被配置为执行上面关于框1440(图14)描述的功能中的一个或多个功能。在各个实施例中,用于基于所计算的所接收的时间或业务的量来终止通信的模块1540可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和发射机210(图2)中的一个或多个来实现。
[0247] 在实施例中,用于基于来自服务器的通信来确定通信链路的特性的模块1550可以被配置为执行上面关于框1550(图14)描述的功能中的一个或多个功能。在各个实施例中,用于基于来自服务器的通信来确定通信链路的特性的模块1550可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0248] 图16是示出用于对通信链路的质量进行估计的实施例的流程图1600。虽然参考上面关于图2讨论的无线通信系统100以及上面关于图2讨论的无线设备202在本文中描述了流程图1600的方法,但本领域中具有普通技能的人员将明白的是,流程图1600的方法可以由本文中描述的另一种设备或者任何其它合适的设备来实现。在实施例中,流程图1600中的步骤可以至少部分地由处理器或控制器(诸如,例如,潜在地结合存储器206(图2)的处理器204(图2)和/或DSP220(图2))来实现。虽然在本文中参考特定的顺序对流程图1600的方法进行了描述,但在各个实施例中,本文中的框可以以不同的顺序来执行或者省略,以及可以添加额外的框。
[0249] 首先,在框1610处,STA106经由网络接口接收多个数据单元。例如,STA106可以经由接收机212来接收数据单元。在实施例中,STA106可以从局域网(诸如,例如,从连接到AP104的另一个STA106)接收数据单元的一部分。相应地,从局域网接收的数据单元可以不指示回程通信链路112的质量或连接性。STA106可以从非本地网络(诸如,例如,网络114)接收数据单元的另一部分。从非本地网络接收的数据单元可以指示回程通信链路112的质量或连接性。
[0250] 接下来,在框1620处,STA106对网络接口处的所接收的数据单元进行监控。在实施例中,STA106可以对在接收机212处接收的字节进行计数,并且可以确定源地址、源子网或与所接收的数据单元有关的其它网络信息。在实施例中,服务器116可以经由通信链路112向STA106发送一个或多个数据单元。同时,连接到AP104的另一个STA可以向STA106发送一个或多个数据单元。
[0251] 然后,在框1630处,STA106针对经由网络接口接收的每一个数据单元判断数据单元是源自于局域网还是非本地网络。例如,处理器204可以确定接收机212的子网和所接收的分组的子网。当分组的子网与接收机212的子网相匹配时,处理器204可以确定所接收的分组源自局域网。当分组的子网与接收机212的子网不匹配时,处理器204可以确定所接收的分组源自非局域网。
[0252] 在各个实施例中,处理器204可以使用分组中的其它标识信息以便从非本地业务中区分本地业务,这些信息包括但不限于:报头信息(诸如,源IP、源子网、生存时间(TTL)、多播或广播属性等)以及有效载荷信息(诸如,包括在例如服务器116的有效载荷中的标识信息)。还可以通过跳的数量来定义本地业务或者通过跟踪到源的路由来确定本地业务。
[0253] 此后,在框1650处,STA106基于源自非本地网络的数据单元来确定通信链路112的特性。当确定特性时,STA106可以仅考虑非本地数据单元。当确定另一个通信链路的特性时,STA106可以单独地考虑本地数据单元。
[0254] 在各个实施例中,特性可以包括BQE结果和ICD结果中的一个或多个。特性可以包括基于来自服务器116的响应的质量度量。例如,处理器204可以通过对从服务器116下载响应所花费的时间量进行测量并且将质量估计响应的大小除以传送时间来估计通信链路的速度。处理器204可以通过对服务器对质量估计请求进行响应所花费的时间量进行测量来估计通信链路的等待时间。处理器204可以通过当接收响应时对分组和确认的传输进行监控来估计通信链路的分组延迟变化。处理器204可以通过当接收响应时对由服务器116重新发送的分组的数量进行测量来估计通信链路的分组丢失率。
[0255] 在实施例中,处理器204可以将特性存储在存储器206中。处理器204可以基于来自服务器的通信来更新第一接入限制。例如,在响应包括设备管理信息310的实施例中,处理器204可以将设备管理信息310存储在存储器206中,以便随后用来确定服务器116的可用性。
[0256] 在实施例中,当网络接口变得可用时,STA106可以开始测量传送速率。例如,STA106可以在连接到AP104之后执行被动的BQE。STA106可以在网络接口变得可用时启动定时器,并且可以在定时器达到门限之后停止测量。在测量期间,STA106可以对经由网络接口接收的字节进行计数,并且丢弃源自本地网络的字节或者以其它方式对源自本地网络的字节不进行计数。如上面关于图2描述的,STA106可以计算一个或多个突发速率采样。STA106可以对多个最高突发速率采样的速率进行平均。
[0257] 图17是根据本发明的示例性实施例的、用于对通信链路的质量进行估计的系统1700的功能框图。本领域的技术人员将明白的是,与图17中示出的简化的系统1700相比,系统可以具有更多的部件。示出的系统1700包括仅对于描述权利要求书范围内的实现方式的一些突出特征有用的那些部件。
[0258] 用于估计通信链路的质量的系统1700包括:用于经由网络接口来接收数据单元的模块1710;用于对网络接口处的所接收的数据单元进行监控的模块1720;用于针对经由网络接口接收的每一个数据单元判断数据单元是源自于局域网还是非本地网络的模块1730;以及用于基于源自非本地网络的数据单元来计算通信链路的特性的模块1740。
[0259] 在实施例中,用于经由网络接口来接收数据单元的模块1710可以被配置为执行上面关于框1610(图16)描述的功能中的一个或多个功能。在各个实施例中,用于经由网络接口来接收数据单元的模块1710可以由处理器204(图2)、存储器206(图2)、DSP220(图2)和接收机212(图2)中的一个或多个来实现。
[0260] 在实施例中,用于对网络接口处的所接收的数据单元进行监控的模块1720可以被配置为执行上面关于框1620(图16)描述的功能中的一个或多个功能。在各个实施例中,用于对网络接口处的所接收的数据单元进行监控的模块1720可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0261] 在实施例中,用于针对经由网络接口接收的每一个数据单元判断数据单元是源自于局域网还是非本地网络的模块1730可以被配置为执行上面关于框1630(图16)描述的功能中的一个或多个功能。在各个实施例中,用于针对经由网络接口接收的每一个数据单元判断数据单元是源自于局域网还是非本地网络的模块1730可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0262] 在实施例中,用于基于源自非本地网络的数据单元来计算通信链路的特性的模块1740可以被配置为执行上面关于框1640(图16)描述的功能中的一个或多个功能。在各个实施例中,用于基于源自非本地网络的数据单元来计算通信链路的特性的模块1740可以由处理器204(图2)、存储器206(图2)和DSP220(图2)中的一个或多个来实现。
[0263] 如本文所使用的,术语“确定”包括很多种动作。例如,“确定”可以包括运算、计算、处理、推导、研究、查找(例如,在表、数据库或另外的数据结构中查找)、断定等。此外,“确定”可以包括接收(例如,接收信息)、存取(例如,存取存储器中的数据)等。此外,“确定”可以包括解析、选定、选择、建立等。此外,本文中使用的“信道宽度”可以包含或者还可以在某些方面中被称为带宽。
[0264] 如本文中所使用的,提及项目列表中的“至少一个”的短语指的是那些项目的任意组合,包括单个成员。举例说明,“a、b、或c中的至少一个”意在覆盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
[0265] 上述方法的各种操作可以由能够执行这些操作的任何适当的模块来执行,诸如各种硬件和/或软件部件、电路和/或模件。通常,在图中示出的任何操作可以由能够执行操作的相应的功能模块来执行。
[0266] 可以利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其它可编程逻辑器件(PLD)、分立门或者晶体管逻辑、分立硬件部件、或者其任意组合,来实现或执行结合本公开内容所述的各种示例性的逻辑框、模件和电路。通用处理器可以是微处理器,或者,处理器也可以是任何市场上有售的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它这样的配置。
[0267] 在一个或多个方面中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质中或者通过其进行传输。计算机可读介质包括计算机存储介质和通信介质,所述通信介质包括促进计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机存取的任何可用的介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码以及可以由计算机来存取的任何其它的介质。此外,任何连接可以适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电和微波)从网站、服务器或其它远程源发送软件,则同轴电缆、光纤光缆、双绞线、DSL或无线技术(例如红外线、无线电和微波)包括在介质的定义中。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。因此,在一些方面,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。此外,在一些方面,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。上面的组合也应当包括在计算机可读介质的范围之内。
[0268] 本文中公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。在不背离权利要求的范围的前提下,方法步骤和/或动作可以彼此互换。换句话说,除非指定了步骤或动作的特定顺序,否则,在不背离权利要求的范围的前提下,可以对特定步骤和/或动作的顺序和/或使用进行修改
[0269] 可以在硬件、软件、固件或其任意组合中来实现所描述的功能。如果在软件中实现,则所述功能可以作为一个或多个指令存储在计算机可读介质中。存储介质可以是可由计算机存取的任何可用的介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码以及可以由计算机来存取的任何其它的介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光 光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。
[0270] 因此,某些方面可以包括用于执行本文中给出的操作的计算机程序产品。例如,这样的计算机程序产品可以包括具有存储(和/或编码)在其上的指令的计算机可读介质,指令可以由一个或多个处理器执行来执行本文中描述的操作。对于某些方面来说,计算机程序产品可以包括封装材料。
[0271] 还可以在传输介质上发送软件或指令。例如,如果使用同轴电缆、光纤线缆、双绞线、数字用户线(DSL)、或者诸如红外线、无线电和微波的无线技术,从网站、服务器、或其它远程源发送软件,那么,同轴电缆、光纤线缆、双绞线、DSL、或者诸如红外线、无线电和微波的无线技术包含在传输介质的定义中。
[0272] 此外,应当明白,在可适用的时候,用户终端和/或基站可以下载和/或以其它方式获得用于执行本文所描述的方法和技术的模件和/或其它适当的模块。例如,可以将这样的设备耦合到服务器来促进用于执行本文所描述的方法的模块的传送。替换地,可以经由存储模块(例如,RAM、ROM、诸如压缩光盘(CD)或者软盘的物理存储介质等)来提供本文所描述的各种方法,以使得当耦合到设备或者向设备提供存储模块时,用户终端和/或基站可以获得各种方法。此外,可以使用用于向设备提供本文所描述的方法和技术的任何其它适当的技术。
[0273] 应该理解的是,权利要求不限于上面说明的精确的配置和部件。在不背离本权利要求的范围的前提下,可以在上述方法和装置的安排、操作和细节上进行各种修改、改变和变化。
[0274] 尽管前面涉及了本公开内容的方面,但在不背离其基本范围的前提下,可以设计本公开内容的其它以及进一步的方面,并且其范围由下面的权利要求来确定。
QQ群二维码
意见反馈