特許第6424668号(P6424668)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許6424668経路情報収集プログラム、経路情報収集方法、及びノード装置
<>
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000002
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000003
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000004
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000005
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000006
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000007
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000008
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000009
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000010
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000011
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000012
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000013
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000014
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000015
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000016
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000017
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000018
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000019
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000020
  • 特許6424668-経路情報収集プログラム、経路情報収集方法、及びノード装置 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6424668
(24)【登録日】2018年11月2日
(45)【発行日】2018年11月21日
(54)【発明の名称】経路情報収集プログラム、経路情報収集方法、及びノード装置
(51)【国際特許分類】
   H04L 12/751 20130101AFI20181112BHJP
   H04W 40/24 20090101ALI20181112BHJP
【FI】
   H04L12/751
   H04W40/24
【請求項の数】6
【全頁数】27
(21)【出願番号】特願2015-30774(P2015-30774)
(22)【出願日】2015年2月19日
(65)【公開番号】特開2016-152592(P2016-152592A)
(43)【公開日】2016年8月22日
【審査請求日】2017年12月15日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100133570
【弁理士】
【氏名又は名称】▲徳▼永 民雄
(72)【発明者】
【氏名】角 和明
(72)【発明者】
【氏名】長丸 崇徳
(72)【発明者】
【氏名】宮原 千草
(72)【発明者】
【氏名】東原 雄二
【審査官】 菊地 陽一
(56)【参考文献】
【文献】 特開2014−183348(JP,A)
【文献】 米国特許出願公開第2012/0063325(US,A1)
【文献】 特開平08−265728(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/751
H04W 40/24
(57)【特許請求の範囲】
【請求項1】
データ送信元からデータ送信先への通信ネットワークを構築する複数のノード装置に含まれるノード装置に、
前記データ送信元から最初に送信された、前記データ送信先を最終宛先とする通信情報であって前記データ送信元から前記ノード装置までの通信経路の情報を有している該通信情報を、前記通信経路における前段のノード装置から受信し、
受信した前記通信情報が有している前記通信経路の情報に対して前記通信情報前記データ送信先までの通信経路における後段のノード装置の識別情報を付加した通信情報を、前記後段のノード装置に送信し、
前記後段のノード装置に送信した通信情報が有しているものと同一である通信経路の情報を有しており前記データ送信元を最終宛先とする通信情報である折り返しの通信情報を、前記前段のノード装置に送信する、
処理を実行させることを特徴とする経路情報収集プログラム。
【請求項2】
前記ノード装置に、さらに、
前記前段のノード装置から前記通信情報を受信すると、該前段のノード装置の識別情報を記憶装置に保持し、
前記後段のノード装置から前記折り返しの通信情報を受信した場合、保持された前記識別情報を用いて、前記前段のノード装置へ、受信した前記折り返しの通信情報を送信する
ことを特徴とする請求項に記載の経路情報収集プログラム。
【請求項3】
前記ノード装置に、さらに、
前記後段のノード装置から受信した、前記後段のノード装置に送信した前記通信情報に対する受信確認情報に基づいて、前記通信経路のノード装置間の通信状況を特定する
処理を実行させることを特徴とする請求項1又は2に記載の経路情報収集プログラム。
【請求項4】
前記ノード装置に、さらに、
前記後段のノード装置から、前記データ送信元を最終宛先とする通信情報であって該通信情報の最初の送信元から前記ノード装置までの通信経路の情報を有している該通信情報を受信すると、前記後段のノード装置から受信した前記通信情報が有している通信経路の情報に前記前段のノード装置の識別情報を付加した通信情報を、前記前段のノード装置に送信する、
処理を実行させることを特徴とする請求項1から3のうちのいずれか一項に記載の経路情報収集プログラム。
【請求項5】
データ送信元からデータ送信先への通信ネットワークを構築する複数のノード装置に含まれるノード装置
前記データ送信元から最初に送信された、前記データ送信先を最終宛先とする通信情報であって前記データ送信元から前記ノード装置までの通信経路の情報を有している該通信情報を、前記通信経路における前段のノード装置から受信し、
受信した前記通信情報が有している前記通信経路の情報に対して前記通信情報前記データ送信先までの通信経路における後段のノード装置の識別情報を付加した通信情報を、前記後段のノード装置に送信
前記後段のノード装置に送信した通信情報が有しているものと同一である通信経路の情報を有しており前記データ送信元を最終宛先とする通信情報である折り返しの通信情報を、前記前段のノード装置に送信し、
前記データ送信元の装置、前記複数のノード装置から送信される前記折り返しの通信情報を収集する
ことを特徴とする経路情報収集方法。
【請求項6】
データ送信元からデータ送信先への通信ネットワークを構築する複数のノード装置に含まれるノード装置であって、
前記データ送信元から最初に送信された、前記データ送信先を最終宛先とする通信情報であって前記データ送信元から前記ノード装置までの通信経路の情報を有している該通信情報を、前記通信経路における前段のノード装置から受信する受信部と、
受信した前記通信情報が有している前記通信経路の情報に対して前記通信情報前記データ送信先までの通信経路における後段のノード装置の識別情報を付加した通信情報を、前記後段のノード装置に送信すると共に、前記後段のノード装置に送信した通信情報が有しているものと同一である通信経路の情報を有しており前記データ送信元を最終宛先とする通信情報である折り返しの通信情報を、前記前段のノード装置に送信する送信部と、
を備えることを特徴とするノード装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、経路情報収集プログラム、経路情報収集方法、及びノード装置に関する。
【背景技術】
【0002】
アドホック通信技術とは、アクセスポイントを介さずに機器同士が直接通信を行う通信技術をいう。近年、アドホック通信技術を適用した各通信機器が周囲の通信機器を認識して、無線アドホックネットワーク技術が注目されている。
【0003】
アドホックネットワークのルーティングプロトコル(アドホックプロトコル)の一例として、リアクティブ型のAODV(Adhoc On Demand Distance Vector Algorithm)やプロアクティブ型のOLSR(Optimized Link State Routing)が挙げられる。さらに、アドホックプロトコルの一例として、通信要求に先立って、予め各ノードが自律的にデータ通信を行うための経路(ルート)を構築し、更に、最適な経路を随時学習し、経路変更するプロアクティブ型ルーティングプロトコルがある。
【0004】
アドホックネットワークに関する技術の一例として、以下の技術がある。
第1技術として、複数の無線端末装置を経由して宛先の無線端末装置にパケットを送信するシステムにおけるパケットルーティング方法がある(例えば、特許文献1)。第1技術では、パケットを中継する無線端末装置が経路断を監視する。経路断を検出した無線端末装置が、パケットの宛先の無線端末装置に経路検索パケットを送信すると共に、送信元の無線端末装置に経路断を通知する。中継する無線端末装置は、経路検索パケットに従ってパケット転送の経路を再構築する。送信元の無線端末装置は、経路断の情報を受け取った場合に経路再構築を行う。
【0005】
第2技術として、複数の無線端末装置を経由して宛先の無線端末にパケットを送信するシステムにおけるパケットルーティング方法がある(例えば、特許文献2)。第2技術では、中継する無線端末装置が無線信号を用いて直接パケットを伝送している無線端末装置との通信が切断されたことを検出する。通信が切断されたことを検出した無線端末装置は、自装置がパケットの宛先の無線端末装置か送信元の無線端末装置のいずれ側に位置するか判断する。送信元の無線端末装置側にいると判断した無線端末装置は、パケットの宛先の無線端末装置への経路修復の要求信号をブロードキャストで送信する。パケットの宛先の無線端末装置は、経路修復の要求信号をした場合、パケットの送信元の無線端末装置宛に経路再構築の要求をブロードキャストで送信する。
【0006】
第3技術として、ネットワーク全体として、各ノード装置による自律分散処理の結果として、適切な経路が選択されてデータが送信される技術がある(例えば、特許文献3)。第3技術では、ノード装置が送信したことのあるフレームがネットワークを経由してノード装置自身に受信されると、前回選択した隣接ノード装置とは別の隣接ノード装置が送信先として試される。そして、送信可能な隣接ノード装置がないと、バックトラック手段によって上記第3の隣接ノード装置へと受信フレームが送信されるので、第3の隣接ノード装置に別の新たな経路を試させることができる。
【0007】
第4の技術として、ネットワーク中の通信経路の状態を監視する技術がある(例えば、特許文献4)。第4の技術では、複数のノード装置を含むネットワーク中の第1のノード装置は、通信品質を調査する対象の経路の終点のノード装置である終点ノード宛てのフレームの転送先のノード装置から、経路の調査に使用する第1の調査フレームの送信先を選択する。第1のノード装置は、第1の調査フレームの送信先として選択した第2のノード装置への第1の調査フレームの送信に失敗すると、第1のノード装置と前記第2のノード装置との間の通信が失敗したことを記録した第2の調査フレームを生成する。第1のノード装置は、第2の調査フレームの送信先とする第3のノード装置を、終点ノード宛てのフレームの転送先となるノード装置から選択する。第1のノード装置は、第3のノード装置に第2の調査フレームを送信することにより、第3のノード装置を介して、第1のノード装置と第2のノード装置との間の通信が失敗したことを、終点ノードに通知する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2005−269623号公報
【特許文献2】特開2005−236687号公報
【特許文献3】国際公開第2011/013165号
【特許文献4】特開2014−183348号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
アドホックネットワークを構築する各ノードは相互に通信することにより、経路情報を収集するためのフレーム(経路収集フレーム)は、その送信起点のノード(起点ノード)から対象ノードへ、中継を繰り返されながら送信される。経路収集フレームは、中継するノードを通過する毎に経路情報が累積して付加されていく。経路収集フレームが最終的に起点ノードに戻ってくることにより、起点ノードは、起点ノードと対象ノード間の経路情報を取得することができる。
【0010】
しかしながら、通信障害の発生により経路収集フレームが途中で消失し、起点ノードに戻ってこない場合には、起点ノードは、起点ノードと対象ノード間の経路情報を全く取得することができない。そのため、通信障害が起きた経路についての追跡調査や特定をすることができない。
【0011】
本発明の一側面では、通信障害が発生した場合の経路についての追跡調査を支援する技術を提供する。
【課題を解決するための手段】
【0012】
本発明の一態様では、データ送信元からデータ送信先への通信ネットワークを構築する複数のノード装置に含まれるノード装置に、次の処理を実行させる。ノード装置は、データ送信元から最初に送信された、データ送信先を最終宛先とする通信情報であってデータ送信元からノード装置までの通信経路の情報を有している該通信情報を、通信経路における前段のノード装置から受信し、受信した通信情報が有している通信経路の情報に対して通信情報データ送信先までの通信経路における後段のノード装置の識別情報を付加した通信情報を、後段のノード装置に送信し、後段のノード装置に送信した通信情報が有しているものと同一である通信経路の情報を有しておりデータ送信元を最終宛先とする通信情報である折り返しの通信情報を、前段のノード装置に送信する。
【発明の効果】
【0013】
本発明の一側面では、通信障害が発生した場合の経路についての追跡調査を支援することができる。
【図面の簡単な説明】
【0014】
図1】第4技術における、メッシュ状のアドホックネットワークでのトレースルート動作の一例を示す。
図2】第4技術における、ホップ数が多い場合のトレースルート動作の一例を示す。
図3】本実施形態におけるノード装置の一例を示す。
図4】本実施形態における、トレースルート動作の一例を示す。
図5図4に対応する動作シーケンスを示す。
図6】本実施形態における、ホップ数が多い場合のトレースルート動作の一例を示す。
図7】本実施形態における、アドホック制御データフレームのフォーマットの例を示す。
図8】本実施形態におけるノードのハードウェア構成例である。
図9】本実施形態におけるフレーム送受信に関するノードの機能ブロック図の一例である。
図10】本実施形態におけるリンクテーブルの一例を示す。
図11】本実施形態におけるルーティングテーブルの一例を示す。
図12】本実施形態におけるTNDルーティングテーブルの一例を示す。
図13】本実施形態におけるTNDルーティングテーブルの更新例を示す。
図14】本実施形態における起点ノードの経路収集フレーム(往路用)の送信処理フローを示す。
図15】本実施形態における起点ノードの折り返しフレームの受信処理フローを示す。
図16】本実施形態における起点ノードの経路収集フレーム(復路用)の受信処理フローを示す。
図17】本実施形態における起点ノードの、経路収集フレーム(復路用)の受信待ち時間がタイムアウトになった場合の処理フローを示す。
図18】本実施形態における中継ノードの経路収集フレーム(往路用)受信処理フローを示す。
図19】本実施形態における中継ノードの折り返しフレームの受信処理フローを示す。
図20】本実施形態における中継ノードのバックトラックフレームの受信処理フローを示す。
【発明を実施するための形態】
【0015】
例えば、上述した第4技術では、各ノードによって自律的に構築されたアドホックネットワークの中をどの様な経路でデータの疎通がされるか確認する事ができるトレースルート機能を持っている。このトレースルート機能では、送信起点のノードが送信した経路収集フレームに、中継する各ノードが自身の経路情報を付与して転送する。これにより、送信起点のノードから最終宛先の着信ノード迄の間に経由したノードの情報を識別することが可能である。また送信失敗による経路切り替えが発生した場合でも、その経路切り替えについての情報を含めて経路情報を取得することが可能である。
【0016】
上記トレースルート機能では、経路収集フレームが送信起点のノードまで戻ってきた場合に経路情報の取得が可能である。
【0017】
しかしながら、様々な外的要因で刻々と状況が変化する無線通信環境においては、ノード間で定期的に送受信している制御メッセージ(HELLO)よりも短い期間に、一時的に通信障害が発生する可能性がある。この場合、自律の経路情報変更が行われないため、経路途中において経路収集フレームの消失が起きると、経路収集フレームが送信起点のノードまで戻ってこない場合が考えられる。
【0018】
その場合、送信起点のノードは、途中までの経路情報を取得することはできない。このようなケースになると、ping等を用いて保守者の手探りで障害発生パスを調査することになり、通信環境の保守に時間を要することになる。また、通信環境の保守対応が遅れることで、検針など業務データの到達率低下を引き起こしてしまう可能性がある。
【0019】
図1は、第4技術における、メッシュ状のアドホックネットワークでのトレースルート動作の一例を示す。ノード装置(以下、「ノード」という)A〜Eは、無線アドホック通信技術を搭載した通信端末である。
【0020】
まずは、図1(A)を用いて経路情報を取得することができる場合のトレースルート動作を説明する。図1(A)では、送信起点のノードAが、ターゲットとなるノードE宛に経路収集フレームを送信する場合について説明する。ここで、ノード間では、経路収集フレームが送受信される。中継するノードを通過する毎に、経路収集フレームには、その中継ノードから隣接する他の中継ノードへ送信可能か否かの経路情報が付与される。
【0021】
(A1)ノードAは、「ノードB宛送信結果」に「成功」を設定した経路情報を経路収集フレームに付与し、その経路収集フレームをノードB宛に送信する。その結果、ここでは、ノードB宛への送信が失敗したと想定する。
【0022】
(A2)ノードAはノードB宛への経路収集フレームの送信失敗を検出し、経路収集フレームの「ノードB宛送信結果」を「失敗」に変更する。その後、ノードAは「ノードC宛送信結果」に「成功」を設定した経路情報をその経路収集フレームに付与し、その経路収集フレームをノードC宛に送信する。ノードAからノードCへの経路収集フレームの送信は正常に行われたとする。
【0023】
(A3)ノードCは「ノードD宛送信結果」に「成功」を設定した経路情報を、受信した経路収集フレームに付与し、その経路収集フレームをノードD宛に送信する。ノードCからノードDへの経路収集フレームの送信は正常に行われたとする。
【0024】
(A4)ノードDは「ノードE宛送信結果」に「成功」を設定した経路情報を、受信した経路収集フレームに付与し、その経路収集フレームをノードE宛に送信する。その結果、ここでは、ノードE宛への送信が失敗したと想定する。
【0025】
(A5)ノードDはノードE宛への経路収集フレームの送信失敗を検出し、経路収集フレームの「ノードE宛送信結果」を「失敗」に変更する。その後、ノードDは、「ノードC宛送信結果」に「成功」に設定した経路情報をその経路収集フレームに付与し、その経路収集フレームをノードC宛に送信する(バックトラック)。ノードDからノードCへの経路収集フレームの送信は正常に行われたとする。
【0026】
(A6)ノードCは「ノードA宛送信結果」に「成功」を設定した経路情報を、受信したフレームに付与し、その経路収集フレームをノードA宛に送信する。ノードCからノードAへの経路収集フレームの送信は正常に行われたとする。
【0027】
次に、図1(B)を用いて、経路情報を取得することができない場合のトレースルート動作を説明する。
【0028】
(B1)ノードAは、「ノードB宛送信結果」に「成功」を設定した経路情報を経路収集フレームに付与し、その経路収集フレームをノードB宛に送信する。その結果、ここでは、ノードB宛への送信が失敗したと想定する。
【0029】
(B2)ノードAはノードB宛への経路収集フレームの送信失敗を検出し、経路収集フレームの「ノードB宛送信結果」を「失敗」に変更する。その後、ノードAは「ノードC宛送信結果」に「成功」を設定した経路情報をその経路収集フレームに付与し、その経路収集フレームをノードC宛に送信する。ノードAからノードCへの経路収集フレームの送信は正常に行われたとする。
【0030】
(B3)ノードCは「ノードD宛送信結果」に「成功」を設定した経路情報を、受信した経路収集フレームに付与し、その経路収集フレームをノードD宛に送信する。ノードCからノードDへの経路収集フレームの送信は正常に行われたとする。
【0031】
(B4)ノードDは「ノードE宛送信結果」に「成功」を設定した経路情報を、受信した経路収集フレームに付与し、その経路収集フレームをノードE宛に送信する。その結果、ここでは、ノードE宛への送信が失敗したと想定する。
【0032】
(B5)ノードDはノードE宛への経路収集フレームの送信失敗を検出し、経路収集フレームの「ノードE宛送信結果」を「失敗」に変更する。この場合、ターゲットとなるノードEに対する経路は、ターゲットとなるノードEに到達する前に行き止まりになったので、経路収集フレームの進行方向がターゲットノードから送信起点のノードに変更される(バックトラック)。したがって、ノードDは、「ノードC宛送信結果」に「成功」に設定した経路情報をその経路収集フレームに付与し、その経路収集フレームをノードC宛に送信する。その結果、ここでは、ノードC宛への送信が失敗したと想定する。すると、ノードAは、上記(B3)、(B4)で追加された経路情報を得ることができないまま、経路収集フレーム(バックトラックフレーム)が消失する。
【0033】
(B6)ノードAは、バックトラックの経路収集フレームの受信待ち時間のタイムアウトを検出する。この場合、ノードAは、経路情報を何も得られず、経路収集の失敗となる。
【0034】
図2は、第4技術における、ホップ数が多い場合のトレースルート動作の一例を示す。図2では、ノードA〜ノードZまでの経路を取得したいが、ノードXまでしか経路収集フレームが到達できず、経路収集フレーム(バックトラックフレーム)がノードF〜E間で消失してしまった場合の例を示す。
【0035】
図2では、ノードAはノードAからノードZまでの経路を確認したいが、ノードXまでしか経路収集フレームが到達しなかったとする。すなわち、ノードXは、ノードY宛に経路収集フレームを送信するが、その送信が失敗したとする(B11)。
【0036】
1つの通信経路が不通の場合、ノードXは、他の通信経路でノードYへ送信を試みる(B12)。経路収集フレームがノードYに届かず、他の不図示のノード(Y’,Y”)宛ても届かなかったとする。その結果、経路収集フレームの送信に対する受信確認(ACK)フレームを受信することができないので、ACK受信待ち時間の超過によるタイムアウトを検知すると、ノードXは、送信起点のノードへ経路収集フレームを送信する(バックトラック)(B13)。
【0037】
ここで、前回の通信から時間が経ち、電波状況の変化等により通信不可になる場合がある。ノードE−F間の通信不具合により、経路収集フレーム(バックトラックフレーム)が消失したとする(B14)。バックトラックフレームが返ってこないと、ノードEは、通信経路が全くわからないため、どこで通信不具合が発生したのか特定が困難である。
【0038】
図2によれば、ノードAは、ホップ数が多くなるほど、前回の通信(ノードAからノードZ向きのフレーム送信)からバックトラックフレームが戻ってくるまでの経過時間T1が大きくなる。その結果、電波状況の変化が起きる可能性が高くなり、通信不具合が起きる可能性も高くなる。ノードB〜Yのどのノードでも同様のことが起こり得るので、ホップ数が多くなるとその分バックトラックフレームが消失する可能性が高くなる。
【0039】
このように、経路途中でフレームが消失してしまうような通信障害が起きた場合、障害発生エリアの絞り込みが全く行えないため、保守者が以下の様な調査を行う必要がある。保守者が各ノードの近くまで行き、リンクテーブルやルーティングテーブルの情報を参照し、送信元から最終宛先までの経路を調査する(ホップ数が多い場合、対象ノードが数十台に及ぶケースもある)。
【0040】
また、調査した経路情報を元に、ぞれぞれのノードに対してトレースルートやpingなどの調査フレームを複数回使用して、原因となるパスの絞り込みを行う。また、これらの調査作業はアドホックルーティングの動作詳細を理解した保守者でなければ実施できず、保守者であれば誰でも実施できる訳ではないため、調査効率も悪くなる傾向にある。
【0041】
そこで、本実施形態では、各中継ノードが、経路データを次ホップノード宛に送信すると共に、経路収集の送信起点ノード宛にその時点の経路データを送信する。送信起点ノードは経路収集フレームがどのノードまで届いたかを知ることができ、途中でフレームが消失した場合でも消失する前までの経路情報を得ることが可能となる。
【0042】
これにより、経路上の各ノードが、経路収集の送信起点のノード宛に経路収集フレームと同じフレーム(折り返しフレーム)を送信することにより、送信起点のノードは、経路上の各ノードまでの経路収集フレームの到達状況を把握することが可能となる。
【0043】
また、隣接ノード間での送信元のノードを管理する管理情報を活用することで、折り返しフレームが、経路収集フレームと同じ経路を辿って送信起点のノードまで転送されるので、直近で使用実績のある経路を使用することが可能となる。
【0044】
以下、本実施形態について、図面を参照して詳細に説明する。まず、本明細書での用語について説明をする。
【0045】
「フレーム」とは、アドホックネットワークで用いるプロトコルに基づくデータ単位のことを指す。「フレーム」には、例えば、「ハローメッセージフレーム」、「データフレーム」が含まれるが、これらに限定はされない。
【0046】
「ハローメッセージフレーム(HELLOメッセージフレーム)」とは、制御情報を通信するための制御フレームの一種であり、ノード装置が、別のノード装置に対して互いの存在・状態の確認のために送出する特別なフレームのことを指す。なお、HELLOメッセージフレームを単に、HELLOメッセージと称する場合もある。
【0047】
「データフレーム」とは、ネットワークが(スタートノードからゴールノードへと)伝送しようとするデータのことを指す。
【0048】
「Global Destination(GD)」とは、アドホックネットワークにおいて最終的なあて先となるノードIDのことを指す。なお本明細書ではGDのことを、「グローバル宛先アドレス」と称することもある。
【0049】
「Global Source(GS)」とは、アドホックネットワークにおいて最初の送り元であるノードIDのことを指す。なお本明細書ではGSのことを、「グローバル差出アドレス」と称することもある。
【0050】
「Local Destination(LD)」とは、「グローバル差出アドレス(GS)」のノードから「グローバル宛先アドレス(GD)」のノードへ送信されるフレームを中継する隣接するノード間における、フレームのあて先ノードIDのことを指す。なお本明細書ではLDのことを、「ローカル宛先アドレス」と称することもある。
【0051】
「Local Source(LS)」とは、「グローバル差出アドレス(GS)」のノードから「グローバル宛先アドレス(GD)」のノードへ送信されるフレームを中継する隣接するノード間における、フレームの送信元ノードIDのことを指す。なお本明細書ではLSのことを、「ローカル差出アドレス」と称することもある。
【0052】
図3は、本実施形態におけるノード装置の一例を示す。ノード装置1は、データ送信元からデータ送信先への通信ネットワークを構築する複数のノード装置に含まれるノード装置である。ノード装置1は、受信部2、送信部3を含む。ノード装置1の一例として、ノード11(図9)が挙げられる。通信ネットワークの一例として、アドホックネットワークが挙げられる。
【0053】
受信部2は、他のノード装置から送信された通信情報を受信する。受信部2の一例として、受信部26(図9)が挙げられる。
【0054】
送信部3は、受信した前記通信情報に対して通信の通信経路における後段のノード装置の識別情報を付加した通信情報を、通信経路における前段のノード装置と後段のノード装置とに送信する。より具体的には、送信部3は、前段のノード装置へ送信された通信情報である折り返し情報を、起点となる送信元を最終宛先として、前段のノード装置へ送信する。送信部3の一例として、ルーティング部23及び送信部27が挙げられる。後段のノード装置の識別情報の一例としては、後段ノードのノードIDが挙げられる。
【0055】
このように構成することにより、データ送信元(送信起点)のノードは、経路収集フレームの受信に依らず中継にて到達したノードまでの途中経路情報を取得することができるので、通信障害が発生した場合の経路についての追跡調査が容易になる。
【0056】
ノード装置1は、さらに、記憶部4を含む。ノード装置1は、前段のノード装置から通信情報を受信すると、前段のノード装置の識別情報を記憶部4に保持する。前段のノード装置の識別情報を保持する記憶部4の一例として、送信元(LS)ノード情報34を記憶するRAM14または不揮発性メモリ15(図8図9)が挙げられる。このとき、送信部3は、後段のノード装置から折り返し情報を受信した場合、保持された識別情報を用いて、前段のノード装置へ折り返し情報を送信する。
【0057】
このように構成することにより、折り返し情報は往路と同じ経路を辿って起点ノードまで転送されるので、直近で使用実績のある経路を使用することが可能となる。
【0058】
ノード装置1に、さらに、特定部を含む。特定部5は、後段のノード装置から受信した、送信した通信情報に対する受信確認情報に基づいて、通信経路のノード装置間の通信状況を特定する。特定部の一例として、ルーティング23が挙げられる。
【0059】
このように構成することにより、ネットワーク中の通信経路の状態を監視することができる。
【0060】
また、受信部2が後段のノード装置から通信情報を受信する。すると、送信部3は、後段のノード装置から受信した通信情報に前段のノード装置の識別情報を付加した通信情報を、前段のノード装置に送信する。
【0061】
このように構成することにより、各ノード装置は、経路収集フレーム(復路)を中継することができる。
【0062】
それでは、以下に本実施形態の詳細について説明する。
図4は、本実施形態における、トレースルート動作の一例を示す。図5は、図4に対応する動作シーケンスを示す。図4及び図5では、ノードAがノードE宛にノードA,E間(往路)の経路収集を開始することを想定する。ここで、ノード間では、経路収集フレームが送受信される。中継するノードを通過する毎に、経路収集フレームには、その中継ノードから隣接する他の中継ノードへ送信可能か否かの経路情報が付与される。
【0063】
(S1)ノードAは、「ノードB宛送信結果」に「成功」を設定した経路情報を経路収集フレームに付与し、その経路収集フレームをノードB宛に送信する。その結果、ここでは、ノードB宛への送信が失敗したと想定する。
【0064】
(S2)ノードAはノードB宛への経路収集フレームの送信失敗を検出し、経路収集フレームの「ノードB宛送信結果」を「失敗」に変更する。その後、ノードAは「ノードC宛送信結果」に「成功」を設定した経路情報をその経路収集フレームに付与し、その経路収集フレームをノードC宛に送信する。ノードAからノードCへの経路収集フレームの送信は正常に行われたとする。
【0065】
(S3)ノードCは、ノードBから経路収集フレームを受信すると、「ノードD宛送信結果」に「成功」を設定した経路情報を、受信した経路収集フレームに付与する。ノードCは、経路情報を付加した経路収集フレームをノードD宛に送信する(ノードCからノードDへの経路収集フレームの送信は正常に行われたとする)。
【0066】
このとき、ノードCは、送信元であるノードA宛に、その経路情報を付加した経路収集フレーム(折り返しフレーム)を送信する(ノードCからノードAへの経路収集フレームの送信は正常に行われたとする)。なお、折り返しフレームについて、最終宛先ノードまでに通過する中継ノードにおいて経路情報は付与されない。ノードAは、受信した折り返しフレームを解析することにより、ノードCがノードD宛に送信したことが分かる。
【0067】
(S4)ノードDは、ノードCから経路収集フレームを受信すると、「ノードE宛送信結果」に「成功」を設定した経路情報を、受信した経路収集フレームに付与する。ノードDは、経路情報を付与した経路収集フレームをノードE宛に送信する(その結果、ここでは、ノードE宛への送信が失敗したと想定する)。
【0068】
このとき、ノードDは、ノードC経由で送信元であるA宛に、その経路情報を付加した経路収集フレーム(折り返しフレーム)を送信する(ノードDからノードAへの経路収集フレームの送信は正常に行われたとする)。なお、折り返しフレームについて、最終宛先ノードまでに通過する中継ノードにおいて経路情報は付与されない。
【0069】
ノードAは、受信した折り返しフレームを解析することにより、ノードDがノードE宛に送信したことが分かる。また、ノードAは、上記(S3)において何らかの理由(通信障害など)で経路収集フレームを受信できなくても、上記(S4)で経路収集フレームを受信することによって到達情報を上書きできるため到達したことが確認可能となる。
【0070】
(S5)ノードDは、ノードE宛への経路収集フレームの送信失敗を検出し、経路収集フレームの「ノードE宛送信結果」を「失敗」に変更する。その後、ノードDは、「ノードC宛送信結果」に「成功」に設定した経路情報をその経路収集フレームに付与し、その経路収集フレームをノードC宛に送信する(バックトラック)。その結果、ここでは、ノードC宛への送信が失敗したと想定する。なお、バックトラックを送信する場合には、折り返しフレームの送信は行われない。
【0071】
すると、ノードAは上記(S3)、(S4)において経路情報を得ている状態にて、経路収集フレームが消失する。ここで、当該(S5)におけるノードC宛送信(バックトラック)は、上記(S4)においてノードC宛またはノードE宛に送信してから、上記(S4)におけるノードE宛の送信の失敗を検出するまでの時間経過後に行わる。そのため、上記(S4)でのノードC宛送信と、当該(S5)でのノードC宛送信の前後では通信環境の変化が起きる可能性が高く、上記(S4)におけるノードC宛送信が成功し、上記(S5)C宛送信が失敗となることが十分考えられる。
【0072】
なお、図4図5の例ではホップ数が少ないため、通信環境の変化の発生が(S4)C宛送信と(S5)C宛送信の間の時間帯に限られるが、ホップ数の多い場合はもっと対象となる時間帯がより広がる。多ホップの場合の例を、図6にて説明する。
【0073】
(S6)ノードAは経路収集フレーム(復路)の受信待ち時間のタイムアウトを検出する。
【0074】
上記S3、S4で得た情報により、ノードA→ノードC→ノードDまでは送信が成功し、さらに、S6にて受信待ち時間のタイムアウトを検出した(ノードEからの経路収集フレームが未受信のため)ことから、ノードAは、次の判定を行うことができる。すなわち、ノードAは、ノードD→ノードEで送信が失敗となったことが分かる。
【0075】
上述の例ではホップ数が少ない例を元に説明しているが、実動作では中継ノードによる転送が数十ホップすることも想定される。そのため、経路上の各ノードが経路収集の送信起点のノード宛に折り返す経路収集フレーム自身も消失することがあり得る。ただし、折り返しフレームは直近の通信実績のある経路を使用するため、全ての折り返しフレームが消失する可能性は低く、送信元ノードまで届いた各折り返しフレームを解析することで、最終宛先までの途中経路をトレースすることが可能となる。
【0076】
なお、トレースルート用フレームは、通常のフレームの送信に対して、保守用として間欠的に送信される。これにより、例えば、ノードに搭載したセンサにより得られたセンサ値を収集するような通常のフレームの送受信に影響を及ぼさないように利用することができる。
【0077】
図6は、本実施形態における、ホップ数が多い場合のトレースルート動作の一例を示す。図6では、ノードAは、ノードAからノードZまでの経路を取得したいが、ノードXまでしかパケットが到達できず、バックトラックパケットがノードF〜E間で消失してしまった場合を想定する。
【0078】
まず、ノードAは、経路収集フレームに経路情報(ノードB宛送信結果=成功)を付加する。ノードAは、経路情報を付加した経路収集フレームを、ノードBへ送信する(S11)。
【0079】
ノードBは、ノードAから経路収集フレームを受信すると、受信した経路収集フレームに経路情報(ノードC宛送信結果=成功)を付加する。ノードBは、経路情報を付加した経路収集フレームを、ノードCへ送信する(S12)。このとき、ノードBは、ノードA宛に、C宛に送信した経路収集フレームと同じフレーム(折り返しフレーム)を送信する(S12a)。
【0080】
ノードCは、ノードBから経路収集フレームを受信すると、受信した経路収集フレームに経路情報(ノードD宛送信結果=成功)を付加する。ノードCは、経路情報を付加した経路収集フレームを、ノードDへ送信する(S13)。このとき、ノードCは、ノードA宛に、D宛に送信した経路収集フレームと同じフレーム(折り返しフレーム)を送信する(S13a)。
【0081】
それ以降でも同様に、各ノードは、経路収集フレームを受信すると、受信した経路収集フレームに経路情報を付加し、経路情報を付加した経路収集フレームを、次ポップのノードへ送信する(S14〜S20)。それと共に、各ノードは、ノードA宛に、次ホップのノード宛に送信した経路収集フレームと同じフレーム(折り返しフレーム)を送信する(S14a〜S20a)。
【0082】
ノードXは、ノードWから経路収集フレームを受信すると、受信した経路収集フレームに経路情報(ノードC宛送信結果=成功)を付加する。ノードXは、経路情報を付加した経路収集フレームを、ノードYへ送信する(S21)。ただし、この例では、ノードYへの経路収集フレームの送信は失敗したとする。このとき、ノードXは、ノードA宛に、Y宛に送信した経路収集フレームと同じフレーム(折り返しフレーム)を送信する(S21a)。
【0083】
1つの経路が不通の場合、ノードXは、他の経路で確認する(S21’、S21”)。送信した経路収集フレームがノードYに届かず、他のノード(Y',Y'')宛てにも届かなかった場合、ノードXは、タイムアウトの検出後、受信した経路収集フレームに経路情報(ノードW宛送信結果=成功)を付加する。ノードXは、経路情報を付加した経路収集フレームを、ノードWへ送信する(バックトラック)(S22)。S22以降では、経路収集フレームをバックトラックフレームと称する。
【0084】
ノードWは、ノードXからバックトラックフレームを受信すると、受信したバックトラックフレームに経路情報(ノードV宛送信結果=成功)を付加する。ノードWは、経路情報を付加したバックトラックフレームを、ノードVへ送信する(S23)。
【0085】
それ以降でも同様に、各ノードは、バックトラックフレームを受信すると、受信したバックトラックフレームに経路情報を付加し、経路情報を付加したバックトラックフレームを、次ポップのノードへ送信する(S24〜S27)。
【0086】
ここで、前回の通信から時間が経ち、電波状況の変化等により通信不可になる場合がある。ノードE−F間の通信不具合により、バックトラックフレームが消失したとする(S28)。
【0087】
しかしながら、このようにバックトラックが返ってこなくても、S12a〜S21aにおいて送信された折り返しフレームにより、送信元ノードAは、途中までの経路情報を取得できているため、調査対象をノードXの周辺エリアに絞ることができる。
【0088】
図6によれば、期間T2においてフレーム消失が起きても、送信元ノードは、折り返しフレームを受信することで、経路探索フレームがどこまで到達したかを確認することができる。これにより経路収集フレームの消失したパスを絞り込むことが出来る。
【0089】
(実施例)
図7は、本実施形態における、アドホック制御データフレームのフォーマットの例を示す。アドホック制御データフレーム(以下では、「データフレーム」と称する)は、アドホックヘッダ、セキュリティヘッダ、データヘッダ、アドホックメッセージ(AM)ヘッダ、アドホックメッセージを含む。
【0090】
アドホックヘッダは、ローカル宛先アドレス(LD)、ローカル送信元アドレス(LS)、タイプ、フレームサイズなどの情報を含む。なお、Helloフレームもアドホックヘッダを備えており、データフレームとHelloフレームはタイプの値で識別される。例えば、データフレームではタイプ=1、Helloフレームでは、タイプ=0に設定される。
【0091】
データヘッダは、グローバル宛先アドレス(GD)、グローバル送信元アドレス(GS)、フレーム識別子(frame identifier、FID)、HTL(Hop to live)、ホップ数等を含む。フレーム識別子は、アドホックフレーム毎に割り振られた識別番号である。HTLは、データフレームの有効期限を表す値である。隣接するノード間でフレームが転送される毎に、HTLの値が1ずつデクリメントされる。
【0092】
AMヘッダは、タイプ、サブタイプを含む。タイプは、アドホック制御データフレームの機能または用途の種別を特定する情報である。例えば、タイプに「Trace Route」が設定されている場合には、そのデータフレームは、経路情報の収集等に関係する機能を有する。
【0093】
サブタイプは、「タイプ」で設定した機能また用途をさらに特定する情報である。例えば、サブタイプに「0x00(収集)」が設定されている場合、そのデータフレームは、経路情報の収集のために用いられる経路収集フレームであることを示す。サブタイプに「0x02(折り返し)」が設定されている場合、そのデータフレームは、折り返しフレームであることを示す。
【0094】
アドホックメッセージは、データペイロードに相当する。アドホックメッセージには、次ホップのノードに対する送信結果が累積して設定される。
【0095】
図8は、本実施形態におけるノードのハードウェア構成例である。ノード11は、CPU(Central Processing Unit)12、無線通信インターフェース(I/F)13、RAM(Random Access Memory)14、不揮発性メモリ15を含む。CPU12は、無線通信I/F13、RAM14、不揮発性メモリ15と所定のバスにより接続されている。
【0096】
CPU12は、各種計算処理を担う。CPU12は、不揮発性メモリ15等に格納した後述する処理を実現するプログラムを読み出し、当該プログラムを実行する。不揮発性メモリ15は、例えばROM(Read Only Memory)、または読み書き可能なSSD(Solid State Drive)等の半導体メモリである。RAM14は、データを一時的に保持する揮発性メモリである。
【0097】
無線通信I/F13は、無線LAN(Local Area Network)接続のための処理を行うハードウェアである。無線通信I/F13は、例えばアンテナ、ADC(Analog-to-Digital Converter)、DAC(Digital-to-Analog Converter)、変調器、復調器などを含む。
【0098】
また、ノード11は、これらの電子部品に電力を供給して動作させるための電源としての充電池も搭載している。また図示されていないが、ノード11は計時のためのクロックまたはタイマを含む。
【0099】
後述する実施形態で説明する処理を実現するプログラムは、プログラム提供者側から通信ネットワークを介して、例えば不揮発性メモリ15等の記憶装置に格納してもよい。また、後述する実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置に設定されて、CPU12によってそのプログラムが読み出されて、実行されてもよい。
【0100】
図9は、本実施形態におけるフレーム送受信に関するノードの機能ブロック図の一例である。不揮発性メモリ15は、ルーティングテーブル31、リンクテーブル32、ターゲットノード宛(TND)ルーティングテーブル33、送信元(LS)ノード情報34等を格納する。
【0101】
なお、本実施形態では、ルーティングテーブル31、リンクテーブル32、TNDルーティングテーブル33、送信元(LS)ノード情報34は、不揮発性メモリ15に格納するが、これに限定されず、RAMに格納してもよい。
【0102】
無線通信I/F13は、受信部26および送信部27を含み、他のノードとの通信を行うための処理を行う。受信部26は、ノード11に送信されてきたフレームの信号を受信し、受信した信号をフレーム受信処理部21に出力する。
【0103】
CPU12は、不揮発性メモリ15等に格納したプログラムを読み出し、HELLO制御部25、フレーム送信処理部22、フレーム受信処理部21、ルーティング部23、アプリケーション処理部24として機能する。
【0104】
フレーム受信処理部21は、受信部26から入力された信号を、ルーティング部23で処理できるようにフレームに変換する。フレーム受信処理部21の変換で得られるフレームには、経路収集フレーム、経路収集フレーム以外の制御フレーム、ユーザデータを格納したデータフレームなどが含まれる。フレーム受信処理部21は、得られたフレームをルーティング部23に出力する。
【0105】
アプリケーション処理部24は、ノード11宛のフレームがルーティング部23から入力されると、入力されたフレームをアプリケーションプログラムにより処理する。また、アプリケーション処理部24は、アプリケーションプログラムの処理によって他のノード11に送信するデータフレームを生成することもできる。アプリケーション処理部24は、生成したデータフレームをルーティング部23に出力する。
【0106】
ルーティング部23は、入力されたフレームの宛先(LD)が、当該ルーティング部23を搭載しているノード宛てか、それ以外のノード宛かの判断を行う。そして、そのフレームの宛先(LD)が、当該ルーティング部23を搭載するノード宛てである場合には、ルーティング部23は、ルーティングテーブル31に登録された情報を用いて、隣接するいずれのノード(LD)に転送するかを判定する。
【0107】
ルーティング部23は、入力されたフレームに含まれているアドホックヘッダに基づいて、受信したHELLOメッセージの送信元をルーティングテーブル31に登録する。また、受信したHELLOメッセージに含まれているノード情報を使用して経路品質やノード間リンクの通信品質を計算し、結果をルーティングテーブル31やリンクテーブル32に登録する。ルーティング部23は、ルーティングテーブル31やリンクテーブル32に登録された情報を含むフレームを送信するように送信部27を制御する。
【0108】
ルーティング部23は、経路収集フレームを受信すると、その経路収集フレームからローカル差出アドレス(LS)を抽出し、抽出したローカル差出アドレス(LS)を送信元(LS)ノード情報34として不揮発性メモリ15に格納する。
【0109】
ルーティング部23は、受信した経路収集フレームに、次ホップ(後段)のノード宛てに、次ホップのノード宛送信結果(デフォルト値=成功)を付加した経路収集フレームを生成する。それと共に、ルーティング部23は、前段のホップのノード宛てに、その生成した経路収集フレームと同一の経路情報を有する折り返しフレームを生成する。生成したフレームは、送信部27を介して送信される。
【0110】
次ホップ(後段)のノード宛てに、次ホップのノード宛送信結果(デフォルト値=成功)を付加した経路収集フレームを送信した後にその送信に対応する受信確認(ACK)フレームの受信の可否に応じて、ルーティング部23は、隣接ノードとの通信状況を特定する。すなわち、その受信確認(ACK)フレームの受信ができた場合には、ルーティング部23は、隣接ノードとの通信が成功、すなわち、通信状況は良好と特定する。一方、その受信確認(ACK)フレームの受信ができなかった場合には、ルーティング部23は、隣接ノードとの通信が失敗、すなわち、通信状況は不良と特定する。
【0111】
ルーティング部23は、他のノードから折り返しフレームを受信した場合、送信元(LS)ノード情報34として記憶されたLSに、折り返しフレームを転送するように制御する。
【0112】
HELLO制御部25は、ルーティングテーブル31に登録された情報を用いて、HELLOメッセージフレームを生成し、フレーム送信処理部22に出力する。HELLO制御部25は、ルーティングテーブル31に含まれている経路に関する情報を含むハローフレームを生成することができる。
【0113】
フレーム送信処理部22は、送信部27を制御して、フレームの送信を行う。
【0114】
図10は、本実施形態におけるリンクテーブルの一例を示す。各ノードは、自身に隣接するノード分のリンクテーブル31を有している。自身に隣接するノードとは、自身とアドホック通信を行うノードのことを示す。各ノードは、自身に隣接するノードからHelloメッセージフレームを受信すると、そのHelloメッセージフレームを送信したノードについてのリンクテーブル31を生成する。
【0115】
リンクテーブル31は、「ローカル差出アドレス(LS)」、「エージングタイマ」、「HELLO及び受信電波関連パラメータ」のデータ項目を含む。
【0116】
「ローカル差出アドレス(LS)」には、Helloメッセージフレームの送信元のアドレス、すなわち隣接するノードより受信したHelloメッセージフレームのアドホックヘッダに含まれるローカル差出アドレスが格納される。
【0117】
「エージングタイマ」は、リンクテーブル31を削除するタイミングを調整する情報であり、リンクテーブル31の作成時にデフォルト値が設定される。
【0118】
「HELLO及び受信電波関連パラメータ」には、隣接するノードより受信したHelloメッセージフレームの各種ヘッダに含まれる情報及び受信電波の強度(または通信品質)、その他の受信電波関連パラメータが格納される。各ノードは、Helloメッセージフレームに他のノードから受信した電波の通信品質に関わる情報を含めて送信している。ノードは、他のノード装置から受信したHelloメッセージフレームを参照して、隣接ノードの通信品質を算出し、「HELLO及び受信電波関連パラメータ」に、算出した受信強度(または通信品質)に関わる情報を保持する。
【0119】
図11は、本実施形態におけるルーティングテーブルの一例を示す。ルーティングテーブル32は、グローバル宛先アドレス(GD)単位で管理される隣接ノードに対するルーティング情報を保持するテーブルであり、グローバル宛先アドレス毎に生成される。各ノードは、隣接するノードより受信したHelloメッセージフレームから生成したリンクテーブル31を用いて、ルーティングテーブル32を生成する。
【0120】
ルーティングテーブル32は、1つのグローバル宛先アドレス(GD)に対して、1つ以上の任意の数のローカル宛先アドレス(LD)を記録することができる。ルーティングテーブル32は、例えば、経路のホップ数や経路中に含まれる各リンクの受信電波強度などを用いて計算された経路の品質を表す情報を、グローバル宛先とローカル宛先の組合せごとに記録することができる。
【0121】
図12は、本実施形態におけるTNDルーティングテーブルの一例を示す。TNDルーティングテーブル33は、「グローバル宛先アドレス(GD)」、「経路収集開始時刻」、「途中経路情報」のデータ項目を含む。
【0122】
「グローバル宛先アドレス(GD)」には、ターゲットとなるノードのIDが格納される。「経路収集開始時刻」には、経路収集フレームを送信した日時が格納される。
【0123】
「途中経路情報」には、その経路収集フレームを受信した中継ノードから送信される折り返しフレームから得られる途中経路情報が格納される。より具体的には、途中経路情報とは、起点となる送信元(GS)のノードに隣接するノードから折り返しフレームを送信したノードまでの各中継ノードが付与した次ホップのノードに対する送信結果の累積情報である。
【0124】
図13は、本実施形態におけるTNDルーティングテーブルの更新例を示す。図4のS3にて、ノードCは、送信元であるノードA宛に、ノードB,C,Dに対する送信結果を含む折り返しフレームを送信する。ノードAは、その折り返しフレームを受信すると、図13(A)に示すように、TNDルーティングテーブルに登録する。
【0125】
次に、図4のS4にて、ノードDは、送信起点であるノードA宛に、ノードB,C,D.Eに対する送信結果を含む折り返しフレームを送信する。ノードAは、その折り返しフレームを受信すると、図13(B)に示すように、TNDルーティングテーブルを更新する。
【0126】
この場合、図4のS5、S6において、ノードAは、経路収集フレーム(復路)を受信できない。しかしながら、ノードAが、受信タイムアウトを検出した場合であっても、経路収集フレーム(復路)未受信で、TNDルーティングテーブル33は図13(B)の状態のため、ノードDまで到達したことが分かる。
【0127】
次に、ターゲットノードへ経路収集フレームを送信する起点となるノード(起点ノード)の処理について、図14図17を用いて説明する。なお、起点ノード及びターゲットノードは、いずれのノードもなることができる。
【0128】
図14は、本実施形態における起点ノードの経路収集フレーム(往路)の送信処理フローを示す。起点ノードは、ユーザの操作により、ユーザの端末から送信された、ターゲットのノードまでの経路情報を収集する旨の経路収集指示情報を取得する(S31)。経路収集指示情報には、ターゲットノードのノードIDが指定されている。
【0129】
起点ノードは、ルーティングテーブル32から、ターゲットノード宛に送信することができる隣接ノードを取得する(S32)。ここでは、起点ノードは、ルーティングテーブル32から、指定されたターゲットノードをGDとするエントリに含まれるLD(隣接ノードのノードID)を取得する。複数のLDが取得できる場合には、起点ノードは、例えば、通信品質の最もよいLDを取得する。
【0130】
S32において、ルーティングテーブル32から、送信先の隣接ノードが取得できた場合(S33で「YES」)、起点ノードは、経路収集フレーム(往路用)を生成する。ここで、起点ノードは、生成したデータフレームのAMヘッダに「タイプ=Trace Route」、「サブタイプ=“0x00”(収集)」を設定する。また、起点ノードは、その経路収集フレーム(往路用)に、送信先の隣接ノード(次ポップノード)宛の送信結果(デフォルト値=「成功」)を付与する(S34)。
【0131】
起点ノードは、その送信結果(デフォルト値=「成功」)が付与された経路収集フレームを、送信先の隣接ノード(次ポップノード)へ送信する(S35)。このとき、起点ノードは、経路収集フレーム(往路用)に対応する経路収集フレーム(復路)を判別するために、経路収集フレーム(往路用)のデータヘッダに含まれるフレーム識別子を保持しておく。
【0132】
このとき、起点ノードは、送信先の隣接ノード(次ポップノード)がその送信した経路収集フレームを受信したことを通知する受信確認(ACK)フレームを受信するまでのうち、所定時間を計測するACK受信待ちタイマを起動する(S36)。
【0133】
また、起点ノードは、経路収集フレーム(復路用)を受信するまでの待ち時間を計測するタイマを起動する(S37)。
【0134】
隣接するノードから、経路収集フレームの送信に対するACKフレームを、ACK受信待ちタイマにより計測される所定時間内に受信しない場合(S38で「NO」)、起点ノードは、ACK受信待ち時間のタイムアウトを検出する(S39)。この場合、起点ノードは、S34において、経路収集フレームに付与した次ポップノード宛送信結果を「失敗」に更新する(S40)。
【0135】
S38において、隣接するノードから、経路収集フレームの送信に対するACKフレームを、ACK受信待ちタイマにより計測される所定時間内に受信した場合(S38で「YES」)、起点ノードは、ACK受信待ちタイマを停止する(S41)。そして、起点ノーは、経路収集フレーム(復路用)の受信待ち状態になる(S42)。
【0136】
S33において、ルーティングテーブル32から、送信先の隣接ノードが取得できなかった場合(S33で「NO」)、起点ノードは、経路収集指示に対する応答として、経路収集失敗を示す応答をユーザの端末に送信する(S43)。
【0137】
図15は、本実施形態における起点ノードの折り返しフレームの受信処理フローを示す。起点ノードは、データフレームを受信する(S51)。起点ノードは、受信したデータフレームが折り返しフレームであるかどうかを判定する。受信したデータフレームのAMヘッダにおいて「タイプ=Trace Route」で、「サブタイプ=“0x02”(折り返し)」である場合、起点ノードは、受信したデータフレームは折り返しフレームであると判定し、S52以降の処理を行う。
【0138】
折り返しフレームを受信した場合、起点ノードは、経路情報の収集中の状態であるか否かを判定する(S52)。起点ノードは、経路収集フレーム(復路用)受信待ちタイマ(図14のS37)が起動している場合、経路情報の収集中の状態であると判定する。
【0139】
経路情報の収集中の状態でない場合(S52で「NO」)、起点ノードは、S54の処理を行う。
【0140】
経路情報の収集中の状態である場合(S52で「YES」)、起点ノードは、図13で説明したように、その折り返しフレームに含まれる途中経路情報を用いて、TNDルーティングテーブル33を更新する(S53)。
【0141】
起点ノードは、経路収集フレーム(復路用)の受信待ち状態になる(S54)。
【0142】
図16は、本実施形態における起点ノードの経路収集フレーム(復路用)の受信処理フローを示す。起点ノードは、データフレームを受信する(S61)。起点ノードは、受信したデータフレームが経路収集フレーム(復路用)であるかどうかを判定する。受信したデータフレームのデータヘッダに含まれるフレーム識別子が、図14のS35で保持したフレーム識別子である場合、起点ノードは、受信したデータフレームは経路収集フレーム(復路用)であると判定し、S62以降の処理を行う。
【0143】
経路収集フレーム(復路用)を受信した場合、起点ノードは、経路情報の収集中の状態であるか否かを判定する(S52)。起点ノードは、経路収集フレーム(復路用)受信待ちタイマ(図14のS37)が起動している場合、経路情報の収集中の状態であると判定する。
【0144】
経路情報の収集中の状態でない場合(S62で「NO」)、起点ノードは、S67の処理を行う。
【0145】
経路情報の収集中の状態である場合(S62で「YES」)、起点ノードは、経路収集フレーム(復路用)受信待ちタイマを停止する(S63)。
【0146】
起点ノードは、TNDルーティングテーブル33をクリアする(S64)。起点ノードは、受信した経路収集フレーム(復路用)から、起点ノードとターゲットノードとの間の通信を中継する中継ノードについての情報を抽出する。起点ノードは、抽出した中継ノードについての情報に基づいて、ターゲットノードに対する経路情報を生成する(S65)。起点ノードは、経路収集指示に対する応答として、生成した経路情報をユーザの端末に送信する(S66)。
【0147】
起点ノードは、経路収集フレーム(復路用)の受信待ち状態になる(S67)。
【0148】
図17は、本実施形態における起点ノードの、経路収集フレーム(復路用)の受信待ち時間がタイムアウトになった場合の処理フローを示す。
【0149】
図14のS37において起動した経路収集フレーム(復路用)受信待ちタイマによる計測時間が、所定時間を超えた場合、起点ノードは、経路収集フレーム(復路用)受信待ち時間のタイムアウトを検出する(S71)。
【0150】
起点ノードは、経路情報の収集中の状態であるか否かを判定する(S72)。起点ノードは、経路収集フレーム(復路用)受信待ちタイマ(図14のS37)が起動している場合、経路情報の収集中の状態であると判定する。
【0151】
経路情報の収集中の状態でない場合(S72で「NO」)、起点ノードは、本フローを終了する。
【0152】
経路情報の収集中の状態である場合(S72で「YES」)、起点ノードは、ターゲットノードについてのTNDルーティングテーブルを取得する(S73)。起点ノードは、経路収集指示に対する応答として、取得したTNDルーティングテーブルの「GD」、「経路収集開示時刻」、「途中経路情報」を、ユーザの端末に送信する(S74)。
【0153】
次に、起点ノードとターゲットノードとの間の通信を中継するノード(中継ノード)の処理について、図18図20を用いて説明する。
【0154】
図18は、本実施形態における中継ノードの経路収集フレーム(往路用)受信処理フローを示す。中継ノードは、データフレームを受信する(S81)。中継ノードは、受信したデータフレームが経路収集フレーム(往路用)であるかどうかを判定する。受信したデータフレームのAMヘッダにおいて「タイプ=Trace Route」、「サブタイプ=“0x00”(収集)」で、かつそのフレーム識別子と同一のフレーム識別子を保持していない場合、起点ノードは、次の処理を行う。すなわち、起点ノードは、受信したデータフレームは経路収集フレーム(往路用)であると判定し、S82以降の処理を行う。
【0155】
経路収集フレーム(往路用)を受信した場合、中継ノードは、その経路収集フレーム(往路用)を送信した隣接ノード(送信元(LS))に、ACKフレームを送信する(S82)。
【0156】
中継ノードは、その隣接ノード(送信元(LS))のノードIDを送信元(LS)ノード情報34として保持する(S83)。
【0157】
中継ノードは、ルーティングテーブル32から、ターゲットノード宛に送信することができる隣接ノードを取得する(S84)。ここでは、中継ノードは、ルーティングテーブル32から、受信した経路収集フレーム(往路用)に含まれるGDに対応するGDのエントリに含まれるLD(隣接ノードのノードID)を取得する。複数のLDが取得できる場合には、中継ノードは、例えば、通信品質の最もよいLDを取得する。
【0158】
S84において、ルーティングテーブル32から、送信先の隣接ノードが取得できた場合(S85で「YES」)、中継ノードは、転送用の経路収集フレーム(往路用)を生成する。ここで、中継ノードは、生成したデータフレームのAMヘッダに「タイプ=Trace Route」、「サブタイプ=“0x00”(収集)」を設定する。また、起点ノードは、生成した経路収集フレーム(往路用)に、送信先の隣接ノード(次ポップノード)宛の送信結果(デフォルト値=「成功」)を付与する(S86)。
【0159】
中継ノードは、その送信結果(デフォルト値=「成功」)が付与された経路収集フレームを、送信先の隣接ノード(次ポップノード)へ送信する(S87)。このとき、中継ノードは、経路収集フレーム(往路用)に対応する経路収集フレーム(復路)を判別するために、経路収集フレーム(往路用)のデータヘッダに含まれるフレーム識別子を保持しておく。
【0160】
さらに、中継ノードは、折り返しフレームを生成し、生成した折り返しフレームを、S83で保持した送信元(LS)へ送信する(S88)。ここでは、中継ノードは、次のようにして折り返しフレームを生成する。中継ノードは、S86で生成した、その送信結果(デフォルト値=「成功」)が付与された経路収集フレームから、起点ノード(GS)のノードIDを取得する。中継ノードは、その経路収集フレームにおいて、GDに起点ノードのノードIDを設定し、LDにノード情報34から取得した送信元(LS)を設定し、AMヘッダに「タイプ=Trace Route」、「サブタイプ=“0x02”(折り返し)」を設定する。
【0161】
中継ノードは、送信先の隣接ノード(次ポップノード)がその送信した経路収集フレームを受信したことを通知する受信確認(ACK)フレームを受信するまでのうち、所定時間を計測するACK受信待ちタイマを起動する(S89)。
【0162】
隣接するノードから、S87での経路収集フレームの送信に対するACKフレームを、ACK受信待ちタイマにより計測される所定時間内に受信しない場合(S90で「NO」)、中継ノードは、ACK受信待ち時間のタイムアウトを検出する(S91)。この場合、中継ノードは、その隣接ノードとの通信状況は不良と判定し、S86にて経路収集フレームに付与した次ポップノード宛送信結果を「失敗」に更新する(S92)。
【0163】
S90において、隣接するノードから、経路収集フレーム(往路用)の送信に対するACKフレームを、ACK受信待ちタイマにより計測される所定時間内に受信した場合(S90で「YES」)、中継ノードは、その隣接ノードとの通信状況は良好と判定する。この場合、中継ノードは、ACK受信待ちタイマを停止する(S93)。
【0164】
S85において、ルーティングテーブル32から、送信先の隣接ノードが取得できなかった場合(S85で「NO」)、中継ノードは、送信元(LS)ノード情報34から送信元(LS)を取得する(S94)。
【0165】
中継ノードは、バックトラックフレームを生成し、生成したバックトラックフレームを送信元(LS)ノード情報34から取得した送信元(LS)へ送信する(S95)。ここでは、中継ノードは、次のようにしてバックトラックフレームを生成する。中継ノードは、S81で受信した経路収集フレームから、起点ノード(GS)のノードIDを取得する。中継ノードは、その経路収集フレームにおいて、GDに起点ノードのノードIDを設定し、LDにノード情報34から取得した送信元(LS)を設定する。
【0166】
なお、図18では、経路収集フレーム(往路用)を受信した場合の処理について説明したが、経路収集フレーム(復路用)を受信した場合も、図18と同様である。すなわち、上述した図18の説明において、経路収集フレーム(往路用)を経路収集フレーム(復路用)と読み替えればよい。
【0167】
図19は、本実施形態における中継ノードの折り返しフレームの受信処理フローを示す。中継ノードは、データフレームを受信する(S101)。中継ノードは、受信したデータフレームが折り返しフレームであるかどうかを判定する。受信したデータフレームのAMヘッダにおいて「タイプ=Trace Route」で、「サブタイプ=“0x02”(折り返し)」である場合、中継ノードは、受信したデータフレームは折り返しフレームであると判定し、S102以降の処理を行う。
【0168】
折り返しフレームを受信した場合、中継ノードは、送信元(LS)ノード情報34から送信元(LS)を取得する(S102)。
【0169】
中継ノードは、受信した折り返しフレームのLDに、送信元(LS)ノード情報34から送信元(LS)を設定する。中継ノードは、その折り返しフレームを、送信元(LS)ノード情報34から取得した送信元(LS)へ送信する(S103)。
【0170】
図20は、本実施形態における中継ノードのバックトラックフレームの受信処理フローを示す。中継ノードは、データフレームを受信する(S111)。中継ノードは、受信したデータフレームがバックトラックフレームであるかどうかを判定する。
受信したデータフレームのデータヘッダのフレーム識別子と同一のフレーム識別子を保持し、最後に付与された次ポップノード宛送信結果が「失敗」と設定されている場合、中継ノードは、受信したデータフレームはバックトラックフレームであると判定する。その場合、中継ノードは、S112以降の処理を行う。
【0171】
バックトラックフレームを受信した場合、中継ノードは、送信元(LS)ノード情報34から送信元(LS)を取得する(S112)。
【0172】
中継ノードは、受信したバックトラックフレームのLDに、送信元(LS)ノード情報34から送信元(LS)を設定する。中継ノードは、そのバックトラックフレームを、送信元(LS)ノード情報34から取得した送信元(LS)へ送信する(S113)。
【0173】
なお、図20では、バックトラックフレームを受信した場合の処理について説明したが、経路収集フレーム(復路用)を受信した場合にも、中継ノードは、図20のフローを実行しても良い。
【0174】
本実施形態によれば、経路途中の各ノードは、フレームを中継すると共に、送信起点宛に対して経路情報フレームを送信する。この経路情報フレームで中継ノードまでの到達を通知することによって、途中でフレームが消失した場合でも、送信起点ノードは途中までの経路情報を得ることができる。これにより、通信障害が起きたパスを即座に特定することができる。
【0175】
従って、経路途中でフレームが消失してしまうような通信障害であっても、事象をリアルタイムに監視できるため、該当無線区間の早期保全が可能となる。また、本実施形態では、最終到達ノードを指定したフレーム送信を行うことにより、原因となるパスを特定することが可能である。そのため、特定の保守者に限定する必要もないため効率良い調査が可能となり、調査工数の削減効果が期待できる。
【0176】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【0177】
1 中継装置
2 受信部
3 送信部
4 記憶部
5 特定部
11 ノード
12 CPU
13 無線通信I/F
14 RAM
15 不揮発性メモリ
21 フレーム受信処理部
22 フレーム送信処理部
23 ルーティング部
24 アプリケーション処理部
25 HELLO制御部
26 受信部
27 送信部
31 ルーティングテーブル
32 リンクテーブル
33 TNDルーティングテーブル
34 送信元(LS)ノード情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20