以下、本発明の一実施の形態について、図面を用いて説明する。
まず、本実施の形態に係るリモート通信システムの構成について説明する。
図1は、本実施の形態に係るリモート通信システム10のブロック図である。
図1に示すように、リモート通信システム10は、画像形成装置20と、画像形成装置20が所属するLAN(Local Area Network)などのネットワークをインターネットなどのネットワークに接続するゲートウェイ30と、画像形成装置20が所属するネットワークの外部に存在する電子機器としての接続端末40と、リモート通信システム10に含まれる画像形成装置、および、リモート通信システム10に含まれる接続端末の間の通信を制御するリモート通信制御システム15とを備えている。
リモート通信制御システム15は、リモート通信システム10に含まれる接続端末からの指示に応じて、リモート通信システム10に含まれる画像形成装置に対してリモートメンテナンスを実行するクラウドサービスであるリモートメンテナンスシステム50と、リモート通信システム10に含まれる画像形成装置、および、リモート通信システム10に含まれる接続端末の間の直接相互接続、すなわち、Peer to Peerのセッション(以下「リモートセッション」という。)を中継するクラウドサービスであるセッション中継システム60とを備えている。
リモート通信システム10は、画像形成装置20が所属するネットワークに、画像形成装置20以外にも、画像形成装置を備えることが可能である。リモート通信システム10は、画像形成装置20が所属するネットワーク以外にも、画像形成装置が所属するネットワークを備えることが可能である。リモート通信システム10に含まれる画像形成装置は、例えば、MFP(Multifunction Peripheral)、プリンター専用機、コピー専用機、ファックス専用機、スキャナー専用機などの画像形成装置である。
ゲートウェイ30は、画像形成装置20が所属するネットワークの内部に対する、このネットワークの外部からの攻撃を防ぐファイアウォールを構成している。そのため、リモート通信システム10に含まれる画像形成装置と、リモートメンテナンスシステム50との間の通信は、リモート通信システム10に含まれる画像形成装置がXMPP(Extensible Messaging and Presence Protocol)によってリモートメンテナンスシステム50に接続し続けることによって、維持される。
リモート通信システム10は、接続端末40以外にも接続端末を備えることが可能である。リモート通信システム10に含まれる接続端末は、例えば、PC(Personal Computer)などのコンピューターである。
リモートメンテナンスシステム50は、例えば、サーバーコンピューターによって構成されている。リモートメンテナンスシステム50によって実行されるリモートメンテナンスは、例えば、画像形成装置のカウンターの確認、画像形成装置へのファームウェアのインストールなどのメンテナンスである。リモートメンテナンスシステム50は、リモートメンテナンスを実行するだけでなく、リモートセッションを管理する。すなわち、リモートメンテナンスシステム50は、本発明のセッション管理システムを構成している。
セッション中継システム60は、例えば、サーバーコンピューターによって構成されている。
リモート通信システム10に含まれる画像形成装置と、リモートメンテナンスシステム50とは、インターネットなどのネットワークを介して通信可能である。リモート通信システム10に含まれる画像形成装置と、セッション中継システム60とは、インターネットなどのネットワークを介して通信可能である。リモート通信システム10に含まれる接続端末と、リモートメンテナンスシステム50とは、インターネットなどのネットワークを介して通信可能である。リモート通信システム10に含まれる接続端末と、セッション中継システム60とは、インターネットなどのネットワークを介して通信可能である。リモートメンテナンスシステム50と、セッション中継システム60とは、インターネットなどのネットワークを介して通信可能である。
図2は、MFPである場合の画像形成装置20のブロック図である。
図2に示す画像形成装置20は、種々の操作が入力されるボタンなどの入力デバイスである操作部21と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部22と、原稿から画像を読み取る読取デバイスであるスキャナー23と、用紙などの記録媒体に画像を印刷する印刷デバイスであるプリンター24と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部25と、ネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部26と、各種の情報を記憶する半導体メモリー、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部27と、画像形成装置20全体を制御する制御部28とを備えている。
制御部28は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるRAM(Random Access Memory)とを備えている。CPUは、ROMまたは記憶部27に記憶されているプログラムを実行する。
制御部28は、ROMまたは記憶部27に記憶されているプログラムを実行することによって、リモート通信システム10に含まれる接続端末からリモートセッションを介して利用されるサーバーアプリケーション28aと、セッション中継システム60(図1参照。)との間の通信を制御するCloud Hub Agent28bとを実現する。
制御部28は、ROMまたは記憶部27に記憶されているプログラムを実行することによって、サーバーアプリケーション28a以外にも、サーバーアプリケーションを実現することが可能である。
制御部28によって実現されるサーバーアプリケーションとしては、例えば、画像形成装置20が所属するネットワークの外部に画像形成装置20の各種の設定状況を通知するとともに、画像形成装置20が所属するネットワークの外部から画像形成装置20の各種の設定を受け付けるWeb Serverがある。また、制御部28によって実現されるサーバーアプリケーションとしては、例えば、画像形成装置20の表示部22に表示される画面(例えば、Webページ)のデータを画像形成装置20が所属するネットワークの外部に送信するとともに、このデータに基づいて表示される画面に対する操作を、画像形成装置20が所属するネットワークの外部から受信して、受信した操作に応じて画像形成装置20を動作させるRemote APP Serverがある。
制御部28によって実現されるサーバーアプリケーションは、アプリケーションIDによって識別されることが可能である。
図3は、接続端末40のブロック図である。
図3に示すように、接続端末40は、種々の操作が入力される例えばキーボード、マウスなどの入力デバイスである操作部41と、種々の情報を表示するLCDなどの表示デバイスである表示部42と、ネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部43と、各種の情報を記憶する半導体メモリー、HDDなどの不揮発性の記憶デバイスである記憶部44と、接続端末40全体を制御する制御部45とを備えている。
制御部45は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、CPUの作業領域として用いられるRAMとを備えている。CPUは、ROMまたは記憶部44に記憶されているプログラムを実行する。
制御部45は、ROMまたは記憶部44に記憶されているプログラムを実行することによって、リモートメンテナンスシステム50へのログインの処理を実行するログイン手段45aと、リモートメンテナンスシステム50にリモートメンテナンスを指示するリモートメンテナンス指示手段45bと、リモート通信システム10に含まれる画像形成装置のサーバーアプリケーションをリモートセッションを介して利用するクライアント45cと、リモートセッションを制御するリモートセッション制御手段45dとを実現する。
制御部45は、ROMまたは記憶部44に記憶されているプログラムを実行することによって、クライアント45c以外にも、クライアントを実現することが可能である。
制御部45によって実現されるクライアントとしては、例えば、サーバーアプリケーションとしてのWeb Serverから通知された設定状況を表示部42に表示するとともに、操作部41から入力された各種の設定を、このWeb Serverに対して指示するWeb Browserがある。また、制御部45によって実現されるクライアントとしては、例えば、サーバーアプリケーションとしてのRemote APP Serverから受信した画面のデータに基づいた画面を表示部42に表示するとともに、この画面に対して操作部41から入力された操作を、このRemote APP Serverに送信するRemote APP Clientなどのアプリケーションがある。
制御部45によって実現されるクライアントは、アプリケーションIDによって識別されることが可能である。なお、制御部45によって実現されるクライアントを識別するためのアプリケーションIDは、このクライアントに対応する、画像形成装置のサーバーアプリケーションを識別するためのアプリケーションIDと同一である。
図4は、1台のサーバーコンピューターによって構成されている場合のリモートメンテナンスシステム50のブロック図である。
図4に示すように、リモートメンテナンスシステム50は、種々の操作が入力される例えばキーボード、マウスなどの入力デバイスである操作部51と、種々の情報を表示するLCDなどの表示デバイスである表示部52と、ネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部53と、各種の情報を記憶する半導体メモリー、HDDなどの不揮発性の記憶デバイスである記憶部54と、リモートメンテナンスシステム50全体を制御する制御部55とを備えている。
記憶部54は、リモートセッションを管理するためのセッション管理プログラム54aを記憶している。
記憶部54は、リモート通信システム10に含まれる画像形成装置を示すデバイスデータベース54bを記憶している。デバイスデータベース54bには、いずれの画像形成装置がいずれの管理単位に含まれるかを示す情報が含まれている。ここで、管理単位は、リモートメンテナンスの契約の単位であり、画像形成装置単位でも良いし、複数の画像形成装置の群単位でも良い。管理単位は、同一のLANの内部に所属する画像形成装置の群単位であることが好ましい。
記憶部54は、リモートセッションにおける通信量の上限値を示す通信量上限値を管理単位毎に示す通信量上限値データベース54cを記憶している。
制御部55は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、CPUの作業領域として用いられるRAMとを備えている。CPUは、ROMまたは記憶部54に記憶されているプログラムを実行する。
制御部55は、ROMまたは記憶部54に記憶されている特定のプログラムを実行することによって、利用者のログインを許可するか否かを判断するログイン許可判断手段55aと、リモートメンテナンスを実行するリモートメンテナンス手段55bとを実現する。
制御部55は、セッション管理プログラム54aを実行することによって、リモートセッションを管理するセッション管理手段55cを実現する。
図5は、セッション中継システム60によって実現される機能を示す図である。
図5に示すように、セッション中継システム60は、特定のプログラムを実行することによって、リモート通信システム10に含まれる画像形成装置との通信を制御するCloud Hub61を実現する。セッション中継システム60は、特定のプログラムを実行することによって、Cloud Hub61以外にも、Cloud Hubを実現することが可能である。
セッション中継システム60は、特定のプログラムを実行することによって、リモート通信システム10に含まれる接続端末との通信を制御するWeb Agent62を実現する。セッション中継システム60は、特定のプログラムを実行することによって、Web Agent62以外にも、Web Agentを実現することが可能である。
セッション中継システム60は、特定のプログラムを実行することによって、画像形成装置をいずれのCloud Hubに接続し、接続端末をいずれのWeb Agentに接続するかを決定するMaster63と、リモートセッションに関するログを記憶するセッション管理データベース64とを実現する。
セッション中継システム60に含まれるCloud Hubと、セッション中継システム60に含まれるWeb Agentとは、一対一の関係である。すなわち、セッション中継システム60に含まれるCloud Hubの数と、セッション中継システム60に含まれるWeb Agentの数とは、同一である。
リモート通信システム10に含まれる画像形成装置がセッション中継システム60に接続する場合、この画像形成装置と、いずれのCloud Hubとを接続するかは、Master63によって決定される。しかしながら、以下においては、Master63の動作についての詳細な説明を省略する。
同様に、リモート通信システム10に含まれる接続端末がセッション中継システム60に接続する場合、この接続端末と、いずれのWeb Agentとを接続するかは、Master63によって決定される。しかしながら、以下においては、Master63の動作についての詳細な説明を省略する。
次に、リモート通信システム10の動作について説明する。
まず、接続端末40の利用者がリモートメンテナンスシステム50にログインする場合のリモート通信システム10の動作について説明する。
図6は、接続端末40の利用者がリモートメンテナンスシステム50にログインする場合のリモート通信システム10の動作のシーケンス図である。
接続端末40の利用者は、操作部41を介して利用者IDおよびパスワードを入力することによってリモートメンテナンスシステム50へのログインを指示することができる。接続端末40のログイン手段45aは、リモートメンテナンスシステム50へのログインの指示を受け付けると、図6に示すように、操作部41を介して入力された利用者IDおよびパスワードをリモートメンテナンスシステム50に通知することによって、リモートメンテナンスシステム50へのログインの処理を実行する(S101)。
リモートメンテナンスシステム50のログイン許可判断手段55aは、接続端末40からログインが要求されると、利用者のログインを許可するか否かを、接続端末40から通知された利用者IDおよびパスワードの組み合わせに基づいて判断し(S102)、判断結果を接続端末40に返信する(S103)。
次に、リモートメンテナンスシステム50経由でリモートメンテナンスを実行する場合のリモート通信システム10の動作について説明する。
図7は、リモートメンテナンスシステム50経由でリモートメンテナンスを実行する場合のリモート通信システム10の動作のシーケンス図である。
接続端末40の利用者は、リモートメンテナンスシステム50にログインしている場合、リモートメンテナンスシステム50経由での特定の画像形成装置(以下、図7に示す動作の説明において、画像形成装置20として説明する。)のリモートメンテナンスを操作部41を介して指示することができる。接続端末40のリモートメンテナンス指示手段45bは、リモートメンテナンスシステム50経由でのリモートメンテナンスの指示を受け付けると、図7に示すように、操作部41を介して指示された画像形成装置20のデバイスIDをリモートメンテナンスシステム50に通知することによって、操作部41を介して指示されたリモートメンテナンスをリモートメンテナンスシステム50に指示する(S121)。
リモートメンテナンスシステム50のリモートメンテナンス手段55bは、接続端末40からリモートメンテナンスが指示されると、接続端末40からリモートメンテナンスの対象として指定された画像形成装置20に、接続端末40から指示されたメンテナンスをXMPPによって要求する(S122)。
画像形成装置20の制御部28は、リモートメンテナンスシステム50からメンテナンスが要求されると、リモートメンテナンスシステム50から要求されたメンテナンスを実行し(S123)、メンテナンスの実行結果をXMPPによってリモートメンテナンスシステム50に通知する(S124)。
リモートメンテナンスシステム50のリモートメンテナンス手段55bは、メンテナンスの実行結果が画像形成装置20から通知されると、画像形成装置20から通知された実行結果を接続端末40に通知する(S125)。
次に、リモートセッションを開始する場合のリモート通信システム10の動作について説明する。
図8は、リモートセッションを開始する場合のリモート通信システム10の動作のシーケンス図である。図9は、図8に示すデバイス側セッション確立のシーケンス図である。図10は、図8に示す接続端末側セッション確立のシーケンス図である。
接続端末40の利用者は、リモートメンテナンスシステム50にログインしている場合、特定のクライアント(以下、図8〜図10に示す動作の説明において、クライアント45cとして説明する。)を指定して、特定の画像形成装置(以下、図8〜図10に示す動作の説明において、画像形成装置20として説明する。)とのリモートセッションの開始を操作部41を介して指示することができる。接続端末40のリモートセッション制御手段45dは、リモートセッションの開始の指示を受け付けると、図8〜図10に示すように、操作部41を介して指示された画像形成装置20のデバイスIDと、操作部41を介して指示されたクライアント45cのアプリケーションIDとをリモートメンテナンスシステム50に通知することによって、リモートセッションの開始をリモートメンテナンスシステム50に要求する(S141)。
なお、接続端末40の利用者は、画像形成装置20とのリモートセッションの開始を操作部41を介して指示する場合、画像形成装置20とのリモートセッションの開始を操作部41を介して指示する前に、画像形成装置20とのリモートセッションの開始を希望する旨を画像形成装置20の利用者に例えば電話などの方法によって事前に別途連絡することが好ましい。
リモートメンテナンスシステム50のセッション管理手段55cは、S141の要求を受け付けると、S141によって通知されたデバイスIDによって特定される画像形成装置20に、S141によって通知されたアプリケーションIDを通知することによって、リモートセッションの開始の承認をXMPPによって要求する(S142)。
画像形成装置20のサーバーアプリケーションのうち、S142によって通知されたアプリケーションIDによって特定されるサーバーアプリケーション28aは、S142の要求を受けると、リモートセッションの開始を承認するか否かの指示を受け付けるリモートセッション承認用画面70(図11参照。)を表示部22に表示する(S143)。
図11は、リモートセッション承認用画面70の一例を示す図である。
図11に示すリモートセッション承認用画面70は、リモートセッションを承認するか否かを尋ねるメッセージ71と、リモートセッションの開始の承認の指示を受け付けるためのYESボタン72と、リモートセッションの開始の不承認の指示を受け付けるためのNOボタン73とを備えている。画像形成装置20の利用者は、操作部21を介してYESボタン72およびNOボタン73のいずれかを押すことができる。
図8〜図10に示すように、サーバーアプリケーション28aは、操作部21を介してYESボタン72が押されると、リモートセッションが承認された旨をXMPPによってリモートメンテナンスシステム50に通知する(S144)。
なお、図示していないが、S143において表示部22に表示されたリモートセッション承認用画面70に対して操作部21を介してNOボタン73が押された場合、リモート通信システム10は、次のように動作する。まず、画像形成装置20のサーバーアプリケーション28aは、リモートセッションが承認されなかった旨をXMPPによってリモートメンテナンスシステム50に通知する。次いで、リモートメンテナンスシステム50のセッション管理手段55cは、リモートセッションが承認されなかった旨を接続端末40に通知する。そして、接続端末40のリモートセッション制御手段45dは、リモートセッションが承認されなかった旨を表示部42に表示する。
リモートメンテナンスシステム50のセッション管理手段55cは、S144の通知を受けると、セッション中継システム60に接続情報をAPI(Application Program Interface)によって要求する(S145)。
セッション中継システム60のCloud Hub61は、S145の要求を受けると、このリモートセッションによる通信をセッション中継システム60において識別するためのセッションIDを生成し(S146)、生成したセッションIDを接続情報としてリモートメンテナンスシステム50にAPIによって通知する(S147)。セッションIDとしては、例えば、HMAC(Hash−based Message Authentication Code)などのハッシュアルゴリズムで生成された乱数列を、HTTP(Hypertext Transfer Protocol)上で取り扱えるようにBASE64エンコーディングしたものなど、ランダムな識別情報が採用される。
リモートメンテナンスシステム50のセッション管理手段55cは、S147においてセッションIDが通知されると、リモートセッションの有効期間をリモートメンテナンスシステム50が認識するためのトークンを生成し(S148)、生成したトークンと、S147において通知されたセッションIDとをXMPPによって画像形成装置20に通知する(S149)。
次いで、セッション管理手段55cは、トークンおよびセッションIDを取得した旨を接続端末40に通知する(S150)。
画像形成装置20のサーバーアプリケーション28aは、S149においてトークンおよびセッションIDが通知されると、S149において通知されたトークンおよびセッションIDを設定したCloud Hub Agent28bを起動する(S171)。
次いで、Cloud Hub Agent28bは、設定されたトークンおよびセッションIDをセッション中継システム60に通知することによって、セッション中継システム60にセッションの確立を要求する(S172)。
セッション中継システム60のCloud Hubのうち、S172において通知されたセッションIDに対応付けられているCloud Hub61は、S172の要求を受けると、S172において通知されたトークンによる認証をAPIによってリモートメンテナンスシステム50に要求する(S173)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S173によって要求された認証を実行し(S174)、認証の結果をセッション中継システム60にAPIによって通知する(S175)。
セッション中継システム60のCloud Hub61は、S175において認証の成功が通知されると、画像形成装置20とのセッションを開始したことを示すログをセッション管理データベース64に記憶し(S176)、S176において記憶したログをトークンとともにリモートメンテナンスシステム50にAPIによって通知する(S177)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S177において通知されたログを、S177において通知されたトークンによって識別されるリモートセッションのログとして管理し(S178)、このログを管理した旨をセッション中継システム60にAPIによって返信する(S179)。
セッション中継システム60のCloud Hub61は、S175において認証の成功が通知されると、画像形成装置20とのセッションを確立した旨を画像形成装置20に通知する(S180)。すなわち、画像形成装置20と、セッション中継システム60との間にHTTPベースのWebSocket接続が確立される。
接続端末40のリモートセッション制御手段45dは、S141の処理の後、リモートメンテナンスシステム50から接続情報を取得することができるまで、リモートメンテナンスシステム50に接続情報をポーリングによって要求する(S201)。
リモートメンテナンスシステム50のセッション管理手段55cは、S201の要求を受けた場合に、S148においてトークンを生成済みであるとき、このトークンと、S147においてセッション中継システム60から通知されたセッションIDとを接続情報として接続端末40に通知する(S202)。
接続端末40のリモートセッション制御手段45dは、S202においてトークンおよびセッションIDが通知されると、S202において通知されたトークンおよびセッションIDを設定したクライアント45cを起動する(S203)。
次いで、クライアント45cは、設定されたトークンおよびセッションIDをセッション中継システム60に通知することによって、セッション中継システム60にセッションの確立を要求する(S204)。
セッション中継システム60のWeb Agentのうち、S204において通知されたセッションIDに対応付けられているWeb Agent62は、S204の要求を受けると、S204において通知されたトークンおよびセッションIDをCloud Hub61に通知することによって、Cloud Hub61にセッションの確立を要求する(S205)。
セッション中継システム60のCloud Hub61は、S205の要求を受けると、S205において通知されたトークンによる認証をAPIによってリモートメンテナンスシステム50に要求する(S206)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S206によって要求された認証を実行し(S207)、認証の結果をセッション中継システム60にAPIによって通知する(S208)。
セッション中継システム60のCloud Hub61は、S208において認証の成功が通知されると、接続端末40とのセッションを開始したことを示すログをセッション管理データベース64に記憶し(S209)、S209において記憶したログをトークンとともにリモートメンテナンスシステム50にAPIによって通知する(S210)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S210において通知されたログを、S210において通知されたトークンによって識別されるリモートセッションのログとして管理し(S211)、このログを管理した旨をセッション中継システム60にAPIによって返信する(S212)。
セッション中継システム60のCloud Hub61は、S208において認証の成功が通知されると、接続端末40とのセッションを確立した旨をWeb Agent62に通知する(S213)。したがって、Web Agent62は、接続端末40とのセッションを確立した旨を接続端末40に通知する(S214)。すなわち、接続端末40と、セッション中継システム60との間にHTTPベースのWebSocket接続が確立される。
なお、セッション中継システム60は、図8〜図10に示す動作によって画像形成装置20との間に確立されたWebSocket接続と、図8〜図10に示す動作によって接続端末40との間に確立されたWebSocket接続とを、セッションIDによって関連付ける。したがって、図8〜図10に示す動作によって、リモートセッションが確立される。
次に、接続端末40からのリモートセッションを介した要求に応じて画像形成装置20が動作する場合のリモート通信システム10の動作について説明する。
図12は、接続端末40からのリモートセッションを介した要求に応じて画像形成装置20が動作する場合のリモート通信システム10の動作のシーケンス図である。
図8〜図10に示す動作によってリモートセッションが確立されている場合、接続端末40の利用者は、画像形成装置20に対する要求を操作部41を介して指示することができる。接続端末40のクライアント45cは、画像形成装置20に対する要求の指示を受け付けると、図12に示すように、操作部41を介して指示された要求を通知するためのHTTPリクエストを生成する(S231)。
ここで、S232において生成されるHTTPリクエストの構造について説明する。
図13(a)は、サーバーアプリケーション28aが処理するHTTPデータ80を示す図である。図13(b)は、図13(a)に示すHTTPデータ80をインターネット上で中継するためのHTTPデータ90を示す図である。
図13に示すように、HTTPデータ80は、HTTPヘッダー81と、HTTPボディー82とを含んでいる。HTTPデータ90は、インターネット上の中継のためのHTTPヘッダー91と、HTTPボディー92としてのHTTPデータ80とを含んでいる。なお、HTTPヘッダー91には、サーバーアプリケーション28aを特定するためのアプリケーションID91aが含まれている。
クライアント45cは、操作部41を介して指示された要求を通知するためのHTTPリクエストとして、図13(b)に示すHTTPデータ90と同様の構造のHTTPデータを生成する。ここで、セッションIDは、HTTPヘッダー91に相当する箇所に格納される。
図12に示すように、接続端末40のクライアント45cは、S231において生成したHTTPリクエストをセッション中継システム60にWebSocket接続によって送信する(S232)。
セッション中継システム60のWeb Agentのうち、S232において送信されてきたHTTPリクエストに含まれるセッションIDに対応付けられたWeb Agent62は、S232においてHTTPリクエストが送信されてくると、このHTTPリクエストをCloud Hub61に渡す(S233)。したがって、Cloud Hub61は、このHTTPリクエストに含まれるセッションIDに対応するWebSocket接続によって、このHTTPリクエストを画像形成装置20に送信する(S234)。
画像形成装置20のCloud Hub Agent28bは、S234においてHTTPリクエストが送信されてくると、このHTTPリクエストに含まれるアプリケーションIDに対応するサーバーアプリケーション28aを識別する(S235)。
次いで、Cloud Hub Agent28bは、S234において送信されてきたHTTPリクエストからインターネット上の中継のためのHTTPヘッダーを取り外したHTTPリクエストを生成する(S236)。ここで、S236において生成されるHTTPリクエストは、図13(a)に示すHTTPデータ80と同様の構造のHTTPデータである。
次いで、Cloud Hub Agent28bは、S235において識別したサーバーアプリケーション28aに、S236において生成したHTTPリクエストを渡す(S237)。
サーバーアプリケーション28aは、S237においてHTTPリクエストが渡されると、このHTTPリクエストに応じたHTTPレスポンスを生成する(S238)。ここで、S238において生成されるHTTPレスポンスは、図13(a)に示すHTTPデータ80と同様の構造のHTTPデータである。
次いで、サーバーアプリケーション28aは、S238において生成したHTTPレスポンスを、Cloud Hub Agent28bに渡す(S239)。
Cloud Hub Agent28bは、S239においてHTTPレスポンスが渡されると、S239において渡されたHTTPレスポンスに、インターネット上の中継のためのHTTPヘッダーを取り付けたHTTPレスポンスを生成する(S240)。ここで、S240において生成されるHTTPレスポンスは、図13(b)に示すHTTPデータ90と同様の構造のHTTPデータである。セッションIDは、HTTPヘッダー91に相当する箇所に格納される。
Cloud Hub Agent28bは、S240において生成したHTTPレスポンスをセッション中継システム60にWebSocket接続によって送信する(S241)。
セッション中継システム60のCloud Hubのうち、S241において送信されてきたHTTPレスポンスに含まれるセッションIDに対応付けられたCloud Hub61は、S241においてHTTPレスポンスが送信されてくると、このHTTPレスポンスをWeb Agent62に渡す(S242)。したがって、Web Agent62は、このHTTPレスポンスに含まれるセッションIDに対応するWebSocket接続によって、このHTTPレスポンスを接続端末40に送信する(S243)。
したがって、接続端末40のクライアント45cは、S243において送信されてきたHTTPレスポンスを受信することができる。
次に、リモートセッションを終了する場合のリモート通信システム10の動作について説明する。
図14は、リモートセッションを終了する場合のリモート通信システム10の動作のシーケンス図である。図15は、図14に示すデバイス側セッション終了のシーケンス図である。
接続端末40の利用者は、特定の画像形成装置(以下、図14および図15に示す動作の説明において、画像形成装置20として説明する。)の特定のサーバーアプリケーション(以下、図14および図15に示す動作の説明において、サーバーアプリケーション28aとして説明する。)とのリモートセッションの終了を操作部41を介して指示することができる。接続端末40のリモートセッション制御手段45dは、リモートセッションの終了の指示を受け付けると、図14および図15に示すように、操作部41を介して指示されたリモートセッションのトークンおよびセッションIDをクライアント45cに通知することによって、リモートセッションの終了をクライアント45cに要求する(S261)。したがって、クライアント45cは、S261において要求されたリモートセッションの終了をセッション中継システム60にWebSocket接続によって要求する(S262)。
セッション中継システム60のWeb Agentのうち、S262における要求に含まれるセッションIDに対応付けられたWeb Agent62は、S262においてリモートセッションの終了が要求されると、この要求をCloud Hub61に渡す(S263)。したがって、Cloud Hub61は、この要求に含まれるトークンによって識別されるリモートセッションの終了をAPIによってリモートメンテナンスシステム50に要求する(S264)。
リモートメンテナンスシステム50のセッション管理手段55cは、S264の要求を受けると、S264の要求の対象のリモートセッションの対象の画像形成装置20に、このリモートセッションの終了をXMPPによって要求する(S265)。
次いで、セッション管理手段55cは、リモートセッションの終了の要求を受け付けた旨をセッション中継システム60にAPIによって通知する(S266)。
セッション中継システム60のCloud Hub61は、S266においてリモートセッションの終了の要求の受け付けが通知されると、接続端末40とのセッションを終了したことを示すログをセッション管理データベース64に記憶し(S267)、S267において記憶したログをトークンとともにリモートメンテナンスシステム50にAPIによって通知する(S268)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S268において通知されたログを、S268において通知されたトークンによって識別されるリモートセッションのログとして管理し(S269)、このログを管理した旨をセッション中継システム60にAPIによって返信する(S270)。
セッション中継システム60のCloud Hub61は、S270における返信を受けると、接続端末40と、セッション中継システム60とのWebSocket接続の終了をWeb Agent62に通知する(S271)。したがって、Web Agent62は、接続端末40と、セッション中継システム60とのWebSocket接続の終了を接続端末40に通知する(S272)。
接続端末40のクライアント45cは、S272の通知を受けると、接続端末40と、セッション中継システム60とのWebSocket接続の終了をリモートセッション制御手段45dに通知して(S273)、自身の動作を終了する。
したがって、リモートセッション制御手段45dは、例えば、接続端末40と、セッション中継システム60とのWebSocket接続が終了した旨を表示部42に表示することができる。
画像形成装置20のサーバーアプリケーションのうち、S265において受けた要求の対象のリモートセッションの対象のサーバーアプリケーション28aは、S265の要求を受けると、このリモートセッションのトークンおよびセッションIDをCloud Hub Agent28bに通知することによって、リモートセッションの終了をCloud Hub Agent28bに要求する(S291)。したがって、Cloud Hub Agent28bは、S291において要求されたリモートセッションの終了をセッション中継システム60にWebSocket接続によって要求する(S292)。
セッション中継システム60のCloud Hub61は、S292の要求を受けると、この要求に含まれるトークンによって識別されるリモートセッションの終了をAPIによってリモートメンテナンスシステム50に要求する(S293)。
リモートメンテナンスシステム50のセッション管理手段55cは、S293の要求を受けると、リモートセッションの終了の要求を受け付けた旨をセッション中継システム60にAPIによって通知する(S294)。
セッション中継システム60のCloud Hub61は、S294においてリモートセッションの終了の要求の受け付けが通知されると、画像形成装置20とのセッションを終了したことを示すログをセッション管理データベース64に記憶し(S295)、S295において記憶したログをトークンとともにリモートメンテナンスシステム50にAPIによって通知する(S296)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S296において通知されたログを、S296において通知されたトークンによって識別されるリモートセッションのログとして管理し(S297)、このログを管理した旨をセッション中継システム60にAPIによって返信する(S298)。
セッション中継システム60のCloud Hub61は、S298における返信を受けると、画像形成装置20と、セッション中継システム60とのWebSocket接続の終了を画像形成装置20に通知する(S299)。
画像形成装置20のCloud Hub Agent28bは、S299の通知を受けると、自身の動作を終了する。
なお、リモートメンテナンスシステム50のセッション管理手段55cは、画像形成装置20およびセッション中継システム60の間のセッションの終了を示すログがセッション中継システム60から通知されてきたことと、接続端末40およびセッション中継システム60の間のセッションの終了を示すログがセッション中継システム60から通知されてきたこととを両方確認した場合に、セッション中継システム60を介した画像形成装置20および接続端末40のリモートセッションが終了したと判断する。セッション管理手段55cは、セッション中継システム60を介した画像形成装置20および接続端末40のリモートセッションが終了していないと判断している場合、セッション中継システム60を介した画像形成装置20および接続端末40の新たなリモートセッションの確立を許可しない。
次に、リモートセッションの数を制御する場合のリモート通信システム10の動作について説明する。
図16は、リモートセッションによる画像形成装置単位の通信量をリモートメンテナンスシステム50に通知する場合のセッション中継システム60の動作のフローチャートである。
図16に示すように、セッション中継システム60のMaster63は、中継しているリモートセッションにおいて画像形成装置および接続端末の間でやり取りされる通信量を、特定の計測時間の間、画像形成装置単位で計測する(S311)。ここで、特定の計測時間は、例えば5分間である。
次いで、Master63は、現在の時間が特定の通知間隔で定められる時間に到達したか否かを判断する(S312)。ここで、特定の通知間隔は、特定の計測時間の倍数であり、例えば10分間である。
Master63は、現在の時間が特定の通知間隔で定められる時間に到達したとS312において判断すると、前回の通知から特定の通知間隔の間にS311において計測された、画像形成装置単位の通信量を、リモートメンテナンスシステム50に通知する(S313)。
Master63は、現在の時間が特定の通知間隔で定められる時間に到達していないとS312において判断するか、S313の処理を実行すると、S311の処理を実行する。
図17は、リモートセッションにおける通信量がセッション中継システム60から通知された場合のリモートメンテナンスシステム50の動作のフローチャートである。
図17に示すように、リモートメンテナンスシステム50のセッション管理手段55cは、リモートセッションにおける通信量がS313においてセッション中継システム60から通知されると、S313において通知された通信量を、デバイスデータベース54bに示される管理単位毎に積算する(S331)。
次いで、セッション管理手段55cは、今回の図17に示す動作において、未だ対象にしていない管理単位のうち1つを対象にする(S332)。
次いで、セッション管理手段55cは、S331において積算した、対象の管理単位の通信量が、この管理単位に対して通信量上限値データベース54cにおいて設定されている通信量上限値を超えたか否かを判断する(S333)。
セッション管理手段55cは、通信量が通信量上限値を超えたとS333において判断すると、対象の管理単位に含まれる特定の画像形成装置に対して、リモートセッションの切断のためのセッション切断通知をXMPPによって送信する(S334)。ここで、セッション切断通知の送信対象の画像形成装置は、特定の基準で決定される。例えば、セッション切断通知の送信対象の画像形成装置としては、対象の管理単位に含まれる画像形成装置のうち、最新のリモートセッションの対象の画像形成装置でも良いし、最も長期間継続しているリモートセッションの対象の画像形成装置でも良いし、最も印刷量が少ない画像形成装置でも良いし、利用される頻度が最も少ない画像形成装置でも良いし、最も古い機種の画像形成装置でも良いし、S313において通知された通信量が最も少ない画像形成装置でも良い。
セッション管理手段55cは、通信量が通信量上限値以下であるとS333において判断するか、S334の処理を実行すると、今回の図17に示す動作において全ての管理単位を対象にしたか否かを判断する(S335)。
セッション管理手段55cは、未だ対象にしていない管理単位が存在するとS335において判断すると、S332の処理を実行する。
セッション管理手段55cは、未だ対象にしていない管理単位が存在しないとS335において判断すると、図17に示す動作を終了する。
図18は、リモートメンテナンスシステム50から画像形成装置20にセッション切断通知が通知された場合のリモート通信システム10の動作のシーケンス図である。図19は、図18に示す接続端末側セッション終了のシーケンス図である。図20は、図18に示すXMPP経由セッション終了のシーケンス図である。
図18〜図20に示すように、画像形成装置20のサーバーアプリケーション28aは、S334において送信されてきたセッション切断通知を受信すると、リモートセッションの切断を承認するか否かの指示を受け付けるセッション切断承認用画面470(図21参照。)を表示部22に表示する(S351)。
図21は、セッション切断承認用画面470の一例を示す図である。
図21に示すセッション切断承認用画面470は、リモートセッションの切断を承認するか否かを尋ねるメッセージ471と、リモートセッションの切断の承認の指示を受け付けるためのYESボタン472と、リモートセッションの切断の不承認の指示を受け付けるためのNOボタン473とを備えている。画像形成装置20の利用者は、操作部21を介してYESボタン472およびNOボタン473のいずれかを押すことができる。
図18〜図20に示すように、画像形成装置20のサーバーアプリケーション28aは、操作部21を介してYESボタン472が押されると、対象のリモートセッションのトークンおよびセッションIDをCloud Hub Agent28bに通知することによって、リモートセッションの終了をCloud Hub Agent28bに要求する(S352)。したがって、Cloud Hub Agent28bは、S352において要求されたリモートセッションの終了をセッション中継システム60にWebSocket接続によって要求する(S353)。
セッション中継システム60のCloud Hub61は、S353の要求を受けると、S353において要求されたリモートセッションの終了をWeb Agent62に要求する(S354)。
また、セッション中継システム60のCloud Hub61は、S353の要求を受けると、この要求に含まれるトークンによって識別されるリモートセッションの終了をAPIによってリモートメンテナンスシステム50に要求する(S355)。
リモートメンテナンスシステム50のセッション管理手段55cは、S355の要求を受けると、リモートセッションの終了の要求を受け付けた旨をセッション中継システム60にAPIによって通知する(S356)。
セッション中継システム60のCloud Hub61は、S356においてリモートセッションの終了の要求の受け付けが通知されると、画像形成装置20とのセッションを終了したことを示すログをセッション管理データベース64に記憶し(S357)、S357において記憶したログをトークンとともにリモートメンテナンスシステム50にAPIによって通知する(S358)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S358において通知されたログを、S358において通知されたトークンによって識別されるリモートセッションのログとして管理し(S359)、このログを管理した旨をセッション中継システム60にAPIによって返信する(S360)。
セッション中継システム60のCloud Hub61は、S360における返信を受けると、画像形成装置20と、セッション中継システム60とのWebSocket接続の終了を画像形成装置20に通知する(S361)。
画像形成装置20のCloud Hub Agent28bは、S361の通知を受けると、自身の動作を終了する。
セッション中継システム60のWeb Agent62は、S354の要求を受けると、接続端末40と、セッション中継システム60とのWebSocket接続の終了を接続端末40に通知する(S381)。
接続端末40のクライアント45cは、S381の通知を受けると、自身の動作を終了する。
セッション中継システム60のWeb Agent62は、S381の処理の後、接続端末40とのセッションを終了したことをCloud Hub61に通知する(S382)。
セッション中継システム60のCloud Hub61は、接続端末40とのセッションを終了したことがS382において通知されると、接続端末40とのセッションを終了したことを示すログをセッション管理データベース64に記憶し(S383)、S383において記憶したログをトークンとともにリモートメンテナンスシステム50にAPIによって通知する(S384)。したがって、リモートメンテナンスシステム50のセッション管理手段55cは、S384において通知されたログを、S384において通知されたトークンによって識別されるリモートセッションのログとして管理し(S385)、このログを管理した旨をセッション中継システム60にAPIによって返信する(S386)。
セッション中継システム60のCloud Hub61は、S386における返信を受けると、リモートメンテナンスシステム50から返信を受けた旨をWeb Agent62に通知する(S387)。
画像形成装置20のサーバーアプリケーション28aは、操作部21を介してYESボタン472が押されると、リモートセッションの切断の承認の指示を受け付けた旨をXMPPによってリモートメンテナンスシステム50に通知する(S401)。
リモートメンテナンスシステム50のセッション管理手段55cは、S401の通知を受けた場合に、S384において通知されるログを未だ受信していないとき、対象のリモートセッションのトークンおよびセッションIDをセッション中継システム60に通知することによって、リモートセッションの終了をセッション中継システム60に要求する(S402)。したがって、セッション中継システム60のCloud Hub61は、S402において要求されたリモートセッションの終了をWeb Agent62に要求する(S403)。
リモート通信システム10は、S403の処理の後、上述したS381〜S387の処理と同様の処理を実行する。
次いで、セッション中継システム60のWeb Agent62は、リモートセッションの終了をCloud Hub61に通知する(S404)。したがって、セッション中継システム60のCloud Hub61は、リモートセッションの終了をリモートメンテナンスシステム50に通知する(S405)。
リモートメンテナンスシステム50のセッション管理手段55cは、S405の通知を受けると、リモートセッションの終了をXMPPによって画像形成装置20に通知する(S406)。
なお、リモートメンテナンスシステム50のセッション管理手段55cは、S401の通知を受けた場合に、S384において通知されるログを既に受信しているとき、上述したS402〜S406の処理を実行しない。
セッション管理手段55cがS401の通知を受けた場合にS384において通知されるログを未だ受信していない場合にS402〜S406の処理が実行される理由は、画像形成装置20のサーバーアプリケーション28aがS352においてリモートセッションの終了をCloud Hub Agent28bに要求したことによるセッション中継システム60のCloud Hub61からのログの通知(S384)と、画像形成装置20のサーバーアプリケーション28aからのXMPP経由でのリモートセッションの切断の承認の指示の受け付けの通知(S401)とが非同期で実行されるために、何れが先に実行されるか定まらないからである。
なお、リモートメンテナンスシステム50のセッション管理手段55cは、画像形成装置20およびセッション中継システム60の間のセッションの終了を示すログがセッション中継システム60から通知されてきたことと、接続端末40およびセッション中継システム60の間のセッションの終了を示すログがセッション中継システム60から通知されてきたこととを両方確認した場合に、セッション中継システム60を介した画像形成装置20および接続端末40のリモートセッションが終了したと判断する。セッション管理手段55cは、セッション中継システム60を介した画像形成装置20および接続端末40のリモートセッションが終了していないと判断している場合、セッション中継システム60を介した画像形成装置20および接続端末40の新たなリモートセッションの確立を許可しない。
図22は、リモートメンテナンスシステム50から接続端末40にリモートセッションの切断完了が通知される場合のリモート通信システム10の動作のシーケンス図である。
図22に示すように、リモートメンテナンスシステム50のセッション管理手段55cは、セッション中継システム60のCloud Hub61からS384において通知されたログを受けた場合、通信量上限値を超えたことによってリモートセッションを終了させた旨を示す通信量原因セッション終了情報を接続端末40に通知する(S421)。
接続端末40のリモートセッション制御手段45dは、S421の通知を受けると、通信量原因セッション終了情報を表示部42に表示する(S422)。したがって、接続端末40の利用者は、リモートセッションにおける通信量に基づいてリモートセッションが終了されたことを認識することができる。
なお、リモートメンテナンスシステム50のセッション管理手段55cがセッション中継システム60のCloud Hub61からS384において通知されたログを受けた時点で、接続端末40の利用者がリモートメンテナンスシステム50からログアウトしている場合がある。その場合、図22に示す動作は、接続端末40の利用者がリモートメンテナンスシステム50に再度ログインした後、実行される。
リモートメンテナンスシステム50のセッション管理手段55cは、セッション中継システム60のCloud Hub61からS384において通知されたログを受けた時点で、接続端末40の利用者がリモートメンテナンスシステム50からログアウトしている場合、リモートセッションにおける通信量に基づいて終了させたリモートセッションの対象の画像形成装置が所属する管理単位の管理者に対して、通信量原因セッション終了情報を通知しても良い。リモートメンテナンスシステム50のセッション管理手段55cは、セッション中継システム60のCloud Hub61からS384において通知されたログを受けた時点で、接続端末40の利用者がリモートメンテナンスシステム50からログアウトしているか否かにかかわらず、リモートセッションにおける通信量に基づいて終了させたリモートセッションの対象の画像形成装置が所属する管理単位の管理者に対して、通信量原因セッション終了情報を通知しても良い。
リモートメンテナンスシステム50による通信量原因セッション終了情報の通知は、電子メールなど、様々な通知方法によって実行されても良い。
以上に説明したように、リモート通信制御システム15は、画像形成装置20と、画像形成装置20が所属するネットワークの外部に存在する接続端末40とが直接接続されるのではなく、セッション中継システム60によって中継されるリモートセッションを確立するので、画像形成装置20が所属するネットワークの外部に存在する接続端末40から画像形成装置20を制御する場合のセキュリティーを向上することができる。
リモート通信システム10において、画像形成装置20は、セッション中継システム60との間にセッションIDを使用するWebSocket接続を確立し(S171〜S180)、接続端末40は、セッション中継システム60との間にセッションIDを使用するWebSocket接続を確立し(S201〜S214)、セッション中継システム60は、接続端末40との間に確立された接続と、画像形成装置20との間に確立された接続とをセッションIDによって関連付けることによってリモートセッションを中継する(S231〜S243)。この構成により、リモート通信システム10は、画像形成装置20が所属するネットワークの外部に存在する接続端末のうち、リモートメンテナンスシステム50からセッションIDが通知された接続端末40のみが、セッション中継システム60によって中継される画像形成装置20とのリモートセッションを確立するので、画像形成装置20が所属するネットワークの外部に存在する接続端末40から画像形成装置20を制御する場合のセキュリティーを向上することができる。
リモート通信システム10において、画像形成装置20およびセッション中継システム60の間に確立されるWebSocket接続によって使用されるセッションIDと、接続端末40およびセッション中継システム60の間に確立されるWebSocket接続によって使用されるセッションIDとは、同一のセッションIDである。この構成により、リモート通信システム10は、互いに異なる2つのセッションIDをセッション中継システム60において関連付ける必要がないので、セッション中継システム60におけるセッションIDの処理を簡略化することができる。なお、画像形成装置20およびセッション中継システム60の間に確立されるWebSocket接続によって使用されるセッションIDと、接続端末40およびセッション中継システム60の間に確立されるWebSocket接続によって使用されるセッションIDとは、セッション中継システム60において互いに関連付けられれば、互いに異なっていても良い。
リモート通信システム10において、セッション中継システム60および接続端末40の間に確立されるWebSocket接続と、セッション中継システム60および画像形成装置20の間に確立されるWebSocket接続との少なくとも1つは、SSL(Secure Sockets Layer)などの暗号化通信の接続であっても良い。この構成により、リモート通信システム10は、セッション中継システム60によって中継される、接続端末40および画像形成装置20の間のリモートセッションの経路の少なくとも一部が暗号化されるので、画像形成装置20に対してクラッキングなどの不正利用が発生することを抑えることができる。
リモート通信システム10において、リモートメンテナンスシステム50は、接続端末40の利用者がリモートメンテナンスシステム50にログインしている場合に、接続端末40からリモートセッションの開始の要求(S141)を受け付け、接続端末40からリモートセッションの開始の要求を受け付けなかった場合、画像形成装置20へのセッションIDの通知(S149)と、接続端末40へのセッションIDの通知(S202)とを実行しない。この構成により、リモート通信システム10は、接続端末40の利用者がリモートメンテナンスシステム50にログインすることができる場合にのみ、セッション中継システム60によって中継される、接続端末40および画像形成装置20の間のリモートセッションが確立されるので、このリモートセッションのセキュリティーを向上することができる。
リモート通信システム10において、リモートメンテナンスシステム50は、画像形成装置20の利用者からリモートセッションの開始が承認されなかった場合、画像形成装置20へのセッションIDの通知(S149)と、接続端末40へのセッションIDの通知(S202)とを実行しない。この構成により、リモート通信システム10は、画像形成装置20の利用者からリモートセッションの開始が承認された場合にのみ、セッション中継システム60によって中継される、接続端末40および画像形成装置20の間のリモートセッションが確立されるので、このリモートセッションのセキュリティーを向上することができる。なお、リモートメンテナンスシステム50は、画像形成装置20の利用者からリモートセッションの開始が承認されなかった場合、画像形成装置20へのセッションIDの通知と、接続端末40へのセッションIDの通知とのいずれか1つを実行しない構成でも良い。
リモート通信システム10において、セッション中継システム60は、リモートメンテナンスシステム50からセッションIDが要求される(S145)度にセッションIDを変更する(S146)。この構成により、リモート通信システム10は、セッション中継システム60によって中継される、接続端末40および画像形成装置20の間のリモートセッションが確立する度にセッションIDが変更されるので、このリモートセッションのセキュリティーを向上することができる。
リモート通信システム10は、画像形成装置20が所属するネットワークの外部に存在する接続端末40に、画像形成装置20に表示される画面と同一の画面を表示することによって、この接続端末40から画像形成装置20を操作するので、画像形成装置20が所属するネットワークの外部に存在する接続端末40から画像形成装置20を低コストで簡便に操作することができる。例えば、接続端末40は、画像形成装置20の設定画面を表示部42に表示することによって、画像形成装置20のアドレス帳の設定など、画像形成装置20に対して各種の設定を、接続端末40の利用者に実行させることができる。また、接続端末40は、例えば、画像形成装置20の各種の情報の確認画面を表示部42に表示することによって、画像形成装置20に発生したエラーの確認、画像形成装置20で印刷した枚数の確認、画像形成装置20におけるトナーの残量など、画像形成装置20の各種の情報の確認を、接続端末40の利用者に実行させることができる。また、接続端末40は、例えば、画像形成装置20へのソフトウェアのインストール画面を表示部42に表示することによって、画像形成装置20へのファームウェアのインストール、画像形成装置20へのアプリケーションのインストールなど、画像形成装置20への各種のソフトウェアのインストールを、接続端末40の利用者に実行させることができる。
なお、接続端末40は、リモートセッションによって画像形成装置20内の種々のアプリケーションと通信することができるので、画像形成装置20に対するメンテナンス以外の様々な機能を実現することができる。
リモート通信システム10は、本実施の形態において、セッション管理システムとしてのリモートメンテナンスシステム50経由で図7に示すようにリモートメンテナンスを実行することができる。しかしながら、リモート通信システム10は、セッション管理システム経由でリモートメンテナンスを実行することができなくても良い。
リモート通信制御システム15は、リモートセッションにおける通信量に基づいてリモートセッションを終了させる(S333〜S334)ので、セッション中継システム60によって中継されるリモートセッションによる負荷を、画像形成装置が所属するLANにおいて適切に抑えることができる。
特に、リモート通信制御システム15は、画像形成装置の管理単位毎の通信量に基づいてリモートセッションを終了させる(S332〜S334)ので、セッション中継システム60によって中継されるリモートセッションによる負荷を、画像形成装置が所属するLANにおいて更に適切に抑えることができる。
画像形成装置と、画像形成装置が所属するLANの外部に存在する接続端末との間でインターネットを介して通信が行われる場合、画像形成装置が所属するLANからインターネットに到達するための回線に通信容量の面で十分な余力があることが必要である。しかしながら、リモート通信制御システム15に含まれる画像形成装置の中には、そのような十分な余力がある回線を経由してリモートセッションが確立される環境に設置されていない画像形成装置も存在し得る。また、画像形成装置が所属するLANからインターネットに到達するための回線は、リモートセッションだけではなく、例えば、電子メール、ウェブサイトの閲覧など、様々なインターネットサービスに利用されるので、通信容量の面でリモートセッションによる通信に対して十分な余力がある回線を経由してリモートセッションが確立されたとしても、リモートセッションを含むインターネットサービス全体による通信に対して通信容量が不足する可能性もある。リモート通信制御システム15は、セッション中継システム60によって中継されるリモートセッションによる負荷を、画像形成装置が所属するLANにおいて適切に抑えることができるので、画像形成装置の設置先毎に、画像形成装置の利用者によるインターネット回線を使用した業務を妨げない範囲で、セッション中継システム60によって中継されるリモートセッションによる通信を実現することができる。
リモート通信制御システム15は、通信量に基づいてリモートセッションを終了させる場合に、画像形成装置の利用者からリモートセッションの終了が承認されたときのみ(S352)、リモートセッションを終了させるので、画像形成装置の利用者の意図に反してリモートセッションが終了することを防止することができる。
リモート通信制御システム15は、通信量に基づいてリモートセッションを終了させた場合に、このリモートセッションの対象の接続端末の利用者にリモートセッションの終了を通知する(S421〜S422)ので、接続端末の利用者にリモートセッションの終了を認識させることができる。
リモート通信制御システム15は、本実施の形態において、リモートセッションにおける通信量に基づいてリモートセッションを終了させる手段がリモートメンテナンスシステム50によって実現されている。しかしながら、リモート通信制御システム15は、リモートセッションにおける通信量に基づいてリモートセッションを終了させる手段が、リモートメンテナンスシステム50以外の構成によって実現されても良い。
リモート通信制御システム15は、画像形成装置の利用者の単位でリモートセッションによる通信量を制限することができるので、リモートセッションによる通信量に基づいて課金を行う環境、または、リモートセッションによる通信量と、リモートセッションの使用時間などの他の要素とに基づいて課金を行う環境で運用されることに特に適している。