情報処理装置、プログラム及び情報処理システム
【課題】ユーザの認証機器を必要とする複数の処理指示を実行する場合に、認証機器を情報処理装置と通信可能な状態に置く期間を短くする。
【解決手段】複数の処理指示に係る複数のジョブを実行する場合に、それら各ジョブに含まれるジョブ要素のうち、認証機器(例えばICカード)を必要とするジョブ要素を続けて実行する。例えば、暗号化された印刷データをICカードにより復号して印刷するジョブ1とジョブ2が存在する場合、ジョブ1についてICカードが必要な復号処理を実行した後、ジョブ1を一時停止し、ジョブ2の復号処理を実行する。これが終了した後、ジョブ1及びジョブ2の印刷処理を実行する。
【解決手段】複数の処理指示に係る複数のジョブを実行する場合に、それら各ジョブに含まれるジョブ要素のうち、認証機器(例えばICカード)を必要とするジョブ要素を続けて実行する。例えば、暗号化された印刷データをICカードにより復号して印刷するジョブ1とジョブ2が存在する場合、ジョブ1についてICカードが必要な復号処理を実行した後、ジョブ1を一時停止し、ジョブ2の復号処理を実行する。これが終了した後、ジョブ1及びジョブ2の印刷処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、プログラム及び情報処理システムに関する。
【背景技術】
【0002】
特許文献1に開示された技術では、画像形成装置のUSBコネクタにユーザのUSBトークンを差し込み、文書をスキャンした後、データ処理装置のスキャンデータ処理手段により文書ファイルに変換するとともにメッセージダイジェスト生成手段によりメッセージダイジェストを算出する。その後、画像形成装置内の暗号化手段により、USBトークンより得た秘密鍵 を用いて、送られてきたメッセージダイジェストを暗号化し、次いで、データ処理装置内で前記文書化されたファイルにこの署名されたメッセージダイジェストを合成し、署名された文書化ファイルを完成させる。
【0003】
特許文献2には、ユーザの秘密鍵及び公開鍵を内蔵したICカードを用いて印刷データの暗号化及び復号を行う画像形成装置が開示されている。この装置は、ユーザのICカードを読み取るカードリーダを備えている。この装置は、暗号化され保存された印刷データの印刷が指示されると、カードリーダにセットされたICカードに対して暗号化された共通鍵を送って、ICカードから復号された共通鍵を受け取り、その共通鍵を用いて暗号化された印刷データを復号して印刷する。
【0004】
特許文献3には、秘密鍵及び公開鍵証明書を格納したICカード等の携帯型電子ユニットを利用して情報処理装置において電子署名を実行する電子署名システムにおいて、情報処理装置から携帯型電子ユニットを早期に取り外すための技術が提案されている。このシステムでは、ICカードは、第1公開鍵についての第1公開鍵証明書及びそれに対応する第1秘密鍵を格納したメモリと、第1秘密鍵を使って、画像処理装置から提供される第2公開鍵の署名値を生成する第1電子署名部2とを含む。画像処理装置は、該第2公開鍵及びそれに対応する第2秘密鍵を生成する鍵生成部と、該第2公開鍵についての第2公開鍵証明書を生成する証明書生成部とを含む。第2公開鍵証明書は、該第2公開鍵、ICカードから提供される署名値及び第1公開鍵証明書を含む。
【0005】
特許文献4には、複数の情報処理装置が連携して処理を実行するシステムにおいて、指示等のデータに対して電子署名を付したものを情報処理装置間で伝送することが開示されている。
【0006】
【特許文献1】特開2003−224728号公報
【特許文献2】特開2005−348250号公報
【特許文献3】特開2006−262408号公報
【特許文献4】特開2004−151896号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、ユーザの認証機器を必要とする複数の処理指示を実行する場合に、認証機器との通信が必要な処理要素について続けて実行することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、前記認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備える情報処理装置である。
【0009】
請求項2に係る発明は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備える情報処理装置である。
【0010】
請求項3に係る発明は、請求項1又は2に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記複数の指示のうちの第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要としない処理要素である場合には、当該第1の指示に係る処理を前記第1の処理要素の実行が完了した段階で停止状態とし、前記複数の指示のうち第2の指示に係る処理において次に実行すべき処理要素である、前記認証機器との通信を必要とする処理要素を実行する、ことを特徴とする。
【0011】
請求項4に係る発明は、請求項1〜3のいずれか1項に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要としない処理要素であって実行可能なものを、少なくとも2以上続けて実行する、ことを特徴とする。
【0012】
請求項5に係る発明は、請求項4に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、第3の指示に係る処理に含まれる前記認証機器との通信を必要としない第3の処理要素を実行した後、前記第3の指示に係る処理の中で前記第3の処理要素の次に実行することが定められた第4の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第3の指示に係る処理を前記第3の要素の実行が完了した段階で停止状態とし、前記複数の指示のうちの第4の指示に係る処理において前記認証機器との通信を必要としない処理要素を実行する、ことを特徴とする。
【0013】
請求項6に係る発明は、請求項1〜5のいずれか1項に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第1の処理要素の実行の後に続けて前記第2の処理要素を実行する、ことを特徴とする。
【0014】
請求項7に係る発明は、請求項1〜6のいずれか1項に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該ユーザから前記取得手段が取得した指示であって当該指示に係る処理において次に実行することが定められた処理要素が前記認証機器との通信を必要とする処理要素である停止状態の指示があれば、当該指示に係る前記次に実行すべき処理要素を実行する、ことを特徴とする。
【0015】
請求項8に係る発明は、請求項1〜7のいずれか1項に係る発明において、前記実行手段は、指示に係る処理の中の前記認証機器との通信を必要とする処理要素を実行中に前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該指示に係る処理を停止状態とし、前記複数の指示に係る処理の中で実行すべき処理要素が前記認証機器との通信を必要としない処理要素であって実行可能なものがある場合に、当該処理要素を実行する、ことを特徴とする。
【0016】
請求項9に係る発明は、コンピュータを、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段、前記認証機器と通信する通信手段、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、として機能させるためのプログラムである。
【0017】
請求項10に係る発明は、コンピュータを、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段、前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、として機能させるためのプログラムである。
【0018】
請求項11に係る発明は、情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、前記情報処理装置は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、前記認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、前記認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備え、前記認証機器は、前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、を備える、ことを特徴とする情報処理システムである。
【0019】
請求項12に係る発明は、情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、前記情報処理装置は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備え、前記認証機器は、前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、を備える、ことを特徴とする情報処理システムである。
【発明の効果】
【0020】
請求項1、2、9、10、11及び12に係る発明によれば、本構成を有しない場合に比較して、認証機器との通信が必要な処理要素について続けて実行することができる。
【0021】
請求項3に係る発明によれば、第1の処理指示に係る処理が完了する前に第2の処理指示における認証機器との通信が必要な処理要素を実行することができる。
【0022】
請求項4に係る発明によれば、認証機器との通信が出来ない場合においても、認証機器との通信が必要ない処理について続けて実行することができる。
【0023】
請求項5に係る発明によれば、認証機器との通信が出来ない場合においても、認証機器との通信が必要ない処理要素について処理することができる。
【0024】
請求項6に係る発明によれば、認証機器との通信が必要な処理要素について連続して処理することができる。
【0025】
請求項7に係る発明によれば、停止状態の処理指示における認証機器との通信を必要とする処理要素を続けて実行することができる。
【0026】
請求項8に係る発明によれば、通信手段が認証機器と通信できなくなった場合でも、処理指示に係る処理の認証機器との通信を必要としない処理要素を実行することができる。
【発明を実施するための最良の形態】
【0027】
図1に例示するこの実施形態の画像処理装置は、ジョブ入力部10,ジョブ実行部12,指示受付部14,記憶装置16,出力部18,認証部20,カードリーダ22,署名部26,及び復号部24を備える。画像処理装置は、例えばデジタル複合機(プリンタ、スキャナ、コピー機などの複数の機能を併せ持つ装置)として実現される。
【0028】
ジョブ入力部10は、ジョブのデータの入力を受け付ける。ここで、ジョブとは、ユーザが画像処理装置に対して指示する処理のことであり、例えば、ワードプロセッサで作成した文書などといった電子文書の印刷、紙原稿のスキャン、紙原稿のコピーなどがその一例である。印刷の場合、例えば、リモートのコンピュータから送信されてくる1つの印刷データを、その印刷データに対応する印刷属性情報に従って印刷する処理が1つのジョブとなる。また、スキャンやコピーの場合、例えば画像処理装置が備える自動原稿送り装置にセットされた原稿の束をスキャンしたりコピーしたりする処理が1つのジョブとなる。
【0029】
また近年では、紙原稿をスキャンしてそのスキャン結果の画像データを電子メールに添付して指定された宛先に送信するジョブや、暗号化された印刷データをユーザのICカードを用いて復号して印刷するジョブ(「暗号プリント」ジョブと呼ぶ)などといった複合的なジョブを実行可能な画像処理装置も増えている。
【0030】
この実施形態では、複合的なジョブを、複数の処理要素(「ジョブ要素」と呼ぶ)に分けて管理する。ジョブ要素とは、1つのジョブを構成する個々の処理単位である。この考え方では、1つのジョブは、実行順序が定められた1以上のジョブ要素から構成される。例えば、暗号プリントジョブは、暗号化された印刷データをユーザのICカードを用いて復号するジョブ要素と、(復号結果の)印刷データを紙に印刷するジョブ要素と、から構成される。また、例えば、自動原稿送り装置に置かれた紙原稿をスキャンして電子的な画像データに変換するジョブ要素と、ユーザのICカードを用いてその画像データに電子署名を付すジョブ要素とから構成される「スキャン署名」ジョブなどもある。
【0031】
ジョブ要素には、物理的な媒体への出力又は物理的な媒体からの入力を伴うものと、電子的なデータに対する処理のみからなるものとがある。前者には、印刷データを紙に印刷するジョブ要素、紙原稿上の画像を電子的なデータへと変換するジョブ要素、電子的な画像データをファクシミリ送信するジョブ要素などがある。また後者には、例えば暗号化された印刷データを復号するジョブ要素や、電子的な文書データに電子署名を付すジョブ要素などがある。
【0032】
ジョブ入力部10は、例えば、リモートのコンピュータから印刷データを受信するネットワークインタフェース、又は紙原稿を読み取るスキャナなどである。
【0033】
ジョブ実行部12は、ジョブ入力部10から入力されたジョブを実行する手段である。ジョブ実行部12は、ジョブを実行するにあたり、CPU(中央演算装置)やメモリなどといったコンピュータハードウエア、そのハードウエアで実行される各種のプログラム、ネットワークインタフェース、スキャナ機構、プリンタ機構、ファクシミリ機構などといった、画像処理装置が備える各種のリソース(処理のための資源)のなかでそのジョブに必要なものを用いる。
【0034】
ジョブ実行部12は、入力されたジョブに対し、周知の先入れ先出し方式のキュー(待ち行列)管理を実行する。このキュー管理では、例えば、1つのジョブの実行が完了すると、キューの先頭からジョブを取り出して実行する。また、ジョブ実行部12は、ユーザの指示に従ってキュー内のジョブの実行順序を変更する機能を備えていてもよい。
【0035】
指示受付部14は、画像処理装置のユーザインタフェースであり、ユーザから指示を受け付ける。指示受付部14は、表示及び入力のためのハードウエア(例えば液晶タッチパネル)を備えていてもよい。指示受付部14は、コピー等のジョブの実行開始を指示するためのスタートボタンを備えていてもよい。
【0036】
記憶装置16は、ジョブのデータ(例えば印刷データなど)、ジョブの管理のためのデータ(キューの管理情報など)、ジョブ要素の実行結果のデータ、又はジョブの実行結果のデータ等を記憶する。ジョブ要素の実行結果のデータの例には、例えば暗号プリントジョブにおける復号された印刷データや、スキャン署名ジョブにおけるスキャン結果の画像データなどがある。ジョブの実行結果のデータの例には、スキャンジョブにおけるスキャン結果の画像データや、スキャン署名ジョブにおける電子署名後の文書データなどがある。記憶装置16は、例えばハードディスク装置などである。
【0037】
出力部18は、ジョブの処理結果を出力する手段である。例えば、プリンタ機構、ファクシミリ機構、ネットワークインタフェースなどがその例である。
【0038】
認証部20は、画像処理装置の指示受付部14に対して指示を入力するユーザを認証する。この例では、認証部20は、カードリーダ22にユーザがセットしたICカードを用いて、公知の手法によりユーザ認証を行う。
【0039】
ICカードは、ユーザの固有情報を記憶している。ICカードは、カードリーダ22から受信したデータに対してユーザの固有情報を用いた演算処理を施し、その処理結果をカードリーダ22へと返す。ICカードは、例えば、公開鍵基盤(PKI)技術におけるユーザの秘密鍵と公開鍵(及び公開鍵証明書)を記憶したものである。この場合、ICカードは、カードリーダ22から受信したデータに対して公開鍵又は秘密鍵を用いた演算処理を施し、その処理結果のデータをカードリーダに返す。
【0040】
復号部24は、暗号化されたデータ(例えば暗号化された印刷データ)を、ユーザのICカードとの通信により得たデータを用いて復号する。署名部26は、ユーザのICカードとの通信により得たデータを用いて、署名対象のデータに対して当該ユーザの電子署名を付す。
【0041】
この実施形態では、1のユーザの複数のジョブ(言い換えれば1つのICカードを用いるジョブ)を実行する際に、それら複数のジョブの中にあるそのユーザのICカードを用いるジョブ要素をできるだけ続けて実行するよう制御する。なお、この明細書では、複数人からなるグループも「ユーザ」と呼ぶこととする。このようなグループに対し、そのグループの固有情報を記憶したICカードを割り当てる場合もあるからである。
【0042】
このような制御の一例を、図2及び図3を参照して説明する。この例では、ICカード内にユーザの固有情報として、そのユーザの秘密鍵(及び公開鍵証明書)を持たせる。そして、画像処理装置がその公開鍵証明書内の公開鍵で暗号化が施された印刷データを複数、ネットワーク上のコンピュータから受信し、印刷出力する。図2の例は、暗号化された印刷データを印刷するジョブを2つ実行する場合を示している。
【0043】
ICカードを用いた暗号プリントでは、ユーザは、自分のパーソナルコンピュータで、ICカード内の自分の公開鍵を用いて印刷データに対して暗号化を行う。暗号化された印刷データは、画像処理装置の記憶装置16に保存される。そして、ユーザが画像処理装置のところまで出向き、ICカードをカードリーダ22に挿入し、保存されたそれら暗号プリントの印刷データの印刷の指示を行う。
【0044】
暗号プリントのジョブでは、図2に示すように、復号処理と印刷という2つのジョブ要素を順に実行する。ここで、この実施形態では、ジョブごとに復号処理と印刷を続けて実行するのではなく、最初のジョブ(「ジョブ1」)の復号処理が終わると2番目のジョブ(「ジョブ2」)の復号処理を行う。すなわち、復号処理には秘密鍵が必要であるためICカードが必要であるが、印刷ではICカードは必要ないので、ICカードが必要な復号処理を少なくとも2以上続けて実行するのである。
【0045】
ここで、ジョブ1は、復号処理が完了したら復号結果を記憶した状態のまま一時停止する。そして、ジョブ2の復号処理が終わった段階でジョブ2を一時停止状態とし、一時停止されていたジョブ1の実行を再開する。再開されたジョブ1では復号結果を用紙に印刷する処理が実行される。その処理の終了後、一時停止されていたジョブ2を再開して復号結果を紙に印刷する。
【0046】
このようなジョブの実行制御では、ジョブ2の復号処理のために必要なICカードとの通信が完了した時点で、ユーザのICカードは不要となる。すなわち、ジョブ1及びジョブ2の復号結果が印刷されるのを待たずに、ICカードをカードリーダ22から取り外してよい状態となる。このように、ICカードを取り外してよい状態となった場合に、画像処理装置の指示受付部14の表示画面にその旨を表示するようにしてもよい。
【0047】
なお、この種のPKIベースのICカードを用いた暗号化では、よく知られるように、例えば、ユーザのパーソナルコンピュータ内のソフトウエア(例えばプリンタドライバ)が、暗号化対象の印刷データをセッション鍵で暗号化した後、そのセッション鍵を、パーソナルコンピュータに接続されたカードリーダにセット(例えば装着又は挿入)されたICカードに送信する。ICカードはセッション鍵を自身が内蔵するユーザの公開鍵で暗号化し、暗号化結果をパーソナルコンピュータに返す。パーソナルコンピュータは、セッション鍵の暗号化結果を暗号化された印刷データに付加し、その付加結果のデータを画像処理装置に送信する。
【0048】
そして、ユーザが画像処理装置のところに来てICカードをカードリーダ22にセットすると、画像処理装置は、記憶装置16に記憶されたそのユーザの暗号化された複数の印刷データを、図2に示すように処理していく。その処理の中で、ジョブ実行部12は、まずジョブ1の最初のジョブ要素が復号処理であることを認識し、復号部24に復号処理を行わせる。復号部24は、ジョブ1の暗号化された印刷データに付随する暗号化されたセッション鍵をカードリーダ22経由でICカードに送り、復号されたセッション鍵を取得し、そのセッション鍵を用いて印刷データを復号する。ジョブ2についても、復号部24は同様に処理を行う。
【0049】
図2では、暗号化された印刷データが2つである場合を例示したが、3つ以上の場合も同様に、この実施形態では、復号処理のジョブ要素をそれら複数のジョブにわたって続けて実行する。
【0050】
この例でのジョブ実行部12の処理手順の例を図3に示す。この手順が開始される前に、ジョブ入力部10(この場合はネットワークインタフェース)を介して、暗号化された印刷データが入力され、記憶装置16に記憶、すなわちジョブ管理のためのキューに入れられる。それら印刷データの印刷を指示したユーザは画像処理装置のところまで到来し、ICカードをカードリーダ22にセットし、指示受付部14から「暗号化文書の出力」を指示する。このとき、一つまたは複数の暗号化された印刷データ(ジョブ)を選択し、スタートボタンを押下する。これにより、図3の処理手順が開始される。なお、図3の処理手順は1つのジョブについての処理手順である。この手順から別の暗号プリントジョブが呼び出された場合、呼び出されたジョブについてこの図3の手順が実行されることになる。なお、以下では、図3の手順を図2の事例に適用した場合を例にとって説明する。すなわち、図2のジョブ1及びジョブ2が選択されたとする。
【0051】
この手順では、まず、選択されたジョブの中で、キューの中での処理順序が最も早いもの(ジョブ1)を処理対象とする。ジョブ実行部12は、処理対象のジョブが一時停止状態か否かを判断する(S10)。ここでは、一時停止状態ではないため、カードリーダ22にICカードが挿入されているかの判断を行う(S12)。もしICカードが挿入されていなければ、この例では、挿入されるまで待機する。ICカードが挿入されているならば、復号部24に復号処理を行わせる(S14)。復号処理の後、ジョブ1は一時停止状態に移行する(S16)。このときジョブ実行部12は、ジョブ1が復号処理完了の段階で一時停止状態になったことと、復号結果とを記憶装置16に記憶する。
【0052】
ジョブ1が一時停止状態に移行したあと、ジョブ実行部12は、未処理の別ジョブがあるかを判断する(S18)。今回の例ではジョブ2があるため、ステップS18の判定結果は肯定(Yes)となる。この場合、ユーザが選択した全てのジョブが一時停止状態かを判断する(S20)。この場合は、ジョブ2が一時停止状態でないため、ジョブ2の処理へ移行する。
【0053】
ジョブ実行部12は、ジョブ2についても上述のステップS10〜S16までの処理を実行する。これにより、ジョブ2の印刷データは復号され、ジョブ2は一時停止状態となる。次のステップS18の判定結果は別のジョブ1が存在するので肯定となる。この時点では、ジョブ1もジョブ2も一時停止状態となっているので、次のステップS20の判定結果は肯定となる。すると、ジョブ実行部12は、現在の対象であるジョブ2が、選ばれたジョブの中で一番先に一次停止したジョブか(言い換えれば、一時停止中のジョブの中でキュー内での順番が最も早いものか)否かを判断する(S22)。ジョブ2は一番先に一時停止状態になったものではないので、別のジョブ、すなわち一時停止中のジョブの中でキュー内での順番が最も早いジョブの処理へ移行する。この例では、ジョブ1の処理に移行する。
【0054】
ジョブ実行部12は、再びジョブ1を対象として図3の処理を実行する。この場合、ジョブ1は一時停止状態なので、ステップS10の判定結果が肯定となり、ステップS18に進む。一時停止中のジョブ2が存在するのでステップS18の判定結果は肯定となり、ジョブ1及び2は両方とも一時停止状態なのでステップS20の判定結果も肯定となる。そして、ステップS22で、対象であるジョブ1が一番先に一時停止したジョブであると判断し、当該ジョブ1を再開し、そのジョブ1の復号結果の印刷データを用紙に印刷出力する(S24)。これによりジョブ1は終了する。
【0055】
ジョブ1の終了後、ユーザが選択した別のジョブが残っていれば、そのジョブの処理に移行する。この例では、ジョブ2が残っているので、ジョブ2について図3の処理を行う。この場合、ジョブ2は一時停止状態なので、ステップS10の判定結果が肯定となり、ステップS18に進む。そして、この例では、ジョブ1が終了したので、対象であるジョブ2以外はなくなっており、ステップS18の判定結果は否定となる。すると、ジョブ実行部12はステップS24に進み、対象であるジョブ2の復号結果を印刷出力する。これにより、ユーザが実行を指示したジョブは全て終了する。
【0056】
なお、最初にユーザが選択した暗号プリントジョブが3つあった場合、それら3つのジョブが全て一時停止状態となった後、1つめのジョブの出力を行って2番目のジョブの処理に進んだ場合、3番目のジョブが残っているのでステップS18の判定結果は肯定となる。この場合、ステップS20の判定結果は肯定となる。このとき、残っている2番目及び3番目のジョブの中では、対象である2番目のジョブは最も先に一時停止となったジョブであるので、ステップS22の判定結果は肯定となり、2番目のジョブの出力が行われる。
【0057】
以上、暗号プリントのジョブを複数実行する例を説明した。次に、図4及び図5を参照して、スキャン署名のジョブを複数続けて実行する場合を説明する。
【0058】
この例でも、ICカードにはユーザの秘密鍵(及び公開鍵証明書)が保持されている。画像処理装置は、自動原稿送り装置にセットされた紙原稿をスキャンし、スキャン結果の画像を、ユーザの電子署名付きPDF文書へと変換する。電子署名を付す際に、ICカードを利用する。図4の例は、スキャン署名のジョブを2つ実行する場合を示している。
【0059】
スキャン署名ジョブでは、図4に示すように、紙原稿のスキャンと署名付きPDF文書の生成という2つのジョブ要素を順に実行する。ここで、スキャンにはICカードは必要ないのに対し、署名付きPDF文書の生成にはICカードが必要である。この実施形態では、最初のジョブ1のスキャン処理が終わると2番目のジョブ2のスキャン処理を行う。そして、2つのジョブのスキャンが終わると、ICカードが必要な署名付きPDF文書の生成をそれら2つのジョブについて続けて行う。
【0060】
ここで、ジョブ1は、スキャンが完了した時点、スキャン結果の画像を記憶した状態のまま一時停止する。そして、ジョブ2のスキャンが終わった段階でジョブ2を一時停止状態とする。そして、画像処理装置は、ICカードがカードリーダ22にセットされるのを待つ。そして、ICカードがセットされると、一時停止されていたジョブ1の実行を再開する。再開されたジョブ1ではスキャン結果の画像に対し、ICカードを用いて電子署名を施し、その画像と電子署名を含んだPDF文書を生成する。その処理の終了後、一時停止されていたジョブ2を再開して、スキャン結果の画像に対して電子署名を付し、電子署名付きのPDF文書を生成する。
【0061】
このようなジョブの実行制御では、ジョブ1及びジョブ2のスキャンを実行している間は、ICカードは不要である。その間、ユーザはICカードを持って画像処理装置から離れていてもよい。
【0062】
なお、この種のPKIベースのICカードを用いた電子署名処理では、画像処理装置の署名部26は、署名対象のデータ(この場合はスキャン結果の画像)のハッシュ値を求め、そのハッシュ値をカードリーダ22経由でICカードに渡す。ICカードは、そのハッシュ値に対し、秘密鍵を用いて暗号化と同等の演算を行うことで電子署名値を求め、その電子署名値をカードリーダ22経由で署名部26を返す。署名部26は、スキャン結果の画像と電子署名値を含んだPDF文書を作成する。
【0063】
図4では、スキャン署名ジョブが2つである場合を例示したが、3つ以上の場合も同様に、図4及び図5の例ではそれら3以上のジョブのスキャン処理を続けて実行し、ICカードがセットされるのを待つ。そして、ICカードがセットされれば、それら各ジョブのスキャン結果に対する署名付与を続けて実行する。
【0064】
この例でのジョブ実行部12の処理手順の例を図5に示す。図5の処理手順は1つのジョブについての処理手順である。この手順から別の暗号プリントジョブが呼び出された場合、呼び出されたジョブについてこの図5の手順が実行されることになる。なお、以下では、図5の手順を図4の事例に適用した場合を例にとって説明する。
【0065】
この手順では、まずユーザは、指示受付部14の操作パネルに表示されたメニュー上で「スキャン文書のPDF署名」処理を選択し、スタートを指示する。この処理をジョブ1とする。この指示を受けたジョブ実行部12は、そのジョブ1が一時停止状態かを判断する(S30)。ここでは、一時停止状態でないため、スキャン処理を行う(S32)。スキャン処理のあと、ジョブ1は一時停止状態に移行する(S34)。その後、別のスキャン署名ジョブの実行が指示されているか否かを判断する(S36)。この時点で、別のスキャン署名ジョブが指示されていなければ、カードリーダ22がICカードを認識しているかを判断する(S42)。
【0066】
ここで、ICカードが認識されなかった場合は、ステップS34に戻る。別のスキャン署名ジョブの実行を指示されるか、ICカードが認識されるまで、ステップS34、S36及びステップS42の処理ループが繰り返される。ここで、ICカードが認識される前に、別のスキャン署名ジョブ(ジョブ2)の実行が指示されたとする。この場合、ステップS36の判定結果が肯定となる。次のステップS38では、指示された全てのスキャン署名ジョブが一時停止状態か否かを判断する。この例では、ジョブ1は一時停止中であるが、新たに指示されたジョブ2は一時停止ではないので、ステップS38の判定結果は否定となり、ジョブ2の処理に進む。
【0067】
ジョブ実行部12は、ジョブ2について図5の処理を開始する。ジョブ実行部12は、ジョブ2についても上述のステップS30〜S34までの処理を実行する。これにより、ジョブ2の紙原稿がスキャンされ、ジョブ2は一時停止状態となる。次のステップS36の判定結果は別のジョブ1が存在するので肯定となる。この時点では、ジョブ1もジョブ2も一時停止状態となっているので、次のステップS38の判定結果は肯定となる。すると、ジョブ実行部12は、現在の対象であるジョブ2が、実行を指示されたジョブの中で一番先に一次停止したジョブか(言い換えれば、一時停止中のジョブの中でキュー内での順番が最も早いものか)否かを判断する(S40)。ジョブ2は一番先に一時停止状態になったものではないので、別のジョブ、すなわち一時停止中のジョブの中でキュー内での順番が最も早いジョブの処理へ移行する。この例では、ジョブ1の処理に移行する。
【0068】
ジョブ実行部12は、再びジョブ1を対象として図5の処理を実行する。この場合、ジョブ1は一時停止状態なので、ステップS30の判定結果が肯定となり、ステップS34を経てステップS36に進む。一時停止中のジョブ2が存在するのでステップS36の判定結果は肯定となり、ジョブ1及び2は両方とも一時停止状態なのでステップS38の判定結果も肯定となる。そして、ステップS40で、対象であるジョブ1が一番先に一時停止したジョブであると判断し、ステップS42に進む。ステップS42で、カードリーダ22がICカードを検出するのを待つ。すなわち、ICカードが検出されるまで、ステップS34からS42の処理ループが繰り返される。
【0069】
この処理ループの中で、別のスキャン署名ジョブの実行が指示される前に、ユーザがカードリーダ22にICカードをセットすると、ステップS42の判定結果が肯定となる。すると、ジョブ実行部12は、処理対象のジョブ1についての署名処理を署名部26に実行させる(S44)。これにより署名付きPDF文書が作成され、ジョブ1が終了する。
【0070】
ジョブ1の終了後、別のジョブが残っていれば、そのジョブの処理に移行する。この例では、ジョブ2が残っているので、ジョブ2について図5の処理を行う。この場合、ジョブ2は一時停止状態なので、ステップS30の判定結果が肯定となり、ステップS34、S36に進む。この例では、ジョブ1が終了したので、対象であるジョブ2以外はなくなっており、ステップS36の判定結果は否定となる。すると、ジョブ実行部12はステップS42に進む。ここで、ICカードがカードリーダ22にセットされたままであれば、ステップS42の判定結果が肯定となり、ジョブ実行部12は、ジョブ2についての署名処理を署名部26に実行させる(S44)。この結果、ジョブ2の署名付きPDF文書が生成され、ユーザが実行を指示したジョブは全て終了する。
【0071】
次に、別の例を、図6〜図13を参照して説明する。図6は、ジョブ実行部12におけるジョブの管理情報のデータ構造の一例である。この例では、ジョブ管理情報100は、ジョブID102,発行者104,ジョブ種別ID106,状態108,処理済み要素番号110,及び途中処理結果112を含む。ジョブID102は、画像処理装置内での当該ジョブの識別情報である。発行者104は、当該ジョブを発行したユーザの識別情報である。例えば暗号プリントジョブの場合、そのジョブの印刷データを送信したコンピュータが、そのジョブの実行を指示したユーザの識別情報をその印刷データに対応づけて画像処理装置に通知するので、その識別情報を発行者104の欄に記録すればよい。また、画像処理装置の指示受付部14に対して指示されるスキャン署名ジョブなどのジョブの場合、認証部20及びカードリーダ22によるユーザ認証により求めたユーザの識別情報を発行者104の欄に記録すればよい。
【0072】
ジョブ種別ID106は、当該ジョブの種別の識別情報である。ジョブ種別には、例えばプリント、スキャン、コピー、ファクシミリ送信、暗号プリント、スキャン署名等がある。ジョブ種別ID106は、コンピュータから指示されたジョブの属性情報に示されるジョブの種別の情報や、指示受付部14のメニュー上でユーザが指定したジョブの種別などから求めればよい。
【0073】
状態108は、当該ジョブの実行状態を示す値である。ジョブの実行状態には、例えば「未処理」、「完了」、「一時停止(カード挿入待ち)」、「一時停止(カード処理完了待ち)」などがある。「未処理」は、当該ジョブが開始されていない状態、すなわち当該ジョブに含まれる最初のジョブ要素ですら実行されていない状態である。これに対し、「完了」は、当該ジョブが最後まで完了した状態、すなわち当該ジョブの最後のジョブ要素の実行まで完了した状態である。それに対し、一時停止状態は、当該ジョブの中の途中のジョブ要素の実行が完了したが、まだ未実行のジョブ要素を残したまま当該ジョブを一時停止した状態である。この例では、一時停止の状態を「カード挿入待ち」と「カード処理完了待ち」の2種類に細分している。前者は、ICカードがカードリーダ22に挿入(セット)されるのを待つための一時停止状態であり、上述の図4及び図5の例におけるジョブ要素「スキャン」の実行後の一時停止状態がその一例である。後者は、他のジョブにおけるICカードを利用したジョブ要素の実行完了を待つための一時停止状態であり、上述の図2及び図3の例におけるスキャン要素の実行後の一時停止状態がその一例である。
【0074】
処理済み要素番号110は、当該ジョブに含まれるジョブ要素群の中で、何番目までのジョブ要素が実行済みとなっているかを示す情報である。処理済み要素番号110は、一時停止状態のジョブを再開する時に、どのジョブ要素から再開すればよいかを示すこととなる。
【0075】
途中処理結果112は、ジョブを一時停止した時に、一時停止時点でのジョブの処理結果、すなわちその一時停止の直前に実行したジョブ要素の処理結果である。例えば、暗号プリントのジョブを、復号が完了した後に一時停止した場合、その復号の結果の印刷データが途中処理結果112として記憶されることになる。
【0076】
ジョブ実行部12は、入力されたジョブごとに、図6に例示するような管理情報を作成し、ジョブの実行が進むにつれて、「状態」、「処理済み要素番号」、「途中処理結果」を更新していく。このような管理情報は、例えば記憶装置16に記憶される。
【0077】
また、ジョブ実行部12は、入力されたジョブに対して公知のキュー管理を行っており、キューの情報すなわちジョブの順序を示す情報を管理している。新たなジョブが実行可能な状態になると、ジョブ実行部12はキューの先頭のジョブを取り出し、そのジョブの実行を開始する。この実施形態では、ジョブを一時停止する場合があるので、一時停止したジョブ同士の順序関係を第2のキューで管理してもよい。ジョブ実行部12は、一時停止したジョブを第2のキューの末尾に追加する。対象となる全てのジョブが一時停止状態となった後、それらジョブ群の実行を再開する場合には、第2のキューの先頭からジョブが順に取り出され、実行される。なお、キューのデータ構造は周知なので、ここでは説明を省略する。
【0078】
図7は、ジョブ種別情報200の一例を示す。ジョブ種別情報200は、ジョブ種別ごとに容易され、例えば記憶装置16に記憶されている。ジョブ種別ID202は、当該ジョブ種別の識別情報であり、ジョブ管理情報100のジョブ種別ID106に対応する。ジョブ種別名204は、当該ジョブ種別の名称であり、例えばメニュー表示などに用いられる。カード要否206は、当該ジョブ種別のジョブがICカードを必要とするか否かを示す情報である。なお、ICカードの要否はジョブ要素ごとでも管理されているので、ジョブ単位でのカード要否206の情報は必須ではない。要素数208は、当該ジョブを構成するジョブ要素の数である。この要素数208の後に、その数だけ、要素情報210,212,…が続く。要素情報210,212,…は、当該ジョブを構成する各ジョブ要素の識別情報である。ジョブ内のジョブ要素には実行順序があり、要素情報210,212,…はその実行順序にしたがって並ぶ。図7の例は、暗号プリントのジョブ種別情報を示しており、要素数は2つ、第1のジョブ要素は「復号」、第2のジョブ要素は「プリント」である。ジョブ実行部12は、ジョブを実行する際、そのジョブのジョブ種別に応じたジョブ種別情報を参照する。
【0079】
次に、ジョブ要素の管理情報の例を図8に示す。この管理情報は、各ジョブ要素がICカードを必要とするか否かを示す。図8の例では、ジョブ要素の識別情報「復号」、「プリント」、「スキャン」、「署名付き文書化」、…ごとに、そのジョブ要素を実行する際にICカードが必要か否かを示している。
【0080】
次に、この例におけるジョブ実行部12の処理内容の一例を、図9を参照して説明する。図9の処理手順は、ジョブ管理のためのキューから先頭のジョブが取り出されると、開始する。取り出されたジョブを、処理対象のジョブという意味で「対象ジョブ」と呼ぶことにする。この手順では、ジョブ実行部12は、対象ジョブの中から先頭のジョブ要素を処理対象として取り出す(S100)。この処理では、対象ジョブのジョブ管理情報(図6参照)及びジョブ種別情報(図7参照)を参照して、先頭のジョブ要素を特定すればよい。取り出したジョブ要素を対象要素と呼ぶことにする。ジョブ実行部12は、対象要素がICカードを必要とする要素であるかどうかを、ジョブ要素の管理情報(図8参照)を参照して判定する(S102)。ICカードが必要でなければ、その対象要素を実行し(S104)、対象ジョブに残りのジョブ要素があるかどうかを判定する(S106)。残りのジョブ要素があれば、それらのこりのジョブ要素の中で先頭のジョブ要素を新たに対象要素とし(S108)、ステップS102に戻る。対象ジョブがICカードを必要とするジョブ要素を1つも含んでいなければ、ステップS102〜S108が繰り返され、ステップS106で残りのジョブ要素がないと判定されると、対象ジョブが終了する。
【0081】
一方、対象ジョブ内のジョブ要素を順に実行していく中で、あるジョブ要素がICカードを必要とするものであると判定される(S102)と、ジョブ実行部12は、そのジョブ要素の実行開始前のジョブ要素の処理結果をジョブ管理情報200の途中処理結果112として保存し、対象ジョブを一時停止(カード挿入待ち)状態として(S110)、このジョブの処理をいったん終了する。このとき対象ジョブのジョブ管理情報100の状態108は「一時停止(カード挿入待ち)」にセットされ、処理済み要素番号110はステップS102でICカードが必要と判定された要素の実行開始前のジョブ要素の番号にセットされる。
【0082】
図9の手順が実行されることで、対象ジョブは、ICカードなしで実行できるジョブ要素までは実行され、ICカードが必要なジョブ要素の実行開始前に一時停止状態となる。例えば、ユーザがパーソナルコンピュータから暗号プリントジョブを複数画像処理装置に送信すると、図9の手順により、それら暗号プリントジョブが、それぞれ1つめのジョブ要素(復号)の実行開始前に一時停止(カード挿入待ち)状態となる。また、ユーザが画像処理装置にてスキャン署名ジョブを複数指示した場合は、それらスキャン署名ジョブは、それぞれ2つめのジョブ要素(署名付き文書化)の実行開始前に一時停止(カード挿入待ち)状態となる。
【0083】
さて、ユーザが画像処理装置のカードリーダ22にICカードを挿入すると、認証部20がICカードを認識し、図10に例示する処理を実行する。この処理では、認証部20は、ICカードと通信して公知のユーザ認証処理を実行する(S110)。そのユーザ認証が成功、すなわちICカードとの通信により画像処理装置を利用可能なユーザであると判定されると、認証部200は、その認証処理の中でICカードから取得したユーザIDをジョブ実行部12に通知する(S114)。認証が成功しなければ、指示受付部14の表示装置にエラーメッセージを表示する等のエラー処理を行う(S116)。
【0084】
認証部20から認証されたユーザIDの通知を受けたジョブ実行部12は、例えば図11に例示する処理手順を実行する。この処理手順では、ジョブ実行部12は、記憶装置16内の各ジョブのジョブ管理情報100を調べることで、通知されたユーザIDのユーザが発行者である「一時停止(カード挿入待ち)」状態のジョブを抽出する(S120)。そして、そのようなジョブが抽出されれば、それらジョブ群を実行する(S122)。一方、そのようなジョブがなければ、画像処理装置は指示受付部14にメニューを表示して通常の指示受付を行い(S124)、ユーザが指示受付部14に入力した指示を実行する(S126)。通常の指示受付では、例えばメニューを表示してその中からユーザの選択を受け付け、選択された操作についてのパラメータの入力を受け付けるなどの公知の処理を行う。
【0085】
ステップS122の処理の詳細例を図12及び図13に示す。この手順では、ジョブ実行部12は、ステップS120で抽出された一時停止(カード挿入待ち)状態のジョブ群の中から、先頭のもの(もっとも先にその状態となったもの)を対象ジョブとする(S130)。次に、対象ジョブの中の先頭のジョブ要素を対象要素とする(S132)。ここでいう「先頭のジョブ要素」は、対象ジョブ中の未処理のジョブ要素の中で先頭のものであり、ジョブ管理情報100の処理済みジョブ要素番号110の次の順番のジョブ要素である。この対象要素は、実行のためにICカードを必要とする要素である。ジョブ実行部12は、カードリーダ22を介してICカードと通信可能か否かを判定し(S134)、通信可能であれば、そのICカードと通信して対象要素を実行する(S136)。例えば対象要素が署名付き文書化であれば、ステップS136では、その署名付き文書化を実行する処理モジュールが、署名対象のデータのハッシュ値をICカードに送信して電子署名値を計算させ、その電子署名値を含んだ署名付き文書(例えばPDF文書)を生成する。
【0086】
そして、ジョブ実行部12は、対象ジョブにおいて対象要素の次に位置するジョブ要素がICカードを必要とするか否かを判定し(S138)、必要とするのであれば、当該次に位置するジョブ要素を新たな対象要素とし(S140)、ステップS134に戻る。
【0087】
ステップS138の判定結果が「ICカード不要」であれば、ジョブ実行部12はステップS120で抽出したジョブの中に未処理のジョブが残っているか否かを判定し(S142)、未処理のジョブが残っていれば、現在の対象ジョブを対象要素が終了した段階で一時停止(カード処理完了待ち)状態とし(S144)、それら未処理のジョブの中の先頭のジョブを新たな対象ジョブとしてステップS132に戻る。
【0088】
ステップS142で、当該ユーザの一時停止(カード挿入待ち)状態のジョブが残っていないと判定された場合は、それら各ジョブは、当該ジョブの最後まで完了したか、或いは一時停止(カード処理完了待ち)状態となったかのいずれかになる。この場合、ジョブ実行部12は図13の処理に進む。
【0089】
なお、ジョブ実行部12が図12の処理を実行している間に、ユーザがカードリーダ22からICカードを取り外すと、ステップS134でICカードと通信できなくなったことが検知される。その場合も、ジョブ実行部12は、図13の処理に進む。
【0090】
図13の処理例では、ジョブ実行部12は、ICカードにより認証されたユーザの一時停止(カード処理完了待ち)状態のジョブ群の中で、先頭のものを対象ジョブとする(S150)。次に対象ジョブの先頭のジョブ要素を対象要素とする(S152)。ここでいう先頭のジョブ要素は、対象ジョブ中の未処理のジョブ要素の中で先頭のものであり、ジョブ管理情報100の処理済みジョブ要素番号110の次の順番のジョブ要素である。この対象要素は、ICカードを必要としないジョブ要素なので、ICカードがカードリーダ22にセットされていなくても実行できる。ジョブ実行部12は、対象要素を実行する(S154)。
【0091】
次にジョブ実行部12は、対象ジョブ内に対象要素の次のジョブ要素が残っているかどうかを、対象ジョブのジョブ管理情報100を参照して判定し(S156)、残っていれば、当該次のジョブ要素がICカードを必要とするか否かを判定する(S158)。この判定で、当該次のジョブ要素がICカード不要であれば、当該次のジョブ要素を対象要素として(S160)、ステップS154に戻って対象要素を実行する。
【0092】
ステップS158で当該次のジョブ要素がICカードを必要とする要素であると判定された場合は、ジョブ実行部12は、対象ジョブを一時停止(カード挿入待ち)状態とする(S162)。より詳しくは、対象要素の処理結果を対象ジョブのジョブ管理情報100に対し途中処理結果112として記録し、対象要素の番号を処理済み要素番号110として記録し、状態108を一時停止(カード挿入待ち)状態とする。
【0093】
なお、この一時停止(カード挿入待ち)状態となったジョブは、図13の処理が終了した後に、当該ユーザのICカードがカードリーダ22にセットされ図12の処理が行われる時に、再開される。もっとも、このような処理は一例に過ぎない。この代わりに、ステップS158で次のジョブ要素がICカードを必要とすると判定された場合に、ICカードがカードリーダ22にセットされていれば、対象ジョブを一時停止せずに、当該次のジョブ要素を実行するようにしてもよい。
【0094】
ステップS162の後、ジョブ実行部12は、一時停止(カード処理完了待ち)状態のジョブが残っているかどうかを判定する(S164)。残っていれば、残っているそれらジョブのうち先頭のものを新たな対象ジョブとし(S166)、ステップS152に戻る。
【0095】
ステップS164で、一時停止(カード処理完了待ち)状態のジョブが残っていないことが判明した場合、図13の処理は終了する。ステップS150の時点で残っていた一時停止(カード処理完了待ち)のジョブは、図13の処理が終了した時点では、最後のジョブ要素まで実行が完了しているか、或いは一時停止(カード挿入待ち)状態となっているかのいずれかである。一時停止(カード挿入待ち)状態のジョブが残っている場合は、ユーザがICカードをカードリーダ22にセットすれば、それらジョブの実行が再開される。
【0096】
図9の例では、ステップS102で対象要素がICカードを必要とすると判定された場合、対象ジョブを一時停止(カード挿入待ち)状態に遷移させたが、これは一例に過ぎない。別の例を図14及び図15に示す。図14において、図9の手順のステップと同様のステップには同一符号を付す。
【0097】
この例では、対象要素がICカードを必要とするジョブであると判定された場合、ジョブ実行部12はICカードと通信可能かどうかを判定し(図15のS170)、通信可能であれば、ICカードと通信して対象要素を実行する(S172)。その後、ステップS106に進む。そして、ステップS170でICカードと通信できないと判定された場合に、ジョブ実行部12は、そのジョブ要素の1つ前に実行することが定められたジョブ要素の処理結果をジョブ管理情報200の途中処理結果112として保存し、対象ジョブを一時停止(カード挿入待ち)状態として(S174)、このジョブの処理をいったん終了する。
【0098】
以上に例示した画像処理装置は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図16に示すように、CPU300等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)302およびリードオンリメモリ(ROM)304等のメモリ(一次記憶)、HDD(ハードディスクドライブ)306を制御するHDDコントローラ308、各種I/O(入出力)インタフェース310、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース312等が、たとえばバス314を介して接続された回路構成を有する。また、そのバス314に対し、例えばI/Oインタフェース310経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ316、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ318、などが接続されてもよい。ここで、「不揮発性記録媒体」とは、当該記録媒体の外部から当該記録媒体への電源供給を断っても、記録した情報を保持し続けることができる記録媒体のことである。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM302に読み出されCPU300等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
【0099】
なお以上の例では、ユーザの固有情報を含んだICカードを用いたが、本発明で用いる認証機器はICカードに限らない。認証機器は、ユーザの固有情報を含んでおり、この固有情報そのもの又はその固有情報を用いた処理結果を画像処理装置に提供する機器であれば、どのようなものでもよい。例えば、USB(Universal Serial Bus)トークンはその一例である。
【0100】
<補遺>
本発明の1つの態様では、請求項1〜8のいずれか1項に係る発明において、前記通信手段が前記ユーザの認証機器と通信可能である間に、前記複数の処理指示のすべてについて、それぞれ当該処理指示に係る処理の中で次に実行すべき処理要素が前記認証機器との通信を必要としないものとなった場合に、前記認証機器が不要となった旨を前記ユーザに通知する通知手段、を更に備えてもよい。この態様によれば、ユーザの利便性が向上する。
【図面の簡単な説明】
【0101】
【図1】本発明に係る情報処理装置の一実施形態である画像処理装置の構成例を示す図である。
【図2】2つの暗号プリントジョブの処理の流れを例示する図である。
【図3】暗号プリントジョブの処理手順の一例を示すフローチャートである。
【図4】2つのスキャン署名ジョブの処理の流れを例示する図である。
【図5】スキャン署名ジョブの処理手順の一例を示すフローチャートである。
【図6】ジョブの管理情報のデータ構造の一例を示す図である。
【図7】ジョブ種別情報の内容の例を示す図である。
【図8】ジョブ要素情報の内容の例を示す図である。
【図9】別の例におけるジョブ実行部の処理手順の一例を示すフローチャートである。
【図10】ICカードが挿入された場合の認証部の処理手順の一例を示すフローチャートである。
【図11】認証部からユーザIDの通知を受けた場合のジョブ実行部の処理手順の一例を示すフローチャートである。
【図12】一時停止ジョブ群の実行の際の処理手順の例の一部を示す図である。
【図13】一時停止ジョブ群の実行の際の処理手順の例の残りの部分を示す図である。
【図14】ジョブ実行部の処理手順の更に別の例の一部を示すフローチャートである。
【図15】ジョブ実行部の処理手順の更に別の例の残りの部分を示すフローチャートである。
【図16】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【0102】
10 ジョブ入力部、12 ジョブ実行部、14 指示受付部、16 記憶装置、18 出力部、20 認証部、22 カードリーダ、24 復号部、26 署名部。
【技術分野】
【0001】
本発明は情報処理装置、プログラム及び情報処理システムに関する。
【背景技術】
【0002】
特許文献1に開示された技術では、画像形成装置のUSBコネクタにユーザのUSBトークンを差し込み、文書をスキャンした後、データ処理装置のスキャンデータ処理手段により文書ファイルに変換するとともにメッセージダイジェスト生成手段によりメッセージダイジェストを算出する。その後、画像形成装置内の暗号化手段により、USBトークンより得た秘密鍵 を用いて、送られてきたメッセージダイジェストを暗号化し、次いで、データ処理装置内で前記文書化されたファイルにこの署名されたメッセージダイジェストを合成し、署名された文書化ファイルを完成させる。
【0003】
特許文献2には、ユーザの秘密鍵及び公開鍵を内蔵したICカードを用いて印刷データの暗号化及び復号を行う画像形成装置が開示されている。この装置は、ユーザのICカードを読み取るカードリーダを備えている。この装置は、暗号化され保存された印刷データの印刷が指示されると、カードリーダにセットされたICカードに対して暗号化された共通鍵を送って、ICカードから復号された共通鍵を受け取り、その共通鍵を用いて暗号化された印刷データを復号して印刷する。
【0004】
特許文献3には、秘密鍵及び公開鍵証明書を格納したICカード等の携帯型電子ユニットを利用して情報処理装置において電子署名を実行する電子署名システムにおいて、情報処理装置から携帯型電子ユニットを早期に取り外すための技術が提案されている。このシステムでは、ICカードは、第1公開鍵についての第1公開鍵証明書及びそれに対応する第1秘密鍵を格納したメモリと、第1秘密鍵を使って、画像処理装置から提供される第2公開鍵の署名値を生成する第1電子署名部2とを含む。画像処理装置は、該第2公開鍵及びそれに対応する第2秘密鍵を生成する鍵生成部と、該第2公開鍵についての第2公開鍵証明書を生成する証明書生成部とを含む。第2公開鍵証明書は、該第2公開鍵、ICカードから提供される署名値及び第1公開鍵証明書を含む。
【0005】
特許文献4には、複数の情報処理装置が連携して処理を実行するシステムにおいて、指示等のデータに対して電子署名を付したものを情報処理装置間で伝送することが開示されている。
【0006】
【特許文献1】特開2003−224728号公報
【特許文献2】特開2005−348250号公報
【特許文献3】特開2006−262408号公報
【特許文献4】特開2004−151896号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、ユーザの認証機器を必要とする複数の処理指示を実行する場合に、認証機器との通信が必要な処理要素について続けて実行することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、前記認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備える情報処理装置である。
【0009】
請求項2に係る発明は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備える情報処理装置である。
【0010】
請求項3に係る発明は、請求項1又は2に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記複数の指示のうちの第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要としない処理要素である場合には、当該第1の指示に係る処理を前記第1の処理要素の実行が完了した段階で停止状態とし、前記複数の指示のうち第2の指示に係る処理において次に実行すべき処理要素である、前記認証機器との通信を必要とする処理要素を実行する、ことを特徴とする。
【0011】
請求項4に係る発明は、請求項1〜3のいずれか1項に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要としない処理要素であって実行可能なものを、少なくとも2以上続けて実行する、ことを特徴とする。
【0012】
請求項5に係る発明は、請求項4に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、第3の指示に係る処理に含まれる前記認証機器との通信を必要としない第3の処理要素を実行した後、前記第3の指示に係る処理の中で前記第3の処理要素の次に実行することが定められた第4の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第3の指示に係る処理を前記第3の要素の実行が完了した段階で停止状態とし、前記複数の指示のうちの第4の指示に係る処理において前記認証機器との通信を必要としない処理要素を実行する、ことを特徴とする。
【0013】
請求項6に係る発明は、請求項1〜5のいずれか1項に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第1の処理要素の実行の後に続けて前記第2の処理要素を実行する、ことを特徴とする。
【0014】
請求項7に係る発明は、請求項1〜6のいずれか1項に係る発明において、前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該ユーザから前記取得手段が取得した指示であって当該指示に係る処理において次に実行することが定められた処理要素が前記認証機器との通信を必要とする処理要素である停止状態の指示があれば、当該指示に係る前記次に実行すべき処理要素を実行する、ことを特徴とする。
【0015】
請求項8に係る発明は、請求項1〜7のいずれか1項に係る発明において、前記実行手段は、指示に係る処理の中の前記認証機器との通信を必要とする処理要素を実行中に前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該指示に係る処理を停止状態とし、前記複数の指示に係る処理の中で実行すべき処理要素が前記認証機器との通信を必要としない処理要素であって実行可能なものがある場合に、当該処理要素を実行する、ことを特徴とする。
【0016】
請求項9に係る発明は、コンピュータを、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段、前記認証機器と通信する通信手段、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、として機能させるためのプログラムである。
【0017】
請求項10に係る発明は、コンピュータを、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段、前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、として機能させるためのプログラムである。
【0018】
請求項11に係る発明は、情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、前記情報処理装置は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、前記認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、前記認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備え、前記認証機器は、前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、を備える、ことを特徴とする情報処理システムである。
【0019】
請求項12に係る発明は、情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、前記情報処理装置は、複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、を備え、前記認証機器は、前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、を備える、ことを特徴とする情報処理システムである。
【発明の効果】
【0020】
請求項1、2、9、10、11及び12に係る発明によれば、本構成を有しない場合に比較して、認証機器との通信が必要な処理要素について続けて実行することができる。
【0021】
請求項3に係る発明によれば、第1の処理指示に係る処理が完了する前に第2の処理指示における認証機器との通信が必要な処理要素を実行することができる。
【0022】
請求項4に係る発明によれば、認証機器との通信が出来ない場合においても、認証機器との通信が必要ない処理について続けて実行することができる。
【0023】
請求項5に係る発明によれば、認証機器との通信が出来ない場合においても、認証機器との通信が必要ない処理要素について処理することができる。
【0024】
請求項6に係る発明によれば、認証機器との通信が必要な処理要素について連続して処理することができる。
【0025】
請求項7に係る発明によれば、停止状態の処理指示における認証機器との通信を必要とする処理要素を続けて実行することができる。
【0026】
請求項8に係る発明によれば、通信手段が認証機器と通信できなくなった場合でも、処理指示に係る処理の認証機器との通信を必要としない処理要素を実行することができる。
【発明を実施するための最良の形態】
【0027】
図1に例示するこの実施形態の画像処理装置は、ジョブ入力部10,ジョブ実行部12,指示受付部14,記憶装置16,出力部18,認証部20,カードリーダ22,署名部26,及び復号部24を備える。画像処理装置は、例えばデジタル複合機(プリンタ、スキャナ、コピー機などの複数の機能を併せ持つ装置)として実現される。
【0028】
ジョブ入力部10は、ジョブのデータの入力を受け付ける。ここで、ジョブとは、ユーザが画像処理装置に対して指示する処理のことであり、例えば、ワードプロセッサで作成した文書などといった電子文書の印刷、紙原稿のスキャン、紙原稿のコピーなどがその一例である。印刷の場合、例えば、リモートのコンピュータから送信されてくる1つの印刷データを、その印刷データに対応する印刷属性情報に従って印刷する処理が1つのジョブとなる。また、スキャンやコピーの場合、例えば画像処理装置が備える自動原稿送り装置にセットされた原稿の束をスキャンしたりコピーしたりする処理が1つのジョブとなる。
【0029】
また近年では、紙原稿をスキャンしてそのスキャン結果の画像データを電子メールに添付して指定された宛先に送信するジョブや、暗号化された印刷データをユーザのICカードを用いて復号して印刷するジョブ(「暗号プリント」ジョブと呼ぶ)などといった複合的なジョブを実行可能な画像処理装置も増えている。
【0030】
この実施形態では、複合的なジョブを、複数の処理要素(「ジョブ要素」と呼ぶ)に分けて管理する。ジョブ要素とは、1つのジョブを構成する個々の処理単位である。この考え方では、1つのジョブは、実行順序が定められた1以上のジョブ要素から構成される。例えば、暗号プリントジョブは、暗号化された印刷データをユーザのICカードを用いて復号するジョブ要素と、(復号結果の)印刷データを紙に印刷するジョブ要素と、から構成される。また、例えば、自動原稿送り装置に置かれた紙原稿をスキャンして電子的な画像データに変換するジョブ要素と、ユーザのICカードを用いてその画像データに電子署名を付すジョブ要素とから構成される「スキャン署名」ジョブなどもある。
【0031】
ジョブ要素には、物理的な媒体への出力又は物理的な媒体からの入力を伴うものと、電子的なデータに対する処理のみからなるものとがある。前者には、印刷データを紙に印刷するジョブ要素、紙原稿上の画像を電子的なデータへと変換するジョブ要素、電子的な画像データをファクシミリ送信するジョブ要素などがある。また後者には、例えば暗号化された印刷データを復号するジョブ要素や、電子的な文書データに電子署名を付すジョブ要素などがある。
【0032】
ジョブ入力部10は、例えば、リモートのコンピュータから印刷データを受信するネットワークインタフェース、又は紙原稿を読み取るスキャナなどである。
【0033】
ジョブ実行部12は、ジョブ入力部10から入力されたジョブを実行する手段である。ジョブ実行部12は、ジョブを実行するにあたり、CPU(中央演算装置)やメモリなどといったコンピュータハードウエア、そのハードウエアで実行される各種のプログラム、ネットワークインタフェース、スキャナ機構、プリンタ機構、ファクシミリ機構などといった、画像処理装置が備える各種のリソース(処理のための資源)のなかでそのジョブに必要なものを用いる。
【0034】
ジョブ実行部12は、入力されたジョブに対し、周知の先入れ先出し方式のキュー(待ち行列)管理を実行する。このキュー管理では、例えば、1つのジョブの実行が完了すると、キューの先頭からジョブを取り出して実行する。また、ジョブ実行部12は、ユーザの指示に従ってキュー内のジョブの実行順序を変更する機能を備えていてもよい。
【0035】
指示受付部14は、画像処理装置のユーザインタフェースであり、ユーザから指示を受け付ける。指示受付部14は、表示及び入力のためのハードウエア(例えば液晶タッチパネル)を備えていてもよい。指示受付部14は、コピー等のジョブの実行開始を指示するためのスタートボタンを備えていてもよい。
【0036】
記憶装置16は、ジョブのデータ(例えば印刷データなど)、ジョブの管理のためのデータ(キューの管理情報など)、ジョブ要素の実行結果のデータ、又はジョブの実行結果のデータ等を記憶する。ジョブ要素の実行結果のデータの例には、例えば暗号プリントジョブにおける復号された印刷データや、スキャン署名ジョブにおけるスキャン結果の画像データなどがある。ジョブの実行結果のデータの例には、スキャンジョブにおけるスキャン結果の画像データや、スキャン署名ジョブにおける電子署名後の文書データなどがある。記憶装置16は、例えばハードディスク装置などである。
【0037】
出力部18は、ジョブの処理結果を出力する手段である。例えば、プリンタ機構、ファクシミリ機構、ネットワークインタフェースなどがその例である。
【0038】
認証部20は、画像処理装置の指示受付部14に対して指示を入力するユーザを認証する。この例では、認証部20は、カードリーダ22にユーザがセットしたICカードを用いて、公知の手法によりユーザ認証を行う。
【0039】
ICカードは、ユーザの固有情報を記憶している。ICカードは、カードリーダ22から受信したデータに対してユーザの固有情報を用いた演算処理を施し、その処理結果をカードリーダ22へと返す。ICカードは、例えば、公開鍵基盤(PKI)技術におけるユーザの秘密鍵と公開鍵(及び公開鍵証明書)を記憶したものである。この場合、ICカードは、カードリーダ22から受信したデータに対して公開鍵又は秘密鍵を用いた演算処理を施し、その処理結果のデータをカードリーダに返す。
【0040】
復号部24は、暗号化されたデータ(例えば暗号化された印刷データ)を、ユーザのICカードとの通信により得たデータを用いて復号する。署名部26は、ユーザのICカードとの通信により得たデータを用いて、署名対象のデータに対して当該ユーザの電子署名を付す。
【0041】
この実施形態では、1のユーザの複数のジョブ(言い換えれば1つのICカードを用いるジョブ)を実行する際に、それら複数のジョブの中にあるそのユーザのICカードを用いるジョブ要素をできるだけ続けて実行するよう制御する。なお、この明細書では、複数人からなるグループも「ユーザ」と呼ぶこととする。このようなグループに対し、そのグループの固有情報を記憶したICカードを割り当てる場合もあるからである。
【0042】
このような制御の一例を、図2及び図3を参照して説明する。この例では、ICカード内にユーザの固有情報として、そのユーザの秘密鍵(及び公開鍵証明書)を持たせる。そして、画像処理装置がその公開鍵証明書内の公開鍵で暗号化が施された印刷データを複数、ネットワーク上のコンピュータから受信し、印刷出力する。図2の例は、暗号化された印刷データを印刷するジョブを2つ実行する場合を示している。
【0043】
ICカードを用いた暗号プリントでは、ユーザは、自分のパーソナルコンピュータで、ICカード内の自分の公開鍵を用いて印刷データに対して暗号化を行う。暗号化された印刷データは、画像処理装置の記憶装置16に保存される。そして、ユーザが画像処理装置のところまで出向き、ICカードをカードリーダ22に挿入し、保存されたそれら暗号プリントの印刷データの印刷の指示を行う。
【0044】
暗号プリントのジョブでは、図2に示すように、復号処理と印刷という2つのジョブ要素を順に実行する。ここで、この実施形態では、ジョブごとに復号処理と印刷を続けて実行するのではなく、最初のジョブ(「ジョブ1」)の復号処理が終わると2番目のジョブ(「ジョブ2」)の復号処理を行う。すなわち、復号処理には秘密鍵が必要であるためICカードが必要であるが、印刷ではICカードは必要ないので、ICカードが必要な復号処理を少なくとも2以上続けて実行するのである。
【0045】
ここで、ジョブ1は、復号処理が完了したら復号結果を記憶した状態のまま一時停止する。そして、ジョブ2の復号処理が終わった段階でジョブ2を一時停止状態とし、一時停止されていたジョブ1の実行を再開する。再開されたジョブ1では復号結果を用紙に印刷する処理が実行される。その処理の終了後、一時停止されていたジョブ2を再開して復号結果を紙に印刷する。
【0046】
このようなジョブの実行制御では、ジョブ2の復号処理のために必要なICカードとの通信が完了した時点で、ユーザのICカードは不要となる。すなわち、ジョブ1及びジョブ2の復号結果が印刷されるのを待たずに、ICカードをカードリーダ22から取り外してよい状態となる。このように、ICカードを取り外してよい状態となった場合に、画像処理装置の指示受付部14の表示画面にその旨を表示するようにしてもよい。
【0047】
なお、この種のPKIベースのICカードを用いた暗号化では、よく知られるように、例えば、ユーザのパーソナルコンピュータ内のソフトウエア(例えばプリンタドライバ)が、暗号化対象の印刷データをセッション鍵で暗号化した後、そのセッション鍵を、パーソナルコンピュータに接続されたカードリーダにセット(例えば装着又は挿入)されたICカードに送信する。ICカードはセッション鍵を自身が内蔵するユーザの公開鍵で暗号化し、暗号化結果をパーソナルコンピュータに返す。パーソナルコンピュータは、セッション鍵の暗号化結果を暗号化された印刷データに付加し、その付加結果のデータを画像処理装置に送信する。
【0048】
そして、ユーザが画像処理装置のところに来てICカードをカードリーダ22にセットすると、画像処理装置は、記憶装置16に記憶されたそのユーザの暗号化された複数の印刷データを、図2に示すように処理していく。その処理の中で、ジョブ実行部12は、まずジョブ1の最初のジョブ要素が復号処理であることを認識し、復号部24に復号処理を行わせる。復号部24は、ジョブ1の暗号化された印刷データに付随する暗号化されたセッション鍵をカードリーダ22経由でICカードに送り、復号されたセッション鍵を取得し、そのセッション鍵を用いて印刷データを復号する。ジョブ2についても、復号部24は同様に処理を行う。
【0049】
図2では、暗号化された印刷データが2つである場合を例示したが、3つ以上の場合も同様に、この実施形態では、復号処理のジョブ要素をそれら複数のジョブにわたって続けて実行する。
【0050】
この例でのジョブ実行部12の処理手順の例を図3に示す。この手順が開始される前に、ジョブ入力部10(この場合はネットワークインタフェース)を介して、暗号化された印刷データが入力され、記憶装置16に記憶、すなわちジョブ管理のためのキューに入れられる。それら印刷データの印刷を指示したユーザは画像処理装置のところまで到来し、ICカードをカードリーダ22にセットし、指示受付部14から「暗号化文書の出力」を指示する。このとき、一つまたは複数の暗号化された印刷データ(ジョブ)を選択し、スタートボタンを押下する。これにより、図3の処理手順が開始される。なお、図3の処理手順は1つのジョブについての処理手順である。この手順から別の暗号プリントジョブが呼び出された場合、呼び出されたジョブについてこの図3の手順が実行されることになる。なお、以下では、図3の手順を図2の事例に適用した場合を例にとって説明する。すなわち、図2のジョブ1及びジョブ2が選択されたとする。
【0051】
この手順では、まず、選択されたジョブの中で、キューの中での処理順序が最も早いもの(ジョブ1)を処理対象とする。ジョブ実行部12は、処理対象のジョブが一時停止状態か否かを判断する(S10)。ここでは、一時停止状態ではないため、カードリーダ22にICカードが挿入されているかの判断を行う(S12)。もしICカードが挿入されていなければ、この例では、挿入されるまで待機する。ICカードが挿入されているならば、復号部24に復号処理を行わせる(S14)。復号処理の後、ジョブ1は一時停止状態に移行する(S16)。このときジョブ実行部12は、ジョブ1が復号処理完了の段階で一時停止状態になったことと、復号結果とを記憶装置16に記憶する。
【0052】
ジョブ1が一時停止状態に移行したあと、ジョブ実行部12は、未処理の別ジョブがあるかを判断する(S18)。今回の例ではジョブ2があるため、ステップS18の判定結果は肯定(Yes)となる。この場合、ユーザが選択した全てのジョブが一時停止状態かを判断する(S20)。この場合は、ジョブ2が一時停止状態でないため、ジョブ2の処理へ移行する。
【0053】
ジョブ実行部12は、ジョブ2についても上述のステップS10〜S16までの処理を実行する。これにより、ジョブ2の印刷データは復号され、ジョブ2は一時停止状態となる。次のステップS18の判定結果は別のジョブ1が存在するので肯定となる。この時点では、ジョブ1もジョブ2も一時停止状態となっているので、次のステップS20の判定結果は肯定となる。すると、ジョブ実行部12は、現在の対象であるジョブ2が、選ばれたジョブの中で一番先に一次停止したジョブか(言い換えれば、一時停止中のジョブの中でキュー内での順番が最も早いものか)否かを判断する(S22)。ジョブ2は一番先に一時停止状態になったものではないので、別のジョブ、すなわち一時停止中のジョブの中でキュー内での順番が最も早いジョブの処理へ移行する。この例では、ジョブ1の処理に移行する。
【0054】
ジョブ実行部12は、再びジョブ1を対象として図3の処理を実行する。この場合、ジョブ1は一時停止状態なので、ステップS10の判定結果が肯定となり、ステップS18に進む。一時停止中のジョブ2が存在するのでステップS18の判定結果は肯定となり、ジョブ1及び2は両方とも一時停止状態なのでステップS20の判定結果も肯定となる。そして、ステップS22で、対象であるジョブ1が一番先に一時停止したジョブであると判断し、当該ジョブ1を再開し、そのジョブ1の復号結果の印刷データを用紙に印刷出力する(S24)。これによりジョブ1は終了する。
【0055】
ジョブ1の終了後、ユーザが選択した別のジョブが残っていれば、そのジョブの処理に移行する。この例では、ジョブ2が残っているので、ジョブ2について図3の処理を行う。この場合、ジョブ2は一時停止状態なので、ステップS10の判定結果が肯定となり、ステップS18に進む。そして、この例では、ジョブ1が終了したので、対象であるジョブ2以外はなくなっており、ステップS18の判定結果は否定となる。すると、ジョブ実行部12はステップS24に進み、対象であるジョブ2の復号結果を印刷出力する。これにより、ユーザが実行を指示したジョブは全て終了する。
【0056】
なお、最初にユーザが選択した暗号プリントジョブが3つあった場合、それら3つのジョブが全て一時停止状態となった後、1つめのジョブの出力を行って2番目のジョブの処理に進んだ場合、3番目のジョブが残っているのでステップS18の判定結果は肯定となる。この場合、ステップS20の判定結果は肯定となる。このとき、残っている2番目及び3番目のジョブの中では、対象である2番目のジョブは最も先に一時停止となったジョブであるので、ステップS22の判定結果は肯定となり、2番目のジョブの出力が行われる。
【0057】
以上、暗号プリントのジョブを複数実行する例を説明した。次に、図4及び図5を参照して、スキャン署名のジョブを複数続けて実行する場合を説明する。
【0058】
この例でも、ICカードにはユーザの秘密鍵(及び公開鍵証明書)が保持されている。画像処理装置は、自動原稿送り装置にセットされた紙原稿をスキャンし、スキャン結果の画像を、ユーザの電子署名付きPDF文書へと変換する。電子署名を付す際に、ICカードを利用する。図4の例は、スキャン署名のジョブを2つ実行する場合を示している。
【0059】
スキャン署名ジョブでは、図4に示すように、紙原稿のスキャンと署名付きPDF文書の生成という2つのジョブ要素を順に実行する。ここで、スキャンにはICカードは必要ないのに対し、署名付きPDF文書の生成にはICカードが必要である。この実施形態では、最初のジョブ1のスキャン処理が終わると2番目のジョブ2のスキャン処理を行う。そして、2つのジョブのスキャンが終わると、ICカードが必要な署名付きPDF文書の生成をそれら2つのジョブについて続けて行う。
【0060】
ここで、ジョブ1は、スキャンが完了した時点、スキャン結果の画像を記憶した状態のまま一時停止する。そして、ジョブ2のスキャンが終わった段階でジョブ2を一時停止状態とする。そして、画像処理装置は、ICカードがカードリーダ22にセットされるのを待つ。そして、ICカードがセットされると、一時停止されていたジョブ1の実行を再開する。再開されたジョブ1ではスキャン結果の画像に対し、ICカードを用いて電子署名を施し、その画像と電子署名を含んだPDF文書を生成する。その処理の終了後、一時停止されていたジョブ2を再開して、スキャン結果の画像に対して電子署名を付し、電子署名付きのPDF文書を生成する。
【0061】
このようなジョブの実行制御では、ジョブ1及びジョブ2のスキャンを実行している間は、ICカードは不要である。その間、ユーザはICカードを持って画像処理装置から離れていてもよい。
【0062】
なお、この種のPKIベースのICカードを用いた電子署名処理では、画像処理装置の署名部26は、署名対象のデータ(この場合はスキャン結果の画像)のハッシュ値を求め、そのハッシュ値をカードリーダ22経由でICカードに渡す。ICカードは、そのハッシュ値に対し、秘密鍵を用いて暗号化と同等の演算を行うことで電子署名値を求め、その電子署名値をカードリーダ22経由で署名部26を返す。署名部26は、スキャン結果の画像と電子署名値を含んだPDF文書を作成する。
【0063】
図4では、スキャン署名ジョブが2つである場合を例示したが、3つ以上の場合も同様に、図4及び図5の例ではそれら3以上のジョブのスキャン処理を続けて実行し、ICカードがセットされるのを待つ。そして、ICカードがセットされれば、それら各ジョブのスキャン結果に対する署名付与を続けて実行する。
【0064】
この例でのジョブ実行部12の処理手順の例を図5に示す。図5の処理手順は1つのジョブについての処理手順である。この手順から別の暗号プリントジョブが呼び出された場合、呼び出されたジョブについてこの図5の手順が実行されることになる。なお、以下では、図5の手順を図4の事例に適用した場合を例にとって説明する。
【0065】
この手順では、まずユーザは、指示受付部14の操作パネルに表示されたメニュー上で「スキャン文書のPDF署名」処理を選択し、スタートを指示する。この処理をジョブ1とする。この指示を受けたジョブ実行部12は、そのジョブ1が一時停止状態かを判断する(S30)。ここでは、一時停止状態でないため、スキャン処理を行う(S32)。スキャン処理のあと、ジョブ1は一時停止状態に移行する(S34)。その後、別のスキャン署名ジョブの実行が指示されているか否かを判断する(S36)。この時点で、別のスキャン署名ジョブが指示されていなければ、カードリーダ22がICカードを認識しているかを判断する(S42)。
【0066】
ここで、ICカードが認識されなかった場合は、ステップS34に戻る。別のスキャン署名ジョブの実行を指示されるか、ICカードが認識されるまで、ステップS34、S36及びステップS42の処理ループが繰り返される。ここで、ICカードが認識される前に、別のスキャン署名ジョブ(ジョブ2)の実行が指示されたとする。この場合、ステップS36の判定結果が肯定となる。次のステップS38では、指示された全てのスキャン署名ジョブが一時停止状態か否かを判断する。この例では、ジョブ1は一時停止中であるが、新たに指示されたジョブ2は一時停止ではないので、ステップS38の判定結果は否定となり、ジョブ2の処理に進む。
【0067】
ジョブ実行部12は、ジョブ2について図5の処理を開始する。ジョブ実行部12は、ジョブ2についても上述のステップS30〜S34までの処理を実行する。これにより、ジョブ2の紙原稿がスキャンされ、ジョブ2は一時停止状態となる。次のステップS36の判定結果は別のジョブ1が存在するので肯定となる。この時点では、ジョブ1もジョブ2も一時停止状態となっているので、次のステップS38の判定結果は肯定となる。すると、ジョブ実行部12は、現在の対象であるジョブ2が、実行を指示されたジョブの中で一番先に一次停止したジョブか(言い換えれば、一時停止中のジョブの中でキュー内での順番が最も早いものか)否かを判断する(S40)。ジョブ2は一番先に一時停止状態になったものではないので、別のジョブ、すなわち一時停止中のジョブの中でキュー内での順番が最も早いジョブの処理へ移行する。この例では、ジョブ1の処理に移行する。
【0068】
ジョブ実行部12は、再びジョブ1を対象として図5の処理を実行する。この場合、ジョブ1は一時停止状態なので、ステップS30の判定結果が肯定となり、ステップS34を経てステップS36に進む。一時停止中のジョブ2が存在するのでステップS36の判定結果は肯定となり、ジョブ1及び2は両方とも一時停止状態なのでステップS38の判定結果も肯定となる。そして、ステップS40で、対象であるジョブ1が一番先に一時停止したジョブであると判断し、ステップS42に進む。ステップS42で、カードリーダ22がICカードを検出するのを待つ。すなわち、ICカードが検出されるまで、ステップS34からS42の処理ループが繰り返される。
【0069】
この処理ループの中で、別のスキャン署名ジョブの実行が指示される前に、ユーザがカードリーダ22にICカードをセットすると、ステップS42の判定結果が肯定となる。すると、ジョブ実行部12は、処理対象のジョブ1についての署名処理を署名部26に実行させる(S44)。これにより署名付きPDF文書が作成され、ジョブ1が終了する。
【0070】
ジョブ1の終了後、別のジョブが残っていれば、そのジョブの処理に移行する。この例では、ジョブ2が残っているので、ジョブ2について図5の処理を行う。この場合、ジョブ2は一時停止状態なので、ステップS30の判定結果が肯定となり、ステップS34、S36に進む。この例では、ジョブ1が終了したので、対象であるジョブ2以外はなくなっており、ステップS36の判定結果は否定となる。すると、ジョブ実行部12はステップS42に進む。ここで、ICカードがカードリーダ22にセットされたままであれば、ステップS42の判定結果が肯定となり、ジョブ実行部12は、ジョブ2についての署名処理を署名部26に実行させる(S44)。この結果、ジョブ2の署名付きPDF文書が生成され、ユーザが実行を指示したジョブは全て終了する。
【0071】
次に、別の例を、図6〜図13を参照して説明する。図6は、ジョブ実行部12におけるジョブの管理情報のデータ構造の一例である。この例では、ジョブ管理情報100は、ジョブID102,発行者104,ジョブ種別ID106,状態108,処理済み要素番号110,及び途中処理結果112を含む。ジョブID102は、画像処理装置内での当該ジョブの識別情報である。発行者104は、当該ジョブを発行したユーザの識別情報である。例えば暗号プリントジョブの場合、そのジョブの印刷データを送信したコンピュータが、そのジョブの実行を指示したユーザの識別情報をその印刷データに対応づけて画像処理装置に通知するので、その識別情報を発行者104の欄に記録すればよい。また、画像処理装置の指示受付部14に対して指示されるスキャン署名ジョブなどのジョブの場合、認証部20及びカードリーダ22によるユーザ認証により求めたユーザの識別情報を発行者104の欄に記録すればよい。
【0072】
ジョブ種別ID106は、当該ジョブの種別の識別情報である。ジョブ種別には、例えばプリント、スキャン、コピー、ファクシミリ送信、暗号プリント、スキャン署名等がある。ジョブ種別ID106は、コンピュータから指示されたジョブの属性情報に示されるジョブの種別の情報や、指示受付部14のメニュー上でユーザが指定したジョブの種別などから求めればよい。
【0073】
状態108は、当該ジョブの実行状態を示す値である。ジョブの実行状態には、例えば「未処理」、「完了」、「一時停止(カード挿入待ち)」、「一時停止(カード処理完了待ち)」などがある。「未処理」は、当該ジョブが開始されていない状態、すなわち当該ジョブに含まれる最初のジョブ要素ですら実行されていない状態である。これに対し、「完了」は、当該ジョブが最後まで完了した状態、すなわち当該ジョブの最後のジョブ要素の実行まで完了した状態である。それに対し、一時停止状態は、当該ジョブの中の途中のジョブ要素の実行が完了したが、まだ未実行のジョブ要素を残したまま当該ジョブを一時停止した状態である。この例では、一時停止の状態を「カード挿入待ち」と「カード処理完了待ち」の2種類に細分している。前者は、ICカードがカードリーダ22に挿入(セット)されるのを待つための一時停止状態であり、上述の図4及び図5の例におけるジョブ要素「スキャン」の実行後の一時停止状態がその一例である。後者は、他のジョブにおけるICカードを利用したジョブ要素の実行完了を待つための一時停止状態であり、上述の図2及び図3の例におけるスキャン要素の実行後の一時停止状態がその一例である。
【0074】
処理済み要素番号110は、当該ジョブに含まれるジョブ要素群の中で、何番目までのジョブ要素が実行済みとなっているかを示す情報である。処理済み要素番号110は、一時停止状態のジョブを再開する時に、どのジョブ要素から再開すればよいかを示すこととなる。
【0075】
途中処理結果112は、ジョブを一時停止した時に、一時停止時点でのジョブの処理結果、すなわちその一時停止の直前に実行したジョブ要素の処理結果である。例えば、暗号プリントのジョブを、復号が完了した後に一時停止した場合、その復号の結果の印刷データが途中処理結果112として記憶されることになる。
【0076】
ジョブ実行部12は、入力されたジョブごとに、図6に例示するような管理情報を作成し、ジョブの実行が進むにつれて、「状態」、「処理済み要素番号」、「途中処理結果」を更新していく。このような管理情報は、例えば記憶装置16に記憶される。
【0077】
また、ジョブ実行部12は、入力されたジョブに対して公知のキュー管理を行っており、キューの情報すなわちジョブの順序を示す情報を管理している。新たなジョブが実行可能な状態になると、ジョブ実行部12はキューの先頭のジョブを取り出し、そのジョブの実行を開始する。この実施形態では、ジョブを一時停止する場合があるので、一時停止したジョブ同士の順序関係を第2のキューで管理してもよい。ジョブ実行部12は、一時停止したジョブを第2のキューの末尾に追加する。対象となる全てのジョブが一時停止状態となった後、それらジョブ群の実行を再開する場合には、第2のキューの先頭からジョブが順に取り出され、実行される。なお、キューのデータ構造は周知なので、ここでは説明を省略する。
【0078】
図7は、ジョブ種別情報200の一例を示す。ジョブ種別情報200は、ジョブ種別ごとに容易され、例えば記憶装置16に記憶されている。ジョブ種別ID202は、当該ジョブ種別の識別情報であり、ジョブ管理情報100のジョブ種別ID106に対応する。ジョブ種別名204は、当該ジョブ種別の名称であり、例えばメニュー表示などに用いられる。カード要否206は、当該ジョブ種別のジョブがICカードを必要とするか否かを示す情報である。なお、ICカードの要否はジョブ要素ごとでも管理されているので、ジョブ単位でのカード要否206の情報は必須ではない。要素数208は、当該ジョブを構成するジョブ要素の数である。この要素数208の後に、その数だけ、要素情報210,212,…が続く。要素情報210,212,…は、当該ジョブを構成する各ジョブ要素の識別情報である。ジョブ内のジョブ要素には実行順序があり、要素情報210,212,…はその実行順序にしたがって並ぶ。図7の例は、暗号プリントのジョブ種別情報を示しており、要素数は2つ、第1のジョブ要素は「復号」、第2のジョブ要素は「プリント」である。ジョブ実行部12は、ジョブを実行する際、そのジョブのジョブ種別に応じたジョブ種別情報を参照する。
【0079】
次に、ジョブ要素の管理情報の例を図8に示す。この管理情報は、各ジョブ要素がICカードを必要とするか否かを示す。図8の例では、ジョブ要素の識別情報「復号」、「プリント」、「スキャン」、「署名付き文書化」、…ごとに、そのジョブ要素を実行する際にICカードが必要か否かを示している。
【0080】
次に、この例におけるジョブ実行部12の処理内容の一例を、図9を参照して説明する。図9の処理手順は、ジョブ管理のためのキューから先頭のジョブが取り出されると、開始する。取り出されたジョブを、処理対象のジョブという意味で「対象ジョブ」と呼ぶことにする。この手順では、ジョブ実行部12は、対象ジョブの中から先頭のジョブ要素を処理対象として取り出す(S100)。この処理では、対象ジョブのジョブ管理情報(図6参照)及びジョブ種別情報(図7参照)を参照して、先頭のジョブ要素を特定すればよい。取り出したジョブ要素を対象要素と呼ぶことにする。ジョブ実行部12は、対象要素がICカードを必要とする要素であるかどうかを、ジョブ要素の管理情報(図8参照)を参照して判定する(S102)。ICカードが必要でなければ、その対象要素を実行し(S104)、対象ジョブに残りのジョブ要素があるかどうかを判定する(S106)。残りのジョブ要素があれば、それらのこりのジョブ要素の中で先頭のジョブ要素を新たに対象要素とし(S108)、ステップS102に戻る。対象ジョブがICカードを必要とするジョブ要素を1つも含んでいなければ、ステップS102〜S108が繰り返され、ステップS106で残りのジョブ要素がないと判定されると、対象ジョブが終了する。
【0081】
一方、対象ジョブ内のジョブ要素を順に実行していく中で、あるジョブ要素がICカードを必要とするものであると判定される(S102)と、ジョブ実行部12は、そのジョブ要素の実行開始前のジョブ要素の処理結果をジョブ管理情報200の途中処理結果112として保存し、対象ジョブを一時停止(カード挿入待ち)状態として(S110)、このジョブの処理をいったん終了する。このとき対象ジョブのジョブ管理情報100の状態108は「一時停止(カード挿入待ち)」にセットされ、処理済み要素番号110はステップS102でICカードが必要と判定された要素の実行開始前のジョブ要素の番号にセットされる。
【0082】
図9の手順が実行されることで、対象ジョブは、ICカードなしで実行できるジョブ要素までは実行され、ICカードが必要なジョブ要素の実行開始前に一時停止状態となる。例えば、ユーザがパーソナルコンピュータから暗号プリントジョブを複数画像処理装置に送信すると、図9の手順により、それら暗号プリントジョブが、それぞれ1つめのジョブ要素(復号)の実行開始前に一時停止(カード挿入待ち)状態となる。また、ユーザが画像処理装置にてスキャン署名ジョブを複数指示した場合は、それらスキャン署名ジョブは、それぞれ2つめのジョブ要素(署名付き文書化)の実行開始前に一時停止(カード挿入待ち)状態となる。
【0083】
さて、ユーザが画像処理装置のカードリーダ22にICカードを挿入すると、認証部20がICカードを認識し、図10に例示する処理を実行する。この処理では、認証部20は、ICカードと通信して公知のユーザ認証処理を実行する(S110)。そのユーザ認証が成功、すなわちICカードとの通信により画像処理装置を利用可能なユーザであると判定されると、認証部200は、その認証処理の中でICカードから取得したユーザIDをジョブ実行部12に通知する(S114)。認証が成功しなければ、指示受付部14の表示装置にエラーメッセージを表示する等のエラー処理を行う(S116)。
【0084】
認証部20から認証されたユーザIDの通知を受けたジョブ実行部12は、例えば図11に例示する処理手順を実行する。この処理手順では、ジョブ実行部12は、記憶装置16内の各ジョブのジョブ管理情報100を調べることで、通知されたユーザIDのユーザが発行者である「一時停止(カード挿入待ち)」状態のジョブを抽出する(S120)。そして、そのようなジョブが抽出されれば、それらジョブ群を実行する(S122)。一方、そのようなジョブがなければ、画像処理装置は指示受付部14にメニューを表示して通常の指示受付を行い(S124)、ユーザが指示受付部14に入力した指示を実行する(S126)。通常の指示受付では、例えばメニューを表示してその中からユーザの選択を受け付け、選択された操作についてのパラメータの入力を受け付けるなどの公知の処理を行う。
【0085】
ステップS122の処理の詳細例を図12及び図13に示す。この手順では、ジョブ実行部12は、ステップS120で抽出された一時停止(カード挿入待ち)状態のジョブ群の中から、先頭のもの(もっとも先にその状態となったもの)を対象ジョブとする(S130)。次に、対象ジョブの中の先頭のジョブ要素を対象要素とする(S132)。ここでいう「先頭のジョブ要素」は、対象ジョブ中の未処理のジョブ要素の中で先頭のものであり、ジョブ管理情報100の処理済みジョブ要素番号110の次の順番のジョブ要素である。この対象要素は、実行のためにICカードを必要とする要素である。ジョブ実行部12は、カードリーダ22を介してICカードと通信可能か否かを判定し(S134)、通信可能であれば、そのICカードと通信して対象要素を実行する(S136)。例えば対象要素が署名付き文書化であれば、ステップS136では、その署名付き文書化を実行する処理モジュールが、署名対象のデータのハッシュ値をICカードに送信して電子署名値を計算させ、その電子署名値を含んだ署名付き文書(例えばPDF文書)を生成する。
【0086】
そして、ジョブ実行部12は、対象ジョブにおいて対象要素の次に位置するジョブ要素がICカードを必要とするか否かを判定し(S138)、必要とするのであれば、当該次に位置するジョブ要素を新たな対象要素とし(S140)、ステップS134に戻る。
【0087】
ステップS138の判定結果が「ICカード不要」であれば、ジョブ実行部12はステップS120で抽出したジョブの中に未処理のジョブが残っているか否かを判定し(S142)、未処理のジョブが残っていれば、現在の対象ジョブを対象要素が終了した段階で一時停止(カード処理完了待ち)状態とし(S144)、それら未処理のジョブの中の先頭のジョブを新たな対象ジョブとしてステップS132に戻る。
【0088】
ステップS142で、当該ユーザの一時停止(カード挿入待ち)状態のジョブが残っていないと判定された場合は、それら各ジョブは、当該ジョブの最後まで完了したか、或いは一時停止(カード処理完了待ち)状態となったかのいずれかになる。この場合、ジョブ実行部12は図13の処理に進む。
【0089】
なお、ジョブ実行部12が図12の処理を実行している間に、ユーザがカードリーダ22からICカードを取り外すと、ステップS134でICカードと通信できなくなったことが検知される。その場合も、ジョブ実行部12は、図13の処理に進む。
【0090】
図13の処理例では、ジョブ実行部12は、ICカードにより認証されたユーザの一時停止(カード処理完了待ち)状態のジョブ群の中で、先頭のものを対象ジョブとする(S150)。次に対象ジョブの先頭のジョブ要素を対象要素とする(S152)。ここでいう先頭のジョブ要素は、対象ジョブ中の未処理のジョブ要素の中で先頭のものであり、ジョブ管理情報100の処理済みジョブ要素番号110の次の順番のジョブ要素である。この対象要素は、ICカードを必要としないジョブ要素なので、ICカードがカードリーダ22にセットされていなくても実行できる。ジョブ実行部12は、対象要素を実行する(S154)。
【0091】
次にジョブ実行部12は、対象ジョブ内に対象要素の次のジョブ要素が残っているかどうかを、対象ジョブのジョブ管理情報100を参照して判定し(S156)、残っていれば、当該次のジョブ要素がICカードを必要とするか否かを判定する(S158)。この判定で、当該次のジョブ要素がICカード不要であれば、当該次のジョブ要素を対象要素として(S160)、ステップS154に戻って対象要素を実行する。
【0092】
ステップS158で当該次のジョブ要素がICカードを必要とする要素であると判定された場合は、ジョブ実行部12は、対象ジョブを一時停止(カード挿入待ち)状態とする(S162)。より詳しくは、対象要素の処理結果を対象ジョブのジョブ管理情報100に対し途中処理結果112として記録し、対象要素の番号を処理済み要素番号110として記録し、状態108を一時停止(カード挿入待ち)状態とする。
【0093】
なお、この一時停止(カード挿入待ち)状態となったジョブは、図13の処理が終了した後に、当該ユーザのICカードがカードリーダ22にセットされ図12の処理が行われる時に、再開される。もっとも、このような処理は一例に過ぎない。この代わりに、ステップS158で次のジョブ要素がICカードを必要とすると判定された場合に、ICカードがカードリーダ22にセットされていれば、対象ジョブを一時停止せずに、当該次のジョブ要素を実行するようにしてもよい。
【0094】
ステップS162の後、ジョブ実行部12は、一時停止(カード処理完了待ち)状態のジョブが残っているかどうかを判定する(S164)。残っていれば、残っているそれらジョブのうち先頭のものを新たな対象ジョブとし(S166)、ステップS152に戻る。
【0095】
ステップS164で、一時停止(カード処理完了待ち)状態のジョブが残っていないことが判明した場合、図13の処理は終了する。ステップS150の時点で残っていた一時停止(カード処理完了待ち)のジョブは、図13の処理が終了した時点では、最後のジョブ要素まで実行が完了しているか、或いは一時停止(カード挿入待ち)状態となっているかのいずれかである。一時停止(カード挿入待ち)状態のジョブが残っている場合は、ユーザがICカードをカードリーダ22にセットすれば、それらジョブの実行が再開される。
【0096】
図9の例では、ステップS102で対象要素がICカードを必要とすると判定された場合、対象ジョブを一時停止(カード挿入待ち)状態に遷移させたが、これは一例に過ぎない。別の例を図14及び図15に示す。図14において、図9の手順のステップと同様のステップには同一符号を付す。
【0097】
この例では、対象要素がICカードを必要とするジョブであると判定された場合、ジョブ実行部12はICカードと通信可能かどうかを判定し(図15のS170)、通信可能であれば、ICカードと通信して対象要素を実行する(S172)。その後、ステップS106に進む。そして、ステップS170でICカードと通信できないと判定された場合に、ジョブ実行部12は、そのジョブ要素の1つ前に実行することが定められたジョブ要素の処理結果をジョブ管理情報200の途中処理結果112として保存し、対象ジョブを一時停止(カード挿入待ち)状態として(S174)、このジョブの処理をいったん終了する。
【0098】
以上に例示した画像処理装置は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図16に示すように、CPU300等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)302およびリードオンリメモリ(ROM)304等のメモリ(一次記憶)、HDD(ハードディスクドライブ)306を制御するHDDコントローラ308、各種I/O(入出力)インタフェース310、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース312等が、たとえばバス314を介して接続された回路構成を有する。また、そのバス314に対し、例えばI/Oインタフェース310経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ316、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ318、などが接続されてもよい。ここで、「不揮発性記録媒体」とは、当該記録媒体の外部から当該記録媒体への電源供給を断っても、記録した情報を保持し続けることができる記録媒体のことである。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM302に読み出されCPU300等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
【0099】
なお以上の例では、ユーザの固有情報を含んだICカードを用いたが、本発明で用いる認証機器はICカードに限らない。認証機器は、ユーザの固有情報を含んでおり、この固有情報そのもの又はその固有情報を用いた処理結果を画像処理装置に提供する機器であれば、どのようなものでもよい。例えば、USB(Universal Serial Bus)トークンはその一例である。
【0100】
<補遺>
本発明の1つの態様では、請求項1〜8のいずれか1項に係る発明において、前記通信手段が前記ユーザの認証機器と通信可能である間に、前記複数の処理指示のすべてについて、それぞれ当該処理指示に係る処理の中で次に実行すべき処理要素が前記認証機器との通信を必要としないものとなった場合に、前記認証機器が不要となった旨を前記ユーザに通知する通知手段、を更に備えてもよい。この態様によれば、ユーザの利便性が向上する。
【図面の簡単な説明】
【0101】
【図1】本発明に係る情報処理装置の一実施形態である画像処理装置の構成例を示す図である。
【図2】2つの暗号プリントジョブの処理の流れを例示する図である。
【図3】暗号プリントジョブの処理手順の一例を示すフローチャートである。
【図4】2つのスキャン署名ジョブの処理の流れを例示する図である。
【図5】スキャン署名ジョブの処理手順の一例を示すフローチャートである。
【図6】ジョブの管理情報のデータ構造の一例を示す図である。
【図7】ジョブ種別情報の内容の例を示す図である。
【図8】ジョブ要素情報の内容の例を示す図である。
【図9】別の例におけるジョブ実行部の処理手順の一例を示すフローチャートである。
【図10】ICカードが挿入された場合の認証部の処理手順の一例を示すフローチャートである。
【図11】認証部からユーザIDの通知を受けた場合のジョブ実行部の処理手順の一例を示すフローチャートである。
【図12】一時停止ジョブ群の実行の際の処理手順の例の一部を示す図である。
【図13】一時停止ジョブ群の実行の際の処理手順の例の残りの部分を示す図である。
【図14】ジョブ実行部の処理手順の更に別の例の一部を示すフローチャートである。
【図15】ジョブ実行部の処理手順の更に別の例の残りの部分を示すフローチャートである。
【図16】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【0102】
10 ジョブ入力部、12 ジョブ実行部、14 指示受付部、16 記憶装置、18 出力部、20 認証部、22 カードリーダ、24 復号部、26 署名部。
【特許請求の範囲】
【請求項1】
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、
前記認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備える情報処理装置。
【請求項2】
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、
前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備える情報処理装置。
【請求項3】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記複数の指示のうちの第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要としない処理要素である場合には、当該第1の指示に係る処理を前記第1の処理要素の実行が完了した段階で停止状態とし、前記複数の指示のうち第2の指示に係る処理において次に実行すべき処理要素である、前記認証機器との通信を必要とする処理要素を実行する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要としない処理要素であって実行可能なものを、少なくとも2以上続けて実行する、
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、第3の指示に係る処理に含まれる前記認証機器との通信を必要としない第3の処理要素を実行した後、前記第3の指示に係る処理の中で前記第3の処理要素の次に実行することが定められた第4の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第3の指示に係る処理を前記第3の要素の実行が完了した段階で停止状態とし、前記複数の指示のうちの第4の指示に係る処理において前記認証機器との通信を必要としない処理要素を実行する、
ことを特徴とする請求項4記載の情報処理装置。
【請求項6】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第1の処理要素の実行の後に続けて前記第2の処理要素を実行する、ことを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
【請求項7】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該ユーザから前記取得手段が取得した指示であって当該指示に係る処理において次に実行することが定められた処理要素が前記認証機器との通信を必要とする処理要素である停止状態の指示があれば、当該指示に係る前記次に実行すべき処理要素を実行する、ことを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
【請求項8】
前記実行手段は、指示に係る処理の中の前記認証機器との通信を必要とする処理要素を実行中に前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該指示に係る処理を停止状態とし、前記複数の指示に係る処理の中で実行すべき処理要素が前記認証機器との通信を必要としない処理要素であって実行可能なものがある場合に、当該処理要素を実行する、ことを特徴とする請求項1〜7のいずれか1項に記載の情報処理装置。
【請求項9】
コンピュータを、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段、
前記認証機器と通信する通信手段、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、
として機能させるためのプログラム。
【請求項10】
コンピュータを、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段、
前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、
として機能させるためのプログラム。
【請求項11】
情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、
前記情報処理装置は、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、前記認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、
前記認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備え、
前記認証機器は、
前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、
を備える、
ことを特徴とする情報処理システム。
【請求項12】
情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、
前記情報処理装置は、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、
前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備え、
前記認証機器は、
前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、
を備える、
ことを特徴とする情報処理システム。
【請求項1】
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、
前記認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備える情報処理装置。
【請求項2】
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、
前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備える情報処理装置。
【請求項3】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記複数の指示のうちの第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要としない処理要素である場合には、当該第1の指示に係る処理を前記第1の処理要素の実行が完了した段階で停止状態とし、前記複数の指示のうち第2の指示に係る処理において次に実行すべき処理要素である、前記認証機器との通信を必要とする処理要素を実行する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要としない処理要素であって実行可能なものを、少なくとも2以上続けて実行する、
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができない場合は、第3の指示に係る処理に含まれる前記認証機器との通信を必要としない第3の処理要素を実行した後、前記第3の指示に係る処理の中で前記第3の処理要素の次に実行することが定められた第4の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第3の指示に係る処理を前記第3の要素の実行が完了した段階で停止状態とし、前記複数の指示のうちの第4の指示に係る処理において前記認証機器との通信を必要としない処理要素を実行する、
ことを特徴とする請求項4記載の情報処理装置。
【請求項6】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合は、前記第1の指示に係る処理に含まれる前記認証機器との通信を必要とする第1の処理要素を実行した後、前記第1の指示に係る処理の中で前記第1の処理要素の次に実行することが定められた第2の処理要素が前記認証機器との通信を必要とする処理要素である場合には、前記第1の処理要素の実行の後に続けて前記第2の処理要素を実行する、ことを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
【請求項7】
前記実行手段は、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該ユーザから前記取得手段が取得した指示であって当該指示に係る処理において次に実行することが定められた処理要素が前記認証機器との通信を必要とする処理要素である停止状態の指示があれば、当該指示に係る前記次に実行すべき処理要素を実行する、ことを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
【請求項8】
前記実行手段は、指示に係る処理の中の前記認証機器との通信を必要とする処理要素を実行中に前記通信手段により通信される前記認証機器を用いて認証することができる場合に、当該指示に係る処理を停止状態とし、前記複数の指示に係る処理の中で実行すべき処理要素が前記認証機器との通信を必要としない処理要素であって実行可能なものがある場合に、当該処理要素を実行する、ことを特徴とする請求項1〜7のいずれか1項に記載の情報処理装置。
【請求項9】
コンピュータを、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、当該処理の実行を行う権限を有することを認証する認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段、
前記認証機器と通信する通信手段、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、
として機能させるためのプログラム。
【請求項10】
コンピュータを、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段、
前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段、
として機能させるためのプログラム。
【請求項11】
情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、
前記情報処理装置は、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、前記認証機器と通信を行う必要がある処理要素を含む処理であることを特徴とする取得手段と、
前記認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備え、
前記認証機器は、
前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、
を備える、
ことを特徴とする情報処理システム。
【請求項12】
情報処理装置と、処理の実行を行う権限を有することを認証する認証機器と、を備え、
前記情報処理装置は、
複数の処理に対する実行の指示を取得する取得手段であって、前記複数の処理の各々は、実行順序が定められた1以上の処理要素を含む処理であることを特徴とする取得手段と、
前記処理の実行を行う権限を有するかを認証する認証機器と通信する通信手段と、
前記取得手段が取得した複数の指示の各々に係る処理に含まれる各処理要素を実行する実行手段であって、前記通信手段により通信される前記認証機器を用いて認証することができる場合に、前記複数の指示に係る各処理の中の各処理要素のうち、前記認証機器との通信を必要とする処理要素であって実行可能なものを、少なくとも2以上続けて実行する実行手段と、
を備え、
前記認証機器は、
前記情報処理装置の前記通信手段から要求された認証に関連する処理を実行し、その処理の結果を前記通信手段に返す手段、
を備える、
ことを特徴とする情報処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−74736(P2010−74736A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−242618(P2008−242618)
【出願日】平成20年9月22日(2008.9.22)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願日】平成20年9月22日(2008.9.22)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]