检测蓝牙网格网络中的关键链路的制作方法

文档序号:26013776发布日期:2021-07-23 21:35阅读:72来源:国知局
检测蓝牙网格网络中的关键链路的制作方法

本发明一般地涉及无线通信网络,并且更具体地,涉及对诸如蓝牙网格网络(meshnetwork)之类的网格网络中的数据消息转发的改进。



背景技术:

蓝牙tm通常指一组标准化的技术,其可用于使用2.4ghzism频带中的无线电发送和接收在短距离内的设备之间交换数据。蓝牙标准的颁布和管理由蓝牙sig的各个委员会完成,蓝牙sig的成员超过30,000家公司。

蓝牙低功耗(le)是蓝牙技术的特定版本,其最初由蓝牙sig在2010年进行了标准化。蓝牙le通常针对低功率应用,与例如更传统的蓝牙应用相比,这些应用可以容忍更低速率的通信。此外,蓝牙le适合于受内存和计算资源限制的廉价设备。

即使如此,蓝牙le仍然利用在40个信道上发送数据的稳健跳频扩频方法。此外,符合蓝牙le的无线电包括多个物理层(phy)选项(支持从125kb/s到2mb/s的数据速率)、多个功率级别(从1mw到100mw)以及多个安全选项。

蓝牙le还支持多种网络拓扑,包括用于在两个设备之间建立一对一(1:1)通信的常规点到点拓扑。此外,蓝牙le支持广播(一对多或1:m)设备通信。广播拓扑可以被用于局部化信息共享和定位服务,例如零售兴趣点信息、室内导航和寻路以及物品/资产跟踪。

最后,蓝牙le支持可以被用于建立多对多(m:m)设备通信的网格拓扑。基于蓝牙le的网格拓扑使能创建大规模设备网络,例如用于控制、监视和自动化系统,其中数十、数百或数千个设备需要可靠并安全地彼此通信。在蓝牙le网格拓扑中,网格网络中的每个设备潜在地可以与网格网络中的每个其他设备进行通信。通信是使用消息来实现的,并且设备可以将消息中继到其他设备,以使得端到端通信范围扩展到远超出每个个体设备的无线电范围。

作为蓝牙le网格网络的一部分的设备被称为“节点”,而不是网格的一部分的其他设备(例如即使在网格范围内)被称为“未被供应的设备”。将未被供应的设备转变成节点的过程被称为供应(provisioning)。这是一个安全过程,其导致未被供应的设备拥有一系列加密密钥,并且对于供应者设备(例如平板电脑或智能电话)是已知的。供应者是负责将节点添加到网络并配置该节点的行为的设备。

如上所述,蓝牙网格网络中的通信是“面向消息的”,并且定义了各种消息类型。例如,当一个节点需要查询其他节点的状态或需要以某种方式控制其他节点时,它可以发送合适类型的消息。如果一个节点需要向其他节点报告它的状态,则它可以发送合适类型的消息。消息必须从一个地址被发送到另一个地址。蓝牙网格拓扑支持三种不同类型的地址。单播地址唯一地标识单个单元(例如设备可以包括一个或多个单元),并且单播地址在供应过程中被分配给设备。组地址是表示一个或多个单元的多播地址。虚拟地址可以跨越一个或多个节点被分配给一个或多个单元。

为了进一步促进在网格网络拓扑中使用蓝牙le,蓝牙sig在2017年7月颁布了网格简档规范。图1示出了由蓝牙sig规定的基于蓝牙le的示例性分层网格架构。顶部是模型层,其定义了被用于使典型用户场景的操作标准化的模型,例如用于照明和传感器的模型。在其他蓝牙规范(包括蓝牙网格模型规范)中进一步定义了模型层。基础模型层定义了配置和管理网格网络所需的状态、消息和模型。访问层定义了高层应用可如何使用上传输层。它定义了应用数据的格式;它定义并控制在上传输层中执行的应用数据加密和解密;以及它检查在将传入应用数据转发到更高层之前,传入应用数据是否已在正确的网络和应用密钥的上下文中被接收。

传输层被细分成上传输层和下传输层。上传输层对应用数据进行加密、解密和验证,并且被设计为提供访问消息的机密性。它还定义了如何使用传输控制消息来管理节点之间的上传输层,包括何时由“好友”特征使用。下传输层定义了上传输层消息如何被分段并被重新组装成多个下传输协议数据单元(pdu),以将大型上传输层消息传送到其他节点。它还定义了用于管理分段和重新组装的单个控制消息。

网络层定义了传输消息如何被寻址到一个或多个单元。它定义了允许传输pdu要由承载层来传输的网络消息格式。网络层决定是中继/转发消息,接受消息以进行进一步处理还是拒绝消息。它还定义了网络消息如何被加密和验证。承载层定义了网络消息如何在节点之间被传输。定义了两种承载,即,通告(advertising)承载和gatt承载。

在图1所示的示例性架构的底部是蓝牙le无线电层。图2进一步示出了蓝牙网格联网如何与图1所示的蓝牙le架构集成。在图2中,使用阴影来指示作为蓝牙le规范的一部分的块或层。在底部是蓝牙le物理(phy)层和链路层,它们通常可以在蓝牙控制器中实现。链路层之上的层通常可以在蓝牙主机设备上实现。在图2的左侧是可以独立于网格联网功能而使用的蓝牙le高层。链路层之上的右侧的非阴影块与图1所示的网格联网架构(加上供应)相对应。以这种方式,应用(在图2的最上层示出)可以利用基础蓝牙le技术的网格功能和非网格功能两者。

当前,蓝牙网格联网是基于使用在一组共享信道(通告信道)上的广播的“洪泛”。在蓝牙网格网络中充当中继节点的节点扫描网格消息。当检测到消息并接收到消息时,节点检查它是否是消息的目的地。通过重传消息,消息可以在网格网络中被转发,以使得节点的邻居可以接收到该消息。借助于这种分布式机制,消息从网络中的一个节点被转发到一个或多个节点,以使得消息到达目的地。

如在蓝牙网格规范的版本1.0中规定的洪泛具有一些缺点,包括尤其是随着网络中的业务级别增加时增加的干扰和能耗。因此,期望蓝牙网格规范的后续版本实现用于将分组转发限制为仅沿着朝向预期接收者的特定路径发生的机制。期望这将减少转发无法帮助提高成功传送概率的方向上的业务量(并且因此减少提及的示例性缺点)。

一种用于构建源与一个或多个目的地之间的转发路径的已知技术是通过根据“无线自组网按需距离向量(aodv)”的路径发现,例如在由因特网工程任务组(ietf)发布的rfc3561中规定的。aodv可以在快速适应动态链路条件的情况下确定到无线自组网网络内的目的地的单播路由,同时需要相对低的处理和内存开销以及低网络利用率。此外,即使在路由控制消息的异常传送之后,aodv也使用目的地序列号来促进免于循环。

更具体地说,aodv方法借助于由始发者洪泛的路径请求(也被称为“路由请求”)消息和由目的地单播返回的路径回复(也被称为“路由回复”)消息来建立路径。接收路径回复消息的中间中继将路径信息存储在转发表中并且有权转发分组。序列号(也被称为“转发号”)随着每个新的路径请求消息的增加而增加,并且因此可以被用于将新的路径请求消息与已经在网络中被转发的路径请求消息的副本区分开。

蓝牙网格的一个特定特征是数据消息不包含显式的下一跳指示。如上所述,通过路径的始发者的地址与路径的目的地的地址的组合来标识路径。因此,接收消息并属于该路径的多个节点可以转发该消息。这提供了经由完全独立的冗余路径实现稳健的多路径通信的机会,这些冗余路径可以被遍历而不必将消息复制到每个下一跳目的地。此外,这些特征促进引入辅助中继节点以用于本地路径修复。

即使如此,无线(例如蓝牙)网格网络部署中的网络拓扑和传播条件可能限制这些冗余机制的可用性。例如,当给定链路存在于源节点与目的地节点之间的多个(例如潜在地所有)可能的通信路径中时,该链路被称为“关键链路”。这种关键链路的丢失影响网格网络的端到端可靠性,特别是蓝牙网格中的转发机制。



技术实现要素:

本公开的实施例例如通过提供用于检测关键链路的存在以及用于提供针对无线(例如蓝牙)网格网络启用附加冗余机制所必需的信令流的新颖技术,来提供对无线网格网络中的节点之间的通信的特定改进。以这种方式,实施例能够提高无线(例如蓝牙)网格网络的整体可靠性。此外,这种示例性实施例可以与用于蓝牙网格网络的现有路径发现机制完全兼容,以使得利用这些新颖技术的节点能够与同一蓝牙网格网络中未实现这种技术的其他传统节点共存和/或互通。

本公开的一些示例性实施例包括用于转发与在无线网格网络中的源节点与目的地节点之间的路径的发现相关的路径请求(preq)消息的方法和/或过程。所述示例性方法和/或过程可以由无线网格网络(例如蓝牙网格网络)中的中间节点(例如用户设备、无线设备、iot设备、蓝牙低功耗ble设备等、或其组件)来执行。

所述示例性方法和/或过程可以包括接收与所述源节点与所述目的地节点之间的路径的发现相关的第一preq消息。所述示例性方法和/或过程还可以包括确定在接收到所述第一preq消息之后的预定时长内是否接收到与所述路径的发现相关的其他preq消息。所述示例性方法和/或过程还可以包括如果确定在所述预定时长内未接收到与所述路径的发现相关的其他preq消息,则在与所述源节点与所述目的地节点之间的所述路径相关联的发现表条目中设置第一关键标志。

在一些实施例中,所述发现表中的所述第一关键标志可以指示所述中间节点可以是所述路径中的关键链路的一部分。在一些实施例中,所述第一关键标志的设置还可以基于以下条件之一:1)确定被存储在所述中间节点中的转发表包括与所述源节点与所述目的地节点之间的路径相对应的条目,并且所述条目包括具有指示所述中间节点是所述路径中的关键链路的一部分的值的第二关键标志;或者2)确定所述转发表不包括与所述源节点与所述目的地节点之间的路径相对应的条目。

所述示例性方法和/或过程还可以包括将所述preq消息转发到所述无线网格网络中的一个或多个其他节点。在一些实施例中,所述示例性方法和/或过程还可以包括在转发所述preq消息之前,设置所述preq消息包括的标志的值以指示所述转发表不包括与所述源节点与所述目的地节点之间的路径相对应的条目。在一些实施例中,所述示例性方法和/或过程还可以包括如果确定在所述预定时长内接收到与所述路径的发现相关的其他preq消息,则将所述preq消息转发到所述无线网格网络中的一个或多个其他节点而不设置所述第一关键标志。

本公开的其他示例性实施例包括用于转发与在无线网格网络中的源节点与目的地节点之间的路径的发现相关的路径回复(prep)消息的方法和/或过程。所述示例性方法和/或过程可以由所述无线网格网络(例如蓝牙网格网络)中的中间节点(例如用户设备、无线设备、iot设备、蓝牙低功耗ble设备等或其组件)来执行。

这些示例性方法和/或过程可以包括接收与所述源节点与所述目的地节点之间的路径的发现相关的第一prep消息。在一些实施例中,所述示例性方法和/或过程还可以包括响应于接收到所述第一prep消息,在被存储在所述中间节点中的转发表中创建与所述路径相关联的条目。

所述示例性方法和/或过程还可以包括确定被存储在所述中间节点中的发现表中的条目是否包括具有指示所述中间节点是所述路径中的关键链路的一部分的值的第一关键标志。所述示例性方法和/或过程还可以包括如果确定所述第一关键标志具有指示所述中间节点是所述路径中的关键链路的一部分的值,则在将所述第一preq消息转发到所述无线网格网络中的一个或多个其他节点之前,在所述第一prep消息中设置第二关键标志。在一些实施例中,如果确定所述第一关键标志具有指示所述中间节点不是所述路径中的关键链路的一部分的值,则所述示例性方法和/或过程可以包括将所述第一preq消息转发到所述无线网格网络中的一个或多个其他节点而不设置所述第二关键标志。

在一些实施例中,所述示例性方法和/或过程还可以包括如果确定所述第一关键标志具有指示所述中间节点是所述路径中的关键链路的一部分的值,则在被存储在所述中间节点中的转发表的与所述路径相关联的条目中设置目的地关键标志。在一些实施例中,所述示例性方法和/或过程还可以包括如果确定所述第二关键标志具有指示所述中间节点是所述路径中的关键链路的一部分的值,则增加网络层协议数据单元(pdu)在所述关键链路上的重传次数。

在一些实施例中,每个所述路径请求包括无线自组网按需距离向量(aodv)路由请求(rreq)消息,并且所述路径回复包括aodv路由回复(rrep)消息。在一些实施例中,所述无线网格网络是蓝牙网格网络,并且所述示例性方法和/或过程是由蓝牙低功耗节点来执行的。

其他示例性实施例包括节点(例如,用户设备、无线设备、iot设备、蓝牙低功耗设备等或其组件),其被配置为执行与上述示例性方法和/或过程中的各个方法和/或过程相对应的操作。其他示例性实施例包括存储程序指令的非瞬时性计算机可读介质,所述程序指令在由至少一个处理器执行时配置这种节点以执行与上述示例性方法和/或过程相对应的操作。

在阅读本公开的示例性实施例的以下详细描述时,本公开的示例性实施例的这些和其他目标、特征和优点将变得显而易见。

附图说明

图1示出了由蓝牙sig规定的基于蓝牙le的示例性分层网格架构;

图2进一步示出了蓝牙网格联网如何与图1所示的蓝牙le架构集成;

图3示出了包括源节点、目的地节点以及六个中间(中继)节点的示例性网格网络;

图4示出了示例性路径请求(preq)消息的格式;

图5示出了示例性路径回复(prep)消息的格式;

图6示出了说明根据本公开的示例性实施例的由接收路径请求(preq)消息的中间(例如中继)节点执行的示例性方法和/或过程的流程图;

图7示出了说明根据本公开的示例性实施例的由接收路径回复(prep)消息的中间(例如中继)节点执行的示例性方法和/或过程的流程图;

图8示出了根据本公开的一个或多个示例性实施例的用于转发与在无线网格网络中的源节点与目的地节点之间的路径的发现相关的路径请求(preq)消息的示例性方法和/或过程的流程图;

图9示出了根据本公开的一个或多个示例性实施例的用于转发与在无线网格网络中的源节点与目的地节点之间的路径的发现相关的路径回复(prep)消息的示例性方法和/或过程的流程图;

图10示出了根据本公开的各种实施例的示例性无线网格设备或节点的框图。

具体实施方式

如上简述,源节点与目的地节点之间的关键链路的存在限制了蓝牙网格联网中的可用冗余机制的能力。图3示出了包括源节点、目的地节点、以及六个中间(或中继)节点的示例性网格网络。如图3所示,中继节点被标记为1-4和a-b。如图3中的实线进一步所示,在源节点与目的地节点之间存在两个路径,一个遍历中继节点{1、a、b、3},而另一个遍历中继节点{2、a、b、4}。虚线示出了路径请求消息在整个网格网络中的传播。因为链路a-b是两个路径的一部分,所以它是关键链路,以使得两个路径不是独立的。图3表示其中源节点和目的地节点位于建筑物的不同区域中并通过走廊互连的场景。

如果关键链路a-b不再可用,则源节点与目的地节点之间的路径不再可用。此外,使用辅助中继节点进行本地路径修复需要存在与a和b两者相邻的中间节点,该中间节点在图3所示的拓扑中不存在。实际上,当前在蓝牙网格中没有定义用于检测诸如图3所示的a-b之类的关键链路的存在(并且对之做出反应)的机制。

因此,本公开的示例性实施例提供了用于检测关键链路的存在以及提供针对无线(例如蓝牙)网格网络启用附加冗余机制所必需的信令流的新颖技术。例如,可以通过在中间节点处确定多少个邻居节点正在通过该中间节点将消息从源节点转发到目的地节点来识别关键链路。当仅检测到一个邻居节点时,网格网络可以启用附加可靠性机制(例如增加朝向源的重传次数),并且可以通知单个邻居节点以使得单个邻居节点也可以针对朝向目的地的消息使用相同的附加可靠性机制。此外,单个转发邻居节点的检测还可以触发冗余路径发现机制。

以这种方式,示例性实施例提高了无线(例如蓝牙)网格网络的整体可靠性。此外,这种示例性实施例与用于蓝牙网格技术的现有路径发现机制完全兼容,以使得利用这些新颖技术的节点可以与同一个蓝牙网格网络中未实现这种技术的其他传统节点共存和/或互通。例如,当中间节点检测到与邻居节点的关键链路时,补救措施涉及仅在关键链路的这两个节点之间信令发送消息。

某些示例性实施例包括与诸如aodv之类的现有路径发现机制一起使用的增强和/或补充技术,如下面在图3所示的示例性网格网络的上下文中进一步解释的那样。更具体地说,图3中的源节点可以通过发送具有新生成的转发或序列号的路径请求消息来建立到目的地节点的第一路径。例如,如果源节点先前不知道目的地节点,则可能发生这种情况。回想一下,图3中的虚线示出了路径请求消息在整个网格网络中的传播。

图4示出了示例性路径请求消息的格式。特别地,图4所示的示例性格式与在rfc3561中规定的aodv路由协议中使用的路由请求(rreq)消息相对应。在这种格式中,源节点生成新的序列号并将其插入到路径请求消息的始发者序列号(osn)字段中,并且根据需要使用相关值来填充其他消息字段。图4所示的格式中的最上面32位字包括“跳计数”字段和“保留”字段。

第一路径请求在被一个或多个中间节点转发之后被目的地节点接收,其中每个转发节点递增“跳计数”值。因此,当路径请求到达目的地节点时,“跳计数”表示源节点与目的地节点之间的距离(以“跳”为单位)。此外,由于网格拓扑,目的地节点可以接收到同一路径请求的多个版本,每个版本已遍历了不同的中间节点路径。随后,通过目的地节点经由最佳路径将路径回复发送回始发者来建立第一路径,目的地节点可以以各种方式来选择最佳路径。例如,目的地节点可以基于哪个所接收的路径请求包括最低“跳计数”值来选择最佳路径。

当“最佳路径”中的中间节点接收到该路径回复时,它们在它们的相应的转发表中存储对应的路径信息,其中包括转发号或序列号。图5示出了示例性路径回复消息的格式。特别地,图5所示的格式与在rfc3561中规定的aodv路由协议中使用的路由回复(rrep)消息相对应。在图5所示的格式中,“目的地序列号”可以与路径请求消息的序列号相对应,以使得接收路径回复的中间节点可以将该路径回复与较早接收的路径请求相关联。注意,图5所示的格式中的最上面32位字还包括“跳计数”字段和“保留”字段。与上面讨论的路径请求消息一样,沿着“最佳路径”的中间节点在转发路径回复消息时递增“跳计数”值。最终,源节点接收到该路径回复,并将与到目的地节点的第一路径有关的信息存储在它的路由表中。例如,第一路径可以经由中继节点{1、a、b、3}来建立。

但是,根据某些示例性实施例,在转发所接收的路径请求消息之前,中间节点可以对与特定路径发现(例如涉及特定源节点和特定目的地节点)相关联的所接收的不同路径请求消息的数量进行计数,然后转发路径请求消息。如果仅检测到单个路径请求消息,则中间节点可能是该路径的关键链路的一部分。例如,在蓝牙网格网络的上下文中,可以通过以下方式来识别用于同一同路径发现的不同路径请求消息:存在相同的路径始发者(po)和始发者序列号(osn)字段,但是路径请求消息的网络pdu的(src)字段中的地址不同。

随后,在接收到与路径请求消息相关联的路径回复消息后,节点可以将自身识别为关键链路的一部分,并且可以向邻居中间节点(即,从其接收单个路径请求消息的节点)通知该邻居中间节点也是路径中的关键链路的一部分。这可以例如通过在被转发到邻居节点的路径回复消息中设置标志来完成。

通过引用并入本文的相关美国临时申请62/719,247公开了用于在无线网格网络中的源节点与目的地节点之间建立冗余路径的示例性技术。在这些先前公开的技术中,具有用于源-目的地对的转发表条目的节点不参与该路径的后续路径发现过程。本公开的示例性实施例能够与先前公开的技术结合使用,使得作为关键链路的一部分的节点能够参与与同一源-目的地对相关联的后续发现,而与转发表条目的存在无关。

图6示出了说明根据本公开的示例性实施例的由接收路径请求(preq)消息的中间(例如中继)节点执行的示例性方法和/或过程的流程图。该示例性方法和/或过程可以由无线网格网络(例如蓝牙网格网络)中的中间节点(例如用户设备、无线设备、iot设备、蓝牙低功耗设备等或其组件)来执行。例如,图6所示的示例性方法和/或过程可以例如在根据图10(下面描述)来配置的节点中实现。此外,图6所示的示例性方法和/或过程可以与其他附图(包括但不限于图7)所示的示例性方法和/或过程协作使用,以提供本文描述的各种示例性优势。此外,尽管图6以特定顺序示出了方框,但是该顺序仅是示例性的,并且该示例性方法和/或过程的操作可以以与图6所示不同的顺序来执行,并且可以被合并成和/或划分成具有不同功能的方框。

图6所示的方法和/或过程的示例性实施例可以包括方框610的操作,其中节点可以接收与特定源-目的地节点对之间的路径发现相关联的preq消息。在方框620中,节点可以确定在预定时长内是否接收到与该特定节点对相关联的任何附加的(例如,不同的)preq消息。例如,节点可以对在预定时长内与节点对相关联的所接收的不同preq消息进行计数。在预定时长结束之后,操作继续到方框630,其中节点确定是否存在与该节点对相关联的转发表条目。如果是肯定的确定(“是”),则操作继续到方框640,其中节点确定是否针对该转发表条目设置了关键标志。如果该确定是否定的(“否”),则与节点对相关联的所接收的preq消息被丢弃(方框650)。

另一方面,如果方框630中的确定是否定的(“否”)或方框640中的确定是肯定的(“是”),则操作继续到方框660,其中节点可以确定在预定时长内接收的与节点对相关联的preq消息的数量(例如在方框620中)是否等于1。如果确定是否定的(“否”),则操作继续到方框680,其中节点根据正常洪泛操作来转发所接收的preq消息。另一方面,如果确定是肯定的(“是”),则操作首先继续到方框670,其中节点可以在转发所接收的preq消息之前在发现表条目中设置关键标志。

图7示出了说明根据本公开的示例性实施例的由接收路径回复(prep)消息的中间(例如中继)节点执行的示例性方法和/或过程的流程图。该示例性方法和/或过程可以由无线网格网络(例如蓝牙网格网络)中的中间节点(例如用户设备、无线设备、iot设备、蓝牙低功耗设备等或其组件)来执行。例如,图7所示的示例性方法和/或过程可以例如在根据图10(下面描述)来配置的节点中实现。此外,图7所示的示例性方法和/或过程可以与其他附图(包括但不限于图6)所示的示例性方法和/或过程协作使用,以提供本文描述的各种示例性优势。此外,尽管图7以特定顺序示出了方框,但是该顺序仅是示例性的,并且该示例性方法和/或过程的操作可以以与图7所示不同的顺序来执行,并且可以被合并成和/或划分成具有不同功能的方框。

图7所示的方法和/或过程的示例性实施例可以包括方框710的操作,其中节点可以接收与特定源-目的地节点对之间的路径发现相关联的prep消息。在方框720中,节点向它的转发表中添加与特定节点对相关联的条目。在方框730中,节点可以确定在所接收的prep消息中是否设置了关键标志。如果确定是否定的(“否”),则操作直接继续到方框750。另一方面,如果确定是肯定的(“是”),则操作首先继续到方框740,其中节点可以在方框720中添加的转发表条目中设置源关键标志。

在方框750中,节点可以确定在与特定源-目的地节点对相关联的发现表条目中是否设置了关键标志。例如,节点可以确定在该发现表条目中是否先前设置了关键标志。如果确定是否定的(“否”),则操作继续到方框780,其中节点可以将所接收的prep消息转发到在发现表条目中标识的邻居节点。另一方面,如果确定是肯定的(“是”),则方框760-770的操作在方框780的操作之前被执行。更具体地说,在方框760中,节点可以在方框720中添加的转发表条目中设置目的地关键标志,以及在方框770中,节点可以在方框780中转发的prep消息中设置关键标志。

基于中间节点a和b都实现上述示例性方法和/或过程的假设,可以在图3的上下文中进一步说明这种方法和/或过程的操作。在这种情况下,节点a接收与源-目的地节点对相关联的多个preq消息,以及根据现有发现机制来传播它的preq消息。但是,节点b在预定时长内从a接收到仅一个preq消息,该preq消息指示a与b之间的链路是关键的(例如,从源节点到节点b的唯一路径通过节点a)。作为响应,节点b在它的与该路径相关联的发现表条目中设置关键标志,以及传播preq消息。

目的地节点在候选路径中选择最佳路径并且发送prep消息。当节点b接收到prep消息时,节点b检查发现表条目中的关键标志,并相应地在转发表条目中设置目的地关键标志以及在传出prep消息中设置关键标志。当节点a接收到设置了关键标志的prep消息时,节点a可以根据网格网络中的现有发现机制在转发表条目中设置源关键标志并传播路径回复。如果目的地节点随后尝试建立附加路径(例如使用在相关申请中公开的冗余路径机制),则节点a和b将因此参与路径发现过程,因为它们的链路被标记为关键,尽管已经作为使得附加节点仍然能够被添加到路径中的一部分。

在一些示例性实施例中,基于节点是关键链路的一部分的确定(例如使用由图6和/或7所示的技术),节点可以配置一种机制来增加该关键链路的可靠性。例如,节点可以增加网络层协议数据单元(pdu)在包括关键链路的源-目的地路径上的重传次数。换句话说,如果同一链路是源节点与目的地节点之间的多个路径的一部分,则该链路的任何一端上的中间节点可以增加在多个路径中的每一个上被发送的信息的冗余度。

在一些示例性实施例中,节点可以在转发之前在preq消息中包括附加标志(被称为“唯一标志”)。例如,节点可以在“唯一标志”中插入“1”以指示节点没有对应的转发表条目。如果节点确实具有对应的转发表条目,则节点可以在转发之前保持“唯一标志”不变。后续中间节点可以以类似方式操纵(或不操纵)“唯一标志”。因此,接收到这种preq的目的地节点可以基于相应的“唯一标志”中的值(例如至少一个preq将“唯一标志”设置为“1”)来确定到源节点的冗余路径是否可以被建立。

在一些示例性实施例中,基于节点是关键链路的一部分的确定(例如使用由图6和/或7所示的技术),并且在检测到关键链路不可靠(例如接收信号强度不足、过多干扰等)后,节点可以直接发出路径错误消息而不是发起路径辅助操作。换句话说,基于链路关键性确定,节点假设不存在候选链路,并且因此不会在建立辅助节点上浪费时间或无线电资源。

图8示出了用于转发与在无线网格网络中的源节点与目的地节点之间的路径的发现相关的路径请求(preq)消息的示例性方法和/或过程的流程图。该示例性方法和/或过程可以由无线网格网络(例如蓝牙网格网络)中的中间(例如中继)节点(例如用户设备、无线设备、iot设备、蓝牙低功耗设备等或其组件)来执行。例如,图8所示的示例性方法和/或过程可以例如在根据图10(下面描述)来配置的节点中实现。此外,图8所示的示例性方法和/或过程可以与其他附图(包括但不限于图9)所示的示例性方法和/或过程协作使用,以提供本文描述的各种示例性优势。此外,尽管图8以特定顺序示出了方框,但是该顺序仅是示例性的,并且该示例性方法和/或过程的操作可以以与图8所示不同的顺序来执行,以及可以被合并成和/或划分成具有不同功能的方框。可选方框或操作由虚线显示。

图8所示的方法和/或过程的示例性实施例可以包括方框810的操作,其中,中间节点可以接收与源节点与目的地节点之间的路径的发现相关的第一preq消息。该示例性方法和/或过程还可以包括方框820的操作,其中,中间节点可以确定在接收到第一preq消息之后的预定时长内是否接收到与路径的发现相关的其他preq消息。

该示例性方法和/或过程还可以包括方框830的操作,其中,如果确定在预定时长内未接收到与路径的发现相关的其他preq消息,则中间节点可以在与源节点与目的地节点之间的路径相关联的发现表条目中设置第一关键标志。在一些实施例中,发现表中的第一关键标志可以指示中间节点可以是路径中的关键链路的一部分。在一些实施例中,中间节点还可以使第一关键标志的设置基于以下条件之一(方框832):1)确定被存储在中间节点中的转发表包括与源节点与目的地节点之间的路径相对应的条目,并且该条目包括具有指示中间节点是路径中的关键链路的一部分的值的第二关键标志;或者2)确定转发表不包括与源节点与目的地节点之间的路径相对应的条目。

该示例性方法和/或过程还可以包括方框840的操作,其中,中间节点可以将preq消息转发到无线网格网络中的一个或多个其他节点。在一些实施例中,该示例性方法和/或过程还可以包括方框842的操作,其中,中间节点可以在转发preq消息之前,设置preq消息包括的标志的值以指示转发表不包括与源节点与目的地节点之间的路径相对应的条目。在一些实施例中,该示例性方法和/或过程还可以包括方框844的操作,其中,如果确定在预定时长内接收到与路径的发现相关的其他preq消息,则中间节点可以将preq消息转发到无线网格网络中的一个或多个其他节点而不设置第一关键标志。

在一些实施例中,路径请求包括无线自组网按需距离向量(aodv)路由请求(rreq)消息,而路径回复包括aodv路由回复(rrep)消息。在一些实施例中,该无线网格网络是蓝牙网格网络,并且该示例性方法和/或过程是由蓝牙低功耗节点来执行的。

图9示出了用于转发与无线网格网络中的源节点与目的地节点之间的路径的发现相关的路径回复(prep)消息的示例性方法和/或过程的流程图。该示例性方法和/或过程可以由无线网格网络(例如蓝牙网格网络)中的中间(例如中继)节点(例如用户设备、无线设备、iot设备、蓝牙低功耗设备等或其组件)来执行。例如,图9所示的示例性方法和/或过程可以例如在根据图10(下面描述)来配置的节点中实现。此外,图9所示的示例性方法和/或过程可以与其他附图(包括但不限于图8)所示的示例性方法和/或过程协作使用,以提供本文描述的各种示例性优势。此外,尽管图9以特定顺序示出了方框,但是该顺序仅是示例性的,并且该示例性方法和/或过程的操作可以以与图9所示不同的顺序来执行,并且可以被合并成和/或划分成具有不同功能的方框。可选方框或操作由虚线显示。

图9所示的方法和/或过程的示例性实施例可以包括方框910的操作,其中,中间节点可以接收与源节点与目的地节点之间的路径的发现相关的第一prep消息。在一些实施例中,该示例性方法和/或过程还可以包括方框915的操作,其中,中间节点可以响应于接收到第一prep消息,在被存储在中间节点中的转发表中创建与路径相关联的条目。

该示例性方法和/或过程还可以包括方框920的操作,其中,中间节点可以确定被存储在中间节点中的发现表中的条目是否包括具有指示中间节点是路径中的关键链路的一部分的值的第一关键标志。该示例性方法和/或过程还可以包括方框930的操作,其中,中间节点还可以包括方框930的操作,其中,如果确定第一关键标志具有指示中间节点是路径中的关键链路的一部分的值,则中间节点可以在将第一preq消息转发到无线网格网络中的一个或多个其他节点之前,在第一prep消息中设置第二关键标志。在一些实施例中,该示例性方法和/或过程还可以包括方框932的操作,其中,如果确定第一关键标志具有指示中间节点不是路径中的关键链路的一部分的值,则中间节点可以将第一preq消息转发到无线网格网络中的一个或多个其他节点而不设置第二关键标志。

在一些实施例中,该示例性方法和/或过程还可以包括方框940的操作,其中,如果确定第一关键标志具有指示中间节点是路径中的关键链路的一部分的值,则中间节点可以在被存储在中间节点中的转发表的与路径相关联的条目中设置目的地关键标志。在一些实施例中,该示例性方法和/或过程还可以包括方框950的操作,其中,如果确定第二关键标志具有指示中间节点是路径中的关键链路的一部分的值,则中间节点可以增加网络层协议数据单元(pdu)在关键链路上的重传次数。

在一些实施例中,每个路径请求包括无线自组网按需距离向量(aodv)路由请求(rreq)消息,而路径回复包括aodv路由回复(rrep)消息。在一些实施例中,该无线网格网络是蓝牙网格网络,并且该示例性方法和/或过程是由蓝牙低功耗节点来执行的。

尽管以上在方法、装置、设备、计算机可读介质和接收机的方面描述了各种实施例,但是普通技术人员将容易理解,这种方法可以由各种系统、通信设备、计算设备、控制设备、装置、非瞬时性计算机可读介质等中的硬件和软件的各种组合来体现。图10示出了根据本公开的各种实施例的示例性无线网格设备或节点1000的框图。例如,可以通过执行被存储在计算机可读介质上的指令来配置示例性节点1000,以执行与上述一个或多个示例性方法和/或过程相对应的操作。

示例性节点1000可以包括一个或多个处理器1010,处理器1010可以经由地址和数据总线、串行端口或本领域技术人员公知的其他方法和/或结构在操作上被连接到一个或多个存储器1020。存储器1020包括由处理器1010执行的软件代码或程序,这些软件代码或程促进、导致示例性节点1000执行各种操作和/或对示例性节点1000进行编程以执行各种操作。

如图10所示,存储器1020可以包括应用1060(例如应用代码)和网格联网协议栈1070,网格联网协议栈1070还可以包括中间层和上层1072以及下层1074。例如,协议栈1070可以包括蓝牙网格联网协议栈,例如图1和2所示并且在上面进行了更详细的描述。在这种情况下,下层1074可以包括蓝牙lephy和链路层,而蓝牙网格联网协议栈的其余部分包括中间层和上层1072。此外,协议栈1070可以包括软件代码,该软件代码在由处理器1010执行时配置节点1000以执行上述任何示例性方法和/或过程,包括图9至12所示的方法和/或过程。

在一些实施例中,存储器1020和处理器1010可以被细分成多个处理器和存储器,以使得特定存储器存储由特定处理器执行的用于下层1074的代码,而另一个存储器存储由另一个处理器执行的用于中间层和上层1072的代码。例如,在蓝牙网格联网实施例中,特定存储器和特定处理器可以用作蓝牙设备或控制器,而另一个存储器和另一个处理器可以用作蓝牙主机,并且两者之间具有主机-控制器接口(hci)。

示例性节点1000还包括无线电收发机1040,其被耦接到处理器1010并与处理器1010通信。无线电收发机1040包括发射机和接收机,它们可操作(例如与处理器1010结合)以在特定频率或频带下发送和接收无线信号。在蓝牙网格联网实施例中,无线电收发机1040可以被配置为在2.4ghzism频带中根据蓝牙le标准进行发送和接收。在一些实施例中,无线电收发机1040可以包括下层1074的多个部分,如图10所示。例如,在蓝牙网格联网实施例中,蓝牙le物理层可以由无线电收发机1040结合由处理器1010执行的软件代码来实现。此外,尽管未示出,但是无线电收发机1040可以包括促进在适当频带中的发送和接收的一个或多个天线。

在一些实施例中,节点1000还可以包括一个或多个单元1050a、1050b、1050c等,其可以提供与节点1000所在的物理环境的接口。例如,单元1050可以监视和/或收集与物理过程或机器的操作相关的数据。作为另一个示例,单元1050可以控制这种物理过程的一个或多个方面。因此,可能希望经由节点1000的网格联网功能将所收集的数据发送到远程源和/或从远程源接收控制命令。

这可以例如通过应用1060来完成,应用1060可以与网格联网栈1070和单元1050两者通信。应用1060与单元1050之间的这种逻辑通信在图10中以虚线示出。但是,在一些实施例中,可以经由介于单元1050与处理器1010之间的接口电路1030来执行应用1060与单元1050之间的物理通信(由实线示出)。

如本文所述,设备、节点和/或装置可以由半导体芯片、芯片组或包括这种芯片或芯片组的(硬件)模块来表示;但是,这并不排除以下可能性:设备、节点或装置的功能不是由硬件实现,而是被实现为软件模块,例如包括用于在处理器上执行或运行的可执行软件代码部分的计算机程序或计算机程序产品。此外,可以通过硬件和软件的任何组合来实现设备、节点或装置的功能。设备、节点或装置还可以被视为多个设备和/或装置的组件,无论在功能上是彼此协作还是彼此独立。此外,可以在整个系统中以分布式的方式实现设备、节点和装置,只要设备或装置的功能被保留即可。这种和类似的原理被认为是技术人员已知的。

以上仅示出了本公开的原理。鉴于本文的教导,对所描述的实施例的各种修改和改变对于本领域技术人员而言将显而易见。因此,将理解,本领域技术人员将能够设计许多的系统、布置和过程,尽管它们未在本文明确示出或描述,但是它们体现了本公开的原理并且因此可以在本公开的精神和范围内。如本领域普通技术人员应该理解的,各种不同的示例性实施例可以彼此一起使用以及与彼此互换使用。此外,在本公开(包括其说明书、附图和示例性实施例)中使用的特定术语可以在某些实例中被同义地使用,包括但不限于例如数据和信息。应该理解,尽管这些单词和/或可以彼此同义的其他单词在本文中可以被同义地使用,但是可以存在这种单词并非旨在被同义地使用的实例。此外,就现有技术知识在上文未通过引用而显式并入的程度而言,其全部内容在本文显式并入。引用的所有出版物的全部内容通过引用并入本文。

本文描述的技术和装置的示例实施例包括但不限于以下枚举条款:

条款1.一种由无线网格网络中的中间节点执行的用于转发与源节点与目的地节点之间的路径的发现相关的路径请求(preq)消息的方法,该方法包括:

接收与源节点与目的地节点之间的路径的发现相关的第一preq消息;

确定在接收到第一preq消息之后的预定时长内是否接收到与路径的发现相关的其他preq消息;

如果确定在预定时长内未接收到与路径的发现相关的其他preq消息,则在与源节点与目的地节点之间的路径相关联的发现表条目中设置第一关键标志;以及

将该preq消息转发到无线网格网络中的一个或多个其他节点。

条款2.根据条款1所述的方法,其中,发现表中的第一关键标志指示中间节点能够是路径中的关键链路的一部分。

条款3.根据条款1至2中任一项所述的方法,其中,在发现表中设置第一关键标志还基于以下条件之一:

确定被存储在中间节点中的转发表包括与源节点与目的地节点之间的路径相对应的条目,并且该条目包括具有指示中间节点是路径中的关键链路的一部分的值的第二关键标志;或者

确定转发表不包括与源节点与目的地节点之间的路径相对应的条目。

条款4.根据条款3所述的方法,还包括:在转发preq消息之前,设置preq消息包括的标志的值以指示转发表不包括与源节点与目的地节点之间的路径相对应的条目。

条款5.根据条款1至4中任一项所述的方法,其中,如果确定在预定时长内接收到与路径的发现相关的其他preq消息,则将preq消息转发到无线网格网络中的一个或多个其他节点而不设置第一关键标志。

条款6.根据条款1至5中任一项所述的方法,还包括基于确定以下项而丢弃第一preq消息:

转发表包括与源节点与目的地节点之间的路径相对应的条目;以及

该条目包括具有指示中间节点不是路径中的关键链路的一部分的值的第二关键标志。

条款7.根据条款1至6中任一项所述的方法,其中:

该路径请求包括无线自组网按需距离向量(aodv)路由请求(rreq)消息;以及

该路径回复包括aodv路由回复(rrep)消息。

条款8.根据条款1至7中任一项所述的方法,其中,该无线网格网络是蓝牙网格网络,并且该方法是由蓝牙低功耗节点来执行的。

条款9.一种由无线网格网络中的中间节点执行的用于转发与源节点与目的地节点之间的路径的发现相关的路径回复(prep)消息的方法,该方法包括:

接收与源节点与目的地节点之间的路径的发现相关的第一prep消息;

确定被存储在中间节点中的发现表中的条目是否包括具有指示中间节点是路径中的关键链路的一部分的值的第一关键标志;

如果确定第一关键标志具有指示中间节点是路径中的关键链路的一部分的值,则在将第一preq消息转发到无线网格网络中的一个或多个其他节点之前,在第一prep消息中设置第二关键标志。

条款10.根据条款9所述的方法,还包括:如果确定第一关键标志具有指示中间节点是路径中的关键链路的一部分的值,则在被存储在中间节点中的转发表的与路径相关联的条目中设置目的地关键标志。

条款11.根据条款9至10中任一项所述的方法,还包括:如果确定第一关键标志具有指示中间节点不是路径中的关键链路的一部分的值,则将第一preq消息转发到无线网格网络中的一个或多个其他节点而不设置第二关键标志。

条款12.根据条款9至11中任一项所述的方法,还包括:响应于接收到第一prep消息,在被存储在中间节点中的转发表中创建与路径相关联的条目。

条款13.根据条款9至12中任一项所述的方法,还包括:

确定所接收的第一prep消息包括的第二关键标志是否具有指示中间节点是路径中的关键链路的一部分的值;以及

如果确定第二关键标志具有指示中间节点是路径中的关键链路的一部分的值,则在被存储在中间节点中的转发表的与路径相关联的条目中设置源关键标志。

条款14.根据条款13所述的方法,还包括:如果确定第二关键标志具有指示中间节点是路径中的关键链路的一部分的值,则增加网络层协议数据单元(pdu)在关键链路上的重传次数。

条款15.根据条款9至14中任一项所述的方法,其中:

每个所接收的路径请求包括无线自组网按需距离向量(aodv)路由请求(rreq)消息;以及

路径回复包括aodv路由回复(rrep)消息。

条款16.根据条款9至15中任一项所述的方法,其中,该无线网格网络是蓝牙网格网络,并且该方法是由蓝牙低功耗节点来执行的。

条款17.一种无线网格网络中的节点,该无线网格网络包括一个或多个源节点、一个或多个目的地节点、以及多个中间节点,其中,该节点包括:

无线收发机;以及

处理电路,其在操作上被耦接到该无线收发机,该组合被配置为执行与根据条款1至16中任一项所述的方法相对应的操作。

条款18.一种存储计算机可执行指令的非瞬时性计算机可读介质,该计算机可执行指令在由无线网格网络中的节点包括的处理电路执行时配置该节点以执行与根据条款1至16中任一项所述的方法相对应的操作。

条款19.一种无线网格网络,包括:

一个或多个源节点,每个源节点包括无线收发机和处理电路,该处理电路在操作上被耦接并且被配置为执行路径发现操作;

一个或多个目的地节点,每个目的地节点包括无线收发机和处理电路,该处理电路在操作上被耦接并且被配置为执行路径发现操作;以及

多个中间节点,其在网格拓扑中互连并且被配置为在源节点与目的地节点之间转发消息,并且执行与根据条款1至16所述的任何方法相对应的操作。

条款20.一种包括多个节点的无线网格网络,每个节点包括无线收发机和处理电路,该处理电路在操作上被耦接并且被配置为执行以下中的至少一项:

与源节点相关联的路径发现操作;

与目的地节点相关联的路径发现操作;以及

与根据条款1至16所述的任何方法相对应的中间节点操作。

值得注意的是,受益于在前面的描述和关联附图中提供的教导,本领域技术人员将想到所公开的实施例的修改和其他实施例。因此,要理解的是,本公开的范围并不限于所公开的特定实施例,并且修改和其他变型旨在被包括在该范围内。尽管本文可以采用特定术语,但是它们仅用于一般和描述性的意义,而不是为了限制的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1