(57)【要約】      （修正有）【課題】ルータ同士の送信タイミングの重複を低減すると共に、ルータに記憶されるデータ量を低減する。【解決手段】ルータ１０は、記憶部１５０と、第１の受信部と、第１の算出部と、第１の送信部と、第２の送信部と、を備える。記憶部は、下流に位置し、かつ、ルータ１０と直接接続する１または複数の第１のルータの識別情報を記憶する。第１の受信部は、第２のルータからデータ要求を受信する。第１の算出部は、第１の収集残台数を算出する。第１の送信部は、データ要求を受信した場合に、第１のルータのうちの１台にデータ要求を送信し、送信先の第１のルータからのデータ収集が完了した場合であって、第１の収集残台数が０以外の場合には、第１のルータのうちの他の１台にデータ要求を送信する。第２の送信部は、第１のルータから収集したデータおよび第１の収集残台数を第２のルータに送信する。【選択図】図３
2020123844.tif 000002
【特許請求の範囲】
【請求項１】
マルチホップネットワークに接続する無線通信装置であって、
前記マルチホップネットワークにおいて前記無線通信装置の下流に位置し、かつ、前記無線通信装置と直接接続する１または複数の第１の無線通信装置の識別情報を記憶する記憶部と、
前記マルチホップネットワークにおいて前記無線通信装置よりも上流に位置する第２の無線通信装置からデータ要求を受信する第１の受信部と、
データ収集が未完了の前記第１の無線通信装置の台数である第１の収集残台数を算出する第１の算出部と、
前記データ要求を受信した場合に、前記記憶部に記憶された前記識別情報に基づいて、前記第１の無線通信装置のうちの１台にデータ要求を送信し、送信先の前記第１の無線通信装置からのデータ収集が完了した場合であって、前記第１の収集残台数が０以外の場合には、前記第１の無線通信装置のうちの他の１台にデータ要求を送信する第１の送信部と、
前記第１の無線通信装置から収集したデータおよび前記第１の収集残台数を前記第２の無線通信装置に送信する第２の送信部と、
を備える無線通信装置。
【請求項２】
前記記憶部は、さらに、前記第１の無線通信装置の台数を記憶しており、
前記第１の算出部は、前記第１の無線通信装置からのデータ収集が完了する毎に、前記記憶部に記憶された前記第１の無線通信装置の台数から１台分ずつ減算することにより、前記第１の収集残台数を算出する、
請求項１に記載の無線通信装置。
【請求項３】
前記第１の無線通信装置から、前記データ、および前記第１の無線通信装置と直接接続する第３の無線通信装置のうちデータ収集が未完了の台数である第２の収集残台数を受信する第２の受信部をさらに備え、
前記第１の送信部は、前記第２の収集残台数が０となった場合に、前記第１の無線通信装置からのデータ収集が完了したと判断する、
請求項１または２に記載の無線通信装置。
【請求項４】
前記第１の送信部が前記第１の無線通信装置にデータ要求を送信してから、前記第２の受信部が前記第１の無線通信装置から受信応答を受けるまでの経過時間を計時する計時部をさらに備え、
前記第１の算出部は、前記経過時間が所定の時間以上となった場合に、前記第１の収集残台数から１台分を減算し、
前記第２の送信部は、減算後の前記第１の収集残台数を前記第２の無線通信装置に送信する、
請求項３に記載の無線通信装置。
【請求項５】
前記データは、センサの検出結果を示すセンサデータであり、
前記センサから前記センサデータを取得する取得部をさらに備え、
前記第２の送信部は、前記取得部が取得した前記センサデータを、前記第２の無線通信装置に送信する、
請求項１から４のいずれか１項に記載の無線通信装置。
【請求項６】
マルチホップネットワークに接続する無線通信装置で実行される方法であって、
前記マルチホップネットワークにおいて前記無線通信装置よりも上流に位置する第２の無線通信装置からデータ要求を受信する第１の受信ステップと、
前記マルチホップネットワークにおいて前記無線通信装置の下流に位置し、かつ、前記無線通信装置と直接接続する１または複数の第１の無線通信装置のうち、データ収集が未完了の前記第１の無線通信装置の台数である第１の収集残台数を算出する第１の算出ステップと、
前記データ要求を受信した場合に、記憶部に記憶された前記第１の無線通信装置の識別情報に基づいて、前記第１の無線通信装置のうちの１台にデータ要求を送信し、送信先の前記第１の無線通信装置からのデータ収集が完了した場合であって、前記第１の収集残台数が０以外の場合には、前記第１の無線通信装置のうちの他の１台にデータ要求を送信する第１の送信ステップと、
前記第１の無線通信装置から収集したデータおよび前記第１の収集残台数を前記第２の無線通信装置に送信する第２の送信ステップと、
を含む無線通信方法。
【請求項７】
複数の無線通信装置と、少なくとも１台の管理装置とを備え、
前記無線通信装置のそれぞれは、
前記無線通信装置および前記管理装置を含むマルチホップネットワークにおいて前記無線通信装置の下流に位置し、かつ、前記無線通信装置と直接接続する１または複数の第１の無線通信装置の識別情報を記憶する記憶部と、
前記マルチホップネットワークにおいて前記無線通信装置よりも上流に位置する第２の無線通信装置からデータ要求を受信する第１の受信部と、
データ収集が未完了の前記第１の無線通信装置の台数である第１の収集残台数を算出する第１の算出部と、
前記データ要求を受信した場合に、前記記憶部に記憶された前記識別情報に基づいて、前記第１の無線通信装置のうちの１台にデータ要求を送信し、送信先の前記第１の無線通信装置からのデータ収集が完了した場合であって、前記第１の収集残台数が０以外の場合には、前記第１の無線通信装置のうちの他の１台にデータ要求を送信する第１の送信部と、
前記第１の無線通信装置から収集したデータおよび前記第１の収集残台数を前記第２の無線通信装置に送信する第２の送信部と、を備え、
前記管理装置は、
前記管理装置の配下の複数の無線通信装置のうち、前記管理装置と直接接続する１台の無線通信装置にデータ要求を送信し、当該データ要求の送信先の前記無線通信装置からのデータ収集が完了した場合に、前記管理装置と直接接続する他の無線通信装置にデータ要求を送信する第３の送信部と、
前記データ要求の送信先である前記無線通信装置または前記他の無線通信装置から、前記データ、および前記第１の収集残台数を受信する第３の受信部と、
前記無線通信装置からのデータ収集が完了する毎に、データ収集が未完了の前記無線通信装置の台数である第３の収集残台数を算出する第２の算出部と、を備え、
前記第３の送信部は、前記第３の収集残台数が０になった場合に、前記無線通信装置へのデータ要求の送信を終了する、
無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、無線通信装置、無線通信方法、および無線通信システムに関する。
【背景技術】
【０００２】
従来から、中継機能を有する無線通信装置(以下、ルータと呼称)が、互いのデータをそれぞれが中継しながら、コーディネータまでデータを送り届けるマルチホップネットワークが知られている。このようなマルチホップネットワークにおいては、各ルータのデータ送信タイミングが統括管理されていなかったため、１のルータに対して複数のルータから同時にデータが送信される場合があった。このように送信タイミングが重複すると、いずれかのルータから送信されたデータが、送信先のルータに受信されずに欠損する場合がある。
【０００３】
このため、例えば、コーディネータが、マルチホップネットワークに含まれる全てのルータの送信タイミングを管理することにより、１のルータに対して複数のルータからの送信のタイミングが重なることを低減する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−００６９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術においては、コーディネータおよび各ルータが、コーディネータおよび各ルータの配下の全てのルータの識別情報、および配下の全てのルータに到達するための経路情報を予め記憶するため、各ルータまたはコーディネータに記憶されるデータ量が増大する場合があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、ルータ同士の送信タイミングの重複を低減すると共に、ルータに記憶されるデータ量を低減することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の無線通信装置は、マルチホップネットワークに接続する無線通信装置であって、記憶部と、第１の受信部と、第１の算出部と、第１の送信部と、第２の送信部と、を備える。記憶部は、マルチホップネットワークにおいて無線通信装置の下流に位置し、かつ、無線通信装置と直接接続する１または複数の第１の無線通信装置の識別情報を記憶する。第１の受信部は、マルチホップネットワークにおいて無線通信装置よりも上流に位置する第２の無線通信装置からデータ要求を受信する。第１の算出部は、データ収集が未完了の第１の無線通信装置の台数である第１の収集残台数を算出する。第１の送信部は、データ要求を受信した場合に、記憶部に記憶された識別情報に基づいて、第１の無線通信装置のうちの１台にデータ要求を送信し、送信先の第１の無線通信装置からのデータ収集が完了した場合であって、第１の収集残台数が０以外の場合には、第１の無線通信装置のうちの他の１台にデータ要求を送信する。第２の送信部は、第１の無線通信装置から収集したデータおよび第１の収集残台数を第２の無線通信装置に送信する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかる無線通信システムの全体構成の一例を示す図である。
【図２】図２は、実施形態にかかるルータおよびコーディネータのハードウェア構成の一例を示す図である。
【図３】図３は、実施形態にかかるルータの機能的構成の一例を示すブロック図である。
【図４】図４は、実施形態にかかる接続情報データベースの一例を示す図である。
【図５】図５は、実施形態にかかるコーディネータの機能的構成の一例を示すブロック図である。
【図６】図６は、実施形態にかかるセンサデータ収集処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
図１は、本実施形態にかかる無線通信システムＳの全体構成の一例を示す図である。図１に示すように、無線通信システムＳは、複数のルータ１０ａ〜１０ｈ（以下、個々のルータ１０ａ〜１０ｈを特に区別しない場合は、ルータ１０という）と、コーディネータ２０とを含む。コーディネータ２０は、１つの無線通信システムＳに、少なくとも１つ設けられるものとする。
【００１０】
本実施形態においては、無線通信システムＳにおいて、コーディネータ２０との距離が近くなるほどレベルの値が小さくなるように、各ルータ１０をレベル分けする。コーディネータ２０とルータ１０との距離が近いとは、少ない中継数（すなわち、ホップ数）でコーディネータ２０とルータ１０とが接続することである。
【００１１】
具体的には、コーディネータ２０と直接接続するルータ１０ａ，１０ｂをレベル１、レベル１のルータ１０ａ，１０ｂと直接接続するルータ１０ｃ〜１０ｅをレベル２、レベル２のルータ１０ｃ〜１０ｅと直接接続するルータ１０ｆ〜１０ｈをレベル３とする。
【００１２】
また、本実施形態においては、ルータ１０がコーディネータ２０に近いほど、上位であるものとし、ルータ１０がコーディネータ２０から遠いほど、下位であるものとする。本実施形態の無線通信システムＳは、各ルータ１０が、下位のルータ１０が送信したデータをそれぞれ中継しながら、コーディネータ２０までデータを送り届けるマルチホップネットワークを構成する。また、ルータ１０およびコーディネータ２０は、ノードともいう。また、コーディネータ２０は、根ともいう。
【００１３】
より詳細には、無線通信システムＳは、最上位ノード（すなわち、コーディネータ２０）から下位ノード（すなわち、ルータ１０）に接続し、下位ノードからさらに下位のノードへと接続するツリー型のマルチホップネットワークである。コーディネータ２０およびルータ１０の接続関係は、自動または手動で予め定められているものとする。
【００１４】
また、マルチホップネットワーク上でルータ１０よりも上位に位置する他のルータ１０のうち、ルータ１０と直接接続する他のルータ１０を、「親ルータ」という。また、マルチホップネットワーク上でルータ１０よりも下位に位置する他のルータ１０のうち、ルータ１０と直接接続する他のルータ１０を、「直属ルータ」という。また、ルータ１０の直属ルータ、および直属ルータから接続する他の下位のルータを総称する場合、ルータ１０の配下のルータ１０という。また、マルチホップネットワークにおいてコーディネータ２０に近い方を上流、コーディネータ２０から離れる側を下流ともいう。
【００１５】
例えば、ルータ１０ａは、ルータ１０ｃおよびルータ１０ｄの親ルータである。また、ルータ１０ａの直属ルータは、ルータ１０ｃおよびルータ１０ｄである。また、ルータ１０ｃ、ルータ１０ｄ、ルータ１０ｆ、およびルータ１０ｇは、ルータ１０ａの配下のルータ１０である。
【００１６】
コーディネータ２０およびルータ１０は、無線通信を行う無線通信装置である。コーディネータ２０およびルータ１０は、例えば、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、Ｗｉ−Ｆｉ（登録商標）等の無線通信規格を用いた無線通信によって互いに接続している。
【００１７】
ルータ１０は、ルータ１０の周囲に設置されたセンサ３０ａ〜３０ｈ（以下、個々のセンサ３０ａ〜３０ｈを特に区別しない場合は、センサ３０という）から、センサデータを取得する。ルータ１０は、コーディネータ２０または上位のルータ１０からデータ要求を受けた場合に、要求元のコーディネータ２０または上位のルータ１０に、センサデータを送信する。
【００１８】
センサ３０は、例えば、特定領域の環境情報を検出する。環境情報は、例えば、大気の成分、気温、水温、紫外線などの光量、音量、などであるが、これらに限定されない。センサデータは、センサ３０の検出結果である。本実施形態においては、センサ３０は、無線通信によってルータ１０にセンサデータを送信するものするが、ルータ１０とセンサ３０とが有線通信する構成を採用しても良い。センサ３０は、エンドデバイスともいう。
【００１９】
コーディネータ２０は、無線通信システムＳ内のルータ１０を統括する管理装置である。コーディネータ２０は、ルータ１０に対してデータ要求を送信し、ルータ１０から送信されたセンサデータを収集するものとする。
【００２０】
また、コーディネータ２０は、伝送路４１を介して外部の情報処理装置、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）４０と接続する。伝送路４１は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の規格に準拠した伝送路とする。コーディネータ２０は、各ルータ１０から収集したセンサデータを、ＰＣ４０に送信するものとする。
【００２１】
次に、ルータ１０およびコーディネータ２０のハードウェア構成について説明する。本実施形態においては、ルータ１０およびコーディネータ２０は、同じハードウェア構成を備えるものとする。
【００２２】
図２は、本実施形態にかかるルータ１０およびコーディネータ２０のハードウェア構成の一例を示す図である。ルータ１０およびコーディネータ２０は、第１の無線モジュール１０１と、第２の無線モジュール１０２と、フラッシュメモリ１０３と、プロセッサ１０４と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０５と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０６と、通信インターフェース（Ｉ／Ｆ）１０７とを備える。また、第１の無線モジュール１０１と、第２の無線モジュール１０２と、フラッシュメモリ１０３と、プロセッサ１０４と、ＲＯＭ１０５と、ＲＡＭ１０６と、通信インターフェース１０７とは、バス１０８により接続されている。
【００２３】
なお、ルータ１０およびコーディネータ２０のハードウェア構成は、図２に記載の例に限定されるものではない。例えば、ルータ１０およびコーディネータ２０のハードウェア構成は、プロセッサ１０４を中心として他のハードウェア部品がスター型に接続する構成であっても良い。
【００２４】
第１の無線モジュール１０１は、他のルータ１０またはコーディネータ２０と無線通信を行う。また、第２の無線モジュール１０２は、センサ３０と無線通信を行う。また、ルータ１０およびコーディネータ２０は、第１の無線モジュール１０１および第２の無線モジュール１０２の代わりに、無線通信機能を実現する他の部品を備えても良い。例えば、ルータ１０およびコーディネータ２０は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、または無線ＬＡＮアダプタ等を備えるものとしても良い。
【００２５】
プロセッサ１０４は、本実施形態のルータ１０およびコーディネータ２０を制御する演算装置である。また、ＲＯＭ１０５は、プロセッサ１０４によって実行されるプログラム等を記憶する。また、ＲＡＭ１０６、およびフラッシュメモリ１０３は、プロセッサ１０４による各種処理を実行するために必要な情報やセンサデータ等を記憶する。
【００２６】
通信インターフェース１０７は、ＰＣ４０等の外部装置と接続するインターフェースであり、例えばＵＳＢポート等である。
【００２７】
なお、ルータ１０とコーディネータ２０とを異なるハードウェア構成にしても良い。この場合は、ルータ１０は、通信インターフェース１０７を備え無くとも良い。また、コーディネータ２０は、第２の無線モジュール１０２を備え無くとも良い。
【００２８】
次に、本実施形態のルータ１０の機能の詳細を説明する。図３は、本実施形態にかかるルータ１０の機能的構成の一例を示すブロック図である。図３に示すように、ルータ１０は、取得部１１１と、第１の受信部１１２と、第１の送信部１１３と、第２の受信部１１４と、第１の算出部１１５と、第２の送信部１１６と、第１の計時部１１７と、記憶部１５０とを備える。マルチホップネットワーク上の各ルータ１０は全て同様の機能を備えるものとする。
【００２９】
記憶部１５０は、接続情報データベース（ＤＢ）９０ａ、直属ルータ台数、第１の収集残台数、および、後述の取得部１１１によって取得されたセンサデータを記憶する。記憶部１５０は、例えばフラッシュメモリ１０３またはＲＡＭ１０６である。
【００３０】
接続情報データベース９０ａは、自装置（ルータ１０）と直接接続する他のルータ１０またはコーディネータ２０を特定可能な識別情報が登録されたデータベースである。
【００３１】
図４は、本実施形態にかかる接続情報データベース９０ａの一例を示す図である。図４に示す接続情報データベース９０ａには、親ルータまたはコーディネータ識別情報と、直属ルータ識別情報とが登録されている。
【００３２】
本実施形態においては、マルチホップネットワーク上のルータ１０またはコーディネータ２０を特定可能な識別情報として、ルータ１０またはコーディネータ２０のＭＡＣアドレスの下２桁の数字を使用するが、識別情報はこれに限定されるものではない。
【００３３】
親ルータまたはコーディネータ識別情報は、マルチホップネットワーク上でルータ１０よりも上位に位置する他のルータ１０またはコーディネータ２０のうち、ルータ１０と直接接続する他のルータ１０またはコーディネータ２０を特定可能な識別情報である。
【００３４】
本実施形態のマルチホップネットワークはツリー型であるため、マルチホップネットワーク上でルータ１０よりも上位に位置する他のルータ１０またはコーディネータ２０のうち、ルータ１０と直接接続する他のルータ１０またはコーディネータ２０は、１台である。
【００３５】
接続情報データベース９０ａに登録される内容は、ルータ１０毎にそれぞれ異なる。例えば、図４に示す接続情報データベース９０ａは、ルータ１０ａの記憶部１５０に記憶されているものとする。図１に示したように、マルチホップネットワーク上でルータ１０ａよりも上位に位置し、かつルータ１０と直接接続するノードは、コーディネータ２０である。この場合、接続情報データベース９０ａの親ルータまたはコーディネータ識別情報は、コーディネータ２０を特定可能な識別情報“０１”となる。
【００３６】
また、直属ルータ識別情報は、マルチホップネットワークにおける自装置（ルータ１０）の配下の他のルータ１０のうち、自装置と直接接続する１または複数のルータ１０、つまり直属ルータの識別情報である。ルータ１０ａを本実施形態における自装置の一例とした場合、ルータ１０ｃおよびルータ１０ｄがルータ１０ａの直属ルータとなる。この場合、直属ルータ識別情報は、ルータ１０ｃを特定可能な識別情報“０４”、およびルータ１０ｄを特定可能な識別情報“０５”となる。接続情報データベース９０ａに直属ルータが登録される順番は、例えば、当該直属ルータがマルチホップネットワークに接続した順とする。
【００３７】
直属ルータは、本実施形態における第１の無線通信装置の一例である。例えば、ルータ１０ａを本実施形態における自装置の一例とした場合、ルータ１０ｃおよびルータ１０ｄは第１の無線通信装置の一例であり、コーディネータ２０は第２の無線通信装置の一例である。
【００３８】
図３に戻り、直属ルータ台数は、ルータ１０の直属ルータの台数である。直属ルータ台数は、接続情報データベース９０ａの直属ルータ識別情報に登録されたルータ１０の台数と等しくなる。
【００３９】
また、第１の収集残台数は、ルータ１０の直属ルータのうち、データ収集が未完了の直属ルータの台数である。第１の収集残台数は、後述の第１の算出部１１５によって算出される。
【００４０】
なお、本実施形態においては、ルータ１０の第１の算出部１１５によって算出された収集残台数を、他のルータ１０から受信した収集残台数、またはコーディネータ２０で算出された収集残台数（後述の第２〜第４の収集残台数）と区別するために、「第１の収集残台数」としている。第１〜第４の収集残台数は、いずれも、第１〜第４の収集残台数を算出する各ルータ１０の直属ルータのうち、データ収集が未完了の直属ルータの台数である。第１〜第４の収集残台数を特に区別しない場合、単に収集残台数としても良い。
【００４１】
ここで、直属ルータのデータ収集が完了するとは、ルータ１０が、ルータ１０の直属ルータおよび当該直属ルータの配下の全てのルータ１０が取得したセンサデータについて、受信済みまたはタイムアウト済みであることをいう。
【００４２】
また、直属ルータのデータ収集が未完了であるとは、ルータ１０が、ルータ１０の直属ルータまたは当該直属ルータの配下のいずれかのルータ１０が取得したセンサデータを受信しておらず、かつ、当該未受信分のセンサデータについてのデータ要求がタイムアウト済みではないことをいう。
【００４３】
取得部１１１は、センサ３０からセンサデータを取得する。取得部１１１は、取得したセンサデータを記憶部１５０に保存する。
【００４４】
第１の受信部１１２は、マルチホップネットワーク上でルータ１０（自装置）よりも上流に位置する他のルータ１０またはコーディネータ２０からデータ要求を受信する。第１の受信部１１２は、データ要求を受信した場合に、第１の送信部１１３、第１の算出部１１５、および第２の送信部１１６にデータ要求を受信したことを通知する。
【００４５】
本実施形態におけるデータ要求は、各ルータ１０がセンサ３０から取得したセンサデータを親ルータまたはコーディネータ２０に送信するように要求する命令信号である。
【００４６】
本実施形態においては、ルータ１０にデータ要求を送信する他のルータ１０またはコーディネータ２０は、接続情報データベース９０ａに登録された親ルータまたはコーディネータ識別情報によって特定されるルータ１０またはコーディネータ２０である。ルータ１０ａを例とすると、ルータ１０ａの第１の受信部１１２は、コーディネータ２０からデータ要求を受信する。また、ルータ１０ｄを例とすると、ルータ１０ｄの第１の受信部１１２は、ルータ１０ａからデータ要求を受信する。
【００４７】
第１の送信部１１３は、第１の受信部１１２がデータ要求を受信した場合に、記憶部１５０の接続情報データベース９０ａに登録された直属ルータ識別情報に基づいて、直属ルータのうちの１台にデータ要求を送信する。
【００４８】
また、第１の送信部１１３は、送信先の直属ルータからのデータ収集が完了し、かつ、記憶部１５０に記憶された第１の収集残台数が０以外の場合には、直属ルータのうちの他の１台にデータ要求を送信する。また、第１の送信部１１３は、第２の受信部１１４が直属ルータから受信した第２の収集残台数が０となった場合に、当該直属ルータからのデータ収集が完了したと判断する。
【００４９】
また、第１の送信部１１３は、記憶部１５０に記憶された第１の収集残台数が０の場合には、全ての直属ルータからのデータ収集が完了したと判断し、直属ルータへのデータ要求の送信を終了する。
【００５０】
第２の受信部１１４は、直属ルータから、センサデータ、および直属ルータと直接接続するルータ１０のうちデータ収集が未完了のルータ１０の台数を受信する。本実施形態においては、直属ルータと直接接続するルータ１０のうちデータ収集が未完了のルータ１０の台数を、第２の収集残台数という。第２の受信部１１４は、受信した第２の収集残台数を、第１の送信部１１３および第１の算出部１１５に送出する。
【００５１】
また、本実施形態においては、直属ルータと直接接続するルータ１０を、第３の無線通信装置という。例えば、ルータ１０ａを基準とする場合、ルータ１０ａの直属ルータであるルータ１０ｄと直接接続するルータ１０ｆおよびルータ１０ｇが、第３の無線通信装置の一例となる。
【００５２】
第１の算出部１１５は、データ収集が未完了の直属ルータの台数である第１の収集残台数を算出する。より詳細には、第１の算出部１１５は、第１の受信部１１２がデータ要求を受信した場合に、直属ルータ台数を、第１の収集残台数の初期値として記憶部１５０に保存する。
【００５３】
また、第１の算出部１１５は、第２の受信部１１４が直属ルータから受信した第２の収集残台数が０となった場合に、当該直属ルータからのデータ収集が完了したと判断する。第１の算出部１１５は、直属ルータからのデータ収集が完了する毎に、直属ルータ台数（すなわち、第１の収集残台数の初期値）から１台分ずつ減算することにより、第１の収集残台数を算出する。
【００５４】
また、第１の算出部１１５は、後述の第１の計時部１１７によって計時された経過時間が所定の時間以上となった場合にも、第１の収集残台数から１台分を減算する。第１の計時部１１７によって計時された経過時間が所定の時間以上となった場合を、データ要求がタイムアウトした場合という。
【００５５】
第２の送信部１１６は、取得部１１１が取得したセンサデータ、直属ルータから収集したセンサデータ、および第１の算出部１１５によって算出された第１の収集残台数を、データ要求の送信元であるルータ１０またはコーディネータ２０に送信する。第２の送信部１１６は、データ要求の送信元である他のルータ１０またはコーディネータ２０を、接続情報データベース９０ａに登録された親ルータまたはコーディネータ識別情報によって特定するものとする。
【００５６】
また、第２の送信部１１６は、第１の受信部１１２がデータ要求を受信した場合に、当該データ要求の送信元である他のルータ１０またはコーディネータ２０に受信応答を送信する。受信応答は、例えば、ＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）信号等である。
【００５７】
第１の計時部１１７は、第１の送信部１１３が直属ルータにデータ要求を送信してから、第２の受信部１１４が当該直属ルータから受信応答を受信するまでの経過時間を計時する。第１の計時部１１７は、経過時間が所定の時間以上となった場合に、第１の算出部１１５に、データ要求がタイムアウトしたことを通知する。
【００５８】
次に、本実施形態のコーディネータ２０の機能の詳細を説明する。図５は、本実施形態にかかるコーディネータ２０の機能的構成の一例を示すブロック図である。図５に示すように、コーディネータ２０は、第３の送信部２１１と、第３の受信部２１２と、第２の算出部２１３と、第２の計時部２１４と、通信部２１５と、記憶部２５０とを備える。
【００５９】
記憶部２５０は、接続情報データベース（ＤＢ）９０ｂ、直属ルータ台数、第３の収集残台数、および、後述の第３の受信部２１２が受信したセンサデータを記憶する。記憶部２５０は、例えばフラッシュメモリ１０３またはＲＡＭ１０６である。
【００６０】
接続情報データベース９０ｂは、上述の接続情報データベース９０ａと同様に、コーディネータ２０（自装置）と直接接続するルータ１０またはコーディネータ２０を特定可能な識別情報が登録されたデータベースである。この場合、自装置であるコーディネータ２０には親となる上位装置がないため、接続情報データベース９０ｂは、直属ルータ識別情報のみが登録される。コーディネータ２０の直属ルータはルータ１０ａおよびルータ１０ｂであるため、接続情報データベース９０ｂには、ルータ１０ａを特定可能な識別情報およびルータ１０ｂを特定可能な識別情報が登録される。
【００６１】
直属ルータ台数は、コーディネータ２０の直属ルータの台数である。直属ルータ台数は、接続情報データベース９０ｂの直属ルータ識別情報に登録されたルータ１０の台数と等しくなる。
【００６２】
第３の収集残台数は、コーディネータ２０の直属ルータのうち、データ収集が未完了の直属ルータの台数である。第３の収集残台数は、後述の第２の算出部２１３によって算出される。
【００６３】
第３の送信部２１１は、コーディネータ２０の配下のルータ１０のうち、コーディネータ２０と直接接続するルータ１０、すなわち直属ルータにデータ要求を送信する。第３の送信部２１１は、送信先の直属ルータを、記憶部２５０の接続情報データベース９０ｂに登録された直属ルータ識別情報から特定するものとする。また、第３の送信部２１１は、送信先のルータ１０からのデータ収集が完了した場合に、他の直属ルータにデータ要求を送信する。
【００６４】
また、第３の送信部２１１は、後述の第２の算出部２１３によって算出された第３の収集残台数が０になった場合に、直属ルータへのデータ要求の送信を終了する。また、第３の送信部２１１は、第３の受信部２１２が直属ルータからセンサデータおよび第１の収集残台数を受信した場合に、送信元の直属ルータに受信応答を送信する。
【００６５】
第３の受信部２１２は、第３の送信部２１１によるデータ要求の送信先である直属ルータから、センサデータ、および第１の収集残台数を受信する。第３の受信部２１２は、受信したセンサデータを記憶部２５０に保存する。第３の受信部２１２は、センサデータおよび第１の収集残台数を受信した場合に、センサデータおよび第１の収集残台数を受信したことを第３の送信部２１１および第２の計時部２１４に通知する。
【００６６】
第２の算出部２１３は、直属ルータからのデータ収集が完了する毎に、データ収集が未完了の直属ルータの台数である第３の収集残台数を算出する。直属ルータからのデータ収集の完了は、センサデータの受信の完了だけではなく、データ要求のタイムアウトも含むものとする。また、第２の算出部２１３は、直属ルータへのデータ要求の開始の際に、直属ルータ台数を、第３の収集残台数の初期値として記憶部２５０に保存する。
【００６７】
第２の計時部２１４は、第３の送信部２１１が直属ルータにデータ要求を送信してから、第３の受信部２１２が当該直属ルータから受信応答を受信するまでの経過時間を計時する。第２の計時部２１４は、経過時間が所定の時間以上となった場合に、第２の算出部２１３に、データ要求がタイムアウトしたことを通知する。
【００６８】
通信部２１５は、記憶部２５０に保存されたセンサデータを、ＰＣ４０に送信する。通信部２１５は、センサデータを定期的にＰＣ４０に送信しても良いし、全てのルータ１０のデータ収集が完了した場合、つまり第３の収集残台数が０となった場合にセンサデータをＰＣ４０に送信しても良い。また、通信部２１５は、第３の受信部２１２が直属ルータからセンサデータを受信したタイミングで、都度、センサデータをＰＣ４０に送信しても良い。また、通信部２１５は、ＰＣ４０からデータ収集の指示を受け付けるものとしても良い。
【００６９】
次に、以上のように構成された無線通信システムＳで実行されるセンサデータ収集処理の流れについて説明する。
【００７０】
図６は、本実施形態にかかるセンサデータ収集処理の流れの一例を示すシーケンス図である。このシーケンス図の処理は、例えば、定期的に実行されても良いし、コーディネータ２０がＰＣ４０からデータ収集の指示を受けた場合に実行されても良い。また、このシーケンス図に示す処理が実行される時点で、各ルータ１０の取得部１１１は、センサデータから取得したセンサデータを記憶部１５０に保存しているものとする。
【００７１】
また、図６では、ルータ１０ａおよびルータ１０ｂの第１の算出部１１５が算出した収集残台数を第１の収集残台数、ルータ１０ａの直属ルータであるルータ１０ｃおよびルータ１０ｄの第１の算出部１１５が算出した収集残台数を第２の収集残台数、コーディネータ２０の第２の算出部２１３が算出した収集残台数を第３の収集残台数としている。また、ルータ１０ｄの直属ルータであるルータ１０ｆの第１の算出部１１５が算出した収集残台数を第４の収集残台数としている。ルータ１０ｆは、ルータ１０ａの孫に相当するルータである。
【００７２】
まず、コーディネータ２０の第２の算出部２１３は、直属ルータ台数を、第３の収集残台数の初期値とする（Ｓ１）。コーディネータ２０の直属ルータ台数は、ルータ１０ａとルータ１０ｂの２台であるため、この時点での第３の収集残台数は２である。
【００７３】
次に、第３の送信部２１１は、記憶部２５０の接続情報データベース９０ｂに登録された直属ルータのうちの１台にデータ要求を送信する（Ｓ２）。本実施形態においては、例えば、ルータ１０ａの方が先に接続情報データベース９０ｂに登録されているものとする。この場合、第３の送信部２１１は、まず、ルータ１０ａにデータ要求を送信する。この場合、ルータ１０ａの第１の受信部１１２は、コーディネータ２０から送信されたデータ要求を受信する。
【００７４】
また、コーディネータ２０の第２の計時部２１４は、第３の送信部２１１がルータ１０ａにデータ要求を送信した場合に、経過時間の計時を開始する（Ｓ３）。
【００７５】
そして、ルータ１０ａの第２の送信部１１６は、コーディネータ２０に受信応答を送信する（Ｓ４）。
【００７６】
また、コーディネータ２０の第３の受信部２１２は、ルータ１０ａから受信応答を受信する。コーディネータ２０の第２の計時部２１４は、第３の受信部２１２がルータ１０ａから受信応答を受信した場合に、経過時間の計時を終了する（Ｓ５）。
【００７７】
次に、ルータ１０ａの第１の算出部１１５は、直属ルータ台数を、第１の収集残台数の初期値とする（Ｓ６）。ルータ１０ａの直属ルータ台数は、ルータ１０ｃとルータ１０ｄの２台であるため、この時点での第１の収集残台数は２である。
【００７８】
次に、ルータ１０ａの第２の送信部１１６は、記憶部１５０の接続情報データベース９０ａに登録された親ルータまたはコーディネータ識別情報によって、センサデータの送信先がコーディネータ２０であることを特定する。また、第２の送信部１１６は、取得部１１１によって取得されたセンサデータ、すなわち自装置取得分のセンサデータを、記憶部１５０から読み出す。第２の送信部１１６は、自装置取得分のセンサデータ、および第１の算出部１１５によって算出された第１の収集残台数を、コーディネータ２０に送信する（Ｓ７）。
【００７９】
コーディネータ２０の第３の受信部２１２は、ルータ１０ａから、センサデータおよび第１の収集残台数を受信する。第３の受信部２１２は、受信したセンサデータを記憶部２５０に保存する。また、コーディネータ２０の第３の送信部２１１は、ルータ１０ａに受信応答を送信する（Ｓ８）。
【００８０】
次に、ルータ１０ａの第１の送信部１１３は、接続情報データベース９０ａに登録された直属ルータ識別情報に基づいて、直属ルータのうちの１台にデータ要求を送信する（Ｓ９）。
【００８１】
図４で説明したように、ルータ１０ａの接続情報データベース９０ａには、ルータ１０ｃの方が先に登録されているため、第１の送信部１１３は、まず、ルータ１０ｃにデータ要求を送信する。
【００８２】
また、ルータ１０ａの第１の計時部１１７は、第１の送信部１１３がルータ１０ｃにデータ要求を送信した場合に、経過時間の計時を開始する（Ｓ１０）。
【００８３】
そして、ルータ１０ｃの第１の受信部１１２は、ルータ１０ａから送信されたデータ要求を受信する。ルータ１０ｃの第２の送信部１１６は、ルータ１０ａに受信応答を送信する（Ｓ１１）。
【００８４】
また、ルータ１０ａの第２の受信部１１４は、ルータ１０ｃから受信応答を受信する。ルータ１０ａの第１の計時部１１７は、第２の受信部１１４がルータ１０ｃから受信応答を受信した場合に、経過時間の計時を終了する（Ｓ１２）。図６に示す例では、ルータ１０ａからルータ１０ｃへのデータ要求の経過時間は所定の時間未満であり、データ要求はタイムアウトしなかったものとする。
【００８５】
そして、ルータ１０ｃの第１の算出部１１５は、直属ルータ台数を、第２の収集残台数の初期値とする（Ｓ１３）。ルータ１０ｃの直属ルータはないため、第２の収集残台数は０となる。
【００８６】
図６においては、ルータ１０ａを基準として説明しているため、ルータ１０ａの第１の算出部１１５が算出した収集残台数を第１の収集残台数、ルータ１０ｃの第１の算出部１１５が算出した収集残台数を第２の収集残台数としているが、第１の収集残台数と第２の収集残台数の算出の手法に差異はないものとする。また、ルータ１０ｃを基準として説明する場合には、ルータ１０ｃの第１の算出部１１５が算出する収集残台数が、第１の収集残台数となる。
【００８７】
次に、ルータ１０ｃの第２の送信部１１６は、自装置取得分のセンサデータ、およびルータ１０ｃの第１の算出部１１５によって算出された第２の収集残台数を、ルータ１０ａに送信する（Ｓ１４）。
【００８８】
ルータ１０ａの第２の受信部１１４は、ルータ１０ｃから、センサデータおよび第２の収集残台数を受信する。そして、ルータ１０ａの第２の送信部１１６は、ルータ１０ｃに受信応答を送信する（Ｓ１５）。
【００８９】
また、ルータ１０ａの第１の算出部１１５は、第２の受信部１１４がルータ１０ｃから受信した第２の収集残台数が０であるため、ルータ１０ｃからのデータ収集が完了したと判断する。この場合、ルータ１０ａの第１の算出部１１５は、第１の収集残台数を１台分減算する（Ｓ１６）。この時点で、第１の収集残台数は１となる。第１の算出部１１５は、減算後の第１の収集残台数を記憶部１５０に保存する。
【００９０】
次に、ルータ１０ａの第２の送信部１１６は、ルータ１０ｃから受信したセンサデータ、および減算後の第１の収集残台数を、コーディネータ２０に送信する（Ｓ１７）。ここで、ルータ１０が他のルータ１０から受信したセンサデータを、自装置の取得部１１１が取得したセンサデータと区別する場合、「配下のルータ１０のセンサデータ」という。また、ルータ１０が配下のルータ１０のセンサデータを上位のルータ１０またはコーディネータ２０に送信することを、「センサデータを中継する」ともいう。
【００９１】
コーディネータ２０の第３の受信部２１２は、ルータ１０ａから、センサデータおよび第１の収集残台数を受信し、受信したセンサデータを記憶部２５０に保存する。また、第３の送信部２１１は、ルータ１０ａに受信応答を送信する（Ｓ１８）。
【００９２】
また、ルータ１０ａの第１の送信部１１３は、第２の受信部１１４がルータ１０ｃから受信した第２の収集残台数が０であるため、ルータ１０ｃからのデータ収集が完了したと判断する。そして、ルータ１０ａの第１の送信部１１３は、接続情報データベース９０ａに登録された直属ルータ識別情報を参照し、ルータ１０ｃの次に登録されているルータ１０ｄに、データ要求を送信する（Ｓ１９）。
【００９３】
また、ルータ１０ａの第１の計時部１１７は、第１の送信部１１３がルータ１０ｄにデータ要求を送信した場合に、経過時間の計時を開始する（Ｓ２０）。
【００９４】
そして、ルータ１０ｄの第１の受信部１１２は、ルータ１０ａから送信されたデータ要求を受信する。また、ルータ１０ｄの第２の送信部１１６は、ルータ１０ａに受信応答を送信する（Ｓ２１）。
【００９５】
また、ルータ１０ａの第２の受信部１１４は、ルータ１０ｄから受信応答を受信する。ルータ１０ａの第１の計時部１１７は、第２の受信部１１４がルータ１０ｄから受信応答を受信した場合に、経過時間の計時を終了する（Ｓ２２）。ルータ１０ａからルータ１０ｄへのデータ要求はタイムアウトしなかったものとする。
【００９６】
そして、ルータ１０ｄの第１の算出部１１５は、直属ルータ台数を、第２の収集残台数の初期値とする（Ｓ２３）。ルータ１０ｄの直属ルータは、ルータ１０ｆとルータ１０ｇの２台であるため、この時点での第２の収集残台数は２となる。
【００９７】
次に、ルータ１０ｄの第２の送信部１１６は、自装置取得分のセンサデータ、および第２の収集残台数を、ルータ１０ａに送信する（Ｓ２４）。
【００９８】
ルータ１０ａの第２の受信部１１４は、ルータ１０ｄから、センサデータおよび第２の収集残台数を受信する。そして、ルータ１０ａの第２の送信部１１６は、ルータ１０ｄに受信応答を送信する（Ｓ２５）。ルータ１０ｄから送信された第２の収集残台数は０ではないため、ルータ１０ａの第１の算出部１１５は、第１の収集残台数を変更しない。このため、この時点の第１の収集残台数は１である。
【００９９】
次に、ルータ１０ａの第２の送信部１１６は、ルータ１０ｄから受信したセンサデータ、および現時点の第１の収集残台数を、コーディネータ２０に送信する（Ｓ２６）。
【０１００】
コーディネータ２０の第３の受信部２１２は、ルータ１０ａから、センサデータおよび第１の収集残台数を受信し、受信したセンサデータを記憶部２５０に保存する。また、第３の送信部２１１は、ルータ１０ａに受信応答を送信する（Ｓ２７）。
【０１０１】
次に、ルータ１０ｄの第１の送信部１１３は、接続情報データベース９０ａに登録された直属ルータ識別情報に基づいて、直属ルータのうちの１台にデータ要求を送信する（Ｓ２８）。図６の例では、ルータ１０ｄの第１の送信部１１３は、直属ルータのうち、ルータ１０ｆに最初にデータ要求を送信するものとする。
【０１０２】
また、ルータ１０ｄの第１の計時部１１７は、第１の送信部１１３がルータ１０ｆにデータ要求を送信した場合に、経過時間の計時を開始する（Ｓ２９）。
【０１０３】
そして、ルータ１０ｆの第１の受信部１１２は、ルータ１０ｄから送信されたデータ要求を受信する。また、ルータ１０ｆの第２の送信部１１６は、ルータ１０ｄに受信応答を送信する（Ｓ３０）。
【０１０４】
また、ルータ１０ｄの第２の受信部１１４は、ルータ１０ｆから受信応答を受信する。ルータ１０ｄの第１の計時部１１７は、第２の受信部１１４がルータ１０ｆから受信応答を受信した場合に、経過時間の計時を終了する（Ｓ３１）。ルータ１０ｄからルータ１０ｆへのデータ要求はタイムアウトしなかったものとする。
【０１０５】
次に、ルータ１０ｆの第１の算出部１１５は、直属ルータ台数を、収集残台数の初期値とする（Ｓ３２）。ルータ１０ｆの直属ルータ台数は０台のため、第４の収集残台数は、０となる。
【０１０６】
次に、ルータ１０ｆの第２の送信部１１６は、自装置取得分のセンサデータ、および第４の収集残台数を、ルータ１０ｄに送信する（Ｓ３３）。
【０１０７】
ルータ１０ｄの第２の受信部１１４は、ルータ１０ｆから、センサデータおよび第４の収集残台数を受信する。そして、ルータ１０ｄの第２の送信部１１６は、ルータ１０ｆに受信応答を送信する（Ｓ３４）。
【０１０８】
また、ルータ１０ｄの第１の算出部１１５は、第２の受信部１１４がルータ１０ｆから受信した第４の収集残台数が０であるため、ルータ１０ｆからのデータ収集が完了したと判断し、第２の収集残台数を１台分減算する（Ｓ３５）。この時点で、第１の収集残台数は１となる。第１の算出部１１５は、減算後の第１の収集残台数を記憶部１５０に保存する。
【０１０９】
次に、ルータ１０ｄの第２の送信部１１６は、ルータ１０ｆから受信したセンサデータ、および減算後の第２の収集残台数を、ルータ１０ａに送信する（Ｓ３６）。
【０１１０】
ルータ１０ａの第２の受信部１１４は、ルータ１０ｄから、センサデータおよび第２の収集残台数を受信する。そして、ルータ１０ａの第２の送信部１１６は、ルータ１０ｄに受信応答を送信する（Ｓ３７）。ルータ１０ｄから送信された第２の収集残台数は０ではないため、ルータ１０ａの第１の算出部１１５は、第１の収集残台数を変更しない。このため、この時点の第１の収集残台数は１である。
【０１１１】
次に、ルータ１０ａの第２の送信部１１６は、ルータ１０ｄから受信したセンサデータ、および現時点の第１の収集残台数を、コーディネータ２０に送信する（Ｓ３８）。
【０１１２】
コーディネータ２０の第３の受信部２１２は、ルータ１０ａから、センサデータおよび第１の収集残台数を受信し、受信したセンサデータを記憶部２５０に保存する。また、第３の送信部２１１は、ルータ１０ａに受信応答を送信する（Ｓ３９）。
【０１１３】
そして、ルータ１０ｄは、もう１つの直属ルータであるルータ１０ｇに対しても、ルータ１０ｆに対して実行した処理と同様にデータ収集処理を実行し、第２の収集残台数が０となるまで、処理を行う。
【０１１４】
ルータ１０ｄの第１の算出部１１５によって算出された第２の収集残台数が０となった場合、ルータ１０ｄの第２の送信部１１６は、配下のルータ１０（この場合は、ルータ１０ｇ）から受信したセンサデータ、および０となった第２の収集残台数を、ルータ１０ａに送信する（Ｓ４０）。
【０１１５】
ルータ１０ａの第２の受信部１１４は、ルータ１０ｄから、センサデータおよび第２の収集残台数を受信する。ルータ１０ａの第２の送信部１１６は、ルータ１０ｄに受信応答を送信する（Ｓ４１）。
【０１１６】
そして、ルータ１０ａの第１の算出部１１５は、第２の受信部１１４がルータ１０ｄから受信した第２の収集残台数が０であるため、ルータ１０ｄおよびその配下の全てのルータ１０からのデータ収集が完了したと判断する。この場合、ルータ１０ａの第１の算出部１１５は、第１の収集残台数を１台分減算する（Ｓ４２）。この時点で、第１の収集残台数は０となる。ここで、ルータ１０ａの第１の送信部１１３は、直属ルータへのデータ要求の送信を終了する。
【０１１７】
次に、ルータ１０ａの第２の送信部１１６は、ルータ１０ｄから受信したセンサデータ、および０となった第１の収集残台数を、コーディネータ２０に送信する（Ｓ４３）。
【０１１８】
コーディネータ２０の第３の受信部２１２は、ルータ１０ａから、センサデータおよび第１の収集残台数を受信し、受信したセンサデータを記憶部２５０に保存する。また、第３の送信部２１１は、ルータ１０ａに受信応答を送信する（Ｓ４４）。
【０１１９】
コーディネータ２０の第２の算出部２１３は、第３の受信部２１２がルータ１０ａから受信した第１の収集残台数が０であるため、ルータ１０ａからのデータ収集が完了したと判断する。そして、第２の算出部２１３は、第３の収集残台数を１台分減算する（Ｓ４５）。この時点で、第３の収集残台数は１となる。
【０１２０】
また、コーディネータ２０の第３の送信部２１１は、第３の受信部２１２がルータ１０ａから受信した第１の収集残台数が０であるため、ルータ１０ａからのデータ収集が完了したと判断する。そして、コーディネータ２０の第３の送信部２１１は、接続情報データベース９０ｂに登録された直属ルータ識別情報を参照し、ルータ１０ａの次に登録されているルータ１０ｂに、データ要求を送信する（Ｓ４６）。
【０１２１】
そして、ルータ１０ｂは、ルータ１０ａと同様に、配下のルータ１０のデータ収集処理を実行する。ルータ１０ｂの第１の収集残台数が０になった場合、ルータ１０ｂの第２の送信部１１６は、配下のルータ１０から受信したセンサデータ、および０となった第１の収集残台数を、コーディネータ２０に送信する（Ｓ４７）。
【０１２２】
コーディネータ２０の第３の受信部２１２は、ルータ１０ｂから、センサデータおよび第１の収集残台数を受信し、受信したセンサデータを記憶部２５０に保存する。また、第３の送信部２１１は、ルータ１０ｂに受信応答を送信する（Ｓ４８）。そして、コーディネータ２０の第３の送信部２１１は、直属ルータへのデータ要求の送信を終了する。
【０１２３】
そして、通信部２１５は、第３の収集残台数が０となった場合に、センサデータをＰＣ４０に送信する（Ｓ４９）。
【０１２４】
従来、例えば、各ルータのデータ送信タイミングが重複することを防止するために、コーディネータが、マルチホップネットワークに含まれる全てのルータの送信タイミングを管理する場合があった。このような技術においては、例えば、コーディネータが、マルチホップネットワークに含まれる個々のルータに対するデータ要求を個別に送信するため、コーディネータは、マルチホップネットワークに含まれる全てのルータ１０の識別情報、および全てのルータ１０に到達するための経路情報を記憶しておく必要があった。また、各ルータは、コーディネータから送信されたデータ要求を、対象のルータまで中継するため、各ルータは配下の全てのルータの識別情報および配下の全てのルータに到達するための経路情報を予め記憶しておく必要があった。
【０１２５】
これに対して、本実施形態のルータ１０は、マルチホップネットワーク上でルータ１０よりも上流に位置する他のルータ１０またはコーディネータ２０からデータ要求を受信した場合に、記憶部１５０に保存された直属ルータの識別情報に基づいて、直属ルータのうちの１台にデータ要求を送信し、直属ルータから収集したセンサデータおよび第１の収集残台数をデータ要求元の他のルータ１０またはコーディネータ２０に送信する。また、本実施形態のルータ１０は、当該直属ルータからのデータ収集が完了した場合であって、第１の収集残台数が０以外の場合には、他の直属ルータにデータ要求を送信する。
【０１２６】
このため、本実施形態のルータ１０によれば、直属ルータに対して１台ずつデータ収集を実行するため、各直属ルータからルータ１０へのセンサデータの送信タイミングの重複を低減することができる。また、本実施形態のルータ１０によれば、ルータ１０は、配下の全てのルータ１０の識別情報または配下の全てのルータ１０に到達するための経路情報を記憶しなくとも、データ要求先である直属ルータを特定する識別情報を記憶しておけば良いため、各ルータ１０に記憶されるデータ量を低減することができる。
【０１２７】
特に、ＷＳＮ（Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋ）やＩｏＴ分野において使用される無線通信装置は小型化が求められるため、メモリ等のリソースが乏しい場合がある。このような場合においても、本実施形態のルータ１０を適用することができる。
【０１２８】
また、本実施形態では、１のルータ１０に対して複数のルータ１０が同時にセンサデータを送信することを低減することにより、センサデータの欠損を低減することができ、信頼性を向上することができる。
【０１２９】
また、上述のような従来技術においては、コーディネータが全てのルータに対して個別にデータ要求を送信し、コーディネータの配下のルータが、対象のルータまで当該データ要求を中継する。このため、図１に示す例と同様に８台のルータを備えるツリー型のネットワークにおいて、８台のルータ全てからデータを収集するためには、合計１７回のデータ要求をコーディネータまたはルータが送信することとなる。データ要求の送信回数が増加すると、データ要求の失敗によるデータ欠落のリスクが高くなる場合がある。また、送信タイミングが重複しないようにルータ１０またはコーディネータ２０がデータ要求の送信タイミングを管理する場合は、送信回数の増加により処理時間が長くなり、センサデータの収集に時間を要する場合がある。
【０１３０】
これに対して、本実施形態のルータ１０は、マルチホップネットワーク上でルータ１０よりも上流に位置する他のルータ１０またはコーディネータ２０からデータ要求を受信した場合に、第１の収集残台数が０になるまで、直属ルータに順番にデータ要求を送信するため、個々のルータ１０を指定したデータ要求を受けなくとも、配下のルータ１０からデータを収集することができる。このため、本実施形態のルータ１０によれば、ルータ１０またはコーディネータ２０によるデータ要求の送信回数を低減することができる。具体的には、図１に示す本実施形態のマルチホップネットワークにおいては、ルータ１０の台数と同数の８回のデータ要求で、８台のルータ１０の全てからデータを収集することができる。
【０１３１】
また、本実施形態のルータ１０によれば、データ要求の送信回数を低減することにより、データ要求の失敗によるデータ欠落のリスクを低減することができる。このため、本実施形態のルータ１０によれば、効率的かつ信頼度の高いデータ収集を実現することができる。
【０１３２】
また、本実施形態のルータ１０は、さらに、直属ルータの台数を記憶しており、直属ルータからのデータ収集が完了する毎に、直属ルータの台数から１台分ずつ減算することにより、第１の収集残台数を算出する。このため、本実施形態のルータ１０によれば、データ収集が未完了の直属ルータの台数を、容易に特定することができる。
【０１３３】
また、本実施形態のルータ１０は、直属ルータから、センサデータおよび第２の収集残台数を受信し、第２の収集残台数が０となった場合に、当該直属ルータからのデータ収集が完了したと判断する。このため、本実施形態のルータ１０によれば、直属ルータの配下のルータ１０の合計台数または個々のルータ１０に到達する経路情報を把握していなくとも、直属ルータからのデータ収集の完了の有無を容易に判断することができる。
【０１３４】
また、本実施形態のルータ１０は、直属ルータにデータ要求を送信してから受信応答を受けるまでの経過時間が所定の時間以上となった場合に、第１の収集残台数から１台分を減算し、減算後の第１の収集残台数を上位のルータ１０またはコーディネータ２０に送信する。このため、本実施形態のルータ１０によれば、直属ルータとの間の通信接続が遮断された場合にも、マルチポップネットワークに含まれる多くのルータ１０から効率的にセンサデータを収集することができる。
【０１３５】
また、本実施形態のルータ１０はセンサ３０から取得したセンサデータを上位のルータ１０またはコーディネータ２０に送信することにより、センサ３０が検出した結果を効率的にコーディネータ２０に収集することができる。
【０１３６】
また、本実施形態のコーディネータ２０は、直属ルータのうちの１台にデータ要求を送信し、当該直属ルータからのデータ収集が完了した場合に、他の直属ルータにデータ要求を送信する。また、本実施形態のコーディネータ２０は、第３の収集残台数が０になった場合に、直属ルータへのデータ要求の送信を終了する。このため、本実施形態のコーディネータ２０は、コーディネータ２０に対して複数のルータ１０から同時にセンサデータが送信されることを低減することができる。また、コーディネータ２０はデータ要求の送信先である直属ルータの識別情報のみを記憶していれば良いため、コーディネータ２０に記憶されるデータ量を低減することができる。
【０１３７】
本実施形態の無線通信システムＳによれば、上述のルータ１０とコーディネータ２０とを備えることにより、ルータ１０同士の送信タイミングの重複を低減すると共に、ルータ１０およびコーディネータ２０に記憶されるデータ量を低減することができる。
【０１３８】
なお、本実施形態においては、コーディネータ２０はＰＣ４０と有線通信をするものとしたが、コーディネータ２０は、３Ｇ（第３世代移動通信システム）やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）等の規格に準拠した無線通信によって、ＰＣ４０と接続しても良い。また、コーディネータ２０が収集したセンサデータの送信先はＰＣ４０に限定されるものではない。例えば、コーディネータ２０は、無線通信によってクラウド環境にセンサデータを送信しても良い。
【０１３９】
また、本実施形態においては、タイムアウトの基準となる経過時間は、ルータ１０またはコーディネータ２０直属ルータにデータ要求を送信してから、当該直属ルータから受信応答を受けるまでの時間としたが、タイムアウトの基準はこれに限定されるものではない。例えば、ルータ１０またはコーディネータ２０直属ルータにデータ要求を送信してから、当該直属ルータからセンサデータおよび収集残台数を受信するまでの経過時間が所定の時間以上となった場合を、タイムアウトとしても良い。
【０１４０】
コーディネータ２０およびルータ１０は、直属ルータのうち、データ要求がタイムアウトしたルータ１０については、データ要求を再度送信しても良い。例えば、ルータ１０は、データ要求がタイムアウトした直属ルータの識別情報を記憶部１５０に保存しておき、第１の収集残台数が０となった後に、データ要求がタイムアウトした直属ルータに対して、データ要求を再度送信するものとしても良い。
【０１４１】
なお、本実施形態では、ルータ１０とセンサ３０とを別個の装置とする構成を説明したが、ルータ１０とセンサ３０とは、１つの装置に含まれるものであっても良い。
【０１４２】
なお、本実施形態のコーディネータ２０またはルータ１０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良いし、インターネット等のネットワーク経由で提供または配布するように構成しても良い。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【０１４３】
本実施形態のルータ１０で実行されるプログラムは、上述した各機能部（取得部、第１の受信部、第１の送信部、第２の受信部、第１の算出部、第２の送信部、第１の計時部）を含むモジュール構成となっている。
【０１４４】
また、本実施形態のコーディネータ２０で実行されるプログラムは、上述した各機能部（第３の送信部、第３の受信部、第２の算出部、第２の計時部、通信部）を含むモジュール構成となっている。
【０１４５】
また、本実施形態における、上記処理を実行するためのプログラムは、上記各機能部を含むモジュール構成となっており、実際のハードウェアとしては、例えば、ＣＰＵ（プロセッサ）がＲＯＭまたはフラッシュメモリから上記プログラムを読み出して実行することにより、上述した各機能部がＲＡＭ（主記憶）上にロードされ、上述した各機能部がＲＡＭ（主記憶）上に生成されるようになっている。なお、上述した各機能部の一部または全部を、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの専用のハードウェアを用いて実現することも可能である。
【０１４６】
また、本実施形態では、ルータ１０の取得部１１１、第１の受信部１１２、第１の送信部１１３、第２の受信部１１４、第１の算出部１１５、第２の送信部１１６、第１の計時部１１７、およびコーディネータ２０の第３の送信部２２１、第３の受信部２１２、第２の算出部２１３、第２の計時部２１４、通信部２１５を、プロセッサ１０４によって実現される機能の一例として記載したが、各機能部がハードウェア回路等によって実現されるものとしても良い。
【０１４７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４８】
１０，１０ａ〜１０ｈ  ルータ
２０  コーディネータ
３０，３０ａ〜３０ｈ  センサ
９０ａ，９０ｂ  接続情報データベース
１１１  取得部
１１２  第１の受信部
１１３  第１の送信部
１１４  第２の受信部
１１５  第１の算出部
１１６  第２の送信部
１１７  第１の計時部
１５０  記憶部
２１１  第３の送信部
２１２  第３の受信部
２１３  第２の算出部
２１４  第２の計時部
２１５  通信部
２５０  記憶部
Ｓ  無線通信システム
【図１】
2020123844.tif 000003
【図２】
2020123844.tif 000004
【図３】
2020123844.tif 000005
【図４】
2020123844.tif 000006
【図５】
2020123844.tif 000007
【図６】
2020123844.tif 000008