図1は、ネットワークシステム4の全体的な構成の例を示す図である。図2は、画像形成装置1のハードウェア構成の例を示す図である。図3は、画像形成装置1および端末装置2それぞれの機能的構成の例を示す図である。図4は、端末装置2のハードウェア構成の例を示す図である。
図1に示すように、ネットワークシステム4は、ローカルエリアネットワーク(LAN)4A、4B、および通信回線4Nなどによって構成される。
ローカルエリアネットワーク4Aは、画像形成装置1、複数台の端末装置2、LAN回線31、およびルータ32などによって構成される。
ローカルエリアネットワーク4Bも、ローカルエリアネットワーク4Aと同様に構成される。
LAN回線31は、ハブ、ツイストペアケーブル、および無線基地局などによって構成される。画像形成装置1および各端末装置2は、LAN回線31を介して通信を行うことができる。
ルータ32は、通信回線4Nを介してローカルエリアネットワーク4Bと接続する。これにより、ローカルエリアネットワーク4Aの各装置が、ローカルエリアネットワーク4Bの各装置と通信を行うことができる。
画像形成装置1は、コピー、ネットワークプリント、ファックス、およびスキャンなどの機能を集約した装置である。一般に、「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。
画像形成装置1は、図2に示すように、CPU(Central Processing Unit)10a、D−RAM(Dynamic Random Access Memory)10b、S−RAM(Static Random Access Memory)10c、NV−RAM(Nonvolatile Random Access Memory)10d、ROM(Read Only Memory)10e、ハードディスク10f、時計回路10g、タッチパネルディスプレイ10h、操作キーパネル10i、NIC(Network Interface Card)10j、無線LANインタフェース10k、近距離無線インタフェース10m、モデム10n、スキャンユニット10p、およびプリントユニット10qなどによって構成される。
時計回路10gは、時間を計測しCPU10aへその信号を送るIC(Integrated Circuit)である。
タッチパネルディスプレイ10hは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10hは、タッチされた位置を示す信号をCPU10aへ送る。
操作キーパネル10iは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、およびストップキーなどのほか、プリントキーおよびログアウトキーなどのファンクションキーによって構成される。
ユーザは、タッチパネルディスプレイ10hまたは操作キーパネル10iによって画像形成装置1を操作する。
また、ユーザは、タッチパネルディスプレイ10hの代わりに端末装置2を用いて遠隔的に画像形成装置1を操作することができる。これについては、後述する。
NIC10jは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルによって通信を行う。
無線LANインタフェース10kは、無線LANの規格すなわちIEEE(Institute of Electrical and Electronics Engineers)802.11の規格に基づいて、無線基地局を介してTCP/IPなどのプロトコルによって端末装置2などと通信を行う。
近距離無線インタフェース10mは、Bluetooth(登録商標)またはIrDA(Infrared Data Association)などの近距離無線通信の規格に基づいて端末装置2などと通信を行う。
モデム10nは、デジタル信号である画像データをアナログ信号に変換してファックス端末へ送信し、または、ファックス端末から受信したアナログ信号を画像データに変換する。
スキャンユニット10pは、プラテンガラスの上にセットされた用紙に記されている画像を読み取って画像データを生成する。
プリントユニット10qは、スキャンユニット10pによって読み取られた画像のほか、他の装置から受信した画像データに示される画像を用紙に印刷する。
NV−RAM10d、ROM10e、またはハードディスク10fには、上述のコピーなどの機能を実現するためのプログラムおよびデータが記憶されている。さらに、リモートアクセスサービスプログラム1Pが記憶されている。
リモートアクセスサービスプログラム1Pによると、図3に示すリモートアクセス制御部101、画面データ生成部102、画面データ送信部103、タッチイベント処理部104、内部処理実行部105、および接続要求部106などの機能が画像形成装置1に実現される。各部の処理については、後述する。
これらのプログラムおよびモジュールは、適宜、D−RAM10bにロードされ、CPU10aによって実行される。
S−RAM10cは、CPU10aがプログラムを実行する際のキャッシュ用のメモリとして用いられる。
端末装置2は、画像形成装置1の上述のネットワークプリントおよびスキャンなどの機能を使用するためのクライアントである。また、タッチパネルディスプレイ10hの代わりのユーザインタフェースとしても使用される。つまり、画像形成装置1のリモートパネルとして使用される。
端末装置2として、パーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。以下、端末装置2としてタブレットコンピュータが用いられる場合を例に説明する。また、各端末装置2を「端末装置2A」、「端末装置2B」、「端末装置2C」、…と区別して記載することがある。
端末装置2は、図4に示すように、CPU20a、RAM20b、ROM20c、フラッシュメモリ20d、タッチパネルディスプレイ20e、操作ボタン群20f、無線LANインタフェース20g、および近距離無線インタフェース20hなどによって構成される。
タッチパネルディスプレイ20eには、画像形成装置1のドライバの画面およびアプリケーションの画面などが表示される。また、タッチパネルディスプレイ20eは、タッチされた位置を示す信号をCPU20aへ送る。
操作ボタン群20fは、いわゆるホームボタンおよび音量調整ボタンなどによって構成される。
ユーザは、タッチパネルディスプレイ20eまたは操作ボタン群20fによって端末装置2を操作する。また、端末装置2が画像形成装置1へリモートアクセスしているときは、画像形成装置1のタッチパネルディスプレイ10hの代わりにタッチパネルディスプレイ20eによって画像形成装置1を操作することができる。
無線LANインタフェース20gは、無線LANの規格に基づいて無線基地局を介してTCP/IPなどのプロトコルによって画像形成装置1などと通信を行う。
近距離無線インタフェース20hは、BluetoothまたはIrDAなどの近距離無線通信の規格に基づいて画像形成装置1などと通信を行う。
ROM20cまたはフラッシュメモリ20dには、オペレーティングシステム、画像形成装置1のドライバ、および種々のアプリケーションのほか、リモートアクセスプログラム20Pが記憶されている。リモートアクセスプログラム20Pは、画像形成装置1へリモートアクセスし、画像形成装置1をユーザが遠隔的に操作するためのプログラムである。
リモートアクセスプログラム20Pによると、図3に示すリモートアクセス制御部201、画面データ展開部202、画面表示制御部203、ジェスチャ判定部204、座標変換部205、ジェスチャデータ送信部206、および送信是非判別部207などの機能が端末装置2に実現される。
これらのプログラムは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。
ところで、画像形成装置1は、2台の端末装置2を同時期にリモートアクセスさせることができる。1台のみをリモートアクセスさせる場合は、近距離無線通信およびLAN回線31のどちらを用いても構わない。しかし、Bluetoothなど一部の近距離無線通信は、1対1でしか通信を行うことができない。そこで、本実施形態では、2台の端末装置2を同時期に画像形成装置1へリモートアクセスさせるために、LAN回線31が用いられる。
次に、端末装置2から画像形成装置1へのリモートアクセスの処理および端末装置2による画像形成装置1のリモートコントロールの処理を、図3などを参照しながら説明する。
〔各部の主な機能〕
まずは、図3に示す各部の主な機能を説明する。主な機能の仕組みは、基本的に公知の技術による。
画像形成装置1のリモートアクセス制御部101および端末装置2のリモートアクセス制御部201は、画像形成装置1と端末装置2との間のコネクション(接続)を確立し、画像形成装置1へユーザをログインさせるなど、端末装置2を画像形成装置1へリモートアクセスさせるための処理を行う。
画像形成装置1の画面データ生成部102は、処理の結果または画像形成装置1へ入力されたデータなどに応じてタッチパネルディスプレイ10hへ表示させる画面のデータ(以下、「画面データ50」と記載する。)を生成する。画面は、予め用意された複数のパーツのうちの複数を組み合わせることによって生成することができる。
画面データ送信部103は、画面データ生成部102によって生成された画面データ50をD−RAM10bから読み出して圧縮し、端末装置2へ送信する。以下、圧縮された画面データ50を「圧縮データ51」と記載する。
端末装置2の画面データ展開部202は、画像形成装置1から圧縮データ51を受信すると、圧縮データ51を展開し画面データ50に復号する。
画面表示制御部203は、画面データ50に基づいて画面をタッチパネルディスプレイ20eに表示させる。
ジェスチャ判定部204は、ユーザがタッチパネルディスプレイ20eに対して行ったジェスチャおよびそれに伴うパラメータの値を次のように判定する。
タッチパネルディスプレイ20eは、所定の時間(例えば、0.1秒)ごとにタッチパネルにおけるユーザの指が触れた位置(以下、「タッチ位置」と記載する。)の検知を試みる。ジェスチャ判定部204は、タッチパネルディスプレイ20eによって連続的に検知されるタッチ位置およびその変化ならびに時間に基づいて、ユーザが行ったジェスチャおよびそれに伴うパラメータの値を判定する。
例えば、あるタッチ位置P1が検知された後、所定の時間(例えば、1秒)以内だけ、所定の範囲(例えば、そのタッチ位置P1から数ドット以内の距離)でタッチ位置が検知され続けた場合は、ジェスチャ判定部204は、タップがタッチ位置P1で行われたと判定する。フリック、ドラッグ、ピンチイン、およびピンチアウトなどの場合は、パラメータの値として、ジェスチャの始めのタッチ位置P1、終わりのタッチ位置P2、およびジェスチャが行われた時間などを、パラメータの値として判定する。
座標変換部205は、ジェスチャ判定部204によって判定されたタッチ位置の座標を、画像形成装置1のタッチパネルディスプレイ10hにおける対応する座標に変換する。例えば、タッチパネルディスプレイ10hおよびタッチパネルディスプレイ20eそれぞれのタッチパネルの解像度が「X1×Y1」および「X2×Y2」であり、変換の対象の座標が(X3,Y3)である場合は、
(X,Y)=(X3・(X1/X2),Y3・(Y1/Y2)) …… (1)
によって、変換することができる。
ジェスチャデータ送信部206は、ジェスチャデータ52を画像形成装置1へ送信する。ジェスチャデータ52には、ジェスチャ判定部204によって判定されたジェスチャおよびパラメータの値が示される。ただし、座標は、座標変換部205によって変換されたものが示される。
画像形成装置1において、タッチイベント処理部104は、端末装置2からジェスチャデータ52を受信するごとに、ジェスチャデータ52に示されるジェスチャおよびパラメータの値に応じて次に実行すべき処理を決定する。次に実行すべき処理は、例えば、ジョブの実行、設定値の変更、または画面の遷移などである。
内部処理実行部105は、タッチイベント処理部104によって決定された処理のうち、画面の遷移以外の処理を実行する。
一方、画面の遷移の処理は、画面データ生成部102によって行われる。画面データ生成部102は、ジェスチャデータ52に応じて端末装置2に表示させる画面のデータを画面データ50として生成する。そして、画面データ送信部103は、画面データ50を圧縮することによって圧縮データ51を生成し、端末装置2へ送信する。
接続要求部106は、画像形成装置1へのリモートアクセスを行うように端末装置2へ要求する。
送信是非判別部207は、ジェスチャデータ52を画像形成装置1へ送信すべきか否かを判別する。
〔リモートアクセスの開始の際の処理〕
図5は、リモートアクセスの開始の際の処理の流れの例を示すシーケンス図である。図6は、D−RAM10bにおける画面データのための領域の割当の例を示す図である。図7は、エラー画面62の例を示す図である。
次に、端末装置2から画像形成装置1へリモートアクセスする際の処理を、ユーザが端末装置2Aを使用する場合を例に、図5を参照しながら説明する。
ユーザは、端末装置2Aにリモートアクセスプログラム20Pを起動させ、画像形成装置1へのリモートアクセスのコマンドを入力する。
すると、端末装置2Aの各部は、リモートアクセスプログラム20Pに基づいて、図5に示すステップ#711〜#715の処理を実行する。画像形成装置1は、リモートアクセスサービスプログラム1Pに基づいて、ステップ#701〜#705の処理を実行する。
リモートアクセス制御部201は、画像形成装置1へ接続の要求および画面の要求を行う(#711)。
画像形成装置1のリモートアクセス制御部101が端末装置2Aからの要求を受け付けると(#701)、画像形成装置1のリモートアクセス制御部101および端末装置2Aのリモートアクセス制御部201は、端末装置2を画像形成装置1へリモートアクセスさせるための処理を行う(#702、#712)。
端末装置2が画像形成装置1へリモートアクセスしたら、画面データ生成部102は、トップ画面61を表示するためのデータを画面データ50として生成する(#703)。トップ画面61は、ユーザが画像形成装置1へログインした直後に表示させる画面である。「ホーム画面」と呼ばれることもある。
ところで、一般に、D−RAMには、タッチパネルディスプレイ10hへの画面の表示のための領域として、1つの画面を描画するのに必要なサイズの領域が1つだけ確保されている。しかし、画像形成装置1のD−RAM10bには、図6に示すように、このような領域が2つ、確保されている。
一方の領域は、従来と同様に使用される領域である。もう一方は、図7のようなエラー画面62を、リモートアクセスを一旦終了した端末装置2に表示させるために使用される領域である。エラー画面62は、エラー(不具合)をユーザへ通知するための画面である。以下、2つの領域のうち、前者を「通常用領域181」と記載し、後者を「エラー用領域182」と記載する。
画面データ生成部102は、トップ画面61の画面データ50を、通常用領域181を用いて作成する。
画面データ送信部103は、画面データ50を圧縮することによって圧縮データ51を生成し(#704)、圧縮データ51を端末装置2Aへ送信する(#705)。
端末装置2Aにおいて、画面データ展開部202は、圧縮データ51を受信すると(#713)、圧縮データ51を展開する(#714)。これにより、画面データ50が復号される。
そして、画面表示制御部203は、画面データ50に基づいてトップ画面61をタッチパネルディスプレイ20eに表示させる(#715)。
〔リモートアクセス後の基本的な処理〕
図8は、リモートアクセス後の基本的な処理の流れの例を示すシーケンス図である。
ユーザは、端末装置2にトップ画面61が表示されたら、タッチパネルディスプレイ10hに対する操作と同様に、端末装置2のタッチパネルディスプレイ20eに対して操作を行う。以下、トップ画面61の表示後の処理を、ユーザが端末装置2Aを使用する場合を例に、図8を参照しながら説明する。
画像形成装置1は、リモートアクセスサービスプログラム1Pに基づいて、図8に示すステップ#721〜#727の処理を実行する。また、端末装置2は、リモートアクセスプログラム20Pに基づいて、ステップ#731〜#739の処理を実行する。
端末装置2Aにおいて、ジェスチャ判定部204は、タッチパネルディスプレイ20eによって連続的に検知されるタッチ位置およびその変化ならびに時間に基づいて、ユーザが行ったジェスチャおよびそれに伴うパラメータの値を判定する(#731、#732)。座標変換部205は、タッチ位置の座標を、上述の(1)式に基づいて画像形成装置1のタッチパネルディスプレイ10hにおける対応する座標に変換する(#733)。
そして、ジェスチャデータ送信部206は、ステップ#732、#733の結果に基づいてジェスチャデータ52を生成し、画像形成装置1へ送信する(#734)。
画像形成装置1において、タッチイベント処理部104は、ジェスチャデータ52を受信すると(#721)、ジェスチャデータ52に示されるジェスチャおよびそのパラメータの値に応じて次に実行すべき処理を決定する(#722)。
内部処理実行部105は、ステップ#722で決定した処理を適宜、実行する(#723)。ただし、画面の遷移に関する処理、つまり、ジェスチャデータ52に応じて端末装置2に表示させる画面のデータ(画面データ50)の生成は、画面データ生成部102が適宜、実行する(#724)。
画面データ送信部103は、画面データ50が生成された場合に、画面データ50を圧縮して圧縮データ51を生成し(#725)、端末装置2Aへ送信する(#726)。
なお、画面データ生成部102は、ジェスチャデータ52に応じて端末装置2に表示させる画面のデータを、通常用領域181を使用して生成する。
端末装置2Aにおいて、画面データ展開部202は、圧縮データ51を受信すると(#735)、展開して画面データ50に復号し(#736)、画面データ50に基づいて画面をタッチパネルディスプレイ20eに表示させる(#737)。
その後、ユーザがタッチパネルディスプレイ20eに対して操作を行うごとに、ステップ#734〜#737およびステップ#721〜#726の処理が適宜、実行される。
以上の仕組みによると、ユーザは、タッチパネルディスプレイ10hに対する操作と同様の操作をタッチパネルディスプレイ20eに対して行うことによって、原稿のコピーのジョブおよび原稿のファックスによる送信のジョブなど種々のジョブを画像形成装置1に実行させることができる。
そして、ユーザは、目的のジョブを画像形成装置1へ与え終わったら、適宜、リモートアクセスの終了のコマンドを端末装置2Aへ入力する。
リモートアクセス制御部201は、このコマンドを受け付けると(#738)、リモートアクセス制御部101とともに、コネクションの切断の処理を実行する(#727、#739)。
〔エラーの発生の際の基本的な処理〕
図9〜図10は、エラーの発生の際の基本的な処理の流れの例を示すシーケンス図である。
ところで、ユーザが端末装置2を使用して画像形成装置1へジョブのコマンドを与えた後、このジョブが完了するまでに端末装置2と画像形成装置1とのコネクションが切断されることがある。
このような場合において、このジョブの実行中に画像形成装置1またはLAN回線31などにエラーが発生し、このジョブが完了しないことがある。
すると、従来、エラーのメッセージは、タッチパネルディスプレイ10hに表示される。または、エラーが発生した時点で画像形成装置1へリモートアクセスしている他の端末装置2のタッチパネルディスプレイ20eに表示される。
しかし、本来、エラーのメッセージは、このジョブのコマンドの送信元である端末装置2に表示されるべきである。
そこで、画像形成装置1および端末装置2の各部は、次のように処理を実行する。以下、ユーザが端末装置2Aを使用してジョブJ0を画像形成装置1へ与え、コネクションの切断後、ジョブJ0の実行中にエラーが発生した場合を例に説明する。
画像形成装置1は、リモートアクセスサービスプログラム1Pに基づいて、図9〜図10に示すステップ#741〜#752の処理を実行する。また、端末装置2Aは、リモートアクセスプログラム20Pに基づいて、ステップ#761〜#763、#766〜#772の処理を実行する。
ユーザは、端末装置2Aを画像形成装置1へリモートアクセスさせ、タッチパネルディスプレイ20eを操作してジョブJ0を画像形成装置1へ与える。そして、コネクションを切断させる。この際の画像形成装置1および端末装置2Aの処理は、図5および図8で説明した通りである。図9には、主要な処理のみを示している(#741〜#744、#761〜#763)。
また、端末装置2Cが、画像形成装置1へリモートアクセスする(#745、#781)。そして、端末装置2Cのタッチパネルディスプレイ20eによって画像形成装置1がリモートコントロールされる。この際の画像形成装置1および端末装置2Cの処理も、図5および図8で説明した通りである。端末装置2Cのタッチパネルディスプレイ20eへ表示させる画面の画面データ50を生成する際に、通常用領域181が使用される。
画像形成装置1において、ジョブJ0の実行中にエラーが発生すると、ジョブJ0が停止する。例えば、ジョブJ0がコピージョブであり、画像形成装置1のプリントユニット10qで紙詰まりが発生すると、ジョブJ0が停止する。
すると、接続要求部106は、ジョブJ0のコマンドの送信元を特定し、画像形成装置1に対してリモートアクセスするように、特定した送信元(つまり、端末装置2A)へ要求する(#746)。この際に、リモートアクセスコマンド53を端末装置2Aへ送信する。
なお、エラーの検知は、画像形成装置1のオペレーティングシステムなどに備わっている既存の手段または公知の技術によって行えばよい。
端末装置2Aにおいて、リモートアクセスコマンド53が画像形成装置1から届くと(#764)、端末装置2Aのオペレーティングシステムまたはアプリケーションを管理するシステムによって、リモートアクセスプログラム20Pが起動する(#765)。この際に、接続先のパラメータとして画像形成装置1の識別子(例えば、IPアドレス)が指定される。
リモートアクセス制御部201は、リモートアクセス制御部101とともに、指定されたパラメータに基づいて端末装置2Aを画像形成装置1へリモートアクセスさせるための処理を行う(#766〜#767、#747〜#748)。
画像形成装置1において、リモートアクセスコマンド53に依らずに端末装置2Aが画像形成装置1へリモートアクセスした場合は、上述の通り画面データ生成部102は、トップ画面61のデータを画面データ50として生成した。しかし、リモートアクセスコマンド53に呼応して端末装置2Aが画像形成装置1へリモートアクセスした場合は、発生したエラーに対応するエラー画面62のデータを画面データ50として生成する(図10の#749)。この際に、エラー用領域182が使用される。
そして、画面データ送信部103は、画面データ50を圧縮することによって圧縮データ51を生成し(#750)、端末装置2Aへ送信する(#751)。
端末装置2Aにおいて、画面データ展開部202は、圧縮データ51を受信すると(#768)、圧縮データ51を展開して画面データ50を復号し(#769)、画面データ50に基づいてエラー画面62をタッチパネルディスプレイ20eに表示させる(#770)。
ユーザは、エラー画面62に対して操作を行うことができる。すると、端末装置2Aおよび画像形成装置1において、図8で説明した処理が実行される。ただし、ここでは、画面データ50を生成するための領域として、通常用領域181の代わりにエラー用領域182が使用される。
その後、リモートアクセスの終了のコマンドが端末装置2Aに入力されると(#771)、リモートアクセス制御部201およびリモートアクセス制御部101は、コネクションの切断の処理を実行する(#772、#752)。コネクションの切断後、タッチパネルディスプレイ20eにおいて、エラー画面62が閉じる。
なお、リモートアクセスコマンド53に依らずに端末装置2Aが画像形成装置1へリモートアクセスした場合において、コネクションが切断するまでにエラーが発生した場合は、画面データ生成部102は、エラー用領域182ではなく通常用領域181を使用してエラー画面62の画面データ50を生成する。そして、画面データ送信部103は、画面データ50を圧縮して端末装置2Aへ送信する。
〔複数のジョブがある場合におけるエラーの発生の際の処理〕
図11〜図13は、複数のジョブがある場合におけるエラーの発生の際の処理の流れを説明するシーケンス図である。
画像形成装置1において、複数の端末装置2のそれぞれから与えられたジョブが並行して実行されている最中に複数のエラーが発生し、これらのジョブが停止することがある。例えば、ボックスTOプリントジョブ(ボックス(フォルダ)に保存されている画像データに基づいて画像を印刷するジョブ)であるジョブJ1の実行中にプリントユニット10qで紙詰まりが発生し、ファックス送信ジョブであるジョブJ2の実行中にモデム10nに通信障害が発生した場合は、ジョブJ1およびジョブJ2がともに停止する。
このような場合に、画像形成装置1は、それぞれの端末装置2へそれぞれに応じたエラー画面62を表示させる必要がある。しかし、エラー用領域182が1つしか用意されていない。
そこで、画像形成装置1の各部および各端末装置2の各部は、次のように処理を実行する。以下、端末装置2Aから画像形成装置1へジョブJ1が与えられ、端末装置2Bから画像形成装置1へジョブJ2が与えられ、端末装置2Aと画像形成装置1とのコネクションおよび端末装置2Bと画像形成装置1とのコネクションの切断後にエラーが発生した場合を例に説明する。
画像形成装置1は、リモートアクセスサービスプログラム1Pに基づいて、図11〜図13に示すステップ#791〜#814の処理を実行する。また、端末装置2Aは、リモートアクセスプログラム20Pに基づいて、ステップ#821〜#823、#826〜#835の処理を実行する。端末装置2Bは、リモートアクセスプログラム20Pに基づいて、ステップ#841〜#843、#846〜#852の処理を実行する。
端末装置2Aを画像形成装置1へリモートアクセスさせる処理(#791、#821)、ジョブJ1を端末装置2Aから画像形成装置1へ与える処理(#792〜#793、#822)、および端末装置2Aと画像形成装置1とのコネクションを切断する処理は(#794、#823)、前に図9〜図10のステップ#741〜#744、#761〜#763と同様である。端末装置2Bと画像形成装置1との間の上述の3つの処理も、同様である(#795〜#798、#841〜#843)。
ジョブJ1、J2が完了する前にこれらのコネクションが切断され、その後、端末装置2Cが画像形成装置1へリモートアクセスする(#799、#861)。
画像形成装置1において、ジョブJ1、J2の実行中にプリントユニット10qの紙詰まりおよびモデム10nの通信障害が発生すると、ジョブJ1、J2が停止される。
すると、接続要求部106は、1つ目のジョブつまりジョブJ1のコマンドの送信元を特定し、画像形成装置1に対してリモートアクセスするように、送信元すなわち端末装置2Aへ要求する(#800)。
端末装置2Aにおいて、リモートアクセスコマンド53が受信されると(#824)、図9〜図10のステップ#764〜#770と同様に、リモートアクセスプログラム20Pが起動し(図12の#825)、各部は画像形成装置1へリモートアクセスする処理およびエラー画面62を表示する処理などを行う(#826〜#830)。
このとき、画像形成装置1の各部も、図9〜図10のステップ#747〜#751と同様に、リモートアクセスの処理およびエラー画面62の提供の処理を実行する(#801〜#805)。ただし、画面データ送信部103は、ステップ#805において、圧縮データ51とともにエラー識別データ54を端末装置2Aへ送信する。また、ステップ#803において、エラー画面62の生成のために、エラー用領域182が使用される。ここでは、エラー画面62は、紙詰まりを知らせるものである。
端末装置2Aにおいて、画面表示制御部203は、エラー識別データ54を受信した場合は、さらに、エラー画面62が表示された状態でタッチパネルディスプレイ20eをキャプチャする(#831)。つまり、スクリーンショットを取得する。以下、取得したスクリーンショットを「スクリーンショット64」と記載する。
そして、画面表示制御部203は、エラー画面62の上にスクリーンショット64を表示させる(#832)。ただし、スクリーンショット64にエラー画面62が表われているので、タッチパネルディスプレイ20eの見た目にほとんど変化はない。
また、送信是非判別部207は、エラー識別データ54が受信された場合は、ジェスチャデータ52を画像形成装置1へ送信すべきでないと、判別する(#833)。送信すべきでないと判別されると、ジェスチャデータ送信部206は、タッチパネルディスプレイ20eに対してタッチがなされても画像形成装置1へジェスチャデータ52を送信しない。
画像形成装置1において、リモートアクセス制御部101は、圧縮データ51およびエラー識別データ54が端末装置2Aへ送信されてから所定の時間(例えば、1〜3秒)が経過したら、コネクションを切断するように端末装置2Aへ要求する(#806)。なお、要求後、エラー用領域182が開放される。
端末装置2Aにおいて要求が受け付けられると(#834)、端末装置2Aのリモートアクセス制御部201および画像形成装置1のリモートアクセス制御部101は、リモートアクセスの終了のコマンドが端末装置2Aに入力された場合と同様に、コネクションの切断の処理を実行する(#835、#807)。コネクションの切断後、タッチパネルディスプレイ20eにおいて、エラー画面62が閉じる。しかし、スクリーンショット64は、表示されたままである。よって、ユーザは、エラーの情報をスクリーンショット64によって確認することができる。
画像形成装置1は、2つ目以降の、エラーの発生によって停止した各ジョブについても、そのコマンドの送信元を特定し、特定した送信元とのコネクションを確立し、エラーに対応したエラー画面62を提供し、エラー識別データ54を送信する(図13の#808〜#813)。ただし、最後のジョブのコマンドの送信元へは、エラー識別データ54を送信しない。したがって、本例では、ジョブJ2のコマンドの送信元すなわち端末装置2Bへは、エラー識別データ54が送信されない。端末装置2Bへ提供されるエラー画面62は、通信障害を知らせるものである。
端末装置2Bにおいて、リモートアクセスコマンド53が受信されると(#844)、リモートアクセスプログラム20Pが起動する(#845)。そして、各部は、図9〜図10のステップ#766〜#770と同様の処理を実行する(#846〜#850)。エラー画面62を表示した後、終了のコマンドが入力されるまでは、コネクションは切断されない。したがって、画面表示制御部203は、キャプチャを行う必要がない。
なお、エラー用領域182を速やかに開放するために、最後のジョブのコマンドの送信元である端末装置2へもエラー識別データ54を送信してもよい。
リモートアクセスの終了のコマンドが入力されると(#851)、リモートアクセス制御部201およびリモートアクセス制御部101は、コネクションの切断の処理を実行する(#814、#852)。コネクションの切断後、タッチパネルディスプレイ20eにおいて、エラー画面62が閉じる。
ジェスチャデータ52を送信するか否かを端末装置2において決める代わりに、ジェスチャデータ52を受け入れるか否かを画像形成装置1において決めてもよい。
具体的には、端末装置2において、ジェスチャデータ送信部206は、送信是非判別部207による判別の結果に関わらず、ジェスチャデータ52を画像形成装置1へ送信する。
画像形成装置1において、タッチイベント処理部104は、ジェスチャデータ52が送信されてくると、発生しているエラーの個数を計数する。そして、エラーが1つしか発生していない場合は、ジェスチャデータ52を受け入れ、ジェスチャデータ52に基づいて、次に実行すべき処理を決定する。エラーが複数発生している場合は、ジェスチャデータ52を受け入れない。よって、次に実行すべき処理を決定しない。
本実施形態によると、複数のジョブが同時期に停止した場合であっても、端末装置2へのエラー画面62の提供を従来よりもメモリの使用量を減らして行うことができる。
〔変形例〕
図14は、エラー画面62の変形例を示す図である。図15〜図18は、複数のエラーが一定の時間を開けて発生の際の処理の流れを説明するシーケンス図である。
端末装置2は、エラー識別データ54を受信した場合は、エラー画面62に対してユーザが操作を行っても、ジェスチャデータ52を画像形成装置1へ送信しないようにした。
しかし、画像形成装置1が、操作を行うことができないようにエラー画面62を加工し、そのデータを画面データ50として端末装置2へ送信してもよい。
例えば、紙詰まりを知らせるエラー画面62は、タッチパネルディスプレイ10hへは、操作のためのボタンなどのオブジェクト621が図7のように配置されて表示される。画面データ生成部102は、紙詰まりが発生した場合に、図14(A)のように、オブジェクト621を配置せずにエラー画面62およびその画面データ50を生成する。特に、他の画面へ遷移するためのオブジェクトを配置しない。
または、図14(B)に示すように、オブジェクト621を配置せず、その代わりにコネクションの終了のコマンドを入力するためのオブジェクト622を配置してもよい。
さらに、図14(A)または(B)のエラー画面62に、操作を受け付けることができない旨のメッセージを配置してもよい。
上述の実施形態では、複数のエラーが同時期に発生した場合を例に説明したが、エラーが1つずつ、相当の時間(例えば、1分)を開けて発生する場合がある。この場合は、画像形成装置1および各端末装置2は、次のように処理を行えばよい。
以下、端末装置2Aから画像形成装置1へジョブJ1が与えられ、端末装置2Bから画像形成装置1へジョブJ2が与えられ、端末装置2Aと画像形成装置1とのコネクションおよび端末装置2Bと画像形成装置1とのコネクションの切断後に、エラーが1つずつ相当の時間を開けて発生した場合を例に、図15〜図18を参照しながら説明する。
端末装置2Aおよび端末装置2Bのそれぞれが、画像形成装置1へリモートアクセスし、ジョブJ1およびジョブJ2を画像形成装置1へ与え、画像形成装置1はこれらのジョブの実行を開始する(図15の#871〜#878、#901〜#903、#921〜#923)。これらの処理は、図11のステップ#791〜#798、#821〜#823、#841〜#843で説明した通りである。
画像形成装置1において、エラーが発生すると、接続要求部106は、発生したエラーの個数を計数する(#879)。
接続要求部106は、発生したエラーに係るジョブ(ここでは、ジョブJ1)のコマンドの送信元つまり端末装置2Aへ、画像形成装置1へのリモートアクセスを行うように要求する(図16の#880)。
以下、画像形成装置1および端末装置2Aにおいて、端末装置2Aを画像形成装置1へリモートアクセスさせる処理、および、このエラーに応じたエラー画面62を端末装置2Aに表示させるための処理などが行われる(#881〜#885、#905〜#910)。これらの処理は、図12のステップ#801〜#805、#825〜#830で説明した通りである。
ただし、ステップ#879で計数した個数が1つである場合は、画面データ送信部103は、エラー識別データ54を送信しない。また、リモートアクセス制御部101は、この時点では、コネクションの切断を端末装置2Aへ要求しない。
したがって、端末装置2Aにおいて、エラー画面62は、しばらくの間、表示される。そして、ユーザは、エラー画面62に対して操作を行い、画像形成装置1をリモートコントロールすることができる。このとき、ジェスチャデータ52が端末装置2Aから画像形成装置1へ送信され(#912、#886)、画像形成装置1において、ジェスチャデータ52に応じた処理が実行される(#887)
その後、画像形成装置1において、先のエラーが解消する前に別のエラーが発生すると、接続要求部106は、現在のエラーの個数を計数する(図17の#888)。個数が2つ以上である場合は、リモートアクセス制御部101は、先のエラーに係るジョブのコマンドの送信元つまり端末装置2Aへ、コネクションを切断するように端末装置2Aへ要求する(#889)。なお、要求後、エラー用領域182が開放される。
すると、画像形成装置1と端末装置2Aとのコネクションを切断する処理が行われる(#913〜#914、#890)。
さらに、接続要求部106は、新たに発生したエラーに係るジョブのコマンドの送信元つまり端末装置2Bへ、画像形成装置1へのリモートアクセスを行うように要求する(#891)。
以下、画像形成装置1および端末装置2Bにおいて、端末装置2Bを画像形成装置1へリモートアクセスさせる処理、および、このエラーに応じたエラー画面62を端末装置2Bに表示させるための処理などが行われる(#892〜#896、#924〜図18の#930)。これらの処理は、図12のステップ#801〜#805、#825〜#830で説明した通りである。ただし、画面データ送信部103は、端末装置2Bへ、圧縮データ51とともにエラー識別データ54を送信する。
端末装置2Bにおいて、画面表示制御部203は、エラー識別データ54を受信するので、エラー画面62が表示された状態でタッチパネルディスプレイ20eをキャプチャし、スクリーンショット64を取得する(#931)。そして、エラー画面62の上にスクリーンショット64を表示させる(#832)。
そして、画像形成装置1と端末装置2Bとの間のコネクションを切断する処理が行われる(#897〜#898、#933〜#934)。コネクションの切断の要求後、エラー用領域182が開放される。
なお、画像形成装置1は、現在のエラーの個数が複数であっても、最後のエラーに係るジョブのコマンドの送信元へは、エラー識別データ54および切断の要求を送信しないようにしてもよい。
本実施形態では、図9に示したように、D−RAM10bにエラー用領域182を1つしか設けなかったが、複数設けてもよい。例えば、3つ設けた場合は、画像形成装置1は、3つのエラーそれぞれのエラー画面62を並行して生成し、それぞれのエラーに係るジョブのコマンドの送信元へ提供ことができる。
その他、ネットワークシステム4、画像形成装置1、端末装置2の全体または各部の構成、処理内容、処理順序、エラー画面62の構成などは、本発明の趣旨に沿って適宜変更することができる。