以下では、本発明を実施するための形態について図面を用いて説明する。
まず本実施形態を説明するうえで前提となる用語について定義する。本実施形態では、パスワードを含む印刷データを印刷するためのジョブを「パスワード付き印刷ジョブ」と呼ぶ。パスワード付き印刷ジョブは、印刷時ユーザから入力されたパスワードと印刷データに含まれるパスワードが一致した場合に印刷を開始するジョブである。
また本実施形態では、パスワード付き印刷ジョブに含まれる印刷対象のデータに対し暗号化が施されている印刷ジョブを「パスワード付き暗号化印刷ジョブ」と呼ぶ。
<第1の実施形態>
以下、発明を実施するための形態について図面を用いて説明する。
図1は、多機能デジタル複合機(Multi Function Peripheral、以下では単に「複合機」という)1000とパーソナルコンピュータ(以下では単にPCという)2000とから構成されるネットワークシステムの全体図である。図1のネットワークシステムでは、複合機1000とPC2000とがネットワーク101を介して互いに通信可能に接続されている。
なお図1には図示していないが、ネットワーク101にはスイッチングハブやルータなどの中継機器を介して複数の複合機や他のPCが接続されていてもよい。また、図1のネットワークシステムは、ネットワーク101に接続された不図示のルータを介してインターネットと接続されていてもよい。
図1のネットワークシステムにおいて、複合機1000とPC2000にはそれぞれ固有のIPアドレスとホスト名が割り当てられている。更に図1のネットワークシステムにはインターネット上の位置を表す固有のドメイン名が割り当てられている。
本実施形態では、印刷装置の一例として複合機について説明する。しかし、パスワード付き印刷ジョブを実行する機能を有する装置であれば、複合機ではなくSFP(Single Function Peripheral)でもよい。
また本実施形態では、外部装置の一例としてパーソナルコンピュータ(PC)について説明する。しかしパーソナルコンピュータでなくても、共用のデスクトップコンピュータやサーバコンピュータ、モバイル端末などの装置であってもよい。
次に複合機1000のハードウェア構成を説明する。
コントロールユニット200は、画像入力デバイスであるスキャナ201と、画像出力デバイスであるプリンタ202とを接続する。更にコントロールユニット200は、ネットワーク101や公衆回線204と接続し、外部装置との間で情報の入出力を行う。
CPU205は複合機1000全体を制御するプロセッサである。RAM206はCPU205が動作するためのシステムワークメモリであり、画像データやユーザ名/パスワードなどを一時記憶するためのメモリでもある。ROM207はブートROMでありシステムのブートプログラムが格納されている。HDD208はハードディスクドライブであり、システムソフトウェア、アプリケーション、画像データを格納する。また、本実施形態における後述のフローチャートを実行するためのプログラムもこのHDD208に格納されている。そして、HDD208に格納されたプログラムは、RAM206にロードされ、CPU205によって実行される。
本実施形態において説明されるフローチャートの各ステップは、HDD208に記憶された制御プログラムをCPU205が実行することによって実現される。ただし、CPU205以外のプロセッサが当該フローチャートの各ステップを実行したり、あるいはCPU205と当該他のプロセッサとが協働して各ステップを実行したりしてもよい。
操作部インターフェース209は液晶タッチパネルを有した操作部210とのインターフェース部であり、操作部210に表示する画像データを操作部210へ出力する。また操作部インターフェース209は、操作部210に備えられたキーボードから本システム使用者としてのユーザが入力した情報をCPU205に伝える役割をする。ネットワークインターフェース211はネットワーク101に接続し、データの入出力を行う。MODEM212は公衆回線204に接続し、デジタル信号からアナログ信号への変換等を行う。SRAM213は高速動作可能な不揮発性の記録媒体である。RTC214はリアルタイムクロックであり、コントロールユニット200に電源が入っていない状態でも現在時刻をカウントし続ける処理を行う。以上のデバイスがシステムバス215上に配置される。
ImageBusI/F216はシステムバス215と画像データを高速で転送する画像バス217とを接続し、データ構造を変換するバスブリッジである。画像バス217は、PCIバスまたはIEEE1394で構成される。画像バス217上には以下のデバイスが配置される。
RIP部218はラスターイメージプロセッサであり、PDLコードをビットマップイメージに展開する。デバイスI/F部219は、画像入出力デバイスであるスキャナ201やプリンタ202とコントロールユニット200を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部220は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部221は、プリント出力画像データに対しプリンタの補正、解像度変換等を行う。暗号処理部222は入力されたデータの暗号化処理を行う。復号処理部223は、受信したデータ(印刷データを含む)が暗号化されている場合に当該暗号化されているデータの復号化を行う。
次に、PC2000のハードウェア構成を説明する。PC2000は、CPU26、メインメモリ27、ディスク21、PC操作部23、PC通信部25、PC表示部24を有する。CPU26は、PC2000の動作を制御するプロセッサである。CPU26は、ディスク21に記憶されたプログラムをメインメモリ27にロードして各種処理を実行する。ディスク21には、図示されてはいないが、オペレーティングシステム(OS)や文書作成アプリケーションなどの各種のプログラムが格納されている。更にディスク21には、複合機1000に対応するプリンタドライバプログラム(以下では単にプリンタドライバと呼ぶ)22も格納されている。
PC通信部25は、ネットワーク101に接続された他の装置との間で各種情報を送受信する。PC操作部23は例えばマウスやキーボードであり、ユーザから入力を受け付ける入力機器として機能する。PC表示部24は例えば液晶ディスプレイであり、CPU26が処理したデータを出力するための出力機器として機能する。
図2は、PC2000がパスワード付き印刷ジョブを複合機1000に送信する場合の動作について説明するフローチャートである。図2のフローチャートの各ステップは、ディスク21からメインメモリ27にロードされたプログラムをCPU26が実行することにより実現される。
まずステップS2001(以降の説明ではステップの表記は省略する)で、PC2000は、PC操作部23を介してユーザから複合機1000で印刷をするための指示を受ける。この指示を受けると、CPU26は、複合機1000に対応するプリンタドライバ22を起動し、図3(a)に示す印刷設定画面0301をPC表示部24に表示する。
図3(a)は、S2001でプリンタドライバ22により表示される画面例である。図3(a)の印刷設定画面0301内には、パスワード付き印刷を有効にするか否かを設定するためのチェックボックス0302が表示される。更に、印刷設定画面0301には、データを暗号化するか否かを設定するためのチェックボックス0303や、OKボタン0303、キャンセルボタン0304が表示される。
チェックボックス0302は、印刷ジョブにパスワードを付加して複合機1000に送信する場合にチェックを入れるチェックボックスである。チェックボックス0302にチェックを入れた場合、更に、チェックボックス0303にチェックを入れることが可能である。チェックボックス0303にチェックを入れると、印刷データ(印刷対象のデータ)を暗号化して複合機1000に送信する。このときの暗号鍵は、後述する図3(b)の画面でユーザから受け付けるパスワードを用いる。
また印刷設定画面0301では、用紙サイズや印刷部数、スタンプの有無などの印刷設定が可能であり、これらの印刷設定を含む印刷ジョブがプリンタドライバ22により生成される。図3(a)の例では、パスワード付き印刷が有効であり、かつ、印刷の用紙サイズがA4で、印刷部数が1部、スタンプ無しの印刷設定を行った例を示している。
次にS2002で、プリンタドライバ22は、印刷設定画面0301でのユーザの操作を受け付け、印刷設定をPC2000のRAM(不図示)に書き込む。そして、印刷ジョブの設定が完了したことを示すOKボタン0303の押下を検知すると、S2004に進む。
S2004で、プリンタドライバ22は、S2002で受け付けた設定をもとにパスワード付き印刷ジョブを生成するか否かを判定する。
プリンタドライバ22は、パスワード付き印刷ジョブを生成すると判断した場合(S2004でYES)、図3(b)に示すユーザ名・パスワード入力画面をPC表示部24に表示するとともに、ユーザからユーザ名・パスワードを受け付ける(S2005)。一方、プリンタドライバ22は、パスワード付き印刷を生成しない(すなわち、通常の印刷ジョブを生成する)と判断した場合(S2004でNO)、設定された印刷設定に従い印刷ジョブを生成し、印刷データとともに複合機1000に送信する(S2010)。
図3(b)は、S2005で表示されるユーザ名・パスワード入力画面0321である。図3(b)の画面で、ユーザはユーザ名入力フォーム0322にユーザ名を入力するとともに、パスワード入力フォーム0323にパスワードを入力する。入力されたユーザ名及びパスワードは印刷ジョブに付加され複合機1000に送信される。
ユーザ名入力フォーム0322に入力されるユーザ名は、印刷ジョブの所有者を識別するためのユーザID(ユーザ識別子)である。ユーザ名は、のちに、複合機1000にログインしたユーザとジョブの所有者との照合に使用される(ただし、複合機1000でユーザ認証がされない運用の場合には上記照合には使用されない)。なお、ユーザ名は図3(b)の画面で必要に応じて変更することができるが、初期値としてPC2000にあらかじめ設定しておいたユーザ名が入力されている。
パスワード入力フォーム0323に入力されるパスワードは、のちに、複合機1000で印刷を開始するときに必要な情報である。すなわち、パスワードが付加された印刷ジョブ(パスワード付き印刷ジョブ)は複合機1000でパスワード入力待ちの状態で待機され、操作部210でこのパスワード(図3(b)でユーザが入力したパスワード)が入力されたことに基づいて印刷が開始される。このように、パスワード付き印刷ジョブは、ジョブに付加されたパスワードを知り得る者にのみ印刷物を出力させることができ、パスワードを知り得ない者に印刷物を盗み見られるような事態を軽減することができる。その一方で、パスワード付き印刷ジョブは、ユーザがPC2000側でパスワードを入力し複合機1000側でもユーザがパスワードを入力することになる。そのため、セキュリティは維持されるもののユーザからしてみると複合機1000でパスワード入力作業が発生し手間がかかる。そこで本実施形態では、複合機1000にログインする際にユーザ認証が済んでいる場合にはパスワードの入力を省略できるようにした。この部分については後に詳細に説明する。なお、本実施形態では、パスワードはユーザが図3(b)の画面で入力するものとしたが、プリンタドライバ22がジョブ固有のパスワードを生成し、生成したパスワードを表示してユーザに通知するようにしてもよい。また、複合機1000にパスワードを生成するよう要求し、複合機1000で生成されたパスワードを受け取ってそれをユーザに通知するようにしてもよい。
図2の説明に戻る。S2006で、プリンタドライバ22は、ユーザからPC操作部23を介して入力されたユーザ名とパスワードを受け付ける。ここで受け付けるユーザ名とパスワードは、図3(b)のPC表示部24に表示されるユーザ名入力フォーム0322およびパスワード入力フォーム0323である。そして、PC操作部23はパスワード付き印刷ジョブ設定完了ボタン0324の押下を受け付け、S2007に進む。
S2007で、プリンタドライバ22は、S2002で受け付けた暗号化の設定に基づいて印刷対象のデータを暗号化するか否かを判定する。S2007で暗号化すると判定した場合はS2009に進み、暗号化しないと判定した場合は、S2008に進む。
S2008で、プリンタドライバ22は、印刷対象のデータ(印刷データ)およびユーザ名・パスワードを含むパスワード印刷ジョブを生成し、複合機1000に送信する。また、この他にも、PC2000のドメイン名や他の情報が印刷ジョブに含まれる。ユーザ名は、複合機1000にログインしたユーザとジョブの所有者との照合に使用され、パスワードは複合機1000で印刷を開始するときに使用される。
S2009で、プリンタドライバ22は、印刷データに対し、S2006で受け付けたパスワードを暗号鍵として用いた暗号化処理を行う。このときのパスワードを使用した暗号方式はSHA−256などのアルゴリズムを用いる。プリンタドライバ22は、印刷データが暗号化されていることを示す暗号化フラグと、暗号化された印刷データと、ユーザ名と、パスワードとを含む印刷ジョブ(パスワード付き暗号化印刷ジョブ)を複合機1000に送信する。
S2010で、プリンタドライバ22は、印刷データとユーザ名・パスワードとを含む印刷ジョブをパスワード付き印刷ジョブとして生成し、複合機1000に送信する。
以上が、PC2000のプリンタドライバ22から印刷ジョブを複合機1000に送信する処理の説明である。
図4は、複合機1000が印刷ジョブを受信した場合の動作を説明するフローチャートである。図4のフローチャートに示す各ステップは、HDD208からRAM206にロードされたプログラムをCPU205が実行することにより実現される。図4のフローチャートの処理は、PC2000(又は他の外部装置)から印刷ジョブを受信したことに応じて開始する。
S4001で、CPU205は、PC2000等から送信された印刷ジョブを、ネットワークインターフェース211を介して受信する。そして、CPU205は、受信した印刷ジョブから印刷データおよび印刷設定を抽出する。
S4002で、CPU205は、S4001で抽出した印刷設定に基づいて、受信した印刷ジョブがパスワード付き印刷ジョブであるかを判断する。具体的には、パスワード付き印刷ジョブにジョブパスワードが含まれているか否かを確認し、含まれていればパスワード付き印刷ジョブであると判断する。受信した印刷ジョブがパスワード付き印刷ジョブであると判断した場合はS4003に進む。S4002でパスワード付き印刷ジョブでないと判断した場合はS4004に進む。
S4003では、CPU205は、受信した印刷データをRIP部218に出力する。そして、CPU205は、RIP部218で展開されたビットマップイメージのデータを、パスワード入力待ち状態のステータスを関連づけてHDD208に記憶する(S4003)。なお、S4003で記憶されたビットマップイメージデータは、操作部210でのパスワード入力に応じてジョブパスワードと入力されたパスワードとの照合がされるまではプリンタ202へ出力されない。つまり、受信されたパスワード付き印刷ジョブは、ここでは印刷されずに留め置かれる。さらにS4003では、印刷設定に含まれるドメイン名、ユーザ名およびジョブパスワードをビットマップイメージデータに関連づけて管理する。
S4002でパスワード付き印刷ジョブでないと判断した場合(すなわち通常の印刷ジョブである場合)、CPU205は、受信した印刷データをRIP部218に出力する。そして、CPU205は、RIP部218で展開されたビットマップイメージをプリンタ202に出力する。これを受け、プリンタ202は、出力されたビットマップイメージデータに基づいて画像を印刷用紙に印字する(S4004)。
以上が、複合機1000が印刷ジョブを受信した場合の一連の動作である。
なお、本実施形態では、パスワードが付加されていない印刷ジョブ(通常の印刷ジョブ)は留め置かずに印刷する例について説明した。しかし、例えば複合機1000が強制留め置きモードに設定されている場合等には、たとえパスワードが付加されていない印刷ジョブであってもS4003の処理のように印刷データを留め置くようにしてもよい。
なお、図4には図示していないが、S4003では、CPU205は、実際には受信された印刷ジョブに暗号化フラグが含まれているか否かを確認し、印刷ジョブに含まれている印刷データが暗号化されているかを判断する。暗号化フラグが含まれていると判断した場合は、印刷ジョブに含まれる印刷データはパスワードで暗号化されていることを意味する。従って、その印刷データはパスワードで復号化しない限りビットマップイメージに展開することはできない。そのため、CPU205は暗号化された印刷データのままHDD208に記憶する。
一方、印刷ジョブに暗号化フラグが含まれていない場合には、印刷ジョブに含まれる印刷データは平文であることを意味する。そのため、平文の印刷データをRIP部218に転送し、印刷データをビットマップイメージに展開させてからHDD208に記憶する。このように、印刷データが暗号化されていない場合はパスワード付き印刷ジョブを受信時に印刷データをビットマップイメージに展開することで、ユーザが複合機1000の前に行って印刷指示してから印刷物が排紙されるまでの時間を短縮できる。
図5は、パスワード付き印刷ジョブの印刷又は中止を行う際の動作を示したフローチャートである。図5のフローチャートに示す各ステップは、図4と同様、HDD208からRAM206にロードされたプログラムをCPU205が実行することにより実現される。
S5001で、CPU205は、SRAM213に記憶されている複合機1000の設定値を取得し、取得した設定値をもとにユーザ認証するか否かを判断する。なお、ユーザ認証を有効にするか否かの設定は、あらかじめシステム管理者が複合機1000に登録しておくものとする。また、ユーザ認証を有効にすると設定した場合に使用される各ユーザの認証情報(ユーザID・パスワード)は、あらかじめシステム管理者が複合機1000又はネットワーク上の認証サーバ(不図示)に登録しておくものとする。
S5001でユーザ認証すると判断した場合はS5002に進みログイン処理に移行する。ログイン処理については図6にて詳述するが、このログイン処理によりユーザが複合機1000にログインすると、ログインユーザの情報がRAM206に書き込まれ、S5004に処理を移行する。一方、S5001でユーザ認証しないと判断した場合はS5002のログイン処理を省略してS5004に進む。
S5004で、CPU205は、SRAM213に記憶されている複合機1000の設定値を取得し、複合機1000でユーザ認証済みか否かを判断する。この判断は、S5001での処理に使用された設定値を参照することにより判断する。すなわち、SRAM213から取得した設定値がユーザ認証することを示す場合には、S5002で既にユーザ認証をしているので、S5004でYESと判断する。一方、SRAM213から取得した設定値がユーザ認証することを示していない場合にはS5004でNOと判断する。
S5005で、CPU205は、ジョブリストの表示条件を確認する。例えば、CPU205は、SRAM213からジョブリストのフィルタリング設定を取得し、このフィルタリング設定に基づき、全ての印刷ジョブを表示するか、ログインユーザが所有者である印刷ジョブのみを表示するかを判断する。フィルタリング設定とは、印刷ジョブリスト9002においてジョブの印刷や中止の指示範囲を決定するための設定である。フィルタリング設定が有効である場合、印刷ジョブリスト9002にはログインユーザの印刷ジョブのみが表示される。そのため、フィルタリング設定が有効である場合は、ログインしたユーザは自分のパスワード付き印刷ジョブしか印刷開始させることができない。一方、フィルタリング設定が無効である場合、パスワードの入力待ち状態でHDD208に留め置かれている全ての印刷ジョブが印刷ジョブリスト9002に表示される。そのため、ログインユーザは自分の印刷ジョブだけでなく、他人が複合機1000に投入した印刷ジョブをも印刷開始させることができる。すなわち本実施形態では、ジョブを投入したユーザとは異なるユーザが複合機1000にログインして当該ジョブに係る印刷物を受け取ることができる。(ただし、印刷ジョブはパスワードで印刷制限がかけられているため、当然のことながら、印刷ジョブを受け取るユーザはこのパスワードを知っている必要がある)。
なお、S5005で、認証されたユーザの権限を確認し、管理者権限を有するユーザであれば全てのユーザの印刷ジョブを表示し、管理者権限を有しないユーザであればログインユーザのジョブのみを表示するようにしてもよい。
S5006で、CPU205は、RAM206からログインユーザのユーザ名を取得するとともに、パスワード入力待ち状態で管理されている印刷ジョブのユーザ名(ユーザID)を取得する。なお、図6の説明で後述するが、ログイン処理が完了すると、ログインユーザを識別するユーザ名を含むログインコンテキストがRAM206に書き込まれる。CPU205は、このRAM206に書き込まれたログインコンテキストをもとにログインユーザを識別する。そして、S5006で、CPU205は、ログインユーザのユーザ名に一致するユーザ名を含むパスワード付き印刷ジョブのジョブリストを操作部210に表示する。
S5007で、CPU205は、複合機1000のHDD208にパスワード入力待ち状態で記憶されている全てのパスワード付き印刷ジョブのリストを操作部210に表示する。
図9は、S5006又はS5007で表示されるジョブリストの画面例である。印刷ジョブリスト9002は、複合機1000で記憶されているパスワード付き印刷ジョブのリストである。ただし、S5006で印刷ジョブのリストを表示する場合は、ログインユーザが所有者である印刷ジョブのみ表示する。
印刷ボタン9003は、選択された印刷ジョブの印刷開始を指示するボタンである。中止ボタン9004は、選択された印刷ジョブの印刷をキャンセルするボタンである。
また、印刷ジョブリスト9002は、印刷ジョブの選択有無、受付番号、印刷ジョブの受信時刻、印刷ジョブ名、印刷ジョブを投入したユーザ名(すなわち印刷ジョブの所有者)、ジョブのステータスを表示する。
図9の例では5つのパスワード付き印刷ジョブが印刷ジョブリスト9002に表示され、そのうち受付番号0001のパスワード付き印刷ジョブが選択された状態を例としている。図9では、印刷ジョブリスト9002内に暗号化されていない4つのパスワード付き印刷ジョブが受付番号0001〜0004として表示されている状態の例を示している。また図9の印刷ジョブリスト9002内の受付番号0005がパスワード付き暗号化印刷ジョブであり、暗号有表示マーク9006が印刷ジョブリスト09002上に表示されている状態を例としている。
なお、印刷ジョブリスト9002に表示されるジョブの種類はパスワード付き印刷ジョブのみとするが、通常の印刷ジョブもこの画面上に表示することもできる。
S5010で、CPU205は、S5006又はS5007で表示した印刷ジョブリスト9002から操作対象の印刷ジョブの選択をユーザから受け付ける。操作対象の印刷ジョブを選択すると、選択したジョブに対応する選択有無チェックボックス9005にチェックが入り選択状態となる。印刷ジョブリスト9002に表示されているジョブの少なくとも1つが選択状態になると、中止ボタン9004と印刷ボタン9003が操作可能になる。そしてS5010では、CPU205は更に操作部210から中止ボタン9004又は印刷ボタン9003の操作を受け付ける。例えば、ユーザは、選択した印刷ジョブを印刷したい場合は印刷ボタン9003を押下して印刷を指示する。一方、印刷ジョブの実行を中止したい場合は中止ボタン9004を押下する。S5010で、受け付けた指示が印刷であるか中止であるかを判断し、印刷であると判断した場合は図7の印刷処理に移行する(S5011)。一方、中止であると判断した場合は図8の中止処理に移行する(S5012)。
以上で、ユーザが複合機1000にログインして留め置き印刷機能を利用する際の全体の動作について説明した。
次に、複合機1000へのログイン時の処理(S5002)の詳細説明、パスワード付き印刷ジョブの印刷処理(S5010)の詳細説明、印刷中止処理(S5012)の詳細説明の各々について、図6、図7、図8を用いて説明する。
図6は、図5のS5002で実行されるログイン処理の詳細を説明するフローチャートである。
S6001で、CPU205は、操作部210にログイン画面を表示する。
図13は、S6001で表示するログイン画面の一例である。この例は、キーボード認証方式でログインする場合の例である。ログイン画面には、上記のメッセージとともに、ユーザ名入力フォーム1301とパスワード入力フォーム1302、ログインボタン1303、ゲストログインボタン1304とが表示される。
ユーザ認証をした上でログインする場合は、ユーザは、ユーザ名入力フォーム1301、パスワード入力フォーム1302にそれぞれユーザ名とパスワードを入力し、ログインボタンを押下する。一方、ゲストユーザとしてログインする場合は、当該ゲストユーザは、ユーザ名とパスワードを入力せずにゲストログインボタンを押下する。ただし、ゲストログインする際に「Guest」などの簡易的な文字列を認証情報として入力するようにしてもよい。
S6002で、CPU205は、ログインボタン1303を押下されたか、それともゲストログインボタン1304を押下されたかを確認し、ログインユーザがゲストユーザとしてログインするか否かを判断する。ゲストユーザとしてログインすると判断した場合は、S6006に進み、そうでないと判断した場合はS6002に進む。
次に、CPU205は、S6002でログイン画面を介して受け付けた認証情報を取得する。入力された認証情報は、操作部インターフェース209を介してRAM206に書き込まれる。
S6004で、CPU205は、S6002で取得した認証情報に基づいてユーザ認証を行う。ユーザ認証は、複合機1000自身が行ってもよいし、アクティブディレクトリやLDAPサーバのようなネットワーク上の外部の認証サーバを用いてもよい。複合機1000自身がユーザ認証を行う場合には、HDD208に認証用データベースを持ち、入力されたユーザ名とパスワードを認証用データベースを照合し、ユーザ認証を行う。外部の認証サーバがユーザ認証を行う場合には、当該認証サーバへ、取得した認証情報を含む認証要求を発行し、認証成功又は認証失敗の結果を受け取る。
なお、ユーザ認証は、ICカードを用いたユーザ認証や。指紋認証、顔認証などの認証方式を用いてもよい。
ユーザ認証が成功したと判定した場合(S6004でYES)、CPU205は、ユーザのログインを許可し、S6002で取得しユーザ名を含むログインコンテキストをRAM206に記憶し(S6006)、図6の処理を終了する。ログインコンテキストは、ユーザ名の他に、ログイン時刻、有効期限などの情報を含む。またゲストユーザの権限でログインした場合には、ゲストユーザであることを示す情報をRAM206に記憶する。
S6004で、ユーザ認証が失敗したと判定した場合、CPU205は、エラーを操作部210に表示するとともにユーザが複合機1000を利用することを禁止し、S6002に戻る。
以上でログイン処理の詳細について説明した。
図7は、本実施形態の主眼を成す動作を説明するフローチャートであり、図5のS5011の印刷処理に相当する。
まずS7001で、CPU205は、SRAM213から複合機1000のパスワード入力省略設定(図10参照)を取得し、複合機1000の動作モードを判断する。具体的には、SRAM213から取得したパスワード入力省略設定が有効であれば、複合機1000は、ユーザによるパスワードの入力を省略することが可能なモード(以下では「パスワード入力省略モード」という)で動作中であると判断する。それに対して、SRAM213から取得した設定値が無効であれば、複合機1000は、ユーザによるパスワードの入力を必須とするモード(以下では「パスワード入力必須モード」という)で動作中であると判断する。S7001で、パスワード入力省略モードで動作中であると判断した場合はS7002に進み、パスワード入力必須モードで動作中と判断した場合はS7009に進む。
図10はパスワード入力省略設定を行うための設定画面である。この設定画面10001は、CPU205によって操作部210に表示される。設定画面10001の有効ボタン10002又は無効ボタン10003がシステム管理者により選択され、OKボタン10004が選択されると、CPU205はパスワード入力を有効にするか無効にするかを示し設定値をSRAM213に書き込む。
S7002で、CPU205は、印刷指示されたパスワード付き印刷ジョブの暗号化フラグをHDD208から取得する。そして、CPU205は、印刷指示されたパスワード付き印刷ジョブの暗号化フラグが有効であるか(すなわち印刷データが暗号化されているか)を判断する(S7003)。
S7003で印刷データが暗号化されていると判断した場合、たとえパスワード入力省略モードで動作中であってもユーザからパスワードを受け付けなければ印刷データを復号できない。そのため、S7009に進み、CPU205は、パスワード入力画面を表示するとともにユーザからパスワードの入力を受け付ける。一方、印刷データが暗号化されていないと判断した場合はS7004に進む。
S7004で、CPU205は、SRAM213に記憶されている複合機1000の設定値を取得し、ユーザ認証が済んでいるか否かを判断する。この判断は、図5のS5001での処理に使用された設定値を参照することにより判断する。すなわち、SRAM213から取得した設定値がユーザ認証することを示す場合には、S5002で既にユーザ認証をしているので、S7004でYESと判断し、S7005に進む。一方、SRAM213から取得した設定値がユーザ認証することを示していない場合にはS7004でNOと判断し、S7009に進む。
S7005で、CPU205は、RAM206に記憶されているログインコンテキストを取得し、認証されたユーザの権限を確認する。
本実施形態では、ログインしたユーザの権限として、管理者、一般ユーザ、ゲストユーザの権限の3種類が設定とする。ただし、これはあくまで例である。これらの権限は複合機1000のユーザ認証管理アプリケーションによってあらかじめ登録される。
管理者権限を持つユーザは複合機1000の管理設定を操作可能な権限を持っており、本実施形態におけるパスワード入力省略設定やユーザ認証するか否かの設定は管理者権限を持つユーザのみ可能とする。一般ユーザの権限を持つユーザは管理設定以外の項目の操作や複合機1000の各種機能を操作可能となる。ゲストユーザは、複合機1000が提供する機能や設定において、操作可能な項目は一般ユーザ以下に限定されるとともに、次のような特徴がある。すなわち、ゲストユーザとして複合機1000にログインした場合、誰がログインしても複合機1000内では単なるゲストとして扱われる。したがってゲストユーザの権限を持つユーザが複合機1000にログインしても、複合機1000は個人を特定することができない。
図7の説明に戻る。認証されたユーザの権限がゲストユーザ権限であるとCPU205が判定した場合(S7005でYES)、S7009に進む。認証されたユーザの権限が他の権限(すなわち、管理者権限又は一般ユーザ権限)であると判定された場合(S7005でNO)、S7007に進む。
S7007で、CPU205は、S5010で選択された印刷ジョブのユーザ名とログインユーザのユーザ名が一致するかを確認することにより、印刷指示された印刷ジョブは認証されたユーザのジョブであるかを判断する。印刷ジョブのユーザ名とログインユーザのユーザ名とが一致しない場合(S7007でNO)、CPU205は、操作部210にパスワード入力画面(不図示)を表示し、ユーザからのパスワードの入力を受け付ける(S7009)。
ステップS7007で、CPU205はパスワード付き印刷ジョブとログインユーザのユーザ名が一致すると判断した場合、パスワードの入力を受け付けることなく当該ジョブの印刷を実行する(S7008)。すなわち、パスワード入力の省略設定が有効な場合、自分のパスワード付き印刷ジョブ(すなわち認証されたユーザが所有者の印刷ジョブ)であればパスワードの入力を受け付けずに印刷できる。これによりユーザが自分のパスワード付き印刷ジョブの印刷時にパスワードを入力する手間を削減できる。
上述の処理では、パスワード入力省略設定が有効な場合で、ログインユーザがゲストユーザである場合、複合機1000は必ず印刷時にパスワード入力を求めている。ゲストユーザは個人を特定できないため、どのパスワード付き印刷ジョブが自分のジョブが複合機は判断できない。したがってパスワード入力の省略設定が有効であっても、ゲストユーザからパスワード付き印刷ジョブの印刷指示が行われた場合、必ずパスワードの入力を求める。
ステップS7012で、CPU205は操作部210を介してユーザから受け付けたパスワードとパスワード付き印刷ジョブのパスワードとを比較し、一致すると判断した場合はS7013に進む。
ステップS7012でパスワードが一致しないと判断した場合、操作部210にパスワードが不一致であることを示すエラー画面を表示する(S7014)。
ステップS7013で、CPU205はパスワード付き印刷ジョブの暗号化フラグを取得し、印刷指示されたジョブはパスワード付き暗号化印刷ジョブであるか否かを判断する。印刷指示されたジョブはパスワード付き暗号化印刷ジョブではないと判断した場合(S7013でNO)、パスワード付き印刷ジョブの印刷を実行する(S7008)。
パスワード付き暗号化印刷ジョブと判断した場合(S7013でYES)、S7015で、CPU205は、S7009で受け付けたパスワードを用いて暗号化印刷データを復号化し、復号化された印刷データをRIP部218に出力する。RIP部218は、出力された印刷データをビットマップイメージに展開する。その後、プリンタ202は、RIP部218から出力されたビットマップイメージデータに基づいて画像を印刷用紙に印字する。
以上で図7の印刷処理の動作を説明した。本実施形態によれば、ユーザがパスワード付き印刷ジョブのパスワードの入力が省略できない条件の場合にも、従来通りパスワードを入力させることで、パスワード付き印刷ジョブの実行が可能となる。この処理により、パスワード入力省略機能が有効且つジョブリストのフィルタリング設定が無効な複合機において、自分以外のパスワード印刷ジョブに対してもパスワードを入力すれば印刷可能となり、利便性を向上できる。
次に、パスワード付き印刷ジョブの中止処理について図8のフローチャートを使用して説明する。
図8は、図5のS5012の中止処理を説明するフローチャートである。
S8001で、CPU205は、SRAM213に記憶されている複合機1000の設定を取得し、複合機1000でユーザ認証が済んでいるかを判断する。ユーザ認証済でないと判断した場合(S8001でNO)、CPU205は中止指示されたパスワード付き印刷ジョブのデータをHDD208から消去する(S8004)。ユーザ認証済みと判断した場合、CPU205は中止指示されたパスワード付き印刷ジョブのユーザ名とログインユーザのユーザ名を取得する(S8002)。
次に、CPU205は、中止を指示されたパスワード付き印刷ジョブのユーザ名とログインユーザのユーザ名が一致するかを判断する(S8003)。パスワード付き印刷ジョブとログインユーザのユーザ名が一致すると判断した場合(S8003でYES)、CPU205は中止指示されたパスワード付き印刷ジョブのデータをHDD208から消去し(S8004)、S8005に進む。
S8005で、CPU205は操作部210に表示された印刷ジョブリスト09002から、中止が選択されたパスワード付き印刷ジョブを削除する。そして図8の印刷ジョブ中止処理を終了する。
パスワード付き印刷ジョブとログインユーザのユーザ名が一致しないと判断した場合(S8003でNO)、CPU205は、選択された印刷ジョブの実行の中止ができないことを示すエラー画面を操作部210に表示し、図8の印刷ジョブ中止処理を終了する。
以上で第1の実施形態について説明した。第1の実施形態によれば、認証されたユーザがパスワード付き印刷ジョブを実行指示する場合、印刷ジョブに含まれるパスワードの入力を省略して印刷を開始できるように制御する。
更に第1の実施形態によれば、認証されていないユーザであっても留め置かれた印刷ジョブの印刷を指示することを可能とするように制御する。(ただし、当該認証されていないユーザがジョブを実行指示する場合には、パスワードの入力を求めた上で印刷を開始できるように制御する)。この制御により、認証済みのユーザに対してはパスワードの入力作業の負担が軽減され、ログイン時のユーザ認証による一度の認証で印刷することが可能となる。更に、認証されていないユーザに対しては、パスワードの入力を条件に印刷を開始できるため、利便性を向上させることができる。
また第1の実施形態によれば、ユーザ認証することなしに印刷指示を受け付けた場合には必ずパスワードの入力を要求することで、セキュリティを維持することができる。
また第1の実施形態によれば、複合機にログインしたユーザが、他人のパスワード付き印刷ジョブを(当該ジョブのパスワードを知ってさえいれば)実行させることができるため、複合機の利便性を向上させることができる。
<第2の実施形態>
次に第2の実施形態について説明する。第1の実施形態では、パスワード付き印刷ジョブの中止処理(図8参照)に関しては、複合機はログインユーザのパスワード付き印刷ジョブのみを中止可能としていた。第2の実施形態では、より利便性を向上させるため、ログインユーザ以外のパスワード付き印刷ジョブであっても正しいパスワードを入力するならば中止を可能とする。この機能を第2の実施形態では「中止時パスワード入力機能」と称する。
第2の実施形態は、中止時パスワード入力機能を持つ複合機において、ユーザ認証管理の有無や複合機にログインしたユーザのロールの条件に応じて自分や他人のパスワード付き印刷ジョブの中止指示を行った場合の制御について説明する。
第2の実施形態における、複合機1000が実行するパスワード付き印刷ジョブの中止処理の制御について図11と図12を参照して詳細に説明する。なお、実施形態において、複合機の構成、プリンタドライバのパスワード付き印刷ジョブの送信処理、複合機のログイン処理、パスワード付き印刷ジョブの印刷処理、印刷ジョブの受信処理など説明しない部分については、第1の実施形態と同じである。
第2の実施形態における図11の処理は、第1の実施形態の図8の処理に対し、ステップS11006〜S11015の処理が追加される。この追加される処理は、中止時パスワード設定が有効な制御に関するものであり、詳細は後述する。本実施形態における図11で示すフローチャートのステップS11001〜S11005処理は、第1の実施形態の図8のフローチャートで説明したステップS8001〜S8005の処理と同様である。また図5、図6、図7の処理は第1の実施形態と同じである。
以下、第1の実施形態において第2の実施形態から変更になる部分を説明する。
ステップS11006において、CPU205はSRAM213から複合機1000の中止時パスワード入力設定を取得し、複合機1000の中止時パスワード入力設定が有効であるかを判断する。
図12は第2の実施形態におけるパスワード付き留め置き印刷機能設定画面12001であり、操作部210に表示される。パスワード付き留め置き印刷機能設定画面12001はパスワード入力省略設定と中止時パスワード入力設定とを持つ。パスワード入力省略設定に関しては実施例1の図10のものと同様であり、図12では図10に加えて中止時パスワード入力機能の設定が追加される。これを本実施例では「中止時パスワード入力設定」と称する。図12における中止時パスワード入力設定に関して説明する。
中止時パスワード入力設定はパスワード付き留め置き印刷機能設定画面12001内にある中止時パスワード入力設定有効ボタン12006、中止時パスワード入力設定無効ボタン12007によって設定される。ユーザは操作部210を介して、中止時パスワード入力設定有効ボタン12006、中止時パスワード入力設定無効ボタン12007のどちらかを選択する。中止時パスワード入力設定は、この中止時パスワード入力設定有効ボタン12006及び中止時パスワード入力設定無効ボタン12007の設定を含んだものである。変更した中止時パスワード入力設定はパスワード付き留め置き印刷機能設定ボタン12004を選択することでCPU205によってSRAM213に保存される。
図11の処理の説明に戻る。ステップS11006において、CPU205は中止時パスワード入力設定が無効であると判断した場合、ステップS11001に移行する。ステップS11006において、CPU205は中止時パスワード入力設定が有効であると判断した場合、ステップS11007に移行する。
ステップS11007において、CPU205はSRAM213に保持されている複合機1000の設定を取得し、複合機1000がユーザ認証管理しているかを判断する。ステップS11007おいて、CPU205は複合機1000がユーザ認証管理していないと判断した場合、CPU205は操作部210にパスワード入力画面を表示し、ユーザからのパスワードの入力を受け付ける(S11011)。そしてステップS11012に移行する。
ステップS11012において、CPU205は中止指示されたパスワード付き印刷ジョブからパスワードを取得する。次にステップS11013に移行する。
ステップS11013において、CPU205は操作部210を介してユーザに入力されたパスワードと取得したパスワード付き印刷ジョブのパスワードを比較する。次にステッププS11014に移行する。
ステップS11014において、CPU205はユーザに入力されたパスワードとパスワード付き印刷ジョブのパスワードが一致すると判断した場合、CPU205は中止の指示されたパスワード付き印刷ジョブを中止する(S11004)。そしてステップS11005に移行する。
ステップS11014において、CPU205はユーザに入力されたパスワードと取得したパスワード付き印刷ジョブのパスワードが一致しないと判断した場合、操作部210にパスワード不一致の情報画面(ここでは図示しない)を表示する(S11015)。そしてCPU205はパスワード付き印刷ジョブ中止処理を終了する。
ステップS11007おいて、CPU205は複合機1000がユーザ認証管理していると判断した場合、ステップS11008に移行する。
ステップS11008おいて、CPU205は複合機1000にログインしているユーザのロールを取得し、どのロールとなっているか判断する。ステップS11008おいて、ログインしたユーザは一般ユーザと判断した場合、CPU205は中止指示されたパスワード付き印刷ジョブのユーザ情報とログインユーザのユーザ情報を取得する(S11009)。
そしてCPU205は中止指示されたパスワード付き印刷ジョブのユーザ情報とログインユーザのユーザ情報が一致するか判断する(S11010)。ステップS11010において、CPU205は中止指示されたパスワード付き印刷ジョブのユーザ情報とログインユーザのユーザ情報が一致すると判断した場合、CPU205は中止の指示されたパスワード付き印刷ジョブを中止する(S11004)。次にステップS11005に移行する。
上述の処理によって、ユーザは中止時パスワード入力設定が有効な複合機に対してユーザ認証を行った際、自分のパスワード付き印刷ジョブであればパスワードの入力を行わずに中止することが可能となる。これにより、ユーザは中止時パスワード入力設定が有効な複合機に対して自分のパスワード付き印刷ジョブの中止時の認証の手間を削減することが実現できる。
ステップS11008おいて、ログインしたユーザは管理者ユーザと判断した場合、CPU205は中止の指示されたパスワード付き印刷ジョブを中止する(S11004)。そしてステップS11005に移行する。
上述の処理では中止時パスワード入力設定が有効な複合機に対し、ログインしたユーザが管理者のロールを持つ場合、ログインしたユーザのパスワード付き印刷ジョブではなくとも、複合機はパスワードの入力させずに印刷の中止を実行している。本実施形態では、管理者の場合、複合機の管理のために不要となった他人の複合機のジョブを削除する運用が想定されるため、どのパスワード付き印刷ジョブでも中止を可能としている。
ステップS11008おいて、ログインしたユーザはゲストユーザと判断した場合、CPU205は操作部210にパスワード入力画面を表示し、ユーザからのパスワードの入力を受け付ける(S11011)。
上述の処理では中止時パスワード入力設定が有効な複合機に対し、ログインユーザがゲストユーザである場合、複合機は必ず中止時にパスワード入力を求めている。ゲストユーザは、個人を特定できないため、どのパスワード付き印刷ジョブが自分のジョブが複合機は判断できない。したがって中止時パスワード入力設定が有効であっても、ゲストユーザからパスワード付き印刷ジョブの中止指示が行われた場合、必ずパスワードの入力を求める。
以上で第2の実施形態について説明した。第2の実施形態によれば、中止時パスワード入力設定が有効な複合機に対し、パスワード入力による認証作業が削減されることで、ユーザのパスワード付き印刷ジョブの印刷実行時の手間を削減することが実現可能となる。
(その他の実施例)
第1の実施形態において、パスワード入力の省略設定は図10の画面を介してシステム管理者が行うものとして説明した。しかし、パスワード入力の省略設定は、ユーザ認証に関する設定に応じて自動的に決定するようにしてもよい。例えば、ユーザ認証の設定が無効に設定されている場合には、図10の設定画面10001の有効ボタン10002が選択できないようにし(例えば有効ボタン10002を網掛け表示するなど)、強制的にパスワード入力必須モードで動作するようにしてもよい。この場合、CPU205は、SRAM213に記憶されている設定値を参照してユーザ認証するか否かを判断する。そして、CPU205は、ユーザ認証しないと判断した場合は、パスワード入力の省略設定を自動的に無効にする。このようにすることで、システム管理者の設定作業の負荷を削減することができる。
なお、ユーザ認証を行うタイミングはログイン時に限られない。例えば、複合機がコピー、スキャン、プリントなどの機能を提供する装置である場合に、機能単位でユーザ認証を必要とするか否かを切り替えることも考えられる(これは機能別認証と呼ばれる)。このように機能別認証を行う装置である場合は、プリント機能を利用しようとするときにユーザ認証を行い、このユーザ認証を行った場合にはパスワード入力の省略設定を自動的に有効にするようにしてもよい。
なお、本実施形態では、操作対象のパスワード付き印刷ジョブがログインユーザのジョブであるか否かに応じて、パスワードの入力の省略可否を判断した。しかし、これ以外の方法でパスワードの入力の省略可否を判断することもできる。例えば、ログインユーザが管理者権限を有するユーザであるか否かに応じて、パスワードの入力の省略可否を判断してもよい。この場合は、管理者権限を有するユーザの場合はパスワードの入力を省略し、一般ユーザ、又はゲストユーザの場合はパスワードの入力を要求するようにする。
また、ログインユーザが属するグループ(もしくは所属部門)のユーザに対してはパスワードの入力を省略するようにしてもよい。例えば、ログインユーザのグループID(又は部門ID)と、操作対象の印刷ジョブに含まれるユーザ名から特定したグループIDとを取得し、これらが一致する場合にパスワードの入力を省略するようにしてもよい。
なお、本実施形態では、印刷時のパスワードの入力はユーザがジョブを選択後に行うものとして説明した。しかし、ジョブの選択前に行うこともできる。この場合、ユーザから入力されたパスワードを受け取り、受け取ったパスワードを含む印刷ジョブを特定して印刷を行うことができる。つまり、入力されたパスワードに一致する1又は複数の印刷ジョブを自動的に特定し印刷するので、ユーザによるジョブの選択が不要になる。なお、パスワードの一致する印刷ジョブで、かつ認証されたユーザの印刷ジョブのみを自動的に特定して印刷することもできる。
なお、ユーザ認証するか否かと、パスワードの省略設定を有効にするかを選択的(排他的)に設定するようにしてもよい。例えば、ユーザ認証するという設定がされている場合には、パスワードの省略設定を自動的に無効にし、ユーザ認証しないという設定がされている場合には、パスワードの省略設定を自動的に有効にしてもよい。また、パスワードの省略設定とユーザ認証する設定の切り替えをシステム管理者からの指示で行うようにしてもよい。
なお、本実施形態では、認証済みのユーザと印刷ジョブの所有者とが異なる場合、および、ユーザ認証せずに印刷指示を受け付けた場合の両方の場合において、ユーザからパスワードを受け付けるようにした。(図7のステップ7004でNOの場合、およびステップS7007でNOの場合)。しかし、これらいずれか一方の場合にのみユーザからパスワードを受け付ける形態も本実施形態に含まれる。すなわち、ユーザ認証せずに印刷指示を受け付けた場合にのみユーザからパスワードを受け付ける形態、および、認証済みのユーザと印刷ジョブの所有者とが異なる場合にのみパスワードを形態も、本実施形態に含まれる。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。