JP5287622B2 - 通信システム、ノード、通信制御方法、およびプログラム - Google Patents

通信システム、ノード、通信制御方法、およびプログラム Download PDF

Info

Publication number
JP5287622B2
JP5287622B2 JP2009210047A JP2009210047A JP5287622B2 JP 5287622 B2 JP5287622 B2 JP 5287622B2 JP 2009210047 A JP2009210047 A JP 2009210047A JP 2009210047 A JP2009210047 A JP 2009210047A JP 5287622 B2 JP5287622 B2 JP 5287622B2
Authority
JP
Japan
Prior art keywords
node
group
forwarding
multicast
adjacent
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.)
Active
Application number
JP2009210047A
Other languages
English (en)
Other versions
JP2011061569A (ja
Inventor
智彦 柳生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009210047A priority Critical patent/JP5287622B2/ja
Publication of JP2011061569A publication Critical patent/JP2011061569A/ja
Application granted granted Critical
Publication of JP5287622B2 publication Critical patent/JP5287622B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Radio Relay Systems (AREA)

Description

本発明は、通信システム、ノード、通信制御方法、およびプログラムに関し、特に、複数のノード間のマルチホップネットワークを形成する通信システム、ノード、通信制御方法、およびプログラムに関する。
基地局などを用いず通信装置同士のみで直接通信を行う無線マルチホップネットワークにおけるユニキャスト経路制御の一例が、非特許文献1に記載されている。非特許文献1で開示されているOLSR(Optimized Link State Routing)について説明する。OLSRでは、起動後にあらかじめ設定された送信間隔でHelloメッセージを送信する。Helloメッセージは転送されず、無線到達範囲内に存在する無線通信装置(以下、単にノード)のみが受信することができる。また、他のノードからHelloメッセージを受信した場合、隣接ノードの情報を示す隣接ノードテーブルにHelloメッセージの有効期間中その情報を保持する。
ノードが次回Helloメッセージを送信する場合は、隣接ノードテーブルに記録されている全ノードのIPアドレスのリストを含める。隣接ノード情報の入ったHelloを受信したノードは、MPR(MultiPoint Relay)ノードの選択を行い、TC(Topology Control)メッセージの送信を行う。MPRノードとは、あるノードが送信した経路制御メッセージ(TCメッセージ等)を、ネットワーク内の全ノードが受信できるように転送するための転送ノードである。
あるノードから見た場合、MPRノードの選択は、自分の2ホップ先に存在するノード全てをカバーするような隣接ノードの組を計算することで行われる。自身が選択したMPRノードはHelloメッセージによって隣接ノードに通知される。これにより隣接ノードは、自身をMPRに選択したノードからTCパケットなどのネットワーク内の全ノードに通知が必要な制御メッセージを受信した場合、自分がそのメッセージを転送する必要があることを知ることができる。
TCメッセージは、自分の持つリンク情報(通常は、選択したMPRノードとの間のリンク)をネットワーク内の全ノードに通知するためのメッセージである。TCメッセージはあらかじめ設定された間隔で送信され、上述のMPRノードによって転送されネットワーク内の全ノードに通知される。
他のノードから受信したTCメッセージのリンク情報は、トポロジテーブルに保存される。各通信ノードは、トポロジテーブルに記録されたリンク情報からネットワークトポロジ(ネットワークのノード接続構成)グラフを作成し、各通信ノードまでの最短経路を計算する。その計算結果にしたがってユニキャスト通信転送経路を設定する。
非特許文献1のOLSRの仕組みを拡張し、無線マルチホップネットワーク上でマルチキャスト制御を行う方式が非特許文献2に開示されている(以下、M−OLSRと呼ぶ)。M−OLSRでは、マルチキャストパケットを送信する送信ノードは、パケット送信前にSOURCE_CLAIMメッセージをネットワーク全体にフラッディングする。SOURCE_CLAIMメッセージを受信した受信ノードは、そのマルチキャストグループ宛パケットを受信するために、送信ノードへのユニキャスト経路上のNext Hopノード(送信ノード宛パケットを転送するノード)へCONFIRM_PARENTメッセージを送信する。
CONFIRM_PARENTメッセージを受信した中継ノードは、自身が該当するマルチキャストの受信者もしくは中継者でなければ、同様に送信ノードのNext Hopに向けてCONFIRM_PARENTメッセージを転送し、マルチキャスト転送テーブルを設定する。すでに受信者もしくは中継者であれば、マルチキャスト転送テーブルを設定し、CONFIRM_PARENTメッセージは転送しない。マルチキャスト転送テーブルを維持するため、送信ノードはSOURCE_CLAIMを、受信ノード及び転送ノードはCONFIRM_PARENTを定期的に送信する。一定時間メッセージを受信しなかった場合、送信ノードもしくは受信ノードが消滅したと判断し、マルチキャスト転送テーブルの該当エントリを削除する。
その他にも、無線マルチホップネットワークのためのマルチキャスト制御方式の一例として、非特許文献3に記載される様々な方式がある。非特許文献3によれば、マルチキャスト制御方式には大きく分けてツリー型方式とメッシュ型方式がある。ツリー型方式は、ある代表ノードを決定し、マルチキャストの送信者および受信者(メンバー)はその代表ノードに向かってJoinを行い、マルチキャスト配信ツリーを構築する。メッシュ型方式の場合、各(送信ノード、受信ノード)ペア間にそれぞれ経路を構築する。前述のM−OLSRもメッシュ型方式の一種である。
また、無線マルチホップネットワークのシステムの一例が特許文献1に記載されている。特許文献1の無線マルチホップネットワークは、Helloメッセージを用いてMPRが自身の所属グループを集約し、その所属グループの情報をネットワーク全体に知らせることで、各MPR間でマルチキャストのツリーを構築する。これにより、送信ノードと受信ノードのそれぞれでツリーを作成した場合より、グループ毎にツリーを集約でき、マルチキャストのための制御メッセージ負荷を低減できる。
特開2009−71575号公報
ティー. クラウセン (T. Clausen)、外1名編、「オプティマイズド リンク ステート ルーティング プロトコル (Optimized Link State Routing Protocol (OLSR))」、Request For Comments (RFC) 3626、[online]、2003年10月、インターネット技術タスクフォース(Internet Engineering Task Force:IETF)、インターネット<http://www.ietf.org/rfc/rfc3626.txt> アニス ライティ (Anis Laouiti)、外5名、「マルチキャスト オプティマイズド リンク ステート ルーティング (Multicast Optimized Link State Routing)」、リサーチ レポート (Research Report) No.4721、(フランス)、[online]、2003年2月、フランス国立情報学自動制御研究所(Institut National de Recherche en Informatique et en Automatique:INRIA)、インターネット<ftp://ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-4721.pdf> カルロス デ モライス コーデイロ(Carlos de Morais Cordeiro)、外2名、「マルチキャスト オーバー ワイヤレス モバイル アドホック ネットワークス:プレゼント アンド フューチャー ディレクションズ (Multicast over Wireless Mobile Ad Hoc Networks:Present and Future Directions)」、アイトリプルイー ネットワーク (IEEE Network)、(米国)、アイトリプルイー インク. (IEEE:Institute of Electrical and Electronics Engineers, Inc.)、2003年、1、2月号、p.52〜59
上述した特許文献1に記載の無線マルチホップネットワーク、すなわち、マルチキャスト経路を設定するメッセージの伝達では、ユニキャスト経路が確立していることを前提としているため、ノードが移動してノード間の相対的な位置関係が変わることにより、ネットワークトポロジが変化した場合、まずユニキャスト経路を再構築し、その後マルチキャスト経路の再構築が行われる。そのため、マルチキャスト経路の修復に時間がかかり、通信の断絶時間が長くなってしまうという問題点があった。
本発明の目的は、上述した課題を解消し、ネットワークトポロジの変化に迅速に追随可能なマルチキャスト通信を実現する通信システム、ノード、通信制御方法、およびプログラムを提供することにある。
本発明の通信システムは、
複数のノード間のマルチホップネットワークを形成する通信システムにおいて、
前記ノードは、
自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する作成手段と、
作成された前記通信メッセージを発信する発信手段と、
前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、自身が属する前記グループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択する転送ノード選択手段と、を備え、
前記ノードにおいて、
前記作成手段に、前記転送ノード選択手段により選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成させ、
前記発信手段に、前記作成手段により作成された前記通信メッセージを発信させ、
前記ノードは、
前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、マルチキャストするデータパケットを前記グループ用転送ノードに含まれる前記隣接ノードに転送する転送手段をさらに備える。
本発明の第1のノードは、複数のノード間で形成されるマルチホップネットワーク内で、自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する作成手段と、
作成された前記通信メッセージを発信する発信手段と、
前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、自身が属するグループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択する転送ノード選択手段と、を備え、
前記作成手段に、前記転送ノード選択手段により選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成させ、
前記発信手段に、前記作成手段により作成された前記通信メッセージを発信させる。
本発明の第2のノードは、複数のノード間で形成されるマルチホップネットワーク内で、自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、自身が属するグループと同一のグループに属する前記隣接ノードの中から転送先として選択されたグループ用転送ノードを示す転送先ノード情報を含む通信メッセージを、前記隣接ノードから受信するメッセージ受信手段と、
前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、自身がグループ用転送ノードであるか否かを判定する判定手段と、
自身が属する前記グループ宛のマルチキャストのデータパケットを受信するパケット受信手段と、
自身が前記グループ用転送ノードであると判定された場合、受信した前記データパケットを自身が属する前記グループの他の隣接ノードに転送する転送手段と、を備える。
本発明の通信制御方法は、複数のノード間のマルチホップネットワークを形成する通信システムにおいて、
前記ノードが、自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成し、
前記ノードが、作成された前記通信メッセージを発信し、
前記ノードが、前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、自身が属する前記グループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択し、
前記ノードが、選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成し、
前記ノードが、作成された前記通信メッセージを発信し、
前記ノードが、前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、マルチキャストするデータパケットを前記グループ用転送ノードに含まれる前記隣接ノードに転送する。
本発明のコンピュータプログラムは、複数のノード間のマルチホップネットワークを形成する通信システムにおいて、コンピュータに前記ノードを実現するためのプログラムであって、
ノード自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する手順と、
作成された前記通信メッセージを発信する手順と、
前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、前記ノード自身が属する前記グループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択する手順と、
選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成する手順と、
作成された前記通信メッセージを発信する手順と、
前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、マルチキャストするデータパケットを前記グループ用転送ノードに含まれる前記隣接ノードに転送する手順と、をコンピュータに実行させるためのプログラムである。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
本発明によれば、ネットワークトポロジの変化に迅速に追随可能なマルチキャスト通信を実現し、通信品質のよい通信システム、ノード、通信制御方法、およびプログラムが提供される。
本発明の実施の形態に係る通信システムの構成を示す機能ブロック図である。 本実施形態の通信システムが形成する無線マルチホップネットワークの構成の一例を示す図である。 本実施形態の通信システムにおける通信メッセージとして使用されるHelloメッセージの構造の一例を示す図である。 本実施形態の通信システムが形成する無線マルチホップネットワークにおける隣接ノードと、2ホップ先ノードを説明するための図である。 本実施形態の通信システムにおける通信メッセージとして使用されるHelloメッセージの構造の一例を示す図である。 本実施形態の通信システムが形成する無線マルチホップネットワークにおける選択されたMPR隣接ノードを説明するための図である。 本実施形態の通信システムにおける通信メッセージとして使用されるHelloメッセージの構造の一例を示す図である。 本実施形態の通信システムが形成する無線マルチホップネットワークにおける選択されたG−MPR隣接ノードを説明するための図である。 本実施形態の通信システムのノードのマルチキャスト経路構築処理の手順の一例を示すフローチャートである。 本発明の実施の形態に係る通信システムが形成する無線マルチホップネットワークの一例を示す図である。 本発明の実施の形態に係る通信システムのノードのパケット送信時の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信システムのノードのパケット転送時の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信システムが形成する無線マルチホップネットワークの一例を示す図である。
(第1の実施の形態)
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
これに限定されないが、本実施形態では、ユニキャストの経路制御は非特許文献1に開示されたOLSRで制御されているとし、本発明のマルチキャスト経路制御方式はOLSRプロトコルをベースとして拡張する。
図1は、本発明の実施の形態に係る通信システムの構成を示す機能ブロック図である。
本実施形態の通信システムは、複数のノード間のマルチホップネットワークを形成する通信システムにおいて、ノード100は、自身が属するグループを示す第1グループ情報と、隣接ノードが属するグループを示す第2グループ情報と、を含むユニキャスト経路制御の通信メッセージを作成する作成部(ユニキャスト経路制御部111およびマルチキャスト経路制御部114)と、作成された通信メッセージを発信する発信部(Helloメッセージ発信部116)と、隣接ノードから受信した通信メッセージを参照し、第1グループ情報および第2グループ情報に基づいて、自身が属するグループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、同一のグループに属する隣接ノードの中からグループ用転送ノードを選択する転送ノード選択部(G−MPRノード選択部118)と、を備え、ノード100において、作成部に、転送ノード選択部により選択されたグループ用転送ノードを転送先ノード情報として含む通信メッセージを作成させ、発信部に、作成部により作成された通信メッセージを発信させ、ノード100は、隣接ノードから受信した通信メッセージを参照し、転送先ノード情報に基づいて、マルチキャストするデータパケットをグループ用転送ノードに含まれる隣接ノードに転送する転送部(パケット送信部148)と、をさらに備える。
具体的には、本実施形態のネットワークシステムの各ノードは、たとえば、無線通信装置であり、携帯電話、無線LAN(Local Area Network)端末、PDA(Personal Digital Assistants)などである。あるいは、各ノードは、無線通信機能を有するセンサなどであってもよい。なお、本発明のネットワークシステムは、無線通信に限定するものではない。
なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
また、本実施形態の通信システムの各構成要素は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
図2に、本実施形態の通信システムが形成する無線マルチホップネットワークの構成の一例を示す。本発明の対象とする無線マルチホップネットワークは、ノード11〜36の18台で構成される。ノード11〜18はマルチキャストグループ1(図中、菱形)に、ノード21〜24はマルチキャストグループ2(図中、矩形)に、ノード31〜36はマルチキャストグループ3(図中、円形)にそれぞれ属しているとする。図中の点線は、点線で結ばれたノードどうしが無線によって直接双方向で通信可能なことを示している。
詳細には、図1に示すように、本実施形態の通信システムのノード100は、アプリケーション101と、インタフェース部(I/F)102と、経路制御部110と、パケット処理部140と、を有している。アプリケーション101は、音声やメッセージなどのデータパケットを送受信処理するコンピュータプログラム等であり、たとえば、同一グループにデータパケットを同報配信する。
ここで、データパケットとして送受信されるデータは、たとえば、テキストデータ、数値データ、音声データ、画像データ、各種文書データ等、様々なデータとすることができる。
また、経路制御部110は、ノード100におけるユニキャスト経路制御に加え、マルチキャスト経路制御を行うものであり、ユニキャスト経路制御部111と、グループ登録情報記憶部(図中、「グループ登録情報」と示す)112と、マルチキャスト経路制御部114と、Helloメッセージ発信部116と、G−MPRノード選択部118と、Helloメッセージ受信部120と、を有する。パケット処理部140は、他のノードから受信したパケットの転送処理やアプリケーション101から送受信されるパケットの送受信処理を行うものであり、パケット受信部142と、パケット転送判定部144と、マルチキャスト転送テーブル146と、パケット送信部148と、マルチキャスト重複判定テーブル(図中、「重複判定テーブル」と示す)149と、を有する。
インタフェース部102は、ネットワークに接続するためのインタフェース機能を有する。インタフェース部102は、本実施形態では、たとえば、無線LAN規格のIEEE802.11や、Zigbee(登録商標)などの無線通信方式に準拠した通信を行う。
グループ登録情報記憶部112は、予め登録されるノード100が属するグループを記憶する。各ノード100は、複数のグループに属することもできる。本実施形態のマルチホップネットワーク内のすべてのノード100は、予めグループが登録されているものとする。グループとは、本実施形態の通信システムの無線マルチホップネットワークで、マルチキャストで同じデータパケットを受信するノード群である。本実施形態の通信システムでは、図2に示すように、3つのグループが予め設定されている。
ここでは、マルチキャストグループ(以下、単にグループ)は、1〜255の255グループが存在し、それぞれのグループに対応するマルチキャストIPアドレスは、239.192.0.1〜239.192.0.255とする。ただし、本方式はIPv4(Internet Protocol Version 4)に限るものでなく、マルチキャストグループに対応するマルチキャストIPアドレスは、IPv6マルチキャストアドレス ff08::0001〜ff08::00ffでも良い。
また、各ノード100はネットワーク内で一意に割り振られたノードIDと、ユニキャスト通信を行うためのネットワーク内で一意なユニキャストIPアドレスを持つ。ノードIDには、ユニキャストIPアドレスを用いても良い。以下の説明では簡単のため、ノードIDとユニキャストIPアドレスは同じであるとする。ここでは、ノードXのノードID及びユニキャストIPアドレスは、10.0.0.Xであるとする。例えば、ノード11のノードIDとユニキャストIPアドレスはともに10.0.0.11とする。
ノード100は、複数のノード間で形成されるマルチホップネットワーク内で、自身が属するグループを示す第1グループ情報と、隣接ノードが属するグループを示す第2グループ情報と、を含むユニキャスト経路制御の通信メッセージを作成する作成部(ユニキャスト経路制御部111およびマルチキャスト経路制御部114)と、作成された通信メッセージを発信する発信部(Helloメッセージ発信部116)と、隣接ノードから受信した通信メッセージを参照し、第1グループ情報および第2グループ情報に基づいて、自身が属するグループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、同一のグループに属する隣接ノードの中からグループ用転送ノードを選択する転送ノード選択部(G−MPRノード選択部118)と、を備え、作成部に、転送ノード選択部により選択されたグループ用転送ノードを転送先ノード情報として含む通信メッセージを作成させ、発信部に、作成部により作成された通信メッセージを発信させる。
本実施形態において、通信メッセージとしては、ユニキャスト経路制御のOLSRにおける隣接ノードを発見するための隣接発見メッセージであるHelloメッセージを用いることができる。また、他の通信制御プロトコルとしては、TBRPF(Topology Broadcast Based on Reverse-Path Forwarding)プロトコル等でもよい。
また、Helloメッセージの代わりに、TCメッセージなどを用いた場合、各ノードが、自身の隣接ノードを判別する処理が必要となり、処理手順が煩雑になるので、Helloメッセージが好ましい。
図3は、本実施形態の通信システムにおける通信メッセージとして使用されるHelloメッセージの構造の一例を示す図である。Helloメッセージ200は、ユニキャスト経路制御のOLSRプロトコルのHelloメッセージに、さらに、自身の属するグループを示す自身グループ情報202を含む。HTimeおよびWillingnessは、非特許文献1で開示されるとおり、Helloメッセージの有効期間とMPRに選択される優先度を表す。Willingnessのあとに自身グループ情報202(4byteアライアメント)が入っている。ここでは、図2のノード11が、起動時にマルチホップネットワークに発信するHelloメッセージ200の例が示されている。ノード11は、グループ1に属しているので、グループ番号に「1」が記述されている。本実施形態では、説明を簡単にするために、各ノード100は、1つのグループにのみ属している。他の例では、複数のグループに属すこともでき、その場合、属しているグループ数と、そのグループ番号が記述されることとなる。
図1に戻り、マルチキャスト経路制御部114は、ノード100の起動時に、グループ登録情報記憶部112を参照し、自身の属するグループの自身グループ情報202をHelloメッセージ200(図3)に含めて作成するようユニキャスト経路制御部111に指示する。Helloメッセージ発信部116は、ユニキャスト経路制御部111が作成したHelloメッセージをインタフェース部102を介して、マルチホップネットワーク上に発信する。Helloメッセージは、ユニキャスト経路制御方式に基づき、定期的に送信される。もしくは、グループ情報に変更があった場合、Helloメッセージを送信してもよい。
Helloメッセージ受信部120は、インタフェース部102を介して、他のノード100が発信したHelloメッセージを受信する。たとえば、図4のノード12では、隣接ノード(直接無線で通信可能な範囲に存在するノード)であるノード11、13、15、22、24、および36(図中、二重線枠)から同様のマルチキャストグループ情報が入ったHelloメッセージを受信する。
G−MPRノード選択部118は、Helloメッセージ受信部120が受信したHelloメッセージに基づいて、通常のユニキャスト経路制御のHello受信処理(リンク生存監視、隣接ノード更新、2ホップ先ノード更新、MPR選択等)を行う。
マルチキャスト経路制御部114は、他の隣接ノードからHelloメッセージを受信した後、次のHelloメッセージの送信タイミングを迎えると、G−MPRノード選択部118が更新した隣接ノードの情報に基づいて、図5に示すように、図3のHelloメッセージに、隣接ノード(SYN Neighbor)の隣接ノードIPアドレス204と、その隣接ノード(SYN Neighbor)の隣接ノードグループ情報206と、を追加したHelloメッセージ200を作成するようユニキャスト経路制御部111に指示する。図5では、図4のノード12のユニキャスト経路制御部111が作成するHelloメッセージ200の一例を示す。そして、Helloメッセージ発信部116は、ユニキャスト経路制御部111が作成したHelloメッセージをインタフェース部102を介して、マルチホップネットワーク上に発信する。他のノード100も同様に隣接ノードのIPアドレス情報およびグループ情報を含めたHelloメッセージをそれぞれ作成して送信する。
図5のHelloメッセージ200では、ユニキャスト経路制御用の情報(隣接ノードの隣接ノードIPアドレス204)に加え、自身グループ情報202と隣接ノードグループ情報206がマルチキャスト経路制御部114によって追加されている。
さらに、Helloメッセージ受信部120が他の隣接ノードからHelloメッセージを受信した後、ユニキャスト経路制御部111は、G−MPRノード選択部118によるHello受信処理に基づいて、MPR隣接ノードを選択して、選択されたMPR隣接ノードの情報を更新する。本実施形態では、このMPRの選択は、非特許文献1に開示されるとおりに行うことができる。MPRはユニキャスト制御メッセージをネットワーク全体にフラッディングするために使われる転送ノードであるため、グループとは関係なく選択される。図6に、ノード12が選択したユニキャスト経路制御用MPRを示す。全2ホップ先ノードをカバーするように、ノード11、13、22、および36がMPRとして選択される。
図7に示すように、Helloメッセージ200は、図3のHelloメッセージに、さらに、選択されたMPR隣接ノードの隣接ノードIPアドレス214と、そのMPR隣接ノードの隣接ノードグループ情報216とを含む。また、MPRに選択されなかった隣接ノードの隣接ノードIPアドレス204およびその隣接ノードの隣接ノードグループ情報206も含む。
G−MPRノード選択部118は、さらに、隣接ノードから受信したHelloメッセージに含まれる、その隣接ノードが属するグループ情報を用いて、自身が属するグループ毎に、同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、同一のグループに属する隣接ノードの中からグループ用転送ノード(Group MPR:以下、G−MPR)を選択する。選択の方法はユニキャスト用MPRと同様である。異なるのは、対象とする隣接ノード、2ホップ先ノードの集合が自身と同じグループに属しているものだけである点である。
たとえば、上記実施形態の通信システムにおいて、G−MPRノード選択部118は、重複する2ホップ先のノードが少ない隣接ノードを優先してグループ用転送ノード(G−MPR)に選択する。この構成によれば、転送先ノードが重複することによる干渉を避けることができ、通信品質が向上する。
たとえば、ノード12は、自身が属するグループ1に属している隣接ノードおよび2ホップ先ノードを対象として、グループ1用のG−MPRを選択する。図8に、ノード12においてG−MPRノード選択部118が選択したグループ1用転送ノードを示す。グループ1に属する隣接ノードは、ノード11、13、および15の3ノード(図中、二重線で示す)である。グループ1に属する全2ホップ先ノード(ノード14、16、および18(図中、破線で示す))をカバーするため、ノード13およびノード15が、グループ1用転送ノード(G−MPR)に選択される。
そして、図1のマルチキャスト経路制御部114は、図7に示すように、G−MPRノード選択部118によって選択されたG−MPRの隣接ノードIPアドレス224をさらに含むHelloメッセージ200を作成するようユニキャスト経路制御部111に指示する。
G−MPRノード選択部118が、ユニキャスト経路制御用MPRおよびグループ1用G−MPRを選択した後、Helloメッセージ発信部116が、次のHelloメッセージ送信タイミングが来た時点で、その情報をHelloメッセージ200に載せて(図7)送信する。
本実施形態の通信システムにおいて、ノード100は、マルチキャストの転送エントリを登録するマルチキャスト転送テーブル146を記憶する転送テーブル記憶部と、隣接ノードから受信した通信メッセージ(Helloメッセージ)に基づいて、隣接ノードから自身がグループ用転送ノード(G−MPR)に指定されたか否かを判定するグループ用転送ノード判定部(G−MPRノード選択部118)と、自身がグループ用転送ノード(G−MPR)に指定されたと判定されたとき、マルチキャスト転送テーブル146に、通信メッセージ(Helloメッセージ)の送信元の隣接ノードを転送エントリに設定する設定部(G−MPRノード選択部118)と、をさらに備える。
マルチキャスト転送テーブル146は、複数の転送エントリから成るテーブルであり、ノード100の図示されない記憶装置に記憶される。G−MPRノード選択部118が、G−MPRを選択したとき、G−MPRに選択されたノードの転送エントリをマルチキャスト転送テーブル146に書き込む。
たとえば、図7の例では、ノード12からグループ1のG−MPRに選択されたノード13とノード15は、下記の転送エントリをマルチキャスト転送テーブル146に登録する。
転送エントリ:<Group 239.192.0.1,Upstream Node 10.0.0.12>
また、ノード100は、受信した通信メッセージを参照し、転送先ノード情報に基づいて、自身がグループ用転送ノードであるか否かを判定する判定部(G−MPRノード選択部118)と、自身が属するグループ宛のマルチキャストのデータパケットを受信するパケット受信部142と、自身がグループ用転送ノードであると判定された場合、受信したデータパケットを自身が属するグループの他の隣接ノードに転送する転送部(パケット送信部148)と、を備える。
また、本実施形態の通信システムにおいて、ノード100は、マルチキャストパケットを受信するパケット受信部142と、マルチキャストパケットを受信したとき、受信したマルチキャストパケットが自身のグループと同一グループ宛か否かを判定するマルチキャスト判定部(パケット転送判定部144)と、マルチキャストパケットが自身のグループと同一グループ宛ではないと判定された場合、受信したマルチキャストパケットを破棄する破棄部(パケット転送判定部144)と、を備える。
また、ノード100は、マルチキャスト転送テーブル146を参照し、マルチキャストパケットの送信元のノードが転送エントリに含まれるか否か判定するエントリ判定部(パケット転送判定部144)を備え、ノード100の転送部(パケット転送判定部144)は、マルチキャストパケットの送信元のノードが転送エントリに含まれない場合、マルチキャストパケットを破棄し、マルチキャストパケットの送信元のノードが転送エントリに含まれる場合、受信したマルチキャストパケットを同一グループの隣接ノードに転送する。
パケット受信部142は、インタフェース部102を介してネットワーク上の他のノードからパケットを受信する。パケット転送判定部144は、パケット受信部142がパケットを受信したとき、該パケットの宛先であるアプリケーション101へパケットデータを引き渡し、さらに他ノードへの転送処理をパケット送信部148に指示する。このとき、パケット転送判定部144は、受信したパケットの種類に応じた処理を行う。すなわち、パケット転送判定部144は、まず、受信したパケットがユニキャストかマルチキャストパケットかを判別する。そして、パケット転送判定部144は、受信したパケットがユニキャストパケットの場合、ユニキャストテーブル(不図示)を参照し、他のノードにパケットを転送処理する。ユニキャストパケットの転送処理は、非特許文献1に記載された処理と同様であり、本発明の本質に関わらないので、詳細な説明は省略する。
一方、パケット転送判定部144は、受信したパケットがマルチキャストパケットの場合、自身のグループと同一のグループ宛か否かを判定する。そして、自身のグループと同一のグループ宛でないと判定された場合、受信したマルチキャストパケットを破棄する。一方、自身のグループと同一のグループ宛であると判定された場合、該グループ宛パケットの受信を希望するアプリケーション101にパケットデータを引き渡す。その後、マルチキャスト転送テーブル146を参照し、受信したマルチキャストパケットの送信元のノードが転送エントリに含まれるか否か判定する。そして、パケット転送判定部144は、マルチキャストパケットの送信元のノードが転送エントリに含まれない場合、マルチキャストパケットを破棄する。一方、パケット転送判定部144は、マルチキャストパケットの送信元のノードが転送エントリに含まれる場合、受信したマルチキャストパケットを同一のグループの隣接ノードに転送するよう、パケット送信部148に指示する。
パケット送信部148は、パケット受信部142が受信したパケットやアプリケーション101から配信指示されたパケットを、パケット転送判定部144からの指示にしたがい、他のノードにインタフェース部102を介して送信する。たとえば、パケット送信部148は、マルチキャストパケットをパケット転送判定部144からの指示に従い、転送エントリされている隣接ノードにインタフェース部102を介して転送することができる。なお、マルチキャスト重複判定テーブル149については後述する。
このように構成された本実施形態の通信システムの動作について、以下に説明する。
図9は、本実施形態の通信システムの動作の一例を示すフローチャートである。ここでは、本実施形態の通信システムのノードのマルチキャスト経路構築処理の手順の一例を示している。
本実施形態の通信制御方法は、複数のノード100間のマルチホップネットワークを形成する通信システムにおいて、ノード100が、自身が属するグループを示す第1グループ情報と、隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージ(Helloメッセージ)を作成し(不図示)、ノード100が、作成されたHelloメッセージを発信し(不図示)、ノード100が、隣接ノードから受信したHelloメッセージを参照し、第1グループ情報および第2グループ情報に基づいて、自身が属するグループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、同一のグループに属する隣接ノードの中からグループ用転送ノードを選択し(ステップS713〜S717)、ノード100が、選択されたグループ用転送ノードを転送先ノード情報として含む通信メッセージを作成し、ノード100が、作成された通信メッセージを発信し、ノード100が、隣接ノードから受信した通信メッセージを参照し、転送先ノード情報に基づいて、マルチキャストするデータパケットをグループ用転送ノードに含まれる隣接ノードに転送する(不図示)。
複数のノード間のマルチホップネットワークを形成する通信システムにおいて、各種の処理手順をCPUが実行することにより、前述のようなノード100の各種ユニットが各種機能として実現される。
本発明の実施の形態に係るコンピュータプログラムは、ノード自身が属するグループを示す第1グループ情報と、隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する手順と、作成された通信メッセージを発信する手順と、隣接ノードから受信した通信メッセージを参照し、第1グループ情報および第2グループ情報に基づいて、ノード自身が属するグループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、同一のグループに属する隣接ノードの中からグループ用転送ノードを選択する手順と、選択されたグループ用転送ノードを転送先ノード情報として含む通信メッセージを作成する手順と、作成された通信メッセージを発信する手順と、隣接ノードから受信した通信メッセージを参照し、転送先ノード情報に基づいて、マルチキャストするデータパケットをグループ用転送ノードに含まれる隣接ノードに転送する手順と、をコンピュータに実行させるように記述されている。
本実施形態のコンピュータプログラムは、コンピュータが読み取り可能な記録媒体に記録することができる。記録媒体は特に限定されない。
以下、本実施形態の通信システムのノードのマルチキャスト経路構築処理の手順の一例の詳細について図1乃至図9を用いて説明する。
まず、本実施形態のノード100は、起動すると、ユニキャスト経路制御部111が作成した初期のHelloメッセージとして、図3のHelloメッセージ200をHelloメッセージ発信部116がインタフェース部102を介して発信する。そして、他のノードからのHelloメッセージをインタフェース部102を介してHelloメッセージ受信部120が受信することとなる(ステップS701)。
ノード100において、Helloメッセージ受信部120が、隣接ノードからHelloメッセージを受信すると(ステップS701)、G−MPRノード選択部118が、通常のユニキャスト経路制御のHello受信処理(リンク生存監視、隣接ノード更新、2ホップ先ノード更新、MPR選択等)を行う(ステップS703)。なお、ノード100の電源を切るなど、通信処理の終了要求を指示受付部(不図示)により受け付けた場合には、ノード100の通信動作などを終了する(不図示)。一方、特に終了指示を受け付けない場合は、所定の間隔で、Helloメッセージの発信処理を繰り返す(不図示)。
その後、G−MPRノード選択部118は、新たに自身がG−MPRとして選択されたかどうかをチェックする(ステップS705)。選択されている場合は(ステップS705のYES)、G−MPRノード選択部118は、マルチキャスト転送テーブル146に転送エントリを追加する(ステップS707)。選択されていない場合は(ステップS705のNO)、次のステップに進む。
また、G−MPRノード選択部118は、いままでG−MPRに選択されていたが選択されなくなった事象があるかどうかをチェックする(ステップS709)。ある場合は(ステップS709のYES)、該当する転送エントリをマルチキャスト転送テーブル146から削除する(ステップS711)。ない場合(ステップS709のNO)、次のステップに進む。その後、G−MPRノード選択部118は、自身が属するグループ毎に、ステップS715、およびステップS717のG−MPRの選択処理を繰り返す(ステップS713)。ステップS715では、該当するグループに属する隣接ノードと2ホップ先ノードを抽出する。これにより、マルチキャスト通信の経路が構築される。ステップS715の処理について、図10を用いて詳しく説明する。
図10に示すネットワークでは、ノード81〜92の7ノードで構成され、ノード81〜85はグループ8(図中、円形で示す)、ノード91と92はグループ9(図中、矩形で示す)に属しているとする。ノード81におけるステップS715の処理を見ると、ノード81のグループ8に属する隣接ノードはノード82のみ、グループ8に属する2ホップ先ノードはノード83と85の2つである。しかし、ノード85を隣接ノードとするノード91はグループ8に属していないため、ノード81は、どのグループ隣接ノードを選択してもノード85をカバーすることはできない。こうしたカバーできない2ホップ先ノードはG−MPRの選択から除かれるべきである。
そのため、ステップS715の処理は、以下の(1)〜(2)の手順で行われる。
(1) 隣接ノードの中から同一グループのノードを抽出し、グループ隣接ノード(以下、「G−NGB」と記す)とする
(2) G−NGBの隣接ノードの中から、G−NGBに属しておらず同一グループのノードを抽出し、グループ2ホップ先ノード(G−2hop)とする
そのため、図10ではノード81のG−NGBはノード82、G−2hopはノード83となる。
ステップS717では抽出したグループ隣接ノード(G−NGB)とグループ2ホップ先ノード(G−2hop)を用いて、該当するグループのG−MPRを選択する。
マルチキャスト転送テーブルに登録後は、ノード13とノード15はノード12からグループ1(239.192.0.1)を宛先とするマルチキャストパケットを受信した場合、自身がそのパケットを受信するとともにそのパケットを再転送する。
このようにして、本実施形態の通信システムでは、少なくとも2ホップ先のノードにパケットが転送できるように、効率よく、自身の属するグループに属している隣接ノードの中からG−MPRに選択して、マルチキャスト通信経路を構築できる。これにより、ユニキャスト経路の有無に関わらずマルチキャスト経路を計算することができ、したがって、ネットワークトポロジ変化時にユニキャスト経路と同等の速さでマルチキャスト経路を再構成することができ、通信不能時間を短縮でき、通信品質を向上できる。
たとえば、ノードの移動、あるいは、停止、故障などにより、ネットワーク構成に変更が生じた場合に、迅速にマルチキャスト通信経路を再構築できる。
また、ユニキャスト経路制御メッセージであるHelloメッセージを使って、マルチキャスト情報を送信するので、マルチキャスト経路制御のための特別なメッセージが不要であり、マルチキャストのための制御メッセージ負荷を削減できる。これにより、VHF(Very High Frequency)やUHF(Ultra High Frequency)などの帯域が狭い無線インタフェースを用いた無線マルチホップネットワークにも利用可能となる。
以上説明したように、本実施形態の通信システムによれば、ユニキャスト経路制御メッセージを使ってマルチキャスト転送ノードを選択することで、トポロジー変更をユニキャスト経路制御が検知した際、にマルチキャスト転送ノードも再選択することが可能となり、迅速なマルチキャスト経路の修復が可能となる。
これにより、本発明では制御負荷を抑えながらトポロジー変化時に通信不能時間が短いマルチキャスト経路制御が可能となる。
また、本実施形態の通信システムにおいて、自身が送信するマルチキャストパケットに一意に識別可能な識別番号(シーケンス番号)を設定する識別番号設定部(パケット転送判定部144)と、自身が送信したマルチキャストパケットおよび隣接ノードから受信したマルチキャストパケットの識別情報をマルチキャスト重複判定テーブル149に登録する識別番号登録部(パケット転送判定部144)と、受信したマルチキャストパケットの識別情報がマルチキャスト重複判定テーブル149に存在するかを判別する判別部(パケット転送判定部144)と、受信したマルチキャストパケットの識別情報がマルチキャスト重複判定テーブル149に存在すると判別されたとき、受信したマルチキャストパケットを破棄する破棄部(パケット転送判定部144)と、をさらに備えることができる。
すなわち、パケット転送判定部144は、さらに、自身が送信するマルチキャストパケットに一意に識別可能な識別番号(シーケンス番号)を設定し、その識別番号をマルチキャストパケットの識別情報に含め、自身が送信したマルチキャストパケットの識別情報をマルチキャスト重複判定テーブル149に登録する。そして、パケット転送判定部144は、受信したマルチキャストパケットの識別情報がマルチキャスト重複判定テーブル149に存在するかを判別し、受信したマルチキャストパケットの識別情報がマルチキャスト重複判定テーブル149に存在すると判別されたとき、受信したマルチキャストパケットを破棄する。さらに、パケット転送判定部144は、隣接ノードから受信したマルチキャストパケットの識別情報がマルチキャスト重複判定テーブル149に存在しないと判別されたとき、受信したマルチキャストパケットの識別情報をマルチキャスト重複判定テーブル149に登録する。
上述したように、単にマルチキャスト転送テーブルに従ってマルチキャストパケットを再転送するだけでは、パケットのループが発生してしまう。例えば、図8において、ノード12はノード15とノード13をグループ1のG−MPRに選択する。一方、ノード15はノード12とノード16をグループ1のG−MPRに選択する。この状態で、ノード12がグループ1宛のパケットを送信したとする。ノード15はそのパケットを受信すると、自身をG−MPRに選択しているノード12からのパケットであるためパケットを転送する。
ノード12は、ノード15が転送したパケットを受け取ることになる。ノード12は、自身をG−MPRに選択しているノード15からのパケットであるため、そのパケットを転送してしまう。実際には、自分が転送したパケットが戻ってきただけなので転送する必要は無いが、マルチキャスト転送テーブルだけではその判断ができない。そのため、ノード12とノード15の間(ノード15とノード16の間、ノード12とノード13の間も同様)で際限無くパケットの転送が繰り返されてしまう。
また、ノード14は、ノード12が送信したマルチキャストパケットをノード13とノード15の両方から重複して受信してしまう。
この転送ループや重複受信を防止するため、一度送信または受信したパケットは一定時間記録しておき、同じパケットを2回以上受信した場合は破棄する仕組みがあればよい。
本実施例では、IPv4ヘッダのIDフィールドにノード毎(もしくはマルチキャストグループ毎)に管理するシーケンス番号を入れ、パケットを送信する毎にシーケンス番号をインクリメントする。各ノードは、自身が送信したマルチキャストパケットもしくは、隣接ノードから受信したマルチキャストパケットについて、下記の識別情報を一定時間マルチキャスト重複判定テーブル149に記録する。マルチキャスト重複判定テーブル149は、複数の識別情報から成るテーブルであり、ノード100の図示されない記憶装置に記憶される。
識別情報:<送信者アドレス,宛先グループアドレス,シーケンス番号>
もし隣接ノードから受信したマルチキャストパケットの識別情報が、マルチキャスト重複判定テーブル149に存在する場合、そのパケットは破棄する。
図11に、自ノード100上で動作するアプリケーションからマルチキャストパケットが送信された場合の処理フローを示す。アプリケーション(不図示)がマルチキャストパケットを送信すると(ステップS801)、ノード100のパケット転送判定部144は、そのパケットにシーケンス番号を付与し(ステップS803)、シーケンス番号をインクリメントする(ステップS805)。そして、パケット転送判定部144が、パケットの識別情報をマルチキャスト重複判定テーブル149に記録し(ステップS807)、その後、パケット送信部(不図示)がインタフェース部102を介してパケットを送信する(ステップS809)。
図12に、隣接ノードからマルチキャストパケットを受信した場合の処理フローを示す。まずステップ901で隣接ノードからマルチキャストパケットを受信すると(ステップS901)、判定部(パケット転送判定部144)が、そのパケットの識別情報がマルチキャスト重複判定テーブル149に存在するかどうかを調べる(ステップS903)。識別情報が存在する場合(ステップS903のYES)、破棄部(パケット転送判定部144)が、パケットを破棄し(ステップS905)、処理を終了する。識別情報が存在しない場合(ステップS903のNO)、識別番号登録部(パケット転送判定部144)が、識別情報をマルチキャスト重複判定テーブル149へ登録し(ステップS907)、自ノード上で動作するアプリケーションにパケット受信を通知する(ステップS909)。その後、パケット転送判定部144が、マルチキャスト転送テーブル146にGroup=宛先グループアドレス、Upstream Node=そのパケットを送信したノードであるような転送エントリが存在するかを調べる(ステップS911)。エントリが存在する場合は(ステップS911のYES)、パケット送信部148が、パケットを転送し(ステップS913)、本処理を終了する。エントリが存在しない場合は(ステップS911のNO)、本処理を終了する。
以上説明したように、本実施形態の通信システムによれば、転送ループや重複受信を防止することができる。
(第2の実施の形態)
以上が本発明の基本的な動作であるが、ネットワークの状況によっては図13のノード81のようにグループから孤立してしまうことがありうる。この場合、基本動作ではノード81はグループ宛パケットの送受信ができなくなる。以下は、そうした孤立ノードを救済する方法について説明する。なお、ノードとグループの構成は図10と同じとする。
本実施形態の通信システムは、同一のグループに属する隣接ノードが存在しない場合、異なるグループの隣接ノードをグループ用転送ノード(G−MPR)に選択する第1選択部(G−MPRノード選択部118)と、自身が属していないグループのグループ用転送ノード(G−MPR)に選択されたノード100において、該グループの隣接ノードをグループ用転送ノード(G−MPR)として選択する第2選択部(G−MPRノード選択部118)と、異なるグループの隣接ノードから自分が所属するグループのグループ用転送ノード(G−MPR)に選択された場合、転送エントリをマルチキャスト転送テーブル146に登録する登録部(G−MPRノード選択部118)と、をさらに備える。
すなわち、G−MPRノード選択部118は、Helloメッセージのグループ情報に基づいて以下の判断を行う。たとえば、G−MPRノード選択部118は、同一のグループに属する隣接ノードが存在しない場合、異なるグループの隣接ノードをグループ用転送ノード(G−MPR)に選択し、所属していないグループのグループ用転送ノード(G−MPR)に選択されたノード100において、該グループの隣接ノードをグループ用転送ノード(G−MPR)として選択する。そして、さらに、G−MPRノード選択部118は、異なるグループの隣接ノードから、その隣接ノードが属するグループのグループ用転送ノード(G−MPR)に選択された場合、その隣接ノードを転送エントリとしてマルチキャスト転送テーブル146に登録する。
ノード81は、自身にグループ隣接ノード(G−NGB)が無い場合、同一グループの2ホップ先ノードを持つ異なるグループの隣接ノードをひとつ選択する。図13の場合、ノード81はノード85を隣接ノードに持つノード91か、もしくはノード83を隣接ノードに持つノード92を選択する。選択したノードに対して、ノード81はそれをグループ8のG−MPRに選択し、Helloメッセージにその情報を入れて送信する。ここでは、ノード91を選択したとする。
ノード91はノード81のHelloメッセージから自身がグループ8のG−MPRに選択されたことを認識する。その場合、自身の隣接ノードの中でグループ8に属するノードをひとつグループ8のG−MPRとして選択し、Helloメッセージにその情報を入れて送信する。ここではノード91はノード85をG−MPRに選択したとする。ノード85が、ノード91のHelloメッセージにより、グループ外のノード91からG−MPRに選択されたことを認識した場合、ノード85は強制的にそのノード91をG−MPRに選択する。これらの操作により、以下の転送エントリが各ノードに設定され、ノード81はノード91を介してグループ8宛のパケットを送受信できるようになる。
ノード91:
<Group=239.192.0.8,Upstream Node=10.0.0.81>
<Group=239.192.0.8,Upstream Node=10.0.0.85>
ノード85:
<Group=239.192.0.8,Upstream Node=10.0.0.91>
以上説明したように、本発明の実施の形態の通信システムによれば、自身が属するグループから孤立しているノードを救済し、マルチキャストパケットを転送することができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
100 ノード
101 アプリケーション
102 インタフェース部
110 経路制御部
111 ユニキャスト経路制御部
112 グループ登録情報記憶部
114 マルチキャスト経路制御部
116 Helloメッセージ発信部
118 G−MPRノード選択部
120 Helloメッセージ受信部
140 パケット処理部
142 パケット受信部
144 パケット転送判定部
146 マルチキャスト転送テーブル
148 パケット送信部
149 マルチキャスト重複判定テーブル
200 Helloメッセージ
202 自身グループ情報
204 隣接ノードIPアドレス
206 隣接ノードグループ情報
214 隣接ノードIPアドレス
216 隣接ノードグループ情報
224 隣接ノードIPアドレス

Claims (11)

  1. 複数のノード間のマルチホップネットワークを形成する通信システムにおいて、
    前記ノードは、
    自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する作成手段と、
    作成された前記通信メッセージを発信する発信手段と、
    前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、自身が属する前記グループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択する転送ノード選択手段と、を備え、
    前記ノードにおいて、
    前記作成手段に、前記転送ノード選択手段により選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成させ、
    前記発信手段に、前記作成手段により作成された前記通信メッセージを発信させ、
    前記ノードは、
    前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、マルチキャストするデータパケットを前記グループ用転送ノードに含まれる前記隣接ノードに転送する転送手段をさらに備える通信システム。
  2. 請求項1に記載の通信システムにおいて、
    前記ノードは、
    マルチキャストの転送エントリを登録するマルチキャスト転送テーブルを記憶する転送テーブル記憶手段と、
    前記隣接ノードから受信した前記通信メッセージに基づいて、前記隣接ノードから自身が前記グループ用転送ノードに指定されたか否かを判定するグループ用転送ノード判定手段と、
    自身が前記グループ用転送ノードに指定されたと判定されたとき、前記マルチキャスト転送テーブルに、前記通信メッセージの送信元の前記隣接ノードを前記転送エントリに設定する設定手段と、をさらに備える通信システム。
  3. 請求項2に記載の通信システムにおいて、
    前記ノードは、
    前記マルチキャスト転送テーブルを参照し、マルチキャストされたマルチキャストパケットの送信元のノードが前記転送エントリに含まれるか否か判定するエントリ判定手段を備え、
    前記ノードの前記転送手段は、
    前記マルチキャストパケットの送信元のノードが前記転送エントリに含まれない場合、受信した前記マルチキャストパケットを破棄し、
    前記マルチキャストパケットの送信元のノードが前記転送エントリに含まれる場合、受信した前記マルチキャストパケットを前記同一のグループの隣接ノードに転送する通信システム。
  4. 請求項1乃至3いずれかに記載の通信システムにおいて、
    前記転送ノード選択手段は、重複する2ホップ先のノードが少ない隣接ノードを優先して前記グループ用転送ノードに選択する通信システム。
  5. 請求項2乃至4いずれかに記載の通信システムにおいて、
    前記同一のグループに属する前記隣接ノードが存在しない場合、異なるグループの前記隣接ノードを前記グループ用転送ノードに選択する第1選択手段と、
    自身が属していないグループの前記グループ用転送ノードに選択されたノードにおいて、該グループの前記隣接ノードを前記グループ用転送ノードとして選択する第2選択手段と、
    前記異なるグループの前記隣接ノードから、その隣接ノードが属する前記グループの前記グループ用転送ノードに選択された場合、その隣接ノードを前記転送エントリとして前記マルチキャスト転送テーブルに登録する登録手段と、をさらに備える通信システム。
  6. 請求項1乃至5いずれかに記載の通信システムにおいて、
    前記通信メッセージは、隣接ノード発見メッセージである通信システム。
  7. 請求項1乃至6いずれかに記載の通信システムにおいて、
    自身が送信するマルチキャストパケットに一意に識別可能な識別番号を設定する識別番号設定手段と、
    前記自身が送信したマルチキャストパケットおよび前記隣接ノードから受信したマルチキャストパケットの前記識別情報をマルチキャスト重複判定テーブルに登録する識別番号登録手段と、
    受信した前記マルチキャストパケットの前記識別情報が前記マルチキャスト重複判定テーブルに存在するかを判別する判別手段と、
    受信した前記マルチキャストパケットの前記識別情報が前記マルチキャスト重複判定テーブルに存在すると判別されたとき、受信した前記マルチキャストパケットを破棄する破棄手段と、
    をさらに備える通信システム。
  8. 複数のノード間で形成されるマルチホップネットワーク内で、自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する作成手段と、
    作成された前記通信メッセージを発信する発信手段と、
    前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、自身が属するグループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択する転送ノード選択手段と、を備え、
    前記作成手段に、前記転送ノード選択手段により選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成させ、
    前記発信手段に、前記作成手段により作成された前記通信メッセージを発信させるノード。
  9. 複数のノード間で形成されるマルチホップネットワーク内で、自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、自身が属するグループと同一のグループに属する前記隣接ノードの中から転送先として選択されたグループ用転送ノードを示す転送先ノード情報を含む通信メッセージを、前記隣接ノードから受信するメッセージ受信手段と、
    前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、自身がグループ用転送ノードであるか否かを判定する判定手段と、
    自身が属する前記グループ宛のマルチキャストのデータパケットを受信するパケット受信手段と、
    自身が前記グループ用転送ノードであると判定された場合、受信した前記データパケットを自身が属する前記グループの他の隣接ノードに転送する転送手段と、を備えるノード。
  10. 複数のノード間のマルチホップネットワークを形成する通信システムにおいて、
    前記ノードが、自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成し、
    前記ノードが、作成された前記通信メッセージを発信し、
    前記ノードが、前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、自身が属する前記グループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択し、
    前記ノードが、選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成し、
    前記ノードが、作成された前記通信メッセージを発信し、
    前記ノードが、前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、マルチキャストするデータパケットを前記グループ用転送ノードに含まれる前記隣接ノードに転送する通信制御方法。
  11. 複数のノード間のマルチホップネットワークを形成する通信システムにおいて、コンピュータに前記ノードを実現するためのプログラムであって、
    ノード自身が属するグループを示す第1グループ情報と、隣接する隣接ノードが属するグループを示す第2グループ情報と、を含む通信メッセージを作成する手順と、
    作成された前記通信メッセージを発信する手順と、
    前記隣接ノードから受信した前記通信メッセージを参照し、前記第1グループ情報および前記第2グループ情報に基づいて、前記ノード自身が属する前記グループと同一のグループに属する少なくとも2ホップ先のノードにパケットを転送可能なように、前記同一のグループに属する前記隣接ノードの中からグループ用転送ノードを選択する手順と、
    選択された前記グループ用転送ノードを転送先ノード情報として含む前記通信メッセージを作成する手順と、
    作成された前記通信メッセージを発信する手順と、
    前記隣接ノードから受信した前記通信メッセージを参照し、前記転送先ノード情報に基づいて、マルチキャストするデータパケットを前記グループ用転送ノードに含まれる前記隣接ノードに転送する手順と、をコンピュータに実行させるためのプログラム。
JP2009210047A 2009-09-11 2009-09-11 通信システム、ノード、通信制御方法、およびプログラム Active JP5287622B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009210047A JP5287622B2 (ja) 2009-09-11 2009-09-11 通信システム、ノード、通信制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009210047A JP5287622B2 (ja) 2009-09-11 2009-09-11 通信システム、ノード、通信制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2011061569A JP2011061569A (ja) 2011-03-24
JP5287622B2 true JP5287622B2 (ja) 2013-09-11

Family

ID=43948687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009210047A Active JP5287622B2 (ja) 2009-09-11 2009-09-11 通信システム、ノード、通信制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5287622B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5409531B2 (ja) * 2010-07-08 2014-02-05 株式会社日立国際電気 無線通信装置
JP5857791B2 (ja) * 2012-02-24 2016-02-10 株式会社豊田中央研究所 通信装置
JP5594789B2 (ja) * 2012-03-02 2014-09-24 Necアクセステクニカ株式会社 無線通信装置、無線通信システム、無線通信方法および無線通信プログラム
JP6086194B2 (ja) * 2012-09-26 2017-03-01 岩崎通信機株式会社 無線メッシュネットワークシステムおよび無線通信装置
JP6086195B2 (ja) * 2012-09-26 2017-03-01 岩崎通信機株式会社 無線メッシュネットワークシステムおよび無線通信装置
JP6149597B2 (ja) * 2013-08-14 2017-06-21 富士通株式会社 ノード装置、データ中継方法、及び、プログラム
JP6646247B2 (ja) * 2015-08-19 2020-02-14 ヤマハ株式会社 オーディオシステム、オーディオ機器およびオーディオシステムの管理方法
JP2020145634A (ja) * 2019-03-08 2020-09-10 富士電機株式会社 無線通信装置および無線通信システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1499075A1 (en) * 2003-07-14 2005-01-19 Samsung Electronics Co., Ltd. Route update protocol for a wireless sensor network
JP4659680B2 (ja) * 2006-06-01 2011-03-30 三菱電機株式会社 拠点通信端末並びにネットワークシステム
JP5004683B2 (ja) * 2007-06-08 2012-08-22 三菱電機株式会社 無線通信端末
JP4927658B2 (ja) * 2007-07-31 2012-05-09 パナソニック株式会社 ルーチング方法及びノード装置
JP4918900B2 (ja) * 2007-09-13 2012-04-18 日本電気株式会社 無線マルチホップネットワーク、ノード、マルチキャスト経路制御方法及びプログラム

Also Published As

Publication number Publication date
JP2011061569A (ja) 2011-03-24

Similar Documents

Publication Publication Date Title
JP5287622B2 (ja) 通信システム、ノード、通信制御方法、およびプログラム
AU2005338057B2 (en) Route selection in wireless networks
JP5087553B2 (ja) メッシュネットワークにおける適応性無線ルーティングプロトコルのための方法およびシステム
JP4229182B2 (ja) 無線通信システム、無線通信装置、無線通信方法、および、プログラム
JP2006013734A (ja) 無線通信ネットワークシステム
JP4918900B2 (ja) 無線マルチホップネットワーク、ノード、マルチキャスト経路制御方法及びプログラム
Prabhavat et al. Low overhead localized routing in mobile ad hoc networks
JP4572173B2 (ja) 無線通信装置、無線通信方法および経路情報テーブルの作成方法
JP5241481B2 (ja) アドホックネットワークを含む通信システム、通信システムの移動通信装置、通信システムでの通信方法
JP2007089182A (ja) 高速な経路確立の方法及び装置
JP2007243932A (ja) 無線データ通信システム
JP2008017028A (ja) 無線装置およびそれを備えた無線通信ネットワーク
JP4939579B2 (ja) 無線ネットワークにおける経路選択
JP4951695B2 (ja) 無線ネットワークにおける経路選択
JP2010171577A (ja) 無線通信装置、及び無線通信システム
JP5741570B2 (ja) 通信装置、通信システム、通信方法および通信プログラム
JP5266462B2 (ja) 無線ネットワークおよびそれにおけるマルチキャスト方法
JP2009124303A (ja) アドホックネットワークにおけるメッセージ転送方法
CA2817659C (en) Route selection in wireless networks
CA2896911C (en) Route selection in wireless networks
Reddy et al. Temporary parallel route recovery for frequent link failure in VANET
JP2021040206A (ja) 通信制御装置および中継ノード選択方法
Azher Analysis of Routing Protocols in Wireless Networks
JP2009105936A (ja) ブロードキャストシステムとそのブロードキャスト方法、及びブロードキャストプログラム
KR20080080807A (ko) 이동 에드 혹 네트워크의 경로 복구 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130520

R150 Certificate of patent or registration of utility model

Ref document number: 5287622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150