网状网络中的路径建立的制作方法

文档序号:14036465阅读:170来源:国知局
网状网络中的路径建立的制作方法
本文中的实施例涉及在无线通信网络的中继节点中的用于处理源节点与目的地节点之间的路径建立的方法。
背景技术
:在过去十年,向无线通信设备提供通信服务的无线通信系统已经得到了发展,能够满足日益增长的对与高速数据传输相关的能力的需求,而且还能在任何指定时间及任何地理位置提供这些能力。为了在任何时间及地点提供服务,无线网络通常包括对一个或多个无线电小区加以维护的一个或多个网络节点(例如无线电基站),而且,无线通信设备经由这些网络节点进行通信。不过,在某些情况下,无线网络会遇到范围受限和通信不可靠的问题,使得数据有时在接收机端受到损坏。作为缓解这种范围限制的手段,已经开发出了所谓的网状网络,在这些网状网络中,中间中继节点将数据从源节点中继到目的地节点,并由此扩大了网状网络中节点的范围。换言之,在网状网络中,无线通信设备可以作为中继节点来操作,并且彼此之间直接进行通信,无需无线电基站的参与。网状网络的连接性描述的是网络节点可以到达网状网络中的另一个节点的比率。在完全连接的网状网络的情形下,所有节点都能够到达所有其他节点。通常,例如在涉及传感器或仪表的机器类型通信(mtc)中,网状网络中的通信是针对作为接收传感器或计量数据的服务器的单个接收方而执行的。因此,在这样的网状网络中,节点在应用层上唯一的相关连接是与接收其数据的服务器进行的。在这种情况下,如果所有节点都可以与服务器通信,则网络将实现完全连接。对于这样的网状网络来说,借助周期性信令来维持路径的主动路由技术是非常适合的,这是因为对于所有节点而言只需要维护一个路由。因此,如果一个节点能够找到连接到服务器的另一个节点,那么它自己可以通过该节点连接到服务器。或者,对于更多随意选择的目的地节点而言,被动网络可能更合适。在这种情况下,路径在通信需要出现时建立,并且链路在通信停止后的某个时间消失。网状网络中的路径建立在本领域中是众所周知的。例如,在电气与电子工程师协会(ieee)的标准802.11tm-2012中,源节点广播路径请求preq消息(或者简称为preq),以建立从其自身到目的地节点的路由。preq大体上包含源节点、发送机节点和目的地节点的地址,以及表示直到当前节点为止的路径的成本的路径度量。所有正确接收preq的节点对其进行中继,直到它到达目的地节点。对于路径中的每个节点而言,路径度量随着最近链路的链接成本而递增。例如,在ieee802.11mesh中,最常用的路径度量是空中传播时间链路度量atlm,这种度量表示了模型消息从源节点s中继到目的地节点d所需的发送时间。一个节点可能针对同一个s和d对接收多个preq,在这种情况下,它选择具有最低度量的preq,链路的度量已经添加到节点自身,因此表示直到当前节点的传输的最低成本。之后,节点通过转播的方式转发preq。如果节点已经转发了一个preq,然后再接收到了另一个preq,那么,它只会在度量低于前一个度量时转发preq。在接收到preq时,目的地节点利用单播路径响应prep消息(或者简称为prep)来应答它最近的中继节点。然后沿着中继节点转发prep,直到它到达源节点并建立了路径。源节点然后将消息中的数据发送到中继节点列表中的第一节点。网状(mesh)消息头的地址部分由四个地址字段组成,分别是源节点的地址、发送机节点的地址、接收机节点的地址以及目的地节点的地址。在消息来源于网状网络或者被指定到网状网络外部的情况下,可以对其进行进一步的扩展。不管网状网络是被动的还是主动的,在网状网络内的源节点与目的地节点之间都会建立路径。为了使消息从源节点发送到目的地节点,中间节点只需要知晓最终的接收方。根据该信息,节点能够查找后续的节点,即,哪个节点对消息进行中继以使其最终到达目的地。通常建立网状网络中的路径,以使路径度量(例如,空中传播时间链路度量atlm)最小化,进而建立最佳路径。这样的度量通常考虑稀疏无线电资源的使用,而不是每个节点转发消息所需的处理时间,或者在最坏情况下要求重新发送消息的处理时间。这样的度量也不会考虑极其不稳定的无线通信的动态性,动态性使得仅仅是环境中的微小变化都可能导致信道特性的巨大差异。就某个度量而言一度成为最佳路径的路径在另一时间可能并不是最佳的。例如,在一个时间点不能接收消息的中继节点可能能够在另一时间点接收消息,其原因在于:从各个节点可以在网状网络内移动这一意义上来说,网状网络可以是动态的。出于某种原因而落在其网状网络之外的节点被分离,因此无法进行通信。因此,需要对网状网络中不同链路的动态性加以考虑,从而能够将从源节点到目的地节点的消息发送的延时最小化。技术实现要素:鉴于以上所述,本公开的目的是克服或者至少缓解与现有技术的网状网络中路径建立有关的至少一些缺点。在一个方面,这是通过一种在网状网络的中继节点中的用于建立源节点与目的地节点之间的中继节点的路径的方法来实现的。该方法包括接收多个广播的路径请求preq消息。对接收到的preq消息进行处理,并且该处理包括维护中继节点中的簇表。簇表包括定义簇的信息,并且簇标识簇接收机节点的列表和簇发送机节点,该簇接收机节点的列表描述了从簇发送机节点经由簇接收机节点到达中继节点的路径。然后接收并处理prep消息。接收到的prep消息的处理包括分析接收到的prep消息,并且基于分析的结果,在接收到的prep消息的基础上创建修改的prep消息。然后发送修改的prep消息。也就是说,通过在preq阶段期间维护这样的簇表并且在prep阶段利用该簇表,该方法所实现的效果在于:建立潜在中继节点的簇(即网状网络中节点的子集),以建立从源节点到目的地节点的路径。在随后的从源节点到目的地节点的消息中继中,所实现的优点在于:允许多个节点(即一个或多个簇中的簇接收机节点)接收消息,这样做将会减少延时。此外,可以避免例如以下缺陷:由于衰减而使一个链路断开,而这又将会导致来自同一发送机节点的重新发送,其结果是根本没有转发消息。实施例包括这样的实施例:中继节点中的簇表的维护包括用在接收到的preq消息中标识的中继节点来替换簇接收机节点中的至少一个。在一些实施例中,中继节点中的簇表的维护包括用在接收到的preq消息中标识的发送机节点替换簇发送机节点。实施例包括这样的实施例:接收多个preq消息包括从相应节点接收相应preq消息和从一个节点接收至少两个preq消息中的任何一种。关于接收到的prep消息,其可以包括标识至少一个簇的信息,该簇标识簇接收机节点的列表和簇发送机节点、由中继节点在随后的消息中继中使用的簇接收机地址以及由中继节点在随后的消息中继中使用的定时器值。在一些实施例中,创建修改的prep消息包括将与中继节点相关联的定时器值添加到在接收到的prep消息中标识的至少一个簇的每个相应定时器值。与中继节点相关联的定时器值可以是中继节点已知的预定链路延时值和中继节点的处理延迟中的任何一种。实施例包括这样的实施例:分析prep消息包括确定接收到的prep消息中的簇的簇发送机节点是否等于中继节点自身,并且如果接收到的prep消息中的簇的簇发送机节点等于中继节点自身,则创建修改的prep消息包括删除接收到的prep消息中的信息,该信息对具有等于中继节点自身的簇发送机节点的簇进行定义。实施例包括这样的实施例:分析prep消息包括确定接收到的prep消息中的簇的簇接收机节点是否等于中继节点自身,并且如果接收到的prep消息中的簇的簇接收机节点等于中继节点自身,则创建修改的prep消息包括删除接收到的prep消息中的信息,该信息将中继节点定义为其中标识了中继节点的簇的一部分。在一些实施例中,分析prep消息包括确定中继节点中的簇表中的簇发送机节点是否等于在接收到的prep消息中标识的簇发送机节点,并且如果中继节点中的簇表中的簇发送机节点不等于在接收到的prep消息中标识的簇发送机节点,则创建修改的prep消息并发送修改的prep消息。在一些实施例中,创建修改的prep消息包括:向修改的prep消息提供来自接收到的prep消息的簇信息,向修改的prep消息提供来自中继节点中的簇表的信息,该信息标识了簇发送机节点和簇接收机节点、表示来自中继节点中的簇表的所述信息的簇接收机地址以及与中继节点相关联的定时器值。本公开的另一方面是一种中继节点,其在网状网络中用于建立源节点与目的地节点之间的中继节点的路径。中继节点包括射频控制电路、处理器和存储器。存储器包含处理器可执行的指令,由此中继节点可操作以:-接收多个广播的路径请求preq消息,-处理接收到的preq消息,包括维护中继节点中的簇表,该簇表包括定义簇的信息,所述簇标识簇接收机节点的列表和簇发送机节点,该簇接收机节点的列表描述了从簇发送机节点经由簇接收机节点到达中继节点的路径,-接收prep消息,-处理接收到的prep消息,包括分析接收到的prep消息,-基于分析的结果创建修改的prep消息,所述修改的prep消息基于接收到的prep消息,以及-发送修改的prep消息。在另一方面,提供了一种包括指令的计算机程序,该指令当在网络节点中的至少一个处理器上执行时使得网络节点执行根据上述方面的方法。在另一方面,提供了一种载体,该载体包括根据上述方面的计算机程序,其中载体是电信号、光信号、无线电信号和计算机可读存储介质中的一种。这些其他方面提供了与上述方法相同的效果和优点。附图说明图1a和图1b示意性地示出了网状网络中的节点,图2是中继节点中的方法的流程图,图3是中继节点中的方法的流程图,图4示意性地示出了中继节点的框图,以及图5示意性地示出了中继节点的框图。具体实施方式图1a示出了包括若干节点的网状网络100。源节点102、目的地节点104和多个节点,其中的一些节点用附图标记121、122、123、124、125表示。如本领域技术人员将理解的,所有节点可以是一种类型的或不同类型的无线通信设备,并且节点可以配置为进行操作,例如,根据诸如ieee802.11-2012之类的标准彼此进行通信,并且还操作以实现将在下面进行描述的实施例。正如下面将要详细举例说明的那样,在源节点102与目的地节点104之间建立用于随后的消息中继的路径可能涉及网状网络100中的几个节点。然而,应该注意的是,这样的中继在一些情况下可能涉及节点的一个子集,而在其他情况下可能涉及节点的另一个子集。参与此建立的节点的实际子集或多个子集将取决于网状网络所在的无线电环境。在下文中,将分别参考在图1a中以相应附图标记102、121、122、123、124、125和106示出的节点s、r1、r2、r3、r4、r5和d。换句话说,例如当提及r3时,应该理解的是,提到的是具有附图标记123的节点。图1b示意性地示出了包括已被分组成簇的节点(诸如节点123)的节点子集120。下面将描述创建这样的簇或子集的过程,并通过图2和图3中的流程图对其进行示出。现在转向图2并继续参考图1a,在网状网络100的节点123中用于建立源节点102与目的地节点104之间的路径的方法的实施例将按照若干动作进行描述。如下面将结合中继节点和计算机程序的实施例所示,可以通过中继节点123中的处理器所执行的软件来实现图2中的方法的各动作。为了描述这些实施例,将节点123表示为中继节点123。然而,如上所述,应当记住的是,“中继节点”将被解释为网状网络100中的任何节点根据建立源节点与目的地节点之间的路径的方式而可以采取的功能角色。动作202中继节点123接收多个广播的preq消息。preq消息可能已经由网状网络100中的任何节点(包括源节点102以及节点121、122、124和125中的任何一个节点)通过广播的方式来发送。例如,接收多个preq消息可以包括从相应节点接收相应的preq消息,并且还包括例如从一个节点接收至少两个preq消息。动作204对接收到的preq消息进行处理。该处理包括维护中继节点123中的簇表,该簇表包括定义簇的信息。簇标识簇接收机节点的列表和簇发送机节点,该簇接收机节点的列表描述了从簇发送机节点经由簇接收机节点到达中继节点123的路径。可以维护中继节点123中的簇表,使得对于从簇发送机节点经由簇接收机节点到达中继节点123的路径,累加路径度量被最小化。例如,可以用在接收到的preq消息中标识的中继节点来替换簇表中的簇接收机节点中的至少一个。例如,可以用在接收到的preq消息中标识的发送机节点来替换簇表中的簇发送机节点。动作206在接收并处理了preq消息之后,中继节点123接收prep消息。由于prep消息是单播消息,因此,在此动作206中接收到的prep消息是从网状网络中的另一个节点(例如,节点121、122、124、125中的任何一个节点或目的地节点104)接收的。接收到的prep消息可以包括标识至少一个簇的信息。然后,这样的簇标识簇接收机节点的列表和簇发送机节点、由中继节点123在随后的消息中继中使用的簇接收机地址以及由中继节点123在随后的消息中继中使用的定时器值。动作208对接收到的prep消息进行处理,并且该处理包括分析接收到的prep消息。动作210基于动作208中的分析的结果,创建修改的prep消息,该修改的prep消息基于接收到的prep消息。例如,创建修改的prep消息可以包括将与中继节点123相关联的定时器值添加到在接收到的prep消息中标识的至少一个簇的每个相应定时器值。如上所述,与中继节点123相关联的定时器值可以是中继节点123已知的预定链路延时值和中继节点的处理延迟中的任何一种。例如,分析prep消息可以包括确定接收到的prep消息中的簇的簇发送机节点是否等于中继节点123自身。如果接收到的prep消息中的簇的簇发送机节点等于中继节点123自身,则创建修改的prep消息包括删除接收到的prep消息中的信息,该信息对具有等于中继节点123自身的簇发送机节点的簇进行定义。在一些示例中,分析prep消息可以包括确定接收到的prep消息中的簇的簇接收机节点是否等于中继节点123自身。在这样的示例中,如果接收到的prep消息中的簇的簇接收机节点等于中继节点123自身,则创建修改的prep消息包括删除接收到的prep消息中的信息,该信息将中继节点123定义为其中标识了中继节点123的簇的一部分。在一些示例中,分析prep消息可以包括确定中继节点123中的簇表中的簇发送机节点是否等于在接收到的prep消息中标识的簇发送机节点。在这样的示例中,如果中继节点123中的簇表中的簇发送机节点不等于在接收到的prep消息中标识的簇发送机节点,则创建修改的prep消息,并发送修改的prep消息。在一些示例中,创建修改的prep消息可以包括:向修改的prep消息提供来自接收到的prep消息的簇信息,向修改的prep消息提供来自中继节点123中的簇表的信息,该信息标识了簇发送机节点和簇接收机节点、表示来自中继节点123中的簇表的信息的簇接收机地址以及与中继节点123相关联的定时器值。动作212然后发送修改的prep消息。如上所述,prep消息是单播消息,因此它被发送到网状网络100中的另一个节点,例如,节点121、122、124、125中的任何一个节点或源节点102。现在转到图3,将会描述路径建立方法中涉及的各动作的更详细示例。与以上结合图2所描述的示例相类似,将继续参考图1a。而且,图3中方法的各动作可以通过中继节点123中的处理器所执行的软件来实现。为了描述图3所示的实施例,将节点123表示为中继节点123,或简称为r3。然而,如上所述,应当记住的是,“中继节点”将被解释为网状网络100中的任何节点根据建立源节点与目的地节点之间的路径的方式而可以采取的功能角色。此外,为了使描述变得清楚以及为了示出示例的效果和优点,将会参考由其他节点(诸如节点s、r1、r2、r4、r5和d)在彼此交互时所执行的动作。换句话说,图3中描述和示出的所有动作可以由各单个节点在路径建立期间与其他节点交互时执行。图3中的各动作示出了路径建立过程的实施例,该路径建立过程由preq信令阶段和prep信令阶段组成,其中preq信令阶段由动作306-316(其应被理解为上述动作202和204的实施例)示出,而prep信令阶段由动作318-334(其应被理解为上述动作206至212的实施例)示出。动作302r3接收消息,并确定它是什么类型的消息。动作304根据在动作302中接收到什么类型的消息来作出选择。在接收到的消息是preq消息的情况下,preq阶段以动作306开始,而在接收到的消息是prep消息的情况下,prep阶段以动作318开始。在此示例中,确定了它是在第一时刻从s直接接收到的preq消息。此preq包含以下字段,其中缩写pm代表路径度量。(如技术人员将认识到的,preq消息可以包括此处未示出的其他字段。)来自s的preq:源目的地发送机先前中继pmsds0动作306、308和310r3将从s到r3的链路度量值(在下文中表示为x_s)累加到来自s的preq中的路径度量。在这种情况下,preqpm为零,这是因为s是路径中的第一个链路,这样便导致在r3处的pm等于x_s+0=x_s。由于这是第一个接收到的preq,因此,这个pm也是最小的pm,pm_min。如果接收到的preq不是第一个接收到的preq,则通过动作310中的对preqpm是否好于(即小于)pm_min的检查可以发现,preqpm并没有比pm_min好,然后将该方法的执行返回到动作302并处理其他preq消息。另一方面,如果通过动作310中的检查发现了preqpm好于pm_min,则在动作312至316中继续执行对簇表和preq消息的更新。在第一次执行动作302-310之后,r3将在本地存储具有以下信息的簇表。r3处的簇表:在r3的此簇表中,“源”字段将始终包含经由待建立的路径来发送的消息的原始源。“目的地”字段包含消息的目标最终接收者。这些字段将使得r3能够将不同路径(即,其他源-目的地对)的不同簇彼此分开。然而,本领域技术人员将认识到的是,出于简化描述的目的地,有必要仅示出一个源与一个目的地之间的一个路径建立。“簇发送机”字段将包含迄今为止在r3处观察到的最佳preq的发送机,这将在下面更详细地解释。“簇接收机节点”字段包含从簇发送机节点到r3的所有中间中继。通过继续在后续时刻接收和处理第二个以及其他的preq消息,这些字段的更新将是清楚的。在第二时刻,从r2接收preq(即动作302和304)。来自r2的preq具有相同的源s,因此来自r2的preq包括以下信息。来自r2的preq:源目的地发送机先前中继pmsdr2sx_2在r3中的动作306中,计算从r2到r3的链路度量,表示为x23,并且动作308将该链路度量累加到来自r2的preq中的pm:pm_r2=x_2+x23。现在r3判定(即动作310)哪个路径是优选路径:簇在其当前簇表中描述的路径,或者由来自r2的preq中的发送机和先前中继描述的新路径。这是通过比较新的pm_r2和pm_min来完成的。如果pm_r2<pm_min,则r3中的簇表将在动作312中更新为以下内容。r3处的簇表:动作312、314和316在动作312中更新簇表之后,在动作314和316中更新和发送preq。preq更新包括改变发送机地址并基于簇表中的数据来更新路径度量。之后,更新的preq消息的发送(即广播)在动作316中进行。(注意,如果通过动作310中的检查发现pm_r2>pm_min,则保持旧的簇表并且执行返回到动作302)。在第三时刻,再次重复动作302和304,并且r3从r1接收具有相同源s的preq。假定来自r1的这个preq如下所示。来自r1的preq:源目的地发送机先前中继pmsdr1sx_1此外在这里,r3在动作306中计算从r1到r3的链路度量(表示为x13),并且在动作308中将其累加到来自r1的preq:pm_r1=x_1+x13。r3然后在动作310中将该路径度量与其当前簇表中的pm_min进行比较,并且根据结果,它更新或者不更新其pm_min。如果pm_r1<pm_min,则r3的簇表中的“簇接收机节点”字段在动作312中被更新为r1,而pm_min被更新为pm_r1。如果pm_r1>pm_min,则不需要更新。我们假设是后一种情况,所以r3处的先前簇表不变。在第四时刻,再次重复动作302和304,并且r3接收来自r2的又一个preq,这次preq具有比r2的先前preq更低的pm。假设这个preq如下所示。来自r2的preq:源目的地发送机先前中继pmsdr2r1x_2同样,r3在动作306中计算从r2到r3的链路度量(表示为x23),并且在动作308中将其累加到来自r2的新preq的pm:pm_r2=x_2+x23。如果pm_r2小于pm_min(如在动作310中所检查的那样),则在动作312中将簇字段更新为以下内容。r3中的簇表:因此,由于s是r3已经从其接收的最远节点,所以r3中的簇表中的“簇发送机节点”字段得以保持。而且,“簇接收机节点”字段现在更新为簇发送机节点与r3之间的节点,并且在这种情况下,它是r2和r1。在动作312中更新簇表之后,在动作314和316中更新并发送preq,如上所述。现在考虑节点r4处的情形,并假设r4没有监听到来自s的preq,但它却监听到了来自r1的preq,其内容如上所示。这与由s发送到r4的preq具有高于预设阈值的链路度量的情况相类似。这将意味着接收到的preq是非常不可靠的,因此没有数据应该从s直接发送到r4。现在,由于来自r1的preq将s列为先前中继,但是r4却无法“监听到”来自s的preq,因此,r4不会将s指定为它的簇发送机。相反,它将指定r1作为其簇发送机,并且r4中的簇表中的“簇接收机节点”字段将为空,如下所示。r4处的簇表:因此,如上所述,x14是从r1到r4的链路度量,该度量在r4中执行动作308时被累加到来自r1的preq中的pm。对于到目前为止已经定义(即,由当前簇表中的信息所定义)的路径中的每个节点而言,重复上述过程。需要注意的是,从节点发送的preq可以容易地根据该节点的簇表进行创建。也就是说,preq中的“发送机”字段始终是发送节点的标识,而“先前中继”字段是通过将“簇发送机节点”字段从左侧与“簇接收机节点”字段连接而获得的。左侧连接意味着如果{a}从左侧与{c,d}连接,那么结果便是{a,c,d}。注意,从左侧的正确连接是必要的,这是因为中继出现的顺序对于路径建立来说至关重要。上述更新过程的变化使得在动作310中的比较略微发生了改变,这样,相对于更少的中继节点来促进附加的中继节点。动作310中的比较将看起来像pm_min<pm_r2+δn,其中δ表示每个附加节点所接受的并且在此针对附加的n个节点进行计算的额外度量成本。最后,包括目的地节点d在内的每个节点将具有簇表,该簇表描述了从某个簇发送机节点到该节点(“簇接收机节点”字段)的最佳路径,以及该路径的成本(由pm_min字段给出)。某个节点处的簇表表示从簇发送机节点或任何中继发送的消息可以在该节点处被可靠地接收(此外,它是从簇发送机节点到该节点的最有效路径)。另外,这也意味着任何中继可以正确地接收从簇发送机节点发送的消息。举例来说,以上r3处的最终簇表表示r3可以正确地接收来自r1和r2的消息,而r2可以正确地接收来自r1的消息(因为它将r1包括在其preq中)。现在继续进行图3中动作318-334的prep信令阶段。在preq信令阶段结束时,我们假设目的地节点d具有以下簇表。d处的簇表:根据此簇表推断出的是,可以在d处正确地接收从r3、r4或r5发送的消息。此外,还推断出来自r3的消息在r4和r5处被正确地接收。现在,在prep信令阶段开始时,d意图向其簇发送机节点通知这种情形。因此,根据簇表,d构建了仅发往r5的如下prep消息(如本领域技术人员将认识到的,prep可以包含未在此处示出的附加字段)。prep消息包括与d所属的簇有关的信息,即,该簇由d中的簇表中的信息进行定义。除了簇表信息(即簇发送机节点和簇接收机节点)之外,d还添加了定时器信息,该定时器信息可以具有与d中的处理延迟相关的值。但是,在d为簇接收机节点的情况下,定时器应实际上为零,这是因为d永远不会对消息进行中继(其原因在于它是最终目的地)。因此,在这种情况下,不必添加延迟。此外,由于d是在prep消息中附加簇的节点,因此,添加作为簇中所有节点的公共接收机地址的簇接收机地址,如以上结合图2所述。如下面将更详细描述的,当s与d之间的路径已经由该过程建立时,定时器信息将用于随后的消息中继。来自d的prep:动作302和304然后将由d构建的这个prep消息发送到r5,而r5执行动作302和304并确定该消息是prep消息,由此执行动作318。动作318在动作318中,r5读取从d接收的prep的簇中的“簇发送机节点”字段。动作320至324然后在动作320中进行检查,并且如果r5在动作320中发现自身被定义为接收到的prep消息的经处理簇的簇发送机节点,则r5在动作322中移除簇。另一方面,在动作320中,如果r5发现它没有被定义为接收到的prep消息的经处理簇的簇发送机节点,则r5可以通过在动作324中将自身从簇接收机节点字段中移除来修剪簇。动作326针对接收到的prep消息中的所有簇重复此过程,即动作318至324,正如在动作326中检查在接收到的prep消息中是否还有任何簇所示的那样。动作328接下来,r5将接收到的prep消息中的任何簇的簇发送机节点与其自己的簇表的簇发送机进行比较。动作330如果接收到的prep消息的所有簇发送机节点与r5的簇发送机节点不同,则r5将其自己的簇添加到修改的prep消息中,反之则不这样做。因此,修改的prep消息可以包括定义一个或多个簇的信息。此外,类似于由d创建的初始prep消息,对所添加的簇进行标识的簇接收机地址被添加到修改的prep消息。此簇接收机地址是簇中所有节点的公共接收机地址,如以上结合图2所述。动作332然后,r5通过将自己的定时器值添加到每个簇的现有定时器值来更新修改的prep消息中的所有簇中的定时器信息。增加的定时器值可以是对于整个网状网络来说公共的并且对于网状网络中的每个节点来说已知的固定值,或者是基于节点自身的处理延迟的定时器值。例如,定时器值可以是节点中的处理延迟的估计值以及到接收到的prep消息中的特定簇中的最接近节点的传播延迟的估计值。动作334最后,r5将修改的prep转发到路径中的下一个节点r4,并且对该路径上的每个节点重复此过程。一旦节点接收到prep消息(如上所述,prep消息可能包含来自其他节点的几个簇),并且发现它是接收到的prep消息中的某个簇的簇发送机节点,它将在创建修改的prep消息时移除该特定簇。此外,来自该节点的消息被发往由将簇添加到prep的节点所定义的簇接收机地址。最后,s将接收附加的(即修改的)prep消息,并且实施与上述相同的过程。因此,s将以其自己的簇接收机地址结束,这表明从s到d的所有将来消息都应该被分配该簇接收机地址作为接收机地址,而没有其他地址。这意味着属于某个簇的所有节点将处理从s发往对应的簇接收机地址的消息,并且应用单独的定时机制来将此消息中继到路径上的其他节点。因此,这种簇接收机地址方法与其中从s到d的消息总是发往路径中的单个后续中继节点的传统网状通信不同。回到图1b,簇接收机地址是簇或子集120中的所有节点将监听并因此接收后续消息的地址。应该注意的是,与定时器在将来的消息中继中的应用(即用途)相关的细节不在本公开的范围内。现在转到图4,将更加详细地描述中继节点400。例如,中继节点400可以是以上结合图1至图3讨论的节点121、122、123、124、125中的任何一个节点。中继节点400用于在网状网络100中建立源节点102与目的地节点104之间的中继节点的路径。中继节点400包括射频控制电路406、处理器402和存储器404。存储器404包含可由处理器402执行的指令,由此中继节点400可操作以:-接收多个广播的路径请求preq消息,-处理接收到的preq消息,包括维护中继节点中的簇表,该簇表包括定义簇的信息,所述簇标识簇接收机节点的列表和簇发送机节点,该簇接收机节点的列表描述了从簇发送机节点经由簇接收机节点到达中继节点的路径,-接收prep消息,-处理接收到的prep消息,包括分析接收到的prep消息,-基于分析的结果创建修改的prep消息,所述修改的prep消息基于接收到的prep消息,以及-发送修改的prep消息。处理器402可执行的指令可以是形式为计算机程序441的软件。计算机程序441可以包含在载体442中或由其包含,该载体可以将计算机程序441提供给存储器404和处理器402。载体442可以具有包括电信号、光信号、无线电信号或计算机可读存储介质在内的任何合适形式。在一些实施例中,中继节点可操作以:-维护中继节点中的簇表,使得对于从簇发送机节点经由簇接收机节点到达中继节点的路径,累加路径度量被最小化。在一些实施例中,中继节点可操作以通过以下方式维护中继节点中的簇表:-用在接收到的preq消息中标识的中继节点来替换簇接收机节点中的至少一个。在一些实施例中,中继节点可操作以通过以下方式维护中继节点中的簇表:-用在接收到的preq消息中标识的发送机节点来替换簇发送机节点。在一些实施例中,中继节点可操作以使得接收多个preq消息包括以下中的任何一种:-从相应的节点接收相应的preq消息,以及-从一个节点接收至少两个preq消息。在一些实施例中,中继节点可操作以使得接收到的prep消息包括标识至少一个簇的信息,所述簇标识:-簇接收机节点的列表和簇发送机节点,-由中继节点在随后的消息中继中使用的簇接收机地址,以及-由中继节点在随后的消息中继中使用的定时器值。在一些实施例中,中继节点可操作以使得创建修改的prep消息包括:-将与中继节点相关联的定时器值添加到在接收到的prep消息中标识的至少一个簇的每个相应定时器值。在一些实施例中,中继节点可操作以使得分析prep消息包括:-确定接收到的prep消息中的簇的簇发送机节点是否等于中继节点自身,以及-如果接收到的prep消息中的簇的簇发送机节点等于中继节点自身,则:-创建修改的prep消息包括删除接收到的prep消息中的信息,该信息对具有等于中继节点自身的簇发送机节点的簇进行定义。在一些实施例中,中继节点可操作以使得分析prep消息包括:-确定接收到的prep消息中的簇的簇接收机节点是否等于中继节点自身,以及-如果接收到的prep消息中的簇的簇接收机节点等于中继节点自身,则:-创建修改的prep消息包括删除接收到的prep消息中的信息,该信息将中继节点定义为其中标识了中继节点的簇的一部分。在一些实施例中,中继节点可操作以使得分析prep消息包括:-确定中继节点中的簇表中的簇发送机节点是否等于在接收到的prep消息中标识的簇发送机节点,以及-如果中继节点中的簇表中的簇发送机节点不等于在接收到的prep消息中标识的簇发送机节点,则:-创建修改的prep消息,以及-发送修改的prep消息。在一些实施例中,中继节点可操作以使得创建修改的prep消息包括:-向修改的prep消息提供来自接收到的prep消息的簇信息,-向修改的prep消息提供来自中继节点中的簇表的信息,该信息标识了簇发送机节点和簇接收机节点、表示来自中继节点中的簇表的所述信息的簇接收机地址以及与中继节点相关联的定时器值。在一些实施例中,中继节点可操作以使得与中继节点相关联的定时器值是以下中的任何一种:-中继节点已知的预定链路延时值,以及-中继节点的处理延迟。现在转到图5,将更加详细地描述中继节点500。例如,中继节点500可以是以上结合图1至图3讨论的节点121、122、123、124、125中的任何一个节点。中继节点500用于在网状网络100中建立源节点102与目的地节点104之间的中继节点的路径。中继节点500包括:-接收模块502,配置为接收多个广播的路径请求preq消息,-处理模块504,配置为处理接收到的preq消息,包括维护中继节点中的簇表,该簇表包括定义簇的信息,所述簇标识簇接收机节点的列表和簇发送机节点,该簇接收机节点的列表描述了从簇发送机节点经由簇接收机节点到达中继节点的路径,-接收模块506,配置为接收prep消息,-处理模块508,配置为处理接收到的prep消息,包括分析接收到的prep消息,-创建模块510,配置为基于分析的结果创建修改的prep消息,所述修改的prep消息基于接收到的prep消息,以及-发送模块512,配置为发送修改的prep消息。中继节点500可以包括其他模块,这些模块配置为以与例如以上结合图4描述的中继节点400相类似的方式执行。如本文所使用的,术语“处理模块”可以指处理电路、处理单元、处理器、专用集成电路asic、现场可编程门阵列fpga等。作为示例,处理器、asic、fpga等可以包括一个或多个处理器内核。在一些示例中,处理模块可以由软件模块或硬件模块来体现。任何这样的模块可以是如本文公开的确定装置、估计装置、捕获装置、关联装置、比较装置、标识装置、选择装置、接收装置、发送装置等。作为示例,表述“装置”可以是模块,诸如确定模块、选择模块等。如本文所使用的,表述“配置为”可以是指处理电路配置为或者适于借助软件配置和/或硬件配置来执行本文描述的一个或多个动作。如本文所用,术语“存储器”可以指硬盘、磁存储介质、便携式计算机磁盘或光盘、闪存、随机存取存储器、ram等。此外,术语“存储器”可以指处理器的内部寄存器存储器等。如本文所使用的,术语“计算机可读介质”可以是通用串行总线usb、存储器、dvd光盘、蓝光盘、作为数据流接收的软件模块、闪存、硬盘、如记忆棒之类的存储卡、多媒体卡、mmc等。如本文所使用的,术语“计算机可读代码单元”可以是计算机程序的文本、表示编译格式的计算机程序的整个二进制文件的一部分或者其间的任何内容。如本文所使用的,术语“数”、“值”可以是任何类型的数,诸如二进制、实数、虚数或有理数等。而且,“数”、“值”可以是一个或多个字符,诸如字母或字母串。“数”、“值”也可以用位串表示。如本文所使用的,表述“在一些实施例中”已经用于表明所描述的实施例的特征可以与本文公开的任何其他实施例进行组合。尽管已经描述了各个方面的实施例,但是本领域技术人员将显而易见其许多不同的变形、修改等。因此,所描述的实施例并非旨在限制本公开的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1