以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●第1の実施形態●
●システム構成
図1は、第1の実施形態に係る遠隔機器管理システムのシステム構成の一例を示す図である。遠隔機器管理システム1は、管理システム3、ローカルネットワーク7およびファイアウォール9を含む。ローカルネットワーク7は、インターネットを介して管理システム3と接続されている。ローカルネットワーク7と管理システム3は、ファイアウォール9をインターフェースとして接続されている。
ローカルネットワーク7は、オフィス、会議室、倉庫、工場または特定の生産ライン等のネットワーク環境において形成される通信ネットワークである。ローカルネットワーク7は、例えば、インターネットを経由しない社内LAN(Local Area Network)である。ローカルネットワーク7は、仲介装置30、MFP(Multi-Function Peripheral:複合機)500a、PJ(Projector:プロジェクタ)500b、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)500c、PC(Personal Computer:パソコン)500d、センサデバイス500e(例:外部と通信可能な、電子天秤・気圧計・加速度計・電流計・温度計・光度計・人感センサ・カメラ・照度計)を含む。MFP500a、PJ500b、IWB500c、PC500d、センサデバイス500eは、管理システム3における遠隔管理の対象となる管理対象機器である。なお、以下の説明で使用する機器500は、これらの管理対象機器の総称である。
ファイアウォール9は、管理システム3(インターネット)からの特定のパケットのみをローカルネットワーク7内に通過させる機能を有する。これにより、ファイアウォール9は、ローカルネットワーク7への意図しないまたは不正なアクセスをブロックすることが可能となる。また、ファイアウォール9は、仲介装置30からのパケットを管理システム3に転送する機能を有する。
管理システム3は、ローカルネットワーク7内に存在する仲介装置30および機器500を管理するためのシステムである。管理システム3は、遠隔機器管理装置70および複数の管理者端末90(90a、90b、90c、以下区別する必要のないときは管理者端末90と称する。)を含む。
遠隔機器管理装置70は、複数のローカルネットワーク7に存在する仲介装置30および機器500の情報を管理するためのサーバコンピュータである。遠隔機器管理装置70は、ファイアウォ-ル9を介して仲介装置30と接続され、ローカルネットワーク7内の機器500を、仲介装置30を介して遠隔管理する。管理の一例として、遠隔機器管理装置70は、MFP500aから、トナー残量・印刷枚数等の状態に関する情報を取得することが可能である。また、遠隔機器管理装置70は、MFP500aに蓄積されたドキュメントデータの印刷を実行させるための指示が可能である。また、遠隔機器管理装置70は、PJ500b、IWB500c、およびPC500dに対して、電源のONまたはOFFを制御することが可能である。さらに、遠隔機器管理装置70は、センサデバイス500eに対して、当該センサデバイス500eによって取得された情報を取得することが可能である。なお、遠隔機器管理装置70は、一台のサーバコンピュータによって構成されてもよく、複数のサーバコンピュータによって構成されてもよい。
管理者端末90は、仲介装置30の設置担当者または機器500の保守担当者等の遠隔機器管理システム1の管理者が使用するノートPC等の端末である。管理者端末90は、遠隔機器管理装置70によって管理される機器500の機器情報を表示させることで、遠隔機器管理システム1の管理者に機器500の情報を提供する。また、複数の管理者端末90は、異なる拠点からそれぞれ遠隔機器管理装置70へアクセスすることができる。管理者端末90aではアプリ900a、管理者端末90bではアプリ900b、管理者端末90cではアプリ900c(以下、アプリ900a~cのそれぞれを区別しない場合、アプリ900という。)が動作している。遠隔機器管理装置70は、例えば、ローカルネットワーク7の使用環境や機器500の種別に応じて、提供するアプリケーションの内容を設定することができ、管理者端末90ごとに提供するアプリケーションを管理している。なお、管理者端末90は、例えば、タブレット端末、携帯電話、スマートフォン、ウェアラブル端末またはディスクトップPC等のWebブラウザを搭載した端末であってもよい。また、管理者端末90は、ローカルネットワーク7内において、仲介装置30と直接通信可能な構成であってもよい。例えば、仲介装置30の設置担当者が現場で仲介装置30の設置作業を行う場合、設置担当者が使用する管理者端末90は、仲介装置30とローカルネットワーク7内で直接通信を行うことで、仲介装置30の設置作業を円滑に行うことができる。
仲介装置30は、遠隔機器管理装置70と、ローカルネットワーク7における機器500との間の通信を仲介する装置である。仲介装置30は、遠隔機器管理装置70からファイアウォール9を超えて、ローカルネットワーク7内にメッセージを送信するために常時セッションを維持するための責務を持ち、ローカルネットワーク7内のセキュリティを担保しつつ遠隔機器管理装置70と監視対象の機器500との双方向の通信を実現する。仲介装置30は、機器500およびファイアウォール9と、有線または無線LAN等を介して通信可能である。仲介装置30は、遠隔機器管理装置70からの指示を受けて機器500にアクセスしたり、機器500からのアラート通知を遠隔機器管理装置70に送信したり、予め設定されたスケジュールに基づき機器500の情報取得通知や死活監視(例えば、機器500が通信可能であるかどうか等)を行う。仲介装置30は、単体として機能するボックス型(箱型)の通信装置であってもよく、MFP500a等の機器に内蔵されていてもよい。
また、仲介装置30は、インターネット上にある遠隔機器管理装置70と、ファイアウォール9を経由して通信可能である。すなわち、仲介装置30は、ファイアウォール(をインターフェースとするローカルネットワーク7)内に位置し、管理システム3を構成する遠隔機器管理装置70は、ファイアウォール(をインターフェースとするローカルネットワーク7)外に位置するといえる。
機器500(MFP500a、PJ500b、IWB500c、PC500dおよびセンサデバイス500e)は、ローカルネットワーク7内に位置し、かつファイアウォール(をインターフェースとするローカルネットワーク7)内に位置する。機器500は、管理システム3によるメンテナンスやカウンタ検針等が行われる管理対象の機器である。また、機器500は、人感センサ等のネットワーク機能を備えていない端末に、ネットワーク機能を備えた機器を取り付けてもよい。
なお、管理システム3は、遠隔機器管理装置70と管理者端末90の機能を一台の装置によって実行される構成であってもよい。また、図1は、管理システム3が、一つのローカルネットワーク7内に位置する複数の機器500を遠隔管理する例を示すが、管理システム3が、複数のローカルネットワーク7内のそれぞれに位置する機器500を遠隔管理する構成にしてもよい。また、図1は、一台の仲介装置30が一つのローカルネットワーク7内に位置する例を示すが、一つのローカルネットワーク内に二台以上の仲介装置30が位置する構成にしてもよい。この場合、仲介装置30ごとに担う機能を分担してもよい。
●概略
ここで、第1の実施形態に係る遠隔機器管理システムの構成の概略に説明する。なお、図2は、第1の実施形態に係る遠隔機器管理システムの概略を簡略的に説明したものであり、遠隔機器管理システム1Aが実現する機能等の詳細は、後述する図面等を用いて説明する。
図2は、第1の実施形態に係る遠隔機器管理システムの概略の一例を示す図である。図2に示す遠隔機器管理システム1Aは、機器との通信に用いる通信プロトコルを柔軟に追加・変更することができるシステムである。また、遠隔機器管理システム1Aは、システム自体の変更を行わなくても、機器管理システム5Aが対応していない通信プロトコルを用いて通信を行う機器500と機器管理システム5Aとの通信を行うことができる。図2に示す遠隔機器管理システム1Aは、管理システム3および仲介装置30Aによって構成される機器管理システム5A、プロトコル変換装置10、並びに機器1および機器2(機器500)が含まれる。機器1は、HTTP(HyperText Transfer Protocol)の通信プロトコルに対応しており、仲介装置30Aと通信を行うことができる。一方、仲介装置30Aは、通常同一のネットワークに存在する機器500に対しては、同列に管理対象として通信することができるが、TCP/IPネットワークではない場合やHTTP/SNMP等の標準プロトコルをサポートしていない機器とは通信できないケースがある。機器2は、仲介装置30Aにインストールされている既存のファームウエアに組み込まれていない通信プロトコルが用いられるため、機器管理システム5Aとの通信を行うことができない。機器2は、例えば、ModbusTCPのプロトコルに対応している。
そこで、図2に示すように、遠隔機器管理システム1Aは、機器管理システム5Aと機器2との間に、通信プロトコルを変換するプロトコル変換装置10を設けている。プロトコル変換装置10は、機器管理システム5Aが対応していない通信プロトコルを扱う機器500と、仲介装置Aとの通信を仲介する装置である。プロトコル変換装置10は、機器500と仲介装置30Aのそれぞれから受信したデータを、送信先が対応しているプロトコルに適したデータ形式に変換して送信する。図2の例において、プロトコル変換装置10は、例えば、仲介装置30Aとの間のHTTP通信によって受信したデータを、ModbusTCPに適したデータ形式に変換して、機器2へ送信する。プロトコル変換装置10は、ノートPC等の情報処理装置に機能を実装させることによって実現可能である。
ここで、プロトコル変換装置10には、機器管理システム5Aと機器500との間で送受信されるデータのデータ形式を変換するためのプロトコル変換情報200が設定されている。プロトコル変換情報200は、プロトコルライブラリ210および設定ファイル250を含む。また、機器管理システム5Aは、プロトコル変換装置10に対して、設定ファイル250を遠隔で読み込ませる。プロトコル変換装置10は、読み込ませた設定ファイル250に基づいて、送受信するデータを、機器500の種別に応じた通信プロトコルに変換する。プロトコル変換装置10は、情報処理装置の一例である。
これにより、遠隔機器管理システム1Aは、機器管理システム5A自体のファームウエアの更新等の設定変更を行うことなく、プロトコル変換装置10にプロトコルライブラリ210および設定ファイル250を遠隔で読み込ませることで、通信プロトコルと動作定義を容易に追加変更することができる。また、遠隔機器管理システム1Aは、仲介装置30Aとプロトコル変換装置10がHTTP通信を行うため、機器500が位置する環境に合わせて、プロトコル変換装置10を任意の位置に設置することができる。さらに、遠隔機器管理システム1Aは、ノートPC等のローカルネットワーク7内に存在する汎用的な情報処理装置にプロトコル変換装置10の機能を実装させることができるので、既に機器管理システム5Aを運用している場合においても運用を停止させずに、本発明に係る機能を導入することができる。
●ハードウエア構成
続いて、第1の実施形態に係る各装置のハードウエア構成について説明する。遠隔機器管理システム1を構成する各装置は、一般的なコンピュータの構成を有する。ここでは、一般的なコンピュータのハードウエア構成例について説明する。
図3は、第1の実施形態に係るコンピュータのハードウエア構成の一例を示す図である。なお、図3に示すコンピュータ1000のハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。コンピュータ1000は、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003、ストレージ1004、キーボード1005、ディスプレイインターフェース(I/F)1006、メディアインターフェース(I/F)1007、ネットワークインターフェース(I/F)1008およびバス1009等を有する。
CPU1001は、ROM1002やストレージ1004等に格納されたプログラムやデータをRAM1003上に読み出し、処理を実行することで、コンピュータ1000の各機能を実現する演算装置である。例えば、プロトコル変換装置10は、本発明に係るプログラムをCPU1001で実行することで、本発明に係る通信方法を実現する。
ROM1002は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。ROM1002は、例えば、フラッシュROM等により構成される。ROM1002は、多種の用途に対応したSDK(Software Development Kit)がインストールされており、SDKのアプリケーションを用いて、コンピュータ1000の機能やネットワーク接続等を実現することが可能である。
RAM1003は、CPU1001のワークエリア等として用いられる揮発性のメモリである。ストレージ1004は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージデバイスである。ストレージ1004は、例えば、OS(Operation System)、アプリケーションプログラムおよび各種データ等を記憶する。
キーボード1005は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。入力手段は、キーボード1005のみならず、例えば、マウス、タッチパネルまたは音声入力装置等であってもよい。ディスプレイI/F1006は、LCD(Liquid Crystal Display)等のディスプレイ1006aに対するカーソル、メニュー、ウィンドウ、文字または画像等の各種情報の表示を制御する。ディスプレイ1006aは、入力手段を備えたタッチパネルディスプレイであってもよい。
メディアI/F1007は、USB(Universal Serial Bus)メモリ、メモリカード、光学ディスクまたはフラッシュメモリ等の記録メディア1007aに対するデータの読み出しまたは書き込み(記憶)を制御する。
ネットワークI/F1008は、コンピュータ1000をネットワークに接続し、他のコンピュータや、電子機器等とデータの送受信を行うためのインターフェースである。ネットワークI/F1008は、例えば、有線または無線LAN(Local Area Network)等の通信インターフェースである。また、ネットワークI/F1008は、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation)、Zigbee(登録商標)、EnOcean、BLE(Bluetooth(登録商標)Low Energy)、NFC(Near Field Communication)、ミリ波無線通信、赤外線通信、QRコード(登録商標)、可視光、環境音または超音波等の通信インターフェースを備えてもよい。
バスライン1009は、上記の各構成要素に共通に接続され、アドレス信号、データ信号、および各種制御信号等を伝送する。CPU1001、ROM1002、RAM1003、ストレージ1004、キーボード1005、ディスプレイI/F1006、メディアI/F1007およびネットワークI/F1008は、バスライン1009を介して相互に接続されている。
なお、第1の実施形態に係る各装置のハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。例えば、遠隔機器管理装置70は、キーボード1005等の入力手段およびディスプレイ1006aを備えていない構成であってもよい。また、機器500は、各機器の種別に応じた機能やサービスを提供するためのモジュール等を備える構成であってもよい。
●機能構成
続いて、第1の実施形態に係る遠隔機器管理システムの機能構成について説明する。まず、図4を用いて、管理システム3を構成する遠隔機器管理装置70および管理者端末90の機能構成を説明する。図4は、第1の実施形態に係る管理システムの機能構成の一例を示す図である。図4に示す遠隔機器管理装置70により実現される機能は、仲介装置通信部71、コマンド管理部72、判断部73、ファイル管理部74、通信管理部75、Webサーバ部76、記憶・読出部77および記憶部800を含む。
仲介装置通信部71は、仲介装置30Aとの間で各種データ(情報)をやり取りする機能である。仲介装置通信部71は、ローカルネットワーク7の内部に位置する仲介装置30Aとの間のファイアウォ-ル9を経由した通信を制御する。仲介装置通信部11は、仲介装置30Aから送信された遠隔機器管理装置70へのポーリングを受信し、当該ポーリングに対する応答を仲介装置30Aへ送信する。または、仲介装置通信部11は、仲介装置30Aから遠隔機器管理装置70に対して常時通信可能なように通信セッション(WebSocket等)を維持しておき、仲介装置30Aとの間で、各種データ(情報)を送受信する。本実施形態では、どちらの方法をとってもよい。
仲介装置通信部71は、例えば、Webサーバ部76によって発行されたコマンドを、仲介装置30Aへ送信する。仲介装置通信部71から送信されるコマンドは、例えば、機器500に対する所定の要求を示す要求情報の一例である。仲介装置30Aから遠隔機器管理装置70に対して常時通信可能な通信セッション(WebSocket等)でない場合、遠隔機器管理装置70は、Webサーバ部76によって発行されたコマンドを、未送信または送信完了といったステータスでコマンドの送信状態を管理する。また、仲介装置通信部71は、仲介装置30Aへ送信したコマンドに対する応答、または機器500から自発的に送信された機器500のステータスを示す状態情報等の機器情報を、仲介装置30Aから受信する。受信された情報は、Webサーバ部76に送信され、Webクライアントを用いて管理者端末90に表示される。仲介装置通信部71は、例えば、図3に示したネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。仲介装置通信部71は、ファイル送信手段の一例である。また、仲介装置通信部71は、ファイル受信手段の一例である。
コマンド管理部72は、仲介装置30Aまたは機器500に対する所定の要求であるコマンドを管理する機能である。コマンド管理部72は、Webサーバ部76によって生成されたコマンド、および仲介装置30または機器500によるコマンドの実行結果を管理する。コマンド管理部72は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
判断部73は、管理(監視)対象の機器500から送信される機器情報に基づいて、機器500の状態を判断する機能である。判断部73は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
ファイル管理部74は、遠隔機器管理装置70にアップロードされたファイルを管理する機能である。ファイル管理部74は、例えば、後述するファイル管理テーブル830に、アップロードされた設定用ファイルとファイルIDとを関連づけて記憶・管理する。ファイル管理部74は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。ファイル管理部74は、ファイル管理手段の一例である。
通信管理部75は、ローカルネットワーク7に存在する仲介装置30および機器500との通信を管理する機能である。通信管理部75は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
Webサーバ部76は、Webアプリケーションのサーバ部としての機能を担う機能である。Webサーバ部76は、Webクライアント部91からの要求をHTTPS(HyperText Transfer Protocol Secure)等の通信プロトコルを利用してWebAPI(Web Application Programming Interface)で受け付け、要求に従った処理を行ってWebクライアント部91へ応答する。利用される通信プロトコルは、これに限られず、FTP(File Transfer Protocol)、HTTPまたはSNMP(Simple Network Management Protocol)等のプロトコルを用いてもよい。また、Webサーバ部76は、遠隔機器管理装置70から仲介装置30Aや機器500との通信が必要な場合に、仲介装置30Aまたは機器500に送信するコマンドを発行(生成)する。発行されるコマンドは、機器500のステータスを示す状態情報の取得または電源のON/OFF等の制御命令である。これらのコマンドは、機器500に対する所定の要求を示す要求情報の一例である。Webサーバ部76は、仲介装置通信部71によって受信されたコマンド結果を、Webクライアント部91の画面上にリアルタイムに通知するためにWebSocket等の機能を有していてもよい。Webサーバ部76は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
記憶・読出部77は、記憶部800に各種データを記憶し、記憶部800から各種データを読み出す機能である。記憶・読出部77および記憶部800は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。また、記憶部800は、図3に示したROM1002またはストレージ1004によって実現される。さらに、記憶部800は、仲介装置30Aに関する各種情報を記憶・管理する仲介装置管理テーブル810、および遠隔機器管理装置70にアップロードされたファイルを記憶・管理するファイル管理テーブル830を記憶している。
続いて、管理者端末90の機能構成について説明する。図4に示す管理者端末90により実現される機能は、Webクライアント部91および受付部92を含む。
Webクライアント部91は、Webアプリケーションのクライアント部としての役割を担う機能である。Webクライアント部91は、Webブラウザで動作するHTML(Hyper Text Markup Language)、またはJavaScript(登録商標)、CSS(Cascading Style Sheets)といった言語で記述されたプログラムが実行されることによって実現される。Webクライアント部91は、例えば、機器500の機器情報の閲覧画面、仲介装置30Aおよびプロトコル変換装置10の設定を変更する設定変更画面等を、管理者端末90のディスプレイ1006aに表示させる。Webクライアント部91は、例えば、図3に示したネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。
受付部92は、図3に示したキーボード1005等の入力手段に対するユーザ入力を受け付ける機能である。受付部92は、例えば、Webクライアント部91によってディスプレイ1006aに表示された表示画面に示される各種項目に対する選択を受け付ける。受付部92は、例えば、図3に示したキーボード1005およびCPU1001で実行されるプログラム等によって実現される。
続いて、図5を用いて、ローカルネットワーク7に属する各装置の機能構成を説明する。図5は、第1の実施形態に係る仲介装置および機器の機能構成の一例を示す図である。図5に示す仲介装置30Aにより実現される機能は、管理装置通信部31、機器通信部32、受付部33、表示制御部34、機器情報管理部35、通信管理部36、コマンド実行部37、記憶・読出部38および記憶部300を含む。
管理装置通信部31は、遠隔機器管理装置70との間で各種データ(情報)をやり取りする機能である。管理装置通信部31は、例えば、遠隔機器管理装置70から送信された機器500に対して所定の処理の実行を要求するコマンドを受信する。また、管理装置通信部31は、例えば、遠隔機器管理装置70から送信されたコマンドに対する応答(処理の実行結果)を、遠隔機器管理装置70へ送信する。さらに、管理装置通信部31は、仲介装置30または機器500の状態を示す状態情報等の装置情報または機器情報を、遠隔機器管理装置70へ送信する。管理装置通信部31は、例えば、図3に示すネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。
機器通信部32は、機器500との間で各種データ(情報)をやり取りする機能である。機器通信部32は、通信管理部36によって管理される動作種別、通信プロトコルおよびパラメータを用いて、機器500と通信を行う。機器通信部32は、例えば、管理装置通信部31によって受信されたコマンドを、機器500へ送信する。また、機器通信部32は、例えば、機器500から送信された、コマンドに対する応答を受信する。
さらに、機器通信部32は、ローカルネットワーク7内に存在するプロトコル変換装置10と通信を行う。機器通信部32は、例えば、図3に示すネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。
受付部33は、図3に示したキーボード1005等の入力手段に対するユーザ入力を受け付ける機能である。受付部33は、例えば、図3に示したキーボード1005およびCPU1001で実行されるプログラム等によって実現される。表示制御部34は、図3に示したディスプレイ1006aに各種画面情報を表示させる機能である。表示制御部34は、例えば、ユーザによる入力操作を受け付ける操作画面等を、ディスプレイ1006aに表示させる。表示制御部34によって表示される表示画面は、例えば、仲介装置30Aをローカルネットワーク7に設置するために必要な設定を行うためのUI(user interface)である。仲介装置30Aは、表示制御部34によって表示されるUIを用いて、ネットワーク通信するためのIPアドレス、サブネットマスクもしくはデフォルトゲートウェイ等のパラメータ、および遠隔機器管理装置70のURLもしくはプロキシサーバ(認証サーバ)等の設定を行う。また、仲介装置30Aは、表示制御部34によって表示されるUIを用いて、遠隔機器管理装置70との疎通確認、および通信を開始するための手続きを実行する。表示制御部34は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
機器情報管理部35は、仲介装置30Aと通信可能な機器500に関する機器情報を管理する機能である。機器情報管理部35は、例えば、機器500へ機器情報の取得要求を送信するタスクスケジュールを管理する。また、機器情報管理部35は、例えば、機器500から送信された機器500の状態を示す状態情報に基づいて、機器500の状態を管理する。
さらに、機器情報管理部35は、仲介装置30Aのリソース状態を管理する。機器情報管理部35は、例えば、仲介装置30Aのメモリ不足、ストレージ不足、または書き込みエラー等の障害(異常)の兆候を検知する。また、機器情報管理部35は、例えば、予め設定されたスケジュールに基づいて、定期的にリソース状態の監視結果を含む仲介装置30Aの状態情報を生成する。機器情報管理部35は、例えば、図3に示したCPU1001により実行されるプログラム等によって実現される。
通信管理部36は、ローカルネットワーク7に属する機器500と通信するための通信定義を管理する機能である。通信管理部36は、例えば、機器500との通信に用いる動作種別、通信プロトコルおよびパラメータを管理する。例えば、動作種別は、機器500の識別子(シリアル番号)の取得、機器500の状態情報の取得、遠隔機器管理装置70との疎通確認、管理対象(監視対象)の機器500の追加または削除等である。通信プロトコルは、HTTP、SNMPまたはICMP(Ping)等の標準プロトコルのみならず、ModBusまたは独自プロトコル等の既存のファームウエアに組み込まれている通信プロトコル以外の通信プロトコルも含む。パラメータは、各通信プロトコルに共通なものとしてタイムアウト時間またはリトライ回数があり、HTTP特有なパラメータとしてメソッド、リソースURI(Uniform Resource Identifier)、ヘッダまたはボディ、SNMP特有なパラメータとしてOID(オブジェクト識別子)、バージョン、コマンド種別、またはコミュニティ名等である。通信管理部36は、例えば、図3に示したCPU1001により実行されるプログラム等によって実現される。
コマンド実行部37は、遠隔機器管理装置70によって発行された仲介装置30Aへの所定の処理の命令であるコマンドを実行する機能である。コマンドは、例えば、仲介装置30Aのステータスを示す状態情報等の機器情報の取得または電源のON/OFF等の制御命令である。コマンド実行部37は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
記憶・読出部38は、記憶部300に各種データを記憶し、記憶部300から各種データを読み出す機能である。記憶・読出部38および記憶部300は、例えば、図3に示すROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部300は、機器管理テーブル310を記憶している。機器管理テーブル310の詳細は、後述する。また、記憶部300は、プロトコル変換装置10を識別するための変換装置識別情報330を記憶している。変換装置識別情報330は、例えば、プロトコル変換装置10のIPアドレスである。
続いて、プロトコル変換装置10の機能構成について説明する。図5に示すプロトコル変換装置10により実現される機能は、仲介装置通信部11、機器通信部12、プロトコル変換部13、設定部14、記憶・読出部15および記憶部100を含む。
仲介装置通信部11は、仲介装置30Aとの間で各種データ(情報)をやり取りする機能である。仲介装置通信部11は、例えば、後述するプロトコル変換情報200に含まれる設定ファイル250に記述された仲介装置30Aのアクセス情報を用いて、仲介装置30Aと通信を行う。仲介装置通信部11は、HTTPまたはSNMP等の通信プロトコルを用いて、仲介装置30Aと通信を行う。仲介装置通信部11は、例えば、図3に示すネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。仲介装置通信部11は、受信手段の一例である。仲介装置通信部11は、送信手段の一例である。
機器通信部12は、例えば、後述するプロトコル変換情報200に含まれる設定ファイル250に記述されたアクセス情報、およびプロトコル変換情報200に含まれるプロトコルライブラリ210に基づいて、機器500との通信を行う。機器通信部12は、例えば、図3に示したネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。機器通信部12は、機器通信手段の一例である。
プロトコル変換部13は、仲介装置30Aと機器500との間で送受信されるデータのプロトコル変換を行う機能である。プロトコル変換部13は、例えば、設定部14によって設定されたプロトコル変換情報200に含まれる設定ファイル250に記述された動作定義に応じて、仲介装置30Aと機器500との間で通信されるデータのデータ形式を変換する。プロトコル変換部13は、例えば、設定ファイル250に記述された動作定義に応じて、データの送信先が対応している通信プロトコルのデータ形式に、送受信されるデータのプロトコル変換を行う。プロトコル変換部13は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。プロトコル変換部13は、変換手段の一例である。
設定部14は、送受信されるデータのプロトコル変換を行うためのプロトコル変換情報200を設定する機能である。設定部14は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。設定部14は、記憶制御手段の一例である。
記憶・読出部15は、記憶部100に各種データを記憶し、記憶部100から各種データを読み出す機能である。記憶・読出部15および記憶部100は、例えば、図3に示すROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部100は、プロトコル変換情報200を記憶している。プロトコル変換情報200の詳細は、後述する。
続いて、機器500の機能構成について説明する。図5に示す機器500により実現される機能は、通信部501、機器情報生成部502、コマンド実行部503、記憶・読出部504および記憶部600を含む。
通信部501は、仲介装置30Aとの間でデータをやり取りする機能である。通信部501は、HTTPまたはSNMP等の通信プロトコルを用いて、仲介装置30Aと通信を行う。通信部501による通信方式は、特に限定されず、例えば、TCP/IP通信であってもよいし、機器500の種別に応じた独自のプロトコルを用いた通信方式であってもよい。通信部501は、例えば、図3に示すネットワークI/F1008およびCPU1001で実行されるプログラム等により実現される。
機器情報生成部502は、機器500のステータスを示す状態情報等の機器情報を生成する機能である。機器情報生成部502は、例えば、仲介装置30Aからの要求に応じて、仲介装置30Aへ送信するための状態情報を生成する。状態情報は、機器500のリソース状態を示す情報や稼働状態に関する情報を含むログ情報等の機器情報である。機器情報生成部502は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
コマンド実行部503は、遠隔機器管理装置70によって発行された機器500への所定の処理の命令であるコマンドを実行する機能である。コマンドは、例えば、機器500のステータスを示す状態情報等の機器情報の取得または電源のON/OFF等の制御命令である。コマンド実行部503は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
記憶・読出部504は、記憶部600に各種データを記憶し、記憶部600から各種データを読み出す機能である。記憶・読出部504および記憶部600は、例えば、図3に示すROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部600は、プロトコル変換装置10を識別するための変換装置識別情報610を記憶している。変換装置識別情報610は、例えば、プロトコル変換装置10のIPアドレスである。
○通信定義○
ここで、図6を用いて、機器500からの通信に用いる通信定義について説明する。図6は、第1の実施形態に係る機器との通信に用いる通信定義の概略モデルの一例を示す図である。遠隔機器管理装置70の監視対象(管理対象)である機器500(管理対象機器)は、機器500の種別を示すモデル名、機器500の機器識別子であるシリアルNo、機器500を識別するための機器ID、機器500のステータスを示す状態情報、および遠隔機器管理装置70が機器500を管理対象とするかを示す管理対象情報を送信する。遠隔機器管理装置70は、機器500から送信されるモデル名およびシリアルNoを用いて、機器500を特定することができる。また、機器IDは、モデル名とシリアルNoを含む。なお、機器IDは、モデル名とシリアルNoとは異なる情報であり、機器IDを用いて機器500が特定される構成であってもよい。
また、機器500(管理対象機器)は、動作定義として、機器種別ごとに複数の動作種別を有している。動作種別とは、例えば、機器500の機器識別子(シリアルNo)の取得、状態情報の取得、仲介装置30との疎通確認、管理対象の機器500の追加または削除等である。
さらに、各動作種別は、複数の通信プロトコルから構成される。機器500において使用できる通信プロトコルは、ICMP(Ping)、SNMPまたはHTTP(ボディ部はJSON(Java(登録商標)Script Object Notation))等の標準プロトコルであり、各通信プロトコルは、一つにつき一回の通信を意味する。つまり、機器500は、一つの動作種別に対して複数回の通信を行う構成とすることができる。パラメータは、例えば、共通なものとしてタイムアウト時間やリトライ回数を含み、HTTP特有なパラメータとして、メソッド、リソースURI、ヘッダ、ボディ等を含む。また、SNMP特有なパラメータは、例えば、OID(オブジェクト識別子)、バージョン、コマンド種別(Get/GetBulk)、コミュニティ名等を含む。
このように、機器500は、図6に示す通信定義を用いて、仲介装置30Aおよび遠隔機器管理装置70との通信を行う。これによって、遠隔機器管理システム1Aは、ローカルネットワーク7に属する機器500を、遠隔機器管理装置70側で識別することができる。
○仲介装置管理テーブル○
図7は、第1の実施形態に係る仲介装置管理テーブルの一例を示す図である。仲介装置管理テーブル810は、遠隔機器管理装置70の記憶部800に記憶・管理されている。仲介装置管理テーブル810は、遠隔機器管理装置70とファイアウォール9を介して通信可能な仲介装置30Aに関する各種情報を記憶している。
仲介装置管理テーブル810は、仲介装置名、登録番号、仲介装置30Aが設置されたローカルネットワーク7を識別するためのネットワーク識別情報の一例であるネットワーク名、仲介装置30Aの宛先を示す宛先情報の一例であるIPアドレス、および仲介装置30Aと通信可能な機器500を識別するための機器IDを関連づけて記憶している。仲介装置管理テーブル810において関連づけられている仲介装置名、登録番号、ネットワーク名、IPアドレスおよび機器IDは、仲介装置設定情報を構成する。遠隔機器管理装置70は、仲介装置管理テーブル810を用いて、仲介装置30Aの宛先情報(IPアドレス)と、仲介装置30Aと通信可能な機器500を特定することができる。なお、仲介装置名および登録番号は、仲介装置識別情報の一例である。
○ファイル管理テーブル○
図8は、第1の実施形態に係るファイル管理テーブルの一例を示す図である。ファイル管理テーブル830は、遠隔機器管理装置70の記憶部800に記憶・管理されている。ファイル管理テーブル830は、遠隔機器管理装置70にアップロードされた、プロトコル変換装置10への設定用ファイルを管理するものである。ファイル管理テーブル830は、ファイルを識別するためのファイルIDに、ファイルデータ(ファイル実体)を示す設定用ファイルを関連づけて記憶している。
○機器管理テーブル○
図9は、第1の実施形態に係る機器管理テーブルの一例を示す図である。機器管理テーブル310は、仲介装置30Aの記憶部300に記憶・管理されている。機器管理テーブル310は、仲介装置30Aと通信可能に接続され、遠隔機器管理装置70による管理対象(監視対象)となる機器500に関する各種情報を記憶している。
機器管理テーブル310は、機器500のモデル名、シリアルNo、機器500を識別するための機器ID、状態情報およびプラグインIDを関連づけて記憶している。仲介装置30は、機器管理テーブル310に含まれるモデル名およびシリアルNoを用いて、機器500を特定することができる。機器IDは、モデル名とシリアルNoを含む。なお、機器IDは、モデル名とシリアルNoとは別のものであり、仲介装置30は、機器IDを用いて機器500を特定する構成であってもよい。モデル名およびシリアルNo、または機器IDは、機器特定情報の一例である。なお、機器500を特定するための機器特定情報は、これに限られず、例えば、機器500のMAC(Media Access Control)アドレスまたは機器名等であってもよい。
○プロトコル変換情報○
図10は、第1の実施形態に係るプロトコル変換情報の一例を示す図である。プロトコル変換情報200は、プロトコル変換装置10の記憶部100に記憶・管理されている。プロトコル変換情報200は、遠隔機器管理装置70から遠隔で読み込まれたファイルデータを含み、設定部14によって設定された情報である。図10に示すように、プロトコル変換情報200は、プロトコルライブラリ210と設定ファイル250を含む。プロトコルライブラリ210は、機器通信部12における機器500との通信手段となり、OSS(Open Source Software)等を用いて作成されるバイナリファイルを含む。プロトコルライブラリ210は、仲介装置30Aとの通信に用いる通信プロトコルとは異なる特定の通信プロトコルを示す。プロトコルライブラリ210は、第1のファイルの一例である。機器通信部12は、設定ファイル250に記述された機器500のアクセス情報および変換ルールを用いて、機器500との間でプロトコルライブラリ210を介した通信を行う。
設定ファイル250は、仲介装置30Aと特定の機器500との間で通信されるデータのデータ形式の変換に用いられるファイルである。設定ファイル250は、仲介装置30Aのアクセス情報と機器500のアクセス情報が記述されたテキストファイルを含む。設定ファイル250は、第2のファイルの一例である。設定ファイル250に設定できる情報は、仲介装置30Aのアクセス情報、機器500のアクセス情報、およびその他の通信を補間する情報である。
仲介装置30Aのアクセス情報には、仲介装置30Aの宛先を示すIPアドレス、ポート番号等が含まれる。機器500のアクセス情報には、機器500の宛先を示すIPアドレス、ポート番号、機器500との通信に用いる通信プロトコル、プロトコル変換ルール等が含まれる。プロトコル変換ルールには、HTTP通信で仲介装置30Aから送信されるリクエスト(メソッド、URL等)を設定することで、リクエストに応じた変換パラメータ、およびレスポンス時のデータ型等を設定することができる。図11は、第1の実施形態に係る設定ファイルの一例を示す図である。図11に示す設定ファイル250は、機器500との通信に用いる通信プロトコルが、MudbusTCPである場合の例である。また、その他通信を補間するための補間情報には、追加する通信プロトコルによって、アクセス情報以外に必要な情報があれば設定する。プロトコル変換装置10は、プロトコル変換情報200に補間情報を含むことで、特定の通信プロトコルにおいて不足する情報がある場合には情報を補間することができ、ユーザI/Fでの管理を容易にすることができる。
●第1の実施形態の処理および動作
○ファイル登録処理○
続いて、第1の実施形態に係る遠隔機器管理システム1Aの処理または動作について説明する。なお、以下の説明において、機器管理システム5Aと機器500とがローカルネットワーク7内に設置されたプロトコル変換装置10を介して通信を行う場合について説明する。まず、図12および図13を用いて、プロトコル変換装置10にプロトコル変換情報200を設定する処理について説明する。図12は、第1の実施形態に係る遠隔機器管理システムにおけるファイル登録処理の一例を示すシーケンスである。図12は、プロトコル変換装置10に読み込ませるファイルを、遠隔機器管理装置70に登録する処理を示す。
まず、ステップS11において、管理者端末90のWebクライアント部91は、ファイル登録要求を、遠隔機器管理装置70へ送信する。具体的には、管理者端末90の受付部92は、Webクライアント部91によって管理者端末90のディスプレイ1006aに表示された所定の設定画面に対するユーザの入力操作によって、遠隔機器管理装置70にアップロードする設定用ファイルの入力(指定)を受け付ける。そして、Webクライアント部91は、受付部92によって受け付けられた設定用ファイルの登録を要求するためのファイル登録要求を、遠隔機器管理装置70へ送信する。ここで、ファイル登録要求には、受付部92によって受け付けられた設定用ファイルが含まれる。これにより、遠隔機器管理装置70のWebサーバ部76は、ファイル登録要求を受信する。
ステップS12において、遠隔機器管理装置70のファイル管理部74は、Webサーバ部76によってファイル登録要求を受信された場合、登録する設定用ファイルを識別するためのファイルIDを発行する。ステップS13において、遠隔機器管理装置70のファイル管理部74は、発行したファイルIDと、Webサーバ部76によって受信された設定用ファイル(ファイル実体)を関連づけて、ファイル管理テーブル830に登録する。設定用ファイルは、プロトコル変換装置10に設定されるプロトコルライブラリ210および設定ファイル250に相当するファイルデータが含まれる。
ステップS14において、遠隔機器管理装置70のWebサーバ部76は、ファイル管理部74によって設定用ファイルが登録された場合、登録された設定用ファイルのファイルIDの通知を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信されたファイルIDの通知を受信する。管理者端末90のWebクライアント部91は、受信した通知に示されるファイルIDを管理者端末90のディスプレイ1006aに表示させる等の方法によって、管理者端末90を使用する管理者に登録された設定用ファイルのファイルIDを提示する。
続いて、図13を用いて、遠隔機器管理装置70にアップロードされた設定用ファイルを、プロトコル変換装置10に読み込ませて、プロトコル変換情報200を設定する処理について説明する。図13は、第1の実施形態に係る遠隔機器管理システムおける、仲介装置に対するプロトコル変換ルールの設定処理の一例を示すシーケンス図である。
ステップS31において、管理者端末90のWebクライアント部91は、プロトコル変換装置10に対してファイルの設定を要求するファイル設定要求を、遠隔機器管理装置70へ送信する。具体的には、管理者端末90の受付部92は、Webクライアント部91によって管理者端末90のディスプレイ1006aに表示された所定の入力画面に対する入力操作によって、プロトコル変換装置10に設定を要求するファイルを識別するためのファイルIDの入力(指定)を受け付ける。そして、Webクライアント部91は、受付部92によって受け付けられたファイルIDによって識別されるファイルの設定を要求するためのファイル登録要求を、遠隔機器管理装置70へ送信する。ここで、ファイル設定要求には、受付部92によって受け付けられたファイルIDが含まれる。これにより、遠隔機器管理装置70のWebサーバ部76は、管理者端末90から送信されたファイル設定要求を受信する。
ステップS32において、遠隔機器管理装置70の仲介装置通信部71は、Webサーバ部76によって受信されたファイル設定要求を、仲介装置30Aへ送信する。具体的には、遠隔機器管理装置70のコマンド管理部72は、Webサーバ部76によってファイル設定要求が受信された場合、コマンドIDを発行する。そして、仲介装置通信部71は、ファイルIDおよびコマンド管理部72によって発行されたコマンドIDを含むファイル設定要求を、仲介装置30Aへ送信する。これにより、仲介装置30Aの管理装置通信部31は、遠隔機器管理装置70から送信されたファイル設定要求を受信する。
ステップS33において、遠隔機器管理装置70のWebサーバ部76は、仲介装置通信部71によって受信されたファイル設定要求に含まれるコマンドIDの通知を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信されたコマンドIDの通知を受信する。なお、ステップS32の処理とステップS33の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS34において、仲介装置30Aの管理装置通信部31は、ファイル設定要求に含まれるファイルIDによって識別されるファイルの転送を要求するファイル転送要求を、遠隔機器管理装置70へ送信する。ここで、ファイル転送要求には、ファイル設定要求に含まれるファイルIDが含まれる。これにより、遠隔機器管理装置70の仲介装置通信部71は、仲介装置30Aから送信されたファイル転送要求を受信する。
ステップS35において、遠隔機器管理装置70のファイル管理部74は、ファイル転送要求に含まれるファイルIDを検索キーとして、ファイル管理テーブル830を検索することにより、対応するファイルIDに関連づけられた設定用ファイルを取得する。
ステップS36において、遠隔機器管理装置70の仲介装置通信部71は、ファイル管理部74によって取得された設定用ファイルを、仲介装置30Aへ送信する。これにより、仲介装置30Aの管理装置通信部31は、遠隔機器管理装置70から送信された設定用ファイルを受信する。
ステップS37において、仲介装置30Aの記憶・読出部38は、記憶部300に記憶された変換装置識別情報330を読み出す。ステップS38において、仲介装置30Aの機器通信部32は、記憶・読出部38によって読み出された変換装置識別情報330によって識別されるプロトコル変換装置10へ、管理装置通信部31によって受信された設定用ファイルを送信する。これにより、プロトコル変換装置10の仲介装置通信部11は、仲介装置30Aから送信された設定用ファイルを受信する。
ステップS39において、プロトコル変換装置10の設定部14は、仲介装置通信部11によって受信された設定用ファイルを用いて、記憶部100にプロトコル変換情報200を設定する。具体的には、設定部14は、図10に示すように、プロトコル変換情報200の特定の記憶領域に、設定用ファイルに含まれるプロトコルライブラリ210および設定ファイル250を記憶させることにより、プロトコル変換情報200を設定する。
ステップS40において、プロトコル変換装置10の仲介装置通信部11は、設定部14によってプロトコル変換情報200が設定された場合、設定結果の通知を仲介装置30Aへ送信する。これにより、仲介装置30Aの機器通信部32は、プロトコル変換装置10から送信された設定結果の通知を受信する。
ステップS41において、仲介装置30Aの管理装置通信部31は、機器通信部32によって受信された設定結果の通知を、遠隔機器管理装置70へ送信する。ここで、仲介装置30Aから遠隔機器管理装置70へ送信される設定結果の通知には、プロトコル変換装置10による設定結果の内容と、ステップS32によって受信されたコマンドIDが含まれる。これにより、遠隔機器管理装置70の仲介装置通信部71は、仲介装置30Aから送信された設定結果の通知を受信する。
ステップS42において、遠隔機器管理装置70のWebサーバ部76は、仲介装置通信部71によって受信された設定結果の通知を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信された設定結果の通知を受信する。管理者端末90のWebクライアント部91は、受信した通知に含まれるコマンドIDを管理者端末90のディスプレイ1006aに表示させる等の方法によって、管理者端末90を使用する管理者に設定結果に対応するコマンドIDを提示する。これにより、管理者端末90を使用する管理者は、設定結果の通知に含まれるコマンドIDと、ステップS33によって通知されたコマンドIDとを照合することにより、ファイルの転送に時間を要した場合においても、要求した設定用ファイルの設定が完了したか否かを確認することができる。
○機器情報の取得処理○
次に、図14乃至図16を用いて、仲介装置30Aからの要求によって機器500の機器情報を取得する処理について説明する。図14は、第1の実施形態に係る遠隔機器管理システムにおける機器情報取得処理の一例を示すシーケンス図である。図14は、予め指定した時刻または一定間隔で、仲介装置30Aが機器500の機器情報を定期的に取得して遠隔機器管理装置70に通知する場合の処理を説明する。
ステップS51において、仲介装置30Aの記憶・読出部38は、記憶部300に記憶された変換装置識別情報330を読み出す。ステップS52において、仲介装置30Aの機器通信部32は、記憶・読出部38によって読み出された変換装置識別情報330によって識別されるプロトコル変換装置10へ、機器情報取得要求を送信する。仲介装置30Aは、アプリの通信定義で設定された所定のインターバルで定期的に機器情報の取得要求を送信する。これにより、プロトコル変換装置10の仲介装置通信部11は、仲介装置30Aから送信された機器情報取得要求を受信する。ここで、仲介装置30Aから送信された機器情報取得要求は、第1のデータの一例である。
ステップS53において、プロトコル変換装置10のプロトコル変換部13は、仲介装置通信部11によって機器情報取得要求が受信された場合、プロトコル変換処理を実行する。ここで、図15を用いて、ステップS53によって実行される具体的な処理について説明する。図15は、第1の実施形態に係るプロトコル変換装置10におけるプロトコル変換処理の一例を示すフローチャートである。なお、図15は、仲介装置30AからHTTP通信によって受信されたデータを、MudbusTCPのデータ形式にプロトコル変換を行う例を説明する。
ステップS531において、プロトコル変換装置10の仲介装置通信部11は、仲介装置30Aから送信された機器情報取得要求を示すリクエスト(GET/state)を受信する。ステップS532において、プロトコル変換装置10の記憶・読出部15は、記憶部100に記憶されたプロトコル変換情報200を読み出す。
ステップS533において、プロトコル変換装置10のプロトコル変換部13は、読み出されたプロトコル変換情報200に基づいて、受信されたリクエストのプロトコル変換を行う。具体的には、プロトコル変換部13は、プロトコル変換情報200に含まれる設定ファイル250に、リクエスト(GET/state)に対応した変換ルール(convertRules)が存在するため、変換ルールに記述された変換パラメータ(func,addr,size)を特定する。ここで、仲介装置30Aから送信されたリクエストのデータ形式を変換するための変換ルールは、第1の変換ルールィ一例である。また、プロトコル変換部13は、設定ファイル250に含まれる、リクエストの送信先となる機器500へアクセスするためのアクセス情報を特定する。ここで、設定ファイル250に含まれる機器500のアクセス情報は、特定の機器500の宛先を示す第1の宛先情報の一例である。
ステップS544において、プロトコル変換装置10の機器通信部12は、特定された変換パラメータに応じたリクエストであるレジスタ読込要求を、特定されたアクセス情報によって示される機器500へ送信する。この場合、機器通信部12は、ステップS532によって読み出されたプロトコル変換情報200に含まれるプロトコルライブラリ210に示される通信プロトコルを用いて、レジスタ読込要求を機器500へ送信する。ここで、特定された変換パラメータに応じたリクエストであるレジスタ読込要求は、第2のデータの一例である。これにより、プロトコル変換装置10は、仲介装置30Aから送信された機器情報取得要求を、送信先となる機器500が対応する通信プロトコルによって受信可能なデータ形式に変換することで、仲介装置30Aから送信されたデータを機器500へ送信することができる。
図14に戻り、遠隔機器管理装置70からの機器情報取得処理の説明を続ける。ステップS54において、プロトコル変換装置10の機器通信部12は、プロトコル変換部13によって変換された機器情報取得要求を、機器500へ送信する。これにより、機器500の通信部501は、プロトコル変換装置10から送信された機器情報取得要求を受信する。
ステップS55において、機器500の機器情報生成部502は、機器500のステータスを示す状態情報等の機器情報を生成する。状態情報は、機器500のリソース状態を示す情報や稼働状態に関する情報を含むログ情報等の機器情報である。
ステップS56において、機器500の通信部501は、機器情報生成部502によって生成された機器情報を、プロトコル変換装置10へ送信する。この場合、通信部501は、プロトコル変換装置10から送信されたレジスタ読込要求に応じたレジスタ情報を、レジスタ読込要求に対するレスポンスとしてプロトコル変換装置10へ送信する。これにより、プロトコル変換装置10の機器通信部12は、機器500から送信されたレジスタ情報としての機器情報を受信する。ここで、機器500から送信された機器情報は、第3のデータの一例である。
ステップS57において、プロトコル変換装置10のプロトコル変換部13は、機器通信部12によって機器情報が受信された場合、プロトコル変換処理を実行する。ここで、図16を用いて、ステップS57によって実行される具体的な処理について説明する。図16は、第1の実施形態に係る仲介装置におけるプロトコル変換処理の一例を示すフローチャートである。なお、図16は、機器500からModbusTCPのプロトコルによって受信されたデータを、HTTPのデータ形式にプロトコル変換する例を説明する。
ステップS571において、プロトコル変換装置10の機器通信部12は、機器500から送信されたレジスタ情報を受信する。ステップS572において、プロトコル変換装置10の記憶・読出部15は、記憶部100に記憶されたプロトコル変換情報200を読み出す。
ステップS573において、プロトコル変換装置10のプロトコル変換部13は、読み出されたプロトコル変換情報200に基づいて、受信されたレジスタ情報のプロトコル変換を行う。具体的には、プロトコル変換部13は、プロトコル変換情報200に含まれる設定ファイル250に記述された、レスポンス時のデータ型(data type)と、機器500との通信時のリクエスト情報(keys)に合わせて、機器情報(makerNote内のresults)を生成する。ここで、レスポンス時のデータ型(data type)および機器500との通信時のリクエスト情報(keys)は、機器500から送信されたレジスタ情報のデータ形式を変換するための第2の変換ルールの一例である。また、プロトコル変換部13は、設定ファイル250に含まれる仲介装置30Aへアクセスするためのアクセス情報を特定する。ここで、設定ファイル250に含まれる仲介装置30Aのアクセス情報は、機器管理システム5Aの宛先を示す第2の宛先情報の一例である。
ステップS574において、プロトコル変換装置10の仲介装置通信部11は、プロトコル変換部13によって変換された機器情報を、特定されたアクセス情報によって示される仲介装置30Aへ送信する。ここで、プロトコル変換部13によって変換された機器情報は、第4のデータの一例である。これにより、プロトコル変換装置10は、機器500から送信されたレジスタ情報を、仲介装置30Aが通信に用いるHTTP等の標準プロトコルのデータ形式に変換することで、機器500から送信されたデータを仲介装置30Aへ送信することができる。
図14に戻り、遠隔機器管理装置70からの機器情報取得処理の説明を続ける。ステップS58において、プロトコル変換装置10の仲介装置通信部11は、プロトコル変換部13によって変換された機器情報を、仲介装置30Aへ送信する。これにより、仲介装置30Aの機器通信部32は、プロトコル変換装置10から送信された機器情報を受信する。
ステップS59において、仲介装置30Aの管理装置通信部31は、機器通信部32によって受信された機器情報を、遠隔機器管理装置70へ送信する。これにより、遠隔機器管理装置70の仲介装置通信部71は、仲介装置30Aから送信された機器情報を受信する。
ステップS60において、遠隔機器管理装置70のWebサーバ部76は、仲介装置通信部71によって受信された機器情報を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信された機器情報を受信する。そして、管理者端末90のWebクライアント部91は、受信した機器情報を、管理者端末90のディスプレイ1006aに表示させる等の方法によって、管理者端末90を使用する管理者に機器情報を提示する。
これにより、遠隔機器管理システム1Aは、遠隔機器管理装置70から送信されたプロトコルライブラリ210および設定ファイル250を含むプロトコル変換情報200を、プロトコル変換装置10へ設定することで、設定されたプロトコル変換情報200を用いて変換されたデータを、対応する通信プロトコルの異なる仲介装置30Aと機器500との間で送受信することができる。
○機器情報の通知処理○
次に、図17および図18を用いて、機器500から自発的に機器情報を通知する場合の処理について説明する。機器500は、故障等の異常を検知した場合、異常状態を管理者へ知らせるための所定のイベント通知を送信する。図17は、第1の実施形態に係る遠隔機器管理システムにおける機器から遠隔機器管理システムへの機器情報の通知処理の一例を示すシーケンス図である。
ステップ71において、機器500の記憶・読出部504は、記憶部600に記憶された変換装置識別情報610を読み出す。ステップS72において、機器500の通信部501は、記憶・読出部504によって読み出された変換装置識別情報610によって識別されるプロトコル変換装置10へ、イベント通知を送信する。このイベント通知には、機器500の機器情報生成部502によって生成された、機器500の状態を示す状態情報等の機器情報が含まれる。これにより、プロトコル変換装置10の機器通信部12は、機器500から送信されたイベント通知を受信する。ここで、機器500から送信されたイベント通知は、第3のデータの一例である。
ステップS73において、プロトコル変換装置10のプロトコル変換部13は、機器通信部12によってイベント通知が受信された場合、プロトコル変換処理を実行する。ここで、図18を用いて、ステップS73によって実行される具体的な処理について説明する。図18は、第1の実施形態に係る仲介装置におけるプロトコル変換処理の一例を示すフローチャートである。なお、図18は、機器500からModbusTCPのプロトコルによって受信されたデータを、HTTPのデータ形式にプロトコル変換する例を説明する。
ステップS731において、プロトコル変換装置10の機器通信部12は、機器500から送信されたレジスタ情報(イベント通知)を受信する。ステップS732において、プロトコル変換装置10の記憶・読出部15は、記憶部100に記憶されたプロトコル変換情報200を読み出す。
ステップS733において、プロトコル変換装置10のプロトコル変換部13は、読み出されたプロトコル変換情報200に基づいて、受信されたレジスタ情報(イベント通知)のプロトコル変換を行う。具体的には、プロトコル変換部13は、プロトコル変換情報200に含まれる設定ファイル250に記述された、レジスタ情報(イベント通知)に対応した変換ルールによって、レジスタ情報(イベント通知)をHTTP通信に適したデータ形式(機器情報)に変換する。ここで、レジスタ情報(イベント通知)に対応した変換ルールは、第2の変換ルールの一例である。プロトコル変換部13は、例えば、レジスタ情報に含まれるアドレス(adr);「D2000」を、通知種別;「故障」に変換する。また、プロトコル変換部13は、例えば、レジスタ情報に含まれるレジスタ値;「0001」を、アラームコード;「1」に変換する。また、プロトコル変換部13は、設定ファイル250に含まれる仲介装置30Aへアクセスするためのアクセス情報を特定する。ここで設定ファイル250に含まれる仲介装置30Aのアクセス情報は、機器管理システム5Aの宛先を示す第2の宛先情報の一例である。
ステップS734において、プロトコル変換装置10の仲介装置通信部11は、プロトコル変換部13によって変換された機器情報を、特定されたアクセス情報に示される仲介装置30Aへ送信する。ここで、プロトコル変換部13によって変換された機器情報は、第4のデータの一例である。
図17に戻り、機器500からの機器情報の通知処理の説明を続ける。ステップS74において、プロトコル変換装置10の仲介装置通信部11は、プロトコル変換部13によって変換されたイベント通知(機器情報)を、仲介装置30Aへ送信する。これにより、仲介装置30Aの機器通信部32は、プロトコル変換装置10から送信されたイベント通知を受信する。
ステップS75において、仲介装置30Aの管理装置通信部31は、機器通信部32によって受信されたイベント通知を、遠隔機器管理装置70へ送信する。これにより、遠隔機器管理装置70の仲介装置通信部71は、仲介装置30Aから送信されたイベント通知を受信する。
ステップS76において、遠隔機器管理装置70のWebサーバ部76は、仲介装置通信部71によって受信されたイベント通知を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信されたイベント通知を受信する。そして、管理者端末90のWebクライアント部91は、受信したイベント通知を、管理者端末90のディスプレイ1006aに表示させる等の方法によって、管理者端末90を使用する管理者にイベント通知を提示する。
これにより、遠隔機器管理システム1Aは、仲介装置30Aからの定期的な機器情報の取得だけでなく、管理対象(監視対象)の機器500から自発的に機器情報を通知することができるので、遠隔機器管理装置70へリアルタイム性の高い機器情報を取得することができる。
○ファイルの取得処理○
続いて、図19を用いて、プロトコル変換装置10に設定されたファイルをクラウドから取得する処理について説明する。図19は、第2の実施形態に係る遠隔機器管理システムおける、プロトコル変換装置10に設定されたプロトコル変換情報の取得処理の一例を示すシーケンス図である。図19は、プロトコル変換装置10が機器管理者の手元にない場合を想定し、管理者端末90で動作するアプリ900を用いた遠隔でのファイルの取得方法について説明する。
ステップS101において、管理者端末90のWebクライアント部91は、プロトコル変換装置10に設定されたプロトコル変換情報200に含まれるプロトコルライブラリ210および設定ファイル250の取得を要求するファイル取得要求を、遠隔機器管理装置70へ送信する。具体的には、管理者端末90の受付部92は、Webクライアント部91によって管理者端末90のディスプレイ1006aに表示された所定の入力画面に対する入力操作によって、プロトコル変換装置10へ要求するプロトコルライブラリ210および設定ファイル250を特定するためのファイル情報の入力(指定)を受け付ける。ファイル情報は、プロトコルライブラリ210および設定ファイル250のファイル名等である。そして、Webクライアント部91は、受付部92によって受け付けられたファイル情報によって特定されるプロトコルライブラリ210および設定ファイル250を要求するためのファイル取得要求を、遠隔機器管理装置70へ送信する。ここで、ファイル取得要求には、受付部92によって受け付けられたファイル情報が含まれる。これにより、遠隔機器管理装置70のWebサーバ部76は、管理者端末90から送信されたファイル取得要求を受信する。
ステップS102において、遠隔機器管理装置70の仲介装置通信部71は、Webサーバ部76によって受信されたファイル取得要求を、仲介装置30Aへ送信する。具体的には、遠隔機器管理装置70のコマンド管理部72は、Webサーバ部76によってファイル取得要求が受信された場合、コマンドIDを発行する。そして、仲介装置通信部71は、ファイル情報およびコマンド管理部72によって発行されたコマンドIDを含むファイル取得要求を、仲介装置30Aへ送信する。これにより、仲介装置30Aの管理装置通信部31は、遠隔機器管理装置70から送信されたファイル取得要求を受信する。
ステップS103において、遠隔機器管理装置70のWebサーバ部76は、仲介装置通信部71によって受信されたファイル取得要求に含まれるコマンドIDの通知を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信されたコマンドIDの通知を受信する。なお、ステップS102の処理とステップS103の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS104において、仲介装置30Aの機器通信部32は、管理装置通信部31によって受信されたファイル取得要求を、プロトコル変換装置10へ送信する。これにより、プロトコル変換装置10の仲介装置通信部11は、仲介装置30Aから送信されたファイル取得要求を受信する。
ステップS105において、プロトコル変換装置10の記憶・読出部15は、記憶部100に記憶されたプロトコル変換情報200のうち、仲介装置通信部11によって受信されたファイル取得要求に含まれるファイル情報によって特定されるプロトコルライブラリ210および設定ファイル250を読み出す。
ステップS106において、プロトコル変換装置10の仲介装置通信部11は、記憶・読出部15によって読み出されたプロトコルライブラリ210および設定ファイル250(ファイル実体)を、仲介装置30Aへ送信する。これにより、仲介装置30Aの機器通信部32は、プロトコル変換装置10から送信されたプロトコルライブラリ210および設定ファイル250を受信する。
ステップS107において、仲介装置30Aの管理装置通信部31は、機器通信部32によって受信されたプロトコルライブラリ210および設定ファイル250の登録(アップロード)を要求するファイル登録要求を、遠隔機器管理装置70へ送信する。ここで、ファイル登録要求には、プロトコル変換装置10からダウンロードされたプロトコルライブラリ210および設定ファイル250が含まれる。これにより、遠隔機器管理装置70の仲介装置通信部71は、仲介装置30Aから送信されたファイル登録要求を受信する。
ステップS108において、遠隔機器管理装置70のファイル管理部74は、仲介装置通信部71によって受信されたファイル登録要求に含まれるプロトコルライブラリ210および設定ファイル250を、ファイル管理テーブル830に登録する。このとき、ファイル管理部74は、ファイルIDを発行し、発行したファイルIDと、プロトコルライブラリ210および設定ファイル250(ファイル実体)とを関連づけて、設定用ファイルとして登録する。
ステップS109において、遠隔機器管理装置70の仲介装置通信部71は、ファイル管理部74によるファイル登録が完了したことを示す登録完了通知を、仲介装置30Aへ送信する。ここで、登録完了通知には、登録されたプロトコルライブラリ210および設定ファイル250に関連づけられたファイルIDが含まれる。これにより、仲介装置30Aの管理装置通信部31は、遠隔機器管理装置70から送信された登録完了通知を受信する。
ステップS110において、仲介装置30Aの管理装置通信部31は、受信した登録完了通知に含まれるファイルIDの通知を、遠隔機器管理装置70へ送信する。ここでファイルIDの通知には、登録完了通知に含まれるファイルID、およびステップS102によって受信されたファイル取得要求に含まれるコマンドIDが含まれる。これにより、遠隔機器管理装置70の仲介装置通信部71は、仲介装置30Aから送信されたファイルIDの通知を受信する。
ステップS111において、遠隔機器管理装置70のWebサーバ部76は、仲介装置通信部71によって受信されたファイルIDの通知を、管理者端末90へ送信する。これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信されたファイルIDの通知を受信する。ここで、管理者端末90を使用する管理者は、受信した通知に含まれるコマンドIDと、ステップS103によって受信されたコマンドIDとを照合することにより、ファイルの取得に時間を要した場合においても、要求したファイルがダウンロードできるか否かを把握することができる。
ステップS112において、管理者端末90のWebクライアント部91は、受信された通知に含まれるファイルIDによって識別される設定用ファイルをダウンロードするためのファイル転送要求を、遠隔機器管理装置70へ送信する。ここで、ファイル転送要求には、ダウンロードする設定用ファイルを識別するためのファイルIDが含まれる。これにより、遠隔機器管理装置70のWebサーバ部76は、管理者端末90から送信されたファイル転送要求を受信する。
ステップS113において、遠隔機器管理装置70のファイル管理部74は、Webサーバ部76によって受信されたファイル転送要求に含まれるファイルIDを検索キーとして、ファイル管理テーブル830を検索することにより、対応するファイルIDに関連づけられた設定用ファイルを取得する。
ステップS114において、遠隔機器管理装置70のWebサーバ部76は、ファイル管理部74によって取得された設定用ファイルを、管理者端末90へ送信する、これにより、管理者端末90のWebクライアント部91は、遠隔機器管理装置70から送信された設定用ファイルを受信する。これにより、遠隔機器管理システム1Aは、管理者端末90を使用する管理者の手元に設定用ファイルがない場合においても、プロトコル変換装置10からプロトコルライブラリ210および設定ファイル250を取得することができ、設定内容の確認や設定変更を行うことができる。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る遠隔機器管理システムは、遠隔機器管理装置70からプロトコル変換装置10へ、仲介装置30の通信に用いる通信プロトコルとは異なる通信プロトコルを用いて設定するための設定用ファイルを送信する。プロトコル変換装置10は、受信した設定用ファイルに含まれるプロトコルライブラリ210および設定ファイル250を用いて、仲介装置30Aおよび機器500との間で送受信されるデータのデータ形式を変換する。そして、プロトコル変換装置10は、変換したデータを用いて、仲介装置30Aと機器500との間の通信を仲介する。これにより、遠隔機器管理システム1Aは、機器管理システム5A自体の変更を行わずに、機器管理システム5Aが対応していない通信プロトコルを用いて通信を行う機器500と機器管理システム5Aとの間で通信を行うことができる。
●第2の実施形態●
次に、第2の実施形態に係る遠隔機器管理システムについて説明する。第1の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第2の実施形態に係る遠隔機器管理システムは、プロトコル変換装置10によって実現される機能を、仲介装置30に実装させたシステムである。
●概要
図20は、第2の実施形態に係る遠隔機器管理システムの概略の一例を示す図である。図20に示すように、遠隔機器管理システム1Bは、仲介装置30Aの内部に、仲介装置としての機能を担う仲介装置機能部400と、プロトコル変換を行う機能を担うプロトコル変換機能部450を有する。
これにより、遠隔機器管理システム1Bは、仲介装置30Bの内部にプロトコル変換を行う機能を実装させることで、ローカルネットワーク7内に設置する装置を削減することができるとともに、仲介装置30Bの稼働と併せて、プロトコル変換機能の稼働をON/OFF制御することができる。
また、図2および図20に示したように、プロトコル変換装置10と仲介装置30Aとの間、またはプロトコル変換機能部450と仲介装置機能部400との間でHTTP通信を行われるので、機器500の設置環境に合わせてプロトコル変換機能を有する装置を任意の場所に設置させることができる。
●機能構成
続いて、図21を用いて、第2の実施形態に係る遠隔機器管理システムの機能構成について説明する。なお、第2の実施形態に係る遠隔機器管理装置70、管理者端末90および機器500によって実現される機能は、図4および図5で示した第1の実施形態における構成と同様であるため、説明を省略する。
図21は、第2の実施形態に係る仲介装置および機器の機能構成の一例を示す図である。第2の実施形態に係る仲介装置30Bによって実現される機能は、仲介装置機能部400、プロトコル変換機能部450、記憶・読出部38および記憶部300を含む。
仲介装置機能部400は、機器管理システム5Bと機器500との間の通信を仲介するための役割を担う。仲介装置機能部400は、管理装置通信部31、機器通信部32、受付部33、表示制御部34、機器情報管理部35、通信管理部36およびコマンド実行部37を含む。なお、仲介装置機能部400に含まれる各機能構成は、図5に示した仲介装置30Aに含まれるそれぞれに対応する構成と同様であるため、説明を省略する。
プロトコル変換機能部450は、機器管理システム5Bと機器500との間で通信されるデータのデータ形式を変換するための機能を担う。プロトコル変換部41および設定部42を含む。プロトコル変換部41および設定部42は、図5に示したプロトコル変換装置10に含まれるそれぞれに対応する構成と同様であるため、説明を省略する。
記憶・読出部38は、記憶部300に各種データを記憶し、記憶部300から各種データを読み出す機能である。記憶・読出部38および記憶部300は、例えば、図3に示すROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部300は、機器管理テーブル310およびプロトコル変換情報200を記憶している。機器管理テーブル310およびプロトコル変換情報200は、図9および図10に示した内容と同様であるため説明を省略する。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る遠隔機器管理システムは、仲介装置30Bの内部にプロトコル変換を行う機能(プロトコル変換機能部450)を実装させることで、ローカルネットワーク7内に設置する装置を削減することができる。また、遠隔機器管理システム1Bは、仲介装置30Bの稼働と併せて、プロトコル変換機能の稼働をON/OFF制御することができる。
●その他の実施形態●
図22は、その他の実施形態に係る遠隔機器管理システムのシステム構成の一例を示す図である。図22に示す遠隔機器管理システム2において、上記で説明した遠隔機器管理システム1と異なる点は、仲介装置30と通信を行う機器500の種類が異なること、すなわち管理対象の機器500の使用環境が異なることである。機器700は、産業機械700a、撮像装置700b、集音装置700c、医療機器700d、立体物造形装置700e等を含む。
産業機械700aは、加工装置、検査装置、搬送装置、ピッキング装置等である。産業機械700aは、機器の識別情報や、稼働状況、異常動作の有無、消耗品の交換時期に関する情報、機器による検査結果等の機器情報を、管理システム3(遠隔機器管理装置70)へ送信する。産業機械700aは、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を管理システム3(遠隔機器管理装置70)へ送信する。
撮像装置700bと集音装置700cは、例えば、産業機械700aの周辺に設置され、産業機械700aの状態を把握するための装置である。医療機器700dは、眼底検査装置、X線検査装置、血圧計、体脂肪計、視力計、ペースメーカ等である。医療機器700dは、機器の識別情報や、機器の稼働状況、異常動作の有無、機器による測定結果等の機器情報を、管理システム3(遠隔機器管理装置70)へ送信する。医療機器700dは、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を管理システム3(遠隔機器管理装置70)へ送信する。
立体物造形装置700eは、CAD(Computer Aided Design)データ等の立体物の形状を示す3Dデータを受信し、そのデータに基づいて成形材の層を堆積させることにより立体物を造形する3Dプリンタ等によって構成される。立体物造形装置700eは、造形方式として、材料押出堆積法(FDM(Fused Deposition Modeling))、マテリアルジェッティング、バインダジェッティング、粉末焼結積層造形(SLS(Selective Laser Sintering))、光造形法(SLA(Stereolithography))等を採用する。立体物造形装置700eは、当該機器の識別情報、当該機器の稼働状況、異常動作の有無または当該機器に装着された消耗品の状態等を、数値データ、テキストデータまたは画像データ等の種々のデータ形式を用いて仲介装置30を経由して管理システム3(遠隔機器管理装置70)へ送信する。
図22に示す遠隔機器管理システム2において、仲介装置30は、遠隔機器管理装置70とファイアウォール9を介して接続されている。仲介装置30は、機器700内に設けてあるファームウエアを、インターネット接続を利用して更新するファームウエア更新機能を備えていてもよい。
図22の例において、遠隔機器管理システム2は、複数の機器700と一台の仲介装置30を含む構成を示しているが、更に他の機器を含んで構成してもよい。例えば、一台の仲介装置30では処理負荷が大きくなる場合、機器700のファームウエア更新のための機能と機器700の遠隔管理を集中的に行う機能を複数の仲介装置に分けて割り当てる構成にしてもよい。
なお、遠隔機器管理システム2における管理対象の機器700は、これに限られない。機器700は、例えば、家庭用電化製品(家電)、自動販売機、電源装置、空調システムまたはガス・水道・電気等の計量システム等に通信機能を持たせた機器であってもよい。
●まとめ●
以上説明したように、本発明の一実施形態に係るプロトコル変換装置10または仲介装置30B(情報処理装置の一例)は、ローカルネットワーク7内に存在する機器500と、機器500とファイアウォール9を介した通信を行う機器管理システム5A,5Bとの通信を仲介する情報処理装置であって、機器管理システム5A,5Bとの通信に用いる通信プロトコルとは異なる特定の通信プロトコルを示すプロトコルライブラリ210(第1のファイルの一例)と、機器管理システム5A,5Bと特定の機器500との間で通信されるデータのデータ形式の変換に用いる設定ファイル250(第2のファイルの一例)を、機器管理システム5A,5Bから受信する。そして、情報処理装置は、プロトコルライブラリ210と設定ファイル250とに基づいて、機器管理システム5A,5Bと特定の機器500との間で通信されるデータのデータ形式を変換し、機器管理システム5A,5Bと特定の機器500との間で、変換したデータの通信を仲介する。これにより、情報処理装置は、システム自体の変更を行わなくても、機器管理システム5Aが対応していない通信プロトコルを用いて通信を行う機器500と機器管理システム5Aとの通信を仲介することができる。
また、本発明の一実施形態に係るプロトコル変換装置10または仲介装置30B(情報処理装置の一例)は、機器管理システム5A,5Bから送信された機器情報取得要求(第1のデータの一例)を受信し、プロトコルライブラリ210(第1のファイルの一例)および設定ファイル250(第2のファイルの一例)に基づいて、受信された機器情報取得要求を、特定の機器500へ機器情報取得要求を送信するためのデータ形式で示されるレジスタ取得要求(第2のデータの一例)へ変換する。そして、情報処理装置は、設定ファイル250に含まれる特定の機器500のアクセス情報(第1の宛先情報の一例)によって示される特定の機器500へ、レジスタ取得要求を送信する。これにより、情報処理装置は、遠隔機器管理装置70から送信されたプロトコルライブラリ210および設定ファイル250を含むプロトコル変換情報200を、プロトコル変換装置10へ設定することで、設定されたプロトコル変換情報200を用いて変換されたデータを、対応する通信プロトコルの異なる機器管理システム5Aと機器500との間で送受信することができる。
さらに、本発明の一実施形態に係るプロトコル変換装置10または仲介装置30B(情報処理装置の一例)は、特定の機器500から送信されたイベント情報(第3のデータの一例)を受信し、プロトコルライブラリ210(第1のファイルの一例)および設定ファイル250(第2のファイルの一例)に基づいて、受信されたレジスタ情報を、機器管理システム5A,5Bへレジスタ情報を送信するためのデータ形式で示される機器情報(第4のデータの一例)へ変換する。そして、情報処理装置は、設定ファイル250に含まれる機器管理システム5A,5Bのアクセス情報(第2の宛先情報の一例)によって示される機器管理システム5A,5Bへ、機器情報を送信する。これにより、情報処理装置は、仲介装置30Aからの定期的な機器情報の取得だけでなく、管理対象(監視対象)の機器500から自発的にデータが送信された場合においても、遠隔機器管理装置70から送信されたプロトコルライブラリ210および設定ファイル250を含むプロトコル変換情報200を用いてデータ形式を変換することができるので、遠隔機器管理装置70へリアルタイム性の高い機器情報を取得することができる。
また、本発明の一実施形態に係るプロトコル変換装置10または仲介装置30B(情報処理装置の一例)において、設定ファイル250(第2のファイルの一例)は、特定の機器500との通信に用いる特定の通信プロトコルに関する補間情報を含む。そのため、情報処理装置は、プロトコル変換情報200に補間情報を含むことで、特定の通信プロトコルにおいて不足する情報がある場合には情報を補間することができ、ユーザI/Fでの管理を容易にすることができる。
さらに、本発明の一実施形態に係る遠隔機器管理システムにおいて、機器管理システム5A,5Bは、プロトコルライブラリ210(第1のファイルの一例)および設定ファイル250(第2のファイルの一例)を管理し、管理されたプロトコルライブラリ210および設定ファイル250を、情報処理装置へ送信する。そのため、遠隔機器管理システム1A,1B,2は、機器管理システム5A,5Bに管理されたプロトコルライブラリ210および設定ファイル250を情報処理装置へ送信することで、機器管理システム5A,5Bとの通信に用いる通信プロトコルとは異なる特定の通信プロトコルを柔軟に追加・変更することができる。
また、本発明の一実施形態に係る遠隔機器管理システムにおいて、機器管理システム5A,5Bは、プロトコル変換装置10または仲介装置30B(情報処理装置の一例)に記憶されたプロトコルライブラリ210(第1のファイルの一例)および設定ファイル250(第2のファイルの一例)を、情報処理装置から受信し、受信されたプロトコルライブラリ210および設定ファイル250を管理する。そのため、遠隔機器管理システム1A,1B,2は、管理者端末90を使用する管理者の手元に設定用ファイルがない場合においても、プロトコル変換装置10からプロトコルライブラリ210および設定ファイル250を取得することができ、設定内容の確認や設定変更を行うことができる。
さらに、本発明の一実施形態に係る通信方法は、ローカルネットワーク7内に存在する機器500と、機器500とファイアウォール9を介した通信を行う機器管理システム5A,5Bとの通信を仲介するプロトコル変換装置10または仲介装置30B(情報処理装置の一例)が実行する通信方法であって、機器管理システム5A,5Bとの通信に用いる通信プロトコルとは異なる特定の通信プロトコルを示すプロトコルライブラリ210(第1のファイルの一例)と、機器管理システム5A,5Bと特定の機器500との間で通信されるデータのデータ形式の変換に用いる設定ファイル250(第2のファイルの一例9を、機器管理システム5A,5Bから受信する受信ステップと、プロトコルライブラリ210と設定ファイル250とに基づいて、機器管理システム5A,5Bと特定の機器500との間で通信されるデータのデータ形式を変換する変換ステップと、機器管理システム5A,5Bと特定の機器500との間で、変換されたデータの通信を仲介する通信ステップと、を実行する。これにより、本発明の一実施形態に係る通信方法は、システム自体の変更を行わなくても、機器管理システム5Aが対応していない通信プロトコルを用いて通信を行う機器500と機器管理システム5Aとの通信を仲介することができる。
●補足●
なお、各実施形態の機能は、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、各実施形態の機能を実行するためのプログラムは、電気通信回線を通じて頒布することができる。
また、各実施形態の機能を実行するためのプログラムは、ROM、EEPROM(Electrically Erasable Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、フラッシュメモリ、フレキシブルディスク、CD(Compact Disc)-ROM、CD-RW(Re-Writable)、DVD-ROM、DVD-RAM、DVD-RW、ブルーレイディスク、SDカード、MO(Magneto-Optical disc)等の装置可読な記録媒体に格納して頒布することもできる。
さらに、各実施形態の機能の一部または全部は、例えばFPGA(Field Programmable Gate Array)等のプログラマブル・デバイス(PD)上に実装することができ、またはASICとして実装することができ、各実施形態の機能をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog-HDL等により記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る情報処理装置、遠隔機器管理システム、通信方法およびプログラムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。