JP5402392B2 - プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体 - Google Patents

プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP5402392B2
JP5402392B2 JP2009189698A JP2009189698A JP5402392B2 JP 5402392 B2 JP5402392 B2 JP 5402392B2 JP 2009189698 A JP2009189698 A JP 2009189698A JP 2009189698 A JP2009189698 A JP 2009189698A JP 5402392 B2 JP5402392 B2 JP 5402392B2
Authority
JP
Japan
Prior art keywords
print
data
job
terminal device
printer
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
JP2009189698A
Other languages
English (en)
Other versions
JP2011043869A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009189698A priority Critical patent/JP5402392B2/ja
Priority to US12/851,730 priority patent/US8456680B2/en
Publication of JP2011043869A publication Critical patent/JP2011043869A/ja
Application granted granted Critical
Publication of JP5402392B2 publication Critical patent/JP5402392B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、プリンタシステムに関し、より詳細には、クライアント端末から指令される印刷ジョブを特定の条件に従って出力先を振り分けて印刷するプリンタネットワークシステム、該プリンタネットワークシステムが備えるサーバ装置、該プリンタネットワークシステムで実行されるプリント方法、該サーバ装置を実現するためのプログラム、および該プログラムを格納する記録媒体に関する。
近年、ネットワーク技術の普及により、官公庁、企業、大学等のオフィス環境では、MFP(Multi-Function Peripheral)やレーザプリンタなど複数の画像形成装置がネットワークに接続され、これら複数の画像形成装置が種々のロケーションから利用可能とされていることが多い。出力物がセキュリティレベルの点で問題のない場合や、個人情報や機密情報などに関係しない場合であれば、上述のような複数のロケーションから複数の画像形成装置が利用可能な環境でも、仮にネットワーク上の複数のプリンタの中から所望の出力先を選択する際ユーザが誤った出力先を指定してしまったとしても、特に大きな問題は生じない。
しかしながら、オフィス環境では多種多様なドキュメントが作成され、個人情報や機密情報を含むドキュメントが取り扱われる場合もある。このような場合、出力先の指定ミスは情報漏洩等の重大な問題に発展しかねない。このような背景から、複数の利用可能な画像形成装置の中からロケーションに対応した適切な出力先を選択して出力させたいという要望がある。一方、上述した情報セキュリティの観点以外にも、特定のユーザやユーザグループや、印刷ジョブの特性に対応して、一定の画像形成装置から出力を可能とすることができれば、業務効率が改善され、印刷物の管理が容易となり、また印刷物のセキュリティ管理も向上するものと考えられる。
印刷物の出力先を制御する技術は種々知られており、帳票や文書などの種類別にあるいは文書内容に併せて、出力先を自動的に切り替えて出力させたいという要望に応えるために、例えば、Windows(登録商標)環境において枚数によって出力装置を自動で切り替えて最適な出力装置に振り分けるソフトウェアが提供されている(非特許文献1)。
また特開2003−140867号公報(特許文献1)は、プリント作業が続行不可能な場合に他のプリンタに出力先を変更する目的で、出力したいプリンタに紙詰まりや用紙切れ、他のオペレータの印刷処理があるか等のステータス情報をリクエストして受け取り印刷装置の状態を判断する判断手段と、出力したプリンタがすぐには印刷できないと判断された場合に、そのプリンタのステータス情報および他のプリンタの情報をネットワークサーバおよび情報処理装置に送信する送信手段を備えることを特徴とする、ネットワークサーバを開示している。その他、特許第3729229号公報(特許文献2)は、指定された印刷装置での印刷が不能のときに代行印刷装置に印刷させる端末装置を開示している。
上述したように、利用可能な複数の画像形成装置の中から出力先を切り替える種々の技術がこれまで提供されている。しかしながら、上述した上記特許文献1および特許文献2に開示される従来技術は、プリント作業が続行不可能な場合に他のプリンタに出力先を変更するというものであり、上記非特許文献1に開示される従来技術は、多枚数の場合は低コストかつ高速のプリポートへ、少枚数の場合はレーザプリンタへ出力するといったように、印刷枚数に応じて出力先を切り替えるというものであり、機密情報や個人情報等の情報漏洩を防止できるというものではない。また上記特許文献1、特許文献2および非特許文献1の従来技術は、利用可能な複数の画像形成装置の中から適切な出力先に振り分けられるとしても、クライアント端末からプリンタサーバに接続して印刷を行う、いわゆるサーバ−クライアント環境(ポイントアンドプリント環境)に充分に対応できるものではなかった。
サーバ−クライアント環境で上述したような出力先の振り分けを実現しようとする場合、振り分けられた出力先でプリントジャムなどのエラーが発生したとき、プリンタサーバ側ではエラーを把握することができるが、プリントを実際に指示したユーザが使用するクライアント端末側では画像形成装置で発生した印刷エラーやステータスエラーを適切に把握することが困難であるという問題がある。適切にユーザにエラーが通知されないと、指令したドキュメントがプリント出力されていなかった場合、自身のジョブのエラーにより出力されていないのか、あるいは別の出力先に出力されてしまったのかを判断することが困難となる可能性があり、特に機密情報を取り扱う場合に問題となる。
本発明は、上記問題点に鑑みてなされたものであり、本発明は、サーバ−クライアント環境において、適切に出力先を振り分けるとともに、画像形成装置で発生したステータスエラーを適切にユーザ通知可能とし、ひいては、印刷における高いセキュリティを確保できるプリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体を提供することを目的とする。
本発明では、上述した問題に対応するために、端末装置と、該端末装置にネットワークを介して接続するサーバ装置とを含むプリンタネットワークシステムを提供する。本発明のサーバ装置は、端末装置上で動作するアプリケーション手段から印刷ジョブの要求を受領し、中間データとして、イメージデータを生成するとともに、当該印刷ジョブの印刷設定を記述するジョブ定義データを生成する仮想プリント処理手段と、仮想プリント処理手段により生成されるイメージデータおよびジョブ定義データの書き込みおよび読み込みを排他制御する排他制御手段とを含んで構成される。一方、本発明の端末装置は、出力先の選択を条件付ける規則に従って出力条件を決定する出力条件制御手段と、上述したサーバ装置の排他制御手段と通信して、ジョブ定義データおよびイメージデータを取得し、決定された出力先に対応するプリンタドライバを選択して印刷指令を発行する発送手段とを含んで構成される。
上記構成により、出力先に対応するプリンタドライバを選択して印刷指令を発行する発送手段が、端末装置上で動作することとなり、振り分けられた出力先の画像形成装置で発生したエラーを適切にユーザ通知することが可能となり、ひいては、サーバ−クライアント環境において適切に出力先を振り分けるとともに、画像形成装置で発生したステータスエラーを適切にユーザ通知可能とし、ひいては、印刷における高いセキュリティを確保することが可能となる。
さらに本発明では、端末装置側の発送手段は、印刷指令を発行したプリンタドライバからエラーの発生の通知を受けた場合に、端末装置上の例えばディスプレイ装置などにエラー警告を表示させるなどにより、エラーのユーザ通知を行うことができる。上記構成により、適切にユーザ通知を行うことができ、ユーザは、自身のジョブのエラーにより出力されていないのか、あるいは別の出力先に出力されてしまったのかを容易に判断することができ、ひいては機密情報を取り扱う場合にも安心して本仮想プリンタドライバを利用することができる。
さらに本発明では、仮想プリント処理手段が生成した印刷ジョブのすべての中間データの書き込みが完了したことを記録し、端末装置の発送手段からのデータ取得要求に応答して、すべての中間データの書き込みの完了を待って発送手段へのジョブ定義データおよびイメージデータの送信を完了させることができる。また本発明では、端末装置上で動作する発送手段および出力条件制御手段をサーバ装置からポイントアンドプリントでインストールすることができる。また本発明では、さらに、仮想プリント処理手段は、ページ単位でイメージデータを生成し、発送手段は、ジョブ定義データに記述された面付け情報に従って、ページ単位のイメージデータを面付け処理してから印刷指令を発行することができる。また本発明では、さらに、出力先の選択を定義付ける規則は、端末装置に関する端末固有情報、アプリケーションのログインユーザに関するユーザ固有情報、印刷ジョブの印刷設定情報、印刷ジョブの内容情報からなる群から選択された少なくとも1つの条件付け情報に対して出力先を条件付けるものとすることができる。
さらに本発明によれば、上記特徴を有するプリンタネットワークシステムが備えるサーバ装置、該プリンタネットワークシステムで実行されるプリント方法、該サーバ装置を実現するためのプログラム、および該プログラムを格納する記録媒体が提供される。
本実施形態のプリンタネットワークシステムを示す概略図。 本実施形態のプリンタネットワークシステムの機能ブロック図。 本実施形態においてクライアント側の仮想プリンタドライバをインストールする処理の概略図。 本実施形態のプリンタネットワークシステムで実行される処理を示すフローチャート(1/2)。 本実施形態のプリンタネットワークシステムで実行される処理を示すフローチャート(2/2)。 本実施形態のプリンタネットワークシステムにおいて実行される処理を示すシーケンス図。 本実施形態において排他制御部が管理するジョブ管理テーブルのデータ構造を例示する図。 本実施形態において出力条件制御部が管理する対応付けテーブルのデータ構造を例示する図。 本実施形態のプリンタネットワークシステムの状態遷移図。 本実施形態のクライアントのディスプレイ装置に表示されるエラー通知を含むグラフィカルユーザインタフェースを示す図。
以下、本発明を実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。なお以下に説明する実施形態では、端末装置およびサーバ装置を含むプリンタネットワークシステムとして、クライアント112〜118およびプリンタサーバ110を含むプリンタネットワークシステム100を一例として説明する。図1は、本実施形態のプリンタネットワークシステム(以下、単に「プリンタネットワーク」と参照する。)100の概略を示す。プリンタネットワーク100は、オフィスなどに配置される複数のクライアント112,114,116,118が、ネットワーク130に接続されて構成されている。
また図1に示す例示的な実施形態では、MFP122、レーザプリンタ124,126、インクジェットプリンタ128などの画像形成装置がリモートプリンタとしてネットワーク130に接続されている。本実施形態では、上述したMFP122および各プリンタ124〜128を、以下、リモートプリンタとして総称する。
本実施形態のプリンタネットワーク100において、出力先となるリモートプリンタ122〜128は、クライアント112〜118に対応して決定することができ、各クライアントが設置されたロケーションや、各クライアントの近隣のロケーションなどに配置されたリモートプリンタで出力可能とされている。図1中、点線で囲まれた領域140,150,160は、同一のロケーションを表している。図1に示す実施形態では、クライアント118およびリモートプリンタ128がロケーション160を構成し、各クライアントと各プリンタとが対応付けられて他のロケーション140,150が構成されている。クライアントおよびリモートプリンタは、それぞれ、各ロケーションに複数存在してもよく、クライアントのみまたはリモートプリンタのみのロケーションがあってもよい。
ネットワーク130には、さらにプリンタサーバ110が接続され、本プリンタサーバ110が各クライアント112,114,116,118からの印刷要求を管理する。プリンタサーバ110は、クライアント112〜118から印刷要求を受領すると、各出力先リモートプリンタに対応したRAW形式のデータに変換可能な共通の中間データを一旦生成する。プリンタサーバ110に印刷要求を行ったクライアントは、プリンタサーバ110で生成された中間データを読み込み、予め設定された規則に従って複数のリモートプリンタ122〜128の中から適切な出力先を決定し、決定した出力先リモートプリンタに対応するプリンタドライバが受信可能な形式の送信データを送信する。送信データを受信したプリンタドライバは、送信データをRAW形式のデータに変換し、指定のリモートプリンタに送付して印刷出力させる。
出力先となるリモートプリンタは、種々の条件付け情報に対応して決定することができる。この条件付け情報としては、クライアントのMACアドレス(Media Access Control Address)、IPアドレス(Internet Protocol Address)などの端末固有情報、ログインユーザ名やユーザ権限などのユーザ固有情報、カラーモード、スタンプ印刷、地紋印刷の指定などジョブの印刷設定情報、文書名、ページ数、機密キーワードの有無などのジョブ内容情報を挙げることができる。なお、説明する実施形態では、上述した1以上の条件付け情報に対応して出力先リモートプリンタが決定されるものとして説明する。しかしながら、上述した条件付け情報に対応して決定することができる出力条件は、特に限定されるものではなく、他の実施形態では、上記出力先リモートプリンタの他、両面印刷の指定、モノクロ印刷の指定、集約印刷の指定、地紋印刷の指定、電子透かしの指定、親展印刷の指定およびイメージデータ中の文字列置換など出力内容自体の変更を含むこともできる。
上述したプリンタサーバ110は、好ましい実施形態では、シングルコア、マルチコアのCPU、ROM、実行空間を提供するRAM、ハードディスク装置などを含み、Windows(登録商標)200Xサーバ、UNIX(登録商標)、LINUX(登録商標)、Solaris(登録商標)などのオペレーティングシステム(OS)による制御の下、クライアントから要求された印刷ジョブの中間データを生成する。
上述したクライアント112〜118は、それぞれ同様の構成を有しており、いわゆるファットクライアントとして実装することができる。クライアント112〜118は、パーソナルコンピュータやワークステーションなどとして構成され、シングルコア、マルチコアのCPU、ROM、実行空間を提供するRAM、ハードディスク装置、入出力装置などを含んで構成される。
クライアント112〜118は、ハードディスク装置などからアプリケーションプログラムおよびデータをRAMに読込んで、CPUがアプリケーションプログラムを実行させることにより、文書、イメージ、マルチメディアまたはこれらが複合的に組合わされた電子データとして印刷対象とする文書ファイルを生成する。また、クライアント112〜118は、プリンタサーバ110からネットワーク130を介して仮想プリンタドライバのプログラムを取得してインストールすることにより、本実施形態の仮想プリンタドライバを利用可能とする。クライアントにおいて、仮想プリンタドライバを指定した文書ファイルの印刷要求が行われると、プリンタサーバ110ではその中間データが作成され、クライアントは、プリンタサーバ110が生成した中間データを読み込んで、決定した出力先に対応するプリンタドライバに印刷指令する。なお、仮想プリンタドライバについての詳細な説明は後述する。
ネットワーク130は、1000Base−TXなどのイーサネット(登録商標)、光ネットワーク、IEEE802.11などの規格の無線ネットワークを含んで構成することができ、フレームまたはTPC/IPプロトコルに基づくパケット通信によって、相互通信を行う。また、ネットワーク130は、LANの他、VPN(Virtual Private Network)などによるセキュア環境下で構築されたインターネットなどの広域ネットワークを含んで構成されていてもよい。
図2は、本実施形態のプリンタネットワーク100における機能ブロック200を示す。なお図2では、クライアント112〜118を代表してクライアント118が示されている。図2に示すように、クライアント118およびプリンタサーバ110は、それぞれ複数の機能手段を含んで構成されており、クライアント118は、アプリケーション処理部210および発送処理部220を含み、一方、プリンタサーバ110は、仮想プリント処理部230、排他制御部240および、各リモートプリンタ122〜128に対応するプリンタドライバA〜D250a〜dを含んで構成されている。これらの機能手段は、RAMなどにプログラムを読込んでCPUがプログラムを実行することにより、それぞれのコンピュータ上で動作する。
クライアント118上で動作するアプリケーション処理部210は、印刷対象の文書ファイルを生成し、その印刷要求を行うアプリケーション・プロセスである。アプリケーション処理部210は、より詳細には、印刷対象の文書ファイルを作成および編集するためのアプリケーション部214と、マウスイベントなどを介してユーザからの印刷指示を受け付けるプリント指令部212とを含む。プリント指令部212は、アプリケーション処理部210にロードされる印刷設定等を行うための本仮想プリンタドライバのユーザインタフェースモジュールである。
アプリケーション部214で文書ファイルが作成され、プリント指令部212がユーザからの印刷要求を受領すると、その印刷指令イベントの発生に応答して、アプリケーション部214は、GDI(Graphic Device Interface)などの関数呼び出しを経て印刷ジョブ(以下、単にジョブとして参照する。)のジョブデータを生成した後、RPC(Remote Procedure Call)接続などの適切なリモート接続を介して、生成したジョブデータをプリンタサーバ110に送信する。プリント指令部212は、さらに、その印刷指令イベントの発生に応答して、出力先を決定してそのプリンタドライバに印刷出力すべきデータを送付するための発送処理部220をクライアント118上に起動する。
クライアント118上に起動される発送処理部220は、印刷ジョブを適切な出力先に振り分けるデータ送信アプリケーション・プロセスであり、より詳細には、所定の規則に従って出力先を決定する出力条件制御部224と、決定された出力先のプリンタドライバに対し出力すべきデータを発送するデータ発送部222と、当該ジョブの処理中にエラーが発生した場合にエラーのユーザ通知を行うエラー表示部226とを含む。なお、出力条件制御部224は、好適には、特定の用途に対応して発送処理部220に組み込み可能なプラグインモジュールとして提供される。
一方、プリンタサーバ110側の仮想プリント処理部230は、複数発生する印刷ジョブを順次処理するスプーラ・プロセスであり、より詳細には、各クライアント112〜118から要求された印刷ジョブの処理の進行を管理する仮想プリント管理部232と、アプリケーション部214から要求される印刷ジョブのジョブデータを一旦格納するジョブ格納部234と、仮想描画部236と、データ抽出部238とを含む。なお、ジョブ格納部234は、プリンタサーバ110の実施形態に応じて、プリンタバッファまたは印刷スプールファイルを格納する記憶領域として実装することができ、特定OSの実装形式に限定されるものではない。
ジョブデータは、イメージデータおよびジョブ情報データを含んで構成され、EMF(Enhanced Metafile)、XPS(XML paper Specification)、PostScript(登録商標)、PICT、PDF(Portable Document Format)などの印刷スプールファイル形式のデータとされている。ジョブデータに含まれるイメージデータも、EMF、Postscript(登録商標)、XPSなどの高次イメージを含むことが好適であるが、ビットマップ、JPEG、GIFなどの低次イメージデータを含むことができるし、さらに他の実施形態では低次イメージデータおよび高次イメージデータの両方を含むことができる。ジョブ情報データは、端末固有情報やユーザ固有情報など印刷要求の発行元を固有に識別する要求元識別値、イメージデータの面付情報、カラーモードの指定、集約印刷の指定、マージン、サイズ設定、ページ数、文書名など各種印刷設定を含む。特定の実施形態であるWindows(登録商標)環境であれば、上記ジョブデータやイメージデータは、好適にはEMF形式のデータとすることができる。
仮想プリント処理部230は、アプリケーション部214からジョブデータを受領すると、仮想プリント管理部232を呼び出し、ジョブデータをスプールファイルとしてジョブ格納部234に生成させる。続いて仮想プリント管理部232は、仮想描画部236を呼び出し、仮想描画部236は、ジョブ格納部234からジョブデータを読み出し、排他制御部240に対し、ジョブデータが含むイメージデータをページ単位など所定のユニット単位で作業領域242に移動させ、高次イメージフォーマットのイメージデータ246を作業領域242に生成させる。また、仮想描画部236は、読み出したジョブデータ中の面付け情報などの印刷設定を取得し、排他制御部240を介して作業領域242にジョブ定義データ244として生成する。なお、イメージデータの移動は、例えば特定の実施形態であるWindows(登録商標)システムであれば、スプーラが生成するEMFファイルを、プリントプロセッサがページ単位などの所定のユニット単位毎に分割して、作業領域242にコピーすることで実現することができ、あるいはグラフィックモジュールがEMFをページ毎に作業領域242に生成することで実現することもできる。
仮想プリント管理部232は、さらに、データ抽出部238を呼び出し、データ抽出部238は、ジョブ格納部234に格納されたジョブデータからジョブ情報データを抽出し、排他制御部240を介して作業領域242のジョブ定義データ244に印刷設定内容を書き込む。ジョブ定義データの格納は、例えば特定の実施形態であるWindows(登録商標)環境であれば、プリントプロセッサまたはグラフィックモジュールが、印刷設定構造体DEVMODEの内容を書き込むことなどで実現することができる。
作業領域242に保存されるこれらの中間データは、後述するように、個別のコンピュータ上で動作する発送処理部220および仮想プリント処理部230からアクセスされることとなる。これに対応して、排他制御部240は、各機能部からの作業領域242へのデータ書き込みおよびデータ読み込みのタイミングを排他的に制御し、データ不整合の発生を好適に回避している。作業領域242は、プリンタサーバ110のHDDやメモリなどの記憶領域として提供することができるが、排他制御部240がアクセス可能である限り特に限定されるものではなく、他のコンピュータ装置の共有フォルダなどの記憶領域として提供してもよい。
印刷ジョブの中間データとして生成されたジョブ定義データ244およびイメージデータ246は、本実施形態では、印刷ジョブを固有に識別するジョブIDに紐付けて管理される。ジョブIDは、発送処理部220、仮想プリント処理部230および排他制御部240の間で共有され、印刷ジョブが固有に識別される。ジョブIDの共有方法は、特に限定されるものではないが、例えば仮想プリント管理部232が印刷要求を受領した際に現在開始したジョブを固有に識別するためのジョブIDを生成し、このジョブIDを関連付けてジョブ定義データ244およびイメージデータ246を排他制御部240に保存させ、一方プリント指令部212が仮想プリント管理部232からジョブIDを受け取り、発送処理部220を起動する際に、ジョブIDを引数として与えることにより行うことができる。
一方クライアント118側では、起動された発送処理部220のデータ発送部222が、印刷ジョブのすべての中間データの作成が完了したことを検知して、排他制御部240と通信して、ジョブ定義データ244およびイメージデータ246を取得し、発送処理に備える。排他制御部240は、印刷ジョブのすべての中間データの作成が完了すると、その完了を記録しており、データ発送部222は、例えば排他制御部240に対し定期的にジョブIDで問い合わせて中間データの完成を検知することができる。
図7は、排他制御部240が管理するジョブ管理テーブルのデータ構造を例示する。図7に示すジョブ管理テーブル700は、各印刷ジョブについて、ジョブIDと、ジョブ定義データ名と、イメージデータを識別するイメージIDの配列と、中間データの作成が完了したか否かを示すフラグと、中間データに対するアクセス状態を記憶する中間データアクセス情報とを対応付けて管理している。この中間データアクセス情報は、ジョブ定義データおよび各イメージデータのアクセス状態を保持しており、各中間データについて、「書き込み中」、「読み込み中」、読み込みも書き込みもなされていない「待機中」のいずれかの状態を示す値を保持する。
例えば、ジョブIDで識別される或る印刷ジョブの中間データ(例えばジョブ定義データ)へのアクセス要求が発生した場合、排他制御部240は、そのジョブIDに紐付けられた中間データアクセス情報を参照し、その中間データのアクセス状態を取得する。そして、書き込み要求である場合、排他制御部240は、中間データのアクセス状態が「待機中」であれば、中間データアクセス情報を「書き込み中」に書き換えてロックし、中間データを書き込み、書き込み完了時に「待機中」に書き換える。一方、中間データが「書き込み中」または「読み込み中」であれば、「待機中」となるまで当該要求についての処理を待機するか、あるいは要求元の機能部にエラーを通知し、再度試行させる。読み込み要求である場合も同様に、排他制御部240は、中間データが「待機中」であれば、中間データアクセス情報を「読み込み中」に書き換えてロックし、中間データを読み出し要求元の機能部に送信し、読み込み完了時に「待機中」に戻す。一方、中間データが「書き込み中」であれば、「待機中」となるまで当該要求の処理を待機するか、あるいは要求元の機能部にエラーを通知し、再度試行させる。
排他制御部240は、すべての中間データの保存が完了した場合に、ジョブ管理テーブル700のジョブIDに対応する中間データの作成が完了したことを示すフラグに書き換える。なお、説明する実施形態では、すべての中間データの保存が完了してから、データ発送部222によるデータ取得が開始されるものとして説明する。しかしながら、データ発送部222が、処理対象のジョブに必要なすべての中間データを正しく取得可能である限り、特に限定されるものではなく、すべての中間データの完成を待たずに、データ発送部222が中間データの取得を開始してもよい。その場合、排他制御部240は、中間データ完成前に、作成済みの中間データの送信を開始するが、すべての中間データの書き込みの完了を待ってデータ発送部222へのジョブ定義データおよびイメージデータの送信を完了させることになる。
再び図2を参照すると、発送処理部220の出力条件制御部224は、データ発送部222からの問い合わせに応答して、排他制御部240と通信してジョブ定義データ244中の要求元識別値などの条件付け情報を取得し、所定の規則に従って、その条件付け情報に対応する適切な出力先を決定し、その出力先プリンタを識別するプリンタ名をデータ発送部222に通知する。出力先を決定するための規則としては、図8に示すような、条件付け情報と出力先とを紐付ける対応付けテーブル800を用いることができる。
図8は、本実施形態において出力条件制御部224が管理する対応付けテーブルを例示する。対応付けテーブル800Aおよび800Bは、条件付け情報として要求元識別値を用いる場合のものである。対応付けテーブル800Aは、クライアント112〜118の要求元識別値として、クライアントのIPアドレスを使用し、IPアドレスと、当該IPアドレスが振られたクライアントについて割当てるべきリモートプリンタのプリンタ名とを対応付けて登録する。なお、IPアドレスは、対応付けテーブル800Aに示すような単独の値ではなく、特定のグループなどに対応付けることができるように、サブネットマスクなどで指定されたIPアドレス範囲とすることができる。また、IPアドレスに代えて、MACアドレスなどの他のアドレスを用いても構わない。
対応付けテーブル800Bは、要求元識別値として、ログイン時に入力され、またはICカードなどから読み取られたユーザ名を使用し、リモートプリンタを固有に識別するためのプリンタ名を対応付けて登録している。なお、ユーザ名に対応付けて出力先を管理する実施形態では、ユーザが利用しているクライアントにかかわらず、ユーザに対応して出力先リモートプリンタを固定することができ、この際、ユーザは、使用する端末を変更したとしても、クライアントに対してプリンタ設定の変更を入力せずとも確実に設定された出力先に送付できるので、操作性および文書ドキュメントのセキュリティ確保の面で効率化が可能となる。また、本実施形態では、特定のIPアドレスが割り当てられたクライアントおよびユーザ名などを連結し、同一のユーザでも異なるクライアントで作業する場合には、異なる出力先プリンタに出力させる構成とすることもでき、同一クライアントでも異なるユーザが作業する場合には、異なる出力先プリンタに出力させる構成とすることもできる。
図8に示す対応付けテーブル800Cは、出力先の紐付けを行う際に、ユーザ名といった要求元識別値に加え、出力内容を組み合わせて制御するために使用する実施形態である。対応付けテーブル800Cでは、さらにユーザに対して複数のネットワークプリンタが割り当てられていて、それぞれプリンタ名としてローカルプリンタCおよびローカルプリンタDとされている。
出力内容は、例えば帳票印刷や、ラベル印刷ではプリンタ機能も異なり、また帳票印刷であってもフォーマットや出力機能が異なるため、これらの相違に基づいて出力先を制御するために利用される。なお出力内容は、排他制御部240と通信して、ジョブ定義データ中に記述された情報に従って判断することができる。また、同一ユーザに対し複数のリモートプリンタが割り当てられている場合には、登録上位のプリンタ名をデフォルト設定として選択可能にクライアント112〜118に問合わせおよび追加選択を可能とすることができる。
図8に示した対応付けテーブル800は、好適には、特定の用途に応じてユーザ定義可能なファイルとして提供され、プリンタネットワーク100の管理者が適切なデータベースを使用して入力することができる構成とされている。上記対応付けテーブル800のファイルは、出力条件制御部224から適切にアクセス可能である限り、必ずしも発送処理部220が内部に保持していなくともよい。例えば、管理者がアクセス可能な共有ファイルサーバ上に配置するなど、利用しやすい形態で配置することができる。この構成により、例えば複数のクライアントが動作する環境では、対応付けテーブルを共通のファイルとすることによって、メンテナンス性を向上させることが可能となる。さらに、当該対応付けテーブル800のファイルについて管理者のみに変更権限を設定することで、セキュリティも好適に確保することが可能となる。
再び図2を参照すると、データ発送部222は、出力条件制御部224からの出力先リモートプリンタ名の通知を受領して、送信データの出力先を設定する。データ発送部222は、決定された出力先のプリンタドライバ250に対して、取得しておいた高次フォーマットのイメージデータを、同じく取得しておいたジョブ定義データの内容通りに印刷指令する。2in1などの面付け設定がなされている場合には、データ発送部222は、ページ毎のイメージデータを面付け処理し、編集後のプリンタドライバ250が受信可能な形式の送信データとしてからプリンタドライバ250に送信する。出力先のプリンタドライバ250は、印刷指令を受けて、送信データをリモートプリンタで処理可能なRAW形式の出力データに変換し、ポートモニタなどへと送付し、決定された出力先であるリモートプリンタから印刷出力を行う。
なお、出力先が特定のリモートプリンタに決定され、決定されたリモートプリンタのプリンタドライバ250がページ割り当てや面付けの機能を持っている場合には、データ発送部222は、プリンタドライバ250が受信可能なフォーマットで送信して、ジョブ定義データをプリンタドライバ250の機能設定値として指定してプリンタドライバ250に変換させることでRAW形式のデータを作成することも可能である。例えば、特定の実施形態で、Windows(登録商標)のプリンタドライバにおいては、ほとんどのプリンタドライバがEMFを受信できるので、イメージデータ246がEMFであった場合にはデータの変換は必要なく、ジョブ定義データ244を印刷設定構造体DEVMODEに設定すれば、プリンタドライバ250が目的のRAWデータを作成可能となる。
プリンタドライバ250に印刷指令を行った後、出力先リモートプリンタにおいてエラーが発生すると、データ発送部222は、出力先リモートプリンタからのエラー通知を受信する。発送処理部220のエラー表示部226は、このエラー通知に応答して、クライアントのディスプレイ装置上にエラーが発生した旨のユーザ通知を行う。
なお、本実施形態では、アプリケーション部214は、印刷ジョブを可能な限り高次イメージデータを含む形式で仮想プリント処理部230に送付することが好ましい。これにより、高次イメージデータとしてイメージデータを送付することにより、特にカラーイメージについてはイメージあたりのデータ量を削減でき、印刷ジョブにかかるネットワークトラフィックの輻湊を防止することができる。また、仮想プリント処理部230がジョブデータを受け取る時点では、出力先が決定されていないため、出力先の能力より低次となるデータで受け取ってしまうと、出力先の能力を充分に活かしきれないことになる。このため、仮想プリント処理部230は、その描画能力を充分に高いものとしてアプリケーション部214に報告することが望ましい。
以下、図3を参照して、クライアントにおいて本仮想プリンタドライバを利用可能とするためのインストール処理について説明する。図3は、クライアント側の仮想プリンタドライバをインストールする処理の概略を示す。図3も同様に、クライアント112〜118を代表してクライアント118が示されている。
本実施形態のプリンタサーバ110には、仮想プリンタドライバ260が予めインストールされており、ネットワーク共有されている。仮想プリンタドライバ260は、図2において太枠で示したプリンタサーバ110側の仮想プリンタドライバのコンポーネント236,238,240の他、ドライバプログラム提供部262を含んで構成される。ドライバプログラム提供部262は、クライアント側の仮想プリンタドライバ264のコンポーネント212,222,224,226をインストールするために、クライアント118からの要求に応答して必要なドライバプログラム、更新プログラムおよび設定データ等を提供する機能部である。また、本実施形態のプリンタネットワーク100に組み込まれたリモートプリンタ122〜128のプリンタドライバA〜D250a〜dとの通信を行うためのデータも、ドライバプログラム提供部262により提供することができ、上記対応付けテーブル800を設定データとして提供することもできる。
クライアント118において、プリンタサーバ110上で共有された本仮想プリンタドライバの追加が指令されると、RPCなどのプリンタ接続が作成され、クライアント118は、プリンタサーバ110上のドライバプログラム提供部262から、必要なドライバプログラム等をダウンロードし、クライアント118上の仮想プリンタドライバ264のコンポーネント212,222,224,226をインストールする。これにより、プリント指令部212、データ発送部222、出力条件制御部224およびエラー表示部226がクライアント118上で実現される。なお、このようなインストール処理は、特定の実施形態であるWINDOWS(登録商標)では、ポイントアンドプリントとして参照される。
本実施形態では、仮想プリンタシステムの機能のうち、プリンタドライバ250に対しデータ送信する発送処理部220の機能をクライアント側で動作させることにより、出力先として決定されたリモートプリンタ上でステータスエラー等が発生した場合でも、エラー情報等を必要とするユーザが操作しているクライアント側にエラー情報が渡され、適切にユーザ通知を行うことが可能となる。また、このクライアント側で動作するコンポーネントは、プリンタサーバ110のドライバプログラム提供部262から取得されて、クライアントにインストールされるため、新たなクライアントを本プリンタネットワーク100に組み込む際の作業も軽減される。また、複数のクライアントが動作するプリンタネットワーク100の環境において、クライアント毎に発送処理部220が動作しているため、プリンタサーバ上で発送処理部220を動作させる場合に比べても、リモートプリンタ上でエラーが発生した場合のプリント停止を最小限としている。また、ジョブ定義データおよび高次イメージフォーマットのイメージデータを中間データとして生成することで、属性や機種の相違による描画処理を可能な限り後段に持たせ、最終的な印刷品質を高く保つことを可能としている。
以下、フローチャートを参照しながら、本実施形態のプリンタネットワーク100で実行される処理の詳細を説明する。図4および図5は、本実施形態のプリンタネットワーク100で実行される処理を示すフローチャートである。なお、図4および図5は、図中のポイントAにより処理フローが連結されていることに留意されたい。図4および図5に示す処理は、ステップS400から開始し、ステップS401で、クライアント118上のプリント指令部212が、ユーザから仮想プリンタドライバの選択、各種設定の登録および印刷指示を受け、印刷指令イベントの発生を検知する。ステップS402では、クライアント118上のアプリケーション部214は、プリンタサーバ110の仮想プリント処理部230にジョブを指令し、ジョブデータを送信する。
ステップS403では、プリント指令部212は、また印刷指令イベントの発生に応答して、アプリケーション処理部210と同一権限で発送処理部220を起動する。ステップS404では、仮想プリント管理部232は、クライアントから受信したジョブデータをジョブ格納部234に格納する。ステップS405では、仮想プリント管理部232は、仮想描画部236を呼び出し、処理を指令する。処理の指令を受けて、仮想描画部236は、ステップS406でジョブ格納部234からジョブデータを読み出し、ステップS407で、排他制御部240に対し、ジョブデータ中のイメージデータをページ単位でコピーするよう要求する。要求を受けた排他制御部240は、まず書き込みが可能かを確認して、作業領域242上にページ毎のイメージデータ246を生成する。
ステップS408では、仮想描画部236は、排他制御部240に対し、さらに、ジョブデータ中の面付け情報などの印刷設定をジョブ定義データとして書き込むよう要求する。要求を受けた排他制御部240は、書き込みが可能かを確認して、作業領域242上にジョブ定義データ244を生成する。ステップS409では、仮想プリント管理部232は、データ抽出部238を呼び出し、処理を指令する。ステップS410では、データ抽出部238は、排他制御部240に対し、ジョブデータ中の他の印刷設定をジョブ定義データとして書き込むよう要求する。要求を受けた排他制御部240は、書き込みが可能かを確認して、ジョブ定義データ244に印刷設定を書き込む。
ステップS411では、排他制御部240は、すべての中間データの作成が完了したか否かを確認し、すべての中間データの作成が完了するまでの間(NOの間)、ステップS411をループさせる。ステップS411で、すべての中間データの作成が完了したと判定された場合(YES)には、ステップS412へ処理を進める。ステップS412では、排他制御部240は、現在の処理中のジョブの中間データの作成が完了した旨をジョブ管理テーブル700に記録する。
ステップS412の後、ポイントAを介して、図5に示すステップS501に処理が進められる。図5のステップS501では、ステップS403で起動された発送処理部220のデータ発送部222が、排他制御部240と通信し、当該ジョブのジョブ定義データを要求して読み込む。ステップS502では、データ発送部222は、排他制御部240に対し、さらに当該ジョブのイメージデータを要求して読み込む。ステップS503では、データ発送部222は、出力条件制御部224を呼び出し出力先を問い合わせる。
ステップS504では、出力条件制御部224は、排他制御部240に対し、ジョブ定義データ244中に記述される要求元識別値などの条件付け情報を要求して取得する。なお、クライアントのIPアドレスやMACアドレスなどの情報は、発送処理部220が動作するクライアント上にも存在するため、このような要求元固有情報を用いる場合には、出力条件制御部224は、クライアントのシステム情報から要求元識別値を取得することもできる。
ステップS505では、出力条件制御部224は、対応テーブル800を参照し、取得した条件付け情報に対応する出力先を決定し、そのプリンタ名をデータ発送部222に対し通知する。ステップS506では、データ発送部222は、取得したジョブ定義データに従って、取得した各ページのイメージデータを編集し、プリンタドライバが受信可能な形式の編集後の送信データを作成する。ステップS507で、データ発送部222は、通知されたプリンタ名のリモートプリンタに対応するプリンタドライバに送信データを出力する。ステップS508では、送信データを受領したプリンタドライバが、対応するリモートプリンタに対して印刷指令を行う。ステップS509では、データ発送部222は、出力先プリンタからのエラーステータスの監視を開始する。
ステップS510では、データ発送部222は、出力先のリモートプリンタからプリンタドライバを介してエラーが通知されたか否かを確認し、エラーが発生したか否かを判定する。ステップS510で、エラーが発生していないと判定された場合(NO)には、ステップS513へ処理を進める。
一方、ステップS510で、エラーが発生したと判定された場合(YES)には、ステップS511へ処理が進められる。ステップS511では、エラー表示部226は、クライアント118のディスプレイ装置上に図10に示すようなエラーが発生した旨のユーザ通知を行い、ステップS512へ処理を進める。
図10は、本実施形態のクライアントのディスプレイ装置上に表示される警告表示を含むグラフィカル・ユーザ・インタフェース(GUI)画面を示す。GUI画面1000は、印刷ジョブに関連する情報や、進捗状況を表示するとともに、処理中に発生したエラー警告1002を表示するメッセージボックスを含む。
再び図5を参照すると、ステップS512では、リモートプリンタからエラーの解消が報告されたか否かを確認し、エラーが解除されたか否かを判定する。ステップS512では、エラーが解除されるまでの間(NOの間)、ステップS512内をループさせ、エラーが解消するまで待機する。一方、ステップS512で、エラーが解除されたと判定された場合(YES)には、ステップS513へ処理を進める。
ステップS513では、データ発送部222は、リモートプリンタから印刷完了の報告を受けたか否かを確認し、印刷が完了したか否かを判定する。ステップS513で、印刷が完了していないと判定された場合(NO)には、ステップS510にループさせる。一方、ステップS513で、印刷が完了したと判定された場合(YES)には、ステップS514へ処理を進め、本処理を終了する。
以下、シーケンス図を参照しながら、本実施形態のプリンタネットワーク100において、プリンタサーバ110およびクライアント118が実行する処理について、より詳細に説明する。図6は、本実施形態のプリンタネットワーク100において実行される処理を示すシーケンス図である。図6に示す処理は、クライアント118がユーザからの印刷指示を受けて、ステップS601から開始される。ステップS602では、クライアント118のアプリケーション処理部210は、印刷指令イベントに応答して、仮想プリント処理部230に印刷ジョブを指令するとともに、ステップS603で、クライアント118上に発送処理部220を起動する。
仮想プリント処理部230は、ステップS604で、印刷ジョブの指令を受けてアプリケーション処理部210から受領したジョブデータをスプールし、ステップS605でジョブ定義データおよびイメージデータを含む中間データを作成し、ステップS606で排他制御部240に対し中間データの保存指令を行う。ステップS607では、排他制御部240は、保存指令を受けた中間データを保存し、保存を完了させる。
一方、クライアント118上の発送処理部220は、ステップS608で、プリンタサーバ110上の排他制御部240と通信して、中間データを読み込む。ステップS609では、出力条件制御部224による出力条件決定処理が呼び出される。ステップS610では、発送処理部220は、出力先を決定するために、プリンタサーバ110上の排他制御部240と通信して、条件付け情報を取得する。ステップS611では、発送処理部220は、出力条件制御部224により出力先を決定させデータ発送部222に戻し、ステップS612で、プリンタドライバが受信可能な形式の送信データを作成し、ステップS613で、決定した出力先のプリンタドライバに送信し、リモートプリンタのステータス監視に移行する。ステップS614では、送信データを受信したプリンタドライバ250は、リモートプリンタに対して印刷指令を行う。
ステータス監視中、プリントジャム等のエラーが発生すると、ステップS615で、エラーを検出したプリンタドライバ250から発送処理部220にエラー通知(例えばJAM通知)が行われる。ステップS616では、発送処理部220は、プリンタドライバ250からのエラー通知を受けてエラーの発生を検知し、ステップS617で、エラー表示部226によりエラー警告表示を行わせる。
エラー発生後、当該エラーが解消されると、ステップS618で、プリンタドライバ250から発送処理部220にエラー解消通知(例えばJAM解消通知)が行われる。ステップS619では、発送処理部220は、エラーが解消されたことを検知し、ステップS620で、エラー表示部226によりエラー警告を解除させる。ステータス監視中、印刷処理が完了すると、ステップS621でプリンタドライバ250から発送処理部220に印刷完了報告が行われる。発送処理部220は、ステップS622では、印刷完了を検知し、ステップS623で印刷完了通知を行わせる。
図9は、本実施形態のプリンタネットワーク100の状態遷移900を示す。ユーザから印刷指示を受領すると、アプリケーション処理部210は、プリンタサーバ110の仮想プリント処理部230を呼び出してジョブデータの送信を開始する。続いてアプリケーション処理部210は、発送処理を開始し、発送処理部220をクライアント上に起動する。そして、発送ジョブデータの送信が完了すると、アプリケーション処理部210側の処理が終了し、解放される。
一方、アプリケーション処理部210から起動された発送処理部220は、一旦待機状態に移行する。他方、アプリケーション処理部210から呼び出された仮想プリント処理部230は、ジョブデータのスプールを開始し、ジョブデータの保存が完了すると、仮想描画部236によりイメージデータをコピーさせる。イメージデータのコピーが完了すると、仮想プリント処理部230は、データ抽出部238により印刷設定をジョブ定義データとして保存させる。すべての中間データが完成し、当該ジョブの準備が完了すると、仮想プリント処理部230側の処理が終了し、待機状態または次に要求された印刷ジョブの処理に進められる。
準備が完了するのを待機していた発送処理部220は、仮想プリント処理部230による当該ジョブの準備が完了すると、待機状態を抜けて、排他制御部240を介して中間データを取得し、送信データを作成する。送信データが完成すると、発送処理部220は、決定された出力先リモートプリンタに対し送信し、送信処理が完了するとステータス監視状態に移行する。発送処理部220は、ステータス監視中、エラーの発生を検知すると、エラー表示を行い、一方そのエラーが解除されると、再びステータス監視状態に移行する。印刷完了の通知がされると、発送処理部220側の処理が終了し、当該ジョブのすべての処理が完了する。
図9に示すように、本実施形態のプリンタネットワーク100では、アプリケーション処理部210は、高次イメージフォーマットのジョブデータの送信を完了させた段階で開放され、後述の処理は発送処理部220によりバックグラウンドで行われることとなる。このため、印刷要求してからアプリケーションに制御が戻るまでの時間、すなわちRTA(Return to Application)を短縮することができる。発送処理部220は、アプリケーションのバックグラウンドで、必要な中間データが完成するまで待機し、仮想プリント処理部230がすべての中間データを完成させた段階で送信データを作成して出力先のプリンタドライバに送信する。一方、仮想プリント処理部230では、要求されたジョブの中間データが完成した段階で、次のジョブに対する処理に進めることができ、高いジョブ処理容量を文書印刷のセキュリティを確保しつつ提供することが可能となる。また、ジョブ定義データおよび高次イメージフォーマットのイメージデータを中間データとして生成することで、最終的な印刷品質が高く保たれる。
さらに、プリンタドライバ250にジョブを指令する発送処理部220がクライアント上で動作しているため、ステータス監視およびエラー発生に対する警告等を適切に実行することができる。このため、印刷指示を行いエラー情報等を必要とするユーザが、出力先リモートプリンタにおいて正常に印刷完了されたのか、エラーが発生して中断されているのか等、エラーの発生状況を正しく把握できるようになる。したがって、ユーザは、自身のジョブのエラーにより出力されていないのか、あるいは別の出力先に出力されてしまったのかを容易に判断することができ、機密情報を取り扱う場合にも安心して本仮想プリンタドライバを利用することができるようになる。
以上説明したように、本発明の実施形態によれば、サーバ−クライアント環境において、適切に出力先を振り分けるとともに、画像形成装置で発生したステータスエラーを適切にユーザ通知可能とし、ひいては、印刷における高いセキュリティを確保できるプリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体を提供することができる。
また本発明の実施形態によれば、クライアントが複数のリモートプリンタを利用可能なネットワークプリント環境で、ユーザ固有の情報や端末固有の情報等に関連して定義付けた規則に従って、柔軟にジョブ出力先等の出力条件を制御し、適切なリモートプリンタから出力させることが可能となり、出力業務毎の管理を効率化し、さらに情報セキュリティの向上を可能とすることが可能となる。また、本発明の実施形態によれば、クライアントが必要なプログラムモジュールがプリンタサーバ側から提供されるため、本ネットワークプリンタシステムを既存の環境に容易に構築することが可能となる。
本実施形態の上記機能は、C、C++、C#、Java(登録商標)などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、CD−ROM、MO、DVD、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
100…プリンタネットワーク、110…プリンタサーバ、112〜118…クライアント、122〜128…リモートプリンタ、130…ネットワーク、140,150,160…ロケーション、200…機能ブロック、210…アプリケーション処理部、212…プリント指令部、214…アプリケーション部、220…発送処理部、222…データ発送部、224…出力条件制御部、226…エラー表示部、230…仮想プリント処理部、232…仮想プリント管理部、234…ジョブ格納部、236…仮想描画部、238…データ抽出部、240…排他制御部、242…作業領域、244…ジョブ定義データ、246…イメージデータ、250…プリンタドライバ、260…仮想プリンタドライバ(サーバ)、262…ドライバプログラム提供部、264…仮想プリンタドライバ(クライアント)、700…ジョブ管理テーブル、800…対応付けテーブル、900…遷移状態、1000…GUI画面、1002…エラー警告
特開2003−140867号公報 特許第3729229号公報
"ちぇんじろう"、[online]、株式会社リコー、製品情報、オフィス向け製品、デジタル印刷機、Priportシリーズ、PC Controller[2009年7月17日検索]、インターネット<URL;http://www.ricoh.co.jp/opp/priport/option/control/change_ro/>

Claims (17)

  1. 端末装置と、前記端末装置にネットワークを介して接続するサーバ装置とを含むプリンタネットワークシステムであって、前記サーバ装置は、
    前記端末装置上で動作するアプリケーション手段からの前記ネットワークを介した印刷ジョブの要求を受領し、中間データとして、イメージデータを生成するとともに、前記印刷ジョブの印刷設定を記述するジョブ定義データを生成する仮想プリント処理手段と、
    前記イメージデータおよび前記ジョブ定義データの書き込みおよび読み込みを排他制御する排他制御手段と
    を備え、前記端末装置は、
    出力先の選択を条件付ける規則に従って出力条件を決定する出力条件制御手段と、
    当該端末装置上で動作する前記アプリケーション手段での印刷指示に応答して、前記サーバ装置の前記排他制御手段との通信により、前記印刷指示に対応して前記サーバ装置で生成された前記ジョブ定義データおよび前記イメージデータを取得し、前記出力条件制御手段により決定された出力先に対応するプリンタドライバに対して印刷指令を発行する発送手段と
    を含む、プリンタネットワークシステム。
  2. 前記端末装置上で動作する、前記発送手段、前記出力条件制御手段、および前記印刷指示に応答して前記発送手段および前記出力条件制御手段を起動するプリント指令手段が、前記サーバ装置からポイントアンドプリントでインストールされる、請求項1に記載のプリンタネットワークシステム。
  3. 前記排他制御手段は、前記仮想プリント処理手段が生成した前記印刷ジョブのすべての中間データの書き込みが完了したことを記録しており、前記端末装置の前記発送手段からのデータ取得要求に応答して、前記すべての中間データの書き込みの完了を待って前記発送手段への前記ジョブ定義データおよび前記イメージデータの送信を完了させる、請求項1または2に記載のプリンタネットワークシステム。
  4. 前記端末装置は、印刷指令を発行した前記プリンタドライバからエラーの発生の通知を受けた場合に、前記端末装置上で前記エラーの発生をユーザ通知する手段をさらに備える、請求項1〜3のいずれか1項に記載のプリンタネットワークシステム。
  5. 前記仮想プリント処理手段は、ページ単位で前記イメージデータを生成し、前記発送手段は、前記ジョブ定義データに記述された面付け情報に従って、ページ単位の前記イメージデータを面付け処理してから印刷指令を発行する、請求項1〜4のいずれか1項に記載のプリンタネットワークシステム。
  6. 前記規則は、前記端末装置に関する端末固有情報、前記アプリケーション手段のログインユーザに関するユーザ固有情報、前記印刷ジョブの印刷設定情報、前記印刷ジョブの内容情報からなる群から選択された少なくとも1つの条件付け情報に対して、前記出力先を条件付ける、請求項1〜5のいずれか1項に記載のプリンタネットワークシステム。
  7. 端末装置にネットワークを介して接続するサーバ装置であって、
    前記端末装置上で動作するアプリケーション手段からの前記ネットワークを介した印刷ジョブの要求を受領し、中間データとして、イメージデータを生成するとともに、前記印刷ジョブの印刷設定を記述するジョブ定義データを生成する仮想プリント処理手段と、
    出力先の選択を条件付ける規則に従って出力条件を決定する出力条件制御手段と、前記端末装置上で動作する前記アプリケーション手段での印刷指示に応答して、当該サーバ装置との通信により、前記印刷指示に対応して当該サーバ装置で生成された前記ジョブ定義データおよび前記イメージデータを取得し、前記出力条件制御手段により決定された出力先に対応するプリンタドライバに対して印刷指令を発行する発送手段とを前記端末装置上で動作させるためのプログラムを提供する提供手段と、
    前記イメージデータおよび前記ジョブ定義データの書き込みおよび読み込みを排他制御しながら、前記イメージデータおよび前記ジョブ定義データを読み出して前記端末装置上で動作している発送手段に対し送信する排他制御手段と
    を含む、サーバ装置。
  8. 前記提供手段は、ポイントアンドプリントで、前記発送手段および前記出力条件制御手段、および前記印刷指示に応答して前記発送手段および前記出力条件制御手段を起動させるプリント指令手段を前記端末装置にインストールさせる、請求項7に記載のサーバ装置。
  9. 前記排他制御手段は、前記仮想プリント処理手段が生成した前記印刷ジョブのすべての中間データの書き込みが完了したことを記録しており、前記すべての中間データの書き込みの完了を待って、前記端末装置上で動作する前記発送手段への前記ジョブ定義データおよび前記イメージデータの送信を完了させる、請求項7または8に記載のサーバ装置。
  10. 前記提供手段は、印刷指令が発行された前記プリンタドライバでエラーが発生した場合に前記端末装置上で前記エラーをユーザ通知する手段を、前記端末装置上で動作させるためのプログラムをさらに提供する、請求項7〜9のいずれか1項に記載のサーバ装置。
  11. 端末装置と、前記端末装置にネットワークを介して接続するサーバ装置とを含むプリンタネットワークシステムで実行される方法であって、
    前記サーバ装置が、前記端末装置上で動作するアプリケーション手段からの前記ネットワークを介した印刷ジョブの要求を受領し、中間データとして、イメージデータを生成するとともに、前記印刷ジョブの印刷設定を記述するジョブ定義データを生成するステップと、
    前記サーバ装置が、前記イメージデータおよび前記ジョブ定義データを排他的に書き込むステップと、
    前記端末装置が、当該端末装置上で動作する前記アプリケーション手段での印刷指示に応答して、前記サーバ装置との通信により、前記印刷指示に対応して前記サーバ装置で生成された前記ジョブ定義データおよび前記イメージデータを取得し、出力先の選択を条件付ける規則に従って決定された出力先に対応するプリンタドライバに対し印刷指令を発行するステップと
    を含む、プリント方法。
  12. 前記端末装置が、該端末装置上で動作するアプリケーション手段での印刷指示に応答して、前記出力先に対応するプリンタドライバに対し印刷指令を発行するためのプロセスを起動するステップ
    をさらに含む、請求項11に記載のプリント方法。
  13. 前記サーバ装置が、生成した前記印刷ジョブのすべての中間データの書き込みが完了したことを記録するステップと、
    前記サーバ装置が、前記端末装置からのデータ取得要求に応答して、前記すべての中間データの書き込みの完了を待って前記端末装置への前記ジョブ定義データおよび前記イメージデータの送信を完了させる、請求項11または12に記載のプリント方法。
  14. コンピュータ実行可能なプログラムであって、前記プログラムは、端末装置とネットワークを介して接続するサーバ装置のコンピュータを
    前記端末装置上で動作するアプリケーション手段からの前記ネットワークを介した印刷ジョブの要求を受領し、中間データとして、イメージデータを生成するとともに、前記印刷ジョブの印刷設定を記述するジョブ定義データを生成する仮想プリント処理手段、
    出力先の選択を条件付ける規則に従って出力条件を決定する出力条件制御手段と、前記端末装置上で動作する前記アプリケーション手段での印刷指示に応答して、前記サーバ装置との通信により、前記印刷指示に対応して前記サーバ装置で生成された前記ジョブ定義データおよび前記イメージデータを取得し、前記出力条件制御手段により決定された前記出力先に対応するプリンタドライバに対して印刷指令を発行する発送手段とを前記端末装置上で動作させるためのプログラムを提供する提供手段、
    前記イメージデータおよび前記ジョブ定義データの書き込みおよび読み込みを排他制御しながら、前記イメージデータおよび前記ジョブ定義データを読み出して前記端末装置上で動作している発送手段に対し送信する排他制御手段
    として機能させるためのコンピュータ実行可能なプログラム。
  15. 前記提供手段は、ポイントアンドプリントで、前記発送手段および前記出力条件制御手段、および前記印刷指示に応答して前記発送手段および前記出力条件制御手段を起動させるプリント指令手段を前記端末装置にインストールさせる、請求項14に記載のコンピュータ実行可能なプログラム。
  16. 前記排他制御手段は、前記仮想プリント処理手段が生成した前記印刷ジョブのすべての中間データの書き込みが完了したことを記録し、前記すべての中間データの書き込みの完了を待って、前記端末装置上で動作する前記発送手段への前記ジョブ定義データおよび前記イメージデータの送信を完了させる、請求項14または15に記載のコンピュータ実行可能なプログラム。
  17. 請求項14〜16のいずれか1項に記載されたプログラムを記録したコンピュータ可読な記録媒体。
JP2009189698A 2009-08-19 2009-08-19 プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体 Expired - Fee Related JP5402392B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009189698A JP5402392B2 (ja) 2009-08-19 2009-08-19 プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体
US12/851,730 US8456680B2 (en) 2009-08-19 2010-08-06 Printer network system, server device, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009189698A JP5402392B2 (ja) 2009-08-19 2009-08-19 プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2011043869A JP2011043869A (ja) 2011-03-03
JP5402392B2 true JP5402392B2 (ja) 2014-01-29

Family

ID=43605153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009189698A Expired - Fee Related JP5402392B2 (ja) 2009-08-19 2009-08-19 プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体

Country Status (2)

Country Link
US (1) US8456680B2 (ja)
JP (1) JP5402392B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064091A (ja) * 2010-09-17 2012-03-29 Fuji Xerox Co Ltd 情報処理システム、情報処理装置、及びプログラム
JP5729036B2 (ja) * 2011-03-15 2015-06-03 株式会社リコー データ処理システム、印刷制御方法、プログラムおよび記録媒体
US10353645B2 (en) 2011-07-01 2019-07-16 Entrust Datacard Corporation User interface for a customized personalization document printer of an instant issuance system
JP5961937B2 (ja) * 2011-07-06 2016-08-03 株式会社リコー 情報処理システム
JP5953888B2 (ja) * 2012-04-02 2016-07-20 コニカミノルタ株式会社 プリントサーバーおよびプログラム
JP2014059715A (ja) * 2012-09-18 2014-04-03 Ricoh Co Ltd 要求伝達装置、機器、要求伝達システム、要求伝達方法、及びプログラム
JP2014063421A (ja) * 2012-09-24 2014-04-10 Kyocera Document Solutions Inc プリンタサーバー及び印刷制御プログラム
JP2014106568A (ja) * 2012-11-22 2014-06-09 Mitsubishi Electric Corp 表示操作器及び画面パターン情報更新システム
JP6065672B2 (ja) * 2013-03-15 2017-01-25 ブラザー工業株式会社 通信装置
JP6292009B2 (ja) * 2013-05-27 2018-03-14 株式会社リコー システム、及び方法
JP5675897B2 (ja) * 2013-06-05 2015-02-25 株式会社東芝 複合機、および、ラベル印刷プログラム
JP2015191452A (ja) * 2014-03-28 2015-11-02 セイコーエプソン株式会社 記録装置、記録システム、記録媒体、プログラム、およびプログラム記憶媒体
JP6365100B2 (ja) * 2014-08-12 2018-08-01 富士ゼロックス株式会社 画像データ格納装置およびプログラム
KR101996896B1 (ko) * 2014-12-29 2019-07-05 삼성전자주식회사 가상 디바이스 드라이버를 이용한 리소스 공유 방법 및 그 전자 디바이스
CN107787479A (zh) 2015-06-25 2018-03-09 恩图鲁斯特咨询卡有限公司 即时发行系统的远程监控和管理
CN108388408A (zh) * 2018-02-05 2018-08-10 元镁信息技术服务(上海)有限公司 一种打印任务管理方法与设备
CN110851087B (zh) * 2019-10-11 2023-10-31 杭州珐珞斯科技有限公司 打印设备管理系统
US20220277278A1 (en) * 2021-03-01 2022-09-01 Entrust Corporation Personalized document processing system with subscription based functionality

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3507468B2 (ja) * 1996-12-27 2004-03-15 キヤノン株式会社 プリントシステムおよび印刷制御装置およびプリントモニタ方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP3729229B2 (ja) 1997-12-04 2005-12-21 株式会社リコー 端末装置
JP3273600B2 (ja) * 1999-03-10 2002-04-08 セイコーエプソン株式会社 プリンタ、プリンタ制御方法及びプログラムを記録した記憶媒体
JP2001290630A (ja) * 2000-04-07 2001-10-19 Seiko Epson Corp 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP2002007089A (ja) * 2000-06-26 2002-01-11 Hitachi Ltd プリンタドライバ及び情報処理装置
JP4137388B2 (ja) * 2001-01-22 2008-08-20 株式会社リコー 印刷システム、プリンタ装置の利用管理方法、印刷制限サーバ、チケット発行方法、プログラム及び記録媒体
JP2003067157A (ja) * 2001-08-23 2003-03-07 Ricoh Co Ltd 印刷管理システム、印刷管理方法、プログラム、及び記録媒体
JP2003140867A (ja) 2001-11-06 2003-05-16 Canon Inc ネットワークプリントシステム及び情報処理装置
US7180621B2 (en) * 2002-02-13 2007-02-20 Hewlett-Packard Development Company, L.P. Method and apparatus for authorizing printing
JP2003271331A (ja) * 2002-03-12 2003-09-26 Canon Inc 印刷制御方法及び印刷処理システムと情報処理装置
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
JP2004240589A (ja) * 2003-02-04 2004-08-26 Canon Inc 印刷システム及びその制御方法並びに情報処理装置及び方法
US7660004B2 (en) * 2004-02-17 2010-02-09 Oracle International Corporation System and method for detecting accidental output to a device
JP4656642B2 (ja) * 2005-06-30 2011-03-23 キヤノン株式会社 情報処理装置及び状態表示方法とプログラム
JP4623469B2 (ja) * 2005-12-27 2011-02-02 キヤノンマーケティングジャパン株式会社 プリントサーバおよびプリントシステムおよびプリント方法およびプログラムおよび記録媒体
JP4745822B2 (ja) * 2005-12-27 2011-08-10 キヤノン株式会社 情報処理方法およびその装置
US8264715B2 (en) * 2006-04-25 2012-09-11 Ricoh Company, Ltd. Approach for implementing locked printing with remote unlock on printing devices
US8339635B2 (en) * 2007-04-03 2012-12-25 Microsoft Corporation Printer redirection
JP2009020588A (ja) * 2007-07-10 2009-01-29 Canon Inc インストール時における構成情報取得の自動実行について
US8797563B2 (en) * 2008-03-31 2014-08-05 Ricoh Company, Ltd. Approach for printing policy-enabled electronic documents using locked printing
US8107103B2 (en) * 2008-07-02 2012-01-31 Ricoh Company, Ltd. Print driver for printing policy-enabled electronic documents using locked printing

Also Published As

Publication number Publication date
US20110043854A1 (en) 2011-02-24
JP2011043869A (ja) 2011-03-03
US8456680B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
JP5402392B2 (ja) プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体
JP5338505B2 (ja) 情報処理装置、プログラムおよび記録媒体
JP5444881B2 (ja) 情報処理装置および情報処理システム
JP4810318B2 (ja) ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体
JP5803290B2 (ja) データ処理装置およびプログラム
JP5004709B2 (ja) 画像処理装置、システム、プログラムおよび記録媒体
JP2000137590A (ja) 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
JP2000137593A (ja) 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
JP5338496B2 (ja) 情報処理装置、プログラムおよび記録媒体
JP2010072865A (ja) データ処理装置、データ処理方法、プログラムおよび記録媒体
JP2007140909A (ja) 画像形成装置、クライアント装置、画像形成システム及び制御方法並びにドライバプログラム
JP2008191883A (ja) プリントシステム、プリントプログラム及び記録媒体
JP2009075772A (ja) 印刷指示装置、印刷装置、印刷システム、及びプログラム
JP5655909B2 (ja) 方法および情報処理装置
US11842100B2 (en) Server system, information processing apparatus communicating with server system, control method, and computer-readable storage medium
JP5551422B2 (ja) ドキュメントにセキュリティ特徴を組み込む方法とその装置
US20230315361A1 (en) Information processing apparatus, print setting application, and print system
JP5919925B2 (ja) プログラム、情報処理装置、記憶媒体
JP2004070871A (ja) ネットワークプリンタ及びデータ共有印刷システム
JP2009163404A (ja) 印刷システム、印刷装置、印刷管理装置、印刷方法、プログラム、及び記録媒体
US9081530B2 (en) Control system for forming and outputting image, control apparatus for forming and outputting image, and recording medium storing a control program for forming and outputting image
JP2013196259A (ja) データ処理装置、データ処理システムおよびプログラム
JP6074923B2 (ja) 情報処理装置、ネットワークシステム、動作情報取込方法及び動作情報取込プログラム
JP3747898B2 (ja) 電子機器の制御方法及びプログラム
JP5790341B2 (ja) データ処理装置、印刷システム、データ処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130909

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: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131014

R151 Written notification of patent or utility model registration

Ref document number: 5402392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees