在无线分组跳传网中选择数据分组路由的方法及实现该功能的无线网和节点的制作方法

文档序号:7574415阅读:239来源:国知局
专利名称:在无线分组跳传网中选择数据分组路由的方法及实现该功能的无线网和节点的制作方法
技术领域
本发明一般涉及无线分组跳传网,更具体地说,涉及在这种网络中选择数据分组路由的方法以及实现该功能的无线网和节点。
通过无线链路(例如一条RF链路)互相通信并与一个中心节点通信的多个节点组成的网络通常被称作无线(或无线电)网。在这种无线网中,每个节点包括一个数字信号处理器(例如一个微处理器)和一个具有规定发射范围的无线(RF)收发机。数据一般通过一种被称作“分组跳传”的技术在各个节点和中心节点之间通信(传送),其中各个数据分组通过根据网络路由选择协议逐个节点地跳传来进行从起始节点到中心节点和从中心节点到目的节点的传送。
“分组”通常是其大小范围约为5至1000个字节的数据逻辑单元。一般来说,这些分组跳传数据通信处于中心节点控制之下,该节点通常是一台驻留着通信控制软件的计算机。分组跳传数据传送方案能降低RF收发机成本,并符合政府要求,例如UD PCC Part15的技术要求。每个数据分组包含它的起始或要到达的节点地址。每个节点的地址在网络最初安装时确立。
这种无线分组跳传网特别适合于控制一个大楼的一个或多个功能或系统,例如大楼的照明、HVAC和/或保安系统,因为它提供了一种低成本的室内布局,不需要在现有结构上添加新的线路来传输网络信息。而且,这种网络可以支持安装在大楼内的附加系统,例如寻呼和个人通信系统。
这种大楼控制网的中心节点一般是用以驻留系统控制软件的可编程中心控制器或大楼计算机。各个单独节点一般分布在整个大楼内,以监视被控大楼系统的规定参数的状态/值,并响应由大楼计算机发出的命令而产生控制信号,从而按需要调整这些参数。重要的一点是大楼计算机能够向网络中每个节点发送数据和接收来自每个节点的数据,以便根据系统控制软件正确地监视这些规定参数的状态/值,并发出按需要调整这些参数的命令。
一个示范性大楼控制网是自动或智能照明控制系统,它监视网络内大楼的每个房间和/或区域的照明程度、占用状态、作为时间函数的能量消耗和/或其它照明参数,也就是说,装有照明模块的每个大楼房间和/或区域与构成在大楼计算机控制/管理下的一个网络节点的RF收发机相连接。
在这种智能照明控制系统中,每个照明模块最好是可独立编程的(例如通过大楼居住者来实现),以直接控制与之连接的灯的照明程度。因此,每个照明模块包括一个或多个向模块内的数字信号处理器(例如微处理器)提供传感器反馈数据的传感器(例如占用状态、日光(环境亮度)和明/暗程度传感器),数字信号处理器用于分析传感器反馈数据并产生控制信号以按需要调整与之连接的被监测灯的照明程度,从而实现程控的局部照明状态。
当大楼计算机发出请求、或局部照明状态变化的时候,这种传感器反馈数据还将由网络中的每个节点传送给大楼计算机。大楼计算机根据驻留在其中的照明系统控制软件分析这一传感器反馈数据,并按需要向各个节点发送控制数据(命令),以根据照明系统控制软件调整被监视大楼房间/区域的照明程度,以便例如优化照明系统的能量效率,并从而取代由单独照明模块提供的程控照明程度。因此,各分布的模块除了可单独编程和独立操作之外,在功能上还被综合为大楼计算机控制下的一个大楼范围的网络。
安装一个大楼控制网需要在网络中实际安放和加电驱动每个节点。网络中每个节点的地址可以在安装时编入节点中,或者如果经过预编程的话,也可以与网络中每个节点的物理位置一起登录于中心节点(大楼计算机)的存储器中。这种网络中的数据通信通常是根据网络路由选择协议在大楼计算机和单独节点之间(及反方向上)通过一条公共通信信道进行的。数据以分组形式通过逐个节点地跳传或转发每个分组直至分组到达目的节点,从而进行从大楼计算机到一个位于大楼计算机直接发射范围之外(也就是不直接与大楼计算机链接或“连接”)的目的节点的传送。在网络中把一个分组跳传或转发到一个或多个其它节点的每个节点通常被称作“转发器”。目的节点一般通过以同样的方式经由一个或多个转发器向大楼计算机返回一个确认数据分组,从而确认收到来自大楼计算机的一个数据分组。
用于无线网的网络路由选择算法或协议一般有两大类,即随机的和确定的(列表)路由选择协议。对于一个随机路由选择协议,分组沿着随机路由通过网络中的节点从一个发送节点随机跳传到一个目的节点,没有特定的转发器集合被用来完成数据传输。更具体地说,对于随机路由选择协议,发送节点向其发射范围内的每个节点发送一个分组,收到该分组的每个节点再向各自发射范围内的每个节点重发或转发该分组,依此类推,直至该分组到达目的节点。一般,每个分组通常包含一个被称作“跳传计数器”的字节,该计数器由每个转发器减1直至为零。它一旦为零,就不再转发该分组。跳传计数器由发送(发射)节点设置,以使得分组到达目的节点的概率最大,而又不占据网络过长的时间。
为了减少在公共网络信道上同时传输分组,可以使用一种信道接入协议。最通用的信道接入协议是载波监测多址(CSMA)协议,根据这一协议,每个节点在发送一个分组之前等待一段随机延迟时间,然后监听信道以确定它可用(“空闲”)或不可用(“忙”)。如果检测到信道空闲,那么该节点发送分组,如果检测到信道忙,那么该节点在下一次试图发射分组而再次监听信道状态之前将等待另一段随机延迟时间。
但是,由于并不是网络中的所有节点都在彼此的“监听范围”之内,经常出现在彼此监听范围之外的两个节点检测到信道空闲并向同一接收节点发送彼此在时间上重叠的各个分组的情况,因而导致两个数据分组都被破坏,对接收节点表现为噪声。这种现象一般被称作一个“不可避免或不可识别冲突”。对于随机路由选择协议,网络中大部分节点(如果不是全部的话)都处理每个发送分组的概率是相当高的,从而大大提高了网络中的数据业务密度,因此明显限制了在任意特定时刻能够“在网上”的不同分组的数目(也就是网络的数据业务处理能力)。这限制了网络的通信效率,还增加了不可识别冲突发生的次数。
数据分组的这些不可识别冲突会导致分组在到达其目的地之前丢失。在大楼控制网的这种连接中,返回大楼计算机的确认分组通常仅仅集中在与大楼计算机连接的几个节点上,从而导致与这些分组有关的不可识别冲突的概率更高、次数更多。因此,确认分组的阻塞是常见的,从而迫使大楼计算机重发一个分组以便确定目的节点实际是否收到原来发送的分组。
根据确定或列表路由选择协议,大楼计算机基于它在执行网络初始化进程期间收集的节点连接信息构成路由选择表。然后这些路由选择表用于选择数据分组从发送节点通过某一特定的转发器集合或“链”(也就是沿着在路由选择表中定义的一条预定路由或单条路径)到达目的节点的路由。这就允许许多不同的分组同时“在网上”,从而得到相对于随机路由选择协议而言更高的网络数据业务处理能力。但是,由于无线网络固有的RF缺陷,确定路由选择协议严重限制了网络通信效率,从而使得一个特定分组能够到达其目的地的概率较低,因为它是沿着单条预定路径、而不是多重随机路径(正如随机路由选择协议的情况那样)传送的。
在这方面,室内无线网中节点至节点通信的可靠度会受到诸如衰落和多径(由于墙壁、地板、天花板、家具等表面的反射导致的RF信号与其自身的干扰)等现象的不利影响,因此,原先建立的节点至节点链路可能会被破坏或丢失。另外,这种原先建立的节点至节点链路可能会由于大楼室内环境中的动态变化、例如大楼居住者的某些活动而被破坏或丢失。例如,开门或关门的简单动作、移动家具、甚至沿着过道走动都会破坏一条节点至节点通信链路。因此,网络内任何给定节点至节点链路的状态可能会由于若干难以预测和控制的变化随时间从稳固的变为散现性的,甚至消失。
由于这些固有的链路可靠性的难题,沿着单条路径发送的数据分组在到达其目的地之前很容易丢失,因此需要重新发送这些数据分组,从而降低了网络的通信效率。对于一次传输失败来说,只需要转发器链的单条链路在一个命令数据分组从大楼计算机到目的节点的传出上或是确认数据分组从目的节点到大楼计算机的传入上被上断。如果有问题链路的质量没有得到满意的解决,那么只能重新选择分组路由,和/或重新配置网络,从而进一步降低了网络性能,增加了它的成本和复杂度。
具有重新配置能力的一种确定路由选择算法当然是对标准确定路由算法的一种改进。在95年11月16日提交的、转让给本发明的受让人的美国专利申请08/558,447中公开了这样的一种确定路由选择算法,该公开在此引作参考。但是,这种路由选择算法仍然需要操作员的介入或某种能够识别路由链路或分支故障并围绕它编制一条路由的预编程处理例程(通常由大楼计算机执行)。这种对路由的重新选择极其费时,而且,如果遇到的阻塞是暂时的,则它也是完全不必要的。另外,新路径可能没有原来的路径好。这种算法可能还需要在数据分组中包含很大一部分的路由选择信息,从而增加了这种分组的大小,因此进一步降低了网络的数据业务处理能力和通信效率。
有几种已知的方法解决上述链路可靠性问题。一种改善链路可靠性的方法是使用功率更高的RF收发机,另一种改善链路可靠性的方法是使用限噪扩频收发机。不过,这两种方法对于许多应用来说成本都太高。当然,硬布线网络应该是一种理想的解决方案,但是对大多数应用来说,在现有结构中安装一个这样的网络成本太高。
基于上述说明,应该知道在该领域目前需要一种在无线、分组跳传网中选择分组路由并克服了现有技术不足、缺点和不利的方法。本发明满足了该领域的这一需要。
本发明包括一种在例如是智能照明控制系统的无线分组跳传网中选择数据分组路由的随机多重路径列表路由选择方法,它包括以下步骤在一个中心节点(也被称作“网络控制节点”)和至少是从各单独节点中选出的一些单独节点中的每一个之间编程多重通信路径,并沿着编程的通信路径随机跳传数据分组。多重路径的编程最好是通过编程多个单独节点来实现,每个节点都作为至少一个其它单独节点的转发节点,转发节点构成通信路径。转发节点最好根据在网络初始化过程中获得的节点连接信息进行编程。
转发节点的编程最好通过在每个这样的转发节点存储器存储紧凑的部分路由选择表来进行。这种路由选择方法是部分确定或列表性的,(因为路由选择表用来预先编程多重通信路径),也是部分随机的(因为数据分组沿着这些预先编程的多重路径随机跳传,而不是沿着预先编程的单条路径跳传)。
每个单独节点最好包括存储在其存储器(例如EEPROM或其它非易失性存储器)中的一个第一地址表和一个第二地址表。编程步骤最好通过以下过程进行在每个单独节点的第一地址表中至少存储其自身的地址,选择多个单独节点作为至少一个其它节点的转发节点,并在每个单独节点的第二地址表中存储选择该节点作为转发节点的每个节点地址。
随机跳传数据分组的步骤最好通过以下过程进行编程收到一个数据分组的每个节点以便比较该数据分组的地址字节中包含的地址与存储在其第一地址表中的地址,如果检测到匹配,则响应该数据分组,并且比较该数据分组的地址字节中包含的地址与存储在其第二地址表中的地址,如果检测到匹配,则转发该数据分组。所有数据通信最好根据一种规定的信道接入协议(例如CSMA协议)在公共RF信道上进行。
最好编程每个单独节点以便在一个分组ID存储器(例如一个2字节循环的(FIFO)分组ID缓存器)中存储它所转发的每个分组的分组ID,并且比较它收到的每个分组的分组ID与存储在其分组ID存储器中的分组ID,如果检测到匹配,则放弃这个数据分组。用这种方法,就阻止了“反跳”(也就是数据分组在与其目的地相反的方向上的跳传)。
在本发明的一个优选实施例中,编程至少一个(最好每个)转发节点以作为至少一个其它节点(但是少于网络中所有其它节点)的转发节点。而且转发节点的总数小于网络中单独节点的总数。
在本发明的一个实施例中,大量单独节点被分成两个或多个功能上或逻辑上互相关的独立节点集合或群,每个群有一个唯一的群地址。在这个实施例中,编程步骤还包括以下子步骤在每个节点的第一地址表中存储该节点所属于的任意群的群地址,选择网络节点的一个子集作为各个群的群转发器,并在每个群转发器节点的第二地址表中存储已被选择作为群转发器的任意群节点的群地址。
在本发明的另一实施例中,为整个网络提供了一个全网地址(global acldress),编程步骤还包括以下子步骤在每个单独节点的第一地址表中存储全网地址,并通过在每个全网转发器的第二地址表中存储全网地址来编程单独节点的一个被选定子集以作为整个网络的一个全网转发器。
本发明还包括编程为实现本发明路由选择方法的一个无线网和一个无线节点。
本发明的这些以及其它各种特性和优点可以参考下面结合附图所作的详细描述方便地予以理解,其中

图1是可以使用本发明分组路由选择方法的一个无线分组跳传智能照明控制系统的方框图;图2A、2B和2C分别是说明对于三种不同的路由选择实例情况下一个分组成功地从起始节点发送到目的节点并返回起始节点的概率的示意图,其中之一构成先有技术路由选择方案的一个实例,其余两个构成本发明路由选择方案的实例。
总的来说,根据本发明的路由选择方法,数据分组沿着根据网络初始化例程中得到的节点连接信息预先选择和预先编程的多重路径进行随机跳传,从而使成功传输的概率最大。因此,本发明的路由选择方法是部分确定或列表性的,其中路由选择表用来根据被编程为转发器的一个特定节点子集而预先编程节点之间的多重路径,而不是象先有技术中的单纯随机路由选择方法那样,沿着使用网络中的所有节点作为转发器的所有可能路径随机跳传分组;并且这种方法也是部分随机的,其中分组沿着这些预先编程的多重路径随机跳传,而不是象原有技术中的单纯确定路由选择方法那样,沿着预先编程的单条路径跳传。因此,正如下文将更全面地阐述的那样,本发明的这种随机多重路径列表路由选择方法实现了先有技术单纯随机路由选择方法的好处和优点(即通信成功的概率高)以及先有技术单纯确定路由选择方法的好处和优点(即网络的数据业务处理能力高),同时又去除了这些先有技术路由选择方法的不足和缺点。
本发明的随机多重路径列表路由选择方法基本上是通过编程并至少在网络中预选的一些节点的存储器中存储一个紧凑的部分路由选择表来实现的,而不是象单纯先有技术的确定路由选择方法那样,发送包含全部路由选择信息的分组。应该指出本发明的路由选择方法不需要在数据分组中包含全部路由选择信息,从而大大减小了分组的大小,因此明显增加了网络的数据业务处理能力和通信效率,并大大降低了对网络的硬件要求(例如需要的波持率及分组缓冲器大小)。
在这种连接中,存储在每个预选节点存储器中的部分路由选择表包括一个转发地址表,其中包含该节点为之而编程转发的各节点的地址。如果一个分组的地址字节中包含的地址与存储在一个特定节点的转发地址表中的任何地址相匹配,那么该节点转发这个分组。因此,每个预选节点就作为一个转发节点(或简单地说,作为转发器)使用。
另外,网络中的每个节点(包括任何非转发器节点)都有一个存储在节点存储器中的唯一地址。如果包含在一个分组的地址字节中的地址与一个特定节点的地址相匹配,那么该节点执行包含在该分组命令字节中的命令。在本发明的优选实施例中,网络中的每个节点(包括任何非转发器节点)都包括一个“应答”地址表,它除了包含它本身的地址之外,还有该节点所属于的任何群的地址,和/或构成网络中每个节点的公共地址并被称作“全网”地址的一个地址(因此,网络中所有节点可以认为是一个“全网群”)。
相应地,当需要向网络中的一群节点(或每个节点)传送一个分组时,只需要在分组的地址字节中包括整个群的地址(或全网地址),因而被寻址群(或整个网络)中的每个节点都将处理这个分组,并执行该分组的命令字节中包含的命令,而不是单独地寻址整个群(或整个网络)中的每个节点。
这在需要把网络组织或配置成多个在功能上或逻辑上互相关的不同节点群时特别有用。例如,在上文用于大楼的一个智能照明控制系统中,可能需要把一条过道上的奇数号和偶数号灯划分到不同的群中,以便在正常办公时间之后能命令第一群灯“关”,第二群灯“开”,这例如是为了节能和保安起见。其它在逻辑上互相关的节点群例子包括一幢大楼(或其一翼、几翼)的所有公用房间、大楼某一翼(或几翼)的所有(或所选)房间、以及一幢大楼(或其一翼、几翼)的所有休息室。全网寻址可以用于以下这类目的,例如在由当地政府或公用事业公司实行“灯火管制”时降低大楼内所有灯的亮度,以及在紧急事件时强制大楼内所有灯达到最大亮度。这种群或全网寻址使得执行大楼计算机所发命令的时间只是在群或全网中对每个节点单独寻址所需时间的一小部分。
同样,网络中的节点最好组合成通信“簇”或“小区”,其中每个小区中的所有节点都至少在彼此的“监听范围”之内(也就是能够在任意特定时刻检测任何其它节点是否正在发送一个数据分组),从而使小区内发生的不可识别数据分组的冲突最少。当在中心节点和某个单独节点之间编程多重路径时,被选为多重路径的每个分支的转发器的各节点最好位于同一个小区内,以便它们彼此能够“听到”,从而使在中心节,点和这个单独节点之间所传送的数据分组发生的不可识别冲突最少。
而且,存储在每个转发节点中的转发地址表还可以包括那些选择该节点作为转发器的任何群(包括“全网群”)的地址。就这一点来说,最好只编程网络中一个特定的节点子集(最好至少两个,但少于全部)作为该群的转发器,从而使否则将可能发生的不可识别数据分组冲突的次数最少。
存储在转发节点中的部分路由选择表可以认为是由“转发”和“应答”地址表组成的。实际上,在本发明的优选实施例中,网络中的所有节点(包括任何非转发器节点)都带有由“转发”和“应答”地址表组成的部分路由选择表。当然,没有被选作网络中任何其它节点的转发器的任何节点在其“转发”地址表中将不会有任何有效记录。部分路由选择表最好存储在一个非易失性存储器、例如一个内置EEPROM(电擦除可编程只读存储器)中,以便它们能有效地保存,而没有在突发停电时丢失关键路由选择信息的危险。
为了叙述本发明的简单和方便起见,下面将根据图1所示说明性无线分组跳传网10更详细地描述本发明的随机多重路径列表路由选择方法(以及实现相同功能的网络)。网络10包括多个单独节点12和一台大楼计算机14(“中心节点”)。每个节点12包括一个RF收发机16、一个墙挂单元18和一个包括存储器(例如EEPROM和/或RAM)以及一个或多个计数器的数字信号处理电路20(例如一个微处理器)。墙挂单元18可以是任何本领域技术人员熟悉的合适类型,例如用于控制与之连接的镇流器或光源22(比如可调日光灯的照明程度的镇流控制模块)。墙挂单元18最好包括一个或多个向数字信号处理电路20提供反馈信息的传感器(未示出),例如一个或多个占用状态、日光和/或明/暗程度传感器,数字信号处理电路20处理这一传感器反馈信息,以便将其作为数据分组由RF收发机16送往大楼计算机14。
大楼计算机14在从节点12收到的传感器反馈信息基础上根据驻留在那儿的照明控制软件来产生控制数据,这些控制数据作为数据分组被发送到节点12。然后这一控制数据由节点12的数字信号处理电路20处理并送到墙挂单元18,后者响应该数据而产生控制信号,以按需要调整有关镇流器22的照明程度。
在目前设计的网络中,单独的墙挂单元18可以独立编程(例如由大楼居住者来进行)以控制与之关联的电灯22的照明程度。在这种网络中,大楼计算机14可以根据装入大楼计算机14的照明系统控制软件通过网络10覆盖墙挂单元18的可编程设置。当然,有关领域的技术人员将会容易地看出使用本发明路由选择方法的网络配置、拓扑结构和/或类型并不局限于本发明。
继续参考图1,网络10中的所有数据业务基本上都在大楼计算机14和节点12之间(或反向)传送。由大楼计算机14发送到节点12的数据分组通常被称作“命令”数据分组,由节点12发送到大楼计算机14的分组通常被称作“确认”数据分组。因此,只需要在命令和确认数据分组中包括命令数据分组发往的节点地址,而不用在每个数据分组中包括发送节点和接收节点的地址,因为发送节点的地址是给定的(也就是说,它始终是大楼计算机14)。换句话说,无论这种确认数据分组起始自何处,节点12都将向大楼计算机14返回所有确认数据分组。因此,所发数据分组的长度可以变得更短,从而提高网络10的数据业务处理能力和通信效率。群和全网寻址由附加地址提供,如上所述以及下文将要更全面地描述的那样,在每个节点保存地址表进一步降低了数据分组的长度,以得到最高网络效率。
在本发明的一个示范实施例中,每个命令数据分组包括一个地址(ADDR)字节、一个分组ID字节、一个命令指令(CMD)字节、一个命令数据(CMD-DATA)字节和一个校验和(CHKSUM)字节。分组ID字节包含一个分组标识码,它能使节点12和大楼计算机14确定数据分组的身份。校验和字节表示数据分组中二进制“1”(或“0”)数据比特的总数,从而能使接收节点“检验”数据分组的有效性。因此,无效数据分组被去除。当然,本发明并不局限于指定的数据结构,这里描述的结构仅仅是为了说明。一般,字节方式的通信允许使用现有串行通信标准,例如与现有通信系统兼容的RS-232标准,从而进一步简化网络通信协议和硬件要求。
很容易理解,网络10中的许多节点位于大楼计算机14的有效发射范围之外,反之亦然。在这方面,如果节点12不能接收到来自大楼计算机14的有效或未被破坏的数据,通常认为它位于大楼计算机14的有效发射范围之外(反之亦然)。因此,必须将在大楼计算机14和需要向其发送数据分组的目的节点之间的各节点编程为沿着大楼计算机14和目的节点之间的一条通信路径以转发或跳传该数据分组。如上所述,被编程为转发或重发一个数据分组的节点通常被称作转发器节点(或简单地称作“转发器”)。
根据先有技术的随机分组路由选择协议,所有节点都被编程为其它所有节点的转发器,从而在大楼计算机14和某一特定目的节点之间提供了多重随机通信路径。根据先有技术的确定分组路由选择协议,只有在大楼计算机14和某一给定目的节点之间构成单条通信路径的一个指定节点集合被编程为向该目的节点转发一个数据分组的转发器,从而只在大楼计算机14和该目的节点之间提供了单条预定的通信路径。
根据本发明,在大楼计算机14和某一给定节点之间构成多重路径并能作为该目的节点有效转发器的一个指定节点集合被编制为该目的节点的转发器,从而在大楼计算机14和该目的节点之间提供了多重(两条或更多)预定通信路径。最好是对位于大楼计算机14有效发射范围之外(或者,更广义地说,是没有与大楼计算机14直接链接)的每个节点,在大楼计算机14和该节点之间构成多重路径的一个指定节点集合都被编程为该节点的转发器,从而在大楼计算机14和位于其有效发射范围之外(或没有与大楼计算机14直接链接)的每个节点之间提供多重、预定的通信路径。
在工作期间,数据分组通过沿着大楼计算机14和该节点之间预编程的多重路径随机发送,在大楼计算机14和没有直接与大楼计算机直接链接的每个节点12之间进行通信。在此方面,一种信道接入协议用于网络10中的所有数据通信,以使被发送的数据分组产生不可避免冲突的概率最小。最好使用一种载波监测多址(CSMA)协议,其中每个转发器在准备发送一个数据分组之前等待一段随机延迟时间,然后监听信道以确定它可用(“空闲”)或不可用(“忙”)。如果转发器检测到信道空闲,就发送这个数据分组。如果转发器检测到信道忙,就在下一次准备发送这个数据分组时再次监听信道之前等待另一段随机延迟时间。任何等待信道开放以进行传输的节点都不能接收分组。随机延迟时间周期通常在包括发射机和接收机初始化时间的分组发送时间的0-3倍之间。允许更长的延迟会放慢分组的传播,但减小了由于发射机上电和各相邻节点实际“听到”该发送的时刻之间的延迟所导致的数据分组不可避免冲突的概率。当然,本发明并不局限于使用某种特定的信道接入协议。
大楼计算机14根据它在网络初始化过程中得到的节点连接信息为位于大楼计算机有效发射范围之外的每个结点12选择和编程用作转发器的各节点。本发明并不局限于使用指定的网络初始化例程。但最好使用以本发明人姓名于95年12月27日提交的并转让给本发明的受让人的未决美国专利申请08/579,650中提出的自动网络初始化过程,该公开包括在参考文献中。通过使用这种自动网络初始化过程,大楼计算机14可以收集网络10的全部节点连接信息,包括关于每对被视为连接的节点之间链路质量的统计信息、双向节点链路的确认、以及网络10中每个节点12到网络10中其它每个节点12的全部连接。
根据本发明,大楼计算机14根据网络初始化过程得到的节点连接信息确定究竟选择哪一个在大楼计算机14和每个没有直接与大楼计算机14链接的节点12之间起媒介作用的指定节点集合作为该节点的各转发器。更具体地说,被选作某特定节点转发器的节点最好是在大楼计算机14和该节点之间构成多重通信路径的那些节点,这些路由是用于传输数据分组的最有效路由,并使大楼计算机14和该节点之间的数据传输成功的概率最大。在此情况下,可以执行附加初始化操作和/或递增初始化,以开发附加路径和尽量准确地确定哪些路径最有效。另外,正如前面所讨论的,当编程中心节点与给定单独节点之间的多重路径时,被选作多重路径的每条分支转发器的节点最好位于同一个小区内,以便它们彼此能够“听到”,从而使在中心节点和该给定单独节点之间传送的数据分组发生的不可识别冲突最少。
应该理解,尽管通信成功的概率通过提供更多数目的编制路径得到提高,但在某一点上成功通信的概率增量将被网络10数据业务处理能力的减少所超过,也就是达到一个“缩减边际返回”(“diminishingmarginal returns”)点。在某些情况下(取决于网络的特定拓扑结构和/或配置),会达到这样一点,编程的路径数如此之多,以至于通信成功的概率净减小,以及/或导致网络10的数据业务处理能力低于一个所需门限水平。在极端情况下,即所有节点都被编程为网络中其它所有节点的转发器时,网络路由选择协议就成为了先有技术的完全随机(即完全不确定)路由选择协议。因此,在成功通信的概率和网络10的数据业务处理能力(即能够同时放在网络10上的不同分组数目)之间存在一种折衷。
因此,为了实现本发明部分确定、部分随机的路由选择方法及其附带好处和优点,要被编程作为转发器的每个节点就被编程为用于网络中至少一个、但少于所有其它节点的转发器。根据本发明的随机多重路径列表路由选择方法,可能所有节点都将被编程为网络10中至少一个其它节点的转发器,但是所有节点不可能都被编程为网络10中所有其它节点的转发器。一般只有能够作为某特定节点的最有效转发器工作的那些节点才被编程为该节点的转发器。而且,被编程为一个或多个其它节点转发器的节点总数M可以小于网络中的节点总数N(即M<N)。
正如前面所述,编程一个特定节点为转发器只需通过在该节点的转发地址表中存储使用该节点作转发器的节点地址。通过这种方法编程作为转发器的所有节点,从而就在大楼计算机和没有直接与大楼计算机链接的每个节点之间编程了预定的多重路径。当然,正如前面所讨论的那样,所选的特定路径最好能够提供在大楼计算机和每个大楼计算机不能直接到达的节点之间来回跳传数据分组的最有效路由。
在工作期间,被送往一个没有直接与大楼计算机14链接的目的节点的命令数据分组由大楼计算机发送。然后所有位于大楼计算机14发射范围之内的节点收到这一分组,并比较该分组的ADDR字节中包含的地址(它是目的节点的地址)与存储在其“转发”地址表中的地址(如果该地址存在的话)。当然,被编程为被寻址目的节点的转发器的每个节点将会找到一个匹配。然后每个这种转发器根据CSMA协议在等待一段随机延迟时间周期之后、并且网络10的公共RF信道空闲时,向其发射范围之内的所有节点发送这个分组。换句话说,每个这种转发器“转发”该分组。如果目的节点收到分组,那么命令分组从大楼计算机14到被寻址目的节点的传输就成功地完成了。在这方面,收到分组的每个节点比较分组的ADDR字节中包含的地址与存储在其“应答”表中的地址。当然,只有目的地址将检测到匹配。
但是,如果在大楼计算机14和目的节点之间编程的多重路径上有一个或多个附加“分支”(或“链路”),(也就是说,如果被寻址的目的节点位于路由第一分支转发器的发射范围之外),那么在大楼计算机14和目的节点之间的被编程多重路径上的每个附加分支的转发器将根据上述相同方式“转发”分组,直到目的节点收到该分组,从而成功地完成了命令分组从大楼计算机14到被寻址目的节点的传输。
应该指出,在某些情况下目的节点可能位于被编程多重路径的第一分支转发器的发射范围之内,即使还有一个或多个附加分支,这时,目的节点可能将在附加分支的转发器转发分组之前就收到该分组,从而有效地旁路或跳过了附加分支的中间节点,进而降低了传输成功完成需要的时间。这种有时被称作“跳传反射”的现象包含在CSMA协议中,它确保了在沿着编程的多重路径来选择分组路由时有足够的随机性,以使数据分组在任何一个方向上发生的不可识别冲突最少。
在目的节点收到一个分组之后,它执行在分组的CMD字节中包含的命令,而且如果被命令这样做的话(除非被命令或编程不这样做),就构成一个沿同样的被编程多重路径送回大楼计算机14的确认分组。选择确认分组返回大楼计算机14的路由与上述选择命令分组从大楼计算机14到目的节点的路由相同,只是次序相反。应该指出有利的是,出于前面所解释的原因,返回确认分组的ADDR字节中包含的地址与命令分组的ADDR字节中包含的地址(即目的节点地址)相同,但是确认分组的分组ID不同于命令分组。应该知道命令和确认分组实际所走的路径将是被编程多重路径中的随机的一条。
为了阻止分组沿着一条被编程路径按反方向跳传(也就是在命令数据分组的情况下返回大楼计算机),此即有时被称作“反跳”的现象,已经转发一个分组的每个节点在存储器中记录该分组的ID,以便这个节点再次收到该分组时,它不会重新发送(“重新转发”)这个分组。在这个方面,在本发明现有的一个优选实施例中,每个节点带有一个两字节循环(FIFO)分组ID缓冲器,它能连续存储以前发送的两个分组的分组ID,以便能不“重新转发”以前发送的两个分组。当然,本发明并不限制所用缓冲器的大小和类型。
被送往没有直接与大楼计算机14链接的一个目的节点群的命令数据分组按同样的方式选择至目的节点群的路由。更具体地说,位于大楼计算机14发射范围之内的所有节点收到该分组,并比较分组的ADDR字节中包含的群地址(它是一个目的节点群地址)与存储在其“转发”地址表中的地址(如果该地址存在的话)。当然,被编程为被寻址节点群的转发器的每个节点将检测到匹配。然后每个这种“群”转发器根据CSMA协议在等待一段随机延迟时间之后并在网络10的公共RF信道空闲时,向位于其发射范围之内的所有节点发送这个分组。换句话说,每个这种“群”转发器“转发”该分组。如果被寻址节点群中的每个节点都收到了这个分组,那么就成功地完成了命令分组从大楼计算机14到被寻址目的群的传输。在这方面,收到分组的每个节点比较分组的ADDR字节中包含的地址与存储在其“应答”表中的地址。当然,只有被寻址目的群中的节点将检测到匹配。
但是,如果在大楼计算机14和目的节点群之间存在一个或多个被编程多重路径的“分支”(也就是说,如果被寻址目的节点位于路由第一分支转发器的发射范围之外),那么在大楼计算机和目的节点群之间的被编程多重路径上每个附加分支“群”转发器根据上述相同的方法“转发”分组,直到目的群中的每个节点收到该分组,从而成功地完成命令分组从大楼计算机14到被寻址目的节点群的传输。
如果被命令这样做的话(或者除非被命令或编程不这样做),那么目的节点群中的每个节点构成一个确认分组,以沿着同一被编程的多重路由送回大楼计算机14。选择确认分组返回大楼计算机14的路由与上述选择命令分组从大楼计算机14到目的节点群的路由相同,只是次序相反。应当指出,也属于使用其作为群转发器的被寻址群的群转发器节点可能需要既转发这个分组、又响应这个分组。在这方面,如果一个群转发器被命令或编程返回一个确认分组以响应寻址到它所属群的分组时,它最好先转发该分组,然后(经过适当的延迟之后)构成并返回确认分组,不过本发明并不局限于这种过程。
被送往网络10中所有节点12的命令数据分组根据下述方法选择路由。更具体地说,位于大楼计算机14发射范围之内的所有节点收到这个分组,并比较分组的ADDR字节中包含的全网地址与存储在其“转发”地址表中的地址(如果该地址存在的话)。当然,已被编程为整个网络10的“全网”转发器的每个节点将找到匹配。然后每个这种“全网”转发器根据CSMA协议在等待一段随机延迟时间之后、并在网络10的公共RF信道空闲时,向位于其发射范围之内的所有节点发送这个分组。换句话说,每个这种“全网”转发器“转发”该分组。收到第一“全网”转发器集合所发分组的每个“全网”转发器也转发该分组。一旦网络10中的所有节点收到该分组,那么传输就成功地完成了。在这方面,收到分组的每个节点比较分组的ADDR字节中包含的地址与存储在其“应答”表中的地址。当然,在这种情况下,网络10中的所有节点12都将检测到匹配。
收到一个全网寻址的命令分组之后,如果被命令这样做(或除非被命令或编程不这样做),那么网络10中的每个节点12就构成一个用于沿着同一被编程多重路径回送到大楼计算机14的确认分组。选择确认分组返回大楼计算机14的路由与上述选择命令分组从大楼计算机14到网络10中所有节点12的路由相同,只是次序相反。
应该指出全网转发节点可能需要既转发一个分组、又响应这个分组。在这方面,如果一个全网转发器被命令或编程返回一个确认分组以响应一个全网寻址分组,全网转发器最好首先转发这个分组,然后(经过适当延迟之后)构成并返回确认分组,不过本发明并不局限于这种过程。另外,为了使数据分组发生的不可避免冲突最小并防止网络10受到确认分组支配(及网络数据业务处理能力的相应减小),最好只编程(或命令)在一个寻址群(包括全网群)中的被选节点12以返回确认分组,从而响应包含一个群(或全网)地址的命令分组。
为了说明使用本发明的随机多重路径列表路由选择方法相对于先有技术的单纯确定、单条路径路由选择方法而言提高了在一个无线跳传网中成功通信的概率,下面参考图2。
更具体地说,图2A、B和C描述了三种不同的情况,其中分组沿着使用先有技术的单纯确定路由选择方法的单条路径A→B→C→D从节点A传送到节点D并返回节点A(也就是A→D→A),其中节点B和C作为连接节点A和D的转发器。节点A和D之间通信路径的第一段链路被称作“链路1”,节点A和D之间通信路径的第二段链路被称作“链路2”,节点A和D之间的第三段通信链路被称作“链路3”。
为了简单和便于讨论起见,假定在任何两个链接的节点之间通信成功的概率是0.90(90%)。当然,正如上面所讨论的,在任何两个链接的节点之间通信成功的概率将会由于各种不可控制的变化(例如,由于室内环境的变化、衰落、多径等)而作为时间的函数改变。不过,为每条链路分配一个固定的成功概率简化了这里的分析,而且本质上并不影响它的合理性。
图2A描述分组沿着使用先有技术的单纯确定路由选择方法的单条路径A→B→C→D从节点A传送到节点D,再返回节点A(即A→D→A)的情况,其中节点B和C作为连接节点A和D的转发器。为了使通信A→D→A成功,分组必须跳经节点A→B→C→D→C→B→A,它使得通信A→D→A成功的概率为(0.9)6=0.53(53%)。
图2B描述根据本发明的随机多重路径列表路由选择方法,分组沿着通信路由A→B→C→D或A→E→C→D从节点A传送到节点D,再返回节点A(即A→D→A)的情况,其中节点B、C和E都作为节点D的转发器,从而把链路1和链路2成功的概率从0.90提高到了0.99,进而使得通信链路A→D→A成功的概率为(1-(1-0.9)2)4*0.92=0.78(78%)。因此,实现了通信A→D→A成功的概率比图2A所给实例提高了47%,因为完成链路1只需要节点至节点连接A→B或节点至节点连接A→E成功,从而把这条链路的成功率提高到99%,另外,因为完成链路2只需要节点至节点连接B→C或节点至节点连接E→C成功,从而把这条链路的成功率也提高到了99%。
图2C描述根据本发明的随机多重路径列表路由选择方法,分组沿着任意一条通信路由A→B→C→D、A→E→C→D、A→B→F→D、A→E→C→D、A→E→F→D从节点A传送到节点D再返回节点A(即A→D→A)的情况,其中节点B、C、E和F作为节点D的转发器,从而把链路1成功的概率从0.90提高到0.99,把链路2成功的概率提高到0.9999,链路3成功的概率提高到0.99,进而使得通信A→D→A成功的概率为0.96(96%)。因此,实现了通信A→D→A成功的概率比图2A所给实例提高了81%,因为完成链路1只需要节点至节点连接A→B或节点至节点连接A→E成功,从而把这条链路的成功率提高到99%,另外,完成链路2只需要节点至节点连接B→C、E→C、E→F、或B→F成功,从而把这条链路的成功率提高到99.99%,而且因为完成链路3只需要节点至节点连接C→D或节点至节点连接F→D成功。为了简单和清楚起见,这些实例没有考虑“跳传反射”的概率,而这种现象还将提高通信A→D→A成功的概率。
基于以上描述,现在应该能够明白本发明的随机多重路径列表路由选择方法可以提供许多优于现有确定和随机路由选择方法的好处和优点,它包括下面列举的这几点,但并不局限于此。
这就是说,根据本发明的随机多重路径列表路由选择方法(1)只要编制了足够数量和质量的多重路径,不需要对网络中由于暂时阻塞而没有响应的节点重新进行有效路由选择配置及进行重新配置的算法;(2)多重传输不需要重新配置就总能确保使用所有可能的预编程路径。
(3)重新配置已简单化到只需编程另一节点作为转发器,它不需要删除原来编程的路径,从而在新的路径失败时不必重新配置回到早先的路径;(4)重新配置可以通过执行附加和/或递增的自动初始化例程以及/或根据从第一次(或以前)的初始化例程中得到的节点连接信息手工编程一个或多个附加节点为转发器来实现;(5)部分路由选择表(或简单地说,“路由选择表”)是紧凑的,因为每个节点只需要存储要求它进行转发的节点地址;(6)因为路由选择表存储在每个节点上,分组不需要包含这一路由选择信息,从而能使传输的分组更短,因此提高了网络效率并放宽了对网络的硬件要求(例如分组缓冲器的大小和波特率等);(7)不需要多个分组缓冲器,因为每个节点每次只需要处理一个分组(也就是说只需要单个分组缓冲器);(8)本发明的随机多重路径列表路由选择方法实现了先有技术的单纯随机路由选择方法的好处和优点(即通信成功概率高)以及先有技术的单纯确定路由选择方法的好处和优点(即网络数据业务处理能力高),但同时还去除了这些先有技术路由选择方法的不足和缺点。
尽管上面已经详细描述了本发明的各种优选实施例,应该清楚地知道,有关领域技术人员可能想到的、对在此给出的基本发明原理的一些变形和/或改动仍在所附权利要求所规定的本发明实质和范围之内。
权利要求
1.一种用于在包括一个中心节点和多个单独节点的无线网中选择数据分组路由的方法,包括以下步骤在所述中心节点和至少每个被选的所述单独节点之间编程多重路径;及在所述中心节点和所述被选单独节点之间通过所述编程的多重路径而随机跳传数据分组。
2.如权利要求1所述方法,其特征在于,其中编程多重路径的步骤包括编程多个所述单独节点,以使每个节点都作为至少一个其它所述单独节点的转发节点,所述转发节点在所述中心节点和至少每个被选所述单独节点之间构成至少两条编程的通信路径。
3.如权利要求2所述方法,其特征在于,其中编程节点的步骤根据在网络初始化过程中得到的节点连接信息进行。
4.如权利要求2或3所述方法,其特征在于,其中所述每个单独节点包括一个地址表;及编程节点的步骤通过在每个所述转发节点的所述地址表中存储一个路由选择表来进行。
5.如权利要求2、3或4所述方法,其特征在于,其中所述每个单独节点包括一个至少包含其自身地址的第一地址表和一个第二地址表;及编程节点的步骤包括在每个所述转发节点的所述第二地址表中存储每个被编程作为转发节点的节点的地址的子步骤。
6.如权利要求5所述方法,其特征在于,随机跳传步骤包括以下子步骤收到一个数据分组的每个所述节点比较被包含在该数据分组的地址字节中的地址与存储在其第一地址表中的所述地址,如果在存储在所述第一地址表中的所述地址和被包含在所述地址字节中的地址之间检测到匹配,则响应该数据分组;及收到一个数据分组的每个所述节点比较被包含在该数据分组的所述地址字节中的所述地址与存储在其第二地址表中的所述地址,如果在存储在所述第二地址表中的所述地址和被包含在所述地址字节中的地址之间检测到匹配,则转发该数据分组。
7.如权利要求6所述方法,其特征在于,其中所述网络有一个公共RF信道,所述网络内的所有数据通信通过所述公共RF信道进行。
8.如权利要求6或7所述方法,其特征在于,其中每个所述节点包括一个分组ID存储器,每个所述数据分组包括一个包含着识别该数据分组的分组标识码的分组ID,沿着所述编程的通信路径随机跳传数据分组的步骤还包括以下子步骤转发一个数据分组的每个所述节点在其分组ID存储器中存储该数据分组的所述分组标识码;及收到一个数据分组的每个所述节点确定该数据分组的所述分组标识码是否已存储在它的分组ID存储器中,如果是,则去除该数据分组。
9.如权利要求5、6、7或8所述方法,其特征在于,其中所述多个单独节点至少被分成两个独立的节点群,每个群都有一个唯一的群地址,所述编程步骤还包括以下子步骤在每个所述单独节点的所述第一地址表中存储它所属于的任何群的群地址;及编程所述单独节点的一个被选子集,以使每个子集都作为每个所述群的群转发节点,这是通过在每个所述群转发节点的所述第二地址表中存储已被选择作为群转发节点的任意群的群地址来实现的。
10.如权利要求5、6、7、8或9所述方法,其特征在于,其中所述整个网络有一个全网地址,该编程步骤还包括以下子步骤在每个所述单独节点的所述第一地址表中存储所述全网地址;及编程所述单独节点的一个被选子集作为整个网络的全网转发器,这是通过在每个所述全网转发器的所述第二地址表中存储所述全网地址来实现的。
11.如以上任何一个权利要求的所述方法,其特征在于,其中所述被选的一个所述单独节点没有直接与所述中心节点链接。
12.一个无线网,包括一个包括无线收发机、数字信号处理电路和存储器的中心节点;及多个单独节点,每个都包括一个无线收发机、数字信号处理电路和一个存储器,多个所述单独节点被这样地编程,以使得每个节点都作为至少一个其它所述单独节点的转发节点,所述转发节点在所述中心节点和至少每个被选所述单独节点之间构成至少两条编程的通信路径。
13.如权利要求12所述的无线网,其特征在于,其中所述中心节点被编程为执行一次网络初始化例程以获得用于编程所述通信路径的节点连接信息。
14.如权利要求12或13所述无线网,其特征在于,其中每个所述转发节点还包括一个存储在其存储器中的路由选择表。
15.如权利要求12、13或14所述无线网,其特征在于,其中每个所述单独节点还包括一个至少包含其自身地址的第一地址表和一个包含编程该节点作为其转发节点的每个节点地址的第二地址表。
16.如权利要求12、13、14或15所述无线网,其特征在于,其中网络被编程为沿着所述编程的通信路径而随机跳传数据分组。
17.如权利要求15所述无线网,其特征在于,其中每个所述单独节点被编程为对它收到的一个数据分组的地址字节中包含的地址与存储在其所述第一地址表中的地址进行比较,如果检测到匹配,则响应该数据分组;及每个所述单独节点被编程为对它收到的一个数据分组的地址字节中包含的地址与存储在其所述第二地址表中的地址进行比较,如果检测到匹配,则转发该数据分组。
18.如权利要求12、13、14、15、16或17所述无线网,其特征在于,其中每个所述单独节点包括一个分组ID存储器,每个数据分组包括一个分组ID字节,该字节包含一个识别该数据分组的分组标识码;每个所述转发节点被编程为在其分组ID存储器中存储它所转发的每个分组的所述分组标识码;及每个所述转发节点被编程为对它收到的每个数据分组的所述分组标识码与存储在其所述分组ID存储器中的所述分组标识码进行比较,如果发现匹配,则去除该数据分组。
19.如权利要求12、13、14、15、16、17或18所述无线网,其特征在于,其中至少被选的一个所述编程的通信路径的每个分支的所有所述转发节点位于一个公共小区内,该小区由多个位于彼此有效监听范围内的所述节点组成。
20.如权利要求12、13、14、15、16、1 7、18或19所述无线网,其特征在于,其中转发节点总数小于网络中单独节点的总数。
21.如权利要求12、13、14、15、16、17、18、19或20所述的无线网,其特征在于,其中网络是一个大楼系统控制网络,所述中心节点包括一个大楼计算机。
22.如权利要求15所述无线网,其特征在于,其中所述多个单独节点至少被分成两个独立的节点群,每个群都有一个唯一的群地址;每个所述单独节点的所述第一地址表还包含该节点所属于的任何群的所述群地址;所述单独节点的一个被选子集被编程为每个所述群的群转发器;及每个所述单独节点的所述第二地址表还包含编程该节点作为它的群转发器的任何群的群地址。
23.如权利要求15或22所述无线网,其特征在于,其中整个网络有一个全网地址;所述全网地址存储在每个所述单独节点的所述第一地址表中;所述单独节点的一个被选子集被编程为整个网络的全网转发器;及在每个所述全网转发器的所述第二地址表中存储所述全网地址。
24.如权利要求12、13、14、15、16、17、18、19、20、21、22或23所述无线网,其特征在于,其中网络是一个智能照明系统控制网。
25.用于包括多个其它节点的无线网中的一个节点,包括向网络中其它节点发送数据和从网络中其它节点接收数据的一个无线收发机;及用于存储节点自身地址和使用该节点作为转发器的所有其它节点的转发地址的存储器,其中该节点至少被编程为其它两个节点的转发器。
26.如权利要求25所述节点,其特征在于,还包括数字信号处理电路,它响应由所述无线收发机收到的一个数据分组,以便比较该数据分组的地址字节中包含的目的地址与存储在所述存储器中的地址,如果在自身地址和目的地址之间检测到匹配,则处理该数据分组,如果在任何转发地址和目的地址之间检测到匹配,则命令所述无线收发机转发该数据分组。
27.如权利要求26所述节点,其中所述数字信号处理电路还响应该数据分组,以便提取出该数据分组的分组ID字节中包含的一个分组ID并在所述存储器中存储所提取的分组ID。
28.如权利要求27所述节点,其中所述数字信号处理电路还响应该数据分组,以便比较所提取出的数据分组的分组ID与存储在所述存储器中的任何其它分组ID,如果检测到匹配,则去除该数据分组。
30.如权利要求25、26、27、28或29所述节点,其特征在于,其中所述存储器包括用于存储自身地址的一个第一地址表和用于存储转发地址的第二地址表。
31.如权利要求27所述节点,其特征在于,其中所述存储器包括一个具有规定分组ID字节数目的存储容量的循环FIFO缓冲器。
32.如权利要求31所述节点,其特征在于,其中只有在转发数据分组时,才在所述存储器中存储分组ID。
全文摘要
用于在无线分组跳传网(例如一个智能照明控制系统)中选择数据分组路由的随机多重路径列表路由选择方法包括以下步骤:编程多个单独节点,每个节点都作为至少一个其它单独节点的转发节点,转发节点在中心节点和各单独节点的每个至少被选定的一个单独节点之间构成编程的多重通信路由;沿着编程的通信路由随机跳传数据分组。转发节点最好根据在网络初始化过程中获得的节点连接信息编程。转发节点最好通过在每个转发节点存储器存储紧凑的部分路由选择表来进行编程。这种路由选择方法是部分确定或列表性的(因为路由选择表用来预先编程多重通信路由)、也是部分随机的(因为数据分组沿着这些预先编程的多重路由随机跳传,而不是沿着预先编程的单个路由跳传)。
文档编号H04L12/28GK1189950SQ97190404
公开日1998年8月5日 申请日期1997年2月20日 优先权日1997年2月20日
发明者G·A·梅尔尼克 申请人:菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1