説明

ネットワークインタフェース装置、印刷制御方法、印刷制御プログラム、および画像形成装置

【課題】認証サーバがダウンするなどの理由により認証できない場合にも、印刷業務を滞らせないためのネットワークインタフェース装置等を提供する。
【解決手段】ユーザがデータの印刷指示を行うと、プリンタドライバは印刷装置1000にジョブを送信し、印刷装置1000上でNIC700がポートの監視を行っていなければジョブは印刷装置1000から出力される。監視を行っている場合、マスストレージ500にジョブを格納する。ユーザがカードリーダ400にICカード410をかざすと、カードリーダ400はカードID211を読み取り、印刷装置1000に通知する。LDAPサーバ200は、LDAPディレクトリ201内から検索したユーザ名を印刷装置1000に送信する。印刷装置1000は、マスストレージ500内からユーザ名に一致するジョブを取得し、受け取ったジョブを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データを生成する情報処理装置と、ユーザの認証を行う認証サーバと通信可能に接続される画像形成装置に設けられるネットワークインタフェース装置、印刷制御方法、印刷制御プログラム、および画像形成装置に関する。
【背景技術】
【0002】
従来から、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行うことで、印刷装置から印刷データの出力を可能にする所謂「プルプリント(蓄積印刷)」のプリントシステムが提案されている。
「プルプリント(蓄積印刷)」のプリントシステムの例として、特許文献1が挙げられる。特許文献1には、複合機に認証機能を備え、セキュリティを考慮した印刷制御システムが開示されている。
【0003】
特許文献1は以下の通りである。
特許文献1の図4に示されるように、まず、ユーザは、クライアントPC(Personal Computer)100にログインする((1)−1)。そしてクライアントPC100からプリンタへの印刷指示を行う((1)−2)。そして、クライアントPC100は、生成した印刷データをプリントサーバ200に送信して((2)−1)、プリントサーバ200の所定の格納場所に格納させる((2)−2)。この時点で印刷装置へは印刷データを送信しない。
次に、クライアントPC100は、プリントサーバ200に送信した印刷データの書誌情報データを生成し、該生成した書誌情報データを印刷管理サーバ400に送信して、印刷管理サーバ400の所定の格納場所に格納させる((3)−1)。印刷管理サーバ400は、クライアントPC100から書誌情報データファイルが格納されると、該書誌情報データファイルを解析し書誌情報を書誌情報DBに登録する((3)−2)。次に、複合機300は、カードリーダによりICカード410を検知すると、該ICカード410内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として印刷管理サーバ400に送信する((4)−1)。印刷管理サーバ400は、複合機300より個人認証情報を受信すると、該個人認証情報の認証処理を印刷管理サーバ400の外部記憶装置上に記憶されるICカード認証用テーブルに基づいて行い、認証結果を複合機300に返信する((4)−2)。
【0004】
次に、複合機300は、印刷管理サーバ400から、認証に成功した旨の認証結果(クライアントPC100のログインユーザID)を受信すると、印刷管理サーバ400に印刷データ一覧要求を送信する((5)−1)。
なお、印刷データ一覧要求には、クライアントPC100のログインユーザIDが含まれているものとする。印刷管理サーバ400は、複合機300から印刷データ一覧要求を受信すると、該印刷データ一覧要求に含まれるログインユーザIDで書誌情報DBを検索して、該ログインユーザIDに対応する印刷データ一覧を生成し、複合機300に返信する((5)−2)。複合機300は、印刷管理サーバ400から印刷データ一覧を受信すると、該印刷データ一覧を操作部308のUI上に表示する。そして、ユーザにより、印刷データが選択され、印刷指示がなされると、複合機300は、該選択された印刷データの印刷要求(出力指示)を印刷管理サーバ400に送信する(6)。
【0005】
印刷管理サーバ400は、複合機300から印刷データの印刷要求(出力指示)を受信すると、該出力指示がなされた印刷データの書誌情報を、クライアントPC100のログインユーザ名,印刷データのタイムスタンプをキーにして書誌情報DBから検索し、該検索した書誌情報から該当する印刷データを格納しているプリントサーバ200を特定し、該プリントサーバ200に該当する印刷データの印刷指示を送信する(7)。プリントサーバ200は、印刷管理サーバ400から印刷指示を受信すると、該印刷指示に基づいて印刷データを複合機300に送信して複合機300で印刷させる(8)。
【0006】
上記の方法によれば、印刷物が出力されるのは、ユーザが印刷装置からサーバ上に印刷要求を行ったときとなるので、印刷物が長時間放置されることを防ぐことができ、セキュアなプリントシステムを実現できる。
しかし、認証サーバがダウンしているときなど、認証サーバと通信できない場合、認証ができないために印刷することができず、業務を滞らせてしまうという問題があった。
【0007】
この問題を解決するために、特許文献2に示す技術が開示されている。
特許文献2では、蓄積されている印刷データから、ユーザ情報に合致するジョブのみをユーザに示す機能は備えていないが、一時蓄積された印刷データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能とするプルプリントシステムの一例である。この方法では、認証サーバと通信できない場合に、認証要求をするユーザが印刷しようとしている文書の所有者であるかどうかを、事前に登録しておいた印刷装置自体の認証情報を使用して、ローカル認証をする。
これにより、認証サーバと通信できない場合でも、印刷を行うことができる。
【0008】
【特許文献1】特開2006−99714号公報
【特許文献2】特開2005−173816号広報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上記の方法では、従来の認証用サーバ以外にも印刷装置それぞれが認証機能を持つという構成のため、ユーザ情報が様々な場所で管理されてしまう。従って、ユーザ情報を更新する場合に、認証用サーバの情報はもちろん、各印刷装置の認証情報も更新する必要が発生し、近年のようにオフィスに複数台印刷装置を設置している場合など、更新作業が大変煩雑であるという問題がある。また、必ずどこかで認証することを想定しており、全ての認証サーバがダウンしたときには、業務が停滞してしまうという問題がある。
【0010】
本発明の目的は、例えば認証サーバがダウンするなどの理由により認証できない場合にも、印刷業務を滞らせないための仕組みを提供することである。
【課題を解決するための手段】
【0011】
前述した目的を達成するために第1の発明は、画像形成装置に接続され、印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置であって、 前記情報処理装置から、印刷データを受け付ける受付手段と、
前記印刷データを記憶する記憶手段と、
ユーザを識別するためのユーザ識別情報の受付に応じて、前記ユーザ識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、
前記認証サーバに通信可能か否かを判断する判断手段と、
前記判断手段が、前記認証サーバに通信可能であると判断した場合、前記記憶手段によって記憶されている印刷データから、前記ユーザ識別情報に応じた印刷データを取得する取得手段と、
前記判断手段が、前記認証サーバに通信可能でないと判断した場合、前記受付手段で受け付けた前記印刷データを、前記記憶手段によって記憶する設定を解除する解除手段と、
前記取得手段で取得した印刷データ、または、前記解除手段により前記設定が解除されている場合、前記受付手段で受け付けた印刷データを、前記画像形成装置で印字するために、前記画像形成装置に送信する送信手段と、
を備えることを特徴とするネットワークインタフェース装置である。
【0012】
第1の発明に係るネットワークインタフェース装置によって、認証サーバが何らかの理由で動作しない場合でも、印刷を行うことが可能であるため、ユーザの業務をとめることがない可用性の高いセキュアプリントシステムを構築できる。
また、プリンタサーバを使わないため、プリンタサーバに印刷データが蓄積されセキュリティホールになるという問題が解消され、より機密性の高いセキュアプリントシステムを構築できる。また、プリンタサーバを使わないため、セキュアな印刷を行う際の環境構築コストを削減でき、より安価なセキュアプリントシステムを構築できる。
【0013】
前記ネットワークインタフェース装置は、一定間隔で前記認証サーバと通信可能かどうかを確認する接続確認手段と、前記接続確認手段が前記認証サーバと通信可能であると判断した場合、かつ前記受付手段で受け付けた前記印刷データを前記記憶手段によって記憶する設定が解除されている場合、前記設定を再設定する第1の再設定手段と、を更に備える。
前記ネットワークインタフェース装置の前記判断手段が、前記認証サーバと通信可能であると判断した場合、かつ前記受付手段で受け付けた印刷データを前記記憶手段によって記憶する設定が解除されている場合、前記設定を再設定する第2の再設定手段、を更に備える。
第1の発明に係るネットワークインタフェース装置が第1の再設定手段、または第2の再設定手段を備えれば、一定間隔、あるいは、ユーザが認証をしようとしたときに認証サーバが通信可能かどうか判断するため、認証サーバが復帰していると自動的に印刷切り替えも復帰する。
【0014】
前記ユーザ識別情報は、当該ユーザ識別情報に対応するユーザとは異なるユーザの情報であるサブユーザ情報と紐付けて管理する。
前記ネットワークインタフェース装置の前記取得手段は、前記記憶手段から前記ユーザ識別情報に応じた印刷データに加え、前記サブユーザ情報に応じた印刷データを取得する。
従来、ICカード一枚につき1ユーザまでしか登録できなかったため、秘書が上司の印刷物を出力したい場合はICカードを借りなければならず、一人で複数台のPCを使っているユーザは複数枚のICカードを携帯する必要があった。第1の発明に係るユーザ識別情報をサブユーザ情報と紐付けて管理することにより、1枚のICカードで複数ユーザの印刷物を出力することが可能となる。
【0015】
前記ネットワークインタフェース装置の前記解除手段は、前記印刷データに設定されるポート番号を、監視対象から除外する。
前記記憶手段は、前記受付手段で受け付けた前記印刷データを暗号化して記憶する。
印刷データを暗号化して記憶することにより、蓄積印刷の場合も高い機密性が期待できる。
【0016】
第2の発明は、画像形成装置に接続され、印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信し、記憶部を備えるネットワークインタフェース装置における印刷制御方法であって、前記情報処理装置から、印刷データを受け付ける受付工程と、前記印刷データを、前記記憶手段に記憶する記憶工程と、ユーザを識別するためのユーザ識別情報の受付に従って、前記ユーザ識別情報を含む認証要求を前記認証サーバへ送信する送信工程と、前記認証サーバに通信可能か否かを判断する判断工程と、前記判断工程が、前記認証サーバに通信可能であると判断した場合、前記記憶手段から前記ユーザ識別情報に応じた前記印刷データを取得する取得工程と、前記判断工程が、前記認証サーバに通信可能でないと判断した場合、前記受付工程で受け付けた前記印刷データを、前記記憶手段に記憶する設定を解除する解除工程と、前記取得工程で取得した印刷データ、または、前記解除工程により前記設定が解除されている場合、前記受付工程で受け付けた前記印刷データを、前記画像形成装置で印字するために、前記画像形成装置に送信する送信工程と、を含むことを特徴とする印刷制御方法である。
【0017】
第3の発明は、ネットワークインタフェース装置において、第2の発明の方法を実行させる印刷制御プログラムである。
【0018】
第4の発明は、印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置を有する画像形成装置であって、前記ネットワークインタフェース装置は、前記情報処理装置から、印刷データを受け付ける受付手段と、前記印刷データを記憶する記憶手段と、ユーザを識別するためのユーザ識別情報の受付に応じて、前記ユーザ識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、前記認証サーバに通信可能か否かを判断する判断手段と、前記判断手段が、前記認証サーバに通信可能であると判断した場合、前記記憶手段によって記憶されている印刷データから、前記ユーザ識別情報に応じた印刷データを取得する取得手段と、前記判断手段が、前記認証サーバに通信可能でないと判断した場合、前記受付手段で受け付けた前記印刷データを、前記記憶手段によって記憶する設定を解除する解除手段と、前記取得手段で取得した印刷データ、または、前記解除手段により前記設定が解除されている場合、前記受付手段で受け付けた印刷データを、前記画像形成装置で印字するために、前記画像形成装置に送信する送信手段と、を備えることを特徴とし、前記送信手段によって、前記ネットワークインタフェース装置より送信された印刷データを受け付ける受付手段と、記受付手段で受け付けた印刷データを出力する出力手段と、を備えることを特徴とする画像形成装置である。
【発明の効果】
【0019】
本発明によれば、例えば認証サーバがダウンするなどの理由により認証できない場合にも、印刷業務を滞らせないための仕組みを提供することができる。
【発明を実施するための最良の形態】
【0020】
以下、添付図面を参照しながら、本発明に係るセキュアプリントシステムの好適な実施形態について詳細に説明する。
図1は、従来のセキュアプリントシステムの構成の一例を示す図である。
【0021】
図1に示すように、例えば、階毎に設置する1又は複数の印刷装置1000、管理者に1台、ユーザ毎に1台ずつというように設置する1又は複数のクライアントPC300、拠点毎に設置する1又は複数のプリンタサーバ101、拠点毎に設置する1又は複数の認証サーバ102がLAN(Local Area Network)150を介して接続される。また、印刷装置1000には、USBケーブル160を介してカードリーダ400が接続される。
【0022】
クライアントPC300は、印刷装置1000の設定を行うPCある。クライアントPC300は、LAN150を介して、例えば、HTTP(Hyper Text Transfer Protocol)、TCP/IP(Transmission Control Protocol/Internet Protocol)などによって、印刷装置1000と通信することができる機能を搭載したPCである。
また、クライアントPC300は、ユーザから印刷ジョブを投入するためのPCである。ユーザがクライアントPC300上で動くアプリケーションからプリンタドライバを介して印刷ジョブを生成すると、プリンタドライバがLPR(Line PRinter daemon protocol)等の印刷プロトコルを用いて、印刷ジョブを印刷装置1000やプリンタサーバ101に送信することができる。
【0023】
プリンタサーバ101は、クライアントPC300から印刷ジョブを受け取り、印刷ジョブを解析してジョブ情報を取得し、印刷ジョブを蓄積する。また、印刷装置1000から印刷要求を受け取り、印刷要求に含まれるユーザ名をもとにして、蓄積ジョブからユーザのジョブを検索し、見つかったユーザのジョブを印刷装置1000に対して印刷指示を行う。
【0024】
認証サーバ102は、印刷装置1000がユーザ認証を行うためのサーバである。カードID211に紐づくユーザ名、メールアドレス、利用権限等のデータを持っている。認証サーバ102は、印刷装置1000からの問い合わせに対して、ユーザの有無と、ユーザが存在する場合はそのユーザ情報を返答する機能を有する。
【0025】
カードリーダ400は、USBケーブル160を介して印刷装置1000に接続される。
カードリーダ400は、ICカード410(例えば、ソニー(登録商標)社のフェリカ(FeliCa)(登録商標))がかざされるとカード内部の情報を読み取り、USBケーブル160を介して印刷装置1000に通知する。
【0026】
次に、図2を参照しながら、本発明に係るセキュアプリントシステム1について説明する。
図2は、本発明に係るセキュアプリントシステム1の構成の一例を示す図である。
【0027】
図2に示すセキュアプリントシステム1は、LAN150を介してクライアントPC(情報処理装置)300、LDAP(Lightweight Directory Access Protocol)サーバ(認証サーバ)200、NIC(ネットワークインタフェース装置)700が接続される。印刷装置1000には、NIC(ネットワークインタフェース装置)700が挿入される。
NIC700は、USBケーブル160、USBハブ600を介してマスストレージ(記憶部)500、カードリーダ400を接続している。
マスストレージ500及びUSBハブ600がNIC700を介して印刷装置1000に外付けされているが、印刷装置1000に内蔵するようにしてもよい。また、NIC700が複数のUSBポート160を有する場合はUSBハブ600を介する必要はなく、NIC700にカードリーダ400及びマスストレージ500が直接接続される。
【0028】
LDAPサーバ200は、図1の認証サーバ102の役割を行うもので、LDAPプロトコルにて通信を行う機能を有する。LDAPサーバ200は、内部のディレクトリにユーザ情報を一元管理することができる。LDAPサーバ200は、1つのサーバで構成しても良い。また、LDAPサーバ200は、後述するように、プライマリおよびセカンダリの2つのサーバによって構成しても良い。また、LDAPサーバ200は、3つ以上のサーバによって構成しても良い。いずれの場合であっても、LDAPサーバ200がダウンするとは、LDAPサーバ200を構成する全てのサーバがダウンしたことを意味するものとする。
図2では、LDAPサーバ200を使用しているが、認証を行うことができるサーバであればLDAPサーバに限らない。
クライアントPC300は、印刷データを生成する情報処理装置である。
【0029】
マスストレージ500は、HDD(Hard Disk Drive)やフラッシュメモリのような大容量のファイルシステムを持つハードウエアで、USBケーブル160を介してUSBハブ600に接続している。
マスストレージ500は、印刷装置1000からファイル書き込み、読み込み、削除等のファイルシステムの制御を行うことが可能である。
【0030】
次に、図3、4、5を参照しながら、クライアントPC300、LDAPサーバ200、印刷装置1000、NIC700について説明する。
図3は、LDAPサーバ200、クライアントPC300のハードウエア構成を示す図、図4は、印刷装置1000のハードウエア構成を示す図、図5は、NIC700のハードウエア構成を示す図である。
【0031】
図3に示すように、LDAPサーバ200、クライアントPC300は、システムバス2004を介してCPU(Central Processing Unit)2001、RAM(Random Access Memory)2002、ROM(Read Only Memory)2003、入力コントローラ2005、ビデオコントローラ2006、メモリコントローラ2007、通信I/Fコントローラ2008が接続される。
【0032】
CPU2001は、システムバス2004に接続される各デバイスやコントローラを統括的に制御する。
ROM2003あるいは外部メモリ2011は、CPU2001の制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating Systems)や、各サーバあるいは各PCが実行する各種プログラム等を保持している。
RAM2002は、CPU2001の主メモリ、ワークエリア等として機能する。CPU2001は、処理の実行に際して必要なプログラム等をROM2003あるいは外部メモリ2011からRAM2002にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0033】
入力コントローラ2005は、キーボード(KB)2009やマウス(図示しない)等のポインティングデバイス等からの入力を制御する。
ビデオコントローラ2006は、CRT(Cathode Ray Tube)2010等の表示器への表示を制御する。表示器はCRTに限らず、液晶ディスプレイ等の他の表示器でもよい。これらは、必要に応じて管理者が使用する。
【0034】
メモリコントローラ2007は、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、あるいは、PCMCIA(Personal Computer Memory Card International Association)カードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ2011へのアクセスを制御する。
通信I/Fコントローラ2008は、LAN150のようなネットワークを介して外部機器と接続・通信し、ネットワーク上での通信制御処理を実行する。通信I/Fコントローラ2008は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いた通信等が可能である。
【0035】
CPU2001は、例えばRAM2002内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT2010上に表示することが可能である。また、CPU2001は、CRT2010上のマウスカーソル(図示しない)等によるユーザ指示を可能とする。
LDAPサーバ200、クライアントPC300のハードウエア上で動作する各種プログラムは、外部メモリ2011に記録されており、必要に応じてRAM2002にロードされ、CPU2001により実行される。プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等は、外部メモリ2011に格納されている。
【0036】
次に、印刷装置1000のハードウエア構成について説明する。
図4に示すように、印刷装置1000は、入力部3000、CPU3001、操作部3002、印刷処理部3003、記憶部3004、出力カセット3005、用紙カセット3006等を有する。
【0037】
入力部3000は、本印刷装置とNIC700を接続するものであり、NIC700とのデータ通信を制御する。
CPU3001は、印刷装置1000全体の動作を制御する。
操作部3002は、印刷装置1000に直接ユーザによる操作のインタフェースを提供する。
印刷処理部3003は、入力部3000で受信したコマンドの解析、印刷データ(PDL)の解析等を行う。
記憶部3004は、印刷装置1000を動作させるためのROM(図示しない)、RAM(図示しない)、二次記憶装置(図示しない)等からなる。RAMは使用制限のないデータ記憶領域で、入力部3000の受信バッファ、あるいは、印刷処理部3003でのデータ展開等に使用する。
出力部3005は、入力部3000で受信した印刷データを、印刷処理部3003で印刷可能なイメージ情報に展開したものを紙に転写する。
用紙カセット3006は、出力部3005の処理に合わせて適切な用紙を供給する。
【0038】
NIC700は、ネットワークインタフェースカードであり、LAN150を介して他の機器から受信したデータをNIC700が窓口となって受け取り、NIC内部のプログラム(図示しない)や、印刷装置1000の入力部3000に渡す。
【0039】
次に、NIC700のハードウエア構成について説明する。
図5に示すように、NIC700は、CPU4001、RAM4002、通信I/Fコントローラ4003、USBI/Fコントローラ4004、内部メモリ4005、メモリコントローラ4006、ROM4007、機器I/Fコントローラ4008等を有する。
【0040】
CPU4001はNIC700の制御を行うもので、内部で接続されている装置を制御する。
RAM4002は、CPU4001の主メモリ、ワークエリア等として機能する。CPU4001は、処理の実行に際して必要なプログラム等をROM4007あるいは内部メモリ4005からRAM4002にロードして、ロードしたプログラムを実行する。
通信I/Fコントローラ4003は、LAN150のようなネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPやUDP(User Datagram Protocol)などの通信プロトコルを用いた通信が可能である。
【0041】
USBI/Fコントローラ4004は、カードリーダ400、マスストレージ500及びUSBハブ600などのUSB機器とNIC700を接続、通信するもので、USBの通信制御処理を実行する。
内部メモリ4005は、NIC700を制御するOSが搭載されており、またOS上で動作するアプリケーションプログラム、その設定情報を記憶する。
メモリコントローラ4006は、各種のアプリケーション、各種データ等を記憶する内部メモリ4005へのアクセスを制御する。
ROM4007は、読み出し専用の半導体メモリであり、電源を切っても内容が消えないことからブートプログラムが格納される。
機器I/Fコントローラ4008は、NIC700と印刷装置1000を接続、通信する。
【0042】
次に、図6、16、17、19、20、21、22、23、24、25、26、27を参照しながら、セキュアプリントシステム1の全体の処理の流れについて説明する。
図6は、本発明に係るセキュアプリントシステム1の構成を示すブロック図、図16は、設定情報802の一例を示す図、図17は、監視ポート907の詳細を示す図、図19は、ジョブ310の詳細を示す図、図20は、印刷情報管理ヘッダ311の詳細を示す図、図21は、ジョブ情報820の詳細を示す図、図22は、ジョブリスト805の詳細を示す図、図23は、実行リスト804の詳細を示す図、図24は、ファイルシステム501の詳細を示す図、図25は、ICカード410の詳細を示す図、図26は、ユーザ情報210の一例を示す図、図27は、LDAPディレクトリの詳細を示す図である。
【0043】
セキュアプリントシステム1は、LDAPサーバ200とクライアントPC300、印刷装置1000に接続されたNIC700が、双方向通信可能なLAN150を介して接続している。NIC700には、USB通信可能なUSBケーブル160を介して、マスストレージ500、USBハブ600及びカードリーダ400が接続している。
【0044】
LDAPサーバ200は、LDAPディレクトリ201、LDAP機能部202、I/Fドライバ部190等を有する。LDAPサーバ200、は冗長構成をとることが可能で、複数台設置してもよい。
LDAPサーバ200は、システム内でのユーザ情報の検索という役割を有するため、ユーザ情報の格納及び検索機能を持つサーバであればLDAPサーバに限らない。
【0045】
LDAPディレクトリ201は、図27に示すデータを格納している。
LDAPディレクトリ201は、データ群をまとめる最上位の単位Suffixの下に識別コードが1または複数配備されており、さらに、その識別コードの下に1または複数のユーザ情報210が格納される。
一般的に、識別コードはOU(Organization Unit)で構築される。また、Active
Directory(登録商標)では、Suffixがドメインという単位にあたる。
ユーザ情報210は、図26に示すようにカードID211、ユーザ名212、パスワード213、サブユーザ1 214、サブユーザ2 215、サブユーザ3 216、サブユーザ4 217、利用制限218等を有する。
【0046】
カードID211は、図25に示すように、ユーザのICカード410のIDを登録するもので、suffixの中で一意となる値である。
ユーザ名212は、カードID211と一致するICカード410を保持しているユーザの名前である。
パスワード213は、ユーザの認証を行う際に、本人確認を行うために格納される。
サブユーザ1〜4 214〜217は、ユーザが使っているメインのユーザ名212とは別の名前で、ユーザが他のユーザの代理を行う場合に使用するユーザ名である。
利用制限218は、印刷装置1000を利用する上での制限情報が格納されている。
【0047】
LDAP機能部202は、LDAPプロトコルに従って通信の接続、認証、検索、変更、追加、削除、切断等を行う。
接続では、接続要求を発行したクライアントに対して、論理的な通信経路を確保する。
認証では、認証要求を発行したユーザ名を、LDAPディレクトリ201内から検索し、パスワードの照合を行って認証結果を返答する。
検索では、検索要求を受けた値を元に、LDAPディレクトリ201から該当するユーザを検索し、一致したユーザ情報210を返答する。
【0048】
I/Fドライバ部190は、LAN150等のネットワークを介して外部機器と接続・通信を行うもので、TCP/IPやUDPなどの通信プロトコルに従って通信を制御する。
【0049】
クライアントPC300は、アプリケーション部301、プリンタドライバ部302、送信バッファ303、I/Fドライバ部190等を有する。
アプリケーション部301は、ユーザにグラフィックユーザインタフェースを提供し、ユーザの目的に適った画像データを生成する。
プリンタドライバ部302は、アプリケーション部301が生成した画像データを印刷装置1000で印刷可能なページ記述言語(PDL)データに変換する。さらに、PDLデータに対して、図20に示すようにジョブオーナ312、ジョブ名313等のジョブ情報を含んだ印刷情報管理ヘッダ311を付与し、図19に示すジョブ310を作成する。
送信バッファ303は、プリンタドライバ部302が作成したジョブ310を一時的に格納し、スプールを実現する。
【0050】
USBハブ600は、USB通信部195等を有する。USBハブ600は、USBデータを中継し、USBハブ600に接続された機器のUSBデータを他の各機器へ転送する。
USB通信部195は、USB仕様に従ってコントロール転送、インタラプト転送、バルク転送、アイソクロナス転送などのデータ通信を行う。データ転送することが必要条件であり、転送速度やUSBバージョンなどは特に問わない。
【0051】
マスストレージ500は、ファイルシステム501、ファイルシステム管理部502、USB通信部195等を有する。
図24に示すように、ファイルシステム501はジョブ310を内部記憶装置(図示しない)に格納する。また、ジョブ310の書き込み、読み込み、削除を行う。
【0052】
カードリーダ400は、USB通信部195、カード読取部401等を有する。
カード読取部401は、ICカード410からカードID211を読み取るためのものである。ICカード410がカードリーダ400にかざされると、ICカード410からカードID211等の情報を読み取り、USB通信部195を介して接続された他機器に情報を伝達する。
【0053】
NIC700は、アプリケーション800、NIC OS900等を有する。
アプリケーション800は、NIC OS900上で動作するプログラムである。
NIC OS900は、NIC700を制御すると同時に、NIC700上のアプリケーション800の管理、印刷装置1000への各種指示なども行う。
【0054】
NIC700のアプリケーション800は、設定情報管理部801、設定情報802、LPR通信部803、実行リスト804、ジョブリスト805、LDAP通信部806、LDAPサーバ監視部807、印刷情報管理プロトコル解析部808、リスト管理部809、ユーザ通知部810、カードリーダ管理部811、ファイル管理部812、印刷指示部813、ビープ指示部814、パネル表示指示部815等を有する。
【0055】
設定情報管理部801は、図16に示すアプリケーション800の実行に必要な設定情報802を管理するもので、設定情報802の書き込み、読み出しを行う。
クライアントPC300が、ブラウザを使ってアプリケーション800にアクセスしてアプリケーション800の設定情報を設定し、アプリケーション800がクライアントPC300からの指示を受け取ると、設定情報管理部801は、設定されたデータを設定情報802として保持する。
設定情報802は、Suffix831、識別コード832、プライマリサーバ833、プライマリポート834、セカンダリサーバ835、セカンダリポート836、ユーザ837、パスワード838等を有する。
【0056】
Suffix831、識別コード832は、LDAPサーバ200に検索要求を発行する際、検索場所を指定する条件となる。
プライマリサーバ833、プライマリポート834、セカンダリサーバ835、セカンダリポート836は、LDAPサーバ200に接続するための情報である。LDAPサーバ200は冗長構成をとることができるため、プライマリ・セカンダリのように複数台の設定することが可能となっている。
ユーザ837、パスワード838は、LDAPサーバ200に認証要求を発行する際に必要な情報である。
【0057】
LPR通信部803は、LPR印刷プロトコルを解析し、通信を行うもので、クライアントPC300からジョブ310を受け取る際のプロトコルを解析し、通信する。
ここでは、例示的にLPRと記したが、印刷プロトコルであれば特にLPRに限らない。
【0058】
実行リスト804は、図23で示されるもので、図22に示すジョブリスト805のサブセットである。印刷を実施するときは、実行リスト804に格納されたジョブ情報310をもとに印刷指示を行う。
ジョブリスト805は、図21に示すジョブ情報820で構成されている。ジョブ情報820は、ジョブ310を管理するために必要な情報を抽出した情報で、ユーザ名821、ファイル名822、ジョブ名823、タイムスタンプ824等を有する。ジョブリスト805は、ファイルシステム501に格納されているジョブ310の情報をすべて保持している。
【0059】
LDAP通信部806は、LDAPサーバ200とLDAPプロトコルに従って通信を行うもので、設定情報802のプライマリサーバ及びプライマリポートで指定されるLDAPサーバ200に接続する。
LDAP通信部806は、設定情報802のユーザ837及びパスワード838用いて認証を行う。また、LDAP通信部806は設定情報802のSuffix831、識別コード832を検索場所として、カードID211に紐づくユーザ情報210(図30)を検索する。プライマリにもセカンダリにもアクセスできなかった場合、監視ポート907から印刷ポートの指定を解除する。
【0060】
LDAPサーバ監視部807は、LDAPサーバ200とNIC700が通信できる状態にあるかどうかを定期的に監視する。実際の接続処理等は、LDAP通信部806を通じて行われる。監視処理中に、LDAPサーバ200とNIC700が通信できると判断した場合で、かつ監視ポート907に印刷ポートが設定されていない場合、監視ポート907に印刷ポートを追加する。これにより、サーバダウン時の印刷切り替えの復帰を実現する。
【0061】
印刷情報管理プロトコル解析部808は、ジョブ310に含まれる印刷情報管理ヘッダ311を解析する。印刷情報管理ヘッダ311は、PDLデータの先頭に付加されるバイナリデータで、様々なジョブ情報が含まれる。
印刷情報管理ヘッダ311に含まれるジョブオーナ312とジョブ名313を取得し、ジョブ情報820を作成する際、印刷情報管理プロトコル解析部808で解析した値を利用する。
【0062】
リスト管理部809は、実行リスト804及びジョブリスト805を管理する。ジョブ310がファイルシステム501に書き込まれると、ジョブ情報820をファイル管理部812から受け取り、ジョブリスト804に追加して管理する。また、ジョブリスト805の中でLDAP通信部806から渡されたユーザ名に一致したジョブ情報820を抽出し、実行リスト804を作成する。リスト管理部809は、印刷完了時にファイル管理部812から通知を受け、該当するジョブ情報820をジョブリスト805から削除する。
【0063】
ユーザ通知部810は、印刷装置1000を利用しているユーザに対して、エラーなどを通知する。ユーザ通知部810は、NIC OS900に対してビープ指示し、印刷装置1000からビープ音を鳴動させてユーザの聴覚に訴えたり、パネル表示指示を行って任意の文字を印刷装置1000のパネルに表示し、ユーザの視覚に訴えたりする機能を持つ。
【0064】
カードリーダ管理部811は、NIC700にUSB160を介して接続されたカードリーダ400を制御するためのものである。ICカード410がカードリーダ400にかざされると、カードリーダ管理部811はカードID211を取得する。
【0065】
ファイル管理部812は、ジョブ310をアプリケーション800内で管理する。ファイル管理部812は、ジョブ310を暗号化してファイルシステム501に格納したり、ジョブ310を復号化し、印刷指示部813にジョブ310を送ったり、あるいは、印刷指示部813へのジョブ投入が終わったタイミングで、該当するジョブ310をファイルシステム501から削除する。
【0066】
印刷指示部813は、ファイル管理部812から送られてきた復号化されたジョブ310をNIC
OS900に対して、印刷情報管理プロトコルを用いて印刷指示する。
【0067】
ビープ指示部814は、ユーザ通知部810からのビープ指令を受け取って、NIC OS900に通知する。ビープ音に関しては、印刷情報管理プロトコル、JL、UDP等を使用したり、様々な方法でビープ鳴動を実現できるが、どの機能がサポートされているかは印刷装置1000によって異なる。ビープ指示部814は、印刷装置1000の種別による違いを吸収して適切なビープ指示を行う。
パネル表示指示部815は、MIB(Management Information Base)を使って印刷装置1000のパネル(図示しない)に任意のメッセージを表示させる。一定時間表示させることができない機種の印刷装置1000の場合は、数秒表示後に表示のリセットを行う。
【0068】
次に、NIC OS900について詳細を説明する。
NIC OS900は、I/Fドライバ部190、USB通信部195、暗号/復号化部905、印刷情報管理プロトコル解析・通信部904、JL通信部903、UDP通信部902、MIB通信部901、通信制御部906、監視ポート907を有する。
【0069】
暗号/復号化部905は、データの暗号化及び復号化を行うためのものである。形式は固定のものではなく、DES(Data Encryption Standard)やトリプルDES,AES(Advanced Encryption Standard)等のブロック暗号化、及びRC4などのストリーム暗号化などを行うことができる。
印刷情報管理プロトコル解析・通信部904は、印刷情報管理プロトコルに従ってデータ通信を行うためのものである。印刷情報管理プロトコルは、印刷装置1000の制御を行うための通信プロトコルであり、印刷指示やビープ音鳴動等などが行える。
JL通信部903は、JL通信を行うためのものである。JLはジョブ制御言語であり、印刷装置1000の情報取得指令や、PDLデータの受信指令、印刷装置1000へのビープ指令などを行うことができる。
【0070】
UDP通信部902は、UDP通信を行う。このUDP通信を使って、DNS(Domain Name System)クエリや、ビープ指令などを行うことができる。
MIB通信部901は、MIB通信を行うためのものである。MIBは、通信機器を管理するためのプロトコルで、印刷装置1000のパネル表示等を行う。
通信制御部906は、I/Fドライバ部190から受信したデータを、アプリケーション800に通知したり、印刷装置1000に渡したりする。通信制御部906は、監視ポート907に設定されているポートに対してデータが送信されてきた場合、アプリケーション800に通知し、監視ポート907に設定されていないポートへのデータを受信した場合は、印刷装置1000にデータを転送する。
監視ポート907は、図17に示すように、通信制御部906がアプリケーション800と印刷装置1000のどちらにデータを転送するかを決定するための情報である。監視ポート907は、アプリケーション800に通知する通信ポート番号を指定する。
【0071】
次に、印刷装置1000について説明する。
印刷装置1000は、I/Fドライバ部190、受信バッファ1001、送信バッファ1002、MIB通信部901、UDP通信部902、JL通信部903、印刷情報管理プロトコル解析・通信部904、LPR通信部803、パネル表示部1008、ビープ鳴動部1009、PDLトランスレータ部1011、機器DB部1010、描画バッファ1012、描画部1013、プリンタエンジン部1014を有する。
【0072】
受信バッファ1001は、I/Fドライバ部190で受信した全データを一時的に確保し、処理遅延の緩衝材となる。
送信バッファ1002は、I/Fドライバ部190に送信する前の全データを一時的に確保し、処理遅延の緩衝材となる。
パネル表示部1008は、指定されたメッセージを印刷装置1000のパネルに表示する。
ビープ鳴動部1009は、印刷装置1000内蔵の鳴動装置(図示しない)を作動させ、音を鳴らす。
機器DB部1010は、JLにより設定された印刷装置1000の情報を格納し、PDLトランスレータ部1011に情報を提供する。ここでいう環境情報とは、例えば印刷枚数のことである。
【0073】
PDLトランスレータ部1011は、PDLデータの翻訳処理を行い、描画に適した描画オブジェクトである中間データに変換を行う。
描画バッファ1012は、PDLトランスレータ部1011によって生成された描画オブジェクトの中間データを、実際に印刷を行うまで一時的に格納しておく。
描画部1013は、描画バッファ1012に一時格納された描画オブジェクトを実際に描画してビットマップ画像であるイメージデータを生成する。
プリンタエンジン部1014は、描画部1013が生成したビットマップ画像を受け取り、既知の印刷技術により用紙等のメディアに印刷を行う。
【0074】
次に、図7、8、9、10、11、12、13、14、15、18を参照しながら、本発明に係るセキュアプリントシステム1の詳細な処理について説明する。
図7は、セキュアプリントシステム1の印刷ジョブ投入処理手順の一例を示すフローチャート、図8は、セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート、図9は、セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート、図10は、セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート、図11は、セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート、図12は、セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート、図13は、セキュアプリントシステム1の出力処理の詳細手順の一例を示すフローチャート、図14は、セキュアプリントシステム1のLDAPサーバ監視処理手順の一例を示すフローチャート、図15は、セキュアプリントシステム1のユーザ通知処理手順の一例を示すフローチャート、図18は、印刷装置1000に表示するメッセージの一例を示す図である。
【0075】
以下では、NIC700が行う処理について、アプリケーション800の機能とNIC OS900との機能を区別して記載する。そのため、便宜上、処理の主体は、アプリケーション800とNIC OS900とする。但し、実際には、処理を行う主体は、NIC700である。ハードウエアであるNIC700は、ソフトウエアであるアプリケーション800またはNIC OS900と協働して、後述する処理を実行する。
【0076】
図7では、NIC700は、クライアントPC300から、印刷データを受付ける。また、NIC700は、受け付けた印刷データをマスストレージ500に記憶する。また、NIC700は、印刷データを印刷装置1000に送信する。
【0077】
図7に示すように、セキュアプリントシステム1へのジョブ投入の処理では、クライアントPC300のアプリケーションが、プリンタドライバを介してジョブ310を生成する(ステップS001)。
クライアントPC300が、生成されたジョブ310をNIC OS900に対して送信すると(ステップS002)、NIC OS900はクライアントPC300から送信されたデータを受信し、監視ポート907の設定を見て分岐処理を行う(ステップS003)。
クライアントPC300は、印刷方法がマスストレージ500を使ったものか、LDAPサーバ200と通信できずにそのまま印刷装置1000から出力するのか、意識する必要はない。印刷出力する際に、LDAPサーバ200と通信できているのか否かを意識せずに、ジョブ310を送信することができるため、設定変更の手間が省け、よりユーザビリティの高いセキュアプリントシステムを実現している。
【0078】
監視ポート907に設定されていない監視対象外のポートへのデータの場合、NIC OS900は受信したジョブ310を印刷装置1000に転送し(ステップS004)、印刷装置1000は転送されたジョブ310を受け付け、受信バッファ1001に格納し、スプール処理を行う(ステップS005)。
印刷装置1000は、スプールされたジョブ310のデータの印刷情報管理ヘッダ311を解析する(ステップS006)。解析したデータは、図示しない内部ログデータなどに利用される。
印刷装置1000は、ジョブ310内のPDLデータを解析し、描画オブジェクトの中間データを作成し、さらにその中間データをもとにビットマップイメージを作成する(ステップS007)。
印刷装置1000は、作成したビットマップイメージを既知の印刷技術により用紙等のメディアに印刷を行う(ステップS008)。
【0079】
受信データが監視ポート907に設定されているポートへのデータの場合、受信データが監視対象になっているポートへのデータの場合、NIC OS900はアプリケーション800にジョブ310を転送する(ステップS009)。
アプリケーション800は、ジョブ310の印刷情報管理ヘッダ311を解析し、ジョブオーナ及びジョブ名を取得し(ステップS010)、アプリケーション800はジョブ情報820を作成する(ステップS011)。
取得したジョブオーナ312をユーザ名821として、取得したジョブ名313をジョブ名823として格納する。また、アプリケーション内で一意となる文字列を生成してファイル名822とする。タイムスタンプ824は、ファイル書き込み後に記憶する。
【0080】
アプリケーション800は、ジョブ310を暗号化するため、ジョブ310のデータをNIC OS900に渡し、暗号化鍵や暗号化アルゴリズムなどを指定する(ステップS012)。
NIC OS900は、渡されたジョブデータを指定されたパラメータを用いて暗号化する(ステップS013)。
アプリケーション800は、NIC OS900が暗号化したジョブをファイルシステム501に書き込む(ステップS014)。
ファイルシステム501にジョブ310を書き込むことにより、従来のようにプリンタサーバ101にジョブ310を書き込む必要がなくなる。これにより、プリンタサーバ101を不要なものとし、よりセキュリティの高いセキュアプリントシステムを実現している。また、プリンタサーバ101が不要なため、サーバを設置するコストや、セキュアプリントシステム導入におけるサーバ設置の設定などの手間が省ける。さらに、万が一、マスストレージ500が印刷装置1000から取り外された場合も、ジョブ310は暗号化して書き込まれているため、ジョブ310内のPDLデータを読み取られる心配はなく、より高いセキュリティを実現している。
【0081】
NIC OS900が、ジョブ310を保存した処理をマスストレージ500に伝達すると(ステップS015)、マスストレージ500は暗号化されたジョブ310をファイルシステム501に書き込む(ステップS016)。
NIC OS900が、暗号化されたジョブ310のファイルシステム501への書き込み処理をアプリケーション800に伝達すると(ステップS017)、アプリケーション800はファイルシステム501にジョブ310を書き込み終了した時点のタイムスタンプを取得し、ジョブ情報820のタイムスタンプ824に格納する(ステップS018)。
アプリケーション800は、作成したジョブ情報820をジョブリスト805に格納する(ステップS019)。
【0082】
次に、図8、9、10、11、12を参照しながら、セキュアプリントシステム1のジョブ出力の処理について説明する。
【0083】
図8では、NIC700は、ユーザ情報210を含む認証要求をLDAPサーバ200に送信する。また、NIC700は、LDAPサーバ200と通信できるか否かを判断する。また、LDAPサーバ200と通信できない場合、NIC700は、印刷データをマスストレージ500に記憶する設定を解除する。また、認証サーバと通信可能、かつ印刷データをマスストレージ500に記憶する設定が解除されている場合、NIC700は、その設定を再設定する。
【0084】
図8に示すように、カードリーダ400は、ICカード410を検知して、内部に記録されているカードID211を読み取り(ステップS100)、NIC OS900は読み取った情報をアプリケーション800に伝達する(ステップS101)。
【0085】
アプリケーション800は、監視ポート907の設定を見て印刷ポート(例えばRawであれば9100番、LPRであれば515番など)が設定されているかどうか確認する(ステップS102)。
印刷ポートが監視対象外になっており、LDAPサーバ200と通信もできない場合、アプリケーション800は図18に示すメッセージからメッセージ1である「APヒョウジュンインサツ」を選択し、図15に示すユーザ通知処理を行う(ステップS103)。
【0086】
印刷ポートが監視ポート907に設定されている場合、あるいは、印刷ポートが監視対象外になっていても、LDAPサーバ200に通信を行い通信が確立できる場合は監視ポートに印刷ポートを追加し、アプリケーション800は設定情報802をもとに、LDAPサーバ200に接続を試みる(ステップS104)。より詳細には、アプリケーション800は、設定情報802を参照し、プライマリであるLDAPサーバ200aのプライマリポートに対して接続を行い、仮に接続できなかった場合は、セカンダリであるLDAPサーバ200bのセカンダリポートに対して接続を行う。
【0087】
NIC OS900は、接続要求をもとにLDAPサーバ200に接続を試行し(ステップS105)、アプリケーション800は、接続試行が成功したか否かで分岐処理を行う(ステップS106)。
より詳細には、プライマリであるLDAPサーバ200a、およびセカンダリであるLDAPサーバ200bの両方に接続できなかった場合、接続失敗とみなす。
そして、アプリケーション800は、監視ポート907に設定されている印刷ポートの設定を解除し(ステップS107)、図18に示すメッセージからメッセージ2の「APサーバエラー」を選択し、ユーザ通知処理を行う(ステップS108)。
LDAPサーバ200に接続できなかった場合、監視ポート907の設定を解除するため、次回の印刷からはマスストレージ500にジョブ310を保存せずに、印刷装置1000から直接印刷することになる。従って、LDAPサーバ200と通信できない状態のときも印刷物を出力することが可能となる。
【0088】
次に、図9に示すように、プライマリであるLDAPサーバ200a、あるいはセカンダリであるLDAPサーバ200bのいずれかに接続できた場合、アプリケーション800はLDAP認証を行う(ステップS109)。
設定情報802のユーザ837及びパスワード838をLDAPサーバ200に送信し、認証要求を発行する。なお、この認証処理に関しては、LDAPサーバ200が認証をしなければ検索をさせないという強固なセキュリティが施されている場合の処理である。他の実施形態として、検索を行うにあたって認証が必要ない設定(非認証の設定)がなされていた場合は、認証に伴うS109からS114までの処理を省略してもよい。
【0089】
NIC OS900は、アプリケーション800から伝達されたデータをLDAPサーバ200に送信する(ステップS110)。
LDAPサーバ200は、LDAPサーバ200が送信したデータのユーザ名でLDAPディレクトリ201を検索する。ユーザが見つかった場合、送信されたデータと対応するユーザのユーザ情報210に含まれるパスワード213を照合し、認証結果を返答する(ステップS111)。
NIC OS900が、LDAPサーバ200から受信したデータをアプリケーション800に伝達すると(ステップS112)、アプリケーション800はLDAP認証結果を受け取る(ステップS113)。
【0090】
アプリケーション800は、前段S113での認証結果の可否により分岐処理を行い(ステップS114)、認証に失敗した場合、図18に示すメッセージからメッセージ2の「APサーバエラー」を選択し、ユーザ通知処理を行う(ステップS115)。
認証に成功した場合、アプリケーション800は設定情報802をもとにカードID211の検索をLDAPサーバ200に対して行う(ステップS116)。
アプリケーション800は、設定情報802のSuffix831と識別コード832を用いて検索位置を指定する。
【0091】
NIC OS900は、アプリケーション800から伝達されたデータをLDAPサーバ200へ送信する(ステップS117)。
LDAPサーバ200は、アプリケーション800から送信されたデータをもとにLDAPディレクトリ201を検索し、検索結果を返信する(ステップS118)。
指定されたSuffix831及び識別コード832以下にあるデータの中から、指定されたカードID211を探し、見つかったユーザ情報210を送信する。Suffix831や識別コード832は、LDAPディレクトリ201中のユーザの位置を特定するために指定する情報であり、一般的にLDAP検索の際にSearchBaseとして指定される値である。
【0092】
NIC OS900が、LDAPサーバ200から受信したデータをアプリケーション800に伝達すると(ステップS119)、アプリケーション800はLDAPサーバ200からの検索結果を取得する(ステップS120)。
【0093】
次に、図10に示すように、アプリケーション800は、LDAPサーバ200からの検索結果を見てユーザ情報210が取得できたか、即ち、ユーザが存在したか否かにより分岐処理を行う(ステップS121)。
ユーザ情報210が取得できない場合、アプリケーション800は図18に示すメッセージからメッセージ3の「APユーザミトウロク」を選択し、ユーザ通知処理を行う(ステップS122)。
【0094】
ユーザ情報が取得できた場合、アプリケーション800はユーザ情報210の利用制限をもとに、ユーザに利用権があるか否かで分岐処理を行う(ステップS123)。
利用制限には様々な設定方法が考えられるが、例えば、4桁の数字で利用権限を表現し、1桁目がプリンタの利用権限、2桁目がコピーの利用権限、3桁目がスキャンの利用権限、4桁目がファクスの利用権限とする。そして、その値が“0”は「使用不可能」、“1”は「モノクロのみ使用可能」、“2”は「カラーモノクロ双方利用可能」とする。そして、ユーザ情報210内の利用権限を参照し、プリンタの項目が“0”ならば「権限なし」、“1”あるいは“2”ならば「権限あり」、とみなすという方法が考えられる。
利用権限がない場合、アプリケーション800は図18に示すメッセージからメッセージ4の「APユーザエラー」を選択し、ユーザ通知処理を行う(ステップS124)。
【0095】
図11では、NIC700は、LDAPサーバ200と通信できる場合、マスストレージ500からユーザ情報210に応じた印刷データを取得する。
【0096】
図11に示すように、利用権限がある場合、アプリケーション800は取得したユーザ情報210内のユーザ名をキーとして、ジョブリスト805の中からユーザ名が一致するジョブ情報820を抽出する(ステップS125)。
アプリケーション800は、抽出したジョブ情報820をリストにして実行リスト804を作成する(ステップS126)。
【0097】
アプリケーション800は、取得したユーザ情報210の中からサブユーザを取得する(ステップS127)。
直前にサブユーザ1を取得していれば、次のサブユーザ2を取得する。サブユーザに関連するS127からS130までの一連の処理は、一人のユーザで複数ユーザの印刷物を出力させるために行う処理である。例えば、従来はICカード一枚につき1ユーザまでしか登録できなかったため、秘書が上司の印刷物を出力したい場合はICカードを借りる必要があった。また、一人で2台のPCを使っているユーザは2枚のICカードを携帯する必要があった。この一連のサブユーザに関連する処理を行うことにより、上記問題を解決し、1枚のICカードで複数ユーザの印刷物を出力することが可能となる。
【0098】
アプリケーション800は、取得したサブユーザをチェックし(ステップS128)、サブユーザ4までのすべてのサブユーザを取得した場合、あるいは、サブユーザが取得できなかった場合、登録されていなかった場合はS131へ進む。
サブユーザが取得できた場合、アプリケーション800はサブユーザに一致するジョブ情報820をジョブリスト805の中から抽出し(ステップS129)、
抽出したジョブ情報820を実行リスト804に加える(ステップS130)。
【0099】
すべてのサブユーザを取得すると、アプリケーション800は作成した実行リスト804をソートする(ステップS131)。
ジョブ情報820をタイムスタンプ824でソートし、続いてユーザ名821でソートし、ユーザ名821のまとまりで時系列に並び替えられる。このソートにより、複数ユーザの印刷物を出力したいときにユーザ毎にまとまった出力物が得られ、分別の手間が省ける。また、各ユーザの印刷物はタイムアウト順に並んでいるため、印刷実行したユーザの指示通りの順番になりユーザにわかりやすい出力順になる。また、ソートの仕方についてはこの方法に限られず、ユーザ名でソートし、続いてタイムスタンプでソートしてもよい。
【0100】
次に、図12に示すように、アプリケーション800は、実行リスト804内のジョブ情報820の数をチェックし(ステップS132)、0件の場合、図18に示すメッセージからメッセージ5の「APジョブナシ」を選択し、ユーザ通知処理を行う(ステップS133)。
【0101】
実行リスト804内のジョブ情報820の数が1件以上の場合、アプリケーション800は実行リスト804内のジョブ情報820の数で、ループ処理を行う(ステップS134)。すべてのジョブ情報820を参照すると、ループ処理を終了する。このループ処理とは、実行リストにある全てのジョブ情報820に関して、ステップS135からステップS137を行う処理である。ステップS134では、つまり、実行リストにある全てのジョブ情報820について、当該処理を終えたかを判定し、当該処理を終えた判定すると、ステップS138へ進む。
アプリケーション800は、ジョブ投入可否を判定する(ステップS135)。通常、印刷機器はRAMに制限があるため、一度に投入できる印刷ジョブを制限している。ジョブ投入可否を判定するのは、投入制限を越えているにも関わらずジョブを投入してしまい、印刷が失敗してしまうことを防ぐためである。
次に、アプリケーション800はウエイト処理を行う(ステップS136)。このウエイト処理は、ジョブが投入制限を越えて投入できない場合にループ(ステップS135からステップS137)を回り続け、CPUを占有してしまう現象を防ぐ。
アプリケーション800は、図13に示す出力詳細処理を行い(ステップS137)、実行リスト804内のジョブ情報820をすべてクリアする(ステップS138)。
【0102】
次に、図13を参照しながら、セキュアプリントシステム1のジョブ出力処理について説明する。
図13では、NIC700は、印刷データを印刷装置1000に送信する。
【0103】
図13に示すように、アプリケーション800は、上位から渡されたジョブ情報820をもとに、ファイルシステム501内からジョブ310を取得する(ステップS201)。アプリケーション800は、ジョブ情報820に格納されているファイル名822に一致するファイルシステム501内のファイルの取得をマスストレージ500に要求する。
NIC OS900が、アプリケーション800からの指令をマスストレージ500に伝達すると(ステップS202)、マスストレージ500はファイルシステム501から指定のファイルを読み込んで、アプリケーション800に返し(ステップS203)、NIC OS900がマスストレージ500からの指令をアプリケーション800に伝達する(ステップS204)。
【0104】
アプリケーション800は、取得したジョブ310の復号化をNIC OS900に要求し、同時に復号化キーや復号化アルゴリズム等を指定する(ステップS205)。
NIC OS900は、データの復号化処理を行い(ステップS206)、アプリケーション800は復号化されたジョブ310の印刷指示を行う(ステップS207)。
NIC OS900は、アプリケーション800からの指令を受け取り、印刷装置1000に印刷情報管理プロトコル通信を用いてジョブ310の印刷指示を送る(ステップS208)。
【0105】
印刷装置1000は、ジョブ310を受け取って受信バッファに格納し、スプール処理を行う(ステップS209)。受信バッファへの格納が終了すると、印刷装置1000は印刷終了を待たずに制御をNIC OS900へ戻す。
印刷装置1000は、スプールされたジョブ310のデータの印刷情報管理ヘッダ311を解析する(ステップS210)。解析したデータは、図示しない内部ログデータなどに利用される。
印刷装置1000は、ジョブ310内のPDLデータを解析して描画オブジェクトの中間データを作成して、中間データをもとにビットマップイメージを作成し(ステップS211)、作成したビットマップイメージを既知の印刷技術により用紙等のメディアに印刷を行う(ステップS212)。
【0106】
NIC OS900が、印刷装置1000の指令をアプリケーション800へ伝達すると(ステップS213)、アプリケーション800は該当するジョブ310をファイルシステム501からの削除をマスストレージ500に要求する(ステップS214)。
NIC OS900が、アプリケーション800の指令をマスストレージ500へ伝達すると(ステップS215)、マスストレージ500は指定されたジョブ310をファイルシステム501から削除する(ステップS216)。
NIC OS900は、マスストレージ500からの指令をアプリケーション800へ伝達する(ステップS217)。
【0107】
次に、図14を参照しながら、セキュアプリントシステム1のLDAPサーバ監視処理について説明する。
図14では、NIC700は、一定間隔でLDAPサーバ200と通信可能かどうかを確認する。また、NIC700は、LDAPサーバ200と通信可能、かつ印刷データをマスストレージ500に記憶する設定が解除されている場合、その設定を再設定する。
【0108】
図14に示すように、アプリケーション800が、LDAPサーバ監視処理をスレッドとしてNIC OS900に登録し、処理を開始すると(ステップS301)、NIC OS900はアプリケーション800が終了したかどうかをチェックする(ステップS302)。
【0109】
アプリケーション800が終了していない場合、アプリケーション800は設定情報802に設定されたプライマリであるLDAPサーバ200a及びセカンダリであるLDAPサーバ200bのポートへの接続をNIC OS900に要求し(ステップS303)、NIC OS900は指定された2つのLDAPサーバ200に接続を行う(ステップS304)。
アプリケーション800は、プライマリであるLDAPサーバ200aまたはセカンダリであるLDAPサーバ200bのいずれかに接続できたかどうか確認を行い(ステップS305)、接続できた場合、監視ポート907の設定で印刷ポートが設定されているか否かを確認する(ステップS306)。
監視ポート907に印刷ポートが設定されていない場合、アプリケーション800は監視ポート907に印刷ポートを追加する(ステップS307)。
アプリケーション800は、ウエイト処理を行い、ループによりCPUを占有してしまう可能性を回避する(ステップS308)。
【0110】
次に、図15を参照しながら、セキュアプリントシステム1のユーザ通知処理について説明する。
【0111】
図15に示すように、アプリケーション800は、上位から伝達されたメッセージ文字列を取得し(ステップS501)、ビープ音鳴動、及び指定のメッセージ表示をNIC OS900に要求する(ステップS502)。
NIC OS900は、印刷装置1000の種別を判定し、適切な方法を使ってビープ音鳴動を指示する(ステップS503)。例えば、機種によってUDP、印刷情報管理プロトコル、JLを使用したりするため、その情報をNIC OS900が吸収し、印刷装置1000の機種にあった方法でビープ音鳴動指示をする。パネル表示については、MIBを用いて表示指示を印刷装置1000に送る。
印刷装置1000は、指令を受け取り、ビープ音を鳴動させ(ステップS504)、パネルに指定されたメッセージを表示させる(ステップS505)。
【実施例】
【0112】
次に、図28を参照しながら、本発明に係るセキュアプリントシステム1の実施例について説明する。
図28は、セキュアプリントシステム1の実施例を示す図である。
【0113】
ユーザがクライアントPC300にログインし(ステップ1−1)、データの印刷指示を行う(ステップ1−2)。
プリンタドライバは、印刷装置1000に対して、データからジョブを生成して送信する(ステップ2−1)。ここで、印刷装置1000上でNIC700がポートの監視を行っていなければ、ジョブはそのまま印刷装置1000から印字され、出力される(ステップ2−2A)。一方、NIC700がポートの監視を行っている場合、ジョブが印刷装置1000に渡る前にNIC700が先取りし、マスストレージ500に格納する(ステップ2−2B)。
【0114】
印刷指示をしたユーザが、カードリーダ400にICカード410をかざす(ステップ3−1)。カードリーダ400は、ICカード410からカードID211を読み取って、印刷装置1000に通知する(ステップ3−2)。
印刷装置1000は、受け取ったカードID211に一致するユーザ名をLDAPサーバ200に問い合わせる(ステップ4−1)。LDAPサーバ200は、LDAPディレクトリ201内を検索し、検索したユーザ名を印刷装置1000に送信する(ステップ4−2)。
印刷装置1000は、マスストレージ500内からユーザ名に一致するジョブを取得し(ステップ5−1)、該当するジョブを印刷装置1000に渡す(ステップ5−2)。
印刷装置1000は、受け取ったジョブを印字し、出力する(ステップ6−1)。
【0115】
このように本発明の実施の形態によれば、例えば認証サーバがダウンするなどの理由により認証できない場合にも、印刷業務を滞らせないための仕組みを提供することができる。
【0116】
本発明に係るセキュアプリントシステム1では、認証サーバが何らかの理由で動作しない場合でも、印刷を行うことが可能であるため、ユーザの業務をとめることがない可用性の高いシステムとなる。
また、本発明に係るセキュアプリントシステム1では、プリンタサーバを使わないため、プリンタサーバに印刷データが蓄積されセキュリティホールになるという問題が解消され、より機密性の高いシステムとなる。また、プリンタサーバを使わないため、セキュアな印刷を行う際の環境構築コストを削減でき、より安価なシステムとなる。
【0117】
さらに、本発明に係るセキュアプリントシステム1では、プリンタサーバを使わないことにより、セキュアな印刷を行う蓄積印刷の場合も、あるいは、認証サーバが停止したときの蓄積印刷をしない場合でも、クライアントは違いを意識せずにまったく同じ操作で印刷ジョブを投入できるため、ユーザの利便性がより高いシステムとなる。
また、本発明に係るセキュアプリントシステム1では、プリンタサーバを用いず、プリンタドライバの設定変更も不要なことから、導入設置が容易に行え、より手間のかからないシステムとなる。
【0118】
以上、添付図面を参照しながら本発明に係るセキュアプリントシステムおよびネットワークインタフェース装置等の好適な実施形態について説明したが、前述した実施の形態に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【0119】
【図1】従来のセキュアプリントシステムの構成の一例を示す図
【図2】本発明に係るセキュアプリントシステム1の構成の一例を示す図
【図3】LDAPサーバ200、クライアントPC300のハードウエア構成を示す図
【図4】印刷装置1000のハードウエア構成を示す図
【図5】NIC700のハードウエア構成を示す図
【図6】本発明に係るセキュアプリントシステム1の構成を示すブロック図
【図7】セキュアプリントシステム1の印刷ジョブ投入処理手順の一例を示すフローチャート
【図8】セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート
【図9】セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート
【図10】セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート
【図11】セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート
【図12】セキュアプリントシステム1の印刷ジョブ出力処理手順の一例を示すフローチャート
【図13】セキュアプリントシステム1の出力処理の詳細手順の一例を示すフローチャート
【図14】セキュアプリントシステム1のLDAPサーバ監視処理手順の一例を示すフローチャート
【図15】セキュアプリントシステム1のユーザ通知処理手順の一例を示すフローチャート
【図16】設定情報802の一例を示す図
【図17】監視ポート907の詳細を示す図
【図18】印刷装置1000に表示するメッセージの一例を示す図
【図19】ジョブ310の詳細を示す図
【図20】印刷情報管理ヘッダ311の詳細を示す図
【図21】ジョブ情報820の詳細を示す図
【図22】ジョブリスト805の詳細を示す図
【図23】実行リスト804の詳細を示す図
【図24】ファイルシステム501の詳細を示す図
【図25】ICカード410の詳細を示す図
【図26】ユーザ情報210の一例を示す図
【図27】LDAPディレクトリの詳細を示す図
【図28】セキュアプリントシステム1の実施例を示す図
【符号の説明】
【0120】
101………プリンタサーバ
102………認証サーバ
150………LAN
160………USBケーブル
200………LDAPサーバ
300………クライアントPC
400………カードリーダ
500………マスストレージ
600………USBハブ
700………NIC
1000………印刷装置

【特許請求の範囲】
【請求項1】
画像形成装置に接続され、印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置であって、
前記情報処理装置から、印刷データを受け付ける受付手段と、
前記印刷データを記憶する記憶手段と、
ユーザを識別するためのユーザ識別情報の受付に応じて、前記ユーザ識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、
前記認証サーバに通信可能か否かを判断する判断手段と、
前記判断手段が、前記認証サーバに通信可能であると判断した場合、前記記憶手段によって記憶されている印刷データから、前記ユーザ識別情報に応じた印刷データを取得する取得手段と、
前記判断手段が、前記認証サーバに通信可能でないと判断した場合、前記受付手段で受け付けた前記印刷データを、前記記憶手段によって記憶する設定を解除する解除手段と、
前記取得手段で取得した印刷データ、または、前記解除手段により前記設定が解除されている場合、前記受付手段で受け付けた印刷データを、前記画像形成装置で印字するために、前記画像形成装置に送信する送信手段と、
を備えることを特徴とするネットワークインタフェース装置。
【請求項2】
一定間隔で前記認証サーバと通信可能かどうかを確認する接続確認手段と、
前記接続確認手段が前記認証サーバと通信可能であると判断した場合、かつ前記受付手段で受け付けた前記印刷データを前記記憶手段によって記憶する設定が解除されている場合、前記設定を再設定する第1の再設定手段と、
を更に備えることを特徴とする請求項1記載のネットワークインタフェース装置。
【請求項3】
前記判断手段が、前記認証サーバと通信可能であると判断した場合、かつ前記受付手段で受け付けた印刷データを前記記憶手段によって記憶する設定が解除されている場合、前記設定を再設定する第2の再設定手段、
を更に備えることを特徴とする請求項1記載のネットワークインタフェース装置。
【請求項4】
前記ユーザ識別情報は、当該ユーザ識別情報に対応するユーザとは異なるユーザの情報であるサブユーザ情報と紐付けて管理することを特徴とする請求項1記載のネットワークインタフェース装置。
【請求項5】
前記取得手段は、前記記憶手段によって記憶されている印刷データから、前記ユーザ識別情報に応じた印刷データに加え、前記サブユーザ情報に応じた印刷データを取得することを特徴とする請求項4記載のネットワークインタフェース装置。
【請求項6】
前記解除手段は、前記印刷データに設定されるポート番号を、監視対象から除外することを特徴とする請求項1記載のネットワークインタフェース装置。
【請求項7】
前記記憶手段は、前記受付手段で受け付けた前記印刷データを暗号化して記憶することを特徴とする請求項1記載のネットワークインタフェース装置。
【請求項8】
画像形成装置に接続され、印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信し、記憶部を備えるネットワークインタフェース装置における印刷制御方法であって、
前記情報処理装置から、印刷データを受け付ける受付工程と、
前記印刷データを、前記記憶部に記憶する記憶工程と、
ユーザを識別するためのユーザ識別情報の受付に従って、前記ユーザ識別情報を含む認証要求を前記認証サーバへ送信する送信工程と、
前記認証サーバに通信可能か否かを判断する判断工程と、
前記判断工程が、前記認証サーバに通信可能であると判断した場合、前記記憶部から前記ユーザ識別情報に応じた前記印刷データを取得する取得工程と、
前記判断工程が、前記認証サーバに通信可能でないと判断した場合、前記受付工程で受け付けた前記印刷データを、前記記憶部に記憶する設定を解除する解除工程と、
前記取得工程で取得した印刷データ、または、前記解除工程により前記設定が解除されている場合、前記受付工程で受け付けた前記印刷データを、前記画像形成装置で印字するために、前記画像形成装置に送信する送信工程と、
を含むことを特徴とする印刷制御方法。
【請求項9】
ネットワークインタフェース装置において、請求項8記載の方法を実行させる印刷制御プログラム。
【請求項10】
印刷データを送信する情報処理装置と、ユーザの認証を行う認証サーバと通信するネットワークインタフェース装置を有する画像形成装置であって、
前記ネットワークインタフェース装置は、
前記情報処理装置から、印刷データを受け付ける受付手段と、
前記印刷データを記憶する記憶手段と、
ユーザを識別するためのユーザ識別情報の受付に応じて、前記ユーザ識別情報を含む認証要求を前記認証サーバへ送信する送信手段と、
前記認証サーバに通信可能か否かを判断する判断手段と、
前記判断手段が、前記認証サーバに通信可能であると判断した場合、前記記憶手段によって記憶されている印刷データから、前記ユーザ識別情報に応じた印刷データを取得する取得手段と、
前記判断手段が、前記認証サーバに通信可能でないと判断した場合、前記受付手段で受け付けた前記印刷データを、前記記憶手段によって記憶する設定を解除する解除手段と、
前記取得手段で取得した印刷データ、または、前記解除手段により前記設定が解除されている場合、前記受付手段で受け付けた印刷データを、前記画像形成装置で印字するために、前記画像形成装置に送信する送信手段と、
を備えることを特徴とし、
前記送信手段によって、前記ネットワークインタフェース装置より送信された印刷データを受け付ける受付手段と、
前記受付手段で受け付けた印刷データを出力する出力手段と、
を備えることを特徴とする画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2009−220331(P2009−220331A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−65578(P2008−65578)
【出願日】平成20年3月14日(2008.3.14)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【Fターム(参考)】