以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る印刷処理装置を備えるプリントシステムの全体構成を示す図である。
図1において、本プリントシステムは、サーバ100と、印刷端末A200A,印刷端末B200Bと、プリンタ300と、ネットワーク400とにより構成される。
サーバ100と印刷端末A200A,印刷端末B200Bとは、相互にネットワーク400を介してネットワーク接続されている。ネットワーク400は、Ethernet(登録商標)のような有線ネットワークや、IEEE802.11a、IEEE802.11b、或はIEEE802.11gのような無線ネットワークであるが、これに限定されるものではない。
サーバ100とプリンタ300とは、互いにインターフェース500を介してローカル接続されている。インターフェース500は、USB(Universal Ser i al Bus)、IEEE1394、RS-232C等の規格に準拠したケーブルである。なお、インターフェース500は、Bluetooth(登録商標)、UWB(Ultra Wide Band)、その他の規格に準拠した無線通信により無線接続するもので構成されていてもよく、或はサーバ100とプリンタ300とを同一の筐体に収容し、金属銅線の内部バスにより接続したもので構成されていてもよい。
印刷端末A200A,印刷端末B200Bは、例えば、パーソナルコンピュータである。プリンタ300は、例えば、単機能プリンタ(SFP:Single Function Printer)や複合プリンタ(MFP:Multi Function Printer)である。
印刷端末A200Aには、認証ユニット210Aが外部接続又は内蔵されている。同様に、印刷端末B200Bには、認証ユニット210Bが外部接続又は内蔵されている。
ここで用いられる認証方式は、特定の方式に限定されないが、本実施の形態においては非接触式ICカードを用いた認証方式とする。
次に、サーバ100について詳しく説明する。
サーバ100は、セキュア印刷機能実現のための印刷制御を行う印刷処理装置である。サーバ100は、認証部110と、CPU120と、印刷制御/復号部130と、ジョブ管理部140と、操作/表示部150と、設定情報管理部160と、Local I/F170と、Network I/F180と、それら機能部を互いに接続するシステムバス190とによって構成される。
認証部110は、セキュア印刷機能を実行する際に、入力された認証情報を照合する機能部である。本実施の形態においては、非接触式ICカードを用いた認証方式を例に説明を進める。
CPU120は、サーバ100全体の制御を司る中央演算処理部である。印刷制御/復号部130は、セキュア印刷機能実行時に、暗号化された印刷ジョブを復号し、プリンタ300へ出力するための印刷データを生成する機能部である。ジョブ管理部140は、後述する印刷ジョブリストを保持し、印刷ジョブを管理する機能部である。
操作/表示部150は、サーバ100のモード設定やリセット操作に使用されるスイッチ、サーバ100の動作状態を示すLED等からなる機能部であるが、キーボードや液晶表示器等を備えていてもよく、またこれに限定されるものではない。
設定情報管理部160は、サーバ100の動作に必要な各種の設定情報やセキュア印刷機能を利用可能なユーザ情報(ユーザリスト)等を保持する機能部である。これらの情報は外部入力により登録、更新が可能である。
Local I/F170はプリンタ300との接続に利用されるインターフェースである。Network I/F180はネットワーク400との接続に利用されるインターフェースである。システムバス190は、サーバ100内の各機能部を互いに接続するバスである。
上述した非接触式ICカードとは、カードの内部にアンテナを持ち、外部の端末が発信する弱い電波を利用してデータを送受信するICカードのことである。接触式ICカードと異なり、読取端末にカードを抜き差しするといった手間がいらず、また、振動やほこりが多い環境にも適するなど、多くの利点があることから、近年、交通手段の定期券や、電子マネー、企業の社員証としての採用例が急増している。携帯電話への搭載も進みつつある。
本実施の形態で用いる非接触式ICカードは、カードの仕様が開示されており、カードに記録された認証情報を取得し利用できるものであれば、専用のカードである必要はなく、オフィス環境においては社員証等との共用が好ましい。
図2は、図1の印刷端末にて実行されるセキュア印刷処理のうち、サーバ100内で管理されている印刷ジョブリストに印刷エントリーを登録するまでのフローチャートである。なお、図1の印刷端末A200A,印刷端末B200Bには、それぞれセキュア印刷処理を実行するためのプログラム(プリンタドライバ等)が、例えば、内蔵若しくは外部接続されたハードディスク(不図示)に記憶されており、当該プログラムがRAM(不図示)にロードされて実行される。ここでは、印刷端末A200Aと印刷端末B200Bとは同一の構成を有することから印刷端末A200Aにおけるセキュア印刷処理について説明する。
図2において、印刷端末A200Aを利用するユーザが、当該印刷端末A200A内の文書作成用アプリケーションソフトウェアなどにより作成した文書ファイルやページ等を選択して印刷処理を指示すると、同端末A200Aがプリンタドライバを起動する(ステップS202)。
次に、ステップS203では、印刷端末A200Aのモニタ(不図示)上に表示されたメニュー画面等を利用して、ユーザによりセキュア印刷が選択(設定)されたか否かを判別し、設定されたとき(設定ON時)は、ステップS204に進む一方、セキュア印刷が選択されなかったとき(設定OFF時)はステップS210に進み、セキュア印刷ではない通常の印刷ジョブをサーバ100へ送信して、本処理を終了する。
ステップS204では、ユーザから認証情報の入力を受け付ける。本実施の形態では、非接触式ICカードを利用して認証情報を入力する。この場合、認証ユニット210Aが設置された付近に非接触式ICカードをかざすことで認証情報が入力される。非接触式ICカードには、認証情報としてカード毎に固有のユーザ名やユーザIDなどが格納されており、それらが認証ユニット210Aを介して印刷端末A200Aに取り込まれる。
次に、ステップS205において、入力された認証情報を暗号化してサーバ100へ送信する。ステップS206では、サーバ100へ送信した認証情報に対する認証結果の受信待ちを行い、受信した認証結果によりユーザ認証に成功した場合には、ステップS207に進み、セキュア印刷処理を継続する。一方、認証に失敗した場合には、本処理を終了する。
次に、印刷ジョブを暗号化し、印刷端末A200A内のRAM若しくはハードディスク(ともに不図示)の所定の領域に認証情報と対応付けて一時格納する(例えば、認証情報に基づいてユーザ毎のフォルダに一時格納する)(ステップS207)。
次に、サーバ100内で管理されている印刷ジョブリストに印刷ジョブの印刷エントリーを登録する必要があるか否かを判断する(ステップS208)。印刷エントリーは、サーバ100に接続されたプリンタ300に印刷ジョブを実行させるために、印刷ジョブリストに登録されるものであり、同一の認証情報かつ同一の印刷端末の組合せによる印刷エントリーが必ず1つだけ印刷ジョブリストに登録される。
従って、ステップS207において印刷ジョブを一時格納する際、同一の認証情報と対応付けられた印刷ジョブが他に存在しない場合には登録要と判断してステップS209へ進み、印刷エントリーをサーバ100へ送信し、当該印刷エントリーを印刷ジョブリストに登録する。
一方、既に同一の認証情報と対応付けられた印刷ジョブが存在する場合には、既に印刷ジョブリストに印刷エントリーが登録されているため、登録不要と判断して本処理を終了する。ここで、印刷エントリーは、印刷端末の名称、ユーザの認証情報、ジョブ保持期限(削除時間)などによって構成される。
図9は、図1の印刷端末200にて実行されるセキュア印刷処理のうち、印刷ジョブリストへ印刷エントリーを登録した後にサーバ100へ印刷ジョブを送信するまでのフローチャートである。
ステップS802では、印刷ジョブ送信要求をサーバ100から受信するまで待機し、サーバ100から印刷ジョブ送信要求を受信したときはステップS803へ進み、RAM若しくはハードディスク等の所定の記憶領域に一時格納されていた暗号化された印刷ジョブのうち、印刷ジョブ送信要求により指定された識別情報に対応する印刷ジョブをサーバ100に送信する。この印刷ジョブの送信が完了するとステップS804へ進み、当該印刷ジョブを所定の記憶領域から削除する。
次に、ステップS805へ進み、同一の識別情報に対応付けられた印刷ジョブが他にも有る場合、すなわち残ジョブが有る場合には、ステップS806へ進み、印刷エントリーをサーバ100へ送信し、当該印刷エントリーを印刷ジョブリストに登録してステップS802へ復帰する。一方、同一の識別情報に対応付けられた印刷ジョブがそれ以上ない場合、すなわち残ジョブがない場合にはステップS802へ復帰する。
次に、サーバ100により実行される印刷ジョブリスト登録処理及びセキュア印刷処理を図3、図4、及び図7を参照して説明する。なお、サーバ100には、例えば、印刷ジョブリスト登録処理及びセキュア印刷処理を実行するためのプログラムがROM(不図示)に記憶されており、当該プログラムがRAM(不図示)にロードされて実行される。
図7は、印刷端末200から受信した認証情報に基づいてサーバで実行される認証処理のフローチャートである。
図7において、印刷端末200から認証情報を受信すると(ステップS702)、受信した認証情報に基づき、設定情報管理部160にてユーザリスト登録済のユーザか否かを判断する(ステップS703)。この判断の結果、ユーザリスト登録済のユーザであるときは、ステップS704へ進み、印刷端末200に対して認証成功を応答して本処理を終了する。一方、ユーザリスト登録済みのユーザでないときは、ステップS705へ進み、印刷端末200に対して認証失敗を応答して本処理を終了する。
図3は、図1のサーバにより実行される印刷ジョブリスト登録処理のフローチャートである。
図3において、ステップS302では、ネットワーク400に接続された印刷端末A200A(または印刷端末B200B)からNetwork I/F180を介して印刷ジョブリストへのリスト追加要求(図2のステップS210参照)を受信したか否かを判別し、当該要求を受信したときは、ステップS303に進む。ステップS303では、ジョブ管理部140内に格納されている印刷ジョブリストに対し、印刷エントリーを追加登録して本処理を終了する。
一方、ステップS302において、リスト追加要求を受信しない場合やリスト追加要求以外の処理要求を受信した場合は、追加登録処理を実行せずに本処理を終了する。
上記処理において、印刷エントリーは、ユーザ名、印刷端末の名称、ジョブ保持期限(削除時間)、ユーザの認証情報などの情報によって構成される情報である。サーバ100は、どのユーザがどの印刷端末にセキュア印刷ジョブを保持しているかだけを知っていればよいので、全ての印刷ジョブについての印刷エントリーを印刷ジョブリストに登録する必要はない。例えば、同一ユーザが同一の印刷端末から連続して複数のセキュア印刷指示を行った場合には、サーバ100の印刷ジョブリストに登録される印刷エントリーは1つのみである。
また、同一ユーザが2つの印刷端末(例えば、印刷端末A200A及び印刷端末B200B)から夫々セキュア印刷指示を行った場合には、サーバ100の印刷ジョブリストに登録される印刷エントリーは2つとなる。このような構成とすることで、印刷ジョブリストを登録保持しておくためにサーバ100が用意するメモリ容量を抑えることが可能となる。
図4は、サーバにより実行されるセキュア印刷処理を示すフローチャートである。
図4において、ステップS402では、ユーザが認証部110に非接触式ICカードをかざすと、認証部110によりカード入力を受付可能な状態か否かを判断する。この判断の結果、受付可能であればステップS403へ進む一方、受付不可であれば本処理を終了する。
ステップS403において、認証部110にかざされた非接触式ICカードから取り込んだ認証情報に基づいて認証を行い、すなわち当該カードから取り込んだユーザ名、ユーザIDなどの認証情報と設定情報管理部160に保持されているユーザリストとを照合し、当該認証情報が当該ユーザリストに登録済であれば認証成功となり、ステップS404に進む。一方、当該認証情報がユーザリストに非登録であれば認証失敗となり、本処理を終了する。ここで、ユーザリストとは、サーバ100の設定情報管理部160に予め登録されているもので、例えば、管理者権限を有する特定ユーザが管理用ユーティリティプログラム等を利用してネットワーク400を介して、或いはサーバ100の操作/表示部150を介して登録及び更新することができる。
なお、ステップS402で受付不可と判断された場合及びステップS403で認証失敗と判断された場合には、操作/表示部150を通じて、非接触式ICカードをかざしたユーザに対して、そのときの状態を通知することが好ましい。通知方法としては、文字表示、LED点灯/点滅、ビープ音出力などが考えられる。
次に、ステップS404において、それ以降に認証部110にかざされる非接触式ICカードの受付を禁止する。つづいて、ステップS405において、ジョブ管理部140に保持されている印刷ジョブリストを検索し、ステップS403で取り込んだ認証情報と一致する印刷エントリーを取得する。
ステップS406では、取得した印刷エントリーに基づいて、該当する印刷端末200に対して、セキュア印刷ジョブの送信を要求する。次に、ステップS407において、印刷端末200からセキュア印刷ジョブを受信するまで待機し、受信した場合には(ステップS407でYES)、ステップS408へ進む。
ステップS408では、印刷端末200から受信したセキュア印刷ジョブをプリンタ300で処理可能なデータ形式に復号(暗号解読)し、ステップS409において、プリンタ300へ印刷ジョブを送信する。つづいて、ステップS410において、サーバ100内に保持していた印刷ジョブリストから当該印刷エントリーを削除する。
次に、ステップS411において、現在、非接触式ICカード受付中のユーザに対応するリスト追加要求を印刷端末から受信したか否かを判別する。例えば、1人のユーザが、1台の印刷端末A200Aから複数のセキュア印刷指示を行った場合、印刷端末A200Aからサーバ100に対して、印刷ジョブの送信終了に続いてリスト追加要求が送信される。
ステップS411の判別の結果、リスト追加要求を受信した場合には、ステップS412に進み、印刷ジョブリストに印刷エントリーを追加して、ステップS406に戻り、残りのセキュア印刷ジョブについてもステップS406〜ステップS410の処理を実行する。一方、リスト追加要求を受信していない場合には、ステップS413に進む。
ステップS413において、印刷ジョブリスト内に、現在、非接触ICカード受付中のユーザに対応する別の印刷端末からの印刷エントリーがあるか否かを判別する。この判別の結果、別の印刷端末からの印刷エントリーがある場合にはステップS406に戻り、残りのセキュア印刷ジョブについてもステップS406〜ステップS410の処理を実行する。一方、ステップS413の判別の結果、別の印刷端末からの印刷エントリーがない場合には、現在、非接触式ICカード受付中のユーザについて全てのセキュア印刷ジョブの処理を完了したものとしてステップS414に進み、非接触式ICカードの認証受付を再開(非接触式ICカードの入力禁止を解除)して、本処理を終了する。
上述したように、ユーザ認証として1枚の非接触式ICカード入力を受け付けた後、ステップS404乃至ステップS414の期間においては非接触式ICカードの入力を一切禁止して、単一のユーザ(カード)に対応するセキュア印刷処理のみを実行する。また、どの印刷端末200からセキュア印刷指示を実行したかにかかわらず、サーバ100にカードを1回かざすだけで、同一のユーザ(カード)に対応する全てのセキュア印刷処理を連続して実行する。このような構成とすることで、非接触式ICカードをかざしたその場で所望の印刷結果を全て手にすることができるため、印刷結果を他人に見られたり、他人の手に渡ってしまったりといった恐れが一切ない。
また、ユーザがサーバ100の傍らでユーザ認証を行うまでは、サーバ100に対して印刷ジョブが送られることはない。これによって、悪意を持った第三者によってサーバ100から印刷ジョブが取り出され解析される危険性は極めて少なくなる。
なお、上述したセキュア印刷ジョブではなく、通常の印刷ジョブを受信した場合には、図3及び図4に示したフローを介さず、プリンタ300へ印刷ジョブを送信して処理を終了する。
次に、図1のプリントシステムにおいて、1人のユーザ(ユーザA)が1枚の非接触式ICカードを使って複数の印刷端末(印刷端末A200A、印刷端末B200B)からセキュア印刷を実行する場合の印刷シーケンスについて説明する。なお、本実施の形態では、印刷端末を2台としているが、これに限定されず、3台以上であってもよいことは云うまでもない。
図5は、図1のプリントシステムにおける印刷シーケンスを示す図である。
まず、第1段階として、サーバ100の印刷ジョブリストに登録されるまでを説明する。
図5において、ユーザAは、印刷端末A200Aにジョブ1のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに未登録であることから、ジョブ1のリスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末A200Aから受信したジョブ1のリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
次に、ユーザAは、同じく印刷端末A200Aにジョブ2のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーが既にサーバ100の印刷ジョブリストに登録済であるため、ジョブ2のリスト追加要求をサーバ100に送信しない。
続いて、ユーザAは、印刷端末B200Bにジョブ3のセキュア印刷を指示する。印刷端末B200Bは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストには未登録であるため、ジョブ3のリスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末B200Bから受信したジョブ3のリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
さらに、ユーザAは、再び印刷端末A200Aにジョブ4のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーが既にサーバ100の印刷ジョブリストには登録済であるため、ジョブ4のリスト追加要求をサーバ100に送信しない。
次に、第2段階として、サーバ100においてユーザAが所有する非接触式ICカードによりユーザ認証がなされ、プリンタ300で印刷が実行されるまでを説明する。
まず、ユーザAがサーバ100の所在場所へ移動して登録済の非接触式ICカードをサーバ100の認証部110にかざす。
サーバ100は、ユーザAの非接触式ICカードによるユーザ認証に成功すると、その後の非接触式ICカードによる入力を禁止するとともに、印刷ジョブリストを検索して、ユーザAに対応する印刷エントリーのうち、最初にリスト登録されたジョブ1の送信要求を対応する印刷端末(ここでは印刷端末A200A)に対して送信する。
ジョブ1の送信要求を受信した印刷端末A200Aは、対応するジョブ1をサーバ100へ送信し、サーバ100は受信したジョブ1を復号(暗号解読)してプリンタ300へ送信する。
ジョブ1の印刷処理が終わると、印刷端末A200Aはジョブ2のリスト追加要求をサーバ100へ送信する。
サーバ100はジョブ2のリスト追加要求に基づいてジョブ2の印刷エントリーを印刷ジョブリストに追加し、ジョブ2の送信要求を印刷端末A200Aに対して送信する。
ジョブ2の送信要求を受信した印刷端末A200Aは対応するジョブ2をサーバ100へ送信し、サーバ100は受信したジョブ2を復号(暗号解読)してプリンタ300へ送信する。
ジョブ2の印刷処理が終わると、ジョブ4についても同様に印刷処理を実行する。
ジョブ4の印刷処理が終わると、印刷端末A200Aは全てのジョブ送信が終わったことをサーバ100へ通知する(ジョブ終了通知)。これを受けてサーバ100はジョブ3の送信要求を対応する印刷端末(ここでは印刷端末B200B)に対して送信する。
ジョブ3の送信要求を受信した印刷端末B200Bは、対応するジョブ3をサーバ100へ送信し、サーバ100は受信したジョブ3を復号(暗号解読)してプリンタ300へ送信する。
ジョブ3の印刷処理が終わると、印刷端末B200Bは全てのジョブ送信が終わったことをサーバ100へ通知する(ジョブ終了通知)。
以上のシーケンスによって、ユーザAにより指示されたセキュア印刷ジョブが全て処理され、ユーザAはジョブ1〜ジョブ4までの全ての印刷結果をプリンタ300の排紙トレイから受け取ることができる。
ユーザAにより指示されたジョブ1〜ジョブ4を全て終了すると、サーバ100は非接触式ICカードの入力禁止を解除する。入力禁止が解除されるまではいかなるユーザがサーバ100に非接触式ICカードをかざしても入力が認められず、ユーザA以外はセキュア印刷を実行することはできない。
[第2の実施の形態]
本発明の第2の実施の形態は、その構成(図1)が、上記第1の実施の形態と同じであり、その説明を省略する。以下に、上記第1の実施の形態と異なる点のみを説明する。
図6は、本発明の第2の実施の形態に係る印刷処理装置を備えるプリントシステムの印刷シーケンスを示す図である。
本第2の実施の形態では、複数のユーザ(ユーザA、ユーザB)が夫々の非接触式ICカードを使って複数の印刷端末(印刷端末A200A、印刷端末B200B)からセキュア印刷を実行する場合の印刷シーケンスである。なお、本実施の形態では、印刷端末を2台、ユーザを2名としているが、これに限定されず、3台以上、3名以上であってもよいことは云うまでもない。
まず、第1段階として、サーバ100の印刷ジョブリストに登録されるまでを説明する。
ユーザAは、印刷端末A200Aにジョブ1のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに未登録であることから、ジョブ1のリスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末A200Aから受信したジョブ1のリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
次に、ユーザAは、同じく印刷端末A200Aにジョブ2のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに登録済であるため、ジョブ2のリスト追加要求をサーバ100に送信しない。
続いて、ユーザBは、印刷端末B200Bにジョブ3のセキュア印刷を指示する。印刷端末B200Bは、ユーザBの印刷エントリーがサーバ100の印刷ジョブリストに未登録であるため、ジョブ3のリスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末B200Bから受信したジョブ3のリスト追加要求に基づいてユーザBの印刷エントリーを印刷ジョブリストに追加する。
次に、ユーザAは、印刷端末B200Bにジョブ4のセキュア印刷を指示する。印刷端末B200Bは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに未登録であるため、ジョブ4のリスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末B200Bから受信したジョブ4のリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
次に、第2段階として、サーバ100においてユーザA,Bがそれぞれ所有する非接触式ICカードによりユーザ認証がなされ、プリンタ300で印刷が実行されるまでを説明する。
まず、ユーザBがサーバ100の所在場所へ移動して登録済の非接触式ICカードをサーバ100の認証部110にかざす。
サーバ100は、ユーザBの非接触式ICカードによるユーザ認証に成功すると、その後の非接触式ICカードによる入力を禁止するとともに、印刷ジョブリストを検索して、ユーザBに対応する印刷エントリーとしてリスト登録されたジョブ3の送信要求を印刷端末B200Bに対して送信する。
ジョブ3の送信要求を受信した印刷端末B200Bは、対応するジョブ3をサーバ100へ送信し、サーバ100は受信したジョブ3を復号(暗号解読)してプリンタ300へ送信する。
ジョブ3の印刷処理が終わると、印刷端末B200Bは全てのジョブ送信が終わったことをサーバ100へ通知する(ジョブ終了通知)。
以上のシーケンスによって、ユーザBにより指示されたセキュア印刷ジョブが全て処理され、ユーザBはジョブ3の印刷結果をプリンタ300の排紙トレイから受け取ることができる。
ユーザBにより指示されたジョブ3を終了すると、サーバ100は非接触式ICカードの入力禁止を解除する。入力禁止が解除されるまではいかなるユーザがサーバ100に非接触式ICカード等をかざしても入力が認められず、ユーザB以外はセキュア印刷を実行することはできない。
次に、ユーザAがサーバ100の所在場所へ移動して登録済の非接触式ICカードをサーバ100の認証部110にかざす。
サーバ100は、ユーザAの非接触式ICカードによるユーザ認証に成功すると、非接触式ICカードの入力を禁止するとともに、印刷ジョブリストを検索して、ユーザAに対応する印刷エントリーのうち、最初にリスト登録されたジョブ1の送信要求を印刷端末A200Aに対して送信する。
ジョブ1の送信要求を受信した印刷端末A200Aはジョブ1をサーバ100へ送信し、サーバ100は受信したジョブ1を復号(暗号解読)してプリンタ300へ送信する。
ジョブ1の印刷処理が終わると、印刷端末A200Aは、ジョブ2のリスト追加要求をサーバ100へ送信する。
サーバ100はジョブ2のリスト追加要求に基づいてジョブ2の印刷エントリーを印刷ジョブリストに追加し、ジョブ2の送信要求を印刷端末A200Aに対して送信する。
ジョブ2の送信要求を受信した印刷端末A200Aは対応するジョブ2をサーバ100へ送信し、サーバ100は受信したジョブ2を復号(暗号解読)してプリンタ300へ送信する。
ジョブ2の印刷処理が終わると、サーバ100はジョブ4の送信要求を印刷端末B200Bに対して送信する。
ジョブ4の送信要求を受信した印刷端末B200Bはジョブ4をサーバ100へ送信し、サーバ100は受信したジョブ4を復号(暗号解読)してプリンタ300へ送信する。
ジョブ4の印刷処理が終わると、印刷端末A200Aは全てのジョブ送信が終わったことをサーバ100へ通知する(ジョブ終了通知)。
以上のシーケンスによって、ユーザAにより指示されたセキュア印刷ジョブが全て処理され、ユーザAはジョブ1、ジョブ2、及びジョブ4の印刷結果をプリンタ300の排紙トレイから受け取ることができる。
ユーザAにより指示されたジョブ1、ジョブ2、及びジョブ4をすべて終了すると、サーバ100はカードの入力禁止を解除する。入力禁止が解除されるまではいかなるユーザがサーバ100に非接触式ICカードをかざしても入力が認められず、ユーザA以外はセキュア印刷を実行することはできない。
[第3の実施の形態]
上記第1の実施の形態及び第2の実施の形態におけるプリントシステムが、1つの印刷ジョブの印刷が終わる毎に印刷ジョブ単位で印刷エントリーを追加していたのに対して、本発明の第3の実施の形態では、印刷端末200が保持している印刷ジョブ数をサーバ100に通知することで、印刷ジョブ単位の印刷エントリー追加を不要とした点を特徴とする。
なお、本発明の第3の実施の形態は、その構成(図1)が、上記第1の実施の形態と同じであり、その説明を省略する。以下に、上記第1の実施の形態と異なる点のみを説明する。
図10は、図1の印刷端末200にて実行されるセキュア印刷処理のうち、印刷ジョブリストへ印刷エントリーを登録した後にサーバ100へ印刷ジョブを送信するまでのフローチャートである。
ステップS1002では、印刷ジョブ送信要求をサーバ100から受信するまで待機し、サーバ100から印刷ジョブ送信要求を受信したときはステップS1003へ進み、印刷ジョブ送信要求により指定された識別情報に対応付けてRAM若しくはハードディスク等所定の記憶領域に一時格納されていた暗号化された印刷ジョブをサーバ100に送信する。この印刷ジョブの送信が完了するとステップS1004へ進み、当該印刷ジョブを所定の記憶領域から削除する。
次に、ステップS1005へ進み、同一の識別情報に対応付けられた印刷ジョブが他にも有る場合には、ステップS1003以降の処理を繰り返す。一方、ステップS1005において、同一の識別情報に対応付けられた印刷ジョブがそれ以上ない場合にはステップS1002へ復帰する。
次に、サーバ100により実行されるセキュア印刷処理について図11を参照して説明する。
図11は、サーバにより実行されるセキュア印刷処理を示すフローチャートである。なお、同図のステップS1102乃至ステップS1106の処理内容は、図4のステップS402乃至ステップS406と同一であるのでその説明を省略し、ステップS1107以降について説明する。
図11において、ステップS1107では、認証したユーザに対応して印刷端末200が一時格納している印刷ジョブの個数を印刷端末200から受信する。
次に、ステップS1108において、印刷端末200からセキュア印刷ジョブを受信する。
ステップS1109では、印刷端末200から受信したセキュア印刷ジョブをプリンタ300で処理可能なデータ形式に復号(暗号解読)し、ステップS1110において、プリンタ300へ印刷ジョブを送信して、印刷ジョブ数を1減算する。つづいて、ステップS1111において、認証したユーザに対応した残りの印刷ジョブがあるかどうか、すなわち残ジョブがあるか否かを判別する。この判別の結果、印刷ジョブ数がゼロに至らない場合には、ステップS1108へ戻り、残りの印刷ジョブについてステップS1108以降の処理を繰り返す。一方、ステップS1111の判別の結果、印刷ジョブ数がゼロになった場合は、ステップS1112へ進み、サーバ100内に保持していた印刷ジョブリストから当該印刷エントリーを削除する。
次に、ステップS1113において、印刷ジョブリスト内に、現在、非接触ICカード受付中のユーザに対応する別の印刷端末からの印刷エントリーがあるか否かを判別する。この判別の結果、別の印刷端末からの印刷エントリーがある場合には、この印刷エントリーについてステップS1106〜ステップS1110の処理を実行する。一方、別の印刷端末からの印刷エントリーがない場合には、現在、非接触式ICカード受付中のユーザについて全てのセキュア印刷ジョブの処理を完了したものとしてステップS1114に進み、非接触式ICカードの認証受付を再開(非接触式ICカードの入力禁止を解除)して、本処理を終了する。
次に、図1のプリントシステムにおいて、1人のユーザ(ユーザA)が1枚の非接触式ICカードを使って複数の印刷端末(印刷端末A200A、印刷端末B200B)からセキュア印刷を実行する場合の印刷シーケンスについて説明する。なお、本実施の形態では、印刷端末を2台としているが、これに限定されず、3台以上であってもよいことは云うまでもない。
図12は、図1のプリントシステムにおける印刷シーケンスを示す図である。
まず、第1段階として、サーバ100の印刷ジョブリストに登録されるまでを説明する。
図12において、ユーザAは、印刷端末A200Aにジョブ1のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに未登録であることから、リスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末A200Aから受信したリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
次に、ユーザAは、同じく印刷端末A200Aにジョブ2のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーが既にサーバ100の印刷ジョブリストに登録済であるため、リスト追加要求をサーバ100に送信しない。
続いて、ユーザAは、印刷端末B200Bにジョブ3のセキュア印刷を指示する。印刷端末B200Bは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストには未登録であるため、リスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末B200Bから受信したリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
さらに、ユーザAは、再び印刷端末A200Aにジョブ4のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーが既にサーバ100の印刷ジョブリストには登録済であるため、リスト追加要求をサーバ100に送信しない。
次に、第2段階として、サーバ100においてユーザAが所有する非接触式ICカードによりユーザ認証がなされ、プリンタ300で印刷が実行されるまでを説明する。
まず、ユーザAがサーバ100の所在場所へ移動して登録済の非接触式ICカードをサーバ100の認証部110にかざす。
サーバ100は、ユーザAの非接触式ICカードによるユーザ認証に成功すると、その後の非接触式ICカードによる入力を禁止するとともに、印刷ジョブリストを検索して、ユーザAに対応する印刷エントリーのうち、最初にリスト登録された印刷端末A200Aに属するジョブの送信要求を対応する印刷端末A200Aに対して送信する。
ジョブの送信要求を受信した印刷端末A200Aは、はじめにユーザAに対応する印刷ジョブの個数(以下、印刷ジョブ数)「3」をサーバ100へ通知する。続いて、最初に投入されたジョブ1をサーバ100へ送信し、サーバ100は受信したジョブ1を復号(暗号解読)してプリンタ300へ送信する。
ジョブ1の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。
印刷端末A200Aは、ジョブ2をサーバ100へ送信し、サーバ100は受信したジョブ2を復号(暗号解読)してプリンタ300へ送信する。
ジョブ2の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。
以下、ジョブ4についても同様に印刷処理を実行して、ジョブ4の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。ここで印刷ジョブの残数が「0」となるので、サーバ100は印刷端末A200Aに対してユーザAに対応する全てのジョブの受信が完了したことを印刷端末A200Aへ通知する。
つづいて、サーバ100はユーザAに対応する印刷エントリーのうち、次にリスト登録された印刷端末B200Bに属するジョブの送信要求を対応する印刷端末B200Bに対して送信する。
ジョブの送信要求を受信した印刷端末B200Bは、はじめにユーザAに対応する印刷ジョブの個数(以下、印刷ジョブ数)「1」をサーバ100へ通知する。続いて、ジョブ3をサーバ100へ送信し、サーバ100は受信したジョブ3を復号(暗号解読)してプリンタ300へ送信する。
ジョブ3の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。ここで印刷ジョブの残数が「0」となるので、サーバ100は印刷端末B200Bに対してユーザAに対応する全てのジョブの受信が完了したことを印刷端末B200Bへ通知する。以上のシーケンスによって、ユーザAにより指示されたセキュア印刷ジョブが全て処理され、ユーザAはジョブ1〜ジョブ4までの全ての印刷結果をプリンタ300の排紙トレイから受け取ることができる。
ユーザAにより指示されたジョブ1〜ジョブ4をすべて終了すると、サーバ100はカードの入力禁止を解除する。入力禁止が解除されるまではいかなるユーザがサーバ100に非接触式ICカードをかざしても入力が認められず、ユーザA以外はセキュア印刷を実行することはできない。
上述したように、本第3の実施の形態においては、印刷ジョブ単位の印刷エントリー追加のステップが不要となるので、印刷ジョブリストの更新に要する演算処理の軽減、ならびに印刷端末200とサーバ100間におけるトラフィックの軽減が期待できる。
[第4の実施の形態]
本発明の第4の実施の形態は、その構成が、図1を含む上記第3の実施の形態と同じであり、その説明を省略する。以下に、上記第3の実施の形態と異なる点のみを説明する。
図13は、本発明の第4の実施の形態に係る印刷処理装置(サーバ100)を備えるプリントシステムの印刷シーケンスを示す図である。
本第4の実施の形態では、複数のユーザ(ユーザA、ユーザB)が夫々の非接触式ICカードを使って複数の印刷端末(印刷端末A200A、印刷端末B200B)からセキュア印刷を実行する場合の印刷シーケンスである。なお、本実施の形態では、印刷端末を2台、ユーザを2名としているが、これに限定されず、3台以上、3名以上であってもよいことは云うまでもない。
まず、第1段階として、サーバ100の印刷ジョブリストに登録されるまでを説明する。
ユーザAは、印刷端末A200Aにジョブ1のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに未登録であることから、リスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末A200Aから受信したリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
次に、ユーザAは、同じく印刷端末A200Aにジョブ2のセキュア印刷を指示する。印刷端末A200Aは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに登録済であるため、リスト追加要求をサーバ100に送信しない。
続いて、ユーザBは、印刷端末B200Bにジョブ3のセキュア印刷を指示する。印刷端末B200Bは、ユーザBの印刷エントリーがサーバ100の印刷ジョブリストに未登録であるため、リスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末B200Bから受信したリスト追加要求に基づいてユーザBの印刷エントリーを印刷ジョブリストに追加する。
次に、ユーザAは、印刷端末B200Bにジョブ4のセキュア印刷を指示する。印刷端末B200Bは、ユーザAの印刷エントリーがサーバ100の印刷ジョブリストに未登録であるため、リスト追加要求をサーバ100へ送信する。サーバ100は、印刷端末B200Bから受信したリスト追加要求に基づいてユーザAの印刷エントリーを印刷ジョブリストに追加する。
次に、第2段階として、サーバ100においてユーザA,Bがそれぞれ所有する非接触式ICカードによりユーザ認証がなされ、プリンタ300で印刷が実行されるまでを説明する。
まず、ユーザBがサーバ100の所在場所へ移動して登録済の非接触式ICカードをサーバ100の認証部110にかざす。
サーバ100は、ユーザBの非接触式ICカードによるユーザ認証に成功すると、カードの入力を禁止するとともに、印刷ジョブリストを検索して、ユーザBに対応する印刷エントリーとしてリスト登録された印刷端末B200Bに属するジョブの送信要求を印刷端末B200Bに対して送信する。
ジョブの送信要求を受信した印刷端末B200Bは、はじめにユーザBに対応する印刷ジョブの個数(以下、印刷ジョブ数)「1」をサーバ100へ通知する。続いて、ジョブ3をサーバ100へ送信し、サーバ100は受信したジョブ3を復号(暗号解読)してプリンタ300へ送信する。
ジョブ3の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。ここで印刷ジョブの残数が「0」となるので、サーバ100は印刷端末B200Bに対してユーザBに対応する全てのジョブの受信が完了したことを印刷端末B200Bへ通知する。
つづいて、サーバ100は、カードの入力禁止を解除する。入力禁止が解除されるまではいかなるユーザがサーバ100に非接触式ICカード等をかざしても入力が認められず、ユーザB以外はセキュア印刷を実行することはできない。
一方、ユーザAがサーバ100の所在場所へ移動して登録済の非接触式ICカードをサーバ100の認証部110にかざす。
サーバ100は、ユーザAの非接触式ICカードによるユーザ認証に成功すると、その後の非接触式ICカードによる入力を禁止するとともに、印刷ジョブリストを検索して、ユーザAに対応する印刷エントリーのうち、最初にリスト登録された印刷端末A200Aに属するジョブの送信要求を印刷端末A200Aに対して送信する。
ジョブの送信要求を受信した印刷端末A200Aは、はじめにユーザAに対応する印刷ジョブの個数(以下、印刷ジョブ数)「3」をサーバ100へ通知する。続いて、最初に投入されたジョブ1をサーバ100へ送信し、サーバ100は受信したジョブ1を復号(暗号解読)してプリンタ300へ送信する。
ジョブ1の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。
印刷端末A200Aは、ジョブ2をサーバ100へ送信し、サーバ100は受信したジョブ2を復号(暗号解読)してプリンタ300へ送信する。
ジョブ2の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。
以下、ジョブ4についても同様に印刷処理を実行して、ジョブ4の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。ここで印刷ジョブの残数が「0」となるので、サーバ100は印刷端末A200Aに対してユーザAに対応する全てのジョブの受信が完了したことを印刷端末A200Aへ通知する。
続いて、ユーザAに対応する印刷エントリーのうち、次にリスト登録された印刷端末B200Bに属するジョブの送信要求を印刷端末B200Bに対して送信する。
ジョブの送信要求を受信した印刷端末B200Bは、、はじめにユーザAに対応する印刷ジョブの個数(以下、印刷ジョブ数)「1」をサーバ100へ通知する。続いて、ジョブ3をサーバ100へ送信し、サーバ100は受信したジョブ3を復号(暗号解読)してプリンタ300へ送信する。
ジョブ3の印刷処理が終わると、サーバ100は印刷ジョブ数を1減算する。ここで印刷ジョブの残数が「0」となるので、サーバ100は印刷端末B200Bに対してユーザAに対応する全てのジョブの受信が完了したことを印刷端末B200Bへ通知する。 以上のシーケンスによって、ユーザAにより指示されたセキュア印刷ジョブが全て処理され、ユーザAはジョブ1〜ジョブ4までの全ての印刷結果をプリンタ300の排紙トレイから受け取ることができる。
ユーザAにより指示されたジョブ1〜ジョブ4を全て終了すると、サーバ100は、非接触式ICカードの入力禁止を解除する。入力禁止が解除されるまではいかなるユーザがサーバ100に非接触式ICカードをかざしても入力が認められず、ユーザA以外はセキュア印刷を実行することはできない。
上述したように、本第4の実施の形態においては第3の実施の形態と同様、印刷ジョブ単位の印刷エントリー追加のステップが不要となるので、印刷ジョブリストの更新に要する演算処理の軽減、ならびに印刷端末200とサーバ100間におけるトラフィックの軽減が期待できる。
[第5の実施の形態]
上記第1乃至第4の実施の形態では、管理者権限を有する特定ユーザが予めユーザリストをサーバ100内の設定情報管理部160に登録しておき、印刷端末200においてプリンタドライバを起動して、セキュア印刷を指示する際に、サーバ100に送った認証情報とユーザリストとを照合して認証を行うと説明したが、利用環境によっては、決められたユーザが決められたカードで認証を行うのではなく、不特定のユーザが不特定のカードを用いてセキュア印刷を実行した場合も想定することができる。
そこで、本実施の形態においては、予めユーザリストを登録するのではなく、印刷端末200においてカードから入力された認証情報を暗号化してサーバ100へ送信した際に(図2のステップS205が該当)、ユーザリストへの登録を行うように変更する。また、この変更に伴い、図2のステップS206(認証)が不要となる。
図8は、印刷端末200から受信した認証情報に基づいてサーバで実行される登録処理のフローチャートである。
図8において、印刷端末200から認証情報を受信すると(ステップS712)、受信した認証情報を設定情報管理部160にて登録する(ステップS713)。次に、ステップS714において、印刷端末200に対して登録完了を応答し、本処理を終了する。
[第6の実施の形態]
上記第5の実施の形態では、不特定のユーザが不特定の非接触式ICカードを用いてセキュア印刷を実行する場合に、印刷端末200において当該カードから入力された認証情報を暗号化してサーバ100へ送信するものを説明したが、図2のステップS204において入力された認証情報を、ステップS205においてサーバ100へ送信しない実施の形態も考えうる。
本第5の実施の形態では、図8に示した上記ユーザリストへのユーザ登録を行わずに、印刷ジョブリストに登録された印刷エントリーが有する認証情報に基づいて、サーバ100に非接触式ICカードをかざされた際に、ユーザ認証を行うようにすればよい。また、上記第1の実施の形態、上記第5の実施の形態、及び本実施の形態で説明したいずれかのユーザ認証方法をモード設定によって切り換えるようにしてもよい。
また、上記第3の実施の形態及び上記第4の実施の形態では、印刷端末200が、あるユーザに対応して一時格納する印刷ジョブの個数(以下、印刷ジョブ数)をサーバ100に知らしめる方法として、印刷端末200がジョブの送信要求を受信した際にサーバ100に通知すると説明したが、これ以外にも、各印刷ジョブの例えばヘッダ部に後続する印刷ジョブの有無を示す情報を付加してサーバ100に通知してもよい。このようにすれば、図12のシーケンスにあるジョブ数の通知を行わなくてよい。
ネットワーク400上に接続されるサーバ100は1つに限らず、複数存在してもよい。この場合、ユーザが印刷端末からセキュア印刷を指示する際に、複数のサーバ100の中から所望のサーバ100を1台選択して印刷ジョブリストを登録するようにしてもよいし、ネットワーク400に接続された複数のサーバ100(全てまたは一部でもよい)に対して印刷ジョブリストを登録しておき、後から任意のサーバ100でカード認証して出力するようにしてもよい。
また、認証方式は非接触式ICカードに限定されるものではない。例えば、生態情報(指紋、虹彩、網膜、筆跡、顔形、掌形、耳介、声紋、静脈等)を用いた認証、パスワードや暗証番号の入力による認証、磁気カードの読み取りによる認証、携帯型情報端末(Felica(登録商標)内蔵携帯電話等)を用いた認証でもよく、これらのうちの複数の組合せでもよい。
本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD−RAM、DVD±RW、磁気テープ、不揮発性のメモリカード等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も、本発明に含まれることは云うまでもない。
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
上記実施の形態では、複合装置の印刷方式を電子写真方式とした場合を例に挙げたが、本発明は、電子写真方式に限定されるものではなく、インクジェット方式、熱転写方式、感熱方式、静電方式、放電破壊方式など各種印刷方式に適用することができる。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。