基于加权的服务质量度量的移动ad-hoc网络和其中执行的功能的制作方法

文档序号:7666883阅读:195来源:国知局
专利名称:基于加权的服务质量度量的移动ad-hoc网络和其中执行的功能的制作方法
技术领域
本发明涉及通信网络领域,尤其涉及移动ad-hoc无线网络和相关的方法。
背景技术
无线网络在最近的十年里经历了很大的发展。其中发展最快的一个领域是移动ad-hoc网络。物理上,一个移动ad-hoc网络包括多个地理上分布的、有可能移动的节点,这些节点共享一个无线信道。与其它类型的网络,诸如蜂窝网络或卫星网络相比,移动ad-hoc网络的最独特的地方在于缺少任何固定的结构。该网络只是由移动节点组成,并且通过节点之间的互相通信在运行中形成了一个网络。该网络不依靠于某一个特定的节点,并且在一些节点加入到网络中或其它节点离开网络的时候,进行动态地调整。
在敌方的环境中,诸如在战场上,或在受到地震、飓风等自然灾害侵袭的区域,固定的网络结构是不可得或者不可靠的。而一个ad-hoc网络可以被快速的组建,以提供有限但是迫切需要的通信。虽然军事目的是这些网络研究背后的主要推动力量,ad-hoc网络正在民用和商业领域快速地发展新的应用。ad-hoc网络允许人们在一个野外区域或一个教室里交换数据,而无须使用任何网络结构,除了他们通过打开自己的计算机或PDA而创建的网络结构。
由于无线通信不断的渗入到日常生活中,移动ad-hoc网络的新应用将继续出现,并成为通信结构中的一个重要部分。移动ad-hoc网络对其设计者提出了严峻的挑战。由于缺少固定的基础结构,节点必须是自组织的,并且随着节点的移动、加入或离开网络可以重新配置。所有的节点本质上是一样的,在网络中没有自然的层次或中心控制器。所有的功能必须分布在节点中。节点通常被电池供电,具有有限的通信和计算能力。系统的带宽通常是有限的。两个节点之间的距离经常超过无线传输范围,一个传输必须在到达目的地之前由其它节点转发。所以,网络具有多次转发的结构,并且该结构随着节点移动而改变。
因特网工程特别工作组(IETF)的移动Ad-Hoc网络(MANET)工作组曾积极致力于评估多种路由(包括广播)协议,并加以标准化。因为所述网络的结构随着节点的移动任意地变化,信息可能会过时;同时,对不同的节点而言,在时间上(信息可能在某些节点已经过期,而在另一些还没有)和空间上(一个节点只知道自己附近不远处的网络结构)看到的都是不同的网络。
路由协议需要适应缺少精确信息的情况下的频繁的结构变化。因为这些特别的要求,在所述这些网络中的路由与其它网络相比有很大的不同。收集整个网络的即时信息代价过高并且不合实际。许多路由协议是再启动(re-active)(按需)协议它们只有在需要的时候才收集前往它们的目的地所需要路由信息,并且不保持不使用的路由。通过这种方式,其路由开销远远小于事先启动(pro-active)协议的路由开销,其中事先启动协议在所有时间保持所有目的地的最优路由。这对具有自适应特性的协议而言是很重要的。MANET工作组提出的按需路由协议的代表有Ad-hoc按需距离矢量(AODV)、动态源路由(DSR)和暂时预定路由算法(TORA)。
其它的路由协议的例子包括,目的地排序距离矢量(DSDV)路由,由美国Perkins的专利5412654公开,以及区域路由协议(ZRP),由美国Haas的专利6304556公开。ZRP是使用了事先启动和再启动两种方法的混合协议。
这些传统的路由协议在选择从源节点到目的节点的路径时,使用的是尽最大努力(best effort)方法。通常,在这种尽最大努力方法中,转发的次数是主要的标准。换句话说,具有最少转发次数的路径被选为传输路径。
在移动ad-hoc网络中的服务质量路由(QoS routing)正在引起人们的注意。为提供服务质量,协议不仅需要找到路径,还要保证路径上的资源。因为网络是有限、共享的,并且缺少用于统计并控制这些有资源的中心控制器,节点之间必须协调,以管理服务质量路有所需要的资源。这一点会因为频繁的结构变化而更加复杂。由于这些限制,服务质量路由的要求比尽最大努力路由更加苛刻。
在2001年的Chenxi Zhu的“Medium Access Control andQuality-of-Service Routing for Mobile Ad Hoc Networks”一书中, 以及在2000年MITRE公司的M.Mirhakkak等人的“DynamicQuality-of-Service for Mobile Ad Hoc Networks”一书中,提出了一些服务质量路由的例子。ZHU讨论了那些以中小速率改变结构的小网络中的带宽确保服务质量路由。M.Mirhakkak等人则关注于资源保留请求,这些资源保留请求定义了一个服务质量值的范围,而网络确保在该范围内提供服务。
在每个节点要进行接入控制,以转发来自其它节点的通信业务。通常,传统的接入控制协议提供有关路由和连接的所有公开信息。换句话说,每个节点都和其它节点共享所有的路由和连接数据,这样全面地选择尽最大努力的路由。
对ad-hoc网络的发展的一个挑战是,扩展这样的网络以容纳大量的节点。现有技术的一个尝试是利用“脊(spine)”路由,例如在IEEE Int.Conf.On Commun.(ICC’97),1997中的Das等人的“Routing in Ad-Hoc Networks using Minimum ConnectedDominating Sets”一文中提出的最优脊路由(OSR)方法。在该方法里,一条脊骨或“虚拟支柱”被定义,这样每个网络节点距离一个脊节点都不超过一次跳跃。在每个脊节点保持了一个全局结构(链路状态),以及在每个脊节点都运行一个链路状态路由算法,以产生到每个目的地的当前路由。
另一个相关的方法是群集脊路由(CSR),这在IEEE Int.Conf.On Computer Commun.and Networks(IC3N’97),1997中的Das等人的“Routing in Ad-Hoc Networks using a Spine”一文中有所描述。该方法试图把脊路由的应用扩展到更大的网络规模,即通过把节点分组为群集,再在OSR方法上增加一个第二层次可以实现该想法。还有一种叫做部分认知脊路由(PSR)的方法,在IEEE Symposium OnComputer and Commun.,1998中Sivakumar等人的“The CladeVertebrataSpines and Routing in Ad-Hoc Networks,”一文中有所描述。
上述每个现有技术群集/脊方法的一个共同特性是它们依赖于事先启动路由。事先启动路由的一个可能缺陷是,在所有的时间保持到每个目的地的最优路由需要很大的路由开销。这个问题在包括大量节点的ad-hoc网络的应用中更加明显。当实施群集/脊方法时可能遇到的其它困难是,如何高效地把节点和群集相连,以及为每个群集设定一个群集指挥节点。

发明内容
参照前面的背景知识,本发明的目的在于提供一个移动ad-hoc网络和相关的方法,用于在网络中提供高效的路由创建和群集组织。
根据本发明的上述和其它目的、特征以及优点是通过一种在移动ad-hoc网络的源节点和目的节点之间通信的方法提供的,其中源节点和目的节点之间有多个中间节点。该方法包括从源节点发送一个服务质量(QoS)路由请求,经过多个中间节点到达目的节点,从而在多个服务质量参数的基础上发现到目的节点的路由。响应服务质量路由请求,可以确定在源节点和目的节点之间的多个可能路由,以及一个对应于每个可能路由的每个服务质量参数的服务质量度量。此外,这些服务质量参数可以根据重要性被排队,每个所述服务质量度量基于所述排序被加权。这样,加权的服务质量度量可以被比较,并从中选出一个可能的路由。此外,消息数据可以通过所述选定的路由从源节点发送到目的节点。
应该注意,上述方法中使用的具有链路和节点度量的路由请求可以用于执行一个再启动路由协议中的路由发现,以寻找多个服务质量路径。相似的方法可以用于事先启动路由协议,以发现最好的路由,并在当前已知的事先启动路由中保留资源。
相应的,本发明提供了一种灵活、有效的方法,该方法基于多个服务质量参数选出一个路由以在源节点和目的节点之间进行通信。例如,通过在某一给定应用中按照其重要性加权服务质量参数,可以增强在各种应用和操作环境中的性能。
具体地说,所述方法还包括为每个可能的路由生成一个服务质量度量加权和,比较所述加权和,选出最合适的路由。所述服务质量度量可以包括服务质量链路度量和服务质量节点度量。例如,服务质量链路度量可以至少包括,可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望路径持久性、优先权、单向性或双向性、以及链路容量中的一个。还有,服务质量节点度量可以至少包括,电池生命、移动性、通信容量和位置中的一个。
此外,确定多个可能的路由可以包括,在每个中间节点确定该中间节点是否能够支持所述服务质量路由请求所要求的服务质量参数,如果是,把该服务质量路由请求转发给其它中间节点中和目的节点中的一个。这样,具备可支持的服务质量参数的节点的资源可以为所述服务质量路由请求被暂时保留,以确定一个传输路径。这样,确定多个可能的路由还可以包括,在目的节点接收到所述服务质量路由请求时产生一个回复给源节点,并把该回复沿着所确定的路径发送出去。
该方法还可以包括把节点分组为一个包括源节点的源群集、一个包括目的节点的目的群集,以及至少一个包括中间节点的中间群集。此外,可以在所述至少一个中间节点群集中创建一个相邻群集目标节点,以提供一个接入点,其中每个可能的路由都包括该相邻群集目标节点。
而且,该相邻群集目标节点可以这样创建,确定在源节点和所述至少一个中间群集中的多个可能的目标节点之间的目标路由和对应于每个目标路由的每个服务质量目标参数的一个服务质量目标度量,按照目标的重要性对服务质量目标参数进行排序。还有,每个服务质量目标度量可以基于服务质量目标参数的排序被加权。从而,加权过的服务质量目标度量可以被比较,并基于选择相邻群集目标节点。通过针对某一给定场合对某些服务质量参数赋予更大权重,本方法为选择相邻群集目标节点提供了更大的灵活性和效率。
具体地说,本方法还可以包括为每个可能的路由产生一个服务质量目标度量的加权和,目标度量的加权和可以被比较,以选出相邻群集目标节点。此外,服务质量目标度量还可以至少包括诸如可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望路径持久性、优先权、单向性或双向性、以及链路容量中的一个。
本发明的另一个相关方面是组织包括多个节点的移动ad-hoc网络中的节点。该方法可以包括把多个节点分组为群集,并为每个群集中的每个节点确定多个服务质量(QoS)节点度量,其中每个服务质量节点度量对应于一个服务质量节点参数。此外,所述服务质量节点参数可以按照节点重要性被排序,每个服务质量节点度量可以基于服务质量节点参数的排序被加权。在一个给定群集中,每个节点的加权过的服务质量节点度量可以与其它节点相比较,从而基于比较选出该给定群集的一个给定群集指挥节点。相似的,通过使用多个服务质量参数,本方法的这方面提供了一种从群集化的移动ad-hoc网络中选择群集指挥节点的灵活有效的过程。
类似的,本方法可以包括提供一个额外节点包括在移动ad-hoc网络中,创建从该额外节点到每个群集中至少一个节点的路由,并确定每个路由的服务质量链路度量。每个服务质量链路度量最好对应于一个服务质量链路参数。还有,服务质量链路参数可以按照一个链路重要性被排序,每个服务质量链路度量可以所述服务质量链路参数的排序被加权,加权过的服务质量链路度量可以被比较。基于所述比较,该额外节点可以与某一个群集相关联。
所述服务质量链路度量可以至少包括可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望路径持久性、优先权、单向性或双向性、以及链路容量中的一个。该方法还可以包括为每个路由的服务质量链路度量产生一个加权和,并且所述比较加权过的服务质量链路度量可以包括比较服务质量链路度量的加权和。
该方法还可以包括为每个节点产生一个服务质量节点度量的加权和,所述比较可以包括比较给定群集中每个节点之间的加权和。例如,服务质量节点度量可以至少包括电池生命、移动性、通信容量和位置中的一个。


图1-4是一个根据本发明的包括服务质量路由的移动ad-hoc网络的示意图。
图5的流程图例示了根据本发明的移动ad-hoc网络中的服务质量路由的方法步骤。
图6的流程图例示了本发明基于一个加权平均服务质量度量来选择路由的方法。
图7的流程图例示了本发明基于一个加权平均服务质量度量来选择相邻群集目标节点的方法。
图8是一个根据本发明的ad-hoc网络的示意图。
图9简示了图8的ad-hoc网络中的源节点和目的节点之间的一个选定路由。
图10简示了根据本发明的群集分组以及群集指挥节点认定。
图11的流程图例示了本发明基于一个加权平均服务质量度量来把节点与各个群集相连的方法。
图12的流程图例示了本发明基于一个加权平均服务质量度量来选择群集指挥节点的方法。
具体实施例方式
下面将参考附图更全面的讨论本发明,其中附图显示了本发明的优选实施例。然而,本发明可以通过多种不同的形式被实施,而不限于这里公开的实施例。此外,这些实施例使本发明充分地、完整地公开,向本领域的技术人员全面地表达了本发明的范围。本文中,相同的附图标记代表相同的元件。
如本领域的熟练技术人员所知,本发明的各部分可被实施为方法、数据处理系统、或计算机程序产品。相应的,本发明的这些部分可以采取全硬件化形式、全软件化形式或结合了硬件和软件两方面的实施例。此外,本发明的各部分可以是一个计算机可用存储介质上的计算机程序产品,其中介质上有计算机可读程序代码。可以使用任何合适的计算机可读介质,包括但不限于静态和动态的存储介质、硬盘、光、存储介质、以及磁存储设备。
下面参照附图来说明根据本发明的实施例的方法、系统、和计算机程序产品的流程示例。应当理解,示例中的模块、示例中的模块组合可以由计算机程序指令实现。这些计算机程序指令可被提供至一个通用计算机、专用计算机、或其它可编程数据处理设备的处理器,以生成一个机器,这样所述这些指令通过被计算机或其它可编程数据处理设备的处理器处理来实施流程模块中指定的功能。
先参考图1-5,描述一种用于在一个移动ad-hoc网络20中确定从一个源节点到一个目的节点的路由的方法。该网络20包括多个移动节点30,其中有源节点1和目的节点4以及它们之间的中间节点2、3和5。节点30为诸如笔记本电脑、个人数字助理(PDAs)或移动电话,通过无线通信链接32相互连接。该方法启动(模块100),然后如图5的模块102所示,从源节点1发送一个服务质量(QoS)路由请求RREQQ,以根据一个QoS参数来发现到目的节点4的路由。所述QoS参数最好是基于可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望的路径持久性、和/或优先权,这些将在后面进一步讨论。其它的QoS度量也将被讨论。所述路由请求RREQQ包括一个QoS流标识符和一个可更新的QoS链路度量。
此外,在模块104,该方法包括由每个中间节点2、3和5确定自己是否能够支持所述QoS路由请求RREQQ所请求的QoS参数。如果该节点不能支持某个特定请求RREQQ所请求的QoS参数,那么该请求被拒绝,或者简单地不被转发(模块106)。如果该节点,例如节点3,能够支持某个特定请求RREQQ所请求的QoS参数,那么该节点更新所述QoS链路度量,把该QoS路由请求转发给其它中间节点2和5,并为该QoS路由请求暂时保留节点资源(模块108)。中间节点2和5也必须确定它们是否能够支持从节点3转发过来的QoS路由请求RREQQ所请求的QoS参数。如果能,该具有更新过的QoS链路度量的路由请求RREQQ然后被转发给目的节点4。
目的节点4在接收到该QoS路由请求RREQQ时,产生一个回复RREPQ给源节点1,其中包括了每个被发现的路由的流标识符和更新过的QoS链路度量(模块110)。换句话说,目的节点4可以接收从任何可能的路由转发过来的路由请求,例如,1-2-4或1-3-5-4。针对每个请求都产生一个回复RREPQ。在模块112,基于目的节点为发现的路由所发出的回复RREPQ中的更新QoS链路度量,源节点产生QoS路由度量。此外,在模块114,源节点1基于该QoS路由度量选择一个到目的节点4的路由。
更具体地说,在一些实施例中,可以使用多个QoS路由度量的一个加权平均来选择到目的节点4的路由。下面参考图6来描述一个这样的实施例。图6中所示的方法提供了移动ad-hoc网络20中源节点1和目的节点4之间的通信。该方法启动(模块60),从源节点1发送一个QoS路由请求,经过多个中间节点2、3、5到达目的节点4,从而根据多个QoS参数(如前所述)来发现到目的节点的路由。如模块62所示(如上所述),响应于QoS路由请求,可以确定源节点1和中间节点4之间的多个可能的路由,以及对应于每个可能路由的每个QoS参数的QoS度量。
需要注意的是,度量收集可以以不同的方式进行。例如,如本领域熟练人员所欣赏的,使用一个DSR型算法或一个链路状态算法在源节点1收集整个度量矢量。此外,可以通过在中间节点增加贡献来增加地计算路径矢量,以进行度量收集。后一种方法对整个路径的形式和所支持的网络度量有更大的限制,因而在某些应用中可能不理想。当然,本领域的熟练技术人员可以欣赏,本发明可以通过多种移动ad-hoc路由协议来实现,包括上述现有的再启动和事先启动协议。重申一下,尽管本文讨论似乎限于再启动路由,然而也可以应用到事先启动协议,这是通过把广播限制到那些存在的已知的事先启动路由来实现这一点。
根据本发明的这一方面,在模块63,QoS参数可以依据重要性被排序。最好是根据所确定的网络运行目的,在网络构架之前完成所述排序。该排序将确定加权因子,通过网络管理为每个节点预配置或设置加权因子。在实际的节点操作中,节点不需要知道这个排序。相反的,它只需要知道权重。不同的移动ad-hoc网络功能的范例排序如下表1所示。

表1范例QoS排序如图1所示,在路由选择的情况下,可以根据使用的路由类型使用各种排序。例如,在“QoS带宽路径”一列,提供了对取得最大带宽路由而言最重要的五个QoS参数的排序,其中1表示最重要的参数,5表示最不重要的参数。类似的,“QoS延时路径”列和“最大努力路径”列各自提供了选择具有最少延时的路由,或者选择使用最大努力传输方法的具有最好消息数据传送概率的路由的排序。当然,本领域的熟练技术人员可以欣赏,不同的排序可以运用到不同的应用中,其它路由发现功能可以根据本发明做类似的排序。本领域的熟练技术人员还可以欣赏,模块63所示的排序步骤不需要按照所例示的顺序进行(就是说,它可以提前完成)。
在模块64,基于给定的应用中所使用的QoS参数的排序,每个QoS度量可以被源节点1加权。优选地,如前所述,对权重矢量W的分量分配合适的数值是先于基于度量排序的操作进行的。实际的度量加权最好在“实时”的操作中完成,如下面的方程和讨论所述。这样,在模块65,加权后的QoS度量可以被比较,然后根据比较结果,可能的路由之一被选出。一旦路由被选中,在模块66,消息数据可以通过选中的路由从源节点1发送到目的节点4,这样方法就结束了(模块67)。这里所使用的“消息数据”是想包括移动ad-hoc网络运行时节点之间传输的任何数据,包括(但不限于)附加路由请求/恢复、视频数据、音频数据、文字数字数据等等。
依据特定的实施例,QoS度量可以优选地包括QoS链路度量和/或QoS节点度量。具体地说,QoS链路度量可以包括诸如可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望路径持久性、优先权、单向性或双向性、以及链路容量中的至少一个。QoS节点度量可以包括诸如电池生命、移动性、通信容量、以及位置中的至少一个。QoS节点/链路度量的进一步的例子在表1中被提供,也可以使用其它公知的QoS节点/链路度量。
参照两个具体的例子来描述上述QoS节点/链路度量的加权。例如,一般的说,在选择路由时,最好为每个可能的节点产生一个QoS度量的加权和。然后每个节点的所述加权和与剩余可能节点的加权和相比较,基于比较结果选择最后的路由。在讨论具体的例子之前,提供了下面的术语以帮助理解。
在后面的例子中,定义了链路度量矢量mL和节点度量矢量mN,在评价路由以满足网络组织中的各种QoS需要时,这是很重要的特性参数。此外,一个节点度量的形式由mN给出,mN=(CN1,CN2,CN3,...),其中CNi是节点度量矢量的第i个分量,一个链路度量的形式由mL给出,mL=(CL1,CL2,CL3,...),其中CLi是链路度量矢量的第i个分量。本领域的技术人员将会欣赏,例如,链路和节点度量矢量能够在网络控制数据包中通过网络20。
一条从源节点1到目的节点k+1的路由的原始路径度量可以表示为路径或可能路由的节点和链路度量矢量mp=(mL1,mN2,mL2,...,mL(k-1),mNk,mLk)。如上说述,所述度量分量被排序,这对给定的应用很关键。然后链路WL和节点WN度量加权矢量被定义。这些度量矢量可能包括零和非零分量,以提供给定应用所需要的重点,正如本领域的技术人员所欣赏的那样。最后的路径度量可能是一个标量,即原始路径度量矢量以及节点和链路加权因子的函数,即MP=F(WN,WL,mP)。路径或路由最好是基于最后路径度量MP的最优值,而这里使用的函数F() 的形式当然依赖于特定的应用(例如,QoS延时路径、QoS容量分配、最大努力等等)。
现在描述第一QoS延时敏感路径度量的例子。这里,下面提供的第一路径度量方程使用的分量为跳转次数(权重为1)、双向性(对双向链路BD=0,对单向链路BD=1,权重为K3),估计链路延时(权重为K1),反向链路容量(权重为K2)。在该例中,最小的路径度量对应最优路径。这些加权参数的参数最好是根据运行性能特性提前通过预配置来指定。第一路径度量方程为Path_met=Σall_links[1+K1·DLi+K2CLi+K3·BDLi]]]>使用加权QoS度量确定路由的第二个例子是为一个流分配需要Creq保障服务质量容量。下面的第二路径度量例子方程包括了分量可用链路容量CA(权重为1)、估计链路延时(权重为K1)、估计延时标准差(权重为K2)、每链路每个数据包的估计传输次数(权重为K3),以及双向性(权重为K4)。再次的,最好的路径具有最小的路径度量。第二路径度量方程如下Path_met=Σall_links[1(CALi-Creq)+K1·DLi+K2·σLi+K3·NLi+K4·BDLi]]]>下面参照图7-9来描述上述方法的另一个方面。图8和9中示出的范例移动ad-hoc网络210例示性的包括被无线通信链路213连接的多个节点211。这些节点211可以是能够在一个无线ad-hoc网络内通信的任何合适的无线通信设备,例如具有无线网卡的计算机、个人数字助理(PDAs)等等,以及其它本领域的熟练人员所欣赏的。当然,在某些实施例中,如果需要的话,某些节点211可选地与一个固定的通信基础设备相连。
节点211最好被分组为群集212,在图8、9中以环绕在组周围的圆圈表示。下面更详细的描述节点211分组为群集212。对每一个群集212,其中的一个节点211被指定为一个群集指挥节点221-233。指定群集指挥节点221-233的过程和其中的功能也将在下面叙述。为清楚起见,当一个群集212被单独的讨论时,该特定的群集将被它的群集指挥节点的附图标记所标记。例如,群集指挥节点221在群集221内。
根据本发明的方法的这方面,该方法启动(模块70)于把节点分组为群集(模块71),如上所述。此后,一个相邻群集目标节点(例如217a),可以被创建在一个中间群集(例如,群集225)中,从而提供一个接入点来路由通过该群集,这点将在下面更详细的描述。在模块72,通过确定源节点214和中间群集225中的多个可能的目标节点之间的目标路由,可以有利的实现这一点,这也将在下面更详细的描述。如上所述,在群集225中的各种可能的目标节点之间选择也是基于加权QoS度量。即,对每个目标路由而言,一个QoS目标度量最好也是对应于每个目标路由的每个所需要的QoS目标参数被确定的(模块72)。
此外,在模块73,QoS目标参数也可以以目标重要性的顺序被排序,如上所述。特别的,表1包括了一个相邻群集目标节点指定的范例排序,即“ACTN节点选择”一列。当然,其它的QoS参数和排序顺序可以应用在各种应用中,正如本领域的技术人员所欣赏的那样。
然后,如上所述,基于QoS目标参数的排序,每个QoS目标度量被加权(模块74),这样被加权的QoS目标度量可以被比较,这样在模块75,相邻的群集目标节点(本例中为节点217a)能够根据比较被选中。再一次的,为每个可能的路由使用合适的方程产生QoS目标度量的一个加权和,所述方程与上述第一和第二方程相似,目标度量的加权和可以被比较,以选择相邻群集目标节点217a。然后源节点214和目标节点215之间的最好的路由被选中(模块76),该路由将穿过中间群集225并包括相邻群集目标节点217a。
当然,本领域的熟练人员将会欣赏,众多的中间群集可以存在于源节点221和目的节点232之间,例如图8和9所示。但为清楚起见,只描述了选择相邻群集指挥节点217a。应当理解,同样的方法可以应用于确定图9中所例示的最后路由的后续的相邻群集目标节点217b-217d。这样,在模块77,消息数据可以通过选中的路由从源节点214穿过中间群集225(以及本例中的中间群集224、229、226和232)被发送到目的节点215,这样结束了该方法(模块78)。需要注意的是,该方法所使用的目标度量可以包括例如前面讨论过的链路和/或节点度量。
再次参照图5,在模块116,源节点1发送路由确认CONFQ给选定路由上的中间节点。这是为了确保选定路由上的使用资源在模块108被暂时保留。通过不发送CONFQ给那些被发现但未被选中的路由,那些路由上的被暂时保留的资源可以允许过期。
还有,源节点1可以向或者不向该备用路由上的中间节点发送确认CONFQ,以选择至少一个备用路由(模块122)。这样的备用路由可以用于双重传输以增加可靠性,或者当路由和/或服务质量出错时用作备用路由。在模块118,中间节点2、3和5,和/或目的节点4,可以在任何时候检测节点是否继续支持QoS路由请求RREQQ所要求的QoS参数。如果所述节点能够在整个传输过程中都继续支持请求RREQQ,所保留的资源和多个相关路由如果在模块126被确定为非活动时可以允许过期,而如果所保留的资源和相关路由在一段时间内既没有被数据传输所使用,也没有被周期的CONFQ消息的发送所使用,就在模块128被释放。
如果节点不能支持请求RREQQ,那么节点产生一个QoS出错通知RERRQ给源节点1(模块120)。这里,一旦接收到QoS出错通知RERRQ,源节点1可以保持被选中的路由,同时再次发送一个服务质量(QoS)路由请求RREQQ,以根据QoS参数发现一个到目的节点4的新的路由路径(模块102)。源节点1可以在接收到QoS出错通知RERRQ时切换到备用路由(模块124)。
再一次,需要注意本发明的上述方法能够应用于任何类型的按需或再启动路由协议,例如动态源路由协议(DSR)或Ad-Hoc按需距离矢量(AODV)路由,或任何混合事先启动/再启动协议,例如区域路由协议(ZRP)。
现在描述一个把最小带宽分配和最大延时限制作为服务质量类别的一个更具体的例子。对一个固定的带宽分配,假设节点30能够保留一定的容量或带宽。再一次的,一个业务流的源节点1将为每一个所需要的流发送QoS路由请求RREQQ(最后的字母Q表示一个QoS请求)。该RREQQ消息的功能是发现能够支持所需的服务质量的路由。那些把该RREQQ转发给目的节点4的节点在传输该RREQQ前标明它们自己是否满足所要求的服务质量,并且如果需要的话它们将暂时保留资源。一个路由回复RREPQ数据包从目的节点返回,其中指示了所请求的QoS在哪条路径上能够被满足。然后源节点1可以收集多条到目的节点4的可能路径,然后做出选择以提供最好的服务质量。一旦这条路径被确定,一个确认CONFQ消息沿着该路径被发送给目的节点。沿途任何暂时的资源预留被确认,以成为永久预留。如果一段时间没有使用,QoS预留就会过期。如果沿该路径的一个链路出错,或者如果服务质量需要不能够被满足,就产生一个路由出错(RERRQ)包并把它返回到源节点。
更具体地说,当需要到一个给定目的节点4的一个新的QoS路由时,源节点1广播一个RREQQ包到该目的节点。这是一种类似于传统的如DSR或AODV协议中使用的RREQ包的特殊类型的包。传统的RREQ广播包用于“尽最大努力”服务。本发明的方法可以继续使用最大努力服务中的协议所创建的传统过程。
如果一个业务流需要一个指定的最小容量或带宽,使用一个特殊的RREQQ包以保留到目的节点4的一个指定容量的流。在这种情况下,一个流ID被源节点1分配给该RREQQ,该流ID和源节点地址相结合,从而唯一地标识了去往网络20中转发该流的任何节点的流。该RREQQ包也指示需要保留的容量。
在前往目的节点的路径上的每个节点2、3和5,参照所述最小容量或带宽需要来检查可用容量,以确定是否可以为业务流做一个预留。如果节点能够容纳所需要的业务流,那么为该流ID暂时保留所述容量。如果在一个短时间段内没有接收到一个CONFQ消息,该暂时预留被释放。如果该RREQQ是为了确保能够找到一条不超过一个指定最大延时的路径,那么该路径上的每个节点必须能够估计自己对整个路径延时的贡献,并检查目前该路径上的总延时加上自己的贡献是否超过了所述指定最大延时边界。
不像传统的用于“最大努力”业务的DSR和AODV应用,该RREQQ必须被允许一直传输到目的节点4,以确定是否存在一个满足所述服务质量要求的有效路径。如果这样的路径找到了,目的节点4产生一个RREPQ消息返回到源节点1。该消息向源节点表示已经找到了一个到目的节点4的有效路径,该路径满足所要求的服务质量,并且一条路径已经被创建(在DSR的情况下,返回一个源路由)。对寻求延时保障的请求和寻求容量保障的路径,估计的路径延时被包括在RREPQ中。
源节点1可以接收前往目的节点的、满足所要求的服务质量的多条路径的多个RREPQ。它将对其进行排序,然后发出一个CONFQ消息,该消息指示了它在排序最高的路径上的选择。其它的路径可以作为备用路径,但如果CONFQ没有被发送到这些路径上,就不能确保当需要用备用路径来替换所选路径时所需的资源还在。
如果所请求的服务质量在任何中间节点2、3和5或目的节点4被干扰以至不再满足要求,所述RREQQ包被丢弃,即说明了通过该节点的路径不再满足所要求的服务质量。但是,可以通过所述发现过程来找到其它的路径。如果在任何时候路径上的一个链路出错,或如果所述服务质量要求不再满足,对每一个受该出错影响的通信流,都有一个路由出错RERRQ包被产生并被返回到源节点1。在这种情况下,必须使用一个备用路径或再次启动路由发现过程。
所述的过程可以简单的应用于DSR协议。传统的DSR消息类型RREQ、RREP、RRER被定义为可选的数据包类型,如所定义的那样,它们可被用于传统的协议操作以支持向后兼容模式的“最大努力”通信。定义新的可选数据包来支持QoS,包括用于管理QoS路径的RREQQ、RREPQ、RRERQ和CONFQ数据包类型。这些类型的数据包的包头域的定义直接基于上述定义的功能。还可以包括一个用于QoS任务数据的特殊类型的QoS源路由包。该数据包将包括流ID来确定其归属于那一个流,并且允许流通信的测量。
如果一个故障导致一个节点发出一个RERRQ包,将使用下述过程。如果一个RERRQ包在源节点被接收,那么当前路由被放弃,尝试一个备用路由。在备用路由上发送的第一个包将是另一种类型的特殊QoS源路由包,RREQT,其中包括了流ID和QoS参数。该包也可以包括任务数据。沿该路径的每个节点都会检查自己是否还为该流保持着一个暂时资源。如果不是,它们会再次检查自己是否能够支持该流,做一个暂时资源预留。如果包到达目的节点时,所述流在每个中间节点都被支持,那么目的节点将返回一个RREPQ包,通知源节点该条路径时有效的。
如果有任何节点不能支持该流,那么该包被丢弃,该节点返回一个RERRQ包给源节点,通知它该路径不能支持所需要的服务质量参数。如果源节点接收到一个RREPQ包,那么它除了继续为该通信流发送任务数据之外,还沿选定路径发送一个CONFQ消息,以确认路径的选定。
如果源节点1接收一个RERRQ包,那么它在下一个备用路径上尝试同样的过程。如果源节点再没有到目的节点的备用路径,源节点启动另一个路由发现过程,寻找一个到目的节点的新QoS路径。数据流被中断,直到新的路由被发现为止。可以为任何特定的协议定义管理分配给每个通信流的资源所需要的数据结构,如何识别这些流和如何查找分配给每个流的路由也可以被定义。在上述美国申请号10/134715中可以找到有关基于服务质量参数的路由选择的进一步的细节。
现在参照图10详细说明上述群集相关和群集指挥节点选择的操作细节。图10中例示了一个新的群集指挥节点选择的过程。群集301和302包括各自指定的群集指挥节点301和202。使用图10所示的例子来讨论与节点加电和群集相关有关的操作细节。
关于节点加电和群集相关,一旦对一个节点303加电,节点303可能执行如下步骤。节点303可以从相邻的群集的群集指挥节点(这里指群集指挥节点301和302)“听”到周期性的群集指挥节点声明(CLNANN)消息,以确定它可能加入的群集。此外,它可以听到来自节点211的周期性的“HELLO”消息(节点211距离它K次跳),以收集它到所有与它相距K次跳的节点的路径的度量信息。此外,它可以广播周期性的HELLO消息给它所有的K次跳邻居。然后可以为每一个相邻的群集指挥者m形成一个群集相关度量MmCA,而具有最小的群集相关度量的群集指挥节点m可以被选为要加入的的群集。
所述度量MmCA最好是小于一个阈值TJ,以表明所考虑的节点距离近的足以加入。如果该阈值被满足了,那么向群集指挥节点m发送一个群集加入消息CLJOIN。如果该群集具有的节点数目小于每个群集LCL的限制,那么该群集指挥节点接受它为群集中的节点,并发送一个接收消息CLACCEPT给该节点。如果群集指挥节点不能再接收一个成员了,它发送一个拒绝消息CLREJECT给该节点。此外,如果该节点被拒绝了,它可以选择下一个备用的最优群集指挥节点,并重复所述过程来加入该节点。例如,一个节点303在加电后不久,按照上述过程来成为群集212的一个成员。
下面参照图11来说明另一种把节点303和一个群集相关的方法。继续图10的例子,如上所述,该方法启动于(模块90)把节点211分组为群集212。在模块82,当一个额外的节点303被提供到网络中来与群集212相关时(例如,在群集212中被加电),在模块83,使用上述的技术,创建从该额外节点到每个群集(这里是群集301和302)中的至少一个节点的路径。在一些实施例中,与所述节点创建路径的是群集212中的群集指挥节点。在另一些实施例中,该节点可以使群集212中距离额外节点303最近(按照跳转次数)的节点。其它的节点(或不止一个节点)也可以在其它实施例中使用,正如本领域的熟练结束人员所欣赏的。
该方法进一步包括在模块84确定每一个路由的服务质量链路度量,这可以参照上述图6相似的完成。再次重申,每个服务质量链路度量对应于一个服务质量链路参数,例如前面所说过的那些。在模块85,如上所述,这些服务质量链路参数也被按照重要性排序。一个这样的排序方法提供在表1的“群集加入”一列。在不同的实施例中,可以使用其它服务质量参数和排序。
如前所述,所述服务质量链路度量是基于服务质量链路参数的排序被加权的(模块86),在模块87,被加权的服务质量链路度量被比较,以确定哪个群集对节点303是最优的相关群集,这样结束了该方法(88)。再一次,为每一个路由产生一个服务链路度量的加权和,该服务质量链路度量的加权和被比较,以确定与之相关的最优群集212。
现在说明用于节点相关的方程的具体例子。例如,假设节点303正在决定要加入群集301和302中的哪一个,该节点收集到相邻群集(这里是群集301、302)中的节点的路径度量信息,以形成一个区域度量,如上所述。下述方程包括服务质量参数反向链路容量(权重1)、估计每链路每数据包的传输次数(权重K1)、双向性(权重K2)。还有,在该例中,一个到相邻群集指挥节点301、302的路径度量的权重大于其它的的路径度量,所述群集度量被该群集中的节点数正交化。使用下述方程,将使要相关的群集具有最小的区域度量Path_met=Σall_links[1CLi+K1·NLi+K2·BDLi];]]>以及Cluster_met=1Num_nodes_in_cluster·[Σall_paths_but_CLNPath_meti+K3·Path_metALN]]]>在某些情况下,例如网络初始化,节点303会找不到可接收的群集指挥节点221-233来完成相关。在该情况下,节点211可以决定主张成为一个群集指挥节点。如果一个普通节点303决定主张成为一个群集指挥节点,它可以启动如下过程。节点303可以广播一个特殊类型的CLNANN消息给所有相距K次跳的节点211,以宣布它打算成为一个群集指挥节点,其中包括了该节点所计算的群集指挥度量。为了可靠性,相距K次跳的每个节点211最好答复该CLNANN消息。如本领域的熟练人员所知,例如,任何不回复的节点211可以通过单点播送被发送一个后续CLNANN消息。
一个肯定回复该CLNANN消息的节点211返回一个CLNANN消息,表明其同意节点303能够成为一个群集指挥节点。它这样做或者是因为它自己不在成为群集指挥的位置上,或者是它的群集指挥度量大于所接收到的原始CLNANN消息中的群集指挥度量。一个否定回复该CLNANN消息的节点211返回一个CLNANN消息,宣布它具有的群集指挥度量优于所接收的原始CLNANN消息中的群集指挥度量,它将做一个更好的群集指挥者。在群集指挥度量相等的情况下,群集指挥的角色可能给具有最低节点ID的节点,也可以使用其它的方法来打破这种平局。
如果所有的CLNANN消息回复都是肯定的,或者如果存在竞争但是节点303赢得群集指挥节点,那么该节点就承担群集指挥节点的角色。然后它开始周期性的广播CLNANN消息,使其被转发nCL个跳转,以到达相邻群集212中的所有节点211和相邻的群集指挥节点。其它节点211可以开始考虑他们是否加入该新群集。但是,如果另一个节点胜出,那么节点303会考虑它是否加入该新群集指挥节点的群集。
根据本发明,群集指挥节点的指定也可以使用服务质量度量的加权和。参考图12,本发明的该方面开始于(模块90)把多个节点211如前所述地分组为群集,并在模块92确定每个群集中的每个节点的服务质量节点度量,其中每个服务质量节点度量对应与一个服务质量节点参数。
如前所述,所述服务质量节点参数按照节点重要性被排序(模块93)。在表1“CLN节点选举”一列中给出了一个具体的排序例子,虽然其它的合适排序和/或服务质量参数可以用于其它实施例中。在模块94,如前面所述相似的,每个服务质量节点度量基于服务质量节点参数的排序被再次加权。再一次,可以包括产生一个服务质量节点度量的加权和。在模块95,给定群集中的每个节点的加权过的服务质量节点度量(或是其加权和)被相互比较,基于比较选出一个给定群集的群集指挥节点,从而结束该方法(模块96)。还有,服务质量节点度量可以和前面所述的一样。在美国申请号10/134559中可以找到有关群集指挥节点指定和节点相关的更多细节。
从而,本领域的技术人员可以欣赏的是,本发明提供了一种表示并使用一般化链路和节点度量的机制,该机制可用于多种应用中,从选择多种类型的服务质量路由到网络自组织。虽然上述方法提到使用服务质量度量的加权和,但应认识到加法以外的其它合适的数学运算也可以用于提供合适的数据用于比较。还有,虽然在一些实施例中,只讨论了服务质量度量或链路度量,应当认识到在不同的实施例中可能使用一种或两种类型的度量。
权利要求
1.一种用于移动ad-hoc网络中的源节点和目的节点之间通信的方法,其中所述移动ad-hoc网络包括多个位于所述源节点和目的节点之间的中间节点,该方法包括从源节点发送一个服务质量(QoS)路由请求,经过多个中间节点到达目的节点,以根据多个服务质量参数发现到目的节点的路由;确定所述源节点和目的节点之间的多个可能路由,以及对应于响应所述服务质量路由请求的每个可能路由的每个服务质量参数的一个服务质量度量;按照重要性把所述多个服务质量参数排序;基于服务质量参数的排序来加权每个服务质量度量;比较加权后的服务质量度量并基于比较选择一个可能的路由;以及从源节点经过该选定路由发送消息数据到目的节点。
2.权利要求1所述的方法,进一步包括为每个可能的路由产生一个服务质量度量加权和;并且其中所述比较包括比较加权和。
3.权利要求1所述的方法,其中所述服务质量度量包括服务质量链路度量和服务质量节点度量;服务质量链路度量至少包括可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望路径持久性、优先权、单向性或双向性、以及链路容量之一;以及服务质量节点度量至少包括电池生命、移动性、通信容量和位置之一。
4.权利要求1所述的方法,其中确定多个可能的路由包括,在每个中间节点确定该节点是否支持所述服务质量路由请求所要求的服务质量参数,如果是,把该服务质量路由请求转发给其它中间节点和目的节点中的一个;以及暂时地为包含可支持服务质量参数的服务质量路由请求保留节点资源,以定义一个传输路径。
5.权利要求1所述的方法,还包括把节点分组为一个包括所述源节点的源群集、一个包括所述目的节点的目的群集,以及至少一个包括所述中间节点的中间群集;在所述至少一个中间群集中创建一个相邻群集目标节点,以提供一个接入点,每个可能的路由包括所述相邻群集目标节点。
6.权利要求5所述的方法,其中创建所述相邻群集目标节点还包括确定所述源节点和所述至少一个中间群集中的多个可能目标节点之间的目标路由,以及对应于每个目标路由的每个服务质量目标参数的一个服务质量目标度量;把所述服务质量目标参数按照目标重要性排序;基于服务质量目标参数的排序来加权每个服务质量目标度量;比较加权过的服务质量目标度量,并基于比较选出相邻群集目标节点。
7.权利要求6所述的方法,还包括为每个可能的路由产生一个服务质量目标度量的加权和;并且其中所述比较包括比较目标度量的加权和。
8.一种用于包括多个节点的移动ad-hoc网络的节点组织方法,该方法包括把多个节点分组为多个群集;确定每个群集中每个节点的服务质量(QoS)节点度量,每个服务质量节点度量对应于一个服务质量节点参数;按照节点重要性把所述服务质量节点参数排序;基于服务质量节点参数的排序来加权服务质量节点度量;以及比较一个给定群集中各个节点的加权过的服务质量节点度量,并基于所述比较选出该群集的一个给定群集指挥节点。
9.一种移动ad-hoc网络,包括一个源节点;一个目的节点;以及所述源节点和所述目的节点之间的多个中间节点;所述源节点用于发送一个服务质量(QoS)路由请求,经过多个中间节点到达目的节点,以根据多个服务质量参数发现到目的节点的路由;接收到所述目的节点的多个可能路由,和对应于响应所述服务质量路由请求的每个可能路由的每个服务质量参数的一个服务质量度量;按照重要性把所述服务质量参数排序;基于服务质量参数的排序来加权每个服务质量度量;比较加权后的服务质量度量,并基于比较选出一个可能的路由;以及从源节点经过该选定路由发送消息数据到目的节点。
10.权利要求9的移动ad-hoc网络,其中所述服务质量度量包括服务质量链路度量和服务质量节点度量;服务质量链路度量至少包括可用带宽、误码率、端到端延时、端到端延时变化、跳转计数、期望路径持久性、优先权、单向性或双向性、以及链路容量之一;以及服务质量节点度量至少包括电池生命、移动性、通信容量和位置之一。
全文摘要
一种用于移动ad-hoc网络中的源节点和目的节点之间通信的方法。该方法可以包括从源节点发送一个服务质量(QoS)路由请求,经过多个中间节点到达目的节点,从而根据多个服务质量参数发现到目的节点的路由。响应该服务质量路由请求,可以确定源节点和目的节点之间的多个可能的路由,以及对应每个可能路由的每个服务质量参数的一个服务质量度量。此外,所述服务质量参数可以按照重要性被排序,每个服务质量度量基于服务质量参数的排序被加权。这样,加权过的服务质量度量被比较,从中选出一个可能的路由用于消息数据的传输。
文档编号H04W40/28GK1474614SQ03145120
公开日2004年2月11日 申请日期2003年6月19日 优先权日2002年6月19日
发明者罗斯福·彼柏·凯恩, 汤姆斯·雷·比尔哈慈, 罗伯特·艾丽克斯·肯尼迪, 金田佳久 申请人:哈里公司, 国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1