JP4168991B2 - 印刷制御装置、印刷システム、プログラム及び印刷制御方法 - Google Patents

印刷制御装置、印刷システム、プログラム及び印刷制御方法 Download PDF

Info

Publication number
JP4168991B2
JP4168991B2 JP2004233436A JP2004233436A JP4168991B2 JP 4168991 B2 JP4168991 B2 JP 4168991B2 JP 2004233436 A JP2004233436 A JP 2004233436A JP 2004233436 A JP2004233436 A JP 2004233436A JP 4168991 B2 JP4168991 B2 JP 4168991B2
Authority
JP
Japan
Prior art keywords
authority
spool file
user
print
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004233436A
Other languages
English (en)
Other versions
JP2006053658A (ja
Inventor
政敏 門田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2004233436A priority Critical patent/JP4168991B2/ja
Priority to US11/199,207 priority patent/US7768665B2/en
Publication of JP2006053658A publication Critical patent/JP2006053658A/ja
Application granted granted Critical
Publication of JP4168991B2 publication Critical patent/JP4168991B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続された印刷システム、その印刷システムを構成するクライアント装置が印刷ジョブを生成してサーバ装置に対する印刷要求を行うための印刷制御方法、印刷制御装置及びプログラムに関する。
従来より、複数のパーソナルコンピュータ(以下「PC」と略す)がネットワークを介して相互に接続されると共にある特定のPCにプリンタが接続され、そのプリンタを、ネットワークに接続された複数のPCが利用できるように構成された印刷システムが知られている。
図6は、印刷システムの一例を示すものであり、プリンタ103が接続されたサーバPC102とクライアントPC101とがネットワーク105を介して相互に接続されている。また、図示しないものの、ネットワーク105には他にも複数のクライアントPCが接続されている。そして、サーバPC102からプリンタ103へ印刷データを出力して印刷を行えることはもちろん、ネットワーク105に接続された全てのクライアントPCも、ネットワーク105及びサーバPC102を介してプリンタ103へ印刷データを出力し、印刷を行うことができる。
このように構成された印刷システムにおいて、プリンタ103で印刷を行うためにクライアントPC101からサーバPC102へ印刷要求が行われたときの印刷処理の流れを、図7に基づいて概略説明する。図7では、クライアントPC101におけるクライアントOS(Operating System)及びサーバPC102におけるサーバOSがいずれもWindows(登録商標。以下同様。)であるものとして説明する。
ワープロソフトや表計算ソフト等のアプリケーション111を操作しているユーザの処理によりアプリケーション111から印刷指示がなされると、その指示内容はプリンタドライバUI(User Interface)112を介して、クライアントOSが提供するプログラムモジュールであるGDI(Graphics Device Interface )に送られる。このGDIにより、仮想化されたディスプレイ領域であるデバイスコンテキスト(以下「DC」と略す)が作成されてアプリケーション111へ供給される。これにより、アプリケーション111によるDCへの描画処理が行われ、その結果、EMF(Enhanced Meta File)と称される、プリンタの種類に依存しない中間ファイルがページ毎に生成される。
各ページの中間ファイルは、クライアントOSの一機能としてのスプーラシステム113によって印刷ジョブ毎に一つのスプールファイルとして形成され、そのスプールファイルはスプーラシステム113によって一時的に記憶装置に記憶(スプール)される。
そして、プリントプロセッサ114が、記憶装置に記憶されたスプールファイルをプリンタドライバGDI115へ渡すことにより、スプールファイルがこのプリンタドライバGDI115によって出力先のプリンタ103に応じた印刷データ(プリンタ制御コード)に変換される。そして、この印刷データがポートモニタ116を介してサーバPC102へ出力されることとなる。
ポートモニタ116は、印刷データを出力するのに先立ってサーバPC102への接続要求を行う。これにより、サーバPC102では、接続を許可するか否かの認証が行われる。そして、認証が通って接続が許可された場合は、クライアントPC101からの印刷データがサーバPC102に入力され、スプーラシステム131やプリントプロセッサ132を介してプリンタ103へ出力される。尚、上述した例では、クライアントPC101においてスプールファイルが出力先のプリンタ103に応じたプリンタ制御コードに変換されるため、サーバPC102のプリンタドライバGDI133においてプリンタ制御コードへの変換は行われない。
ここで、上述したクライアントPC101における各処理のうち、ユーザ処理によるアプリケーション111からの印刷指示やプリンタドライバUI112の動作は、そのユーザに対応したユーザ権限により行われる。また、スプーラシステム113によるスプールファイルのスプールからプリントプロセッサ114、プリンタドライバ115を介してポートモニタ116による接続要求(認証要求)が行われるまでの各処理は、本来はシステム権限であるもののユーザ権限に偽装された状態で行われる。
これにより、ポートモニタ116からの認証要求、即ちサーバPC102による認証処理はクライアントPC101のユーザ名で行われる。そのため、プリンタ103へのアクセス許可が予め登録されているユーザ名で認証が行われる限り、認証が通って接続が許可されるのである。
一方、上述した通常の印刷例に加え、例えばページ分割された複数のページを同一ページ内に印刷するいわゆる4in1、2in1等のNin1と称されるマルチページ印刷や、ある画像に別の画像を重ねて印刷する重ね印刷(いわゆるウォーターマーク描画)、或いはページ分割された複数ページの昇降順を入れ換えて印刷するといったページ入れ換え印刷(リバースオーダ)などの、種々の特殊印刷を行いたいというニーズもあり、そのような特殊印刷ジョブをパソコン側で制御することも考えられている。そこで本願出願人は、スプールファイルを加工することによって上記各種の特殊印刷を実現する技術を提案した(例えば、特許文献1参照。)。
具体的には、スプーラシステム113によりスプールされたスプールファイルに対し、プリントプロセッサ114が加工処理のためのプロセスであるスプールファイル加工プログラム121を起動するのである。これにより、スプールファイルがページ毎の中間ファイルに分割され、その中間ファイルに対して所定の加工が施される。そして、加工後の中間ファイルによって新たなスプールファイルが生成され、再びスプーラシステム113へ戻される。これにより、新たに生成されたスプールファイルに基づいて、出力先のプリンタに応じたプリンタ制御コードをプリンタドライバGDI115にて生成するといった通常の処理を可能としつつ、上記各種の特殊印刷を実現している。
特開2003−131835号公報
しかしながら、特殊印刷のためにスプールファイルを加工して新たなスプールファイルを生成し、その後プリントプロセッサ114やプリンタドライバGDI115等を経てポートモニタ116によりサーバPC102への接続を要求すると、サーバPC102における認証にて拒否されてしまい、その特殊印刷をプリンタ103で行うことができなくなる場合があった。
即ち、スプールファイルの加工は、プリントプロセッサ114から別プロセス(スプールファイル加工プログラム121)を起動して、そのプロセス内でスプールデータを加工し、加工後に別JOBとしてスプーラシステム113に戻すことにより行われる。この起動されるプロセスは、起動元がシステムであるため、システム権限で起動される。これにより、アクセス権限が制限されたユーザではアクセスできないディレクトリ等にアクセスすることで、特殊印刷を実現している。
つまり、印刷ジョブ毎のスプールファイルの処理がユーザ名でなされている過程において、特殊印刷の実現のためにシステム権限(ユーザ名;System)で別プロセスを立ち上げ、新たな印刷ジョブを生成しているのである。そして、システム権限で生成された新たな印刷ジョブがスプーラシステム113に戻されると、以後、ポートモニタ116にて接続要求を行うまでの一連の処理はシステム権限で行われることとなる。
そのため、この新たな印刷ジョブをサーバPC102へ出力する際の認証において、クライアントPC101はユーザ名を「System」として認証要求することとなり、アクセスを許可できるユーザ名としてSystemはサーバPC102に登録されていないことから、この認証は拒否されるのである。
このようにスプールファイル加工のための別プロセスを起動したことにより認証が拒否されるのは、より具体的には、Windowsの場合、UNC(Universal Naming Convention)ポートによるプリンタへの接続時やリダイレクトポートによるプリンタへの接続時が挙げられる。これら各ポートを用いた接続時には、当然ながらネットワークにおけるセキュリティが適用され、その認証にはユーザ名が使用される。そのため、ユーザ名がSystemの場合の認証は拒否されることになるのである。
尚、サーバPC102のセキュリティレベルを低くして例えば「誰でも印刷可能」としたり或いは「クライアントPC101からの印刷要求については無条件に許可する」などとしたりすれば、サーバPC102の認証で拒否されないようにすることも可能ではある。しかし、例えば企業内のネットワークなどでは通常そのような低いセキュリティレベルに設定することは稀であり、必要に応じた高レベルのセキュリティ設定を行うのが一般的である。
そのため、そうしたセキュリティレベルの高いネットワークにおいて、クライアントPC101から上述した特殊印刷のための処理(別プロセス起動)を行った場合であっても、その特殊印刷ジョブについてサーバPC102を介してプリンタ103から印刷できるようにすることが望まれていた。
本発明は上記課題に鑑みなされたものであり、スプールファイルを加工してサーバ装置へ印刷要求する際に、サーバ装置による認証で拒否されることなくその加工後のスプールファイルに対応した印刷を行えるようにすることを目的とする。
上記課題を解決するためになされた請求項1記載の発明は、印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続され、クライアント装置からサーバ装置への印刷要求に対し、サーバ装置が、その印刷要求を行った要求者が予め登録されている登録ユーザであった場合にその印刷要求に従って印刷デバイスを制御するよう構成された印刷システムにおける、クライアント装置に搭載された印刷制御装置である。
クライアント装置の内部における動作権限としては、ユーザ権限とシステム権限とを有しており、このうちユーザ権限は、登録ユーザとして印刷システムに登録されている当該クライアント装置のユーザ毎に与えられる、予め設定された領域にのみアクセス可能な権限であり、システム権限は、少なくとも、ユーザによる印刷指示に応じてサーバ装置へ印刷要求を行う際にアクセスを要する領域には制限無くアクセスすることが可能な権限である。そして、ユーザ権限にて印刷要求を行う場合はそのユーザ権限に対応したユーザが要求者となる。一方、システム権限にて印刷要求を行う場合における要求者は、上記登録ユーザとは異なるものとなる。
そして更に、請求項1記載の印刷制御装置は、スプールファイル生成手段と、スプールファイル制御手段と、権限偽装手段とを備えている。このうちスプールファイル生成手段は、ユーザの入力に従ってそのユーザに対応したユーザ権限にて動作し、印刷ジョブ毎のスプールファイルを生成する。
スプールファイル制御手段は、システム権限にて動作を開始し、スプールファイル生成手段により生成されたスプールファイルに該スプールファイルを加工すべき加工情報が含まれている場合に、その加工情報に基づいてスプールファイルを加工し、その加工されたスプールファイルをサーバ装置へ出力するための印刷要求を行う。そして、スプールファイル制御手段が印刷要求を行う際に、権限偽装手段が、動作権限をユーザ権限に偽装する。
このように構成された印刷制御装置においては、スプールファイルの生成はユーザ権限で行われるものの、そのスプールファイルを加工して印刷要求する際はシステム権限にてなされる。ところが、印刷要求が行われる際に、権限偽装手段が動作権限をユーザ権限に偽装するため、印刷要求はユーザ権限にて行われる。そのため、その印刷要求を受けたサーバ装置は、その要求者であるクライアント装置側のユーザが登録ユーザとして登録されている限り、その要求に従って印刷デバイスを制御することとなる。
従って、上記のように構成された請求項1記載の印刷制御装置によれば、システム権限にて加工されたスプールファイルについて印刷要求を行う場合であっても、その印刷要求時の動作権限がユーザ権限に偽装されるため、登録ユーザとして登録されている限り、サーバ装置による認証で拒否されることなくその加工後のスプールファイルに対応した印刷を行うことが可能となる。
スプールファイル制御手段は、具体的には、例えば請求項2に記載のように、加工情報に基づいてスプールファイルの加工を行う加工手段と、その加工手段により加工されたスプールファイルをサーバ装置へ出力するための印刷要求を行う印刷要求手段とを備えたものとして構成することができる。そしてこの場合、権限偽装手段は、印刷要求手段の動作前に偽装を行えばよい。このように構成することで、印刷要求の際、確実にユーザ権限に偽装された状態にすることができる。
次に、請求項3記載の発明は、請求項2記載の印刷制御装置であって、スプールファイル制御手段は、スプールファイル生成手段により生成されたスプールファイルをページ毎の印刷用中間ファイルに分割して所定の一時保存領域に格納する格納手段を備える。そして、加工手段は、格納手段により一時保存領域に格納された印刷用中間ファイル毎に加工を行い、権限偽装手段は、格納手段が印刷用中間ファイルを一時保存領域に格納する際も偽装を行う。
このように構成された印刷制御装置によれば、印刷用中間ファイルの一時保存領域への格納がユーザ権限にて行われるため、一時保存領域への格納中或いは格納後に何らかの原因でクライアント装置の動作が異常終了したとしても、一時保存領域に格納された印刷用中間ファイルをユーザが(即ちユーザ権限で)削除することが可能となる。
ところで、ユーザ権限はユーザ毎に与えられるものであるため、その権限の内容もユーザ毎に異なることも十分に考えられる。そこで、請求項2又は3に記載の印刷制御装置は、例えば請求項4に記載のように、加工手段が加工を行う前に、権限情報取得手段がその加工対象のスプールファイルが生成されたときのユーザ権限に関する情報を取得するようにし、その取得された情報に対応したユーザ権限にて権限偽装手段が偽装を行うように構成してもよい。
このようにすれば、クライアント装置を操作しているユーザとは異なる他のユーザに対応したユーザ権限で偽装されてしまうといったことがなく、その時々のユーザに確実に対応したユーザ権限で偽装することが可能となる。
次に、請求項5記載の発明は、請求項4記載の印刷制御装置であって、スプールファイル生成手段により生成されたスプールファイルには複数の加工情報が含まれており、スプールファイル制御手段は、加工手段が複数の加工情報のいずれか一つに基づいてスプールファイルを加工したときに、その加工後のスプールファイルに基づいて新たな印刷ジョブを生成する新規ジョブ生成手段を備えており、その新たな印刷ジョブのスプールファイルに対して加工手段が再び加工を行うよう構成されている。そして、権限偽装手段は、新規ジョブ生成手段が新たな印刷ジョブを生成する際にも偽装を行う。
このように構成された印刷制御装置によれば、新規ジョブ生成手段が新たな印刷ジョブを生成する際にユーザ権限への偽装を行うため、その新たな印刷ジョブはユーザ権限にて生成されることとなる。
そのため、その新たな印刷ジョブに対して更に加工手段が加工を行う際、権限情報取得手段は加工対象のスプールファイル(即ち新たな印刷ジョブのスプールファイル)が生成されたときのユーザ権限に関する情報を確実に取得することができ、その後その取得した情報に基づいて権限偽装手段が偽装を行うことが可能となる。
そして、上記のように構成された請求項1〜5いずれかに記載の印刷制御装置は、更に、例えば請求項6に記載のように、スプールファイル制御手段が、権限偽装手段による偽装が行われた後にシステム権限での動作が必要な所定のタイミングで動作権限を再びシステム権限に戻す偽装解除手段を備えたものとすることができる。
即ち、権限偽装手段によってユーザ権限に偽装されても、システム権限として動作する必要性が生じたときは、再びシステム権限に戻すのである。このようにすることで、動作権限を必要に応じて適切に変更することができるようになり、ユーザ権限への偽装後にシステム権限での処理が必要となっても確実にその処理を行うことが可能となる。
次に、請求項7記載の発明は、請求項5に従属する請求項6記載の印刷制御装置であって、スプールファイル制御手段は、新たな印刷ジョブのスプールファイルをシステム権限にてアクセス可能な所定のスプール領域に一旦格納するスプール手段を備える。そして、偽装解除手段は、スプール手段がその新たな印刷ジョブのスプールファイルをスプール領域へ格納する際に、動作権限をシステム権限に戻す。
このように構成された印刷制御装置によれば、仮にスプールファイル制御手段がユーザ権限にて動作しているときであっても、スプール手段がスプール領域へのスプールファイルの格納を行う際には動作モードがシステム権限に戻ることになるため、確実にスプールすることが可能となる。
また、請求項8記載の発明は、請求項6又は7記載の印刷制御装置であって、クライアント装置における、アクセス可能なユーザが制限された制限領域内に格納されたデータを取得すべき旨の加工情報があった場合に、その取得すべきデータを制限領域から取得する制限領域データ取得手段を備え、偽装解除手段は、制限領域データ取得手段によるデータ取得の際に、動作権限を前記システム権限に戻す。
このように構成された印刷制御装置によれば、スプールファイルを加工するために制限領域にアクセスする必要がある場合は、動作権限が前もってシステム権限に戻されるため、制限領域内に格納されたデータを必要に応じて制限無く取得することが可能となる。
そして、上記請求項8に記載の発明は、特に、請求項9に記載のようにクライアント装置の内部におけるアクセス可能な領域がユーザ毎に設定されている場合に適用すると、より効果的である。
即ち、例えばあるユーザがスプールファイル加工のためのデータを独自に作成してそのユーザがアクセス可能な領域にそのデータを格納した場合、他のユーザがそのデータを利用してスプールファイルを加工しようと思っても、そのデータの格納場所へのアクセスができない場合はそのデータを利用することができない。このような場合に、動作権限をシステム権限に戻せば、そのデータが格納された領域にアクセスしてデータを取得することが可能となるのである。
従って、請求項9記載の印刷制御装置によれば、スプールファイルを加工するのに必要なデータを確実に取得することができ、所望の加工を確実に行うことが可能となる。
そして、請求項10記載の発明は、印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続され、クライアント装置からサーバ装置への印刷要求に対し、サーバ装置が、その印刷要求を行った要求者が予め登録されている登録ユーザであった場合にその印刷要求に従って印刷デバイスを制御するよう構成された印刷システムであって、クライアント装置に、請求項1〜9いずれかに記載の印刷制御装置が搭載されたものである。
このように構成された印刷システムによれば、請求項1〜9いずれかに記載の発明と同様の効果が得られ、クライアント装置でスプールファイルが加工された場合であってもそのスプールファイルに対応した印刷結果を得ることが可能となる。
本発明の印刷制御装置(請求項1〜9)は、例えば別途ハードウェアにより実現することができるなど、種々の方法により実現可能であるが、コンピュータがアプリケーションソフト(プログラム)を実行することにより実現することができる。
即ち、当該印刷制御装置における各手段としてコンピュータを機能させるためのプログラムを備え、コンピュータがそのプログラムを実行することにより、本発明の印刷制御装置を実現するのである。
尚、コンピュータを本発明の印刷制御装置として機能させるためのプログラムは、例えば、フロッピー(登録商標。以下同様。)ディスク、光磁気ディスク、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして起動することにより用いることができる。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体としてプログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータに組み込んで用いてもよい。
そして、上記のように印刷制御装置をコンピュータにてプログラムを実行させることで実現する場合は、例えば請求項12に記載のように、当該プログラムのうち、少なくとも上記スプールファイル制御手段として機能させるためのスプールファイル制御プログラムは、コンピュータ全体を管理してプログラムの実行を制御するために該コンピュータが実行する基本ソフトウェアに対する、その基本ソフトウェアが管理する領域に制限無くアクセス可能な特権モードで実行が開始されるシステムプロセスとして構成し、上記権限偽装手段として機能させるための権限偽装プログラムは、コンピュータの動作モードを、特権モードから、上記基本ソフトウェアが管理する領域に対するアクセスがユーザ権限に対応して制限されるユーザモードに変更するよう構成するとよい。
このようにすることで、システム権限にて動作を開始するスプールファイル制御手段と、システム権限のユーザ権限への偽装を行う権限偽装手段とが実現されることとなる。
また、請求項6記載の印刷制御装置における各手段としてコンピュータを機能させるためのプログラムは、より具体的には例えば請求項13に記載のように、当該プログラムのうち少なくともスプールファイル制御手段として機能させるためのスプールファイル制御プログラムを、コンピュータ全体を管理してプログラムの実行を制御するために該コンピュータが実行する基本ソフトウェアに対する、その基本ソフトウェアが管理する領域に制限無くアクセス可能な特権モードで実行が開始されるシステムプロセスとして構成し、偽装解除手段として機能させるための偽装解除プログラムを、コンピュータの動作モードを上記基本ソフトウェアが管理する領域に対するアクセスがユーザ権限に対応して制限されるユーザモードに偽装された状態から特権モードに変更するものとして構成するとよい。
このようにすることで、システム権限にて動作を開始するスプールファイル制御手段と、ユーザ権限に偽装された状態からシステム権限に戻す偽装解除手段とが実現されることとなる。
次に、請求項14記載の発明は、印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続され、クライアント装置からサーバ装置への印刷要求に対し、サーバ装置が、その印刷要求を行った要求者が予め登録されている登録ユーザであった場合にその印刷要求に従って印刷デバイスを制御するよう構成された印刷システムにおいて、クライアント装置が当該装置内部で生成した印刷ジョブを制御してその印刷ジョブに対応した印刷要求を行う印刷制御方法である。
そして、クライアント装置の内部における動作権限として、請求項1と同様、ユーザ権限とシステム権限を有し、システム権限にて印刷ジョブの制御が実行されている場合に、ユーザ権限で行うべき処理を実行する必要が生じたときは、動作権限をユーザ権限に偽装する。従って、上記のような印刷制御方法によれば、印刷ジョブをより適切な動作権限にて制御することが可能となる。
また、上記請求項14に記載の印刷制御方法は、より具体的には、例えば請求項15に記載のように、システム権限にて実行されている印刷ジョブの制御を、その印刷ジョブのスプールファイルに該スプールファイルを加工すべき加工情報が含まれている場合におけるその加工情報に基づくスプールファイルの加工とし、ユーザ権限で行うべき処理を、サーバ装置に対して加工後のスプールファイルに基づく印刷要求を行う処理としてもよい。このようにすれば、請求項1と同様の効果を得ることが可能となる。
更に、例えば請求項16のように、ユーザ権限への偽装後、システム権限で行うべき処理を実行する必要が生じたときに動作権限を再びシステム権限に戻すようにすれば、システム権限で行うべき処理を確実に実行することが可能となる。
以下に、本発明の好適な実施形態を図面に基づいて説明する。図1に、本実施形態の印刷システムのハード構成を示す。図1に示す如く、本実施形態の印刷システムは、図6に示した印刷システムと同じように、クライアントPC1とサーバPC2とがLAN(Local Area Network)などのネットワーク7を介して相互にデータ送受信できるよう接続されている。また、サーバPC2には印刷デバイスとしてのプリンタ3が接続されている。そして、サーバPC2からプリンタ3へ印刷データを出力して所望の印刷を行うことはもちろん、クライアントPC1からの印刷データもサーバPC2を介してプリンタ3へ出力でき、更には、ネットワーク7に接続されている図示しない他のクライアントPCからも、サーバPC2を介してプリンタ3を利用することができる。
より厳密にいえば、サーバPC2へアクセスしてプリンタ3への印刷データ出力を行う権限が与えられたユーザが、クライアントPC1(図示しない他のクライアントPCも含む)からサーバPC2へアクセスしたときに、そのユーザ名での認証が通ったとき、サーバPC2を介したプリンタ3への印刷データ出力が許可される。
プリンタ3は、当該プリンタ3の動作全体を制御するCPU31と、CPU31にて実行される各種プログラムやパラメータ等が格納されたROM32と、サーバPC2から送信されてくる画像データ等の格納やCPU31の一時的な作業領域として用いられるRAM33と、当該プリンタ3とサーバPC2との間でデータ授受を行うためのインターフェイスであるI/F35と、サーバPC2から入力された画像データに従って印刷用紙(図示略)に画像を形成(印刷出力)するエンジン34とを備え、これらが内部バス36にて接続された構成となっている。
クライアントPC1は、CPU11、ROM12、RAM13、ハードディスクドライブ(HDD)14、周辺機器等と接続してその機器との間でデータの送受を行うI/O15、及びNIC(Network Interface Card)16を備え、これらが内部バス17を介して相互に接続されたごく一般的な構成のものである。尚、I/O15は、例えばUSB(Universal Serial Bus)などといった各種インターフェイスにて構成されている。
クライアントPC1にインストールされたアプリケーション上で作成された文書データや画像データ等の各種印刷用データは、ユーザによる印刷指示によってNIC16から出力され、ネットワーク7を介してサーバPC2へ入力される。そしてサーバPC2は、クライアントPC1から受信した印刷用データを適宜処理してプリンタ3へ出力する。
サーバPC2については、そのハード構成のみに着目すればクライアントPC1と同様の構成であるため、ここではその説明を省略する。尚、サーバPC2とプリンタ3とは、サーバPC2におけるI/O25とプリンタ3におけるI/F35との間で例えばUSBインターフェイスによって接続されている。
図2は本実施形態の印刷システムのソフトモジュールを示す概略ブロック図である。本実施形態では、クライアントOSがWindowsNT、サーバOSがWindows2000の場合を示している。
そして、本実施形態では、中間ファイル生成部41にて生成された印刷用の中間ファイルが、印刷ジョブ毎のスプールファイルとして一旦スプール領域58へ記憶され、その記憶されたスプールファイルに加工情報が含まれているときは、スプールファイル加工処理部43がそのスプールファイルを加工して再びスプール領域58へ戻す。そして、加工後のスプールファイルがプリンタドライバGDI44にてプリンタ制御コードに変換され、ポートモニタ45を介してサーバPC2へ送信される。
サーバPC2では、受信した印刷用データ(プリンタ制御コード)をプリントスプーラ61が一旦スプール領域68へ記憶する。そして、プリンタ3の動作状態に応じてその印刷用データがプリンタ3へ出力される。
尚、一般に、クライアントPC1及びサーバPC2はいずれも、図1でも説明したように、CPU11(21)、ROM12(22)、RAM13(23)、I/O15(25)等のハードウェアのもとで各OSがこれらの制御を担い、そのOSの元で、アプリケーションソフトやデバイスドライバ等の応用ソフトが動作するようになっている。そして、本実施形態のクライアントPC1では、プリントスプーラ42はクライアントOSの一機能としてのプログラムモジュールであり、スプールファイル加工処理部43及びプリンタドライバGDI44は、プリンタ3を動作させるためにクライアントPC1に組み込まれたデバイスドライバ(プログラム)であってクライアントOSと連携しながらプリンタ3の動作を制御する。
また、プリントプロセッサ56は、OS(WindowsNT)が元々備えているプリントプロセッサ(図示略)とは別に、プリンタ3に対応してクライアントPC1に追加(インストール)されることによりクライアントOSの中に組み込まれて動作するプログラムモジュールであり、スプールファイル加工処理部43と共に本発明の印刷制御装置を構成するものである。
尚、本実施形態では、クライアントPC1における各部の機能を実現するためのプログラムは全てハードディスク(HDD)14に格納されている。サーバPC2についても同様であり、サーバPC2における各部の機能を実現するためのプログラムは全てHDD24に格納されている。以下、本実施形態の印刷システムの動作について説明する。
図2に示す如く、ユーザによってクライアントPC1上のアプリケーション51により作成されたデータは、プリンタドライバ52を介してWindowsNTが提供するプログラムモジュールであるGDI53に送られ、このGDI53により仮想化されたディスプレイ領域であるDC(デバイスコンテキスト)に送られる。そして、このDCの指示された座標にデバイス(プリンタ、ディスプレイ等)の種類に依存しない印刷ジョブ毎の印刷データが格納され、仮想化されたデバイスへの描画が行われる。アプリケーション51は、例えばワープロソフトや表計算ソフトなどの、OS上で動作する応用ソフトを示すものである。
一般にGDIと呼ばれるものには、DCの管理、EMFの形成を行うものと、DCへの処理をデバイス(例えばプリンタやディスプレイ)に依存するコマンドに変換するものとがあり、前者はOSにより提供されるものであって図2のGDI53がこれに相当するものであり、後者はデバイスメーカによりドライバとして提供されるものであって図2のプリンタドライバGDI44がこれに相当するものである。
このように、DC即ち仮想化されたデバイスに描画することで、各ページ毎にデバイスの種類に依存しないEMF(中間ファイル)が形成される。このEMFがスプーラシステム55により結合されて1つの印刷ジョブとなるように、HDD14にて確保されたスプール領域58にスプールファイルとして格納される。このスプールファイルには、マルチページ印刷、ウォーターマーク描画、リバースオーダ、或いは複数部数の印刷を行うコレートコピーなどといった特殊印刷を行うための加工情報も含まれる。
即ち、アプリケーション51にて作成したデータをユーザが印刷させる際に、特殊印刷をする旨の指示があった場合は、その旨の情報(スプールファイルを加工するための加工情報)も、スプールファイルに付加される。尚、スプール領域58は必ずしもクライアントPC1内のHDD14内に確保されている必要はなく、例えばクライアントPC1の外部に何らかの記憶装置等を設けてその記憶装置の一部をスプール領域58として確保するようにしてもいいなど、クライアントPC1から管理可能な状態に存在する限り、その態様は特に限定されない。
そして、マルチページ印刷、ウォーターマーク描画等の特殊印刷を行う場合には、スプールファイル加工処理部43が動作(スプールファイル加工プログラムが起動)し、このスプールファイル加工処理部43により、スプール領域58に格納されている印刷ジョブ毎のスプールファイルが特殊印刷のために加工される。具体的には、プリントプロセッサ56が、スプール領域58に記憶されたスプールファイルを取り出して、その取り出したスプールファイルに加工情報が含まれているか否かをみる。そして、加工情報が含まれている場合に、そのスプールファイルをスプールファイル加工処理部43へ渡す。
スプールファイル加工処理部43における処理の詳細、即ちスプールファイル加工プログラムによる具体的処理内容については後述するが、その概略だけ説明すると、まず、プリントプロセッサ56から渡されたスプールファイルをページ毎のEMF(中間ファイル)に分割する。そして、分割後の各ページのEMFをHDD14上のテンポラリファイルにコピーする。このテンポラリファイルは不要となった時点で消去する。尚、ページ分割の前に、スプールファイルから加工情報を取得して、どのような加工をすべきかを予め識別しておく。このテンポラリファイルが展開される領域は本発明の一時保存領域に相当する。
その後、加工情報としてリバースオーダやコレートコピーといった加工、換言すれば各ページに対しては何ら加工を施さないような加工(以下「第一種加工」ともいう)をすべき旨の情報があった場合は、まずその加工情報に基づいてスプールファイルを加工し、新たなEMFを生成する。この加工後の新たなEMFは、スプーラシステム55によって再びスプール領域58へ戻される。
そして、このようにスプールファイル加工処理部43により加工されてスプール領域58に戻された新しい印刷ジョブに対し、プリントプロセッサ56が再び加工情報の有無をみて、まだ加工情報が含まれているならば、その新しい印刷ジョブのスプールファイルを再びスプールファイル加工処理部43へ渡す。
スプールファイル加工処理部43では、同じようにしてまず第一種加工を施すべきか否かが判断され、その必要がなければ、ウォーターマーク描画やマルチページ印刷などの加工、換言すれば各ページに対して施されるページ単位での加工(以下「第二種加工」ともいう)が施される。
そして、全ての加工が終了したら、加工が終了したページのEMFが順次プリントプロセッサ56によってプリンタドライバGDI44へ送られ、このプリンタドライバGDI44によってプリンタ3に対応したプリンタ制御コードに変換されて、ポートモニタ45を介してサーバPC2へ送られる。
プリンタ制御コードはメーカ毎に仕様が異なっており、代表的なものとして、例えば米国Hewlett−Packard社のPCLや米国Adobe社のPostScript(PS:登録商標)などの種々のページ記述言語(PDL;Page-Description Language )によるコマンドセットがある。そのため、プリンタ3にて採用されているPDLに対応できるように、プリンタドライバGDI44により、ページ毎のEMFからなるスプールファイルを、そのPDLによるプリンタ制御コードに変換しているのである。
ポートモニタ45は、プリンタ制御コードをサーバPC2へ送信するのに先立って、まずサーバPC2へ接続要求を行う。本実施形態の印刷システムにおいては、図示はしないものの当該印刷システムを構成する各種リソースに対するアクセス権限がユーザ毎に設定されて当該印刷システムに予め登録されおり、その登録されている登録ユーザだけが、サーバPC2を介してプリンタ3を利用できるようにされている。
そのため、クライアントPC1からプリンタ3へ印刷用データを送ろうとしているユーザが、実際に印刷要求を行うと、上記のような流れでプリンタ制御コードが生成されてサーバPC2へ送信されようとするが、このときに、ポートモニタ45がその要求元に関する情報(ユーザ名など)を送信して、接続を要求するのである。
これを受けたサーバPC2は、送信されてきたユーザ名に基づいて認証を行い、登録ユーザならば接続を許可する。これにより、クライアントPC1からの印刷用データ(プリンタ制御コード)がサーバPC2にて受信される。そして、この印刷用データはスプーラシステム65によって一旦スプール領域68に格納され、その格納された印刷用データを、プリントプロセッサ66がプリンタ3の動作状況をみながらプリンタ3へ出力する。
ところで、本実施形態の印刷システムでは、クライアントPC1におけるアクセス権限(本発明の動作権限に相当)として、OS(ここではWindowsNT)の管理範囲内においてアクセス可能な範囲が制限されないシステム権限と、アクセス可能な範囲がユーザ毎に制限されるユーザ権限とを有している。
そして、サーバPC2への印刷データがユーザ権限にて生成された場合は、ポートモニタ45による接続要求にて送信されるユーザ名が、そのときのユーザ権限に対応したもの、即ちクライアントPC1を操作して印刷要求を行ったユーザのユーザ名となる。そのため、そのユーザ名が印刷システムに登録された登録ユーザである限り、サーバPC2での認証が通って印刷用データをサーバPC2側へ送信できることとなる。
逆に、サーバPC2への印刷用データがシステム権限にて生成された場合は、ポートモニタによる接続要求にて送信されるユーザ名が「System」となる。この「System」という名は登録ユーザとして登録されていないものであるため、このような場合はサーバPC2における認証にて拒否され、サーバPC2へ接続できない。
このように、サーバPC2への印刷用データがシステム権限にて生成される例としては、図7で既に説明した通り、スプールファイルを加工する場合が挙げられる。即ち、スプールファイルに加工情報がなく、スプールファイルを加工せずにそのままプリンタドライバGDI44を通してサーバPC2側へ印刷用データを送信する場合は、ユーザ権限にてその送信が行われるため、認証が通ることとなる。
しかし、スプールファイルに加工情報が含まれていてプリントプロセッサ56が別プロセス(スプールファイル加工プログラム)を起動すると、既述の通りシステム権限にて起動されることとなるため、その起動元、延いては加工後の新たな印刷ジョブのユーザは「System」となり、新たな印刷ジョブの印刷を行うことができなくなる。
そこで本実施形態では、サーバPC2への接続要求・認証要求をユーザ権限で(ユーザ名で)行えるよう、システム権限でプロセス(スプールファイル加工プログラム)が動作している中で、必要に応じてそのシステム権限をユーザ権限で偽装するようにしている。具体的には、スプールファイル加工プログラムを起動する前、即ちシステム権限になる前に、前もってユーザ権限に関する情報(ユーザ識別情報)取得する。そして、スプールファイル加工プログラムの起動後は、その取得した情報に基づいて必要に応じてユーザ権限での偽装を行う。その詳細を、図3及び図4に基づいて説明する。
図3は、本実施形態の印刷ジョブ受信処理を示すフローチャートであり、スプーラシステム55によりスプール領域58に一旦スプールされたスプールファイルをプリントプロセッサ56がスプールファイル加工処理部43へ渡すときの、プリントプロセッサ56によってなされる。
スプールファイルがスプール領域58へ一旦スプールされた後、プリントプロセッサ56は、まず、ユーザ偽装に必要なユーザ識別情報を取得する(S110)。このプリントプロセッサ56による処理の際は、既述の通りシステム権限ではあるもののユーザ偽装された状態となっているため、その偽装されているユーザ権限に関する情報をユーザ識別情報として取得することとなる。
その後、スプールファイルをスプールファイル加工処理部43に渡す。つまり、スプールファイル加工プログラムをシステム権限にて起動するのである(S120)。このとき、S110で取得したユーザ識別情報をコマンドライン経由でスプールファイル加工プログラムに渡す。これにより、スプールファイル加工プログラムの実行中、システム権限をユーザ権限で偽装する場合は、そのユーザ識別情報に応じたユーザ権限にて偽装することができるようになる。
このようにして別プロセスを立ち上げた後は、その別プロセスから元の印刷ジョブをキャンセルすべき旨の指示を待ち(S130)、指示があったならばその指示に従って元の印刷ジョブをキャンセルする(S140)。
次に、上記印刷ジョブ受信処理におけるS120にて起動される別プロセス(スプールファイル加工プログラム)の処理内容について、図4に基づいて説明する。図4は、本実施形態のスプールファイル加工処理を示すフローチャートであり、スプールファイル加工処理部43としての機能を実現するためのスプールファイル加工プログラムをサーバPC2が実行することにより処理されるものである。
この処理が開始されると、まず最初にユーザ権限での偽装が行われる(S210)。これは、次に行われるスプールファイルのEMF分割処理(S220)がユーザ権限で行われるようにするためである。S120では、スプールファイルが各ページのEMFに分割されてテンポラリファイルとして展開される。その後、権限偽装が解除されて再びシステム権限に戻り(S230)、元の印刷ジョブをキャンセルすべき旨の指示が出される(S240)。この指示により、図3で説明した印刷ジョブ受信処理におけるS130の判定処理にて肯定判定されることとなる。
このようにしてページ毎のEMFをテンポラリファイルとして展開した後は、スプールファイルに含まれていた加工情報の中にコレートコピーやリバースオーダ等の第一種加工をすべき旨の情報があるか否かが判断され(S250)、なければS310に移行するが、あった場合は、その第一種加工情報に基づく加工が行われ、新たなスプールファイルが生成される(S260)。ここで生成された新たなスプールファイルは、再びスプール領域58へ格納される。
尚、S260における新たなスプールファイルの生成処理は、その生成したスプールファイルが再びスプーラシステム55によってスプール領域58に格納されることから、システム権限にて行われる必要がある。そのため、本実施形態では、このS260の処理前のS230にて、ユーザ偽装が解除されるようにしている。
そして、新しいスプールファイルが生成された後は、そのスプールファイルに基づいて新たな印刷ジョブが作成(システムに登録)されるのだが(S280)、この新たな印刷ジョブの作成の際には、後で再びその印刷ジョブに対して図3の処理が行われる(ユーザ識別情報の取得が行われる)ことを考慮してユーザ権限にされている必要がある。そのため、S280の処理に先立ってユーザ偽装が行われるようにしている(S270)。
そして、S280における新たな印刷ジョブの生成後は、再び偽装が解除されてシステム権限に戻り(S290)、テンポラリファイルとして展開している元のジョブのEMFが削除されて(S300)、一旦このスプールファイル加工処理が終了される。そして、新たな印刷ジョブに対して再び図3の処理が行われ、未実施の加工が残っている場合は再び図4のスプールファイル加工処理が行われることとなる。
一方、図4のスプールファイル加工処理において、第一種加工が全て終了して第二種加工のみが残っている場合、或いははじめから第二種加工に関する加工情報のみがスプールファイルに含まれていた場合は、当該スプールファイル加工処理におけるS250の処理で否定判定されてS310に移行し、1ページ目から順にページ毎の加工が行われる。
即ち、まず加工対象ページが「1」とされ(S310)、そのページに対する加工が施されて新たな1ページ分のEMFが作成される(S320)。このS320の処理は、より具体的には、まず加工情報としてマルチページ印刷を行うべき旨の情報が含まれているか否かが判断される(S410)。この加工情報が含まれていなければS430に移行するが、含まれていた場合は、その情報に基づく加工を実際に行う。具体的には、その加工情報に応じて各ページを位置をずらしながらEMFに描画していくこととなる。
続いて、ウォーターマークを描画すべき旨の加工情報の有無が判断され(S440)、その加工情報がなければS330に移行するが、あった場合は、まずその加工情報に基づいて要求されているウォーターマークを取得する(S440)。
ここで、例えばあるユーザがビットマップ形式のウォーターマークを作成してそのユーザがアクセス可能なフォルダに保存した場合、他のユーザは、アクセス権限によってはそのウォーターマークを使用できないことも予想される。そのため、本実施形態ではウォーターマークデータの取得はシステム権限にて行われるようにしている。図4の例の場合、S230で偽装が解除されたことによりシステム権限に戻っているため、S440のウォーターマークデータ取得処理はシステム権限で行われることとなる。そのため、システムに登録されているウォーターマークが確実に取得されるのである。ウォーターマークデータの取得後は実際にそのウォーターマークの描画が行われる(S450)。
このようにして1ページ分の加工処理が行われた後は、再びユーザ偽装を行った上で(S330)、プリンタ描画処理が行われる(S340)。このプリンタ描画処理は、加工後のスプールファイルをスプーラシステムに渡す処理であり、これをユーザ偽装して行うのである。この加工後のスプールファイルは、プリンタドライバGDI44によりコード化され、サーバPC2に送られる。この際、プリンタ描画処理(S340)はユーザ偽装されているため、このサーバPC2に送る際の認証はユーザ名にて行われる。
尚、図3の処理では、説明の簡略化のため、ユーザ識別情報の取得(S110)後は必ずプロセスが起動される(S120)ように記載されているが、加工情報に基づく加工が全て行われた場合は、もはや加工する必要もその情報もないわけであるから、別プロセスの起動は行わない。
このように、ユーザ偽装した状態でプリンタ描画処理(S340)が実行されることにより、その後のプリントプロセッサ56の処理へユーザ権限に関する情報が引き継がれ、延いては、ユーザ権限にてサーバPC2への印刷用データの送信が行われることになるのである。
1ページ分のプリンタ描画処理の終了後は再びユーザ権限の偽装を解除してシステム権限に戻す(S350)。そして、全てのページについて加工処理(S320,S340)が行われたか否かが判断され(S360,S370)、加工すべきページがまだあれば再びS320に戻り、全ページ終了していればS300の処理を経てこのスプールファイル加工処理を終了する。
このスプールファイル加工処理により、当該処理の起動自体はシステム権限で行われるものの、必要に応じてユーザ権限での偽装或いはその解除が行われる。そのため、スプールファイルの加工後、その加工後の新たな印刷ジョブに基づく印刷用データ(プリンタ制御コード)への変換やポートモニタ45を介したサーバPC2への接続(認証)要求もユーザ権限にて行われるようになる。
そのため、ユーザが登録ユーザとして登録されている限り、サーバPC2への接続が許可され、加工後の印刷ジョブに対応した印刷用データがサーバPC2を介してプリンタ3へ出力されるのである。
図5にクライアントPC1とサーバPC2との間で行われる認証について説明する。図5は、各PC1,2にてそれぞれ行われる認証処理を示すフローチャートである。図示の如く、クライアントPC1におけるポートモニタ45からユーザ名・パスワードが送信されることにより接続要求がなされると(S510)、サーバPC2ではそのユーザ名・パスワードが受信され(S610)、登録ユーザを管理している管理リストからそのユーザ名をサーチする(S620)。そして、そのユーザ名が登録ユーザとして登録されていたならば(S630;YES)、引き続きパスワードの照会を行う(S640)。そして、パスワードが一致した場合は(S650;YES)、登録された正規ユーザからのアクセスであると判断されてクライアントPC1側へ接続を許可する(S660)。ユーザ名が登録されていないものであったり、或いはパスワードが一致しなかった場合は、いずれも認証に失敗したものとして接続を許可しない(S670)。
クライアントPC1は、サーバPC2からの認証結果が来るまで待機する(S520)。そして、認証が通った場合は印刷用データのサーバPC2への送信を行うが(S540)、認証に失敗した場合はエラー処理を行う(S550)。
以上詳述した本実施形態の印刷システムによれば、クライアントPC1において、スプールファイル加工プログラムがシステム権限にて起動されるものの、必要に応じて権限偽装を行うようにしており、その結果、サーバPC2に対する認証がユーザ権限にてなされる。そのため、そのユーザが登録ユーザとして登録されている限り、サーバPC2による認証で拒否されることなくその加工後のスプールファイルに対応した印刷を行うことが可能となる。
また、図4のスプールファイル加工処理において、スプールファイルのEMF分割(S220)に先だって権限偽装を行うようにしているため、EMFのテンポラリファイルへの展開中或いは展開後に何らかの原因でクライアントPC1の動作が異常終了したとしても、テンポラリファイルをユーザが(即ちユーザ権限で)削除することが可能となる。
更に、同じく図4におけるS280の処理の際、即ち加工後の新たな印刷ジョブを生成する際にも、ユーザ権限への偽装を行うため、その新たな印刷ジョブはユーザ権限にて生成されることとなる。そのため、その後その新たな印刷ジョブに対して行われる処理に対し、そのユーザ権限に関する情報を確実に引き継ぐことができ、ユーザ偽装ができなくなるといった事態が生じるのを防ぐことができる。
更にまた、単にユーザ権限への偽装を行うだけでなく、必要に応じて偽装の解除(システム権限への復帰)も行われるため、ユーザ権限への偽装後にシステム権限で行うべき処理を実行することになっても、確実にその処理を行うことが可能となる。
そして、例えばウォーターマークデータの取得(図4のS440)などのような、ユーザによってはアクセスを許可されていないおそれのあるフォルダへのアクセスが必要ば場合は、前もってシステム権限に戻すようにしているため、加工に必要なデータを確実に取得して所望の加工を確実に行うことが可能となる。
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、中間ファイル生成部41は本発明のスプールファイル生成手段に相当する。また、スプールファイル加工処理部43は本発明の加工手段に相当し、ポートモニタ45は本発明の印刷要求手段に相当し、スプーラシステム55は本発明のスプール手段に相当する。尚、スプールファイル加工処理部43は本発明の権限偽装手段としての機能も備える。
また、図3の印刷ジョブ受信処理において、S110の処理は本発明の権限上宝珠徳手段が実行する処理に相当する。
更に、図4のスプールファイル加工処理において、S220の処理は本発明の格納手段が実行する処理に相当し、S280の処理は本発明の新規ジョブ生成手段が実行する処理に相当し、S210,S270及びS330の各処理はいずれも本発明の権限偽装手段が実行する処理に相当し、S230,S290及びS350の各処理はいずれも本発明の偽装解除手段が実行する処理に相当し、S440の処理は本発明の制限領域データ取得手段が実行する処理に相当する。
尚、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、図4のスプールファイル加工処理では、ユーザ偽装して実行すべき処理のほぼ直前の段階でユーザ権限での偽装を行うようにしており、また、ユーザ偽装して所定の処理を行った後はすぐに偽装を解除するようにしているが、偽装のタイミング、或いは偽装解除のタイミングは、図4のタイミングに限定されず、ユーザ権限が必要なときには確実にユーザ権限での偽装が行われた状態となり、システム権限が必要なときは確実にシステム権限に戻った状態となる限り、適宜決めることができる。
また、上記実施形態では、プリンタ3がネットワーク7に接続されずにサーバPC2に接続されている場合について説明したが、プリンタ3もネットワーク7に接続された構成(但しクライアントPCからの印刷データはサーバPC2を経由)の印刷システムに対しても本発明を適用可能である。
更にまた、上記実施形態では、本発明の印刷制御装置として機能させるための各種プログラム(具体的には、スプールファイル加工処理部43及びプリントプロセッサ56等としての機能を実現するためのプログラム)が、いずれもHDD14内に格納されたものとして説明したが、これら各種プログラムを、例えばフロッピーディスク、光磁気ディスク、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録しておくこともできる。
この場合、記録媒体に記録したプログラムを必要に応じてコンピュータシステムにロードして起動することにより、そのコンピュータシステムにおいて本発明のスプールファイル加工装置を実現することができる。
尚、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として上記各プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。また、プログラムを通信回線を介してコンピュータにインストールすることもできる。この通信回線により送信されるプログラムも、請求項11〜13いずれかに記載のプログラムに該当するものである。
本実施形態の印刷システムのハード構成を示す概略ブロック図である。 本実施形態の印刷システムのソフトモジュールを示す概略ブロック図である。 本実施形態の印刷ジョブ受信処理を示すフローチャートである。 本実施形態のスプールファイル加工処理を示すフローチャートである。 本実施形態の認証処理を示すフローチャートである。 印刷システムの概略構成を示す説明図である。 従来の印刷システムにおける印刷処理の流れを示す説明図である。
符号の説明
1,101・・・クライアントPC、2,102・・・サーバPC、3,103・・・プリンタ、7,105・・・ネットワーク、11,21,31・・・CPU、12,22,32・・・ROM、13,23,33・・・RAM、14,24・・・HDD、15,25・・・I/O、16,26・・・NIC、17,27,36・・・内部バス、34・・・エンジン、35・・・I/F、41・・・中間ファイル生成部、42,61・・・プリントスプーラ、43・・・スプールファイル加工処理部、44,115,133・・・プリンタドライバGDI、45,116・・・ポートモニタ、51,111・・・アプリケーション、52・・・プリンタドライバ、53・・・GDI、55,65,113,131・・・スプーラシステム、56,66,114,132・・・プリントプロセッサ、58,68・・・スプール領域

Claims (16)

  1. 印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続され、前記クライアント装置から前記サーバ装置への印刷要求に対し、前記サーバ装置が、その印刷要求を行った要求者が予め登録されている登録ユーザであった場合にその印刷要求に従って前記印刷デバイスを制御するよう構成された印刷システムにおいて、前記クライアント装置に搭載された印刷制御装置であって、
    前記クライアント装置の内部における動作権限として、前記登録ユーザとして前記印刷システムに登録されている当該クライアント装置のユーザ毎に与えられる、予め設定された領域にのみアクセス可能なユーザ権限と、少なくとも、ユーザによる印刷指示に応じて前記サーバ装置へ印刷要求を行う際にアクセスを要する領域には制限無くアクセス可能なシステム権限とを有し、
    前記ユーザ権限にて前記印刷要求を行う場合はそのユーザ権限に対応したユーザが前記要求者となり、前記システム権限にて前記印刷要求を行う場合における前記要求者は前記登録ユーザとは異なるものとなるよう構成されており、
    ユーザの入力に従ってそのユーザに対応したユーザ権限にて動作し、印刷ジョブ毎のスプールファイルを生成するスプールファイル生成手段と、
    前記システム権限にて動作を開始し、前記スプールファイル生成手段により生成されたスプールファイルに該スプールファイルを加工すべき加工情報が含まれている場合に、その加工情報に基づいて前記スプールファイルを加工し、その加工されたスプールファイルを前記サーバ装置へ出力するための前記印刷要求を行うスプールファイル制御手段と、
    前記スプールファイル制御手段が前記印刷要求を行う際に、前記動作権限を前記ユーザ権限に偽装する権限偽装手段と、
    を備えたことを特徴とする印刷制御装置。
  2. 請求項1記載の印刷制御装置であって、
    前記スプールファイル制御手段は、
    前記加工情報に基づいて前記スプールファイルの加工を行う加工手段と、
    前記加工手段により加工されたスプールファイルを前記サーバ装置へ出力するための前記印刷要求を行う印刷要求手段と、
    を備え、
    前記権限偽装手段は、前記印刷要求手段の動作前に前記偽装を行うことを特徴とする印刷制御装置。
  3. 請求項2記載の印刷制御装置であって、
    前記スプールファイル制御手段は、前記スプールファイル生成手段により生成されたスプールファイルをページ毎の印刷用中間ファイルに分割して所定の一時保存領域に格納する格納手段を備え、
    前記加工手段は、前記格納手段により一時保存領域に格納された前記印刷用中間ファイル毎に加工を行うよう構成されており、
    前記権限偽装手段は、前記格納手段が前記印刷用中間ファイルを前記一時保存領域に格納する際も、前記偽装を行う
    ことを特徴とする印刷制御装置。
  4. 請求項2又は3記載の印刷制御装置であって、
    前記加工手段が加工を行う前に、その加工対象のスプールファイルが生成されたときの前記ユーザ権限に関する情報を取得する権限情報取得手段を備え、
    前記権限偽装手段は、前記権限情報取得手段により取得された情報に対応したユーザ権限にて前記偽装を行う
    ことを特徴とする印刷制御装置。
  5. 請求項4記載の印刷制御装置であって、
    前記スプールファイル生成手段により生成されたスプールファイルには複数の前記加工情報が含まれており、
    前記スプールファイル制御手段は、前記加工手段が前記加工情報のいずれか一つに基づいて前記スプールファイルを加工したときに、その加工後のスプールファイルに基づいて新たな印刷ジョブを生成する新規ジョブ生成手段を備え、その新たな印刷ジョブのスプールファイルに対して再び前記加工手段が加工を行うよう構成されており、
    前記権限偽装手段は、前記新規ジョブ生成手段が前記新たな印刷ジョブを生成する際にも、前記偽装を行う
    ことを特徴とする印刷制御装置。
  6. 請求項1〜5いずれかに記載の印刷制御装置であって、
    前記スプールファイル制御手段は、前記権限偽装手段による前記偽装が行われた後、前記システム権限での動作が必要な所定のタイミングで前記動作権限を再び前記システム権限に戻す偽装解除手段を備えたこと
    を特徴とする印刷制御装置。
  7. 請求項5に従属する請求項6記載の印刷制御装置であって、
    前記スプールファイル制御手段は、前記新たな印刷ジョブのスプールファイルを前記システム権限にてアクセス可能な所定のスプール領域に一旦格納するスプール手段を備え、
    前記偽装解除手段は、前記スプール手段が前記新たな印刷ジョブのスプールファイルを前記スプール領域へ格納する際に、前記動作権限を前記システム権限に戻す
    ことを特徴とする印刷制御装置。
  8. 請求項6又は7記載の印刷制御装置であって、
    前記加工情報として、前記クライアント装置における、アクセス可能なユーザが制限された制限領域内に格納されたデータを取得すべき旨の情報があった場合に、その取得すべきデータを前記制限領域から取得する制限領域データ取得手段を備え、
    前記偽装解除手段は、前記制限領域データ取得手段によるデータ取得の際に、前記動作権限を前記システム権限に戻す
    ことを特徴とする印刷制御装置。
  9. 請求項8記載の印刷制御装置であって、
    前記クライアント装置は、その内部におけるアクセス可能な領域がユーザ毎に設定されている
    ことを特徴とする印刷制御装置。
  10. 印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続され、前記クライアント装置から前記サーバ装置への印刷要求に対し、前記サーバ装置が、その印刷要求を行った要求者が予め登録されている登録ユーザであった場合にその印刷要求に従って前記印刷デバイスを制御するよう構成された印刷システムであって、
    前記クライアント装置には、請求項1〜9いずれかに記載の印刷制御装置が搭載されている
    ことを特徴とする印刷システム。
  11. 請求項1〜9いずれかに記載の印刷制御装置における前記各手段としてコンピュータを機能させるためのプログラム。
  12. 請求項11記載のプログラムであって、
    当該プログラムのうち、少なくとも前記スプールファイル制御手段として機能させるためのスプールファイル制御プログラムは、前記コンピュータ全体を管理してプログラムの実行を制御するために該コンピュータが実行する基本ソフトウェアに対する、その基本ソフトウェアが管理する領域に制限無くアクセス可能な特権モードで実行が開始されるシステムプロセスとして構成され、
    前記権限偽装手段として機能させるための権限偽装プログラムは、前記コンピュータの動作モードを、前記特権モードから、前記基本ソフトウェアが管理する領域に対するアクセスが前記ユーザ権限に対応して制限されるユーザモードに変更するよう構成されている
    ことを特徴とするプログラム。
  13. 請求項6記載の印刷制御装置における前記各手段としてコンピュータを機能させるためのプログラムであって、
    当該プログラムのうち、少なくとも前記スプールファイル制御手段として機能させるためのスプールファイル制御プログラムは、前記コンピュータ全体を管理してプログラムの実行を制御するために該コンピュータが実行する基本ソフトウェアに対する、その基本ソフトウェアが管理する領域に制限無くアクセス可能な特権モードで実行が開始されるシステムプロセスとして構成され、
    前記偽装解除手段として機能させるための偽装解除プログラムは、前記コンピュータの動作モードを、前記基本ソフトウェアが管理する領域に対するアクセスが前記ユーザ権限に対応して制限されるユーザモードに偽装された状態から、前記特権モードに変更するよう構成されている
    ことを特徴とするプログラム。
  14. 印刷デバイスに接続されたサーバ装置とクライアント装置とがネットワークを介して接続され、前記クライアント装置から前記サーバ装置への印刷要求に対し、前記サーバ装置が、その印刷要求を行った要求者が予め登録されている登録ユーザであった場合にその印刷要求に従って前記印刷デバイスを制御するよう構成された印刷システムにおいて、前記クライアント装置が当該装置内部で生成した印刷ジョブを制御してその印刷ジョブに対応した前記印刷要求を行う印刷制御方法であって、
    前記クライアント装置の内部における動作権限として、前記登録ユーザとして前記印刷システムに登録されている当該クライアント装置のユーザ毎に与えられる、予め設定された領域にのみアクセス可能なユーザ権限と、少なくとも、ユーザによる印刷指示に応じて前記サーバ装置へ印刷要求を行う際にアクセスを要する領域には制限無くアクセス可能なシステム権限とを有し、
    前記システム権限にて前記印刷ジョブの制御が実行されている場合に、前記ユーザ権限で行うべき処理を実行する必要が生じたときは、前記動作権限を前記ユーザ権限に偽装する
    ことを特徴とする印刷制御方法。
  15. 請求項14記載の印刷制御方法であって、
    前記システム権限にて実行されている前記印刷ジョブの制御は、その印刷ジョブのスプールファイルに該スプールファイルを加工すべき加工情報が含まれている場合におけるその加工情報に基づく前記スプールファイルの加工であり、
    前記ユーザ権限で行うべき処理は、前記サーバ装置に対して前記加工後のスプールファイルに基づく印刷要求を行う処理である
    ことを特徴とする印刷制御方法。
  16. 請求項14又は15記載の印刷制御方法であって、
    前記ユーザ権限への偽装後、前記システム権限で行うべき処理を実行する必要が生じたときは、前記動作権限を再び前記システム権限に戻す
    ことを特徴とする印刷制御方法。
JP2004233436A 2004-08-10 2004-08-10 印刷制御装置、印刷システム、プログラム及び印刷制御方法 Expired - Fee Related JP4168991B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004233436A JP4168991B2 (ja) 2004-08-10 2004-08-10 印刷制御装置、印刷システム、プログラム及び印刷制御方法
US11/199,207 US7768665B2 (en) 2004-08-10 2005-08-09 Printing control device for processing a spool file and printing system, program product, and printing control method associated therewith

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004233436A JP4168991B2 (ja) 2004-08-10 2004-08-10 印刷制御装置、印刷システム、プログラム及び印刷制御方法

Publications (2)

Publication Number Publication Date
JP2006053658A JP2006053658A (ja) 2006-02-23
JP4168991B2 true JP4168991B2 (ja) 2008-10-22

Family

ID=35799667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004233436A Expired - Fee Related JP4168991B2 (ja) 2004-08-10 2004-08-10 印刷制御装置、印刷システム、プログラム及び印刷制御方法

Country Status (2)

Country Link
US (1) US7768665B2 (ja)
JP (1) JP4168991B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192131A (ja) * 2002-12-09 2004-07-08 Minolta Co Ltd プリンタの機能設定プログラムおよびプリンタの機能設定方法
KR100742332B1 (ko) * 2005-05-20 2007-07-26 삼성전자주식회사 인쇄제어장치 및 인쇄제어방법
JP4810318B2 (ja) 2006-06-06 2011-11-09 キヤノン株式会社 ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体
JP5316188B2 (ja) * 2009-04-13 2013-10-16 富士ゼロックス株式会社 情報処理システム、情報処理装置及び情報処理プログラム
JP4973691B2 (ja) * 2009-05-27 2012-07-11 ブラザー工業株式会社 プログラム、印刷システム
US9003149B2 (en) 2011-05-26 2015-04-07 International Business Machines Corporation Transparent file system migration to a new physical location
JP6415261B2 (ja) * 2014-11-17 2018-10-31 キヤノン株式会社 ネットワークデバイス、制御方法、およびプログラム
JP6828637B2 (ja) * 2017-08-10 2021-02-10 ブラザー工業株式会社 画像処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3588416B2 (ja) 1998-08-06 2004-11-10 株式会社Pfu 印刷システム、印刷サーバ装置及び端末装置
JP2000181662A (ja) 1998-12-18 2000-06-30 Pfu Ltd 分散印刷システムおよびアプリケーションサーバ装置ならびに印刷サーバ装置
US7130068B1 (en) * 1999-10-05 2006-10-31 Canon Kabushiki Kaisha Print server apparatus, information processing apparatus, print job reservation management method, reservation job generation method and memory medium
JP3817429B2 (ja) * 2000-02-23 2006-09-06 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2002041261A (ja) * 2000-07-28 2002-02-08 Canon Inc 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP2003131835A (ja) 2001-10-24 2003-05-09 Brother Ind Ltd スプールファイル加工装置、プログラム及び記録媒体
US7225256B2 (en) * 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
JP4051924B2 (ja) * 2001-12-05 2008-02-27 株式会社日立製作所 送信制御可能なネットワークシステム
JP3823846B2 (ja) * 2002-02-27 2006-09-20 ブラザー工業株式会社 スプールファイル加工装置、プログラム及び記録媒体
US7191469B2 (en) * 2002-05-13 2007-03-13 Green Border Technologies Methods and systems for providing a secure application environment using derived user accounts
JP3774684B2 (ja) 2002-06-28 2006-05-17 キヤノン販売株式会社 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体

Also Published As

Publication number Publication date
US20060033947A1 (en) 2006-02-16
JP2006053658A (ja) 2006-02-23
US7768665B2 (en) 2010-08-03

Similar Documents

Publication Publication Date Title
EP2437157B1 (en) Printing system, printing method, print server, control method, and program
US8125657B2 (en) Printing apparatus and method and non-transitory computer-readable storage medium for managing printing format information
US7861282B2 (en) Information processing apparatus, printing apparatus and printing system including thereof apparatuses
JP4810318B2 (ja) ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体
JP4817930B2 (ja) 印刷制御装置、制御方法、及びプログラム
JP5680926B2 (ja) プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム
JP4423275B2 (ja) 情報処理装置及び情報処理方法及び周辺装置及び権限制御システム
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
US8780388B2 (en) Printing apparatus, server, printing system, control method for printing apparatus, and storage medium storing control program therefor
JP4936549B2 (ja) サーバ装置、管理システム、管理方法、記憶媒体、プログラム
JP5719198B2 (ja) プリントシステム、情報処理装置、制御方法、およびプログラム
US8270013B2 (en) Printing system, printing method, and computer program product
US7768665B2 (en) Printing control device for processing a spool file and printing system, program product, and printing control method associated therewith
US20090323097A1 (en) Information processing apparatus, control method of image processing system and computer program thereof
JP2009075772A (ja) 印刷指示装置、印刷装置、印刷システム、及びプログラム
JP4714563B2 (ja) プリンタ、印刷方法、プログラム及び該プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2012181694A (ja) 情報処理装置、プリントシステム、制御方法、及び、プログラム
JP3733284B2 (ja) 情報処理装置、印刷システム、及びコマンド生成方法
JP2009093406A (ja) 印刷情報処理装置、印刷システムおよびプログラム
JP7246857B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2007264779A (ja) 認証印刷利用制御ユニット
JP2008139912A (ja) 情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラム
JP4110021B2 (ja) 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体
JP2014228878A (ja) プログラムおよび情報処理装置
JP2013210859A (ja) 印刷制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4168991

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees