一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于网络的控制装置的协调启动例程的制作方法

2022-03-23 10:27:00 来源:中国专利 TAG:

用于网络的控制装置的协调启动例程
1.相关申请的交叉引用
2.本技术要求于2019年6月21日提交的美国临时专利申请第62/864,646号、于2019年7月26日提交的美国临时专利申请第62/879,122号、于2019年7月30日提交的美国临时专利申请第62/880,593号、于2019年8月9日提交的美国临时专利申请第62/884,986号、于2019年10月3日提交的美国临时专利申请第62/910,059号、于2019年12月2日提交的美国临时专利申请第62/942,699号的权益,这些申请中的每一者据此全文以引用方式并入。


背景技术:

3.诸如住宅或办公楼之类的用户环境例如可使用各种类型的负载控制系统来配置。照明控制系统可用于控制在用户环境中提供人造光的照明负载。电动窗上用品控制系统可用于控制提供到用户环境的自然光。hvac系统可用于控制用户环境中的温度。
4.每个负载控制系统可包括各种控制装置,包括输入装置和负载控制装置。控制装置可接收消息,该消息可包括负载控制指令,用于控制对应电气负载。例如,可响应于在输入装置中的一个或多个输入装置处的用户输入或交互来生成可包括负载控制指令的消息。控制装置可能能够直接控制电气负载。输入装置可能能够经由负载控制装置间接控制电气负载。负载控制装置的示例可包括照明控制装置(例如,调光器开关、电子开关、镇流器或发光二极管(led)驱动器)、电动窗上用品、温度控制装置(例如,恒温器)、ac插入式负载控制装置等等。输入装置的示例可包括远程控制装置、占用传感器、日光传感器、眩光传感器、色温传感器、温度传感器等等。远程控制装置可接收用于执行负载控制的用户输入。并且控制装置可使用诸如zigbee通信、bluetooth通信和/或thread通信之类的射频(rf)通信和/或任何合适的物联网通信网络在网络中通信(例如,发送和/或接收消息)。此外或结合地,rf通信可通过专有协议来执行,诸如clear connect
tm
协议。


技术实现要素:

5.控制装置可被配置为在唯一协调启动时间形成网络。控制装置可标识在控制装置所附接到的先前形成的网络中分配给控制装置的角色。控制装置可基于在先前形成的网络中分配给控制装置的角色来确定控制装置的唯一协调启动时间。控制装置可在装置的唯一协调启动时间发起网络形成程序。例如,网络形成程序可导致控制装置附接到网络中的另一控制装置。网络形成程序被配置为使控制装置能够在下一个网络中承担在先前形成的网络中分配给控制装置的角色。
6.唯一协调启动时间可由在先前形成的网络中分配给控制装置的角色来确定。例如,当在先前形成的网络中分配给控制装置的角色是路由器装置时,唯一协调启动时间可等于第一时间。类似地,当在先前形成的网络中分配给控制装置的角色是终端装置时,唯一协调启动时间可等于晚于第一时间的第二时间。唯一协调启动时间也可以是,或者替代地是从控制装置上电时开始的预定时间量(例如,加上基于在先前形成的网络中控制装置和领导者装置之间的跳数的偏移)。
7.控制装置的网络重新形成程序也可基于在先前形成的网络中分配给控制装置的角色。例如,如果在先前形成的网络中分配给控制装置的角色是领导者装置,则网络重新形成程序可包括传输附接消息以使控制装置能够检测所形成的网络的存在。并且,如果控制装置检测到另一网络的存在(例如,响应于接收到对附接消息的响应),则控制装置可发起与另一网络的附接程序。然而,如果控制装置未能检测到另一网络的存在,则控制装置可传输领导者通告消息。例如,领导者通告消息可被配置为触发在先前形成的网络中被分配路由器装置角色的装置来发起与网络的附接程序。
8.当在先前形成的网络中分配给控制装置的角色是路由器装置时,网络形成程序可包括等待从网络中的领导者装置接收领导者通告消息。在接收到领导者通告之后,控制装置可发起与领导者装置的附接程序。类似地,当在先前形成的网络中分配给控制装置的角色是终端装置时,控制装置可等待直到它从在先前形成的网络中作为控制装置的父装置的路由器装置接收到路由器通告消息。并且,在接收到路由器通告之后,控制装置可发起与路由器装置的附接程序。
附图说明
9.图1是示例性负载控制系统的示意图。
10.图2a是可允许图1的负载控制系统中的装置之间的通信的示例性网络的示意图。
11.图2b是允许图1的负载控制系统中的装置之间的通信的示例性网络或网络分区(例如,网络或子网络)的示意图。
12.图2c和图2d是允许图1的负载控制系统中的装置之间的通信的另一示例性网络的示意图。
13.图2e是示出与图1的负载控制系统中的装置之间的通信相关联的代价和网络开销的另一示例性网络的示意图。
14.图2f是示出可对应于不同链路质量的示例性链路代价的表。
15.图3是示例性调试程序的流程图。
16.图4是可由控制装置在附接到网络上的另一装置之前执行的示例性程序的流程图。
17.图5是用于附接到网络上的另一装置的示例性程序的流程图。
18.图6a和图6b是用于附接到网络上的另一装置的其他示例性程序的流程图。
19.图7a是用于在退避定时器(back-off timer)正在运行的同时对接收到的父请求消息附接消息的数量进行计数的示例性程序的流程图。
20.图7b是在退避定时器到期之后要执行的示例性程序的流程图。
21.图8a和图8b是与附接到父装置相关联的示例性程序的流程图。
22.图8c是要由控制装置执行以更新一个或多个辅助父装置的辅助父表的示例性程序的流程图。
23.图9a和图9c是要由控制装置在附接到网络上的另一装置之前执行的示例性程序的流程图。
24.图9b和图9d是要由网络上的装置在附接到网络上的另一装置之前执行的示例性程序的序列图。
25.图10a是用于成为路由器装置的示例性程序的流程图。
26.图10b是由父装置响应于接收到消息而执行的示例性程序的流程图。
27.图10c是由领导者装置响应于接收到消息而执行的示例性程序的流程图。
28.图11是由子装置执行以确定是否尝试附接到更新后的父装置的示例性程序的流程图。
29.图12是由子装置执行以向父装置传输单播消息的另一示例性程序的流程图。
30.图13是尝试附接到更新后的父装置的示例性程序的流程图。
31.图14是示例性移动装置的框图。
32.图15是示例性系统控制器的框图。
33.图16是示例性负载控制装置的框图。
34.图17是示例性输入装置的框图。
具体实施方式
35.图1是用于控制从交流(ac)电源(未示出)递送到一个或多个电气负载的功率量的示例性负载控制系统100的图。负载控制系统100可被安装在建筑物的房间102中。负载控制系统100可包括多个控制装置,该多个控制装置被配置为经由无线信号,例如射频(rf)信号108,彼此通信。可替代地或附加地,负载控制系统100可包括有线数字通信链路,该有线数字通信链路耦合到控制装置中的一个或多个控制装置以提供负载控制装置之间的通信。负载控制系统100的控制装置可包括多个控制源装置(例如,可操作以响应于用户输入、占用/空置条件、测量光强度的变化等来传输消息的输入装置)和多个控制目标装置(例如,可操作以接收消息并响应于所接收的消息来控制相应的电气负载的负载控制装置)。负载控制系统100的单个控制装置可作为控制源装置和控制目标装置两者来操作。
36.控制源装置可被配置为直接向控制目标装置传输消息。此外,负载控制系统100可包括系统控制器110(例如,中央处理器或负载控制器),其可操作以向控制装置(例如,控制源装置和/或控制目标装置)传送消息和从控制装置传送消息。例如,系统控制器110可被配置为从控制源装置接收消息,并且响应于从控制源装置接收的消息向控制目标装置传输消息。控制源装置和控制目标装置以及系统控制器110可被配置为使用专有rf协议(诸如clearconnect协议)来传输和接收rf信号108。可替代地或结合地,rf信号108可使用不同的rf协议来传输,诸如标准协议,例如wifi、zigbee、z-wave、thread、knx-rf、enocean radio协议中的一者或不同的专有协议。
37.负载控制系统100可包括一个或多个负载控制装置,例如,照明控制装置120,用于控制照明负载,例如,照明器材124中的照明负载122。例如,照明控制装置120可包括发光二极管(led)驱动器,并且照明负载122可包括led光源。虽然每个照明器材124被示出为具有单个照明负载122,但是每个照明器材124可包括一个或多个单独的光源(例如,灯和/或led发射器),这些光源可由相应的照明控制装置120单独地和/或一致地控制。
38.负载控制系统100可包括能够直接从系统控制器110接收无线信号108的一个或多个负载控制装置或器具,诸如扬声器146(例如,音频/视频或对讲系统的一部分),其能够生成可听声音,诸如警报、音乐、对讲功能等。
39.负载控制系统100可包括用于控制进入房间102的日光量的一个或多个日光控制
装置,例如,电动窗上用品150,诸如电动蜂巢式遮光帘。每个电动窗上用品150可包括从相应窗户104前面的顶轨154悬挂的窗上用品织物152。每个电动窗上用品150还可包括位于顶轨154内部的马达驱动单元(未示出),用于升高和降低窗上用品织物152以控制进入房间102的日光量。电动窗上用品150的马达驱动单元可被配置为经由rf信号108(例如,从系统控制器110)接收消息,并且响应于所接收的消息调整相应的窗上用品织物152的位置。例如,电动窗上用品可以是电池供电的。负载控制系统100可包括其他类型的日光控制装置,例如,蜂巢式遮光帘、帷帐、罗马帘、威尼斯百叶帘、波斯百叶帘、百褶帘、张紧卷帘系统、电致变色窗或智能窗、和/或其他合适的日光控制装置。电池供电的电动窗上用品的示例在2015年2月10日发布的标题为“motorized window treatment”的美国专利第8,950,461号和2016年11月8日发布的标题为“integrated accessible battery compartment for motorized window treatment”的美国专利第9,488,000号中更详细地描述,这些专利的全部公开内容据此以引用方式并入。
40.负载控制系统100可包括一个或多个温度控制装置,例如,恒温器160,用于控制房间102中的室温。恒温器160可经由控制链路(例如,模拟控制链路或有线数字通信链路)耦合到暖通空调(hvac)系统162。恒温器160可被配置为与hvac系统162的控制器无线地传送消息。恒温器160可包括用于测量房间102的室温的温度传感器,并且可控制hvac系统162以将房间中的温度调整到设定点温度。负载控制系统100可包括位于房间102中用于测量室温的一个或多个无线温度传感器(未示出)。hvac系统162可被配置为响应于从恒温器160接收的控制信号而接通和关断压缩机以用于冷却房间102,并且接通和关断热源以用于加热房间。hvac系统162可被配置为响应于从恒温器160接收的控制信号而接通和关断hvac系统的风扇。恒温器160和/或hvac系统162可被配置为控制一个或多个可控阻尼器以控制房间102中的气流。恒温器160可被配置为经由rf信号108(例如,从系统控制器110)接收消息并且响应于所接收的消息来调整加热、通风和冷却。
41.负载控制系统100可包括一种或多种其他类型的负载控制装置,例如包括调光器电路和白炽灯或卤素灯的旋入式灯具;包括镇流器和紧凑型荧光灯的旋入式灯具;包括led驱动器和led光源的旋入式灯具;用于接通和关断器具的电子开关、可控断路器或其他开关装置;用于控制一个或多个插入式负载的插入式负载控制装置、可控电插座或可控电源板;用于控制马达负载(诸如吊扇或排气扇)的马达控制单元;用于控制电动窗上用品或投影屏幕的驱动单元;电动内部或外部百叶窗;用于加热和/或冷却系统的恒温器;用于控制hvac系统的设定点温度的温度控制装置;空调机;压缩机;电踢脚板取暖器控制器;可控阻尼器;变风量控制器;新风进气控制器;通风控制器;用于散热器和辐射供暖系统的液压阀;湿度控制单元;加湿器;除湿器;热水器;锅炉控制器;池泵;冰箱;冷冻器;电视或计算机监视器;摄像机;音频系统或放大器;升降机;电源供应器;发电机;充电器,诸如电动车辆充电器;以及替代能量控制器。
42.负载控制系统100可包括一个或多个输入装置,例如,远程控制装置170。输入装置可以是固定的或可移动的输入装置。系统控制器110可被配置为响应于从远程控制装置170接收的消息向负载控制装置(例如,照明控制装置120、电动窗上用品150和/或恒温器160)传输一个或多个消息。远程控制装置170可被配置为将消息直接传输到照明控制装置120、电动窗上用品150和温度控制装置160。
43.远程控制装置170可被配置为响应于远程控制装置的一个或多个按钮的致动而经由rf信号108向系统控制器110(例如,直接向系统控制器)传输消息。例如,远程控制装置170可以是电池供电的。负载控制系统100可包括其他类型的输入装置,例如温度传感器、湿度传感器、辐射计、阴天传感器、阴影传感器、压力传感器、烟雾检测器、一氧化碳检测器、空气质量传感器、运动传感器、安全传感器、接近传感器、固定装置传感器、分区传感器、小键盘、多区控制单元、滑块控制单元、动能或太阳能远程控制件、密钥卡、蜂窝电话、智能电话、平板计算机、个人数字助理、个人计算机、膝上型计算机、时钟、视听控制件、安全装置、功率监测装置(例如,功率计、能量计、公用事业分表、公用事业费率表等)、中央控制发射器、住宅、商业或工业控制器,和/或它们的任何组合。
44.系统控制器110可耦合到网络,诸如无线或有线局域网(lan),例如用于访问互联网。系统控制器110可例如使用wi-fi技术无线连接到网络。系统控制器110可经由网络通信总线(例如,以太网通信链路)耦合到网络。系统控制器110可被配置为经由网络与一个或多个网络装置(例如,移动装置190,诸如个人计算装置和/或可穿戴无线装置)通信。移动装置190可位于占用者192上,例如可附接到占用者的身体或衣服,或者可由占用者持有。移动装置190可以以唯一标识符(例如,存储在存储器中的序号或地址)为特征,该唯一标识符唯一地标识移动装置190并因此标识占用者192。个人计算装置的示例可包括智能电话(例如,智能电话、智能电话或智能电话),膝上型计算机和/或平板装置(例如,手持计算装置)。可穿戴无线装置的示例可包括活动跟踪装置(诸如装置、装置和/或sony装置)、智能手表、智能服装(例如,智能衣物等)和/或智能眼镜(诸如google眼镜)。此外,系统控制器110可被配置为经由网络与一个或多个其他控制系统(例如,建筑物管理系统、安全系统等)通信。
45.移动装置190可被配置为例如在一个或多个互联网协议分组中向系统控制器110传输消息。例如,移动装置190可被配置为通过lan和/或经由互联网向系统控制器110传输消息。移动装置190可被配置为通过互联网向外部服务(例如,如果这样就那样服务)传输消息,然后所述消息可由系统控制器110接收。移动装置190可经由wi-fi通信链路、wi-max通信链路、蓝牙通信链路、近场通信(nfc)链路、蜂窝通信链路、电视白空间(tvws)通信链路或它们的任何组合来传输和接收rf信号109。rf信号109可以是与rf信号108相同的信号类型和/或使用与rf信号108相同的协议传输。可替代地或附加地,移动装置190可被配置为根据另一信号类型和/或协议传输rf信号。负载控制系统100可包括耦合到网络的其他类型的网络装置,诸如台式个人计算机、具有wi-fi或无线通信能力的电视,或任何其他合适的启用互联网协议的装置。可操作以与网络上的移动装置和/或网络装置通信的负载控制系统的示例在2013年1月31日公布的标题为“load control device having internet connectivity”的共同转让的美国专利申请公布第2013/0030589号中更详细地描述,其全部公开内容据此以引用方式并入。
46.负载控制系统100的操作可使用例如移动装置190或其他网络装置来编程和配置(例如,当移动装置是个人计算装置时)。移动装置190可执行图形用户界面(gui)配置软件,以允许用户对负载控制系统100将如何操作进行编程。例如,配置软件可作为pc应用程序或
web接口运行。配置软件和/或系统控制器110(例如,经由来自配置软件的指令)可生成定义负载控制系统100的操作的负载控制数据库。例如,负载控制数据库可包括关于负载控制系统的不同负载控制装置(例如,照明控制装置120、电动窗上用品150和/或恒温器160)的操作设置的信息。负载控制数据库可包括标识负载控制装置和输入装置(例如,远程控制装置170等)之间的关联的关联信息。关联可包括存储在一起的装置标识符,使得装置可识别相关联装置的标识符以实现装置之间的通信。装置可识别相关联装置的所存储的标识符,并且向相关联装置传送消息和/或识别从相关联装置接收的消息。负载控制数据库可包括关于负载控制装置如何响应从输入装置接收的输入的信息。用于负载控制系统的配置程序的示例在2008年6月24日发布的标题为“handheld programmer for a lighting control system”的共同转让的美国专利第7,391,297号、2008年4月17日公布的标题为“method of building a database of a lighting control system”的美国专利申请公布第2008/0092075号以及2014年9月18日公布的标题为“commissioning load control systems”的美国专利申请公布第2014/0265568号中更详细地描述,这些专利的全部公开内容据此以引用方式并入。
47.负载控制系统的控制装置可经由网络彼此通信。例如,控制装置可通过启动加入程序来加入网络。在加入程序期间,控制装置可发送和接收加入消息,并且加入消息可用于与网络调试装置交换凭证。在交换凭证之后,可以向控制装置提供网络密钥,该网络密钥可使得控制装置能够通过网络进行通信。然后,控制装置可各自尝试附接到加入到网络的另一装置(例如,路由器装置),从而形成网状网络。例如,控制装置可尝试通过发起与其他装置的附接程序来附接到加入到网络的另一装置。如本文所述,控制装置可在附接程序期间向网络上的其他装置发送和/或接收附接消息。并且基于在附接程序期间传输的附接消息的类型,控制装置可与路由器装置建立链路(例如,父子链路、辅助父链路、路由器到路由器链路)。例如,控制装置可在附接程序期间传输被配置为建立父子链路的附接消息(例如,父请求消息和/或父响应消息)以建立与路由器装置的父子链路,使得控制装置可成为路由器装置的子装置,并且路由器装置可成为控制装置的父装置。类似地,控制装置可在附接程序期间传输被配置为建立辅助父链路的附接消息(例如,链路请求消息和/或链路响应消息)以建立与路由器装置的辅助父链路。在建立父子链路之后,控制装置可通过其他装置通过网络传输和接收消息。如本文所述,相应控制装置所附接到的路由器装置也可被称为控制装置的父装置。
48.控制装置还可附接到加入到网络的附加装置(例如,路由器装置)并与其建立链路。例如,控制装置可发起附接程序以附接到附加路由器装置(例如,不是控制装置的父装置的路由器装置)。作为附接程序的结果,控制装置可建立与其他路由器装置的辅助父链路,使得其他装置成为控制装置的辅助父装置。并且在附接程序期间,例如,控制装置可向其他路由器装置发送并且从其他路由器装置接收被配置为建立辅助父链路的多个附接消息,诸如链路请求消息或链路响应消息。控制装置可接收和处理来自其所附接到的辅助父装置的消息(例如,除了其所附接到的父装置之外),这可增加在网络中接收的网络信息的可靠性。如本文所述,控制装置加入到网络(例如,经由加入程序)和/或附接到已加入到网络的另一装置(例如,经由附接程序)的过程可被称为网络形成。
49.在网络形成期间,如本文所述,多个控制装置可加入到网络并且附接到已加入到
网络的其他装置(例如,经由与另一装置的附接程序)。然而,多个控制装置可各自发起其相应的附接程序,这包括同时或基本上同时通过网络发送和接收附接消息。结果,多个控制装置可同时或基本上同时在网络上传输附接消息。当多个装置同时或基本上同时通过网络发送消息时,消息可彼此冲突并且/或者导致消息未能被接收。例如,网络形成期间的消息冲突可致使附接消息未能被接收,从而延迟网络形成和负载控制系统的安装或操作。
50.随着网络安装规模(例如,附接到网络的装置的数量)的增加,在网络形成期间发生的冲突的数量可增加。此外,在控制装置连续未能附接到网络之后(例如,由于消息冲突和/或缺少与已形成的网络的连接性),该装置可尝试形成另一网络(例如,网络分区)。网络分区可彼此并行地通信,但是可以彼此不通信(例如,至少持续一段时间并且/或者直到网络分区组合成单个网络分区)。例如,附接到第一网络分区的装置可能不能与附接到第二网络分区的装置通信。当在一定位置在装置之间建立通信链路时,每个网络可增长,并且一个网络中的一个或多个装置可加入其他网络。当装置重新配置或发现它们在网络中的角色时,离开网络的装置可对保留在网络上的装置造成过度的处理延迟。
51.图2a是可允许负载控制系统(例如,负载控制系统100)中的控制装置之间的通信的示例性网络200a的图示。网络200a可包括任何合适的网络以促进负载控制系统或物联网(iot)环境中的通信。例如,网络200a可以是网状网络,诸如thread网络。负载控制系统100的各种控制装置可经由网络200彼此通信。如图2a所示,网络200a可包括单个网络分区。此外,网络200a可以是较大网络内的网络分区(例如,子网络或子网)的示例。例如,网络200a可以是由多个网络分区组成的较大网络内的网络分区的示例。网络200a是示例性网络,并且本文所述的技术可应用于例如包括比网络200更多的控制装置或更少的控制装置的其他网络。
52.诸如网络200a之类的网络可用于促进加入到网络的装置的通信。这些装置加入到网络和/或彼此形成其相应链路的过程在本文中可称为网络形成。如本文所述,加入到网络的装置可在网络形成期间彼此形成链路。例如,控制装置可附接到另一装置(例如,路由器装置)并与其他装置建立父子链路。在附接到路由器装置(例如,在装置和路由器装置之间建立父子链路)之后,装置可通过路由器装置向网络中的其他装置发送消息,并且通过路由器装置接收包括网络信息的消息。图2a的带圆圈的节点可表示附接到网络200a上的其他装置的装置(例如,负载控制系统100的各种控制装置)。附接到网络200a上的至少一个其他控制装置的控制装置可与其他控制装置(例如,附接到网络200a上的另一控制装置的其他控制装置)通信。网络200a内的通信可由在网络200a内建立的链路(例如,附接)来促进。参考图2a,装置之间的链路可由连接相应控制装置的线(例如,实线和虚线)指示。
53.加入到网络200a的控制装置可以承担和/或被分配网络中的相应角色。例如,角色可包括:领导者装置(例如,领导者装置210)、路由器装置(例如,路由器装置220a至220d)、终端装置(例如,终端装置230a和230b)、符合路由器条件的终端装置(reed)(例如,符合路由器条件的终端装置240)和/或休眠终端装置(例如,休眠终端装置250)。控制装置的角色可指示控制装置相对于网络200a的功能和/或能力。此外,控制装置的角色可基于控制装置的附接。
54.如图2a所示,网络200a可包括领导者装置210和一个或多个路由器装置220a至220d。领导者装置210可管理网络200上的其他控制装置。例如,领导者装置210可为路由器
装置220中的每一者分配和维护路由器标识符(例如,路由器id)。例如,可以为路由器装置220a至220d中的每一者分配唯一路由器标识符。领导者装置210可分配和维护其他装置的角色。领导者装置210可被配置为网络200a的网关。例如,领导者装置可以是促进网络200a和其他网络或网络分区之间的通信(例如,向网络200a和其他网络或网络分区路由消息并且从其接收消息)的控制装置。参考图1,系统控制器(例如,图1所示的系统控制器110)可以是领导者装置210的示例。此外,负载控制系统内能够被分配给路由器装置的角色的控制装置可以被分配给领导者装置的角色。
55.领导者装置210可通过建立一个或多个路由器到路由器链路来附接到多个路由器装置(例如,多于30个路由器装置),如连接到领导者装置210的实线所示。领导者装置210可作为路由器装置操作。网络200a上(例如,附接到网络200a上的领导者装置210)的路由器装置220a至220d还可彼此建立路由器到路由器链路,并且因此彼此通信,例如,以形成网状网络。如本文所述,路由器到路由器链路可通过附接程序来建立,该附接程序包括传输被配置为建立路由器到路由器链路的附接消息(例如,链路请求消息和/或链路响应消息)。路由器装置220a至220d可彼此通信(例如,如连接路由器装置220a至220d的实线所指示)。路由器装置220a至220d可直接或通过一个或多个其他路由器装置与领导者装置210通信(例如,如将领导者装置210连接到路由器装置220a和220c的实线所指示)。路由器装置220a至220d可接收消息并将消息路由到网络200a上的其他装置(例如,终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)。例如,路由器装置220a至220d可在装置之间或者在彼此之间接收和/或传输消息,以用于将从附接装置接收的消息传送到附接到另一路由器装置的另一装置。现在参考负载控制系统100,例如外部供电的控制装置(例如,不是电池供电的控制装置)可被分配给路由器装置的角色,诸如系统控制器110、照明控制装置120、电动窗上用品150和/或恒温器160。
56.网络200a可包括一个或多个终端装置230a、230b(例如,在本文中也称为完整或最小终端装置)。终端装置230a、230b可附接到网络200a上的另一装置(例如,父装置,诸如领导者装置210和/或路由器装置220a、220b、220c、220d),并且可经由所附接的领导者装置和/或路由器装置传输和/或接收消息。如本文所述,终端装置230a、230b可通过使用附接程序附接到另一装置。例如,终端装置可通过传输被配置为建立父子链路的附接消息(诸如父请求消息和父响应消息)来执行附接程序以建立父子链路(例如,如图2a至图2e中的虚线所示)。另外或可替代地,终端装置可通过传输被配置为建立辅助父链路的附接消息(诸如链路请求消息和链路响应消息)来执行附接程序以建立辅助父链路(例如,如图2a至图2e中的长虚线和短虚线所示)。例如,如图2a所示,终端装置230b可与路由器装置220c建立辅助父链路(例如,如长虚线和短虚线所示)。尽管在图2a中示出了两个终端装置230a、230b,并且每个终端装置附接到不同的路由器装置,但是每个路由器装置220a至220d可支持多个终端装置(例如,多于500个终端装置)。系统控制器110、输入装置(例如,远程控制装置170)和/或负载控制装置(例如,照明控制装置120、电动窗上用品150和/或恒温器160)可以是终端装置230a、230b的示例。
57.再次参考图2a,网络200a可包括符合路由器条件的终端装置240。符合路由器条件的终端装置240可以是能够(例如,在硬件方面能够和/或在软件方面能够)成为领导者装置和/或路由器装置的终端装置。在某些情况下,符合路由器条件的终端装置240的角色可被
更新为领导者装置和/或路由器装置。例如,当符合路由器条件的终端装置240将其自身标识为在尝试加入到网络200a的终端装置的通信范围内时,符合路由器条件的终端装置240可将其自身升级为路由器装置的角色,从而允许终端装置附接到符合路由器条件的终端装置240。符合路由器条件的终端装置240可经由附接的路由器装置220d传输和/或接收消息。如图2a所示,符合路由器条件的终端装置240可以是终端装置中附接到路由器装置220d的一个终端装置。系统控制器110、照明控制装置120、电动窗上用品150和/或恒温器160可以是符合路由器条件的终端装置240的示例。现在参考负载控制系统100,例如外部供电的控制装置(例如,不是电池供电的控制装置),可被分配给符合路由器条件的终端装置的角色,诸如系统控制器110、照明控制装置120、电动窗上用品150和/或恒温器160。
58.网络200a还可包括休眠终端装置250。休眠终端装置250可包括终端装置或者可类似于终端装置。例如,休眠终端装置250可以是由有限电源(例如,电池)供电的终端装置。休眠终端装置250可基于例如存储在休眠终端装置250处的指示来了解其作为休眠终端装置的角色。可执行与休眠终端装置250的通信,使得有限电源被保存和/或被有效地消耗。例如,休眠终端装置250可在消息传输之间周期性地禁用其相应的通信电路。休眠终端装置250可经由附接的路由器装置220a传输和/或接收消息。如图2a所示,休眠终端装置250可以是终端装置中附接到路由器装置220a的一个终端装置。输入装置(例如,远程控制装置170)和/或负载控制装置(例如,电池供电时的电动窗上用品150)可以是休眠终端装置250的示例。此外,传感器和/或电池供电装置可以是休眠终端装置250的示例。
59.领导者装置210可例如基于对网络200a的改变来更新在网络200a内通信的装置的角色(例如,或确认角色更新)。在一个示例中,当装置附接到网络200a时,控制装置可被分配给某个角色,并且领导者装置210可基于网络条件的变化来更新装置的角色。网络条件的变化可包括:增加的消息流量、其他装置的附接、信号强度的变化等。对控制装置的所分配角色的更新可基于装置的能力。例如,领导者装置210可将控制装置的角色从符合路由器条件的终端装置更新为路由器装置(例如,因为符合路由器条件的终端装置是有资格执行路由器装置的角色的终端装置)。领导者装置210可通过向装置分配路由器标识符(id)来将控制装置的角色更新为路由器装置。
60.当领导者装置210更新网络200中的装置的角色时,领导者装置可维护网络200a中的路由器装置的数量和/或网络200中使用的路由器标识符。例如,领导者装置210可存储和/或维护位图217,该位图可用于指示网络200中使用的路由器的数量和/或路由器标识符。位图217可包括多个位,该多个位各自对应于在网络200中使用的不同路由器标识符。在一个示例中,领导者装置210可支持64个路由器装置,并且领导者装置210可存储64位位图,用于跟踪在网络200中使用的路由器标识符。位图中的每个位可指示路由器标识符被领导者装置210标识为正在使用(例如,具有值“1”)还是未使用(例如,具有值“0”)。领导者装置210可确定控制装置应升级到路由器装置,并且只要路由器标识符可用,就向路由器装置分配路由器标识符。领导者装置210可将路由器装置降级(例如,降级到终端装置)或从网络200移除路由器装置。当路由器装置被添加或移除时,位图217可被更新以指示在网络200中使用的路由器装置的数量和/或路由器标识符。
61.领导者装置210可将位图217发送到网络200中的其他路由器装置。每个路由器装置(包括领导者装置210)可维护关于被标识为在网络200中使用的路由器装置中的每一者
的网络信息。例如,每个路由器装置可在路由器表(诸如路由器表219)中维护关于路由器装置中的每一者的网络信息。例如,路由器表219中的网络信息可标识网络200a中的路由器装置以及对应路由器装置与本地存储在其上的路由器表中维护的其他路由器装置的通信质量。每个路由器表(诸如路由器表219)可包括位图217中指示的每个路由器标识符的行。网络中的每个路由器装置(包括领导者装置210)可基于本地存储的路由器表中存储和维护的网络信息在网络200a上执行通信。例如,路由器装置(诸如路由器装置220a至220d和/或领导者装置210)可基于与本地存储在其上的路由器表中标识的对应路由器装置的通信质量在网络200a内不同地传输消息。
62.附接到网络200a的控制装置可进一步作为父装置和/或子装置操作。附接到一个或多个终端装置(例如,终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)的领导者装置(例如,领导者装置210)和路由器装置(例如,路由器装置220a至220d)可作为父装置操作。附接到领导者装置(例如,领导者装置210)或路由器装置(例如,路由器装置220a至220d中的一者)的终端装置(例如,终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)可作为子装置操作。作为父装置,领导者装置210和路由器装置220a至220d可各自附接到一个或多个子装置(例如,终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250中的一者或多者,如本文所述)。此外,领导者装置210和路由器装置220a至220d可存储和/或中继由其相应的附接子装置发送的消息。例如,领导者装置210和路由器装置220可从其相应的子装置接收消息,并且将所接收的消息路由到预期接收者装置(例如,直接路由到预期接收者装置,经由预期接收者装置的相应父装置,和/或路由到在到预期接收者的路径上的路由器装置或领导者装置)。类似地,领导者装置210和路由器装置220a至220d可接收旨在用于其相应子装置的消息,并将该消息路由到适当的子装置。当休眠终端装置的通信电路被启用时,相应休眠终端装置的父装置可调度与休眠终端装置的通信。
63.如图2a所示,子装置和相应父装置之间的链路(例如,附接)可由虚线指示。例如,路由器装置220a可被配置为终端装置230a和休眠终端装置250的父装置。类似地,路由器装置220b可被配置为终端装置230b的父装置。路由器装置220a可接收旨在用于终端装置230a的消息,并将该消息转发到终端装置230a。由于路由器装置220a被配置为终端装置230a的父装置,因此终端装置230a可向路由器装置220a传输消息,并且路由器装置220a可将该消息路由到预期接收者。例如,当终端装置230a打算向终端装置230b传输消息时,终端装置230a可最初向路由器装置220a传输该消息。路由器装置220a可将消息路由到路由器装置220b(例如,终端装置230b的父装置)。例如,路由器装置220a可经由路由器装置220c或路由器装置220d将消息路由到路由器装置220b,然后路由器装置220b可将该消息转发到终端装置230b。此外,如本文所述和图2a所示,路由器装置220a可经由路由器装置220c(例如,路由器装置230b的辅助父装置)将消息路由到终端装置230b。
64.子装置可被配置为向其相应的父装置传输单播消息。控制装置可直接或经由通过网络中的其他装置的跳向网络中的另一控制装置传输单播消息。通过包括单播消息被传输到的控制装置的唯一标识符,每个单播消息可被单独寻址到另一控制装置。控制装置可针对它们与之通信的每个控制装置生成单独的单播消息,并且将单播消息独立地寻址到每个控制装置。单播消息还可包括要接收单播消息的控制装置的唯一标识符。控制装置可通过
在单播消息中标识它自身的唯一标识符来确定它是单播消息的预期接收者。
65.可使用多播消息和/或广播消息在网络中发送消息。多播消息可被发送到网络中的一组控制装置。多播消息可包括组标识符。作为组的成员的控制装置可识别组标识符并相应地处理消息。广播消息可被发送到网络中能够接收该消息的每个控制装置。广播消息可包括该消息是广播消息(例如,广播地址)的指示。接收广播消息的每个装置可相应地处理该消息。网络可使用多播消息或广播消息,并且这两个术语在本文中可互换使用。
66.由子装置传输到其相应父装置的消息可包括预期接收者的指示(例如,唯一标识符),并且父装置可相应地路由该消息。再次参考图2a,终端装置230a可向路由器装置220a(例如,终端装置230a的父装置)传输消息,并且路由器装置220a可基于预期接收者来路由该消息。例如,如果终端装置230a传输旨在用于终端装置230b的消息,则路由器装置220a可经由路由器装置220c或路由器装置220d将该消息路由到路由器装置220b(例如,符合路由器条件的终端装置230b的父装置)。例如,如果路由器装置220a经由路由器装置220d路由消息,则路由器装置220d可将该消息转发到路由器装置220b,该路由器装置220b可将该消息转发到终端装置230b。路由器装置220a可经由查找表标识路由器装置220b是终端装置230b所附接到的父装置。如图2a所示,可存在多个路径以通过网络200a路由消息,并且路由器装置可标识最短路径(例如,最低跳数)以向相应装置传输消息。
67.子装置可被配置为与辅助父装置通信(例如,被配置为与多于一个父装置通信)。参考图2a,例如,终端装置230b可被配置为与父装置(例如,也称为主要父装置)(诸如路由器装置220b)通信(例如,向其传输消息并且从其接收消息)。终端装置230b还可被配置为与辅助父装置(诸如路由器装置220c)(例如,如图2a中的长虚线和短虚线所示)通信(例如,从其接收消息)。子装置可从其父装置接收单播消息。子装置还可从其父装置和/或一个或多个辅助父装置接收多播消息(例如,广播消息),这可增加子装置接收消息的效率和可靠性。例如,子装置可以经由辅助父装置接收一般网络通告消息。子装置所附接到的辅助父装置的数量可以被限制为辅助父装置的阈值数量(例如,3、5、10等)。
68.子装置可附接到单个父装置(例如,本文中也称为主要父装置)和一个或多个辅助父装置。例如,子装置可通过父装置通过网络传输和/或接收单播消息。另外,子装置可处理从一个或多个辅助父装置接收的消息。相应子装置所附接到的辅助父装置的数量可被限制为辅助父装置的阈值数量,该阈值数量可是预定义的和/或配置的。子装置可通过向辅助父装置传输被配置为与路由器装置建立辅助父链路的附接消息(在本文中称为链路请求消息或链路响应消息)来附接到辅助父装置。例如,参考图2a,终端装置230b可能已经向路由器220c传输了链路请求消息。链路请求消息可用于请求两个装置之间的通信链路。响应于接收到链路请求消息,路由器装置220c可向终端装置230b传输消息(在本文中称为链路接受消息)。链路接受请求消息可包括允许相应子装置对来自辅助父装置(例如,帧计数器)的消息进行解密的信息。如本文所述,当子装置附接到辅助父装置时,子装置可经由辅助父装置接收多播消息(例如,包括网络信息的多播消息)。例如,参考图2a,终端装置230b可经由父装置(例如,路由器装置220b)和辅助父装置(例如,路由器装置220c)接收多播消息,这可增加子装置230b接收多播消息的效率和可靠性。
69.子装置可从除了子装置的父装置之外的路由器装置或除了子装置的辅助父装置之外的路由器装置接收通告消息。例如,路由器装置可传输通告消息,以使其他控制装置能
够确定网络已经形成,并且听到通告消息的控制装置可尝试附接到路由器装置(例如,经由网络通信)。控制装置可接收并跟踪由路由器装置传输的通告消息,以确定该装置是否能够经由网络进行通信。另外或可替代地,由相应路由器装置传输的通告消息可向其他路由器装置提供测量附接到网络的相应路由器之间的通信度量(例如,rssi)的能力(例如,路由器可使用该通信度量来更新其相应的路由表或路由信息)。例如,通信度量可指示可使用的两个装置之间的通信链路的质量。如本文所述,路由器装置可通过测量通信度量来确定相应路由器装置之间的通信链路的质量,该通信度量诸如在路由器装置之间传输的通告消息的接收信号强度量值(例如,平均接收信号强度量值)。例如,可通过测量所接收的通告消息的接收信号强度指示符(rssi)来确定接收信号强度量值。
70.某些消息可由网络200a中的多个装置传播和广播,这可增加相应子装置听到消息的可能性。例如,可广播基本上相似的多播消息(例如,包括发送到多个负载控制装置的相同负载控制指令的消息),而不是发送多个传输。再次参考负载控制系统100,远程控制装置170的按钮的致动可调整多个照明负载(例如,照明负载122和插入式照明负载142)的强度,并且可以广播消息以调整相应照明负载。此外,接收广播传输的装置可被配置为响应于接收广播传输来处理和重复消息(例如,通过网络转发消息或以其他方式充当中继器)。
71.子装置可创建并维护辅助父表。辅助父表可包括相应子装置被配置为与之进行通信(例如,经由辅助父链路附接到和/或能够处理从其接收的消息)的辅助父装置的列表。此外,辅助父表可包括指示子装置与子装置的辅助父装置中的每个辅助父装置之间的通信链路的质量的通信度量的指示,诸如接收信号量值(例如,平均rssi)。例如,辅助父表可包括子装置的辅助父装置中的每个辅助父装置的通信度量的滚动平均值。子装置可类似地创建和/或维护路由器表。路由器表可包括相应子装置已从其接收到消息(例如,通告消息)的路由器。此外,路由器表可包括从路由器表中的路由器中的每个路由器接收的消息的通信度量的指示。另外或可替代地,子装置可维护通用路由器表。路由器表可包括相应子装置已从其接收到消息的路由器中的每个路由器以及相应路由器中的每个路由器的接收信号强度指示符。路由器表还可包括相应路由器是子装置的父装置还是子装置的辅助父装置的指示。如本文所用,术语辅助父表可以指与路由器表或路由器表的子集分开的表,其包括作为子装置的辅助父装置附接的路由器。
72.如本文所述,网络200a可允许负载控制系统(例如,图1所示的负载控制系统100)中的装置之间的通信。终端装置230a、230b可包括与负载控制系统中的其他装置通信的负载控制装置(例如,控制目标装置)和/或输入装置(例如,控制源装置)。例如,终端装置230a可经由rf通信与负载控制系统中的另一个终端装置通信。
73.参考图1,远程控制装置170可作为终端装置或休眠终端装置来操作以用于传送消息,所述消息包括用户输入的指示和/或用于控制另一终端装置(例如,照明控制装置120、电动窗上用品150和/或恒温器160)的控制指令。远程控制装置170可经由一个或多个中间装置进行通信,诸如领导者装置和/或路由器装置。领导者装置和/或路由器装置可与网络中的一个或多个其他领导者装置和/或路由器装置通信,以将消息路由到其他终端装置(例如,照明控制装置120、电动窗上用品150和/或恒温器160)以用于执行负载控制。
74.控制装置可附接到网络或网络分区(例如,图2a所示的网络200a)上的另一控制装置,以使装置能够经由网络进行通信(例如,传输和/或接收消息)。控制装置可通过以下方
式来发起到网络上的另一控制装置的附接程序:传输被配置为建立父子链路的一个或多个附接消息(诸如父请求消息)(例如,多播父请求消息)以发现潜在父装置。父请求消息例如可由控制装置传输以发现和/或附接到到父装置(例如,路由器装置和/或领导者装置)。控制装置可将父请求消息作为多播消息来传输,例如以标识附接到网络的可充当控制装置的父装置的装置。
75.路由器装置(例如,网络200a的领导者装置210和/或路由器装置220)可响应它们接收的附接消息。例如,接收父请求消息(例如,多播父请求消息)的路由器装置可通过传输父响应消息来响应。例如,接收多播父请求消息的路由器装置可各自向传输父请求消息的控制装置传输父响应消息(例如,作为单播消息)。父响应消息可指示传输父响应消息的控制装置可用于充当父装置。因此,传输父请求消息的控制装置可接收对父请求消息的多个响应,并且基于所接收的父响应消息来确定要附接的父装置。传输父请求消息的控制装置可标识与响应消息相关联的通信度量,诸如接收信号强度量值(例如,rssi),并且尝试附接到具有用于响应消息的最大接收信号强度指示符的父装置。
76.由于多个控制装置在同一时间段内将父请求消息作为多播消息传输,因此父装置可同时或在短时间段内各自接收多个父请求消息。在父装置处接收的父请求消息的数量可阻止父装置能够完全处理附接请求消息(例如,先前或随后接收的)。此外,由接收父请求消息的父装置中的每个父装置传输的父响应消息可同时或基本上同时传输。在相同时间段内传输的父请求消息和父响应消息的数量可由于网络中的控制装置的数量而使网络拥塞(例如,每个领导者装置可支多于30个路由器装置,并且每个路由器装置可支持多于500个终端装置),并且/或者导致消息彼此冲突,这可导致父请求消息或父响应消息中的一者或多者未能被正确接收。当尝试附接到网络上的另一控制装置的控制装置未能接收父响应消息时,控制装置可能无法附接到网络上的其他控制装置,这可增加网络形成完成的时间量。当负载控制系统中的装置中的每个装置被提供电力时,许多控制装置可通过同时或在相同时间段内传输父请求消息来尝试附接到网络上的其他控制装置。
77.尝试附接到网络上的路由器装置的控制装置可被配置为延迟附接以允许其他控制装置附接到网络上的路由器装置。如本文所述,当控制装置尝试附接到网络上的路由器装置时,可以同时或基本上同时传输多个附接消息,这可增加网络上消息冲突的可能性。因此,当控制装置确定另一控制装置正在尝试附接到网络上的路由器装置时,尝试附接到网络上的路由器装置的控制装置可延迟附接。例如,控制装置可通过对退避定时器增加时间来延迟附接,在退避定时器到期之后,控制装置可尝试附接到网络上的控制装置。
78.控制装置可降低控制装置尝试附接到辅助父装置的频率和/或减少控制装置所附接到的辅助父装置的数量,以提高发送请求时附接的可能性。类似于网络附接,当控制装置尝试附接到辅助父装置时,可以同时或基本上同时传输多个消息,这可增加网络上消息冲突的可能性。因此,控制装置可降低控制装置尝试附接到辅助父装置的频率(例如,降低附接到辅助父装置的程序的执行率),这可减小消息冲突的可能性。此外,控制装置可减少附接的辅助父装置的数量,这也可减小消息冲突的可能性。
79.图2b是具有多个网络分区201、202、203(例如,单独网络分区)的网络200b的示例性图示。如图2b所示,网络分区201可包括领导者装置211和路由器装置221a、221b、221c、221d。此外,网络201可包括终端装置231a、231b;符合路由器条件的终端装置241;以及休眠
终端装置251。如图2b所示,路由器装置221a可以是父装置(例如,终端装置231a和休眠终端装置251的父装置)。类似地,路由器装置221d可以是符合路由器条件的终端装置241的父装置,并且路由器装置可以是终端装置231b的父装置。路由器装置221c可以是终端装置231b的辅助父装置。例如,可以为网络分区201中的路由器装置221a至221d中的每一者分配唯一路由器标识符。网络分区202可包括以下父装置:领导者装置212和路由器装置222a、222b、222c、222d。此外,网络202可包括子装置,诸如:终端装置232a、232b;符合路由器条件的终端装置242;以及休眠终端装置252。例如,可以为网络分区202中的路由器装置222a至222d中的每一者分配唯一路由器标识符。网络分区203可包括单个父装置(领导者装置213)和单个终端装置(终端装置223)。
80.如图2b所示,网络分区203可包括领导者装置213和终端装置223。然而,网络分区203可能无法包括路由器装置。相反,领导者装置213可用作网络分区203内唯一的路由器装置。未连接或附接到路由器装置的领导者装置可被称为单例装置。例如,领导者装置213可以是单例装置。如图2b所示,单例装置可连接到一个或多个子装置(例如,终端装置223)。网络分区203可以是单例分区。如图2b所示,单例分区可包括领导者装置(例如,领导者装置213)。此外,单例分区可包括一个或多个终端装置(例如,终端装置223)。然而,如图2b所示,单例分区可以不包括路由器装置。
81.网络200b可允许负载控制系统(例如,负载控制系统100)中的控制装置之间的通信。此外,网络分区201、202、203可由于某些控制装置不能附接到已经形成的网络分区而形成。例如,如本文所述,控制装置可尝试通过传输父请求消息(例如,多播父请求消息)来附接到网络分区上的另一控制装置。然而,如果控制装置未能接收到对父请求消息的响应消息(例如,因为控制装置在已经形成的网络分区的路由器装置的通信范围之外),则控制装置可尝试形成其自身的网络分区(例如,成为新网络分区的领导者装置)。
82.不能附接到网络分区的控制装置可形成另一网络分区。例如,参考图2b,领导者装置213可能已经不能附接到网络分区201、202上的路由器装置(例如,因为领导者装置213在网络分区201、202上的路由器装置的通信范围之外)。因此,领导者装置213可形成网络203,并且终端装置223可附接到网络分区203。类似地,领导者装置212可能已经不能附接到网络分区201、203(例如,因为领导者装置212在网络分区201、203的路由器装置的通信范围之外)并形成网络分区202。
83.网络分区可与分区标识符(例如,分区id)相关联。分区标识符可以是随机或伪随机分配的(例如,从标识符的范围或列表中随机分配)。例如,相应网络分区的优先级可基于网络分区的分区标识符。分区标识符可通过从分区标识符值的范围中随机选择数字来分配。现在参考图2b,网络分区201、202、203可各自与相应的分区标识符相关联。例如,网络分区202可被分配分区标识符1,网络分区203可被分配分区标识符2,并且网络分区201可被分配分区标识符3。虽然网络分区201、202、203的分区标识符是顺序的(例如,为了提供简化的解释),但是将分区标识符分配给网络分区可以是顺序的、非顺序的和/或随机的。如本文所述,分区标识符还可以是相应网络分区201、202、203的优先级的指示。例如,分区标识符还可以是相应网络分区201、202、203的优先级值(例如,网络分区201、202、203的相应优先级可以是3、1和2)。此外,较高优先级值可指示较高的网络分区优先级(例如,基于分区标识符,则网络分区201可以是比网络分区202、203更高优先级的网络分区)。
84.可基于网络分区中的控制装置(例如,路由器装置和/或终端装置)来将优先级分配给相应的网络分区。例如,除了领导者装置之外还具有至少一个路由器装置的网络分区可被给予比仅具有领导者装置而没有其他路由器装置的网络分区更高的优先级。参考图2b,网络分区201可被给予比网络分区203更高的优先级,因为除了领导者装置之外,网络分区201还具有路由器装置221a至221d,而网络分区203没有路由器装置。此外,可基于网络分区中的控制装置(例如,路由器装置和/或终端装置)的数量来将优先级分配给相应的网络分区。参考图2b,网络分区201可被给予比网络分区203更高的优先级,因为网络分区201在网络分区中可具有更多数量的控制装置。网络分区中的每个控制装置可在其上本地存储网络分区中的控制装置的数量。具有相同数量的控制装置的网络分区可使用不同的分区标识符被给予不同的优先级,如本文所述。例如,如图2b所示,网络分区201和网络分区202可具有相同数量的控制装置(例如,路由器装置和/或终端装置)。基于网络分区201具有较高或较低分区标识符,网络分区201可具有较高优先级。
85.当控制装置附接到网络分区201、202、203中的每一者时,网络分区中的每个网络分区的有效通信范围可增加。此外,最初不能附接到网络分区201、202、203中的一者或多者的控制装置(例如,因为控制装置先前在所有网络分区的通信范围之外)随后可能能够附接到网络分区201、202、203中的一者。此外,与当形成多个网络分区(例如,网络200b具有多个网络分区201、202、203,如图2b所示)时相比,当形成单个网络分区(例如,网络200a具有单个网络分区,如图2a所示)时可以更好地促进负载控制系统内的通信。例如,当形成单个网络分区时,可以更好地促进负载控制系统内的通信,因为网络分区中的控制装置可能不能向附接到另一网络分区的控制装置传输消息(例如,网络分区中的控制装置可能不能与网络分区外部的其他装置通信)。因此,如果附接到第一网络分区的控制装置也在第二网络分区的通信范围内,则该装置可尝试与第一网络分区分离并附接到第二网络分区。例如,当第二网络分区的优先级高于第一网络分区的优先级时,控制装置可与第一网络分区分离并附接到第二网络分区。
86.附接到网络分区201、202中的每一者的路由器装置可各自与一通信范围相关联。相应路由器装置中的每个路由器装置的通信范围可以是预定义的和/或预配置的。例如,相应路由器装置中的每个路由器装置的通信范围可基于相应路由器装置中的每个路由器装置的硬件部件来预定义和/或预配置。相应网络或网络分区的有效通信范围可基于附接到相应网络的路由器的通信范围(例如,附接到相应网络的路由器中的每个路由器的通信范围的总和)。结果,相应网络或网络分区的通信范围可随着附接到相应网络的路由器装置的数量的增加而增加。
87.如本文所述,附接到较低优先级网络分区的控制装置可尝试附接到较高优先级网络分区。例如,附接到网络分区202的控制装置可尝试附接到网络分区201(例如,当网络分区201具有优先级值3并且网络分区202具有优先级值1时)。路由器装置222a可从附接到网络分区201的控制装置(例如,从路由器装置221d)接收分区通告消息。通告消息可包括网络201的分区标识符(例如,3)可大于网络分区202的分区标识符的指示,并且可指示网络分区201是比网络202更高优先级的网络分区。路由器装置222a可确定附接到网络分区201(例如,当网络分区201具有较高优先级时)。
88.路由器装置222a可通过向网络分区201的领导者装置(例如,领导者装置211)传输
请求来尝试附接到网络分区201。该请求可包括例如通过请求附接到网络分区201并被分配特定路由器标识符来作为路由器装置附接到网络分区201的请求。例如,路由器装置222a可请求附接到网络分区201并且被分配路由器装置222a在网络分区202中被分配的路由器标识符。作为响应,如果附接到网络分区201的另一路由器装置212a至212d已被分配了所请求的路由器标识符,则领导者装置211可拒绝该请求。如果附接到网络分区201的路由器装置212a至212d中没有一个被分配所请求的路由器标识符,则领导者装置211可接受该请求。如果路由器装置222a附接到网络分区201并且被分配了所请求的路由器标识符,则路由器装置222a的子装置(例如,终端装置232a和休眠终端装置252)可自动附接到网络分区201。如果网络分区201的领导者装置211向路由器装置222a分配了所请求的标识符(例如,如在网络分区202中分配的路由器标识符),则子装置可继续使用相同的路由器标识符与路由器装置222a通信(例如,当子装置使用路由器标识符与路由器装置222a通信时)。
89.图2c和图2d是随着网络200c在网络形成中推进或进展的示例性网络200c的图示。如图2c所示,网络200

可包括领导者装置214和终端装置234a。由于网络200”处于网络形成的初始阶段,因此网络200

可能还不包括路由器装置。结果,终端装置234a可附接到领导者装置214(例如,当网络200c上还不存在其他路由器装置时)。然而,领导者装置214和终端装置234a之间的通信链路(例如,父/子链路)可能是弱的(例如,由终端装置234a接收的消息的接收信号强度指示符可以是大约-60db)。例如,领导者装置214和终端装置234a之间的通信链路可能是弱的,因为领导者装置214和终端装置234a不靠近彼此定位。如果领导者装置214和终端装置234a之间的通信链路是弱的,则领导者装置214和终端装置234a之间的消息传输和/或接收失败的可能性可增加。
90.图2d示出了在比图2c所示的网络形成阶段更晚的网络形成阶段期间的网络200c。如图2d所示,随着网络形成推进(例如,随着时间进展),网络200c可增长以包括附加控制装置。例如,网络200c可增长以包括路由器装置224a、224b。此外,路由器装置224a、224b可以被定位成靠近终端装置234a(例如,定位成比领导者装置214更靠近终端装置234a)。此外,由路由器装置224a、224b传输并且由终端装置234a接收的消息的接收信号强度指示符可能较强(例如,强于由领导者装置214传输并由终端装置234a接收的接收信号强度指示符,诸如分别为-35db和-30db)。因此,路由器装置224a、224b和终端装置234a之间的潜在通信链路(例如,潜在父/子链路)可强于领导者装置214和终端装置234a之间的通信链路。此外,如图2d所示,路由器装置224b和终端装置234a之间的潜在通信链路可强于路由器装置224a和终端装置234a之间的潜在通信链路(例如,当路由器装置224b比路由器装置224a更靠近终端装置234a定位时)。
91.随着网络形成进展或推进,附加装置附接到网络。结果,如果终端装置234a确定与初始父装置(例如,领导者装置214)分离并附接到更新后的父装置(例如,路由器装置224a或路由器装置224b),则终端装置234a可通过网络200c体验更好的通信。例如,如本文所述,更新后的父装置可被定位成比初始父装置更靠近终端装置234a(例如,使得更新后的父装置和终端装置234a可具有更强的通信链路),这可增加消息传输和/或接收成功的可能性。结果,随着网络形成推进,终端装置可确定是否附接到更新后的父装置。虽然图2c和图2d是使用其中装置的相对定位可增加或减少在两个装置之间共享的通信链路的示例来描述的,但是其他条件可影响在两个装置之间共享的通信链路(例如,视线、干扰、信号障碍等)。在
此意义上,图2c和图2d的场景仅仅是示例,以说明网络可随时间推移而改变,并且可考虑网络的变化以尝试增加通过网络的通信。
92.图2e是示例性网络200d的图示。如图2e所示,网络200d可包括领导者装置215和路由器装置225a、225b、225c、225d、225e、225f。在网络200d中,路由器装置(例如,领导者装置215和路由器装置225a、225b、225c、225d、225e、225f)可周期性地传输通告消息,所述通告消息可用于计算网络200d中的通信的代价和/或质量。例如,路由器装置225c可发送由领导者装置215接收的通告消息,并且领导者装置215可发送由路由器装置225c接收的通告消息。每个路由器装置可测量所接收的通告消息的接收信号强度量值(例如,接收信号强度指示符(rssi)),并且计算接收到通告消息时的链路质量(例如,向内链路质量(lqi))。
93.每个路由器装置(例如,领导者装置215和路由器装置225a、225b、225c、225d、225e、225f)可发送通告消息作为多播消息。由路由器装置传输的通告消息可由与传输通告消息的路由器装置共享单跳通信链路的相邻路由器装置接收。单跳通信链路可能能够经由单播和/或多播通信将消息(例如,数字消息)从路由器装置直接传送到另一路由器装置。例如,路由器装置225a、225c可以是与领导者装置215共享单跳通信链路的相邻装置,因为路由器装置225a、225c能够直接向领导者装置215发送数字消息和/或直接从领导者装置215接收数字消息。单跳通信链路可以是路由器装置可能能够在其上直接接收高于给定链路质量(例如,lqi大于0)的通告消息的通信链路。
94.在路由器装置从另一路由器装置接收到周期性通告消息之后,该路由器装置可计算经由其接收通告消息的通信链路的通信度量,诸如向内链路质量(例如,lqi)。lqi可被计算为在指示两个装置之间的通信链路的不同链路质量的范围内的预定义数字。例如,lqi可由值0、1、2或3来指示。lqi的不同指示符可基于所接收的通告消息的rssi和相对于预定义接收电平的链路余量来分配。接收电平可以是预定义的最小接收电平。接收电平可被建立为网络上的通信的预定义rssi值。例如,接收电平可由噪声基底定义,该噪声基底被设置为一段时间内在网络上生成的噪声的平均rssi值。在使用接收电平作为噪声基底的示例中,当一个或多个通告消息的rssi值(例如,一段时间内通告消息的平均rssi)高于噪声基底至少2db的链路余量时,路由器装置(例如,领导者装置215或路由器装置225c)可计算在来自相邻路由器装置的链路上接收的通信的lqi为1。当一个或多个通告消息的rssi值(例如,一段时间内通告消息的平均rssi)高于噪声基底至少10db的链路余量时,路由器装置(例如,领导者装置215或路由器装置225c)可计算在与相邻路由器装置的链路上接收的通信的链路质量为2。当一个或多个通告消息的rssi值(例如,一段时间内通告消息的平均rssi)高于噪声基底至少20db的链路余量时,路由器装置(例如,领导者装置215或路由器装置225c)可计算在与相邻路由器装置的链路上接收的通信的链路质量为3。当一个或多个通告消息的rssi值(例如,一段时间内通告消息的平均rssi值)不能被确定为高于噪声基底时,链路质量值为零可指示链路质量是未知的或无限的。尽管提供了指示链路质量的不同水平和/或可分配给这些水平的不同链路余量的预定义数字的示例,但可使用其他指示符和/或值来定义两个路由装置之间的链路质量。另外,虽然可提供单独的路由装置作为示例(例如,领导者装置215或路由器装置225c),但是其他路由装置可类似地计算相邻路由装置之间的通信链路的链路质量。
95.在每个控制装置(例如,领导者装置215和路由器装置225c)处本地测量的通信链
路的lqi可与通信链路上的其他装置交换。例如,lqi可在每个控制装置本地测量,并且经由通告消息传输到其他装置。由另一路由器装置(例如,在通信链路的另一侧上)测量并且在路由器装置处接收的lqi可被存储为通信链路的向外链路质量(lqo)。lqi和/或lqo可被存储在每个路由装置处的本地路由器表中。例如,领导者装置215可在路由器表229中存储与网络200d中的每个路由器装置的通信链路的lqi和/或lqo。类似地,路由器装置225c可在路由器表261中存储用于与网络200d中的每个路由器装置通信的lqi和lqo。
96.如本文所述,从存储了路由器表229、261的装置的角度来看,路由器表229、261可各自标识用于与网络200d中的每个路由器通信的网络信息。网络200d中的路由器装置的数量和/或网络200d中使用的路由器标识符可从位图227确定,如本文所述。位图227可由领导者装置215维护,并且被分发到其他路由装置以用于本地维护它们的路由器表。例如,路由器装置225a、225c可接收位图227并更新它们的本地路由器表。位图227可指示路由器表中的行数(例如,指示网络中所标识的路由器装置的数量)和/或要包括在路由器表中的路由器标识符。路由器装置可为路由器表中所指示的路由器标识符维护更新后的网络信息。路由器表中更新的网络信息可包括位图227中标识的路由器之间的通信链路的lqi和/或lqo。例如,路由器225c可从领导者装置215接收位图227,并且更新路由器表261以将在位图277中指示的路由器包括在表261中,或者移除表261中在位图277中指示为不能在网络中使用的路由器。
97.领导者装置215和路由器装置225a、225b、225c、225d、225e、225f可各自使用其相应路由器表中的lqi和lqo来计算用于在与其他路由器装置的通信链路上进行通信的链路代价。两个路由器装置之间的通信链路的链路质量可以是在两个装置之间的单跳通信链路上传输出的数字消息的链路质量的值(例如,lqo)和接收的数字消息的链路质量的值(例如,lqi)中的较小者。为零的lqo或lqi可指示路由器装置未能具有与路由器表中列出的路由器装置的直接通信链路。
98.用于在通信链路上的装置之间发送通信的链路代价可直接对应于通信链路上的通信的链路质量。链路代价可指示通信链路上的通信的相对代价或损失。图2f所示的表262示出可对应于不同链路质量的示例性链路代价。如图2f的表262所指示,对于两个相邻装置之间的通信链路上的通信,较高的链路质量可对应于较低的链路代价。
99.路由器装置可使用每个通信链路的链路代价来计算路由器装置与网络200d中的另一路由器装置之间的通信的路径代价。路径代价可指示在可包括一个或多个路由器装置的整个通信路径上的通信的相对代价或损失。可将一个通信路径的路径代价与另一个进行比较,以确定用于发送数字通信的较高质量通信路径,该通信路径可具有与数字消息的传输相关联的较低的相对代价。
100.路径代价可指示用于将数字消息从起始路由器装置传送到结束路由器装置的总代价。例如,路径代价可被计算为网络200d中数字消息可源自的起始路由器装置和可接收数字消息的结束路由器装置之间的每一跳的链路代价的总和。每个路由器装置可将单跳通信链路上到相邻装置的路径代价计算为等于链路代价,并且将路径代价存储在本地存储的路由器表中。例如,路由器装置225c可将与领导者装置215的通信的路径代价设置为等于通信链路上的链路代价(例如,lqi和lqo中的较低者),并且将路径代价存储在路由器表261中。类似地,路由器装置225c可将与路由器装置225b的通信的路径代价设置为等于通信链
路上的链路代价(例如,lqi和lqo中的较低者),并且将路径代价存储在路由器表中。
101.每个路由器装置(例如,领导者装置215和路由器装置225a、225b、225c、225d、225e、225f)可基于从另一路由器装置接收的路径代价信息来更新向/从其相应路由器表中的每个路由器装置传送数字消息的路径代价。例如,由于路由器装置225b可能不能直接与领导者装置215通信,因此路由器装置225b可接收用于通过网络200d中的另一路由器传送数字消息的路径代价信息。路由器225c可在由其他路由器装置接收的多播消息中传输用于向/从领导者装置215传送数字消息的路径代价(例如,路径代价=2)。例如,多播消息可以是通告消息。路由器装置225b可接收用于在领导者装置215和路由器装置225c之间传送数字消息的路径代价(例如,路径代价=2)。为了计算用于通过路由器装置225c在路由器装置225b和领导者装置215之间传送数字消息的总路径代价,路由器装置225b可将用于路由器装置225b和路由器装置225c之间的通信的链路代价(例如,链路代价=1)加上从路由器装置225c接收的路径代价(例如,路径代价=1),以获得总路径代价(例如,路径代价=3)。路由器装置225b与路由器装置225c之间的通信的链路代价可根据路由器装置225b与路由器装置225c之间的通信链路的链路质量来确定,该链路质量可以是通信链路的lqi和lqo中的较小者(例如,链路质量=3)。
102.每个路由器装置可向网络200d中的一个或多个其他路由器装置发送/广播包括路径代价的通告消息。从发送通告消息的路由器装置接收路径代价信息的路由器装置可在其本地路由器表中更新其相应的路径代价信息(例如,通过将用于与发送通告消息的路由器装置的通信的链路代价加上所接收消息中的路径代价)。每个路由器装置可使用本地存储的路径代价信息来标识可以通过其传送数字消息的路径。例如,从路由器装置225b传输到领导者装置215的数字消息可通过路由器装置225a或路由器装置225c来传送。路由器装置225b可从路由器装置225a和路由器装置225c接收相应的通告消息,该通告消息指示路由器装置225a和领导者装置215之间的数字消息的通信的路径代价与路由器装置225c和领导者装置215之间的数字消息的通信的路径代价相同(例如,在每个通信链路上,路径代价=2)。路由器装置225b可将为在路由器装置225b和路由器装置225c之间传送消息而计算的链路代价(例如,链路代价=1)加上在来自路由器225c的通告消息中接收的路径代价信息(例如,路径代价=2),以确定用于通过路由器装置225c与领导者装置215通信的总路径代价(例如,总路径代价=3)。路由器装置225b可类似地将为在路由器225b和路由器225a之间传送消息而计算的链路代价(例如,链路代价=2)加上在来自路由器225a的通告消息中接收的路径代价信息(例如,路径代价=2),以确定用于通过路由器装置225a与领导者装置215通信的总路径代价(例如,总路径代价=4)。路由器装置225b可用为与领导者装置215通信而计算的最低路径代价和/或要通过其传输数字消息的路由器装置(例如,路由器225c)的标识符来更新本地存储的路由器表。每个路由器装置可类似地用为与网络200d中的其他路由器装置通信而计算的最低路径代价来更新其相应的本地存储的路由器表。例如,如图2e所示,领导者装置215和路由器装置225c可各自为与网络200d中的其他路由器装置通信而计算最低路径代价,并将路径代价存储在相应路由器表229、261中。路由器表229、261还可在其中存储有来自相应装置215、225c的下一跳的路由器标识符,数字消息要通过所述相应装置被传送以实现与目的地路由器装置的通信的计算路径代价。
103.通过周期性地更新链路质量(例如,lqi和/或lqo)、链路代价和/或路径代价,并且
在周期性通告消息中将路径代价传送到其他路由器装置,每个路由器装置可具有最新的路径代价信息,以用于将数字消息传送到网络200d中的其他路由器装置。路由器装置可使用最佳通信路径(例如,最低代价路径)来将数字消息传送到另一装置。该路由机制可允许路由器装置检测其他路由器装置何时已从网络200d掉线,或者路由器之间的路径代价何时已改变,并且计算下一个最低代价路径以维持与网络200d中的其他路由器装置的连接性。
104.为了区分在周期性通告消息中传输的相对较旧的数据与在周期性通告消息中传输的相对较新的数据,可以用序列号来传送通告消息。领导者装置(诸如领导者装置215)可负责更新序列号并将更新后的序列号分发到网络中的其他路由器装置(例如,网络200d中的路由器装置225a、225b、225c、225d、225e、225f)。例如,领导者装置215可周期性地(例如,在传输一个或多个通告消息之后)和/或在将路由器装置添加到网络之后递增序列号。可更新序列号以允许网络中的路由器装置(例如,网络200d中的领导者装置215和/或路由器装置225a、225b、225c、225d、225e、225f)识别在通告消息中传输的更新后的网络信息。例如,由于路由器装置(例如,网络200d中的领导者装置215和/或路由器装置225a、225b、225c、225d、225e、225f)可周期性地传送包括指示关于与网络中的其他路由器装置通信的路径代价的路径代价信息的通告消息,因此可以更新序列号以标识更新后的路径代价信息。
105.在领导者装置215更新序列号之后,领导者装置215可以将序列号分发到网络中的其他路由器装置。例如,领导者装置215可在其自身的通告消息中使用序列号。在接收到更新后的序列号之后,每个路由器装置可将更新后的序列号用于从网络上的路由器装置传输的后续通告消息。从领导者装置215传输到其他路由器装置的每个序列号可在路由器装置的通告消息中使用,直到领导者装置215分发了后续序列号。例如,路由器装置225c可直接从领导者装置215接收序列号,并且在后续通告消息中使用该序列号。路由器装置225b可接收从路由器装置225c传输的通告消息中的序列号,并且在从路由器装置225b传输的后续通告消息中使用该序列号。路由器可各自使用当前序列号,直到接收到源自领导者装置215并从该领导者装置分发的更新后的序列号。当路由器装置从非领导者路由器装置(例如,路由器装置225a、225b、225c、225d、225e、225f)接收到具有更新后的序列号的通告消息时,每个路由器装置可更新路由器表中的本地存储的网络信息。如果路由器装置接收到具有与先前接收的通告消息相同的序列号和/或先前从相同的非领导者路由器装置接收的通告消息,则路由器装置可能无法处理该通告消息。如果路由器装置未能在预定义的时间段(例如,数分钟、数秒等)内接收到更新后的序列号,则路由器可假设领导者装置215不可用于通信(例如,离线,断电,从网络掉线,改变角色,或者以其他方式不能与路由器装置通信),并且尝试形成具有另一领导者装置215的另一网络或网络分区。
106.如本文所述,附接到网络(诸如网络200a、200b、200d)的控制装置可各自被分配相应的角色。被分配了某些角色的控制装置(诸如领导者装置或路由器装置)可促进与被分配了其他角色的控制装置(诸如终端装置)的通信。控制装置的角色可在先来先服务(first-come-first-serve)的基础上分配。例如,首先加入到网络的控制装置被分配了促进随后加入到网络的其他控制装置的通信的角色。随着网络发展和其他装置被添加到网络中或网络附近,这可导致通信链路的质量下降。例如,控制装置可彼此建立链路(例如,父子链路、辅助父链路、路由器到路由器链路),所述链路在此时提供最佳质量的通信链路。
107.在形成网络200d(例如,最初执行的认领程序(claiming procedure),最初执行的
加入程序,最初执行的附接程序和/或为建立网络而执行的其他程序)之后,控制装置可失去电力并且/或者在接收到电力后被重置。例如,网络200d中的控制装置可在停电或导致网络200d失去电力的一些其他事件之后被关断和重新接通。在重置之后(例如,在恢复电力之后),领导者装置215和路由器装置225a、225b、225c、225d、225e、225f可尝试例如通过重新附接到网络并恢复它们在网络上的先前角色来重新形成网络200d。然而,如果领导者装置215和路由器装置225a、225b、225c、225d、225e、225f尝试同时或基本上同时重新附接到网络,则消息冲突的可能性可增加,这可导致网络重新形成失败或变得延迟。
108.在重置之后,附接到网络200d的控制装置可尝试重新形成网络。为了减小消息冲突的可能性并减少网络重新形成完成的时间段,在重置之前附接到网络200d的控制装置可尝试以预定义方式(例如,顺序地)附接到网络。例如,附接到网络200d的控制装置可根据所存储的标识符的值以设定的顺序方式顺序地附接到网络。此外,附接到网络200d的控制装置可基于其相应的来自领导者装置215的跳计数附接到网络。先前形成的网络中的跳计数和/或角色可被存储在每个控制装置处,或者在通电之后以其他方式从另一装置进行通信。
109.参考图2e,领导者装置215可恢复其作为网络的领导者装置的角色,并重新形成网络200d。在领导者装置215恢复其角色并且/或者传输领导者通告消息之后,路由器装置225a、225b、225c、225d、225e、225f可基于其相应的来自领导者装置215的跳计数附接到网络。例如,具有较低跳计数的路由器装置可从领导者装置215接收领导者通告消息,并且可加入先前形成的网络和/或重新附接到先前形成的网络,以便比具有较高跳计数的路由器装置更快地恢复其相应的角色。
110.路由器装置225a、225b、225c、225d、225e、225f可基于每个装置的协调启动时间来尝试加入先前形成的网络200d和/或附接到先前形成的网络中的父装置。对于相应路由器装置225a、225b、225c、225d、225e、225f,协调启动时间可以是个性化的,使得协调启动时间触发路由器装置225a、225b、225c、225d、225e、225f以开始其相应的加入程序和/或附接程序。参考图2e,路由器装置225a、225c可重新加入网络和/或重新附接到领导者装置215。在路由器装置225a、225c重新附接到领导者装置215之后,路由器装置225b、225d、225e可重新加入先前形成的网络和/或重新附接到路由器装置225b、225d、225e在先前形成的网络中所附接到的路由器装置220a、220c。在路由器装置225b、225d、225e重新附接到路由器装置225a、225c之后,路由器装置225f可重新加入先前形成的网络和/或重新附接到路由器装置225d。
111.如本文所述,网络可用于促进负载控制系统的相应装置之间的通信。对于经由网络进行通信的相应控制装置,控制装置可例如通过发起调试程序来加入到网络。图3是示例性调试程序300的流程图。程序300可由控制装置(例如,终端装置,诸如终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)来执行,该控制装置正在尝试加入到网络(例如,网络200、200a、200b、200c、200d,和/或网络分区201、202、203)和/或附接到该网络上的另一装置。例如,当控制装置首次被供电并尝试加入到网络和/或附接到网络上的另一装置时,控制装置可在301处进入程序300。
112.在302处,控制装置可执行认领程序。认领程序可用于发现控制装置并认领用于添加到网络的控制装置。例如,可使用用户的移动装置(例如,移动装置190)来认领负载控制系统(例如,图1所示的负载控制系统100)中的控制装置。每个控制装置可由用户的移动装
置认领以用于加入到网络(例如,经由如本文所述的加入程序),和/或附接到网络上的其他装置(例如,经由如本文所述的附接程序)。每个控制装置可经由短程无线通信链路(例如,使用ble技术、近场通信(nfc)技术或其他短程无线技术)传输信标(例如,控制装置信标)。移动装置可发现(例如,接收)由负载控制系统中的控制装置传输的信标。每个信标可包括传输相应信标的控制装置的唯一信标标识符。唯一信标标识符可以是信标标识符。唯一信标标识符可包括控制装置本身的唯一装置标识符(例如,序号)。
113.移动装置可标识其相应信标以高于预定义值的接收信号强度指示符(rssi)被接收的一个或多个控制装置信标。例如,移动装置可标识传输所接收的具有最强接收信号强度指示符的信标中的一个或多个信标,并且移动装置可向一个或多个控制装置传输连接消息。执行调试程序300的控制装置可从移动装置接收连接消息,该连接消息可被配置为建立与移动装置的连接(例如,双向通信连接)。
114.连接消息可向控制装置指示控制装置已被选择用于认领。连接消息可作为认领消息来操作,或者可在移动装置和控制装置之间建立连接之后发送单独的认领消息。认领消息可指示控制装置已被认领用于添加到网络。响应于接收到认领消息,控制装置可向移动装置传输认领确认消息。认领确认消息可包括可用于将控制装置加入到网络的配置信息。例如,配置信息可包括控制装置的唯一装置标识符(例如,序号)和/或用于加入到网络的网络凭证。网络凭证可包括网络的网络密钥、控制装置的网络地址(例如,thread网络地址)和/或控制装置的加入者标识符。可通过经由rf通信(例如,蓝牙或其他短程通信)从调试装置接收用于网络的凭证来利用网络凭证对控制装置进行编程,或者可将凭证预先存储在控制装置处(例如,在制造时)。当唯一信标标识符不是控制装置的唯一装置标识符时,可在认领确认消息中发送控制装置的唯一装置标识符(例如,序号)。网络地址和/或加入标识符可在加入程序期间使用,以允许控制装置加入到网络。
115.在302处的认领程序期间,或者在调试程序300期间,移动装置可将信息写入正被认领的控制装置。例如,移动装置可写入控制装置被认领的时间、移动装置的标识符和/或在移动装置上执行认领程序的应用程序,以及/或者帮助控制装置通过加入程序进入thread网络的信道信息。该信息可在认领消息中或在与移动装置建立的连接上的单独消息中发送,以便存储在控制装置处。当移动装置从移动装置所连接到的控制装置接收到认领确认消息时,移动装置可将控制装置的唯一装置标识符、控制装置的网络地址(例如,thread网络地址)和/或控制装置的加入者标识符存储在存储器中。
116.用户可继续在安装了负载控制系统的空间中四处移动移动装置,以利用附加控制装置执行认领程序。当用户完成认领控制装置(例如,移动装置已认领负载控制系统的控制装置的全部或一部分)时,移动装置可将配置信息从所认领的装置上传到中央计算装置,诸如调试装置(例如,系统控制器110)。上传的配置信息可用于标识正在加入到网络的装置。中央计算装置可以是系统控制器或能够与负载控制系统中的其他控制装置通信的其他装置。中央计算装置可被安装在正在调试的空间处,或者可以是远程计算装置。虽然在302处将移动装置描述为在认领程序期间执行与一个或多个控制装置的通信的装置,但是其他计算装置也可在认领程序期间执行与一个或多个控制装置的类似通信。例如,另一计算装置(诸如调试装置或系统控制器)可执行与一个或多个控制装置的通信以执行认领程序或其部分。
117.在304处,控制装置可执行加入程序。在304处的加入程序期间,控制装置可以寻找要加入的网络。控制装置可周期性地在用于在302处的认领程序期间被认领的信标模式与在304处的加入程序期间收听要加入的网络之间切换。在被认领之后,控制装置可开始在304处的加入程序。如本文所述,在加入程序期间,控制装置可传输和/或接收加入消息(例如,加入到无线网络的消息,诸如加入请求消息和/或加入响应消息)。作为加入程序的结果,并且如本文进一步所述,控制装置可具有网络密钥,该网络密钥可允许装置通过网络发送和/或接收消息。
118.在加入程序期间,控制装置可停止在第一无线通信介质(例如,使用ble技术)和/或第二无线通信介质(例如,无线通信网络)上连续地传输(例如,周期性地传输)控制装置信标。控制装置可收听无线通信网络以确定加入消息(例如,加入请求消息)是否正在无线通信网络上被传输。如果移动装置在移动装置正在执行认领程序时尝试重新连接到控制装置,则控制装置可继续经由第一无线通信介质(例如,以比在认领程序中更慢的速率)周期性地传输控制装置信标。
119.控制装置可在加入程序期间从中央计算装置或调试装置接收加入请求消息。控制装置可用加入到网络的请求来响应。中央计算装置或调试装置可用在认领程序期间获得的配置信息的一个或多个部分来质询控制装置。例如,加入请求消息或者来自中央计算装置或调试装置的另一消息可包括来自用户装置的对网络凭证(例如,网络密钥)的一个或多个部分的请求。在一个示例中,中央计算装置或调试装置可标识加入请求消息中的网络凭证中的网络地址,并从控制装置请求加入者标识符。控制装置可用加入者标识符或者网络地址和加入者标识符来响应以加入到网络或网络分区。中央计算装置或调试装置可根据消息中的唯一标识符将控制装置标识为所认领的装置,并且确认网络凭证的准确性以将控制装置加入到网络。中央计算装置可将网络密钥传输到控制装置,该控制装置可使用网络密钥来连接到网络。
120.在306处,控制装置可发起附接程序。在控制装置加入到网络之后,在306处,控制装置可例如尝试附接到网络上的另一装置(例如,领导者装置或路由器装置)以形成网状网络(例如,网络的形成)。为了附接到网络上的另一装置,控制装置可经由网络发送和接收多个附接消息。例如,在306处,控制装置可发起程序500的执行(例如,开始退避定时器)。控制装置还可以或可替代地执行如本文所述的其他附接程序。
121.尽管图3描述了认领程序、加入程序和附接程序,但是可执行这些程序中的一个或多个程序。例如,认领程序和/或加入程序可被省略或修改,因为控制装置可具有预先存储在其上的网络凭证(例如,在制造时或由诸如移动装置之类的另一装置写入其上的存储装置)。另外或可替代地,图3所示的认领程序、加入程序和附接程序可被组合。例如,加入程序和附接程序可被组合(例如,加入程序可包括附接程序)。当控制装置加入到网络时,附接程序可作为加入程序的一部分来执行。可在控制装置已加入到网络之后独立地执行附接程序,以使控制装置能够附接到网络中的另一装置。也就是说,尽管图3中所示的程序中的每个程序都被清楚地描述,但是认领程序、加入程序和附接程序可各自被组合或者以各种组合来执行。
122.此外,在302处,中央计算装置可在认领程序期间向控制装置传输网络凭证。网络凭证可由控制装置使用以直接附接到网络上的另一装置。例如,控制装置尝试附接到的网
络装置可向控制装置质询网络凭证,如本文所述。如本文所述,可在向控制装置提供电力并且接通装置之后执行认领程序、加入程序和/或附接程序中的一者或多者。还可执行这些程序中的一个或多个程序以重新形成网络或将控制装置重新附接到网络。
123.如本文所述,控制装置可加入到网络和/或附接到网络上的另一装置,以便与网络上的其他控制装置通信。然而,如果控制装置尝试与其他控制装置同时或基本上同时附接到网络上的另一装置,则消息冲突的可能性可增加并且/或者控制装置可能无法附接到网络上的另一装置。为了减小消息冲突的可能性,控制装置可延迟其相应的附接程序,使得控制装置附接到网络上的其他装置(例如,顺序地而不是同时地附接,同时地附接可增加消息冲突的可能性和/或增加相应控制装置未能附接到网络上的另一装置的可能性)。例如,尝试附接到网络上的其他装置的控制装置可基于协调启动时间来延迟其相应的附接程序。此外,对于相应的控制装置,协调启动时间可以是个性化的,使得协调启动时间触发控制装置以便以协调方式开始其相应的附接程序。
124.作为初始启动程序的一部分,当控制装置最初被通电和/或尝试最初附接到网络或网络分区上的另一装置(例如,在配置和/或重新配置之后最初被通电之后的初始附接)时,该装置可执行与网络或网络分区上的其他装置协调的启动程序。由于可在控制装置在网络上建立角色以执行通信之前在控制装置处执行初始启动程序,所以可执行网络上的装置的协调启动以在装置正在尝试执行附接程序时减少网络上的消息的延迟和/或潜在冲突。在控制装置已被调试之后,控制装置可在接通时执行附接程序或初始启动程序。
125.图4是用于确定控制装置可发起加入程序的唯一协调启动时间的示例性程序400的流程图,如本文所述,该加入程序可包括附接程序。如本文所述,唯一协调启动时间可以是预留给控制装置以发起加入程序的时间段(例如,其他装置可不在该唯一协调启动时间执行加入程序)。程序400可由控制装置(例如,终端装置,诸如终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)来执行,该控制装置正在尝试附接到网络(例如,网络200、200

、200

,和/或网络分区201、202、203)上的另一装置。例如,在401处,控制装置可进入程序400。该程序可响应于触发事件而在401处针对系统中的每个控制装置(例如,所认领的控制装置)开始。触发事件可以是来自诸如调试装置之类的中央计算装置的消息。在另一示例中,在401处的触发事件可以是通电事件或重置事件。此外,程序400可在其他程序之后执行(例如,作为用于形成网络的初始程序,或者在诸如认领程序和/或加入程序之类的其他程序之后)。
126.在402处,控制装置可确定唯一协调启动时间,其可基于与控制装置相关联的标识符。该标识符可以是分配给控制装置的唯一标识符(例如,序号),如本文所述,这可使得所确定的协调启动时间也能够是唯一的。例如,每个相应控制装置可被分配或配置有标识符。可以分配或配置标识符,使得为每个控制装置分配/配置不同的标识符。例如,标识符可被顺序地分配给控制装置并存储在控制装置处。标识符可以是存储在本文所述的关联信息中和/或用于在系统中的装置之间传送消息的相同标识符。标识符可在制造时存储,或者在安装控制装置之后在负载控制系统处的初始配置或调试程序期间存储。可以基于先前的网络状态在控制装置的操作或运行时间期间确定标识符。控制装置可通过对每个标识符添加延迟来确定协调启动时间。例如,控制装置可对序列中的每个标识符添加附加的一秒延迟(例如,第一标识符获得一秒延迟,第二标识符获得两秒延迟等)。可以将标识符分组以确定协
调启动时间。例如,控制装置可确定其标识符在第一组标识符中,并将延迟设置为等于第一组的值。在一个示例中,控制装置可确定其标识符在第一组五个控制装置中并且等待五秒至十秒的协调启动时间,然后下一组中的控制装置可等待附加的五秒至十秒,依此类推。组中每个装置的延迟可在时间帧内随机化。
127.控制装置可使用唯一的协调启动时间来延迟加入程序的开始。如本文所述,控制装置可执行加入程序以加入到网络(例如,使控制装置能够向加入到网络的其他装置发送和接收消息)。例如,加入程序可包括用于使控制装置附接到加入到网络的另一装置(例如,路由器装置)的附接程序。此外,附接程序可在控制装置和其他装置之间建立父子链路,使得控制装置可通过其他装置通过网络发送和接收消息。控制装置可以使用唯一的协调启动时间,使得每个控制装置将相应的加入程序延迟不同的时间段。如本文所述,如果多个装置同时或基本上同时开始其相应的附接程序(例如,以建立父子链路、辅助父链路和/或路由器到路由器链路程序),则消息冲突的可能性可增加并且/或者网络形成完成的时间可增加。
128.可确定唯一的协调启动时间,使得系统中的控制装置延迟发起其相应的加入程序,从而允许系统中的其他装置开始加入到网络,例如,通过在附接程序期间附接到网络上的其他装置。例如,唯一的协调启动时间可基于相应控制装置的标识符来确定,如本文所述,该标识符可被顺序地分配或配置。具有最低或最高编号标识符的控制装置可在负载控制系统中的其他控制装置之前开始相应的附接程序。
129.控制装置的标识符可用于确定控制装置的唯一协调启动时间。每个控制装置可将预定义的延迟分配给存储在其上的唯一标识符。例如,具有唯一标识符“0001”的控制装置可从触发事件发起第一延迟时间(例如,一秒延迟、十秒延迟),具有唯一标识符“0002”的控制装置可从触发事件发起长于第一延迟时间的第二延迟时间(例如,两秒延迟),依此类推。预定义延迟可应用于标识符中的任何字符(例如,整数、字母、字母数字字符等)或字符系列。
130.由于控制装置的唯一标识符可在制造时被分配,或者在负载控制系统中安装装置之前被分配,因此每个延迟时段可被分配给在一组标识符内的控制装置。例如,第一组标识符(例如,小于“0100”的标识符)中的控制装置可发起第一延迟时间,下一组标识符(例如,小于“0200”的标识符)中的控制装置可发起第二延迟时间,依此类推。
131.控制装置可以知道它们在装置序列中的相对位置,并且基于该序列中的相对位置延迟协调启动时间。例如,控制装置可接收系统中其他控制装置的标识符的列表或表。可在来自诸如调试装置的中央计算装置的消息中接收该列表或表。例如,其他标识符可在来自中央计算装置或调试装置的消息中被接收,该消息作为触发事件传输,用于在每个控制装置处发起附接程序。将其标识符标识为列表或表中的第一个或最后一个的控制装置可开始其附接程序,或者发起第一延迟时间(例如,一秒延迟)。将其标识符标识为列表或表中的第一个或最后一个的下一个控制装置可在下一延迟时间(例如,当第一装置发起延迟时的一秒延迟,或者当第一装置不发起延迟时的两秒延迟)之后开始其附接程序。
132.控制装置可从中央计算装置或调试装置接收唯一协调启动时间的延迟时间。例如,中央计算装置或调试装置可标识本文中的每个装置或装置组的延迟时间,并且将每个控制装置的唯一协调启动时间传送给相应的装置。唯一的协调启动时间可在单播消息中单
独传送到控制装置,或者协调启动时间可在多播消息中传送。
133.控制装置的唯一协调启动时间可在时间帧内分组。例如,一组控制装置的协调启动时间可在时间帧内随机化。具有第一组中的标识符的控制装置可被给予第一时间帧内的随机协调启动时间,具有第二组中的标识符的控制装置可被给予第二时间帧内的随机协调启动时间,依此类推。
134.尽管可使用一定的时间量值(例如,秒)来描述唯一的协调启动时间的延迟时间,但是也可以实现其他的时间量值(例如,毫秒、数十秒等)。控制装置的协调启动时间可被设置在允许一个或多个控制装置在系统中的其他装置之前通电并执行所描述的程序的时间段。
135.在404处,控制装置可等待在402处确定的唯一协调启动时间,并且在等待协调启动时间之后,控制装置可在406处开始加入程序。等待在402确定的协调启动时间可允许控制装置在其他控制装置开始它们的加入程序之前和/或之后的时间开始其相应的加入程序,如本文所述,该加入程序可包括附接程序,这可减小消息冲突的可能性和/或减少网络形成完成的时间量。例如,如果基于顺序地分配或配置给相应控制装置的标识符来确定唯一协调启动时间,则相应控制装置的唯一协调启动时间可顺序地到期,并且相应控制装置可顺序地开始它们的加入程序。
136.本文所述的网络可用于促进负载控制系统内的通信。在网络或其部分形成之后,负载控制系统可经历电力损失(例如,由于断电或导致供应给负载控制系统的电力停止的另一事件)。如果负载控制系统经历电力损失(例如,附接到附接到网络的网络的控制装置经历电力损失)并且/或者控制装置被重置,则负载控制系统内的相应控制装置可重新获得电力并尝试重新形成网络。然而,控制系统内的控制装置可重新获得电力并且尝试同时或基本上同时重新形成网络,这可增加消息冲突的可能性和/或增加网络形成完成的时间量。另外,即使网络或其部分已经形成,控制装置也可尝试执行附接程序。
137.控制装置可在发起附接程序之前应用退避定时器(例如,运行退避时间段的定时器)。在示例中,退避时间段可以是控制装置在尝试附接到网络上的另一装置之前将延迟的时间段。例如,退避定时器可允许尝试加入到网络的其他控制装置执行并完成其相应的附接程序。退避定时器还可减小多个控制装置同时或基本上同时发起附接程序的可能性,如本文所述,同时或基本上同时发起附接程序可导致消息冲突/失败,并且增加网络形成完成所花费的时间量。退避定时器可由控制装置确定,例如,使得控制装置在网络不忙时(例如,当其他装置当前不在执行附接程序时)发起其附接程序。此外,如果控制装置在网络不忙时发起其附接程序,则消息冲突发生的可能性将很低并且网络形成将不会被延迟。例如,控制装置可收听网络流量(例如,通过网络传输的消息),并且基于网络流量来确定退避定时器(例如,估计网络将不忙的时间以发起附接程序)。图6至图8b示出了用于基于网络流量来确定退避时间的示例性程序。
138.图5是用于附接到网络(例如,网络200、200

、200

和/或网络分区201、202、203)上的控制装置的示例性程序500的流程图。程序500可由控制装置(例如,终端装置,诸如终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)来执行,该控制装置正在尝试附接到网络上的另一装置(例如,潜在父装置,诸如领导者装置210和/或路由器装置220a至220d)。例如,可在程序400的406处、程序500的530处和/或程序552的568处执行
程序500。此外,当控制装置通电时,控制装置可在501处发起程序500。此外,程序500可在控制装置已经附接到网络上的父装置之后重新发起。例如,如果控制装置不能与其父装置通信(例如,父装置不插电和/或以其他方式不能与网络通信),则控制装置可与父装置分离(例如,通过发起分离程序),并且可在501处重新发起程序500以附接到另一父装置。此外,当控制装置失去与网络的连接性时(例如,当控制装置不插电或以其他方式失去电力时),控制装置可重新发起程序500。
139.在502处,控制装置可确定执行程序500的控制装置是否附接到网络(例如,网络200a、200b、200c、200d或网络分区201、202、203)上的父装置。如果控制装置没有附接到网络上的父装置,则在504处,控制装置可确定退避定时器是否已开始并且正在运行。如本文所述,在退避定时器到期之后,控制装置可例如通过向其他装置传输附接消息来尝试附接到网络上的另一装置以与其他装置建立链路(例如,路由器到路由器链路、父子链路和/或辅助父链路)。控制装置可基于控制装置想要建立的链路的类型来传输某种类型的附接消息。例如,控制装置可传输被配置为建立父子链路的附接消息,诸如父请求消息(例如,多播父请求消息)。当退避定时器正在运行时,执行程序500的控制装置可避免附接到网络上的父装置(例如,可以不尝试附接到网络上的父装置)。退避定时器的分辨率可以以毫秒为单位并且/或者可由多个位(例如,三十二位)来表示。退避定时器可导致控制装置延迟尝试附接到网络(例如,网络200a、200b、200c、200d或网络分区201、202、203)上的父装置,以允许其他装置附接到网络上的父装置。例如,退避定时器可允许父装置处理来自其他装置的父请求消息。因此,如果退避定时器已经开始并且仍在运行,则程序500可退出。
140.然而,如果退避定时器尚未开始并且/或者当前不在运行,则可在506处生成随机数。例如,可通过从预定义的退避时间范围(例如,零秒至四秒)中随机选择数字来生成随机数。在508处,可以用在506处生成的随机数来初始化退避定时器,并且如本文所述,装置可在退避定时器时间段内避免附接到网络。将退避定时器初始化为所生成的随机数可减小多个装置尝试同时或在相同时间帧内附接到网络的可能性(例如,由于多个装置将不可能生成相同的随机数),并增加装置成功附接到网络的机会。如本文所述,当多个装置尝试同时附接到网络时,传输以附接到网络的消息(例如,父请求消息和父响应消息)可能冲突,这可导致附接失败和/或延迟。在510处,退避定时器可开始(例如,开始倒计时)并且程序500可退出。
141.图6a是由控制装置响应于接收到消息而执行的示例性程序600的流程图。例如,可经由网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)来接收消息。程序600可由控制装置在控制装置正在尝试附接到网络上的另一装置(例如,父装置)时执行。例如,程序600可由未连接到父装置(例如,终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250)的控制装置来执行。如图6a所示,程序600可由控制装置响应于在601处接收到消息(例如,由本文所述的网络中的控制装置传输的消息)而执行。
142.在602处,控制装置可确定退避定时器(例如,在程序500的510处开始的退避定时器)例如在收听网络上的流量时是否正在运行(例如,以确定执行程序600的控制装置当前是否正在尝试附接到网络上的父装置)。如果在602处退避定时器不在运行,则程序600可退出。如果在602处退避定时器正在运行(例如,控制装置当前正在试图附接到网络上的父装
置),则控制装置可在604处确定所接收的消息是否为父请求消息。如本文所述,父请求消息可由尝试附接到网络上的另一装置(例如,路由器装置或领导者装置,本文中也称为潜在父装置)并且与路由器装置建立父子链路的控制装置(例如,尝试作为附接到网络的路由器装置的子装置附接到网络的控制装置)来传输。此外,接收父请求消息的潜在父装置(例如,领导者装置和/或路由器装置)可传输对父请求消息的响应。对父请求消息的响应可同时或基本上同时传输,这可增加网络内消息冲突的可能性。例如,可能没有接收到彼此冲突的消息,并且传输父请求消息的装置可能无法附接到网络上的另一装置。因此,如果在604处该消息是父请求消息,则在606处,控制装置可将第一时间段添加到退避定时器(例如,在程序500的510处开始的退避定时器)。在示例中,控制装置可基于在退避时间段期间(例如,当在退避时段期间收听网络上的流量时)在网络上传输的附接消息的数量来将第一时间段添加到退避定时器(例如,在程序500的510处开始的退避定时器)。例如,第一时间段可以是包括300ms的时间段。对退避定时器增加时间(例如,延长退避时间段)可减小消息冲突发生的可能性,并且允许其他装置无干扰地附接到网络上的父装置,这可优化网络的形成(例如,减少形成具有单个网络分区的网络的时间量)。此外,对退避定时器增加时间可允许装置顺序地附接到网络,例如,使得多个父请求消息不会同时或基本上同时被传输。
143.在608处,控制装置可确定所接收的消息是否是链路请求消息。链路请求消息可由另一路由器装置(例如,刚刚升级到路由器装置的符合路由器条件的终端装置)传输,以与网络上的其他路由器装置建立链路(例如,辅助父链路和/或路由器到路由器链路)。类似于父请求消息,接收链路请求消息的领导者装置和/或路由器装置可各自响应于链路请求消息而传输链路响应消息。由领导者装置和/或路由器装置传输的链路响应消息可同时或基本上同时传输,这可增加网络内消息冲突的可能性。因此,如果在608处所接收的消息是链路请求消息,则在710处,控制装置可将第二时间段添加到退避定时器(例如,在程序500的510处开始的退避定时器)。第二时间段可以是大于第一时间段的时间段。例如,第二时间段可以是625ms。如本文所述,对退避定时器增加时间可允许接收装置处理更多数量的消息并且/或者通过允许其他装置附接到网络来减小发生消息冲突的可能性,这可优化网络的形成(例如,减少形成具有单个网络分区的网络的时间量)。此外,对退避定时器增加时间可允许装置顺序地附接到网络,例如,使得多个链路请求消息不会同时或基本上同时被传输。如果该消息在604处不是链路请求消息或者在608处不是父请求消息,则程序600可退出。
144.图6b是可由控制装置响应于退避定时器(例如,在程序500的510处开始的退避定时器)的到期(例如,在到期之后)执行的示例性程序650的流程图。程序650可由控制装置在控制装置正在尝试附接到网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)上的另一装置(例如,父装置)时执行。例如,程序650可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250在这些装置未附接到父装置时执行。当退避定时器在651处到期时,控制装置可在652处发起附接程序(例如,使控制装置能够附接到路由器装置并通过路由器装置在网络上传输和接收消息)。如本文所述,附接程序可包括传输一个或多个附接消息(例如,父请求消息和父响应消息)。例如,父请求消息可由控制装置传输到路由器装置以附接到网络上的路由器装置,从而在控制装置(例如,子装置)和路由器装置(例如,父装置)之间建立父子链路(例如,使路由器装置成为装置的父装置的请求)。在传输父请求消息之后,执行程序650的控制装置可响应于所传输的父请求
消息而(例如,从接收所传输的父请求消息的任何路由器装置)接收多个父响应消息。由于在退避定时器到期之后传输父请求消息(例如,该退避定时器被初始化为如图5所示的随机值),因此从尝试加入到网络的多个装置传输的父请求消息可在不同的时间被发送,并且允许更多数量的消息被路由器装置正确地处理。
145.随着尝试附接到网络的控制装置的数量增加,在相应控制装置中的每一者上运行的退避定时器可同时或基本上同时到期。如果控制装置在退避定时器正在运行时接收到消息,则控制装置可以将时间段添加到退避定时器。此外,相应控制装置中的每一者可响应于退避定时器的到期而传输父请求消息以附接到网络。然而,当处理在退避定时器正在运行时接收到的消息时,相应控制装置的退避定时器可能“损失时间”(例如,在处理消息时保持退避定时器运行)。此外,如本文所述,相应控制装置的退避定时器可被初始化为从一定范围的数字中随机生成的数字。随着尝试附接到网络的控制装置的数量增加,多个控制装置将其相应的退避定时器初始化为相同随机数的可能性可增加。类似地,随着尝试附接到网络的负载控制装置的数量增加,相应退避定时器中的每一者同时或基本上同时到期的可能性可增加。如果退避定时器同时或基本上同时到期,则可以同时或基本上同时传输父请求消息,这可能导致消息冲突和/或控制装置无法附接到网络。因此,控制装置可例如基于在退避定时器运行时接收到的消息的数量和/或类型来改变退避定时器。
146.图7a是由控制装置响应于接收到消息而执行的示例性程序700的流程图。例如,可经由网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)来接收消息。程序700可在控制装置尝试加入到网络时由控制装置执行,例如,通过发起附接程序以附接到网络上的另一装置(例如,路由器装置)。例如,程序700可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250在这些装置未加入到网络或附接到加入到网络的控制装置时执行。如图7a所示,程序700可响应于在701处接收到消息(例如,由本文所述的网络中的控制装置传输的消息)而执行。虽然未在图7a中示出,但程序700也可在退避定时器不运行时执行。
147.在702处,控制装置可确定退避定时器(例如,在程序500的510处开始的退避定时器)是否正在运行(例如,以确定执行程序700的控制装置当前是否正在尝试附接到网络上的父装置)。如果在702处退避定时器不在运行,则程序700可退出。然而,如果在702处退避定时器正在运行(例如,控制装置当前正在试图附接到网络上的父装置),则控制装置可在704处确定在701处接收的消息是否为父请求消息。
148.控制装置可跟踪在退避定时器正在运行时接收到的父请求消息和链路请求消息的数量。在704处,控制装置可确定该消息是否为父请求消息。如本文所述,父请求消息可被传输以附接到网络上的另一装置,并且多个消息可响应于父请求消息的传输而被传输(例如,由附接到网络的父装置传输)。如果在704处所接收消息是父请求消息,则在706处控制装置可递增第一计数n
pr
(例如,变量)。第一计数n
pr
可指示当退避定时器正在运行时由控制装置接收的父请求消息的数量。
149.在708处,控制装置可确定该消息是否为链路请求消息。如本文所述,可由父装置传输链路请求消息以附接到附接到网络的其他路由器装置。此外,可以响应于链路请求消息的传输而传输多个消息。如果所接收的消息是链路请求消息,则在710处控制装置可递增第二计数n
lr
(例如,变量)。第二计数n
lr
可指示当退避定时器正在运行时由控制装置接收的
链路请求消息的数量。如果该消息在704处不是链路请求消息或者在708处不是父请求消息,则程序700可退出。
150.图7b是由控制装置响应于退避定时器(例如,在程序500的510处开始的退避定时器)的到期执行的示例性程序750的流程图。程序750可由控制装置在控制装置正在尝试附接到网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)上的另一装置(例如,父装置)时执行。例如,程序750可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250在这些装置未附接到父装置时执行。如图7b所示,可在751处响应于退避定时器的到期来执行程序750。在752处,控制装置可确定在退避定时器正在运行时是否接收到任何父请求消息或链路请求消息。例如,控制装置可确定第一计数n
pr
和第二计数n
lr
两者是否均等于0。如本文所述,第一计数n
pr
和第二计数n
lr
可分别指示当退避定时器正在运行时由控制装置接收的父请求消息和链路请求消息的数量。因此,如果第一计数n
pr
和第二计数n
lr
两者均等于0,则既没有接收到父请求消息也没有接收到链路请求消息。
151.当控制装置未能接收到父请求消息或链路请求消息时,控制装置可确定另一装置没有尝试附接到网络上的另一装置或尝试附接到网络上的父装置。此外,控制装置可通过传输父请求消息来确定网络的当前条件对于控制装置尝试附接到网络上的另一装置是最佳的(例如,另一装置可能不会尝试同时或基本上同时附接到网络,这可减小消息冲突和/或网络附接失败的可能性)。例如,当第一计数n
pr
和第二计数n
lr
两者均等于0时,控制装置可假设另一装置可能不会尝试作为控制装置附接到网络上的另一装置。因此,如果在752处第一计数n
pr
和第二计数n
lr
两者均等于0(例如,当退避定时器正在运行时没有接收到父请求消息或链路请求消息),则在754处控制装置可发起附接程序。例如,附接程序可包括传输一个或多个附接消息(例如,父请求消息和/或父响应消息)。
152.然而,如果第一计数n
pr
和第二计数n
lr
两者均不等于0(例如,在退避定时器正在运行时接收到一个或多个父请求消息或链路请求消息),则在756处控制装置可将最大随机数值n
max
确定为第一计数n
pr
和第二计数n
lr
的函数(例如,加权和)。例如,第一计数npr和第二计数n
lr
中的每一者的权重可以是不同的。例如,当第一计数n
pr
和第二计数n
lr
的值增加时,最大随机数值n
max
也可增加。类似地,当第一计数n
pr
和第二计数n
lr
的值减小时,最大随机数值n
max
可减小。最大随机数n
max
可以是数字范围中的最大数,可以从该数字范围中选择(例如,随机选择)退避定时器的另一值。
153.在758处,控制装置可以从跨越0到最大随机数值n
max
(包括端值在内)的数字范围生成随机数n
rand
。例如,随着最大随机数值n
max
增加(例如,可从其生成随机数的数字范围增加),多个装置选择相同随机数(例如,选择相同的退避定时器)的可能性可减小,这可减小消息冲突的可能性。在860处,控制装置可将退避定时器设置为在758处生成的随机数n
rand
。在862处,控制装置可开始退避定时器(例如,倒计时),并且程序750可退出。
154.如本文所述,控制装置可通过发起与路由器装置的附接程序来加入到网络。附接程序的完成可导致控制装置被分配网络上附接到路由器装置的终端装置的角色。此外,控制装置和路由器装置可形成父子链路,例如,控制装置可以是路由器装置的子装置,而路由器装置可以是控制装置的父装置。随着时间的推移,其他装置可加入到网络,例如,通过附接到路由器装置(例如,或加入到网络的另一路由器装置)。随着加入到网络的装置的数量
增加,网络可将加入到网络的某些装置的角色升级为路由器装置的角色(例如,将某些符合路由器条件的终端装置升级为路由器装置的角色,如本文所述)。其他装置可以通过发起与升级后的路由器装置的附接程序来加入到网络,从而使网络增长。
155.然而,随着网络上路由器装置的数量增加,某些父子链路可能不再是最佳的。例如,当控制装置最初加入到网络时该控制装置所附接到的路由器装置可能不再是要附接的最佳路由器装置(例如,控制装置的最佳父装置),因为网络上可能存在另一路由器装置,并且控制装置可在与另一路由器装置的通信链路上具有更高的链路质量和/或更低的链路代价。对于附接到控制装置的辅助父装置可能出现类似的情况。结果,控制装置可附接到另一路由器装置,以与加入该网络的另一路由器装置建立父子链路和/或附接到另一辅助父装置。图8a至图8c示出了用于确定与加入该网络的另一路由器装置建立父子链路和/或附接到另一辅助父装置的示例性程序。
156.图8a是由控制装置响应于接收到消息而执行的示例性程序800的流程图。例如,可经由网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)来接收消息。程序800可由控制装置在控制装置已附接到网络上的另一装置(例如,父装置)之后执行。例如,执行程序800的控制装置可以是附接到网络上的父装置的子装置。现在参考图2a,程序800可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250来执行。如图8a所示,程序800可由控制装置响应于在801处接收到消息而执行。
157.在802处,控制装置可确定所接收的消息是否来自网络上的路由器装置(例如,领导者装置,诸如领导者装置210,和/或路由器装置,诸如路由器装置220a至220d中的一者)。如果从除路由器装置之外的控制装置接收到消息,则程序800可结束。然而,如果从路由器装置接收到消息,则在804处,控制装置可确定路由器装置是否已经是控制装置的辅助父装置(例如,确定在801处接收的消息是否是控制装置的辅助父装置)。如果从控制装置的辅助父装置接收到消息,则程序800可退出(例如,当控制装置已经附接到该路由器装置时)。
158.如果从不是控制装置的辅助父装置的路由器装置接收到消息,则在806处,控制装置可确定(例如,测量)所接收消息的当前接收信号强度指示符量值。例如,控制装置可在9\806处测量所接收消息的当前接收信号强度指示符rssi
rx
。当前接收信号强度指示符rssi
rx
可指示消息的信号强度和/或从消息所接收自的路由器装置到控制装置的通信质量。控制装置可使用当前接收信号强度指示符rssi
rx
来确定网络上的多个路由器装置中的哪个路由器装置尝试确立为辅助父装置(例如,附接到哪个路由器装置作为辅助父装置)。控制装置可存储(例如,可以预先存储)所存储的接收信号强度指示符rssi
stored
,其可指示控制装置接收的具有最高接收信号强度指示符的消息(例如,与从其他路由器装置接收的消息相比)来自的路由器装置。
159.控制装置可确定未附接到控制装置的路由器装置的通信度量是否指示比父装置的通信度量更强的潜在通信链路。例如,如图8所示,在808处,控制装置可将当前接收信号强度指示符rssi
rx
与所存储的接收信号强度指示符rssi
stored
进行比较。所存储的接收信号强度指示符rssi
stored
可以是预定义阈值并且/或者可指示控制装置接收的具有最高接收信号强度指示符的消息来自的路由器装置。如果当前接收信号强度指示符rssi
rx
小于所存储的接收信号强度指示符rssi
stored
,则程序800可退出。然而,如果当前接收信号强度指示符rssi
rx
大于或等于所存储的接收信号强度指示符rssi
stored
,则控制装置可在810处发起与路
由器装置的附接程序以建立辅助父链路(例如,通过传输被配置为建立辅助父链路的附接消息,诸如链路请求消息)。此外,可将路由器装置的路由器标识符(例如,路由器id)和当前接收信号强度指示符rssi
rx
存储在存储器中(例如,可将当前接收信号强度指示符rssi
rx
存储为所存储的接收信号强度指示符rssi
stored
)。如本文所述,控制装置可例如发起与路由器装置的附接程序(例如,附接到路由器装置,使得路由器装置成为控制装置的辅助父装置),该路由器装置对应于存储在存储器中的路由器装置的路由器标识符(例如,如本文参考图8b所述)。例如,路由器装置的路由器标识符和当前最高接收信号强度指示符rssi
rx
可被存储在存储器中的辅助父表中。如本文所述,辅助父表可包括相应子装置附接到(例如,与其同步和/或能够处理从其接收的消息)的辅助父装置的列表。
160.图8b是由控制装置执行以附接到一个或多个辅助父装置的示例性程序820的流程图。如本文所述,子装置可与辅助父装置附接以增加网络(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)内的通信的可靠性。网络上的路由器装置(例如,领导者装置,诸如领导者装置210,和/或路由器装置,诸如路由器装置220a至220d中的一者)可作为辅助父装置来操作。程序820可由控制装置在821处周期性地执行。例如,程序820可以以三十二(32)秒的周期性间隔来执行。
161.在822处,控制装置可确定路由器装置的路由器标识符和接收信号强度标识符rssi
updated
,控制装置可确定是否与该路由器装置(例如,潜在的辅助父装置)建立辅助父链路。例如,在822处,控制装置可检索所存储的路由器装置的路由器id和接收信号强度指示符,控制装置可确定是否与该路由器装置(例如,在程序800的810处存储的路由器装置)建立辅助父链路。此外,在822处,控制装置可确定具有存储在辅助父表中的路由器装置的最高所存储的接收信号指示符的路由器装置的路由器id。在824处,控制装置可确定指示控制装置已经附接的辅助父装置的数量的变量n
aux-par
是否大于或等于最大值n
max
。最大值n
max
可指示控制装置可附接的辅助父装置的最大数量。最大值n
max
可被预配置和/或更新(例如,基于对网络的改变来更新)。例如,最大值n
max
可被预配置为10。
162.如果在824处变量n
aux-par
小于最大值n
max
,则在826处,控制装置可发起附接程序以与被标识为潜在辅助父装置的路由器装置建立辅助父链路(例如,在822处)。如本文所述,附接程序可包括传输被配置为与所标识的路由器装置建立辅助父链路的一个或多个附接消息(例如,链路请求消息)。在附接到所标识的路由器装置之后,在828处,可将更新后的辅助父装置的路由器id和接收信号强度指示符rssi
updated
存储在辅助父表中,并且在830处,变量n
aux-par
可在程序820退出之前递增。
163.如果在824处变量n
aux-par
大于或等于最大值n
max
,则在832处,控制装置可确定辅助父表中具有最低接收信号强度指示符rssi
aux-lo
的辅助父装置。具有最低接收信号强度指示符rssi
aux-lo
的辅助父装置可以是在初始网络形成期间控制装置所附接到的辅助父装置。然而,如本文所述,在时间过去之后,网络可包括可向控制装置提供通过网络的改进通信(例如,增加控制装置成功发送和/或接收消息的可能性)的其他路由器。此外,如果控制装置要附接到具有与控制装置的更强通信链路的路由器,则控制装置可在网络上经历改进的通信。
164.控制装置可确定潜在辅助父装置的相应通信度量是否指示比当前辅助父装置的通信度量更强的潜在通信链路。例如,如图8b所示,在834处,控制装置可确定潜在辅助父装
置的接收信号强度指示符rssi
updated
与辅助父表中的最低接收信号强度指示符rssi
aux-lo
之间的差值是否大于或等于滞后阈值th
aux-hys
(例如,rssi
updated

rssi
aux-lo
≥th
aux-hys
)。滞后阈值th
aux-hys
可以是预定义的(例如,大约10db)或可变的,例如,基于辅助父表中的最低接收信号强度指示符rssi
aux-lo
。如果在834处潜在辅助父装置的接收信号强度指示符rssi
updated
与辅助父表中的最低接收信号强度指示符rssi
aux-lo
之间的差值小于滞后阈值th
aux-hys
,则程序820可退出。
165.如果在8344处,潜在辅助父装置的接收信号强度指示符rssi
updated
与辅助父表中的最低接收信号强度指示符rssi
aux-lo
之间的差值大于或等于滞后阈值th
aux-hys
,则在836处控制装置可发起与被标识为潜在辅助父装置的路由器的附接程序(例如,在822处),以建立辅助父链路,这可改进网络上的控制装置的通信。如本文所述,建立辅助父链路的附接程序可包括向被标识为潜在辅助父装置的路由器传输被配置为建立辅助父链路的一个或多个附接消息(例如,链路请求消息)。在838处,控制装置可更新辅助父表(例如,以指示与更新后的辅助父装置的附接/辅助父链路)。例如,在838处,控制装置可从辅助父表中移除具有最低接收信号强度指示符rssi
aux-lo
的辅助父装置的路由器id,并且将更新后的辅助父装置的路由器id和对应的接收信号强度指示符rssi
updated
添加到路由器表。
166.在828处在辅助父表中添加新辅助父装置的路由器id和接收信号强度指示符之后和/或在838处更新辅助父表之后,控制装置可在840处重置父更新定时器(例如,到5分钟),之后程序820可退出。父更新定时器可用作子装置的触发器以确定子装置是否应附接到更新后的父装置以改进子装置与其父装置之间的通信(例如,如下文将参考图11更详细地描述)。
167.图8c是由控制装置执行以更新一个或多个辅助父装置的辅助父表的示例性程序850的流程图。例如,可在图8b所示的程序820的838处执行程序850,以将辅助父装置添加到辅助父表。再次参考图8c,控制装置可以是子装置,该子装置附接到当前父装置(例如,通过与当前父装置建立父子链路)和一个或多个辅助父装置(例如,通过与一个或多个辅助父装置建立辅助父链路)。如本文所述,子装置可附接到辅助父装置以增加网络(例如,网络200a、200b、200c、200d和/或网络分区201、202、203)内的通信的可靠性。网络上的路由器装置(例如,领导者装置,诸如领导者装置210,和/或路由器装置,诸如路由器装置220a至220d中的一者)可作为子装置的辅助父装置操作,并且子装置可经由辅助父装置接收多播消息。存储在子装置处的辅助父表可包括子装置被配置为与其进行通信(例如,经由辅助父链路附接到和/或能够处理从其接收的消息)的辅助父装置的列表。
168.如图8c所示,控制装置可确定潜在辅助父装置的相应通信度量是否指示比当前辅助父装置的通信度量更强的潜在通信链路。在851处,程序850可开始,如本文所述,这可将潜在辅助父装置添加到辅助父表(例如,在程序820的执行期间在838处)。在852处,控制装置可确定潜在辅助父装置是否具有预定义数量的链路质量。可通过链路质量来测量和/或定义相应控制装置与另一装置(例如,路由器装置)之间的通信链路,如本文所述。链路质量可以是指示通信链路质量的通信度量。例如,可针对相应的通信链路将链路质量定义为0、1、2或3。最低链路质量(例如,等于0或1的链路质量)可指示相应控制装置之间的相对低质量的通信链路(例如,其中失败传输的可能性相对高的通信链路)。最高链路质量(例如,等于3的链路质量)可指示相应控制装置之间的相对高质量的通信链路(例如,其中成功传输
的可能性相对高的通信链路)。
169.控制装置可确定潜在辅助父装置是否具有等于预定义值的链路质量。预定义值可以是分配给通信链路的链路质量的最高质量值(例如,等于3的链路质量)。正在被分析的潜在辅助父装置可以是具有存储在辅助父表中的路由器装置的最高所存储的接收rssi的路由器装置。
170.如果要添加到辅助父表的辅助父装置具有等于预定义值的链路质量(例如,为3的链路质量),则在858处控制装置可发起与要添加到辅助父表的辅助父装置的附接程序。此外,控制装置可将辅助父装置添加到辅助父表中。在960处,控制装置还可将最大值n
max
递增一(例如,n
max
=n
max
1)。如本文所述,最大值n
max
可指示控制装置可附接到的辅助父装置的最大数量。
171.如果要添加到辅助父表的辅助父装置不具有等于预定义值的链路质量(例如,为3的链路质量),则在854处控制装置可与辅助父表中具有最低接收信号强度指示符(rssi
aux-lo
)的辅助父装置分离。此外,在856处,控制装置可发起附接程序以附接到潜在辅助父装置,并且将潜在辅助父装置的路由器标识符和接收信号强度标识符rssi
updated
添加到辅助父表。如本文所述,在程序820的执行期间(例如,在程序820的822处),可能已经确定了潜在父装置的路由器标识符和接收信号强度标识符rssi
updated

172.可以随时间推移调整附接到网络的控制装置的角色。例如,符合路由器条件的终端装置可被调整为路由器装置的角色。当加入到网络的路由器装置的数量低于阈值时,符合路由器条件的终端装置可被调整为路由器装置的角色。此外,当另一装置请求符合路由器条件的终端装置调整为路由器装置的角色时(例如,当其他装置不能附接到加入到网络的路由器装置时),符合路由器条件的终端装置可被调整为路由器装置的角色。当其他装置未能附接到父装置时,其他装置可请求符合路由器条件的终端装置调整为路由器装置的角色,这可导致其他装置无法加入到网络。如本文所述,当其他装置例如由于网络中的消息冲突而未能接收对父请求消息的响应时,其他装置可能无法与父装置附接。响应于未能接收对父请求消息的响应,控制装置可尝试形成新的网络或网络分区(例如,如本文所述,这可以增加形成单个网络的时间),或者请求另一装置升级到路由器装置的角色,使得控制装置可发起与新升级的路由器装置的附接程序。当符合路由器条件的终端装置接收到调整为路由器装置的角色的请求时,符合路由器条件的终端装置可例如从领导者装置请求调整为路由器装置的角色的许可。领导者装置可通过向符合路由器条件的终端装置提供路由器标识符来接受调整为路由器装置的角色的请求。
173.已经加入到网络或网络分区的路由器装置可以附接到另一网络,并在另一网络上维护路由器装置的角色。例如,路由器装置可附接到其他网络,并尝试使用为初始网络或网络分区分配的路由器标识符。如果路由器装置维护所分配的路由器标识符,则路由器装置的子装置也可例如在不传输附加消息(例如,附接到其他网络的附加父请求消息)的情况下附接(例如,迁移)到其他网络。
174.在网络的先前形成期间,可使用存储在控制装置处的信息来重新形成网络。图9a和图9c示出了用于重新形成先前形成的网络的示例性程序(例如,网络重新形成程序)。例如,图9a和图9c中所示的程序可在断电或导致供应给网络中的相应控制装置的电力停止的另一事件之后执行。如本文所述,在先前形成的网络失去电力并且其中的装置随后重新获
得电力之后,附接到网络(例如,在失去电力之前附接到网络)的控制装置可尝试重新附接到先前形成的网状网络和/或重新形成先前形成的网状网络。然而,由于控制装置可同时或基本上同时重新获得电力,因此相应控制装置中的每个控制装置可尝试同时重新附接到网络和/或重新形成网络,这可增加消息冲突的可能性并且增加直到网络形成完成的时间量。
175.为了减小消息冲突的可能性和直到网络形成完成的时间量,控制装置可尝试重新附接到父装置并重新形成网络。在通电之后,控制装置可尝试恢复先前形成的网络中的先前角色。先前角色可本地存储在控制装置中的每个控制装置上。作为先前形成的网络的领导者装置的控制装置可在负载控制系统中的其他控制装置之前开始启动程序。作为先前形成的网络中的非领导者路由器装置的控制装置可延迟其启动程序,以允许领导者装置启动并开始向其他路由器装置传输通告消息。其他路由器装置可在通电之后的预定义间隔期间开始其启动程序(例如,以允许领导者装置启动)。例如,其他路由器装置可在领导者发起其启动程序之后的间隔期间的随机时间开始其启动程序。在路由器装置处的启动程序期间,每个路由器装置可尝试附接到领导者装置或路由器装置在先前形成的网络中所附接到的另一路由器装置。终端装置可在通电之后的预定义间隔期间开始其启动程序,以允许路由器执行其启动程序并附接到领导者装置或其他路由器装置。例如,终端装置可在路由器发起其启动程序之后的间隔期间的随机时间开始其启动程序。终端装置处的预定义间隔可长于路由器装置延迟其启动程序以允许路由器装置有时间执行附接和重新形成先前形成的网络的预定义间隔。
176.图9a是装置在电力损失和/或重置之后重新附接到父装置和/或重新形成先前形成的网络的示例性程序900的流程图。程序900可由在电力损失和/或重置之前先前附接到网络的控制装置来执行。如图9a所示,程序900可在901处开始。例如,如本文所述,程序900可在网络电力损失和/或重置之后执行,这可发生在断电或导致供应给附接到先前形成的网络的相应控制装置的电力中断的另一事件之后。
177.在912处,控制装置可确定控制装置是否为先前形成的网络的领导者装置。如本文所述,领导者装置可管理网络上的其他控制装置。例如,领导者装置可为附接到网络的路由器装置中的每个路由器装置分配和维护路由器标识符。领导者装置可以是尝试重新形成先前形成的网络的第一装置角色。控制装置在存储器中可具有存储在其上的角色标识符,该角色标识符可指示控制装置在先前形成的网络中的角色。例如,角色标识符可指示控制装置是先前形成的网络的领导者装置。角色标识符可与网络的一个或多个网络凭证一起存储,诸如控制装置的网络地址(例如,thread网络地址)。在912处,控制装置可根据先前形成的网络的该存储的角色标识符来确定它是先前形成的网络的领导者装置。
178.在914处,控制装置(例如,先前形成的网络的领导者装置)可传输链路请求消息。例如,链路请求消息可作为多播消息来发送。链路请求消息可用于确定网络是否已经形成有另一领导者装置。在一个示例中,先前形成的网络可能已掉电并且附加装置可能已被添加到系统,装置的位置可能已被移动,并且/或者空间可能已被重新配置为导致装置之间的干扰源被添加或移除。由于网络和/或网络所在空间的潜在变化,领导者装置可传输链路请求消息以确定网络上是否存在另一领导者装置。例如,可以传输链路请求消息以标识是否存在正在实现的已经形成的网络。因此,领导者装置可传输链路请求消息,以确定其他装置是否已通电并且已形成具有另一领导者装置的网络。如果领导者装置接收到对链路请求消
息的响应,则领导者装置可能无法成为网络上的领导者装置,并且可恢复成为终端装置或网络上的另一角色。先前形成的网络的其他控制装置可能无法响应链路请求,因为它们可等待来自领导者装置的领导者通告和/或在上电和接通之后的协调启动时间。
179.在916处,控制装置可例如基于接收到对链路请求的响应来确定是否存在一个或多个其他网络分区。例如,如果另一领导者装置在控制装置所在的空间中接收到由控制装置传输的链路请求消息并且传输对链路请求消息的响应,则控制装置可确定存在其他网络分区,并且可放弃作为先前形成的网络的领导者装置的先前角色。在918处,控制装置可放弃作为先前形成的网络的领导者装置的先前角色以开始另一附接程序(例如,如本文结合图5所述)。可执行918处的附接程序以形成可与先前形成的网络不同地配置的网络。
180.然而,如果未能接收到对链路请求消息的响应,则控制装置可确定不存在另一网络分区,并在920处,可传输领导者通告消息。领导者通告消息可用于例如通过以下方式来重新形成先前形成的网络:触发先前形成的网络的路由器装置以附接到领导者装置(例如,向领导者装置传输链路请求消息)并重新形成先前形成的网络的网格。附接到先前形成的网络中的领导者装置的路由器装置可在发起其附接程序之前收听领导者通告。
181.在922处,控制装置可确定控制装置是否为先前形成的网络的路由器装置。在922处的确定可基于存储在控制装置处的存储器中的角色标识符,该角色标识符指示路由器装置在先前形成的网络中的角色。在924处,控制装置(例如,先前形成的网络的路由器装置)可等待路由器装置的协调启动时间(例如,协调路由器启动时间)。协调启动时间对于装置可以是唯一的和/或可基于角色标识符。例如,协调启动时间可基于控制装置通电的时间和/或分配给控制装置的标识符(例如,在认领程序期间)。路由器装置的协调启动时间可等于基本延迟时间(例如,其对于每个路由器装置可以是相同的)加上偏移延迟时间。偏移延迟时间可基于相应路由器装置和领导者装置之间的跳计数。例如,对于先前附接到先前形成的网络的路由器中的每个路由器,基本延迟时间可以是相同的,并且可允许先前形成的网络的领导者装置重新形成为网络,并且可用于路由器装置重新附接。偏移延迟时间可基于返回到领导者装置的跳计数,并且使得离领导者装置较远的路由器装置的偏移延迟时间长于离领导者装置较近的路由器装置的偏移延迟时间。参考图2e,例如,直接附接到领导者装置215的路由器装置225a、225c的偏移延迟时间可短于不直接附接到领导者装置215的路由器装置225b、225d、225e的偏移延迟时间。因此,路由器装置225a、225c的协调路由器启动时间可在路由器装置225b、225d和225e的协调启动时间之前结束。
182.每个装置的偏移延迟时间可以是与控制装置的跳计数相乘的预定义时间段。跳计数可从先前形成的网络确定,并且可被存储在控制装置处。在等待基本延迟时间之后,控制装置可在开始附接程序之前等待偏移延迟时间,该偏移延迟时间可以是预定义时间段的跳计数倍数。基于控制装置距领导者装置的跳计数计算的偏移延迟时间可允许距领导者装置具有较低跳计数或离领导者装置较近的路由器装置在距领导者装置具有较高跳计数或离领导者装置更远的路由器装置之前执行附接程序。在示例中,与跳计数相乘以计算偏移延迟时间的预定义时间段可在十秒至三十秒的范围内。然而,该时间可改变以允许其他延迟,从而使路由器装置能够有时间通电、执行附接程序和/或开始发通告。
183.在另一示例中,当计算控制装置的偏移延迟时间时,可以为每个跳计数增加不同的时间量。随着跳计数增加,为每个跳计数增加的时间量可以更多或更少。例如,随着跳计
数增加,添加到偏移延迟时间的时间量可增加预定义的增量,以允许有更多的时间在更大网络中处理消息。添加到偏移延迟时间的时间量可以基于具有相同跳计数的控制装置的数量而变化。这可允许当较少的控制装置执行附接程序时延迟较短,以及当较多的装置执行附接程序时延迟较大。控制装置可在其上存储来自先前形成的网络的具有相同跳计数的控制装置,或者这可从中央计算装置或调试装置传送到控制装置。
184.返回参考图9a,在924处等待路由器装置的协调启动时间之后,在926处控制装置可传输恢复其在先前形成的网络中的角色的请求。例如,控制装置可在926处将附接消息作为单播消息传输到路由器装置和/或领导者装置中的一者。控制装置可在存储器中在其上存储路由器装置的标识符,通过该路由器装置,网络通信要传输通过网络以到达领导者装置,该领导者装置可以是领导者装置或另一路由器装置(例如,这取决于控制装置先前被附接到先前形成的网络的领导者装置还是另一路由器装置)。例如,如果控制装置直接附接到先前形成的网络中的领导者装置(例如,图2e的路由器装置225a、225c),则控制装置可向先前形成的网络的领导者装置传输链路请求消息(例如,作为单播消息)。然而,如果控制装置没有直接附接到领导者装置(例如,图2e的路由器装置225b、225d、225e、225f),则控制装置可向路由器装置传输链路请求消息(例如,作为单播消息),控制装置可通过该路由器装置进行通信以与领导者装置进行通信。例如,路由器装置225b可存储路由器装置225c的标识符,其可表示返回到领导者装置215的下一跳。路由器装置225b可在等待协调启动时间之后将链路请求消息作为单播消息传输到路由器装置225c。
185.在928处,控制装置可确定是否接收到对在926处传输的链路请求消息的响应。如本文所述,对链路请求消息的响应可以是链路接受消息,该链路接受消息可指示建立通信链路以用于与先前形成的网络中的控制装置通信。链路接受消息可包括允许控制装置对来自与之建立通信链路的装置的消息进行解密的信息(例如,帧计数器)。
186.如果在928处未能接收到对链路请求消息的响应,则在930处,控制装置可放弃其在先前形成的网络中的角色并开始另一附接程序。控制装置可在预定时间段内等待响应。然而,如果接收到对链路请求消息的响应,则在932处控制装置可传输路由器通告消息。路由器通告消息向网络上的其他路由器装置通知控制装置现在正在作为路由器装置操作。
187.再次参考图9a,控制装置可确定控制装置是终端装置。例如,如果控制装置在932处确定控制装置不是先前形成的网络中的路由器装置,则控制装置可确定控制装置是终端装置。存储器中存储在其上的角色标识符可指示控制装置是先前形成的网络的终端装置。如果控制装置是终端装置,则在934处,控制装置可等待终端装置的协调启动时间(例如,协调终端装置启动时间)。终端装置的协调启动时间可以是长于路由器装置的协调启动时间的预定时间(例如,以允许路由器装置在终端装置尝试附接到路由器装置之前彼此建立通信),该路由器装置的协调启动时间可晚于领导者装置的协调启动时间(例如,可将预定时间/偏移添加到领导者装置的协调启动时间)。此外,可例如以与计算路由器装置的协调启动时间的方式相似或不同的方式来计算终端装置的协调启动时间。例如,终端装置的协调启动时间可如本文所述基于终端装置的跳计数来计算。终端装置的协调启动时间可长于路由器装置的协调启动时间。例如,路由器装置可被给予高于终端装置的优先级,以执行与先前形成的网络上的装置的附接。
188.在等待协调启动时间到期之后,在936处,控制装置可向先前形成的网络中的控制
装置的父装置传输父请求消息(例如,作为单播消息)。先前父装置的标识符可在存储器中存储在其上。父请求消息可作为单播消息被传输到先前父装置,以重新附接到父装置。在938处,控制装置可确定是否接收到对父请求消息的响应。对父请求消息的响应可以是父响应消息。如果未能接收到对父请求消息的响应(例如,在预定义时间段内),则在930处,控制装置可放弃其在先前形成的网络中的角色并开始另一附接程序。可执行附接程序以附接到如本文所述的另一网络或网络分区。
189.图9b是示出当执行启动和/或附接程序以附接到先前形成的网络中的装置时在网络940中的装置之间传送的示例性消息的序列流程图。图9b所示的序列流程图中所示的启动和/或附接程序可反映当网络940中的装置执行图9a所示的和本文所述的流程图900的一个或多个部分时网络940中的消息的序列流。再次参考图9b,示例性网络940可包括图2e所示的网络200c中的装置的子集作为示例,但是具有其他配置的其他网络可类似地操作。例如,网络940可包括领导者装置215和路由器装置225a、225d、225f。网络940还可包括附接到路由器装置225f的终端装置260。
190.如图9b所示,领导者装置215可与路由器装置225a共享单跳通信链路。在网络形成期间,路由器装置225a可存储领导者装置215的路由器标识符和距领导者装置的跳计数(例如,跳计数=1),通过该路由器标识符可执行朝向领导者装置215的单跳通信。路由器装置225a可与路由器装置225d共享单跳通信链路。在网络形成期间,路由器装置225d可存储路由器装置225a的路由器标识符和距领导者装置的跳计数(例如,跳计数=2),通过该路由器标识符可执行朝向领导者装置215的单跳通信。路由器装置225d可与路由器装置225f共享单跳通信链路。在网络形成期间,路由器装置225f可存储路由器装置225d的路由器标识符和距领导者装置的跳计数(例如,跳计数=3),通过该路由器标识符可执行朝向领导者装置215的单跳通信。虽然在图2e中未示出,但是终端装置260可与路由器装置225f共享单跳通信链路。在网络形成期间,终端装置260可存储路由器装置225f的路由器标识符。
191.当网络940中的装置在网络形成之后断电和通电时,装置中的每个装置可执行启动和/或附接程序以尝试重新形成先前形成的网络。领导者装置215可将其自身标识为领导者装置,并且传输链路请求消息943。链路请求消息943可作为多播消息来发送。链路请求消息943可用于确定网络是否已经形成有另一领导者装置。当领导者装置215未能接收对链路请求消息943的响应时,领导者装置215可维护其作为领导者装置的角色,并且允许在先前形成的网络上先前附接到领导者装置215的非领导者路由器装置的附接。
192.路由器装置225a可在传输单播请求消息944之前等待协调路由器装置启动时间941。路由器装置225a的协调启动时间941可等于基本延迟时间(例如,其对于每个路由器装置225a、225d、225f可以是相同的)加上偏移延迟时间。协调路由器装置启动时间941的偏移延迟时间可基于路由器装置225a和领导者装置215之间的跳计数。对于距领导者装置215的跳数较大的路由器装置,偏移延迟时间可被加权得更高。例如,偏移延迟时间可以是基于返回到领导者装置215的跳计数(例如,跳计数=1)的倍数。在形成先前形成的网络期间,跳计数可被本地存储在路由器装置225a处。
193.在路由器装置225a等待协调路由器装置启动时间941之后,路由器装置225a可发送单播请求消息944。单播请求消息944可由路由器装置225a传输,以便路由器装置225a尝试恢复其在先前形成的网络中的角色。单播请求消息944可以是用以重新形成路由器装置
225a和领导者装置215之间的通信链路的链路请求消息。路由器装置225a可在存储器中标识路由器装置225a附接到先前形成的网络中的领导者装置215。路由器装置225a可将单播请求消息944传输到领导者装置215,路由器装置225a在先前形成的网络中附接到该领导者装置。单播请求消息944可包括领导者装置215的其他唯一标识符的路由器标识符。
194.领导者装置215可接收单播请求消息944并且用单播响应消息945来响应。如本文所述,单播响应消息945可以是链路接受消息,其可指示形成通信链路以用于路由器装置225a和领导者装置215之间的通信,如在先前形成的网络中。链路接受消息可包括允许路由器装置225a对来自与之建立通信链路的领导者装置215的消息进行解密的信息(例如,帧计数器)。在路由器装置225a处接收到单播响应消息945之后,路由器装置225a可在网络940中传输路由器通告消息。
195.路由器装置225d可在传输单播请求消息946之前等待协调路由器装置启动时间941a。路由器装置225d的协调启动时间941a可等于基本延迟时间(例如,其对于每个路由器装置225a、225d、225f可以是相同的)加上偏移延迟时间。协调路由器装置启动时间941a的偏移延迟时间可基于路由器装置225d和领导者装置215之间的跳计数。对于距领导者装置215的跳数较大的路由器装置,偏移延迟时间可被加权得更高。例如,偏移延迟时间可以是基于返回到领导者装置215的跳计数(例如,跳计数=2)的倍数。路由器装置225d的偏移延迟时间可长于路由器装置225a的偏移延迟时间,因为路由器装置225d距领导者装置215的跳计数更大。在形成先前形成的网络期间,跳计数可被本地存储在路由器装置225d处。
196.在路由器装置225d等待协调路由器装置启动时间941a之后,路由器装置225d可发送单播请求消息946。单播请求消息946可由路由器装置225d传输,以便路由器装置225d尝试恢复其在先前形成的网络中的角色。单播请求消息946可以是用以重新形成路由器装置225d和路由器装置225a之间的通信链路的链路请求消息。路由器装置225d可在存储器中标识路由器装置225d附接到先前形成的网络中的路由器装置225a,以用于向领导者装置215传送消息。例如,路由器装置225a的标识符可表示返回到领导者装置215的下一跳。路由器装置225d可将单播请求消息946传输到路由器装置225a,路由器装置225d在先前形成的网络中附接到该路由器装置225a。单播请求消息946可包括路由器装置225a的其他唯一标识符的路由器标识符。
197.路由器装置225a可接收单播请求消息946并且用单播响应消息947来响应。如本文所述,单播响应消息947可以是链路接受消息,其可指示形成通信链路以用于路由器装置225d和路由器装置225a之间的通信,如在先前形成的网络中。链路接受消息可包括允许路由器装置225d对来自与之建立通信链路的路由器装置225a的消息进行解密的信息(例如,帧计数器)。在路由器装置225d处接收到单播响应消息947之后,路由器装置225d可在网络940中传输路由器通告消息。
198.路由器装置225f可在传输单播请求消息948之前等待协调路由器装置启动时间941b。路由器装置225f的协调启动时间941b可等于基本延迟时间(例如,其对于每个路由器装置225a、225d、225f可以是相同的)加上偏移延迟时间。对于距领导者装置215的跳数较大的路由器装置,偏移延迟时间可被加权得更高。协调路由器装置启动时间941b的偏移延迟时间可基于路由器装置225f和领导者装置215之间的跳计数。例如,偏移延迟时间可以是基于返回到领导者装置215的跳计数(例如,跳计数=3)的倍数。路由器装置225f的偏移延迟
时间可长于路由器装置225a、225d的偏移延迟时间,因为路由器装置225f距领导者装置215的跳计数更大。在形成先前形成的网络期间,跳计数可被本地存储在路由器装置225f处。
199.在路由器装置225f等待协调路由器装置启动时间941b之后,路由器装置225f可发送单播请求消息948。单播请求消息948可由路由器装置225f传输,以便路由器装置225f尝试恢复其在先前形成的网络中的角色。单播请求消息948可以是用以重新形成路由器装置225f和路由器装置225d之间的通信链路的链路请求消息。路由器装置225f可在存储器中标识路由器装置225f附接到先前形成的网络中的路由器装置225d,以用于向领导者装置215传送消息。例如,路由器装置225d的标识符可表示返回到领导者装置215的下一跳。路由器装置225f可将单播请求消息948传输到路由器装置225d,路由器装置225f在先前形成的网络中附接到该路由器装置225d。单播请求消息948可包括路由器装置225d的其他唯一标识符的路由器标识符。
200.路由器装置225d可接收单播请求消息948并且用单播响应消息949来响应。如本文所述,单播响应消息949可以是链路接受消息,其可指示形成通信链路以用于路由器装置225f和路由器装置225d之间的通信,如在先前形成的网络中。链路接受消息可包括允许路由器装置225f对来自与之建立通信链路的路由器装置225d的消息进行解密的信息(例如,帧计数器)。在路由器装置225f处接收到单播响应消息949之后,路由器装置225f可在网络940中传输路由器通告消息。
201.终端装置260可在传输父请求消息950之前等待协调终端装置启动时间942。终端装置260的协调启动时间942可以是长于路由器装置225a、225d、225f的协调启动时间的预定时间(例如,以允许路由器装置225a、225d、225f在终端装置260尝试附接到路由器装置225f之前彼此建立通信)。此外,可例如以与计算路由器装置225a、225d、225f的协调启动时间941、941a、941b的方式相似或不同的方式来计算终端装置260的协调启动时间942。例如,终端装置260的协调启动时间942可如本文所述基于终端装置的跳计数用基本延迟时间(例如,其对于每个终端装置可以是相同的)和/或增加的延迟时间来计算。终端装置260的协调启动时间942可具有长于路由器装置225a、225d、225f的基本延迟时间(例如,其对于网络中的每个终端装置可以是相同的)和/或偏移延迟时间。例如,路由器装置225a、225d、225f的基本延迟时间可以是零秒至一秒之间的时间,并且终端装置260的基本延迟时间可以是十秒和二十五秒之间的时间。终端装置260的基本延迟时间可以是路由器装置225a、225d、225f的基本延迟时间的倍数。终端装置260的较长协调启动时间242可给予路由器装置225a、225d、225f优先级以允许路由器装置225a、225d、225f执行启动和/或附接程序,并且准备好从终端装置接收父请求。为终端装置260的协调启动时间942的每个跳计数添加的时间量可与为路由器装置225a、225d、225f的每个跳计数添加的时间相同或不同。
202.在终端装置260等待协调路由器装置启动时间942之后,终端装置260可发送父请求消息950。父请求消息950可作为单播请求消息发送,以便终端装置260尝试恢复其在先前形成的网络中的角色。父请求消息950可以是用以重新形成终端装置260和路由器装置225f之间的通信链路的请求。终端装置260可在存储器中标识终端装置260附接到先前形成的网络中的路由器装置225f,以用于向领导者装置215传送消息。例如,路由器装置225f的标识符可表示返回到领导者装置215的下一跳。终端装置260可将父请求消息950传输到路由器装置225f,终端装置260在先前形成的网络中附接到该路由器装置。父请求消息950可包括
路由器装置225f的其他唯一标识符的路由器标识符。
203.路由器装置225f可接收父请求消息950并且用父响应消息951来响应。如本文所述,父响应消息951可指示路由器装置225f已经接受终端装置260作为子装置,并且重新形成通信链路以用于终端装置260和路由器装置225f之间的通信,如在先前形成的网络中。父响应消息951可包括允许终端装置260对来自与之建立通信链路的路由器装置225f的消息进行解密的信息(例如,帧计数器)。在终端装置260处接收到父响应消息951之后,终端装置260可通过路由器装置225f将消息传送出来到网络940中的其他装置。
204.除了在预定义的间隔期间延迟启动以允许领导者装置和/或其他路由器装置执行它们的启动程序和/或附接到网络上的其他装置之外,路由器装置和终端装置可等待从路由器装置或终端装置在先前定义的网络上附接到的路由器装置接收通告消息。再次,作为先前形成的网络的领导者装置的控制装置可在负载控制系统中的其他控制装置之前开始启动程序。作为先前形成的网络中的非领导者路由器装置的控制装置可延迟其启动程序,以允许领导者装置启动并开始向其他路由器装置传输通告消息。其他路由器装置可在通电之后的预定义间隔期间开始其启动程序(例如,以允许领导者装置启动)。例如,其他路由器装置可在领导者发起其启动程序之后的间隔期间的随机时间开始其启动程序。在路由器装置处的启动程序期间,每个路由器装置可等待来自领导者装置或路由器装置在先前形成的网络中所附接到的另一路由器装置的通告消息。通告消息的接收可指示路由器装置在先前形成的网络中所附接到的装置被通电并且建立其在先前形成的网络中的先前角色。在接收到来自领导者装置或路由器装置在先前形成的网络中所附接到的其他路由器装置的通告消息之后,路由器装置可尝试附接到该装置。终端装置可在通电之后的预定义间隔期间开始其启动程序,以允许路由器执行其启动程序并附接到领导者装置或其他路由器装置。终端装置处的预定义间隔可长于路由器装置延迟其启动程序以允许路由器装置有时间执行附接和重新形成先前形成的网络的预定义间隔。在终端装置处的启动程序期间,每个终端装置可等待来自领导者装置或终端装置在先前形成的网络中所附接到的另一路由器装置的通告消息。通告消息的接收可指示终端装置在先前形成的网络中所附接到的装置被通电并且建立其在先前形成的网络中的先前角色。在接收到来自领导者装置或终端装置在先前形成的网络中所附接到的其他路由器装置的通告消息之后,终端装置可尝试附接到该装置。
205.图9c是用于重新附接先前形成的网络中的装置和/或重新形成先前形成的网络(例如,在电力损失或另一网络重置之后)的示例重新附接程序952的流程图。程序952可由在电力损失或其他网络重置之前附接到先前形成的网络上的其他装置的控制装置来执行。如图9c所示,程序952可在953处开始。例如,如本文所述,程序953可在控制装置重置之后执行,这可发生在断电或导致供应给附接到先前形成的网络的相应控制装置的电力中断的另一事件之后。
206.在954处,控制装置可确定控制装置是否为先前形成的网络的领导者装置。如本文所述,领导者装置可管理网络上的其他控制装置。例如,领导者装置可为附接到网络的路由器装置中的每个路由器装置分配和维护路由器标识符。领导者装置可以是尝试重新形成先前形成的网络的第一装置角色。控制装置在存储器中可具有存储在其上的角色标识符,该角色标识符可指示控制装置在先前形成的网络中的角色。例如,角色标识符可指示控制装
置是先前形成的网络的领导者装置。角色标识符可与网络的一个或多个网络凭证一起存储,诸如控制装置的网络地址(例如,thread网络地址)。在954处,控制装置可根据先前形成的网络的该存储的角色标识符来确定它是先前形成的网络的领导者装置。
207.在955处,控制装置(例如,先前形成的网络的领导者装置)可传输链路请求消息。例如,链路请求消息可作为多播消息来发送。链路请求消息可用于确定网络是否已经形成有另一领导者装置。在一个示例中,先前形成的网络可能已掉电并且附加装置可能已被添加到系统,装置的位置可能已被移动,并且/或者空间可能已被重新配置为导致装置之间的干扰源被添加或移除。由于网络和/或网络所在空间的潜在变化,领导者装置可传输链路请求消息以确定网络上是否存在另一领导者装置。例如,可以传输链路请求消息以标识是否存在正在实现的已经形成的网络。因此,领导者装置可传输链路请求消息,以确定其他装置是否已通电并且已形成具有另一领导者装置的网络。如果领导者装置接收到对链路请求消息的响应,则领导者装置可能无法成为网络上的领导者装置,并且可恢复成为终端装置或网络上的另一角色。先前形成的网络的其他控制装置可能无法响应链路请求,因为它们可等待来自领导者装置的领导者通告和/或在上电和接通之后的协调启动时间。
208.在956处,控制装置可例如基于接收到对链路请求消息的响应来确定是否存在一个或多个其他网络分区。如果另一领导者装置接收到链路请求消息并传输对链路请求消息的响应,则在958处控制装置可确定存在另一网络分区,放弃控制装置的先前角色(例如,先前形成的网络中的领导者装置的角色),并且开始另一附接程序(例如,如本文结合图5所述)。如本文所述,控制装置可放弃先前角色以形成可与先前形成的网络不同地配置的网络。领导者装置响应链路请求消息的事实可指示与先前建立的网络不同地配置的另一网络已经形成(例如,在不存在先前作为领导者装置的控制装置的情况下)。
209.在956处,控制装置可例如基于接收到对链路请求的响应来确定是否存在一个或多个其他网络分区。如果另一领导者装置接收到链路请求消息并且传输对链路请求消息的响应,则控制装置可确定存在其他网络分区,并且可放弃作为先前形成的网络的领导者装置的先前角色。在958处,控制装置可放弃作为先前形成的网络的领导者装置的先前角色以开始另一附接程序(例如,如本文结合图5所述)。可执行958处的附接程序以形成可与先前形成的网络不同地配置的网络。领导者装置响应链路请求消息的事实可指示与先前建立的网络不同地配置的另一网络已经形成(例如,在不存在先前作为领导者装置的控制装置的情况下)。
210.然而,如果没有接收到对链路请求消息的响应,则控制装置可确定不存在另一网络分区,并在960处,可传输领导者通告消息。领导者通告消息可用于例如通过以下方式来重新形成先前形成的网络:触发先前形成的网络的路由器装置以附接到领导者装置(例如,向领导者装置传输链路请求消息)并重新形成先前形成的网络的网格。附接到先前形成的网络中的领导者装置的路由器装置可在发起其附接程序之前收听领导者通告。
211.在962处,控制装置可确定控制装置是否为先前形成的网络的路由器装置。在962处的确定可基于存储在控制装置处的存储器中的角色标识符,该角色标识符指示路由器装置在先前形成的网络中的角色。如果控制装置被定义为先前形成的网络中的路由器装置,则在963处,控制装置可确定等待路由器装置的协调启动时间(例如,协调路由器启动时间)。如本文所述,路由器装置的协调启动时间可等于基本延迟时间(例如,其对于每个路由
器装置可以是相同的)加上偏移延迟时间。偏移延迟时间可基于相应路由器装置和领导者装置之间的跳计数。例如,对于先前附接到先前形成的网络的路由器中的每个路由器,基本延迟时间可以是相同的,并且可允许先前形成的网络的领导者装置重新形成为网络,并且可用于路由器装置重新附接。偏移延迟时间可基于返回到领导者装置的跳计数,并且使得离领导者装置较远的路由器装置的偏移延迟时间长于离领导者装置较近的路由器装置的偏移延迟时间。参考图2e,例如,直接附接到领导者装置215的路由器装置225a、225c的偏移延迟时间可短于不直接附接到领导者装置215的路由器装置225b、225d、225e的偏移延迟时间。因此,路由器装置225a、225c的协调路由器启动时间可在路由器装置225b、225d、225e的协调启动时间之前结束。
212.每个装置的偏移延迟时间可以是与控制装置的跳计数相乘的预定义时间段。跳计数可从先前形成的网络确定,并且可被存储在控制装置处。在等待基本延迟时间之后,控制装置可在开始附接程序之前等待偏移延迟时间,该偏移延迟时间可以是预定义时间段的跳计数倍数。基于控制装置距领导者装置的跳计数计算的偏移延迟时间可允许距领导者装置具有较低跳计数或离领导者装置较近的路由器装置在距领导者装置具有较高跳计数或离领导者装置更远的路由器装置之前执行附接程序。在示例中,与跳计数相乘以计算偏移延迟时间的预定义时间段可在十秒至三十秒的范围内。然而,该时间可改变以允许其他延迟,从而使路由器装置能够有时间通电、执行附接程序和/或开始发通告。
213.在另一示例中,当计算控制装置的偏移延迟时间时,可以为每个跳计数增加不同的时间量。随着跳计数增加,为每个跳计数增加的时间量可以更多或更少。例如,随着跳计数增加,添加到偏移延迟时间的时间量可增加预定义的增量,以允许有更多的时间在更大网络中处理消息。添加到偏移延迟时间的时间量可以基于具有相同跳计数的控制装置的数量而变化。这可允许当较少的控制装置执行附接程序时延迟较短,以及当较多的装置执行附接程序时延迟较大。控制装置可在其上存储来自先前形成的网络的具有相同跳计数的控制装置,或者这可从中央计算装置或调试装置传送到控制装置。
214.返回参考图9c,在963处等待路由器装置的协调启动时间之后,控制装置可确定它是否在964处从控制装置在先前形成的网络中所附接到的另一控制装置接收到通告消息。控制装置可从领导者装置接收通告消息(例如,在960处传输的通告消息),或从另一路由器装置接收通告消息(例如,在974处传输的通告消息)。例如,控制装置可等待在964处从网络中的领导者装置和/或路由器装置中的任一者接收到通告消息。此外,控制装置可等待在964处从所选择的路由器装置接收到通告消息。例如,所选择的路由器装置可以是这样的路由器装置,通过该路由器装置,网络通信传输通过网络以到达先前形成的网络中的领导者装置,该领导者装置可以是领导者装置或路由器装置(例如,这取决于控制装置先前被附接到先前形成的网络的领导者装置还是另一路由器装置)。所选择的路由器装置(例如,网络通信通过其传输通过网络以到达先前形成的网络中的领导者装置的路由器装置)的唯一标识符可存储在存储器中。控制装置可等待来自其唯一标识符被存储在存储器中的所选择的路由器装置的通告消息。如果控制装置尚未从所选择的路由器装置接收到通告消息,则在966处控制装置可确定超时时间段是否已经过去。如果超时时间段已经过去并且通告消息尚未被接收,则在968处控制装置可放弃其先前角色并且开始另一附接程序。如果控制装置从所选择的路由器装置接收到通告消息,则在970处控制装置可尝试附接到该路由器装置
(例如,如下面将更详细地描述)。
215.在963处等待协调路由器装置启动时间之后,在964处控制装置可等待第一时间段(例如,大约30秒)以从其唯一标识符被存储在存储器中的所选择的路由器装置接收通告消息。当控制装置在第一时间段期间从所选择的路由器装置接收到通告消息时,在970处控制装置可尝试附接到所选择的路由器装置。如果控制装置在第一时间段结束之前没有从所选择的路由器装置接收到通告消息,则控制装置可等待第二时间段(例如,大约30秒)以从其他路由器装置(例如,除了所选择的路由器装置之外和/或包括所选择的路由器装置)接收通告消息。例如,控制装置可等待在第二时间段期间从网络中的领导者装置和/或路由器装置中的任一者接收通告消息。当控制装置在第二时间段期间从路由器装置接收到通告消息时,在970处控制装置可尝试附接到通告消息所接收自的路由器装置。例如,当控制装置在第二时间段期间接收到通告消息时,控制装置可尝试附接到网络中的领导者装置和/或路由器装置中的任一者。此外,当控制装置在第二时间段期间从路由器装置接收到通告消息并且所接收的通告消息的接收信号强度量值(例如,rssi)超过阈值时,控制尝试附接到该路由器装置。如果控制装置在第二时间段结束之前没有从路由器装置接收到通告消息,则在968处控制装置可放弃其先前角色并开始另一附接程序。
216.如果在964处控制装置从其唯一标识符被存储在存储器中的所选择的路由器装置接收到通告消息,则在970处控制装置可通过向所选择的路由器装置传输单播请求来尝试附接到该路由器装置。在970处,控制装置可向其唯一标识符被存储在存储器中的所选择的路由器装置传输链路请求消息(例如,作为单播消息),控制装置可使用该链路请求消息来恢复其在先前形成的网络中的角色。控制装置可根据控制装置是附接到先前形成的网络的领导者装置还是另一路由器装置来选择先前的领导者装置或路由器装置。例如,如果控制装置直接附接到先前形成的网络中的领导者装置(例如,图2e的路由器装置220a、220c),则控制装置可向先前形成的网络的领导者装置传输被配置为建立路由器到路由器链路的附接消息,诸如链路请求消息(例如,作为单播消息)。然而,如果控制装置没有直接附接到领导者装置(例如,图2e的路由器装置220b、220d),则控制装置可向路由器装置传输链路请求消息(例如,作为单播消息),控制装置可通过该路由器装置进行通信以与领导者装置进行通信。例如,参考图2e,路由器装置225b可存储路由器装置225c的标识符,其可表示返回到领导者装置215的下一跳。路由器装置225b可在等待协调启动时间之后将链路请求消息作为单播消息传输到路由器装置225c。在972处,控制装置可确定是否接收到对在970处传输的链路请求消息的响应。如本文所述,对链路请求消息的响应可以是链路接受消息,该链路接受消息可指示建立通信链路以用于与先前形成的网络中的控制装置通信。链路接受消息可包括允许控制装置对来自与之建立通信链路的装置的消息进行解密的信息(例如,帧计数器)。
217.如果在972处未能接收到对链路请求消息的响应(例如,在一定时间段之后),则在968处,控制装置可放弃其在先前形成的网络中的角色并开始另一附接程序。对链路请求消息的响应可指示先前形成的网络的领导者或其他路由器装置被通电并接受来自网络中的其他装置的链路请求。如果接收到对链路请求消息的响应,则在974处控制装置可传输路由器通告消息。传输路由器通告消息可以向网络上的其他路由器装置通知控制装置正在作为路由器装置操作。传输通告消息可触发在先前形成的网络中附接到控制装置的其他路由器
装置和/或终端装置以重新附接到控制装置并且重新形成先前形成的网络。例如,参考图2a,如果路由器装置220a发送路由器通告消息,则终端装置230a和休眠终端装置250可被触发以重新附接到路由器装置220a。参考图2e,如果路由器装置225a、225c传输路由器通告消息,则路由器装置225e、225d可被触发以重新附接到路由器装置225a,并且路由器装置225b可被触发以重新附接到路由器装置225c。路由器装置225b、225d、225e可等待它们在它们的协调启动时间期间先前所附接到的其相应的路由器装置的路由器通告。
218.再次参考图9c,控制装置可确定控制装置是终端装置。例如,如果在962处控制装置确定控制装置不是先前形成的网络中的路由器装置,则在976处控制装置可确定它是终端装置并等待协调启动时间。终端装置的协调启动时间可以是预定时间。终端装置的协调启动时间可长于路由器装置的协调启动时间。终端装置的协调启动时间可足够长以允许路由器装置在终端装置尝试附接到路由器装置之前彼此建立通信。例如,路由器装置的协调启动时间(例如,963处的协调启动时间)可以是零秒至一秒之间的随机时间,而终端装置的协调启动时间(例如,976处的协调启动时间)可以是十秒和二十五秒之间的随机时间。此外,协调启动时间可如本文所述来计算。
219.协调启动时间可在先前形成的网络的路由器装置已重新附接到网络中的其他装置之后结束。在976处等待协调启动时间结束之后,在975处控制装置可确定是否从先前形成的网络上的控制装置的父装置接收到通告消息。
220.控制装置可从其先前的父装置接收通告消息。例如,控制装置可等待在975处从路由器装置接收到通告消息,通过该路由器装置在先前形成的网络(例如,先前父装置)中传输网络通信。在先前形成的网络中控制装置所附接到的路由器装置的唯一标识符可存储在存储器中。控制装置可等待来自其唯一标识符被存储在存储器中的先前父装置的通告消息,以便能够在先前形成的网络中进行通信。如果控制装置尚未从其唯一标识符被存储在存储器中的先前父装置接收到通告消息,以便能够在先前形成的网络中进行通信,则在977处控制装置可确定超时时间段是否已经过去。如果超时时间段已经过去并且通告消息尚未被接收,则在968处控制装置可放弃其先前角色并且开始另一附接程序。
221.如果控制装置从其唯一标识符被存储在存储器中的先前父装置接收到通告消息,则在978处控制装置可向先前父装置传输被配置为建立父子链路的单播附接消息(例如,父请求消息)。在978处,控制装置可向其唯一标识符被存储在存储器中的父路由器装置传输父请求消息(例如,作为单播消息),控制装置可使用该父请求消息来恢复其在先前形成的网络中的角色。控制装置可根据控制装置是附接到先前形成的网络的领导者装置的子装置还是另一路由器装置来选择先前父装置。例如,如果控制装置作为子装置直接附接到先前形成的网络中的领导者装置(例如,图2c和图2d的终端装置234a和图2b的终端装置223),则控制装置可向先前形成的网络的领导者装置传输父请求消息(例如,作为单播消息)。然而,如果控制装置没有直接附接到领导者装置(例如,图2a的终端装置230a、230b、休眠终端装置250和/或reed装置240),则控制装置可向路由器装置传输父请求消息(例如,作为单播消息),控制装置可通过该路由器装置进行通信以在网络上(例如,与领导者装置)进行通信。例如,参考图2a,终端装置230a可存储路由器装置220a的标识符,其可表示返回到领导者装置210的下一跳。终端装置230a可在等待协调启动时间之后将父请求消息作为单播消息传输到路由器装置220a。
222.再次参考图9c,在980处,控制装置可确定是否接收到对在978处传输的父请求消息的响应。对父请求消息的响应可以是父响应消息。如果未能接收到对父请求消息的响应(例如,在预定义时间段内),则在968处,控制装置可放弃其在先前形成的网络中的角色并开始另一附接程序。对单播消息的响应可指示先前形成的网络的父装置被通电并接受子装置。可执行附接程序以附接到如本文所述的另一网络或网络分区。如果接收到对父请求消息的响应,则控制装置可继续与先前形成的网络的相同父装置进行通信。
223.图9d是示出当执行启动和/或附接程序以附接到先前形成的网络中的装置时在网络940a中的装置之间传送的示例性消息的序列流程图。图9d所示的序列流程图中所示的启动和/或附接程序可反映当网络940a中的装置执行图9c所示的和本文所述的流程图952的一个或多个部分时网络940a中的消息的序列流。再次参考图9d,示例性网络940a可包括与图9b所示的网络940类似的装置配置。类似地,网络940a可包括图2e所示的网络200c中的装置的子集作为示例,但是具有其他配置的其他网络可类似地操作。网络940a可包括领导者装置215、路由器装置225a、225d、225f,以及附接到父装置(例如,路由器装置225f)的终端装置260。
224.如图9d所示,领导者装置215可与路由器装置225a共享单跳通信链路。在网络形成期间,路由器装置225a可存储领导者装置215的路由器标识符和距领导者装置的跳计数(例如,跳计数=1),通过该路由器标识符可执行朝向领导者装置215的单跳通信。路由器装置225a可与路由器装置225d共享单跳通信链路。在网络形成期间,路由器装置225d可存储路由器装置225a的路由器标识符和距领导者装置的跳计数(例如,跳计数=2),通过该路由器标识符可执行朝向领导者装置215的单跳通信。路由器装置225d可与路由器装置225f共享单跳通信链路。在网络形成期间,路由器装置225f可存储路由器装置225d的路由器标识符和距领导者装置的跳计数(例如,跳计数=3),通过该路由器标识符可执行朝向领导者装置215的单跳通信。虽然在图2e中未示出,但是终端装置260可与路由器装置225f共享单跳通信链路。在网络形成期间,终端装置260可存储父装置225f的路由器标识符。
225.当网络940a中的装置在网络形成之后断电和通电时,装置中的每个装置可执行启动和/或附接程序以尝试重新形成先前形成的网络。领导者装置215可将其自身标识为领导者装置,并且传输链路请求消息984。链路请求消息984可作为多播消息来发送。链路请求消息984可用于确定网络是否已经形成有另一领导者装置。当领导者装置215未能接收对链路请求消息984的响应时,领导者装置215可维护其作为领导者装置的角色,开始传输通告消息,并且允许在先前形成的网络上先前附接到领导者装置215的非领导者路由器装置的附接。
226.路由器装置225a可在收听从路由器装置225a在先前形成的网络中所附接到的领导者装置215传输的通告消息之前等待协调路由器装置启动时间982。路由器装置225a的协调路由器装置启动时间可与网络940a中的其他路由器装置225d、225f的协调路由器装置启动时间982a、982b相同或不同。协调路由器装置启动时间982、982a、982b可以是相同的预定义时间,因为每个相应的路由器装置225a、225d、225f可在网络240a上执行通信之前等待接收到通告消息。由等待另一路由器装置的通告消息引起的延迟可允许离领导者装置215较近(例如,距领导者装置215具有较低跳计数)的路由器装置225a具有高于离领导者装置215较远(例如,距领导者装置215具有较大跳计数)的路由器装置225d、225f的优先级。
227.路由器装置225a的协调启动时间982可不同于其他路由器装置225d、225f的协调启动时间982a、982b。例如,协调启动时间982可等于基本延迟时间(例如,其对于每个路由器装置225a、225d、225f可以是相同的)加上偏移延迟时间。协调路由器装置启动时间982的偏移延迟时间可基于路由器装置225a和领导者装置215之间的跳计数。对于距领导者装置215的跳数较大的路由器装置,偏移延迟时间可被加权得更高。例如,偏移延迟时间可以是基于返回到领导者装置215的跳计数(例如,跳计数=1)的倍数。在形成先前形成的网络期间,跳计数可被本地存储在路由器装置225a处。
228.在路由器装置225a等待协调路由器装置启动时间982之后,路由器装置225a可收听并接收来自领导者装置215的通告消息985。通告消息985可作为多播消息传输。路由器装置225a可具有本地存储的领导者装置215的路由器标识符或其他唯一标识符,以将领导者装置215标识为路由器装置225a在先前形成的网络中所附接到的装置。路由器装置225a可标识来自领导者装置215的通告消息985,并且确定领导者装置215被通电并能够接收链路请求。响应于通告消息985,路由器装置225a可向领导者装置215传输单播请求消息986。单播请求消息986可由路由器装置225a传输,以便路由器装置225a尝试恢复其在先前形成的网络中的角色。单播请求消息986可以是用以重新形成路由器装置225a和领导者装置215之间的通信链路的链路请求消息。单播请求消息986可包括领导者装置215的其他唯一标识符的路由器标识符。
229.领导者装置215可接收单播请求消息986并且用单播响应消息987来响应。如本文所述,单播响应消息987可以是链路接受消息,其可指示形成通信链路以用于路由器装置225a和领导者装置215之间的通信,如在先前形成的网络中。链路接受消息可包括允许路由器装置225a对来自与之建立通信链路的领导者装置215的消息进行解密的信息(例如,帧计数器)。在路由器装置225a处接收到单播响应消息987之后,路由器装置225a可在网络940a中传输路由器通告消息。
230.路由器装置225d可在收听从路由器装置225d在先前形成的网络中所附接到的路由器装置225a传输的通告消息之前等待协调路由器装置启动时间982a。如本文所述,路由器装置225d的协调路由器装置启动时间可与网络940a中的其他路由器装置225a、225f的协调路由器装置启动时间982、982b相同或不同。路由器装置225d的协调启动时间982a可等于基本延迟时间(例如,其对于每个路由器装置225a、225d、225f可以是相同的)加上偏移延迟时间。协调路由器装置启动时间982a的偏移延迟时间可基于路由器装置225d和领导者装置215之间的跳计数。对于距领导者装置215的跳数较大的路由器装置,偏移延迟时间可被加权得更高。例如,偏移延迟时间可以是基于返回到领导者装置215的跳计数(例如,跳计数=2)的倍数。路由器装置225d的偏移延迟时间可长于路由器装置225a的偏移延迟时间,因为路由器装置225d距领导者装置215的跳计数更大。在形成先前形成的网络期间,跳计数可被本地存储在路由器装置225d处。
231.在路由器装置225d等待协调路由器装置启动时间982a之后,路由器装置225d可收听并接收来自路由器装置225a的通告消息988。通告消息988可作为多播消息传输。路由器装置225d可具有本地存储的路由器装置225a的路由器标识符或其他唯一标识符,以将路由器装置225a标识为路由器装置225d在先前形成的网络中所附接到的装置。路由器装置225d可标识来自路由器装置225a的通告消息988,并且确定路由器装置225a被通电并能够接收
链路请求。
232.响应于通告消息988,路由器装置225d可向路由器装置225a传输单播请求消息989。单播请求消息989可由路由器装置225d传输,以便路由器装置225d尝试恢复其在先前形成的网络中的角色。单播请求消息989可以是用以重新形成路由器装置225d和路由器装置225a之间的通信链路的链路请求消息。单播请求消息989可包括路由器装置225a的其他唯一标识符的路由器标识符。
233.路由器装置225a可接收单播请求消息989并且用单播响应消息990来响应。如本文所述,单播响应消息990可以是链路接受消息,其可指示形成通信链路以用于路由器装置225d和路由器装置225a之间的通信,如在先前形成的网络中。链路接受消息可包括允许路由器装置225d对来自与之建立通信链路的路由器装置225a的消息进行解密的信息(例如,帧计数器)。在路由器装置225d处接收到单播响应消息990之后,路由器装置225d可在网络940a中传输路由器通告消息。
234.路由器装置225f可在收听从路由器装置225f在先前形成的网络中所附接到的路由器装置225d传输的通告消息之前等待协调路由器装置启动时间982b。如本文所述,路由器装置225f的协调路由器装置启动时间可与网络940a中的其他路由器装置225a、225d的协调路由器装置启动时间982、982a相同或不同。路由器装置225f的协调启动时间982b可等于基本延迟时间(例如,其对于每个路由器装置225a、225d、225f可以是相同的)加上偏移延迟时间。对于距领导者装置215的跳数较大的路由器装置,偏移延迟时间可被加权得更高。协调路由器装置启动时间982b的偏移延迟时间可基于路由器装置225f和领导者装置215之间的跳计数。例如,偏移延迟时间可以是基于返回到领导者装置215的跳计数(例如,跳计数=3)的倍数。路由器装置225f的偏移延迟时间可长于路由器装置225a、225d的偏移延迟时间,因为路由器装置225f距领导者装置215的跳计数更大。在形成先前形成的网络期间,跳计数可被本地存储在路由器装置225f处。
235.在路由器装置225f等待协调路由器装置启动时间982b之后,路由器装置225f可收听并接收从路由器装置225d传输的通告消息991。通告消息991可作为多播消息传输。路由器装置225f可具有本地存储的路由器装置225d的路由器标识符或其他唯一标识符,以将路由器装置225d标识为路由器装置225f在先前形成的网络中所附接到的装置。路由器装置225f可标识来自路由器装置225d的通告消息991,并且确定路由器装置225d被通电并能够接收链路请求。
236.响应于通告消息991,路由器装置225f可向路由器装置225d传输单播请求消息992。单播请求消息992可由路由器装置225f传输,以便路由器装置225f尝试恢复其在先前形成的网络中的角色。单播请求消息992可以是用以重新形成路由器装置225f和路由器装置225d之间的通信链路的链路请求消息。单播请求消息992可包括路由器装置225d的其他唯一标识符的路由器标识符。
237.路由器装置225d可接收单播请求消息992并且用单播响应消息993来响应。如本文所述,单播响应消息993可以是链路接受消息,其可指示形成通信链路以用于路由器装置225f和路由器装置225d之间的通信,如在先前形成的网络中。链路接受消息可包括允许路由器装置225f对来自与之建立通信链路的路由器装置225d的消息进行解密的信息(例如,帧计数器)。在路由器装置225f处接收到单播响应消息993之后,路由器装置225f可在网络
940a中传输路由器通告消息。
238.终端装置260可在收听从路由器装置225f传输的通告消息之前等待协调终端装置启动时间983,该路由器装置作为终端装置260的父装置本地存储在先前形成的网络中。终端装置260的协调启动时间983可以是长于路由器装置225a、225d、225f的协调启动时间的预定时间(例如,以允许路由器装置225a、225d、225f在终端装置260尝试附接到路由器装置225f之前彼此建立通信)。此外,可例如以与计算路由器装置225a、225d、225f的协调启动时间982、982a、982b的方式相似或不同的方式来计算终端装置260的协调启动时间983。例如,终端装置260的协调启动时间983可如本文所述基于终端装置的跳计数用基本延迟时间(例如,其对于每个终端装置可以是相同的)和/或增加的延迟时间来计算。如本文所述,诸如终端装置260之类的控制装置的跳计数可存储在控制装置处,或者以其他方式传送到控制装置。终端装置260的协调启动时间983可具有长于路由器装置225a、225d、225f的基本延迟时间(例如,其对于网络中的每个终端装置可以是相同的)和/或偏移延迟时间。例如,路由器装置225a、225d、225f的基本延迟时间可以是零秒至一秒之间的时间,并且终端装置260的基本延迟时间可以是十秒和二十五秒之间的时间。终端装置260的基本延迟时间可以是路由器装置225a、225d、225f的基本延迟时间的倍数。终端装置260的较长协调启动时间283可给予路由器装置225a、225d、225f优先级以允许路由器装置225a、225d、225f执行启动和/或附接程序,并且准备好从终端装置接收父请求。为终端装置260的协调启动时间983的每个跳计数添加的时间量可与为路由器装置225a、225d、225f的每个跳计数添加的时间相同或不同。
239.在终端装置260等待协调路由器装置启动时间983之后,终端装置260可收听并接收来自路由器装置225f的通告消息994。通告消息994可作为多播消息传输。终端装置260可具有本地存储的路由器装置225f的路由器标识符或其他唯一标识符,以将路由器装置225f标识为终端装置260在先前形成的网络中所附接到的父装置。终端装置260可标识来自路由器装置225f的通告消息994,并且确定路由器装置225f被通电并能够接收父请求。
240.响应于通告消息994,终端装置260可向路由器装置225f传输父请求消息995。父请求消息995可作为单播消息传输。父请求消息995可由终端装置260传输,以便终端装置260尝试恢复其在先前形成的网络中作为路由器装置225f的子装置的角色。父请求消息995可以是用以重新形成终端装置260和路由器装置225f之间的通信链路的请求。终端装置260可在存储器中标识终端装置260附接到先前形成的网络中的路由器装置225f,以用于向领导者装置215传送消息。例如,路由器装置225f的标识符可表示返回到领导者装置215的下一跳。终端装置260可将父请求消息995传输到路由器装置225f,终端装置260在先前形成的网络中附接到该路由器装置。父请求消息995可包括路由器装置225f的其他唯一标识符的路由器标识符。
241.路由器装置225f可接收父请求消息995并且用父响应消息996来响应。如本文所述,父响应消息996可指示路由器装置225f已经接受终端装置260作为子装置,并且重新形成通信链路以用于终端装置260和路由器装置225f之间的通信,如在先前形成的网络中。父响应消息996可包括允许终端装置260对来自与之建立通信链路的路由器装置225f的消息进行解密的信息(例如,帧计数器)。在终端装置260处接收到父响应消息996之后,终端装置260可通过路由器装置225f将消息传送出来到网络940a中的其他装置。
242.如本文所述,加入到不同网络或网络分区的控制装置可能不能彼此通信。因此,为了使负载控制系统中的所有控制装置彼此通信,负载控制系统中的控制装置可加入到单个网络或网络分区。然而,在某些场景中,可在负载控制系统中形成多个网络或网络分区。例如,当控制装置不能附接到已经形成的网络或网络分区上的路由器装置时,控制装置可形成新的网络或网络分区。图10a至图10c示出了形成负载控制系统中的控制装置所附接到的单个网络或网络分区的示例性程序。
243.图10a是控制装置转变为路由器装置的角色(例如,升级为路由器装置)的示例性程序1000的流程图。程序1000可由控制装置执行,该控制装置能够被分配给路由器装置的角色,诸如符合路由器条件的终端装置240。在1002处,控制装置可确定是否转变为路由器装置的角色。控制装置可确定在多个场景中转变为路由器装置的角色。例如,控制装置可在控制装置确定网络(例如,或网络分区)内的路由器装置的数量不足(例如,低于阈值)时确定转变为路由器装置。如本文所述,当尝试附接到网络(例如,或网络分区)的另一装置请求使用控制装置作为其父装置(例如,向控制装置传输被配置为建立父子链路的附接消息,诸如父请求消息)时,控制装置可确定转变为路由器装置的角色。如果控制装置未能确定转变为路由器装置的角色,则程序1000可退出。
244.如果控制装置确定控制装置应转变为路由器装置的角色,则在1004处该装置可传输要成为路由器装置的消息。例如,控制装置可向网络或网络分区的领导者装置传输地址征求请求消息。在1006处,控制装置可确定是否接收到对成为路由器装置的消息的响应。例如,对转变为路由器装置的消息的响应可包括所分配的路由器标识符。如果在1006处没有接收到响应,则在1008处控制装置可确定超时时间段是否已经过去。如果超时时间段已经过去并且尚未接收到响应,则程序1000可退出。超时时间段可以是预定义的,并且指示在其期间将接收到对成为路由器装置的消息的响应的时间段。
245.如果在1006处接收到对成为路由器装置的消息的响应,则在1010处控制装置可传输链路请求消息。如本文所述,网络内的路由器装置可用链路接受消息来响应链路请求消息,并且控制装置现在可被分配给路由器装置的角色。在路由器装置升级之后,其他装置可附接到控制装置并与控制装置建立父子链路,这可降低控制装置形成新网络分区的可能性,因为该控制装置未能附接到已经形成的网络或网络分区上的装置。因此,在1012处,执行程序1000的控制装置可与响应在1010处传输的链路请求的路由器装置通信,并且程序1000可退出。
246.再次参考图2b,可在单个网络200b中形成多个网络分区201、202、203。然而,一个分区(例如,第一网络分区201)中的装置可能不能与另一分区(例如,第二网络分区202和/或第三网络分区203)中的装置通信。例如,现在参考图1,如果网络装置190附接到与落地灯142不同的网络分区,则网络装置190可能不能与落地灯142通信(例如,向该落地灯发送负载控制指令)。类似地,如果系统控制器110附接到与电动窗上用品150不同的网络分区,则系统控制器110可能不能与电动窗上用品150通信。然而,返回参考图2b,当诸如网络200b之类的网络中的装置中的每个装置处于单个网络分区中时,这些装置可最终能够彼此通信(例如,如图2a所示)。因此,为了将多个网络分区合并成单个网络分区,装置可尝试附接到较高优先级的网络分区。例如,具有较高优先级值的网络分区可以是具有较高分区标识符的网络分区。再次参考图2b,网络分区201可具有比网络分区202、203更高的优先级(例如,
因为网络分区201具有分区标识符3,并且网络分区202、203分别具有分区标识符1和2)。此外,包括至少一个路由器装置(例如,除了领导者装置之外的至少一个路由器装置)的网络分区可以是比不包括路由器装置的网络分区更高优先级的网络分区,而与网络分区的优先级值无关。例如,参考图2b,由于网络分区202包括路由器装置222a、222b、222c、222d,因此网络分区202可具有比网络分区203更高的优先级(例如,即使网络分区203具有更高优先级值2)。因此,如果领导者装置213听到来自网络分区202中的控制装置的通告消息,则领导者装置213可尝试附接到网络分区202。
247.如本文所述,网络分区中的路由器装置可由相应网络分区的领导者装置分配路由器标识符(例如,路由器id)。当控制装置尝试附接到网络分区上的另一控制装置并且然后尝试成为路由器装置时,可以向该装置随机分配路由器标识符(例如,来自预定义的路由器标识符的范围)。另外或可替代地,当控制装置尝试附接到网络分区上的另一控制装置并且然后尝试成为路由器装置时,该装置可请求被分配特定的路由器标识符。例如,当路由器装置在该装置先前所附接到的网络分区中被分配了所请求的路由器标识符时,该路由器装置可请求被分配特定的路由器标识符。此外,如果路由器装置随后附接到另一网络分区并且使用在先前网络分区中分配的路由器标识符,则来自先前网络分区的路由器装置的子装置可(例如,通过使用附接程序)自动附接到其他网络分区中的路由器装置(例如,而无需尝试附接到网络分区上的另一路由器装置,如本文结合图6至图8b所述)。然而,如果路由器装置附接到其他网络分区并且不能使用所请求的路由器标识符(例如,路由器装置被分配了不同的路由器标识符),则路由器装置的子装置可能不会自动附接到其他网络分区。相反,子装置可能必须使用结合图6至图8b描述的程序来附接到网络分区上的另一路由器装置(例如,使用附接程序来建立父子链路)。
248.与网络分区分离的父装置的子装置可能无法与网络分区上的其他装置进行通信(例如,由于父装置促进子装置的通信),并且子装置可尝试附接到分区中的另一路由器装置并与该另一路由器装置建立父子链路。在某些实例中,父装置与网络分区分离以附接到另一网络分区,可以是网络分区的领导者装置。如本文所述,当领导者装置与网络分区分离时,网络分区可能不复存在(例如,因为每个网络分区必须包括至少一个领导者装置)。结果,当领导者装置与网络分区分离时,领导者装置的子装置和网络分区上的任何路由器装置可尝试附接到另一网络分区。如本文所述,随着尝试附接到其他网络分区的装置数量的增加,装置到另一分区网络的附接可被延迟(例如,由于如本文所述的退避时间段)。然而,如果装置较早地发起附接程序,则可加速网络中单个网络分区的形成。
249.图10b是由控制装置(例如,父装置)响应于接收到消息(例如,从子装置)而执行的示例性程序1020的流程图。例如,可经由网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区200、201、202)来接收消息。程序1020可由作为父装置(例如,领导者装置或路由器装置)的控制装置来执行,该控制装置至少已经与子装置(例如,终端装置、休眠终端装置和/或符合路由器条件的终端装置)建立了父子关系。如图10b所示,程序1020可由控制装置响应于在1021处接收到消息而执行。在1022处,父装置可确定所接收的消息是否来自子装置(例如,附接到执行程序1020的控制装置的子装置)。如果从除了子装置之外的控制装置接收到消息,则在1028处父装置可以相应地处理该消息。例如,在1021处接收的消息可以是来自附接到另一网络分区的路由器装置的通告消息。此外,在1028处控制装置可处理
路由器通告消息以确定与其他网络分区相关联的优先级(例如,确定其他网络分区是否具有较高优先级),并且/或者确定在其他网络分区上是否存在冲突(例如,路由器id冲突)。在1028处处理消息之后,程序1020可退出。
250.如图10所示,作为至少一个子装置的父装置的控制装置在其检测到较高优先级网络上的冲突(例如,路由器id冲突)时可以忽略来自其子装置的消息。例如,如果在1022处所接收的消息来自子装置,则在1024处父装置可确定其路由器标识符与较高优先级网络分区上的路由器装置的路由器标识符之间是否存在冲突(例如,路由器id冲突)。如本文所述,当控制装置从附接到较高优先级网络分区并被分配了与接收通告消息的装置相同的路由器标识符的路由器装置接收到通告消息时(例如,当在先前调用程序1020的1028处处理不是从控制装置的子装置接收的所接收消息时),控制装置可确定存在路由器id冲突。例如,从附接到另一网络或网络分区的控制装置接收的通告消息可包括附接到其他网络或网络分区的相应路由器装置中的每个路由器装置的路由器id的指示,这可向控制装置提供确定是否存在路由器id冲突的能力。如果在1024处不存在路由器id冲突,则在1028处控制装置可相应地处理来自其子装置的消息。例如,控制装置可响应或路由从子装置接收的消息。再次,在1028处处理消息之后,程序1020可退出。
251.然而,如果控制装置确定确实存在路由器id冲突(例如,当在先前调用程序1020的1028处处理不是从控制装置的子装置接收的所接收消息时),则在1026处控制装置可忽略从子装置接收的消息。如本文所述,当存在路由器id冲突时,控制装置可能不能附接到较高优先级网络分区并继续使用相同的路由器标识符。此外,父装置的子装置可能不能自动附接到较高优先级网络分区。相反,父装置可与其当前网络分区分离,并尝试附接到较高优先级网络分区(例如,使用结合图3至图5b描述的程序),这可以减少形成单个网络分区所花费的时间。可由较高优先级网络分区向父装置分配更新后的路由器标识符(例如,与在先前网络分区中分配的路由器标识符不同的路由器标识符)。当父装置与网络分区分离时,父装置的子装置可能无法与网络分区中的其他装置通信(例如,当子装置经由父装置在网络分区中通信时),并触发子装置以尝试附接到另一网络分区(例如,较高优先级网络分区)。例如,子装置可周期性地(例如,高达每四分钟)对来自相应父装置的数据进行登记或轮询,并且当父装置在子装置对数据进行登记或轮询时无响应时,子装置可被触发以尝试附接到另一网络分区。
252.当存在较高优先级网络分区时,较低优先级网络分区的增长(例如,附接到较低优先级网络分区的装置数量的增长)可增加形成单个网络分区所花费的时间量。例如,附接到较低优先级网络分区的装置可最终附接到最高优先级网络分区。此外,如果相应较低优先级网络分区中的每一者的领导者装置与其相应的网络分区分离,则较低优先级网络分区可能不复存在,如本文所述,这可能导致附接到较低优先级网络分区的装置失去网络连接性并尝试附接到较高优先级网络分区。因此,附接到较低优先级网络分区的装置可尝试同时或基本上同时附接到较高优先级网络分区,这可能导致装置到较高优先级网络分区的附接被延迟(例如,由于如本文所述的退避时间段)。
253.图10c是由控制装置(例如,领导者装置)响应于接收到消息而执行的示例性程序1050的流程图。例如,可经由网络或网络分区(例如,网络200a、200b、200c、200d和/或网络分区200、201、202)来接收消息。程序1050可由领导者装置执行以确定是否将控制装置(例
如,符合路由器条件的终端装置)升级为路由器装置的角色。如图10c所示,程序1050可响应于在1051处接收到消息而执行。在1052处,领导者装置可确定该消息是否是被配置为请求升级为路由器装置的附接消息(例如,路由器升级请求消息和/或地址征求消息)。如本文所述,网络分区中的某些装置(例如,符合路由器条件的终端装置)可被升级为路由器装置的角色。为了升级为路由器装置的角色,装置可向网络分区的领导者装置传输消息。如果领导者装置接受将装置的角色升级为路由器装置的请求,则领导者装置可将路由器标识符分配给该装置。如果所接收的消息不是升级为路由器装置的角色的请求,则程序1050可退出。
254.在1054处,领导者装置(例如,领导者装置211)可确定较高优先级网络分区是否退出。如本文所述,装置可尝试附接到较高优先级网络分区,例如,以在网络中形成单个网络分区。如果较高优先级网络分区确实存在并且已经被领导者装置标识,则在1062处领导者装置可拒绝将装置升级为路由器装置的角色(例如,拒绝路由器升级请求消息)。例如,如果领导者装置拒绝允许装置升级为路由器装置的角色,则附加装置可能无法附接到领导者装置当前所附接到的较低优先级网络分区(例如,由于附加子装置可能无法通过附接到被请求升级为路由器装置的角色的装置来附接到网络分区)。如果附加装置不能附接到较低优先级网络分区,则在网络中形成单个网络分区所花费的时间可减少。
255.然而,如果较高优先级的网络分区不存在,或者尚未被领导者装置标识,则领导者装置可确定当前路由器计数n
router
是否小于最大路由器计数n
router-max
。当前路由器计数n
router
可指示当前附接到网络分区的路由器装置的数量。最大路由器计数n
router-max
可指示可附接到网络分区的路由器装置的最大数量,如本文所述,该最大数量可以是预先配置的和/或预定义的。如果当前路由器计数n
router
小于最大路由器计数n
router-max
(例如,附加路由器装置可附接到网络分区),则在1058处领导者装置可传输命令以将装置升级为路由器装置的角色(例如,通过将路由器标识符分配给该装置)。此外,例如在1060处,父装置可递增当前路由器计数n
router
以指示路由器装置已附接到网络分区。然而,如果变量n
router
大于或等于最大路由器计数n
router-max
(例如,最大数量的路由器装置附接到网络分区),则在1062处父装置可拒绝将装置升级为路由器装置的角色(例如,通过不将路由器标识符分配给该装置)。
256.诸如thread网络之类的网络的许多实现方式例如可继续允许已附接到父装置的子装置通过网络建立通信链路并维护通信链路直到该通信链路出故障。如本文所述,在网络形成的初始阶段期间,网络可包括单个路由器装置(例如,领导者装置),并且路由器装置和初始添加的子装置之间的通信链路可随着网络的增长而变得脆弱。例如,附接到网络的装置可以是领导者装置的子装置。随着网络在形成中增长和推进,领导者装置可以将其子装置中的一个或多个子装置(例如,符合路由器条件的终端装置)的角色升级为路由器装置的角色,例如,以考虑附加装置的附接。因此,随着时间过去和网络增长(例如,随着附接到网络的装置的数量增加),网络上的路由器装置的数量可增加,这增加了网络的通信范围。
257.在附接到网络的路由器的数量增加之后,可向尝试附接到网络的装置提供增加数量的要附接到的路由器,这可允许装置附接到与相应装置共享较强通信链路的路由器(例如,路由器和相应装置之间的消息具有较高rssi)。例如,如果两个装置邻近地定位(例如,彼此靠近地定位,使得彼此之间的通信可能成功),则两个相应装置可共享强通信链路。类似地,可向尝试附接到辅助父装置的装置提供增加数量的要附接到的路由器,这可允许装
置与路由器附接,该路由器与装置共享较强通信链路。
258.如果子装置附接到具有较强通信链路的父装置,则该装置通过网络的通信可改善(例如,消息被成功发送和/或接收的可能性可增加)。例如,由于相应的子装置和父装置之间的通信链路可能更强(例如,可以用更强或更高的接收信号强度指示符来发送和/或接收消息),因此装置通过网络的通信可改善。然而,如本文所述,在网络形成的初始阶段期间(例如,当网络包括少于三个路由器时),子装置可能无法附接到具有较强通信链路的父装置。例如,子装置可能无法附接到具有较强通信链路的父装置,因为所述父装置可能不存在(例如,网络可能无法升级与子装置共享强通信链路的装置)。此外,只要成功地发送和/或接收阈值数量的通信(例如,在25%的时间内成功地发送和/或接收通信),子装置就可保持附接到父装置。结果,子装置可保持附接到未能具有比另一父装置更强的通信链路的父装置,这可减少在网络上为装置执行的通信的成功(例如,消息未能被发送和/或接收的可能性可增加)。
259.然而,如果子装置附接到具有比其他可用父装置更弱的通信链路的父装置,则子装置通过网络的通信可降级(例如,消息未能被发送和/或接收的可能性可增加)。然而,子装置可保持附接到具有较弱通信链路的父装置。例如,子装置可保持附接到父装置,直到连续失败的消息传输和/或接收的数量大于或等于传输失败的阈值数量(例如,5)。此外,当消息传输失败时,子装置的通信可被延迟,这可导致负载控制系统不能迅速响应用于在系统内实现负载控制的命令。
260.如本文所述,在网络形成的初始阶段期间,子装置可能不能附接到定位在或位于控制装置附近的父装置(例如,与控制装置共享较强通信链路的路由器装置)。例如,子装置可能不能附接到定位在或位于装置附近的父装置,因为网络可能还必须升级定位在或位于子装置附近的路由器装置。相反,控制装置可附接到不定位在或位于附近的路由器装置,这可增加消息传输失败和/或消息接收失败的可能性。当网络升级附加路由器装置时,控制装置可尝试附接到另一路由器装置,该另一路由器装置可定位在或位于附近,从而增加成功消息传输和/或接收的可能性。
261.控制装置可尝试附接到另一父装置,例如,尝试附接到定位在或位于装置附近的路由器装置。此外,由于路由器可在网络形成的初始阶段期间被网络偶尔升级,因此定位在或位于装置附近的路由器可随时间推移而改变。结果,控制装置确定是否附接到另一父装置的速率可以是可变的并且/或者使得网络不太可能随后升级其他路由器。例如,控制装置确定是否附接到另一父装置的速率可基于对辅助父表的改变。父更新定时器可用于确定是否附接到更新后的父装置。当辅助父表被更新时,父更新定时器可被重置(例如,如图9b的程序920的940处所示)。
262.子装置可在父更新定时器到期后确定是否附接到更新后的父装置。例如,当子装置与更新后的父装置之间的通信链路(例如,父/子链路)可强于子装置与子装置的当前父装置之间的通信链路(例如,更新后的父装置比子装置的当前父装置更靠近子装置定位并且/或者干扰源已被移除)时,子装置可确定附接到更新后的父装置。如果子装置附接到与子装置共享较强通信链路的更新后的父装置,则子装置通过网络的通信质量可改善。
263.图11是由控制装置执行以附接到更新后的父装置的示例性程序1100的流程图。程序1100可由控制装置在控制装置已附接到网络或网络分区(例如,网络200a、200b、200c、
200d和/或网络分区201、202、203)上的父装置之后执行。执行程序1100的控制装置可以是附接到网络上的父装置的子装置。当至少一个辅助父装置在辅助父表中被标识(例如,辅助父表具有非空值)以潜在地作为更新后的父装置被添加时和/或当辅助父装置在一段时间内具有比当前父装置更强的平均接收信号强度标识符时,可执行程序1100。现在参考图2a,程序1100可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250来执行。
264.如图11所示,程序1100可在1101处附接定时器到期后执行。当辅助父表被更新时,父更新定时器可被重置。每当辅助父装置被添加到辅助父表时,可以更新辅助父表。当控制装置附接到辅助父装置时,可以将辅助父装置添加到辅助父表。对辅助父表的添加可指示网络处于网络形成的初始阶段(例如,控制装置仍在附接到网络并且/或者领导者装置仍在升级网络上的路由器装置),控制装置已被添加到网络,和/或一定形式的干扰(例如,分区或其他通信装置)已被移除。对辅助父表的更新可指示网络的领导者装置最近将终端装置升级为靠近控制装置定位的路由器装置,这也可指示网络的领导者装置可更新靠近控制装置定位的其他路由器装置。
265.在1102处,控制装置可确定通信度量,例如,控制装置的当前父装置的接收信号强度指示符量值。例如,在1102处控制装置可确定控制装置的当前父装置的接收信号强度指示符rssi
par
。如本文所述,控制装置可附接到父装置,这可促进控制装置通过网络的通信。在1104处,控制装置可确定辅助父表中具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置。控制装置可附接到一个或多个辅助父装置。网络上的路由器装置(例如,领导者装置,诸如领导者装置210,和/或路由器装置,诸如路由器装置220a至220d中的一者)可作为辅助父装置来操作。
266.控制装置可确定辅助父装置的相应通信度量是否指示比父装置的通信度量更强的潜在通信链路。例如,如图11所示,在1106处控制装置可确定辅助父表中的辅助父装置的最高接收信号强度指示符rssi
aux-hi
与当前父装置的接收信号强度指示符rssi
par
之间的差值是否大于或等于滞后阈值th
par-hys
(例如,rssi
aux-hi

rssi
par
≥th
par-hys
)。滞后阈值th
par-hys
可被实现为确保控制装置与被考虑用于更新后的父装置的辅助父装置之间的通信比控制装置与当前父装置之间的通信强至少滞后阈值th
par-hys
。滞后阈值th
par-hys
可防止子装置例如在具有用于通信的类似接收信号强度指示符的多个父装置之间过于频繁地更新其父装置,这可避免附加网络通信和对于类似或标称通信增益的处理。
267.滞后阈值th
par-hys
可以是预定义的(例如,大约10db)。滞后阈值th
par-hys
可以是可变的。例如,滞后阈值th
par-hys
可基于辅助父表中的最高接收信号强度指示符rssi
aux-hi
。滞后阈值th
par-hys
可被设置为比辅助父表中的辅助父装置的最高接收信号强度指示符rssi
aux-hi
低预定义的量或百分比。如果在1100处辅助父装置的最高接收信号强度指示符rssi
aux-hi
与当前父装置的接收信号强度指示符rssi
par
之间的差值小于滞后阈值th
par-hys
,则程序1100可退出。
268.如果在1106处辅助父装置的最高接收信号强度指示符rssi
aux-hi
与当前父装置的接收信号强度指示符rssi
par
之间的差值大于或等于滞后阈值th
par-hys
,则在1108处控制装置可发起附接程序以尝试附接到更新后的父装置(例如,在与当前父装置分离之后)。例如,更新后的父装置可以是具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置,这可改善网
络上控制装置的通信。控制装置可通过以下方式来附接到具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置:向该辅助父装置传输被配置为建立父子链路的一个或多个附接消息,诸如父请求消息(例如,作为单播父请求消息)。具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置可传输对父请求消息的响应,这可包括对父请求消息的接收信号强度指示符的指示。例如,父请求消息的接收信号强度指示符可用于描述从控制装置到具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置的通信的强度。
269.如果控制装置不能附接到具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置和/或来自具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置的接收信号强度指示符指示它不能以比当前父装置更高的接收信号强度标识符或高于当前父装置的阈值电平从控制装置接收通信,则控制装置可尝试附接到辅助父表中的另一辅助父装置。例如,控制装置可移动到辅助父表中具有下一优先级顺序的辅助父装置以尝试附接。
270.在1110处,控制装置可在程序1100退出之前重置父更新定时器,使得当父定时器到期时可以再次执行程序1100,以查看控制装置是否应当尝试附接到更新后的父装置。
271.图12是由控制装置执行以向父装置传输单播消息的示例性程序1200的流程图。程序1200可由控制装置在控制装置已附接到网络上的另一装置(例如,初始父装置)之后执行。例如,执行程序1200的控制装置可以是附接到网络上的父装置的子装置。当执行程序1200时,控制装置可确定何时尝试附接到更新后的父装置或不附接到更新后的父装置。现在参考图2a,程序1200可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250来执行。
272.如图12所示,程序1200可在1201处开始。例如,在1201处控制装置可响应于用户界面的按钮的致动来执行程序1200。在1202处,控制装置可向父装置传输单播消息(例如,指示在1201处检测到的按钮的致动的单播消息)。在1204处,控制装置可确定是否接收到对单播消息的响应(例如,响应消息)。例如,响应消息可提供对父装置接收到单播消息的指示(例如,确认消息)并且/或者可以以其他方式指示单播消息的传输是成功的。响应消息可包括对在父装置处接收单播消息时的接收信号强度指示符的指示。如果接收到响应消息,则在1208处控制装置可处理该响应消息。例如,在1208处控制装置可响应于响应消息来更新用户界面的视觉指示器。然而,如果在1204处没有接收到响应消息,则在1206处控制装置可确定超时时间段是否已经过去。当在1206处超时时间段过去而在1204处没有接收到响应时,在1210处控制装置可递增单播消息到父装置的失败传输的数量n
failed
。超时时间段可以是预定义的,并且可指示响应消息将被接收的时间段。在1212处,控制装置可确定到父装置的失败传输的数量n
failed
是否大于或等于要由控制装置在控制装置停止重试向父装置传输单播消息之前执行的传输的最大阈值数量n
max
(例如,初始传输加上重传)。传输的最大阈值数量n
max
可被预定义或预先配置为例如值十二(12)。如果到父装置的失败传输的数量n
failed
不大于或等于传输的最大阈值数量n
max
,则在1202处控制装置可向父装置重传单播消息。
273.如本文所述,传输可能失败,因为控制装置和父装置之间的通信链路可能是弱的。例如,控制装置和父装置之间的通信链路可能是弱的,因为在网络形成的初始阶段期间(例如,当要附接到的可用路由器装置的数量较低时)控制装置可能已经附接到父装置,并且/或者控制装置和父装置不靠近彼此定位。在1214处,控制装置可确定到父装置的失败传输的数量n
failed
是否大于或等于在控制装置尝试附接到更新后的父装置之前可能失败的传输
的最大数量n
bad-link
。最大数量n
bad-link?
可指示失败传输或重传的最大数量,该失败传输或重传可指示控制装置和父装置之间的通信链路是弱的。结果,如果到父装置的失败传输的数量n
failed
大于或等于最大数量n
bad-link
,则在1216处控制装置可发起附接程序以尝试附接到更新后的父装置(例如,因为已标识出低效通信)。例如,控制装置可发起附接程序以与在辅助父表中具有辅助父表中的下一优先级顺序的辅助父装置建立父子链路(例如,将辅助父装置设置为父装置)。
274.如本文所述,控制装置可尝试附接到更新后的父装置,以提高控制装置通过网络的通信质量。例如,控制装置与更新后的父装置之间的通信链路可强于控制装置与控制装置的当前父装置之间的通信链路。图13是由控制装置执行以尝试附接到更新后的父装置的示例性程序1300的流程图。程序1300可由控制装置在控制装置已附接到当前父装置之后执行。例如,执行程序1300的控制装置可以是当前父装置的子装置。现在参考图2a,程序1300可由终端装置230a、230b、符合路由器条件的终端装置240和/或休眠终端装置250来执行。如图13所示,程序1300可在1301处开始。例如,程序1300可作为例如在程序1150的执行(例如,在程序1150的1158处)或程序1200的执行(例如,在程序1200的1216处)期间附接到更新后的父装置的尝试来执行。
275.在1302处,控制装置可确定辅助父表中具有最高接收信号强度指示符rssi
aux》ch
(例如,由辅助父装置传输到子装置的消息的最高接收信号强度指示符)的辅助父装置。例如,在1302处,控制装置可以简单地调用具有如在程序1100的执行期间(例如,在程序1100的1104处)确定的最高接收信号强度指示符rssi
aux-hi
的辅助父装置。在1304处,控制装置可确定辅助父表中的辅助父装置的最高接收信号强度指示符rssi
aux》ch
与当前父装置的接收信号强度指示符rssi
par
之间的差值是否大于或等于滞后阈值th
par-hys

276.如果在1304处辅助父表中的辅助父装置的最高接收信号强度指示符rssi
aux》ch
与当前父装置的接收信号强度指示符rssi
par
之间的差值大于或等于滞后阈值th
par-hys
,则在1306处控制装置可发起与辅助父表中具有最高接收信号强度指示符rssi
aux》ch
的辅助父装置的附接程序。例如,在附接程序期间,控制装置可在1306处传输一个或多个附接消息(例如,父请求消息)以附接到辅助父表中具有最高接收信号强度指示符rssi
aux》ch
的辅助父装置(例如,成为具有最高接收信号强度指示符rssi
aux》ch
的辅助父装置的子装置)。父请求消息可以是被配置为询问辅助父装置该装置是否是用于附接的可能选项的消息。父请求消息可以是两消息交换的一部分,其中辅助父装置发送响应消息,从而指示辅助父装置是否可用于作为控制装置的父装置来操作。辅助父装置可确定辅助父装置是否具有可用于附加子装置的任何开口,或者辅助父装置是否已经是如网络上定义的阈值数量的子装置的父装置。
277.控制装置可尝试作为具有最高接收信号强度指示符rssi
aux》ch
的辅助父装置的子装置来附接(例如,将具有最高接收信号强度指示符rssi
aux》ch
的辅助父装置设置为父装置),因为控制装置与该辅助父装置之间的通信链路可能是强的并且/或者控制装置和该辅助父装置可以靠近彼此定位。在1308处,控制装置可确定是否接收到确认父请求消息的响应。例如,具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置可响应于接收到父请求消息来传输响应以确认辅助父装置能够成为控制装置的父装置(例如,接受父请求消息)。此外,该响应可包括对由辅助父装置从控制装置接收的消息(例如,父请求消息)的接收信号
强度指示符rssi
ch》aux
的指示。
278.在1310处,控制装置可确定辅助父装置是否能够以比当前父装置更高的接收信号强度指示符从控制装置接收消息。例如,在1310处,控制装置可确定由辅助父装置从控制装置接收的消息(例如,父请求消息)的接收信号强度指示符rssi
ch》aux
是否大于由当前父装置从控制装置接收的消息的接收信号强度指示符rssi
ch》par。
结果,如果用于从控制装置传输到更新后的父装置的消息的通信路径和用于从更新后的父装置传输到控制装置的消息的通信路径两者均是强的,则控制装置可尝试附接到更新后的父装置。如果由辅助父装置从控制装置接收的消息(例如,父请求消息)的接收信号强度指示符rssi
ch》aux
大于由当前父装置从控制装置接收的消息的接收信号强度指示符rssi
ch》par
,则在1312处控制装置可将接收信号强度指示符rssi
ch》aux
存储为接收信号强度指示符rssi
ch》par
(例如,以供将来用于确定何时附接到更新后的父装置)。在1314处,控制装置可例如通过以下方式来将辅助父装置设置为父装置:发起与具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置的附接程序,例如,以与具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置建立父子链路(例如,并且从具有最高接收信号强度指示符rssi
aux-hi
的辅助父装置获得子标识符)。在1316处,控制装置可将先前父装置设置为辅助父装置,例如,发起附接程序以与先前父装置建立辅助父链路。如本文所述,附接程序可包括向先前父装置传输被配置为建立辅助父链路的一个或多个附接消息(例如,链路请求消息或链路响应消息)。例如,发起与先前父装置的附接程序可指示在程序1300可退出之前,先前父装置不再是控制装置的父装置。
279.然而,如果由辅助父装置从控制装置接收的消息的接收信号强度指示符rssi
ch-》aux
不大于由当前父装置从控制装置接收的消息的接收信号强度指示符rssi
ch-》par
,则控制装置可认为另一辅助父装置是更新后的父装置。在1318处控制装置可确定在辅助父表中是否存在附加辅助父装置。如果在1318处控制装置确定在辅助父表中存在附加辅助父装置,则在1320处控制装置可确定辅助父表中其余的辅助父装置中的具有最高接收信号强度指示符rssi
aux》ch
的辅助父装置(例如,不包括控制装置刚试图附接到的辅助父装置)。例如,在1320处控制装置可使用辅助父表来确定具有下一个最高接收信号强度指示符的辅助父装置。程序1300然后可在1304处循环以确定辅助父表中的其余辅助父装置的最高接收信号强度指示符rssi
aux》ch
与当前父装置的接收信号强度指示符rssi
par
之间的差值是否大于或等于滞后阈值th
par-hys

280.如果在1304处辅助父表中的其余辅助父装置的接收信号强度指示符rssi
aux》ch
与当前父装置的接收信号强度指示符rssi
par
之间的差值小于滞后阈值th
par-hys
,则在1302处控制装置可确定辅助父表中的辅助父装置(例如,所有辅助父装置)的最高接收信号强度指示符rssi
aux》ch
。此外,当在1318处辅助父表中不存在更多的附加辅助父装置时,在1302处控制装置随后还可确定辅助父表中的辅助父装置(例如,所有辅助父装置)的最高接收信号强度指示符rssi
aux》ch
。在1314处控制装置可继续尝试附接到辅助父表中的辅助父装置,直到控制装置成功地附接到辅助父装置中的一个辅助父装置。此外,控制装置可在预定超时时段之后退出程序800(例如,在不附接到更新后的父装置的情况下退出)。
281.图14是示出如本文所述的示例性移动装置1400的框图。移动装置1400可包括用于控制移动装置1400的功能的控制电路1402。控制电路1402可包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、微处理器、集成电路、可编程逻辑装置
(pld)、专用集成电路(asic),等等。控制电路1402可执行信号编码、数据处理、电力控制、输入/输出处理,或者使移动装置1400能够如本文所述执行的任何其他功能。控制电路1402可将信息存储在存储器1404中和/或从该存储器检索信息。存储器1404可包括不可移动存储器和/或可移动存储器。不可移动存储器可包括随机存取存储器(ram)、只读存储器(rom)、硬盘或任何其他类型的不可移动存储器。可移动存储器可包括订户身份模块(sim)卡、记忆棒、存储卡或任何其他类型的可移动存储器。
282.移动装置1400可包括用于传输和/或接收信息的通信电路1408。通信电路1408可执行无线和/或有线通信。通信电路1408可包括rf收发器或能够经由天线执行无线通信的其他电路。通信电路1408可与控制电路1402通信,以用于传输和/或接收信息。
283.控制电路1402还可与显示器1406通信以用于向用户提供信息。控制电路1402和/或显示器1406可生成gui以用于在移动装置1400上显示。显示器1406和控制电路1402可处于双向通信,因为显示器1406可包括能够接收来自用户的信息并向控制电路1402提供这种信息的触摸屏模块。移动装置1400还可包括致动器1412(例如,一个或多个按钮),该致动器可由用户致动以将用户选择传送到控制电路1402。
284.移动装置1400内的模块中的每个模块可由电源1410供电。例如,电源1410可包括ac电源供应器或dc电源供应器。电源1410可生成供电电压v
cc
以用于为移动装置1400内的模块供电。
285.图15是示出如本文所述的示例性系统控制器1500的框图。系统控制器可以是网关系统控制器、目标系统控制器、远程系统控制器和/或它们的组合。系统控制器1500可包括用于控制系统控制器1500的功能的控制电路1502。控制电路1502可包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、微处理器、集成电路、可编程逻辑装置(pld)、专用集成电路(asic),等等。控制电路1502可执行信号编码、数据处理、电力控制、输入/输出处理,或者使系统控制器1500能够如本文所述执行的任何其他功能。控制电路1502可将信息存储在存储器1504中和/或从该存储器检索信息。存储器1504可包括不可移动存储器和/或可移动存储器。不可移动存储器可包括随机存取存储器(ram)、只读存储器(rom)、硬盘或任何其他类型的不可移动存储器。可移动存储器可包括订户身份模块(sim)卡、记忆棒、存储卡或任何其他类型的可移动存储器。
286.系统控制器1500可包括用于传输和/或接收信息的通信电路1506。通信电路1506可执行无线和/或有线通信。系统控制器1500还可以或可替代地包括用于传输和/或接收信息的通信电路1508。通信电路1506可执行无线和/或有线通信。通信电路1506和1508可与控制电路1502通信。通信电路1506和1508可包括rf收发器或能够经由天线执行无线通信的其他通信模块。通信电路1506和通信电路1508可能够经由相同的通信信道或不同的通信信道执行通信。例如,通信电路可能够经由无线通信信道(例如,近场通信(nfc)、蜂窝、thread等)进行通信(例如,与移动装置,通过网络等),并且通信电路1308可能够经由另一无线通信信道(例如,thread或诸如clear connect
tm
之类的专有通信信道)进行通信(例如,与负载控制系统中的控制装置和/或其他装置)。
287.控制电路1502可与led指示器1512通信以用于向用户提供指示。控制电路1502可与致动器1514(例如,一个或多个按钮)通信,该致动器可由用户致动以将用户选择传送到
控制电路1502。例如,致动器1514可被致动以将控制电路1502置于关联模式和/或传送来自系统控制器1500的关联消息。
288.系统控制器1500内的模块中的每个模块可由电源1510供电。例如,电源1510可包括ac电源供应器或dc电源供应器。电源1510可生成供电电压v
cc
以用于为系统控制器1500内的模块供电。
289.图16是示出如本文所述的示例性控制目标装置(例如,负载控制装置1600)的框图。负载控制装置1600可以是调光器开关、电子开关、用于灯的电子照明控制装置、用于led光源或其他照明控制装置的led驱动器、ac插入式负载控制装置、温度控制装置(例如,恒温器)、用于电动窗上用品的马达驱动单元或其他负载控制装置。负载控制装置1600可包括通信电路1602。通信电路1602可包括接收器、rf收发器、或能够经由通信链路1610执行有线和/或无线通信的其他通信模块。通信电路1602可与控制电路1604通信。控制电路1604可包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、微处理器、集成电路、可编程逻辑装置(pld)、专用集成电路(asic),等等。控制电路1604可执行信号编码、数据处理、电力控制、输入/输出处理,或者使负载控制装置1600能够如本文所述执行的任何其他功能。
290.控制电路1604可将信息存储在存储器1606中和/或从该存储器检索信息。例如,存储器1606可维护相关联的控制装置和/或控制配置指令的注册表。存储器1606可包括不可移动存储器和/或可移动存储器。负载控制电路1408可从控制电路1604接收指令,并且可基于所接收的指令来控制电气负载1616。负载控制电路1608可向控制电路1604发送关于电气负载1616的状态的状态反馈。负载控制电路1408可经由热连接1612和中性连接1614接收电力,并且可向电气负载1616提供一定量的电力。电气负载1616可包括任何类型的电气负载,诸如照明负载(例如,led、荧光灯等)。
291.控制电路1604可与致动器1618(例如,一个或多个按钮)通信,该致动器可由用户致动以将用户选择传送到控制电路1604。例如,致动器1618可被致动以将控制电路1604置于关联模式和/或传送来自负载控制装置1600的关联消息。
292.图17是示出如本文所述的示例性输入装置1700或控制源装置的框图。输入装置1700可以是远程控制装置、占用传感器、日光传感器、温度传感器,等等。输入装置1700可包括用于控制输入装置1700的功能的控制电路1702。控制电路1702可包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、微处理器、集成电路、可编程逻辑装置(pld)、专用集成电路(asic),等等。控制电路1702可执行信号编码、数据处理、电力控制、输入/输出处理,或者使输入装置1700能够如本文所述执行的任何其他功能。
293.控制电路1702可将信息存储在存储器1704中和/或从该存储器检索信息。存储器1704可包括不可移动存储器和/或可移动存储器,如本文所述。
294.输入装置1700可包括用于传输和/或接收信息的通信电路1708。通信电路1708可经由有线和/或无线通信来传输和/或接收信息。通信电路1708可包括发射器、rf收发器或能够执行有线和/或无线通信的其他电路。通信电路1708可与控制电路1702通信,以用于传输和/或接收信息。
295.控制电路1702还可以与输入电路1706通信。输入电路1706可包括用于接收输入的致动器(例如,一个或多个按钮)或传感器电路(例如,占用传感器电路、日光传感器电路或
温度传感器电路),该输入可被发送到用于控制电气负载的控制装置。例如,控制源装置可从输入电路1706接收输入以将控制电路1702置于关联模式和/或从控制源装置传送关联消息。控制电路1702可从输入电路1706接收信息(例如,对按钮已被致动的指示或感测到的信息)。输入装置1700内的模块中的每个模块可由电源1710供电。
296.尽管本文以特定组合描述了特征和元件,但每个特征或元件可单独使用或与其他特征和元件以任何组合使用。本文所描述的方法可在存储在一个或多个非暂时性计算机可读介质上的计算机程序、软件、指令或固件中实现,以供计算机或处理器执行。计算机可读介质的示例包括电子信号(通过有线或无线连接传输)和计算机可读存储介质。计算机可读存储介质的示例包括但不限于只读存储器(rom)、随机存取存储器(ram)、可移动盘以及光学介质,诸如cd-rom盘和数字多用盘(dvd)。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献