(57)【要約】【課題】認証サーバがダウンするなどの理由により認証できない場合にも、セキュリティの高い印刷を維持しつつ印刷業務を滞らせないためのネットワークインタフェース装置等を提供する。【解決手段】ユーザがカードリーダ４００にＩＣカード４１０をかざすと、カードリーダ４００はカードＩＤ２１１を読み取り、印刷装置１０００に通知する。ＬＤＡＰサーバ２００は、ＬＤＡＰディレクトリ２０１内から検索したユーザ名を印刷装置１０００に送信する。印刷装置１０００は、カードＩＤ２１１とユーザ名を対応付けて記憶する。ユーザがデータの印刷指示を行うと、プリンタドライバは印刷装置１０００にジョブを送信する。印刷装置１０００に接続されるＮＩＣ７００がジョブを受け取り、ジョブに含まれるユーザ名が記憶したユーザ名と一致する場合にはマスストレージ５００に記憶する。記憶したユーザ名と一致しない場合にはマスストレージ５００に記憶することなく印刷する。【選択図】図２８
2010170451.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置に接続され、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置であって、
読取対象物を読み取ることで読取対象物識別情報を受け付ける読取対象物識別情報受付手段と、
前記読取対象物識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、
前記送信手段で送信した認証要求に応じて得られるユーザ識別情報を含むユーザ情報と前記読取対象物識別情報を対応付けて記憶するユーザ情報記憶手段と、
情報処理装置から送信された印刷データを受け付ける第１の印刷データ受付手段と、
前記第１の印刷データ受付手段で印刷データを受け付けた場合に、当該印刷データに含まれるユーザ識別情報が前記ユーザ情報記憶手段のユーザ識別情報と一致するか否かを判定する第１のユーザ識別情報判定手段と、
前記第１のユーザ識別情報判定手段でユーザ識別情報が一致すると判定された場合に、前記第１の印刷データ受付手段で受け付けた印刷データを印刷データ記憶手段に記憶指示する印刷データ記憶指示手段と、
前記第１のユーザ識別情報判定手段でユーザ識別情報が一致しないと判定された場合に、前記第１の印刷データ受付手段で受け付けた印刷データを前記画像形成装置で印刷するために、出力する第１の出力手段と
を備えることを特徴とするネットワークインタフェース装置。
【請求項２】
前記第１のユーザ識別情報判定手段は、前記認証サーバとの通信ができない場合にユーザ識別情報が一致するか否かを判定することを特徴とする請求項１に記載のネットワークインタフェース装置。
【請求項３】
前記送信手段で前記読取対象物識別情報を送信するに際し前記認証サーバとの通信ができない場合に、当該読取対象物識別情報に対応するユーザ識別情報がユーザ情報記憶手段にあるか否かを判定する第２のユーザ識別情報判定手段と、
前記第２のユーザ識別情報判定手段で前記ユーザ情報記憶手段にユーザ識別情報があると判定される場合、前記印刷データ記憶手段に記憶される前記ユーザ識別情報に対応する印刷データを受け付ける第２の印刷データ受付手段と、
前記第２の印刷データ受付手段で受け付けた印刷データを前記画像形成装置で印刷するために、出力する第２の出力手段と
を備えることを特徴とする請求項１または２に記載のネットワークインタフェース装置。
【請求項４】
前記第２の印刷データ受付手段は、前記送信手段で前記読取対象物識別情報を送信するに際し前記認証サーバとの通信ができる場合に、前記送信手段で送信した認証要求に応じて得られるユーザ情報に含まれるユーザ識別情報に対応する印刷データを前記印刷データ記憶手段から受け付ける
ことを特徴とする請求項３に記載のネットワークインタフェース装置。
【請求項５】
前記認証サーバとの通信ができない場合に、前記第１のユーザ識別情報判定手段でユーザ識別情報が一致するか否かを判定して前記第１の印刷データ受付手段で受け付けた印刷データを記憶する第１のモードと、前記認証サーバとの通信ができる場合に、前記第１のユーザ識別情報判定手段でユーザ識別情報が一致するか否かを判定することなく前記第１の印刷データ受付手段で受け付けた印刷データを前記印刷データ記憶手段に記憶する第２のモードを設定するモード設定手段と
を備えることを特徴とする請求項１乃至４のいずれか１項に記載のネットワークインタフェース装置。
【請求項６】
前記認証サーバと通信可能か否かを判断する通信判断手段とを備え、
前記モード設定手段は、前記通信判断手段で認証サーバと通信可能でない場合に第１のモードに設定し、前記通信判断手段で認証サーバと通信可能である場合に第２のモードに設定する
ことを特徴とする請求項５に記載のネットワークインタフェース装置。
【請求項７】
一定間隔で前記認証サーバと通信可能かどうかを確認する通信確認手段とを備え、
前記通信確認手段で前記認証サーバと通信可能であると判断した場合、前記モード設定手段は前記第１のモードから前記第２のモードに設定を変更する
ことを特徴とする請求項５または６に記載のネットワークインタフェース装置。
【請求項８】
前記ユーザ情報記憶手段は、前記ユーザ識別情報と他のユーザ識別情報とが対応付けて記憶し、
前記第２の印刷データ受付手段は、前記印刷データ記憶手段から前記ユーザ識別情報及び、前記ユーザ識別情報に対応付く他のユーザ識別情報に応じた印刷データ受け付ける
ことを特徴とする請求項３または４に記載のネットワークインタフェース装置。
【請求項９】
画像形成装置に接続され、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置の印刷制御方法であって、
読取対象物を読み取ることで読取対象物識別情報を受け付ける読取対象物識別情報受付ステップと、
前記読取対象物識別情報を含む認証要求を前記認証サーバへ送信する送信ステップと、
前記送信ステップで送信した認証要求に応じて得られるユーザ識別情報を含むユーザ情報と前記読取対象物識別情報を対応付けてユーザ情報記憶手段に記憶指示するユーザ情報記憶指示ステップと、
情報処理装置から送信された印刷データを受け付ける第１の印刷データ受付ステップと、
前記第１の印刷データ受付ステップで印刷データを受け付けた場合に、当該印刷データに含まれるユーザ識別情報が前記ユーザ情報記憶手段のユーザ識別情報と一致するか否かを判定する第１のユーザ識別情報判定ステップと、
前記第１のユーザ識別情報判定ステップでユーザ識別情報が一致すると判定された場合に、前記第１の印刷データ受付ステップで受け付けた印刷データを印刷データ記憶手段に記憶指示する印刷データ記憶指示ステップと、
前記第１のユーザ識別情報判定ステップでユーザ識別情報が一致しないと判定された場合に、前記第１の印刷データ受付ステップで受け付けた印刷データを前記画像形成装置で印刷するために、出力する第１の出力ステップと
を含むことを特徴とする印刷制御方法。
【請求項１０】
ネットワークインタフェース装置において、請求項９に記載の方法を実行させるプログラム。
【請求項１１】
印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置を有する画像形成装置であって、
読取対象物を読み取ることで読取対象物識別情報を受け付ける読取対象物識別情報受付手段と、
前記読取対象物識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、
前記送信手段で送信した認証要求に応じて得られるユーザ識別情報を含むユーザ情報と前記読取対象物識別情報を対応付けて記憶するユーザ情報記憶手段と、
情報処理装置から送信された印刷データを受け付ける第１の印刷データ受付手段と、
前記第１の印刷データ受付手段で印刷データを受け付けた場合に、当該印刷データに含まれるユーザ識別情報が前記ユーザ情報記憶手段のユーザ識別情報と一致するか否かを判定する第１のユーザ識別情報判定手段と、
前記第１のユーザ識別情報判定手段でユーザ識別情報が一致すると判定された場合に、前記第１の印刷データ受付手段で受け付けた印刷データを印刷データ記憶手段に記憶指示する印刷データ記憶指示手段と、
前記第１のユーザ識別情報判定手段でユーザ識別情報が一致しないと判定された場合に、前記第１の印刷データ受付手段で受け付けた印刷データを前記画像形成装置で印刷するために、出力する第１の出力手段と
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを生成する情報処理装置と、ユーザの認証を行う認証サーバと通信可能に接続される画像形成装置、また画像形成装置に設けられるネットワークインタフェース装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来から、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行うことで、印刷装置から印刷データの出力を可能にする所謂「プルプリント（蓄積印刷）」のプリントシステムが提案されている。
【０００３】
「プルプリント（蓄積印刷）」のプリントシステムの例として、特許文献１が挙げられる。特許文献１には、複合機に認証機能を備え、セキュリティを考慮した印刷制御システムが開示されている。
【０００４】
特許文献１は以下の通りである。
【０００５】
特許文献１の図４に示されるように、まず、ユーザは、クライアントＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１００にログインする（（１）−１）。そしてクライアントＰＣ１００からプリンタへの印刷指示を行う（（１）−２）。そして、クライアントＰＣ１００は、生成した印刷データをプリントサーバ２００に送信して（（２）−１）、プリントサーバ２００の所定の格納場所に格納させる（（２）−２）。この時点で印刷装置へは印刷データを送信しない。
【０００６】
次に、クライアントＰＣ１００は、プリントサーバ２００に送信した印刷データの書誌情報データを生成し、該生成した書誌情報データを印刷管理サーバ４００に送信して、印刷管理サーバ４００の所定の格納場所に格納させる（（３）−１）。印刷管理サーバ４００は、クライアントＰＣ１００から書誌情報データファイルが格納されると、該書誌情報データファイルを解析し書誌情報を書誌情報ＤＢに登録する（（３）−２）。次に、複合機３００は、カードリーダによりＩＣカード４１０を検知すると、該ＩＣカード４１０内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として印刷管理サーバ４００に送信する（（４）−１）。印刷管理サーバ４００は、複合機３００より個人認証情報を受信すると、該個人認証情報の認証処理を印刷管理サーバ４００の外部記憶装置上に記憶されるＩＣカード認証用テーブルに基づいて行い、認証結果を複合機３００に返信する（（４）−２）。
【０００７】
次に、複合機３００は、印刷管理サーバ４００から、認証に成功した旨の認証結果（クライアントＰＣ１００のログインユーザＩＤ）を受信すると、印刷管理サーバ４００に印刷データ一覧要求を送信する（（５）−１）。
【０００８】
なお、印刷データ一覧要求には、クライアントＰＣ１００のログインユーザＩＤが含まれているものとする。印刷管理サーバ４００は、複合機３００から印刷データ一覧要求を受信すると、該印刷データ一覧要求に含まれるログインユーザＩＤで書誌情報ＤＢを検索して、該ログインユーザＩＤに対応する印刷データ一覧を生成し、複合機３００に返信する（（５）−２）。複合機３００は、印刷管理サーバ４００から印刷データ一覧を受信すると、該印刷データ一覧を操作部３０８のＵＩ上に表示する。そして、ユーザにより、印刷データが選択され、印刷指示がなされると、複合機３００は、該選択された印刷データの印刷要求（出力指示）を印刷管理サーバ４００に送信する（６）。
【０００９】
印刷管理サーバ４００は、複合機３００から印刷データの印刷要求（出力指示）を受信すると、該出力指示がなされた印刷データの書誌情報を、クライアントＰＣ１００のログインユーザ名，印刷データのタイムスタンプをキーにして書誌情報ＤＢから検索し、該検索した書誌情報から該当する印刷データを格納しているプリントサーバ２００を特定し、該プリントサーバ２００に該当する印刷データの印刷指示を送信する（７）。プリントサーバ２００は、印刷管理サーバ４００から印刷指示を受信すると、該印刷指示に基づいて印刷データを複合機３００に送信して複合機３００で印刷させる（８）。
【００１０】
上記の方法によれば、印刷物が出力されるのは、ユーザが印刷装置からサーバ上に印刷要求を行ったときとなるので、印刷物が長時間放置されることを防ぐことができ、セキュアなプリントシステムを実現できる。
しかし、認証サーバがダウンしているときなど、認証サーバと通信できない場合、認証ができないために印刷することができず、業務を滞らせてしまうという問題があった。
【００１１】
この問題を解決するために、特許文献２に示す技術が開示されている。
【００１２】
特許文献２では、蓄積されている印刷データから、ユーザ情報に合致するジョブのみをユーザに示す機能は備えていないが、一時蓄積された印刷データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能とするプルプリントシステムの一例である。この方法では、認証サーバと通信できない場合に、認証要求をするユーザが印刷しようとしている文書の所有者であるかどうかを、事前に登録しておいた印刷装置自体の認証情報を使用して、ローカル認証をする。
【００１３】
これにより、認証サーバと通信できない場合でも、印刷を行うことができる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００６−９９７１４号公報
【特許文献２】特開２００５−１７３８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記の方法では、従来の認証用サーバ以外にも印刷装置それぞれが認証機能を持つという構成のため、ユーザ情報が様々な場所で管理されてしまう。従って、ユーザ情報を更新する場合に、認証用サーバの情報はもちろん、各印刷装置の認証情報も更新する必要が発生し、近年のようにオフィスに複数台印刷装置を設置している場合など、更新作業が大変煩雑であるという問題がある。また、必ずどこかで認証することを想定しており、全ての認証サーバがダウンしたときには、業務が停滞してしまうという問題がある。
【００１６】
そこで本発明の目的は、例えば認証サーバがダウンするなどの理由により認証できない場合にも、セキュリティの高い印刷を維持しつつ印刷業務を滞らせないための仕組みを提供することである。
【課題を解決するための手段】
【００１７】
前述した目的を達成するために第１の発明は、画像形成装置に接続され、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置であって、読取対象物を読み取ることで読取対象物識別情報を受け付ける読取対象物識別情報受付手段と、前記読取対象物識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、前記送信手段で送信した認証要求に応じて得られるユーザ識別情報を含むユーザ情報と前記読取対象物識別情報を対応付けて記憶するユーザ情報記憶手段と、情報処理装置から送信された印刷データを受け付ける第１の印刷データ受付手段と、前記第１の印刷データ受付手段で印刷データを受け付けた場合に、当該印刷データに含まれるユーザ識別情報が前記ユーザ情報記憶手段のユーザ識別情報と一致するか否かを判定する第１のユーザ識別情報判定手段と、前記第１のユーザ識別情報判定手段でユーザ識別情報が一致すると判定された場合に、前記第１の印刷データ受付手段で受け付けた印刷データを印刷データ記憶手段に記憶指示する印刷データ記憶指示手段と、前記第１のユーザ識別情報判定手段でユーザ識別情報が一致しないと判定された場合に、前記第１の印刷データ受付手段で受け付けた印刷データを前記画像形成装置で印刷するために、出力する第１の出力手段とを備えることを特徴とするネットワークインタフェース装置である。
【００１８】
第１の発明に係るネットワークインタフェース装置によって、例えば認証サーバがダウンするなどの理由により認証できない場合にも、セキュリティの高い印刷を維持しつつ印刷業務を滞らせないことが可能となる。
【００１９】
前記ネットワークインタフェース装置は、前記第１のユーザ識別情報判定手段は、前記認証サーバとの通信ができない場合にユーザ識別情報が一致するか否かを判定する。
【００２０】
前記ネットワークインタフェース装置は、前記送信手段で前記読取対象物識別情報を送信するに際し前記認証サーバとの通信ができない場合に、当該読取対象物識別情報に対応するユーザ識別情報がユーザ情報記憶手段にあるか否かを判定する第２のユーザ識別情報判定手段と、前記第２のユーザ識別情報判定手段で前記ユーザ情報記憶手段にユーザ識別情報があると判定される場合、前記印刷データ記憶手段に記憶される前記ユーザ識別情報に対応する印刷データを受け付ける第２の印刷データ受付手段と、前記第２の印刷データ受付手段で受け付けた印刷データを前記画像形成装置で印刷するために、出力する第２の出力手段とを備える。
【００２１】
前記ネットワークインタフェース装置の前記第２の印刷データ受付手段は、前記送信手段で前記読取対象物識別情報を送信するに際し前記認証サーバとの通信ができる場合に、前記送信手段で送信した認証要求に応じて得られるユーザ情報に含まれるユーザ識別情報に対応する印刷データを前記印刷データ記憶手段から受け付ける。
【００２２】
前記ネットワークインタフェース装置は、前記認証サーバとの通信ができない場合に、前記第１のユーザ識別情報判定手段でユーザ識別情報が一致するか否かを判定して前記第１の印刷データ受付手段で受け付けた印刷データを記憶する第１のモードと、前記認証サーバとの通信ができる場合に、前記第１のユーザ識別情報判定手段でユーザ識別情報が一致するか否かを判定することなく前記第１の印刷データ受付手段で受け付けた印刷データを前記印刷データ記憶手段に記憶する第２のモードを設定するモード設定手段とを備える。
【００２３】
前記ネットワークインタフェース装置は、前記認証サーバと通信可能か否かを判断する通信判断手段とを備え、前記ネットワークインタフェース装置の前記モード設定手段は、前記通信判断手段で認証サーバと通信可能でない場合に第１のモードに設定し、前記通信判断手段で認証サーバと通信可能である場合に第２のモードに設定する。
【００２４】
前記ネットワークインタフェース装置は、一定間隔で前記認証サーバと通信可能かどうかを確認する通信確認手段とを備え、前記ネットワークインタフェース装置の前記通信確認手段で前記認証サーバと通信可能であると判断した場合、前記モード設定手段は前記第１のモードから前記第２のモードに設定を変更する。
【００２５】
前記ネットワークインタフェース装置の前記ユーザ情報記憶手段は、前記ユーザ識別情報と他のユーザ識別情報とが対応付けて記憶し、前記第２の印刷データ受付手段は、前記印刷データ記憶手段から前記ユーザ識別情報及び、前記ユーザ識別情報に対応付く他のユーザ識別情報に応じた印刷データ受け付ける。
【００２６】
第２の発明は、画像形成装置に接続され、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置の印刷制御方法であって、読取対象物を読み取ることで読取対象物識別情報を受け付ける読取対象物識別情報受付ステップと、前記読取対象物識別情報を含む認証要求を前記認証サーバへ送信する送信ステップと、前記送信ステップで送信した認証要求に応じて得られるユーザ識別情報を含むユーザ情報と前記読取対象物識別情報を対応付けてユーザ情報記憶手段に記憶指示するユーザ情報記憶指示ステップと、情報処理装置から送信された印刷データを受け付ける第１の印刷データ受付ステップと、前記第１の印刷データ受付ステップで印刷データを受け付けた場合に、当該印刷データに含まれるユーザ識別情報が前記ユーザ情報記憶手段のユーザ識別情報と一致するか否かを判定する第１のユーザ識別情報判定ステップと、前記第１のユーザ識別情報判定ステップでユーザ識別情報が一致すると判定された場合に、前記第１の印刷データ受付ステップで受け付けた印刷データを印刷データ記憶手段に記憶指示する印刷データ記憶指示ステップと、前記第１のユーザ識別情報判定ステップでユーザ識別情報が一致しないと判定された場合に、前記第１の印刷データ受付ステップで受け付けた印刷データを前記画像形成装置で印刷するために、出力する第１の出力ステップとを含むことを特徴とする方法である。
【００２７】
第３の発明は、ネットワークインタフェース装置において、第２の発明の方法を実行させるプログラムである。
【発明の効果】
【００２８】
本発明によれば、例えば認証サーバがダウンするなどの理由により認証できない場合にも、セキュリティの高い印刷を維持しつつ印刷業務を滞らせないための仕組みを提供することができる。
【図面の簡単な説明】
【００２９】
【図１】従来のセキュアプリントシステムの構成の一例を示す図
【図２】本発明に係るセキュアプリントシステム１の構成の一例を示す図
【図３】ＬＤＡＰサーバ２００、クライアントＰＣ３００のハードウエア構成を示す図
【図４】印刷装置１０００のハードウエア構成を示す図
【図５】ＮＩＣ７００のハードウエア構成を示す図
【図６】本発明に係るセキュアプリントシステム１の構成を示すブロック図
【図７】セキュアプリントシステム１の印刷ジョブ投入処理手順の一例を示すフローチャート
【図８】セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート
【図９】セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート
【図１０】セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート
【図１１】セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート
【図１２】セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート
【図１３】セキュアプリントシステム１の出力処理の詳細手順の一例を示すフローチャート
【図１４】セキュアプリントシステム１のＬＤＡＰサーバ監視処理手順の一例を示すフローチャート
【図１５】セキュアプリントシステム１のユーザ通知処理手順の一例を示すフローチャート
【図１６】設定情報８０２の一例を示す図
【図１７】認証キャッシュ８６０の詳細を示す図
【図１８】印刷装置１０００に表示するメッセージの一例を示す図
【図１９】ジョブ３１０の詳細を示す図
【図２０】印刷情報管理ヘッダ３１１の詳細を示す図
【図２１】ジョブ情報８２０の詳細を示す図
【図２２】ジョブリスト８０５の詳細を示す図
【図２３】実行リスト８０４の詳細を示す図
【図２４】ファイルシステム５０１の詳細を示す図
【図２５】ＩＣカード４１０の詳細を示す図
【図２６】ユーザ情報２１０の一例を示す図
【図２７】ＬＤＡＰディレクトリの詳細を示す図
【図２８】セキュアプリントシステム１の実施例を示す図
【図２９】セキュアプリントシステム１の標準印刷処理手順の一例を示すフローチャート
【図３０】印刷モード８５０の詳細を示す図
【発明を実施するための形態】
【００３０】
以下、添付図面を参照しながら、本発明に係るセキュアプリントシステムの好適な実施形態について詳細に説明する。
【００３１】
図１は、従来のセキュアプリントシステムの構成の一例を示す図である。
【００３２】
図１に示すように、例えば、階毎に設置する１又は複数の印刷装置１０００、管理者に１台、ユーザ毎に１台ずつというように設置する１又は複数のクライアントＰＣ３００、拠点毎に設置する１又は複数のプリンタサーバ１０１、拠点毎に設置する１又は複数の認証サーバ１０２がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１５０を介して接続される。また、印刷装置１０００には、ＵＳＢケーブル１６０を介してカードリーダ４００が接続される。
【００３３】
クライアントＰＣ３００は、印刷装置１０００の設定を行うＰＣある。クライアントＰＣ３００は、ＬＡＮ１５０を介して、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などによって、印刷装置１０００と通信することができる機能を搭載したＰＣである。
【００３４】
また、クライアントＰＣ３００は、ユーザから印刷ジョブを投入するためのＰＣである。ユーザがクライアントＰＣ３００上で動くアプリケーションからプリンタドライバを介して印刷ジョブを生成すると、プリンタドライバがＬＰＲ（Ｌｉｎｅ  ＰＲｉｎｔｅｒ  ｄａｅｍｏｎ  ｐｒｏｔｏｃｏｌ）等の印刷プロトコルを用いて、印刷ジョブを印刷装置１０００やプリンタサーバ１０１に送信することができる。
【００３５】
プリンタサーバ１０１は、クライアントＰＣ３００から印刷ジョブを受け取り、印刷ジョブを解析してジョブ情報を取得し、印刷ジョブを蓄積する。また、印刷装置１０００から印刷要求を受け取り、印刷要求に含まれるユーザ名をもとにして、蓄積ジョブからユーザのジョブを検索し、見つかったユーザのジョブを印刷装置１０００に対して印刷指示を行う。
【００３６】
認証サーバ１０２は、印刷装置１０００がユーザ認証を行うためのサーバである。カードＩＤ２１１に紐づくユーザ名、メールアドレス、利用権限等のデータを持っている。認証サーバ１０２は、印刷装置１０００からの問い合わせに対して、ユーザの有無と、ユーザが存在する場合はそのユーザ情報を返答する機能を有する。
【００３７】
カードリーダ４００は、ＵＳＢケーブル１６０を介して印刷装置１０００に接続される。
【００３８】
カードリーダ４００は、ＩＣカード４１０（例えば、ソニー（登録商標）社のフェリカ（ＦｅｌｉＣａ）（登録商標））がかざされるとカード内部の情報を読み取り、ＵＳＢケーブル１６０を介して印刷装置１０００に通知する。
【００３９】
なお、本実施形態ではＩＣカードをカードリーダにかざすことによる認証を用いた構成としたが、指紋或いは手や指の静脈の情報（生体情報）を用いた認証を用いた構成であってもよい。この場合、カードリーダ４００を指や手などの読取対象物を読み取るリーダ（非読取対象物）に置き換えることで実現可能である。
【００４０】
次に、図２を参照しながら、本発明に係るセキュアプリントシステム１について説明する。
【００４１】
図２は、本発明に係るセキュアプリントシステム１の構成の一例を示す図である。
【００４２】
図２に示すセキュアプリントシステム１は、ＬＡＮ１５０を介してクライアントＰＣ（情報処理装置）３００、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）サーバ（認証サーバ）２００、ＮＩＣ（ネットワークインタフェース装置）７００が接続される。印刷装置１０００には、ＮＩＣ（ネットワークインタフェース装置）７００が挿入される。
【００４３】
NIC７００は、ＵＳＢケーブル１６０、ＵＳＢハブ６００を介してマスストレージ（記憶部）５００、カードリーダ４００を接続している。
【００４４】
マスストレージ５００及びＵＳＢハブ６００がＮＩＣ７００を介して印刷装置１０００に外付けされているが、印刷装置１０００に内蔵するようにしてもよい。また、ＮＩＣ７００が複数のＵＳＢポートを有する場合はＵＳＢハブ６００を介する必要はなく、ＮＩＣ７００にカードリーダ４００及びマスストレージ５００が直接接続される。
【００４５】
ＬＤＡＰサーバ２００は、図１の認証サーバ１０２の役割を行うもので、ＬＤＡＰプロトコルにて通信を行う機能を有する。ＬＤＡＰサーバ２００は、内部のディレクトリにユーザ情報を一元管理することができる。ＬＤＡＰサーバ２００は、１つのサーバで構成しても良い。また、ＬＤＡＰサーバ２００は、後述するように、プライマリおよびセカンダリの２つのサーバによって構成しても良い。また、ＬＤＡＰサーバ２００は、３つ以上のサーバによって構成しても良い。いずれの場合であっても、ＬＤＡＰサーバ２００がダウンするとは、ＬＤＡＰサーバ２００を構成する全てのサーバがダウンしたことを意味するものとする。
【００４６】
図２では、ＬＤＡＰサーバ２００を使用しているが、認証を行うことができるサーバであればＬＤＡＰサーバに限らない。
【００４７】
クライアントＰＣ３００は、印刷データを生成する情報処理装置である。
【００４８】
マスストレージ５００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリのような大容量のファイルシステムを持つハードウエアで、ＵＳＢケーブル１６０を介してＵＳＢハブ６００に接続している。
【００４９】
マスストレージ５００は、印刷装置１０００からファイル書き込み、読み込み、削除等のファイルシステムの制御を行うことが可能である。
【００５０】
次に、図３、４、５を参照しながら、クライアントＰＣ３００、ＬＤＡＰサーバ２００、印刷装置１０００、ＮＩＣ７００について説明する。
【００５１】
図３は、ＬＤＡＰサーバ２００、クライアントＰＣ３００のハードウエア構成を示す図、図４は、印刷装置１０００のハードウエア構成を示す図、図５は、ＮＩＣ７００のハードウエア構成を示す図である。
【００５２】
図３に示すように、ＬＤＡＰサーバ２００、クライアントＰＣ３００は、システムバス２００４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２００３、入力コントローラ２００５、ビデオコントローラ２００６、メモリコントローラ２００７、通信Ｉ／Ｆコントローラ２００８が接続される。
【００５３】
ＣＰＵ２００１は、システムバス２００４に接続される各デバイスやコントローラを統括的に制御する。
【００５４】
ＲＯＭ２００３あるいは外部メモリ２０１１は、ＣＰＵ２００１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する各種プログラム等を保持している。
【００５５】
ＲＡＭ２００２は、ＣＰＵ２００１の主メモリ、ワークエリア等として機能する。ＣＰＵ２００１は、処理の実行に際して必要なプログラム等をＲＯＭ２００３あるいは外部メモリ２０１１からＲＡＭ２００２にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００５６】
入力コントローラ２００５は、キーボード（ＫＢ）２００９やマウス（図示しない）等のポインティングデバイス等からの入力を制御する。
【００５７】
ビデオコントローラ２００６は、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）２０１０等の表示器への表示を制御する。表示器はＣＲＴに限らず、液晶ディスプレイ等の他の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００５８】
メモリコントローラ２００７は、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２０１１へのアクセスを制御する。
【００５９】
通信Ｉ／Ｆコントローラ２００８は、ＬＡＮ１５０のようなネットワークを介して外部機器と接続・通信し、ネットワーク上での通信制御処理を実行する。通信Ｉ／Ｆコントローラ２００８は、例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００６０】
ＣＰＵ２００１は、例えばＲＡＭ２００２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２０１０上に表示することが可能である。また、ＣＰＵ２００１は、ＣＲＴ２０１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００６１】
ＬＤＡＰサーバ２００、クライアントＰＣ３００のハードウエア上で動作する各種プログラムは、外部メモリ２０１１に記録されており、必要に応じてＲＡＭ２００２にロードされ、ＣＰＵ２００１により実行される。プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等は、外部メモリ２０１１に格納されている。
【００６２】
次に、印刷装置１０００のハードウエア構成について説明する。
【００６３】
図４に示すように、印刷装置１０００は、入力部３０００、ＣＰＵ３００１、操作部３００２、印刷処理部３００３、記憶部３００４、出力部３００５、用紙カセット３００６等を有する。
【００６４】
入力部３０００は、本印刷装置とＮＩＣ７００を接続するものであり、ＮＩＣ７００とのデータ通信を制御する。
【００６５】
ＣＰＵ３００１は、印刷装置１０００全体の動作を制御する。
【００６６】
操作部３００２は、印刷装置１０００に直接ユーザによる操作のインタフェースを提供する。
【００６７】
印刷処理部３００３は、入力部３０００で受信したコマンドの解析、印刷データ（ＰＤＬ）の解析等を行う。
【００６８】
記憶部３００４は、印刷装置１０００を動作させるためのＲＯＭ（図示しない）、ＲＡＭ（図示しない）、二次記憶装置（図示しない）等からなる。ＲＡＭは使用制限のないデータ記憶領域で、入力部３０００の受信バッファ、あるいは、印刷処理部３００３でのデータ展開等に使用する。
【００６９】
出力部３００５は、入力部３０００で受信した印刷データを、印刷処理部３００３で印刷可能なイメージ情報に展開したものを紙に転写する。
【００７０】
用紙カセット３００６は、出力部３００５の処理に合わせて適切な用紙を供給する。
【００７１】
ＮＩＣ７００は、ネットワークインタフェースカードであり、ＬＡＮ１５０を介して他の機器から受信したデータをＮＩＣ７００が窓口となって受け取り、ＮＩＣ内部のプログラム（図示しない）や、印刷装置１０００の入力部３０００に渡す。
【００７２】
次に、ＮＩＣ７００のハードウエア構成について説明する。
【００７３】
図５に示すように、ＮＩＣ７００は、ＣＰＵ４００１、ＲＡＭ４００２、通信Ｉ／Ｆコントローラ４００３、ＵＳＢＩ／Ｆコントローラ４００４、内部メモリ４００５、メモリコントローラ４００６、ＲＯＭ４００７、機器Ｉ／Ｆコントローラ４００８等を有する。
【００７４】
ＣＰＵ４００１はＮＩＣ７００の制御を行うもので、内部で接続されている装置を制御する。
【００７５】
ＲＡＭ４００２は、ＣＰＵ４００１の主メモリ、ワークエリア等として機能する。ＣＰＵ４００１は、処理の実行に際して必要なプログラム等をＲＯＭ４００７あるいは内部メモリ４００５からＲＡＭ４００２にロードして、ロードしたプログラムを実行する。
【００７６】
通信Ｉ／Ｆコントローラ４００３は、ＬＡＮ１５０のようなネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰやＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などの通信プロトコルを用いた通信が可能である。
【００７７】
ＵＳＢＩ／Ｆコントローラ４００４は、カードリーダ４００、マスストレージ５００及びＵＳＢハブ６００などのＵＳＢ機器とＮＩＣ７００を接続、通信するもので、ＵＳＢの通信制御処理を実行する。
【００７８】
内部メモリ４００５は、ＮＩＣ７００を制御するＯＳが搭載されており、またＯＳ上で動作するアプリケーションプログラム、その設定情報を記憶する。
【００７９】
メモリコントローラ４００６は、各種のアプリケーション、各種データ等を記憶する内部メモリ４００５へのアクセスを制御する。
【００８０】
ＲＯＭ４００７は、読み出し専用の半導体メモリであり、電源を切っても内容が消えないことからブートプログラムが格納される。
【００８１】
機器Ｉ／Ｆコントローラ４００８は、ＮＩＣ７００と印刷装置１０００を接続、通信する。
【００８２】
次に、図６、１６、１７、１９、２０、２１、２２、２３、２４、２５、２６、２７、３０を参照しながら、セキュアプリントシステム１の全体の処理の流れについて説明する。
【００８３】
図６は、本発明に係るセキュアプリントシステム１の構成を示すブロック図、図１６は、設定情報８０２の一例を示す図、図１７は、認証キャッシュ８６０の詳細を示す図、図１９は、ジョブ３１０の詳細を示す図、図２０は、印刷情報管理ヘッダ３１１の詳細を示す図、図２１は、ジョブ情報８２０の詳細を示す図、図２２は、ジョブリスト８０５の詳細を示す図、図２３は、実行リスト８０４の詳細を示す図、図２４は、ファイルシステム５０１の詳細を示す図、図２５は、ＩＣカード４１０の詳細を示す図、図２６は、ユーザ情報２１０の一例を示す図、図２７は、ＬＤＡＰディレクトリ２０１の詳細を示す図、図３０は、印刷モード８５０の詳細を示す図である。
【００８４】
セキュアプリントシステム１は、ＬＤＡＰサーバ２００とクライアントＰＣ３００、印刷装置１０００に接続されたＮＩＣ７００が、双方向通信可能なＬＡＮ１５０を介して接続している。ＮＩＣ７００には、ＵＳＢ通信可能なＵＳＢケーブル１６０を介して、マスストレージ５００、ＵＳＢハブ６００及びカードリーダ４００が接続している。
【００８５】
ＬＤＡＰサーバ２００は、ＬＤＡＰディレクトリ２０１、ＬＤＡＰ機能部２０２、Ｉ／Ｆドライバ部１９０等を有する。ＬＤＡＰサーバ２００、は冗長構成をとることが可能で、複数台設置してもよい。
【００８６】
ＬＤＡＰサーバ２００は、システム内でのユーザ情報の検索という役割を有するため、ユーザ情報の格納及び検索機能を持つサーバであればＬＤＡＰサーバに限らない。
【００８７】
ＬＤＡＰディレクトリ２０１は、図２７に示すデータを格納している。
【００８８】
ＬＤＡＰディレクトリ２０１は、データ群をまとめる最上位の単位Ｓｕｆｆｉｘの下に識別コードが１または複数配備されており、さらに、その識別コードの下に１または複数のユーザ情報２１０が格納される。
【００８９】
一般的に、識別コードはＯＵ（Ｏｒｇａｎｉｚａｔｉｏｎ  Ｕｎｉｔ）で構築される。また、Ａｃｔｉｖｅ
Ｄｉｒｅｃｔｏｒｙ（登録商標）では、Ｓｕｆｆｉｘがドメインという単位にあたる。
【００９０】
ユーザ情報２１０は、図２６に示すようにカードＩＤ２１１、ユーザ名２１２、パスワード２１３、サブユーザ１  ２１４、サブユーザ２  ２１５、サブユーザ３  ２１６、サブユーザ４  ２１７、利用制限２１８等を有する。
【００９１】
カードＩＤ２１１は、図２５に示すように、ユーザのＩＣカード４１０のＩＤを登録するもので、ｓｕｆｆｉｘの中で一意となる値である。
【００９２】
ユーザ名２１２は、カードＩＤ２１１と一致するＩＣカード４１０を保持しているユーザの名前である。
【００９３】
パスワード２１３は、ユーザの認証を行う際に、本人確認を行うために格納される。
【００９４】
サブユーザ１〜４  ２１４〜２１７は、ユーザが使っているメインのユーザ名２１２とは別の名前で、ユーザが他のユーザの代理を行う場合に使用するユーザ名である。
【００９５】
利用制限２１８は、印刷装置１０００を利用する上での制限情報が格納されている。
【００９６】
ＬＤＡＰ機能部２０２は、ＬＤＡＰプロトコルに従って通信の接続、認証、検索、変更、追加、削除、切断等を行う。
【００９７】
接続では、接続要求を発行したクライアントに対して、論理的な通信経路を確保する。
【００９８】
認証では、認証要求を発行したユーザ名を、ＬＤＡＰディレクトリ２０１内から検索し、パスワードの照合を行って認証結果を返答する。
【００９９】
検索では、検索要求を受けた値を元に、ＬＤＡＰディレクトリ２０１から該当するユーザを検索し、一致したユーザ情報２１０を返答する。
【０１００】
Ｉ／Ｆドライバ部１９０は、ＬＡＮ１５０等のネットワークを介して外部機器と接続・通信を行うもので、ＴＣＰ／ＩＰやＵＤＰなどの通信プロトコルに従って通信を制御する。
【０１０１】
クライアントＰＣ３００は、アプリケーション部３０１、プリンタドライバ部３０２、送信バッファ３０３、Ｉ／Ｆドライバ部１９０等を有する。
【０１０２】
アプリケーション部３０１は、ユーザにグラフィックユーザインタフェースを提供し、ユーザの目的に適った画像データを生成する。
【０１０３】
プリンタドライバ部３０２は、アプリケーション部３０１が生成した画像データを印刷装置１０００で印刷可能なページ記述言語（ＰＤＬ）データに変換する。さらに、ＰＤＬデータに対して、図２０に示すようにジョブオーナ３１２、ジョブ名３１３等のジョブ情報を含んだ印刷情報管理ヘッダ３１１を付与し、図１９に示すジョブ３１０を作成する。
【０１０４】
送信バッファ３０３は、プリンタドライバ部３０２が作成したジョブ３１０を一時的に格納し、スプールを実現する。
【０１０５】
ＵＳＢハブ６００は、ＵＳＢ通信部１９５等を有する。ＵＳＢハブ６００は、ＵＳＢデータを中継し、ＵＳＢハブ６００に接続された機器のＵＳＢデータを他の各機器へ転送する。
【０１０６】
ＵＳＢ通信部１９５は、ＵＳＢ仕様に従ってコントロール転送、インタラプト転送、バルク転送、アイソクロナス転送などのデータ通信を行う。データ転送することが必要条件であり、転送速度やＵＳＢバージョンなどは特に問わない。
【０１０７】
マスストレージ５００は、ファイルシステム５０１、ファイルシステム管理部５０２、ＵＳＢ通信部１９５等を有する。
【０１０８】
図２４に示すように、ファイルシステム５０１はジョブ３１０を内部記憶装置（図示しない）に格納する。また、ジョブ３１０の書き込み、読み込み、削除を行う。
【０１０９】
カードリーダ４００は、ＵＳＢ通信部１９５、カード読取部４０１等を有する。
【０１１０】
カード読取部４０１は、ＩＣカード４１０からカードＩＤ２１１を読み取るためのものである。ＩＣカード４１０がカードリーダ４００にかざされると、ＩＣカード４１０からカードＩＤ２１１等の情報を読み取り、ＵＳＢ通信部１９５を介して接続された他機器に情報を伝達する。
【０１１１】
ＮＩＣ７００は、アプリケーション８００、ＮＩＣ  ＯＳ９００等を有する。
【０１１２】
アプリケーション８００は、ＮＩＣ  ＯＳ９００上で動作するプログラムである。
【０１１３】
ＮＩＣ  ＯＳ９００は、ＮＩＣ７００を制御すると同時に、ＮＩＣ７００上のアプリケーション８００の管理、印刷装置１０００への各種指示なども行う。
【０１１４】
ＮＩＣ７００のアプリケーション８００は、設定情報管理部８０１、設定情報８０２、ＬＰＲ通信部８０３、実行リスト８０４、ジョブリスト８０５、ＬＤＡＰ通信部８０６、ＬＤＡＰサーバ監視部８０７、印刷情報管理プロトコル解析部８０８、リスト管理部８０９、ユーザ通知部８１０、カードリーダ管理部８１１、ファイル管理部８１２、印刷指示部８１３、ビープ指示部８１４、パネル表示指示部８１５等を有する。
【０１１５】
設定情報管理部８０１は、図１６に示すアプリケーション８００の実行に必要な設定情報８０２を管理するもので、設定情報８０２の書き込み、読み出しを行う。
【０１１６】
クライアントＰＣ３００が、ブラウザを使ってアプリケーション８００にアクセスしてアプリケーション８００の設定情報を設定し、アプリケーション８００がクライアントＰＣ３００からの指示を受け取ると、設定情報管理部８０１は、設定されたデータを設定情報８０２として保持する。
【０１１７】
設定情報８０２は、Ｓｕｆｆｉｘ８３１、識別コード８３２、プライマリサーバ８３３、プライマリポート８３４、セカンダリサーバ８３５、セカンダリポート８３６、ユーザ８３７、パスワード８３８等を有する。
【０１１８】
Ｓｕｆｆｉｘ８３１、識別コード８３２は、ＬＤＡＰサーバ２００に検索要求を発行する際、検索場所を指定する条件となる。
【０１１９】
プライマリサーバ８３３、プライマリポート８３４、セカンダリサーバ８３５、セカンダリポート８３６は、ＬＤＡＰサーバ２００に接続するための情報である。ＬＤＡＰサーバ２００は冗長構成をとることができるため、プライマリ・セカンダリのように複数台の設定することが可能となっている。
【０１２０】
ユーザ８３７、パスワード８３８は、ＬＤＡＰサーバ２００に認証要求を発行する際に必要な情報である。
【０１２１】
ＬＰＲ通信部８０３は、ＬＰＲ印刷プロトコルを解析し、通信を行うもので、クライアントＰＣ３００からジョブ３１０を受け取る際のプロトコルを解析し、通信する。
【０１２２】
ここでは、例示的にＬＰＲと記したが、印刷プロトコルであれば特にＬＰＲに限らない。
【０１２３】
実行リスト８０４は、図２３で示されるもので、図２２に示すジョブリスト８０５のサブセットである。印刷を実施するときは、実行リスト８０４に格納されたジョブ情報８２０をもとに印刷指示を行う。
【０１２４】
ジョブリスト８０５は、図２１に示すジョブ情報８２０で構成されている。ジョブ情報８２０は、ジョブ３１０を管理するために必要な情報を抽出した情報で、ユーザ名８２１、ファイル名８２２、ジョブ名８２３、タイムスタンプ８２４等を有する。ジョブリスト８０５は、ファイルシステム５０１に格納されているジョブ３１０の情報をすべて保持している。
【０１２５】
ＬＤＡＰ通信部８０６は、ＬＤＡＰサーバ２００とＬＤＡＰプロトコルに従って通信を行うもので、設定情報８０２のプライマリサーバ及びプライマリポートで指定されるＬＤＡＰサーバ２００に接続する。
【０１２６】
ＬＤＡＰ通信部８０６は、設定情報８０２のユーザ８３７及びパスワード８３８用いて認証を行う。また、ＬＤＡＰ通信部８０６は設定情報８０２のＳｕｆｆｉｘ８３１、識別コード８３２を検索場所として、カードＩＤ２１１に紐づくユーザ情報２１０（図２６）を検索する。プライマリにもセカンダリにもアクセスできなかった場合、図３０で示される印刷モード８５０を「蓄積しない」に設定する。なお、印刷モード８５０は設定情報８０２と同様にアプリケーション８００がＲＡＭ４００２に記憶し管理する情報である。プライマリもしくはセカンダリにアクセスできた場合、図３０で示される印刷モード８５０を「蓄積する」に設定する。印刷モード８５０のデフォルトの設定は「蓄積する」とする。なお、図３０で示される情報は、ＲＡＭ４００２以外に、マスストレージ５００または内部メモリ４００５で管理するように構成することも可能である。
【０１２７】
また、ＬＤＡＰ通信部８０６が検索を行った結果、ユーザ情報２１０が見つかった場合、ユーザ情報２１０を取得し、図１７で示される認証キャッシュ８６０に、受信したカードＩＤを主キーとなるカードＩＤ２１１としてユーザ情報２１０と対応付けて登録しておく。これは、認証サーバ停止時でもカードＩＤ２１１からユーザ名を特定し認証できるようにするためである。なお、認証キャッシュ８６０は、設定情報８０２と同様にアプリケーション８００がＲＡＭ４００２に記憶し管理する情報である。なお、図１７で示される情報は、ＲＡＭ４００２以外に、マスストレージ５００または内部メモリ４００５で管理するように構成することも可能である。
【０１２８】
ＬＤＡＰサーバ監視部８０７は、ＬＤＡＰサーバ２００とＮＩＣ７００が通信できる状態にあるかどうかを定期的に監視する。実際の接続処理等は、ＬＤＡＰ通信部８０６を通じて行われる。監視処理中に、ＬＤＡＰサーバ２００とＮＩＣ７００が通信できると判断した場合で、かつ印刷モード８５０が「蓄積しない」に設定されていた場合、印刷モード８５０を「蓄積する」に設定変更する。これにより、サーバダウン時の印刷切り替えの復帰を実現する。
【０１２９】
印刷情報管理プロトコル解析部８０８は、ジョブ３１０に含まれる印刷情報管理ヘッダ３１１を解析する。印刷情報管理ヘッダ３１１は、ＰＤＬデータの先頭に付加されるバイナリデータで、様々なジョブ情報が含まれる。
【０１３０】
印刷情報管理ヘッダ３１１に含まれるジョブオーナ３１２とジョブ名３１３を取得し、ジョブ情報８２０を作成する際、印刷情報管理プロトコル解析部８０８で解析した値を利用する。
【０１３１】
リスト管理部８０９は、実行リスト８０４及びジョブリスト８０５を管理する。ジョブ３１０がファイルシステム５０１に書き込まれると、ジョブ情報８２０をファイル管理部８１２から受け取り、ジョブリスト８０５に追加して管理する。また、ジョブリスト８０５の中でＬＤＡＰ通信部８０６から渡されたユーザ名に一致したジョブ情報８２０を抽出し、実行リスト８０４を作成する。リスト管理部８０９は、印刷完了時にファイル管理部８１２から通知を受け、該当するジョブ情報８２０をジョブリスト８０５から削除する。
【０１３２】
ユーザ通知部８１０は、印刷装置１０００を利用しているユーザに対して、エラーなどを通知する。ユーザ通知部８１０は、ＮＩＣ  ＯＳ９００に対してビープ指示し、印刷装置１０００からビープ音を鳴動させてユーザの聴覚に訴えたり、パネル表示指示を行って任意の文字を印刷装置１０００のパネルに表示し、ユーザの視覚に訴えたりする機能を持つ。
【０１３３】
カードリーダ管理部８１１は、ＮＩＣ７００にＵＳＢケーブル１６０を介して接続されたカードリーダ４００を制御するためのものである。ＩＣカード４１０がカードリーダ４００にかざされると、カードリーダ管理部８１１はカードＩＤ２１１を取得する。
【０１３４】
ファイル管理部８１２は、ジョブ３１０をアプリケーション８００内で管理する。ファイル管理部８１２は、ジョブ３１０を暗号化してファイルシステム５０１に格納したり、ジョブ３１０を復号化し、印刷指示部８１３にジョブ３１０を送ったり、あるいは、印刷指示部８１３へのジョブ投入が終わったタイミングで、該当するジョブ３１０をファイルシステム５０１から削除する。
【０１３５】
印刷指示部８１３は、ファイル管理部８１２から送られてきた復号化されたジョブ３１０をＮＩＣ ＯＳ９００に対して、印刷情報管理プロトコルを用いて印刷指示する。
【０１３６】
ビープ指示部８１４は、ユーザ通知部８１０からのビープ指令を受け取って、ＮＩＣ  ＯＳ９００に通知する。ビープ音に関しては、印刷情報管理プロトコル、ＪＬ、ＵＤＰ等を使用したり、様々な方法でビープ鳴動を実現できるが、どの機能がサポートされているかは印刷装置１０００によって異なる。ビープ指示部８１４は、印刷装置１０００の種別による違いを吸収して適切なビープ指示を行う。
【０１３７】
パネル表示指示部８１５は、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓe）を使って印刷装置１０００のパネル（図示しない）に任意のメッセージを表示させる。一定時間表示させることができない機種の印刷装置１０００の場合は、数秒表示後に表示のリセットを行う。
【０１３８】
次に、ＮＩＣ  ＯＳ９００について詳細を説明する。
【０１３９】
ＮＩＣ  ＯＳ９００は、Ｉ／Ｆドライバ部１９０、ＵＳＢ通信部１９５、暗号/復号化部９０５、印刷情報管理プロトコル解析・通信部９０４、ＪＬ通信部９０３、ＵＤＰ通信部９０２、ＭＩＢ通信部９０１、通信制御部９０６を有する。
【０１４０】
暗号/復号化部９０５は、データの暗号化及び復号化を行うためのものである。形式は固定のものではなく、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やトリプルＤＥＳ，ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等のブロック暗号化、及びＲＣ４などのストリーム暗号化などを行うことができる。
【０１４１】
印刷情報管理プロトコル解析・通信部９０４は、印刷情報管理プロトコルに従ってデータ通信を行うためのものである。印刷情報管理プロトコルは、印刷装置１０００の制御を行うための通信プロトコルであり、印刷指示やビープ音鳴動等などが行える。
【０１４２】
ＪＬ通信部９０３は、ＪＬ通信を行うためのものである。ＪＬはジョブ制御言語であり、印刷装置１０００の情報取得指令や、ＰＤＬデータの受信指令、印刷装置１０００へのビープ指令などを行うことができる。
【０１４３】
ＵＤＰ通信部９０２は、ＵＤＰ通信を行う。このＵＤＰ通信を使って、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）クエリや、ビープ指令などを行うことができる。
【０１４４】
ＭＩＢ通信部９０１は、ＭＩＢ通信を行うためのものである。ＭＩＢは、通信機器を管理するためのプロトコルで、印刷装置１０００のパネル表示等を行う。
【０１４５】
通信制御部９０６は、Ｉ／Ｆドライバ部１９０から受信したデータを、アプリケーション８００に通知したり、印刷装置１０００に渡したりする。
【０１４６】
次に、印刷装置１０００について説明する。
【０１４７】
印刷装置１０００は、Ｉ／Ｆドライバ部１９０、受信バッファ１００１、送信バッファ１００２、ＭＩＢ通信部９０１、ＵＤＰ通信部９０２、ＪＬ通信部９０３、印刷情報管理プロトコル解析・通信部９０４、ＬＰＲ通信部８０３、パネル表示部１００８、ビープ鳴動部１００９、ＰＤＬトランスレータ部１０１１、機器ＤＢ部１０１０、描画バッファ１０１２、描画部１０１３、プリンタエンジン部１０１４を有する。
【０１４８】
受信バッファ１００１は、Ｉ／Ｆドライバ部１９０で受信した全データを一時的に確保し、処理遅延の緩衝材となる。
【０１４９】
送信バッファ１００２は、Ｉ／Ｆドライバ部１９０に送信する前の全データを一時的に確保し、処理遅延の緩衝材となる。
【０１５０】
パネル表示部１００８は、指定されたメッセージを印刷装置１０００のパネルに表示する。
【０１５１】
ビープ鳴動部１００９は、印刷装置１０００内蔵の鳴動装置（図示しない）を作動させ、音を鳴らす。
【０１５２】
機器ＤＢ部１０１０は、ＪＬにより設定された印刷装置１０００の情報を格納し、ＰＤＬトランスレータ部１０１１に情報を提供する。ここでいう環境情報とは、例えば印刷枚数のことである。
【０１５３】
ＰＤＬトランスレータ部１０１１は、ＰＤＬデータの翻訳処理を行い、描画に適した描画オブジェクトである中間データに変換を行う。
【０１５４】
描画バッファ１０１２は、ＰＤＬトランスレータ部１０１１によって生成された描画オブジェクトの中間データを、実際に印刷を行うまで一時的に格納しておく。
【０１５５】
描画部１０１３は、描画バッファ１０１２に一時格納された描画オブジェクトを実際に描画してビットマップ画像であるイメージデータを生成する。
【０１５６】
プリンタエンジン部１０１４は、描画部１０１３が生成したビットマップ画像を受け取り、既知の印刷技術により用紙等のメディアに印刷を行う。
【０１５７】
次に、図７、８、９、１０、１１、１２、１３、１４、１５、１８、２８を参照しながら、本発明に係るセキュアプリントシステム１の詳細な処理について説明する。
【０１５８】
図７は、セキュアプリントシステム１の印刷ジョブ投入処理手順の一例を示すフローチャート、図８は、セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート、図９は、セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート、図１０は、セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート、図１１は、セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート、図１２は、セキュアプリントシステム１の印刷ジョブ出力処理手順の一例を示すフローチャート、図１３は、セキュアプリントシステム１の出力処理の詳細手順の一例を示すフローチャート、図１４は、セキュアプリントシステム１のＬＤＡＰサーバ監視処理手順の一例を示すフローチャート、図１５は、セキュアプリントシステム１のユーザ通知処理手順の一例を示すフローチャート、図１８は、印刷装置１０００に表示するメッセージの一例を示す図、図２８は、セキュアプリントシステム１の標準印刷処理の詳細手順の一例を示すフローチャートである。
【０１５９】
以下では、ＮＩＣ７００が行う処理について、アプリケーション８００の機能とＮＩＣ  ＯＳ９００との機能を区別して記載する。そのため、便宜上、処理の主体は、アプリケーション８００とＮＩＣ  ＯＳ９００とする。但し、実際には、処理を行う主体は、ＮＩＣ７００である。ハードウエアであるＮＩＣ７００は、ソフトウエアであるアプリケーション８００またはＮＩＣ  ＯＳ９００と協働して、後述する処理を実行する。
【０１６０】
図７では、ＮＩＣ７００は、クライアントＰＣ３００から、印刷データを受付ける。また、ＮＩＣ７００は、受け付けた印刷データをマスストレージ５００に記憶する。また、ＮＩＣ７００は、印刷データを印刷装置１０００に送信する。
【０１６１】
図７に示すように、セキュアプリントシステム１へのジョブ投入の処理では、クライアントＰＣ３００のアプリケーションが、プリンタドライバを介してジョブ３１０を生成する（ステップＳ００１）。
【０１６２】
クライアントＰＣ３００が、生成されたジョブ３１０をＮＩＣ  ＯＳ９００に対して送信すると（ステップＳ００２）、ＮＩＣ  ＯＳ９００はクライアントＰＣ３００から送信されたデータを受信し、アプリケーション８００に受信データを逐次転送する（ステップＳ００３）。
【０１６３】
なお、本実施形態ではクライアントＰＣ３００からＮＩＣ７００がジョブ３１０を受信する構成としたが、クライアントＰＣ３００からプリントサーバ（不図示）へジョブ３１０を送信して、プリントサーバ経由でＮＩＣ７００がジョブ３１０を受信する構成とすることも可能である。
【０１６４】
アプリケーション８００は、ＮＩＣ  ＯＳ９００から受信した（受け付けた）ジョブ３１０の印刷情報管理ヘッダ３１１を解析し、ジョブオーナ及びジョブ名を取得し（ステップＳ００４）、アプリケーション８００はジョブ情報８２０を作成する（ステップＳ００５）。
【０１６５】
具体的には、取得したジョブオーナ３１２をユーザ名８２１（ユーザ識別情報）として、取得したジョブ名３１３をジョブ名８２３として格納する。また、アプリケーション内で一意となる文字列を生成してファイル名８２２とする。タイムスタンプ８２４は、ファイル書き込み後に記憶する。
【０１６６】
アプリケーション８００は、印刷モード８５０の設定を取得し、取得した設定に応じて分岐処理を行う（ステップＳ００６）。
【０１６７】
本実施形態では、クライアントＰＣ３００から印刷する際には、ユーザがマスストレージ５００を使った印刷方法か、ＬＤＡＰサーバ２００と通信できずにそのまま印刷装置１０００から出力する印刷方法かを意識する必要はない。言い換えると、印刷出力する際に、ＬＤＡＰサーバ２００と通信できているのか否かに応じて印刷モードを自動で変更することができるため、ＬＤＡＰサーバ２００と通信できる時にはマスストレージ５００からジョブ３１０を取得して印刷させ、ＬＤＡＰサーバ２００と通信できないときにはマスストレージには蓄積させずに印刷することができ、セキュリティの高いプリントシステムとユーザビリティの高いプリントシステムを両立したプリントシステムを実現することができる。
【０１６８】
また、後述する認証キャッシュを確認することにより、マスストレージ５００にジョブを蓄積させ、ユーザ認証がされた場合にジョブ３１０を取得して印刷させることができるため、さらにセキュリティを高めたプリントシステムを実現することができる。
【０１６９】
ステップＳ００６で印刷モードが、印刷データを蓄積するモードか否かを判定した結果、印刷モード８５０が「蓄積しない」に設定されている場合、アプリケーション８００は、認証キャッシュ８６０の状態によって分岐処理を行う（ステップＳ００７）。つまり、「蓄積しない」モードの場合には、ＬＤＡＰサーバ  ２００と通信できなかった場合であるため、認証キャッシュを確認する処理へ移行する。
【０１７０】
ステップＳ００７では、認証キャッシュ８６０に格納されているユーザ情報２１０にジョブ３１０を投入したユーザと同じユーザ名２１２（ユーザ識別情報）があるか（一致するユーザ名があるか）を判定する（第１のユーザ識別情報判定）。なお、ジョブ３１０を投入したユーザは、ステップＳ００５で作成したジョブ情報８２０のユーザ名８２１に対応するユーザである。
【０１７１】
ＬＤＡＰサーバ２００と接続できない場合、投入されたジョブ３１０を蓄積せずにそのまま出力することで、業務を止めないシステムを実現している。しかし、投入されたジョブ３１０を蓄積せずにそのまま出力することは、業務は止めないものの、セキュリティの低下を招くことになる。そこで、本実施形態では、ジョブ投入時に認証キャッシュ８６０を確認しユーザ情報２１０があればそのジョブ３１０を蓄積することで、セキュリティの低下を防ぎ、かつ業務も止めないシステムを実現している。
【０１７２】
詳細は後述するが、認証キャッシュ８６０にジョブ３１０を投入したユーザのユーザ名が含まれていれば、ＬＤＡＰサーバ２００と通信できない場合も認証を行うことが可能であり、ジョブ投入時にそのジョブを蓄積する。また、認証キャッシュ８６０に格納されているユーザ情報２１０に、ジョブ３１０を投入したユーザのユーザ名が含まれていない場合は、蓄積せずにそのジョブ３１０をそのまま出力する。
【０１７３】
認証キャッシュ８６０に、ユーザ名が見つからなかった場合、アプリケーション８００は、図２９で示す標準印刷処理をＮＩＣ  ＯＳ９００に依頼する。この標準印刷処理とは、クライアントＰＣ３００から投入したジョブ３１０をマスストレージ５００に蓄積することなく、そのまま出力する印刷方法である。
【０１７４】
ステップＳ００６で印刷モードが、印刷データを蓄積するモードか否かを判定した結果、印刷モード８５０が「蓄積する」に設定されている場合、もしくは、印刷モード８５０が「蓄積しない」に設定されているが、認証キャッシュ８６０にユーザ名が見つかった場合、アプリケーション８００は、ジョブ３１０を暗号化するため、ジョブ３１０のデータをＮＩＣ  ＯＳ９００に渡し、暗号化鍵や暗号化アルゴリズムなどを指定する（ステップＳ０１２）。
【０１７５】
ＮＩＣ  ＯＳ９００は、渡されたジョブデータを指定されたパラメータを用いて暗号化する（ステップＳ０１３）。
【０１７６】
アプリケーション８００は、ステップＳ０１４でＮＩＣ  ＯＳ９００が暗号化したジョブをファイルシステム５０１に書き込むために、ＮＩＣ  ＯＳ９００に書き込み（記憶）指示をする（印刷データ記憶指示）。
【０１７７】
ファイルシステム５０１にジョブ３１０を書き込むことにより、従来のようにプリンタサーバ１０１にジョブ３１０を書き込む必要がなくなる。これにより、プリンタサーバ１０１を不要なものとし、よりセキュリティの高いセキュアプリントシステムを実現している。また、プリンタサーバ１０１が不要なため、サーバを設置するコストや、セキュアプリントシステム導入におけるサーバ設置の設定などの手間が省ける。さらに、万が一、マスストレージ５００が印刷装置１０００から取り外された場合も、ジョブ３１０は暗号化して書き込まれているため、ジョブ３１０内のＰＤＬデータを読み取られる心配はなく、より高いセキュリティを実現している。
【０１７８】
ＮＩＣ  ＯＳ９００が、ジョブ３１０の書込み指示を受けると、ジョブ３１０を取得してマスストレージ５００に伝達する（ステップＳ０１５）。マスストレージ５００は暗号化されたジョブ３１０をファイルシステム５０１に書き込む（ステップＳ０１６）。
【０１７９】
ＮＩＣ  ＯＳ９００が、暗号化されたジョブ３１０のファイルシステム５０１への書き込み処理をアプリケーション８００に伝達すると（ステップＳ０１７）、アプリケーション８００はファイルシステム５０１にジョブ３１０を書き込み終了した時点のタイムスタンプを取得し、ジョブ情報８２０のタイムスタンプ８２４に格納する（ステップＳ０１８）。
【０１８０】
アプリケーション８００は、作成したジョブ情報８２０をジョブリスト８０５に格納する（ステップＳ０１９）。
【０１８１】
次に、図８、９、１０、１１、１２を参照しながら、セキュアプリントシステム１のジョブ出力の処理について説明する。
【０１８２】
図８では、ＮＩＣ７００は、ユーザ情報２１０を含む認証要求をＬＤＡＰサーバ２００に送信する。また、ＮＩＣ７００は、ＬＤＡＰサーバ２００と通信できるか否かを判断する。また、ＬＤＡＰサーバ２００と通信できない場合、ＮＩＣ７００は、印刷データをマスストレージ５００に記憶する設定を解除する。また、認証サーバと通信可能、かつ印刷データをマスストレージ５００に記憶する設定が解除されている場合、ＮＩＣ７００は、その設定を再設定する。
【０１８３】
図８に示すように、カードリーダ４００は、ＩＣカード４１０を検知して、内部に記録されているカードＩＤ２１１を読み取り（ステップＳ１００）、ＮＩＣ  ＯＳ９００は読み取った情報をアプリケーション８００に伝達する（ステップＳ１０１）。
【０１８４】
アプリケーション８００は、カードＩＤ２１１（読取対象物識別情報）をＮＩＣ  ＯＳ９００から受信する（読取対象物識別情報受付）と印刷モード８５０を確認する（ステップＳ１０２）。
印刷モード８５０を確認し、印刷モード８５０が「蓄積する」に設定されている場合、アプリケーション８００は設定情報８０２をもとに、ＬＤＡＰサーバ２００に接続を試みる（ステップＳ１０３）。また、印刷モード８５０が「蓄積しない」に設定されている場合、ステップＳ１０７へ処理を移す。
【０１８５】
ステップＳ１０６で後述するが、印刷モード８５０が「蓄積しない」とはＬＤＡＰサーバ２００と通信できない状態を示し、ＬＤＡＰサーバ２００と通信できない場合に認証キャッシュ（ユーザ情報記憶）を確認する。
【０１８６】
ＬＤＡＰサーバ２００に接続は、アプリケーション８００は、設定情報８０２を参照し、プライマリであるＬＤＡＰサーバ２００ａのプライマリポートに対して接続を行い、仮に接続できなかった場合は、セカンダリであるＬＤＡＰサーバ２００ｂのセカンダリポートに対して接続を行う。
【０１８７】
なお、ステップＳ１０２で、印刷モード８５０が「蓄積しない」に設定されていても、ＬＤＡＰサーバ２００に通信を行い通信が確立できる場合は、印刷モード８５０を「蓄積する」に変更し（モード設定）、ステップＳ１０９の処理に遷移するように構成する。
【０１８８】
ＮＩＣ  ＯＳ９００は、接続要求をもとにＬＤＡＰサーバ２００に接続を試行し（ステップＳ１０４）、アプリケーション８００は、接続試行が成功したか否かで分岐処理を行う（ステップＳ１０５）。言い換えるとＬＤＡＰサーバ２００への通信が可能か否かを判断する（通信判断）。
【０１８９】
より詳細には、プライマリであるＬＤＡＰサーバ２００ａ、およびセカンダリであるＬＤＡＰサーバ２００ｂの両方に接続できなかった場合、接続失敗とみなす。
【０１９０】
そして、アプリケーション８００は、ステップＳ１０６で印刷モード８５０を「蓄積しない」に変更し（モード設定）、認証キャッシュの確認を行う（ステップＳ１０７）。
【０１９１】
ＬＤＡＰサーバ２００に接続できなかった場合、印刷モード８５０を「蓄積しない」に変更するため、次回の印刷からはマスストレージ５００にジョブ３１０を保存せずに、印刷装置１０００から直接印刷することになる。従って、ＬＤＡＰサーバ２００と通信できない状態のときも印刷物を出力することが可能となる。
【０１９２】
アプリケーション８００は、認証キャッシュ８６０の確認を行う（ステップＳ１０７）。より詳細には、前段のステップＳ１００で取得したカードＩＤ２１１が認証キャッシュ８６０に登録されている１または複数のカードＩＤ２１１のいずれかに一致するかどうかを確認する（第２のユーザ識別情報判定）。
【０１９３】
ステップＳ１０７の結果、認証キャッシュ８６０に一致するカードＩＤ２１１があった場合は、アプリケーション８００は、カードＩＤ２１１に紐付けられたユーザ情報２１０を取得する（ステップＳ１０８−１）。
【０１９４】
一方、ステップＳ１０７の結果、認証キャッシュ８６０に一致するカードＩＤ２１１が見つからなかった場合は、アプリケーション８００は、図１８に示すメッセージからメッセージ２の「ＡＰサーバエラー」を選択し、ユーザ通知処理を行う（ステップＳ１０８−２）。
【０１９５】
認証キャッシュ８６０の確認を行うことで、ＬＤＡＰサーバ２００に接続できない場合でも認証を行うことが可能となり、業務を止めないシステムを実現している。また、認証キャッシュ８６０にカードＩＤに対応するユーザ情報２１０が見つからない場合は、エラーメッセージを通知している（ステップＳ１０８−２）が、実際はこの状況でユーザがＩＣカード４１０をかざすことはない。前述のように（ステップＳ００７）、ジョブ投入時に認証キャッシュ８６０の有無を確認しており、認証キャッシュ８６０にユーザが存在しない場合は、投入されたジョブ３１０を蓄積せずにそのまま出力するからである。よって、万一、認証キャッシュ８６０にユーザが存在しなかった場合でも、業務を止めることのないシステムを実現している。
【０１９６】
次に、図９に示すように、プライマリであるＬＤＡＰサーバ２００ａ、あるいはセカンダリであるＬＤＡＰサーバ２００ｂのいずれかに接続できた場合、アプリケーション８００はＬＤＡＰ認証を行う（ステップＳ１０９）。
【０１９７】
設定情報８０２のユーザ８３７及びパスワード８３８をＬＤＡＰサーバ２００に送信し、認証要求を発行する。なお、この認証処理に関しては、ＬＤＡＰサーバ２００が認証をしなければ検索をさせないという強固なセキュリティが施されている場合の処理である。他の実施形態として、検索を行うにあたって認証が必要ない設定（非認証の設定）がなされていた場合は、認証に伴うＳ１０９からＳ１１４までの処理を省略してもよい。
【０１９８】
ＮＩＣ  ＯＳ９００は、アプリケーション８００から伝達されたデータをＬＤＡＰサーバ２００に送信する（ステップＳ１１０）。
【０１９９】
ＬＤＡＰサーバ２００は、ＬＤＡＰサーバ２００が送信したデータのユーザ名でＬＤＡＰディレクトリ２０１を検索する。ユーザが見つかった場合、送信されたデータと対応するユーザのユーザ情報２１０に含まれるパスワード２１３を照合し、認証結果を返答する（ステップＳ１１１）。
【０２００】
ＮＩＣ  ＯＳ９００が、ＬＤＡＰサーバ２００から受信したデータをアプリケーション８００に伝達すると（ステップＳ１１２）、アプリケーション８００はＬＤＡＰ認証結果を受け取る（ステップＳ１１３）。
【０２０１】
アプリケーション８００は、前段Ｓ１１３での認証結果の可否により分岐処理を行い（ステップＳ１１４）、認証に失敗した場合、図１８に示すメッセージからメッセージ２の「ＡＰサーバエラー」を選択し、ユーザ通知処理を行う（ステップＳ１１５）。
【０２０２】
認証に成功した場合、アプリケーション８００は設定情報８０２をもとにカードＩＤ２１１の検索（読取対象物識別情報を含む認証要求）をＬＤＡＰサーバ２００に対して送信する。（ステップＳ１１６）。
【０２０３】
アプリケーション８００は、設定情報８０２のＳｕｆｆｉｘ８３１と識別コード８３２を用いて検索位置を指定する。
【０２０４】
ＮＩＣ  ＯＳ９００は、アプリケーション８００から伝達されたデータをＬＤＡＰサーバ２００へ送信する（ステップＳ１１７）。
【０２０５】
ＬＤＡＰサーバ２００は、アプリケーション８００から送信されたデータをもとにＬＤＡＰディレクトリ２０１を検索し、検索結果を返信する（ステップＳ１１８）。
【０２０６】
指定されたＳｕｆｆｉｘ８３１及び識別コード８３２以下にあるデータの中から、指定されたカードＩＤ２１１を探し、見つかったユーザ情報２１０を送信する。Ｓｕｆｆｉｘ８３１や識別コード８３２は、ＬＤＡＰディレクトリ２０１中のユーザの位置を特定するために指定する情報であり、一般的にＬＤＡＰ検索の際にＳｅａｒｃｈＢａｓｅとして指定される値である。
【０２０７】
ＮＩＣ  ＯＳ９００が、ＬＤＡＰサーバ２００から受信したデータをアプリケーション８００に伝達すると（ステップＳ１１９）、アプリケーション８００はＬＤＡＰサーバ２００からの検索結果を取得する（ステップＳ１２０）。
【０２０８】
次に、図１０に示すように、アプリケーション８００は、ＬＤＡＰサーバ２００からの検索結果を見てユーザ情報２１０が取得できたか、即ち、ユーザが存在したか否かにより分岐処理を行う（ステップＳ１２１）。
【０２０９】
ユーザ情報２１０が取得できない場合、アプリケーション８００は図１８に示すメッセージからメッセージ３の「ＡＰユーザミトウロク」を選択し、ユーザ通知処理を行う（ステップＳ１２２）。
【０２１０】
ユーザ情報が取得できた場合、アプリケーション８００はユーザ情報２１０の利用制限をもとに、ユーザに利用権があるか否かで分岐処理を行う（ステップＳ１２３）。
【０２１１】
利用制限には様々な設定方法が考えられるが、例えば、４桁の数字で利用権限を表現し、１桁目がプリンタの利用権限、２桁目がコピーの利用権限、３桁目がスキャンの利用権限、４桁目がファクスの利用権限とする。そして、その値が“０”は「使用不可能」、“１”は「モノクロのみ使用可能」、“２”は「カラーモノクロ双方利用可能」とする。そして、ユーザ情報２１０内の利用権限を参照し、プリンタの項目が“０”ならば「権限なし」、“１”あるいは“２”ならば「権限あり」、とみなすという方法が考えられる。
【０２１２】
利用権限がない場合、アプリケーション８００は図１８に示すメッセージからメッセージ４の「ＡＰユーザエラー」を選択し、ユーザ通知処理を行う（ステップＳ１２４）。
【０２１３】
また、ステップＳ１２３の結果、権限がある、と判断できた場合、アプリケーション８００はユーザ情報２１０をキャッシュする（ステップＳ１２４−１）。
【０２１４】
具体的には、ステップＳ１００で取得したカードＩＤ２１１を、認証キャッシュ８６０の主キーとなるカードＩＤ２１１とする。またそのカードＩＤ２１１に紐づくユーザ情報２１０として、ステップＳ１１１で取得したユーザ情報２１０を認証キャッシュ８６０に設定する。言い換えると、読取対象物識別情報とユーザ識別情報を含むユーザ情報を対応付けて記憶する。
【０２１５】
また、すでに認証キャッシュ８６０に同じカードＩＤ２１１が登録されていた場合、この設定を上書きする。これはＬＤＡＰサーバ２００上のデータが更新された場合、認証キャッシュ８６０のデータが古いまま残るのを避けるためである。
【０２１６】
また、取得したユーザ情報２１０がステップＳ１０８−１のように認証キャッシュ８６０から取得したユーザ情報２１０であった場合は、認証キャッシュ８６０の上書きは行わない。これは同一のデータであることは明白なので、余計な処理をしてパフォーマンス低下を招くことを避けるためである。
【０２１７】
図１１では、ＮＩＣ７００は、ＬＤＡＰサーバ２００と通信できる場合、マスストレージ５００からユーザ情報２１０に応じた印刷データを取得する。
【０２１８】
図１１に示すように、利用権限がある場合、アプリケーション８００は取得したユーザ情報２１０内のユーザ名をキーとして、ジョブリスト８０５の中からユーザ名が一致するジョブ情報８２０を抽出する（ステップＳ１２５）。
【０２１９】
アプリケーション８００は、抽出したジョブ情報８２０をリストにして実行リスト８０４を作成する（ステップＳ１２６）。
【０２２０】
アプリケーション８００は、取得したユーザ情報２１０の中からサブユーザを取得する（ステップＳ１２７）。
【０２２１】
直前にサブユーザ１を取得していれば、次のサブユーザ２を取得する。サブユーザに関連するＳ１２７からＳ１３０までの一連の処理は、一人のユーザで複数ユーザの印刷物を出力させるために行う処理である。例えば、従来はＩＣカード一枚につき１ユーザまでしか登録できなかったため、秘書が上司の印刷物を出力したい場合はＩＣカードを借りる必要があった。また、一人で２台のＰＣを使っているユーザは２枚のＩＣカードを携帯する必要があった。この一連のサブユーザに関連する処理を行うことにより、上記問題を解決し、１枚のＩＣカードで複数ユーザの印刷物を出力することが可能となる。
【０２２２】
アプリケーション８００は、取得したサブユーザをチェックし（ステップＳ１２８）、サブユーザ４までのすべてのサブユーザを取得した場合、あるいは、サブユーザが取得できなかった場合、登録されていなかった場合はＳ１３１へ進む。
【０２２３】
サブユーザが取得できた場合、アプリケーション８００はサブユーザに一致するジョブ情報８２０をジョブリスト８０５の中から抽出し（ステップＳ１２９）、抽出したジョブ情報８２０を実行リスト８０４に加える（ステップＳ１３０）。
【０２２４】
すべてのサブユーザを取得すると、アプリケーション８００は作成した実行リスト８０４をソートする（ステップＳ１３１）。
【０２２５】
ジョブ情報８２０をタイムスタンプ８２４でソートし、続いてユーザ名８２１でソートし、ユーザ名８２１のまとまりで時系列に並び替えられる。このソートにより、複数ユーザの印刷物を出力したいときにユーザ毎にまとまった出力物が得られ、分別の手間が省ける。また、各ユーザの印刷物はタイムアウト順に並んでいるため、印刷実行したユーザの指示通りの順番になりユーザにわかりやすい出力順になる。また、ソートの仕方についてはこの方法に限られず、ユーザ名でソートし、続いてタイムスタンプでソートしてもよい。
【０２２６】
次に、図１２に示すように、アプリケーション８００は、実行リスト８０４内のジョブ情報８２０の数をチェックし（ステップＳ１３２）、０件の場合、図１８に示すメッセージからメッセージ５の「ＡＰジョブナシ」を選択し、ユーザ通知処理を行う（ステップＳ１３３）。
【０２２７】
実行リスト８０４内のジョブ情報８２０の数が１件以上の場合、アプリケーション８００は実行リスト８０４内のジョブ情報８２０の数で、ループ処理を行う(ステップＳ１３４)。すべてのジョブ情報８２０を参照すると、ループ処理を終了する。このループ処理とは、実行リストにある全てのジョブ情報８２０に関して、ステップＳ１３５からステップＳ１３７を行う処理である。ステップＳ１３４では、つまり、実行リストにある全てのジョブ情報８２０について、当該処理を終えたかを判定し、当該処理を終えた判定すると、ステップＳ１３８へ進む。
【０２２８】
アプリケーション８００は、ジョブ投入可否を判定する（ステップＳ１３５）。通常、印刷機器はＲＡＭに制限があるため、一度に投入できる印刷ジョブを制限している。ジョブ投入可否を判定するのは、投入制限を越えているにも関わらずジョブを投入してしまい、印刷が失敗してしまうことを防ぐためである。
【０２２９】
次に、アプリケーション８００はウエイト処理を行う（ステップＳ１３６）。このウエイト処理は、ジョブが投入制限を越えて投入できない場合にループ（ステップＳ１３５からステップＳ１３７）を回り続け、ＣＰＵを占有してしまう現象を防ぐ。
【０２３０】
アプリケーション８００は、図１３に示す出力詳細処理を行い（ステップＳ１３７）、実行リスト８０４内のジョブ情報８２０をすべてクリアする（ステップＳ１３８）。
【０２３１】
次に、図１３を参照しながら、セキュアプリントシステム１のジョブ出力処理について説明する。
【０２３２】
図１３では、ＮＩＣ７００は、印刷データを印刷装置１０００に送信する。
【０２３３】
図１３に示すように、アプリケーション８００は、上位から渡されたジョブ情報８２０をもとに、ファイルシステム５０１内からジョブ３１０を取得する取得指示する（ステップＳ２０１）。アプリケーション８００は、ジョブ情報８２０に格納されているファイル名８２２に一致するファイルシステム５０１内のファイルの取得をマスストレージ５００に要求する。
【０２３４】
ＮＩＣ  ＯＳ９００が、アプリケーション８００からの指令をマスストレージ５００に伝達すると（ステップＳ２０２）、マスストレージ５００はファイルシステム５０１から指定のファイルを読み込んで、アプリケーション８００に返し（ステップＳ２０３）、ＮＩＣ  ＯＳ９００がマスストレージ５００からの指令をアプリケーション８００に伝達する（ステップＳ２０４）。
【０２３５】
アプリケーション８００は、ジョブ３１０を取得する（第２の印刷データ受付）。取得したジョブ３１０の復号化をＮＩＣ  ＯＳ９００に要求し、同時に復号化キーや復号化アルゴリズム等を指定する（ステップＳ２０５）。
【０２３６】
ＮＩＣ  ＯＳ９００は、データの復号化処理を行い（ステップＳ２０６）、アプリケーション８００は復号化されたジョブ３１０の印刷指示し出力を行う（ステップＳ２０７）。
【０２３７】
ＮＩＣ  ＯＳ９００は、アプリケーション８００から出力されたジョブ３１０と印刷指示を受け取り、印刷装置１０００に印刷情報管理プロトコル通信を用いてジョブ３１０の印刷指示を送る（ステップＳ２０８）。
【０２３８】
印刷装置１０００は、ジョブ３１０を受け取って受信バッファに格納し、スプール処理を行う（ステップＳ２０９）。受信バッファへの格納が終了すると、印刷装置１０００は印刷終了を待たずに制御をＮＩＣ  ＯＳ９００へ戻す。
【０２３９】
印刷装置１０００は、スプールされたジョブ３１０のデータの印刷情報管理ヘッダ３１１を解析する（ステップＳ２１０）。解析したデータは、図示しない内部ログデータなどに利用される。
【０２４０】
印刷装置１０００は、ジョブ３１０内のＰＤＬデータを解析して描画オブジェクトの中間データを作成して、中間データをもとにビットマップイメージを作成し（ステップＳ２１１）、作成したビットマップイメージを既知の印刷技術により用紙等のメディアに印刷を行う（ステップＳ２１２）。
【０２４１】
ＮＩＣ  ＯＳ９００が、印刷装置１０００の指令をアプリケーション８００へ伝達すると（ステップＳ２１３）、アプリケーション８００は該当するジョブ３１０をファイルシステム５０１からの削除をマスストレージ５００に要求する（ステップＳ２１４）。
【０２４２】
ＮＩＣ  ＯＳ９００が、アプリケーション８００の指令をマスストレージ５００へ伝達すると（ステップＳ２１５）、マスストレージ５００は指定されたジョブ３１０をファイルシステム５０１から削除する（ステップＳ２１６）。
【０２４３】
ＮＩＣ  ＯＳ９００は、マスストレージ５００からの指令をアプリケーション８００へ伝達する（ステップＳ２１７）。
【０２４４】
次に、図１４を参照しながら、セキュアプリントシステム１のＬＤＡＰサーバ監視処理について説明する。
【０２４５】
図１４では、ＮＩＣ７００は、一定間隔でＬＤＡＰサーバ２００と通信可能かどうかを確認する。また、ＮＩＣ７００は、ＬＤＡＰサーバ２００と通信可能、かつ印刷データをマスストレージ５００に記憶する設定が解除されている場合、その設定を再設定する。
【０２４６】
図１４に示すように、アプリケーション８００が、ＬＤＡＰサーバ監視処理をスレッドとしてＮＩＣ  ＯＳ９００に登録し、処理を開始すると（ステップＳ３０１）、ＮＩＣ  ＯＳ９００はアプリケーション８００が終了したかどうかをチェックする（ステップＳ３０２）。
【０２４７】
アプリケーション８００が終了していない場合、アプリケーション８００は設定情報８０２に設定されたプライマリであるＬＤＡＰサーバ２００ａ及びセカンダリであるＬＤＡＰサーバ２００ｂのポートへの接続をＮＩＣ  ＯＳ９００に要求し（ステップＳ３０３）、ＮＩＣ  ＯＳ９００は指定された２つのＬＤＡＰサーバ２００に接続を行う（ステップＳ３０４）。
【０２４８】
アプリケーション８００は、プライマリであるＬＤＡＰサーバ２００ａまたはセカンダリであるＬＤＡＰサーバ２００ｂのいずれかに接続できたかどうか確認を行い（ステップＳ３０５）、接続できた場合、印刷モード８５０を確認する（ステップＳ３０６）。
【０２４９】
印刷モード８５０が「蓄積しない」に設定されていた場合、アプリケーション８００は印刷モード８５０を「蓄積する」にモード設定する（ステップＳ３０７）。
【０２５０】
アプリケーション８００は、ウエイト処理を行い、ループによりＣＰＵを占有してしまう可能性を回避する（ステップＳ３０８）。
【０２５１】
次に、図１５を参照しながら、セキュアプリントシステム１のユーザ通知処理について説明する。
【０２５２】
図１５に示すように、アプリケーション８００は、上位から伝達されたメッセージ文字列を取得し（ステップＳ５０１）、ビープ音鳴動、及び指定のメッセージ表示をＮＩＣ  ＯＳ９００に要求する（ステップＳ５０２）。
【０２５３】
ＮＩＣ  ＯＳ９００は、印刷装置１０００の種別を判定し、適切な方法を使ってビープ音鳴動を指示する（ステップＳ５０３）。例えば、機種によってＵＤＰ、印刷情報管理プロトコル、ＪＬを使用したりするため、その情報をＮＩＣ  ＯＳ９００が吸収し、印刷装置１０００の機種にあった方法でビープ音鳴動指示をする。パネル表示については、ＭＩＢを用いて表示指示を印刷装置１０００に送る。
【０２５４】
印刷装置１０００は、指令を受け取り、ビープ音を鳴動させ（ステップＳ５０４）、パネルに指定されたメッセージを表示させる（ステップＳ５０５）。
【０２５５】
次に、図２９を参照しながら、セキュアプリントシステム１の標準印刷処理について説明する。
【０２５６】
図２９では、ＮＩＣ７００は、印刷装置１０００に印刷データを転送し、印刷装置１０００は印刷データを解析し、印刷物を出力する。
【０２５７】
図２９に示すように、ＮＩＣ  ＯＳ９００は上位から受け取ったジョブ３１０を印刷装置１０００に転送（出力）し（ステップＳ４０１）、印刷装置１０００は転送されたジョブ３１０を受け付け、受信バッファ１００１に格納し、スプール処理を行う（ステップＳ４０２）。
【０２５８】
印刷装置１０００は、スプールされたジョブ３１０の印刷情報管理ヘッダ３１１を解析する（ステップＳ４０３）。解析したデータは、図示しない内部ログデータなどに利用される。
【０２５９】
印刷装置１０００は、ジョブ３１０内のＰＤＬデータを解析し、描画オブジェクトの中間データを作成し、さらにその中間データをもとにビットマップイメージを作成する（ステップＳ４０４）。
【０２６０】
印刷装置１０００は、作成したビットマップイメージをプリンタエンジン部１０１４を介して用紙等のメディアに印刷を行う（ステップＳ４０５）。
【０２６１】
次に、図２８を参照しながら、本発明に係るセキュアプリントシステム１の全体の処理概要について説明する。
【０２６２】
図２８は、セキュアプリントシステム１の全体の処理概要を示す図である。
【０２６３】
ユーザがクライアントＰＣ３００にログインし（ステップ１−１）、データの印刷指示を行う（ステップ１−２）。
【０２６４】
プリンタドライバは、印刷装置１０００に対して、データからジョブを生成して送信する（ステップ２−１）。ここで、印刷モード８５０がジョブを蓄積しない設定になっていて、認証キャッシュ８６０にジョブを投入したユーザが存在しない場合は、ジョブはそのまま印刷装置１０００から出力される（ステップ２−２Ａ）。一方、印刷モード８５０がジョブを蓄積する設定になっている場合は、マスストレージ５００に格納する（ステップ２−２Ｂ）。
【０２６５】
印刷指示をしたユーザが、カードリーダ４００にＩＣカード４１０をかざす（ステップ３−１）。カードリーダ４００は、ＩＣカード４１０からカードＩＤ２１１を読み取って、印刷装置１０００に通知する（ステップ３−２）。
【０２６６】
印刷装置１０００は、受け取ったカードＩＤ２１１に一致するユーザ名をＬＤＡＰサーバ２００に問い合わせる（ステップ４−１）。ＬＤＡＰサーバ２００は、ＬＤＡＰディレクトリ２０１内を検索し、検索したユーザ名を印刷装置１０００に送信する（ステップ４−２）。同時にカードＩＤ２１１とユーザ名を含むユーザ情報２１０を認証キャッシュ８６０に記憶する。
【０２６７】
このとき、印刷装置１０００がＬＤＡＰサーバ２００と通信可能でない場合は、認証キャッシュ８６０のユーザ情報２１０からユーザ名を取得する。
【０２６８】
印刷装置１０００は、マスストレージ５００内からユーザ名に一致するジョブを取得し（ステップ５−１）、該当するジョブを印刷装置１０００に渡す（ステップ５−２）。
【０２６９】
印刷装置１０００は、受け取ったジョブを出力する（ステップ６−１）。
【０２７０】
このように本発明の実施の形態によれば、例えば認証サーバがダウンするなどの理由により認証できない場合にも、印刷業務を滞らせないための仕組みを提供することができる。
【０２７１】
本発明に係るセキュアプリントシステム１では、認証サーバが何らかの理由で動作しない場合でも、印刷を行うことが可能であるため、ユーザの業務をとめることがない可用性の高いシステムとなる。
【０２７２】
また、本発明に係るセキュアプリントシステム１では、プリンタサーバを使わないため、プリンタサーバに印刷データが蓄積されセキュリティホールになるという問題が解消され、より機密性の高いシステムとなる。また、プリンタサーバを使わないため、セキュアな印刷を行う際の環境構築コストを削減でき、より安価なシステムとなる。
【０２７３】
さらに、本発明に係るセキュアプリントシステム１では、プリンタサーバを使わないことにより、セキュアな印刷を行う蓄積印刷の場合も、あるいは、認証サーバが停止したときの蓄積印刷をしない場合でも、クライアントは違いを意識せずにまったく同じ操作で印刷ジョブを投入できるため、ユーザの利便性がより高いシステムとなる。
【０２７４】
また、本発明に係るセキュアプリントシステム１では、プリンタサーバを用いず、プリンタドライバの設定変更も不要なことから、導入設置が容易に行え、より手間のかからないシステムとなる。
【０２７５】
以上、添付図面を参照しながら本発明に係るセキュアプリントシステムおよびネットワークインタフェース装置等の好適な実施形態について説明したが、前述した実施の形態に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０２７６】
１０１  プリンタサーバ
１０２  認証サーバ
１５０  ＬＡＮ
１６０  ＵＳＢケーブル
２００  ＬＤＡＰサーバ
３００  クライアントＰＣ
４００  カードリーダ
５００  マスストレージ
６００  ＵＳＢハブ
７００  ＮＩＣ
８００  アプリケーション
９００  ＮＩＣ  ＯＳ
１０００  印刷装置
【図１】
2010170451.tif 000003
【図２】
2010170451.tif 000004
【図３】
2010170451.tif 000005
【図４】
2010170451.tif 000006
【図５】
2010170451.tif 000007
【図６】
2010170451.tif 000008
【図７】
2010170451.tif 000009
【図８】
2010170451.tif 000010
【図９】
2010170451.tif 000011
【図１０】
2010170451.tif 000012
【図１１】
2010170451.tif 000013
【図１２】
2010170451.tif 000014
【図１３】
2010170451.tif 000015
【図１４】
2010170451.tif 000016
【図１５】
2010170451.tif 000017
【図１６】
2010170451.tif 000018
【図１７】
2010170451.tif 000019
【図１８】
2010170451.tif 000020
【図１９】
2010170451.tif 000021
【図２０】
2010170451.tif 000022
【図２１】
2010170451.tif 000023
【図２２】
2010170451.tif 000024
【図２３】
2010170451.tif 000025
【図２４】
2010170451.tif 000026
【図２５】
2010170451.tif 000027
【図２６】
2010170451.tif 000028
【図２７】
2010170451.tif 000029
【図２８】
2010170451.tif 000030
【図２９】
2010170451.tif 000031
【図３０】
2010170451.tif 000032