(57)【要約】【課題】機器５００との通信に用いる通信プロトコルの拡張を柔軟に行うことを目的とする。【解決手段】本発明の一実施形態に係る仲介装置は、ローカルネットワーク７内に存在する機器５００と、ローカルネットワーク７とファイアウォール９を介して接続された管理システム３との通信を仲介する仲介装置３０であって、仲介装置３０が利用できない特定の通信プロトコルを拡張するためのプラグインモジュールに関するプラグイン設定情報（プラグインの一例）を、管理システム３から受信する。そして、仲介装置３０は、受信されたプラグイン設定情報を用いて、特定の通信プロトコルに対応する通信定義を設定し、設定された通信定義に基づいて、特定の機器５００との通信を行う。【選択図】図２
2020087006.tif 000002
【特許請求の範囲】
【請求項１】
ローカルネットワーク内に存在する機器と、前記ローカルネットワークとファイアウォールを介して接続された管理システムとの通信を仲介する仲介装置であって、
前記仲介装置が利用できない特定の通信プロトコルを拡張するためのプラグインを、前記管理システムから受信する受信手段と、
前記受信されたプラグインを用いて、前記特定の通信プロトコルに対応する通信定義を設定する設定手段と、
前記設定された通信定義に基づいて、特定の機器との通信を行う通信手段と、
を備える仲介装置。
【請求項２】
前記受信手段は、前記管理システムと接続されている通信セッションを介して、プラグインの設定要求を、前記管理システムから受信し、更に、
前記受信された設定要求に示されるプラグインの転送要求を、前記管理システムへ送信する送信手段を備え、
前記受信手段は、前記送信された転送要求に対する応答として、前記管理システムから前記プラグインを受信する請求項１に記載の仲介装置。
【請求項３】
前記設定手段は、前記通信定義として、前記受信されたプラグインを示すプラグイン情報と当該プラグインに対応する前記特定の通信プロトコルを示す通信プロトコル情報とを関連づけて設定する請求項２に記載の仲介装置。
【請求項４】
請求項３に記載の仲介装置であって、更に、
前記設定されたプラグイン情報に示される前記プラグインの更新要求を受け付ける受付手段を備え、
前記設定手段は、前記受け付けられた更新要求に示される前記プラグインを更新する仲介装置。
【請求項５】
前記通信プロトコル情報は、異なる前記通信プロトコルの間で共通する通信プロトコル共通定義を含む請求項３乃至４のいずれか一項に記載の仲介装置。
【請求項６】
前記通信定義は、前記通信プロトコル共通定義に複数の前記プラグイン情報が関連づけられている請求項５に記載の仲介装置。
【請求項７】
前記設定手段は、前記プラグイン情報を設定した日時を示す時間情報を、当該プラグイン情報に関連づけて設定する請求項３乃至６のいずれか一項に記載の仲介装置。
【請求項８】
請求項３乃至７のいずれか一項に記載の仲介装置であって、
前記プラグイン情報は、当該プラグイン情報に示される前記プラグインのバージョンを示すバージョン情報を含み、更に、
前記設定されたプラグイン情報を表示部に表示させる表示制御手段を、備える仲介装置。
【請求項９】
前記通信プロトコル情報は、前記特定の機器との通信に用いる前記特定の通信プロトコルのパラメータを示すパラメータ情報を含む請求項３乃至８のいずれか一項に記載の仲介装置。
【請求項１０】
前記通信プロトコル情報は、複数の前記パラメータ情報を含む請求項９に記載の仲介装置。
【請求項１１】
前記通信定義は、前記通信の目的を示す動作種別と前記通信プロトコルとが分離されている請求項１乃至１０のいずれか一項に記載の仲介装置。
【請求項１２】
前記通信定義は、前記機器を特定するための機器特定情報に複数の前記動作種別が関連づけられている請求項１１に記載の仲介装置。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の仲介装置と、前記管理システムとを備える遠隔機器管理システムであって、
前記管理システムは、
前記プラグインを管理する管理手段を備え、
前記受信手段は、前記管理手段によって管理されるプラグインを、前記管理システムから受信する遠隔機器管理システム。
【請求項１４】
前記管理手段は、前記プラグインに、ユーザを識別するためのユーザ識別情報を関連づけて管理する請求項１３に記載の遠隔機器管理システム。
【請求項１５】
ローカルネットワーク内に存在する機器と、前記ローカルネットワークとファイアウォールを介して接続された管理システムとの通信を仲介する仲介装置が実行する通信方法であって、
前記仲介装置が利用できない特定の通信プロトコルを拡張するためのプラグインを、前記管理システムから受信する受信ステップと、
前記受信されたプラグインを用いて、前記特定の通信プロトコルに対応する通信定義を設定する設定ステップと、
前記設定された通信定義に基づいて、特定の機器との通信を行う通信ステップと、
を実行する通信方法。
【請求項１６】
コンピュータに、請求項１５に記載の通信方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仲介装置、遠隔機器管理システム、通信方法およびプログラムに関する。
【背景技術】
【０００２】
ＬＡＮ（Local Area Network）等のローカルネットワーク内に存在する機器をローカルネットワーク外から遠隔管理する遠隔機器管理システムが知られている。遠隔機器管理システムは、例えば、機器から機器情報を取得可能な仲介装置をローカルネットワーク内に設けている。そして、ローカルネットワーク外に位置する管理サーバは、仲介装置との間でファイアウォールを介して通信を行うことで、機器の遠隔管理を実現している。
【０００３】
また、このような遠隔機器管理システムにおいては、管理対象の機器の種別に依らずに、管理サーバ側での機器管理を実現することにより、システムの利便性が高まる。例えば、特許文献１には、複数のサービス事業者のサービスが動作するゲートウェイ装置が、対応する通信プロトコルのインターフェースを用いて機器との間で送受信されたデータを、共通インターフェースに変換し、対応するサービスで用いられるルート情報と当該サービスの利用が許可される機器に関する許可情報とに基づいて、データを中継する内容が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の方法では、ローカルネットワーク外に位置する管理サーバとしての管理システムが、ゲートウェイ装置としての仲介装置が利用できない通信プロトコルを用いて機器との通信を行うためには、遠隔地に設置された仲介装置のファームウエアを更新しなければならなかった。そのため、遠隔機器管理システムにおいて、機器との通信に用いる通信プロトコルの拡張を頻繁に行うことができないという課題があった。
【課題を解決するための手段】
【０００５】
請求項１に係る仲介装置は、ローカルネットワーク内に存在する機器と、前記ローカルネットワークとファイアウォールを介して接続された管理システムとの通信を仲介する仲介装置であって、前記仲介装置が利用できない特定の通信プロトコルを拡張するためのプラグインを、前記管理システムから受信する受信手段と、前記受信されたプラグインを用いて、前記特定の通信プロトコルに対応する通信定義を設定する設定手段と、前記設定された通信定義に基づいて、特定の機器との通信を行う通信手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、遠隔機器管理システムにおいて、機器との通信に用いる通信プロトコルの拡張を柔軟に行うことができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る遠隔機器管理システムのシステム構成の一例を示す図である。
【図２】第１の実施形態に係る遠隔機器管理システムの概略の一例を示す図である。
【図３】第１の実施形態に係るコンピュータのハードウエア構成の一例を示す図である。
【図４】第１の実施形態に係る管理システムの機能構成の一例を示す図である。
【図５】第１の実施形態に係る仲介装置および機器の機能構成の一例を示す図である。
【図６】第１の実施形態に係る機器との通信に用いる通信定義の概略モデルの一例を示す図である。
【図７】第１の実施形態に係る機器との通信に用いる通信定義の概略モデルの一例を示す図である。
【図８】第１の実施形態に係る仲介装置管理テーブルの一例を示す図である。
【図９】第１の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。
【図１０】第１の実施形態に係るプラグイン管理テーブルの一例を示す図である。
【図１１】第１の実施形態に係る機器管理テーブルの一例を示す図である。
【図１２】第１の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。
【図１３】第１の実施形態に係るプラグイン管理テーブルの一例を示す図である。
【図１４】第１の実施形態に係る遠隔機器管理システムにおける仲介装置の登録番号の発行処理の一例を示すシーケンス図である。
【図１５】第１の実施形態に係る遠隔機器管理システムおける、遠隔機器管理装置への仲介装置の登録処理の一例を示すシーケンス図である。
【図１６】第１の実施形態に係る遠隔機器管理システムにおける、遠隔機器管理装置と仲介装置との間の通信セッションの状態遷移の概略の一例を示す図である。
【図１７】第１の実施形態に係る遠隔機器管理システムにおけるプラグイン設定情報の更新処理の一例を示すシーケンス図である。
【図１８】第１の実施形態に係る遠隔機器管理システムにおけるプラグイン設定情報の更新処理の一例を示すシーケンス図である。
【図１９】第１の実施形態に係る管理システムに表示されるプラグイン一覧画面の一例を示す図である。
【図２０】第１の実施形態に係る遠隔機器管理システムにおける実装パラメータの設定処理の一例を示すシーケンス図である。
【図２１】第１の実施形態に係る遠隔機器管理システムにおける遠隔機器管理装置から機器に対する制御処理の一例を示すシーケンス図である。
【図２２】第１の実施形態に係る遠隔機器管理システムにおける機器情報取得処理の一例を示すシーケンス図である。
【図２３】第１の実施形態に係る遠隔機器管理システムにおける機器から遠隔機器管理システムへの機器情報の通知処理の一例を示すシーケンス図である。
【図２４】第２の実施形態に係る管理システムの機能構成の一例を示す図である。
【図２５】第２の実施形態に係る機器との通信に用いる通信定義の概略モデルの一例を示す図である。
【図２６】第２の実施形態に係る利用許諾管理テーブルの一例を示す図である。
【図２７】第３の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。
【図２８】第３の実施形態に係るプラグイン管理テーブルの一例を示す図である。
【図２９】第３の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。
【図３０】第３の実施形態に係るプラグイン管理テーブルの一例を示す図である。
【図３１】第３の実施形態に係る遠隔機器管理システムにおける実装パラメータの設定処理の一例を示すシーケンス図である。
【図３２】その他の実施形態に係る遠隔機器管理システムのシステム構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
【０００９】
●第１の実施形態●
●システム構成
図１は、第１の実施形態に係る遠隔機器管理システムのシステム構成の一例を示す図である。遠隔機器管理システム１は、クラウド上の管理システム３を用いて、遠隔地に存在する機器５００を管理するシステムである。遠隔機器管理システム１は、管理システム３、ローカルネットワーク７およびファイアウォール９を含む。ローカルネットワーク７は、インターネットを介して管理システム３と接続されている。ローカルネットワーク７と管理システム３は、ファイアウォール９をインターフェースとして接続されている。
【００１０】
ローカルネットワーク７は、オフィス、会議室、倉庫、工場または特定の生産ライン等のネットワーク環境において形成される通信ネットワークである。ローカルネットワーク７は、例えば、インターネットを経由しない社内ＬＡＮ（Local Area Network）である。ローカルネットワーク７は、仲介装置３０、ＭＦＰ（Multi-Function Peripheral：複合機）５００ａ、ＰＪ（Projector：プロジェクタ）５００ｂ、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）５００ｃ、ＰＣ（Personal Computer：パソコン）５００ｄ、センサデバイス５００ｅ（例：外部と通信可能な、電子天秤・気圧計・加速度計・電流計・温度計・光度計・人感センサ・カメラ・照度計）を含む。ＭＦＰ５００ａ、ＰＪ５００ｂ、ＩＷＢ５００ｃ、ＰＣ５００ｄ、センサデバイス５００ｅは、管理システム３における遠隔管理の対象となる管理対象機器である。なお、以下の説明で使用する機器５００は、これらの管理対象機器の総称である。
【００１１】
ファイアウォール９は、管理システム３（インターネット）からの特定のパケットのみをローカルネットワーク７内に通過させる機能を有する。これにより、ファイアウォール９は、ローカルネットワーク７への意図しないまたは不正なアクセスをブロックすることが可能となる。また、ファイアウォール９は、仲介装置３０からのパケットを管理システム３に転送する機能を有する。
【００１２】
管理システム３は、ローカルネットワーク７内に存在する仲介装置３０および機器５００を管理するためのシステムである。管理システム３は、遠隔機器管理装置１０および複数の管理者端末９０（９０ａ、９０ｂ、９０ｃ、以下区別する必要のないときは管理者端末９０と称する。）を含む。
【００１３】
遠隔機器管理装置１０は、複数のローカルネットワーク７に存在する仲介装置３０および機器５００の情報を管理するためのサーバコンピュータである。遠隔機器管理装置１０は、ファイアウォ−ル９を介して仲介装置３０と接続され、ローカルネットワーク７内の機器５００を、仲介装置３０を介して遠隔管理する。管理の一例として、遠隔機器管理装置１０は、ＭＦＰ５００ａから、トナー残量・印刷枚数等の状態に関する情報を取得することが可能である。また、遠隔機器管理装置１０は、ＭＦＰ５００ａに蓄積されたドキュメントデータの印刷を実行させるための指示が可能である。また、遠隔機器管理装置１０は、ＰＪ５００ｂ、ＩＷＢ５００ｃ、およびＰＣ５００ｄに対して、電源のＯＮまたはＯＦＦを制御することが可能である。さらに、遠隔機器管理装置１０は、センサデバイス５００ｅに対して、当該センサデバイス５００ｅによって取得された情報を取得することが可能である。なお、遠隔機器管理装置１０は、一台のサーバコンピュータによって構成されてもよく、複数のサーバコンピュータによって構成されてもよい。
【００１４】
管理者端末９０は、仲介装置３０の設置担当者または機器５００の保守担当者等の遠隔機器管理システム１の管理者が使用するノートＰＣ等の端末である。管理者端末９０は、遠隔機器管理装置１０によって管理される機器５００の機器情報を、Ｗｅｂブラウザ等を用いて表示させることで、遠隔機器管理システム１の管理者に管理対象の機器５００の情報を提供する。また、複数の管理者端末９０は、異なる拠点からそれぞれ遠隔機器管理装置１０へアクセスすることができる。遠隔機器管理装置１０は、例えば、ローカルネットワーク７の使用環境や機器５００の種別に応じて、提供するアプリケーションの内容を設定することができ、管理者端末９０ごとに提供するアプリケーションを管理している。なお、管理者端末９０は、例えば、タブレット端末、携帯電話、スマートフォン、ウェアラブル端末またはディスクトップＰＣ等であってもよい。
【００１５】
また、管理者端末９０は、ローカルネットワーク７内において、仲介装置３０と直接通信可能な構成であってもよい。例えば、仲介装置３０の設置担当者が現場で仲介装置３０の設置作業を行う場合、設置担当者が使用する管理者端末９０は、仲介装置３０とローカルネットワーク７内で直接通信を行うことで、仲介装置３０の設置作業を円滑に行うことができる。
【００１６】
仲介装置３０は、遠隔機器管理装置１０と、ローカルネットワーク７における機器５００との間の通信を仲介する装置である。仲介装置３０は、遠隔機器管理装置１０からファイアウォール９を超えて、ローカルネットワーク７内にメッセージを送信するために常時セッションを維持するための責務を持ち、ローカルネットワーク７内のセキュリティを担保しつつ遠隔機器管理装置１０と監視対象の機器５００との双方向の通信を実現する。仲介装置３０は、機器５００およびファイアウォール９と、有線または無線ＬＡＮ等を介して通信可能である。仲介装置３０は、遠隔機器管理装置１０からの指示を受けて機器５００にアクセスしたり、機器５００からのアラート通知を遠隔機器管理装置１０に送信したり、予め設定されたスケジュールに基づき機器５００の情報取得通知や死活監視（例えば、機器５００が通信可能であるかどうか等）を行う。仲介装置３０は、単体として機能するボックス型（箱型）の通信装置であってもよく、ＭＦＰ５００ａ等の機器に内蔵されていてもよい。
【００１７】
また、仲介装置３０は、インターネット上にある遠隔機器管理装置１０と、ファイアウォール９を経由して通信可能である。すなわち、仲介装置３０は、ファイアウォール（をインターフェースとするローカルネットワーク７）内に位置し、管理システム３を構成する遠隔機器管理装置１０は、ファイアウォール（をインターフェースとするローカルネットワーク７）外に位置するといえる。
【００１８】
機器５００（ＭＦＰ５００ａ、ＰＪ５００ｂ、ＩＷＢ５００ｃ、ＰＣ５００ｄおよびセンサデバイス５００ｅ）は、ローカルネットワーク７内に位置し、かつファイアウォール（をインターフェースとするローカルネットワーク７）内に位置する。機器５００は、管理システム３によるメンテナンスやカウンタ検針等が行われる管理対象の機器である。また、機器５００は、人感センサ等のネットワーク機能を備えていない端末に、ネットワーク機能を備えた機器を取り付けてもよい。
【００１９】
なお、管理システム３は、遠隔機器管理装置１０と管理者端末９０の機能を一台の装置によって実行される構成であってもよい。また、図１は、管理システム３が、一つのローカルネットワーク７内に位置する複数の機器５００を遠隔管理する例を示すが、管理システム３が、複数のローカルネットワーク７内のそれぞれに位置する機器５００を遠隔管理する構成にしてもよい。また、図１は、一台の仲介装置３０が一つのローカルネットワーク７内に位置する例を示すが、一つのローカルネットワーク内に二台以上の仲介装置３０が位置する構成にしてもよい。この場合、仲介装置３０ごとに担う機能を分担してもよい。
【００２０】
●概略
ここで、第１の実施形態に係る遠隔機器管理システムの構成の概略に説明する。なお、図２は、第１の実施形態に係る遠隔機器管理システムの概略を簡略的に説明したものであり、遠隔機器管理システム１が実現する機能等の詳細は、後述する図面等を用いて説明する。
【００２１】
図２は、第１の実施形態に係る遠隔機器管理システムの概略の一例を示す図である。図２に示す遠隔機器管理システム１は、機器５００との通信に用いる通信プロトコルの拡張を柔軟に行うことができるシステムである。遠隔機器管理システム１は、機器５００との通信に用いる通信プロトコルの種類に依らずに、ローカルネットワーク７内に存在する機器５００と、管理システム３とのファイアウォール９を介した通信を行うことができる。図２に示す遠隔機器管理システム１には、ローカルネットワーク７内に、遠隔機器管理装置１０による管理対象（監視対象）である５台の機器５００（機器１〜機器５）が設けられている。
【００２２】
ここで、仲介装置３０は、通常同一のローカルネットワーク７に存在する機器５００に対しては、同列に管理対象として通信することができる。一方で、仲介装置３０は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）ネットワークまたはＨＴＴＰ(HyperText Transfer Protocol)／ＳＮＭＰ(Simple Network Management Protocol)等の標準プロトコルをサポートしていない機器に対しては、通信できないケースがある。そこで、図２に示すように、仲介装置３０は、既存のファームウエアによって利用可能な通信プロトコルに加えて、それぞれの機器５００との通信に用いる通信プロトコルに対応するプラグインモジュールがインストールされている。これにより、仲介装置３０は、ＨＴＴＰ／ＳＮＭＰ等の標準プロトコルをサポートしていない機器（例えば、機器４および機器５）との通信を行うことができる。
【００２３】
従来の遠隔機器管理システムは、仲介装置３０が利用できない通信プロトコルに対応する機器５００と通信できるようにするために、仲介装置３０のファームウエアを更新しなければならなかった。仲介装置３０のファームウエアを更新した場合、機器５００との通信に用いる通信プロトコルを追加するたびにシステム全体の改修が必要となるため、システムを復旧させるまでの手続きが必要となり、結果的に通信プロトコルの拡張に時間を要していた。
【００２４】
そこで、第１の実施形態に係る遠隔機器管理システム１は、仲介装置３０が遠隔機器管理装置１０に登録された後に、仲介装置３０と遠隔機器管理装置１０との間で通信セッションが確立される。遠隔機器管理システム１は、この確立された通信セッションを常時接続可能な状態に維持しておくことで、遠隔機器管理装置１０から仲介装置３０へプラグインの設定要求が送信され、機器５００との通信に用いる通信プロトコルに対応するプラグイン（プラグインモジュール）を、仲介装置３０にダウンロードおよびインストールさせる。
【００２５】
また、仲介装置３０は、通信プロトコル拡張用のネットワークＩ／Ｆを備えており、遠隔機器管理装置１０から送信されたプラグインモジュールをネットワークＩ／Ｆとして設定することで、機器５００との通信に用いる通信プロトコルを拡張させることができる。そして、遠隔機器管理システム１は、拡張された通信プロトコルを用いて、遠隔機器管理装置１０と機器５００との仲介装置３０を介した通信を行う。これにより、遠隔機器管理システム１は、管理対象の機器５００の通信に用いる通信プロトコルに依らずに、管理対象の機器５００と遠隔機器管理装置１０とのファイアウォール９を介した通信を行うことができる。
【００２６】
●ハードウエア構成
続いて、第１の実施形態に係る各装置のハードウエア構成について説明する。遠隔機器管理システム１を構成する各装置は、一般的なコンピュータの構成を有する。ここでは、一般的なコンピュータのハードウエア構成例について説明する。
【００２７】
図３は、第１の実施形態に係るコンピュータのハードウエア構成の一例を示す図である。なお、図３に示すコンピュータ１０００のハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。コンピュータ１０００は、ＣＰＵ（Central Processing Unit）１００１、ＲＯＭ（Read Only Memory）１００２、ＲＡＭ（Random Access Memory）１００３、ストレージ１００４、キーボード１００５、ディスプレイインターフェース（Ｉ／Ｆ）１００６、メディアインターフェース（Ｉ／Ｆ）１００７、ネットワークインターフェース（Ｉ／Ｆ）１００８およびバス１００９等を有する。
【００２８】
ＣＰＵ１００１は、ＲＯＭ１００２やストレージ１００４等に格納されたプログラムやデータをＲＡＭ１００３上に読み出し、処理を実行することで、コンピュータ１０００の各機能を実現する演算装置である。例えば、仲介装置３０は、本発明に係るプログラムをＣＰＵ１００１で実行することで、本発明に係る通信方法を実現する。
【００２９】
ＲＯＭ１００２は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。ＲＯＭ１００２は、例えば、フラッシュＲＯＭ等により構成される。ＲＯＭ１００２は、多種の用途に対応したＳＤＫ（Software Development Kit）がインストールされており、ＳＤＫのアプリケーションを用いて、コンピュータ１０００の機能やネットワーク接続等を実現することが可能である。
【００３０】
ＲＡＭ１００３は、ＣＰＵ１００１のワークエリア等として用いられる揮発性のメモリである。ストレージ１００４は、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等のストレージデバイスである。ストレージ１００４は、例えば、ＯＳ（Operation System）、アプリケーションプログラムおよび各種データ等を記憶する。
【００３１】
キーボード１００５は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。入力手段は、キーボード１００５のみならず、例えば、マウス、タッチパネルまたは音声入力装置等であってもよい。ディスプレイＩ／Ｆ１００６は、ＬＣＤ（Liquid Crystal Display）等のディスプレイ１００６ａに対するカーソル、メニュー、ウィンドウ、文字または画像等の各種情報の表示を制御する。ディスプレイ１００６ａは、入力手段を備えたタッチパネルディスプレイであってもよい。
【００３２】
メディアＩ／Ｆ１００７は、ＵＳＢ（Universal Serial Bus）メモリ、メモリカード、光学ディスクまたはフラッシュメモリ等の記録メディア１００７ａに対するデータの読み出しまたは書き込み（記憶）を制御する。
【００３３】
ネットワークＩ／Ｆ１００８は、コンピュータ１０００をネットワークに接続し、他のコンピュータや、電子機器等とデータの送受信を行うためのインターフェースである。ネットワークＩ／Ｆ１００８は、例えば、有線または無線ＬＡＮ（Local Area Network）等の通信インターフェースである。また、ネットワークＩ／Ｆ１００８は、３Ｇ（3rd Generation）、ＬＴＥ(Long Term Evolution)、４Ｇ（4th Generation）、５Ｇ（5th Generation）、Ｚｉｇｂｅｅ（登録商標）、ＥｎＯｃｅａｎ、ＢＬＥ（Bluetooth（登録商標）Low Energy）、ＮＦＣ（Near Field Communication）、ミリ波無線通信、赤外線通信、ＱＲコード（登録商標）、可視光、環境音または超音波等の通信インターフェースを備えてもよい。
【００３４】
バスライン１００９は、上記の各構成要素に共通に接続され、アドレス信号、データ信号、および各種制御信号等を伝送する。ＣＰＵ１００１、ＲＯＭ１００２、ＲＡＭ１００３、ストレージ１００４、キーボード１００５、ディスプレイＩ／Ｆ１００６、メディアＩ／Ｆ１００７およびネットワークＩ／Ｆ１００８は、バスライン１００９を介して相互に接続されている。
【００３５】
なお、第１の実施形態に係る各装置のハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。例えば、遠隔機器管理装置１０は、キーボード１００５等の入力手段およびディスプレイ１００６ａを備えていない構成であってもよい。また、機器５００は、各機器の種別に応じた機能やサービスを提供するためのモジュール等を備える構成であってもよい。
【００３６】
●機能構成
続いて、第１の実施形態に係る遠隔機器管理システムの機能構成について説明する。まず、図４を用いて、管理システム３を構成する遠隔機器管理装置１０および管理者端末９０の機能構成を説明する。図４は、第１の実施形態に係る管理システムの機能構成の一例を示す図である。図４に示す遠隔機器管理装置１０により実現される機能は、仲介装置通信部１１、コマンド管理部１２、判断部１３、プラグイン管理部１４、通信管理部１５、Ｗｅｂサーバ部１６、記憶・読出部１７および記憶部１００を含む。
【００３７】
仲介装置通信部１１は、仲介装置３０との間で各種データ（情報）をやり取りする機能である。仲介装置通信部１１は、ローカルネットワーク７の内部に位置する仲介装置３０との間のファイアウォ−ル９を経由した通信を制御する。仲介装置通信部１１は、仲介装置３０から遠隔機器管理装置１０に対して常時通信（常時接続）可能なように通信セッション（ＷｅｂＳｏｃｋｅｔ等）を維持しておき、仲介装置３０との間で、各種データ（情報）を送受信する。また、仲介装置通信部１１は、仲介装置３０から送信された遠隔機器管理装置１０へのポーリングを受信し、当該ポーリングに対する応答を仲介装置３０へ送信する。本実施形態において、仲介装置３０へのプラグインモジュールの登録時には常時通信（常時接続）可能な通信セッションを維持するが、その他の状況においては、どちらの方法をとってもよい。
【００３８】
仲介装置通信部１１は、例えば、Ｗｅｂサーバ部１６によって発行されたコマンドを、仲介装置３０へ送信する。仲介装置通信部１１から送信されるコマンドは、例えば、仲介装置３０または機器５００に対する所定の要求を示す要求情報の一例である。仲介装置３０と遠隔機器管理装置１０との間で常時通信（接続）可能な通信セッション（ＷｅｂＳｏｃｋｅｔ等）が確立されていない場合、遠隔機器管理装置１０は、Ｗｅｂサーバ部１６によって発行されたコマンドを、未送信または送信完了といったステータスでコマンドの送信状態を管理する。また、仲介装置通信部１１は、仲介装置３０へ送信したコマンドに対する応答、または機器５００から自発的に送信された機器５００のステータスを示す状態情報等の機器情報を、仲介装置３０から受信する。受信された情報は、Ｗｅｂサーバ部１６に送信され、Ｗｅｂクライアントを用いて管理者端末９０に表示される。仲介装置通信部１１は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。
【００３９】
コマンド管理部１２は、Ｗｅｂサーバ部１６によって発行されたコマンドを管理する機能である。コマンド管理部１２は、例えば、Ｗｅｂサーバ部１６によって生成されたコマンド、および仲介装置３０または機器５００によるコマンドの実行結果を管理する。コマンド管理部１２は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。
【００４０】
判断部１３は、管理（監視）対象の機器５００から送信される機器情報に基づいて、機器５００の状態を判断する機能である。判断部１３は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。
【００４１】
プラグイン管理部１４は、遠隔機器管理システム１において利用可能なプラグイン（プラグインモジュール）を管理する機能である。プラグイン管理部１４は、例えば、仲介装置３０に設定するためのプラグイン（プラグインモジュール）、および既に仲介装置３０にインストールされているプラグイン（プラグインモジュール）の情報を管理する。プラグイン管理部１４は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。プラグイン管理部１４は、管理手段の一例である。
【００４２】
通信管理部１５は、ローカルネットワーク７に存在する仲介装置３０および機器５００との通信を管理する機能である。通信管理部１５は、例えば、遠隔機器管理システム１において利用可能な通信プロトコルの情報を管理する。また、通信管理部１５は、通信プロトコルのそれぞれにおいて定義された通信パラメータの情報を管理する。通信管理部１５は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。
【００４３】
Ｗｅｂサーバ部１６は、Ｗｅｂアプリケーションのサーバ部としての機能を担う機能である。Ｗｅｂサーバ部１６は、Ｗｅｂクライアント部９１からの要求をＨＴＴＰＳ(HyperText Transfer Protocol Secure)等の通信プロトコルを利用してＷｅｂＡＰＩ(Web Application Programming Interface)で受け付け、要求に従った処理を行ってＷｅｂクライアント部９１へ応答する。利用される通信プロトコルは、これに限られず、ＦＴＰ(File Transfer Protocol)、ＨＴＴＰまたはＳＮＭＰ等のプロトコルを用いてもよい。
【００４４】
また、Ｗｅｂサーバ部１６は、遠隔機器管理装置１０から仲介装置３０または機器５００との通信が必要な場合に、仲介装置３０または機器５００に送信するコマンドを発行（生成）する。発行されるコマンドは、仲介装置３０へのプラグインの更新要求、機器５００のステータスを示す状態情報等の機器情報の取得または電源のＯＮ/ＯＦＦ等の制御命令である。これらのコマンドは、仲介装置３０または機器５００に対する所定の要求を示す要求情報の一例である。Ｗｅｂサーバ部１６は、仲介装置通信部１１によって受信されたコマンド結果を、Ｗｅｂクライアント部９１の画面上にリアルタイムに通知するためにＷｅｂＳｏｃｋｅｔ等の機能を有していてもよい。Ｗｅｂサーバ部１６は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。
【００４５】
記憶・読出部１７は、記憶部１００に各種データを記憶し、記憶部１００から各種データを読み出す機能である。記憶・読出部１７および記憶部１００は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。また、記憶部１００は、図３に示したＲＯＭ１００２またはストレージ１００４によって実現される。さらに、記憶部１００は、仲介装置３０に関する各種情報を記憶・管理する仲介装置管理テーブル１１０、プラグイン（プラグインモジュール）に対応する通信プロトコルに関する情報を記憶・管理する通信プロトコル管理テーブル１３０ａ、仲介装置３０と機器５０との間の通信に用いるプラグイン（プラグインモジュール）を記憶・管理するプラグイン管理テーブル１５０ａを記憶している。仲介装置管理テーブル１１０、通信プロトコル管理テーブル１３０ａおよびプラグイン管理テーブル１５０ａの詳細は、後述する。
【００４６】
続いて、管理者端末９０の機能構成について説明する。図４に示す管理者端末９０により実現される機能は、Ｗｅｂクライアント部９１、受付部９２、仲介装置通信部９３および表示制御部９４を含む。
【００４７】
Ｗｅｂクライアント部９１は、Ｗｅｂアプリケーションのクライアント部としての役割を担う機能である。Ｗｅｂクライアント部９１は、Ｗｅｂブラウザで動作するＨＴＭＬ(Hyper Text Markup Language)、またはＪａｖａＳｃｒｉｐｔ（登録商標）、ＣＳＳ(Cascading Style Sheets)といった言語で記述されたプログラムが実行されることによって実現される。Ｗｅｂクライアント部９１は、例えば、後述するプラグイン一覧画面９００（図１９参照）を、管理者端末９０のディスプレイ１００６ａに表示させる。また、Ｗｅｂクライアント部９１は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。
【００４８】
受付部９２は、図３に示したキーボード１００５等の入力手段に対するユーザ入力を受け付ける機能である。受付部９２は、例えば、Ｗｅｂクライアント部９１によってディスプレイ１００６ａに表示された表示画面に示される各種項目に対する選択を受け付ける。受付部９２は、例えば、図３に示したキーボード１００５およびＣＰＵ１００１で実行されるプログラム等によって実現される。
【００４９】
仲介装置通信部９３は、ローカルネットワーク７内において、仲介装置３０との間で各種データ（情報）をやり取りする機能である。仲介装置通信部９３は、例えば、ＨＴＴＰまたはＳＮＭＰ等の通信プロトコルを用いて、仲介装置３０と通信を行う。仲介装置通信部９３は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。
【００５０】
表示制御部９４は、図３に示したディスプレイ１００６ａに各種画面情報を表示させる機能である。表示制御部９４は、例えば、ユーザによる入力操作を受け付ける操作画面等を、ディスプレイ１００６ａに表示させる。表示制御部９４は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。
【００５１】
続いて、図５を用いて、ローカルネットワーク７に属する各装置の機能構成を説明する。図５は、第１の実施形態に係る仲介装置および機器の機能構成の一例を示す図である。図５に示す仲介装置３０により実現される機能は、管理装置通信部３１、機器通信部３２、受付部３３、表示制御部３４、機器情報管理部３５、通信管理部３６、プラグイン管理部３７、記憶・読出部３８および記憶部３００を含む。
【００５２】
管理装置通信部３１は、遠隔機器管理装置１０との間で各種データ（情報）をやり取りする機能である。管理装置通信部３１は、例えば、プラグイン設定情報の更新要求、またはプラグイン情報および通信プロトコル情報を含む設定要求情報を、遠隔機器管理装置１０から受信する。また、管理装置通信部３１は、例えば、遠隔機器管理装置１０から送信された機器５００に対して所定の処理の実行を要求するコマンドを受信する。さらに、管理装置通信部３１は、例えば、遠隔機器管理装置１０から送信されたコマンドに対する応答（処理の実行結果）を、遠隔機器管理装置１０へ送信する。また、管理装置通信部３１は、仲介装置３０または機器５００のステータスを示す状態情報等の装置情報または機器情報を、遠隔機器管理装置１０へ送信する。管理装置通信部３１は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。管理装置通信部３１は、受信手段の一例である。また、管理装置通信部３１は、送信手段の一例である。
【００５３】
機器通信部３２は、機器５００との間で各種データ（情報）をやり取りする機能である。機器通信部３２は、プラグイン管理部３７によって管理されるプラグイン（プラグインモジュール）、および通信管理部３６によって管理される動作種別、通信プロトコルおよびパラメータ等の通信定義を用いて、機器５００と通信を行う。また、機器通信部３２は、例えば、管理装置通信部３１によって受信されたコマンドを、機器５００へ送信する。さらに、機器通信部３２は、例えば、機器５００から送信された、コマンドに対する応答を受信する。機器通信部３２は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。機器通信部３２は、通信手段の一例である。
【００５４】
受付部３３は、図３に示したキーボード１００５等の入力手段に対するユーザ入力を受け付ける機能である。受付部３３は、例えば、図３に示したディスプレイ１００６ａに表示される所定の表示画面に対する入力操作によって、プラグイン設定情報に示されるプラグインの更新要求を受け付ける。受付部３３は、例えば、図３に示したキーボード１００５およびＣＰＵ１００１で実行されるプログラム等によって実現される。受付部３３は、受付手段の一例である。
【００５５】
表示制御部３４は、図３に示したディスプレイ１００６ａに各種画面情報を表示させる機能である。表示制御部３４は、例えば、ユーザによる入力操作を受け付ける操作画面等を、ディスプレイ１００６ａに表示させる。表示制御部３４によって表示される表示画面は、例えば、仲介装置３０をローカルネットワーク７に設置するために必要な設定を行うためのＵＩ(user interface)である。仲介装置３０は、表示制御部３４によって表示されるＵＩを用いて、遠隔機器管理装置１０と通信するためのＩＰアドレス、サブネットマスクもしくはデフォルトゲートウェイ等のパラメータ、および遠隔機器管理装置１０のＵＲＬ（Uniform Resource Locator）もしくはプロキシサーバ(認証サーバ)等の設定を行う。また、仲介装置３０は、表示制御部３４によって表示されるＵＩを用いて、遠隔機器管理装置１０との疎通確認、および通信を開始するための手続きを実行する。表示制御部３４は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。表示制御部３４は、表示制御手段の一例である。
【００５６】
機器情報管理部３５は、仲介装置３０と通信可能な機器５００に関する機器情報を管理する機能である。機器情報管理部３５は、例えば、機器５００へ機器情報の取得要求を送信するタスクスケジュールを管理する。また、機器情報管理部３５は、例えば、機器５００から送信された機器５００の状態を示す状態情報に基づいて、機器５００の状態を管理する。
【００５７】
さらに、機器情報管理部３５は、仲介装置３０のリソース状態を管理する。機器情報管理部３５は、例えば、仲介装置３０のメモリ不足、ストレージ不足、または書き込みエラー等の障害（異常）の兆候を検知する。また、機器情報管理部３５は、例えば、予め設定されたスケジュールに基づいて、定期的にリソース状態の監視結果を含む仲介装置３０の状態情報を生成する。機器情報管理部３５は、例えば、図３に示したＣＰＵ１００１により実行されるプログラム等によって実現される。
【００５８】
通信管理部３６は、ローカルネットワーク７に属する機器５００と通信するための通信定義を管理する機能である。通信管理部３６は、例えば、管理装置通信部３１によって受信された設定要求情報に基づいて、特定の機器５００との通信定義を設定・管理する。通信管理部３６は、例えば、通信定義として、機器５００との通信に用いる動作種別、通信プロトコルおよび通信パラメータを管理する。例えば、動作種別は、機器５００の識別子(シリアル番号)の取得、機器５００の状態情報の取得、遠隔機器管理装置１０との疎通確認、管理対象（監視対象）の機器５００の追加または削除等である。通信プロトコルは、ＨＴＴＰ、ＳＮＭＰまたはＩＣＭＰ（Ｐｉｎｇ）等の標準プロトコルのみならず、ＭｏｄＢｕｓまたは独自プロトコル等の既存のファームウエアに組み込まれている通信プロトコル以外の通信プロトコルも含む。パラメータは、各通信プロトコルに共通なものとしてタイムアウト時間またはリトライ回数があり、ＨＴＴＰ特有なパラメータとしてメソッド、リソースＵＲＩ(Uniform Resource Identifier)、ヘッダまたはボディ、ＳＮＭＰ特有なパラメータとしてＯＩＤ（オブジェクト識別子）、バージョン、コマンド種別、またはコミュニティ名等がある。
【００５９】
また、通信管理部３６は、遠隔機器管理装置１０とのファイアウォール９を介した通信セッションを管理する。通信管理部３６は、遠隔機器管理装置１０から送信されるコマンドを受信するため、常時接続（通信）可能な通信セッション（ＷｅｂＳｏｃｋｅｔ等）が維持されているかを監視する。そして、通信管理部３６は、常時通信可能な通信セッションが切断されている場合には、通信セッションの再接続を行う。通信管理部３６は、例えば、図３に示したＣＰＵ１００１により実行されるプログラム等によって実現される。通信管理部３６は、設定手段の一例である。
【００６０】
プラグイン管理部３７は、仲介装置３０にインストールされているプラグイン（プラグインモジュール）を管理する機能である。プラグイン管理部３７は、例えば、既に仲介装置３０に組み込まれている（インストールされている）ファームウエアに機能追加したバイナリを管理する。また、プラグイン管理部３７は、例えば、どのバージョンのどのプラグインモジュールがいつプラグインされたのかを管理する。さらに、プラグイン管理部３７は、新たなプラグインモジュールのインストール、並びにインストールされたプラグインモジュールの更新および削除を行う。プラグイン管理部３７は、例えば、図３に示したＣＰＵ１００１により実行されるプログラム等によって実現される。
【００６１】
記憶・読出部３８は、記憶部３００に各種データを記憶し、記憶部３００から各種データを読み出す機能である。記憶・読出部３８および記憶部３００は、例えば、図３に示したＲＯＭ１００２、ストレージ１００４およびＣＰＵ１００１で実行されるプログラム等により実現される。記憶部３００は、機器管理テーブル３１０、通信プロトコル管理テーブル３３０ａ、およびプラグイン管理テーブル３５０ａを記憶している。機器管理テーブル３１０、通信プロトコル管理テーブル３３０ａおよびプラグイン管理テーブル３５０ａの詳細は、後述する。
【００６２】
続いて、機器５００の機能構成について説明する。図５に示す機器５００により実現される機能は、通信部５０１、機器情報生成部５０２、コマンド実行部５０３、記憶・読出部５０４および記憶部６００を含む。
【００６３】
通信部５０１は、仲介装置３０との間で各種データ（情報）をやり取りする機能である。通信部５０１は、ＨＴＴＰまたはＳＮＭＰ等の通信プロトコルを用いて、仲介装置３０と通信を行う。また、通信部５０１は、シリアル通信であってもよい。通信部５０１は、例えば、図３に示したネットワークＩ／Ｆ１００８およびＣＰＵ１００１で実行されるプログラム等により実現される。
【００６４】
機器情報生成部５０２は、機器５００のステータスを示す状態情報等の機器情報を生成する機能である。機器情報生成部５０２は、例えば、仲介装置３０からの要求に応じて、仲介装置３０へ送信するための状態情報を生成する。状態情報は、機器５００のリソース状態を示す情報や稼働状態に関する情報を含むログ情報等の機器情報である。機器情報生成部５０２は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。
【００６５】
コマンド実行部５０３は、遠隔機器管理装置１０によって発行された機器５００への所定の処理の命令であるコマンドを実行する機能である。コマンドは、例えば、機器５００のステータスを示す状態情報等の機器情報の取得または電源のＯＮ/ＯＦＦ等の制御命令である。コマンド実行部５０３は、例えば、図３に示したＣＰＵ１００１で実行されるプログラム等により実現される。
【００６６】
記憶・読出部５０４は、記憶部６００に各種データを記憶し、記憶部６００から各種データを読み出す機能である。記憶・読出部５０４および記憶部６００は、例えば、図３に示したＲＯＭ１００２、ストレージ１００４およびＣＰＵ１００１で実行されるプログラム等により実現される。記憶部６００は、仲介装置３０を識別するための仲介装置識別情報６１０を記憶している。仲介装置識別情報６１０は、例えば、仲介装置３０のＩＰアドレスである。
【００６７】
○通信定義○
ここで、図６および図７を用いて、機器５００との通信に用いる通信定義について説明する。図６は、第１の実施形態に係る機器との通信に用いる通信定義の概略モデルの一例を示す図である。図６に示す通信定義は、仲介装置３０の通信管理部３６によって管理されるものであり、機器５００との間で通信される各種情報のデータ構造を概略的に示したものである。遠隔機器管理装置１０の監視対象（管理対象）である機器５００（管理対象機器）は、機器５００の種別を示すモデル名、機器５００の機器識別子であるシリアルＮｏ、機器５００を識別するための機器ＩＤ、機器５００のステータスを示す状態情報、および遠隔機器管理装置１０が機器５００を管理対象とするかを示す管理対象情報を送信する。遠隔機器管理装置１０は、機器５００から送信されるモデル名およびシリアルＮｏを用いて、機器５００を特定することができる。また、機器ＩＤは、モデル名とシリアルＮｏを含む。なお、機器ＩＤは、モデル名とシリアルＮｏとは異なる情報であり、機器ＩＤを用いて機器５００が特定される構成であってもよい。
【００６８】
また、図６に示す通信定義は、動作定義として、機器種別ごとに複数の動作種別を有している。動作種別とは、例えば、機器５００の機器識別子(シリアルＮｏ)の取得、状態情報の取得、仲介装置３０との疎通確認、管理対象の機器５００の追加または削除等である。
【００６９】
さらに、図６に示す通信定義は、異なる通信プロトコルの間で共通して用いられる通信プロトコル共通定義とプラグインとを、通信プロトコルを識別するための通信プロトコルＩＤによって関連づけている。プラグインには、例えば、通信プロトコルＩＤ，仲介装置３０にインストールされたプラグインモジュールを識別するためのモジュール名、プラグインモジュールのインストールパス、プラグインモジュールのバージョンを識別するためのバージョン名、プラグインモジュールを設定または最後に更新した日時を示す最終更新日時等が含まれる。仲介装置３０は、設定したプラグイン（プラグインモジュール）のバージョンや設定（更新）日時を記録しておくことで、機器５００との通信に不具合があった際の障害解析の負荷を低減させることができる。また、通信プロトコル共通定義には、通信プロトコルＩＤ、通信プロトコル名、リトライ回数、タイムアウト時間等が含まれる。機器５００において使用できる通信プロトコルは、ＩＣＭＰ(Ｐｉｎｇ)、ＳＮＭＰまたはＨＴＴＰ（ボディ部はＪＳＯＮ（Java（登録商標）Script Object Notation））等の標準プロトコルに限られず、ＭｏｄＢｕｓまたは機器独自のプロトコルである独自プトロコル等も含まれる。
【００７０】
図６に示す通信定義における各通信プロトコルは、一つにつき一回の通信を意味する。つまり、機器５００は、一つの動作種別に対して複数回の通信を行う構成とすることができる。図６に示す通信定義は、動作種別(目的)と通信プロトコル(手段)を分離しているので、ある状態取得(COLLECT)という動作目的をＨＴＴＰで実現したり、ＨＴＴＰとＳＮＭＰといった複数のプロトコルの組み合わせで実現したり、独自プロトコルで実現したりすることができる。
【００７１】
また、図６に示す通信定義は、通信プロトコル共通定義に、各通信プロトコルに特有の実装パラメータ（通信プロトコル実装）を関連づけている。例えば、ＨＴＴＰ特有なパラメータとして、メソッド、リソースＵＲＩ、ヘッダ、ボディ等を含む。また、ＳＮＭＰ特有なパラメータは、例えば、ＯＩＤ（オブジェクト識別子）、バージョン、コマンド種別（Ｇｅｔ／ＧｅｔＢｕｌｋ）、コミュニティ名等を含む。さらに、ＭｏｄＢｕｓまたは独自のプロトコルのパラメータとして、パラメータ名、データ型、パラメータ値の許容範囲等を設定することで、標準プロトコルとは異なるプロトコルについても使用することができる。これにより、図６に示す通信定義は、通信プロトコルを拡張する場合に、通信プロトコル共通定義を継承することで、ＨＴＴＰ、ＳＮＭＰ，Ｐｉｎｇ等の既に仲介装置３０のファームウエアに組み込まれている通信プロトコル以外の通信プロトコルについても機能拡張することができる。
【００７２】
また、機器５００と動作種別（目的）は、1対多の関係にあるので、図６に示す通信定義は、通信したい目的が増えた場合にも動作種別を追加することで対応することができる。例えば、機器５００の状態情報を取得したいだけでなく、機器５００のプロパティ情報を取得したい場合、通信定義にプロパティ取得という動作種別を定義すればよい
【００７３】
図７は、図６に示した通信定義の具体例を示す。機器１との通信に用いる通信定義には、ファームウエアに組み込まれたＨＴＴＰ、ＳＮＭＰおよびＰｉｎｇの通信プロトコルが定義されている。一方、機器２との通信に用いる通信定義には、独自に定義されたプロトコル（独自プロトコル１）が定義されている。独自プロトコル１には、独自定義として、コマンド種別（GET_STATE）が定義されている。また、独自プロトコル１を動作させるためのプラグインとし、プラグインモジュールのモジュール名、バージョンが示されている。これにより、仲介装置３０および機器５００は、動的に機能追加して独自プロトコル１で通信できるようになる。図６に示す通信定義は、使用される言語がＪａｖａ言語であれば、ＯＳＧｉフレームワーク等を利用してプラグインを行う仕組みを利用することができる。
【００７４】
○仲介装置管理テーブル○
図８は、第１の実施形態に係る仲介装置管理テーブルの一例を示す図である。仲介装置管理テーブル１１０は、遠隔機器管理装置１０の記憶部１００に記憶・管理されている。仲介装置管理テーブル１１０は、遠隔機器管理装置１０とファイアウォール９を介して通信可能な仲介装置３０に関する各種情報を記憶している。
【００７５】
仲介装置管理テーブル１１０は、仲介装置名、登録番号、仲介装置３０が設置されたローカルネットワーク７を識別するためのネットワーク識別情報の一例であるネットワーク名、仲介装置３０の宛先を示す宛先情報の一例であるＩＰアドレス、および仲介装置３０と通信可能な機器５００を識別するための機器ＩＤを関連づけて記憶している。仲介装置管理テーブル１１０において関連づけられている仲介装置名、登録番号、ネットワーク名、ＩＰアドレスおよび機器ＩＤは、仲介装置設定情報を構成する。遠隔機器管理装置１０は、仲介装置管理テーブル１１０を用いて、仲介装置３０の宛先情報（ＩＰアドレス）と、仲介装置３０と通信可能な機器５００を特定することができる。なお、仲介装置名および登録番号は、仲介装置識別情報の一例である。
【００７６】
○通信プロトコル管理テーブル○
図９は、第１の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。通信プロトコル管理テーブル１３０ａは、遠隔機器管理装置１０の記憶部１００に記憶・管理されている。通信プロトコル管理テーブル１３０ａは、遠隔機器管理装置１０によって利用可能な通信プロトコルに関する各種情報を記憶している。
【００７７】
通信プロトコル管理テーブル１３０ａは、通信プロトコル名、通信プロトコルを識別するための通信プロトコルＩＤ、リトライ回数、タイムアウト時間およびパラメータ定義に基づいて設定された値を示す実装パラメータ情報を関連づけて記憶している。実装パラメータ情報には、パラメータ名、データ型、パラメータの許容範囲（例えば、数値であれば、「０〜３０」）等の情報が含まれる。通信プロトコル管理テーブル１３０ａにおいて関連づけられている通信プロトコル名、通信プロトコルＩＤ、リトライ回数、タイムアウト時間および実装パラメータ情報は、通信プロトコル情報を構成する。なお、通信プロトコル名および通信プロトコルＩＤは、通信プロトコル識別情報の一例である。
【００７８】
○プラグイン管理テーブル○
図１０は、第１の実施形態に係るプラグイン管理テーブルの一例を示す図である。プラグイン管理テーブル１５０ａは、遠隔機器管理装置１０の記憶部１００に記憶・管理されている。プラグイン管理テーブル１５０ａは、遠隔機器管理装置１０にアップロードされたプラグインモジュールに関する各種情報を記憶している。
【００７９】
プラグイン管理テーブル１５０ａは、プラグインモジュールを識別するためのプラグインＩＤ、通信プロトコルを識別するための通信プロトコルＩＤ、モジュール名、バージョンおよび最終更新日時の情報を関連づけて記憶している。プラグイン管理テーブル１５０ａに関連づけられているプラグインＩＤ、通信プロトコルＩＤ、モジュール名、バージョンおよび最終更新日時は、プラグイン情報を構成する。プラグイン情報に示される最終更新日時は、プラグイン情報を設定した日時を示す時間情報の一例である。また、プラグイン情報に示されるプラグイン情報に示されるバージョンは、バージョン情報の一例である。
【００８０】
○機器管理テーブル○
図１１は、第１の実施形態に係る機器管理テーブルの一例を示す図である。機器管理テーブル３１０は、仲介装置３０の記憶部３００に記憶・管理されている。機器管理テーブル３１０は、仲介装置３０と通信可能に接続され、遠隔機器管理装置１０による管理対象（監視対象）となる機器５００に関する各種情報を記憶している。
【００８１】
機器管理テーブル３１０は、機器５００のモデル名、シリアルＮｏ、機器５００を識別するための機器ＩＤ、状態情報およびプラグインＩＤを関連づけて記憶している。仲介装置３０は、機器管理テーブル３１０に含まれるモデル名およびシリアルＮｏを用いて、機器５００を特定することができる。機器ＩＤは、モデル名とシリアルＮｏを含む。なお、機器ＩＤは、モデル名とシリアルＮｏとは別のものであり、仲介装置３０は、機器ＩＤを用いて機器５００を特定する構成であってもよい。モデル名およびシリアルＮｏ、または機器ＩＤは、機器特定情報の一例である。なお、機器５００を特定するための機器特定情報は、これに限られず、例えば、機器５００のＭＡＣ(Media Access Control)アドレスまたは機器名等であってもよい。仲介装置３０は、機器特定情報に関連づけられたプラグインＩＤを用いて、機器５００との通信に用いるプラグインモジュールを特定する。
【００８２】
○通信プロトコル管理テーブル○
図１２は、第１の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。通信プロトコル管理テーブル３３０ａは、仲介装置３０の記憶部３００に記憶・管理されている。通信プロトコル管理テーブル３３０ａは、機器５００との通信に利用可能な通信プロトコルに関する各種情報を記憶・管理している。
【００８３】
通信プロトコル管理テーブル３３０ａは、通信プロトコル名、通信プロトコルを識別するための通信プロトコルＩＤ、リトライ回数、タイムアウト時間およびパラメータ定義に基づいて設定された値を示す実装パラメータ情報を関連づけて記憶している。実装パラメータ情報には、パラメータ名、データ型、パラメータの許容範囲（例えば、数値であれば、「０〜３０」）等の情報が含まれる。通信プロトコル管理テーブル３３０において関連づけられている通信プロトコル名、通信プロトコルＩＤ、リトライ回数、タイムアウト時間および実装パラメータ情報は、通信プロトコル情報を構成する。なお、通信プロトコル名および通信プロトコルＩＤは、通信プロトコル識別情報の一例である。
【００８４】
○プラグイン管理テーブル○
図１３は、第１の実施形態に係るプラグイン管理テーブルの一例を示す図である。プラグイン管理テーブル３５０ａは、仲介装置３０の記憶部３００に記憶・管理されている。プラグイン管理テーブル３５０ａは、仲介装置３０に設定・登録（インストール）されているプラグイン（プラグインモジュール）に関する各種情報を記憶している。
【００８５】
プラグイン管理テーブル３５０ａは、プラグインモジュールを識別するためのプラグインＩＤ、通信プロトコルを識別するための通信プロトコルＩＤ、モジュール名、バージョンおよび最終更新日時の情報を関連づけて記憶している。プラグイン管理テーブル３５０ａに関連づけられているプラグインＩＤ、通信プロトコルＩＤ、モジュール名、バージョンおよび最終更新日時は、プラグイン情報を構成する。プラグイン情報に示される最終更新日時は、プラグイン情報を設定した日時を示す時間情報の一例である。また、プラグイン情報に示されるプラグイン情報に示されるバージョンは、バージョン情報の一例である。仲介装置３０は、プラグインＩＤに関連づけられた通信プロトコルＩＤを用いて、機器５００との通信に用いる通信プロトコルを特定する。
【００８６】
●第１の実施形態の処理および動作
○遠隔機器管理装置と仲介装置の通信セッションの確立処理○
○仲介装置の登録番号の発行処理
続いて、図１４乃至図１６を用いて、ローカルネットワーク７内に新たに設置された仲介装置３０を、遠隔機器管理装置１０に登録する処理について説明する。まず、図１４を用いて、仲介装置３０の設置担当者（管理者）が、新たに設置する仲介装置３０の登録番号を発行する処理について説明する。図１４は、第１の実施形態に係る遠隔機器管理システムにおける仲介装置の登録番号の発行処理の一例を示すシーケンス図である。図１４に示す処理は、遠隔機器管理装置１０に登録する仲介装置３０がなりすまし等の不正な装置でないことを担保するために、データ照合のための登録番号を発行する処理である。
【００８７】
まず、ステップＳ１１において、管理者端末９０のＷｅｂクライアント部９１は、仲介装置３０の登録番号発行要求を、遠隔機器管理装置１０へ送信する。具体的には、管理者端末９０の受付部９２は、Ｗｅｂクライアント部９１によって管理者端末９０のディスプレイ１００６ａに表示された所定の設定画面に対するユーザの入力操作によって、仲介装置３０の登録番号発行要求を受け付ける。そして、Ｗｅｂクライアント部９１は、受付部９２によって受け付けられた登録番号発行要求を、遠隔機器管理装置１０へ送信する。これにより、遠隔機器管理装置１０のＷｅｂサーバ部１６は、登録番号発行要求を受信する。
【００８８】
ステップＳ１２において、遠隔機器管理装置１０の通信管理部１５は、Ｗｅｂサーバ部１６によって登録番号発行要求を受信された場合、仲介装置３０の新たな登録番号を発行する。ここで、仲介装置３０の通信管理部１５は、発行した登録番号を、仲介装置管理テーブル１１０に記憶させる。
【００８９】
ステップＳ１３において、遠隔機器管理装置１０のＷｅｂサーバ部１６は、通信管理部１５によって発行された登録番号の情報を含む登録番号通知を、管理者端末９０へ送信する。これにより、管理者端末９０のＷｅｂクライアント部９１は、遠隔機器管理装置１０から送信された登録番号通知を受信する。管理者端末９０のＷｅｂクライアント部９１は、受信した登録番号通知に示される登録番号を管理者端末９０のディスプレイ１００６ａに表示させる等の方法によって、管理者端末９０を使用する設置担当者（管理者）に発行された登録番号を提示する。これによって、仲介装置３０の設置担当者は、仲介装置３０を登録する際の登録番号を把握することができる。
【００９０】
○仲介装置の登録処理
続いて、図１５を用いて、図１４に示した処理によって発行された登録番号を用いて、遠隔機器管理装置１０に新たな仲介装置３０を登録する処理について説明する。図１５は、第１の実施形態に係る遠隔機器管理システムおける、遠隔機器管理装置への仲介装置の登録処理の一例を示すシーケンス図である。
【００９１】
まず、ステップＳ２１において、仲介装置３０の通信管理部３６は、仲介装置３０が設置されたローカルネットワーク７のネットワーク情報を設定する。具体的には、仲介装置３０は、表示制御部３４によって仲介装置３０のディスプレイ１００６ａに表示された所定の入力画面に対する入力操作を受け付けることによって、ネットワーク情報の設定を行う。ここで、ネットワーク情報は、仲介装置３０が設置されたローカルネットワーク７を識別するためのネットワーク名、仲介装置３０のＩＰアドレスおよび仲介装置３０と通信可能な機器５００を識別するための機器ＩＤを含む。
【００９２】
ステップＳ２２において、仲介装置３０の受付部３３は、遠隔機器管理装置１０によって発行された仲介装置３０の登録番号の入力を受け付ける。この場合、仲介装置３０の設置担当者は、表示制御部３４によって仲介装置３０のディスプレイ１００６ａに表示された所定の入力画面に対して、図１４に示した処理によって取得された登録番号を入力する。
【００９３】
ステップＳ２３において、仲介装置３０の管理装置通信部３１は、新たに設置した仲介装置３０の遠隔機器管理装置１０への登録を要求する仲介装置登録要求を、遠隔機器管理装置１０へ送信する。ここで、仲介装置登録要求には、通信管理部３６によって設定されたネットワーク情報、および受付部３３によって受け付けられた登録番号を含む仲介装置識別情報が含まれる。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信された仲介装置登録要求を受信する。
【００９４】
ステップＳ２４において、遠隔機器管理装置１０の通信管理部１５は、仲介装置通信部１１によって受信された仲介装置登録要求に基づいて、仲介装置管理テーブル１１０に対して、仲介装置設定情報を登録する。具体的には、通信管理部１５は、受信された仲介装置登録要求に含まれる登録番号を検索キーとして、仲介装置管理テーブル１１０を検索することにより、対応する登録番号が存在するかを照合する。そして、対応する登録番号が存在する場合、通信管理部１５は、受信された仲介装置登録要求に含まれる仲介装置識別情報およびネットワーク情報を、仲介装置設定情報として仲介装置管理テーブル１１０に記憶させる。一方で、対応する登録番号が存在しない場合、通信管理部１５は、仲介装置通信部１１を介して、要求された仲介装置が登録できない旨を示す通知を、仲介装置３０へ送信する。これにより、遠隔機器管理システム１は、仲介装置３０の設置担当者によって入力されたデータ（登録番号）と遠隔機器管理装置１０に記憶されたデータ（登録番号）とを照合することで、遠隔機器管理装置１０に登録する仲介装置３０がなりすまし等の不正な装置ではないことを担保することができる。なお、以下は、仲介装置管理テーブル１１０に対応する登録番号が存在し、通信管理部１５によって仲介装置設定情報が登録された場合について説明する。
【００９５】
ステップＳ２５において、遠隔機器管理装置１０の仲介装置通信部１１は、通信管理部１５によって仲介装置３０が登録されたことを通知するための登録結果通知を、仲介装置３０へ送信する。この登録結果通知には、通信管理部１５によって登録された仲介装置設定情報の内容が含まれる。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信された登録結果通知を受信する。
【００９６】
そして、ステップＳ２６において、仲介装置３０の管理装置通信部３１と遠隔機器管理装置１０の仲介装置通信部１１は、セッションの確立処理を行い、通信セッションを確立させる。この場合、仲介装置３０の管理装置通信部３１と遠隔機器管理装置１０の仲介装置通信部１１は、ＷｅｂＳｏｃｋｅｔ等の常時通信可能な通信セッションを確立する。そのため、遠隔機器管理装置１０は、仲介装置３０を介して、仲介装置３０と通信可能な機器５００へ各種コマンドを送信することが可能となる。遠隔機器管理システム１は、確立したセッションを利用して、遠隔機器管理装置１０から仲介装置３０へ、プラグインモジュールの追加・削除・更新処理を行うことができる。
【００９７】
また、図１６は、第１の実施形態に係る遠隔機器管理システムにおける、遠隔機器管理装置と仲介装置との間の通信セッションの状態遷移の概略の一例を示す図である。遠隔機器管理装置１０は、仲介装置３０の登録が完了した場合、仲介装置３０へ接続要求を送信する。そして、仲介装置３０は、接続確認のメッセージを遠隔機器管理装置１０へ送信することで、遠隔機器管理装置１０との間の通信セッションを確立させる。その後、仲介装置３０は、定期的に遠隔機器管理装置１０との疎通確認を行い、通信セッションが切断された場合、通信エラーのメッセージを遠隔機器管理装置１０へ送信する。そして、遠隔機器管理装置１０は、仲介装置３０との間における通信セッションが切断された場合、再度接続要求を仲介装置３０へ送信することで、再度仲介装置３０との間における通信セッションを確立させる。このように、遠隔機器管理装置１０は、登録した仲介装置３０に対して、通信エラーで通信セッションが切断されるたびに、再接続を試みるので、仲介装置３０との間の通信セッションを常に維持することができる。
【００９８】
これにより、遠隔機器管理システム１は、遠隔機器管理装置１０に登録された仲介装置３０と遠隔機器管理装置１０との通信セッションを維持することで、仲介装置３０への新たなプラグインモジュールの導入処理を行うことができる。
【００９９】
○プラグイン設定情報の更新処理
続いて、図１７乃至図２０を用いて、仲介装置３０に設定されたプラグイン設定情報の更新処理について説明する。まず、図１７を用いて、クラウド経由で仲介装置３０に設定されたプラグイン設定情報を更新する処理について説明する。なお、プラグイン設定情報の更新には、新たなプラグインモジュールの登録、登録されたプラグインモジュールのバージョンの更新、および登録されたプラグインモジュールの削除が含まれる。以下の説明においては、プラグイン設定情報の更新処理によって仲介装置３０に新たなプラグインモジュールが登録される場合について説明する。図１７は、第１の実施形態に係る遠隔機器管理システムにおけるプラグイン設定情報の更新処理の一例を示すシーケンス図である。図１７は、機器５００の保守担当者が管理者端末９０を用いて、仲介装置３０へ新たなプラグインモジュールの登録を行う例である。
【０１００】
ステップＳ３１において、管理者端末９０のＷｅｂクライアント部９１は、プラグイン登録要求を、遠隔機器管理装置１０へ送信する。具体的には、管理者端末９０の受付部９２は、Ｗｅｂクライアント部９１によって管理者端末９０のディスプレイ１００６ａに表示された所定の設定画面に対するユーザ（例えば、保守担当者）の入力操作によって、新たなプラグインモジュールの登録要求を受け付ける。Ｗｅｂクライアント部９１は、受付部９２によって受け付けられたプラグイン登録要求を、遠隔機器管理装置１０へ送信する。ここで、プラグイン登録要求には、登録するプラグインモジュールの実体を示すプラグイン情報、および当該プラグインモジュールを用いて通信を行う通信プロトコルを示す通信プロトコル情報を含む。プラグイン情報には、登録するプラグインモジュールのモジュール名、バージョン、最終更新日事の情報が含まれる。通信プロトコル情報には、通信プロトコル名、パラメータ定義、リトライ回数、タイムアウト時間および実装パラメータ情報等が含まれる。これにより、遠隔機器管理装置１０のＷｅｂサーバ部１６は、プラグイン登録要求を受信する。
【０１０１】
ステップＳ３２において、遠隔機器管理装置１０のプラグイン管理部１４は、Ｗｅｂサーバ部１６によってプラグイン登録要求が受信された場合、新たに登録するプラグインモジュールを識別するためのプラグイン識別情報としてのプラグインＩＤを発行する。また、通信管理部１５は、Ｗｅｂサーバ部１６によって受信されたプラグイン登録要求に含まれる通信プロトコル情報を識別するための通信プロトコルＩＤを発行する。
【０１０２】
ステップＳ３３において、遠隔機器管理装置１０のプラグイン管理部１４は、プラグイン管理テーブル１５０ａに、ステップＳ３２によって発行されたプラグインＩＤに関連づけて、Ｗｅｂサーバ部１６によって受信されたプラグイン情報を登録する。また、通信管理部１５は、通信プロトコル管理テーブル１３０ａに、ステップＳ３２によって発行された通信プロトコルＩＤに関連づけて、Ｗｅｂサーバ部１６によって受信された通信プロトコル情報を登録する。
【０１０３】
ステップＳ３４において、遠隔機器管理装置１０のＷｅｂサーバ部１６は、プラグイン管理部１４によって発行されたプラグインＩＤを、管理者端末９０へ送信する。これにより、管理者端末９０のＷｅｂクライアント部９１は、遠隔機器管理装置１０から送信されたプラグインＩＤを受信する。
【０１０４】
ステップＳ３５において、管理者端末９０のＷｅｂクライアント部９１は、受信したプラグインＩＤを、管理者端末９０のディスプレイ１００６ａに表示させる。これにより、遠隔機器管理システム１は、新たなプラグインモジュールの登録要求を行った保守担当者に対して、登録するプラグイン識別情報であるプラグインＩＤを提示させることができる。なお、プラグインモジュールの実体を示すプラグイン情報が既に遠隔機器管理装置１０に登録されている場合、ステップＳ３１〜ステップＳ３５の処理は、省略されてもよい。
【０１０５】
ステップＳ３６において、管理者端末９０のＷｅｂクライアント部９１は、プラグイン設定情報の更新要求を、遠隔機器管理装置１０へ送信する。具体的には、管理者端末９０の受付部９２は、Ｗｅｂクライアント部９１によって管理者端末９０のディスプレイ１００６ａに表示された所定の設定画面に対するユーザ（例えば、保守担当者）の入力操作によって、プラグイン設定情報の更新要求を受け付ける。Ｗｅｂクライアント部９１は、受付部９２によって受け付けられたプラグイン設定情報の更新要求を、遠隔機器管理装置１０へ送信する。ここで、プラグイン設定情報は、仲介装置３０に設定されるプラグインモジュールに関する情報である。また、プラグイン設定情報の更新要求には、ステップＳ３５の処理によって保守担当者へ提示されたプラグインＩＤが含まれる。これにより、遠隔機器管理装置１０のＷｅｂサーバ部１６は、管理者端末９０から送信されたプラグイン設定情報の更新要求を受信する。
【０１０６】
ステップＳ３７において、遠隔機器管理装置１０の仲介装置通信部１１は、Ｗｅｂサーバ部１６によって受信されたプラグイン設定情報の更新要求を、仲介装置３０へ送信する。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信されたプラグイン設定情報の更新要求を受信する。
【０１０７】
ステップＳ３８において、仲介装置３０の管理装置通信部３１は、プラグイン設定情報の更新要求を受信した場合、プラグイン設定情報の取得要求を、遠隔機器管理装置１０へ送信する。ここで、プラグイン設定情報の取得要求には、受信したプラグイン設定情報の更新要求に含まれるプラグインＩＤが含まれる。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信されたプラグイン設定情報の取得要求を受信する。
【０１０８】
ステップＳ３９において、遠隔機器管理装置１０のプラグイン管理部１４は、仲介装置通信部１１によって受信されたプラグイン設定情報の取得要求に含まれるプラグインＩＤを検索キーとして、プラグイン管理テーブル１５０ａを検索することにより、対応するプラグインＩＤに関連づけられた通信プロトコルＩＤおよびプラグイン情報を取得する。また、遠隔機器管理装置１０の通信管理部１５は、プラグイン管理部１４によって取得された通信プロトコルＩＤを検索キーとして、通信プロトコル管理テーブル１３０ａを検索することにより、対応する通信プロトコルＩＤに関連づけられた通信プロトコル情報を取得する。
【０１０９】
ステップＳ４０において、遠隔機器管理装置１０の仲介装置通信部１１は、プラグイン管理部１４によって取得されたプラグイン情報および通信プロトコルＩＤ、並びに通信管理部１５によって取得された通信プロトコル情報を、仲介装置３０へ送信する。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信されたプラグイン情報、通信プロトコルＩＤおよび通信プロトコル情報を受信する。
【０１１０】
ステップＳ４１において、仲介装置３０は、管理装置通信部３１によってプラグイン情報および通信プロトコル情報が受信された場合、プロトコル設定情報を更新する。具体的には、プラグイン管理部１４は、管理装置通信部３１によって受信されたプラグイン情報および通信プロトコルＩＤを、ステップＳ３７において受信されたプラグイン設定情報の更新要求に含まれるプラグインＩＤと関連づけてプラグイン管理テーブル３５０ａに記憶する。また、通信管理部１５は、管理装置通信部３１によって受信された通信プロトコルＩＤおよび通信プロトコル情報を、通信プロトコル管理テーブル３３０に記憶する。これにより、仲介装置３０は、遠隔機器管理装置１０から送信されたプラグイン情報に基づいて設定された通信定義に対応するプラグイン設定情報を更新することができる。
【０１１１】
なお、仲介装置３０は、更新されたプラグイン設定情報を、表示制御部３４によって仲介装置３０のディスプレイ１００６ａに表示させてもよい。また、仲介装置３０は、更新されたプラグイン設定情報を遠隔機器管理装置１０へ送信し、管理者端末９０のＷｅｂクライアント部９１は、遠隔機器管理装置１０から送信された、更新されたプラグイン設定情報を、管理者端末９０のディスプレイ１００６ａに表示させてもよい。これにより、仲介装置３０の設置担当者または機器５００の保守担当者等のシステム管理者に、仲介装置３０に設定されたプラグイン設定情報を知らせることができる。
【０１１２】
また、ステップＳ３１に示したように、遠隔機器管理システム１は、通信プロトコルのパラメータ定義の設定についても、プラグインモジュールの登録時に行う。パラメータ定義に必要な情報は、パラメータ名、データ型、パラメータ値の許容範囲(例えば、数値であれば、０〜３０等)である。仲介装置３０は、パラメータ定義に基づいて決定されるパラメータ値を設定することで、設定されたパラメータで機器５００と通信を行うことができる。
【０１１３】
続いて、図１８を用いて、仲介装置３０に表示されたＵＩ経由で仲介装置３０に設定されたプラグイン設定情報を更新する場合について説明する。図１８は、第１の実施形態に係る遠隔機器管理システムにおけるプラグイン設定情報の更新処理の一例を示すシーケンス図である。なお、図１８の例では、仲介装置３０の設置担当者が、新たに仲介装置３０に登録するプラグインモジュールのプラグインＩＤを予め把握しているものとして説明する。また、図１８の例では、新たに仲介装置３０に登録するプラグインモジュールが、遠隔機器管理装置１０に予め登録されているものとして説明する。
【０１１４】
ステップＳ５１において、仲介装置３０の受付部３３は、新たに登録するプラグインモジュールのプラグインＩＤの入力を受け付ける。具体的には、仲介装置３０の受付部３３は、Ｗｅｂクライアント部９１によって管理者端末９０のディスプレイ１００６ａに表示された所定の設定画面に対するユーザ（例えば、設置担当者）の入力操作によって、新たなプラグインＩＤの入力を受け付ける。
【０１１５】
ステップＳ５２において、仲介装置３０の管理装置通信部３１は、受付部３３によってプラグインＩＤの入力を受け付けた場合、プラグイン設定情報の取得要求を、遠隔機器管理装置１０へ送信する。ここで、プラグイン設定情報の取得要求には、受付部３３によって受け付けられたプラグインＩＤが含まれる。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信されたプラグイン設定情報の取得要求を受信する。
【０１１６】
ステップＳ５３において、遠隔機器管理装置１０のプラグイン管理部１４は、仲介装置通信部１１によって受信されたプラグイン設定情報の取得要求に含まれるプラグインＩＤを検索キーとして、プラグイン管理テーブル１５０ａを検索することにより、対応するプラグインＩＤに関連づけられた通信プロトコルＩＤおよびプラグイン情報を取得する。また、遠隔機器管理装置１０の通信管理部１５は、プラグイン管理部１４によって取得された通信プロトコルＩＤを検索キーとして、通信プロトコル管理テーブル１３０ａを検索することにより、対応する通信プロトコルＩＤに関連づけられた通信プロトコル情報を取得する。
【０１１７】
ステップＳ５４において、遠隔機器管理装置１０の仲介装置通信部１１は、プラグイン管理部１４によって取得されたプラグイン情報および通信プロトコルＩＤ、並びに通信管理部１５によって取得された通信プロトコル情報を、仲介装置３０へ送信する。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信されたプラグイン情報、通信プロトコルＩＤおよび通信プロトコル情報を受信する。
【０１１８】
ステップＳ５５において、仲介装置３０は、管理装置通信部３１によってプラグイン情報および通信プロトコル情報が受信された場合、プロトコル設定情報を更新する。具体的には、プラグイン管理部１４は、管理装置通信部３１によって受信されたプラグイン情報および通信プロトコルＩＤを、ステップＳ３７において受信されたプラグイン設定情報の更新要求に含まれるプラグインＩＤと関連づけてプラグイン管理テーブル３５０ａに記憶する。また、通信管理部１５は、管理装置通信部３１によって受信された通信プロトコルＩＤおよび通信プロトコル情報を、通信プロトコル管理テーブル３３０ａに記憶する。
【０１１９】
ステップＳ５６において、仲介装置３０の表示制御部３４は、更新されたプラグイン設定情報を、仲介装置３０のディスプレイ１００６ａに表示させる。これにより、仲介装置３０の設置担当者は、表示されたプラグイン設定情報を確認することで、要求したプラグインがインストールされたかどうかを確認することができる。
【０１２０】
また、遠隔機器管理装置１０は、利用可能なプラグインが新しいバージョンに更新された場合、仲介装置３０にインストールされているプラグインモジュールのバージョンと比較する。そして、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０にインストールされているプラグインモジュールが最新でなければ、仲介装置３０へ通知する。これにより、遠隔機器管理装置１０は、仲介装置３０への機能追加または障害対策用のモジュールの導入を行うことができ、より安定して機器５００と通信できるようになる。
【０１２１】
なお、更新したプラグイン設定情報は、仲介装置３０の設置担当者（管理者）が使用する管理者端末９０に表示されてもよい。この場合、管理者端末９０の仲介装置通信部９３は、仲介装置３０から送信された、更新されたプラグイン設定情報を受信する。そして、管理者端末９０の表示制御部９４は、更新されたプラグイン設定情報を、管理者端末９０のディスプレイ１００６ａに表示させる。
【０１２２】
ここで、遠隔機器管理装置１０に登録された利用可能なプラグインモジュールの一覧が管理者端末９０のディスプレイ１００６ａに表示される場合の画面例を説明する。図１９は、第１の実施形態に係る管理システムに表示されるプラグイン一覧画面の一例を示す図である。図１９に示すプラグイン一覧画面９００には、利用可能なプラグインモジュールに関する情報は一覧で表示されるプラグイン情報表示領域９１０、新たなプラグインモジュールを遠隔機器管理装置１０へ登録する場合に押下される登録ボタン９１１、仲介装置３０に設定されたプラグイン設定情報を更新する場合に押下される更新ボタン９１３、プラグイン情報表示領域９１０に表示されたプラグインモジュールを削除する場合に押下される削除ボタン９１５が含まれている
【０１２３】
管理者端末９０は、図１９に示すプラグイン一覧画面９００を用いて、遠隔機器管理装置１０へのプラグインモジュールの新規登録、遠隔機器管理装置１０に登録されたプラグインモジール一覧の確認、遠隔機器管理装置１０に登録されたプラグインモジュールのバージョンアップまたは削除といった処理を行うことができる。
【０１２４】
また、図１９に示すプラグイン一覧画面９００は、プラグイン情報表示領域９１０に、仲介装置３０に登録されたプラグインモジュールの情報を表示させてもよい。この場合、管理者端末９０は、図１９に示すプラグイン一覧画面９００を用いて、仲介装置３０へのプラグインモジュールの新規登録、仲介装置３０に登録されたプラグインモジール一覧の確認、仲介装置３０に登録されたプラグインモジュールのバージョンアップまたは削除といった処理を行うことができる。すなわち、この場合、管理者端末９０は、図１９に示すプラグイン一覧画面９００を用いて、図１７に示したようなプラグイン設定情報の更新処理を行うことができる。
【０１２５】
なお、図１９に示したプラグイン一覧画面９００は、仲介装置３０のディスプレイ１００６ａに表示される構成であってもよい。この場合、プラグイン情報表示領域９１０に表示されるプラグインモジュールは、仲介装置３０にインストールされたプラグインモジュールの情報である。仲介装置３０は、図１９に示したプラグイン一覧画面９００を用いて、図１８に示したようなプラグイン設定情報の更新処理を行う。これにより、仲介装置３０の設定担当者（管理者）は、例えば、普段使用している仲介装置３０の設置用の画面からプラグインＩＤを指定して、プラグインモジュールの追加、更新または削除を行うことができる。
【０１２６】
続いて、図２０を用いて、仲介装置３０に設定された通信プロトコルに実装させる通信パラメータを設定する処理について説明する。図２０は、第１の実施形態に係る遠隔機器管理システムにおける実装パラメータの設定処理の一例を示すシーケンス図である。
【０１２７】
ステップＳ７１において、管理者端末９０のＷｅｂクライアント部９１は、実装パラメータ設定要求を、遠隔機器管理装置１０へ送信する。具体的には、管理者端末９０の受付部９２は、Ｗｅｂクライアント部９１によって管理者端末９０のディスプレイ１００６ａに表示された所定の設定画面に対するユーザの入力操作によって、パラメータを設定する通信プロトコルを識別するための通信プロトコルＩＤ、および実装するパラメータの値を含む実装パラメータ情報の入力を受け付ける。そして、Ｗｅｂクライアント部９１は、受付部９２によって受け付けられた実装パラメータ設定要求を、遠隔機器管理装置１０へ送信する。ここで、実装パラメータ設定要求には、受付部９２によって受け付けられた通信プロトコルＩＤおよび実装パラメータ情報、並びに仲介装置識別情報が含まれる。これにより、遠隔機器管理装置１０のＷｅｂサーバ部１６は、実装パラメータ設定要求を受信する。
【０１２８】
ステップＳ７２において、遠隔機器管理装置１０の記憶・読出部１７は、Ｗｅｂサーバ部１６によって実装パラメータ設定要求が受信された場合、記憶部１００に記憶された仲介装置管理テーブル１１０を読み出す。ステップＳ７３において、遠隔機器管理装置１０の通信管理部１５は、Ｗｅｂサーバ部１６によって受信された実装パラメータ設定要求に含まれる仲介装置識別情報を検索キーとして、仲介装置管理テーブル１１０を検索することにより、対応する仲介装置識別情報が関連づけられた仲介装置設定情報を取得する。
【０１２９】
ステップＳ７４において、遠隔機器管理装置１０の仲介装置通信部１１は、取得された仲介装置設定情報に含まれる宛先情報が示す仲介装置３０へ、実装パラメータ設定要求を送信する。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信された実装パラメータ設定要求を受信する。
【０１３０】
ステップＳ７５において、仲介装置３０の通信管理部３６は、管理装置通信部３１によって受信された実装パラメータ設定要求に含まれる実装パラメータ情報および通信プロトコルＩＤを関連づけて、通信プロトコル管理テーブル３３０ａに設定する。
【０１３１】
ステップＳ７６において、仲介装置３０の管理装置通信部３１は、実装パラメータ情報の設定結果を、遠隔機器管理装置１０へ送信する。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信された設定結果を受信する。これにより、仲介装置３０は、図１７または図１８に示したプラグイン設定情報の登録時に定義したパラメータ定義に基づいて、通信プロトコルのパラメータの値を設定することができる。
【０１３２】
なお、図２０に示した処理は、プラグインモジュールを追加した状態で行わないと、不明なパラメータ定義となる。この場合は、実装パラメータ設定要求を受信した仲介装置３０は、遠隔機器管理装置１０へエラーを通知する。そして、管理者端末９０は、エラー通知画面を表示させることで、保守担当者に対して、プラグインモジュールの登録を促す。
【０１３３】
○機器との通信処理○
○機器制御要求の送信処理
続いて、図２１乃至図２３を用いて、上記で説明したプラグイン登録処理によって仲介装置３０に設定・登録されたプラグインモジュールに基づく遠隔機器管理装置と機器５００との通信処理について説明する。上記で説明したように、仲介装置３０は、独自のプロトコルやファームウエアに組み込まれていない通信プロトコルに対応するプラグインモジュールを遠隔機器管理装置１０からインストールすることで、機器５００との間の通信を標準プロトコルに限られずに行うことができる。
【０１３４】
まず、図２１を用いて、遠隔機器管理装置１０から機器５００へ送信される機器制御要求に応じた通信処理について説明する。図２１は、第１の実施形態に係る遠隔機器管理システムにおける遠隔機器管理装置から機器に対する制御処理の一例を示すシーケンス図である。
【０１３５】
ステップＳ１０１において、管理者端末９０のＷｅｂクライアント部９１は、機器５００に対する所定の制御を要求する機器制御要求を、遠隔機器管理装置１０へ送信する。具体的には、管理者端末９０の受付部９２は、Ｗｅｂクライアント部９１によってディスプレイ１００６ａに表示された所定の設定画面に対する入力操作によって、機器５００の制御要求を受け付ける。受付部９２は、例えば、制御対象の機器５００の機器ＩＤ等の機器特定情報が指定されることで、特定の機器５００に対する制御要求を受け付ける。そして、Ｗｅｂクライアント部９１は、受付部９２によって受け付けられた情報に基づいて、機器制御要求を、遠隔機器管理装置１０へ送信する。機器制御要求には、制御対象の機器５００の機器ＩＤ、またはモデル名およびシリアルＮｏ等の機器特定情報が含まれる。ここでは、機器制御要求には機器５００の機器ＩＤが含まれる。これにより、遠隔機器管理装置１０のＷｅｂサーバ部１６は、管理者端末９０から送信された機器制御要求を受信する。
【０１３６】
ステップＳ１０２において、遠隔機器管理装置１０の記憶・読出部１７は、Ｗｅｂサーバ部１６によって機器制御要求が受信された場合、記憶部１００に記憶された仲介装置管理テーブル１１０を読み出す。ステップＳ１０３において、遠隔機器管理装置１０の通信管理部１５は、Ｗｅｂサーバ部１６によって受信された機器制御要求に含まれる機器ＩＤを検索キーとして、仲介装置管理テーブル１１０を検索することにより、対応する機器ＩＤが関連づけられた仲介装置識別情報を取得する。
【０１３７】
ステップＳ１０４において、遠隔機器管理装置１０の仲介装置通信部１１は、通信管理部１５によって取得された仲介装置識別情報によって識別される仲介装置３０へ、機器制御要求を送信する。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信された機器制御要求を受信する。
【０１３８】
ステップＳ１０５において、仲介装置３０の記憶・読出部３８は、管理装置通信部３１によって機器制御要求が受信された場合、記憶部３００に記憶された機器管理テーブル３１０、通信プロトコル管理テーブル３３０ａ、およびプラグイン管理テーブル３５０ａを読み出す。ステップＳ１０６において、仲介装置３０のプラグイン管理部３７は、管理装置通信部３１によって受信された機器制御要求に含まれる機器ＩＤを検索キーとして、機器管理テーブル３１０を検索することにより、対応する機器ＩＤに関連づけられたプラグインＩＤを取得する。
【０１３９】
ステップＳ１０７において、仲介装置３０の通信管理部３６は、プラグイン管理部３７によって取得されたプラグインＩＤを検索キーとして、プラグイン管理テーブル３５０ａを検索することにより、対応するプラグインＩＤが関連づけられたプラグイン情報を取得する。また、通信管理部３６は、取得したプラグイン情報に含まれる通信プロトコルＩＤを検索キーとして、通信プロトコル管理テーブル３３０ａを検索することにより、対応する通信プロトコルＩＤが関連づけられた通信プロトコル情報を取得する。
【０１４０】
ステップＳ１０８において、仲介装置３０の機器通信部３２は、プラグイン管理部３７によって取得されたプラグイン情報に示されるプラグインモジュールを用いて、機器制御要求を機器５００へ送信する。この場合、機器制御要求は、通信管理部３６によって取得された通信プロトコル情報に示される通信プロトコル、および実装パラメータ情報に示されるパラメータを用いて送信される。これにより、機器５００の通信部５０１は、仲介装置３０から送信された機器制御要求を受信する。
【０１４１】
ステップＳ１０９において、機器５００のコマンド実行部５０３は、通信部５０１によって受信された機器制御要求に示される所定の制御を実行する。
【０１４２】
ステップＳ１１０において、機器５００の通信部５０１は、コマンド実行部５０３による制御結果を示す制御結果通知を、仲介装置３０へ送信する。これにより、仲介装置３０の機器通信部３２は、機器５００から送信された制御結果通知を受信する。この場合、仲介装置３０は、ステップＳ１０８において機器制御要求を送信したプラグインモジュール、通信プロトコル、および通信パラメータを用いて、制御結果通知を受信する。
【０１４３】
ステップＳ１１１において、仲介装置３０の管理装置通信部３１は、機器通信部３２によって受信された制御結果通知を、遠隔機器管理装置１０へ送信する。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、送信した機器制御要求に対する応答となる制御結果通知を、仲介装置３０から受信する。これにより、遠隔機器管理システム１は、仲介装置３０に設定された通信定義に基づいて、遠隔機器管理装置１０による機器５００の制御を行うことができる。
【０１４４】
なお、管理者端末９０のＷｅｂクライアント部９１は、遠隔機器管理装置１０から送信された制御結果通知に示される内容を、管理者端末９０のディスプレイ１００６ａに表示させてもよい。これにより、遠隔機器管理システム１は、機器５００の保守担当者等のシステム管理者に、機器５００の制御結果を知らせることができる。
【０１４５】
○機器情報の取得処理
次に、図２２を用いて、仲介装置３０からの要求によって機器５００の機器情報を取得する処理について説明する。図２２は、第１の実施形態に係る遠隔機器管理システムにおける機器情報取得処理の一例を示すシーケンス図である。図２２は、予め指定した時刻または一定間隔で、仲介装置３０が機器５００の機器情報を定期的に取得して遠隔機器管理装置１０に通知する場合の処理を説明する。
【０１４６】
ステップＳ２０１において、仲介装置３０の記憶・読出部３８は、記憶部３００に記憶された機器管理テーブル３１０、通信プロトコル管理テーブル３３０ａ、およびプラグイン管理テーブル３５０ａを読み出す。ステップＳ２０２において、仲介装置３０のプラグイン管理部３７は、機器管理テーブル３１０に含まれる、機器情報取得要求を送信先となる機器５００の機器ＩＤに関連づけられたプラグインＩＤを取得する。
【０１４７】
ステップＳ２０３において、仲介装置３０の通信管理部３６は、プラグイン管理部３７によって取得されたプラグインＩＤを検索キーとして、プラグイン管理テーブル３５０ａを検索することにより、対応するプラグインＩＤが関連づけられたプラグイン情報を取得する。また、通信管理部３６は、取得したプラグイン情報に含まれる通信プロトコルＩＤを検索キーとして、通信プロトコル管理テーブル３３０ａを検索することにより、対応する通信プロトコルＩＤが関連づけられた通信プロトコル情報を取得する。
【０１４８】
ステップＳ２０４において、仲介装置３０の機器通信部３２は、プラグイン管理部３７によって取得されたプラグイン情報に示されるプラグインモジュールを用いて、機器情報取得要求を機器５００へ送信する。この場合、機器情報取得要求は、通信管理部３６によって取得された通信プロトコル情報に示される通信プロトコル、および実装パラメータ情報に示されるパラメータを用いて送信される。これにより、機器５００の通信部５０１は、仲介装置３０から送信された機器情報取得要求を受信する。
【０１４９】
ステップＳ２０５において、機器５００の機器情報生成部５０２は、機器５００のステータスを示す状態情報等の機器情報を生成する。状態情報は、機器５００のリソース状態を示す情報や稼働状態に関する情報を含むログ情報等の機器情報である。
【０１５０】
ステップＳ２０６において、機器５００の通信部５０１は、機器情報生成部５０２によって生成された機器情報を、仲介装置３０へ送信する。これにより、仲介装置３０の機器通信部３２は、送信した機器情報取得要求に対する応答となる機器情報を受信する。この場合、仲介装置３０は、ステップＳ２０４において機器情報取得要求を送信したプラグインモジュール、通信プロトコルおよびパラメータを用いて、機器情報を受信する。
【０１５１】
ステップＳ２０７において、仲介装置３０の管理装置通信部３１は、機器通信部３２によって受信された機器情報を、遠隔機器管理装置１０へ送信する。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信された機器情報を受信する。なお、管理者端末９０のＷｅｂクライアント部９１は、遠隔機器管理装置１０から送信された機器情報に示される内容を、管理者端末９０のディスプレイ１００６ａに表示させる等の方法によって、管理者端末９０を使用する管理者に機器情報を提示してもよい。これにより、遠隔機器管理システム１は、機器５００の保守担当者等のシステムの管理者に、機器５００の状態を知らせることができる。
【０１５２】
○機器情報の通知処理
次に、図２３を用いて、機器５００から自発的に機器情報を通知する場合の処理について説明する。機器５００は、故障等の異常を検知した場合、異常状態を管理者へ知らせるための所定のイベント通知を送信する。図２３は、第１の実施形態に係る遠隔機器管理システムにおける機器から遠隔機器管理装置への機器情報の通知処理の一例を示すシーケンス図である。
【０１５３】
ステップＳ３０１において、機器５００の記憶・読出部５０４は、記憶部６００に記憶された仲介装置識別情報６１０を読み出す。ステップＳ３０２において、機器５００の通信部５０１は、記憶・読出部５０４によって読み出された仲介装置識別情報６１０によって識別される仲介装置３０へ、イベント通知を送信する。このイベント通知には、機器５００の機器情報生成部５０２によって生成された、機器５００の状態を示す状態情報等の機器情報が含まれる。これにより、仲介装置３０の機器通信部３２は、機器５００から送信されたイベント通知を受信する。
【０１５４】
ステップＳ３０３において、仲介装置３０の管理装置通信部３１は、機器通信部３２によって受信されたイベント通知を、遠隔機器管理装置１０へ送信する。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信されたイベント通知を受信する。
【０１５５】
なお、管理者端末９０のＷｅｂクライアント部９１は、遠隔機器管理装置１０から送信されたイベント通知に示される内容を、管理者端末９０のディスプレイ１００６ａに表示させてもよい。これにより、遠隔機器管理システム１は、機器５００の保守担当者等のシステム管理者に、機器５００から通知された機器５００の状態を知らせることができる。
【０１５６】
●第１の実施形態の効果
以上説明したように、第１の実施形態に係る遠隔機器管理システムは、仲介装置３０が利用できない特定の通信プロトコルを拡張するためのプラグインモジュールに関する情報であるプラグイン設定情報を、遠隔機器管理装置１０から仲介装置３０へ送信する。そして、仲介装置３０は、受信されたプラグイン設定情報を用いて、特定の通信プロトコルに対応する通信定義を設定し、設定された通信定義に基づいて、特定の機器５００と通信を行う。これにより、遠隔機器管理システム１は、機器５００との通信に用いる通信プロトコルの拡張を柔軟に行うことができる。
【０１５７】
●第２の実施形態●
続いて、第２の実施形態に係る遠隔機器管理システムについて説明する。第１の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第２の実施形態に係る遠隔機器管理システムは、アカウント（ユーザグループ）と通信プロトコル共通定義との間に通信プロトコル利用許諾という概念を設けた構成である。
【０１５８】
●機能構成
図２４は、第２の実施形態に係る管理システムの機能構成の一例を示す図である。第１の実施形態と異なる点は、遠隔機器管理装置１０の記憶部１００に、利用許諾管理テーブル１７０が記憶されている点である。利用許諾管理テーブル１７０の詳細は、後述する。
【０１５９】
●通信定義
図２５は、第２の実施形態に係る機器の通信定義の概略モデルの一例を示す図である。図２５に示す通信定義は、図６に示した通信定義に加えて、アカウント（ユーザグループ）と通信プロトコル共通定義との間に通信プロトコル利用許諾という概念を設けた構成である。通信プロトコル利用許諾には、アカウントを識別するためのアカウントＩＤ、アカウントＩＤによって識別されるアカウントによって利用可能な通信プロトコルを識別するための通信プロトコルＩＤが含まれる。通信プロトコル共通定義とアカウント（ユーザグループ）は、通信プロトコル利用許諾に含まれるアカウントＩＤおよび通信プロトコルＩＤによって関連づけられている。これによって、第２の実施形態に係る遠隔機器管理システムは、独自に追加した通信プロトコルを、アカウントごとに共有するか否かを設定することができる。
【０１６０】
●利用許諾管理テーブル
図２６は、第２の実施形態に係る利用許諾管理テーブルの一例を示す図である。図２６に示す利用許諾管理テーブル１７０は、遠隔機器管理装置１０の記憶部１００に記憶・管理されている。利用許諾管理テーブル１７０は、アカウントおよびユーザごとに利用可能な通信プロトコルに関する各種情報を記憶している。
【０１６１】
利用許諾管理テーブル１７０は、システム管理を行うアカウントを識別するためのアカウントＩＤ、アカウントＩＤによって識別されるアカウントを利用可能なユーザを識別するためのユーザＩＤ、アカウントＩＤによって識別されるアカウントによって利用可能な通信プロトコルを識別するための通信プロトコルＩＤを関連づけて記憶している。ユーザＩＤは、ユーザ識別情報の一例である。
【０１６２】
利用許諾管理テーブル１７０を用いることで、管理者は、新規にプラグイン（プラグインモジュール）を登録する場合に、利用許諾するアカウントＩＤを指定することができる。また、遠隔機器管理装置１０は、アカウントに対して新規に登録されたプラグインに対応する通信プロトコルの利用を許諾することで、相互に必要なプラグインを共有することができ、効率よく機器５００からの情報取得・設定等の通信を実現することができる。
【０１６３】
●第２の実施形態の効果
以上説明したように、第２の実施形態に係る遠隔機器管理システムは、利用可能な通信プロトコルをアカウント（ユーザグループ）単位で管理することで、独自に定義を追加した通信プロトコルのプラグインを共有するか否かを設定することができる。
【０１６４】
●第３の実施形態●
次に、第３の実施形態に係る遠隔機器管理システムについて説明する。第１の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第３の実施形態に係る遠隔機器管理システムは、機器５００との通信定義において、一つの通信プロトコル共通定義が複数のプラグインモジュールと関連づけられたシステムである。また、第３の実施形態に係る遠隔機器管理システムにおいて、遠隔機器管理装置１０は、記憶部１００に、通信プロトコル管理テーブル１３０ａおよびプラグイン管理テーブル１５０ａに変えて、通信プロトコル管理テーブル１３０ｂおよびプラグイン管理テーブル１５０ｂを記憶している。さらに、第３の実施形態に係る遠隔機器管理システムにおいて、仲介装置３０は、記憶部３００に、通信プロトコル管理テーブル３３０ａおよびプラグイン管理テーブル３５０ａに変えて、通信プロトコル管理テーブル３３０ｂおよびプラグイン管理テーブル３５０ｂを記憶している。
【０１６５】
●通信プロトコル管理テーブル
図２７は、第３の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。図２７に示す通信プロトコル管理テーブル１３０ｂは、通信プロトコル情報として、通信プロトコル管理テーブル１３０ａに含まれる項目に加え、遠隔機器管理システムにおちて利用可能なプラグインモジュールを識別するためのプラグインＩＤを関連づけて記憶している。図２７に示すように、ＨＴＴＰの通信プロトコルは、例えば、プラグインＩＤが異なる２つの通信プロトコル情報を有する（Ｎｏ.１とＮｏ．２）。また、図２７に示すように、「独自プロトコル」は、例えば、プラグインＩＤが異なる３つの通信プロトコル情報を有する（Ｎｏ.５〜Ｎｏ.７）。
【０１６６】
●プラグイン管理テーブル
図２８は、第３の実施形態に係るプラグイン管理テーブルの一例を示す図である。図２８に示すプラグイン管理テーブル１５０ｂは、各プラグイン情報のうち、異なるプラグインＩＤに関連づけられた同一の通信プロトコルＩＤが存在する（例えば、Ｎｏ．１とＮｏ．５とＮｏ．７、Ｎｏ.２とＮｏ．６）。これにより、第３の実施形態に係る遠隔機器管理システムは、一つの通信プロトコルが複数のプラグインモジュールとの関連を持てるので(通信プロトコル共通定義：プラグイン＝１：多)、例えば、ある独自プロトコルが複数のファイル（プラグイン）が必要な場合にも対応することができる。
【０１６７】
●通信プロトコル管理テーブル
図２９は、第１の実施形態に係る通信プロトコル管理テーブルの一例を示す図である。図２９に示す通信プロトコル管理テーブル３３０ｂは、仲介装置３０の記憶部３００に記憶・管理されている。通信プロトコル管理テーブル３３０ｂの内容は、遠隔機器管理装置１０に記憶された通信プロトコル管理テーブル１３０ｂと同様である。
【０１６８】
●プラグイン管理テーブル
図３０は、第３の実施形態に係るプラグイン管理テーブルの一例を示す図である。図３０に示すプラグイン管理テーブル３５０ｂは、仲介装置３０の記憶部３００に記憶・管理されている。プラグイン管理テーブル３５０ｂの内容は、遠隔機器管理装置１０に記憶されたプラグイン管理テーブル１５０ｂと同様である。
【０１６９】
●実装パラメータの設定処理
続いて、第３の実施形態に係る遠隔機器管理システムにおいて、仲介装置３０に設定された通信プロトコルに実装させる通信パラメータを設定する処理について説明する。図３１は、第３の実施形態に係る遠隔機器管理システムにおける実装パラメータの設定処理の一例を示すシーケンス図である。
【０１７０】
ステップＳ８１において、管理者端末９０のＷｅｂクライアント部９１は、実装パラメータ設定要求を、遠隔機器管理装置１０へ送信する。具体的には、管理者端末９０の受付部９２は、Ｗｅｂクライアント部９１によって管理者端末９０のディスプレイ１００６ａに表示された所定の設定画面に対するユーザの入力操作によって、パラメータを設定する通信プロトコルを識別するための通信プロトコルＩＤ、および実装するパラメータの値を含む実装パラメータ情報の入力を受け付ける。そして、Ｗｅｂクライアント部９１は、受付部９２によって受け付けられた実装パラメータ設定要求を、遠隔機器管理装置１０へ送信する。ここで、実装パラメータ設定要求には、受付部９２によって受け付けられた通信プロトコルＩＤおよび実装パラメータ情報、並びに仲介装置識別情報が含まれる。これにより、遠隔機器管理装置１０のＷｅｂサーバ部１６は、実装パラメータ設定要求を受信する。
【０１７１】
ステップＳ８２において、遠隔機器管理装置１０の記憶・読出部１７は、Ｗｅｂサーバ部１６によって実装パラメータ設定要求が受信された場合、記憶部１００に記憶された仲介装置管理テーブル１１０およびプラグイン管理テーブル１５０ｂを読み出す。ステップＳ８３において、遠隔機器管理装置１０の通信管理部１５は、Ｗｅｂサーバ部１６によって受信された実装パラメータ設定要求に含まれる仲介装置識別情報を検索キーとして、仲介装置管理テーブル１１０を検索することにより、対応する仲介装置識別情報が関連づけられた仲介装置設定情報を取得する。
【０１７２】
ステップＳ８４において、遠隔機器管理装置１０の通信管理部１５は、Ｗｅｂサーバ部１６によって受信された実装パラメータ設定要求に含まれる通信プロトコルＩＤを検索キーとして、プラグイン管理テーブル１５０ｂを検索することにより、対応する通信プロトコルＩＤが関連づけられたプラグインＩＤを取得する。
【０１７３】
ステップＳ８４において、遠隔機器管理装置１０の仲介装置通信部１１は、取得された仲介装置設定情報に含まれる宛先情報が示す仲介装置３０へ、実装パラメータ設定要求を送信する。ここで、遠隔機器管理装置１０から送信される実装パラメータ設定要求には、Ｗｅｂサーバ部１６によって受信された通信プロトコルＩＤおよび実装パラメータ情報、並びに通信管理部１５によって取得されたプラグインＩＤが含まれる。これにより、仲介装置３０の管理装置通信部３１は、遠隔機器管理装置１０から送信された実装パラメータ設定要求を受信する。
【０１７４】
ステップＳ８６において、仲介装置３０の通信管理部３６は、管理装置通信部３１によって受信された実装パラメータ設定要求に含まれる、プラグインＩＤ、通信プロトコルＩＤおよび実装パラメータ情報を関連づけて、通信プロトコル管理テーブル３３０ｂに設定する。
【０１７５】
ステップＳ８７において、仲介装置３０の管理装置通信部３１は、実装パラメータ情報の設定結果を、遠隔機器管理装置１０へ送信する。これにより、遠隔機器管理装置１０の仲介装置通信部１１は、仲介装置３０から送信された設定結果を受信する。これにより、仲介装置３０は、管理システム３からの要求に応じて、複数のプラグインモジュールに関連づけられた通信プロトコルのパラメータの値を設定することができる。
【０１７６】
●第３の実施形態の効果
以上説明したように、第３の実施形態に係る遠隔機器管理システムは、通信プロトコル共通定義に対して複数のプラグイン情報を関連づけることによって、独自に定義した通信プロトコルが、対応するプラグインモジュール以外のプラグインモジュールに依存する場合においても、関連づけられた複数のプラグイン情報を用いて機器５００と通信を行うことができる。
【０１７７】
●その他の実施形態●
図３２は、その他の実施形態に係る遠隔機器管理システムのシステム構成の一例を示す図である。図３２に示す遠隔機器管理システム２において、上記で説明した遠隔機器管理システム１と異なる点は、仲介装置３０と通信を行う機器５００の種類が異なること、すなわち管理対象の機器５００の使用環境が異なることである。機器７００は、産業機械７００ａ、撮像装置７００ｂ、集音装置７００ｃ、医療機器７００ｄ、立体物造形装置７００ｅ等を含む。
【０１７８】
産業機械７００ａは、加工装置、検査装置、搬送装置、ピッキング装置等である。産業機械７００ａは、機器の識別情報や、稼働状況、異常動作の有無、消耗品の交換時期に関する情報、機器による検査結果等の機器情報を、管理システム３（遠隔機器管理装置１０）へ送信する。産業機械７００ａは、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を管理システム３（遠隔機器管理装置１０）へ送信する。
【０１７９】
撮像装置７００ｂと集音装置７００ｃは、例えば、産業機械７００ａの周辺に設置され、産業機械７００ａの状態を把握するための装置である。医療機器７００ｄは、眼底検査装置、Ｘ線検査装置、血圧計、体脂肪計、視力計、ペースメーカ等である。医療機器７００ｄは、機器の識別情報や、機器の稼働状況、異常動作の有無、機器による測定結果等の機器情報を、管理システム３（遠隔機器管理装置１０）へ送信する。医療機器７００ｄは、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を管理システム３（遠隔機器管理装置１０）へ送信する。
【０１８０】
立体物造形装置７００ｅは、ＣＡＤ（Ｃｏｍｐｕｔｅｒ Ａｉｄｅｄ Ｄｅｓｉｇｎ）データ等の立体物の形状を示す３Ｄデータを受信し、そのデータに基づいて成形材の層を堆積させることにより立体物を造形する３Ｄプリンタ等によって構成される。立体物造形装置７００ｅは、造形方式として、材料押出堆積法（ＦＤＭ（Fused Deposition Modeling））、マテリアルジェッティング、バインダジェッティング、粉末焼結積層造形（ＳＬＳ（Selective Laser Sintering））、光造形法（ＳＬＡ（Stereolithography））等を採用する。立体物造形装置７００ｅは、当該機器の識別情報、当該機器の稼働状況、異常動作の有無または当該機器に装着された消耗品の状態等を、数値データ、テキストデータまたは画像データ等の種々のデータ形式を用いて仲介装置３０を経由して管理システム３（遠隔機器管理装置１０）へ送信する。
【０１８１】
図３２に示す遠隔機器管理システム２において、仲介装置３０は、遠隔機器管理装置１０とファイアウォール９を介して接続されている。仲介装置３０は、機器７００内に設けてあるファームウエアを、インターネット接続を利用して更新するファームウエア更新機能を備えていてもよい。
【０１８２】
図３２の例において、遠隔機器管理システム２は、複数の機器７００と一台の仲介装置３０を含む構成を示しているが、更に他の機器を含んで構成してもよい。例えば、一台の仲介装置３０では処理負荷が大きくなる場合、機器７００のファームウエア更新のための機能と機器７００の遠隔管理を集中的に行う機能を複数の仲介装置に分けて割り当てる構成にしてもよい。
【０１８３】
なお、遠隔機器管理システム２における管理対象の機器７００は、これに限られない。機器７００は、例えば、家庭用電化製品（家電）、自動販売機、電源装置、空調システムまたはガス・水道・電気等の計量システム等に通信機能を持たせた機器であってもよい。
【０１８４】
●まとめ●
以上説明したように、本発明の一実施形態に係る仲介装置は、ローカルネットワーク７内に存在する機器５００と、ローカルネットワーク７とファイアウォール９を介して接続された管理システム３との通信を仲介する仲介装置３０であって、仲介装置３０が利用できない特定の通信プロトコルを拡張するためのプラグインモジュールに関するプラグイン情報（プラグインの一例）を、管理システム３から受信する。そして、仲介装置３０は、受信されたプラグイン情報を用いて、特定の通信プロトコルに対応する通信定義を設定し、設定された通信定義に基づいて、特定の機器５００との通信を行う。これにより、仲介装置３０は、機器５００との通信に用いる通信プロトコルの拡張を柔軟に行うことができる。
【０１８５】
また、本発明の一実施形態に係る仲介装置は、管理システム３と接続されている通信セッションを介して、プラグインの設定要求を、管理システム３から受信し、受信された設定要求に示されるプラグインの転送要求を、管理システム３へ送信する。そして、仲介装置３０は、送信した転送要求に対する応答として、仲介装置３０が利用できない特定の通信プロトコルを拡張するためのプラグインモジュールに関するプラグイン情報（プラグインの一例）を、管理システム３から受信する。これにより、仲介装置３０は、管理システム３との間で確立されたＷｅｂＳｏｃｋｅｔ等の常時通信可能な通信セッションを用いて、管理システム３から新たなプラグインモジュールをインストールすることができる。
【０１８６】
さらに、本発明の一実施形態に係る仲介装置は、通信定義として、受信されたプラグイン情報（プラグインの一例）と当該プラグイン情報に対応する特定の通信プロトコルを示す通信プロトコル情報とを関連づけて設定する。そして、仲介装置３０は、設定されたプラグイン情報に示されるプラグインモジュールの更新要求を受け付け、受け付けられた更新要求に示されるプラグインモジュールを更新する。これにより、仲介装置３０は、管理システム３から送信されたプラグイン情報に基づいて設定された通信定義に対応する通信定義を設定することができる。
【０１８７】
また、本発明の一実施形態に係る仲介装置において、通信プロトコル情報は、異なる通信プロトコルの間で共通する通信プロトコル共通定義を含み、通信定義は、通信プロトコル共通定義に複数のプラグイン情報が関連づけられている。これにより、仲介装置３０は、独自に定義された通信プロトコルが、対応するプラグインモジュール以外のプラグインモジュールに依存する場合においても、関連づけられた複数のプラグイン情報を用いて機器５００と通信を行うことができる。
【０１８８】
さらに、本発明の一実施形態に係る仲介装置は、プラグイン情報を設定した日時を示す時間情報を、当該プラグイン情報に関連づけて記憶する。これにより、仲介装置３０は、機器５０との通信に不具合が生じた場合の障害解析に掛かる負担を低減させることができる。
【０１８９】
また、本発明の一実施形態に係る仲介装置において、プラグイン情報は、当該プラグイン情報に示されるプラグインモジュールのバージョンを示すバージョン情報を含む。そして、仲介装置３０は、設定されたプラグイン情報をディスプレイ１００６ａ（表示部の一例）に表示させる。これにより、仲介装置３０は、機能追加または障害対策用のモジュールの導入を行うことができ、より安定して機器５００と通信することができる。
【０１９０】
さらに、本発明の一実施形態に係る仲介装置において、通信プロトコル情報は、特定の機器５００との通信に用いる特定の通信プロトコルのパラメータを示すパラメータ情報を含む。これにより、仲介装置３０は、運用時にパラメータを細かく調整することができる。
【０１９１】
また、本発明の一実施形態に係る仲介装置において、通信定義は、通信の目的を示す動作種別と通信プロトコルとが分離されている。これにより、仲介装置３０は、動作種別が同じで通信プロトコルのみを切り替えることができるので、より機器５００との通信に意味づけをすることができる。
【０１９２】
さらに、本発明の一実施形態に係る仲介装置において、通信定義は、機器５００を特定するための機器特定情報に複数の動作種別が関連づけられている。これにより、仲介装置３０は、機器５００に対して通信したい目的が増えた場合においても動作種別を追加することで対応することができる。
【０１９３】
また、本発明の一実施形態に係る遠隔機器管理システムは、仲介装置３０と、管理システム３とを備え、管理システム３は、プラグインにユーザを識別するためのユーザ識別情報を関連づけて管理し、仲介装置３０は、管理システム３によって管理されるプラグインを、管理システム３から受信する。これにより、遠隔機器管理システム１は、他のアカウントとプラグインを共有することで、アカウントごとに同様のプラグインを実装しなくても機器５００との通信を行うことができる。
【０１９４】
さらに、本発明の一実施形態に係る通信方法は、ローカルネットワーク７内に存在する機器５００と、ローカルネットワーク７とファイアウォール９を介して接続された管理システム３との通信を仲介する仲介装置３０が実行する通信方法であって、仲介装置３０が利用できない特定の通信プロトコルを拡張するためのプラグインモジュールに関するプラグイン設定情報（プラグインの一例）を、管理システム３から受信する受信ステップと、
受信されたプラグイン設定情報を用いて、特定の通信プロトコルに対応する通信定義を設定する設定ステップと、設定された通信定義に基づいて、特定の機器５００との通信を行う通信ステップと、を実行する。これにより、本発明の一実施形態に係る通信方法は、機器５００との通信に用いる通信プロトコルの拡張を柔軟に行うことができる。
【０１９５】
●補足●
なお、各実施形態の機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、各実施形態の機能を実行するためのプログラムは、電気通信回線を通じて頒布することができる。
【０１９６】
また、各実施形態の機能を実行するためのプログラムは、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＥＰＲＯＭ（Erasable Programmable Read-Only Memory）、フラッシュメモリ、フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＣＤ−ＲＷ（Re-Writable）、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯ（Magneto-Optical disc）等の装置可読な記録媒体に格納して頒布することもできる。
【０１９７】
さらに、各実施形態の機能の一部または全部は、例えばＦＰＧＡ（Field Programmable Gate Array）等のプログラマブル・デバイス（PD）上に実装することができ、またはＡＳＩＣとして実装することができ、各実施形態の機能をＰＤ上に実現するためにＰＤにダウンロードする回路構成データ（ビットストリームデータ）、回路構成データを生成するためのＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuits Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ等により記述されたデータとして記録媒体により配布することができる。
【０１９８】
これまで本発明の一実施形態に係る仲介装置、遠隔機器管理システム、通信方法およびプログラムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１９９】
１,２    遠隔機器管理システム
３    管理システム
７    ローカルネットワーク
９    ファイアウォール
１０    遠隔機器管理装置
１４    プラグイン管理部（管理手段の一例）
３０    仲介装置
３１    管理装置通信部（受信手段の一例、送信手段の一例）
３２    機器通信部（通信手段の一例）
３３    受付部（受付手段の一例）
３４    表示制御部（表示制御手段の一例）
３６    通信管理部（設定手段の一例）
３７    プラグイン管理部（設定手段の一例）
９０    管理者端末
５００    機器
【先行技術文献】
【特許文献】
【０２００】
【特許文献１】特開２０１２−２４４３８２号公報
【図１】
2020087006.tif 000003
【図２】
2020087006.tif 000004
【図３】
2020087006.tif 000005
【図４】
2020087006.tif 000006
【図５】
2020087006.tif 000007
【図６】
2020087006.tif 000008
【図７】
2020087006.tif 000009
【図８】
2020087006.tif 000010
【図９】
2020087006.tif 000011
【図１０】
2020087006.tif 000012
【図１１】
2020087006.tif 000013
【図１２】
2020087006.tif 000014
【図１３】
2020087006.tif 000015
【図１４】
2020087006.tif 000016
【図１５】
2020087006.tif 000017
【図１６】
2020087006.tif 000018
【図１７】
2020087006.tif 000019
【図１８】
2020087006.tif 000020
【図１９】
2020087006.tif 000021
【図２０】
2020087006.tif 000022
【図２１】
2020087006.tif 000023
【図２２】
2020087006.tif 000024
【図２３】
2020087006.tif 000025
【図２４】
2020087006.tif 000026
【図２５】
2020087006.tif 000027
【図２６】
2020087006.tif 000028
【図２７】
2020087006.tif 000029
【図２８】
2020087006.tif 000030
【図２９】
2020087006.tif 000031
【図３０】
2020087006.tif 000032
【図３１】
2020087006.tif 000033
【図３２】
2020087006.tif 000034