專利名稱:節(jié)點裝置以及繞行路徑調查方法
技術領域:
本發(fā)明涉及在包含多個節(jié)點裝置的網絡中調查繞行路徑的節(jié)點裝置以及方法。
背景技術:
作為包含多個節(jié)點裝置的網絡的I個方式,自組織網絡正在被實用化。在自組織網絡中,在各節(jié)點裝置中進行自主的路徑選擇。即,自組織網絡的各節(jié)點裝置具備作為路由器或者交換機進行動作的功能。這里,各節(jié)點裝置通過與鄰接的節(jié)點裝置交換消息等,能夠識別周邊的網絡構成。因此,若采用自組織(尤其是無線自組織)方式,則不用設置對網絡整體進行管理的管理裝置,在希望構建網絡的環(huán)境中僅配置節(jié)點裝置就能夠構建所希望的網絡。并且,在自組織網絡中,節(jié)點裝置的追加或者去除容易,能夠容易地變更網絡構成。另夕卜,以往也提出有一種不用重新構建路徑而是通過添加在路徑上不存在的新的節(jié)點裝置就能夠更新連接的無線通信系統(例如專利文獻I)。 另外,對于網絡而言,一般為了即使在發(fā)生了故障的情況下也能夠繼續(xù)進行通信,優(yōu)選具有繞行路徑(或者冗余路徑或代替路徑)。尤其是在無線網絡中,根據電波環(huán)境的不同有時也會暫時地切斷鏈路,預先確認有無繞行路徑非常重要。因此,以往提出了一種在由多個節(jié)點裝置構成的網絡通信中的鏈路故障時利用分散型的自動繞行路由來恢復故障的技術。(例如專利文獻2)然而,在自組織網絡中,在網絡整體中準確地識別通信路徑比較困難。因此,在自組織網絡中,不易確認對于各通信路徑是否分別存在繞行路徑。專利文獻I :日本特開2006-135482號公報專利文獻2 :日本特開平3-117140號公報
發(fā)明內容
本發(fā)明的目的在于提供一種在自組織網絡中對任意的通信路徑調查有無繞行路徑的節(jié)點裝置或者方法。本發(fā)明的I個方式的節(jié)點裝置在包含多個節(jié)點的自組織網絡中,具備接收單元,其接收從與自身節(jié)點裝置鄰接的第I節(jié)點裝置轉送來的、將第2節(jié)點裝置作為發(fā)送源的數據;發(fā)送數據創(chuàng)建單元,其創(chuàng)建將所述第2節(jié)點裝置設定為最終發(fā)送目的地的發(fā)送數據;發(fā)送單元,其將所述發(fā)送數據向所述第I節(jié)點裝置以外的與自身節(jié)點裝置鄰接的鄰接節(jié)點裝置發(fā)送;判定單元,在自身節(jié)點裝置再次接收到向所述第I節(jié)點裝置以外的與自身節(jié)點鄰接的所有鄰接節(jié)點裝置發(fā)送的所述發(fā)送數據、或者向所述鄰接節(jié)點進行的發(fā)送失敗時,該判定單元判定為在自身節(jié)點裝置和所述第2節(jié)點裝置之間不存在經由所述第I節(jié)點裝置以外的鄰接節(jié)點裝置來收發(fā)數據的繞行路徑。本發(fā)明的其他方式的節(jié)點裝置在包含多個節(jié)點裝置的自組織網絡中,具備要求發(fā)送單元,其將特定的其他節(jié)點裝置設定為最終發(fā)送目的地來創(chuàng)建并發(fā)送調查要求數據,該調查要求數據要求從該其他節(jié)點裝置向自身節(jié)點裝置發(fā)送用于確定兩節(jié)點間的通信路徑的調查數據;判定單元,其基于接收到所述自身節(jié)點裝置被設定為最終發(fā)送目的地、所述其他節(jié)點裝置被設定為發(fā)送源的所述調查數據的情況,判定為在自身節(jié)點裝置和該其他節(jié)點裝置之間,存在能夠分別經由與其他特定的節(jié)點裝置鄰接的至少2個以上的鄰接節(jié)點來收發(fā)數據的繞行路徑。根據實施方式的構成或者方法,在自組織網絡中,能夠對任意的通信路徑調查有無繞行路徑。
圖I是表示網絡構成的第I例的圖。圖2是表示網絡構成的第2例的圖。圖3是表示實施方式中的節(jié)點裝置的構成的功能框圖。圖4是表示實施方式中的節(jié)點裝置的硬件構成的圖。 圖5是關注I個節(jié)點裝置來說明權重的學習的圖。圖6是說明在圖I的網絡中動態(tài)且自主分散地選擇路徑的樣子的圖。圖7是表示幀的例子的圖。圖8是表示圖3的緩沖部所保存的數據的例子的圖。圖9是表不圖3的鄰接節(jié)點管理表的例子的圖。圖10是表示圖3的加權表的例子的圖。圖11是說明圖10的加權表的變化的圖。圖12是表示圖3的FID管理表的例子的圖(其I)。圖13是表示圖3的FID管理表的例子的圖(其2)。圖14是幀接收處理的流程圖。圖15是圖14的步驟S203中的問候幀接收處理的流程圖。圖16是問候幀發(fā)送處理的流程圖。圖17是鄰接節(jié)點管理表的時效處理的流程圖。圖18是加權表的時效處理的流程圖。圖19是FID管理表的時效處理的流程圖。圖20是圖14的步驟S205中的數據幀接收處理的流程圖(其I)。圖21是圖14的步驟S205中的數據幀接收處理的流程圖(其2)。圖22是圖14的步驟S205中的數據幀接收處理的流程圖(其3)。圖23是圖14的步驟S205中的數據幀接收處理的流程圖(其4)。圖24是圖21的步驟S812a中的加權表調整處理的流程圖。圖25是圖14的步驟S206中的ACK幀接收處理的流程圖。圖26是表示ACK幀在到超時時刻之前沒有被接收時的處理的流程圖。圖27是節(jié)點裝置作為GS來發(fā)送數據幀時的發(fā)送處理的流程圖(其I)。圖28是節(jié)點裝置作為GS發(fā)送數據幀時的發(fā)送處理的流程圖(其2)。圖29是也能作為GS的節(jié)點裝置代替進行圖23的處理作為數據幀接收處理的一部分的處理的流程圖。圖30是表示基于問候幀的收發(fā)的鄰接節(jié)點的識別以及圖6的路徑選擇的時序圖。
圖31是說明繞行路徑的圖。圖32是說明調整繞行路徑的方法的概要的圖。圖33是表示調查要求節(jié)點裝置的動作的流程圖。圖34是表示調查執(zhí)行節(jié)點裝置的動作的流程圖。圖35是調查執(zhí)行節(jié)點裝置所具備的鄰接節(jié)點管理表的實施例。
圖36是表示繞行路徑存在時的調查順序的圖。圖37是表示繞行路徑不存在時的調查順序的圖。
具體實施例方式以下參照附圖對發(fā)明的實施方式進行說明。具體而言,首先對實施方式涉及的網絡的構成、各節(jié)點裝置的構成以及動作進行說明。然后,對在實施方式涉及的網絡中對任意的通信路徑檢測有無繞行路徑的方法進行說明。圖I是表示網絡構成的第I例的圖。圖I的網絡I是能夠使用以下的實施方式的自組織網絡的一例,包含多個節(jié)點裝置。另外,以下在根據網絡拓撲的觀點進行的說明中,有時也將“節(jié)點裝置”簡稱為“節(jié)點”。對于網絡I內的各節(jié)點裝置,在網絡I內被預先分配唯一的識別信息(以下稱為“節(jié)點ID (identification) ”)。以下設為參照符號表示節(jié)點ID,例如將分配了 Ni作為節(jié)點ID的節(jié)點裝置參照為“節(jié)點裝置N/’。另外,以下也將對節(jié)點裝置Ni自身分配的節(jié)點ID、即Ni稱為節(jié)點裝置Ni的“自身節(jié)點ID”(圖I中I彡i彡7)。另外,在圖I中用實線表示鏈路。具體而言,網絡I的拓撲如下所述。即,在節(jié)點裝置N1和N2間,節(jié)點裝置N2和N3間,節(jié)點裝置N2和N6間,節(jié)點裝置N3和N4間,節(jié)點裝置N3和N5間,節(jié)點裝置N4和N5間,節(jié)點裝置N4和N7間,以及節(jié)點裝置N6和N7間,分別存在鏈路。另外,以下的“鏈路”可以是無線鏈路,也可以是有線鏈路。在節(jié)點裝置Ni和Nj能夠不經由基于其他節(jié)點裝置Nk的中繼而直接通過無線方式來相互對信息進行通信時,稱為“節(jié)點裝置Ni和Nj之間存在無線鏈路”(圖I中I < i,j,k < 7)。另外,在節(jié)點裝置Ni和Nj間由線纜直接連接,節(jié)點裝置Ni和Nj能夠經由線纜來相互對信息進行通信時,稱為“節(jié)點裝置Ni和Nj之間存在有線鏈路”。另外,當節(jié)點裝置Ni和Nj之間存在無線或者有線的鏈路時,稱為“節(jié)點裝置Ni和Nj相互鄰接”。換言之,對于節(jié)點裝置Ni而言節(jié)點裝置Nj是鄰接節(jié)點裝置,對于節(jié)點裝置Nj而言節(jié)點裝置Ni是鄰接節(jié)點裝置。另外,在圖I的網絡I中,可以添加新的節(jié)點裝置,也可以撤掉節(jié)點裝置N1 ^中的任意一個使其從網絡I消失。另外,鏈路不是固定的,可以動態(tài)變化。例如,在受到天氣或遮擋物等的影響下,有時在節(jié)點裝置Ni和Nj之間會新建立無線鏈路,或者到目前為止建立的無線鏈路會消失。若節(jié)點裝置是可變動方式,則鏈路的有無有時也會由于節(jié)點裝置間距離的變動而發(fā)生變化。另外,因為線纜的連接替換,有時會建立新的有線鏈路,或者到目前為止存在的有線鏈路消失,有時也會因線纜的切斷等故障而導致有線鏈路消失。根據以下說明的實施方式,即使在這樣的節(jié)點、鏈路動態(tài)地變化的環(huán)境中,也根據數據被發(fā)送的時間點的網絡I的狀況,一邊動態(tài)找出并選擇可利用且合適的路徑,一邊進行數據的發(fā)送。并且,在各節(jié)點裝置N1 N7無需識別動態(tài)地變化的網絡I整體拓撲的狀態(tài)下,自主分散地實現對應于動態(tài)拓撲變化的路徑選擇。另外,以下將在節(jié)點裝置間按照通信流程(協議)被收發(fā)的數據的單位、即PDU (Protocol Data Unit)、以及收發(fā)對象的數據本身稱為“幀”,詳細內容會參照圖7后述。雖然在網絡I內的數據收發(fā)利用幀來進行,但是下面將幀在網絡I內最初的發(fā)送源的節(jié)點裝置稱為“GS (Global Source)”,并且下面將在該發(fā)送源的節(jié)點裝置(GS)中設定的該幀的發(fā)送目的地的節(jié)點裝置稱為“⑶(Global Destination) ”。另外,⑶在實施方式的網絡上的幀傳輸中代表最終發(fā)送目的地節(jié)點。 例如,在節(jié)點裝置N1是GS、節(jié)點裝置N7是⑶的情況下,在網絡I中節(jié)點裝置N1和N7F鄰接,因此幀被其他節(jié)點裝置中繼,其結果,幀到達節(jié)點裝置n7。例如,幀可能從節(jié)點裝置N1發(fā)送至節(jié)點裝置N2,從節(jié)點裝置N2發(fā)送至節(jié)點裝置N6,從節(jié)點裝置N6發(fā)送至節(jié)點裝置N7。以下用〈Np N2, N6, N7>這樣的元組(tuple)來代表路徑。在路徑<N1; N2, N6, N7>的例子中,例如在從節(jié)點裝置N1向節(jié)點裝置N2發(fā)送幀時,幀的最終發(fā)送目的地是作為GD的節(jié)點裝置N7,但是幀的直接發(fā)送目的地是與節(jié)點裝置N1鄰接的節(jié)點裝置N2。以下在幀在這樣相互鄰接的2個節(jié)點裝置間發(fā)送的過程中,將幀的發(fā)送源的節(jié)點裝置稱為“LS (Local Source) ”,將幀的發(fā)送目的地的節(jié)點裝置稱為“LD (LocalDestination) ”。另外,LS在實施方式的網絡上的巾貞傳輸中代表發(fā)送源鄰接節(jié)點。例如,如上述那樣幀從節(jié)點裝置N1經由節(jié)點裝置N2和N6向節(jié)點裝置N7中繼時的LS和LD如下所述。即,在最初幀被從也是GS的節(jié)點裝置N1向與節(jié)點裝置N1鄰接的節(jié)點裝置N2發(fā)送時,LS是節(jié)點裝置N1, LD是節(jié)點裝置N2。接著,在幀被從節(jié)點裝置N2向與節(jié)點裝置N2鄰接的節(jié)點裝置N6發(fā)送時,LS是節(jié)點裝置N2, LD是節(jié)點裝置N6。并且,在幀被從節(jié)點裝置N6向與節(jié)點裝置N6鄰接且也是⑶的節(jié)點裝置N7發(fā)送時,LS是節(jié)點裝置N6, LD是節(jié)點裝置N7O另外,網絡I內的I個或者多個節(jié)點裝置可以與屬于與網絡I不同的網絡(以下稱為“外部網絡”)的未圖示的網絡設備相連接。例如,在包含數據管理服務器的外部網絡的網關裝置上可以利用有線鏈路或者無線鏈路連接節(jié)點裝置N7。并且,節(jié)點裝置N7被指定為GD并在網絡I內發(fā)送的數據可以從節(jié)點裝置N7經由網關裝置向數據管理服務器發(fā)送,并由數據管理服務器進行管理。接著,參照圖2說明其他網絡的例子。圖2是表示網絡構成的第2例的圖。圖2的網絡2也是可以使用以下的實施方式的自組織網絡的一例,包含多個節(jié)點裝置。另外,與圖I的網絡I同樣,網絡2也可以與未圖示的外部網絡連接。網絡2包含節(jié)點裝置Nltll N12Q。圖2是在節(jié)點裝置Nltll N12tl中著重表現I個節(jié)點裝置Nltl5的圖。S卩,由粗實線圓示出的節(jié)點裝置Nltl5只要識別出能夠直接通信的、鄰接的3個節(jié)點裝置N1(l7、N111和N112的存在和節(jié)點ID即可,無需識別網絡2整體的拓撲。節(jié)點裝置Nltl5非但無需識別網絡2的拓撲,就連網絡2內存在的節(jié)點裝置的個數也無需識別,也無需事先了解不與節(jié)點裝置Nltl5鄰接的節(jié)點裝置的節(jié)點ID。在圖2中,節(jié)點裝置Nltl5所識別的部分由實線表示,節(jié)點裝置Nltl5無需識別的部分由虛線表示。即,在圖2中,僅有從節(jié)點裝置Nltl5來看存在于跳數為I以內的范圍內的以下裝置由實線表示?!龉?jié)點裝置Nltl5自身■與節(jié)點裝置Nltl5鄰接的3個節(jié)點裝置Nltl7, N111,以及N112■將節(jié)點裝置Nltl5與3個鄰接節(jié)點裝置Nltl7, N111,以及N112分別連接的3條鏈路根據以下說明的實施方式,網絡內的各節(jié)點裝置如上述節(jié)點裝置Nltl5那樣,只要識別鄰接節(jié)點裝置即可。因此,即使網絡的規(guī)模增大,也不會陷入“各節(jié)點裝置為了識別網絡拓撲而進行控制信息的通信,由于控制信息的通信而導致網絡負荷變大,通信系統整體的性能惡化”這樣的情況。以下參照圖3 圖30對實施方式涉及的網絡的構成、各節(jié)點裝置的構成以及動作進行說明。然后,對在實施方式的網絡中調查繞行路徑的方法進行說明。圖3是表示實施方式中的節(jié)點裝置的構成的功能框圖。圖I或者圖2的各節(jié)點裝 置具體而言例如是圖3所示的節(jié)點裝置100。節(jié)點裝置100具備接收幀的接收部101和發(fā)送幀的發(fā)送部102。另外,節(jié)點裝置100為了保存幀的發(fā)送所用的各種信息,具備鄰接節(jié)點管理表103、加權表104、FID (FrameIDentification)管理表105以及調查歷史表112。節(jié)點裝置100還具備判別接收部101所接收的幀的種類的幀分支處理部
106。詳細形式會參照圖7后述,在該實施方式中,至少使用“數據幀”、“問候幀”、以及“ACK(ACKnowledgment)巾貞”這 3 種中貞。節(jié)點裝置100具備進行與ACK幀有關的處理的ACK處理部107和對應問候幀的接收進行處理的鏈路管理部108。另外,節(jié)點裝置100為了進行對應于數據幀的接收的處理而具備緩沖部109和數據幀處理部110。節(jié)點裝置100還具備上位層處理部111、問候幀創(chuàng)建部112以及FID創(chuàng)建部113。節(jié)點裝置100的各部如下述那樣進行動作。接收部101接收幀,并將接收到的幀輸出至幀分支處理部106。由此,幀分支處理部106判別幀的種類。在接收到問候幀時,幀分支處理部106將接收到的問候幀輸出至鏈路管理部108。鏈路管理部108對鄰接節(jié)點管理表103進行管理,并且也參與加權表104的管理。這里,問候幀是用于對控制信息進行通信的控制幀的一種,具體而言,是用于向其他節(jié)點裝置通知節(jié)點裝置100自身的存在的幀。因此,如參照圖15詳細后述的那樣,鏈路管理部108以問候幀的接收為契機來識別鄰接節(jié)點裝置的存在,并將識別結果反映在鄰接節(jié)點管理表103中。即,鄰接節(jié)點管理表103是供節(jié)點裝置100存儲與節(jié)點裝置100鄰接的其他節(jié)點裝置的表。另外,由于網絡的狀況能夠動態(tài)地變化,所以根據狀況的不同,到目前為止作為鄰接節(jié)點裝置而被鏈路管理部108識別到的其他節(jié)點裝置有可能變得無法被識別為鄰接節(jié)點裝置。因此,如參照圖17詳細后述的那樣,鏈路管理部108也進行用于從鄰接節(jié)點管理表103刪除與成為不能被識別為鄰接節(jié)點裝置的節(jié)點裝置有關的項的時效處理。另外,在該實施方式中,鏈路管理部108根據鄰接節(jié)點裝置的變化進行加權表104的追加、刪除、或者更新。這里,加權表104是用于按GD來管理用于決定將幀發(fā)送至哪個鄰接節(jié)點裝置的信息的表。圖3中示出了與M個⑶分別對應設置的加權表104-1 104-M。在本說明書中,“加權表104”是加權表104-1 104-M的總稱。另外,在節(jié)點裝置100被開始運用的時間點,加權表104并不存在,M = O。具體而言,加權表104按⑶來管理“為了使幀最終到達⑶,節(jié)點裝置100自身能夠將哪個鄰接節(jié)點裝置選擇為LD”這一情況。換言之,加權表104按幀的GD,針對與節(jié)點裝置100鄰接的I個以上的節(jié)點裝置,將選擇為LD時的優(yōu)先級表示為權重并加以保持。根據其他的觀點,某鄰接節(jié)點裝置“能夠被選擇為LD”意味著向該鄰接節(jié)點裝置發(fā)送幀的可能性是“能夠發(fā)送”。另外,某鄰接節(jié)點裝置“不能被選擇為LD”意味著向該鄰接節(jié)點裝置發(fā)送幀的可能性是“不能發(fā)送”,意味著該鄰接節(jié)點裝置的優(yōu)先級是與“不能發(fā)送”對應的規(guī)定的最低優(yōu)先級。因此,若節(jié)點裝置100的鄰接節(jié)點裝置根據網絡狀況的變化而發(fā)生變化,則鏈路管理部108如參照圖15和圖17詳細后述的那樣,根據鄰接節(jié)點裝置的變化來對加權表104進行追加、更新或者刪除。 另外,在接收到ACK幀時,幀分支處理部106將接收到的ACK幀輸出至ACK處理部
107。這里,ACK幀是控制幀的一種,是從節(jié)點裝置100所發(fā)送的數據幀的LD、即節(jié)點裝置向節(jié)點裝置100通知數據幀的接收所用的幀。因此,ACK幀的接收意味著數據幀的發(fā)送成功,經過了規(guī)定時間后還沒有接收到ACK幀從而超時的情況意味著數據幀的發(fā)送失敗。ACK處理部107進行后述的圖25所示的ACK幀接收的超時監(jiān)視。緩沖部109為了防備數據幀的發(fā)送失敗和再次發(fā)送而保存有數據幀。因此,如參照圖25詳細后述的那樣,ACK處理部107若以ACK幀的接收為契機而識別到數據幀的發(fā)送成功,則成為能夠從緩沖部109刪除不需要的數據幀的狀態(tài)。然后,在經過了規(guī)定時間的時間點,從緩沖部109刪除與ACK幀對應的數據幀。另外,ACK處理部107向數據幀處理部110通知發(fā)送數據幀的成功與否。另外,在接收到數據幀時,幀分支處理部106將接收到的數據幀保存到緩沖部109中,并且請求數據幀處理部Iio進行后述的圖20 圖23的處理。這里,數據幀是包含作為GS的節(jié)點裝置要向作為GD的節(jié)點裝置傳輸的數據作為凈荷的幀。換言之,與定義該實施方式中的幀的層相比靠上位的層中定義的協議的PDU作為凈荷被包含于數據中貞。上位層處理部111在節(jié)點裝置100是GS或⑶的情況下,對數據幀中作為凈荷而包含的上位層的PDU進行處理。這里,上位層處理部111為了實現對實施方式的網絡上的繞行路徑進行調查的功能,而具備要求幀發(fā)送部111a、判定部111b、響應幀發(fā)送部111c、檢測部llld、調查幀發(fā)送部Ille和判定部Illf。另外,在后面對這些要素Illa Illf的動作進行說明。從幀分支處理部106接受到數據幀的處理請求的數據幀處理部110的動作概要如下所述。數據幀處理部110請求發(fā)送部102發(fā)送針對接收部101所接收的數據幀的ACK幀。另外,數據幀處理部110判斷所接收到的數據幀的GD的值是否等于節(jié)點裝置100的自身節(jié)點ID。并且,在所接收到的數據幀的GD的值與節(jié)點裝置100的自身節(jié)點ID不同的情況下,數據幀處理部110通過參照FID管理表105,來判斷本次的接收相當于下述(Al)和(A2)中的哪一個。(Al)在過去節(jié)點裝置100作為LS所發(fā)送的數據幀在網絡內被中繼的過程中返回節(jié)點裝置100,并被接收部101接收。(A2)上述(Al)以外的新的數據幀被接收部101接收。數據幀處理部110在判斷為本次的接收相當于(A2)時,參照加權表104來選擇為了轉送所接收到的數據幀而指定為LD的鄰接節(jié)點裝置,并請求發(fā)送部102轉送數據幀。另一方面,數據幀處理部110在判斷為本次的接收相當于(Al)時,識別出過去被選擇為LD的鄰接節(jié)點裝置不是合適的LD,并將識別的結果反映于加權表104。并且,數據幀處理部110參照加權表104來判斷是否還存在其他的能夠被選擇為LD的鄰接節(jié)點裝置。數據幀處理部110還接受來自ACK處理部107的數據幀發(fā)送成功或者發(fā)送失敗的 通知,識別被選擇為該數據幀的LD的鄰接節(jié)點裝置是否合適,并將該識別結果反映于加權表 104。另外,與節(jié)點裝置100鄰接的某節(jié)點裝置Ni “能夠被選擇為LD”意味著在直覺上“具有試著將鄰接節(jié)點裝置Ni選擇為LD來嘗試幀是否成功地到達⑶的價值”。具體而言,節(jié)點裝置Ni “能夠被選擇為LD”意味著“即不是下述(BI)也不是下述(B2)”。另外,“能夠選擇”這樣的用語更詳細的意思根據后述的與圖5有關的說明和與圖22有關的(Fl) (F2)與(Gl) (G4)的說明會更加清楚。(BI)作為節(jié)點裝置100在過去將鄰接節(jié)點裝置Ni選擇為LD的結果,有時會發(fā)生死循環(huán)等某種失敗,已經判明“節(jié)點裝置Ni不適于作為LD”。(B2)曾經接收部101最初接收到本次接收部101所接收的數據幀時的LS (以下稱為 “Original Local Source”,簡稱為 “OLS”)是節(jié)點裝置 Ni。如果還存在其他的能夠被選擇為LD的鄰接節(jié)點裝置,則數據幀處理部110選擇能夠選擇的鄰接節(jié)點裝置并指定為LD,并請求發(fā)送部102轉送數據幀。反之,如果已經不存在能夠被選擇為LD的鄰接節(jié)點裝置,則數據幀處理部110如下述(Cl)或(C2)那樣進行動作。(Cl)在本次接收到的數據幀的GS是節(jié)點裝置100以外的情況下,數據幀處理部110為了向OLS返送數據幀,將OLS選擇為LD,并請求發(fā)送部102轉送數據幀。該動作是用于識別對于作為OLS的鄰接節(jié)點裝置“將節(jié)點裝置100選擇為LD是不合適的”的動作,如后述那樣相當于路徑搜索中的回溯。(C2)在本次接收到的數據幀的GS是節(jié)點裝置100自身的情況下,原先創(chuàng)建該數據幀的是上位層處理部111。因此,數據幀處理部110向上位層處理部111通知數據幀的發(fā)送失敗,并廢棄緩沖部109所保存的數據幀。另外,為了實現以上那樣的數據幀處理部110的動作,數據幀處理部110需要區(qū)別上述(Al)和(A2)。因此,在該實施方式中,能夠唯一識別數據幀的幀識別信息包含于各數據幀,幀識別信息存儲于FID管理表105。該實施方式中的幀識別信息具體而言是作為數據幀的GS的節(jié)點裝置的節(jié)點ID和FID的組合。FID是唯一識別某I個節(jié)點裝置作為GS發(fā)送的多個幀中的每個幀的識別信息,例如可以是規(guī)定位數的序列號,也可以是時間戳。
也就是說,由于各個節(jié)點裝置獨立地創(chuàng)建FID,所以也可能會發(fā)生不同的多個節(jié)點裝置偶然創(chuàng)建相同的FID的情況。但是,幀識別信息不是單獨的FID,而是作為數據幀的GS的節(jié)點裝置的節(jié)點ID與FID的組合。并且,節(jié)點ID如上所述是在網絡內唯一識別節(jié)點裝置的信息。因此,即使不同的多個節(jié)點裝置偶然創(chuàng)建相同的FID,由于不同的節(jié)點裝置分別作為GS發(fā)送的幀具有不同的幀識別信息,所以能夠區(qū)別。另外,對于幀識別信息而言,即使數據幀經由I個以上的節(jié)點裝置在網絡內轉送,也不會被中繼數據幀的節(jié)點裝置改寫,因此不會變化。數據幀處理部110通過將請求發(fā)送部102發(fā)送的數據幀的幀識別信息記錄于FID管理表105,能夠在之后數據幀返回節(jié)點裝置100自身時,識別為相當于上述(Al)。另外,節(jié)點裝置100也進行不以幀的接收為契機的其他處理。具體而言,問候幀創(chuàng)建部112利用FID創(chuàng)建部113創(chuàng)建的FID來定期地創(chuàng)建問候幀,并輸出至發(fā)送部102。由此,發(fā)送部102發(fā)送問候幀,因此節(jié)點裝置100能夠將節(jié)點裝置100自身的存在定期地向周圍進行通知。
另外,上位層處理部111能夠在任意的定時,將作為凈荷包含于數據幀中并發(fā)送的對象的數據輸出至數據幀處理部110。由此,數據幀處理部110響應上位層處理部111的要求而創(chuàng)建數據幀,并指示發(fā)送部102發(fā)送數據幀。這樣,節(jié)點裝置100能夠使自身成為GS0圖4是表示實施方式中的節(jié)點裝置的硬件構成的圖。圖3的節(jié)點裝置100例如可以由圖4所示的各種硬件實現。在圖4 的例子中,節(jié)點裝置 100 具備 MPU (Microprocessing Unit) 201、PHY(PHYsical layer)芯片 202 以及定時器 IC(Integrated Circuit) 203o 另外,節(jié)點裝置100 具備 DRAM (Dynamic Random access Memory) 204、閃存 205 以及無線模塊 206。連接MPU201 和 PHY 芯片 202 間的通信接口是 MII/MDI0(Media IndependentInterface or Management Data Input/Output) 207。Mil 和 MDIO 都是物理層和 MAC 子層(Media Access Control sublayer)之間的接口。另外,MPU201 和定時器 IC203 經由I2C/PI0(Inter-Integrated Circuit or Parallel Input/Output)總線 208 連接。并且,DRAM204、閃存 205 和無線模塊 206 經由 PCI (Peripheral Component Interconnect)總線209 與 MPU201 連接。MPU201將作為非易失性存儲裝置的一種的閃存205所保存的固件等程序加載到DRAM204, 一邊將DRAM204作為工作存儲器使用一邊執(zhí)行各種處理。MPU201通過執(zhí)行程序,能夠作為圖3的幀分支處理部106、ACK處理部107、鏈路管理部108、數據幀處理部110、上位層處理部111、問候幀創(chuàng)建部112以及FID創(chuàng)建部113進行動作。另外,固件等程序可以被保存于計算機可讀的存儲介質中而被提供,從而被安裝于節(jié)點裝置100?;蛘?,程序也可以從網絡經由PHY芯片202或者無線模塊206而被下載,從而被安裝于節(jié)點裝置100。另外,根據實施方式的不同,也可以利用DRAM204、閃存205以外的其他種類的存儲裝置。例如,節(jié)點裝置 100 可以具有 CAM (Content Addressable Memory)、SRAM (StaticRandom Access Memory) > SDRAM (Synchronous Dynamic Random Access Memory)等存儲裝置。
圖3的鄰接節(jié)點管理表103、加權表104、FID管理表105、緩沖部109以及調查歷史表112由DRAM204、閃存205或者未圖示的其他存儲裝置實現。另外,閃存205除了程序以外,還存儲節(jié)點裝置100的節(jié)點ID等節(jié)點裝置100所固有的信息。PHY芯片202是進行有線連接下的物理層的處理的電路。由于該實施方式適用于無線網絡,所以節(jié)點裝置100也可以不具備PHY芯片202。但是,為了節(jié)點裝置100和外部網絡的連接,節(jié)點裝置100也可以具備PHY芯片202。例如,節(jié)點裝置100具備遵循以太網(注冊商標)標準的有線LAN端口,可以經由與有線LAN端口連接的線纜來與外部網絡的網 關裝置等連接。該情況下,MPU201創(chuàng)建以太網幀,并能夠經由MII/MDI0207向PHY芯片202輸出。并且,PHY芯片202將來自MPU201的輸出(即表示以太網幀的邏輯信號)轉換成對應于線纜種類的信號(即電信號或者光信號),并向線纜輸出。這樣,節(jié)點裝置100能夠利用PHY芯片202向外部網絡發(fā)送數據。另外,PHY芯片202也能夠將經由線纜和有線LAN端口從外部網絡輸入的電信號或光信號轉換成邏輯信號,并經由MII/MDI0207輸出至MPU201。這樣,節(jié)點裝置100能夠利用PHY芯片202從外部網絡接收數據。無線模塊206是進行無線連接下的物理層的處理的硬件。無線模塊206例如包含天線、ADC (Analog-to-Digital Converter)、DAC (Digital-to-Analog Converter)、調制器、解調器、編碼器、解碼器等。在該實施方式中,圖3的接收部101和發(fā)送部102由圖4的無線模塊206實現。也就是說,在該實施方式中,網絡內的鏈路是無線鏈路。定時器IC203在經過設定的時間之前進行計數動作,當經過了設定的時間時輸出中斷信號。例如,定時器IC203可以輸出用于分別以規(guī)定間隔執(zhí)行鄰接節(jié)點管理表103、加權表104、FID管理表105的時效處理的中斷信號。另外,根據實施方式的不同,節(jié)點裝置的硬件構成可以與圖4不同,也可以將圖4例示的標準/種類以外的其他硬件利用在節(jié)點裝置中。例如,圖3的幀分支處理部106、ACK處理部107、鏈路管理部108、數據幀處理部110、上位層處理部111、問候幀創(chuàng)建部112或者FID創(chuàng)建部113可以由硬件電路實現。具體而言,也可以代替MPU201而通過FPGA(Field Programmable Gate Array)等可重構電路或 ASIC (Application Specific Integrated Circuit)等來實現上述圖 3 的各部。當然,也可以通過MPU201和硬件電路雙方來實現圖3的各部。另外,在以下的說明中,為了明確說明,有時在圖3和圖4的各部的參照符號后使用附加了節(jié)點ID的參照符號。例如,存在以“103-N/’這樣的參照符號來參照節(jié)點裝置N1所具有的圖3的鄰接節(jié)點管理表103的情況。接著,參照圖5說明各個節(jié)點裝置的動作的概要,參照圖6說明作為各個節(jié)點裝置的動作的結果而作為網絡整體實現的路徑選擇。圖5是著重于I個節(jié)點裝置來說明權重的學習的圖。圖5中,網絡3內的6個節(jié)點裝置被簡示為“節(jié)點α ” “節(jié)點 ”。如圖5所示,對于節(jié)點β鄰接有節(jié)點α、Υ、δ、ε以及ζ,在圖5中下述5條鏈路由實線示出?!龉?jié)點β和α間的鏈路Le , α
■節(jié)點β和Y間的鏈路Le, γ■節(jié)點β和δ間的鏈路Le, s■節(jié)點β和ε間的鏈路Le, ε■節(jié)點β和ζ間的鏈路Le, ζ另外,在圖5中以云的形式示意性表現出的網絡3a是網絡3中的一部分。網絡3a具體而言包含直接連接節(jié)點S和 間的鏈路、或者經由I個以上的未圖示的節(jié)點和2條以上的未圖示的鏈路而間接連接節(jié)點δ和ζ間的路徑。以下在圖5中著重于節(jié)點β來說明節(jié)點β中的權重的學習。在某個時刻,節(jié)點β經由鏈路Le,α從節(jié)點α接收將網絡3內的未圖示的某節(jié)點(以下為了方便稱為“節(jié)點η ”)作為GD的數據幀301。節(jié)點β具有圖3的加權表104,在 圖5的說明中為了方便以“104-h”這樣的參照符號參照其中與節(jié)點η對應的加權表。詳細內容會參照圖10和圖11后述,按GD管理的加權表104分別存儲鄰接節(jié)點與權重的對應關系。由于對于節(jié)點β,節(jié)點α、Υ、δ、ε和ζ與其鄰接,所以在加權表104-h中,節(jié)點α和權重Wa、節(jié)點Y和權重Wy、節(jié)點δ和權重Ws、節(jié)點ε和權重We、以及節(jié)點ζ和權重W5分別建立了對應關系。為了便于說明,節(jié)點β從節(jié)點α接收到數據幀301的時間點的加權關系如式(I)所述。Wy < W5 < We < W5(I)以下在該實施方式中為了便于說明,示出了權重取O以上I以下的值,權重的值越小則與該權重對應的節(jié)點的優(yōu)先級越高。因此,節(jié)點β根據式⑴識別出與最小的權重Wy對應的節(jié)點Y的優(yōu)先級在鄰接節(jié)點Y、S、ε和ζ中最高。因此,節(jié)點β首先從鄰接節(jié)點Y、δ、ε和ζ中選擇節(jié)點Y作為用于轉送數據幀301的LD,并向節(jié)點Y發(fā)送數據幀301。這里,若從節(jié)點β向節(jié)點Y的發(fā)送失敗,則節(jié)點β學習到“在將節(jié)點Π作為⑶的數據幀的發(fā)送時,將節(jié)點Y選擇為LD是不合適的”。并且,作為學習的結果,節(jié)點β降低節(jié)點Y的優(yōu)先級。即,節(jié)點β增大權重Wy的值。發(fā)送失敗存在多種,具體而言,節(jié)點β按照下述(Dl)或者(D2)那樣,學習到“在將節(jié)點η作為GD的數據幀的發(fā)送時,將節(jié)點Y選擇為LD是不合適的”。(Dl)鏈路故障時在節(jié)點β將數據幀301向節(jié)點Y轉送的時間點,若鏈路Le, γ或者節(jié)點Y偶然發(fā)生了故障,則節(jié)點β識別為向節(jié)點Y的發(fā)送失敗。例如在鏈路Le, γ是無線鏈路的情況下,如果在規(guī)定時間內沒有從節(jié)點Y返回針對數據幀301的ACK幀,則節(jié)點β超時,判斷為“向節(jié)點Y的數據幀301的發(fā)送失敗”。并且,節(jié)點β學習到“將節(jié)點Π作為GD的數據幀的發(fā)送時,將節(jié)點Y選擇為LD是不合適的”,并使與選擇為LD的節(jié)點Y對應的權重Wy的值增大。另外,由于無線鏈路的品質環(huán)境容易發(fā)生變化,所以鏈路故障可能被重新解決。因此,在該實施方式中,在鏈路故障時不是一次性地將權重Wy設定成最大值,而是增大規(guī)定的值。這樣,能夠防止僅由于I次鏈路故障的發(fā)生就導致該LD不合適的情況。(D2)數據幀301從節(jié)點Y返回節(jié)點β時
對于節(jié)點β而言,向節(jié)點Y的數據巾貞301的發(fā)送暫時成功。例如,節(jié)點β通過從節(jié)點Y接收針對數據幀301的ACK幀,來識別為向節(jié)點Y的數據幀301的發(fā)送已成功。因此,節(jié)點β暫時使與被選擇為LD的節(jié)點Y對應的權重Wy的值變小。但是,在之后,如果在網絡3內沒有找到能夠從節(jié)點Y向節(jié)點η轉送數據幀301的路徑,則通過后述的回溯動作,由節(jié)點Y向節(jié)點β返送數據幀301。例如,在節(jié)點Y僅與節(jié)點β鄰接時,節(jié)點Y無法發(fā)現能夠向節(jié)點n轉送數據幀301的路徑。另外,即使在節(jié)點Y與節(jié)點β以外的幾個節(jié)點鄰接的情況下,根據網絡3的拓撲的不同,有時也無法從節(jié)點Y到達節(jié)點η。若節(jié)點Y進行回溯動作,則由于節(jié)點β從節(jié)點Y接收節(jié)點β自身在過去向節(jié)點Y發(fā)送的數據幀301,所以能夠識別為“向節(jié)點Y的發(fā)送失敗”。作為識別的結果,節(jié)點β學習到“在將節(jié)點Π作為GD的數據幀的發(fā)送時,將節(jié)點Y選擇為LD是不合適的”,并使與被選擇為LD的節(jié)點Y對應的權重Wy的值增大。在該實施方式中,如(D2)那樣,在通過接收節(jié)點β自身在過去發(fā)送的數據幀301 來識別為節(jié)點β發(fā)送失敗的情況下,節(jié)點β具體而言將權重Wy的值設定成最大值。以下為了便于說明,在圖5的例子中,如(D2)那樣由節(jié)點β識別發(fā)送失敗,并將權重Wy的值設定為最大值。其結果,式(2)成立。W5 < We < W5 < Wy(2)接著,節(jié)點β為了使數據幀301到達作為GD的未圖示的節(jié)點η,將判明為不合適的節(jié)點Y以外的鄰接節(jié)點選擇為LD,嘗試數據幀301的再次發(fā)送。具體而言,根據式(2),節(jié)點β將與在當前時間點最小的權重Ws對應的節(jié)點δ選擇為LD,并向節(jié)點δ發(fā)送數據幀 301。在圖5的例子中,節(jié)點β從節(jié)點δ接收針對數據幀301的ACK幀,節(jié)點β識別發(fā)送的成功。若識別到發(fā)送成功,則節(jié)點β使與選擇為LD的節(jié)點δ對應的權重Ws的值變小。其結果,式(2)也成立。接著,數據幀301經由網絡3a從節(jié)點δ到達節(jié)點ζ。并且,節(jié)點ζ將節(jié)點β選擇為LD。由此,節(jié)點β因為從節(jié)點ζ接收節(jié)點β自身在過去向節(jié)點δ發(fā)送的數據幀301,所以能夠識別為“向節(jié)點δ的發(fā)送由于死循環(huán)的存在而失敗”。作為識別的結果,節(jié)點β學習到“在將節(jié)點Π作為GD的數據幀的發(fā)送時,將節(jié)點δ選擇為LD是不合適的”,并使權重^的值變大。這里,即使在節(jié)點β從節(jié)點ζ接收到因死循環(huán)而返回的數據幀301的情況下,在“通過接收節(jié)點β自身在過去發(fā)送的數據幀301來識別節(jié)點β發(fā)送失敗”這一點上,也與上述(D2)的情況相同。因此,節(jié)點β學習到“在將節(jié)點η作為GD的數據幀的發(fā)送時,將節(jié)點S選擇為LD是不合適的”,并將與被選擇為LD的節(jié)點δ對應的權重Ws的值設定成最大值。其結果,式⑶成立。We < W5 < Wy = W5(3)在圖5中,作為從節(jié)點ζ接收同一數據幀301而更新了加權的結果的新的加權的關系,示出了式(3)。接著,節(jié)點β為了使數據幀301到達作為GD的未圖示的節(jié)點η,將被判明為不合適的節(jié)點Y以及5以外的鄰接節(jié)點選擇為LD,嘗試數據幀301的再次發(fā)送。具體而言,根據式(3),節(jié)點β將與在當前時間點最小的權重^對應的節(jié)點ε選擇為LD,并向節(jié)點ε發(fā)送數據幀301。在圖5的例子中,節(jié)點β從節(jié)點ε接收針對數據幀301的ACK幀,節(jié)點β識別發(fā)送的成功。若識別到發(fā)送的成功,則節(jié)點β使與被選擇為LD的節(jié)點ε對應的權重We的值變小。其結果,式(3)也成立。這里,假設不會發(fā)生從節(jié)點ε因為回溯而導致數據幀301返回節(jié)點β的情況。另夕卜,假設也不會發(fā)生數據幀301在網絡3內發(fā)生死循環(huán),被從節(jié)點β的任意一個鄰接節(jié)點發(fā)送到節(jié)點β,并被節(jié)點β接收的情況。由此,根據式(3),節(jié)點β在從鄰接節(jié)點α、γ、δ、ζ的任意一個接收到與數據幀301相同地將節(jié)點η作為⑶的其他的數據幀的情況下,將與最小的權重We對應的節(jié)點ε優(yōu)先選擇為LD。
圖6是說明在圖I的網絡I中動態(tài)且自主分散地選擇路徑的樣子的圖。具體而言,圖6示出了節(jié)點裝置N1作為GS發(fā)送將節(jié)點裝置N7指定為GD的數據幀時的網絡I內的路徑選擇的樣子。在圖6中,示出了圖I的網絡I和節(jié)點裝置N4與N7間發(fā)生的故障。另外,圖6的12個粗箭頭表示在網絡I內路徑被動態(tài)選擇的同時,數據幀從GS(即節(jié)點裝置N1)轉送到⑶(即節(jié)點裝置N7)的樣子。另外,以下為了便于說明而以“KM-W’這樣的參照符號來參照節(jié)點裝置Ni的加權表104-隊中與節(jié)點裝置N7對應的關系(I彡i彡6)。另外,在圖6的說明中,只要沒有特別說明,則數據幀的發(fā)送成功而返回ACK幀,省略了 ACK幀的返送來簡化說明。包含ACK幀的返送在內的一系列的處理的流程參照圖30后述。在步驟SlOl中,作為GS的節(jié)點裝置N1將唯一與節(jié)點裝置N1鄰接的節(jié)點裝置N2選擇為LD,并將數據幀向節(jié)點裝置N2發(fā)送。對于節(jié)點裝置N2而言,除了作為在步驟SlOl中發(fā)送的數據幀的LS的節(jié)點裝置N1之外,還鄰接有節(jié)點裝置N3和N6。并且,在這2個鄰接節(jié)點裝置N3和N6中,節(jié)點裝置N3在加權表104-h2-N2中與較小的權重對應。由此,在步驟S102中,節(jié)點裝置N2將節(jié)點裝置N3選擇為用于轉送在步驟SlOl中接收的數據幀的LD,并向節(jié)點裝置N3發(fā)送數據幀。對于節(jié)點裝置N3而言,除了作為在步驟S102中發(fā)送的數據幀的LS的節(jié)點裝置N2之外,還鄰接有節(jié)點裝置N4和N5。并且,在這2個鄰接節(jié)點裝置N4和N5中,節(jié)點裝置N4在加權表104-h3-N3中與較小的權重對應。由此,在步驟S103中,節(jié)點裝置N3選擇節(jié)點裝置N4作為用于轉送在步驟S102中接收到的數據幀的LD,并向節(jié)點裝置N4發(fā)送數據幀。對于節(jié)點裝置N4而言,除了作為在步驟S103中發(fā)送的數據幀的LS的節(jié)點裝置N3之外,還鄰接有節(jié)點裝置N5和N7。并且,在這2個鄰接節(jié)點裝置N5和N7中,節(jié)點裝置N7在加權表104-h4-N4中與較小的權重對應。由此,在步驟S104中,節(jié)點裝置N4選擇也是⑶的節(jié)點裝置N7作為用于轉送在步驟S103中接收到的數據幀的LD,并向節(jié)點裝置N7發(fā)送數據幀。但是,如圖6所示,在由節(jié)點裝置N4向節(jié)點裝置N7發(fā)送了數據幀的時間點,在節(jié)點裝置N4和N7之間的鏈路發(fā)生了故障,因此發(fā)送失敗。即,由于即使待機了規(guī)定時間也未從節(jié)點裝置N7返回ACK幀,所以節(jié)點裝置N4識別為超時而發(fā)送失敗。另外,步驟S104中的節(jié)點裝置N4相當于在圖5中在向節(jié)點Y的數據幀的發(fā)送中如上述(Dl)那樣失敗的節(jié)點β。因此,節(jié)點裝置N4根據發(fā)送失敗而對加權表104-1!4-隊進行更新(具體而言,使與步驟S104的發(fā)送中作為LD的節(jié)點裝置N7對應的權重的值變大)。并且,在步驟S105中,節(jié)點裝置N4選擇還未嘗試的其他鄰接節(jié)點裝置N5作為用于轉送在步驟S103中接收的數據幀,并向節(jié)點裝置N5發(fā)送數據幀。對于節(jié)點裝置N5而言,除了作為在步驟S105中發(fā)送的數據幀的LS的節(jié)點裝置N4之外,還僅鄰接有節(jié)點裝置Ν3。 于是,在步驟S106中,節(jié)點裝置N5選擇節(jié)點裝置N3作為用于轉送在步驟S105中接收的數據幀的LD,并向節(jié)點裝置N3發(fā)送數據幀。由此,在步驟S106中,節(jié)點裝置N3識別為“接收到與節(jié)點裝置N3自身在步驟S103中發(fā)送的數據幀相同的數據幀”。也就是說,步驟S106中的節(jié)點裝置N3相當于在圖5中從節(jié)點ζ接收到因死循環(huán)而返回的數據幀的節(jié)點β。因此,節(jié)點裝置N3與圖5同樣地對加權表104-h3-N3進行更新(具體而言,將與作為步驟S103的發(fā)送的LD的節(jié)點裝置N4對應的權重的值設定成最大值)。并且,在步驟S107中,節(jié)點裝置N3 WOLS ( S卩,作為在步驟S102中最初由節(jié)點裝置N3接收到該數據幀時的LS的節(jié)點裝置N2)以外的鄰接節(jié)點裝置中尋找還沒有被嘗試作為LD的節(jié)點裝置。這里,OLS以外的鄰接節(jié)點裝置是節(jié)點裝置N4和N5,節(jié)點裝置N4在步驟S103中已被選擇。因此,在步驟S107中,節(jié)點裝置N3將未選擇的節(jié)點裝置N5選擇為LD,向節(jié)點裝置N5發(fā)送數據幀。也就是說,步驟S107中的節(jié)點裝置N3相當于在圖5中將節(jié)點ε重選為LD來向節(jié)點ε發(fā)送數據巾貞的節(jié)點β。由此,在步驟S107中,節(jié)點裝置N5識別為“接收到與節(jié)點裝置N5自身在步驟S106中發(fā)送的數據幀相同的數據幀”。也就是說,步驟S107中的節(jié)點裝置N5相當于在圖5中數據幀向節(jié)點Y的發(fā)送中如(D2)那樣失敗的節(jié)點β。因此,節(jié)點裝置N5與圖5同樣地對加權表104-h5-N5進行更新(具體而言,將與作為步驟S106的發(fā)送的LD的節(jié)點裝置N3對應的權重的值設定為最大值)。并且,對于節(jié)點裝置N5, OLS (即作為在步驟S105中最初由節(jié)點裝置N5接收到該數據幀時的LS的節(jié)點裝置N4)以外的鄰接的節(jié)點裝置僅有已經被判明發(fā)送失敗的節(jié)點裝置N3。因此,已經沒有可被選擇為LD的鄰接節(jié)點裝置。由此,在步驟S108中,節(jié)點裝置N5向作為OLS的節(jié)點裝置N4返送數據幀。步驟S108是回溯動作,通過回溯動作,節(jié)點裝置N5能夠向節(jié)點裝置N4通知“在將節(jié)點裝置N7作為⑶的數據幀的發(fā)送中,從節(jié)點裝置N5自身開始的前面的路徑是死路(dead end) ”這一情況。由此,在步驟S108中,節(jié)點裝置N4識別為“接收到與節(jié)點裝置N4自身在步驟S105中發(fā)送的數據幀相同的數據幀”。也就是說,步驟S108中的節(jié)點裝置N4相當于在圖5中數據幀向節(jié)點Y的發(fā)送如(D2)那樣失敗的節(jié)點β。因此,節(jié)點裝置N4與圖5同樣地對加權表104-h4-N4進行更新(具體而言,將與作為步驟S105的發(fā)送的LD的節(jié)點裝置N5對應的權重的值設定成最大值)。但是,對于圖5的節(jié)點β而言,即使數據幀向節(jié)點Y的發(fā)送失敗,還存在能夠被選擇為LD的節(jié)點δ等,但是對于圖6的步驟S108的節(jié)點裝置N4,不存在能夠被選擇為LD的鄰接節(jié)點裝置。即,OLS以外的2個鄰接節(jié)點裝置^和乂在步驟S104和S105中已經分別被選擇為LD,兩者都已經被判明發(fā)送失敗這一結果。因此,在步驟S109中,節(jié)點裝置Ν4向作為OLS的節(jié)點裝置N3返送數據幀。步驟S109也是回溯動作,節(jié)點裝置N4能夠向節(jié)點裝置N3通知“在將節(jié)點裝置N7作為⑶的數據幀的發(fā)送中,從節(jié)點裝置N4自身開始的前面的路徑是死路”這一情況。由此,在步驟S109中,節(jié)點裝置N3識別為“接收到與節(jié)點裝置N3自身在步驟S107 中發(fā)送的數據幀相同的數據幀”。也就是說,步驟S109中的節(jié)點裝置N4相當于在圖5中從節(jié)點ζ接收發(fā)生了死循環(huán)的數據幀的節(jié)點β。因此,節(jié)點裝置N3與圖5同樣地對加權表104-h3-N3進行更新(具體而言,將與作為步驟S107的發(fā)送的LD的節(jié)點裝置N5對應的權重的值設定成最大值)。但是,對于圖5的節(jié)點β而言,即使判明數據幀向節(jié)點δ的發(fā)送失敗,也還存在能夠被選擇為LD的節(jié)點ε,但是對于圖6的步驟S109的節(jié)點裝置N3,不存在能夠被選擇為LD的鄰接節(jié)點裝置。即,OLS以外的2個鄰接節(jié)點裝置N4和N5在步驟S103和S107中已經分別被選擇為LD,兩者都已經被判明發(fā)送失敗這一結果。因此,在步驟SllO中,節(jié)點裝置Ν3向作為OLS的節(jié)點裝置N2返送數據幀。步驟SllO也是回溯動作,節(jié)點裝置N3能夠向節(jié)點裝置N2通知“在將節(jié)點裝置N7作為GD的數據幀的發(fā)送中,從節(jié)點裝置N3自身開始的前面的路徑時死路”這一情況。由此,在步驟SllO中,節(jié)點裝置N2識別為“接收到與節(jié)點裝置N2自身在步驟S102中發(fā)送的數據幀相同的數據幀”。也就是說,步驟SllO中的節(jié)點裝置N2相當于在圖5中數據幀向節(jié)點Y的發(fā)送如(D2)那樣失敗的節(jié)點β。因此,節(jié)點裝置N2與圖5同樣地對加權表104-h2-N2進行更新(具體而言,將與作為步驟S102的發(fā)送的LD的節(jié)點裝置N3對應的權重的值設定成最大值)。并且,在步驟SI 11中,節(jié)點裝置N2選擇還未嘗試的其他鄰接節(jié)點裝置N6作為用于轉送數據幀的LD,并向節(jié)點裝置N6發(fā)送數據幀。對于節(jié)點裝置N6而言,除了作為在步驟Slll中發(fā)送的數據幀的LS的節(jié)點裝置N2之外,僅鄰接有也是GD的節(jié)點裝置N7。于是,在步驟SI 12中,節(jié)點裝置N6選擇節(jié)點裝置N7作為用于轉送在步驟SI 11中接收到的數據幀的LD,并向節(jié)點裝置N7發(fā)送數據幀。如上所述,即使在網絡I內發(fā)生故障,各節(jié)點裝置自主分散地進行動作,由此數據幀成功地到達⑶。另外,在數據幀的轉送中,即使在局部不合適的節(jié)點裝置被選擇為LD,最終對于網絡整體,選擇從GS到達GD的路徑。其原因在于,各節(jié)點裝置依次選擇能夠被選擇為LD的節(jié)點裝置,如果能夠選擇的節(jié)點裝置不再存在,則進行回溯動作。具體而言,在圖6的例子中,最終在步驟SI 10中判明在步驟S102中節(jié)點裝置N2將節(jié)點裝置N3選擇為LD的情況不合適。但是,通過步驟S103 SllO的動作,作為網絡I整體,最終成功選擇從GS至⑶的路徑<N1; N2, N6, N7>。這樣選擇到的路徑被學習,有助于下次之后的數據幀的轉送的效率化。下面對學習帶來的效率化進行具體說明。作為步驟SllO中的數據幀的接收的結果,節(jié)點裝置N2進行加權表104-h2_N2的學習,將與節(jié)點裝置N3對應的權重設定成最大值。因此,節(jié)點裝置N2若從鄰接節(jié)點裝置N1接收到將節(jié)點裝置N7作為GD的新的數據幀,則最初將節(jié)點裝置N6選擇為LD。也就是說,作為網絡I整體,作為自主分散的學習的結果,能夠在沒有包含回溯的試行錯誤的情況下,利用路徑<N1; N2, N6, N7>將數據幀有效地發(fā)送至⑶。并且,根據該實施方式,不合適的LD的選擇的影響或者局部的故障的影響不會波及網絡I整體而是被限制在局部。即,根據該實施方式,例如即使節(jié)點裝置N4和N7間的鏈路發(fā)生了故障,用于詢問代替路徑的控制幀也不會向網絡I整體的所有節(jié)點裝置泛濫。因此,根據該實施方式,即使局部地發(fā)生故障或死循環(huán),也不會導致網絡I整體發(fā)生廣播風暴。
另外,在圖6的例子中,節(jié)點裝置N1很明顯完全不識別節(jié)點裝置N4和N7間的鏈路的故障和死循環(huán)<N3,N4, N5, N3>。這意味著不合適的LD的選擇和局部的故障的影響被限制在局部,不會波及到網絡I整體。問題的影響被限制在局部是指局部的問題不會正反饋到網絡I整體而擴散,網絡I作為系統較穩(wěn)定。問題被限制在局部的其他例子例如如下所述。例如,假設在網絡I中節(jié)點裝置N5和N7間也存在鏈路,在加權表104-h5_N5中與節(jié)點裝置N3相比節(jié)點裝置N7對應于較小的權重。由此,在步驟S105剛結束后,節(jié)點裝置N5將節(jié)點裝置N7選擇為LD來將數據幀向節(jié)點裝置N7發(fā)送。其結果,不進行步驟S108 S112的發(fā)送,不僅是節(jié)點裝置N1,節(jié)點裝置N2和N3也完全不識別故障的發(fā)生。這樣,鏈路的故障和死循環(huán)的發(fā)生等問題根據問題產生的位置而只會影響到最小限度的局部范圍。接著,對以上說明的節(jié)點裝置100的構成和動作、以及網絡I整體中實現的自主分散協調動作進一步詳細說明。該實施方式中的數據幀如圖7的數據幀302那樣,具有包含LD、LS、⑶、GS、FID、類型、長度的各字段的幀頭和凈荷。例如圖5的數據幀301也是與數據幀302同樣的格式。在數據幀302的LD字段、LS字段、⑶字段、以及GS字段中,作為數據幀302的LD、LS、⑶以及GS的各節(jié)點裝置的節(jié)點ID被分別指定。另外,在數據幀302的FID字段中,指定作為數據幀302的GS的節(jié)點裝置而被創(chuàng)建并被分配給數據幀302的FID。在數據幀302的類型字段中,指定表示“數據幀”這一類型的規(guī)定常數。另外,在數據幀302的長度字段中指定凈荷的長度。數據幀302的凈荷是比定義數據幀302的協議更上位的層的協議的rou。例如,假設將MAC子層虛擬地進一步分割成2個子層。該實施方式的幀可以在該虛擬的2個子層中的下方的子層中被定義,即,在MAC子層中被定義的其他協議(例如以太網等)的PDU可以包含在凈荷中。換言之,該實施方式的幀可以是將第2層中定義的以太網幀封裝的幀。此時,由于上位層處理部111是處理以太網幀的處理部,所以也可以利用公知的MAC芯片來實現。以下為了便于說明,假設數據幀302的凈荷是MAC層協議的幀(具體而言例如以太網幀)。但是,當然根據實施方式的不同,數據幀302的凈荷可以是在網絡層(第3層)以上被定義的協議的rou,也可以是與特定通信協議無關的原始的數據。例如,數據幀302的凈荷可以是IP(Internet Protocol)數據圖。此時,上位層處理部111是處理IP數據圖的處理部。數據幀302的格式如上所述,若以具體的值更加詳細地例示,則如數據幀303和304那樣。數據幀303是在圖6的步驟S102中由節(jié)點裝置N2向節(jié)點裝置N3發(fā)送的數據幀。數據幀303的具體內容如下所述?!鲈贚D字段中,指定在步驟S102的發(fā)送中被選擇為LD的節(jié)點裝置N3的節(jié)點ID (即 N3)。
■在LS字段中,指定步驟S102的發(fā)送中作為LS的節(jié)點裝置N2的節(jié)點ID (即N2)。■在⑶字段中,指定作為GS的節(jié)點裝置N1在步驟SlOl的發(fā)送時指定的節(jié)點裝BN7的節(jié)點ID (即N7)?!鲈贕S字段中,指定作為GS的節(jié)點裝置N1的節(jié)點ID (即N1)?!鲈贔ID字段中,指定作為GS的節(jié)點裝置N1所創(chuàng)建的FID (以下設為Fa)?!鲈陬愋妥侄沃?,指定表示“數據幀”這一類型的規(guī)定的常數D。例如,類型可以由2位表示,可以是D= (OO)20■在長度字段中,指常數據幀302的凈荷的長度Pa。另外,長度例如可以由字節(jié)單位表示,也可以由其他的單位表示?!鲎鳛閮艉?,包含MAC層協議的幀(例如以太網幀)。另外,接收到數據幀303的節(jié)點裝置N3在圖6的步驟S103中發(fā)送到節(jié)點裝置N4的是圖7的數據幀304。數據幀304的具體內容如下所述?!鲈贚D字段中,指定在步驟S103的發(fā)送中被選擇為LD的節(jié)點裝置N4的節(jié)點ID (即N4)。也就是說,在每次轉送時,節(jié)點裝置N3對LD字段進行重寫?!鲈贚S字段中,指定步驟S103的發(fā)送中作為LS的節(jié)點裝置N3的節(jié)點ID (即N3)。也就是說,在每次轉送時,節(jié)點裝置N3對LS字段進行重寫,并設定自身節(jié)點ID。■⑶、GS、FID、類型、長度的各字段和凈荷的內容與節(jié)點裝置N3所接收的數據幀303相同。另外,該實施方式中的問候幀如圖7的問候幀311那樣,具有包含LD、LS、⑶、GS、FID、類型的各字段的幀頭,但是不具有凈荷。問候幀311的具體例是問候幀312,問候幀312在后述的圖30的步驟S1203中被節(jié)點裝置N3發(fā)送。在問候幀311的LD字段中,指定表示針對與發(fā)送問候幀311的節(jié)點裝置鄰接的所有節(jié)點裝置的廣播的特殊值。另外,應該注意此處的“廣播”是“針對鄰接的所有節(jié)點裝置的廣播”而不是“針對網絡I整體的泛濫”。以下為了便于說明,在該實施方式中假設節(jié)點ID由3個字節(jié)表示,“Ox”表示16進制數。另外,0x000000和OxFFFFFF被預定,不作為通常的節(jié)點ID使用。在該實施方式中的所有問候幀中,與問候幀312同樣,在LD字段中指定OxFFFFFF作為表示針對與發(fā)送該問候幀的節(jié)點裝置鄰接的所有節(jié)點裝置的廣播的特殊值。
在問候幀311的LS字段中,指定發(fā)送問候幀311的節(jié)點裝置自身的節(jié)點ID。因此,在節(jié)點裝置N3發(fā)送的問候幀312的LS字段中,指定作為節(jié)點裝置N3的節(jié)點ID的N3。另外,在該實施方式中的所有問候巾貞中,在GD子段中指定表不空值(null)的特殊值0x000000。其原因在于,問候幀僅由鄰接節(jié)點裝置利用,并不被轉送。在問候幀311的GS字段中,與LS字段同樣地指定發(fā)送問候幀311的節(jié)點裝置自身的節(jié)點ID。因此,在問候幀312的GS字段中指定作為節(jié)點裝置N3的節(jié)點ID的N3。在問候幀311的FID字段中,指定發(fā)送問候幀311的節(jié)點裝置創(chuàng)建并分配給問候幀311的FID。同樣,在問候幀312的FID字段中,指定發(fā)送問候幀312的節(jié)點裝置N3創(chuàng)建并分配給問候幀312的FID (以下稱為Fb)。在問候幀311的類型字段中,指定表示“問候幀”這一類型的規(guī)定常數。具體而言,“問候幀”這一類型如問候幀312所例示的那樣由規(guī)定常數H表示,例如可以是H= (IO)20
另外,該實施方式中的ACK幀如圖7的ACK幀321那樣,具有包含LD、LS、⑶、GS、FID、類型的各字段的幀頭,但是不具有凈荷。ACK幀321的具體例是ACK幀322。另外,ACK幀322當在圖6的步驟S102中由節(jié)點裝置N2向節(jié)點裝置N3發(fā)送了數據幀303時,是節(jié)點裝置N3向節(jié)點裝置N2返送的ACK幀。在后述的圖30中,ACK幀322從該節(jié)點裝置N3向節(jié)點裝置N2的發(fā)送表示為步驟S102a。在ACK幀321的LD字段中,指定發(fā)送成為發(fā)送ACK幀321的契機的數據幀的鄰接節(jié)點裝置的節(jié)點ID。因此,例如在ACK幀322的LD字段中,指定發(fā)送了成為節(jié)點裝置N3發(fā)送ACK幀322的契機的數據幀303的、作為節(jié)點裝置N3的鄰接節(jié)點裝置N2的節(jié)點ID的N2。在ACK幀321的LS字段中,指定發(fā)送ACK幀321的節(jié)點裝置自身的節(jié)點ID。因此,在節(jié)點裝置N3所發(fā)送的ACK幀322的LS字段中,指定作為節(jié)點裝置N3的節(jié)點ID的N3。另外,由于ACK幀與問候幀同樣也不被轉送,所以在該實施方式中的所有ACK幀中,在GD字段中指定表示空值的特殊值0x000000。在ACK幀321的GS字段和FID字段中,成為發(fā)送ACK幀321的契機的數據幀的GS字段和FID字段的值被復制。如上所述,利用GS字段和FID字段的值的組合,來在網絡內唯一地識別數據幀。因此,發(fā)送ACK幀321的節(jié)點裝置從接收到的數據幀復制值,由此能夠在接收到ACK幀321的節(jié)點裝置中識別ACK幀321對應于哪個數據幀。因此,例如在以數據幀303的接收為契機而發(fā)送的ACK幀322中,GS字段和FID字段的值與數據幀303相同,分別是N1和Fa。在ACK幀321的類型字段中,指定表示“ACK幀”這一類型的規(guī)定常數。具體而言,“ACK幀”這一類型如ACK幀322所例示的那樣由規(guī)定的常數A表示,例如可以是A= (Il)20另外,圖7所示的幀的格式只是一例,根據實施方式的不同,能夠適當決定幀所包含的字段的排列順序,另外幀也可以包含未圖示的其他字段。另外,幀也可以包含FCS(Frame Check Sequence)等的巾貞尾。另外,以下為了簡化記載,在不會發(fā)生混亂的情況下,例如有時也將“LD字段”簡稱為“LD”。對于其他的字段也同樣。圖8是表示圖3的緩沖部109所保存的數據的例子的圖。緩沖部109包含與接收部101所接收到的各個數據幀分別對應的多個項。并且,各項包含超時時刻和接收到的數據幀。
圖8例示了節(jié)點裝置N3的緩沖部109-N3內的某項。具體而言,在圖6的步驟S102中,在節(jié)點裝置N3從節(jié)點裝置N2接收到圖7的數據幀303時,在緩沖部109-N3中創(chuàng)建包含超時時刻TI3,」和數據幀303的項。緩沖部109中項的創(chuàng)建的詳細會參照圖14后述。另外,超時時刻TI3,j的意思如下所述。節(jié)點裝置乂將在步驟S102中接收到的數據幀303的幀頭在步驟S103中如圖7的數據幀304那樣進行重寫。并且節(jié)點裝置N3在步驟S103中發(fā)送數據幀304。圖8的超時時刻TI3ij表示節(jié)點裝置N3在發(fā)送了數據幀304后針對數據幀304的ACK幀的接收等待到何時。也就是說,節(jié)點 裝置N3若在超時時刻TI3ij之前未能從節(jié)點裝置N4接收到針對數據幀304的ACK幀,則超時,判斷為數據幀304向節(jié)點裝置N4的發(fā)送失敗。另外,如圖22、圖26和圖28詳細所示那樣,在緩沖部109設定的超時時刻有時也被覆蓋重寫。例如,在圖6的步驟S104中數據幀向節(jié)點裝置N7的發(fā)送失敗的節(jié)點裝置N4在步驟S105中,對與從節(jié)點裝置N3接收的數據幀對應的緩沖部109-N4內的超時時刻進行更新。更新后的超時時刻具體而言表示節(jié)點裝置N4針對在步驟S105中向節(jié)點裝置N5發(fā)送的數據幀的ACK幀的接收等待到何時。圖9是表示圖3的鄰接節(jié)點管理表103的例子的圖。在鄰接節(jié)點管理表103中,具有節(jié)點ID字段和最終更新時刻字段。例如,在圖I的網絡I中,節(jié)點裝置N2鄰接著節(jié)點裝置%、N3和N6。因此,節(jié)點裝置N2的鄰接節(jié)點管理表103-N2具有與上述3個鄰接節(jié)點裝置%、N3和N6分別對應的3個項。并且,在與鄰接節(jié)點裝置Ni (i = 1,3,6)對應的各項中,在節(jié)點ID字段中保存作為鄰接節(jié)點裝置Ni的節(jié)點ID的Ni,在最終更新時刻字段中,保存有該項被最后更新的時刻TA2, ”另外,在圖I的網絡I中,節(jié)點裝置N3鄰接著節(jié)點裝置N2、N4和N5。因此,節(jié)點裝置N3的鄰接節(jié)點管理表103-N3具有與這3個鄰接節(jié)點裝置N2、N4和N5分別對應的3個項。并且,在與鄰接節(jié)點裝置Ni (i = 2,4,5)對應的各項中,在節(jié)點ID字段中保存有作為鄰接節(jié)點裝置Ni的節(jié)點ID的Ni,在最終更新時刻字段中,保存有該項被最后更新的時刻TA3, ”圖10是表示圖3的加權表104的例子的圖。圖10作為具體例而示出了圖I的節(jié)點裝置N3的加權表104-N3。如圖3所示,“加權表104”是按⑶管理的多個加權表104-1 104-M的總稱。各加權表104-i (I ^ i ^ Μ)存儲對應的GD。并且,各加權表104-i (I彡i彡Μ)具有I個以上的項,各項具有最終更新時刻字段、LD字段和權重字段。在最終更新時刻字段中為了權重的學習而保存有項被最后更新的時刻,在LD字段中保存有鄰接節(jié)點裝置的節(jié)點ID,在權重字段中保存有與該鄰接節(jié)點裝置對應的權重的值。在圖10的例子中,第I個加權表104-1-Ν3是節(jié)點裝置N7被指定為⑶的數據幀的發(fā)送用的表,因此作為GD而存儲作為節(jié)點裝置N7的節(jié)點ID的Ν7。另外,在圖I的網絡I中,節(jié)點裝置N3鄰接著節(jié)點裝置N2、N4和Ν5。因此,加權表104-1-N3具有與這3個鄰接節(jié)點裝置N2、N4和N5分別對應的3個項。在加權表104_1_Ν3中,與鄰接節(jié)點裝置Ni (i = 2,4,5)對應的各項的內容如下所述。■在最終更新時刻字段中,保存有項的最終更新時刻TW3,7,it)
■在LD字段中,保存有作為鄰接節(jié)點裝置Ni的節(jié)點ID的Ni。■在權重字段中,保存有與鄰接節(jié)點裝置Ni對應的權重W3,7,i。即,在節(jié)點裝置N3發(fā)送將節(jié)點裝置N7 (即與加權表104-1-乂對應的⑶)指定為⑶的數據幀的情況下參照權重W3,7, i,該權重W3,7, i是與鄰接節(jié)點裝置Ni對應的權重。同樣,在圖10的例子中,第2個加權表104-2-N3是節(jié)點裝置N4被指定為⑶的數據幀的發(fā)送用的表,因此作為GD而存儲作為節(jié)點裝置N4的節(jié)點ID的N4。
并且,在圖I的網絡I中,節(jié)點裝置N3鄰接著節(jié)點裝置隊、N4和N5,因此加權表104-2-N3也具有與這3個鄰接節(jié)點裝置N2、N4和N5分別對應的3個項。在加權表104_1_N3中,與鄰接節(jié)點裝置Ni (i = 2,4,5)對應的各項的內容如下所述?!鲈谧罱K更新時刻字段中,保存有項的最終更新時刻TW3,“?!鲈贚D字段中,保存有作為鄰接節(jié)點裝置Ni的節(jié)點ID的Ni?!鲈跈嘀刈侄沃?,保存有與鄰接節(jié)點裝置Ni對應的權重W3,4,i。當然,在加權表104-N3中,還可以包含與其他的⑶建立了對應的加權表104-j-N3(j > 2)。另外,應該注意以下方面。即,對于加權表104而言,若是同一 GD,則即使發(fā)送了FID和GS的組合不同的數據幀,在每次發(fā)送時,成為發(fā)送目的地的LD的權重都會被更新。例如,在發(fā)送某數據幀時,即使由于鏈路故障而導致特定的LD的權重變大(優(yōu)先級變低),如果在其他數據幀(⑶和LD相同)的發(fā)送過程中鏈路故障馬上被解決從而發(fā)送成功,則該LD的權重也會變小(優(yōu)先級變高)。反之,如果多個不同的數據幀(GD和LD相同)連續(xù)不斷地因為鏈路故障而發(fā)送失敗,則即使相同的FID和GS的組合的數據幀只嘗試發(fā)送一次,對應的LD的權重也會成為最大值。圖11是說明圖10的加權表104-1-N3的變化的圖。在圖11的例子中,Ta < Tb < Tc
〈Td〈 Te。例如,在圖6的步驟S102中從節(jié)點裝置N2接收到數據幀的時間點,在節(jié)點裝置N3的加權表104-N3中,與節(jié)點裝置N7對應的加權表104-1-N3并不存在。并且,以步驟S102的接收為契機,以下那樣的內容的新的加權表104-1-N3被創(chuàng)建成加權表104-N3?!?3個項的最終更新時刻都是時刻Ta?!鲈?個項中,與鄰接節(jié)點裝置Ni (i = 2,4,5)對應的權重W3,7, i都是O. 5。另外,為了便于說明圖6,說明了“在2個鄰接節(jié)點裝置N4和N5中,節(jié)點裝置N4在加權表104-h3-N3中與較小的權重對應”。也就是說,圖10和圖11是113 = I的例子,在圖6的說明中假設1,7,4<%,7,5。但是,例如如圖11所示,也會存在W3,7,2 = W3j7j4 = W3j7j5 = O. 5這樣的情況。在圖11的例子中,由于節(jié)點裝置N4和N5對應于相同的權重O. 5,所以節(jié)點裝置N3也能夠選擇節(jié)點裝置N4和N5之一作為步驟S103中的發(fā)送的LD,但是假設與圖6的例子同樣地,將節(jié)點裝置N4選擇為LD。由此,在步驟S103中節(jié)點裝置N3向節(jié)點裝置N4發(fā)送數據幀。然后,在圖30中,若如表示為步驟S103a那樣由節(jié)點裝置N4向節(jié)點裝置N3發(fā)送ACK幀,則節(jié)點裝置N3識別為數據幀向節(jié)點裝置N4的發(fā)送成功。并且,與圖5的例子相同,節(jié)點裝置N3使與節(jié)點裝置N4對應的權重W3,7,4的值變小。在圖11的例子中,具體而言,節(jié)點裝置NdfW3,7,4的值從0.5更新成O. 4。另外,節(jié)點裝置N3在與節(jié)點裝置N4對應的項的最終更新時刻字段中設定當前時刻Tb。然后,如圖6所示,節(jié)點裝置N3在步驟S106中再次接收相同的數據幀。其結果,節(jié)點裝置N3如針對圖6所說明的那樣,在加權表104-1-N3中將與節(jié)點裝置N4對應的權重W3,7,4的值從O. 4更新成最大值、即1.0。另外,節(jié)點裝置N3在與節(jié)點裝置N4對應的項的最終更新時刻字段中設定當前時刻T。。接著,如圖6的步驟S107所示,節(jié)點裝置N3將節(jié)點裝置N5選擇為LD來發(fā)送數據幀。然后,在圖30中,若如表示為步驟S107a那樣由節(jié)點裝置N5向節(jié)點裝置N3發(fā)送ACK幀,則節(jié)點裝置N3識別為數據幀向節(jié)點裝置N5的發(fā)送成功。并且,與圖5的例子相同,節(jié)點裝置N3使與節(jié)點裝置N5對應的權重W3,7,5的值變小。在圖11的例子中,具體而言,節(jié)點裝置NdfW3,7,5的值從0.5更新成O. 4。另外,節(jié)點裝置N3在與節(jié)點裝置N5對應的項的最終更新時刻字段中設定當前時刻Td。 然后,如圖6所示,節(jié)點裝置N3在步驟S109中再次接收相同的數據幀。其結果,如針對圖6所說明的那樣,在加權表104-1-N3中將與節(jié)點裝置N5對應的權重W3,7,5的值從O. 4更新成最大值、即1.0。另外,節(jié)點裝置N3在與節(jié)點裝置N5對應的項的最終更新時刻字段中設定當前時刻I;。如上所述,加權表104-1-N3以ACK幀的接收為契機,或者以與已發(fā)送的數據幀相同的數據幀的接收為契機而被更新。圖12和圖13是表示圖3的FID管理表105的例子的圖。如圖12和圖13所示,在FID管理表105中具有FID、GS、LD、0LS、最終更新時刻的各字段。FID管理表105中的FID字段和GS字段是用于唯一識別數據幀的字段,從接收到的數據幀的FID字段和GS字段分別復制值。在FID管理表105的LD字段中,為了發(fā)送由FID字段和GS字段的值識別的數據幀,保存有最后被選擇為LD的鄰接節(jié)點裝置的節(jié)點ID。另外,在FID管理表105的OLS字段中,保存有在最初接收由FID字段和GS字段的值識別的數據幀時在該數據幀的LS字段中被指定的鄰接節(jié)點裝置的節(jié)點ID。OLS字段在為了轉送數據幀而選擇LD時,被用于從LD的候補中除去0LS,也被用于決定回溯動作時的LD。并且,在FID管理表105的最終更新時刻字段中,保存有項被最后更新的時刻。圖12和圖13將圖6的步驟SlOl S112中的各節(jié)點裝置的FID管理表105表示為具體例。以下,將步驟SlOl SI 12分別被執(zhí)行的時刻表示為TFltll TF112。在步驟SlOl中,在節(jié)點裝置N1向節(jié)點裝置N2發(fā)送數據幀時,節(jié)點裝置N1在FID管理表105-K中創(chuàng)建新的項Ep并且,節(jié)點裝置N1在項E1的FID字段和GS字段中設定發(fā)送的數據幀的FID和GS的值。這里,數據幀的GS和FID的值如上述那樣,即使數據幀在網絡I內被轉送也不會被重寫。因此,在圖6中在網絡I內由步驟SlOl S112發(fā)送的數據幀的FID和GS的值與圖7的數據幀303和304相同,分別是Fa和%。因此,在步驟SlOl中,節(jié)點裝置N1在項E1的FID字段和GS字段中分別設定Fa和N1這樣的值。
另外,在以下的各步驟S102 S112中由其他節(jié)點裝置在各自的FID管理表105的項的FID字段和GS字段中設定的值也同樣是Fa和%。因此,在以下的說明中省略關于FID字段和GS字段的說明。另外,在步驟SlOl中,節(jié)點裝置N1將作為被選擇為LD的節(jié)點裝置N2的節(jié)點ID的N2設定在項E1的LD字段中。另外,對于由GS和FID的值的組唯一識別的某特定的數據幀,所謂OLS是指由被指定為最初接收該特定的數據幀時的該特定的數據幀的LS的節(jié)點ID所識別的鄰接節(jié)點裝置。但是,若這樣定義0LS,則例如在節(jié)點裝置N1作為GS發(fā)送數據幀時,對于節(jié)點裝置N1自身而言,對于發(fā)送了的數據幀而言,OLSs是未定義的。于是,以下對OLS的定義進行擴展。具體而言,定義為“在節(jié)點裝置Ni自身作為GS發(fā)送數據幀時,對于與該數據幀有關的節(jié)點裝置Ni自身的OLS是節(jié)點裝置Ni自身”。 換言之,所謂OLS是指,在節(jié)點裝置Ni自身直接識別的網絡的范圍內,對于節(jié)點裝置Ni而言被識別為數據幀的起源的節(jié)點裝置。另外,這里,“節(jié)點裝置Ni自身直接識別的網絡的范圍”是指相對于節(jié)點裝置Ni在跳數I以下的范圍,具體而言僅包含節(jié)點裝置Ni自身和節(jié)點裝置Ni的鄰接節(jié)點裝置。例如,在圖2的例子中,僅將節(jié)點裝置Nltl5自身直接識別的網絡的范圍用實線表示。通過以上擴展的OLS的定義,在步驟SlOl中節(jié)點裝置N1在項E1的OLS字段中設定的值是節(jié)點裝置N1自身的節(jié)點ID (即N1)。如果之后接收到GS的值為NpFID的值為Fa的數據幀,則節(jié)點裝置N1基于如上述那樣創(chuàng)建的項E1,能夠識別為“接收到曾經由節(jié)點裝置N1自身發(fā)送過的數據幀”。另外,在步驟SlOl中,節(jié)點裝置N1將當前時刻TFltll設定在項E1的最終更新時刻字段中。另外,在以下的各步驟S102 SI 12中,由其他節(jié)點裝置在各自的FID管理表105的項的最終更新時刻字段中設定的值同樣地是各步驟S102 S112被執(zhí)行的時刻TFltl2 TF112。因此,以下省略關于最終更新時刻字段的說明。并且,在步驟SlOl中從節(jié)點裝置N1接收到數據幀的節(jié)點裝置N2當在步驟S102中向節(jié)點裝置N3發(fā)送數據幀時,在FID管理表105-N2中創(chuàng)建新的項E2。并且,節(jié)點裝置N2在項&中,在OLS字段中設定N1,在LD字段中設定N3。接著,在步驟S102中從節(jié)點裝置N2接收到數據幀的節(jié)點裝置N3當在步驟S103中向節(jié)點裝置N4發(fā)送數據幀時,在FID管理表105-N3中創(chuàng)建新的項E3。并且,節(jié)點裝置N3在項E3中,在OLS字段中設定N2,在LD字段中設定N4。接著,在步驟S103中從節(jié)點裝置N3接收到數據幀的節(jié)點裝置N4當在步驟S104中向節(jié)點裝置N7發(fā)送數據幀時,在FID管理表105-N4中創(chuàng)建新的項E4。并且,節(jié)點裝置N4在項^中,在OLS字段中設定N3,在LD字段中設定N7。然而,步驟S104中的發(fā)送由于節(jié)點裝置N4和N7間的鏈路故障而失敗。即,由于節(jié)點裝置N4無法從節(jié)點裝置N7接收ACK幀,所以超時。其結果,節(jié)點裝置N4如步驟S105那樣,將其他的鄰接節(jié)點裝置N5再次選擇為下一個LD,并向節(jié)點裝置N5發(fā)送數據幀。這里,對于在步驟S104和S105中分別發(fā)送的數據幀而言,由于FID的值是Fa,GS的值是N1,所以是相同的數據幀。因此,在步驟S105中,節(jié)點裝置隊不是創(chuàng)建新的項,而是對已有的項E4進行更新。具體而言,在步驟S105中,節(jié)點裝置N4在項E4中,將LD字段的值覆蓋重寫于N5。另外,即使節(jié)點裝置N4多次發(fā)送GS的值是NpFID的值是Fa的相同的數據幀,“節(jié)點裝置N4從節(jié)點裝置N3最初接收該數據幀”這一事實也不會改變。因此,項E4的OLS字段的值不會被重寫,保持N3不變。接著,在步驟S105中從節(jié)點裝置N4接收到數據幀的節(jié)點裝置N5當在步驟S106中向節(jié)點裝置N3發(fā)送數據幀時,在FID管理表105-N5中創(chuàng)建新的項E5。并且,節(jié)點裝置N5在項E5中,在OLS字段中設定N4,在LD字段中設定N3。并且,在步驟S106中從節(jié)點裝置N5接收到數據幀的節(jié)點裝置N3將接收到的數據幀的GS和FID的值用作關鍵字來檢索FID管理表105-N3,檢索到項E3。由于檢索到了項E3,所以節(jié)點裝置N3能夠識別為“在步驟S106中接收到與節(jié)點裝置N3自身曾經在步驟S103中發(fā)送的數據幀相同的數據幀”。
因此,節(jié)點裝置N3當在下一步驟S107中將數據幀向節(jié)點裝置N5發(fā)送時,不會在FID管理表105-N3中創(chuàng)建新的項,而是對已有的項E3進行更新。具體而言,在步驟S107中,節(jié)點裝置N3在項E3中,將LD字段的值覆蓋重寫于N5。另外,項E3的OLS字段的值不會被重寫,而是保持N2不變。由此,在步驟S107中從節(jié)點裝置N3接收到數據幀的節(jié)點裝置N5將接收到的數據幀的GS和FID的值用作關鍵字來檢索FID管理表105-N5,并檢索到項E5。由于檢索到項E5,所以節(jié)點裝置N5能夠識別為“在步驟S107中接收到與節(jié)點裝置N5自身曾經在步驟S106中發(fā)送的數據幀相同的數據幀”。因此,節(jié)點裝置N5當在下一步驟S108中將數據幀向節(jié)點裝置N4發(fā)送時,不會在FID管理表105-N5中創(chuàng)建新的項,而是對已有的項E5進行更新。具體而言,在步驟S108中,節(jié)點裝置N5在項E5中,將LD字段的值覆蓋重寫于N4。另外,項E5的OLS字段的值不會被重寫,而是保持N4不變。由此,在步驟S108中從節(jié)點裝置N5接收到數據幀的節(jié)點裝置N4將接收到的數據幀的GS和FID的值用作關鍵字來檢索FID管理表105-N4,并檢索到項E4。由于檢索到項E4,所以節(jié)點裝置N4能夠識別為“在步驟S108中接收到與節(jié)點裝置N4自身曾經在步驟S105中發(fā)送的數據幀相同的數據幀”。因此,節(jié)點裝置N4當在下一步驟S109中將數據幀向節(jié)點裝置N3發(fā)送時,不會在FID管理表105-N4中創(chuàng)建新的項,而是對已有的項E4進行更新。具體而言,在步驟S109中節(jié)點裝置N4在項E4中,將LD字段的值覆蓋重寫于N3。另外,項E4的OLS字段的值不會被重寫,而是保持N3不變。由此,在步驟S109中從節(jié)點裝置N4接收到數據幀的節(jié)點裝置N3將接收到的數據幀的GS和FID的值用作關鍵字來檢索FID管理表105-N3,并檢索到項E3。由于檢索到項E3,所以節(jié)點裝置N3能夠識別為“在步驟S109中接收到與節(jié)點裝置N3自身曾經在步驟S103中發(fā)送的數據幀相同的數據幀”。因此,節(jié)點裝置N3當在下一步驟SllO中將數據幀向節(jié)點裝置N2發(fā)送時,不會在FID管理表105-N3中創(chuàng)建新的項,而是對已有的項E3進行更新。具體而言,在步驟SllO中,節(jié)點裝置N3在項E3中,將LD字段的值覆蓋重寫于N2。另外,項E3的OLS字段的值不會被重寫,而是保持N2不變。由此,在步驟SllO中從節(jié)點裝置N3接收到數據幀的節(jié)點裝置N2將接收到的數據幀的GS和FID的值用作關鍵字來檢索FID管理表105-N2,并檢索到項E2。由于檢索到項E2,所以節(jié)點裝置N2能夠識別為“在步驟SllO中接收到與節(jié)點裝置N2自身曾經在步驟S102中發(fā)送的數據幀相同的數據幀”。因此,節(jié)點裝置N2當在下一步驟Slll中將數據幀向節(jié)點裝置N6發(fā)送時,不會在FID管理表105-N2中創(chuàng)建新的項,而是對已有的項E2進行更新。具體而言,在步驟Slll中,節(jié)點裝置N2在項E2中,將LD字段的值覆蓋重寫于N6。另外,項E2的OLS字段的值不會被重寫,而是保持N1不變。并且,在步驟SI 11中從節(jié)點裝置N2接收到數據幀的節(jié)點裝置N6當在步驟SI 12中向節(jié)點裝置N7發(fā)送數據幀時,在FID管理表105-N6中創(chuàng)建新的項E6。并且,節(jié)點裝置N6在項^中,在OLS字段中設定N2,在LD字段中設定N7。
接著,參照圖14 圖29的流程圖,對節(jié)點裝置100的動作詳細說明。圖14是幀接收處理的流程圖。幀接收處理在向節(jié)點裝置100接通了電源時開始進行。在步驟S201中,接收部101在接收到幀之前進行待機。也就是說,接收部101如果沒有接收到幀則反復進行步驟S201。在接收到幀時,接收部101將接收到的幀向幀分支處理部106輸出,處理進入步驟S202。在步驟S202中,幀分支處理部106參照在步驟S201中由接收部101接收到的幀的類型字段的值,判定幀的類型。在接收到的幀的類型是問候幀的情況下,處理進入步驟S203,在數據幀的情況下,處理進入步驟S204,在ACK幀的情況下,處理進入步驟S206。在步驟S203中,幀分支處理部106將接收到的問候幀向鏈路管理部108輸出,鏈路管理部108進行圖15的問候幀接收處理。然后處理返回步驟S201。當然,在圖4的MPU201并行執(zhí)行與圖3的各部對應的多個任務的多任務環(huán)境下,幀分支處理部106若輸出了問候幀,則也可以不等待問候幀接收處理的結束就使處理進入步驟S201。另外,在步驟S204中,幀分支處理部106將在步驟S201中接收到的數據幀保存于緩沖部109。也就是說,幀分支處理部106在緩沖部109內確保新的項的區(qū)域,在確保的區(qū)域保存在步驟S201中接收到的數據幀。另外,幀分支處理部106為了進行下一步驟S205而從數據幀取出并存儲GS和FID的值。另外,如圖8那樣,緩沖部109具有超時時刻字段,但是在步驟S204的時間點,超時時刻還未被設定。并且,在步驟S205中,幀分支處理部106指示數據幀處理部110進行數據幀接收處理。在進行指示時,幀分支處理部106將在步驟S204中存儲的數據幀的GS和FID的值向數據幀處理部110通知。另外,在節(jié)點裝置100是不作為GS的類型的裝置的情況下(即,節(jié)點裝置100是中繼節(jié)點裝置的情況下),數據幀接收處理如圖20 23那樣。另一方面,在節(jié)點裝置100能作為GS的類型的裝置的情況下,數據幀接收處理如圖20 22、29那樣。若數據幀處理部110按照指示進行數據幀接收處理,則處理返回步驟S201。當然,在多任務環(huán)境下,若幀分支處理部106指示數據幀處理部110進行數據幀接收處理,則也可以不等待數據幀接收處理的結束就使處理進入步驟S201。另外,在步驟S206中,幀分支處理部106將接收到的ACK幀向ACK處理部107輸出,ACK處理部107進行圖25的ACK幀接收處理。然后處理返回步驟S201。當然,在多任務環(huán)境下,幀分支處理部106若輸出了 ACK幀,則也可以不等待ACK幀接收處理的結束就使處理進入步驟S201。圖15是圖14的步驟S203中的問候幀接收處理的流程圖。圖15的處理在從幀分支處理部106向鏈路管理部108輸出了問候幀時開始進行。
在步驟S301中,鏈路管理部108判斷在鄰接節(jié)點管理表103 (參照圖9)中是否存在將與接收到的問候幀的LS相同的值保持為節(jié)點ID的項。如果項被找到則處理進入步驟S302,如果項沒有被找到則處理進入步驟S303。另外,圖15的說明中的“接收到的問候幀”是指在圖14的步驟S201中由接收部101接收到的問候幀。即,圖15的說明中的“接收到的問候幀”是指在步驟S202中由幀分支處理部106向鏈路管理部108輸出并成為圖15的處理開始的契機的問候幀。在步驟S302中,鏈路管理部108設定當前時刻作為在步驟S301中找到的項的最終更新時刻。然后,圖15的處理結束。例如,作為在節(jié)點裝置N2中執(zhí)行了步驟S302的結果,如圖9所示,在鄰接節(jié)點管理表103-N2中,與N1這一節(jié)點ID對應的最終更新時刻字段的值被更新為TA2,lt)其結果,節(jié)點裝置N2能夠存儲為“在時刻TA2il,節(jié)點裝置N2處于能夠將節(jié)點裝置N1識別為鄰接節(jié)點裝置的狀況”。另一方面,當在步驟S301中項沒有被找到時,意味著從到目前為止沒有被識別為鄰接節(jié)點裝置的新的節(jié)點裝置接收到了問候幀。因此,在接下來的步驟S303 S308中,進行用于將該新的節(jié)點裝置登記為鄰接節(jié)點裝置的處理。在步驟S303中,鏈路管理部108向鄰接節(jié)點管理表103追加新項。然后,在步驟S304中,鏈路管理部108在步驟S303中追加的新項中設定接收到的問候幀的LS的值和當前時刻。例如,在最初接收到圖7的問候幀312時,節(jié)點裝置N2在新項的節(jié)點ID字段中設定問候幀312的LS的值亦即N3,在新項的最終更新時刻字段中設定當前時刻。接著,在步驟S305中,鏈路管理部108判斷在加權表104_1 104_M(參照圖10和圖11)中是否存在還未被關注的加權表104-i (I < i < Μ)。如果已經關注了所有的加權表104-1 104-Μ,則圖15的處理結束,如果還存在未被關注的加權表104_i,則處理進入步驟S306。在步驟S306中,鏈路管理部108在加權表104_1 104-M中還未被關注的加權表中關注下一加權表。以下為了便于說明,假設在步驟S306中,加權表104-i被關注。并且,在步驟S307中,鏈路管理部108在關注的加權表104_i中追加新項。并且,在步驟S308中,鏈路管理部108在步驟S307中追加的新項的LD、權重、最終更新時刻的各字段中分別設定接收到的問候幀的LS的值、初始加權值和當前時刻。初始加權值是根據實施方式而被任意決定的常數。在該實施方式中,如上所述權重的值在O以上I以下,由于I是表示不能被選擇為LD的特別的值,所以初始加權值可以是在O以上且小于I的任意值。更具體而言,初始加權值例如可以是O. 5。例如,圖11最上方所示的加權表104-1-N3的最初的項可以如下述那樣創(chuàng)建(但是,準確來講,此時,對最初的項的最終更新時刻設定與其他2個項的最終更新時刻Ta不同的值,并不是與圖11完全相同)?!雠c作為⑶的節(jié)點裝置N7對應的加權表104-1-N3已經存在?!龅牵?jié)點裝置N3到目前為止沒有將節(jié)點裝置N2識別為鄰接節(jié)點裝置。■節(jié)點裝置N3從節(jié)點裝置N2第一次接收到問候幀?!鲈谝陨系臓顩r下,在步驟S306中加權表104-1-N3被關注?!鲆虼?,在步驟S308中,在新項的LD字段中設定作為接收到的問候幀的LS的值的N2,在新項的權重字段中設定初始加權值、即O. 5。
在執(zhí)行了步驟S308后,處理返回步驟S305。圖16是問候幀發(fā)送處理的流程圖。圖16的處理與圖14的處理獨立并行地由問候幀創(chuàng)建部112執(zhí)行。具體而言,在對節(jié)點裝置100接入了電源時,問候幀創(chuàng)建部112開始圖16的處理。在步驟S401中,問候幀創(chuàng)建部112判斷當前時刻是否是發(fā)送預定時刻。如果當前時刻是發(fā)送預定時刻,則處理進入步驟S402,如果當前時刻不是發(fā)送預定時刻,則處理返回步驟S401。也就是說,問候幀創(chuàng)建部112在到達發(fā)送預定時刻之前進行待機。例如,可以預先決定基準時刻TMf和問候幀的發(fā)送間隔ΛΤωι。。另外,問候幀創(chuàng)建部112例如能夠基于圖4的MPU201的時鐘來參照當前時刻Τη 。問候幀創(chuàng)建部112也可以僅在式(4)的Z是整數時才判斷為“當前時刻是發(fā)送預定時刻”。Z= (Tref-Tnow)/AThello (4)例如,基準時刻Tref可以是預先決定的常數,也可以是對節(jié)點裝置100接入了電源的時刻。另外,發(fā)送間隔AThell??梢愿鶕嵤┓绞絹磉m當地決定,例如可以是10秒等較長的時間。在步驟S402中,問候幀創(chuàng)建部112向FID創(chuàng)建部113要求新的FID的創(chuàng)建,FID創(chuàng)建部113創(chuàng)建新的FID。例如,FID可以是序列號,FID創(chuàng)建部113可以使用計數電路來實現。當然,FID創(chuàng)建部113也可以由MPU201執(zhí)行程序來實現。在步驟S402中,問候幀創(chuàng)建部112還利用FID創(chuàng)建部113所創(chuàng)建的FID來創(chuàng)建問候幀。例如,圖7的問候幀312如下述那樣被創(chuàng)建。即,節(jié)點裝置N3的FID創(chuàng)建部113_N3創(chuàng)建Fb這一值作為新的FID。由此,節(jié)點裝置N3的問候幀創(chuàng)建部112-N3創(chuàng)建新的問候幀312。此時,問候幀創(chuàng)建部112-N3在問候幀312中,對LD設定OxFFFFFF這樣的規(guī)定值,對LS和GS設定作為自身節(jié)點ID的N3,對⑶設定0x000000這樣的規(guī)定值。另外,問候幀創(chuàng)建部112-乂在問候幀312中,對FID設定由FID創(chuàng)建部113_N3創(chuàng)建的值Fb,對類型設定規(guī)定值H。若如以上那樣在步驟S402中創(chuàng)建了問候幀,則接著在步驟S403中,問候幀創(chuàng)建部112請求發(fā)送部102發(fā)送創(chuàng)建的問候幀,發(fā)送部102發(fā)送問候幀。并且,處理返回步驟S401。接著,參照圖17 圖19說明各種表的時效處理。各時效處理例如可以以來自圖4的定時器IC203的中斷信號為契機而開始。
圖17是鄰接節(jié)點管理表103的時效處理的流程圖。例如,可以是定時器IC203以規(guī)定的間隔Ia將中斷信號輸出至鏈路管理部108,鏈路管理部108以中斷信號為契機來以規(guī)定的間隔Ia進行圖17的處理。在步驟S501中,鏈路管理部108關注鄰接節(jié)點管理表103 (參照圖9)的第I個項。以下在對圖17進行的說明中·,鏈路管理部108所關注的鄰接節(jié)點管理表103的項被稱為“關注項”。接著,在步驟S502中鏈路管理部108判斷當前時刻和關注項的最終更新時刻之差是否在規(guī)定的值Ga以上。另外,根據實施方式的不同,可以是匕=Ia,也可以是Ga <、,還可以是Ga > Iao如果當前時刻和關注項的最終更新時刻之差在規(guī)定的值Ga以上,則處理進入步驟S503。另一方面,如果當前時刻和關注項的最終更新時刻之差小于規(guī)定的值Ga,則處理進入步驟S505。在步驟S503中,鏈路管理部108從加權表104刪除具有與關注項的節(jié)點ID相同的值作為LD的項。例如,在關注項是圖9的鄰接節(jié)點管理表103-N3的第3個項的情況下,關注項的節(jié)點ID的值是N5。因此,在步驟S503中,鏈路管理部108分別從加權表104_1_N3 104_M_N3刪除LD的值是N5的項。例如,在步驟S503中,圖10的加權表104_1_N3的第3個項和加權表104-2-N3的第3個項被刪除。并且,在步驟S504中,鏈路管理部108將關注項從鄰接節(jié)點管理表103刪除。并且處理進入步驟S505。在步驟S505中,鏈路管理部108判斷鄰接節(jié)點管理表103中是否存在還未被關注的項。如果鏈路管理部108已經關注了鄰接節(jié)點管理表103的所有項,則圖17的處理結束。另一方面,如果鄰接節(jié)點管理表103中還存在還未被鏈路管理部108關注的項,則處理進入步驟S506。在步驟S506中,鏈路管理部108在鄰接節(jié)點管理表103的還未被關注的項中關注下一項。并且處理返回步驟S502。通過以上的圖17的時效處理,節(jié)點裝置100在來自到目前為止被識別為鄰接節(jié)點裝置的節(jié)點裝置的問候幀的接收中斷時,能夠識別為“該節(jié)點裝置已經不與節(jié)點裝置100鄰接”。也就是說,通過圖17的處理,節(jié)點裝置100能夠追隨于環(huán)境的變化來適當地管理作為潛在的LD的候補的鄰接節(jié)點裝置。另外,優(yōu)選根據環(huán)境變化的容易程度等,根據實施方式的不同來適當地決定上述規(guī)定的間隔Ia和規(guī)定的值Ga。另外,在該實施方式中,對網絡內的所有節(jié)點裝置設定相同的問候幀的發(fā)送間隔Λ Thell。,作為鄰接節(jié)點管理表103的時效時間的上述規(guī)定的值Ga滿足
Ga〉A Thello。圖18是加權表104的時效處理的流程圖。例如,定時器IC203以規(guī)定的間隔Iw將中斷信號輸出至數據幀處理部110,數據幀處理部110可以以中斷信號為契機來以規(guī)定的間隔Iw進行圖18的處理。在步驟S601中,數據幀處理部110在加權表104 (參照圖10和圖11)中關注第I個加權表104-1。以下在針對圖18的說明中,以“104-i”這樣的參照符號表示(I彡i彡M)數據幀處理部Iio所關注的加權表,稱為“關注表”。在執(zhí)行了步驟S601后,i = I。接著在步驟S602中,數據幀處理部110關注關注表104_i的第I個項。以下,將關注表中數據幀處理部110所關注的項稱為“關注項”。接著在步驟S603中,數據幀處理部110判斷當前時刻和關注項的最終更新時刻之差是否在規(guī)定的值Gw以上。另外,根據實施方式的不同,可以是6,= Iw,也可以是Gw < Iw,還可以是Gw > Iw。如果當前時刻和關注項的最終更新時刻之差在規(guī)定的值Gw以上,則處理進入步驟S604。另一方面,如果當前時刻和關注項的最終更新時刻之差小于規(guī)定的值Gw,則處理進入步驟S605。在步驟S604中,數據幀處理部110從關注表104_i刪除關注項。并且處理進入步驟 S605。 在步驟S605中,數據幀處理部110判斷關注表104_i中是否存在還未被關注的項。如果數據幀處理部Iio已經關注了關注表104-i的所有項,則處理進入步驟S607。另一方面,如果關注表104-i中存在還未被數據幀處理部110關注的項,則處理進入步驟S606。在步驟S606中,數據幀處理部110在關注表104_i內的還未被關注的項中關注下一項。并且處理返回步驟S603。在步驟S607中,數據幀處理部110判斷關注表104_i中是否存在項。作為步驟S603 S606的反復進行的結果,在關注表104-i中項不再存在的情況下,處理進入步驟S608。另一方面,如果關注表104-i中存在I個以上的項,則處理進入步驟S609。在步驟S608中,數據幀處理部110刪除不存在項的關注表104_i。并且,處理進入步驟S609。在步驟S609中,數據幀處理部110判斷加權表104中是否存在還未被關注的加權表。如果數據幀處理部110已經關注了所有的加權表104-1 104-M,則圖18的處理結束。另一方面,如果加權表104中存在還未被數據巾貞處理部110關注的加權表104-j (I ^ j ^ Μ),則處理進入步驟S610。在步驟S610中,數據幀處理部110在加權表104中關注還未被關注的下一個加權表104-j (即將加權表104-j選擇為關注表104-i)。并且處理返回步驟S602。通過以上的圖18的時效處理,節(jié)點裝置100不會陷入“過去的故障的影響被積累,所有鄰接節(jié)點裝置都不能被選擇為LD”之類的狀況。例如,在圖6的例子中,假設在步驟S112后,節(jié)點裝置N6和N7間的鏈路發(fā)生故障,節(jié)點裝置N4和N7間的鏈路從故障已經恢復這樣的狀況。如果不進行圖18的時效處理,則即使實際上由于從故障的恢復而使例如路徑〈m N4, N7>上的數據幀的發(fā)送成為可能,作為自主分散協調的結果,該路徑也不再被選擇。但是,如果進行圖18的時效處理,則在上述假設的狀況下,路徑〈K,N2, N3, N4, N7>能夠被選擇。另外,優(yōu)選根據環(huán)境變化的容易程度,根據實施方式的不同來適當地決定上述規(guī)定的間隔Iw和規(guī)定的值Gw。圖19是FID管理表105的時效處理的流程圖。例如,定時器IC203以規(guī)定的間隔If將中斷信號輸出至數據幀處理部110,數據幀處理部110可以以中斷信號為契機來以規(guī)定的間隔If進行圖19的處理。
在步驟S701中,數據幀處理部110在FID管理表105(參照圖12和圖13)中關注第I個項。在以下針對圖19的說明中,將數據幀處理部110所關注的項稱為“關注項”。接著,在步驟S702中,數據幀處理部110判斷當前時刻和關注項的最終更新時刻之差是否在規(guī)定的值Gf以上。另外,根據實施方式的不同,可以是&= If,也可以是Gf <If,還可以是Gf > If。另外,根據針對圖21的步驟S807所后述的理由,在該實施方式中,作為加權表104的時效時間的規(guī)定的值Gw和作為FID管理表105的時效時間的規(guī)定的值Gf滿足Gf < Gw。如果當前時刻和關注項的最終更新時刻之差在規(guī)定的值Gf以上,則處理進入步驟S703。另一方面,如果當前時刻和關注項的最終更新時刻之差小于規(guī)定的值Gf,則處理進入步驟S704。在步驟S703中,數據幀處理部110將關注項從FID管理表105刪除。并且處理進 入步驟S704。并且,在步驟S704中,數據幀處理部110判斷FID管理表105中是否存在還未被關注的項。如果數據幀處理部Iio已經關注了 FID管理表105的所有項,則圖19的處理結束。另一方面,如果FID管理表105中存在還未被數據幀處理部110關注的項,則處理進入步驟S705。在步驟S705中,數據幀處理部110在FID管理表105的還未被關注的項中關注下一項。并且處理返回步驟S702。通過以上的圖19的時效處理,能夠防止“FID管理表105的項持續(xù)增加從而導致存儲區(qū)域用盡”這樣的狀況。另外,上述規(guī)定的值Gf例如可以被決定為在發(fā)生數次回溯的最差情況下被預測為數據幀從GS到達GD所需的時間的長度以上。一般而言,網絡的規(guī)模越大,則優(yōu)選也將規(guī)定的值Gf設定得較大。圖20 圖23是圖14的步驟S205中的數據幀接收處理的流程圖。另外,為了便于說明,首先參照圖20 圖23對節(jié)點裝置100不作為GS而是作為中繼節(jié)點裝置的情況下的數據幀接收處理進行說明。對于節(jié)點裝置100也能夠作為GS的類型的情況,圖23的部分被后述的圖29的處理替換。若在圖14的步驟S205中,由幀分支處理部106指示了進行數據幀接收處理,則數據幀處理部Iio開始圖20的處理。另外,如上所述,來自幀分支處理部106的指示與接收到的數據幀的GS和FID的值的通知一起進行。在步驟S801中,數據幀處理部110判斷接收到的數據幀的LD的值是否是自身節(jié)點ID。如果接收到的數據幀的LD的值不是自身節(jié)點ID,則處理進入步驟S802,如果接收到的數據幀的LD的值是自身節(jié)點ID,則處理進入步驟S803。另外,在數據幀接收處理的說明中,“接收到的數據幀”是指,在圖14的步驟S201中由接收部101接收,在步驟S204中保存于緩沖部109并成為圖20的處理開始的契機的數據幀。另外,幀分支處理部106在向數據幀處理部110指示開始數據幀接收處理時,將接收到的數據幀的GS和FID的值通知給數據幀處理部110。因此,數據幀處理部110將通知的GS和FID的值用作關鍵字來檢索緩沖部109,由此能夠檢索到包含接收到的數據幀的項。因此,數據幀處理部Iio根據檢索到的項,能夠讀出包含于接收到的數據幀的幀頭的各字段的值。準確來講,在步驟S801中,數據幀處理部110首先如以上說明的那樣,從緩沖部109讀出并存儲包含于接收到的數據幀的幀頭的各字段的值。并且,將存儲的LD的值(即接收到的數據幀的LD的值)與自身節(jié)點ID進行比較。另外,作為節(jié)點裝置100自身的節(jié)點ID的自身節(jié)點ID例如被預先記錄于圖4的閃存205中,因此數據幀處理部110能夠參照自身節(jié)點ID。在接收到的數據幀的LD的 值與自身節(jié)點ID不同時,節(jié)點裝置100是偶然接收到與節(jié)點裝置100自身無關的數據幀。因此,在步驟S802中,數據幀處理部110廢棄接收到的數據幀。也就是說,數據幀處理部110刪除在步驟S801中檢索到的緩沖部109的項。并且,數據幀接收處理結束。另一方面,在接收到的數據幀的LD的值與自身節(jié)點ID相等時,在步驟S803中,數據幀處理部Iio創(chuàng)建ACK幀,并請求發(fā)送部102發(fā)送ACK幀。并且,發(fā)送部102發(fā)送ACK幀。例如,在節(jié)點裝置N3接收到圖7的數據幀303時,節(jié)點裝置N3的數據幀處理部IlO-N3在步驟S803中創(chuàng)建圖7的ACK幀322。并且,發(fā)送部102_N3發(fā)送ACK幀322。具體而言,數據幀處理部IlO-N3將作為接收到的數據幀303的LS的值的N2設定于ACK幀322的LD,將自身節(jié)點ID (即作為節(jié)點裝置N3自身的節(jié)點ID的N3)設定于ACK幀322的LS。另外,ACK幀322由于與作為對應的數據幀303的LS的節(jié)點裝置N2以外無關,所以數據幀處理部IlO-N3在ACK幀322的⑶中設定表示空值的特殊值0x000000。另外,數據幀處理部IlO-N3設定ACK幀322的GS和FID,以使得接收到ACK幀322的節(jié)點裝置N2能夠識別“ACK幀322是針對數據幀303的ACK幀”。即,數據幀處理部IIO-N3對ACK幀322的GS和FID分別設定接收到的數據幀303的GS和FID的值N1和Fa。并且,數據幀處理部IIO-N3設定表示“ACK幀”的規(guī)定值A作為ACK幀322的類型。在步驟S803中,如以上那樣,數據幀處理部IlO-N3創(chuàng)建ACK幀322,發(fā)送部102_N3發(fā)送ACK中貞322。接著,在步驟S804中,數據幀處理部110判斷接收到的數據幀的GD的值是否是自身節(jié)點ID。如果接收到的數據幀的GD的值是自身節(jié)點ID,則處理進入步驟S805。另一方面,如果接收到的數據幀的GD的值與自身節(jié)點ID不同,則處理進入圖21的步驟S806。在步驟S805中,數據幀處理部110向上位層處理部111提供接收到的數據幀,結束數據幀接收處理。具體而言,數據幀處理部110將在步驟S801中檢索到的緩沖部109的項向上位層處理部111輸出,并將該項從緩沖部109刪除。并且結束數據幀接收處理。例如,在圖6的步驟S112中從節(jié)點裝置N6接收到數據幀的節(jié)點裝置N7中,接收到的數據幀被輸出至上位層處理部111-N7,并在上位層處理部Ill-N7中被處理。另外,也可以不將接收到的數據幀全部提供,而是將至少包含上層處理部111的處理中所需的凈荷的部分數據從在步驟S801中檢索到的緩沖部109的項中取出,并輸出至上位層處理部111。圖21的步驟S806以后的處理在接收到的數據幀的LD的值與自身節(jié)點ID相等,且接收到的數據幀的GD的值與自身節(jié)點ID不同的情況下被執(zhí)行。在步驟S806中,數據幀處理部110將接收到的數據幀的FID和GS的值用作關鍵字,來檢索FID管理表105。另外,如上所述,接收到的數據幀的FID和GS的值在圖20的處理開始時由幀分支處理部106通知。接著,在步驟S807中,作為步驟S806的檢索的結果,數據幀處理部110判斷項是否被選中。在項選中的情況下,由于與節(jié)點裝置100以前發(fā)送過的數據幀相同的數據幀被接收,所以處理進入步驟S808。另一方面,在項未被選中的情況下,由于節(jié)點裝置100未發(fā)送過的數據幀被接收,所以處理進入步驟S810。另外,準確來講,即使在“雖然與節(jié)點裝置100以前發(fā)送過的數據幀相同的數據幀被接收,但是檢索對象的項已經因時效而消失”這樣的情況下,項也不會被選中。為了不發(fā)生這樣的情況,優(yōu)選基于在網絡內回溯被反復進行的最差的時間的預計等來適當地決定FID管理表105的時效時間Gf。在步驟S808中,數據幀處理部110取出在步驟S806的檢索中選中的FID管理表105的項的LD和OLS的值,例如將其存儲于圖4的DRAM204等存儲區(qū)域。 接著在步驟S809中,數據幀處理部110對與接收到的數據幀的GD的值對應的加權表(以下在圖21 23的說明中以“104-i”這樣的參照符號來進行參照)進行如下的更新。S卩,數據幀處理部110在加權表104-i中,將與在步驟S808中取出的LD對應的權重變更為最大值。另外,在該實施方式中權重的最大值為I。在變更了權重后,處理進入步驟S817。另外,在以步驟S807、S808、S809來推進處理時,與在步驟S808中取出的LD對應的項存在于與接收到的數據幀的GD的值對應的加權表104-i中,在步驟S809中被確保。其
理由如下。如針對圖12和圖13所說明的那樣,在FID管理表105的項中,最終更新時刻被設定為數據幀的發(fā)送時刻。另外,如針對圖19所說明的那樣,FID管理表105的時效時間Gf例如被設定為在最差情況下被預測的時間以上。因此,在節(jié)點裝置100過去所發(fā)送的數據幀在網絡內徘徊并被節(jié)點裝置100接收時,與該數據幀對應的項還存在于FID管理表105的情況被確保。并且,如針對圖11所說明的那樣,若數據幀被發(fā)送、ACK幀被返送,則權重被更新,在加權表104-1 101-M內的各項中,在權重被更新時,最終更新時刻也被設定。因此,若考慮時間序列則成為下述(El) (E5)的順序。(El)⑶的值為NeD,GS的值為Nes,LD的值為Nui, FID的值為F。的數據幀從節(jié)點裝置100發(fā)送。此時,在FID管理表105中最終更新時刻被設定。例如,在圖6的節(jié)點裝置N3中,在步驟S103中對圖12的項E3設定最終更新時刻T1(l3。(E2)在針對上述數據幀的ACK幀被接收時,在與節(jié)點裝置Neil對應的加權表104_i中,LD字段的值是N111的項的權重被更新。此時,該項的最終更新時刻被設定。例如,在節(jié)點裝置N3中,如圖11所示,在步驟S103a中加權表104_1_N3的、LD字段的值是N4的項的最終更新時刻被設定為Tb。(E3)GS的值是Nes,FID的值是F。的相同的數據幀被節(jié)點裝置100接收。例如,在圖6的步驟S106中,節(jié)點裝置N3接收數據幀。另外,由于數據幀的GD的值在中繼時不會被重寫,所以在(E3)中接收的數據幀的GD的值根據上述(El)可知當然是NeD。(E4)從上述(El)的時間點開始經過FID管理表105的時效時間Gf。
(E5)從上述(E2)的時間點開始經過加權表104的時效時間Gw。如上所述,(E3)的時間點比(E5)的時間點靠前。因此,在(E3)的時間點,在與節(jié)點裝置Neil對應的加權表104-i中,LD字段的值是Nui的項的存在被確保。例如,在上述的例子中,加權表104-1-N3的、LD字段的值是N4的項的存在在圖6的步驟S106的時間點被確保。另外,此處的“步驟S106的時間點”具體是指,節(jié)點裝置N3執(zhí)行將在步驟S106中的接收作為契機的數據幀接收處理所包含的步驟S809的處理的時間點。因此,當在圖21的步驟S806的檢索中在FID管理表105中檢索到了項時,在步驟S809中,與在步驟S808中取出的LD對應的項一定存在于加權表104_i中。因此,在步驟S809中,數據幀處理部110在確保存在的項中,將權重的值設定為最大值。反之,當在步驟S806的檢索中沒有檢索到項時,在步驟S810中,數據幀處理部110 將接收到的數據幀的LS的值作為OLS存儲于例如圖4的DRAM204等存儲區(qū)域中。并且,在步驟S811中,數據幀處理部110將接收到的數據幀的⑶的值用作關鍵字來檢索加權表104。接著,在步驟S812中,作為步驟S811的檢索的結果,數據幀處理部110判斷表是否選中。如果與接收到的數據幀的GD的值對應的加權表存在于加權表104中,則處理進入步驟S812a。另外,在步驟S809中導入的“ 104_i ”這樣的參照符號是指與接收到的數據幀的GD的值對應的加權表,因此作為步驟S811的檢索的結果選中的表也是“加權表104-i”。另一方面,如果加權表104中不存在與接收到的數據幀的GD的值對應的加權表,則處理進入步驟S813。在步驟S812a中,數據幀處理部110對在步驟S811的檢索中選中的加權表104_i進行調整。步驟S812a的加權表調整處理的具體內容會參照圖24后述,是中和時效處理的副作用的處理。作為步驟S812a的結果,與在鄰接節(jié)點管理表103中管理的所有鄰接節(jié)點裝置對應的項存在于加權表104-i的情況被確保。并且,處理進入步驟S817。在步驟S813中,數據幀處理部110追加與接收到的數據幀的⑶的值對應的新加權表。另外,在步驟S813中,追加的表也是“加權表104-i”。并且,在步驟S814中,數據幀處理部110在新加權表104_i中將接收到的數據幀的⑶的值設定為加權表104-i的⑶。并且,在步驟S815中,數據幀處理部110在新加權表104_i中創(chuàng)建與鄰接節(jié)點管理表103的項數數目相同的新項。并且,在步驟S816中,數據幀處理部110在步驟S815中創(chuàng)建的各項中分別設定鄰接節(jié)點管理表103的各項的節(jié)點ID、初始加權值和當前時刻。另外,以上的步驟S811 S816的具體例如下所述。例如,在圖6的步驟S102中從節(jié)點裝置N2接收到圖7的數據幀303時,在節(jié)點裝置N3的加權表104-N3中,圖11的加權表104-1-N3不存在。由此,即使節(jié)點裝置N3的數據幀處理部IlO-N3在步驟S811中將節(jié)點裝置N3所接收到的數據幀303的⑶的值、即N7用作關鍵字來檢索加權表104-N3,表也不會選中。
于是,數據幀處理部IlO-N3在步驟S813中新創(chuàng)建加權表104_1_N3,在步驟S814中對加權表104-1-N3的⑶設定N7。并且,數據幀處理部IlO-N3在步驟S815中,在加權表104-1-N3中創(chuàng)建與圖9的鄰接節(jié)點管理表103-N3數目相同的(即3個)新項。這里,鄰接節(jié)點管理表103-N3的各項的節(jié)點ID如圖10所示是N2、N4和N5。因此,在步驟S816中,數據幀處理部IlO-N3對在步驟S815中創(chuàng)建的3個項分別設定N2、N4和N5作為LD。另外,數據幀處理部IlO-N3對上述3個項的權重字段都設定O. 5這一初始加權值,對上述3個項的最終更新時刻字段都設定當前時刻。作為以上的步驟S813 S816的結果,如圖11的第I個那樣的加權表104_1-%被追加到加權表104-N3中。
這里,從具體例的說明返回圖21的處理一般的說明。在執(zhí)行了步驟S809后,執(zhí)行了步驟S816后,或者在步驟S812中判斷為在步驟S811的檢索中表被選中后,執(zhí)行步驟S817。因此,在執(zhí)行步驟S817時,與接收到的數據幀的GD的值對應的加權表104_i的存在被確保。于是,在步驟S817中,數據幀處理部110在與接收到的數據幀的⑶的值對應的加權表104-i中,在與OLS不同的LD中取得與最小的權重對應的LD的值。也就是說,數據幀處理部110在加權表104-i中,從具有與在步驟S808或S810中存儲的OLS的值不同的值作為LD的項中選擇權重的值最小的項。并且,數據幀處理部110將選擇到的項的LD和權重的值例如存儲于圖4的DRAM204等存儲區(qū)域。接著,在步驟S818中,數據幀處理部110判斷下述2個條件(Fl)和(F2)的任意一個是否成立。(Fl)與在步驟S817 (或者后述的S829)中取得的LD的值對應的權重是權重的最大值(在該實施方式中是I. O)。(F2)數據幀向與在步驟S808或者S810中存儲的OLS的值不同的LD的轉送都已失敗(其中,也包含加權表104-i中的LD原本只存在OLS的情況)。在條件(Fl)或者(F2)成立的情況下,由于能夠選擇為LD的鄰接節(jié)點裝置已經不存在,所以處理進入圖23的步驟S830。另一方面,在條件(Fl)和(F2)都不成立的情況下,存在還能夠選擇為LD的鄰接節(jié)點裝置。換言之,與(Gl) (G4)都不符合的鄰接節(jié)點裝置至少存在I個。并且,能夠被選擇為LD的鄰接節(jié)點裝置的節(jié)點ID在步驟S817(或者后述的S829)中被取得。(Gl)由于被判斷為從該鄰接節(jié)點裝置開始的前面的路徑是死路或者死循環(huán),所以該鄰接節(jié)點裝置與最大值的權重對應。(G2)由于過去針對該鄰接節(jié)點裝置的同一 GD發(fā)送目的地的數據幀的發(fā)送失敗的結果被累積,所以該鄰接節(jié)點裝置與最大值的權重對應。(G3)在本次的數據幀接收處理中,作為嘗試數據幀向該鄰接節(jié)點裝置的發(fā)送的結果,判明為“發(fā)送失敗”。即,即使經過了規(guī)定時間,也無法從發(fā)送了數據幀的鄰接節(jié)點裝置接收到ACK幀。(G4)該鄰接節(jié)點裝置是0LS。于是,當在步驟S818中判斷為條件(Fl)和(F2)都不成立,則處理進入步驟S819。步驟S819以后的處理是嘗試進行數據幀向由已經取得的LD的值識別的鄰接節(jié)點裝置轉送的處理。在步驟S819中,數據幀處理部110如下述那樣創(chuàng)建新的數據幀并輸出至發(fā)送部102,發(fā)送部102發(fā)送創(chuàng)建的數據幀。具體而言,數據幀處理部110將在步驟S817(或者后述的S829)中取得的LD的值指定為新的數據幀的LD,將自身節(jié)點ID指定為新的數據幀的LS。另外,數據幀處理部110從接收到的數據幀將GD、GS、FID、類型、長度的各字段的值、和凈荷復制到新的數據幀中。另外,“接收到的數據幀”是指,如上述那樣在步驟S801中檢索到的緩沖部109內的項所保存的數據幀。在步驟S819中的發(fā)送后,處理進入步驟S820,數據幀處理部110對緩沖部109的超時時刻進行更新。即,數據幀處理部110在緩沖部109中,對保存接收到的數據幀的項的超時時刻設定式(5)的時刻Ttim_t。
Ttimeout = Tnow+Twait (5)另外,在式(5)中,時刻Tmw是當前時刻,時間Twait是ACK幀等待時間。并且,在步驟S821中,數據幀處理部110確認步驟S806的FID管理表105的檢索中項是否選中,或者在后述的步驟S823以及步驟S824中,是否向FID管理表105 了新項并設定了值。也就是說,數據幀處理部110確認具有與接收到的數據幀的GS和FID的值相等的值作為GS和FID的項是否存在于FID管理表105中。如果在步驟S806的檢索中項被選中,或者在步驟S823以及步驟S824中,向FID管理表105追加了新項并設定了值,則本次的數據幀接收處理是以與過去節(jié)點裝置100自身發(fā)送的數據幀相同的數據幀的接收為契機的處理。因此,數據幀處理部Iio接著執(zhí)行步驟S822。另一方面,如果步驟S806的檢索中沒有選中項,并且在步驟S823以及步驟S824中,沒有向FID管理表105追加新項并設定值,則節(jié)點裝置100嘗試進行初次接收的數據幀的初次轉送。因此,處理進入步驟S823。在步驟S822中,數據幀處理部110對步驟S806的檢索中選中的項進行更新。具體而言,數據幀處理部110在步驟S806的檢索中選中的項中,對LD字段設定在步驟S819中發(fā)送的數據幀的LD的值,對最終更新時刻字段設定當前時刻。并且,處理進入步驟S825。另外,在步驟S823中,數據幀處理部110向FID管理表105追加新項。并且,在下一步驟S824中,數據幀處理部110對新項設定值。具體而言,數據幀處理部110在新項中,對FID、GS和LD的各字段分別復制步驟S819中發(fā)送的數據幀的值。另夕卜,數據幀處理部110在新項中,對最終更新時刻字段設定當前時刻,對OLS字段復制步驟S810中存儲的OLS的值。并且,處理進入步驟S825。在步驟S825中,數據幀處理部110等待步驟S819中的發(fā)送成功與否的通知。例如,在數據幀處理部110由執(zhí)行規(guī)定程序的線程的圖4的MPU201實現的情況下,在步驟S825中線程也可以休眠。此時,“發(fā)送成功”或者“發(fā)送失敗”的通知是喚醒線程的處理。在步驟S819中的發(fā)送成功的情況下,從在步驟S819中發(fā)送的數據幀中被指定為LD的鄰接節(jié)點裝置返送ACK幀。并且,ACK處理部107進行后述的圖25的處理,向數據幀處理部110通知“發(fā)送成功”。另外,步驟S819中的發(fā)送失敗是指,來自在步驟S819中發(fā)送的數據幀中被指定為LD的鄰接節(jié)點裝置的ACK幀在到了式(5)的時刻Tti_ut也沒有被節(jié)點裝置100接收。ACK幀的接收由ACK處理部107進行的后述的圖26的處理進行監(jiān)視,在ACK幀到了超時時刻Ttimeout也沒有被接收時,ACK處理部107向數據幀處理部110通知“發(fā)送失敗”。在數據幀處理部110在步驟S825中的待機后從ACK處理部107接收到了“發(fā)送成功”或者“發(fā)送失敗”的通知時,處理進入步驟S826。在步驟S826中,數據幀處理部110基于從ACK處理部107接收到的通知,判斷步驟S819的發(fā)送是否已經成功。在發(fā)送成功的情況下,處理進入步驟S827,在發(fā)送失敗的情況下,處理進入步驟S828。在發(fā)送成功時,在步驟S827中,數據幀處理部110在加權表104中,使與在步驟S819中發(fā)送的數據幀的⑶和LD的組對應的權重變小。這里,如果注意到數據幀的⑶沒有因轉送而被重寫的情況而改變說法,則在步驟S827中,數據幀處理部110在與接收到的數據幀的GD對應的加權表104-i中進行權重的更新。也就是說,數據幀處理部110在加權表104-i中尋找具有在步驟S817(或者后述的步驟S829)中取得的LD的值作為LD的項,并使找到的項的權重的值變小。使權重的值變小是指提高對應的LD的優(yōu)先級。這里,若將找到的項的當前的權重的值設為Wmt,則在步驟S827中,數據幀處理部110可以將找到的項的權重的值更新為例如式(6)的WMvised。Wrevised = max (ffmin,Wcurrent-Affsuccess) (6)另外,在式(6)中,Wmin是權重的最小值,在該實施方式中Wmin= O。另外,Affsuccess是發(fā)送成功時減少權重的規(guī)定量,能夠根據實施方式來決定合適值。例如,可以是AWsucxess=O. I。
并且,數據幀處理部110在步驟S827中,在具有在步驟S817 (或者后述的步驟S829)中取得的LD的值作為LD的加權表104_i的項中,對最終更新時刻設定當前時刻。并且,數據幀接收處理結束。另一方面,在發(fā)送失敗時,在步驟S828中,數據幀處理部110在加權表104中,使與步驟S819中發(fā)送的數據幀的⑶和LD的組對應的權重變大。也就是說,在步驟S828中,數據幀處理部110在加權表104-i中尋找具有步驟S817(或者后述的步驟S829)中取得的LD的值作為LD的項,使找到的項的權重的值變大。使權重的值變大是指降低對應的LD的優(yōu)先級。例如,在步驟S828中,數據幀處理部110可以將找到的項的權重的值更新為式(7)
的 Wrevi sed。Wrevised = min(ffmax,Wcurrent+Afffailure) (7)另外,在式(7)中,Wmax是權重的最大值,在該實施方式中Wmax= I。另外,Afffailure是發(fā)送失敗時減小權重的規(guī)定量,能夠根據實施方式決定合適值。例如,可以是AWfailure =0.1。當然,可以是 ΔWfailure ^ Affsuccesstj另外,數據幀處理部110在步驟S828中,將步驟S817(或者后述的步驟S829)中取得的LD的值作為“轉送失敗的LD”存儲于例如圖4的DRAM204等工作區(qū)域中。例如,數據幀處理部Iio在步驟S817中將DRAM204上的線性列表初始化為空,每當執(zhí)行步驟S828時,就可以將保持在步驟S817 (或者后述的步驟S829)中取得的LD的值的要素追加到線性列表中。當然,為了存儲“轉送失敗的LD”也可以使用數組等其他數據構造。并且,數據幀處理部110在步驟S828中,在具有在步驟S817 (或者后述的步驟S829)中取得的LD的值作為LD的加權表104_i的項中,對最終更新時刻設定當前時刻。并且處理進入步驟S829。在步驟S829中,數據幀處理部110尋找到目前為止還未嘗試作為LD的其他的能夠選擇的鄰接節(jié)點裝置。具體而言,數據幀處理部Iio在與接收到的數據幀的GD的值對應的加權表104-i中,在除了轉送失敗的LD以外且與OLS不同的LD中,取得與最小的權重對應的LD的值。另外,轉送失敗的LD在步驟S828中,例如以線性列表等的形式存儲于例如圖4的DRAM204等工作區(qū)域中。也就是說,數據幀處理部110在加權表104-i中,從具有是(Hl)且(H2)的值作為LD的項中選擇權重的值最小的項。并且,數據幀處理部110將選擇到的項的LD和權重的值 存儲于例如圖4的DRAM204等存儲區(qū)域中。(Hl)與過去在步驟S817或者S829中取得的LD的值不同的值(H2)與步驟S808或者S810中存儲的OLS的值不同的值因此,例如在步驟S828中與被更新為O. 2的權重對應的鄰接節(jié)點裝置也可能在步驟S829中不被選擇為LD,而是在步驟S829中選擇比O. 2大的O. 8等權重的鄰接節(jié)點裝置。下面例舉了以上的步驟S817 S829的具體例。例如,在圖6的節(jié)點裝置N4中,節(jié)點裝置N3、N5和N7鄰接。并且,如圖12所示,節(jié)點裝置N4的FID管理表105_N4的項E4的OLS的值是N3。在圖6的例子中,由于節(jié)點裝置N4的數據幀處理部IlO-N4最初在步驟S817中取得LD的值N7,所以如步驟S104那樣,進行數據幀向節(jié)點裝置N7的發(fā)送。但是,如圖6所示,由于步驟S104的發(fā)送失敗,所以數據幀處理部IlO-N4在步驟S826中判斷為“發(fā)送失敗”。由此,在數據幀處理部IlO-N4執(zhí)行步驟S829的時間點,轉送失敗的LD (即N7)以外且與OLS (即N3)不同的LD的值僅有N5。因此,在步驟S829中取得LD的值N5。若這樣在步驟S829中取得LD的值,則處理從步驟S829返回步驟S818。因此,在上述的節(jié)點裝置N4的例子中,在步驟S829后,再次執(zhí)行步驟S818 S826。并且,如圖6中步驟S105所示那樣,這次在步驟S826中判斷為“發(fā)送成功”,執(zhí)行步驟S827,數據幀接收處理結束。另外,在步驟S828中,以具體例如下述那樣說明例如如式(7)那樣更新權重帶來的影響。例如,在圖2的網絡2中,假設節(jié)點裝置Nltl6在時刻Tral從鄰接節(jié)點裝置Nltl8接收到將節(jié)點裝置N118指定為GD的第I數據幀。并且,假設在時刻Ircvl,節(jié)點裝置Nltl6中存在與節(jié)點裝置N118對應的加權表104-g1(l6-N1(l6。另外,假設在時刻Ircvl的加權表104-g1(l6-N1Q6中,節(jié)點裝置Nltl2對應于權重O. 4,節(jié)點裝置Nltl3對應于權重O. 7,節(jié)點裝置Nltl7對應于權重O. I,節(jié)點裝置Nltl8對應于權重O. 5。由此,在步驟S817中,與最小的權重O. I對應的節(jié)點裝置Nltl7被選擇為LD。然而,當在步驟S819中數據幀被發(fā)送時,由于偶然在節(jié)點裝置Nltl6和Nltl7間放置了遮蔽物等理由,節(jié)點裝置Nltl6和Nltl7的無線鏈路暫時無法通信。由此,由于沒有返送ACK幀,所以在步驟S828中,節(jié)點裝置Nltl7的權重從O. I更新為O. 2。并且,在步驟S829中,與權重O. 4對應的節(jié)點裝置Nltl2被選擇為LD。這里,假設步驟S819中的數據幀的發(fā)送成功,從節(jié)點裝置Nltl2返送回了 ACK幀。由此,在步驟S827中節(jié)點裝置Nltl2的權重從O. 4更新為O. 3,數據幀接收處理結束。這里,從節(jié)點裝置Nltl6發(fā)送到節(jié)點裝置Nltl2的第I數據幀不會回溯到節(jié)點裝置Nltl6,而是到達節(jié)點裝置N118。也就是說,在加權表104-g1(l6-N1(l6中,隨著第I數據幀的轉送,權重被更新為I的項已不存在。由此,在節(jié)點裝置Nltl6在之后的時刻Ircv2從節(jié)點裝置Nltl3接收到同樣地將節(jié)點裝置N118指定為⑶的第2數據幀時,加權表104-g1(l6-N1(l6的內容如下。即,節(jié)點裝置Nltl2對應于權重O. 3,節(jié)點裝置Nltl3對應于權重O. 7,節(jié)點裝置Nltl7對應于權重O. 2,節(jié)點裝置Nltl8對應于權重O. 5。 因此,在步驟S817中,雖然第I數據幀的轉送失敗,但是另外與最小的權重對應的節(jié)點裝置Nltl7被選擇為LD。并且,如果在時刻Tmv2,節(jié)點裝置Nltl6和Nltl7間的無線鏈路的通信品質好轉,在步驟S819中的第2數據幀的發(fā)送成功,則在步驟S827中節(jié)點裝置Nltl7的權重再次返回O. I。這里,作為向節(jié)點裝置Nltl7轉送第2數據幀的結果,若不發(fā)生回溯,則節(jié)點裝置Nltl7的權重保持O. I不變。因此,如果在更靠后的時刻Ircv3,節(jié)點裝置Nltl6從節(jié)點裝置Nltl7以外的鄰接節(jié)點裝置接收到同樣地將節(jié)點裝置N118指定為GD的第3數據巾貞,則作為LD最優(yōu)先被選擇的還是節(jié)點裝置Nltl7t5這樣,若在步驟S829中,使權重稍微變大而不是迅速地設定成最大值,則加權表104不會對通信環(huán)境的變化過度反應。因此,在節(jié)點裝置Nltl6不停地接收到將相同節(jié)點裝置指定為GD的多個數據幀的過程中,如果暫時發(fā)生了故障的鏈路從故障恢復,則隨著環(huán)境的好轉,過去的學習結果再次活用于LD的選擇。也就是說,在上述例子中,在過去已經學習到適于作為LD的節(jié)點裝置Nltl7再次作為LD被優(yōu)先選擇?;蛘?,在時刻Tmv2,也存在節(jié)點裝置Nltl6和Nltl7間的無線鏈路沒有從故障恢復的情況。此時,作為第2數據幀的發(fā)送時的LD,雖然暫時選擇權重O. 2的節(jié)點裝置Nltl7,但是由于沒有接收到ACK幀,所以節(jié)點裝置Nltl7的權重被更新為O. 3。并且,最終也可能是,與權重O. 3對應的節(jié)點裝置Nltl2被選擇為LD,發(fā)送成功,權重被更新為O. 2。由此,在時刻Tmv3,若節(jié)點裝置Nltl6例如從節(jié)點裝置Nltl3接收到第3數據巾貞,則可能與權重O. 2對應的節(jié)點裝置Nltl2被選擇為LD,另外發(fā)送成功,節(jié)點裝置Nltl2的權重成為O. I。并且,之后不久,作為將節(jié)點裝置N118指定為GD的數據幀的LD,節(jié)點裝置Nltl6可能會繼續(xù)選擇節(jié)點裝置N102。但是,在之后,若節(jié)點裝置Nltl2間的無線鏈路發(fā)生了故障,則不從節(jié)點裝置N102返送回ACK幀。由此,在步驟S829中進行LD的再次選擇。此時,在時刻Tmv1以前被學習到適合作為LD的節(jié)點裝置Nltl7與對應于權重O. 5、O. 7、相對地不太適合作為LD的節(jié)點裝置N1(l8、N103相比,被優(yōu)先選擇為LD。其理由是,發(fā)送第I數據幀和第2數據幀時的權重學習如步驟S828所示那樣,使權重平穩(wěn)地變化,節(jié)點裝
置Nltl7的權重與節(jié)點裝置N1(l8、N103的權重相比較小。
并且,在該時間點,如果節(jié)點裝置Nltl6和Nltl7間的無線鏈路從故障恢復,則節(jié)點裝置Nltl7的權重再次減小到O. 2。這樣,即使恢復稍微花費時間,由于暫時的環(huán)境變化不會過度反映于加權表104,所以過去學習的成果也被緩慢地反映。因此,選擇合適的LD的概率變聞。如上所述,為了不過度地受到暫時故障的影響,在步驟S828中,對權重稍微進行調整。這里,返回步驟S818的分支的說明。若在步驟S818中判斷為2個條件(Fl)和(F2)的任意一個成立,則由于能夠被選擇為LD的鄰接節(jié)點裝置已經不存在,所以處理進入圖23的步驟S830。
在步驟S830中,數據幀處理部110如下述那樣創(chuàng)建新的數據幀來輸出至發(fā)送部102,發(fā)送部102發(fā)送創(chuàng)建的數據幀。具體而言,數據幀處理部110將步驟S808或者S810中存儲的OLS的值指定為新的數據幀的LD,將自身節(jié)點ID指定為新的數據幀的LS。另外,數據幀處理部110從接收到的數據幀將GD、GS、FID、類型、長度的各字段的值、和凈荷復制到新的數據幀中。另外,“接收到的數據幀”是指,如上述那樣保存于在步驟S801中找到的緩沖部109內的項的數據幀。在步驟S830中進行的發(fā)送處理即是回溯動作。另外,步驟S830的發(fā)送的具體例是圖6的步驟S110。在步驟S830中的發(fā)送后,處理進入步驟S831。在步驟S831中,數據幀處理部110將接收到的數據幀的FID和GS的值用作關鍵字來檢索FID管理表105。并且,在步驟S832中,作為步驟S831的檢索結果,數據幀處理部110判斷是否選中了項。如果項選中,則處理進入步驟S833,如果項未選中,則處理進入步驟S834。另外,當在步驟S807中判斷為“項選中”時,作為步驟S831的檢索的結果而找到的項是作為步驟S806的檢索的結果而找到的項。另外,當在步驟S807中判定為“項未選中”,并且在步驟S823中創(chuàng)建了新項時,作為步驟S831的檢索結果,在步驟S823中創(chuàng)建的新項被找到。在步驟S832中被判斷為“項未選中”的情況是(Il)且(12)的情況,換言之,是(Jl)且(J2)的情況。(Il)在步驟S807中判斷為“項未選中”。(12)在第I次執(zhí)行了步驟S818后處理立即進入步驟S830。(Jl)節(jié)點裝置100接收到到目前為止未接收過的數據幀。(J2)在與接收到的數據幀的GS的值對應的加權表104-i中,最大值的權重與所有的LD對應。在步驟S833中,數據幀處理部110對作為步驟S831的檢索結果而選中的項進行更新。具體而言,數據幀處理部110在選中的項中,對LD復制選中的項自身的OLS的值,對最終更新時刻設定當前時刻。并且,處理進入步驟S836。另一方面,在步驟S834中,數據幀處理部110向FID管理表105追加新項。并且,在下一步驟S835中,數據幀處理部110對在步驟S834中追加的新項設定值。具體而言,數據幀處理部110在新項中,對FID和GS分別復制接收到的數據幀的值,對最終更新時刻設定當前時刻,對OLS和LD復制接收到的數據幀的LS的值。并且處理進入步驟S836。在步驟S836中,數據幀處理部110等待與在步驟S830中發(fā)送的數據幀有關的發(fā)送成功與否的通知。并且,若數據幀處理部110從ACK處理部107接收到“發(fā)送成功”或者“發(fā)送失敗”的通知,則處理進入步驟S837。步驟S836與步驟S825類似,因此省略詳細的說明。并且,在步驟S837中,數據幀處理部110判斷步驟S830中的數據幀的發(fā)送是否成功。在發(fā)送失敗的情況下,處理進入步驟S838,在發(fā)送成功的情況下,處理進入步驟S839。步驟S838所執(zhí)行的是(Kl)且(K2)這樣的例外的情況。(Kl)OLS以外的所有鄰接節(jié)點裝置是(Kl-I)或者(Kl_2)。(Kl-I)與最大值的權重對應。 (Κ1-2)若指定為LD來發(fā)送數據幀,則發(fā)送失敗。(Κ2)針對OLS的數據幀的發(fā)送(即回溯動作)失敗。此時,數據幀處理部110在步驟S838中廢棄接收到的數據幀。即,數據幀處理部110從緩沖部109刪除在步驟S801中找到的項。并且,數據幀接收處理結束。另外,下面通過具體例說明步驟S838的影響。例如,圖6的步驟SllO是節(jié)點裝置N3在步驟S830中進行的發(fā)送。在圖6的例子中,針對步驟SllO中的數據幀從節(jié)點裝置N3向節(jié)點裝置N2的發(fā)送,節(jié)點裝置N2將ACK幀返送給節(jié)點裝置Ν3。這里,相反地,假設在步驟SllO的時間點,節(jié)點裝置N2和N3間的鏈路發(fā)生故障,在步驟S110(即步驟S830)中節(jié)點裝置N3所發(fā)送的數據幀沒有到達節(jié)點裝置N2。由此,由于節(jié)點裝置N3當然也沒有從節(jié)點裝置N2接收到ACK幀,所以節(jié)點裝置N3在步驟S837中判斷為“發(fā)送失敗”,執(zhí)行步驟S838。也就是說,在步驟SlOl中節(jié)點裝置N1所發(fā)送的數據幀在到達作為⑶的節(jié)點裝置N7之前,在網絡I內消失。并且,對于節(jié)點裝置N2而言,是“當在步驟S102中發(fā)送成功之后,無論從哪個鄰接節(jié)點裝置也不會接收到相同的數據幀”這樣的狀態(tài)。因此,對于節(jié)點裝置N2,沒有被識別為“在作為GD指定了節(jié)點裝置N7時,節(jié)點裝置N2將節(jié)點裝置N3選擇為LD是不合適的”。也就是說,如圖6的例子那樣,節(jié)點裝置N2無法學習為“在作為GD指定了節(jié)點裝置N7時,節(jié)點裝置N2將節(jié)點裝置N6選擇為LD是合適的”。其結果,在節(jié)點裝置N2接收到節(jié)點裝置N7被指定為GD的新的其他的數據幀的情況下(或者節(jié)點裝置N2作為GS發(fā)送這樣的數據幀的情況下),節(jié)點裝置N2選擇節(jié)點裝置N3作為LD0假設在該時間點,節(jié)點裝置N2和N3間的鏈路還未從故障恢復(例如,如果較差的電波狀況還在持續(xù)),則從節(jié)點裝置N2發(fā)送的數據幀不會到達節(jié)點裝置N3。因此,節(jié)點裝置N2無法接收ACK幀,在圖22的步驟S826中判斷為“發(fā)送失敗”。其結果,節(jié)點裝置N2在步驟S828中,在與作為⑶的節(jié)點裝置N7對應的加權表104-h2-N2 (該參照符號與圖6的說明相同)中,使與節(jié)點裝置N2對應的權重變大。并且,節(jié)點裝置N2接著在步驟S829中,再次選擇節(jié)點裝置N6作為LD。這樣,若數據幀在網絡I內的節(jié)點裝置N3中在步驟S838中被廢棄,則作為與廢棄的數據幀有關的OLS的其他節(jié)點裝置N2中的加權表104-h2-N2的學習有時會延遲。
但是,根據上述的例示可知,節(jié)點裝置N2中的學習只是稍微延遲。節(jié)點裝置N2在接收到與之前的數據幀相同地將節(jié)點裝置N7作為GD的下一數據幀之后,通過以該接收為契機的一系列處理,能夠學習合適的權重。也就是說,如果看作為多個數據幀依次流通的網絡I整體的動作,則即使存在由于用于向OLS回溯的數據幀的發(fā)送失敗而導致局部的權重學習延遲的節(jié)點裝置,學習的延遲也能夠迅速地挽回。這里,返回圖23的流程圖的說明。步驟S839在向OLS的數據幀的發(fā)送成功時被執(zhí)行。在步驟S839中,數據幀處理部1 10在加權表104中,使與在步驟S830中發(fā)送的數據幀的⑶和LD的組對應的權重變小。換言之,數據幀處理部110在與接收到的數據幀的GD對應的加權表104-i中,對與發(fā)送的數據幀的LD (即步驟S808或者S810中存儲的0LS)對應的權重進行更新。步驟S839的詳細與步驟S827同樣,因此省略詳細說明,但數據幀處理部110也可以使用例如式(6)來更新權重。數據幀處理部110還在加權表104-i的、更新了權重的項中,對最終更新時刻設定當前時刻。并且,數據幀接收處理結束。接著,參照圖24來詳細說明圖21的步驟S812a的加權表調整處理。另外,圖24的加權表調整處理也在后述的圖27的步驟S1108a中被調用。在圖24的說明中,“選中的加權表104-i”是指,在圖21的步驟S811的檢索或者圖27的步驟S1107的檢索中選中的表。在步驟S851中,數據幀處理部110關注鄰接節(jié)點管理表103 (參照圖9)的第I個項。另外,在以下的圖24的說明中,將數據幀處理部110所關注的鄰接節(jié)點管理表103的項稱為“關注項”。接著,在步驟S852中,數據幀處理部110判斷在選中的加權表104_i中是否存在包含關注項的節(jié)點ID的值作為LD的項。如果在選中的加權表104-i中存在包含關注項的節(jié)點ID的值作為LD的項,則處理進入步驟S855。反之,如果在選中的加權表104_i中不存在包含關注項的節(jié)點ID的值作為LD的項,則處理進入步驟S853。在步驟S853中,數據幀處理部110對選中的加權表104_i追加新項。接著在步驟S854中,數據幀處理部110對在步驟S853中向加權表104_i追加的新項設定值。也就是說,數據幀處理部110在新項中,將鄰接節(jié)點管理表103的關注項的節(jié)點ID的值設定于LD字段,將初始加權值設定于權重字段,將當前時刻設定于最終更新時刻字段。另外,步驟S854中的初始加權值與圖15的步驟S308中的初始加權值不同。具體而言,步驟S854中的初始加權值在選中的加權表104-i的權重字段中是小于I的權重中的
最大值。例如,如果選中的加權表104-i的權重字段中存在4個項,各自的權重字段的值是0.4、0. 7、1和0.5,則步驟5854中的初始加權值是O. 7。另外,在選中的加權表104_i的權重字段的值的全部項為I的情況下,步驟S854中的初始加權值是小于I的任意值,例如可以與圖15的步驟S308中的初始加權值同樣地為O. 5。通過在步驟S854中使用以上那樣的初始加權值,反映于加權表104_i的已有項的學習結果被優(yōu)先考慮。其結果,路徑不會超過需要限度地變動,換言之,路徑穩(wěn)定。
例如,在4個項的權重字段的值分別是O. 4,0. 7、I和O. 5的上述的例子中,在步驟S854中作為初始加權值與圖15的步驟S308同樣地使用O. 5。由此,權重什么也沒有學習到的鄰接節(jié)點裝置(即在步驟S853中被追加的新項中作為LD記錄有節(jié)點ID的鄰接節(jié)點裝置)與權重為O. 7的鄰接節(jié)點裝置相比被優(yōu)先選擇為LD。也就是說,作為到目前為止的學習的積累的權重O. 7被忽略。于是,在該實施方式中,防止了權重什么也沒有學習到的鄰接節(jié)點裝置與權重為學習完畢的鄰接節(jié)點裝置相比被優(yōu)先選擇為LD的情況,為了優(yōu)先考慮到目前為止的學習結果,利用如上述那樣定義的初始加權值。在步驟S855中,數據幀處理部110判斷鄰接節(jié)點管理表103中是否存在還未被關注的項。如果數據幀處理部Iio已經關注了鄰接節(jié)點管理表103的所有項,則圖24的處理結束。另一方面,如果鄰接節(jié)點管理表103中存在還未被數據幀處理部110關注的項,則處理進入步驟S856。
并且,在步驟S856中,數據幀處理部110在鄰接節(jié)點管理表103還未關注的項中關注下一項。并且處理返回步驟S852。另外,圖24的處理的意義如下所述。作為加權表104-i中的每個項的時效處理的副作用,在將要進行圖24的處理之前,存在發(fā)生如下那樣的狀況的可能性。即,具有登記在鄰接節(jié)點管理表103中的某鄰接節(jié)點裝置的節(jié)點ID作為LD的項有可能不存在于加權表104-i中。這里,節(jié)點裝置100的鄰接節(jié)點裝置是發(fā)送數據幀時數據幀處理部110所選擇的LD的潛在的候補。因此,為了節(jié)點裝置100的合適動作,優(yōu)選在選中的加權表104-i的LD字段中包括全鄰接節(jié)點裝置。根據以上的圖24的加權表調整處理,作為時效處理的副作用有可能產生的上述那樣的狀況被解決。也就是說,登記于鄰接節(jié)點管理表103中的所有節(jié)點ID在選中的加權表104-i中被登記為LD的情況被確保。以上,參照圖20 24,對圖14的步驟S205中的數據幀接收處理進行了詳細說明。接著,參照圖25和圖26對與數據幀接收處理的步驟S826和S837中的發(fā)送成功與否的通知相關的處理進行說明。圖25是圖14的步驟S206中的ACK幀接收處理的流程圖。在從幀分支處理部106向ACK處理部107輸出ACK幀時開始圖25的處理。在步驟S901中,ACK處理部107判斷從幀分支處理部106接收的ACK幀的LD的值與自身節(jié)點ID是否相等。如果ACK幀的LD的值與自身節(jié)點ID相等,則處理進入步驟S902,如果ACK幀的LD的值與自身節(jié)點ID不同,則圖25的處理結束。ACK處理部107也能夠參照例如閃存205等中預先保存的自身節(jié)點ID。例如,若如在圖30中如步驟S105a所示那樣,節(jié)點裝置N5在圖6的步驟S105中發(fā)送針對由節(jié)點裝置N4發(fā)送的數據幀的ACK巾貞,則無關的節(jié)點裝置N3也接收ACK巾貞。其原因在于,節(jié)點裝置N3與節(jié)點裝置N5鄰接。但是,作為步驟S901的判斷的結果,節(jié)點裝置N3的ACK處理部107_N3由于立即結束圖25的處理,所以節(jié)點裝置N3不會受到與節(jié)點裝置N3無關的ACK幀的副作用。在步驟S902中,ACK處理部107根據ACK幀的GS和FID的值來確定與ACK幀對應的發(fā)送完畢的數據幀。例如,針對在圖6的步驟S102中由節(jié)點裝置N2向節(jié)點裝置N3發(fā)送的圖7的數據幀303,節(jié)點裝置N3將圖7的ACK幀322向節(jié)點裝置N2返送。這里,如下述那樣詳細說明節(jié)點裝置N2的ACK處理部107-N2以ACK幀322的接收為契機來進行圖25的處理的情況。ACK處理部107-N2在步驟S902中,取出ACK幀322的GS和FID的值(即N1和Fa)。另外,緩沖部109-N2是與圖8同樣的形式,因此在緩沖部109-N2中,保存有從節(jié)點裝置N2發(fā)送完畢的數據幀303。因此,ACK處理部107-N2將取出的GS和FID的值(即N1和Fa)用作關鍵字來檢索緩沖部109-N2的項,并確定包含數據幀303的項。接著,在步驟S903中,ACK處理部107成為能夠將在步驟S902中確定的發(fā)送完畢的數據幀從緩沖部109刪除的狀態(tài)。也就是說,ACK處理部107成為能夠將在步驟S902的檢索中檢索到的項從緩沖部109刪除的狀態(tài)。然后,在經過了規(guī)定時間的時間點,從緩沖部109刪除與ACK幀對應的數據幀。
另外,在步驟S904中,ACK處理部107針對在步驟S902中確定的發(fā)送完畢的數據幀,向數據幀處理部110通知“發(fā)送成功”。并且,圖25的處理結束。例如,數據幀處理部110可以由圖4的MPU201執(zhí)行程序來實現。此時,使MPU201作為數據幀處理部110發(fā)揮功能的線程可以在數據幀的發(fā)送后到接收到ACK幀為止休眠。步驟S904中的“發(fā)送成功”的通知是喚醒休眠中的線程的處理。另外,步驟S904的通知伴隨著在步驟S902中確定的數據幀的GS和FID的值的通知。例如在上述的例子中,ACK處理部107-N2也將用于識別數據幀303的GS和FID的值(即N1和Fa)通知給數據幀處理部110。圖26是表示在到超時時刻為止之前沒有接收到ACK幀時的處理的流程圖。圖26的處理例如以圖4的定時器IC203以規(guī)定的間隔產生的中斷信號為契機被定期執(zhí)行。在步驟S1001中,ACK處理部107關注緩沖部109 (參照圖8)的第I個項。以下在關于圖26的說明中,將ACK處理部107所關注的緩沖部109的項稱為“關注項”。接著在步驟S1002中,ACK處理部107對當前時刻和關注項的超時時刻字段的值進行比較。并且,如果當前時刻在超時時刻之后,則處理進入步驟S1003。另一方面,如果當前時刻還未達到超時時刻,則處理進入步驟S1005。在步驟S1003中,ACK處理部107針對緩沖部109的關注項中保存的數據幀,將“發(fā)送失敗”向數據幀處理部110通知。步驟S1003的通知與圖25的步驟S904的通知同樣,具體而言,例如可以是喚醒休眠中的線程的處理。另外,與步驟S904的通知同樣,步驟S1003的通知也伴隨著數據幀的GS和FID的值的通知。具體而言,ACK處理部107讀取關注項中保存的數據幀的GS和FID的值,利用讀取到的GS和FID的值確定數據幀,并將確定的數據幀的“發(fā)送失敗”向數據幀處理部110通知。另外,在發(fā)送失敗的情況下,數據幀處理部110有時將到目前為止沒有嘗試為LD的鄰接節(jié)點裝置選擇為新的LD來嘗試數據幀的再送。因此,在步驟S1003的時間點,關注項沒有被從緩沖部109刪除。接著在步驟S1004中,ACK處理部107對關注項的超時時刻設定式(5)的時刻Ttim_t。并且,處理進入步驟S1005。
在步驟S1005中,ACK處理部107判斷緩沖部109中是否存在還未被關注的項。如果ACK處理部107已經關注了緩沖部109的所有項,則圖26的處理結束。另一方面,如果緩沖部109中存在還未被ACK處理部107關注的項,則處理進入步驟S1006。在步驟S1006中,ACK處理部107在緩沖部109中關注還未被關注的下一項。并且處理返回步驟S1002。另外,參照圖20 圖23說明過的數據幀接收處理如上述那樣,是節(jié)點裝置100是不作為GS的類型的節(jié)點裝置的情況的例子。以下參照圖27 圖29,對能夠作為GS的類型的節(jié)點裝置所特有的處理進行說明。圖27和圖28是節(jié)點裝置100作為GS發(fā)送數據幀時的發(fā)送處理的流程圖。圖27的處理以從上位層處理部111向數據幀處理部110的要求為契機而開始。在步驟SllOl中,作為上位層處理部111中的上位層的協議處理的結果,數據幀處理部110從上位層處理部111取得數據幀的⑶的值和凈荷。 例如,“上位層的協議”可以是以太網協議。此時,上位層處理部111將以太網幀作為該實施方式中定義的數據幀的凈荷向數據幀處理部110輸出。另外,上位層處理部111將對該實施方式中的數據幀的GD設定的值向數據幀處理部110通知。并且,數據幀處理部110創(chuàng)建包含從上位層處理部111取得的凈荷的新的數據幀,對創(chuàng)建的數據幀的GD設定從上位層處理部111取得的值。例如,在圖6的例子中,節(jié)點裝置N1的數據幀處理部IlO-N1從上位層處理部Ill-N1取得N7作為⑶的值,對數據幀的⑶設定N7。接著,在步驟S1102中,數據幀處理部110求出在步驟SllOl中取得的凈荷的長度,并將其設定在創(chuàng)建的數據幀的長度字段中。例如,在圖6的例子中,如圖7的數據幀302和303所例示的那樣,由于凈荷的長度是Pa,所以節(jié)點裝置N1的數據幀處理部IlO-N1對創(chuàng)建的數據幀的長度字段設定Pa。并且,在步驟SI 103中,數據幀處理部110對創(chuàng)建的數據幀的GS和LS設定自身節(jié)點ID。例如,在圖6的例子中,節(jié)點裝置N1的數據幀處理部IlO-N1對創(chuàng)建的數據幀的GS和LS分別設定K。并且,在步驟SI 104中,數據幀處理部110要求FID創(chuàng)建部113創(chuàng)建新的FID。由此,FID創(chuàng)建部113創(chuàng)建新的FID并向數據幀處理部110輸出,因此數據幀處理部110將創(chuàng)建的FID設定于創(chuàng)建的數據幀的FID字段。并且,在步驟SI 105中,數據幀處理部110將表示“數據幀”的規(guī)定值D (參照圖7)設定于創(chuàng)建的數據幀的類型字段。另外,以上的步驟S1102 S1105的執(zhí)行順序不同。若通過如上的處理創(chuàng)建了發(fā)送的數據幀,則在步驟S1106中,數據幀處理部110將創(chuàng)建的數據幀保存于緩沖部109。S卩,數據幀處理部110在緩沖部109內確保新的項的區(qū)域,在確保的區(qū)域中保存創(chuàng)建的數據幀。另外,如圖8所示,雖然在緩沖部109中存在超時時刻字段,但是在該時間點沒有設定超時時刻。接著在步驟SI 107中,數據幀處理部110在步驟SllOl中,利用由上位層處理部111指定的⑶的值來檢索加權表104。并且在步驟SI 108中,作為步驟SI 107的檢索的結果,數據幀處理部110判斷與指定的GD的值對應的加權表是否選中。在與指定的GD的值對應的加權表選中的情況下,處理進入步驟S1108a,在與指定的GD的值對應的加權表不存在的情況下,處理進入步驟S1009。在步驟SI 108a中,數據幀處理部110進行圖24的加權表調整處理,對時效處理的副作用進行中和。并且,處理進入步驟S1110。在步驟SI 109中,數據幀處理部110將與在步驟SllOl中指定的⑶的值對應的新加權表追加到加權表104中。具體而言,數據幀處理部110在步驟SI 109中進行與圖21的步驟S813 S816類似的處理。S卩,數據幀處理部110在步驟S1109中,追加與由上位層處理部111指定的⑶的值對應的新加權表,在新加權表中,將由上位層處理部111指定的GD的值設定為GD。并且,數據幀處理部110在新加權表內創(chuàng)建與鄰接節(jié)點管理表103數量相同的新項。并且,數據幀處理部110對創(chuàng)建的各項分別設定鄰接節(jié)點管理表103的各項的節(jié)點ID、初始加權值和當前時刻。
另外,以下為了便于說明,用“104-i”這樣的參照符號來參照與在步驟SllOl中指定的GD的值對應的加權表。即,加權表104-i是在步驟SI 107的檢索中選中的表或者在步驟S1109中追加的表。通過以上的處理,在步驟S1108中判斷為加權表104-i選中之后,或者在步驟SI 109中加權表104-i被創(chuàng)建之后,處理進入步驟SI 110。并且,在步驟SI 110中,數據幀處理部110在與由上位層處理部111指定的⑶的值對應的加權表104-i中,取得與最小的權重對應的LD的值。另外,如圖11所例示的那樣,也可能存在在加權表104-i中多個項具有相同的最小的權重的情況。此時,在步驟SlllO中,數據幀處理部110在與最小的權重對應的多個LD的值中選擇并取得任意的I個。另外,在由上位層處理部111指定了 OLS的節(jié)點ID的情況下,取得除了該OLS的節(jié)點ID之外的LD的值。數據幀處理部110將取得的LD的值和對應的權重的值存儲于例如圖4的DRAM204等存儲區(qū)域中。接著,處理進入圖28的步驟S1111,在步驟Sllll中,數據幀處理部110判斷下述2個條件(LI)至(L3)的任意一個是否成立。(LI)與在步驟SlllO中取得的LD的值對應的權重是權重的最大值(該實施方式中具體而目是I. O)。(L2)針對登記于加權表104-i的所有LD的發(fā)送均失敗。(L3)在具有由上層處理部111指定的OLS的情況下,針對登記于加權表104_i中的、除了該指定的OLS之外的所有LD的發(fā)送均失敗。在條件(LI)至(L3)的任意一個成立的情況下,由于已經不存在能夠選擇為LD的鄰接節(jié)點裝置,所以處理進入步驟S1112。另一方面,在條件(LI)至(L3)都不成立的情況下,還存在能夠選擇為LD的鄰接節(jié)點裝置。換言之,對針對數據幀接收處理的步驟S818說明的(Gl) (G3)都不符合的鄰接節(jié)點裝置至少存在I個。并且,能夠選擇為LD的鄰接節(jié)點裝置的節(jié)點ID在步驟SI 110 (或者后述的步驟S1125)中被取得。于是,若在步驟Sllll中判斷為條件(LI)和(L2)都不成立,則處理進入步驟SI 114。在條件(LI)或者(L2)成立的情況下,在步驟SI 112中,數據幀處理部110廢棄數據幀。也就是說,數據幀處理部110將在步驟S1106中新創(chuàng)建并保存有數據幀的項從緩沖部109刪除。并且,接著在步驟S1113中,數據幀處理部110向上位層處理部111通知“發(fā)送失敗”。也就是說,數據幀處理部110向上位層處理部111通知無論對哪個鄰接節(jié)點裝置,數據幀都無法被成功發(fā)送。并且圖27 圖28的處理結束。另一方面,在步驟Sllll中,若判斷為條件(LI)和(L2)都不成立,則嘗試數據幀向由取得完畢的LD的值識別的鄰接節(jié)點裝置轉送的處理在步驟S1114 S1125中被執(zhí)行。在步驟SI 114中,數據幀處理部110對在步驟SI 106中保存于緩沖部109的數據幀的LD設定在步驟SlllO或者后述的步驟S1125中取得的LD的值。并且,數據幀處理部110請求發(fā)送部102發(fā)送設定了 LD的值的數據幀。由此,發(fā)送部102發(fā)送數據幀。接著在步驟SI 115中,數據幀處理部110對在步驟SI 106中保存了數據幀的緩沖部109內的項的超時時刻設定式(5)的時刻Ttim_t。
并且,在步驟SI 116中,數據幀處理部110使用自身節(jié)點ID和在步驟SI 104中由FID創(chuàng)建部113創(chuàng)建的FID來檢索FID管理表105。接著在步驟SI 117中,數據幀處理部110判斷在步驟SI 116的FID管理表105的檢索中項是否選中。另外,在步驟S1117被第I次執(zhí)行時判斷為“項未被選中”,在步驟S1117在第2次以后被執(zhí)行時判斷為“項選中”。如果在步驟S1116的檢索中項選中,則處理進入步驟S1118。另一方面,如果在步驟S1116的檢索中項未被選中,則處理進入步驟S1119。在步驟S1118中,數據幀處理部110對在步驟S1116的檢索中選中的項進行更新。具體而言,數據幀處理部110在步驟S1116的檢索中選中的項中,對LD字段設定在步驟S1114中發(fā)送的數據幀的LD的值,對最終更新時刻字段設定當前時刻。并且,處理進入步驟S1121。另外,在步驟SI 119中,數據幀處理部110對FID管理表105追加新項。并且,在下一步驟S1120中,數據幀處理部110對新項設定值。具體而言,數據幀處理部110在新項中,對FID、GS和LD的各字段分別復制在步驟S1114中發(fā)送的數據幀的值。另外,數據幀處理部110在新項中,對最終更新時刻字段設定當前時刻,對于OLS字段,在由上位層處理部111指定了 OLS的節(jié)點ID的情況下設定指定的節(jié)點ID,在沒有由上位層處理部111指定了 OLS的節(jié)點ID的情況下復制自身節(jié)點ID。例如,圖12所示的節(jié)點裝置N1的FID管理表105_&的項El是節(jié)點裝置N1的數據幀處理部IlO-N1通過以上的處理創(chuàng)建的項。在步驟S1121中,數據幀處理部110等待步驟S1114中的發(fā)送成功與否的通知。步驟SI 121的詳細內容與圖22的步驟S825相同。數據幀處理部110在步驟SI 121中的待機后,若從ACK處理部107接收到“發(fā)送成功”或者“發(fā)送失敗”的通知,則處理進入步驟S1122。在步驟S1122中,數據幀處理部110基于從ACK處理部107接收到的通知,判斷步驟S1114的發(fā)送是否成功。在發(fā)送成功時,處理進入步驟S1123,在發(fā)送失敗時,處理進入步驟 S1124。在發(fā)送成功時,在步驟SI 123中,數據幀處理部110在加權表104中,使與在步驟SI 114中發(fā)送的數據幀的⑶和LD的組對應的權重變小。
也就是說,數據幀處理部110在與由上位層處理部111指定的⑶的值對應的加權表104-i中,例如使用式(6)對與發(fā)送的數據幀的LD對應的權重進行更新。數據幀處理部110還在加權表104-i的更新了權重的項中,對最終更新時刻設定當前時刻。并且,圖27 圖28的處理結束。反之,在發(fā)送失敗時,在步驟SI 124中,數據幀處理部110在加權表104中,使與在步驟S1114中發(fā)送的數據幀的⑶和LD的組對應的權重變大。也就是說,數據幀處理部110在與由上位層處理部111指定的⑶的值對應的加權表104-i中,例如使用式(7)來更新與發(fā)送的數據幀的LD對應的權重。另外,數據幀處理部110在步驟S1124中,還將發(fā)送的數據幀的LD的值在例如圖4的DRAM204等工作區(qū)域中存儲為“發(fā)送失敗的LD”。與圖22的步驟S828同樣,為了存儲“發(fā)送失敗的LD”,可以使用線性列表或數組等數據構造。 另外,數據幀處理部110在步驟S1124中,還在加權表104-i的更新了權重的項中,對最終更新時刻設定當前時刻。并且,處理進入步驟S1125。在步驟SI 125中,數據幀處理部110尋找到目前為止還未被嘗試為LD的其他的能夠選擇的鄰接節(jié)點裝置。具體而言,數據幀處理部110在與由上位層處理部111指定的⑶的值對應的加權表104-i中,在發(fā)送失敗的LD以外的LD中,取得與最小的權重對應的LD的值。這里,發(fā)送失敗的LD在步驟S1124中,例如以線性列表或數組的形式存儲于例如圖4的DRAM204等工作區(qū)域中。也就是說,數據幀處理部110在加權表104-i中,在過去在步驟SlllO或者SI 125中未被取得的LD的值中,取得與最小的權重對應的值。數據幀處理部110將取得的LD的值和對應的權重的值存儲于例如圖4的DRAM204等存儲區(qū)域中。并且,處理返回步驟Sllll。 圖29是能夠作為GS的節(jié)點裝置100作為數據幀接收處理的一部分代替進行圖23的處理的處理的流程圖。在節(jié)點裝置100是能夠作為GS的類型的裝置的情況下,數據幀接收處理中的步驟S801 S829與節(jié)點裝置100是中繼節(jié)點裝置的情況同樣,如圖20 圖22所示那樣。但是,在節(jié)點裝置100是也能夠作為GS的類型的裝置的情況下,若在圖22的步驟S818中數據幀處理部110判斷為“條件(Fl)和(F2)的任意一個成立”,則處理進入圖29的步驟S830a。在步驟S830a中,數據幀處理部110判斷接收到的數據幀的GS的值是否是自身節(jié)點ID。如果接收到的數據幀的GS的值與自身節(jié)點ID不同,則處理進入步驟S830b,如果接收到的數據幀的GS的值是自身節(jié)點ID,則處理進入步驟S830c。在步驟S830b中,數據幀處理部110如下述那樣創(chuàng)建新的數據幀并輸出至發(fā)送部102,發(fā)送部102發(fā)送創(chuàng)建的數據幀。具體而言,數據幀處理部110將在步驟S808或者S810中存儲的OLS的值指定為新的數據幀的LD,將自身節(jié)點ID指定為新的數據幀的LS。另外,數據幀處理部110從接收到的數據幀將GD、GS、FID、類型、長度的各字段的值、和凈荷復制到新的數據幀中。在數據幀的發(fā)送后,處理進入步驟S831a。另外,在步驟S830c中,數據幀處理部110向上位層處理部111通知“發(fā)送失敗”。在通知過程中,數據幀處理部110可以從例如接收到的數據幀中取出上層處理部111的處理所需要的、包含凈荷或者凈荷的一部分的部分數據,并向上位層處理部111輸出。由此,上位層處理部ill能夠基于從數據幀處理部110接收的數據的內容來識別哪個數據的發(fā)送失敗。在發(fā)送失敗的通知后,處理進入步驟S838a。在步驟S831a中,數據幀處理部110將接收到的數據幀的FID和GS的值用作關鍵字來檢索FID管理表105。另外,以下的步驟S831a S839a分別使與圖23的步驟S831 S839類似的步驟。在下一步驟S832a中,作為步驟S831a的檢索的結果,數據幀處理部110判斷項是否選中。如果項選中,則處理進入步驟S833a,如果項未被選中,則處理進入步驟S834a。另外,當在步驟S807中判斷為“項選中”時,作為步驟S831a的檢索的結果而找到的項是作為步驟S806的檢索的結果而找到的項。另外,當在步驟S807中判定為“項未選中”且在步驟S823中創(chuàng)建了新項時,作為步驟S831a的檢索的結果,在步驟S823中創(chuàng)建的新項被找到。在步驟S832a中被判斷為“項未選中”的情況是(Ml)且(M2)的情況。 (Ml)在步驟S807中判斷為“項未選中”。(M2)在步驟S818剛被第I次執(zhí)行后,處理進入步驟S830a。在步驟S833a中,數據幀處理部110對作為步驟S831a的檢索結果而選中的項進行更新。具體而言,數據幀處理部Iio在選中的項中,對LD復制選中的項自身的OLS的值,對最終更新時刻設定當前時刻。并且處理進入步驟S836a。另一方面,在步驟S834a中,數據幀處理部110對FID管理表105追加新項。并且,在下一步驟S835a中,數據幀處理部110對在步驟S834a中追加的新項設定值。具體而言,數據幀處理部110在新項中,對FID和GS分別復制接收到的數據幀的值,對最終更新時刻設定當前時刻,對OLS和LD復制接收到的數據幀的LS的值。并且處理進入步驟S836a。在步驟S836a中,數據幀處理部110等待與在步驟S830b中發(fā)送的數據幀有關的發(fā)送成功與否的通知。并且,如果數據幀處理部Iio從ACK處理部107接收到“發(fā)送成功”或者“發(fā)送失敗”的通知,則處理進入步驟S837a。在步驟S837a中,數據幀處理部110判斷步驟S830b中的數據幀的發(fā)送是否成功。在發(fā)送失敗時,處理進入步驟S838a,在發(fā)送成功時,處理進入步驟S839a。步驟S838a被執(zhí)行的情況是(NI)或者(N2)的情況。(NI)節(jié)點裝置100自身作為GS發(fā)送的數據幀因回溯而返回節(jié)點裝置100并被接收,并且節(jié)點裝置100的所有鄰接節(jié)點裝置都是(Nl-I)或者(N1-2)。(Nl-I)與最大值的權重對應。(N1-2)在指定為LD來發(fā)送數據幀時,發(fā)送失敗。(N2)接收到的數據幀的GS是節(jié)點裝置100以外的其他節(jié)點裝置,并且,OLS以外的所有鄰接節(jié)點裝置是(N2-1)或者(N2-2),并且,向OLS的數據幀的發(fā)送失敗。(N2-1)與最大值的權重對應。(N2-2)在指定為LD來發(fā)送數據幀時,發(fā)送失敗。此時,數據幀處理部110在步驟S838a中廢棄接收到的數據幀。即,數據幀處理部110將在步驟S801中找到的項從緩沖部109刪除。并且,數據幀接收處理結束。另一方面,在針對不是節(jié)點裝置100的其他的節(jié)點裝置是GS的數據幀,從節(jié)點裝置100向節(jié)點裝置100的OLS的發(fā)送成功的情況下執(zhí)行步驟S839a。在步驟S839a中,數據幀處理部110在加權表104中,使與在步驟S830b中發(fā)送的數據幀的⑶和LD的組對應的權重變小。換言之,數據幀處理部110在與接收到的數據幀的GD對應的加權表104-i中,對與發(fā)送的數據幀的LD(即步驟S808或者S810中存儲的0LS)對應的權重進行更新。例如,與步驟S829、S839同樣,數據幀處理部110可以使用式(6)來更新權重。數據幀處理部Iio還在加權表104-i的更新了權重的項中,對最終更新時刻設定當前時刻。并且,數據幀接收處理結束。圖30是表示基于問候幀的收發(fā)的鄰接節(jié)點的識別和圖6的路徑選擇的時序圖。
在圖I的網絡I中,各節(jié)點裝置N1 N7獨立地分別進行圖16的問候幀發(fā)送處理。雖然哪個節(jié)點裝置先發(fā)送問候幀是任意的,但是在圖30的例子中,首先在步驟S1201中,節(jié)點裝置N2執(zhí)行圖16的步驟S403,并發(fā)送問候幀。由此,問候幀分別被與節(jié)點裝置N2鄰接的節(jié)點裝置K、N3、和N6接收。并且,節(jié)點裝置NpN3和N6分別在圖14的步驟S203中調用執(zhí)行圖15的問候幀接收處理,將節(jié)點裝置N2識別為鄰接節(jié)點裝置。另外,在圖30的例子中,接著在步驟S1202中,節(jié)點裝置N4執(zhí)行圖16的步驟S403,并發(fā)送問候幀。由此,問候幀分別被與節(jié)點裝置N4鄰接的節(jié)點裝置乂為和N7接收。并且,節(jié)點裝置N3、N5和N7分別在圖14的步驟S203中調用執(zhí)行圖15的問候幀接收處理,并將節(jié)點裝置N4識別為鄰接節(jié)點裝置。 并且,在步驟S1203中,節(jié)點裝置N3執(zhí)行圖16的步驟S403,發(fā)送圖7的問候幀312。由此,問候幀312分別被與節(jié)點裝置N3鄰接的節(jié)點裝置N2、N4和N5接收。并且,節(jié)點裝置N2、N4和N5分別在圖14的步驟S203中調用執(zhí)行圖15的問候幀接收處理,將節(jié)點裝置N3識別為鄰接節(jié)點裝置。另外,在步驟S1204中,節(jié)點裝置N7執(zhí)行圖16的步驟S403,發(fā)送問候幀。另外,在步驟S1204的時間點,節(jié)點裝置N4和N7間的鏈路還未產生故障。因此,問候幀分別被與節(jié)點裝置N7鄰接的節(jié)點裝置N4和N6接收。并且,節(jié)點裝置N4和N6分別在圖14的步驟S203中調用執(zhí)行圖15的問候幀接收處理,將節(jié)點裝置N7識別為鄰接節(jié)點裝置。另外,在步驟S1205中,節(jié)點裝置N1執(zhí)行圖16的步驟S403,發(fā)送問候幀。由此,問候幀被與節(jié)點裝置N1鄰接的節(jié)點裝置N2接收。并且,節(jié)點裝置N2在圖14的步驟S203中調用執(zhí)行圖15的問候幀接收處理,將節(jié)點裝置N1識別為鄰接節(jié)點裝置。并且,在步驟S1206中,節(jié)點裝置N6執(zhí)行圖16的步驟S403,發(fā)送問候幀。由此,問候幀分別被與節(jié)點裝置N6鄰接的節(jié)點裝置N2和N7接收。并且,節(jié)點裝置N2和N7分別在圖14的步驟S203中調用執(zhí)行圖15的問候幀接收處理,將節(jié)點裝置N6識別為鄰接節(jié)點裝置。并且,在步驟S1207中,節(jié)點裝置N5執(zhí)行圖16的步驟S403,發(fā)送問候幀。由此,問候幀分別被與節(jié)點裝置N5鄰接的節(jié)點裝置N3和N4接收。并且,節(jié)點裝置N3和N4分別在圖14和步驟S203中調用執(zhí)行圖15的問候幀接收處理,將節(jié)點裝置N5識別為鄰接節(jié)點裝置。通過以上的步驟S1201 S1207,圖I和圖6所示的網絡I內的節(jié)點裝置N1 N7分別識別鄰接節(jié)點裝置,對鄰接節(jié)點管理表103-K 103-N7進行更新。另外,如圖15所示,節(jié)點裝置N1 N7以問候幀的接收為契機,根據情況的不同有時對加權表KM-N1 I(M-N7)進行更新。然后,在步驟S1208中節(jié)點裝置N4和N7間的鏈路發(fā)生故障。
另外,與故障的發(fā)生無關,在步驟SlOl中,節(jié)點裝置N1將節(jié)點裝置N2指定為LD來發(fā)送將節(jié)點裝置N7指定為GD的數據幀。也就是說,在步驟SlOl中,節(jié)點裝置N1進行圖27 28的處理。由此,接收到數據幀的節(jié)點裝置N2從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N2發(fā)送ACK幀的處理在圖30中被表現為步驟SlOla。另一方面,節(jié)點裝置N1在圖28的步驟S1121中等待ACK幀的接收。并且,節(jié)點裝置&在接收到在步驟SlOla中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S1121的待機,執(zhí)行步驟S1122和S1123,并結束圖28的處理。另外,如步驟SlOla所示那樣,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N2繼續(xù)進行步驟S804之后的處理,在圖22的步驟S819中,指定節(jié)點裝置N3作為LD來發(fā)送 數據幀。在步驟S819中的發(fā)送相當于圖30的步驟S102。另外,在圖7中,在步驟S102中發(fā)送的數據幀303被例示。由此,接收到數據幀的節(jié)點裝置N3從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N3發(fā)送ACK幀的處理在圖30中被表現為步驟S102a。另外,在圖7中,步驟S102a中發(fā)送的ACK幀322被例示。另一方面,節(jié)點裝置N2在圖22的步驟S825等待ACK幀的接收。并且,節(jié)點裝置N2在接收到在步驟S102a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S825的待機,執(zhí)行步驟S826和S827,并結束圖22的處理。另外,如步驟S102a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N3繼續(xù)執(zhí)行步驟S804之后的處理,在圖22的步驟S819中,指定節(jié)點裝置N4作為LD來發(fā)送數據幀。在步驟S819中的發(fā)送相當于圖30的步驟S103。另外,在圖7中,在步驟S103中發(fā)送的數據幀304被例示。由此,接收到數據幀的節(jié)點裝置N4從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N4發(fā)送ACK幀的處理在圖30中被表現為步驟S103a。另一方面,節(jié)點裝置N3在圖22的步驟S825中等待ACK幀的接收。并且,節(jié)點裝置N3在接收到在步驟S103a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S825的待機,執(zhí)行步驟S826和S827,并結束圖22的處理。另外,如步驟S103a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N4繼續(xù)執(zhí)行步驟S804之后的處理,在圖22的步驟S819中,指定節(jié)點裝置N7作為LD來發(fā)送數據幀。步驟S819中的發(fā)送相當于圖30的步驟S104。但是,在步驟S1208中節(jié)點裝置N4和N7間的鏈路發(fā)生故障,數據幀沒有到達節(jié)點裝置N7。因此,在圖30中,步驟S104的箭頭在途中成為虛線。節(jié)點裝置N4在圖22的步驟S825中等待ACK幀的接收。但是,由于沒有從節(jié)點裝置N7接收到ACK幀,所以節(jié)點裝置N4在定期執(zhí)行的圖26的處理的步驟S1003中,識別為數據幀向節(jié)點裝置N7的發(fā)送失敗。其結果,節(jié)點裝置N4結束步驟S825的待機,依次執(zhí)行步驟S826、S828、S829、S818的處理。并且,節(jié)點裝置N4接著在步驟S819中,將節(jié)點裝置N5指定為LD來發(fā)送數據幀。步驟S819中的發(fā)送相當于圖30的步驟S105。由此,接收到數據幀的節(jié)點裝置N5從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N5發(fā)送ACK幀的處理在圖30中被表現為步驟S105a。另一方面,節(jié)點裝置N4在圖22的步驟S825中等待ACK幀的接收。并且,節(jié)點裝置N4在接收到在步驟S105a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S825的待機,執(zhí)行步驟S826和S827,并結束圖22的處理。另外,如步驟S105a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N5繼續(xù)執(zhí)行步驟S804之后的處理,在圖22的步驟S819中,將節(jié)點裝置N3指定為LD來發(fā)送數據幀。在步驟S819中的發(fā)送相當于圖30的步驟S106。由此,接收到數據幀的節(jié)點裝置N3從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中節(jié)點裝置N3發(fā)送ACK幀的處理在圖30中被表現為步驟S106a。另一方面,節(jié)點裝置N5在圖22的步驟S825中等待ACK幀的接收。并且,節(jié)點裝置N5在接收到在步驟S106a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S825的待機,執(zhí)行步驟S826和S827,并結束圖22的處理。 另外,如步驟S106a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N3繼續(xù)執(zhí)行步驟S804之后的處理,在圖22的步驟S819中,將節(jié)點裝置N5指定為LD來發(fā)送數據幀。在步驟S819中的發(fā)送相當于圖30的步驟S107。由此,接收到數據幀的節(jié)點裝置N5從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N5發(fā)送ACK幀的處理在圖30中表現為步驟S107a。另一方面,節(jié)點裝置N3在圖22的步驟S825中等待ACK幀的接收。并且,節(jié)點裝置N3在接收到在步驟S107a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S825的待機,執(zhí)行步驟S826和S827,并結束圖22的處理。另外,如步驟S107a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N5繼續(xù)執(zhí)行步驟S804之后的處理。具體而言,處理從圖22的步驟S818進入圖23的步驟S830,節(jié)點裝置N5在步驟S830中,將作為OLS的節(jié)點裝置N4指定為LD來發(fā)送數據幀。在步驟S830中的發(fā)送相當于圖30的步驟S108。由此,接收到數據幀的節(jié)點裝置N4從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N4發(fā)送ACK幀的處理在圖30中表現為步驟S108a。另一方面,節(jié)點裝置N5在圖23的步驟S836中等待ACK幀的接收。并且,節(jié)點裝置N5在接收到在步驟S108a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S836的待機,執(zhí)行步驟S837和S839,并結束圖23的處理。另外,如步驟S108a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N4繼續(xù)執(zhí)行步驟S804之后的處理。具體而言,處理從圖22的步驟S818進入圖23的步驟S830,節(jié)點裝置N4在步驟S830中,將作為OLS的節(jié)點裝置N3指定為LD來發(fā)送數據幀。在步驟S830中的發(fā)送相當于圖30的步驟S109。由此,接收到數據幀的節(jié)點裝置N3從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中節(jié)點裝置N3發(fā)送ACK幀的處理在圖30中表現為步驟S109a。另一方面,節(jié)點裝置N4在圖23的步驟S836中等待ACK幀的接收。并且,節(jié)點裝置N4在接收到在步驟S109a中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S836的待機,執(zhí)行步驟S837和S839,并結束圖23的處理。另外,如步驟S109a所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N3繼續(xù)執(zhí)行步驟S804之后的處理。具體而言,處理從圖22的步驟S818進入圖23的步驟S830,節(jié)點裝置N3在步驟S830中,將作為OLS的節(jié)點裝置N2指定為LD來發(fā)送數據幀。步驟S830中的發(fā)送相當于圖30的步驟S110。由此,接收到數據 幀的節(jié)點裝置N2從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中,節(jié)點裝置N2發(fā)送ACK幀的處理在圖30中表現為步驟SllOa。另一方面,節(jié)點裝置N3在圖23的步驟S836中等待ACK幀的接收。并且,節(jié)點裝置N3在接收到在步驟SllOa中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S836的待機,執(zhí)行步驟S837和S839,并結束圖23的處理。另外,如步驟SllOa所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N2繼續(xù)執(zhí)行步驟S804之后的處理,在圖22的步驟S819中,將節(jié)點裝置N6指定為LD來發(fā)送數據幀。在步驟S819中的發(fā)送相當于圖30的步驟Slll。由此,接收到數據幀的節(jié)點裝置N6從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中節(jié)點裝置N6發(fā)送ACK幀的處理在圖30中表現為步驟Sllla。另一方面,節(jié)點裝置N2在圖22的步驟S825中等待ACK幀的接收。并且,節(jié)點裝置N2在接收到在步驟Sllla中發(fā)送的ACK幀時,從圖14的步驟S206調用執(zhí)行圖25的處理,其結果,結束步驟S825的待機,執(zhí)行步驟S826和S827,并結束圖22的處理。另外,如步驟Sllla所示,在圖20的步驟S803中發(fā)送了 ACK幀的節(jié)點裝置N6繼續(xù)執(zhí)行步驟S804之后的處理,在圖22的步驟S819中,將節(jié)點裝置N7指定為LD來發(fā)送數據幀。在步驟S819中的發(fā)送相當于圖30的步驟S112。由此,接收到數據幀的節(jié)點裝置N7從圖14的步驟S205調用執(zhí)行圖20 23的處理。在圖20的步驟S803中節(jié)點裝置N7發(fā)送ACK幀的處理在圖30中表現為步驟S112a。通過以上說明的一系列處理,對于網絡I整體,即使在步驟S1208中發(fā)生故障,作為節(jié)點裝置N1 N7的自主分散協調的結果,動態(tài)路徑<N1; N2, N6, N7>也被選擇,學習被進行。即,通過以上一系列的處理,在節(jié)點裝置N1 N6中,加權表KM-N1 104-N6被更新。因此,在執(zhí)行了步驟S112a之后,作為學習結果,將節(jié)點裝置N7指定為⑶的數據幀從最初開始就高效地被轉送,代替了如圖6那樣在網絡I內中一邊試行錯誤地回溯一邊被轉送的處理。以下列舉一些具體例。(Pl)若節(jié)點裝置N1作為GS向鄰接的節(jié)點裝置N2發(fā)送將節(jié)點裝置N7指定為⑶的數據幀,則節(jié)點裝置N2基于學習到的加權表104-N2,從最初就選擇節(jié)點裝置N6作為LD。并且,數據幀從節(jié)點裝置N6發(fā)送至作為GD的節(jié)點裝置N7。(P2)同樣,在節(jié)點裝置N2作為GS發(fā)送將節(jié)點裝置N7指定為GD的數據幀時,節(jié)點裝置N2也基于學習到的加權表104-N2,從最初就選擇節(jié)點裝置N6作為LD。并且,數據幀從節(jié)點裝置N6發(fā)送至作為⑶的節(jié)點裝置N7。(P3)在節(jié)點裝置N5作為GS發(fā)送將節(jié)點裝置N7指定為GD的數據幀時,節(jié)點裝置N5基于學習到的加權表104-N5,最初將節(jié)點裝置N4選擇為LD,而不是發(fā)生了回溯的節(jié)點裝置N3。以下同樣,節(jié)點裝置N4將節(jié)點裝置N3選擇為LD,節(jié)點裝置N3將節(jié)點裝置N2選擇為LD,節(jié)點裝置N2將節(jié)點裝置N6選擇為LD,節(jié)點裝置N6將節(jié)點裝置N7選擇為LD。(P4)在節(jié)點裝置N3作為GS發(fā)送將節(jié)點裝置N7指定為GD的數據幀時,節(jié)點裝置N3基于學習到的加權表104-N3,將節(jié)點裝置N2選擇為LD。因此,數據幀從最初開始高效地沿著路徑<N3,N2, N6, n7>被轉送。根據以上那樣的實施方式,若如圖6那樣利用回溯在網絡I內試行錯誤且動態(tài)地選擇路徑,則在回溯的過程中經由的各節(jié)點裝置中,以加權表104的權重這樣的形式來學習合適的路徑。因此,在今后發(fā)送同樣地將節(jié)點裝置N7指定為GD的數據幀的情況下,如上述(Pl) (P4)的例子那樣,按照學習的結果來有效地進行路徑選擇?!蠢@行路徑的調查〉在上述構成的網絡(自組織網絡)中,各節(jié)點裝置自主地搜索路徑。這里,實施方式的節(jié)點裝置使用圖10所示的加權表104,按⑶(最終發(fā)送目的地)來管理I個或者多個候補路徑。并且,節(jié)點裝置在接收到要向GD轉送的幀時,利用第I候補的路徑來轉送該幀。此時,如果第I候補的路徑不通,則節(jié)點裝置利用第2候補、第3候補、...來進行轉送處理。因此,實現了較高的數據到達率。
然而,在無線通信中,有時由于噪聲或衰減等的影響,品質暫時劣化,鏈路被切斷。另外,若在通信路徑上新建設建筑物等,則有時也會發(fā)生鏈路被永久遮斷的情況。因此,為了對網絡整體進行管理,網絡管理裝置定期地從全部節(jié)點收集路徑信息,基于各節(jié)點的位置和路徑信息來創(chuàng)建拓撲圖。并且,網絡管理裝置利用拓撲圖來執(zhí)行Ping指令或者traceroute指令等,由此對針對所希望的節(jié)點的路徑進行調查。但是,ping指令和traceroute指令基本上進行各節(jié)點裝置分別選擇了第I候補的路徑時的路徑調查。即,在利用上述指令的流程中,難以進行考慮了繞行路徑的路徑調查。圖31是利用網絡構成的第4例來說明繞行路徑的圖。圖I的網絡4是能夠使用本實施方式的自組織網絡的一例,包含多個節(jié)點裝置。另外,在以下根據網絡拓撲的觀點進行的說明中,有時也將“節(jié)點裝置”簡稱為“節(jié)點”。網絡4內的各節(jié)點裝置被預先分配了由參照符號表示的節(jié)點ID。在圖31中,節(jié)點A F,X,Y,S分別具備參照圖I 圖30說明的節(jié)點裝置的功能。其中,節(jié)點S是具備管理網絡的功能的服務器裝置或者網關裝置。圖31(a)表示通過由各節(jié)點收集路徑信息而創(chuàng)建的拓撲圖。在該例中,節(jié)點S連接著節(jié)點F。另外,節(jié)點F連接著節(jié)點D、Y和E。在節(jié)點S、F間、節(jié)點F、D間、節(jié)點F、Y間,節(jié)點F、E間可以設置I個或者多個節(jié)點。節(jié)點Y還連接著節(jié)點D、E、X。節(jié)點X連接著節(jié)點A、B。并且,節(jié)點A連接著節(jié)點C,節(jié)點B也連接著節(jié)點C。在上述拓撲圖中,例如在節(jié)點F和Y間至少存在有3條路徑。因此,即使節(jié)點F和Y間的3條路徑中的I條發(fā)生了故障,也能夠利用其他的路徑來繼續(xù)進行通信。相應地,在節(jié)點Y和X間,至少在拓撲圖上僅存在I條路徑。因此,若假設如圖31(b)所示那樣節(jié)點Y和X間的鏈路被切斷,則節(jié)點A C、X無法與其他的節(jié)點進行通信,存在隔離的可能性。其中,上述拓撲圖例如通過收集表示各節(jié)點的第I候補的路徑的路徑信息來創(chuàng)建。因此,該拓撲圖并不一定表示所有的路徑。即,雖然在拓撲圖上不存在,但是有可能如圖31 (c)所示那樣在節(jié)點D和X間存在有繞行路徑。此時,即使節(jié)點Y和X間的鏈路被切斷,節(jié)點A C、X也能夠與其他的節(jié)點進行通信。一般要求網絡管理者事先防止產生圖31(b)所示那樣的隔離節(jié)點。因此,網絡管理者調查針對節(jié)點Y和X間的路徑是否存在繞行路徑,在這樣的繞行路徑不存在時,實施追加新的節(jié)點等的對策。于是,在實施方式涉及的繞行路徑調查中,針對所希望的路徑,調查繞行路徑是否存在。此時,網絡管理者例如參照上述那樣的拓撲圖來提取有可能導致節(jié)點隔離的路徑,并對該路徑輸入調查繞行路徑的有無的意思的指示。由此,通過實施方式的繞行路徑調查方法來判定繞行路徑的有無。另外,在節(jié)點數非常多的大規(guī)模的網絡中,路徑信息的收集和拓撲圖的創(chuàng)建需要較長的時間。例如,假設節(jié)點數是1000萬個,用于從I個節(jié)點取得路徑信息的時間為O. I秒。此時,為了從所有節(jié)點收集路徑信息來創(chuàng)建拓撲圖,需要大約12天。由此,由拓撲圖表現的路徑狀態(tài)可能與當前的路徑狀態(tài)不同。尤其是在無線網絡中,由于電波環(huán)境的變化等,由拓撲圖表現的路徑狀態(tài)與當前的路徑狀態(tài)不同的可能性變高。這意味著針對所希望的路徑來調查繞行路徑是否存在的處理很重要。圖32是說明在網絡4中調查繞行路徑的方法的概要的圖。這里,網絡管理者將用于調查繞行路徑的指示輸入節(jié)點裝置S。另外,針對節(jié)點Y和X間的路徑(以下是路徑YX)調查繞行路徑是否存在。此時,實施方式的繞行路徑調查方法例如按以下的順序實施。另夕卜,在圖32中,連接節(jié)點間的實線表示通過收集路徑信息而檢測到的路徑,連接節(jié)點間的虛線(在圖32中描繪在節(jié)點D和A間)表示根據路徑信息的收集沒有檢測到的路徑。 (I)網絡管理者參照拓撲圖來提取有可能導致節(jié)點隔離的路徑。以下有時將該路徑稱為“調查對象路徑”。在圖32所示的例子中,路徑YX是作為調查對象路徑而被提取的路徑。并且,網絡管理者對節(jié)點裝置S輸入在調查對象路徑的兩端的節(jié)點中指定距離節(jié)點裝置S較遠的節(jié)點的繞行路徑調查指示。在該例中,指定節(jié)點X的繞行路徑調查指示被輸入。另外,網絡管理者也可以在繞行路徑調查指示中指定調查對象路徑(該例中是路徑YX)來代理指定節(jié)點。此時,節(jié)點裝置S能夠基于節(jié)點Y和節(jié)點X的位置來檢測距離節(jié)點裝置S較遠的節(jié)點。(2)節(jié)點裝置S在被輸入了繞行路徑調查指示時,作為調查要求節(jié)點裝置進行動作。以下將節(jié)點裝置S稱為“調查要求節(jié)點裝置S”。調查要求節(jié)點裝置S對由繞行路徑調查指示指定的節(jié)點發(fā)送要求進行繞行路徑調查的幀。在該例中,對節(jié)點X發(fā)送要求進行繞行路徑調查的幀。將該要求進行繞行路徑調查的幀在之后的說明中表現為“調查要求幀”。另外,調查要求幀例如作為參照圖7說明的數據幀的I個而被傳輸。(3)節(jié)點裝置X在接收到調查要求幀時,作為調查執(zhí)行節(jié)點裝置進行動作。以下將節(jié)點裝置X稱為“調查執(zhí)行節(jié)點裝置X”。調查執(zhí)行節(jié)點裝置X對調查要求幀的OLS (原始發(fā)送源鄰接節(jié)點)進行檢測。OLS在節(jié)點裝置最初接收到某幀時,意味著發(fā)送了該幀的鄰接節(jié)點。這里,在實施方式涉及的網絡中,調查要求幀基本上通過由各節(jié)點裝置選擇第I候補的路徑而被傳輸至調查執(zhí)行節(jié)點裝置X。因此,在圖32所示的例子中,調查要求幀的OLS是節(jié)點Y。并且,調查執(zhí)行節(jié)點裝置X存儲調查要求幀的0LS。(4)調查執(zhí)行節(jié)點裝置X將在網絡4內最初發(fā)送了調查要求幀的調查要求節(jié)點裝置S作為最終發(fā)送目的地來發(fā)送調查幀。此時,調查執(zhí)行節(jié)點裝置X在調查執(zhí)行節(jié)點裝置X的鄰接節(jié)點中對調查要求幀的OLS以外的鄰接節(jié)點發(fā)送調查幀。在圖32所示的例子中,調查執(zhí)行節(jié)點裝置X的鄰接節(jié)點是節(jié)點Y、A和B。這里,節(jié)點Y是調查要求幀的0LS。因此,在這種情況下,調查執(zhí)行節(jié)點裝置X將調查要求節(jié)點裝置S作為最終發(fā)送目的地,向節(jié)點A和節(jié)點B發(fā)送用于調查繞行路徑的幀。將該用于調查繞行路徑的幀在之后的說明中表現為“調查幀”。另外,調查幀例如作為參照圖7說明的數據幀的I個而被傳輸。
(5a)調查要求節(jié)點裝置S在接收到調查幀時,判定為對于路徑YX存在繞行路徑。即,調查幀如上述那樣,被從調查執(zhí)行節(jié)點裝置X向調查要求幀的OLS以外的鄰接節(jié)點發(fā)送。在圖32所示的例子中,調查幀不是從調查執(zhí)行節(jié)點裝置X向節(jié)點Y發(fā)送,而是向節(jié)點A、B發(fā)送。因此,由調查要求節(jié)點裝置S接收的調查幀應該從調查執(zhí)行節(jié)點裝置X經由路徑YX以外的路徑而被傳輸并到達調查要求節(jié)點裝置S。因此,調查要求節(jié)點裝置S在接收到調查幀時,能夠判定為對于路徑YX存在繞行路徑。另外,在圖32所示的例子中,從調查執(zhí)行節(jié)點裝置X發(fā)送的調查幀經由節(jié)點A和節(jié)點D到達調查要求節(jié)點裝置S。然后,調查要求節(jié)點裝置S向調查執(zhí)行節(jié)點裝置X發(fā)送與調查幀對應的接收響應幀。(5b)調查要求節(jié)點裝置S在從發(fā)送了調查要求幀時開始在規(guī)定時間內沒有接收到調查幀時,判定為對于路徑YX不存在繞行路徑。另外,在判定為繞行路徑不存在時,網絡管理者能夠研究用于實現繞行路徑的中繼節(jié)點的設置。
·
(6a)調查執(zhí)行節(jié)點裝置X在從調查要求節(jié)點裝置S接收到與調查幀對應的接收響應幀時,判定為調查幀向調查要求節(jié)點裝置S的發(fā)送成功。即,調查執(zhí)行節(jié)點裝置X判定為與調查要求節(jié)點裝置S之間存在繞行路徑。(6b)調查執(zhí)行節(jié)點裝置X在沒有從調查要求節(jié)點裝置S接收到與調查幀對應的接收響應幀時,判定為調查幀向調查要求節(jié)點裝置S的發(fā)送失敗。此時,調查執(zhí)行節(jié)點裝置X判定為與調查要求節(jié)點裝置S之間不存在繞行路徑。這樣,在實施方式的繞行路徑調查方法中,調查要求節(jié)點裝置S能夠對與調查執(zhí)行節(jié)點裝置X之間的繞行路徑的有無進行調查,并且調查執(zhí)行節(jié)點裝置X也能夠對與調查要求節(jié)點裝置S之間的繞行路徑的有無進行調查。即,在前者的情況下,節(jié)點裝置S將節(jié)點裝置X作為調查對象節(jié)點裝置來進行繞行路徑調查。另外,在后者的情況下,節(jié)點裝置X將節(jié)點裝置S作為調查對象節(jié)點裝置來進行繞行路徑調查。其中,在實施方式的說明中,為了便于說明,將創(chuàng)建調查要求幀來發(fā)送的節(jié)點裝置稱為“調查要求節(jié)點裝置”,將根據調查要求幀創(chuàng)建調查幀來發(fā)送的節(jié)點裝置稱為“調查執(zhí)行節(jié)點裝置”。上述的調查要求節(jié)點裝置和調查執(zhí)行節(jié)點裝置的動作例如由圖3所示的上位層處理部111來實現。上位層處理部111為了執(zhí)行上述的繞行路徑調查,具備要求幀發(fā)送部11 la、判定部11 lb、響應幀發(fā)送部111C、檢測部11 Id、調查幀發(fā)送部11 Ie和判定部11 If。要求中貞發(fā)送部11 la、判定部11 lb、響應巾貞發(fā)送部111c、檢測部11 Id、調查巾貞發(fā)送部I lie、判定部Illf例如通過執(zhí)行軟件程序來實現。其中,要求幀發(fā)送部111a、判定部111b、響應幀發(fā)送部111c、檢測部llld、調查幀發(fā)送部Ille和判定部Illf的一部分或者全部可以由硬件電路來實現。在節(jié)點裝置作為調查要求節(jié)點裝置(圖32中為節(jié)點裝置S)進行動作時,上位層處理部111具備要求幀發(fā)送部11 Ia和判定部111b。要求幀發(fā)送部Illa根據來自網絡管理者的輸入,將調查執(zhí)行節(jié)點裝置(圖32中為節(jié)點裝置X)作為最終發(fā)送目的地,對調查執(zhí)行節(jié)點裝置發(fā)送要求調查幀的發(fā)送的調查要求幀。調查要求幀要求調查執(zhí)行節(jié)點裝置向在調查執(zhí)行節(jié)點裝置的鄰接節(jié)點中中繼了調查要求幀的發(fā)送源鄰接節(jié)點以外的鄰接節(jié)點發(fā)送將調查要求節(jié)點裝置作為最終發(fā)送目的地的調查幀。因此,調查執(zhí)行節(jié)點裝置在接收到調查要求幀時,根據該要求發(fā)送調查幀。并且,判定部Illb在接收到從調查執(zhí)行節(jié)點裝置發(fā)送的調查幀時,判定為與調查執(zhí)行節(jié)點裝置之間存在繞行路徑。
另外,在節(jié)點裝置作為調查要求節(jié)點裝置進行動作時,上位層處理部111也可以具備響應幀發(fā)送部111c。此時,響應幀發(fā)送部Illc在接收到調查幀時,對調查執(zhí)行節(jié)點裝置發(fā)送接收響應幀。另一方面,在節(jié)點裝置作為調查執(zhí)行節(jié)點裝置(圖32中為節(jié)點裝置X)進行動作時,上位層處理部111具備檢測部llld、調查幀發(fā)送部Ille和判定部Illf。檢測部Illd在接收到從幀發(fā)送源節(jié)點裝置(圖32中為節(jié)點裝置S)發(fā)送的第I幀時,檢測中繼了該第I幀的發(fā)送源鄰接節(jié)點。調查幀發(fā)送部Ille將以幀發(fā)送源節(jié)點裝置為最終發(fā)送目的地的第2幀向由檢測部Illd檢測到的發(fā)送源鄰接節(jié)點以外的鄰接節(jié)點發(fā)送。并且,判定部Illf在第2幀的發(fā)送失敗時,判定為與幀發(fā)送源節(jié)點裝置之間不存在繞行路徑。這里,第I幀、第2幀分別相當于調查要求幀、調查幀。另外,“第2幀的發(fā)送失敗”在該例中意味著第2幀沒有到達幀發(fā)送源節(jié)點裝置。此時,第2幀的發(fā)送的成功/失敗例如基于來自幀發(fā)送源節(jié)點裝置的響應的有無而被識別。另外,上位層處理部111在由判定部Illf判定為“與幀發(fā)送源節(jié)點裝置之間不存在繞行路徑”時,可以將該判定結果向幀發(fā)送源節(jié)點裝置通知。另外,在節(jié)點裝置作為調查要求節(jié)點裝置進行動作時,上位層處理部111也可以 不具備檢測部llld、調查幀發(fā)送部Ille和判定部lllf。另外,在節(jié)點裝置作為調查執(zhí)行節(jié)點裝置進行動作時,上位層處理部111也可以不具備要求幀發(fā)送部111a、判定部Illb和響應幀發(fā)送部111c。其中,各節(jié)點裝置分別有被指定為調查執(zhí)行節(jié)點裝置的可能性。因此,各節(jié)點裝置的上位層處理部111雖然沒有被特別限定,但是優(yōu)選具備檢測部llld、調查幀發(fā)送部Ille和判定部lllf。另一方面,調查要求節(jié)點裝置例如由作為網絡管理涉及的服務器裝置而動作的節(jié)點裝置實現。因此,要求幀發(fā)送部111a、判定部Illb和響應幀發(fā)送部Illc例如可以僅在服務器裝置中設置。圖33是表示調查要求節(jié)點裝置的動作的流程圖。該處理例如在由網絡管理者輸入了繞行路徑調查指示時被執(zhí)行。繞行路徑調查指示在該例中用于指示調查執(zhí)行節(jié)點裝置。在步驟S1401中,上位層處理部111對繞行路徑調查涉及的各種變量進行初始化。例如,在得到來自調查執(zhí)行節(jié)點裝置的響應之前以規(guī)定次數反復發(fā)送調查要求幀的情況下,對調查要求幀的發(fā)送次數進行計數的變量被初始化。在步驟S1402中,要求幀發(fā)送部Illa將表示繞行路徑調查要求的數據(inspection request)創(chuàng)建成調查要求巾貞的凈荷,將調查執(zhí)行節(jié)點裝置指定為⑶來提供給數據幀處理部110。由此,按照上述的圖27所示的流程圖,例如在圖32所示的例子中,設定節(jié)點F與節(jié)點S鄰接,當在圖27的流程圖的步驟SlllO中取得了節(jié)點F時,創(chuàng)建并發(fā)送具有圖7所示格式的以下那樣的調查要求幀。LD FLS : SGD XGS SFID :節(jié)點裝置S所管理的唯一的值(例如序列號)類型D (數據)
長度凈荷的長度凈荷表示繞行路徑調查要求的數據(inspection request)另外,在本實施方式中,對凈荷中插入了” inspection request”這一字符串本身時識別為調查要求幀的例子進行了說明,但是也可以是包含表示繞行路徑調查要求的特定的數值或字符的識別碼。并且,要求幀發(fā)送部Illa使進行針對調查要求幀的響應幀的接收的超時監(jiān)視的定時器開始計時。并且,將該調查執(zhí)行節(jié)點裝置的節(jié)點ID和超時監(jiān)視開始時刻對應地存儲于調查歷史表112。另外,各節(jié)點裝置在從鄰接節(jié)點接收到幀時,如參照圖I 圖30說明的那樣,基于該接收幀的幀頭自主地選擇路徑來進行轉送處理。由此,從調查要求節(jié)點裝置發(fā)送的調查 要求幀被轉送至被指定為GD的調查執(zhí)行節(jié)點裝置。并且,后面參照圖34進行了說明,調查執(zhí)行節(jié)點裝置在接收到調查要求幀時,將調查要求節(jié)點裝置作為GD來發(fā)送調查幀。調查幀是數據幀的I個,具有圖7所示的格式。在步驟S1403中,判定部Illb等待上述定時器的超時、以及來自調查執(zhí)行節(jié)點裝置的數據幀的接收的任意一種情況的發(fā)生。來自調查執(zhí)行節(jié)點裝置的數據幀在該例中表示設定于接收幀的幀頭的“GS”是調查執(zhí)行節(jié)點裝置、設定于接收幀的幀頭的“GD”是調查要求節(jié)點裝置的、從調查執(zhí)行節(jié)點裝置發(fā)送的調查幀或者調查響應幀。在接收幀的類型是“數據”時,在如圖14所示的流程圖中,執(zhí)行步驟S205的數據幀接收處理。在數據幀接收處理中,如圖20所示,如果設定于接收幀的GD是自己本身(即調查要求節(jié)點裝置),則通過步驟S805的處理,接收幀被提供給上位層處理部111。通過將這樣提供給上位層處理部111的接收幀的幀頭所設定的GS與存儲于調查歷史表112的調查執(zhí)行節(jié)點裝置的節(jié)點ID進行比較,判定部Illb對來自調查執(zhí)行節(jié)點裝置的數據幀的接收進行檢測。另外,定時器的計時期間雖然依賴于網絡的規(guī)模,但是相對于被預計為幀被傳輸至任意的節(jié)點所需要的時間被設定成足夠長的期間(例如30秒左右)。并且,在檢測到定時器的超時、或者來自調查執(zhí)行節(jié)點裝置的數據幀的接收時,處理進入步驟S1403。在步驟S1404中,判定部Illb判定在步驟S1403中檢測到的是否是來自調查執(zhí)行節(jié)點裝置的數據幀的接收。當在S1403中檢測到來自調查執(zhí)行節(jié)點裝置的數據幀的接收時,在步驟S1404中,判定部Illb判定為在步驟S1403中檢測到的是來自調查執(zhí)行節(jié)點裝置的數據幀的接收(S1404:是),處理進入步驟S1405。另一方面,當在步驟S1403中檢測到超時時,判定部Illb判定為在步驟S1403中檢測到的不是來自調查執(zhí)行節(jié)點裝置的數據幀的接收(S1404 :否),處理進入步驟S1408。在步驟S1405中,上位層處理部111的判定部Illb解讀接收幀的凈荷。并且,在步驟S1406中,判定部Illb根據在步驟S1405中解讀的凈荷是否是表示繞行路徑調查的數據(inspection)來判定接收巾貞是否是調查巾貞。當在步驟S1405中解讀的凈荷是表示繞行路徑調查的數據(inspection)的情況下,判定部Illb在步驟S1406中判定為接收幀是調查幀(步驟S1406 :是),處理進入步驟S1407。在步驟S1407中,判定部Illb判定為與調查執(zhí)行節(jié)點裝置之間存在繞行路徑。并且,判定部Illb輸出表示存在繞行路徑的信息。另一方面,當在步驟S1405中解讀的凈荷不是表示繞行路徑調查的數據(inspection)的情況下,在步驟S1406中,判定部111判定為接收巾貞不是調查中貞(S1406 否),處理進入步驟S1409。在步驟S1409中,判定部Illb根據在步驟S1405中解讀的凈荷是否是表示不存在繞行路徑的數據(dead end),來判定接收幀是否是調查結果幀。當在步驟S1405中解讀的凈荷是表示不存在繞行路徑的數據(dead end)時,在步驟S1409中,判定部Illb判定為接收幀是調查結果幀(步驟S1407 :是),處理進入步驟S1410。當在步驟S1405中解讀的凈荷不是表示不存在繞行路徑的數據(dead end)時,在步驟S1409中,判定部Illb判定為接收幀不是調查結果幀(步驟S1409 :否),處理返回步驟 S1403。在步驟S1410中,判定部Illb判定為與調查執(zhí)行節(jié)點裝置之間不存在繞行路徑。并且,判定部Illb輸出表示不存在繞行路徑的信息,圖33的處理結束。 判定部Illb的判定結果例如顯示于與調查要求節(jié)點裝置或者調查要求節(jié)點連接的服務器計算機的顯示裝置?;蛘?,判定部Illb的判定結果保存于與調查要求節(jié)點裝置或者調查要求節(jié)點連接的服務器計算機所具備的存儲裝置中。另外,可以構成為,將該判定結果、判定理由以及判定時的時刻與調查執(zhí)行節(jié)點裝置的節(jié)點ID對應地存儲于調查歷史表112,或者,從調查歷史表112刪除該調查執(zhí)行節(jié)點裝置的節(jié)點ID以及與該節(jié)點ID對應存儲的數據。通過這樣構成,例如在一次要求針對多個節(jié)點裝置進行繞行路徑的調查的情況下,能夠將步驟S1403中的、要與接收幀的GS進行比較的調查歷史表112所存儲的調查執(zhí)行節(jié)點裝置的節(jié)點ID的候補縮小為繞行路徑的調查結果未判定的候補。在步驟S1408中,響應幀發(fā)送部Illc將表示繞行路徑調查結束指示的數據(abort)創(chuàng)建成接收響應幀的凈荷,將調查執(zhí)行節(jié)點裝置指定為GD,并向數據幀處理部110提供。由此,按照上述的圖27所示的流程圖,例如在圖32所示的例子中,設定節(jié)點F與節(jié)點S鄰接,當在圖27的流程圖的步驟SlllO中取得了節(jié)點F時,創(chuàng)建并發(fā)送具有圖7所示格式的下述那樣的接收響應幀。LD FLS SGD XGS SFID :節(jié)點裝置S所管理的唯一的值(例如序列號)類型D (數據)長度凈荷的長度凈荷表示繞行路徑調查結束指示的數據(abort)另外,在本實施方式中,對在凈荷中插入了” abort”這一字符串本身時識別為接收響應幀的例子進行了說明,但是也可以是包含表示繞行路徑調查結束指示的特定的數值或字符的識別碼。并且圖33的處理結束。這樣,調查要求節(jié)點裝置向調查執(zhí)行節(jié)點裝置發(fā)送調查要求幀,根據是否接收到作為其響應的調查幀,來調查與調查執(zhí)行節(jié)點裝置之間是否存在繞行路徑。由此,網絡管理者能夠針對所希望的路徑(尤其是I個可能由于鏈路切斷而導致節(jié)點隔離的路徑)容易地了解繞行路徑的有無。因此,能夠預先防止節(jié)點的隔離。圖34是表示調查執(zhí)行節(jié)點裝置的動作的流程圖。該處理例如在從鄰接節(jié)點接收到幀時被執(zhí)行。在步驟S1301中,上位層處理部111在接收到數據幀時,判定接收幀是否是調查要求幀。調查要求幀在該例中如參照圖33所說明的那樣,作為數據幀被傳輸。因此,如果接收幀的類型是“數據”,則在圖14所示的流程圖中執(zhí)行步驟S205的數據幀接收處理。在數據幀接收處理中,如圖20所示,如果接收幀的GD是自己本身(即調查執(zhí)行節(jié)點裝置),則執(zhí)行步驟S805,接收幀被提供給上位層處理部111。并且,上位層處理部111對該接收幀的凈荷進行解讀,檢查是否是表示繞行路徑調查要求的數據(inspection request),由此檢查接收幀是否是調查要求幀。并且,在上位層處理部111判定為接收幀是調查要求幀時(S1301 是),處理進入步驟S1302。另一方面,在上位層處理部111判定為接收幀是調查要求幀時(S1301 :是),圖34的處理結束。 在步驟S1302中,檢測部Illd檢測接收到的調查要求幀的OLS(原始發(fā)送源鄰接節(jié)點)。調查要求幀的OLS在最初接收到該調查要求幀時表示發(fā)送了該調查要求幀的鄰接節(jié)點。另外,接收幀的發(fā)送源鄰接節(jié)點由設定于接收幀的幀頭的“LS”識別。在圖32所示的例子中,調查執(zhí)行節(jié)點裝置X的檢測部IIld將節(jié)點Y檢測為調查要求幀的0LS。并且,檢測部Illd將設定于調查要求幀的幀頭的GS(調查要求節(jié)點裝置的節(jié)點ID)和檢測到的調查要求幀的OLS保存于調查表112中。在步驟S1307中,調查幀發(fā)送部Ille將表示繞行路徑調查的數據(inspection)創(chuàng)建為調查幀的凈荷,指定GD、0LS并向數據幀處理部110提供。該調查幀的最終發(fā)送目的地(GD)是作為設定于調查要求幀的GS的調查要求節(jié)點裝置。另外,OLS是在步驟S1302中保存于調查歷史表112中的調查要求幀的0LS。由此,按照上述的圖27所示的流程圖,例如在圖32所示的例子中,當在圖27的流程圖的步驟SlllO中取得了節(jié)點A時,創(chuàng)建并發(fā)送具有圖7所示格式的下述那樣的調查幀。LD ALS X⑶SGS XFID :節(jié)點裝置X所管理的唯一的值(例如序列號)類型D (數據)長度凈荷的長度凈荷表示繞行路徑調查的數據(inspection)另外,在本實施方式中,對在凈荷中插入了” inspection”這一字符串本身時識別為調查幀的例子進行了說明,但是也可以是包含表示繞行路徑調查的特定的數值或字符的識別碼。由于已經對數據幀處理部110的動作進行了說明,所以這里省略詳細說明,當在調查要求節(jié)點裝置和調查執(zhí)行節(jié)點裝置之間存在將調查要求幀向調查執(zhí)行節(jié)點裝置發(fā)送了的調查執(zhí)行節(jié)點裝置的鄰接節(jié)點裝置、和繞行與調查執(zhí)行節(jié)點裝置間的路徑(鏈路)的繞行路徑時,該調查幀經由該繞行路徑被傳輸至調查要求節(jié)點裝置。并且,在調查要求節(jié)點裝置接收到該調查幀時,在圖33的步驟S1404中判定為“是”。由此,通過調查要求節(jié)點裝置,在圖33的步驟S1407之后的處理中,發(fā)送將調查要求節(jié)點裝置作為發(fā)送源(GS)、將調查執(zhí)行節(jié)點裝置作為最終發(fā)送目的地(GD)的接收響應幀。接收響應幀如上述那樣包含表示繞行路徑調查結束指示的數據。在步驟S1308中,調查幀發(fā)送部Ille等待來自調查要求節(jié)點裝置的數據幀的接收、和調查幀的發(fā)送失敗的通知的任意一種的情況的發(fā)生。來自調查要求節(jié)點裝置的數據幀在該例中表示“GS”是調查要求節(jié)點裝置、“GD”是調查執(zhí)行節(jié)點裝置的接收響應巾貞。在接收幀的類型是“數據”時,在圖14所示的流程圖中,執(zhí)行步驟S205的數據幀接收處理。在數據幀接收處理中,如圖20所示,如果接收幀的GD是自己本身(即調查要求節(jié)點裝置),則通過步驟S805的處理,接收幀被提供給上位層處理部111。通過將這樣提供給上位層處理部111的接收幀的GS與存儲于調查歷史表112的調查要求節(jié)點裝置的節(jié)點ID進行比較,判定部Illb對來自調查要求節(jié)點裝置的數據幀的接收進行檢測。
另外,調查幀的發(fā)送失敗的通知在不存在繞行路徑的情況下,表示由圖28所示的流程圖的步驟S1113、圖29所示的流程圖的步驟S830c的處理通知的調查幀的發(fā)送失敗的通知。并且,若檢測到來自調查要求節(jié)點裝置的數據幀的接收、或者調查幀的發(fā)送失敗的通知,則處理進入步驟S1309。在步驟S1309中,判定部Illf檢查在步驟S1308中檢測到的是否是來自調查要求節(jié)點裝置的數據幀。當在S1308中檢測到來自調查要求節(jié)點裝置的數據幀的接收時,在步驟S1305中,判定部Illf判定為在步驟S1304中檢測到的是來自調查要求節(jié)點裝置的數據幀(S1305 :是),處理進入步驟S1311。在步驟S1311中,判定部Illf對接收幀的凈荷進行解讀。并且,在步驟S1312中,判定部Illf根據在步驟S1311中解讀到的凈荷是否是表示繞行路徑調查結束指示的數據(abort)來檢查接收幀是否是接收響應幀。當在步驟S1311中解讀到的凈荷是表示繞行路徑調查結束指示的數據(abort)時,判定部Illf在步驟1312中判定為接收幀是接收響應幀(步驟S1312 :是),圖34的處理結束。這里,接收響應幀在調查幀到達調查要求節(jié)點裝置時被創(chuàng)建。即,當在調查要求節(jié)點裝置和調查執(zhí)行節(jié)點裝置之間存在將調查要求幀向調查執(zhí)行節(jié)點裝置發(fā)送了的調查執(zhí)行節(jié)點裝置的鄰接節(jié)點裝置、和繞行與調查執(zhí)行節(jié)點裝置之間的路徑(鏈路)的繞行路徑時,創(chuàng)建接收響應幀。因此,判定部Illf在接收到接收響應幀時,判定為存在繞行路徑。另一方面,當在S1308中檢測到調查幀的發(fā)送失敗的通知時,在步驟S1309中,判定部Illf判定為在步驟S1308中檢測到的不是來自調查要求節(jié)點裝置的數據幀(S1309 否),處理進入步驟S1313。在步驟S1313中,判定部Illf判定為與調查要求節(jié)點裝置之間不存在繞行路徑。并且,判定部Illf輸出表示不存在繞行路徑的信息。在步驟S1314中,判定部11 If將表示不存在繞行路徑的數據(dead end)創(chuàng)建為調查結果幀的凈荷,并指定⑶來向數據幀處理部110提供。該調查幀的最終發(fā)送目的地(⑶)是調查要求節(jié)點裝置。
由此,按照上述的圖27所示的流程圖,創(chuàng)建并發(fā)送調查幀。調查結果幀在該例中在判定為不存在繞行路徑時被發(fā)送。因此,在圖27所示的流程圖的步驟SlllO中,由接收到調查要求幀時的OLS識別的節(jié)點被取得為LD。并且,例如,在圖32所示的例子中,在步驟SlllO中取得節(jié)點Y,創(chuàng)建并發(fā)送具有圖7所示格式的下述那樣的調查幀。LD YLS Χ⑶SGS XFID :節(jié)點裝置X所管理的唯一的值(例如序列號)
類型D (數據)長度凈荷的長度凈荷表示不存在繞行路徑的數據(dead end)另外,在本實施方式中,對在凈荷中插入了 “dead end”這一字符串本身時識別為調查結果幀的例子進行了說明,但是也可以是包含表示不存在繞行路徑的特定的數值或字符的識別碼。并且圖34的處理結束。另外,在該結束時,可以構成為,判定部Illf將該判定結果、判定理由以及判定時的時刻與調查要求節(jié)點裝置的節(jié)點ID對應地存儲于調查歷史表112中,或者從調查歷史表112刪除該調查要求節(jié)點裝置的節(jié)點ID和與該節(jié)點ID對應存儲的數據。通過這樣構成,例如在從多個節(jié)點裝置接收到繞行路徑的調查要求時,能夠將步驟S1301中的、要與接收幀的GS進行比較的調查歷史表112所存儲的調查要求節(jié)點裝置的節(jié)點ID的候補縮小成繞行路徑的調查結果未判定的候補。并且,調查要求節(jié)點裝置在接收到調查結果幀時,識別為在調查要求節(jié)點裝置和調查執(zhí)行節(jié)點裝置之間不存在將調查要求幀向調查執(zhí)行節(jié)點裝置發(fā)送了的調查執(zhí)行節(jié)點裝置的鄰接節(jié)點裝置、和繞行與調查執(zhí)行節(jié)點裝置之間的路徑(鏈路)的繞行路徑。另外,調查要求節(jié)點裝置以及調查執(zhí)行節(jié)點裝置以外的節(jié)點裝置的動作如參照圖I 圖30所說明的那樣。因此,節(jié)點裝置通過自主地進行路徑選擇,能夠將從調查要求節(jié)點裝置發(fā)送的調查要求幀和接收響應幀向調查執(zhí)行節(jié)點裝置轉送。另外,節(jié)點裝置通過自主地進行路徑選擇,能夠將從調查執(zhí)行節(jié)點裝置發(fā)送的調查幀和調查結果幀向調查要求節(jié)點裝置轉送。另外,在圖33 圖34所示的例子中,調查要求節(jié)點裝置在接收到調查幀時,向調查執(zhí)行節(jié)點發(fā)送接收響應幀。并且,調查執(zhí)行節(jié)點裝置在接收到該接收響應幀時,停止發(fā)送調查幀的處理。但是,實施方式的繞行路徑調查方法不被該順序限定。即,調查執(zhí)行節(jié)點裝置可以與接收響應幀無關地向所有的鄰接節(jié)點(除了調查要求幀的OLS之外)發(fā)送調查幀。此時,針對與調查執(zhí)行節(jié)點裝置鄰接的所有鄰接節(jié)點,能夠調查繞行路徑是否存在。另夕卜,調查要求節(jié)點裝置也可以在接收到調查幀時不發(fā)送接收響應幀。其中,在這種情況下,調查執(zhí)行節(jié)點裝置無法識別調查幀是否到達了調查要求節(jié)點裝置。并且,在上述的例子中,調查執(zhí)行節(jié)點裝置對各鄰接節(jié)點逐個地依次發(fā)送調查幀,但是實施方式的繞行路徑調查方法不限于此。即,調查執(zhí)行節(jié)點裝置也可以同時向2個以上的鄰接節(jié)點發(fā)送調查幀。或者,調查執(zhí)行節(jié)點裝置也可以同時向所有的鄰接節(jié)點(除了調查要求幀的OLS之外)發(fā)送調查幀。并且,在上述的例子中,繞行路徑調查幀(調查要求幀,調查幀,接收響應幀,調查結果幀)實現為圖7所示的數據幀的一種方式。但是,實施方式的繞行路徑調查方法不限于此。即,繞行路徑調查幀可以以與圖7所示的數據幀不同的分配了“類型”的專用幀來實現。圖36是表示繞行路徑存在時的調查流程的圖。在此,假設路徑SF、FD、FY、FE、DY、ΕΥ、ΥΧ、ΧΑ、ΧΒ、AC、BC存在。另外,雖然在拓撲圖中沒有表現,但是節(jié)點D、A間也能夠進行通信。并且,節(jié)點S是調查要求節(jié)點裝置,節(jié)點X是調查執(zhí)行節(jié)點裝置。此時,首先從調查要求節(jié)點裝置S向調查執(zhí)行節(jié)點裝置X發(fā)送繞行路徑調查要求。此時,調查執(zhí)行節(jié)點裝置X檢測“節(jié)點Y”作為繞行路徑調查要求的0LS。調查執(zhí)行節(jié)點裝置X將調查要求節(jié)點裝置S作為最終發(fā)送目的地來向節(jié)點Y以外的鄰接節(jié)點發(fā)送調查幀。在此,調查執(zhí)行節(jié)點裝置X將調查節(jié)點向節(jié)點A發(fā)送。 節(jié)點裝置A在檢測到調查幀的最終發(fā)送目的地不是節(jié)點A而是節(jié)點S時進行幀轉送處理。此時,根據節(jié)點裝置A的加權表104的狀態(tài)的不同,作為轉送目的地有可能選擇節(jié)點C,但是這里為了簡化說明,選擇節(jié)點D作為轉送目的地。由此,節(jié)點裝置A將從調查執(zhí)行節(jié)點裝置X發(fā)送來的調查幀向節(jié)點D轉送。節(jié)點裝置D和其他的節(jié)點裝置的動作基本上與節(jié)點裝置A相同。因此,從調查執(zhí)行節(jié)點裝置X發(fā)送的調查幀到達調查要求節(jié)點裝置S。調查要求節(jié)點裝置S在接收到從調查執(zhí)行節(jié)點裝置X發(fā)送來的調查幀時,判定為在調查要求節(jié)點裝置S和調查執(zhí)行節(jié)點裝置X之間,除了包含路徑YX的路徑之外,還存在不包含路徑YX的繞行路徑。并且,調查要求節(jié)點裝置S利用與調查幀對應的接收響應幀來向調查執(zhí)行節(jié)點裝置X發(fā)送調查結束通知。調查執(zhí)行節(jié)點裝置X接收與調查幀對應的調查結束通知。由此,調查執(zhí)行節(jié)點裝置X也能夠識別為在調查要求節(jié)點裝置S和調查執(zhí)行節(jié)點裝置X之間存在不包含路徑YX的繞行路徑。并且,調查執(zhí)行節(jié)點裝置X結束繞行路徑調查。即,之后調查幀不被發(fā)送。圖37是表示繞行路徑不存在時的調查流程。在該實施例中,也存在路徑SF、FD、FY、FE、DY、ΕΥ、ΥΧ、ΧΑ、ΧΒ、AC和BC。其中,在該實施例中,在其他節(jié)點間不存在通信路徑。并且,與圖36所示的流程同樣,從調查要求節(jié)點裝置S向調查執(zhí)行節(jié)點裝置X發(fā)送繞行路徑調查要求,調查執(zhí)行節(jié)點裝置X向節(jié)點Y以外的鄰接節(jié)點發(fā)送調查幀。調查執(zhí)行節(jié)點裝置X參照鄰接節(jié)點管理表103來選擇調查幀的發(fā)送目的地。在該例中,在調查執(zhí)行節(jié)點裝置X的鄰接節(jié)點管理表103中,登記有節(jié)點Α、Β和Y。其中,節(jié)點Y是繞行路徑調查要求的0LS,因此不會被選擇為調查幀的發(fā)送目的地。即,調查幀的發(fā)送目的地是節(jié)點A和B。并且,調查執(zhí)行節(jié)點裝置X的調查幀發(fā)送部Illd首先選擇節(jié)點A。BP,調查幀向節(jié)點A發(fā)送。節(jié)點裝置A與圖36所示的例子同樣,在檢測到調查幀的最終發(fā)送目的地不是節(jié)點A而是節(jié)點S時,進行幀轉送處理。這里,節(jié)點裝置A選擇節(jié)點C作為轉送目的地。由此,節(jié)點裝置A將從調查執(zhí)行節(jié)點裝置X發(fā)送來的調查幀向節(jié)點C轉送。節(jié)點裝置C和節(jié)點裝置B的動作基本上與節(jié)點裝置A相同。S卩,節(jié)點裝置C將調查幀向節(jié)點裝置B轉送,節(jié)點裝置B將調查幀向調查執(zhí)行節(jié)點裝置X轉送。
調查執(zhí)行節(jié)點裝置X在從節(jié)點裝置B接收到調查幀時,通過執(zhí)行圖20所示的步驟S801至圖21所示的步驟S817的處理,選擇調查幀的轉送目的地。另外,通過該一系列處理中的步驟S809的處理,節(jié)點A的權重被變更為最大值。這里,與調查執(zhí)行節(jié)點裝置X鄰接有節(jié)點A、Y、B。并且,調查執(zhí)行節(jié)點裝置X通過以下的理由選擇節(jié)點B作為調查幀的轉送目的地。S卩,節(jié)點A是從調查執(zhí)行節(jié)點裝置X最初發(fā)送了該調查幀時的LD,被登記于調查執(zhí)行節(jié)點裝置X的FID管理表105中。因此,調查執(zhí)行節(jié)點裝置X無法將該調查幀向節(jié)點A轉送。另外,節(jié)點Y是從調查要求節(jié)點裝置S發(fā)送的繞行路徑調查要求的0LS,被從調查幀的發(fā)送目的地除外。另外,將繞行路徑調查要求的OLS從調查幀的發(fā)送目的地除外的流程例如通過以下處理來執(zhí)行,即、在圖34的步驟S1303中由上位層處理部111指定0LS,基于該指定在圖27的SlllO中取得與該指定的OLS不同的LD。除了該實施方式以外,上位層處理部111例如也可以進行如下處理,即、在實施繞行路徑調查的期間(執(zhí)行圖34的流程圖的處理的期間),暫時在加權管理表104中,將繞行路徑調查要求的OLS的權重設定為 最大( = 1.0)。此時,在圖37所示的例子中,在調查執(zhí)行節(jié)點裝置X所具備的加權管理表104的“⑶=節(jié)點S”的項中,將與“LD =節(jié)點Y”對應的權重設為最大即可。由此,調查執(zhí)行節(jié)點裝置X的數據幀處理部110在從節(jié)點裝置B接收到調查幀時,不會將節(jié)點Y選擇為轉送目的地。這樣,調查幀被從調查執(zhí)行節(jié)點裝置X發(fā)送至節(jié)點B。然后,該調查幀經由節(jié)點C和節(jié)點A,再次返回調查執(zhí)行節(jié)點裝置X。調查執(zhí)行節(jié)點裝置X在從節(jié)點裝置A接收到調查幀時,再次執(zhí)行圖20所示的步驟S801至圖22所示的步驟S817的處理,由此對調查幀的轉送目的地進行調查。通過該一系列處理中的步驟S809的處理,節(jié)點B的權重被變更為最大值。因此,在該時間點,由于對于鄰接節(jié)點管理表103不存在作為調查要求幀的OLS的Y以外的調查幀的轉送目的地,所以在圖22所示的步驟S818中判定為“是”。由此,由于調查執(zhí)行節(jié)點裝置X是該調查幀的GS,所以執(zhí)行圖29所示的流程圖,在步驟S830a中判定為“是”。因此,通過步驟S830c,從數據幀處理部110向上位層處理部111通知“發(fā)送失敗”。若調查執(zhí)行節(jié)點裝置X的判定部Illf如上述那樣從數據幀處理部110通知“發(fā)送失敗“,則在圖34的步驟S1305中判定為”否“。其結果,判定部Illf在步驟S1306中判定為與調查要求節(jié)點裝置S之間不存在繞行路徑。然后,調查執(zhí)行節(jié)點裝置X將上述調查結果向調查要求節(jié)點裝置S通知。此時,調查執(zhí)行節(jié)點裝置X將調查要求節(jié)點裝置S作為最終發(fā)送目的地,將調查結果幀向節(jié)點Y發(fā)送。由此,調查要求節(jié)點裝置S能夠識別到繞行路徑不存在。另外,調查要求節(jié)點裝置S根據在規(guī)定時間內沒有接收到與繞行路徑調查要求對應的調查幀的情況,也能夠識別到繞行路徑不存在。另外,在上述的流程中,如參照圖37所說明的那樣,從調查執(zhí)行節(jié)點裝置X向節(jié)點A發(fā)送的調查幀依次經由節(jié)點C、B返回調查執(zhí)行節(jié)點裝置X時,判定為“向節(jié)點A的發(fā)送失敗“。但是,在調查執(zhí)行節(jié)點裝置X向節(jié)點A發(fā)送調查幀的同時,在上述轉送流程中也向節(jié)點B發(fā)送調查幀。并且,從調查執(zhí)行節(jié)點裝置X向節(jié)點B發(fā)送的調查幀依次經由節(jié)點C、A返回調查執(zhí)行節(jié)點裝置X。即,向節(jié)點B的發(fā)送也以失敗告終。因此,調查執(zhí)行節(jié)點裝置X在執(zhí)行圖37所示的I個轉送流程時,也可以判定為“向節(jié)點A和節(jié)點B的發(fā)送均失敗”。此時,調查執(zhí)行節(jié)點裝置X的判定部Illf在圖37所示的I個轉送流程被執(zhí)行時,也可以判定為與調查要求節(jié)點S之間不存在繞行路徑。這樣,在實施方式的繞行路徑調查方法中,由網絡管理者指定的對象通信節(jié)點根據來自監(jiān)視服務器的要求來執(zhí)行繞行路徑調查。由此,調查在監(jiān)視服務器和對象通信節(jié)點之間是否存在繞行路徑。因此,網絡管理者針對所希望的通信節(jié)點,能夠立刻判斷隔離的危險性。并且,在檢測到隔離的可能性較高的通信節(jié)點時,網絡管理者實施追加通信節(jié)點等的方案,由此能夠預先防止通信故障。另外,在本實施例的說明中,由上層處理部111執(zhí)行繞行路徑調查所涉及的處理,由此,不會對數據幀處理部110增加繞行路徑調查所涉及的處理的負荷,能夠使其只專注于數據幀的轉送處理,但是在不脫離本實施例的要旨的范圍內能夠進行各種變形。例如,可以構成為,使數據幀處理部110執(zhí)行該繞行路徑調查涉及的處理的一部分或者全部。 另外,將繞行路徑調查所涉及的各種幀說明為數據幀的I個,但是也可以構成為,賦予表示繞行路徑調查的數據類型,在圖14所示的幀分支處理部106進行的步驟S202的幀的類型檢查中,也將與繞行路徑調查所涉及的幀作為數據幀向數據幀處理部110提供。通過這樣構成,在數據幀處理部110從緩沖部109選擇未處理的接收幀時,能夠參照幀類型,對繞行路徑調查所涉及的幀和通常的數據幀進行識別來優(yōu)先選擇并處理其中一種。另夕卜,在上位處理部111的判定部111b、判定部Illf中不用對凈荷進行解讀就能夠識別是繞行路徑調查所涉及的幀。
權利要求
1.一種節(jié)點裝置,用于包含多個節(jié)點裝置的自組織網絡,其特征在于,具備接收單元,其接收從與自身節(jié)點裝置鄰接的第I節(jié)點裝置轉送來的、將第2節(jié)點裝置作為發(fā)送源的數據;發(fā)送數據創(chuàng)建単元,其創(chuàng)建將所述第2節(jié)點裝置設定為最終發(fā)送目的地的發(fā)送數據;發(fā)送單元,其將所述發(fā)送數據向所述第I節(jié)點裝置以外的與自身節(jié)點裝置鄰接的鄰接節(jié)點裝置發(fā)送;和判定単元,在自身節(jié)點裝置再次接收到向所述第I節(jié)點裝置以外的與自身節(jié)點鄰接的所有鄰接節(jié)點裝置發(fā)送的所述發(fā)送數據、或者向所述鄰接節(jié)點進行的發(fā)送失敗時,該判定単元判定為在自身節(jié)點裝置和所述第2節(jié)點裝置之間不存在經由所述第I節(jié)點裝置以外的鄰接節(jié)點裝置收發(fā)數據的繞行路徑。
2.根據權利要求I所述的節(jié)點裝置,其特征在干,還具備第I存儲單元,該第I存儲單元以與自身節(jié)點裝置鄰接的鄰接節(jié)點裝置為單位與數據的最終發(fā)送目的地對應地存儲發(fā)送可能性信息,其中,該發(fā)送可能性信息表示從自身節(jié)點裝置向該最終發(fā)送目的地發(fā)送數據的可能性,所述判定單元參照將所述第2節(jié)點裝置作為所述數據最終發(fā)送目的地而對應的所述發(fā)送可能性信息,來判定所述第I節(jié)點裝置以外的所有鄰接節(jié)點裝置的發(fā)送可能性信息是否不能發(fā)送,由此判定為在自身節(jié)點裝置和所述第2節(jié)點裝置之間不存在所述繞行路徑。
3.根據權利要求2所述的節(jié)點裝置,其特征在干,所述發(fā)送単元基于將所述第2節(jié)點裝置作為所述最終發(fā)送目的地的所述鄰接節(jié)點裝置各自的所述發(fā)送可能性信息,在所述第I節(jié)點裝置以外選擇該發(fā)送可能性信息表示能夠發(fā)送的鄰接節(jié)點裝置,并向該鄰接節(jié)點裝置發(fā)送所述發(fā)送數據。
4.根據權利要求2所述的節(jié)點裝置,其特征在干,還具備第2存儲單元,其將識別所述發(fā)送數據的數據識別信息和發(fā)送目的地鄰接節(jié)點識別信息對應地進行存儲,其中,該發(fā)送目的地鄰接節(jié)點識別信息識別作為所述發(fā)送數據的發(fā)送目的地的鄰接節(jié)點裝置;和更新単元,在自身節(jié)點裝置接收到由所述發(fā)送単元向所述第I節(jié)點裝置以外的鄰接節(jié)點裝置發(fā)送的所述發(fā)送數據時,該更新單元參照所述第2存儲單元,確定與該接收到的發(fā)送數據的數據識別信息對應的鄰接節(jié)點識別信息,在所述第I存儲單元中,將所述第2節(jié)點裝置是所述最終發(fā)送目的地的所述發(fā)送可能性信息中該確定的鄰接節(jié)點識別信息的所述發(fā)送可能性更新為不能發(fā)送。
5.根據權利要求I所述的節(jié)點裝置,其特征在干,在所述接收単元接收到的接收數據所設定的最終發(fā)送目的地是自身節(jié)點裝置的情況下,所述數據創(chuàng)建單元創(chuàng)建所述發(fā)送數據。
6.根據權利要求I所述的節(jié)點裝置,其特征在干,還具備通知単元,該通知単元基于所述判定単元做出的不存在所述繞行路徑的判定,將所述第2節(jié)點裝置設定為最終發(fā)送目的地來將表示該繞行路徑不存在的通知數據向所述第I節(jié)點裝置發(fā)送。
7.根據權利要求I所述的節(jié)點裝置,其特征在干,所述接收単元基于所接收到的數據是來自所述第2節(jié)點裝置的表示將自身節(jié)點設定為最終發(fā)送目的地并且該第2節(jié)點裝置接收到所述發(fā)送數據的意思的接收響應數據的情況,來結束由所述發(fā)送單元進行的所述發(fā)送數據的發(fā)送。
8.一種節(jié)點裝置,用于包含多個節(jié)點裝置的自組織網絡,其特征在于,具備要求發(fā)送單元,其將特定的其他節(jié)點裝置設定為最終發(fā)送目的地來創(chuàng)建并發(fā)送調查要求數據,其中,該調查要求數據要求從該其他節(jié)點裝置向自身節(jié)點裝置發(fā)送用于確定兩節(jié)點間的通信路徑的調查數據;和判定単元,其基于接收到所述自身節(jié)點裝置被設定為最終發(fā)送目的地并且所述其他節(jié)點裝置被設定為發(fā)送源的所述調查數據的情況,判定為在自身節(jié)點裝置和該其他節(jié)點裝置之間存在能夠分別經由與其他特定的節(jié)點裝置鄰接的至少2個以上的鄰接節(jié)點來收發(fā)數據的繞行路徑。
9.根據權利要求8所述的節(jié)點裝置,其特征在干, 還具備響應單元,在接收到所述調查數據時,該響應單元發(fā)送將所述其他節(jié)點裝置設定為最終發(fā)送目的地的、表示該調查數據的接收的響應數據。
10.ー種繞行路徑調查方法,由包含多個節(jié)點裝置的自組織網絡中的節(jié)點裝置使用,其特征在干,接收從與自身節(jié)點裝置鄰接的第I節(jié)點裝置轉送來的、將第2節(jié)點裝置作為發(fā)送源的數據,創(chuàng)建將所述第2節(jié)點裝置設定為最終發(fā)送目的地的發(fā)送數據,將所述發(fā)送數據向所述第I節(jié)點裝置以外的與自身節(jié)點裝置鄰接的鄰接節(jié)點裝置發(fā)送,在自身節(jié)點裝置再次接收到向所述第I節(jié)點裝置以外的與自身節(jié)點鄰接的所有鄰接節(jié)點裝置發(fā)送的所述發(fā)送數據、或者向所述鄰接節(jié)點進行的發(fā)送失敗時,判定為在自身節(jié)點裝置和所述第2節(jié)點裝置之間不存在經由所述第I節(jié)點裝置以外的鄰接節(jié)點裝置收發(fā)數據的繞行路徑。
11.根據權利要求10所述的繞行路徑調查方法,其特征在干,以與自身節(jié)點裝置鄰接的鄰接節(jié)點裝置為單位與數據的最終發(fā)送目的地對應地將發(fā)送可能性信息存儲于第I存儲單元,其中,該發(fā)送可能信息表示從自身節(jié)點裝置向該最終發(fā)送目的地發(fā)送數據的可能性,參照將所述第2節(jié)點裝置作為所述數據最終發(fā)送目的地而對應的所述發(fā)送可能性信息,來判定所述第I節(jié)點裝置以外的所有鄰接節(jié)點裝置的發(fā)送可能性信息是否不能發(fā)送,由此判定為在自身節(jié)點裝置和所述第2節(jié)點裝置之間不存在所述繞行路徑。
12.根據權利要求11所述的繞行路徑調查方法,其特征在干,基于將所述第2節(jié)點裝置作為所述最終發(fā)送目的地的所述鄰接節(jié)點裝置各自的所述發(fā)送可能性信息,在所述第I節(jié)點裝置以外選擇所述發(fā)送可能性信息表示能夠發(fā)送的鄰接節(jié)點裝置,并向該鄰接節(jié)點裝置發(fā)送所述發(fā)送數據。
13.根據權利要求11所述的繞行路徑調查方法,其特征在干,將識別所述發(fā)送數據的數據識別信息和發(fā)送目的地鄰接節(jié)點識別信息對應地存儲于第2存儲單元,其中,該發(fā)送目的地鄰接節(jié)點識別信息識別作為所述發(fā)送數據的發(fā)送目的地的鄰接節(jié)點裝置,在自身節(jié)點裝置接收到向所述第I節(jié)點裝置以外的鄰接節(jié)點裝置發(fā)送的所述發(fā)送數據時,參照所述第2存儲單元,確定與該接收到的發(fā)送數據的數據識別信息對應的鄰接節(jié)點識別信息,在所述第I存儲單元中,將所述第2節(jié)點裝置是所述最終發(fā)送目的地的所述發(fā)送可能性信息中該確定的鄰接節(jié)點識別信息的所述發(fā)送可能性更新為不能發(fā)送。
14.根據權利要求10所述的繞行路徑調查方法,其特征在干,在所述接收數據所設定的最終發(fā)送目的地是自身節(jié)點裝置吋,創(chuàng)建所述發(fā)送數據。
15.根據權利要求10所述的繞行路徑調查方法,其特征在干,基于不存在所述繞行路徑的判定,將所述第2節(jié)點裝置設定為最終發(fā)送目的地來將表示該繞行路徑不存在的通知數據向所述第I節(jié)點裝置發(fā)送。
16.根據權利要求10所述的繞行路徑調查方法,其特征在干,基于所接收到的數據是來自所述第2節(jié)點裝置的表示將自身節(jié)點設定為最終發(fā)送目的地并且該第2節(jié)點裝置接收到所述發(fā)送數據的意思的接收響應數據的情況,來結束所述發(fā)送數據的發(fā)送。
17.ー種繞行路徑調查方法,由包含多個節(jié)點裝置的自組織網絡中的節(jié)點裝置使用,其特征在干,將特定的其他節(jié)點裝置設定為最終發(fā)送目的地來創(chuàng)建并發(fā)送調查要求數據,其中,該調查要求數據要求從該其他節(jié)點裝置向自身節(jié)點裝置發(fā)送用于確定兩節(jié)點間的通信路徑的調查數據,基于接收到所述自身節(jié)點裝置被設定為最終發(fā)送目的地、所述其他節(jié)點裝置被設定為發(fā)送源的所述調查數據的情況,判定為在自身節(jié)點裝置和該其他節(jié)點裝置之間存在能夠分別經由與其他特定的節(jié)點裝置鄰接的至少2個以上的鄰接節(jié)點來收發(fā)數據的繞行路徑。
18.根據權利要求17所述的繞行路徑調查方法,其特征在干,在接收到所述調查數據時,發(fā)送將所述其他節(jié)點裝置設定為最終發(fā)送目的地的、表示該調查數據的接收的響應數據。
全文摘要
本發(fā)明涉及節(jié)點裝置和繞行路徑調查方法。包含多個節(jié)點的自組織網絡中的節(jié)點裝置具有接收單元,其接收從與自身節(jié)點裝置鄰接的第1節(jié)點裝置轉送來的、將第2節(jié)點裝置作為發(fā)送源的數據;發(fā)送數據創(chuàng)建單元,其創(chuàng)建將所述第2節(jié)點裝置設定為最終發(fā)送目的地的發(fā)送數據;發(fā)送單元,其將所述發(fā)送數據向所述第1節(jié)點裝置以外的與自身節(jié)點裝置鄰接的鄰接節(jié)點裝置發(fā)送;和判定單元,在自身節(jié)點裝置再次接收到向所述第1節(jié)點裝置以外的與自身節(jié)點鄰接的所有鄰接節(jié)點裝置發(fā)送的所述發(fā)送數據、或者向所述鄰接節(jié)點進行的發(fā)送失敗時,該判定單元判定為在自身節(jié)點裝置和所述第2節(jié)點裝置之間不存在經由所述第1節(jié)點裝置以外的鄰接節(jié)點裝置收發(fā)數據的繞行路徑。
文檔編號H04W84/18GK102835182SQ20108006607
公開日2012年12月19日 申請日期2010年3月31日 優(yōu)先權日2010年3月31日
發(fā)明者由良正和, 巖尾忠重, 山口伸一, 森山美由紀 申請人:富士通株式會社