JP5458997B2 - データ処理装置、データ処理方法およびプログラム - Google Patents
データ処理装置、データ処理方法およびプログラム Download PDFInfo
- Publication number
- JP5458997B2 JP5458997B2 JP2010062888A JP2010062888A JP5458997B2 JP 5458997 B2 JP5458997 B2 JP 5458997B2 JP 2010062888 A JP2010062888 A JP 2010062888A JP 2010062888 A JP2010062888 A JP 2010062888A JP 5458997 B2 JP5458997 B2 JP 5458997B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- resource management
- management information
- processing
- 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
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
本発明は、ネットワークプリント技術に関し、より詳細には、ネットワークプリント技術におけるハードウェア資源の消費を抑制するデータ処理に関する。
近年、パーソナルコンピュータおよびネットワーク環境が普及し、パーソナルコンピュータから複数のプリンタが選択できる環境において、目的のプリンタを選択することが難しい場合もある。ネットワーク上に同じ名前のプリンタがプリントサーバーに複数登録されている場合、必ずしもプリンタが同一の業務セクションに設置されているとは限らないので間違ったプリンタへの出力は情報漏えいなどの問題に直結する場合も想定される。このような問題に対応するために、これまで出力先を振り分けるネットワークプリントシステムが知られている。
従来知られている出力先を振り分けることが可能なシステムは、帳票印刷における出力先振り分けを目的とするものである。しかしながら、ネットワークプリンタは、カラープリンタの普及化もあり、カラー画像画出力できる性能を有することも多い。この結果として印刷データはフルカラー印刷を行うため、CMKYの階調を含むカラー情報を含んでプリンタサーバに送付される場合も想定される。
既存のシステムでカラー印刷させる場合、イメージを保存するフォーマットのサイズを小さくし、また、描画オブジェクトの属性を保存した高次フォーマットを使わなければならないという問題があった。一方、高次フォーマットを使用する場合、省容量化を行うことができるものの、ファイルフォーマットの編集やオブジェクト情報の加工に習熟する必要があった。
さらに、既存の出力先を振り分けるシステムは、サーバ上で動作することを前提に作られており、複数ユーザ、複数ホストからの印刷ジョブの生成依頼ごとにジョブ振り分けモジュールを並列に動作させるよう作られている。このため、カラー画像にそのまま既存のソフトウェア資源を流用しようとしても、カラーイメージを読み込むためのサーバ資源が枯渇する場合があるという問題があった。
特開2008−092550号公報(特許文献1)には、通常時は生産性を向上させるとともに、所定の入出力時条件が速度低下条件を満たす特殊時には効率的な入出力動作をする画像形成装置および入出力制御方法を得る目的で、画像形成装置は、入力先機器および出力先機器が接続され当該機器に対して画像データを入出力する画像入出力処理実行部と、画像データの入出力時条件に応じて、当該入出力時条件が速度低下条件を満たさないとき、画像入出力処理実行部の行う画像データ入出力処理を通常動作にて行い、出力時条件が速度低下条件を満たすとき、画像入出力処理実行部の行う画像データ入出力処理を通常動作より処理速度の遅い速度低下動作にて行うように切り換える実行条件判定部を有している構成が開示されている。
特許文献1に記載された技術は、所定の条件の下でデータを区切ってイメージデータを読み出すことで、ハードウェア資源の消費を制限することができる。しかしながら、特許文献1に記載された技術は、複数ユーザ、複数ホストからの印刷ジョブの依頼に応答してジョブ振り分けモジュールを並列に動作させる場合の資源管理を行うものではない。
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、本発明は、出力先を振り分けしながら、振り分け処理を行うサーバ装置のハードウェア資源の枯渇を改善する、データ処理装置、データ処理方法およびプログラムを提供することを目的とする。
本発明は、上記従来技術の問題点を解決するための印刷データの出力先を振り分けるデータ処理装置に対し、
印刷するべき印刷データを受領して呼出され、前記印刷データから印刷設定を規定するジョブ情報データを抽出するとともに、前記印刷データからラスタイメージを作成する仮想プリンタドライバ手段と、
前記印刷データごとのインスタンスとして生成され、前記印刷データごとに発送先として決定された発送先のプリンタに対応する出力データを作成させるため、前記ジョブ情報データで指定される印刷設定に基づいて前記ラスタイメージの印刷を指示する発送処理手段とを構成する。
印刷するべき印刷データを受領して呼出され、前記印刷データから印刷設定を規定するジョブ情報データを抽出するとともに、前記印刷データからラスタイメージを作成する仮想プリンタドライバ手段と、
前記印刷データごとのインスタンスとして生成され、前記印刷データごとに発送先として決定された発送先のプリンタに対応する出力データを作成させるため、前記ジョブ情報データで指定される印刷設定に基づいて前記ラスタイメージの印刷を指示する発送処理手段とを構成する。
前記発送処理手段は、前記データ処理装置が消費するハードウェア資源の容量を制限するための資源管理情報および前記発送処理手段が現在使用しているハードウェア資源の容量を記録する発送処理情報とを管理し、前記ラスタイメージがカラー情報を含む可能性に応答して前記発送処理手段が読み出すべき前記ラスタイメージのデータ量を制限する資源管理手段を含む。
前記資源管理情報は、前記ラスタイメージのデータ量を制限する第1資源管理情報および前記発送処理手段が消費するハードウェア資源の総量を制限する第2資源管理情報を含んでいて、ラスタイメージがカラー情報を含む可能性がある場合に、ジョブのために消費されるメモリ資源などの予測できない消費を防止する。
また、前記発送先のプリンタに対応するプリンタドライバは、前記発送先のプリンタが少なくともカラー出力対応するか否かを設定するドライバ情報を保持し、前記発送処理手段は、前記ドライバ情報を参照して、前記資源管理情報に設定された前記第1資源管理情報および前記第2資源管理情報の設定を行うことができる。
さらに、前記発送処理手段は、前記発送先のプリンタドライバ毎に起動時の前記資源管理情報を設定することができる。
本発明によれば、出力先を振り分けながら印刷指示を行うデータ処理装置の予測できないオーバーフローやシステムダウンに伴う高付加価値の印刷データの喪失を防止しながら、複数のクライアントからの印刷要求を処理することが可能となる。
以下、本発明を実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本発明のデータ処理装置110を含むプリンタネットワーク100の実施形態を示す。プリンタネットワーク100は、オフィスなどに配置される複数のクライアント112、114、116、118が、ネットワーク130に接続されて構成されている。ネットワーク130には、データ処理装置110の他、プリンタサーバ(図示せず)が接続され、各クライアント112、114、116、118からの印刷要求をプリンタサーバが管理してもよい。
図1に示す例示的な実施形態では、MFP122、ページプリンタ124、126、インクジェットプリンタ128などがリモートプリンタとして接続されている。本実施形態では、上述したMFP122、各ページプリンタ124〜128を、以下、リモートプリンタ122〜128として総称する。
データ処理装置110は、図1に示す実施形態では、クライアント112〜118からの印刷要求および印刷要求に対応する印刷データを取得し、クライアント112〜118に割当てられたリモートプリンタを判断し、リモートプリンタに対応するドライバ250A〜250Cをそれぞれ起動する。その後、データ処理部210は、印刷データに対応するRAWデータを、当該クライアントに割当てられたリモートプリンタに宛てて送付する。なお、作成されたRAWデータは、例えばPDL(Page Description Language)コマンドの追加処理などが行われて出力データとされ、指定されたリモートプリンタ122〜128に送付される。リモートプリンタ122〜128は、クライアント112〜118に対応し、リモートプリンタが設置されたロケーションで印刷処理を実行する。
なお、本実施形態ではクライアント112〜118に対してリモートプリンタを割当てる際には、クライアントのハードウェア上の識別値、例えばIPアドレス、MACアドレス(Media Access Control Address)、クライアントに付されたコンピュータ名、またはユーザのログイン名などを使用することができ、本実施形態では、これらの値を総じて、出力要求元識別値として参照する。また、本発明の好ましい実施形態では、クライアント112、114、116は、ICカードリーダを備え、クライアント112、114、116の利用者を識別して利用者ごとに割当てたリモートプリンタに文書の印刷を可能としている。
データ処理装置110は、好ましい実施形態では、サーバ装置として実装され、シングルコア、マルチコアのCPU、ROM、実行空間を提供するRAM、ハードディスク装置などを含み、Windows(登録商標)200Xサーバ、UNIX(登録商標)、LINUX(登録商標)、Solaris(登録商標)などのオペレーティングシステム(OS)による制御の下、印刷データの出力先を制御する。また、データ処理装置110と、クライアント112〜118の間は、RDPなどの適切な遠隔接続プロトコルを使用してトランザクションが可能とされている。また、データ処理装置110の機能は、クライアント112がファットクライアントとして実装される場合、クライアントの機能として実装することもできる。
クライアント112〜118と、リモートプリンタ122〜128の割当てについては種々の態様が考えられる。例えば、特定の実施形態では、クライアントまたはユーザを固有に識別する出力要求元識別値ごとに出力先にリモートプリンタを割当てることができる。また、他の実施形態では、クライアントグループまたはユーザグループを設定し、これらのグループ単位で特定のリモートプリンタを割当てる態様も採用することができる。図1に示した実施形態では、クライアント112−リモートプリンタ122とがロケーション140を構成し、各クライアントとプリンタとが対応付けられてロケーション150、160を構成する。クライアントはロケーション140〜160に複数存在することもでき、リモートプリンタについても各ロケーションに複数存在していてもよい。
本実施形態で、プリンタネットワーク100にプリンタサーバを接続する場合、プリンタサーバがクライアント112〜118からの印刷要求を受領して、各クライアント112〜118に割当てられたリモートプリンタ122〜128に対して印刷データを送付し、印刷ジョブを実行させる構成とすることができる。プリンタサーバを利用する場合、プリンタサーバは、ハードウェア構成およびOS構成についてデータ処理装置110と同様の構成とすることができる。なお、プリンタサーバは、必ずしもサーバ装置上に実装される必要はなく、パーソナルコンピュータに、プリンタサーバアプリケーションを実装して構成することもできる。
クライアント112〜118は、それぞれ同様の構成を有しており、ファットクライアント装置、例えば、それぞれがアプリケーションプログラムを実装し、各種処理を完結する、パーソナルコンピュータまたはワークステーションなどから構成することができる。ファットクライアントとしてクライアント112〜118を実装する場合、各クライアント112〜118は、シングルコア、マルチコアのCPUを搭載し、RAM、ROM、ハードディスク装置、ネットワークインタフェースカード(NIC)を含み、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)、Mac OS(登録商標)などの適切なOSの下で、各リモートプリンタ122〜128へと印刷処理を依頼している。
ファットクライアントとして実装されるクライアント112〜118は、ハードディスク装置などからアプリケーションプログラムおよびデータをRAMに読込んで、CPUがアプリケーションプログラムを実行させることにより、文書、イメージ、マルチメディアまたはこれらが複合的に組合わされた電子的データとして印刷対象とする文書ファイルを生成する。
また、他の実施形態では、クライアント112〜118は、いわゆるシンクライアントとして実装することができる。シンクライアントは、ネットワーク接続モジュール、ユーザ認証機能、セッション生成モジュールなど、専らデータ処理装置110に対してサービス要求を発行し、処理結果を受領して印刷出力を依頼する機能のみを実装する。クライアント112〜118がシンクライアントとして実装される場合では、クライアント112〜118は、アプリケーションにより処理を終了した後、データ処理装置110に対して印刷要求を発行する。
データ処理装置110は、シンクライアントの要求に対応して作成したデータを、仮想プリンタドライバに渡し、ジョブごとに出力先、ステータス管理および画像変換処理を可能とする。作成された出力データは、クライアント112〜118に対応するリモートプリンタに送付され、印刷処理が実行される。なお、仮想プリンタドライバについてより詳細に後述する。本実施形態では、仮想プリンタドライバは、多数のクライアントからの印刷要求が発行された場合に、データ処理装置110の仮想プリンタドライバが複数のクライアントからの印刷要求をジョブ単位の並列処理を可能とすることで、印刷効率を向上させつつ、ステータス管理を効率化する。さらに、本実施形態の仮想プリンタドライバは、ビットマップなどの低位イメージデータの他、EMF(Enhanced Metafile)、PDF、XPSなど描画情報を伴う上位フォーマットで記述された印刷要求であっても効率的な処理を可能としている。
ネットワーク130は、1000Base−TXなどのイーサネット(登録商標)、光ネットワーク、IEEE802.11などの規格の無線ネットワークを含んで構成することができ、フレームまたはTPC/IPプロトコルに基づくパケット通信によって、相互通信を行う。また、ネットワーク130は、LANの他、VPN(Virtual Private Network)などによるセキュア環境下で構築されたインターネットなどの広域ネットワークを含んで構成されていてもよい。
図2は、本実施形態のデータ処理装置110の機能ブロック200である。なお、図2に示すように、データ処理装置110は、複数の機能手段を含んで構成され、これらの機能手段は、RAMなどにプログラムを読込んで、CPUがプログラムを実行することによりコンピュータ上に実現されている。
図2に示すように、データ処理装置110は、データ処理部210と、アプリケーション実行部212とを含んで構成される。データ処理装置110のデータ処理部210と、アプリケーション実行部212とは、図2に示すように一体として構成することができる、また特定の実装形態では、図2に示す破線をネットワーク境界として、左手側の機能部をターミナルサーバとして実装し、破線の右手側の機能部分を、本実施形態のデータ処理装置110として分離して実装することもできる。アプリケーション実行部212は、ネットワーク130を介してクライアント112〜118の処理要求および印刷要求を受領してプリンタサーバとしての処理を実行し、データ処理部210に対して印刷するべきデータを送付する。また、アプリケーション実行部212と、データ処理部210とが一体としてサーバ装置を構成する場合、アプリケーション実行部212は、データ処理部210を呼び出して処理を開始させ、プリントジョブ(以下、単にジョブとして参照する。)として、ジョブIDなどを割り当てて識別される。
他の実施形態では、図2に示した機能モジュールは、図2の通りに実装される必要は無く、例えば、クライアント112〜118がそれぞれ、アプリケーション実行部212およびデータ処理部210の機能を保有するか、またはクライアント112〜118がそれぞれアプリケーション実行部212を実装する、いわゆるファットクライアントとして実装することができる。さらに他の実装形態としては、シンクライアントからの要求を処理するターミナルサーバが、アプリケーション実行部212およびデータ処理部210の機能を保有している実施形態として実装することもできる。さらに、クライアント112〜118がシンクライアントであり、ターミナルサーバが、アプリケーション実行部212を実装し、データ処理部210がプリンタサーバとして実装される実装形式も採用することができる。これらの特定の実装形式は、プリンタネットワーク100が設置される環境やユーザの特定の用途に応じて適宜変更することができる。
データ処理部210は、仮想プリンタドライバ218と、仮想プリンタドライバ218が呼出された段階で、アプリケーション214から送付されたジョブデータをイメージデータおよびジョブ情報データに分離して一旦格納するジョブ格納部226と、出力先のリモートプリンタの発送先を制御しながら印刷出力するべきデータをリモートプリンタを制御するためのドライバに送付する発送処理部230とを含んでいる。仮想プリンタドライバ218は、アプリケーション実行部212のプリント指令モジュールとして実装されるプリント指令部216からの呼出しに対応して起動され、アプリケーション214から送付されるジョブデータを受領して処理を開始する。
本実施形態では、ジョブデータは、イメージデータおよびジョブ情報データを含んで構成される。イメージデータは、ビットマップ、JPEG、GIFなどの低次イメージデータを含むことができるし、また描画コードを含むEMF、PostScript(登録商標)、PDFなどの高次イメージデータを含むこともできるし、さらに他の実施形態では低次イメージデータおよび高次イメージデータの両方を含むことができる。また、ジョブ情報データは、印刷要求の発行元を固有に識別する識別値、イメージデータの面付け情報、マージン、サイズ設定などの印刷設定に関連するデータである。
プリント指令部216は、説明する実施形態ではクライアント112〜118からの印刷要求を受領すると、仮想プリンタドライバ218に、現在開始したジョブを固有に識別するためのプロセスIDを生成し、新たなジョブが開始したことをプロセスIDを送付することによって通知する。仮想プリンタドライバ218は、プロセスIDを生成すると、当該ジョブのため発送処理部230のプライベートインスタンスを生成し、それぞれのプライベートインスタンスごとに発送先を決定する処理を実行させる。ジョブごとに起動されたプライベートインスタンスは、それぞれに割り当てられた記憶領域のイメージデータを取得し、それぞれ面付け、印刷設定の割付を実行する。
この間に、発送処理部230は、ジョブ情報データが含むユーザ名、IPアドレスなどを参照して出力先とするべきリモートプリンタを、対応付けテーブルを参照して決定する。対応付けテーブルは、ユーザ名やクライアントのIPアドレスなどの値と、出力するべきリモートプリンタの割当てを登録するテーブルであり、発送先制御部242が管理することができる。発送先制御部242が発送先とするべきリモートプリンタを決定した段階で、印刷指示部244は、発送処理部230が管理するメモリ領域に生成されたラスタイメージを取得し、決定されたドライバ250Aに送信する。
以下、仮想プリンタドライバ218の構成を詳細に説明する。仮想プリンタドライバ218は、仮想プリント管理部220と、データ抽出部222と、仮想描画部224とを含んで実装されている。仮想プリンタドライバ218は、ジョブデータを受領すると、仮想プリント管理部220を呼出し、ジョブデータをジョブ格納部226に格納する。一方、仮想プリント管理部220は、仮想描画部224を呼出して、ジョブ格納部226に格納されたジョブデータのうち、イメージデータをジョブに対応付けて処理するための記憶空間を確保させる。発送処理部230は、データ処理部210が管理するRAMなどの記憶空間の適切な容量を割当てて記憶空間を割り当てて、例えば仮想スプーラとして機能させる。データ抽出部222は、一旦ジョブ格納部226に格納したジョブデータからジョブ情報データを抽出し、発送処理部230の発送先制御部242に渡す。
仮想描画部224は、現在、ジョブ格納部226に格納されているイメージデータを、ジョブ格納部226から適切な記憶領域に移動させ、イメージデータをプリンタプロセッサおよびスプーラといった循環処理を使用してラスタデータとして生成し、発送処理部230に渡す。ジョブ格納部226は、データ処理部210の実施形態に応じて、プリンタバッファまたはスプールファイルを格納する記憶領域として実装することができ、特定OSの実装形式に限定されるものではない
発送処理部230は、本実施形態では、資源管理情報232と、発送処理部情報234とを含んでいる。資源管理情報232は、アプリケーション214などからユーザにより設定され、カラーラスタデータを処理する際の発送処理部230によるカラーラスタデータ読み取り条件および発送処理部230のハードウェア資源消費の上限設定を行うためのファイルである。また、発送処理部情報234は、発送処理部230が現在どの程度の容量を消費しているかの値を登録するファイルである。
発送処理部230に対してカラーラスタイメージが大量に送付された場合、発送処理部230が無制限にカラーラスタイメージを処理すると、発送処理部230の処理のためにデータ処理部210のメモリ資源社CPU容量が大量に消費され、オーバーフローなどが発生すると、高付加価値の印刷データの損失につながる。このため、本実施形態では、発送処理部230が仮想描画部224から取得するカラーラスタイメージのサイズを、バンド区切り単位に制限する処理を追加する。
なお、本実施形態で、用語「バンド区切り」とは、カラーラスタイメージの処理可能なデータ区切りを意味し、例えば、CMYKのカラーバンド毎に読み取りを行う場合や、さらに処理可能な細分化されたデータ単位をカラーラスタデータに割り当て、発送処理部230が処理可能な単位である。
発送処理部230は、発送先制御部242と、印刷指示部244と、対応付けテーブル246とを含んでいる。発送先制御部242は、データ抽出部222がジョブデータから分離・抽出したジョブ情報データから、対応付けテーブル246を参照して、印刷要求の発行元に関連付けて出力データの発送先を取得する。その後、発送先制御部242は、取得した発送先を印刷指示部244に通知する。印刷指示部244は、発送先制御部242からの通知に応じて出力データの送付先とするべきドライバ250Aなどを呼出す。
印刷指示部244は、発送先制御部242から発送先の通知を受けると、発送先を、プロセスID、ジョブIDおよびデータIDに割り当てて登録するジョブ管理リスト240の対応するジョブIDのレコードにプロセスIDごとに発送先を設定する。印刷指示部244は、出力データを受領すると、ポートモニタなどへと出力データを送付し、リモートプリンタ122〜128からの印刷出力を可能とする。図2には、ジョブ管理リスト240の例示的実施形態を示す。
また、発送処理部230は、現時点で発送処理部230が消費しているハードウェア資源の容量をモニタしている。発送処理部230は、発送処理部230がジョブを開始すると、当該ジョブに割り当てるべきメモリ量やCPU能力を発送処理部情報234に追加し、現在の発送処理部230のハードウェア消費量の指示値とする。また、発送処理部230は、現在処理しているジョブが終了すると、当該ジョブに割り当てたハードウェア資源の値を減算することで、発送処理部230の処理負荷の値を与える。
発送処理部230は、さらに資源管理部248を含んでいて、資源管理部248は、発送処理部230の処理がハードウェア資源を設定された上限値以上に消費しないように制御する。資源管理部248の資源制御ポリシーは、説明する本実施形態では、2つ設定することができる。資源制御ポリシーは、資源管理条件1および資源管理条件1として参照でき、資源管理条件1は、設定フラグ=0で参照され、発送処理部230の上限設定との関係でラスタイメージを制限なく読み込むか、バンド区分単位で読み込むかする資源管理ポリシーである。
また、資源管理条件2として参照される資源制御ポリシーは、設定フラグ=1で参照され、発送処理部230の全ハードウェア資源消費量の上限を設定するものであり、この場合には、発送処理部230は、現在処理中の印刷ジョブが終了し、余裕が生じるまで。仮想描画部224が出力するデータを画像RAM、ハードディスクなどの適切な持続性記憶領域にバッファリングする。
上述した処理を採用することにより、発送処理部230が、多数のカラーラスタイメージを処理する場合に発送処理部230のハードウェア資源消費の増大により、データ処理部210がオーバーフローしたり、システムダウンすることによる出力データの損失を防止することができる。
図3は、本実施形態のデータ処理部210が実行するデータ処理方法のフローチャートを示す。図3の処理は、ステップS300から開始し、ステップS301で資源管理情報とドライバ設定を参照する。ドライバ情報は、ドライバの能力やカラー出力対応などに応じてどの資源情報を利用するかが、プリンタドライバ情報として記述されている。このため、ステップS301では、新たに開始するべきジョブについて、どの資源管理条件を設定して呼び出すか判断する技術的意味を有する。
ステップS302では、直後に発送処理部230が消費するハードウェア資源量が、資源管理条件1の範囲に該当するか否かを判断し、資源管理条件1に該当する範囲であれば、資源管理条件1の設定で、ラスタデータを読み込んで処理を実行する。
なお、資源管理条件1とは、上述したようにラスタイメージを、バンド区切り単位で読み込む処理を実行する。ステップS302で、資源管理条件1に該当しない場合(no)処理をステップS304に渡し、ステップS304では、発送処理部情報を参照して、現在使用中のハードウェア資源の値を、計算する。計算に際しては、プロセス管理部などがモニタするプロセス毎のハードウェア消費量を取得して総和する処理を使用することができる。ステップS302で、資源管理条件1に該当する場合(yes)、ステップS303で、資源管理条件を、資源管理条件1に設定する。
ステップS305では、計算されたハードウェア資源が上限値を超えるか否かを判断し、設定条件を超える場合(yes)、ステップS306で、資源管理条件を2に設定変更し、発送処理部230のハードウェア資源消費量の上限制限ポリシーを適用し、ステップS307で発送処理部情報に当該情報を記述し、以後のジョブを、資源管理情報2の下で管理させる。
一方、ステップS305で、使用中のハードウェア資源が設定上限以下である場合(no)、処理をステップS307に渡し、発送処理部情報に当該情報を記述する。
ステップS308では、更新された発送処理部情報が資源管理情報2に該当するか否かを判断し、該当する場合(yes)には、ステップS309で時間的に先にディスパッチした先発ジョブが終了するまで、ラスタデータの読み取り処理をwait()などのコマンドにより待機させる。一方、ステップS308が否定的な結果を返す場合(no)、またはステップS309の判断が肯定的な結果を返す場合(yes)、処理をステップS310に渡し、発送処理部情報の値が、資源管理情報1に該当するか否かを判断する。ステップS310の判断で資源管理情報1に該当する場合(yes)、ステップS312で、バンド区切りでラスタデータを読み出して出力処理を完了させ、ステップS313で発送処理部情報から終了した処理のハードウェア資源量を減じ、ステップS314で、後続するジョブの待機に制御を渡し、データ処理方法のプロセスを終了する。
一方、ステップS310で、資源管理情報1に該当しないと判断された場合(no)、資源管理条件2に該当せず、資源管理条件1にも該当しないことになるので、S311で一度にページ単位でラスタデータを読み出し、処理をステップS313に渡して印刷データの処理を完結させ、処理をステップS314で終了する。
図4は、本実施形態に採用することができる資源管理情報を設定する実施形態を示す。なお、コマンド=ServerResourceControlは、仮想プリンタドライバ218に対する条件設定コマンドであり、コマンド=JobResourceControlは、個々のドライバに割り当てられる条件設定コマンドである。本実施形態の資源管理設定情報400は、例えば、仮想プリンタドライバ自体や個々のドライバのプリンタ情報、例えば、PrinterInfoなどに記述することができ、ドライバが呼び出される場合に、データ処理部210の能力やドライバ能力に対応して設定することができる。より具体的には、資源管理設定情報410は、データ処理部210により、全ジョブの資源消費を、資源管理条件1で設定する場合の実施形態であり、上述したコマンド設定は、データ処理部210のドライバ管理ウィザードから設定可能とすることができる。なお、コマンド=ServerResourceControl=0の設定は、発送処理部230の利用可能なハードウェア資源の上限設定だけで資源管理を実行する条件を指定することができる。
また、資源管理設定情報420は、データ処理部210の能力は充分余裕があるので、制限を行っておらず、リモートプリンタ1に対しては、印刷データの読み取りを強制的にバンド区分単位で実行させるように資源管理条件1に指定する実施形態である。また、資源管理設定情報430は、他のリモートプリンタ2についても、資源管理条件1に指定されている。
図4に示すように、本実施形態では、データ処理部210の能力および個々のドライバの能力に応じてオーバーフローやシステムダウンなどによる印刷データの消失を最小限とすることができる。
図5は、本実施形態で生成される発送処理部情報500の実施形態を示す。発送処理部情報500は、共有メモリまたはグローバルでデータとしてメモリ上に展開され、それぞれの発送処理部230のインスタンスに共有されてもよいし、他の実施形態では、仮想プリンタドライバ218のレジストリやファイルなどに保存することができる。
発送処理部情報500は、それぞれの行が発送処理部230のインスタンスが管理するプロセスおよびジョブの情報で、例えば、プロセスID、処理中のジョブID、処理中のラスタデータサイズ(カラム:Data Size)、処理中のラスタデータがカラービットマップかどうか(カラム:Color)、当該インスタンスが資源管理条件1または2に該当しているか(カラム:Resource Control 1またはカラム:Resource Control 2)などの情報を保持しており、これらが発送処理部230のインスタンスの数だけ登録されている。
発送処理部230が呼び出される際、発送処理部情報500に記録された情報を参照し、自インスタンスが資源管理条件1か資源管理条件2に該当するかを計算する。データ処理部210のメモリ容量の上限がわかっている場合、現在起動している発送処理部230のインスタンスの数や処理中のラスタデータサイズ、カラービットマップであるかなどから演算子して、データ処理部210のメモリ上限を超えてしまう場合は自インスタンスの資源管理条件を、資源管理条件1に設定して起動することができる。また、自インスタンスを呼び出した結果、資源管理条件2としなければならないと判断すれば、起動時に資源管理条件2に設定し、先にディスパッチされたジョブが完了するまで自インスタンスの処理を待機させることが可能となる。
以上の処理について図5を使用して具体的に説明すると、まず初めにモノクロビットマップのラスタデータを処理する発送処理部230のインスタンスが起動中に、カラービットマップを処理する発送処理部230の別インスタンスが呼び出され、これら2インスタンスが並列して2つ起動している。カラービットマップの場合、多くの場合メモリを膨大に消費するので、図5に示す実施形態では、強制的に発送処理部230のインスタンスProc ID=2002とProcID=2003とを、資源管理条件1に設定変更および新規設定する。
また他の実施形態では、出力先のドライバ情報を参照し、カラー設定されている場合は発送処理部230のインスタンスの条件を、資源管理条件1に設定することもできる。説明する本実施形態では、カラー設定されているドライバに対して出力する際に、カラービットマップを読み込む時点で大量のメモリを消費させる種類のOSの場合、発送処理部230自体の設定を資源管理条件1に設定変更することもできる
また、メモリ容量の上限を考慮して3つめの印刷ジョブのためのインスタンスを生成する場合、発送処理部230の新規インスタンスについて条件設定を、資源管理条件2に設定し、先発の印刷ジョブが完了するまで待機させる構成とすることができる。さらに他の実施形態では、図5に示した発送処理部情報500の他、最初に図4の資源管理設定情報400を参照し、強制的に発送処理部230のインスタンスを資源管理条件1に設定して呼び出すこともできる。
また、メモリ容量の上限を考慮して3つめの印刷ジョブのためのインスタンスを生成する場合、発送処理部230の新規インスタンスについて条件設定を、資源管理条件2に設定し、先発の印刷ジョブが完了するまで待機させる構成とすることができる。さらに他の実施形態では、図5に示した発送処理部情報500の他、最初に図4の資源管理設定情報400を参照し、強制的に発送処理部230のインスタンスを資源管理条件1に設定して呼び出すこともできる。
本実施形態の上記機能は、C++、C#、Java(登録商標)、JavaScript(登録商標)、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100 プリンタネットワーク
110 データ処理装置
112〜118 クライアント
122〜128 リモートプリンタ
130 ネットワーク
140 ロケーション
150 ロケーション
160 ロケーション
200 機能ブロック
210 データ処理部
212 アプリケーション実行部
214 アプリケーション
216 プリント指令部
218 仮想プリンタドライバ
220 仮想プリント管理部
222 データ抽出部
224 仮想描画部
226 ジョブ格納部
230 発送処理部
232 資源管理情報
234 発送処理部情報
238 ラスタイメージ
240 ジョブ管理リスト
242 発送先制御部
244 印刷指示部
246 対応付けテーブル
248 資源管理部
250A〜C ドライバ
400 資源管理設定情報
410 資源管理設定情報
420 資源管理設定情報
430 資源管理設定情報
500 発送処理部情報
110 データ処理装置
112〜118 クライアント
122〜128 リモートプリンタ
130 ネットワーク
140 ロケーション
150 ロケーション
160 ロケーション
200 機能ブロック
210 データ処理部
212 アプリケーション実行部
214 アプリケーション
216 プリント指令部
218 仮想プリンタドライバ
220 仮想プリント管理部
222 データ抽出部
224 仮想描画部
226 ジョブ格納部
230 発送処理部
232 資源管理情報
234 発送処理部情報
238 ラスタイメージ
240 ジョブ管理リスト
242 発送先制御部
244 印刷指示部
246 対応付けテーブル
248 資源管理部
250A〜C ドライバ
400 資源管理設定情報
410 資源管理設定情報
420 資源管理設定情報
430 資源管理設定情報
500 発送処理部情報
Claims (10)
- 印刷データの出力先を振り分けるデータ処理装置であって、前記データ処理装置は、
印刷するべき印刷データを受領して呼出され、前記印刷データから印刷設定を規定するジョブ情報データを抽出するとともに、前記印刷データからラスタイメージを作成する仮想プリンタドライバ手段と、
前記印刷データごとのインスタンスとして生成され、前記印刷データごとに発送先として決定された前記発送先のプリンタに対応する出力データを作成させるため、前記ジョブ情報データで指定される印刷設定に基づいて前記ラスタイメージの印刷を指示する発送処理手段と
を含み、
前記発送処理手段は、前記データ処理装置が消費するハードウェア資源の容量を制限するための資源管理情報および前記発送処理手段が現在使用しているハードウェア資源の容量を記録する発送処理情報とを管理し、前記ラスタイメージがカラー情報を含む可能性に応答して前記発送処理手段が読み出すべき前記ラスタイメージのデータ量を制限する資源管理手段を含む、
データ処理装置。 - 前記資源管理情報は、前記ラスタイメージのデータ量を制限する第1資源管理情報および前記発送処理手段が消費するハードウェア資源の総量を制限する第2資源管理情報を含む、請求項1に記載のデータ処理装置。
- 前記発送先のプリンタに対応するプリンタドライバは、前記発送先のプリンタが少なくともカラー出力対応するか否かを設定するドライバ情報を保持し、前記発送処理手段は、前記ドライバ情報を参照して、前記資源管理情報に設定された前記第1資源管理情報および前記第2資源管理情報の設定を行う、請求項1または2に記載のデータ処理装置。
- 前記発送処理手段は、前記発送先のプリンタドライバ毎に起動時の前記資源管理情報を設定する、請求項1〜3のいずれか1項に記載のデータ処理装置。
- 印刷データの出力先を振り分けるデータ処理方法であって、前記データ処理方法は、データ処理装置が
印刷するべき印刷データを受領して呼出され、前記印刷データから印刷設定を規定するジョブ情報データを抽出するとともに、前記印刷データからラスタイメージを作成するステップと、
前記印刷データごとのインスタンスとして生成され、前記印刷データごとに発送先として決定された発送先のプリンタドライバに対応する出力データを作成させるため、前記ジョブ情報データで指定される印刷設定に基づいて前記ラスタイメージに対する印刷を指示するステップと
を含み、
前記印刷指示するステップは、前記データ処理装置が消費するハードウェア資源の容量を制限するための資源管理情報および前記印刷データの処理に現在使用しているハードウェア資源の容量を記録する発送処理情報を参照して、前記ラスタイメージがカラー情報を含む可能性を判断するステップと、
前記ラスタイメージがカラー情報を含む可能性がある場合に読み出すべき前記ラスタイメージのデータ量を制限するステップと
を含む、
データ処理方法。 - 前記資源管理情報は、前記ラスタイメージのデータ量を制限する第1資源管理情報およびラスタイメージを処理するために消費するハードウェア資源の総量を制限する第2資源管理情報を含み、前記印刷を指示するステップは、
前記ラスタイメージがカラー情報を含む可能性がある場合に、前記印刷データの処理に現在使用しているハードウェア資源の容量を登録する前記発送処理情報を参照するステップと、
更新された前記発送処理情報が設定上限を超えるか否かを判断し、前記設定上限を超える場合、前記資源管理情報として前記第2資源管理情報に変更し、先に印刷指示したジョブが終了するまで後続ジョブの前記ラスタイメージの読み出しを待機させるステップと、
前記設定上限を超えない場合、前記発送処理情報を、前記ジョブの開始に際して追加される資源量を前記発送処理情報に追加して更新し、前記第1資源管理情報にしたがって前記ラスタイメージを読み出すステップと
を含む、請求項5に記載のデータ処理方法。 - 前記印刷指示するステップは、前記発送先のプリンタが少なくともカラー出力対応するか否かを設定するドライバ情報を参照して、前記資源管理情報に設定された前記第1資源管理情報および前記第2資源管理情報の設定を行った後に新たな印刷データの処理のためのハードウェア資源を設定する、請求項5または6に記載のデータ処理方法。
- 前記印刷指示するステップは、前記発送先のプリンタドライバ毎に起動時の前記資源管理情報を設定するステップを含む、請求項5〜7のいずれか1項に記載のデータ処理方法。
- 情報処理装置を印刷データの出力先を振り分けるデータ処理装置として機能させるための装置実行可能なプログラムであって、前記プログラムは、前記情報処理装置を、
印刷するべき印刷データを受領して呼出され、前記印刷データから印刷設定を規定するジョブ情報データを抽出するとともに、前記印刷データからラスタイメージを作成する手段、
前記印刷データごとのインスタンスとして生成され、前記印刷データごとに発送先として決定された発送先のプリンタドライバに対応する出力データを作成させるため、前記ジョブ情報データで指定される印刷設定に基づいて前記ラスタイメージに対して印刷指示する手段、
として機能させ、前記印刷指示する手段は、
前記データ処理装置が消費するハードウェア資源の容量を制限するための資源管理情報および前記印刷データの処理に現在使用しているハードウェア資源の容量を記録する発送処理情報を参照して、前記ラスタイメージがカラー情報を含む可能性を判断する手段と、
前記ラスタイメージがカラー情報を含む可能性がある場合に前記印刷指示する手段が読み出すべき前記ラスタイメージのデータ量を制限する手段と
を含む、プログラム。 - 前記資源管理情報は、前記ラスタイメージのデータ量を制限する第1資源管理情報およびラスタイメージを処理するために消費するハードウェア資源の総量を制限する第2資源管理情報を含み、前記印刷指示する手段は、
前記ラスタイメージがカラー情報を含む可能性がある場合に、前記印刷データの処理に現在使用しているハードウェア資源の容量を登録する前記発送処理情報を参照する手段と、
更新された前記発送処理情報が設定上限を超えるか否かを判断し、前記設定上限を超える場合、前記資源管理情報として前記第2資源管理情報に変更し、先に印刷指示したジョブが終了するまで後続ジョブの前記ラスタイメージの読み出しを待機させる手段と、
前記設定上限を超えない場合、前記発送処理情報を、前記ジョブの開始に際して追加される資源量を前記発送処理情報に追加して更新し、前記第1資源管理情報にしたがって前記ラスタイメージを読み出す手段と
を含む、請求項9に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010062888A JP5458997B2 (ja) | 2010-03-18 | 2010-03-18 | データ処理装置、データ処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010062888A JP5458997B2 (ja) | 2010-03-18 | 2010-03-18 | データ処理装置、データ処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011197919A JP2011197919A (ja) | 2011-10-06 |
JP5458997B2 true JP5458997B2 (ja) | 2014-04-02 |
Family
ID=44876055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010062888A Expired - Fee Related JP5458997B2 (ja) | 2010-03-18 | 2010-03-18 | データ処理装置、データ処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5458997B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6115715B2 (ja) * | 2013-03-26 | 2017-04-19 | セイコーエプソン株式会社 | クロック生成装置、電子機器、移動体及びクロック生成方法 |
CN111142809A (zh) * | 2018-11-02 | 2020-05-12 | 森大(深圳)技术有限公司 | 打印控制方法、装置及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3408107B2 (ja) * | 1997-04-17 | 2003-05-19 | キヤノン株式会社 | データ処理装置および印刷制御装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
JP3449958B2 (ja) * | 2000-01-18 | 2003-09-22 | 理想科学工業株式会社 | 印刷システム、印刷方法および印刷プログラムを格納したコンピュータ読取り可能な記録媒体 |
JP2002215352A (ja) * | 2001-01-18 | 2002-08-02 | Minolta Co Ltd | 画像処理装置 |
JP2004078406A (ja) * | 2002-08-13 | 2004-03-11 | Murata Mach Ltd | ネットワークプリントシステム |
JP2006178654A (ja) * | 2004-12-21 | 2006-07-06 | Ricoh Co Ltd | 情報処理装置、画像形成要求処理方法、画像形成要求処理プログラム |
JP5338496B2 (ja) * | 2009-06-09 | 2013-11-13 | 株式会社リコー | 情報処理装置、プログラムおよび記録媒体 |
JP5338505B2 (ja) * | 2009-06-16 | 2013-11-13 | 株式会社リコー | 情報処理装置、プログラムおよび記録媒体 |
-
2010
- 2010-03-18 JP JP2010062888A patent/JP5458997B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011197919A (ja) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5444881B2 (ja) | 情報処理装置および情報処理システム | |
US8654379B2 (en) | Data processing apparatus and recording medium | |
US7359081B2 (en) | Information processing apparatus, distributed printing method, and storage medium | |
US8149449B2 (en) | Systems and methods for print scheduling | |
JP6315450B2 (ja) | セキュリティ要件に応じて印刷を行うシステム、コンピュータおよびプログラム | |
US8570574B2 (en) | Processing system, control method, and storage medium therefor | |
US20120092721A1 (en) | Dynamic print server generation in a distributed printing environment | |
JP5338496B2 (ja) | 情報処理装置、プログラムおよび記録媒体 | |
US20150062647A1 (en) | Information processing system, print system, and method and computer-readable storage medium for controlling information processing system | |
JP2010092467A (ja) | 印刷ジョブ送信装置、印刷ジョブの管理方法、印刷システム、プログラムおよびその記録媒体 | |
JP5655909B2 (ja) | 方法および情報処理装置 | |
JP5458997B2 (ja) | データ処理装置、データ処理方法およびプログラム | |
JP2018041274A (ja) | 情報処理装置その制御方法、印刷システム及びプログラム | |
JPH0764744A (ja) | プリンタサーバー装置 | |
JP2005031784A (ja) | 印刷制限システム及び印刷制限装置、印刷制限プログラム並びに印刷制限方法 | |
JP5298725B2 (ja) | 画像処理装置、画像処理方法、画像処理システムおよびプログラム | |
US12039213B2 (en) | Print control apparatus to change a number or a specification of virtual data conversion servers | |
JP2002169676A (ja) | ネットワークプリントシステムおよび記録媒体 | |
JP2023012908A (ja) | 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法 | |
JP2002351638A (ja) | 印刷システムおよび印刷処理方法 | |
JP2023039264A (ja) | 情報処理装置、情報処理方法、システム | |
JP2013061904A (ja) | データ処理装置、プログラム及び記録媒体 | |
JP2006164153A (ja) | 接続管理、ユーザ処理 | |
JP2008023967A (ja) | 印刷装置及びその制御方法 | |
JP2010263391A (ja) | 画像形成管理システム、画像形成管理方法、画像形成管理プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
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: 20131217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131230 |
|
LAPS | Cancellation because of no payment of annual fees |