首页> 中国专利> 使用树状拓扑建立最佳路由的设备和方法

使用树状拓扑建立最佳路由的设备和方法

摘要

一种方法,用于在移动通信系统中使用树状拓扑通过中间节点来中继路由请求RREQ消息,该中间节点与至少一个节点连接,该移动通信系统包含目的节点和源节点,该源节点经由至少一个中间节点将RREQ消息发送到目的节点,从而建立用于通信的最佳路由。RREQ消息是沿除树状路由之外的路由被接收的,并且使用它的信息来更新该第一信息。该中间节点将包含更的新第一信息的RREQ消息中继到下一个中间节点。

著录项

  • 公开/公告号CN1599350A

    专利类型发明专利

  • 公开/公告日2005-03-23

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;纽约城市大学;

    申请/专利号CN200410076688.8

  • 发明设计人 胡旭晖;刘勇;朱春晖;李明钟;

    申请日2004-05-09

  • 分类号H04L12/44;

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人邵亚丽;马莹

  • 地址 韩国京畿道

  • 入库时间 2023-12-17 16:00:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-10-21

    授权

    授权

  • 2005-05-25

    实质审查的生效

    实质审查的生效

  • 2005-03-23

    公开

    公开

说明书

本申请要求享有2003年5月9日在美国专利和商标局提交的美国临时申请No.60/469,015的权益,其全部公开内容以引用方式包含在本文的内容中。

技术领域

本发明一般涉及无线个人区域网(WPAN),更具体地涉及基于树状拓扑(tree topology)在WPAN内建立从源节点到目的节点的路由的设备和方法。

背景技术

通常,在移动通信系统中,在移动单元与基站之间发送和接收数据。即,移动单元和基站直接发送和接收数据,无需经过其他节点。与此相反,开发了无线个人区域网(WPAN),用于在较短范围内互连装置。WPAN是能使多个节点相互通信的特定(ad-hoc)数据通信系统。包含在该特定网络内的发送节点经其他节点将数据发送到接收节点。如果接收节点与发送节点相邻,就能够在这些节点之间直接传送数据。现在参考图1,描述一种根据传统路由算法的数据传输,该路由算法与基于树状拓扑构成该特定网络的节点相关。

图1的特定网络至少包括两个节点。这些节点被分为两类。一类是维护路由选择表(routing table)并被称为“N+”的节点。另一类是没有路由选择表并被称为“N-”的节点。

下面描述在包括N+和N-的特定网络内建立路由的传统方法。假设节点A是源节点,并且节点I是目的节点。源节点请求建立到目的节点的路由。因此,其是N+的节点A检测其路由选择表是否包含与目的节点I相关的路由信息。如果不包含,则节点A在步骤S100将路由请求RREQ消息广播给相邻节点,以建立到节点I的路由。其是N+的节点B在其路由选择表内查找关于接收到的RREQ消息的目的节点I的路由信息。如果存储了该路由信息,则节点B利用路由应答RREP消息进行应答。如果没有存储该路由信息,则在步骤S102和S108将路由信息字段创建到其路由选择表内,并对相邻节点广播RREQ消息。其是N+的节点C在步骤S104和S106也执行与节点B相同的操作。

当从节点B接收到RREQ消息时,其是N-的节点G在步骤S128发送RREP消息给节点B,以应答RREQ消息。根据传统算法,该特定网络内的N-发送RREP消息来应答RREQ消息。虽然该N-自身不是接收到的RREQ消息所请求的目的节点,但是它根据树状拓扑及其节点特性来发送RREP消息。即,由于N-不具有它自己的路由选择表,甚至在接收到RREQ消息后,N-也不能存储或查找路由信息,而且由于树状拓扑仅允许消息传输到上游节点或下游节点,进一步的路由搜索是不可行的。在步骤S120中,来自节点G的RREP消息经节点B被转发到节点A。通常,在树状拓扑的创建阶段,每个节点在其相邻列表内存储关于例如1跳跃(hop)等某距离内的节点的信息。

其是N-的节点D执行与节点G相同的操作。因此,由节点D产生的RREP消息在步骤S124、S122和S120经节点C和B被转发到节点A。当接收到来自节点C的RREQ消息时,其是N+的节点F在步骤S110、S112和S114能够广播RREQ消息。节点E执行与节点G相同的操作。节点H在步骤S116将接收到的RREQ消息转发给节点I。当接收到RREQ消息时,节点I认识到节点A为其请求路由的节点是它自己。因此,节点I产生RREP消息来应答RREQ消息。该RREP消息沿RREQ消息的路由被转发到节点A。结果,在节点A和节点I之间建立了路由。虽然没有描述,具有路由选择表的N+通过使用接收的RREQ消息信息将关于目的节点的字段创建到其路由选择表内,并将接收的RREQ消息发送到相邻节点。通常,N+更新并转发跳跃总数(hop count)到相邻节点。选择具有最小跳跃总数的路由作为节点之间的路由。然后,N+接收用于应答RREQ消息的RREP消息,并通过填充为相关节点创建的路由选择表的字段值来管理它们的路由选择表。根据前述内容,节点A接收用于应答单个RREQ消息的多个RREP消息。同时,来自N-的RREP消息不是必要的。

图2显示基于传统算法的使用节点在特定网络内建立路由的另一个示范过程,在此过程中,可建立从源节点到目的节点的前向路由(forward route),该路由不同于从目的节点到源节点的反向路由(backward route)。

节点A请求建立到节点E的路由。节点A通过查找所存储的路由选择表来确定是否已建立到节点E的路由。如果确定没有到节点E的路由,则节点A在步骤S200广播RREQ消息。当接收到RREQ消息时,节点B也查找所存储的路由选择表,并确定是否建立了到节点E的路由。如果确定没有到节点E的路由,则节点B在步骤S202广播该RREQ消息。

节点C确定它自己是否是节点A请求为其建立路由的节点。由于节点C不是节点A请求为其建立路由的节点,其是N-的节点C在步骤S204沿树状路由发送RREQ消息到节点D。节点D也确定它自己是否是节点A请求为其建立路由的节点。由于节点D不是节点A请求为其建立路由的节点,节点D在步骤S206发送RREQ消息给节点E。节点E认识到它自己就是节点A请求为其建立路由的节点。

节点E产生RREP消息以应答RREQ消息。所产生的RREP消息在步骤S210被发送给节点D。节点D在步骤S212将接收的RREP消息发送给节点F。节点F沿树状路由将RREP消息转发给源节点A。结果,前向路由不同于反向路由,因此需要一种解决此问题的方案。

发明内容

为解决相关技术的上述缺点,本发明的一个方面是提供一种能够在无线网络中建立最佳路由的设备和方法,该无线网络包含树状拓扑结构和具有有限功能的节点(例如,由于缺少其自己的路由选择表而不具有按需(on-demand)路由选择建立功能的N-)。

本发明的另一个方面是提供一种能够防止接收用于应答RREQ消息的多个RREP消息的设备和方法。

本发明的另一个方面是提供一种能够建立与前向路由相同的反向路由的设备和方法。

本发明的另一个方面是提供一种用于以最小链路成本,通常以具有最小跳跃总数,来建立到目的节点的最佳路由的设备和方法。

为实现本发明的以上方面,提供一种具有树状拓扑的移动通信系统中通过中间节点来中继(relay)路由请求RREQ消息的方法,该中间节点与至少一个节点连接,该移动通信系统包含目的节点和源节点,该源节点经至少一个中间节点来发送RREQ消息到目的节点,上述方法包含:根据目的节点的位置来确定是使用路由选择路由(routes route)还是使用按需系统的表驱动方案(table-driven scheme)来搜索并建立路由,当沿着除树状路由之外的路由接收到RREQ消息时,使用它所存储的信息来更新用于搜索反向路由的第一信息,并发送包含更新的第一信息的RREQ消息。

此外,提供一种在具有树状拓扑的移动通信系统中建立从源节点到目的节点的路由的设备,该移动通信系统包含目的节点和源节点,该源节点经至少一个中间节点发送RREQ消息给目的节点,上述设备包含:源节点,用于根据目的节点的位置来确定使用预先建立的树状路由或者按照需要通过广播RREQ消息来搜索新路由的路由建立方法,根据该确定来创建路由请求RREQ消息,并且发送所创建的RREQ消息;至少一个中间节点,用于传送RREQ消息,当沿着除树状路由之外的路由接收到RREQ消息时,使用它的信息来更新该RREQ消息的第一信息;以及目的节点。

附图说明

从下面结合附图对实施例的说明,本发明的这些和/或其他的方面和优点将变得更清楚,并且更容易被理解,其中:

图1是表示基于树状拓扑的特定网络中的传统路由选择的一个例子的示意图;

图2是表示基于树状拓扑的特定网络中的传统路由选择的另一个例子的示意图;

图3是表示根据本发明一个实施例的树状路由选择的示意图;

图4是表示根据本发明一个实施例的RREQ接收节点的示范步骤的流程图;

图5是表示根据本发明一个实施例的RREP接收节点的示范步骤的流程图;

图6是表示根据本发明一个实施例的数据接收节点的示范步骤的流程图;

图7是表示根据本发明一个实施例的缺点的示意图;

图8是表示根据本发明一个实施例的另一个缺点的示意图;

图9是表示根据本发明另一个实施例的路由建立的示意图;

图10是表示根据本发明另一个实施例的RREQ接收节点的示范步骤的流程图;和

图11是表示根据本发明另一个实施例的RREP接收节点的示范步骤的流程图。

具体实施方式

现在将详细参照本发明实施例,它们的例子显示在附图中,其中相同的参考标记始终表示相同的元件。为了解释本发明,以下参考附图说明实施例。

在进行详细的说明之前,先说明术语的定义。树状路由指在根据按需方案(on-demand scheme)使用RREQ和RREP消息建立路由之前在节点之间预先建立的路由。路由是使用在源节点和目的节点之间进行通信的中间节点建立的。后代节点(descendent node)是从相关节点沿树状结构进一步向下的节点,即,具有更大深度的节点。祖先节点(ancestor node)是从其相关后代节点沿树状结构向上的节点,即,具有较小深度的节点。父节点(parent node)是相关节点的祖先节点,它沿树状结构向上跟随。子节点(child node)是相关节点的后代节点,它沿树状结构向下跟随。

根据本发明的实施例,源节点根据其类型(N+或N-)和目的节点的位置来确定路由选择方法。如果目的节点是在与源节点即后代节点相同的簇内的祖先节点或者目的节点的簇具有比源节点的簇更大的深度,则最佳路由使用预先建立的树状路由来发送数据分组。否则,与使用路由选择路由(routeroutes)相比较,最佳路由通过广播RREQ消息来使用按需方案。在下文中,说明当将在源节点的应用程序内创建的数据发送到目的节点时的路由选择方法。返回来参考图1,如果节点F是源节点,并且节点A是目的节点,节点F的后代节点是节点E、H和I,而节点F的祖先节点是节点C、B和A。通过分析目的节点A的地址,源节点F可以定位(spot)目的节点和源节点在树状结构内的相对位置。也就是说,源节点F定位目的节点A是它的祖先节点。

通过树状路由器计算,认识到节点A是沿树状路由的祖先节点,节点F发送数据分组给节点A。节点F能将关于节点A是沿树状路由的祖先节点的信息存储到它的路由选择表中。如果该信息被存储到路由选择表中,则节点F使用路由选择表内的信息来发送数据分组到节点A,而不进行树状路由器计算。因此,节点F通过树状路由器计算来定位节点A位置,花费更少的时间。

可选地,节点F可将某种信息附加到被发送的数据。上述某种信息指示当附加到数据中的目的节点的地址与数据接收节点的地址不同时,沿树状路由将数据中继到父节点。因此,节点C将数据中继到节点B,而不使用节点A的地址进行位置定位。节点B也将接收的数据中继到节点A。

因为源节点仅通过分析目的节点的地址并定位目的节点的相对位置而不必建立路由,来发送数据到其是树状结构中的祖先节点的目的节点,因此减少了路由建立时间。结果,减少了数据传输的总时间。源节点能够仅通过一次树状路由器计算来发送数据分组到目的节点。

-本发明的第一实施例

根据本发明的第一实施例,源节点建立到目的节点的路由。首先,说明N-沿树状路由的情形,随后说明N+沿树状路由的另一种情形。

1.树状结构中的N-

如果N-是源节点,则N-源节点确定目的节点是否是它的沿树状路由的后代节点或祖先节点。虽然没有存储路由选择表,N-可以通过分析目的节点的地址来确定目的节点是否是它的后代节点或祖先节点,以便根据该确定使用所连接的树状路由来发送数据分组。N-源节点使用位于到目的节点的路由上的N+作为其代理节点(agent node),来搜索路由。

如果N-是中间节点,则N-中间节点通过分析目的节点的地址,将所接收到的数据中继到其沿树状路由的父节点或子节点。当接收到RREQ消息时,N-根据接收到的RREQ消息的传输类型(广播或单播)进行操作。即,当接收到广播RREQ消息时,N-定位发送RREQ消息的节点的相对位置,并仅当该RREQ消息是从其子节点接收的并且该RREQ消息的最终目的节点是它的后代节点时,使用其树状路由来发送(单播)接收的RREQ消息。因此,不必要的RREQ消息就不会被发送和接收。当接收到单播RREQ消息时,取决于目的节点的相对位置,N-中间节点沿适当的树状路由来发送(单播)接收到的RREQ消息。下面说明一种N-确定接收到的RREQ消息是广播消息还是单播消息的方法。一般地,发送RREQ消息的节点确定是否广播或单播该RREQ消息。如果确定为单播,则节点将要接收RREQ消息的节点地址添加到RREQ消息的目的地址字段中,然后发送RREQ消息。当确定为广播时,节点将在系统设计早期阶段所设置的广播地址信息添加到RREQ消息目的地址字段内,然后发送RREQ消息。当接收到RREQ消息时,接收节点自己能够通过比较目的地址字段和它自己的地址信息,知道该RREQ消息是被广播还是被单播到它自己的。

说明当N-是目的节点的情况。当接收到由树状结构内位于RREQ消息的源节点与目的节点之间的后代节点所广播的RREQ消息时,N-创建RREP消息,并使用包含在接收的RREQ消息内的路由信息来发送RREP消息。当接收到单播RREQ消息时,N-创建并发送RREP消息。

2.树状结构中的N+

如果某个N+节点的应用程序内创建的数据将要被发送到某个目的节点,或者当从相邻节点接收到数据分组时N+成为源节点,则具有它自己的路由选择表的N+在该路由选择表内查找目标信息。如果有,则N+发送数据分组到存储在路由选择表中的下一个跳跃地址。如果没有,则源节点通过分析目的节点的地址信息来定位目的节点的相对位置。如果目的节点是源节点的相邻节点或后代节点,则源节点沿相关树状路由发送数据分组。否则,源节点通过RREQ消息广播来搜索路由,从而建立新路由。接收的数据分组的传输可被阻止,直到结束搜索为止。根据搜索结果,源节点在接收的RREP消息中选择具有最小链路成本(通常,为跳跃总数)的RREP消息,在路由选择表中存储相关信息,并沿相关路由发送数据分组。

当N+是中间节点并接收数据分组时,N+执行与源节点相同的操作。如果接收到RREQ消息,则N+在路由选择表中查找相关信息。如果存储了该相关信息,则N+回复RREP消息,并且如果没有存储相关信息,则N+分析地址。如果目的节点是它的后代节点,则N+使用相关树状路由来将接收到的数据发送到目的节点。如果目的节点不是它的后代节点,则N+向相邻节点广播接收到的RREQ消息。

如果N+是目的节点,则N+在其路由选择表中查找,并确定是否从相关源节点接收了RREQ消息。如果最初接收了RREQ消息,则N+将关于相关源节点的信息记录到路由选择表中,并回复RREP消息。如果接收到重叠的RREQ消息,则N+比较预先存储的链路成本值与接收的RREQ消息的链路成本值。当接收的RREQ消息具有较小值时,N+更新路由选择表信息,并回复RREP消息。现在参考图3,主要参考一个确定的实施例来说明本发明。

源节点是节点E,并且目的节点是节点I。其是没有路由选择表的N-的源节点E在步骤S300沿树状路由发送数据到父节点B。其是树状结构中的终端节点的源节点E具有到其父节点的一条树支。因此,源节点E使用父节点B作为代理节点来发送数据分组,而不分析目标地址。其是N+的节点B从接收的数据中提取目的节点的地址信息,并在其路由选择表中查找关于目的节点的路由信息。如果没有存储该信息,则节点B使用所提取的地址信息来分析目的节点的位置。由于图3的目的节点I不是节点B的后代节点,节点B在步骤S302、S304和S306存储接收的数据,并创建和广播RREQ消息。节点F丢弃接收的RREQ消息,因为接收的RREQ消息是来自沿树状路由的祖先节点的广播消息。

N+节点C在步骤S308、S310、S312和S314使用接收的RREQ消息内的信息,来更新它的路由选择表的目的信息,并广播接收的RREQ消息。节点G和H丢弃接收的RREQ消息。如果节点A维护关于目的节点I的路由选择表,则从节点B和C两者接收RREQ消息的节点A就能够获得目的节点I的位置。节点A发送RREP消息,以应答接收的RREQ消息。此时,节点A比较接收的RREQ消息的跳跃总数,并仅为具有最小跳跃总数的RREQ消息发送RREP消息。还参考图3,节点A仅发送RREP消息到节点B。如果没有维护关于目的节点I的路由选择表,则节点A单播RREQ消息到节点D,因为节点A知道该目的节点不是它的后代节点。为简明起见,省略了对于从节点A发送的RREQ消息的详细说明。

在步骤S316,节点D单播更新的RREQ消息到目的节点I。目的节点I在步骤S318创建RREP消息以应答RREQ消息,并单播所创建的RREQ消息到节点D。当接收到RREQ消息时,节点D在步骤S320使用存储在路由选择表中的信息来发送更新的RREP消息到节点C,并且节点C在步骤S322以相同方式来发送更新的RREP信息到节点B。结果,建立了从节点B到目的节点I的用于传送数据的路由。沿着所建立的路由,节点B发送存储的数据到目的节点I。

图4显示根据本发明一个实施例的RREQ接收节点的示范步骤。节点在步骤S400接收RREQ消息。该节点在步骤S402使用接收的消息来确定它自己是否是目的节点。如果该节点是目的节点,则该节点在步骤S416确定它自己是否是N+。如果该节点不是目的节点,则该节点在步骤S404确定它自己是否是N+。

如果该节点是N+,则该节点在步骤S406确定RREQ消息的目的节点是否是它的后代节点。如果目的节点不是后代节点,则该节点在步骤410更新并转播接收的RREQ消息。如果目的节点是后代节点,则该节点在步骤408更新并单播接收的RREQ消息。同时,如果节点不是N+,则该节点在步骤S412确定接收的RREQ消息是否是从后代节点单播或广播的。如果是,则该节点在步骤408更新并单播接收的RREQ消息。如果不是,则该节点在步骤S414丢弃接收的RREQ消息。

如果在步骤S416中节点是N+,则该节点在步骤S418比较接收的RREQ消息的链路成本与存储在路由选择表中的链路成本。如果接收的RREQ消息具有较小的链路成本,则节点在步骤S420更新路由选择表中的关于接收RREQ消息的信息。如果接收的RREQ消息的链路成本并不小,则该节点在步骤S414丢弃接收的RREQ消息。该节点在步骤S422创建RREP消息以应答接收的RREQ消息。

图5是表示根据本发明一个实施例的RREP接收节点的示范步骤的流程图。节点在步骤S500接收RREP消息。节点在步骤S502确定它自己是否是源节点。如果是,则该节点在步骤S504确定它自己是否是N+。如果该节点不是N+,则N+在步骤S506丢弃RREP消息。如果该节点是N+,则在步骤S508确定接收的RREP消息是否是新RREP消息。如果是,则该节点在步骤S514创建新的关于相关源节点的路由选择表信息,并更新路由选择表。如果不是,即如果该RREP消息已经被接收,则该节点在步骤S512比较RREP消息的链路成本与路由选择表中的链路成本。如果接收的RREP消息的链路成本小于存储的链路成本,则节点在步骤S514用相关信息更新路由选择表,并在步骤S506丢弃RREP消息。

如果在步骤S502中该节点不是源节点,则该节点在步骤S518确定它自己是否是N+。如果该节点是N-,则该节点在步骤S520单播RREP消息。如果该节点是N+,则该节点在步骤S522确定接收的RREP消息是否是新RREP消息。如果是,则该节点在步骤S524创建关于相关节点的路由选择表信息,并更新路由选择表,并且在步骤S526发送该RREP消息。如果不是,即如果该节点在路由选择表内维护有相关信息,则在步骤S528,该节点比较RREP消息的链路成本与相关信息的链路成本。如果RREP消息具有较小链路成本,则该节点在步骤S524更新关于相关源节点的路由选择表信息,并在步骤S526发送RREP消息。如果RREQ消息不具有较小链路成本,则该节点在步骤S506丢弃RREP消息。

图6是表示根据本发明一个实施例的数据接收节点的示范步骤的流程图。步骤S600是当节点从应用程序(较高层)接收数据的情况,而步骤S602是当节点从相邻节点(较低层)接收数据的情况。如果节点在步骤S602接收数据,则该节点在步骤S614确定它自己是否是目的节点。如果是,则该节点在步骤S616发送数据到较高层。如果不是,则该节点在步骤S604确定它自己是否是N+。如果是,则该节点在步骤S606确定它的路由选择表是否存储了目的信息。如果存储了目的信息,则该节点在步骤S608发送数据到下一跳跃节点,并在步骤S610启动计时器。如果没有存储目的信息,则该节点在步骤S618定位目的节点的相对位置。如果目的节点是它的后代节点或者能够被定位的相邻节点,则该节点在步骤S612沿相关树状路由发送数据。如果不是,则该节点在步骤S620创建并广播RREQ消息,以搜索路由。如果在步骤S604中节点是N-,则该节点在步骤S612沿树状路由发送数据。

下面参考图7和8显示一个实施例的缺点(drawback)。

图7显示当根据本发明第一实施例执行路由选择时未能建立最佳路由的情形。假设节点A是源节点,并且节点I是目的节点。源节点A在步骤S700发送数据到节点B,并且节点B在步骤S702将数据中继到节点C。节点C在步骤S704和S706将接收的数据存储到缓冲器,并创建和广播RREQ消息。为简明起见,省略了对步骤S704的详细说明。节点F在步骤S708更新并广播接收的RREP消息。节点G在步骤S710通过分析RREQ消息内包含的关于目的节点的信息,来更新并单播接收的RREQ消息到目的节点I。目的节点I沿着RREQ消息的反向路由来转发RREP消息。结果,沿节点A→B→C→F→G→I建立路由。

该路由不是最佳的,因为最佳路由是沿节点A-H-I的路由。

图8显示根据本发明第一实施例的建立不同于前向路由的返向路由的情形。前向路由选择表示从源节点到目的节点的路由,而返向路由选择表示从目的节点到源节点的路由。

参考图8,源节点是节点A,并且目的节点是节点M。源节点A在步骤S800广播RREQ消息以建立到目的节点M的路由。节点I在步骤S802和S804更新接收的RREQ消息,并广播更新的RREQ消息。节点K接收并更新广播的RREQ消息。节点K在步骤S810和S816广播更新的RREQ消息,并且目的节点M接收RREQ消息。为简明起见省略了对步骤S806、S808、S812和S814的详细说明。最后,沿节点A→I→K→M建立了前向路由。

当接收到RREQ消息时,其是N-的目的节点M在步骤S818单播RREP消息到节点L。N-节点L在步骤S820更新并单播接收的RREP消息到节点G。N-节点G在步骤S822更新并单播接收的RREP消息到节点F。在步骤S824、S826、S828、S830和S832,RREP消息最终被发送到节点A。因此,沿节点M→L→G→F→E→D→C→B→A建立反向路由。

正如所示,根据本发明的第一实施例,前向路由和反向路由相互不同。根据本发明的第二实施例,能够解决此缺点,下面详细地说明本发明的第二

实施例。

-本发明第二实施例

根据本发明的第二实施例,能包含确定信息的路由选择表被分配给N-节点,并提出边界节点(border node)的概念。

1.树状结构中的N-

如果N-节点是源节点,则N-节点将要发送的数据存储到缓冲器中,并定位目的节点的位置。当目的节点是它的后代节点时,N-节点沿树状路由发送数据,不必搜索路由。如果目的节点不是它的后代节点,甚至N-节点也创建用于相关目的节点的路由选择表,并广播RREQ消息。

如果N-节点是中间节点,并接收到单播的RREQ消息,则N-节点沿树状路由更新并发送接收的RREQ消息。如果RREQ消息的源节点是它的后代节点,并且N-节点从其子节点接收到广播的RREQ消息,则N-节点更新并沿树状路由发送接收的RREQ消息。

如果N-节点是目的节点,则N-节点创建RREP消息以应答接收的RREQ消息,存储包含在RREQ消息内的下一个边界节点的信息,并发送创建的RREP消息。甚至N-也为相关源节点创建并维护路由选择表。

2.树状结构中的N+

N+执行与在本发明第一实施例中所述过程的相同的过程。

图9显示根据本发明第二实施例的前向路由与反向路相同的情形,下面将对此进行详细说明。

在图9中,源节点是节点A,并且目的节点是节点L。源节点A通过分析目的节点的地址得知目的节点不是它的后代节点。源节点A执行路由搜索以建立路由,并因为不发送数据给节点B而有别于第一实施例。更具体地,源节点A在步骤S900和S902创建RREQ消息并广播创建的RREQ消息。为简明起见,省略对于从源节点A发送到节点B的RREQ消息的详细说明。节点K在步骤S904更新并广播接收的RREQ消息。因为节点K不是沿树状路由接收到RREQ消息的,节点K将表示它自身能够是边界节点的信息附加到RREQ消息中。边界节点指的是沿着除树状路由之外的路由接收RREQ消息并且只沿树状路由发送更新的RREQ消息的节点。

节点J从节点K接收广播的RREQ消息,并认识到节点K是边界节点。由于节点J沿树状路由接收RREQ消息,节点J使用接收的RREQ消息认识到节点K是边界节点。

节点J将指示节点K是边界节点的信息附加到RREQ消息中。节点J还存储节点K是边界节点。节点J在步骤S906单播更新的RREQ消息到节点I。如在本发明第一实施例中提到的,当从其子节点接收到RREQ消息时,N-中间节点更新并单播接收的RREQ消息。节点I在步骤S908和S910更新并广播接收的RREQ消息。节点N在步骤S914广播接收的RREQ消息。此时,节点N将它自身能够是边界节点候选者(border node candidate)附加到RREQ消息中。当从节点N接收到广播的RREQ消息时,节点O认识到节点N是边界节点。因此,节点O更新包含在接收的RREQ消息内的关于边界节点的信息。节点O将节点N是边界节点存储到其路由选择表中。在更新了接收的RREQ消息后,节点O在步骤S918单播更新的RREQ消息到节点M。节点M在步骤S920更新并单播接收的RREQ消息到节点L。

节点H在步骤S912更新并广播接收的RREQ消息。在从节点H接收到广播的RREQ消息后,节点P在步骤S916单播接收的RREQ消息到节点O。节点O在步骤S918更新并单播接收的RREQ消息到节点M。节点M在步骤S920更新并并单播接收的RREQ消息到节点L。

因此,节点L可以接收多于两个的RREQ消息,并选择两个RREQ消息中具有最小链路成本的RREQ消息。结果,沿节点A→K→J→I→N→O→M→L建立前向路由。虽然未在此描述,每个N+将包含在RREQ消息内的信息存储到它的路由选择表中。在下文中,说明反向路由选择。

节点L存储包含在接收的RREQ消息内的关于下一个边界节点的信息,并在步骤S922将所创建的包含相关信息的RREP消息发送给节点M。节点M在步骤S914更新并转发接收的RREP消息。节点O在步骤S926使用包含在RREP消息内的边界节点信息将RREP消息转发到节点N。节点N用它所存储的边界节点(节点K)信息,来更新接收的RREP消息内关于下一个边界节点的信息,并在步骤S928转发接收的RREP消息到节点I。最后,在步骤S930、S932和S934将RREP消息转发到节点A。结果,建立了与前向路由相同的反向路由。

图10是显示根据本发明另一实施例的RREQ接收节点的示范步骤的流程图。

在步骤S1000,节点接收RREQ消息。该节点在步骤S1002确定所接收的RREQ消息是否包含边界节点候选者的信息并且是从其子节点发送来的。

如果是,则该节点在步骤S1004将边界节点候选者作为边界节点存储到它的路由选择表中。在步骤S1006,该节点更新接收到的RREQ消息中的边界节点信息。如果RREP消息不包含边界节点信息,并且不是从子节点传送来的,则该节点在步骤S1008将包含在RREQ消息内的边界节点信息存储到它的路由选择表中。

该节点在步骤S1010确定它自己是否是N+。如果是N+,则该节点在步骤S1012确定所接收的RREQ消息是否是广播的。如果是,则该节点在步骤S1016用它自己的信息,来更新包含在RREQ消息内的边界节点候选者信息。

然后,该节点在步骤S1020确定目的节点是否是它的后代节点。如果是,则该节点在步骤S1024沿树状路由单播更新的RREQ消息。如果不是,则该节点在步骤S1026删除所存储的RREQ边界节点候选者信息,并广播更新的RREQ消息。

如果在步骤S1010中该节点是N-,则在步骤S1014该节点确定所接收的RREQ消息是否是广播的。如果是,则该节点在步骤S1018确定目的节点是否是它的后代节点。如果是,则该节点在步骤S1024沿树状路由单播更新的RREQ消息。如果不是,则该节点在步骤S1022丢弃接收的RREQ消息。

图11是表示根据本发明另一实施例的RREP接收节点的示范步骤的流程图,下面将对此进行详细说明。

节点在步骤S1100接收RREP消息。在步骤S1102,节点确定它自己是否是N+。如果不是,则该节点在步骤S1106用树状路由以及它的路由选择表,将接收到的RREP消息转发到边界节点。如果是,则该节点在步骤S1104确定路由选择表是否维护源节点信息。如果没有维护,则该节点在步骤S1114沿树状路由转发RREP消息。

如果该节点维护了源节点信息,则在步骤S1108该节点确定它自己是否是边界节点。如果不是,则该节点在步骤S1110更新包含在RREP消息内的边界节点信息。即,节点使用由该节点维护的边界节点信息来更新RREP消息。如果是,则该节点使用它的路由选择表来更新所接收的RREP消息,并在步骤S1112转发更新的RREP消息。

根据以上说明,由于N-存储最少量的信息,并且所存储的信息被用于路由选择,因此能够建立与前向路由相同的反向路由。此外,能够建立最佳或近似最佳路由。

虽然已经说明了本发明的实施例,当本领域技术人员了解了本发明的基本发明概念时,他们可以想到实施例的其他变化和修改。因此,期望所附权利要求被解释为不仅包括以上实施例,还包括这种落入本发明实质和范围内的所有变化和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号