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