建立通信链路,估计定向链路的总体质量,并向通信系统中的olsr报告的方法和设备的制作方法

文档序号:7606137阅读:215来源:国知局
专利名称:建立通信链路,估计定向链路的总体质量,并向通信系统中的olsr报告的方法和设备的制作方法
背景技术
时分多址访问(TDMA)是用于在无线移动通信系统之间建立通信链接的访问方案的一个例子。在一系列的时间帧内建立无线移动通信系统之间的通信链接。每个时间帧被分成时隙,每个无线移动通信系统被分配至少一个时隙。
无线移动通信系统一般使用全向天线,以致一个移动通信系统发射的信息被所有其它移动通信系统接收。当移动通信系统在固定频率下工作时,它们必须在它们各自的时隙内依次发射,以便避免信道干扰。
为了改进两个无线通信系统之间的通信链路的质量,可以使用定向天线。定向天线在覆盖范围有限的所需区域中提供增大的天线增益,同时降低朝向剩余区域的天线增益。
Pritchett的美国专利No.5767807公开用于在无线通信系统的网络内建立通信链接的相控阵天线。相控阵天线包括有选择地控制天线图的寄生单元。当所有寄生单元处于高阻抗状态时,相控阵天线辐射全向信号,当响应开关电路使选定数目的寄生单元处于低阻抗状态时,相控阵天线辐射定向信号。
更具体地说,Pritchertt′807专利公开固定启动无线通信系统从固定接收无线通信系统获得在网络中工作的无线通信系统的列表和每个无线通信系统的对应时隙列表。随后根据该列表创建表格,以便在无线通信系统之间调度时隙。
为借助定向天线工作的无线通信系统(尤其是当无线通信系统移动时)调度时隙是复杂的。在这样的动态网络中,移动通信系统不断进入和脱离网络。此外,需要用于干扰检测和干扰回避的程序。
借助优化的链路状态路由(OLSR),链路状态信息能够以各种服务质量(QoS)量度,包括带宽、延迟和数据丢失的可能性来量化链路的状态。每个路由器保持完整的布局信息,并定期通过淹没(flooding),向网络中的所有其它节点广播所述链路状态信息。从而,需要向定向天线移动通信系统中的OLSR协议报告链路质量的过程。

发明内容
本发明的一个目的是调度时隙,并按照响应利用定向天线的无线通信网络中的通信链路质量的变化的方式,确定并向路由协议报告链路质量。
根据本发明的该目的及其它目的,优点和特征由包括多个移动节点的无线通信网络实现,所述移动节点均具有收发器,与收发器相连的定向天线,例如相控阵天线,和与收发器相连的控制器。控制器最好包括发现路由并利用路由协议把通信路由到相邻节点的通信路由器,调度时隙以便与每个相邻移动节点建立通信链路的时隙调度单元,在与每个相邻移动节点通信期间,使所述定向天线对准(aim)每个相邻移动节点的天线对准单元,和根据为通信链路调度的每个时隙的质量估计链路质量,并向通信路由器报告估计的链路质量的链路质量估计器。
估计的链路质量可被定义成为通信链路调度的每个时隙的最大质量,路由器可根据估计的链路质量,把通信路由到相邻节点。只要链路的至少一个时隙的最大质量高于预定阈值,那么就最好保持该通信链路,当链路的估计链路质量低于预定阈值时,路由器开始新的路由发现。路由器可对从链路质量估计器报告的估计链路质量执行滞后(hysteresis)功能。
在调度的时隙内,最好建立多个通信链路,每个通信链路包括一对不同的相邻移动节点。无线通信网络可以是例如移动自组织(ad-hoc)网络(MANET)。
根据本发明的目的、优点和特征还由为多个移动节点建立通信链路的方法提供。所述方法包括为每个移动节点调度时隙,以便与每个相邻的移动节点建立通信链路,在与每个相邻移动节点通信期间,使定向天线对准每个相邻移动节点,根据为通信链路调度的每个时隙的质量,估计链路质量,并向优化链路状态路由(OLSR)协议报告估计的链路质量。


图1图解说明根据本发明的无线移动自组织网络。
图2是图解说明根据本发明的无线移动节点的更详细方框图。
图3图解说明根据本发明的一帧时隙。
图4图解说明根据本发明的相对于图2中图解说明的网络图的可用时隙的调度。
图5是根据本发明的半永久时隙和可用时隙的调度的顶级状态图。
图6图解说明根据本发明的半永久时隙调度过程。
图7图解说明根据本发明的为新的通信链路调度的半永久时隙。
图8图解说明根据本发明的可用时隙调度过程。
图9图解说明根据本发明的正被加入通信链路中的可用时隙。
图10和11图解说明根据本发明的,正在根据来自相控阵天线的多个同时天线波束,为新的通信链路调度的半永久时隙。
图12和13是图解说明根据本发明的用于根据全向链路质量值,在移动节点之间建立定向通信链路的方法的流程图。
图14-16是图解说明根据本发明的用于根据链路利用率,分配按需分配时隙的方法的流程图。
图17和18是图解说明根据本发明的数据优先化方法的流程图。
图19和20是图解说明根据本发明的确定分组接收误差值,并根据分组接收误差值调整链路使用的方法的流程图。
图21是图解说明本发明的无线通信网络中的两对移动节点的干扰回避情形的示意方框图。
图22和23是图解说明根据本发明的干扰回避方法的流程图。
图24和25是图解说明根据本发明的重新分配时隙的方法的流程图。
图26-28是图解说明根据本发明的基于链路质量,在不同的时段内重新分配时隙的方法的流程图。
图29是图解说明根据本发明的估计链路质量并向路由协议报告链路质量的方法的流程图。
具体实施例方式
现在参考表示本发明的优选实施例的附图,更充分地说明本发明。但是,可用许多不同的形式具体体现本发明,本发明不应被理解为局限于这里陈述的实施例。相反,提供这些实施例以致本公开将是彻底和完整的,并且将向本领域的技术人员充分传送本发明的范围。相同的附图标记表示相同的部件。
首先参考图1-2,无线移动通信网络10包含多个无线移动节点12a-12h。每个移动节点12a-12h包含收发器14,与收发器连接的定向天线16,和与收发器连接的控制器18。
控制器18包括为每个时间帧调度相应的半永久时隙,以便与每个相邻移动节点建立通信链路,同时在每个时间帧中保留至少一个可用时隙的半永久时隙单元18a。可用时隙单元18b根据链路通信需求,调度所述至少一个可用时隙,以便也服务于与相邻移动节点的通信链路。另外,控制器18包括在与每个相邻移动节点的通信期间,使定向天线对准每个相邻移动节点的天线对准单元18c。
并行操作能够减少时隙分配延迟。因此,半永久时隙单元18a可关于各个时间帧,启动一个或多个半永久时隙请求,以便建立与每个相邻移动节点的通信链路,并在每个时间帧中保留至少一个可用时隙,同时处理从相邻移动节点接收的多个半永久时隙请求。可用时隙单元18b可根据链路通信需求,启动一个或多个可用时隙请求,以便也服务于与相邻移动节点的通信链路,同时处理从相邻移动节点接收的多个可用时隙请求。
换句话说,在处理多个接收的请求的时候,一个节点能够具有它启动的一个或多个待定需求可用请求和半永久请求。有时,这会导致向一个以上的邻居临时分配指定的时隙。但是,如下更详细所述,借助指示一个相邻节点对该时隙的选择的确认消息,可消除这种冲突。
可利用两种不同的方法提供可靠的确认消息。发起(initiating)移动节点向接收移动节点传送时隙请求,接收移动节点向发起移动节点传送答复。发起移动节点向接收移动节点传送确认,如果没有收到所述确认,那么接收移动节点再次传送答复。另一方面,接收移动节点可向发起移动节点传送肯定应答,如果没有收到所述肯定应答,发起移动节点再次传送所述确认。
如果两个节点同时相互启动时隙请求,那么应可靠地处理时隙请求冲突。当同时向另一移动节点发送请求和接收来自所述另一移动节点的请求,而没有收到对应的答复时,控制器18等待一段时间以便重新发送另一请求。在该段时间内,可处理到来的时隙请求。在该段时间结束之后,如果没有从所述另一节点收到任何请求,或者如果未对所述另一节点进行任何时隙分配,那么可向该节点发送新的请求。如果延迟的请求到达队列的前端,那么控制器18检查是否已对该节点进行了时隙分配。如果是,那么延迟的请求被丢弃。另外,如果请求预定给在该请求到达队列的前端之前不再是邻居的节点,那么延迟的请求被丢弃。
控制器18包括检测用于与相邻移动节点通信的时隙中的干扰的干扰检测单元18d。控制器18根据检测的干扰,协调时隙的调度。干扰检测单元18d可测量信号干扰比和/或分组差错率。分组差错率可基于循环冗余检验(CRC)失效。另外,干扰检测单元18d可比较检测的干扰与阈值。最好,控制器根据检测的干扰,持续指定的时隙交换节点之间的通信顺序,并在交换通信的顺序之后,根据检测的干扰,协调新时隙的调度。
通信(traffic)协调单元18e通过根据链路通信需求,把时隙分配给时隙单元,协调与每个相邻移动节点的通信。控制器18根据分配的时隙,协调时隙的调度。通信协调单元18e可根据增大的链路通信需求,分配一组大量的时隙,和/或根据增大的链路通信需求,向相邻的移动节点请求一组大量的时隙。另外,通信协调单元18e可增大时隙的最大数目,重新分配时隙,和/或根据增大的链路通信需求,分配半时隙。这种增大的链路通信需求可包括流式数据和/或高速率传感器数据。
无线移动节点12a-12h在移动环境中工作。这些系统可以是地面系统和/或空中系统,从而它们不断进入和脱离网络10。定向天线16可以是相控阵天线,抛物面天线或喇叭天线。通过定向天线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中不存在单一的故障点。
控制器18可区分通信链路的优先顺序,并根据优先化中断通信链路之一,使半永久时隙可用于建立与新的邻近移动节点的通信链路。下面将更详细地谈到通信链路的优先化。另外,控制器18还可区分通信链路的优先顺序,并根据该优先化调度至少一个可用时隙。
如果通信链路的数目小于N,那么控制器18还可把半永久时隙之一预定为可用时隙。对于现有通信链路,这有利地根据需要支持通信链路需求。但是,如果通信链路的数目再次等于N,那么控制器18可把按需分配的时隙(demand assigned time slot)重新调度给半永久时隙,如下更详细所述。
每个通信链路由发起移动节点,例如节点12a,和接收移动节点,例如节点12b形成,发起移动节点把可用的半永久时隙的列表传送给接收移动节点。接收移动节点12b随后把半永久时隙之一的选择传送给发起移动节点。发起移动节点12a随后向接收移动节点确认所选半永久时隙的选择。
每个移动节点还包括一个与收发器14连接的全向天线20,用于与其它相邻的移动节点交换位置信息。可交换的其它信息包括资源要求和可能的新的相邻节点的存在检测。另外,相控阵天线16可同时产生多个天线波束,其中在预定的半永久时隙内,控制器18使相控阵天线对准多个相邻的移动节点。
干扰检测单元18d检测并避免波束宽度内被分配相同时隙的共线节点对的干扰。例如,参见图1,节点12a和12e分别在它们的相同的分配时隙1的一半内向节点12b和12c发射。在天线波束宽度足够宽的情况下,节点12b和12c可同时收到来自节点12a和12e的发射。干扰检测单元18d可在时隙使用期间,在物理层测量信号干扰比(SIR)。另一方面,可根据CRC检验失效,在链路层测量分组差错率。如果这些测量结果违反了规定极限,那么可断言该时隙是不良的。
但是,由于衰减可导致单一时隙未能通过该测试,因此最好是如果时隙的n次试验中的m次受到衰变,那么断言该时隙中干扰过大。此时,控制器18尝试避免干扰。对于该时隙来说,位于链路两端的Tx/Rx的顺序可被转换。如果这样的转换失败,那么可协调新的时隙。当然应随机进行这两种变化,以降低两个节点对试图同时进行相同变化,从而仍然冲突的可能性。
通信协调单元18e管理由流式视频或高速率传感器数据产生的不均衡的通信负荷。提供协调机制以便允许每个半双工链路在通信量的任何Tx/Rx分离中分配时隙。另外,时隙的最大数目可被增大到高于最小值的数值,以产生更多的需求时隙。子时隙化(subslotting)允许有效地增大或降低时隙的最大数目,因为节点可从半永久分配时隙“偷取”子时隙,重新分配给需求时隙。此外,预约协议可和链路调度协议一起用于指示为适应高速率流,通过在沿着源节点到目的节点的路径上的每个节点请求和分配一组大批时隙和/或子时隙,相对于沿着该路径的每个节点的高速率流的资源分配。对于预约的资源来说,独立的队列和队列服务规程是必要的,以确保高速率流所需的容量被释放。
本发明的目的还在于提供一种为多个移动节点12a-12h建立通信链路的方法,其中每个移动节点包含收发器14,与所述收发器连接的相控阵天线16,和与所述收发器连接的控制器18。该方法包括为每个移动节点12a-12h,调度每个时间帧的一个相应半永久时隙,以便建立与相邻移动节点的通信链路,并在每个时隙帧中保留至少一个可用时隙。
所述至少一个可用时隙最好被安排成根据链路通信需求,服务与相邻移动节点的通信链路。在与每个相邻的移动节点12a-12h通信期间,使相控阵天线16瞄准每个相邻的移动节点12a-12h。每个时间帧可具有多达N个半永久时隙和至少2N-1个可用时隙。
该方法还可包括启动对相应时间帧的一个或多个半永久时隙请求,以建立与每个相邻移动节点的通信链路,并在每个时间帧中保留至少一个可用时隙,同时处理从相邻移动节点接收的多个半永久时隙请求,启动至少一个可用时隙请求以便还根据链路通信需求,服务于与相邻移动节点的通信链路,同时处理从相邻移动节点接收的多个可用时隙请求。
在与每个相邻的移动节点12a-12h通信期间,使定向/相控阵天线16对准每个相邻的移动节点12a-12h,在用于与相邻的移动节点通信的时隙中检测干扰,根据检测的干扰协调新时隙的调度。干扰检测单元18d可测量信号干扰比和/或分组差错率。分组差错率可基于循环冗余检验(CRC)失效。另外,干扰检测单元18d可比较检测的干扰与阈值。最好,控制器根据检测的干扰,持续指定的时隙交换节点之间的通信顺序,还可在交换通信的顺序之后,根据检测的干扰,协调新时隙的调度。另外,通过根据链路通信需求,分配用于调度的时隙,可协调与每个相邻移动节点12a-12h的通信。
该方法还包括使每个节点按优先顺序排列通信链路,并根据优先化中断通信链路之一,以使半永久时隙可用于建立与新的相邻移动节点的通信链路。另外,根据链路需求,正被调度以便服务特定通信链路的可用时隙可被重新分配给另一通信链路。这有利地允许任何移动节点适应通信链路需求方面的变化。
现在将更详细地说明半永久时隙和可用时隙的调度。使定向天线16转向接收移动节点12a-12h的有关细节将被省略,因为本领域的技术人员易于理解本发明的该特征。
为了便于讨论,将假定定向天线16是相控阵天线。本领域的技术人员易于认识到,相控阵天线16包括可被调整以便在所需方向产生可转向的天线波束的多个天线元件和相应的移相器。相控阵天线16操纵或扫描天线图,而不必物理移动天线。
另外为了便于讨论,做出与无线移动通信网络10相关的许多假设。首先,存在一个单一频带,该频带是由所有无线移动节点12a-12h共享的高数据速率通道。这种传输通道在所有无线移动节点12a-12h之间被分时用于发射和接收。所及传输时隙被预先安排。
另外假定提供一个独立的低数据速率开销通道(overheadchannel)。该开销通道可被用于节点发现,网络进入,和各种其它数据链路控制开销信息,包括资源请求的交换。通过全向天线20提供这种开销通道。在所有节点还知道精确的全球定时基准。在下面的讨论中,术语无线移动节点和无线移动通信系统12a-12h是可互换的。
无线移动通信网络10还包括定位和跟踪移动节点,以致当预定的时隙可用时,相控阵天线16可被准确指向的能力。如上所述,这里将不提供有关指向/跟踪的详细讨论。
另外假定相控阵天线16具有零波束宽度。该假定将在后面放宽。从而,我们能够假定指定移动节点的发射将只被它正试图向其发射的相邻移动节点接收。这允许关于时隙调度的一组不太严格的约束。每个通信链路可用数字标记,所述数字表示发射和接收数据的预定时隙。
所述约束如下所述。没有任何节点具有一个以上的用相同时隙编号标记的通信链路。指定时隙分配将被应用于两个节点之间的半双工链路,并被这两个节点交替用于发射和接收。这两个约束意味着一个移动节点分配给其相邻节点之一的时隙受该节点分配给其它链路的在先时隙约束。
图1中图解说明了相控阵天线16的时隙的调度,图1表示了具有基于预定时隙的链路连通性的网络10。时隙被调度以致无线移动节点12a-12h知道何时使它们各自的相控阵天线16指向相邻的无线移动节点。
通信链路被假定为双向的,并且可按照半双工方式使用,其中每个时隙编号代表一个时隙和在该时隙中发生的每个方向上的传输机会。术语Nframe将被用于表示某一帧内的最大链路索引或者时隙的最大数目。就本例来说,Nframe=6。
图3图解说明一帧典型的时隙。在最简单的公式表示中,每个信号出现时间或帧具有n个时隙,n的值被设置为Nframe。图3中还表示了时隙如何被用于连接标记为节点A和B的节点的链路。每个时隙被分成两个微小时隙22a、22b。第一个微小时隙22a(例如该时隙的一半)被用于从节点A到节点B的传输。随后,该链路的方向被反转,第二个微小时隙22b被用于从节点B到节点A的传输。
在传输周期内,可传送多个分组。如图所示,每个微小时隙22a、22b还包含根据下面考虑因素选择的一个保护时间24a、24b。任意一对节点之间的最大距离确定必须适应的最大传播延迟。100英里的最大距离对应于约0.5毫秒的传播延迟。为每个微小时隙22a、22b分配保护时间,以适应所有各对节点之间的传播延迟的不确定性和不相等的传播延迟。
在100英里的最大范围下,需要0.5毫秒的保护时间。关于100英里的最大范围的保护时间分配意味着需要使微小时隙22a、22b约为2-4毫秒,以使通道效率损失降至最小。例如,如果假定通信链路上的数据速率为0Mb/s,并且最大距离为100英里,那么4毫秒的微小时隙意味着200000比特/微小时隙(250微小时隙/秒)。从而,微小时隙会包含25000比特保护时间和175000比特的遗漏数据。
控制器18还可偏向每个建立的链路,以便当调度可用时隙时分配优先级(priority level)。如下更详细所述,在每个帧内提供半永久(SP)时隙和可用或按需分配(DA)的时隙。目的是增大同一时间几个节点之间的时隙的复用。虽然图1中的移动节点10在节点和通信链路的总数方面受到限制,不过存在并行使用时隙的许多情况。例如,时隙1和2均同时在3个不同的通信链路上被使用,时隙6只在一个链路上被使用。所有其它时隙被分配给两个通信链路。我们可把指示平均复用水平的复用因子定义为网络中的时隙分配的总数(Nframe)与分配的时隙的数目(Num Slots Assigned)的比值R=Num_Slots_AssignedNframe---(1)]]>对于图1中的例证网络10,复用方法提供R=14/6=2.333的复用因子,指示平均来说,在网络调度中,每个时隙存在稍多于2个的同时用户。显然关于任何具体的调度算法计算的复用因子与网络规模和布局高度相关。完全相当的市场段应考虑各种网络规模和布局。
通过注意每个节点至少需要和该节点具有的邻居一样多的时隙,即该节点需要至少等于其度(degree)的许多时隙,能够确定任意图的Nframe的值的下限。从而,Nframe必须至少和整个图内的最大节点度一样大。从而,通过用di表示节点i的节点度,Nframe的值的下限为
Nframe≥maxi{di}(2)对于图2中图解说明的例证网络,复用部分被分配具有根据等式2,等于必须使用的时隙的最小数目的Nframe的调度。注意几个节点,即除节点1之外的所有节点被分配少于完整的一组时隙。从而,增强的调度算法能够向一些链路分配额外的时隙,而不会在调度上引起冲突。
下面的讨论主要集中在用于产生链路调度的时隙的调度上。最终必须解决的整个相控阵网络问题的其它部分包括1)节点和邻居发现,2)网络进入,3)开销通道格式和协议,包括调度更新的协议交换,4)相邻节点的跟踪和定位(可包括相控阵天线16的帮助,和5)动态网络布局的路由算法。
根据本发明的调度时隙的方法基于下述原则。首先,规定数目的时隙被分配成为指定链路安排的半永久(SP)时隙。剩余的可用时隙(DA)可根据按需分配,被分配给最需要它们的那些节点/链路。这允许根据需要灵活地改变调度。其次,如上所述,确定关于半永久分配时隙的最大数目的极限。该极限是根据具体的网络选择的一个参数。在每个节点一个SP时隙的情况下,该极限也是关于许可的相邻节点的数目的上限。
第三,如上所述,确定每帧的时隙的最大数目的极限。该极限也是根据具体网络选择的一个参数。该极限对确定有关等待时间的限度是重要的,因为它确定链路传输机会的最大再访问时间。
第四,选择每帧的时隙的总数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个相邻节点分配时隙的时候。这种情况下,对于要确保可供分配给到第N个邻居的链路的额外时隙来说,Nframe必须满足等式(3)。
下面将关于在所公开的时隙调度方法中如何利用该性质,进行另外的一些观察评论。首先,节点只需要与邻居协调将为到该邻居的定向链路分配的半永久时隙的选择。请求该链路的节点可向所述邻居发送该链路的建议时隙列表。这是以这些时隙未被用于SP分配为基础的。根据下面要讨论的其它因素,可存在该列表的其它排序,不过这不是必需的。相邻节点随后能够从该列表中选择它更喜欢的时隙,并返回答复及该选择。这允许我们定义一种直截了当、完全分布的半永久时隙调度方法。
如果节点的邻居少于N个,那么在单个链路上可分配其N个许可的半永久时隙中的一个以上的半永久时隙。但是,这种情况下,不能保证无冲突地通过近邻间的节点协调完成所有N个分配。例如,如果N=6,并且一个节点只具有3个近邻,但是这些近邻均具有6个邻居,那么该节点能够只向与其3个近邻的每个链路分配一个时隙。为了简化我们的算法,我们将不允许每个链路一个以上的SP时隙的调度。但是,所有未用的时隙可被分配为可用时隙。
对于具有非常大量的节点的某些网络(其中潜在近邻的数目将远远大于极限N),也存在要处理的布局控制(topology control)问题。节点将面临从潜在近邻中选择产生最佳网络布局的那些近邻的问题。这种布局控制问题还与优化能量高效网络的概念相关。在潜在近邻的数目远远大于极限N的情况下,可使用布局控制功能来选择要连接的相邻节点。
如果把(3)许可的最小值分配给Nframe,那么每个节点将被允许具有最多N个半永久时隙和总共(2N-1)个时隙分配。将基于最佳适应通信负载地分配按需分配的时隙。当然,分配更大值的Nframe也是一种选择。这种情况下,将存在可用于需求分配的更多时隙。可存在对其来说这是配置网络的最佳方式的应用。
如同半永久时隙一样,节点只需要与某一近邻协调将为到该近邻的定向链路分配的可用时隙的选择。这意味着某一近邻将通过所述定向链路,向所述近邻发送时隙分配的请求,并通过同一链路接收分配的准许或者请求的拒绝。
向近邻请求可用时隙DA的分配的节点将根据感知的对该链路上的额外容量的需要向近邻请求可用时隙DA的分配。这可由基于短期和长期测量的高链路利用(队列形成)推动。该请求将包含所请求的时隙的数目和量度,所述量度指示将附着到所述请求上的优先级。所述量度可把队列长度表示成对时隙分配的需要的尺度。
接收请求的节点还可接收来自其它相邻节点的请求,所述其它相邻节点可能争夺相同时隙的分配。为了简化时隙,在考虑下一分配之前,节点必须完成处理一个可用时隙DA分配的一个线程。这些分配可以不必持续长期的时间,因为由于布局变化的结果,它们不断受到预占,从而被重新分配成半永久时隙,或者由于改变通信量需求,而受到重新分配。
现在将讨论近邻和链路发现。在与潜在的相邻节点建立定向链路之前,分布式链路调度算法需要全向开销通道对必须与所述潜在的相邻节点发生的某些协议交换的支持。这样的消息包括REQ_SPTS,REQ_SPTS请求到该节点的定向链路上的半永久时隙的分配。
除了直接支持这里定义的协议的支持协议消息交换之外,全向开销通道必须支持近邻和链路发现的功能。这通常是通过由每个节点通过全向天线20进行的周期性全向发射实现的,所述周期性全向发射向在范围内移动的任何其它节点通知这两个节点可以是相邻节点。几种自组织路由协议(包括OLSR)定义了这样的支持协议。这些先前定义的协议可被修改,以支持这种分布式链路调度算法。这种协议的主要功能是发现新的潜在相邻节点,并把这些报告给布局控制功能。
节点和链路发现的一种方法包括每个节点通过控制通道定期发射信标消息,把它的存在和它的位置通知相邻的节点。另外定期发射链路状态消息,把其信标近邻(BN列表)和其PA近邻节点(PAN列表)的身份以及分配给这些节点的时隙通知相邻节点。
该算法的链路发现部分不断比较双向信标近邻(BBN)列表与PAN列表,查看在BBN列表上是否存在不在PAN列表上的任意节点。任何这样的相邻节点变成确定PA链路是否可能的链路测试的候选者。根据这种方法,在交换控制消息之后,测试定向链路以确定可靠的通信是否可能。如果通信是可靠的,那么新的相邻节点被添加到PAN列表中。
这在测试时隙中确认通信,但是不一定在可半永久地分配给链路的时隙中。一种方法是按照这种方式来进行,或者另一种方法是等待,直到SP时隙被分配并在该时隙中测试通信。
如果布局控制功能不必进行布局优化,那么布局控制功能可以是非常简单的功能。该功能的目的是获得PAN列表中的节点的列表,关于这些链路的可靠性的信息,和有关网络布局的信息,并使用该信息来确定PAN列表上的哪些节点应成为PA近邻。这是如果存在诸如PA近邻的数目不允许PAN列表中的所有节点都成为PA近邻之类约束条件,那么应优化网络布局的功能。
就提出的Nframe的固定值和N的固定值(每个节点的半永久时隙的最大数)的约束条件来说,存在与网络布局利用有一定关系的潜能。如果这些值被选择成很小的数字,那么情况肯定是这样。例如,如果在Nframe=5的情况下选择N=3,那么当对于任何节点,我们不能具有3个以上的近邻时,难以期待良好连接的网络布局,除非在增加新的PA近邻节点之前,智能布局控制功能仔细地利用该布局。对于大型网络来说尤其如此。
从而,布局控制功能应创建近邻优先级(NP)列表,它是按照作为潜在PA近邻的需要性的顺序排序的PAN列表。该列表将指导优先级顺序,其中潜在的PA近邻被安排时隙。但是,我们的首要问题是可能具有15个节点的小型网络的问题。这种情况下,我们可指定N具有在5-8范围内的值,并且仍然具有低的等待时间。由于考虑5-8个相邻节点将允许几乎所有可能的近邻成为PA近邻,因此存在任何布局利用问题的可能性很小。
布局控制功能的另一目的是产生布局改变事件,布局改变事件使链路调度器进程改变状态,并对SP时隙进行重新分配过程。
现在将讨论顶级调度算法结构。以使调度过程的复杂性降至最小,同时利用上面概述的整个方法的目的,用公式表示所述调度过程。控制该调度的关键是在每个节点保持准确的数据结构,所述数据结构反映分配给与每个相邻节点的链路的未来时隙的时隙调度的状态。
提出两种数据结构时隙分配DB和链路消息DB。表1中列举了关于信号出现时间(epoch)中的指定时隙的数据结构中的链路的可能状态。表1描述了每种可能状态,并给出了该状态的符号。表2表示了例证的时隙分配DA和指示对于Nframe=9(N=5)来说的时隙的内容,每种状态的状态分配,和每个时隙的例证的分配近邻ID。
在该例子中,4个近邻已被分配SP时隙,从而在这些约束条件下,可连接一个额外的近邻。存在一个自由时隙,该自由时隙可被分配为DB时隙或者和将被分配为SP时隙的DB时隙一起提供,如果新的相邻节点是可能的话。后面在详细的协议说明中将讨论链路消息DB的使用。该例子还表示子时隙,例如每个时隙2个子时隙的使用。
这是一种将和DA分配一起使用以便提供更细的粒度的概念。这种情况下该含义会是时隙k的分配,子时隙1会是对奇数编号帧上时隙k的链路的分配。相反,子时隙2会指示偶数编号帧上该时隙的分配。
表1

表2

图5中表示了链路调度协议的顶级状态图。图5表示负责维护和修改时隙分配数据库的两个独立过程30和32。左侧是维护和分配半永久(SP)时隙的过程,即过程30的状态图。该过程优先于右侧的过程32进行的分配,过程32负责分配可用(DA)时隙。在过程路径中31,可被捕捉的时隙如下所示自由的、DA分配的、和在被DA分配的过程中。类似地,在过程路径33中,可被捕捉的时隙如下所示自由的、DA分配的和还需要被重新分配。
该数据库可被控制为锁定数据库,以致对于任何指定的时隙分配状态,在指定的时间,这两种调度过程中只有一种能够修改所述状态。一旦过程之一开始修改特定时隙分配的状态,那么该状态被锁定,在所述状态被释放之前,另一过程不能对其进行修改。
任何时候,DB中的每个时隙处于如表1中所示七种状态之一。可用时隙被认为处于自由状态,即,它们未被分配给到其相邻节点之一的链路,因为调度冲突妨碍了分配或者因为该时隙最近变成自由状态并且还未被调度。
如上所示,处于自由状态的时隙可被调度为SP时隙或者DA时隙。已被分配为SP分配的时隙只能由维持SP时隙的过程修改。如果网络布局改变或者如果更理想的布局是可能的,那么该过程可解除分配该时隙。在这样的时隙被返回自由状态之前,维护和分配DA时隙的过程不能修改其状态。
另外,具有指示它在正被SP分配过程中的DB状态的任何时隙不能被DA分配过程分配。这包括指示SP请求和答复消息已被发送的状态。但是,如果时隙的状态是被DA分配,那么它可被DA分配过程重新分配。如果网络上的加载指示需要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时隙分配过程的状态图。为了管理协议消息处理,创建链路调度消息DB,如表3中所示。这保持从当下一SP消息到达以便处理时,要使用的在先协议交换所需的状态。空闲(idle)过程进行事件管理,因为在允许状态改变成其它状态之一之前,它检查收到的事件。
这些操作包括检查接收的消息,确定它们是否与DB的当前状态一致。如果消息与DB不一致,那么它被丢弃。某些超时可指示DB状态需要被重置。该过程实现该功能。
表3

存在如表4中列举的在SP时隙分配协议中所需的四种基本消息类型。这些消息类型的使用是无需解释的,并且与前面的讨论一致。
表4

图7中表示了SP时隙分配的一个例子。节点1和2都具有3个近邻,同时对每个链路表示了SP时隙分配。地是,它们可在它们之间增加额外的链路。链路调度协议将发现用于SP分配的可接受时隙。表5中表示了对应的协议消息交换。
节点1通过发送REQ_SPTS(L+4、5、6、7))和至少N个候选时隙的列表,启动交换。该列表可包括全部的自由时隙和DA时隙。节点1正在把时隙1、2和3用于对其近邻的SP分配,从而其列表L包含其它时隙4、5、6和7。当请求消息被发送时,对时隙和链路调度消息数据结构进行恰当的改变。节点2正在把时隙4、5和6用作到其3个近邻的链路的SP分配,从而它选择时隙7作为将用于新链路的唯一时隙。它在答复消息中发送该选择。
当答复消息被发送时,也对时隙和链路调度消息数据结构进行恰当的改变。最后,当确认被发送或收到时,恰当时隙的状态被改成“SP分配给链路(1,2)。”另外注意如果节点1和2已选择4个相邻节点,那么它们仍然能够找到借助其在它们之间建立链路的公共时隙,如果它们与它们的至少两个近邻使用相同的时隙。
表5

开发了描述图6中所需的过程的一些初始伪代码。存在可能发生的必须由SP时隙分配过程34处理的各种事件。如表6中所示在空闲过程中进行事件管理。表示了四类事件接收的消息,检查超时,来自布局控制的链路增加通知,和链路故障或链路删除。
首先相对于链路调度消息DB检查接收的消息,以确保该消息与DB的当前状态一致。例如,如果我们向某一近邻发送请求,那么预期的下一消息是答复。为了简化该分布式协议,每次只允许SP协议消息交换的一个线程。通过在启动链路增加转变(transition)之前或者在处理REQ_SPTS消息之前,检查DB以了解是否正在进行其它SP消息交换,在程序中强制实现这一点。
如果由于另一SP协议线程目前正在进行中,不能启动链路增加,那么通过放弃和对预期其它进程完成时的稍后时间重新调度,链路增加将被延期。允许进行多次尝试,以处理试图同时增加链路的几个节点之间的潜在冲突。这并不意味着处理不可靠RF链路的问题。应通过使用和使用ARQ和重发来恢复丢失/出错的消息的开销通道的链路协议,来解决后一问题。
从而,分布式调度协议可假定消息将不会被丢失。这为协议的简化创造了条件。当布局控制从NP列表中选择某一相邻节点,以便连接为新邻居时,它发出布局改变(链路增加)事件,布局改变事件(在空闲进程中的一致性检查之后)导致转变到SP时隙分配进程中的链路增加状态。
表6

表7中表示了链路增加进程的伪代码。这启动只需要这两个相邻节点之间的SP时隙分配和协议消息交换的协调的进程。请求链路的节点把REQ_SPTS消息连同该链路的可接受时隙的列表一起发送给候选相邻节点。
候选时隙的列表必须包含至少N个时隙,所述至少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。我们还需要节点用指示它将同意使用所分配时隙的肯定或否定CONFIRM消息来确认该答复。这种三方握手消除了调度进程的结果方面的不确定性。
如果REPLY_SPTS消息是肯定的答复,那么检查时隙Ns的选择,了解它是否仍然是允许的用于新链路的新SP时隙的分配。如果它是允许的,那么对时隙分配和链路调度消息数据库中的状态进行恰当修改。随后返回肯定的CONFIRM消息。
如果接收的REPLY_SPTS消息是否定的答复,那么对该Nbr_ID重置时隙分配和链路调度消息数据库。另外,如果Ns的选择不再是许可的,那么对该Nbr_ID,链路调度消息数据库被复位。随后向相邻节点发送拒绝该链路的否定的CONFIRM消息。
表9

表10表示处理CONFIRM消息的程序。如果CONFIRM是肯定的,那么认为该链路将被加入该组近邻中。节点的链路的数目Num_links被递增。在时隙分配DB中,分配的时隙Ns被标记成SP_Alloc,对于索引Nbr_ID,重置链路调度消息DB中的链路消息状态。如果消息是否定的CONFIRM,那么对于该Nbr_ID,重置时隙分配和链路调度消息数据库。
表10

由于几个原因之一,分配的时隙可能需要被解除分配。如果在正常操作的过程中,链路中断或者变得不可靠,那么布局控制功能被卷入以解决不可靠链路问题。最终,它可产生指导时隙分配进程删除分配给该链路的所有时隙的布局改变(例如,链路删除)事件。
表11中表示了该程序中所涉及的步骤。通过从请求与其它节点共用的所有时隙的解除分配的节点发送DELETE_TS消息,该链路被解除分配。另外,链路调度消息DB和时隙分配DB中的恰当条目被重置。
表11

表12表示了处理收到的DELETE_TS消息的程序。从该消息抽取解除分配的时隙的列表Ls。随后时隙分配DB和链路调度消息DB中的恰当状态被重置。
表12

总之,分配半永久时隙的功能的目的是连接尽可能多达N个的相邻节点。如果获得N个相邻节点,那么每个相邻节点被分配单个半永久时隙。一旦借助该协议建立了新的链路,那么这两个节点将在新分配的SP时隙中开始工作。
该操作将测试所述新链路,以确定利用分配的时隙是否能够保持可靠的通信。这确保不存在于该特定时隙中发生的异常干扰。如果该链路被测试为不可靠,那么将告知布局控制功能,以致该时隙可被解除分配并被用于其它用途。
下面将讨论可用(按需)时隙的分配。将按照响应不断波动的网络通信量的需求的方式,分配可用时隙。同样,假定N被固定,并且相对于网络规模和环境被智能选择。另外,假定Nframe=2N-1。
为了使可用容量的分配的粒度更细,时隙将被分成ms个子时隙。对于下述讨论的剩余部分,假定ms=2。这将通过把子时隙定义为每第ms(或者第二)帧重复的特定时隙分配来实现。
只有当为一个节点和一个相邻节点之间的链路分配至少一个半永久时隙时,才允许从所述一个节点到所述一个相邻节点的对可用时隙的请求。在链路被分配至少一个半永久时隙之后,每第ms(或者第二)帧,节点可请求单一时隙的周期分配。用于调度可用时隙的消息可通过PA链路发送,以便在需要时隙之前几帧,调度时隙,因为该链路具有每帧至少一个半永久时隙的分配。
有效分配可用时隙的关键要求是每个链路上通信量要求的测量。将需要两个量度。首先,测得的通过链路(i,k)发送的平均通信量(用每帧的时隙的数目为单位)将由Tikse表示。该量度将包括通过每帧的一个或多个半永久时隙以及任何可用时隙发送的所有通信量。
另外,我们还需要保持链路(i,k)的队列状态的当前量度Qik,Qik的值越大,表示需要一个或多个可用时隙的立即分配。需求的偶然爆发可产生Qik的增大,这随后应触发对按需容易的额外时隙的请求,直到队列大小减小为止。
在链路(i,k)上分配的时隙的总数(在ms=2的情况下,量化为时隙的一半)将用Niktot表示。时隙需求被定义成如下所示Tikdem=f(Tikse.Qik),---(4)]]>它是测量的通信量加上由队列大小指示的所需的估计附加容量的函数。从而,该链路上所需的时隙的数目Tikneed如下所示Tikneed=max(Tikdem,Tkidem)---(5)]]>
分配给该链路的度量(metrics)如下所示MikDA=Tikneed-Niktot+B,---(6)]]>它是应通过DA时隙分配机制分配给该链路的额外时隙的估计数目的量度。B是可能名义上被设置成约为时隙的1/4-1/2,以便向每个链路分配足够的过量容量,从而避免大排队的偏项。虽然我们正在举例说明使用在(4)中定义的度量的方法,不过各种其它形式的度量也可被用作分配DA时隙的基础。
图8表示了DA时隙分配进程36的状态图。状态图和协议交换与SP时隙进程的状态图和协议交换类似。为了简化协议消息处理,在任何时候只能进行DA时隙分配的单一线程。空闲的进程进行事件管理,因为在允许状态改变到其它状态之一之前,它检查收到的状态。
这些操作包括下述内容。检查接收的消息,确定它们是否与DB的当前状态一致。如果消息与DB不一致,那么它被丢弃。某些超时可指示DB状态需要被重置。该进程实现该功能。它还确定在已知节点的通信负载需求的情况下,DA时隙分配是否最佳。如果它确定新的DA时隙是否必须被加入到特定的链路中,那么它可导致转换变增加DA时隙状态。
在DA时隙分配协议中需要四种基本消息类型,如下表13中所示。它们与在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用作其到其3个近邻的链路的SP分配,把子时隙2.1和3.2用作DA分配。它可选择子时隙4.2或者时隙5的两个子时隙。它选择并在答复消息中发送该选择。
当发送答复消息时,对时隙和链路调度消息数据结构进行恰当改变。最后,当发送或收到确认时,恰当时隙的状态被改变成“子时隙4.2被DA分配给链路(1,2)。”表14

在每个网络节点使用下述方法为到相邻节点的定向链路分配(N-1)个可用时隙。利用这些措施,每个节点将连续保持其被分配半永久时隙的每个链路的链路度量MikDA。每个节点将使用该链路度量来指示对到每个相邻节点的额外传输时隙的需要。MikDA的最大值指示最需要额外的按需时隙分配的链路。MikDA的正值指示所需的额外时隙的数目,MikDA的负值指示可被放弃以供重新分配的时隙的数目。
作为度量,MikDA被保持,如果最大的链路度量指示需要额外的子时隙分配,并且如果存在可用作自由时隙或者用作对其它链路的过量DA分配(同样由较小度量指示)的子时隙,那么该进程转变到增加DA时隙状态,启动找出DA子时隙分配的进程。
如同半永久时隙一样,节点只需要与近邻协调将为到该近邻的定向链路分配的DA时隙的选择。这意味着近邻将通过定向链路,向该近邻发送时隙分配请求,并通过相同的链路接收分配的批准或者请求的拒绝。
开发了描述图8中所需进程的一些初级伪代码。存在可能发生的必须上DA时隙分配进程处理的各种事件。如表6中所示在空闲进程中进行事件管理。
表示了四种类型的事件1)接收的消息,2)检查超时,3)链路度量的重新计算和4)DA时隙需要和DA时隙删除。首先相对于链路调度消息DB检查接收的消息,以确保该消息与DB的当前状态一致。例如,如果我们向某一近邻发送请求,那么预期的下一消息是答复。
为了简化该分布式协议,每次只允许SP协议消息交换的一个线程。通过在启动链路增加转变(transition)之前或者在处理REQ_DATS消息之前,检查DB以了解是否正在进行其它SP消息交换,在程序中强制实现这一点。如果由于另一SP协议线程目前正在进行中,不能启动额外的时隙,那么所述额外时隙将不被进行。
在重新计算链路度量和DA时隙需要的下一机会,自然地可重新调度额外时隙。将根据预先设置的时间表,定期重新计算链路度量。链路度量大于某一阈值Mzx_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中被标记为自由的,或者被DA分配的具有小于Min_metric_threshold的链路度量的第一子时隙。随后连同该选择发送REPLY_DATS答复消息。如果该链路不能被接受或者如果有另一DA时隙分配正在进行中,那么发送否定的REPLY_DATS答复消息。该程序还对链路调度消息DB和时隙分配DB中的状态进行恰当修改。
表17

接收的REPLY_DATS消息如表18中所示被处理。从该消息中抽取从相邻节点接收的子时隙Ns的选择。我们要求该节点用指示它将同意使用所分配时隙的肯定或否定CONFIRM消息确认该答复。如SP分配进程中所示,这种三方握手消除了调度进程的结果方面的不确定性。
如果REPLY_DATS消息是肯定的答复,那么检查子时隙Ns的选择,了解它是否仍然是允许的用于新链路的新DA子时隙的分配。如果它是允许的,那么对时隙分配和链路调度消息数据库中的状态进行恰当修改。随后返回肯定的CONFIRM消息。
如果接收的REPLY_DATS消息是否定的答复,那么对该Nbr_ID重置时隙分配和链路调度消息数据库。另外,如果Ns的选择不再是许可的,那么对该Nbr_ID,重置链路调度消息数据库。随后向相邻节点发送拒绝该链路的否定的CONFIRM消息。
表18

表19表示处理CONFIRM消息的程序。如果CONFIRM是肯定的,那么选择的子时隙将被加入到对到Nbr ID的链路的分配中。分配的时隙Ns在时隙分配DB中被标记成DA_Alloc,对于索引Nbr_ID,重置链路调度消息DB中的链路消息状态。如果消息是否定的CONFIRM,那么对该子时隙,重置时隙分配和链路调度消息数据库。
表19

由于几个原因之一,分配的时隙可能需要被解除分配。如果在正常操作的过程中,链路中断或者变得不可靠,那么布局控制功能被卷入以解决不可靠链路问题。最终,它可产生指导时隙分配进程删除分配给该链路的所有时隙的布局改变(例如,链路删除)事件。
表11中表示了该程序中所涉及的步骤。通过从请求与其它节点共用的所有时隙的解除分配的节点发送DELETE_TS消息,该链路被解除分配。另外,链路调度消息DB和时隙分配DB中的恰当条目被重置。
表20

表21表示处理收到的DELETE_TS消息的程序。从该消息抽取将被解除分配的子时隙Ls。随后时隙分配DB和链路调度消息DB中的恰当状态被重置。
表21

链路调度算法还适用于由相控阵天线16产生的多个同时波束。设想对其中每个节点采用多个天线波束和独立的接收器,例如多波束相控阵天线(或者其它类型的多重定向天线)的系统的扩展。此外,假定所有节点并不都必须具有相同数目的波束,即,节点k具有Bk个波束。这等同于在任意时隙可能的Bk个并行链路。
我们正在扩展前面的讨论(前面的讨论设想单一的指向波束),以允许Bk个波束在大于Bk的一组相邻节点之间被分时。即使节点均具有不同数目的波束,所有节点必须使用共同的时隙格式和对于每个波束来说,每帧的时隙的数目等于Nframe的帧。
把在任意节点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个波束,节点2具有3个波束。虽然这两个节点具有不同数目的波速,不过两个节点都必须使用相同的帧结构。在本例中,Nframe=5时隙/帧。根据(7)和(8),这允许节点1最多具有6个邻居,节点2最多具有9个邻居。
最初,这两个节点都具有1个节点,小于在(7)和(8)的约束下,它们被允许的近邻的最大数目。为每个链路表示了SP波束/时隙分配。这些节点可在它们之间增加额外的一条链路,同时仍然满足(7)和(8)的约束。链路调度协议将得到用于每个节点的SP分配的可接受的波束/时隙,并且它基本上按照和单波束情况下它所采用的相同方式工作。
表22中表示了对应的协议消息交换。节点1通过发送REQ_SPTS(L=1,2,3)以及至少Nbeam个候选时隙的列表,启动所述交换。注意3个波束ID由a、b和c表示,时隙编号由波束ID上的下标表示。节点1必须识别它已在波束a上使用所有3个许可的SP时隙,但是在其波束b上,它只分配了3个许可的SP时隙中的2个。
从而,它把3个SP时隙(在波束b上可用)的列表发送给节点2。该列表可包括该波束上的所有自由时隙和DA时隙。当发送请求消息时,对时隙和链路调度消息数据结构进行恰当改变。节点2先前已为其到其8个近邻的链路,在波束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可用时隙。
在收到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的例子来说,那么(8)的约束条件允许每个节点8个近邻,而(7)和(8)的约束条件将允许每个节点9个近邻。
图10中的例证问题具有2个节点,每个节点具有3个波束,每个波束在不同的频带中工作,即,波束a、b和c均使用不同的频带。另外假定帧大小为5。两个节点都已向相邻节点提交7个SP时隙,从而根据(9),它们都可利用一个SP时隙增加一个额外的近邻,所述一个SP时隙允许它们在其间建立链路。图中指示出了提交的SP时隙,在表23中示出了建立SP时隙分配和新链路所需的消息交换。节点1通过向节点2发送REQ_SPTS(L=(a4,a5,b3,b4,b5,c3,c4,c5))启动消息交换,节点2必须包括它先前未分配为SP时隙的8个波束/时隙组合。在本例中,节点2已分配未被节点1使用的7个波束/时隙组合(它们在于REQ_SPTS消息中接收的8个波束/时隙组合的列表中)。从而,依据(9),存在它可选择以供分配的至少一个剩余波束/时隙组合(c5)。这是分配给节点1和2之间的链路的SP波束/时隙组合,如图11和表23中所示。
表23

现在参见图12和13,决定何时适合于在两个移动节点12之间建立定向链路的一种有利的方法是首先确定节点之间的全向链路的质量,使所述决定基于该质量值。即,定向信号的信号强度一般大于在相同功率水平下发射的定向信号的信号强度,因为定向通信链路的能量集中在一个方向上,而不在360°内展开。从而,在建立定向通信链路之前,通过要求节点具有足够的全向通信链路的质量值,这提供定向通信链路也将具有所需质量水平的良好指示。
实际上,全向链路质量是维持使用定向天线的节点的连接移动ad-hoc网络的关键问题。能够间歇或者持续相当长时间地导致定向链路和全向链路任意之一或者这两者损失的链路减损有多种多样。最好对这两种链路类型,持续测量链路质量,应采用机制来对抗链路质量方面的变化,并通过链路层通知,把链路质量通知网络层,不过在一些实施例中可以使用其它配置。
这样,最好如上所述,通过首先在方框121,在指定的一对移动节点12之间建立全向链路,开始建立定向链路的进程(方框120)。当通过收到某一近邻的Link_HELLO分组,首先检测到该近邻时,发生上述步骤。根据本发明的这一方面,在全向链路质量足够高之前,将不允许链路调度器启动建立定向链路的进程。
控制器18如果确定全向链路的质量值(方框122)。通过利用OLSR作为例证的路由协议,以便与OLSR规范相符,我们将把链路质量量度(由变量N_quality表示)定义为介于0和1之间的数,这里1代表最高质量。
根据OLSR规范中计算质量的一种方法,这可被用作关于OLSR分细的分组接收差错值的估计值。
应按照获得通道质量的可能的最准确估计值的方式实现估计通道质量的进程。一种可能性是使用例如来自802.11卡的信噪比估计值,如果它们易于获得并且与分配给特定节点的时隙相关。
如果不能容易地使用信噪比估计值,那么可使用和OLSR一起使用的方法,该方法根据OLSR分组的成功接收来估计质量。对于全向链路,每秒从每个近邻收到类型为Link_HELLO,定向近邻和通道质量反馈的几个分组。对于指定的一组配置参数,每秒从每个相邻节点传送固定数目的这些分组。从而,每秒传送已知数目的这些分组,接收的数目可被计数。
计算全向质量值N_qualityomniLk的算法如下所示。对于来自节点k的每个成功分组接收,来自节点k的链路的N_qualityomniLk被更新为N_qualityomnilk=(1-α)·N_qualityomnilk+α---(10)]]>对于丢失的来自节点k的每个分组传输,来自节点k的链路的N_qualityomniLk被更新为N_qualityomniLk=(1-α)·N_qualityomniLk---(11)]]>在第一个接收的Link_HELLO之前,来自节点k的链路的N_qualityomniLk值的初始条件被设置为0,随后利用正确接收的Link_HELLO,根据(10)对其进行更新。参数α的选择有效地设置一阶滤波器(或者指数加权平均值)的时间常数,以便计算成功分组传输的可能性的估计值。该参数值的正确设置取决于预期的每秒的消息数,它是所需的响应性和估计值的精度之间的折衷。本领域的技术人员会认识到,α的值越大,导致对于收到的每个新样本变化越大。这以增大对链路状态不正确分类的可能性的代价,导致链路状态的变化的快速识别。
对于链路Lk,将设置变量Can_AllocLk,变量Can_AllocLk最好为TRUE,以便为初始SP时隙分配,或者为归因于干扰减轻的任何未来的DA分配或再分配,启动定向链路时隙分配。即,在方框123和124,如果全向通信链路的质量值大于第一质量阈值(指示Can_AllocLk为TRUE),那么链路调度器将只建立与相邻移动节点的定向通信链路,从而结束图解说明的方法。可如前所述建立定向通信链路。
当然,在建立定向链路之后,通过确定/监视质量值(方框131),该方法可随意继续(方框130)。这种情况下,根据下述关系,每次确定N_qualityomniLk时,修改变量Can_AllocLkN_qualityomniLk<TomniL;SetCan_AllocLk=FALSE;---(12)]]>N_qualityomniLk>TomniH;SetCan_AllocLk=TRUE;and---(13)]]>TomniL≤N_qualityomniLk≤TomniH;]]>不修改Can_AllocLk(14)为了避免估计N_qualityomniLi值时,由统计波动造成的链路拍动,在(12)-(14)中引入滞后,以防止Can_AllocLk变量的修改,除非N_qualityomniLk的足够变化被估计,如方框132所示。选择第一阈值TomniH,第二阈值TomniL和参数α以确保该行为。阈值的例证值为TomniL=0.2]]>和TomniH=0.8,]]>不过也可使用其它值。当然,如果质量值低于第二阈值TomniL,那么定向链路的使用可被临时暂停,或者链路被恰当地中断(方框133),从而结束图解说明的方法(方框134)。
应注意下面将进一步讨论的程序可基于使用Can_AllocLk变量作为门限,如上所述。即,在时隙可被分配给定向链路Lk之前,该变量应具有值Can_AllocLk=TRUE.]]>当对于链路Lk,收到第一个Link_HELLO分组时,该变量最初被设置为值Can_AllocLk=FALSE.]]>当然,可使用其它方法来确定何时适合于建立和/或继续使用定向通信链路。
现在参见图14-16,更详细地说明按需分配时隙的分配。最好按照响应网络通信量的波动需求的方式分配DA时隙。如上所述,变量Can_AllocLk可被用于确定何时首次适合于建立定向通信链路。即,良好的全向通道质量可被用作新DA时隙的分配的前提条件。从而,对于链路Lk,在时隙的请求者或者接收时隙分配请求的节点分配新的DA时隙之前,变量Can_AllocLk应为TRUE。
类似地,最好还在响应干扰条件或其它链路退化,重新分配DA定向时隙之前,要求变量Can_AllocLk为TRUE。DA时隙的分配的下述说明假定Can_AllocLk为TRUE,但是不是在所有实施例中都要求这样。
根据本发明的这一方面,只有当为一个节点和一个相邻节点之间的链路分配一个半永久时隙时,才允许从所述一个节点到所述相邻节点的对按需时隙的请求。在链路被分配至少一个半永久时隙之后,节点可请求额外时隙的周期分配。用于调度DA时隙的消息可通过全向链路或者定向链路发送。
更特别地,每个控制器18最好包括数据队列18f,用于保存将通过指定的通信链路发送的数据。在如上所述,在方框141在各对移动节点12之间调度相应的半永久时隙的情况下,开始分配按需分配时隙的第一种方法(图14)(方框140)。在方框142,可确定在半永久时隙期间先前通过通信链路发送的数据的数量,以及保存数据队列中的数据的数量(方框143),并在方框144,据此确定每个通信链路的链路使用度量。随后在方框145,根据链路使用度量,可调度按需分配的时隙(下面将进一步说明),从而在方框146结束图解说明的方法。
特别地,对于DA时隙的有效分配来说,每个链路上的通信量需要的测量特别重要。如上所述,这最好根据通过指定链路发送的数据的数量和在队列18f中正在变得倒退(back up)的数据来实现。就前者来说,测得的通过节点i和k之间的链路发送的平均通信量(以每个信号出现时间的时隙的数目为单位)将由Tikse表示。该量度将包括通过每个信号出现时间的一个或多个半永久时隙以及任何按需时隙发送的所有通信量。
还为节点i和k之间的链路保持队列状态的当前量度Qik。较大的Qik值指示需要立即分配一个或多个DA时隙。需求的偶然爆发会引起Qik增大,这随后应触发对DA容量的额外时隙的请求,直到队列规模降低为止。
在节点i和k之间的链路上分配的时隙的总数由Niktot表示。时隙需求被定义为Tikdem=f(Tikse,Qik)---(15)]]>这是测量的通信量加入由队列规模指示的估计的所需额外容量的函数。该函数可采取多种形式,还会受对保留容量的新请求影响。
在一些实施例中,最好允许链路度量受通信量需求的优先级影响。即,某一时隙期间,对指定通信链路的需求的等级可被进一步分成对几种优先级类别的通信量的预期需求的数量。这使得能够更有效地分配时隙以满足优先化通信量的需求。
从而,参考图15,通过类似于参考在图14中的方框141图解说明的步骤描述的那样,调度SP地洞,开始这种方法(方框151)。随后在方框152,可关于每个通信链路,对多个数据优先级或类别中的每一个,确定链路使用度量。这可利用上述度量之一或者两者(即先前传送的数据的数量和/或保存在数据队列18f中的数据的数量),或者其它适当的使用度量来实现。
例如,如果通信量按照从最低到最高的顺序被区分优先顺序为p个优先级类别,p1,p2,p3,…,pp,那么对优先级类别pj的时隙需求为Tikdem,Pj=f(Tikse,Pj,QikPj)---(16)]]>对每个优先级类别计算独立的需求度量。随后利用来自两个方向的度量,计算该链路上对于该优先级类别所需的时隙的数目Tikneed,PjTikneed,Pj=max(Tik,dem,Pj,Tkidem,Pj)---(17)]]>最好是使最高优先极需求度量Tikneed,Pp增大一个偏项B(例如,约为时隙的1/4),以确保分配足够的容量,从而避免大排队。随后,集合(aggregate)度量可被任意确定(方框153)为所有优先级类别的集合需求,即
Tikneed=Σj=1PTikneed,Pj---(18)]]>随后在方框154可据此及根据优先级调度DA时隙,从而结束该方法(方框155)。
需求度量被分配给该链路,它是对容量的需求和先前分配给该链路的时隙的数目的函数。我们用MikDA(TikPj,Niktot)来表示它,指示它取决于估计的对所有优先级类别的需求和分配时隙的数目。该方法规定当较高优先级通信量的比例增大,以及当需要更多时隙时,该度量增大。另外,如果分配时隙的数目被增大,那么该度量被降低。从而,如果某一链路具有过量的时隙,那么该度量为负。当然,本领域的技术人员会认识到在各种应用中可以使用其它度量。
下述算法可被用于计算链路度量。对于下面的例子,为了简便起见,我们假定三种优先级类别,优先级类别p3最重要。如果Tikneed≤Niktot,]]>那么设置MikDA(Tik,Pj,Niktot)=Tikneed-Niktot;---(19)]]>否则如果Tikneed-Tikneed,P1≤Niktot,]]>那么MikDA(TikPj,Niktot)=max(Ks,Tikneed-Niktot);---(20)]]>否则如果Tikneed-Tikneed,P1-Tikneed,P2≤Niktot,]]>那么MikDA(TikPj,Niktot)=max(2·Ks,Ks+Tikneed-Tikneed,P1-Niktot);---(21)]]>否则MikDA(TikPj,Niktot)=2·Ks+Tikneed-Tikneed,P1-Tikneed,P2-Niktot---(22)]]>在上面的算法中,选择恒定参数Ks≥1以便对每种优先级类别允许和度量中所需的一样多的范围(range)。例如,如果Ks=1,那么如果需要额外的时隙,并且存在类型P3通信量需求,那么集合度量将在范围2<MikDA(TikPj,Niktot)≤3]]>中。同样地,如果最高的通信量类别为类别P2,那么集合度量将在范围1<MikDA(TikPj,Niktot)≤2]]>中。否则,如果最高的通信量类别为类别P1,那么集合度量将在范围0<MikDA(TikPj,Niktot)≤1]]>中。通过为Ks选择更大的值,该范围可被进一步扩大。对于Ks=2,利用上述程序,从最低到最高的3种优先级类别的度量范围为0-2、2-4和4-6。
如上计算的度量MikDA(TikPj,Niktot)提供链路是否需要额外的时隙分配(即,MikDA(TikPj,Niktot)是否为正)和哪个优先级类别要求所述分配的基础。它还使新时隙能够以最高的优先级被分配在具有指示对时隙的最大需要的最高度量的那些链路上。另外,它还指示是否存在分配给该链路的过量容量(即,MikDA(TikPj,Niktot)为负)。
要注意的关键点是当使用上述方法时,链路度量将指示对于时隙的优先化相对需求。大于0的最大度量指示与任何其它链路相比,最需要用于较高优先级的通信量的额外容量。小于0的度量指示链路具有过量的容量。最小的链路度量指示具有最大的过量容量的链路。该链路从而理应是在另一链路上重新调度容量(如果需要的话)的最佳候选者。
下面将参考图16说明例证的方法,该方法将在每个网络节点12被用于把用于定向链路的按需时隙分配给相邻节点。该方法开始于方框160,通过利用在图14和15任意之一或者两者中概述的方法,在方框161,移动节点12将连续保持其被分配半永久时隙的每个链路的链路度量MikDA(TikPj,Niktot)。
每上节点12将使用该度量来向每个相邻节点指示对额外传输时隙的需求。MikDA(TikPj,Niktot)的最大值指示按照优先级排序,最需要额外的DA时隙分配的链路。MikDA(TikPj,Niktot)>2·Ks]]>的值指示对最高优先级类别P3的额外时隙的需要。类似地,如果Ks<MikDA(TikPj,Niktot)≤2·Ks,]]>那么需要额外的时隙来服务优先级类别P2。最后,如果0<MikDA(TikPj,Niktot)≤Ks,]]>那么需要额外的时隙来服务于优先级类别P1。
在度量MikDA(TikPj,Niktot)被保持的情况下,在方框162,具有大于0的最大链路度量的加应被选为额外时隙分配的首选。如果存在可用作自由时隙或者用作对其它链路的过量DA分配(同样由小度量指示)的时隙或者正被使用但是具有较低优先级的时隙,那么进程转变到增加DA时隙状态,启动查找DA时隙分配的进程。
存在可用在时隙再分配进程中的几种其它度量。在方框163,可计算增大的容量链路使用度量MikDA(TikPj,Niktot+1),以估计在增加额外的时隙之后,链路度量如何变化。这可用于确定是否应请求另一时隙,以及该请求的优先级如何。它可指示该链路应被分配另一时隙,或者另一链路现有具有较大的度量。在后一情况下,下一时隙应被分配给具有最大度量的链路。
类似地,在方框164,可计算降低的容量链路使用度量MikDA(TikPj,Niktot-1),以估计如果从该链路取走一个时隙,链路使用度量将为多少。这可用于从一个链路到另一链路的时隙的重新分配。即,如同本领域技术人员理解的那样,如果增大的和/或降低的链路使用度量在可接受的限度内,那么在方框165,为再分配指定的按需分配时隙随后被重新分配,从而结束图解说明的方法(方框166)。
如同半永久时隙一样,节点12只需要与某一近邻协调将为到该近邻的定向链路分配的DA时隙的选择。这意味着某一近邻将通过定向链路向该近邻发送时隙分配请求,并通过相同的链路接收分配的批准或者请求的拒绝,如下进一步所述。
最好根据预定的时间表定期重新计算链路度量。链路度量大于某一阈值Max_metric_threshold的链路是获得新的DA容量的候选者。该度量可指示对多个时隙的需要,可在一个请求中同时请求它们。具有超过所述阈值的最大度量的链路喜欢分配新的DA时隙。但是,如果多个链路度量超过阈值Max_metric_threshold,那么某一节点可同时向多个相邻节点请求DA时隙。链路度量的负值指示该链路具有过量的容量,不过在各个实施例中也可采用其它形式的度量。该容量可被放弃,以满足具有更大链路度量的其它链路的需求。
使用多个数据优先级还提供区分数据优先顺序的灵活性,从而优先级较高的数据可首先被传送。当然,指定链路可具有在每个定向信号出现时间中分配的几个时隙。从而,到相邻节点k的定向链路Lk可具有分配给它的时隙i和j,这两个时隙可具有不同的链路质量。根据干扰水平,时隙之一可能质量较高,而另一时隙可能质量较差。一般不适于通过质量较差的时隙传送重要通信。
现在将参考图17说明根据指定时隙内的链路服务质量(QoS),区分数据的优先顺序的一种有利方法。开始于方框170,在方框171,在指定的一对移动节点12之间调度多个时隙。同样,如前所述,这一般包括一个或多个SP时隙,以及一个或多个DA时隙。同样如上所述,在方框172,还例证确定在每个时隙内,与通信链路相关的相应链路质量值。这可根据SIR、分组接收差错值等来实现。这样,在方框173,根据数据的优先级和质量值,数据被区分优先顺序,以便在时隙内被传送,从而结束图解说明的方法(方框174)。
更具体地说,控制器18最好把与优先级中最高的一个优先级对应的数据分配给具有与之相关的最高质量值的时隙。例如,最高的优先级可能对应于网络控制数据,因为这种数据一般要求即时传送和动作,以便减轻干扰,把丢失的链路重新分配给新时隙等。
另外参见图18,说明区分数据优先顺序的一种例证方法。开始于方框180,在方框181,首先最好依据数据优先级对等待传送的数据分级,随后在方框182,依据数据被接收的顺序进一步对所述数据分级。来自这两个步骤的最高分级的数据随后可被选择(方框183),并在方框184,在第一个可用时隙内被发送,对于所述第一可用时隙来说,质量值高于关于该数据优先级的相应最小质量阈值。该进程随后继续进行,直到所有数据都被发送为止(方框185),从而在方框186结束图解说明的方法。当然,在实际操作中,上述步骤将被频繁重复,但是为了清楚起见,它们被图解表示成在方框186终止。
应注意数据队列18f事实上可被实现成独立的数据优先级队列,如果实现了基于质量值(即QoS)的优先化。此外,一些修改是合乎需要的,以便考虑到分配给特定链路的每个时隙的不同链路质量。同样利用上述例子,可能不希望通过质量可疑时隙传送OLSR网络控制通信量。
在节点j关于经由时隙i,其到节点k的链路估计的质量量度由N_qualityiLk表示。类似的,在节点k关于该时隙的并将在通道质量反馈分组中发射的估计质量由N_quality_RxiLk表示。随后,根据这两个估计值,时隙i的质量可被估计为QualityiLkMin(N_qualityiLk,N_quality_TxiLk).]]>如果网络控制通信量被赋予最高优先级,那么当分配给定向链路Lk的时隙i出现时,关于该定向链路Lk的任何排队网络控制通信量可以首选使用该时隙,假定关于时隙的质量的一些条件被满足。
对于网络控制通信的类别来说,这样的条件如下所示。发送给节点k的分组在第一时隙i中被传送,并且如果链路Lk的质量满足QualityiLk>TNC,]]>那么所述分组被分配给定向链路Lk,其中选择阈值TNC以便为网络控制通信确保足够的链路质量。否则,发送给节点k的分组可在分配给具有最高链路质量QualityiLk的定向链路Lk的时隙中被发送。
此外,对于任务数据通信的一些类别,最好施加类似的时隙质量条件。对于任意任务数据类别Cm,可施加如下所述的时隙质量条件。发送给节点k的分组可在分配给满足QualityiLk>TCm]]>的定向链路Lk的第一时隙i内被传送,其中选择阈值TCm以便为类别Cm的任务数据通信,确保足够的链路质量。否则,发送给节点k的分组可在分配给具有最高链路质量QualityiLk的定向链路Lk的时隙内被传送。
本领域的技术人员会认识到,上述方法的优点是具有更长的信号出现时间,在每个信号出现时间内,几个时隙被分配给每个链路Lk。即,当由于干扰的缘故,一个时隙临时地或者永久地质量较差时,链路恶化的机会很小。这种情况下,其它的分配时隙可具有更高的质量,并且对保持关键通信的QoS来说关系重大。如果单个时隙被分配给某一链路,那么如果由于干扰的缘故,所述单个分配时隙开始恶化,那么新时隙的分配可能存在延迟。
最好对定向链路以及全向链路进行链路质量检测。然而,对于定向链路来说,这更复杂,因为每个时隙可能具有不同的链路质量。除了引起链路中断的正常传播效应之外,定向链路经受由来自正在复用相同时隙的其它节点对的干扰引起的质量恶化。从而,需要单独估计并保存每个时隙的链路质量(即使几个时隙被分配给相同的相邻节点)。
此外,即使就关于每个时隙单独估计的链路质量来说,几个时隙内某一链路的集合链路质量一般是传送给路由协议的唯一信息,和OLSR的情况一样。由于对某些时隙,通信量需求的变化和干扰约束条件的变化(由几何开关的变化引起)所需的对链路的频繁时隙重新分配,使该进程复杂化。
在链路层的所有该活动事实上对路由协议来说是透明的。对于到某一近邻的任意指定链路,一般同路由协议报告的唯一信息是到该近邻的链路的链路质量。下面说明本发明的可在链路层用于支持链路质量检测,干扰避免和减轻的各种特征,以及它们与分配新时隙的关系。
现在将参考图19和20说明一种特别有利的确定定向链路质量的方法。如果信噪比估计值不能容易地被用于估计每个单个时隙的质量,那么可以使用上面所述的估计全向链路质量的方法(即,使用全向开销分组(overhead packet)的成功接收)。就定向时隙来说,通信量主要是任务数据通信量。
具体地说,开始于方框190,在每个时隙中,源节点将传送几个这样的数据分组,但是接收节点不知道传送了多少个数据分组。为了使接收节点知道在每个时隙中,传送了多少个数据分组,在方框191,在该时隙中,连同数据分组一起,发射器还传送特殊的开销分组PKT_CT。开销分组提供该时隙内传送的分组的计数(包括它自己)。从而,如果收到了PKT_CT分组,那么接收节点将知道在一个时隙中总共传送了多少个分组。我们把在该时隙中传送的分组的数目表示为niT。在方框192,接收节点还对正确接收的分组的数目(表示为niR)计数。
根据在时隙i中接收的分组,可估计时隙i的分组接收差错值。最好,网络被这样配置,以致始终传送至少一个分组(即,PKT_CT分组)。这样,如果在指定时隙中没有收到任何分组,那么时隙i的分组接收差错值被估计为0。如果在方框193,PKT_CT分组被正确接收,那么它提供niT的值,时隙i的分组接收差错值被估计为niR/niT,从而在方框196结束图解说明的方法。
可能发生的另一种情况是如果PKT_CT分组未被正确接收,并且niT的值未知。这种情况下,时隙i的正确分组接收的概率被估计为被正确接收的分组占据的时隙的分数(方框195),即BiR/TSi。这里,BiR表示在该时隙内,正确接收的分组中的字节的数目,TSi以字节为单位表示时隙长度。从而,时隙i的分组接收差错值的估计值 被计算为P~iC=niR/niT;(niT_known)BiR/TSi;(niT_not_known)0;(no_pkts_received)---(23)]]>开始于方框200,该方法可随意包括在方框201,利用分组接收差错值来确定/更新分配给链路Lk的每个时隙i的定向链路质量值(LQV)N_qualityiLk。对于信号出现时间中的每个时隙,每个信号出现时间这些值被更新一次。在每个时隙之后,分配给链路i的定向链路的N_qualityiLk值被更新为N_qualityiLk=(1-β)·N_qualityiLk+β·P~iC---(24)]]>在时隙被分配给来自节点k的链路之后的第一个接收时隙之前,该链路的N_qualityiLk值的初始条件被设置为1。随后对于该信号出现时间的时隙i之后的每个后续信号出现时间,根据(24)更新N_qualityiLk值。
参数β的选择有效地设置相对于估计成功分组传输的概率的一阶滤波器的定向链路信号出现时间的长度的时间常数。参数β的正确设置是所需的响应性和估计精度之间的折衷。较大的β值导致信号出现时间内的较大可能变化。这以增大错误分类链路状态的可能性为代价,更快速地识别链路状态方面的变化。
一个问题是在确定链路状态发生变化之前,应允许过去多少时间(以信号出现时间为数)。在一段时间之后,如果时隙i变得非常差,那么N_qualityiLk≈0.]]>类似地,如果时隙i已变得非常好,那么N_qualityiLk≈1.]]>困难在于判断良好和低劣之间的转变,和何时宣告应重新分配时隙。
一种特别有利的完成所述确定的方法是使用滞后。根据本发明的这一方面,一般来说,在方框201,目的节点根据分组接收差错值确定与通信链路相关的链路质量值N_qualityiLk。如果链路质量值N_qualityiLk低于第一阈值,那么在方框203,源节点和目标节点将在该时隙内停止使用所述通信链路。
此外,在方框204,如果链路质量值N_qualityiLk持续预定的时间仍然低于第一阈值(在其它实施例中也可使用其它阈值),那么,源节点和目的节点可确定新的时隙,以便在它们之间建立无线通信链路,从而结束图解说明的方法(方框206)。另一方面,在方框207,如果链路质量值N_qualityiLk先前已低于第一阈值,并且链路的使用已被停止,那么在方框208和209,如果链路质量值增大到高于第一阈值的第二阈值之上,源节点和目的节点将在该时隙内继续使用该通信链路。
举例来说,如果在时隙i内,来自节点k的链路的N_qualityiLk值的范围为0-1,那么对于本例来说,我们将借助某些网络控制功能的滞后,将其量化成三个水平。变量TS_Qualiu将代表N_qualityiLk变量的量化值。新变量可以取值为代表三种链路质量状态的GOOD、MID和BAD。每次修改N_qualityiLk时,可根据下面所示修改TS_AQualiLk变量。N_qualityiLk>TQH;]]>设置TS_QualiLk=GOOD;---(25)]]>TS_QualiLk=GOOD]]>并且如果TQM≤N_qualityiLk≤TQH,]]>那么设置TS_QualiLk=GOOD;---(26)]]>TS_QualiLk=GOOD]]>并且如果TQL≤N_qualityiLk≤TQM,]]>那么设置TS_QualiLk=MID;---(27)]]>TS_QualiLk=MID]]>并且如果TQL≤N_qualityiLk≤TQH,]]>那么设置TS_QualiLk=MID;---(28)]]>TS_QualiLk=BAD]]>并且如果TQM≤N_qualityiLk≤TQH,]]>那么设置TS_QualiLk=MID;---(29)]]>TS_QualiLk=BAD]]>并且如果TQL≤N_qualityiLk≤TQM,]]>那么设置TS_QualiLk=BAD;---(30)]]>N_qualityiLk<TQL;]]>设置TS_QualiLk=BAD;---(31)]]>如同本领域的技术人员将理解的那样,在上述关系(25)-(31)中引入滞后,以便防止估计的时隙状态的过度波动。阈值的例证数值是TQL=0.2,TQM=0.5,TQH=0.8,]]>不过根据指定应用,也可使用其它数值。这里应注意虽然为了方便起见,这里使用的例证质量范围从0到1,不过也可使用其它范围。当对于指定时隙,TS_QualiLk=BAD]]>时,在该时隙内,调度器最好不通过链路传送任何通信,除非不存在可用于具有MID或GOOD质量的链路的其它时隙。
另外应注意如上所述的指数加权的平均值的使用适合于测量全向链路和定向链路的链路质量。存在能够导致这两种链路中任意之一中断的各种链路损害。最好关于这两种链路类型,持续测量链路质量,还应使用各种机制对链路质量的改变作出反应。
本领域的技术人员会认识到,各种现象会影响链路质量。例如,两个节点之间的距离可能变得如此之大,以致失去视线(LOS)。这种情况下,链路被丢失,直到在未来某一时间,节点在距离方面变得更近为止。如果节点移动到障碍物之后,并且长时间被遮蔽,那么观察到相同的效果。这种情况下,全向链路和定向链路都具有很低的质量。这最好会触发半永久时隙分配的取消和/或OLSR路由中链路的消除。
另一种现象是链路可在良好质量和低劣质量之间快速摆动(也称为“摇摆”)。当节点快速通过小型障碍物时会发生这种现象。这种情况下,全向链路和定向链路都会摇摆。如果利用过小的样本尺寸估计链路质量,也可能发生这种现象。这种情况需要稍微更仔细地处理。在这种情形持续的时候,链路可能过差,以致不能被用于发送通信。但是,时隙分配可被保持一定时间,以便确定高质量链路是否可被恢复。
此外,在特定时隙中的定向链路质量较低时,全向链路可具有高质量。在分配的其它时隙中,与另一节点的定向链路上的通信也能够是高质量的。这表示存在来自正在低质量的单一定向时隙中工作的其它用户的特定干扰。间歇性干扰也能够导致在该时隙中链路的摇摆。这种情况下,时隙应被重新调度以消除干扰。如果其它时隙可用或者在通信被缓存的时候,能够快速获得新的时隙分配,那么仍然能够发生路由。
响应上述现象,可采用几种动作。例如,在链路层,可确定在单一中继段中不再能够到达相邻节点。这种情况下,近邻表被更新以反映该新状态,任何定向时隙被解除分配并被标记为“自由”。如果在所述近邻在范围内的时候,由于干扰过大的缘故,某一时隙被宣告不良,那么链路调度协议将尝试分配无干扰的新时隙。
在路由层,不必把链路层的这些动作中的一些通知路由协议,除非它们影响连通性。如果两个节点之间的时隙被重新调度,但是这两个节点仍然被连接并且能够交换任务数据,那么通过该链路的路线仍然是良好的。如果某一相邻节点不再是可达到的,那么路由协议应找到不利用该链路的新路线。
现在转到干扰的问题,本领域的技术人员会认识到在以时隙复用为目标的任何调度算法中,都可能发生干扰。一般来说,根据本发明提供两种用于降低指定时隙中,来自其它用户的潜在和实际干扰的策略。一种干扰回避策略用于初始时隙调度和某些抢先干扰回避重新调度。干扰减轻策略用于回避策略不能及时起作用以防止实际干扰的情况。干扰减轻策略将产生重新调度时隙,从而消除干扰的效果。
图21中图解说明了例证的干扰避免情形。在该情形下,在为对相邻移动节点n的传输调度时隙之前,节点m评估可能的干扰。如上所述,所述评估可由从节点n到节点m的在它们之间建立初始/附加时隙的请求引起。节点m能够搜索它的通过定向近邻分组接收的信息的表格,确定其相邻节点中的哪一个在相同时隙中安排了传输。在举例说明的例子中,节点k和j是利用相同时隙的潜在干扰节点(图解表示为空心圆)。
更具体地说,在节点m的来自节点k的干扰经过距离dkm,并以偏离节点m用于指向节点n的天线段的视轴(由箭头210指示)θmk的角度被接收。另外,当向节点j发射时,在节点k以偏离天线的视轴(由箭头211指示)θkm的角度朝着节点m发射潜在干扰信号。
可根据几个因素确定所产生的干扰是否足够强,足以使节点m为到节点n的传输调度该时隙。现在参见图22,一种方法首先(方框220)在方框222确定相邻移动节点n和在该时隙内发射的其它潜在干扰移动节点(这里,节点j和k)的相对位置。
随后在方框222,根据这些相对位置确定对节点m和n之间的定向通信链路的潜在干扰。确定所述潜在干扰的一种方法是根据到所述相邻移动节点n和潜在干扰移动节点k、j的相应距离和角度,计算位置,如下进一步所述。随后在方框224,只有当干扰低于阈值时,才在该时隙内调度定向通信链路,从而结束图解说明的方法(方框225)。
除了节点的相对位置之外,还可根据可由节点m使用的抑制算法或滤波器在天线旁瓣(side lobe)实现的抑制,确定潜在干扰。即,干扰信号可被距离dkm的路径损耗和在节点m和k的天线旁瓣抑制到各不相同的程度。这将由关于每个潜在的干扰节点计算的度量MK,TiI量度。该度量时隙Ti中从节点k接收的干扰水平(单位为dB)。
在它们的HELLO和定向近邻更新分组中从相邻节点接收的信息现在将允许计算到节点的距离和在每个时隙中用于传输的波束的视轴方向。对于本例来说,我们将假定所有节点具有作为离视轴的角度的函数的天线增益模式,由函数Ga(θ)给出。如果指定环境中的准确传播损耗未知,那么可估计作为dnp的逆函数的损耗,其中d是从干扰节点k到关心的节点的距离,np是一般在2-4的范围中的恒定传播损耗指数。
作为例证模型,路径衰减可被计算成由地平面衰减等式和自由空间衰减等式给出的路径衰减的最大值。对于地平面等式来说,衰减为Lkmp=40·log(dkm)-20·log(ht)-20·log(hr),---(32)]]>其中路径长度dkm(从节点k到节点m的距离)和发射器及接收器的相应高度ht、hz的单位都为米。自由空间衰减等式给出的路径衰减为Lkmfs=32.45+20·log(dkm)+20·log(f),---(33)]]>其中RF射频f的单位为GHz。估计的总路径损耗为两者的最大值,即Lkmtot=max(Lkmp,Lkmfs).---(34)]]>本领域的技术人员会认识到,实际的损耗将是时变的,并且由于障碍物或树叶的缘故,明显不同于该计算结果,但是该恒定值可被用作评估潜在干扰源的影响中的合理近似。从而可根据对于时隙Ti内从节点k发射的信号,在来自潜在干扰节点k的路径上的节点m的接收天线的信号损耗,把理论度量计算为Mk,TiI=-Lkmtot+Ga(θkm),---(35)]]>其中θkm是朝向节点m的信号方向的偏离节点k的视轴的角度。该度量可在节点m被用于计算干扰影响以便把时隙Ti分配给任何其它相邻节点。
上述度量没有体现在节点m的干扰信号的旁瓣抑制的影响,因为这取决于正在考虑在时隙Ti内调度哪个相邻节点。但是,当为该时隙考虑任何相邻节点,例如节点n时,可根据Mk,TiI计算包括在节点m的旁瓣抑制的新度量,如下所示Mk,TiI,mn=Mk,TiI+Ga(θkm).---(36)]]>从而在节点m接收的来自在时隙Ti中通信的节点对k、j之间的链路L的干扰的最大干扰水平由从节点k或者节点j接收的最大水平给出,即NL,Timn=maxk,j(Mk,TiI,mn,Mj,TiI,mn).---(37)]]>这样,时隙Ti中在节点m收到的总干扰为从在时隙Ti中工作的所有链路L接收的干扰的总和,即,NTimn=10·log[ΣL10NL,Timn/10].---(38)]]>多数情况下,该量值的近似值就足够了。就任意时隙中的少量潜在干扰源来说,两个或更多的干扰源不可能具有几乎相等的功率。这种情况下,我们可把干扰的近似值计算为NTimn≈maxL(NL,Timn).---(39)]]>从而,由于实际的信号-干扰比将高度取决于到所需目标节点的距离与到干扰节点的距离的比值,我们可把时隙Ti的理论SIR度量计算为SIRmnTi=NTimn+Lmntot.---(40)]]>上述度量的单位为dB,它们可被用于在最初为任何相邻节点调度时隙时提供干扰回避。另外,有利的是它们可被用于间歇检查,确定当前调度的时隙是否正在开始经历或者可能经历增大的干扰水平。图23中图解说明了该方法,所述方法开始于方框230,在方框231,节点m间歇地确定相邻移动节点n和其它潜在干扰节点的相对位置。应注意由于节点是移动的,因此在这期间,潜在干扰节点可能已发生变化。节点j和k可能仍然是潜在干扰节点也可能不再是潜在干扰节点,在这期间,其它潜在干扰节点可能已进行节点m的范围内。
无论怎样,一旦确定了对于新的潜在干扰节点的新的相对位置,那么如前所述,在方框232,据此确定对定向通信链路的潜在干扰。如果在方框233,潜在干扰高于上面提及的干扰阈值,那么在方框234,在新时隙内调度定向通信链路,从而结束图解说明的方法(方框235)。当然,如上所述,可以使用不同的阈值以便引入滞后。
上述干扰等式为当确定时隙的恰当分配时最好考虑的时隙优先化提供一种有用的模型。当然,实际上每次要确定干扰时,计算每个上述度量需要大量的处理资源。这样,如同本领域的技术人员会认识到的那样,预先计算输入/输出组的一组范围或者比值,并把它们保存在控制器18中的查寻表18g中以便计算SIR是有利的。
现在参见图24,更详细地说明SP和DA时隙再分配。首先,我们考虑节点m和其相邻节点n之间新的SP或DA时隙的初始调度(参见图21)。首先,这里假定当分配新的SP时隙时,任何“自由”时隙或DA时隙可用于分配,同时“自由”时隙的优先级高于DA时隙。DA时隙最好也被排序,需求度量值最小的DA时隙的再分配优先级最高。除了如上所述,需求度量大于某一数量的现有时隙分配不可用于再分配之外,当分配新的DA时隙时,遵循类似的进程。
如上所述,通过把估计的干扰水平和优先化的通信需求度量看作优先化度量,还可扩大该初始调度进程。从而,就这两种度量来说,对潜在时隙排序的进程更复杂。
一般来说,时隙的重新分配开始于方框240,随后如上所述,在方框241确定初始时隙。根据本例,在方框242,发起移动节点n将识别与其相邻移动节点共用的可用时隙,并在方框243,根据发起移动节点和相邻移动节点在时隙内的链路使用率,对可用时隙排序。随后在方框244,发起移动节点n把包括可用时隙及其排序的时隙分配请求传送给接收移动节点m。
这样,在方框245,接收移动节点m将依次接收时隙再分配请求,并根据接收移动节点和与接收移动节点相邻的移动节点在可用时隙内的链路使用率,对可用时隙排序。此外,在方框246,节点m随后根据发起移动节点和接收移动节点的可用时隙的排序,产生可用时隙的组合排序。随后在方框247,接收移动节点m可根据组合排序,重新分配一个或多个可用时隙,以便在发起移动节点和接收移动节点之间建立通信链路,从而在方框248结束图解说明的方法。
参考图25,在一些实施例中,上述再分配方法还可有利地包括各种其它特征。开始于方框250,在方框251,如上所述,发起移动节点n和接收移动节点m均可确定与每个可用时隙相关的通信需求度量,并在方框252和253,把与之相关的通信需求度量高于较高的使用阈值的任何可用时隙排队在再分配的考虑之外。
类似地,在方框254,发起移动节点n和接收移动节点m还都可确定与每个可用时隙相关的SIR值,并在方框255和253,把与之相关的SIR值高于较高的SIR阈值的任何可用时隙排队在再分配的考虑之外。另外应注意在时隙的排序中,发起移动节点n和接收移动节点m还使用SIR值(图24中的方框243、245)。
如前所述,这些排序还可考虑到增大的和/或降低的链路使用度量。此外,同样如上所述,发起移动节点n和接收移动节点m均可根据其中传送的数据的平均数量和/或保存在它们的队列18f中的数据的数量,对可用时隙排序。
此外,在方框256和253,由于发起移动节点n和接收移动节点m最好传送具有多个优先级的数据,因此如果将在可用时隙内传送的数据并不具有和在所述可用时隙内当前正被传送的数据相等或者更多的优先级,那么接收移动节点m能够禁止可用时隙的重新分配。否则,如前所述,链路可被重新分配(方框257),从而在方框258结束图解说明的方法。
更具体地说,现在将提供实现时隙的上述分级的例证算法。但是,在给出对可被重新分配给节点m和n之间的链路的潜在时隙评定等级的算法之前,我们首先定义项MetLimmn,以确保没有任何时隙将从另一链路被重新分配给节点m和n之间的链路,除非需要传送更高优先级的通信为止,如上参考方框256所述。同样采用具有三个优先级类别的例子,被定义为MetLimmnIfMmnDA(TmnPj,Nmntot)/Ks>2thenMetLimmn=2,---(41)]]>ElseifMmnDA(TmnPj,Nmntot)/Ks>1thenMetLimmn=1,---(42)]]>ElseMetLimmn=0.---(43)]]>为了举例说明整个方法,首先研究当不考虑干扰度量时,对时隙排序的方法。首先根据下述时隙优先化方法,对未被分配给节点m和n的所有其它时隙(即,在节点m和其未示出的相邻节点r之一之间分配的那些时隙)排序,所述时隙优先化方法考虑了分配新时隙中的通信需求的优先级,但是不包括干扰的影响。
特别地,当要求在节点m和n之间分配一个新时隙时,根据自由时隙和DA时隙产生可用时隙的列表。随后在把潜在时隙的列表发送给接收节点m之前,在请求或发送节点n对这些时隙排序。利用优先化通信需求度量MmrDA(TmrPj,(Nmrtot-1))对可用时隙排序。注意该度量中(Nmrtot-1)的使用,如果从节点m和r之间的链路取走某一时隙,那么它指示所述度量的值。
下述方法被推荐用于所述排序。等级最高的时隙是自由的时隙。按照通信需求度量MmrDA(TmrPj,(Nmrtot-1))的逆序,对剩余的时隙排序。如果要分配的新时隙是DA时隙,那么除去传送相等或更高优先级通信的所有时隙,即MmrDA(TmrPj,(Nmrtot-1))>MetLimmr.---(44)]]>这确保在重新分配进程中,只有低优先级的通信被丢失。
如上所述,(根据上述标准的)时隙的排序列表包括在请求节点n发送的REQ消息中。接收节点m接收REQ消息,获得排序时隙的列表,并通过利用优先通信需求,根据上述方法对这些时隙排序。随后,根据这两个节点确定的排序,剩余的时隙被给予组合排序,同样如上所述,选择具有最佳组合排序的时隙。
如果度量MikDA(TikPj,(Niktot+1))>0,]]>这指示即使在分配第一时隙之后,还需要另一时隙。随后把该度量与到其它近邻的链路的度量进行比较,以了解是否应请求第二时隙,或者另一链路现在是否更迫切地需要一个额外的时隙。在后一情况下,下一时隙分配最好被给予具有最大度量的链路。
在一些实施例还可有利地增强上述方法,以便考虑到如上所述的通信优先级。下述方法被推荐用于对具有干扰的潜在时隙排序。为每个相邻节点和每个时隙保持接收的干扰水平Mn,TiI。这些干扰水平最好随着新的位置更新被定期更新,例如大约每秒一次。
当要求在节点m和n之间分配新时隙时,根据自由时隙和DA时隙创建可用时隙的列表。随后在向接收节点m发送潜在时隙的列表之前,在请求节点n对这些时隙排序或者区分优先次序。从而,为了对时隙排序,在接收每个近邻的天线抑制之后,可评估总的接收干扰功率。本领域的技术人员会认识到,随后可计算估计的总的接收干扰功率NTimn。
随后可利用优先化的通信需求度量MmrDA(TmrPj,(Nmrtot-1))和干扰度量NTimn,对分配给相邻节点的可用时隙排序。注意该度量中(Nmrtot-1)的使用,它指示如果从节点m和r之间的链路取走某一时隙时,所述度量的值。对于该排序来说,最好排序最前的时隙是自由时隙或者是具有小于预定阈值的优先化通信需求度量MmrDA(TmrPj,(Nmrtot-1))≤TDAL]]>的DA时隙。换句话说,这些时隙或者是未正在使用的(自由)时隙或者是几乎从未被使用的时隙。随后根据估计的干扰功率Ntimn的水平(NTimn的最低值被赋予最高等级),对这些时隙排序。
按照等级排序的下一时隙是具有低于较高阈值的优先化通信需求度量MmrDA(TmrPj,(Nmrtot-1))≤TDAH,]]>并且同时对于该时隙来说具有很高的SIRmnTi(由超过某一阈值SIRmnTi>TSIRH]]>指示)的剩余DA时隙。按照优先化通信需求度量对这些时隙排序,最小的需求度量指示最高的等级。这些时隙被排列在先前计算的那些时隙之后。
按照SIRmnTi的最高值,对满足MmrDA(TmrPj,(Nmrtot-1))≤TDAH]]>但是不满足SIRmnTi>TSIRH]]>的剩余DA时隙排序。这些时隙被排列在先前计算的那些时隙之后。此外,剩余的DA时隙被排列在先前计算的那些时隙之后。根据优先化通信需求度量对这些时隙排序,最小的优先化通信需求度量指示最高的等级。当然,要认识到上述排序方法是例证性的,在本发明的范围内还可使用其它方法。
如果时隙预测的信号-干扰比为SIRmnTi<TSIRL.---(45)]]>那么最好把先前的优先级排序中的任何时隙排除在再分配的考虑之外。这把对其来说,干扰节点可能导致过低的SIR的任何时隙排除在考虑之外。此外,如果要分配的新时隙是DA时隙,那么传送相同或更高优先级通信量的所有时隙最好被除去,即MmrDA(TmrPj,(Nmrtot-1))>MetLimmr.---(46)]]>这确保在再分配进程中,只有优先级较低的通信量被丢失。
如上所述,(根据上述标准的)时隙的排序列表包括在请求节点发送的REQ消息中。接收REQ消息的接收节点m获得排序时隙的列表,并利用它计算的需求和干扰度量,按照如上所述的方法对这些时隙排序。这最好包括除去未达到SIR、干扰节点距离和干扰节点角度阈值的任何时隙,或者在接收节点不可用的任何时隙。随后剩余的时隙被赋予由这两个节点确定的排序得到的组合排序,并选择具有最佳的组合排序的时隙。
如果MikDA(TikPj,(Niktot+1))>0,]]>这指示即使在分配第一时隙之后,仍然需要另一时隙。随后把该度量与到其它近邻的链路的度量进行比较,以了解是否应请求第二时隙,或者另一链路现在是否更迫切地需要一个额外的时隙。在后一情况下,下一时隙分配最好被给予具有最大度量的链路。
在分配某一时隙之后,作为干扰回避和减轻方法的一部分,将不断地监视该时隙。另外,不断测量全向链路质量。如果全向链路的质量变坏(指示LOS的损失或者到另一节点的距离过大),那么宣告该链路中断,并把链路的中断通知路由协议(例如OLSR)。这将指示在网络层重新进行路由选择。只有全向链路的质量仍然良好,那么必须依然关于干扰监视各个时隙。
下面的讨论举例说明当全向链路质量良好时,如何评估定向时隙上的潜在或现有干扰。将存在链路质量指示符表示到指定相邻节点的全向链路质量良好,但是分配给该节点的定向时隙之一非常不可靠的情况。这将是未被如上所述的干扰回避技术避免的该时隙上的过多干扰的指示。
能够导致这种干扰的情况有几种,它们一般由移动引起。例如,这些情况包括所需信号的到达方向的快速变化,干扰信号的到达方向的快速变化,干扰源的数目不断增大,以及节点和其目标节点及干扰节点之间的距离的变化。
下面将参考图26,说明根据本发明的干扰监视/减轻方法的概要。开始于方框260,如上所述,在一个或多个时隙内在该对移动节点m和n之间建立了通信链路之后(方框261),在方框262,这两个节点中的至少一个确定在所述时隙期间,与所述通信链路相关的链路质量值。随后在方框263和264,该节点确定通信链路是否具有第一(临界)质量或第二(低劣)质量。
根据本发明,在方框265,如果在指定时隙内,通信链路具有临界质量,那么移动节点合作以便在第一时段内把通信链路重新分配给一个新时隙。此外,在方框266,如果在指定时隙内,通信链路具有低劣的质量,那么节点合作以便在短于经一时段的第二时段内,把通信链路重新分配给一个新时隙。即,如果链路质量严重恶化,那么时隙可被快速分配(即,在第二个较短的时段内),以使对通信的破坏降至最小。另一方面,如果链路质量处于临界状态但是仍然可用,那么可以更长地延迟时隙的重新分配(即,在较长的第一时段内),这可减少试图同时重新分配时隙的各对竞争节点之间的冲突。
图27中更详细地图解说明了在方框262-264一般性说明的步骤。具体地,在方框271,如上所述,最好根据SIR和分组接收差错值(PREV),确定链路质量值。如下进一步所述,在方框272和274,如果SIR在第一SIR阈值和第二SIR阈值(它高于第一质量阈值)之间,并且PREV在第一差错阈值和第二差错阈值(它高于第一差错阈值)之间,那么通信链路最好被确定为具有临界质量,随后结束该方法的这一方面(方框278)。
类似地,在方框274和273,如果SIR小于第一SIR阈值,并且PREV大于第二差错阈值,那么通信链路最好也被确定为具有临界质量。另外,在方框275和276,如果SIR小于第一SIR阈值,并且PREV介于第一差错阈值和第二差错阈值之间,那么通信链路被确定为质量低劣。另外,如果质量因子低于第一差错阈值,那么通信链路被确定为质量低劣。
上述方法特别适合于按需分配时隙。对于半永久时隙来说,在一些应用中,可能适于相当快速地重新分配这些时隙。这样,现在参见图28,开始于方框280,在方框281初始确定SP时隙之后,类似于上面关于DA时隙所述那样,在方框282,确定半永久时隙内与通信链路相关的半永久链路质量值。如果在方框283,根据半永久链路质量值,在半永久时隙内,额外的通信链路被确定为具有临界质量或者低劣的质量,那么在方框284,在相当短的第二时段内,链路被重新分配给新的SP时隙。否则,如同举例所示那样,将继续监视链路质量值。
下面将参考用于计算上述变量的特定等式,更详细地说明上面概述的干扰回避和减轻程序。同样,将对每个时隙和每个干扰节点定期重新计算几个关键变量。这些关键变量包括每个定向链路Lk的每个时隙i的链路质量N_qualityiLk及其量化值TS_QualiLk;时隙I的潜在SIRmnTi;和全向链路状态Can_AllocLk。
这些变量将是时隙i上的干扰或潜在干扰的指示符。这些变量的微小降低将启动更从容的尝试(即,在相对较长的第一时段内),重新调度更良好的时隙,以便避免潜在的干扰。由于干扰节点对可能也已发现该条件,因此从容的补偿(backoff)将降低两个节点对同时重新调度,并且可能引起另一冲突的可能性。
这样,如果干扰节点对决定首先重新调度,这可消除重新调度的需要。对于该“慢速”补偿方法(即,在第一时段内),将在下一ΔTR秒内的任意时间,以概率Prsslow启动重新调度操作。如果重新调度操作未被启动,那么当再次重新计算变量时,将再次进行测试(大约每秒一次)。如果测试再次失败,那么将在下一ΔTR秒内的任意时间,以概率Prsslow启动重新调度操作。只要潜在干扰条件存在,该测试过程就将继续下去。
现有严重恶化的检测将要求更即时的重新调度,以避免现有的过多干扰。这种情况下,“快速”补偿方法是在较短的第二时段内启动时隙的重新调度。例如,它可在下一定向信号出现时间之内,并以概率Prsfast启动重新调度操作。如果未在该信号出现时间内启动重新调度,那么以概率Prsfast在下一信号出现时间内启动重新调度,等等。
不进行当前时隙分配的任何重新分配和对重新分配进行慢速或者快速补偿之间的决定最好基于下述标准。首先,如果用于节点m和n之间的链路的时隙i满足下述两个条件任意之一,那么不考虑时隙的重新分配SIRmnTiTSIRMandTS_QualiLk=GOODORMID;and---(47)]]>SIRmnTi>TSIRLandTS_QualiLk=GOOD.---(48)]]>此外,如果用于节点m和n之间的链路的时隙i满足下述两个条件任意之一,那么使用对时隙的重新分配的慢速补偿(如果它是用于节点m和n之间的链路的唯一时隙,那么使用快速补偿)TSIRL≤SIRmnTi≤TSIRMandTS_QualiLk=MID;and---(49)]]>SIRmnTi<TSIRLandTS_QualiLk=GOOD.---(50)]]>
另外,如果用于节点m和n之间的链路的时隙i满足下述两个条件任意之一,那么使用对时隙的重新分配的快速补偿SIRmnTi<TSIRLandTS_QualiLk=MID;and---(51)]]>TS_QualiLk=BAD.---(52)]]>如果下述条件被满足,那么时隙被解除分配,并且路由协议(例如OLSR)被告知节点m和n之间的链路已被中断持续至少TB秒,TS_QualiLk=BAD]]>并且Can_AllocLk=FALSE---(53)]]>如上简要所述,一旦通过快速补偿或者慢速补偿确定重新调度是必需的,那么如果时隙i是SP时隙,某些预防措施是合乎需要的。由于SP时隙的重要性,重要的是该时隙未被恶化。如果该时隙是在节点m和n之间分配的唯一时隙,那么即使下面列举的条件指示慢速补偿令人满意,也最好进行快速补偿。
另一种情况是当节点m和n具有分配的几个时隙时。如果对SP时隙不同地指示慢速补偿,那么节点m能够立即把应使它们的DA时隙之一成为SP时隙通知节点n,从而使当前时隙承担DA时隙的不太关键的任务。如果分配给节点m和n的其它时隙都不具有足以重命名为SP时隙的质量,那么使用快速补偿来重新调度SP时隙i。如果时隙i是DA时隙或者可以使之成为DA时隙,那么使用依据下述标准确定的快速或慢速补偿决定。
特别地,在进行新时隙分配之前,正被重新分配的时隙不被解除分配。在获得新的时隙之后,旧的有问题的或者低劣的时隙可被解除分配。如果另一时隙可用于节点m和n之间的链路,那么最好停止“低”质量(TS_QualiLk=BAD)]]>时隙内分组的转发。
具有优化链路状态路由(OLSR)路由算法的简单接口可包括在本发明中,并且下面参考图2和29进行讨论。本领域的技术人员已知,就OLSR来说,链路状态信息能够量化链路的状态。完整的布局信息被保持,并且定期向网络中的所有其它节点广播近邻布局信息,以允许它们构成完整的网络布局。应使OLSR不知道围绕时隙的分配和解除分配,以满足通信量需求和干扰的减轻的多数活动。当存在分配给与某一相邻节点的链路的几个时隙,例如到相邻节点k的链路具有m个时隙i1,i2,…,im时,出现一个问题。如果由于干扰的缘故,一个或多个,但是不是全部所述时隙被确定为质量低劣,那么可启动时隙的重新调度。只有给该相邻节点的至少一个时隙仍然质量较高,那么所述节点仍然是被连接的近邻,路由表中不需要任何改变。从而,不需要使OLSR对此作出反应。在重新调度期间,链路确实遭到一些容量的损失(这可能关系重大),但是不存在OLSR应进行的任何事情。如果所有时隙质量都低,那么必须允许OLSR作出反应,并通过其它链路重新发送数据。以分配给到节点k的每个时隙的最大质量的形式,定义了该链路的下述链路质量量度N_qualityLk=maxAll_TS_for_Lk(N_qualityiLk)---(54)]]>从而每次到节点k的链路的质量量度N_qualityLk变化时,可把该质量量度报告给OLSR。该质量量度将替换OLSR一般根据接收的HELLO分组计算的质量量度。它将替换标准的OLSR质量量度,但是随后它将由OLSR按照完全相同的方式使用。如同在OLSR中通常进行的那样,可对其应用滞后函数,以降低OLSR观察到的“链路摇摆”。如果链路质量变得过差,那么该链路将被宣告“停止”,OLSR将在其HELLO和TC更新分组中自动发送新的状态信息,并重新计算路线。
更具体地说,控制器18(图2)最好包括发现路线,并利用路由协议,例如OLSR把通信路由到相邻节点的通信路由器18i。时隙调度单元18a/18b调度时隙,以便与每个相邻移动节点建立通信链路,天线对准单元18c使定向天线在与每个相邻移动节点相关的通信期间对准所述每个相邻移动节点。这里,提供链路质量估计器18h,以便根据为通信链路安排的每个时隙的质量,估计链路质量,并把估计的链路质量报告给通信路由器18i。
如上所述,估计的链路质量可被定义为通信链路调度的每个时隙的最大质量,路由器18i可根据估计的链路质量,把通信传送给相邻的节点。只要用于该链路的至少一个时隙的最大质量高于预定阈值,那么最好保持该通信链路,当该链路的估计链路质量低于预定阈值时,路由器18i开始新的路线发现。路由器18i可对从链路质量估计器报告的估计链路质量使用滞后函数。
现在参见图29,说明本发明的方法的一般步骤。该方法开始于方框290,根据上面讨论的过程,分别在方框291和292,调度时隙并对准天线。在方框293,估计链路质量,并如方框294中所示,向通信路由器18i或者OLSR报告链路质量,之后在方框295结束该方法。
从而本发明为相控阵网络提供一种完全分布的链路调度算法和协议。应注意所述算法/协议细节的上述描述设想了每个节点单个定向波束的情况,在用于该访问的分配时隙内,它被时发并且指向相邻的节点。但是,该方法可被用于每个节点任意数目的指向波束的情况。
权利要求
1.一种无线通信网络,包括多个移动节点,所述每个移动节点包括收发器,与所述收发器相连的定向天线,和与所述收发器相连的控制器,所述控制器包括发现路由并利用路由协议把通信路由到相邻节点的通信路由器,调度时隙以便与每个相邻移动节点建立通信链路的时隙调度单元,在与每个相邻移动节点通信期间,使所述定向天线对准每个相邻移动节点的天线对准单元,和根据为通信链路调度的每个时隙的质量来估计链路质量,并向通信路由器报告估计的链路质量的链路质量估计器。
2.按照权利要求1所述的无线通信网络,其中估计的链路质量被定义成为通信链路调度的每个时隙的最大质量。
3.按照权利要求2所述的无线通信网络,其中路由器根据估计的链路质量,把通信路由到相邻节点。
4.按照权利要求3所述的无线通信网络,其中只要链路的至少一个时隙的最大质量高于预定阈值,那么路由器就保持该通信链路。
5.按照权利要求4所述的无线通信网络,其中当链路的估计链路质量低于预定阈值时,路由器开始新的路由发现。
6.一种为多个移动节点建立通信链路的方法,所述每个移动节点包括收发器,与所述收发器相连的定向天线,和与所述收发器相连的控制器,所述方法包括对每个移动节点调度时隙,以便与每个相邻的移动节点建立通信链路;在与每个相邻移动节点通信期间,使定向天线对准每个相邻移动节点;根据为通信链路调度的每个时隙的质量,估计链路质量;和向优化链路状态路由(OLSR)协议报告估计的链路质量。
7.按照权利要求6所述的方法,其中估计的链路质量被定义成为通信链路调度的每个时隙的最大质量。
8.按照权利要求7所述的方法,其中OLSR根据估计的链路质量,把通信路由到相邻节点。
9.按照权利要求8所述的方法,其中只要链路的至少一个时隙的最大质量高于预定阈值,那么OLSR就保持该通信链路。
10.按照权利要求9所述的方法,其中当链路的估计链路质量低于预定阈值时,OLSR开始新的路由发现。
全文摘要
无线通信网络(10)包括多个移动节点(12a-h),所述每个移动节点包括一个收发器(14),与所述收发器相连的一个相控阵天线(16),和与所述收发器相连的一个控制器(18)。控制器(18)发现路由,并利用路由协议,例如优化链路状态路由(OLSR)协议,把通信路由到相邻节点(12a-h)。控制器(18)调度时隙以便与每个相邻移动节点(12)建立通信链路(18e),在与每个相邻移动节点(12)通信期间,控制器(18)使相控阵天线(16)对准(18c)每个相邻移动节点(12)。另外,控制器根据为通信链路调度的每个时隙的质量,估计链路质量(18h),并向路由协议报告估计的链路质量(18i)。
文档编号H04B7/26GK1788509SQ200480012700
公开日2006年6月14日 申请日期2004年3月22日 优先权日2003年3月27日
发明者约瑟夫·B.·凯恩 申请人:哈里公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1