(57)【要約】【課題】運用に支障を与えることなく更新用フレームの配信を実行する。【解決手段】通信システム１は、マスタノード１ａとスレーブノード１ｂを備える。マスタノード１ａは、スレーブノード１ｂにフレームを送信した場合のフレーム到達可否状態を検出し、フレーム到達可否状態と、フレームの送信数とにもとづいて、フレーム配信方法の候補を生成して候補をスレーブノードへ送信し、スレーブノードから送信された更新可否情報にもとづいて、候補の中からフレーム配信方法を選択するマスタ側処理を行う。スレーブノード１ｂは、選択されたフレーム配信方法で配信されたフレームによる内部動作の更新可否を判定して更新可否情報を生成して送信するスレーブ側処理を行う。【選択図】図１
2019036841.tif 000002
【特許請求の範囲】
【請求項１】
マスタノード内のマスタコンピュータが、
スレーブノードにフレームを送信した場合のフレーム到達可否状態を検出し、
前記フレーム到達可否状態と、前記フレームの送信数とにもとづいて、フレーム配信方法の候補を生成して前記候補を前記スレーブノードへ送信し、
前記スレーブノードから送信された更新可否情報にもとづいて、前記候補の中から前記フレーム配信方法を選択するマスタ側処理を行い、
前記スレーブノード内のスレーブコンピュータが、
選択された前記フレーム配信方法で配信された前記フレームによる内部動作の更新可否を判定して前記更新可否情報を生成して送信するスレーブ側処理を行う、
配信制御方法。
【請求項２】
前記マスタ側処理は、無線動作レベル毎に要求信号を送信し、前記スレーブ側処理は、前記要求信号を受信した場合、応答信号を送信し、前記マスタ側処理は、前記応答信号の取得結果に応じて、前記無線動作レベル毎の前記フレーム到達可否状態を検出する請求項１記載の配信制御方法。
【請求項３】
前記マスタ側処理は、ＬｏＲａ（Long Range）による前記無線動作レベルで制御した前記要求信号を送信する請求項２記載の配信制御方法。
【請求項４】
前記マスタ側処理は、前記フレーム到達可否状態および前記フレームの送信数から、前記フレームの配信に要するリソースを予測し、システム管理側で要求された要求事項を満たす前記リソースで配信可能な前記フレーム配信方法の前記候補を生成し、前記候補および前記リソースを含む更新可否問合せ要求を送信する請求項１記載の配信制御方法。
【請求項５】
前記要求事項には、前記スレーブノードの更新網羅性、更新すべき前記スレーブノードの優先度、またはフレーム配信の時間制約の少なくとも１つが含まれる請求項４記載の配信制御方法。
【請求項６】
前記スレーブ側処理は、更新可否問合せ要求を受信した場合、前記スレーブノードの電池残量を含めた予測消費電力量が、リソースで消費される電力量よりも大きい場合は更新可と判定し、前記予測消費電力量が前記電力量よりも小さい場合は更新不可と判定して前記更新可否情報を生成する請求項１記載の配信制御方法。
【請求項７】
前記スレーブ側処理は、更新不可と判定した場合、配信された前記フレームの受信をスリープモードに移行して停止する請求項６記載の配信制御方法。
【請求項８】
前記マスタ側処理は、更新が完了しない未更新スレーブノードを検出した場合、前記未更新スレーブノードの近隣に位置して、更新が完了している近隣スレーブノードに対して更新指示を出力し、前記更新指示を受けた前記近隣スレーブノード内の前記スレーブ側処理は、未更新分の前記フレームを前記未更新スレーブノードに送信する請求項１記載の配信制御方法。
【請求項９】
前記スレーブ側処理は、更新が完了せず、自身が未更新スレーブノードになっていることを検出した場合、前記未更新スレーブノードの近隣に位置して、更新が完了している近隣スレーブノードに対して更新指示を出力し、前記更新指示を受けた前記近隣スレーブノードから送信される未更新分の前記フレームを受信する請求項１記載の配信制御方法。
【請求項１０】
スレーブ側にフレームを送信した場合のフレーム到達可否状態を検出し、前記フレーム到達可否状態と、前記フレームの送信数とにもとづいて、フレーム配信方法の候補を生成して前記候補を前記スレーブ側へ送信し、前記スレーブ側から送信された更新可否情報にもとづいて、前記候補の中から前記フレーム配信方法を選択するマスタノードと、
選択された前記フレーム配信方法で配信された前記フレームによる内部動作の更新可否を判定して前記更新可否情報を生成して送信するスレーブノードと、
を有する通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配信制御方法および通信システムに関する。
【背景技術】
【０００２】
近年、通信機能を備えたセンサ機器を遠隔で監視・制御し、センサ機器で測定されたデータをサーバが収集して活用するＩｏＴ（Internet of Things）サービスが普及拡大している。
【０００３】
ＩｏＴサービスの代表的なものにスマートグリッドがある。スマートグリッドは、各地点に配置されたスマートメータが地点毎の電気使用量を測定し、スマートメータから送信された電気使用量をサーバが収集することで、電力消費を一元管理するシステムである。
【０００４】
一方、センサ機器の保守では、センサ機器を動作させるためのファームウェア（またはソフトウェア）の更新が行われる。この場合、サーバからセンサ機器にファームウェアが送信され、ファームウェアを受信したセンサ機器によって個々にファームウェアの更新が行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１１／１２１６７１号
【特許文献２】特開２００８−３０６３１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
センサ機器のファームウェア更新では、ファームウェアのデータを分割してフレームを生成し、フレームをフラッディング（flooding）制御により転送している。フラッディング制御は、フレームを受信したセンサ機器が同じフレームを１回送信することで、フレーム中継転送を行うもので、これにより、センサ機器に対するフレームの受信率を上げることができる。しかし、従来のフラッディング制御では、無線通信量が増えるため、無線干渉が増大し、センサ機器の通常の運用に支障を与える。
【０００７】
１つの側面では、本発明は、運用に支障を与えることなく、更新用フレームの配信を可能にした配信制御方法および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、配信制御方法が提供される。配信制御方法は、マスタノード内のマスタコンピュータが、スレーブノードにフレームを送信した場合のフレーム到達可否状態を検出し、フレーム到達可否状態と、フレームの送信数とにもとづいて、フレーム配信方法の候補を生成して候補をスレーブノードへ送信し、スレーブノードから送信された更新可否情報にもとづいて、候補の中からフレーム配信方法を選択するマスタ側処理を行う。また、スレーブノード内のスレーブコンピュータが、選択されたフレーム配信方法で配信されたフレームによる内部動作の更新可否を判定して更新可否情報を生成して送信するスレーブ側処理を行う。
【０００９】
また、上記課題を解決するために、上記配信制御方法を実行する通信システムが提供される。
【発明の効果】
【００１０】
１側面によれば、運用に支障を与えることなく、更新用フレームの配信が可能になる。
【図面の簡単な説明】
【００１１】
【図１】配信制御方法の動作の一例を示す図である。
【図２】フラッディング制御によるファームウェア更新を説明するための図である。
【図３】通信システムの構成の一例を示す図である。
【図４】ゲートウェイのハードウェア構成の一例を示す図である。
【図５】ゲートウェイの機能ブロックの一例を示す図である。
【図６】センサノードの機能ブロックの一例を示す図である。
【図７】通信システムの動作シーケンスの一例を示す図である。
【図８】無線動作レベルの一例を示す図である。
【図９】保守モードフレームのフォーマットの一例を示す図である。
【図１０】到達性検出の動作シーケンスの一例を示す図である。
【図１１】到達性検出の動作シーケンスの一例を示す図である。
【図１２】到達性情報テーブルの登録例を示す図である。
【図１３】要求事項情報の一例を示す図である。
【図１４】管理装置の動作を示すフローチャートである。
【図１５】マスタ側リソース情報テーブルの一例を示す図である。
【図１６】配信方法候補の一例を示す図である。
【図１７】配信方法候補の生成動作を示すフローチャートである。
【図１８】更新可否問合せ要求のフォーマットの一例を示す図である。
【図１９】スレーブ側リソース情報テーブルの一例を示す図である。
【図２０】更新可否問合せ応答の一例を示す図である。
【図２１】更新可否問合せ応答テーブルの一例を示す図である。
【図２２】ゲートウェイからのブロードキャスト範囲を示す図である。
【図２３】更新可否問合せ応答テーブルの一例を示す図である。
【図２４】更新効果値にもとづく配信方法の選択動作を示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態について図１を用いて説明する。図１は配信制御方法の動作の一例を示す図である。配信制御方法は、通信システム１によって実行され、通信システム１は、マスタノード１ａと、スレーブノード１ｂとを含む。マスタノード１ａとスレーブノード１ｂは無線通信を行う。
【００１３】
〔ステップＳ１〕マスタノード１ａは、スレーブノード１ｂにフレームを送信した場合のフレーム到達可否状態を検出する。
〔ステップＳ２〕マスタノード１ａは、フレーム到達可否状態と、フレームの送信数とにもとづいて、フレーム配信方法の候補を生成する。
【００１４】
〔ステップＳ３〕マスタノード１ａは、配信方法候補をスレーブノード１ｂへ送信する。
〔ステップＳ４〕スレーブノード１ｂは、配信方法候補で配信されたフレームによって、スレーブノード１ｂの内部動作の更新が可能か否かを判定し、更新可否情報を生成する。
【００１５】
〔ステップＳ５〕スレーブノード１ｂは、更新可否情報を送信する。
〔ステップＳ６〕マスタノード１ａは、スレーブノード１ｂから送信された更新可否情報にもとづいて、配信方法候補の中からフレーム配信方法を選択し、選択したフレーム配信方法でフレーム配信を実行する。
【００１６】
〔ステップＳ７〕スレーブノード１ｂは、選択されたフレーム配信方法で配信されたフレームを受信して内部動作の更新を行う。
このように、通信システム１では、スレーブノード１ｂの内部動作の更新時、マスタノード１ａからスレーブノード１ｂへのフレーム到達性と、フレーム送信数とにもとづき、フレーム配信方法の候補を作成する。そして、通信システム１は、スレーブノード１ｂが更新可能なフレーム配信方法を該候補から選択する。
【００１７】
このような通信システム１の配信制御方法でフレーム配信が行われることにより、マスタノード１ａは、運用に支障なく更新用フレームをスレーブノード１ｂに配信することが可能になる。
【００１８】
［第２の実施の形態］
次に第２の実施の形態について説明する。第２の実施の形態は、ＬＰＷＡＮ（Low Power Wide Area Network）のＬｏＲａ（Long Range）の通信機能を有するノードに本発明の機能を適用したものである。
【００１９】
ＬＰＷＡＮは、携帯電話機回線や無線ＬＡＮ（Local Area Network）等の無線通信と比べて少ない消費電力で長距離（最大２０ｋｍ程度）の無線通信を可能とする。ＬＰＷＡＮによるデータ通信が行われることで、電力消費量を抑えたネットワークの構築が可能になる。また、ＬｏＲａは、米国のＬｏＲａＡｌｌｉａｎｃｅが推進するＬＰＷＡＮの通信規格であり、上り下りの双方向通信が可能である。ＬｏＲａは、低消費電力のため電池駆動型のノードに適しており、リピータ等の中継器を用いずに長距離無線通信を行う等の特徴を有している。
【００２０】
最初に、フラッディング制御によるファームウェア更新の課題について図２を用いて説明する。図２はフラッディング制御によるファームウェア更新を説明するための図である。通信ネットワーク３は、センサノードｓｎ１、・・・、ｓｎ１５（総称する場合はセンサノードｓｎ）およびゲートウェイＧＷ０を備える。なお、図２中の点線円は、各センサノードの通信エリアを示し、太実線円は、ゲートウェイＧＷ０の通信エリアを示す。
【００２１】
センサノードｓｎ１、・・・、ｓｎ１５に対するファームウェアの更新時、ゲートウェイＧＷ０から更新すべきファームウェアが配信される。ファームウェアサイズは、一般に数百ｂｙｔｅから数Ｍｂｙｔｅあるため、１フレーム（例えば、無線ＬＡＮでは約１４００ｂｙｔｅ）だけに収容することは困難である。このため、複数のフレーム（例えば、数千のフレーム）に分割して配信が行われる。
【００２２】
また、フラッディング制御では、ゲートウェイＧＷ０によって分割されたフレームがブロードキャストフレームとして送信され、フレームを受信したセンサノードｓｎは、受信した同じフレームを１回だけ送信するという動作が行われる。
【００２３】
このような動作では、センサノードｓｎが、あるフレームをフレームロス等により受信できなくても、センサノードｓｎには受信機会が他にもあるため、受信到達確率が向上する。例えば、図２の場合、センサノードｓｎ１３がセンサノードｓｎ９から送信されたフレームを受信できなかったとしても、近隣のセンサノードｓｎ８やセンサノードｓｎ１５等からフレームを受信する機会がある。
【００２４】
一方、このようなマルチホップのフラッディング制御では、フレームの１回の送信に対して、（受信したセンサノード数）×（フレームサイズ）のデータ量が無線ネットワーク上に現れる。例えば、図２の例では、センサノードｓｎのブロードキャスト数は、１５フレーム／１送信回数となる。
【００２５】
このため、フレームの送信回数、およびフレームを受信するセンサノード数が多くなるにつれて、ブロードキャストフレーム数が増え、無線干渉やフレームロスが生じて、フレーム受信を失敗する可能性が増加する。
【００２６】
また、無線ネットワーク上に大量のデータが長時間存在する状況（ブロードキャストストーム）になると、無線干渉によるフレームロスがさらに多発し、長時間運用ができなくなるため、人手でのファームウェア更新作業が余儀なくされる。
【００２７】
さらに、センサノードｓｎの駆動は、給電式から環境発電型等の電池式が多く使用されてきているので、ブロードキャスト数（送受信回数）の増加は、無線干渉やフレームロスだけでなく、センサノードｓｎの電力を消費させて寿命低下の要因にもなる。
【００２８】
本発明はこのような点に鑑み、運用に支障を与えることなく、またセンサノードの電力消費量を低減させて、ファームウェア更新のためのフレーム配信を行う配信制御方法および通信システムを提供するものである。
【００２９】
以下、第２の実施の形態について詳しく説明する。図３は通信システムの構成の一例を示す図である。第２の実施の形態の通信システム１−１は、ゲートウェイ１０と、複数のセンサノード２０−１、・・・、２０−ｎ（総称する場合はセンサノード２０）とを備える。
【００３０】
ゲートウェイ１０は、図１に示したマスタノード１ａの機能を有し、センサノード２０−１、・・・、２０−ｎは、図１に示したスレーブノード１ｂの機能を有する。また、管理装置３０がゲートウェイ１０に接続される。管理装置３０の動作については図１４で後述する。
【００３１】
＜ハードウェア構成＞
図４はゲートウェイのハードウェア構成の一例を示す図である。ゲートウェイ１０は、プロセッサ１００によって装置全体が制御されている。すなわち、プロセッサ１００は、ゲートウェイ１０の制御部として機能する。
【００３２】
プロセッサ１００には、バス１０３を介して、メモリ１０１および複数の周辺機器が接続されている。プロセッサ１００は、マルチプロセッサであってもよい。プロセッサ１００は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１００は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３３】
メモリ１０１は、ゲートウェイ１０の主記憶装置として使用される。メモリ１０１には、プロセッサ１００に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０１には、プロセッサ１００による処理に要する各種データが格納される。
【００３４】
また、メモリ１０１は、ゲートウェイ１０の補助記憶装置としても使用され、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ１０１は、補助記憶装置として、フラッシュメモリやＳＳＤ（Solid State Drive）等の半導体記憶装置やＨＤＤ（Hard Disk Drive）等の磁気記録媒体を含んでもよい。
【００３５】
バス１０３に接続されている周辺機器としては、入出力インタフェース１０２およびネットワークインタフェース１０４がある。入出力インタフェース１０２は、プロセッサ１００からの命令にしたがってゲートウェイ１０の状態を表示する表示装置として機能するモニタ（例えば、ＬＥＤ（Light Emitting Diode）やＬＣＤ（Liquid Crystal Display）等）が接続されている。
【００３６】
また、入出力インタフェース１０２は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ１００に送信する。
さらにまた、入出力インタフェース１０２は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース１０２は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）等がある。
【００３７】
また、入出力インタフェース１０２は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース１０２との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【００３８】
ネットワークインタフェース１０４は、ネットワークとのインタフェース制御を行い、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮカード等が使用できる。ネットワークインタフェース１０４で受信されたデータは、メモリ１０１やプロセッサ１００に出力される。
【００３９】
以上のようなハードウェア構成によって、ゲートウェイ１０の処理機能を実現することができる。例えば、ゲートウェイ１０は、プロセッサ１００がそれぞれ所定のプログラムを実行することで本発明の制御を行うことができる。
【００４０】
ゲートウェイ１０は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。ゲートウェイ１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【００４１】
例えば、ゲートウェイ１０に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ１００は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【００４２】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１００からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ１００が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４３】
なお、上記では、ゲートウェイ１０のハードウェア構成について説明したが、センサノード２０についても図４と同様のハードウェア構成が適用される。
＜機能ブロック＞
次にゲートウェイ１０およびセンサノード２０の機能ブロックについて図５、図６を用いて説明する。図５はゲートウェイの機能ブロックの一例を示す図である。ゲートウェイ１０は、マスタ制御部１０ａとマスタ記憶部１０ｂを備える。
【００４４】
マスタ制御部１０ａは、マスタ側到達性検出部１１、ファームウェア受信処理部１２、配信方法候補生成部１３、更新可否問合せ部１４、配信方法選択部１５およびマスタ側通信部１６を含む。マスタ記憶部１０ｂは、マスタ側到達性情報テーブル１７、マスタ側リソース情報テーブル１８および更新可否問合せ応答テーブル１９を含む。
【００４５】
マスタ側到達性検出部１１は、ファームウェアを受信するセンサノード２０に対して無線動作レベルを制御してフレームの到達性を検出する。そして、マスタ側到達性検出部１１は、検出した到達性情報（ゲートウェイ１０におけるフレーム到達可否状態の情報）をマスタ側到達性情報テーブル１７に登録する。
【００４６】
ファームウェア受信処理部１２は、管理装置３０から送信されたファームウェアのファイルを受信し、ファームウェアサイズからフレーム送信数の算出等を行う。
配信方法候補生成部１３は、到達性情報、フレーム送信数およびマスタ側リソース情報テーブル１８に格納されるリソース情報の少なくとも１つにもとづいて、ファームウェア更新のためのフレーム配信方法の候補を生成する。
【００４７】
更新可否問合せ部１４は、生成された配信方法候補でセンサノード２０がファームウェアを更新可能か否かの問合せを行う。また、更新可否問合せ部１４は、センサノード２０から送信された更新可否問合せ応答の結果を更新可否問合せ応答テーブル１９に登録する。
【００４８】
配信方法選択部１５は、更新可否問合せ応答の結果にもとづいて、配信方法候補の中からフレーム配信方法を選択する。マスタ側通信部１６は、ゲートウェイ１０における通信インタフェース処理を行う。例えば、マスタ側通信部１６は、選択された配信方法でファームウェアを配信し、また、選択した配信方法や配信状況を配信結果として管理装置３０へ送信する。
【００４９】
なお、マスタ側到達性情報テーブル１７の登録内容については図１２で、マスタ側リソース情報テーブル１８の登録内容については図１５で、更新可否問合せ応答テーブル１９の登録内容については図２１で後述する。
【００５０】
図６はセンサノードの機能ブロックの一例を示す図である。センサノード２０は、スレーブ制御部２０ａおよびスレーブ記憶部２０ｂを備える。スレーブ制御部２０ａは、スレーブ側到達性検出部２１、更新可否判定応答部２２およびスレーブ側通信部２３を含む。スレーブ記憶部２０ｂは、スレーブ側到達性情報テーブル２４およびスレーブ側リソース情報テーブル２５を含む。
【００５１】
スレーブ側到達性検出部２１は、無線動作レベル毎のフレームの到達性を検出し、検出した到達性情報（センサノード２０におけるフレーム到達可否状態の情報）をスレーブ側到達性情報テーブル２４に登録する。
【００５２】
更新可否判定応答部２２は、到達性情報およびスレーブ側リソース情報テーブル２５に格納されるリソース情報の少なくとも１つにもとづいて、ゲートウェイ１０から送信された配信方法候補で、内部動作を制御するファームウェアの更新が可能か否かを判定する。スレーブ側通信部２３は、センサノード２０における通信インタフェース処理を行う。例えば、スレーブ側通信部２３は、更新可否判定結果の送信処理や、配信されたフレームの受信処理を行う。
【００５３】
なお、スレーブ側到達性情報テーブル２４の登録内容については図１２で、スレーブ側リソース情報テーブル２５の登録内容については図１９で後述する。
ここで、図５のマスタ制御部１０ａおよび図６のスレーブ制御部２０ａは、図４に示したプロセッサ１００で実現される。また、図５のマスタ記憶部１０ｂおよび図６のスレーブ記憶部２０ｂは、図４に示したメモリ１０１で実現される。または各構成部を論理回路等によってハードウェア回路で構成することもできる。
【００５４】
＜通信システムの動作シーケンス＞
図７は通信システムの動作シーケンスの一例を示す図である。通信システム１−１における全体動作のシーケンスを示している。
【００５５】
〔ステップＳ１１〕ゲートウェイ１０は、通常運用時、定期的にセンサノード２０にアクセスして、無線動作レベル毎の到達性情報を収集する。
〔ステップＳ１２〕ゲートウェイ１０は、収集した到達性情報にもとづいて、センサノード２０の到達可否を判定する。
【００５６】
〔ステップＳ１３〕管理装置３０は、ファームウェアを送信し、ゲートウェイ１０で受信される。
〔ステップＳ１４〕管理装置３０は、要求事項情報をゲートウェイ１０に送信する。
【００５７】
〔ステップＳ１５〕ゲートウェイ１０は、ファームウェアのサイズから算出されたフレーム送信数と、収集した各無線動作レベルの到達性情報とにもとづいて、配信にかかる消費リソースを予測し、要求事項情報に応じた、フレーム配信方法の候補を複数生成する。
【００５８】
〔ステップＳ１６ａ〕ゲートウェイ１０は、生成した配信方法候補でセンサノード２０に更新可否の問合せを行う。
〔ステップＳ１６ｂ〕センサノード２０は、電池残量を含めた予測消費電力量にもとづいて、更新可否の判定をして（ファームウェアを受信可能か否かの判定をして）、判定結果を応答する。この場合、センサノード２０は、すべてのフレームを受信できない場合は、受信可能となるための条件を付与して応答を返す（後述）。
【００５９】
〔ステップＳ１７〕ゲートウェイ１０は、更新可否判定結果にもとづいて、フレーム配信方法を配信方法候補の中から選択する。
〔ステップＳ１８〕ゲートウェイ１０は、選択した配信方法で、フレームをセンサノード２０に配信する。
【００６０】
〔ステップＳ１９〕ゲートウェイ１０は、選択した配信方法や配信状況を配信結果として管理装置３０へ送信する。
＜到達性検出＞
次に到達性検出の動作について図８から図１２を用いて説明する。図８は無線動作レベルの一例を示す図である。ゲートウェイ１０およびセンサノード２０は、テーブルＴ１に示すような例えば、３段階の無線動作レベル（ＬｏＲａ無線動作レベル）を有するとする。ゲートウェイ１０およびセンサノード２０は、無線動作レベルに応じた強度の電波を発出する。
【００６１】
例えば、無線動作レベルＮを基準動作レベルとすると、無線動作レベルＮ＋１で動作する場合は、無線動作レベルＮよりも通信範囲（到達範囲）を広くでき、無線動作レベルＮ−１で動作する場合は、無線動作レベルＮよりも通信範囲が狭くなる。
【００６２】
図９は保守モードフレームのフォーマットの一例を示す図である。ゲートウェイ１０は、到達性検出を行う場合、通常運用時において、保守モードフレームｆ０をセンサノード２０へ定期的に送信して、センサノード２０との通信を保守モードにする。
【００６３】
保守モードフレームｆ０は、切替え時間、期間、開始レベルおよび終了レベルが設定される。切替え時間は、保守モードフレームｆ０がセンサノード２０で受信されてから無線動作レベルが切替わるまでの時間を示す。
【００６４】
期間は、切替え後の無線動作レベルで動作する期間を示す。開始レベルは、切替え開始時の無線動作レベルを示す。終了レベルは、切替え終了時の無線動作レベルを示す。
例えば、切替え時間＝６０ｓｅｃ、期間＝３０ｓｅｃ、開始レベル＝Ｎ＋１、終了レベル＝Ｎ−１と設定された保守モードフレームｆ０をセンサノード２０が受信したとする。この場合、センサノード２０は、保守モードフレームｆ０を受信してから６０秒後に無線動作レベルを開始レベルのＮ＋１に切替える。そして、センサノード２０は、Ｎ＋１に切替えてから３０秒経過すると無線動作レベルをＮに切替え、さらにＮに切替えてから３０秒経過すると無線動作レベルを終了レベルのＮ−１に切替える。
【００６５】
図１０、図１１は到達性検出の動作シーケンスの一例を示す図である。ゲートウェイ１０およびセンサノード２０−１、２０−２、２０−３で到達性検出が行われるとする。また、無線動作レベルは、Ｎ＋１、Ｎ、Ｎ−１の順に切替えられるとする。
【００６６】
（保守モードフレーム送受信）
〔ステップＳ２０ａ〕ゲートウェイ１０は、保守モードフレームｆ０をブロードキャストで送信する。
【００６７】
〔ステップＳ２０ｂ−１、Ｓ２０ｂ−２、Ｓ２０−３〕保守モードフレームｆ０を受信したセンサノード２０−１、２０−２、２０−３は、保守モードフレームｆ０の設定内容を認識する。そして、センサノード２０−１、２０−２、２０−３は、保守モードフレームｆ０に設定されている切替え時間に無線動作レベルを切替える。
【００６８】
（無線動作レベルＮ＋１における到達性検出）
〔ステップＳ３０ａ〕ゲートウェイ１０は、ＬｏＲＡによる無線動作レベルで制御した要求信号を送信する。例えば、無線動作レベルＮ＋１で１ホップ以内におけるブロードキャストの到達確認要求を行う。この場合、ゲートウェイ１０は、ゲートウェイ１０の識別子（識別子ＧＷとする）を要求信号として、無線動作レベルＮ＋１で１ホップ以内におけるブロードキャストで送信する。
【００６９】
〔ステップＳ３０ｂ−１、Ｓ３０ｂ−２、Ｓ３０ｂ−３〕センサノード２０−１、２０−２、２０−３は、識別子ＧＷを受信し、各自のスレーブ側到達性情報テーブル２４に識別子ＧＷを登録する。
【００７０】
〔ステップＳ３１ａ〕センサノード２０−１は、到達確認応答として、センサノード２０−１の識別子（識別子ｎ１とする）を応答信号として送信する。この場合、センサノード２０−１は、無線動作レベルＮ＋１で１ホップ以内におけるブロードキャストで識別子ｎ１を送信する。
【００７１】
〔ステップＳ３１ｂ〕ゲートウェイ１０は、識別子ｎ１を受信し、マスタ側到達性情報テーブル１７に登録する。
〔ステップＳ３１ｃ−２、Ｓ３１ｃ−３〕センサノード２０−２、２０−３は、識別子ｎ１を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ１を登録する。
【００７２】
〔ステップＳ３２ａ〕センサノード２０−２は、到達確認応答として、センサノード２０−２の識別子（識別子ｎ２とする）を送信する。この場合、センサノード２０−２は、無線動作レベルＮ＋１で１ホップ以内におけるブロードキャストで識別子ｎ２を送信する。
【００７３】
〔ステップＳ３２ｂ〕ゲートウェイ１０は、識別子ｎ２を受信し、マスタ側到達性情報テーブル１７に登録する。
〔ステップＳ３２ｃ−１、Ｓ３２ｃ−３〕センサノード２０−１、２０−３は、識別子ｎ２を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ２を登録する。
【００７４】
〔ステップＳ３３ａ〕センサノード２０−３は、到達確認応答として、センサノード２０−３の識別子（識別子ｎ３とする）を送信する。この場合、センサノード２０−３は、無線動作レベルＮ＋１で１ホップ以内におけるブロードキャストで識別子ｎ３を送信する。
【００７５】
〔ステップＳ３３ｂ〕ゲートウェイ１０は、識別子ｎ３を受信し、マスタ側到達性情報テーブル１７に登録する。
〔ステップＳ３３ｃ−１、Ｓ３３ｃ−２〕センサノード２０−１、２０−２は、識別子ｎ３を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ３を登録する。
【００７６】
（無線動作レベルＮにおける到達性検出）
〔ステップＳ４０ａ〕ゲートウェイ１０は、無線動作レベルＮで２ホップ以内におけるブロードキャストの到達確認要求を行う。この場合、ゲートウェイ１０は、識別子ＧＷを無線動作レベルＮで２ホップ以内におけるブロードキャストで送信する。
【００７７】
〔ステップＳ４０ｂ−１、Ｓ４０ｂ−２〕センサノード２０−１、２０−２は、識別子ＧＷを受信し、各自のスレーブ側到達性情報テーブル２４に識別子ＧＷを登録する。
〔ステップＳ４０ｃ〕センサノード２０−３は、識別子ＧＷを受信できないとする。
【００７８】
〔ステップＳ４１ａ〕センサノード２０−１は、到達確認応答として、識別子ｎ１を無線動作レベルＮで２ホップ以内におけるブロードキャストで送信する。
〔ステップＳ４１ｂ〕ゲートウェイ１０は、識別子ｎ１を受信し、マスタ側到達性情報テーブル１７に登録する。
【００７９】
〔ステップＳ４１ｃ−２、Ｓ４１ｃ−３〕センサノード２０−２、２０−３は、識別子ｎ１を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ１を登録する。
〔ステップＳ４２ａ〕センサノード２０−２は、到達確認応答として、識別子ｎ２を無線動作レベルＮで２ホップ以内におけるブロードキャストで送信する。
【００８０】
〔ステップＳ４２ｂ〕ゲートウェイ１０は、識別子ｎ２を受信し、マスタ側到達性情報テーブル１７に登録する。
〔ステップＳ４２ｃ−１、Ｓ４２ｃ−３〕センサノード２０−１、２０−３は、識別子ｎ２を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ２を登録する。
【００８１】
〔ステップＳ４３ａ〕センサノード２０−３は、到達確認応答として、識別子ｎ３を無線動作レベルＮで２ホップ以内におけるブロードキャストで送信する。
〔ステップＳ４３ｂ〕ゲートウェイ１０は、識別子ｎ３を受信できないとする。
【００８２】
〔ステップＳ４３ｃ−１、Ｓ４３ｃ−２〕センサノード２０−１、２０−２は、識別子ｎ３を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ３を登録する。
（無線動作レベルＮ−１における到達性検出）
〔ステップＳ５０ａ〕ゲートウェイ１０は、無線動作レベルＮ−１で３ホップ以内におけるブロードキャストの到達確認要求を行う。この場合、ゲートウェイ１０は、識別子ＧＷを無線動作レベルＮ−１で３ホップ以内におけるブロードキャストで送信する。
【００８３】
〔ステップＳ５０ｂ〕センサノード２０−１は、識別子ＧＷを受信し、スレーブ側到達性情報テーブル２４に識別子ＧＷを登録する。
〔ステップＳ５０ｃ〕センサノード２０−２、２０−３は、識別子ＧＷを受信できないとする。
【００８４】
〔ステップＳ５１ａ〕センサノード２０−１は、到達確認応答として、識別子ｎ１を無線動作レベルＮ−１で３ホップ以内におけるブロードキャストで送信する。
〔ステップＳ５１ｂ〕ゲートウェイ１０は、識別子ｎ１を受信し、マスタ側到達性情報テーブル１７に登録する。
【００８５】
〔ステップＳ５１ｃ〕センサノード２０−２は、識別子ｎ１を受信し、スレーブ側到達性情報テーブル２４に識別子ｎ１を登録する。
〔ステップＳ５１ｄ〕センサノード２０−３は、識別子ｎ１を受信できないとする。
【００８６】
〔ステップＳ５２ａ〕センサノード２０−２は、到達確認応答として、識別子ｎ２を無線動作レベルＮ−１で３ホップ以内におけるブロードキャストで送信する。
〔ステップＳ５２ｂ〕ゲートウェイ１０は、識別子ｎ２を受信できないとする。
【００８７】
〔ステップＳ５２ｃ−１、Ｓ５２ｃ−３〕センサノード２０−１、２０−３は、識別子ｎ２を受信し、各自のスレーブ側到達性情報テーブル２４に識別子ｎ２を登録する。
〔ステップＳ５３ａ〕センサノード２０−３は、到達確認応答として、識別子ｎ３を無線動作レベルＮ−１で３ホップ以内におけるブロードキャストで送信する。
【００８８】
〔ステップＳ５３ｂ〕ゲートウェイ１０およびセンサノード２０−１は、識別子ｎ３を受信できないとする。
〔ステップＳ５３ｃ〕センサノード２０−２は、識別子ｎ３を受信し、スレーブ側到達性情報テーブル２４に識別子ｎ３を登録する。
【００８９】
図１２は到達性情報テーブルの登録例を示す図である。図１０、図１１に示したシーケンスによって登録されるテーブル状態を示している。
ゲートウェイ１０が有するマスタ側到達性情報テーブル１７において、ゲートウェイ１０は、無線動作レベルＮ＋１では、識別子ｎ１、ｎ２、ｎ３を受信している（図１０のＳ３１ｂ、Ｓ３２ｂ、Ｓ３３ｂ）。したがって、到達数＝３であり、到達可能ノードとして、センサノード２０−１、２０−２、２０−３の識別子ｎ１、ｎ２、ｎ３が登録される。
【００９０】
また、ゲートウェイ１０は、無線動作レベルＮでは、識別子ｎ１、ｎ２を受信している（図１１のＳ４１ｂ、Ｓ４２ｂ）。したがって、到達数＝２であり、到達可能ノードとしてセンサノード２０−１、２０−２の識別子ｎ１、ｎ２が登録される。
【００９１】
さらに、ゲートウェイ１０は、無線動作レベルＮ−１では、識別子ｎ１を受信している（図１１のＳ５１ｂ）。したがって、到達数＝１であり、到達可能ノードとしてセンサノード２０−１の識別子ｎ１が登録される。
【００９２】
センサノード２０−１が有するスレーブ側到達性情報テーブル２４−１において、センサノード２０−１は、無線動作レベルＮ＋１では、識別子ＧＷ、ｎ２、ｎ３を受信している（図１０のＳ３０ｂ−１、Ｓ３２ｃ−１、Ｓ３３ｃ−１）。したがって、到達数＝３であり、到達可能ノードとしてゲートウェイ１０、センサノード２０−１、２０−２の識別子ＧＷ、ｎ２、ｎ３が登録される。
【００９３】
また、センサノード２０−１は、無線動作レベルＮでは、識別子ＧＷ、ｎ２、ｎ３を受信している（図１１のＳ４０ｂ−１、Ｓ４２ｃ−１、Ｓ４３ｃ−１）。したがって、到達数＝３であり、到達可能ノードとしてゲートウェイ１０、センサノード２０−２、２０−３の識別子ＧＷ、ｎ２、ｎ３が登録される。
【００９４】
さらに、センサノード２０−１は、無線動作レベルＮ−１では、識別子ＧＷ、ｎ２を受信している（図１１のＳ５０ｂ、Ｓ５２ｃ−１）。したがって、到達数＝２であり、到達可能ノードとしてゲートウェイ１０、センサノードｎ２の識別子ＧＷ、ｎ２が登録される。
【００９５】
センサノード２０−２が有するスレーブ側到達性情報テーブル２４−２において、センサノード２０−２は、無線動作レベルＮ＋１では、識別子ＧＷ、ｎ１、ｎ３を受信している（図１０のＳ３０ｂ−２、Ｓ３１ｃ−２、Ｓ３３ｃ−２）。したがって、到達数＝３であり、到達可能ノードとしてゲートウェイ１０、センサノードｎ１、ｎ３の識別子ＧＷ、ｎ１、ｎ３が登録される。
【００９６】
また、センサノード２０−２は、無線動作レベルＮでは、識別子ＧＷ、ｎ１、ｎ３を受信している（図１１のＳ４０ｂ−２、Ｓ４１ｃ−２、Ｓ４３ｃ−２）。したがって、到達数＝３であり、到達可能ノードとしてゲートウェイ１０、センサノードｎ１、ｎ３の識別子ＧＷ、ｎ１、ｎ３が登録される。
【００９７】
さらに、センサノード２０−２は、無線動作レベルＮ−１では、識別子ｎ１、ｎ３を受信している（図１１のＳ５１ｃ、Ｓ５３ｃ）。したがって、到達数＝２であり、到達可能ノードとしてセンサノード２０−１、２０−３の識別子ｎ１、ｎ３が登録される。
【００９８】
センサノード２０−３が有するスレーブ側到達性情報テーブル２４−３において、センサノード２０−３は、無線動作レベルＮ＋１では、識別子ＧＷ、ｎ１、ｎ２を受信している（図１０のＳ３０ｂ−３、Ｓ３１ｃ−３、Ｓ３２ｃ−３）。したがって、到達数＝３であり、到達可能ノードとしてゲートウェイ１０、センサノードｎ１、ｎ２の識別子ＧＷ、ｎ１、ｎ２が登録される。
【００９９】
また、センサノード２０−３は、無線動作レベルＮでは、識別子ｎ１、ｎ２を受信している（図１１のＳ４１ｃ−３、Ｓ４２ｃ−３）。したがって、到達数＝２であり、到達可能ノードとしてセンサノード２０−１、２０−２の識別子ｎ１、ｎ２が登録される。
【０１００】
さらに、センサノード２０−３は、無線動作レベルＮ−１では、識別子ｎ２を受信している（図１１のＳ５２ｃ−３）。したがって、到達数＝１であり、到達可能ノードとしてセンサノード２０−２の識別子ｎ２が登録される。
【０１０１】
上記のように、ゲートウェイ１０とセンサノード２０間での到達性検出が定期的に行われることで、各ノードにおいて、効率よくフレーム到達性の可否を検出することが可能になる。
【０１０２】
なお、上記の到達性検出の制御では、センサノード２０のスレーブ制御部２０ａは、ＬｏＲａの通信デバイスの機能を有する。したがって、ソフトウェアの変更のみで到達性検出を行う場合、無線動作レベルの代わりにホップ数にもとづいて到達性検出を行うことができる。例えば、ホップ数を所定値に設定しておき、全センサノードで応答できる最小ホップ数の値を探索して到達性検出を行うといった制御が可能である。
【０１０３】
＜配信方法候補の生成＞
次に配信方法候補の生成動作について図１３から図１７を用いて説明する。ゲートウェイ１０でのフレーム配信方法の候補生成時、管理装置３０から、更新すべきファームウェアと、要求事項情報とがゲートウェイ１０に送信される。
【０１０４】
要求事項情報は、例えば、優先度、緊急度および制約に関する情報が含まれる。優先度に関する要求事項情報は、ファームウェア更新の優先度を示す情報である。例えば、ある地域に位置するセンサノードのファームウェア更新を優先的に行いたい場合、該当地域に位置するセンサノードの優先度は、他の地域に位置するセンサノードよりも優先度が高く設定される。
【０１０５】
また、緊急度に関する要求事項情報は、ファームウェア更新の緊急度を示す情報である。例えば、障害回復のためのファームウェア更新を要するセンサノードに対しては、緊急度は高く設定され、通常のファームウェアのバージョン更新でよいセンサノードに対しては、緊急度は低く設定される。
【０１０６】
さらに、制約に関する要求事項情報は、ファームウェア更新の時間制約を示す情報である。例えば、ある期間内にファームウェア更新を要するセンサノードに対しては、時間制約が設定される。
【０１０７】
図１３は要求事項情報の一例を示す図である。テーブルＴ２は、要求事項情報の具体例を示している。要求事項情報には、例えば、Ｌ時間以内に配信を完了、ゲートウェイの消費電力をＭｗｈ／ｈ以内に抑える、更新網羅率をＰ％以上にする、特定のセンサノードＡ、Ｂ、Ｃの更新を優先させる、無線干渉率を最小限に抑える、配信時間を最小限に抑える等がある。
【０１０８】
管理装置３０では、ゲートウェイ１０で生成されたマスタ側到達性情報テーブル１７に登録されている到達性情報を参照して、要求事項情報を決定し、ゲートウェイ１０に送信する。
【０１０９】
図１４は管理装置の動作を示すフローチャートである。
〔ステップＳ６１〕管理装置３０は、更新すべきファームウェアのデータをゲートウェイ１０に送信する。
【０１１０】
〔ステップＳ６２〕管理装置３０は、ゲートウェイ１０で生成されたマスタ側到達性情報テーブル１７に登録されている到達性情報を参照して、要求事項情報を決定する。
〔ステップＳ６３〕管理装置３０は、決定した要求事項情報をゲートウェイ１０に送信する。
【０１１１】
一方、ゲートウェイ１０は、ファームウェアを受信すると、ファームウェアのデータを複数に分割し、フレームとして送信する際のフレーム送信数を算出する。そして、ゲートウェイ１０は、フレーム送信数に対応する、自己の消費電力ペースおよび配信時間を算出する。ゲートウェイ１０は、算出したフレーム送信数、消費電力ペースおよび配信時間をリソース情報テーブルに登録する。
【０１１２】
図１５はマスタ側リソース情報テーブルの一例を示す図である。マスタ側リソース情報テーブル１８は、項目として、無線動作レベル、フレーム長、フレーム送信数、配信間隔、ホップ数、消費電力ペースおよび配信時間を有する。
【０１１３】
フレーム長は、無線動作レベル毎にあらかじめ決められている。したがって、ゲートウェイ１０は、フレーム長にもとづき、無線動作レベル毎のフレーム送信数を算出して（ファームウェアデータ長／フレーム長）、マスタ側リソース情報テーブル１８に登録する。
【０１１４】
また、ゲートウェイ１０は、フレーム送信数、配信間隔およびホップ数にもとづいて、無線動作レベル毎の消費電力ペースおよび配信時間を算出して、マスタ側リソース情報テーブル１８に登録する。なお、無線動作レベル毎に、配信間隔とホップ数もあらかじめ決められているとする。
【０１１５】
そして、ゲートウェイ１０は、マスタ側リソース情報テーブル１８の登録内容と、管理装置３０から送信された要求事項情報とから、フレーム配信方法の候補を生成する。
ここでは、管理装置３０から送信された要求事項情報の内容が、１０時間以内に配信完了とする。この場合、マスタ側リソース情報テーブル１８の登録から、項番１の配信時間は６Ｈ、項番２の配信時間は３Ｈ、項番３の配信時間は１．５Ｈであり、すべて１０時間以内で配信が完了するから、項番１、２、３が配信方法候補となる。
【０１１６】
また、ゲートウェイ１０は、マスタ側リソース情報テーブル１８の消費電力ペースと配信時間とから、消費リソース量を予測し、配信方法候補それぞれでファームウェアを配信した際に要する消費リソース量を配信方法候補に対応づけて管理する。なお、消費リソース量は、（消費電力ペース）×（配信時間）で算出される。
【０１１７】
図１６は配信方法候補の一例を示す図である。テーブルＴ３は、上記の例でゲートウェイ１０によって生成される配信方法候補を示している。ゲートウェイ１０は、無線動作レベルＮ＋１の１ホップのブロードキャスト、無線動作レベルＮの２ホップのブロードキャスト、無線動作レベルＮ−１の３ホップのブロードキャストの３つの配信方法候補を生成する。
【０１１８】
図１７は配信方法候補の生成動作を示すフローチャートである。
〔ステップＳ７１〕ゲートウェイ１０は、ファームウェアのデータを受信する。
〔ステップＳ７２〕ゲートウェイ１０は、ファームウェアのデータ長をフレーム長で除算して、無線動作レベル毎のフレーム送信数を算出し、マスタ側リソース情報テーブル１８に登録する。
【０１１９】
〔ステップＳ７３〕ゲートウェイ１０は、フレーム送信数、配信間隔およびホップ数にもとづいて、無線動作レベル毎の消費電力ペースおよび配信時間を算出し、マスタ側リソース情報テーブル１８に登録する。
【０１２０】
〔ステップＳ７４〕ゲートウェイ１０は、マスタ側リソース情報テーブル１８の登録内容にもとづいて、要求事項情報を満たす配信方法候補を生成する。また、ゲートウェイ１０は、配信方法候補毎の消費リソース量を予測して、配信方法候補に対応づけて管理する。
【０１２１】
なお、ソフトウェアの変更のみで配信方法候補を生成する場合、ホップ数にもとづく生成が行われる。この場合、現無線動作レベルで探し当てたホップ数のブロードキャストが配信方法候補として生成される。
【０１２２】
＜更新可否判定＞
次に更新可否判定の動作について図１８から図２０を用いて説明する。ゲートウェイ１０は、配信方法候補を生成すると、配信方法候補の情報を含む更新可否問合せ要求をセンサノード２０に通知して、センサノード２０が該配信方法候補で更新が可能か否かの問合せを行う。
【０１２３】
図１８は更新可否問合せ要求のフォーマットの一例を示す図である。更新可否問合せ要求１４ａは、項目として、更新版数、更新サイズ、無線動作レベル、フレーム長、フレーム送信数、配信間隔、ホップ数、消費電力ペースおよび配信時間を有する。
【０１２４】
図１８の例では、図１５に示す項番１の配信方法候補に対する更新可否問合せ要求を示している。この場合、更新可否問合せ要求は、更新版数＝０２、更新サイズ＝６０００ｂｙｔｅ、無線動作レベル＝Ｎ＋１、フレーム長＝３０ｂｙｔｅ、フレーム送信数＝２００、配信間隔＝１０ｓｅｃ、ホップ数＝１、消費電力ペース＝２０ｍＷ／ｈ、配信時間＝６Ｈと設定されている。
【０１２５】
一方、更新可否問合せ要求１４ａを受信したセンサノード２０は、スレーブ側到達性情報テーブル２４の登録内容と、スレーブ側リソース情報テーブル２５の登録内容との少なくとも一方にもとづいて、通知された配信方法候補でファームウェア更新が可能か否かを判定する。
【０１２６】
図１９はスレーブ側リソース情報テーブルの一例を示す図である。センサノード２０は、自身のリソースに関する情報を図６に示したスレーブ側リソース情報テーブル２５で管理する。図１９の例では、センサノード２０−１、２０−２、２０−３それぞれで管理される、スレーブ側リソース情報テーブル２５−１、２５−２、２５−３の登録内容を示している。
【０１２７】
スレーブ側リソース情報テーブル２５は、項目として、電池残量、運用消費電力、無線動作レベル、および無線動作レベルに対応する発電ペースを有する。
ここで、センサノード２０は、例えば、以下に示すような式（１）から更新可否を判定する。
【０１２８】
（消費リソース量）＜（（電池残量）＋（（発電ペース）−（運用消費電力））×（配信時間））・・・式（１）
センサノード２０は、式（１）を満たす場合、ゲートウェイ１０から通知された配信方法候補でファームウェアの更新が可能と判定し、式（１）を満たさない場合は更新不可と判定する。センサノード２０は、式（１）を用いた更新可否判定を行うことで、自身の消費電力に適したファームウェア更新を行うことが可能になる。
【０１２９】
なお、式（１）中の消費リソース量（＝消費電力ペース×配信時間）および配信時間のパラメータは、更新可否問合せ要求１４ａに設定されている値が使用される。
また、式（１）中の電池残量、発電ペースおよび運用消費電力のパラメータは、スレーブ側リソース情報テーブル２５に登録されている値が使用される。なお、式（１）の右辺は、センサノード２０の電池残量を含めた予測消費電力量になる。
【０１３０】
図２０は更新可否問合せ応答の一例を示す図である。更新可否問合せ要求１４ａを受信したセンサノード２０は、更新可否の判定後、判定結果を更新可否問合せ応答２２ａに含めてゲートウェイ１０に送信する。
【０１３１】
更新可否問合せ応答２２ａは、項目として更新可否および条件事項を含む。更新可否は、更新可能な場合は可、更新不可能な場合は否が設定される。また、更新可否結果が否の場合、条件事項には、更新可とするための条件があればその条件の内容が設定される。
【０１３２】
例えば、ｔ時間後に更新可能であれば、ｔ時間後と設定される。または配信間隔がＭ分以上で更新可能であれば、配信間隔がＭ分以上と設定される。なお、センサノード２０が自動的にファームウェア更新できない場合、条件事項には、作業員によって更新すべきことが設定されてもよい。
【０１３３】
＜配信方法の選択＞
次に配信方法の選択動作について説明する。ゲートウェイ１０は、センサノード２０から送信された更新可否問合せ応答２２ａを集計して、図５に示した更新可否問合せ応答テーブル１９を生成する。
【０１３４】
図２１は更新可否問合せ応答テーブルの一例を示す図である。更新可否問合せ応答テーブル１９は、センサノード２０から送信された更新可否問合せ応答２２ａを配信方法候補毎に集計したものである。
【０１３５】
図２１の例において、テーブル１９ａでは、センサノード２０−１は、配信方法候補＃１で更新可、センサノード２０−２、２０−３は、配信方法候補＃１で更新不可になっている。なお、センサノード２０−２は、１時間後であれば配信方法候補＃１で更新可であることが示されている。
【０１３６】
テーブル１９ｂでは、センサノード２０−１、２０−３は、配信方法候補＃２で更新可、センサノード２０−２は、配信方法候補＃２で更新不可になっている。なお、センサノード２０−２は、２時間後であれば配信方法候補＃２で更新可であることが示されている。
【０１３７】
テーブル１９ｃでは、センサノード２０−１、２０−３は、配信方法候補＃３で更新可、センサノード２０−２は、配信方法候補＃３で更新不可になっている。なお、センサノード２０−２は、３時間後であれば配信方法候補＃３で更新可であることが示されている。
【０１３８】
ゲートウェイ１０は、上記のように、各センサノードから送信された更新可否問合せ応答２２ａを集計して、更新可否問合せ応答テーブル１９を生成すると、管理装置３０に送信する。管理装置３０は、集計結果である更新可否問合せ応答テーブル１９の内容にもとづいて、最新の要求事項情報があればゲートウェイ１０に最新の要求事項を送信する。
【０１３９】
ゲートウェイ１０は、更新可否問合せ応答テーブル１９と、管理装置３０から送信された最新の要求事項情報とにもとづいて、配信方法候補の中から配信方法を選択し、選択した配信方法でフレームを配信する。この場合、ゲートウェイ１０は、可への条件を満たす指示を実行後、選択した配信方法でフレーム配信を行う。
【０１４０】
例えば、ゲートウェイ１０は、配信方法候補＃１、＃２、＃３の中から配信方法候補＃２を選択した場合、２時間後に配信方法候補＃２の方法（無線動作レベルＮの２ホップブロードキャスト）でフレームを配信することになる。
【０１４１】
なお、配信方法選択の際、要求事項を満たす配信方法候補が複数存在する場合、ホップ数が大きいと干渉の発生確率が高くなるため、干渉低減のためホップ数が小さい配信方法候補を優先的に選択する。また、ゲートウェイ１０は、可への条件が反映できない場合、更新対象センサノードから該当センサノードを除外してフレーム配信を実行し、該当センサノードは開始時、自律で期限付きスリープ状態に入る。
【０１４２】
＜未更新のセンサノードが存在する場合の対処＞
フレーム配信を実行後、フレームロス等の要因で更新できないセンサノードが存在するケースがある。この場合、ゲートウェイ１０は、定期的にセンサノードからゲートウェイ１０へ通知されるファーム版数情報等にもとづいて、未更新のセンサノードを検知する。
【０１４３】
そして、ゲートウェイ１０は、未更新センサノードの近隣の更新済みセンサノードに対して、未更新センサノードへの更新要求（更新指示）を行う。更新要求を受けた更新済みセンサノードは、未更新分のフレームを送信して未更新センサノードに対して更新を行う。
【０１４４】
または、未更新センサノード自身が近隣の更新済みセンサノードへ更新依頼の要求を行うことで、更新要求を受けた更新済みセンサノードが、未更新センサノードに対して未更新分のフレームを送信して更新を行うこともできる。
【０１４５】
このように、未更新センサノードが存在するケースが生じた場合、未更新センサノードの近隣に位置する更新完了済みのセンサノードを使用して、未更新センサノードに対して未更新分のフレームが配信される。これにより、未更新センサノードに対して、ファームウェアの未更新分を補完することが可能になる。
【０１４６】
＜更新可とするための条件が付与されたセンサノードの更新＞
次に更新可とするための条件が付与されたセンサノードの更新について図２２、図２３を用いて説明する（以降の説明ではセンサノードの識別子をセンサノードの符号として使用する）。
【０１４７】
図２２はゲートウェイからのブロードキャスト範囲を示す図である。ゲートウェイ１０は、無線動作レベルＮでセンサノードｎ１、・・・、ｎ９、ｎＡに対して、フレームを配信してファームウェアを更新できたとする。また、センサノードｎＢ、ｎＣ、ｎＤ、ｎＥ、ｎＦはファームウェアの更新ができなかったとする。
【０１４８】
図２３は更新可否問合せ応答テーブルの一例を示す図である。更新可否問合せ応答テーブル１９−１では、センサノードｎ１、・・・、ｎ９、ｎＡは、無線動作レベルＮの１ホップブロードキャストで更新可になっている。一方、センサノードｎＢ、ｎＣ、ｎＤ、ｎＥ、ｎＦは、条件付きで更新可になっている。
【０１４９】
すなわち、センサノードｎＢは、ゲートウェイ１０による無線動作レベルＮの１ホップブロードキャストで更新不可であるが、近隣のセンサノードｎＡ、ｎ１、ｎ２、ｎ７、ｎ９、ｎＣ、ｎＤからフレームが送信されれば更新可としている。
【０１５０】
センサノードｎＣは、ゲートウェイ１０による無線動作レベルＮの１ホップブロードキャストで更新不可であるが、近隣のセンサノードｎＡ、ｎ１、ｎ２、ｎ９、ｎＢ、ｎＤからフレームが送信されれば更新可としている。
【０１５１】
センサノードｎＤは、ゲートウェイ１０による無線動作レベルＮの１ホップブロードキャストで更新不可であるが、近隣のセンサノードｎＡ、ｎ１、ｎ２、ｎ９、ｎＢ、ｎＣからフレームが送信されれば更新可としている。
【０１５２】
センサノードｎＥは、ゲートウェイ１０による無線動作レベルＮの１ホップブロードキャストで更新不可であるが、近隣のセンサノードｎＡ、ｎ３、ｎ９、ｎＤ、ｎＦからフレームが送信されれば更新可としている。
【０１５３】
センサノードｎＦは、ゲートウェイ１０による無線動作レベルＮの１ホップブロードキャストで更新不可であるが、近隣のセンサノードｎＡ、ｎ１、ｎ３、ｎ４、ｎ８、ｎＥからフレームが送信されれば更新可としている。
【０１５４】
上記のような条件付きで更新可となるセンサノードｎＢ、ｎＣ、ｎＤ、ｎＥ、ｎＦに対して、以下のような制御で更新が行われる。
（更新制御例１）
ゲートウェイ１０は、無線動作レベルＮの１ホップのブロードキャストの実施後、更新可否問合せ応答テーブル１９−１の条件事項に現れるセンサノードの中から共通するセンサノードｎＡを検出する。そして、ゲートウェイ１０は、センサノードｎＡに無線動作レベルＮの１ホップのブロードキャストの指示を送り、センサノードｎＡがフレーム配信を実行する。
【０１５５】
（更新制御例２）
ゲートウェイ１０は、無線動作レベルＮ＋１、またはＮ＋２の１ホップのブロードキャストにて更新が完了したセンサノードの識別子を、センサノードｎＢ、ｎＣ、ｎＤ、ｎＥ、ｎＦに通知する。そして、センサノードｎＢ、ｎＣ、ｎＤ、ｎＥ、ｎＦが、自律で更新完了したセンサノードへ更新依頼を送信し、更新完了したセンサノードから配信されるフレームで更新を行う。
【０１５６】
＜更新効果値にもとづくフレーム配信＞
次に更新効果値にもとづくフレーム配信動作について説明する。更新効果値は、フレーム配信方法を選択する際の指標であり、更新効果値がより高いフレーム配信方法が選択される。
【０１５７】
（手順１）センサノードは、ゲートウェイ１０から送信された保守モードフレームを受信すると、無線動作レベルを切り替えて保守モード通信を行う。また、ゲートウェイ１０は、センサノードに対して、更新可否問合せを行って、更新可能なセンサノードを検出する。
【０１５８】
なお、ゲートウェイ１０は、運用時の空き時間に定期的に、到達性検出を実施する。また、ゲートウェイ１０は、更新バージョン、サイズ、配信方法候補等を含む更新可否問合せ要求をブロードキャストで送信する。
【０１５９】
（手順２）センサノードは、自身の電池残量と、過去の需要／供給量を計算し、受信した配信方法候補でファームウェアの更新が可能か否かを判定し、判定結果をゲートウェイ１０へ送信する。なお、電池残量は、ファームサイズ、フレームサイズ、無線動作レベル、配信方法から、送受信に必要なバッテリー量を算出する。
【０１６０】
例えば、送受信に要する電池残量の算出方法について、ファームサイズ＝１０００ｂｙｔｅ、1フレームサイズ＝１０ｂｙｔｅ、無線動作レベル＝Ｎ＋５、配信方法＝１ホップ以内ブロードキャスト、１送受信の消費電力＝１０ｍＷｈとする。この場合、以下の式（２）で算出される。
【０１６１】
（送受信に要する電池残量）＝１０００ｂｙｔｅ÷１０ｂｙｔｅ×１０ｍＷｈ×（１回）＝１０００ｍＷｈ・・・（２）
なお、式（２）中の１回とは、１ホップ以内ブロードキャストの場合では中継送信しないため、受信にかかる電池残量について考慮したものである。
【０１６２】
（手順３）ゲートウェイ１０は、各配信方法候補でフレーム配信した場合の配信完了見込時間を算出する。配信完了見込み時間は例えば、以下の式（３）で算出される。
（配信完了見込み時間）＝（フレーム送信数）×（フレーム送信間隔）＋（フレーム配信開始時間）・・・（３）
（手順４）管理装置３０は、ファームウェア更新の効果基準（例えば、期間内、消費電力、コスト、時間および確実性を含む）を設定し、ゲートウェイ１０は、配信方法候補に対する更新効果値を算出して、効果値が高い配信方法を選択して実行する。
【０１６３】
更新効果値の算出としては、例えば１００を最良値として、期間内と消費電力の小ささという点で各無線動作レベルの比較を行い、最良のものが選択される。
図２４は更新効果値にもとづく配信方法の選択動作を示す図である。通信システム１−２は、ゲートウェイ１０、センサノードｎ１、・・・、ｎ１７を備える。なお、無線動作レベルはＬｏＲａによる通信を行った場合のレベルとする。
【０１６４】
センサノードｎ１、・・・、ｎ４は、ゲートウェイ１０から無線動作レベルがＦＳＫ（frequency shifting keying）の範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＦＳＫまでの範囲で更新可能ノード数は４である。
【０１６５】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ４に対して、ファームウェアの配信完了見込み時間をｔと算出し、更新効果値を５５と算出している。
センサノードｎ５、ｎ６、ｎ７は、ゲートウェイ１０から無線動作レベルがＮの範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＮまでの範囲で更新可能ノード数は、センサノードｎ１、・・・、ｎ４も含めて７である。
【０１６６】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ７に対して、ファームウェアの配信完了見込み時間を２ｔ＋ｍと算出し、更新効果値を６８と算出している。
センサノードｎ８、ｎ９は、ゲートウェイ１０から無線動作レベルがＮ＋１の範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＮ＋１のまでの範囲で更新可能ノード数は、センサノードｎ１、・・・、ｎ７も含めて９である。
【０１６７】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ９に対して、ファームウェアの配信完了見込み時間を３ｔ＋ｎと算出し、更新効果値を７４と算出している。
センサノードｎ１０、ｎ１１は、ゲートウェイ１０から無線動作レベルがＮ＋２の範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＮ＋２までの範囲で更新可能ノード数は、センサノードｎ１、・・・、ｎ９も含めて１１である。
【０１６８】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ１１に対して、ファームウェアの配信完了見込み時間を４ｔ＋ｏと算出し、更新効果値を８０と算出している。
センサノードｎ１２、ｎ１３は、ゲートウェイ１０から無線動作レベルがＮ＋３の範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＮ＋３までの範囲で更新可能ノード数は、センサノードｎ１、・・・、ｎ１１も含めて１３である。
【０１６９】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ１３に対して、ファームウェアの配信完了見込み時間を５ｔ＋ｐと算出し、更新効果値を８６と算出している。
センサノードｎ１４、ｎ１５は、ゲートウェイ１０から無線動作レベルがＮ＋４の範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＮ＋４までの範囲で更新可能ノード数は、センサノードｎ１、・・・、ｎ１３も含めて１５である。
【０１７０】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ１５に対して、ファームウェアの配信完了見込み時間を６ｔ＋ｑと算出し、更新効果値を９２と算出している。
センサノードｎ１６、ｎ１７は、ゲートウェイ１０から無線動作レベルがＮ＋５の範囲内に位置する。よって、ゲートウェイ１０において、無線動作レベルがＮ＋５までの範囲で更新可能ノード数は、センサノードｎ１、・・・、ｎ１５も含めて１７である。
【０１７１】
また、ゲートウェイ１０は、センサノードｎ１、・・・、ｎ１７に対して、ファームウェアの配信完了見込み時間を７ｔ＋ｒと算出し、更新効果値を９８と算出している。
したがって、通信システム１−２において、更新効果値＝９８が最も高いので、無線動作レベルＮ＋５のフレーム配信が選択されて実行されることになる。
【０１７２】
以上説明したように、本発明によれば、ゲートウェイからセンサノードへの到達性とフレーム送信数とにもとづき、フレーム配信方法の候補を作成し、ノードが更新可能な配信方法を該候補から選択するので、運用に支障なく更新用フレームを配信することができる。また、送信、受信側双方の状況に応じたフレーム配信により長期運用が可能になる。マルチホップのフラッディングが減少するので無線干渉が減り、到達性を向上させることが可能になる。さらに、管理装置の要求に沿ったファームウェア更新を行うことが可能になる。
【０１７３】
上記で説明した本発明のマスタノード／スレーブノードおよびゲートウェイ／センサノードの処理機能は、コンピュータによって実現することができる。この場合、マスタノード／スレーブノードおよびゲートウェイ／センサノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１７４】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto Optical disk）等がある。
【０１７５】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１７６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【０１７７】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【０１７８】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１７９】
１  通信システム
１ａ  マスタノード
１ｂ  スレーブノード
【図１】
2019036841.tif 000003
【図２】
2019036841.tif 000004
【図３】
2019036841.tif 000005
【図４】
2019036841.tif 000006
【図５】
2019036841.tif 000007
【図６】
2019036841.tif 000008
【図７】
2019036841.tif 000009
【図８】
2019036841.tif 000010
【図９】
2019036841.tif 000011
【図１０】
2019036841.tif 000012
【図１１】
2019036841.tif 000013
【図１２】
2019036841.tif 000014
【図１３】
2019036841.tif 000015
【図１４】
2019036841.tif 000016
【図１５】
2019036841.tif 000017
【図１６】
2019036841.tif 000018
【図１７】
2019036841.tif 000019
【図１８】
2019036841.tif 000020
【図１９】
2019036841.tif 000021
【図２０】
2019036841.tif 000022
【図２１】
2019036841.tif 000023
【図２２】
2019036841.tif 000024
【図２３】
2019036841.tif 000025
【図２４】
2019036841.tif 000026