一种用于锚主设备选择的方法和设备的制作方法

文档序号:7807546阅读:262来源:国知局
一种用于锚主设备选择的方法和设备的制作方法
【专利摘要】本发明实施例公开一种用于锚主设备选择的方法和设备,可保持NAN簇中设备间的时间同步。方法包括:设备接收NAN?Beacon帧,NAN?Beacon帧携带有第一AM信息及第一TSF信息,第一AM信息包括:第一AMR、第一HC、第一AMBTT;若NAN?Beacon帧用于AM选择,则当第一AMR小于第二AMR,且设备的MR大于第一AMR时,设备将设备的角色转换为AM,设备记录的第二AM信息包括:第二AMR、第二HC、第二AMBTT;若NAN?Beacon帧用于AM选择,则当第一AMR小于第二AMR,且设备的MR小于第一AMR时,设备根据NAN?Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
【专利说明】一种用于锚主设备选择的方法和设备

【技术领域】
[0001] 本发明涉及通信【技术领域】,尤其涉及一种用于锚主设备选择的方法和设备。

【背景技术】
[0002] 伴随着移动互联网时代的来临,社交、本地化、移动成为互联网行业的主流模式。 特别是随着配备无线保真(Wireless-Fidelity,Wi-Fi)接口的移动设备的普及,设备在邻 居感知网络(Neighbor Awareness Networking, NAN)中的社交应用正在成为业界的热点。
[0003] 多个NAN设备组成的NAN网络称为NAN簇(Cluster),同一个NAN簇内的设备 具有相同的簇标识,每个设备具有自身的属性,包括:角色(Role)和状态(State)。Role 包括主设备(Master)和非主设备(non-Master)两类,State包括同步(sync)和非同 步(non-sync)两种。Sync状态的设备负责维护簇同步,Master-定是sync状态,而 non-Master可以是sync或non-sync状态。每个设备还包括主设备意愿值(Master Rank, MR),在NAN簇中MR最大的Master成为锚主设备(Anchor Master,AM),所有其它设备与AM 在时间上保持同步,从而保证了整个NAN簇的同步。
[0004] 在NAN簇中典型的应用场景是设备之间在关联之前进行相互的服务发现。为 了能够进行设备之间的服务发现,NAN簇中的设备必须在特定时间段工作于NAN的社交 (social)信道并保持醒来(awake)状态,例如,2.4GHz频道上的社交信道为信道6。由于某 些场景中要求NAN必须长期运行于后台,因此NAN中设备需要进行节能控制,故设备只有在 发现窗口(Discovery Window,DW)到达时才会醒来,在social信道上进行服务发现和簇同 步;而在DW之外,除Mater之外的其它设备均可处于休眠状态。
[0005] 由于不同NAN设备内部的晶振在频率上存在差异,两个设备之间必须经常同步 才能保证两者系统时钟不出现大的偏差。为了保持NAN簇的同步,每个Master和Sync non-Master在DW内发送同步信标(Sync Beacon)巾贞,其中包含AM信息及时间同步功 能(Time Synchronization Function, TSF)信息,AM 信息包括:锚主设备意愿值(Anchor Master Rank,AMR)、跳数(Hop Coun tto Anchor Master,HC)、锚主设备信标传输时间 (Anchor Master Beacon Transmission Time,AMBTT)。AMR 即为 AM 的 MR 值,NAN 族中的每 个设备都会记录该AMR值。
[0006] 由于NAN簇中同步的基准为AM,即MR最大的Master,而MR是随时间随机变化的。 当设备的MR发生变化时,NAN簇中MR最大的Master也在发生变化。当设备的MR发生变化 时,NAN簇能够及时选择出MR最大的AM,这对于维护NAN簇同步至关重要。按照当前NAN 规范草案,在NAN簇同步的过程中,设备记录的AMR值只会变得更大,但是当AM自身的MR 变小时,即使MR为原AMR值的设备已经不存在了,设备所记录的原AMR值也始终存在NAN 簇中而不能被清除掉,而记录的HC值将越来越大。根据现有规范,当接收到的Sync Beacon 帧中的HC超过阈值时,设备会将Sync Beacon帧丢弃,也就是说,随着时间推移,HC越来越 大,整个NAN簇中的设备将因 HC超过阈值而会将接收到的Sync Beacon帧都丢弃掉,同时由 于NAN簇中会失去AM,导致整个NAN簇发生崩溃,从而无法实现设备间的时间同步。


【发明内容】

[0007] 本发明实施例提供了一种用于锚主设备选择的方法和设备,用于保持NAN簇中设 备间的时间同步。
[0008] 为解决上述技术问题,本发明实施例提供以下技术方案:
[0009] 第一方面,本发明实施例提供一种用于锚主设备选择的方法,包括:
[0010] 设备接收邻居感知网络信标NAN Beacon帧,所述NAN Beacon帧携带有第一 AM信 息及第一时间同步功能TSF信息,所述第一 AM信息包括:第一锚主设备意愿值AMR、第一跳 数HC、第一锚主设备信标传输时间AMBTT ;
[0011] 若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于第二AMR,且所述设备 的主设备意愿值MR大于所述第一 AMR时,所述设备将所述设备的角色转换为AM,所述设备 记录有第二AM信息,所述第二AM信息包括:第二AMR、第二HC、第二AMBTT ;
[0012] 若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于所述第二AMR,且所述 设备的MR小于所述第一 AMR时,所述设备根据所述NAN Beacon帧对所述设备记录的所述第 二AM信息和第二TSF信息进行更新。
[0013] 结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
[0014] 若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于第二AMR,且所述设备 的MR等于所述第一 AMR时,所述设备将所述设备的角色转换为AM,或,所述设备根据所述 NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更新。
[0015] 结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的 实现方式中,所述设备将所述设备的角色转换为AM,以及所述设备根据所述NAN Beacon帧 对所述设备记录的所述第二AM信息和第二TSF信息进行更新之前,还包括:
[0016] 若所述第一 HC小于或等于所述跳数门限,所述设备触发执行所述设备将所述设 备的角色转换为AM的步骤,或,所述设备触发执行所述设备根据所述NAN Beacon帧对所述 设备记录的所述第二AM信息和第二TSF信息进行更新的步骤。
[0017] 结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的 第三种可能的实现方式中,当所述设备为AM时,所述NAN Beacon帧用于AM选择通过如下方 式确定:
[0018] 若所述第一 AMR小于所述第二AMR,则所述设备确定所述NAN Beacon帧不用于AM 选择;
[0019] 若所述第一 AMR大于或等于所述第二AMR,若在所述第二AMR发生更新开始后的 预置时间段内所述第一 AMR等于第三AMR,则所述设备确定所述NAN Beacon帧不用于AM选 择,所述第三AMR为所述设备中的所述第二AMR发生更新之前的AMR ;
[0020] 若所述NAN Beacon巾贞不满足第一条件时,则所述设备确定所述NAN Beacon巾贞用于 AM选择,所述第一条件为:所述第一 AMR小于所述第二AMR,或在所述预置时间段内所述第 一 AMR等于所述第三AMR。
[0021] 结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的 第四种可能的实现方式中,当所述设备为AM时,所述NAN Beacon帧用于AM选择通过如下方 式确定:
[0022] 若所述第一 AMR小于所述第二AMR,则所述设备确定所述NAN Beacon帧不用于AM 选择;
[0023] 若所述第一 AMR大于或等于所述第二AMR,若在所述第二AMR发生更新开始后的预 置时间段内所述第一 AMBTT小于所述第二AMBTT,则所述设备确定所述NAN Beacon帧不用 于AM选择;
[0024] 若所述NAN Beacon巾贞不满足第二条件时,则所述设备确定所述NAN Beacon巾贞用于 AM选择,所述第二条件为:所述第一 AMR小于所述第二AMR,或在所述预置时间段内所述第 一 AMBTT小于所述第二AMBTT。
[0025] 结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的 第五种可能的实现方式中,当所述设备不是AM时,所述NAN Beacon巾贞用于AM选择通过如下 方式确定:
[0026] 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二 AMR,则所述设备确定所述NAN Beacon帧不用于AM选择;
[0027] 若在所述预置时间段内所述第一 AMR等于第三AMR,则所述设备确定所述NAN Beacon巾贞不用于AM选择,所述第三AMR为所述设备中的所述第二AMR发生更新之前的 AMR ;
[0028] 若所述NAN Beacon巾贞不满足第三条件时,则所述设备确定所述NAN Beacon巾贞用于 AM选择,所述第三条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所 述预置时间段内所述第一 AMR等于所述第三AMR。
[0029] 结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的 第六种可能的实现方式中,当所述设备不是AM时,所述NAN Beacon巾贞用于AM选择通过如下 方式确定:
[0030] 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二 AMR,则所述设备确定所述NAN Beacon帧不用于AM选择;
[0031] 若在所述预置时间段内所述第一 AMBTT小于所述第二AMBTT,则所述设备确定所 述NAN Beacon巾贞不用于AM选择;
[0032] 若所述NAN Beacon帧不满足第四条件时,则所述设备确定所述NAN Beacon帧用于 AM选择,所述第四条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所 述预置时间段内所述第一 AMBTT小于所述第二AMBTT。
[0033] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述 方法还包括:
[0034] 若所述NAN Beacon帧用于AM选择,则当所述第一 AMR大于所述第二AMR时,所述 设备根据所述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更新。
[0035] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能的实现方式,在第一方面的第八种可能的实现 方式中,所述设备根据所述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信 息进行更新,包括:
[0036] 所述设备将所述第二AMR的值更新为所述第一 AMR的值;
[0037] 所述设备将所述第二HC的值更新为所述第一 HC的值加 1 ;
[0038] 若所述NAN Beacon帧由AM发送,所述设备将所述第二AMBTT的值更新为所述第 一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,所述设备将所述第二 AMBTT的值更新为所述第一 AMBTT ;
[0039] 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值。
[0040] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能的实现方式,在第一方面的第九 种可能的实现方式中,所述方法还包括:
[0041] 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR时,若所 述第一 AMBTT大于所述第二AMBTT,或,所述第一 AMBTT等于所述第二AMBTT且所述第一 HC 小于所述第二HC减1时,所述设备根据所述NAN Beacon巾贞对所述设备记录的所述第二AM 信息的部分信息或全部信息以及所述第二TSF信息进行更新。
[0042] 结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式 中,
[0043] 若所述NAN Beacon帧用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述 第一 AMBTT大于所述第二AMBTT时,所述设备根据所述NAN Beacon帧对所述设备记录的所 述第二AM信息的部分信息或全部信息以及所述第二TSF信息进行更新,包括:
[0044] 所述设备将所述第二HC的值更新为所述第一 HC的值加1 ;
[0045] 若所述NAN Beacon帧由AM发送,所述设备将所述第二AMBTT的值更新为所述第 一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,所述设备将所述第二 AMBTT的值更新为所述第一 AMBTT ;
[0046] 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值;
[0047] 若所述NAN Beacon巾贞用于AM选择,当所述第一 AMR等于所述第二AMR时,则当所 述第一 AMBTT等于所述第二AMBTT,且所述第一 HC小于所述第二HC减1时,所述设备根据 所述NAN Beacon帧对所述设备记录的所述第二AM信息的部分信息或全部信以及所述第二 TSF信息进行更新,包括:
[0048] 所述设备将所述第二HC的值更新为所述第一 HC的值加1 ;
[0049] 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值。
[0050] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能的实现方式,在第一方面的第 十一种可能的实现方式中,所述方法还包括以下步骤中的至少一个:
[0051] 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述 第一 HC大于或等于所述第二HC时,所述设备忽略所述NAN Beacon帧携带的第一 AM信息;
[0052] 若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞不是由AM发送,贝U当所 述第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述第一 AMBTT大 于所述第二AMBTT时,所述设备将所述第二AMBTT的值更新为所述第一 AMBTT,所述设备将 所述第二TSF信息的取值更新为所述第一 TSF信息的取值;
[0053] 若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞是由AM发送,贝U当所述 第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述第一 TSF信息的 预置字节的取值大于所述第二AMBTT时,所述设备将所述第二AMBTT的值更新为所述第一 AMBTT,所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值;
[0054] 若所述NAN Beacon巾贞用于AM选择,则当所述第一AMR等于所述第二AMR,且所述第 一 HC小于所述第二HC减1时,若所述NAN Beacon帧由AM发送,所述设备将所述第二AMBTT 的值更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,所 述设备将所述第二AMBTT的值更新为所述第一 AMBTT,所述设备将所述第二TSF信息的取值 更新为所述第一 TSF信息的取值,所述设备将所述第二HC的值更新为所述第一 HC的值加 1〇
[0055] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述方法还包括:
[0056] 当所述第二TSF信息的取值减去所述第二AMBTT后的差值大于预置的传输时间阈 值时,所述设备将所述设备的角色转换为AM。
[0057] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能或第十二种可能的实现方式,在第一方面的第十三种可能的实现方式中,当 所述设备不是AM,且所述设备的MR发生过更新时,所述方法还包括:
[0058] 当所述设备更新后的MR大于所述第二AMR时,所述设备将所述设备的角色转换为 AM。
[0059] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能或第十二种可能或第十三种可能的实现方式,在第一方面的第十四种可能的 实现方式中,所述设备将所述设备的角色转换为AM,包括:
[0060] 所述设备将所述第二AMR的值更新为所述设备的MR的值;
[0061] 所述设备将所述第二HC的值更新为0 ;
[0062] 所述设备将所述第二AMBTT的值更新为所述第二TSF信息的预置字节的取值。
[0063] 结合第一方面或第一方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能或第十二种可能或第十三种可能或第十四种可能的实现方式,在第一方面的 第十五种可能的实现方式中,当所述设备为AM时,所述方法还包括:
[0064] 当所述设备的MR发生过更新时,所述设备保持AM的角色,所述设备将记录的所述 第二AMR更新为所述设备更新后的MR的值。
[0065] 第二方面,本发明实施例提供一种用于锚主设备AM选择的设备,所述设备包括:
[0066] 信标帧接收模块,用于接收邻居感知网络信标NAN Beacon帧,所述NAN Beacon帧 携带有第一 AM信息及第一时间同步功能TSF信息,所述第一 AM信息包括:第一锚主设备意 愿值AMR、第一跳数HC、第一锚主设备信标传输时间AMBTT ;
[0067] 角色转换模块,用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于第 二AMR,且所述设备的主设备意愿值MR大于所述第一 AMR时,将所述设备的角色转换为AM, 所述设备记录有第二AM信息,所述第二AM信息包括:第二AMR、第二HC、第二AMBTT ;
[0068] 信息更新模块,用于若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR小于所 述第二AMR,且所述设备的MR小于所述第一 AMR时,根据所述NAN Beacon帧对所述设备记 录的所述第二AM信息和第二TSF信息进行更新。
[0069] 结合第二方面,在第二方面的第一种可能的实现方式中,
[0070] 所述角色转换模块,还用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR 小于第二AMR,且所述设备的MR等于所述第一 AMR时,将所述设备的角色转换为AM ;
[0071] 或,
[0072] 所述信息更新模块,还用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR 小于第二AMR,且所述设备的MR等于所述第一 AMR时,根据所述NAN Beacon帧对所述设备 记录的所述第二AM信息和第二TSF信息进行更新。
[0073] 结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的 实现方式中,所述设备,还包括:
[0074] 触发执行模块,用于若所述第一 HC小于或等于所述跳数门限,触发所述角色转换 模块执行所述将所述设备的角色转换为AM的步骤,或触发所述信息更新模块执行所述根 据所述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更新的步骤。
[0075] 结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的 第三种可能的实现方式中,当所述设备为AM时,所述设备,还包括:第一 AM选择确定模块, 用于通过如下方式确定所述NAN Beacon巾贞用于AM选择:
[0076] 若所述第一 AMR小于所述第二AMR,则确定所述NAN Beacon帧不用于AM选择;
[0077] 若所述第一 AMR大于或等于所述第二AMR,若在所述第二AMR发生更新开始后的预 置时间段内所述第一 AMR等于第三AMR,则确定所述NAN Beacon帧不用于AM选择,所述第 三AMR为所述设备中的所述第二AMR发生更新之前的AMR ;
[0078] 若所述NAN Beacon巾贞不满足第一条件时,则确定所述NAN Beacon巾贞用于AM选择, 所述第一条件为:所述第一 AMR小于所述第二AMR,或在所述预置时间段内所述第一 AMR等 于所述第三AMR。
[0079] 结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的 第四种可能的实现方式中,当所述设备为AM时,所述设备,还包括:第二AM选择确定模块, 用于通过如下方式确定所述NAN Beacon巾贞用于AM选择:
[0080] 若所述第一 AMR小于所述第二AMR,则确定所述NAN Beacon帧不用于AM选择;
[0081] 若所述第一 AMR大于或等于所述第二AMR,当所述设备中的第二AMR发生过更 新时,若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMBTT小于所述第二 AMBTT,则确定所述NAN Beacon帧不用于AM选择;
[0082] 若所述NAN Beacon巾贞不满足第二条件时,则确定所述NAN Beacon巾贞用于AM选择, 所述第一条件为:所述第二AMR小于所述第二AMR,或在所述预置时间段内所述第一 AMBTT 小于所述第二AMBTT。
[0083] 结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的 第五种可能的实现方式中,当所述设备不是AM时,所述设备,还包括:第三AM选择确定模 块,用于通过如下方式确定所述NAN Beacon巾贞用于AM选择:
[0084] 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二 AMR,则确定所述NAN Beacon巾贞不用于AM选择;
[0085] 若在所述预置时间段内所述第一 AMR等于第三AMR,则确定所述NAN Beacon帧不 用于AM选择,所述第三AMR为所述设备中的所述第二AMR发生更新之前的AMR ;
[0086] 若所述NAN Beacon巾贞不满足第三条件时,则确定所述NAN Beacon巾贞用于AM选择, 所述第三条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所述预置时 间段内所述第一 AMR等于所述第三AMR。
[0087] 结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的 第六种可能的实现方式中,当所述设备不是AM时,所述设备,还包括:第四AM选择确定模 块,用于通过如下方式确定所述NAN Beacon巾贞用于AM选择:
[0088] 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二 AMR,则确定所述NAN Beacon巾贞不用于AM选择;
[0089] 若在所述预置时间段内所述第一 AMBTT小于所述第二AMBTT,则确定所述NAN Beacon巾贞不用于AM选择;
[0090] 若所述NAN Beacon巾贞不满足第四条件时,则确定所述NAN Beacon巾贞用于AM选择, 所述第四条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所述预置时 间段内所述第一 AMR等于所述第三AMR。
[0091] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述 信息更新模块,还用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR大于所述第二 AMR时,根据所述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更 新。
[0092] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能的实现方式,在第二方面的第八种可能的实现 方式中,所述信息更新模块,包括:
[0093] 第一 AMR更新子模块,用于将所述第二AMR的值更新为所述第一 AMR的值;
[0094] 第一 HC更新子模块,用于将所述第二HC的值更新为所述第一 HC的值加 1 ;
[0095] 第一 AMBTT更新子模块,用于若所述NAN Beacon帧由AM发送,将所述第二AMBTT 的值更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,将 所述第二AMBTT的值更新为所述第一 AMBTT ;
[0096] TSF更新子模块,用于将所述第二TSF信息的取值更新为所述第一 TSF信息的取 值。
[0097] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能的实现方式,在第二方面的第九 种可能的实现方式中,所述信息更新模块,还用于若所述NAN Beacon帧用于AM选择,则当 所述第一 AMR等于所述第二AMR时,若所述第一 AMBTT大于所述第二AMBTT,或,所述第一 AMBTT等于所述第二AMBTT且所述第一 HC小于所述第二HC减1时,根据所述NAN Beacon 帧对所述设备记录的所述第二AM信息的部分信息或全部信息以及所述第二TSF信息进行 更新。
[0098] 结合第二方面的第九种可能的实现方式,在第二方面的第十种可能的实现方式 中,
[0099] 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述 第一 AMBTT大于所述第二AMBTT时,所述信息更新模块,包括:
[0100] 第一 HC更新子模块,用于将所述第二HC的值更新为所述第一 HC的值加1 ;
[0101] 第一 AMBTT更新子模块,用于若所述NAN Beacon帧由AM发送,将所述第二AMBTT 的值更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,将 所述第二AMBTT的值更新为所述第一 AMBTT ;
[0102] TSF更新子模块,用于将所述第二TSF信息的取值更新为所述第一 TSF信息的取 值;
[0103] 若所述NAN Beacon巾贞用于AM选择,当所述第一 AMR等于所述第二AMR时,则当所 述第一 AMBTT等于所述第二AMBTT,且所述第一 HC小于所述第二HC减1时,所述信息更新 模块,包括:
[0104] 第一 HC更新子模块,用于将所述第二HC的值更新为所述第一 HC的值加1 ;
[0105] TSF更新子模块,用于将所述第二TSF信息的取值更新为所述第一 TSF信息的取 值。
[0106] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能的实现方式,在第二方面的第 十一种可能的实现方式中,所述设备还包括以下模块中的至少一个:
[0107] 信标帧忽略模块,用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR等于 所述第二AMR,且所述第一 HC大于或等于所述第二HC时,忽略所述NAN Beacon巾贞携带的第 一 AM信息;
[0108] 第一更新模块,用于若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞不是 由AM发送,则当所述第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且 所述第一 AMBTT大于所述第二AMBTT时,将所述第二AMBTT的值更新为所述第一 AMBTT,将 所述第二TSF信息的取值更新为所述第一 TSF信息的取值;
[0109] 第二更新模块,用于若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞是由 AM发送,则当所述第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述 第一 TSF信息的预置字节的取值大于所述第二AMBTT时,将所述第二AMBTT的值更新为所 述第一 AMBTT,将所述第二TSF信息的取值更新为所述第一 TSF信息的取值;
[0110] 第三更新模块,用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR等于所 述第二AMR,且所述第一 HC小于所述第二HC减1时,若所述NAN Beacon帧由AM发送,将所 述第二AMBTT的值更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是 由AM发送,将所述第二AMBTT的值更新为所述第一 AMBTT,将所述第二TSF信息的取值更新 为所述第一 TSF信息的取值,将所述第二HC的值更新为所述第一 HC的值加1。
[0111] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述角色转换模块, 还用于当所述第二TSF信息的取值减去所述第二AMBTT后的差值大于预置的传输时间阈值 时,将所述设备的角色转换为AM。
[0112] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能或第十二种可能的实现方式,在第二方面的第十三种可能的实现方式中,当 所述设备不是AM,且所述设备的MR发生过更新时,所述角色转换模块,还用于当所述设备 更新后的MR大于所述第二AMR时,将所述设备的角色转换为AM。
[0113] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能或第十二种可能或第十三种可能的实现方式,在第二方面的第十四种可能的 实现方式中,所述角色转换模块,包括:
[0114] 第二AMR更新子模块,用于将所述第二AMR的值更新为所述设备的MR的值;
[0115] 第二HC更新子模块,用于将所述第二HC的值更新为0 ;
[0116] 第二AMBTT更新子模块,用于将所述第二AMBTT的值更新为所述第二TSF信息的 预置字节的取值。
[0117] 结合第二方面或第二方面的第一种可能或第二种可能或第三种可能或第四种可 能或第五种可能或第六种可能或第七种可能或第八种可能或第九种可能或第十种可能或 第i^一种可能或第十二种可能或第十三种可能或第十四种可能的实现方式,在第二方面的 第十五种可能的实现方式中,当所述设备为AM时,所述设备,还包括:
[0118] 角色保持模块,用于当所述设备的MR发生过更新时,保持AM的角色,将记录的所 述第二AMR更新为所述设备更新后的MR的值。
[0119] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0120] 在本发明实施例中,设备接收到的NAN Beacon帧之后,若NAN Beacon帧用于AM选 择,则当NAN Beacon帧中包括的第一 AMR小于设备记录的第二AMR,且设备的MR大于第一 AMR时,设备将设备的角色转换为AM ;若NAN Beacon帧用于AM选择,则当NAN Beacon帧中包 括的第一 AMR小于设备记录的第二AMR,且设备的MR小于第一 AMR时,设备根据NAN Beacon 帧对设备记录的第二AM信息和第二TSF信息进行更新。在设备收到的NAN Beacon帧可以 用于AM选择的情况下,当第一 AMR小于第二AMR、且设备的MR大于第一 AMR时,设备自身的 角色转换为AM,转换为AM后的设备可以将NAN簇中原有的AM冲刷掉,因此NAN簇中原有 的AMR也会被冲刷掉,即使AM自身的MR变小,也将会很快选择出新的AM,故NAN簇中会一 直存在AM,并且各设备能够记录正确的AM信息,避免整个NAN簇发生崩溃,保证可以实现设 备间的时间同步。在设备的MR取值不足以使设备成为AM时,即第一 AMR小于设备记录的 第二AMR、且设备的MR小于第一 AMR时,设备可以根据NAN Beacon帧对设备记录的第二AM 信息和第二TSF信息进行更新,故设备记录的第二AMR也会更新,NAN簇中原有的AMR也会 被冲刷掉,即使AM自身的MR变小,也将会很快选择出新的AM,故NAN簇中会一直存在AM, 并且各设备能够记录正确的AM信息,避免整个NAN簇发生崩溃,保证可以实现设备间的时 间同步。

【专利附图】

【附图说明】
[0121] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
[0122] 图1为本发明实施例提供的一种用于锚主设备选择的方法的流程方框示意图;
[0123] 图2为本发明实施例提供的NAN Beacon帧的帧结构示意图;
[0124] 图3为本发明实施例提供的另一种用于锚主设备选择的方法的流程方框示意图;
[0125] 图4为本发明实施例提供的另一种用于锚主设备选择的方法的流程方框示意图;
[0126] 图5-a为通常实现手段中的各个设备记录的AM信息的更新过程示意图;
[0127] 图5-b为本发明实施例提供的各个设备记录的AM信息的更新过程示意图;
[0128] 图6-a为通常的AM选择方法中AMR取值统计示意图;
[0129] 图6-b为本发明实施例提供的AM选择方法中AMR取值统计示意图;
[0130] 图6-c为对图6-a的顶部进行放大后的示意图;
[0131] 图6-d为对图6-b的顶部进行放大后的示意图;
[0132] 图6-e为通常的AM选择方法在NAN网络中最大的MR统计示意图;
[0133] 图6-f为本发明实施例的AM选择方法在NAN网络中最大的MR统计示意图;
[0134] 图6-g为通常的AM选择方法在NAN网络中AM的个数统计示意图;
[0135] 图6-h为本发明实施例的AM选择方法在NAN网络中AM的个数统计示意图;
[0136] 图6-i为通常的AM选择方法在NAN网络中HC的统计示意图;
[0137] 图6-j为本发明实施例的AM选择方法在NAN网络中HC的统计示意图;
[0138] 图6-k为通常的AM选择方法在NAN网络中TSF的变化统计示意图;
[0139] 图6-1为本发明实施例的AM选择方法在NAN网络中TSF的变化统计示意图;
[0140] 图7_a为本发明实施例提供的一种用于锚主设备选择的设备的组成结构示意图;
[0141] 图7_b为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0142] 图7-c为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0143] 图7_d为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0144] 图7_e为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0145] 图7_f为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0146] 图7_g为本发明实施例提供的一种信息更新模块的组成结构示意图;
[0147] 图7_h为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0148] 图7_i为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意 图;
[0149] 图7_j为本发明实施例提供的一种角色转换模块的组成结构示意图;
[0150] 图8为本发明实施例提供的另一种用于锚主设备选择的设备的组成结构示意图。

【具体实施方式】
[0151] 本发明实施例提供了一种用于锚主设备选择的方法和设备,用于保持NAN簇中设 备间的时间同步。
[0152] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述 的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的 技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0153] 本发明的说明书和权利要求书及上述附图中的术语"第一"、"第二"等是用于区别 类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情 况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分 方式。此外,术语"包括"和"具有"以及他们的任何变形,意图在于覆盖不排他的包含,以 便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清 楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0154] 以下分别进行详细说明。
[0155] 本发明用于锚主设备选择的方法的一个实施例,可应用于NAN簇的设备中,请参 阅图1所示,该方法可包括如下步骤:
[0156] 101、设备接收邻居感知网络信标(Neighbor Awareness Networking Beacon,NAN Beacon)中贞。
[0157] 其中,上述NAN Beacon巾贞携带有第一锚主设备(Anchor Master, AM)信息及第一时 间同步功能(Time Synchronization Function, TSF)信息,第一 AM信息包括:第一锚主设 备意愿值(Anchor Master Rank, AMR)、第一跳数(Hop Count, HC)、第一锚主设备信标传输时 间(Anchor Master Beacon Transmission Time, AMBTT) 〇
[0158] 在本发明实施例中,同一个NAN簇内的设备具有相同的簇标识,每个设备具有 自身的属性,包括:角色(Role)和状态(State) :Role包括主设备(Master)和非主设备 (non-Master)两类,State包括同步(sync)和非同步(non-sync)两种。Sync状态的设 备负责维护簇同步,Master -定是sync状态,而non-Master可以是sync或non-sync状 态。每个设备还包括主设备意愿值(Master Rank,MR),在本发明实施例中,MR表示设备担 任Master的意愿大小,MR可以由三部分组成:
[0159] Master Rank = Master Preference*2~56+Random Factor*2~48+MAC[5]*2~40+… +MAC[0];
[0160] 即每个设备的MR由8位的主设备优先值(Master Preference)、8位的随机数因 子(Random Factor)及自身的48位媒体访问控制(Medium Access Control,MAC)地址构 成。其中,Random Factor每120个发现窗口(Discovery Window,DW)随机变化一次,为了 防止被追踪,NAN设备MAC地址使用局部(Local)地址,但每个局部MAC地址至少保持30分 钟不变。根据现有设备角色和状态转换规则,MR较大的设备成为Master。其中,MR最大的 Master称为AM,所有其它设备与AM在时间上保持同步,从而保证了整个NAN簇的同步。其 中,NAN簇同步是指簇内所有设备的TSF保持相同,为了 TSF同步,所有设备需按照同一参 考源的时钟进行同步,即以选出的AM作为参考源,其它设备的时钟按照AM的时钟来保持同 步。根据上述描述,由于NAN同步的基准为AM,即MR最大的Master,而MR是随时间随机变 化的。当设备的MR发生变化时,簇中MR最大的Master也在发生变化。NAN簇是一个松散 的分布式网络,因此,当设备的MR发生变化时,NAN簇能够及时选择出正确的AM对于维护 NAN簇同步至关重要。
[0161] 需要说明的是,NAN簇的同步是通过发送和接收NAN Beacon帧实现的。在本发明的 一些实施例中,设备接收到的NAN Beacon巾贞具体可以指的是同步信标(Sync Beacon)巾贞,在 另一些实施例中,设备接收到的NAN Beacon巾贞也可以指的是发现信标(Discovery Beacon) 中贞。Master和Sync non-Master在每个DW中发送一次Sync Beacon巾贞,而Master在DW之 外每100时间单元(Time Unit, TU)中发送一次Discovery Beacon巾贞。后者使得其它尚未 加入NAN簇的设备知道下一个DW何时开始,从而加入该簇。目前NAN簇中规定的DW起始 位置是固定的,例如,当TSF为512TU的整数倍时DW开始。Sync Beacon帧和Discovery Beacon帧是帧结构类似的帧,只是因为发送位置不同而命名不同。除了用于同步外,设备还 根据接收到的Sync Beacon巾贞进行角色和状态的转换。接下来以NAN Beacon巾贞具体为Sync Beacon巾贞为例进行说明。
[0162] 在本发明实施例中,由于不同NAN设备内部的晶振在频率上存在差异,两个设备 之间必须经常同步才能保证两者系统时钟不出现大的偏差。为了保持NAN簇的同步,每个 Master 和 Sync non-Master 在 DW 内发送 Sync Beacon 巾贞,其中包含 AM 信息及 Time Stamp (8 字节),Time Stamp即TSF,为了区别NAN Beacon帧中携带的AM信息和设备中记录的AM信 息是两个不同的AM信息,以下实施例中将NAN Beacon帧中携带的AM信息(或简称之为帧 携带的AM)称之为"第一 AM信息",将设备中记录的AM信息(或简称之为记录的AM)称之 为"第二AM信息",同理的,将第一 AM信息包括的AMR、HC、AMBTT分别称之为"第一 AMR"、 "第一 HC"、"第一 AMBTT",将第二AM信息包括的AMR、HC、AMBTT分别称之为"第二AMR"、"第 二HC"、"第二AMBTT",同理的,以下实施例中将NAN Beacon帧中携带的TSF信息称之为"第 一 TSF信息",将设备中记录的TSF信息称之为"第二TSF信息"。
[0163] 具体的,Sync Beacon巾贞携带的第一 AM信息,可以包括如下内容:
[0164] 第一 AMR,即 AM 的 MR 取值;
[0165] 第一 HC,即当前NAN设备到AM的跳数,其中AM的HC = 0,即可以根据Sync Beacon 帧携带的HC是否为0来判断设备是否为AM,当发送Sync Beacon帧携带的HC为0时,该发 送的设备就是AM,当发送Sync Beacon巾贞携带的HC大于0时,该发送的设备就不是AM ;
[0166] 第一 AMBTT,即AM发送Sync Beacon帧时的TSF的预置字节值,若设备收到两个 AMBTT不同的Sync Beacon巾贞,则其中AMBTT较大的一个Sync Beacon巾贞被视为最新的Sync Beacon 中贞。
[0167] 在本发明实施例中,对于AMBTT进行了下述规定:AM的AMBTT为0,即可以根据 Sync Beacon巾贞携带的AMBTT是否为0来判断设备是否为AM,当发送Sync Beacon巾贞携带的 AMBTT为0时,该发送的设备就是AM,当发送Sync Beacon帧携带的AMBTT大于0时,该发 送的设备就不是AM。因此,当设备收到一个来自AM的Sync Beacon帧(可通过AMBTT为0 或HC为0判断),如需更新AMBTT,则将Sync Beacon帧的Time Stamp域(TSF)的值的后4 个字节设置为设备自己记录的AMBTT ;若设备收到一个来自non-AM的Sync Beacon,如需更 新AMBTT,则直接将Sync Beacon帧中的AMBTT取值设置设备自己记录的AMBTT。
[0168] 请参阅如图2所示,为本发明实施例提供的NAN Beacon帧的帧结构示意图,其中, 各个域的说明如下:
[0169] FC :Frame Control,巾贞控制域,占用 2 个字节(octets);
[0170] Duration :持续时间域,占用2个字节;
[0171] A1?A3 :Addressl?3,地址1?3域,分别占用6个字节;
[0172] Sequence Control :序列控制域,占用2个字节;
[0173] Time Stamp :时戳域,占用8个字节;
[0174] Beacon Interval :信标间隔域,占用2个字节;
[0175] Capability :能力域,占用2个字节;
[0176] NAN IE :NAN Information Element,邻居感知网络信息元素,var为保留字,用于定 义变量;
[0177] FCS :Frame Check Sequence,巾贞校验序列,占用4个字节。
[0178] 其中,每个Master和Sync non-Master的NAN Beacon巾贞是广播消息,可以被其它 设备侦听到,如本发明实施例中步骤101所描述,设备可以接收到NAN Beacon中贞。
[0179] 需要说明的是,在本发明实施例中,接收到NAN Beacon帧的簇中设备会将NAN Beacon巾贞中携带的AM/[目息和自己记录的AM彳目息进行比较,以确定是否更新AM /[目息以及是 否与该NAN Beacon帧中的Time Stamp进行同步。如前所述,时钟信息均来自AM,因此整个 NAN簇以AM为基准进行同步。
[0180] 需要说明的是,在本发明的实施例中,设备在接收到NAN Beacon帧之后,设备可以 从NAN Beacon帧中获取到该帧携带的AM信息,并可以根据NAN Beacon帧携带的AM信息判 断出NAN Beacon巾贞是否可以用于AM选择,对于NAN Beacon巾贞可以用于AM选择的情况下可 以继续执行后续步骤,对于NAN Beacon巾贞不用于AM选择的情况,贝U可以对NAN Beacon巾贞携 带的第一 AM信息不做处理,例如忽视该NAN Beacon帧携带的第一 AM信息。本发明实施例 中设备可以对NAN Beacon巾贞是否用于AM选择进行判断,在NAN Beacon巾贞不可以用于AM选 择的情况下,忽略NAN Beacon帧携带的第一 AM信息,以使NAN Beacon帧携带的第一 AM信 息不发挥AM选择的作用,可以避免NAN簇中AM的MR取值变小时原AMR值始终存在于NAN 簇中不能被消除掉的问题,NAN簇中会一直存在真正提供AMR值的AM,可以保证设备间的时 间同步功能。
[0181] 其中,设备对接收到的NAN Beacon帧进行是否用于AM选择的判断,从接收到的所 有NAN Beacon帧中筛选出可以用于AM选择的帧,并且只对可以用于AM选择的NAN Beacon 帧进行后续处理。
[0182] 具体的,在本发明的一些实施例中,对于设备自身是否为AM的不同,设备对NAN Beacon帧用于AM选择的确定可以采用不同的实现方式来处理,接下来分别进行说明。
[0183] 当设备为AM时,NAN Beacon巾贞用于AM选择通过如下方式确定:
[0184] All、若第一 AMR小于第二AMR,则设备确定NAN Beacon帧不用于AM选择;
[0185] A12、若第一 AMR大于或等于第二AMR,若在第二AMR发生更新开始后的预置时间段 内第一 AMR等于第三AMR,则设备确定NAN Beacon帧不用于AM选择,其中,第三AMR为设备 中的第二AMR发生更新之前的AMR ;
[0186] A13、若NAN Beacon帧不满足第一条件时,则设备确定NAN Beacon帧用于AM选择, 其中,第一条件为:第一 AMR小于第二AMR,或在预置时间段内第一 AMR等于第三AMR。
[0187] 另外,当设备为AM时,NAN Beacon巾贞用于AM选择也可以通过如下方式确定:
[0188] A21、若第一 AMR小于第二AMR,则设备确定NAN Beacon帧不用于AM选择;
[0189] A22、若第一 AMR大于或等于第二AMR,若在第二AMR发生更新开始后的预置时间段 内第一 AMBTT小于第二AMBTT,则设备确定NAN Beacon帧不用于AM选择;
[0190] A23、若NAN Beacon帧不满足第二条件时,则设备确定NAN Beacon帧用于AM选择, 其中,第二条件为:第一 AMR小于第二AMR,或在预置时间段内第一 AMBTT小于第二AMBTT。
[0191] 在本发明的一些实施例中,设备可以判断第一 AMR和第二AMR之间的数值大小关 系,即设备可以判断第一 AMR是否小于第二AMR,其中,第一 AMR是NAN Beacon帧携带的AMR, 第二AMR是设备记录的AMR,当设备是AM时,步骤All和A21中第一 AMR小于第二AMR,即 设备自身记录的AMR大于NAN Beacon帧携带的AMR,NAN Beacon帧中携带的第一 AM信息会 被忽略掉,此种情况下设备可以确定NAN Beacon巾贞不用于AM选择。
[0192] 当设备是AM时,设备判断出第一 AMR大于或等于第二AMR,当设备中记录的第二 AMR发生过更新时,记设备中的第二AMR发生更新之前的AMR为第三AMR,若设备处于在第 二AMR发生更新开始后的预置时间段内,则设备判断第一 AMR是否等于第三AMR,若设备处 于在预置时间段以外的其它时间,则设备不需要执行步骤A12,即设备处于在预置时间段以 外的其它时间时,设备无需判断第一 AMR是否等于第三AMR。步骤A12中只有同时满足:设 备是AM、第一 AMR大于或等于第二AMR、在第二AMR发生更新开始后的预置时间段内第一 AMR等于第三AMR这三个条件时,则设备可以确定接收到的NAN Beacon帧不用于AM选择。 另外,本发明实施例中,预置时间段需要根据具体的应用场景来决定其取值大小,例如预置 时间段的取值可以是几个DW,也可以不用DW描述,比如将预置时间段取值为多少ms或者多 少TU等。
[0193] 其中,设备确定了在什么样的条件下接收到的NAN Beacon帧不用于AM选择以后, 设备除了 NAN Beacon帧不用于AM选择以外的所有情况下,设备都可以确定NAN Beacon帧 用于AM选择。故步骤A13中在设备是AM的情况下定义了 "第一条件",在NAN Beacon帧不 满足该第一条件时,设备可以确定接收到的NAN Beacon帧可以用于AM选择。具体的,第一 条件为:a)、或b):
[0194] a)、第一 AMR 小于第二 AMR ;
[0195] b)、在设备记录的第二AMR发生更新后的预置时间段内第一 AMR等于第三AMR。
[0196] 其中,NAN Beacon帧不满足第一条件可以指的是NAN Beacon帧不满足a)同时NAN Beacon帧不满足b),不满足a)即第一 AMR大于或等于第二AMR,不满足b)即包括两种情 况:设备没有处于预置时间段内,设备在预置时间段内但是第一 AMR不等于第三AMR。不满 足a)同时不满足b),认为设备不满足第一条件,故在设备为AM时且NAN Beacon巾贞不满足 第一条件时,设备可以确定NAN Beacon帧不用于AM选择。
[0197] 当设备是AM时,设备判断出第一 AMR大于或等于第二AMR,当设备中记录的第二 AMR发生过更新时,若设备处于在第二AMR发生更新开始后的预置时间段内,则设备判断第 一 AMBTT是否小于第二AMBTT,若设备处于在预置时间段以外的其它时间,则设备不需要执 行步骤A22,即设备处于在预置时间段以外的其它时间时,设备无需判断第一 AMBTT是否小 于第二AMBTT。步骤A22中只有同时满足:设备是AM、第一 AMR大于或等于第二AMR、在第 二AMR发生更新开始后的预置时间段内第一 AMBTT小于第二AMBTT这三个条件时,则设备 可以确定接收到的NAN Beacon帧不用于AM选择。另外,本发明实施例中,预置时间段需要 根据具体的应用场景来决定其取值大小,例如预置时间段的取值可以是几个DW,也可以不 用DW描述,比如将预置时间段取值为多少ms或者多少TU等。
[0198] 其中,设备确定了在什么样的条件下接收到的NAN Beacon帧不用于AM选择以后, 设备除了 NAN Beacon帧不用于AM选择以外的所有情况下,设备都可以确定NAN Beacon帧 用于AM选择。故步骤A23中在设备是AM的情况下定义了 "第二条件",在NAN Beacon帧不 满足该第二条件时,设备可以确定接收到的NAN Beacon帧可以用于AM选择。具体的,第二 条件为:a)、或c):
[0199] a)、第一 AMR 小于第二 AMR ;
[0200] c)、在设备记录的第二AMR发生更新后的预置时间段内第一 AMBTT小于第二 AMBTTo
[0201] 其中,NAN Beacon帧不满足第二条件可以指的是NAN Beacon帧不满足a)同时NAN Beacon帧不满足c),不满足a)即第一AMR大于或等于第二AMR,不满足c)即包括两种情况: 设备没有处于预置时间段内,设备在预置时间段内但是第一 AMBTT大于或等于第二AMBTT。 不满足a)同时不满足c),认为设备不满足第二条件,故在设备为AM时且NAN Beacon巾贞不 满足第二条件时,设备可以确定NAN Beacon巾贞不用于AM选择。
[0202] 例如,设备自身为AM,设备接收到的NAN Beacon帧携带的第一 AMR取值为7,设备 记录的第二AMR为10,设备记录的AMR更新为10之前为7,预置时间段的取值为5DW,则设 备分别对第一条件中的条件进行判断,7 < 10,即命中了 a),设备确定该NAN Beacon帧不 用于AM选择;若当前设备处于3DW,则小于预置时间段的取值5DW,并且第一 AMR等于第三 AMR,命中了 b),设备确定该NAN Beacon巾贞不用于AM选择。
[0203] 当设备不是AM时,NAN Beacon巾贞用于AM选择通过如下方式确定:
[0204] B11、若在第二AMR发生更新开始后的预置时间段内第一 AMR小于第二AMR,则设备 确定NAN Beacon巾贞不用于AM选择;
[0205] B12、若在预置时间段内第一 AMR等于第三AMR,则设备确定NAN Beacon帧不用于 AM选择,第三AMR为设备中的第二AMR发生更新之前的AMR ;
[0206] B13、若NAN Beacon帧不满足第三条件时,则设备确定NAN Beacon帧用于AM选择, 其中,第三条件为:若在预置时间段内第一 AMR小于第二AMR,或在预置时间段内第一 AMR 等于第三AMR。
[0207] 另外,当设备不为AM时,NAN Beacon巾贞用于AM选择也可以通过如下方式确定:
[0208] B21、若在第二AMR发生更新开始后的预置时间段内第一 AMR小于第二AMR,则设备 确定NAN Beacon巾贞不用于AM选择;
[0209] B22、若在预置时间段内第一 AMBTT小于第二AMBTT,则设备确定NAN Beacon帧不 用于AM选择;
[0210] B23、若NAN Beacon帧不满足第四条件时,则设备确定NAN Beacon帧用于AM选择, 其中,第四条件为:若在预置时间段内第一 AMR小于第二AMR,或在预置时间段内第一 AMBTT 小于第二AMBTT。
[0211] 在本发明的一些实施例中,在设备中的第二AMR发生过更新时,首先判断设备所 处的时间是否在从第二AMR发生更新后的预置时间段内,若设备处于该预置时间段内,设 备可以判断第一 AMR和第二AMR之间的数值大小关系,即设备可以判断第一 AMR是否小于 第二AMR,其中,第一 AMR是NAN Beacon帧携带的AMR,第二AMR是设备记录的AMR,当设备不 是AM时,步骤Bl 1和B21中第一 AMR小于第二AMR,即设备自身记录的AMR大于NAN Beacon 帧携带的AMR,NAN Beacon帧中携带的第一 AM信息会被忽略掉,此种情况下设备可以确定 NAN Beacon巾贞不用于AM选择。
[0212] 当设备不是AM时,当设备中记录的第二AMR发生过更新时,记设备中的第二AMR 发生更新之前的AMR为第三AMR,若设备处于在第二AMR发生更新开始后的预置时间段内, 则设备判断第一 AMR是否等于第三AMR,若设备处于在预置时间段以外的其它时间,则设备 不需要执行步骤B12,即设备处于在预置时间段以外的其它时间时,设备无需判断第一 AMR 是否等于第三AMR。步骤B12中只有同时满足:设备不是AM、在第二AMR发生更新开始后的 预置时间段内第一 AMR等于第三AMR这两个条件时,则设备可以确定接收到的NAN Beacon 帧不用于AM选择。另外,本发明实施例中,预置时间段需要根据具体的应用场景来决定其 取值大小,例如预置时间段的取值可以是几个DW,也可以不用DW描述,比如将预置时间段 取值为多少ms或者多少TU等。
[0213] 其中,设备确定了在什么样的条件下接收到的NAN Beacon帧不用于AM选择以后, 设备除了 NAN Beacon帧不用于AM选择以外的所有情况下,设备都可以确定NAN Beacon帧 用于AM选择。故步骤B13中在设备不是AM的情况下定义了 "第三条件",在NAN Beacon帧 不满足该第三条件时,设备可以确定接收到的NAN Beacon帧可以用于AM选择。具体的,第 三条件为:d)、或e):
[0214] d)、在预置时间段内第一 AMR小于第二AMR ;
[0215] e)、在预置时间段内第一 AMR等于第三AMR。
[0216] 其中,NAN Beacon帧不满足第三条件可以指的是NAN Beacon帧不满足d)同时NAN Beacon帧不满足e),不满足d)即包括两种情况:设备没有处于预置时间段内,设备在预置 时间段内但是第一 AMR大于或等于第二AMR,不满足e)即包括两种情况:设备没有处于预 置时间段内,设备在预置时间段内但是第一 AMR不等于第三AMR,不满足d)同时不满足e), 认为设备不满足第三条件,故在设备为AM时且NAN Beacon帧不满足第三条件时,设备可以 确定NAN Beacon巾贞不用于AM选择。
[0217] 当设备不是AM时,当设备中记录的第二AMR发生过更新时,记设备中的第二AMR 发生更新之前的AMR为第三AMR,若设备处于在第二AMR发生更新开始后的预置时间段内, 则设备判断第一 AMBTT是否小于第二AMBTT,若设备处于在预置时间段以外的其它时间,则 设备不需要执行步骤B22,即设备处于在预置时间段以外的其它时间时,设备无需判断第一 AMBTT是否小于第二AMBTT。步骤B22中只有同时满足:设备不是AM、在第二AMR发生更新 开始后的预置时间段内第一 AMBTT小于第二AMBTT这两个条件时,则设备可以确定接收到 的NAN Beacon帧不用于AM选择。另外,本发明实施例中,预置时间段需要根据具体的应用 场景来决定其取值大小,例如预置时间段的取值可以是几个DW,也可以不用DW描述,比如 将预置时间段取值为多少ms或者多少TU等。
[0218] 其中,设备确定了在什么样的条件下接收到的NAN Beacon帧不用于AM选择以后, 设备除了 NAN Beacon帧不用于AM选择以外的所有情况下,设备都可以确定NAN Beacon帧 用于AM选择。故步骤B23中在设备不是AM的情况下定义了"第四条件",在NAN Beacon帧 不满足该第四条件时,设备可以确定接收到的NAN Beacon帧可以用于AM选择。具体的,第 四条件为:d)、或f):
[0219] d)、在预置时间段内第一 AMR小于第二AMR ;
[0220] f)、在预置时间段内第一 AMBTT小于第二AMBTT。
[0221] 其中,NANBeacon帧不满足第四条件可以指的是NANBeacon帧不满足d)同时NAN Beacon帧不满足f),不满足d)即包括两种情况:设备没有处于预置时间段内,设备在预置 时间段内但是第一 AMR大于或等于第二AMR,不满足f)即包括两种情况:设备没有处于预 置时间段内,设备在预置时间段内但是第一 AMBTT大于或等于第二AMBTT,不满足d)同时不 满足f),认为设备不满足第四条件,故在设备为AM时且NAN Beacon帧不满足第四条件时, 设备可以确定NAN Beacon巾贞不用于AM选择。
[0222] 例如,设备自身不是AM,设备接收到的NAN Beacon帧携带的第一 AMR取值为7,设 备记录的第二AMR为10,设备记录的AMR更新为10之前为7,预置时间段的取值为5DW,则设 备分别对第二条件中的条件进行判断,若当前设备处于3DW,则设备仍处于预置时间段内,7 < 10,即命中了 d),设备确定该NAN Beacon帧不用于AM选择,若当前设备处于3DW,则小于 预置时间段的取值5DW,并且第一 AMR等于第三AMR,命中了 e),设备确定该NAN Beacon帧 不用于AM选择。
[0223] 需要说明的是,在本发明实施例中,若设备确定NAN Beacon帧不用于AM选择的情 况下,设备可以忽略NAN Beacon巾贞携带的第一 AM信息,若设备确定NAN Beacon巾贞用于AM 选择的情况下,仍然需要判断第一 AMR和第二AMR的数值大小关系,以及判断设备的MR和 第一 AMR的数值大小关系,其中,设备判断第一 AMR和第二AMR的数值大小关系存在三种结 果:1)、第一 AMR大于第二AMR, 2、第一 AMR等于第二AMR,3)、第一 AMR小于第二AMR。设备 判断MR和第一 AMR的数值大小关系存在两种结果:1)、MR大于第一 AMR,2)、MR小于第一 AMR,3)、MR等于第一 AMR。只有NAN Beacon帧用于AM选择的情况下,根据判断结果,分别 执行步骤102和步骤103。
[0224] 102、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR大于 第一 AMR时,设备将设备的角色转换为AM。
[0225] 其中,设备记录有第二AM信息,第二AM信息包括:第二AMR、第二HC、第二AMBTT。
[0226] 在本发明实施例中,设备接收到NAN Beacon帧之后,在NAN Beacon帧用于AM选择 的情况下,同时满足第一 AMR小于第二AMR,且设备的MR大于第一 AMR这两个条件时,设备 将设备的角色转换为AM。
[0227] 在本发明的一些实施例中,设备按照NAN簇中的角色转换的要求,在同时满足第 一 AMR小于第二AMR,且设备的MR大于第一 AMR这两个条件时,设备对自身在NAN簇中的角 色进行转换,转换为AM。
[0228] 需要说明的是,在设备收到的NAN Beacon帧可以用于AM选择的情况下,当第一 AMR小于第二AMR、且设备的MR大于第一 AMR时,设备自身的角色转换为AM,转换为AM后的 设备可以将NAN簇中原有的AM冲刷掉,因此NAN簇中原有的AMR也会被冲刷掉,即使AM自 身的MR变小,MR为AMR值的设备会一直存在,故NAN簇中会一直存在AM,避免整个NAN簇 发生崩溃,保证可以实现设备间的时间同步。
[0229] 具体的,步骤102设备将设备的角色转换为AM,具体可以包括如下步骤:
[0230] C1、设备将第二AMR的值更新为设备的MR的值;
[0231] C2、设备将第二HC的值更新为0 ;
[0232] C3、设备将第二AMBTT的值更新为第二TSF信息的预置字节的取值。
[0233] 其中,步骤Cl、C2、C3所针对的是设备记录的第二AM信息所做的更新,分别对设 备记录的第二AMR、第二HC、第二AMBTT进行更新,例如,当一个NAN设备变成AM时,它将如 下设置自己记录的AM信息:将设备的第二AMR设置为自身的MR,将设备的第二HC设置为 〇,将设备的第二AMBTT设置为0x00000000。第二TSF信息的预置字节的取值可以是第二 TSF信息的后四个字节的取值,或者后五个字节的取值,第二TSF信息的预置字节可以根据 具体应用场景设定。
[0234] 103、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR小于 第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0235] 在本发明实施例中,设备接收到NAN Beacon帧之后,在NAN Beacon帧用于AM选择 的情况下,同时满足第一 AMR小于第二AMR,且设备的MR小于第一 AMR这两个条件时,设备 根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0236] 在本发明的一些实施例中,设备按照NAN簇中AM信息和TSF信息更新的要求,在 同时满足第一 AMR小于第二AMR,且设备的MR小于第一 AMR这两个条件时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0237] 需要说明的是,在设备的MR取值不足以使设备成为AM时,即第一 AMR小于设备记 录的第二AMR、且设备的MR小于第一 AMR时,设备可以根据NAN Beacon帧对设备记录的第 二AM信息和第二TSF信息进行更新,故设备记录的第二AMR也会更新,NAN簇中原有的AMR 也会被冲刷掉,即使AM自身的MR变小,MR为AMR值的设备会一直存在,故NAN簇中会一直 存在AM,避免整个NAN簇发生崩溃,保证可以实现设备间的时间同步。
[0238] 具体的,步骤103设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信 息进行更新,具体可以包括如下步骤:
[0239] D1、设备将第二AMR的值更新为第一 AMR的值;
[0240] D2、设备将第二HC的值更新为第一 HC的值加1 ;
[0241] D3、若NAN Beacon帧由AM发送,设备将第二AMBTT的值更新为第一 TSF信息的预 置字节的取值,若NAN Beacon帧不是由AM发送,设备将第二AMBTT的值更新为第一 AMBTT ;
[0242] D4、设备将第二TSF信息的取值更新为第一 TSF信息的取值。
[0243] 其中,步骤Dl、D2、D3、D4所针对的是设备记录的第二AM信息和第二TSF信息所 做的更新,分别对设备记录的第二AMR、第二HC、第二AMBTT、第二TSF进行更新。
[0244] 需要说明的是,在本发明的另一些实施例中,用于锚主设备选择的方法还可以包 括如下步骤:
[0245] E1、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR等于 第一 AMR时,设备将设备的角色转换为AM ;
[0246] 或,
[0247] E2、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR等于 第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0248] 具体的,对于步骤E1中设备将设备的角色转换为AM,具体可以包括如下步骤:
[0249] 设备将第二AMR的值更新为设备的MR的值;
[0250] 设备将第二HC的值更新为0 ;
[0251] 设备将第二AMBTT的值更新为第二TSF信息的预置字节的取值。
[0252] 其中,上述描述的是针对设备记录的第二AM信息的全部信息所做的更新,分别对 设备记录的第二AMR、第二HC、第二AMBTT进行更新,例如,当一个NAN设备变成AM时,它将 如下设置自己记录的AM信息:将设备的第二AMR设置为自身的MR,将设备的第二HC设置 为〇,将设备的第二AMBTT设置为0x00000000。第二TSF信息的预置字节的取值可以是第 二TSF信息的后四个字节的取值,或者后五个字节的取值,第二TSF信息的预置字节可以根 据具体应用场景设定。设备进行角色转换的实现方式可参阅前述步骤102中的说明,此处 不再赘述,步骤102和步骤E1的不同之处在于设备将自身的角色转换为AM的执行条件不 同。
[0253] 具体的,步骤E2设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信 息进行更新,具体可以包括如下步骤:
[0254] 设备将第二AMR的值更新为第一 AMR的值;
[0255] 设备将第二HC的值更新为第一 HC的值加 1 ;
[0256] 若NAN Beacon帧由AM发送,设备将第二AMBTT的值更新为第一 TSF信息的预置字 节的取值,若NAN Beacon帧不是由AM发送,设备将第二AMBTT的值更新为第一 AMBTT ;
[0257] 设备将第二TSF信息的取值更新为第一 TSF信息的取值。
[0258] 其中,上述步骤所针对的是设备记录的第二AM信息和第二TSF信息所做的更新, 分别对设备记录的第二AMR、第二HC、第二AMBTT、第二TSF进行更新。设备对设备记录的第 二AM信息和第二TSF信息进行更新参阅前述步骤103中的说明,此处不再赘述,步骤103 和步骤E2的不同之处在于设备对设备记录的第二AM信息和第二TSF信息进行更新的执行 条件不同。
[0259] 通过以上对本发明实施例的描述可知,设备接收到的NAN Beacon帧之后,若NAN Beacon巾贞用于AM选择,则当NAN Beacon巾贞中包括的第一 AMR小于设备记录的第二AMR,且 设备的MR大于第一 AMR时,设备将设备的角色转换为AM ;若NAN Beacon帧用于AM选择, 则当NAN Beacon帧中包括的第一 AMR小于设备记录的第二AMR,且设备的MR小于第一 AMR 时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。在设备收 到的NAN Beacon帧可以用于AM选择的情况下,当第一 AMR小于第二AMR、且设备的MR大于 第一 AMR时,设备自身的角色转换为AM,转换为AM后的设备可以将NAN簇中原有的AM冲刷 掉,因此NAN簇中原有的AMR也会被冲刷掉,即使AM自身的MR变小,MR为AMR值的设备会 一直存在,故NAN簇中会一直存在AM,避免整个NAN簇发生崩溃,保证可以实现设备间的时 间同步。在设备的MR取值不足以使设备成为AM时,即第一 AMR小于设备记录的第二AMR、 且设备的MR小于第一 AMR时,设备可以根据NAN Beacon帧对设备记录的第二AM信息和第 二TSF信息进行更新,故设备记录的第二AMR也会更新,NAN簇中原有的AMR也会被冲刷掉, 即使AM自身的MR变小,MR为AMR值的设备会一直存在,故NAN簇中会一直存在AM,避免整 个NAN簇发生崩溃,保证可以实现设备间的时间同步。
[0260] 请参阅图3所示,本发明另一个实施例提供的用于锚主设备选择的方法,具体可 以包括如下步骤:
[0261] 301、设备接收 NAN Beacon 中贞。
[0262] 其中,NAN Beacon帧携带有第一 AM信息及第一 TSF信息,第一 AM信息包括:第一 AMR、第一 HC、第一 AMBTT。
[0263] 在本发明实施例中,设备接收到NAN Beacon帧之后,设备可以从NAN Beacon帧帧 获取到NAN Beacon帧携带的第一 HC,设备可以判断第一 HC和预置的跳数门限之间的数值 大小关系,当第一 HC大于预置的跳数门限时,执行步骤302。当第一 HC小于或等于预置的 跳数门限时,设备可以根据NAN Beacon帧携带的AM信息判断出NAN Beacon帧是否可以用 于AM选择,对于NAN Beacon帧可以用于AM选择的情况下可以继续执行后续步骤,例如分别 触发执行步骤303和步骤304。
[0264] 需要说明的是,在本发明的另一些实施例中,除了执行步骤303和步骤304之外, 用于锚主设备选择的方法还可以包括如下步骤:
[0265] 若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR等于第一 AMR时,设备将设备的角色转换为AM ;
[0266] 或,
[0267] 若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR等于第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0268] 其中,设备记录的第二AM信息的全部信息可以都做更新,分别对设备记录的第二 AMR、第二HC、第二AMBTT进行更新,例如,当一个NAN设备变成AM时,它将如下设置自己记 录的AM信息:将设备的第二AMR设置为自身的MR,将设备的第二HC设置为0,将设备的第 二AMBTT设置为0x00000000。第二TSF信息的预置字节的取值可以是第二TSF信息的后四 个字节的取值,或者后五个字节的取值,第二TSF信息的预置字节可以根据具体应用场景 设定。设备记录的第二AM信息和第二TSF信息所做的更新,具体可以分别针对设备记录的 第二AMR、第二HC、第二AMBTT、第二TSF进行更新。设备对设备记录的第二AM信息和第二 TSF信息进行更新参阅前述步骤103中的说明,此处不再赘述。
[0269] 需要说明的是,在本发明实施例中,若设备确定NAN Beacon巾贞不用于AM选择的 情况下,设备可以忽略NAN Beacon巾贞携带的第一 AM信息,若设备确定NAN Beacon巾贞用于 AM选择的情况下,仍然需要判断第一 AMBTT和第二AMBTT的数值大小关系,设备判断第一 AMBTT和第二AMBTT的数值大小关系存在三种结果:1)、第一 AMBTT大于第二AMBTT,2)、第 一 AMBTT等于第二AMBTT,3)、第一 AMBTT小于第二AMBTT。设备还需要判断第一 HC和第二 HC之间的数值大小关系,设备判断第一 HC是否小于第二HC减1存在两种结果:1)第一 HC 小于第二HC减1,2)、第一 HC大于第二HC减1。根据各个判断结果的不同,分别继续执行 步骤 305、306、307。
[0270] 302、若第一 HC大于预置的跳数门限,设备丢弃NAN Beacon帧,若NAN Beacon帧被 丢弃掉,则无需再执行后续描述的其它步骤。
[0271] 其中,当第一HC大于预置的跳数门限时,设备接收到NANBeacon帧是无效的帧,设 备可以丢弃该NAN Beacon中贞。
[0272] 303、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR大于 第一 AMR时,设备将设备的角色转换为AM。
[0273] 304、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR小于 第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0274] 305、若NAN Beacon帧用于AM选择,则当第一 AMR大于第二AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0275] 需要说明的是,步骤304和步骤305中设备执行的是相同的动作,即根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新,但是步骤304和步骤305中 设备执行动作的条件时不同的。
[0276] 306、若NAN Beacon帧用于AM选择,则当第一 AMR等于第二AMR,且第一 AMBTT大 于第二AMBTT时,设备根据NAN Beacon帧对设备记录的第二AM信息的部分信息或全部信息 以及第二TSF信息进行更新。
[0277] 其中,设备根据NAN Beacon巾贞需要更新自身记录的信息有两种情况:第一种情况 是更新第二AM信息的部分信息以及第二TSF信息,第二种情况是更新第二AM信息的全部 信息以及第二TSF信息。
[0278] 具体的,步骤306设备根据NAN Beacon帧对设备记录的第二AM信息的部分信息或 全部信息以及第二TSF信息进行更新,具体可以包括如下步骤:
[0279] 设备将第二HC的值更新为第一 HC的值加 1 ;
[0280] 若NAN Beacon帧由AM发送,设备将第二AMBTT的值更新为第一 TSF信息的预置字 节的取值,若NAN Beacon帧不是由AM发送,设备将第二AMBTT的值更新为第一 AMBTT ;
[0281] 设备将第二TSF信息的取值更新为第一 TSF信息的取值。
[0282] 另外,在本发明的另一些实施例中,步骤306设备根据NAN Beacon巾贞对设备记录的 第二AM信息的部分信息或全部信息以及第二TSF信息进行更新,具体可以包括如下步骤:
[0283] 设备将第二AMR的值更新为第一 AMR的值;
[0284] 设备将第二HC的值更新为第一 HC的值加 1 ;
[0285] 若NAN Beacon帧由AM发送,设备将第二AMBTT的值更新为第一 TSF信息的预置字 节的取值,若NAN Beacon帧不是由AM发送,设备将第二AMBTT的值更新为第一 AMBTT ;
[0286] 设备将第二TSF信息的取值更新为第一 TSF信息的取值。
[0287] 需要说明的是,这两种实现方式的区别点在于是否需要对设备记录的第二AMR的 值进行更新,具体可以根据应用场景来选取其中一种实现方式即可。
[0288] 307、若NAN Beacon帧用于AM选择,当第一 AMR等于第二AMR时,则当第一 AMBTT 等于第二AMBTT,且第一 HC小于第二HC减1时,设备根据NAN Beacon帧对设备记录的第二 AM信息的部分信息或全部信息以及第二TSF信息进行更新。
[0289] 其中,设备根据NAN Beacon巾贞需要更新自身记录的信息有两种情况:第一种情况 是更新第二AM信息的部分信息以及第二TSF信息,第二种情况是更新第二AM信息的全部 信息以及第二TSF信息。
[0290] 具体的,步骤307设备根据NAN Beacon巾贞对设备记录的第二AM信息的部分信息或 全部信息以及第二TSF信息进行更新,具体可以包括如下步骤:
[0291] 设备将第二HC的值更新为第一 HC的值加 1 ;
[0292] 设备将第二TSF信息的取值更新为第一 TSF信息的取值。
[0293] 另外,在本发明的另一些实施例中,步骤307设备根据NAN Beacon巾贞对设备记录的 第二AM信息的部分信息或全部信息以及第二TSF信息进行更新,具体可以包括如下步骤:
[0294] 设备将第二AMR的值更新为第一 AMR的值;
[0295] 设备将第二HC的值更新为第一 HC的值加 1 ;
[0296] 若NAN Beacon帧由AM发送,设备将第二AMBTT的值更新为第一 TSF信息的预置字 节的取值,若NAN Beacon帧不是由AM发送,设备将第二AMBTT的值更新为第一 AMBTT ;
[0297] 设备将第二TSF信息的取值更新为第一 TSF信息的取值。
[0298] 需要说明的是,这两种实现方式的区别点在于是否需要对设备记录的第二AMR的 值和第二AMBTT的值进行更新,具体可以根据应用场景来选取其中一种实现方式即可。
[0299] 需要说明的是,在本发明的一些实施例中,步骤302、步骤305至步骤307中具体可 以执行其中的一个或多个步骤,具体执行情况需要参见各个步骤中所要求的条件是否已经 具备,此处实施例中仅以示例的方式给出说明。
[0300] 通过以上对本发明实施例的描述可知,设备接收到的NAN Beacon帧之后,若NAN Beacon巾贞用于AM选择,则当NAN Beacon巾贞中包括的第一 AMR小于设备记录的第二AMR,且 设备的MR大于第一 AMR时,设备将设备的角色转换为AM ;若NAN Beacon帧用于AM选择,则 当NAN Beacon帧中包括的第一 AMR小于设备记录的第二AMR,且设备的MR小于或等于第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。在设 备收到的NAN Beacon帧可以用于AM选择的情况下,当第一 AMR小于第二AMR、且设备的MR 大于第一 AMR时,设备自身的角色转换为AM,转换为AM后的设备可以将NAN簇中原有的AM 冲刷掉,因此NAN簇中原有的AMR也会被冲刷掉,即使AM自身的MR变小,也将会很快选择 出新的AM,故NAN簇中会一直存在AM,并且各设备能够记录正确的AM信息,避免整个NAN 簇发生崩溃,保证可以实现设备间的时间同步。在设备的MR取值不足以使设备成为AM时, 即第一 AMR小于设备记录的第二AMR、且设备的MR小于或等于第一 AMR时,设备可以根据 NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新,故设备记录的第二AMR 也会更新,NAN簇中原有的AMR也会被冲刷掉,即使AM自身的MR变小,也将会很快选择出 新的AM,故NAN簇中会一直存在AM,并且各设备能够记录正确的AM信息,避免整个NAN簇 发生崩溃,保证可以实现设备间的时间同步。
[0301] 请参阅图4所示,本发明另一个实施例提供的用于锚主设备选择的方法,具体可 以包括如下步骤:
[0302] 401、设备接收 NAN Beacon 帧。
[0303] 其中,NAN Beacon帧携带有第一 AM信息及第一 TSF信息,第一 AM信息包括:第一 AMR、第一 HC、第一 AMBTT。
[0304] 在本发明实施例中,设备接收到NAN Beacon帧之后,设备可以根据NAN Beacon帧 携带的AM信息判断出NAN Beacon巾贞是否可以用于AM选择,对于NAN Beacon巾贞可以用于AM 选择的情况下可以继续执行后续步骤,例如分别触发执行步骤402和步骤403。
[0305] 需要说明的是,在本发明实施例中,若设备确定NAN Beacon巾贞不用于AM选择的情 况下,设备可以忽略NAN Beacon巾贞携带的第一 AM信息,若设备确定NAN Beacon巾贞用于AM 选择的情况下,设备还需要判断第一 HC和第二HC之间的数值大小关系,设备判断第一 HC 是否小于第二HC存在三种结果:1)第一 HC大于或等于第二HC,2)、第一 HC等于第二HC减 1,3)第一 HC小于第二HC减1。设备仍然需要判断第一 AMBTT和第二AMBTT的数值大小关 系,设备判断第一 AMBTT和第二AMBTT的数值大小关系存在三种结果:1)、第一 AMBTT大于 第二AMBTT,2)、第一 AMBTT等于第二AMBTT,3)、第一 AMBTT小于第二AMBTT,根据各个判断 结果的不同,分别继续执行步骤404、405、406。
[0306] 本发明的另一些实施例中,设备还可以判断第二TSF信息的取值减去设备记录的 第二AMBTT后的差值是否大于预置的传输时间阈值,根据判断结果确定是否需要执行如下 步骤:
[0307] 当第二TSF信息的取值减去第二AMBTT后的差值大于预置的传输时间阈值时,设 备将设备的角色转换为AM。
[0308] 此处,设备将设备的角色转换为AM,具体可以包括如下步骤:
[0309] 设备将第二AMR的值更新为设备的MR的值;
[0310] 设备将第二HC的值更新为0 ;
[0311] 设备将第二AMBTT的值更新为第二TSF信息的预置字节的取值。
[0312] 当设备MR发生过更新时,根据设备自身是否是AM以及设备判断更新后的MR是否 大于记录的第二AMR的不同,可以分别执行步骤407和步骤408。
[0313] 402、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR大于 第一 AMR时,设备将设备的角色转换为AM。
[0314] 403、若NAN Beacon帧用于AM选择,则当第一 AMR小于第二AMR,且设备的MR小于 第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。
[0315] 404、若NAN Beacon帧用于AM选择,则当第一 AMR等于第二AMR,且第一 HC大于或 等于第二HC时,设备忽略NAN Beacon帧携带的第一 AM信息;
[0316] 405、若NAN Beacon巾贞用于AM选择,且NAN Beacon巾贞不是由AM发送,则当第一 AMR 等于第二AMR,且第一 HC等于第二HC减1,且第一 AMBTT大于第二AMBTT时,设备将第二 AMBTT的值更新为第一 AMBTT,设备将第二TSF信息的取值更新为第一 TSF信息的取值;
[0317] 另外,在本发明的另一些实施例中,步骤405还可以替换为如下步骤:
[0318] 若NAN Beacon巾贞用于AM选择,且NAN Beacon巾贞是由AM发送,则当第一 AMR等于 第二AMR,且第一 HC等于第二HC减1,且第一 TSF信息的预置字节的取值大于第二AMBTT 时,设备将第二AMBTT的值更新为第一 AMBTT,设备将第二TSF信息的取值更新为第一 TSF 信息的取值。
[0319] 406、若NAN Beacon帧用于AM选择,则当第一 AMR等于第二AMR,且第一 HC小于第 二HC减1时,若NAN Beacon帧由AM发送,设备将第二AMBTT的值更新为第一 TSF信息的预 置字节的取值,若NAN Beacon帧不是由AM发送,设备将第二AMBTT的值更新为第一 AMBTT, 设备将第二TSF信息的取值更新为第一 TSF信息的取值,设备将第二HC的值更新为第一 HC 的值加 1。
[0320] 407、当设备不是AM,且设备的MR发生过更新时,则当设备更新后的MR大于第二 AMR时,设备将设备的角色转换为AM。
[0321] 408、当设备为AM时,当设备的MR发生过更新时,设备保持AM的角色,设备将记录 的第二AMR更新为设备更新后的MR的值。
[0322] 需要说明的是,在前述步骤402、407中,设备执行的是相同的动作,即设备将设备 的角色转换为AM,但是步骤402、407中设备执行动作的条件时不同的,此时,设备将设备的 角色转换为AM,具体可以包括如下步骤:
[0323] 设备将第二AMR的值更新为设备的MR的值;
[0324] 设备将第二HC的值更新为0 ;
[0325] 设备将第二AMBTT的值更新为第二TSF信息的预置字节的取值。
[0326] 需要说明的是,在本发明的一些实施例中,步骤404至步骤408中具体可以执行其 中的一个或多个步骤,具体执行情况需要参见各个步骤中所要求的条件是否已经具备,此 处实施例中仅以示例的方式给出说明。
[0327] 通过以上对本发明实施例的描述可知,设备接收到的NAN Beacon帧之后,若NAN Beacon巾贞用于AM选择,则当NAN Beacon巾贞中包括的第一 AMR小于设备记录的第二AMR,且 设备的MR大于第一 AMR时,设备将设备的角色转换为AM ;若NAN Beacon帧用于AM选择,则 当NAN Beacon帧中包括的第一 AMR小于设备记录的第二AMR,且设备的MR小于或等于第一 AMR时,设备根据NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新。在设 备收到的NAN Beacon帧可以用于AM选择的情况下,当第一 AMR小于第二AMR、且设备的MR 大于第一 AMR时,设备自身的角色转换为AM,转换为AM后的设备可以将NAN簇中原有的AM 冲刷掉,因此NAN簇中原有的AMR也会被冲刷掉,即使AM自身的MR变小,也将会很快选择 出新的AM,故NAN簇中会一直存在AM,并且各设备能够记录正确的AM信息,避免整个NAN 簇发生崩溃,保证可以实现设备间的时间同步。在设备的MR取值不足以使设备成为AM时, 即第一 AMR小于设备记录的第二AMR、且设备的MR小于或等于第一 AMR时,设备可以根据 NAN Beacon帧对设备记录的第二AM信息和第二TSF信息进行更新,故设备记录的第二AMR 也会更新,NAN簇中原有的AMR也会被冲刷掉,即使AM自身的MR变小,也将会很快选择出 新的AM,故NAN簇中会一直存在AM,并且各设备能够记录正确的AM信息,避免整个NAN簇 发生崩溃,保证可以实现设备间的时间同步。
[0328] 为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来 进行具体说明。
[0329] 接下来以实际应用场景对常用的AM选择的方法和本发明实施例提供的AM选择的 方法进行说明,以证明本发明实施例提供的方法在避免整个NAN簇发生崩溃,且保证实现 设备间的时间同步上的优越性。
[0330] 需要说明的是,如下实施例中描述中,以Sync Beacon帧为例进行说明,用rx***表 示设备接收到的Sync Beacon巾贞中所携带的值,用my***表示设备自身的或所记录的值。
[0331] 当前的NAN规范草案中,通常对于每个NAN设备定义了进行AM选择的方法:
[0332] 当设备接收到一个Sync Beacon帧,且其rxHC未超过预置的跳数门限时,设备将按 照如下算法进行处理,若rxHC超过预置的跳数门限,则丢弃该Sync Beacon帧。其中,通常 的算法描述如下:
[0333] 若记录的AMR值高于Sync Beacon巾贞中携带的AMR值,贝U丢弃该Sync Beacon巾贞中 携带的AM信息;
[0334] 若记录的AMR值低于Sync Beacon巾贞中的AMR值,NAN设备将采用Sync Beacon中贞 中的AMR、HC加1以及AMBTT作为自己的AM信息记录中的记录值,即执行如下步骤:
[0335] Update my AMR: my AMR = rxAMR,设备用Sync Beacon巾贞中携带的AMR值取代自身记 录的AMR值;
[0336] Update myHC:myHC = rxHC+1
[0337] Update my AMBTT: my AMBTT = rxAMBTT
[0338] Update myTSF:myTSF = rxTSF,即设备用 Sync Beacon 巾贞中携带的 Time Stamp 域 的值取代自身记录的TSF值。
[0339] 若记录的AMR值等于Sync Beacon帧中的AMR值,NAN设备将按照下述规则比较自 己记录的HC和Sync Beacon巾贞中的HC :
[0340] 若Sync Beacon巾贞中HC值高于或等于记录的HC, NAN设备将忽略Sync Beacon中贞 中的AM信息;
[0341] 若Sync Beacon巾贞中HC值等于记录的HC减1,且Sync Beacon巾贞中的AMBTT值大 于记录的AM信息中的AMBTT值,则NAN设备将采用Sync Beacon帧中的AMBTT值作为自己 记录中的AMBTT值;
[0342] 若Sync Beacon巾贞中HC值低于记录的HC减1,NAN设备将采用Sync Beacon巾贞中 的HC加1作为自己记录的HC值,并且NAN设备的AM记录中的AMBTT按照下述规则更新:
[0343] 若收到的Sync Beacon帧是由AM发送的,则记录的当前AM信息中的AMBTT设置为 收到的Sync Beacon巾贞中Time Stamp域的低四个字节值;
[0344] 若收到的Sync Beacon巾贞来自一个NAN Master或Non-Master Sync设备,则记录 的当前AM信息中的AMBTT设置为收到的Sync Beacon巾贞中NAN Cluster Attribute中的相 应值。
[0345] 根据如上描述的通常实现手段,接下来对AM的MR值变小时出现的情况进行举例 说明。
[0346] 如图5-a所示,为本发明实施例提供的各个设备记录的AM信息的更新过程示意 图,其中,
[0347] 假设四个NAN设备A、B、C、D的初始MR分别10、6、3、8,故A为AM。两相邻节点间 可相互侦听到发出的Sync Beacon巾贞,即A可以接收到B发出的Sync Beacon巾贞,B可以接 收到A、C发出的Sync Beacon巾贞,C可以接收到B、D发出的Sync Beacon巾贞,D可以接收到 C发出的Sync Beacon中贞。
[0348] 其中,NAN簇中的每个设备都维护一个变量AM_timer,表示当前AMBTT的有效期, 每当更新一次AMBTT,则AM_timer的值重置为16,表示有效期为16个DW。设备所维护的 AM_timer按照减法计数,当减为0时,设备自身将变成AM,假设MR更新及AM_timer减1均 发生在DW开始时。
[0349] 假设某时刻A的MR由10变为7,则此时NAN网络中真正的AM为设备D。此时,设 备A仍将自身设为MR,且AMR变为7,然后发送Sync Beacon帧。B接收到此Sync Beacon帧 后,由于其中的AMR为7,小于自身记录的10,故不更新AMR。然后,B发送Sync Beacon帧, A接收到后发现该Sync Beacon巾贞中的AMR为10,大于自身记录的7,故根据该Sync Beacon 帧更新自身的状态,即A将自身记录的AMR设为10, HC设为2。此时,A、B保持的AMR都为 10, A、B保持的HC分别为2、1 ;C、D保持不变。
[0350] 经过15个DW之后,设备B、C、D均因 AM_timer变为0而将自己变为AM(保持的 AMR变为自己的MR,HC为0),随后发送Sync Beacon巾贞。A也发送Sync Beacon巾贞。根据接 收到的Sync Beacon帧,每个设备根据前述的算法更新自身的状态。此时,A、B记录的AMR 为10, HC分别为2、3 ;C、D保持的AMR为8。在随后的DW中,C收到来自B的Sync Beacon 帧,由于B的AMR = 10大于C的AMR = 8,根据前述的算法C将根据该帧更新状态,记录的 AMR变为10, HC变为4 ;再经过一个DW,D接收到来自C的Sync Beacon巾贞,同理D将根据该 帧更新自身的状态,记录的AMR变为10, HC变为5。至此,四个设备保持的AMR均为10,而 HC则分别为4、3、4、5。此后,重复前述过程。在此过程中,网络中多数设备记录的八1?均为 10,但HC不断增大,直至某个设备的MR变为比10更大的值。例如,C的MR变为15,则经 过几个DW之后网络中所有设备的AMR均变为15,HC也将以C为中心延展。在上述过程中, NAN网络中设备记录的AMR值只会变得更大,即使MR为该值的设备已经不存在了,老的AMR 值也始终存在NAN网络中而不能被清除掉,而记录的HC值将越来越大。根据前述内容,当 接收到的Sync Beacon巾贞中的HC超过阈值时,该Sync Beacon巾贞将被丢弃。这意味着,随着 时间推移,HC越来越大,整个NAN簇中的设备将因 HC超过阈值而会将接收到的Sync Beacon 帧都丢弃掉,同时由于NAN簇中会失去AM,导致整个NAN簇发生崩溃,从而无法实现设备间 的时间同步。
[0351] 接下来对本发明实施例提供的用于锚主设备选择的方法进行举例说明。
[0352] 需要说明的是,如下实施例中描述中,以Sync Beacon巾贞为例进行说明,用rx***表 示设备接收到的Sync Beacon巾贞中所携带的值,用my***表示设备自身的或所记录的值。
[0353] 本发明实施例中定义了如下进行AM选择的方法:
[0354] 当non-AM的MR发生更新,且新的MR比自己所记录的AMR更大时,则自己将变成 AM :myAMR = myMR,myHC = 0,myAMBTT = 0 ;当AM设备的MR发生变化时,仍将保持AM的身 份,但将记录的AMR变为更新后的值;
[0355] 当myAMBTT超过预置的传输时间阈值(目前规定16DW)未更新时,设备自己将变 成 AM :myAMR = myMR,myHC = 0, myAMBTT = 0 ;
[0356] 若Sync Beacon帧中携带的跳数值rxHC超过预置的跳数门限,则丢弃该帧,对于接 收到的Sync Beacon巾贞不用于AM选择,主要包括如下情况:
[0357] (1)、若设备自身为AM,且接收到的Sync Beacon巾贞满足rxAMR〈myAMR,则该Sync Beacon巾贞不用于AM选择;
[0358] (2)、在设备记录的AMR发生改变(更新前的AMR记为OldAMR)之后的一段预置时 间段中,若接收到的Sync Beacon巾贞中的rxAMR等于本设备的OldAMR,或者rxAMR〈myAMR时, 该Sync Beacon巾贞不用于AM选择;
[0359] 不满足上述所有任一条件的Sync Beacon巾贞,可以用于AM选择。
[0360] 在本发明实施例中接收到的Sync Beacon帧可以用于AM选择时,可以通过如下算 法的描述实现对锚主设备的选择:
[0361] if rxAMR > my AMR Update myAMR&myHC&TSF&myAMBTT; elseif rxAMR = myAMR if rxAMBTT > myAMBTT Update myHC&TSF&myAMBTT; elseif rxAMBTT == myAMBTT if rxHC< myHC - 1 Update myHC'&TSF; end end else if rxAMR >= my MR Update myAMR&myHC&TSF&myAMBTT; else myAMR = myMR; myHC = 0; myAMBTT = 0, end end
[0362] 根据如上实施例描述的本发明提供的用于锚主设备选择的方法,接下来对AM的 MR值变小时出现的情况进行举例说明。
[0363] 如图5-b所示,为本发明实施例提供的各个设备记录的AM信息的更新过程示意 图,假设四个NAN设备A、B、C、D的初始MR分别10、6、8、9,故A为AM。两相邻节点间可相互 侦听到发出的Sync Beacon巾贞,即A可以接收到B发出的Sync Beacon巾贞,B可以接收到A、 C发出的Sync Beacon巾贞,C可以接收到B、D发出的Sync Beacon巾贞,D可以接收到C发出的 Sync Beacon 中贞。
[0364] 图5-b中,A、B、C、D四个设备的初始条件与图5-a相类似,A为AM。假设某个时 亥lj A的MR由10变为7,故其AMR也变为7。若A的Sync Beacon帧比B发出更早,则当该 帧被B接收到时,按照本发明实施例提供的算法,B的MR = 6小于A的rxAMR = 7,故B按 照A的状态进行更新,新的AMR为7, HC为1 ;倘若B的Sync Beacon帧比A更早发出,则当 A收到该巾贞时,由于其中的rxAMR = 10与A的OldAMR = 10相同,故该巾贞不用于AM选择。 这就避免了老的AMR冲掉新的AMR。
[0365] 随后,B发出Sync Beacon帧被C收到,根据本发明实施例提供的算法,C将变为 AM。C继续发送Sync Beacon帧被B和D收到,根据本发明实施例提供的算法,D将变成AM, 而B根据C更新状态。之后,D发送Sync Beacon帧,由于其AMR最大(=9),故其状态将被 C接收并在下个DW中的Sync Beacon帧中发送,直至整个NAN网络中的节点都完成更新。
[0366] 在本发明实施例中,在设备记录的AMR发生改变(更新前的AMR记为OldAMR)之 后的一段预置时间段中,若接收到的Sync Beacon帧中的rxAMR与本设备的OldAMR,或者 rxAMR〈myAMR时,该Sync Beacon巾贞不用于AM选择。因此,每个设备内部需要维护两个变量: OldAMR和01dAMR_timer。前者记录更新前AMR值,后者为计时器。每当设备记录的AMR发 生变化时,该计时器重置为预定值(例如N个DW),随后减法计时,直至变为0。
[0367] AM选择的执行过程由于其选择结果携带在sync状态的NAN设备发送的Sync Beacon帧中,而原则上每个设备都有均等的机会进入sync状态,因此,可以通过创造相应 条件并检测设备发送的Sync Beacon巾贞,来间接获知设备内部的AM选择的算法,故按照本发 明实施例中描述的AM选择的算法是可检测的。
[0368] 前述举例中分别对通常的AM选择算法(以下简称为原方案)和本发明实施例提 供的AM选择算法(以下简称为新方案)进行了举例说明,接下来本节对原方案和新方案进 行了仿真对比,以说明新方案的优势。
[0369] 1、仿真假设
[0370] 仿真区域为半径500m的圆形区域,253个NAN设备均匀分布在此区域中。设备的 发发射功率为20dBm,信道衰减模型为(L表示路损)
[0371]

【权利要求】
1. 一种用于锚主设备am选择的方法,其特征在于,所述方法包括: 设备接收邻居感知网络信标NAN Beacon帧,所述NAN Beacon帧携带有第一 AM信息及第 一时间同步功能TSF信息,所述第一 AM信息包括:第一锚主设备意愿值AMR、第一跳数HC、 第一锚主设备信标传输时间AMBTT ;所述设备记录有第二AM信息及第二TSF信息,所述第 二AM信息包括:第二AMR、第二HC、第二AMBTT ; 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR小于所述第二AMR,且所述设备 的主设备意愿值MR大于所述第一 AMR时,所述设备将所述设备的角色转换为AM ; 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR小于所述第二AMR,且所述设备 的MR小于所述第一 AMR时,所述设备根据所述NAN Beacon巾贞对所述设备记录的所述第二 AM信息和所述第二TSF信息进行更新。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR小于第二AMR,且所述设备的 MR等于所述第一 AMR时,所述设备将所述设备的角色转换为AM,或,所述设备根据所述NAN Beacon巾贞对所述设备记录的所述第二AM信息和第二TSF信息进行更新。
3. 根据权利要求1或2所述的方法,其特征在于,所述设备将所述设备的角色转换为 AM,以及所述设备根据所述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信 息进行更新之前,还包括: 若所述第一 HC小于或等于所述跳数门限,所述设备触发执行所述设备将所述设备的 角色转换为AM的步骤,或,所述设备触发执行所述设备根据所述NAN Beacon帧对所述设备 记录的所述第二AM信息和第二TSF信息进行更新的步骤。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,当所述设备为AM时,所述 NAN Beacon巾贞用于AM选择通过如下方式确定: 若所述第一 AMR小于所述第二AMR,则所述设备确定所述NAN Beacon帧不用于AM选 择; 若所述第一 AMR大于或等于所述第二AMR,若在所述第二AMR发生更新开始后的预置时 间段内所述第一 AMR等于第三AMR,则所述设备确定所述NAN Beacon帧不用于AM选择,所 述第三AMR为所述设备中的所述第二AMR发生更新之前的AMR ; 若所述NAN Beacon巾贞不满足第一条件时,则所述设备确定所述NANBeacon巾贞用于AM选 择,所述第一条件为:所述第一 AMR小于所述第二AMR,或在所述预置时间段内所述第一 AMR 等于所述第三AMR。
5. 根据权利要求1至3中任一项所述的方法,其特征在于,当所述设备为AM时,所述 NAN Beacon巾贞用于AM选择通过如下方式确定: 若所述第一 AMR小于所述第二AMR,则所述设备确定所述NAN Beacon帧不用于AM选 择; 若所述第一 AMR大于或等于所述第二AMR,若在所述第二AMR发生更新开始后的预置时 间段内所述第一 AMBTT小于所述第二AMBTT,则所述设备确定所述NAN Beacon帧不用于AM 选择; 若所述NAN Beacon巾贞不满足第二条件时,则所述设备确定所述NAN Beacon巾贞用于AM 选择,所述第二条件为:所述第一 AMR小于所述第二AMR,或在所述预置时间段内所述第一 AMBTT小于所述第二AMBTT。
6. 根据权利要求1至3中任一项所述的方法,其特征在于,当所述设备不是AM时,所述 NAN Beacon巾贞用于AM选择通过如下方式确定: 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二AMR,则 所述设备确定所述NAN Beacon巾贞不用于AM选择; 若在所述预置时间段内所述第一 AMR等于第三AMR,则所述设备确定所述NAN Beacon 帧不用于AM选择,所述第三AMR为所述设备中的所述第二AMR发生更新之前的AMR ; 若所述NAN Beacon帧不满足第三条件时,则所述设备确定所述NAN Beacon帧用于AM 选择,所述第三条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所述 预置时间段内所述第一 AMR等于所述第三AMR。
7. 根据权利要求1至3中任一项所述的方法,其特征在于,当所述设备不是AM时,所述 NAN Beacon巾贞用于AM选择通过如下方式确定: 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二AMR,则 所述设备确定所述NAN Beacon巾贞不用于AM选择; 若在所述预置时间段内所述第一 AMBTT小于所述第二AMBTT,则所述设备确定所述NAN Beacon巾贞不用于AM选择; 若所述NAN Beacon帧不满足第四条件时,则所述设备确定所述NAN Beacon帧用于AM 选择,所述第四条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所述 预置时间段内所述第一 AMBTT小于所述第二AMBTT。
8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括: 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR大于所述第二AMR时,所述设备 根据所述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更新。
9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述设备根据所述NAN Beacon巾贞对所述设备记录的所述第二AM信息和第二TSF信息进行更新,包括: 所述设备将所述第二AMR的值更新为所述第一 AMR的值; 所述设备将所述第二HC的值更新为所述第一 HC的值加 1 ; 若所述NAN Beacon帧由AM发送,所述设备将所述第二AMBTT的值更新为所述第一 TSF 信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,所述设备将所述第二AMBTT 的值更新为所述第一 AMBTT ; 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值。
10. 根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括: 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR时,若所述第 一 AMBTT大于所述第二AMBTT,或,所述第一 AMBTT等于所述第二AMBTT且所述第一 HC小于 所述第二HC减1时,所述设备根据所述NAN Beacon帧对所述设备记录的所述第二AM信息 的部分信息或全部信息以及所述第二TSF信息进行更新。
11. 根据权利要求10所述的方法,其特征在于, 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述第一 AMBTT大于所述第二AMBTT时,所述设备根据所述NAN Beacon帧对所述设备记录的所述第 二AM信息的部分信息或全部信息以及所述第二TSF信息进行更新,包括: 所述设备将所述第二HC的值更新为所述第一 HC的值加1 ; 若所述NAN Beacon帧由AM发送,所述设备将所述第二AMBTT的值更新为所述第一 TSF 信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,所述设备将所述第二AMBTT 的值更新为所述第一 AMBTT ; 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值; 若所述NAN Beacon巾贞用于AM选择,当所述第一 AMR等于所述第二AMR时,则当所述第 一 AMBTT等于所述第二AMBTT,且所述第一 HC小于所述第二HC减1时,所述设备根据所述 NAN Beacon帧对所述设备记录的所述第二AM信息的部分信息或全部信以及所述第二TSF 信息进行更新,包括: 所述设备将所述第二HC的值更新为所述第一 HC的值加1 ; 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值。
12. 根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括以下步骤 中的至少一个: 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述第一 HC大于或等于所述第二HC时,所述设备忽略所述NAN Beacon帧携带的第一 AM信息; 若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞不是由AM发送,贝U当所述第 一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述第一 AMBTT大于所 述第二AMBTT时,所述设备将所述第二AMBTT的值更新为所述第一 AMBTT,所述设备将所述 第二TSF信息的取值更新为所述第一 TSF信息的取值; 若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞是由AM发送,贝U当所述第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述第一 TSF信息的预置字 节的取值大于所述第二AMBTT时,所述设备将所述第二AMBTT的值更新为所述第一 AMBTT, 所述设备将所述第二TSF信息的取值更新为所述第一 TSF信息的取值; 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述第一 HC小于所述第二HC减1时,若所述NAN Beacon帧由AM发送,所述设备将所述第二AMBTT 的值更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,所 述设备将所述第二AMBTT的值更新为所述第一 AMBTT,所述设备将所述第二TSF信息的取值 更新为所述第一 TSF信息的取值,所述设备将所述第二HC的值更新为所述第一 HC的值加 1〇
13. 根据权利要求1至12中任一项所述的方法,其特征在于,所述方法还包括: 当所述第二TSF信息的取值减去所述第二AMBTT后的差值大于预置的传输时间阈值 时,所述设备将所述设备的角色转换为AM。
14. 根据权利要求1至13中任一项所述的方法,其特征在于,当所述设备不是AM,且所 述设备的MR发生过更新时,所述方法还包括: 当所述设备更新后的MR大于所述第二AMR时,所述设备将所述设备的角色转换为AM。
15. 根据权利要求1至14中任一项所述的方法,其特征在于,所述设备将所述设备的角 色转换为AM,包括: 所述设备将所述第二AMR的值更新为所述设备的MR的值; 所述设备将所述第二HC的值更新为0 ; 所述设备将所述第二AMBTT的值更新为所述第二TSF信息的预置字节的取值。
16. 根据权利要求1至14中任一项所述的方法,其特征在于,所述设备将所述设备的角 色转换为AM,包括: 所述设备将所述第二AMR的值更新为所述设备的MR的值; 所述设备将所述第二HC的值更新为0 ; 所述设备将所述第二AMBTT的值更新为0x00000000。
17. 根据权利要求1至16中任一项所述的方法,其特征在于,当所述设备为AM时,所述 方法还包括: 当所述设备的MR发生过更新时,所述设备保持AM的角色,所述设备将记录的所述第二 AMR更新为所述设备更新后的MR的值。
18. -种用于锚主设备AM选择的设备,其特征在于,所述设备包括: 信标巾贞接收模块,用于接收邻居感知网络信标NAN Beacon巾贞,所述NAN Beacon巾贞携带 有第一 AM信息及第一时间同步功能TSF信息,所述第一 AM信息包括:第一锚主设备意愿值 AMR、第一跳数HC、第一锚主设备信标传输时间AMBTT ;所述设备记录有第二AM信息及第二 TSF信息,所述第二AM信息包括:第二AMR、第二HC、第二AMBTT ; 角色转换模块,用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于所述第 二AMR,且所述设备的主设备意愿值MR大于所述第一 AMR时,将所述设备的角色转换为AM ; 信息更新模块,用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于所述第 二AMR,且所述设备的MR小于所述第一 AMR时,根据所述NAN Beacon巾贞对所述设备记录的 所述第二AM信息和所述第二TSF信息进行更新。
19. 根据权利要求18所述的设备,其特征在于, 所述角色转换模块,还用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于 第二AMR,且所述设备的MR等于所述第一 AMR时,将所述设备的角色转换为AM ; 或, 所述信息更新模块,还用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR小于 第二AMR,且所述设备的MR等于所述第一 AMR时,根据所述NAN Beacon巾贞对所述设备记录 的所述第二AM信息和第二TSF信息进行更新。
20. 根据权利要求18或19所述的设备,其特征在于,所述设备,还包括: 触发执行模块,用于若所述第一 HC小于或等于所述跳数门限,触发所述角色转换模块 执行所述将所述设备的角色转换为AM的步骤,或触发所述信息更新模块执行所述根据所 述NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更新的步骤。
21. 根据权利要求18至20中任一项所述的设备,其特征在于,当所述设备为AM时,所 述设备,还包括:第一 AM选择确定模块,用于通过如下方式确定所述NAN Beacon巾贞用于AM 选择: 若所述第一 AMR小于所述第二AMR,则确定所述NAN Beacon巾贞不用于AM选择; 若所述第一 AMR大于或等于所述第二AMR,若在所述第二AMR发生更新开始后的预置 时间段内所述第一 AMR等于第三AMR,则确定所述NAN Beacon帧不用于AM选择,所述第三 AMR为所述设备中的所述第二AMR发生更新之前的AMR ; 若所述NAN Beacon巾贞不满足第一条件时,则确定所述NAN Beacon巾贞用于AM选择,所述 第一条件为:所述第一 AMR小于所述第二AMR,或在所述预置时间段内所述第一 AMR等于所 述第三AMR。
22. 根据权利要求18至20中任一项所述的设备,其特征在于,当所述设备为AM时,所 述设备,还包括:第二AM选择确定模块,用于通过如下方式确定所述NAN Beacon巾贞用于AM 选择: 若所述第一 AMR小于所述第二AMR,则确定所述NAN Beacon巾贞不用于AM选择; 若所述第一 AMR大于或等于所述第二AMR,当所述设备中的第二AMR发生过更新时,若 在所述第二AMR发生更新开始后的预置时间段内所述第一 AMBTT小于所述第二AMBTT,则确 定所述NAN Beacon巾贞不用于AM选择; 若所述NAN Beacon巾贞不满足第二条件时,则确定所述NAN Beacon巾贞用于AM选择,所述 第一条件为:所述第二AMR小于所述第二AMR,或在所述预置时间段内所述第一 AMBTT小于 所述第二AMBTT。
23. 根据权利要求18至20中任一项所述的设备,其特征在于,当所述设备不是AM时, 所述设备,还包括:第三AM选择确定模块,用于通过如下方式确定所述NAN Beacon帧用于 AM选择: 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二AMR,则 确定所述NAN Beacon巾贞不用于AM选择; 若在所述预置时间段内所述第一 AMR等于第三AMR,$_定所述NAN Beacon帧不用于 AM选择,所述第三AMR为所述设备中的所述第二AMR发生更新之前的AMR ; 若所述NAN Beacon巾贞不满足第三条件时,则确定所述NAN Beacon巾贞用于AM选择,所述 第三条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所述预置时间段 内所述第一 AMR等于所述第三AMR。
24. 根据权利要求18至20中任一项所述的设备,其特征在于,当所述设备不是AM时, 所述设备,还包括:第四AM选择确定模块,用于通过如下方式确定所述NAN Beacon帧用于 AM选择: 若在所述第二AMR发生更新开始后的预置时间段内所述第一 AMR小于所述第二AMR,则 确定所述NAN Beacon巾贞不用于AM选择; 若在所述预置时间段内所述第一 AMBTT小于所述第二AMBTT,则确定所述NAN Beacon 帧不用于AM选择; 若所述NAN Beacon巾贞不满足第四条件时,则确定所述NAN Beacon巾贞用于AM选择,所述 第四条件为:若在所述预置时间段内所述第一 AMR小于所述第二AMR,或在所述预置时间段 内所述第一 AMR等于所述第三AMR。
25. 根据权利要求18至24中任一项所述的设备,其特征在于,所述信息更新模块,还 用于若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR大于所述第二AMR时,根据所述 NAN Beacon帧对所述设备记录的所述第二AM信息和第二TSF信息进行更新。
26. 根据权利要求18至25中任一项所述的设备,其特征在于,所述信息更新模块,包 括: 第一 AMR更新子模块,用于将所述第二AMR的值更新为所述第一 AMR的值; 第一 HC更新子模块,用于将所述第二HC的值更新为所述第一 HC的值加1 ; 第一 AMBTT更新子模块,用于若所述NAN Beacon帧由AM发送,将所述第二AMBTT的值 更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,将所述 第二AMBTT的值更新为所述第一 AMBTT ; TSF更新子模块,用于将所述第二TSF信息的取值更新为所述第一 TSF信息的取值。
27. 根据权利要求18至26中任一项所述的设备,其特征在于,所述信息更新模块,还用 于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR等于所述第二AMR时,若所述第一 AMBTT大于所述第二AMBTT,或,所述第一 AMBTT等于所述第二AMBTT且所述第一 HC小于所 述第二HC减1时,根据所述NAN Beacon帧对所述设备记录的所述第二AM信息的部分信息 或全部信息以及所述第二TSF信息进行更新。
28. 根据权利要求27所述的设备,其特征在于, 若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第二AMR,且所述第一 AMBTT大于所述第二AMBTT时,所述信息更新模块,包括: 第一 HC更新子模块,用于将所述第二HC的值更新为所述第一 HC的值加1 ; 第一 AMBTT更新子模块,用于若所述NAN Beacon帧由AM发送,将所述第二AMBTT的值 更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM发送,将所述 第二AMBTT的值更新为所述第一 AMBTT ; TSF更新子模块,用于将所述第二TSF信息的取值更新为所述第一 TSF信息的取值; 若所述NAN Beacon巾贞用于AM选择,当所述第一 AMR等于所述第二AMR时,则当所述第 一 AMBTT等于所述第二AMBTT,且所述第一 HC小于所述第二HC减1时,所述信息更新模块, 包括: 第一 HC更新子模块,用于将所述第二HC的值更新为所述第一 HC的值加1 ; TSF更新子模块,用于将所述第二TSF信息的取值更新为所述第一 TSF信息的取值。
29. 根据权利要求18至28中任一项所述的设备,其特征在于,所述设备还包括以下模 块中的至少一个: 信标帧忽略模块,用于若所述NAN Beacon帧用于AM选择,则当所述第一 AMR等于所述 第二AMR,且所述第一 HC大于或等于所述第二HC时,忽略所述NAN Beacon帧携带的第一 AM 信息; 第一更新模块,用于若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞不是由AM 发送,则当所述第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述第 一 AMBTT大于所述第二AMBTT时,将所述第二AMBTT的值更新为所述第一 AMBTT,将所述第 二TSF信息的取值更新为所述第一 TSF信息的取值; 第二更新模块,用于若所述NAN Beacon巾贞用于AM选择,且所述NAN Beacon巾贞是由AM 发送,则当所述第一 AMR等于所述第二AMR,且所述第一 HC等于所述第二HC减1,且所述第 一 TSF信息的预置字节的取值大于所述第二AMBTT时,将所述第二AMBTT的值更新为所述 第一 AMBTT,将所述第二TSF信息的取值更新为所述第一 TSF信息的取值; 第三更新模块,用于若所述NAN Beacon巾贞用于AM选择,则当所述第一 AMR等于所述第 二AMR,且所述第一 HC小于所述第二HC减1时,若所述NAN Beacon帧由AM发送,将所述第 二AMBTT的值更新为所述第一 TSF信息的预置字节的取值,若所述NAN Beacon帧不是由AM 发送,将所述第二AMBTT的值更新为所述第一 AMBTT,将所述第二TSF信息的取值更新为所 述第一 TSF信息的取值,将所述第二HC的值更新为所述第一 HC的值加1。
30. 根据权利要求18至29中任一项所述的设备,其特征在于,所述角色转换模块,还用 于当所述第二TSF信息的取值减去所述第二AMBTT后的差值大于预置的传输时间阈值时, 将所述设备的角色转换为AM。
31. 根据权利要求18至30中任一项所述的设备,其特征在于,当所述设备不是AM,且 所述设备的MR发生过更新时,所述角色转换模块,还用于当所述设备更新后的MR大于所述 第二AMR时,将所述设备的角色转换为AM。
32. 根据权利要求18至31中任一项所述的设备,其特征在于,所述角色转换模块,包 括: 第二AMR更新子模块,用于将所述第二AMR的值更新为所述设备的MR的值; 第二HC更新子模块,用于将所述第二HC的值更新为0 ; 第二AMBTT更新子模块,用于将所述第二AMBTT的值更新为所述第二TSF信息的预置 字节的取值。
33. 根据权利要求18至31中任一项所述的设备,其特征在于,所述角色转换模块,包 括: 第二AMR更新子模块,用于将所述第二AMR的值更新为所述设备的MR的值; 第二HC更新子模块,用于将所述第二HC的值更新为0 ; 第二AMBTT更新子模块,用于将所述第二AMBTT的值更新为0x00000000。
34. 根据权利要求18至33中任一项所述的设备,其特征在于,当所述设备为AM时,所 述设备,还包括: 角色保持模块,用于当所述设备的MR发生过更新时,保持AM的角色,将记录的所述第 二AMR更新为所述设备更新后的MR的值。
【文档编号】H04W56/00GK104053227SQ201410301914
【公开日】2014年9月17日 申请日期:2014年6月27日 优先权日:2013年12月2日
【发明者】杜振国, 杨云松, 方平 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1