(57)【要約】【課題】通信装置に効率よく情報をダウンロードさせることができる、サーバ装置、及びプログラムを提供することである。【解決手段】実施形態のサーバ装置は、通信部と、疎通確認処理部と、ダウンロード管理部と、を持つ。通信部は、情報をダウンロード可能な状態と不可能な状態とのいずれかに切り替わる通信装置と通信する。疎通確認処理部は、前記通信部が前記通信装置から、前記通信装置が自発的に送信する上り情報を受信したときに、前記通信部を用いて前記通信装置との疎通確認を行う。ダウンロード管理部は、前記疎通確認処理部によって前記通信装置との疎通が確認された場合、前記通信装置にダウンロードさせる情報を、前記通信部を用いて前記通信装置へ送信する。【選択図】図１
2020190826.tif 000002
【特許請求の範囲】
【請求項１】
情報をダウンロード可能な状態と不可能な状態とのいずれかに切り替わる通信装置と通信する通信部と、
前記通信部が前記通信装置から、前記通信装置が自発的に送信する上り情報を受信したときに、前記通信部を用いて前記通信装置との疎通確認を行う疎通確認処理部と、
前記疎通確認処理部によって前記通信装置との疎通が確認された場合、前記通信装置にダウンロードさせる情報を、前記通信部を用いて前記通信装置へ送信するダウンロード管理部と、
を備えるサーバ装置。
【請求項２】
前記ダウンロード管理部は、ダウンロードの開始前に、前記ダウンロードさせる情報の送信を開始することを示す通知情報を前記通信装置へ送信する、
請求項１に記載のサーバ装置。
【請求項３】
前記通信装置は、情報の受信が所定時間以上無い場合、情報をダウンロード可能な状態から不可能な状態に切り替わり、
前記ダウンロード管理部は、前記所定時間未満の間隔で、前記ダウンロードさせる情報を、前記通信部を用いて前記通信装置へ送信する、
請求項１または２に記載のサーバ装置。
【請求項４】
前記ダウンロード管理部は、前記所定時間未満の間隔で、前記ダウンロードさせる情報を前記通信装置へ分割して送信する、
請求項３に記載のサーバ装置。
【請求項５】
前記ダウンロード管理部は、前記通信装置が前記ダウンロードさせる情報を受信できない場合、前記ダウンロードさせる情報を前記通信装置へ繰り返し送信する、
請求項１〜４のいずれか一項に記載のサーバ装置。
【請求項６】
前記サーバ装置は、複数の通信装置を管理し、
前記ダウンロード管理部は、前記複数の通信装置のうち着目する通信装置を除いた通信装置の中で、前記ダウンロードさせる情報を送信している現在の通信装置の数を示す接続台数を計測し、前記接続台数が閾値以下の場合に、前記着目する通信装置へ前記ダウンロードさせる情報を送信する、
請求項１〜５のいずれか一項に記載サーバ装置。
【請求項７】
前記疎通確認処理部は、前記接続台数が閾値を超える場合、前記接続台数が閾値以下となるまで、前記着目する通信装置との疎通確認を行う、
請求項６に記載のサーバ装置。
【請求項８】
前記疎通確認処理部は、前記ダウンロードさせる情報の送信が開始される際に、前記通信装置との疎通確認を停止する、
請求項１〜７のいずれか一項に記載サーバ装置。
【請求項９】
前記通信装置は、情報の受信が所定時間以上無い場合、情報をダウンロード可能な状態から不可能な状態に切り替わり、
前記疎通確認処理部は、前記所定時間未満の間隔で前記疎通確認を行う、
請求項１〜８のいずれか一項に記載のサーバ装置。
【請求項１０】
前記サーバ装置は、複数の通信装置を管理し、
前記複数の通信装置は、マルチホップ通信を行って前記上り情報を前記サーバ装置にアップロードし、
前記ダウンロード管理部は、前記マルチホップ通信によりアップロードしてきた通信装置へ前記ダウンロードさせる情報を送信する、
請求項１〜９のいずれか一項に記載のサーバ装置。
【請求項１１】
情報をダウンロード可能な状態と不可能な状態とのいずれかに切り替わる通信装置と通信する通信部を備える装置のコンピュータに、
前記通信部が前記通信装置から、前記通信装置が自発的に送信する上り情報を受信したときに、前記通信部を用いて前記通信装置との疎通確認を行わせ、
前記疎通確認によって前記通信装置との疎通が確認された場合、前記通信装置にダウンロードさせる情報を、前記通信部を用いて前記通信装置へ送信させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、サーバ装置、及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを介して上位のサーバ装置が下位の通信装置と接続するシステムが普及している。この種の通信装置の中には、例えば、電池の消費量を抑えるため、一定期間、通信を行わない状態を続けた場合に、プリザベーション状態へ移行するものが存在する。例えば、各家庭の使用電力を計測するスマートメータなどの通信装置は、定期的にサーバ装置へ、使用電力の情報といった上りの情報を送信し、一定期間が経過すると、プリザベーション状態へ移行する。通信装置は、上りの情報を送信した後、プリザベーション状態へ移行する前の一定期間は、サーバ装置から情報をダウンロード可能な状態となるが、一定期間が経過するとダウンロード不可の状態（プリザベーション状態）となる。通信装置がプリザベーション状態へ移行してしまうと、サーバ装置から情報を受信することができないため、サーバ装置の主導で通信装置に効率よく情報をダウンロードさせることができなくなる場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３５７０８４号公報
【特許文献２】国際公開第２０１８／０８４１７８号
【特許文献３】特開２００８−２９４９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、通信装置に効率よく情報をダウンロードさせることができる、サーバ装置、及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態のサーバ装置は、通信部と、疎通確認処理部と、ダウンロード管理部と、を持つ。通信部は、情報をダウンロード可能な状態と不可能な状態とのいずれかに切り替わる通信装置と通信する。疎通確認処理部は、前記通信部が前記通信装置から、前記通信装置が自発的に送信する上り情報を受信したときに、前記通信部を用いて前記通信装置との疎通確認を行う。ダウンロード管理部は、前記疎通確認処理部によって前記通信装置との疎通が確認された場合、前記通信装置にダウンロードさせる情報を、前記通信部を用いて前記通信装置へ送信する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係るネットワークシステム１の全体構成の一例を示す図。
【図２】記憶部１１２に記憶される通信装置情報２００の一例を示す図。
【図３】第１の実施形態に係るネットワークシステム１における処理の流れの一例を示すシーケンス図。
【図４】第１の実施形態に係るサーバ装置１１０が行うファームウェアデータの送信処理の一例を示すフローチャート。
【図５】第２の実施形態に係るネットワークシステム１の全体構成の一例を示す図。
【図６】第２の実施形態に係るネットワークシステム１における処理の流れの一例を示すシーケンス図である。
【図７】第２の実施形態に係るサーバ装置１１０が行うファームウェアデータの送信処理の一例を示すフローチャート。
【図８】第３の実施形態に係るネットワークシステム１の全体構成の一例を示す図。
【図９】第３の実施形態に係るネットワークシステム１における処理の流れの一例を示すシーケンス図。
【図１０】第３の実施形態に係るサーバ装置１１０が行うファームウェアデータの送信処理の一例を示すフローチャート。
【図１１】第３の実施形態の変形例に係るネットワークシステム１における処理の流れの一例を示すシーケンス図。
【発明を実施するための形態】
【０００７】
以下、実施形態のサーバ装置、及びプログラムを、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態に係るネットワークシステム１の全体構成の一例を示す図である。ネットワークシステム１は、サーバ装置１１０と、複数の通信装置１２０とを含む。サーバ装置と、通信装置１２０とは、不図示のネットワークを介して互いに通信する。ネットワークは、例えば、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、セルラー網、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near field communication）、赤外線通信などを含む。
【０００９】
サーバ装置１１０は、通信装置１２０にダウンロードさせる情報を管理するコンピュータ装置である。ダウンロードとは、上位の装置から下位の装置へデータ情報を送信し、下位の装置の記憶部に格納させることである。ダウンロードさせる情報は、例えば、下位の装置が実行するファームウェアデータである。ただし、ダウンロードさせる情報は、ファームウェアデータに限らず、画像や動画などのデータでもよいし、災害時の情報などでもよい。なお、図１において、１台のサーバ装置１１０を示しているが、複数台のサーバ装置１００が配置されていてもよい。
【００１０】
通信装置１２０は、例えば、分散して互いに異なる位置に配置される。例えば、通信装置１２０は、家庭等に設置され、使用された電力を計測するスマートメータである。通信装置１２０は、サーバ装置１１０から情報をダウンロード可能な状態と不可能な状態（プリザベーション状態）とのいずれかに切り替わる。通信装置１２０は、情報の受信が所定時間以上無い場合、プリザベーション状態に切り替わる。なお、通信装置１２０は、スマートメータに限らず、例えば、ガスや水道などの計測機能を備えた通信装置でもよいし、温度や湿度などのセンサ機能を備えた通信装置でもよい。
【００１１】
また、通信装置１２０は、自発的に上り情報（以下「上りパケット」という。）をサーバ装置１１０へ送信する。具体的には、複数の通信装置１２０のそれぞれは、第１所定期間（例えば３０分）が経過するごとに、サーバ装置１１０に上りパケットを送信する。上りパケットには、例えば、通信装置１２０を識別する識別情報や、使用された電力の情報が含まれる。サーバ装置１１０は、上りパケットを定期的に受信することにより、各家庭における第１所定期間ごとの電力の使用結果を取得することができる。
【００１２】
また、通信装置１２０は、上りパケットを送信した後や情報を受信した後、第２所定時間の間、通信を行わなかった場合に、プリザベーション状態へ自動的に移行する。第２所定時間は、例えば５分程度の時間である。第２所定時間は、第１所定期間よりも短い。以下において、第２所定時間を「プリザベーション移行時間」という場合がある。
【００１３】
次に、サーバ装置１１０の機能的構成について説明する。サーバ装置１１０は、ネットワーク通信部１１１と、記憶部１１２と、疎通確認処理部１１３と、ダウンロード管理部１１４と、を備える。疎通確認処理部１１３と、ダウンロード管理部１１４は、例えば、ＣＰＵ（Central Processing Unit）などのハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）などのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの記憶装置（非一過性の記憶媒体を備える記憶装置）に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体（非一過性の記憶媒体）に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００１４】
ネットワーク通信部１１１は、通信装置１２０と通信するための通信インターフェースである。ネットワーク通信部１１１は、通信装置１２０から上りパケットを受信したり、通信装置１２０へファームウェアデータを送信したりする。
【００１５】
ここで、上りの通信と、下りの通信との相違について補足する。通信装置１２０から送信される上りパケットは、ネットワーク通信部１１１によって、ほぼ受信される。一方で、ネットワーク通信部１１１から送信されるファームウェアデータは、通信環境が良好でない場合や、通信装置１２０がプリザベーション状態である場合など、通信装置１２０によって受信されないことがある。すなわち、ネットワークシステム１において、上りの通信が可能である場合でも、下りの通信が不可能な場合がある。
【００１６】
記憶部１１２は、例えば、ＨＤＤやフラッシュメモリ、ＲＡＭ（Random Access Memory）などである。記憶部１１２は、最新版のファームウェアデータを記憶する。また、記憶部１１２は、複数の通信装置１２０のそれぞれに適用されているファームウェアデータのバージョンなどを含む通信装置情報を記憶する。通信装置情報の詳細については、図２を用いて後述する。なお、記憶部１１２に記憶される最新版のファームデータは、操作スタッフの手作業によって記憶媒体から取得されたものでもよいし、他の装置から通信によって取得されたものであってもよい。なお、図１において、記憶部１１２は、サーバ装置１１０に配置されているが、これに限らず、サーバ装置１１０の外部に設けられていてもよい。
【００１７】
疎通確認処理部１１３は、ネットワーク通信部１１１が通信装置１２０から上りパケットを受信したときに、ネットワーク通信部１１１を用いて通信装置１２０との疎通確認を行う。疎通確認は、通信装置１２０がファームウェアデータをダウンロードできるか否かを確認する動作である。疎通確認処理部１１３は、通信装置１２０からの応答がある場合に、通信装置１２０との疎通（接続）が確認されたと判断する。一方で、疎通確認処理部１１３は、通信装置１２０からの応答がない場合に、通信装置１２０と接続されていないと判断する。
【００１８】
具体的には、疎通確認処理部１１３は、ネットワーク通信部１１１を介して、通信装置１２０へ疎通確認パケットを送信する。疎通確認処理部１１３は、通信装置１２０へ疎通確認パケットを送信することにより、通信装置１２０から応答を示す疎通応答パケットを受信するか否かによって疎通確認を行う。なお、疎通確認パケットには、例えば、ＩＣＭＰ（Internet Control Message Protocol）の「Ｐｉｎｇ」などが用いられる。
【００１９】
また、疎通確認処理部１１３は、通信装置１２０との接続が保持される間隔で通信装置１２０との疎通確認を行う。具体的には、疎通確認処理部１１３は、プリザベーション移行時間よりも短い間隔（第３所定期間）で疎通確認を行う。
【００２０】
ダウンロード管理部１１４は、疎通確認処理部１１３によって通信装置１２０との疎通が確認された場合、ネットワーク通信部１１１を用いて、通信装置１２０にファームウェアデータを送信する。一方で、ダウンロード管理部１１４は、疎通確認処理部１１３によって通信装置１２０との疎通が確認されない場合、通信装置１２０にファームウェアデータを送信しない。
【００２１】
ここで、ダウンロード管理部１１４が行うファームウェアデータの送信について、具体的に説明する。ダウンロード管理部１１４は、前提として、複数の通信装置１２０におけるダウンロードの実行状況を管理する。ダウンロード管理部１１４は、記憶部１１２を参照し、最新版のファームウェアデータが適用されていない通信装置１２０を抽出する。例えば、ダウンロード管理部１１４は、第１所定数（例えば、１０００万台）の通信装置１２０を管理しており、その中から最新版のファームウェアデータが適用されていない第２所定数（例えば、１万台）の通信装置１２０を抽出する。なお、以下において、最新版のファームウェアデータが適用されていない通信装置１２０を「更新対象の通信装置１２０」という。
【００２２】
ダウンロード管理部１１４は、上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であるか否かを判断する。そして、ダウンロード管理部１１４は、上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であると判断した場合、疎通確認処理部１１３に疎通確認の開始指示を疎通確認処理部１１３へ送信する。これにより、疎通確認処理部１１３は、当該通信装置１２０との疎通確認を行う。
【００２３】
ただし、上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であるか否かを判断する処理は、ダウンロード管理部１１４ではなく、疎通確認処理部１１３が行ってもよい。すなわち、疎通確認処理部１１３は、ネットワーク通信部１１１から上りパケットを受信して、当該上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であるか否かを判断して、当該通信装置１２０との疎通確認を行うようにしてもよい。
【００２４】
ここで、上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であるか否かを判断する手法の具体例について、図２に示す通信装置情報２００を参照して説明する。
【００２５】
図２は、記憶部１１２に記憶される通信装置情報２００の一例を示す図である。図２にように、通信装置情報２００は、通信装置１２０の識別情報に対して、通信装置１２０のアドレス情報と、ファームウェアデータのバージョン情報と、最新版への更新の有無を示す更新情報とが対応付けられた情報である。
【００２６】
識別情報は、通信装置１２０に固有の情報である。アドレス情報は、通信装置１２０の宛先を示す情報である。ファームウェアデータのバージョン情報は、通信装置１２０に適用されているファームウェアデータのバージョンを示す情報である。更新情報は、最新版に更新されているか否かを示す情報である。
【００２７】
一例を挙げると、通信装置情報２００の一つのレコードには、識別情報が「Ａ００１」であり、ファームウェアデータのバージョン情報が「Ｖｅｒ．〇×」であり、更新情報が「未更新」である情報が登録されている。
【００２８】
ダウンロード管理部１１４は、更新情報が「未更新」となっている通信装置情報２００を予め抽出しておく。そして、ダウンロード管理部１１４は、上りパケットに含まれる識別情報が、予め抽出した通信装置情報２００に含まれる識別情報であるか否かを判断する。これにより、ダウンロード管理部１１４は、上りパケットを送信した通信装置１２０が、更新対象の通信装置１２０であるか否かを判断することが可能である。
【００２９】
ただし、ダウンロード管理部１１４は、更新情報が「未更新」となっている通信装置情報２００を予め抽出しておかなくてもよい。例えば、ダウンロード管理部１１４は、上りパケットが受信される度に、記憶部１１２に記憶される通信装置情報２００を参照し、上りパケットに含まれる識別情報と同じ識別情報を含む通信装置情報２００を特定し、特定した通信装置情報２００の更新情報が「未更新」であるか否かを判断してもよい。このようにしても、ダウンロード管理部１１４は、上りパケットを送信した通信装置１２０が、更新対象の通信装置１２０であるか否かを判断することが可能である。
【００３０】
なお、図２に示す通信装置情報には、ファームウェアデータのバージョン情報や更新情報が含まれているが、更新情報が含まれていなくてもよい。この場合、ダウンロード管理部１１４は、最新のバージョンを管理しておき、上りパケットから得られるバージョンが最新のバージョンではない場合に、当該上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であると判断してもよい。このようにしても、ダウンロード管理部１１４は、上りパケットを送信した通信装置１２０が、更新対象の通信装置１２０であるか否かを判断することが可能である。
【００３１】
ダウンロード管理部１１４は、上りパケットを送信した通信装置１２０が更新対象の通信装置１２０であると判断した場合、ファームウェアデータの送信準備を行う。ファームウェアデータの送信準備は、例えば、更新用のファームウェアデータを記憶部１１２から取得することである。ダウンロード管理部１１４は、ファームウェアデータの送信準備が完了すると、記憶部１１２から取得したファームウェアデータを通信装置１２０へ送信する。
【００３２】
また、ダウンロード管理部１１４は、ファームウェアデータの送信が完了すると、通信装置情報２００のうちの更新情報を「更新済」を示す内容に書き換える。
【００３３】
また、ダウンロード管理部１１４は、ダウンロードの開始前に、ファームウェアデータの送信を開始することを示す通知情報を通信装置１２０へ送信する。以下において、通知情報を「ダウンロード開始指示」という。ダウンロード開始指示は、通信装置１２０に対して、データを送信する旨の案内である。具体的には、ダウンロード開始指示には、例えば、送信するパケットの総量や、分割してパケットを送信する際の分割数などの情報が含まれる。
【００３４】
通信装置１２０は、ダウンロード開始指示を受信した場合、ファームウェアデータの更新の準備を行う。通信装置１２０が行うファームウェアデータの更新の準備は、例えば、プリザベーション移行時間の延長や、実行中のプログラムの停止などである。
【００３５】
通信装置１２０は、ダウンロード開始指示に従ってファームウェアデータを受信したか否かを判断する。通信装置１２０は、ダウンロード開始指示に従ってファームウェアデータを受信していないと判断した場合に、その旨を示す情報（例えばエラー情報）をサーバ装置１１０へ送信する。
【００３６】
ダウンロード管理部１１４は、ネットワーク通信部１１１によって通信装置１２０からエラー情報が受信された場合、当該通信装置１２０へファームウェアデータを再送信すればよい。
【００３７】
また、ダウンロード管理部１１４は、通信装置１２０との接続が保持される間隔でファームウェアデータを送信する。具体的には、ダウンロード管理部１１４は、プリザベーション移行時間よりも短い間隔（第４所定期間）でファームウェアデータを送信する。なお、第３所定期間と、第４所定期間とは、異なる期間としてもよいし、同等の期間としてもよい。
【００３８】
また、ダウンロード管理部１１４は、ネットワーク通信部１１１を用いて、プリザベーション移行時間未満の間隔でファームウェアデータを分割して送信する。ただし、ダウンロード管理部１１４は、ファームウェアデータを一括で送信してもよい。
【００３９】
また、ダウンロード管理部１１４は、通信装置１２０がファームウェアデータを受信できない場合、ネットワーク通信部１１１を用いて、ファームウェアデータを通信装置１２０へ繰り返し送信する。
【００４０】
また、疎通確認処理部１１３は、ダウンロード管理部１１４によって通信装置１２０へのファームウェアデータの送信が開始される際に、疎通確認を停止する。具体的に補足すると、ダウンロード管理部１１４は、ファームウェアデータの送信を開始する際に、疎通確認の停止指示を疎通確認処理部１１３へ送信する。疎通確認処理部１１３は、ダウンロード管理部１１４から送信された疎通確認の停止指示を受信した場合、疎通確認を停止する。
【００４１】
次に、図３は、第１の実施形態に係るネットワークシステム１における処理の流れの一例を示すシーケンス図である。図３において、サーバ装置１１０の疎通確認処理部１１３は、ネットワーク通信部１１１を用いて、更新対象の複数の通信装置１２０に対して随時、疎通確認パケットを送信する（ステップＳ３０１）。ネットワーク通信部１１１から送信された疎通確認パケットは、通信装置１２０によって受信されない場合、破棄される（ステップＳ３０２）。
【００４２】
通信装置１２０は、定期的（例えば、３０分おき）にサーバ装置１１０へ、上りパケットを送信する（ステップＳ３０３）。ネットワーク通信部１１１が通信装置１２０から送信された上りパケットを受信すると、疎通確認処理部１１３は、当該通信装置１２０へ疎通確認パケットを送信する（ステップＳ３０４）。なお、疎通確認処理部１１３は、当該通信装置１２０との通信が途切れない間隔で、繰り返し疎通確認パケットを送信する。また、ダウンロード管理部１１４は、ネットワーク通信部１１１から上りパケットを受信すると、当該通信装置１２０へのファームウェアデータの送信準備を開始する。
【００４３】
そして、通信装置１２０は、サーバ装置１１０から疎通確認パケットを受信すると、疎通確認パケットに対する疎通応答パケットをサーバ装置１１０へ送信する（ステップＳ３０５）。ステップＳ３０４のサーバ装置１１０による疎通確認パケットの送信と、ステップＳ３０５の通信装置１２０による疎通応答パケットの送信とは、サーバ装置１１０におけるファームウェアデータの送信準備が完了するまで繰り返し行われる。これにより、サーバ装置１１０は、通信装置１２０を、ダウンロード可能な状態に保持させることができる。
【００４４】
ダウンロード管理部１１４は、ファームウェアデータの送信準備が完了すると、ネットワーク通信部１１１を用いて、通信装置１２０へファームウェアデータのダウンロード開始指示を送信する（ステップＳ３０６）。この後、ダウンロード管理部１１４は、ネットワーク通信部１１１を用いて、通信装置１２０との通信が途切れない間隔で、ファームウェアデータを分割して送信する（ステップＳ３０７）。
【００４５】
なお、ダウンロード管理部１１４は、通信装置１２０がファームウェアデータを受信できない場合は、繰り返しファームウェアデータを送信する。そして、ファームウェアデータの送信が完了すると、ダウンロード管理部１１４は、記憶部１１２に記憶される通信装置情報２００（図２参照）を更新する。
【００４６】
次に、図４を用いて、サーバ装置１１０が行うファームウェアデータの送信処理の一例について説明する。図４は、第１の実施形態に係るサーバ装置１１０が行うファームウェアデータの送信処理の一例を示すフローチャートである。図４において、ダウンロード管理部１１４は、ネットワーク通信部１１１が通信装置１２０から上りパケットを受信したか否かを判断する（ステップＳ４０１）。
【００４７】
ダウンロード管理部１１４は、ネットワーク通信部１１１が通信装置１２０から上りパケットを受信するまで待機する。ネットワーク通信部１１１は、通信装置１２０から上りパケットを受信すると、受信した上りパケットをダウンロード管理部１１４へ送信する。そして、ダウンロード管理部１１４は、上りパケットに含まれる識別情報を用いて、通信装置１２０を特定する（ステップＳ４０２）。
【００４８】
そして、ダウンロード管理部１１４は、特定した通信装置１２０が、事前に抽出した更新対象の通信装置１２０であるか否かを判断する（ステップＳ４０３）。特定した通信装置１２０が更新対象の通信装置１２０ではない場合、ステップＳ４０１に戻る。
【００４９】
一方、特定した通信装置１２０が更新対象の通信装置１２０である場合、ダウンロード管理部１１４は、ファームウェアデータの送信準備を開始する（ステップＳ４０４）。具体的には、ステップＳ４０４において、ダウンロード管理部１１４は、記憶部１１２を参照し、ファームウェアデータの呼び出しを行い、記憶部１１２からファームウェアデータを取得する。
【００５０】
そして、疎通確認処理部１１３は、通信装置１２０へ、疎通確認パケットの送信を開始する（ステップＳ４０５）。なお、疎通確認処理部１１３は、通信装置１２０との通信が途切れない間隔で、繰り返し疎通確認パケットを通信装置１２０へ送信する。
【００５１】
次に、疎通確認処理部１１３は、ネットワーク通信部１１１が通信装置１２０から疎通応答パケットを受信したか否かを判断する（ステップＳ４０６）。なお、ネットワーク通信部１１１が通信装置１２０から疎通応答パケットを受信したか否かを判断した判断結果は、逐次、疎通確認処理部１１３からダウンロード管理部１１４へ送信される。
【００５２】
ネットワーク通信部１１１が疎通応答パケットを受信しない場合、ダウンロード管理部１１４は、ファームウェアデータの送信準備が完了したか否かを判断する（ステップＳ４０７）。
【００５３】
ファームウェアデータの送信準備が完了していない場合、ステップＳ４０６に戻る。なお、ファームウェアデータの送信準備が完了していない場合、一定期間、ネットワーク通信部１１１が通信装置１２０から疎通応答パケットを受信しないときには、すなわち、通信装置１２０との通信接続が切断されたと見なせるときには、一連の処理を終了する。ファームウェアデータの送信準備が完了した場合、ダウンロード管理部１１４は、ファームウェアデータの送信準備の停止処理を実行済みであるか否かを判断する（ステップＳ４０８）。ファームウェアデータの送信準備の停止処理を実行済みである場合、ステップＳ４０６に戻る。
【００５４】
ファームウェアデータの送信準備の停止処理を実行済みではない場合（ステップＳ４０８）、ダウンロード管理部１１４は、ファームウェアデータの送信準備の停止処理を実行し（ステップＳ４０９）、ステップＳ４０６に戻る。
【００５５】
ステップＳ４０６において、ネットワーク通信部１１１が通信装置１２０から疎通応答パケットを受信した場合、ダウンロード管理部１１４は、ファームウェアデータの送信準備が完了したか否かを判断する（ステップＳ４１０）。ファームウェアデータの送信準備が完了していない場合、ダウンロード管理部１１４は、待機する。
【００５６】
一方、ファームウェアデータのダウンロードの準備が完了した場合、ダウンロード管理部１１４は、疎通確認処理部１１３へ疎通確認の停止指示を送信する。そして、疎通確認処理部１１３は、疎通確認パケットの送信を停止する（ステップＳ４１１）。
【００５７】
そして、ダウンロード管理部１１４は、ファームウェアデータの送信準備の停止処理を実行する（ステップＳ４１２）。さらに、ダウンロード管理部１１４は、ネットワーク通信部１１１を用いて、ダウンロード開始指示を通信装置１２０へ送信する（ステップＳ４１３）。次いで、ダウンロード管理部１１４は、通信が切れない間隔で分割してファームウェアデータを送信し（ステップＳ４１４）、一連の処理を終了する。
【００５８】
また、ファームウェアデータを送信すると、ダウンロード管理部１１４は、対象の通信装置１２０について、記憶部１１２に記憶される通信装置情報２００（図２参照）のうちの更新情報を「更新済」を示す内容に更新する。なお、通信装置１２０は、ダウンロードが完了すると、サーバ装置１１０へ、ダウンロードが完了した旨を示す完了通知を送信してもよい。また、ダウンロード管理部１１４は、当該完了通知を受信した場合に、記憶部１１２に記憶される通信装置情報２００（図２参照）のうちの更新情報を「更新済」を示す内容に更新してもよい。
【００５９】
上述した処理により、サーバ装置１１０は、通信装置１２０へファームウェアデータを送信し、通信装置１２０にファームウェアデータをダウンロードさせることができる。
【００６０】
以上説明した第１の実施形態のサーバ装置１１０によれば、通信装置１２０から上りパケットを受信した場合に、疎通確認を行い、疎通が確認されたときに、通信装置１２０にファームウェアデータを送信するようにした。これにより、サーバ装置１１０は、通信装置１２０がプリザベーション状態に切り替わる前に、通信装置１２０にファームウェアデータを送信することができる。
【００６１】
したがって、例えば、作業スタッフが、通信装置１２０の配置される現地まで赴いて１台ずつ手作業でファームウェアデータを更新するといった作業を行わなくても、通信装置１２０に効率よくファームウェアデータをダウンロードさせることができる。このため、通信装置１２０にファームウェアデータをダウンロードさせる際の作業負荷を軽減させ、簡単にファームウェアデータをダウンロードさせることができる。これにより、ネットワークシステム１の利便性を向上させることができる。
【００６２】
また、サーバ装置１１０は、ダウンロードの開始前に、ファームウェアデータの送信を開始することを示すダウンロード開始指示を通信装置１２０へ送信するようにした。これにより、サーバ装置１１０は、通信装置１２０にファームウェアデータの更新の準備を行わせることができる。したがって、サーバ装置１１０は、通信装置１２０にファームウェアデータを正確にダウンロードさせることができる。
【００６３】
また、サーバ装置１１０は、プリザベーション移行時間よりも短い間隔でファームウェアデータを通信装置１２０に送信するようにした。これにより、サーバ装置１１０は、通信装置１２０がプリザベーション状態に切り替わる前に、通信装置１２０にファームウェアデータを送信することができる。したがって、通信装置１２０にファームウェアデータを正確にダウンロードさせることができる。
【００６４】
また、サーバ装置１１０は、プリザベーション移行時間よりも短い間隔でファームウェアデータを分割して送信するようにした。したがって、サーバ装置１１０は、一度に送信するファームウェアデータのデータ量を抑えることができるため、通信装置１２０にファームウェアデータを正確に受信させることができる。
【００６５】
また、サーバ装置１１０は、通信装置１２０がファームウェアデータを受信できない場合、ファームウェアデータを通信装置１２０へ繰り返し送信するようにした。したがって、サーバ装置１１０は、通信装置１２０にファームウェアデータを正確にダウンロードさせることができる。
【００６６】
また、サーバ装置１１０は、ファームウェアデータの送信を開始する際に、通信装置１２０との疎通確認を停止するようにした。これにより、サーバ装置１１０は、ファームウェアデータの送信中に疎通確認パケットを送信しないため、ファームウェアデータの送信時における処理の負荷を軽減することができ、ファームウェアデータを効率よく送信することができる。また、通信装置１２０は、疎通確認パケットを受信しないため、ファームウェアデータを効率よく受信することができる。したがって、サーバ装置１１０は、通信装置１２０にファームウェアデータを正確にダウンロードさせることができる。
【００６７】
また、サーバ装置１１０は、プリザベーション移行時間よりも短い間隔で通信装置１２０との疎通確認を行うようにした。これにより、サーバ装置１１０は、通信装置１２０をプリザベーション状態へ移行させないようにすることができるとともに、通信装置１２０との接続状態を確保することができる。また、サーバ装置１１０は、通信装置１２０ダウンロードが可能な通信装置１２０へ順次ファームウェアデータを送信することができる。このため、サーバ装置１１０は、効率的に、通信装置１２０にファームウェアデータをダウンロードさせることができる。
【００６８】
（第２の実施形態）
次に、ネットワークシステム１の第２の実施形態について説明する。上述した第１の実施形態では、ダウンロード中の他の通信装置１２０を考慮せずに通信装置１２０にダウンロードを開始させるサーバ装置１１０について説明した。第２の実施形態では、着目する通信装置１２０にファームウェアデータをダウンロードさせる際に、ダウンロード中の他の通信装置１２０の数を考慮して、ファームウェアデータの送信の可否を決定するサーバ装置１１０について説明する。なお、以下の各実施形態において、第１の実施形態で説明した内容と同様の内容については、同様の符号を付すとともに、適宜説明を省略する。
【００６９】
図５は、第２の実施形態に係るネットワークシステム１の全体構成の一例を示す図である。第２の実施形態において、ダウンロード管理部１１４は、台数管理処理部５０１と、保存処理部５０２とを備える。第２の実施形態の前提として、ダウンロード管理部１１４は、記憶部１１２を参照し、更新対象の通信装置１２０へ送信するファームウェアデータを記憶部１１２から取得する。ダウンロード管理部１１４は、取得したファームウェアデータを保存処理部５０２に保存する。ここでいう、保存処理部５０２に保存するファームウェアデータは、更新対象の第２所定数（例えば、１万台）のうち、例えば、第３所定数（例えば、数十台）分のファームウェアデータである。
【００７０】
なお、各通信装置１２０からは、第１所定期間（例えば３０分）間隔で上りパケットが送信される。このため、ダウンロード管理部１１４は、上りパケットを受信した時間を通信装置１２０ごとに計測することにより、更新対象の通信装置１２０のうち、近々上りパケットを送信する可能性のある通信装置１２０を予測することが可能である。そこで、ダウンロード管理部１１４は、予測した通信装置１２０に送信するファームウェアデータを記憶部１１２から取得して保存処理部５０２に保存しておいてもよい。
【００７１】
台数管理処理部５０１は、複数の通信装置１２０のうち着目する通信装置１２０以外の通信装置１２０の中で、ダウンロードさせている通信装置１２０の数を示す接続台数を計測する。また、台数管理処理部５０１は、ダウンロード中の通信装置１２０の台数が閾値以下であるか否かを判断する。閾値は、例えば、数十台である。ただし、閾値は、任意の値に設定することが可能である。
【００７２】
ダウンロード管理部１１４は、台数管理処理部５０１によって、ダウンロード中の通信装置１２０の台数が閾値以下であると判断された場合、着目する通信装置１２０へ、ファームウェアデータの送信を開始する。送信するファームウェアデータは、保存処理部５０２に保存されているファームウェアデータである。
【００７３】
一方で、台数管理処理部５０１によって、ダウンロード中の通信装置１２０の台数が閾値を超えると判断された場合、疎通確認処理部１１３は、通信装置１２０にダウンロードの開始を待機させる。具体的には、疎通確認処理部１１３は、通信装置１２０との接続状態を保持させて、通信装置１２０にダウンロードの開始を待機させる。そして、ダウンロード中の通信装置１２０の台数が閾値以下になると、ダウンロード管理部１１４は、ファームウェアデータの送信を開始する。
【００７４】
図６は、第２の実施形態に係るネットワークシステム１における処理の流れの一例を示すシーケンス図である。図６において、サーバ装置１１０の疎通確認処理部１１３は、ネットワーク通信部１１１を用いて、更新対象の複数の通信装置１２０に対して随時、疎通確認パケットを送信する（ステップＳ６０１）。ネットワーク通信部１１１から送信された疎通確認パケットは、通信装置１２０によって受信されない場合、破棄される（ステップＳ６０２）。
【００７５】
通信装置１２０は、定期的（例えば、３０分おき）にサーバ装置１１０へ、上りパケットを送信する（ステップＳ６０３）。ネットワーク通信部１１１は、通信装置１２０から送信された上りパケットを受信すると、ダウンロード管理部１１４へ上りパケットを送信する。
【００７６】
ここで、台数管理処理部５０１が、現在のダウンロード中の通信装置１２０の台数が閾値を超えると判断したとする。この場合、疎通確認処理部１１３は、ネットワーク通信部１１１を用いて、上りパケットを送信した通信装置１２０との通信が途切れない間隔で、繰り返し疎通確認パケットを送信する（ステップＳ６０４）。
【００７７】
通信装置１２０は、サーバ装置１１０から疎通確認パケットを受信すると、疎通確認パケットに対する疎通応答パケットをサーバ装置１１０へ送信する（ステップＳ６０５）。ステップＳ６０４のサーバ装置１１０による疎通確認パケットの送信と、ステップＳ６０５の通信装置１２０による疎通応答パケットの送信とは、現在のダウンロード中の通信装置１２０の台数が閾値以下になるまで繰り返し行われる。これにより、サーバ装置１１０は、通信装置１２０を、ダウンロード可能な状態に保持させることができる。
【００７８】
そして、台数管理処理部５０１によって現在のダウンロード中の通信装置１２０の台数が閾値以下であると判断されると、ダウンロード管理部１１４は、ネットワーク通信部１１１を用いて、通信装置１２０へ、ファームウェアデータのダウンロード開始指示を送信する（ステップＳ６０６）。
【００７９】
そして、ダウンロード管理部１１４は、ネットワーク通信部１１１を用いて、通信装置１２０との通信が途切れない間隔で、ファームウェアデータを分割して送信する（ステップＳ６０７）。通信装置１２０は、ダウンロードが完了すると、サーバ装置１１０へ、ダウンロードが完了した旨を示す完了通知を送信する（ステップＳ６０８）。
【００８０】
そして、ネットワーク通信部１１１は、通信装置１２０から完了通知を受信すると、ダウンロード管理部１１４へ完了通知を送信する。ダウンロード管理部１１４がネットワーク通信部１１１から完了通知を受信すると、台数管理処理部５０１は、現在のダウンロード中の通信装置１２０の台数から「１」を減じる。また、ダウンロード管理部１１４は、ネットワーク通信部１１１から完了通知を受信すると、記憶部１１２に記憶される通信装置情報２００（図２参照）を更新する。
【００８１】
図７は、第２の実施形態に係るサーバ装置１１０が行うファームウェアデータの送信処理の一例を示すフローチャートである。図７において、ダウンロード管理部１１４は、更新対象の通信装置１２０を抽出する（ステップＳ７０１）。そして、ダウンロード管理部１１４は、ファームウェアデータのダウンロードの準備（送信準備）を行う（ステップＳ７０２）。具体的には、ダウンロード管理部１１４は、更新対象の通信装置１２０へ送信するファームウェアデータを記憶部１１２から取得して、保存処理部５０２に保存する。
【００８２】
そして、ダウンロード管理部１１４は、ネットワーク通信部１１１が通信装置１２０から上りパケットを受信したか否かを判断する（ステップＳ７０３）。ダウンロード管理部１１４は、ネットワーク通信部１１１が通信装置１２０から上りパケットを受信しない場合、待機する。ネットワーク通信部１１１は、通信装置１２０から上りパケットを受信すると、受信した上りパケットをダウンロード管理部１１４へ送信する。そして、ダウンロード管理部１１４は、上りパケットに含まれる識別情報を用いて、通信装置１２０を特定する（ステップＳ７０４）。
【００８３】
そして、ダウンロード管理部１１４は、特定した通信装置１２０が、事前に抽出した更新対象の通信装置１２０であるか否かを判断する（ステップＳ７０５）。特定した通信装置１２０が更新対象の通信装置１２０ではない場合、ステップＳ７０３に戻る。一方、特定した通信装置１２０が更新対象の通信装置１２０である場合、台数管理処理部５０１は、ダウンロード中の通信装置１２０の台数が閾値以下であるか否かを判断する（ステップＳ７０６）。
【００８４】
ダウンロード中の通信装置１２０の台数が閾値以下の場合、ステップＳ７１０に移行する。ダウンロード中の通信装置１２０の台数が閾値を超える場合、疎通確認処理部１１３は、特定した通信装置１２０へ、疎通確認パケットの送信を開始する（ステップＳ７０７）。そして、台数管理処理部５０１は、ダウンロード中の台数が閾値以下となったか否かを判断する（ステップＳ７０８）。
【００８５】
台数管理処理部５０１は、ダウンロード中の通信装置１２０の台数が閾値以下となるまで待機する。この待機中も、疎通確認処理部１１３は、通信装置１２０との通信が途切れない間隔で繰り返し疎通確認パケットを送信し続ける。また、不図示であるが、通信装置１２０からは疎通確認パケットに対する疎通応答パケットが送信される。これにより、サーバ装置１１０と、通信装置１２０との接続状態が保持される。
【００８６】
台数管理処理部５０１によって、ダウンロード中の通信装置１２０の台数が閾値以下になったと判断されると、ダウンロード管理部１１４は、疎通確認処理部１１３へ疎通確認の停止指示を送信する。そして、疎通確認処理部１１３は、疎通確認パケットの送信を停止する（ステップＳ７０９）。次に、ダウンロード管理部１１４は、ファームウェアデータのダウンロードの開始指示を送信する（ステップＳ７１０）。この後、ダウンロード管理部１１４は、通信が切れない間隔でファームウェアデータを分割して送信する（ステップＳ７１１）。
【００８７】
次に、ネットワーク通信部１１１が通信装置１２０から、ダウンロードの完了通知を受信したか否かを判断する（ステップＳ７１２）。ネットワーク通信部１１１がダウンロードの完了通知を受信するまで待機する。なお、ダウンロード管理部１１４は、この待機中も、ファームウェアデータの送信が完了するまでは、通信装置１２０との通信が途切れない間隔で繰り返しファームウェアデータを送信し続ける。
【００８８】
ネットワーク通信部１１１がダウンロードの完了通知を受信すると、ダウンロード管理部１１４は、通信装置１２０のダウンロードを終了させる（ステップＳ７１３）。そして、台数管理処理部５０１は、ダウンロード中の通信装置１２０の台数から「１」を減算し（ステップＳ７１４）、一連の処理を終了する。なお、この後、ステップＳ７０１に戻り、ダウンロード管理部１１４は、次の更新対象の通信装置１２０を抽出すればよい。
【００８９】
以上説明した、第２の実施形態のサーバ装置１１０は、ダウンロード中の通信装置の台数が閾値以下の場合に、ファームウェアデータを通信装置１２０に送信するようにした。したがって、サーバ装置１１０は、ダウンロード可能な通信装置１２０から、順次、ダウンロードさせることができる。また、更新対象の通信装置１２０へ送信するファームウェアデータを保存処理部５０２に一時的に記憶させるようにしたため、ファームウェアデータの送信準備を迅速に行うことができる。
【００９０】
また、サーバ装置１１０は、通信装置１２０の接続台数が閾値を超える場合、ダウンロード中の通信装置１２０の台数が閾値以下となるまで、通信装置１２０との疎通確認を行うようにした。したがって、通信装置１２０との接続状態を確保しておくことができ、当該通信装置１２０にファームウェアデータを正確にダウンロードさせることができる。したがって、第２の実施形態のサーバ装置１１０によれば、ファームウェアデータのダウンロードを効率よく行わせることができる。
【００９１】
（第３の実施形態）
次に、ネットワークシステム１の第３の実施形態について説明する。上述した第１の実施形態および第２の実施形態では、複数の通信装置１２０間の通信の有無を問わないネットワークシステム１について説明した。第３の実施形態では、通信装置１２０同士で通信を行うメッシュ型のネットワークシステム１について説明する。
【００９２】
図８は、第３の実施形態に係るネットワークシステム１の全体構成の一例を示す図である。第３の実施形態において、複数の通信装置１２０（第１通信装置１２０ａ、第２通信装置１２０ｂ、第３通信装置１２０ｃ）は、マルチホップ通信を行う。図８において、通信装置１２０の台数は、３台を示すが、実際には３台以上ある。マルチホップ通信は、各通信装置１２０がリレー方式でデータを中継する通信である。
【００９３】
図８において、複数の通信装置１２０のうち、例えば、第１通信装置１２０ａのみがサーバ装置１１０へ、上りパケットを送信可能なものとする。すなわち、第１通信装置１２０ａは、マルチホップ通信も可能であるし、サーバ装置１１０との上りの、マルチホップ通信とは異なる通信が可能である。また、第２通信装置１２０ｂおよび第３通信装置１２０ｃは、サーバ装置１１０へ上りパケットを直接送信することが不可能である。また、第１通信装置１２０ａ、第２通信装置１２０ｂ、および第３通信装置１２０ｃは、いずれも、ファームウェアデータをサーバ装置１１０から直接受信することが可能である。
【００９４】
なお、第３の実施形態のマルチホップ通信においては、上りパケットに加えて、疎通確認パケット、疎通応答パケット、および完了通知についても、送受可能とする。ただし、疎通確認パケット、疎通応答パケット、および完了通知については、マルチホップ通信によって送受されずに、各通信装置１２０とサーバ装置１１０との間で直接送受されてもよい。
【００９５】
また、ネットワークシステム１のマルチホップ通信において、第１通信装置１２０ａと第３通信装置１２０ｃとは、直接通信を行わず、第２通信装置１２０ｂを介して通信を行うものとする。このため、第３通信装置１２０ｃが生成した上りパケットは、第２通信装置１２０ｂを介して第１通信装置１２０ａに送信され、第１通信装置１２０ａからサーバ装置１１０へ送信される。また、第２通信装置１２０ｂが生成した上りパケットは、第１通信装置１２０ａに転送され、第１通信装置１２０ａからサーバ装置１１０へ送信される。
【００９６】
また、ダウンロード管理部１１４は、ネットワーク通信部１１１を用いて、第１通信装置１２０ａから上りパケットを受信すると、上りパケットに含まれる識別情報を用いて、当該上りパケットを生成した通信装置１２０（第１通信装置１２０〜第３通信装置１２０ｃのいずれか）を特定する。そして、ダウンロード管理部１１４は、特定した通信装置１２０へ、保存処理部５０２に保存されるファームウェアデータを直接送信する。
【００９７】
図９は、第３の実施形態に係るネットワークシステム１における処理の流れの一例を示すシーケンス図である。なお、以下の説明では、第１通信装置１２０〜第３通信装置１２０ｃのうち第３通信装置１２０ｃにファームウェアデータをダウンロードさせる場合について説明する。
【００９８】
図９において、サーバ装置１１０の疎通確認処理部１１３は、ネットワーク通信部１１１を用いて、更新対象の複数の通信装置１２０に対して随時、疎通確認パケットを送信する（ステップＳ９０１）。ネットワーク通信部１１１から送信された疎通確認パケットは、通信装置１２０によって受信されない場合、破棄される（ステップＳ９０２）。
【００９９】
各通信装置１２０は、定期的（例えば、３０分おき）に上りパケットを生成する。ここで、第３通信装置１２０ｃが上りパケットを生成したとする。第３通信装置１２０ｃは、マルチホップ通信により、第２通信装置１２０ｂへ上りパケットを送信する（ステップＳ９０４）。第２通信装置１２０ｂは、第３通信装置１２０ｃから上りパケットを受信すると、受信した上りパケットを、マルチホップ通信により第１通信装置１２０ａへ送信する（ステップＳ９０５）。第１通信装置１２０ａは、第２通信装置１２０ｂから、第３通信装置１２０ｃが生成した上りパケットを受信すると、受信した上りパケットをサーバ装置１１０へ送信する（ステップＳ９０６）。
【０１００】
サーバ装置１１０のネットワーク通信部１１１が第１通信装置１２０ａから送信された上りパケットを受信したとすると、ダウンロード管理部１１４へ上りパケットを送信する。ダウンロード管理部１１４は、ネットワーク通信部１１１から上りパケットを受信すると、当該上りパケットを生成した第３通信装置１２０ｃを特定する。
【０１０１】
そして、ダウンロード管理部１１４は、疎通確認処理部１１３に疎通確認の開始指示を送信する。そして、疎通確認処理部１１３は、ネットワーク通信部１１１を用いて、第３通信装置１２０ｃを宛先として、第１通信装置１２０ａへ疎通確認パケットを送信する（ステップＳ９０７）。
【０１０２】
第１通信装置１２０ａは、サーバ装置１１０から、第３通信装置１２０ｃ宛ての疎通確認パケットを受信すると、マルチホップ通信により、第２通信装置１２０ｂへ疎通確認パケットを送信する（ステップＳ９０８）。第２通信装置１２０ｂは、第１通信装置１２０ａから、第３通信装置１２０ｃ宛ての疎通確認パケットを受信すると、受信した疎通確認パケットを、マルチホップ通信により第３通信装置１２０ｃへ送信する（ステップＳ９０９）。
【０１０３】
第３通信装置１２０ｃは、第２通信装置１２０ｂから送信された疎通確認パケットを受信すると、疎通確認パケットに対する疎通応答パケットを生成する。そして、第３通信装置１２０ｃは、生成した疎通応答パケットをマルチホップ通信により第２通信装置１２０ｂへ送信する（ステップＳ９１０）。第２通信装置１２０ｂは、第３通信装置１２０ｃから疎通応答パケットを受信すると、受信した疎通応答パケットを、マルチホップ通信により第１通信装置１２０ａへ送信する（ステップＳ９１１）。第１通信装置１２０ａは、第２通信装置１２０ｂから、第３通信装置１２０ｃが生成した疎通応答パケットを受信すると、受信した疎通応答パケットをサーバ装置１１０へ送信する（ステップＳ９１２）。
【０１０４】
サーバ装置１１０のネットワーク通信部１１１は、第１通信装置１２０ａから疎通応答パケットを受信すると、ダウンロード管理部１１４へ疎通応答パケットを送信する。ダウンロード管理部１１４は、ネットワーク通信部１１１から疎通応答パケットを受信すると、ネットワーク通信部１１１を用いて、第３通信装置１２０ｃとの通信が途切れない間隔で、第３通信装置１２０ｃへ直接ファームウェアデータを送信する（ステップＳ９１３）。
【０１０５】
第３通信装置１２０ｃは、ダウンロードが完了すると、マルチホップ通信により第２通信装置１２０ｂに完了通知を送信する（ステップＳ９１４）。第２通信装置１２０ｂは、第３通信装置１２０ｃから完了通知を受信すると、受信した完了通知を、マルチホップ通信により第１通信装置１２０ａに送信する（ステップＳ９１５）。第１通信装置１２０ａは、第２通信装置１２０ｂから、第３通信装置１２０ｃによって生成された完了通知を受信すると、受信した完了通知をサーバ装置１１０へ送信する（ステップＳ９１６）。これにより、第３通信装置１２０ｃのファームウェアデータの更新が完了する。
【０１０６】
図１０は、第３の実施形態に係るサーバ装置１１０が行うファームウェアデータの送信処理の一例を示すフローチャートである。図１０において、ダウンロード管理部１１４は、更新対象の通信装置１２０を抽出する（ステップＳ１００１）。そして、ダウンロード管理部１１４は、ファームウェアデータのダウンロードの準備（送信準備）を行う（ステップＳ１００２）。具体的には、ダウンロード管理部１１４は、更新対象の通信装置１２０へ送信するファームウェアデータを記憶部１１２から取得して、保存処理部５０２に保存する。
【０１０７】
そして、ダウンロード管理部１１４は、ネットワーク通信部１１１が第１通信装置１２０ａから、上りパケットを受信したか否かを判断する（ステップＳ１００３）。上りパケットは、第１通信装置１２０〜第３通信装置１２０ｃがそれぞれ個別に生成され、第１通信装置１２０ａを経由して送信される。図１０の説明においては、第３通信装置１２０ｃにおいて上りパケットが生成されたものとする。
【０１０８】
ダウンロード管理部１１４は、ネットワーク通信部１１１が第１通信装置１２０ａから上りパケットを受信するまで待機する。ネットワーク通信部１１１は、通信装置１２０から上りパケットを受信すると、受信した上りパケットをダウンロード管理部１１４へ送信する。そして、ダウンロード管理部１１４は、上りパケットに含まれる識別情報を用いて、通信装置１２０（第３通信装置１２０ｃ）を特定する（ステップＳ１００４）。
【０１０９】
そして、ダウンロード管理部１１４は、特定した第３通信装置１２０ｃが、事前に抽出した更新対象の通信装置１２０であるか否かを判断する（ステップＳ１００５）。特定した第３通信装置１２０ｃが更新対象の通信装置１２０ではない場合、ステップＳ１００３に戻る。一方、特定した第３通信装置１２０ｃが更新対象の通信装置１２０である場合、疎通確認処理部１１３は、第１通信装置１２０ａへ、第３通信装置１２０ｃ宛ての疎通確認パケットの送信を開始する（ステップＳ１００６）。
【０１１０】
第３通信装置１２０ｃは、マルチホップ通信により、第１通信装置１２０ａおよび第２通信装置１２０ｂを介して、疎通確認パケットを受信すると、当該疎通確認パケットに対応する疎通応答パケットを生成する。第３通信装置１２０ｃは、生成した疎通応答パケットを、マルチホップ通信により、第１通信装置１２０ａおよび第２通信装置１２０ｂを介して、サーバ装置１１０へ送信する。
【０１１１】
そして、ダウンロード管理部１１４は、ネットワーク通信部１１１が第１通信装置１２０ａを経由して、第３通信装置１２０ｃによって生成された疎通応答パケットを受信したか否かを判断する（ステップＳ１００７）。ダウンロード管理部１１４は、ネットワーク通信部１１１が第３通信装置１２０ｃによって生成された疎通応答パケットを受信するまで待機する。
【０１１２】
ネットワーク通信部１１１が第３通信装置１２０ｃによって生成された疎通応答パケットを受信した場合、ダウンロード管理部１１４は、疎通確認処理部１１３に疎通確認の停止指示を送信する。
【０１１３】
そして、疎通確認処理部１１３は、疎通確認パケットの送信を停止する（ステップＳ１００８）。次に、ダウンロード管理部１１４は、通信が切れない間隔で、第３通信装置１２０ｃへ直接ファームウェアデータを送信する（ステップＳ１００９）。
【０１１４】
なお、ファームウェアデータの送信を開始する前に、ファームウェアデータのダウンロードの開始指示を送信してもよい。ダウンロードの開始指示は、例えば、サーバ装置１１０から直接第３通信装置１２０ｃへ送信されればよい。これにより、サーバ装置１１０から直接送信されるファームウェアデータよりも前に、ダウンロードの開始指示を第３通信装置１２０ｃに受信させることができる。ただし、ダウンロードの開始指示は、疎通確認パケットの送信と同様に、マルチホップ通信によって、第１通信装置１２０ａおよび第２通信装置１２０ｂを介して、第３通信装置１２０ｃに送信されてもよい。
【０１１５】
第３通信装置１２０ｃは、ファームウェアデータを受信し、ダウンロードが完了すると、ダウンロードの完了通知を生成する。第３通信装置１２０ｃは、マルチホップ通信により、生成した完了通知を、第１通信装置１２０ａおよび第２通信装置１２０ｂを介して、サーバ装置１１０へ送信する。
【０１１６】
そして、ネットワーク通信部１１１が第１通信装置１２０ａを介して、第３通信装置１２０ｃによって生成されたダウンロードの完了通知を受信したか否かを判断する（ステップＳ１０１０）。ネットワーク通信部１１１が第３通信装置１２０ｃによって生成されたダウンロードの完了通知を受信するまで待機する。なお、ダウンロード管理部１１４は、この待機中も、ファームウェアデータの送信が完了するまでは、第３通信装置１２０ｃとの通信が途切れない間隔で繰り返しファームウェアデータを送信し続ける。
【０１１７】
そして、ネットワーク通信部１１１が第３通信装置１２０ｃによって生成されたダウンロードの完了通知を受信すると、ダウンロード管理部１１４は、第３通信装置１２０ｃのダウンロードを終了させ（ステップＳ１０１１）、一連の処理を終了する。なお、ネットワーク通信部１１１が第３通信装置１２０ｃによって生成された完了通知を受信すると、ダウンロード管理部１１４は、記憶部１１２に記憶される第３通信装置１２０ｃの通信装置情報２００（図２参照）を更新する。
【０１１８】
以上説明した、第３の実施形態のサーバ装置１１０は、マルチホップ通信によりアップロードしてきた通信装置１２０へファームウェアデータを送信するようにした。これにより、マルチホップ通信を行う第１通信装置１２０〜第３通信装置１２０ｃに、効率よくファームウェアデータをダウンロードさせることができる。したがって、マルチホップ通信を行うネットワークシステム１の利便性を向上させることができる。
【０１１９】
（第３の実施形態の変形例）
次に、ネットワークシステム１の第３の実施形態の変形例について説明する。上述した第３の実施形態では、上りパケット、疎通確認パケット、および疎通応答パケットをマルチホップ通信で送信するネットワークシステム１について説明した。第３の実施形態の変形例では、これらのパケットに加えて、ファームウェアデータについてもマルチホップ通信で送信するネットワークシステム１について説明する。
【０１２０】
図１１は、第３の実施形態の変形例に係るネットワークシステム１における処理の流れの一例を示すシーケンス図である。なお、図１１において、ステップＳ９０１〜Ｓ９１６までの処理は、図９に示した処理と同様であるため、説明を省略する。なお、第１通信装置１２０ａ、第２通信装置１２０ｂ、および第３通信装置１２０ｃは、いずれも更新対象の通信装置１２０であるものとする。
【０１２１】
図１１において、第３通信装置１２０ｃは、ファームウェアデータの更新（または受信）が完了すると、サーバ装置１１０から受信したファームウェアデータを、マルチホップ通信により第２通信装置１２０ｂに送信する（ステップＳ１１０１）。
【０１２２】
なお、第３通信装置１２０ｃは、第２通信装置１２０ｂがプリザベーション状態となっていないタイミングでファームウェアデータを第２通信装置１２０ｂに送信する。プリザベーション状態となっていないタイミングでファームウェアデータを送信するには、例えば、第１通信装置１２０〜第３通信装置１２０ｃの間で、それぞれが上りパケットを送信したタイミングを共有できるようにすればよい。具体的には、例えば、更新対象の通信装置１２０（例えば第２通信装置１２０ｂ）が上りパケットを送信したとする。この場合、更新が完了した第３通信装置１２０ｃが、更新対象の第２通信装置１２０ｂから、マルチホップ通信によって直接または他の装置を介して間接的に、第２通信装置１２０ｂが上りパケットを送信したことを示す情報を受信できるようにすればよい。
【０１２３】
また、更新が完了した第３通信装置１２０ｃは、サーバ装置１１０から、更新対象の第２通信装置１２０ｂが上りパケットを送信したことを示す情報を受信してもよい。具体的には、サーバ装置１１０は、上りパケットを生成した通信装置１２０の更新の有無や、各通信装置１２０が上りパケットを送信したタイミングを管理できる。このため、サーバ装置１１０は、更新対象の第２通信装置１２０ｂが生成した上りパケットを受信した場合に、更新が完了した第３通信装置１２０ｃへ、第２通信装置１２０ｂが上りパケットを送信したことを示す情報を送信してもよい。
【０１２４】
なお、上りパケットを送信したことを示す情報には、第２通信装置１２０ｂが更新対象であることを示す情報が含まれていてもよい。これにより、第３通信装置１２０ｃは、更新対象の通信装置１２０に宛てて、ファームウェアデータを送信することができる。
【０１２５】
そして、第３通信装置１２０ｃは、第２通信装置１２０ｂが上りパケットを送信したことを示す情報を受信した場合、第２通信装置１２０ｂに宛てて、マルチホップ通信によりファームウェアデータを送信すればよい。
【０１２６】
なお、第３通信装置１２０ｃは、マルチホップ通信によるファームウェアデータの送信を開始する前に、第２通信装置１２０ｂへ、ファームウェアデータのダウンロードの開始指示を送信してもよい。
【０１２７】
第２通信装置１２０ｂは、第３通信装置１２０ｃからファームウェアデータを受信すると、受信したファームウェアデータを用いて、自装置のファームウェアデータを更新する。更新が完了すると、第２通信装置１２０ｂは、マルチホップ通信により第１通信装置１２０ａに完了通知を送信する（ステップＳ１１０２）。
【０１２８】
第１通信装置１２０ａは、第２通信装置１２０ｂから完了通知を受信すると、受信した完了通知をサーバ装置１１０へ送信する（ステップＳ１１０３）。そして、ネットワーク通信部１１１が第２通信装置１２０ｂによって生成された完了通知を受信すると、ダウンロード管理部１１４は、記憶部１１２に記憶される第２通信装置１２０ｂの通信装置情報２００（図２参照）を更新する。
【０１２９】
また、第２通信装置１２０ｂは、ファームウェアデータの更新（または受信）が完了すると、受信したファームウェアデータを、マルチホップ通信により第１通信装置１２０ａに送信する（ステップＳ１１０４）。なお、第２通信装置１２０ｂは、第１通信装置１２０ａがプリザベーション状態となっていないタイミングでファームウェアデータを第１通信装置１２０ａに送信する。なお、プリザベーション状態となっていないタイミングでファームウェアデータを送信する手法は、第３通信装置１２０ｃから第２通信装置１２０ｂへファームウェアデータを送信する場合と同様である。
【０１３０】
第１通信装置１２０ａは、第２通信装置１２０ｂからファームウェアデータを受信すると、受信したファームウェアデータを用いて、自装置のファームウェアデータを更新する。更新が完了すると、第１通信装置１２０ａは、サーバ装置１１０へ自装置の更新が完了した旨を示す完了通知を送信する（ステップＳ１１０５）。そして、ネットワーク通信部１１１が第１通信装置１２０ａによって生成された完了通知を受信すると、ダウンロード管理部１１４は、記憶部１１２に記憶される第１通信装置１２０ａの通信装置情報２００（図２参照）を更新する。
【０１３１】
以上説明した、第３の実施形態の変形例に係るネットワークシステム１では、上りパケット、疎通確認パケット、および疎通応答パケットに加えて、ファームウェアデータについてもマルチホップ通信で送信するようにした。これにより、マルチホップ通信を行う複数の通信装置１２０のうち一の通信装置１２０に対して、ファームウェアデータをダウンロードさせるだけで、他の通信装置１２０についても、ファームウェアデータをダウンロードさせることができる。
【０１３２】
例えば、各通信装置１２０は、災害時などのように、サーバ装置１１０との間で通信障害が生じた場合でも、ネットワークシステム１におけるいずれか一つの通信装置１２０のダウンロードが完了していれば、当該通信装置１２０から、マルチホップ通信によってファームウェアデータをダウンロードすることができる。したがって、サーバ装置１１０は、通信装置１２０に効率よくファームウェアデータをダウンロードさせることができる。このため、マルチホップ通信を行うネットワークシステム１の利便性を向上させることができる。
【０１３３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１３４】
１…ネットワークシステム、１１０…サーバ装置、１１１…ネットワーク通信部、１１２…記憶部、１１３…疎通確認処理部、１１４…ダウンロード管理部、１２０…通信装置、１２０ａ…第１通信装置、１２０ｂ…第２通信装置、１２０ｃ…第３通信装置、５０１…台数管理処理部、５０２…保存処理部
【図１】
2020190826.tif 000003
【図２】
2020190826.tif 000004
【図３】
2020190826.tif 000005
【図４】
2020190826.tif 000006
【図５】
2020190826.tif 000007
【図６】
2020190826.tif 000008
【図７】
2020190826.tif 000009
【図８】
2020190826.tif 000010
【図９】
2020190826.tif 000011
【図１０】
2020190826.tif 000012
【図１１】
2020190826.tif 000013