用于容迟网络和间歇连接网络的节省节点能量的方法

文档序号:7919291阅读:250来源:国知局
专利名称:用于容迟网络和间歇连接网络的节省节点能量的方法
技术领域
本发明总体上涉及网络通信技术领域,更具体地涉及一种DTN或ICN网络上节省节 点能量的方法。
背景技术
DTN或ICN网络是一种完全由移动节点构成、节点分布密度稀疏、通常没有持续的端 到端连接的无线网络。其中的移动节点既是主机又具备路由功能,负责发现和维护通往 其他节点的路径。但与典型的Ad Hoc网络不同,DTN或ICN中的数据传输采用转发一缓 存一转发(Forward-Buffer-Forward)的异歩传输模式,即当路由路径出现中断时,中 间节点会将待转发消息(由多个数据包组成的数据包组)暂时存储在缓存器中,直到遇 到其他合适的中间节点或者目的节点再将其转发出去。这类网络减轻了传统无线网络对 节点通信范围、节点密度和端到端路由的依赖,极大地扩展了无线网络的应用。近年来, DTN和ICN被广泛应用于行星际网络(Inter-Planetary Network)、战场通信、游牧通 信(Nomadic Communication)、传感器网络、偏远地区数据接入等通信服务中。
但是,DTN和ICN网络中的移动节点大多都是移动便携设备,这些设备通常都只由电 池供电,电池能量有限,而且电池的充电或更换在一些应用场景中是不便的甚至是不可 以的(如战场通信和传感器网络)。当节点电池能量耗尽时,不能与其他节点进行有效 通信。同时,随着耗尽电量节点的增加,网络中的节点就变得越来越稀疏,数据传输也 越来越困难。因此,节点能量的消耗对DTN和ICN网络性能起着决定性的作用,节能问 题的研究对DTN和ICN网络具有非常重要的意义。
对于DTN和ICN网络中使用的网络协议,现通用的标准大多基于投递率或延时的考 虑,在源节点和目的节点之间选取多个中间节点保存待传输消息的副本,通过源节点和 中间节点的移动将待传输消息投递给目的节点。其中最为典型的是"传染病路由算法", 即源节点将产生的消息进行复制并传递给所有进入其通信范围的节点,这些保留消息副 本的节点再将消息进行二次复制并传递给它们所遇到的所有节点,最终至少一个消息副 本可到达目的节点。由于DTN和ICN网络中的消息传输是异歩的,当一个消息副本到达 目的节点时,网络中存在的大量的消息副本不会被立即销毁。这些副本会占用节点缓存 器相当长的一段时间,甚至仍在节点间相互传递。这些"冗余"的消息副本不仅占用了 节点的缓存空间,同时还造成了大量不必要的通信,浪费了大量的能量。因此,需要对 路由协议进行能量有效的改进。

发明内容
本发明的目的是提供一种DTN和ICN网络上的节能路由计算方法。该方法通过使用 对容迟网络和间歇连接网路中消息的投递状态进行记录,采用列表交换机制,在网络层 对节点缓存器进行主动维护,清除过期的冗余消息,以减少过期消息在网络中的生存时 间并最大限度地避免过期消息的复制,从而起到有效地降低节点能量消耗、延长节点工 作时间、改善网络性能和生存期的作用。该方法作为一种比较理想、节能效果好、实用 性强的技术方案,能够有效降低节点能耗,延长移动节点工作时间,实现整个DTN和ICN 网络性能的改善和生命期延长。
本发明采用如下的技术方案 一种用于容迟网络和间歇连接网络的节省节点能量的
方法,其特征在于包括下列几个组成部分
(1) 源节点查询节点邻居表,若邻居列表中存在目的节点信息,则传输此消息至目 的节点,否则将该消息暂存于节点缓存器中;凡缓存器非空的节点周期性地发送探测信 息,能够相互通讯的节点之间利用该探测信息交换消息列表和消息投递确认列表以确定
缓存器中哪些消息需要进行交换。该过程主要包含以下几个步骤发送探测信息HELL0, 接收探测信息HELL0,发送返回信息REPLY。
(2) 当探测信息发送节点收到一个返回信息时,利用返回信息中携带的消息投递确 认列表对缓存器进行主动维护,更新消息投递确认信息,并发送消息。
(3) 通过节点在网络中的移动,目的节点与一个中间节点相遇,该中间节点将消息 成功传输给目的节点以后,该节点将相关记录添加到本地保存的消息投递确认列表中, 并从缓存器中删除该消息。'
作为优选实施方式,上述方法的步骤(1)中,按下列步骤执行探测信息的发送和交

(11) 缓存器非空的节点发送路由探测信息HELL0,该信息头部包含megList字段和 ACKList字段,megList字段记录发送探测信息节点缓存器中所有消息信息的列表, ACKList字段记录发送探测信息节点保存的消息投递确认信息列表;
(12) 中间节点收到HELLO后提取包头信息中的megList字段和ACKList字段,得 到megList—S列表和ACKList_S列表,根据该节点保存的消息投递确认信息ACKList—A 对ACKList—S列表和megList—S列表进行更新,去掉其中与ACKList—A中记录重复的部 分;同时更新中间节点的ACKList—A,其值等于原ACKList—A与更新后ACKList—S中记录 之和;根据更新后的ACKList一S对中间节点的缓存器进行主动维护,删除缓存器中与 ACKList_S列表相符的消息并更新本节点保存的消息列表megList—A;根据本节点保存的 消息列表megList—A对megList—S进行再次更新,去掉其中与megList—A中记录重复的 部分。
(13) 收到HELLO包的中间节点回复信息REPLY,该信息中包含avimegList字段与 ACKList字段;avimegList记录上述更新后的megList—S中的记录;ACKList记录上述ACKListback中的记录。
上述方法的步骤(2)中,按下列步骤执行
(21) 发送HELL0包的节点收到一个回复信息REPLY后提取包头信息中的avimegList 字段与ACKList字段,得到avimegList列表和ACKList—A列表;根据该节点保存的消息 投递确认信息ACKList—S对ACKList_A进行更新,去掉其中与ACKList一S中记录重复的 部分;更新节点的ACKLis^S,其值等于原ACKList一S与更新后ACKList—A中记录之和。
(22) 根据更新后的ACKList—A对缓存器进行主动维护,删除缓存器中与ACKList—A 列表相符的消息并更新本节点保存的消息列表megList—S;根据avimegList字段,顺序 发送缓存器中与之相关的消息。
当前,对与DTN和ICN网络中比较成熟的路由协议,通用的标准大多基于投递率或 延时的考虑,在源节点和目的节点之间选取多个中间节点保存待传输消息的副本,未考 虑在消息投递成功后如何消除这些"冗余"的消息副本。本发明是节省能量的路由计算 方法,可以有效地在消息成功投递后清除过期的冗余消息,以减少过期消息在网络中的 生存时间并最大限度地避免过期消息的复制,从而起到有效地降低节点能量消耗、延长 节点工作时间、改善网络性能和生存期的作用。
本发明基于列表交换机制实现,突破了当前大多数针对DTN和ICN网络减少消息副 本的研究方法降低消息投递率、带来大量额外信息交换和计算能耗和需要额外信息支持 的局限性。不仅使用列表记录消息投递的状态,确保消息副本的减少不会降低投递率; 同时使用探测信息携带交换信息列表,在避免带来额外传输能耗并降低计算复杂性;而 且通过对节点缓存器进行主动维护减少了过期消息传输带来的不必要的传输能耗;此 外,缓存器空间的及时释放也提高了缓存器利用率。
本发明由当前Ad Hoc网络内标准路由协议AODV发展而来,结合DTN和ICN网络中 的传染病转发机制,对其路由准则加以该进,进而实现了节能。这种与传统标准路由协 议相结合的方式,使得本发明很好的保留了现有成熟路由协议的许多体点,同时无需经 过大范围的变更就可以被简易应用在现有网络中,效果理想,应用前景看好。


图1是本发明基本构架原理的示意图。
图2是本发明节点路由寻找过程的基本时序图。
图3是本发明消息投递确认列表的维护过程的基本时序图。
图4是本发明路由寻找过程中使用的路由请求信息(HELLO)的包格式图。
图5是消息列表和消息投递确认列表的格式图。
图6是本发明路由寻找过程中使用的路由应答信息(REPLY)的包格式图。 图7是为本发明实施例的工作流程所使用的示例拓扑图。
具体实施例方式
为使本发明的目的、实现方案和优点更为清晰,下面结合附图对本发明作进一步地 详细描述。
参见图l,介绍本发明方法的基本构架原理一应用表交换机制实现节省能量的路由计 算方法。节点从物理层和数据链路层收到其它节点的消息投递确认列表后,在网络层对 节点缓存器进行主动维护清除冗余消息避免过期消息的复制交换,同时对本节点保存的 消息投递确认列表进行更新并通过探测信息和返回信息发送给其它节点。此外,如果节 点遇到目的节点并投递成功,则将该投递记录进节点保存的消息投递确认列表中并交换 给其它节点清理缓存器。通过在消息成功传递后,迅速减少冗余消息的数量,有效地降 低了冗余消息的传输,节省了节点的能量,同时提高了节点缓存器的利用率。
参见图2至图6,详细介绍本发明一种DTN和ICN网络上节省节点能量的方法,该方 法包括以下几个阶段
(1) 路由寻找当源节点应用程序需要发送消息至目的节点时,应用层将消息向下 层发送。消息到达网络层时,查询节点邻居表,以期获知目的节点是否在通讯范围内。 如果邻居列表中不存在目的节点信息,则将该消息暂存于节点缓存器中。否则立即传输 此消息至目的节点。凡缓存器非空的节点周期性地发送探测信息以探测进入通讯范围的 节点,同时利用该探测信息交换消息列表和消息投递确认列表以确定缓存器中哪些消息
需要进行交换。该寻找过程的基本时序参见图2。该过程主要包含以下几个步骤发送探
测信息HELL0,接收探测信息HELLO,发送返回信息REPLY。
(2) 数据发送当探测信息发送节点收到一个返回信息时,利用返回信息中携带的 消息投递确认列表对缓存器进行主动维护,并开始发送相应的数据包。该过程主要包括 以下几个步骤收到返回信息REPLY并更新消息投递确认信息,对缓存器进行主动维护 并发送消息。
(3) 消息投递确认列表的维护通过节点在网络中的移动,目的节点可能与一个中
间节点相遇。该维护过程基本时序图参见图3。当这个中间节点将消息成功传输给目的节 点以后,该节点对保存的消息投递确认列表进行维护更新使其不再接收这个消息。
下面对上述各个部分的操作内容作进一步具体介绍-
在阶段(1)中,路由寻找过程主要包含以下几个步骤
(11) 发送路由探测信息服LLO。当节点缓存器非空时,周期性地广播路由探测信息 HELLO (扩展的路由探测信息包)。包格式见图4,其特征为HELLO信息头部包含megList 字段和ACKList字段。megList字段和ACKList字段格式见图5。 megList字段记录发送 探测信息节点缓存器中所有消息信息的列表。ACKList字段记录发送探测信息节点保存的 消息投递确认信息列表。
(12) 接收探测信息HELL0。中间节点收到HELLO后提取包头信息中的megList字段 和ACKList字段,得到megList一S列表和ACKList_S列表。同时,根据该节点保存的消息投递确认信息ACKList_A对ACKList—S和megList—S进行更新,去掉其中与ACKList_A 中记录重复的部分。将ACKList_A另存为ACKListback,同时更新中间节点的ACKList—A, 其值等于原ACKList—A与更新后ACKList—S中记录之和。根据更新后的ACKList—S对中 间节点的缓存器进行主动维护,删除缓存器中与ACKList—S列表相符的消息并更新本节 点保存的消息列表raegList一A。根据本节点保存的消息列表megList_A对megList—S进行 再次更新,去掉其中与megLisCA中记录重复的部分。
(13)发送返回信息REPLY。本方法中只有收到HELLO包的中间节点可以回复REPLY 信息,REPLY包格式见图6。 REPLY中包含avimegList字段与ACKList字段。avimegList 记录上述更新后的megList—S中的记录;ACKList记录上述ACKListback中的记录。 在阶段(2)中,数据发送过程主要包含以下几个步骤
(21) 收到返回信息REPLY。发送HELLO包的节点收到一个REPLY后提取包头信息中 的avimegList字段与ACKList字段,得到avimegList列表和ACKList—A列表。根据该 节点保存的消息投递确认信息ACKList一S对ACKList_A进行更新,去掉其中与ACKList一S 中记录、重复的部分。更新节点的ACKList—S,其值等于原ACKList—S与更新后ACKList—A 中记录之和。
(22) 根据更新后的ACKList—A对缓存器进行主动维护,删除缓存器中与ACKList—A 列表相符的消息并更新本节点保存的消息列表megList—S。根据avimegList,顺序发送 缓存器中与之相关的消息。
所述部分(3)进一步包括下述操作内容 (31)节点将消息发送给目的节点后,检査收到的媒体访问控制层确认信息。当收 到此次传输的确认信息后,表明该消息已经成功投递,该节点将相关记录添加到本地保 存的消息投递确认列表中,并从缓存器中删除该消息。
下面以图7为例,并参照图2和图3,介绍本发明主要部分一路由寻找过程和节点消 息投递确认列表维护过程的工作流程
在图7所示的拓扑网络中,假设节点S需要发送消息X到节点D,其中R代表各节点 的通讯范围。定义D(ij)为节点i与节点j之间的距离,B(i)为节点i中的消息,为则以 下条件被满足
a) Time Slot=l: D(SA)〈R, D(SB)〉R, D(SC)〉R, D(SD)〉R; B(S)=X, B(A)=NULL, B(B):亂L, B(C)=Y, B(D)=NULL ,
b) TimeSlot=2: D(SA)〉R, D(SB)〈R, D(SC)〉R, D(SD)〉R, D(DA)〈R: B(S)=X, B(A)二X, B(B)=NULL, B(C)=Y, B(D)二NULL
c) Time Slot=3: D(AB)〉R, D(AC)〈R, D(DB)〉R, D(SC)〉R; B(S)=X, B(A)=NULL, B(B)=X, B(C)=Y, B(D)=NULL;
d) TimeSlot=4: D(AB)〈R, D(SC)〈R, D(DB)〉R, D(SA)〉R; B(S)=X, B(A)=Y, B(B)=X, B(C)=Y, B(D)=NULL;e) Time Slot〉4: B(S)=Y, B(A)=Y, B(B)=Y, B(C)=Y, B(D)=NULL;
(1) 节点S需要发送消息X到节点D,由图7可知在Timeslot (时段)l时间内, 节点A在S的传输范围内,而D不在;则S向它的邻居节点A广播路由请求信息包HELLO。 节点A收到该包后,返回应答信息REPLY并同意接收消息X。节点S收到REPLY后将消息 X发送给节点A。
(2) 在Timeslot (时段)2时间内,随着节点的移动,节点A进入节点D的通讯 范围;同时,节点B进入节点S的通讯范围。此时,节点A缓存器非空,因此广播HELLO 给节点D。当节点A收到节点D的应答信息REPLY后发送消息X至节点D。在收到MAC层 ACK后确认消息X已经成功投递到目的节点并维护本节点保存的消息投递确认信息列表, 即将此记录添加入节点A的消息投递确认信息中。由于节点S无法同步获得消息X己经 投递成功的确认信息,因此仍将消息X复制并发送给此时的邻居节点B。
(3) 在Timeslot (时段)3时间内,随着节点的移动,节点A进入节点C的通讯 范围。此时,由于节点C缓存器非空,则向邻居节点A广播HELLO包。节点A返回应答 信息REPLY,并同意接收消息Y。节点C发送消息Y给节点A,并根据REPLY中的ACKList 列表更新本节点消息投递确认信息,即将消息X己经成功投递的记录添加进入本地 ACKList中。
(4) 在Timeslot (时段)4时间内,随着节点的移动,节点A进入节点B的通讯 范围,节点C进入节点S的通讯范围。由于节点B缓存器非空,节点B广播服LLO包给 节点A,节点A返回应答信息REPLY,不同意接收消息X。节点B根据REPLY中的ACKList 列表对缓存器进行维护,删除消息X,并更新本地节点消息确认信息。同时,节点C收到 节点S广播的路由请求信息,返回应答信息REPLY,不同意接收消息X。节点A根据REPLY 中的ACKList列表对缓存器进行维护,删除消息X;同时返回上层停止重传消息X。此外, 由于消息Y没有到达目的节点,节点S和节点B将分别接收消息Y并存储在其缓存器中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原 则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1. 一种用于容迟网络和间歇连接网络的节省节点能量的方法,其特征在于包括下列几个组成部分(1)源节点查询节点邻居表,若邻居列表中存在目的节点信息,则传输此消息至目的节点,否则将该消息暂存于节点缓存器中;凡缓存器非空的节点周期性地发送探测信息,能够相互通讯的节点之间利用该探测信息交换消息列表和消息投递确认列表以确定缓存器中哪些消息需要进行交换。该过程主要包含以下几个步骤发送探测信息HELLO,接收探测信息HELLO,发送返回信息REPLY。(2)当探测信息发送节点收到一个返回信息时,利用返回信息中携带的消息投递确认列表对缓存器进行主动维护,更新消息投递确认信息,并发送消息。(3)通过节点在网络中的移动,目的节点与一个中间节点相遇,该中间节点将消息成功传输给目的节点以后,该节点将相关记录添加到本地保存的消息投递确认列表中,并从缓存器中删除该消息。
2. 根据权利要求1所述的减少容迟网络和间歇连接网络中冗余消息的方法,其特征在于, 其中的步骤(1)中,按下列步骤执行探测信息的发送和交互(11) 缓存器非空的节点发送路由探测信息HELLO,该信息头部包含megList字段和 ACKList字段,megList字段记录发送探测信息节点缓存器中所有消息信息的列表, ACKList字段记录发送探测信息节点保存的消息投递确认信息列表;(12) 中间节点收到HELLO后提取包头信息中的megList字段和ACKList字段,得 到megList—S列表和ACKList_S列表,根据该节点保存的消息投递确认信息ACKList—A 对ACKList—S列表和megList—S列表进行更新,去掉其中与ACKList—A中记录重复的部 分;同时更新中间节点的ACKList—A,其值等于原ACKList_A与更新后ACKList—S中记录 之和;根据更新后的ACKList—S对中间节点的缓存器进行主动维护,删除缓存器中与 ACKList_S列表相符的消息并更新本节点保存的消息列表megList_A;根据本节点保存的 消息列表megList_A对megList_S进行再次更新,去掉其中与megList_A中记录重复的 部分。(13) 收到HELLO包的中间节点回复信息REPLY,该信息中包含avimegList字段与 ACKList字段;avimegList记录上述更新后的megList—S中的记录;ACKList记录上述 ACKListback中的记录。
3. 根据权利要求1所述的减少容迟网络和间歇连接网络中冗余消息的方法,其特征在于, 其中的步骤(2)中,按下列步骤执行(21)发送HELL0包的节点收到一个回复信息REPLY后提取包头信息中的avimegList 字段与ACKList字段,得到avimegList列表和ACKList_A列表;根据该节点保存的消息 投递确认信息ACKList—S对ACKList—A进行更新,去掉其中与ACKList—S中记录重复的 部分;更新节点的ACKList—S,其值等于原ACKList一S与更新后ACKList_A中记录之和。(22 )根据更新后的ACKList—A对缓存器进行主动维护,删除缓存器中与ACKList—A 列表相符的消息并更新本节点保存的消息列表megList_S;根据avimegList字段,顺序发 送缓存器中与之相关的消息。
全文摘要
本发明属于网络通信技术领域,涉及用于容迟网络和间歇连接网络的节省节点能量的方法,包括源节点查询节点邻居表,若不存在目的节点信息,则将该消息暂存于节点缓存器中;凡缓存器非空的节点周期性地发送探测信息,利用该探测信息交换消息列表和消息投递确认列表;当探测信息发送节点收到一个返回信息时,利用返回信息中携带的消息投递确认列表对缓存器进行主动维护,并发送消息;中间节点将消息成功传输给目的节点以后,该节点将相关记录添加到本地保存的消息投递确认列表中,并从缓存器中删除该消息。本发明能够有效降低节点能耗,实现整个网络性能的改善和生命期延长。
文档编号H04L1/16GK101414965SQ20081015372
公开日2009年4月22日 申请日期2008年12月4日 优先权日2008年12月4日
发明者欣 王, 舒炎泰, 金志刚 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1