次に、本発明の実施の形態について、詳細に説明する。
[第1の実施形態]
<システム構成>
図1は本実施形態に係る印刷システムの一例の構成図である。図1の印刷システム1はスプールサーバ10、クライアント20、印刷機器30A及び30Bが、LAN(Local Area Network)などのプライベート環境の内部ネットワークN1に接続される構成例を一例として示している。また、図1の印刷システム1は印刷機器30Cが、インターネットなどのパブリック環境の外部ネットワークN2に接続される構成例を一例として示している。
内部ネットワークN1は、例えばオフィス環境における部署内ネットワークや事業所内ネットワークにあたる。印刷システム1は、内部ネットワークN1がファイアウォールFWを介して、外部ネットワークN2に接続される構成例を一例として示している。図1の内部ネットワークN1はスプールサーバ10がプライベート環境の内部ネットワークN1に接続される構成例を示しているが、DMZ(非武装地帯)に接続される構成であってもよい。スプールサーバ10は外部ネットワークN2上で提供されるソフトウェアを利用する形態、所謂クラウドに配置してもよい。
また、図1のクライアント20はプライベート環境の内部ネットワークN1に接続される例を示しているが、パブリック環境の外部ネットワークN2に接続されるようにしてもよい。
クライアント20、印刷機器30A−30Cはスプールサーバ10にアクセス可能である。スプールサーバ10はクライアント20、印刷機器30A−30Cからの要求(リクエスト)に対して応答(レスポンス)できる。
クライアント20は利用者が印刷したい印刷ジョブをスプールサーバ10に登録するPCなどの情報処理端末である。なお、クライアント20は印刷ジョブをスプールサーバ10に送信可能な情報処理端末であれば、スマートフォンや携帯電話、タブレットPC、プロジェクタやメディアボードなど、何れの形態であってもよい。
また、スプールサーバ10はクライアント20からの印刷ジョブを受け付け、印刷機器30A−30Cに印刷ジョブを提供する情報処理(サーバ)装置の一例である。スプールサーバ10は印刷機器30A−30Cのネットワーク環境に応じて、印刷機器30A−30Cが行う印刷ジョブの出力処理を後述のように制御する。
また、印刷機器30A−30Cはスプールサーバ10から印刷ジョブを受け付け、印刷ジョブの出力処理を行うプリンタや複合機などの印刷機能を有する機器である。印刷機器30A−30Cはネットワーク環境に応じて、印刷ジョブの出力処理をスプールサーバ10から後述のように制御される。
本実施形態に係る印刷システム1では、次のような印刷環境を提供する。なお、以下の説明では、クライアント20から登録された印刷ジョブを、印刷機器30A−30Cで印刷する利用場面を想定する。
クライアント20は操作画面を表示し、利用者の選択/入力による利用者ID及び印刷ジョブを受け付け、スプールサーバ10に利用者ID及び印刷ジョブを送信する。クライアント20は例えばスプールサーバ10による利用者の認証後に操作画面を表示するようにしてもよい。その結果、スプールサーバ10は利用者IDと印刷ジョブとを関連付けて所定の記憶領域に保持する。
印刷機器30A−30Cは、スプールサーバ10に印刷要求を送信する。印刷要求には印刷機器30A−30CのIPアドレスと利用者IDとが含まれている。スプールサーバ10は印刷機器30A−30Cのネットワーク環境(条件)に応じて、印刷ジョブの印刷処理(印刷設定)を制御するための規則(ルール)テーブルを有する。ルールテーブルは印刷機器30A−30Cのネットワーク環境(条件)と、そのネットワーク環境において印刷機器30A−30Cで印刷ジョブを印刷するときの設定に関する条件(印刷設定)とを関連付けている。
スプールサーバ10はルールテーブルから印刷機器30A−30CのIPアドレスに合致する条件の印刷設定を取得し、その印刷設定を満たすように印刷機器30A−30Cが行う印刷ジョブの印刷設定を制御する。したがって、印刷機器30A−30Cでは、印刷機器30A−30Cのネットワーク環境に応じて制御された印刷設定で、スプールサーバ10から受け付けた印刷ジョブの印刷処理を行うことができる。
<ハードウェア構成>
図2は本実施形態に係るスプールサーバの一例のハードウェア構成図である。図2に示したスプールサーバ10は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
入力装置101はキーボードやマウスなどを含み、スプールサーバ10に各操作信号を入力するのに用いられる。表示装置102はディスプレイなどを含み、スプールサーバ10による処理結果を表示する。
通信I/F107はスプールサーバ10をネットワークN1に接続するインタフェースである。これにより、スプールサーバ10は通信I/F107を介して、クライアント20や印刷機器30A−30Cなどの他の機器とデータ通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、スプールサーバ10全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェアなどがある。また、HDD108は格納しているプログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。これにより、スプールサーバ10は外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aにはフレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。
ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、スプールサーバ10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU106は、ROM105やHDD108などの記憶装置からプログラムやデータをRAM104上に読み出し、処理を実行することで、スプールサーバ10全体の制御や機能を実現する演算装置である。
本実施形態に係るスプールサーバ10は、上記ハードウェア構成により、後述するような各種処理を実現できる。
<ソフトウェア構成>
本実施形態に係る印刷システム1は例えば図3に示す処理ブロックで実現される。図3は本実施形態に係る印刷システムの一例の処理ブロック図である。なお、図3では印刷機器30A−30Cを印刷機器30と総称している。
スプールサーバ10はプログラムを実行することで、印刷ジョブ受付部11、印刷要求受付部12、ルール提供部13、印刷ジョブ取得要求受付部14、ルール判断部15、印刷ジョブ提供部16、印刷ジョブテーブル保持部17、ルールテーブル保持部18を実現している。
クライアント20はプログラムを実行することで、印刷ジョブ投入部21を実現している。印刷機器30はプログラムを実行することで、印刷要求送信部31、ルール受信部32、ルール制御部33、印刷ジョブ取得要求送信部34、印刷ジョブ受信部35、印刷処理部36を実現している。
本実施形態に係る印刷システム1は、スプールサーバ10、クライアント20、印刷機器30が有する各処理ブロックが以下のように連携動作することにより実現される。
クライアント20の印刷ジョブ投入部21は操作画面を表示し、利用者の選択/入力による利用者ID及び印刷ジョブを受け付ける。印刷ジョブ投入部21はスプールサーバ10の印刷ジョブ受付部11に利用者ID及び印刷ジョブを送信する。スプールサーバ10の印刷ジョブ受付部11は、受信した利用者IDと印刷ジョブとを関連付けて印刷ジョブテーブル保持部17が保持する印刷ジョブテーブルに記録する。
印刷機器30の印刷要求送信部31は操作画面を表示し、利用者の選択/入力による印刷要求(プルプリント要求)を受け付ける。印刷要求送信部31はスプールサーバ10の印刷要求受付部12に印刷要求を送信する。印刷要求には引数として例えば利用者IDが含まれる。また、スプールサーバ10の印刷要求受付部12は印刷要求を受信するときに印刷機器30のIPアドレスを取得できる。
ルール提供部13は、印刷機器30のネットワーク環境(条件)と印刷ジョブの印刷処理(印刷設定)とを関連付けたルールテーブルを保持しているルールテーブル保持部18のルールテーブルを参照する。そして、ルール提供部13は、印刷要求受付部12が取得した印刷機器30のIPアドレスに合致する条件の印刷設定をルールテーブルから取得して印刷機器30のルール受信部32に送信する。また、ルール提供部13は印刷要求に引数として含まれていた利用者IDに関連付けられている印刷ジョブのジョブIDを印刷機器30のルール受信部32に送信する。なお、印刷ジョブのジョブIDは別のタイミングで印刷機器30へ送信してもよい。
また、ルール受信部32が印刷機器30のIPアドレスに合致する条件の印刷設定を受信すると、ルール制御部33は操作画面を表示し、ルール受信部32が受信した印刷設定に従うように、利用者の選択/入力を受け付ける。ルール制御部33が表示する操作画面の遷移など、詳細は後述する。
印刷ジョブ取得要求送信部34はルール制御部33が利用者から受け付けた選択/入力に応じて、印刷ジョブ取得要求をスプールサーバ10の印刷ジョブ取得要求受付部14に送信する。また、スプールサーバ10の印刷ジョブ取得要求受付部14は印刷ジョブ取得要求を受信するときに印刷機器30のIPアドレスを取得できる。
スプールサーバ10のルール判断部15は印刷機器30のIPアドレスに合致する条件の印刷設定をルールテーブルから取得する。そして、スプールサーバ10は印刷ジョブ取得要求が、印刷機器30のIPアドレスに合致する条件の印刷設定を満たしているかを判断する。
印刷機器30のIPアドレスに合致する条件の印刷設定を満たしていれば、印刷ジョブ提供部16は印刷ジョブ取得要求に対応した印刷ジョブを印刷機器30の印刷ジョブ受信部35に送信する。印刷処理部36は印刷ジョブ受信部35が受信した印刷ジョブの印刷処理を行う。
このように、本実施形態に係る印刷システム1では、印刷機器30のネットワーク環境に応じた印刷設定に従って、印刷機器30による印刷処理を行うことができる。
<処理の詳細>
以下では、本実施形態に係る印刷システム1の処理の詳細について説明する。
《印刷ジョブ投入処理》
図4は印刷ジョブ投入処理の流れを表した一例のシーケンス図である。クライアント20の印刷ジョブ投入部21は利用者の選択/入力による利用者ID及び印刷ジョブを受け付けると、ステップS1において、スプールサーバ10の印刷ジョブ受付部11に利用者ID及び印刷ジョブを送信する。
ステップS2において、スプールサーバ10の印刷ジョブ受付部11は、受信した印刷ジョブの印刷ジョブIDを生成する。ステップS3において、印刷ジョブ受付部11はクライアント20の印刷ジョブ投入部21にステップS1の返り値として印刷ジョブIDを返す。なお、ステップS3は省略してもよい。
ステップS4において、印刷ジョブ受付部11は受信した印刷ジョブのデータ変換を必要に応じて行う。例えば印刷ジョブ受付部11はクライアント20にプリンタドライバが搭載されていない場合などに、プリンタドライバが行うデータ変換を行っておく。そしてステップS5において、印刷ジョブ受付部11は印刷ジョブをHDD108などに蓄積しておく。また、印刷ジョブ受付部11はステップS1で受信した利用者IDと印刷ジョブの印刷ジョブIDとを関連付けて、印刷ジョブテーブル保持部17が保持する印刷ジョブテーブルに記録する。
図5は印刷ジョブテーブルの一例の構成図である。図5の印刷ジョブテーブルは、印刷ジョブの印刷ジョブIDと、印刷ジョブをスプールサーバ10に投入した利用者の利用者IDとを関連付けて記録するものである。
本実施形態に係る印刷システム1は印刷ジョブ投入処理により、クライアント20からスプールサーバ10に印刷ジョブを投入させると共に、印刷ジョブの印刷ジョブIDと印刷ジョブをスプールサーバ10に投入した利用者の利用者IDとを関連付けて印刷ジョブテーブルに記録できる。
《ルール取得処理》
図6はルール取得処理の流れを表した一例のフローチャートである。図6のルール取得処理はスプールサーバ10のルール提供部13が行う処理である。印刷要求受付部12が印刷要求を受信すると、ステップS11において、ルール提供部13は印刷要求を行った印刷機器30のIPアドレスを取得する。
ステップS12において、ルール提供部13はルールテーブル保持部18が保持している図7に示すようなルールテーブルを参照する。図7はルールテーブルの一例の構成図である。図7のルールテーブルは、印刷機器30のネットワーク環境(条件)と印刷ジョブの印刷処理(印刷設定)とを関連付けている。なお、図7の一番右の項目「例」は説明の為に設けた項目である。
図7のルールテーブルにおける条件はサブネットマスク及び条件のIPアドレスが定義されている。また、図7のルールテーブルにおける印刷設定は、一例として印刷できる文書の数及び印刷できる部数が定義されている。図7の項目「例」には、各条件に合致する印刷機器30のIPアドレスの例を示している。
ルール提供部13は、取得した印刷機器30のIPアドレスに対して、ルールテーブルの全ての条件を試したかを判定する。まだ試していない条件があれば、ルール提供部13はステップS13において、まだ試していない条件の中から一つの条件を選択し、選択した条件に定義されたサブネットマスクを印刷機器30のIPアドレスに適用する。
言い換えれば、ルール提供部13は印刷機器30のIPアドレスに、選択した条件に定義されているサブネットマスクを掛ける。そして、ステップS14において、ルール提供部13は、印刷機器30のIPアドレスに、選択した条件に定義されているサブネットマスクを掛けた値(印刷機器30のネットワークアドレス)と、選択した条件に定義されている条件のIPアドレス(ネットワークアドレス)とが一致しているかを判定する。つまり、ルール提供部13はIPアドレスのネットワークアドレス部分が一致しているか判定している。
条件のIPアドレスと一致していれば、ルール提供部13はステップS13で選択した条件を一致条件リストに追加するステップS15の処理の後、ステップS12の処理に戻る。なお、条件のIPアドレスと一致していなければ、ルール提供部13はステップS13で選択した条件を一致条件リストに追加せず、ステップS12の処理に戻る。
ルール提供部13は取得した印刷機器30のIPアドレスに対して、ルールテーブルの全ての条件を試すまでステップS12−S15の処理を繰り返す。取得した印刷機器30のIPアドレスに対してルールテーブルの全ての条件を試すまでステップS12−S15の処理を繰り返したあと、ルール提供部13はステップS16に進み、一致条件リストから最長のサブネットマスクで一致する条件の印刷設定をルールテーブルから取得する。
本実施形態に係る印刷システム1はルール取得処理により、印刷機器30のIPアドレスと最長のサブネットマスクで一致する条件の印刷設定をルールテーブルから取得することができる。
例えば図7のルールテーブルにおける1行目は、先頭から3バイトまでのIPアドレスで比較する条件を表している。IPアドレスが「192.168.101.011」の印刷機器30はサブネットマスク「255.255.255.0」を掛けると、IPアドレス「192.168.101.000」となる。
したがって、IPアドレスが「192.168.101.011」の印刷機器30は条件のIPアドレス「192.168.101.000」と一致するため、ステップS13で選択された条件が一致条件リストに追加される。なお、図7に示したルールテーブルにおいて、IPアドレスが「192.168.101.011」の印刷機器30は1行目が最長のサブネットマスクで一致する条件となるため、印刷設定「複数文書、複数部印刷可能」が適用される。
また、図7のルールテーブルにおける2、3行目の条件も1行目の条件と同様の例であるが、適用される印刷設定が異なる。このように、条件にサブネットマスク及びIPアドレスの二つを用いることで、本実施形態に係る印刷システム1は、印刷機器30のネットワーク環境に応じて印刷設定を柔軟に設定することができる。例えば図7のルールテーブルにおける3行目のルールでは社外の人間も出入りする展示場に設置された印刷機器30であるため印刷設定の制約を強くするといった印刷処理を、利用者自身が意識することなく自動的に行うことができる。
また、図7のルールテーブルにおける4行目の条件は特殊な例とし、デフォルトで必ず一致する。つまり、図7のルールテーブルにおける4行目のルールは一つも一致する条件がない場合に適用される印刷設定を表している。なお、図7のルールテーブルにおける4行目のルールは印刷設定が「印刷不可」であり、例えば社外の印刷機器30等からのアクセスの場合に、印刷処理を不可としている。
《ルール制御処理》
図8はルール制御処理の流れを表した一例のフローチャートである。図8のルール制御処理は、印刷機器30のルール制御部33が行う処理である。ルール受信部32が印刷機器30のIPアドレスに合致する条件の印刷設定を受信したあと、ルール制御部33はステップS21において、ルール制御部33は受信した印刷設定が「印刷不可」であるか否かを判定する。印刷設定が「印刷不可」であれば、ルール制御部33はステップS22において、例えば印刷処理が不可(エラー)であることを示す操作画面を表示する。
また、印刷設定が「印刷不可」でなければ、ルール制御部33はステップS23の処理を行う。ルール制御部33は、受信した印刷設定が「選択可能な印刷ジョブが単数」であることを示す「単一文書」であるか否かを判定する。ルール制御部33は受信した印刷設定が「単一文書」であれば、ステップS24の処理を行う。ルール制御部33は、受信した印刷設定が「印刷条件の設定不可」であることを示す「1部印刷可能」であるか否かを判定する。
ルール制御部33は受信した印刷設定が「1部印刷可能」であれば、ステップS25において、例えば1つの印刷ジョブの選択が可能、且つ、印刷部数の設定が不可な操作画面を表示する。
また、ルール制御部33は受信した印刷設定が「1部印刷可能」でなければ、言い換えれば「複数部印刷可能」であれば、ステップS26において、例えば1つの印刷ジョブの選択が可能、且つ、印刷部数の設定が可能な操作画面を表示する。
ステップS23において、受信した印刷設定が「単一文書」でなければ、ルール制御部33はステップS27の処理を行う。ルール制御部33は、受信した印刷設定が「印刷条件の設定不可」であることを示す「1部印刷可能」であるか否かを判定する。
ルール制御部33は受信した印刷設定が「1部印刷可能」であれば、ステップS28において、例えば複数の印刷ジョブの選択が可能、且つ、印刷部数の設定が不可な操作画面を表示する。ステップS28では例えば複数の印刷ジョブを選択可能な印刷ジョブリスト画面などが表示される。
また、ルール制御部33は受信した印刷設定が「1部印刷可能」でなければ、言い換えれば「複数部印刷可能」であれば、ステップS29において、例えば複数の印刷ジョブの選択が可能、且つ、印刷部数の設定が可能な操作画面を表示する。言い換えれば、ルール制御部33は受信した印刷設定が「複数文書、複数部印刷可能」であるため、制限の無い操作画面を表示する。
本実施形態に係る印刷システム1はルール制御処理により、例えば図8に示すように操作画面を表示することで、印刷機器30のIPアドレスに合致する条件の印刷設定に従うように、利用者からの選択/入力を受け付けることができる。
<まとめ>
本実施形態に係る印刷システム1によれば、スプールサーバ10に印刷要求を行った印刷機器30のネットワーク環境に応じて、印刷の可否、印刷できる文書の数、印刷できる部数などの印刷設定を制御することができるので、プルプリントシステムの利便性を維持しながらセキュリティを向上させることができる。
つまり、本実施形態に係る印刷システム1によれば、スプールサーバ10に印刷要求を行った印刷機器30のネットワーク環境に応じて、印刷機器30の機能を制限することが可能となる。
例えばプルプリントシステムにおいては、印刷機器30が対応していれば、自分の勤務先の印刷機器30の他、出張先の事業所の印刷機器30、又は、コンビニエンスストアなどのパブリック(公共)な場所に設置された印刷機器30からも、スプールサーバ10から印刷ジョブを取得して印刷が可能となる。
印刷機器30がパブリックな場所に設置されている場合は、印刷ジョブがパブリックなネットワークを経由する可能性があり、セキュリティが低い恐れがある。印刷ジョブがプライベートなネットワークを経由する場合であっても、印刷機器30が関係者以外の人が出入りする場所に設置されている場合は、セキュリティが低い恐れがある。
そこで、本実施形態に係る印刷システム1においては、例えば印刷機器30の設置されている場所のセキュリティの高低によって、利用者が行う文書数や部数などの印刷設定を制限できる。
また、本実施形態に係る印刷システム1においては、カラー印刷やモノクロ印刷、パンチやステープルなどの印刷設定を許可又は制限したい場所など、様々な場所に印刷機器30が設置されることから、例えば印刷機器30の設置されている場所によってカラー印刷やモノクロ印刷、パンチやステープルなどの印刷設定を許可又は制限できる。
[第2の実施形態]
第1の実施形態は、印刷機器30がネットワーク的にどこに設置されているかといった印刷機器30のネットワーク環境に応じて、印刷機器30の機能を制限していた。第2の実施形態は、クライアント20及び印刷機器30がネットワーク的に近くに設置されているかといったクライアント20及び印刷機器30のネットワーク環境に応じて、印刷機器の機能を制限している。
第2の実施形態のシステム構成、ハードウェア構成、ソフトウェア構成は、第1の実施形態と同様であるため、説明を省略する。なお、第2の実施形態に係る印刷システム1はスプールサーバ10、クライアント20、印刷機器30が有する各処理ブロックが以下のように連携動作することにより実現される。
クライアント20の印刷ジョブ投入部21は操作画面を表示し、利用者の選択/入力による利用者ID及び印刷ジョブを受け付ける。印刷ジョブ投入部21はスプールサーバ10の印刷ジョブ受付部11に利用者ID、クライアント20のIPアドレス、印刷ジョブを送信する。スプールサーバ10の印刷ジョブ受付部11は、受信した利用者ID、クライアント20のIPアドレス、印刷ジョブを関連付けて印刷ジョブテーブル保持部17が保持する印刷ジョブテーブルに記録する。
印刷機器30の印刷要求送信部31は操作画面を表示し、利用者の選択/入力による印刷要求を受け付ける。印刷要求送信部31はスプールサーバ10の印刷要求受付部12に印刷要求を送信する。印刷要求には引数として例えば利用者IDが含まれる。ルール提供部13は、印刷要求に引数として含まれていた、利用者IDに関連付けられているクライアント20のIPアドレスを印刷ジョブテーブルから取得する。
なお、利用者IDに関連付けられているクライアント20のIPアドレスが複数あった場合は利用者に一つのクライアント20のIPアドレスを選択させてもよい。また、利用者IDに関連付けられているクライアント20のIPアドレスが複数あったとしても一意に選択できるように、印刷要求の引数として印刷ジョブIDを含ませてもよい。ルール提供部13は、利用者ID及び印刷ジョブIDに関連付けられているクライアント20のIPアドレスを印刷ジョブテーブルから取得する。
ルール提供部13は、条件と印刷ジョブの印刷処理(印刷設定)とを関連付けたルールテーブルを保持しているルールテーブル保持部18のルールテーブルを参照する。ルール提供部13は、印刷ジョブテーブルから取得したクライアント20のIPアドレス及び印刷要求受付部12が取得した印刷機器30のIPアドレスに合致する条件の印刷設定を後述のようにルールテーブルから取得して印刷機器30のルール受信部32に送信する。
ルール受信部32が、印刷ジョブテーブルから取得したクライアント20のIPアドレス及び印刷要求受付部12が取得した印刷機器30のIPアドレスに合致する条件の印刷設定を受信すると、ルール制御部33は操作画面を表示し、ルール受信部32が受信した印刷設定に従うように、利用者の選択/入力を受け付ける。ルール制御部33が表示する操作画面の遷移など、詳細は後述する。
印刷ジョブ取得要求送信部34はルール制御部33が利用者から受け付けた選択/入力に応じて、印刷ジョブ取得要求をスプールサーバ10の印刷ジョブ取得要求受付部14に送信する。また、スプールサーバ10の印刷ジョブ取得要求受付部14は印刷ジョブ取得要求を受信するときに印刷機器30のIPアドレスを取得できる。
スプールサーバ10のルール判断部15は、印刷ジョブテーブルから取得したクライアント20のIPアドレス及び印刷ジョブ取得要求受付部14が取得した印刷機器30のIPアドレスに合致する条件の印刷設定をルールテーブルから取得する。そして、スプールサーバ10のルール判断部15は印刷ジョブテーブルから取得したクライアント20のIPアドレス及び印刷ジョブ取得要求受付部14が取得した印刷機器30のIPアドレスに合致する条件の印刷設定を満たしているかを判断する。
印刷ジョブテーブルから取得したクライアント20のIPアドレス及び印刷ジョブ取得要求受付部14が取得した印刷機器30のIPアドレスに合致する条件の印刷設定を満たしていれば、印刷ジョブ提供部16は印刷ジョブ取得要求に対応した印刷ジョブを印刷機器30の印刷ジョブ受信部35に送信する。印刷処理部36は印刷ジョブ受信部35が受信した印刷ジョブの印刷処理を行う。
このように、第2の実施形態に係る印刷システム1では、クライアント20及び印刷機器30のネットワーク環境に応じた印刷設定に従って、印刷機器30による印刷処理を行うことができる。
<処理の詳細>
以下では、本実施形態に係る印刷システム1の処理の詳細について説明する。
《印刷ジョブ投入処理》
第2の実施形態における印刷ジョブ投入処理は第1の実施形態における印刷ジョブ投入処理と一部を除いて同様であるため、第1の実施形態と異なる部分を説明する。クライアント20の印刷ジョブ投入部21は利用者の選択/入力による利用者ID及び印刷ジョブを受け付けると、図4のステップS1において、スプールサーバ10の印刷ジョブ受付部11に利用者ID、クライアント20のIPアドレス、印刷ジョブを送信する。
ステップS2−S4の処理は第1の実施形態と同様である。そして、ステップS5において、印刷ジョブ受付部11は印刷ジョブをHDD108などに蓄積した後、ステップS1で受信した利用者IDとクライアント20のIPアドレスと印刷ジョブの印刷ジョブIDとを関連付けて、印刷ジョブテーブル保持部17が保持する印刷ジョブテーブルに記録する。
図9は印刷ジョブテーブルの他の例の構成図である。図9の印刷ジョブテーブルは、印刷ジョブの印刷ジョブIDと、印刷ジョブをスプールサーバ10に投入した利用者の利用者IDと、印刷ジョブをスプールサーバ10に送信したクライアント20のIPアドレスとを関連付けて記録するものである。
第2の実施形態に係る印刷システム1は印刷ジョブ投入処理により、クライアント20からスプールサーバ10に印刷ジョブを投入させると共に、印刷ジョブの印刷ジョブIDと、印刷ジョブをスプールサーバ10に投入した利用者の利用者IDと、印刷ジョブをスプールサーバ10に送信したクライアント20のIPアドレスとを関連付けて印刷ジョブテーブルに記録できる。
《ルール取得処理》
図10はルール取得処理の流れを表した他の例のフローチャートである。図10に示したルール取得処理は、第1の実施形態におけるルール取得処理と一部を除いて同様であるため、第1の実施形態と異なる部分を説明する。
印刷要求受付部12が印刷要求を受信すると、ステップS31において、ルール提供部13は印刷要求を行った印刷機器30のIPアドレスを取得する。また、ルール制御部33は印刷要求に引数として含まれていた、利用者IDに関連付けられているクライアント20のIPアドレスを印刷ジョブテーブルから取得する。
ステップS32において、ルール提供部13は、ルールテーブル保持部18が保持している図11のルールテーブルを参照する。図11は、ルールテーブルの他の例の構成図である。図11のルールテーブルは、クライアント20及び印刷機器30のネットワーク環境(条件)と印刷ジョブの印刷処理(印刷設定)とを関連付けている。なお、図11の一番右の項目「例」は説明の為に設けた項目である。
図11のルールテーブルにおける条件はサブネットマスクが定義されている。また、図11のルールテーブルにおける印刷設定は、一例として印刷できる文書の数及び印刷できる部数が定義されている。図11の項目「例」には、各条件に合致するクライアント20及び印刷機器30のIPアドレスの例を示している。
ルール提供部13は、取得したクライアント20及び印刷機器30のIPアドレスに対して、ルールテーブルの全ての条件を試したかを判定する。まだ試していない条件があれば、ルール提供部13はステップS33において、まだ試していない条件の中から一つの条件を選択し、選択した条件に定義されたサブネットマスクをクライアント20及び印刷機器30のIPアドレスに適用する。
言い換えれば、ルール提供部13はクライアント20及び印刷機器30のIPアドレスに、選択した条件に定義されているサブネットマスクを掛ける。そして、ステップS34において、ルール提供部13は、選択した条件に定義されているサブネットマスクを掛けたクライアント20及び印刷機器30のIPアドレスの値(クライアント20及び印刷機器30のネットワークアドレス)が、一致しているか否かを判定する。
選択した条件に定義されているサブネットマスクを掛けたクライアント20及び印刷機器30のIPアドレスの値が一致していれば、ルール提供部13はステップS33で選択した条件を一致条件リストに追加するステップS35の処理の後、ステップS32の処理に戻る。
なお、選択した条件に定義されているサブネットマスクを掛けたクライアント20及び印刷機器30のIPアドレスの値が一致していなければ、ルール提供部13はステップS33で選択した条件を一致条件リストに追加せず、ステップS32の処理に戻る。
ルール提供部13は、取得したクライアント20及び印刷機器30のIPアドレスに対して、ルールテーブルの全ての条件を試すまでステップS32−S35の処理を繰り返し行う。取得したクライアント20及び印刷機器30のIPアドレスに対してルールテーブルの全ての条件を試すまでステップS32−S35の処理を繰り返したあと、ルール提供部13はステップS36に進み、一致条件リストから最長のサブネットマスクで一致する条件の印刷設定をルールテーブルから取得する。
このように、本実施形態に係る印刷システム1はルール取得処理により、クライアント20及び印刷機器30のIPアドレスが最長のサブネットマスクで一致する条件の印刷設定をルールテーブルから取得することができる。
例えば図11のルールテーブルにおける1行目は、先頭から3バイトまでのIPアドレスで比較する条件を表している。IPアドレスが「192.168.101.010」のクライアント20及びIPアドレスが「192.168.101.011」の印刷機器30はサブネットマスク「255.255.255.0」を掛けると、IPアドレス「192.168.101.000」となる。
したがって、IPアドレスが「192.168.101.010」のクライアント20及びIPアドレスが「192.168.101.011」の印刷機器30はサブネットマスク「255.255.255.0」を掛けると一致するため、ステップS33で選択された条件が一致条件リストに追加される。また、図11のルールテーブルにおける2行目の条件も、1行目の条件と同様の例であるが、適用される印刷設定が異なる。
例えば図11のルールテーブルにおける1行目のルールでは同一のネットワーク環境に設置されたクライアント20及び印刷機器30であるため、印刷設定の制約を緩く設定している。また、図11のルールテーブルにおける2行目のルールは同一のネットワーク環境ではないが、同一の事業所内に設置されたクライアント20及び印刷機器30であるため、同一のネットワーク環境に設置されたクライアント20及び印刷機器30よりも印刷設定の制約を強く設定している。
また、図11のルールテーブルにおける3行目の条件は特殊な例とし、デフォルトで必ず一致する。つまり、図11のルールテーブルにおける3行目のルールは一つも一致する条件がない場合に適用される印刷設定を表している。なお、図11のルールテーブルにおける3行目のルールは印刷設定が「単一文書、1部印刷可能」であり、例えば社内に設置されたクライアント20及び社外に設置された印刷機器30であるため、最低限の印刷処理しかできないようにしている。
なお、第2の実施形態のルール制御処理は、第1の実施形態と同様であるため、説明を省略する。
<まとめ>
第2の実施形態に係る印刷システム1によれば、スプールサーバ10に印刷ジョブを投入したクライアント20、及び、スプールサーバ10に印刷要求を行った印刷機器30のネットワーク環境に応じて、印刷の可否、印刷できる文書の数、印刷できる部数などの印刷設定を制御できるので、プルプリントシステムの利便性を維持しながらセキュリティを向上させることができる。
つまり、第2の実施形態に係る印刷システム1によれば、クライアント20及び印刷機器30がネットワーク的に近くに設置されているかといったクライアント20及び印刷機器30のネットワーク環境に応じて、印刷機器30の機能を制限できる。
[第3の実施形態]
第3の実施形態は、印刷機器30がネットワーク的にどこに設置されているかといった印刷機器30のネットワーク環境と、クライアント20及び印刷機器30がネットワーク的に近くに設置されているかといったクライアント20及び印刷機器30のネットワーク環境とに応じて、印刷機器の機能を制限している。つまり、第3の実施形態は第1の実施形態と第2の実施形態とを組み合わせたものである。したがって、第3の実施形態は第1及び第2の実施形態と一部を除いて同様である。そこで、第3の実施形態の説明は第1及び第2の実施形態と異なる部分について説明する。
第3の実施形態は、ルール提供部13のルール取得処理が第1の実施形態及び第2の実施形態と異なる。第3の実施形態において、ルール提供部13は、印刷要求に引数として含まれていた、利用者IDに関連付けられているクライアント20のIPアドレスを印刷ジョブテーブルから取得する。
ルール提供部13は、図7のルールテーブル及び図11のルールテーブルを組み合わせた図12に示すルールテーブルを保持しているルールテーブル保持部18のルールテーブルを参照する。図12はルールテーブルの他の例の構成図である。
なお、図12のルールテーブルは図7のルールテーブルと同様、印刷機器30のネットワーク環境(条件)と印刷ジョブの印刷処理(印刷設定)とを関連付けると共に、図11のルールテーブルと同様、クライアント20及び印刷機器30のネットワーク環境と印刷ジョブの印刷処理とを関連付けている。
ルール提供部13は、印刷要求受付部12が取得した印刷機器30のIPアドレスに合致し、且つ、印刷ジョブテーブルから取得したクライアント20のIPアドレス及び印刷要求受付部12が取得した印刷機器30のIPアドレスに合致する条件の印刷設定を後述のようにルールテーブルから取得して印刷機器30のルール受信部32に送信する。
《ルール取得処理》
図13はルール取得処理の流れを表した他の例のフローチャートである。図10に示したルール取得処理は第1の実施形態及び第2の実施形態におけるルール取得処理と一部を除いて同様であるため、適宜説明を省略する。
印刷要求受付部12が印刷要求を受信すると、ステップS41において、ルール提供部13は印刷要求を行った印刷機器30のIPアドレスを取得する。また、ルール制御部33は印刷要求に引数として含まれていた、利用者IDに関連付けられているクライアント20のIPアドレスを印刷ジョブテーブルから取得する。
ステップS42において、ルール提供部13は、ルールテーブル保持部18が保持している図12のルールテーブルを参照する。ルール提供部13は、取得したクライアント20及び印刷機器30のIPアドレスに対して、ルールテーブルの全ての条件を試したかを判定する。
まだ試していない条件があれば、ルール提供部13はステップS43において、まだ試していない条件の中から一つの条件を選択し、選択した条件に定義されたサブネットマスクを印刷機器30のIPアドレスに適用する。ステップS43の処理は図6のステップS13と同様である。
印刷機器30のIPアドレスに、選択した条件に定義されているサブネットマスクを掛けた値と、選択した条件に定義されている条件のIPアドレスとが一致すれば、ルール提供部13はステップS45の処理を行う。
ステップS45において、ルール提供部13は、ステップS43で選択した条件に定義されているサブネットマスクをクライアント20及び印刷機器30のIPアドレスに適用する。ステップS45の処理は、図10のステップS33と同様である。ステップS46において、ルール提供部13は、選択した条件に定義されているサブネットマスクを掛けたクライアント20及び印刷機器30のIPアドレスの値が、一致しているか否かを判定する。
選択した条件に定義されているサブネットマスクを掛けたクライアント20及び印刷機器30のIPアドレスの値が一致していれば、ルール提供部13はステップS43で選択した条件を一致条件リストに追加するステップS47の処理の後、ステップS42の処理に戻る。
なお、ステップS44において、印刷機器30のIPアドレスに、選択した条件に定義されているサブネットマスクを掛けた値と、選択した条件に定義されている条件のIPアドレスとが一致しないか、又は、ステップS46において、選択した条件に定義されているサブネットマスクを掛けたクライアント20及び印刷機器30のIPアドレスの値が一致していなければ、ルール提供部13はステップS43で選択した条件を一致条件リストに追加せず、ステップS42の処理に戻る。
ルール提供部13は、取得したクライアント20及び印刷機器30のIPアドレスに対して、ルールテーブルの全ての条件を試すまでステップS42−S47の処理を繰り返し行う。取得したクライアント20及び印刷機器30のIPアドレスに対してルールテーブルの全ての条件を試すまでステップS42−S47の処理を繰り返したあと、ルール提供部13はステップS48に進み、一致条件リストから最長のサブネットマスクで一致する条件の印刷設定をルールテーブルから取得する。
このように、本実施形態に係る印刷システム1はルール取得処理により、印刷機器30のIPアドレスと条件のIPアドレスとが最長のサブネットマスクで一致し、且つ、クライアント20及び印刷機器30のIPアドレスが最長のサブネットマスクで一致する条件の印刷設定をルールテーブルから取得することができる。
<まとめ>
第3の実施形態に係る印刷システム1によれば、スプールサーバ10に印刷ジョブを投入したクライアント20、及び、スプールサーバ10に印刷要求を行った印刷機器30のネットワーク環境に応じて、印刷の可否、印刷できる文書の数、印刷できる部数などの印刷設定を制御できるので、プルプリントシステムの利便性を維持しながらセキュリティを向上させることができる。
例えば機密性の高い書類を扱う部署のネットワークから投入された印刷ジョブは同一の部署内に設置された印刷機器30以外で印刷処理できないといったように、印刷機器30の機能を制限できる。
つまり、第3の実施形態に係る印刷システム1によれば、印刷機器30がネットワーク的に、どこに設置されているかといった印刷機器30のネットワーク環境、及び、クライアント20及び印刷機器30がネットワーク的に近くに設置されているかといったクライアント20及び印刷機器30のネットワーク環境に応じて、印刷機器30の機能を制限できる。
上記した第1−第3の実施形態に係る印刷システム1では、表示する操作画面の内容を制御することで、印刷機器30が印刷設定に従う利用者の選択/入力を受け付ける例について示したが、これに限らない。例えば印刷機器30は、利用者の選択/入力を受け付けた後で、印刷設定に従うか否かを判定し、印刷設定に従っていない場合にエラーを返すようにしてもよい。
また、図1の印刷システム1では例えばプロキシサーバを介して接続される印刷機器30の場合、印刷機器30のIPアドレスに替えてプロキシサーバのIPアドレスを利用してもよい。また、図1の印刷システム1ではスプールサーバ10の他に、権限サーバ等が設けられている場合、どちらの権限を利用するか、適宜設定できるようにしてもよい。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。