网络快速邻居发现机制的组管理方法及系统的制作方法

文档序号:7799834阅读:133来源:国知局
网络快速邻居发现机制的组管理方法及系统的制作方法
【专利摘要】本发明涉及网络快速邻居发现机制的组管理方法,包括以下步骤:1.两个节点互相发现,构成一个节点组,分别为主、从节点;2.主节点为从节点分配新的相位;3.主节点将从节点的相位保存在潜在邻居确认列表中;4.组发现一个新节点;如果是主节点,执行步骤6;否则,执行步骤5;5.从节点将主节点相位发送给新节点;6.判断组内相位是否已满或此新节点是否属于其他组;如果是,该新节点为普通节点,执行步骤4;否则,继续;7.主节点为新的从节点分配适当的相位;8.主节点将从节点的相位保存在潜在邻居确认列表中;9.主节点确认从节点是否为其邻居。本发明当组内任一节点发现邻居时,组内其他节点也可快速的发现该邻居。
【专利说明】网络快速邻居发现机制的组管理方法及系统
【技术领域】
[0001]本发明涉及一种组管理方法,尤其涉及一种基于多节点协作的网络快速邻居发现机制的组管理方法。
【背景技术】
[0002]邻居发现是无线传感器网络与无线个域网领域很重要的研究点,一般通过邻居发现用于发现通信机会。能量问题始终是无线传感器节点及无线个域网设备应用中的一个重要问题。众所周知,无线通信模块是无线设备中的最耗能的模块。因此,休眠调度机制是无线传感器节点及无线个域网设备中延长设备使用寿命最常用、最有效的机制之一。所谓休眠调度机制就是让节点交替处于“工作-休眠-工作”的节能技术。而在一些动物跟踪监测项目和军事项目中,人们不得不采用低占空比技术、甚至超低占空比技术节省能量,t匕如:让节点在1%的时间处于苏醒状态,其余99%的时间处于休眠状态。
[0003]低占空比的休眠调度技术是目前自组织网络节省能量的最重要技术之一,它能将系统的生命期延长数倍到数十倍。而低占空比技术却带来了一个难题——即各自按照自己的工作时间表异步地“工作-休眠-工作”的两个移动节点,它们可能在物理相遇时,根本无法相互发现。这就要求精心设计邻居发现算法,以实现高效的邻居发现。这种情形在移动场景下及超低占空比的机制下会显得尤为严重。
[0004]假设在以下的场景下,在一个较大的区域内,存在很多移动节点,这些节点可以是诸如手机之类的设备,这些节点具有短距离无线通信能力(如配备WiFi, ZigBee, BlueTooth模块等),可以实现节点间的通信,这些节点可以随着人的移动而移动。这些节点都是采用休眠调度的方式进行工作。问题是:如何保证两个节点无论在何时出现都可以保证在同一个时槽内醒来并通信。
[0005]在休眠调度中,时间被分成连续的时隙,每个时隙是最小的调度单元。每个时隙内存在两种可能的状态:活跃状态(Active)和休眠状态(Inactive)。当处于活跃状态的时隙时,设备打开其无线模块,进行消息的发送及对信道的监听。而在休眠状态,设备无法进行任何与无线通信相关的操作,即便其他设备在此时隙内发送了消息,该设备也无法知道。这两种状态以特定的次序更替,组成了调度序列(Duty Cycle Pattern)。如图1所示,调度序列由O和I组成,其中数值I表示活跃状态,数值O表示休眠状态。移动终端设备按照以上调度序列中状态的顺序依次完成状态的转换。在一个调度周期内,每个时隙的序号成为休眠调度序列的索引。随着设备的运行,在任一时刻,设备都会处在休眠调度序列的某一个索引的位置,该位置称之为相位(Phase)。相位的数目与休眠调度序列在一个周期内的时隙的数目相同。
[0006]能量效率一般使用一个周期内活跃时隙数目占总时隙的比例来表示。例如图1,该示例的占空比为6/12,即节省了(12-6)/12比例的能量。若使用更低占空比的调度序列,则将节省更多的能量。
[0007]按照不同设备是否采用相同的休眠调度序列,可以将休眠调度协议分为两类:对称的休眠调度协议与非对称的休眠调度协议。系统中,所有设备采用相同的休眠调度序列称之为对称的休眠调度协议;反之,不同的设备可根据一定的规则独立地选取调度序列则称之为非对称休眠调度协议。在分布式系统中由于缺少全局信息,采用非对称的休眠调度协议难以协调,很难保证其最差发现时延,主要研究对称的休眠调度协议。低功耗的邻居发现即是利用了休眠调度协议的邻居发现协议。
[0008]根据系统中的设备是否需要全局同步的时钟,邻居发现协议又可分为:异步邻居发现和同步邻居发现。
[0009]异步的邻居发现协议设计目标是,无论设备在何时启动、两个设备在通信范围内的相位相差多少,总能够在可知的最坏时延范围内相互发现。以图1为例,设备S、A、B分别在全局时间1、2、3启动休眠调度,然而它们总能在最差12个时隙的时延内相互发现。异步邻居发现协议弱化了对时间同步的要求,使得协议更加简单、可靠。
[0010]当处于通信范围内的两个设备在同一全局时间维度上,同时处于活跃状态时,SP被称作发现。因为活跃状态中,两个设备至少有一个处于监听状态,可以接收到另一个节点发出的消息。如图1所示,如果设备S和A在彼此的通信范围内,那么它们在全局时间的第4个时隙能够相互发现。
[0011]因为后面的工作需要用到经典的Disco协议,这里先对Disco协议作简单的介绍。Disco协议是一种异步的邻居发现协议,其通过选择两个互素的数来生成休眠调度序列:若休眠调度序列中时槽的索引值为这两个互素数中任意一个的倍数,则标记该时隙为活跃状态,否则为休眠状态。两个互素数的乘积就是休眠调度的周期T,也就是保证邻居发现的
最差时延。
[0012]图1给出了 Disco协议休眠调度序列产生的简单示例。选定数字3和4为互素数对,则其周期为3*4=12。图中”Pattern”行给出了休眠调度序列,其中索引值3、4、6、8、9、12是互素数3或4的倍数,因此被标记为活跃状态。三个设备分别为S、A和B,虽然三个设备分别拥有各自的时间,然而它们总能在一个足够长的时间内拥有重叠的活跃时隙,进而实现互相发现。图中,设备S能够在第4个和第9个时隙发现设备A,而在第6个和第8个时隙时发现设备B。当无线移动节点在移动时或者在具有休眠调度机制的无线网络中,两个移动节点如果有数据发送,则需要首先能够发现周围能够进行通信的邻居。

【发明内容】

[0013]本发明所要解决的技术问题是,针对现有技术的不足,提供一种基于多节点协作的网络快速邻居发现机制的组管理方法及系统。
[0014]本发明解决上述技术问题的技术方案如下:网络快速邻居发现机制的组管理方法,具体包括以下步骤:
[0015]步骤1:两个处于散兵状态的节点互相发现时,构成一个节点组,随机对两个节点分配组ID,将组ID值小的节点命名为主节点,另一个命名为从节点;
[0016]步骤2:主节点为从节点计算、选择和分配适当的相位,从节点按照被分配的相位运行;
[0017]步骤3:主节点将从节点的相位保存在潜在邻居确认列表中,从节点记录保存主节点的相位;[0018]步骤4:节点组发现一个新节点,判断是主节点还是从节点发现新节点;如果是主节点,执行步骤6 ;否则,执行步骤5 ;
[0019]步骤5:从节点将主节点相位发送给新节点,执行步骤6 ;
[0020]步骤6:判断节点组内相位是否已满或此新节点是否属于其他节点组;如果是,该新节点不能成为组内从节点,该新节点为普通节点,返回执行步骤4 ;否则,执行下一步;
[0021]步骤7:主节点为该新节点计算、选择和分配适当的相位,该新节点成为组内从节点,从节点按照被分配的相位运行;
[0022]步骤8:王节点将从节点的相位保存在潜在邻居确认列表中,并将邻居确认列表发送到从节点,从节点记录保存主节点的相位和主节点发送的邻居确认列表,执行步骤9 ;
[0023]步骤9:主节点每间隔设定时间确认一次潜在邻居确认列表中的从节点是否为其邻居,如果是,潜在邻居确认列表不变化,结束;否则,在邻居确认列表中删除不是主节点邻居从节点,使不是主节点邻居的从节点变为普通节点,执行步骤4。
[0024]本发明的有益效果是:本发明实现了,当组内任一节点发现邻居时,组内其他节点也可快速的发现该邻居;通过选取最优的相位差组合,达到最优化发现时延的目的,利用多设备的协作,降低现有其他邻居发现策略的发现时延。
[0025]在上述技术方案的基础上,本发明还可以做如下改进。
[0026]进一步,所述可以无限通信的采用休眠调度机制的节点同时处于活跃状态,表示此两个节点互相发现。
[0027]进一步,所述步骤9中当主节点确认组内所有从节点都不是主节点的邻居时,主节点从邻居确认列表中删除所有从节点,并且主节点删除组ID,主节点变为普通节点。
[0028]进一步,所有节点只能加入一个节点组,所述普通节点处于散兵状态。
[0029]进一步,所述潜在邻居确认列表记录了已经发现的该节点组内所有从节点的相位执行“或”操作后的结果,该列表有助于降低新发现的新节点发现组内已发现邻居的时延,该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。
[0030]采用上述进一步方案的有益效果是,由于节点之间的邻居关系并不具备传递性且节点具有移动性等原因,该列表中的邻居不一定是真的邻居,因此,需要从节点在这些时隙中醒来确认。
[0031]本发明解决上述技术问题的技术方案如下:网络快速邻居发现机制的组管理系统,包括:组构成模块、相位分配模块、相位保存模块、从节点发现模块、主节点发现模块和组维护模块;
[0032]所述组构成模块用于两个处于散兵状态的节点互相发现时,构成一个节点组,随机对两个节点分配组ID,将组ID值小的节点命名为主节点,另一个命名为从节点;
[0033]所述相位分配模块用于主节点为从节点计算、选择和分配适当的相位,从节点按照被分配的相位运行;
[0034]所述相位保存模块用于主节点将从节点的相位保存在潜在邻居确认列表中,从节点记录保存主节点的相位和主节点发送的邻居确认列表;
[0035]所述从节点发现模块用于从节点将主节点相位发送给新节点,新节点按照主节点相位醒来发现主节点,将新节点相位发送至主节点;
[0036]所述主节点发现模块用于主节点发现新节点,将新节点相位发送到相位分配模块;
[0037]所述组维护模块用于主节点每间隔设定时间确认一次潜在邻居确认列表中的从节点是否为其邻居,如果是,潜在邻居确认列表不变化,结束;否则,在邻居确认列表中删除不是主节点邻居从节点,使不是主节点邻居的从节点变为普通节点。
[0038]在上述技术方案的基础上,本发明还可以做如下改进。
[0039]进一步,所述可以无限通信的采用休眠调度机制的节点同时处于活跃状态,表示此两个节点互相发现。
[0040]进一步,所述组维护模块中当主节点确认组内所有从节点都不是主节点的邻居时,主节点从邻居确认列表中删除所有从节点,并且主节点删除组ID,主节点变为普通节点。
[0041]进一步,所有节点只能加入一个节点组,所述普通节点处于散兵状态。
[0042]进一步,所述潜在邻居确认列表记录了已经发现的该节点组内所有从节点的相位执行“或”操作后的结果,该列表有助于降低新发现的新节点发现组内已发现邻居的时延,该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。
[0043]采用上述进一步方案的有益效果是,由于节点之间的邻居关系并不具备传递性且节点具有移动性等原因,该列表中的邻居不一定是真的邻居,因此,需要从节点在这些时隙中醒来确认。
[0044]在实际应用中,不同个体所携带的移动设备是相互独立的,所有设备很难获得具有足够精度的统一全局时钟,因此本专利主要涉及异步的邻居发现协议。
【专利附图】

【附图说明】
[0045]图1为现有技术中邻居发现机制示意图;
[0046]图2为本发明所述的网络快速邻居发现机制的组管理方法流程图;
[0047]图3为本发明所述的网络快速邻居发现机制的组管理系统结构框图;
[0048]图4为周期为15的休眠调度序列及相位集列表;
[0049]图5为不同相位组合的相互发现时延列表;
[0050]图6为相位为15和10的两个节点组合发现其他相位节点时的时延列表;
[0051]图7为相位为15和I的两个节点组合发现其他相位节点时的时延列表。
[0052]附图中,各标号所代表的部件列表如下:
[0053]1、组构成模块,2、相位分配模块,3、相位保存模块,4、从节点发现模块,5、主节点发现模块,6、组维护模块。
【具体实施方式】
[0054]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0055]如图3所示,网络快速邻居发现机制的组管理方法,具体包括以下步骤:
[0056]步骤1:两个处于散兵状态的节点互相发现时,构成一个节点组,随机对两个节点分配组ID,将组ID值小的节点命名为主节点,另一个命名为从节点;
[0057]步骤2:主节点为从节点计算、选择和分配适当的相位,从节点按照被分配的相位运行;
[0058]步骤3:主节点将从节点的相位保存在潜在邻居确认列表中,从节点记录保存主节点的相位;
[0059]步骤4:节点组发现一个新节点,判断是主节点还是从节点发现新节点;如果是主节点,执行步骤6 ;否则,执行步骤5 ;
[0060]步骤5:从节点将主节点相位发送给新节点,执行步骤6 ;
[0061]步骤6:判断节点组内相位是否已满或此新节点是否属于其他节点组;如果是,该新节点不能成为组内从节点,该新节点为普通节点,返回执行步骤4 ;否则,执行下一步;
[0062]步骤7:主节点为该新节点计算、选择和分配适当的相位,该新节点成为组内从节点,从节点按照被分配的相位运行;
[0063]步骤8:王节点将从节点的相位保存在潜在邻居确认列表中,并将邻居确认列表发送到从节点,从节点记录保存主节点的相位和主节点发送的邻居确认列表;
[0064]步骤9:主节点每间隔设定时间确认一次潜在邻居确认列表中的从节点是否为其邻居,如果是,潜在邻居确认列表不变化,结束;否则,在邻居确认列表中删除不是主节点邻居从节点,使不是主节点邻居的从节点变为普通节点,执行步骤4。
[0065]所述可以无限通信的采用休眠调度机制的节点同时处于活跃状态,表示此两个节点互相发现。
[0066]所述步骤9中当主节点确认节点组内所有从节点都不是主节点的邻居时,主节点从邻居确认列表中删除所有从节点,并且主节点删除组ID,主节点变为普通节点。
[0067]所有节点只能加入一个节点组,所述普通节点处于散兵状态。
[0068]所述潜在邻居确认列表记录了已经发现的该节点组内所有从节点的相位执行“或”操作后的结果,该列表有助于降低新发现的新节点发现组内已发现邻居的时延,该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。
[0069]由于节点之间的邻居关系并不具备传递性且节点具有移动性等原因,该列表中的邻居不一定是真的邻居,因此,需要从节点在这些时隙中醒来确认。
[0070]如图3所示,网络快速邻居发现机制的组管理系统,包括:组构成模块1、相位分配模块2、相位保存模块3、从节点发现模块4、主节点发现模块5和组维护模块6 ;
[0071]所述组构成模块I用于两个处于散兵状态的节点互相发现时,构成一个节点组,随机对两个节点分配组ID,将组ID值小的节点命名为主节点,另一个命名为从节点;
[0072]所述相位分配模块2用于主节点为从节点计算、选择和分配适当的相位,从节点按照被分配的相位运行;
[0073]所述相位保存模块3用于主节点将从节点的相位保存在潜在邻居确认列表中,从节点记录保存主节点的相位和主节点发送的邻居确认列表;
[0074]所述从节点发现模块4用于从节点将主节点相位发送给新节点,新节点按照主节点相位醒来发现主节点,将新节点相位发送至主节点;
[0075]所述主节点发现模块5用于主节点发现新节点,将新节点相位发送到相位分配模块;
[0076]所述组维护模块6用于主节点每间隔设定时间确认一次潜在邻居确认列表中的从节点是否为其邻居,如果是,潜在邻居确认列表不变化,结束;否则,在邻居确认列表中删除不是主节点邻居从节点,使不是主节点邻居的从节点变为普通节点。
[0077]所述可以无限通信的采用休眠调度机制的节点同时处于活跃状态,表示此两个节点互相发现。
[0078]所述组维护模块6中当主节点确认节点组内所有从节点都不是主节点的邻居时,主节点从邻居确认列表中删除所有从节点,并且主节点删除组ID,主节点变为普通节点。
[0079]所有节点只能加入一个节点组,所述普通节点处于散兵状态。
[0080]所述潜在邻居确认列表记录了已经发现的该节点组内所有从节点的相位执行“或”操作后的结果,该列表有助于降低新发现的新节点发现组内已发现邻居的时延,该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。由于节点之间的邻居关系并不具备传递性且节点具有移动性等原因,该列表中的邻居不一定是真的邻居,因此,需要从节点在这些时隙中醒来确认。
[0081]针对以上问题,本发明的目的在于提供一种适用于多节点协作邻居发现的组管理协议。组管理协议的设计目的是为了达到:当组内任一节点发现邻居时,组内其他节点也可快速的发现该邻居。
[0082]通过对现有邻居发现协议研究发现,当两个设备处于不同的相位组合时,其发现时延不同;若多个设备分配不同的相位进行邻居发现,其中任意一个设备发现了邻居可视为该邻居被发现,则其发现时延比单个设备进行发现要小的多。
[0083]利用了以上两点观察现象,设计了 LARES协议,基于组的快速邻居发现机制。其基本思想为:给一组设备分配适当的相位来共同发现未知邻居,通过选取最优的相位差组合,达到最优化发现时延的目的。LARES协议不局限于特定的休眠调度序列,可看做是一种中间件技术,能够选取相位差的最优组合,利用多设备的协作,降低现有其他邻居发现策略的发现时延。虽然,LARES协议可以支持多种休眠调度序列,为了容易理解,选取上文介绍的经典的Disco协议为例阐述算法的基本思想。
[0084]本例中,首先选取两个互素的数对为3和5,则休眠调度序列如图4中第一行所示。如前所述,表中元素的值代表每个时隙内的状态:活跃状态或休眠状态。图4中的所有行构成了在任意时刻该休眠调度序列的可能处于的所有运行状态,即15种所有可能的相位的集合。在任一特定时刻t,任一设备都将处于其中的某一个相位。第i行表示第i个相位,代表其与在原休眠调度序列相差i个时隙。列的值表示休眠调度序列的相对时间。
[0085]由于全局的时间通常是无意义的,主要采用相对时间来说明。两个设备间的发现时延由当前时刻各自的相位决定。两个设备所有可能存在的相位组合的发现时延在表图5中全部列出,图中第i行第j列的值表示当两个设备在某一时刻的相位分别是i和j时,其发现时延的值。例如,d(i,j)的值10,意味着在10个时隙后处于第5相位的某个设备能够发现处于第6相位的设备。由此表可以看出,当两个设备处于不同相位组合时,时延的变化很大,这也就是所述的能够通过相位差的选择减少发现时延的依据。
[0086]下面将简单地介绍基于组的快速邻居发现的过程:首先,假定存在两个设备S和A,并在彼此的通信范围之内,在某一时刻设备S处于相位15。由于分布式设备异步的特性,设备A可能处于15个相位中的任意一个。则设备S可以计算出任意相位的设备A的时延,结果在图5的第15行给出。从结果可以看出,当设备A处于不同的相位时,发现时延是不相同的。如果设备A在第8相位时则发现时延最大,达到11个时隙;若设备处于第3、5、6相位时则发现时延最小,为I个时隙。因为设备A处于每个相位的概率是相等的,因此通过以下公式可计算得到期望发现时延为4.07个时隙。
[0087]继续考虑3个设备的情形,设备S、A、B在彼此的通信范围内。此时,设备S和A已经相互发现,它们将协作共同来发现设备B。一旦设备S和A中的任意一个发现了 B,则B也能够以很小的代价和时延被另一个设备发现。为了体现设备S和A是一个组合,因此可以将S和A看做一个虚拟设备C,则设备C可看做拥有一个新的休眠调度序列,该序列是通过对设备S和A的相应相位休眠调度序列进行 ''或’ ’操作得到的。假设,此时设备S和A分别处于第15相位和第10相位,如图6前2行所示,虚拟设备C的新的休眠调度序列如表中第3行所示。当设备B处于不同的相位时,虚拟设备C的发现时延在表中第4行列出。通过计算可知,其期望发现时延为4.1个时隙。在图7所示的另一个例子中,设备S和A分别处于第15相位和第I相位,则其期望时延减少至2.4个时隙。由此可见,不同的相位组合导致了不同的期望发现时延。如果设备S和A的相位能够以最优化的方式选取和分配,那么期望时延可以被极大地降低。
[0088]组管理协议中的角色划分
[0089]在组管理协议中存在3种角色:主设备(Master device)、从设备(Secondarydevice)、普通设备(General device)。三种设备担任的职责不同,下面将--介绍。
[0090]每个组中只有一个主设备,它负责为从设备计算、选择和分配适当的相位。主设备还维护着潜在邻居确认列表,用以加速组内其他成员邻居发现速度。
[0091]组内从设备的最大数量依赖于休眠调度序列的占空比,占空比越低,则可以容纳的从设备越多。从设备只能属于一个组,其运行过程中的相位由主设备分配,从设备的主要任务是当发现新的邻居时, 将主设备的相位提供给新发现的设备。所有新发现的邻居都应与主设备至少通信一次。
[0092]普通设备在以下两种情形下产生:组内的从设备的数量已经足够,或者此设备已经是其它组中的从设备。需要注意的是,主设备和从设备属于同一个组。而普通设备可以不只属于一个组,其不需要承担组内发现邻居的职责,只是需要将其相位信息加入至每个所属组中主节点的潜在邻居确认列表中。
[0093]这里术语“普通(general)”只是为了与主设备和从设备区分开来,指的是该设备不是这个组的主设备,也不是其从设备。
[0094]组的初始化
[0095]为了更清晰地描述组管理协议初始化的过程,本节以单个设备为对象进行论述。
[0096]对于某一个特定的设备来说,在其被其他设备发现之前,按照预先设定的休眠调度序列运行,这种状态称之为散兵状态。当与另一个处于散兵状态的设备互相发现时,它们将决定谁是主设备,并随机选择组ID。主节点的选择问题类似于被广泛研究的簇头选择问题。由于设备间不存在功能上的差异性,只需解决其中的冲突问题即可。采用最简单的方式,如比较设备的ID的大小。
[0097]为了方便描述,主设备标记为S,另一设备标记为A。当确定了主设备后,主设备的运行相位不会发生改变。然后,主设备会执行最优化相位差组合选择算法,选择合适的相位差,并分配对应的相位给设备A。如果设备A不接受主设备的分配,A将成为普通设备,A仍按照自己的休眠调度序列运行。否则,A将成为该组中的从设备,按照被分配的相位运行。[0098]然后,设备A的相位保存在主设备维护的潜在邻居确认列表中,同时主设备S的相位也被节点A保存。至此,设备S和A组成一个组维护相同的组ID,共同发现其他邻居。
[0099]基于组发现更多的邻居
[0100]当该组共同发现第3个设备B时,此时存在两种可能:被主设备S发现,或被从设备A发现。如果设备B被主设备发现,其过程与上面类似,除执行以上操作外,主设备需要将潜在邻居确认列表发送给设备B,在本例中潜在邻居确认列表包含从设备A的相位信息。潜在邻居确认列表记录了已经发现的该组内所有成员的相位执行“或”操作后的结果,该列表有助于降低新发现的设备发现组内已发现邻居的时延。该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。由于设备的邻居关系并不具备传递性且设备具有移动性等原因,该列表中的邻居不一定是真的邻居,因此,需要设备在这些时隙中醒来确认。
[0101]如果是第二种情形,设备B被设备A发现,则B将从A那里获得主设备的相位,并在主设备下次活跃的时隙醒来确认它们的邻居关系。如果设备B和S在此时隙能相互发现,将重复第一种情形中主设备发现新设备B的操作。如果不能互相发现,则表明它们不是邻居,设备B不能成为该组的成员。然后设备B按照原来的休眠调度序列运行,以散兵模式发现其他邻居。
[0102]更多的邻居发现也是以上两种情形的重现,通过以上步骤将可以发现更多的设备。
[0103]维护邻居列表
[0104]由于设备是移动的,它们的邻居关系也不是一直保持不变的。因此,需要周期性地确认、维护潜在邻居确认列表,保证其新鲜性。
[0105]主节点周期性地确认潜在邻居列表中的设备,在确认过程中,如果某一个设备仍是主节点的邻居,则列表没有变化。否则,主设备从潜在邻居确认列表中删除该设备的相关信息。
[0106]而一旦从设备与普通设备在一定的时间内没有与主设备进行互发现,则其自动回到散兵状态,直到被其他邻居再次发现。如果主设备的邻居列表在一轮更新之后,不存在任何邻居节点了,那么主设备将删除组ID,也重新回到散兵状态。
[0107]如前面所述,主设备和从设备仅能加入一个组,除非它们重新回到散兵状态。以这种方式,可以解决多组之间的冲突问题。
[0108]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.网络快速邻居发现机制的组管理方法,其特征在于,具体包括以下步骤: 步骤1:两个处于散兵状态的节点互相发现时,构成一个节点组,随机对两个节点分配组ID,将组ID值小的节点命名为主节点,另一个命名为从节点; 步骤2:主节点为从节点计算、选择和分配适当的相位,从节点按照被分配的相位运行; 步骤3:主节点将从节点的相位保存在潜在邻居确认列表中,从节点记录保存主节点的相位; 步骤4:节点组发现一个新节点,判断是主节点还是从节点发现新节点;如果是主节点,执行步骤6 ;否则,执行步骤5 ; 步骤5:从节点将主节点相位发送给新节点,执行步骤6 ; 步骤6:判断节点组内相位是否已满或此新节点是否属于其他节点组;如果是,该新节点不能成为组内从节点,该新节点为普通节点,返回执行步骤4 ;否则,执行下一步; 步骤7:主节点为该新节点计算、选择和分配适当的相位,该新节点成为组内从节点,从节点按照被分配的相位运行; 步骤8:主节点将从节点的相位保存在潜在邻居确认列表中,并将邻居确认列表发送到从节点,从节点记录保存主节点的相位和主节点发送的邻居确认列表; 步骤9:主节点每间隔设定时间确认一次潜在邻居确认列表中的从节点是否为其邻居,如果是,潜在邻居确认列表不变化,结束;否则,在邻居确认列表中删除不是主节点邻居从节点,使不是主节点邻居的从节点变为普通节点,执行步骤4。
2.根据权利要求1所述的网络快速邻居发现机制的组管理方法,其特征在于,所述可以无限通信的采用休眠调度机制的节点同时处于活跃状态,表示此两个节点互相发现。
3.根据权利要求2所述的网络快速邻居发现机制的组管理方法,其特征在于,所述步骤9中当主节点确认组内所有从节点都不是主节点的邻居时,主节点从邻居确认列表中删除所有从节点,并且主节点删除组ID,主节点变为普通节点。
4.根据权利要求3所述的网络快速邻居发现机制的组管理方法,其特征在于,所有节点只能加入一个节点组,所述普通节点处于散兵状态。
5.根据权利要求1-4任一项所述的网络快速邻居发现机制的组管理方法,其特征在于,所述潜在邻居确认列表记录了已经发现的该节点组内所有从节点的相位执行“或”操作后的结果,该列表有助于降低新发现的新节点发现组内已发现邻居的时延,该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。
6.网络快速邻居发现机制的组管理系统,其特征在于,包括:组构成模块、相位分配模块、相位保存模块、从节点发现模块、主节点发现模块和组维护模块; 所述组构成模块用于两个处于散兵状态的节点互相发现时,构成一个节点组,随机对两个节点分配组ID,将组ID值小的节点命名为主节点,另一个命名为从节点;
所述相位分配模块用于主节点为从节点计算、选择和分配适当的相位,从节点按照被分配的相位运行; 所述相位保存模块用于主节点将从节点的相位保存在潜在邻居确认列表中,从节点记录保存主节点的相位和主节点发送的邻居确认列表; 所述从节点发现模块用于从节点将主节点相位发送给新节点,新节点按照主节点相位醒来发现主节点,将新节点相位发送至主节点; 所述主节点发现模块用于主节点发现新节点,将新节点相位发送到相位分配模块; 所述组维护模块用于主节点每间隔设定时间确认一次潜在邻居确认列表中的从节点是否为其邻居,如果是,潜在邻居确认列表不变化,结束;否则,在邻居确认列表中删除不是主节点邻居从节点,使不是主节点邻居的从节点变为普通节点。
7.根据权利要求6所述的网络快速邻居发现机制的组管理系统,其特征在于,所述可以无限通信的采用休眠调度机制的节点同时处于活跃状态,表示此两个节点互相发现。
8.根据权利要求7所述的网络快速邻居发现机制的组管理系统,其特征在于,所述组维护模块中当主节点确认组内所有从节点都不是主节点的邻居时,主节点从邻居确认列表中删除所有从节点,并且主节点删除组ID,主节点变为普通节点。
9.根据权利要求8所述的网络快速邻居发现机制的组管理系统,其特征在于,所有节点只能加入一个节点组,所述普通节点处于散兵状态。
10.根据权利要求6-9任一项所述的网络快速邻居发现机制的组管理系统,其特征在于,所述潜在邻居确认列表记录了已经发现的该节点组内所有从节点的相位执行“或”操作后的结果,该列表有助于降低新发现的新节点发现组内已发现邻居的时延,该列表可以指导新节点在哪些额外的时隙醒来可能会发现其他节点。
【文档编号】H04W48/18GK103889031SQ201410113992
【公开日】2014年6月25日 申请日期:2014年3月25日 优先权日:2014年3月25日
【发明者】孙利民, 刘伟, 朱红松, 石玲玲 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1