网络中的组播方法

文档序号:7611955阅读:323来源:国知局
专利名称:网络中的组播方法
技术领域
本发明一般涉及ZigBee网络。更具体地说,本发明涉及将组播数据分组发送至由形成ZigBee网络的节点中的某些节点构成的组播群组的方法。
背景技术
ZigBee联盟是为推出基于IEEE802·15·4标准的廉价、低电耗和无线网络产品而共同工作的公司的协会。
ZigBee网络的单播路由协议包括簇树协议和需求驱动距离矢量路由(AODV)协议。通常ZigBee网络支持单播路由协议但不支持组播路由协议。然而,组播概念是有效地支持ZigBee网络中的传感网络的值得注意的方法。
图1说明了由多个节点构成的通用ZigBee网络。现在参照图1来描述由多个节点构成的ZigBee网络中数据分组的分发。ZigBee网络由节点A~M构成。节点A是管理形成ZigBee网络的节点的ZigBee协调器(ZC)。节点B~M在节点A的控制下发送和接收数据分组。
下面解释需求组播路由协议的原因。假设节点A将同一数据分组发送至节点C、E、G、H、I。在此情况下,节点A可对该数据分组进行单播或组播。详细地说,节点A对这样的数据分组进行单播其中将节点C的地址设为目的地址。此外,节点A对这样的数据分组进行单播其中将节点E的地址设为目的地址。这样一来,节点A按顺序对该数据分组进行单播,于是将相同的数据分组(具有不同目的地址)发送至节点C、E、G、H和I。
或者,节点A可将该数据分组广播至形成ZC的节点。在此情况下,节点A将数据分组的目的地址设为指示广播数据分组的地址。因此,节点B~M从节点A接收数据分组。然而,节点B、D、F和J~M不需要所接收的数据分组,于是就丢弃了数据分组。
如上述,缺陷在于数据分组不分发至形成ZigBee网络的全部节点。即,假设对数据分组进行单播中,发送节点必须数次发送目的地址不同的数据分组。进而,由于不需要的节点接收广播数据分组而增加了日常开支。

发明内容
为了克服常规安排下的上述缺陷,本发明的一个方面提供了一种有效地将数据分组发送至形成ZigBee网络节点中某组的节点的方法。
本发明的另一方面提供了一种使形成ZigBee网络的节点使用最少信息而发送数据分组、以减少存储信息所需的内存空间的方法。
本发明的又一方面提供了一种降低当ZigBee网络中的各节点发送雷同数据分组时出现的负荷的方法。
本发明的还一方面提供了一种防止将应分发至形成组的节点的数据分组发送至组外的方法。
符合本发明的以上方面,管理包括多个节点的ZigBee网络的方法包括以下步骤生成包括多个节点中至少2个节点的组播群组,和在形成组播群组的节点中设定管理组播群组的组播群组协调器(GC)。
组播群组由GC、请求参加组播群组的组播群组成员(GM)、和/或相互链接GM或链接GC和GC的组播路由器(MR)组成。


通过下面对示例实施例进行的描述并结合附图,本发明的上述和其他方面将会变得更加清楚并更易于明白,其中图1是由多个节点构成的通用ZigBee网络;图2说明形成根据本发明的实施例的ZigBee网络的节点;图3说明当节点根据本发明的第1示范性实施例请求参加组播群组时各节点的操作;图4说明当节点根据本发明的第1示范性实施例请求离开组播群组时各节点的操作;图5说明节点的更新、该节点根据本发明的第1示范性实施例充当组播群组的组播群组协调器(GC);
图6说明当组播群组的GC根据本发明的第1示范性实施例而请求离开时各节点的操作;图7说明根据本发明的第3实施例的示例组播路由器表格;图8说明由根据本发明的第3示范性实施例的ZigBee网络形成的节点存储的组播路由器表格;图9说明当节点根据本发明的第3示范性实施例请求参加组播群组时各节点的操作;图10说明当将数据分组根据本发明的第3示范性实施例分发至组播群组时各节点的操作。
具体实施例方式
以下详细说明本发明的示范性实施例,其示例将在附图中说明,其中相同的附图标记处处代表相同的元素。以下为了通过参照附图而描述本发明而说明示范性实施例。
以下,参照附图根据本发明的示范性实施例对形成ZigBee网络的节点的操作进行描述。
本发明建议的组播群组包括有形成ZigBee网络的节点中的至少2个节点。形成组播群组的节点被分配了相同的组播群组地址。下面解释分配组播群组地址的处理。
第1方案使用网络层地址的一部分作为组播群组地址。网络层的地址包括16位的个人区域网络(PAN)ID和16位的节点ID。下面解释使用PAN ID的组播群组地址的分配。16位地址空间被分成2个空间。例如,16位空间可分裂成4位的第1空间和12位的第2空间。第1组播群组地址是使用4位的第1空间来分配的。即,第1组播群组地址是通过选择16种情形之一来分配的。第1组播群组地址是固定的。其次使用12位的第2空间来分配第2组播群组地址。第2组播群组地址的总数是4,095(去掉1个为广播而预留的)。组播群组地址是通过结合第1和第2组播群组地址而生成的。
第2方案使用ZigBee网络层标题的广播地址位。详细地说,若未在广播地址位中设定目的地址,则将数据分组当作常规的广播数据分组。若设定了目的地址,则当作组播数据分组。
图2是包括根据本发明的示范性实施例的多个节点的ZigBee网络。参照图2来解释形成ZigBee网络的节点的作用。像图1一样,图2的ZigBee网络包括节点A~M。节点A是ZigBee协调器(ZC)。ZC存储了相应于ZigBee网络中的全部节点的信息,并使用所存储的信息来管理节点。而且,节点A还管理涉及组播群组中节点地址和(簇树中)节点位置的信息。节点A管理至少1个组播群组。尽管节点A可参加组播群组,但图2的节点A不参加组播群组。
节点B是从属组播路由器(MR′)。该MR′是在簇树中位于下面将要说明的GC和ZC之间的节点。即,MR′在簇树中的深度小于ZC的深度。节点B识别出有下到树的组播群组,并链接ZC和GC。
节点C是GC。GC管理组播群组。因而,GC是位于能管理组播群组处的节点。即,GC成为簇树中组播群组上界。节点C保持着形成组播群组的节点的组播信息,并基于该信息来管理节点。节点A管理组播群组的节点的地址、和涉及节点位置的信息。GC是组播群组的成员,但也可以是未请求参加组播群组的节点。于是,节点C必要时可独自充当GC。
节点D是组播路由器(MR)。该MR是在簇树中未请求参加组播群组的节点中、位于GC和组成员(GM)之间的节点。MR将组播群组的节点彼此连接。参照图2,节点E是GM而节点C是GC。沿簇树位于GM间的节点可以是MR。
节点E、G、H和I是GM。GM是形成组播群组并请求参加组播群组的节点。节点F、J~M不是组播群组成员。
以下,详细地解释根据本发明的示范性实施例形成ZigBee网络的节点的操作。
-第1示范性实施例-1.参加组播群组1)想参加组播群组的节点(以下称作参加节点)分析其状态。若其状态不是MR、MR′或ZC,则参加节点将参加请求(JREQ)消息发至其父节点。若其状态是MR,则参加节点将其状态从MR变成GM并结束参加处理。
若其状态是ZC或MR′,则参加节点将其状态变成GC(当节点B请求参加时)。变成GC的参加节点生成GC更新(GCUD)消息。变成ZC的参加节点将GCUD消息顺着簇树向下送,并变成组播群组的新GC。当前的GC在从新GC接收到GCUD消息后放弃GC作用,并停止进一步传输GCUD消息(当节点C从节点B接收到GCUD消息时)。
2)父节点从其子节点接收JREQ消息,检查其邻居列表以寻找应分配给其子节点的组播群组地址。具体地说,若父节点的状态是GM、MR、MR′或GC,则父节点识别出有应分配给子节点的组播群组地址,并发送含组播群组地址的参加应答(JREP)消息(当节点D从节点F接收到JREQ消息时)。若父节点的状态不是GM、MR、MR′或GC,即父节点不是组播群组成员,则子节点将JREQ消息发送至其父节点(当节点K从节点L接收到JREQ消息时)。重复上述处理直到JREQ消息到达GM、MR、MR′、GC或ZC。
3)若JREQ消息到达ZC,则参加节点变成请求参加组播群组的第1节点(当从节点L发送的JREQ消息经节点K和J到达节点A时)。ZC为该参加节点而生成组播群组地址,并将JREP消息与生成的组播群组地址一同沿簇树发送至参加节点。JREP消息设定GC标志以指示参加节点是GC。
4)一旦接收到JREP消息,参加节点检查是否设定了GC标志。若是,则参加节点充当GC,反之,则参加节点进行至组播簇树的路由,于是从其父节点给该参加节点分配了组播群组地址。
5)参加节点将JREQ消息发送直到MaxJoinAttempts次,其被设定以寻找组播群组。即使未接收到JREP消息以答复JREQ消息,参加节点仍在某间隔处重复发送JREP消息直到所设次数。
现在参照图3,根据本发明的第1示范性实施例来描述包括参加节点的ZigBee网络。在图3中,节点E、H和L请求参加组播群组。
节点E将JREQ消息发送至节点D(S300)。其为MR的节点D知道应由节点E参加的组播群组的组播群组地址。于是,节点D将JREP消息与组播群组地址一同发送至节点E(S302)。
节点H将JREQ消息发送至节点G(S310)。节点G不知道组播群组地址而将接收到的JREQ消息发送至节点B(S312)。知道组播群组地址的节点B将JREP消息发送至节点G(S314)。节点G将接收到的JREP消息转发给节点H(S316)。一旦接收到JREP消息,节点G将其状态改变成MR。操作S320~S326与操作S310~S316相同。
2.离开组播群组1)想离开组播群组的节点(以下称作离开节点)确定它是否叶节点。若是,则离开节点将离开请求(LREQ)消息发至其父节点。反之,则离开节点将其状态从GM变成MR。即,离开节点充当组播群组的路由器。
2)一旦从子节点(离开节点)接收到LREQ消息,父节点将离开请求(LREQ)消息发至子节点。父节点删除相应于离开节点的组播群组信息。
3)若发送LREQ消息的子节点是MR,则父节点检查父节点是否组播群组中的叶节点。若是,则父节点将LREQ消息发至其父节点以去除组播簇树中不必要的部分,这将在下面参照图4更详细地解释。
4)若子节点的离开使GC具有在组播群组中的单个子节点,则GC确定其状态是否是GM。若不是,则GC放弃GC作用。
5)若在组播群组中的全部子节点都离开,则GC也离开组播群组。GC将LREQ消息发送至每个MR′或ZC,并删除全部组播群组信息。
图4是这样的ZigBee网络其包括一个根据本发明的第1示范性实施例请求离开组播群组的节点。节点E将LREQ消息发送至节点D以离开组播群组(S400)。其为MR的节点D将LREQ消息发送至节点E(S402)。由于节点E离开组播群组,节点E识别出它是组播群组中的叶节点。
节点D将LREQ消息发送至节点C以离开组播群组(S404)。节点C将LREP消息发送至节点D(S406)。节点C检查其状态是否是GM。若不是,则节点C生成GCUD消息以放弃GC作用。
节点C将GCUD消息发至节点G(S408)。节点G将接收到的GCUD消息转发至节点H(S410)。其次,节点C将其状态从GC变成MR′,而节点G将其状态从MR变成MR′。一旦接收到GCUD消息,节点H将其状态从GM变成GC。
3.标记组成员组播群组中的各节点通过参加和离开处理而更新组播簇树。各节点使用位图来记录链接至组播簇树的节点相关的信息。各节点使用位图来标记其所连接的状态为GM、GC和MR的节点。位图依Cm(子节点的最大数量)而由8,16和32位构成。换言之,位图的位数比Cm大1。
位图的第0位代表父节点,其第n位代表第n个子节点。例如,第0、2和5被标记为‘1’,父节点、第2个子节点和第5个子节点是GM、MR和GC之一。位图的使用使得各节点可减少记录连接至组播簇树的节点所需的内存空间。更详细地,节点的地址通常是16或32位,而因此,所需的内存空间与连接的节点数成正比。该位图可使用单一位图来标记8个节点。使用位图来取代组播路由器表格可急剧地节省内存空间。
4.GC作用变迁GC作用可防止组播数据分组发送至组播簇树以外。组播簇树的上界是由GC来设定的。同时,组播簇树的上界因节点参加或离开组播群组而不固定且是可变的。下面解释节点GC作用是变迁的。
1)新GM参加组播群组图5说明了当新GC根据本发明的第1示范性实施例请求参加组播群组并变迁GC作用时的消息传输。参照图5,节点D是GC而节点B和C是MR′。
在图5中,节点J是请求参加组播群组的参加节点。节点J将JREQ消息发送至节点I(S500)。节点I将接收到的JREQ消息转发给节点H(S504)。节点H将JREQ消息转发给节点B(S508)。节点B知道组播群组地址而生成JREP消息并将其发送至节点H(S510)。节点H将接收到的JREP消息转发给节点I(S506),而节点I将JREP消息转发给节点J(S502)。因此,节点J参加了组播群组。应注意节点H和节点I的状态变成了MR。
在发送了JREP消息后,节点B生成GCUD消息并将其发送至节点C(S512)。节点B的状态变成GC。一旦接收到GCUD消息,节点C的状态从MR′变成MR。节点C原始的状态是MR′,其将接收到的GCUD消息转发给节点D(S514)。简单地说,GCUD消息按顺序转发,直到它到达当前的GC。其为当前的GC的节点D接收到GCUD消息并放弃其GC作用。若节点D的原始的状态是GM,则其状态变成GM。若其原始的状态不是GM,则节点D变成MR。
2)当前的GC离开当前的GC在两种情形下离开。其一是当GM和GC离开时,其二是当GC不是GM并因1个子节点的离开而仅具有在组播群组中的1个子节点时。在这两种情形下,GC都放弃了组播群组的GC作用。以下,参照图6对当前的GC离开所必要的ZigBee网络作出描述,其中节点C是GC。
节点E将LREQ消息沿组播簇树发送至节点D(S600)。一旦接收到LREQ消息,节点D将LREQ消息发送至节点E并检查其状态。若其原始的状态是GM,则节点D将变成GM。反之,节点D因节点E而充当MR,尽管节点D原本是如图6所示的非组播群组节点。由于节点D识别出组播群组中不存在子节点,节点D将LREQ消息发送至节点C(S604)。节点C将LREP消息发回节点D(S606),于是节点D变成非组播群组节点。
在发送了LREP消息后,节点C检查自己的状态。若是GM,则节点C仍充当GC。若不是GM且组播群组中仅存在1个子节点,则节点C不必再充当GC了。因而,节点C将其状态变成非组播群组节点并将生成的GCUD消息发至节点F(S608)。一旦接收到GCUD消息,节点F检查形成链接至节点F的组播群组的子节点数。若子节点数超过2,则节点F将其状态变成GC并停止进一步的消息传输。若子节点数是1,则节点F变成非组播群组节点并将操作S610的GCUD消息转发给节点G。同理,节点G检查形成链接至节点G的组播群组的子节点数。在图6中,组播群组中的子节点数是2(节点H和I),于是节点G从MR变成GC。
5.组播群组撤销当完成了组播群组相关的操作时,形成组播群组的1个节点生成组撤销(GDIS)消息。该节点的应用层确定所生成的GDIS消息是否正确(错误)。生成的GDIS被发送至组播群组中的全部节点。在接收到GDIS消息时,节点删除全部组播群组信息。GDIS消息通过与上述GM的离开同样处理,减少了控制业务量。
6.数据分组传输机制当应用层请求组播数据分组传输时,源节点的网络层将网络标题的目的地址设为组播地址。MAC层将MAC帧的目的地址设为广播地址。源节点的MAC层广播带有被设定的目的地址(目的PAN ID)和MAC地址的数据分组。
邻居节点的MAC层接收和广播数据分组并将其送至网络层。网络层通过检查网络标题中的广播地址和目的地址而确定是否有必要处理组播数据分组以及如何处理数据分组。下面详细描述接收数据分组的节点的操作。
1)GM接收数据分组若接收到的数据分组在前的跳转是组播簇树的邻居节点(父节点或子节点),则GM将接收到的数据分组送至上层。若数据分组在前的跳转不是组播簇树的邻居节点,则重播接收到的数据分组。若GM是叶节点则不重播接收到的数据分组。
2)MR接收数据分组MR不将接收到的数据分组送至上层。MR的其他操作与GM相同。
3)MR′或ZC接收数据分组若接收到的数据分组在前的跳转不是组播簇树中的子节点,则MR′或ZC将数据分组沿组播簇树单播至其子节点。即,MR′或ZC将数据分组发至组播群组。若数据分组在前的跳转是组播簇树外的子节点,则MR′或ZC将数据分组沿组播簇树单播至其子节点。
若接收到的数据分组在前的跳转是组播簇树中的子节点,则MR′或ZC抛弃该数据分组。即,MR′或ZC阻止该数据分组发送至组播群组以外。这种情况是当其为MR′的父节点′接收到由GC广播的数据分组时发生的。
4)其他(非组播群组节点接收数据分组)为了将接收到的数据分组发至组播群组,非组播群组节点将数据分组朝向ZC沿组播簇树发至其父节点。当数据分组在朝向ZC传输期间碰到MR′时,MR′将接收到的数据分组送至组播簇树中的子节点,而不将该数据分组送至ZC。
7.防止雷同数据分组1)组播交易记录(MTR)各节点保持有一个组播交易表格(MTT)。MTT的条目包括组播地址(目的地址)、源地址和数据分组的顺序号。节点的网络层可分配2字节的组播群组地址、2字节的源地址和1字节的组播群组数据分组的顺序号。若要求PANID,则组播群组地址和源地址需要4字节以上。各节点可通过将接收到的数据分组的信息与MTT的信息进行比较而防止雷同发送和接收。
然而,以上耗费内存的解决方案不适于RN-。RN-是内存空间(容量)有限的节点。
2)位图当位图的最大长度是1字节时利用位图(Cm≤7)。节点使用网络数据分组首部中的顺序号域(1字节)发送其位图。顺序号检查与为了处理接收到的数据分组的父节点或子节点对应的位图的码位。接收数据分组的节点确定是否检查了接收到的数据分组中的位图。若未检查该位图,则不进一步传输或传播而抛弃接收到的数据分组。结果,防止了数据分组的雷同传输。为此目的,各节点必须知道它是其父节点的第n个子节点,这可根据簇树构建算法而做到。
通过使用以上的解决方案,各节点不必使用MTT,故在网络层处数据分组不需要额外的空间。然而,当位图大于1字节时该使用位图的解决方案不可用,因为顺序号域是1字节。
3)与数据分组一同发送在前的跳转地址本方法即使当位图的长度大于1字节时仍可用。若位图大于1字节长,则不可能将位图置于网络标题中的顺序号域。因而,与在前的跳转地址一同发送数据分组。
节点在转播组播数据分组之前先将其地址放入数据分组。接收组播数据分组的节点检查组播数据分组中的地址。当组播数据分组中的地址与其地址相同时,接收节点抛弃接收到的组播数据分组。若两个地址彼此不同,则接收节点执行相应的操作。
该解决方案仅当组播数据分组遵循组播簇树构造而发送时才有可能。该在前的跳转地址是使用网络层处2或4字节的有效负荷来携带的。
8.增强数据分组传输的方法1)为了减少因广播数据分组的日常开支,各节点仅在组播簇树中有2个以上邻居节点时才广播或重播组播数据分组。若有2个以下邻居节点,则各节点对数据分组进行单播。
2)除了沿组播簇树发送广播数据分组的基本算法以外,还有可能将数据分组发送至其为GM或MR的姊妹节点,以加速数据分组传输。在此情况下,使用MTR来防止数据分组的雷同传输。
9.非组播群组成员的操作1)非组播群组成员将数据分组发送至组播群组、但不从组播群组接收数据分组。
2)若非组播群组成员未链接至组播树,则非组播群组成员朝向ZC对数据分组进行单播。
3)当非组播群组成员既非MR′也非ZC接收单播数据分组时,非组播群组成员将接收到的数据分组转发给其父节点。
4)保持组播群组信息的MR′或ZC遵循组播簇树将接收到的数据分组单播至组播群组。
-第2示范性实施例-形成ZigBee网络的节点依内存空间而分类为RN-和RN+。RN-与RN+相比,内存较为有限。根据本发明的第2示范性实施例的组播方法对于具有内存限制的RN-可用。本发明的第2示范性实施例的基本思想是源节点将所生成的组播数据分组首先发至ZC。
1.参加组播群组各组播群组的成员(节点)记录组播群组中子孙(decendent)节点的数量NumDesMem。若组播群组成员的NumDesMem是0,则该成员是叶节点。下面描述非组播群组节点请求参加组播群组。当MR请求参加组播群组时,MR简单地将其状态变成GM。
1)想参加组播群组的节点将JREQ消息发至ZC。
2)ZC一旦接收到JREQ消息计算新GC。若新GC与当前的GC不同则ZC将GCUD消息发至当前的GC和新GC二者。
3)ZC遵循组播簇树将JREP消息发至新参加的节点。
4)一旦接收到JREP消息,沿组播簇树路径的节点将NumDesMem加1。
5)更详细地,若GM或MR接收到JREP消息,则GM或MR增加NumDesMem,而若非组播群组节点接收到JREP消息,则其状态变成MR并将NumDesMem设置为1。
2.离开组播群组1)要离开组播群组的节点将LREQ消息发送至ZC。
2)ZC一旦接收到LREQ消息计算新GC。若新GC与当前的GC不同则ZC将GCUD消息发送至当前的GC和新GC二者。
3)ZC遵循组播簇树路径将LREP消息发送至离开的节点。
4)一旦接收到LREP消息,沿组播簇树路径的节点将NumDesMem减1。
5)更详细地,若GM或MR接收到LREP消息,则GM或MR将NumDesMem减1。当NumDesMem变成0时,GM或MR变成叶节点,特别地,MR变成非组播群组节点。若GM接收到LREP消息,则GM变成MR(当沿组播簇树路径有GM或MR子孙节点(descendant note)、即NumDesMem为1以上时),或GM变成非组播群组节点(当NumDesMem为0时)。
3.数据分组传输机制1)当生成组播数据分组时,源节点朝向ZC对数据分组进行单播。
2)若GC沿组播簇树路径处于源节点和ZC之间,则GC不将接收到的组播数据分组转发给其父节点,但遵循组播簇树而将组播数据分组广播至其子节点。
3)若GC沿组播簇树路径不处于源节点和ZC之间,则ZC将组播数据分组转发给GC。GC遵循组播簇树而将接收到的组播数据分组广播至其子节点。
4)若叶节点接收到组播数据分组,则不再进一步传输。若MR接收到组播数据分组,则MR遵循组播簇树而将接收到的组播数据分组广播至其子节点。
5)若非组播群组节点接收到组播数据分组,则不再进一步传输。
根据本发明的第2示范性实施例,防止了数据分组的雷同传输,而不必使用MTR,因为来自父节点的数据分组被广播至其子节点。
-第3示范性实施例-根据本发明的第3示范性实施例,对数据分组进行组播所需的内存比本发明的第2示范性实施例进一步减少了。本发明的第3实施例不像本发明的第1或第2示范性实施例那样利用MR′的概念。
1.组播路由器表格(MRT)根据本发明的第3示范性实施例,建议了用于组播地址的组播路由器表格(MRT)。图7说明的MRT包括组播群组地址域、GM域、GC域和一些是GM或MR的子节点域。组播群组地址域是16或32位,而GM域和GC域分别是1位。若节点是GM,则节点检查GM域,而若节点是GC,则节点检查GC域。是GM或MR域的子节点的数量是6位。然而各域的位数可根据用户设定而变化。是GM或MR域的子节点的数量不同于本发明的第2示范性实施例的NumDesMem。是GM或MR域的子节点的数量对沿组播簇树的子节点进行计数,而本发明的第2示范性实施例的NumDesMem则对沿组播簇树的子孙节点进行计数。
图8描绘了形成组播簇树的各节点的示例MRT。参照图8,在本发明的第3示范性实施例中,不利用MR′的概念但将MR′当作通用非组播群组节点。节点D保持有(×××,1,1,2)的MRT。组播群组的地址是“×××”,而该节点是GM和GC二者。是节点D的GM或MR的子节点的数量是2(节点E和H)。节点E保持有(×××,0,0,1)的MRT。组播群组的地址是“×××”,而该节点E既非GM也非GC。是节点D的GM或MR的子节点的数量是1(节点F)。
2.参加组播群组图9说明了这样的ZigBee网络其包括根据本发明的第3示范性实施例请求参加组播群组的节点。以下,参照图9来说明请求参加组播群组的节点的操作。
节点F、I和M彼此独立地请求参加组播群组。于是,节点F将JREQ消息沿簇树单播至节点E(ZC)(S900)。节点I将JREQ消息单播至节点H(S902),而节点M将JREQ消息单播至节点L(S904)。
一旦从节点F接收到JREQ消息,保持MRT的节点E停止进一步传输所接收到的JREQ消息。即,保持其MRT的节点停止进一步传输接收到的JREQ消息。不保持MRT的节点H,一旦从节点I接收到JREQ消息,将接收到的JREQ消息转发给节点C(子节点)(S906)。节点L。一旦从节点M接收到JREQ消息,将JREQ消息转发给节点K(子节点)(S908)。
接收到JREQ消息的节点E、C和K更新MRT。更具体地说,节点E、C和K将是GM或MR的子节点的数量加1,并响应JREQ消息而生成JREP消息。JREP消息包括组播群组的相关信息。JREP消息被发送至生成JREQ消息的节点。节点E将JREP消息发送至节点F(S910),而节点H将JREP消息发送至节点H(S912)。节点K将JREP消息发送至节点L(S914)。
一旦接收到JREP消息,节点H将其状态变成MR并生成MRT。子节点即生成的MRT的GM或MR的数量被置1。节点H将接收到的JREP消息转发给节点I。同样,节点L与节点H进行同样的操作。
节点H将JREP消息转发给节点I(S916),而节点L将JREP消息转发给节点M(S918)。
接收到JREP消息的节点F、I和M将其状态变成GM并生成MRT。子节点即生成的MRT的GM或MR的数量被置0。
下面说明将JREQ消息发送至ZC。举出节点D请求参加组播群组为例。
节点O将JREQ消息发送至节点B(S920)。在从节点O接收到JREQ消息后,节点B将JREQ消息转发给节点A(父节点)(S922)。节点A响应JREQ消息而生成JREP消息,并将生成的JREP消息发送至节点B(S924)。节点B将接收到的JREP消息转发给节点O(S926)。节点B的操作与节点H相同,而节点O的操作与节点I相同。节点A在发送JREP消息后确定用于GC作用的新节点。
如上述,ZC保持涉及多个组播群组的信息。节点A生成指示节点B充当GC的GCUD消息,并将生成的GCUD消息发送至当前的GC(节点C)和新GC(节点B)二者。一旦接收到GCUD消息,节点B更新MRT的某些信息以充当GC。具体地说,节点B将GC域置“1”。节点C一旦接收到GCUD消息,也更新MRT的某些信息。节点C将GC域从“1”变成“0”。
除上述方法以外,节点A还将GCUD消息沿簇树发至当前的GC(节点C)。GCUD消息包含当前的GC的地址和新参加成员(节点O)的地址。一旦接收到GCUD消息,节点B确定新参加成员是否其子孙节点。若确定结果新参加成员是其子孙节点,则节点B将GCUD消息转发给节点C。
由于节点C识别出新参加成员不是其子孙节点,则节点C将其父节点(节点B)设为新GC。节点C停止进一步传输GCUD消息。节点C将GCUD ACK消息发至其父节点。一旦接收到GCUD ACK消息,节点B生成MRT并更新生成的MRT的信息。节点C也更新其MRT。
3.离开组播群组1)叶GM将LREQ消息发至其父节点以请求离开组播群组。一旦接收到LREQ消息,父节点将是GM或MR的子节点的数量减1并将LREP消息发至叶GM。
2)若发送LREP消息的MR的状态是沿组播簇树的叶节点,则MR也将LREQ消息发至其父节点。MR的父节点将LREP消息发至MR并将是GM或MR的子节点的数量减1。
3)因节点离开组播群组,是组播群组的叶节点的MR停止进一步传输接收到的数据分组。
4)若不充当GC作用的GC因节点离开组播群组而仅有1个GM或MR子节点,则GC发送GCUD消息。一旦接收到GCUD消息,GM扮演新GC作用。GC发送指示GC变成ZC的GCUD ACK消息。
5)一旦接收到GCUD消息,MR对是GM或MR的子节点的数量进行计数。若是GM或MR的子节点的数量至少为2,则MR充当新GC。MR将指示GC的变化的GCUD ACK消息发至ZC。若是GM或MR的子节点的数量是1,则MR将GCUD ACK消息发至是GM或MR的子节点。
6)当离开组播群组的GM没有任何是GM或MR的子节点时,GM删除MRT。在离开组播群组的GM有至少1个是GM或MR的子节点的情形下,GM充当MR。
7)若全部是GM或MR的子节点都离开了组播群组,则MR(父节点)删除MRT。
4.数据分组传输机制图10描绘了将数据分组分发至根据本发明的第3示范实施例的组播群组。
当有数据分组要分发至组播群组时,节点J将数据分组单播至节点H(S1000)。节点H将接收到的数据分组单播至节点C(S1002)。是GC的节点C不将接收到的数据分组单播至ZC,而是将数据分组广播至其子节点(节点D、H和L)。
从节点C接收数据分组的节点L将数据分组发至比其高的层。具有是GM或MR的子节点的节点L重播数据分组(S1006)。
一旦接收到数据分组,是MR的节点M不将数据分组转发给比其高的层。由于节点M具有是GM或MR的子节点,故节点M重播数据分组(S1008)。接收数据分组的节点N将数据分组转发给比其高的层、而不重播数据分组,因为节点N是叶节点。节点O丢弃接收到的数据分组。
同理,节点D和H与节点L进行同样的操作,于是为了简便起见而省略了其说明。下面解释不是GC的子孙节点的节点P生成欲分发的数据分组。
想将数据分组发送至组播群组的节点将数据分组单播至ZC(节点A)。当有数据分组欲分发至组播群组时,节点P将数据分组单播至节点B(S1010)。节点B将接收到的数据分组单播至节点A(S1012)。一旦接收到数据分组,节点A将数据分组转发给节点B,以将数据分组发送至是GC的节点C(S1014)。节点B将接收到的数据分组转发给节点C(S1016)。为了简明起见而省略了以后的操作。
以下对将多个数据分组从同一源节点发送至组播群组做出说明。特别地,对从不是GC的子孙节点的节点发送数据分组做出说明。
一旦接收到数据分组,是GC的节点C沿着簇树而将代理发现数据分组发至节点A。代理发现数据分组含有源节点地址和组播群组地址。节点A可生成代理发现数据分组并遵循簇树而将其发至节点C。
来自节点C的代理发现数据分组被发送至节点A,直到源节点和以GC作为子孙节点的祖先节点(ancestor node)接收到代理发现数据分组。换言之,节点B是以源节点(节点D)和节点C(GC)作为子孙节点的祖先节点。此后,节点B充当代理节点。节点B生成暂时路由表格。暂时路由表格含有组播群组地址、GC地址、到期时间和源节点地址。
节点B不将从节点C接收到的数据分组转发给节点A,而是使用暂时路由表格将数据分组直接交给节点C。
如上所述,本发明的第1示范性实施例不是利用组播路由器表格而是位图,于是减少了内存空间。由于组播数据分组仅发送至形成组播群组的节点,故可迅速分发数据分组。此外,防止了数据的雷同传输,以减少各节点的负荷。本发明的第2示范性实施例对子孙节点的数量而不是路由器表格进行计数,于是减少了内存空间。由于仅接收来自父节点的数据分组,故防止了雷同的数据分组传输。根据本发明的第3示范性实施例,使用1字节的MRT以节省内存空间,并从父节点接收数据分组以防止雷同的数据分组传输。进而,对组播群组进行实时的更新以确保组播群组的最小尺寸。
尽管说明了本发明的示例实施例,但本领域技术人员一旦掌握了基本的发明要领,则可以对示范性实施例进行各种变形和修改。因此,所附权利要求书应被理解为意在既涵盖以上示范性实施例、也涵盖落入本发明的主旨和范围内的全部变动和修改。
权利要求
1.一种管理包括多个节点的ZigBee网络的方法,所述方法包括以下步骤生成包括所述多个节点中至少2个节点的组播群组;和在形成所述组播群组的至少两个节点中设定管理所述组播群组的组播群组协调器(GC)。
2.根据权利要求1所述的方法,其中所述组播群组包括至少一个GC、请求参加所述组播群组的组播群组成员(GM)、和把GM相互链接或链接所述GC和所述GC的组播路由器(MR)。
3.根据权利要求2所述的方法,其中所述GC将形成所述组播群组的所述节点的其他节点设为具有子孙节点的祖先节点。
4.根据权利要求2所述的方法,其中向形成所述组播群组的所述节点分配组播群组地址。
5.根据权利要求2所述的方法,其中所述ZigBee网络包括ZigBee网络协调器(ZC)和链接所述ZC和所述GC的从属组播路由器(MR′)。
6.根据权利要求5所述的方法,其中当所述MR请求参加所述组播群组时所述MR将其状态变成GC。
7.根据权利要求5所述的方法,其中当所述ZC或所述MR′请求参加所述组播群组时所述ZC或所述MR′将其状态变成GC并将指示GC的改变的GC更新(GCUD)消息发至当前的GC。
8.根据权利要求5所述的方法,其中是非组播群组成员的第一节点将参加请求(JREQ)消息发至是第一节点的父节点的第一父节点以请求参加所述组播群组。
9.根据权利要求8所述的方法,其中若接收到所述JREQ消息的第一父节点是GM、MR、GC或MR′,则所述第一父节点将包含组播群组地址的参加应答(JREP)消息发至发出所述JREQ消息的所述第一节点。
10.根据权利要求8所述的方法,其中若接收到所述JREQ消息的第一父节点是非组播群组成员,则所述第一父节点将接收到的JREQ消息发至是第一父节点的父节点的第二父节点,将从第二父节点接收的JREP消息发至第一节点,并将其状态变成MR。
11.根据权利要求10所述的方法,其中若接收到所述JREQ消息的父节点是ZC,则所述ZC指示所述第一节点将其状态改变成GC。
12.根据权利要求5所述的方法,其中如果请求离开所述组播群组的GM是所述组播群组的叶节点,则所述GM将其状态变成非组播群组成员,而如果所述GM不是所述叶节点,则所述GM将其状态变成MR。
13.根据权利要求12所述的方法,其中如果父节点是MR并且是因子节点的离开而成为的所述组播群组的叶节点,则所述MR离开所述组播群组。
14.根据权利要求12所述的方法,其中如果具有因子节点的离开而成的是GM或MR的子节点的所述GC不同时充当GM,则所述GC放弃作为所述GC的状态。
15.根据权利要求14所述的方法,其中所述GC发送指示将所述GC变成是GM或MR的子节点的GC更新(GCUD)消息。
16.根据权利要求15所述的方法,其中如果接收到所述GCUD消息的节点是GM,则所述节点将所述GM变成GC,而如果接收到所述GCUD消息的所述节点是MR,则所述节点对是GM或MR的子节点的数量进行计数。
17.根据权利要求16所述的方法,其中如果是GM或MR的子节点的数量至少是2个,则接收到所述GCUD消息的MR将其状态变成GC,而如果是GM或MR的子节点仅有1个,则所述MR将其状态变成非组播群组成员,并将所述GCUD消息发至所述子节点。
18.根据权利要求2所述的方法,其中形成所述组播群组的所述节点存储位图,其是这样的信息其涉及形成直接链接所述节点的组播群组的节点。
19.根据权利要求18所述的方法,其中所述位图标记了父节点和在多个子节点中形成所述组播群组的节点。
20.根据权利要求2所述的方法,其中接收包含组播群组地址的数据分组的GM仅在所述数据分组是从父节点或子节点接收到时、才将所述数据分组发至更高层。
21.根据权利要求2所述的方法,其中接收包含组播群组地址的数据分组的GC或MR′当所述数据分组是在所述组播群组中沿组播簇树从子节点接收到时才丢弃所述数据分组。
22.根据权利要求2所述的方法,其中形成所述组播群组的节点存储涉及所分发的数据分组的信息。
23.根据权利要求22所述的方法,其中涉及所述分发的数据分组的所述信息包括组播群组地址、源地址和顺序号。
24.根据权利要求2所述的方法,其中形成所述组播群组的节点选择父节点和子节点以处理所分发的数据分组,并将所述数据分组与涉及所述选择的父节点和子节点的信息一同发送。
25.根据权利要求2所述的方法,其中形成所述组播群组的节点将发送所述数据分组的所述节点的地址和接收到的数据分组一同发送。
26.根据权利要求2所述的方法,其中形成所述组播群组的节点存储是GM或MR的子孙节点的数量。
27.根据权利要求26所述的方法,其中请求参加所述组播群组的非组播群组节点将参加请求(JREQ)消息沿所述簇树发至所述ZigBee(ZC)。
28.根据权利要求27所述的方法,其中接收到所述JREQ消息的所述ZC确定新GC,而如果所述新GC与所述当前的GC不同则将指示所述GC改变的GC更新(GCUD)消息发送至当前的GC和所述新GC。
29.根据权利要求27所述的方法,其中从所述ZC接收允许所述参加的参加应答(JREP)消息的中间节点将是GM或MR的子孙节点的数量加1。
30.根据权利要求26所述的方法,其中请求离开所述组播群组的GM沿着所述簇树而将离开请求(LREQ)消息发至所述ZC。
31.根据权利要求30所述的方法,其中接收到所述LREQ消息的所述ZC确定新GC,而如果所述新GC与所述当前的GC不同则将指示所述GC改变的GCUD消息发送至当前的GC和所述新GC。
32.根据权利要求30所述的方法,其中从所述ZC接收允许所述离开的离开应答(LREP)消息的中间节点将是GM或MR的子孙节点的数量减1。
33.根据权利要求30所述的方法,其中请求离开所述组播群组并接收到离开应答(LREP)消息的GM当是GM或MR的子节点的数量至少是1时则将其状态变成MR。
34.根据权利要求26所述的方法,其中若有分发至所述组播群组的数据分组,则将所述数据分组发送至ZigBee协调器(ZC)或GC之一。
35.根据权利要求2所述的方法,其中形成所述组播群组的所述节点存储是GM或MR的子节点的数量。
36.根据权利要求35所述的方法,其中发送从请求参加所述组播群组的节点接收到的参加请求(JREQ)消息到其它节点,直到所述JREQ消息到达形成所述组播群组的节点或ZigBee协调器(ZC)。
37.根据权利要求36所述的方法,其中形成所述组播群组并接收所述JREQ消息的所述节点将是GM或MR的子节点的数量加1。
38.根据权利要求36所述的方法,其中接收所述JREQ消息的所述ZC当所述新GC与所述当前的GC不同时则将指示所述GC改变的GC更新(GCUD)消息发送至新GC和当前的GC。
39.根据权利要求36所述的方法,其中节点接收到所述GC更新(GCUD)、所述GC更新消息是从接收所述JREQ消息的所述ZC顺序发至所述GC的,该节点包含有新参加节点的地址,而如果所述请求的节点不是子孙节点则指示所述GC的改变、并将父节点确定为新GC。
40.根据权利要求35所述的方法,其中发送来自请求参加所述组播群组的节点的参加请求(JREQ)消息,直到所述JREQ消息到达形成所述组播群组的节点或ZigBee协调器(ZC)。
41.根据权利要求36所述的方法,其中在所述组播群组中发送所述离开应答(LREP)的节点将是GM或MR的子节点的数量减1。
42.根据权利要求41所述的方法,其中GC因所述节点的离开组播群组而具有1个是GM或MR且不充当GM的子节点,该GC将指示所述GC改变的GC更新(GCUD)消息发送至所述子节点。
43.根据权利要求42所述的方法,其中如果接收所述GCUD消息的MR具有至少2个是GM或MR的子节点,则所述MR充当GC。
44.根据权利要求35所述的方法,其中若有分发至所述组播群组的数据分组,则将所述数据分组发送至ZigBee协调器(ZC)或GC之一。
45.根据权利要求44所述的方法,其中若有至少2个数据分组应从不是所述GC的子孙节点的源节点分发至所述组播群组,则确定具有所述源节点和所述GC为子孙节点的祖先节点。
46.根据权利要求45所述的方法,其中所述源节点将所述数据分组发至所述祖先节点。
全文摘要
本发明涉及一种管理ZigBee网络中某些多个节点的方法。在含多个节点的ZigBee网络中,生成含多个节点中至少2个节点的组播群组。在形成组播群组的节点中设定管理组播群组的组播群组协调器(GC)。组播群组由GC、请求参加组播群组的组播群组成员(GM)、和/或相互链接GM或链接GC和GC的组播路由器(MR)组成。因而,由于GC管理组播群组,故降低了负荷并增强了数据分组传输速率。
文档编号H04J3/26GK1819545SQ20051000795
公开日2006年8月16日 申请日期2005年2月4日 优先权日2004年2月12日
发明者林裕真, 李明钟, 胡旭晖, 刘勇, 朱春晖 申请人:三星电子株式会社, 纽约城市大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1