泛洪网状网络中的分布式业务控制的制作方法

文档序号:22627594发布日期:2020-10-23 19:36阅读:215来源:国知局
泛洪网状网络中的分布式业务控制的制作方法

本文中呈现的实施例涉及装置、其中的方法、控制器、计算机程序和计算机程序产品。具体来说,它涉及在参与使用泛洪技术(floodingtechnique)的网状网络时对何时中继消息做出决定的装置。



背景技术:

网状联网是物联网(iot)的关键体系结构。在这种网络拓扑中,所有节点/装置可彼此通信;要么通过直接消息交换,要么经由帮助将消息从源转发到目的地的中间节点。与必须使用额外的网关装置或接入点(这通常需要额外的设备和更广泛的规划)相比,这通常更成本有效且更易于实现。

以下接着是关于在本领域和相关领域中常用的一些术语的介绍。

自组网络(adhocnetwork)为特定目的而置于一起,并且通常但不总是具有临时性质。(adhoc是拉丁语并且意为“为此目的”。)自组网络有时指其中节点/装置在网络中具有同等状态并且能够自由与任何其它节点/装置相关联和/或通信的网络的任何集合。有时将这些节点/装置称为自组节点/装置。

无线自组网络是分散型的无线网络,其中节点/装置无线地通信。有时将这些节点/装置称为无线节点/装置或无线自组节点/装置。

将网络称为自组,因为它不依赖于预先存在的基础设施,诸如基站、接入点或路由器,所述基础设施通常存在于像移动电话网络的受管理的(包括基础设施的)无线网络中。而是,每个节点/装置通过为其它节点/装置转发/中继数据而参与路由。基于网络连接性动态地做出哪些节点/装置应当将数据转发到哪些其它节点/装置的确定。

manet(移动自组网络)是移动且无线连接的节点/装置的自配置无基础设施网络。有时将这些节点/装置称为移动节点/装置、无线节点/装置或移动自组节点/装置。manet是一种无线自组网络,但是manet还必须特别地应对由节点/装置的移动性所引入的问题。manet中的每个节点/装置能够自由沿任何方向独立地移动,并且将因此频繁地改变它到其它装置的链路。每个装置必须转发与它自己的使用无关的业务,并且因此充当路由器。构建manet的主要挑战是配备每个装置以持续维护正确地路由业务所要求的信息。此类网络可独自操作,或者可连接到更大的互联网。

网状网络是这样的网络拓扑,其中所有节点/装置通常通过每个节点/装置为网络转发/中继数据而在分配数据中协作。网状网络中的节点/装置有时称为网状节点/装置。

其节点/装置全都彼此直接连接的网状网络通常称为完全连接的网状网络。在该拓扑中,除非出于如冗余度和/或负载业务负载分配的目的,否则没有必要使用转发/中继。

在部分连接的网状网络中,一个或多个节点/装置不是直接连接到所有其它节点/装置。在部分连接的网状网络中,为了允许所有节点/装置到达所有其它节点/装置,消息的转发/中继是必要的。当节点/装置被无线地连接时,这是非常常见的网络拓扑。

自组网络、无线自组网络和manet通常使用网状网络拓扑。网状网络中的节点/装置不一定必须是移动的或无线连接的。尽管网状网络拓扑主要在无线情形中使用,但是该概念也可适用于有线网络和软件交互。

可使用路由技术或泛洪技术设计上文提到的网络类型和拓扑。这些技术中的任何技术可合并多路径路由。多路径路由是使用通过网络的多条备选路径的路由技术,其可产生各种益处,诸如容错、增加的带宽或改善的安全性。多路径路由又可称为路径冗余和路径分集。

当使用路由技术时,通过从节点/装置跳到节点/装置直到到达目的地来沿路径传播分组/消息。为了确保它的所有路径的可用性,网状网络必须虑及连续连接和使用自修复算法的围绕破坏或阻塞的路径的重新配置。

除了经典的路由技术之外,网络类型还可将泛洪技术用于转发数据。有线网络中的泛洪技术通常是简单的算法,其中每个传入的分组/消息在除了它到达的那条链路之外的每条外出链路上被发送(当有多条链路时)。在无线连接的网络中,它通常通过每个节点/装置简单地重新传送(转发/中继)不是预定去往该节点/装置本身的所有传入的分组/消息以便将它们中继到其它节点/装置来实现。

使用它们的最基本或最根本的实现的两种技术的简单的比较将是:

•路由技术

  ◦生成较少的由数据传输引起的网络业务,因为只经由在将通往目的地节点/装置的路径/路由上的节点/装置发送数据业务;

  ◦生成由设立路由和路径并执行相关任务的控制消息和协议引起的网络业务;

  ◦相当可靠,因为

    ▪自修复能力允许网络在节点/装置故障或连接变差时继续操作,

    ▪有时实现多路径路由技术。

•泛洪技术

  ◦生成较多的由数据传输引起的网络业务,因为通常通过网络中的所有装置转发/中继数据业务;

  ◦不生成或生成较少的由用于设立路由或路径的控制消息或协议引起的网络业务,这只是因为没有使用这些机制,至少没有以与使用路由技术的网络中相同的程度和相同的含义来使用这些机制;

  ◦简单且鲁棒,因为不需要寻找和设立在源节点/装置和目的地节点/装置之间的任何显式路由,并且消息/分组可在多个路径/路由上从源节点/装置穿越到目的地节点/装置,针对节点/装置故障或差的通信提供固有的分集。

本领域中的术语不是完全唯一定义的,人们有时对相同的事物使用不同的术语,或者对不同的事物使用相同的术语。

为了简洁的目的,我们将使用术语网状网络来表示任何上文列出的网络类型(自组网络、无线自组网络和manet)以及具有网状网络拓扑的任何网络,无论它是无线的还是有线的,具有移动的节点/装置还是固定的节点/装置。

以同样的方式,我们将使用术语装置来表示自组节点/装置、无线节点/装置、自组无线装置、移动节点/装置、移动自组节点/装置、网状节点/装置以及用于参与上文提到的网络的装置的其它名称。

术语装置包括只预定用于或能够参与网状网络的装置以及预定用于或能够还参与另一个网络(如例如移动通信网络)的装置。当涉及后一种类型的装置时,装置中的一个或多个或甚至所有装置可同时参与网状网络和另一个网络。此外,设计成用于或能够参与另一个网络但是目前没有参与的装置可能已经暂时或永久地与移动通信网络失去联系,或因其它原因而已经选择或被命令不在移动通信网络中操作。

请注意,本上下文中的术语装置表示诸如下列各项的装置:机器到机器(m2m)装置、物联网(iot)装置、装置到装置(d2d)装置、中继、传感器、智能电话、移动电话、用户设备、调制解调器、膝上型电脑,平板计算机、冲浪平板(surfplate),只举一些示例。

本上下文中的装置可例如永久或临时地安装在设备(容器等)或固定结构(墙壁、屋顶等)上,可以是便携式、可口袋存储的、手持式、计算机包括的、可穿戴和/或车载的移动装置,只举几个示例。

移动通信网络通常是为各种通信装置提供通信能力的多用途网络。移动通信网络通常由电信运营商管理。通信装置通常又称为无线装置、无线终端、移动终端、移动站、用户设备(ue)、移动电话、蜂窝电话等。这些术语通常可视为同义,但是它们中的一些术语在一些上下文中也用于表示与特定电信标准有关的通信装置,但是后一方面在本上下文中不重要。通信装置能够在移动通信网络中无线地通信,所述移动通信网络可以是蜂窝通信网络或其它无线通信系统,移动通信网络有时又称为蜂窝无线电系统、蜂窝网络或移动电话网络。通信装置能够经由被包括在移动通信网络内的无线电接入网络(ran)和可能的一个或多个核心网络与诸如其它通信装置、固定电话和服务器的其它实体传递语音和/或数据。

蜂窝通信网络覆盖划分成小区区域(或小区)的地理区域。小区是其中由接入节点提供无线电覆盖的地理区域。每个小区由接入节点或来自接入节点的一个或多个定向波束服务。

取决于使用的技术和术语,接入节点可以是例如基站,诸如无线电基站(rbs)、enb、enodeb、nodeb、b节点或bts(基站收发信台)。基于传输功率并且由此还基于小区大小,基站可以具有不同的类别,诸如例如宏enodeb、家庭enodeb或微微基站。

此外,每个接入节点可支持一种或若干种通信技术。接入节点通过在无线电频率上操作的空中接口与在接入节点的范围内的无线装置通信。术语下行链路(dl)表示从接入节点到无线装置的传输路径。术语上行链路(ul)表示沿相反方向(即,从无线装置到接入节点)的传输路径。

在第三代合作伙伴计划(3gpp)长期演进(lte)中,可称为enodeb或甚至enb的接入节点可直接连接到一个或多个核心网络。

为了对于上行链路和下行链路业务均支持高的位速率和低的时延,已经撰写了3gpplte无线电接入标准。lte中的所有数据传输由无线电基站控制。

尽管关于自组网络的一些早期工作提出了使得d2d(装置到装置)通信能够作为蜂窝网络中的中继的方式的想法,但是允许本地d2d通信与进行中的蜂窝业务同时使用或再使用蜂窝频谱资源的概念是相对新的。由于蜂窝和d2d层之间的非正交资源共享具有再使用增益和接近度增益的潜力,同时增加了资源利用率,所以成为蜂窝网络基础的d2d通信近年来已经受到了相当大的关注。

具体来说,在3gpplte网络中,ltedirect(一种类型的d2d通信)可用于诸如蜂窝网络卸载、基于接近度的社交联网的商业应用中或其中第一响应者需要与彼此通信并与在灾区中的人员通信的公共安全情形中[3gpptr22.803]。

使用ltedirect链路的d2d通信实体(无线装置)可再使用与用于下行链路或上行链路或两者中的蜂窝通信相同的prb(物理资源块),所述prb表示时间和频率资源。以受控的方式再使用无线电资源可导致频谱效率的增加,代价是小区内干扰的一定增加。通常,d2d通信实体使用ul(上行链路)资源,诸如ulprb或ul时隙,但是在概念上,d2d通信有可能在蜂窝dl(下行链路)频谱中或在dl时隙中进行。

在lte中引入d2d的主要原因是引入对nsps(国家安全和个人安全)服务的支持。主要想法之一是,装置应当在没有与ran(无线电接入网络)联系(无论是临时还是永久)时也能够与彼此通信。即使lte中的d2d通信可能能够支持许多服务,但是更重要的服务之一似乎是通常由传统的“步话机”功能性表示的广播通信。基本的d2d广播通信是最有可能将在不久的将来引入的服务之一。

对于nsps服务来说,覆盖是至关重要的。一组消防人员能够与组中的所有消防人员通信通常将会是重要的。

当所有或一些nsps装置与ran失去联系时,例如暂时与基站并且因此与ran的剩余部分失去联系时,出现特别令人感兴趣的场景。在这个场景中,可想象nsps装置形成无线自组网络,其可被视为临时网络,其具有甚至在没有经由基站或接入点与ran联系时也允许各种nsps装置与彼此保持联系的目的。

将可能允许nsps装置使用比当前lte装置更高的tx功率,高达30dbm相比于只支持23dbm的当前lte标准。这将有助于扩展单独装置的无线电覆盖。但是为了进一步增加覆盖,给定固定的tx功率,将可能要求应用某种中继方法。中继将通过使用中间nsps装置作为将业务转发到更远的nsps装置的中继站而允许nsps装置到达在它自己的无线电覆盖范围之外的其它nsps装置。中继将适用于所有不同种类的业务,示例可以是两个特定装置之间的面向点对点连接的业务,而且可以是指向多个装置的传统的步话机点对多点功能性,其最有可能作为广播业务实现。因此,需要高效的中继方法以用于改善的无线自组网络中的广播覆盖。

在诸如ieee802.11网状(用于wlan的mac和phy层)和ieee802.15(zigbee)的现有网状通信标准中,通过主动(proactive)或被动(reactive)信令来处置路径设立。

主动信令通常使用根节点,所有其它节点周期性地向该根节点发信号,因此节点总是知道到根的路径,并且根总是知道到所有节点的路径。周期性信令要求显著的开销。

被动信令在要传送数据时根据请求建立路径。在该时刻,必须通过向网络中的所有其它节点的广播信令来找到路径,造成限制实际网络大小的可能的广播风暴问题和显著开销。

蓝牙低能耗(blemesh,v1.0)规范的最初版本是基于泛洪的网状网络,其在称为公告信道(advertisingchannel)的一组共享信道上使用广播,使得其它节点可接收消息并中继这些消息。在此类网络中,只要有足够密度的侦听和中继消息的装置,任何装置都可发送消息。

在blemesh提案中,许多方法可用于限制消息的无限制中继。最重要的方法之一是存活时间(ttl)。利用这种方法,每个消息/分组包括限制消息可被中继的次数的ttl值。消息发起者为ttl设置合适的初始值。每次通过装置接收并接着中继消息时,ttl值递减1。当ttl达到较低的阈值(例如,0或1)时,将不进一步转发该消息。在blemesh规范中,ttl=0用于单跳通信。将不中继与ttl=0或ttl=1一起接收的分组。

blemesh网络层分组包括源字段、目的地字段和序列号等等。但是,对于源,没有明确的方式来控制消息/分组的路由。

在blemesh中,可能ping其它节点(使用“pingttl请求”消息)。然后,ping消息的目标节点应当用ping响应做出响应(使用“pingttl状态”消息),其中包括从ping发起者节点到ping目标节点的最小跳数。节点可使用该过程来确定向目的地节点发送消息所需的跳数,并且也可确定从该节点接收消息所需的跳数。节点可使用这种技术来设置传送到不同目的地的消息的适当ttl。

以更广义的方式,存活时间(ttl)或跳限制是限制计算机或网络中的数据的寿命跨度或寿命时间的机制。ttl可作为附连到数据或嵌入在数据中的计数器或时间戳实现。一旦规定的事件计数或时间跨度过去,便丢弃数据。最初在计算机联网中引入ttl以防止数据分组无限期地循环。

fransiscoovalle-martinez等人的issn1748-1279“area-basedbeaconlessreliablebroadcastinginsensornetworks(传感器网络中基于区域的无信标可靠广播)”讨论了将gps用于确定邻居的位置并对何时中继做出决定。

出版者为mobicom1999且作者为ni等人的“thebroadcaststormprobleminamobileadhocnetwork(移动自组网络中的广播风暴问题)”讨论了自组网络中的广播风暴问题。

ieeeproc.mobihoc2000年的作者为peng的“onthereductionofbroadcastredundancyinmobileadhocnetworks(减少移动自组网络中的广播冗余度)”讨论了广播泛洪协议,其中通过使用源和中继,传送器邻居列表用于决定是否应当中继广播。

出版者为mobihoc’02且作者为williams的“comparisonofbroadcastingtechniquesformobileadhocnetworks(移动自组网络的广播技术的比较)”提供了对不同路由算法的概述,一般所解决的广播问题应对初始广播(arp或preq),在初始广播上初始化单播业务。任何学习是从信标信令进行的。基于信标信令明确地进行网络修剪。根据路径损耗数据计算节点距离估计。

移动和无线通信峰会2007的作者为hasegawa的“adialogue-basedmacprotocolforefficientbroadcastinginadhocnetworks(用于自组网络中的高效广播的基于对话的mac协议)”提出将请求/答复对话(即,反馈信令)用于邻居识别的广播协议。

作者woon,yeung在“globaltelecommunicationsconference,2009.globecom2009.ieee”上的论文“self-pruningbroadcastingformobileadhocnetworks(移动自组网络的自修剪广播)”公开了通过引入基于邻居信息的延迟中继来降低中继传输的冲突风险的机制。



技术实现要素:

本文中的实施例的目的是提供便于中继装置(rd)自主确定该中继装置(rd)在实现泛洪技术的网状网络中在特定源装置(sd)和目的地装置(dd)对(sd-dd对)之间中继用户数据消息是否有益(这意味着它是否应当中继)的方法和设备。

根据本文中的一些实施例,为了使中继装置能够确定中继用户数据消息是否有益,中继装置首先确定它是否在特定源装置和特定目的地装置之间的任何路径上。如果是这种情况,那么中继装置根据特定设计目标进一步确定它是否在这两个装置之间的足够短的路径上。如果中继装置在足够短的路径上,那么将中继用户数据消息,否则不中继。

中继装置所做的确定基于对源装置和目的地装置之间的ping消息、ping响应消息和用户数据消息的分析。这里,将ping消息和ping响应消息视为是控制消息而不是用户数据消息。

设计目标声明在期望减少不想要的用户数据业务和多路径行为的期望水平之间的权衡。通常通过使用一个或多个设计目标参数来实现设计目标。

在一些情况下,例如,设计目标可能是只希望在具有等于源装置和目的地装置之间的最小(最短)路径长度的路径长度的一个或多个路径上中继用户数据消息。因此使网络中的不想要的用户数据业务最小化,但实现较低等级的冗余度。

在另一种情况下,可能还希望在具有比最小路径长度长的路径长度的路径上中继用户数据消息,以便实现较高等级的冗余度,代价是关于不想要的用户数据业务的较小程度的最小化。这里,设计目标参数还可控制应当将更长多少的路径用于中继用户数据消息,虑及期望的多路径行为和期望的减少不想要的用户数据业务之间的权衡的精细调谐。

设计目标可以是固定的(意味着预先确定并且不能改变)或者是动态的(意味着它们可改变)。不同的实现可使用不同的设计目标参数,并且可虑及固定或动态的设计目标。请注意,尽管该实现虑及动态设计目标,但是可通过始终传递设计目标参数中的相同值来采用固定的设计目标方法。

当设计目标是固定的时,设计目标参数的值在所有中继装置中以及在所有装置之间的所有会话期间(其中会话指示两个特定装置之间的数据交换)将通常是相同的。设计目标参数通常将硬编码在装置中、在制造时决定、在配置时决定、或者只在例如启动中继装置或启动网状网络时获得一次。

当设计目标是动态的时,设计目标参数的值在不同的中继装置中以及在不同源装置-目的地装置对之间的不同会话期间可能是不同的。在不同的装置中和/或在不同的会话中,所述值也可能随时间改变。对于单个会话中的不同用户数据消息,这些值也可能不同。

在不同的实施例中,中继装置可从源装置、目的地装置或参与网络的其它装置中的任何装置、或甚至从没有参与网络的装置(如例如在移动通信网络或固定电话连接或除了网状网络中的连接以外的任何其它连接内或者经由移动通信网络或固定电话连接或除了网状网络中的连接以外的任何其它连接访问的装置)获得设计目标参数的值。在一些情况下,中继装置本身可以是决定一个或多个其它装置的值的装置。

在不同的实施例中,可从ping消息、ping响应消息、用户数据消息或其它消息中的任何消息获得设计目标参数。如果从ping消息(来自源节点)或ping响应消息(来自目的地节点)获得设计目标参数,那么设计目标参数将通常对于从源节点到目的地节点的所有用户数据消息有效,直到获得了新的设计目标参数。如果从用户数据消息获得设计目标参数,那么设计目标参数将通常对于特定用户数据消息或可能对于该用户数据消息和从特定源节点到特定目的地节点的随后用户数据消息有效,直到获得新的设计目标参数。

如果从另一个消息获得设计目标参数,那么取决于消息的发送者、信息的发起者和其它参数,可实现以上两种备选方案中的任何方案。

利用可视为改进的泛洪技术的提议的解决方案,通过使中继装置确定它们是否位于网状网络中的特定源装置-目的地装置对之间来避免在无助于将消息从源装置传递到目的地装置的网络部分中的单播消息传输。

此外,提议的方法给予通过调谐一个或多个设计目标参数来控制路径分集的方式。位于特定源装置和目的地装置之间的装置只有在sd和dd之间该中继装置作为其一部分的任何路径的最小距离(单位为跳数)(取决于设计目标)等于sd和dd之间的最短路径的距离或与sd和dd之间的最短路径的距离相比没有长很多(长多少取决于设计目标)时才中继用户数据消息。

本质上,提议的解决方案提供了用于与在使用传统的泛洪技术的网络中所通常引起的相比减少不必要业务量的方式。这又在装置功耗减小、网络容量增加和延迟减少方面提高了网络的性能。

本文中的各种实施例可总结为:

一种由中继装置执行以便中继在源装置中发起并预定去往目的地装置的用户数据消息的方法,其中源装置、中继装置和目的地装置参与网状网络,该方法包括:

接收在源装置中发起并预定去往目的地装置的第一ping消息,其中第一ping消息包括第一跳计数器;以及

通过步进第一跳计数器并传送第一ping消息来中继第一ping消息;以及

接收在源装置中发起并预定去往目的地装置的用户数据消息;以及

确定中继装置是否在可能路径上,指示中继装置在从源装置到目的地装置的路径上;以及

确定中继装置是否在足够短的路径上,指示中继装置在从源装置到目的地装置的路径上,所述路径被认为足够短以证明中继是合理的;以及

只有当中继装置在可能路径上并且在足够短的路径上时,才中继用户数据消息。

其中,在一些实施例中,确定中继装置是否在可能路径上包括:

只有当中继装置已经接收到在目的地装置中发起并预定去往源装置的第一ping响应消息时,才确定中继装置在可能路径上,其中第一ping响应消息与第一ping消息有关,并且包括最短可能路径的第一路径长度。

其中,在一些实施例中,确定中继装置是否在足够短的路径上包括:

获取经由中继装置的最短距离,其指示从源装置经由中继装置到目的地装置的最短路径上的跳数;以及

至少基于经由中继装置的最短距离和最短可能路径的路径长度来确定中继装置在足够短的路径上。

其中,在一些实施例中,确定中继装置是否在足够短的路径上进一步包括:

将确定建立在允许的额外跳值的基础上。

其中,在一些实施例中,获取经由中继装置的最短距离包括:

从中继装置中的数据库获得经由中继装置的最短距离。

其中,在一些实施例中,获取经由中继装置的最短距离包括:

从另一个装置获得经由中继装置的最短距离。

其中,在一些实施例中,获取经由中继装置的最短距离包括:

传送预定去往源装置的第二ping消息;以及

接收在源装置中发起并预定去往中继装置的第二ping响应消息,其中第二ping响应消息与第二ping消息有关,并且包括最短可能路径的第二路径长度;以及

传送预定去往目的地装置的第三ping消息;以及

接收(s1624)在目的地装置(dd)中发起并预定去往中继装置(rd)的第三ping响应消息(520),其中第三ping响应消息(520)与第三ping消息(510)有关,并且包括最短可能路径的第三路径长度(526);以及

基于最短可能路径的第二和第三路径长度来确定(s1625)经由中继装置的最短距离。

其中,确定中继装置是否在足够短的路径上,其中:

第一ping响应消息(520)进一步包括到源的剩余距离(529),其指示从中继装置(rd)到源装置(sd)的剩余跳数,在一些实施例中,这包括:

至少基于第一跳计数器和到源的剩余距离来确定(s1680)中继装置(rd)在足够短的路径上。

其中,在一些实施例中,确定中继装置(rd)是否在足够短的路径上进一步包括:

将确定建立在允许的额外跳值的基础上。

其中,一些实施例进一步包括:

通过步进到源的剩余距离并传送第一ping响应消息来中继第一ping响应消息。

其中,一些实施例进一步包括:

只有当中继装置在足够短的路径上时,才通过步进到源的剩余距离并传送第一ping响应消息来中继第一ping响应消息。

一种由中继装置执行以便省略中继在源装置中发起并预定去往目的地装置的用户数据消息的方法,其中源装置、中继装置和目的地装置参与网状网络,该方法包括:

接收在源装置中发起并预定去往目的地装置的第一ping消息,其中第一ping消息包括第一跳计数器;以及

通过步进第一跳计数器并传送第一ping消息来中继第一ping消息;以及

接收在源装置中发起并预定去往目的地装置的用户数据消息;以及

确定中继装置是否不在可能路径上,指示中继装置不在从源装置到目的地装置的路径上;以及

如果中继装置不在可能路径上,则不中继用户数据消息。

其中,在一些实施例中,确定中继装置是否不在可能路径上包括:

只有当中继装置没有接收到在目的地装置中发起并预定去往源装置的第一ping响应消息时,才确定中继装置不在可能路径上,其中第一ping响应消息与第一ping消息有关。

一种用于中继在源装置中发起并预定去往目的地装置的用户数据消息的中继装置,其中源装置、中继装置和目的地装置参与网状网络,该中继装置包括:

收发器单元,它配置成接收在源装置中发起并预定去往目的地装置的第一ping消息,其中第一ping消息包括第一跳计数器;以及

控制器单元,它配置成通过步进第一跳计数器并经由已经配置成传送第一ping消息的收发器单元传送第一ping消息来中继第一ping消息;以及

收发器单元进一步配置成接收在源装置中发起并预定去往目的地装置的用户数据消息;以及

控制器单元进一步配置成确定中继装置是否在可能路径上,指示中继装置在从源装置到目的地装置的路径上;以及

控制器单元进一步配置成确定中继装置是否在足够短的路径上,指示中继装置在从源装置到目的地装置的路径上,所述路径被认为足够短以证明中继合理;以及

控制器单元进一步配置成只有当中继装置在可能路径上并且在足够短的路径上时才中继用户数据消息。

其中,在一些实施例中,配置成确定中继装置是否在可能路径上的控制器单元进一步配置成:

只有当中继装置已经接收到在目的地装置中发起并预定去往源装置的第一ping响应消息时,才确定中继装置在可能路径上,其中第一ping响应消息与第一ping消息有关,并且包括最短可能路径的第一路径长度。

其中,在一些实施例中,配置成确定中继装置是否在足够短的路径上的控制器单元进一步配置成:

获取经由中继装置的最短距离,其指示从源装置经由中继装置到目的地装置的最短路径上的跳数;以及

至少基于经由中继装置的最短距离和最短可能路径的路径长度来确定中继装置在足够短的路径上。

其中,在一些实施例中,配置成确定中继装置是否在足够短的路径上的控制器单元进一步配置成:

将确定建立在允许的额外跳值的基础上。

其中,在一些实施例中,配置成获取经由中继装置的最短距离的控制器单元进一步配置成:

从中继装置中的数据库获得经由中继装置的最短距离。

其中,在一些实施例中,配置成获取经由中继装置的最短距离的控制器单元进一步配置成:

经由已经配置成向另一个装置发送和接收消息的收发器单元从另一个装置获得经由中继装置的最短距离。

其中,在一些实施例中,配置成获取经由中继装置的最短距离的控制器单元进一步配置成:

经由收发器单元传送预定去往源装置的第二ping消息;以及

经由收发器单元接收在源装置中发起并预定去往中继装置的第二ping响应消息,其中第二ping响应消息与第二ping消息有关,并且包括最短可能路径的第二路径长度;以及

经由收发器单元传送预定去往目的地装置的第三ping消息;以及

经由收发器单元接收在目的地装置中发起并预定去往中继装置的第三ping响应消息,其中第三ping响应消息与第三ping消息有关,并且包括最短可能路径的第三路径长度;以及

基于最短可能路径的第二和第三路径长度来确定经由中继装置的最短距离。

其中,控制器单元配置成确定中继装置是否在足够短的路径上,其中:

第一ping响应消息进一步包括到源的剩余距离,其指示从中继装置到源装置的剩余跳数;

在一些实施例中,控制器单元进一步配置成至少基于第一跳计数器和到源的剩余距离来确定中继装置在足够短的路径上。

其中,在一些实施例中,配置成确定中继装置是否在足够短的路径上的控制器单元进一步配置成:

将确定建立在允许的额外跳值的基础上。

其中,控制器单元进一步配置成:

通过步进到源的剩余距离并经由在一些实施例中进一步配置成传送第一ping响应消息的收发器单元传送第一ping响应消息来中继第一ping响应消息。

其中,控制器单元配置成:只有当中继装置在足够短的路径上时,才通过步进到源的剩余距离并经由在一些实施例中进一步配置成传送第一ping响应消息的收发器单元传送第一ping响应消息来中继第一ping响应消息。

一种用于省略中继在源装置中发起并预定去往目的地装置的用户数据消息的中继装置,其中源装置、中继装置和目的地装置参与网状网络,该中继装置包括:

收发器单元,其配置成接收在源装置中发起并预定去往目的地装置的第一ping消息,其中第一ping消息包括第一跳计数器;以及

控制器单元,其配置成通过步进第一跳计数器并经由配置成传送第一ping消息的收发器单元传送第一ping消息来中继第一ping消息;以及

收发器单元进一步配置成接收在源装置中发起并预定去往目的地装置的用户数据消息;以及

控制器单元进一步配置成确定中继装置是否不在可能路径上,指示中继装置不在从源装置到目的地装置的路径上;以及

控制器单元配置成如果中继装置不在可能路径上则不中继用户数据消息。

其中,在一些实施例中,配置成确定中继装置是否不在可能路径上的控制器单元进一步配置成:

只有当中继装置没有接收到在目的地装置中发起并预定去往源装置的第一ping响应消息时,才确定中继装置不在可能路径上,其中第一ping响应消息与第一ping消息有关。

一种计算机程序,在运行中继装置时使中继装置执行各种实施例中的任何方法。

一种计算机程序产品,包括如上所述的计算机程序以及计算机可读存储介质,在所述计算机可读存储介质上存储计算机程序。

如前所述,网状网络通常是无线的,但也可用有线技术实现。本文中的实施例聚焦于无线网状网络,但是本领域技术人员将意识到,实施例可同样适用于有线网状网络。

一般来说,除非本文中另外明确定义,否则权利要求中所使用的所有术语将根据它们在技术领域中的普遍含义来被解释。除非另外明确声明,否则所有提到一(a/an)/该元件、设备、组件、部件、步骤等将开放地解释为指该元件、设备、组件、部件、步骤等的至少一个实例。除非明确声明,否则本文中公开的任何方法的步骤不一定按照公开的准确顺序执行。

附图说明

将参考附图通过示例的方式描述本发明概念,附图中:

图1示出网状网络的概览的示例。图1是图2至图9的基础。

图2示出网状网络中的从d1到d5的可能路径。

图3示出网状网络中的在从d1到d5的不可能路径中作为中继装置(rd)的d19。

图4示出网状网络中的在从d1到d5的可能路径中作为中继装置(rd)的d2。

图5示出网状网络中的从d1到d5的一些不同的可能路径中的从装置到源装置的距离。

图6示出网状网络中的从d1到d5的可能路径的路径长度。

图7示出当基于路径长度中继时作为中继装置(rd)的d6。

图8示出网状网络中的从d1到d5的各种可能路径的允许的到源的剩余距离ardts。

图9示出当基于允许的到源的剩余距离ardts来中继时作为中继装置(rd)的d6。

图10示出不同的消息格式。

图11是描绘中继装置中的方法的实施例的流程图。图11是图12至图14的基础。

图12是描绘当基于经由中继装置的最短距离对是否中继做出决定时中继装置中的方法的实施例的流程图。

图13是描绘用于使用ping获取经由中继路径的最短距离的中继装置中的方法的实施例的流程图。

图14是描绘当基于允许的到源的剩余距离ardts对是否中继做出决定时的中继装置中的方法的实施例的流程图。

图15是示出中继装置的实施例的示意性框图。

图16示出根据实施例的包括计算机可读存储介质和计算机程序的计算机程序产品的一个示例。

具体实施方式

作为开发本文中的实施例的一部分,将首先识别和讨论现有技术水平的一些问题。

在网状网络中使用传统的泛洪技术引起严重的介质争用,特别是对于较高的业务强度和大的网络。具体来说,从源装置传送到目的地装置的消息可通常在网络中、甚至在根本无助于将消息递送到它的目的地的网络部分中引起大量业务活动。此类不必要的活动消耗网络资源,并且通常使关于例如消息延迟、网络容量和功耗的性能降级。

尽管设置合适的ttl(通常称为ttl调谐)在一些情形中限制了该问题,但是这样的解决方案仍没有限制消息转发到无助于消息递送的分支,并且在的确有助于消息递送的分支中,其只在分支末端限制业务。还应当承认,当源装置和目的地装置之间有大量跳时,ttl调谐的效果是有限的。

现在,下文将参考之前提到的附图更全面地描述本发明概念,在之前提到的附图中示出了本发明概念的某些实施例。然而,此发明概念可以用许多不同的形式实施,并且不应解释为局限于本文中阐述的实施例;而是,通过示例的方式提供这些实施例,以使得本公开将彻底且完整,并将向本领域技术人员全面传达本发明概念的范围。

类似的数字和参考符号在本描述通篇指代类似的要素。流程图中以虚线示出的任何步骤或特征应被视为可选的。

图1提供网状网络的概览的示例。圆圈代表网络中的装置d1至d25,其中d1表示装置1,等等。虚线代表装置之间的可能的通信链路。可能的通信链路表示这样的通信链路,其中由在通信链路的一端的装置发送的消息可由在通信链路的另一端的装置成功接收。还假设,沿反向方向传输也将成功。在此文档的其余部分中,更短的术语链路表示可能的通信链路。

本领域技术人员将意识到,可能出现复杂得多的概览网状网络。不仅包括额外的装置,而且还包括额外的链路。一个这样的简单但是说明性的示例可以是,d1还可以具有到d3的链路,这在这样的场景中将用d1和d3之间的额外虚线示出。本领域技术人员还将意识到,在装置是移动的并且无线连接的场景中,图1中提供的概览图可能随时间改变。示例可以是,d17从它的位置移动,并且过了一会儿之后更接近于d21,并且该过程中,d17将失去到d16的链路,但是它将获得到d21的新链路,然后将通过相应更新的图来表示该示例。本领域技术人员还将意识到,这些问题不影响在本文中的实施例中描述的方法和设备。因此,网状网络的概览保持足够复杂来以通用的方式说明问题和解决方案,但是足够简单以便于理解。还为了便于理解,图1是图2一直到图9的基础。

图2示出网状网络中从d1到d5的可能路径。实线代表在从d1到d5的各种可能路径上的链路。虚线代表不在从d1到d5的任何可能路径上的链路。请注意,用虚线绘制的链路对于各种装置之间的通信仍然有用,但是对于d1和d5之间的通信使用那些链路将不是有益的。

假设d1想要向d5发送消息。在该场景中,d1将被视为源装置(sd),并且d5将被视为目的地装置(dd)。一个可能的途径或路径可以是:

•d1发送预定去往d5的消息

•d2将接收它并中继/转发它

•d3将接收它并中继/转发它

•d4将接收它并中继/转发它

•d5将接收它。

转发在这里意味着装置接收消息,并且意识到该消息不是预定去往该装置本身的,因此该装置将再次发送消息,其意图是该消息将被发送到(或至少发送向)该消息预定去往的装置。这个动作通常又称为中继。该装置可称为中继装置或转发装置。在本申请通篇中,将以略微更广泛的意义使用术语中继装置,也指示这样的装置,该装置接收消息并且意识到该消息不是预定去往该装置本身的,并且接着还根据一个或多个准则确定转发该消息是否有意义,如果这有意义则中继消息(并且如果这没有意义则不中继消息)。有意义在这里将意味着,它将以某种方式有助于将消息传送到或传送向消息预定去往的装置,同时考虑特定设计目标。

考虑上文,可识别从d1到d5的4条不同的可能路径:

•p1(路径1):d1-d2-d3-d4-d5

•p2(路径2):d1-d2-d6-d3-d4-d5

•p3(路径3):d1-d2-d6-d7-d8-d4-d5

•p4(路径4):d1-d10-d11-d12-d13-d14-d5

在图中可以看出,如果在最短路径p1(d1-d2-d3-d4-d5)上行进,那么装置d1和装置d5之间有4条链路。可以说消息在相同路径上进行了4次跳。跳表示链路上的传输。

也可识别在将数据从d1传送到d5时没有做出贡献的装置以及它们之间的链路。为了简单起见,让我们按分支划分这些装置:

•d1左侧的分支:

  ◦d19-d20-d21

  ◦d19-d22-d23

  ◦d19-d24-d25

•d1上方的分支:

  ◦d15-d16-d17

  ◦d15-d16-d18

•d7上方的分支:

  ◦d9

本文中的实施例描述了使用泛洪技术的网状网络中的分布式业务控制。这意味着,中继装置确定是否中继消息。为了使中继装置能够确定它是否应当将消息从源装置中继到目的地装置,它必须能够确定以下事项:

•它是否在可能路径(从源装置到目的地装置)上

•它是否在足够短的路径(从源装置到目的地装置)上。

现在让我们介绍一些不同类型的消息:

•ping消息(510)

•ping响应消息(520)

•用户数据消息(530)

将在本描述通篇中进一步解释ping消息(510)、ping响应消息(520)和用户数据消息(530)及它们相应的内容。

当然,还可使用其它类型的消息或机制,例如用户数据消息的确认,其作为单独的消息或被背负在其它用户数据消息上。

本文中的实施例的目的是将网状网络中的用户数据消息的传输最小化,同时仍然成功地将用户数据消息从源装置传递到目的地装置。使传输最小化的两种主要方法是:避免在无助于传输的分支中的传输或使此类传输最小化;以及避免在被认为太长的冗余可能路径中的传输或使此类传输最小化。将在中继装置做出所述确定和决定。

中继装置将分析ping消息(从源装置到目的地装置)以及ping响应消息或缺少ping响应消息(从目的地装置到源装置)。

通常将ping消息从源装置发送到目的地装置,以主要查明目的地装置是否是可到达和可用的。目的地装置将用ping响应消息来应答。取决于ping消息和ping响应消息的内容,源装置以及中继装置可以不仅确定目的地装置是否是可到达和可用的,而且还确定其它事项,像例如这两个装置之间以跳计的距离。

可在不同类型的网络布局中、在使用不同种类的网络技术时以及对于不同移动性程度的装置、对于不同质量的链路等实现关于如何使用ping消息和ping响应消息的不同方法。选择的方法或方法的组合可以是固定的,或者可随时间改变。关于如何使用ping消息的方法的非限制性示例可以是:

•初始ping。源装置ping目的地装置一次。它可在预定向目的地装置发送用户数据消息之前ping目的地装置,或者它可甚至在没有发送用户数据消息的立即意图的情况下ping目的地装置。

•在每个用户数据消息之前ping。源装置在预定向目的地装置发送每个用户数据消息之前ping目的地装置。

•周期性ping。源装置周期性地ping目的地装置。

•在检测到不成功的数据传递时再次ping。一旦检测到差的数据传递,源装置便ping目的地装置。这可以以各种方式来被检测,最明显的是源装置没有接收到对被发送的用户数据消息的确认。

利用上文描述的任何方法,在某个时间点,在将用户数据消息发送到目的地装置之前,源装置将发送预定去往目的地装置的ping消息,并且在发送用户数据消息之前等待来自目的地装置的一个或多个ping响应消息。

听到并分析ping消息和一个或可能多个ping响应消息的任何装置可确定它在从源装置到目的地装置的可能路径上。

在传统的联网中,ping响应将通常包含关于从源节点到目的地节点的距离的信息,这将允许源装置为后续的用户数据包设置合适的存活时间值。如上文进一步描述的,ttl的使用虑及对网络中的传输的非常粗糙和有限的控制。

在本文中描述的不同实施例中,中继装置将使用以不同方式并且从不同装置获得的一个或多个设计目标参数,以能够提供用于减少不必要的业务量的更好方式和用于控制路径分集的更好方式。下文将进一步详细阐述如何实现这一点。

图3示出,d19是中继装置(rd),d1是源装置(sd),并且d5是目的地装置(dd)。

让我们预排当d1意图发送预定去往d5的用户数据消息时的情形,聚焦于不在从d1到d5的可能路径上的d19的行为。

a.d1发送预定去往d5的ping消息(这何时完成取决于所选择的ping方法,如上文所讨论的)

b.由以下装置接收ping消息,这些装置明白它们不是预期的接收方,使它们中继ping消息。

•d2

•d10

•d15

•d19

c.在某个时间点,d5将接收在可能路径上中继的ping消息的一个或多个实例,并将用ping响应消息的一个或多个实例来响应。

d.将在可能路径中的一个或多个可能路径(例如,包括d2,但不包括d19)上将ping响应消息中继回到d1。

e.然后,d1将发送预定去往d5的用户数据消息,将由接收ping消息的相同装置接收该用户数据消息。

f.在接收用户数据消息时,d19将:

a.确定用户数据消息不是预定去往d19的,因此考虑中继用户数据消息

b.基于没有接收到与ping消息相关联的任何ping响应消息,确定它不在从d1到d5的任何可能路径上

c.基于以上步骤,不中继用户数据消息。用户数据消息将因此从不到达d20、d22或d24。

本领域技术人员将意识到,例如d15将以与d19相同的方式表现。

假设在d2和d19之间将有额外链路的情形(图3中没有指示),这意味着d19将接收由d2中继的ping响应消息。在这种情况下,d19将确定它在从d1到d5的可能路径上,并中继用户数据消息。然而,该中继将在d20、d22和d24中停止。在这种情况下,本文中的实施例将效率略低,但是仍对不必要或不想要的传输提供良好的最小化效果。

让我们与使用ttl(存活时间)做简短的比较。存活时间通常是用户数据消息中声明应当允许用户数据消息进行的跳数的字段。通常将存活时间设置成允许的最大跳数的起始值,并且然后在每个中继节点中减少。假设,在图3中概述的网状网络中,d1已经发现从d1到d5的最短距离为4个跳。为了确保用户数据消息到达d5,d1可将ttl设置成4。然而,这种机制将并不防止用户数据消息通过无助于将用户数据消息传送到d5的分支而被中继。例如,d19将接收用户数据消息并检查ttl(其将具有为4的值),并且由于ttl将大于0,所以它将于是减小ttl值并中继用户数据消息。d20将于是接收它并以相同的方式动作。然后,d21将接收它,并且甚至d21将中继它。相同情形将适用于距离d1与d4相同的距离(意味着3个跳)内的其它装置。这说明,ttl没有在无助于数据到d5的传输的网络部分中防止中继。

图4示出,装置d2是中继装置(rd),装置d1是源装置(sd),并且装置d5是目的地装置(dd)。

让我们预排d1意图发送预定去往d5的用户数据消息时的情形,聚焦于在从d1到d5的可能路径上的d2的行为。(下文的“相同”意味着该步骤将与如在图3的讨论中介绍的对应步骤相同。)

a.相同

b.相同

c.相同

d.相同

e.相同

f.当接收到用户数据消息时,d2将:

a.确定用户数据消息不是预定去往d2的,从而考虑中继用户数据消息

b.基于已经接收到与ping消息相关联的ping响应消息,确定它在从d1到d5的可能路径上

c.基于以上步骤,

i.在一些实施例中,d2将在已经确定它在可能路径上时中继消息,而不对它是否在从d1到d5的足够短的路径上进一步做出确定

ii.在其它实施例中,d2还将确定它是否在从d1到d5的足够短的路径上。如果d2在足够短的路径上,那么它将中继用户数据消息,用户数据消息将因此到达d3和d6。如果d2不在足够短的路径上,那么它将不中继用户数据消息。下面将在本描述中进一步讨论如何确定中继装置是否在从源装置到目的地装置的足够短的路径上。

本领域技术人员将意识到,在以上情形中,可能路径上的其它装置(目的地装置除外)将以与d2相同的方式表现。

图5示出在网状网络中从d1到d5的不同可能路径中的从装置到源装置的距离。以朝向源装置的跳数来对距离进行计数。

该图示出一些令人感兴趣的事实:

•不同的装置将在距离源装置的不同距离处。例如,d2和d10(都在1个跳的距离处)将比其它装置更接近d1。

•装置可在多条可能路径上。例如,d2和d4在三条可能路径(p1、p2和p3)上。

•在多条可能路径上的装置可在每条可能路径上具有不同的到源装置的距离。

  ◦d2具有以下到源装置的距离。

    ▪在p1、p2和p3上为1。

  ◦d4具有以下到源装置的距离。

    ▪在p1上为3,在p2上为4,并且在p3上为5。

  ◦d5具有以下到源装置的距离。

    ▪在p1上为4,在p2上为5,在p3上为6,并且在p4上为6。

请注意,为了使该表更易于理解,已经排除了路径p4。本领域技术人员将能够得出有关p4的对应结论。

图6示出在网状网络中从d1到d5的各种可能路径的路径长度。路径长度是从源装置到目的地装置(反之亦然)的以跳计的距离。

•p1具有路径长度4

•p2具有路径长度5

•p3具有路径长度6

•p4具有路径长度6

图7示出当基于路径长度中继时作为中继装置(rd)的d6。以下描述还参考图10,图10概述了消息格式。

与在讨论图4时所描述的实施例类似,假设d6已经确定它在可能路径上。在一些实施例中,d6还将在决定是否中继用户数据消息之前确定它是否在足够短的路径上。以此方式,它将进一步参与并有助于控制在网状网络中为用户数据消息生成的传输的量。

如上文已经讨论的,有4条可能路径,其具有3个不同的路径长度(4、5和6)。最短的可能路径是p1,并且最短的可能路径的路径长度是4。如上文所讨论的,在所有可能路径(具有路径长度6或更低路径长度的路径)中中继用户数据消息有益处和缺点。当只在最短的可能路径(具有路径长度4的路径)中中继用户数据消息时,相反的益处和缺点适用。如果在具有路径长度5或更低路径长度的路径上中继用户数据消息,则会实现中间的场景。

通过设置用于中继的最大允许路径长度,可控制通过不同的可能路径的用户数据消息的传输,并且可关于期望的冗余度对系统进行调谐。将必须关于最短的可能路径来设置用于中继的最大允许路径长度。将用于中继的最大允许路径长度设置为最短可能路径的路径长度加上允许的额外跳。其中允许的额外跳将是大于或等于零的值。通过将允许的额外跳设置成零,只有在最短可能路径上的装置将会中继用户数据消息。增加允许的额外跳将导致在额外的可能路径中发送用户数据消息。

为了中继装置确定它在足够短的路径上,它将需要知道两个事项。

•用于中继的最大允许路径长度

  ◦它是以下两项之和:

    ▪最短可能路径的路径长度

    ▪允许的额外跳

•经由中继装置的最短距离,

  ◦它是中继装置作为其一部分的最短路径的长度。d6是两条路径的一部分:

    ▪p2(具有路径长度5)

    ▪p3(具有路径长度6)

这里,将最大允许路径长度以及允许的额外跳(其是最大允许路径长度的一部分)视为设计的目标参数。

如果用于中继的最大允许路径长度将等于或大于经由中继装置的最短距离,那么中继装置将确定它在足够短的路径上。如果中继装置在足够短的路径上,那么它将中继用户数据消息,否则不中继。

为了中继装置查明用于中继的最大允许路径长度,它将需要直接获得最大允许路径长度,或分开获得最短可能路径的路径长度和允许的额外跳,并且然后将它们相加。

为了描述任何可能路径上的任何装置可如何获得最短可能路径的路径长度,合适的是讨论关于如何中继ping消息和目的地装置发送ping响应消息的几种不同方法的一些细节。

在图7中描述的场景中,源装置d1将发送预定去往目的地装置d5的ping消息。将在不同路径中中继该ping消息。假设所有传输成功,那么目的地装置将接收ping消息(或者其副本或实例)4次。

为了便于计算最短可能路径的路径长度,源装置d1将ping消息510中的跳计数器515设置成起始值。起始值可以是任何值(只要所有装置同意该起始值),但是为了简单起见,我们假设将它设置成0(零),指示还没有进行成功的跳转。然后,每个中继装置将在中继ping消息之前步进跳计数器515,以指示已经进行了又一次成功的跳转。步进可通过将跳计数器515递增或递减任何值来进行(只要所有装置同意该机制),但是为了简单起见,我们假设它将递增1(一)。以此方式,当目的地装置将接收4条ping消息时,不同ping消息中的跳计数器在目的地装置接收到它们时将为3、4和5。

跳计数器可通过使用如上文描述的ping消息中的专用字段515来实现。在一些实现中,可从ttl计算跳计数器,从而使ping消息中的字段数量最小化。在这后一种情形中,涉及的装置将必须知道ttl的起始值。以它的最简单的形式,所有装置可对于ttl使用相同的起始值。将对于在穿越网络时进行的每个跳步进ttl。然后,中继单元可从ttl的起始值以及在到达中继装置时ttl具有的值计算跳数(对应于跳计数器)。

在一个实施例中,目的地装置将通过等待(例如,通过使用一个或多个计时器)能够接收所有ping消息来确定最短可能路径的路径长度。以此方式,目的地节点可计算出可能路径的路径长度为4、5和6。然后,它还可计算出最短可能路径的路径长度为4。接着,最短可能路径的路径长度将被传递回到所有中继节点以及源节点。这将在ping响应消息520中的最短可能路径的路径长度字段526中进行。

在另一个实施例中,目的地装置可基于以下假设做出确定:要到达的第一个ping消息是经由最短路径传送的,因此表示最短距离。然后,最短可能路径的路径长度将被传递回到所有中继节点以及源节点。这将在ping响应消息520中的最短可能路径的路径长度字段526中进行。请注意,在一些网络和情形中,由于无线电状况、在装置内部造成的延迟和其它延迟,这种方法可能不导致可靠的结果。可能在一些情形中,在第二最短可能路径或任何其它路径上到达的ping消息可能在时间上第一个到达。本领域技术人员将意识到,使用例如第二最短可能路径的路径长度而不是最短可能路径的路径长度将较不理想。然而,这可能将不会太经常发生。将如何实现这一点取决于系统的期望行为。

在又一个实施例中,目的地装置可以为每个接收的ping消息发送一个ping响应消息。这里,最短可能路径的确定将留给源装置,或者可能留给所有可能路径上的所有装置。然后每条路径的路径长度将被传递回到所有中继节点以及源节点。这将在ping响应消息520中的最短可能路径的路径长度字段526中进行。

基于以上步骤,可确定最大允许路径长度,并且可以用几种不同的方式来分配信息。

在一些实施例中,如上所述,目的地装置(dd)通过等待所有ping消息或通过假设接收的第一ping消息表示最短路径而基于接收的ping消息中的一个或多个来确定最短可能路径的路径长度。然后,目的地装置(dd)可在ping响应消息(520)中在如所指示的字段中的传递以下备选方案中的任何备选方案:

•最短可能路径的路径长度(526)

  ◦这将导致所有可能路径中的所有装置将获得该信息

  ◦接着,可由中继装置用以下方式中的任何方式获得最大允许路径长度:

    ▪源装置(sd)在用户数据消息(530)中传送以下各项中的任一个或两者:

      •最大允许路径长度(537)

      •允许的额外跳(538)

        ◦这将导致所有可能路径中的所有装置将能够计算最大允许路径长度

    ▪中继装置可以用以下方式中的任何方式获得允许的额外跳(允许它计算最大允许路径长度):

      •可以在中继装置中预先配置允许的额外跳

      •可以已经在原始ping消息(510)中的允许的额外跳(518)字段中接收允许的额外跳

      •可以或者已经在另一个消息中从另一个装置获得允许的额外跳

•最大允许路径长度(527)

  ◦这将导致所有可能路径中的所有装置将获得必需的信息

•最短可能路径的路径长度(526)和允许的额外跳(528)

  ◦这将导致所有可能路径中的所有装置将能够计算最大允许路径长度。

在一些其它实施例中,源装置(sd)通过等待所有ping响应消息或通过假设接收的第一个ping响应消息表示最短可能路径而基于接收的ping响应消息(520)中的一个或多个来确定最短可能路径的路径长度。(本领域技术人员将意识到,这将与如上所述的目的地装置(dd)可如何确定最短路径的路径长度类似地进行。)然后,可由中继装置通过以下备选方案中的任何备选方案获得最大允许路径长度:

•源装置(sd)在用户数据消息(530)中传送以下各项的任何组合:

  ◦最大允许路径长度(537)

    ▪这将导致所有可能路径中的所有装置将获得必需的信息

  ◦最短可能路径的路径长度(536)

    ▪这里,中继装置可以用以下方式中的任何方式获得允许的额外跳(允许它计算最大允许路径长度):

      •可以在中继装置中预先配置允许的额外跳

      •可以已经在原始ping消息(510)中的允许的额外跳(518)字段中接收允许的额外跳

      •可以或者已经在另一个消息中从另一个装置获得允许的额外跳

  ◦最短可能路径的路径长度(536)和允许的额外跳(538)

    ▪这将导致所有可能路径中的所有装置将能够计算最大允许路径长度。

在又一些其它实施例中,中继装置(rd)基于接收的ping响应消息(520)中的一个或多个来确定最短可能路径的路径长度。(本领域技术人员将意识到,这将与如上所述的目的地装置(dd)可如何确定最短路径的路径长度类似地进行)然后,可由中继装置通过以下备选方案中的任何备选方案获得最大允许路径长度:

•源装置(sd)在用户数据消息(530)中传送以下各项的任何组合:

  ◦最大允许路径长度(537)

    ▪这将导致所有可能路径中的所有装置将获得必需的信息

  ◦允许的额外跳(538)

    ▪这将导致所有可能路径中的所有装置将能够计算最大允许路径长度

•装置可以用以下方式中的任何方式获得允许的额外跳(允许它计算最大允许路径长度):

  ◦可以在中继装置中预先配置允许的额外跳

  ◦可以已在原始ping消息(510)中的允许的额外跳(518)字段中接收允许的额外跳

  ◦可以或者已经在另一个消息中从另一个装置获得允许的额外跳

以上文本描述了装置查明最大允许路径长度的各种方法,以下文本描述中继装置可如何查明经由中继装置的最短距离。

如上文已经提到的,经由中继装置的最短距离是中继装置作为其一部分的源装置和目的地装置之间的最短可能路径的路径长度。

在该示例中,如图7所示,d6是两条可能路径p2(具有路径长度5)和p3(具有路径长度6)的一部分。这里,经由中继装置的最短距离是5(它是p2的路径长度)。

在本文中的不同实施例中,中继装置可以用不同的方式获得经由中继装置的最短距离。(这里必须记住,经由中继装置的最短距离不一定具有与最短可能路径的路径长度相同的值。)

用于计算经由中继装置的最短距离的一种方法是将以下两个距离求和:

•从中继装置到源装置的最短距离

•从中继装置到目的地装置的最短距离

作为对以上公式的泛化,可以说,可根据中继装置作为其一部分的最短路径的不同子路径的路径长度计算经由中继装置的最短距离。例如,可将图7中的p2划分为两条子路径(d1-d2-d6和d6-d3-d4-d5),但是也可以用许多其它方式来将它划分,另一个示例将是将它划分成5条子路径(d1-d2,d2-d6,d6-d3,d3-d4,d4-d5)。

在一个实施例中,将经由中继装置的最短距离(或能够计算它的一些子路径的必需路径长度)存储在中继装置中。

在另一个实施例中,将以上信息存储在另一个装置中。在这种情况下,中继装置将必须从该另一个装置获得信息。

在又一个实施例中,将能够计算经由中继装置的最短距离的一些子路径的必需路径长度分布在装置之间。在这种情况下,中继装置将必须从一个或多个其它装置获得一些或所有路径长度。

回到通过将从中继装置到源装置的最短距离和从中继装置到目的地装置的最短距离相加来计算经由中继装置的最短距离的情形。

可以用两种不同的方式来获得子路径中的每个子路径的距离或长度。让我们以从中继装置到源装置的最短距离为例。如果源装置ping中继装置(意图仅是查明这两个装置之间的最短距离,或者意图是以将数据发送到中继装置为意图而查看是否可到达中继装置),那么可获得该距离。如果改为中继装置ping源装置(具有与以上相反的情形中所讨论的意图相同的可能意图),则可获得相同的距离。

可事先获得或根据需要(在需要时)获得两个子路径的距离。中继装置可存储与它何时ping了其它装置以及其它装置何时ping了它有关的信息。中继装置也可具有用于决定此类存储的信息是否有效以及有效多长时间的机制或逻辑。在一些网络中,当例如所有或大多数装置的位置在地理上固定(例如,工厂中的传感器)或者当相对距离固定(例如,在移动的船上的容器上的传感器)时,这些值可能在较长的时间内有效。在装置具有更高移动性程度的其它类型的网络中,这些值可能在显著更短的时间量内有效。如果这些值仍然有效,则可使用它们,如果它们不再有效,则将必须获得新值。

以下更详细地概述中继装置通过ping源装置和目的地装置而获得经由中继装置的最短距离时的情形。这意味着,中继装置将通过ping源装置而获得从中继装置到源装置的最短距离,并且通过ping目的地装置而获得从中继装置到目的地装置的最短距离,并且然后将这两个距离相加。这在图13中示出。

•s1621示出中继装置通过向源装置传送ping消息(510)而启动对源装置的ping。

•s1622示出中继装置从源装置接收ping响应消息(520),ping响应消息(520)与在s1621中发送的ping消息(510)相关联。ping响应消息(520)包含表示中继装置和源装置之间的距离的最短可能路径的路径长度(526)。

•s1623示出中继装置通过向目的地装置传送ping消息(510)而启动对目的地装置的ping。

•s1624示出中继装置从目的地装置接收ping响应消息(520),ping响应消息(520)与在s1623中发送的ping消息(510)相关联。ping响应消息(520)包含表示中继装置和目的地装置之间的距离的最短可能路径的路径长度(526)。

•s1625示出经由中继装置的最短距离的确定。将通过将从ping响应消息中的可能最短路径获得的这两个距离简单地相加来进行该确定。

关于以上描述和图13,必须澄清几件事情。

图13中的步骤不一定必须按照如图中所示的顺序发生。本领域技术人员将意识到:首先ping哪个装置以及按哪种顺序接收ping响应消息不影响逻辑或计算。

本领域技术人员还将意识到,描述不同设备确定最短可能路径长度的不同方式的与图6有关的描述也适用于以上描述,这意味着例如,用ping响应消息对ping消息做出响应的装置可做出只发送一个ping响应消息的确定,或者启动ping序列的装置可做出该确定,从而可能接收多个ping响应消息。请参考与图6有关的描述以得到更多细节。

用这种方式获得的不同距离和其它相关信息可存储在中继装置中以供将来/稍后使用。

也可通过听到和分析网络中的其它节点与sd和dd之间的ping消息和ping响应消息来获得经由中继装置的最短距离。

根据上文描述的逻辑,中继装置可查明最大允许路径长度和经由该中继装置的最短距离。如果经由中继装置的最短距离小于或等于最大允许路径长度,那么它将意味着中继装置在足够短的路径上,否则不在足够短的路径上。如果中继装置在足够短的路径上,那么从源装置到中继装置的用户数据消息将被中继,否则不被中继。

当使用在本文中的实施例中建议的方法和设备时,将在路径中尽可能快地进行过滤,并将使高程度的不必要中继最小化。

作为示例,如果允许的额外跳等于1,那么它意味着用于中继的最大允许路径长度将是5。在路径p3中,装置d7将已经确定它不在足够短的路径上,并且将不中继用户数据消息。在路径p4中,装置d10将已经确定它不在足够短的路径上,并且将不中继用户数据消息。

让我们再次与使用ttl(存活时间)做简短的比较。

假设d1知道从d1到d5的最短距离是4个跳。

作为示例,为了确保用户数据消息到达d5,d1可将ttl设置成4。这将意味着,在路径3中,d7将中继用户数据消息,允许它到达d8。在路径4中,d10、d11和d12将中继用户数据消息,允许它到达d13。

作为另一个示例,d1可将ttl设置成5,意图是使用ttl来实现一些额外的多路径行为。这将意味着,在路径3中,d7和d8将中继用户数据消息,允许它到达d4。在路径4中,d10、d11、d12和d13将中继用户数据消息,允许它到达d14。

以上示例说明,使用ttl将实现某种过滤,但是也可看到,将在路径末端实现过滤。这意味着,将进行一些不必要的中继,这意味着用户数据消息在它将在路径末端被阻塞的情况下将甚至在路径的部分中被中继。在两个示例中,在路径3中,d7将中继用户数据消息,此时实际上它们所做的中继将无助于用户数据消息到d5的成功传输。在路径4中,它将甚至更糟,这里若干个装置将中继用户数据消息而没有益处。这里可以看到,根据在本文中的实施例中建议的方法和设备的性能在这里将比如果使用ttl的性能显著更好。

图8引入ardts(允许的到源的剩余距离)。ardts的引入虑及中继装置确定它是否在足够短的路径上的备选方法。

ardts规定了允许的到源的剩余距离,它表示当中继从目的地装置预定去往源装置的ping响应消息(520)时允许的从中继装置到源装置的剩余距离。请注意,ardts不是主要旨在允许中继装置确定是否应当中继ping响应消息本身(尽管在一些实施例中,它可用于过滤此类中继)。而是,ardts主要旨在允许中继装置了解它是否在足够短的路径上,允许中继装置确定它是否应当将用户数据消息从源装置中继到目的地装置。

作为比较,上文参考图7进一步描述的解决方案基于:为了中继装置能够确定它在足够短的路径上,它将需要知道两个事项。

•最大允许路径长度

  ◦它是以下两项之和:

    ▪最短可能路径的路径长度

    ▪允许的额外跳

•经由中继装置的最短距离

这里参考图8和图9描述的解决方案基于:为了中继装置能够确定它在足够短的路径上,它将需要知道两个事项。

•允许的到源的剩余距离(ardts)

  ◦它是以下两项之和:

    ▪在最短可能路径上的到源的剩余距离(rdts)

    ▪允许的额外跳

•源装置和中继装置之间的最短距离

如果ardts大于或等于源装置和中继装置之间的最短距离,那么中继装置在足够短的路径上,否则不在。

在不同的装置中,ardts(允许的到源的剩余距离)具有不同的值。它在目的地装置中具有最高值(起始值),其中它对应于最大允许路径长度。对于更靠近源装置一步的每个中继装置,ardts减1。

ardts(允许的到源的剩余距离)基于相关值rdts(到源的剩余距离)。在ping响应消息中的rdts(到源的剩余距离)字段中携带rdts。下文关于图9进一步详细阐述ardts和rdts之间的关系。

源装置和中继装置之间的最短距离在不同节点中也具有不同的值。可从ping消息中的跳计数器获得该值(在与图7有关的描述中详细讨论了跳计数器)。

如上文可见,这两种解决方案基于相同的原则:最大允许路径长度(最短可能路径的路径长度加上允许的额外跳)反映设计目标。这纯粹是在装置之间分配不同参数以允许中继装置确定它是否在足够短的路径上(意味着它应当中继用户数据消息)的两种略微不同的方式的问题。

图8中的表格示出具有三种不同的设计准则的三种不同情形的ardts值。为了使该表较不复杂并且从而更易于理解,作为介绍,它只示出是路径p2(d1-d2-d6-d3-d4-d5)的部分的装置的ardts值。为了进一步简化事项,该表还只示出可从经由路径p2接收的ping响应消息导出的ardts值。(是路径p2的部分的装置也可以是其它路径的部分,并且也可通过这些其它路径接收ping响应消息。)

从第一列中的p2开始的下面三行示出了三种不同的情况,每行一种情况。不同的设计准则涉及对最大允许路径长度使用不同的值。最大允许路径长度是应用于目的地装置的ardts的起始值。

第一行示出了当将最大允许路径长度设置成“最短可能路径的路径长度”(在该示例中为4)时的示例。这意味着,只有在具有路径长度4的路径上的装置应当中继用户数据消息。如可看到的,对于更靠近源装置一步的每个装置,值减1,例如d6的ardts是1。

第二行示出了当将最大允许路径长度设置成“最短可能路径的路径长度”加上1个允许的额外跳时的示例。这意味着,只有在具有路径长度5或更短路径长度的路径上的装置应当中继用户数据消息。如可看到的,对于更靠近源装置一步的每个装置,值减1,例如d6的ardts是2。

第三行示出了当将最大允许路径长度设置成“最短可能路径的路径长度”加上2个允许的额外跳时的示例。这意味着,只有在具有路径长度6或更短路径长度的路径上的装置应当中继用户数据消息。如可看到的,对于更靠近源装置一步的每个装置,值减1,例如d6的ardts是3。

现在,图9示出在确定中继装置是否在足够短的路径上时关于可如何使用ardts的示例。

以下描述聚焦于作为中继装置的d6(如图9的上部中所指示的),但是也将覆盖d3和d8作为中继装置时的情况。

图9的下部中的表格示出源装置和中继装置之间的最短距离的值以及ardts的值。

表中的每行示出特定装置的值。如可看到的,在图9的上部中,一些装置在多条路径上(例如,d6和d3),而一些装置则不在多条路径上(例如,d8)。在多条路径上的装置将在多个行中具有值,每条路径一行,因此:

•d6在两行中具有值(一行针对p2,并且一行针对p3)

•d3在两行中具有值(一行针对p1,并且一行针对p2)

•d8在一行中具有值(针对p3)。

具有标头“到源装置的距离”的表的最左边部分或块与源装置和中继装置之间的最短距离的确定有关。

每行示出对于在中继装置作为其一部分的路径上的中继装置的从中继装置到源装置的距离。在中继装置是多条路径的一部分的情况下,将存在多个行,每条路径一行。在不同路径上在相同中继装置中,到源装置的距离可以是不同的。可从ping消息中的跳计数器获得从中继装置到源装置的距离。如果路径朝向源装置分支,那么ping消息(或其实例)可多次到达。

作为示例,装置d3是路径p1和p2的一部分。当ping消息经由p1到达时,它在到达d3之前已经经过d1和d2,此时到源装置的距离将为2。当ping消息经由p2到达时,它在到达d3之前已经经过d1、d2和d6,此时到源装置的距离将为3。

源装置和中继装置之间的最短距离是对于不同路径到源装置的距离的一个或多个值中的最短距离。在以上示例中,对于作为中继装置的d3,源装置和中继装置之间的最短距离是2和3中的最小值,其为2。意味着在d3作为其一部分的任意路径中,到源装置的最短距离是2。

表格的三个最右边的部分或块与ardts的确定有关。

这三个部分或块中的每个与由不同的ardts起始值(表示目的地装置中的值)表示的特定设计准则(表示最大允许路径长度的不同值)有关,所述设计准则与图8中的表中所使用的示例相同。

每个部分或块中的每行示出与中继装置作为其一部分的路径有关的中继装置的ardts的值。在中继装置是多条路径的一部分的情况下,将存在多个行,每条路径一行。相同中继装置中的ardts可在不同路径上不同。可基于在ping响应消息中的rdts字段中携带的相关rdts来确定ardts,这能够如何进行将在下文进一步详细阐述。如果路径朝向目的地装置分支,那么ping响应消息(或其实例)可多次到达。

作为示例(如图5、图7和图9中所示),装置d6是路径p2和p3的一部分。当ping响应消息经由p2到达时,它在到达d6之前已经经过d5、d4和d3。如果使用中间设计准则(其中目的地装置中ardts等于5),那么在路径p2中,d6中的ardts将是2。当ping响应消息经由p3到达时,它在到达d3之前已经经过d5、d4、d8和d7。如果使用中间设计准则(其中目的地装置中ardts等于5),那么在路径p3中,d6中的ardts将是1。

ardts是与路径有关的中继装置的最长或最大ardts。在以上示例中,d6的ardts是2和1中的最大值,其为2。最大ardts(其是要被选择作为ardts的值)表示已经经过较少节点的ardts,表示已经从目的地装置到中继装置行进最短途径的ping响应消息中的ardts。

现在让我们举中继装置将如何确定它是否在足够短的路径上的几个示例。

如上文进一步陈述的,如果ardts大于或等于源装置和中继装置之间的最短距离,那么装置在足够短的路径上,否则不在。

让我们开始讨论将ardts的起始值(最大允许路径长度)设置成“最短可能路径的路径长度”时的情形。这里,表的令人感兴趣的部分是最左边部分(具有题头“到源装置的距离”和“距离”的第3列)以及右边三个部分的最左边部分(具有题头“dd中ardts等于4”的第4列)。让我们覆盖当d6、d3和d8是中继装置时的情形。(针对d6详细解释逻辑,针对d3和d8的逻辑是相同的)

•在d6中,

  ◦到源装置的最短距离

    ▪是可应用的路径p2(行2)和p3(行3)的距离字段(列3)的最小值

    ▪是2

  ◦ardts

    ▪是可应用的路径p2(行2)和p3(行3)的dx字段(列4)中的值的最大值

    ▪是1

  ◦ardts大于或等于到源装置的最短距离

    ▪因此,d6在足够短的路径上

•在d3中,

  ◦到源装置的最短距离

    ▪是可应用的路径p1(行4)和p2(行5)的距离字段(列3)的最小值

    ▪是2

  ◦ardts

    ▪是可应用的路径p1(行4)和p2(行5)的dx字段(列4)中的值的最大值

    ▪是2

  ◦ardts大于或等于到源装置的最短距离

    ▪因此,d3在足够短的路径上

•在d8中,

  ◦到源装置的最短距离

    ▪是唯一可应用的路径p3(行6)的距离字段(列3)的最小值

    ▪是4

  ◦ardts

    ▪是唯一可应用的路径p3(行6)的dx字段(列4)中的值的最大值

    ▪是2

  ◦ardts大于或等于到源装置的最短距离

    ▪因此,d8在足够短的路径上

接下来,让我们看将ardts的起始值(最大允许路径长度)设置成“最短可能路径的路径长度”加上1的情形。进行与上文相同的分析,除了在获得ardts时使用来自具有题头“dd中ardts等于5”的第5列的数据,将发现:

•d6在足够短的路径上

•d3在足够短的路径上

•d8在足够短的路径上

接下来,让我们看将ardts的起始值(最大允许路径长度)设置成“最短可能路径的路径长度”加上2的情形。进行与上文相同的分析,除了在获得ardts时使用来自具有题头“dd中ardts等于6”的第6列的数据,将发现:

•d6在足够短的路径上

•d3在足够短的路径上

•d8在足够短的路径上

如上文所提到的,ardts基于相关值rdts。在ping响应消息(520)中的到源的剩余距离字段(529)中携带rdts。取决于如何设计系统,rdts可具有两种不同的含义。rdts可表示以下任一项:

允许的到源的剩余距离

•最短可能路径上的到源的剩余距离

为了使ardts允许所有中继装置获得ardts,必须通过路径分配对应的rdts值,路径中的每个中继装置必须通过朝向源装置中继ping响应消息而作出贡献。接收ping响应消息的中继装置将获得rdts值,步进它,使用它,在本地存储它,或进行两者,将它插入到将向源装置转发的ping响应消息中。

为了有助于rdts值的分配,中继装置(rd)将执行以下步骤中的一些或所有步骤(不一定按照下文列出的准确顺序):

•接收从目的地装置(dd,d5)预定去往源装置(sd,d1)的ping响应消息(520)

•确定ping响应消息是否预定去往中继装置(意味着它将是对在中继装置中而不是在源装置中发起的ping消息的响应)

•如果ping响应消息不预定去往中继装置,那么:

  ◦从ping响应消息(520)中的rdts字段(529)获得rdts

  ◦减小获得的rdts,指示已经成功进行了朝向源装置的又一次跳

  ◦中继ping响应消息(520),其中rdts字段现在包含获得并减小的rdts。

请注意,与关于启动跳计数器和步进跳计数器的各种方法的讨论类似,可以以各种方式实现ardts(和/或rdts)的初始值和ardts(和/或rdts)的步进。最直接的备选方案是将起始值(目的地装置中的ardts的值)设置成最大允许路径长度并通过减小1而步进。另一种直接的备选方案是将起始值设置成最大允许路径长度减1并通过减小1而步进。选择这些方式中的哪种方式取决于中继装置是在步进该值之前还是以相反方式使用该值。基本上,它是关于接收装置应当将ping响应消息中的rdts值视为在发送装置中还是在接收装置中有效。只要涉及的装置同意该逻辑,广泛种类的其他方法是可能的。

项目列表中对步骤的描述描述了如何通过路径上的装置分配rdts值的基本机制。

除以上之外,如果中继装置在与相同ping消息有关的多个ping响应消息中接收到多个rdts值,那么中继装置必须确定哪个rdts值最大,并且在确定ardts时使用最大值。中继装置还可在中继特定的ping响应消息时选择使用较大的值,或者简单地使用在接收该特定的ping响应消息时获得的值。

并且,取决于rdts的含义,必须采取不同的行动来获得ardts。

如果rdts表示允许的到源的剩余距离,那么ardts等于rdts(并且中继装置并不必须单独地获得允许的额外跳)。

如果rdts表示在最短可能路径上的到源的剩余距离,那么可根据rdts和允许的额外跳(它们必须被单独地获得)之和计算ardts。这里,与图7的相关描述类似,可以用各种方式获得允许的额外跳。取决于实现,中继装置可从以下中的任何一项获得允许的额外跳:

•从源装置发送的ping消息(510)

  ◦在允许的额外跳字段(518)中

•从目的地装置发送的ping响应消息(520)

  ◦在允许的额外跳字段(528)中

•可在中继装置中预先配置允许的额外跳

•从源装置发送的用户数据消息(530)

  ◦在允许的额外跳字段(538)中

•从另一个装置发送的另一个消息。

在上面的前三种方式中,在接收到ping响应消息(唯一一个,或许多个之一)时,ardts将在中继装置中可用。

在第四种方式中,在接收到用户数据消息时,ardts将可用。

在第五种方式中,取决于实现,ardts可在不同的时间可用。

与使用ttl(存活时间)的比较将与在讨论图7时进行的比较类似。

图10示出不同消息类型的消息格式。将在本描述通篇中描述消息类型和字段的准确使用。下文给出简短概述。

描述聚焦于三种不同的消息类型,即,ping消息(510)、ping响应消息(520)和用户数据消息(530)。一些字段存在于所有三种消息类型中,并且一些字段只对一种消息类型是唯一的。当在以下字段引用中使用x时,它意味着描述是通用的,并且在所有消息类型中覆盖该字段。

在描述地址字段之前,重要的是指出,在本描述通篇中,除非特别声明,否则对于不同装置使用以下术语。

源装置-表示想要向目的地装置发送用户数据消息或想要发送预定去往目的地装置的用户数据消息的装置。在发送用户数据消息(530)之前的某个时间点,源装置将向目的地装置发送ping消息(510)或发送预定去往目的地装置的ping消息(510),这尤其是为了查明目的地装置是否是可到达的以及以跳来衡量它有多远。表达这一点的另一种方式是说,源装置是ping消息和用户数据消息的发起者,并且目的地装置是预定的接收者。ping消息以及还有用户数据消息可能由不同路径上的其它装置朝向目的地装置中继。当中继时,源装置仍然是ping消息和用户数据消息的发起者。对应的中继的消息可视为是原始装置的不同实例,尽管一些字段中的值可能被改变,但是对应的中继的消息主要是原始消息的副本。

目的地装置-表示作为ping消息(510)和用户数据消息(530)的预定接收者的装置。在接收到ping消息时,目的地装置将通过发送回预定去往源装置的ping响应消息(520)而做出响应。在这种情况下,目的地装置是ping响应消息的发起者,并且源装置是预定的接收者。

中继装置-表示将关于是否中继在源装置中发起并预定去往目的地装置的用户数据消息做出决定的装置。

本文中描述的所有不同的场景具有以下总体消息流目标。源装置向目的地装置发送ping消息,目的地装置用ping响应消息做出响应,然后源装置将向目的地装置发送用户数据消息。所有这些不同的信息可能由其它装置中继。

源地址5x1和目的地地址5x2是存在于所有消息类型的消息中的两个字段。源地址指示消息的发起者,而目的地地址指示消息的预定接收者。

序列号5x3是可选字段,其含义是它是否存在以及如果存在将如何实现该用途对于所描述的实施例的基础来说不重要。如果存在,那么可利用它来分离不同的消息,例如它可识别从特定源装置到特定目的地装置的不同用户数据消息。

ttl(存活时间)5x4是可选字段,其含义是它是否存在以及如果存在将如何实现该用途对于所描述的实施例的基础来说不重要。ttl对于设置在它从目的地节点到源节点的途径上应当允许消息进行多少次跳的限制是有用的。

用户数据字段540在用户数据消息(530)中携带用户数据。

在讨论本发明的不同实施例时,已详细解释了其余字段。

图11-14是描绘中继装置中的方法的不同实施例的简化流程图。示出更通用的方面的图11,也是图12至图14的基础,图12至图14示出更具体的方面。

这些流程图旨在描述该方法中的步骤的顶级方面。关于图1-9详细阐述了例如在不同实施例中要从哪个消息获得哪些参数的更复杂的细节。

图11是描述中继装置中的方法的通用实施例的简化流程图。该流程图涵盖本描述中的两个主要实施例。这两个主要实施例描述中继装置如何确定是否中继用户数据消息。在这两个主要实施例中,是否中继用户数据消息的确定基于中继装置确定它是否在源装置和目的地装置之间的足够短的路径上。这两个主要实施例之间的主要差别是,中继装置如何确定它是否在足够短的路径上,将关于图12-14详细阐述这一点。

中继装置将:

•s1000-接收ping消息510(在源装置中发起,预定去往目的地装置),并从ping消息获得一个或多个参数。这两个主要实施例中均需要的参数的示例是跳计数器514。

•s1100-朝向目的地装置中继ping消息。

•s1200-接收与ping消息有关的用户数据消息530(在源装置中发起,预定去往目的地装置)。

•s1400-基于它是否已经接收到与ping消息510有关的ping响应消息520来确定它是否在可能路径上。

◦如果它在可能路径上,则

  ▪s1900-不中继用户数据消息

◦如果它在可能路径上,则:

  ▪s1600-确定它是否在足够短的路径上

    •如果它在足够短的的路径上,则

      ◦s1900-不中继用户数据消息

    •如果它在足够短的的路径上,则

      ◦s1900-中继用户数据消息

图12是描绘在对是否中继做出决定基于获得经由中继装置的最短距离时中继装置中的方法的实施例的流程图。

该流程图和图11中的流程图的差别在于:

•s1600-确定它是否在足够短的路径上

可分解为两个步骤。

•s1620-获取经由中继装置的最短距离。

•s1640-确定它是否在足够短的路径上(基于经由中继装置的最短距离)。

图13是描绘在中继装置中的用于使用ping获取经由中继装置的最短距离的方法的实施例的流程图。它更详细地概述了中继装置通过ping源装置和目的地装置获得经由中继装置的最短距离时的情形。这意味着,中继装置将通过ping源装置获得从中继装置到源装置的最短距离,并通过ping目的地装置获得从中继装置到目的地装置的最短距离,并且然后将这两个距离相加。这在图13中示出。

•s1621示出中继装置通过向源装置传送ping消息(510)而启动对源装置的ping。

•s1622示出中继装置从源装置接收ping响应消息(520),ping响应消息(520)与在s1621中发送的ping消息(510)相关联。ping响应消息(520)包含表示中继装置和源装置之间的距离的最短可能路径的路径长度(526)。

•s1623示出中继装置通过向目的地装置传送ping消息(510)而启动对目的地装置的ping。

•s1624示出中继装置从目的地装置接收ping响应消息(520),ping响应消息(520)与在s1623中发送的ping消息(510)相关联。ping响应消息(520)包含表示中继装置和目的地装置之间的距离的最短可能路径的路径长度(526)。

•s1625示出确定经由中继装置的最短距离。将通过将从ping响应消息中的最短可能路径获得的两个距离简单地相加来进行该确定。

图13中的步骤不一定必须按照如图中所示的顺序进行。本领域技术人员将意识到:首先ping哪个装置以及按哪种顺序接收ping响应消息不影响逻辑或计算。

图14是描绘在对是否中继做出决定基于允许的到源的剩余距离(ardts)时的中继装置中的方法的实施例的流程图。

该流程图和图11中的流程图之间的差别在于:

•s1600-确定它是否在足够短的路径上。

可分解为两个步骤。

•s1660-获取允许的到源的剩余距离。

•s1640-确定它是否在足够短的路径上(基于允许的到源的剩余距离)。

图15是示出中继装置的实施例的示意性框图。

中继(rd)装置包括各种单元。

控制器单元(u100)进一步包括确定单元(u102)、获取单元(u104)、获得单元(u106)和中继单元(u108),其中根据本说明书中描述的各种实施例,控制器单元(u100)(和/或所包括的单元)配置成做出确定、获取和获得信息并中继消息。

根据本申请中描述的各种实施例,数据库(u112)用于永久或临时存储不同信息。

根据本申请中描述的各种实施例,收发器单元(u110)配置成传送和接收各种消息。

图16示出计算机程序产品的一个示例。

计算机程序产品(710)包括计算机程序(720)和计算机可读存储介质(730),在所述计算机可读存储介质(730)上存储计算机程序,其中计算机程序在中继装置上运行时使中继装置执行本文中的任何或所有各种实施例。

本文中的实施例可通过模拟电路和数字电路以及一个或多个控制器单元连同用于执行本文中的实施例的功能和动作的计算机程序代码的组合来实现。上面提到的程序代码也可被提供为计算机程序产品,所述计算机程序产品例如采用携带计算机程序代码的数据载体的形式,所述计算机程序代码用于在加载到移动通信装置中时执行本文中的实施例。一种此类载体可以采用cdrom盘的形式。但是,用诸如记忆棒的其它数据载体是可行的。此外,计算机程序代码可以被提供为服务器上的纯程序代码,并且在产生时和/或在软件更新期间下载到移动通信装置。

本领域技术人员还将明白,框图中的方框可以指配置有例如存储在任何存储单元中的软件和/或固件的一个或多个控制器单元和/或模拟和数字电路的组合,所述软件和/或固件在由所述一个或多个控制器单元执行时如上面所描述的那样执行。这些控制器单元中的一个或多个控制器单元以及模拟和数字电路的任何其它组合可被包括在单个专用集成电路(asic)中,或者若干个控制器单元和各种数字硬件可分布在若干个独立组件之中,无论所述独立组件是单独封装的还是组装到芯片上系统(soc)中的。所述一个或多个控制器单元可以是中央处理单元(cpu)、图形处理单元(gpu)、可编程逻辑阵列(pal)或任何其它类似类型的电路或逻辑布置中的任何一个或其任何组合。

当使用词语“包括(comprise或comprising)”时,应将它解释为是非限制性的,即,意味着“至少由...组成”。

上文参考几个实施例主要描述了本发明概念。但是,本领域技术人员将容易地明白,与上文公开的实施例不同的其它实施例同样有可能在由随附专利权利要求书定义的本发明概念的范围内。

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