次に、本発明の実施の形態について、詳細に説明する。
[第1の実施形態]
<システム構成>
図1は本実施形態に係る印刷システムの一例の構成図である。印刷システム1は、印刷サーバ10、一台以上の画像形成装置20、認証サーバ30、一台以上のクライアントPC40が、LAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等のネットワークN1に接続されている。なお、印刷サーバ10及び認証サーバ30は一つのコンピュータに統合された構成でも、複数のコンピュータに分散された構成でもよい。ここでは、まず、オンデマンド印刷時の手順に従い、印刷システム1について説明する。
クライアントPC60は、印刷対象とされるデータ(文書データ、画像データ等)をアプリケーションソフトウェア等で生成し、ユーザによる印刷指示の入力に応じ、印刷対象とされた印刷データ、書誌条件(印刷条件が含まれる)及び印刷要求を印刷サーバ10又は画像形成装置20に送信するコンピュータである。以下の説明において、印刷ジョブには印刷データ、書誌条件及び印刷要求が含まれるものとする。
ユーザは、クライアントPC60へのログイン時や印刷指示した際に認証情報(例えばユーザ名(又はユーザID)及びパスワード)を入力する。クライアントPC60は認証情報を印刷ジョブに含めるか、又は、添付する。クライアントPC60は印刷ジョブを送信可能な機器であれば、例えばスマートフォンやタブレットPC、携帯電話、PDA(携帯情報端末)などの機器でもよい。
印刷サーバ10は、クライアントPC60より受信される印刷ジョブを補助記憶装置102に蓄積するコンピュータである。なお、画像形成装置20が補助記憶装置203に印刷ジョブを蓄積する場合、印刷サーバ10は不要である。印刷サーバ10又は画像形成装置20は、印刷ジョブと共に受信した認証情報に基づく認証処理を認証サーバ30に要求する。認証サーバ30は認証処理を実行するコンピュータである。印刷サーバ10と認証サーバ30とは、画像形成装置20より共用される。なお、印刷サーバ10と認証サーバ30、又は、画像形成装置20と認証サーバ30を一体に構成してもよい。
認証サーバ30は、ユーザの認証が成功したか否かを示す認証結果を印刷サーバ10又は画像形成装置20に送信する。印刷サーバ10又は画像形成装置20は、認証が成功した場合に、印刷ジョブを蓄積する。
印刷ジョブの実行時、画像形成装置20はユーザから操作指示を受け付け、印刷サーバ10又は当該画像形成装置20に蓄積されている印刷ジョブを取得して印刷するプリンタである。なお、画像形成装置20は、プリンタ、スキャナ、ファクシミリなどの機能の一つ以上を搭載した複合機(MFP)や機器でもよい。
画像形成装置20を使用するユーザは、ログイン時にICカードなどの可搬記録媒体を使用して認証情報を入力するか、又は、操作パネルから認証情報を入力する。画像形成装置20は、印刷サーバ10を介して、又は、直接、認証サーバ30にユーザが入力した認証情報を送信する。認証サーバ30は、ユーザの認証が成功したか否かを示す認証結果を印刷サーバ10又は画像形成装置20に送信する。
画像形成装置20は、認証が成功した場合に、ユーザ名に対応づけられた印刷ジョブのリストを操作パネルなどに表示する。画像形成装置20は、ユーザから印刷ジョブの選択を受け付け、印刷ジョブを印刷サーバ10の補助記憶装置102又は画像形成装置20の補助記憶装置203から取得し、印刷を実行する。なお、ダイレクト印刷の場合、クライアントPC60はユーザからダイレクト印刷要求のあった印刷ジョブを直接、画像形成装置20に送信し、印刷させる。
<ハードウェア構成>
《印刷サーバ10》
図2は本実施形態に係る印刷サーバの一例のハードウェア構成図である。印刷サーバ10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105とを有する。
印刷サーバ10での処理を実現するプログラム110は、CD−ROM等の記録媒体101によって提供される。プログラム110を記録した記録媒体101がドライブ装置100にセットされると、プログラム110が記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。ただし、プログラム110は、記録媒体101により配布される他、インタフェース装置105を介してダウンロードにより配布してもよい。
補助記憶装置102は、インストールされたプログラム110を格納すると共に、必要なファイルやデータ等を格納する。補助記憶装置102はHDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発メモリである。
メモリ装置103はプログラム110の起動指示があった場合に、補助記憶装置102から読み出されたプログラム110を格納する主記憶装置である。メモリ装置103は、例えばDIMM(Dual Inline Memory Module)、SO−DIMM等である。CPU104は、メモリ装置103に格納されたプログラム110に従って印刷サーバ10に係る処理を実行する。インタフェース装置105は、ネットワークN1に接続するためのインタフェース(例えば、イーサネット(登録商標))のネットワークカードである。
《画像形成装置20》
図3は本実施形態に係る画像形成装置の一例のハードウェア構成図である。画像形成装置20は、CPU201、メモリ202、補助記憶装置203、ネットワークI/F204、画像出力部205、画像処理部206、外部デバイスI/F207、表示部208、操作部209を有する。
画像形成装置20で後述の拡張機密印刷の機能を実現する拡張機密印刷プログラム81などのプログラムは、記録媒体120から直接実行される場合と、HDD等の不揮発性の補助記憶装置203に記録(インストール)されてから実行される場合とがある。
補助記憶装置203はインストールされたプログラムを格納すると共に、必要なファイルやフォントデータ、画像データ等を格納する。メモリ202は、プログラムの起動指示があった場合に、記録媒体120又は補助記憶装置203からプログラムを読み出して格納する。
CPU201は、メモリ202に格納されたプログラムに従って画像形成装置20に係る機能を実現する。ネットワークI/F204は、ネットワークに接続するためのインタフェースとして用いられる。
表示部208は、LCD(Liquid Crystal Display)等によって構成され、操作画面やメッセージ等を表示させる。操作部209は、ハード的なボタン(キー)によって構成され、ユーザによる操作入力を受け付ける。また、表示部208はタッチパネルを有することで、操作パネルとして一体的に構成してもよい。画像処理部206は、印刷ジョブを出力(印刷)等する際に必要とされる各種の画像処理を実行する。画像出力部205は印刷ジョブの出力(印刷)を行う。
外部デバイスI/F207は、例えば認証情報の入力に用いられるRFIDリーダ/ライタ40と接続するためのインタフェースであり、例えば、USBポート(USBホストインタフェース)又はシリアルボート等によって構成される。RFIDリーダ/ライタ40は、カード50から情報を読み取るいわゆるカード読み取り装置であり、外部デバイスI/F207と接続可能なハードウェアインタフェース(例えば、USBコネクタ又はシリアルインタフェース等)を備える。
ただし、RFIDリーダ/ライタ40は画像形成装置20に内蔵されてもよい。RFIDリーダ/ライタ40は、接触型又は非接触型のいずれであってもよい。カード50はICカードに限定されず、磁気カード等、少なくとも各カードに一意なカードID(カード番号)が記録可能なものであればよい。カードIDは一般的に、Universal ID又はCard Serial Numberと呼ばれる。カード50の具体例の一部としては、Proximityカード、Mifareカード、Java(登録商標)Card等が挙げられる。
本実施形態においてカード50は各ユーザに配布されているものとする。ただし、運用上必要とされるセキュリティのレベルに応じて、複数のユーザによって一枚のカード50を共用させてもよい。なお、各ユーザに配布されるカード50は一種類に限定されるものではない。上記のようにRFIDリーダ/ライタ40は、USB等によって簡便に画像形成装置20に接続することが可能である。したがって、カード50の種類(Proximityカード、Mifareカード、Java(登録商標)Card等)に応じて複数のRFIDリーダ/ライタ40を画像形成装置20に同時に接続させてもよい。この場合、複数種類のカード50を同時に利用することができる。
また、外部デバイスI/F207には記録媒体装着部19が接続されている。記録媒体装着部19は記録媒体120を装着し、記録媒体120に記憶されたデータを読み出しCPU201又はメモリ202に送信する。記録媒体120は、例えば、USBメモリ、SDカードメモリ、CD−ROM等である。
記録媒体120には例えば拡張機密印刷プログラム81及び追加プログラム82が記憶されている。ユーザが記録媒体装着部19に記録媒体120を装着すると、例えばCPU201は割り込みを受け付けたり、ユーザの操作を受け付けたりすることで、記録媒体120に記憶された拡張機密印刷プログラム81及び追加プログラム82を実行する。拡張機密印刷プログラム81を実行することで、画像形成装置20は後述の拡張機密印刷の機能を提供する。
また、追加プログラム82を実行することで、画像形成装置20はRFIDリーダ/ライタ40よりカード50が検出されなくなったというイベントを取得し、印刷の停止を要求すると共に、ユーザをログアウトさせる。つまり、画像形成装置20はユーザが離れると自動的に印刷ジョブの印刷を停止し、ユーザをログアウトさせる。
<ソフトウェア構成>
図4は本実施形態に係る画像形成装置の一例のソフトウェア構成図である。画像形成装置20は、アプリケーション群91と、API92、制御機能群93と、リソース管理部94と、OS95と、デバイスドライバ96と、ハードウェア資源97とを有する。
アプリケーション群91は、RFIDアプリ41、コピーアプリ42、スキャナアプリ43、FAXアプリ44、プリンタアプリ45、蓄積データアプリ46、Webアプリ47、ネットワークアプリ48及びDSDK(Device Software Development Kit)49を有する。これらの各アプリは対応した各種機能を実現させる。
RFIDアプリ41は、カード50の情報を読み込み、また、カード50に情報を書き込むアプリケーションである。蓄積データアプリ46は、補助記憶装置203に蓄積された画像データや印刷データの閲覧や選択機能を提供する。Webアプリ47は、WebサーバにアクセスしてWebサーバが記憶する各種の情報をLCDに表示するブラウザとしての機能を提供する。ネットワークアプリ48は、ネットワークN1を介して接続される印刷サーバ10、認証サーバ30、クライアントPC60などとの通信機能を提供する。
DSDK49は、デバイス組み込み用のJava(登録商標)であるJ2ME(Java 2 Micro Edition)を利用した「Device Software Development Kit」の環境を意味する。具体的にはJava(登録商標)VMのように、ハードウェアやソフトウェアに依存せずにアプリケーションが動作する環境(仮想マシン)である。後述の拡張機密印刷部90を実現するための拡張機密印刷プログラム81は、このDSDK49上で動作するDSDKアプリケーションである。したがって、拡張機密印刷プログラム81はハードウェアやソフトウェアに依存しないで実行できるプログラム言語で記述されている。
また、制御機能群93は、エンジンジョブ制御部51、ファイル制御部52、データ転送制御部53、通信制御部54、認証装置制御部55、ユーザデータ制御部56、システム制御部57、及び、操作制御部58を有する。
エンジンジョブ制御部51は、エンジンI/F71を介して接続されたプリントエンジン76やスキャナエンジン77を制御する。ファイル制御部52は、補助記憶装置203に記憶されている各種のファイルの更新や削除、移動等を制御する。データ転送制御部53は、補助記憶装置203に蓄積されている文書データの配送などの制御を行う。通信制御部54は、ネットワークI/F204を介した通信を制御する。認証装置制御部55は、認証装置I/F74を介して認証装置80を制御する。ユーザデータ制御部56はユーザ情報の管理を行う。システム制御部57は、アプリ管理、セッション管理、システム画面表示、LED表示、リソース管理、割り込みによるアプリ制御などを行う。操作制御部58は、ユーザと本体制御との間の情報伝達手段となる操作部209の制御を行う。
メモリリソース管理部59は、メモリ202の使用状況を監視して、メモリ202の開放又は確保等を行う。エンジンリソース管理部65は、システム制御部57と共にシステムの制御及びハードウェア資源97の管理を行う。
操作制御部58は、操作部209からキー押下やタッチ操作をキーイベントとして取得し、取得したキーに対応したキーイベント関数をシステム制御部57に送信する。また、システム制御部57は、アプリケーション群91又は制御機能群93からの要求により描画関数を呼び出して操作部209に各種画面を描画出力する。
また、システム制御部57は、ハードウェア資源97で発生した割り込みを例えばデバイスドライバ96経由で検出する。デバイスドライバ96は、割り込みの種類に応じたイベント関数をシステム制御部57に送信する。システム制御部57は、イベント関数に応じて描画関数を呼び出して操作部209に画面を描画したり、また、イベント関数に応じてアプリケーション群91を呼び出したりする。
アプリケーション群91は、API92を介して、制御機能群93に機能の提供を要求する。制御機能群93は、アプリケーション群91からの処理要求を解釈して、ハードウェア資源97の獲得要求を発生させる。メモリリソース管理部59又はエンジンリソース管理部65は、獲得要求を調停する。なお、OS(例えば、LINUX(登録商標))95は、アプリケーション群91、制御機能群93及びリソース管理部94の各ソフトウェアをプロセスとして並列実行する。
また、デバイスドライバ96は、エンジンI/F71、RFID I/F72、操作部I/F73、認証装置I/F74、及び、新規デバイスI/F75を利用して、ハードウェア資源97に対し処理を要求する。なお、RFIDリーダ/ライタ40は、カード50と非接触又は接触してカード50の情報を読み出す。認証装置80は、例えば、パスワードを入力するためのハードキーや生体情報を取得する装置である。新規デバイスI/F75は、例えばUSBインタフェースであり、USBインタフェースを備えた各種の新規デバイス83を接続させ、その機能を利用することを可能とする。このような構成により、画像形成装置20は、各アプリケーションで共通に必要な処理を制御機能群93以下のプロセスで一元的に処理することができる。
続いて、追加プログラム82について説明する。
図5は、追加プログラムと拡張機密印刷プログラムとの関係を説明する一例の説明図である。追加プログラム82は、拡張機密印刷プログラム81とは独立したプログラムである。追加プログラム82は、複数あってもよい。このため図6では2つの追加プログラム82を示している。追加プログラム82は、拡張機密印刷プログラム81と同様に、DSDK49上で動作する、ハードウェアやソフトウェアに依存せずに実行可能なプログラム言語で記述されたDSDKアプリケーションである。
追加プログラム82は、拡張機密印刷プログラム81を制御することができる。拡張機密印刷プログラム81の上辺の突起は制御レバーを、追加プログラム82の下辺から延びた突起は制御レバーの制御アームを、それぞれ模式的に形状で示す。システム制御部57は、RFIDリーダ/ライタ40に生じたハードウェア割り込みを検出して、追加プログラム82にイベントを通知する。具体的には、システム制御部57は追加プログラム82そのものを、又は、追加プログラム82が有するカード50のアンセットに応じた関数を呼び出す。追加プログラム82は、呼び出された関数に応じて拡張機密印刷プログラム81を制御する。具体的には、追加プログラム82は拡張機密印刷プログラム81が有する関数を呼び出す。このようにして、追加プログラム82は拡張機密印刷プログラム81の実行を制御することができる。
したがって、画像形成装置20は追加プログラム82を追加することで、既にある拡張機密印刷プログラム81に対して何ら変更を加えることなく、画像形成装置20で発生した各種イベントを取得し、取得したイベントに応じて拡張機密印刷部90に対して印刷の開始および停止などを制御することができる。
<機能ブロック>
図6は本実施形態に係る印刷システムの一例の機能ブロック図である。図6の印刷システム1は、印刷サーバ10を有する態様である。図6の印刷システム1は、クライアントPC60Aからオンデマンド印刷要求が行われ、クライアントPC60Bからダイレクト印刷要求が行われる例を表している。
クライアントPC60Aは、印刷指示受付部61、印刷データ生成部62、印刷要求送信部63を有する。これら各部は、クライアントPC60AにインストールされたプログラムがクライアントPC60AのCPUに実行させる処理により実現される。
印刷指示受付部61は、印刷対象とする文書データの指定を受け付ける。印刷指示受付部61は、また、印刷属性情報(印刷条件又は印刷設定項目とも呼ばれる)を設定させる画面(以下、印刷設定画面という)をクライアントPC60の表示装置に表示させ、印刷設定画面を介して印刷属性情報の設定及び印刷指示の入力を受け付ける。印刷指示受付部61は、更に、印刷設定画面を介して、ユーザの認証情報の入力を受け付ける。認証情報は、認証サーバ30における認証方式に対応したものであればよい。本実施形態においては、ユーザ名及びパスワードであるとする。
印刷データ生成部62は、印刷対象とされた文書データについて、印刷属性情報に基づいて印刷データを生成する。印刷データは、PDL(Page Description Language)によって記述されたデータであり、印刷属性情報をも含む。また、印刷データ生成部62は、印刷指示受付部61が入力を受け付けた認証情報を印刷データに含める(又は印刷データに付与する)。印刷要求送信部63は、印刷データ、印刷属性情報、印刷要求及び認証情報を含む印刷ジョブを印刷サーバ10に送信する。
なお、印刷指示受付部61及び印刷データ生成部62は、例えば、プリンタドライバによって実現される。プリンタドライバは、クライアントPC60Aにインストールされたものであってもよいし、印刷サーバ10等、他のコンピュータにインストールされたものであってもよい。後者の場合、OS(Operating System)によって提供されるプリンタ共有の仕組みを利用すればよい。
印刷サーバ10は、印刷要求受信部11、ジョブ記録部14、ジョブ蓄積部15、ジョブ転送部16、結果受信部17を有する。これら各部は、印刷サーバ10にインストールされたプログラムがCPU104に実行させる処理により実現される。
印刷要求受信部11は、クライアントPC60Aより送信される印刷ジョブを受信する。ジョブ記録部14は、印刷ジョブのジョブIDを生成し、印刷ジョブをジョブIDに関連付けてジョブ蓄積部15に記録する。また、ジョブ記録部14は、印刷ジョブより印刷属性情報の一部又は全部を抽出し、抽出された情報を印刷ジョブの書誌情報としてジョブIDに関連付けてジョブ蓄積部15に記録する。例えば、書誌情報には、印刷条件(ファイル名、蓄積日時、カラー印刷であるかモノクロ印刷であるかの別、用紙サイズ等)とユーザ名。ページ数、等が含まれる。ジョブ蓄積部15は、補助記憶装置102において、印刷ジョブを記憶するための記憶領域(例えば、テーブルやフォルダ等)である。
ジョブ転送部16は、画像形成装置20からの要求に応じ、ジョブ蓄積部15に蓄積(記録)されている印刷ジョブを画像形成装置20に転送する。なお、ジョブ転送部16は、書誌情報を送信すること、印刷ジョブを送信すること、書誌情報及び印刷ジョブを送信すること等、ジョブ蓄積部15の情報を選択的に読み出すことができる。結果受信部17は、印刷ジョブの実行結果(印刷ジョブの成否を示す情報)を画像形成装置20より受信し、ジョブ蓄積部15に蓄積されている印刷ジョブを削除する。
画像形成装置20は、拡張機密印刷部90、ログイン管理部300、印刷部37、対応情報記憶部23、投入ジョブ履歴保存部29、印刷キュー38を有する。また、拡張機密印刷部90は、カードID取得部21、認証制御部22、ジョブ取得部24、印刷制御部25、結果送信部26、投入ジョブ取得部27、投入ジョブID付与部28、印刷停止要求部35、投入ジョブステータス取得部36を有する。拡張機密印刷部90は、記録媒体120に記憶された拡張機密印刷プログラム81をCPU201が実行することで実現される。
また、ログイン管理部300は、画像形成装置20のCPU201が追加プログラム82を実行することで実現される。ログイン管理部300についは後述する。
カードID取得部21は、RFIDリーダ/ライタ40がカード50より読み取ったカードIDをRFIDリーダ/ライタ40より取得する。認証制御部22は、カードIDに対応するユーザ名及びパスワードを対応情報記憶部23より取得し、取得されたユーザ名及びパスワードに基づく認証を認証サーバ30に実行させる。
対応情報記憶部23は、補助記憶装置203において、カードIDとユーザ名及びパスワードとの対応情報を記憶するための記憶領域(例えば、テーブル)である。図7は、対応情報記憶部に記録されている対応情報の一例の構成図である。図7の対応情報記憶部23には、ユーザ名、カードID、及びパスワードが対応付けられて(関連付けられて)記録されている。したがって、認証制御部22は、カレントカードIDに対応付けられているユーザ名及びパスワードを対応情報記憶部23より取得することにより、カードIDをユーザ名及びパスワードに変換する。
ジョブ取得部24は、印刷サーバ10に蓄積されている印刷ジョブを取得する。ジョブ表示部241は、ジョブ取得部24が取得した印刷ジョブのジョブリストを表示部208に表示する。選択受付部242は、ユーザが選択した印刷ジョブを受け付ける。
投入ジョブID付与部28は、選択受付部242によって受け付けられたユーザが選択した印刷ジョブごとに一意な識別子(投入ジョブID)を付与し、投入ジョブ履歴保存部29に投入ジョブ履歴情報を保存する。投入ジョブ履歴保存部29は、補助記憶装置203において、投入ジョブID、投入時刻、処理状態を含む投入ジョブ履歴情報を保存するための記憶領域である。図8は、投入ジョブ履歴保存部に保存されている投入ジョブ履歴情報の一例の構成図である。図8の投入ジョブ履歴保存部29には、投入ジョブID、投入時刻、処理状態が対応付けられて保存されている。投入ジョブIDはユーザが選択した印刷ジョブに付与された一意な識別子である。投入時刻は印刷ジョブを投入した時刻である。処理状態は画像形成装置20の印刷エンジンにおける該当する印刷ジョブの処理状態である。
印刷制御部25は、投入ジョブID付与部28により投入ジョブIDが付与された印刷ジョブを印刷部37に実行させる。印刷部37は画像形成装置20の内外より投入される印刷ジョブの印刷データを待ち受け、受信した印刷データを印刷キュー38に一時的に保存する。例えば印刷部37は画像形成装置20内の印刷制御部25から印刷ジョブの印刷データを投入される。また、印刷部37は画像形成装置20の外のクライアントPC60Bからダイレクト印刷要求のあった印刷ジョブの印刷データを投入される。印刷部37は並行して、印刷キュー38に一時的に保存された印刷データに関して、適切な順序及びタイミングで印刷用紙への書き込み及び排紙を実行する。印刷部37は投入ジョブIDを指定して印刷ジョブを一時停止/再開/停止する要求を受け付けることができる。
印刷キュー38は印刷部37が複数の印刷データを適切に処理するために、印刷データを一時的に保存する記憶部である。結果送信部26は、印刷ジョブの実行結果を印刷サーバ10に送信する。
投入ジョブ取得部27は投入ジョブ履歴保存部29に保存されている投入ジョブ履歴情報を取得する。投入ジョブ表示部271は投入ジョブ取得部27が取得した投入ジョブ履歴情報を表示部208に表示する。選択受付部272は、投入ジョブ表示部271が表示した投入ジョブ履歴情報から1つ以上の投入ジョブの選択を受け付ける。選択受付部272は選択を受け付けた投入ジョブに該当する印刷ジョブの印刷停止要求を、印刷停止要求部35に対して行う。
印刷停止要求部35は選択受付部272から印刷停止要求のあった印刷ジョブの停止を画像出力部205に要求する。投入ジョブステータス取得部36は画像形成装置20の印刷エンジンにおける印刷ジョブの処理状態を監視する。投入ジョブステータス取得部36は拡張機能印刷部90から印刷部37に投入された印刷ジョブ群の処理状態を印刷部37から取得すると共に、処理状態に更新のあった場合に投入ジョブ履歴保存部29の該当する印刷ジョブの処理状態を更新する。
認証サーバ30は、認証処理部31及びユーザDB32を有する。認証処理部31及びユーザDB32は、認証サーバ30にインストールされたプログラムが、認証サーバ30のCPUに実行させる処理によって実現される。認証処理部31は、画像形成装置20からの認証要求に応じ、ユーザDB32にユーザごとに予め登録されている認証情報を利用して認証処理を実行する。ユーザDB32は、ユーザごとに認証情報が記録されているデータベースである。ユーザDB32には、認証情報の他にユーザの属性情報が記録されていてもよい。例えば、画像形成装置20の機能に関する権限情報等がユーザごとに記録されていてもよい。
図9は、ログイン管理部と拡張機密印刷部との一例の説明図である。図9では、説明上、主に使用する機能のみを示す。本実施形態ではログイン、ログアウトをシステム制御部57が管理するものとする。ログインとログアウトの管理は、画像形成装置20のシステム側(例えば、機能制御群93)が行えばよく、システム制御部57は一例である。
システム制御部57は、セッション管理部571とイベント検出部572とを有する。セッション管理部571は、ユーザがログインしてからログアウトするまでの間、セッションIDに対応づけてユーザの処理を管理する。ユーザがログインすると、セッション管理部571は、一意のセッションIDを生成し、セッションIDに対応づけて、ユーザのユーザ名、パスワード、カードID、ログイン時刻等をセッションテーブルに登録する。また、ユーザがログアウトすると、セッション管理部571は、セッションテーブルにログアウト時刻等を登録し、そのセッションIDを無効化する。無効化とは、例えばセッションIDに基づくユーザの処理を受け付けないようにすることを言い、無効化は、例えばセッションテーブルにログアウトしたことを示すフラグビットを立てることで行われる。
なお、本実施形態では「ユーザのログイン」は、認証制御部22が認証サーバ30から認証が成功したとの認証結果を受信し、システム制御部57がログイン処理を実行することで行われる。また、「ユーザがログアウトする」とは、セッションIDが無効化されたことをいう。一般には、ユーザが、所定の画面から手動でログアウトする操作を操作部209から入力することで、セッション管理部571がセッションIDを無効化する。本実施例では、ログアウト要求部302がセッション管理部571にログアウトを要求することで、セッションIDを無効化することができる。なお、このようなログイン、ログアウトの処理は一例であって、画像形成装置20は好適なログイン、ログアウト処理を適宜、搭載することができる。
また、イベント検出部572は、RFIDリーダ/ライタ40に生じたカード50のアンセットというハードウェア割り込みを検出して、追加プログラム82にカード50がアンセットされたというイベントを通知する。
また、ログイン管理部300は、印刷停止要求部301とログアウト要求部302を有する。印刷停止要求部301は、印刷制御部25に印刷の停止を要求する。また、ログアウト要求部302は、イベント検出部572から、カード50がアンセットされたというイベントの通知を受け付けると、セッション管理部571に現在、ログインしているユーザのログアウトを要求する(セッションIDの無効化)。
なお、印刷サーバ10を設けずに、画像形成装置20内に印刷ジョブを蓄積する場合の機能ブロック図は、図10に示すようになる。図10は本実施形態に係る印刷システムの他の例の機能ブロック図である。図10では、図6のジョブ転送部16と結果受信部17とが含まれない。しかしながら、それ以外の機能は印刷サーバ10がある場合と同様であるので、以下では、印刷システム1が印刷サーバ10を有する態様で説明する。
<処理の詳細>
以下では、本実施形態に係る印刷システム1の処理の詳細について説明する。
《ジョブ蓄積時》
図11を用いて、ジョブ蓄積時の処理手順を説明する。図11は、印刷システムが印刷ジョブを蓄積する手順を示す一例のフローチャート図である。ユーザは、クライアントPC60Aを操作している。
ステップS101において、印刷指示受付部61は、印刷対象の文書データの選択を受け付け、印刷設定画面をクライアントPC60Aの表示装置に表示させる。印刷指示受付部61は、印刷設定画面を介して印刷属性情報及び認証情報(ユーザ名及びパスワード)の入力を受け付ける。なお、印刷属性情報と認証情報とを入力する画面は別であってもよい。すなわち、ここでいう印刷設定画面は、複数の画面の集合であってもよい。
図12は、印刷設定画面を構成する認証情報入力画面の一例のイメージ図である。図12において、認証情報入力画面610は、ユーザ名入力領域611及びパスワード入力領域612を有する。印刷指示受付部61は、認証情報入力画面610を介してユーザ名及びパスワードの入力を受け付ける。
ステップS102において、印刷データ生成部62は、印刷対象とされた文書データの印刷データを印刷属性情報に従って生成し、入力されたユーザ名及びパスワードを当該印刷データに記録する。ステップS103において、印刷要求送信部63は、生成された印刷データを含む印刷ジョブを印刷サーバ10に送信する。なお、印刷ジョブの送信先の印刷サーバ10の識別情報(例えば、IPアドレス)は、予めクライアントPC60Aの記憶装置に記録されている。
ステップS201において、当該印刷ジョブは、印刷サーバ10の印刷要求受信部11によって受信される。ステップS205において、ジョブ記録部14は、ジョブIDを生成し、印刷ジョブを当該ジョブIDに関連付けてジョブ蓄積部15に記録する。また、ジョブ記録部14は、印刷ジョブより印刷属性情報を抽出し、抽出された印刷属性情報を印刷ジョブの書誌情報としてジョブIDに関連付けてジョブ蓄積部15に記録する。
印刷ジョブの蓄積後、ユーザは、所望の画像形成装置20に移動する。すなわち、印刷ジョブの蓄積時において出力先(印刷先)の画像形成装置20は特定されていないため、印刷サーバ10に対応している画像形成装置20であれば、自らに都合の良い画像形成装置20を出力先として選択することができる。
《ジョブ実行時》
ユーザが、所望の画像形成装置20に移動し、印刷ジョブを実行する際の処理手順について説明する。図13は、印刷システムが印刷ジョブを実行する手順を示す一例のフローチャート図である。
ステップS401において、ユーザは画像形成装置20へのログインを目的としてRFIDリーダ/ライタ40にカード50をセットする。カードID取得部21は、RFIDリーダ/ライタ40がカードより読み取ったカードID(以下、カレントカードIDという)をRFIDリーダ/ライタ40より取得し、メモリ202に記録する。
なお、RFIDリーダ/ライタ40へのカード50のセットとは、RFIDリーダ/ライタ40へカード50を挿入したり、カード50を翳したりといったように、カード50に記録されている情報を、RFIDリーダ/ライタ40が読み取れる状態にすることをいう。また、RFIDリーダ/ライタ40からのカード50のアンセットとは、RFIDリーダ/ライタ40からカード50をアンセットしたり、カード50を処理距離以上離したりといったように、RFIDリーダ/ライタ40がカード50に記録されている情報を読み取れない状態にすることをいう。
ステップS402において、認証制御部22は、カレントカードIDを、対応情報記憶部23に記録されている対応情報を利用して、ユーザの認証情報(ユーザ名及びパスワード)に変換する。
ステップS403において、認証制御部22は、変換された認証情報を含む認証要求を認証サーバ30に送信する。認証の要求先とする認証サーバ30の識別情報(例えば、IPアドレス)は、予め補助記憶装置203に記録されている。
ステップS301において、認証サーバ30の認証処理部31は、画像形成装置20から認証要求を受信する。ステップS302において、認証処理部31は認証要求に含まれている認証情報とユーザDB32にユーザごとに記録されている認証情報とを照合することにより認証を行う。ステップS303において、認証処理部31は、認証結果(認証の成否を示す情報)を印刷サーバ10に返信する。
ステップS404において、画像形成装置20の認証制御部22は、認証サーバ30から認証結果を受信する。認証に失敗した場合(S405でNo)、認証制御部22はログインを拒否する。この場合、ユーザは画像形成装置20を利用できない。
認証が成功した場合(S405でYes)、認証制御部22はログインを認める。認証制御部22はステップS406において、システム制御部57にログイン処理を要求する。ログイン処理の手順は後述する。
ログインの成功に応じ、ジョブ取得部24はステップS407において、ログインユーザのユーザ名を指定して、蓄積されている印刷ジョブのジョブリストの取得要求を印刷サーバ10に送信する。印刷ジョブの取得先の印刷サーバ10の識別情報(例えば、IPアドレス)は、予め補助記憶装置203に登録されている。また、複数の印刷サーバ10の登録を可能とし、全ての印刷サーバ10を印刷ジョブの取得先としてもよいし、複数の印刷サーバ10の中から印刷ジョブの取得先とする印刷サーバ10をユーザに選択させるようにしてもよい。
ステップS211において、印刷サーバ10のジョブ転送部16は、ジョブリストの取得要求を受信する。ステップS212において、ジョブ転送部16は当該取得要求において指定されているユーザ名に係る印刷ジョブのジョブリストをジョブ蓄積部15より取得する。なお、当該ジョブリストにはエントリが一つしか存在しない場合も有る。ステップS213において、ジョブ転送部16は、取得されたジョブリストを画像形成装置20に返信する。なお、ジョブリストの各印刷ジョブには、関連付けられているジョブIDが付与される。
ステップS408において、画像形成装置20のジョブ取得部24は、ジョブリストを受信する。ステップS409において、ジョブ表示部241はジョブリストを表示部208に表示させる。
図14は、印刷データ一覧画面の一例のイメージ図である。印刷データ一覧画面520は、印刷データ一覧表示領域521、印刷ボタン522、及び削除ボタン523等を有する。
印刷データ一覧表示領域521には、ジョブ蓄積部15に保存されている印刷ジョブのうち、ログインユーザに係る印刷データの文書名、蓄積日時、ページ数等が一覧に表示される。ユーザが1つ以上の印刷ジョブを選択(押下)すると、操作制御部58がこれを受け付け、システム制御部57が選択された印刷ジョブを反転表示する。この状態で、ユーザが印刷ボタン522を選択(押下)すると、操作制御部58がこれを受け付けシステム制御部57に通知し、システム制御部57が選択受付部242に通知する。また、ユーザが削除ボタン523を押下した場合、ジョブ取得部24が印刷サーバ10に削除する要求することもできる。
図13に戻り、ステップS410において、ユーザによって、当該一覧の中から印刷対象とする印刷ジョブが操作部209を介して一つ以上選択されると、ジョブ取得部24はステップS411において、選択された印刷ジョブのジョブIDを指定して印刷データの取得要求を印刷サーバ10に送信する。
ステップS214において、印刷サーバ10のジョブ転送部16は、印刷データの取得要求を受信する。ステップS215において、ジョブ転送部16は当該取得要求において指定されているジョブIDに関連付けられている印刷データをジョブ蓄積部15より取得する。ステップS216において、ジョブ転送部16は、取得された印刷データを画像形成装置20に返信する。
ステップS412において、画像形成装置20のジョブ取得部24は印刷データを印刷サーバ10から受信する。ステップS413において、投入ジョブID付与部28は選択受付部242によって受け付けられたユーザが選択した印刷ジョブごとに投入ジョブIDを付与する。ステップS414において、投入ジョブID付与部28は投入ジョブ履歴保存部29に保存されている投入ジョブ履歴情報を更新する。
ステップS415において、印刷制御部25は、投入ジョブID付与部28により投入ジョブIDが付与された印刷ジョブを印刷部37に実行させる。印刷部37は画像形成装置20の内外より投入される印刷ジョブの印刷データを待ち受け、受信した印刷データを印刷キュー38に一時的に保存する。印刷部37は並行して、印刷キュー38に一時的に保存された印刷データに関して、適切な順序及びタイミングで印刷用紙への書き込み及び排紙を実行する。
ステップS416において、結果送信部26は印刷部37において印刷データの印刷が完了すると、印刷された印刷データに係るジョブIDを指定して、印刷の完了を示すメッセージを印刷サーバ10に送信する。
ステップS217において、印刷サーバ10の結果受信部17は、印刷の完了を示すメッセージを受信する。ステップS218において、結果受信部17は当該メッセージに指定されているジョブIDに対応する印刷ジョブをジョブ蓄積部15より削除する。印刷の完了に応じて印刷ジョブが削除されることにより、ジョブ蓄積部15における記憶領域の消費量の増大を抑制することができる。但し、印刷ジョブの削除は定期的に行われてもよい。この場合、ステップS218のタイミングでは、削除対象であることを示すフラグ情報を印刷ジョブに付与しておけばよい。定期的な削除処理では、当該フラグ情報が付与されている印刷ジョブが削除されればよい。
ステップS219において、結果受信部17は、印刷の完了を示すメッセージに指定されているジョブIDに対応する書誌情報を更新する。例えば、結果受信部17は、当該書誌情報に対し、印刷された日時等を追加する。
なお、上記では、クライアントPC60において入力された認証情報が印刷ジョブに含められて印刷サーバ10に送信される例について説明した。しかし、印刷ジョブと認証情報との転送は別々に行われてもよい。例えば、先に認証情報が転送され、認証が成功した場合に印刷データが転送されるようにしてもよい。すなわち、認証情報は、ジョブ記録部14によって印刷ジョブ等の蓄積が実行される前までに転送されればよい。
図15は画像形成装置の投入ジョブステータス取得手順を示す一例のフローチャートである。図15の投入ジョブステータス取得手順は投入ジョブ履歴保存部29に保存されている投入ジョブ履歴情報を最新の状態に更新するために定期的に実行される。
ステップS420において、投入ジョブステータス取得部36は初期値0のAに1を設定する。ステップS421において、投入ジョブステータス取得部36は画像形成装置20の印刷エンジンにおけるA番目の印刷ジョブの処理状態(ステータス)を取得する。
ステップS422において、投入ジョブステータス取得部36はステップS421で取得したA番目の印刷ジョブの処理状態が、投入ジョブ履歴保存部29に保存されているA番目の印刷ジョブの処理状態から変化しているか否かを判定する。
投入ジョブ履歴保存部29に保存されているA番目の印刷ジョブの処理状態から変化していれば、投入ジョブステータス取得部36はステップS423において、投入ジョブ履歴保存部29に保存されているA番目の印刷ジョブの処理状態を、ステップS421で取得したA番目の印刷ジョブの処理状態に更新する。
ステップS424において、投入ジョブステータス取得部36はAに1を加算する。ステップS425において、投入ジョブステータス取得部36はA番目の印刷ジョブの処理状態が投入ジョブ履歴保存部29に保存されているか、言い換えれば全ての投入ジョブについてステップS422のチェックが完了したか否かを判定する。
全ての投入ジョブについてステップS422のチェックが完了していれば(S425でYes)、投入ジョブステータス取得部36は図15の処理を終了する。ステップS422のチェックが完了していない投入ジョブが残っていれば(S425でNo)、投入ジョブステータス取得部36はステップS421に戻り、処理を続ける。
図16は画像形成装置の投入ジョブ停止手順を示す一例のフローチャートである。図16の投入ジョブ停止手順は投入ジョブをリスト表示し、投入ジョブリストから1つ以上の投入ジョブの選択を受け付け、受け付けた投入ジョブの印刷停止要求を行う。なお、図16の処理はログインした状態で行われることを想定している。
ステップS430において、投入ジョブ取得部27は投入ジョブ履歴保存部29から投入ジョブ履歴情報を投入ジョブリストとして取得する。ステップS431において、投入ジョブ表示部271は投入ジョブ取得部27が取得した投入ジョブリストを表示部208に表示する。
ステップS432において、選択受付部272は、投入ジョブ表示部271が表示した投入ジョブ履歴情報から1つ以上の投入ジョブの選択を受け付ける。選択受付部272はステップS433において、選択を受け付けた投入ジョブに該当する印刷ジョブの印刷停止要求を、印刷停止要求部35に対して行う。
ステップS434において、印刷停止要求部35は選択受付部272から印刷停止要求のあった印刷ジョブの停止を画像出力部205に要求する。印刷部37は印刷停止要求部35から印刷停止要求のあった印刷ジョブを停止する。投入ジョブステータス取得部36は画像形成装置20の印刷エンジンにおける印刷ジョブの処理状態を監視し、印刷停止要求のあった印刷ジョブが削除されるように投入ジョブ履歴保存部29の投入ジョブ履歴情報を更新する。
図17は投入ジョブ一覧画面の一例のイメージ図である。投入ジョブ一覧画面530は投入ジョブ一覧表示領域531、キャンセル(停止)ボタン532等を有する。投入ジョブ一覧表示領域531は、印刷キュー38に保存されている投入(印刷)ジョブのうち、ログインユーザに係る印刷データの文書名、蓄積日時、ページ数、処理状態等が投入ジョブ一覧として表示される。
ユーザが1つ以上の印刷ジョブを選択(押下)すると、操作制御部58がこれを受け付け、システム制御部57が選択された印刷ジョブを反転表示する。この状態で、ユーザがキャンセルボタン532を選択(押下)すると、操作制御部58がこれを受け付けシステム制御部57に通知し、システム制御部57が選択受付部272に通知する。このようにユーザは投入ジョブ一覧画面530から投入ジョブの処理状態の確認と、投入ジョブの印刷停止の指示とを行うことができる。
《ログイン処理》
図18は、ログイン処理の手順を示す一例のシーケンス図である。図13のステップS405において、認証が成功すると、認証制御部22はステップS1010においてAPI92を介してセッション管理部571にログイン処理を要求する。このログイン要求には、ユーザ名、パスワード、及び、カードIDが含まれる。
ステップS1020において、セッション管理部571は、セッションIDを生成し、セッションテーブルにセッションID、ユーザ名、パスワード、及び、カードIDを登録する。ステップS1030において、セッション管理部571は、セッションを開始すると、ログイン処理が完了した旨の完了通知を認証制御部22に通知する。完了通知にはセッションIDを含められる。
認証制御部22は完了通知を取得すると、印刷ジョブの実行が許可されたものとして、S407以降の処理をジョブ取得部24等に要求する。拡張機密印刷部90は、印刷を実行する際、例えばこのセッションIDをシステム制御部57に通知する。セッション管理部571はセッションIDが有効であれば、拡張機密印刷部90からの処理要求を許可して、印刷ジョブを実行する。
<カード50のアンセット>
図19を用いて、拡張機密印刷の実行中(ログイン中)に、ユーザが画像形成装置20を離れる場合について説明する。図19は、ログアウト処理の手順を示す一例のシーケンス図である。図19のシーケンス図は、カード50のアンセットをトリガーに、画像形成装置20がログアウト処理する手順を示している。
画像形成装置20は、例えば印刷の実行中や実行指示の受け付けを待っている段階等である。ユーザが画像形成装置20を離れることで、カード50はRFIDリーダ/ライタ40からアンセットされる。
ステップS2010において、RFIDリーダ/ライタ40のデバイスドライバ96は、イベント検出部572にカードがアンセットされたというイベントを通知する。RFIDリーダ/ライタ40のデバイスドライバ96は例えばイベント関数disconnect()をイベント検出部572に通知する。
ステップS2020において、イベント検出部572は、このイベント関数に応じて追加プログラム82の印刷停止要求部(例えば、disconnectEvent())301を呼び出す。これにより、追加プログラム82はカード50がアンセットされたというイベントの通知を取得したことになる。
ステップS2030において、印刷停止要求部301は、印刷制御部25に印刷停止要求を行う。印刷停止要求部301は、例えば、拡張機密印刷部90が有する関数cancel()を呼び出すことで、印刷停止要求を行う。
印刷停止要求を受けると、印刷制御部25は、図20のフローチャートの処理を印刷停止要求部35に行わせたあと、印刷ジョブの停止を印刷部37に要求する。印刷停止手順は、画像形成装置20が印刷を開始しているか(給紙モータ、感光体ドラム、二次転モータ、定着モータ等、印刷のための一連の制御が始まっているか)否かにより異なる。
すでに印刷部37が印刷を開始している場合、印刷部37は、例えば、操作部209の「クリア/ストップ」 キーが押下された場合と同様の処理を実行するようシステム制御部57に要求する。したがって、システム制御部57は、新たに給紙トレーから用紙を取り出すことなく、既に搬送中の用紙に印刷が完了すると、以降の印刷ジョブを停止する。印刷部37が印刷を開始していない場合、印刷部37は、直ぐに印刷ジョブを停止する。
ステップS2050において、印刷制御部25は、印刷停止要求の処理結果を印刷停止要求部301に通知する。これにより、ログイン管理部300は、印刷が停止されたことを検出する。また、ステップS2060において、印刷停止要求部301は、印刷停止要求の処理結果をRFIDリーダ/ライタ40のデバイスドライバ96に通知する。
印刷停止要求部301が印刷停止要求の処理結果を受け取ると、印刷停止要求部301はステップS2070において、ログアウト要求部302を呼び出す。ログアウト要求部302は、セッション管理部571にログアウト処理を要求する。ログアウト要求部302は、例えば、セッション管理部571が有する関数logout()を呼び出すことで、ログアウトを要求する。
ステップS2080において、セッション管理部571はログアウト処理を行う。セッション管理部571は、例えば、現在ログインしているユーザに対応したセッションテーブルに、ログアウトしたことを示すフラグビットを立てて、セッションテーブルのセッションIDを無効化する。したがって、このユーザはログアウトしたことになる。
ステップS2090において、セッション管理部571は、ログアウト処理の処理結果をログアウト要求部302に通知する。なお、画像形成装置20に印刷データがダウンロードされている場合、システム制御部57はログアウトに伴い該ユーザの印刷データを消去する。印刷サーバ10が印刷システム1に含まれない場合、システム制御部57は印刷データを削除しない。
図20は印刷ジョブの停止処理の手順を示す一例のフローチャート図である。図20の印刷ジョブの停止処理手順はログアウト処理を行うとき、投入ジョブ履歴保存部29に保存されている投入ジョブ履歴情報を参照することで、印刷キュー38に保存されている印刷ジョブのうち、停止すべき印刷ジョブを選択的に停止できる。
ステップS441において、印刷停止要求部35は初期値0のAに1を設定する。ステップS442において、印刷停止要求部35は投入ジョブ履歴保存部29の投入ジョブ履歴情報を参照し、A番目の印刷ジョブの処理状態(ステータス)を取得する。
ステップS443において、印刷停止要求部35はステップS442で取得したA番目の印刷ジョブの処理状態が、印刷前(印刷待ち)であるか否かを判定する。ステップS442で取得したA番目の印刷ジョブの処理状態が、印刷前であれば、印刷停止要求部35はステップS444において、ステップS442で取得したA番目の印刷ジョブを停止すべき印刷ジョブと判定する。
ステップS442で取得したA番目の印刷ジョブの処理状態が、印刷前でなければ、印刷停止要求部35はステップS444の処理を行わない。ステップS445において、印刷停止要求部35はAに1を加算する。ステップS446において、印刷停止要求部35はA番目の印刷ジョブの処理状態が投入ジョブ履歴保存部29に保存されているか、言い換えれば全ての投入ジョブについてステップS443のチェックが完了したか否かを判定する。
全ての投入ジョブについてステップS443のチェックが完了していれば(S446でYes)、印刷停止要求部35は図20の処理を終了する。ステップS443のチェックが完了していない投入ジョブが残っていれば(S446でNo)、印刷停止要求部35はステップS442に戻り、処理を続ける。
<まとめ>
このように、ユーザがカード50をRFIDリーダ/ライタ40からアンセットすることをトリガーに、画像形成装置20はユーザに関連する印刷ジョブの印刷停止処理とログアウト処理とを一連の処理として実行する。したがって、ユーザは急な用事があっても、カード50をアンセットして画像形成装置20の前から立ち去るだけで印刷ジョブのセキュリティを確保することができる。
第1の実施形態に係る通信システム1によれば、ユーザに関連する印刷ジョブを選択的に停止することができるので、オンデマンド印刷における印刷ジョブの停止の利便性を向上させることができる。
[第2の実施形態]
第2の実施形態は、第1の実施形態で示した図6の印刷システム1の構成に、直接印刷フィルター部39を追加すると共に、投入ジョブ履歴保存部29に保存されている投入ジョブ履歴情報を拡張してものである。第2の実施形態は、第1の実施形態と一部を除き同様であるため、説明を適宜省略する。
図21は本実施形態に係る印刷システムの他の例の機能ブロック図である。図21の印刷システム1は、図6の構成に加え、画像形成装置20の拡張機能印刷部90に直接印刷フィルター部39が追加されている。
直接印刷フィルター部39は拡張機能印刷部90を介さずにクライアントPC60Bからダイレクト印刷要求のあった印刷ジョブを補足し、その印刷ジョブの情報を投入ジョブ履歴保存部29に保存する。また、直接印刷フィルター部39は補足した印刷ジョブを印刷部37に送信する。
また、投入ジョブ履歴保存部29に保存される投入ジョブ履歴情報は図22のように拡張される。図22は、投入ジョブ履歴保存部に保存されている投入ジョブ履歴情報の他の例の構成図である。図22の投入ジョブ履歴保存部29には、投入ジョブID、投入時刻、投入種別、処理状態が対応付けられて保存されている。図22の投入ジョブ履歴情報は投入種別を有する点が図8の投入ジョブ履歴情報と異なる。投入種別は、投入ジョブが拡張機密印刷部90経由のオンデマンド印刷か、クライアントPC60Bから受信したダイレクト印刷かを示している。図8においてオンデマンド印刷は拡張機密印刷で表される。ダイレクト印刷は直接印刷で表される。
図21の印刷システム1において、あるユーザがログイン中(オンデマンド印刷を利用中)に投入されたダイレクト印刷の印刷ジョブは、拡張機密印刷部90が一時停止(印刷待ちの状態のままに)しておく。また、拡張機密印刷部90はログアウト時に図23に示すような印刷ジョブの停止処理を行う。
図23は印刷ジョブの停止処理の手順を示す他の例のフローチャート図である。図23の印刷ジョブの停止処理手順はログアウト処理を行うとき、投入ジョブ履歴保存部29に保存されている投入ジョブ履歴情報を参照することで、印刷キュー38に保存されている印刷ジョブのうち、停止すべき印刷ジョブ(ログアウトするユーザに関連する印刷ジョブ)を選択的に停止する。また、図23の印刷ジョブの停止処理手順ではユーザがログイン中に投入されたダイレクト印刷の印刷ジョブをログアウトから所定時間をおいて、全て再開することで、オンデマンド印刷の印刷ジョブとダイレクト印刷の印刷ジョブとが混じらずに出力できる。
ステップS451において、印刷停止要求部35は初期値0のAに1を設定する。ステップS452において、印刷停止要求部35は投入ジョブ履歴保存部29の投入ジョブ履歴情報を参照し、A番目の印刷ジョブの処理状態(ステータス)を取得する。
ステップS453において、印刷停止要求部35はステップS452で取得したA番目の印刷ジョブの処理状態が、印刷前であるか否かを判定する。ステップS452で取得したA番目の印刷ジョブの処理状態が、印刷前であれば、印刷停止要求部35はステップS454に進み、ステップS452で取得したA番目の印刷ジョブの投入種別が拡張機密印刷であるか否かを判定する。
ステップS452で取得したA番目の印刷ジョブの投入種別が拡張機密印刷であれば、印刷停止要求部35はステップS455において、ステップS452で取得したA番目の印刷ジョブを停止すべき印刷ジョブと判定する。ステップS452で取得したA番目の印刷ジョブの処理状態が印刷前でないか、投入種別が拡張機密印刷でなければ、印刷停止要求部35はステップS455の処理を行わない。
ステップS456において、印刷停止要求部35はAに1を加算する。ステップS457において、印刷停止要求部35はA番目の印刷ジョブの処理状態が投入ジョブ履歴保存部29に保存されているか、言い換えれば全ての投入ジョブについてステップS453、S454のチェックが完了したか否かを判定する。全ての投入ジョブについてステップS453、S454のチェックが完了していれば(S457でYes)、印刷停止要求部35はステップS458以降の処理を行う。ステップS453、S454のチェックが完了していない投入ジョブが残っていれば(S457でNo)、印刷停止要求部35はステップS452に戻り、処理を続ける。
ステップS458において、印刷停止要求部35は所定時間待機する。ステップS459において、印刷停止要求部35は投入種別が拡張機密印刷以外(直接印刷)の投入ジョブの印刷を全て再開させる。
<まとめ>
このように、直接印刷フィルター部39を設けることで、拡張機密印刷の投入ジョブと直接印刷の印刷ジョブとを混じらせずに出力できる。また、直接印刷フィルター部39を設けることで、拡張機密印刷と直接印刷とが混在した環境での印刷ジョブ制御の柔軟性を拡張できる。
第2の実施形態に係る通信システム1によれば、ユーザに関連する印刷ジョブを選択的に停止させたあと、直接印刷の印刷ジョブを出力できるので、拡張機密印刷における印刷ジョブの停止の利便性を更に向上させることができる。
なお、本発明は、出力の形態として印刷を例に挙げているが、印刷に限らず他の出力においても本発明を適用することが出来る。例えば、MFP300による印刷出力の代わりに、プロジェクターによる表示出力であってもよい。つまり、本発明は、印刷・表示等の出力機能を備える機器であれば適用できる。
本発明は、ユーザが機器を利用する利用形態として、機器において認証(ログイン)を行った上で利用する形態と、認証を要せずリモートから利用する形態とがある場合に、機器の利用を適切に制御できる発明である。
また機器は、電子データに基づく印刷や表示等の出力を実行する出力機器であり、本発明により出力機器は、出力機器において認証されたユーザが当該出力機器を操作している(ログイン中の)ときに、当該ユーザの操作により出力が要求されるジョブと当該ユーザ以外の他のユーザにより(他のユーザが利用する利用機器により)出力が要求されるジョブの出力実行および出力停止を適切に制御することが出来る。
また、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載したジョブは印刷ジョブに相当する。ジョブ制御装置は画像形成装置20に相当する。占有状態はログイン状態に相当する。情報保存手段は投入ジョブ履歴保存部29に相当する。識別子付与手段は投入ジョブID付与部28に相当する。占有状態にない他のユーザはダイレクト印刷要求を行ったユーザに相当する。ジョブ保存手段は印刷キュー38に相当する。ジョブ実行手段は印刷部37に相当する。占有状態の解除はログアウトに相当する。制御手段は印刷制御部25、印刷停止要求部35に相当する。投入ジョブ処理状態取得手段は投入ジョブステータス取得部36に相当する。ジョブ制御手段は印刷制御部25に相当する。ジョブ停止要求手段は印刷停止要求部35に相当する。