〔第一の実施形態〕
図1は、画像処理システム4の全体的な構成の例を示す図である。図2は、画像形成装置1のハードウェア構成の例を示す図である。図3は、端末装置2のハードウェア構成の例を示す図である。
図1に示すように、画像処理システム4は、画像形成装置1、端末装置2、および通信回線3などによって構成される。
画像形成装置1および各端末装置2は、通信回線3を介して通信を行うことができる。通信回線3として、インターネット、LAN(Local Area Network)回線、または固定電話回線などが用いられる。
画像形成装置1は、コピー、ネットワークプリント、ファックス、スキャン、およびボックスなどの機能を集約した装置である。一般に、「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。
ネットワークプリント機能は、端末装置2から受信した画像データに基づいて画像を用紙に印刷するサービスである。「ネットワークプリンティング」または「PCプリント」などと呼ばれることもある。
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するためのサービスである。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
画像形成装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、補助記憶装置10d、タッチパネルディスプレイ10e、操作キーパネル10f、NIC(Network Interface Card)10g、近距離無線通信装置10h、モデム10i、スキャンユニット10j、およびプリントユニット10kなどによって構成される。
タッチパネルディスプレイ10eは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aなどが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10eは、タッチされた位置を示す信号をCPU10aへ送る。
ユーザは、端末装置2を画像形成装置1へリモートアクセスさせ、タッチパネルディスプレイ10eの代わりに端末装置2を用いて遠隔的に画像形成装置1を操作することができる。つまり、端末装置2を画像形成装置1のリモートパネルとして使用することができる。
操作キーパネル10fは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
NIC10gは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルによって端末装置2などと通信を行う。
近距離無線通信装置10hは、到達する距離が数メートルないし十数メートル程度の電波によって通信を行う。近距離無線通信装置10hとして、Bluetooth(登録商標)またはワイヤレスUSB(Universal Serial Bus)などの規格に準拠する装置が用いられる。
モデム10iは、ファクシミリ端末との間でG3などのプロトコルで画像データをやり取りする。
スキャンユニット10jは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
プリントユニット10kは、スキャンユニット10jによって読み取られた画像のほか、NIC10g、近距離無線通信装置10h、またはモデム10iによって端末装置2またはファクシミリ端末などから受信した画像を用紙に印刷する。
ROM10cまたは補助記憶装置10dには、上述のコピーなどの機能を実現するためのプログラムのほか、端末装置2を画像形成装置1にリモートアクセスさせるためのプログラムが記憶されている。さらに、端末装置2が画像形成装置1にリモートアクセスしている間に端末装置2へ画面を提供したりユーザの操作を受け付けたりするためのプログラムとして、サーバプログラム100が記憶されている。
端末装置2は、画像形成装置1の上述の機能を遠隔的に使用するためのクライアントである。端末装置2として、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、または携帯電話端末などが用いられる。以下、端末装置2としてタブレットコンピュータが用いられる場合を例に説明する。
端末装置2は、図3に示すように、CPU20a、RAM20b、ROM20c、フラッシュメモリ20d、タッチパネルディスプレイ20e、操作ボタン群20f、デジタルカメラ20g、無線LAN通信装置20h、および近距離無線通信装置20iなどによって構成される。
タッチパネルディスプレイ20eは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU20aが実行した処理の結果を示す画面などを表示する。画像形成装置1へリモートアクセスしている間は、画像形成装置1のタッチパネルディスプレイ10eに表示されるべき画面を表示する。また、タッチパネルディスプレイ20eは、タッチされた位置を示す信号をCPU20aへ送る。
操作ボタン群20fは、ホーム画面に戻るためのボタン、音量を調整するためのボタン、および電源のオン/オフを切り換えるためのボタンなどによって構成される。デジタルカメラ20gは、種々の画像を撮影する。
無線LAN通信装置20hは、通信回線3を構成する基地局を介してTCP/IPなどのプロトコルによって画像形成装置1と通信を行う。
近距離無線通信装置20iは、画像形成装置1の近距離無線通信装置10hと同じ規格に基づいて近距離無線通信を行う。
ROM20cまたはフラッシュメモリ20dには、画像形成装置1の上述のネットワークプリントなどの機能を使用するためのドライバおよびアプリケーションのほか、画像形成装置1へリモートアクセスするためのプログラムが記憶されている。さらに、リモートアクセスしている間に画像形成装置1の画面を表示したり画像形成装置1へ操作の内容を通知したりするためのプログラムとして、クライアントプログラム200が記憶されている。
これらのプログラムは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。
サーバプログラム100およびクライアントプログラム200によると、端末装置2が画像形成装置1にリモートアクセスしているときに不具合が発生し、リモートアクセスし直した場合であっても、不具合が発生する直前の状態に回復することができる。以下、この仕組みについて説明する。
図4は、画像形成装置1の機能的構成および端末装置2の機能的構成の例を示す図である。
サーバプログラム100によると、図4に示す次処理決定部101、画面描画部102、画像データ送信部103、操作データ受信部104、およびログデータ記憶部105などの機能が画像形成装置1に実現される。
クライアントプログラム200によると、画像データ受信部201、リモート画面表示部202、第一の操作データ送信部203、ログデータ記憶部204、選択画面表示部205、モード通知部206、および第二の操作データ送信部207などの機能が端末装置2に実現される。
〔各部の役割〕
図5は、トップ画面61Aの例を示す図である。図6は、選択画面62の例を示す図である。
画像形成装置1および端末装置2には、操作モードおよび復元モードの2つのモードが用意されている。
「操作モード」は、ユーザが端末装置2を使用することによって画像形成装置1を遠隔的に操作する(リモートコントロールする)モードである。
一方、「復元モード」は、端末装置2が画像形成装置1にリモートアクセスし直した場合に、前回にリモートアクセスした際の履歴(ログ)に基づいて画面を復元するモードである。
画像形成装置1において、次処理決定部101は、ユーザによる操作の内容またはCPU10aによる演算の結果などに基づいて、次に実行すべき処理(以下、「次処理」と記載する。)を決定する。決定の仕方は、従来と同様である。具体例は、後に順次説明する。
画面描画部102は、次処理決定部101によって決定した次処理に応じて表示させる画面61を描画する処理を行う。具体的には、画面61の画像データ51Aを生成してRAM10bに記憶させる。例えば、端末装置2が画像形成装置1へリモートアクセスしたときに、図5のようなトップ画面61Aを画面61として描画する。画像データ51Aのフォーマットは、例えば、ビットマップである。トップ画面61Aは、いわゆる待ち受け画面であって、各ジョブの画面を呼び出すためのボタンが配置されている。
画像データ送信部103は、画面描画部102によって画面61の画像データ51Aが生成されると、この画像データ51Aを、この画面61の画面コードとともに端末装置2へ送信する。
端末装置2において、画像データ受信部201は、画像形成装置1から画像データ51Aを受信する。
リモート画面表示部202は、画像データ受信部201によって受信された画像データ51Aに基づいて画面61をタッチパネルディスプレイ20eに表示させる。
第一の操作データ送信部203は、操作モードにおいて画面61に対してユーザが行った操作の内容を示す第一の操作データ52Aを画像形成装置1へ送信する。
ログデータ記憶部204は、操作モードにおいて、タッチパネルディスプレイ20eに表示された画面61の識別子(画面コード)およびそれが表示されている際に、ユーザが行った操作の内容を示す操作ログデータ52Bを生成し記憶する。操作ログデータ52Bの詳細および具体例は、後述する。復元モードにおいては、操作ログデータ52Bの生成を行わない。
画像形成装置1において、操作データ受信部104は、端末装置2から第一の操作データ52Aまたは後述する第二の操作データ52Cを受信する。
ログデータ記憶部105は、操作モードにおいて端末装置2が画像形成装置1にリモートアクセスしている間に画像形成装置1で発生したイベントおよびその内容を示すイベントログデータ51Bを生成し記憶する。イベントログデータ51Bの詳細および具体例は、後述する。復元モードにおいては、イベントログデータ51Bの生成を行わない。
ログデータ記憶部105は、所定のタイミングで、記憶しているイベントログデータ51Bを1つのファイルにファイル化して補助記憶装置10dなどの不揮発性の記録媒体へバックアップする。例えば、イベントログデータ51Bがログデータ記憶部105に追加されるごとにバックアップする。または、不具合が検知された際にバックアップしてもよい。以下、このファイルを「バックアップファイル51D」と記載する。バックアップファイル51Dには、端末装置2の識別子(例えば、IPアドレス、ホスト名、またはMACアドレス)が対応付けられる。
同様に、ログデータ記憶部204は、操作ログデータ52Bがログデータ記憶部204に追加され、または、不具合が検知されるなど、所定のタイミングで、記憶している操作ログデータ52Bを1つのファイルにファイル化してフラッシュメモリ20dなどの不揮発性の記録媒体へバックアップする。以下、このファイルを「バックアップファイル52D」と記載する。バックアップファイル52Dには、画像形成装置1の識別子が対応付けられる。
ユーザの目的の処理が正常に完了すると、ログデータ記憶部105に記憶されているイベントログデータ51Bがすべて削除される。さらに、バックアップファイル51Dが保存先から削除される。また、ログデータ記憶部204に記憶されている操作ログデータ52Bがすべて削除される。さらに、バックアップファイル52Dが保存先から削除される。
端末装置2の選択画面表示部205は、ユーザの目的の処理が完了することなく画像形成装置1へのリモートアクセスが切断された(途切れた)後、端末装置2が再び画像形成装置1へリモートアクセスする際に、図6のような選択画面62をタッチパネルディスプレイ20eに表示させる。
画像形成装置1への再度のリモートアクセスであるか否かは、フラッシュメモリ20dなどにバックアップファイル52Dが保存(記憶)されているか否かによって知ることができる。
モード通知部206は、端末装置2が画像形成装置1へリモートアクセスした際に、復元モード通知データ52Eおよび操作モード通知データ52Fのうちのいずれかを画像形成装置1へ送信する。
具体的には、バックアップファイル52Dがフラッシュメモリ20dなどに保存されていない場合は、モード通知部206は、操作モード通知データ52Fを送信する。ユーザが選択画面62においてボタン62aをタッチした場合も、操作モード通知データ52Fを送信する。一方、ユーザがボタン62bをタッチした場合は、復元モード通知データ52Eを送信する。
第二の操作データ送信部207は、復元モードにおいて、ログデータ記憶部204に記憶される操作ログデータ52Bに基づいて第二の操作データ52Cを画像形成装置1へ送信する。
第一の操作データ52Aが、ユーザがリアルタイムに行った操作の内容を通知するものであるに対し、第二の操作データ52Cは、ユーザが以前のリモートアクセスにおいて行った操作の内容を通知するものである。
原則として、第二の操作データ送信部207は、操作ログデータ52Bを古い順に注目し、それに示される操作内容を示すデータを第二の操作データ52Cとして画像形成装置1へ送信する。詳細は、後述する。
〔通常時における各部の処理およびユーザの操作の具体例〕
図7は、通常時における画像形成装置1および端末装置2の処理の流れの例を示すシーケンス図である。図8は、イベントログデータ51Bの例を示す図である。図9は、操作ログデータ52Bの例を示す図である。図10は、コピージョブ画面61Bの例を示す図である。図11は、用紙サイズ選択画面61Cの例を示す図である。
次に、端末装置2が画像形成装置1にリモートアクセスし、復元の機能に依らず通常通りに画面61を表示する場合の、画像形成装置1の各部および端末装置2の各部による処理の流れを、図7〜図11などを参照しながら説明する。
なお、前回のリモートアクセスの際に、前回の目的の処理が正常に終了しているものとする。したがって、画像形成装置1には、イベントログデータ51Bもバックアップファイル51Dも記憶されておらず、端末装置2には、操作ログデータ52Bもバックアップファイル52Dも記憶されていない。
ユーザは、クライアントプログラム200を端末装置2に起動させておく。そして、画像形成装置1の識別子(例えば、IPアドレス、MAC(Media Access Control)アドレス、またはホスト名)およびリモートアクセスのコマンドを入力する。
すると、端末装置2から画像形成装置1へリモートアクセスが要求され(図7の#721、#701)、画像形成装置1および端末装置2は、公知の方法で接続(リモート接続)を確立する(#702、#722)。
バックアップファイル52Dがフラッシュメモリ20dなどに記憶されていないので、接続が確立すると、端末装置2には、操作モードが設定される(#723)。また、端末装置2のモード通知部206は、操作モード通知データ52Fを画像形成装置1へ送信する(#724)。これにより、画像形成装置1にも操作モードが設定される。
画像形成装置1において、接続が確立され、操作モード通知データ52Fが受信されると(#703)、操作モードが設定される(#704)。
すると、次処理決定部101は、次処理を、トップ画面61Aを表示する処理に決定する(#705)。
すると、画面描画部102は、トップ画面61Aの画像データ51Aを生成し、画像データ送信部103は、画像データ51Aおよびトップ画面61Aの画面コードを端末装置2へ送信する(#706)。ログデータ記憶部105は、図8のように、イベントログデータ51Bとして、ステップ#706の処理の内容を示すイベントログデータ51Baを生成し記憶する(#707)。
なお、イベントログデータ51Bにおいて「番号」は、シーケンス番号である。生成された順に「001」、「002」、…という番号が付される。「画面コード」は、画像形成装置1から送信されてきた画面コードである。また、この時点では、イベントログデータ51Bb以降のイベントログデータ51Bは、ログデータ記憶部105に記憶されていない。
端末装置2において、画像データ受信部201が画像形成装置1から画像データ51Aを受信すると(#725)、リモート画面表示部202は、画像データ51Aに基づいてトップ画面61A(図5参照)をタッチパネルディスプレイ20eに表示させる(#726)。
あるボタン(例えば「コピー」のボタン)をユーザがタッチすると、第一の操作データ送信部203は、その操作を受け付け(#727)、タッチされた位置の座標を示す第一の操作データ52Aを画像形成装置1へ送信する(#728)。
ログデータ記憶部204は、タッチパネルディスプレイ20eに表示された画面61の画面コードおよび表示中に行われた操作の内容を示す操作ログデータ52Bを生成し記憶する(#729)。ここでは、図9のように、トップ画面61Aの画面コードおよびタッチされた位置の座標を示す操作ログデータ52Baを、操作ログデータ52Bとして生成し記憶する。
なお、操作ログデータ52Bにおいて「番号」は、シーケンス番号であって、生成された順に「001」、「002」、…という番号が付される。イベントログデータ51Bの番号とは無関係である。また、この時点では、操作ログデータ52Bb以降の操作ログデータ52Bは、ログデータ記憶部204に記憶されていない。
画像形成装置1において、操作データ受信部104が端末装置2から第一の操作データ52Aを受信すると(#708)、図8のように、第一の操作データ52Aを受信したことおよびその内容(座標)を示すイベントログデータ51Bbをイベントログデータ51Bとして生成し記憶する(#709)。
さらに、次処理決定部101は、この第一の操作データ52Aに基づいて次処理を決定する(#710)。
そして、次処理が各部によって実行され(#711)、ログデータ記憶部105は、その処理の内容を示すイベントログデータ51Bを生成し記憶する(#712)。
例えば、第一の操作データ52Aが示す座標がトップ画面61Aのコピーボタンに対応する場合は、次処理決定部101は、ステップ#709において、次処理を、図10に示すようなコピージョブ画面61Bを表示する処理に決定する。そして、画面描画部102は、コピージョブ画面61Bの画像データ51Aを生成し、画像データ送信部103は、この画像データ51Aを端末装置2へ送信する。ログデータ記憶部105は、図8のように、コピージョブ画面61Bの画像データを送信したことを示すイベントログデータ51Bcをイベントログデータ51Bとして生成し記憶する。
この例の場合は、端末装置2において、画像データ受信部201が画像形成装置1から画像データ51Aを受信すると(#730)、リモート画面表示部202は、画像データ51Aに基づいてコピージョブ画面61Bをタッチパネルディスプレイ20eに表示させる(#731)。
あるボタン(例えば「用紙」のボタン)をユーザがタッチすると、第一の操作データ送信部203は、その操作を受け付け(#732)、タッチされた位置の座標を示す第一の操作データ52Aを画像形成装置1へ送信する(#733)。ログデータ記憶部204は、コピージョブ画面61Bの画面コードおよび表示中に行われた操作の内容を示す操作ログデータ52Bbを操作ログデータ52Bとして生成し記憶する(#734)。
このように、操作モードにおいては、端末装置2への画像データ51Aの送信または端末装置2からの第一の操作データ52Aの受信などが行われるごとに、ログデータ記憶部105は、イベントログデータ51Bを生成し記憶する。また、ユーザによる操作に伴って画像形成装置1への第一の操作データ52Aの送信が行われるごとに、ログデータ記憶部204は、操作ログデータ52Bを生成し記憶する。
その後、例えば、次のように、ユーザが操作を行い、端末装置2のタッチパネルディスプレイ20eに表示される画面61が遷移する。遷移のための処理は、上に述べた通りなので、説明を省略する。
ユーザがコピージョブ画面61Bの「用紙」のボタンをタッチすると、図11のような用紙サイズ選択画面61Cがタッチパネルディスプレイ20eに表示される。ここで、ユーザは、コピーに使用する用紙の向きおよびサイズに対応するボタンをタッチする。すると、第一の操作データ送信部203は、その操作の内容を示す第一の操作データ52Aを画像形成装置1へ送信する。次処理決定部101は、次処理を、その第一の操作データ52Aに示される向きおよびサイズに応じた給紙トレイを用紙の給紙元に設定する処理、および、コピージョブ画面61Bの画像データ51Aを送信する処理に、決定する。なお、コピージョブ画面61Bの「用紙」のボタンの形態を、ユーザの操作に応じて変更する。
そして、端末装置2において、再びコピージョブ画面61Bがタッチパネルディスプレイ20eに表示される。
ユーザが「スタート」のボタンをタッチすると、第一の操作データ送信部203は、その操作の内容を示す第一の操作データ52Aが画像形成装置1へ送信する。次処理決定部101は、次処理をコピージョブに決定する。そして、画像形成装置1において、コピージョブが実行される。
以上の処理が実行されることによって、ログデータ記憶部105には、図8に示すように、イベントログデータ51Ba〜51bjが記憶され、ログデータ記憶部204には、図9に示すように、操作ログデータ52Ba〜52Bdが記憶される。
なお、上述の通り、ユーザの目的の処理(本例では、コピージョブ)が正常に終了したら、画像形成装置1においてイベントログデータ51Bおよびバックアップファイル51Dが削除され、端末装置2において操作ログデータ52Bおよびバックアップファイル51Dが削除される。
〔リモートアクセスし直した場合の各部の処理およびユーザの操作の具体例〕
図12は、再リモートアクセスの際の画像形成装置1および端末装置2の処理の流れの例を示すシーケンス図である。
ユーザの目的の処理が完了する前に不具合が発生し、リモートアクセスが切断されてしまうことがある。以下、不具合の発生後の画像形成装置1の各部の処理、端末装置2の各部の処理、およびユーザの操作について、図12などを参照しながら説明する。
イベントログデータ51Ba〜52Bj(図8参照)のうちイベントログデータ51Ba〜52Bhを示すデータがバックアップファイル51Dとして補助記憶装置10dに保存されているものとする。また、操作ログデータ52Ba〜52Bd(図9参照)のうち操作ログデータ52Ba〜52Bcを示すデータがバックアップファイル52Dとしてフラッシュメモリ20dに記憶されているものとする。
ユーザは、クライアントプログラム200が終了してしまっている場合は、再びクライアントプログラム200を端末装置2に起動させておく。そして、画像形成装置1の識別子およびリモートアクセスのコマンドを入力する。
すると、端末装置2から画像形成装置1へリモートアクセスが要求され(図12の#761、#741)、画像形成装置1および端末装置2は、公知の方法で接続(リモート接続)を確立する(#742、#762)。
端末装置2において、バックアップファイル52Dがフラッシュメモリ20dに記憶されているので、接続が確立すると、選択画面表示部205は、選択画面62(図6参照)をタッチパネルディスプレイ20eに表示させる(#763)。
ユーザは、前回のリモートアクセスが切断される直前までの状態を復元(リカバリ)したい場合は、ボタン62bをタッチする。
すると、この操作が受け付けられ(#764)、端末装置2に復元モードが設定される(#765)。そして、端末装置2の各部は、次の通り処理を実行する。
ログデータ記憶部204は、操作ログデータ52Bが削除されてしまっている場合は、バックアップファイル52Dに含まれる操作ログデータ52Bを記憶し直す(#766)。つまり、操作ログデータ52Bをバックアップファイル52Dに基づいて復元する。
モード通知部206は、復元モード通知データ52Eを画像形成装置1へ送信する(#767)。
画像形成装置1において、復元モード通知データ52Eが送信されてきたら(#743)、復元モードが設定される(#744)。そして、画像形成装置1の各部は、次の通り処理を実行する。
ログデータ記憶部105は、イベントログデータ51Bが削除されてしまっている場合は、バックアップファイル51Dに含まれるイベントログデータ51Bを記憶し直す(#745)。つまり、イベントログデータ51Bをバックアップファイル51Dに基づいて復元する。
次処理決定部101は、次処理を、トップ画面61Aを表示する処理に決定する(#746)。
すると、画面描画部102は、トップ画面61Aの画像データ51Aを生成し、画像データ送信部103は、画像データ51Aおよびトップ画面61Aの画面コードを端末装置2へ送信する(#747)。
ただし、復元モードが設定されているので、ログデータ記憶部105は、ステップ#747に係るイベントログデータ51Bを記憶しない。これに相当するイベントログデータ51Bを既に記憶しているからである。同様の理由により、操作モードが設定されるまで、イベントログデータ51Bの生成および記憶を行わない。
端末装置2において、画像データ受信部201が画像形成装置1から画像データ51Aを受信すると(#768)、第二の操作データ送信部207は、ログデータ記憶部204に記憶されている1番目の、つまり、番号が一番小さい操作ログデータ52Bに注目する。注目した操作ログデータ52Bに示される画面コードおよび画像形成装置1から送信されてきた画面コードを照合する(#769)。そして、両者が一致する場合は、注目した操作ログデータ52Bに示される操作内容を示すデータを第二の操作データ52Cとして画像形成装置1へ送信する(#770)。ここでは、操作ログデータ52Baに注目し、これに示される操作内容を示すデータを第二の操作データ52Cとして送信する。
画像形成装置1において、操作データ受信部104が第二の操作データ52Cを受信すると(#748)、次処理決定部101は、第一の操作データ52Aを受信した場合と同様に、この第二の操作データ52Cに基づいて次処理を決定する(#749)。そして、次処理が各部によって実行される(#750)。ここでは、ステップ#749において、次処理を、コピージョブ画面61B(図10参照)を表示する処理に決定し、ステップ#750において、画面描画部102がコピージョブ画面61Bの画像データ51Aを生成し、画像データ送信部103がこの画像データ51Aおよびコピージョブ画面61Bの画面コードを端末装置2へ送信する。
端末装置2において、画像データ受信部201が画像形成装置1から画像データ51Aなどを受信すると(#771)、第二の操作データ送信部207は、ログデータ記憶部204に記憶されている、未注目の操作ログデータ52Bのうちの、番号が一番小さい操作ログデータ52Bに注目する。注目した操作ログデータ52Bに示される画面コードおよび画像形成装置1から送信されてきた画面コードを照合する(#772)。そして、両者が一致する場合は、注目した操作ログデータ52Bに示される操作内容を示すデータを第二の操作データ52Cとして画像形成装置1へ送信する(#773)。ここでは、操作ログデータ52Bbに注目し、これに示される操作内容を示すデータを第二の操作データ52Cとして送信する。
このように、第二の操作データ送信部207は、番号の小さい順に操作ログデータ52Bに注目する。そして、注目した操作ログデータ52Bに示される画面コードと画像形成装置1から送信されてきた画面コードとが一致した場合に、注目した操作ログデータ52Bに示される操作内容を、第二の操作データ52Cとして画像形成装置1へ通知する。
つまり、第二の操作データ送信部207は、前回のリモートアクセスと同様に画面61の画像データ51Aが送信されてきた場合に、各画面61に対する操作内容を画像形成装置1へ通知する。
これにより、端末装置2を使用してユーザが行った操作の内容が画像形成装置1へ通知される。
最後の操作ログデータ52B(本例では、操作ログデータ52Bc)が注目され、端末装置2および画像形成装置1において上述の処理が行われた後、画像データ51Aが画像データ受信部201によって受信されたら、モード通知部206は、操作モード通知データ52Fを画像形成装置1へ送信する(#778)。そして、端末装置2に操作モードが設定される(#779)。
その後、ユーザは、前回のリモートアクセスにおいて切断によって中断した操作を、続きから再開することができる。
画像形成装置1において、操作モード通知データ52Fが送信されてきたら(#758)、画像形成装置1に操作モードが設定される(#759)。
以上の処理の結果、本例では、端末装置2に、コピージョブ画面61B(図10参照)が表示される。また、画像形成装置1において、用紙に関する条件として、ユーザが前回に用紙サイズ選択画面61C(図11参照)において指定した条件が設定される。
なお、選択画面62のボタン62aをタッチした場合は、モード通知部206は、ステップ#767において、操作モード通知データ52Fを画像形成装置1へ送信する。すると、画像形成装置1において、イベントログデータ51Bおよびバックアップファイル51Dが削除される。また、端末装置2において、操作ログデータ52Bおよびバックアップファイル52Dが削除される。そして、画像形成装置1および端末装置2は、前回のリモートアクセスの際のログに依らず、上述の通り、ユーザによる操作に応じて処理を実行する。
図13〜図14は、端末装置2における全体的な処理の流れの例を説明するフローチャートである。図15は、画像形成装置1における全体的な処理の流れの例を説明するフローチャートである。
次に、画像形成装置1および端末装置2それぞれの全体的な処理の流れを、フローチャートを参照しながら説明する。
端末装置2は、画像形成装置1へリモートアクセスしたら、クライアントプログラム200に基づいて、図13〜図14に示す手順で処理を実行する。
端末装置2は、バックアップファイル52Dを保存していない場合は(図13の#621でNo)、モードを操作モードに設定するとともに(#622)、画像形成装置1へ操作モード通知データ52Fを送信する(#623)。
そして、端末装置2は、画像形成装置1から画像データ51Aを受信すると(#624でYes)、この画像データ51Aに基づいて画面61を表示する(#625)。
または、ユーザが画面61に対して操作を行ったら(#626でYes)、端末装置2は、その操作の内容を受け付ける(#627)。そして、それを示すデータを第一の操作データ52Aとして画像形成装置1へ送信するとともに(#628)、それを示すデータを操作ログデータ52Bとして記憶する(#629)。
一方、バックアップファイル52Dを保存している場合は(#621でYes)、前回、ユーザの目的の処理が完了することなくリモートアクセスが切断されたと考えられる。そこで、端末装置2は、選択画面62(図6参照)を表示することによって、前回の操作を自動的に再現するのか操作を最初からやり直すのかを選択するように促す(図14の#630)。
ボタン62aがタッチされた場合、つまり、操作を最初からやり直すことが選択された場合は(#631でNo)、端末装置2は、操作ログデータ52Bおよびバックアップファイル52Dを削除する(#632)。さらに、モードを操作モードに設定するとともに(#633)、画像形成装置1へ操作モード通知データ52Fを送信する(#634)。つまり、前回のリモートアクセスの際の情報を削除することによって、リセットを行う。そして、図13のステップ#624以降の処理を行う。
ボタン62bがタッチされた場合、つまり、前回の操作を自動的に再現することが選択された場合は(#631でYes)、端末装置2は、モードを復元モードに設定するとともに(#635)、画像形成装置1へ復元モード通知データ52Eを送信する(#636)。なお、操作ログデータ52Bが記憶されていなければ、操作ログデータ52Bをバックアップファイル52Dに基づいて復元しておく。
復元モードにおいて、画像形成装置1から画像データ51Aおよび画面コードを受信すると(#637でYes)、端末装置2は、未注目の操作ログデータ52Bがあれば(#638でYes)、これらのうちの最も番号が小さい操作ログデータ52Bに注目し、注目した操作ログデータ52Bに示される画面コードと受信した画面コードとを照合する(#639)。
両者が一致する場合は(#640でYes)、端末装置2は、注目した操作ログデータ52Bに示される操作内容を示すデータを第二の操作データ52Cとして画像形成装置1へ送信する(#641)。
両者が一致しない場合は(#640でNo)、端末装置2は、注目した操作ログデータ52Bおよびそれ以降の操作ログデータ52Bを削除する(#642)。そして、モードを操作モードに設定するとともに(#643)、画像形成装置1へ操作モード通知データ52Fを送信する(#644)。そして、図13のステップ#625以降の処理を行う。
未注目の操作ログデータ52Bがなければ(#638でNo)、端末装置2は、モードを操作モードに設定するとともに(#645)、画像形成装置1へ操作モード通知データ52Fを送信する(#646)。そして、図13のステップ#625以降の処理を行う。
端末装置2は、リモートアクセスを終了し、クライアントプログラム200を終了し、またはユーザの目的の処理が完了するまで、上述の各ステップの処理を適宜、実行する。
なお、端末装置2は、所定のタイミングで、記憶している操作ログデータ52Bをファイル化することによってバックアップファイル52Dを生成し、保存する。また、ユーザの目的の処理が完了したら、操作ログデータ52Bおよびバックアップファイル52Dを削除する。
画像形成装置1は、端末装置2にリモートアクセスされたら、サーバプログラム100に基づいて、図15に示す手順で処理を実行する。
画像形成装置1は、端末装置2から操作モード通知データ52Fを受信した場合は(図15の#601でYes)、モードを操作モードに設定する(#602)。
今回のリモートアクセスにおいて、端末装置2へ未だ画像データ51Aを送信していない場合は(#603でNo)、画像形成装置1は、前回のイベントログデータ51Bまたはバックアップファイル51Dを保存していれば、これらを削除する(#604)。つまり、ログをリセットする。一方、既に画像データ51Aを送信していれば(#603でYes)、直近の画像データ51Aの送信に係るイベントログデータ51Bよりも後ろのイベントログデータ51Bがあれば、これを削除する(#605)。
または、画像形成装置1は、端末装置2から復元モード通知データ52Eを受信した場合は(#606でYes)、モードを復元モードに設定する(#607)。イベントログデータ51Bが記憶されていなければ、この際に、イベントログデータ51Bをバックアップファイル51Dに基づいて復元しておく。
または、画像形成装置1は、第一の操作データ52Aまたは第二の操作データ52Cを受信した場合は(#608でYes)、次処理を決定し(#609)、それを実行する(#610)。さらに、操作モードである場合、つまり、受信したデータが第一の操作データ52Aである場合は(#611でYes)、受信のログのデータおよび次処理の実行のログのデータをイベントログデータ51Bとして生成し記憶する(#612)。
画像形成装置1は、リモートアクセスのサービスを提供する間、適宜、上述の各ステップの処理を実行する。
なお、端末装置2は、所定のタイミングで、記憶しているイベントログデータ51Bをファイル化することによってバックアップファイル51Dを生成し、保存する。また、ユーザの目的の処理が完了したら、その旨を端末装置2へ通知するとともに、イベントログデータ51Bおよびバックアップファイル51Dを削除する。
第一の実施形態によると、端末装置2から画像形成装置1へのリモートアクセスが切断した場合に、ユーザが、切断前に行った操作を一からやり直すことなく、所望の作業を再開することができる。
第一の実施形態では、端末装置2が画像形成装置1へリモートアクセスし直した際に、操作ログデータ52Bに基づいて画面61を復元したが、イベントログデータ51Bに基づいて復元してもよい。
〔第二の実施形態〕
図16は、画像形成装置1の機能的構成および端末装置2の機能的構成の例を示す図である。図17は、画像形成装置1における再リモートアクセスの際の全体的な処理の流れの例を説明するフローチャートである。図18は、端末装置2における再リモートアクセスの際の全体的な処理の流れの例を説明するフローチャートである。図19は、再接続画面63の例を示す図である。
第一の実施形態では、リモートアクセスが切断された際の、画像形成装置1および端末装置2それぞれの状態に関わらず、同一の方法で画面61を復元した。
第二の実施形態では、画像形成装置1および端末装置2それぞれの状態に応じて画面61を、第一の復元方法または第二の復元方法のいずれかにもよって復元する。
第一の復元方法は、第一の実施形態の同様に、操作ログデータ52Bに基づいて画面61を再現する方法である。
一方、第二の復元方法は、イベントログデータ51Bに基づいて画面61を再現する方法である。第二の復元方法については、後に詳細に説明する。
第二の実施形態における画像処理システム4の全体的な構成は、第一の実施形態の場合と同様であり、図1に示した通りである。
画像形成装置1および端末装置2それぞれのハードウェアの構成も、第一の実施形態の場合と同様であり、図2および図3に示した通りである。
ただし、画像形成装置1のROM10cまたは補助記憶装置10dには、サーバプログラム100の代わりにサーバプログラム100’が記憶されている。また、端末装置2のROM20cまたはフラッシュメモリ20dには、クライアントプログラム200の代わりにクライアントプログラム200’が記憶されている。
サーバプログラム100'によると、図16に示す次処理決定部131、画面描画部132、画像データ送信部133、操作データ受信部134、ログデータ記憶部135、アクセス時処理決定部136、および第二の画像データ送信部137などの機能が画像形成装置1に実現される。
クライアントプログラム200’によると、画像データ受信部231、リモート画面表示部232、第一の操作データ送信部233、ログデータ記憶部234、選択画面表示部235、モード通知部236、および第二の操作データ送信部237などの機能が端末装置2に実現される。
次処理決定部131ないしログデータ記憶部135の役割は、第一の実施形態の次処理決定部101ないしログデータ記憶部105(図4参照)の役割と基本的に同様である。また、画像データ受信部231ないし第二の操作データ送信部237の役割は、第一の実施形態の画像データ受信部201ないし第二の操作データ送信部207の役割と基本的に同様である。特に、復元の機能に依らず通常通りに画面61を表示する場合の処理は、第一の実施形態で説明した通りである。
一方、端末装置2が画像形成装置1へリモートアクセスし直した場合は、画像形成装置1および端末装置2それぞれの状態に応じて処理を実行する。
また、画像形成装置1は、サーバプログラム100’に基づいて、図17に示す手順で処理を実行する。端末装置2は、クライアントプログラム200’に基づいて、図18に示す手順で処理を実行する。
ところで、リモートアクセスが切断されると、従来、画像形成装置1は、リモートアクセスが切断された時点において端末装置2に表示させていた画面61を引き続きタッチパネルディスプレイ10eで表示することもあれば、リセットしてトップ画面61Aをタッチパネルディスプレイ10eで表示することもある。すなわち、画面61が、そのまま維持されていることもあれば、リセットされることもある。
一般に、所定の時間(例えば、スリープモードに切り換わるまでの時間)が経過したり、ユーザによってタッチパネルディスプレイ10eに対して特定の操作(例えば、リセットボタンの押下)が行われたりすると、画面61がリセットされる。
また、端末装置2は、リモートアクセスが切断されても、クライアントプログラム200’が起動したままである場合と、そうでない場合とが、ある。
異常の発生またはユーザの操作ミスなどが原因でクライアントプログラム200’が終了したことによってリモートアクセスが切断したのであれば、クライアントプログラム200’は、当然、起動したままではない。しかし、通信回線3の異常またはサーバプログラム100’の異常などが原因でリモートアクセスが切断したのであれば、クライアントプログラム200’が起動したままであることがある。
つまり、画面61がリセットされ、かつ、クライアントプログラム200’が終了した状態であることがある。以下、この状態を「状態a」と記載する。
または、画面61はリモートアクセスが切断された時点のままであり、かつ、クライアントプログラム200’が終了した状態であることがある。以下、この状態を「状態b」と記載する。
または、画面61はリセットされ、かつ、クライアントプログラム200’が起動したままの状態であることがある。以下、この状態を「状態c」と記載する。
または、画面61もリモートアクセスが切断された時点のままであり、かつ、クライアントプログラム200’も終了することなく起動したままの状態であることがある。以下、この状態を「状態d」を記載する。
以下、端末装置2が画像形成装置1へリモートアクセスし直した際の、画像形成装置1の各部および端末装置2の各部の処理およびユーザによる操作について説明する。第一の実施形態と重複する点は、説明を省略する。
端末装置2が画像形成装置1へリモートアクセスし直す処理が、従来と同様の方法によって行われる。
クライアントプログラム200’が終了している場合は、ユーザは、クライアントプログラム200’を起動させる。
選択画面表示部235は、クライアントプログラム200’の今回の起動が、前回のリモートアクセスを正常に終了することなく行う再起動である場合に(図18の#821)、選択画面62(図6参照)をタッチパネルディスプレイ20eに表示させる(#822)。
ここで、ユーザは、前回のリモートアクセスが切断される直前までの状態を復元させるために、ボタン62bをタッチする。
すると(#823でYes)、復元モードが端末装置2に設定され(#824)、モード通知部236は、復元モード通知データ52Eおよびステータスデータ52Gを画像形成装置1へ送信する(#825)。ステータスデータ52Gには、今回のリモートアクセスの際にクライアントプログラム200’が起動されたのか、または、前回から引き続きクライアントプログラム200’が起動しているのかが、示される。さらに、端末装置2自身の識別子が示される。
また、この際に、ログデータ記憶部234は、操作ログデータ52Bが削除されていれば、バックアップファイル52Dに含まれる操作ログデータ52Bを記憶し直す。
画像形成装置1において、復元モード通知データ52Eが送信されてきたら(図17の#801でYes)、復元モードが設定される(#802)。この際に、ログデータ記憶部135は、イベントログデータ51Bが削除されてしまっている場合は、バックアップファイル51Dに含まれるイベントログデータ51Bを記憶し直す。
復元モード通知データ52Eとともに受信したステータスデータ52Gに、今回のリモートアクセスの際にクライアントプログラム200’が起動された旨が示される場合は(#803でYes)、画面61の状況に応じて次のように処理が行われる。
画面61がリセットされている場合つまりタッチパネルディスプレイ10eにトップ画面61Aが表示されている場合は(#804でYes)、アクセス時処理決定部136は、第一の復元方法で画面61を復元する処理を実行すべきであると決定する(#805)。
すると、次処理決定部131ないし操作データ受信部134は、第一の実施形態の次処理決定部101ないし操作データ受信部104と同様に処理を行う(#806)。処理の詳細は、図12および図15などで説明した通りである。ただし、さらに、第二の画像データ送信部137が、第一の復元方法を使用することを端末装置2へ通知する。
端末装置2において、第一の復元方法を使用することが通知された場合は(#826でYes)、端末装置2の画像データ受信部231および第二の操作データ送信部237は、第一の実施形態の画像データ受信部201ないし第二の操作データ送信部207と同様に処理を行う(#827)。処理の詳細は、図12および図13〜図14などで説明した通りである。
一方、画面61が前回のリモートアクセスのまま維持されている場合は(#804でNo)、アクセス時処理決定部136は、前回のリモートアクセスの際に保存したバックアップファイル51Dに対応付けられている識別子と、受信したステータスデータ52Gに示される識別子とを照合する(#807)。
両者が一致する場合は(#808)、アクセス時処理決定部136は、第二の復元方法で画面61を復元する処理を実行すべきであると決定する(#809)。
そして、第二の画像データ送信部137は、第二の復元方法で画面61を復元する処理を実行する(#810)。
具体的には、第二の画像データ送信部137は、ログデータ記憶部135の中から、画像データ51Aの送信に関する最新のイベントログデータ51Bを検索し、そのイベントログデータ51Bに示される画像データ51Aを生成し、端末装置2へ送信するとともに、第二の復元方法を使用することを端末装置2へ通知する。なお、ログデータ記憶部135は、そのイベントログデータ51Bよりも後ろの(新しい)イベントログデータ51Bがあれば、それを削除する。
端末装置2において、第二の復元方法を使用することが通知された場合は(#826でNo、#828でYes)、画像データ受信部231は、画像データ51Aを受信し、リモート画面表示部232は、画像データ51Aに基づいて画面61を表示する(#829)。これにより、前回のリモートアクセスにおける最も新しい画面61が復元される。
なお、ログデータ記憶部234は、最新の操作ログデータ52Bがこの画面61に対応するものであれば、これを削除する。または、削除せずに、この操作ログデータ52Bに示される操作の内容を示すデータを第一の操作データ52Aとして画像形成装置1へ送信してもよい。これにより、前回のリモートアクセスの際に、この画面61に対してユーザが行った操作が画像形成装置1へ通知される。
ステップ#807における照合の結果、両者が一致しなかった場合は(#808でNo)、アクセス時処理決定部136は、リモートアクセスを終了すべきであると決定する(#811)。そして、リモートアクセスを終了するために、リモートアクセスの終了のメッセージを端末装置2へ送信するなどの処理を行う(#812)。
端末装置2において、このメッセージが受信されると(#830でYes)、リモートアクセスを終了するための処理が行われる(#831)。
ユーザは、前回のリモートアクセスで行った操作を無効にし、今回のリモートアクセスにおいて最初から操作を行いたい場合は、選択画面62においてボタン62aをタッチする。
すると(#823でNo)、第一の実施形態と同様、リセットのための処理が行われる(#832)。すなわち、モード通知部236は、操作モード通知データ52Fを画像形成装置1へ送信する。操作ログデータ52Bおよびバックアップファイル52Dが削除される。また、画像形成装置1において、イベントログデータ51Bおよびバックアップファイル51Dが削除される(#813)。
そして、画像形成装置1および端末装置2は、前回のリモートアクセスの際のログに依らず、ユーザによる操作に応じて処理を実行する(#814、#833)。
選択画面表示部235は、クライアントプログラム200’が終了することなくリモートアクセスが切断された場合に(#821でNo)、図19に示す再接続画面63をタッチパネルディスプレイ20eに表示させる(#834)。
ユーザが再接続ボタン63aをタッチすると、端末装置2に復元モードが設定され(#835)、モード通知部236は、復元モード通知データ52Eおよびステータスデータ52Gを画像形成装置1へ送信する(#836)。ここでは、ステータスデータ52Gには、前回から引き続きクライアントプログラム200’が起動している旨および端末装置2自身の識別子が示される。なお、ログデータ記憶部234は、操作ログデータ52Bが削除されていれば、バックアップファイル52Dに含まれる操作ログデータ52Bを記憶し直す。
すると、画像形成装置1において、復元モード通知データ52Eとともに受信したステータスデータ52Gに、前回から引き続きクライアントプログラム200’が起動している旨が示されるので(#803でNo)、画面61の状況に応じて次のように処理が行われる。
画面61が前回のリモートアクセスのまま維持されている場合は(#815でNo)、画像形成装置1の各部は、ステップ#807〜#812と同様の処理を行う。また、端末装置2も、画像形成装置1による処理に応じて上述の処理を行う。
一方、画面61がリセットされている場合は(#815でYes)、選択画面62においてボタン62aがタッチされた場合と同様に、画像形成装置1のログデータ記憶部135は、前回のリモートアクセスのイベントログデータ51Bおよびバックアップファイル51Dの削除(ログのリセット)を行い、端末装置2へリセットを通知する(#813)。
端末装置2において、ログデータ記憶部234は、この通知を受け付けると(#837でYes)、前回のリモートアクセスの操作ログデータ52Bおよびバックアップファイル52Dを削除する(#832)。
そして、画像形成装置1および端末装置2は、前回のリモートアクセスの際のログに依らず、ユーザによる操作に応じて処理を実行する(#814、#833)。
なお、画面61の復元が完了したら、画像形成装置1および端末装置2において、復元モードが解除される。そして、ユーザの操作に応じて処理が記載される。
第二の実施形態によると、一定の条件を満たす場合においては、画像形成装置1に記憶したログ(イベントログデータ51B)に基づいて、第一の実施形態よりも速く、リモートアクセスの切断前の画面を復元することができる。
第二の実施形態では、ユーザが再接続画面63においてボタン63aをタッチした際に、モード通知部236は、復元モード通知データ52Eおよびステータスデータ52Gを画像形成装置1へ送信したが、ボタン63aに対する操作に関わらず定期的に送信してもよい。または、定期的に送信しつつ、ボタン63aがタッチされた場合にも送信してもよい。
第二の実施形態において、何らかの不具合によって、画像データ51Aの送信に関する最新のイベントログデータ51Bに示される画面61と最新の操作ログデータ52Bに示される画面61とが一致しない場合がある。このような場合は、第一の復元方法で画面61を復元すればよい。
その他、画像処理システム4、画像形成装置1、端末装置2の全体または各部の構成、処理内容、処理順序、データの構成、画面の構成などは、本発明の趣旨に沿って適宜変更することができる。