用于在自组织无线系统中建立链路的方法和设备的制作方法

文档序号:7581839阅读:134来源:国知局
专利名称:用于在自组织无线系统中建立链路的方法和设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及结合定向天线工作的移动通信系统网络。
背景技术
时分多址(TDMA)是用于在无线通信系统之间建立通信链路的接入方案的一个例子。无线移动通信系统之间的通信链路在一系列时间帧内被建立。其中每一个时间帧分成了时隙,并且为每一个移动通信系统分配了至少一个时隙。
全向天线通常由无线移动通信系统所使用,使得一个移动通信系统发射的信息为所有的其他移动通信系统所接收。当移动通信系统在固定频率上工作的时候,它们必须依次在其相应时隙内进行发射操作,以免出现信道干扰。
为了改善两个无线通信系统之间的通信链路质量,可以使用定向天线。定向天线在覆盖面积受限的预期区域中提供了增强的天线增益,同时降低了指向剩余区域的天线增益。
Pritchett的美国专利No.5,767,807公开了用于在无线通信系统网络内部建立通信链路的相控阵天线。相控阵天线包括用于对天线辐射图进行选择性控制的寄生元件。当所有寄生元件都处于高阻抗状态时,相控阵天线发射全向信号,当选定数量的寄生元件响应于开关电路而处于低阻抗状态时,发射定向信号。
更为特别的是,Pritchett的′807专利公开了由固定的发端无线通信系统从固定的接收无线通信系统获取在网络中工作的无线通信系统的列表,以及用于每一个无线通信系统的相应各个时隙的列表。然后基于该列表创建表格,以在无线通信系统之间调度时隙。
为结合定向天线工作的无线通信系统调度时隙是复杂的,特别是在无线通信系统是移动的时候。在这种动态网络中,移动通信系统连续不断地进入和退出网络。此外,需要可靠的确认消息。

发明内容
本发明的一个目的是为无线移动自组织网络中的通信链路需求调度时隙并且提供可靠的确认消息。
依照本发明的这个和其他目的、优点及特征是由一个无线通信网络提供的,该网络包含多个移动节点,其中每一个节点都包括收发信机,与收发信机相连的定向天线,例如相控阵天线,以及与收发信机相连的控制器。控制器为每一个时间帧调度相应的半永久时隙,以便与相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙,此外还基于链路通信需求而对所述至少一个可用时隙进行调度,以便服务与相邻移动节点的通信链路。发端移动节点向接收移动节点发射对于时隙的请求,接收移动节点则向发端移动节点发射应答。发端移动节点向接收移动节点发射确认,并且如果没有接收到确认,那么接收移动节点再次发射应答。作为选择,接收移动节点可以向发端移动节点发送证实,并且如果没有接收到证实,那么发端移动节点再次发射确认。


图1是描述依照本发明的无线移动自组织网络的图示。
图2是描述依照本发明的无线移动节点的更详细框图。
图3是描述依照本发明的时隙帧的图示。
图4描述依照本发明而对图2中的网络图所进行的可用时隙调度。
图5是依照本发明来对半永久时隙以及可用时隙进行调度的最高等级的状态图。
图6是描述依照本发明的半永久时隙调度进程的图示。
图7是描述依照本发明为新的通信链路调度的半永久时隙的图示。
图8是描述依照本发明的可用时隙调度进程的图示。
图9是描述依照本发明被添加给通信链路的可用时隙的图示。
图10和11是描述依照本发明基于来自相控阵天线的多个同时天线射束为新的通信链路调度的半永久时隙的图示。
具体实施例方式
以下将参考表示本发明优选实施例的附图来对本发明进行更全面的描述。然而,本发明可以采用多种不同的形式加以实施,并且不应该将其视为是局限于这里所阐述的实施例。与此相反,提供这些实施例,使得本公开更为全面和完整,并且向本领域技术人员充分表明本发明的范围。在这里,相同的数字始终表示相同部件,在可选实施例中使用主要符号。为了更为清楚,在这些图中,层和区域的大小可能被放大了。
首先参考图1~2,无线移动通信网络10包括多个无线移动节点12a~12h。每一个移动节点12a~12h都包括收发信机14、与收发信机相连的定向天线16以及与收发信机相连的控制器18。
控制器18包括半永久时隙单元18a,用于为每一个时间帧调度相应的半永久时隙,以便与每一个相邻移动节点建立通信链路,同时在每一个时间帧中保留至少一个可用时隙。可用时隙单元18b调度所述至少一个可用时隙,以便也根据链路通信需求为与相邻移动节点的通信链路提供服务。此外,控制器18包括天线对准单元18c,用于在与每个相邻移动节点进行通信的过程中将定向天线对准所述节点。
并行操作可以减小时隙分配延迟。相应地,半永久时隙单元18a可以为相应时间帧发起一个或多个半永久时隙请求,以便与各个相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙,同时对从相邻移动节点接收的多个半永久时隙请求进行处理。可用时隙单元18b可以发起一个或多个可用时隙请求,以便也根据链路需求来为与相邻移动节点的通信链路提供服务,同时对从相邻移动节点接收的多个可用时隙请求进行处理。
换句话说,节点可以具有它发起的一个或多个未决的需求可用性请求以及半永久请求,同时对接收到的多个请求进行处理。有时这可能导致将指定时隙临时分配给一个以上的相邻节点。然而,如下文中更详细论述的那样,这种冲突可以借助确认消息来消除,该消息表示为时隙选择一个相邻节点。
可靠的确认消息可以用几种不同的方法提供。发端移动节点将对于时隙的请求发射到接收移动节点,接收移动节点则向发端移动节点发射应答。发端移动节点向接收移动节点发射确认,并且如果没有接收到确认,则接收移动节点再次发射应答。作为选择,接收移动节点可以向发端移动节点发射证实,并且如果没有接收到证实,则发端移动节点再次发射确认。
如果两个节点同时向对方发起时隙请求,那么应该以可靠的方式来对时隙请求冲突进行处理。一旦同时向一个其他移动节点发送请求,并且接收到来自这个移动节点的请求而没有接收到相应应答,那么控制器18等待一个时段,以便重新发送另一个请求。在这个时段中,可以对到来的时隙请求进行处理。在这个时段结束之后,如果没有接收到来自所述其他节点的请求或者没有为该节点分配时隙,则可以向这个节点发送新的请求。如果延迟请求到达队列前端,那么控制器18检查是否对该节点进行了时隙分配。如果是的话,则丢弃这个延迟的请求。同样,如果该请求所针对的节点在请求到达队列前端之前已不再是相邻节点,那么这个延迟的请求被丢弃。
包括干扰检测单元18d,以便检测用于与相邻移动节点通信的时隙中的干扰。控制器18根据检测到的干扰来协调时隙调度。干扰检测单元18d可以对信号干扰比和/或分组差错率进行测量。分组差错率可以基于循环冗余校验(CRC)错误。此外,干扰检测单元18d可以将检测到的干扰与阈值相比较。优选地,控制器根据检测到的干扰在节点之间为指定时隙切换通信顺序,并且在切换了通信顺序之后,它还可以基于检测到的干扰来协调新时隙的调度。
业务量协调单元18e通过根据链路通信需求为时隙单元分配时隙,而对与每一个相邻移动节点的通信进行协调。控制器18根据被分配的时隙来协调时隙调度。业务量协调单元18e可以根据增长的链路通信需求来分配很大的时隙集合,和/或可以根据增长的链路通信需求而从相邻移动节点那里请求很大的时隙集合。同样,业务量协调单元18e可以基于增长的链路通信需求来增加最大数量的时隙、重新分配时隙和/或分配一半的时隙。这种增长的链路通信需求可以包括流式视频和/或高速率传感器数据。
无线移动节点12a~12h是在移动环境中工作的。这些系统可以是地面和/或机载的,由此它们连续不断地进入和退出网络10。其中例如,定向天线6可以是相控阵天线、抛物面天线或喇叭形天线。借助定向天线16的传输使能集中在预期方向上的RF信号。
通过对一对无线移动通信系统之间的天线辐射图方向进行选择性控制,以便在其间建立通信链路,可以在同一个被调度的半永久时隙内部、在其他无线通信系统之间建立附加通信链路。如图1中最佳描述的那样,移动节点12c与12e之间工作于时隙1中的通信链路27、以及移动节点12a与12b之间也工作于时隙1中的通信链路29对此进行了描述。非常有利的是,本发明的这个特征允许无线移动通信网络10的资源得到更好的利用。
控制器18基于帧内时隙总数来限制每个时间帧内部用于每个无线移动节点12a~12h的通信链路的数量。将通信链路数量限制到时间帧内部时隙总数一小部分的优点在于显著简化了结合相邻节点所进行的时隙调度。
在每个时间帧内部用于每个无线移动节点12a~12h的通信链路数量小于或等于N,并且每一个时间帧内部时隙总数大于或等于2N-1。除了简化时隙调度之外,这种分布式调度避免了冲突。
分布式调度允许诸如12a与12b这样的任何两对无线移动节点例如调度半永久时隙,而不必与任何其他无线移动节点进行通信的情况下。换句话说,不存在用于调度半永久时隙的与所有无线移动节点12a~12h的集中式主/从类型的协调。由于无线移动节点12a~12h中的时隙以分散的方式被调度,因此,在无线移动通信网络10中没有故障点(point of failure)。
控制器18可以为通信链路划分优先级,并且基于优先级来撤销其中一条通信链路,以便使半永久时隙可用于与新的相邻移动节点建立通信链路。在下文中将会对通信链路优先级进行更详细的论述。此外,控制器18还可以为通信链路划分优先级,并且基于这个优先级调度所述至少一个可用时隙。
如果通信链路数量少于N,那么控制器18也可以将其中一个半永久时隙调度作为可用时隙。这非常有利地支持基于现有通信链路的需要的通信链路需求。然而如下文中更详细论述的那样,如果通信链路数量再次等于N,那么控制器18可以将按需分配的时隙重新调度成半永久时隙。
每一条通信链路由诸如节点12a的发端移动节点、以及诸如节点12b的接收移动节点形成,并且发端移动节点向接收移动节点发送可用半永久时隙的列表。然后,接收节点12b将其中一个半永久时隙的选择发送到发端移动节点。于是,发端移动节点12a向接收移动节点确认选择这个选定的半永久时隙。
每一个移动节点还可以包括与收发信机14相连的全向天线20,用于与其他相邻移动节点交换位置信息。其他可以交换的信息包括资源需求以及对潜在的新相邻节点的存在与否的检测。此外,相控阵天线16可以同时产生多个天线射束,其中在被调度的半永久时隙内部,控制器18将相控阵天线对准多个相邻移动节点。
干扰检测单元18d检测和避免射束宽度内部分配了相同时隙的共线节点对的冲突。例如,参考图1,节点12a和12e在分配的同一个时隙1中各自一半期间分别向节点12b与12c进行发射。在天线射束宽度足够宽的情况下,节点12b与12c都可以同时侦听来自节点12a和12e的传输。在时隙使用期间,干扰检测单元18d可以测量物理层的信号干扰比(SINR)。作为选择,可以在链路层基于CRC校验错误来测量分组差错率。如果这些量度违反了指定阈值,则可以声明时隙是劣质的。
然而,由于衰落可能导致单个时隙使这个测试失败,因此希望,如果时隙在n次试验中有m次经历了降级(degradation),则声明在这个时隙中存在过多的干扰。这时,控制器18试图避免干扰。可以为时隙切换链路两端的Tx/Rx顺序。如果这样的切换失败,那么可以协调新的时隙。毫无疑问,这两种变化应该随机进行,以便降低这两个节点对同时试图相同变化并且由此仍旧出现冲突的可能性。
业务量协调单元18e对流式视频或高速率传感器数据可能产生的不平衡业务量负载进行管理。提供协调机制,以便允许每条半双工链路在业务量的任何Tx/Rx分割(split)中分配时隙。此外,时隙的最大数量可以增至大于最小值的数目,以创建更多的需求时隙。由于节点可以从半永久分配时隙中“窃取”子时隙,以重新分配到需求时隙,所以子时隙划分允许有效地增加或减少时隙的最大数量。此外,可以将预留协议与链路调度过程结合使用,以便通过在从源节点到目的地节点的路径上的每个节点处请求并分配很大的时隙和/或子时隙集合,指示在沿着该路径的每个节点处为高速率流执行的资源分配,由此适应高速率流。对保留的资源而言,单独的队列和队列服务规则可能是必需的,以确保传递流所需要的容量。
本发明还涉及一种用于为多个移动节点12a~12h建立通信链路的方法,其中每一个移动节点包括收发信机14、与收发信机相连的相控阵天线16以及与收发信机相连的控制器18。方法包括为每一个移动节点12a~12h调度每一个时间帧相应的半永久时隙,以便与相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙。
优选地,调度该至少一个可用时隙,以基于链路通信需求来为与相邻移动节点的通信链路提供服务。在与每一个相邻移动节点12a~12h进行通信期间,相控阵天线16指向所述节点。每一个时间帧可以具有多达N个半永久时隙,以及至少2N-1个可用时隙。
方法还可以包括为相应的时间帧发起一个或多个半永久时隙请求,以便与每一个相邻移动节点建立通信链路,并且在每一个时间帧内部保留至少一个可用时隙,同时对从相邻移动接节点接收的多个半永久时隙请求进行处理,以及根据链路通信需求发起至少一个可用时隙请求,从而也为与相邻移动节点的通信链路提供服务,同时对从相邻移动节点接收的多个可用时隙请求进行处理。
在与每一个相邻移动节点12a~12h进行通信的过程中,定向/相控阵天线16指向所述节点。在与相邻移动节点进行通信的时隙中检测干扰,新时隙的调度则是基于检测到的干扰来进行协调的。干扰检测单元18d可以测量信号干扰比和/或分组差错率。分组差错率可以基于循环冗余校验(CRC)错误。此外,干扰检测单元18d可以将检测到的干扰与阈值相比较。优选地,控制器18基于检测到的干扰为指定时隙切换节点之间的通信顺序,并且可以在切换通信顺序之后,基于检测到的干扰来协调新时隙的调度。同样,通过根据链路通信需求分配用于调度的时隙,还可以对与每一个相邻移动节点12a~12h的通信进行协调。
方法还包括使每一个节点为通信链路划分优先级,并且基于优先级来撤销其中一条通信链路,以使半永久时隙可用于建立与新相邻移动节点的通信链路。此外,根据链路需求,可以将当前被调度来服务特定通信链路的可用时隙重新分配给另一条通信链路。这非常有利地允许任何移动节点适应通信链路需求的变化。
现在将对半永久时隙以及可用时隙的调度进行更详细的论述。由于本领域技术人员很容易理解将定向天线16指向接收移动节点12a~12h的细节,因此在这里将省略关于本发明的这个特征的描述。
出于论述目的,假设定向天线16是相控阵天线。正如本领域技术人员很容易理解的那样,相控阵天线16包括多个天线元件以及相应的移相器,能够对其进行调整,以在预期方向上产生方向性可控的天线射束。相控阵天线16引导或扫描天线辐射图,而无需物理方式地移动天线。
同样,出于论述目的,在这里对无线移动通信网络10给出了很多假设。首先,存在一个单独频带,该频带是由所有无线移动节点12a~12h共享的高数据速率信道。在所有无线移动节点12a-12h之间分时共享这种类型的传输信道,以便执行发射和接收操作。预先调度所有传输时隙。
此外还假设提供一条单独的低数据速率的开销信道(overheadchannel)。这个开销信道可以用于节点发现、网络入口(net entry)以及包括资源请求在内的多种其他数据链路控制开销信息的交换。这个开销信道是借助全向天线20提供的。在所有节点上,良好的全局定时基准同样是已知的。在以下的论述中,术语“无线移动节点”以及“无线移动通信系统”12a~12h是可以互换的。
无线移动通信网络10还包括定位和追踪移动节点的能力,这样一来,在调度时隙可用时,相控阵天线16可以被精确地指向。如上所述,在这里不再对指向/追踪进行详细论述。
此外还假设相控阵天线16具有零射束宽度。稍后将会放宽这个假设。这样一来,我们可以假设,指定移动节点的传送仅仅由其试图传送到的相邻移动节点来进行接收。这就允许对时隙调度的严格程度较低的约束条件集合。每一个通信链路都用一个数字标记,该数字表示用于发射和接收其内数据的调度时隙。
在下文中给出了这些约束条件。没有节点可以具有使用相同时隙编号标记的一条以上的通信链路。指定的时隙分配将应用于两个移动节点之间的半双工链路,并且将被两个节点交替地用于发射和接收。这两个约束条件意味着,移动节点为其相邻节点之一分配的时隙是受该节点分配给其他链路的先前时隙约束的。
在图1中描述了用于相控阵天线16的时隙调度,其中表示了具有基于调度时隙的链路连通性的网络10。对时隙进行调度,使得无线移动节点12a~12h知道何时将其各自的相控阵天线16指向相邻的无线移动节点。
假设通信链路是双向的,并且是以半双工方式使用的,其中每一个时隙编号代表时隙以及在这个时隙中出现的各个方向中的传输机会。术语“Nframe”将用于表示帧内时隙的最大链路索引或最大数目。对本实例来说,Nframe=6。
图3描述了典型的时隙帧。在最简单的模式中,每一个纪元(epoch)或帧具有n个时隙,其中将n的值设定成Nframe。在这个图中,我们还表示了如何将时隙用于与标记为节点A和B的节点相连的链路。每一个时隙被分成了两个小时隙22a、22b。第一小时隙22a(例如时隙的一半)用于从节点A到B的传输。然后,链路的方向被反转,并且第二小时隙22b用于从节点B到A的传输。
在传输周期期间,可以传输多个分组。如所示,每一个小时隙22a、22b还包含了根据以下考虑事项选择的保护时间24a、24b。任何节点对之间的最大范围确定了必须适应的最大传播延迟。100英里的最大范围对应于约为0.5ms的传播延迟。为每一个小时隙22a、22b分配保护时间,以适应所有节点对之间的传播延迟的不确定性以及不等的传播延迟。
在100英里的最大范围时,需要0.5ms的保护时间。为100英里的最大范围分配的保护时间意味着需要使小时隙22a、22b在2~4毫秒级上,从而将信道效率损失减至最小。例如,如果我们假设通信链路上的数据速率为50Mb/s并且最大范围为100英里,那么4毫秒的小时隙意味着200,000比特/小时隙(每秒250小时隙)。于是,小时隙将包含25,000比特的保护时间以及175,000比特的任务数据。
在调度可用时隙的时候,控制器18还可以偏置每一个被建立的链路,以便指定优先级。如下文中更详细论述的那样,在各个帧内提供半永久(SP)时隙和可用或按需分配(DA)时隙。已声明的目的是提高时隙同时在若干节点之间的重用。虽然图1中的移动网络10在节点和通信链路总数方面是受到限制的,但是存在多种并行使用时隙的情况。例如,时隙1和2各自在3条不同的通信链路上同时使用,时隙6则仅仅在一条链路上使用。所有其他时隙被分配给两条通信链路。我们可以定义重用因数,它表示作为网络中时隙分配总数(Nframe)与已分配时隙数量(Num_Slots_Assigned)比值的重用的平均等级。
R=Num_Slots_AssignedNframe---(1)]]>对图1中的例示网络10而言,重用方法提供了重用因数R=14/6=2.333,这表明网络调度中每一个时隙具有的同时用户平均略高于两个。很明显,为任何特定调度算法所计算的重用因数在很大程度上依赖于网络规模和拓扑。完整的比较评估应该考虑到不同的网络规模和拓扑结构。
通过注明每一个节点需要至少与该节点所具有的相邻节点一样多的时隙,即节点需要至少与其级别(degree)相等的多个时隙,可以确定用于任何图表的Nframe值的下限。于是,Nframe必须至少与整个图表上的最大节点级别一样大。因此,如果用di表示节点i的级别,那么Nframe的下限是Nframe≥maxt{di} (2)对图2中描述的例示网络10而言,其中为具有等于依照等式(2)必须使用的时隙的最小数量的Nframe的调度分配重用部分。注意,为多个节点、即除了节点1之外的所有节点分配少于完整时隙集合。因此,增强的调度算法可能能够将附加时隙分配给其中一些链路,而不会在调度中引入冲突。
以下论述主要集中在用于产生链路调度的时隙调度上。最终必须解决的全部相控阵网络问题的其他部分包括1)节点和相邻节点发现;2)网络入口(net entry);3)开销信道格式和协议,包括用于调度更新的协议交换,以及4)追踪和定位相邻节点(可以包括相控阵天线16的协助),以及5)用于动态网络拓扑的路由算法。
依照本发明调度时隙的方法基于以下原理。首先,指定数量的时隙作为为指定链路所调度的半永久(SP)时隙被分配。剩余的可用时隙(DA)可以按需分配给那些最需要它们的节点/链路。这允许根据需要移动调度的灵活性。其次,如上所述,建立半永久分配时隙的最大数量限度。该限度是基于具体网络选择的参数。如果各个节点都具有一个单独的SP时隙,那么该限度也是可允许相邻节点数量的上限。
第三,如上所述,建立了每一个帧的最大时隙数量限度。这个限度是也基于具体网络选择的参数。该限度对建立等待时间限度非常重要,因为它确定了链路发射机会的再访问时间(revisit time)。
第四,选择每个帧中总的时隙数量Nframe与每个帧中的半永久分配时隙的最大数量限度之间的关系,使得极大地简化半永久分配时隙的调度,并且即使对于分布式调度,也可以显著避免调度冲突。
通过将每个节点的半永久分配时隙的最大数量限制到每个帧的时隙总数的某个部分,极大地简化了分布式分配半永久分配时隙的处理。半永久分配时隙数量的上限(由此,可允许的相邻节点的最大数量)将由N表示的。我们可以设想Nframe的值,以使Nframe≥2N-1 (3)假设网络10中的所有节点12a~12h由定向链路连接,其中每一个节点具有单独的射束相控阵天线16,其中射束由跳时共享并指向其相邻节点的。此外,假设相邻节点数量为N,并且可允许的半永久时隙数量的限度(每一个相邻节点具有一个SP时隙)是固定的。
如果Nframe的固定值满足等式(3),那么所有节点可以通过就其中的每一条链路而与相邻节点进行相互协定,为其中每一条链路选择不同的半永久时隙,而不考虑其他链路正在选择的那些一跳(one-hop)之外的链路。这允许每一个节点通过只与一个相邻节点通信而以非常直接的方式为到该相邻节点的链路选择自己的半永久时隙。可以为多达N个相邻节点执行这个处理。
关键在于认识到当Nframe的值增加N的固定值时,对于节点选择不与相邻节点的时隙选择冲突的时隙的能力有较少的约束。为新链路选择时隙的节点必须选择当前并未被使用并且当前没有使用相邻节点的时隙。
如果节点当前具有m个相邻节点,其中具有分配给到相邻节点的每一条链路的单个时隙,并且节点正添加到新相邻节点的链路,那么相邻节点可以使用至多(N-1)个时隙。因此,如果Nframe大于(m+N-1),那么存在至少一个更多的、节点能够分配给新链路的可用时隙。这种分配过程中最糟糕的情况是,当节点已经具有(N-1)个相邻节点并正为第N个相邻节点分配时隙时。在这种情况下,Nframe必须满足等式(3),以确保附加时隙可用于分配给到第N个相邻节点的链路。
将附加观察如何在公开的时隙调度方法中利用这个特性。首先,节点只需要与相邻节点协调选择为到相邻节点的定向链路分配的半永久时隙。请求链路的节点例如可以向相邻节点发送为该链路建议的时隙的列表。这基于那些没有用于SP分配的时隙。可能存在基于以下论述的其他因素的一些该列表的排序,但是这不是必需的。然后,相邻节点可以从该列表中选出其优选的时隙,并返回带有该选择的应答。这允许我们定义用于调度半永久时隙的简单直接且完全分散的算法。
如果节点具有少于N个相邻节点,则可以在单独链路上分配其N个允许的半永久时隙中的一个以上。然而,在这种情况下,无法确保能够经由相邻节点到相邻接点的协调进行所有N个分配,而没有冲突。例如,如果N=6并且节点只有3个相邻节点,但是其中每一个相邻节点都具有6个相邻节点,那么节点能够为与其3个相邻节点的每条链路只分配一个时隙。为了简化我们的算法,我们不允许为每条链路调度一个以上SP时隙。但是,所有未使用时隙都可以作为可用时隙来进行分配。
对于某些节点数量很大的网络,其中潜在的相邻节点的数量将远大于限度N,则还需要应付拓扑结构控制问题。节点将被面临,从潜在的相邻节点中选出创建最优网络拓扑的相邻节点。这个拓扑控制问题还涉及优化高能效网络的概念。如果潜在的相邻节点数目远远大于限度N,那么可以使用拓扑控制功能来选择要连接的相邻节点。
如果我们为Nframe分配等式(3)所允许的最小值,那么将允许每一个节点具有N个半永久时隙的最大值以及总共(2N-1)个时隙分配。按需分配时隙将以最适合于业务量负载的基础被分配。当然,指定大得多的Nframe值也是一个选项。在这种情况下,将存在更多的时隙可用于按需分配。可能存在应用,对于它们这是希望的配置网络的方法。
与半永久时隙一样,节点只需要与相邻节点协调选择为到该相邻节点的定向链路分配的可用时隙。这意味着,相邻节点将在定向链路上向相邻节点发送对于时隙分配的请求,并且在同一链路上接收分配许可或请求拒绝。
请求分配来自相邻节点的可用时隙DA的节点将基于该链路上感知的对附加容量的需要来进行。这可以基于短期或长期测量由高链路使用(队列累积)提示。请求将包含所请求的时隙数量以及表示附加到请求的优先级的量度。量度可以表示队列长度,作为时隙分配需要的量度。
接收请求的节点还可以接收来自其他相邻节点的请求,这些相邻节点可能为同一个时隙的分配而竞争。为了简化协议,节点必须在考虑下一次分配之前完成处理可用时隙DA分配的一个线程。这些分配可能不持续很长时间,因为它们持续受到预占,以因为拓扑变化而被再分配为半永久时隙,或是因为变化的业务量需求而被再分配。
现在将对相邻节点及链路发现进行论述。分布式链路调度算法需要全向开销信道为必须在与潜在的相邻节点建立定向链路之前与该节点进行的某些协议交换提供支持。这样的消息包括REQ_SPTS,它请求在到该节点的定向链路上分配半永久时隙。
除了为直接支持这里所定义的协议的协议消息交换提供支持之外,全向开销信道还必须支持相邻节点及链路发现的功能。通常通过由每一个节点经由全向天线20所进行的周期性全向传输实现,其中所述传输向在范围内移动的其他节点告知这两个节点可能是相邻节点。几种自组织路由协议(包括OLSR)定义了这样的支持协议。这些先前定义的协议可能适合支持这种分布式链路调度算法。这样的协议必须执行的基本功能是发现潜在的新相邻节点并且将其告知拓扑控制功能。
一种用于节点和链路发现的方法包括每一个节点在控制信道上周期性发射信标消息,以将它的存在和位置告知相邻节点。此外,周期性地发射链路状态消息,以将其信标相邻节点(BN列表)及其PA相邻节点(PAN列表)的标识以及分配给这些节点的时隙告知相邻节点。
该算法的链路发现部分连续地对双向信标相邻节点(BBN)列表以及PAN列表进行比较,从而了解是否存在处于BBN列表而不处于PAN列表之中的节点。任何此类相邻节点变成用于链路测试的候选节点,以确定PA链路是否可行。依照本方法,在交换控制消息之后对定向链路进行测试,以确定可靠通信是否可能。如果通信是可靠的,那么将新的相邻节点添加到PAN列表中。
这在半永久基础上批准测试时隙中、但不必处于可以被分配给链路的时隙中的通信。一种方法是以这种方式批准,或者另一种方法是等待直到分配SP时隙并在这个时隙中对其进行测试。
如果拓扑控制功能不必执行拓扑优化,那么它可以是非常简单的功能。该功能的目的是获取PAN列表中的节点列表、关于这些链路可靠性的信息、以及关于网络拓扑信息,并且使用该信息来确定PAN列表上的哪些节点应该成为PA相邻节点。如果存在诸如不允许PAN列表中的所有节点成为PA相邻节点的PA相邻节点数量之类的约束,那么这是应该对网络拓扑进行优化的功能。
在为Nframe的固定值以及N的固定值(每一个节点的半永久时隙的最大数量)给出约束的情况下,可能存在对网络拓扑使用的一些顾虑。如果为这些值选择很小的数值,那么必然出现上述情况。例如,如果在Nframe=5的情况下选择N=3,那么当对于任何节点都没有三个以上相邻节点时,可能很难预期连接良好的网络拓扑,除非智能拓扑控制功能在添加新的PA相邻节点之前谨慎使用所述拓扑。这对大型网络特别是如此。
因此,拓扑控制功能应该创建相邻节点优先级(NP)列表,该列表是按作为PA相邻节点的愿望排序的PAN列表。该列表将指引为优先级顺序,潜在的PA相邻节点以该优先级顺序被调度时隙。然而,我们的初始问题是关于具有大约15个节点的小型网络。在这种情况下,我们可以规定N的值处于范围5~8中,并且仍旧具有小的等待时间。由于考虑到5~8个相邻节点将允许几乎所有可能的相邻节点成为PA相邻节点,所以很不可能存在任何拓扑使用问题。
拓扑控制功能的第二个目的是产生拓扑改变事件,该事件导致链路调度器进程改变状态并执行用于SP时隙的再分配进程。
现在将对最高等级调度算法结构进行论述。制定调度处理的目的是将处理复杂性减至最小,同时利用上文概述的整个方法。控制该调度的关键是在每个节点上保持精确的数据结构,以反映用于被分配给与每一相邻节点的链路的将来时隙的时隙调度状态。
提出两种数据结构时隙分配DB和链路消息DB。在表1中列举了用于纪元(epoch)中指定时隙的数据结构中链路的可能状态。该表描述了每一种可能状态并为该状态给出了注释。表2表示例示的时隙分配DA和表示Nframe=9(N=5)的时隙的内容、用于每个状态的状态分配、以及为每个时隙分配的例示相邻节点ID。
在本实例中,已经为4个相邻节点分配了SP时隙,由此可以将一个附加相邻节点与这些约束联系起来。如果新的相邻节点是可能的,那么存在自由时隙,它可以被作为DB时隙分配,或者与作为SP时隙分配的DB时隙一起被提供。稍后将在详细的协议说明中论述链路消息DB的应用。该实例还显示了子时隙的应用,例如每个时隙上两个子时隙。
这是与DA分配结合使用,以允许更精密粒度的概念。在这种情况下,意义在于时隙k,子时隙1的分配是将奇数编号帧上的时隙k分配给链路。相反,子时隙2表示分配偶数编号帧上的时隙。
表1

表2

在图5中表示用于链路调度协议的最高等级状态图。该图显示两个负责保持和修改时隙分配数据库的独立进程30和32。左边是用于保持和分配半永久(SP)时隙的进程,即进程30,的状态图。与右边负责分配可用(DA)时隙的进程32所执行的分配相比,该进程具有优先权。在进程路径31内,可以占用的时隙是自由时隙、DA分配的时隙以及被DA分配进程中的时隙。同样,在进程路径33内,可以占用的时隙是自由时隙、DA分配的时隙以及还需要被再分配的时隙。
这个数据库必须作为锁定数据库被控制,使得对任何指定的时隙分配状态,在指定时刻只有这两个调度进程中的一个可以修改该状态。一旦其中一个进程开始修改特定时隙分配的状态,则该状态被锁定,且另一个进程不可修改它,直到其被释放。
无论何时,DB中的每个时隙都处于表1所示的七种状态之一。可用时隙处于自由状态,即因为调度冲突已经妨碍了分配或者因为时隙最近已经变得自由且尚未被调度,所以并未将其分配给到其相邻节点中一个的链路。
如所示,自由状态中的时隙可以作为SP时隙或是DA时隙被调度。已作为SP分配被分派的时隙只能由保持SP时隙的进程修改。如果网络拓扑改变或者如果更理想的拓扑结果是可能的,那么可以由该进程释放该时隙。直到将这样的时隙返回到自由状态,用于保持和分配DA时隙的进程无法修改其状态。
此外,DA分配进程不能分派任何具有表明其处于SP分配过程中的DB状态的时隙。这包括表明已经发送SP请求和应答消息的状态。然而,如果时隙状态是DA分配,那么DA分配进程可以对其再分配。如果网络上的负载表明需要再分配DA时隙,那么可以进行。
与此相反,分配SP时隙的进程具有优先权。除了分配自由时隙之外,它可以占用并重新分配所有已经被DA分配或是处于DA分配过程中的时隙。这样提供确保在Nframe个时隙的帧内至少将单独的SP时隙分配给每个相邻节点的简单处理。只有在链路丢失或是拓扑控制功能确定特定链路不应再处在要与相邻节点建立的顶部N个链路的列表时,SP分配的时隙才返回自由状态。
图5描述这个进程如何在最高等级工作。SP时隙分配进程在分配时隙方面具有更大的灵活性。与DA进程相比,它能够占用更多用于分配的时隙,并且它能够占用已经被DA分配或处于DA分配过程中的时隙。SP进程可以接收用于处理的不同事件,包括来自拓扑控制功能的拓扑改变事件和协议消息。
这样的事件可以包括到相邻节点的链路丢失、发现新相邻节点、从相邻节点接收SP分配请求消息、以及发现拓扑改变应该发生以添加到相邻节点的链路、中断链路或是进行这两种操作。拓扑改变事件通知将传送对需要发生的拓扑变化进行描述的数据。
如果事件描述链路丢失,那么必须采取的唯一动作是将时隙分配DB中的适当时隙状态改为“自由”。如果要添加链路,那么处理更复杂。在这种情况下,SP时隙分配进程发起与新相邻节点的协议消息交换,并修改时隙分配DB。这最终导致两个节点之间关于用于分配给该链路的SP时隙的时隙分配的协定。只分配单一SP时隙给与相邻节点的每条链路,以简化协议。在下文中将对协议的附加细节进行描述。
分配DA时隙的进程遵循相似的过程。DA时隙分配进程必须计算DA时隙需要,并且将其与被分配时隙相比较,以确定是否需要新时隙再分配。如果发起DA时隙的再分配,那么也将导致与相邻节点的一系列协议消息交换,以就再分配的时隙达成一致。DA时隙分配进程可以只再分配处于自由状态或没有被SP分配的时隙。在下文中将会对用于确定何时需要DA时隙再分配的更多协议细节及处理进行论述。
现在将要描述将半永久时隙分配给定向链路。在对分配N个半永久时隙的方法所进行的描述中,假设N是固定的,并且是根据网络规模和环境而被智能选择。此外还假设Nframe=2N-1。如果认为有益于特定网络和业务量环境,那么也可以将Nframe设定成任何更大的值,以提供附加的按需时隙。
拓扑控制功能提供了几种重要的功能。相邻节点优先级(NP)列表由拓扑控制功能产生,并被用于表示用于时隙分配的优选PA相邻节点。
如果NP列表的长度是N或更小,那么拓扑控制功能将向SP时隙分配进程产生拓扑改变事件,以使之尝试得到到所有相邻节点的时隙分配。如果NP列表的长度大于N,那么它将向SP时隙分配进程产生拓扑改变事件,以获得到NP列表中N个最高优先级节点中每一个的时隙分配。
由于网络动态,因此NP列表不断变化。当PA链路断开(go down)时,节点被从NP列表中清除,然后对该链路的一个或多个时隙进行再分配。这由拓扑控制功能发起,它向SP时隙分配进程发送链路删除事件。因此,分配给该链路的SP时隙和任何DA时隙都可用于重新分配给PA列表上的另一个节点。
如果可能给出NP列表的当前状态,那么时隙变为的第一选择是将一个或多个时隙分配给附加的PA相邻节点。如果没有附加相邻节点能够被添加,则可以基于DA再分配该一个或多个时隙。
图6显示SP时隙分配进程的状态图。为了管理协议消息处理,创建如表3所示的链路调度消息DB。当下一个SP消息到达用于处理时,这保持要使用的先前协议交换所需要的状态。空闲进程进行事件管理,它在允许状态变成其他状态之前检查接收到的事件。
这些操作包括检查接收到的消息,以确定它们是否与DB的当前状态相一致。如果消息与DB不一致,则丢弃它。某些超时可能表明需要复位DB状态。该进程执行这个功能。
表3

如下表4所列举的那样,在SP时隙分配协议中需要四种基本消息类型。这些消息类型的使用是不言而喻的,它们与先前的论述是一致的。
表4

图7中显示SP时隙分配的一个实例。节点1和2都具有3个相邻节点,并且为每一条链路表示SP时隙分配。因此,它们能够在它们之间添加附加链路。链路调度协议将发现可接受的用于SP分配的时隙。表5中显示相应的协议消息交换。
节点1通过发送带有至少N个候选时隙的列表的REQ_SPTS(L=(4,5,6,7))而发起交换。这个列表可以包括所有自由和DA时隙。节点1正使用时隙1、2和3用于到其相邻节点的SP分配,因此它的列表L包含其他时隙4、5、6和7。在发送请求消息时,适当地改变时隙和链路调度消息数据结构。节点2正使用时隙4、5和6作为用于其到它的三个相邻节点的链路的SP分配,因此它选择时隙7作为唯一一个将为新链路工作的时隙。它在应答消息中发送这个选择。
在发送应答消息时,也适当地改变时隙和链路调度消息数据结构。最终,在发送或接收确认时,适当时隙的状态变成“被分配给链路(1,2)的SP”。
此外还应该注意,如果节点1和2已经选择了4个相邻节点,那么如果它们与它们的至少两个相邻节点使用相同时隙,则它们仍可能发现公共时隙,用该公共时隙在它们之间建立链路。
表5

已经开发一些描述图6中所需要的进程的初始伪码。存在必须由SP时隙分配进程34处理的、可能发生的多个事件。在表6所示的空闲进程中进行事件管理。显示了四类事件接收消息,检查超时,来自拓扑控制的链路添加通知,以及链路故障或链路删除。
相对于链路调度消息,首先检查接收到的消息,以确保该消息与DB的当前状态一致。例如,如果我们向相邻节点发送请求,那么希望的下一个消息是应答。为了简化这种分布式协议,一次只允许SP协议消息交换的一个线程。通过检查DB,以了解在发起链路添加变换之前或处理REQ_SPTS消息之前其他SP消息交换是否正在进行,由此在过程中执行上述规定。
如果因为当前正在执行另一个SP协议线程而不能发起链路添加,那么通过退避以及在预期另一个进程结束的稍后时间重新调度,推迟链路添加。允许多次尝试,以处理若干同时试图添加链路的节点之间的潜在冲突。这不意味着处理不可靠RF链路的问题。后一个问题应该通过在开销信道上使用链路协议来解决,其中该信道使用ARQ和重新传输来恢复丢失/出错消息。
因此,分布式调度协议可以假设消息不会丢失。这允许对协议进行简化。当拓扑控制从NP列表中选择相邻节点作为新相邻节点而与之连接时,它发布拓扑改变(链路添加)事件,其(在空闲进程中一致性检验后)导致在SP时隙分配进程中变换到链路添加状态。
表6

在表7中表示用于链路添加进程的伪码。该伪码启动需要在仅仅两个相邻节点之间协调SP时隙分配以及协议消息交换的进程。请求链路的节点向候选相邻节点发送带有该链路可接受时隙列表的REQ_SPTS消息。
候选时隙列表必须包含至少N个时隙,其中包括至少一个半永久时隙SP。该列表还可以可能包括所有N-1个可用DA时隙。当前可以为按需业务量临时分配可用或按需时隙。该列表将按优先级排序,以指示在当前的可用时隙分配中产生最小扰动的时隙优选项。换句话说,所使用的注释是除非已经被分配给通信链路,否则时隙不是SP时隙。2N-1个时隙中的任何一个可以是SP时隙。因此,被发送的N个时隙的列表都是空闲时隙或可用DA时隙。这些可以是N-1个SP时隙,但它们已被分配并且不在该列表上。
可以将REQ_SPTS消息发送多达MAX_TRIES次,以顾及不可靠的链路以及与其他潜在同时出现的分配的冲突。如果没有来自相邻节点的、响应于REQ_SPTS消息的REPLY_SPTS消息,那么链路调度消息DB中的超时触发重试。一旦发送了REQ_SPTS消息,那么进程返回到可以处理其他事件的空闲状态。
表7

接收REQ_SPTS消息的相邻节点将使其SP时隙分配进程变换成进程REQ_SPTS状态。在表8中显示用于处理这个消息的程序。这个程序采用了所提供的时隙列表,Ls,并且选择其优选时隙,Ns。
如果到相邻节点的链路数量,Num_links,小于限度N,则程序从该列表中选择其优选的时隙。然后发送带有这个选择的REPLY_SPTS应答消息。如果不能接受链路或者如果在进程中存在另一个正在进行的SP时隙分配,则发送否定的REPLY_SPTS应答消息。
被选择的时隙将被从它的N个可用时隙中的一个或其自由时隙中的一个中选出。可用时隙是“自由”时隙或可用DA时隙。如果我们可以添加另一个链路,那么将存在至少N个这些时隙。每一个节点总是管理其时隙,使得存在N个时隙可用于指定为半永久时隙(如果很多相邻节点可用,那么分配给N个相邻节点中的每一个节点对应一个时隙)。如果它接受链路,那么它将具有至多N-1个其他相邻节点,其中每一个节点一个半永久时隙。此外,程序还适当地修改链路调度消息DB以及时隙分配DB中的状态。
表8

处理接收到的REPLY_SPTS消息,如表9所示。从消息中提取从相邻节点接收的时隙选择,Ns。我们还要求节点用表示它将同意使用被分配时隙的肯定或否定CONFORM消息来确认这个应答。这个三次握手消除了调度处理结果的不确定性。
如果REPLY_SPTS消息是肯定应答,那么检查时隙选择,Ns,以了解是否仍然存在允许的、用于新链路的新SP时隙的分配。如果是允许的,则适当地修改时隙分配和链路调度消息数据库中的状态。然后返回肯定的CONFORM消息。
如果接收到的REPLY_SPTS消息是否定的,则为这个Nbr_ID复位时隙分配和链路调度消息数据库。否则,如果Ns的选择不再是允许的,则为这个Nbr_ID复位链路调度消息数据库。然后,将否定的CONFORM消息发送到相邻节点,以拒绝该链路。
表9

表10显示用于处理CONFIRM消息的程序。如果CONFIRM是肯定的,则考虑将链路添加到相邻节点集合中。对该节点的链路数量,Num_links加1。在时隙分配DB中,被分配的时隙,Ns,被标记为SP_Alloc,并且为索引Nbr_ID复位链路调度消息DB中的链路消息状态。如果消息是否定CONFIRM,那么为这个Nbr_ID复位时隙分配和链路调度消息数据库。
表10

由于某种理由,可能需要释放已分配的时隙。如果在正常操作期间,链路断开或者变得不可靠,则拓扑控制功能涉及解决不可靠链路问题。最终,它可以产生拓扑改变(例如链路删除)事件,从而指示SP时隙分配进程删除分配给该链路的所有时隙。
在表11中显示这个程序中包含的步骤。通过从请求释放所有与其他节点共享的时隙的节点发送DELETE_TS消息来释放链路。此外,复位链路调度消息DB和时隙分配DB中的适当条目。
表11

表12显示用于处理接收到的DBLETE_TS消息的程序。从消息中提取释放的时隙的列表,Ls。随后,复位时隙分配DB和链路调度消息DB中的适当状态。
表12

概括地说,分配半永久时隙的功能的目的是连接数量可能最多为N的相邻节点。如果获取了N个相邻节点,那么为每一个节点分配单一的半永久时隙。一旦由这个协议建立了新的链路,那么这两个节点将在重新分配的SP时隙中开始操作。
这个操作将测试新链路,以确定是否能够用已分配的时隙保持可靠通信。这确保了不存在发生在这个特定时隙中的不寻常干扰。如果链路被测试为不可靠,则将告知拓扑控制功能,以便能够释放该时隙并将其用于其他用途。
现在将讨论可用(按需)时隙的分配。将以响应于网络业务量的变动需求的方式分配可用时隙。同样,假设N是固定的且根据网络规模和环境被智能地选择。还假设Nframe=2N-1。
为了允许可用容量分配中更精细的粒度,将时隙分成ms个子时隙。在剩余的后续论述中,假设ms=2。这是通过将子时隙限定成每ms个(每隔一个)帧就重复的特定时隙分配实现的。
只有在为这两个节点之间的链路分配至少一个半永久时隙的情况下,才允许从一个节点到相邻节点的对于可用时隙的请求。在为链路分配至少一个半永久时隙之后,节点可以每隔ms(或2)个帧就请求周期性分配单一时隙。由于PA链路每帧分配至少一个半永久时隙,因此,能够在PA链路发送用于调度可用时隙的消息,用于在需要它们之前预先调度若干帧的时隙。
对于可用时隙的有效分配,关键要求是测量每一条链路上的业务量需求。将需要两个量度。首先,用Tikse表示所测量的链路(i,k)上发送的平均业务量(以每帧时隙数量为单位)。这个量度包括每帧的一个或多个半永久时隙以及任何可用时隙上发送的所有业务量。
此外,我们还需要保持用于链路(i,k)的队列状态的当前量度Qik。较大的Qik值表示需要立即分配一个或多个可用时隙。需求的突然爆发可能导致Qik增大,然后这应该触发对按需容量附加时隙的请求,直至队列大小减小。
将由Niktot表示分配到链路(i,k)上的时隙总数(用ms=2量化到时隙的1/2)。时隙需求则是如下定义的Tikdent=f(Tiksa,Qik),---(4)]]>它是测得的业务量与由队列长度表示的、估算的所需附加容量的函数。然后,这个链路上需要的时隙数目Tikneed是Tikneed=max(Tikdent,Tkidein)---(5)]]>分配给这个链路的度量是MikDA=Tikneed-Niktot+B,---(6)]]>该度量是通过DA时隙分配机制应该被分配给这个链路的附加时隙的估算数量的量度。B是偏置项,它可以被标称地设定成约为时隙的1/4到1/2,从而为每一条链路分配足够的额外容量,以避免长的队列。虽然我们使用(4)中定义的度量来描述方法,但是也可以使用多种其他形式的度量作为分配DA时隙的基础。
图8显示DA时隙分配进程36的状态图。状态图和协议交换与SP时隙分配进程中的相似。为了简化协议消息处理,在任何时间只能有DA时隙分配的单一线程在处理。空闲进程进行事件管理,其中它在允许状态变成另一种状态之前检查接收到的事件。
这些操作包括下列操作。检查接收到的消息,以确定它们是否与DB的当前状态一致。如果消息与DB不一致,则丢弃它。某些超时可能表示需要复位DB状态。该进程执行这个功能。在给出了节点的业务量需要的情况下,它还确定DA时隙分配是否最佳。如果确定必须将新的DA时隙添加到特定链路,那么它可能导致变换到添加DA时隙状态。
如下表13所列举的那样,在DA时隙分配协议中需要四种基本消息类型。这些消息类型与在SP时隙分配中使用的那些类似。这些消息类型的使用是不言自明的,并与先前关于SP时隙分配进程的论述也是一致的。
表13

图9中显示DA时隙分配的实例。节点1希望为它的链路(1,2)添加附加DA时隙分配。表5中显示相应的协议消息交换。节点1通过发送表明它能够支持所有时隙5和6以及子时隙4.2的分配的REQ_DATS(L=(4.2,5,6))发起交换。这个列表可以包括所有自由和DA时隙,很少需要后者。
在发送请求消息时,适当地改变时隙和链路调度消息数据结构。节点2使用时隙1、3和6作为用于其到其三个相邻节点的链路的SP分配,并使用子时隙2.1以及3.2作为DA分配。它可以选择子时隙4.2或是时隙5的两个子时隙。它选择并在应答消息中发送这个选择。
在发送应答消息时,还适当地改变时隙和链路调度消息数据结构。最终,在发送或接收确认时,适当时隙的状态被变成“DA分配给链路(1,2)的子时隙4.2”。
表14

在每一个网络节点使用下列方法,为到相邻节点的定向链路分配该(N-1)个可用时隙。使用这些量度,每一个节点将持续保持其分配了半永久时隙的每一条链路的链路度量MikDA。每一个节点将使用这个链路度量来向每一个相邻节点表明需要附加传输时隙。MikDA的最大值表示最需要附加按需时隙分配的链路。MikDA的正值表示所需要的附加时隙数量,其负值表示可以为再分配放弃的时隙数目。
MikDA作为度量被保持,如果最大链路度量表明需要附加子时隙分配,以及如果存在作为自由时隙或额外DA分配可用于其他链路(同样由小的度量表示)的子时隙,那么进程转换到添加DA时隙状态,并且发起寻找DA子时隙分配的进程。
与半永久时隙一样,节点只需要与相邻节点协调选择为到相邻节点的定向链路分配的DA时隙。这意味着,一个相邻节点将向这个相邻节点发送对于定向链路上时隙分配的请求,并且在同一条链路上接收分配确认或请求拒绝。
已经开发了某些描述图8中需要的进程的初始伪码。存在必须由DA时隙分配进程处理的、可能会发生的多个事件。事件管理在表6所示的空闲进程中进行。
显示了四类事件1)接收到消息,2)检查超时;3)重新计算链路度量,以及4)DA时隙需要和DA时隙删除。与链路调度消息DB相比,首先检查接收到的消息,以确保消息与DB的当前状态一致。例如,如果我们向相邻节点发送请求,则下一个希望的消息是应答。
为了简化这个分布式协议,每次只允许DA协议消息交换的一个线程。通过在发起添加DA时隙转变之前或在处理REQ_DATS消息之前检查DB,以了解其他DA消息交换是否正在进行,在程序中实施它。如果因为另一个DA协议线程当前正在进行而不能初始化添加时隙,那么将不进行时隙添加。
很自然,在下一个重新计算链路度量和DA时隙需要的机会中可以重新调度。将依照预先设定的调度来周期性地重新计算链路度量。链路度量大于特定阈值,Max_metric_threshold,的链路是用于获取新DA子时隙的候选链路。
具有超出这个阈值的最大度量的链路将被选作为其分配新DA子时隙的下一条链路。当需要分配新的DA子时隙时,如果满足上述条件,则在DA时隙分配进程中转变到添加DA时隙状态。
表15

表16中显示用于附加DA时隙进程的伪码。这启动要求在仅仅两个相邻节点之间协调时隙分配和协议消息交换的进程。请求链路的节点向候选的相邻节点发送带有链路可接受时隙列表的REQ_DATS消息。
候选时隙列表必须包含所有自由子时隙以及所有度量低于特定阈值,Min_metric_threshold,的DA子时隙。当前,DA时隙可以临时分配给其他DA业务量。将按优先级排序该列表,以指示在当前按需时隙分配中产生最小扰动的子时隙优选项。优先级排序首先是自由时隙,其后是具有最小度量、直至小于Min_metric_threshold的最大度量的子时隙。
为了简化这个分布式协议,一次只允许DA协议消息交换的一个线程。这在空闲程序中实施。REQ_DATS消息仅仅发送一次,但如果相邻节点当前正在处理另一个DA协议交换,则它可能不成功。在这种情况下,节点最终将接收到否定的REPLY_DATS消息。在这种情况下,如果在下一次评估链路度量时该链路具有最大度量,则可能再次尝试添加DA时隙。一旦发送了REQ_DATS消息,那么进程返回到可以处理其他事件的空闲状态。
表16

接收REQ_DATS消息的相邻节点将使它的DA时隙分配进程转变到REQ_SPTS状态。表17中显示用于处理这个消息的程序。该程序获取所提供的子时隙列表,Ls,并选择其优选的子时隙,Ns。被接受的子时隙是列表上的第一子时隙,ls,它在时隙分配DB中被标记为自由或者被以小于Min_metric_threshold的链路度量被DA分配。随后发送带有这个选择的REPLY_DATS应答消息。如果不能接受链路或者如果存在另一个正在执行DA时隙分配,则发送否定的REPLY_DATS应答消息。程序还适当地修改链路调度消息DB以及时隙分配DB中的状态表17

如表18所示处理接收到的REPLY_DATS消息。从消息中提取从相邻节点接收的子时隙选择,Ns。我们要求节点用表明它将同意使用已分配时隙的肯定或否定的CONFIRM消息来确认这个应答。如SP分配过程所示,这个三次握手消除了调度处理结果的不确定性。
如果REPLY_DATS消息是肯定应答,则检查子时隙选择,Ns,以了解它是否仍旧是允许的用于新链路的新DA子时隙的分配。如果是允许的,则适当地修改时隙分配和链路调度消息数据库中的状态。然后返回肯定的确认消息。
如果接收到的REPLY_SPTS消息是否定的,则为这个Nbr_ID复位时隙分配和链路调度消息数据库。否则,如果Ns的选择不再是允许的,则为这个Nbr_ID复位链路调度消息数据库。然后将否定的CONFIRM消息发送到相邻节点,以拒绝链路。
表18

表19显示用于处理CONFIRM消息的程序。如果CONFRIM是肯定的,则添加选定的子时隙,以分配给到Nbr_ID的链路。在时隙分配DB中,用DA_Alloc标记分配的时隙,Ns,并且对于索引Nbr_ID复位链路调度消息DB中的链路消息状态。如果消息是否定CONFIRM,则为这个子时隙复位时隙分配和链路调度消息数据库。
表19

由于某种原因,可能需要释放已分配的时隙。如果在正常操作期间链路断开或者变得不可靠,则拓扑控制功能涉及解决不可靠链路的问题。最终,它可能产生拓扑改变(例如链路删除)事件,以指士SP时隙分配进程删除分配给链路的所有时隙。
表11中显示这个程序中包含的步骤。通过从请求释放与其他节点共享的全部时隙的节点发送DELETE_TS消息,释放链路。此外,复位链路调度消息DB以及时隙分配DB中的适当条目。
表20

表21显示用于处理接收到的DELETE_TS消息的程序。从消息中提取要释放的子时隙Ls。然后复位时隙分配DB和链路调度消息DB中的适当状态。
表21

链路调度算法还适用于相控阵天线16产生的多个同时射束。设想扩展到具有多个节点的系统,其中每一个节点借助诸如多射束相控阵(或其他类型的多个定向天线)的单独接收机使用多个天线射束。此外,假设所有节点不是都必须具有相同数量的射束,即节点k具有Bk个射束。这与任何时隙上可能有Bk个并行链路等价。
我们现在扩展先前的论述(假设单以引导射束),以允许在一组多过Bk的相邻节点之间分时共用Bk个射束。即使节点各自可能具有不同数量的射束,但是所有节点必须使用公共时隙格式以及帧,对每一个射束而言,每一帧的时隙数量等于Nframe。
考虑用Nbeam表示在任何节点K上对其Bk个射束中任何一个射束的半永久(SP)分配时隙数量的上限(因此是每个射束的允许相邻节点的最大数量)。Nbeam的值只取决于每帧的时隙数量,而不取决于射束数目。与等式(3)一样,我们规定Nbeam必须满足下式Nframe≥2·Nbeam-1 (7)假设由定向链路连接网络中的所有节点,其中节点K具有Bk个射束,而射束由时间跳跃共享并指向其相邻节点。此外,假设每个射束的允许相邻节点数量等于Nbeam,对每个射束的半永久时隙的允许数量的固定限度(其中每个相邻节点分配一个SP时隙)。
如果在每个相邻节点处每个射束的Nbeam固定值满足(7),那么所有节点可以通过就链路而与相邻节点相互协定来为这些链路中每一条以及其每一个射束选择不同的半永久时隙,而不考虑一跳之外的哪些其他节点正在选择。这允许每个节点以非常直接的方式通过只与其相邻节点通信来为每个射束选择它的Nbeam个半永久时隙。通过遵循这个策略,每一个节点能够支持至少Nk=Bk·Nbeam(8)个相邻节点,并且为每一个相邻节点分配单以SP时隙,其中每个射束上分配不超过Nbeam个这样的时隙。
从对单一射束情况的观察确认中直接了解,可以确认只要满足等式(7),那么能够支持每一个射束Nbeam个相邻节点。于是,如果所有Bk个射束以相同方式调度它们的SP时隙,则显然,能够支持的相邻节点数量是射束数量与每个射束中相邻节点数量的乘积,由此产生了等式(8)。
图10中显示在两个节点之间的SP时隙分配的实例,其中每一个节点的射束数目不相等。在这个实例中,节点1具有两个射束,而节点2具有三个射束。虽然这两个节点具有不同数量的射束,但是它们都必须使用相同的帧结构。在这个实例中,Nframe=5时隙/帧。根据等式(7)和(8),这允许节点1具有最多6个相邻节点,而允许节点2具有最多9个相邻节点。
最初,这两个节点具有比依照约束条件(7)和(8)所允许的相邻节点最大数量小的相邻节点数量。为每一条链路表示SP射束/时隙分配。在仍然满足(7)和(8)的约束的同时,这些节点可以在它们之间添加附加链路。链路调度协议将为每个节点的SP分配找到可接受的射束/时隙,并且它以与单一射束情况基本相同的方式工作。
表22中显示相应的协议消息交换。节点1通过发送带有至少Nbeam个候选时隙的列表的REQ_SPTS(L=(1,2,3))来发起交换。注意,用a、b和c表示三个射束ID,用射束ID上的下标表示时隙编号。节点1必须识别它在射束a上已经使用所有三个允许的SP时隙,但它在其射束b上只已经分配了这三个允许的SP时隙中的两个时隙。
因此,它向节点2发送这三个SP时隙(在射束b上可用)的列表。这个列表可以包括这个射束上的所有自由和DA时隙。在发送请求消息时,适当改变时隙和链路调度消息数据结构。节点2先前已经为到它的八个相邻节点的链路分配了射束a和b上的所有可用的SP时隙。
因此,射束c是唯一能够接受新SP分配的射束。当它接收到来自节点1的REQ_SPTS(L=(1,2,3))时,它选择射束/时隙c3作为将为新链路工作的唯一射束/时隙(先前已经分配c1和c2作为SP时隙)。它在应答消息中发送这个选择。在发送应答消息时,也适当地改变射束/时隙以及链路调度数据结构。最终,在发送或接收到确认时,适当时隙的状态变成“SP分配到链路(1,2)”。
表22

实施多射束调度算法/协议所需要的变化是直接的,并且如下。添加射束ID作为时隙DB和链路调度消息DB的状态中的变量。使用(7)和(8)作为用于确定是否可能调度新SP时隙的标准。我们为网络参数Nframe和Nbeam指定值。
为了向潜在的相邻节点提供新SP时隙,算法首先必须找到相邻节点数量小于Nbeam的射束。于是,这个射束可以被用于添加新相邻节点。节点发送到其相邻节点的REQ_SPTS消息将为这个射束指定Nbeam个当前不被SP分配的可用时隙。
如果接收到REQ_SPTS消息,那么节点必须找出它的一个相邻节点数量小于Nbeam的射束。于是,这个射束能够被用于添加新相邻节点。通过比较接收到的REQ_SPTS消息中的Nbeam个时隙的列表与选定射束中当前并未分配的Nbeam个时隙,可以发现在两个列表中至少一个时隙是共有。可以选择这个时隙作为要在REPLY_SPTS消息中发送的时隙。一旦发端节点接收到REPLY_SPTS消息,那么这两个节点将已经选择它们的射束以及公共时隙分配。
这个实例隐含假设,为每一个射束使用单一频带。在这种情况下,节点可以具有同时在相同频带通信却没有干扰的若干个射束。在实践中可能很难支持这种无干扰操作。可以用工作在不同频带的每个射束来类似地表示该问题,即图10中的射束a、b和c,其中每一个射束使用不同的频带。对调度算法而言,我们将为SP时隙分配施加相同的约束条件。然而,在实际分配时隙/射束组合中,我们需要找出一种分配,使得两个节点使用相同射束(等价于使用相同频带)以及相同时隙。从调度的角度来看,这等价于使每一个射束/时隙组合不同。因此,可用时隙数量是射束数目与帧大小的乘积。在这种情况下,对将SP时隙分配给潜在的相邻节点的约束条件如下B·Nframe≥2·N-1, (9)其中B表示射束数量。与(7)和(8)的约束条件相比,由于要求共享SP时隙的节点也必须使用相同射束/频率信道以及相同时隙,因此对相邻节点数量的约束条件更为严格。对这个实例而言,Nframe=5并且B=3,于是,等式(9)的约束条件允许每一个节点八个相邻节点,而等式(7)和(8)的约束条件将允许每一个节点九个相邻节点。
图10中的例示问题具有2个节点,其中每一个节点具有三个射束,并且每一个射束工作在不同的频段,即射束a、b和c各自使用不同频段。还假设帧大小是5。这两个节点已经向相邻节点提交7个SP时隙,因此根据等式(9),它们各自可以添加具有SP时隙的附加相邻节点,允许它们在其间建立链路。在图中显示所提交的SP时隙,并且在表23中显示建立SP时隙分配以及新链路所需要的消息交换。由节点1通过向节点2发送REQ_SPTS(L=(a4,a5,b3,b4,b5,c3,c4,c5))消息发起消息交换,其必须包括先前并未作为SP时隙分配的8个射束/时隙组合。在这个实例中,节点2已经分配了节点1未曾使用的7个射束/时隙组合(它们都处于在REQ_SPTS消息中接收的8个射束/时隙组合的列表中)。于是,借助于等式(9),必须存在至少一个可以选择用于分配的剩余射束/时隙组合(c5)。如图11和表23所示,这是分配给节点1与2之间链路的SP射束/时隙组合。
表23

由此,本发明为相控阵网络提供了一种完全分布式的链路调度算法和协议。对算法/协议细节的描述假设每一个节点有时分共享的、并且在用于接入的分配时隙中指向相邻节点的单一定向射束。然而,这种方法也可以用于每个节点具有任意数量的引导射束的情况。
权利要求
1.一种无线通信网络,包括多个移动节点,其中每一个节点包括收发信机、与所述收发信机相连的定向天线、以及与所述收发信机相连的控制器,并且所述控制器包括第一时隙单元,用于为每一个时间帧调度相应的半永久时隙,以便与每一个相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙;第二时隙单元,用于根据链路通信需求来调度所述至少一个可用时隙,以便也为与相邻移动节点的通信链路提供服务;天线对准单元,用于在与每一个相邻移动节点通信期间将所述定向天线指向所述相邻移动节点;每一条通信链路由发端移动节点和接收移动节点构成,其中所述发端移动节点向所述接收移动节点发射对于时隙的请求,所述接收移动节点向所述发端移动节点发射应答,所述发端移动节点向所述接收移动节点发射确认,并且如果没有接收到所述确认,那么所述接收移动节点再次发射所述应答。
2.根据权利要求1的无线通信网络,其中所述应答表示所述接收移动节点是否接受所述请求。
3.根据权利要求2的无线通信网络,其中如果在一个时间段终止之后仍旧没有接收到所述应答,那么所述发端移动节点再次发射所述请求。
4.根据权利要求3的无线通信网络,其中只发射所述请求最多预定尝试数量次。
5.根据权利要求1的无线通信网络,其中如果所述通信链路的数量小于N,那么所述控制器将所述半永久时隙中的一个调度为可用时隙。
6.一种用于为多个移动节点建立通信链路的方法,其中每一个移动节点包括收发信机、与所述收发信机相连的定向天线以及与所述收发信机相连的控制器,所述方法包括,对于每一个移动节点为每一个时间帧调度相应的半永久时隙,以便与相邻节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙;根据链路通信需求来调度所述至少一个可用时隙,以便也为与相邻移动节点的通信链路提供服务;在与每一个相邻移动节点通信期间将所述定向天线指向所述相邻移动节点;每一条通信链路由发端移动节点和接收移动节点构成,其中所述发端移动节点向所述接收移动节点发射对于时隙的请求,所述接收移动节点在接收到所述请求后向所述发端移动节点发射应答,所述发端移动节点在接收到所述应答后向所述接收移动节点发射确认,并且如果没有接收到所述确认,那么所述接收移动节点再次发射所述应答。
7.根据权利要求6的方法,其中所述应答表明所述接收移动节点是否接受所述请求。
8.根据权利要求7的方法,其中如果在经过一个时间段之后还没有接收到所述应答,那么所述发端移动节点再次发射所述请求。
9.根据权利要求6的方法,其中如果所述通信链路的数量小于N,则将所述半永久时隙中的一个调度为可用时隙。
10.根据权利要求9的方法,其中如果所述通信链路的数量将要等于N,则将所述按需分配时隙重新调度成半永久时隙。
全文摘要
本发明提供了一种无线通信网络,其中包含多个移动节点,每一个移动节点都包括收发信机、与收发信机相连的相控阵天线以及与收发信机相连的控制器。控制器为每个时间帧调度时隙,以便与每一个相邻移动节点建立通信链路。发端移动节点向接收移动节点发射对于时隙的请求,接收移动节点向发端移动节点发射应答。发端移动节点向接收移动节点发射确认,并且如果没有接收到确认,那么接收移动节点再次发射应答。作为选择,接收移动节点可以向发端移动节点发送证实,并且如果没有接收到证实,那么发端移动节点再次发射确认。
文档编号H04W72/12GK1717879SQ200380104189
公开日2006年1月4日 申请日期2003年10月1日 优先权日2002年10月25日
发明者约瑟夫·B.·凯恩, 托马斯·J.·比尔哈茨 申请人:哈里公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1