以下、図面を参照しながら、発明を実施するための形態を説明する。
●通信システムの全体構成●
図1は、実施形態に係る通信システムの全体構成の一例を示す図である。図1は、実施形態に係る通信システムの一例として、オフィス機器管理システム1を示している。オフィス機器管理システム1は、オフィスにおける様々な情報機器についての機器情報を取得して管理するシステムである。オフィス機器管理システム1は、ローカルネットワーク11、ファイアウォール13、管理者ネットワーク14を含む。ローカルネットワーク11は、インターネット12を介して管理者ネットワーク14と接続されている。ローカルネットワーク11およびインターネット12は、ファイアウォール13をインターフェースとして接続されている。
ローカルネットワーク11は、オフィス、会議室、倉庫、工場または特定の生産ライン等のネットワーク環境において形成される通信ネットワークである。ローカルネットワーク11の例として、インターネットを経由しない社内LANが挙げられる。ローカルネットワーク11は、仲介装置200、MFP(Multi-Function Peripheral:複合機)311、PJ(Projector:プロジェクタ)312、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)313、PC(Personal Computer:パソコン)314、センサデバイス315(例:外部と通信可能な、電子天秤・気圧計・加速度計・電流計・温度計・光度計・人感センサ・カメラ・照度計)を含む。
ファイアウォール13は、インターネット12からの特定のパケットのみをローカルネットワーク11内に通過させる機能を有する。これにより、ファイアウォール13は、ローカルネットワーク11への意図しない、または不正なアクセスをブロックすることが可能となる。また、ファイアウォール13は、仲介装置200からのパケットを管理サーバ100に転送する機能を有する。ファイアウォール13は、例えば、プロキシサーバによって構成することができる。なお、ファイアウォール13の構成は、これに限られず、専用のハードウエアを用いてもよく、ソフトウエアにより実現してもよい。
管理者ネットワーク14は、ローカルネットワーク11における情報機器を管理するための通信ネットワークである。管理者ネットワーク14は、管理サーバ100を含む。管理サーバ100は、ローカルネットワーク内の情報機器(MFP311、PJ312、IWB313、PC314、センサデバイス315)を、仲介装置200を介して遠隔管理する。管理の一例として、管理サーバ100は、MFP311から、トナー残量・印刷枚数等の状態に関する情報を取得することが可能である。また、管理サーバ100は、MFP311に蓄積されたドキュメントデータの印刷を実行させるための指示が可能である。また、管理サーバ100は、PJ312、IWB313、およびPC314に対して、電源のONまたはOFFを制御することが可能である。さらに、管理サーバ100は、センサデバイス315に対して、センサデバイス315によって取得された情報を取得することが可能である。
ユーザ端末110は、ローカルネットワーク11における情報機器を管理する管理者ユーザ等が操作する端末である。ユーザ端末110は、例えば、スマートフォン、携帯電話端末、ノートPC、タブレット端末等の端末装置などである。ユーザ端末110は、セルラー通信(3G(3rd Generation)、LTE(Long Term Evolution)等)やWiFi(Wireless Fidelity)等の通信回線を用いて、インターネット12を経由した管理サーバ100と通信可能である。ユーザ端末110は、例えば、ユーザ端末110内にインストールされた専用アプリケーションを用いて、管理サーバ100へアクセスし、常時接続する条件(例:期間および周期の少なくとも一方等のスケジュール)を更新することが可能である。
仲介装置200は、管理サーバ100と、ローカルネットワーク11における情報機器との間の通信を仲介する装置である。また、仲介装置200は、MFP311、PJ312、IWB313、PC314、センサデバイス315およびファイアウォール13と、有線または無線LAN(Local Area Network)等を介して通信可能である。仲介装置200は、単体として機能するボックス型(箱型)の通信装置であってもよく、MFP311等の情報機器に内蔵されていてもよい。
また、仲介装置200は、管理サーバ100と、ファイアウォール13を経由して通信可能である。すなわち、仲介装置200は、ファイアウォール13をインターフェースとするローカルネットワーク11内に位置し、管理サーバ100は、ファイアウォール13をインターフェースとするローカルネットワーク11外に位置するといえる。したがって、仲介装置200から管理サーバ100へのアクセスは可能であるが、管理サーバ100から仲介装置200へのアクセスは、(仲介装置200から管理サーバ100に対する接続要求を送信したあとの、この接続要求に対する応答として管理サーバ100からの応答情報を、仲介装置200に一時的に到達させる場合を除いて)制限される。
MFP311、PJ312、IWB313、PC314、センサデバイス315は、ファイアウォール13をインターフェースとするローカルネットワーク11内に位置する情報機器である。MFP311、PJ312、IWB313、PC314、センサデバイス315は、管理サーバ100による遠隔管理の対象となる被管理装置である。これらの情報機器は、管理サーバ100による被管理装置の一例である。以下の説明で使用する情報機器300は、これらの被管理装置の総称である。
なお、図1は、管理サーバ100が、一つのローカルネットワーク11内に位置する複数の情報機器300を遠隔管理する例を示すが、管理サーバ100が複数のローカルネットワーク11内のそれぞれに位置する情報機器300を遠隔管理する構成にしてもよい。また、図1は、一台の仲介装置が一つのローカルネットワーク11内に位置する例を示すが、一つローカルネットワーク内に二台以上の仲介装置200が位置する構成にしてもよい。この場合、仲介装置200ごとに担う機能を分担してもよい。
●第1の実施形態●
●概略
図2は、第1の実施形態に係る通信システムの概略の一例を示す図である。図2は、通信システム10において、管理サーバ100と仲介装置200が、ファイアウォール13を介して接続要求・応答形式または常時接続形式で通信可能であること示している。
ここで、接続要求・応答形式は、ファイアウォール13の内側(ファイアウォール13をインターフェースとするローカルネットワーク11の内部)に位置する仲介装置200から、ファイアウォールの外側(ファイアウォール13をインターフェースとするローカルネットワーク11の外部)に位置する管理サーバ100に対して接続要求を送信し、その接続要求に対する応答として管理サーバ100から仲介装置200へ応答情報を送信し、これによりコネクションが確立される通信形式である。接続要求・応答形式は、TCP/IP(Transmission Control Protocol/Internet Protocol)、SMTP、SOAP(Simple Object Access Protocol)、SNMP(Simple Network Management Protocol)等のプロトコルを使用する。
ファイアウォール13は、一般的に、ローカルネットワーク11内から管理サーバ100へ送信される接続要求と、その接続要求に対する応答情報とを通過させるが、ファイアウォール13の外部からのパケットは通過させないように設定されている。そのため、管理サーバ100と仲介装置200の接続を開始するため(コネクションを確立するため)には、仲介装置200から管理サーバ100へ接続要求を送信しなければならない。
一方で、常時接続形式は、ファイアウォール13の内側からの上記の接続要求なしに、管理サーバ100からの接続が可能となる接続形式である。常時接続形式は、具体的には、仲介装置200からの初期通信(Handshake)を起点として、管理サーバ100からファイアウォール13の内側の仲介装置200に対して接続することができる。常時接続形式は、例えばWebSocketと呼ばれるプロトコルを用いた通信やVPN(Virtual Private Network)技術を用いた通信等で実現される。
また、図2は、管理サーバ100が、(常時接続を行うスケジュールを示す)スケジュール情報500を、ファイアウォール13を介して仲介装置200へ送信することを示している。上記の応答情報にスケジュール情報500が含まれている場合に、このスケジュールに沿って常時接続が行われる。より詳しくは、仲介装置200が、受信したスケジュール情報500に示されるスケジュールに現在時刻が含まれているか否かを判定し、含まれていれば常時接続形式で接続し、含まれていなければ接続要求・応答形式で接続する。スケジュール情報500は、管理サーバ100と仲介装置200との間で常時接続を行う期間および周期の少なくとも一方の情報を含んでいてもよい。スケジュール情報500の詳細は、後述する。スケジュール情報500は、条件情報の一例である。
さらに、図2は、ユーザが、ユーザ端末110における上記の専用アプリケーションを操作してスケジュール情報500を書き換え・更新することにより、管理サーバ100におけるスケジュール情報500を管理することを示している。ユーザが、ユーザ端末110における上記の専用アプリケーションを操作してスケジュール情報500を生成した後で、生成したスケジュール情報500を管理サーバ100へ送信してもよい。
このように、常時接続が必要なスケジュールがユーザ操作によって設定されるため、常時接続が必要無い時間帯であっても常時接続状態が維持されてしまうことによるセキュリティリスクを低減させることができる。さらに、スケジュール情報500は、管理者ネットワーク14にアクセスすることが許可されたユーザ端末110により生成されるため、ユーザは、セキュリティを高めながら所望のタイミングで上記のスケジュール情報500を書き換え・更新することができる。
また、ユーザは、被管理対象の環境や被管理装置の種別等に応じて管理サーバ100と仲介装置200との常時接続を行う頻度を、上記の専用アプリケーションを操作して自由に設定することができる。そのため、リアルタイム性を必要とするときにのみ常時接続を行うことが可能となることから、上記のセキュリティリスクの低減に柔軟に対応することができる。さらに、常時接続の必要がないときは、接続要求・応答形式を用いて管理サーバ100と仲介装置200が接続するため、不要な通信リソースの使用を低減させることができる。
●ハードウエア構成
図18は、実施形態に係る仲介装置のハードウエア構成の一例を示す図である。仲介装置200は、一般的なコンピュータの構成を含み、例えば、CPU(Central Processing Unit)2001、ROM(Read Only Memory)2002、RAM(Random Access Memory)2003、補助記憶部2004、入力部2005、表示制御部2006、ディスプレイ2007、サーバ通信部2008、機器通信部2009、入出力I/F2010、記憶媒体2011およびバス2012等を有する。
CPU2001は、ROM2002や補助記憶部2004等に格納された本発明に係るプログラムやデータをRAM2003上に読み出し、処理を実行することで、仲介装置200の各機能を実現する演算装置である。仲介装置200は、本発明に係るプログラムが実行されることで本発明に係る通信方法を実現する。
RAM2003は、CPU2001のワークエリア等として用いられる揮発性のメモリである。ROM2002は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。補助記憶部2004は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、またはフラッシュROM等のストレージデバイスであり、OS(Operation System)、アプリケーションプログラム、および各種データ等を記憶する。
入力部2005は、オペレータが仲介装置200に各種指示を入力するためのインターフェースである。例えば、キーボード、マウス、タッチパネル、音声入力装置などである。
表示制御部2006は、CPU2001からの要求により、仲介装置200が有する各種情報をカーソル、メニュー、ウィンドウ、文字、または画像などの形態でディスプレイ2007に表示する。表示制御部2006は、例えばグラフィックチップやディスプレイI/Fである。
サーバ通信部2008は、インターネット12を通じて管理サーバ100と通信を行う通信部である。サーバ通信部2008は、管理サーバ100と有線または無線LAN(Local Area Network)による通信を行う。
機器通信部2009は、情報機器300と通信を行う通信部である。機器通信部2009は、情報機器300と有線または無線LANによる通信を行う。
入出力I/F2010は、USBケーブル、または、USBメモリ等の各種の記憶媒体2011などを接続するためのインターフェースである。
バス2012は、上記各構成要素に接続され、アドレス信号、データ信号、および各種制御信号等を伝送する。CPU2001、ROM2002、RAM2003、補助記憶部2004、入力部2005、表示制御部2006、サーバ通信部2008、機器通信部2009、および入出力I/F2010は、バス2012を介して相互に接続されている。
なお、ユーザ端末110は、図18と同様のハードウエア構成を有していてもよい。
図19は、実施形態に係る管理サーバのハードウエア構成の一例を示す図である。管理サーバ100は、図18に示した仲介装置200のサーバ通信部2008および機器通信部2009に変えて、仲介装置通信部1008、ユーザ端末通信部1011を有する。
仲介装置通信部1008は、インターネット12を通じて仲介装置200と通信を行う通信部である。仲介装置通信部1008は、仲介装置200と有線または無線LANによる通信を行う。
ユーザ端末通信部1011は、ユーザ端末110と通信を行う通信部である。ユーザ端末通信部1011は、セルラー通信(3G、LTE等)やWiFi等の通信回線を用いて、ユーザ端末110と通信を行う。
なお、MFP311、PJ312、IWB313、PC314、センサデバイス315等の情報機器300は、図19と同様のハードウエア構成を有していてもよい。また、図18および図19に示したハードウエア構成は、各実施形態において同様の構成を有してもよく、必要に応じて構成要素が追加または削除されてもよい。
●機能構成
図3は、第1の実施形態に係る仲介装置の機能構成の一例を示す図である。図3に示す仲介装置200により実現される機能は、送信部2201、受信部2202、接続制御部2203、サーバ接続指示部2102、記憶制御部2103および機器通信制御部2104により実現される機能を含む。
送信部2201は、管理サーバ100に対して接続要求(コネクション要求)を送信する機能である。送信部2201は、所定の頻度または間隔で管理サーバ100へ接続要求を送信する。送信部2201は、例えば、一時間に一回の頻度で管理サーバ100へ接続要求を送信する。送信部2201は、例えば、図18に示すサーバ通信部2008、およびCPU2001で実行されるプログラム等により実現される。
受信部2202は、送信部2201により送信された接続要求(コネクション要求)に対する応答(レスポンス/リプライ)として、管理サーバ100からの応答情報を受信する機能である。受信部2202は、例えば、図18に示すサーバ通信部2008、およびCPU2001で実行されるプログラム等により実現される。受信部2202は、初回(管理サーバ100への接続要求が送信されていない状態)の接続要求(コネクション要求)に対する応答(レスポンス/リプライ)として、管理サーバ100からの応答情報を受信してもよい。受信部2202により受信された応答情報は、記憶制御部2103によって記憶される。
第1判定部2204は、受信部2202により受信された応答情報に、外部装置である管理サーバ100と常時接続する条件を示す条件情報が含まれている場合に、当該条件を満たすかを判定する機能である。第1判定部2204は、記憶制御部2103により記憶された応答情報に含まれるスケジュール情報500を読み出し、スケジュール情報500に示されるスケジュールを満たすかを判定する。スケジュール情報500は、条件情報の一例である。条件情報に示される条件は、外部装置である管理サーバ100と常時接続するスケジュールを満たしていることという条件を含む。第1判定部2204は、例えば、図18に示すCPU2001で実行されるプログラム等により実現される。スケジュールは、ファイアウォール13を介して常時接続するスケジュールである。スケジュール情報500は、管理サーバ100と仲介装置200との間で常時接続を行う期間および周期の少なくとも一方の情報であってもよい。第1判定部2204は、判定結果をサーバ接続指示部2102へ出力する。
図7は、第1の実施形態に係るスケジュール情報の一例を示す図である。図7(a)は、管理サーバ100またはユーザ端末110が生成するスケジュール情報の一例を示す。図7(a)に示すように、スケジュール情報500は、常時接続形式による接続が有効な期間および周期の少なくとも一方の情報を含む。図7(a)に示すスケジュール情報500は、平日(月曜日〜金曜日)の10時〜18時までの期間は、常時接続形式による接続が可能であることを示している。さらに、図7(b)は、管理サーバで生成されるスケジュール情報のデータ構造の一例を示す。スケジュール情報500は、情報のタイプ(種別)、実行可否、実行頻度等のデータを含む。図7(a)に示すスケジュール情報500には、図7(b)に示すデータ項目を含んで構成されてもよい。
第1判定部2204は、定期的に記憶制御部2103によって記憶されたスケジュール情報500を読み出し、スケジュール情報500に示されるスケジュールに現在時刻が該当するかを判定する。具体的には、第1判定部2204は、スケジュール情報500に含まれる常時接続形式による接続が有効な曜日を参照する。次に、第1判定部2204は、常時接続形式による接続が有効な曜日である場合、スケジュール情報500に含まれる開始時間を現在時刻が経過しているか否かを確認する。さらに、第1判定部2204は、開始時間を現在時刻が経過している場合、スケジュール情報500に示される終了時間を現在時刻が経過していないかを確認する。そして、第1判定部2204は、終了時間を現在時刻が経過していない場合、スケジュール情報500に示されるスケジュールに該当する(条件情報に示される条件を満たす)と判定し、判定結果をサーバ接続指示部2102へ出力する。常時接続形式による接続が有効な曜日、開始時間および終了時間は、外部装置である管理サーバ100と常時接続する条件の一例である。
一方で、第1判定部2204は、スケジュール情報500に含まれるいずれかの条件を満たさない場合、スケジュール情報500に示されるスケジュールに該当しない(条件情報に示される条件を満たさない)と判定し、判定結果をサーバ接続指示部2102へ出力する。サーバ接続指示部2102は、接続制御部2203に対して管理サーバ100への常時接続の指示を行わない。この場合、接続要求・応答形式による通信を継続し、接続要求を送信する必要がある場合に、送信部2201が管理サーバ100に対して接続要求を送信する。さらに、第1判定部2204は、管理サーバ100と常時接続形式での接続中に、スケジュール情報500に含まれる終了時間を現在時刻が経過した場合、スケジュール情報500に示されるスケジュールに該当しない(条件情報に示される条件を満たさない)と判定し、判定結果をサーバ接続指示部2102へ出力する。サーバ接続指示部2102は、管理サーバ100との常時接続形式での接続の切断を接続制御部2203へ指示し、接続要求・応答形式での接続へ移行する。
なお、図7(a)に示すスケジュール情報500に含まれる情報や形式は一例であり、これに限られず、第1判定部2204は、スケジュール情報500に含まれる情報や形式の内容に対応して判定を行う。また、サーバ接続指示部2102は、第1判定部2204によってスケジュール情報500(条件情報)に示される条件を満たすと判定された場合であっても、管理サーバ100への常時接続の指示を行わない場合があってもよい。
接続制御部2203は、管理サーバ100との間のファイアウォール13を経由した通信を制御する機能である。接続制御部2203は、例えば、図18に示すサーバ通信部2008、およびCPU2001で実行されるプログラム等により実現される。接続制御部2203は、受信部2202により受信された応答情報に、(管理サーバ100と常時接続する条件を示す)条件情報が含まれている場合に、当該条件を満たす間、管理サーバ100と常時接続を行う。すなわち、この条件を満たす間、ファイアウォール13内から上記の接続要求を送信することなく、管理サーバ100からの接続が可能な常時接続形式で管理サーバ100と通信することが可能になる。
なお、接続要求・応答形式の場合、送信部2201が管理サーバ100に対して接続要求を送信し、受信部2202が当該接続要求に対する応答として管理サーバ100から管理情報(応答情報)を受信する。一方で、常時接続形式の場合、接続制御部2203が管理サーバ100に対して常時接続による接続要求を送信し、以降、管理サーバ100と常時接続状態を維持する。
サーバ接続指示部2102は、送信部2201または接続制御部2203に対して管理サーバ100への接続指示を行う機能である。サーバ接続指示部2102は、例えば、図18に示すCPU2001で実行されるプログラム等により実現される。サーバ接続指示部2102は、第1判定部2204により出力された判定結果に基づいて、接続制御部2203に対して管理サーバ100との接続指示を行う。
記憶制御部2103は、受信部2202により受信された応答情報や機器通信制御部2104により取得された情報機器300の機器情報を記憶部に記憶させる機能である。応答情報は、例えば、スケジュール情報500や、情報機器300から定期的に機器情報を取得するための機器接続情報550等を含む。機器接続情報550の詳細は、後述する。記憶制御部2103は、図18に示すROM2002、補助記憶部2004、およびCPU2001で実行されるプログラム等により実現される。
機器通信制御部2104は、MFP311、PJ312、IWB313、PC314、センサデバイス315等の情報機器300との通信を制御する機能である。機器通信制御部2104は、図18に示す機器通信部2009、およびCPU2001で実行されるプログラム等により実現される。機器通信制御部2104は、記憶制御部2103により記憶された機器接続情報550に基づいて、定期的に情報機器300と接続する。具体的には、機器通信制御部2104は、情報機器300に対して送信要求を送信し、その要求に対する応答として情報機器300の機器情報を取得する。取得された機器情報は、記憶制御部2103により記憶される。機器情報は、管理サーバ100により情報機器300を遠隔管理するために用いられる、情報機器300の管理対象情報である。具体的には、情報機器300がMFP311の場合、機器情報は、トナー残量の状態に関する情報等である。
図4は、第1の実施形態に係る管理サーバの機能構成の一例を示す図である。図4に示す管理サーバ100により実現される機能は、仲介装置通信制御部1101、スケジュール情報取得・生成部1102、スケジュール情報送信部1103、機器接続情報生成部1104、機器接続情報送信部1105、記憶制御部1106およびユーザ端末通信制御部1107により実現される機能を含む。
仲介装置通信制御部1101は、ローカルネットワーク11の内部に位置する仲介装置200との間のファイアウォールを経由した通信を制御する機能である。仲介装置通信制御部1101は、例えば、図19に示す仲介装置通信部1008、およびCPU1001で実行されるプログラム等により実現される。仲介装置通信制御部1101は、接続要求・応答形式、または常時接続形式という異なる接続形式を用いて通信可能である。
スケジュール情報取得・生成部1102は、ユーザ端末110からスケジュール情報500を取得する機能である。また、スケジュール情報取得・生成部1102は、仲介装置200との間でファイアウォール13を介して常時接続を行うためのスケジュール情報500を生成することもできる。スケジュール情報取得・生成部1102は、図19に示すCPU1001で実行されるプログラム等により実現される。
スケジュール情報送信部1103は、スケジュール情報取得・生成部1102により取得または生成されたスケジュール情報500を仲介装置200へ送信する機能である。スケジュール情報送信部1103は、図19に示す仲介装置通信部1008、CPU1001で実行されるプログラム等により実現される。スケジュール情報送信部1103は、仲介装置200から送信された接続要求に対する応答として、仲介装置200へスケジュール情報500を送信する。
機器接続情報生成部1104は、情報機器300から定期的に機器情報を取得するための機器接続情報550を生成する機能である。機器接続情報生成部1104は、図19に示すCPU1001により実行されるプログラム等により実現される。
図8は、第1の実施形態に係る機器接続情報の一例を示す図である。図8に示す機器接続情報550は、機器の種別と、機器の種別ごとの接続間隔を示す。図8の例は、MFPには1時間間隔、PJには2時間間隔、IWBには30分間隔で接続することを示す。機器種別の代わりに、機器のMACアドレスが用いられてもよい。
機器接続情報送信部1105は、機器接続情報生成部1104により生成された機器接続情報550を仲介装置200に送信する機能である。機器接続情報送信部1105は、図19に示す仲介装置通信部1008、およびCPU1001により実行されるプログラム等により実現される。
記憶制御部1106は、スケジュール情報取得・生成部1102により取得または生成されたスケジュール情報500や、機器接続情報生成部1104により生成された機器接続情報550等を記憶する機能である。記憶制御部1106は、図19に示すROM1002、補助記憶部1004、およびCPU1001により実行されるプログラム等により実現される。
ユーザ端末通信制御部1107は、ユーザ端末110との間の無線通信を制御する機能である。ユーザ端末通信制御部1107は、セルラー通信(3G、LTE等)やWiFi等の通信回線を用いて、管理サーバ100と通信を行う。ユーザ端末通信制御部1107は、例えば、図19に示すユーザ端末通信部1011、およびCPU1001で実行されるプログラム等により実現される。
図5は、第1の実施形態に係る情報機器の機能構成の一例を示す図である。図5に示す情報機器300により実現される機能は、仲介装置通信制御部3101および機器情報生成部3102により実現される機能を含む。
仲介装置通信制御部3101は、仲介装置200との通信を行う機能である。仲介装置通信制御部3101は、図19に示す仲介装置通信部1008、CPU1001により実行されるプログラム等により実現される。
機器情報生成部3102は、仲介装置200へ送信する機器情報を生成する機能である。機器情報生成部3102は、図19に示すCPU1001により実行されるプログラム等により実現される。
図6は、第1の実施形態に係るユーザ端末110の機能構成の一例を示す図である。図6に示すユーザ端末110により実現される機能は、サーバ通信制御部1501およびスケジュール情報生成部1502により実現される機能を含む。
サーバ通信制御部1501は、管理サーバ100との間の無線通信を制御する機能である。サーバ通信制御部1501は、セルラー通信(3G、LTE等)やWiFi等の通信回線を用いて、管理サーバ100と通信を行う。サーバ通信制御部1501は、例えば、図18に示すサーバ通信部2008、およびCPU2001で実行されるプログラム等により実現される。
スケジュール情報生成部1502は、(管理サーバ100と仲介装置200との間でファイアウォール13を介して常時接続を行うための)スケジュール情報500を生成する機能である。スケジュール情報生成部1502によるスケジュール情報500の生成は、ユーザが、ユーザ端末110内にインストールされた専用アプリケーションを操作することにより実現される。生成されたスケジュール情報500は、サーバ通信制御部1501により管理サーバ100へ送信される。スケジュール情報生成部1502は、図18に示すCPU2001で実行されるプログラム等により実現される。
●接続処理
図9は、第1の実施形態に係る通信システムにおいて、仲介装置と管理サーバとの間の接続処理の一例を示すシーケンス図である。図9に示す接続処理は、仲介装置200と管理サーバ100とが初めて接続を行う場合の一例である。なお、図9に示す例は、スケジュール情報500がユーザ端末110から管理サーバ100へ予め送信されている、または管理サーバ100においてスケジュール情報500が生成されている場合について説明する。
ステップS501において、仲介装置200のサーバ接続指示部2102は、送信部2201に対して、管理サーバ100との接続開始を指示する。ステップS501において、仲介装置200は、管理サーバ100と初回の接続であるため、まだスケジュール情報500を取得していない。したがって、サーバ接続指示部2102は、接続要求・応答形式に基づいて、送信部2201に対して、管理サーバ100との接続開始を指示する。
ステップS502において、仲介装置200の送信部2201は、管理サーバ100に対して接続要求を送信する(送信ステップの一例)。具体的には、送信部2201は、サーバ接続指示部2102による接続指示に基づいて、管理サーバ100に対して接続要求(コネクション要求)を送信する。
ステップS503において、仲介装置200の受信部2202は、管理サーバ100から送信された応答情報を受信する(受信ステップの一例)。具体的には、受信部2202は、送信部2201により送信した接続要求に対する応答として、管理サーバ100から応答情報を受信する。ここでは、応答情報はスケジュール情報500を含んでいるとする。ステップS504において、仲介装置200の受信部2202により受信された応答情報は、仲介装置200の記憶制御部2103により記憶される。
ステップS505において、仲介装置200の機器通信制御部2104は、記憶制御部2103により記憶された機器接続情報550を読み出す。機器接続情報550は、管理サーバ100から送信された応答情報に含まれる。なお、スケジュール情報500と機器接続情報550は、管理サーバ100から一度に送信される応答情報に含まれていてもよく、または管理サーバ100から複数回に分けて送信される異なる応答情報に含まれていてもよい。
ステップS506において、仲介装置200の機器通信制御部2104は、情報機器300に対して送信要求を送信する。具体的には、機器通信制御部2104は、管理サーバ100の管理対象情報となる機器情報を取得するため、図8に示した機器接続情報550に基づいて、情報機器300に対して送信要求を送信する。
ステップS507において、仲介装置200の機器通信制御部2104は、送信要求に対する情報機器300からの応答として機器情報を取得する。ステップS508において、仲介装置200の機器通信制御部2104により取得された機器情報は、仲介装置200の記憶制御部2103により記憶される。仲介装置200は、図8に示した機器接続情報550に基づいて、定期的に情報機器300に送信要求を送信することで、情報機器300から機器情報を取得する。ステップS506〜ステップS508の処理は、機器接続情報550で規定される期間および周期の少なくとも一方に基づいて、繰り返し行われる。
ステップS509において、仲介装置200の第1判定部2204は、記憶制御部2103によって記憶された応答情報に含まれる管理サーバ100と常時接続する条件を示す条件情報を読み出す。具体的には、第1判定部2204は、定期的に記憶制御部2103に記憶された条件情報であるスケジュール情報500を読み出す。
ステップS510において、仲介装置200の第1判定部2204は、読み出した条件情報に示される条件を満たすかを判定する。具体的には、第1判定部2204は、図7(a)に示すスケジュール情報500(条件情報)に示されるスケジュール(条件)に現在時刻が該当するかを判定する。条件情報に示される条件は、外部装置である管理サーバ100と常時接続するスケジュールを満たしていることという条件を含む。ステップS511において、仲介装置200の第1判定部2204は、判定結果をサーバ接続指示部2102へ出力する。
ステップS512において、仲介装置200のサーバ接続指示部2102は、接続制御部2203に対して、図7(a)に示すスケジュール情報500に基づく管理サーバ100との接続を指示する。具体的には、サーバ接続指示部2102は、第1判定部2204によりスケジュール情報500に示される条件を満たすと判定された場合、管理サーバ100と常時接続方式によって接続するように、接続制御部2203に対して管理サーバ100との接続を指示する。
ステップS513において、仲介装置200の接続制御部2203は、管理サーバ100に対して、スケジュール情報500に基づく常時接続を行う(接続制御ステップの一例)。接続制御部2203は、スケジュール情報500に含まれる常時接続を行う期間および周期の少なくとも一方において、管理サーバ100との常時接続状態を維持する。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る通信システムは、仲介装置200が接続要求に対する応答として管理サーバ100から送信されたファイアウォール13を介して常時接続を行うための条件を示すスケジュール情報500に基づいて、管理サーバ100と仲介装置200が常時接続を行う。そのため、常時接続が不要な時間帯であっても、常時接続状態が維持されてしまうことによるセキュリティリスクを低減させることができる。
また、第1の実施形態に係る通信システムは、スケジュール情報500をユーザ端末110、または管理者ネットワーク14に属する管理サーバ100で生成するため、被管理対象の環境や被管理装置の種別等に応じて管理サーバ100と仲介装置200との常時接続を行う頻度を自由に設定することができる。そのため、リアルタイム性を必要とするときにのみ常時接続を行うことが可能であるため、ファイアウォール13を介した常時接続に伴うセキュリティリスクの低減に柔軟に対応することができる。
さらに、第1の実施形態に係る通信システムは、常時接続の必要がないときは、接続要求・応答形式を用いて管理サーバ100と仲介装置200が接続するため、不要な通信リソースの使用を低減させることができる。
なお、第1の実施形態の通信システム10は、機器接続情報550が管理サーバ100により生成される例を説明したが、スケジュール情報500と同様に、ユーザ端末110で機器接続情報550を生成し、管理サーバ100へ送信する構成としてもよい。
●第2の実施形態●
続いて、第2の実施形態に係る通信システムについて説明する。第1の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。
●概略
図10は、第2の実施形態に係る通信システムの概略の一例を示す図である。図10は、通信システム20において、第1の実施形態に係る通信システム10と同様、管理サーバ100と仲介装置200との間でスケジュール情報500に基づく常時接続を行うことを示している。
図10は、管理サーバ100が、ファイアウォール13を介して常時接続を行うための条件を示す文字列を含むフィルタリング情報600を仲介装置200へ送信することを示している。フィルタリング情報600は、所定の文字列の一例である。また、フィルタリング情報600に含まれる文字列は、(管理サーバ100の)被管理装置である情報機器300において、管理サーバ100の管理対象として緊急メンテナンス等を要する状態であることを示す情報に対応する文字例などである。フィルタリング情報600の詳細は、後述する。また、図10は、ユーザ端末110がフィルタリング情報600を生成し、生成したフィルタリング情報600を管理サーバ100へ送信することを示している。
さらに、図10は、仲介装置200が情報機器300から送信された情報機器300の機器情報を受信することを示している。機器情報は、管理サーバ100により情報機器300を遠隔管理するために用いられる、情報機器300の管理対象情報である。また、情報機器300からの機器情報の送信は、情報機器300からの能動的な通知、すなわち仲介装置200からの送信要求なしに情報機器300から送信されることが好ましい。
図10は、仲介装置200がフィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する機器情報を情報機器300から受信した場合、臨時の常時接続を行うことを示している。臨時の常時接続は、第1の実施形態で示したスケジュール情報500に基づく常時接続形式での管理サーバ100との接続が行われていない場合に行われる常時接続である。通信システム20は、通常時に常時接続を行うためのスケジュール情報500に基づいて管理サーバ100と仲介装置200の接続を行う。一方で、通信システム20は、常時接続形式での仲介装置200と管理サーバ100との接続が行われていない場合、フィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する所定の文字列を含む機器情報を受信したときに、臨時の常時接続を行う。
このように、通信システム20は、管理サーバ100から仲介装置200へ送信されたフィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する機器情報を、情報機器300から受信した場合、管理サーバ100と仲介装置200が臨時の常時接続を行う。そのため、情報機器300におけるエラーの発生など、管理サーバ100へ早急に機器情報を送信する必要がある場合に、管理サーバ100と仲介装置200の接続状態を常時接続に切り替えることができる。
●機能構成
図11〜図13を用いて、第2の実施形態に係る仲介装置、管理サーバ、ユーザ端末の機能構成の一例を説明する。なお、以下、第1の実施形態の差異の説明のみを行い、第1の実施形態の説明と重複する部分については説明を省略する。
図11は、第2の実施形態に係る仲介装置の機能構成の一例を示す図である。図11に示すように、第2の実施形態において、仲介装置200が有するCPU2001により実現される機能は、第1の実施形態の機能に加え、第2判定部2205を含む機能である。
第2判定部2205は、受信部2202により受信された応答情報に、フィルタリング情報600が含まれている場合、機器通信制御部2104により取得された機器情報に、対応する所定の文字列が含まれているかを判定する機能である。第2判定部2205は、記憶制御部2103により記憶された応答情報に含まれるフィルタリング情報600および機器情報を読み出し、機器情報に対応する所定の文字列が含まれているかを判定する。フィルタリング情報600は、条件情報の一例である。フィルタリング情報600は、常時接続を行うための条件を示す文字列である所定の文字列を含む。第2判定部2205は、図18に示すCPU2001で実行されるプログラム等により実現される。第2判定部2205は、判定結果をサーバ接続指示部2102へ出力する。
図14は、第2の実施形態に係るフィルタリング情報の一例を示す図である。図14に示すフィルタリング情報600は、データの種別、機器の種別、送信先情報、送信元情報等を含む。図14に示すフィルタリング情報600は、フィルタリング対象となるデータの種別、機器の種別、送信先情報、送信元情報の特定の文字列を示す。仲介装置200の第2判定部2205は、図14に示すフィルタリング情報600に含まれる文字列に対応する所定の文字列が機器情報に含まれる場合、条件情報であるフィルタリング情報600に示される条件を満たすと判定する。ここで、フィルタリング情報600に含まれる文字列に対応する所定の文字列が機器情報に含まれる場合とは、機器情報に当該文字列が含まれる場合や、暗号化された機器情報に当該文字列が含まれる場合などが該当し、機器情報と文字列とが何らかの対応関係により判別可能な状態であればよい。
図14に示すフィルタリング情報600に含まれるデータの種別は、情報機器のステータス情報を示す。図14の例において、データの種別は、“state=fatal_error”であり、情報機器がエラー状態になったことを示す情報である。機器の種別は、情報機器の識別情報を示す。図14の例において、機器の種別は、“http://devices/id1234”であり、データ内のヘッダ情報である。
送信先情報または送信元情報は、データの送信先または送信元を識別するための情報である。図14の例において、送信先情報または送信元情報は、“192.168.0.1”または“192.168.0.100”であり、データ送信先または送信元の情報機器のIPアドレスである。データの送信先または送信元の情報機器は、例えば防犯装置などの緊急に通信を行う必要がある機器が好ましい。
図14に示すフィルタリング情報600は、フィルタリング情報600に基づいて臨時の常時接続を行う接続時間を含む。図14の例において、仲介装置200は、情報機器300から常時接続を行うための条件を示す文字列である“state=fatal_error”を含む機器情報を受信した場合、管理サーバ100との臨時の常時接続を1時間行う。同様に、“http://devices/id1234”を含む機器情報を受信した場合、臨時の常時接続を例えば10分間行う。さらに、“192.168.0.1”または“192.168.0.100”を送信先または送信元とする機器情報を受信した場合、臨時の常時接続を例えば30分間行う。
図14に示すフィルタリング情報600に含まれる接続時間を経過した場合、仲介装置200のサーバ接続指示部2102は、接続制御部2203に対して第1の実施形態で説明したスケジュール情報500に基づく常時接続による管理サーバ100との接続指示を行う。また、図14に示すフィルタリング情報600に含まれる接続時間を経過した場合、接続制御部2203は、自動的に第1の実施形態で説明したスケジュール情報500に基づく常時接続に接続状態を切り替える構成にしてもよい。
なお、フィルタリング情報600に含まれる情報は、これに限られず、例えばデータサイズの上限値の情報などを含んでいてもよい。
図12は、第2の実施形態に係る管理サーバの機能構成の一例を示す図である。図12に示すように、第2の実施形態において、管理サーバ100が有するCPU1001により実現される機能は、第1の実施形態の機能に加え、フィルタリング情報取得・生成部1201およびフィルタリング情報送信部1202を含む機能である。
フィルタリング情報取得・生成部1201は、ユーザ端末110から図14に示したフィルタリング情報600を取得する機能である。また、フィルタリング情報取得・生成部1201は、図14に示したフィルタリング情報600を生成することもできる。フィルタリング情報取得・生成部1201は、図19に示すCPU1001で実行されるプログラム等により実現される。
フィルタリング情報送信部1202は、フィルタリング情報取得・生成部1201により取得または生成されたフィルタリング情報600を仲介装置200へ送信する機能である。フィルタリング情報送信部1202は、図19に示す仲介装置通信部1008、およびCPU1001で実行されるプログラム等により実現される。フィルタリング情報送信部1202は、仲介装置200から送信された接続要求に対する応答として、仲介装置200へフィルタリング情報600を送信する。
図13は、第2の実施形態に係るユーザ端末の機能構成の一例を示す図である。図13に示すように、第2の実施形態において、ユーザ端末110が有するCPU2001により実現される機能は、第1の実施形態の機能に加え、フィルタリング情報生成部1503を含む機能である。
フィルタリング情報生成部1503は、図14に示したフィルタリング情報600を生成する機能である。フィルタリング情報生成部1503によるフィルタリング情報600の生成は、ユーザが、ユーザ端末110内にインストールされた専用アプリケーションを操作することにより実現される。生成されたフィルタリング情報600は、サーバ通信制御部1501により管理サーバ100へ送信される。フィルタリング情報生成部1503は、図18に示すCPU2001で実行されるプログラム等により実現される。
●接続処理
図15は、第2の実施形態に係る通信システムにおいて、仲介装置と管理サーバとの間の接続処理の一例を示すシーケンス図である。なお、図15に示す接続処理は、予め仲介装置200が管理サーバ100からスケジュール情報500を受信しているものとする。
ステップS701において、仲介装置200の接続制御部2203は、管理サーバ100の仲介装置通信制御部1101に対して、ファイアウォール13を介して常時接続を行うためのスケジュール情報500に基づく常時接続を行う。接続制御部2203と管理サーバ100の仲介装置通信制御部1101は、スケジュール情報500に基づいて、接続要求・応答形式または常時接続形式での接続状態を維持する。
ステップS702において、仲介装置200の受信部2202は、管理サーバ100から送信された応答情報を受信する。具体的には、受信部2202は、スケジュール情報500に基づく接続要求・応答形式での接続期間の場合、送信部2201により送信された接続要求に対する応答として、応答情報を受信する。ここでは、この応答情報に、管理サーバ100からフィルタリング情報600が含まれているとする。一方で、受信部2202は、スケジュール情報500に基づく常時接続形式での接続期間の場合、ファイアウォール13内からの接続要求なしに、管理サーバ100からフィルタリング情報600を受信する。
ステップS703において、仲介装置200の受信部2202により受信されたフィルタリング情報600(応答情報)は、仲介装置200の記憶制御部2103により記憶される。なお、フィルタリング情報600は、第1の実施形態で説明したスケジュール情報500と機器接続情報550が含まれる応答情報に含まれていてもよく、または管理サーバ100から複数回に分けて送信される、スケジュール情報500と機器接続情報550が含まれる応答情報とは異なる応答情報に含まれていてもよい。
ステップS704において、仲介装置200の機器通信制御部2104は、情報機器300に対して機器情報の送信要求を送信する。具体的には、機器通信制御部2104は、管理サーバ100の管理対象情報となる機器情報を取得するため、図8に示した機器接続情報550に基づいて、情報機器300に対して機器情報の送信要求を送信する。
ステップS705において、仲介装置200の機器通信制御部2104は、送信要求に対する応答して情報機器300から機器情報を受信する。ステップS706において、仲介装置200の機器通信制御部2104により受信された機器情報は、仲介装置200の記憶制御部2103により記憶される。
一方で、ステップS707において、仲介装置200の機器通信制御部2104は、仲介装置200からの送信要求なしに情報機器300から送信される機器情報を受信する。仲介装置200からの送信要求なしに送信される機器情報は、例えば、情報機器300がエラー状態になったことを示す情報などの緊急性を有する情報である。ステップS708において、仲介装置200の機器通信制御部2104により受信された機器情報は、仲介装置200の記憶制御部2103により記憶される。
仲介装置200は、ステップS704〜S706に示したように、図8に示した機器接続情報550に基づいて、定期的に情報機器300に機器情報の送信要求を送信することで、情報機器300から機器情報を取得する。なお、ステップS704〜ステップS706の処理は、機器接続情報550で規定される期間および周期の少なくとも一方に基づいて、繰り返し行われる。さらに、ステップS707、S708に示したように、情報機器300から能動的に送信されるエラー通知などの機器情報を受信することで情報機器300から機器情報を取得する。
ステップS709において、仲介装置200の第2判定部2205は、記憶制御部2103によって記憶されたフィルタリング情報600と機器情報を読み出す。ステップS710において、仲介装置200の第2判定部2205は、図14に示すフィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する所定の文字列が機器情報に含まれるかを判定する。また、第2判定部2205は、記憶制御部2103により予め記憶されたフィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する所定の文字列を含む機器情報を、機器通信制御部2104が情報機器300から受信したかを判定する。例えば、第2判定部2205は、仲介装置200からの送信要求なしに情報機器300から送信された、情報機器300のエラー通知などの常時接続を行うための条件を示す文字列に対応する所定の文字列を含む機器情報を受信した場合、管理サーバ100と常時接続する条件を満たすと判定する。条件情報に示される条件は、機器通信制御部2104により取得された機器情報に、対応する所定の文字列が含まれていることという条件を含む。
ステップS711において、仲介装置200の第2判定部2205は、判定結果をサーバ接続指示部2102へ出力する。ステップS712において、仲介装置200のサーバ接続指示部2102は、接続制御部2203に対して、図14に示すフィルタリング情報600に基づく管理サーバ100との接続を指示する。具体的には、サーバ接続指示部2102は、第2判定部2205によりフィルタリング情報600に示される条件を満たすと判定された場合、管理サーバ100と常時接続方式によって接続するように、接続制御部2203に対して管理サーバ100との接続を指示する。
ステップS713において、仲介装置200の接続制御部2203は、管理サーバ100に対して、臨時の常時接続を行う。接続制御部2203は、図14に示したフィルタリング情報600に含まれる接続時間において、管理サーバ100との常時接続状態を維持する。接続制御部2203は、図14に示したフィルタリング情報600に含まれる接続時間の間、管理サーバ100に対する臨時の常時接続を行い、接続時間の経過後は、スケジュール情報500に基づく常時接続を行う。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る通信システムは、管理サーバ100から仲介装置200へ送信されたフィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する所定の文字列が機器情報に含まれている場合、管理サーバ100と仲介装置200が臨時の常時接続を行う。そのため、情報機器300におけるエラーの発生など、管理サーバ100へ早急に機器情報を送信する必要がある場合に、管理サーバ100と仲介装置200の接続状態を常時接続に切り替えることができる。
また、第2の実施形態に係る通信システムは、被管理者側の情報機器300の状態に応じて管理サーバ100と仲介装置200の接続状態を、スケジュール情報500に基づく常時接続から臨時の常時接続へ切り替えることができる。そのため、緊急性に応じて常時接続を行う頻度を可変にすることができ、セキュリティリスクが低減されたリアルタイム性の高い通信を実現することができる。
さらに、第2の実施形態に係る通信システムは、仲介装置200からの送信要求なし情報機器300から送信された機器情報に基づいて臨時の常時接続を行う。そのため、管理サーバ100からの緊急の通知を必要とする場合に、管理サーバ100と仲介装置200の接続状態を即時に常時接続状態に切り替えることができ、通信のリアルタイム性を高めることができる。
●第2の実施形態の変形例●
次に、第2の実施形態に係る通信システムの変形例について説明する。第2の実施形態は、通常時に常時接続を行うためのスケジュール情報500に基づいて管理サーバ100と仲介装置200の接続を行い、フィルタリング情報600に含まれる常時接続を行うための条件を示す文字列に対応する所定の文字列を含む機器情報を受信した場合に臨時の常時接続を行う例を示したが、第2の実施形態の変形例として、通常時にフィルタリング情報600を用いた常時接続を行う構成にしてもよい。
この変形例の構成は、例えば、被管理機器が少ない場合や管理サーバ100における管理情報の取得の頻度が少ない場合などのように、定期的に常時接続を行う必要はないが、情報機器300のエラー発生等の緊急を要する状況が発生した場合にのみ常時接続を行いたいといいうような使用環境・ユーザニーズにおいて有用である。
●第3の実施形態●
続いて、第3の実施形態に係る通信システムについて説明する。第1の実施形態、または第2の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。
●機能構成
図16は、第3の実施形態に係る管理サーバの機能構成の一例を示す図である。図16に示すように、第3の実施形態において、管理サーバ100が有するCPU1001により実現される機能は、第2の実施形態の機能に加え、スケジュール情報更新部1301を含む機能である。
スケジュール情報更新部1301は、記憶制御部1106により記憶されたスケジュール情報500の更新を受け付ける機能である。スケジュール情報更新部1301は、ユーザ端末110から新たにスケジュール情報を取得すると、記憶制御部1106により記憶されたスケジュール情報500の更新を行う。スケジュール情報更新部1301は、図19に示すCPU1001で実行されるプログラム等により実現される。スケジュール情報更新部1301によりスケジュール情報500が更新された場合、スケジュール情報送信部1103は、仲介装置200に対して更新されたスケジュール情報を送信する。
●スケジュール情報の更新
図17は、第3の実施形態に係るスケジュール情報の更新処理の一例を示すシーケンス図である。なお、図17の例は、ユーザ端末110により生成されたスケジュール情報に基づく更新処理について説明するが、管理サーバ100が生成したスケジュール情報に基づいてスケジュール情報の更新を行ってもよい。
ステップS901において、仲介装置200の接続制御部2203は、管理サーバ100の仲介装置通信制御部1101に対して、スケジュール情報500に基づく常時接続を行う。接続制御部2203と管理サーバ100の仲介装置通信制御部1101は、スケジュール情報500に基づく常時接続状態を維持する。
ステップS902において、ユーザ端末110のスケジュール情報生成部1502は、新たにスケジュール情報を生成する。
ステップS903において、ユーザ端末110のサーバ通信制御部1501は、スケジュール情報生成部1502により新たに生成されたスケジュール情報を、管理サーバ100へ送信する。
ステップS904において、管理サーバ100のユーザ端末通信制御部1107は、ユーザ端末110から新たにスケジュール情報を受信すると、スケジュール情報の更新をスケジュール情報更新部1301へ通知する。
ステップS905において、管理サーバ100のスケジュール情報更新部1301は、スケジュール情報の更新通知を受け付けると、記憶制御部1106により記憶されたスケジュール情報500の更新を行う。ステップS906において、管理サーバのスケジュール情報更新部1301は、更新されたスケジュール情報をスケジュール情報送信部1103へ通知する。
ステップS907において、管理サーバ100のスケジュール情報送信部1103は、更新されたスケジュール情報を仲介装置200の接続制御部2203へ送信する。さらに、仲介装置200の接続制御部2203は、管理サーバ100のスケジュール情報送信部1103から更新されたスケジュール情報を取得する。ステップS908において、仲介装置200の接続制御部2203により取得された、更新されたスケジュール情報は、仲介装置200の記憶制御部2103により記憶される。
ステップS909において、仲介装置200の第1判定部2204は、記憶制御部2103によって記憶された、更新されたスケジュール情報を読み出す。具体的には、第1判定部2204は、定期的に記憶制御部2103に記憶されたスケジュール情報を読み出し、接続制御部2203により取得された、更新されたスケジュール情報を読み出す。
ステップS910において、仲介装置200の第1判定部2204は、読み出した条件情報に示される条件を満たすかを判定する。具体的には、第1判定部2204は、更新されたスケジュール情報(条件情報)に示されるスケジュール(条件)に現在時刻が該当するかを判定する。条件情報に示される条件は、外部装置である管理サーバ100と常時接続するスケジュールを満たしていることという条件を含む。ステップS911において、仲介装置200の第1判定部2204は、判定結果をサーバ接続指示部2102へ出力する。
ステップS912において、仲介装置200のサーバ接続指示部2102は、接続制御部2203に対して、更新されたスケジュール情報500に基づく管理サーバ100との接続を指示する。具体的には、サーバ接続指示部2102は、第1判定部2204により、更新されたスケジュール情報500に示される条件を満たすと判定された場合、管理サーバ100と常時接続方式によって接続するように、接続制御部2203に対して管理サーバ100との接続を指示する。
ステップS913において、仲介装置200の接続制御部2203は、管理サーバ100に対して、更新されたスケジュール情報に基づく常時接続を行う。接続制御部2203は、更新されたスケジュール情報に含まれる常時接続を行う期間および周期の少なくとも一方において、管理サーバ100との常時接続状態を維持する。
●第3の実施形態の効果
以上説明したように、第3の実施形態に係る通信システムは、ユーザ端末110または管理サーバ100により新たに生成されたスケジュール情報に基づいて、管理サーバ100によりファイアウォールを介して常時接続を行うためのスケジュール情報500の更新を行う。そして、更新されたスケジュール情報に基づいて管理サーバ100と仲介装置200が常時接続を行う。そのため、被管理対象の環境や運用方法等が変更された場合においても、管理サーバ100によりスケジュール情報500を更新することできるため、更新されたスケジュール情報に基づく常時接続を容易に行うことができる。
なお、第3の実施形態は、管理サーバ100がファイアウォールを介して常時接続を行うためのスケジュール情報500を更新する例を説明したが、同様に管理サーバ100がフィルタリング情報600および機器接続情報550を更新する構成にしてもよい。
●その他の実施形態●
図20は、その他の実施形態に係る通信システムの全体構成を示す図である。図20に示す通信システムは、産業機器管理システム2である。図1に示したオフィス機器管理システム1と異なる点は、仲介装置200と通信を行う情報機器300の種類が異なること、すなわち被管理対象の情報機器300の使用環境が異なることである。情報機器300は、産業機械321、撮像装置322、集音装置323、医療機器324、ネットワーク家電325等を含む。なお、情報機器300は、その他自動販売機、電源装置、空調システム、ガス・水道・電気等の計量システム等に通信機能を持たせた機器であってもよい。
産業機械321は、加工装置、検査装置、搬送装置、ピッキング装置などである。産業機械321は、機器の識別情報や、稼働状況、異常動作の有無、消耗品の交換時期に関する情報、機器による検査結果などの機器情報を、管理サーバ100へ送信する。産業機械321は、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を管理サーバ100へ送信する。
撮像装置322と集音装置323は、例えば、産業機械321の周辺に設置され、産業機械321の状態を把握するための装置である。
医療機器324は、眼底検査装置、X線検査装置、血圧計、体脂肪計、視力計、ペースメーカなどである。医療機器324は、機器の識別情報や、機器の稼働状況、異常動作の有無、機器による測定結果などの機器情報を、管理サーバ100へ送信する。医療機器324は、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を管理サーバ100へ送信する。
ネットワーク家電325は、家庭用電化製品(家電)のうち、ネットワークに接続できる機能を有する装置である。
図20に示す産業機器管理システム2において、仲介装置200は、管理サーバ100とファイアウォール13を介して接続されている。仲介装置200は、情報機器300内に設けてあるファームウェアを、インターネット接続を利用して更新するファームウェア更新機能を備えていてもよい。
図20の例において、産業機器管理システム2は、複数の情報機器300と一台の仲介装置200を含む構成を示しているが、更に他の機器を含んで構成してもよい。例えば、一台の仲介装置200では処理負荷が大きくなる場合、情報機器300のファームウェア更新のための機能と情報機器300の遠隔管理を集中的に行う機能を複数の仲介装置に分けて割り当てる構成にしてもよい。
●まとめ●
以上説明したように、本発明の一実施形態に係る仲介装置は、外部装置である管理サーバ100へ接続要求に送信し、接続要求に対する応答として管理サーバ100から応答情報を受信する。そして、受信した応答情報に管理サーバ100と常時接続する条件を示す条件情報が含まれている場合に、条件を満たす間、管理サーバ100と常時接続を行う。そのため、リアルタイム性を必要とするときにのみ常時接続を行うことが可能であり、常時接続が不要な時間帯であっても、常時接続状態が維持されてしまうことによるセキュリティリスクを低減させることができる。一方で、常時接続を必要がないときは、接続要求・応答形式を用いて管理サーバ100と仲介装置200が接続するため、不要な通信リソースの使用を低減させることができる。
また、本発明の一実施形態に係る仲介装置は、接続要求に対する応答として管理サーバ100から送信された応答情報に、管理サーバ100と常時接続するスケジュールを満たしていることという条件を含むスケジュール情報500(条件情報の一例)が含まれている場合に、スケジュール情報500に示される条件を満たす間、管理サーバ100と常時接続を行う。そのため、被管理対象の環境や被管理装置の種別等に応じて管理サーバ100と仲介装置200との常時接続を行う頻度を自由に設定することができ、リアルタイム性を必要とするときにのみ常時接続を行うことが可能である。
さらに、本発明の一実施形態に係る仲介装置は、接続要求に対する応答として管理サーバ100から送信された応答情報に、情報機器300から取得した機器情報に対応する所定の文字列が含まれていることという条件を含むフィルタリング情報600(条件情報の一例)が含まれている場合に、フィルタリング情報600に示される条件を満たす間、外部装置である管理サーバ100と常時接続を行う。そのため、情報機器300におけるエラーの発生など、管理サーバ100と早急に通信を行う必要がある場合に、管理サーバ100と仲介装置200の接続状態を常時接続に切り替えることができる。
また、本発明の一実施形態に係る通信システムは、管理サーバ100と、管理サーバ100へ接続要求に送信する仲介装置200とを有し、仲介装置200が接続要求に対する応答として管理サーバ100から応答情報を受信する。そして、仲介装置200は、受信した応答情報に管理サーバ100と常時接続する条件を示す条件情報が含まれている場合に、条件を満たす間、管理サーバ100と常時接続を行う。そのため、リアルタイム性を必要とするときにのみ常時接続を行うことが可能であり、常時接続状態が不要な時間帯であっても維持されてしまうことによるセキュリティリスクを低減させることができる。一方で、常時接続を必要がないときは、接続要求・応答形式を用いて管理サーバ100と仲介装置200が接続するため、不要な通信リソースの使用を低減させることができる。
さらに、本発明の一実施形態に係る通信方法は、仲介装置200が外部装置である管理サーバ100に対して接続要求を送信する送信ステップと、仲介装置200が接続要求に対する応答として、管理サーバ100からの応答情報を受信する受信ステップと、受信された応答情報に、管理サーバ100と常時接続する条件を示す条件情報が含まれている場合に、条件を満たす間、仲介装置200が管理サーバ100と常時接続を行う接続制御ステップと、を有する。そのため、リアルタイム性を必要とするときにのみ常時接続を行うことが可能であり、常時接続が不要な時間帯であっても、常時接続状態が維持されてしまうことによるセキュリティリスクを低減させることができる。一方で、常時接続を必要がないときは、接続要求・応答形式を用いて管理サーバ100と仲介装置200が接続するため、通信システム内の不要な通信リソースの使用を低減させることができる。
なお、各実施形態の機能は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。また、各実施形態の機能の一部または全部は、例えばFPGA(Field Programmable Gate Array)などのプログラマブル・デバイス(PD)上に実装することができ、あるいはASIC(Application Specific Integrated Circuit)として実装することができ、各実施形態の機能をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog−HDLなどにより記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る仲介装置、通信システム、通信方法およびプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。