无线自组织网络中的最大生存时间路由的制作方法

文档序号:7760070阅读:217来源:国知局
专利名称:无线自组织网络中的最大生存时间路由的制作方法
技术领域
本发明涉及无线自组织(ad hoc)网络,尤其涉及用于无线自组织网络中的最大生存时间路由技术。
背景技术
无线自组织网络,也被称作为移动无线自组织网络(MANET),所知道的包括一组用无线链路连接的节点。自组织网络的典型例子是无线传感器网络,在其中,节点是传感器,用来收集环境数据并将信息发送到用于进一步处理的计算节点,或者用于向有线网络转发的基站。例如可以在诸如辅助营救工作的灾难地区、用于矿物或者石油勘探的地区以及用于防务应用的战场的危险地方,采用这样的网络。
由于节点一般自由地随机移动,并且任意地自组织,所以自组织网络的拓扑是动态的。因此,由节点的目前地理位置和其它环境条件以及节点拥有的无线收发器的特性,可以确定拓扑。因此可以用表示网络中的节点的图的“节点”和表示在节点之间链接的图的“边”将拓扑表示为任意图。
在自组织网络中的节点一般试图通过转发分组在彼此之间通信。然而,由于作为自组织网络中的节点的特性的有限传输范围,一般需要多个网络“跳”,以便一个节点和跨越该网络的另一个节点交换数据。问题是要设计有效的路由协议来实现给定这样一种通信环境的各种性能目标。
大多数现存的用于无线自组织网络的路由协议在面临由移动性或者其它环境变化导致改变拓扑时,集中于找到并维持路由。典型的协议使用了基于跳计数、几何距离或者发射功率的最短路径方法。在最小化延迟和最大化吞吐量方面,前两个是重要的。第三个目标是无线自组织网络特有的,并且因为一般所涉及的节点具有有限的电源且无线通信要消耗该电源中的大部分,因而是重要的。
为了解决该问题,已经开发了几个功率获知路由和拓扑控制方法。在这些方法的大多数中,目的在于最小化每分组所消耗的能量,以便将它传递到目的地。典型的方法是利用分布式最短路径方法,其中,边成本(edge cost)与在所涉及的两个节点之间传输分组所要求的功率有关。用此技术的问题是,在最小能量路径上的节点很快地消耗功率,当它们失败时,影响网络连接性。
更复杂的路由方法中的某些将成本和经过具有低功率储备(reserve)的节点的路由联系起来。但是这最多依然是探索性的解决方案。
利用线性规划的公式化(formulation)已经被提出,其试图更精确地捕捉功率消耗的问题,见J.H.Chang等人的“Routing for Maximum System Lifetime inWireless Ad-hoc Networks”,Proceedings of 37thAnnual Allerton Conference onCommunication,Control and Computing,September 1999;和J.H.Chang等人的“Energy Conserving Routing in Wireless Ad-hoc Networks”Proceedings of IEEEINFOCOM,pp.22-31,March 2000,它披露的内容通过在此引用而合并。其思想是使路由的目标是“网络生存时间”最大化。正如所知,网络生存时间是其中在没有节点故障下网络运行的时间周期。这种最大化方法利用了用于近似地求解线性规划的探索性方法。然而,这样一种探索性方法在最恶劣情况的情形下,不可任意地执行。
而且,在J.H.Chang等人的“Fast Approximation Algorithms for MaximumLifetime Routing in Wireless Ad-hoc Networks”,Lecture Notes in ComputerScienceNetworking 2000,vol.1815,pp.702-713,May 2000中,已经提出了用于确定最大生存时间的中心方法,其披露的内容通过在此引用而合并。这样的中心方法是基于用于多物流(multicommodity flow)的Garg-Koenemann方法,正如在N.Garg等人的“Faster and Simpler Algorithm for Multicommodity Flow andOther Fractional Packing Problems”,Proceedings of 39thAnnual Symposium onFoundations of Computer Science,pp.300-309,November 1998中所述,它所披露的内容通过在此引用而合并。
然而,该方法没有解决与上面的线性规划方法相关联的所有性能缺陷。
因此,用于满足与自组织网络环境等相关联的性能目标的有效路由技术的需要仍然存在。

发明内容
本发明提供了用于满足与自组织网络环境等相关联的性能目标的有效路由技术。本发明的技术用于充分最大化网络的生存时间。
在本发明的一个方面,用于分布式网络的分组路由技术包括下面的步骤/操作。维持用于存储分组的队列,其中至少一个队列与存在于所述节点和邻居节点之间的链路相关联,并且队列具有与其相关联的高度。接着基于在邻居节点处的队列高度为存储在所述队列中的一个或者多个分组确定路由,使得与所述节点和邻居节点相关联的能量约束被基本上最大化。如所述,分布式网络最好是移动自组织网络,其中所述节点和至少一个邻居节点通过无线链路通信。
当节点的队列高度大于邻居节点的队列高度时,可以将一个或者多个分组通过链路从节点队列发送到邻居节点队列。而且,当节点的队列高度小于邻居节点的队列高度时,可以在节点队列中通过链路从邻居节点队列接收一个或者多个分组。
节点可以从至少一个邻居节点接收广播信息,与至少一个邻居节点的至少一个队列的高度有关。而且,节点可以将信息广播给至少一个邻居节点,与所述节点的至少一个队列的高度相关。
可以在多轮中向/从节点路由分组,使得吞吐量要求基本被满足,同时基本上最大化与分布式网络相关联的生存时间。而且,网络生存时间具有与之相关联的上限和下限。
而且,本发明的路由确定技术还可以考虑以下一个或多个与节点相关联的空闲功率消耗、与节点相关联的计算功率消耗、与节点相关联的周期性再充电、一个或者多个边约束、以及与在节点处接收分组相关联的功率消耗。
优点是,正如在此将会详细解释的那样,本发明可以提供分布式路由方法,该分布式路由方法在渐近的小的相对误差之内达到最佳路由的方案。而且,本发明的技术最好基于多物流的公式化,而且它们考虑到不同的功率消耗模型和带宽约束。虽然可以对各种网络使用本发明的技术,它们对于静止和缓慢变化的动态网络特别有效。不过,也可以根据动态网络实施本发明的技术。
根据下面要结合附图阅读的本发明的说明性实施例的详细描述,本发明的这些和其他目的、特征和优点将会变得明白。


图1是说明在其中可实施本发明的技术的无线自组织网络的框图;
图2是说明其可以被用来实施本发明技术的计算系统的例子的框图;图3是说明根据本发明的实施例的核心路由方法的流程图;图4是说明根据本发明的实施例的分布式路由方法的流程图;以及图5是说明在用于根据本发明的实施例的分布式路由方法的每个节点处的判决流的流程图。
具体实施例方式
下面的描述将利用示范性的自组织网络架构说明本发明。不过,应该懂得,本发明不限于使用任何特定的自组织网络架构。而是,本发明更一般地来说可适用于其中想要进行有效的数据路由的任何网络架构。
首先,参照图1,框图说明了其中可以实施本发明的技术的无线自组织网络。正如所示,无线自组织网络100包括通过无线链路连接的多个移动节点102-1至102-N。节点数N取决于使用它们的应用,因此,本发明不限于任何特定数。
节点102-1至102-N是随机自由移动的,并且任意地自组织。因此,自组织网络100的拓扑是动态的。而且,节点102-1至102-N通过转发分组来在彼此之间通信。然而,正如上面所提及的,由于作为在自组织网络中的这样节点的特性的有限传输范围,对于一个节点可能需要多网络跳(如图1中的104所示),来和跨越网络100的另一个节点交换数据。
因此,正如图1所示,节点102-1可以通过经由无线链路发送分组到节点102-3(第一跳)和节点102-N通信,节点102-N接着经由无线链路发送分组到节点102-4(第二跳),节点102-4接着经由无线链路传送分组到节点102-N(第三跳)。当然,取决于各种因素,可以以更多或更少跳经由其他路由104将分组由节点102-1传送到102-N。也应该懂得,为了清楚的缘故,图1没有特别地说明可用来将分组从一个节点传送到另一个的所有可能的跳布局。同样,要意识到,节点可以在它自己和其他的节点之间有分开的无线链路,不过,一个跳指从所述节点经由它的无线链路中的一个到其它节点中的一个的数据传送。在任何情况下,要意识到,本发明所主要关注的是在网络中的路由选择(即确定路由方案)。
要意识到,在网络100中的节点的任何一个可以作计算节点用,其中可以对向其发送的分组进一步按某种方式进行处理。此外,节点102-N或者在所述网络中的基站106的范围内的任何其它接收节点,可以将信息发送到用于转发至有线网络108的基站。有线网络108可以是专用数据网络、因特网等。要理解,为了清楚,在图1中只说明了一个基站和有线网络;然而,可能存在与一个或者多个附加有线网络进行通信的一个或者多个附加基站。当然,也要理解网络108可以替代地是另一个无线网络。
因此,在危险或者有敌意的环境中采用节点102-1至102-N以便在所述环境中收集数据的情形,可以将由节点收集的数据经由有线网络108发送到远程位置,使得它可以在非危险或者非敌意(或者至少较少危险或者敌意)的环境中被呈现和/或分析。
现在参照图2,框图说明了其可以被用来实施本发明全部或者部分技术的计算系统或者设备的例子。更具体来说,节点102-1至102-N中的一个或者多个和/或基站106可以实施这样一种计算系统200,以执行本发明的技术(虽然,基站可以不必需要“传感器”,这一点下面将解释)。当然,要懂得本发明不限于任何特定计算系统实现。
在该说明性实现中,用于实施本发明至少一部分方法的处理器202经由总线210或者替代的连接装置,被操作性地耦合至存储器204、传感器206和网络接口208。要意识到,如这里所使用的术语“处理器”旨在包括任何处理器件,诸如例如包括中央处理单元(CPU)和/或其它处理电路系统(例如,数字信号处理器(DSP)、微处理器等)的处理器件。而且,要理解,术语“处理器”可以涉及多于一个处理器件,并且与处理器件相关的各种组件可以由其它的处理器件来共享。
如在此所使用的术语“存储器”旨在包括存储器和其它与处理器或者CPU有关的计算机可读介质,诸如例如随机访问存储器(RAM)、只读存储器(ROM)、固定存储介质(例如,硬盘驱动器),可移动存储介质(例如,磁盘)、快闪存储器等。下面将讨论的是,所述存储器可以最好被用于实施与节点相关联的一个或者多个队列。
而且,如在此使用的术语“传感器”旨在包括,例如,一个或者多个能够从其中部署了计算系统200(例如,移动节点)的环境中收集数据的器件。传感器的例子可以是与无线通信器件相关的接收器,其能够从其中部署了它们的环境中收集数据。然而,要理解本发明不限于任何特定传感器。而且,典型的情况是,基站将没有传感器。
而且,如在此所使用的短语“网络接口”旨在包括,例如一个或者多个能够允许计算机系统200(例如,移动节点或者基站)来和另一计算系统(例如,移动节点或者基站)通信的设备。因此,网络接口可以包括配置成经由适合的无线协议和另一个计算系统(例如,移动节点或者基站)的收发器通信的收发器。无线传输协议的例子可以是蓝牙(Bluetooth)和IEEE 802.11。然而,要理解,本发明不限于任何特定的通信协议。
要理解,尽管这里在网络通信系统的环境中,已经描述了本发明,但是,本发明的方法可以是能够以计算机可读介质的形式分发,而且可以实施本发明,而且实现它的优点,而不管实际上用于分发的承载信号的介质的特定类型。如在此所使用的术语“计算机可读介质”旨在包括,诸如例如软盘、硬盘驱动器、RAM、致密盘(CD)、ROM等的可记录型介质,和诸如数字和模拟通信链路、利用诸如例如射频和光传输等的传输形式的有线或者无线通信链路的传输型介质。计算机可读介质可以采用用于在特定的数据处理系统中解码的编码格式的形式。
因此,如在此所描述的,包括用于执行本发明的方法的指令或者代码的一个或者多个计算机程序或者其软件组件,可以被存储在相关的存储介质的一个或者多个中(例如,ROM、固定或者可移动存储器),并且,当准备使用时,被全部或者部分地加载(例如到RAM中),并由处理器202来执行。
在任何情况,要意识到,在此所描述的或者在所附的图中所示的本发明的技术,可以以硬件、软件或者其结合的各种形式来实现,例如一个或者多个可有效编程的带有相关的存储器的通用数字计算机、特定实现的集成电路、功能电路系统等。给出在此提供的本发明的技术,本领域的普通技术人员将能够设想出本发明技术的其它实现。
为了便于引用,将详细描述的剩余部分划分为下面的部分(1)导言;(2)问题公式化;(3)本地控制流方法;(4)最大化生存时间;(5)实现;(6)本地约束范围;以及(7)节点的说明性判决流。
1.导言正如上面所述,给定自组织网络环境的特性,问题在于设计有效的路由方法来满足自组织网络环境的各种性能目标。本发明解决了该问题,并提供了用于实现这样的性能目标的解决方案。
根据本发明,正如下文所述,所述路由问题明晰地公式化为最大并发的流问题。所有的路由问题都有类似的流实现,其中,所述流表示了分组采取的路由,需求表示由各种节点产生分组的速率。该公式化考虑了将最大流技术应用于最大网络生存时间的路由问题。然而,许多已知的最大流技术不是非常适合于如路由方法所必需的分布式实现,或者不很适合于变化的网络拓扑。而且,它们一般较适合于其中约束是链路带宽(在单位时间内在边上能够路由的分组数)和节点容量(在单位时间内可以由节点转发的分组数)的有线网络路由的问题。
本发明提供了用于所述路由问题的分布式流方法。所述方法找出了相对于如果存在则切实可行的流的近似。优点在于,不像现存的探索性方法(例如,在上面的背景技术部分所描述的探索性方法),本发明的近似因子是有保证的。同时,根据本发明,为本方法的性能建立了下界。在本发明的技术可适用于各种网络的同时,该技术特别地非常适合于具有各种功率消耗模型的静态网络,以及具有缓慢变化边成本的动态网络。
本发明的方法相对现存路由方法具有优点的一个例子是,本发明是分布式本地控制方法,因此不需要带有网络全局认识的中央节点。这也是为什么本发明的方法对于动态网络非常有效的一个原因。
2.问题公式化在该部分,问题被更精确地公式化,并且提供了线性规划和流解释(interpretation)。
其中要实施本发明的路由方法的主题网络(诸如,例如,图1中的网络100)被表示为具有N个节点和M个边的图,所述节点表示无线设备,而所述边表示在它们之间的无线链路。和每个节点i相关联的是量Ei,表示所述设备的初始能量储备。每个边ij具有成本eij,它是为跨越相对应的链路传输数据的一个分组所需要的能量。
所述路由问题包括一组K个作为网络中的成对节点的源和目的对。每个对都有吞吐量需求Qc,必须在源和目的节点之间路由的每秒的分组数。由变量fijc给定路由,其表示跨越用于连接c的链路ij发送分组的速率。
2.1线性规划公式化网络的“生存时间”被定义为在第一个节点故障出现之前的时间周期,即,某个节点的能量储备被降低为零之前的时间周期。本发明用这样一种方法路由分组,使得在满足吞吐量要求的同时,最大化所述生存时间。所述生存时间用T表示。变量 表示在网络生存时间上用于从节点i发送到节点j的连接c的分组总数。
在节点i消耗的总能量给定为Σj,ceijf^ijc]]>其中,对相邻于i的所有节点和所有连接c求和。在除了对于特定连接c的源和目的外的每个节点处,所接收的分组数等于所发送的分组数。在源处,所发送的分组数等于在网络的生存时间上的QcT。
因此,线性规划是最大化T使得(1)----f^ijc≥0---∀i,j,c]]>(2)----Σj,ceijf^ijc≤---∀i]]>(3)----Σjf^ijc-Σkf^kic=QcT∀i,c0]]>在其它场合,i是用于c的源。
第二约束是由于在节点处的有限电源,而所述第三约束表示在源处的吞吐量要求以及其它节点处的守恒约束。
该公式用来表明所述问题能够精确地用多项式时间(polynomial time)在理论上解决。
2.2多物流路由问题一般来说可解释为流问题。变量fijc可被认为是物品(commodity)c的流值。进入分组以外出分组离开的相同速率到达的要求等价于流守恒约束在任何中间节点,进入流的量等于外出流的量。路由问题的源和目的变成为流问题中的源和宿(sink)。吞吐量要求Qc表示在源处产生流以及在宿处消耗流的速率。于是,在每个瞬时时刻,将路由表示为满足要求Qc的多物流。
网络的时间进展(evolution)被认为是以同步轮(round)序列进行。在每轮,Qc分组在每个源节点被产生。分组可以在节点之间传输,并且每个节点的能量储备通过它传输的分组的总成本来降低。于是,如果fij是由节点i传输到节点j的分组数,则在该轮中,通过∑jeijfij来降低i的能量储备。由于每个节点实际上将为大量的连接转发分组,能量的降低由下式给定Σj,ceijfijc]]>
从问题的公式化,似乎显现出更一般的版本请求能够维持可行的多物流多少轮,其中,允许流随着时间而变化,并且某些中间节点可能在所述要求变得不可行之前失败。这不导致在仅仅持续到第一个节点失败的静态流上可达到的生存时间的改善,然而,正如通过下面的论点可以看到的那样假定达到最大生存时间T的流是在时刻t的fijc(t),并且在每个瞬间满足需要。用它的时间平均代替该可变流f~ijc=1T∫0Tfijc(t)dt]]>该静态流在每个瞬间将满足相同的需要,那么现在没有节点会在生存时间T之前失败。因为流是静态的,所以在节点i处任何轮中所消耗的能量不超过Ei/T。
因此,为了达到生存时间T,寻找满足全部需要而且受下式约束的多流就足够了Σj,ceijfijc≤EiT]]>对于所有的i在下一部分中将描述用于此问题的近似方法。
3.本地控制流方法本发明的方法将用如上所述的流解释的术语来表达。目标在于确定生存时间T的给定值是否是可行的。即,可能在网络中路由流,使得所有需要被满足,而在T轮已经经过之前,没有节点用完能量。
假定存在这样的多流,其不仅满足需要Qc,而且满足稍微更多,即对于某参数∈>0,需要(1+∈)Qc。
因此,本发明提供了下面的准则(1)如果需要(1+∈)Qc是可行的,那么存在对于任意δ>0,在运转8ML(K+ln(6K/∈))∈δ]]>轮之后满足需要(1-δ)Qc的路由方法。
通过实际描述这样一种方法并给出它的性能的完整分析,下面证明准则(1)。要懂得,根据本发明的方法,所述约束是针对节点的,因为每个节点必须考虑它的能量预算Ei/T。
3.1描述每个节点维持用于它的链路中的每一个的K个队列。在每轮中,在队列中的流可以被移动到所述链路的另一端。流也可以在单个节点的队列中间重新分布。
用qijc表示在节点i处的链路ij上物品c的队列高度。所述链路在它的另一端有另一个队列,用qijc表示。
定义了与每个队列相关联的势函数(potential function)φ(q),其中q是队列高度。当在下面分析方法的性能时将完整地确定势函数,现在注意它是二次可微的凸函数。所述方法运行以便最小化所有队列的势函数的和。
现在参照图3,流程图说明了根据本发明的实施例的路由方法(在此称作为“核心”方法)。在方法300的每一轮中,进行下面的阶段(步骤)·注入流(步骤302)。对于每个物品c,在对应源处添加Qc流。
·平衡节点(步骤304)。在每个节点均衡队列。
·推动流(步骤306)。将用于边ij的qijc和qijc队列的每一对和所述队列高度更高的节点关联。为了减少势,将分组从更高队列移动到更低队列(这从φ的凸性得出)。于是,下面的函数被最小化Σj,cφ(qijc-fijc)+φ(qjic-fijc)]]>其中在与节点i相关联的边ij上求和,并且,变量是受下面的式子约束的fijcΣj,ceijfijc≤EiT]]>接着将解fijc用于从节点i至节点j移动流。
·耗尽流(步骤308)。在它的宿处吸收用于物品c的流。即,将处于宿的用于c的所有队列的高度设置为0。
3.2分析将会显示出随着时间的推移,在系统中的势依然有界,这意味着注入到网络中的流的多数到达了适合的宿。
此想法是,通过比较所述方法所做的和替代地如果根据实际可行的多流选择流值将会发生的,降低在一轮中的势下降的界。这反过来又将意味着当重复执行所述方法时势可变多大的上界。
为了简化书写表达式,将假定源节点和目的节点两者都有单位度,并且所有流和队列被比例化,使得用于每个物品的需要是一(unity)。
在最初的两个阶段之后的势的增加至多为Σcφ(sc)-φ(sc-1)≤Σcφ′(sc)]]>其中,sc是在流注入之后在源处物品c的总量。
当流被推动时,势会降低,并且评估势的降低,考虑如果使用满足需要(1+∈)的可行流fec,来代替所计算的最小化流值时发生什么情况。表达式是Σe,cφ(qehc)+φ(qetc)-φ(qehc+fec)-φ(qetc-fec)]]>其中,求和扩展到对网络中的所有边,并且qehc和qetc分别表示在边的头和尾处物品c的队列高度。将扩展的均值定理应用于φ,并将表达式简化为Σe,cfec(φ′(qetc)-φ′(qehc))-12(fec)2(φ′′(qehc+ξehcfec)+φ′′(qetcfec))]]>其中,ζetc和ξehc是在0和1之间的适当常数。现在注意,除了在源和宿处外,第一阶导数项将抵消掉,因为在节点平衡阶段中,使得在给定节点的给定物品的所有队列高度相等,并且fec满足流守恒特性。选择势函数使得第二阶导数项对所述和的贡献非常小。具体来说,假定它们的贡献至多是 因此,势下降至少为Σc(1+∈)((1-∈2)φ′(sc)-φ′(0))]]>于是,在整个轮期间,势至少下降Σc(∈2-∈22)φ′(sc)-(1+∈)Kφ′(0)]]>注意,如果忽略从较低高度队列到较高队列移动流的流值fec,则只有势降(potential drop)将得到改善。因为本发明的方法在最小化的同时考虑了所有这样的可行的更新,它找到的势降将会比仅仅推导出的势降更好。
设S为满足所述以下等式的值(∈2-∈22)φ′(S)=(1+∈)Kφ′(0)]]>那么,如果对于任意的物品,sc≥S,则在所述轮期间的势降将会是非负的。网络中物品c的量由2MS限制,用来显示没有队列在高度上可以超过S。
为了实现此,在每个源节点使用了溢出(overflow)缓冲器。想法是如果在源处的队列已经达到S,那么将附加的注入流放入专门的溢出缓冲器,其具有势bφ′(S),如果它有物品量b的话。利用此势函数,当注入流时的势增加通过φ′(sc)保持上界。限制源队列边界的优点是,没有其它的队列可以超过此界。因此容易看到,给定队列高度的具体值,在此情形中为S,则超过此高度的第一队列必定在源处。
现在我们通过归纳轮数证明,所述势必定总是小于2MKφ(S)。因为只要溢出缓冲器对于所有物品是空的,这就依然为真。如果,另一方面,流注入阶段溢出某些源队列,那么势实际上在此轮期间降低。
因此,溢出缓冲器的最大尺寸是2MKφ(S)/φ′(S)。在下一个部分将需要此结果,于是它被重述为准则(2)如果S满足等式 则溢出缓冲器的最大尺寸是2MKφ(S)/φ′(S)。
在边队列里面的物品c的最大量是2MS,因此,将此和溢出缓冲器的上界结合,我们得到有关在系统中的物品的总量的2M(S+KφS)/φ′(S))上界。
现在我们设势函数φ(q)=eaq,对于α=∈/4L,其中L是在可行流fec中最长流路径长度的上界。对于∈足够小,这给出Σe12(fec)2(φ′′(qehc+ξehcfec)+φ′′(qetc-ξetcfec))]]>≤Σe(fec)2α2eα(S+fec)]]>≤(1+∈)αeα(1+∈)Σefecφ′(S)]]>≤(1+∈)∈4Le∈(1+∈)/4LL(1+∈)φ′(S)]]>≤∈2φ′(S)]]>对于S的等式给出S≤(4Lln(6K/∈)∈).]]>于是,在系统中给定物品的总量至多是R=8ML(K+ln(6K/∈))/∈。
假定所述方法连续运行R/δ轮。泵入网络的物品c的量是R/δ,而在网络中剩余的量至多是R。因此,每轮通过网络运输的物品的平均量是1-δ。这证明了上面的准则(1)。
另一个感兴趣参数是当用本发明的方法路由时分组经历的平均延迟。因为在系统中的物品量最后用R限定,所以,由Little定律,平均延迟也由R定上界。
因此,准则(3)可以表述为分组的平均延迟至多是8ML(K+ln(6K/∈))∈.]]>4.最大化生存时间现在提供有关如何使用所述方法收敛于适合最大生存时间的路由的描述。暂时考虑可得到中央控制,并且信息可以在所有节点同时被更新。
将节点约束设为Ei/T,并且我们将改变T直到它收敛于最佳值T*。想法是,如果T太大,则节点约束太严格,以至于不能考虑可行流,因此源队列将会无界地增长。因此,我们开始给T小于真实生存时间的某个值,并增加它,直到我们发现某溢出缓冲器超过界2MKφ(S)/φ′(S)。现在,我们知道最佳生存时间T*在因子2内,并且可以进行二分(bisection)搜索来准确地确定它。
假定想要在相对误差∈之内确定最佳生存时间T*。初始化T为某个适合值T0,它被假定为小于最佳T*。设定所述方法运行2R轮。如果没有溢出缓冲器超出界2MKφ(S)/φ′(S),则由准则(1)已知通过网络运输的物品的平均分数至少为二分之一。
注意,如果要求λQc可以约束Ei/T满足,则按1/λ缩放所有的流值表明要求Qc可以约束Ei/λT满足。因此,如果要求Qc/2平均起来以约束Ei/T满足,则已知要求Qc可以约束2Ei/T满足,于是,T*≥T/2。T被加倍,并且运行另一个2R轮。重复该处理,直到某些溢出缓冲器增加到靠着2MKφ(S)/φ′(S)上界,比方说,在T=T1时。在该点,已知(1+∈)T1≥T*≥T14]]>该上界是由于如果要求(1+∈)Qc在约束Ei/T1的情况下已经可行的话,那么由准则(2),溢出缓冲器不能超出2MKφ(S)/φ′(S)。
溢出缓冲器一到达它的界限,就停止所述方法,即使全部2R轮没有执行完。由于这一点,在单个缓冲器中可以发生的最大越界值(overshoot)是1个单位,对应于φ′(S)的势越界值。为了使势回到界2MKφ(S)下面,在越界(overshoot)的源处,在不注入任何新的分组的情况下,运行所述方法一轮。假定源溢出缓冲器的K′超出它们的界。那么,该轮产生的势下降将至少是K′φ′(S),因此,将足以将势降到2MKφ(S)以下。
在找出关于T*的上界的这个过程期间在节点i处所消耗的功率至多是2EiR(1T0+12T0+···)≤4EiRT0]]>既然得到了上、下界,进行搜索就更精确地确定了T*值。第一个方法是使用二分(bisection)搜索,运行方法R/∈轮以将搜索间隔缩减大约二分之一。但是第二技术显著缩减了搜索时间。如果Th和Tl是目前的上下界(开始时,Th=T1而Tl=T1/4),则选择测试值T=(2Th+Tl)/3,从Th到Tl的路程的三分之一,并且运行所述方法R/δ轮,其中δ=(Th-Tl)/3T。想法是如果在这许多轮中,没有源溢出缓冲器超出它的界限,那么由准则(1)(1+∈)Th≥T*≥T(1-δ)=Th+2Tl3]]>而如果某缓冲器超出它的界,那么(1+∈)T≥T*≥Tl在任一种情形中,将搜索间隔减少2/3因子。在这些R/δ轮期间在节点i处消耗的额外功率(在理想的Ei/T*之上)至多是Rδ(EiT-EiT*)≤3EiRT*]]>如在此搜索过程期间所花费的轮数至多是 而在节点i处的总的额外功率消耗至多是3EiRlog3/2(3/∈)T*]]>为收敛于T*的精确值而花费的轮总数因此为R(2log4T*T0+25∈)]]>在剩余轮期间,每轮所消耗的功率至多是Ei/(1-∈)T*。因此,如果4EiRT0+3EiRlog3/2(3/∈)T*≤∈Ei]]>那么,节点将持续至少(1-2∈)T*轮。因此,如果选择T0=8R/∈,并且如果T*≥6Rlog3/2(3/∈)∈]]>那么节点的剩余寿命是至少(1-2∈)T*。
进而,准则(4)可以被表述为存在达到(1-2∈)T*的生存时间的路由协议,如果T*≥48MLlog3/2(3/∈)(K+ln(6K/∈))∈2.]]>对于T*的给定值∈=Θ(MLT*(K+logT*ML))12]]>应该被选择来获得最可能的界限。要理解f=Θ(g)意味着存在常数c1和c2,使得c1g≤f≤c2g。
5.实现在此部分,考虑了如至目前为止所提出的与实施所述方法相联系的3个问题。第一个问题是,迄今,流已经被当作连续量看待。然而,在路由中,一般希望不分裂分组。于是,离散化所述队列,使得它们包含整数个分组,并且,一次路由整个分组。第二个问题是计算最小化节点处势函数的流值。第三个问题是如何用分布式方法而不是上面分析的集中式方式收敛到最大生存时间。
实际中出现的另一个问题是,通信量(traffic)不以平滑的、确定的方式发生,而实际上可以是间歇的或者突发的。为了应对这一点,在每一个源处添加“漏桶(leaky bucket)”,以平滑所述通信量。
5.1使流离散化修改所述方法的节点再平衡阶段,以便再平衡所述队列同时在每个队列中维持整数个分组。这意味着队列的实际高度可能和它的理想高度相差达到一个分组。
这将误差项引入所述方法的分析中。当通过路由流fec穿过边e来得出势下降时,得出下面的表达式Σe,cfec(φ′(qetc)-φ′(qehc))]]>+二次导数项第一项和它的理想值(当各个q允许连续变化时)可能相差Σe,cfecQc(φ′′(qetc+ηetc/Qc)+φ′′(qehc+ηehc/Qc))]]>其中ηetc和ηehc在-1和1之间。该和至多是Σe,cfecQc(2α2eαS)≤2(1+∈)L∈4Lφ′(S)≤∈φ′(S)]]>所以,这不显著影响所述方法的分析。
5.2最小化势在每个节点要解决的问题是在Σj,ceijfijc≤EiT]]>的条件下,最小化Σj,cφ(qijc-fijc)+φ(qjic+fijc)]]>利用拉格朗日乘子技术,fijc满足系统φ′(qijc-fijc)-φ′(qjic-fijc)=λeij]]>于是,(当达到最小势的解时,它必定相等)对边ij和连接c计算下面量的最大值φ′(qijc)-φ′(qjic)eij]]>并对该边和所述连接路由一个分组。更新队列高度并重复所述过程,直到能量预算Ei/T耗尽。
5.3分布式实现所述方法的(在上面部分3中所述的)核心可以按一种分布式方式用直接的方式来实现。更困难的任务是定义用于做最大化生存时间这项工作的分布式协议(在上面部分4中所述的)。下面描述这样一种分布式协议。
想法是无论何时每个源的溢出缓冲器到达界限2MKφ(S)/φ′(S),每个源都发出广播(和数据分组一起被转发到每个邻居)。每个节点在至少N轮内接收广播。
在初始阶段,每2R轮,每个节点对它的T的本地值加倍。如果在下一个N轮期间,它从源接收到广播消息,则它切换到下一个阶段,并转发广播。
在第二阶段,每个节点维持上下界Th和Tl,并计算测试值T=(2Th+Tl)/3,以确定它的本地能量预算。如果在R/δ+N轮之后,没有源广播被接收到,则Tl的值被更新为(Th+2Tl)/3。如果接收到广播,则Th的值被更新为T。这样继续,直到T*的值被确定(在相对误差∈之内)。
现在参照图4,流程图说明了根据本发明实施例的路由方法(在此称作为分布式路由方法)。可以将在每个节点执行的方法400概括如下·初始化(步骤402)。设置T=T0。
确定上界Th(步骤404)。运行核心方法,直到经过2R+N轮,广播被接收到,或者(如果所述节点是源)溢出缓冲器达到2MKφ(S)/φ′(S)。如果2R+N轮已经过去,加倍T并且重复该步骤,否则移到下一个步骤。
·广播(步骤406)。如果接收到广播消息,则将它转发到邻居,否则产生一个新的。
·搜索初始化(步骤408)。设置Th=T和Tl=T/4。
·搜索(步骤410)。计算T=(2Th+Tl)/3,δ=(Th-Tl)/3。运行核心方法直到经过R/δ+N轮,广播被接收到,或者(如果所述节点是源)溢出缓冲器达到2MKφ(S)/φ′(S)。
·更新(步骤412)。如果R/δ+N轮已经过去,设置Tl=(Th+2Tl)/3。否则,设置Th=(2Th+Tl)/3,并且要么转发广播,要么产生新的一个。如果(Th-Tl)/Tl≥∈,则回到所述搜索步骤。
该分布式协议的分析和集中式的类似,并且除对小的常数因子外导致相同的界限,因为N和R相比是小的。
5.4任意的通信量源在实践中,通信量可不以我们迄今所假定的平滑确定的方式出现,而实际上可以是间歇的或者突发的。为了处理这种情况,我们在每个源处添加了漏桶,以平滑通信量。漏桶是用在网络应用中用来平滑通信量流的控制器。想法是每秒产生ρ个令牌(token),并且如果多于它们中的σ,则减少令牌。每个分组传输消费一个令牌。如果令牌不可得,则对分组进行缓存,直到它们变得可得。这样一种控制器限制了所传输的通信量在时间间隔T内所传输的分组数可从不超过ρT+σ。在本申请中,采用了其中σ是0的特殊情形,使得通信量被完全平滑。
5.5该方法的加速要认识到,延迟可以不希望地快速增长。在长度为L的路由上,分组面对的延迟可以按L2增长,因为队列从源到宿线性降低(在收敛于适当的流之后)。为了既减少这种延迟又加速收敛,可以用下面的方法来修改所述方法。可以通过使用某历史修改要在边上发送的流,即,按原始方法(或者第一阶方法)选择的流和在前面步骤中在边上所发送的流的线性组合,来计算实际流。为了适当选择两个分量的系数,可用这个新的第二阶方法来加速收敛。如果前面步骤中的流系数接近1,则最终的队列高度将比用第一阶方法的更小,由此减少了延迟。
因此在第二阶方法中的实际流计算为f=af0+βf′其中f0是由第一阶方法给出的流,f′是在前面步骤中所发出的流,而α和β是适合的参数。当α+β>1时,收敛能够被显著地加速。β越接近于1且α的值越大,则最终的队列高度越小,且收敛越快。然而,如果α太大,则该方法可能变得不稳定。
对于路径图的简单例子可以进行精确分析,这表明,只要α<1+β,第二阶方法就是稳定的。
该方法可以要求比实际队列高度更大的流值。用于处理这种情况的两种方法包括(i)当这种情况发生时发送可能的最大值,并忽略其它;或者(2)如果可能的话,在后继时间的步骤期间可以记住并发送所要求的额外流。
5.6替代实现和仿真结果在本方法的简化、实际实现中,势函数可被取为恰好是队列高度的平方而不是指数函数。
而且,代替使用分布式协议来搜索真正生存时间,通过添加与流的成本的平方成比例的项来修改势函数,即(αEiΣeijcfijc)2]]>只要常数α选择得当,这就非常有效。利用这种修改的势函数,选择流值来最小化所述势,使得快速和精确地做变得相当简单。
为了仿真,通过随机地在正方形区域产生点来产生图。利用来自J.H.Chang等人的“Fast Approximation Algorithms for Maximum Lifetime Routing inWireless Ad-hoc Networks”,Lecture Notes in Computer ScienceNetworking2000,vol.1815,pp.702-713,May 2000的方法,通过首先计算最大生存时间来测量性能,以生存时间数的轮运行第一和第二阶的方法,并注意多少流实际到达宿。
仿真表明,适当选择α很大程度上是一件确定它不太小的事。更大的值减少所递送的总流,但是仅仅些微地减少。
6.对本地约束的扩展本发明的方法对在节点上或者在边上或者甚至在两者上的各种各样的不同约束有效。
从上面给出的核心方法的证明得出只要存在流满足要求1+∈且满足所有的约束,则所述方法对本地约束(节点的以及边的容量约束)的任何组合有效。只要我们能够进行势最小化,这些约束不必恰好是线性的。
6.1空闲功率典型的情况是,通信在无线节点中不是唯一的能量消耗者。节点可以进行某些计算或者数据收集,它们以独立于它所发送的分组数的速率消耗功率。而且,甚至在空闲且不接收或者发送任何分组时,无线接口也要消耗功率。为了将这些因素考虑进去,可将恒定的功率消耗Ci添加到节点能量约束中,其变为Σj,ceijfijc≤EiT-Ci]]>
核心方法一点也不受这种变化的影响。需要验证以便表明生存时间最大化协议仍然起作用的唯一事情是比例化假设如果生存时间T可满足要求λQc,则生存时间λT可满足要求Qc。这成立是因为如果流值fijc达到要求λQc,则流fijc/λ将满足Qc,并且Σj,ceijfijcλ≤EiλT-Ciλ≤EiλT-Ci]]>假定λ≤1,无论何时使用该结果(在部分4中λ=1-δ),上式都是对的。
6.2周期性再充电值得关注的情况是在什么时候对某些节点周期性地比如说每Ti秒再充电。在此情况中,用于该节点的约束的右手侧可用 来代替,因为节点必须存活到它的下一次再充电。该节点除了转发控制分组外,没有参与协议的生存时间确定阶段。
6.3边约束可以并入边约束,例如,带宽约束。在每个节点,除了能量约束Σj.ceijfijc≤EiT]]>可以包括附加约束fijc≤Bij其中,Bii是可能由于信号干扰比(SIR)要求而在链路ij上可以被传输的分组的最大可能速率。
而且可能有必要修改能量约束以允许非线性功率相关。例如,可能存在初始启动成本,其关联于利用发射机或者用于建立与在另一端的节点的无线链路,这可能是所要求的总功率的显著部分。这可以根据本发明的方法来实现。
6.4接收功率当以接收模式以及发送模式运行时,收发机消耗功率。如果网络是完全静态的或者缓慢发展的,那么这可以通过对它进行充电而考虑,当实际上是转发分组而代替当接收分组时。因为在任何节点除了有限数量外的全部分组将被转发,在节点约束中,将要求用来接收分组的能量添加到要求用来发送它的能量中,该节点约束采取如下形式Σj,c(eijt+eijr)fijc≤EiT]]>
其中,eijt是用于传输的每分组的能量,而eijr是用于接收和解码的每分组的能量。
6.5动态网络只要真的存在满足要求Qc的多物流,即使网络是动态的并且边成本随着时间而变化,在部分3中所描述的核心方法就起作用。
然而,由于改变边成本,生存时间可以变化是可能的。如果任何源溢出缓冲器达到它的界限,那么当前的T值太高,并且可以在Th=T和Tl=0的情况下,利用分布式协议开始新的搜索。如果当前的T值太低,除非重新启动整个生存时间最大化协议,将不会检测到这种情况。这可以在至少R/∈轮已经过去之后,对开始值T0利用当前的T值来进行。等待这许多轮保证将分组的1-∈部分传输到适当的目的地。所以,如果网络中的变化速率比这更低,则当网络发展时,可以跟踪所述生存时间。
7.在节点处的说明性判决流因此,正如上面在部分1至6所说明解释的,本发明将网络通信量类比为流体的流。利用这样一种类比,在节点处的数据缓冲器可以被认为是流体的容器(vessel),其中,缓冲器的高度对应压力。正如已知的,流体试图平衡高度。因此,在网络通信量的环境中,本发明的技术基于有关各邻居处队列高度的本地信息,做出路由判决。
优点在于,在每个节点处,对各边平衡队列。对于每一边,将分组从较高队列路由到较低队列。这样的路由受到能量预算的约束,使得较少的数据路由在高成本的边上。而且,在边和连接之间存在折衷,并且这样一种折衷由势函数来控制(例如,见上面所讨论的φ)。
现在,参照图5,流程图说明了在每个节点处用于根据本发明实施例的分布式路由方法的判决流。判决流500开始于块502。在步骤504,节点确定分组是否已经到达。如果是,在步骤506中,节点确定所述分组是否是给它的。如果是,在步骤508接受所述分组,并且过程回到步骤504。如果所述分组不是给所述节点的,则在步骤510,将所述分组放入本地队列中。过程回到步骤504。
返回到步骤504的初始确定,如果没有分组到达,在步骤512,节点确定在它的本地队列中,是否存在任何分组。如果没有,过程回到步骤504。如果是,在步骤514,节点确定是否存在有更短队列的邻居节点。如果否,过程回到步骤504。如果是,在步骤516,将分组发送到邻居。
尽管参照附图在此描述了本发明的说明性实施例,要懂得本发明不限于恰好是那些实施例,而且在不脱离本发明的范围和精神的情况下,本领域的技术人员可以作各种其它的变化和修改。
权利要求
1.一种用在分布式网络的节点中用来路由分组的方法,所述方法包括步骤维持用于存储分组的队列,其中,至少一个队列与存在于所述节点和邻居节点之间的链路相联系,并且队列有与之相联系的高度;以及基于在邻居节点处的队列高度,为存储在队列中的一个或者多个分组确定路由,使得与所述节点和所述邻居节点相关联的能量约束基本上被最大化。
2.如权利要求1所述的方法,其中,所述分布式网络是移动自组织网络,而且其中,所述节点还和至少一个邻居节点通过无线链路通信。
3.如权利要求1所述的方法,其中,当所述节点的队列高度比所述邻居节点的队列高度更大时,通过链路将一个或者多个分组从所述节点的队列发送到邻居节点的队列。
4.如权利要求1所述的方法,其中,当所述节点的队列高度小于所述邻居节点的队列高度时,在所述节点的队列中通过链路从邻居节点的队列接收一个或者多个分组。
5.如权利要求1所述的方法,还包括步骤所述节点从至少一个邻居节点接收广播信息,与一个邻居节点的至少一个队列的高度有关。
6.如权利要求1所述的方法,还包括步骤所述节点向至少一个邻居节点广播信息,与所述节点的至少一个队列的高度有关。
7.如权利要求1所述的方法,其中在多轮中进行将分组路由到所述节点和从所述节点路由分组这两种情况的至少一种,使得吞吐量要求基本上被满足,同时基本上最大化与所述分布式网络相关联的生存时间。
8.如权利要求1所述的方法,其中所述网络生存时间有与其相关联的上界和下界。
9.如权利要求1所述的方法,其中所述路由确定步骤还包括计算下列中的至少一个(i)与节点相关联的空闲功率消耗;(ii)与节点相关联的计算功率消耗;(iii)与节点相关联的周期性再充电;(iv)一个或者多个边约束;以及(v)与在节点处接收分组相关联的功率消耗。
10.如权利要求1所述的方法,其中分布式网络以静态和动态之一变化。
11.一种用于在分布式网络中路由分组的方法,所述分布式网络包括多个节点,所述节点经由链路被耦合,且所述节点具有与所述链路相关联的队列,所述方法包括步骤在对应的源节点处将分组流注入到所述分布式网络;在所述分布式网络的每个节点处均衡所述队列;在所述分布式网络中推动所述分组流,使得分组以在受影响节点处基本上最小化功率耗散的方式,被从具有更高高度的队列移向具有更低高度的队列;以及在对应的宿节点处吸收所述分组流,使得在所述宿节点处的队列高度被设置为0。
12.如权利要求11所述的方法,其中所述分布式网络是移动的自组织网络,而且其中所述节点还和至少一个邻居节点通过无线链路通信。
13.如权利要求11所述的方法,还包括步骤从至少一个邻居节点接收广播信息,与一个邻居节点的至少一个队列的高度有关。
14.如权利要求11所述的方法,其中进行所述注入、均衡、推动和吸收步骤多轮,使得吞吐量要求被基本上满足,同时基本上最大化与所述分布式网络相关联的生存时间。
15.一种用在分布式网络的节点中用于路由分组的装置,所述装置包括存储器;以及被耦合到所述存储器的至少一个处理器,运行以(i)维持用于存储分组的队列,其中至少一个队列与存在于所述节点和邻居节点之间的链路相关联,并且队列具有与其相关联的高度;以及(ii)基于在邻居节点处的队列高度,为存储在所述队列中的一个或者多个分组确定路由,使得与所述节点和所述邻居节点相关联的能量约束基本上被最大化。
16.如权利要求15所述的装置,其中所述分布式网络是移动自组织网络,并且其中所述节点还和至少一个邻居节点通过无线链路通信。
17.如权利要求15所述的装置,其中当所述节点的队列高度大于所述邻居节点的队列高度时,经过链路将一个或者多个分组从所述节点的队列发送到所述邻居节点的队列。
18.如权利要求15所述的装置,其中当所述节点的队列高度小于邻居节点的队列高度时,在所述节点的队列中,通过链路从所述邻居节点的队列接收一个或者多个分组。
19.如权利要求15所述的装置,其中所述节点还从至少一个邻居节点接收广播信息,与一个邻居节点的至少一个队列的高度有关。
20.如权利要求15所述的装置,其中所述节点向至少一个邻居节点广播信息,与所述节点的至少一个队列的高度有关。
21.如权利要求15所述的装置,其中在多轮中进行将分组路由到所述节点和从所述节点路由分组这两种情况的至少一种,使得吞吐量要求基本上被满足,同时基本上最大化与分布式网络相关联的生存时间。
22.如权利要求15所述的装置,其中所述网络生存时间具有与其相关联的上界和下界。
23.如权利要求15所述的装置,其中所述路由确定操作还计算下列中的至少一个(i)与节点相关联的空闲功率消耗;(ii)与节点相关联的计算功率消耗;(iii)与节点相关联的周期性再充电;(iv)一个或者多个边约束;以及(v)与在节点处接收分组相关联的功率消耗。
24.如权利要求15所述的装置,其中分布式网络以静态和动态之一变化。
25.一种用在分布式网络的节点中用于路由分组的制造的物品,包括机器可读介质,该机器可读介质包含一个或者多个程序,当被执行时,该各程序实施下列步骤维持用于存储分组的队列,其中至少一个队列与存在于所述节点和邻居节点之间的链路相关联,并且队列具有与其相关联的高度;以及基于在邻居节点处的队列的高度,为存储在所述队列中的一个或者多个分组确定路由,使得与所述节点和邻居节点相关联的能量约束被基本上最大化。
全文摘要
本发明提供了路由技术,其满足与自组织网络环境等相关联的性能目标。本发明的技术用来基本上最大化所述网络的生存时间。在本发明的一个方面,用在分布式网络的节点中的分组路由技术包括下面的步骤/操作。维持用于存储分组的队列,其中至少一个队列与存在于所述节点和邻居节点之间的链路相关联,并且队列具有与其相关联的高度。接着基于在邻居节点处的队列高度为存储在所述队列中的一个或者多个分组确定路由,使得与所述节点和邻居节点相关联的能量约束被基本上最大化。如所述,分布式网络最好是移动自组织网络,其中所述节点和至少一个邻居节点通过无线链路通信。
文档编号H04L12/56GK1708958SQ02830035
公开日2005年12月14日 申请日期2002年12月20日 优先权日2002年12月20日
发明者刘震, 阿尔文德·桑卡 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1