首页> 中国专利> 小型分布网络内数据路由和带宽预留的方法和设备

小型分布网络内数据路由和带宽预留的方法和设备

摘要

一种用于小型分布式网络的数据路由和/或带宽预留方法,其中每个网络成员有一个全网络的拓扑图。路由选择是在一个源成员上进行,而带宽预留是沿着选择的路由进行。一旦启动或加入网络,每个网络成员建立和维护一个网络内所有其它设备的信息列表,其充当一个网络拓扑图。为了降低信息收集期间的通信开销,采用一种基于优先权的广播调度。当一个设备意图与另一个设备建立连接时,它会基于其自身偏好和当前网络拓扑选择一个路由。然后,设备沿着选择的路由预定带宽。带宽预留使用一个互斥带宽预留协议,其保证每次仅有一个应用可以预留带宽。

著录项

  • 公开/公告号CN101657997A

    专利类型发明专利

  • 公开/公告日2010-02-24

    原文格式PDF

  • 申请/专利权人 香港应用科技研究院有限公司;

    申请/专利号CN200880000014.6

  • 发明设计人 方祖元;张继辉;丁泉龙;

    申请日2008-04-22

  • 分类号H04L12/56;

  • 代理机构深圳新创友知识产权代理有限公司;

  • 代理人江耀纯

  • 地址 中国香港新界沙田香港科学园科技大道西二号生物资讯中心三楼

  • 入库时间 2023-12-17 23:31:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-28

    未缴年费专利权终止 IPC(主分类):H04L12/56 专利号:ZL2008800000146 申请日:20080422 授权公告日:20120418

    专利权的终止

  • 2012-04-18

    授权

    授权

  • 2010-04-28

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20080422

    实质审查的生效

  • 2010-02-24

    公开

    公开

说明书

技术领域

本发明涉及分布网络内的无线通信,特别涉及小型分布网络内的数据路由或多跳路由,其中网络内的每个设备或节点可以被使用作为一个信息包运送者和转发者,以便将数据信息包从源点逐跳分程转递到目标点。本发明也涉及源点和目标点之间路由的带宽预留。

背景技术

分布式网络是这样一种网络,其中没有中央网络控制器来管理网络事务,并且每个网络成员(如节点或设备)具有相同特权和权利,网络成员之间通过谈判访问网络资源。成员可以自由进入和离开网络。无线个人区域网络(WPAN)是小型分布式网络的一个例子,其可以用于家庭娱乐、家庭办公和会议室网络应用。在一个家庭娱乐环境里,典型的网络应用包括视频流,如看电视、播放DVDs、玩游戏、下载文件和浏览网页。在一个家庭办公和会议室环境里,典型的网络应用包括多媒体展示和文件共享。这种网络有许多限制和独特特征,包括小尺寸、小覆盖范围和少量用户。网络成员在计算和功率性能方面也是不同的。例如,网络成员可以同时包括个人计算机(PCs)、个人数字助理(PDAs)、数码相机以及打印机。它们可以是交流电源启动或电池启动。

超宽带(UWB)射频技术可以用于短距离高带宽通信,理论上适合用于WPAN应用。WiMedia标准委员会已经提出了一个WiMedia UWB无线平台,基于多频正交频分复用(MB-OFDM)技术,合并媒体访问控制层(MAC)和物理层(PHY)。UWB射频可以在当前版本里支持高达480Mbps的高数据率,或在未来版本里支持更高的数据率,并具有更低能耗。但是,UWB技术有一些缺点,其传播距离是有限的,仅仅大约30尺或10米,其并不比一个普通居室尺寸更大。这种短距离意味着,在许多居室、办公室或大型会议应用里,一些设备可能放在相互直接通信距离之外。另外,低功率意味着网络易受到来自电子噪音的干扰和环境障碍如墙。

自组网络(ad-hoc network)是这样一个网络,其中每个节点愿意转发数据给网络内的其它节点。一些分布式路由协议已经被提出用于自组网络,并可以被用来扩展UWB的通信距离,超过直接对等(peer-to-peer)距离。但是,这些路由协议通常依赖于本地信息,并且每个节点没有一个网络全局观点。另外,尽管使用自组路由协议网络可以解决距离问题,但它们不能解决服务质量(QoS)问题,这对于支持实时流应用是很重要的。

解决QoS问题的一种方法是带宽预留。一些带宽预留方案已经被提出用于无线自组网络,其使用一个分布式路由协议找出一个通过网络的路线,并沿着该路线预留带宽。在路由选择程序里的分布式路由协议里,它们有同样的问题。一些方案不得不遭受竞争条件(race condition),时隙没有被多次预留和平行预留正确地预留,因为带宽预留是在一个分布式方式上进行,并且同时进行。平行预留是带宽预留失败的一个常见原因。大多数现有的带宽预留以大型自组网络为目标,并依赖于一个复杂的路由协议以进行路由建立和恢复。这种方案具有较高的网络开销,并且不适用于小型WPANs。另外,现有方案不会综合考虑源的偏好、设备的不同和WPANs里的各种流量要求。

发明概述

因此,本发明的一个目的是提供一种路由和带宽预留方法,用来克服或至少缓解现有方案的一些问题。本发明的另一个目的是提供一个数据路由方法用于小型分布式网络,其特别适合基于WPANs的UWB。

鉴于前述,在此披露了一种用于小型分布式网络的数据路由和/或带宽预留方法,其中网络里的每个成员如设备或节点有一个全网络拓扑图,路由选择是在源成员进行,带宽预留是沿着选择的路由进行。一旦启动或加入网络,每个网络成员建立并维护一个网络内所有其它设备的信息列表,其可以被用来建立一个网络拓扑视图。为了降低在信息收集期间的通信开销,采用一个基于优先权的广播调度。当网络平稳时,每个设备有一个全网络视图。一旦网络拓扑或设备信息发生变化,更新的信息以较高优先权被传播到整个网络。当设备意图建立一个与其它设备的连接时,它会基于其自身偏好和当前网络拓扑选择路由。接着,设备沿着选择的路由预留带宽。带宽预留使用一个互斥带宽预留协议(mutually exclusive bandwidthreservation protocol),其保证每次只有一个连接可以预留带宽。

这种数据路由和带宽预留方法包括三个主要功能部分,即信息收集、路由选择和带宽预留。可选地,本方法也可以包括速率自适应(rateadaptation)、传输功率控制和服务发现(service discovery)部分。

信息收集执行整个网络的设备信息的广播和收集。路由选择根据源设备上的应用要求执行转播路由的选择。带宽预留沿着选择的转播路由执行互斥的带宽预留。

速率自适应和传输功率控制在链接层上进行有效的信息包传输。服务发现执行网络里提供的服务搜索,并提供服务给其它设备。

在此也披露了一种具有转播应用的设备,依照本发明允许该设备作为具有数据路由和带宽预留的网络成员加入网络。

从以下仅通过范例的描述,本发明的其它方面将越发明显。

附图说明

现将通过范例并结合附图描述本发明的一个实施例,其中:

图1图解描述本发明典型实施例的一个协议栈;

图2图解描述本发明的中继系统部分的功能组件及其相互关系。

图3图解描述图1协议栈的MAC和中继系统层之间的消息和控制流程。

图4图解描述中继系统启动过程的流程。

图5图解描述中继系统的主控制流程用于设备信息更新,

图6图解描述由中继系统处理的链接信息消息(link informattonmessage),

图7图解描述由中继系统处理的设备信息消息(device informationmessage),

图8图解描述由中继系统开发的广播调度的运行过程,

图9图解描述通过中继系统传输设备信息的控制流程,和

图10图解描述在依照本发明的一个方法里的数据传输流程。

典型实施例详述

在一个多跳通信情景里,不是所有的网络成员都与网络内的每个其它成员处于直接通信距离内。在以下描述里,术语“邻近设备”被用来表示那些可以直接通信的网络成员。也就是说,设备A的邻近节点是设备A可以直接通信的那些其它设备。

现在将详细参照本发明的一个典型实施例,在一个基于MAC协议的时分多址(TDMA)里,其中网络内的每个设备通过信标帧方式发出“hello”消息,以宣布其存在,并在每个超级帧(superframe)里提供其它补充信息。典型实施例的协议栈如图1所示。依照本发明一个中继系统103被建立在MAC层102的上面。它利用由MAC 102和PHY 101提供的服务,提供端到端(end-to-end)的数据传输服务给应用层104。例如,MAC为中继系统提供一个广播信道以发送控制消息,以及一个分布式带宽预留机制(即分布式预留协议(DRP)),在网络内邻近设备之间预留通信资源。但是,典型实施例的这些特征不是意在限制本发明的使用范围或功能。需要注意的是,本发明可以适用于其它协议和栈结构,或者其本身可以成为一个新协议的基础。

图2描述中继系统的功能部分及其相互关系。功能部分是信息收集、路由选择、带宽预留、速率自适应和传输功率控制以及服务发现。这些功能部分可以通过使用网络成员里运行的软件程序、驱动、对象和组件,得以实现而提供本发明的方法。本系统的三个主要功能部分是信息收集、路由选择和带宽预留。可选地,中继系统也包括速率自适应和传输功率控制以及服务发现功能。一旦启动或加入网络,每个网络成员建立并保留一个系统内所有其它设备的信息列表,从而有一个全网络拓扑视图。通过收集、广播以及,若有需要,每个网络成员设备信息的重新广播,信息收集部分负责建立和维护这个列表。这样,每个设备都有整个网络的全局总览。只要网络拓扑或设备信息发生变化时,更新信息以较高的优先权被传播到整个网络。当一个设备意图与网络内的其它设备建立一个连接时,它会根据其自身偏好和当前网络拓扑选择一个通信路由。中继系统的路由选择部分负责选择通信路由。由于每个网络成员有整个网络的全局总览,根据应用要求在源设备上就完成了路由选择。接着,源设备沿着选择的路由预留带宽。带宽预留部分负责沿着选择的通信路由进行带宽预留。带宽预留使用一个互斥的带宽预留协议,其保证每次仅有一个连接可以预留带宽。本发明的其余部分、速率自适应和传输功率控制、以及服务发现是可选功能部分,它们可以被用来进一步增强网络性能。速率自适应和传输功率控制在链接层上进行有效的信息包传输。服务发现执行网络内提供服务的广播和搜索,并提供服务给其它设备。在这个方案里,系统运行是从全局信息收集开始。如果这种信息有任何变化,信息收集过程被周期性地调用以保留更新的、或根据需要(on demand)的信息。只要有一个来自上层的请求,会根据需要调用路由选择和带宽预留过程。

现在将详细描述本系统的三个主要功能部分:信息收集、路由选择和带宽预留。

1.信息收集

每个网络成员需要收集和传播一些信息给每个其它网络成员,以建立一个整个网络的全局视图。以下部分将介绍信息收集功能的细节。为了便于描述,以下表格定义了一些将要描述的信息参数。

  信息类型  信息描述

  设备ID 网络内设备的唯一标识符。例如它可能是媒体访问控制 地址(MAC地址)或以太网硬件地址(EHA)或硬件地 址或加在设备网络适配器(NIC)的适配器地址。  中继能力 表示设备是否愿意和有能力转播信息包给其它网络成 员。为了优化网络性能,每个设备应该具有转播能力给 其它成员,并且若有需要,它可以由用户重新设置。  设备类型 表示设备类型或类别,如打印机、PC、PDA、移动电话、 数码相机等。  应用能力 表示设备可以支持/运行何种应用。  电源类型 表示设备是交流电源供电还是电池供电。  剩余电力 表示用于运行的剩余电力。交流电供电设备和电池设备 的剩余电力可以由统一方式表示,并且可以被量化到几 个级别。交流电供电设备的剩余电力总是在最高级别, 但电池供电设备的剩余功率是根据实际剩余电力表示。  链接条件 表示成员与每个其它设备能够通信的无线连接或其它连 接的条件或质量。  距离/定位 表示成员与每个其它设备能够通信的位置和/或距离。  链接带宽 表示成员与每个其它设备能够通信的无线连接或其它连 接的带宽。

两种类型的消息被采纳用于本发明的信息收集。这些信息是链接信息消息和设备信息消息。链接信息消息被用来在邻近设备之间请求或发送链接质量信息,而设备信息消息是由中继系统产生以传播网络信息。在设备信息消息里的字段可以分成两类:强制的和可选的,其中强制部分是系统提供基本功能所需的最少信息,而可选部分是系统提供增强特征所需的信息。强制信息项包括设备ID、中继能力、电源类型、临近设备数目、设备地址、到每个邻近设备的链接质量和带宽等。可选信息包括剩余电力、设备类型和应用能力等。另外,设备信息消息也需要包括一个序列号,其是由设备信息消息的发送者保留。本方案收集的信息不受限于以上所述的那些。只要网络和系统能够负担得起,可以收集更多信息。

通过本地信息收集和广播,可以获得整个网络的系统信息。通过1)广播其自身信息、2)倾听其它设备的广播、以及3)若有需要,重新广播其它设备的信息,每个设备通过网络内的所有成员参与建立和维护列表。

首先,每个设备在本地收集其自身的设备信息。然后,设备形成一个设备信息消息,并广播其自身的设备信息。通过旁听由邻近设备传送的设备信息消息,设备可以获得其邻近设备的信息。链接信息可以由本地设备测量。通常,根据链接质量信息或从链路接收信息包的信号强度,本地设备可以计算出链接质量。设备向邻近设备查询在它们之间的链接质量,邻近设备发送回链接质量信息,其被合并到设备信息消息里。在一个多跳通信情景里,不是所有的网络成员都处于直接通信距离内,从而不是每个设备都能够旁听到由每个其它设备广播的所有设备信息消息。所以,设备信息消息需要由其它网络成员重新广播,从而所有成员可以收集并存储信息。全局设备信息收集的最大挑战是用于信息收集的通信带宽可能很大,以至于网络负担不起。在本发明里,收集过程是在一个相当小的网络上进行。为了进一步降低通信开销,可以使用一个基于优选权的广播调度算法,其将在以下部分讨论。

为了便于网络信息收集和传播,以下数据结构是由每个设备维护:

  数据结构  描述  设备信息列表  网络内的每个设备都有一个列表,维护其本身和所有旁  听设备的设备信息。最初,这个列表仅有一个条目表示  其自身设备信息。最后,它将包括整个网络内每个设备  的条目。有两种类型的信息项与每个条目相关联:一种  是设备信息,其用来保留由设备信息消息含有的设备信  息。另一种是用于设备控制,其用来检查设备信息的有  效性,并执行广播控制,其将在以下部分详细讨论。  设备广播覆盖列表  设备广播覆盖列表用于本地设备以决定是否需要重新  广播旁听到的信息。迄今为止,有一个由本地设备旁听  到的每个设备的记录,最后是网络内每个设备。每个记

  录包含一组广播标记给本地设备的所有邻近设备。例  如,标记(A,M)表示邻近设备M的设备信息A,并  且如果不需要重新广播,M可以旁听到A设备信息,  设置标记(A,M)。  邻近设备列表(仅  对本地设备而言)  这个列表维护一个本地设备的邻近控制信息。这个列表  包括每个邻近设备的记录。每个记录包括以下三项:  1)邻近设备的设备ID,2)链接测量计数器,其被用  来确定何时执行链接质量测量,以及3)实时计数器  (live counter),其被用来维护设备的活跃度。  广播优选权队列  在队列内的每个项是一个指向设备信息列表里一个条  目的指针,并表示当前哪个设备信息等待广播。依照可  用的带宽,从队列头开始的一个或多个设备信息项将被  广播或被重新广播。  链接信息请求队列  在队列里的每个项是一个指向设备信息列表里一个条  目的指针,并表示设备的链接信息应该通过发出链接信  息请求消息在当前超级帧上获得。

在设备信息列表里的设备信息的控制字段如下所述:

  字段  描述  序列号  接收到的最新设备信息消息的序列号。  基本周期  设备的基本广播周期。  当前周期  当前使用的广播周期。  广播计数器  广播计数器。  广播标记  设备信息是否应该被广播。本地设备信息总是依照广播  要求设置,而其它是由广播要求检查过程确定,其将在  以下部分讨论。  事件标记  用来维护设备信息更新状态,其还被用来决定广播队列  的优先权。以下定义两种类型的事件标记:UPDATE  表示自从最后广播之后设备信息项已被更新;  NOUPDATE表示自从最后广播之后没有任何更新。

■信息收集控制流程

依照一个MAC超级帧,周期性地调用信息收集流程。图3描述一个优选实施例,其中中继系统是一个事件驱动系统。中继系统301是由一个系统启动事件调用,其可能由MAC或栈应用层发起。在被调用之后,在步骤3011上启动中继系统,然后其通知MAC它的存在。只要一个关于中继系统的消息被MAC收到,在步骤3012,它被传递到中继系统进行处理。中继系统在步骤3013上开发其广播优先权和链接信息请求队列,并在步骤3014上在每个超级帧的结尾传输设备和链接信息消息。这些步骤3011-3014的操作将在以下章节详细讨论。

■初始化(步骤3011)

初始化过程如图4所示。在步骤400,中继系统预置系统变量和本地数据结构(列表和队列)。中继系统在SCAN或NORMAL模式上运行。当系统启动时或在系统重置之后,中继系统进入SCAN模式。在这个模式里,设备不发送任何设备信息消息和链接信息消息。它旁听到信道并尽量收集尽可能多的信息,并填充进信息列表和队列。在一个预定时间周期之后,系统进入NORMAL模式。在这个模式里,它可以发送其本身的设备信息和请求,并根据列表和队列回复来自其它设备的链接信息。

■更新设备信息(步骤3012)

更新设备信息的主要控制流程如图5所示。在步骤500,消息从MAC传递到中继系统。在步骤501,功能模块检查消息类型。如果它是一个链接信息消息,在步骤502它被传递到链接信息处理程序。如果它是一个设备信息消息,在步骤503它被传递到设备信息处理程序模块。在消息被处理完之后,在步骤504系统进入空闲状态。

链接信息消息处理如图6所示。在步骤5020,接收到链接信息消息之后,功能模块首先检查消息是否是一个链接信息请求(步骤5021)。如果是的话,测量链接质量,并发出一个链接信息回应消息(步骤5023)。否则,根据消息信息更新设备信息列表(步骤5022)。系统进入空闲状态(步骤5024)。

设备信息消息处理如图7所示。在接收到消息之后(步骤5030),功能模块检查消息是否过期(步骤5031)。如果消息序列号小于或等于本地设备保留的序列号,消息是过期的,反之亦然。如果消息是过期的,功能模块进入到步骤50313停止程序。如果消息不是过期的,相应地更新设备广播覆盖列表(步骤5032,详细操作将在以下部分讨论)。然后,执行检查操作(步骤5033)以查看设备信息消息是否是一个来自源设备A的或由另一个设备B重新广播的初始消息。如果是一个初始消息,功能模块检查本地设备之前是否已经从源设备A获得信息(步骤5034)。如果本地设备没有获得设备A的信息,设备A的信息被添加到本地设备信息列表,并且其事件标记被设置成UPDATE(步骤5035),以及设备A的设备ID被放入到链接信息请求队列里(步骤5036)。设备ID被添加到邻近设备列表,并且重置链接信息测量计数器(步骤5037)。设备A的实时计数器也被重置(步骤5038),接着过程结束(步骤50313)。

如果本地设备之前已经接收到设备A的信息,功能模块检查设备A的信息是否有任何变化(步骤5039)。这可以通过检查消息序列号是否大于本地数据库里保留的序列号而得以实现。如果没有任何变化,功能模块重新设置设备的实时计数器(步骤5038),接着过程停止(步骤50313)。如果有一些变化,功能模块更新设备信息列表,并设置设备事件标记为UPDATE(步骤50310),更新设备实时计数器(步骤5038),接着过程停止(步骤50313)。

如果设备信息消息是一个重新广播(广播-中继)的消息,功能模块检查设备信息消息是否有任何变化(步骤50311)。如果有变化,即序列号较大,更新设备信息列表,并且将其事件标记被设置为UPDATE(步骤50312),接着操作停止(步骤50313)。否则,过程停止(步骤50313)。

在步骤5039和50311上,对照本地数据库检查设备信息消息以查看是否有任何变化。为了实现这个动作,每个设备信息消息与一个序列号相关联,其仅可以被消息发送人更新,并仅当设备信息有任何变化时才更新。所以,当一个设备接收到一个来自其它设备的设备消息时,它可以比较存储在本地数据库里的序列号和在消息里含有的序列号。如果在本地数据库里记录的序列号小于其后接收到的序列号,它可以知道设备信息已经发生变化。在步骤50310和50312,当更新设备信息时,中继系统需要做三件事:1)依照接收到的信息更新每个设备信息项,2)设置事件标记为UPDATE,3)检查是否有任何邻近设备已经加入或离开此设备。如果有的话,中继系统需要相应地更新那些邻近设备信息。这是一个被称为“反向有效性检查”的必需步骤,其将在以下段落里讨论。

■广播调度开发(步骤3013)

广播调度开发的运行程序如图8所示。在这个程序被调用之后(步骤600),功能模块检查系统是否处于SCAN模式。如果系统处于SCAN模式,程序行进到步骤611结束运行。

如果系统处于NORMAL模式,功能模块在列表里的每个项上执行一个处理操作。它首先检查设备信息列表是否有任何未被处理的设备记录(步骤602)。如果在列表里没有未被处理的记录,程序行进到步骤607。如果在列表里有未被处理的设备信息记录,功能模块进行有效性检查(步骤603)。如果信息项是无效的,其意味着设备信息是过期的,那么功能模块行进到步骤604从设备信息列表和邻近设备列表(如果设备是一个邻近设备)删除设备信息,然后行进到步骤602。否则,功能模块进行广播要求检查(步骤605)。如果不需要广播/重新广播此信息项,功能模块行进到步骤602,否则更新设备的基本广播周期(其将在以下部分讨论),并且如果其广播计数器终止或其状态被设置为UPDATE(步骤606),其设备ID被放到广播优先权队列的末尾。在放置设备ID到广播优先权队列之前,功能模块需要检查它是否已经在队列里。如果是的话,这个步骤结束。然后控制流程行进到步骤602。

如果已经处理了所有设备信息项,功能模块检查在邻近设备列表里是否有任何处理的记录(步骤607)。如果没有的话,功能模块行进到步骤611结束运行。如果有的话,功能模块行进到步骤608更新设备的链接信息测量计数器,然后检查是否有必要请求设备的链接信息(步骤609)。如果不需要的话,功能模块行进到步骤607。如果需要的话,功能模块将设备ID放入链接信息请求队列,并重置其链接测量计数器(步骤609),然后行进到步骤607。

■设备信息有效性检查

在步骤603,功能模块检查信息消息是否是有效。这个检查的目的是查看设备信息是否已经过期。基于设备是否是一个邻近设备,两种方法被提出用于有效性检查。如果设备是一个邻近设备,使用一个实时计数器来维护其有效性。当接收到邻近设备信息时,邻近设备信息记录的实时计数器在每个超级帧上递减,并被重置为最大值。如果实时计数器为零,意味着在一个预定周期内没有接收到邻近设备信息(或超级帧的数目),其暗示邻近设备可能已经离开网络或电源中断,从而信息项是过期的。

如果设备不是一个邻近设备,意味着通过经由一个中间设备进行重新广播而接收到其信息,接着流畅的被称为反向检查机制被用来检查其有效性。只要设备A的信息记录被直接或通过邻近设备重新广播而旁听到,其设备信息被更新。接着作出进一步检查以查看邻近设备如B是否加入或离开设备A。如果B正在加入,应该添加一个条目到本地设备的信息列表里,并且添加A到B的邻近设备列表。如果B正在离开,应该从B的邻近设备里删除A。这种更新操作是在步骤50312和5039上进行。对任何信息记录,如果它没有任何邻近设备,其信息项应该被标记为无效的。

■重新广播要求检查

在步骤605,应该检查设备信息以确定重新广播是否是必需的。如果重新广播是必需的,相应条目的设备广播标记字段应该被标记为重新广播;否则,条目的广播标记字段被标记为不需要重新广播。

由于无线信道是一个广播信道,避免重新广播已经由其所有邻近设备旁听到的信息,对设备来说是更有效的。为达此目的,采用一种广播检查机制。每个设备维护一个设备广播覆盖列表。它的更新和使用如下所述。如果设备A的信息是从设备B接收到的,那么在设备A的记录里,就设置了设备B和其邻近设备的所有广播标记。这种操作是在步骤5031上进行。当在步骤605进行检查时,如果已经设置了设备A条目的所有标记,那么设备信息被标记为不需要重新广播,否则就标记为需要重新广播。在这之后,如果其设备信息之前已经被放入到广播优先权队列,功能模块从广播优先权队列里删除不需要重新广播的设备信息。

■基于优先权的广播调度

在图8里,在步骤606有一个更新基本广播周期的要求。这是一个极其重要的步骤,保持每个设备的最新信息,同时保持一个相当低的通信开销。其基本原理和方法如下所述。

用于信息收集的带宽必须是有限制的,从而有足够的剩余带宽用于其它功能模块。而有时设备可能有大量信息需要广播。一次发送所有的可能需要远远多于其带宽限制的带宽。较高的优先权应该被赋予给对中继系统运行更重要的信息,而其它较低优先权的信息将较后发送。

在基于优先权的广播调度机制里,每个设备的信息项与三个参数关联,以控制其广播频率,即基本周期、当前周期、和广播计数器。只要设备信息被更新,基本周期确定基本广播周期。它可以基于每个设备的广播优先权进行计算。设备的广播优先权越高,其基本周期越短。当前周期被用来维持当前广播周期。根据超级帧数目来定义基本周期和当前周期。根据当前周期,使用广播计数器来调用一个广播操作。广播计数器的使用在以下部分讨论。

具体地,基本周期是由广播优先权确定,还通过以下规则而被确定。本地设备信息具有最高的广播优先权。其它设备则通过其具有的邻近设备数目和其它控制参数进行分等级。例如,一个设备有更多的邻近设备则具有更高优先权,设备有更多剩余电力则具有更高优先权。作为一个例子,一个更具体的算法可以被用来计算基本周期,如下所述。如果可以计算合理的基本周期,可以采用任何其它算法。

符号定义如下:

  符号  描述  Pl,j  链接优先权,其是由设备j具有的链接数目确定的优先  权因子。在此每个同级的邻近设备被定义以便在它们之  间有一个链接。  Pp,j  设备j的电力优先权。  Pr,j  设备j的中继优先权。  N  整个网络内的设备数目。  Nj  设备j具有的链接数目。  Pj  设备j的广播优先权。  Bj  设备j的功率水平。  Bmax  最大的功率水平。  Rj  设备j的中继属性。数值1表示设备有能力进行转播,  数值0表示没有能力。  α  平滑系数(0<α<1).  Ti  本地设备i的基本周期。  Tj  设备j的基本周期。

如果定义:

然后通过以下公式确定设备j的广播优先权:

并且通过以下公式确定设备j的基本周期:

本算法按照以下步骤运行。最初,对一个需要广播的设备信息记录而言,其当前周期被设置为基本周期。在成功广播传输几次之后,它被递增到一个预定的最大阈值。只要有一个设备信息的更新,它将被重置成基本周期。广播计数器被用来确定何时应该广播设备信息。最初,它的数值被设置成当前周期,然后在每个超级帧的末尾递减。如果广播计数器为零,信息记录的设备ID被放入广播优先权队列。广播优先权队列被用来保持在当前超级帧里将被广播的设备信息。在每个超级帧的末尾,可以容纳在一个广播信息包里的所有较高优先权的设备信息项被发送出去。

广播信息(步骤3014)

在每个超级帧的结尾,系统需要执行设备信息传输。传输设备信息的控制流程如图9所示。在开始运行之后(步骤700),功能模块检查以查看中继系统是否处于NORMAL或SCAN模式(步骤701)。如果系统处于NORMAL模式,功能模块在链接信息请求队列里检查是否有一个链接信息请求(步骤702)。如果有的话,形成并发出一个链接信息请求消息(步骤703)。如果没有的话,功能模块检查在广播优先权队列里是否有任何项(步骤704)。如果有的话,处理广播优先权队列(步骤705-708),否则模块结束运行。广播优先权队列处理(步骤705)在以下章节讨论。

形成并发出设备信息消息(步骤706、707),接着更新已经发出的设备信息项(步骤708)。如果已经发出一个设备信息项,接着在步骤708,将从广播优先权队列删除其设备信息项。另外,其广播周期也将被更新。

如果系统处于SCAN模式,功能模块递减扫描周期计数器(步骤709),并检查扫描模式是否已经结束(步骤710)。如果扫描模式结束,接着系统模式被设置成NORMAL(步骤711),从而程序结束(步骤712)。

■广播优先权队列处理

当一些设备信息记录需要在同一超级帧里进行广播时,广播优先权队列被用来设置设备信息广播顺序。为了编排设备信息广播的优先次序,等待广播的每个设备信息记录与一个事件标记相关联。当设备信息已经发生变化时,事件标记被标记为UPDATE(步骤5035、50310和50311),在信息项被广播之后重置成NOUPDATE(步骤708)。

设备信息项的广播优先权是由事件标记和插入到广播优先权队列的顺序设备ID确定,其表示广播计数器终止次序。在这个步骤上,依照以下规则重新编排广播优先权的次序:具有UPDATE标记的所有设备信息项比具有NOUPDATE标记的那些信息项拥有更高优先权。对具有UPDATE标记的所有设备信息项而言,优先权被提供给队列头。相同规则可以应用到那些具有NOUPDATE标记的设备项。在这个步骤之后,那些刚刚已经更新的设备信息记录被赋予较高的广播优先权,自从最后一次广播之后,没有发生变化的设备信息记录被赋予较低的优先权。

2.路由选择

只要建立一个新连接,路由选择被调用。在以下讨论里,首先介绍在中继系统下的数据传输流程。接着讨论拓扑地图的产生。最后提出基于最大速率标准和拓扑地图的路由选择。

■数据传输流程

数据传输流程如图10所示。只要有一个与网络内另一个设备建立连接的应用请求(流量发送请求),开始运行程序。在源节点上(步骤802)选择一个转播路由(可以是直接通信),并沿着选择的路由预留带宽(步骤803)。在处理数据传输期间,监控路由(步骤804)。如果路由监控模块发现路由断了,将返回到步骤802,并调用路由重新建立机制。为了便于增强系统,需要估计信道质量(步骤805),并在数据传输期间执行速率自适应和TPC(步骤806)。此过程继续直到对话结束。

■拓扑地图产生

根据接收到的设备信息,每个设备应该维护一个数据结构,其可以轻易将整个网络的拓扑信息绘制成一个图,以在需要时协助选择路由。一个可能的方法是将拓扑信息表示为一个权重方向图。在此图上,节点权重反映每个设备的能量或电力状态,链接权重反映链接/信道条件、或直接传输距离内两个设备之间的可用带宽。方向性反映了节点的能力,例如,一个非中继节点可能仅有入边(in-edge)。网络内的任何变化可以通过改变权重或图拓扑而影响图(拓扑地图)。路由选择是基于这个图(拓扑地图)进行的。这里也可以采用其它绘图方法,只要它们可以表示信息,并能够容易地用于路由选择。在这个步骤里可以采用一些源偏好标准,例如,如果本地设备不想其流量经过设备A,那么当选择路由时,可以从拓扑视图删除设备A。

当一个流量发送请求是来自应用层时,本地设备相当于流量源。基于存储在本地数据库里的拓扑视图以及来自应用层的具体路由要求,中继模块选择路由。路由选择主要依赖于转播中的可用设备、可用带宽、传输率以及沿着路由的跳数目。由于从源设备到一些中间设备的最优路由可能不是从源设备到目标设备的最优路由部分,所以渐进选择路由的贪婪算法(greedy algorithm)可能不起作用。通常来讲,应该搜索所有可行的路由。可以采用许多路由目标进行路由选择,如最大传输率、最小源传输功率或最小系统干扰。在以下部分,讨论怎样选择最大传输率路由的算法。类似于最大速率路由选择,也可以得出基于其它目标的路由选择算法。

■根据先验精减处理(Priori Prune Manipulation)的最大速率路由选择

由于最优解的复杂性很大,需要一个预处理机制以通过精简不必要的设备来降低图尺寸。本过程如下所示:

 步骤1  获得最初的拓扑图G,包括源设备(S)、目标设备(D)、以及  所有能够转播的设备。基于连通性信息,在设备之间标记连通  性。 步骤2  在G上,从最初的网络拓扑图删除源设备S。从目标设备D,  开始广度优先搜索(BFS),记录从D可以到达的转播设备  (Set_D)。 步骤3  在G上,从最初的网络拓扑图删除设备D。从源设备S,开始  BFS搜索,记录从S可以到达的转播设备(Set_S)。 步骤4  仅仅留下转播设备Set_D和Set_S,并精减其它设备,产生一个  缩减图G’。根据缩减图G’,执行路由选择算法,在以下章节  所示。

■基于精减拓扑的最大速率路由选择

i.找到一个路由(基于扩展的算法)

从根部S建立一个扩展树。记录从S到D的所有路径,其中会有较好的速率支持,可以使用算法计算出沿着一个具体路径的速率,将在以下段落描述。从S到D直接传输的可支持传输率被设置为一个基础速率水平。如果两个设备不在相互传输距离范围内,可支持速率被设置为0。通过插入一层中间中继设备,将该树扩展,然后计算从S到D通过中间设备的可支持速率。然后,再多增加一层;计算从S到D通过两个连续中间设备的结果,以此类推进行。每次,仅记录下到此为止获得的最大速率路由。考虑到我们研究的是小尺寸,以及为了降低计算中涉及的路由数目,一层(最多两个)用于转播的中间节点对正常情况而言将是足够的。

ii.沿着路径的速率支持

路由的一个基本要求是‘流量平衡(flow balance)’,即沿着路由多个设备的远距离传输率应该是相同的,从而

R1F1=R2F2R2F2=R3F3Rn-1Fn-1=RnFnΣ1nFi=1R1-R2R2-R3Rn-1Rn1111F1F2Fn=001

其中,Ri是沿着路由第i个设备的传输率;Fi是分配到第i个设备的可用时隙Availslots的一部分。Availslots用来表示沿着路径可以预留的时隙数目。在此,Availslots=min{在设备i上的可分配的时隙数目}。分配到设备i的时隙数目是Fi个Availslots。沿着路由的流量传输率是R=min{Ri×FiAvailslots/时隙总数}。

3.带宽预留

在路由选择之后,依照沿着选择路由的时隙数目,应该预留带宽用于流量发送。在带宽预留(BR)里的主要困难是在多个应用间的平行预留。在这种情况里可能发生冲突,产生大量的带宽重新分配和预留重试过程,结果导致频繁的预留失败。但是,由于在本发明里只考虑一个相当小型的网络,实施互斥带宽预留是合理的,即一次只允许一个源设备执行一个应用的带宽预留。最大困难是如何保证每次仅有一个连接可以执行带宽预留。在这方面,我们提出一个互斥带宽预留(MEBR)协议来解决此问题。细节将在以下讨论。

在本方案里,每个设备维持以下两个标记,其数值或者是on(置位)或者是off(复位)

  标记  描述

 BR_指示  当本地设备识别到有其它设备正在进行带宽预留  时,设置成on状态。 BR_通知  当已经接收到从另一个设备的任何BR_通知消息  时,或设备本身发出这样一个消息请求带宽预留  时,设置成on状态。

当系统启动时或在重置之后,‘BR指示’和‘BR通知’被设置成off(复位)状态。

另外,以下计时器是由本方案维护:

  计时器  描述BR_通知_重试_计数器  用来检查网络状态以重试发出‘BR通知’消息,  以获得BR访问权限。BR_通知_发送_计时器  用来确定‘BR通知’已经到达网络内的所有设备,  且没有冲突存在。BR_回复_计时器  沿着选择路由在设备上(除目标设备之外)设置,  用来等待来自下行线路(down-link)设备的‘BR_  回复’。

以下消息可能在网络里传送:

  消息  描述  BR通知  (广播)显示设备愿意发出一个带宽预留(BR)请求。  BR冲突  (广播)显示在网络内检测到的BR冲突。  BR权限确认  (广播)显示设备将开始带宽预留。  BR请求  (单播)从源设备发送到目标设备以便沿着选择路径传递与  带宽预留有关的信息,参数包括沿着路径的选择设备、流量  规格(TSpec)、流量信息。  BR回复  (单播)从目标设备发送到源设备作为‘BR请求’的回复。  BR错误  (单播),当在带宽预留期间发生任何错误时产生。它沿着

  选择路径双向发给源设备和目标设备。  BR释放  (单播),是从源设备发送到目标设备以释放之前预留的带  宽。  BR权限释放  (广播),在源设备发现其沿着路径已经成功预留带宽之后  发出。

每个消息被分成广播类型或单播类型。如果是一个广播类型,应该采用一个消息溢出机制(message flooding mechanism)以确认消息到达网络内的所有设备。如果是一个单播类型,消息从源设备被发送到其目标设备。

a.互斥BR权限获得

在沿着路由调用带宽预留之前,任何源设备首先需要获得BR权限,以保证在网络内仅有一个源设备执行带宽预留。基本上,如果设备需要执行带宽预留,它需要通知所有其它设备。由于网络是分布式的,设备可以同时发出带宽请求,在本发明里一个指数后退算法(exponential back-offalgorithm)被用来解决冲突。基本上,指数后退算法按照以下步骤运行:每个设备保留一个竞争窗口(contention window)。依照竞争窗口的时间,有一个预定最小值和最大值。最初,竞争窗口被设置成最小值。如果在一次尝试之后,设备获得访问权限失败,其竞争窗口增大一倍直到其达到最大值,那么在竞争窗口内选择一个随机值作为一个等待计时器的等待周期,以便设备进行后退(backoff)运算。如果计时器终止,设备可以做另一次尝试。方案细节如下所述。

当设备(如设备A)想调用一次带宽预留,它首先检查本地的‘BR_指示’,步骤如下:

·如果‘BR_指示’是on状态,显示源设备在执行BR,设备A等待一段时间后进行下一次检查,

·如果‘BR_指示’是off状态,并且之前接收到‘BR通知’,设置后退计数器‘BR_通知_重试_计数器’以进行下一次检查,

·如果‘BR_指示’是off状态,并且没有接收到‘BR通知’,发出

‘BR通知’消息,启动一个‘BR_通知_发送_计时器’。

如果设备A接收到‘BR通知’消息:

·如果另一个应用的‘BR_指示’是on状态,设备A广播一个‘BR冲突’消息,

·如果‘BR_指示’是off状态,并且‘BR_通知’是on状态,即已经从不同源节点已经接收到‘BR通知’,或者不同应用或设备本身已经发出‘BR通知’,设备A广播一个‘BR冲突’消息。

如果设备A接收到‘BR冲突’消息,设备A执行以下步骤:

·设备A广播一个转播‘BR冲突’信息,

·检查设备本身是否在当前周期内发出‘BR通知’。如果是的话,进行指数回归操作以进行另一次尝试。

·设备A将‘BR_通知’设为off状态。

如果‘BR_通知_发送_计时器’超时,即在设备A发出‘BR通知’之后,没有从其它节点接收到‘BR冲突’或其它‘BR通知’,设备A执行以下步骤:

·发出‘BR权限确认’消息。

接收到‘BR权限确认’消息的任何设备应该:

·将‘BR指示’标记设置成on状态。

如果设备(A)已经完成带宽预留,其应该:

·使用‘BR权限释放’以释放带宽预留权限。

b.路由选择和带宽预留

在设备获得带宽预留权限之后,

 步骤1  源设备根据在最后章节里讨论的路由选择算法选择路由。

 步骤2  带宽预留协议是沿着选择的路由执行,步骤如下:  ·首先,源设备执行以下步骤:  1.建立路由表格;  2.通过由MAC层提供的DRP协议,进行下一跳设备的带  宽预留;  3.更新和广播其设备信息;  4.发送“BR请求”到下一跳设备;  5.保持一个“BR回复”的计时器。  ·沿着路径的任何中间设备一旦接收到“BR请求”,执行与源  设备类似的步骤。  ·目标设备一旦接收到‘BR请求’,执行:  1.在路由表格里记录;  2.产生‘BR回复’发到前一跳设备。  ·任何中间设备一旦接收到‘BR回复’,转发BR回复到前一  跳设备。  ·源设备一旦接收到‘BR回复’,给上层显示成功的带宽预留。  ·源设备发出‘BR权限释放’消息以释放BR访问权限。  ·取消沿着路径的所有预留,除非:  1.接收到一个‘BR错误’消息,表示过程里有任何错误,  或者路由是断的或者是带宽预留失败,这种‘BR错误’将  被转发到前一跳设备。  2.‘BR_回复_计时器’终止。  源设备一旦接收到‘BR错误’消息或其‘BR_回复_计时器’  终止,发出‘BR释放’消息以释放BR访问权限,接着源设备  需要发送‘BR释放’消息以释放沿着路由的预留带宽,并随后  发送‘BR权限释放’以释放预留权限。 步骤3  在带宽预留之后,预留的时隙可以专门用于流量传送;源设备  的上层可以开始数据传送。

c.路由释放

当源设备完成一个应用的数据传送时,其应该执行以下四个步骤:

1.释放该应用的带宽预留,

2.沿着数据传送路由,发出“BR释放”消息到下一跳设备,

3.删除有关应用的记录,

4.更新设备信息。

一旦从前一跳设备接收到“BR释放”消息,一个中间设备应该执行与源设备相同的四个步骤。

当“BR释放”到达目标设备,从目标设备删除有关路由和带宽预留记录。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号