(57)【要約】【課題】不要なメッセージの送信を回避することができる送信キャンセル方法及び送信方法を提供する。【解決手段】実施形態の送信キャンセル方法は、ブロードキャストされたメッセージを受信すると、予め定められたインターバル内でランダム化された待ち時間を設定し、当該待ち時間が経過するまでに、メッセージと同一とみなされるメッセージを所定回数受信しなかった場合にメッセージのブロードキャストでの送信を予約し、所定回数受信した場合にメッセージのブロードキャストでの送信を予約せず、送信を予約したメッセージをブロードキャスト用のタイムスロットのタイミングでブロードキャストする場合に、送信を予約したメッセージと同一とみなされるメッセージを所定回数受信した場合、送信を予約したメッセージの送信をキャンセルする。【選択図】図１
2016082303.tif 000002
【特許請求の範囲】
【請求項１】
ブロードキャストされたメッセージを受信すると、予め定められたインターバル内でランダム化された待ち時間を設定し、当該待ち時間が経過するまでに、前記メッセージと同一とみなされるメッセージを所定回数受信しなかった場合に前記メッセージのブロードキャストでの送信を予約し、前記所定回数受信した場合に前記メッセージのブロードキャストでの送信を予約せず、送信を予約した前記メッセージをブロードキャスト用のタイムスロットのタイミングでブロードキャストする場合に、送信を予約した前記メッセージと同一とみなされるメッセージを前記所定回数受信した場合、送信を予約した前記メッセージの送信をキャンセルする送信キャンセル方法。
【請求項２】
前記メッセージのブロードキャストには、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔ又はＭＰＬ（Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋ）を用いる請求項１に記載の送信キャンセル方法。
【請求項３】
前記タイムスロットは、ＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）で割り当てられるタイムスロットである請求項１に記載の送信キャンセル方法。
【請求項４】
ブロードキャストされたメッセージを受信すると、予め定められたインターバル内でランダム化された待ち時間を設定し、当該待ち時間が経過するまでに、前記メッセージと同一とみなされるメッセージを所定回数受信しなかった場合に前記メッセージのブロードキャストでの送信を予約し、前記所定回数受信した場合に前記メッセージのブロードキャストでの送信を予約せず、送信を予約した前記メッセージをブロードキャスト用のタイムスロットのタイミングでブロードキャストする場合に、送信を予約した前記メッセージよりも新しいメッセージを受信した場合、送信を予約した前記メッセージの送信をキャンセルする送信キャンセル方法。
【請求項５】
前記メッセージのブロードキャストには、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔ又はＭＰＬ（Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋ）を用いる請求項４に記載の送信キャンセル方法。
【請求項６】
前記タイムスロットは、ＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）で割り当てられるタイムスロットである請求項４に記載の送信キャンセル方法。
【請求項７】
ブロードキャストされたメッセージを受信すると、予め定められたインターバル内でランダム化された待ち時間を設定し、当該待ち時間が経過するまでに、前記メッセージと同一とみなされるメッセージを所定回数受信しなかった場合に前記メッセージのブロードキャストでの送信を予約し、前記所定回数受信した場合に前記メッセージのブロードキャストでの送信を予約せず、送信を予約した前記メッセージをブロードキャスト用のタイムスロットのタイミングでブロードキャストする場合に、前記ブロードキャスト用のタイムスロットの期間、前記待ち時間を計測する送信方法。
【請求項８】
前記メッセージのブロードキャストには、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔ又はＭＰＬ（Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋ）を用いる請求項７に記載の送信方法。
【請求項９】
前記タイムスロットは、ＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）で割り当てられるタイムスロットである請求項７に記載の送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、送信キャンセル方法及び送信方法に関する。
【背景技術】
【０００２】
ＺｉｇＢｅｅ（登録商標）などの近距離無線通信においては、複数のノード（無線通信端末）で構成される無線メッシュネットワーク上でメッセージを転送するために、あるノードがメッセージを無線でブロードキャストし、当該メッセージを受信した他のノードが当該メッセージを再度無線でブロードキャストすることがある。
【０００３】
この場合に、既にメッセージが無線で送信（転送）されたエリアにも、同一メッセージが再度無線で送信されてしまうなど不要なメッセージの送信を回避するために、ＲＦＣ６２０６において、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔと呼ばれる技術が提案されている。
【０００４】
Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔは、ノードが、ブロードキャストされたメッセージを受信すると、インターバルｔを設定し、インターバルｔの期間内の待ち時間ｓまでに、受信したメッセージとコンシステントなメッセージをｋ（ｋ≧１）回受信すれば、受信したメッセージの送信（転送）をキャンセルし、ｋ回未満の受信であれば、受信したメッセージを送信する技術である。なお、待ち時間ｓは、ｔ／２〜ｔの期間内でランダムに決定される（例えば、特許文献１参照）。
【０００５】
Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔによれば、各ノードのメッセージ送信（転送）タイミングは、ランダムに決定されるため、メッセージの送信（転送）の競合が回避されるとともに、送信条件を満たさないノードによるメッセージの送信は行われないため、不要なメッセージの送信を回避することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２１２９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに、ＩＥＥＥ  ８０２．１５．４ｅで提案されているＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）を適用することを考える。
【０００８】
ＴＳＣＨでは、ブロードキャストは、マルチキャストチャネルが割り当てられたブロードキャスト用のタイムスロットで行うように定義されているため、メッセージのブロードキャストは、待ち時間ｓの経過後ではなく、待ち時間ｓの直後のブロードキャスト用のタイムスロットで行われることになる。
【０００９】
つまり、各ノードのメッセージ送信（転送）タイミングは、ブロードキャスト用のタイムスロットの単位に量子化されてしまうため、メッセージの送信の競合が多発し、不要なメッセージの送信も発生してしまう。
【００１０】
本発明が解決しようとする課題は、不要なメッセージの送信を回避することができる送信キャンセル方法及び送信方法を提供することである。
【課題を解決するための手段】
【００１１】
実施形態の送信キャンセル方法は、ブロードキャストされたメッセージを受信すると、予め定められたインターバル内でランダム化された待ち時間を設定し、当該待ち時間が経過するまでに、前記メッセージと同一とみなされるメッセージを所定回数受信しなかった場合に前記メッセージのブロードキャストでの送信を予約し、前記所定回数受信した場合に前記メッセージのブロードキャストでの送信を予約せず、送信を予約した前記メッセージをブロードキャスト用のタイムスロットのタイミングでブロードキャストする場合に、送信を予約した前記メッセージと同一とみなされるメッセージを前記所定回数受信した場合、送信を予約した前記メッセージの送信をキャンセルする。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態のノードの例を示す構成図。
【図２】第１実施形態のメッセージの送信キャンセル例の説明図。
【図３】第１実施形態のメッセージの送信キャンセル例の説明図。
【図４】第１実施形態のメッセージの送信キャンセル例の説明図。
【図５】第１実施形態のメッセージの送信キャンセル例の説明図。
【図６】第１実施形態のメッセージの送信キャンセル例の説明図。
【図７】第１実施形態のメッセージの送信キャンセル例の説明図。
【図８】第１実施形態のメッセージの送信キャンセル例の説明図。
【図９】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１０】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１１】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１２】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１３】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１４】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１５】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１６】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１７】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１８】第１実施形態のメッセージの送信キャンセル例の説明図。
【図１９】第１実施形態のメッセージの送信キャンセル例の説明図。
【図２０】第１実施形態のメッセージの送信キャンセル例の説明図。
【図２１】第１実施形態のメッセージの送信キャンセル例の説明図。
【図２２】第１実施形態のノードの処理例を示すフローチャート。
【図２３】第２実施形態のノードの例を示す構成図。
【図２４】第２実施形態のノードの第１管理部の処理例を示すフローチャート。
【図２５】第２実施形態のノードの第２管理部の処理例を示すフローチャート。
【図２６】各実施形態のノードのハードウェア構成例を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【００１４】
（第１実施形態）
図１は、第１実施形態のノード１０の一例を示す構成図である。ノード１０は、ＺｉｇＢｅｅ（登録商標）などの近距離無線通信が可能な無線通信端末であり、図１に示すように、ＮＥＴＷＯＲＫ層制御部２０と、ＭＡＣ層制御部３０とを、備える。
【００１５】
なお、第１実施形態では、ＲＦＣ６２０６で提案されているＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔを行うための制御を主としてノード１０について説明する。Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔは、ノード１０を含む複数のノードで構成される無線メッシュネットワーク全体に対する指示やファームウェアのアップデートを行う場合に利用される。
【００１６】
ＮＥＴＷＯＲＫ層制御部２０は、ＮＥＴＷＯＲＫ層で定義された近距離無線通信の制御を行うものであり、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現することができる。
【００１７】
第１実施形態では、ＮＥＴＷＯＲＫ層制御部２０が行う制御については、ＲＦＣ６２０６で提案されているＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔを行うためのＴｒｉｃｋｌｅ  Ｆｏｒｗａｒｄｅｒの制御を主として説明する。
【００１８】
なお、ＮＥＴＷＯＲＫ層制御部２０は、メッセージ受信部２１と、第１管理部２３と、メッセージ送信部２５と、第２管理部２７とを、備える。
【００１９】
ＭＡＣ層制御部３０は、ＭＡＣ層で定義された近距離無線通信の制御を行うものであり、例えば、無線通信チップなどのハードウェアにより実現することができる。
【００２０】
特に、第１実施形態のＭＡＣ層制御部３０は、ＩＥＥＥ  ８０２．１５．４ｅで提案されているＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）に従い、時分割多重によるＭＡＣ層の管理を行う。つまり、ＭＡＣ層制御部３０は、ＮＥＴＷＯＲＫ層制御部２０から送信を指示されたメッセージを、特定のタイミングでのタイムスロットで送信するものとする。
【００２１】
なお、ＭＡＣ層制御部３０は、受信メッセージ記憶部３１と、送信メッセージ記憶部３３とを、備える。
【００２２】
受信メッセージ記憶部３１は、他のノードから無線送信されたメッセージ（受信メッセージ）が格納（記憶）されるバッファである。
【００２３】
メッセージ受信部２１は、受信メッセージ記憶部３１に格納されたメッセージを受信し、受信したメッセージがＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに対応するメッセージ（例えば、他のノードからブロードキャストされたメッセージ）であれば、第１管理部２３に送る。なお、受信したメッセージがＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに対応しないメッセージである場合については、本実施形態の本旨ではないため、説明を省略する。
【００２４】
第１管理部２３は、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔを行うための管理を行うものであり、詳細には、ＲＦＣ６２０６  ｓｅｃｔｉｏｎ  ４．２で定義されている処理と同様の処理を行う。
【００２５】
例えば、第１管理部２３は、メッセージ受信部２１からメッセージが渡されると、インターバルｔを設定していなければ、インターバルｔを設定し、ｔ／２〜ｔの期間内で待ち時間ｓをランダムに決定する。そして第１管理部２３は、待ち時間ｓまでに、渡されたメッセージとコンシステントなメッセージをメッセージ受信部２１からｋ回渡されなければ、最初に渡されたメッセージ（インターバルｔを設定するトリガーとなったメッセージ）の送信をメッセージ送信部２５に指示する。一方、第１管理部２３は、待ち時間ｓまでに、渡されたメッセージとコンシステントなメッセージをメッセージ受信部２１からｋ回渡されれば、最初に渡されたメッセージ（インターバルｔを設定するトリガーとなったメッセージ）の送信をメッセージ送信部２５に指示しない。
【００２６】
なお、渡されたメッセージとコンシステントなメッセージとは、渡されたメッセージと同一とみなされるメッセージであり、例えば、渡されたメッセージと同一のメッセージや渡されたメッセージのＩＤと同一のＩＤのメッセージなどが挙げられるが、詳細には、ＲＦＣ６２０６では、実装依存であると定義されており、例えば、ＩＥＴＦ  Ｉｎｔｅｒｎｅｔ−Ｄｒａｆｔ  ｄｒａｆｔ−ｉｅｔｆ−ｒｏｌｌ−ｔｒｉｃｋｌｅ−ｍｃａｓｔ−０９では、セクション９．２及び１０．２でコンシステントであるメッセージの条件が定義されている。
【００２７】
メッセージ送信部２５は、第１管理部２３から送信を指示されたメッセージを送信メッセージ記憶部３３に格納（記憶）する。これにより、第１管理部２３から送信を指示されたメッセージの送信が予約される。
【００２８】
なお、送信メッセージ記憶部３３は、キュー形式でメッセージを保持するバッファであり、ＭＡＣ層制御部３０は、ブロードキャスト用のタイムスロットになると、送信対象のメッセージ（時系列で最も早く送信予約されたブロードキャストメッセージ）を無線でブロードキャストする。つまり、第１実施形態では、メッセージの送信が予約されたタイミングで当該メッセージがブロードキャストされず、送信予約後の直近のブロードキャスト用のタイムスロットで当該メッセージがブロードキャストされる。
【００２９】
第２管理部２７は、第１管理部２３がメッセージ送信部２５に送信を指示したメッセージを管理し、以下の（１）〜（３）のいずれかの条件を満たすメッセージを送信メッセージ記憶部３３から削除し、当該メッセージの送信をキャンセルする。なお、第１実施形態では、（１）の条件が満たされる場合、第２管理部２７は、時系列で後の方に送信予約されたメッセージを削除するものとするが、これに限定されず、いずれのメッセージを削除してもよい。
【００３０】
（１）送信メッセージ記憶部３３に同一のメッセージが含まれる場合。
【００３１】
（２）送信メッセージ記憶部３３に格納されたメッセージとコンシステントなメッセージをインターバルｔが経過するまでに、第１管理部２３がメッセージ受信部２１からｋ回渡された場合。
【００３２】
（３）送信メッセージ記憶部３３に格納されたメッセージよりも新しいメッセージをインターバルｔが経過するまでに、第１管理部２３がメッセージ受信部２１から渡された場合。
【００３３】
例えば、送信メッセージ記憶部３３は、メッセージが格納されると、メッセージが格納（エントリー）されたキューのキューＩＤを第２管理部２７に返し、第２管理部２７は、上記（１）〜（３）のいずれかの条件を満たすメッセージがあれば、当該メッセージのキューＩＤを送信メッセージ記憶部３３に通知し、当該メッセージを削除する。但し、削除対象メッセージの指示は、キューＩＤに限定されず、ポインタやメッセージＩＤなどを用いてもよい。なお、（３）の条件において、送信メッセージ記憶部３３に格納されたメッセージよりも新しいメッセージであるか否かは、例えば、バージョンなどメッセージ内に新旧を判別する情報を含めておけば、判別できる。
【００３４】
以下、図２〜図２１を参照しながら、メッセージの送信をキャンセルする具体例について説明する。図２〜図２１に示す例では、図２に示すように、Ｎ０１０−０〜Ｎ７１０−７までの８つのノードが直線上に配置され、無線メッシュネットワークを構成しているものとする。
【００３５】
なお、Ｎ０１０−０〜Ｎ７１０−７はいずれも、上述したノード１０の構成を備えているものとする。また、送信メッセージ記憶部３３−０〜３３−７は、それぞれ、Ｎ０１０−０〜Ｎ７１０−７の送信メッセージ記憶部を表す。ここでは、送信メッセージ記憶部３３−０〜３３−７は、２つのメッセージを格納可能なキューとなっているが、これに限定されるものではない。
【００３６】
また、Ｎ０１０−０は、オリジナルのメッセージをブロードキャストするノードであり、任意のタイミングでメッセージをブロードキャストし、Ｎ１１０−１〜Ｎ７１０−７は、当該メッセージを受信すると、受信したメッセージをブロードキャストすることで、当該メッセージを転送する。
【００３７】
また、Ｎ０１０−０〜Ｎ７１０−７は、それぞれ、左右ノード３台分までの距離で無線通信が可能なものとする。従って、例えば、Ｎ０１０−０は、Ｎ１１０−１〜Ｎ３１０−３と無線通信が可能であり、Ｎ３１０−３は、Ｎ０１０−０〜Ｎ２１０−２及びＮ４１０−４〜Ｎ６１０−６と無線通信が可能である。
【００３８】
また、以下では、ｋ＝１である場合を例に取り説明する。
【００３９】
まず、図３に示すように、Ｎ０１０−０の送信メッセージ記憶部３３−０に、メッセージＭ１の送信が予約され、ブロードキャスト用のタイムスロットになると、Ｎ０１０−０は、図４に示すように、メッセージＭ１をブロードキャストし、Ｎ１１０−１〜Ｎ３１０−３は、当該メッセージＭ１を受信する。
【００４０】
続いて、図５に示すように、Ｎ１１０−１〜Ｎ３１０−３は、それぞれ待ち時間ｓを決定し、インターバルｔをカウントするタイマーを稼働する。
【００４１】
続いて、図６に示すように、Ｎ２１０−２及びＮ３１０−３は、それぞれ、待ち時間ｓまでにメッセージＭ１とコンシステントなメッセージを受信しなかったため、送信メッセージ記憶部３３−２、３３−３に、メッセージＭ１の送信が予約される。
【００４２】
そして、ブロードキャスト用のタイムスロットになると、Ｎ３１０−３は、図７に示すように、メッセージＭ１をブロードキャストし、Ｎ０１０−０〜Ｎ２１０−２及びＮ４１０−４〜Ｎ６１０−６は、当該メッセージＭ１を受信する。
【００４３】
ここでは、Ｎ２１０−２及びＮ３１０−３のいずれもメッセージＭ１をブロードキャスト可能であったが、ＣＣＡ（Clear  Channel  Assessment）の結果、Ｎ２１０−２よりもＮ３１０−３の方が早くマルチキャストチャネルが割り当てられたため、Ｎ３１０−３が、メッセージＭ１をブロードキャストしたものとする。なお、ＣＣＡについては、公知技術であり、本実施形態の本旨ではないため、詳細な説明は省略する。
【００４４】
続いて、図８に示すように、Ｎ１１０−１は、インターバルｔをカウントするタイマー稼働中であり、待ち時間ｓの経過前であり、Ｎ３１０−３から受信したメッセージＭ１は、Ｎ０１０−０から受信したメッセージＭ１とコンシステントなメッセージであり、ｋ＝１となるため、Ｎ１１０−１は、Ｎ０１０−０から受信したメッセージＭ１を送信予約しない。
【００４５】
また、Ｎ１１０−１は、インターバルｔをカウントするタイマー稼働中であり、Ｎ３１０−３から受信したメッセージＭ１は、Ｎ０１０−０から受信したメッセージＭ１とコンシステントなメッセージであり、ｋ＝１となり、上述の（２）の条件が成立するため、Ｎ１１０−１は、送信メッセージ記憶部３３−２に記憶されたメッセージＭ１を削除し、メッセージＭ１の送信をキャンセルする。
【００４６】
また、Ｎ４１０−４〜Ｎ６１０−６は、それぞれ待ち時間ｓを決定し、インターバルｔをカウントするタイマーを稼働する。
【００４７】
続いて、図９に示すように、Ｎ１１０−１〜Ｎ３１０−３のインターバルｔが経過し、タイマーの稼働が終了する。
【００４８】
続いて、図１０に示すように、Ｎ０１０−０の送信メッセージ記憶部３３−０に、メッセージＭ２の送信が予約され、ブロードキャスト用のタイムスロットになると、Ｎ０１０−０は、図１１に示すように、メッセージＭ２をブロードキャストし、Ｎ１１０−１〜Ｎ３１０−３は、当該メッセージＭ２を受信する。なお、メッセージＭ２は、メッセージＭ１よりも新しいメッセージであるものとする。
【００４９】
続いて、図１２に示すように、Ｎ１１０−１〜Ｎ３１０−３は、それぞれ待ち時間ｓを決定し、インターバルｔをカウントするタイマーを稼働する。
【００５０】
続いて、図１３に示すように、Ｎ１１０−１は、待ち時間ｓまでにメッセージＭ２とコンシステントなメッセージを受信しなかったため、送信メッセージ記憶部３３−１に、メッセージＭ２の送信が予約され、Ｎ４１０−４は、待ち時間ｓまでにメッセージＭ１とコンシステントなメッセージを受信しなかったため、送信メッセージ記憶部３３−４に、メッセージＭ１の送信が予約される。
【００５１】
そして、ブロードキャスト用のタイムスロットになると、Ｎ１１０−１は、図１４に示すように、メッセージＭ２をブロードキャストし、Ｎ０１０−０及びＮ２１０−２〜Ｎ４１０−４は、当該メッセージＭ２を受信する。
【００５２】
ここでは、Ｎ１１０−１は、メッセージＭ２をブロードキャスト可能であり、Ｎ４１０−４は、メッセージＭ１をブロードキャスト可能であったが、ＣＣＡの結果、Ｎ４１０−４よりもＮ１１０−１の方が早くマルチキャストチャネルが割り当てられたため、Ｎ１１０−１が、メッセージＭ２をブロードキャストしたものとする。
【００５３】
続いて、図１５に示すように、Ｎ２１０−２及びＮ３１０−３は、インターバルｔをカウントするタイマー稼働中であり、待ち時間ｓの経過前であり、Ｎ１１０−１から受信したメッセージＭ２は、Ｎ０１０−０から受信したメッセージＭ２とコンシステントなメッセージであり、ｋ＝１となるため、Ｎ２１０−２及びＮ３１０−３は、Ｎ０１０−０から受信したメッセージＭ２を送信予約しない。
【００５４】
また、Ｎ４１０−４は、インターバルｔをカウントするタイマー稼働中であり、Ｎ１１０−１から受信したメッセージＭ２は、Ｎ３１０−３から受信したメッセージＭ１よりも新しいメッセージであり、上述の（３）の条件が成立するため、Ｎ４１０−４は、送信メッセージ記憶部３３−４に記憶されたメッセージＭ１を削除し、メッセージＭ１の送信をキャンセルする。
【００５５】
続いて、図１６に示すように、Ｎ５１０−５及びＮ６１０−６は、それぞれ、待ち時間ｓまでにメッセージＭ１とコンシステントなメッセージを受信しなかったため、送信メッセージ記憶部３３−５、３３−６に、メッセージＭ１の送信が予約される。
【００５６】
そして、ブロードキャスト用のタイムスロットになると、本来であれば、Ｎ５１０−５〜Ｎ６１０−６の少なくともいずれかは、メッセージＭ１をブロードキャストするが、ここでは、マルチキャストチャネルが別の通信により利用できなかったため、Ｎ５１０−５〜Ｎ６１０−６のいずれもメッセージＭ１をブロードキャストしなかったものとする。
【００５７】
続いて、図１７に示すように、Ｎ４１０−４〜Ｎ６１０−６のインターバルｔが経過し、タイマーの稼働が終了する。
【００５８】
続いて、再度、ブロードキャスト用のタイムスロットになり、Ｎ６１０−６は、図１８に示すように、メッセージＭ１をブロードキャストし、Ｎ３１０−３〜Ｎ５１０−５及びＮ７１０−７は、当該メッセージＭ１を受信する。
【００５９】
ここでは、Ｎ５１０−５及びＮ６１０−６のいずれもメッセージＭ１をブロードキャスト可能であったが、ＣＣＡの結果、Ｎ５１０−５よりもＮ６１０−６の方が早くマルチキャストチャネルが割り当てられたため、Ｎ６１０−６が、メッセージＭ１をブロードキャストしたものとする。
【００６０】
続いて、図１９に示すように、Ｎ４１０−４〜Ｎ５１０−５及びＮ７１０−７は、それぞれ待ち時間ｓを決定し、インターバルｔをカウントするタイマーを稼働する。なお、Ｎ４１０−４は、既にメッセージＭ１を受信済みであるため、この処理を省略してもよい。
【００６１】
続いて、図２０に示すように、Ｎ５１０−５は、待ち時間ｓまでにメッセージＭ１とコンシステントなメッセージを受信しなかったため、送信メッセージ記憶部３３−５に、メッセージＭ１の送信が予約される。
【００６２】
この結果、図２１に示すように、送信メッセージ記憶部３３−５には、メッセージＭ１が２つ記憶され、上述の（１）の条件が成立するため、Ｎ５１０−５は、送信メッセージ記憶部３３−５に記憶されたメッセージＭ１を削除し、メッセージＭ１の送信をキャンセルする。
【００６３】
図２２は、第１実施形態のノード１０で行われる処理の手順の流れの一例を示すフローチャートである。
【００６４】
まず、メッセージ受信部２１が、受信メッセージ記憶部３１に格納されたＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに対応するメッセージを受信し、当該メッセージが第１管理部２３に渡されると（ステップＳ１０１でＹｅｓ）、第１管理部２３は、インターバルｔをカウントするタイマーを稼働していなければ（ステップＳ１０３でＮｏ）、待ち時間ｓを決定し、インターバルｔをカウントするタイマーを稼働し（ステップＳ１０５）、ステップＳ１０１へ戻る。
【００６５】
一方、第１管理部２３は、インターバルｔをカウントするタイマーを稼働していれば（ステップＳ１０３でＹｅｓ）、送信予約条件を満たせば、即ち、待ち時間ｓまでに、渡されたメッセージとコンシステントなメッセージをメッセージ受信部２１からｋ回渡されなければ（ステップＳ１０７でＹｅｓ）、最初に渡されたメッセージ（インターバルｔを設定するトリガーとなったメッセージ）の送信をメッセージ送信部２５に指示し、メッセージ送信部２５は、第１管理部２３から送信を指示されたメッセージを送信メッセージ記憶部３３に格納し、第１管理部２３から送信を指示されたメッセージの送信を予約する（ステップＳ１０９）。
【００６６】
続いて、第２管理部２７は、同一メッセージが予約されているか否か、即ち、上述の（１）の条件が成立するか否かを確認し（ステップＳ１１１）、上述の（１）の条件が成立すれば（ステップＳ１１１でＹｅｓ）、同一メッセージのうち、時系列で後の方に送信予約されたメッセージを送信メッセージ記憶部３３から削除し、送信をキャンセルする（ステップＳ１１３）。
【００６７】
一方、送信予約条件を満たさない場合（ステップＳ１０７でＮｏ）、第２管理部２７は、予約メッセージ削除条件、即ち、上述の（２）又は（３）の条件が成立するか否かを確認し（ステップＳ１１７）、上述の（２）又は（３）の条件が成立すれば（ステップＳ１１７でＹｅｓ）、削除条件を満たすメッセージを送信メッセージ記憶部３３から削除し、送信をキャンセルする（ステップＳ１１９）。
【００６８】
続いて、第１管理部２３は、タイマーがインターバルｔをカウントし、タイムアウトしたか否かを判定し（ステップＳ１２１）、タイムアウトしていれば（ステップＳ１２１でＹｅｓ）、タイマーを停止して（ステップＳ１２３）、ステップＳ１０１へ戻る。なお、タイムアウトしていなければ（ステップＳ１２１でＮｏ）、タイマーを停止せずにステップＳ１０１へ戻る。
【００６９】
なお、ステップＳ１０１において、メッセージ受信部２１が、受信メッセージ記憶部３１に格納されたＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに対応するメッセージを受信しておらず（ステップＳ１０１でＮｏ）、第１管理部２３は、インターバルｔをカウントするタイマーを稼働していなければ（ステップＳ１２５でＮｏ）、ステップＳ１０１へ戻り、インターバルｔをカウントするタイマーを稼働していれば（ステップＳ１２５でＹｅｓ）、ステップＳ１０７へ進む。
【００７０】
以上のように第１実施形態によれば、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔにより各ノードでランダムに設定されたメッセージのブロードキャストタイミングが、ＴＳＣＨによりブロードキャスト用のタイムスロットに集約されメッセージの送信の競合が多発する環境化においても、不要なメッセージの送信をキャンセルするため、不要なメッセージの送信を回避することができる。
【００７１】
（第２実施形態）
第２実施形態では、ブロードキャスト用のタイムスロットの間、インターバルｔをカウントする例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００７２】
図２３は、第２実施形態のノード１１０の一例を示す構成図である。図２３に示すように、ノード１１０は、ＮＥＴＷＯＲＫ層制御部１２０の第１管理部１２３及び第２管理部１２７、並びにＭＡＣ層制御部１３０の送信スケジュール管理部１３５が、第１実施形態と相違する。
【００７３】
送信スケジュール管理部１３５は、ＴＳＣＨにより割り当てられるタイムスロットのスケジュールを管理しており、第２管理部１２７に通知する。
【００７４】
第２管理部１２７は、第１実施形態では第１管理部２３が行っていたインターバルｔをカウントするタイマーを制御する。具体的には、第２管理部１２７は、送信スケジュール管理部１３５から通知されたタイムスロットのスケジュールに従い、ブロードキャスト用のタイムスロットの間、タイマーを稼働し、インターバルｔをカウントする。
【００７５】
例えば、２秒の間に１００ミリ秒のブロードキャスト用のタイムスロットが存在するスケジュールの場合、第２管理部１２７は、ブロードキャスト用のタイムスロットの１００ミリ秒の間、タイマーを稼働する。この場合、当然ながら、タイマーの進みは、実時間に対して１／２０の速度となることから、待ち時間ｓ、インターバルｔなども通常のＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに対し１／２０程度に設定することで、通常のＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに近い性能とすることができる。
【００７６】
第１管理部１２３は、インターバルｔのカウントを除き、第１実施形態と同様の処理を行う。
【００７７】
図２４は、第２実施形態のノード１１０で行われる第１管理部１２３の処理の手順の流れの一例を示すフローチャートである。
【００７８】
まず、メッセージ受信部２１が、受信メッセージ記憶部３１に格納されたＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔに対応するメッセージを受信し、当該メッセージが第１管理部１２３に渡されると（ステップＳ２０１でＹｅｓ）、第１管理部１２３は、タイマー稼働状態でなければ（ステップＳ２０３でＮｏ）、第１管理部１２３は、第２管理部１２７にタイマー稼働状態にさせ（ステップＳ２０５）、ステップＳ２０１へ戻る。
【００７９】
一方、第１管理部１２３は、タイマー稼働状態である場合（ステップＳ２０３でＹｅｓ）、送信予約条件を満たせば、即ち、待ち時間ｓまでに、渡されたメッセージとコンシステントなメッセージをメッセージ受信部２１からｋ回渡されなければ（ステップＳ２０７でＹｅｓ）、最初に渡されたメッセージ（インターバルｔを設定するトリガーとなったメッセージ）の送信をメッセージ送信部２５に指示し、メッセージ送信部２５は、第１管理部１２３から送信を指示されたメッセージを送信メッセージ記憶部３３に格納し、第１管理部１２３から送信を指示されたメッセージの送信を予約し（ステップＳ２０９）、ステップＳ２０１へ戻る。
【００８０】
なお、送信予約条件を満たさない場合も（ステップＳ２０７でＮｏ）、ステップＳ２０１へ戻る。
【００８１】
図２５は、第２実施形態のノード１１０で行われる第２管理部１２７の処理の手順の流れの一例を示すフローチャートである。
【００８２】
まず、第２管理部１２７は、タイマー稼働状態であり（ステップＳ３０１でＹｅｓ）、タイマー稼働期間、即ち、ブロードキャスト用のタイムスロットであれば（ステップＳ３０３でＹｅｓ）、タイマーを稼働し（ステップＳ３０５）、ブロードキャスト用のタイムスロットでなければ（ステップＳ３０３でＮｏ）、タイマーを一時停止する（ステップＳ３０７）。なお、タイマーが一時停止中の場合、Ｓ３０１では「稼働状態（Ｙｅｓ）」として扱い、Ｓ３０５で稼働する際には一時停止直前の状態からカウントを再開する。
【００８３】
続いて、第２管理部１２７は、タイマーがインターバルｔをカウントし、タイムアウトしたか否かを判定し（ステップＳ３０９）、タイムアウトしていれば（ステップＳ３０９でＹｅｓ）、タイマーを無可動状態にして（ステップＳ３１１）、ステップＳ３０１へ戻る。なお、タイムアウトしていなければ（ステップＳ３０９でＮｏ）、タイマーを無可動状態にせずにステップＳ３０１へ戻る。
【００８４】
以上のように第２実施形態では、ブロードキャスト用のタイムスロットの期間、即ち、メッセージをブロードキャスト可能な期間、インターバルｔをカウントするタイマーを稼働するため、各ノードのメッセージ送信（転送）タイミングが、特定のタイミングに量子化されてしまうことを回避でき、通常のＴｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔと同様の対応が可能となる。従って、第２実施形態によれば、メッセージの送信（転送）の競合が回避されるとともに、送信条件を満たさないノードによるメッセージの送信は行われないため、不要なメッセージの送信を回避することができる。
【００８５】
（変形例）
上記第１実施形態において、（２）の条件を、「送信メッセージ記憶部３３に格納されたメッセージとコンシステントなメッセージを、第１管理部２３がメッセージ受信部２１からｋ回渡された場合」とし、（３）の条件を、「送信メッセージ記憶部３３に格納されたメッセージよりも新しいメッセージを、第１管理部２３がメッセージ受信部２１から渡された場合」としてもよい。
【００８６】
つまり、インターバルｔが経過した後であっても、メッセージの送信をキャンセルできるようにしてもよい。なお、この場合、（１）の条件が成立しないケース、即ち、送信メッセージ記憶部３３に同一のメッセージが含まれることが生じないケースも考えられるので、この場合には、（１）の条件を削除するようにしてもよい。
【００８７】
また、上記各実施形態では、Ｔｒｉｃｋｌｅ  Ｍｕｌｔｉｃａｓｔによるブロードキャストを例に取り説明したが、これに限定されず、ｄｒａｆｔ−ｉｅｔｆ−ｔｒｉｃｋｌｅ−ｍｃａｓｔで定義されるＭＰＬ（Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒ）によるブロードキャストを用いてもよい。
【００８８】
また、上記各実施形態は、独立の構成としてもよいし、併合した構成としてもよい。
【００８９】
（ハードウェア構成）
図２６は、上記各実施形態のノードのハードウェア構成の一例を示すブロック図である。図２６に示すように、上記各実施形態のノードは、ＣＰＵなどの制御装置９０２と、ＲＯＭやＲＡＭなどの記憶装置９０４と、ＨＤＤやＳＳＤなどの外部記憶装置９０６と、ディスプレイなどの表示装置９０８と、無線通信チップなどの無線通信装置９１２と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９０】
上記各実施形態のノードで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【００９１】
また、上記各実施形態のノードで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態のノードで実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態のノードで実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【００９２】
上記各実施形態のノードで実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、ＣＰＵがＲＯＭからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【００９３】
以上説明したとおり、上記各実施形態によれば、不要なメッセージの送信を回避することができる。
【００９４】
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００９５】
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【００９６】
（その他）
ブロードキャストされたメッセージを受信すると、予め定められたインターバル内でランダム化された待ち時間を設定し、当該待ち時間が経過するまでに、前記メッセージと同一とみなされるメッセージを所定回数受信しなかった場合に前記メッセージのブロードキャストでの送信を予約し、前記所定回数受信した場合に前記メッセージのブロードキャストでの送信を予約せず、送信を予約した前記メッセージをブロードキャスト用のタイムスロットのタイミングでブロードキャストする場合に、送信を予約した前記メッセージと同一メッセージを予約した場合、いずれかのメッセージの送信をキャンセルする送信キャンセル方法。
【符号の説明】
【００９７】
１０、１１０  ノード
２０、１２０  ＮＥＴＷＯＲＫ層制御部
２１  メッセージ受信部
２３、１２３  第１管理部
２５  メッセージ送信部
２７、１２７  第２管理部
３０、１３０  ＭＡＣ層制御部
３１  受信メッセージ記憶部
３３  送信メッセージ記憶部
１３５  送信スケジュール管理部
【図１】
2016082303.tif 000003
【図２】
2016082303.tif 000004
【図３】
2016082303.tif 000005
【図４】
2016082303.tif 000006
【図５】
2016082303.tif 000007
【図６】
2016082303.tif 000008
【図７】
2016082303.tif 000009
【図８】
2016082303.tif 000010
【図９】
2016082303.tif 000011
【図１０】
2016082303.tif 000012
【図１１】
2016082303.tif 000013
【図１２】
2016082303.tif 000014
【図１３】
2016082303.tif 000015
【図１４】
2016082303.tif 000016
【図１５】
2016082303.tif 000017
【図１６】
2016082303.tif 000018
【図１７】
2016082303.tif 000019
【図１８】
2016082303.tif 000020
【図１９】
2016082303.tif 000021
【図２０】
2016082303.tif 000022
【図２１】
2016082303.tif 000023
【図２２】
2016082303.tif 000024
【図２３】
2016082303.tif 000025
【図２４】
2016082303.tif 000026
【図２５】
2016082303.tif 000027
【図２６】
2016082303.tif 000028