(57)【要約】【課題】ネットワークの負荷およびマルチキャスト転送遅延を抑えつつ、マルチキャストルーチングトポロジーの変更やノードの覚醒レベルの変更によるマルチキャストメッセージの取りこぼしを防ぐ。【解決手段】実施形態にかかる通信ノード装置は、隣接ノードとの間でマルチキャストメッセージの送受信を行い、前記隣接ノードとの間で送信済みまたは受信済みのマルチキャストメッセージを保持し、前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出し、前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことが検出された場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信する。【選択図】図１
2015019233.tif 000002
【特許請求の範囲】
【請求項１】
同一マルチキャストリンク上に接続された隣接ノードとの間でマルチキャストメッセージを送受信する通信ノード装置であって、
前記隣接ノードとの間でマルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信部と、
前記マルチキャストメッセージ送受信部によって送信済みまたは受信済みのマルチキャストメッセージを保持するマルチキャストメッセージ保持部と、
前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出部と、
前記マルチキャスト受信断続検出部が前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信するマルチキャストメッセージ送信要求送受信部と、
を備える通信ノード装置。
【請求項２】
前記マルチキャストメッセージ送信要求送受信部は、前記隣接ノードからマルチキャストメッセージ送信要求を受信すると、前記マルチキャストメッセージ保持部にて保持されている前記マルチキャストメッセージを前記隣接ノードへ送信するように、前記マルチキャストメッセージ送受信部に指示する請求項１に記載の通信ノード装置。
【請求項３】
前記マルチキャスト受信断続検出部は、前記マルチキャストリンク上に他の隣接ノードが新たに追加された場合、前記他の隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったと判断する請求項１に記載の通信ノード装置。
【請求項４】
前記マルチキャストメッセージ送信要求送受信部は、前記マルチキャストメッセージ送信要求としてマルチキャストグループへの新たな参加要求を使用する請求項１に記載の通信ノード装置。
【請求項５】
前記マルチキャストメッセージ送信要求送受信部は、前記マルチキャストグループへの参加要求として、マルチキャストルーチングプロトコルメッセージまたはマルチキャスト受信ノード管理プロトコルのマルチキャストグループ参加用メッセージを使用する請求項４に記載の通信ノード装置。
【請求項６】
前記マルチキャスト送信要求送受信部は、前記マルチキャストグループへの参加要求として、ＲＰＬのＤＡＯメッセージを使用する請求項４に記載の通信ノード装置。
【請求項７】
前記マルチキャスト受信断続検出部は、自ノードが休眠状態から覚醒状態になった場合、前記マルチキャストリンク上の全ての隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったと判断する請求項１に記載の通信ノード装置。
【請求項８】
前記マルチキャストメッセージ送信要求は、自ノードが休眠していた期間に関する情報を含む請求項７に記載の通信ノード装置。
【請求項９】
前記保持マルチキャストメッセージ送受信部は、前記自ノードが休眠していた期間中に受信したメッセージを選択的に送信する請求項８に記載の通信ノード装置。
【請求項１０】
前記マルチキャスト受信断続検出部は、前記隣接ノードに対するリンクレイヤの信頼性に関するメトリックが所定の閾値を下回った場合、前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったと判断する請求項１に記載の通信ノード装置。
【請求項１１】
前記リンクレイヤの信頼性に関するメトリックは、Ｌｉｎｋ  Ｑｕａｌｉｔｙ  Ｌｅｖｅｌ（ＬＱＬ）、または、Ｅｘｐｅｃｔｅｄ  Ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｕｎｔ  Ｍｅｔｒｉｃ（ＥＴＸ）である請求項１０に記載の通信ノード装置。
【請求項１２】
前記マルチキャストメッセージ送信要求は、前記隣接ノードが保持するマルチキャストメッセージのメッセージ識別情報を含んだ保持メッセージ情報を含み、
前記マルチキャストメッセージ送信要求送受信部は、前記マルチキャストメッセージ保持部が保持する前記マルチキャストメッセージのうち前記保持メッセージ情報に含まれないマルチキャストメッセージを選択的に前記隣接ノードへ送信するように、前記マルチキャストメッセージ送受信部に指示する請求項２に記載の通信ノード装置。
【請求項１３】
前記保持メッセージ情報は、メッセージ識別情報の範囲指定子のリストを含む請求項１２に記載の通信ノード装置。
【請求項１４】
前記メッセージ識別情報は、コンテントＩＤとブロック番号とを含む請求項１２または１３に記載の通信ノード装置。
【請求項１５】
前記コンテントＩＤは、ＲＰＬ  ＭＰＬ  Ｏｐｔｉｏｎのｓｅｅｄ−ｉｄフィールドであり、
前記ブロック番号は、ｓｅｑｕｅｎｃｅフィールドである
請求項１４に記載の通信ノード装置。
【請求項１６】
前記マルチキャストメッセージ送信要求送受信部は、前記マルチキャストリンク上の全ての隣接ノードのうち前記保持メッセージ情報を未送信の隣接ノードに対しては、全ブロック未受信と判断する請求項１２〜１５のいずれか一つに記載の通信ノード装置。
【請求項１７】
前記マルチキャストメッセージ送信要求送受信部は、ネイティブマルチキャスト使用時には、前記マルチキャストリンク上の各隣接ノードの保持メッセージ情報の積集合を前記マルチキャストリンク上の保持メッセージ情報とする請求項１２〜１６のいずれか一つに記載の通信ノード装置。
【請求項１８】
マルチキャスト転送制御コマンドの送信および受信を行い、中断を示すマルチキャスト転送制御コマンドを受信した場合には前記マルチキャストメッセージ送信要求送受信部および前記マルチキャストメッセージ送受信部に対してマルチキャストメッセージの送受信中断を指示し、再開を示すマルチキャスト転送制御コマンドを受信した場合には前記マルチキャストメッセージ送信要求送受信部および前記マルチキャストメッセージ送受信部に対してマルチキャストメッセージの送受信再開を指示し、リセットを示すマルチキャスト転送制御コマンドを受信した場合には前記マルチキャストメッセージ保持部に対して当該マルチキャストメッセージ保持部が保持する前記マルチキャストメッセージの削除を指示するマルチキャスト転送制御コマンド送受信部をさらに備え、
前記マルチキャストメッセージ送受信部は、前記マルチキャスト転送制御コマンド送受信部からの中断または再開の前記指示に基づいて、マルチキャストメッセージの送受信を中断または再開し、
前記マルチキャストメッセージ保持部は、前記マルチキャスト転送制御コマンド送受信部からのリセットの前記指示に基づいて、現在保持している前記マルチキャストメッセージを削除する
請求項１に記載の通信ノード装置。
【請求項１９】
前記リセットの指示は、送信予定であるマルチキャストメッセージのメッセージ識別情報の範囲指定子を含み、
前記マルチキャストメッセージ送受信部は、前記マルチキャスト転送制御コマンド送受信部からのリセットの前記指示に基づき、前記範囲指定子に含まれないメッセージ識別情報に対応するマルチキャストメッセージを受信した場合には当該マルチキャストメッセージを直ちに廃棄する請求項１８に記載の通信ノード装置。
【請求項２０】
同一マルチキャストリンク上に接続された複数の通信ノード装置間でマルチキャストメッセージを送受信する通信システムであって、
各通信ノード装置は、
前記マルチキャストリンク上に接続された他の通信ノード装置との間でマルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信部と、
前記マルチキャストメッセージ送受信部によって送信済みまたは受信済みのマルチキャストメッセージを保持するマルチキャストメッセージ保持部と、
前記他の通信ノード装置との間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出部と、
前記マルチキャスト受信断続検出部が前記他の通信ノード装置からのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合、前記他の通信ノード装置にマルチキャストメッセージ送信要求を送信するマルチキャストメッセージ送信要求送受信部と、
を備える通信システム。
【請求項２１】
同一マルチキャストリンク上に接続された隣接ノードとの間でマルチキャストメッセージを送受信する通信ノード装置が実行する通信制御方法であって、
前記隣接ノードとの間で送信済みまたは受信済みのマルチキャストメッセージを保持し、
前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出し、
前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことが検出された場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信する
ことを含む通信制御方法。
【請求項２２】
同一マルチキャストリンク上に接続された隣接ノードとの間でマルチキャストメッセージを送受信する通信ノード装置のコンピュータを機能させるためのプログラムであって、
前記隣接ノードとの間でマルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信処理と、
前記マルチキャストメッセージ送受信処理によって送信済みまたは受信済みのマルチキャストメッセージを保持するマルチキャストメッセージ保持処理と、
前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出処理と、
前記マルチキャスト受信断続検出処理で前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信するマルチキャストメッセージ送信要求送受信処理と、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信ノード装置、通信システム、通信制御方法およびプログラムに関する。
【背景技術】
【０００２】
非特許文献１は、ネットワーク用ルーチングプロトコルＲＰＬ（IPv6 Routing Protocol for Low-Power and Lossy Networks）を規定する。ＲＰＬのＳｔｏｒｉｎｇ  ｍｏｄｅという動作モードでは、マルチキャストルーチングトポロジーを構築することが可能である。
【０００３】
非特許文献２は、メッシュネットワーク用ｆｌｏｏｄｉｎｇ型マルチキャストプロトコルであるＴｒｉｃｋｌｅマルチキャストを規定する。Ｔｒｉｃｋｌｅマルチキャストの各メッセージにはＴｒｉｃｋｌｅマルチキャストソースの識別子（シードＩＤ）およびシーケンス番号が付与される。各ノードは、転送済みのメッセージを第一の期間（Ｔｄｗｅｌｌ）保持し、重複受信メッセージを廃棄することができる。また、転送済みのメッセージを第二の期間（Ｔａｃｔｉｖｅ）保持し、これを定期的（ただし間隔は指数的に増大）に再送することができる（再送モード）。さらに、定期的な再送の代わりに、受信済みのメッセージに関する情報を定期的（ただし間隔は指数的に増大）に隣接ノード間で広告し合い、その情報を元に相手が未受信のメッセージのみを選択的に送信することもできる（抑制モード）。
【０００４】
非特許文献１では、マルチキャスト転送中にマルチキャストルーチングトポロジーの変更やノードの覚醒レベルの変更が起こった場合、メッセージの取りこぼしが発生する可能性がある。
【０００５】
非特許文献２では、メッセージ取りこぼしを抑えることができるが、ネットワークサイズが大きい場合に、再送モードはネットワーク負荷が増大する欠点があり、また、抑制モードはマルチキャスト転送遅延が増大する欠点がある。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】IETF RFC6550., RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks (Proposed standard, 2012).
【非特許文献２】IETF I.D., draft-ietf-trickle-mcast-03, "Multicast Protocol for Low power and Lossy Networks (MPL)", January 24, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の実施形態では、ネットワークの負荷およびマルチキャスト転送遅延を抑えつつ、マルチキャストルーチングトポロジーの変更やノードの覚醒レベルの変更によるマルチキャストメッセージの取りこぼしを防ぐことを可能とする通信ノード装置、通信システム、通信制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態にかかる通信ノード装置は、同一マルチキャストリンク上に接続された隣接ノードとの間でマルチキャストメッセージを送受信する通信ノード装置であって、前記隣接ノードとの間でマルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信部と、前記マルチキャストメッセージ送受信部によって送信済みまたは受信済みのマルチキャストメッセージを保持するマルチキャストメッセージ保持部と、前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出部と、前記マルチキャスト受信断続検出部が前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信するマルチキャストメッセージ送信要求送受信部と、を備える。
【０００９】
実施形態にかかる通信システムは、同一マルチキャストリンク上に接続された複数の通信ノード装置間でマルチキャストメッセージを送受信する通信システムであって、各通信ノード装置は、前記マルチキャストリンク上に接続された他の通信ノード装置との間でマルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信部と、前記マルチキャストメッセージ送受信部によって送信済みまたは受信済みのマルチキャストメッセージを保持するマルチキャストメッセージ保持部と、前記他の通信ノード装置との間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出部と、前記マルチキャスト受信断続検出部が前記他の通信ノード装置からのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合、前記他の通信ノード装置にマルチキャストメッセージ送信要求を送信するマルチキャストメッセージ送信要求送受信部と、を備える。
【００１０】
実施形態にかかる通信制御方法は、同一マルチキャストリンク上に接続された隣接ノードとの間でマルチキャストメッセージを送受信する通信ノード装置が実行する通信制御方法であって、前記隣接ノードとの間で送信済みまたは受信済みのマルチキャストメッセージを保持し、前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出し、前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことが検出された場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信することを含む。
【００１１】
実施形態にかかるプログラムは、同一マルチキャストリンク上に接続された隣接ノードとの間でマルチキャストメッセージを送受信する通信ノード装置のコンピュータを機能させるためのプログラムであって、前記隣接ノードとの間でマルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信処理と、前記マルチキャストメッセージ送受信処理によって送信済みまたは受信済みのマルチキャストメッセージを保持するマルチキャストメッセージ保持処理と、前記隣接ノードとの間でマルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出処理と、前記マルチキャスト受信断続検出処理で前記隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合、前記隣接ノードにマルチキャストメッセージ送信要求を送信するマルチキャストメッセージ送信要求送受信処理と、を前記コンピュータに実行させる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態１に係る通信ノード装置の概略構成例を示すブロック図。
【図２】図２は、実施形態１に係るマルチキャストメッセージ受信時の動作例を示すフローチャート。
【図３】図３は、実施形態１に係る非同期イベント受信時の動作例を示すフローチャート。
【図４】図４は、実施形態２に係る通信ノード装置の概略構成例を示すブロック図。
【図５】図５は、実施形態２に係るマルチキャストメッセージ受信時の動作例を示すフローチャート。
【図６】図６は、実施形態２に係る非同期イベント受信時の動作例を示すフローチャート。
【図７】図７は、実施形態２に係るマルチキャスト制御メッセージ受信処理の動作例を示すフローチャート。
【図８】図８は、実施形態３に係る無線マルチホップネットワークにおけるマルチキャストメッセージの転送例を示す概念図（その１）。
【図９】図９は、実施形態３に係る無線マルチホップネットワークにおけるマルチキャストメッセージの転送例を示す概念図（その２）。
【図１０】図１０は、実施形態３に係る無線マルチホップネットワークにおけるマルチキャストメッセージの転送例を示す概念図（その３）。
【図１１】図１１は、実施形態３に係る無線マルチホップネットワークにおけるマルチキャストメッセージの転送例を示す概念図（その４）。
【図１２】図１２は、実施形態３に係る無線マルチホップネットワークにおけるマルチキャストメッセージの転送例を示す概念図（その５）。
【図１３】図１３は、実施形態１〜３のいずれかに係るマルチキャストメッセージ保持部が保持するマルチキャストメッセージ情報の一例を示す図。
【図１４】図１４は、図１１の通信ノード装置Ｎ５におけるマルチキャスト受信断続検出部が管理する隣接ノード情報の一例を示す図。
【図１５】図１５は、実施形態１〜３のいずれかに係るマルチキャストメッセージのフォーマットの一例を示す図。
【図１６】図１６は、実施形態１〜３のいずれかに係るマルチキャストメッセージ送信要求のフォーマットの一例を示す図。
【図１７】図１７は、実施形態１〜３のいずれかに係るマルチキャスト転送制御コマンドのフォーマットの一例を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら、例示する実施形態にかかる通信ノード装置、通信システム、通信制御方法およびプログラムを詳細に説明する。
【００１４】
以下で例示する実施形態は、たとえば、送信または受信済みのマルチキャストメッセージを一定期間保持し、ある隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合にこの隣接ノードにマルチキャストメッセージ送信要求を送信し、隣接ノードからマルチキャストメッセージ送信要求を受信した場合に、保持するマルチキャストメッセージを送信する。これにより、ネットワークの負荷およびマルチキャスト転送遅延を抑えつつ、マルチキャストルーチングトポロジーの変更やノードの覚醒レベルの変更によるマルチキャストメッセージの取りこぼしを防ぐことが可能となる。
【００１５】
（実施形態１）
以下、実施形態１について、図面を参照しつつ詳細に説明する。図１は、実施形態１に係わる通信ノード装置の概略構成例を示すブロック図である。図１に示すように、通信ノード装置１００は、マルチキャストメッセージ送受信部１０１と、マルチキャストメッセージ保持部１０２と、マルチキャスト受信断続検出部１０３と、マルチキャストメッセージ送信要求送受信部１０４とを備えている。図１に示される各部は、それぞれの機能が予めプログラミングされた専用チップで実現されてもよいし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの情報処理装置がＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭなどの記憶装置に記憶されているプログラムを読み出して実行することで実現された機能であってもよい。
【００１６】
マルチキャストメッセージ送受信部１０１は、他の通信ノード装置との間でマルチキャストメッセージの送受信を行う。マルチキャストメッセージ保持部１０２は、マルチキャストメッセージ送受信部１０１が送信または受信済みのマルチキャストメッセージを一定期間保持する。マルチキャスト受信断続検出部１０３は、マルチキャストメッセージの受信継続性が維持されなくなったことを検出する。なお、受信継続性とは、リンクを確立した通信ノード装置（以下、隣接ノードという）間の電波状態や通信ノード装置の動作状態等によって決まるものである。
【００１７】
マルチキャストメッセージ送信要求送受信部１０４は、マルチキャスト受信断続検出部１０３がある隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合にこの隣接ノードにマルチキャストメッセージ送信要求を送信する。また、マルチキャストメッセージ送信要求送受信部１０４は、隣接ノードからマルチキャストメッセージの送信要求（以下、マルチキャストメッセージ送信要求という）を受信すると、マルチキャストメッセージ保持部１０２にて保持されるマルチキャストメッセージの送信をマルチキャストメッセージ送受信部１０１に指示する。
【００１８】
つづいて、実施形態１に係わる通信ノード装置１００の動作について、図面を参照して詳細に説明する。図２は、実施形態１に係わる通信ノード装置のマルチキャストメッセージ受信時の動作例を示すフローチャートである。図３は、実施形態１に係わる通信ノード装置の非同期イベント受信時の動作例を示すフローチャートである。なお、図２では、マルチキャストメッセージ送受信部１０１の動作に着目する。図３では、マルチキャストメッセージ送信要求送受信部１０４の動作に着目する。
【００１９】
図２に示すように、マルチキャストメッセージ受信時には、マルチキャストメッセージ送受信部１０１は、受信したマルチキャストメッセージＭからメッセージ識別情報ＩＤ、前ホップノード情報Ｎｐおよび受信時刻Ｔを取得する（ステップＳ１０１）。メッセージ識別情報ＩＤは、マルチキャストメッセージＭを一意に識別するための識別情報である。前ポップノード情報Ｎｐとは、直前にマルチキャストメッセージＭを転送（ポップ）した通信ノード装置を示す情報である。受信時刻Ｔは、通信ノード装置１００で管理している現在時刻であってよい。つぎに、マルチキャストメッセージ送受信部１０１は、マルチキャストメッセージ保持部１０２において、メッセージ識別情報ＩＤに該当するマルチキャストメッセージＭが保持されているか否かを判定する（ステップＳ１０２）。
【００２０】
ステップＳ１０２の判定の結果、メッセージ識別情報ＩＤに該当するマルチキャストメッセージＭがマルチキャストメッセージ保持部１０２に保持されていれば（ステップＳ１０２；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、マルチキャストメッセージ保持部１０２に、受信したマルチキャストメッセージＭを廃棄させる（ステップＳ１０６）。一方、メッセージ識別情報ＩＤに該当するマルチキャストメッセージＭがマルチキャストメッセージ保持部１０２に保持されていなければ（ステップＳ１０２；ＮＯ）、マルチキャストメッセージ送受信部１０１は、マルチキャストメッセージ保持部１０２にメッセージ識別情報ＩＤ、マルチキャストメッセージＭおよび受信時刻Ｔを保持させる（ステップＳ１０３）。
【００２１】
つぎに、マルチキャストメッセージ送受信部１０１は、前ポップノード情報Ｎｐに該当する隣接ノード（以下、説明の簡略化のため、前ポップ隣接ノードＮｐという）以外に他の隣接ノードが存在するか否かを判定し（ステップＳ１０４）、前ポップ隣接ノードＮｐ以外に他の隣接ノードが存在しなければ（ステップＳ１０４；ＮＯ）、受信処理を終了する。一方、前ポップ隣接ノードＮｐ以外の他の隣接ノードが存在すれば（ステップＳ１０４；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、受信したマルチキャストメッセージＭを他の隣接ノードに転送して（ステップＳ１０５）、受信処理を終了する。
【００２２】
また、図３に示すように、マルチキャストメッセージ送信要求送受信部１０４は、他の通信ノード装置からマルチキャスト制御イベントを受信するまで待機する（ステップＳ２０１；ＮＯ）。マルチキャスト制御イベントとは、隣接ノード間でそれぞれが実行するマルチキャスト通信等を互いに制御するためのイベントである。マルチキャスト制御イベントを受信すると（ステップＳ２０１；ＹＥＳ）、マルチキャストメッセージ送信要求送受信部１０４は、受信したマルチキャスト制御イベントのイベントタイプからマルチキャスト制御イベントがマルチキャストメッセージ送信要求Ｒの受信であるか否かを判定する（ステップＳ２０２）。
【００２３】
マルチキャスト制御イベントのイベントタイプがマルチキャストメッセージ送信要求Ｒの受信である場合（ステップＳ２０２；ＹＥＳ）、マルチキャストメッセージ送信要求送受信部１０４は、マルチキャストメッセージ保持部１０２にて保持されるマルチキャストメッセージのうち、マルチキャストメッセージ送信要求Ｒの保持メッセージ情報に含まれないマルチキャストメッセージの送信をマルチキャストメッセージ送受信部１０１に指示し（ステップＳ２０３）、ステップＳ２０１へリターンする。このとき、マルチキャストメッセージは、ネイティブマルチキャストを使用して送信してもよいし、マルチキャストメッセージ送信要求Ｒの送信元ノードＮにのみユニキャストを使用して送信してもよい。なお、保持メッセージ情報とは、自身のマルチキャストメッセージ保持部１０２が保持する全マルチキャストメッセージのメッセージ識別情報ＩＤをリストアップしたものであってよい。
【００２４】
一方、イベントタイプがマルチキャストメッセージ送信要求Ｒの受信でない場合（ステップＳ２０２；ＮＯ）、マルチキャストメッセージ送信要求送受信部１０４は、イベントタイプが隣接ノード信頼性低下であれば（ステップＳ２０４；ＹＥＳ）、マルチキャスト受信断続検出部１０３により隣接ノード信頼性低下が検出された隣接ノードＮに対し、マルチキャストメッセージ保持部１０２にて保持される保持メッセージ情報を含むマルチキャストメッセージ送信要求Ｒを送信して（ステップＳ２０５）、ステップＳ２０１へリターンする。一方、イベントタイプが隣接ノード信頼性低下でなければ（ステップＳ２０４；ＮＯ）、ステップＳ２０１にリターンする。なお、隣接ノード信頼性低下とは、隣接ノードとの受信継続性が低下した状態である。これは、たとえば隣接ノードに対するリンクレイヤの信頼性に関するメトリックが所定の閾値を下回った場合であってよい。
【００２５】
このように、実施形態１に係わる通信ノード装置１００によれば、送信または受信済みのマルチキャストメッセージＭを一定期間保持し、ある隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合にこの隣接ノードにマルチキャストメッセージ送信要求Ｒを送信する。また、隣接ノードからマルチキャストメッセージ送信要求Ｒを受信した場合に、保持するマルチキャストメッセージＭを送信する。これにより、ネットワークの負荷およびマルチキャスト転送遅延を抑えつつ、マルチキャストルーチングトポロジーの変更やノードの覚醒レベルの変更によるマルチキャストメッセージの取りこぼしを防ぐことが可能となる。
【００２６】
（実施形態２）
つぎに、実施形態２について、図面を参照しつつ説明する。図４は、実施形態２に係わる通信ノード装置の概略構成例を示すブロック図である。図２に示すように、通信ノード装置２００は、実施形態１に関わる通信ノード装置１００が備える各部１０１〜１０４に加え、マルチキャスト転送制御コマンド送受信部２０５を備える。
【００２７】
マルチキャスト転送制御コマンド送受信部２０５は、マルチキャスト転送制御コマンドの送信および受信を行う。マルチキャストメッセージ送受信の中断を示すマルチキャスト転送制御コマンドを受信した場合、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１に対し、マルチキャストメッセージの送受信中断を指示する。マルチキャストメッセージ送受信の再開を示すマルチキャスト転送制御コマンドを受信した場合、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１に対し、マルチキャストメッセージの送受信再開を指示する。また、保持しているマルチキャストメッセージのリセットを示すマルチキャスト転送制御コマンドを受信した場合、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャストメッセージ保持部１０２に対し、保持しているマルチキャストメッセージ（以下、保持メッセージという）の削除を指示する。
【００２８】
つづいて、実施形態２に係わる通信ノード装置２００の動作について、図面を参照して詳細に説明する。図５は、実施形態２に係わる通信ノード装置のマルチキャストメッセージ受信時の動作例を示すフローチャートである。図６は、実施形態２に係わる通信ノード装置の非同期イベント受信時の動作例を示すフローチャートである。図７は、実施形態２に係わる通信ノード装置のマルチキャスト制御メッセージ受信処理の動作例を示すフローチャートである。なお、図５では、マルチキャストメッセージ送受信部１０１の動作に着目する。図６では、マルチキャストメッセージ送信要求送受信部１０４の動作に着目する。図７では、マルチキャスト転送制御コマンド送受信部２０５の動作に着目する。
【００２９】
図５に示すように、マルチキャストメッセージ受信時には、マルチキャストメッセージ送受信部１０１は、受信したマルチキャストメッセージＭからメッセージ識別情報ＩＤ、前ホップノード情報Ｎｐおよび受信時刻Ｔを取得する（ステップＳ３０１）。つぎに、マルチキャストメッセージ送受信部１０１は、自身のステータスがマルチキャストメッセージ送受信の中断を示しているか否かを判定する（ステップＳ３０２）。ステータスが中断を示していれば（ステップＳ３０２；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、受信したマルチキャストメッセージＭを廃棄して（ステップＳ３０９）、受信処理を終了する。
【００３０】
一方、ステータスが中断を示していない場合（ステップＳ３０２；ＮＯ）、マルチキャストメッセージ送受信部１０１は、送信予定であるマルチキャストメッセージのメッセージ識別情報の範囲指定子（以下、送信予定マルチキャストメッセージ範囲指定子という）を保持しているか否かを判定する（ステップＳ３０３）。送信予定マルチキャストメッセージ範囲指定子を保持していれば（ステップＳ３０３；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、ステップＳ３０４へ進み、送信予定マルチキャストメッセージ範囲指定子を保持していなければ（ステップＳ３０３；ＮＯ）、ステップＳ３０５に進む。
【００３１】
ステップＳ３０４では、マルチキャストメッセージ送受信部１０１は、受信したマルチキャストメッセージＭのメッセージ識別情報ＩＤが送信予定マルチキャスメッセージ範囲指定子で指定された送信予定マルチキャストメッセージ範囲に含まれているか否かを判定する。メッセージ識別情報ＩＤが送信予定マルチキャストメッセージに範囲に含まれていれば（ステップＳ３０４；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、ステップＳ３０５に進み、メッセージ識別情報ＩＤが送信予定マルチキャストメッセージ範囲に含まれていなければ（ステップＳ３０４；ＮＯ）、マルチキャストメッセージＭを廃棄して（ステップＳ３０９）、受信処理を終了する。
【００３２】
ステップＳ３０５では、マルチキャストメッセージ送受信部１０１は、メッセージ識別情報ＩＤに該当するマルチキャストメッセージＭをマルチキャストメッセージ保持部１０２で保持しているか否かを判定する（ステップＳ３０５）。メッセージ識別情報ＩＤに該当するマルチキャストメッセージＭを保持していれば（ステップＳ３０５；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、受信したマルチキャストメッセージＭを廃棄して（ステップＳ３０９）、受信処理を終了する。
【００３３】
一方、メッセージ識別情報ＩＤに該当するマルチキャストメッセージＭを保持していなければ（ステップＳ３０５；ＮＯ）、マルチキャストメッセージ送受信部１０１は、マルチキャストメッセージ保持部１０２にメッセージ識別情報ＩＤ、マルチキャスメッセージＭおよび受信時刻Ｔを保持させる（ステップＳ３０６）。
【００３４】
つぎに、マルチキャストメッセージ送受信部１０１は、前ポップ隣接ノードＮｐ以外に他の隣接ノードが存在するか否かを判定し（ステップＳ３０７）、前ポップ隣接ノード以外に他の隣接ノードが存在しなければ（ステップＳ３０７；ＮＯ）、受信処理を終了する。一方、前ポップ隣接ノードＮｐ以外に他の隣接ノードが存在すれば（ステップＳ３０７；ＹＥＳ）、マルチキャストメッセージ送受信部１０１は、受信したマルチキャスメッセージＭを他の隣接ノードに転送して（ステップＳ３０８）、受信処理を終了する。
【００３５】
また、図６に示すように、マルチキャストメッセージ送信要求送受信部１０４は、他の通信ノード装置からマルチキャスト制御イベントを受信するまで待機する（ステップＳ４０１；ＮＯ）。マルチキャスト制御イベントを受信すると（ステップＳ４０１；ＹＥＳ）、マルチキャストメッセージ送信要求送受信部１０４は、受信したマルチキャスト制御イベントのイベントタイプがマルチキャストメッセージ送信要求Ｒの受信であるか否かを判定する（ステップＳ４０２）。
【００３６】
マルチキャスト制御イベントのイベントタイプがマルチキャスト送信要求Ｒの受信である場合（ステップＳ４０２；ＹＥＳ）、マルチキャストメッセージ送信要求送受信部１０４は、マルチキャストメッセージ保持部１０２にて保持するマルチキャストメッセージのうち、マルチキャストメッセージ送信要求Ｒの保持メッセージ情報に含まれないマルチキャストメッセージの送信をマルチキャストメッセージ送受信部１０１に指示し（ステップＳ４０３）、ステップＳ４０１へリターンする。このとき、マルチキャストメッセージは、ネイティブマルチキャストを使用して送信してもよいし、マルチキャストメッセージ送信要求Ｒの送信元ノードＮにのみユニキャストを使用して送信してもよい。
【００３７】
一方、イベントタイプがマルチキャストメッセージ送信要求Ｒの受信でない場合（ステップＳ４０２；ＮＯ）、マルチキャストメッセージ送信要求送受信部１０４は、イベントタイプが隣接ノード信頼性低下であれば（ステップＳ４０４；ＹＥＳ）、マルチキャスト受信断続検出部１０３により信頼性低下が検出された隣接ノードＮに対し、マルチキャストメッセージ保持部１０２にて保持される保持メッセージ情報を含むマルチキャストメッセージ要求を送信して（ステップＳ４０５）、ステップＳ４０１へリターンする。
【００３８】
一方、イベントタイプが隣接ノード信頼性低下でない場合（ステップＳ４０４；ＮＯ）、マルチキャストメッセージ送信要求送受信部１０４は、イベントタイプがマルチキャスト制御メッセージの受信であるか否かを判定する（ステップＳ４０６）。イベントタイプがマルチキャスト制御メッセージの受信であれば（ステップＳ４０６；ＹＥＳ）、マルチキャストメッセージ送信要求送受信部１０４は、マルチキャスト制御メッセージ受信処理を実施し（ステップＳ４０７）、ステップＳ４０１にリターンする。一方、イベントタイプがマルチキャスト制御メッセージの受信でなければ（ステップＳ４０６；ＮＯ）、そのままステップＳ４０１にリターンする。
【００３９】
図７に示すように、図６のステップＳ４０７に示すマルチキャスト制御メッセージ受信処理では、マルチキャスト転送制御コマンド送受信部２０５は、受信したマルチキャスト制御メッセージに含まれるマルチキャスト転送制御コマンドの種別がマルチキャストメッセージ送受信の中断を示しているか否かを判定する（ステップＳ５０１）。マルチキャスト転送制御コマンドの種別が中断を示している場合（ステップＳ５０１；ＹＥＳ）、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１にマルチキャストメッセージ送受信の中断を指示し（ステップＳ５０２）、ステップＳ５０７に進む。
【００４０】
一方、マルチキャスト転送制御コマンドの種別が中断を示していない場合（ステップＳ５０１；ＮＯ）、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャスト転送制御コマンドの種別がマルチキャストメッセージ送受信の再開を示しているか否かを判定する（ステップＳ５０３）。マルチキャスト転送制御コマンドの種別が再開を示している場合（ステップＳ５０３；ＹＥＳ）、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１にマルチキャストメッセージ送受信の再開を指示し（ステップＳ５０４）、ステップＳ５０７に進む。
【００４１】
一方、マルチキャスト転送制御コマンドの種別が再開を示していない場合（ステップＳ５０３；ＮＯ）、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャスト転送制御コマンドの種別が保持しているマルチキャストメッセージのリセットを示しているか否かを判定する（ステップＳ５０５）。マルチキャスト転送制御コマンドの種別がリセットを示している場合（ステップＳ５０５；ＹＥＳ）、マルチキャスト転送制御コマンド送受信部２０５は、マルチキャストメッセージ保持部１０２に対し、保持しているマルチキャストメッセージの削除を指示し（ステップＳ５０６）、ステップＳ５０７に進む。一方、マルチキャスト転送制御コマンドの種別がリセットを示していなければ（ステップＳ５０５；ＮＯ）、処理を終了して図６に示した動作へリターンする。
【００４２】
ステップＳ５０７では、マルチキャスト転送制御コマンド送受信部２０５は、前ホップ隣接ノードＮｐ以外に他の隣接ノードが存在するか否かを判定する。他の隣接ノードが存在する場合（ステップＳ５０７；ＹＥＳ）、マルチキャスト転送制御コマンド送受信部２０５は、受信したマルチキャスト制御メッセージを転送し（ステップＳ５０８）、処理を終了して図６に示した動作へリターンする。一方、前ホップ隣接ノードＮｐ以外に他の隣接ノードが存在しなければ（ステップＳ５０７；ＮＯ）、そのまま処理を終了して図６に示した動作へリターンする。
【００４３】
このように、実施形態２に係わる通信ノード装置２００によれば、マルチキャスト転送制御コマンドを送受信する。これにより、実施形態１に関わる通信ノード装置２００による効果に加え、ネットワークの負荷が高い場合にはマルチキャスト転送を中断させて、ユニキャスト通信を優先させることが可能となる。また、新たなマルチキャストコンテンツの配送を開始する際に、各通信ノード装置で保持されている古いマルチキャストコンテンツ用のメモリ領域を解放して新たなマルチキャストコンテンツの配送に割当てることも可能となる。
【００４４】
（実施形態３）
次に、本発明の実施形態３として、図８〜図１７を用いて、上述した実施形態１または２に係わる通信ノード装置を用いて構成された無線マルチホップネットワークにおけるマルチキャストメッセージの転送例を説明する。
【００４５】
図８〜図１２において、無線マルチホップネットワークは、５台の通信ノード装置Ｎ１（Ｄ１０１）、Ｎ２（Ｄ１０２）、Ｎ３（Ｄ１０３）、Ｎ４（Ｄ１０４）およびＮ５（Ｄ１０５）から構成される。通信ノード装置Ｎ１（Ｄ１０１）がすべてのマルチキャストメッセージの送信元であるとする。
【００４６】
また、図８において、通信ノード装置Ｎ１（Ｄ１０１）およびＮ２（Ｄ１０２）、通信ノード装置Ｎ２（Ｄ１０２）およびＮ３（Ｄ１０３）、通信ノード装置Ｎ１（Ｄ１０１）およびＮ５（Ｄ１０５）とは、それぞれ隣接ノード同士である。各隣接ノード間では、マルチキャストメッセージの交換が可能である。
【００４７】
さらに、図８において、通信ノード装置Ｎ４（Ｄ１０４）は、未だいずれの通信ノード装置とも隣接ノードの関係を形成していないとする。また、通信ノード装置Ｎ１（Ｄ１０１）、Ｎ２（Ｄ１０２）、Ｎ３（Ｄ１０３）およびＮ５（Ｄ１０５）は、それぞれメッセージ識別情報ＩＤ１、ＩＤ２およびＩＤ３で識別されるマルチキャストメッセージＭＭ１、ＭＭ２およびＭＭ３を保持し、通信ノード装置Ｎ４（Ｄ１０４）は、マルチキャストメッセージを保持していないとする。
【００４８】
図８の状態から、通信ノード装置Ｎ４（Ｄ１０４）が通信ノード装置Ｎ３（Ｄ１０３）の隣接ノードとなったとする。このとき、図９の状態となる。図９において、通信ノード装置Ｎ４（Ｄ１０４）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ１０１）を通信ノード装置Ｎ３（Ｄ１０３）に送信する。通信ノード装置Ｎ４（Ｄ１０４）は、マルチキャストメッセージを保持していないため、通信ノード装置Ｎ４（Ｄ１０４）が通信ノード装置Ｎ３（Ｄ１０３）へ送信するマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ１０１）の保持メッセージ情報は、ヌル（ＮＵＬＬ）となる。通信ノード装置Ｎ３（Ｄ１０３）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ１０１）を受信すると、自身が保持するマルチキャストメッセージＭＭ１、ＭＭ２およびＭＭ３（それぞれメッセージ識別情報ＩＤ１、ＩＤ２およびＩＤ３に対応）の３つのマルチキャストメッセージ（Ｍ１０２）を通信ノード装置Ｎ４（Ｄ１０４）に送信する。
【００４９】
図９において、通信ノード装置Ｎ４（Ｄ１０４）が３つのマルチキャストメッセージＭ１０２を受信後の状態から、通信ノード装置Ｎ４（Ｄ１０４）が通信ノード装置Ｎ５（Ｄ１０５）の隣接ノードとなったとする。このとき、図１０の状態となる。図１０において、通信ノード装置Ｎ４（Ｄ１０４）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ２０１）を通信ノード装置Ｎ５（Ｄ１０５）に送信する。通信ノード装置Ｎ４（Ｄ１０４）が通信ノード装置Ｎ５（Ｄ１０５）へ送信するマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ２０１）の保持メッセージ情報は、メッセージ識別情報ＩＤ１、ＩＤ２およびＩＤ３となる。通信ノード装置Ｎ５（Ｄ１０５）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ２０１）を受信すると、自身が保持するマルチキャストメッセージＭＭ１、ＭＭ２およびＭＭ３がすべてマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ２０１）の保持メッセージ情報に含まれるため、通信ノード装置Ｎ４（Ｄ１０４）にマルチキャストメッセージを送信しない。
【００５０】
次に、図１０において、通信ノード装置Ｎ５（Ｄ１０５）がマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ２０１）を受信後の状態から、通信ノード装置Ｎ４（Ｄ１０４）が休眠状態となった後、通信ノード装置Ｎ１（Ｄ１０１）が新たに３個のマルチキャストメッセージＭＭ４、ＭＭ５およびＭＭ６（それぞれメッセージ識別情報ＩＤ４、ＩＤ５およびＩＤ６に対応）を通信ノード装置Ｎ２（Ｄ１０２）およびＮ５（Ｄ１０５）へ送信し、通信ノード装置Ｎ２（Ｄ１０２）は３つのマルチキャストメッセージＭＭ４、ＭＭ５およびＭＭ６を受信し、これらを通信ノード装置Ｎ３（Ｄ１０３）に転送する一方で、通信ノード装置Ｎ１（Ｄ１０１）と通信ノード装置Ｎ５（Ｄ１０５）間のリンクの信頼性低下によって通信ノード装置Ｎ５（Ｄ１０５）が２つのマルチキャストメッセージＭＭ５およびＭＭ６のみを受信したとする。このとき、図１１の状態となる。図１１において、通信ノード装置Ｎ５（Ｄ１０５）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ３０１）を通信ノード装置Ｎ１（Ｄ１０１）に送信する。通信ノード装置Ｎ５（Ｄ１０５）から通信ノード装置Ｎ１（Ｄ１０１）へ送信されるマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ３０１）の保持メッセージ情報は、メッセージ識別情報ＩＤ１、ＩＤ２、ＩＤ３、ＩＤ５およびＩＤ６となる。通信ノード装置Ｎ１（Ｄ１０１）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ３０１）を受信すると、自身が保持するマルチキャストメッセージのうち、メッセージ識別情報ＩＤ４のみがマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ３０１）の保持メッセージ情報に含まれないため、メッセージ識別情報ＩＤ４に相当するマルチキャストメッセージＭＭ４（Ｍ３０２）を通信ノード装置Ｎ５（Ｄ１０５）に転送する。
【００５１】
次に、図１１において、通信ノード装置Ｎ５（Ｄ１０５）がマルチキャストメッセージＭＭ４（Ｍ３０２）を受信後の状態から、通信ノード装置Ｎ４（Ｄ１０４）が休眠状態から覚醒状態になったとする。このとき、図１２の状態となる。図１２において、通信ノード装置Ｎ４（Ｄ１０４）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ４０１）を通信ノード装置Ｎ３（Ｄ１０３）およびＮ５（Ｄ１０５）に送信する。通信ノード装置Ｎ４（Ｄ１０４）から通信ノード装置Ｎ３（Ｄ１０３）およびＮ５（Ｄ１０５）へそれぞれ送信されるマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ４０１）の保持メッセージ情報は、メッセージ識別情報ＩＤ１、ＩＤ２およびＩＤ３となる。通信ノード装置Ｎ３（Ｄ１０３）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ４０１）を受信すると、自身が保持するマルチキャストメッセージのうち、メッセージ識別情報ＩＤ４、ＩＤ５およびＩＤ６がマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ４０１）の保持メッセージ情報に含まれないため、メッセージ識別情報ＩＤ４、ＩＤ５およびＩＤ６に相当するマルチキャストメッセージＭＭ４、ＭＭ５およびＭＭ６（Ｍ４０２）を通信ノード装置Ｎ５（Ｄ１０５）に転送する。通信ノード装置Ｎ５（Ｄ１０５）は、マルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ４０１）を受信すると、自身が保持するマルチキャストメッセージがすべてマルチキャストメッセージ送信要求ＭＭｒｅｑ（Ｍ４０１）の保持メッセージ情報に含まれるため、通信ノード装置Ｎ４（Ｄ１０４）にマルチキャストメッセージを送信しない。
【００５２】
ここで図１３に、図１１の通信ノード装置Ｎ５（Ｄ１０５）における、マルチキャストメッセージ保持部１０２が保持するマルチキャストメッセージ（保持メッセージ）の情報（以下、保持メッセージ情報という）の一例を示す。図１３において、保持メッセージ情報は、メッセージ識別情報と、マルチキャストメッセージと、受信時刻との３つを１レコードとするテーブルで表される。図１３では、５つのエントリＴ１０１〜Ｔ１０５が保持されている。受信時刻は、たとえばマルチキャストメッセージの保持を開始してから一定時間経過したテーブルエントリを削除するために使用される。
【００５３】
つづいて図１４に、図１１の通信ノード装置Ｎ５（Ｄ１０５）における、マルチキャスト受信断続検出部１０３が管理する隣接ノード情報の一例を示す。図１４において、隣接ノード情報は、隣接ノード識別情報と、リンク信頼性（ＥＴＸ）との２つを１レコードとするテーブルで表される。図１４では、２つのエントリＴ２０１およびＴ２０２が保持されている。なお、隣接ノード識別情報とは、自身とリンクを確立した隣接ノードに予め設定されている識別情報である。これは、たとえば通信ノード装置のＭＡＣアドレスなどであってよい。また、リンク信頼性（ＥＴＸ）とは、たとえば電波状態や隣接ノードの動作状態からマルチキャスト受信断続検出部１０３が算出した隣接ノードに対するリンクレイヤの信頼性に関するメトリックであってよい。リンクレイヤの信頼性に関するメトリックは、Ｅｘｐｅｃｔｅｄ  Ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｕｎｔ  Ｍｅｔｒｉｃ（ＥＴＸ）に限らず、Ｌｉｎｋ  Ｑｕａｌｉｔｙ  Ｌｅｖｅｌ（ＬＱＬ）であってもよい。
【００５４】
つづいて図１５に、マルチキャストメッセージのフォーマットの一例を示す。図１５において、マルチキャストメッセージは、送信元アドレス、宛先アドレス、メッセージ識別情報、メッセージ種別およびペイロードから構成される。送信元アドレスとは、マルチキャストメッセージを最初に配信した通信装置のアドレスである。宛先アドレスとは、このマルチキャストメッセージを受信する通信装置のアドレスである。この宛先アドレスには、マルチキャストグループアドレスが含まれ得る。アプリケーションレイヤマルチキャストを使用する場合には、送信元アドレスおよび宛先アドレスには、それぞれ、アプリケーションレイヤの送信元識別情報およびグループ識別情報が含まれてもよい。メッセージ種別とは、このメッセージがマルチキャストメッセージまたはユニキャストメッセージであるかや、その他マルチキャストメッセージ送信要求などのマルチキャスト制御イベントであるか等を示す情報である。
【００５５】
つぎに図１６に、マルチキャストメッセージ送信要求のフォーマットの一例を示す。図１６において、マルチキャストメッセージ要求は、送信元アドレス、宛先アドレス、メッセージ種別および保持メッセージ情報から構成される。送信元アドレスは、このマルチキャストメッセージ送信要求を送信した通信ノード装置のアドレスである。宛先アドレスとは、このマルチキャストメッセージ送信要求の宛先となる通信ノード装置のアドレスである。保持メッセージ情報は、範囲指定子のリストから構成される。各範囲指定子は、コンテントＩＤ、開始ブロック番号およびブロック数から構成される。
【００５６】
つぎに図１７に、マルチキャスト制御メッセージのフォーマットの一例を示す。図１７において、マルチキャスト制御メッセージは、送信元アドレス、宛先アドレス、メッセージ種別、マルチキャスト転送制御コマンドおよびパラメータから構成される。送信元アドレスとは、このマルチキャスト制御メッセージを送信した通信ノード装置のアドレスである。宛先アドレスとは、このマルチキャスト制御メッセージの宛先となる通信ノード装置のアドレスである。パラメータとは、マルチキャスト転送制御コマンドによって指示された動作を実行する際に必要となる情報である。たとえばマルチキャスト転送制御コマンドがリセットを示す場合には、パラメータには送信予定マルチキャストメッセージ範囲指定子が含まれてもよい。また、マルチキャスト転送制御コマンドが中断を示す場合には、パラメータには再開予定時刻が含まれてもよい。
【００５７】
なお、上述の各実施形態で説明した通信ノード装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、マルチキャストメッセージ送受信部１０１、マルチキャストメッセージ保持部１０２、マルチキャスト受信断続検出部１０３、マルチキャストメッセージ送信要求送受信部１０４およびマルチキャスト転送制御コマンド送受信部２０５は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、通信ノード装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、マルチキャストメッセージ保持部１０２は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００５８】
以上のように、上述の実施形態に係る通信ノード装置は、マルチキャストメッセージの送受信を行うマルチキャストメッセージ送受信部１０１と、マルチキャストメッセージ送受信部１０１が送信または受信済みのマルチキャストメッセージを一定期間保持するマルチキャストメッセージ保持部１０２と、マルチキャストメッセージの受信継続性が維持されなくなったことを検出するマルチキャスト受信断続検出部１０３と、マルチキャスト受信断続検出部１０３がある隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合にこの隣接ノードにマルチキャストメッセージ送信要求を送信し、隣接ノードからマルチキャストメッセージ送信要求を受信すると、マルチキャストメッセージ保持部１０２にて保持されるマルチキャストメッセージの送信をマルチキャストメッセージ送受信部１０１に指示するマルチキャストメッセージ送信要求送受信部１０４とを備えている。
【００５９】
マルチキャスト受信断続検出部１０３は、ある隣接ノードが新たに加わった場合に、この隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったと判断するかもしれない。また、マルチキャストメッセージ送信要求送受信部１０４は、マルチキャストメッセージ送信要求として、マルチキャストグループへの参加要求を使用するかもしれない。この場合、マルチキャストグループへの参加要求として、マルチキャストルーチングプロトコルやマルチキャストリスナー管理プロトコルのマルチキャストグループ参加用メッセージが使用されるかもしれない。マルチキャストルーチングプロトコルのマルチキャストグループ参加用メッセージとして、例えば、ＲＦＣ  ３９７３（ＰＩＭ−ＳＭ）のＪｏｉｎ／Ｐｒｕｎｅメッセージがある。マルチキャスト受信ノード管理プロトコルのマルチキャストグループ参加用メッセージとして、例えば、ＲＦＣ  ３３７６（ＩＧＭＰｖ３）に記載のＭｅｍｂｅｒｓｈｉｐ  ＲｅｐｏｒｔメッセージやＲＦＣ  ３８１０（ＭＬＤｖ２）に記載のＭｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｒｅｐｏｒｔメッセージがある。また、マルチキャストメッセージ送信要求として、ルーチングプロトコルの経路情報広告が使用されるかもしれない。この場合、ルーチングプロトコルの経路情報広告として、例えば、ＲＰＬのＤＡＯ（Destination Advertisement Object）が使用されるかもしれない。
【００６０】
マルチキャスト受信断続検出部１０３は、自ノードが休眠状態から覚醒状態になった場合に、全ての隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったと判断するかもしれない。その場合、マルチキャストメッセージ送信要求送受信部１０４が送信するマルチキャストメッセージ送信要求には、休眠していた期間に関する情報が含まれるかもしれない。
【００６１】
マルチキャスト受信断続検出部１０３は、ある隣接ノードに対するリンクレイヤの信頼性に関するメトリックが所定の閾値を下回った場合に、この隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったと判断するかもしれない。この場合、リンクレイヤの信頼性に関するメトリックとして、Ｌｉｎｋ  Ｑｕａｌｉｔｙ  Ｌｅｖｅｌ（ＬＱＬ）やＥｘｐｅｃｔｅｄ  Ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｕｎｔ  Ｍｅｔｒｉｃ（ＥＴＸ）が使用されるかもしれない。ただし、通信不能となったリンクに関しては、ルーチングプロトコルによりそのようなリンクを迂回するようなマルチキャスト経路制御が行われるものとする。
【００６２】
マルチキャストメッセージ送信要求は、保持メッセージ情報を含んでもいてもよい。マルチキャストメッセージ送信要求送受信部１０４は、マルチキャストメッセージ送信要求の送信元に対し、保持メッセージ情報に含まれないメッセージを選択的に送信してもよい。この場合、保持メッセージ情報は、メッセージ識別情報のリスト、メッセージ識別情報の範囲指定子のリストおよびメッセージ識別情報のビットマップのいずれかで表されるかもしれない。メッセージ識別情報は、各マルチキャストメッセージに付加される。メッセージ識別情報は、コンテントＩＤおよびブロック番号で構成されるかもしれない。この場合、コンテントＩＤおよびブロック番号として、それぞれ、非特許文献２に記載のＭＰＬ  Ｏｐｔｉｏｎのｓｅｅｄ−ｉｄフィールドおよびｓｅｑｕｅｎｃｅフィールドが用いられるかもしれない。
【００６３】
また、マルチキャストメッセージ送信要求送受信部１０４は、マルチキャストメッセージ送信要求を未送信の隣接ノードに対しては、全ブロック未受信として扱うかもしれない。また、ネイティブマルチキャスト使用時には、同一マルチキャストリンク上の各隣接ノードの保持メッセージ情報の積集合がそのリンク上の保持メッセージ情報として扱われるかもしれない。ここで、ネイティブマルチキャストとは、データリンクレイヤまたはネットワークレイヤにより提供されるマルチキャストのことである。
【００６４】
さらに、各実施形態にかかる通信ノード装置は、マルチキャスト転送制御コマンドの送信および受信を行うマルチキャスト転送制御コマンド送受信部２０５を有してもよい。マルチキャスト転送制御コマンド送受信部２０５は、、中断を示すマルチキャスト転送制御コマンドを受信した場合にはマルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１に対してマルチキャストメッセージの送受信中断を指示し、再開を示すマルチキャスト転送制御コマンドを受信した場合にはマルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１に対してマルチキャストメッセージの送受信再開を指示し、リセットを示すマルチキャスト転送制御コマンドを受信した場合にはマルチキャストメッセージ保持部１０２に対して保持メッセージの削除を指示するかもしれない。この場合、マルチキャストメッセージ送受信部１０１は、マルチキャスト転送制御コマンド送受信部２０５からの中断または再開指示に基づいて、マルチキャストメッセージの送受信の中断または再開をそれぞれ行う。また、マルチキャストメッセージ保持部１０２は、マルチキャスト転送制御コマンド送受信部２０５からのリセット指示に基づいて、現在保持している全てのマルチキャストメッセージを削除するかもしれない。
【００６５】
リセットを示すマルチキャスト転送制御コマンドは、送信予定マルチキャストメッセージのメッセージ識別情報の範囲指定子（送信予定マルチキャストメッセージ範囲指定子）を含んでもよく、この場合、マルチキャストメッセージ送受信部１０１は、マルチキャスト転送制御コマンド送受信部２０５からのリセット指示に基づいて、送信予定マルチキャストメッセージ範囲指定子に含まれないマルチキャストメッセージを受信した場合にはこれを直ちに廃棄してもよい。また、中断を示すマルチキャスト転送制御コマンドは、再開予定時刻を含んでいてもよく、この場合、マルチキャストメッセージ送受信部１０１は、マルチキャスト転送制御コマンド送受信部２０５からの中断指示に基づいて、再開予定時刻になると、マルチキャストメッセージ送信要求送受信部１０４およびマルチキャストメッセージ送受信部１０１に対し、マルチキャストメッセージの送受信再開を指示してもよい。
【００６６】
マルチキャストメッセージ送信要求送受信部１０４は、マルチキャストメッセージ保持部１０２にて保持されるマルチキャストメッセージの送信をマルチキャストメッセージ送受信部１０１に指示する場合、任意の順序で送信指示を行ってもよい。
【００６７】
また、マルチキャストメッセージ送受信部１０１がマルチキャストメッセージ保持部１０２に保持されるマルチキャストメッセージを送信する場合、マルチキャストを使用してもよいしユニキャストを使用してもよい。マルチキャストを使用する場合、ネイティブマルチキャスト、自動マルチキャストトンネリングまたはＲＥｓｏｕｒｃｅ  ＬＯｃａｔｉｏｎ  Ａｎｄ  Ｄｉｓｃｏｖｅｒｙ（ＲＥＬＯＡＤ）で規定されるようなアプリケーションレイヤマルチキャスト、もしくは、これらの任意の組合せが使用されてもよい。ネットワークレイヤでのマルチキャストとして、非特許文献２に記載のＴｒｉｃｋｌｅマルチキャストが使用されてもよい。ユニキャストを使用する場合、メッセージ毎に送信先の隣接ノードを変えてもよい。この場合、各隣接ノードとの間のリンクの状態を見て配布対象のメッセージが選択されてもよい。例えば、リンクの信頼性が不安定なリンクが利用可能な状態となった場合、そのリンクの先の隣接ノードに対して優先的にマルチキャストメッセージを転送してもよい。
【００６８】
以上のように、上述した実施形態では、送信または受信済みのマルチキャストメッセージを一定期間保持し、ある隣接ノードからのマルチキャストメッセージの受信継続性が維持されなくなったことを検出した場合にこの隣接ノードにマルチキャストメッセージ送信要求を送信し、隣接ノードからマルチキャストメッセージ送信要求を受信した場合に、保持するマルチキャストメッセージを送信することにより、ネットワークの負荷およびマルチキャスト転送遅延を抑えつつ、マルチキャストルーチングトポロジーの変更やノードの覚醒レベルの変更によるマルチキャストメッセージの取りこぼしを防ぐことが可能となる。
【００６９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７０】
１００…通信ノード装置、１０１…マルチキャストメッセージ送受信部、１０２…マルチキャストメッセージ保持部、１０３…マルチキャスト受信断続検出部、１０４…マルチキャストメッセージ送信要求送受信部、２０５…マルチキャスト転送制御コマンド送受信部
【図１】
2015019233.tif 000003
【図２】
2015019233.tif 000004
【図３】
2015019233.tif 000005
【図４】
2015019233.tif 000006
【図５】
2015019233.tif 000007
【図６】
2015019233.tif 000008
【図７】
2015019233.tif 000009
【図８】
2015019233.tif 000010
【図９】
2015019233.tif 000011
【図１０】
2015019233.tif 000012
【図１１】
2015019233.tif 000013
【図１２】
2015019233.tif 000014
【図１３】
2015019233.tif 000015
【図１４】
2015019233.tif 000016
【図１５】
2015019233.tif 000017
【図１６】
2015019233.tif 000018
【図１７】
2015019233.tif 000019