专利名称::小型分布网络内数据路由和带宽预留的方法和设备的制作方法
技术领域:
:本发明涉及分布网络内的无线通信,特别涉及小型分布网络内的数据路由或多跳路由,其中网络内的每个设备或节点可以被使用作为一个信息包运送者和转发者,以便将数据信息包从源点逐跳分程转递到目标点。本发明也涉及源点和目标点之间路由的带宽预留。
背景技术:
:分布式网络是这样一种网络,其中没有中央网络控制器来管理网络事务,并且每个网络成员(如节点或设备)具有相同特权和权利,网络成员之间通过谈判访问网络资源。成员可以自由进入和离开网络。无线个人区域网络(WPAN)是小型分布式网络的一个例子,其可以用于家庭娱乐、家庭办公和会议室网络应用。在一个家庭娱乐环境里,典型的网络应用包括视频流,如看电视、播放DVDs、玩游戏、下载文件和浏览网页。在一个家庭办公和会议室环境里,典型的网络应用包括多媒体展示和文件共享。这种网络有许多限制和独特特征,包括小尺寸、小覆盖范围和少量用户。网络成员在计算和功率性能方面也是不同的。例如,网络成员可以同时包括个人计算机(PCs)、个人数字助理(PDAs)、数码相机以及打印机。它们可以是交流电源启动或电池启动。超宽带(UWB)射频技术可以用于短距离高带宽通信,理论上适合用于WPAN应用。WiMedia标准委员会已经提出了一个WiMediaUWB无线平台,基于多频正交频分复用(MB-OFDM)技术,合并媒体访问控制层(MAC)和物理层(PHY)。UWB射频可以在当前版本里支持高达480Mbps的高数据率,或在未来版本里支持更高的数据率,并具有更低能耗。但是,UWB技术有一些缺点,其传播距离是有限的,仅仅大约30尺或10米,其并不比一个普通居室尺寸更大。这种短距离意味着,在许多居室、办公室或大型会议应用里,一些设备可能放在相互直接通信距离之外。另外,低功率意味着网络易受到来自电子噪音的干扰和环境障碍如墙。自组网络(ad-hocnetwork)是这样一个网络,其中每个节点愿意转发数据给网络内的其它节点。一些分布式路由协议已经被提出用于自组网络,并可以被用来扩展UWB的通信距离,超过直接对等(peer-to-peer)距离。但是,这些路由协议通常依赖于本地信息,并且每个节点没有一个网络全局观点。另外,尽管使用自组路由协议网络可以解决距离问题,但它们不能解决服务质量(QoS)问题,这对于支持实时流应用是很重要的。解决QoS问题的一种方法是带宽预留。一些带宽预留方案已经被提出用于无线自组网络,其使用一个分布式路由协议找出一个通过网络的路线,并沿着该路线预留带宽。在路由选择程序里的分布式路由协议里,它们有同样的问题。一些方案不得不遭受竞争条件(racecondition),时隙没有被多次预留和平行预留正确地预留,因为带宽预留是在一个分布式方式上进行,并且同时进行。平行预留是带宽预留失败的一个常见原因。大多数现有的带宽预留以大型自组网络为目标,并依赖于一个复杂的路由协议以进行路由建立和恢复。这种方案具有较高的网络开销,并且不适用于小型WPANs。另外,现有方案不会综合考虑源的偏好、设备的不同和WPANs里的各种流量要求。发明概述因此,本发明的一个目的是提供一种路由和带宽预留方法,用来克服或至少缓解现有方案的一些问题。本发明的另一个目的是提供一个数据路由方法用于小型分布式网络,其特别适合基于WPANs的UWB。鉴于前述,在此披露了一种用于小型分布式网络的数据路由和/或带宽预留方法,其中网络里的每个成员如设备或节点有一个全网络拓扑图,路由选择是在源成员进行,带宽预留是沿着选择的路由进行。一旦启动或加入网络,每个网络成员建立并维护一个网络内所有其它设备的信息列表,其可以被用来建立一个网络拓扑视图。为了降低在信息收集期间的通信开销,采用一个基于优先权的广播调度。当网络平稳时,每个设备有一个全网络视图。一旦网络拓扑或设备信息发生变化,更新的信息以较高优先权被传播到整个网络。当设备意图建立一个与其它设备的连接时,它会基于其自身偏好和当前网络拓扑选择路由。接着,设备沿着选择的路由预留带宽。带宽预留使用一个互斥带宽预留协议(mutuallyexclusivebandwidthreservationprotocol),其保证每次只有一个连接可以预留带宽。这种数据路由和带宽预留方法包括三个主要功能部分,即信息收集、路由选择和带宽预留。可选地,本方法也可以包括速率自适应(rateadaptation)、传输功率控制和服务发现(servicediscovery)部分。信息收集执行整个网络的设备信息的广播和收集。路由选择根据源设备上的应用要求执行转播路由的选择。带宽预留沿着选择的转播路由执行互斥的带宽预留。速率自适应和传输功率控制在链接层上进行有效的信息包传输。服务发现执行网络里提供的服务搜索,并提供服务给其它设备。'在此也披露了一种具有转播应用的设备,依照本发明允许该设备作为具有数据路由和带宽预留的网络成员加入网络。从以下仅通过范例的描述,本发明的其它方面将越发明显。现将通过范例并结合附图描述本发明的一个实施例,其中图1图解描述本发明典型实施例的一个协议栈;图2图解描述本发明的中继系统部分的功能组件及其相互关系。图3图解描述图1协议栈的MAC和中继系统层之间的消息和控制流程。图4图解描述中继系统启动过程的流程。图5图解描述中继系统的主控制流程用于设备信息更新,图6图解描述由中继系统处理的楚麥yf:息游,富(7/4图7图解描述由中继系统处理的没备/底息激,息/"/om加'w7图8图解描述由中继系统开发的广播调度的运行过程,图9图解描述通过中继系统传输设备信息的控制流程,和图10图解描述在依照本发明的一个方法里的数据传输流程。典型实施例详述在一个多跳通信情景里,不是所有的网络成员都与网络内的每个其它成员处于直接通信距离内。在以下描述里,术语"邻近设备"被用来表示那些可以直接通信的网络成员。也就是说,设备A的邻近节点是设备A可以直接通信的那些其它设备。现在将详细参照本发明的一个典型实施例,在一个基于MAC协议的时分多址(TDMA)里,其中网络内的每个设备通过信标帧方式发出"hello"消息,以宣布其存在,并在每个超级帧(superframe)里提供其它补充信息。典型实施例的协议栈如图1所示。依照本发明一个中继系统103被建立在MAC层102的上面。它利用由MAC102和PHY101提供的服务,提供端到端(end-to-end)的数据传输服务给应用层104。例如,MAC为中继系统提供一个广播信道以发送控制消息,以及一个分布式带宽预留机制(即分布式预留协议(DRP)),在网络内邻近设备之间预留通信资源。但是,典型实施例的这些特征不是意在限制本发明的使用范围或功能。需要注意的是,本发明可以适用于其它协议和栈结构,或者其本身可以成为一个新协议的基础。图2描述中继系统的功能部分及其相互关系。功能部分是信息收集、路由选择、带宽预留、速率自适应和传输功率控制以及服务发现。这些功能部分可以通过使用网络成员里运行的软件程序、驱动、对象和组件,得以实现而提供本发明的方法。本系统的三个主要功能部分是信息收集、路由选择和带宽预留。可选地,中继系统也包括速率自适应和传输功率控制以及服务发现功能。一旦启动或加入网络,每个网络成员建立并保留一个系统内所有其它设备的信息列表,从而有一个全网络拓扑视图。通过收集、广播以及,若有需要,每个网络成员设备信息的重新广播,信息收集部分负责建立和维护这个列表。这样,每个设备都有整个网络的全局总览。只要网络拓扑或设备信息发生变化时,更新信息以较高的优先权被传播到整个网络。当一个设备意图与网络内的其它设备建立一个连接时,它会根据其自身偏好和当前网络拓扑选择一个通信路由。中继系统的路由选择部分负责选择通信路由。由于每个网络成员有整个网络的全局总览,根据应用要求在源设备上就完成了路由选择。接着,源设备沿着选择的路由预留带宽。带宽预留部分负责沿着选择的通信路由进行带宽预留。带宽预留使用一个互斥的带宽预留协议,其保证每次仅有一个连接可以预留带宽。本发明的其余部分、速率自适应和传输功率控制、以及服务发现是可选功能部分,它们可以被用来进一步增强网络性能。速率自适应和传输功率控制在链接层上进行有效的信息包传输。服务发现执行网络内提供服务的广播和搜索,并提供服务给其它设备。在这个方案里,系统运行是从全局信息收集开始。如果这种信息有任何变化,信息收集过程被周期性地调用以保留更新的、或根据需要(ondemand)的信息。只要有一个来自上层的请求,会根据需要调用路由选择和带宽预留过程。现在将详细描述本系统的三个主要功能部分信息收集、路由选择和带宽预留。1.信息收集每个网络成员需要收集和传播一些信息给每个其它网络成员,以建立一个整个网络的全局视图。以下部分将介绍信息收集功能的细节。为了便于描述,以下表格定义了一些将要描述的信息参数。<table>tableseeoriginaldocumentpage10</column></row><table>设备ID网络内设备的唯一标识符。例如它可能是媒体访问控制地址(MAC地址)或以太网硬件地址(EHA)或硬件地址或加在设备网络适配器(NIC)的适配器地址。中继能力表示设备是否愿意和有能力转播信息包给其它网络成员。为了优化网络性能,每个设备应该具有转播能力给其它成员,并且若有需要,它可以由用户重新设置。设备类型表示设备类型或类别,如打印机、PC、PDA、移动电话、数码相机等。应用能力表示设备可以支持/运行何种应用。电源类型表示设备是交流电源供电还是电池供电。剩余电力表示用于运行的剩余电力。交流电供电设备和电池设备的剩余电力可以由统一方式表示,并且可以被量化到几个级别。交流电供电设备的剩余电力总是在最高级别,但电池供电设备的剩余功率是根据实际剩余电力表示。链接条件表示成员与每个其它设备能够通信的无线连接或其它连接的条件或质量。距离/定位表示成员与每个其它设备能够通信的位置和/或距离。链接带宽表示成员与每个其它设备能够通信的无线连接或其它连接的带宽。两种类型的消息被采纳用于本发明的信息收集。这些信息是^^/t:息游,息和没姿^:富;E息。^^^:息;E息被用来在邻近设备之间请求或发送链接质量信息,而没吝yf:息/虎息是由中继系统产生以传播网络信息。在没备#:息/£息里的字段可以分成两类强制的和可选的,其中强制部分是系统提供基本功能所需的最少信息,而可选部分是系统提供增强特征所需的信息。强制信息项包括没备/D、中遂激力、敏潔资i、临近设备数目、设备地址、到每个邻近设备的链接质量和带宽等。可选信息包括#/#敏力、没备^^辟n^^^力等。另外,没吝^:唐;E息也需要包括一个序列号,其是由没备yn教息的发送者保留。本方案收集的信息不受限于以上所述的那些。只要网络和系统能够负担得起,可以收集更多信息。通过本地信息收集和广播,可以获得整个网络的系统信息。通过1)广播其自身信息、2)倾听其它设备的广播、以及3)若有需要,重新广播其它设备的信息,每个设备通过网络内的所有成员参与建立和维护列表。首先,每个设备在本地收集其自身的设备信息。然后,设备形成一个没吝#:富撒富,并广播其自身的设备信息。通过旁听由邻近设备传送的没吝;t:息;E息,设备可以获得其邻近设备的信息。链接信息可以由本地设备测量。通常,根据链接质量信息或从链路接收信息包的信号强度,本地设备可以计算出链接质量。设备向邻近设备査询在它们之间的链接质量,邻近设备发送回链接质量信息,其被合并到没备/t:唐;E唐里。在一个多跳通信情景里,不是所有的网络成员都处于直接通信距离内,从而不是每个设备都能够旁听到由每个其它设备广播的所有设备信息消息。所以,没吝#,富/虎息需要由其它网络成员重新广播,从而所有成员可以收集并存储信息。全局设备信息收集的最大挑战是用于信息收集的通信带宽可能很大,以至于网络负担不起。在本发明里,收集过程是在一个相当小的网络上进行。为了进一步降低通信开销,可以使用一个基f汰遂^^^/^潘源,法,其将在以下部分讨论。为了便于网络信息收集和传播,以下数据结构是由每个设备维护:<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>在没备^:息^^^里的设备信息的控制字段如下所述<table>tableseeoriginaldocumentpage13</column></row><table>■/庄息欲桌逆劍流荐依照一个MAC超级帧,周期性地调用信息收集流程。图3描述一个优选实施例,其中中继系统是一个事件驱动系统。中继系统301是由一个系统启动事件调用,其可能由MAC或栈应用层发起。在被调用之后,在步骤3011上启动中继系统,然后其通知MAC它的存在。只要一个关于中继系统的消息被MAC收到,在步骤3012,它被传递到中继系统进行处理。中继系统在步骤3013上开发其广播优先权和^產麥/t:息;^^厨/y,并在步骤3014上在每个超级帧的结尾传输设备和鍩麥信j/^息。这些步骤3011-3014的操作将在以下章节详细讨论。■微众f,飾7"初始化过程如图4所示。在步骤400,中继系统预置系统变量和本地数据结构(列表和队列)。中继系统在SCAN或NORMAL模式上运行。当系统启动时或在系统重置之后,中继系统进入SCAN模式。在这个模式里,设备不发送任何没吝像息樣息和/產麥/t:唐;E息。它旁听到信道并尽量收集尽可能多的信息,并填充进信息列表和队列。在一个预定时间周期之后,系统进入NORMAL模式。在这个模式里,它可以发送其本身的设备信息和请求,并根据列表和队列回复来自其它设备的链接信息。更新设备信息的主要控制流程如图5所示。在步骤500,消息从MAC传递到中继系统。在步骤501,功能模块检查消息类型。如果它是一个錢—麥#:息/《息,在步骤502它被传递到链接信息处理程序。如果它是一个没吝#:息/《息,在步骤503它被传递到设备信息处理程序模块。在消息被处理完之后,在步骤504系统进入空闲状态。楚麥/家唐撒息处理如图6所示。在步骤5020,接收到楚麥信富教息之后,功能模块首先检査消息是否是一个链接信息请求(步骤5021)。如果是的话,测量链接质量,并发出一个链接信息回应消息(步骤5023)。否则,根据消息信息更新设备#:息^/表(步骤5022)。系统进入空闲状态(步骤5024)。设备信,息撒息处理如图7所示。在接收到消息之后(步骤5030),功能模块检査消息是否过期(步骤5031)。如果消息序列号小于或等于本地设备保留的序列号,消息是过期的,反之亦然。如果消息是过期的,功能模块进入到步骤50313停止程序。如果消息不是过期的,相应地更新没备/^漆^^^y表(步骤5032,详细操作将在以下部分讨论)。然后,执行检査操作(步骤5033)以査看没吝;f:富;E息是否是一个来自源设备A的或由另一个设备B重新广播的初始消息。如果是一个初始消息,功能模块检查本地设备之前是否己经从源设备A获得信息(步骤5034)。如果本地设备没有获得设备A的信息,设备A的信息被添加到本地设备^:息;^表,并且其事件标记被设置成UPDATE(步骤5035),以及设备A的没吝/D被放入到楚麥焦息y求厨力里(步骤5036)。没吝/Z)被添加到邻近皮吝^表,并且重置链接信息测量计数器(步骤5037)。设备A的实时计数器也被重置(步骤5038),接着过程结束(步骤50313)。如果本地设备之前已经接收到设备A的信息,功能模块检査设备A的信息是否有任何变化(步骤5039)。这可以通过检查消息序列号是否大于本地数据库里保留的序列号而得以实现。如果没有任何变化,功能模块重新设置设备的实时计数器(步骤5038),接着过程停止(步骤50313)。如果有一些变化,功能模块更新没备#:息^/表,并设置设备事/^^记为UPDATE(步骤50310),更新设备实时计数器(步骤5038),接着过程停止(步骤50313)。如果没备;f,息;E息是一个重新广播(广播-中继)的消息,功能模块检査没吝#:富/《息是否有任何变化(步骤50311)。如果有变化,即序列号较大,更新没吝/泉唐^/表,并且将其事伊#记被设置为UPDATE(步骤50312),接着操作停止(步骤50313)。否则,过程停止(步骤50313)。在步骤5039和50311上,对照本地数据库检查设备/家息;E息以查看是否有任何变化。为了实现这个动作,每个设吝/,^;f,息与一个序列号相关联,其仅可以被消息发送人更新,并仅当设备信息有任何变化时才更新。所以,当一个设备接收到一个来自其它设备的设备消息时,它可以比较存储在本地数据库里的序列号和在消息里含有的序列号。如果在本地数据库里记录的序列号小于其后接收到的序列号,它可以知道设备信息己经发生变化。在步骤50310和50312,当更新设备信息时,中继系统需要做三件事1)依照接收到的信息更新每个设备信息项,2)设置事/^^记为UPDATE,3)检査是否有任何邻近设备己经加入或离开此设备。如果有的话,中继系统需要相应地更新那些邻近设备信息。这是一个被称为"反向有效性检査"的必需步骤,其将在以下段落里讨论。■广潘微微f3,广播调度开发的运行程序如图8所示。在这个程序被调用之后(步骤600),功能模块检査系统是否处于SCAN模式。如果系统处于SCAN模式,程序行进到步骤611结束运行。如果系统处于NORMAL模式,功能模块在列表里的每个项上执行一个处理操作。它首先检査没备#:富/^^是否有任何未被处理的设备记录(步骤602)。如果在列表里没有未被处理的记录,程序行进到步骤607。如果在列表里有未被处理的设备信息记录,功能模块进行有效性检查(步骤603)。如果信息项是无效的,其意味着设备信息是过期的,那么功能模块行进到步骤604从设备;t:富/y^n^^近没备/^表(如果设备是一个邻近设备)删除设备信息,然后行进到步骤602。否则,功能模块进行广播要求检査(步骤605)。如果不需要广播/重新广播此信息项,功能模块行进到步骤602,否则更新设备的違^7^^^,(其将在以下部分讨论),并且如果其广播计数器终止或其状态被设置为UPDATE(步骤606),其没吝/D被放到广谱沐龙汰叙^^l末尾。在放置没备/D到广播优先权队列之前,功能模块需要检査它是否已经在队列里。如果是的话,这个步骤结束。然后控制流程行进到步骤602。如果已经处理了所有设备信息项,功能模块检査在邻近没吝/i/^里是否有任何处理的记录(步骤607)。如果没有的话,功能模块行进到步骤611结束运行。如果有的话,功能模块行进到步骤608更新设备的链接信息测量计数器,然后检查是否有必要请求设备的链接信息(步骤609)。如果不需要的话,功能模块行进到步骤607。如果需要的话,功能模块将没吝/D放入#產麥#:息谆^^^/,并重置其##;^#/_###"器(步骤609),然后行进到步骤607。■没吝農唐,资丝检產在步骤603,功能模块检査信息消息是否是有效。这个检査的目的是查看设备信息是否已经过期。基于设备是否是一个邻近设备,两种方法被提出用于有效性检查。如果设备是一个邻近设备,使用一个实时计数器来维护其有效性。当接收到邻近设备信息时,邻近设备信息记录的实时计数器在每个超级帧上递减,并被重置为最大值。如果实时计数器为零,意味着在一个预定周期内没有接收到邻近设备信息(或超级帧的数目),其暗示邻近设备可能已经离开网络或电源中断,从而信息项是过期的。如果设备不是一个邻近设备,意味着通过经由一个中间设备进行重新广播而接收到其信息,接着流畅的被称为反向检査机制被用来检查其有效性。只要设备A的信息记录被直接或通过邻近设备重新广播而旁听到,其设备信息被更新。接着作出进一步检査以查看邻近设备如B是否加入或离开设备A。如果B正在加入,应该添加一个条目到本地设备的信息列表里,并且添加A到B的邻近设备列表。如果B正在离开,应该从B的邻近设备里删除A。这种更新操作是在步骤50312和5039上进行。对任何信息记录,如果它没有任何邻近设备,其信息项应该被标记为无效的。■蕭广潘要微查在步骤605,应该检査设备信息以确定重新广播是否是必需的。如果重新广播是必需的,相应条目的设备/^^^^记字段应该被标记为重新广播;否则,条目的广播标记字段被标记为不需要重新广播。由于无线信道是一个广播信道,避免重新广播己经由其所有邻近设备旁听到的信息,对设备来说是更有效的。为达此目的,采用一种广播检査机制。每个设备维护一个没吝/^/#^^歹^表。它的更新和使用如下所述。如果设备A的信息是从设备B接收到的,那么在设备A的记录里,就设置了设备B和其邻近设备的所有广播标记。这种操作是在步骤5031上进行。当在步骤605进行检査时,如果已经设置了设备A条目的所有标记,那么设备信息被标记为不需要重新广播,否则就标记为需要重新广播。在这之后,如果其设备信息之前己经被放入到/^0汰先^e厨/y,功能模块从广播优先权队列里删除不需要重新广播的设备信息。■基f汰义微广潘源度在图8里,在步骤606有一个更新基本广播周期的要求。这是一个极其重要的步骤,保持每个设备的最新信息,同时保持一个相当低的通信开销。其基本原理和方法如下所述。用于信息收集的带宽必须是有限制的,从而有足够的剩余带宽用于其它功能模块。而有时设备可能有大量信息需要广播。一次发送所有的可能需要远远多于其带宽限制的带宽。较高的优先权应该被赋予给对中继系统运行更重要的信息,而其它较低优先权的信息将较后发送。在基f汰龙^^^/^潘像皿制里,每个设备的信息项与三个参数关,,以控制其广播频率,即基本#,^豫滞霸、和/^潘^#"器。只要设备信息被更新,違^^^^确定基本广播周期。它可以基于每个设备的广播优先权进行计算。设备的广播优先权越高,其^^y^扇越短。^森>^^^皮用来维持当前广播周期。根据超级帧数目来定义違^t^l^卩^森^^;^。根据^/#>^1^,使用广播计数器来调用一个广播操作。广播计数器的使用在以下部分讨论。具体地,^^V^J^是由广播优先权确定,还通过以下规则而被确定。本地设备信息具有最高的广播优先权。其它设备则通过其具有的邻近设备数目和其它控制参数进行分等级。例如,一个设备有更多的邻近设备则具有更高优先权,设备有更多诱^^冶^7则具有更高优先权。作为一个例子,一个更具体的算法可以被用来计算^^"^7^^,如下所述。如果可以计算合理的^^^71^,可以采用任何其它算法。符号定义如下:<table>tableseeoriginaldocumentpage19</column></row><table>如果定义<table>tableseeoriginaldocumentpage19</column></row><table>然后通过以下公式确定设备j的广播优先权:<table>tableseeoriginaldocumentpage20</column></row><table>并且通过以下公式确定设备j的基本周期<table>tableseeoriginaldocumentpage20</column></row><table>本算法按照以下步骤运行。最初,对一个需要广播的设备信息记录而言,^"j/^^^菊被设置为^^^^^在成功广播传输几次之后,它被递增到一个预定的最大阈值。只要有一个设备信息的更新,它将被重置y^^^,菊。广潘^"嚴器被用来确定何时应该广播设备信息。最初,它的数值被设置成当前周期,然后在每个超级帧的末尾递减。如果/^潘^^^为零,信息记录的设备id被放入/^/麥汰先^^^y。/^潘汰光农叙/々被用来保持在当前超级帧里将被广播的设备信息。在每个超级帧的末尾,可以容纳在一个广播信息包里的所有较高优先权的设备信息项被发送出去。广播信息(步骤3014)在每个超级帧的结尾,系统需要执行设备信息传输。传输设备信息的控制流程如图9所示。在开始运行之后(步骤700),功能模块检査以査看中继系统是否处于normal或scan模式(步骤701)。如果系统处于normal模式,功能模块在慈;^^:唐;e^厨^M检查是否有一个链接信息请求(步骤702)。如果有的话,形成并发出一个链接信息请求消息(步骤703)。如果没有的话,功能模块检査在r^,汰^^e厨^s是否有任何项(步骤704)。如果有的话,处理尸y,汰^^e叙另"步骤705-708),否则模块结束运行。/^潘汰义^e厨/y处理(步骤705)在以下章节讨论。形成并发出设备/f:息;E息(步骤706、707),接着更新已经发出的设备信息项(步骤708)。如果已经发出一个设备信息项,接着在步骤708,将从/^蘑汰充孜^(f慮lJ除其设备信息项。另外,其广播周期也将被更新。如果系统处于SCAN模式,功能模块递减扫描周期计数器(步骤709),并检査扫描模式是否已经结束(步骤710)。如果扫描模式结束,接着系统模式被设置成NORMAL(步骤711),从而程序结束(步骤712)。■广微充細微潘当一些设备信息记录需要在同一超级帧里进行广播时,/^潘沐^^e厨f々被用来设置设备信息广播顺序。为了编排设备信息广播的优先次序,等待广播的每个设备信息记录与一个事—/^^记相关联。当设备信息己经发生变化时,事V^^3S标记为UPDATE(步骤5035、50310和50311),在信息项被广播之后重置成NOUPDATE(步骤708)。设备信息项的广播优先权是由事W^天记和插入到广播优先权队列的顺序没吝/£>确定,其表示广播计数器终止次序。在这个步骤上,依照以下规则重新编排广播优先权的次序具有UPDATE标记的所有设备信息项比具有NOUPDATE标记的那些信息项拥有更高优先权。对具有UPDATE标记的所有设备信息项而言,优先权被提供给队列头。相同规则可以应用到那些具有NOUPDATE标记的设备项。在这个步骤之后,那些刚刚已经更新的设备信息记录被赋予较高的广播优先权,自从最后一次广播之后,没有发生变化的设备信息记录被赋予较低的优先权。2.路由选择只要建立一个新连接,路由选择被调用。在以下讨论里,首先介绍在中继系统下的数据传输流程。接着讨论拓扑地图的产生。最后提出基于最大速率标准和拓扑地图的路由选择。■微传総雜数据传输流程如图10所示。只要有一个与网络内另一个设备建立连接的应用请求(流量发送请求),开始运行程序。在源节点上(步骤802)选择一个转播路由(可以是直接通信),并沿着选择的路由预留带宽(步骤803)。在处理数据传输期间,监控路由(步骤804)。如果路由监控模块发现路由断了,将返回到步骤802,并调用路由重新建立机制。为了便于增强系统,需要估计信道质量(步骤805),并在数据传输期间执行速率自适应和TPC(步骤806)。此过程继续直到对话结束。■絲爾产f根据接收到的设备信息,每个设备应该维护一个数据结构,其可以轻易将整个网络的拓扑信息绘制成一个图,以在需要时协助选择路由。一个可能的方法是将拓扑信息表示为一个权重方向图。在此图上,节点权重反映每个设备的能量或电力状态,链接权重反映链接/信道条件、或直接传输距离内两个设备之间的可用带宽。方向性反映了节点的能力,例如,一个非中继节点可能仅有入边(in-edge)。网络内的任何变化可以通过改变权重或图拓扑而影响图(拓扑地图)。路由选择是基于这个图(拓扑地图)进行的。这里也可以采用其它绘图方法,只要它们可以表示信息,并能够容易地用于路由选择。在这个步骤里可以采用一些源偏好标准,例如,如果本地设备不想其流量经过设备A,那么当选择路由时,可以从拓扑视图删除设备A。当一个流量发送请求是来自应用层时,本地设备相当于流量源。基于存储在本地数据库里的拓扑视图以及来自应用层的具体路由要求,中继模块选择路由。路由选择主要依赖于转播中的可用设备、可用带宽、传输率以及沿着路由的跳数目。由于从源设备到一些中间设备的最优路由可能不是从源设备到目标设备的最优路由部分,所以渐进选择路由的贪婪算法(greedyalgorithm)可能不起作用。通常来讲,应该搜索所有可行的路由。可以采用许多路由目标进行路由选择,如最大传输率、最小源传输功率或最小系统干扰。在以下部分,讨论怎样选择最大传输率路由的算法。类似于最大速率路由选择,也可以得出基于其它目标的路由选择算法。■裙薪先验潜减必潘WWWiV匿Ma一/加.o"J游着乂遂率錄雌条由于最优解的复杂性很大,需要一个预处理机制以通过精简不必要的设备来降低图尺寸。本过程如下所示<table>tableseeoriginaldocumentpage23</column></row><table>■基f籍减絲游射遂棘雌雍嫂身一,蘑欲^基f:T展游,法J从根部S建立一个扩展树。记录从S到D的所有路径,其中会有较好的速率支持,可以使用算法计算出沿着一个具体路径的速率,将在以下段落描述。从S到D直接传输的可支持传输率被设置为一个基础速率水平。如果两个设备不在相互传输距离范围内,可支持速率被设置为0。通过插入一层中间中继设备,将该树扩展,然后计算从S到D通过中间设备的可支持速率。然后,再多增加一层;计算从S到D通过两个连续中间设备的结果,以此类推进行。每次,仅记录下到此为止获得的最大速率路由。考虑到我们研究的是小尺寸,以及为了降低计算中涉及的路由数目,一层(最多两个)用于转播的中间节点对正常情况而言将是足够的。歸磁径舰率,路由的一个基本要求是'流量平衡(flowbalance)',即沿着路由多个设备的远距离传输率应该是相同的,从而<formula>formulaseeoriginaldocumentpage24</formula>其中,化是沿着路由第i个设备的传输率;是分配到第i个设备的可用时隙^Vfl//^^的一部分。用来表示沿着路径可以预留的时隙数目。在此,^^7s/oa-min(在设备i上的可分配的时隙数目)。分配到设备i的时隙数目是F/个^^7s/o&。沿着路由的流量传输率是及=附/"(及"尸/颠z'/s/她/好像:忌嚴j。3.带宽预留在路由选择之后,依照沿着选择路由的时隙数目,应该预留带宽用于流量发送。在带宽预留(BR)里的主要困难是在多个应用间的平行预留。在这种情况里可能发生冲突,产生大量的带宽重新分配和预留重试过程,结果导致频繁的预留失败。但是,由于在本发明里只考虑一个相当小型的网络,实施互斥带宽预留是合理的,即一次只允许一个源设备执行一个应用的带宽预留。最大困难是如何保证每次仅有一个连接可以执行带宽预留。在这方面,我们提出一个互斥带宽预留(MEBR)协议来解决此问题。细节将在以下讨论。在本方案里,每个设备维持以下两个标记,其数值或者是on(置位)或者是off(复位)标记描述<table>tableseeoriginaldocumentpage25</column></row><table>当系统启动时或在重置之后,'BR指示'和'BR通知'被设置成off(复位)状态。另外,以下计时器是由本方案维护-<table>tableseeoriginaldocumentpage25</column></row><table>以下消息可能在网络里传送:<table>tableseeoriginaldocumentpage25</column></row><table><table>tableseeoriginaldocumentpage26</column></row><table>每个消息被分成广播类型或单播类型。如果是一个广播类型,应该采用一个消息溢出机制(messagefloodingmechanism)以确认消息到达网络内的所有设备。如果是一个单播类型,消息从源设备被发送到其目标设备。a.,朋微获淳在沿着路由调用带宽预留之前,任何源设备首先需要获得BR权限,以保证在网络内仅有一个源设备执行带宽预留。基本上,如果设备需要执行带宽预留,它需要通知所有其它设备。由于网络是分布式的,设备可以同时发出带宽请求,在本发明里一个指数后退算法(exponentialback-offalgorithm)被用来解决冲突。基本上,指数后退算法按照以下步骤运行每个设备保留一个竞争窗口(contentionwindow)。依照竞争窗口的时间,有一个预定最小值和最大值。最初,竞争窗口被设置成最小值。如果在一次尝试之后,设备获得访问权限失败,其竞争窗口增大一倍直到其达到最大值,那么在竞争窗口内选择一个随机值作为一个等待计时器的等待周期,以便设备进行后退(backoff)运算。如果计时器终止,设备可以做另一次尝试。方案细节如下所述。当设备(如设备A)想调用一次带宽预留,它首先检査本地的'BR—指示',步骤如下如果'BRJ旨示,是on状态,显示源设备在执行BR,设备A等待一段时间后进行下一次检查,如果'BR—指示,是off状态,并且之前接收到'BR通知,,设置后退计数器'BR一通知一重试—计数器'以进行下一次检查,如果'BRj旨示'是off状态,并且没有接收到'BR通知',发出'BR通知,消息,启动一个'BR—通知_发送—计时器'。如果设备A接收到'BR通知,消息如果另一个应用的'BR—指示,是on状态,设备A广播一个'BR冲突,消息,如果'BR—指示,是off状态,并且'J3RJI知,是on状态,即已经从不同源节点已经接收到'BR通知',或者不同应用或设备本身已经发出'BR通知',设备A广播一个'BR冲突,消息。如果设备A接收到'BR冲突'消息,设备A执行以下步骤设备A广播一个转播'BR冲突,信息,检查设备本身是否在当前周期内发出'BR通知'。如果是的话,进行指数回归操作以进行另一次尝试。设备A将'BRjil知,设为off状态。如果'BR一通知J^送一计时器,超时,即在设备A发出'BR通知,之后,没有从其它节点接收到'BR冲突'或其它'BR通知',设备A执行以下步骤发出'BR权限确认,消息。接收到'BR权限确认'消息的任何设备应该:将'BR指示,标记设置成on状态。如果设备(A)已经完成带宽预留,其应该使用'BR权限释放'以释放带宽预留权限'6.踟遂絲微娜在设备获得带宽预留权限之后,步骤l源设备根据在最后章节里讨论的路由选择算法选择路由,<table>tableseeoriginaldocumentpage28</column></row><table>当源设备完成一个应用的数据传送时,其应该执行以下四个步骤1.释放该应用的带宽预留,2.沿着数据传送路由,发出"BR释放"消息到下一跳设备,3.删除有关应用的记录,4.更新设备信息。一旦从前一跳设备接收到"BR释放"消息,一个中间设备应该执行与源设备相同的四个步骤。当"BR释放"到达目标设备,从目标设备删除有关路由和带宽预留记录。权利要求1.一种在小型分布式网络里无线通信的路由和/或带宽预留方法,网络里有多个网络成员,包括至少一个源成员和一个目标成员,本方法包括在每个网络成员里建立一个存储的全网络拓扑图,回应一个在源成员上产生或接收到的数据传输请求,使用存储的全网络拓扑图,在源成员上确定一个传输路由,路由包括源成员和目标成员,沿着选择的路由预留带宽,利用预留的带宽,沿着路由从源成员传输数据到目标成员,和一旦完成传输,沿着路由释放预留的带宽。2.根据权利要求1所述的方法,其中网络还包括中间成员,并且路由包括源成员、中间成员和目标成员。3.根据权利要求1所述的方法,其中在每个网络成员上建立一个存储的全网络拓扑图,包括,在每个网络成员上收集和存储所有其它网络成员的信息,包括网络成员之间连接路径的信息。4.根据权利要求2所述的方法,其中对每个网络成员而言,信息包括网络ID、路由能力和该设备与网络内其它设备之间的连接状态。5.根据权利要求1所述的方法,其中在每个网络成员上建立一个存储的全网络拓扑图,包括通过网络成员收集和广播信息,接收广播信息并存储信息在网络成员上,若有需要,重新广播存储的信息。6.根据权利要求4所述的方法,其中广播或重新广播信息是基于优先权的,从而不会利用过多的网络资源。7.根据权利要求1所述的方法,其中确定一个传输路由的标准选自-最大传输率、最大传输路径信号强度、最小传输功率和最小传输路径干扰。8.根据权利要求1所述的方法,其中带宽预留是基于一个互斥预留方案,从而每次仅有一个网络连接可以预留带宽。9.根据权利要求1所述的方法,其中本方法是由一个嵌入到网络成员里的网络协议桟内的层来控制的。10.根据权利要求9所述的方法,其中该层被直接嵌入到媒体访问控制层上面的网络协议栈内。11.一个加入小型分布式无线网络的设备,此设备包括一个转播应用(relayapplication),用于建立一个存储的全网络拓扑图,并回应一个在设备上产生或接收到的数据传输请求,使用存储的网络拓扑图来确定一个用于传输数据的路由,沿着选择的路由发出一个带宽请求,并沿着路由在传输数据之后,开始释放预留的带宽。12.根据权利要求11所述的设备,其中为了建立一个存储的全网络拓扑图,转播应用收集并存储有关所有其它网络成员的信息,包括网络成员之间连接路径的信息。13.根据权利要求11所述的设备,其中对每个网络成员而言,信息包括网络ID、路由能力和设备与网络上其它设备之间的连接状态。14.根据权利要求11所述的设备,其中为了建立一个存储的全网络拓扑图,转播应用收集并广播有关设备的信息,并接收和存储其它网络成员的广播信息。15.根据权利要求13所述的设备,其中广播和重新广播信息是基于优先权的,从而不会利用过多的网络资源。16.根据权利要求15所述的设备,还包括一个基于优先权的调度方案,根据一个可调广播周期用来周期性地广播和重新广播信息,所述广播周期被调整,使得稳定信息的广播没有改变信息的广播频繁。17.根据权利要求11所述的设备,其中确定一个传输路由的标准选自最大传输率、最大传输路径信号强度、最小传输功率和最小传输路径干扰。18.根据权利要求11所述的设备,其中带宽预留是基于一个互斥预留方案,从而每次仅有一个网络连接可以预留带宽。19.一个用于小型分布式网络内无线通信的中继系统(relaysystem),本系统包括多个网络成员,包括至少一个源成员和目标成员,以及一个在每个网络成员上的转播应用(relayapplication),转播应用负责在每个网络成员上建立一个存储的全网络拓扑图,回应一个在源成员上产生或接收到的数据传输请求,使用存储的全网络拓扑图在源成员上确定一个传输路由,路由包括源成员和目标成员,沿着选择的路由预留带宽,和一旦完成数据传输,释放预留的带宽。20.根据权利要求19所述的中继系统,其中网络还包括中间成员,并且路由包括源成员、中间成员和目标成员。21.—种在一个包括多个节点的分布式无线多跳网络上提供路由控制的方法,本方法包括在每个网络节点上建立一个存储的表格,包括一个网络上每个其它节点的条目,其可以确定所述其它节点的邻近节点,回应一个产生的或接收到的数据传输请求,使用此表格以选择一个用于请求的数据传输的路由,所述路由包括至少两个所述其它节点,和沿着选择的路由发出一个带宽预留请求。全文摘要一种用于小型分布式网络的数据路由和/或带宽预留方法,其中每个网络成员有一个全网络的拓扑图。路由选择是在一个源成员上进行,而带宽预留是沿着选择的路由进行。一旦启动或加入网络,每个网络成员建立和维护一个网络内所有其它设备的信息列表,其充当一个网络拓扑图。为了降低信息收集期间的通信开销,采用一种基于优先权的广播调度。当一个设备意图与另一个设备建立连接时,它会基于其自身偏好和当前网络拓扑选择一个路由。然后,设备沿着选择的路由预定带宽。带宽预留使用一个互斥带宽预留协议,其保证每次仅有一个应用可以预留带宽。文档编号H04L12/54GK101657997SQ200880000014公开日2010年2月24日申请日期2008年4月22日优先权日2008年4月22日发明者丁泉龙,张继辉,方祖元申请人:香港应用科技研究院有限公司