处理多个精细定时测量测距请求转让专利

申请号 : CN202110431026.1

文献号 : CN114286391B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : O·埃尔费库斯A·博丹

申请人 : 慧与发展有限责任合伙企业

摘要 :

本公开的实施例涉及处理多个精细定时测量测距请求。描述了用于处理多个精细时间测量测距请求的技术的示例。在一个示例中,接入点(AP)可以从客户端设备集合中的每个客户端设备接收用于发起FTM会话的测距请求。基于测距请求来确定多个突发持续时间,每个突发持续时间用于对每个客户端设备执行FTM会话。可以从多个突发持续时间中确定最大突发持续时间。如果用于服务高优先级业务的服务时间小于最大突发持续时间,则选择客户端设备的子集用于执行FTM会话,其中用于对子集中的每个客户端设备执行FTM会话的突发持续时间的总和小于最大突发持续时间。发起对子集中的每个客户端设备的FTM会话。

权利要求 :

1.一种方法,包括:

通过接入点AP从客户端设备集合中的每个客户端设备接收用于发起FTM会话的测距请求;

通过所述AP并且基于所述测距请求,确定多个突发持续时间,来自所述多个突发持续时间中的每个突发持续时间指示用于对所述集合中的客户端设备执行所述FTM会话的时间段;

通过所述AP从所述多个突发持续时间中确定最大突发持续时间;

响应于确定用于服务高优先级业务的服务时间小于所述最大突发持续时间,通过所述AP选择所述客户端设备的子集来执行所述FTM会话,其中用于对所述子集中的每个客户端设备执行所述FTM会话的突发持续时间的总和小于所述最大突发持续时间;以及通过所述AP发起对所述子集中的每个客户端设备的所述FTM会话。

2.根据权利要求1所述的方法,其中对所述子集中的每个客户端设备的所述FTM会话至少部分基于从每个客户端设备接收所述测距请求的顺序而被发起。

3.根据权利要求1所述的方法,其中对客户端设备的所述子集的所述选择至少部分基于与所述集合中的每个客户端设备相关联的FTM计数器,其中所述FTM计数器指示对所述集合中的每个客户端的成功完成的FTM会话。

4.根据权利要求3所述的方法,包括:

响应于对所述子集中的每个客户端设备的所述FTM会话的完成,使与所述子集中的每个客户端设备相关联的所述FTM计数器递增。

5.根据权利要求3所述的方法,包括:

响应于所述最大突发持续时间到期,优先处理对所述集合中具有所述FTM计数器的最低值的客户端设备的所述FTM会话的发起。

6.根据权利要求1所述的方法,包括:响应于确定所述服务时间大于所述最大突发持续时间,拒绝来自所述集合中的每个客户端设备的所述测距请求。

7.根据权利要求1所述的方法,其中所述高优先级业务基于以下各项中的至少一项而被标识:端口号、协议、字节频率、分组大小、以及互联网协议IP分组报头中的区分服务代码点DSCP。

8.一种接入点AP,包括:

处理器;以及

存储器,耦合到所述处理器,所述存储器存储指令,所述指令能够由所述处理器执行以:从客户端设备集合中的每个客户端设备接收用于发起FTM会话的测距请求;

基于所述测距请求来确定多个突发持续时间,来自所述多个突发持续时间中的每个突发持续时间指示用于对所述集合中的客户端设备执行所述FTM会话的时间段;

从所述多个突发持续时间中确定最大突发持续时间;

响应于确定用于服务高优先级业务的服务时间小于所述最大突发持续时间,选择所述客户端设备的子集来执行所述FTM会话,其中用于对所述子集中的每个客户端设备执行所述FTM会话的突发持续时间的总和小于所述最大突发持续时间;以及发起对所述子集中的每个客户端设备的所述FTM会话。

9.根据权利要求8所述的AP,其中对所述子集中的每个客户端设备的所述FTM会话至少部分基于从每个客户端设备接收所述测距请求的顺序而被发起。

10.根据权利要求8所述的AP,其中对客户端设备的所述子集的所述选择至少部分基于与所述集合中的每个客户端设备相关联的FTM计数器,其中所述FTM计数器指示对所述集合中的每个客户端的成功完成的FTM会话。

11.根据权利要求10所述的AP,其中所述处理器还用于:响应于对所述子集中的每个客户端设备的所述FTM会话的完成,使与所述子集中的每个客户端设备相关联的所述FTM计数器递增。

12.根据权利要求10所述的AP,其中所述处理器还用于:响应于所述最大突发持续时间到期,优先处理对所述集合中具有所述FTM计数器的最低值的客户端设备的所述FTM会话的发起。

13.根据权利要求8所述的AP,其中所述处理器还用于:

响应于确定所述服务时间大于所述最大突发持续时间,拒绝来自所述集合中的每个客户端设备的所述测距请求。

14.根据权利要求8所述的AP,其中所述高优先级业务基于以下各项中的至少一项而被标识:端口号、协议、字节频率、分组大小、以及互联网协议IP分组报头中的区分服务代码点DSCP。

15.一种非暂态计算机可读介质,包括计算机可读指令,所述计算机可读指令当由处理器执行时,使得所述处理器:从客户端设备集合中的每个客户端设备接收用于发起FTM会话的测距请求;

基于所述测距请求来确定多个突发持续时间,来自所述多个突发持续时间中的每个突发持续时间指示用于对所述集合中的每个客户端设备执行所述FTM会话的时间段;

从所述多个突发持续时间中确定最大突发持续时间;

响应于确定用于服务高优先级业务的服务时间小于所述最大突发持续时间,选择所述客户端设备的子集来执行所述FTM会话,其中用于对所述子集中的每个客户端设备执行所述FTM会话的突发持续时间的总和小于所述最大突发持续时间;以及发起对所述子集中的每个客户端设备的所述FTM会话。

16.根据权利要求15所述的非暂态计算机可读介质,其中对所述子集中的每个客户端设备的所述FTM会话至少部分基于从每个客户端设备接收所述测距请求的顺序而被发起。

17.根据权利要求15所述的非暂态计算机可读介质,其中对客户端设备的所述子集的所述选择至少部分基于与所述集合中的每个客户端设备相关联的FTM计数器,其中所述FTM计数器指示对所述集合中的每个客户端的成功完成的FTM会话。

18.根据权利要求17所述的非暂态计算机可读介质,其中所述计算机可读指令还使得所述处理器:响应于对所述子集中的每个客户端设备的所述FTM会话的完成,使与所述子集中的每个客户端设备相关联的所述FTM计数器递增。

19.根据权利要求17所述的非暂态计算机可读介质,其中所述计算机可读指令还使得所述处理器:响应于所述最大突发持续时间到期,优先处理对所述集合中具有所述FTM计数器的最低值的客户端设备的所述FTM会话的发起。

20.根据权利要求15所述的非暂态计算机可读介质,其中所述计算机可读指令还使得所述处理器:响应于确定所述服务时间大于所述最大突发持续时间,拒绝来自所述集合中的每个客户端设备的所述测距请求。

说明书 :

处理多个精细定时测量测距请求

背景技术

[0001] 计算机网络包括多种网络设备,诸如接入点、控制器、网关、交换机等,其执行诸如网络访问、认证和路由网络业务之类的不同联网操作,以提供连接性。无线局域网(WLAN)可以包括多个接入点(AP),作为WLAN的元件。这些AP可以部署在网络中。
[0002] 诸如膝上型计算机、个人计算机、智能电话等之类的客户端设备连接到网络设备以与网络交换数据。可以采用各种定位技术,用于基于接收无线通信信号来确定无线通信设备(例如,无线局域网(WLAN)设备)的位置。例如,定位技术可以利用客户端设备与一个或多个接入点之间的一个或多个精细定时测量(FTM)会话。定位技术可以利用一个或多个消息交换来确定无线通信信号的到达时间(TOA)、往返时间(RTT)、或到达时间差(TDOA)。RTT、TOA和TDOA信息可以用于确定无线通信设备在无线通信网络中的位置。这些因素可以与无线网络中一个或多个站的已知位置结合使用,以得出无线通信设备的位置。客户端设备和网络设备可以使用不同的协议和标准进行交互。电气和电子工程师协会(IEEE)发布了用于802.11标准系列下的无线通信的许多规范。802.11不断演进,试图解决无线设备激增带来的所有挑战。

附图说明

[0003] 根据一个或多个各种实施例,参照以下附图,对本公开进行详细描述。提供这些附图仅出于说明的目的,并且仅描绘了典型实施例或示例实施例。
[0004] 图1图示了可以针对诸如商业、教育机构、政府实体、医疗机构或其他组织之类的组织而实现的网络配置的示例。
[0005] 图2是根据一个实施例的用于处理多个FTM请求的示例计算部件或设备的框图。
[0006] 图3A和图3B图示了根据一个实施例的用于处理多个FTM请求的示例方法。
[0007] 图4描绘了其中可以实现本文中所描述的实施例的示例计算机系统的框图。
[0008] 附图并非是穷举的,也不会将本公开局限于所公开的精确形式。

具体实施方式

[0009] 精细定时测量(FTM)可以被诸如无线接入点(AP)或客户端设备之类的无线通信设备使用,以估计它们之间的距离。通常,用于FTM的方案使得AP能够在给定时间处理来自诸如计算机或智能手机之类的单个客户端设备的FTM请求。然而,在一些实例中,AP可能在给定时间从多个客户端设备接收用于发起FTM会话的请求。比如,如果AP正在服务诸如话音/视频或VoIP业务之类的高优先级业务,并且接收用于并行发起FTM的多个请求,则AP在服务业务的同时可能无法响应请求。在一个实例中,AP可以任意接受一个或多个请求,其可能会影响AP在服务高优先级业务时的性能,从而导致性能下降、分组丢失等。因此,给定时间的多个FTM请求可能会导致AP的性能降低且数据传输质量下降。
[0010] 本公开涉及在不影响AP所服务的高优先级业务的情况下处理用于发起FTM的多个请求的技术。根据本公开,AP从客户端设备集合中的每个客户端设备接收用于发起FTM会话的测距请求。测距请求是指发起FTM会话以确定请求设备与AP之间的距离的请求。客户端设备集合可以包括诸如膝上型计算机或智能电话之类的电子设备。基于测距请求,AP可以确定多个突发持续时间,其中来自多个突发持续时间的每个突发持续时间指示用于对该集合中的每个客户端设备执行FTM会话的时间段。FTM会话通常作为突发传输发生。突发传输是在短时段内相对高带宽传输的广播。突发传输包括特定数量数据的间断异步传输。突发传输可以以规则速率或不规则速率间歇。用于执行一个FTM会话的持续时间被称为突发持续时间。在突发持续时间内,两个WiFi站之间可能会交换一个或多个基于FTM的消息。AP从多个突发持续时间中确定最大突发持续时间。进一步地,检查AP是否正在服务高优先级业务。在一个示例中,可以基于互联网协议(IP)分组报头中存在的区分服务代码点(DSCP)来对高优先级业务进行分类。在另一示例中,高优先级业务可以是运营商期望按时递送的敏感业务。这可能包括互联网协议话音(VoIP)、媒体流式服务、在线游戏、视频会议、以及web浏览。
可以以使得这些选定用途的服务质量得以保证或至少优先于其他类别的业务的方式来配置业务管理方案。响应于确定AP正在服务高优先级业务,比较用于服务高优先级业务的服务时间与最大突发持续时间。服务时间是指AP服务高优先级业务所花费的估计时间。可以基于若干个因素来估计服务时间,这些因素包括源、目的地、数据速率、要传送的数据量等。
如果服务时间小于最大突发持续时间,则选择AP要对其中每一个执行FTM会话的客户端设备的子集,使得用于对子集中的每个客户端设备执行FTM会话的突发持续时间的总和小于最大突发持续时间。AP发起对选定子集中的每个客户端设备的FTM会话。
[0011] 因此,在本公开中,对选定请求客户端设备的FTM会话可以基于正在被服务的高优先级业务的服务时间与最大突发持续时间的比较而被发起。此外,如果FTM会话的突发持续时间的总和不超过最大突发持续时间,则发起对选定客户端设备的FTM会话。如果高优先级业务的服务时间大于最大突发持续时间,则拒绝测距请求。因此,使用本公开的技术,AP可以选择性地处理来自多个客户端设备的FTM测距请求,同时服务于高优先级业务,而不会使性能下降。
[0012] 以下具体实施方式参考附图。在可能的情况下,相同的附图标记在附图和以下描述用于是指相同部件或相似部件。虽然在说明书中描述了若干个示例,但是修改、改编和其他实现方式是可能的。因而,以下具体实施方式不限制所公开的示例。取而代之的是,所公开的示例的适当范围可以由所附权利要求限定。
[0013] 在详细描述所公开的系统和方法的实施例之前,描述可以在各种应用中实现这些系统和方法的示例网络安装是有用的。图1图示了可以针对诸如商业、教育机构、政府实体、医疗机构或其他组织之类的组织而实现的网络配置100的一个示例。该图图示了使用具有多个用户(或至少多个客户端设备110)并且可能具有多个物理或地理站点102、132、142的组织实现的配置的示例。网络配置100可以包括与网络120通信的主站点102。网络配置100还可以包括与网络120通信的一个或多个远程站点132、142。
[0014] 主站点102可以包括主网络,该主网络可以是例如办公网络、家庭网络、或其他网络安装。主站点102网络可以是专用网络,诸如可以包括用于约束对专用网络的授权用户的访问的安全性和访问控制的网络。授权用户可以包括例如位于主站点102的公司的员工、房屋的居民、企业的客户等。
[0015] 在所图示的示例中,主站点102包括与网络120通信的控制器104。控制器104可以为主站点102提供与网络120的通信,尽管它可能不是针对主站点102与网络120通信的唯一点。尽管主站点可以包括多个控制器和/或与网络120的多个通信点,但仍图示了单个控制器104。在一些实施例中,控制器104通过路由器(未图示)与网络120通信。在其他实施例中,控制器104向主站点102中的设备提供路由器功能性。
[0016] 控制器104可以操作以配置并管理诸如主站点102处的网络设备之类的网络设备,并且还可以管理远程站点132、134处的网络设备。控制器104可以操作以配置和/或管理连接到网络的交换机、路由器、接入点、和/或客户端设备。控制器104本身可以是接入点或提供接入点的功能性。
[0017] 控制器104可以与一个或多个交换机108和/或无线接入点(AP)106a‑c通信。交换机108和无线AP 106a‑c向各种客户端设备110a‑j提供网络连接性。使用与交换机108或AP 106a‑c的连接,客户端设备110a‑j可以访问网络资源,其包括(主站点102)网络上的其他设备和网络120。
[0018] 客户端设备的示例可以包括台式计算机、膝上型计算机、服务器、web服务器、认证服务器、认证授权计费(AAA)服务器、域名系统(DNS)服务器、动态主机配置协议(DHCP)服务器、互联网协议(IP)服务器、虚拟专用网络(VPN)服务器、网络策略服务器、大型机、平板计算机、电子阅读器、上网本计算机、电视和类似监视器(例如、智能TV)、内容接收器、机顶盒、个人数字助理(PDA)、移动电话、智能电话、智能终端、哑终端、虚拟终端、视频游戏机、虚拟助手、物联网(IOT)设备等。客户端设备还可以称为站(STA)。
[0019] 交换机108作为对有线客户端设备110i‑j在主站点102中建立的网络的访问点的一个示例被包括在主站点102内。客户端设备110i‑j可以连接到交换机108,并且通过交换机108可以能够访问网络配置100内的其他设备。客户端设备110i‑j还可以能够通过交换机108访问网络120。客户端设备110i‑j可以通过有线112连接与交换机108通信。在所图示的示例中,交换机108通过有线112连接与控制器104通信,尽管该连接也可以是无线连接。
[0020] 无线AP 106a‑c作为针对客户端设备110a‑h对在主站点102中建立的网络进行访问的点的另一示例被包括。AP 106a‑c可以控制对客户端设备110a‑h的网络访问,并且可以认证客户端设备110a‑h以用于连接到AP并且通过AP连接到网络配置100内的其他设备。AP106a‑c中的每个AP可以是硬件、软件和/或固件的组合,该硬件、软件和/或固件被配置为向无线客户端设备110a‑h提供无线网络连接性。在所图示的示例中,AP 106a‑c可以由控制器104管理并配置。AP 106a‑c通过连接112与控制器104和网络通信,该连接112可以为有线接口或无线接口。
[0021] 网络配置100可以包括一个或多个远程站点132。远程站点132可以位于与主站点102不同的物理位置或地理位置中。在一些情况下,远程站点132可以位于相同的地理位置或可能位于与主站点102相同的建筑物中,但缺少与位于主站点102内的网络的直接连接。
取而代之的是,远程站点132可以利用不同网络(例如,网络120)上的连接。诸如图1所图示的站点之类的站点132可以例如为卫星办公室、建筑物中的另一层或套房等。远程站点132可以包括用于与网络120通信的网关设备134。网关设备134可以为路由器、数模调制解调器、电缆调制解调器、数字订户线(DSL)调制解调器、或被配置为与网络120通信的某个其他网络设备。远程站点132还可以包括通过有线连接或无线连接与网关设备134通信的交换机
138和/或AP 136。交换机138和AP 136为各种客户端设备140a‑d提供与网络的连接性。
[0022] 在各个实施例中,远程站点132可以与主站点102直接通信,使得远程站点132处的客户端设备140a‑d访问主站点102处的网络资源,如同这些客户端设备140a‑d位于主站点102处一样。在这样的实施例中,远程站点132由主站点102处的控制器104管理,并且控制器
104提供使得远程站点132能够与主站点102通信的必要的连接性、安全性和可访问性。一旦连接到主站点102,远程站点132可以充当主站点102所提供的专用网络的一部分。
[0023] 在各种实施例中,网络配置100可以包括一个或多个较小远程站点142,其仅包括用于与网络120和无线AP 146通信的网关设备144,各种客户端设备150a‑b通过该网关设备144访问网络120。这种远程站点142可以表示例如单个员工的家或临时远程办公室。远程站点142还可以与主站点102通信,使得远程站点142处的客户端设备150a‑b访问主站点102处的网络资源,如同这些客户端设备150a‑b位于主站点102处一样。远程站点142可以由主站点102处的控制器104管理,以使得这种透明性成为可能。一旦连接到主站点102,远程站点
142就可以充当主站点102所提供的专用网络的一部分。
[0024] 网络120可以是诸如互联网之类的公共网络或专用网络、或其他通信网络,以允许各个站点102、130至142之间的连接性以及对服务器160a‑b的访问。网络120可以包括第三方电信线,诸如电话线、广播同轴电缆、光纤电缆、卫星通信、蜂窝通信等。网络120可以包括任何数目的中间网络设备,诸如交换机、路由器、网关、服务器、和/或控制器,它们并非网络配置100的直接部分,而是有助于网络配置100的各个部分之间以及网络配置100与其他网络连接实体之间的通信。网络120可以包括各种内容服务器160a‑b。内容服务器160a‑b可以包括多媒体可下载和/或流式传输内容的各种提供方,该多媒体可下载和/或流式传输内容包括音频内容、视频内容、图形内容、和/或文本内容、或其任何组合。内容服务器160a‑b的示例包括例如web服务器、流式无线电和视频提供方、以及电缆和卫星电视提供方。客户端设备110a‑j、140a‑d、150a‑b可以请求并访问内容服务器160a‑b所提供的多媒体内容。
[0025] 图2是根据一个实施例的用于处理多个FTM请求的示例计算部件或设备200的框图。在一个示例中,计算部件200可以充当网络设备,如本文中所描述的实施例中所提及的。网络设备的示例可以包括AP、层3交换机、以及路由器。在另一示例中,计算部件200可以充当连接到网络设备的客户端设备,诸如计算机、智能电话等。
[0026] 在图2的示例实现方式中,计算部件200包括硬件处理器202和机器可读存储介质204。硬件处理器202可以为一个或多个中央处理器(CPU)、基于半导体的微处理器、和/或适合于取回并执行机器可读存储介质204中存储的指令的其他硬件设备。硬件处理器202可以获取、解码和执行诸如指令206至214之类的指令,以控制用于处理用于发起FTM的多个测距请求的过程或操作。作为取回并执行指令的备选或补充,硬件处理器202可以包括一个或多个电子电路,该一个或多个电子电路包括用于执行一个或多个指令的功能性的电子部件,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、或其他电子电路。
[0027] 诸如机器可读存储介质204之类的机器可读存储介质可以是包含或存储可执行指令的任何电子存储设备、磁性存储设备、光学存储设备、或其他物理存储设备。因此,机器可读存储介质204可以为例如随机存取存储器(RAM)、非易失性RAM(NVRAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。在一些实施例中,机器可读存储介质204可以是非暂态存储介质,其中术语“非暂态”不涵盖暂态传播信号。如下文所详细描述的,机器可读存储介质204可以使用可执行指令(例如,指令206至218)进行编码。
[0028] 进一步地,尽管图2所示的步骤按次序进行,但是所示出的次序并非是可以执行这些步骤的唯一次序。任何步骤可以在任何时间按任何次序执行,可以重复执行和/或可以由一个或多个任何合适设备执行。图3还以不同的详细程度讨论了图2所示的过程。
[0029] 在步骤206中,计算部件/设备200从客户端设备集合中的每个客户端设备接收用于发起FTM会话的测距请求。计算部件/设备200可以为AP。在一个示例中,集合中的多个客户端设备可以尝试与AP建立FTM会话,以通过发送测距请求来确定客户端设备中的每个客户端设备与AP之间的距离。因此,可以从多个客户端设备并行接收多个测距请求。
[0030] 在步骤208中,计算设备200可以确定多个突发持续时间,其中来自多个突发持续时间的每个突发持续时间指示对该集合中的客户端设备执行FTM会话的时间段。突发持续时间是指用于在AP与客户端设备之间执行FTM会话的时间段。在突发持续时间内,AP与客户端设备之间可能会交换一个或多个FTM消息。在一个示例中,测距请求可以包括FTM请求帧,该FTM请求帧包含要与AP协商的FTM参数。FTM参数可以包括例如突发持续时间值、若干个突发的指数值、最小增量FTM值、尽快(ASAP)值、每个突发值的FTM、FTM帧格式等。基于测距请求中包括的一个或多个FTM参数,可以确定对集合中的每个客户端设备执行FTM会话的突发持续时间。
[0031] 在步骤210中,从多个突发持续时间中确定最大突发持续时间。在一个示例中,可以通过比较集合中的单个客户端设备的突发持续时间来标识最大突发持续时间。最大突发持续时间指示在客户端设备集合中的一个客户端设备与AP之间执行FTM会话可能需要的最大时间。
[0032] 在步骤212中,响应于确定用于服务高优先级业务的服务时间小于最大突发持续时间,选择客户端设备的子集来执行FTM会话,使得用于对子集中的每个客户端设备执行FTM会话的突发持续时间的总和小于最大突发持续时间。在一个示例中,增加了所确定的客户端设备子集的每个客户端设备的突发持续时间,并且比较了突发持续时间的总和与最大突发持续时间。只要突发持续时间的总和不超过最大突发持续时间,就可以对客户端设备子集中的每个客户端设备执行FTM会话。
[0033] 在一个示例中,标识AP所服务的高优先级业务。高优先级业务可以包括VoIP业务、在线游戏、媒体流式服务等。高优先级业务可以基于经由AP传输的分组中存在的标识符来标识。AP可以基于若干个因素来将业务分类为高优先级,这些因素包括端口号、协议、字节频率、分组大小。基于上述因素,AP可以实现业务管理方案或策略以对业务进行分类并且基于其分类来服务业务。在一些示例中,网络业务可以被分类为敏感业务和尽力业务(best effort traffic)。敏感业务包括期望按时递送的网络业务。这可能包括VoIP、在线游戏、视频会议、以及web浏览。业务管理方案被配置为使得这些选定用途的服务质量(QoS)得以保证,或至少优先于其他类别的业务。尽力业务是所有其他种类的无害业务(non‑detrimental traffic)。它是服务提供方认为对QoS参数(诸如抖动、分组丢失、延迟)不敏感的业务。尽力业务的示例可以包括对等应用和电子邮件应用。业务管理方案被配置为使得在按优先级服务敏感业务之后,AP的资源指派给尽力业务。因此,在该示例中,高优先级业务可以包括敏感业务。在一个示例中,AP所服务的网络业务可以使用服务区分技术而被分类为高优先级业务或尽力业务。比如,作为IP分组中的分组报头值的区分服务代码点(DSCP)可以用于请求(例如)网络业务的高优先级递送或尽力递送。基于DSCP值,网络业务可以被分类为例如加速转发(EF)、确保转发(AF)等。具有EF码点值的分组可以保证最高优先级递送,并且具有AF码点的分组可以指示业务与尽力业务相比接收更高的优先级处理(尽管具有EF码点的分组可能继续优先于具有AF码点的分组)的请求。在一个示例中,出于本公开的目的,具有EF或AF码点值的分组可以被确定为高优先级业务。
[0034] 响应于标识AP正在服务高优先级业务,比较用于服务高优先级业务的服务时间与最大突发持续时间。在一个示例中,服务时间指示AP完成服务高优先级业务所花费的估计时间。如果用于服务高优先级业务的服务时间小于最大突发持续时间,则选择客户端设备的子集用于执行FTM会话。如果服务时间等于或大于最大突发持续时间,则拒绝集合中的客户端设备的测距请求。
[0035] 在步骤214处,发起对子集中的每个客户端设备的FTM会话。在一个示例中,可以按先进先出(FIFO)次序来服务用于从每个客户端设备发起FTM会话的测距请求。在一个示例中,AP可以按FIFO次序确认选定子集中的一个客户端设备的测距请求,从而发起对该客户端设备的FTM会话。因此,选择性地发起对请求FTM会话的客户端设备中的一些客户端设备的FTM会话,同时在性能没有下降的情况下,处理高优先级业务。
[0036] 图3A和图3B图示了根据一个实施例的用于处理多个FTM测距请求的示例方法300。该方法300可以由诸如AP、交换机或路由器之类的网络设备执行。然而,尽管在本文中所描述的示例中,认为方法300由网络设备实现,但是方法300也可以由诸如个人计算机、膝上型计算机、智能电话等之类的客户端设备实现。如本文中所描述的方法300的步骤可以在经过必要变更之后通过客户端设备执行。(多个)处理资源或(多个)计算设备可以通过任何合适硬件、非暂态机器可读介质或其组合来实现方法300。在一个示例中,方法300可以由计算机可读指令执行,这些计算机可读指令包括存储在介质上并且可由诸如计算部件200之类的计算设备/部件的处理资源(诸如硬件处理器202)执行的指令。进一步地,尽管在前述计算部件200的上下文中对方法300进行了描述,但是其他合适系统可以用于方法300的执行。应当理解,方法300中所包括的步骤可以基于非暂态计算机可读介质中存储的指令来执行。非暂态计算机可读介质可以包括例如数字存储器、磁性存储介质(诸如磁盘和磁带)、硬盘驱动器、或光学可读数字数据存储介质。
[0037] 参考图3A,在框302中,诸如图1的AP 106a‑c中的一个AP之类的AP可以从客户端设备集合中的每个客户端设备(诸如图1的客户端设备110a‑j的集合中的每个客户端设备)接收用于发起FTM会话的测距请求。在一个示例中,客户端设备110a‑j的集合中的每个客户端设备可以向AP 106a发送测距请求以测量客户端设备中的每个客户端设备与AP 106a相距的距离。在一个实例中,AP 106a可以初始化与客户端设备110a‑j中的每个客户端设备相关联的FTM计数器。初始化FTM计数器包括:将FTM计数器的值存储在AP 106a中。FTM计数器指示对该集合中的每个客户端设备的成功完成的FTM会话。因此,FTM计数器是AP 106a服务客户端设备的FTM会话的频次的度量。在一个示例中,从集合中的每个客户端设备接收的测距请求可以包括用于在AP 106a与每个客户端设备110a‑j之间进行协商的FTM参数。
[0038] 在框304处,基于测距请求,可以通过诸如AP 106a之类的AP确定用于对集合中的每个客户端设备执行FTM会话的突发持续时间。在一个示例中,基于在AP与每个客户端设备110a‑j之间协商的FTM参数,可以确定用于对每个客户端设备110a‑j执行FTM会话的突发持续时间。考虑客户端设备110a‑j中的每个客户端设备的突发持续时间分别是Da‑Dj。因此,对于客户端设备110a,所确定的突发持续时间为Da;而对于客户端设备110b,所确定的突发持续时间为Db,依此类推。
[0039] 在框306处,从突发持续时间Da‑Dj中确定最大突发持续时间。最大突发持续时间与在客户端设备110a‑j中的一个客户端设备与AP106a之间执行FTM会话可能需要的最大持续时间相对应。考虑最大突发持续时间被确定为Dh。因此,最大突发持续时间Dmax=Dh。
[0040] 在框308处,AP可以确定用于服务高优先级业务的服务时间。在一个示例中,检查AP当前服务的业务的优先级或分类。在一个示例中,可以检查IP分组报头中的差分服务(DS)字段以确定业务是否为高优先级业务员。基于DS字段值,业务可以被标识为“高优先级业务”或“尽力业务”。
[0041] 服务时间是指AP服务高优先级业务所花费的估计时间。考虑用于通过AP 106a服务高优先级业务的服务时间被确定为Ts。在框310处,比较服务时间与最大突发持续时间。响应于确定服务时间小于最大突发持续时间(来自框310的“是”分支),即,Ts<Dmax,在框
312处,选择客户端设备的子集来执行FTM会话。在一个示例中,可以选择客户端设备110a‑e的子集,使得用于对该子集中的每个客户端设备执行FTM会话的突发持续时间的总和小于用于执行FTM会话的最大突发持续时间。因此,在本示例中,∑Da+Db+…+De
[0042] 在一个示例中,对客户端设备110a‑e的子集的选择至少部分基于与集合中的每个客户端设备相关联的FTM计数器。在一个示例中,在与客户端设备110a‑e相关联的FTM计数器被选择为客户端设备的子集之前,可以对该FTM计数器进行检查,并且可以优先处理对集合中具有FTM计数器的最低值的客户端设备的FTM会话的发起。因此,在选择客户端设备110a‑e的子集的同时,可以按FTM计数器的值的升序选择客户端设备,其中最先被选择的客户端设备具有FTM计数器的最低值。
[0043] 响应于确定服务时间等于或大于最大突发持续时间,即,Ts≥Dmax,在框314处,拒绝来自集合110a‑j中的每个客户端设备的测距请求。响应于拒绝来自集合中的客户端设备的测距请求,AP106a可以指派其资源用于服务高优先级业务。
[0044] 一旦选择了客户端设备110a‑e的子集,则在框316处,将指示接受从子集中的每个客户端设备接收的测距请求的确认响应发送到子集中的每个客户端设备。在一个示例中,根据子集中的客户端设备发送测距请求的顺序,将确认响应发送到子集中的选定客户端设备中的每个客户端设备。考虑到测距请求由客户端设备110a‑e从110a开始依次一个接一个地发送,对子集110a‑e中的每个客户端设备的确认响应按同一次序发送。因此,首先将确认响应发送到客户端设备110a,从而发起对客户端设备110a的FTM会话。比如,一旦客户端设备110a的FTM会话的突发持续时间到期,则AP可以确认来自客户端设备110b的测距请求。在一个示例中,按先进先出(FIFO)方式发起对客户端设备110a‑e的选定子集的FTM会话,使得确认发送第一测距请求的子集中的客户端设备并且首先服务该客户端设备。因此,在框318处,基于从每个客户端设备接收测距请求的顺序,发起对子集中的每个客户端设备的FTM会话。一旦发起,就可以对客户端设备110a执行FTM会话,并且可以在交换FTM会话的突发持续时间内交换FTM消息。
[0045] 在框320处,检查客户端设备110a的突发持续时间Da是否已经到期。突发持续时间到期(来自框320的“是”分支)指示对客户端设备110a的FTM会话完成。如果突发持续时间尚未到期,则在框322处,FTM会话可以继续。响应于对客户端设备110a的FTM会话的完成,使与客户端设备110a相关联的FTM计数器递增。在完成对客户端设备110a的FTM会话之后,基于从子集中的客户端设备接收测距请求的顺序,发起对客户端设备110b的FTM会话。在完成对客户端设备110b的FTM会话时,使与客户端设备110b相关联的FTM计数器递增。因此,在框324处,响应于对子集中的每个客户端设备的FTM会话的完成,使与该子集中的每个客户端设备相关联的FTM计数器递增。优先处理对该集合中具有FTM计数器的最低值的客户端设备的FTM会话。在一个示例中,如果具有FTM计数器的最低值的客户端设备发送测距请求以发起FTM会话,则在客户端设备的子集的选择步骤期间,这种客户端设备被赋予优先级。
[0046] 图4描绘了其中可以实现本文中所描述的实施例的示例计算机系统400的框图。计算机系统400包括总线402或用于传达信息的其他通信机构、与总线402耦合以用于处理信息的一个或多个硬件处理器404。(多个)硬件处理器404可以例如为一个或多个通用微处理器。
[0047] 计算机系统400还包括耦合到总线402用于存储要由处理器404执行的信息和指令的主存储器406,诸如随机存取存储器(RAM)、高速缓存、和/或其他动态存储设备。主存储器406还可以用于在要由处理器404执行的指令的执行过程期间存储临时变量或其他中间信息。这些指令当存储在处理器404可以访问的存储介质中时,将计算机系统400渲染为专用机器,该专用机器被定制以执行指令中指定的操作。
[0048] 计算机系统400还包括只读存储器(ROM)408或其他静态存储设备,该其他静态存储设备耦合到总线402,用于存储静态信息和处理器404的指令。提供诸如磁盘、光盘、或USB拇指驱动器(闪存驱动器)等之类的存储设备410,并且将其耦合到总线402用于存储信息和指令。
[0049] 计算机系统400可以经由总线402耦合到显示器412,诸如液晶显示器(LCD)(或触摸屏),用于向计算机用户显示信息。包括字母数字键和其他键在内的输入设备414耦合到总线402,用于将信息和命令选择传达到处理器404。另一类型的用户输入设备是光标控件416,诸如鼠标、跟踪球、或光标方向键,用于将方向信息和命令选择传达到处理器404并且用于控制显示器412上的光标移动。在一些实施例中,可以经由在没有光标的情况下接收触摸屏上的触摸来实现与光标控件相同的方向信息和命令选择。
[0050] 计算系统400可以包括用于实现GUI的用户接口模块,该GUI可以作为可由(多个)计算设备执行的可执行软件代码存储在大容量存储设备中。通过示例,该模块和其他模块可以包括部件,诸如软件部件、面向对象的软件部件、类部件和任务部件、过程、功能、属性、过程、子例程、程序代码段、驱动程序、固件、微码、电路系统、数据、数据库、数据结构、表、数组、以及变量。
[0051] 一般而言,本文中所使用的单词“部件”、“系统”、“数据库”等可以是指以硬件或固件体现的逻辑,或是指以编程语言(诸如例如,Java、C或C++)编写的可能具有进入点和/或退出点的软件指令的集合。软件部件可以被编译并链接到可执行程序中,安装在动态链接库中,或可以以诸如例如BASIC、Perl或Python之类的解释性编程语言编写。应当领会,可以从其他部件或它们自身和/或可以响应于所检测的事件或中断而调动软件部件。可以在诸如光盘、数字视频光盘、闪存驱动器、磁盘或任何其他有形介质之类的计算机可读介质上提供被配置为用于在计算设备上执行的软件部件,还可以把该软件部件提供为数字下载文件(并且可以首先以需要在执行之前安装、解压缩或解密的压缩或可安装格式存储)。这种软件代码可以部分或全部存储在执行计算设备的存储器设备上,以供由计算设备执行。软件指令可以嵌入在诸如EPROM之类的固件中。还应当领会,硬件部件可以包括诸如门和触发器之类的连接的逻辑单元和/或可以包括诸如可编程门阵列或处理器之类的可编程单元。
[0052] 计算机系统400可以使用定制硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文中所描述的技术,该固件或程序逻辑与计算机系统结合使得计算机系统400成为或将其编程为专用机器。根据一个实施例,响应于(多个)处理器404执行主存储器
406中包含的一个或多个指令的一个或多个序列,本文中的技术由计算机系统400执行。这样的指令可以从诸如存储设备410之类的另一存储介质读取到主存储器406中。执行主存储器406中包含的指令序列使得(多个)处理器404执行本文中所的过程步骤。在各备选实施例中,可以使用硬连线电路系统代替软件指令或与该软件指令结合使用。
[0053] 如本文中所使用的,术语“非暂态介质”和类似术语是指存储使得机器以特定方式操作的数据和/或指令的任何介质。这种非暂态介质可以包括非易失性介质和/或易失性介质。该非易失性介质包括例如光盘或磁盘,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。非暂态介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带、或任何其他磁性数据存储介质、CD‑ROM、任何其他光学数据存储介质、带有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH‑EPROM、NVRAM、任何其他存储器芯片或盒式磁带、以及它们的联网版本。
[0054] 非暂态介质不同于但可以与传输介质结合使用。传输介质参与非暂态媒体之间的信息传送。例如,传输介质包括同轴电缆、铜线和光纤,该光纤包括导线,该导线包括总线402。传输介质还可以采用声波或光波的形式,诸如无线电波和红外数据通信期间生成的声波或光波。
[0055] 计算机系统400还包括通信接口418,该通信接口418耦合到总线402。网络接口418提供双向数据通信,其耦合到一个或多个网络链路,该一个或多个网络链路连接到一个或多个本地网络。例如,通信接口418可以为集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或调制解调器,以提供与对应类型的电话线的数据通信连接。作为另一示例,网络接口418可以是局域网(LAN)卡,以提供与兼容LAN(或与WAN通信的WAN部件)的数据通信连接。还可以实现无线链路。在任何这样的实现方式中,网络接口418发送并接收电信号、电磁信号、或光信号,其携带表示各种类型的信息的数字数据流。
[0056] 网络链路通常提供通过一个或多个网络与其他数据设备的数据通信。例如,网络链路可以通过本地网络提供与主机计算机或互联网服务提供方(ISP)所运营的数据设备的连接。ISP又通过现在通常称为“互联网”的全球分组数据通信网络提供数据通信服务。局域网和互联网均使用承载数字数据流的电信号、电磁信号、或光信号。通过各种网络的信号以及网络链路上并且通过通信接口418的信号是传输介质的示例形式,这些信号携带去往和来自计算机系统400的数字数据。
[0057] 计算机系统400可以通过(多个)网络、网络链接和通信接口418发送消息并接收包括程序代码在内的数据。在互联网示例中,服务器可以通过互联网、ISP、局域网和通信接口418为应用程序传输所请求的代码。所接收的代码可以在其被接收时由处理器404执行,和/或存储在存储设备410或其他非易失性存储中,以供稍后执行。
[0058] 前面章节中所描述的过程、方法和算法中的每个过程、方法和算法都可以在一个或多个计算机系统或包括计算机硬件的计算机处理器所执行的代码部件中体现,并且可以通过一个或多个计算机系统或包括计算机硬件的计算机处理器所执行的代码部件完全或部分自动化。一个或多个计算机系统或计算机处理器还可以在“云计算”环境中或作为“软件即服务”(SaaS)来支持相关操作的执行。该过程和算法可以在专用电路系统中部分或全部实现。上文所描述的各种特征和过程可以彼此独立使用,或可以以各种方式组合。不同的组合和子组合旨在落入本公开的范围内,并且在一些实现方式中可以省略某些方法或过程框。本文中所描述的方法和过程也不限于任何特定顺序,并且与之有关的框或状态可以按适当的其他顺序来执行,或可以并行或按某个其他方式执行。块或状态可以添加到所公开的示例实施例或从所公开的示例实施例中移除。操作或过程中的某些操作或过程的执行可以分布在计算机系统或计算机处理器之间,不仅驻留在单个机器内,而且可以跨若干个机器部署。
[0059] 如本文中所使用的,跨越利用任何形式的硬件、软件或其组合来实现电路。例如,可以实现一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑部件、软件例程或其他机构来构成电路。在实现时,本文中所描述的各种电路可以被实现为分立电路,或所描述的功能和特征可以在一个或多个电路之间部分或全部共享。即使功能性的各种特征或元件可以单独描述或要求保护为单独电路,这些特征和功能性也可以在一个或多个公共电路之间共享,并且这种描述应当无需或暗示需要单独电路来实现这样的特征或功能性。在使用软件全部或部分实现电路的情况下,这种软件可以实现为与能够进行相对于此描述的功能性的计算系统或处理系统(诸如计算机系统400)一起操作。
[0060] 如本文中所使用的,术语“或”可以以包括性意义或排他性意义来解释。而且,单数形式的资源、操作或结构的描述不应理解为排除复数。除非另外明确说明或在所使用的上下文内以其他方式理解,否则诸如“可”、“可以”、“可能”或“能够”等之类的条件性语言通常旨在传达某些实施例包括而其他实施例不包括某些特征、元件和/或步骤。
[0061] 除非另有明确说明,否则本文档中所使用的术语和短语及其变型应当解释为开放式的,而非限制性的。作为前述示例,术语“包括”应当被理解为意思是“包括但不限于”等。术语“示例”用于提供所讨论的项的示例性实例,而非其详尽或限制性清单。术语“一”或“一个”应当阅读为意指“至少一个”、“一个或多个”等。在一些实例中,诸如“一个或多个”、“至少”、“但不限于”或其他类似短语之类的宽泛单词和短语的存在不应阅读为在这样的宽泛短语可能不存在的实例中旨在或要求使用更窄情况。
[0062] 尽管已经以特定于结构特征和/或方法的语言对本主题的实现方式进行描述,但是应当指出,本主题不必局限于所描述的特定特征或方法。相反,在本主题的一些实现方式的上下文中对特定特征和方法进行了公开和说明。