JP5299143B2 - ノード、ノードの制御方法、及びプログラム - Google Patents
ノード、ノードの制御方法、及びプログラム Download PDFInfo
- Publication number
- JP5299143B2 JP5299143B2 JP2009173025A JP2009173025A JP5299143B2 JP 5299143 B2 JP5299143 B2 JP 5299143B2 JP 2009173025 A JP2009173025 A JP 2009173025A JP 2009173025 A JP2009173025 A JP 2009173025A JP 5299143 B2 JP5299143 B2 JP 5299143B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- anchor
- variable
- route
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y02B60/50—
Landscapes
- Mobile Radio Communication Systems (AREA)
Description
本発明は、マルチホップネットワークに接続されるノード、ノードの制御方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
近年、3G(3rd Generation)ネットワークや無線LAN(Local Area Network)の普及に伴い、エリア拡大等を目的としたマルチホップネットワークの構築に対する需要が増加してきている。
無線ネットワークの特徴として、リンクロス等によるリンク不安定性、ノード移動による接続ノードの変更が挙げられる。これらは、予測できない時間変動、空間変動を伴う。そこで重要となるのが、ルーティング技術である。
マルチホップネットワークに用いられるルーティング技術には、プロアクティブ型のルーティングプロトコルと、リアクティブ型のルーティングプロトコルとがある。
プロアクティブ型のプロトコルの代表例はOLSR(Optimized Link State Routing)プロトコルである。OLSRは、IETF(Internet Engineering Task Force)により規定されたプロトコルであり、詳細は、非特許文献1に開示されている。
リアクティブ型のプロトコルの代表例は、AODV(Ad hoc On-Demand Distance Vector)プロトコルやDSR(Dynamic Source Routing)プロトコルである。AODVやDSRは、IETFにより規定されたプロトコルであり、これらの詳細は、それぞれ非特許文献2、3に開示されている。
プロアクティブ型のプロトコルでは、通信が行われる前に、ノードが予め経路情
報を交換しておく。具体的には、全ノードが、定期的にHELLOパケットの送受信を行い、隣接ノードとの接続確認を行なう。その結果得られたリンクステート情報をTopology Controlメッセージ(TC)に格納し、ネットワーク全体に定期的に通知する。TCに基づいて、各ノードは全ノードのリンクステート情報を更新し、ネットワーク全体のトポロジーを管理する。定期的にトポロジー情報が取得できるため、通信開始前に利用可能経路が決定できる。
報を交換しておく。具体的には、全ノードが、定期的にHELLOパケットの送受信を行い、隣接ノードとの接続確認を行なう。その結果得られたリンクステート情報をTopology Controlメッセージ(TC)に格納し、ネットワーク全体に定期的に通知する。TCに基づいて、各ノードは全ノードのリンクステート情報を更新し、ネットワーク全体のトポロジーを管理する。定期的にトポロジー情報が取得できるため、通信開始前に利用可能経路が決定できる。
このような方式では、各ノードが常時、最短な経路を保持できるので、パケット転送効率がよいというメリットがある。しかし、全ノードが定期的にネットワーク全体に制御パケットを送信して、リンクステート情報を通知する必要がある。このため、制御パケットの送受信により、制御トラヒックの帯域の一部が占有されるというデメリットがある。
一方、リアクティブ型のプロトコルでは、通信の必要性が生じてから、ノードが経路情報を交換する。具体的には、例えば、あるノードにおいてトラヒックが発生したとき、そのノードは、リクエストパケットをネットワークにブロードキャストして経路を検索する。そして、そのノードは、トラヒックの宛先ノードからのレスポンスパケットを受信することにより経路を確定する。
このような方式では、トラヒックが発生してから、クエリパケットを送信するので、通信開始までの遅延が生じるが、クエリパケットの送信頻度が少ないので、経路制御負荷が小さいというメリットがある。しかし、経路変更の増加に伴い、クエリパケットの増加により、経路制御負荷が増大してしまう。また、経路変更を伴う領域が局所的な場合であっても、制御パケットがフラッディングにより広範囲に送信されるため、経路変更を伴わない範囲に位置するノードにも余分な制御パケットが送信される。
これらは、ネットワークを構成する各ノードが対等な関係であり、各ノードが同じ機能・役割を持つ。これらのルーティングは、フラットルーティングと呼ばれる。これら、フラットルーティングプロトコルでは、経路変更増加に伴う制御パケットの送受信による、経路制御負荷が問題となる。経路制御負荷を軽減するため、非特許文献4では、大規模ネットワークのスケーラビリティに対応した階層型ルーティングプロトコルが提案されている。
このプロトコルでは、ネットワーク全体が複数のノードグループに階層化されており、各ノードグループの代表ノードが、グループ内の他のノードにパケットを転送する。
グループ間の通信は、代表ノードを介して行われるので、ネットワーク全体でのルーティングは、代表ノード間でのみ行われる。このため、スケーラビリティが確保される。
また、階層化を行うことにより、局所的な経路変更が煩雑に行われても、その経路変動は、上位のネットワークから隠蔽される。例えば、あるグループが移動することにより、そのグループ内の経路が変更される場合であっても、移動に伴う経路検索と確立とは、グループ内のノード間で行われる。このため、グループ外のノードは、その影響を受けなくて済む。
T. Clausen, and P. Jacquet, "Optimized Link State Routing Protocol (OLSR)", IETF RFC 3626, 2003.
C. Perkins, E. Belding-Royer, and S. Das, "Ad hoc On-Demand Distance Vector (AODV) Routing," IETF RFC 3562, 2003.
David B. Johnson, David A. Maltz, and Yih-Chun Hu, "The Dynamic Source Routing protocol for mobile ad hoc networks (DSR)". Internet draft (work inprogress), IETF, April 2003.
G. Pei, M. Gerla and X. Hong, LANMAR: Landmark Routing for Large Scale Wireless Ad Hoc Networks with Group Mobility, Proceedings of IEEE/ACM MobiHOC2000, Boston, MA, Aug. 2000.
しかしながら、非特許文献4に記載のプロトコルでは、階層化を維持するための制御パケットのやり取りが行なわれる。経路変更が少ない場所や時間には、余計な制御負荷を伴うことになる。その場合には、フラットルーティングを用いる方が制御負荷を低減できる。
従って、経路変動の少ない場合には、フラットルーティングを用い、経路変動が増加してきた場合には、階層化ルーティングを行なうことが適切である。
本発明は、経路変動状況を検出し、階層化が必要であるときのみに、階層化を行うために、通常のフラットルーティングの制御メッセージから経路変動を伴うノードを特定する技術と、それら経路変動に伴う制御メッセージを受信し、経路を集約するアンカーノードを決定する技術を提供することを目的とする。
上記目的を達成するために、本発明のノードは、マルチホップネットワーク内のノードであって、前記マルチホップネットワーク内のノードごとに、該ノードが通信経路を変更した変更頻度を取得する変更頻度取得手段と、前記変更頻度取得手段により取得された前記変更頻度に基づいて、前記マルチホップネットワーク内のノードのうち、経路変更を伴う変動ノードを特定する特定手段と、変動ノードと、該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードとして、前記特定手段により特定された前記変動ノードの周辺ノードのうち、いずれか1以上を、該アンカーノードに決定するアンカー決定手段と、を有する。
本発明のノードの制御方法は、変更頻度取得手段が、マルチホップネットワーク内のノードごとに、該ノードが通信経路を変更した変更頻度を取得し、特定手段が、前記変更頻度取得手段により取得された前記変更頻度に基づいて、前記マルチホップネットワーク内のノードのうち、変動ノードを特定し、変動ノードと、該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードとして、アンカー決定手段が、前記特定手段により抽出された前記変動ノードの周辺ノードのうち、いずれか1以上を、前記アンカーノードに決定するノードの制御方法である。
本発明のプログラムは、コンピュータに、マルチホップネットワーク内のノードごとに、該ノードが通信経路を変更した変更頻度を取得する変更頻度取得手順、前記変更頻度取得手順で取得された前記変更頻度に基づいて、前記マルチホップネットワーク内のノードのうち、経路変更を伴う変動ノードを特定する特定手順、及び変動ノードと、該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードとして、前記特定手順により特定された前記経路変更を伴うノードの周辺ノードのうち、いずれか1以上を、前記アンカーノードに決定するアンカー決定手順、を実行させるためのプログラムである。
本発明によれば、ノードが、経路の変更頻度に基づいて経路変更を伴うノードを特定し、適切なノードをアンカーノードとし、そのアンカーノードが、変動ノードへの経路確立、データパケットの中継を行なう。従って、通信システムは、経路変動が多いときにのみ階層化を行なうことが可能となり、不要な制御負荷を低減できる。
本発明を実施するための形態について図面を参照して詳細に説明する。
本発明は、パケット転送機能を持つ複数のノードから構成されるマルチホップネットワークにおいて、ネットワーク状況に応じて階層構造を構築することを特徴とする。以下の説明では、ネットワーク構成の例として無線マルチホップネットワークを用いて説明するが、これに限られない。例えば、無線に限らず有線ネットワークに適応することも可能である。
図1は、本実施形態の通信システム1の構成を示す全体図である。通信システム1は、無線マルチホップネットワークである。図1を参照すると通信システム1は、ノード10〜28を有する。
ノード10〜28は、アクセスポイントを介さずに、互いに通信することが可能な機器であり、例えば、移動体通信機器である。通信元のノードからの電波が直接には届かない範囲に、通信先のノードが位置する場合であっても、それらのノード間の各ノードがデータを中継することにより、各ノードは、互いに通信することができる。なお、本実施形態では、ノードの数は19個であるが、図1に示す数に限らない。
本発明では、各ノードを4種類に分類し、それぞれを以下のように定義する。一つは変動ノードで、リンク状態の不安定性やノード移動等が原因で、経路変更が頻繁に行なわれ、その頻度が閾値を上回るノードである。それ以外のノードを”周辺ノード”と呼ぶ。周辺ノードのうち、変動ノードと1ホップで接続できるノードを”隣接周辺ノード”と呼ぶ。更に、周辺ノードのうち、経路を集約し、変動ノードの経路を確立するノードを”アンカーノード”とする。
図1の場合を例に挙げる。図1では、ノード28周辺のリンク状態が不安定のため、経路切断が頻繁に起こり、ノード10が送信元ノードとなり、宛先ノードとなるノード28との通信を開始する場合を想定する。この例では、これら経路変動をともなうノード28が変動ノードとなり、変動ノード28と隣接するノード24,25,26が隣接周辺ノードとなる。ノード23、27は28とは隣接しない。アンカーノードの決定方法は実施形態1,2に記載される。
ノード間の経路の確立において、各ノードは、経路制御を行うための制御パケットを送受信する。この制御パケットに含まれる情報は、通信システム1で使用される通信プロトコルにより異なる。
本実施形態では、各ノードは、通信プロトコルとして、リアクティブ型の通信プロトコルを使用する。リアクティブ型のプロトコルは、例えば、AODVである。AODVにおいて、制御パケットは、RREQ(Route Request)メッセージ、RREP(Route Reply)メッセージ、またはRERR(Route Error)メッセージなどを格納する。
また、本実施形態では、AODVに規定された制御パケット以外の制御メッセージとして、図9で後述する経路確認通知メッセージ、および経路切断通知メッセージ、アンカー通知メッセージも送受信される。
AODVにおける経路探索の手順について簡単に説明する。各ノードは、各ノードを宛先とした場合の経路が記載されたルーティングテーブルを参照する。
ルーティングテーブルにノード28への経路が記載されていなければ、ノード10は、RREQメッセージをブロードキャストする。
図2(a)は、RREQメッセージのフォーマットを示す図である。同図に示すように、RREQメッセージには、「Type」、「U」、「ホップ数」、「RREQ−ID」、「送信先IPアドレス」、「送信先シーケンス番号」、「送信元IPアドレス」、および「送信元シーケンス番号」、「トポロジ情報」などのフィールドが設けられる。「トポロジ情報」のフィールドは、非特許文献2に規定されたパケットヘッダにおいて、本発明で更に追加したフィールドである。
「Type」は、メッセージの種類を識別可能にするための番号である。ここでは、Typeに「1」が設定されている。「U」は、送信元のルーティングテーブルに、送信先のシーケンス番号が記載されているか否かを示すフラグである。シーケンス番号は、メッセージの新旧を識別するための番号であり、各ノードは、固有のシーケンス番号を管理している。
「RREQ−ID」は、RREQメッセージの重複送信を避けるために発行される番号であり、RREQメッセージが発行されるたびにインクリメントされる。「ホップ数」は、制御パケットが、送信元のノードから送信先のノードへ到達するまでに転送される回数である。
「送信先IPアドレス」は、送信先のノードのIPアドレスである。「送信先シーケンス番号」は、送信元が最後に知った送信先のシーケンス番号である。送信元のルーティングテーブルに記載されていなければ、「U」フラグが設定される。
「送信元IPアドレス」は、送信元のノードのIPアドレスである。「送信元シーケンス番号」は、送信元のノード自身のシーケンス番号である。送信元のノードは、ループを避けるため、RREQメッセージ送信の直前に、自身のシーケンス番号をインクリメントする。
(トポロジ情報についての説明)
「トポロジ情報」は、制御メッセージを受信したノードが、経路変更を伴うノード(変動ノード)や、その隣接周辺ノードを特定するための情報である。その情報は2種類ある。一つは、現在経路修復の対象となっている経路切断ノード(変動ノード)である。
「トポロジ情報」は、制御メッセージを受信したノードが、経路変更を伴うノード(変動ノード)や、その隣接周辺ノードを特定するための情報である。その情報は2種類ある。一つは、現在経路修復の対象となっている経路切断ノード(変動ノード)である。
もう一つは、過去に制御パケットのやり取り、RREQメッセージ、RREPメッセージ, RERRメッセージにより取得した変動ノードとその隣接周辺ノードリストである。変動ノードとその経路切断とを検出した際、周辺ノードは経路修復の際に送信するRREQメッセージに、前記変動ノードとその隣接周辺ノードとのIPアドレスや識別番号を、トポロジ情報として制御メッセージに付加する。
ここで、送信元のノードは、RREQメッセージを格納するパケットヘッダ(不図示)にTTL(Time To Live)値を設定することもできる。TTL値を設定することにより、送信元のノードは、送信元から送信先への転送ノード数を制限できる。
ノード10からノード28を宛先としてブロードキャストされたRREQメッセージを、ノード11が受信したとする。ノード11は、自身のIPアドレスが「送信先IPアドレス」と異なるので、このメッセージの「ホップ数」をインクリメントして送信元以外のノードへブロードキャスト(フラッディング)する。但し、ノード11のルーティングテーブルにノード28への経路が記載されていれば、RREPメッセージをノード10へユニキャストする。
図2(b)は、RREPメッセージのフォーマットを示す図である。同図に示すように、RREPメッセージには、「Type」、「ホップ数」、「送信先IPアドレス」、「送信先シーケンス番号」、および「送信元IPアドレス」、「トポロジ情報」などのフィールドが設けられる。
「Type」は、メッセージの種類を識別するための番号であり、「2」が設定される。「ホップ数」、「送信先IPアドレス」、「送信先シーケンス番号」、および「送信元IPアドレス」、「トポロジ情報」は、図2(a)に示したRREQメッセージにおける同名のフィールドと同様である。
図1に戻り、ノード10によりRREQメッセージはフラッディングされる。RREQメッセージの転送経路のうちの一つはノード10から転ノード11、16、20、24を経由して、ノード28への経路である。同図における実線の矢印は、ノード10、28間のデータの転送経路を図示したものである。ノード28は、到達したRREQメッセージに応じて、経路確立のための応答メッセージであるRREPメッセージを、24、20、16、11を経由してノード10へユニキャストする。ノード24、20、16、11、10は、受信したRREPメッセージに基づいて、ルーティングテーブルを更新し、ノード10、28間の経路が確立する。
送信元ノード10が、複数回RREPメッセージを受信した場合、ノード10は、シーケンス番号の大きい経路を決定する。
また、経路確立後、ノード28と24間の経路が切断した場合の手順について説明する。経路切断を検出したノード24は、以下の2通りの場合に、経路修復を行なう。一つは経路切断を検出した場合である。経路確立後に経路上のノードが接続確認のHelloメッセージを定期的に送信しあうことで、経路を確認するが、隣接ノードがHelloメッセージを一定期間受信しなかった場合経路切断とみなし、経路修復を開始する。もう一つはルーティングテーブルにエントリがあるものの使用されていない経路上に、データパケットが転送された場合である。
RREQメッセージを送信したノード24が、対応するRREPメッセージを所定期間内に受信できなかったとき、ノード24はRERRメッセージを生成する。そして、ノードは経路の切断によって影響を受けるノードへ、生成したRERRメッセージを送信する。このRERRメッセージにもホップ数、トポロジ情報のフィールドが新たに設けられる。
このようにしてノード移動や電波環境の変動が発生した場合、確立した経路が変更されることがある。以下に本実施形態における動作の説明を行う。図1において、ノード10、28間の経路が確立された後、ノード28周辺の電波環境が悪化した場合を想定する。同図における点線で囲まれた部分は、電波環境が悪化した領域である。
この場合、ノード28に隣接するノード24は、ノード28と通信する際に、RREQメッセージを新たに発行し、ノード28への経路を探索する。新たな経路でRREQメッセージが送信された場合、ノード28は、変更後の経路を通知するRREPメッセージを返信し、変更後の経路が確立する。ノード24が、RREPメッセージを所定期間内に受信しなかった場合、ノード24は、RERRメッセージを送信する。
このように、リンクが不安定で経路が変更されると、経路を変更したノード間において、RREQメッセージ、RREPメッセージ、またはRERRメッセージが送受信される。これらのメッセージを格納した制御パケットのヘッダには、前述したように、「トポロジ情報」が付加されている。このため、制御パケットを受信したノードは、その制御パケット内の「トポロジ情報」から、経路変更を伴うノードや、隣接周辺ノード、その他の周辺ノードを特定することができ、アンカー決定のための指標も取得できる。これらのノードは、RREQを送信するノードが過去の履歴から、指標を取得して格納する。ノードは、指標の取得において、RREQメッセージ、RREPメッセージに記載されるメッセージ作成ノードからのホップ数を参照する。
図3は、ノード10〜28の一構成例を示すブロック図である。同図を参照すると、ノードは、通信機能部101、アンカ機能部102、およびルーティング機能部103を有する。
通信機能部101は、他のノードとの間で、制御パケットやデータパケットなどの各種のパケットを送受信する。
ルーティング機能部103は、ルーティングテーブル1031を有する。ルーティング機能部103は、ルーティングテーブル1031に基づくパケット転送機能をノードに提供する。
アンカ機能部102は、制御パケット監視部1021、変動ノード決定部1022、およびアンカ決定部1023を有する。
制御パケット監視部1021は、通信機能部101が送受信する制御パケットを監視する。制御パケット監視部1021は、制御パケットの受信履歴から、各ノードにおける経路変更の頻度を算出する。
AODVでは、前述したように、各ノードは経路を変更するとき、RREQメッセージ、RREPメッセージ、またはRERRメッセージを送受信する。制御パケット監視部1021は、これらの制御メッセージを格納する制御パケットを監視し、制御パケットに格納される情報を蓄積しておく。そして、制御パケット監視部1021は、制御メッセージのフィールド情報から経路変更のあったノードを特定し、制御パケットの受信履歴から、そのノードにおける経路の変更頻度を算出する。また、自ノードから各ノードまでのホップ数の統計量(平均値、分散値等)を算出しておく。
制御パケット監視部1021は、ノードごとの経路の変更頻度と、ホップ数の統計量とを示す計測情報を作成する。
変動ノード決定部1022は、ノード群のうち、計測情報の示す変更頻度が閾値以上のノードを変動ノードとする。
変動ノード決定部1022は、制御パケット監視部1021により作成された計測情報に基づいて、変更頻度が閾値以上のノードである変動ノードを決定する。
本実施形態では、変動ノード以外の周辺ノードのうち、変動ノードと、変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードと称する。
アンカ決定部1023は、計測情報の示すホップ数から、自ノードをアンカーノードとすべきか否かを判断するための指標となる指標値を算出する。アンカ決定部1023は、その指標値に基づいて、自ノードをアンカーノードにすべきか否かを判断する。
指標値について詳細に説明する。アンカ決定部1023は、計測情報の示す、ノードごとのホップ数の統計量に基づいて、下記の3つの指標値を算出する。
1つめの指標値は、自ノードと、変動ノードの隣接周辺ノードとの間の平均ホップ数である。この値を指標値とするのは、隣接周辺ノードからのホップ数が小さいほど、余分な制御パケットの転送範囲が限定され、ネットワーク全体に送信される制御パケット数が低減するためである。
2つめの指標値は、自ノードと、変動ノードの隣接周辺ノードとの間のホップ数の分散である。この値を指標値とするのは、アンカーノードを隣接周辺ノードから均等な距離(ホップ数)に位置づけることで、経路変動時の遅延変動などを抑制できるためである。
3つめの指標値は、自ノードがアンカーノードとなった場合の、自ノードと、送信元ノードとの間の平均ホップ数である。この値を指標値とするのは、グループ内とグループ周辺との間で送受信されるパケットに、自ノードを経由させることで、送受信ノード間のホップ数が増すことを防ぐためである。
アンカ決定部1023は、3つの指標値全てを算出する必要はなく、いずれか1つのみ、あるいは2つのみを算出してもよい。
アンカ決定部1023は、算出した指標値と、予め定めておいた目標値とを比較し、自ノードをアンカーノードとすべきか否かを判断する。
この目標値は固定とは限らず、各ノードは、ネットワーク状態やアプリケーションの要求等を考慮して動的に目標値を設定してもよい。
自ノードをアンカーノードとすべきであれば、アンカ決定部1023は、通信機能部101を介して、アンカー通知メッセージをフラッディングする。アンカー通知メッセージは、自ノードをアンカーノードとすることを各ノードへ通知するためのメッセージである。
図4は、アンカー通知メッセージのフォーマットの一例である。同図を参照すると、アンカー通知メッセージには、「送信元IPアドレス」、「変動ノードリスト情報」、「隣接周辺ノードリスト情報」および「指標値情報」が格納される。
「送信元IPアドレス」は、アンカー通知メッセージを転送したノードのIPアドレスである。ここではアンカーノードのIPアドレスである。アンカー通知メッセージはフラッディングされる。
「変動ノードリスト情報」は、変動ノードのリストを示す情報であり、例えば、各ノードに割り当てられた識別番号やIPアドレスのリストを示す情報である。「指標値情報」は、アンカーノードの候補が算出した各指標値を示す情報である。「隣接周辺ノードリスト」は、「変動ノードリスト情報」の示す変動ノードの隣接周辺ノードのリストである。
このように、アンカーノードの候補が、アンカー通知メッセージ内に、変動ノードのリストを格納して、フラッディングすることにより、ネットワーク内の各ノードは、ネットワーク内のどのノードが変動ノードであるかを知ることができる。
アンカー通知メッセージを受信したノードのうち、グループの周辺ノードは、それぞれ、自ノードをアンカーノードとした場合の指標値を算出する。周辺ノードは、アンカー通知メッセージに記載の指標値と、算出した指標値とを比較する。変動ノードは、比較結果から、自ノードの方をアンカーノードとすべきか否かを判断する。自ノードの方をアンカーノードとすべきであれば、そのノードは、アンカー通知メッセージを生成してフラッディングする。
アンカ決定部1023は、アンカー通知メッセージを各ノードへ送信してから、一定期間内に、他のノードからアンカー通知メッセージを受信したか否かを判断する。
期間内にアンカー通知メッセージを受信しない場合、アンカ決定部1023は、アンカー機能をオンにする。そして、ノード20は、アンカーノードとしての動作を開始する。
期間内にアンカー通知メッセージを受信した場合、アンカ決定部1023は、アンカー機能をオフにする。この場合、変動ノードのグループ化は確定せず、制御パケット監視部1021は、制御パケットの監視を続行する。
このように、アンカー通知メッセージが格納する情報は、アンカーノードを決定するために用いられる。また、アンカー通知メッセージが格納する情報は、各ノードが、確定したアンカーノードを認識するために用いられる。
アンカーノードが決定された後の各ノードの動作について説明する。アンカー機能がオンとなった後、隣接周辺ノードは、変動ノードとの間のリンク変化をネットワーク全体に通知せず、アンカーノードのみに通知する。
詳細には、アンカー通知メッセージにより、自ノードが変動ノードであると判断した変動ノードは隣接周辺ノードに向けて、定期的に接続確認パケットを互いに送受信する。接続確認パケットを受信した隣接周辺ノードは、アンカーノードと経路を確立し、その接続状況をアンカーノードに通知する。また、接続確認後、一定期間、接続を確認するための接続確認パケットを受信しない場合、隣接周辺ノードは、経路切断を通知する経路切断通知パケットをアンカーノードへ送信する。経路切断通知パケットを受信したアンカーノードは、ルーティングテーブルから、通知された経路を削除する。
このように、アンカーノードは、変動ノードがどの隣接周辺ノードと接続しているかをトラックし、グループのリンク変化に基づく制御パケットを集約する。
また、アンカーノードは、変動ノード宛のパケットを変動ノードへ転送する。
図5は、制御パケット監視部1021が生成する計測情報の示す内容の一例である。同図を参照すると、計測情報には、「ノード識別番号」と、「隣接周辺ノード識別番号」と、「変更頻度」と、「ホップ数」とが対応付けて格納される。
「ノード識別番号」は、通信対象の各ノードを識別するための番号である。「隣接周辺ノード識別番号」は、変動ノードの隣接周辺ノードを識別するための番号である。「変更頻度」は、「ノード識別番号」に対応するノードが一定の周期内に、経路を更新した回数の平均値である。「ホップ数」は、「ノード識別番号」に対応するノードのホップ数の平均値である。
図5に記載される計測情報の取得手順について説明する。各ノードは図5に示される計測情報をもち、自身がアンカーになるか否かを判断する。ここでは図1の場合を例にして説明する。ノード28は変動ノードであり、リンク切断が頻繁に起こるため、ノード24と25との間で、経路接続と切断が頻繁に繰り返される。
通信開始時に送信元ノード10はRREQメッセージを送信する。RREQメッセージを受信したノードはノード10をエントリに加え、RREQメッセージ内のホップ数に1足した値を計測情報のホップ数とする。例えば、ノード28はRREQメッセージをノード24を介して受信し、ノード24を介してRREPメッセージを送信元ノード10にユニキャストで送信する。この結果、ノード24を経由した経路が確立する。
ノード24がノード28への経路切断を最初に検出した際に、ノード24が保持する計測情報にノード識別番号28がエントリされる。そして、RREQメッセージを送信して経路修復を行なう。このとき、ノード24は、RREQメッセージのトポロジー情報フィールドで、現在経路切断の原因となった切断ノードとしてノード28の識別番号を通知し、変動履歴のフィールドにはノード28の隣接周辺ノードとして自ノード(ノード24)の識別番号を通知する。RREQメッセージを受信したノードは、ノード28と24のエントリを計測情報に加える。計測情報においてノード14に対応するホップ数は、RREQメッセージのヘッダに記載されるホップ数に1足した数とし、計測情報においてノード28に対応するホップ数は、計測情報におけるノード24に対応するホップ数に1を加えた値とする。そして、ノード28の「隣接周辺ノード識別番号」として24を記載する。ここでは計測周期を経過していないため、変更頻度は更新されない。変更頻度は、RREQメッセージを受信するノードが計算する。RREQメッセージに対するRREPメッセージがノード28からノード25を経由してノード24に到達し、ノード24の経路表が修正される。ノード24が保持する計測情報の更新も行なわれる。ノード識別番号28のエントリの隣接周辺ノードに25が記載される。ノード25のエントリも追加され、計測情報においてホップ数が1と記載される。
次にノード25がノード28からHelloメッセージを一定期間受信しなかったため、ノード25は、経路切断を検出して再び経路修復のためにRREQメッセージを送信する。ここで、RREQメッセージに記載されるトポロジー情報は以下である。切断ノードとして28、変更履歴情報として変動ノードを28、その隣接周辺ノードを25とする。このRREQメッセージを受信したノードは、計測情報にノード25のエントリを追加し、そのエントリのホップ数にRREQメッセージのホップ数の値に1足した値を記載する。そして、ノードは、計測情報において、ノード28の「隣接周辺ノード識別番号」にノード25を加える。RREQメッセージに対するRREPメッセージはノード24を経由してノード25に到着すると、ノード25が保持する計測情報の中のノード28の「隣接周辺ノード識別番号」にノード24が加えられる。
ノード25が次にRREQメッセージを送信する場合には、ノード28の隣接周辺ノードとしてノード24、25が通知される。
経路切断が検出される度に上記手順が行なわれ、ホップ数は平均値が計算される。
指標値の算出方法の一例について説明する。ノード20が、ノード10、16、24、25、26、28からの制御パケットを監視して、アンカーノードを決定する場合について考える。ノード28の更新頻度が閾値以上であったので、ノード20は、ノード28を変動ノードにしたとする。この変動ノード28の次ホップであるノード、24、25、26が隣接周辺ノードとなる。
各ノードのホップ数(平均値)は、「3.0」、「2.0」、「1.0」、「1.0」、「2.0」、「2.0」、「2.8」であったとする。ノード20は、これらのホップ数から、自ノードをアンカーノードとすべきか否かについて判断するために、上述した3つの指標値を算出する。
ノード20は、1つめの指標値として、自ノードと隣接周辺ノードとの間のホップ数の平均値を算出する。自ノード20と、隣接周辺ノード24、25、26との間のホップ数は、「1.0」、「2.0」、「2.0」であるから、これらの平均値(指標値)は、約「1.67」である。
ノード20は、2つめの指標値として、自ノードと隣接周辺ノードとの間のホップ数の分散値を算出する。前述の各ホップ数(平均値)から、約「0.28」の分散値(指標値)が算出される。
ノード20は、3つめの指標値として、自ノードと送信元ノード間のホップ数の平均
値を算出する。送信元のノード10のホップ数(平均値)は、「3.0」であるから、指標値は、「3.0」である。
値を算出する。送信元のノード10のホップ数(平均値)は、「3.0」であるから、指標値は、「3.0」である。
ノード20は、これらの指標値を目標値と比較し、自ノードをアンカーノードにすべきか否かを判断する。
続いて、各ノードの動作について説明する。図6は、各ノードの動作を示すフローチャートである。この動作は、ノードの電源が投入されたとき、または所定のアプリケーションがパケットを受信したときに開始する。同図を参照すると、ノードは、ネットワーク内で、いずれかのノードがアンカーノードに設定されているか否かを判断する(ステップS1)。
前述したように、アンカーの候補となるノードが、アンカーノード通知メッセージをフラッディングした後、所定期間内に、他のノードからアンカー通知メッセージがフラッディングされない場合は、アンカーノードが確定する。このため、各ノードは、アンカー通知メッセージを受信してから所定期間内に、他のノードからアンカー通知メッセージが送信されていなければ、アンカーノードが設定されていると判断できる。
アンカーノードが設定されていれば(ステップS1:YES)、通信機能部101は、経路確認処理を実行する(ステップS11)。
アンカーノードが設定されていなければ(ステップS1:NO)、アンカ機能部102は、制御パケットの測定周期が経過したか否かを判断する(ステップS3)。
測定周期が経過していなければ(ステップS3:NO)、アンカ機能部102は、ステップS1に戻る。周期が経過したのであれば(ステップS3:YES)、アンカ機能部102は、アンカー通知メッセージを受信したか否かを判断する(ステップS5)。
アンカー通知メッセージを受信していなければ(ステップS5:NO)、アンカ機能部102は、アンカー通知メッセージ送信処理を行う(ステップS7)。
アンカー通知メッセージを受信したのであれば(ステップS5:YES)、アンカ機能部102は、アンカー通知メッセージ受信処理を行う(ステップS9)。周期が経過していない場合(ステップS5:NO)、ステップS7、S9またはS11の後、アンカ機能部102は、ステップS1に戻る。
図7は、アンカー通知メッセージ送信処理を示すフローチャートである。同図を参照すると、制御パケット監視部1021は、制御パケットの受信履歴から、ノードkにおける、経路の変更頻度(Nk)を算出する。測定周期内に複数のノードから制御パケットを受信した場合、制御パケット監視部1021は、それぞれのノードについて、変更頻度を算出する。また、既に確定したアンカーノードに集約される変動ノードの変更頻度は、計測対象外とする(ステップS71)。
変動ノード決定部1022は、算出した頻度(Nk)が、予め定めた閾値(Nt)より大きいノードが1以上あるか否かを判断する(ステップS73)。
変更頻度が閾値以上のノードがあれば(ステップS73:YES)、変動ノード決定部1022は、そのノードを変動ノードとする(ステップS75)。そして、アンカ決定部1023は、自ノードをアンカーノードとした場合の指標値を算出する(ステップS77)。アンカ決定部1023は、算出した指標値と目標値とを比較し、自ノードをアンカーノードとすべきか否かを判断する(ステップS79)。
自ノードをアンカーノードとすべきであれば(ステップS79:YES)、アンカ決定部1023は、自ノードをアンカー候補ノードとし、アンカー通知メッセージをフラッディングする(ステップS81)。そして、アンカ決定部1023は、アンカー通知メッセージを送信してから所定期間内に、グループ内の他のノードから、アンカー通知メッセージを受信したか否かを判断する(ステップS83)。
所定期間内にアンカー通知メッセージを受信しなければ(ステップS83:NO)、アンカ決定部1023は、アンカー機能をオンにする(ステップS85)。
自ノードをアンカーノードとすべきでない場合(ステップS79:NO)、または所定期間内にアンカー通知メッセージを受信した場合(ステップS83:YES)、アンカ決定部1023は、アンカー機能をオフとする(ステップS87)。
変更頻度が閾値以上のノードがない場合(ステップS73:NO)、ステップS85、またはS87の後、アンカ決定部1023は、アンカー通知メッセージ送信処理を終了する。
図8は、アンカー通知メッセージ受信処理を示すフローチャートである。同図を参照すると、アンカ決定部1023は、自ノードが、アンカー通知メッセージが通知したリストにおける周辺ノード、隣接周辺ノードであるか否かを判断する(ステップS91)。
自ノードが周辺ノード、隣接周辺ノードでなければ(ステップS91:NO)、アンカ決定部1023は、所定期間内に、他のノードからアンカー通知メッセージを受信したか否かを判断する。所定期間内に、他のノードからアンカー通知メッセージを受信しなければ、アンカ決定部1023は、アンカーノード、変動ノードを確定して、ルーティングテーブル1031を更新する。更新後のルーティングテーブルにおいて、変動ノードへのデータパケット、制御パケットの送信先はアンカーノードとされる(ステップS93)。
自ノードが周辺ノードであれば(ステップS91;YES)、ノードは、自ノードをアンカーノードとした場合の指標値を算出する(ステップS95)。ノードは、アンカー通知メッセージで通知された指標値と、算出した指標値とを比較し、自ノードをアンカーノードとすべきか否かを判断する(ステップS97)。
自ノードをアンカーノードとすべきであれば(ステップS97:YES)、ノードは、アンカー通知メッセージをフラッディングする(ステップS99)。そして、ノードは、アンカー通知メッセージを送信してから所定期間内に、他のノードから、アンカー通知メッセージを受信したか否かを判断する(ステップS101)。
所定期間内にアンカー通知メッセージを受信しなければ(ステップS101:NO)、ノードは、アンカー機能をオンにする(ステップS103)。
自ノードをアンカーノードとすべきでない場合(ステップS97:NO)、または所定期間内にアンカー通知メッセージを受信した場合(ステップS101:YES)、ノードは、経路確認パケットを、アンカー通知メッセージの送信元へ返信し、アンカー機能をオフとする(ステップS105)。ステップS93、S103、またはS105の後、ノードは、アンカー通知メッセージ受信処理を終了する。
図9は、経路確認処理を示すフローチャートである。同図を参照すると、ノードは、自ノードが変動ノードまたは、変動ノードの隣接周辺ノードであるか否かを判断する(ステップS111)。
変動ノードまたは隣接周辺ノードであれば(ステップS111:YES)、ノードは、自ノードがアンカーノードであり、経路接続通知パケット、または経路切断通知パケットを受信したか否かを判断する(ステップS113)。
アンカーノードが経路接続通知パケット、または経路切断通知パケットを受信したのであれば(ステップS113:YES)、ノードは、そのパケットに基づいてルーティングテーブル1031を更新する。例えば、ノードは、経路切断通知パケットの通知する経路をルーティングテーブル1031から削除する(ステップS115)。
自ノードがアンカーノードでない場合、または経路接続通知パケット、経路切断通知パケットを受信していない場合(ステップS113:NO)、ノードは、経路確認パケットの送信周期が経過したか否かを判断する(ステップS117)。
送信周期が経過したのであれば(ステップS117:YES)、送信周期内に、経路確認パケットを受信したか否かを判断する(ステップS119)。
経路確認パケットを受信したのであれば(ステップS119:YES)、ノードは、経路確認パケットの示す経路が、既にアンカーノードに通知済の経路であるか否かを判断する(ステップS121)。既にアンカーノードに通知済の経路でなければ(ステップS121:NO)、ノードは、その経路を新たに通知するための経路接続通知パケットをアンカーノードに送信する(ステップS123)。
経路確認通知パケットを受信していなければ(ステップS119:NO)、ノードは、切断された経路を通知する経路切断通知パケットをアンカーノードへ送信する(ステップS125)。
自ノードが変動ノード、隣接周辺ノードのいずれでもでない場合(ステップS111:NO)、送信周期が経過していない場合(ステップS117:NO)、経路確認通知パケットの示す経路が既にアンカーノードに通知済であった場合(ステップS121:YES)、またはステップS115、S123、S125の後、ノードは、経路確認処理を終了する。
図10は、アンカー通知メッセージが生成される前における、各ノードの動作の一例を示すシーケンス図である。同図を参照すると、ノード10は、ノード28へ送信すべきデータが発生し、ルーティングテーブルにノード28への記載がないときに、RREQメッセージを格納した制御パケットをネットワークにフラッディングする。
このRREQメッセージには、図2(a)に示したようにホップ数の記載があり、送信元のノード10はホップ数を0にセットして次ノードへ送信する。RREQメッセージを受信したノードは、自ノードが宛先でなければ、そのホップ数に1を加えて次ホップに転送する(T1)。
RREQメッセージを受信した、送信先のノード28は、確立した経路に沿って、RREPメッセージを送信元のノード10へ返信する。
RREPメッセージを受信したノード10は、自ノードのルーティングテーブル1031に、ノード28への経路を書き込む。例えば、ノード28宛のパケットが、ノード25を経由せず、ノード11、16、20、24を経由して到達した場合、これらの転送ノードのIPアドレス、ホップ数などがルーティングテーブル1031に記載される(ステップT2)。
ノード10は、これらの転送ノードを経由して、データパケットを送信する(ステップT3)。
また、データ転送中に、転送経路の途中のノード24が、ノード28との間のリンクの切断を検知した場合、ノード24は、TTL値でホップ数を限定したRREQメッセージを送信する(ステップT4)。このRREQメッセージは、TTL値が0となるまで、転送される。
ノード28は、受信したRREQメッセージに応じて、RREPメッセージを返信する(ステップT5)。RREPメッセージを受信したノード24は、ノード24への経路をルーティングテーブルに記載する。
その後、変更後の経路上におけるノード25がノード28との間のリンクの切断を検知した場合、ノード25により、RREQメッセージがフラッディングされる(ステップT6)。一定期間、ノード25がRREPメッセージを受信しないとき、ノード25は、経路の切断が生じたと判断し、経路切断により影響を受けるノードへRRERメッセージを送信する(ステップT7)。ステップT4〜T7が何度か繰り返されると、図11で示す手順により、アンカーノードが決定される。
各ノードは、これらのRREQメッセージ、RREPメッセージ、またはRERRメッセージを格納する制御パケットを監視し、経路の変更頻度を測定する。また、各ノードは、計測した制御パケットから取得したホップ数をアンカーノードの決定に用いる。
図11は、アンカー通知メッセージが生成された後における、各ノードの動作の一例を示すシーケンス図である。同図を参照すると、ノード20は、ノード28における経路の変更頻度が閾値以上であるので、これらのノードを変動ノードとし、自ノードをアンカーノードにすべきか否かを判断する。自ノードをアンカーノードにすべきと判断したとき、ノード20は、自ノードをアンカーノードとし、アンカー通知メッセージを、フラッディングする(ステップT8)。
なお、変更頻度が閾値以上のノードが2つ以上有る場合、ノードは、それらのノードをアンカーノードにアンカリングさせてもよいのは勿論である。
周辺ノード(24等)は、アンカー通知メッセージを受信したとき、自ノードをアンカーノードとすべきか否かを判断する。各周辺ノードは、自ノードをアンカーノードとすべきでないと判断したので、アンカー通知メッセージを期間内に送信せず、ノード20がアンカーノードに確定する。ノード28は、アンカーノードにアンカリングされる。
変動ノード28は、定期的に隣接周辺ノード25へ経路確認パケットを送信する(ステップT9)。隣接周辺ノード25は、経路確認パケットを送信周期内に受信し、経路確認パケットの示す経路がアンカーノード20に通知済の経路でなければ、アンカーノード20へ、その経路を通知する経路接続通知パケットを送信する(ステップT10)。
ノードグループの周辺のノード10が、変動ノード28と通信を開始する場合、ノード10は、送信先をノード28のアドレスに設定したRREQメッセージをフラッディングする(ステップT11)。
アンカーノード20は、RREQメッセージを受信したとき、ノード28への経路を記載したRREPメッセージを返信する(ステップT13)。アンカーノード28が返信できるのは、アンカーノード20のルーティングテーブルには、変動ノード28への経路が記載されているためである。
ノード10は、変動ノード28へデータパケットを送信するときは、アンカーノード20を経由して送信する(ステップT13)。隣接周辺ノード25、変動ノード28間でリンクの切断が生じたとき、隣接周辺ノード25は、経路切断通知パケットをアンカーノード20へ送信する(ステップT14)。アンカーノード20は、経路切断通知パケットに応じて、変動ノード28への経路を更新する。
このように、隣接周辺ノードからの制御パケット(RREQパケット、経路確認通知パケット)はアンカーノードに集約される。また、変動ノードと隣接周辺ノードとの間で経路変更が煩雑に生じても、経路変更による制御パケット(経路切断通知パケット)はアンカーノードへ送信され、アンカーノード以外のノードへフラッディングされない。このため、通信システム1全体として、制御パケット数を削減することができる。
なお、本実施形態では、各ノードは、自身がアンカー機能を担うか否かの指標値として、ホップ数の平均や分散を用いているが、ホップ数の統計量であれば、最大値や中央値などを用いてもよい。
各ノードは、自ノードをアンカーノードとすべきか否かの判断の指標となる値であれば、ホップ数の統計量以外の値を指標値として算出してもよい。例えば、自ノード周辺のリンクの安定性、自ノードと各変動ノードとの間の通信速度、およびアプリケーションが要求する経路全体のホップ数のうち、いずれか1以上を指標値とすることが可能である。
また、各ノードは、これらの指標値のほか、アンカーノード設置のためのコストも考慮できる。例えば、ノードは、アンカー機能をオンにした後に増加するアンカーノードの制御負荷などを指標値に含めて、アンカーノードの決定に用いることが可能である。
本実施形態では、各ノードを移動体通信機器とし、無線のマルチホップネットワークに本発明を適用している。しかし、マルチホップネットワークであれば、有線ネットワークに本発明を適用してもよい。
本実施形態では、各ノードは、通信プロトコルとしてAODVを使用しているが、マルチホップネットワークで利用されるプロトコルであれば、他のプロトコルを使用してもよいのは勿論である。
本実施形態では、同じグループ内に、アンカーノードを1つだけ設けることとしているが、グループ内にアンカーノードを複数設ける構成にすることもできる。具体的には、ノードが、アンカー通知メッセージを送信後、直ちにアンカー機能をオンとし、所定期間内にアンカー通知メッセージを他のノードから受信しても、アンカー機能をオフにしない構成とする。安定経路を提供できるアンカーノードを複数設けることにより、経路変更の頻度の高いノードが散在する場合であっても、1つしかアンカーノードを設けない構成と比較して、経路の安定性を向上させることができ、アンカーノードの処理負荷を下げることが出来る。
本実施形態では、経路確認パケットの送信周期を一定の周期としている。しかし、各ノードは、この送信周期を、変更頻度に応じて変更してもよい。変更頻度の大きいノードほど、送信周期を短くすることにより、経路変動に伴う通信遅延、経路切断によるパケットロスを低減できる。
本実施形態の制御パケット監視部1021は、本発明の変更頻度取得手段に相当し、本実施形態の変動ノード決定部1022が、本発明の特定手段に相当する。本実施形態のアンカ決定部1023が、本発明のアンカー決定手段に相当する。
以上説明したように、本実施形態によれば、ノードが、経路の変更頻度に基づいて変動ノードを決定し、適切なノードをアンカーノードとし、階層化ルーティングを行なう。ノードは、経路変動が多いときにのみ階層化を行なうことが可能となり、不要な制御負荷を低減できる。
また、通常のルータ機能を持ったノードがアンカー機能を担うので、アンカリングのための専用ノードを設置する必要がなく、専用ノードの設置コストを低減できる。
ノードは、自ノードをアンカーノードにすべきと判断しても、直ちにアンカー機能をオンにせず、アンカー通知メッセージを送信し、他に、より適切なアンカー候補がないことを確認してからアンカーノードとなる。このため、周辺ノードのうち、最適のノードがアンカーノードに設定される。
(第2の実施形態)
本実施形態の通信システムの構成は、リアクティブ型でなく、プロアクティブ型の通信プロトコルを使用する点で、第1の実施形態の通信システムと異なる。プロアクティブ型の通信プロトコルは、例えば、OLSRである。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
本実施形態の通信システムの構成は、リアクティブ型でなく、プロアクティブ型の通信プロトコルを使用する点で、第1の実施形態の通信システムと異なる。プロアクティブ型の通信プロトコルは、例えば、OLSRである。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
本実施形態のノードの構成を説明する。OLSRにおける制御パケットには、HELLOメッセージを格納するHELLOパケットや、TC(Topology Control)メッセージを格納するTCパケットなどがある。
また、本実施形態では、OLSRに規定された制御パケット以外の制御パケットとして、図13で後述する接続確認パケット、経路接続通知パケット、および経路切断通知パケットも送受信される。
OLSRにおいては、各ノードは定期的にHELLOパケット等を送受信することにより、自ノードと隣接ノードとのリンク状態を確認する。HELLOパケットの送受信により各ノードでトポロジ情報が生成される。このトポロジ情報を通知するTCパケットがネットワーク全体にフラッディングされることにより、各ノードは、ネットワーク全体のトポロジを把握し、ルーティングテーブルを作成する。
本実施形態の制御パケット監視部1021は、制御パケットのうち、TCパケットを監視し、TCパケットから、各ノードの経路の変更頻度を求める。
また、隣接周辺ノードと変動ノードとは、経路を確認するために、経路確認パケットの代わりに、接続確認パケットを送受信する。接続確認パケットを受信した隣接周辺ノードは、変動ノードとの間の経路切断の有無を判断し、アンカノードへ、経路接続通知パケット、または経路切断通知パケットを送信する。
本実施形態のノードの動作を説明する。図12および図13は、本実施形態の通信システムにおけるノードの動作を示すシーケンス図である。
図12は、アンカー通知メッセージが生成される前における、各ノードの動作の一例を示すシーケンス図である。同図を参照すると、ネットワーク全体に、TCパケットがフラッディングされる(ステップT21)。
各ノードは、TCパケットからトポロジ情報を取得し、ルーティングテーブルを更新する。そして、ノード10は、ルーティングテーブルに記載された経路で、ノード28へデータパケットを送信する(ステップT22)。
図13は、アンカー通知メッセージが生成された後における、各ノードの動作の一例を示すシーケンス図である。同図を参照すると、ノード20は、ノード28における経路の変更頻度が閾値以上であるので、このノードを変動ノードとし、自ノードをアンカーノードにすべきか否かを判断する。自ノードをアンカーノードにすべきと判断したとき、ノード20は、自ノードをアンカーノードとし、アンカー通知パケットを、フラッディングする(ステップT23)。
ノード20は、アンカー通知メッセージを期間内に送信しなかったので、ノード20がアンカーノードに確定する。
TCパケットは、変動ノード28を除く各ノード間で送受信される(ステップT24)。アンカーノード20は、自身のTCパケットに、変動ノード28の情報を格納してフラッディングする。変動ノードであるノード28は定期的に接続確認パケットを送信して、隣接周辺ノードに隣接状態を通知する(ステップT25)。
変動ノードであるノード28から接続確認パケットを受信し、隣接状態を確認した隣接周辺ノード25は、アンカーノード20へ、経路接続通知パケットを定期的に送信する(ステップT26)。
ノード10は、自身のルーティングテーブルを参照して、アンカーノード20を経由して、変動ノード28へデータパケットを送信する(ステップT27)。
ここで、隣接周辺ノード25、変動ノード28間のリンクが切断した場合、隣接周辺ノード25は、経路切断通知パケットをアンカーノード20へ送信する(ステップT28)。
アンカーノード20は、経路切断通知パケットに応じて、自身のルーティングテーブルを更新する。
変動ノード28は定期的に接続確認パケットを送信する(ステップT29)。
変動ノードであるノード28から接続確認パケットを受信したノード24が新たに隣接周辺ノードとなる。隣接周辺ノード24は、経路接続通知パケットを定期的にアンカーノード20へ送信する(ステップT30)。
以上説明したように、本実施形態によれば、プロアクティブ型の通信プロトコルを使用する通信システムについても、本発明を適用できる。
(第3の実施形態)
本実施形態の通信システムの構成は、ノードのアンカ機能部が、制御パケット監視部1021が経路特性抽出部1021Aを有し、グループ決定部1022Aが変動ノードを特定するとともに、変動ノードを特性情報に基づいてグルーピングする点で第1の実施形態と異なる。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
本実施形態の通信システムの構成は、ノードのアンカ機能部が、制御パケット監視部1021が経路特性抽出部1021Aを有し、グループ決定部1022Aが変動ノードを特定するとともに、変動ノードを特性情報に基づいてグルーピングする点で第1の実施形態と異なる。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
本実施形態のノードの構成を説明する。図14は、本実施形態のアンカ機能部102の構成を示すブロック図である。同図を参照すると、本実施形態のアンカ機能部は、制御パケット監視部1021が経路特性抽出部1021Aを有し、変動ノード決定部1022の代わりにグループ決定部1022Aを、有する点以外は第1の実施形態のアンカ機能部と同様である。
経路特性抽出部1021Aは、経路変動特性を示す特性情報を取得する。経路変動特性とは、経路の変動を生じさせる、通信システムの特質である。具体的には、各ノードの移動方向や移動速度、無線電波の不安定領域、経路変動時間スケール、または、これらの値の予測などである。
ノードは、特性情報を、自身が保持するデータベースから抽出したり、他のノードから受信したりして取得する。例えば、各ノードは、GPS(Global Positioning System)等で、自身の移動方向や移動速度を取得し、それらの値を示す特性情報を互いに送受信する。あるいは、ノードが、各ノードの移動方向や移動速度の履歴を保持しておき、その履歴から、現時点以降における各ノードの移動方向や移動速度を予測する。
また、経路変動が繰り返し生じる場合、各ノードは、その間隔を変動時間スケールとして取得する。
図15は、特性情報の示す内容をまとめた表である。同図を参照すると、特性情報は、「ノード識別番号」、「移動方向」、および「移動速度」などを示す情報を格納する。「ノード識別番号」は、ノードを識別するための番号である。「移動方向」および「移動速度」は、測定された、ノードの移動方向や移動速度である。
グループ決定部1022Aは、計測情報に基づいて変動ノードを特定した後、特性情報に基づいて変動ノードをグルーピングする。
例えば、図16に示すように、グループ決定部1022は、移動方向や移動速度が近接するグループを同じグループにする。同図において、点線で囲まれた部分の内側のノード(25、28)は、移動方向、移動速度がほぼ同じノード群である。または、グループ決定部1022は、電波状態が不安定な領域にあるノード群を同じグループとする。あるいは、グループ決定部1022は、変動時間スケールが近接するノード群を、同じグループとする。
図17は、本実施形態のノードの動作を示すフローチャートである。同図を参照すると、本実施形態のノードの動作は、ステップS75の代わりに、ステップS74、S75aを実行する点以外は、第1の実施形態のノードの動作と同様である。
変更頻度が閾値以上のノードがあれば(ステップS73:YES)、経路特性抽出部1021Aは、各ノードの経路特性を抽出し、特性情報を作成する(ステップS74)。グループ決定部1022Aは、計測情報の示す変更頻度に基づいて変動ノードを特定し、特性情報の示す経路変動特性に基づいて、各ノードを1以上のグループに分ける(ステップS75a)。
以上説明したように、本実施形態によれば、ノードが経路変動特性を考慮して、特定した変動ノードをグループ化するので、通信システムに経路変動を生じさせる要因があっても、その要因に応じて適切にグルーピングできる。この結果、最適な経路が決定され、転送効率が更に向上する。
(第4の実施形態):代表ノードを設置
本実施形態の通信システムの構成は、アンカ決定部1023が、アンカーノードのほか、特性情報に基づいて代表ノードを決定する点で第3の実施形態と異なる。代表ノードは、変動ノードへのパケット(制御パケット、もしくはデータパケット)を代表して中継するノードである。
本実施形態の通信システムの構成は、アンカ決定部1023が、アンカーノードのほか、特性情報に基づいて代表ノードを決定する点で第3の実施形態と異なる。代表ノードは、変動ノードへのパケット(制御パケット、もしくはデータパケット)を代表して中継するノードである。
なお、本実施形態のノードについて、図14で説明した構成と同様な構成の詳細な説明を省略し、第3の実施形態と異なる点について詳しく説明する。
また、本実施形態では、OLSRに規定された制御パケット以外の制御パケットとして、代表ノードを通知するための代表ノード通知メッセージも送受信される。
本実施形態のアンカ決定部1023は、特性情報に基づいて、変動ノードの中のいずれかを代表ノードに決定する。
例えば、アンカ決定部1023は、他の変動ノードと、移動方向や移動速度が最も近接するノードを代表ノードにする。
図18は、本実施形態のノードの動作を示すフローチャートである。同図を参照すると、本実施形態のノードの動作は、ステップS11の後に、ステップS12を更に実行する点以外は、第1の実施形態のノードの動作と同様である。
経路確認処理の後、ノードは、特性情報の示す経路変動特性に基づいて代表ノードを決定し、代表ノードを通知する代表通知パケットをフラッディングする(ステップS12)。
図19は、アンカー通知メッセージが生成された後における、各ノードの動作の一例を示すシーケンス図である。同図を参照すると、ノード20は、ノード25、28を変動ノードとして、アンカー通知メッセージをフラッディングし(ステップT31)、アンカー機能を担う。
TCパケットは、変動ノード25、28を除く各ノード間で送受信される(ステップT32)。
アンカーノード20は、特性情報に基づいて、変動ノードのうち、25をグループの代表ノードに決定し、代表ノード通知メッセージ(制御メッセージ)をフラッディングする(ステップT33)。
代表ノード25に隣接したノード24は、経路接続通知パケットをアンカーノード20へ送信して、経路情報を通知する(ステップT34)。
変動ノード28宛のデータパケットは、経路接続通知パケットおよび代表通知パケットの通知した内容に基づいて、周辺ノード25、代表ノード25を経由して転送される(ステップT35)。
以上説明したように、本実施形態によれば、ノードが、変動ノードの特性を考慮して代表ノードを決定するので、制御パケットの送受信を更に抑制できる。
(第5の実施形態): アンカーノードの変更
本実施形態のノードの構成は、アンカーノードを設定した後であっても、経路のホップ数など通信特性に応じて、アンカーノードを変更する点で、第2の実施形態のノードと異なる。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第2の実施形態と異なる点について詳しく説明する。
本実施形態のノードの構成は、アンカーノードを設定した後であっても、経路のホップ数など通信特性に応じて、アンカーノードを変更する点で、第2の実施形態のノードと異なる。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第2の実施形態と異なる点について詳しく説明する。
本実施形態のノードの構成を説明する。本実施形態では、ノード10は、自ノードをアンカーノードに設定した後に経路品質が低下した場合、経路品質が向上するような、新たなアンカーノードを検索する。そして、ノード10は、検索したノードに対し、新たなアンカーノードとなるように要求するリクエストパケットを送信する。
リクエストパケットを受信したノードは、指標値に基づいて、自ノードがアンカーノードとなるべきか否かを判断する。自ノードがアンカーノードになるべきであれば、そのノードは、アンカー通知メッセージをフラッディングする。
図20は、本実施形態のノード10の動作を示すフローチャートである。同図を参照すると、本実施形態のノード10の動作は、経路確認処理(ステップS11)を実行した後、アンカー変更処理(ステップS14)、およびリクエストパケット受信処理(ステップS15)を実行する以外は、第1の実施形態のノードの動作と同様である。
リクエストパケット等受信処理は、アンカー通知メッセージの代わりに、リクエストパケットを受信したときに、自ノードをアンカーノードとするべきか否かを判断する以外は、図8に示したアンカー通知メッセージ受信処理と同様の処理である。
図21は、アンカー変更処理を示すフローチャートである。同図を参照すると、アンカ機能部102は、自ノードがアンカーノードであり、且つ、測定周期が経過したか否かを判断する(ステップS141)。
アンカ機能部102は、送信ノードと自ノードとの間の経路の平均ホップ数、または、自ノードと周辺ノードとの間の平均ホップ数が、アンカーノード設定前の値より、増加したか否かを判断する(ステップS142)。
いずれかの平均ホップ数が増加した場合(ステップS142:YES)、アンカ機能部102は、制御パケット数が抑制されるような、新たなアンカーノードの候補を計測情報に記載のノードの中から、検索する(ステップS143)。
アンカ機能部102は、アンカーノード変更前の指標値をリクエストパケットに格納し、検索したノードへ送信する(ステップS144)。そして、ノード10は、所定期間内に、そのノードからアンカー通知メッセージを受信したか否かを判断する(ステップS145)。
期間内にアンカー通知メッセージを受信しなければ(ステップS145:NO)、アンカ機能部102は、ステップS143に戻る。
期間内にアンカー通知メッセージを受信したのであれば(ステップS145:YES)、アンカ機能部102は、アンカー機能をオフにする。そして、ノード10は、アンカー解除を通知するアンカー解除パケットをフラッディングする(ステップS146)。
アンカーノードでない場合、測定周期が経過していない場合(ステップS141:NO)、平均ホップ数が増加していない場合(ステップS142:NO)、またはステップS146の後、アンカ機能部102は、アンカー変更処理を終了する。
ここで、アンカーノードの検索回数が上限値を超えていたり、全てのアンカーノードを検索したりした場合、アンカ機能部102は、ステップS145においてアンカー通知パケットを受信しなくても、アンカー機能をオフにする構成としてもよい。
図22は、アンカー通知メッセージが生成された後における、各ノードの動作の一例を示すシーケンス図である。同図を参照すると、ノード20は、ノード28を変動ノードとして、アンカー通知メッセージをフラッディングし(ステップT41)、アンカー機能を担う。
TCパケットは、変動ノード28を除く各ノード間で送受信される(ステップT42)。
アンカーノード20は、平均ホップ数も減少したので、経路制御負荷が抑制されるような、新たなアンカーノードの候補を検索する。ノード16を検索したので、ノード20は、ノード16へリクエストパケットを送信する(ステップT43)。
ノード16は、リクエストパケットを受信し、自ノードが新たなアンカーノードになるべきと判断して、アンカー通知メッセージをフラッディングする(ステップT44)。
アンカー通知メッセージを受信したノード20は、アンカー機能をオフにし、アンカー解除を通知するアンカー解除パケットをフラッディングする(ステップT45)。一方、ノード16は、所定期間内にアンカー通知メッセージを受信しなかったので、新たなアンカーノードとして動作を開始する。
隣接周辺ノード25は、新たなアンカーノード16へ、経路接続通知パケットを定期的に送信する(ステップT46)。
ノード10は、自身のルーティングテーブルを参照して、新たなアンカーノード16を経由して、変動ノード28へデータパケットを送信する(ステップT47)。
尚、アンカー変更に際し、アンカー機能動作中のノードが新しいアンカー候補を検索していたが、ノードグループの周辺ノードが自律的に判断してアンカー通知パケットを送信してもよい。
以上説明したように、本実施形態によれば、ノードが、アンカーノードとなった後も、経路の通信品質に応じて、アンカーノードを変更するので、より品質の高い経路を提供でき、転送効率が向上する。
(第6の実施形態)
本実施形態のノード10の構成は、アンカーノードを設定した後に経路変動が減少すれば、アンカー機能をオフにする点で第1の実施形態のノードと異なる。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
本実施形態のノード10の構成は、アンカーノードを設定した後に経路変動が減少すれば、アンカー機能をオフにする点で第1の実施形態のノードと異なる。なお、本実施形態のノードについて、図3で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
本実施形態のノードの動作について、図23、図24を参照して説明する。
図23は、本実施形態のノード10の動作を示すフローチャートである。同図を参照すると、本実施形態のノードの動作は、ステップS17、S19を更に実行する以外は、第4の実施形態のノードと同様である。
ステップS7またはS9の後、ノードは、自ノードのアンカー機能をオンとしているか否かを判断する(ステップS17)。
アンカー機能をオンとしていれば(ステップS17:YES)、ノードは、アンカー解除処理を実行する(ステップS19)。
図24は、アンカー解除処理を示すフローチャートである。同図を参照すると、ノードは、アンカーノードとなったとき、または前回測定したときから、経路品質を示すパラメータの測定周期が経過したか否かを判断する(ステップS191)。
測定周期が経過したのであれば(ステップS191:YES)、ノードは、制御パケットから、変動ノードの経路変更の頻度を測定し、その値から経路が安定しているか否かを判断する(ステップS193)。例えば、ノードは、経路の変更頻度が、所定の閾値を下回っていれば、経路が安定していると判断する。変動ノードが複数である場合、ノードは、変更頻度の平均値と、閾値を比較する。
経路が安定していれば(ステップS193:YES)、ノードは、アンカー機能をオフにする。そして、ノードは、アンカー解除を通知するアンカー解除パケットをフラッディングする(ステップS195)。測定周期が経過していない場合(ステップS191:NO)、または経路が安定していない場合(ステップS193:NO)、ノードは、ステップS1に戻る。
以上説明したように、本実施形態によれば、経路変動に応じて、アンカー機能をオンオフするので、通信品質を維持しつつ、アンカー設置のコスト、例えば電力消費や設置費用を低減できる。
1 通信システム
10〜28 ノード
101 通信機能部
102 アンカ機能部
103 ルーティング機能部
1021 制御パケット監視部
1021A 経路特性抽出部
1022 変動ノード決定部
1022A グループ決定部
1023 アンカ決定部
1031 ルーティングテーブル
10〜28 ノード
101 通信機能部
102 アンカ機能部
103 ルーティング機能部
1021 制御パケット監視部
1021A 経路特性抽出部
1022 変動ノード決定部
1022A グループ決定部
1023 アンカ決定部
1031 ルーティングテーブル
Claims (23)
- マルチホップネットワーク内のノードであって、
前記マルチホップネットワーク内のノードごとに、該ノードが通信経路を変更した変更頻度を取得する変更頻度取得手段と、
前記変更頻度取得手段により取得された前記変更頻度に基づいて、前記マルチホップネットワーク内のノードのうち、経路変更を伴う変動ノードを特定する特定手段と、
変動ノードと、該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードとして、前記特定手段により特定された前記変動ノードの周辺ノードのうち、いずれか1以上を、該アンカーノードに決定するアンカー決定手段と、
を有するノード。 - 前記アンカー決定手段は、
前記周辺ノードを前記アンカーノードとすべきか否かの判断の指標となる指標値を算出する指標値算出手段と、
前記指標値算出手段により算出された前記指標値に基づいて、前記周辺ノードのうち、いずれか1以上を前記アンカーノードに決定するアンカーノード決定手段と、
を有する、請求項1に記載のノード。 - 前記指標値は、前記アンカーノードと前記周辺ノードとの間のホップ数の統計量、又は、前記アンカーノードと前記変動ノードの隣接周辺ノードとの間のホップ数の統計量を含む、請求項2に記載のノード。
- 前記指標値は、前記アンカーノード周辺のリンクの安定性と、前記アンカーノードと前記変動ノードとの間の通信頻度と、前記アンカーノードを設置するコストと、該変動ノードと通信中の相手ノードとの間のホップ数とのうち、いずれか1以上を含む、請求項2又は3に記載のノード。
- 前記指標値算出手段は、自ノードをアンカーノードとする場合の前記指標値を算出し、
前記アンカー決定手段は、
前記指標値算出手段により算出された前記指標値に基づいて、自ノードを前記アンカーノードとすべきであるか否かを判断し、自ノードを該アンカーノードとすべきであれば、自ノードを該アンカーノードとする旨を通知するアンカー通知メッセージを送信するアンカー通知メッセージ送信手段と、
前記アンカー通知メッセージ送信手段により前記アンカー通知メッセージが送信されたならば、自ノードを前記アンカーノードに決定するアンカーノード確定手段と、
を有する請求項2乃至4のいずれか1項に記載のノード。 - 前記指標値算出手段は、自ノードをアンカーノードとする場合の前記指標値を算出し、
前記アンカー決定手段は、
前記指標値算出手段により算出された前記指標値に基づいて、自ノードを前記アンカーノードとすべきであるか否かを判断し、自ノードを該アンカーノードとすべきであれば、自ノードを該アンカーノードとする旨を通知するアンカー通知メッセージを送信するアンカー通知メッセージ送信手段と、
他のノードからのアンカー通知メッセージの受信を受け付けるアンカー通知メッセージ受信手段と、
前記アンカー通知メッセージ送信手段により前記アンカー通知メッセージが送信されてから、所定期間内に、前記アンカー通知メッセージ受信手段により前記アンカー通知メッセージが受信されなければ、自ノードを前記アンカーノードに決定するアンカーノード確定手段と、
を有する、請求項2乃至4のいずれか1項に記載のノード。 - 前記指標値算出手段は、前記前記変更頻度取得手段により前記更新頻度が取得されたとき、又は前記アンカー通知メッセージ受信手段により前記アンカー通知メッセージが受信されたとき、自ノードを前記アンカーノードとして前記指標値を算出する、請求項6に記載のノード。
- 前記変更頻度取得手段は、
経路変更のための制御メッセージを受信する制御メッセージ受信手段と、
前記制御メッセージ受信手段により受信された制御メッセージに基づいて、変動ノードを同定し、該同定の結果と、該制御メッセージの受信履歴とに基づいて、前記変更頻度を算出する経路変更算出手段と、
を有する、請求項1乃至7のいずれか1項に記載のノード。 - 前記制御メッセージには、経路変更を伴うノードを同定するための情報を含むトポロジ情報が付加されており、
前記変更頻度算出手段は、前記制御メッセージ受信手段により受信された制御メッセージに付加されたトポロジ情報に基づいて、変動ノードを同定する、請求項8に記載のノード。 - 前記トポロジ情報には、前記周辺ノードを同定するための情報が更に含まれ、
前記アンカー決定手段は、前記トポロジ情報に基づいて、前記周辺ノードを同定する、請求項9に記載のノード。 - 前記制御メッセージ受信手段は、前記制御メッセージとして、RREQ(Route Request)メッセージ、RREP(Route Reply)メッセージ、又はRERR(Route Error)メッセージを受信する、請求項8乃至10のいずれか1項に記載のノード。
- 前記制御メッセージ受信手段は、前記制御メッセージとして、TC(Topology Control)メッセージを受信する、請求項11に記載のノード。
- 前記アンカー決定手段により前記アンカーノードが決定された後において、前記変動ノードと該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを、該アンカーノードへ送信する制御メッセージ送信手段を更に有する、請求項1乃至12のいずれか1項に記載のノード。
- 前記アンカー決定手段により前記アンカーノードが決定された後に前記変更頻度取得手段により取得された前記変動ノードの前記変更頻度が、アンカーノード決定前における変更頻度より大きければ、前記アンカーノードを変更するアンカーノード変更手段を更に有する、請求項2乃至13のいずれか1項に記載のノード。
- 前記アンカーノード変更手段は、前記アンカー決定手段により前記アンカーノードが決定された後に前記変更頻度取得手段により取得された前記変動ノードの前記変更頻度が、アンカーノード決定前における値より大きい場合、又は、前記指標値算出手段により算出された前記指標値に基づいて現在のアンカーノードよりも他のノードの方がアンカーノードとしてふさわしいと判断される場合、前記変動ノードに対応するアンカーノードを変更する、請求項14に記載のノード。
- 前記アンカーノード変更手段は、
前記アンカー決定手段により前記アンカーノードが決定された後に前記指標値算出手段により算出された前記指標値に基づいて、現在のアンカーノードが、アンカーノードとしてふさわしくないと判断された場合、前記隣接周辺ノードのうち、いずれかのノードを新たなアンカーノードの候補である新アンカー候補ノードに決定する新アンカーノード決定手段と、
前記新アンカーノード決定手段により決定された前記新アンカー候補ノードへ、該ノードを新たなアンカーノードに設定することを要求する要求メッセージを送信する要求メッセージ送信手段と、
を更に有する、請求項15に記載のノード。 - 前記アンカー決定手段は、
他のノードからの要求メッセージの受信を受け付ける要求メッセージ受信手段を更に有し、
前記指標値算出手段は、前記要求メッセージ受信手段により前記要求メッセージが受信されたとき、自ノードを前記アンカーノードとする場合の前記指標値を算出する、請求項16に記載のノード。 - 経路の変動を生じさせる特性を示す経路特性変数を取得する特性変数取得手段を更に有し、
前記特定手段は、前記変更頻度に基づいて、特定した1以上の前記変動ノードを、前記特性変数取得手段により取得された前記経路特性変数に基づいて、グループ化する、請求項1乃至17のいずれか1項に記載のノード。 - 前記変動ノードと該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信する、もしくは、データパケットを、経路変更を伴うノードに中継するノードを代表ノードとして、
前記特性変数取得手段により取得された前記経路特性変数に基づいて、前記グループ化されたノードのうち、いずれかを、前記代表ノードに決定する代表決定手段を更に有する、請求項18に記載のノード。 - 前記代表ノード決定手段により決定された前記代表ノードを通知する代表通知メッセージを送信する代表通知メッセージ送信手段を更に有する、請求項19に記載のノード。
- 前記アンカー決定手段により前記アンカーノードが決定された後に記変更頻度取得手段により取得された前記変動ノードの前記変更頻度が、あらかじめ設定した閾値を下回る場合、該アンカーノードの設定を解除するアンカー解除手段を更に有する、請求項1乃至20のいずれか1項に記載のノード。
- 変更頻度取得手段が、マルチホップネットワーク内のノードごとに、該ノードが通信経路を変更した変更頻度を取得し、
特定手段が、前記変更頻度取得手段により取得された前記変更頻度に基づいて、前記マルチホップネットワーク内のノードのうち、変動ノードを特定し、
変動ノードと、該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードとして、
アンカー決定手段が、前記特定手段により抽出された前記変動ノードの周辺ノードのうち、いずれか1以上を、前記アンカーノードに決定するノードの制御方法。 - コンピュータに、
マルチホップネットワーク内のノードごとに、該ノードが通信経路を変更した変更頻度を取得する変更頻度取得手順、
前記変更頻度取得手順で取得された前記変更頻度に基づいて、前記マルチホップネットワーク内のノードのうち、経路変更を伴う変動ノードを特定する特定手順、及び
変動ノードと、該変動ノードの隣接周辺ノードとの間で生じた経路変更に基づく制御メッセージを代表して受信し、変動ノードへの経路を集約するノードをアンカーノードとして、前記特定手順により特定された前記経路変更を伴うノードの周辺ノードのうち、いずれか1以上を、前記アンカーノードに決定するアンカー決定手順、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009173025A JP5299143B2 (ja) | 2009-07-24 | 2009-07-24 | ノード、ノードの制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009173025A JP5299143B2 (ja) | 2009-07-24 | 2009-07-24 | ノード、ノードの制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011029888A JP2011029888A (ja) | 2011-02-10 |
JP5299143B2 true JP5299143B2 (ja) | 2013-09-25 |
Family
ID=43638121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009173025A Expired - Fee Related JP5299143B2 (ja) | 2009-07-24 | 2009-07-24 | ノード、ノードの制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5299143B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2981035A4 (en) * | 2013-03-29 | 2016-11-30 | Nec Corp | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION NODE CONTROL METHOD AND PROGRAM |
JP6355575B2 (ja) * | 2015-02-20 | 2018-07-11 | 日本電信電話株式会社 | 情報処理方法、情報処理システム、および移動端末 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412654A (en) * | 1994-01-10 | 1995-05-02 | International Business Machines Corporation | Highly dynamic destination-sequenced destination vector routing for mobile computers |
JP3920615B2 (ja) * | 2001-10-03 | 2007-05-30 | 株式会社国際電気通信基礎技術研究所 | 無線ネットワークのためのルーティング方法及びルータ装置 |
US6628620B1 (en) * | 2002-04-29 | 2003-09-30 | Harris Corporation | Hierarchical modile ad-hoc network and methods for route error recovery therein |
JP4033301B2 (ja) * | 2004-03-05 | 2008-01-16 | Kddi株式会社 | マルチホップ無線ネットワークの経路制御方法および無線端末 |
JP4930460B2 (ja) * | 2008-06-06 | 2012-05-16 | 沖電気工業株式会社 | 無線通信接続制御方法 |
-
2009
- 2009-07-24 JP JP2009173025A patent/JP5299143B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011029888A (ja) | 2011-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8139504B2 (en) | System, device, and method for unifying differently-routed networks using virtual topology representations | |
Devi et al. | Mobile ad hoc networks and routing protocols in iot enabled | |
Okazaki et al. | Ant-based dynamic hop optimization protocol: A routing algorithm for mobile wireless sensor networks | |
Singh et al. | A survey: Ad-hoc on demand distance vector (AODV) protocol | |
JP5036602B2 (ja) | 無線アドホック端末およびアドホック・ネットワーク・システム | |
Dugaev et al. | Adaptive reinforcement learning-based routing protocol for wireless multihop networks | |
Paul et al. | Performance evaluation of MANET routing protocols | |
Gupta et al. | Routing protocols in mobile ad-hoc networks | |
Gupta et al. | Comparison of DYMO, AODV, DSR and DSDV MANET Routing protocols over varying traffic | |
Singh et al. | A Review on dynamic manet on demand routing protocol in manets | |
Singh et al. | A survey of energy efficient routing protocols for mobile ad-hoc networks | |
JP5299143B2 (ja) | ノード、ノードの制御方法、及びプログラム | |
Kumar et al. | A comparative study of reactive routing protocols for industrial wireless sensor networks | |
Latiff et al. | Power reduction quadrant-based directional routing protocol (Q-DIR) in mobile ad hoc network | |
JP4810606B2 (ja) | アドホックネットワークにおけるノード及びアドホックネットワークシステム | |
Audéoud et al. | Low overhead loop-free routing in wireless sensor networks | |
JP2009124303A (ja) | アドホックネットワークにおけるメッセージ転送方法 | |
Vinothkumar et al. | Improving the quality of service based on route stability in MANETs Using Dynamic Source routing protocol | |
Li et al. | ETT-based Semi fixed routing algorithm | |
Chand et al. | Performance Comparison of Two On-Demands Routing Protocols for Mobile Ad-hoc Networks | |
Szymanski et al. | Biologically inspired self selective routing with preferred path selection | |
Devika et al. | Execution of PA Fish Eye State Protocol to Amend Power | |
Zhang et al. | Analysis of MANET protocols using OPNET | |
Clausen et al. | Path accumulation extensions for the LOADng routing protocol in sensor networks | |
Rao et al. | An elliptical routing protocol for wireless mesh networks: Performance analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120611 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130515 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130603 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |