(57)【要約】【課題】温水利用設備の遠隔監視及び／又は遠隔操作のための通信システムにおいて、中継装置のプログラム更新失敗時の原因を簡易に解析する。【解決手段】通信アダプタ４０は、更新プログラムによる再起動後にサーバ２０との通信接続が確立できると、第１の情報をサーバ２０へ送信して、プログラム更新処理を終了する。一方で、更新プログラムによる再起動後にサーバ２０との通信接続が確立不能であるときには、通信アダプタ４０は、旧プログラムによる再起動後にサーバ２０との通信接続が確立できると、第２の情報をサーバ２０へ送信して、プログラム更新処理を終了する。サーバ２０は、プログラム更新処理が実行された複数の通信アダプタ４０の各々から送信された第１又は第２の情報に基づいて、更新プログラムの不良原因を解析することができる。【選択図】図１
2019096202.tif 000002
【特許請求の範囲】
【請求項１】
通信線を経由して複数の温水利用設備とそれぞれ接続された複数の中継装置と、
通信網と前記複数の中継装置とのそれぞれの間を通信接続するための複数のルータと、
前記通信網及び前記複数のルータを経由して前記複数の中継装置と通信接続された管理装置とを備え、
前記複数の中継装置の各々は、
前記通信網を経由して前記管理装置との間で情報を送受信するように構成された通信部と、
記憶内容を書換可能な複数のプログラム格納領域を含む記憶部と、
前記複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって前記中継装置を動作させるように構成された制御部とを含み、
前記通信部は、前記制御部によってプログラム更新処理が実行されると、前記管理装置から更新プログラムを受信し、
前記制御部は、前記複数のプログラム格納領域のうちの１つに記憶された第１のプログラムの実行中に前記プログラム更新処理を実行すると、前記複数のプログラム格納領域のうちの他の１つに対して、前記通信部によって受信された前記更新プログラムを第２のプログラムとして書込むとともに、前記第２のプログラムの書込処理が正常終了すると前記第２のプログラムによる起動処理を実行し、
前記第２のプログラムによる前記起動処理の後において、前記管理装置との間での通信可否を検証し、前記管理装置との間で正常に通信できる場合には、前記管理装置に対して第１の情報を送信するとともに、前記第２のプログラムによって前記中継装置を動作させた状態で前記プログラム更新処理を終了する一方で、前記管理装置との間で正常に通信できない場合には、前記第１のプログラムによる前記起動処理を再実行し、
前記第１のプログラムによる前記起動処理の後において、前記管理装置との間での通信可否を検証し、前記管理装置との間で正常に通信できる場合には、前記管理装置に対して第２の情報を送信するとともに、前記第１のプログラムによって前記中継装置を動作させた状態で前記プログラム更新処理を終了し、
前記管理装置は、
前記プログラム更新処理に応じて前記複数の中継装置の各々から送信された前記第１及び第２の情報の比率に基づいて、前記更新プログラムの不良有無を判定する、通信システム。
【請求項２】
前記管理装置は、前記複数の中継装置のうち前記第２の情報を送信した中継装置の比率が所定の比率を超えた場合には、前記更新プログラムに不良があると判定する、請求項１記載の通信システム。
【請求項３】
前記管理装置は、前記複数の中継装置のうち前記第２の情報を送信した一部の中継装置の比率が所定の比率よりも低い場合には、前記複数のルータのうちの当該一部の中継装置と通信接続中のルータと前記更新プログラムとの適合性に問題があると判定する、請求項１記載の通信システム。
【請求項４】
前記複数の中継装置の各々は、前記複数のルータについて、前記プログラム更新処理時において前記通信接続中のルータに関する情報を、前記管理装置に対して送信する、請求項３記載の通信システム。
【請求項５】
前記管理装置は、前記一部の中継装置と通信接続中のルータと前記更新プログラムとの適合性に問題があると判定した場合には、前記一部の中継装置及び前記一部の中継装置と予め対応付けられた情報端末の少なくとも一方に対して、前記適合性に問題がある旨を通知する、請求項３又は４に記載の通信システム。
【請求項６】
前記管理装置は、前記第２の情報を送信した前記中継装置に対しては当該更新プログラムによる前記プログラム更新処理の再実行指示の生成を停止する、請求項１〜５のいずれか１項に記載の通信システム。
【請求項７】
通信網に接続された管理装置と、温水利用設備との間でのデータ送受信を中継するための中継装置であって、
ルータ及び前記通信網を経由して前記管理装置との間で情報を送受信する通信部と、
記憶内容を書換可能な複数のプログラム格納領域を含む記憶部と、
前記複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって前記中継装置を動作させるように構成された制御部とを備え、
前記通信部は、前記制御部によってプログラム更新処理が実行されると、前記管理装置から更新プログラムを受信し、
前記制御部は、前記複数のプログラム格納領域のうちの１つに記憶された第１のプログラムの実行中に前記プログラム更新処理を実行すると、前記複数のプログラム格納領域のうちの他の１つに対して、前記通信部によって受信された前記更新プログラムを第２のプログラムとして書込むとともに、前記第２のプログラムの書込処理が正常終了すると前記第２のプログラムによる起動処理を実行し、
前記第２のプログラムによる前記起動処理の後において、前記管理装置との間での通信可否を検証し、前記管理装置との間で正常に通信できる場合には、前記管理装置に対して第１の情報を送信するとともに、前記第２のプログラムによって前記中継装置を動作させた状態で前記プログラム更新処理を終了する一方で、前記管理装置との間で正常に通信できない場合には、前記第１のプログラムによる前記起動処理を再実行し、
前記第１のプログラムによる前記起動処理の後において、前記管理装置との間での通信可否を検証し、前記管理装置との間で正常に通信できる場合には、前記管理装置に対して第２の情報を送信するとともに、前記第１のプログラムによって前記中継装置を動作させた状態で前記プログラム更新処理を終了する、中継装置。
【請求項８】
前記通信部は、前記プログラム更新処理時において通信接続中のルータに関する情報を、前記管理装置に対して送信する、請求項７記載の中継装置。
【請求項９】
前記中継装置は、
ユーザに対して視覚的又は聴覚的な態様で情報を報知するための報知部をさらに備え、
前記報知部は、前記管理装置から前記プログラム更新の失敗に関する情報が送信されると、当該情報に従うメッセージを出力する、請求項７又は８に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び中継装置に関し、より特定的には、温水利用設備（例えば、給湯器、マルチ給湯システム、浴槽内湯水の追い焚き装置、ろ過装置、又は、温水暖房機器等）の遠隔監視及び／又は遠隔操作のための通信システム及び当該通信システムに適用される中継装置に関する。
【背景技術】
【０００２】
温水利用設備の一例であるマルチ給湯システム用の遠隔管理システムが、特開２０１７−５８０２６号公報（特許文献１）に記載されている。特許文献１の遠隔管理システムでは、給湯システムの各種情報は、給湯システムと通信接続された通信アダプタを中継装置として、管理センタ（サーバ）へ伝送される。
【０００３】
例えば、通信アダプタは、２心通信線を介して給湯システムと通信可能に接続されるとともに、インターネットなどの通信網に接続されたルータと無線通信によって接続される。通信アダプタがルータ及び通信網を介して管理センター（サーバ）と通信可能に接続されることにより、給湯システム及び管理センターの間では、通信網を経由した、双方向の情報伝送が可能となる。
【０００４】
通信アダプタでは、予め格納されたプログラムを実行することによって、給湯システムに関する各種情報を収集する情報収集機能及び通信網に接続するための通信機能、並びに、これらの機能を用いて、給湯システムから収集した情報を管理センター（サーバ）に送信する情報送信機能等が実現される。従って、通信アダプタに格納されたプログラムを更新することによって、通信アダプタの各種機能のアップグレードが可能である。
【０００５】
また、特開２００５−７８５８２号公報（特許文献２）には、センター装置から受信した書換用プログラムによって実行プログラムを書き換える遠隔監視装置において、書き換えに失敗した場合には元の実行プログラムに戻して自動的にリスタートさせる制御が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−５８０２６号公報
【特許文献２】特開２００５−７８５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１のような遠隔管理システムでは、更新プログラム実行時に管理センターとの通信に異常が生じた場合において、特許文献２のように、元のプログラムを実行することでシステムの正常動作を回復することが可能である。
【０００８】
しかしながら、更新プログラム実行時における異常は、更新プログラムに異常がある場合と、更新プログラムは正常であってもルータ等を経由した通信そのものが異常である場合との両方で発生する。このため、プログラム更新に異常が生じたときに、その原因の解析に時間を要することが問題となっていた。
【０００９】
この発明はこのような問題点を解決するためになされたものであって、この発明の目的は、温水利用設備の遠隔監視及び／又は遠隔操作のための通信システムにおいて、中継装置のプログラム更新失敗時の原因を簡易に解析することである。
【課題を解決するための手段】
【００１０】
この発明のある局面では、通信システムは、複数の中継装置と、管理装置とを備える。複数の中継装置は、通信線を経由して複数の温水利用設備とそれぞれ接続される。複数のルータは、通信網と複数の中継装置とのそれぞれの間を通信接続するように構成される。管理装置は、通信網及び複数のルータを経由して複数の中継装置と通信接続される。複数の中継装置の各々は、通信部と、記憶部と、制御部とを含む。通信部は、通信網を経由して管理装置との間で情報を送受信するように構成される。記憶部は、記憶内容を書換可能な複数のプログラム格納領域を含む。制御部は、複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって中継装置を動作させるように構成される。通信部は、制御部によってプログラム更新処理が実行されると、管理装置から更新プログラムを受信する。制御部は、複数のプログラム格納領域のうちの１つに記憶された第１のプログラムの実行中にプログラム更新処理を実行すると、複数のプログラム格納領域のうちの他の１つに対して、通信部によって受信された更新プログラムを第２のプログラムとして書込むとともに、第２のプログラムの書込処理が正常終了すると第２のプログラムによる起動処理を実行する。制御部は、第２のプログラムによる起動処理の後において、管理装置との間での通信可否を検証し、管理装置との間で正常に通信できる場合には、管理装置に対して第１の情報を送信するとともに、第２のプログラムによって中継装置を動作させた状態でプログラム更新処理を終了する一方で、管理装置との間で正常に通信できない場合には、第１のプログラムによる起動処理を再実行する。制御部は、第１のプログラムによる起動処理の後において、管理装置との間での通信可否を検証し、管理装置との間で正常に通信できる場合には、管理装置に対して第２の情報を送信するとともに、第１のプログラムによって中継装置を動作させた状態でプログラム更新処理を終了する。管理装置は、プログラム更新処理に応じて複数の中継装置の各々から送信された第１及び第２の情報の比率に基づいて、更新プログラムの不良有無を判定する。
【００１１】
上記通信システムによれば、更新プログラムによって管理装置との通信接続が確立したことを示す第１の情報、又は、更新プログラムでは管理装置との通信接続が確立不能だが旧プログラムに戻すと管理装置との通信接続が確立したことを示す第２の情報を、プログラム更新を実行した複数の中継装置の各々から管理装置へ送信することができる。したがって、第１及び第２の情報に基づいて、複数の中継装置でのプログラム更新の成否、及び、プログラム更新が失敗した中継装置の比率（ごく一部であるのか、ほぼ全数であるのか等）を管理装置で容易に把握することができる。特に、当該比率に基づいて、プログラム更新失敗時の原因を簡易に解析することができる。
【００１２】
好ましくは、管理装置は、複数の中継装置のうち第２の情報を送信した中継装置の比率が所定の比率を超えた場合には、更新プログラムに不良があると判定する。
【００１３】
このようにすると、複数の中継装置からの第１及び第２の情報の比率から、多数の中継装置において、更新プログラム（第２のプログラム）による再起動後には管理装置との通信接続が確立できない一方で、旧プログラム（第１のプログラム）に戻すと管理装置との通信接続が確立されたことを検知できる。この結果、更新プログラムに異常が生じていることによって、プログラム更新に支障が生じたものと判断することができる。
【００１４】
また好ましくは、管理装置は、複数の中継装置のうち第２の情報を送信した一部の中継装置の比率が所定の比率よりも低い場合には、複数のルータのうちの当該一部の中継装置と通信接続中のルータと更新プログラムとの適合性に問題があると判定する。
【００１５】
このようにすると、複数の中継装置からの第１及び第２の情報の比率から、一部の中継装置のみにおいて、更新プログラムによって管理装置と通信接続が確立できていないことを検知できる。したがって、中継装置固有の問題として、更新プログラム及びルータの適合性によって、プログラム更新に支障が生じたものと判断することができる。
【００１６】
さらに好ましくは、複数の中継装置の各々は、複数のルータについて、プログラム更新処理時において通信接続中のルータに関する情報を、管理装置に対して送信する。
【００１７】
このようにすると、更新プログラムによって管理装置と通信接続が確立できていない中継装置と通信接続されたルータの情報を収集することにより、更新プログラムとの適合性が悪いルータの機種又はメーカの抽出調査が容易となる。
【００１８】
あるいは好ましくは、一部の中継装置と通信接続中のルータと更新プログラムとの適合性に問題があると判定した場合には、一部の中継装置及び一部の中継装置と予め対応付けられた情報端末の少なくとも一方に対して、適合性に問題がある旨を通知する。
【００１９】
このようにすると、ルータとの適合性の問題によってプログラム更新が失敗したことをユーザに報知することができる。
【００２０】
この発明の他のある局面では、通信網に接続された管理装置と、温水利用設備との間でのデータ送受信を中継するための中継装置は、通信部と、記憶部と、制御部とを含む。通信部は、ルータ及び通信網を経由して管理装置との間で情報を送受信するように構成される。記憶部は、記憶内容を書換可能な複数のプログラム格納領域を含む。制御部は、複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって中継装置を動作させるように構成される。通信部は、制御部によってプログラム更新処理が実行されると、管理装置から更新プログラムを受信する。制御部は、複数のプログラム格納領域のうちの１つに記憶された第１のプログラムの実行中にプログラム更新処理を実行すると、複数のプログラム格納領域のうちの他の１つに対して、通信部によって受信された更新プログラムを第２のプログラムとして書込むとともに、第２のプログラムの書込処理が正常終了すると第２のプログラムによる起動処理を実行する。さらに、制御部は、第２のプログラムによる起動処理の後において、管理装置との間での通信可否を検証し、管理装置との間で正常に通信できる場合には、管理装置に対して第１の情報を送信するとともに、第２のプログラムによって中継装置を動作させた状態でプログラム更新処理を終了する一方で、管理装置との間で正常に通信できない場合には、第１のプログラムによる起動処理を再実行する。制御部は、第１のプログラムによる起動処理の後において、管理装置との間での通信可否を検証し、管理装置との間で正常に通信できる場合には、管理装置に対して第２の情報を送信するとともに、第１のプログラムによって中継装置を動作させた状態でプログラム更新処理を終了する。
【００２１】
上記中継装置によれば、プログラム更新処理の結果として、更新プログラムによって管理装置との通信接続が確立したことを示す第１の情報、又は、更新プログラムでは管理装置との通信接続が確立不能だが旧プログラムに戻すと管理装置との通信接続が確立したことを示す第２の情報を管理装置へ送信することができる。この結果、管理装置では、複数の中継装置からの第１及び第２の情報に基づいて、複数の中継装置でのプログラム更新の成否、及び、プログラム更新が失敗した中継装置の比率（ごく一部であるのか、ほぼ全数であるのか等）を管理装置で容易に把握することができる。特に、当該比率に基づいて、プログラム更新失敗時の原因を迅速に特定することができる。
【００２２】
好ましくは、通信部は、プログラム更新処理時において通信接続中のルータに関する情報を管理装置に対して送信する。
【００２３】
このようにすると、管理装置側で、複数の中継装置からの第１及び第２の情報の比率から、一部の中継装置のみにおいて、更新プログラムによって管理装置と通信接続が確立できていないことを検知したときに、当該一部の中継装置と通信接続されたルータの情報を容易に把握することが可能とされる、この結果、更新プログラムとの適合性が悪いルータの機種又はメーカの抽出調査が容易となる。
【００２４】
また好ましくは、中継装置は、報知部をさらに備える。報知部は、ユーザに対して視覚的又は聴覚的な態様で情報を報知するように構成される。報知部は、管理装置からプログラム更新の失敗に関する情報が送信されると、当該情報に従うメッセージを出力する。
【００２５】
このようにすると、プログラム更新の失敗に関する管理装置からの情報を中継装置の報知部によってユーザに報知することができる。
【発明の効果】
【００２６】
この発明によれば、温水利用設備の遠隔監視及び／又は遠隔操作のための通信システムにおいて、中継装置のプログラム更新失敗時の原因を簡易に解析することができる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態に従う通信アダプタが中継装置として適用される通信システムの構成例を示すブロック図である。
【図２】図１に示されたクラウドサーバ及びアプリケーションサーバを構成するサーバ装置の概略構成図である。
【図３】図１に示された通信アダプタの構成例を示すブロック図である。
【図４】図３に示されたＲＯＭのメモリマップである。
【図５】本実施の形態に従う中継装置におけるプログラム更新の際の処理手順を説明するフローチャートである。
【図６】図５に示されたプログラム更新処理における通信アダプタの状態の変化を説明するための概念図である。
【図７】本実施の形態に従う通信システムにおけるプログラム更新処理におけるサーバ及び通信アダプタの動作を説明するシーケンス図である。
【図８】サーバがプログラム更新処理の結果を解析するための制御処理を説明するフローチャートである。
【図９】サーバによるプログラム更新要求の自動生成処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００２８】
以下に、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下では図中の同一又は相当部分には同一符号を付してその説明は原則的に繰返さないものとする。
【００２９】
図１は、本実施の形態に従う通信アダプタが中継装置として適用される通信システムの構成例を示すブロック図である。図１に示されるように、本実施の形態に従う通信システムは、温水利用設備の遠隔監視及び／又は遠隔操作のためのデータの送受信を実行する。
【００３０】
図１を参照して、温水供給システム１０は、温水利用設備の一例である温水供給装置１００と、温水供給装置１００の運転操作指令を入力するためのリモートコントローラ（以下、単に「リモコン」とも称する）１０５とを含む。本実施の形態では、温水供給装置１００が遠隔監視及び／又は遠隔操作の対象とされる。
【００３１】
温水供給システム１０において、温水供給装置１００及びリモコン１０５は、２心通信線５０を介して相互に通信可能に接続される。より詳細には、温水供給装置１００及びリモコン１０５の各々には、マイクロコンピュータ等を含む制御部（図示せず）が内蔵されており、これらの制御部同士が所定の通信プロトコルで２心通信線５０を介して、シリアル通信可能に構成されている。また、温水供給装置１００は、外部機器用の電源電圧を２心通信線５０に出力するよう構成することが可能である。この場合には、通信データは電源電圧に重畳させることができる。
【００３２】
さらに、温水供給装置１００の制御部は、２心通信線５０を介して、通信アダプタ４０と接続される。例えば、温水供給システム１０及び通信アダプタ４０は、屋外、例えば住宅の外壁の周辺やガレージなどに設置することができる。通信アダプタ４０は、屋内に配置された無線ＬＡＮ（Local  Area  Network）ルータ６０との間で、所定の通信プロトコル（例えばIEEE802.11n等）で通信するための無線通信機能を有する。通信アダプタ４０の詳細については、後程説明する。
【００３３】
無線ＬＡＮルータ６０は、インターネット（通信網）に接続されている。無線ＬＡＮルータ６０は、無線ＬＡＮの親機として機能することにより、複数台の無線ＬＡＮ子機を無線接続することも可能である。
【００３４】
スマートフォン３０及び通信アダプタ４０は、無線ＬＡＮ子機として動作可能であり、無線ＬＡＮルータ６０との無線リンクが確立されると、無線ＬＡＮルータ６０を介してインターネットに接続することが可能である。あるいは、スマートフォン３０は、無線ＬＡＮルータ６０を経由したインターネット接続が不可の場合には、４Ｇ回線や３Ｇ回線などの移動体通信網を介してインターネット網に接続するように構成されている。
【００３５】
さらに、本実施の形態に従う通信システムでは、管理センター２０及びサポートセンター７０がインターネット網（通信網）に接続される。管理センター２０は、クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂを含む。クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂは、インターネット網もしくは専用回線を介して相互に通信可能に接続されており、互いに連携して各種サービスを提供することができる。
【００３６】
図２は、クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂを構成するサーバ装置２１の概略構成図である。
【００３７】
図２を参照して、サーバ装置２１は、装置全体を制御するためのＣＰＵ（Central  Processing  Unit）２５と、ＣＰＵ２５と接続された、通信ユニット２６、メモリ２７、及び、表示部２８とを含む。通信ユニット２６は、通信網（インターネット）に接続された通信によって、他の機器又はサーバと通信する機能を有する。
【００３８】
メモリ２７は、例えば、ＣＰＵ２５で実行されるプログラムを記憶するためのメモリであるＲＯＭ（Read  Only  Memory）２７ａ、ＣＰＵ３０でプログラムを実行する際の作業領域となったり計算値を記憶したりするためのメモリであるＲＡＭ（Random  Access  Memory）２７ｂ、及び、大型の記憶装置の一例としてのＨＤＤ（Hard  Disk  Drive）２７ｃを含む。
【００３９】
サーバ装置２１は、一般的なコンピュータに相当する機能を有して構成することができる。表示部２８は、例えば、液晶ディスプレイによって構成することができる。サーバ装置２１は、操作入力を受け付けるための操作部をさらに含んでもよい。
【００４０】
再び図１を参照して、クラウドサーバ２１ａは、主として、各家庭に設置された多数の通信アダプタ４０が常時接続されて、これらの通信アダプタ４０との間で通信することにより、各家庭の温水供給システム１０の各種情報を収集するとともに管理する。例えば、収集する情報には、単位時間毎の給湯量、消費燃料量、給湯温度、及び、各温水供給システム１０で発生したエラー情報などを含むことができる。
【００４１】
アプリケーションサーバ２１ｂは、各家庭の多数のユーザのための多数のユーザアカウントを管理するとともに、ユーザが保有するスマートフォン３０などの操作端末からのログインを受け付けて、ユーザが所有する操作端末に対して各種サービスを提供する。
【００４２】
好ましくは、アプリケーションサーバ２１ｂが提供するサービスを利用するための専用アプリケーションソフトウェアをスマートフォン３０にインストールして、該アプリケーションソフトウェアからログイン操作及びログイン後の各種操作を行えるようにすることができる。あるいは、Ｗｅｂベースのサービス提供を行うことにより、適宜のＷｅｂブラウザを用いてログインその他の操作を行えるようにすることもできる。
【００４３】
なお、アプリケーションサーバ２１ｂは、スマートフォン３０などのユーザ端末に対するアプリケーションサービスのみを提供するものとし、ユーザアカウントを含む顧客情報はさらに別の顧客情報管理センターによって管理するよう構成することも可能である。あるいは、クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂは、一体化されたサーバ装置により構成されてもよい。
【００４４】
クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂによって提供するサービスは適宜必要に応じて設計することができる。例えば、接続機器確認サービス、運転情報収集管理サービス、エラー監視サービス、メンテナンスモニタサービス等の遠隔管理サービスを提供することができる。
【００４５】
接続機器確認サービスによれば、後述する通信アダプタ４０に接続されている温水供給システム１０の温水供給装置１００の機種やシステム構成を確認することができる。通信アダプタ４０が温水供給システム１０から収集した情報に基づいて、サーバ側で機種やシステム構成を判別することができる。
【００４６】
運転情報収集管理サービスによれば、単位時間毎（例えば１時間毎）に定期的に温水供給システム１０の運転情報を、通信アダプタ４０から収集して管理することができる。収集する運転情報は任意であるが、例えば、単位時間毎の累積給湯量又は累積消費燃料量を収集することができる。収集された運転情報は、ビッグデータ解析による開発資料の作成に利用することも可能である。
【００４７】
エラー監視サービスによれば、温水供給システム１０でエラーが発生した場合に、当該エラーに関する情報を通信アダプタ４０から取得して、サポートセンター７０の端末７１に対して、あるいはユーザのメールアドレス宛にエラー通知を行うことができる。
【００４８】
メンテナンスモニタサービスによれば、温水供給システム１０の修理作業を行う場合などに、温水供給システム１０の動作状況をリアルタイムでモニタリングすることができる、具体的には、クラウドサーバ２１ａに通信接続した現場作業員用のタブレット端末８０等によって、指定した通信アダプタ４０に接続された温水供給システム１０の動作状況をリアルタイムでモニタリングすることが可能である。
【００４９】
さらに、本実施の形態に従う温水利用設備の遠隔管理システムでは、温水供給システム１０の遠隔操作サービスを提供することができる。
【００５０】
遠隔操作サービスによれば、サポートセンター７０の端末７１や、ユーザ所有のスマートフォン３０等から、温水供給システム１０の所定の操作、例えば、給湯運転スイッチのオン／オフの切替操作及び給湯設定温度の変更操作等を遠隔で行うことを可能にする。例えば、ユーザによる遠隔操作は、スマートフォン３０等からアプリケーションサーバ２１ｂにログインすることによって実行可能となる運用とすることができる。
【００５１】
また、遠隔管理システムのサービスの一環として、ログインした状態で通信アダプタ４０から収集した運転情報をスマートフォン３０で閲覧できるように表示することも可能である。本実施の形態に従う通信システムは、温水供給システム１０の遠隔監視及び遠隔操作の一方のみ又は両方を実行するように構成することができる。
【００５２】
本実施の形態に従う遠隔管理システムによって遠隔監視及び／又は遠隔操作される温水供給システム１０は、通信アダプタ４０に２心通信線５０を介して相互に通信可能に接続されている。通信アダプタ４０は、温水供給システム１０から各種情報を収集して管理センター２０へ送信することができるとともに、反対に、管理センター２０からの情報を受信することができる。あるいは、通信アダプタ４０は、サポートセンター７０又はユーザが所有するスマートフォン３０からの指令に基づいて温水供給システム１０に対して操作指令を出力することができる。
【００５３】
図３は、通信アダプタ４０の構成例を示すブロック図である。
図３を参照して、通信アダプタ４０は、制御部４１と、通信ユニット４２，４３と、電源回路４４と、メモリ４５と、アンテナ４７と、報知部４８と、手動スイッチ４９とを含む。
【００５４】
制御部４１は、ＣＰＵ４１ａ及びインターフェイス（Ｉ／Ｆ）４１ｂを含むマイクロコンピュータによって構成することができる。通信ユニット４２は、２心通信線５０を経由して、温水供給装置１００及びリモコン１０５との間で双方向にデータを送受信可能に構成される。通信ユニット４３は、アンテナ４７を経由した無線通信によって、無線ＬＡＮルータ６０やスマートフォン３０との間で双方向にデータを送受信可能に構成される。電源回路４４は、２心通信線５０から電力供給を受けて、通信アダプタ４０内の各要素の動作電源電圧を生成する。
【００５５】
メモリ４５は、ＲＯＭ４５ａ及びＲＡＭ４５ｂを有する。ＲＯＭ４５ａは、不揮発性メモリ（代表的には、フラッシュメモリ）によって構成されるので、その記憶内容は、通信アダプタ４０の電源をオフしても保持される。また、ＲＯＭ４５ａの記憶内容は、制御部４１によって書換え可能である。
【００５６】
ＲＡＭ４５ｂは、揮発性メモリ（代表的には、ＤＲＡＭ（Dynamic  Random  Access  Memory））によって構成されるので、その記憶内容は通信アダプタ４０の電源オフによってクリアされる。特に、ＲＡＭ４５ｂの記憶内容は、通信アダプタ４０の起動処理時に初期化される。
【００５７】
例えば、ＲＯＭ４５ａには、通信アダプタ４０の動作を制御するためのプログラムが格納されており、制御部４１は、起動処理時において、ＲＯＭ４５ａに格納されたプログラムを読出してＲＡＭ４５ｂに展開する。以降では、制御部４１は、ＲＡＭ４５ｂに展開されたプログラムを実行して通信アダプタ４０の動作を制御する。なお、図３では、メモリ４５及び制御部４１を別個の要素として表記したが、メモリ４５の一部又は全部について、制御部４１に内蔵することも可能である。
【００５８】
報知部４８は、制御部４１からの指令に基づいて、ユーザが視覚又は聴覚によって認知可能なメッセージを出力する。たとえば、報知部４８は、文字やイラスト等を表示する液晶パネルによって構成することができる。あるいは、報知部４８は、音声を出力するスピーカによって構成することも可能である。
【００５９】
手動スイッチ４９は、ユーザ又は作業員等が操作可能なプッシュスイッチによって構成することができる。手動スイッチ４９の操作に応じて、所定の電気信号が手動スイッチ４９から制御部４１へ入力される。これにより、制御部４１は、手動スイッチ４９の操作を検知することができる。
【００６０】
通信アダプタ４０は、通信ユニット４３を用いて、通信網（インターネット）を経由して管理センター２０の通信ユニット２６との間で通信することができる。これにより、通信アダプタ４０は、上記運転情報収集管理サービスのための温水供給システム１０の運転情報を、定期的に管理センター２０へ送信することができる。一方で、管理センター２０も通信アダプタ４０に対して、データ及び情報を送信することができる。例えば、通信アダプタ４０のプログラム（いわゆる、ファームウェア）をアップグレードする場合に、管理センター２０から通信アダプタ４０へ新たなプログラムを配信することができる。
【００６１】
図３の構成例において、通信ユニット４３は「通信部」の一実施例に対応し、ＲＯＭ４５ａは「記憶部」の一実施例に対応し、マイクロコンピュータによって構成された制御部４１は、「制御部」の一実施例に対応する。また、管理センター２０は「管理装置」の一実施例に対応する。なお、以下では、管理センター２０を、サーバ２０とも称する。
【００６２】
図４は、図３に示されたＲＯＭ４５ａのメモリマップである。
図４を参照して、ＲＯＭ４５ａは、アドレスＡ０〜Ａｚによって区分される記憶領域を有する。例えば、ＲＯＭ４５ａには、制御部４１で実行されるべきプログラム（ファームウェア）を格納するための領域として、複数のプログラムパーティション（以下、単に「パーティション」とも称する）が設けられる。図４の例では、アドレスＡ１０〜Ａ１１に対応する領域ＭＡｘに、パーティションＰＴ０が設けられるとともに、アドレスＡ１１〜Ａ１２に対応するアドレス領域ＭＡｙに、パーティションＰＴ１が設けられる。パーティションＰＴ０及びＰＴ１は、「複数のプログラム格納領域」の一実施例に対応する。
【００６３】
さらに、ＲＯＭ４５ａでは、アドレスＡ１〜Ａ２に対応するアドレス領域ＭＡ１において、パーティション選択データＳｐｔが格納される。パーティション選択データＳｐｔはパーティションＰＴ０及びＰＴ１のいずれか一方を選択するための情報である。
【００６４】
制御部４１は、起動処理時に、パーティション選択データＳｐｔを読出し、その先頭バイトの値に従って、パーティションＰＴ０及びＰＴ１の一方から格納されたプログラムを読出す。例えば、パーティション選択データＳｐｔの先頭バイトが「０（１６進数）」であるときには、パーティションＰＴ０からプログラムが読出され、当該プログラムがＲＡＭ４５ｂに展開される。一方で、起動処理時にパーティション選択データＳｐｔの先頭バイトの値が「１（１６進数）」である場合には、パーティションＰＴ１から読み出されたプログラムがＲＡＭ４５ｂに展開される。
【００６５】
制御部４１は、起動処理後には、ＲＡＭ４５ｂに展開されたプログラムを逐次実行することによって、通信アダプタ４０の動作を制御する。従って、パーティションＰＴ０又はＰＴ１に格納されるプログラムを更新することで、通信アダプタ４０による上述の各種機能をアップグレードさせることができる。
【００６６】
プログラム更新のためには、不揮発性メモリであるＲＯＭ４５ａに対して、新たなプログラムの書込が必要となる。本実施の形態に従う通信アダプタでは、サーバ２０からダウンロードされた新たなプログラム（以下、「更新プログラム」とも称する）をＲＯＭ４５ａに格納することで、プログラムが更新される。すなわち、作業員によるプログラム更新とは異なり、通信アダプタ４０の電源をオフせずに遠隔でプログラム更新を実行することができる。
【００６７】
図５は、本実施の形態に従う通信アダプタにおけるプログラム更新の際の処理手順を説明するフローチャートである。図５に示す制御処理は、通信アダプタ４０の制御部４１によって繰返し実行することができる。
【００６８】
図５を参照して、制御部４１は、ステップＳ１００により、プログラムの更新要求があるかどうかを判定する。例えば、更新要求は、サーバ２０から直接送信される。あるいは、サーバ２０からは、プログラムの更新予約日時が通信アダプタ４０へ送信されて、当該予約日時が到来すると、ステップＳ１００がＹＥＳ判定とされてステップＳ１０５以降に処理が進められる。更新要求がない場合（Ｓ１００のＮＯ判定時）には、ステップＳ１０５以降によるプログラム更新処理は開始されない。
【００６９】
制御部４１は、プログラム更新処理が開始されると（Ｓ１００のＹＥＳ判定時）、ステップＳ１０５により、プログラム更新処理前における実行プログラムを特定するためのプログラム情報Ｘをサーバ２０へ送信する。プログラム情報は、例えば、プログラムのバージョンを示す情報である。
【００７０】
さらに、制御部４１は、ステップＳ１１０により、パーティション選択データＳｐｔより、ダウンロードされたプログラムを書込むべきパーティション（以下、「更新パーティション」とも称する）を特定する。更新パーティションは、現在実行中のプログラムを格納しているパーティション（以下、「実行パーティション」とも称する）とは異なるパーティションとされる。
【００７１】
制御部４１は、ステップＳ１２０により、通信ユニット４３を用いてサーバ２０から更新プログラムの検証データをダウンロードする。検証データは、例えば、誤り検出符号の一種であるＣＲＣ（Cyclic  Redundancy  Check）によって作成することができる。
【００７２】
さらに、制御部４１は、ステップＳ１３０により、サーバ２０から更新プログラムをダウンロードし、ステップＳ１４０により、ステップＳ１１０で特定された更新パーティションに、ダウンロードされた更新プログラムを逐次書込む。制御部４１は、更新プログラムの書込が終了するまで（Ｓ１５０のＮＯ判定時）、ステップＳ１４０の処理を繰返す。
【００７３】
制御部４１は、更新プログラムの書込が終了すると（Ｓ１５０のＹＥＳ判定時）、ステップＳ２００に処理を進めて、更新パーティションに書込まれた更新プログラムが正常であるか否かを、検証データを用いて判定する。
【００７４】
制御部４１は、書込まれた更新プログラムが異常である場合には（Ｓ２００のＮＯ判定時）、ステップＳ２１０により、プログラム更新の再要求処理を行って、ステップＳ１００により開始されたプログラム更新処理を一旦終了する。ステップＳ２１０による再処理要求の内容に応じて、以降のタイミングでステップＳ１００が再びＹＥＳ判定されることにより、プログラム更新に再トライすることが可能である。
【００７５】
一方で、制御部４１は、書込まれた更新プログラムが正常である場合には（Ｓ２００のＹＥＳ判定時）、ステップＳ２２０により、ステップＳ１１０で特定された更新パーティションを指定する内容にパーティション選択データＳｐｔを書換えて、再起動処理を実行する。これにより、更新パーティションに書込まれた更新プログラムが、ＲＯＭ４５ａからＲＡＭ４５ｂに展開されて、通信アダプタ４０が再起動される。この際に、ステップＳ１１０での実行パーティションの記憶内容は保持される。
【００７６】
さらに、制御部４１は、更新プログラムによる再起動処理後、ステップＳ２３０により、サーバ２０との通信を検証する。サーバ２０との通信が正常である場合には（Ｓ２３０のＮＯ判定時）、ステップＳ２３５を実行した後にプログラム更新処理が終了される。
【００７７】
ステップＳ２３５では、プログラム更新処理後における実行プログラムを特定するためのプログラム情報Ｙ及びプログラム更新処理の結果を示す結果フラグＦｕｄがサーバ２０へ送信される。ステップＳ２３５では、プログラム情報Ｙは、ステップＳ１０５でのプログラム情報Ｘとは異なる内容に設定される。また、結果フラグＦｕｄは、プログラム更新が正常に完了したことを示す値（“１”）に設定される。さらに、結果フラグＦｕｄと共に、プログラム更新が成功した日付及び時刻についてもサーバ２０へ送信される。
【００７８】
これに対して、更新プログラムによる再起動処理後にサーバ２０との通信が不能である場合には（Ｓ２３０のＹＥＳ判定時）、制御部４１は、ステップＳ２４０により、プログラム更新処理の開始時に実行されていた旧プログラムによる再起動処理を実行する。すなわち、ステップＳ１１０における実行パーティションを指定する内容にパーティション選択データＳｐｔを書換えて、再起動処理が実行される。
【００７９】
さらに、制御部４１は、旧プログラムによる再起動処理後、ステップＳ２５０により、ステップＳ２３０と同様に、サーバ２０との通信を検証する。サーバ２０との通信が正常であると（Ｓ２５０のＮＯ判定時）には、ステップＳ２５５を実行した後にプログラム更新処理は終了される。すなわち、旧プログラムが実行された状態で、プログラム更新処理が終了される。
【００８０】
ステップＳ２５５においても、ステップＳ２３５と同様に、プログラム情報Ｙ及び結果フラグＦｕｄがサーバ２０へ送信される。但し、ステップＳ２５５では、プログラム情報Ｙは、ステップＳ１０５でのプログラム情報Ｘと同じ内容に設定される。また、結果フラグＦｕｄは、プログラム更新が失敗したことを示す値（“０”）に設定される。さらに、結果フラグＦｕｄと共に、プログラム更新が失敗した日付及び時刻がサーバ２０へ送信される。
【００８１】
制御部４１は、旧プログラムによる再起動処理（Ｓ２４０）後にサーバ２０との通信が不能である場合には（Ｓ２５０のＹＥＳ判定時）、ステップＳ２６０に処理を進める。この場合には、更新プラグラム及び旧プログラムのいずれによってもサーバ２０との通信が不能であるので、更新プログラムの不良ではなく、通信アダプタ４０や無線ＬＡＮルータ６０等の通信機能の不良、又は、電波状況の悪化により、通信そのものが不良である可能性が高い。従って、制御部４１は、ステップＳ２６０では、ステップＳ２２０と同様に、今回のプログラム更新処理で受信した更新プログラムによる再起動が実行されて、プログラム更新処理が終了される。
【００８２】
なお、ステップＳ２３０及びＳ２５０では、通信アダプタ４０の通信ユニット４３から、応答要求を伴うデータを送信することができる。サーバ２０では、通信ユニット２６によって当該データを正常に受信した場合には、応答要求に沿った応答通知が通信アダプタ４０へ返信される。例えば、通信アダプタ４０では、応答要求を伴うデータの送信から一定時間が経過するまでに、上記応答通知を受信できるか否かに応じて、サーバ２０との通信を検証することができる。
【００８３】
図６には、図５に示されたプログラム更新処理における通信アダプタの状態の変化を説明するための概念図が示される。
【００８４】
図６を参照して、パーティションＰＴ０に格納されたプログラムＰ１が実行されている状態で、ステップＳ１００により、プログラム更新処理が開始される。このとき、パーティションＰＴ１には、プログラムＰ０が格納されている。したがって、プログラム情報Ｘは、Ｘ＝Ｐ１を示す情報としてサーバ２０へ送信される。
【００８５】
ステップＳ１１０では、パーティションＰＴ１が更新パーティションに選択されるので、パーティションＰＴ１に、サーバ２０から配信された更新プログラムＰ２が格納される（Ｓ１１０〜Ｓ１４０）。そして、ステップＳ２００により検証プログラムを用いて、更新プログラムＰ２が正常であるか否かが判定される。更新プログラムＰ２が異常である場合（Ｓ２００のＮＯ判定時）、すなわち、更新プログラムの書込処理が正常終了しない場合には、プログラムＰ１が実行されたままの状態で通信アダプタ４０の動作が継続される。
【００８６】
一方で、更新プログラムの書込処理が正常終了した場合（Ｓ２００のＹＥＳ判定時）には、更新プログラムＰ２による再起動処理が実行されて（Ｓ２２０）、更新プログラムＰ２が実行されている状態で通信アダプタ４０が動作する。このとき、パーティションＰＴ０には、プログラムＰ１が格納されたままであり、プログラムＰ１が「旧プログラム」とされる。
【００８７】
この状態で、サーバ２０との通信が検証されて、サーバ通信が正常であれば（Ｓ２３０のＮＯ判定時）、更新プログラムＰ２が実行された状態で通信アダプタ４０の動作が継続される。したがって、プログラム情報Ｙは、Ｙ＝Ｐ２（更新プログラム）を示す情報としてサーバ２０へ送信される。
【００８８】
一方で、サーバ通信が異常であれば（Ｓ２３０のＹＥＳ判定時）、旧プログラムＰ１による再起動処理が実行されて（Ｓ２４０）、旧プログラムＰ１が実行されている状態で通信アダプタ４０が動作する。この状態で、サーバ２０との通信が再度検証される（Ｓ２５０）。
【００８９】
旧プログラムＰ１が実行された状態でサーバ通信が正常であれば（Ｓ２５０のＮＯ判定時）、旧プログラムＰ１が実行された状態で通信アダプタ４０の動作が継続される。したがって、プログラム情報Ｙは、Ｙ＝Ｐ１（旧プログラム）を示す情報としてサーバ２０へ送信される。
【００９０】
一方、旧プログラムＰ１が実行された状態でサーバ通信が異常であれば（Ｓ２５０のＹＥＳ判定時）、更新プログラムＰ２及び旧プログラムＰ１のいずれによってもサーバと正常に通信できないため、更新プログラムＰ２の不良による通信不良ではないと判断して、更新プログラムＰ２による再起動処理が実行される（Ｓ２６０）。以降では、更新プログラムＰ２が実行されたままの状態で通信アダプタ４０の動作が継続される。
【００９１】
図５及び図６で説明したプログラム更新処理は、サーバ２０と通信接続された複数の通信アダプタ４０において、サーバ２０から発信されたプログラム更新要求に応じて並列に実行される。したがって、複数の通信アダプタ４０でのプログラム更新処理により、サーバ２０には、複数の通信アダプタ４０から送信された、プログラム情報Ｘ及びＹ、並びに、結果フラグＦｕｄが収集される。例えば、サーバ２０では、メモリ２７を用いて、複数の通信アダプタ４０の個々に対応付けて、プログラム情報Ｘ及びＹ、並びに、結果フラグＦｕｄの値が記憶されている。プログラム情報Ｘ及びＹ、並びに、結果フラグＦｕｄの記憶値は、サーバ２０による収集毎に最新値に書き換えられる。
【００９２】
図７には、本実施の形態に従う通信システムにおけるプログラム更新処理におけるサーバ及び通信アダプタの動作を説明するためのシーケンス図が示される。
【００９３】
図７を参照して、サーバ２０から、各通信アダプタ４０に対して、プログラム更新指示が送信される。さらに、本実施の形態に従う通信システムでは、各通信アダプタ４０と通信接続中のＬＡＮルータを特定するための情報がサーバ２０によって収集される。
【００９４】
当該ＬＡＮルータ情報は、通信アダプタ４０からサーバ２０に対して一定時間間隔毎に定期的に送信されてもよく、プログラム更新指示の受信に応じて通信アダプタ４０からサーバ２０に対して送信されてもよい。サーバ２０は、最新のＬＡＮルータ情報に基づき、プロラム更新処理が実行される各通信アダプタ４０について、プログラム更新処理時において通信接続中のＬＡＮルータを検知することができる。
【００９５】
通信アダプタ４０は、プログラム更新指示を受信すると、プログラム更新前の実行プログラムを示すプログラム情報Ｘをサーバ２０へ送信する（図５のＳ１０５）。サーバ２０からは、更新プログラムが通信アダプタ４０に対して配信される。
【００９６】
通信アダプタ４０は、サーバ２０から配信された更新プログラムの書込処理を実行し（図５のＳ１１０〜Ｓ１５０）、書込処理が正常に終了すると、更新プログラムを用いて再起動処理を実行する（図５のＳ２２０）。
【００９７】
更新プログラムによる再起動処理が終了すると、サーバ２０との通信接続の検証のために、通信アダプタ４０からサーバ２０に対して応答要求が発生される（図５のＳ２２０，Ｓ２３０）。サーバ２０が当該応答要求に対して応答通知を通信アダプタ４０に対して送信し、通信アダプタ４０が当該応答通知を受信すると、サーバ２０との通信が正常であることが認識される。そして、通信アダプタ４０からサーバ２０へ、更新処理後における実行プログラムを示すプログラム情報Ｙと、結果フラグＦｕｄとが送信される。
【００９８】
なお、更新プログラムによる再起動処理後にサーバ２０との通信接続が確立されなかった場合、すなわち、通信アダプタ４０が応答要求を送信してから一定時間内に通信アダプタ４０が応答通知を受信できなかった場合には、旧プログラムによる再起動処理の実行後に、再度、サーバ２０との通信接続の検証のために、通信アダプタ４０からサーバ２０に対して応答要求が発生されることになる（図５のＳ２４０，Ｓ２５０）。
【００９９】
この結果、プログラム情報Ｙ及び結果フラグＦｕｄは、図５のステップＳ２３５又はＳ２５５により送信される。したがって、更新プログラムによってサーバ２０との接続が確立された場合（Ｓ２３５）と、更新プログラムによってはサーバ２０との接続が確立できず旧プログラムに戻されてサーバ２０との接続が確立された場合（Ｓ２５５）とでは、プログラム情報Ｘ及びＹによって異なった情報がサーバ２０へ送信される。
【０１００】
具体的には、更新プログラムによってサーバ２０と接続できた場合には、プログラム情報Ｘ及びＹが異なった内容で送信されることにより、プログラム更新処理の前後でプログラムが更新されていることを示す情報（すなわち、「第１の情報」に対応）がサーバへ送信される。一方で、旧プログラムに戻されてサーバ２０と接続できた場合には、プログラム情報Ｘ及びＹが同一内容で送信されることにより、プログラム更新処理の前後でプログラムが更新されていないことを示す情報（すなわち、「第２の情報」に対応）がサーバへ送信される。
【０１０１】
サーバ２０は、プロラム更新処理が実行された複数の通信アダプタ４０からのプログラム情報Ｘ及びＹを用いて、プログラム更新処理の結果を解析する。
【０１０２】
図８は、サーバ２０がプログラム更新処理の結果を解析するための制御処理を説明するフローチャートである。図８に示す処理は、ＲＯＭ２７ａに予め記憶されたプログラムをＣＰＵ２５が実行することによって実現することができる。
【０１０３】
図８を参照して、サーバ２０（ＣＰＵ２５）は、ステップＳ３００により、プログラム更新処理が実行されたＮ個（Ｎ：２以上の整数）の通信アダプタ４０からのプログラム情報Ｘ及びＹを収集する。
【０１０４】
さらに、サーバ２０は、ステップＳ３１０により、Ｎ個の通信アダプタの全てにおいてプログラム情報Ｘ及びプログラム情報Ｙが不一致であるかどうかを判定する。全ての通信アダプタ４０でプログラム情報Ｘ及びＹが不一致であれば（Ｓ３１０のＹＥＳ判定時）、サーバ２０は、ステップＳ３２０により、プログラム更新が正常に実行されたと判断して、解析処理を終了する。
【０１０５】
一方で、少なくとも一部の通信アダプタ４０においてプログラム情報Ｘ及びＹが一致するとき（Ｓ３１０のＮＯ判定時）には、サーバ２０は、ステップＳ３３０により、プログラム情報Ｘ及びＹが一致している通信アダプタの比率Ｋが予め定められた判定値Ｋｔ以上であるかどうかを判定する。判定値Ｋｔは、ほぼ全数の通信アダプタ４０において旧プログラムに戻されている状態を抽出するために、１．０に近い値に定められる。
【０１０６】
Ｋ≧Ｋｔであるとき（Ｓ３３０のＹＥＳ判定時）には、多数の通信アダプタ４０において、更新プログラムによる再起動後にはサーバ通信が確立できない一方で、旧プログラムに戻すとサーバ通信が確立されたことを意味する。すなわち、更新プログラムそのものに異常が発生している可能性が高い。したがって、サーバ２０は、ステップＳ３４０に処理を進めて、更新プログラムに異常が生じていることによって、プログラム更新に支障が生じたものと判断する。
【０１０７】
一方で、Ｋ＜Ｋｔであるとき（Ｓ３３０のＮＯ判定時）には、一部の通信アダプタ４０において更新プログラムによるサーバ通信不良が発生しているので、通信アダプタ４０固有での問題と考えることができる。特に、更新プログラムが、特定のメーカ又は機種のＬＡＮルータと適合性が悪い場合に、一部の通信アダプタ４０のみで不良が発生することが考えられる。
【０１０８】
したがって、サーバ２０は、ステップＳ３５０により、ＬＡＮルータとの適合性に関する問題によって、プログラム更新に支障が生じたものと判断する。この解析結果は、Ｘ＝Ｙとなっている通信アダプタ４０のＬＡＮルータ情報とともに、サーバ装置２１の表示部２８を用いて表示することができる。これにより、適合性が悪いＬＡＮルータの機種及び／又はメーカの抽出によって、更新プログラムを効率的に改良することが可能となる。
【０１０９】
さらに、サーバ２０は、ステップＳ３６０により、ＬＡＮルータとの適合性の問題によりプログラム更新が成功しなかった場合には、その情報を、通信アダプタ４０及び／又は通信アダプタ４０と予め対応付けられた情報端末に通知することによって、ユーザに対して報知することができる。例えば、Ｘ＝Ｙとなっている通信アダプタ４０のユーザによって予め登録されたスマートフォン３０に対して、当該情報を表示するためのデータをサーバ２０からスマートフォン３０へ送信することができる。あるいは、通信アダプタ４０の報知部４８において予め定められたメッセージを出力するための制御指示を、サーバ２０から通信アダプタ４０へ送信することができる。
【０１１０】
なお、ステップＳ３３０での判定値Ｋｔとは異なる判定値Ｋｔ♯をさらに設けて、プログラム情報Ｘ＝Ｙの通信アダプタの比率Ｋが判定値Ｋｔ♯よりも低いとき（Ｋ＜Ｋｔ♯）に、ステップＳ３５０及びＳ３６０の処理を実行することも可能である。この場合には、判定値Ｋｔ♯は、判定値Ｋよりも小さい値に設定される。
【０１１１】
このように、本実施の形態に従う通信システムによれば、サーバ２０から複数の通信アダプタ４０に対してプログラム更新が指示される場合に、各通信アダプタ４０におけるプログラム更新処理前後の実行プログラムの比較によって、プログラム更新の成否、及び、失敗時の原因が更新プログラムそのものにあるか否かの解析を行うことができる。この結果、プログラム更新失敗時の原因を簡易に解析することができる。
【０１１２】
なお、本実施の形態に従う通信システムでは、サーバ２０による複数の通信アダプタ４０での実行プログラムのバージョン管理によって、実行中のプログラムが最新バージョンのものでない通信アダプタ４０に対して、自動的にプログラム更新要求（図５のＳ１００）を送信することが好ましい。一方で、プログラム更新に失敗したときに、上記バージョン管理によって、自動的にプログラム更新要求が繰り返し生成されると、失敗に終わる蓋然性の高いプログラム更新処理が無用に実行されることが懸念される。
【０１１３】
したがって、本実施の形態に従う通信システムでは、図９に示す制御処理によって、通信アダプタ４０に対するプログラム更新要求を制御することができる。
【０１１４】
図９は、サーバ２０による通信アダプタ４０へのプログラム更新要求の自動生成処理を説明するためのフローチャートである。図９に示す制御処理についても、サーバ２０のＣＰＵ２５によって、各通信アダプタ４０を対象に定期的に実行することができる。
【０１１５】
図９を参照して、サーバ２０（ＣＰＵ２５）は、ステップＳ４００により、通信アダプタ４０の実行中プログラムのバージョンを確認する。そして、実行中プログラムのバージンが最新でない場合には、バージョンアップが必要と判断される（Ｓ４１０がＹＥＳ判定）。サーバ２０は、バージョンアップが必要ないとき（Ｓ４１０のＮＯ判定時）には、ステップＳ４４０により、プログラム更新要求を送信しない。
【０１１６】
一方で、バージョンアップが必要なとき（Ｓ４１０のＹＥＳ判定時）には、ステップＳ４２０に処理が進められる。ステップＳ４２０では、通信アダプタ４０の結果フラグＦｕｄの最新の値が読み出される。
【０１１７】
サーバ２０は、読み出された結果フラグＦｕｄ＝１であるとき（Ｓ４３０のＮＯ判定時）には、ステップＳ４５０により、当該通信アダプタ４０に対してプログラム更新要求を送信する。プログラム更新要求は、プログラム更新処理の開始タイミングを指定する更新予約日時を含むことが好ましい。これにより、前回のプログラム更新が正常に終了した通信アダプタ４０に対しては、バージョンアップの必要性に応じて、プログラム更新要求を送信することができる。
【０１１８】
一方で、サーバ２０は、読み出された結果フラグＦｕｄ＝０であるとき（Ｓ４３０のＹＥＳ判定時）には、ステップＳ４４０により、当該通信アダプタ４０に対しては、バージョンアップが必要であってもプログラム更新要求を送信しない。この結果、最新のプログラム更新処理が失敗に終わった通信アダプタ４０に対して、同一の更新プログラムによる更新要求を生成することが回避される。
【０１１９】
なお、更新プログラムの改善により、Ｆｕｄ＝０となった際のプログラム更新処理での原因が除去された場合には、サーバ２０側で結果フラグＦｕｄの値を変更することによって、プログラム更新要求を生成することが可能となる。
【０１２０】
これにより、各通信アダプタ４０の実行プログラムのバージョン管理によってプログラム更新要求を自動的に生成するとともに、過去に更新を失敗したプログラムを用いたプログラム更新処理が無用に実行されることを防止できる。
【０１２１】
なお、中継装置の一例として示された通信アダプタ４０は、温水供給装置１００或いはリモコン１０５の筐体内に内蔵されていてもよい。この場合には、通信アダプタ４０と温水供給装置１００或いはリモコン１０５の制御部（図示せず）とを接続する通信線は筐体の内部配線であってもよい。さらに、温水供給装置１００或いはリモコン１０５の制御部と通信アダプタ４０とを同じ基板上に実装することも可能である。この場合には、通信線（図１での２心通信線５０）は、基板上の配線パターンで代替されてもよい。
【０１２２】
また、通信アダプタ４０（中継装置）において、プログラムを格納するパーティションについて、３以上の複数個を設けることも可能である。このような構成としても、３個以上の複数のパーティションのうちで、現在実行中のプログラムが格納されているパーティションと、更新プログラムを格納するパーティションとを指定することにより、同様の手順でプログラム更新処理を実行することができる。
【０１２３】
また、図１の構成では、無線ＬＡＮルータ６０を「ルータ」として用いたが、本実施の形態に従う通信システムでは、無線ＬＡＮルータ６０に代えて有線ＬＡＮルータを用いることも可能である。有線ＬＡＮルータは、所定の通信規格に従う通信ケーブル６５（例えば、イーサネット（登録商標）ケーブル）によって通信アダプタ４０との間で有線通信を行うことにより、通信アダプタ４０及びサーバ２０の間での双方向のデータ送受信を可能とする。この場合にも、通信アダプタ４０は、図５〜図７で説明したのと同様に、プログラム情報Ｘ，Ｙ及び結果フラグＦｕｄをサーバ２０へ送信することができる。
【０１２４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２５】
１０  温水供給システム、２０  管理センター（サーバ）、２１  サーバ装置、２１ａ  クラウドサーバ、２１ｂ  アプリケーションサーバ、２６，４２，４３  通信ユニット、２７，４５  メモリ、２７ａ，４５ａ  ＲＯＭ、２８  表示部、３０  スマートフォン、４０  通信アダプタ、４１  制御部、４４  電源回路、４５ｂ  ＲＡＭ、４７  アンテナ、４８  報知部、４９  手動スイッチ、５０  ２心通信線、６０  ルータ、７０  サポートセンター、７１  端末、１００  温水供給装置、１０５  リモコン、Ａ０〜Ａ１２，Ａｚ  アドレス、Ｆｕｄ  結果フラグ、ＰＴ０，ＰＴ１  パーティション、Ｘ，Ｙ  プログラム情報。
【図１】
2019096202.tif 000003
【図２】
2019096202.tif 000004
【図３】
2019096202.tif 000005
【図４】
2019096202.tif 000006
【図５】
2019096202.tif 000007
【図６】
2019096202.tif 000008
【図７】
2019096202.tif 000009
【図８】
2019096202.tif 000010
【図９】
2019096202.tif 000011