專利名稱::使用樹狀拓撲建立最佳路由的設(shè)備和方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及無線個人區(qū)域網(wǎng)(WPAN),更具體地涉及基于樹狀拓撲(treetopology)在WPAN內(nèi)建立從源節(jié)點到目的節(jié)點的路由的設(shè)備和方法。
背景技術(shù):
:通常,在移動通信系統(tǒng)中,在移動單元與基站之間發(fā)送和接收數(shù)據(jù)。即,移動單元和基站直接發(fā)送和接收數(shù)據(jù),無需經(jīng)過其他節(jié)點。與此相反,開發(fā)了無線個人區(qū)域網(wǎng)(WPAN),用于在較短范圍內(nèi)互連裝置。WPAN是能使多個節(jié)點相互通信的特定(ad-hoc)數(shù)據(jù)通信系統(tǒng)。包含在該特定網(wǎng)絡(luò)內(nèi)的發(fā)送節(jié)點經(jīng)其他節(jié)點將數(shù)據(jù)發(fā)送到接收節(jié)點。如果接收節(jié)點與發(fā)送節(jié)點相鄰,就能夠在這些節(jié)點之間直接傳送數(shù)據(jù)。現(xiàn)在參考圖1,描述一種根據(jù)傳統(tǒng)路由算法的數(shù)據(jù)傳輸,該路由算法與基于樹狀拓撲構(gòu)成該特定網(wǎng)絡(luò)的節(jié)點相關(guān)。圖1的特定網(wǎng)絡(luò)至少包括兩個節(jié)點。這些節(jié)點被分為兩類。一類是維護路由選擇表(routingtable)并被稱為“N+”的節(jié)點。另一類是沒有路由選擇表并被稱為“N-”的節(jié)點。下面描述在包括N+和N-的特定網(wǎng)絡(luò)內(nèi)建立路由的傳統(tǒng)方法。假設(shè)節(jié)點A是源節(jié)點,并且節(jié)點I是目的節(jié)點。源節(jié)點請求建立到目的節(jié)點的路由。因此,其是N+的節(jié)點A檢測其路由選擇表是否包含與目的節(jié)點I相關(guān)的路由信息。如果不包含,則節(jié)點A在步驟S100將路由請求RREQ消息廣播給相鄰節(jié)點,以建立到節(jié)點I的路由。其是N+的節(jié)點B在其路由選擇表內(nèi)查找關(guān)于接收到的RREQ消息的目的節(jié)點I的路由信息。如果存儲了該路由信息,則節(jié)點B利用路由應(yīng)答RREP消息進行應(yīng)答。如果沒有存儲該路由信息,則在步驟S102和S108將路由信息字段創(chuàng)建到其路由選擇表內(nèi),并對相鄰節(jié)點廣播RREQ消息。其是N+的節(jié)點C在步驟S104和S106也執(zhí)行與節(jié)點B相同的操作。當(dāng)從節(jié)點B接收到RREQ消息時,其是N-的節(jié)點G在步驟S128發(fā)送RREP消息給節(jié)點B,以應(yīng)答RREQ消息。根據(jù)傳統(tǒng)算法,該特定網(wǎng)絡(luò)內(nèi)的N-發(fā)送RREP消息來應(yīng)答RREQ消息。雖然該N-自身不是接收到的RREQ消息所請求的目的節(jié)點,但是它根據(jù)樹狀拓撲及其節(jié)點特性來發(fā)送RREP消息。即,由于N-不具有它自己的路由選擇表,甚至在接收到RREQ消息后,N-也不能存儲或查找路由信息,而且由于樹狀拓撲僅允許消息傳輸?shù)缴嫌喂?jié)點或下游節(jié)點,進一步的路由搜索是不可行的。在步驟S120中,來自節(jié)點G的RREP消息經(jīng)節(jié)點B被轉(zhuǎn)發(fā)到節(jié)點A。通常,在樹狀拓撲的創(chuàng)建階段,每個節(jié)點在其相鄰列表內(nèi)存儲關(guān)于例如1跳躍(hop)等某距離內(nèi)的節(jié)點的信息。其是N-的節(jié)點D執(zhí)行與節(jié)點G相同的操作。因此,由節(jié)點D產(chǎn)生的RREP消息在步驟S124、S122和S120經(jīng)節(jié)點C和B被轉(zhuǎn)發(fā)到節(jié)點A。當(dāng)接收到來自節(jié)點C的RREQ消息時,其是N+的節(jié)點F在步驟S110、S112和S114能夠廣播RREQ消息。節(jié)點E執(zhí)行與節(jié)點G相同的操作。節(jié)點H在步驟S116將接收到的RREQ消息轉(zhuǎn)發(fā)給節(jié)點I。當(dāng)接收到RREQ消息時,節(jié)點I認(rèn)識到節(jié)點A為其請求路由的節(jié)點是它自己。因此,節(jié)點I產(chǎn)生RREP消息來應(yīng)答RREQ消息。該RREP消息沿RREQ消息的路由被轉(zhuǎn)發(fā)到節(jié)點A。結(jié)果,在節(jié)點A和節(jié)點I之間建立了路由。雖然沒有描述,具有路由選擇表的N+通過使用接收的RREQ消息信息將關(guān)于目的節(jié)點的字段創(chuàng)建到其路由選擇表內(nèi),并將接收的RREQ消息發(fā)送到相鄰節(jié)點。通常,N+更新并轉(zhuǎn)發(fā)跳躍總數(shù)(hopcount)到相鄰節(jié)點。選擇具有最小跳躍總數(shù)的路由作為節(jié)點之間的路由。然后,N+接收用于應(yīng)答RREQ消息的RREP消息,并通過填充為相關(guān)節(jié)點創(chuàng)建的路由選擇表的字段值來管理它們的路由選擇表。根據(jù)前述內(nèi)容,節(jié)點A接收用于應(yīng)答單個RREQ消息的多個RREP消息。同時,來自N-的RREP消息不是必要的。圖2顯示基于傳統(tǒng)算法的使用節(jié)點在特定網(wǎng)絡(luò)內(nèi)建立路由的另一個示范過程,在此過程中,可建立從源節(jié)點到目的節(jié)點的前向路由(forwardroute),該路由不同于從目的節(jié)點到源節(jié)點的反向路由(backwardroute)。節(jié)點A請求建立到節(jié)點E的路由。節(jié)點A通過查找所存儲的路由選擇表來確定是否已建立到節(jié)點E的路由。如果確定沒有到節(jié)點E的路由,則節(jié)點A在步驟S200廣播RREQ消息。當(dāng)接收到RREQ消息時,節(jié)點B也查找所存儲的路由選擇表,并確定是否建立了到節(jié)點E的路由。如果確定沒有到節(jié)點E的路由,則節(jié)點B在步驟S202廣播該RREQ消息。節(jié)點C確定它自己是否是節(jié)點A請求為其建立路由的節(jié)點。由于節(jié)點C不是節(jié)點A請求為其建立路由的節(jié)點,其是N-的節(jié)點C在步驟S204沿樹狀路由發(fā)送RREQ消息到節(jié)點D。節(jié)點D也確定它自己是否是節(jié)點A請求為其建立路由的節(jié)點。由于節(jié)點D不是節(jié)點A請求為其建立路由的節(jié)點,節(jié)點D在步驟S206發(fā)送RREQ消息給節(jié)點E。節(jié)點E認(rèn)識到它自己就是節(jié)點A請求為其建立路由的節(jié)點。節(jié)點E產(chǎn)生RREP消息以應(yīng)答RREQ消息。所產(chǎn)生的RREP消息在步驟S210被發(fā)送給節(jié)點D。節(jié)點D在步驟S212將接收的RREP消息發(fā)送給節(jié)點F。節(jié)點F沿樹狀路由將RREP消息轉(zhuǎn)發(fā)給源節(jié)點A。結(jié)果,前向路由不同于反向路由,因此需要一種解決此問題的方案。
發(fā)明內(nèi)容為解決相關(guān)技術(shù)的上述缺點,本發(fā)明的一個方面是提供一種能夠在無線網(wǎng)絡(luò)中建立最佳路由的設(shè)備和方法,該無線網(wǎng)絡(luò)包含樹狀拓撲結(jié)構(gòu)和具有有限功能的節(jié)點(例如,由于缺少其自己的路由選擇表而不具有按需(on-demand)路由選擇建立功能的N-)。本發(fā)明的另一個方面是提供一種能夠防止接收用于應(yīng)答RREQ消息的多個RREP消息的設(shè)備和方法。本發(fā)明的另一個方面是提供一種能夠建立與前向路由相同的反向路由的設(shè)備和方法。本發(fā)明的另一個方面是提供一種用于以最小鏈路成本,通常以具有最小跳躍總數(shù),來建立到目的節(jié)點的最佳路由的設(shè)備和方法。為實現(xiàn)本發(fā)明的以上方面,提供一種具有樹狀拓撲的移動通信系統(tǒng)中通過中間節(jié)點來中繼(relay)路由請求RREQ消息的方法,該中間節(jié)點與至少一個節(jié)點連接,該移動通信系統(tǒng)包含目的節(jié)點和源節(jié)點,該源節(jié)點經(jīng)至少一個中間節(jié)點來發(fā)送RREQ消息到目的節(jié)點,上述方法包含根據(jù)目的節(jié)點的位置來確定是使用路由選擇路由(routesroute)還是使用按需系統(tǒng)的表驅(qū)動方案(table-drivenscheme)來搜索并建立路由,當(dāng)沿著除樹狀路由之外的路由接收到RREQ消息時,使用它所存儲的信息來更新用于搜索反向路由的第一信息,并發(fā)送包含更新的第一信息的RREQ消息。此外,提供一種在具有樹狀拓撲的移動通信系統(tǒng)中建立從源節(jié)點到目的節(jié)點的路由的設(shè)備,該移動通信系統(tǒng)包含目的節(jié)點和源節(jié)點,該源節(jié)點經(jīng)至少一個中間節(jié)點發(fā)送RREQ消息給目的節(jié)點,上述設(shè)備包含源節(jié)點,用于根據(jù)目的節(jié)點的位置來確定使用預(yù)先建立的樹狀路由或者按照需要通過廣播RREQ消息來搜索新路由的路由建立方法,根據(jù)該確定來創(chuàng)建路由請求RREQ消息,并且發(fā)送所創(chuàng)建的RREQ消息;至少一個中間節(jié)點,用于傳送RREQ消息,當(dāng)沿著除樹狀路由之外的路由接收到RREQ消息時,使用它的信息來更新該RREQ消息的第一信息;以及目的節(jié)點。從下面結(jié)合附圖對實施例的說明,本發(fā)明的這些和/或其他的方面和優(yōu)點將變得更清楚,并且更容易被理解,其中圖1是表示基于樹狀拓撲的特定網(wǎng)絡(luò)中的傳統(tǒng)路由選擇的一個例子的示意圖;圖2是表示基于樹狀拓撲的特定網(wǎng)絡(luò)中的傳統(tǒng)路由選擇的另一個例子的示意圖;圖3是表示根據(jù)本發(fā)明一個實施例的樹狀路由選擇的示意圖;圖4是表示根據(jù)本發(fā)明一個實施例的RREQ接收節(jié)點的示范步驟的流程圖;圖5是表示根據(jù)本發(fā)明一個實施例的RREP接收節(jié)點的示范步驟的流程圖;圖6是表示根據(jù)本發(fā)明一個實施例的數(shù)據(jù)接收節(jié)點的示范步驟的流程圖;圖7是表示根據(jù)本發(fā)明一個實施例的缺點的示意圖;圖8是表示根據(jù)本發(fā)明一個實施例的另一個缺點的示意圖;圖9是表示根據(jù)本發(fā)明另一個實施例的路由建立的示意圖;圖10是表示根據(jù)本發(fā)明另一個實施例的RREQ接收節(jié)點的示范步驟的流程圖;和圖11是表示根據(jù)本發(fā)明另一個實施例的RREP接收節(jié)點的示范步驟的流程圖。具體實施例方式現(xiàn)在將詳細參照本發(fā)明實施例,它們的例子顯示在附圖中,其中相同的參考標(biāo)記始終表示相同的元件。為了解釋本發(fā)明,以下參考實施例。在進行詳細的說明之前,先說明術(shù)語的定義。樹狀路由指在根據(jù)按需方案(on-demandscheme)使用RREQ和RREP消息建立路由之前在節(jié)點之間預(yù)先建立的路由。路由是使用在源節(jié)點和目的節(jié)點之間進行通信的中間節(jié)點建立的。后代節(jié)點(descendentnode)是從相關(guān)節(jié)點沿樹狀結(jié)構(gòu)進一步向下的節(jié)點,即,具有更大深度的節(jié)點。祖先節(jié)點(ancestornode)是從其相關(guān)后代節(jié)點沿樹狀結(jié)構(gòu)向上的節(jié)點,即,具有較小深度的節(jié)點。父節(jié)點(parentnode)是相關(guān)節(jié)點的祖先節(jié)點,它沿樹狀結(jié)構(gòu)向上跟隨。子節(jié)點(childnode)是相關(guān)節(jié)點的后代節(jié)點,它沿樹狀結(jié)構(gòu)向下跟隨。根據(jù)本發(fā)明的實施例,源節(jié)點根據(jù)其類型(N+或N-)和目的節(jié)點的位置來確定路由選擇方法。如果目的節(jié)點是在與源節(jié)點即后代節(jié)點相同的簇內(nèi)的祖先節(jié)點或者目的節(jié)點的簇具有比源節(jié)點的簇更大的深度,則最佳路由使用預(yù)先建立的樹狀路由來發(fā)送數(shù)據(jù)分組。否則,與使用路由選擇路由(routeroutes)相比較,最佳路由通過廣播RREQ消息來使用按需方案。在下文中,說明當(dāng)將在源節(jié)點的應(yīng)用程序內(nèi)創(chuàng)建的數(shù)據(jù)發(fā)送到目的節(jié)點時的路由選擇方法。返回來參考圖1,如果節(jié)點F是源節(jié)點,并且節(jié)點A是目的節(jié)點,節(jié)點F的后代節(jié)點是節(jié)點E、H和I,而節(jié)點F的祖先節(jié)點是節(jié)點C、B和A。通過分析目的節(jié)點A的地址,源節(jié)點F可以定位(spot)目的節(jié)點和源節(jié)點在樹狀結(jié)構(gòu)內(nèi)的相對位置。也就是說,源節(jié)點F定位目的節(jié)點A是它的祖先節(jié)點。通過樹狀路由器計算,認(rèn)識到節(jié)點A是沿樹狀路由的祖先節(jié)點,節(jié)點F發(fā)送數(shù)據(jù)分組給節(jié)點A。節(jié)點F能將關(guān)于節(jié)點A是沿樹狀路由的祖先節(jié)點的信息存儲到它的路由選擇表中。如果該信息被存儲到路由選擇表中,則節(jié)點F使用路由選擇表內(nèi)的信息來發(fā)送數(shù)據(jù)分組到節(jié)點A,而不進行樹狀路由器計算。因此,節(jié)點F通過樹狀路由器計算來定位節(jié)點A位置,花費更少的時間??蛇x地,節(jié)點F可將某種信息附加到被發(fā)送的數(shù)據(jù)。上述某種信息指示當(dāng)附加到數(shù)據(jù)中的目的節(jié)點的地址與數(shù)據(jù)接收節(jié)點的地址不同時,沿樹狀路由將數(shù)據(jù)中繼到父節(jié)點。因此,節(jié)點C將數(shù)據(jù)中繼到節(jié)點B,而不使用節(jié)點A的地址進行位置定位。節(jié)點B也將接收的數(shù)據(jù)中繼到節(jié)點A。因為源節(jié)點僅通過分析目的節(jié)點的地址并定位目的節(jié)點的相對位置而不必建立路由,來發(fā)送數(shù)據(jù)到其是樹狀結(jié)構(gòu)中的祖先節(jié)點的目的節(jié)點,因此減少了路由建立時間。結(jié)果,減少了數(shù)據(jù)傳輸?shù)目倳r間。源節(jié)點能夠僅通過一次樹狀路由器計算來發(fā)送數(shù)據(jù)分組到目的節(jié)點。-本發(fā)明的第一實施例根據(jù)本發(fā)明的第一實施例,源節(jié)點建立到目的節(jié)點的路由。首先,說明N-沿樹狀路由的情形,隨后說明N+沿樹狀路由的另一種情形。1.樹狀結(jié)構(gòu)中的N-如果N-是源節(jié)點,則N-源節(jié)點確定目的節(jié)點是否是它的沿樹狀路由的后代節(jié)點或祖先節(jié)點。雖然沒有存儲路由選擇表,N-可以通過分析目的節(jié)點的地址來確定目的節(jié)點是否是它的后代節(jié)點或祖先節(jié)點,以便根據(jù)該確定使用所連接的樹狀路由來發(fā)送數(shù)據(jù)分組。N-源節(jié)點使用位于到目的節(jié)點的路由上的N+作為其代理節(jié)點(agentnode),來搜索路由。如果N-是中間節(jié)點,則N-中間節(jié)點通過分析目的節(jié)點的地址,將所接收到的數(shù)據(jù)中繼到其沿樹狀路由的父節(jié)點或子節(jié)點。當(dāng)接收到RREQ消息時,N-根據(jù)接收到的RREQ消息的傳輸類型(廣播或單播)進行操作。即,當(dāng)接收到廣播RREQ消息時,N-定位發(fā)送RREQ消息的節(jié)點的相對位置,并僅當(dāng)該RREQ消息是從其子節(jié)點接收的并且該RREQ消息的最終目的節(jié)點是它的后代節(jié)點時,使用其樹狀路由來發(fā)送(單播)接收的RREQ消息。因此,不必要的RREQ消息就不會被發(fā)送和接收。當(dāng)接收到單播RREQ消息時,取決于目的節(jié)點的相對位置,N-中間節(jié)點沿適當(dāng)?shù)臉錉盥酚蓙戆l(fā)送(單播)接收到的RREQ消息。下面說明一種N-確定接收到的RREQ消息是廣播消息還是單播消息的方法。一般地,發(fā)送RREQ消息的節(jié)點確定是否廣播或單播該RREQ消息。如果確定為單播,則節(jié)點將要接收RREQ消息的節(jié)點地址添加到RREQ消息的目的地址字段中,然后發(fā)送RREQ消息。當(dāng)確定為廣播時,節(jié)點將在系統(tǒng)設(shè)計早期階段所設(shè)置的廣播地址信息添加到RREQ消息目的地址字段內(nèi),然后發(fā)送RREQ消息。當(dāng)接收到RREQ消息時,接收節(jié)點自己能夠通過比較目的地址字段和它自己的地址信息,知道該RREQ消息是被廣播還是被單播到它自己的。說明當(dāng)N-是目的節(jié)點的情況。當(dāng)接收到由樹狀結(jié)構(gòu)內(nèi)位于RREQ消息的源節(jié)點與目的節(jié)點之間的后代節(jié)點所廣播的RREQ消息時,N-創(chuàng)建RREP消息,并使用包含在接收的RREQ消息內(nèi)的路由信息來發(fā)送RREP消息。當(dāng)接收到單播RREQ消息時,N-創(chuàng)建并發(fā)送RREP消息。2.樹狀結(jié)構(gòu)中的N+如果某個N+節(jié)點的應(yīng)用程序內(nèi)創(chuàng)建的數(shù)據(jù)將要被發(fā)送到某個目的節(jié)點,或者當(dāng)從相鄰節(jié)點接收到數(shù)據(jù)分組時N+成為源節(jié)點,則具有它自己的路由選擇表的N+在該路由選擇表內(nèi)查找目標(biāo)信息。如果有,則N+發(fā)送數(shù)據(jù)分組到存儲在路由選擇表中的下一個跳躍地址。如果沒有,則源節(jié)點通過分析目的節(jié)點的地址信息來定位目的節(jié)點的相對位置。如果目的節(jié)點是源節(jié)點的相鄰節(jié)點或后代節(jié)點,則源節(jié)點沿相關(guān)樹狀路由發(fā)送數(shù)據(jù)分組。否則,源節(jié)點通過RREQ消息廣播來搜索路由,從而建立新路由。接收的數(shù)據(jù)分組的傳輸可被阻止,直到結(jié)束搜索為止。根據(jù)搜索結(jié)果,源節(jié)點在接收的RREP消息中選擇具有最小鏈路成本(通常,為跳躍總數(shù))的RREP消息,在路由選擇表中存儲相關(guān)信息,并沿相關(guān)路由發(fā)送數(shù)據(jù)分組。當(dāng)N+是中間節(jié)點并接收數(shù)據(jù)分組時,N+執(zhí)行與源節(jié)點相同的操作。如果接收到RREQ消息,則N+在路由選擇表中查找相關(guān)信息。如果存儲了該相關(guān)信息,則N+回復(fù)RREP消息,并且如果沒有存儲相關(guān)信息,則N+分析地址。如果目的節(jié)點是它的后代節(jié)點,則N+使用相關(guān)樹狀路由來將接收到的數(shù)據(jù)發(fā)送到目的節(jié)點。如果目的節(jié)點不是它的后代節(jié)點,則N+向相鄰節(jié)點廣播接收到的RREQ消息。如果N+是目的節(jié)點,則N+在其路由選擇表中查找,并確定是否從相關(guān)源節(jié)點接收了RREQ消息。如果最初接收了RREQ消息,則N+將關(guān)于相關(guān)源節(jié)點的信息記錄到路由選擇表中,并回復(fù)RREP消息。如果接收到重疊的RREQ消息,則N+比較預(yù)先存儲的鏈路成本值與接收的RREQ消息的鏈路成本值。當(dāng)接收的RREQ消息具有較小值時,N+更新路由選擇表信息,并回復(fù)RREP消息?,F(xiàn)在參考圖3,主要參考一個確定的實施例來說明本發(fā)明。源節(jié)點是節(jié)點E,并且目的節(jié)點是節(jié)點I。其是沒有路由選擇表的N-的源節(jié)點E在步驟S300沿樹狀路由發(fā)送數(shù)據(jù)到父節(jié)點B。其是樹狀結(jié)構(gòu)中的終端節(jié)點的源節(jié)點E具有到其父節(jié)點的一條樹支。因此,源節(jié)點E使用父節(jié)點B作為代理節(jié)點來發(fā)送數(shù)據(jù)分組,而不分析目標(biāo)地址。其是N+的節(jié)點B從接收的數(shù)據(jù)中提取目的節(jié)點的地址信息,并在其路由選擇表中查找關(guān)于目的節(jié)點的路由信息。如果沒有存儲該信息,則節(jié)點B使用所提取的地址信息來分析目的節(jié)點的位置。由于圖3的目的節(jié)點I不是節(jié)點B的后代節(jié)點,節(jié)點B在步驟S302、S304和S306存儲接收的數(shù)據(jù),并創(chuàng)建和廣播RREQ消息。節(jié)點F丟棄接收的RREQ消息,因為接收的RREQ消息是來自沿樹狀路由的祖先節(jié)點的廣播消息。N+節(jié)點C在步驟S308、S310、S312和S314使用接收的RREQ消息內(nèi)的信息,來更新它的路由選擇表的目的信息,并廣播接收的RREQ消息。節(jié)點G和H丟棄接收的RREQ消息。如果節(jié)點A維護關(guān)于目的節(jié)點I的路由選擇表,則從節(jié)點B和C兩者接收RREQ消息的節(jié)點A就能夠獲得目的節(jié)點I的位置。節(jié)點A發(fā)送RREP消息,以應(yīng)答接收的RREQ消息。此時,節(jié)點A比較接收的RREQ消息的跳躍總數(shù),并僅為具有最小跳躍總數(shù)的RREQ消息發(fā)送RREP消息。還參考圖3,節(jié)點A僅發(fā)送RREP消息到節(jié)點B。如果沒有維護關(guān)于目的節(jié)點I的路由選擇表,則節(jié)點A單播RREQ消息到節(jié)點D,因為節(jié)點A知道該目的節(jié)點不是它的后代節(jié)點。為簡明起見,省略了對于從節(jié)點A發(fā)送的RREQ消息的詳細說明。在步驟S316,節(jié)點D單播更新的RREQ消息到目的節(jié)點I。目的節(jié)點I在步驟S318創(chuàng)建RREP消息以應(yīng)答RREQ消息,并單播所創(chuàng)建的RREQ消息到節(jié)點D。當(dāng)接收到RREQ消息時,節(jié)點D在步驟S320使用存儲在路由選擇表中的信息來發(fā)送更新的RREP消息到節(jié)點C,并且節(jié)點C在步驟S322以相同方式來發(fā)送更新的RREP信息到節(jié)點B。結(jié)果,建立了從節(jié)點B到目的節(jié)點I的用于傳送數(shù)據(jù)的路由。沿著所建立的路由,節(jié)點B發(fā)送存儲的數(shù)據(jù)到目的節(jié)點I。圖4顯示根據(jù)本發(fā)明一個實施例的RREQ接收節(jié)點的示范步驟。節(jié)點在步驟S400接收RREQ消息。該節(jié)點在步驟S402使用接收的消息來確定它自己是否是目的節(jié)點。如果該節(jié)點是目的節(jié)點,則該節(jié)點在步驟S416確定它自己是否是N+。如果該節(jié)點不是目的節(jié)點,則該節(jié)點在步驟S404確定它自己是否是N+。如果該節(jié)點是N+,則該節(jié)點在步驟S406確定RREQ消息的目的節(jié)點是否是它的后代節(jié)點。如果目的節(jié)點不是后代節(jié)點,則該節(jié)點在步驟410更新并轉(zhuǎn)播接收的RREQ消息。如果目的節(jié)點是后代節(jié)點,則該節(jié)點在步驟408更新并單播接收的RREQ消息。同時,如果節(jié)點不是N+,則該節(jié)點在步驟S412確定接收的RREQ消息是否是從后代節(jié)點單播或廣播的。如果是,則該節(jié)點在步驟408更新并單播接收的RREQ消息。如果不是,則該節(jié)點在步驟S414丟棄接收的RREQ消息。如果在步驟S416中節(jié)點是N+,則該節(jié)點在步驟S418比較接收的RREQ消息的鏈路成本與存儲在路由選擇表中的鏈路成本。如果接收的RREQ消息具有較小的鏈路成本,則節(jié)點在步驟S420更新路由選擇表中的關(guān)于接收RREQ消息的信息。如果接收的RREQ消息的鏈路成本并不小,則該節(jié)點在步驟S414丟棄接收的RREQ消息。該節(jié)點在步驟S422創(chuàng)建RREP消息以應(yīng)答接收的RREQ消息。圖5是表示根據(jù)本發(fā)明一個實施例的RREP接收節(jié)點的示范步驟的流程圖。節(jié)點在步驟S500接收RREP消息。節(jié)點在步驟S502確定它自己是否是源節(jié)點。如果是,則該節(jié)點在步驟S504確定它自己是否是N+。如果該節(jié)點不是N+,則N+在步驟S506丟棄RREP消息。如果該節(jié)點是N+,則在步驟S508確定接收的RREP消息是否是新RREP消息。如果是,則該節(jié)點在步驟S514創(chuàng)建新的關(guān)于相關(guān)源節(jié)點的路由選擇表信息,并更新路由選擇表。如果不是,即如果該RREP消息已經(jīng)被接收,則該節(jié)點在步驟S512比較RREP消息的鏈路成本與路由選擇表中的鏈路成本。如果接收的RREP消息的鏈路成本小于存儲的鏈路成本,則節(jié)點在步驟S514用相關(guān)信息更新路由選擇表,并在步驟S506丟棄RREP消息。如果在步驟S502中該節(jié)點不是源節(jié)點,則該節(jié)點在步驟S518確定它自己是否是N+。如果該節(jié)點是N-,則該節(jié)點在步驟S520單播RREP消息。如果該節(jié)點是N+,則該節(jié)點在步驟S522確定接收的RREP消息是否是新RREP消息。如果是,則該節(jié)點在步驟S524創(chuàng)建關(guān)于相關(guān)節(jié)點的路由選擇表信息,并更新路由選擇表,并且在步驟S526發(fā)送該RREP消息。如果不是,即如果該節(jié)點在路由選擇表內(nèi)維護有相關(guān)信息,則在步驟S528,該節(jié)點比較RREP消息的鏈路成本與相關(guān)信息的鏈路成本。如果RREP消息具有較小鏈路成本,則該節(jié)點在步驟S524更新關(guān)于相關(guān)源節(jié)點的路由選擇表信息,并在步驟S526發(fā)送RREP消息。如果RREQ消息不具有較小鏈路成本,則該節(jié)點在步驟S506丟棄RREP消息。圖6是表示根據(jù)本發(fā)明一個實施例的數(shù)據(jù)接收節(jié)點的示范步驟的流程圖。步驟S600是當(dāng)節(jié)點從應(yīng)用程序(較高層)接收數(shù)據(jù)的情況,而步驟S602是當(dāng)節(jié)點從相鄰節(jié)點(較低層)接收數(shù)據(jù)的情況。如果節(jié)點在步驟S602接收數(shù)據(jù),則該節(jié)點在步驟S614確定它自己是否是目的節(jié)點。如果是,則該節(jié)點在步驟S616發(fā)送數(shù)據(jù)到較高層。如果不是,則該節(jié)點在步驟S604確定它自己是否是N+。如果是,則該節(jié)點在步驟S606確定它的路由選擇表是否存儲了目的信息。如果存儲了目的信息,則該節(jié)點在步驟S608發(fā)送數(shù)據(jù)到下一跳躍節(jié)點,并在步驟S610啟動計時器。如果沒有存儲目的信息,則該節(jié)點在步驟S618定位目的節(jié)點的相對位置。如果目的節(jié)點是它的后代節(jié)點或者能夠被定位的相鄰節(jié)點,則該節(jié)點在步驟S612沿相關(guān)樹狀路由發(fā)送數(shù)據(jù)。如果不是,則該節(jié)點在步驟S620創(chuàng)建并廣播RREQ消息,以搜索路由。如果在步驟S604中節(jié)點是N-,則該節(jié)點在步驟S612沿樹狀路由發(fā)送數(shù)據(jù)。下面參考圖7和8顯示一個實施例的缺點(drawback)。圖7顯示當(dāng)根據(jù)本發(fā)明第一實施例執(zhí)行路由選擇時未能建立最佳路由的情形。假設(shè)節(jié)點A是源節(jié)點,并且節(jié)點I是目的節(jié)點。源節(jié)點A在步驟S700發(fā)送數(shù)據(jù)到節(jié)點B,并且節(jié)點B在步驟S702將數(shù)據(jù)中繼到節(jié)點C。節(jié)點C在步驟S704和S706將接收的數(shù)據(jù)存儲到緩沖器,并創(chuàng)建和廣播RREQ消息。為簡明起見,省略了對步驟S704的詳細說明。節(jié)點F在步驟S708更新并廣播接收的RREP消息。節(jié)點G在步驟S710通過分析RREQ消息內(nèi)包含的關(guān)于目的節(jié)點的信息,來更新并單播接收的RREQ消息到目的節(jié)點I。目的節(jié)點I沿著RREQ消息的反向路由來轉(zhuǎn)發(fā)RREP消息。結(jié)果,沿節(jié)點A→B→C→F→G→I建立路由。該路由不是最佳的,因為最佳路由是沿節(jié)點A-H-I的路由。圖8顯示根據(jù)本發(fā)明第一實施例的建立不同于前向路由的返向路由的情形。前向路由選擇表示從源節(jié)點到目的節(jié)點的路由,而返向路由選擇表示從目的節(jié)點到源節(jié)點的路由。參考圖8,源節(jié)點是節(jié)點A,并且目的節(jié)點是節(jié)點M。源節(jié)點A在步驟S800廣播RREQ消息以建立到目的節(jié)點M的路由。節(jié)點I在步驟S802和S804更新接收的RREQ消息,并廣播更新的RREQ消息。節(jié)點K接收并更新廣播的RREQ消息。節(jié)點K在步驟S810和S816廣播更新的RREQ消息,并且目的節(jié)點M接收RREQ消息。為簡明起見省略了對步驟S806、S808、S812和S814的詳細說明。最后,沿節(jié)點A→I→K→M建立了前向路由。當(dāng)接收到RREQ消息時,其是N-的目的節(jié)點M在步驟S818單播RREP消息到節(jié)點L。N-節(jié)點L在步驟S820更新并單播接收的RREP消息到節(jié)點G。N-節(jié)點G在步驟S822更新并單播接收的RREP消息到節(jié)點F。在步驟S824、S826、S828、S830和S832,RREP消息最終被發(fā)送到節(jié)點A。因此,沿節(jié)點M→L→G→F→E→D→C→B→A建立反向路由。正如所示,根據(jù)本發(fā)明的第一實施例,前向路由和反向路由相互不同。根據(jù)本發(fā)明的第二實施例,能夠解決此缺點,下面詳細地說明本發(fā)明的第二-本發(fā)明第二實施例根據(jù)本發(fā)明的第二實施例,能包含確定信息的路由選擇表被分配給N-節(jié)點,并提出邊界節(jié)點(bordernode)的概念。1.樹狀結(jié)構(gòu)中的N-如果N-節(jié)點是源節(jié)點,則N-節(jié)點將要發(fā)送的數(shù)據(jù)存儲到緩沖器中,并定位目的節(jié)點的位置。當(dāng)目的節(jié)點是它的后代節(jié)點時,N-節(jié)點沿樹狀路由發(fā)送數(shù)據(jù),不必搜索路由。如果目的節(jié)點不是它的后代節(jié)點,甚至N-節(jié)點也創(chuàng)建用于相關(guān)目的節(jié)點的路由選擇表,并廣播RREQ消息。如果N-節(jié)點是中間節(jié)點,并接收到單播的RREQ消息,則N-節(jié)點沿樹狀路由更新并發(fā)送接收的RREQ消息。如果RREQ消息的源節(jié)點是它的后代節(jié)點,并且N-節(jié)點從其子節(jié)點接收到廣播的RREQ消息,則N-節(jié)點更新并沿樹狀路由發(fā)送接收的RREQ消息。如果N-節(jié)點是目的節(jié)點,則N-節(jié)點創(chuàng)建RREP消息以應(yīng)答接收的RREQ消息,存儲包含在RREQ消息內(nèi)的下一個邊界節(jié)點的信息,并發(fā)送創(chuàng)建的RREP消息。甚至N-也為相關(guān)源節(jié)點創(chuàng)建并維護路由選擇表。2.樹狀結(jié)構(gòu)中的N+N+執(zhí)行與在本發(fā)明第一實施例中所述過程的相同的過程。圖9顯示根據(jù)本發(fā)明第二實施例的前向路由與反向路相同的情形,下面將對此進行詳細說明。在圖9中,源節(jié)點是節(jié)點A,并且目的節(jié)點是節(jié)點L。源節(jié)點A通過分析目的節(jié)點的地址得知目的節(jié)點不是它的后代節(jié)點。源節(jié)點A執(zhí)行路由搜索以建立路由,并因為不發(fā)送數(shù)據(jù)給節(jié)點B而有別于第一實施例。更具體地,源節(jié)點A在步驟S900和S902創(chuàng)建RREQ消息并廣播創(chuàng)建的RREQ消息。為簡明起見,省略對于從源節(jié)點A發(fā)送到節(jié)點B的RREQ消息的詳細說明。節(jié)點K在步驟S904更新并廣播接收的RREQ消息。因為節(jié)點K不是沿樹狀路由接收到RREQ消息的,節(jié)點K將表示它自身能夠是邊界節(jié)點的信息附加到RREQ消息中。邊界節(jié)點指的是沿著除樹狀路由之外的路由接收RREQ消息并且只沿樹狀路由發(fā)送更新的RREQ消息的節(jié)點。節(jié)點J從節(jié)點K接收廣播的RREQ消息,并認(rèn)識到節(jié)點K是邊界節(jié)點。由于節(jié)點J沿樹狀路由接收RREQ消息,節(jié)點J使用接收的RREQ消息認(rèn)識到節(jié)點K是邊界節(jié)點。節(jié)點J將指示節(jié)點K是邊界節(jié)點的信息附加到RREQ消息中。節(jié)點J還存儲節(jié)點K是邊界節(jié)點。節(jié)點J在步驟S906單播更新的RREQ消息到節(jié)點I。如在本發(fā)明第一實施例中提到的,當(dāng)從其子節(jié)點接收到RREQ消息時,N-中間節(jié)點更新并單播接收的RREQ消息。節(jié)點I在步驟S908和S910更新并廣播接收的RREQ消息。節(jié)點N在步驟S914廣播接收的RREQ消息。此時,節(jié)點N將它自身能夠是邊界節(jié)點候選者(bordernodecandidate)附加到RREQ消息中。當(dāng)從節(jié)點N接收到廣播的RREQ消息時,節(jié)點O認(rèn)識到節(jié)點N是邊界節(jié)點。因此,節(jié)點O更新包含在接收的RREQ消息內(nèi)的關(guān)于邊界節(jié)點的信息。節(jié)點O將節(jié)點N是邊界節(jié)點存儲到其路由選擇表中。在更新了接收的RREQ消息后,節(jié)點O在步驟S918單播更新的RREQ消息到節(jié)點M。節(jié)點M在步驟S920更新并單播接收的RREQ消息到節(jié)點L。節(jié)點H在步驟S912更新并廣播接收的RREQ消息。在從節(jié)點H接收到廣播的RREQ消息后,節(jié)點P在步驟S916單播接收的RREQ消息到節(jié)點O。節(jié)點O在步驟S918更新并單播接收的RREQ消息到節(jié)點M。節(jié)點M在步驟S920更新并并單播接收的RREQ消息到節(jié)點L。因此,節(jié)點L可以接收多于兩個的RREQ消息,并選擇兩個RREQ消息中具有最小鏈路成本的RREQ消息。結(jié)果,沿節(jié)點A→K→J→I→N→O→M→L建立前向路由。雖然未在此描述,每個N+將包含在RREQ消息內(nèi)的信息存儲到它的路由選擇表中。在下文中,說明反向路由選擇。節(jié)點L存儲包含在接收的RREQ消息內(nèi)的關(guān)于下一個邊界節(jié)點的信息,并在步驟S922將所創(chuàng)建的包含相關(guān)信息的RREP消息發(fā)送給節(jié)點M。節(jié)點M在步驟S914更新并轉(zhuǎn)發(fā)接收的RREP消息。節(jié)點O在步驟S926使用包含在RREP消息內(nèi)的邊界節(jié)點信息將RREP消息轉(zhuǎn)發(fā)到節(jié)點N。節(jié)點N用它所存儲的邊界節(jié)點(節(jié)點K)信息,來更新接收的RREP消息內(nèi)關(guān)于下一個邊界節(jié)點的信息,并在步驟S928轉(zhuǎn)發(fā)接收的RREP消息到節(jié)點I。最后,在步驟S930、S932和S934將RREP消息轉(zhuǎn)發(fā)到節(jié)點A。結(jié)果,建立了與前向路由相同的反向路由。圖10是顯示根據(jù)本發(fā)明另一實施例的RREQ接收節(jié)點的示范步驟的流程圖。在步驟S1000,節(jié)點接收RREQ消息。該節(jié)點在步驟S1002確定所接收的RREQ消息是否包含邊界節(jié)點候選者的信息并且是從其子節(jié)點發(fā)送來的。如果是,則該節(jié)點在步驟S1004將邊界節(jié)點候選者作為邊界節(jié)點存儲到它的路由選擇表中。在步驟S1006,該節(jié)點更新接收到的RREQ消息中的邊界節(jié)點信息。如果RREP消息不包含邊界節(jié)點信息,并且不是從子節(jié)點傳送來的,則該節(jié)點在步驟S1008將包含在RREQ消息內(nèi)的邊界節(jié)點信息存儲到它的路由選擇表中。該節(jié)點在步驟S1010確定它自己是否是N+。如果是N+,則該節(jié)點在步驟S1012確定所接收的RREQ消息是否是廣播的。如果是,則該節(jié)點在步驟S1016用它自己的信息,來更新包含在RREQ消息內(nèi)的邊界節(jié)點候選者信息。然后,該節(jié)點在步驟S1020確定目的節(jié)點是否是它的后代節(jié)點。如果是,則該節(jié)點在步驟S1024沿樹狀路由單播更新的RREQ消息。如果不是,則該節(jié)點在步驟S1026刪除所存儲的RREQ邊界節(jié)點候選者信息,并廣播更新的RREQ消息。如果在步驟S1010中該節(jié)點是N-,則在步驟S1014該節(jié)點確定所接收的RREQ消息是否是廣播的。如果是,則該節(jié)點在步驟S1018確定目的節(jié)點是否是它的后代節(jié)點。如果是,則該節(jié)點在步驟S1024沿樹狀路由單播更新的RREQ消息。如果不是,則該節(jié)點在步驟S1022丟棄接收的RREQ消息。圖11是表示根據(jù)本發(fā)明另一實施例的RREP接收節(jié)點的示范步驟的流程圖,下面將對此進行詳細說明。節(jié)點在步驟S1100接收RREP消息。在步驟S1102,節(jié)點確定它自己是否是N+。如果不是,則該節(jié)點在步驟S1106用樹狀路由以及它的路由選擇表,將接收到的RREP消息轉(zhuǎn)發(fā)到邊界節(jié)點。如果是,則該節(jié)點在步驟S1104確定路由選擇表是否維護源節(jié)點信息。如果沒有維護,則該節(jié)點在步驟S1114沿樹狀路由轉(zhuǎn)發(fā)RREP消息。如果該節(jié)點維護了源節(jié)點信息,則在步驟S1108該節(jié)點確定它自己是否是邊界節(jié)點。如果不是,則該節(jié)點在步驟S1110更新包含在RREP消息內(nèi)的邊界節(jié)點信息。即,節(jié)點使用由該節(jié)點維護的邊界節(jié)點信息來更新RREP消息。如果是,則該節(jié)點使用它的路由選擇表來更新所接收的RREP消息,并在步驟S1112轉(zhuǎn)發(fā)更新的RREP消息。根據(jù)以上說明,由于N-存儲最少量的信息,并且所存儲的信息被用于路由選擇,因此能夠建立與前向路由相同的反向路由。此外,能夠建立最佳或近似最佳路由。雖然已經(jīng)說明了本發(fā)明的實施例,當(dāng)本領(lǐng)域技術(shù)人員了解了本發(fā)明的基本發(fā)明概念時,他們可以想到實施例的其他變化和修改。因此,期望所附權(quán)利要求被解釋為不僅包括以上實施例,還包括這種落入本發(fā)明實質(zhì)和范圍內(nèi)的所有變化和修改。權(quán)利要求1.一種具有樹狀拓撲的無線通信系統(tǒng)中通過中間節(jié)點來中繼路由請求RREQ消息的方法,所述中間節(jié)點沿樹狀路由與至少一個節(jié)點連接,所述移動通信系統(tǒng)包括目的節(jié)點和源節(jié)點,所述源節(jié)點經(jīng)由至少一個中間節(jié)點將所述RREQ消息發(fā)送到所述目的節(jié)點,所述方法包括當(dāng)沿著除所述樹狀路由之外的路由接收到所述RREQ消息時,使用所存儲的信息來更新用于搜索反向路由的第一信息;以及發(fā)送包含被更新的第一信息的RREQ消息。2.根據(jù)權(quán)利要求1的方法,其中,僅當(dāng)從后代節(jié)點接收到沿著除所述樹狀路由之外的路由接收到的所述RREQ消息時,更新并發(fā)送所接收的RREQ消息。3.根據(jù)權(quán)利要求1的方法,進一步包括當(dāng)沿著所述樹狀路由接收到包含所述第一信息的RREQ消息時,使用所存儲的信息來更新用于搜索所述反向路由的第二信息。4.根據(jù)權(quán)利要求3的方法,其中,被更新的第二信息被存儲到路由選擇表中。5.根據(jù)權(quán)利要求3的方法,其中,當(dāng)所述RREQ消息中包含的目的節(jié)點是所述后代節(jié)點時,單播被更新的RREQ消息。6.根據(jù)權(quán)利要求3的方法,其中,所述目的節(jié)點將包含在所述RREQ消息中的第二信息附加到所創(chuàng)建的路由應(yīng)答RREP消息中。7.根據(jù)權(quán)利要求6的方法,其中,所接收的RREP消息被轉(zhuǎn)發(fā)到對應(yīng)于所述第二信息的節(jié)點。8.根據(jù)權(quán)利要求7的方法,其中,對應(yīng)于所述第二信息的節(jié)點使用存儲在所述路由選擇表中的所述第二信息,來更新所接收的RREP消息。9.根據(jù)權(quán)利要求1的方法,其中,當(dāng)所述目的節(jié)點是所述源節(jié)點的沿所述樹狀路由的父節(jié)點或后代節(jié)點時,所述源節(jié)點不創(chuàng)建所述RREQ消息。10.根據(jù)權(quán)利要求9的方法,其中,所述源節(jié)點根據(jù)樹狀路由器計算來定位所述目的節(jié)點的位置,并將數(shù)據(jù)轉(zhuǎn)發(fā)到所定位的位置。11.根據(jù)權(quán)利要求10的方法,其中,所述中間節(jié)點將其地址與所述目的節(jié)點的地址進行比較,并且當(dāng)所述兩個地址不相同時,沿所述樹狀路由中繼所述數(shù)據(jù)。12.一種在包括目的節(jié)點和源節(jié)點的移動通信系統(tǒng)中建立從所述源節(jié)點到所述目的節(jié)點的路由的設(shè)備,所述源節(jié)點經(jīng)由至少一個中間節(jié)點將RREQ消息發(fā)送到所述目的節(jié)點,所述設(shè)備包括所述源節(jié)點,用于創(chuàng)建路由請求RREQ消息,并且發(fā)送所創(chuàng)建的RREQ消息;至少一個中間節(jié)點,用于發(fā)送被更新的RREQ消息,當(dāng)沿著除所述樹狀路由之外的路由接收到所述RREQ消息時,所述中間節(jié)點使用所存儲的信息來更新用于搜索反向路由的第一信息;以及所述目的節(jié)點。13.根據(jù)權(quán)利要求12的設(shè)備,其中,僅當(dāng)沿著除所述樹狀路由之外的路由從后代節(jié)點接收到所述RREQ消息時,所述中間節(jié)點更新并發(fā)送所接收的RREQ消息。14.根據(jù)權(quán)利要求12的設(shè)備,其中,當(dāng)沿著所述樹狀路由接收到包含所述第一信息的RREQ消息時,所述中間節(jié)點使用所存儲的信息來更新用于搜索所述反向路由的第二信息。15.根據(jù)權(quán)利要求14的設(shè)備,其中,所述中間節(jié)點將被更新的第二信息存儲到路由選擇表中。16.根據(jù)權(quán)利要求14的設(shè)備,其中,當(dāng)包含在所述RREQ消息中的目的節(jié)點是所述后代節(jié)點時,所述中間節(jié)點單播被更新的RREQ消息。17.根據(jù)權(quán)利要求14的設(shè)備,其中,所述目的節(jié)點將所述RREQ消息中包含的第二信息附加到所創(chuàng)建的路由應(yīng)答RREP消息中。18.根據(jù)權(quán)利要求17的設(shè)備,其中,所述中間節(jié)點將所接收的RREP消息轉(zhuǎn)發(fā)到對應(yīng)于所述第二信息的節(jié)點。19.根據(jù)權(quán)利要求18的設(shè)備,其中,所述中間節(jié)點使用存儲在所述路由選擇表中的所述第二信息,來更新所接收的RREP消息。20.根據(jù)權(quán)利要求12的設(shè)備,其中,當(dāng)所述目的節(jié)點是所述源節(jié)點的沿所述樹狀路由的父節(jié)點或后代節(jié)點時,所述源節(jié)點不創(chuàng)建所述RREQ消息。21.根據(jù)權(quán)利要求20的設(shè)備,其中,所述源節(jié)點根據(jù)樹狀路由器計算來定位所述目的節(jié)點的位置,并且將數(shù)據(jù)轉(zhuǎn)發(fā)到所定位的位置。22.根據(jù)權(quán)利要求21的設(shè)備,其中,所述中間節(jié)點將其地址與所述目的節(jié)點的地址進行比較,并且當(dāng)所述兩個地址不相同時,沿所述樹狀路由中繼所述數(shù)據(jù)。全文摘要一種方法,用于在移動通信系統(tǒng)中使用樹狀拓撲通過中間節(jié)點來中繼路由請求RREQ消息,該中間節(jié)點與至少一個節(jié)點連接,該移動通信系統(tǒng)包含目的節(jié)點和源節(jié)點,該源節(jié)點經(jīng)由至少一個中間節(jié)點將RREQ消息發(fā)送到目的節(jié)點,從而建立用于通信的最佳路由。RREQ消息是沿除樹狀路由之外的路由被接收的,并且使用它的信息來更新該第一信息。該中間節(jié)點將包含更的新第一信息的RREQ消息中繼到下一個中間節(jié)點。文檔編號H04L12/56GK1599350SQ200410076688公開日2005年3月23日申請日期2004年5月9日優(yōu)先權(quán)日2003年5月9日發(fā)明者胡旭暉,劉勇,朱春暉,李明鐘申請人:三星電子株式會社,紐約城市大學(xué)