专利名称:一种基于移动自组织网络的jxta覆盖网节点的查询方法
技术领域:
本发明涉及在JXTA覆盖网中,采用无线通信方式的节点通过自组织方式形成移动自组织网络的环境下,如何降低资源受限的无线节点在查询过程中的能耗并提高节点之间查询效率的一种基于移动自组织网络的JXTA覆盖网节点的查询方法,属于移动对等网络技术领域。
背景技术:
移动自组织网络(MANET,Mobile Ad-hoc Network)是一种自组织、无基础设施、由一些移动设备组建成的网络,以无线的方式进行设备间通信;在移动自组织网络环境下通信时,每个设备经常要为其他设备转发消息,因此每个设备都有一个路由表来维护到其他设备的路由信息;随着笔记本电脑和智能手机的普及和802. 11/Wi-Fi无线网络协议的提出,移动自组织网络自90年代中期起就成为了一个研究热点,很多学术论文提出了一些基·于移动自组织网络环境的路由算法,并评估这些算法的性能和缺陷。JXTA是一个由Sun微系统在2001年提出的开源的P2P协议规范JXTA协议由一些XML消息组成,这些协议使任何连接到网络的设备都可以在不考虑底层网络拓扑结构的情况下,进行信息交换和合作JXTA节点创造了一个虚拟的覆盖网,使得节点可以和其他节点进行交互,即使这些节点和资源在防火墙或其他障碍(如NATs)之后;资源发现机制采用边缘节点(Edge Peer)直接向汇聚节点(Rendezvous Peer)发起查询请求,由汇聚节点进行查询并转发消息的方法。关于JXTA机制在移动自组织网络环境中的表现,很多学者已进行过研究;MarioBisignano, Andrea Calvagna 等人提出了 以 JXTA 为基础设计中间件 Expeerience,对JXTA 的发现服务(DiscoveryService)、TCP 传输服务(TcpTransportService)等机制进行改进,以适应移动自组织网络特点;他们提出的网络结构是纯对等网络(P2P)结构,完全无中心点,这样一旦网络规模扩大,节点间查询效率必然降低,同时泛洪所带来的网络流量增大也会影响传输性能。Wang-Boo Jeong, Young-Ho Sohn等人提出了一个架构,在移动自组织网络中引入JXTA的汇聚功能,以缓解移动自组织网络路由查找时泛洪所带来的流量压力;该架构需要一些节点充当汇聚节点,但无线节点存在资源受限且连接不稳定的问题,这些汇聚节点一旦失效,会造成一定范围内的所有节点无法工作。在实际应用方面,也有很多相关项目JXME是JXTA在J2ME平台上的实现,具有JXTA的部分功能;但边缘节点需要通过代理节点才能参与到通信中,代理节点承担了通信过程中的大部分负担,这样做虽然降低了边缘节点的能耗,但也使得网络整体缺乏可扩展性。PeerDroid是JXTA在安卓(Android)平台上的移植,设计目的是将当今比较流行的安卓系统与JXTA结合,在安卓平台上实现JXTA功能;该项目使用和标准JXTA相同的方法,即通过汇聚节点完成资源查找,但与传统的有线固定网络设备不同,移动设备在能量和带宽上都存在局限性,频繁地与汇聚节点进行通信会给设备带来很大负担。
发明内容
为解决现有技术存在的缺陷,本发明提出一种基于移动自组织网络的JXTA覆盖网节点的查询方法,充分利用JXTA覆盖网优势和移动自组织网络环境特点,降低无线节点的查询能耗并提高节点间的查询效率。为实现上述目的,本发明采用的技术方案是一种基于移动自组织网络的JXTA覆盖网节点的查询方法,其特征是JXTA节点包括边缘节点和汇聚节点,网络环境包括固网和移动自组织网络,两者之间由网关连接,在固网环境下,采用有线通信方式,边缘节点根据JXTA标准通过汇聚节点查找网络资源;在移动自组织网络环境下,采用无线通信方式,无线边缘节点通过广播形式查找网络资源。当无线边缘节点发起节点查询请求时,先在移动自组织网络中,将查询请求消息在由生存时间参数确定的范围内进行广播,如果能找到目标边缘节点的通告,则不用与汇聚节点交互的情况下完成节点查询;包括以下步骤
步骤1,设节点A为发起查询的无线边缘节点,节点B为查询的目标边缘节点。首先,节点A根据节点B在JXTA覆盖网中的节点标识号,调用JXTA覆盖网中原有的发现服务(DiscoveryService),在本地缓存里进行查找是否存在节点B的通告,如果有,贝Ij节点A与节点B直接通信;如果没有,则调用JXTA覆盖网中的移动自组织网络发现服务(ManetDiscoveryService),生成一条XML格式的广播查询请求消息,该消息包含消息类型、可接受的最大响应消息数、节点A的通告、查询目标属性、节点B的标识号,消息生存时间(TTL)和源节点标识号(Sourceld),其中,消息生存时间(TTL)和源节点标识号(SourceId)是本发明新增的字段参数,消息生存时间(TTL)表示消息的最大传播跳数,用于限制其无线广播的范围,用户可以根据移动自组织网络规模和节点的性能自行设定,源节点标识号(Sourceld)是发起请求的节点的标识号,用于防止重复转发。而其它消息字段的含义与JXTA的标准定义相同;步骤2,由于底层网络已自组织形成了移动自组织网络,节点A将上述查询请求消息通过无线通信进行广播,则移动自组织网络中所有在节点A无线通信范围内的节点都将收到这条消息;步骤3,收到查询请求消息的节点,调用移动自组织网络解析服务(ManetResolverService)解析这条消息,得到源节点标识号、节点B的标识号、节点A的通告和消息生存时间(TTL)。将源节点标识号和收到广播消息的节点所保存的源节点标识号列表进行对照,源节点标识号列表用于记录发起查询请求消息广播的节点,若表项中已有源节点标识号,那么证明这条消息是被重复转发的,不进行任何操作,转至步骤5;如果没有,则将源节点标识号加入到表中,转至步骤4。步骤4,收到查询请求消息的节点以节点B的标识号为参数调用原有的发现服务(DiscoveryService),在该节点的缓存内查找节点B的通告,因为一个节点的缓存里至少会保存自己的通告,所以,如果找到了节点B的通告,那么证明该节点就是节点B或者该节点恰好缓存了节点B的通告,则收到查询请求消息的节点就将节点B的通告发送给节点A,节点A收到后完成查询;如果在缓存中没有找到节点B的通告,则令消息生存时间(TTL)减少一跳,即TTL=TTL-I,并判断消息生存时间是否大于等于0,若满足,则将更新后的消息生存时间参数写回查询请求消息,继续进行广播,转至步骤3 ;若不满足,则证明已达到最大查询范围,不进行任何操作,转至步骤5 ;步骤5,若在查询请求消息最大往返时延的3倍时间内,节点A没有收到任何响应消息,则证明节点A所在的移动自组织网络环境中,在消息生存时间的跳数范围内既不存在节点B也没有节点缓存了节点B的通告,那么和有线节点一样,节点A根据JXTA标准通过汇聚节点完成通告查询。本发明具有以下优点及有益效果(I)将移动自组织网络与JXTA覆盖网相结合,对标准的JXTA覆盖网进行了无线移动扩展。使得无线边缘节点能通过在移动自组织网络中广播查询到目的边缘节点的通告,而不用与汇聚节点交互,从而降低了资源受限的无线边缘节点的查询能耗;(2)由于汇聚节点和无线边缘节点间往往存在网关等障碍,所以移动自组织网络 环境下消息的传输效率在大部分情况下要比通过汇聚节点高,这样也提高了 JXTA覆盖网的节点查询效率。
图I为网络体系结构图;图2为系统功能模块图;图3为节点查询流程图; 图4为移动自组织网络查询请求消息格式(XML格式)。
具体实施例方式如图I所示,JXTA节点包括边缘节点和汇聚节点,网络环境包括固网和移动自组织网络,两者之间由网关连接,在固网环境下,采用有线通信方式,边缘节点根据JXTA标准通过汇聚节点查找网络资源;在移动自组织网络环境下,采用无线通信方式,无线边缘节点通过广播形式查找网络资源。当无线边缘节点发起节点查询请求时,先在移动自组织网络中,将查询请求消息在由生存时间参数确定的范围内进行广播,如果能找到目标边缘节点的通告,则不用与汇聚节点交互的情况下完成节点查询。通过这种方法,可以降低无线节点的查询能耗,同时,由于汇聚节点和无线节点间往往存在网关等障碍,所以移动自组织网络环境下消息的传输效率在大部分情况下要比通过汇聚节点高,这样也提高了 JXTA覆盖网的节点查询效率。如图2所示,查询方式有两种;左半部分是第一种,即JXTA原有的通过汇聚节点查询的方法,使用的是JXTA的标准服务发现服务(DiscoveryService)、解析服务(ResolverService)、汇聚点服务(RendezvousService);右半部分是本发明新增的第二种方法,通过移动自组织网络广播查询,移动自组织网络发现服务(ManetDiscoveryService)和移动自组织网络解析服务(ManetResolverService)是新增的服务。对于采用有线通信方式的节点发现,与标准的JXTA方式相同,即通过汇聚节点查询,功能模块如图2左半部分所示,在此不做赘述;对于采用无线通信方式的节点发现,采用本发明提出的基于移动自组织网络的JXTA覆盖网节点发现方法,功能模块如图2右半部分所示。本发明的节点流程如图3所示,包括如下步骤
步骤I,设节点A为发起查询的无线边缘节点,节点B为查询的目标边缘节点。首先,节点A根据节点B在JXTA覆盖网中的节点标识号,调用JXTA覆盖网中原有的发现服务(DiscoveryService),在本地缓存里进行查找是否存在节点B的通告,如果有,贝Ij节点A与节点B直接通信;如果没有,则调用JXTA覆盖网中的移动自组织网络发现服务(ManetDiscoveryService),生成一条XML格式的广播查询请求消息,消息格式定义如图4所示,该消息包含消息类型、可接受的最大响应消息数、节点A的通告、查询目标属性、节点B的标识号,消息生存时间(TTL)和源节点标识号(Sourceld),其中,消息生存时间(TTL)和源节点标识号(Sourceld)是本发明新增的字段参数,消息生存时间(TTL)表示消息的最大传播跳数,用于限制其无线广播的范围,用户可以根据移动自组织网络规模和节点的性能自行设定,源节点标识号(Sourceld)是发起请求的节点的标识号,用于防止重复转发。而其它消息字段的含义与JXTA的标准定义相同;步骤2,由于底层网络已自组织形成了移动自组织网络,节点A将上述查询请求消息通过无线通信进行广播,则移动自组织网络中所有在节点A无线通信范围内的节点都将收到这条消息; 步骤3,收到查询请求消息的节点,调用移动自组织网络解析服务(ManetResolverService)解析这条消息,得到源节点标识号、节点B的标识号、节点A的通告和消息生存时间(TTL)。将源节点标识号和收到广播消息的节点所保存的源节点标识号列表进行对照,源节点标识号列表用于记录发起查询请求消息广播的节点,若表项中已有源节点标识号,那么证明这条消息是被重复转发的,不进行任何操作,转至步骤5;如果没有,则将源节点标识号加入到表中,转至步骤4 ;步骤4,收到查询请求消息的节点以节点B的标识号为参数调用原有的发现服务(DiscoveryService),在该节点的缓存内查找节点B的通告,因为一个节点的缓存里至少会保存自己的通告,所以,如果找到了节点B的通告,那么证明该节点就是节点B或者该节点恰好缓存了节点B的通告,则收到查询请求消息的节点就将节点B的通告发送给节点A,节点A收到后完成查询;如果在缓存中没有找到节点B的通告,则令消息生存时间(TTL)减少一跳,即TTL=TTL-I,并判断消息生存时间是否大于等于0,若满足,则将更新后的消息生存时间参数写回查询请求消息,继续进行广播,转至步骤3 ;若不满足,则证明已达到最大查询范围,不进行任何操作,转至步骤5 ;步骤5,若在查询请求消息最大往返时延的3倍时间内,节点A没有收到任何响应消息,则证明节点A所在的移动自组织网络环境中,在消息生存时间的跳数范围内既不存在节点B也没有节点缓存了节点B的通告,那么和有线节点一样,节点A根据JXTA标准通过汇聚节点完成通告查询。如图4所示,定义了移动自组织网络查询请求消息格式,主要字段参数包括消息类型(Type)、可接受的最大响应消息数(Threshold)、节点A的通告(PeerAdv)、查询目标属性(Attr)、查询目标属性值(Value,这里取节点B的标识号),消息生存时间(TTL)和源节点标识号(SourceId),其中,消息生存时间(TTL)和源节点标识号(SourceId)是本发明新增的字段参数,消息生存时间(TTL)表示消息的最大传播跳数,用于限制其无线广播的范围,源节点标识号(Sourceld)是发起请求的节点的标识号,用于防止重复转发。而其它消息字段的含义与JXTA的标准定义相同。
权利要求
1.一种基于移动自组织网络的JXTA覆盖网节点的查询方法,其特征是JXTA节点包括边缘节点和汇聚节点,网络环境包括固网和移动自组织网络,两者之间由网关连接,在固网环境下,采用有线通信方式,边缘节点根据JXTA标准通过汇聚节点查找网络资源;在移动自组织网络环境下,采用无线通信方式,无线边缘节点通过广播形式查找网络资源,当无线边缘节点发起节点查询请求时,先在移动自组织网络中,将查询请求消息在由生存时间参数确定的范围内进行广播,如果能找到目标边缘节点的通告,则不用与汇聚节点交互的情况下完成节点查询;包括以下步骤 步骤1,设节点A为发起查询的无线边缘节点,节点B为查询的目标边缘节点,首先,节点A根据节点B在JXTA覆盖网中的节点标识号,调用JXTA覆盖网中原有的发现服务,在本地缓存里进行查找是否存在节点B的通告,如果有,则节点A与节点B直接通信;如果没有,则调用JXTA覆盖网中的移动自组织网络发现服务,生成一条XML格式的广播查询请求消息,该消息包含消息类型、能够接受的最大响应消息数、节点A的通告、查询目标属性、节点B的标识号、消息生存时间和源节点标识号,其中,消息生存时间和源节点标识号是新增的字段参数,消息生存时间表示消息的最大传播跳数,用于限制其无线广播的范围,用户根据移动自组织网络规模和节点的性能自行设定,源节点标识号是发起请求的节点的标识号,用于防止重复转发,而其它消息字段的含义与JXTA的标准定义相同; 步骤2,由于底层网络已自组织形成了移动自组织网络,节点A将上述查询请求消息通过无线通信进行广播,则移动自组织网络中所有在节点A无线通信范围内的节点都将收到这条消息; 步骤3,收到查询请求消息的节点,调用移动自组织网络解析服务解析这条消息,得到源节点标识号、节点B的标识号、节点A的通告和消息生存时间,将源节点标识号和收到广播消息的节点所保存的源节点标识号列表进行对照,源节点标识号列表用于记录发起查询请求消息广播的节点,若表项中已有源节点标识号,那么证明这条消息是被重复转发的,不进行任何操作,转至步骤5 ;如果没有,则将源节点标识号加入到表中,转至步骤4 ; 步骤4,收到查询请求消息的节点以节点B的标识号为参数调用原有的发现服务,在该节点的缓存内查找节点B的通告,因为一个节点的缓存里至少会保存自己的通告,所以,如果找到了节点B的通告,那么证明该节点就是节点B或者该节点恰好缓存了节点B的通告,则收到查询请求消息的节点就将节点B的通告发送给节点A,节点A收到后完成查询;如果在缓存中没有找到节点B的通告,则令消息生存时间递减减少一跳,并判断消息生存时间是否大于等于O,若满足,则将更新后的消息生存时间参数写回查询请求消息,继续进行广播,转至步骤3 ;若不满足,则证明已达到最大查询范围,不进行任何操作,转至步骤5 ; 步骤5,若在查询请求消息最大往返时延的3倍时间内,节点A没有收到任何响应消息,则证明节点A所在的移动自组织网络环境中,在消息生存时间的跳数范围内既不存在节点B也没有节点缓存了节点B的通告,那么和有线节点一样,节点A根据JXTA标准通过汇聚节点完成通告查询。
全文摘要
本发明公开了一种基于移动自组织网络的JXTA覆盖网节点的查询方法,在移动自组织网络环境下,采用无线通信方式,无线边缘节点通过广播形式查找网络资源,当无线边缘节点发起节点查询请求时,先在移动自组织网络中,将查询请求消息在由生存时间参数确定的范围内进行广播,如果能找到目标边缘节点的通告,则不用与汇聚节点交互的情况下完成节点查询。通过这种方法,可以降低无线节点的查询能耗,同时,由于汇聚节点和无线节点间往往存在网关等障碍,所以移动自组织网络环境下消息的传输效率在大部分情况下要比通过汇聚节点高,这样也提高了JXTA覆盖网的节点查询效率。
文档编号H04W84/22GK102905339SQ20121040086
公开日2013年1月30日 申请日期2012年10月19日 优先权日2012年10月19日
发明者吴家皋, 余浩, 邹志强, 刘林峰 申请人:南京邮电大学