以下、本発明の実施形態について、詳細に説明する。
[実施形態1]
<複合機制御システムの構成>
図1は、本実施形態の複合機制御システムの概略構成を示すブロック図である。本実施形態の複合機制御システムは、図1に示すように、複合機1と、情報処理装置51とを含んでおり、これらの装置がネットワーク50を介して接続されている。もちろん、複合機制御システムに含まれる複合機1の台数は複数であってもよく、情報処理装置51の台数も複数であってもよい。
なお、複合機1と情報処理装置51とが接続されるネットワークとしては、インターネット、電話線、シリアルケーブル、または、他の有線回線もしくは無線回線などの通信回線が利用できる。そして、複合機1と情報処理装置51とは、ウェブページの要求および送信に用いられるプロトコルであるHTTP(ハイパーテキスト転送プロトコル)を用いて通信を行う。
複合機1は、情報処理装置51から操作画面データを受け取り、当該操作画面データで示される操作画面を表示させる。そして、複合機1は、操作画面に対して入力された指示に従って、当該指示に応じたジョブ(例えば、スキャンジョブ、プリントジョブ等の処理)を実行する。
情報処理装置51は、CPUや専用プロセッサなどの演算処理部、および、RAM、ROM、HDDなどの記憶部などにより構成されるコンピュータ装置であり、複数の複合機1に対するウェブサーバ装置として機能するものである。情報処理装置51は、図1に示されるように、第2通信部52と、第2ウェブサーバ部53と、外部アプリケーション部54とを備えている。
第2通信部52は、LANやインターネット回線等を介して複合機1と通信するものである。また、第2通信部52は、HTTPの通信プロトコルを用いて複合機1と通信する。
第2ウェブサーバ部53は、第2通信部52を介した複合機1からの要求を受信し、当該要求に応じたHTMLファイルや画像データ、印刷データなどを、第2通信部を介して当該複合機1に返信する機能を有するブロックである。
外部アプリケーション部54は、第2ウェブサーバ部53からの指示に応じて、所定のアプリケーションに従った動作を行うブロックである。
例えば、外部アプリケーション部54は、複合機1からの要求が操作画面の送信要求である場合、操作画面送信アプリケーションに従った動作を行う。具体的には、外部アプリケーション部54は、当該送信要求で示される操作画面のHTMLデータを記憶部から読み出し、第2ウェブサーバ部53に送る。
また、外部アプリケーション部54は、複合機からの要求が印刷データの送信要求である場合、印刷アプリケーションに従った動作を行う。具体的には、外部アプリケーション部54は、当該送信要求で示されるアドレスのフォルダから指定された印刷データを取得し、その印刷データを第2ウェブサーバ部53に送る。
さらに、外部アプリケーション部54は、複合機1からの要求がユーザの認証要求である場合、認証アプリケーションに従った動作を行う。具体的には、外部アプリケーション部54は、当該認証要求で示されるユーザ名やパスワード等を用いて認証処理を行い、その認証結果を示すHTMLデータを第2ウェブサーバ部53に送る。
本実施形態では、外部アプリケーション部54は、複合機1の機能(例えば、スキャン機能やプリント機能など)を実行させるために、複合機1内部の第1ウェブサーバ部8にアクセスさせるHTMLデータを複合機1に送信する。これにより、複合機1は、外部アプリケーション部54を有する情報処理装置51からの制御コマンドではなく、内部の第1ウェブサーバ部8からの制御コマンドに従って各種の機能を実行させることができる。複合機1と情報処理装置51との間の通信はHTTPによって行われるため、複合機1と情報処理装置51との間において制御コマンドの通信を遮断するファイアーウォールが存在していたとしても、複合機1は、情報処理装置51から受けた操作画面に対するユーザからの入力に従って、正常に各種の機能を実行することができる。
例えば、外部アプリケーション部54は、操作画面上において複合機1の機能(例えば、スキャン機能やプリント機能など)を実行するためのボタンが押下されたときに複合機1の内部の制御アプリケーションにアクセスさせるためのループバックアドレスを記したHTMLデータを生成し、第2ウェブサーバ部53および第2通信部52を介して、複合機1に送信する。または、外部アプリケーション部54は、複合機1の機能を呼び出すコールを示すHTTPリクエスト(呼出要求)を複合機1から受け取った場合、複合機1内部のウェブサーバ部9にアクセスさせるために、URLが変更されたことを示すHTTPリダイレクトを記したHTMLデータを複合機1に送信してもよい。
<複合機の構成>
次に、複合機1の構成について説明する。複合機1は、コピー機能、スキャン機能、プリント機能、ファクシミリの送受信機能、画像データの送信機能などの複数の機能を実行することが可能な装置である。なお、本実施形態に特徴的な機能についてのみ説明し、他の機能の説明については省略する。
図1に示されるように、複合機1は、画像読取部2と、画像形成部3と、操作部4と、ウェブブラウザ部(要求部)5と、第1通信部6と、機器制御部7と、第1ウェブサーバ部8と、制御アプリケーション部(アプリケーション実行部)9とを備えている。
操作部4は、ユーザに対して情報を通知するとともに、ユーザからの入力を受け付けるユーザインターフェイスである。操作部4は、液晶ディスプレイなどの表示部10と、タッチパネルで構成された入力部11とを備えている。なお、入力部11は各種の入力キーを含む構成であってもよい。
画像読取部2は、スキャナと、原稿をスキャナの位置まで搬送する原稿搬送部とを含んでおり、原稿に印刷された文字や画像などを画像データとして読み取るものである。
画像形成部3は、用紙などのシートに対して、入力画像データに対応する画像(文字/写真/グラフィック)を印刷するためのものであり、感光体ドラム、帯電装置、露光装置、現像装置、転写装置、定着装置などを含む印刷機能および用紙トレイなどを含む。
第1通信部6は、情報処理装置51などの外部の装置との間での通信を行うためのインターフェイスである。本実施形態では、上述したように、第1通信部6は、情報処理装置51とHTTPを用いて通信する。
ウェブブラウザ部5は、汎用されている、または市販のウェブブラウザのソフトウェアに従った動作を行うものである。ウェブブラウザ部5は、情報処理装置51が有する第2ウェブサーバ部53だけでなく、複合機1内部の第1ウェブサーバ部8に対してHTTPを用いて通信を行うことができる。
本実施形態では、ウェブブラウザ部5は、操作画面のデータ、印刷データ、またはユーザ認証処理等を要求する場合であり、複合機1の各種機能(例えば、スキャン機能やプリント機能)を実行するための制御コマンドを要求しない場合に、情報処理装置51が有する第1ウェブサーバ部8と通信する。一方、ウェブブラウザ部5は、複合機1の各種機能(例えば、スキャン機能やプリント機能)を実行するための制御コマンドを要求する場合には、複合機1内部の第1ウェブサーバ部8と通信するように設定されている。この設定の具体例については後述する。
第1ウェブサーバ部8は、ウェブブラウザ部5からの要求(HTTPリクエスト)を受信し、当該要求に応じたアプリケーションを実行させるものである。第1ウェブサーバ部8は、例えば「Appweb」等の、一般的な(市販の)ウェブサーバプログラムに従って動作する。
制御アプリケーション部9は、ウェブサーバ上で動作するウェブアプリケーションに従った処理を実行するものである。制御アプリケーション部9は、例えば「EJscript」等の、一般的な(または市販の)ウェブアプリケーション実行環境を備える。「EJscript」は、サーバサイドJavaScript(登録商標)実行環境を提供するプログラムであり、JavaScript(登録商標)で記述されたウェブアプリケーションを実行することができる。また、制御アプリケーション部9は、各種アプリケーションを記憶する。図2は、制御アプリケーション部9の概略構成を示すブロック図である。制御アプリケーション部9は、バックアップアプリケーション等の制御アプリケーション部9で実行可能なアプリケーションを有し、データおよび他のアプリケーションを記憶する記憶部を備える。また、制御アプリケーション部9は、複合機が有する機能を実行させるためのコピーアプリケーション等の制御アプリケーションを有する。制御アプリケーション部9は、複合機1の各種機能(例えば、スキャン機能、プリント機能、およびコピー機能等)を実行させる必要がある場合、当該機能を実行させるための制御アプリケーションを実行し、制御指示を機器制御部7に送る。これにより、複合機1の機能を実行させることができる。
機器制御部7は、複合機1の各種機能を制御するものである。具体的には、機器制御部7は、画像読取部2、画像形成部3、操作部4、および第1通信部6等の各部の動作を制御する。
例えば、機器制御部7は、画像読取部2の動作を制御して、スキャン画像のデータを取得する。また、機器制御部7は、画像形成部3の動作を制御して、入力された画像データで示される画像を用紙上に形成し、出力する。さらに、機器制御部7は、第1通信部6を用いて、入力された画像データを指定された外部のリソースに格納したり、入力された画像データを電子メールに添付して、指定されたアドレスに送信する。
複合機1が起動されると、機器制御部7は、ウェブブラウザ部5を起動させ、予め設定されたURL(本実施形態では、情報処理装置51の第2ウェブサーバ部53に対して初期操作画面の送信を要求するURLである)に従った処理を実行させる。そして、機器制御部7は、制御アプリケーション9から制御指示を受けつけ、当該制御指示に従った制御を行う。
機器制御部7は、複合機1の機種に依存しない制御コマンドを受け付け可能なOpenI/F部71を備えている。OpenI/F部71は、複合機1の各種の機能を制御するための制御コマンド(API:Application Programing Interface)を制御アプリケーション部9に公開しており、制御アプリケーション部9から制御コマンドを受け付けるとともに、受け付けた制御コマンドを、機器制御部7で認識可能なコマンドに変換するものである。
OpenI/F部71は、外部に公開している制御コマンドと、機器制御部7で認識可能なコマンドとを対応付けた変換テーブルを記憶する変換テーブル記憶部(図示せず)を備えており、当該変換テーブルに従って、コマンドの変換処理を行う。
このように、OpenI/F部71は、複合機の機種によらない共通の制御コマンドを受け付け可能である。これにより、制御アプリケーション部9を動作させるためのアプリケーションは、複合機によらず共通のものを用いることができる。そのため、新たなアプリケーションに従って制御アプリケーション部9を動作させる場合、各複合機に対して同じアプリケーションをインストールするだけでよく、複合機ごとにアプリケーションの変更を行う必要がなくなる。これにより、制御アプリケーション部9を動作させるためのアプリケーションの開発を容易に行うことができる。
<ユーザ認証処理>
複合機1は、部外者など意図しないユーザによる使用を制限するために、ユーザの認証を行い、認証が成功した場合に一部の機能が使用可能になる。複合機1は、ユーザの認証をするために、認証アプリケーションを実行するサーバ51にネットワーク50を介して接続されている。
複合機1において原稿のコピー処理を実行する場合にユーザの認証が必要であるとする。まだユーザが認証されていない状態(待機状態)において、複合機1は、初期操作画面を表示部10に表示している。図3は、複合機1の表示部10に表示される初期操作画面の一例を示す図である。コピー処理はユーザが認証されていない段階では実行不可能のため、コピーボタン61は、選択不可能であることを示すため、例えば網掛けで表示される。なお、初期操作画面のHTMLコードは、情報処理装置51(図1参照)の外部アプリケーション部54によって生成され、複合機1に送信され、ウェブブラウザ部5によって解釈され表示部10に表示される。
ユーザは、タッチパネルを介して操作画面の認証ボタン62を押すことにより、原稿のコピー処理を複合機1に指示する。入力部11は、ユーザの指示入力をウェブブラウザ部5に出力する。認証ボタンは、外部のサーバ51による認証アプリケーションを呼び出す指示をするものであり、URL「http://xxx.123.123.123/app/auth」にアクセスする指示をする。ここで、「xxx.123.123.123」はサーバ51のIP(Internet Protocol)アドレスであり、「app/auth」はサーバ51上の認証アプリケーションのURIを示す。ウェブブラウザ部5は、URL「http://xxx.123.123.123/app/auth」にアクセスするためのHTTPリクエストを第1通信部6に出力する。第1通信部6は、HTTPリクエストに従って、ネットワーク50を介してIP「xxx.123.123.123」のサーバ51にHTTPリクエストを送信する。
サーバ51の第2通信部52は、複合機1からのHTTPリクエストを受け取ると、HTTPリクエストをサーバ51が備える第2ウェブサーバ部53に出力する。第2ウェブサーバ部53は、例えば「Appweb」等の、一般的な(市販の)ウェブサーバプログラムに従って動作する。複合機1からのHTTPリクエストを受け取った第2ウェブサーバ部53は、HTTPリクエストに従ってURI「app/auth」に示される認証アプリケーションを呼び出すコールを外部アプリケーション部54に送信する。
外部アプリケーション部54は、各種の処理を行う複数のアプリケーションを実行する。本実施形態では、外部アプリケーション部54は、例えば「EJscript」等の、一般的な(市販の)ウェブアプリケーション実行環境を備える。「EJscript」は、サーバサイドJavaScript(登録商標)実行環境を提供するプログラムであり、JavaScript(登録商標)で記述されたウェブアプリケーションをサーバサイド(サーバ51上で)実行し、結果を生成する。ただし、アプリケーションは他のプログラミング言語で記述またはコンパイルされていてもよく、外部アプリケーション部54および制御アプリケーション部9の両方で実行可能であればよい。
JavaScript(登録商標)で記述された認証アプリケーションは、外部アプリケーション部54で実行され、複合機1の表示部10に表示するための認証情報の入力を促す認証情報入力画面のデータを生成する。具体的には、認証アプリケーションは、図4(a)に示すHTMLのコードを生成する。第2ウェブサーバ部53は、認証アプリケーションからHTMLのコードを受け取り、これをHTTPレスポンス(応答)として第2通信部52に出力する。第2通信部52は、ネットワーク50を介してHTTPレスポンスを複合機1に送信する。
複合機1の第1通信部6は、サーバ51から受け取ったHTTPレスポンスを複合機1上のウェブブラウザ部5に出力する。ウェブブラウザ部5は、受け取ったHTTPレスポンスを解釈し、HTTPレスポンスに含まれるHTMLのコードに従って認証情報入力画面のデータを生成し、表示部10に認証情報入力画面を表示させる。図4(b)は、図4(a)に示すHTMLコードをウェブブラウザ部5によって描画した認証情報入力画面を示す図である。このようにして、複合機1は、表示部10に表示する画面情報を、外部のサーバ51上で動作するアプリケーションから取得する。
ユーザは、ユーザ認証をするために、図4(b)に示す認証情報入力画面の入力ボックスにユーザID(ログイン名)とパスワードとを入力し、「ログイン」ボタンを押すことにより、ウェブブラウザ部5を介してユーザIDおよびパスワードがHTTPリクエストとして情報処理装置51に送信される。この場合、図4(a)に示すようにform要素の中でaction属性に指定されているURL「http://xxx.123.123.123/app/auth」に対して、ユーザが入力した認証情報(ユーザIDおよびパスワード)がGETメソッドによる引数として、HTTPリクエストによって送信される。なお、POSTメソッドを用いてHTTPリクエストを行ってもよい。
情報処理装置51には、利用可能なユーザのユーザIDおよびパスワードが記載されたユーザリストが予め登録されている。情報処理装置51の外部アプリケーション部54で動作する認証アプリケーションは、複合機1より認証情報を受信した場合、ユーザリストを参照して、認証情報に含まれるユーザおよびパスワードの組がユーザリストに含まれていればユーザ認証が成功したと判定し、その他の場合はユーザ認証が失敗したと判定する。
ユーザ認証が失敗の場合、認証アプリケーションは、ユーザIDとパスワードの再入力を促す認証情報入力画面のHTMLコードを生成し、HTTPレスポンスとして複合機1に送信する。
ユーザ認証が成功の場合、認証アプリケーションは、複合機1に認証成功を示すHTTPレスポンスを送信する。具体的に一例を挙げると、ユーザ認証が成功の場合、認証アプリケーションは、認証が必要な機能を実行するための操作画面のHTMLコードを生成し、HTTPレスポンスとして複合機1に送信する。複合機1のウェブブラウザ部5は、受信したHTMLコードを解釈し、表示部10に表示させる。
また、ユーザ認証が成功の場合、認証アプリケーションは、複合機1の第1ウェブサーバ部8に対して、制御アプリケーション部9上で動作するバックアップアプリケーションをコールするHTTPリクエストを送信する。複合機1のバックアップアプリケーションは認証アプリケーションと協働し、情報処理装置51の認証アプリケーションそのもの、およびユーザリストを複合機1にダウンロード(取得)し、制御アプリケーション部9内の記憶部に保存する。また同時に、バックアップアプリケーションは、情報処理装置51上の初期操作画面を生成するアプリケーション(または初期操作画面のHTMLコード)をダウンロードし、制御アプリケーション部9内の記憶部に保存する。制御アプリケーション部9は、バックアップアプリケーションを実行して情報処理装置51のアプリケーションを保存する保存部として動作する。
図5は、複合機1の表示部10に表示される認証成功後の操作画面の一例を示す図である。認証成功後の操作画面では、実行するために認証が必要な機能がユーザによって選択可能、すなわちユーザがコピーボタン61を選択できるようになっている。また、認証成功後の操作画面には、ユーザ認証が成功したことを示す情報63と認証したユーザIDとが表示されている。ユーザは、選択可能になったコピーボタン61をタッチパネルを介して選択することにより、複合機1にコピー機能を実行させることができる。
ユーザがコピーボタン61を選択すると、ウェブブラウザ部5は、コピーボタン61に設定されているURL「http://127.0.0.1/copy」にアクセスするHTTPリクエストを第1通信部6に出力する。
ここで「127.0.0.1」は、自身を示す予約されたIPアドレスであるので、当該HTTPリクエストは、複合機1が複合機1自身の有するURI「copy」のアプリケーションをコールするループバックコールである。第1通信部6は、HTTPリクエストの宛先が自身を示すループバックコールであるので、当該HTTPリクエストを複合機1内部の第1ウェブサーバ部8へ転送する。
第1ウェブサーバ部8は、HTTPリクエストを解釈し、制御アプリケーション部9上で動作するURI「copy」が示すアプリケーション、すなわちコピーアプリケーションをコールする。コピーアプリケーションは、コピー操作画面のHTMLコードを生成し、第1ウェブサーバ部8を介してHTTPレスポンスとしてウェブブラウザ部5に送信する。
コピー操作画面は、コピーを実行する際にユーザによって指定される情報をユーザが設定するための操作画面である。ユーザは、コピー操作画面において、例えばコピー枚数、用紙サイズ、拡大縮小倍率等の設定項目を入力または選択可能である。コピー操作画面に設けられた「コピー実行」のためのボタンがユーザに選択されると、設定したコピー枚数等の情報を含んだHTTPリクエストがウェブブラウザ部5から第1通信部6に出力される。このHTTPリクエストは、URL「http://127.0.0.1/copy」にアクセスするものであり、「コピー実行」が選択されたことを示す情報(例えばform要素の中で指定される変数「exe」の値が「1」)、および、コピー枚数等の設定情報がGETメソッドによる引数として含まれる。
第1通信部6は、ループバックコールであるこのHTTPリクエストを複合機1内の第1ウェブサーバ部8に送信する。第1ウェブサーバ部8は、URL「http://127.0.0.1/copy」で指定されるコピーアプリケーションをコールし、「コピー実行」が選択されたことを示す情報、および、コピー枚数等の設定情報をコピーアプリケーションに渡す。コピーアプリケーションは、「コピー実行」が選択されたことを示す情報が含まれている場合、設定情報に従ってコピーを実行する制御コマンドを機器制御部7に入力する。
機器制御部7は、OpenI/F部71でコピーを実行する制御コマンドを受け取り、制御コマンドを機器制御部7で認識可能なコマンドに変換する。機器制御部7は、変換されたコマンドに従ってコピー処理を実行する。変換されたコマンドに従った機器制御部7の処理、および、画像読取部2、ならびに画像形成部3が行う処理は従来と同様であるので、その詳細な説明は省略する。
コピー処理が完了すると、機器制御部7は、制御アプリケーション部9のコピーアプリケーションにコピーが完了したことを通知するコマンドをOpenI/F部71を介して送信する。OpenI/F部71は、機器制御部7からのコマンドをコピーアプリケーションが認識可能な制御コマンドに変換し、制御コマンドをコピーアプリケーションに渡す。
コピーが完了した通知を受け取ったコピーアプリケーションは、コピーが完了したことをユーザに示すHTMLコードを生成し、第1ウェブサーバ部8が上記HTMLコードをHTTPレスポンスとして第1通信部6を介してウェブブラウザ部5に送信する。
ウェブブラウザ部5は、HTTPレスポンスを解釈し、表示部10に、コピーが完了したことを示す操作画面を表示する。該操作画面は、表示してから所定の時間が経過した後に、図3に示す初期操作画面を要求するようHTMLによって設定されており、ウェブブラウザ部5は、所定の時間が経過すると情報処理装置51の第2ウェブサーバ部53に対して初期操作画面の送信を要求する。
なお、ユーザ認証が成功した情報を所定の時間ウェブブラウザ部5のクッキー(cookie)に保存するようにしてもよい。これによれば、ユーザ認証が成功してから所定の時間の間であれば、他の処理を行うために再度ユーザIDおよびパスワードを入力しなくても複合機1を使用可能とすることができる。また、ユーザIDおよびパスワード等の送受信は、セキュリティを考慮してSSL(Secure Sockets Layer)によって暗号化されたHTTPを用いて行ってもよい。
本実施形態によれば、ユーザ認証のためのデータ(ユーザIDおよびパスワード)を複合機1の外部の情報処理装置51に保存し、情報処理装置51上のデータを変更または更新することにより、ユーザの管理を行うことができる。そのため、複数の複合機のユーザを情報処理装置51によって管理する場合、情報処理装置51上で一元的に管理することができる。そのため、ユーザ情報等の管理に係る労力を削減することができる。また、上述した認証アプリケーションは、情報処理装置51で行う処理の一例であり、他のアプリケーションを情報処理装置51に登録して複合機1上から呼び出すことができる。例えば、情報処理装置51の外部アプリケーション部54に画像処理アプリケーションを登録し、複合機1から画像処理アプリケーションを呼び出して情報処理装置51によってスキャン画像の画像処理を行い、画像処理を行った画像を複合機1で印刷するということを行うことが可能である。これにより、サーバが有する高い処理能力およびメモリリソース等を活用することができる。また、情報処理装置51上の認証アプリケーションまたは画像処理アプリケーション等の各アプリケーションを新しいものに更新することにより、複合機1が利用する各アプリケーションをバージョンアップすることができる。
また、ウェブブラウザ部5は、一般的なウェブブラウザと同様に、HTTPによって第1ウェブサーバ部8および第2ウェブサーバ部53と通信を行う。第1ウェブサーバ部8および第2ウェブサーバ部53も同様に、一般的なウェブサーバと同様にサーバアプリケーションを起動し、また、HTTPによってウェブブラウザ部5と通信を行う。そのため、ウェブブラウザ部5は、一般的な(市販の)ウェブブラウザソフトをそのまま利用することができ、複合機1用にカスタマイズする必要がない。同様に、第1ウェブサーバ部8および第2ウェブサーバ部53は、一般的なウェブサーバソフトをそのまま利用することができ、複合機1用にカスタマイズする必要がない。それゆえ、ウェブブラウザソフトまたはウェブサーバソフトをバージョンアップする必要がある場合でも、新しいバージョンのウェブブラウザソフトまたはウェブサーバソフトを改造せずにそのまま利用することができる。そのため、複合機1および情報処理装置51の保守管理を容易に行うことができる。
<接続が確立できない場合のユーザ認証処理>
次に、複合機1と情報処理装置51との間で接続が確立できない場合について説明する。まだユーザ認証が済んでいない段階で、図3に示す初期操作画面が表示部10に表示されているとし、ユーザが認証ボタン62を選択したとする。第1通信部6(図1参照)は、URL「http://xxx.123.123.123/app/auth」(情報処理装置51上の認証アプリケーション)へのアクセス要求を含むHTTPリクエストを情報処理装置51に送信する。
何らかの原因により、ネットワーク50を介した複合機1と情報処理装置51との接続が確立できない場合、第1通信部6は、情報処理装置51から正常な応答を得ることができない。所定の時間の内に接続を確立することができない場合、第1通信部6は、情報処理装置51への接続を中止し、当該HTTPリクエストのURL「http://xxx.123.123.123/app/auth」のIPアドレス「xxx.123.123.123」をループバックアドレス「127.0.0.1」に書き換えて、当該HTTPリクエストを複合機1内の第1ウェブサーバ部8に送信する。
HTTPリクエストを受け取った第1ウェブサーバ部8は、以前にユーザ認証が成功したときにバックアップアプリケーションによって制御アプリケーション部9に保存した認証アプリケーションをコールする。本実施形態では、認証アプリケーションはJavaScript(登録商標)で記述されており、情報処理装置51と同様に、制御アプリケーション部9で実行可能である。そのため、制御アプリケーション部9上の認証アプリケーションは、図4(b)に示す認証情報入力画面を表示部10に表示させることができる。
次に、ユーザが、ユーザ認証を行うために認証情報の入力を行うと、第1通信部6は情報処理装置51へHTTPリクエストを送信することを試みる。所定の時間の内に接続を確立することができない場合、先の場合と同様に、第1通信部6は、情報処理装置51への接続を中止し、当該HTTPリクエストを複合機1内の第1ウェブサーバ部8に送信する。第1ウェブサーバ部8は、制御アプリケーション部9に保存した認証アプリケーションをコールし、制御アプリケーション部9上の認証アプリケーションは、同じく制御アプリケーション部9に保存されているユーザリストを参照して、ユーザの認証を行う。
ユーザ認証が成功の場合、制御アプリケーション部9上の認証アプリケーションは、ウェブブラウザ部5に認証成功を示すHTTPレスポンスを送信する。具体的に一例を挙げると、ユーザ認証が成功の場合、認証アプリケーションは、認証が必要な機能を実行するための操作画面のHTMLコードを生成し、HTTPレスポンスとして第1通信部6に送信する。複合機1の第1通信部6は、当該HTTPレスポンスをウェブブラウザ部5に出力する。その後の処理は同様であるので説明を省略する。
また、所定の時間の内に接続を確立することができない場合、第1通信部6は、複合機1の制御アプリケーション部9上で動作するジョブ記録アプリケーションを起動するHTTPリクエストを複合機1の第1ウェブサーバ部8に送信する。通常、複合機1は、実行したジョブ(スキャンまたは印刷等の処理)の履歴を情報処理装置51に送信し、情報処理装置51は、ジョブおよびユーザ認証の履歴をデータベースに記憶する。これにより、ユーザ毎または処理毎の複合機1の利用頻度(例えば、ユーザ毎の印刷枚数の記録等)を確認することができる。ジョブ記録アプリケーションは、複合機1と情報処理装置51との接続が確立できない間に複合機1で実行されたジョブおよびユーザ認証の履歴を記憶しておき、情報処理装置51との接続が回復した後に、情報処理装置51にジョブおよびユーザ認証の履歴を送信する。これにより、情報処理装置51は、複合機1との接続が切断されていた間の複合機1の利用履歴を得ることができる。起動されたジョブ記録アプリケーションは、実行されたジョブおよびユーザ認証の履歴を記憶し、例えば所定の期間毎に情報処理装置51への接続を試み、情報処理装置51との接続が確立されると、ジョブおよびユーザ認証の履歴を情報処理装置51に送信し、処理を終了する。これにより、情報処理装置51は、利用履歴の記録を正確に保存することができる。
本実施形態では、複合機1は、制御アプリケーション部9上に保存された認証アプリケーションによって、情報処理装置51との接続が確立できない場合においても、ユーザ認証を行うことができる。複合機1は、情報処理装置51上の認証アプリケーションおよびユーザリストをダウンロードして利用するので、認証アプリケーションおよびユーザリストの保守管理(変更およびバージョンアップ等)は情報処理装置51に対して行うだけでよい。また、情報処理装置51との接続が確立できない場合においても、同じ認証アプリケーションを使用してユーザ認証を行うので、情報処理装置51で認証を行う場合も複合機1内で認証を行う場合もユーザの操作性(操作画面および入力操作手順)は同一のものとなり、ユーザの利便性を向上することができる。
また、上述した認証アプリケーションは一例であり、情報処理装置51上の他のアプリケーションを使用した場合に、当該アプリケーションを複合機1内にダウンロードし、情報処理装置51との接続が確立できない場合に、複合機1の制御アプリケーション部9上でダウンロードしたアプリケーションを実行するよう構成してもよい。また、複合機1は、複合機1の起動時、所定の時刻、または所定の時間間隔等の任意のタイミングでバックアップアプリケーションを起動してもよく、起動されたバックアップアプリケーションは、情報処理装置51上の予め定められた複数のアプリケーションを複合機1内にダウンロードして保存してもよい。なお、情報処理装置51は、外部アプリケーション部54で動作し、外部アプリケーション部54のアプリケーションを読み出すことを許可する(アプリケーションそのものを複合機1に送信する)バックアップ許可アプリケーションを有し、バックアップアプリケーションは、バックアップ許可アプリケーションをコールして情報処理装置51のアプリケーションを取得するよう構成してもよい。
<連携処理フロー>
次に、複合機1が情報処理装置51上のアプリケーションをコールする場合の処理のフローを説明する。図6は、本実施形態における複合機1が情報処理装置51上のアプリケーションと連携して処理を行うフローを示すフローチャートである。
ユーザの指示入力があると、ウェブブラウザ部5は、ユーザの指示入力に応じたHTTPリクエストを生成し、第1通信部6に入力する(S1)。
第1通信部6は、HTTPリクエストに基づき、情報処理装置51に接続を試み、接続が確立されると(S2でYes)、情報処理装置51にHTTPリクエストを送信する(S3)。
情報処理装置51は、HTTPリクエストに基づき、必要に応じてアプリケーション(またはHTML等のウェブコンテンツ)をコールして所定の処理を実行し、HTTPレスポンスを生成する。情報処理装置51は、このHTTPレスポンスを複合機1の第1通信部6に送信する(S4)。
HTTPレスポンスを受け取った第1通信部6は、HTTPレスポンスをウェブブラウザ部5に出力し、さらに制御アプリケーション部9のバックアップアプリケーションをコールする(S5)。
バックアップアプリケーションは、情報処理装置51から所定のアプリケーション(またはウェブコンテンツ)およびそれに関連するデータを取得し、制御アプリケーション部9に保存する(S6)。
また、所定の時間内に接続が確立できない場合(S2でNo)、第1通信部6は、受け取ったHTTPリクエストの宛先を複合機1の第1ウェブサーバ部8を示すループバックコールに書き換え、HTTPリクエストを第1ウェブサーバ部8に送信する(S7)。
HTTPリクエストに指定されるアプリケーション(またはウェブコンテンツ)が制御アプリケーション部9に保存されていれば(S8でYes)、第1ウェブサーバ部8は、当該アプリケーション(またはウェブコンテンツ)をコールして所定の処理を実行し、HTTPレスポンスを生成する。第1ウェブサーバ部8は、このHTTPレスポンスを複合機1の第1通信部6に送信する(S9)。
HTTPリクエストに指定されるアプリケーション(またはウェブコンテンツ)が制御アプリケーション部9に保存されていなければ(S8でNo)、第1ウェブサーバ部8は、接続エラーを通知するHTTPレスポンスを生成し、複合機1の第1通信部6に送信する(S10)。
[実施形態2]
本実施形態では、ネットワークによる接続が確立できない場合に、救済モードを実行する複合機について説明する。尚、説明の便宜上、実施形態1にて説明した図面と同じ機能を有する部材・構成については、同じ符号を付記し、その詳細な説明を省略する。
<複合機制御システムの構成>
本実施形態の複合機21は、実施形態1と同様に、ネットワークで接続された情報処理装置51にHTTPリクエストを送信し、ユーザ認証等の処理を行わせる。複合機21は、情報処理装置51の処理結果に応じた処理および画面表示を行う。
本実施形態の複合機21は、情報処理装置51と接続可能(通信可能)なときに、情報処理装置51が生成する各種操作画面のHTML等のデータ、および、ユーザが入力した認証情報等を複合機21内に記憶しておき、情報処理装置51と接続が確立できない場合(通信不可能の場合)に、救済モードとして、記憶した各種操作画面のHTMLデータ、および、認証情報等を用いてユーザ認証を行う。
図7は、本実施形態の複合機制御システムの概略構成を示すブロック図である。図7に示されるように、複合機21は、画像読取部2と、画像形成部3と、操作部4と、ウェブブラウザ部5と、第1通信部22と、機器制御部7と、第1ウェブサーバ部8と、制御アプリケーション部(アプリケーション実行部、保存部、ジョブ送信部)23とを備えている。
図8は、制御アプリケーション部23の概略構成を示すブロック図である。制御アプリケーション部23は、画面データ保存アプリケーション、認証情報取得アプリケーション、救済モード実行アプリケーション、およびジョブ記録アプリケーション等の制御アプリケーション部23で実行可能なアプリケーションを有し、データを記憶する記憶部を備える。また、制御アプリケーション部23は、複合機が有する機能を実行させるためのコピーアプリケーション等の制御アプリケーションを有する。
<ユーザ認証処理>
実施形態1と同様に、原稿のコピー処理を実行する場合にユーザの認証が必要であるとする。複合機21が起動されたとき、ウェブブラウザ部5は、初期操作画面を情報処理装置51から取得するために、情報処理装置51の所定のURLにアクセスするHTTPリクエストを第1通信部22を介して情報処理装置51に送信する。
HTTPリクエストを受け取った情報処理装置51は、初期操作画面のHTMLコードを生成し、HTTPレスポンスとして複合機21に送信する。
情報処理装置51からのHTTPレスポンスを受信した複合機21の第1通信部22は、このHTTPレスポンスをウェブブラウザ部5に出力すると同時に、情報処理装置51からのHTTPレスポンスを情報として含んだ、複合機21の制御アプリケーション部23に記憶される画面データ保存アプリケーション宛のHTTPリクエストを生成し、第1ウェブサーバ部8に出力する。すなわち、画面データ保存アプリケーション宛のHTTPリクエストは、初期操作画面のHTMLコードおよび初期操作画面を取得するための情報処理装置51のURLを情報として含む。
第1通信部22からのHTTPリクエストを受け取った第1ウェブサーバ部8は、リクエストに従って、制御アプリケーション部23の画面データ保存アプリケーションをコールする。
画面データ保存アプリケーションは、第1通信部22からのHTTPリクエストに含まれる初期操作画面のHTMLコード(画面データ)を、初期操作画面を取得するための情報処理装置51のURL(またはそのURI)と対応付けて制御アプリケーション部23の記憶部に記憶する。また、ウェブブラウザ部5が情報処理装置51のURLにアクセスしたときに引数が設定されていた場合、引数を上記の画面データおよびURLと対応させて記憶する。
一方、情報処理装置51からのHTTPレスポンスを受け取ったウェブブラウザ部5は、当該HTTPレスポンスを解釈し、図3に示される初期操作画面を表示部10に表示する。
ユーザは、タッチパネルを介して操作画面の認証ボタン62(図3参照)を押すことにより、原稿のコピー処理を複合機21(図7参照)に指示する。入力部11は、ユーザの指示入力をウェブブラウザ部5に出力する。認証ボタンは、外部のサーバ51による認証アプリケーションを呼び出す指示をするものであり、URL「http://xxx.123.123.123/app/auth」にアクセスする指示をする。ウェブブラウザ部5は、URL「http://xxx.123.123.123/app/auth」にアクセスするためのHTTPリクエストを第1通信部22に出力する。第1通信部22は、HTTPリクエストに従って、ネットワーク50を介してIP「xxx.123.123.123」のサーバ51にHTTPリクエストを送信する。
サーバ51の第2通信部52は、複合機21からのHTTPリクエストを受け取ると、HTTPリクエストをサーバ51が備える第2ウェブサーバ部53に出力する。複合機21からのHTTPリクエストを受け取った第2ウェブサーバ部53は、HTTPリクエストに従ってURI「app/auth」に示される認証アプリケーションを呼び出すコールを外部アプリケーション部54に送信する。
外部アプリケーション部54は、各種の処理を行う複数のアプリケーションを実行する。認証アプリケーションは、外部アプリケーション部54で実行され、複合機21の表示部10に表示するための認証情報の入力を促す認証情報入力画面のデータを生成する。具体的には、認証アプリケーションは、図4(a)に示すHTMLのコードを生成する。第2ウェブサーバ部53は、認証アプリケーションからHTMLのコードを受け取り、これをHTTPレスポンスとして第2通信部52に出力する。第2通信部52は、ネットワーク50を介してHTTPレスポンスを複合機21に送信する。
複合機21の第1通信部22は、初期操作画面を取得した場合と同様に、このHTTPレスポンスをウェブブラウザ部5に出力すると同時に、情報処理装置51からのHTTPレスポンスを情報として含んだ、複合機21の制御アプリケーション部23に記憶される画面データ保存アプリケーション宛のHTTPリクエストを生成し、第1ウェブサーバ部8に出力する。
第1ウェブサーバ部8によってコールされた画面データ保存アプリケーションは、認証情報入力画面のHTMLコードと認証アプリケーションのURL「http://xxx.123.123.123/app/auth」(またはURI「app/auth」)を対応付けて制御アプリケーション部23の記憶部に記憶する。
一方、情報処理装置51からのHTTPレスポンスを受け取ったウェブブラウザ部5は、当該HTTPレスポンスを解釈し、図4(b)に示される認証情報入力画面を表示部10に表示する。
ユーザは、ユーザ認証をするために、図4(b)に示す認証情報入力画面の入力ボックスにユーザID(ログイン名)とパスワードとを入力し、「ログイン」ボタンを押すことにより、ウェブブラウザ部5を介して認証情報(ユーザIDおよびパスワード)がHTTPリクエストとして情報処理装置51に送信される。
情報処理装置51の外部アプリケーション部54で動作する認証アプリケーションは、複合機1より認証情報を受信した場合、情報処理装置51に予め登録されているユーザリストを参照して、認証情報に含まれるユーザおよびパスワードの組がユーザリストに含まれていればユーザ認証が成功したと判定し、その他の場合はユーザ認証が失敗したと判定する。
ユーザ認証が失敗の場合、認証アプリケーションは、ユーザIDとパスワードの再入力を促す認証情報入力画面のHTMLコードを生成し、HTTPレスポンスとして複合機1に送信する。ユーザ認証が失敗の場合、このHTTPレスポンスの、例えばヘッダに、ユーザ認証が失敗したことを示す所定のキーワード(文字列)の情報を含ませる。
複合機21の第1通信部22は、同様に、このHTTPレスポンスをウェブブラウザ部5に出力すると同時に、情報処理装置51からのHTTPレスポンスを情報として含む画面データ保存アプリケーション宛のHTTPリクエストを生成し、第1ウェブサーバ部8に出力する。同様に、第1ウェブサーバ部8によってコールされた画面データ保存アプリケーションは、ユーザIDとパスワードの再入力を促す認証情報入力画面のHTMLコードと情報処理装置51の認証アプリケーションのURL「http://xxx.123.123.123/app/auth」(またはURI「app/auth」)とを対応付けて制御アプリケーション部23の記憶部に記憶する。また、ウェブブラウザ部5が情報処理装置51のURLにアクセスしたときに引数が設定されていた場合、引数を上記の画面データおよびURLと対応させて記憶する。また、上記の画面データがユーザ認証が失敗の場合にユーザに示す操作画面であることを示す情報を、上記の画面データと対応させて記憶する。
ユーザ認証が成功の場合、認証アプリケーションは、複合機21に認証成功を示すHTTPレスポンスを送信する。具体的に一例を挙げると、ユーザ認証が成功の場合、認証アプリケーションは、図5に示すような認証が必要な機能を実行するための操作画面のHTMLコードを生成し、HTTPレスポンスとして複合機21に送信する。ユーザ認証が成功の場合、このHTTPレスポンスの、例えばヘッダに、ユーザ認証が成功したことを示す所定のキーワード(文字列)、認証したユーザIDおよびパスワードの情報を含ませる。これにより、このHTTPレスポンスを受け取った第1通信部22に、ユーザ認証が成功したことを識別させることができる。なお、ユーザIDおよびパスワードは所定の暗号化方法(例えばMD5、SHA−1等)で暗号化されていてもよい。
複合機21の第1通信部22は、このHTTPレスポンスをウェブブラウザ部5に出力する。また、複合機21の第1通信部22は、このHTTPレスポンスにユーザ認証が成功したことを示す所定のキーワードが含まれているか否かを検査し、ユーザ認証が成功したことを示す所定のキーワードが含まれている場合、制御アプリケーション部23に記憶される認証情報取得アプリケーション宛のHTTPリクエストを生成し、第1ウェブサーバ部8に出力する。このHTTPリクエストは、情報処理装置51からのHTTPレスポンスを情報として含む。
認証情報取得アプリケーションは、第1通信部22からのHTTPリクエストを受け取り、当該HTTPリクエストに含まれる認証が成功したユーザIDおよびパスワードの組を複合機21内のユーザリストとして制御アプリケーション部23の記憶部に記憶する。また、認証情報取得アプリケーションは、ユーザ認証が成功の場合にユーザに示す操作画面として、当該HTTPリクエストに含まれる画面データ(操作画面のHTMLコードおよび画像等)を、ユーザ認証が成功の場合にユーザに示す操作画面であることを示す情報と対応させて記憶する。
また、複合機21のウェブブラウザ部5は、第1通信部22から受信したHTMLコードを解釈し、図5に示すような操作画面を表示部10に表示させる。
このように、画面データ保存アプリケーションは、複合機1の第1通信部22が情報処理装置51から受け取ったHTTPレスポンスをデータとして、HTTPリクエストによって受け取り、情報処理装置51からのHTTPレスポンスに含まれる画面データ(例えば操作画面のHTMLコード等)と当該HTTPレスポンスを送信した情報処理装置51のアプリケーションの情報(URLまたはURI)とを対応付けて制御アプリケーション部23の記憶部に記憶する。記憶されたデータは、複合機21が情報処理装置51と接続を確立できない場合に、代替の表示データとして用いられ、ウェブブラウザ部5によって表示部10に表示される。
認証情報取得アプリケーションは、複合機1の第1通信部22が情報処理装置51から受け取ったユーザ認証が成功したことを示すHTTPレスポンスをデータとして、HTTPリクエストによって受け取り、当該HTTPリクエストに含まれる認証が成功したユーザIDおよびパスワードの組を複合機21内のユーザリストとして制御アプリケーション部23の記憶部に記憶する。複合機21内のこのユーザリストは、複合機21が情報処理装置51と接続を確立できない場合に、代替のユーザリストとしてユーザ認証に用いられる。なお、登録したユーザIDおよびパスワードの組は、所定時間内のみ有効であるよう設定してもよい。また、認証情報取得アプリケーションは、ユーザ認証成功時だけでなく、ユーザ認証成功後のジョブ(コピー処理等)実行時に認証情報を取得して制御アプリケーション部23の記憶部に記憶させる構成であってもよい。
また、制御アプリケーション部23は、図示しない画面データ取得アプリケーションを有する構成であってもよい。例えば、複合機21に電源が投入されて複合機21が起動したときに、機器制御部7がOpenI/F部71を介して制御アプリケーション部23の画面データ取得アプリケーションをコールする。コールされた画面データ取得アプリケーションは、所定のURLにアクセスするHTTPリクエストを、第1ウェブサーバ部および第1通信部22を介して情報処理装置51に送信する。HTTPリクエストを受け取った情報処理装置51は、当該URLに応じた画面のHTMLコードを生成し、HTTPレスポンスとして複合機21に送信する。情報処理装置51からのHTTPレスポンスを受信した複合機21の第1通信部22は、情報処理装置51からのHTTPレスポンスを、第1ウェブサーバ部8を介して複合機21の制御アプリケーション部23に記憶される画面データ取得アプリケーションに出力する。画面データ取得アプリケーションは、受け取ったHTTPレスポンスに含まれる当該URLに応じた画面のHTMLコード(画面データ)と、当該URL(またはそのURI)とを対応付けて記憶部に記憶する。このようにして、複合機21の起動時に情報処理装置51にアクセスし、複合機21に画面データを記憶させることができる。また、画面データ取得アプリケーションは任意のタイミングでコールされてもよく、例えば所定の時刻に、または所定の時間間隔で機器制御部7が画面データ取得アプリケーションをコールする構成であってもよい。また、情報処理装置51の有する各アプリケーションまたは画面データが更新された場合に、情報処理装置51が複合機21に更新通知を送信し、更新通知を受け取った複合機21が画面データ取得アプリケーションをコールする構成であってもよい。
<接続が確立できない場合のユーザ認証処理>
次に、複合機21と情報処理装置51との間で接続が確立できない場合について説明する。まだユーザ認証が済んでいない段階で、図3に示す初期操作画面が表示部10に表示されているとし、ユーザが認証ボタン62を選択したとする。第1通信部22(図7参照)は、URL「http://xxx.123.123.123/app/auth」(情報処理装置51上の認証アプリケーション)へのアクセス要求を含むHTTPリクエストを情報処理装置51に送信する。
何らかの原因により、ネットワーク50を介した複合機1と情報処理装置51との接続が確立できない場合、第1通信部22は、情報処理装置51から正常な応答を得ることができない。所定の時間の内に接続を確立することができない場合、第1通信部22は、情報処理装置51への接続を中止し、複合機21の制御アプリケーション部23上で動作する救済モード実行アプリケーションをコールするHTTPリクエストを複合機21の第1ウェブサーバ部8に送信する。第1ウェブサーバ部8に送信されるこのHTTPリクエストは、ウェブブラウザ部5から送信された情報処理装置51上の認証アプリケーションをコールするHTTPリクエストの情報を含む、すなわち、情報処理装置51上の認証アプリケーションのURL等の情報を含む。
第1通信部22からHTTPリクエストを受け取った第1ウェブサーバ部8は、制御アプリケーション部23上の救済モード実行アプリケーションをコールする。
救済モード実行アプリケーションは、複合機21が情報処理装置51と接続を確立できない場合に、制御アプリケーション部23に記憶された認証情報の履歴(以前に認証が成功したユーザIDおよびパスワードの組を記憶したユーザリスト)を用いて代替のユーザ認証を行う。また、救済モード実行アプリケーションは、複合機21が情報処理装置51と接続を確立できない場合に、制御アプリケーション部23に記憶された画面データ(以前に情報処理装置51から受信し、ウェブブラウザ部5によって表示部10に表示された操作画面のHTMLコード等)を用いて、ウェブブラウザ部5に代替の画面データを提供し、表示部10に表示させる。
ユーザが認証ボタン62(図3参照)を選択したときに、救済モード実行アプリケーションが受け取るHTTPリクエストには、情報処理装置51上の認証アプリケーションのURLの情報が含まれている。救済モード実行アプリケーションは、HTTPリクエストに含まれるこのURL(またはURI)が、過去に制御アプリケーション部23に記憶されたアプリケーションの情報(URLまたはURI)と一致するかを検査し、一致する記憶されたアプリケーションの情報があれば、それに対応して記憶されている画面データを取得し、取得した画面データをHTTPレスポンスとしてウェブブラウザ部5へ送信する。この場合は、図4(b)に示す認証情報入力画面のデータがウェブブラウザ部5へ送信される。なお、現在の処理が救済モードで実行されていることをユーザに通知するために、救済モード実行アプリケーションは、ウェブブラウザ部5に送信する画面データに救済モードを実行中であることを示すために、画面の表示の一部を変更してもよい。救済モードを実行中であることを示す表示は、例えば、画面の背景色の変更、画面に表示される画像(アイコン)の追加、変更または点滅、文字の追加または変更等により行ってもよい。なお、救済モードを実行中であることを示す表示(画面の背景色の変更等)は、画面データ保存アプリケーションが画面データを記憶部に記憶する際に、画面データ保存アプリケーションが当該画面データに変更を加えておいてもよい。
また、所定の時間の内に接続を確立することができない場合、第1通信部22は、複合機21の制御アプリケーション部23上で動作するジョブ記録アプリケーションを起動するHTTPリクエストを複合機21の第1ウェブサーバ部8に送信する。通常、複合機21は、実行したジョブ(スキャンまたは印刷等の処理)の履歴を情報処理装置51に送信し、情報処理装置51は、ジョブおよびユーザ認証の履歴をデータベースに記憶する。これにより、ユーザ毎または処理毎の複合機21の利用頻度等を確認することができる。ジョブ記録アプリケーションは、複合機21と情報処理装置51との接続が確立できない間に複合機21で実行されたジョブおよびユーザ認証の履歴を記憶しておき、情報処理装置51との接続が回復した後に、情報処理装置51にジョブおよびユーザ認証の履歴を送信する。これにより、情報処理装置51は、複合機21との接続が切断されていた間の複合機21の利用履歴を得ることができる。起動されたジョブ記録アプリケーションは、実行されたジョブおよびユーザ認証の履歴を記憶し、例えば所定の期間毎に情報処理装置51への接続を試み、情報処理装置51との接続が確立されると、ジョブおよびユーザ認証の履歴を情報処理装置51に送信し、処理を終了する。これにより、これにより、情報処理装置51は、利用履歴の記録を正確に保存することができる。
次に、ユーザが、ユーザ認証を行うために、ユーザIDとパスワードとを入力して認証情報の入力を行うと、認証情報を含むHTTPリクエストをウェブブラウザ部5から受け取った第1通信部22は、情報処理装置51へHTTPリクエストを送信することを試みる。所定の時間の内に接続を確立することができない場合、第1通信部22は、先の場合と同様に、情報処理装置51への接続を中止し、複合機21の制御アプリケーション部23上で動作する救済モード実行アプリケーションをコールするHTTPリクエストを複合機21の第1ウェブサーバ部8に送信する。第1ウェブサーバ部8に送信されるこのHTTPリクエストは、ウェブブラウザ部5から送信された情報処理装置51上の認証アプリケーションをコールするHTTPリクエストの情報を含み、ユーザが入力した認証情報(ユーザIDおよびパスワード)を含む。
第1通信部22からHTTPリクエストを受け取った第1ウェブサーバ部8は、制御アプリケーション部23上の救済モード実行アプリケーションをコールする。
救済モード実行アプリケーションは、HTTPリクエストに認証情報が含まれている場合、代替のユーザ認証を行う。このとき、HTTPリクエストに含まれるユーザIDおよびパスワードの組が、制御アプリケーション部23に記憶されている認証情報の履歴(以前に認証が成功したユーザIDおよびパスワードの組を記憶したユーザリスト)の中に含まれているか否かを検査し、含まれている場合はユーザ認証が成功したとし、含まれていない場合はユーザ認証は失敗したとする。
代替のユーザ認証が失敗の場合、救済モード実行アプリケーションは、ユーザ認証が失敗の場合にユーザに示す操作画面であることを示す情報と対応付けられた画面データを、制御アプリケーション部23から取得する。そして、この画面データを含むHTTPレスポンスを生成し、このHTTPレスポンスを第1通信部22を介してウェブブラウザ部5に送信する。
または、救済モード実行アプリケーションは、ユーザ認証が失敗の場合に、コピー枚数を制限してコピー動作を許可する操作画面のデータを生成し、ウェブブラウザ部5にHTTPレスポンスを返してもよい。上記のように構成することにより、複合機21は、正規のユーザであるが、複合機21上のユーザリストにユーザIDおよびパスワードが記録されていないユーザの利便性を確保することができる。
代替のユーザ認証が成功の場合、救済モード実行アプリケーションは、ユーザ認証が成功の場合にユーザに示す操作画面であることを示す情報と対応付けられた画面データを、制御アプリケーション部23から取得する。そして、この画面データを含むHTTPレスポンスを生成し、このHTTPレスポンスを第1通信部22を介してウェブブラウザ部5に送信する。これにより、代替のユーザ認証が成功したユーザは、引き続き複合機21に処理を実行させることができる。なお、その後の処理は同様であるので説明を省略する。
本実施形態の複合機21は、情報処理装置51との接続が確立できない場合においても、以前に情報処理装置51から取得した画面データおよび認証情報を用いて代替のユーザ認証処理を行うことができる。また、複合機21は、情報処理装置51から取得した画面データを用いるので、情報処理装置51と同じ操作画面および操作手順をユーザに提供することができる。そのため、代替のユーザ認証処理においてもユーザの操作性を損なわない。また、情報処理装置51の認証アプリケーションを更新(または変更)した場合でも、複合機21のアプリケーション等を変更することなしに、複合機21内で行う代替のユーザ認証処理において、情報処理装置51が提供する場合と同じ操作画面および操作手順をユーザに提供することができる。
<ユーザ認証処理フロー>
次に、ユーザ認証処理を例にとり、複合機21が情報処理装置51上のアプリケーションをコールする場合の処理のフローを説明する。図9および図10は、本実施形態における複合機21のユーザ認証処理のフローを示すフローチャートである。
ユーザの認証開始の指示入力があると、認証情報入力画面を取得するために、ウェブブラウザ部5は、情報処理装置51から認証情報入力画面を取得するための所定のURLにアクセスするHTTPリクエストを生成し、第1通信部22に入力する(S21)。
第1通信部22は、HTTPリクエストに基づき、情報処理装置51に接続を試み、接続が確立されると(S22でYes)、情報処理装置51にHTTPリクエストを送信する(S23)。
情報処理装置51は、HTTPリクエストに基づき、認証情報入力画面のデータを含んだHTTPレスポンスを生成する。情報処理装置51は、このHTTPレスポンスを複合機21の第1通信部22に送信する(S24)。
HTTPレスポンスを受け取った第1通信部22は、HTTPレスポンスをウェブブラウザ部5に出力し、さらに制御アプリケーション部23の画面データ保存アプリケーションをコールする(S25)。
画面データ保存アプリケーションは、第1通信部22が受け取ったHTTPレスポンスに含まれる認証情報入力画面のデータを制御アプリケーション部23の記憶部に保存する(S26)。
また、所定の時間内に接続が確立できない場合(S22でNo)、第1通信部22は、制御アプリケーション部23の救済モード実行アプリケーションをコールする(S27)。また、第1通信部22は、制御アプリケーション部23のジョブ記録アプリケーションを起動させる(S28)。起動されたジョブ記録アプリケーションは、実行されたジョブおよびユーザ認証の履歴を記憶し、所定の期間毎に情報処理装置51への接続を試み、情報処理装置51との接続が確立されると、実行されたジョブおよびユーザ認証の履歴を情報処理装置51に送信し、処理を終了する。
救済モード実行アプリケーションは、情報処理装置51から認証情報入力画面を取得するための所定のURLに対応する画面データが制御アプリケーション部23に記憶されているか否かを検査する。制御アプリケーション部23に所定のURLに対応する画面データが記憶されている場合(S29でYes)、救済モード実行アプリケーションは、当該画面データ(認証情報入力画面のデータ)を含むHTTPレスポンスを生成し、第1ウェブサーバ部8は、このHTTPレスポンスを複合機21の第1通信部22に送信する(S30)。
HTTPレスポンスを受け取った第1通信部22は、HTTPレスポンスをウェブブラウザ部5に出力する(S31)。
制御アプリケーション部23に所定のURLに対応する画面データが記憶されていない場合(S29でNo)、救済モード実行アプリケーションは、接続エラーを通知するHTTPレスポンスを生成し、複合機21の第1通信部22に送信し(S32)、処理を終了する。
S26またはS31の後、ウェブブラウザ部5は、受け取った認証情報入力画面をユーザに示し、ユーザによる認証情報の入力を受け付ける(S33)。ユーザによる認証情報の入力があると、ユーザ認証処理を行うために、ウェブブラウザ部5は、情報処理装置51の認証アプリケーションにアクセスするHTTPリクエストを生成し、第1通信部22に入力する(S34)。このHTTPリクエストは、ユーザが入力した認証情報(ユーザIDおよびパスワード)を含む。
第1通信部22は、HTTPリクエストに基づき、情報処理装置51に接続を試み、接続が確立されると(S35でYes)、情報処理装置51にHTTPリクエストを送信する(S36)。
情報処理装置51は、HTTPリクエストに基づき、認証アプリケーションをコールしてユーザ認証処理を実行し、ユーザ認証の結果に応じたHTTPレスポンスを生成する。情報処理装置51は、このHTTPレスポンスを複合機21の第1通信部22に送信する(S37)。
第1通信部22が受け取ったHTTPレスポンスがユーザ認証の成功を示すものである場合(S38でYes)、第1通信部22は、制御アプリケーション部23の認証情報取得アプリケーションをコールする(S39)。また、第1通信部22は、受け取ったHTTPレスポンスをウェブブラウザ部5に出力する。
認証情報取得アプリケーションは、ユーザ認証が成功した認証情報(ユーザIDおよびパスワードの組)を、複合機21内のユーザリストとして制御アプリケーション部23の記憶部に記憶する。また、認証情報取得アプリケーションは、第1通信部22が受け取ったHTTPレスポンスに含まれる画面データ(操作画面のHTMLコード等)を、ユーザ認証が成功の場合にユーザに示す操作画面であることを示す情報と対応づけて制御アプリケーション部23の記憶部に記憶する(S40)。
第1通信部22が受け取ったHTTPレスポンスがユーザ認証の失敗を示すものである場合(S38でNo)、第1通信部22は、制御アプリケーション部23の画面データ保存アプリケーションをコールする。画面データ保存アプリケーションは、第1通信部22が受け取ったHTTPレスポンスに含まれる画面データ(操作画面のHTMLコード等)を、画面データがユーザ認証が失敗の場合にユーザに示す操作画面であることを示す情報と対応づけて制御アプリケーション部23の記憶部に記憶する(S41)。また、第1通信部22は、受け取ったHTTPレスポンスをウェブブラウザ部5に出力し、ユーザによる認証情報の再入力を受け付ける(S33に戻る)。
また、所定の時間内に接続が確立できない場合(S35でNo)、第1通信部22は、制御アプリケーション部23の救済モード実行アプリケーションをコールし、ユーザの入力した認証情報を渡す(S42)。また、第1通信部22は、制御アプリケーション部23のジョブ記録アプリケーションを起動させる(S43)。起動されたジョブ記録アプリケーションは、実行されたジョブおよびユーザ認証の履歴を記憶し、所定の期間毎に情報処理装置51への接続を試み、情報処理装置51との接続が確立されると、実行されたジョブおよびユーザ認証の履歴を情報処理装置51に送信し、処理を終了する。
救済モード実行アプリケーションは、ユーザの入力した認証情報が、制御アプリケーション部23に記憶されたユーザリストに含まれるか否かを検査し、含まれていればユーザ認証は成功と判定し、含まれていなければユーザ認証は失敗と判定する。
救済モード実行アプリケーションによるユーザ認証が成功の場合(S44でYes)、救済モード実行アプリケーションは、ユーザ認証が成功の場合にユーザに示す操作画面であることを示す情報と対応付けられた画面データを、制御アプリケーション部23から取得する。救済モード実行アプリケーションは、この画面データを含むHTTPレスポンスを生成し、このHTTPレスポンスを第1通信部22を介してウェブブラウザ部5に送信する(S45)。
救済モード実行アプリケーションによるユーザ認証が失敗の場合(S44でNo)、救済モード実行アプリケーションは、ユーザ認証が失敗の場合にユーザに示す操作画面であることを示す情報と対応付けられた画面データを、制御アプリケーション部23から取得する。救済モード実行アプリケーションは、この画面データを含むHTTPレスポンスを生成し、このHTTPレスポンスを第1通信部22を介してウェブブラウザ部5に送信する(S46)。
S46の後、ウェブブラウザ部5は、認証情報入力画面を表示部10に表示し、ユーザによる認証情報の再入力を受け付ける(S33に戻る)。
S40またはS45の後、ウェブブラウザ部5は、受け取ったHTTPレスポンスに含まれる画面データに基づきユーザ認証成功済の操作画面を表示部10に表示する(S47)。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、複合機1・21および情報処理装置51の各ブロック、特にウェブブラウザ部5、第1通信部6・22、第1ウェブサーバ部8、制御アプリケーション部9・23、第2通信部52、第2ウェブサーバ部53、外部アプリケーション部54は、ハードウェアロジックによって構成してもよいし、次のようにCPU(central processing unit)を用いてソフトウェアによって実現してもよい。
すなわち、複合機1・21および情報処理装置51は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである複合機1・21および情報処理装置51の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記複合機1・21および情報処理装置51に供給し、そのコンピュータ(またはCPUやMPU(microprocessor unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(compact disc read-only memory)/MO(magneto-optical)/MD(Mini Disc)/DVD(digital versatile disk)/CD−R(CD Recordable)等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM(erasable programmable read-only memory)/EEPROM(登録商標)(electrically erasable and programmable read-only memory)/フラッシュROM等の半導体メモリ系などを用いることができる。
また、複合機1・21および情報処理装置51を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN(local area network)、ISDN(integrated services digital network)、VAN(value-added network)、CATV(community antenna television)通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE(institute of electrical and electronic engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(asynchronous digital subscriber loop)回線等の有線でも、IrDA(infrared data association)やリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR(high data rate)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る複合機は、情報処理装置にネットワークを介して接続される複合機において、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行うアプリケーションを有し、上記アプリケーションを実行可能であり、上記情報処理装置の上記アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記情報処理装置と通信可能であるときに上記情報処理装置から上記アプリケーションを取得して上記記憶部に保存する保存部と、保存された上記アプリケーションを実行可能なアプリケーション実行部とを備え、上記通信部が、上記情報処理装置と通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は上記記憶部に保存された上記アプリケーションを実行する。
上記の構成によれば、複合機は、情報処理装置のアプリケーションを取得して保存しておき、情報処理装置と通信可能な場合は、呼出要求を情報処理装置に送信して情報処理装置によってアプリケーションを実行し、情報処理装置との通信を確立できず呼出要求を情報処理装置に送信できない場合、保存しておいたアプリケーションを実行して所定の処理を行う。そのため、複合機は、情報処理装置と通信可能な場合は、一般に情報処理装置の有する高い処理能力を用いてアプリケーションを実行して処理を行うことができ、情報処理装置との通信を確立できない場合は、保存しておいたアプリケーションを実行して同じ処理を行うことができる。それゆえ、複合機は、情報処理装置との通信を確立できない場合においても、情報処理装置でアプリケーションを実行する場合と同じ操作性をユーザに提供することができ、ユーザの利便性を損なわない。また、上記の構成によれば、アプリケーションの保守管理(変更およびバージョンアップ等)は、情報処理装置に対して行うだけでよく、複合機は、情報処理装置のアプリケーションを取得することにより、複合機に保存したアプリケーションを更新することができる。
本発明の態様2に係る複合機は、上記態様1において、上記通信部が上記情報処理装置と通信を確立できない間に上記複合機が実行したジョブの履歴を記憶するジョブ送信部をさらに備え、上記ジョブ送信部は、上記通信部が上記情報処理装置と通信を確立した後、上記履歴を上記情報処理装置に送信してもよい。
上記の構成によれば、情報処理装置は、通信部が情報処理装置と通信を確立できない間に複合機が実行したジョブの履歴を得ることができるので、複合機が実行したジョブの履歴を正確に保存することができる。
〔本発明の別の表現〕
本発明の一態様は、以下のようにも表現できる。
すなわち、本発明の一態様に係る複合機は、情報処理装置にネットワークを介して接続される複合機であって、上記の課題を解決するために、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行う第1アプリケーションを実行し、応答として所定の画面データを上記複合機に送信し、上記複合機は、上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記呼出要求に対する応答として上記情報処理装置から受け取った上記画面データを上記記憶部に保存する保存部と、上記応答に応じた画面を表示する表示部と、所定の処理を行う第2アプリケーションを実行するアプリケーション実行部とを備え、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記表示部は、上記アプリケーション実行部が生成した応答に応じた画面を表示することを特徴としている。
また、本発明の一態様に係る複合機制御システムは、複合機と、上記複合機にネットワークを介して接続される情報処理装置とを含む複合機制御システムであって、上記の課題を解決するために、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行う第1アプリケーションを実行し、応答として所定の画面データを上記複合機に送信し、上記複合機は、上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記呼出要求に対する応答として上記情報処理装置から受け取った上記画面データを上記記憶部に保存する保存部と、上記応答に応じた画面を表示する表示部と、所定の処理を行う第2アプリケーションを実行するアプリケーション実行部とを備え、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記表示部は、上記アプリケーション実行部が生成した応答に応じた画面を表示することを特徴としている。
上記の構成によれば、複合機は、情報処理装置との通信を確立できず呼出要求を上記情報処理装置に送信できない場合、情報処理装置の第1アプリケーションを呼び出す代わりに、アプリケーション実行部に第2アプリケーションを実行させることにより、第1アプリケーションの代替の処理を行うことができる。また、複合機は、第1アプリケーションを呼び出した際に取得した画面データを保存しておき、第2アプリケーションによる代替の処理を行った場合に、保存しておいた画面データを用いて要求部への応答を生成する。そのため、第2アプリケーションは、例えば第1アプリケーションが応答した場合と同じ画面を表示部に表示させることができ、複合機は、第2アプリケーションによる代替の処理を行った場合にも、第1アプリケーションと同様の操作性をユーザに提供することができる。
また、本発明の一態様に係る複合機は、認証情報取得部を備え、上記呼出要求は、ユーザによって入力された認証情報を含み、第1アプリケーションは、上記呼出要求に含まれる上記認証情報を用いてユーザ認証を行うアプリケーションであり、第1アプリケーションによるユーザ認証が成功した場合、上記認証情報取得部は、ユーザ認証が成功した認証情報を認証履歴として上記記憶部に保存し、上記第2アプリケーションは、上記呼出要求に含まれる上記認証情報と上記記憶部に保存された上記認証履歴とを用いてユーザ認証を行うアプリケーションであり、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することによりユーザ認証を行い、ユーザ認証の成否に応じて上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成する構成であってもよい。
上記の構成によれば、複合機は、情報処理装置との通信を確立できず、情報処理装置の第1アプリケーションによってユーザ認証を行うことができない場合、情報処理装置の第1アプリケーションを呼び出す代わりに、アプリケーション実行部に第2アプリケーションを実行させることにより、代替のユーザ認証を行うことができる。また、複合機は、第1アプリケーションによってユーザ認証を行った際の認証情報を認証履歴として保存しておき、第2アプリケーションは、保存された認証履歴を用いてユーザが入力した認証情報に対してユーザ認証を行うことができる。そして、複合機は、第2アプリケーションによる代替のユーザ認証を行った場合に、ユーザ認証の成否に応じて、保存しておいた画面データを用いて要求部への応答を生成する。そのため、情報処理装置の第1アプリケーション(例えばユーザリスト)を変更した場合でも、複合機の第2アプリケーションを変更することなしに、代替のユーザ認証を行うことができ、第1アプリケーションと同様のユーザ認証処理および操作性をユーザに提供することができる。
また、本発明の一態様に係る複合機は、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データの一部を変更し、第1アプリケーションが呼び出された場合とは上記表示部で表示される画面を異ならせてもよい。
上記の構成によれば、第1アプリケーションによって処理を行った場合と第2アプリケーションによって処理を行った場合とで、ユーザに表示する画面の一部、例えば背景色または文字の色等、を異ならせることができる。そのため、複合機は、情報処理装置との通信を確立できず、第2アプリケーションによって代替の処理を行っていることをユーザに通知することができる。
本発明の一態様に係る複合機制御システムは、複合機と、上記複合機にネットワークを介して接続される情報処理装置とを含む複合機制御システムであって、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行うアプリケーションを有し、上記アプリケーションを実行可能であり、上記複合機は、上記情報処理装置の上記アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記情報処理装置と通信可能であるときに上記情報処理装置から上記アプリケーションを取得して上記記憶部に保存する保存部と、保存された上記アプリケーションを実行可能なアプリケーション実行部とを備え、上記通信部が、上記情報処理装置と通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は上記記憶部に保存された上記アプリケーションを実行することを特徴としている。
上記の構成によれば、複合機は、情報処理装置のアプリケーションを取得して保存しておき、情報処理装置と通信可能な場合は、呼出要求を情報処理装置に送信して情報処理装置によってアプリケーションを実行し、情報処理装置との通信を確立できず呼出要求を情報処理装置に送信できない場合、保存しておいたアプリケーションを実行して所定の処理を行う。そのため、複合機は、情報処理装置と通信可能な場合は、一般に情報処理装置の有する高い処理能力を用いてアプリケーションを実行して処理を行うことができ、情報処理装置との通信を確立できない場合は、保存しておいたアプリケーションを実行して同じ処理を行うことができる。それゆえ、複合機は、情報処理装置との通信を確立できない場合においても、情報処理装置でアプリケーションを実行する場合と同じ操作性をユーザに提供することができ、ユーザの利便性を損なわない。また、上記の構成によれば、アプリケーションの保守管理(変更およびバージョンアップ等)は、情報処理装置に対して行うだけでよく、複合機は、情報処理装置のアプリケーションを取得することにより、複合機に保存したアプリケーションを更新することができる。
本発明の一態様に係る複合機は、情報処理装置にネットワークを介して接続される複合機であって、上記の課題を解決するために、ウェブブラウザとして機能し上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成するウェブブラウザ部と、通信部と、ウェブサーバとして機能する第1ウェブサーバ部とを備え、上記情報処理装置は、ウェブサーバとして機能する第2ウェブサーバ部を備え、上記通信部が、上記情報処理装置と通信可能である場合、上記通信部は、上記ウェブブラウザ部が生成した上記呼出要求を上記情報処理装置の第2ウェブサーバ部へ送信し、第2ウェブサーバ部は、上記複合機からの上記呼出要求に従って第1アプリケーションを実行させ、上記通信部が、上記情報処理装置と通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記通信部は、上記呼出要求を第1ウェブサーバ部に送信し、第1ウェブサーバ部は、上記呼出要求に応じて第1アプリケーションの代替となる第2アプリケーションを実行させることを特徴としている。
本発明の一態様に係る複合機制御システムは、複合機と、上記複合機にネットワークを介して接続される情報処理装置とを含む複合機制御システムであって、上記複合機は、ウェブブラウザとして機能し上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成するウェブブラウザ部と、通信部と、ウェブサーバとして機能する第1ウェブサーバ部とを備え、上記情報処理装置は、ウェブサーバとして機能する第2ウェブサーバ部を備え、上記通信部が、上記情報処理装置と通信可能である場合、上記通信部は、上記ウェブブラウザ部が生成した上記呼出要求を上記情報処理装置の第2ウェブサーバ部へ送信し、第2ウェブサーバ部は、上記複合機からの上記呼出要求に従って第1アプリケーションを実行させ、上記通信部が、上記情報処理装置と通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記通信部は、上記呼出要求を第1ウェブサーバ部に送信し、第1ウェブサーバ部は、上記呼出要求に応じて第1アプリケーションの代替となる第2アプリケーションを実行させることを特徴としている。
上記の構成によれば、複合機が第1ウェブサーバ部を備え、情報処理装置との通信を確立できず呼出要求を情報処理装置に送信できない場合には、第1ウェブサーバ部が情報処理装置の第2ウェブサーバ部の代替の機能を実行することができる。また、第1ウェブサーバ部は、第2ウェブサーバ部と同様にウェブサーバとして機能し、ウェブブラウザ部が生成した呼出要求を処理することができる。よって、ウェブブラウザ部と第2ウェブサーバ部との通信、およびウェブブラウザ部と第1ウェブサーバ部との通信において、同じ通信プロトコル(例えばHTTP(ハイパーテキスト転送プロトコル))を用いることができるので、第1および第2ウェブサーバ部が実行させる第2および第1アプリケーションに互換性を持たせることができる。それゆえ、複合機において、情報処理装置との通信を確立できない場合においても、情報処理装置で第1アプリケーションを実行する場合と同じ操作性をユーザに提供することがしやすくなり、その結果、ユーザの利便性を損なわない。
なお、上記複合機は、コンピュータによって実現してもよく、この場合には、コンピュータを上記通信部、上記保存部、および上記アプリケーション実行部として動作させることにより複合機をコンピュータにて実現させるプログラム、または、コンピュータを上記通信部、上記ウェブブラウザ部、および第1ウェブサーバ部として動作させることにより複合機をコンピュータにて実現させるプログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
さらに、本発明の一態様は、以下のようにも表現できる。
すなわち、本発明の一態様に係る複合機は、情報処理装置にネットワークを介して接続される複合機において、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行う第1アプリケーションを実行し、応答として所定の画面データを上記複合機に送信し、上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記呼出要求に対する応答として上記情報処理装置から受け取った上記画面データを上記記憶部に保存する保存部と、上記応答に応じた画面を表示する表示部と、所定の処理を行う第2アプリケーションを実行するアプリケーション実行部とを備え、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記表示部は、上記アプリケーション実行部が生成した応答に応じた画面を表示し、上記通信部が上記情報処理装置と通信を確立できない間に上記複合機が実行したジョブの履歴を記憶するジョブ送信部をさらに備え、上記ジョブ送信部は、上記通信部が上記情報処理装置と通信を確立した後、上記履歴を上記情報処理装置に送信する。
また、本発明の一態様に係る複合機は、情報処理装置にネットワークを介して接続される複合機において、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行う第1アプリケーションを実行し、応答として所定の画面データを上記複合機に送信し、上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記呼出要求に対する応答として上記情報処理装置から受け取った上記画面データを上記記憶部に保存する保存部と、上記応答に応じた画面を表示する表示部と、所定の処理を行う第2アプリケーションを実行するアプリケーション実行部とを備え、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記表示部は、上記アプリケーション実行部が生成した応答に応じた画面を表示し、認証情報取得部をさらに備え、上記呼出要求は、ユーザによって入力された認証情報を含み、第1アプリケーションは、上記呼出要求に含まれる上記認証情報を用いてユーザ認証を行うアプリケーションであり、第1アプリケーションによるユーザ認証が成功した場合、上記認証情報取得部は、ユーザ認証が成功した認証情報を認証履歴として上記記憶部に保存し、上記第2アプリケーションは、上記呼出要求に含まれる上記認証情報と上記記憶部に保存された上記認証履歴とを用いてユーザ認証を行うアプリケーションであり、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することによりユーザ認証を行い、ユーザ認証の成否に応じて上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記第2アプリケーションは、ユーザ認証が失敗の場合に、コピー枚数を制限してコピー動作を許可する操作画面のデータを生成する。
また、本発明の一態様に係る複合機は、上記第2アプリケーションは、上記情報処理装置と通信可能である時に上記情報処理装置から取得され、上記記憶部に保存されているアプリケーションであってもよい。
また、本発明の一態様に係る複合機は、ウェブサーバとして機能する第1ウェブサーバ部を備え、上記要求部は、ウェブブラウザとして機能して上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成し、上記情報処理装置は、ウェブサーバとして機能する第2ウェブサーバ部を備え、上記通信部が、上記情報処理装置と通信可能である場合、上記通信部は、上記要求部が生成した上記呼出要求を上記情報処理装置の第2ウェブサーバ部へ送信し、第2ウェブサーバ部は、上記複合機からの上記呼出要求に従って第1アプリケーションを実行させ、上記通信部が、上記情報処理装置と通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記通信部は、上記呼出要求を第1ウェブサーバ部に送信し、第1ウェブサーバ部は、上記呼出要求に応じて第1アプリケーションの代替となる第2アプリケーションを実行させてもよい。
また、本発明の一態様に係る複合機制御システムは、複合機と、上記複合機にネットワークを介して接続される情報処理装置とを含む複合機制御システムにおいて、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行う第1アプリケーションを実行し、応答として所定の画面データを上記複合機に送信し、上記複合機は、上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記呼出要求に対する応答として上記情報処理装置から受け取った上記画面データを上記記憶部に保存する保存部と、上記応答に応じた画面を表示する表示部と、所定の処理を行う第2アプリケーションを実行するアプリケーション実行部とを備え、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記表示部は、上記アプリケーション実行部が生成した応答に応じた画面を表示し、上記通信部が上記情報処理装置と通信を確立できない間に上記複合機が実行したジョブの履歴を記憶するジョブ送信部をさらに備え、上記ジョブ送信部は、上記通信部が上記情報処理装置と通信を確立した後、上記履歴を上記情報処理装置に送信する。
また、本発明の一態様に係る複合機制御システムは、複合機と、上記複合機にネットワークを介して接続される情報処理装置とを含む複合機制御システムにおいて、上記情報処理装置は、上記複合機の呼出要求に従って所定の処理を行う第1アプリケーションを実行し、応答として所定の画面データを上記複合機に送信し、上記複合機は、上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成する要求部と、上記呼出要求を上記情報処理装置に送信する通信部と、記憶部と、上記呼出要求に対する応答として上記情報処理装置から受け取った上記画面データを上記記憶部に保存する保存部と、上記応答に応じた画面を表示する表示部と、所定の処理を行う第2アプリケーションを実行するアプリケーション実行部とを備え、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することにより上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記表示部は、上記アプリケーション実行部が生成した応答に応じた画面を表示し、認証情報取得部をさらに備え、上記呼出要求は、ユーザによって入力された認証情報を含み、第1アプリケーションは、上記呼出要求に含まれる上記認証情報を用いてユーザ認証を行うアプリケーションであり、第1アプリケーションによるユーザ認証が成功した場合、上記認証情報取得部は、ユーザ認証が成功した認証情報を認証履歴として上記記憶部に保存し、上記第2アプリケーションは、上記呼出要求に含まれる上記認証情報と上記記憶部に保存された上記認証履歴とを用いてユーザ認証を行うアプリケーションであり、上記通信部が、上記情報処理装置との通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記アプリケーション実行部は、第2アプリケーションを実行することによりユーザ認証を行い、ユーザ認証の成否に応じて上記記憶部に保存された上記画面データを用いて上記呼出要求に対する応答を生成し、上記第2アプリケーションは、ユーザ認証が失敗の場合に、コピー枚数を制限してコピー動作を許可する操作画面のデータを生成する。
また、本発明の一態様に係る複合機制御システムは、上記第2アプリケーションは、上記情報処理装置と通信可能である時に上記情報処理装置から取得され、上記記憶部に保存されているアプリケーションであってもよい。
また、本発明の一態様に係る複合機制御システムは、上記複合機は、ウェブサーバとして機能する第1ウェブサーバ部を備え、上記要求部は、ウェブブラウザとして機能して上記情報処理装置の第1アプリケーションを呼び出す呼出要求を生成し、上記情報処理装置は、ウェブサーバとして機能する第2ウェブサーバ部を備え、上記通信部が、上記情報処理装置と通信可能である場合、上記通信部は、上記要求部が生成した上記呼出要求を上記情報処理装置の第2ウェブサーバ部へ送信し、第2ウェブサーバ部は、上記複合機からの上記呼出要求に従って第1アプリケーションを実行させ、上記通信部が、上記情報処理装置と通信を確立できず、上記呼出要求を上記情報処理装置に送信できない場合、上記通信部は、上記呼出要求を第1ウェブサーバ部に送信し、第1ウェブサーバ部は、上記呼出要求に応じて第1アプリケーションの代替となる第2アプリケーションを実行させてもよい。