通信系统中使用并行调度操作建立通信链路的方法和设备的制作方法

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

发明内容
本发明的目的是在无线移动自组织(ad hoc)网络中按照通信链路需求来调度时隙,并且减小时隙分配延迟。
依照本发明的这个和其他目的、优点及特征是由一个无线通信网络提供的,该网络包括多个移动节点,每一个节点包括收发信机,与收发信机相连的定向天线,例如相控阵天线,以及与收发信机相连的控制器。控制器包括第一时隙单元,用于为相应的时间帧发起至少一个半永久时隙请求,以便与每一个相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙,同时还对从相邻移动节点接收到的多个半永久时隙请求进行处理。第二时隙单元发起至少一个可用时隙请求,以便根据链路通信需求来为连至相邻移动节点的通信链路提供服务,同时对从相邻移动节点接收的多个可用时隙请求进行处理。天线对准单元在与每一个相邻节点进行通信的过程中将定向天线指向所述相邻移动节点。
控制器可以临时地将特定时隙分配给多个相邻移动节点,但是只为这个特定时隙选择多个相邻节点中的一个节点。第一时隙单元可以为相应时间帧发起多个半永久时隙请求。每一条通信链路由发端移动节点和接收移动节点构成,并且发端移动节点将可用的半永久时隙列表发送到接收移动节点。接收移动节点将关于半永久时隙之一的选择结果发送到发端移动节点。在这里,发端移动节点确以为接收移动节点选择这个选定的半永久时隙。
根据本发明的目的、优点和特征还由一种用于为多个移动节点建立通信链路的方法来提供。该方法包括为相应的时间帧发起至少一个半永久时隙,以便与每一个相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙,同时对从相邻移动节点接收的多个半永久时隙进行处理,以及基于链路通信需求而发起至少一个可用时隙请求,以便为连至相邻移动节点的通信链路提供服务,同时还对从相邻移动节点接收的多个可用时隙请求进行处理。在与每一个相邻移动节点进行通信的过程中,定向天线将会指向所述移动节点。


图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。其中举例来说,定向天线16可以是相控阵天线、截抛物面天线或喇叭形天线。借助定向天线16的传输能够将RF信号集中在期望方向上。
如果对一对无线移动通信系统之间的天线辐射图方向进行选择性控制,以便在其间建立通信链路,那么可以在同一个被调度的半永久时隙内部在其他无线通信系统之间建立附加通信链路。如图1中最佳描述的那样,在时隙1中工作于移动节点12c与12e之间的通信链路27以及在时隙1中工作于移动节点12a与12b之间的通信链路29对此进行了描述。非常有利的是,本发明的这个特征能使无线移动通信网络10的资源得到更好的利用。
控制器18基于帧内时隙总数来限制处于各个时间帧内部并用于各个无线移动节点12a~12h的通信链路的数目。将通信链路数目限制成时间帧内部时隙总数一小部分的优点在于显著简化了结合相邻节点所进行的时隙调度。
在各个时间帧内部,用于各个无线移动节点12a~12h的通信链路数目都小于或等于N,并且每一个时间帧内部的时隙总数都大于或等于2N-1。除了简化时隙调度之外,这种分布式调度还可以避免冲突。
分布式调度允许12a与12b这样的任何两对无线移动节点在不必与任何其他无线移动节点进行通信的情况下调度半永久时隙。换句话说,在这里不会为了调度半永久时隙而执行结合了所有无线移动节点12a~12h的集中式主/从类型的协调。由于无线移动节点12a~12h之间的时隙是以分散的方式调度的,因此,在无线移动通信网络10中没有单独的故障点。
控制器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次经历了降级,则声明在这个时隙中存在过多的干扰。这时,控制器18将会尝试消除干扰。对时隙而言,链路两端的Tx/Rx顺序是可以切换的。如果切换失败,那么可以协调一个新的时隙。毫无疑问,这两种变化应该随机进行,以便降低这两个节点对同时尝试相同变化并且由此仍旧出现冲突的可能性。
业务量协调单元18e对流式视频或高速率传感器数据可能产生的不平衡业务量负载进行管理。通过提供协调机制,可以允许各条半双工链路在业务量的任何Tx/Rx分离中分配时隙。此外,最大时隙数目可以增至一个大于最小值的数目,从而创建更多的需求时隙。由于节点可以通过从半永久分配的时隙中“窃取”子时隙来重新分配需求时隙,因此,子时隙划分允许有效地增加或减少最大时隙数目。此外还可以将预留协议与链路调度过程结合使用,以便在从源节点到目的地节点的路径上的各个节点通过请求并分配一个很大的时隙集合和/或子时隙,从而指示在沿着该路径的各个节点为高速率流执行的资源分配,由此适应于这个高速率流。对保留资源而言,单独的队列和队列服务规则将是必需的,由此确保传递这个流所需要的容量。
本发明还涉及一种用于为多个移动节点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之间分时使用这种传输信道,以便执行发射和接收操作。事先调度所有传输时隙。
此外还假设提供一条单独的低数据速率的开销信道。这个开销信道可以用于节点发现、网络连线(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英里的最大距离分配保护时间意味着必须产生大小约为2~4毫秒的小型时隙22a、22b,从而将信道效率损失减至最小。举例来说,如果我们假设通信链路上的数据速率为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≥maxl{di} (2)对图2中描述的例示网络10而言,其中为Nframe与必须依照公式(2)使用的最小时隙数目相等的调度分配了重用部分。应该注意的是,对其中某些节点、即除了节点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),那么所有节点可以就这其中的每一条链路而与相邻节点进行相互协定,以便为其中每一条链路选择一个不同的半永久时隙,但却不用考虑其他节点正在选择的那些一跳之外的链路。这样一来,对每一个节点来说,只要与相邻节点进行通信,它们就能以一种非常直接的方式来为连至相邻节点的链路选择自己的半永久时隙。在这里则可以为多达N个相邻节点执行这个处理。
这其中的关键在于识别以下情况那就是在涉及N的固定值的Nframe的值增加的时候,节点选择不与相邻节点的时隙选择发生冲突的时隙的能力仅仅受到较少的约束。为新链路选择时隙的节点必须选择一个当前并未使用并且相邻节点当前也没有使用的时隙。
如果节点当前具有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)个时隙。按需分配时隙是以最适应于业务量负载的方式分配的。当然,选择指定一个大得多的Nfram。值同样是可行的。在这种情况下,可以将更多的时隙用于按需分配。对某些应用来说,这将是一种配置网络的理想方法。
与半永久时隙一样,节点只需要就如何选择那些分配给连至相邻节点的定向链路的可用时隙而与相邻节点进行协调。这意味着一个相邻节点会在专用链路上向所述相邻节点发送一个要求分配时隙的请求,并且在同一链路上接收一个分配许可或请求拒绝。
请求分配来自相邻节点的可用时隙DA的节点是基于在链路上感知的附加容量需要来进行时隙分配的。这种需要可以用一个基于短期或长期测量的高链路使用率(队列累积)来加以提示。该请求将包含所请求的时隙数目以及一个量度,该量度表示为该请求附加的优先级。此外,该量度也可以表示队列长度,以此作为时隙分配需要的量度。
接收请求的节点还可以接收来自其他相邻节点的请求,这些相邻节点可能会争用同一个时隙的分配。为了简化协议,节点必须在考虑下一次分配之前结束处理可用时隙DA分配的线程。由于经常遭受抢占,并且由此会因为拓扑发生变化而被作为半永久时隙进行再分配,或是因为变换业务量需求而进行再分配,因此这些分配不会持续很长时间。
现在将对相邻节点及链路发现进行论述。分布式链路调度算法需要全向开销信道为在与潜在的相邻节点建立定向链路之前与该节点进行的特定协议交换提供支持。此类消息包括REQ_SPTS,它请求在连至该节点的定向链路上分配半永久时隙。
除了为直接支持这里所定义的协议的消息交换提供支持之外,全向开销信道还必须支持相邻节点及链路发现的功能。一般来说,这个功能是通过每一个节点经由全向天线20所进行的周期性全向传输来实现的,其中所述传输会向其他那些在该范围内移动的节点告知这两个节点可能是相邻节点。目前有几种自组织路由协议(包括OLSR)定义了这种支持协议。这些先前定义的协议都适合支持这种分布式链路调度算法。并且这种协议必须执行的基本功能是发现可能存在的新的相邻节点并且将其告知拓扑控制功能。
一种用于节点和链路发现的方法包括每一个节点在控制信道上周期性发射信标消息,以便将其的存在和位置告知相邻节点。此外还周期性地发射链路状态消息,以便将其信标相邻节点(BN列表)及其PA相邻节点(PA列表)的标识以及分配给这些节点的时隙告知相邻节点。
该算法的链路发现部分连续地对双向信标相邻节点(BBN)列表以及PAN列表进行比较,从而了解是否存在处于BBN列表而不处于PAN列表之中的节点。任何此类相邻节点都会变成用于确定PA链路是否可行的链路测试的候选节点。依照本方法,在交换了控制消息之后将对定向链路进行测试,以便确定是否可以进行可靠通信。如果通信是可靠的,那么将会把新的相邻节点添加到PAN列表中。
这种算法对处于测试时隙中但却不必处于半永久地分配给链路的时隙中的通信进行验证。一种方法是以这种方式来进行验证,而另一种方法则是等待分配一个SP时隙并且在这个时隙中对其进行测试。
如果拓扑控制功能不必执行拓扑优化,那么它将是一种非常简单的功能。这个功能的目的是获取PAN列表中的节点列表、关于这些链路的可靠性的信息以及网络拓扑信息,并且使用该信息来确定应该将PAN列表上的哪些节点变成PA相邻节点。如果存在诸如PA相邻节点数目之类的约束条件,从而不允许将PAN列表中的所有节点变成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分配进程不能对具有如下DB状态的时隙进行分配,其中所述状态表明该时隙处于SP分配进程中。这些状态包括表明已经发送过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链路断开时,节点将从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)”。
此外还应该注意,即使节点1和2选择了4个相邻节点,但如果它们与至少两个相邻节点使用的是相同时隙,那么它们仍旧可以发现公共时隙,并且可以使用这个公共时隙而在其间建立链路。
表5

目前已经开发了一些用于描述图6中所需要的进程的初始伪码。此外还存在可能发生的不同事件,这些事件必须由SP时隙分配进程34来进行处理。事件管理是在表6所示的空闲进程中完成的。其中显示了四类事件接收消息,检查超时,来自拓扑控制的链路添加通知,以及链路故障或链路删除。
与链路调度消息DB相比,首先将对接收消息进行检查,以便确保该消息与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时隙。如果允许,则恰当地修改时隙分配和链路调度消息数据库中的状态。然后返回一个肯定的CONFIRM消息。
如果接收到的REPLY_SPTS消息是否定的,那么将会为这个Nbr_ID而对时隙分配和链路调度消息数据库进行复位。否则,如果不再许可选择结果Ns,那么将会针对这个Nbr_ID而对链路调度消息数据库进行复位。然后将会把一个否定的CONFIRM消息发送到相邻节点,以便拒绝该链路。
表9

表10显示的是用于处理CONFIRM消息的程序。如果确认是肯定的,则考虑将链路添加到相邻节点集合中。并且该节点的链路数目Num_links将会递增。此外,在时隙分配DB中,已分配的时隙Ns将会标记为SP_Alloc,并且将会就索引Nbr_ID而对链路调度消息DB中的链路消息状态进行复位。如果消息是一个否定确认,那么将会就这个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链路发送,由此在需要时隙之前预先调度若干帧内的时隙。
对可用时隙的有效分配而言,其关键需要的是测量每一条链路的业务量需求。将会需要两个量度。首先,所测量的链路(i,k)上发送的平均业务量(以每个帧的时隙数目为单位)是用Tikse表示的。这个量度包含了在每一个帧的一个或多个半永久时隙以及任何可用时隙上发送的所有业务量。
此外,我们还需要保持链路(i,k)的队列状态的当前量度Qik。较大的Qik值表示需要立即分配一个或多个可用时隙。并且需求的突然爆发有可能导致Qik增大,然后,Qik应该触发一个要求得到按需容量的附加时隙的请求,直至队列长度减小为止。
分配到链路(i,k)上的时隙总数(用ms=2量化成时隙的1/2)是用Niktot表示的。时隙需求则是如下定义的Tikdem=f(Tiktot,Qik),...(4)]]>它是测得的业务量与估算出的必需附加容量相加的函数,其中所述必需附加容量是用队列长度表示的。然后,这个链路上需要的时隙数目Tikneed是Tikneed=max(Tikdem,Tkidem)...(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通过发送一个REQ_DATS(L=(4.2,5,6))来发起交换,其中该消息表明它可以支持所有这些时隙5和6以及子时隙4.2中的分配。这个列表可以包括所有自由和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。被接受的子时隙是列表上的第一个子时隙,在时隙分配DB中可以将其标记为自由,此外它也可以是链路量度小于Min_metric_threshold的DA分配。随后将会发送一个带有这个选择结果的REPLY_DATS应答消息。如果无法接受链路或者正在执行另一个DA时隙分配,那么将会发送一个否定的REPLY_DATS应答消息。此外,该程序还对链路调度消息DB以及时隙分配DB中的状态进行恰当的修改。
表17

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


表19显示的是用于处理CONFIRM消息的进程。如果CONFIRM是肯定的,则添加选定的子时隙,以便将其分配给Nbr_ID的链路。在时隙分配DB中,指定的时隙Ns是用DA_Alloc标记的,并且就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表示的)。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))来发起交换。应该注意的是,这三个波束ID是用a、b和c表示的,时隙编号是用波束ID上的下标表示的。节点1必须识别其在波束a上使用的所有这三个可允许的SP时隙,然而它只在其波束b上分配了三个可允许的SP时隙中的两个时隙。
因此,节点1会向节点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.根据权利要求1的移动节点,其中时隙单元为相应的时间帧发起多个时隙请求。
5.根据权利要求1的移动节点,其中每一条通信链路由发端移动节点和接收移动节点构成,并且其中所述发端移动节点将可用时隙列表发送到所述接收移动节点。
6.根据权利要求5的移动节点,其中所述接收移动节点将关于其中一个时隙的选择结果发送到所述发端移动节点。
7.一种用于为多个移动节点建立通信链路的方法,每一个移动节点包括收发信机、与收发信机相连的定向天线、以及与收发信机相连的控制器,对每一个移动节点而言,该方法包括为相应时间帧发起至少一个半永久时隙请求,以便与每一个相邻移动节点建立通信链路,并且在每一个时间帧中保留至少一个可用时隙,同时对从相邻移动节点接收的多个半永久时隙请求进行处理;基于链路通信需求发起至少一个可用时隙请求,以便也为连至相邻移动节点的通信链路提供服务,同时对从相邻移动节点接收的多个可用时隙进行处理;以及在与每一个相邻移动节点进行通信的过程中将定向天线指向所述每一个相邻移动节点。
8.根据权利要求7的方法,其中多个时隙请求是为相应的时间帧发起的。
9.根据权利要求8的方法,其中为多个相邻移动节点临时分配一个特定的时隙。
10.根据权利要求9的方法,其中只为所述特定时隙选择多个相邻节点中的一个节点。
全文摘要
本发明涉及在通信系统中使用并行调度操作建立通信链路的方法和设备。一种无线通信系统,包括多个移动节点,每个移动节点包括收发信机(14),与收发信机相连的相控阵天线(16)以及与收发信机相连的控制器(18)。控制器为相应时间帧发起至少一个半永久时隙请求以与每个相邻移动节点建立通信链路,并且在每个时间帧中保留至少一个可用时隙,同时对从相邻移动节点接收的多个半永久时隙请求进行处理。此外,控制器还基于链路通信需求而发起至少一个可用时隙请求以便为连至相邻移动节点的通信链路提供服务,同时对从相邻移动节点接收的多个可用时隙进行处理。在与每一个相邻移动节点进行通信的过程中,相控阵天线将会指向所述相邻移动节点。
文档编号H04B7/26GK1714580SQ200380103679
公开日2005年12月28日 申请日期2003年10月1日 优先权日2002年10月25日
发明者约瑟芬·比博·卡因, 托马斯·J·比利哈兹 申请人:哈里公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1