在联网的控制系统的互连设备的网络上路由消息
技术领域
本发明涉及在联网的控制系统的互连设备的网络上路由消息,特别地涉及路由消息以单独控制诸如照明系统的光源的联网的控制系统的设备。
背景技术
联网的控制系统是商业、工业和事业机构业务市场中以及消费市场中普遍存在的趋势。联网的控制系统的实例为具有许多光源的复杂照明系统。专业环境的实例为应用于温室、厂房、体育馆、办公楼和室外(矩阵)光显示器中的照明系统。特别地,在专业环境中,在单独的和局部的基础上控制联网的控制系统的设备变得越来越令人感兴趣,例如以便在大的照明系统中节省能量。
诸如照明系统的照明器的联网的控制系统的设备可通过在有线或无线介质上发送消息来控制。无线是有吸引力的,因为其降低了安装成本且使得安装更灵活。无线网络的主要缺点之一在于,在设备的网络上路由消息的不稳定通常导致大量的消息损失。不稳定的原因是在网络上维持路径,因为每次链路故障时,必须找到新路径并且在该网络上广播该新路径。
WO2007/102114A1涉及无线通信网络中无线通信节点的分组,无线通信节点被配置成控制照明阵列中照明器的操作。提供用于将所得到的无线通信节点的空间布置分组的计算机算法。每个节点在通信网络中的方位对应于特定照明器在照明阵列中的方位。该算法将节点的布置分成多个空间组,其中的每一个由将组的成员节点连接在一起的线限定。这些组根据其统计属性分级且许多组被选择为控制组,使得每个控制组的成员节点和因此照明器可由单个开关或传感器控制。
发明内容
本发明的目的是提供一种用于在联网的控制系统的互连设备的网络上路由消息的系统、方法和设备(一个或多个)。
这个目的由独立权利要求的主题解决。另外的实施例由从属权利要求示出。
本发明的基本思想是,确定消息通过联网的控制系统的互连设备的网格从发送器设备到目的地设备的路由路径,且当故障设备包含于该路由路径中时改变该路由路径,以便绕过故障设备路由消息,而不是确定全新的路由路径。因此可提供在诸如联网的照明系统的照明器之类的互连设备的网络上从发送器设备向目的地设备高效地路由消息。故障设备特别地是不能与相邻设备通信的设备,即不能从网格中邻近故障设备的设备接收消息和发送消息到网格中邻近故障设备的设备。在本申请的背景下,网格可为设备的二维或甚至三维布置,设备被互连使得每个设备可从网格中直接相邻的设备接收消息并发送消息到网格中直接相邻的设备。路由路径是指该网格的设备的顺序,其中发送器设备在该顺序的开始处,且目的地在该顺序的结束处。换言之,路由路径通过指定全部的设备描述了消息通过网格的路径,这些设备按照顺序从在前设备接收消息并向下一设备转发消息,使得消息沿着路由路径通过网格从一个设备“跳”到另一个设备。
本发明的实施例提供一种用于在联网的控制系统的互连设备的网络上路由消息的方法,其中设备布置在近似矩形的网格中且每个设备适于将从网格中直接相邻的设备接收的消息路由到网格中直接相邻的设备,其中所述路由包括动作:
-确定消息通过网格从发送器设备到目的地设备的路由路径,
-通过网格沿着确定的路由路径将消息从发送器设备路由到目的地设备,以及
-根据预定路由规则改变路由路径以绕过包含在确定的路由路径中的故障设备路由消息。
设备的互连特别地是指设备之间的通信连接,该通信连接允许每个设备传送和接收来自网格中邻近该设备的设备的消息。设备可为任何类型的联网的控制系统设备,特别地为联网的控制系统的通信节点,其可适于控制连接到它的其他设备。举例而言,设备可为网格节点,其具有特定的网络地址以便允许由中央控制器寻址和针对连接到该节点的其他设备(例如连接到该节点的照明器)的集成控制功能。联网的控制系统可为复杂的照明系统,其具有布置在网格中的许多互连的照明器,例如安装于温室、大厅、大建筑物、酒店大堂、大办公室中的照明系统。
确定消息通过网格从发送器设备到目的地设备的路由路径包括:
-借助于网格中的发送器设备和目的地设备的坐标来确定矢量(vector),
-根据矢量坐标来计算网格中的轴(axis);以及
-根据所计算的轴来确定路由路径。
这允许确定路由路径作为网格中直路径的组合。举例而言,在二维近似矩形的网格中,网格的每个设备可具有坐标元组以识别每个设备的位置。然后可由网格中发送器设备和目的地设备的坐标元组来确定矢量。可以根据元组通过减去元组的相应分量来计算轴。
通过网格沿着确定的路由路径将消息从发送器设备路由到目的地设备可包括
-对于路由路径的每个设备,检查到路由方向上的下一相邻设备的连接链路,以及
-如果连接链路工作,则发送消息到路由路径的下一相邻设备,否则标记所述路由路由路径的下一相邻设备为有故障的并改变路由路径。
因此,两个相邻设备之间的连接链路可被看作是对故障设备的指示。自然地,不仅是连接问题可指示故障设备。还有可能的是,故障设备能与相邻设备通信,但不能路由所接收的消息。
根据预定路由规则改变路由路径以绕过包含在确定的路由路径中的有故障的设备路由消息可包括执行以下动作来将消息从一个设备发送到相邻设备:
a)确定改变的路由方向,
b)检查到改变的路由方向上的下一相邻设备的连接链路,以及
c)如果所述连接链路工作,则发送消息到改变的路由方向上的下一相邻设备,否则重复步骤a)-c)。
根据此实施例,当所选择的路由方向上的下一设备能建立到该设备的工作连接链路时,路由方法选择新路由方向,该设备实际上存储待路由的消息并寻找可将该消息转发到的设备。
确定改变的路由方向可包括:
-如果确定的路由路径的路由方向在网格中自右,则以预定路由方向的第一顺序向上、向左、向下或第一顺序的相反来改变路由方向,
-如果确定的路由路径的路由方向在网格中自上,则以预定路由方向的第二顺序向左、向下,向右或第二顺序的相反来改变路由方向,
-如果确定的路由路径的路由方向在网格中自左,则以预定路由方向的第三顺序向下,向右,向上或第三顺序的相反来改变路由方向,
-如果确定的路由路径的路由方向在网格中自下,则以预定路由方向的第四顺序向右、向上,向左或第四顺序的相反来改变路由方向。
这些路由规则限定优选的路由方向选择,其取决于接收消息的路由方向。预定路由方向的顺序意味着选择路由方向的第一个,且如果此方向例如由于连接错误不能使用,那么使用第二个,等等。
可选择预定路由方向的顺序或相反顺序作为改变路由方向的默认顺序且如果到默认顺序的所选择路由方向上的下一相邻设备的通信链路有故障或者在所选择路由方向上无设备存在,则将改变路由方向的默认顺序切换到相反顺序。
因此,顺时针路由方向或逆时针路由方向选择可设置为默认顺序。
根据预定路由规则来改变路由路径以绕过包含在确定的路由路径中的故障设备路由消息还可包括
-在消息中存储发起路由路径改变的设备的标识,
-由改变的路由路径的每个设备来比较存储于消息中的标识与其自己的标识,以及
-如果比较得到所存储的标识对应于比较设备的标识,则终止消息的路由。
这允许避免消息在网格中循环且再次访问发起路由方向改变的设备。如果消息再次访问该设备,此通常为目的地设备被故障设备包围且因此通过改变路由方向不能到达的指示。
根据预定路由规则改变路由路径以绕过包含在确定的路由路径中的故障设备路由消息的方法还可包括
-由发起路由路径改变的设备在消息中存储跳计数器,
-由接收消息并将消息发送到另一设备的每个设备增加跳计数器,
-由改变的路由路径的设备比较存储于该消息中的跳计数器与最大跳计数器值,以及
-如果比较得到所存储的跳计数器等于或大于最大跳计数器值,则终止消息的路由。
跳计数器为消息在其通过网格的路径上访问的设备的指示器。因此,可由网格中的每个设备、仅某些设备或仅一个设备针对跳计数器超过最大跳计数器值检查跳计数器,以便在消息通过该网格“行进”太长时终止路由。这有助于终止消息路由到由大量故障设备包围的目的地设备,并且到达此设备太费劲,例如,发送控制消息到目的地设备所需的时间不应超过最大路由时间跨度。
本发明的实施例提供一种使得处理器能执行根据本发明且如上文所述的方法的计算机程序。处理器可例如实现在联网的控制系统的设备中,例如实现在具有互连的灯的照明系统的照明器中。因此,诸如照明系统的中央控制器之类的设备可通过互连的照明器的网格路由控制消息以便控制在特定位置处的照明器,且执行实现根据本发明的方法的计算机程序的处理器使网格的每个照明器能够将消息路由到目的地设备。
根据本发明的又一实施例,可提供一种存储根据本发明的计算机程序的记录载体,例如CD-ROM、DVD、存储卡、磁盘、互联网存储设备或适合于存储计算机程序比便光学或电子存取的类似数据载体。
本发明的又一实施例提供一种被编程执行根据本发明的方法的计算机,例如PC(个人计算机)。该计算机可例如实现联网的控制系统的中央控制器,联网的控制系统例如建筑物中的照明系统或HVAC(加热、通风、空调)系统。
本发明的又一实施例提供一种用于在联网的控制系统的互连设备的网络上路由消息的系统,其中设备布置在近似矩形的网格中且每个设备适于将从网格中直接相邻的设备接收的消息路由到网格中直接相邻的设备,其中该系统适于执行动作:
-确定消息通过网格从发送器设备到目的地设备的路由路径,
-通过网格沿着确定的路由路径将消息从发送器设备路由到目的地设备,以及
-根据预定路由规则改变路由路径以绕过包含在确定的路由路径中的故障设备路由消息。
该系统还可适于执行本发明和如上文所述的方法。
而且,本发明的实施例涉及一种适于应用于本发明和如前面所述的系统中的设备,该设备包括
-通信装置,其用于从其他设备接收消息并将消息发送到其他设备,以及
-路由决定装置,其用于根据通过互连设备的网格的确定的路由路径来选择消息将被发送到的相邻设备。
该设备可例如实现为集成电路,其可例如实现在包括若干互连照明器的照明系统的照明器中。
路由决定装置还可适于根据预定路由规则来改变路由路径以绕过包含在确定的路由路径中的有故障的设备路由消息,这通过对于每次将消息发送到相邻设备执行以下动作来完成:
a)确定改变的路由方向,
b)检查到改变的路由方向上的下一相邻设备的连接链路,以及
c)如果连接链路工作,则将消息发送到改变的路由方向上的下一相邻设备,否则重复步骤a)-c)。
而且,路由决定装置可适于根据以下规则来确定改变的路由方向:
-如果确定的路由路径的路由方向在网格中自右,则以预定路由方向的第一顺序向上、向左、向下或第一顺序的相反来改变路由方向,
-如果确定的路由路径的路由方向在网格中自上,则以预定路由方向的第二顺序向左、向下,向右或第二顺序的相反来改变路由方向,
-如果确定的路由路径的路由方向在网格中自左,则以预定路由方向的第三顺序向下,向右,向上或第三顺序的相反来改变路由方向,
-如果确定的路由路径的路由方向在网格中自下,则以预定路由方向的第四顺序向右、向上,向左或第四顺序的相反来改变路由方向。
路由决定装置还可适于选择预定路由方向的该顺序或相反顺序作为改变路由方向的默认顺序,且如果到默认顺序的所选择路由方向上的下一相邻设备的通信链路有故障或者在所选择路由方向上无设备存在,则将改变路由方向的默认顺序切换到相反顺序。
参考下文描述的实施例,本发明的这些和其他方面将会清楚明白并得以阐释。
将在下文中参考示范性实施例更详细地描述本发明。但是,本发明并不限于这些示范性实施例。
附图说明
图1示出具有布置在矩形网格中的照明器的照明系统的实施例;
图2示出根据本发明的图1的照明系统的节点的实施例;
图3示出根据本发明的用于在图1的照明系统的互连节点的网络上路由消息的方法的实施例的流程图;
图4示出根据本发明被执行来改变路由方向的步骤的实施例的流程图;
图5示出根据本发明的具有布置在网格中的若干互连照明器的照明系统的另一实施例和从网格的一个设备发送到另一设备的消息的路由矢量;
图6示出根据本发明的图5的实施例和消息通过该网格直到消息到达故障节点的路径;
图7示出图5的实施例和消息通过该网格绕过故障节点路由的路径,该路径通过执行根据本发明的路由方法而得到;
图8示出根据本发明路由消息的象限和方向的图;
图9示出具有根据本发明的路由方法的和广播路由方法的实施例的模拟结果的表;
图10A示出表示丢失的包或消息的数量的图,以及
图10B示出表示作为故障节点数量的函数的平均跳计数增加的图。
具体实施方式
在下文中,功能相似或相同的元件可具有相同的附图标记。即使在下文中描述的本发明的实施例涉及照明系统,但本发明通常可应用于包括布置在网格中的若干设备的联网的控制系统。在下文中术语“灯”、“照明单元”和“照明器”涉及相同事物。
在专业环境中,在单独的和局部的基础上控制复杂照明系统的灯变得越来越令人感兴趣。这样的环境的实例为温室、厂房、体育馆、办公楼和室外(矩阵)光显示器。作为接通或关断所有照明器的替代,优选地,控制单个照明器或成组照明器以便在特定区域中局部地创建光效果,例如以便照亮办公楼中的特定区域或者产生仅用于温室中某个地方的一些植物的光。而且,常常需要利用例如照明系统的中央控制器单独控制照明系统的照明器。复杂的照明系统通常被组织为联网的控制系统,这意味着系统的设备例如照明器或照明器组为网络的部分且可例如由控制消息来单独寻址和控制。控制消息可以例如由诸如被提供用于控制例如室外(矩阵)光显示器的照明器的计算机之类的中央控制器在中心生成,但是例如在用于温室或办公室的照明系统中也可以基于局部的传感器发现。
通常,通过将通信节点(例如,镇流器)附接到需要被控制的每个照明器来进行这种联网的照明系统中的照明器的单独控制。该节点可集成在照明器中或者作为分离的设备附接。可寻址的节点对应于联网的控制系统的设备。节点可控制单个照明器或若干照明器。在联网的照明系统中,节点中的每一个具有唯一的网络地址,使得来自中央控制器的消息可直接寻址并路由到它。消息是指用于控制附接到被寻址的节点的设备的任何控制命令,例如“对连接到具有地址xyz的节点的所有照明器调光”或“激活在具有地址xyz的节点处的照明器”。这些消息或控制命令被发送到建筑物或环境内给定位置处的节点或节点组以调节其位置处的照明。
而且,在专业环境中,照明系统的照明器常常组织在矩形网格中。在网格中照明器之间的连接可制成有线的或无线的(例如经由RF(射频)或者IR(红外)或可见光)。照明器的无线通信连接是很有吸引力的,因为通常无需照明器昂贵且复杂的布线。但是,无线通信通常比有线通信更加不稳定,这特别归因于来自其他无线源的干扰。因此,由于干扰的无线通信,可能发生的是,经由无线通信连接从一个照明器发送到另一个照明器的消息可能会在其路由路径上丢失。但消息可能不仅在使用无线通信的联网的控制系统中丢失,也可能在有线通信的系统中丢失。举例而言,当联网的照明系统的照明器的网格中的两个照明器之间的通信电线有缺陷时,或者照明器出故障时,例如不再能与网格中的其他照明器通信。因此,使用无线通信或有线通信或者甚至这两种通信的消息通过联网的控制系统的设备的网格的路由要求一种找到通过网格的路由路径的通用方法。
图1示出包括布置在矩形网格中的照明器的联网的照明系统20的实例。照明器对应于上述节点且可在网格中单独寻址。图1还示出由矩形框描绘的矩形网格中的照明器如何由双箭头所表示的无线通信链路互连。网格中的每个照明器连接到其直接相邻的照明器,例如,照明器10在向上方向上连接到相同列中的照明器12,在向下方向上连接到相同列中的照明器16,在向右方向上连接到相同行中的照明器14,以及在向左边方向上连接到相同行中的照明器18。连接或链路是指通信连接,通过该通信连接,照明器或节点可传送消息或命令到另一直接相邻的照明器或节点。从第一照明器发送到第二照明器的消息可在特定方向上转发到网格中的第三照明器等等直到消息被在预定方向上没有直接邻居的照明器接收。通过在例如包含在消息或命令中的目的地说明符(specifier)中表达照明器或节点的位置而将消息或命令发送到所述照明器或节点。
照明器可例如经由每个照明器的主光源产生的光无线通信。为了产生用于照明器之间的定向光通信的光锥,可使用光准直器。可替换地,透镜也可用于产生定向光。照明器之间的光互连可以用编码的光(用于经由可见光通信而进行数据传输的技术)实现。照明器中的灯发射数据流,其依赖于光源类型范围从几kbps到几百kbps。在邻近照明器处,光在具有狭窄的开口角(例如10°的开口角)的锥中被接收。由照明器传送的光可以是非定向的,使得它可以被所有的邻近照明器接收。可替换地,发出的光也可以是定向的。于是,必需的是,不同数据在网格中向所述4个不同方向传送。这可以通过馈送(feeding)来自主光源的光的准直器实现。为了能够向照明器的不同侧发送独立消息,管(tube)可以装配有快门,其仅在1/4的时间打开。这些快门应当与由照明器中的主灯传送的数据同步,即当数据应被发射至那一侧时,该快门应当打开。接收器可以放置于相同的管中以实现定向接收。可替换地,光互连可以借助于增添到用于数据通信的照明器的附加光源实现。例如,这个额外光源可以是IR LED(红外线发光二极管)。这具有以下优点:这个方案也可以在主光源完全关断时使用。而且,不同的光源可独立于主光源而被调制,不需要上述方案中的快门。适用于本发明的编码的光技术可以应用对来自可见光源的光的调制。这允许在光本身中嵌入数据。该调制可以被设计成使得它对人眼而言是不可见的。这种特征对于消费应用而言是特别重要的,因为不用忍受光干扰。然而,对于如调试的专业应用,产生一定级别(level)的可见闪烁的数据调制也可能是可接受的。不同类型的光源可以使用不同的调制方案。作为实例,不同的调制方案可以应用于固态光(SSL)源和荧光光源。诸如HID和卤素之类的其他光源的调制也是可能的。如上文已经提及,也可以添加额外的光源以允许照明器间的互连。例如,可以使用IR LED。通信连接可替代地或附加地借助于RF(射频)通信来建立,RF(射频)通信也允许桥接相邻设备之间的不能由光桥接的距离,例如围绕建筑物的角或者穿过面板等。
在下文中,借助于具有若干互连照明器的复杂照明系统解释根据本发明的用于在联网的控制系统的互连设备的网络上路由消息的方法的实施例。在此照明系统中,每个照明器连接到节点。节点可集成在照明器中,或者实现为耦合到照明器的分离的设备。假设节点如图1所示放置在网格上,且可在向上、向右、向左和向下的方向上与它们的直接邻居通信。节点位置可表达为[行,列]对。从一个节点路由到另一相邻节点的消息称为包,因为其可通过使用包通信协议由节点通过网格路由。节点“a”处的具有端目的地“b”的包的方向由包矢量(行b–行a,列b–列a)给出。
图2示出节点10的实施例,其包括通信装置100和路由决定装置102。提供通信装置100用于在无线通信链路104上发送包到邻近节点10的其他设备和从邻近节点10的其他设备接收包。通信装置100可包括RF通信模块,例如WLAN单元和/或IR通信单元。通信装置100适于与相邻节点(即在装置100的通信范围内的节点)建立通信链路。通常,提供通信范围使得可以仅建立到网格中直接相邻的节点的链路。提供路由决定装置102以决定如何转发所接收的包,该包没寻址到节点10,而是寻址到网格中的另一节点。路由决定装置102实施算法,其适于控制通信装置100以将所接收的包转发到被指定用于将接收的包通过网格路由到目的地节点的路由路径的下一节点,并特别地当该路由路径的下一节点有故障时根据预定的路由规则改变由确定的路由路径指定的路由方向。图2的节点可例如实现为集成电路或微芯片以集成在照明器中以便为照明器配备通信能力和路由能力。
在图3中示出根据本发明通过节点的网格路由包的方法的流程图的实施例。关于图5解释了流程图,图5示出了若干节点的网格以及它们在网格中的方位,这些方位由节点的行和列的元组确定。元组在下文中用作相应节点的指示。包被指定从发送器节点[4, 5]行进到目的地节点[4, 0],并且另一个包被指定从发送器节点[2, 6]行进到目的地节点[0, 1]。可在包从发送器节点发出到目的地节点之前确定包从发送器节点到目的地节点的路由路径。在步骤S10中通过执行子步骤S100-S104确定路由路径。步骤S10可由例如接收局部传感器发现并且必须基于这些传感器发现来控制网格中另一节点的节点来执行,或者由在单独的基础上控制照明器的照明系统的中央控制器来执行。
在步骤S100中,根据网格中发送器节点和目的地节点的方位计算相应的包矢量且其为(0, -5)和(-2, -5)。通过从一个节点向相邻节点之一发送包来通过网格路由包,如由图5中节点[4, 3],[4, 4]和[4, 5]上的虚线箭头所指示。
在确定路由矢量之后,在步骤S102中根据所确定的包矢量的矢量坐标计算网格中的轴。在图5中,根据矢量(0, -5),计算出两个轴:自发送器节点[4, 5]列方向上的“0”和行方向上的“-5”。这意味着实际上路由路径仅包括在行方向上的一个轴"-5"和节点[4, 5],[4, 4],[4, 3],[4, 2],[4, 1]和[4, 0]。根据矢量(-2, -5),可计算出两个轴:列方向上的“-2”和行方向上的“-5”,使得路由路径包含节点[2, 6],[1, 6],[0, 6],[0, 5],[0, 4],[0, 3],[0, 2]和[0, 1]。
在下一步骤S104中,通过组合在步骤S102中确定的轴来确定路由路径。在路由期间,通过沿着具有最大绝对矢量坐标值的轴移动来执行每个下一跳的选择。换言之,根据包矢量确定的两个轴中的较长者被选择用于包通过网格的路由的开始。在矢量(0, -5)的情况下,仅由行方向上的一个轴“-5”来确定路由路径,而在矢量(-2, -5)的情况下,由行方向上的第一较长轴“-5”和然后列方向上的第二较短轴“-2”来确定路由路径。
在下面的步骤S12中,通过在路由路径上将包分别从确定的路由路径开始处的发送器节点[4, 5]和[2, 6]发送到下一相邻节点[4, 4]和[2, 5]来沿着确定的路由路径路由包。如果确定的路由路径的节点工作,即无故障,则路由方向由该路由路径确定且无需改变路由方向。但是,当节点有故障时,例如当一个节点不能与路由路径中的下一相邻节点建立通信链路时,在步骤S14中需要根据预定路由规则改变路由方向以便达到目的地节点。
步骤S14可由网格的每个节点来执行且因此实施于每个节点的路由装置102(图2)中。图4示出步骤S14的子步骤。确定例如由于到路由路径的下一节点的通信链路有故障而需要改变由该路由路径确定的路由方向的节点在第一子步骤S140中根据预定路由规则确定改变的路由方向。然后,该节点在步骤S142中检查到改变的路由方向上的下一节点的连接链路。在步骤S144中,节点检查连接链路是否工作(子步骤S1440),且如果链路工作,则节点在改变的路由方向上发送包(子步骤S1442)。如果在改变的路由方向上的连接链路不工作,则由节点执行的方法返回到步骤S140,其中再次改变路由方向。
在本发明的一实施例中,用于改变路由方向的路由规则是预定的,因为当沿着路由路径的所选择的轴不能实现包路由的进展时,选择该路由路径的另一轴,只要它的值不等于零。当沿着目的地方向上的两个轴不可能有进展时,已经遇到一组故障节点。于是,执行所谓的“面(face)”路由,从而沿着这组故障节点的边缘顺时针或逆时针路由包。由图6中所示的包含若干故障节点[2, 5],[1, 5],[0, 5],[4, 2],[4, 1],[3, 2],[3, 1]的网格来解释合适时钟方向的选择。从节点[4, 5]发送的包困在节点[4, 3]处,因为节点[4, 2]和[4, 1]是有故障的且形成所路由的包的障碍。但可通过绕过障碍顺时针在节点[3, 3],[2, 3],[2, 2],[2, 1],[2, 0],[3, 0]上移动来使包前进到节点[4, 0]。来自节点[2, 6]的包困在节点[0, 6]处。它可以通过绕过障碍逆时针在节点[3, 6],[3, 5],[3, 4],[2, 4],[1, 4],[0, 4]上移动而朝向节点[0, 1]前进。选择相反的时钟方向将导致包沿着网格的边缘绕道。从包受到阻碍的时刻起,包进入(顺时针或逆时针)面路由模式。当包可以沿着包矢量继续它的不受阻碍的前进时,该包返回到自由或基本模式,或者换言之,包在回避障碍之后在路由路径上被返回。图7以虚线箭头示出面路由路径。对于一个包,面路由始于节点[0, 6]且止于节点[3, 4],之后正常的网格路由继续直到节点[0, 1]为止。对于第二包,面路由始于节点[4, 3],止于节点[2, 0]且路由结束于节点[4, 0]。
在下文中,将更详细地描述根据本发明的实施例的路由算法,描述将集中在:如果路由路径上出现障碍,则改变路由方向。该算法可由以下三个部分构成:
1.网格路由
2.开始面路由
3.面路由。
1.网格路由:
对于给定节点处的给定包,网格(或自由或基本)路由包括确定网格中从发送器节点到目的地节点的路由路径。可如下来描述用于网格路由的算法:
计算有最长距离要覆盖的轴
确定该轴上的方向d1
如果链路d1打开,那么沿着d1发送包到邻居
如果链路d1关闭:
则确定最短距离轴上的方向d2
如果(链路d2打开且距离> 0)那么沿着d2发送包到邻居
否则开始面路由
因此,网格路由首先在有最长距离要覆盖的轴上(方向d1)开始路由包直到在沿着该轴路由期间出现障碍。在障碍的情况下,即当到下一节点的链路故障时,网格路由改变路由方向,这表现在,包在有最短距离(方向d2)要覆盖的轴的方向上路由。如果没有障碍,包在方向d2上路由。
2.开始面路由:
当在由包矢量指定的象限中不再可能前进时,面路由开始。图8示出四个象限Q1至Q4。象限Q1包括从向右直到向上但不包括向上的所有包矢量。象限Q2包括从向上直到向左但不包括向左的所有包矢量。类似地限定其他象限。
对于顺时针面路由,具有Q1中的矢量的包以顺序向上、向左和向下在第一可用链路上发送。Q2中的包以顺序向左、向下和向右在第一可用链路上发送。对于逆时针面路由,具有Q1中的矢量的包以顺序向下、向左和向上在第一可用链路上发送。Q2中的包以顺序向右、向下和向左在第一可用链路上发送。在其他象限上开始面路由相似地发生。
时针方向选择:
当遇到网格边缘以及故障节点时做出选择顺时针或逆时针的选择。在产生消息时,时钟方向默认设置为顺时针。当包在其路由路径上被阻挡时,默认时钟方向被面路由接替。在遇到网格边缘时,可改变时钟方向。当包处于下列情况时选择顺时针方向:
·在行0处且目的地在Q2中,
·在行最大值处且目的地在Q4中,
·在列0处且目的地在Q1中,
·在列最大值处且目的地在Q3中。
在所有其他情况下,在边缘处选择逆时针方向。在该选择之后,设置默认时钟方向为新选择的方向。
3.面路由:
当开始了面路由时,包从给定链路到达。当包以顺时针方式路由时,优选的方向是向右,之后为一直向前。当包以逆时针方式路由时,优选的方向是向左,之后为一直向前。当逆时针包从左到达时,以下列顺序来选择第一可用方向:向上、向右和向下。当逆时针包从上到达时,从其他链路以下列顺序来选择第一可用方向:向右、向下和向左等。
当顺时针包从左到达时,以下列顺序来选择第一可用方向:向下、向右和向上。当顺时针包从上到达时,从其他链路以下列顺序来选择第一可用方向:向左、向下和向右等。
终止。
当节点由于其被故障节点包围而不能到达时,包在网络中循环且将再次访问先前访问的节点之一。为了防止包中被访问节点的长列表,其中开始最后面路由的节点可分别存储在包或消息中。可实施算法,使得当目的地节点不能到达时,包可返回到其中开始面路由的节点,或者当包返回到其中开始面路由的节点时停止路由。有时,若干面被路由且开始节点不再存在于包中。为了防止包通过网格循环,可附加地维持最大跳计数。然后可实施算法,使得当跳计数大于例如+20的最小跳距离时,也可停止包。
在下文中,比较根据本发明的路由方法和广播路由方法。
在50×50节点的网格中模拟面路由。比较所建议的网格路由性能与广播路由,其中试验每个可能的路径。当节点是可到达时,广播路由将到达它。这项测试比较路由失败的次数和与无障碍存在时所需的最小跳数相比所需的额外跳数。在该网格中,以5跳、10跳、15跳和20跳在路径上随机选择源和目的地。路径随机分布在网格上。在网格内,随机选择的节点被声明有故障。在20里,故障节点的数量范围为10至210。使用以下符号:FN表示故障节点数量;PL表示路径长度;bc表示广播;gr表示网格路由。
一般而言,可以看出对于少量故障节点,广播路径倾向于比网格路由路径长。这由广播生成的较大量的包造成,广播导致链路冲突和延迟使得使用较长路径的包可在使用较短路径的包之前到达。利用广播路由,无包丢失,但利用网格路由,有时高达5%的包丢失。对于所有丢失的包,包已进行完整的行程且返回到其中开始面路由的节点。利用网格路由而非利用广播释放包源于向上和向下的链路。广播路由比网格路由更频繁地尝试更多链路组合。结论是,对于少量故障节点(<3%)(,或者一组毗邻的故障节点,)当存在路径时,网格路由和广播路由总是找到路径。网格路由也找到距最短路径不远的路径。对于在网格上随机分布的较大量的故障节点(>3%),网格路由丢失包,尽管路径可已经短暂地存在。
图9示出具有对于所引用的条件的模拟结果的表。所有数为总数的百分数。条目“死的”表示源或目的地为有故障的。条目“丢失的”指示丢失的包的数量。条目0、2、4和>6跳指示相对于最小数量的跳所需的跳数量。该表示出随着故障节点的数量增加和路径长度增加,死的和丢失的包的数量和每个包跳的数量增加。
平均跳增加被计算为
,其中
为包i的跳计数增加,且n为包的总数。在图10A中,对于网格路由丢失包的百分数被示为故障节点数的函数。在图10B中,对于路径长度=20的情况,对于广播和网格路由平均跳计数增加被示为故障节点数量的函数。
本发明可应用于任何联网的控制系统,例如具有多个光源的复杂照明系统,例如安装于家庭、商店和办公应用中的照明系统。本发明特别地可应用于联网的控制系统的设备(放置在近似矩形的网格中)的单独控制,例如用于控制复杂照明系统的单个照明器或一组照明器,所述复杂照明系统具有布置在网格中的互连的照明器。这样的环境的实例为温室、厂房、体育馆、办公楼和室外(矩阵)光显示器。
本发明的功能中的至少一些可由硬件或软件来完成。在以软件实施的情况下,可使用单个或多个标准微处理器或微控制器来处理实现本发明的单个或多个算法。
应当指出的是词语“包括”不排除其他元件或步骤,且词语“一”或“一个”并不排除多个。此外,权利要求中的任何附图标记不应被理解为限制本发明的范围。