网络节点发现方法和装置制造方法
【专利摘要】公开了一种无线自组织网络中的节点发现方法和装置。所述方法包括:网络中的各节点利用由受信第三方提供的统一信息确定统一的节点发现信道;通过所述统一的节点发现信道寻找节点。通过该节点发现方法,能够快速的发现节点,减少节点发现所花费的时间。
【专利说明】网络节点发现方法和装置
【技术领域】
[0001]本发明总体涉及无线通信网络,具体涉及无线自组织(ad-hoc)网络中的节点发现方法和装置。
【背景技术】
[0002]设备节点发现技术在无线对等网络中有着举足轻重的作用。例如,数据传输速度快,网络连接速度快,网络数据传输安全性高,网络考虑环保因素通常是无线对等网络非常重要的几个特征。而如果网络中的各个节点需要花费较长的时间来寻找其他节点,那么用户体验将随着时间的增长而不断下降。目前为止,已经提出了许多关于无线对等网络的节点发现协议,这些协议大多是利用网络内在的信息来进行节点发现的。
[0003]在专利N0.US8, 233,495B2中,从所有可用的无线信道中选取若干个信道,称为社交信道(Social Channel);无线对等网络中的某一节点选择社交信道中的某个信道作为“发现信道”,以“发现信标”(Discovery Beacon)的形式在该发现信道上发送一个请求;当其他节点接收到该“发现信标”时,首先判断与发起请求的节点关联是否能够获利;如果能够获利,则返回一个回应给发起请求的节点。这样,两个节点就相互发现了对方的存在。然而,在这一专利中,各个节点在选择“发现信道”时是彼此独立的,这将导致各个节点选择不同的“发现信道”,从而发送请求的节点需要扫描所有的社交信道来发现其他节点,这增加了节点发现所花费的时间。
[0004]WiFi联盟的W1-Fi Peer-to-Peer (P2P)技术规范(版本号为1.1)详细描述了一种P2P节点发现过程。这一过程由扫描阶段(Scan Phase)和寻找阶段(Find Phase)组成,其中寻找阶段包括两个状态:监听状态(Listen State)和搜索状态(Search State)。在各节点进入扫描阶段之前,首先从规定的三个社交信道中选择一个作为监听信道(ListenChannel),并且在监听状态中监听这一信道,其中不同的节点可能选择不同的监听信道,并且监听状态的时长是一个随机值。在搜索状态,节点在预定的时长内搜索所有的三个社交信道。如 果没有发现任何其他节点,该节点重新进入监听状态,直到搜索到其他节点或者发现过程超时。监听状态时长为随机值是为了避免出现“锁死”状态,但是由于这一随机性,导致两个节点需要花费较长的时间才能在恰好在同一时刻在同一信道上分别进行监听和搜索,即节点发现所花费的时间较长。
[0005]在专利申请N0.US2007/0171910A1中,无线节点既能发现目标节点,又能完成与目标设备的认证,同时生成会话密钥,组成一个无线Ad-hoc网络。在这一发明中,节点搜索所有可用的无线信道来进行通信操作。众所周知,无线信道的数目很多,例如,在2.4GHz的频段,中国大陆有13个可用信道,欧洲和北美有11个可用信道,日本有14个可用信道。因此,该发明中的搜索过程将会花费较长的时间。
[0006]因此,需要一种快速的节点发现技术,用以减少节点发现所花费的时间。
【发明内容】
[0007]在上述现有技术中,某一节点需要搜索多个无线信道来寻找其他节点,因此需要花费一定的时间两个节点才能在同一时刻处于同一信道上。有鉴于此,本发明人提出各个节点通过利用统一的数据信息直接选择同一信道进行寻找通信,由此减少节点发现所花费的时间。
[0008]根据本发明的一个方面,提供了一种无线自组织网络中的节点发现方法,包括:所述网络中的各节点利用由受信第三方提供的统一信息确定统一的节点发现信道;通过所述统一的节点发现信道寻找节点。
[0009]根据本发明的另一个方面,提供了一种无线自组织网络中的节点发现装置,包括:确定部件,利用由受信第三方提供的统一信息确定统一的节点发现信道;寻找部件,通过所述统一的节点发现信道寻找节点。
【专利附图】
【附图说明】
[0010]从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其它方面和优点将变得更加清楚并更容易理解,其中:
[0011]图1例示了 W1-Fi Peer-to-Peer (P2P)技术规范描述的P2P节点发现过程的示意图。
[0012]图2例示了根据本发明第一实施例的无线ad-hoc网络中的节点发现方法的流程图。
[0013]图3示出了区域限定的无线ad-hoc网络(ARANet)的示意图。
[0014]图4例示了 ARANet中利用区域密钥确定统一的节点发现信道的方法的流程图。
[0015]图5例示了利用随机密钥在统一的节点发现信道寻找节点的流程图。
[0016]图6例示了监听节点经由统一的节点发现信道将探测响应信息发送到搜索节点的操作的流程图。
[0017]图7例示了搜索节点接收探测响应消息的操作的流程图。
[0018]图8示出了 W1-Fi Peer-to_Peer(P2P)技术规范的扫描过程的示意图。
[0019]图9示出了根据本发明一个实施例的无线自组织网络中的节点发现装置的总体配置图。
【具体实施方式】
[0020]为了使本领域技术人员更好地理解本发明,下面结合附图和【具体实施方式】对本发明作进一步详细说明。
[0021]首先需要说明的是,就节点发现过程而言,无线对等网络和无线ad-hoc网络是等价的,因此在本发明以下的描述中,将不区分这两种表述,换言之,将混用这两种表述。
[0022]如前所述,WiFi联盟的W1-Fi Peer-to-Peer (P2P)技术规范(版本号为1.1)详细描述了一种P2P节点发现过程。本发明的节点发现方案遵循这一技术规范,并对其进行改进。因此,为了便于理解本发明并使得本发明的描述清楚完整,下面先对该技术规范描述的P2P节点发现过程进行简要的介绍。
[0023]图1例示了 W1-Fi Peer-to-Peer (P2P)技术规范描述的P2P节点发现过程的示意图。下面,参照图1,以节点I的行为为例描述P2P技术规范中的节点发现过程。节点I首先进入扫描阶段。在该阶段,节点I扫描所有可用的无线信道,即在每一个可用的无线信道上发送探测请求消息。如果该节点I在扫描过程中发现了其他节点,即当节点I扫描某一无线信道时,恰好有其他节点(例如节点2)正在该无线信道进行监听,并且节点I接收到了该节点2发送的探测响应消息,则发现过程结束(该扫描过程的细节将在下文中介绍)。如果节点I扫描了所有可用的无线信道后没有发现其他节点,则节点I进入寻找阶段。寻找阶段的目的是使得两个或多个同时正在寻找其他节点的节点能够在同一无线信道上进行发现通信,这是通过使每个节点在监听状态和搜索状态这两个状态之间交替变换来实现的。假设如图1所示,节点I在扫描阶段未发现其他节点,则节点I进入寻找阶段,并首先处于监听状态。如前所述,每个节点在进入扫描阶段之前,都预先选择一个监听信道,并且该监听信道在整个设备发现过程不发生改变。另外,每个节点还随机确定监听的时间周期,该时间周期是100个时间单位(TU)的整数倍,该整数倍通常可随机选择1,2或3。例如,节点I的监听时间周期是2TU,节点2的监听时间周期是3TU。如图1中例示的,节点I在监听状态中没有接收到其他节点发送的探测请求消息,因此节点I进入到搜索状态。在搜索状态中,发起搜索的节点需在每一个社交信道上进行搜索,即发送探测请求信息。仅当发起搜索的节点在某一社交信道上进行搜索时,另一节点恰好正在该社交信道监听,这两个节点才能相互发现对方。假设如图1所示,当节点I在社交信道中的信道6上发送探测请求消息时,节点2恰好处在监听状态并且在信道6上监听。此时,节点2会收到节点I发出的探测请求消息,并响应于该消息而发回探测响应消息。当节点I接收到该探测响应消息时,意味着节点I发现了另一个节点2。
[0024]以上以节点I的行为为例,描述了 P2P技术规范中的节点发现过程。实际上,在该节点发现过程中, 例如图1中的节点2的其他节点也进行与节点I同样的行为,即,经历扫描阶段和寻找阶段,并且在寻找阶段中在监听状态和搜索状态交替变换。
[0025]<第一实施例>
[0026]在上述P2P技术规范中的节点发现过程中,需要花费较长时间,节点I和节点2才能在同一时刻在同一信道上分别进行监听和搜索。有鉴于此,在本实施例中,通过利用由受信第三方提供的统一信息,使得进行节点发现过程的各节点直接在同一信道进行监听和搜索,由此加快了节点发现过程。图2例示了根据本发明第一实施例的无线ad-hoc网络中的节点发现方法的流程图。
[0027]如图2所示,在步骤S21,无线ad-hoc网络中的各节点利用由受信第三方提供的统一信息确定统一的节点发现信道。
[0028]受信第三方提供的统一信息可以是任意信息,只要其对于无线ad-hoc网络中的各节点都相同即可。这样,各节点通过对该相同的统一信息进行相同运算处理将得到相同的结果,即确定出统一的节点发现信道。例如,可以将无线ad-hoc网络中节点所属的单位名称作为统一信息,只要将名称数字化(诸如转换为对应的二进制值或ASCII码)即可。再t匕如,对于区域限定的无线ad-hoc网络(ARANet),除了单位名称之外,也可以将区域密钥作为统一信息。在下文中,将以ARANet以及采用区域密钥作为统一信息为例对本发明进行说明。
[0029]ARANet是一种特殊的无线ad_hoc网络,其具有通过诸如IR、NFC、超声波、微波等方式预先限定的区域。限定区域内和区域外的节点无法进行会话,即使这两个节点在彼此的通信范围内。图3例示出了通过两个发射器限定区域的ARANet。由于在ARANet中的每个节点都能从区域限定系统(即受信第三方)收到区域密钥,并且该区域密钥对于ARANet中的每个节点都是相同的,因此可以将包含区域编号的区域密钥作为由受信第三方提供的统
一信息。
[0030]下面将参考图4描述ARANet中的节点利用区域密钥确定统一的节点发现信道的示例方法。
[0031]如图4所示,在步骤S41,各节点用区域密钥中包含的区域编号对网络中可用信道的数量进行取模运算;在步骤S42,将取模运算的结果作为序号,
[0032]并将所述可用信道的列表中对应于该序号的信道作为统一的节点发现信道。
[0033]例如,假设可用信道的数量为13,并且可用信道的列表为:信道1,信道2,信道3,.....,信道13,则如果(区域编号modl3)的结果为0,那么统一的节点发现信道为信道I ;如果(区域编号modl3)的结果为1,那么统一的节点发现信道为信道2 ;如果(区域编号mod3)的结果为2,那么统一的节点发现信道为信道3,依此类推。
[0034]图4所示的模运算仅仅是为了描述本发明而给出的一种示例方法,其不应被理解为对本发明的限定。事实上,可以通过任何适当的方式来确定统一的节点发现信道。比如,可以通过二进制“与”运算来进行确定。即,将区域编号和可用信道的数量换算成二进制数,然后进行“与”运算,随后根据“与”运算结果确定相应的信道。例如,假设区域编号为5,可用信道数为13,则0101和1101的与运算结果为0101,即选择可用信道的列表中的第五个信道。再比如,可 以通过正弦函数sin来确定统一的节点发现信道。即,将区域编号(X)与可用信道数量(Y)进行正弦运算,然后对该运算结果下取整floor (YXsin (X)),由此确定相应的信道。例如,假设区域编号为30,可用信道数为13,则floor (13Xsin30)的值为6,即选择可用信道的列表中的第六个信道。
[0035]回到图2,在步骤S22,通过所述统一的节点发现信道寻找节点。
[0036]在确定统一的节点发现信道后,节点的搜索和监听都通过该统一的节点发现信道来进行。即进行搜索的节点仅在该信道中发送探测请求消息,进行监听的节点也仅需在该信道中进行监听。当进行搜索的节点接收到来自某一监听节点的探测响应信息时,则意味着找到了其他的节点。经由某一指定信道寻找节点的具体过程是本领域中公知的,例如可以采用上述P2P技术规范中描述的寻找阶段的过程,在此不再赘述。
[0037]<第二实施例>
[0038]在根据本发明第一实施例的节点发现方法中,通过使用由受信第三方提供的统一信息来加速节点的发现,因此,该统一信息是很重要的,应当保证其安全。以ARANet为例,应当保证区域编号的安全,因为该区域编号保证了只有同一 ARANet中的节点才能彼此交换信息。为此,在本实施例中,除了区域编号之外,区域密钥中还包括随机密钥和计数器值,通过利用随机密钥对区域编号和计数器值进行加密,来保证区域编号的安全性。
[0039]根据本实施例的节点发现方法与第一实施例的不同之处在于,在执行通过统一的节点发现信道寻找节点的步骤时,通过随机密钥来保证区域编号的安全性。下面将参考图5来详细描述。
[0040]图5例示了利用随机密钥在统一的节点发现信道寻找节点的流程图。如图5所示,在步骤S51,执行搜索操作的节点利用随机密钥对区域编号和计数器值两者进行加密,将加密后的区域编号和计数器值添加到探测请求信息中,并在所述统一的节点发现信道中发送该探测请求信息。
[0041]在步骤S52,执行监听操作的节点经由统一的节点发现信道将探测响应信息发送到执行搜索操作的节点。以下将参考图6详细描述这一过程。
[0042]如图6所示,在步骤S521,执行监听操作的节点利用其自身的随机密钥对接收到的探测请求信息中的加密后的区域编号和计数器值进行解密。随后,在步骤S522,判断解密后得到的区域编号与该节点自身的区域编号是否一致。由于区域密钥对于同一 ARANet中的各个节点是相同的,因此如果执行监听操作的节点与执行搜索操作的节点在同一ARANet中,则监听节点能够正确解码区域编号。如果步骤S522的结果是肯定的,则在步骤S523中,监听节点对解密后得到的计数器值进行预定的运算处理,并且利用其自身的随机密钥对该区域编号和运算处理后的计数器值两者进行加密。在该步骤中,监听节点可以对计数器值进行任何预定的运算处理,例如将计数器值加1、将计数器值减1、将计数器值乘以2等等。该运算处理是预先确定的,并且不在该ARANet中的节点无法获知。如果步骤S522的结果是否定的,则监听节点结束本次监听。在步骤S524中,将加密后的区域编号和计数器值添加到探测响应信息中,并经由统一的节点发现信道将该探测响应信息发送到执行搜索操作的节点。
[0043]回到图5,在步骤S53,执行搜索操作的节点接收探测响应消息并确定是否发现了节点。以下将参考图7详细描述这一过程。
[0044]如图7所示,在步骤S531,执行搜索操作的节点对接收到的探测响应信息中的加密后的区域编号和计数器值进行解密。在步骤S532,搜索节点对解密后得到的计数器值进行所述运算处理的逆运算。该逆运算是图6的步骤S523中的预定运算处理的逆运算,通过执行该逆运算来恢复原始的计数器值。例如,如果步骤S523中的运算是计数器值加1,则逆运算是计数器值减I ;如果步骤S523中的运算是计数器值乘以2,则逆运算是计数器值除以
2。随后,在 步骤S533判断解密后得到的区域编号与其自身的区域编号是否一致,以及进行逆运算后得到的计数器值与其自身的计数器值是否相等。如果步骤S533中的两个判断的结果均是肯定的,则在步骤S534中确定发现了节点,并执行诸如向上层设备发送“节点发现”消息等相应处理。如果步骤S533中的任一个判断的结果是否定的,则意味着没有发现节点。
[0045]<第三实施例>
[0046]下面描述根据本发明第三实施例的无线ad-hoc网络中的节点发现方法。
[0047]第三实施例的节点发现方法与第一实施例的不同在于,在执行第一实施例描述的节点发现方法之前,先进行节点扫描操作。本实施例的节点扫描遵循上文中提到的W1-FiPeer-to-Peer (P2P)技术规范中描述的扫描过程,并对其进行改进。
[0048]W1-Fi Peer-to-Peer (P2P)技术规范在扫描过程中采用的是IEEE标准(IEEEStandard802.11-2007)中定义的扫描过程。以下将参考图8对其细节进行说明。
[0049]如图8所示,扫描节点在每一个信道上发送探测包,并在预定的最小探测响应时间内接收响应。如果扫描节点在最小探测响应时间内接收到来自例如响应节点2的响应数据包,但是到最小探测响应时间结束时该响应数据包仍未接收完,则扫描节点自动将当前信道的扫描时长延长至预定的最大探测响应时间,并在该延长后的时间内继续接收未接收完的响应数据包,同时接收来自其他响应节点(例如响应节点I)的响应数据包。
[0050]在本实施例中,通过利用受信第三方提供的统一信息来缩减扫描阶段的时间。具体的,在进行节点扫描时,扫描节点通过在网络中每一个可用信道上广播探测请求信息来扫描网络中的其他节点,并且仅接受来自具有所述统一信息的节点针对所述探测请求信息发回的探测响应信息。仍然以ARANet为例,将区域编号添加到扫描节点广播的探测请求信息中,并且要求仅具有相同的区域编号的节点(即与该扫描节点位于同一个ARANet的节点)才对该探测请求信息作出应答,而扫描节点也仅接受具有相同的区域编号的节点发回的探测响应信息。这样,当扫描节点接收到由不具有相同的区域编号的节点发回的探测响应信息时,该扫描节点不会将当前信道的扫描时长从最小探测响应时间延长至最大探测响应时间,从而降低了将信道的扫描时长从最小探测响应时间延长至最大探测响应时间的可能性,由此相应地缩减了扫描阶段的时间。
[0051]〈变型〉
[0052]以上已经对根据本发明实施例的节点发现方法进行了描述,下面将对该方法的可能的变型进行描述。
[0053]在以上的实施例中,无线ad-hoc网络中的节点在利用由受信第三方提供的统一信息确定统一的节点发现信道时,均是从所有的可用信道中确定该节点发现信道。当存在多个ARANet时,如果各个ARANet确定的节点发现信道恰好相同,则该信道中的相互干扰较大,从而会降低通信质量。为了避免这一情况,各个ARANet应当尽可能选择信道干扰较小的信道。
[0054]为此,在本发明的一个变型中,用指示符来表示节点用户对网络中信道干扰的可接受程度,并将该指示符包含在区域密钥中。这样,在利用区域密钥确定统一的节点发现信道时,各节点首先从所有的可用无线信道中选择满足干扰条件的无线信道。即,针对网络中的每一个可用信道,判断该信道的干扰状况是否优于由指示符表示的可接收程度;若信道的干扰状况优于由所述指示符表示的可接收程度,则确认该信道为可用信道;否则,将该信道作为不可用信道。随后,利用区域编号和重新确定的可用信道的信息来确定统一的节点发现信道。需要说明的是,由于ARANet通常布置在一个较小的区域,因此可以认为在这一区域内的干扰基本一致,从而该区域中每个节点重新确定的可用信道应当是一样的。
[0055]<无线自组织网络中的节点发现装置的总体配置>
[0056]图9示出了根据本发明一个实施例的无线自组织网络中的节点发现装置的总体配置图。
[0057]如图9所示,节点发现装置900包括:确定部件901,利用由受信第三方提供的统一信息确定统一的节点发现信道;寻找部件902,通过所述统一的节点发现信道寻找节点。该节点发现装置900被配置在各个节点中,由此各个节点能够利用该节点发现装置快速的发现其他节点。
[0058]以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何部分,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现。
[0059]因此,本发明公开的节点发现技术还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。本发明所公开的发现技术也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现,或者通过存储有这样的程序产品的任意存储介质来实现。
[0060]还需要指出的是,在本发明的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。另外,执行上述系列处理的步骤可以按照描述的先后顺序执行,但是各步骤并非必须顺序执行,某些步骤可以并行或彼此独立地执行。
[0061]上述的具体 实施方式并不构成对本发明保护范围的限制。本领域技术人员应该明白,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
【权利要求】
1.一种无线自组织网络中的节点发现方法,包括: 所述网络中的各节点利用由受信第三方提供的统一信息确定统一的节点发现信道; 通过所述统一的节点发现信道寻找节点。
2.如权利要求1所述的节点发现方法,其中所述网络是区域受限的无线自组织网络,统一信息是区域密钥,并且该区域密钥包括区域编号。
3.如权利要求2所述的节点发现方法,其中利用由受信第三方提供的统一信息确定统一的节点发现信道包括: 用区域编号对网络中可用信道的数量进行取模运算, 将取模运算的结果作为序号,并将所述可用信道的列表中对应于该序号的信道作为统一的节点发现信道。
4.如权利要求2所述的节点发现方法,其中所述区域密钥还包括用于指示信道干扰的可接受程度的指示符。
5.如权利要求4所述的节点发现方法,其中利用由受信第三方提供的统一信息确定统一的节点发现信道还包括: 针对所述网络中的每一个可用信道,判断该信道的干扰状况是否优于由所述指示符表示的可接收程度; 若信道的干扰状况优于由所述指示符表示的可接收程度,则确认该信道为可用信道;否则,将该信道作为不可用信道。
6.如权利要求2-5中任一项所述的节点发现方法,其中通过所述统一的节点发现信道寻找节点包括:在所述统一的节点发现信道中执行监听操作和搜索操作。
7.如权利要求6所述的节点发现方法,其中所述区域密钥还包括随机密钥和计数器值。
8.如权利要求7所述的节点发现方法,其中在所述统一的节点发现信道中执行监听操作和搜索操作包括: 执行搜索操作的节点利用随机密钥对区域编号和计数器值两者进行加密,将加密后的区域编号和计数器值添加到探测请求信息中,并在所述统一的节点发现信道中发送该探测请求信息; 执行监听操作的节点对接收到的探测请求信息中的加密后的区域编号和计数器值进行解密,并且如果解密后得到的区域编号与该节点自身的区域编号一致,则对解密后得到的计数器值进行预定的运算处理,利用其自身的随机密钥对该区域编号和运算处理后的计数器值进行加密,将加密后的区域编号和计数器值添加到探测响应信息中,并经由所述统一的节点发现信道将该探测响应信息发送到所述执行搜索操作的节点; 所述执行搜索操作的节点对接收到的探测响应信息中的加密后的区域编号和计数器值进行解密,并对解密后得到的计数器值进行所述运算处理的逆运算,如果解密后得到的区域编号与其自身的区域编号一致,并且进行所述逆运算后得到的计数器值与其自身的计数器值相等,则确定发现了节点。
9.如权利要求2所述的节点发现方法,还包括: 在利用由受信第三方提供的统一信息确定统一的节点发现信道之前,各节点通过在所述网络中每一个可用信道上广播探测请求信息来扫描网络中的其他节点,并且仅接受来自具有所述统一信息的节点针对所述探测请求信息发回的探测响应信息。
10.一种无线自组织网络中的节点发现装置,包括: 确定部件,利用由受信第三方提供的统一信息确定统一的节点发现信道; 寻找部件,通过所述 统一的节点发现信道寻找节点。
【文档编号】H04W84/18GK104023375SQ201310064506
【公开日】2014年9月3日 申请日期:2013年2月28日 优先权日:2013年2月28日
【发明者】张银东, 王炜, 笪斌, 于海华 申请人:株式会社理光