在维持父/子关系的同时切换PAN
文献发布时间:2023-06-19 09:57:26
技术领域
本发明涉及管理网状网络中的节点,并且特别地涉及在切换PAN时维持父/子(parent/child)关系。
背景技术
PAN架构在网络拓扑结构中可能具有滞后现象(hysteresis),以防止在网络中存在暂时中断(诸如,回传连接的暂时丢失)时发生抖动(thrashing)。然而,一些系统和设备不能容忍回传连接的暂时丢失,并且一旦回传连接变得不可用,就需要切换PAN。
通常,根节点不会惯常地将回传连接的状态传送到PAN中的其他节点。取而代之,每个节点必须通过发送上层消息并且从回传接收响应来确定回传连接的状态。由于节点在其加入PAN之前无法发送上层消息,因此节点无法在加入之前确定回传连接的状态。需要回传连接的节点可以加入PAN,并且然后确定回传连接不可用。
确定了其当前PAN的回传连接不可用的节点可以确定其需要切换PAN。然而,该节点可能不具有对另一个PAN的直接可见性,这可能会使至不同PAN的切换延迟。
当节点切换PAN时,任何子节点通过找到新的父节点来与当前PAN保持在一起,或者通过不加入当前PAN而加入新PAN来切换到该新PAN。该过程是耗时的,并且使得子节点不可用,直到它定位了新的父节点或完成该不加入/加入过程为止。
发明内容
本发明的方面提供了对节点确定回传连接的状态并且加入或切换到具有可用回传连接的PAN的方式的改进。本发明的附加方面提供了当节点具有子节点时切换PAN的更有效的方式。无论切换的原因如何,节点在其进行切换时都可以带着其子节点一起。
节点可以在加入PAN之前考虑回传连接的状态。该节点可能是需要可用回传连接的关键节点。回传连接的状态可以被包括在层2消息(诸如,信标)中。在一个示例中,回传状态信息被包括在信标中的信息元素中。
一旦关键节点加入PAN,就可以建立从该关键节点到PAN的根的关键路径。在一个示例中,层3消息(诸如,DAO消息)用于建立关键路径。在当前PAN的回传连接变得不可用时,沿着关键路径的节点可以寻求加入新PAN。
当节点切换到新PAN时,它可以将该切换与其子节点一起进行协调。切换的节点标识新PAN,并且获得新PAN的定时同步信息。切换的节点将新PAN的定时同步信息和用于切换到新PAN的时间发送到其子节点。切换的节点和子节点维持当前PAN和新PAN两者的定时同步信息。在用于切换的时间处,切换的节点及其子节点切换到新PAN。每当发生切换时,节点可以将至新PAN的切换与其子节点一起进行协调。该协调不限于基于回传连接丢失的切换。
提及这些说明性方面和特征不是为了限制或限定本发明,而是提供示例以帮助理解本申请中公开的发明构思。在回顾整个申请之后,本发明的其他方面、优点和特征将变得显而易见。
附图说明
当参考附图来阅读以下具体实施方式时,会更好地理解本公开的这些和其他特征、方面和优点,在附图中:
图1图示了根据本发明的一个方面的两个PAN和未加入的关键节点。
图2图示了根据本发明的一个方面的加入到PAN的关键节点。
图3图示了根据本发明的一个方面的PAN的回传连接的丢失。
图4图示了根据本发明的一个方面的切换到不同PAN的关键节点。
图5图示了根据本发明的一个方面的切换到不同PAN的父节点。
图6图示了根据本发明的一个方面的切换到不同PAN的父节点及其子节点。
图7图示了根据本发明的一个方面的在加入的节点与两个PAN之间的通信。
图8图示了根据本发明的一个方面的示例性节点。
具体实施方式
本发明涉及用于管理网状网络中的节点的系统和方法,包括使关键节点加入到PAN、创建和维持关键路径、通过关键路径节点进行PAN切换、以及在切换PAN时维持父/子关系。关键节点可以在加入PAN之前考虑PAN的回传连接的状态。一旦加入,就标识从关键节点到根的关键路径,并且如果当前PAN的回传连接变得不可用,则沿着关键路径的节点(包括关键节点)可能会尝试加入新PAN。可以用信标中的信息元素(IE)来传送PAN的回传连接的状态。如果关键路径节点是具有一个或多个子节点的父节点,并且它切换了PAN,则关键路径节点和子节点可以在维持其父-子关系的同时切换PAN。当父节点出于回传连接丢失以外的原因而切换PAN时,父节点可以与其子节点维持其父-子关系。
图1图示了两个PAN——PAN A和PAN B。节点110是PAN A的根,并且节点150是PAN B的根。PAN A包括节点A-1至A-6,并且PAN B包括节点B-1和B-2。回传连接104将PAN A与中央系统102连接,并且回传连接106将PAN B与中央系统连接。尽管未在图1中示出,但是在PAN与中央系统102之间可以存在任何数量的中间设备。
节点110和节点150监测其相应回传连接的状态,并且将关于其回传连接的状态的信息包括在其信标中。在一个示例中,它们确定它们是否连接到NTP服务器,并且如果是,则确定其回传连接可用。其他实现方式可以考虑其他因素来确定其回传连接是可用还是不可用,包括但不限于与特定系统或服务器的连接、或与时间源的连接。每个节点将其当前回传状态信息包括在其相应信标中的IE中。IE可以是新IE,或者可以是现有IE。如果使用现有IE,则回传状态信息可以被附加到该IE。包括回传状态信息的任何类型的IE在本文中被称为回传状态IE。可以用一个位来传达回传状态信息,其中第一值指示回传连接可用,并且第二值指示回传连接不可用或未知。在一些实现方式中,回传状态信息包括附加信息,诸如回传连接已经处于其当前状态多长时间。例如,可以使用指示最后状态改变的时间的时间戳。在图1中所图示的示例中,回传连接104可用,并且回传连接106不可用。
在图1中,节点N是未加入到任一个PAN的关键节点。关键节点是需要回传连接的节点。如果回传连接变得可用,则关键节点可能等不及该回传连接来重新连接。关键节点的一个示例是与DA(配电自动化 Distribution Automation)装备(例如,线传感器、开关和重合器(re-closer))相关联的节点。节点可以在安装时被指定为关键节点,或者可以在安装之后被指定为关键节点。
节点N从PAN A接收信标A,并且从PAN B接收信标B。在该示例中,信标A包括指示回传连接104可用的回传状态IE,并且信标B包括指示回传连接106不可用的回传状态IE。由于节点N是关键节点,因此它加入了PAN A。关键节点可以被配置成避免加入具有不可用的回传连接的PAN,即使其他因素(例如,评级、负载等)对于加入该PAN可能是有利的。
图2图示了节点N加入之后的PAN A。在节点N加入之后,它发送DAO消息,该DAO消息将节点N标识为关键节点。在一个示例中,节点N在DAO标志字段中设置一位以指示它是关键节点。基于该DAO消息,作为PAN A的根的节点110确定节点N的关键路径,并且存储描述节点N的关键路径的信息,该关键路径即包括节点N、节点A-5、节点A-4和节点A-1的路径。根可以利用一位将DAO-ACK消息发送到节点N,该位被设置成指示关键路径已就位(in place)。
在一些实现方式中,当根与节点N之间的每个节点接收到DAO-ACK消息时,该节点检查该位并且确定它是关键路径节点。如果节点不支持关键路径节点,则在它接收到该消息之后,它不转发该消息。取而代之,它可能会丢弃该消息或者发送错误消息。
节点N可以使用其他类型的消息或其他字段来指示它是关键节点,包括但不限于IPv6消息的逐跳扩展报头中的指示。在一个示例中,节点N在逐跳扩展报头中设置一位,以指示它是关键节点并且正在请求关键路径。当节点A-5支持关键路径节点时,它接收该消息,检查该位,进入预关键路径状态,并且将该消息转发到下一个节点。该过程重复,直到该消息到达PAN A的根为止。当根将指示关键路径已就位的消息发送回到节点N时,根与节点N之间的节点可以检查该消息,并且从预关键路径状态转变到关键路径状态。
由于PAN A可能是无线网状网络,因此节点N的关键路径可能会改变。如果关键路径改变,则节点N的关键路径可能包括附加或不同的节点。由根所维持的关键路径信息以及受该改变所影响的每个节点的关键路径状态被更新,以反映关键路径中的改变。
在节点N加入PAN A之后,它生成并且发送包含回传状态IE的信标。节点N从如下信标中获得针对回传状态IE的信息:该信标是节点N从其父节点A-5或PAN A中的其他节点接收到的。
图3图示了其中PAN A的回传连接变得不可用并且PAN B的回传连接可用的场景。当节点110检测到其回传连接不可用时,则它可以生成信标——信标A,信标A将回传状态信息包括在回传状态IE中。关于回传连接的状态的信息通过网络来传播,直到节点N接收到具有回传状态IE的信标为止,该回传状态IE指示PAN A的回传连接不可用。由于节点N是关键节点,因此一旦节点N确定其当前PAN的回传连接不可用,它就可以开始搜索新PAN以便加入。如果节点N接收到来自不同PAN的信标(诸如,来自PAN B的信标B),则它在确定是否切换PAN时可以考虑PAN B的回传连接是否可用。如果它决定切换PAN,则它可以遵循与以上结合图1和2所描述的过程类似的过程以用于加入PAN B。在该实例中,加入到PAN A的其他节点可以保持加入到PAN A,如在图4中所示的那样。
当节点N加入PAN B时,其父节点——节点A-5确定节点N不再是子节点。在一个示例中,节点N在加入PAN B之前将解除关联消息发送到节点A-5,以向节点A-5通知该切换。节点N确定其是否具有作为关键节点或关键路径节点的任何其他子节点。如果它不具有作为关键节点或关键路径节点的任何其他子节点,则它确定它不再处于关键路径上,并且发送指示它不再是关键路径节点的DAO消息。类似地,如果节点A-4不具有作为关键节点或关键路径节点的子节点,则它发送指示它不再是关键路径节点的DAO消息。如果节点A-1不具有作为关键节点或关键路径节点的子节点,则它将DAO消息发送到其父节点——节点110,并且节点110移除节点N的关键路径。如果节点A-5具有作为关键节点或关键路径节点的另一个子节点(例如,节点A-6),则节点A-5可能仍然是关键路径节点。在这种情形下,节点110存储节点A-6的关键路径信息。一旦节点(例如,节点A-5)不再是关键路径节点,则它可以基于其当前PAN和目标PAN的回传连接状态以外的因素而保持加入到其当前PAN或切换到目标PAN。
在一些实例中,关键节点可能仅很少地从另一个PAN接收信标。一旦关键路径上的节点从具有可用回传连接的另一个PAN接收到信标,同时当前PAN的回传连接不可用,则它可能会切换PAN。例如,如果节点A-5从节点A-4或PAN A中的另一个节点接收到具有回传状态IE的信标,该回传状态IE指示PAN A的回传连接不可用,则节点A-5可以搜索另一个PAN以便加入。由于节点A-5处于关键路径上,因此它在寻求不同PAN时与它如果不处于关键路径上的情况相比可能更具进取性。在一些实现方式中,节点在确定如何进取性地寻求不同PAN时考虑其RPL层。例如,层1节点可能不如较低层节点那么具有进取性。
如果节点A-5接收到来自不同PAN的信标(诸如,来自PAN B的信标B),则它可以基于PAN B的回传连接是否可用来确定是否切换PAN。当PAN B的回传连接可用时,节点A-5加入PAN B,如图5中所示。图5图示了:在节点A-5加入PAN B之后,其子节点——节点A-6和节点N可以不加入到PAN A或PAN B。由于节点A-5在图5中不是关键节点并且不具有作为关键节点的子节点,因此它在加入PAN B之后不会将自己标识为关键节点或关键路径节点。在一些实现方式中,节点A-6和节点N均执行分离的加入过程。每个节点可以通过找到新的父节点来重新加入PAN A,通过节点A-5(其PAN A父节点)来加入PAN B,或者通过找到不同的父节点来加入PAN B。由于节点N是关键节点并且PAN A的回传连接不可用,因此节点N加入PANB。在其中节点N加入PAN B作为节点A-5的子节点的场景中,节点N发送DAO消息,该DAO消息将节点N标识为关键节点。以与以上结合图2讨论的方式类似的方式来建立关键路径。
在一些实现方式中,辅助回传连接(诸如,以太网或蜂窝)可能是可用的。如果是这样,则当关键路径节点接收到具有指示回传连接不可用的回传状态IE的信标时,那么该节点可以选择保持在当前PAN上并且使用辅助回传连接。
如果回传状态IE指示回传连接不可用并且包括关于回传连接已经不可用达多长时间的信息,则关键路径节点可以在确定何时切换到新PAN时考虑回传连接已经不可用达多长时间。
尽管前述示例讨论了与关键节点结合地使用回传状态IE,但是每当回传状态信息有用时,就可以使用回传状态IE。它不限于由关键路径节点来使用。
当节点切换到新PAN时,它可以维持现有的父-子关系。该切换可能因为回传连接丢失或出于任何其他原因而发生。
继续图3的示例,节点A-5在其加入PAN B时可以带着其子节点一起。一旦节点A-5确定它将要切换到目标PAN,则该节点维持其当前PAN(例如,PAN A)及其目标PAN(例如,PANB)两者的定时同步信息。节点A-5从目标PAN中的信标获得目标PAN的定时同步信息。节点A-5将目标PAN的定时同步信息、以及当其计划切换到目标PAN时的时间传送到其子节点——节点A-6和节点N。可以从节点A-5用信标来传送定时同步信息和切换时间。例如,信标中的IE当前提供了关于网络的信息,并且包括绝对隙数(absolute slot number)、信道跳频序列和时隙偏移信息。信标中的IE可以被修改成包括PAN切换时间戳。只有将节点A-5识别为其父节点的节点可以按照定时同步信息和切换时间进行动作。一旦节点A-6和节点N接收到具有定时同步信息和切换时间的信标,这些节点就维持PAN A和PAN B两者的定时同步信息。在切换时间处,节点A-5及其子节点(节点A-6和节点N)从PAN A(如图3中所示)切换到PAN B(如图6中所示)。在切换之后,节点A-5可以向节点B-2发送DIS消息以触发来自节点B-2的DIO消息。响应于该DIO消息,节点A-5可以发送DAO消息,该DAO消息指示其子节点(节点N)是关键节点并且节点A-5处于关键路径上。一旦节点A-5接收到DAO-ACK消息,它就可以经由单播、多播或广播方法将DIO消息发送到它从PAN A带来的其子节点(例如,节点A-6和节点N),使得这些子节点可以获得新的网络前缀。
在节点切换到PAN B之后,关键路径包括节点A-5、节点B-2、节点B-1和节点150。通过将节点A-5、节点A-6和节点N一起切换到目标PAN,维持了定时和网络连接性,并且改进了子节点(例如,节点A-6和节点N)的可用性。
当父节点确定了它出于任何原因而切换到目标PAN时,可以维持节点之间的父-子关系。这不限于其中父节点是关键路径节点或当该切换基于回传连接状态时的情形。
图7图示了寻求加入PAN的关键节点704。节点704初始地确定是否加入与网状网络702相对应的PAN。在710处,网络702的回传连接变得不可用。随后在712处,网络702的边界路由器或根节点将回传连接的丢失传送到网络。在一个示例中,边界路由器发送具有回传状态IE的信标,该回传状态IE指示回传连接不可用。关键节点704在714处开始侦听信标以找到要加入的网络。在716处,节点704从网络702接收信标。该信标包括指示网络702已经丢失其回传连接的回传状态IE。由于节点704是关键节点,因此它继续侦听附加信标以找到具有可用回传连接的网络。
在720处,与网状网络706相对应的PAN的回传连接可用。在722处,网络706的边界路由器将回传连接的可用性传送到网络。在一个示例中,边界路由器发送具有回传状态IE的信标,该回传状态IE指示回传连接可用。在724处,节点704从网络706接收信标。由于来自网络706的信标指示回传连接可用,因此节点704确定它将尝试加入网络706。节点704和网络706在层2处进行消息交换726、728。消息交换可以包括关联请求和关联响应消息。其他类型的消息交换也是可能的。一旦在层2处加入,节点704和网络706就在层3处进行另一个消息交换。例如,节点704可以发送指示它是关键节点的DAO消息,并且网络706内的节点可以用DAO-ACK消息进行响应。
在734处,网络706的回传连接变得不可用。随后在736处,网络706的边界路由器将回传连接的丢失传送到网络。在738处,来自网络706的信标指示网络706的回传连接不可用。响应于接收到该信标,节点704在740处开始搜索新PAN。
尽管图7使用信标来传送回传状态信息,但是其他实现方式可以使用不同类型的消息,包括但不限于另一种类型的层2消息或专有帧。
图8图示了示例性节点800。该节点可以包括均经由总线806通信地耦合的处理器802、存储器804和收发器设备820。节点800的组件可以由A/C电源或低能量源(诸如,电池(未示出))来供电。收发器设备820可以包括(或者通信地耦合到)天线808,以用于与其他节点通信。在一些示例中,收发器设备是用于无线地传输和接收信号的射频(“RF”)收发器。
处理器可以包括微处理器、专用集成电路(“ASIC”)、状态机、现场可编程门阵列(“FPGA”)、或其他合适的计算设备。处理器可以包括任何数量的计算设备,并且可以通信地耦合到计算机可读介质,诸如存储器804。处理器可以执行计算机可执行程序指令或访问存储在存储器中的信息以执行操作,诸如本文中所描述的那些操作。指令可以包括由编译器和/或解释器从以任何合适的计算机编程语言编写的代码而生成的特定于处理器的指令。当执行指令(诸如,在关键路径模块814中提供的那些指令)时,它们可以将节点配置成执行本文中描述的任何操作。尽管在图8中将处理器、存储器、总线和收发器设备描绘为彼此通信的分离组件,但是其他实现方式也是可能的。本文中讨论的系统和组件不限于任何特定的硬件架构或配置。
虽然已经关于本主题的特定方面对本主题进行了详细描述,但是应当领会的是,本领域技术人员在获得对前述内容的理解后可以容易地产生对这些方面的变更、变型和等同物。因此,应当理解的是,已经出于示例而非限制的目的呈现了本公开,并且本公开不排除对本主题的这种修改、变型和/或添加的包括,如对于本领域普通技术人员之一将显而易见的那样。
- 在维持父/子关系的同时切换PAN
- 用于确定兴趣点的父-子关系的系统和方法