减少网状网络中的延时的制作方法

文档序号:14036462阅读:248来源:国知局
减少网状网络中的延时的制作方法

本文中的实施例涉及无线通信网络中的中继节点中用于处理源节点与目的地节点之间的消息中继的方法。



背景技术:

在过去十年,向无线通信设备提供通信服务的无线通信系统已经得到了发展,能够满足日益增长的对与高速数据传输相关的能力的需求,而且还能在任何指定时间及任何地理位置提供这些能力。为了在任何时间及地点提供服务,无线网络通常包括对一个或多个无线电小区加以维护的一个或多个网络节点(例如无线电基站),而且,无线通信设备经由这些网络节点进行通信。

不过,在某些情况下,无线网络会遇到范围受限和通信不可靠的问题,使得数据有时在接收器端受到损坏。作为缓解这种范围限制的手段,已经开发出了所谓的网状网络,在这些网状网络中,中间中继节点将数据从源节点中继到目的地节点,并由此扩大了网状网络中节点的范围。换言之,在网状网络中,无线通信设备可以作为中继节点来操作,并且彼此之间直接进行通信,无需无线电基站的参与。

网状网络的连接性描述的是网络节点可以到达网状网络中的另一个节点的比率。在完全连接的网状网络的情形下,所有节点都能够到达所有其他节点。通常,例如在涉及传感器或仪表的机器类型通信(mtc)中,网状网络中的通信是针对作为接收传感器或计量数据的服务器的单个接收方而执行的。因此,在这样的网状网络中,节点在应用层上唯一的相关连接是与接收其数据的服务器进行的。在这种情况下,如果所有节点都可以与服务器通信,则网络将实现完全连接。对于这样的网状网络来说,借助周期性信令来维持路径的主动路由技术是非常适合的,这是因为对于所有节点而言只需要维护一个路由。因此,如果一个节点能够找到连接到服务器的另一个节点,那么它自己可以通过该节点连接到服务器。或者,对于更多随意选择的目的地节点而言,被动网络可能更合适。在这种情况下,路径在通信需要出现时建立,并且链路在通信停止后的某个时间消失。

网状网络中的路径建立在本领域中是众所周知的。例如,在电气和电子工程师协会(ieee)的标准802.11tm-2012中,源节点广播路径请求preq,以建立从其自身到目的地节点的路由。所有正确接收preq的节点对其进行中继,直到它到达目的地节点。在接收到preq时,目的地节点利用单播路径响应prep来应答它最近的中继节点。然后沿着中继节点转发prep,直到它到达源节点并建立了路径。源节点然后将数据发送到限定路径的中继节点列表中的第一节点。数据消息的头部通常包含四个地址字段:代表路径中的端点的源地址和目的地地址,以及代表路径中两个节点之间的当前链路的端点的发送机地址和接收机地址。

不管网状网络是被动的还是主动的,在网状网络内的源节点和目的地节点之间都会建立路径。为了使消息从源节点转发到目的地节点,消息只需包含有关其最终目的地的信息。根据该信息,节点能够查找后续的节点,即,哪个节点将消息中继以使其最终到达目的地。

通常建立网状网络中的路径,以使路径度量(例如,空中传播时间链路度量atlm)最小化,以建立最佳路径。这样的度量通常考虑稀疏无线电资源的使用,而不是每个节点转发消息所需的处理时间,或者在最坏的情况下要求重新发送消息的处理时间。这样的度量也不考虑非常不稳定的无线通信的动态性,动态性使得仅仅是环境中的微小变化都可能导致信道特性的巨大差异。就某个度量而言一度成为最佳路径的路径在另一时间可能并不是最佳的。例如,在一个时间点不能接收消息的中继节点可能能够在另一时间点接收消息,其原因在于:从各个节点可以在网状网络内移动这一意义上来说,网络网络可以是动态的。出于某种原因落在其网状网络之外的节点被分离,因此无法通信。换句话说,现有技术的消息中继通常带有不必要的高延时。



技术实现要素:

鉴于上述,本公开的目的是克服或至少减轻与网状网络中的现有技术消息中继相关的至少一些缺点。

这在一个方面通过一种网状网络中的中继节点中的用于处理源节点与目的地节点之间的消息中继的方法来实现。所述网状网络包括多个其他节点。所述方法包括接收包括头部的消息。所述头部包括所述目的地节点的地址和表示包括所述中继节点和至少一个其它节点的节点子集的地址。启动定时器启动,在定时器正在运行时,确定节点子集中的任何其他节点是否发送了消息。如果确定节点子集中的其他节点都没有发送该消息,则改变该消息的消息头部的至少一部分并且发送该消息。

换句话说,已经从源节点发送并旨在由目的地节点接收的消息由中继节点接收,并且也由多个其他节点(即,节点子集)接收。通过使用定时器可以获得最小化的延时,使得仅在节点子集中没有其他节点已经中继了该消息时才由中继节点中继该消息。

定时器限定了等待时间,其长度可能与节点子集中其他节点的等待时间不同。通过以更短的等待时间给予中继节点优先权,本公开使得对于给定的信道条件在网状网络中的消息延时最小化。

在一些实施例中,确定节点子集中的任何其他节点是否发送了消息可以包括确定节点子集中的任何其他节点是否发送了具有改变的头部的消息。在这些实施例中的一些中,头部可以包括发送节点的地址。在这样的实施例中,确定节点子集中的任何其他节点是否发送了具有改变的头部的消息可以包括确定发送节点的地址是否被改变。

在一些实施例中,头部可以包括发送节点的地址。在这样的实施例中,改变消息头部的至少一部分可以包括将头部中的发送节点的地址改变为中继节点本身的地址。

在一些实施例中,在接收消息之前,例如在prep消息中接收表示定时器值的信息。

在一些实施例中,在接收消息之前,例如在prep消息中接收表示代表节点子集的地址的信息。

另一方面,提供了一种用于网状网络中的中继节点,用于处理源节点和目的地节点之间的消息中继。所述网状网络包括多个其他节点。所述中继节点包括射频控制电路、处理器和存储器。存储器包含处理器可执行的指令,由此中继节点可操作以接收包括头部的消息。所述头部包括所述目的地节点的地址和表示包括所述中继节点和至少一个其它节点的节点子集的地址。所述中继节点可操作以启动定时器,并在定时器正在运行时确定节点子集中的任何其他节点是否发送了消息。所述中继节点可操作以使得如果确定节点子集中的其他节点都没有发送该消息,则改变该消息的消息头部的至少一部分并且发送该消息。

在另一方面中,提供了一种包括指令的计算机程序,所述指令在网络节点中的至少一个处理器上执行时使网络节点执行根据上面总结的方面的方法。

在另一个方案中,提供了一种包括根据上述总结方案所述的计算机程序的载体,其中载体是电信号、光信号、无线电信号和计算机可读存储介质中的一种。

这些其它方面提供了与上面总结的方法方案相同的效果和优点。

附图说明

图1a和图1b示意性地示出了网状网络中的节点,

图2是中继节点中的方法的流程图,

图3示意性地示出了消息,

图4是信号图,

图5示意性地示出了中继节点的框图,以及

图6示意性地示出了中继节点的框图。

具体实施方式

图1a示出了包括多个节点的网状网络100。源节点102、目的地节点104和多个节点,其中的一些节点用附图标记106、121、123、125表示。如本领域技术人员将理解的,所有节点可以是一种类型或不同类型的无线通信设备,并且节点可以被配置为进行操作(例如根据诸如ieee802mesh的标准彼此通信),并且还操作以实现将在下文中描述的实施例。ieee802.11mesh中的路径建立本质上基于两个参数:路径选择方法和路径度量,其中强制参数是混合无线网格协议hwmp、路径选择方法和atlm路径度量。

如以下将更详细地举例说明的,源节点102和目的地节点104之间的消息中继可以涉及网状网络100中的多个节点。然而,需要注意的是,这样的中继在一些情况下可能涉及节点的一个子集,而在其他情况下可能涉及节点的另一个子集。涉及中继的节点的实际子集或多个子集取决于在源102和目的地104之间已经建立的路径。具有节点的一个或多个子集或簇的这种路径的建立不在本公开的范围内。尽管如此,为了说明可以使用不同的节点子集或节点簇来实现消息的中继,图1a示出了节点的子集,包括节点121、123和125的节点子集120,并且图1b示出了包括节点131、133和135的节点子集130。例如,图1a和图1b中所示的情况可以对应于变化的信道特性已经导致不同的节点子集的相应路径建立的相应无线电环境。

现在转向图2至图4,并且继续参考图1a,将根据多个动作来描述网状网络100中的中继节点中用于处理源节点102与目的地节点之间的消息中继的方法的实施例。如下面将结合中继节点和计算机程序的实施例所示,图2中的方法的动作可以通过由中继节点中的处理器执行的软件来实现。

为了描述本实施例,被表示为“中继节点”的节点可以是节点121、123和125中的任一个。然而,如上所述,应当记住,“中继节点”将被解释为网状网络100中的任何节点可以采取的功能角色,这取决于在执行图2至图4的消息中继方法之前建立源节点和目的地节点之间的路径的方式。

如图2所示,由中继节点121、123、125执行的方法可以包括可选动作201,其中中继节点121、123、125在涉及消息中继处理的动作之前接收信息。以下将更详细地描述动作201。

动作202

中继节点121、123、125接收消息300,消息300包括头部302,头部302包括目的地节点104的地址304和表示包括中继节点121、123、125和至少一个其它节点的节点子集120的地址306。头部还可以包括发送节点的地址,这将在下面更详细地讨论。

如图3所示,消息300还可以包括任何大小的数据字段310。数据字段310在一些示例中可以具有零或接近于零的大小,诸如在消息300是确认ack或否定确认nack消息的情况下。

动作204

中继节点121、123、125启动定时器。定时器的值对于中继节点是已知的,并且如下面将例示的,可以在动作202之前通过接收包含定时器值的信息来获得定时器值。

动作206和动作208

在定时器正在运行时,中继节点121、123、125确定节点子集120中的任何其他节点是否发送了消息300。换句话说,定时器限定了中继节点121、123、125监听传输(即,接收并分析由网状网络100中的其他节点发送的消息)并确定消息300是否被发送的等待时间。

在一些实施例中,确定节点子集120中的任何其他节点是否发送了消息300可以包括确定节点子集120中的任何其他节点是否发送了具有改变的头部302的消息。例如,改变的头部302可以是发送节点的改变的地址308。换言之,中继节点121、123、125可以在定时器运行时接收消息,并且通过关于在动作202中接收的消息300的头部分析它,中继节点121、123、125可以确定在等待时间期间接收的消息是否是已经由发送节点改变的消息300。

动作210

如果在动作206和208的执行中确定节点子集120中的其他节点都没有发送消息300,则中继节点121、123、125改变消息300的消息头部302的至少一部分。

在一些实施例中,在接收到的消息300的头部包括发送节点的地址308的情况下,改变消息头部的至少一部分的动作210可以包括将头部302中的发送节点的地址308改变为中继节点121、123、125本身的地址。

动作212

在接收到的消息300的头部中进行了改变之后,中继节点121、123、125发送消息300。消息300的传输

动作207

如果在动作206和208的执行中确定节点子集120中的其他节点中的一个节点发送了该消息,则中继节点121、123、125可以可选地丢弃该消息300,由此该方法结束。

如上所述,动作201在一些实施例中可以在上述动作202-212之前。在这样的实施例中,动作201可以包括接收表示定时器值的信息。动作201还可以或备选地包括接收表示代表节点子集120的地址306的信息。如上所述,该地址306可以被认为是节点簇的地址,即,节点子集120可以被认为是节点簇。

在这些实施例中的一些中,表示定时器值的任何信息和表示节点子集120的信息的接收可以通过路径响应prep消息中的接收来实现。如本领域技术人员将认识到的,在本公开中讨论的消息处理之前,在源节点102与目的地节点104之间的路径的建立期间接收prep消息。

图4以信令图示出作为上述动作的结果,消息300(在图4中由对角箭头示出)可如何从源节点102中继到目的地节点104。在时刻t0,源节点102发送具有接收机地址306的消息300,该接收机地址306表示包括节点121、123、125的节点子集120。在图4中,角度是节点125起到实际中继消息300的“中继节点”的作用,并且节点121和123充当节点子集120中的其他节点。

如图4所示,消息在时刻t1由节点121,在时刻t2由节点123以及在时刻t3由中继节点125依次接收。消息300以上述方式由节点121、123和125中的每一个处理,并且处理在相应的节点121、123、125分别在时刻t1、t2和t3开始。

如上所述,中继节点125中的定时器使用的等待时间具有与网状网络100中的其他节点中的定时器所使用的等待时间不同的长度。具体地,关于图4所示的情况,节点121中使用的等待时间和节点123中使用的等待时间都与中继节点125中使用的等待时间不同。更具体地,如图4所示,节点121中使用的等待时间是wt121,节点123中使用的等待时间是wt123,节点125中使用的等待时间是wt125。wt121、wt123和wt125之间的关系是这样的,即wt121>wt123>wt125。换句话说,wt125是已经接收到消息300的节点121、123、125中最短的等待时间。

如上所述,相应节点中的等待时间可以与从节点到目的地节点的相应空间距离相关联。而且,相应节点中的等待时间可以与相应节点中的相应处理延迟以及与相应节点相关联的链路延时相关联。相应节点121、123、125中的等待时间还可以部分地取决于消息300的传播延迟,即从发送节点到相应节点121、123、125的消息的行进时间。在图4中,来自源节点102的消息的传播延迟对于相应节点121、123、125是t1-t0、t2-t0、t3-t0。然而,等待时间的长度(因而定时器)的实际确定在本公开的范围之外。

在时刻t4,中继节点125中的定时器在等待时间wt125之后到期,并且如上所述,中继节点125然后发送具有改变的头部的消息300。消息已经被改变的事实表示为消息的参考数字是300’。在时刻t7,节点123中的定时器在等待时间wt123之后到期,并且在时刻t8,节点121中的定时器在等待时间wt121之后到期。如图4所示,时刻t4远早于时刻t7和t8,因此中继节点125在时刻t4发送消息300′。

图4还从节点121和123的角度示出了本公开的方法的效果。节点123在接收到消息300时使用等待时间wt123在时刻t2启动定时器。在时刻t5,当定时器正在运行时,节点123确定消息由中继节点125发送,并且作为该确定的结果,禁止发送该消息。如上所述,确定由中继节点125发送消息是通过节点123监听传输并接收由中继节点125发送的消息300’(例如,具有改变的头部)来实现的。

类似地,从节点121的角度来看,节点121在接收到消息300时使用等待时间wt121在时刻t1启动定时器。在时刻t6,当定时器正在运行时,节点121确定消息由中继节点125发送,并且作为该确定的结果,禁止发送该消息。如上所述,确定由中继节点125发送消息是通过节点121监听传输并接收由中继节点125发送的消息300’(例如,具有改变的头部)来实现的。

尽管在图4中未示出,但是在消息300是ack或nack的情况下,源/目的地的术语互换,但是ack/nack消息的处理将遵循如上所述的过程。

上面描述的实施例说明,遥远的消息将使用它们的全面覆盖,而不是那么远的消息仍将被转发,因此避免了耗时的重新传输。例如,中继节点的等待时间可以是这样的,即如果比节点子集120中的另一个节点在空间上更靠近目的地节点104,则该中继节点比该另一个节点的等待时间更短。相反,如果中继节点与节点子集120中的另一节点在空间上距离目的地节点104更远,则该中继节点的等待时间可以比该另一个节点的等待时间长。因此,当中继节点和节点子集120中的节点的等待时间如上所述相关时,在接收到消息300的所有节点中,空间上最靠近目的地节点104的节点将首先开始发送消息300’。节点子集120中同样接收到消息300但其定时器在消息300’被另一节点发送之前未到期的其他节点可以取消它们自己的传输,并且例如丢弃接收到的消息300。

在其他示例中,等待时间可以与固有节点延迟(诸如处理延迟和与节点到节点链路相关联的延迟)相关联,而不是与距目的地的距离有关系。

然而,不管在等待时间中存在哪个关联或关系,应该指出的是,与在中继节点中处理消息300所需的任何处理时间相比,等待时间是短的,这意味着与消息300从源节点102到目的地节点104的中继相关联的整体延时仅轻微地受到等待时间的影响。

现在转到图5,将更详细地描述中继节点500。例如,中继节点500可以是以上结合图1至图4讨论的节点121、123、125中的任一个。中继节点500用于诸如网状网络100之类的网状网络中,以处理源节点(例如节点102)和目的地节点(例如节点104)之间的消息中继,其中网状网络包括多个其他节点。中继节点600包括射频控制电路506、处理器502和存储器504。存储器504包含处理器502可执行的指令,从而中继节点500可操作以:

-接收消息,例如消息300,包括头部302,头部302包括目的地节点的地址304和表示包括中继节点和至少一个其它节点的节点子集120的地址306,

-启动定时器,

-在所述定时器定时运行时确定所述节点子集中的任何其他节点是否发送了所述消息,并且如果确定所述节点子集中的其他节点都没有发送所述消息,则:

-改变所述消息的消息头部的至少一部分,以及

-发送所述消息。

由处理器502可执行的指令可以是计算机程序541形式的软件。计算机程序541可以包含在载体542中或由载体542包含,其可以将计算机程序541提供给存储器504和处理器502。载体542可以具有包括电信号、光信号、无线电信号或计算机可读存储介质的任意合适的形式。

在一些实施例中,中继节点500可操作以使得确定节点子集中的任何其他节点是否发送了消息包括:

-确定节点子集中的任何其他节点是否发送了具有改变的头部的消息。

在一些实施例中,中继节点500可操作以使得头部包括发送节点的地址308并且可操作以使得确定节点子集中的任何其他节点是否发送了具有改变的头部的消息包括:

-确定发送节点的地址是否被改变。

在一些实施例中,中继节点500可操作以使得头部包括发送节点的地址308并且可操作以使得改变消息头部的至少一部分包括:

-将头部中的发送节点的地址改变为中继节点本身的地址。

在一些实施例中,中继节点500可操作以:

-在接收消息之前,接收表示定时器值的信息。

在一些实施例中,中继节点500可操作以:

-在接收消息之前,接收表示代表节点子集的地址的信息。

在一些实施例中,中继节点500可操作以:

-接收以下中的任何一个:

-表示定时器值的信息,以及

-路径响应prep消息中表示代表节点子集的地址的信息。

现在转到图6,将更详细地描述中继节点600。例如,中继节点600可以是以上结合图1至图4讨论的节点121、123、125中的任一个。中继节点600用于诸如网状网络100之类的网状网络中,以处理源节点(例如节点102)和目的地节点(例如节点104)之间的消息中继,其中网状网络包括多个其他节点。中继节点600包括:

-接收模块602,被配置为接收消息,例如消息300,该消息300包括头部302,头部302包括目的地节点的地址304和表示包括中继节点和至少一个其它节点的节点子集120的地址306,

-启动定时器模块604,被配置为启动定时器,

-确定模块606,被配置为在所述定时器定时运行时确定所述节点子集中的任何其他节点是否发送了所述消息,并且如果确定所述节点子集中的其他节点都没有发送所述消息,则:

-改变模块608,被配置为改变所述消息的消息头部的至少一部分,以及

-发送模块610,被配置为发送消息。

中继节点600可以包括附加模块,其被配置为以与例如上面结合图5所描述的中继节点500类似的方式执行。

如本文所使用的,术语“处理模块”可以指处理电路、处理单元、处理器、专用集成电路asic、现场可编程门阵列fpga等。作为示例,处理器、asic、fpga等可以包括一个或多个处理器内核。在一些示例中,处理模块可以由软件模块或硬件模块来体现。任何这样的模块可以是如本文公开的确定装置、估计装置、捕获装置、关联装置、比较装置、标识装置、选择装置、接收装置、发送装置等。作为示例,表述“装置”可以是模块,诸如确定模块、选择模块等。

如本文所使用的,表述“配置为”可以是指处理电路配置为或者适于借助软件配置和/或硬件配置来执行本文描述的一个或多个动作。

如本文所用,术语“存储器”可以指硬盘、磁存储介质、便携式计算机磁盘或光盘、闪存、随机存取存储器、ram等。此外,术语“存储器”可以指处理器的内部寄存器存储器等。

如本文所使用的,术语“计算机可读介质”可以是通用串行总线usb、存储器、dvd光盘、蓝光盘、作为数据流接收的软件模块、闪存、硬盘、如记忆棒之类的存储卡、多媒体卡、mmc等。

如本文所使用的,术语“计算机可读代码单元”可以是计算机程序的文本、表示编译格式的计算机程序的整个二进制文件的一部分或者其间的任何内容。

如本文所使用的,术语“数”、“值”可以是任何类型的数,诸如二进制、实数、虚数或有理数等。而且,“数”、“值”可以是一个或多个字符,诸如字母或字母串。“数”、“值”也可以用位串表示。

如本文所使用的,表述“在一些实施例中”已经用于表明所描述的实施例的特征可以与本文公开的任何其他实施例进行组合。

尽管已经描述了各个方面的实施例,但是本领域技术人员将显而易见其许多不同的变形、修改等。因此,所描述的实施例并非旨在限制本公开的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1