JP3575382B2 - 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体 - Google Patents

印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3575382B2
JP3575382B2 JP2000086725A JP2000086725A JP3575382B2 JP 3575382 B2 JP3575382 B2 JP 3575382B2 JP 2000086725 A JP2000086725 A JP 2000086725A JP 2000086725 A JP2000086725 A JP 2000086725A JP 3575382 B2 JP3575382 B2 JP 3575382B2
Authority
JP
Japan
Prior art keywords
print
print command
memory
recording
command
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
JP2000086725A
Other languages
English (en)
Other versions
JP2000353064A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000086725A priority Critical patent/JP3575382B2/ja
Priority to EP00302901A priority patent/EP1043651A3/en
Priority to US09/546,189 priority patent/US6906821B1/en
Publication of JP2000353064A publication Critical patent/JP2000353064A/ja
Application granted granted Critical
Publication of JP3575382B2 publication Critical patent/JP3575382B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ハードディスクの使用量を節約できる印刷制御方法、当該印刷制御方法を実施するための印刷制御装置、及び当該印刷制御方法をコンピュータに実施させるためのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
印刷装置による印刷を高速で行うために、印刷対象となるイメージデータ等(以下、「印刷データ」と称する)を印刷コマンドに変換する処理と、当該印刷コマンドを印刷装置に送信する処理とを、別プロセスで並列的に実行する印刷制御システムが存在する。
【0003】
この種の印刷制御システムでは、印刷処理は、次のように行われる。まず、印刷管理部が、アプリケーション(AP)からの印刷要求を受信して印刷ジョブを発行する。次に、印刷処理部が、当該印刷ジョブを受信して、印刷対象となる印刷データを生成し、この印刷データを印刷装置独自の形式の印刷コマンドに変換し、および、当該印刷コマンドをハードディスク内に中間ファイルとして格納する。中間ファイル内の印刷コマンドは、コマンド送信部により読み出されて、スプーラによってスプールファイルに格納される。そして、デスプーラによって適宜読み出され、印刷装置に転送される。
【0004】
上記印刷処理部による処理とコマンド送信部による処理とは別個に実行される。しかし、コマンド送信部の処理速度は、印刷装置へのデータ転送速度に依存するため、一般的に、印刷処理部の処理速度よりも遅い。両者の処理速度の違いを吸収するため、1つの印刷コマンドが印刷装置に送信される間に、後続の印刷コマンドが中間ファイルとしてハードディスクに格納される。
【0005】
【発明が解決しようとする課題】
しかしながら、上述のように印刷コマンドをハードディスクに格納する印刷制御システムの場合、1つのジョブに関するすべての印刷コマンドを、そのジョブが終了するまで保持している。そのため、印刷コマンドがハードディスクにおいて多くの記憶領域を占有することとなる。このため、ハードディスクの容量が小さいと、他のアプリケーションの動作の妨げとなるおそれがあり得る。また、記憶すべき印刷コマンドの量が非常に多い印刷、例えば、大判印刷の場合には、ハードディスクの記憶領域に空きが少ないと、印刷コマンドを記憶させることができなくなる。そのため、途中で印刷が中断してしまう可能性がある。
【0006】
本発明の目的は、印刷コマンドの量が多い場合でも、少ない記憶領域に印刷コマンドを記憶させることができて、印刷が途中で中断することが起こりにくい印刷制御技術を提供することにある。
【0007】
【課題を解決するための手段】
前記目的を達成するため、本発明は、印刷データから変換された印刷コマンドをメモリに記録する処理と、前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための処理と、印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする処理とをコンピュータに実行させる。
【0008】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【0009】
図1に、本発明が適用される印刷システムの一例を示す。当該印刷システムは、ホストコンピュータ1と印刷装置2とをケーブルを介して接続して構成される。印刷装置2は、印刷対象データ及び当該データに付随する書式情報をホストコンピュータ1から受信したときに、所定の印刷プロセスを実行して印刷用紙に画像を形成する。
【0010】
印刷装置2としては、前述したような機能を有するプリンタであれば、どのような形式のプリンタであってもよい。例えば、シリアルプリンタ、ページプリンタ等が挙げられる。また、本発明は、種々の用途のプリンタに適用可能である。例えば、次のようなプリンタに適用可能である。第1に、コンピュータ上で生成されたテキスト、画像等を印刷するプリンタがある。第2に、スキャナで生成された画像を印刷するプリンタがある。第3に、ディジタルカメラで生成された画像等を印刷するプリンタがある。さらに、印刷装置2とホストコンピュータ1との接続形態も種々可能である。例えば、ローカル接続、ネットワーク接続のいずれであっても良い。
【0011】
ホストコンピュータ1は、システムプログラムの制御下において、プログラムの実行、その制御及び監視を行う。具体的には、CPU(Central Processing Unit)1a、ROM(Read Only Memory)1bおよびRAM(Random Access Memory)1cと、補助記憶装置として、内蔵又は外付けのハードディスク装置HDD3とを備える。CPU1a、ROM1bおよびRAM1cは、例えば、システムボード上に配置される。HDD3には、印刷対象データ、書式情報等を生成するアプリケーションプログラム(AP)、ホストコンピュータ1を印刷制御装置として機能させるための印刷制御プログラム等の各種プログラムが記録されている。CPU1aは、実行すべきプログラムをHDD3からRAM1cにロードして、当該プログラムによる処理を実行する。
【0012】
さらに、ホストコンピュータ1には、モニタ画面を有する表示装置4、各種設定情報を入力するための入力装置5、メディア読取装置6、および、ローカルエリアネットワークとの接続インタフェイスとなる通信制御装置7が接続されている。表示装置4には、ホストコンピュータ1から送られる画像データによる各種画像が表示される。例えば、印刷指示を行うためのダイアログウインドウを、システムプログラム、アプリケーションプログラム、印刷制御プログラム等からの指示に従って表示する。入力装置5としては、キーボード、および、マウス等のポインティングデバイスが接続される。メディア読取装置6としては、CD−ROM、フレキシブルディスク、光磁気ディスク、メモリカード等の可搬型記録媒体からのデータの読み取り、また、書き込み可能な記録媒体の場合には、さらにデータの書き込みを行う、1種または2種以上の装置が接続される。
【0013】
印刷制御プログラムは、通常、印刷装置2の製造メーカにおいて開発される。具体的には、印刷制御プログラムは、ホストコンピュータ1が読取可能な形態で、可搬型記録媒体、例えば、フレキシブルディスク(FD)、CD−ROM等に記録されて流通する。当該印刷制御プログラムは、印刷装置2を使用するにあたり、メディア読取装置6を通じてホストコンピュータ1に読み取られ、HDD3にインストールされる。また、印刷制御プログラムのインストールは、ネットワークを介してダウンロードした印刷制御プログラムを用いて行うこともできる。
【0014】
次に、ホストコンピュータ1が印刷制御プログラムを実行することで実現される印刷制御装置の機能について、図2を参照して説明する。
【0015】
図2に、本発明の第1の実施形態の印刷制御装置によって実現される各種機能の構成を示す。図2に示すように、本実施の形態の印刷制御装置は、その機能として、印刷コマンドの生成を行う印刷処理部12と、生成された印刷コマンドを一時記憶するメモリである共有メモリ15と、共有メモリ15に格納されている印刷コマンドを読み出して、印刷装置2に送るためのコマンド送信部14、スプーラ17、スプールファイル18、および、デスプーラ19と、印刷処理部12およびコマンド送信部14の動作を管理する印刷管理部11、および、両者の管理のためのデータを記憶する制御用メモリ16とを備える。
【0016】
印刷処理部12は、印刷対象となる印刷データを生成すると共に、当該印刷データを印刷装置独自の形式の印刷コマンドに変換する手段として機能する。また、変換した印刷コマンドを、共有メモリ15に格納する処理を行う手段としても機能する。さらに、印刷処理部12は、印刷管理部11から送られた印刷条件に関する各種情報を制御用メモリ16に設定する処理も行う。なお、印刷条件に関する各種情報の設定は、印刷管理部11により直接行うようにしてもよい。また、後述するように、メモリ管理部を設けてそれにより行うようにしてもよい。
【0017】
コマンド送信部14は、共有メモリ15に記録された印刷コマンドを読み出し、印刷装置に送信する処理を実行する。具体的には、共有メモリ15から印刷コマンドを読み出してスプーラ17に渡す。また、コマンド送信部14は、共有メモリ15の、送信した印刷コマンドが格納されていた領域を、新たな印刷コマンドが格納できるように、書込可能とする解放処理を行う。
【0018】
スプーラ17は、コマンド送信部14から送信される印刷コマンドをスプールファイル18に転送する。デスプーラ19は、スプールファイル18にスプールされた印刷データを適宜読み出し印刷装置に転送する。
【0019】
印刷処理部12とコマンド送信部14とは、CPU1aによりそれぞれ独立に処理される。従って、印刷処理部12とコマンド送信部14とは、見かけ上、並列的に実行される。印刷管理部11から印刷処理部12に印刷ジョブの受付が通知されると、印刷制御装置10によって実際に印刷が実行される。
【0020】
共有メモリ15および制御用メモリ16は、本実施の形態では、例えば、RAM1c内に設けられる。共有メモリ15および制御用メモリ16は、いずれも印刷処理部12およびコマンド送信部14の両者からアクセスできるように設けられる。共有メモリ15は、印刷コマンドを一時的に記憶する。共有メモリ15は、本実施形態では、印刷ジョブ対応に設けられる。すなわち、複数の印刷ジョブがある場合に、それぞれのジョブ毎に共有メモリ15がRAM1c内に設けられる。一方、制御用メモリ16は、印刷コマンドの書込・読出を制御するための制御データを記憶する。制御用メモリ16に記憶される制御データは、共有メモリ15が前述したように複数設けられる場合には、それに対応して複数組のデータを記憶する。それらの制御データはジョブ毎に区別される。
【0021】
ここで、共有メモリ15は、記憶されているデータが読み出されると、それまでデータが記録されていた領域について、他のデータを格納できるように解放される点である。この点は、ジョブが終了するまで、すべての印刷コマンドを記憶している中間ファイルとは異なる。
【0022】
前記制御用メモリ16は、例えば、図3に示すように、共有メモリサイズM16aと、共有メモリ15の全書込量W16bと、共有メモリ15の全読出量R16cと、共有メモリ15内のデータ量(W−R)16dと、コマンド送信部14がアクセスしているデータを示す読出ハンドル16eと、印刷処理部12がアクセスしているデータを示す書込ハンドル16fと、印刷コマンドのブロックを示すブロックID16gと、そのブロックが格納されている位置を示すアドレス16hと、印刷コマンドのブロックを示すブロックID16iと、そのブロックが格納されている位置を示すアドレス16jとを格納している。
【0023】
メモリサイズM16aは、共有メモリ15の領域を設定する際に書き込まれる。なお、このサイズは、固定的に定めること、および、動的に定めることのいずれも可能である。全書込量Wは、そのジョブの開始から現時点までの書込量を累積加算した値である。全読出量Rは、そのジョブの開始から現時点までの読出量を累積加算した値である。データ量Rは、全書込量Wと全読出量Rとの差で、現時点のメモリ15内に格納されている印刷コマンド量を表す。読出ハンドル16eは、例えば、コマンド送信部14がアクセスしているブロックのブロックID、または、そのアドレスにより示される。書込ハンドル16fは、例えば、印刷処理部12がアクセスしているブロックのブロックID、または、そのアドレスにより示される。ブロックID16g、16i…は、共有メモリ15に格納されているブロックを示す。このブロックの数は、共有メモリ15の容量と、ブロックの大きさにより決まる。本実施の形態では、複数のブロックを格納することを想定している。ただし、共有メモリ15は、生成される印刷コマンドのすべてを、それらが同時に存在する状態で格納するに足る容量を持っているとは限らない。そのため、あるブロックの印刷コマンドが読み出された後は、このブロックIDは無効とされ、この領域に新たなブロックIDの書込が可能とされる。
【0024】
印刷管理部11は、例えば、印刷制御装置立ち上げ時に、または、アプリケーションから起動された時に、予め定められた、または、ユーザにより設定された記憶容量を持つ共有メモリ15をRAM1c上に確保する。そして、アプリケーションから印刷要求があると、印刷ジョブを発行する。この印刷ジョブを印刷処理部12に送る。この際、前述した印刷条件に関する各種情報として、例えば、図3に示すメモリサイズM、および、最初のブロックを格納すべきアドレス16hを印刷処理部12に渡す。
【0025】
次に、図4を参照して、印刷処理部12の処理手順を説明する。印刷処理部12では、以下の手順で印刷コマンドデータを共有メモリ15に出力する。
【0026】
印刷管理部11から印刷ジョブが渡されると、印刷処理部12は、ジョブ開始のための初期設定処理を行う(ステップ22)。すなわち、印刷ジョブ対応に印刷管理部11から渡されたメモリサイズM、最初の格納アドレスを制御用メモリ16に格納すると共に、制御用メモリ16に記録されている全書込量Wおよび全読出量Rを初期値、例えば、0にセットする。
【0027】
次に、制御用メモリ16における共有メモリ15のサイズM、及び、共有メモリ15内のデータ量(W−R)を参照して、共有メモリ15に空き領域があるか否かを判断する(ステップ24)。
【0028】
共有メモリ15に空き領域がない場合、すなわちM−(W−R)=0のとき(ステップ24、NO)には、共有メモリ15に開き領域ができるまで共有メモリ15へのデータ出力を停止する(ステップ26)。一方、共有メモリ15に空き領域がある場合、すなわちM−(W−R)>0のとき(ステップ24、YES)には、印刷データから印刷コマンドへの変換処理を実行するとともに、変換された印刷コマンドを共有メモリ15の空き領域に記録する(ステップ28)。なお、最初は、W=R=0であるから、M>0となる。
【0029】
ここで、印刷コマンドの格納は、印刷コマンドの一定量毎に行う。ここでは、この一定量をブロックと称する。印刷処理部12は、1ブロック分を共有メモリ15に書き込むと、そのブロックIDと格納アドレスとを、図3に示すように、制御用メモリ16に格納する。そして、現在、書込を行っているブロックを示すブロックIDを書込ハンドル16fに格納する。
【0030】
次に、書き込んだデータ量を、それまでに書き込まれている全書込量W16bに加算して、新たな全書込量Wを求め、これにより全書込量W16bを更新する。また、それと共に、制御用メモリ16に記憶されている全読出量R16cを参照して、全データ量(W−R)を算出して、全データ量(W−R)16dを更新する。
【0031】
上記ステップ24〜29は、印刷管理部11から印刷ジョブの終了が通知されるまで(ステップ30、NO)繰り返される。一方、印刷処理部12は、印刷管理部11から印刷ジョブの終了が通知されると(ステップ30、YES)、制御用メモリ16に対して、ジョブ終了のための処理を行い(ステップ32)、共有メモリ15への印刷コマンドデータ出力を終了する。ジョブ終了のための処理としては、例えば、書込ハンドルを0にセットすることが挙げられる。
【0032】
次に、図5を参照して、コマンド送信部14の処理手順を説明する。コマンド送信部14は、印刷管理部11から印刷コマンドの送出の指示を受けると、共有メモリ15から印刷コマンドの読み出しを開始する。す。
【0033】
まず、コマンド送信部14は、制御用メモリ16における共有メモリ15内データ量(W−R)16dを参照して、共有メモリ15内に読み出すべき印刷コマンドが存在するか否かを判断する(ステップ40)。共有メモリ15内に読み出すべき印刷コマンドが存在する場合、すなわちW−R>0のとき(ステップ40、YES)、コマンド送信部14は、共有メモリ15から印刷コマンドを読み出して(ステップ42)、当該印刷コマンドをバッファ(図示せず)にコピーする(ステップ43)。この後、共有メモリ15において、コピーした印刷コマンドが記憶されていた、メモリ領域を書込可能にする(ステップ44)。その後、順次スプーラ17に対して送信する(ステップ46)。
【0034】
ここで、ステップ44の処理として、例えば、次のように行う。すなわち、読み出したブロックについてのブロックIDを無効化すると共に、読出ハンドルを次に読み出すべきブロックIDに書き直す。さらに、全読出量Rに、読み出したブロック分のデータ量を加算し、さらに、データ量(W−R)を算出する。そして、それぞれを図3に示す制御用メモリ16の該当個所16cおよび16dに格納して、それぞれを更新する。これにより、共有メモリ15に、新たに書込可能な領域が確保されることとなる。
【0035】
上記ステップ40〜46は、ジョブが終了するまで繰り返される(ステップ48)。
【0036】
なお、上記印刷処理部12による処理とコマンド送信部14によるプロセスとは、独立して並列的に実行される。ここで、後者の処理速度は、印刷装置へのデータ転送速度に依存する。従って、共有メモリ15の容量を印刷装置へのデータ転送速度に基づいて設定することが考えられる。
【0037】
具体的には、印刷装置へのデータ転送速度が速い場合には、コマンド送信部14の共有メモリ15からのデータ読出速度も速くなるため、共有メモリ15の容量を大きくすることが挙げられる。一方、印刷装置へのデータ転送速度が遅い場合には、コマンド送信部14の共有メモリ15からのデータ読出速度も遅くなるため、共有メモリ15の容量を小さくして、共有メモリ15以外のプロセスを行うためのRAM領域を大きくして、システム全体の効率化を図ることができる。
【0038】
印刷装置へのデータ転送速度は、ポートの種類で予測することができる。具体的には、シリアルポート、パラレルポート、USBポート、1394ポートの順でデータ転送速度が速くなる。そこで、ポートの種類に応じて、共有メモリ15の容量を、ユーザの指示に従って設定するようにしてもよい。もちろん、使用ポートを自動判定して、共有メモリ15の容量を決定するようにしてもよい。
【0039】
このように、送信された印刷コマンドを記録していたデータ領域を解放して、共有メモリ15に新たなデータを書込可能にすることによって、ハードディスクに一群の印刷コマンドからなる中間ファイルを格納せずに印刷が可能となる。このため、高速アクセスを実現できる。また、ハードディスクの使用量を節約することができる。具体的には、1画素当たり6色として、1画素を表わすのに2bit/dotラ6=12ビット必要であり、A4用紙(8ラ11インチ)で縦及び横方向の解像度をそれぞれ720dpiとすると、A4用紙1枚当たり2×6×8×11×720×720=547メガビット(68メガバイト)のハードディスク領域を必要とする。従って、小容量のメモリ領域を共有メモリスペースとして確保することによって、(68メガバイト)×(A4用紙の枚数)のハードディスク領域を節約することができる。
【0040】
また、一般的にアクセス時間の長いハードディスクに印刷コマンドを記憶する代わりに、一般的にアクセス時間の短い共有メモリに記憶しているので、ハードディスクへのアクセス回数を減少させて印刷速度を向上させることができる。
【0041】
次に、本発明の第2の実施形態について、図面を参照して説明する。本実施の形態は、前述した第1の実施形態と同様のハードウエア資源を用いて実現することができる。
【0042】
本実施形態は、ホストコンピュータ1が印刷制御プログラムを読み込むことによって実現される。本実施の形態は、図2に示すように、アプリケーション(AP)からの印刷要求を受けて印刷ジョブを発行する印刷管理部11と、印刷対象となる印刷データを生成するとともに、当該印刷データを印刷装置独自の形式の印刷コマンドに変換する処理を実行する印刷処理部12と、前記印刷コマンドを一時的に記憶するためのRAM1c内に形成される共有メモリ15と、共有メモリ15に記録された印刷コマンドを読み出し、印刷装置に送信する処理を実行するコマンド送信部14と、共有メモリ15における印刷コマンドの書込・読出を制御するための制御用メモリ16と、コマンド送信部14から送信される印刷コマンドをスプールファイル18に転送するスプーラ17と、スプールファイル18にスプールされた印刷データを適宜読み出し印刷装置に転送するデスプーラ19とを備える。前述したように、本実施の形態の機能構成は、図2に示すものと同様の構成が多い。従って、ここでは相違点を中心として説明する。
【0043】
前記制御用メモリ16は、図6に示すように、共有メモリサイズM16aと、共有メモリ15の全書込量W16bと、共有メモリ15の全読出量R16cと、共有メモリ15内のデータ量(W−R)16dと、コマンド送信部14がアクセスしているデータを示す読出ハンドル16eと、印刷処理部12がアクセスしているデータを示す書込ハンドル16fと、印刷コマンドのブロックを示すブロックID16g、16i、および、それらのアドレス16h、16jと、共有メモリ15に書き込まれたデータ量のメモリ容量Mに対する割合の閾値である占有率の閾値α16xおよび閾値β16yと、ジョブ終了コマンドフラグ16zとを格納している。当該第2の実施の形態では、共有メモリ15内のデータ量の共有メモリサイズに対する割合を所定の範囲内に制御する。
【0044】
なお、上記構成において、印刷処理部12は、前述した第1の実施形態における機能の他、印刷コマンドの書込を停止する第1停止手段としても機能する。また、コマンド送信部14は、前述した第1の実施の形態における機能の他、印刷コマンドの読出を停止する第2停止手段としても機能する。
【0045】
また、上記構成において、共有メモリ15に書き込まれたデータ量のメモリ容量Mに対する割合を用いて、メモリへの格納状態の知るための指標としている。しかし、本発明はこれに限られない。例えば、データ量を絶対量で表すことであってもよい。
【0046】
ここで、印刷管理部11から印刷コマンドを生成するよう指示を受けると、印刷処理部12は、次のように動作する。図7を参照して、印刷処理部12の処理手順を説明する。印刷処理部12では、以下の手順で印刷コマンドデータを共有メモリ15に出力する。
【0047】
印刷管理部11から印刷ジョブが入力されると、印刷処理部12は、まず、前記第1の実施形態の場合と同様のジョブ開始のための初期設定処理を行うと共に、制御用メモリ16のジョブ終了コマンドフラグ16zを初期化する(ステップ222)。
【0048】
次に、制御用メモリ16における共有メモリサイズM16a、及び、共有メモリ15内データ量(W−R)16dを参照して、K=(W−R)/Mを算出する(ステップ223)。そして、得られたKについて、図6に示す制御用メモリ16内の占有率の閾値αと比較する。本実施の形態では、α=0.8に設定してある。従って、K>0.8であるか否かを判定する。すなわち共有メモリ15内のデータ量が共有メモリサイズの80パーセントを超えるか否かを判断する(ステップ224)。本実施形態では、印刷処理部12でのKの値の閾値αを0.8に設定している。これは単なる一例に過ぎない。閾値は1より小さな任意の正の値に設定することができる。
【0049】
Kの値が0.8以上、すなわち共有メモリ15内のデータ量が共有メモリ15のサイズMの80パーセント以上の場合(ステップ224、NO)、共有メモリ15内のデータ量が共有メモリサイズの80パーセント未満になるまで共有メモリ15へのデータ出力を停止する(ステップ226)。一方、Kの値が0.8未満、すなわち共有メモリ15内のデータ量が共有メモリサイズの80パーセント未満の場合(ステップ224、YES)には、印刷データから印刷コマンドへの変換処理を実行するとともに、変換された印刷コマンドを共有メモリ15の空き領域に記録する(ステップ28)。また、第1の実施形態と同様に、全書込量Wの更新処理、および、データ量(W−R)を算出して、制御用メモリ16の該当するデータを更新する(ステップ229)。
【0050】
上記ステップ223〜229は、印刷管理部11から印刷ジョブの終了が通知されるまで(ステップ230、NO)繰り返される。一方、印刷処理部12は、印刷管理部11から印刷ジョブの終了が通知されると(ステップ230、YES)、ジョブ終了処理を行うと共に、制御用メモリ16のジョブ終了コマンドフラグ16zを設定して(ステップ232)、共有メモリ15への印刷コマンドデータ出力を終了する。ここで、ジョブ終了処理としては、例えば、読出ハンドルを0とすることが挙げられる。
【0051】
次に、図8を参照して、コマンド送信部14の処理手順を説明する。
【0052】
コマンド送信部14は、制御用メモリ16における共有メモリ15内データ量(W−R)を参照して、共有メモリ15内に読み出すべき印刷コマンドが存在するか否かを判断する(ステップ40)。共有メモリ15内に読み出すべき印刷コマンドが存在する場合、すなわちW−R>0のとき(ステップ240、YES)、コマンド送信部14は、制御用メモリ16における共有メモリサイズM16a及び共有メモリ15内データ量(W−R)16dを参照して、K=(W−R)/Mを算出する(ステップ241)。得られたKの値を閾値βと比較する。本実施の形態では、K>0.6か否か、すなわち、共有メモリ15内のデータ量が共有メモリサイズの60パーセントを超えるか否かを判断する(ステップ242)。ここでは、Kの値の閾値βを0.6に設定している。これは、単なる一例に過ぎない。閾値βは、印刷処理部で使用するKの閾値α(本実施形態では0.8)未満の任意の正の値に設定することができる。
【0053】
Kの値が0.6以下、すなわち共有メモリ15内のデータ量が共有メモリサイズMの60パーセント以下の場合(ステップ242、NO)には、制御用メモリ16を参照して、ジョブ終了コマンドフラグ16zが設定されているか否かを判断する(ステップ243)。ジョブ終了コマンドフラグ16zが設定されていない場合(ステップ243、NO)には、共有メモリ15内のデータ量が共有メモリサイズMの60パーセントよりも大きくなるまで、共有メモリ15からの印刷コマンドの読出を停止する(ステップ244)。
【0054】
このように、図7における、ステップ224−NO、および、ステップ226と、ステップ242−NO、および、ステップ244とによって、Kの値が0.6よりも大きく、かつ、0.8よりも小さくなるように、すなわち共有メモリ15内のデータ量が共有メモリサイズの60パーセントよりも大きく、且つ80パーセントよりも小さくなるように制御される。従って、共有メモリ15に対する処理に、CPU1aの占有率が集中するのを避け、CPU資源をプリンタドライバの各モジュール及びプリンタドライバ以外のアプリケーション、OS等に割り振ることができ、適切な負荷分散を図ることができる。
【0055】
一方、Kの値が0.6よりも大きい場合、すなわち、共有メモリ15内のデータ量が共有メモリサイズの60パーセントよりも大きい場合(ステップ242、YES)、または、ジョブ終了コマンドフラグ16zが設定されている場合(ステップ243、YES)、すなわち、共有メモリ15内のデータ量が共有メモリサイズMの60パーセント以下であっても、ジョブが終了する場合には、共有メモリ15から印刷コマンドを読み出して(ステップ245)、印刷コマンドをバッファ(図示せず)にコピー(ステップ246)した後、共有メモリ15の、コピーした印刷コマンドが記憶されいた領域を書込可能にする(ステップ247)。この後、順次スプーラ17に対して送信する(ステップ248)。上記ステップ240〜248は、ジョブが終了するまで繰り返される(ステップ249)。
【0056】
図9に、本発明の第3の実施形態にかかる印刷制御装置の要部構成図を示す。本実施の形態は、第1および第2の実施形態において、印刷処理部12およびコマンド送信部14が処理していた共有メモリ15への書込・読出制御を、それらとは別のメモリ管理部22により処理する構成としたものである。
【0057】
すなわち、本実施の形態では、印刷処理部12は、印刷イメージのコマンド変換、および、共有メモリ15への書き込みを主として行い、コマンド送信部14は、共有メモリ15から印刷コマンドの読み出し、印刷コマンドのバッファへのコピー、および、読み出された印刷コマンドを送信することを主として行うこととなる。
【0058】
次に、本発明の第4の実施の形態について、図面を参照して説明する。本実施の形態は、前述した第1の実施の形態と同様のハードウエア資源を用いて実現することができる。
【0059】
本実施の形態は、ホストコンピュータ1が印刷制御プログラムを読み込むことによって実現される。本実施形態は、図10に示すように、基本的な構成は、図2に示す印刷制御装置と同じである。すなわち、印刷管理部11、印刷処理部12、共有メモリ15、コマンド送信部14、スプーラ17、スプールファイル18およびデスプーラ19を有する。これらについては、前述の図2に示すものと同じ構成である。一方、本実施形態は、共有メモリ15における印刷コマンドの書込・読出を制御するための第1制御用メモリ20と、スプールファイル18における印刷コマンドの書込・読出を制御するための第2制御用メモリ21とを備える点において第1および第2の実施形態と相違する。ここでは、相違点を中心として説明する。
【0060】
第1制御用メモリ20は、図11に示すように、20aから20zまでデータが記録されている。記録されるデータは図6に示すものと同じである。ただし、第2制御用メモリ21の記録内容と区別するため、例えば、共有メモリサイズM1のように、添え字が付されている点において相違する。
【0061】
同様に、第2制御用メモリ21には、図12に示すように、印刷開始時に設定した許容量M2(例えば共有メモリ15と同じサイズ)と、スプールファイル18の全書込量W2(現在のスプールファイルサイズ)と、スプールファイル18の全読出量R2(送信済のデータ量)と、スプールファイル18内の未送信データ量(W2−R2)と、スプーラ17がアクセスしているデータを示す読出ハンドルと、デスプーラ19がアクセスしているデータを示す書込ハンドルと、印刷コマンドのブロックを示すブロックID、および、それらのアドレスと、スプールファイル18に書き込まれたデータ量のファイル容量M2に対する割合の閾値である占有率の閾値α2と、ジョブ終了コマンドフラグとが、21aから21zまでに記録されている。これらについても、図12に示すように、添え字2が付されている。
【0062】
ここで、印刷処理部12は、印刷コマンドの変換と、それを共有メモリに記録する手段と、後述する第1停止手段とに対応している。また、コマンド送信部14は、印刷コマンドを読み出す手段と、記録する手段と、第1並びに第2停止手段とに対応している。
【0063】
まず、図13を参照して、印刷処理部12の処理手順を説明する。印刷処理部12では、以下の手順で印刷コマンドデータを共有メモリ15に出力する。
【0064】
印刷管理部11から印刷ジョブが入力されると、印刷処理部12は、まず、第1の実施形態の場合と同様に、ジョブ開始処理を行うと共に、第1制御用メモリ20のジョブ終了コマンドフラグを初期化する(ステップ452)。
【0065】
次に、第1制御用メモリ20における共有メモリサイズM1及び共有メモリ15内データ量(W1−R1)を参照して、K1=(W1−R1)/M1を算出する(ステップ453)。そして、K1>0.8か否か、すなわち共有メモリ15内のデータ量が共有メモリサイズの80パーセントを超えるか否かを判断する(ステップ454)。本実施形態では、K1の値の閾値α1を0.8に設定している。ただし、閾値α1の値は一例にすぎない。1より小さな任意の正の値に設定することができる。
【0066】
K1の値が0.8以上、すなわち、共有メモリ15内のデータ量が共有メモリサイズの80パーセント以上の場合(ステップ454、NO)、共有メモリ15内のデータ量が共有メモリサイズの80パーセント未満になるまで共有メモリ15へのデータ出力を停止する(ステップ456)。一方、K1の値が0.8未満、すなわち、共有メモリ15内のデータ量が共有メモリサイズの80パーセント未満の場合(ステップ454、YES)には、印刷データから印刷コマンドへの変換処理を実行すると共に、変換された印刷コマンドを共有メモリ15の空き領域に記録する(ステップ458)。
【0067】
そして、印刷処理部12は、前述した他の実施形態の場合と同様に、全書込量W1の更新を行うと共に、(W1−R1)を算出して、算出結果を第1制御用メモリ20の該当個所に格納して、更新する(ステップ459)。
【0068】
上記ステップ454〜459は、印刷管理部11から印刷ジョブの終了が通知されるまで(ステップ460、NO)繰り返される。一方、印刷処理部12は、印刷管理部11から印刷ジョブの終了が通知されると(ステップ460、YES)、ジョブ終了処理を行うと共に、第1制御用メモリ20のジョブ終了コマンドフラグを設定して(ステップ62)、共有メモリ15への印刷コマンドデータ出力を終了する。
【0069】
次に、図14を参照して、コマンド送信部14の処理手順を説明する。
【0070】
コマンド送信部14は、図11に示す、第1制御用メモリ20における共有メモリ15内データ量(W1−R1)を参照して、共有メモリ15内に読み出すべき印刷コマンドが存在するか否かを判断する(ステップ470)。
【0071】
共有メモリ15内に読み出すべき印刷コマンドが存在する場合、すなわちW1−R1>0のとき(ステップ470、YES)、コマンド送信部14は、図12に示す、第2制御用メモリ21における許容量M2及びスプールファイル18内の未送信データ量(W2−R2)を参照して、K2=(W2−R2)/M2を算出する(ステップ471)そして、K2<0.8か否か、すなわち、スプールファイル18内の未送信データ量が許容量M2の80パーセントを超えるか否かを判断する(ステップ472)。ここでは、K2の値の閾値α2を0.8に設定しているが、この閾値α2の値は一例にすぎない。1より小さな任意の正の値に設定することができる。
【0072】
K2の値が0.8以上、すなわちスプールファイル18内の未送信データ量が許容量M2の80パーセント以上の場合(ステップ472、NO)には、スプールファイル18内の未送信データ量が許容量M2の80パーセント未満になるまで、コマンド送信部14はスプーラ17に対するコマンド送信を停止する(ステップ472a)。このようにして、K2の値が0.8よりも小さくなるように、すなわちスプールファイル18内の未送信データ量が許容量M2の80パーセントよりも小さくなるように、コマンド送信部14によるスプーラ17へのコマンド送信が制御される。従って、コマンド送信部14によるスプーラ17へのコマンド送信に関する処理に対して、CPU1aの占有率が集中するのを避け、CPU資源をプリンタドライバの各モジュール及びプリンタドライバ以外のアプリケーション、OS等に割り振ることができ、適切な負荷分散を図ることができる。
【0073】
一方、K2の値が0.8未満、すなわちスプールファイル18内の未送信データ量が許容量M2の80パーセント未満の場合(ステップ472、YES)、コマンド送信部14は、第1制御用メモリ20における共有メモリサイズM1及び共有メモリ15内データ量(W1−R1)を参照して、K1=(W1−R1)/Mを算出する(ステップ473)。K1>0.6か否か、すなわち、共有メモリ15内のデータ量が共有メモリサイズの60パーセントを超えるか否かを判断する(ステップ474)。ここでは、K1の値の閾値β1を0.6に設定しているが、閾値β1の値は一例に過ぎない。印刷処理部12で使用するK1の閾値α1(本実施の形態では0.8)未満の任意の正の値に設定することができる。
【0074】
K1の値が0.6以下、すなわち共有メモリ15内のデータ量が共有メモリサイズの60パーセント以下の場合(ステップ73、NO)には、第1制御用メモリ20を参照してジョブ終了コマンドフラグが設定されているか否かを判断する(ステップ475)。ジョブ終了コマンドフラグが設定されていない場合(ステップ475、NO)には、共有メモリ15内のデータ量が共有メモリサイズの60パーセントよりも大きくなるまで共有メモリ15からの印刷コマンドの読出を停止する(ステップ475a)。
【0075】
このように、図13に示す、ステップ454−NO、ステップ456と、図14に示す、ステップ474−NO、及び、ステップ475aによって、K1の値が0.6よりも大きく、且つ、0.8よりも小さくなるように、すなわち、共有メモリ15内のデータ量が共有メモリサイズの60パーセントよりも大きく、且つ80パーセントよりも小さくなるように制御される。従って、共有メモリに対する処理にCPUの占有率が集中するのを避け、CPU資源をプリンタドライバの各モジュール及びプリンタドライバ以外のアプリケーション、OS等に割り振ることができ、さらに適切な負荷分散を図ることができる。
【0076】
一方、K1の値が0.6以上、すなわち共有メモリ15内のデータ量が共有メモリサイズの60パーセント以上の場合(ステップ472、YES)、又はジョブ終了コマンドフラグが設定されている場合(ステップ475、YES)、すなわち共有メモリ15内のデータ量が共有メモリサイズの60パーセント以下であってもジョブが終了する場合には、共有メモリ15から印刷コマンドを読み出す(ステップ476)。そして、読み出した印刷コマンドをバッファ(図示せず)にコピー(ステップ477)した後、共有メモリ15の、コピーした印刷コマンドのメモリ上の領域を書込可能にする(ステップ478)。そして、順次スプーラ17に対して送信する(ステップ79)。上記ステップ470〜479は、ジョブが終了するまで繰り返される(ステップ480)。
【0077】
なお、共有メモリ15の容量を印刷装置へのデータ転送速度に基づいて設定することが好ましい点に関しては、第1の実施の形態と同様である。
【0078】
図15に、本発明の第5の実施形態による印刷制御装置の要部構成図を示す。本実施形態による印刷制御装置では、中間ファイルを備えている。そして、同一ページを複数枚印刷するコピー印刷を行う場合に、共有メモリと中間ファイルとを併用する。
【0079】
図15に示すように、本実施形態の印刷制御装置10は、図2に示す印刷制御装置に中間ファイル13を追加したものである。ここで、中間ファイル13は、例えば、ハードディスク3上に構築される。そして、この中間ファイル13は、共有メモリ15に比べて大きな記憶容量を持つ。
【0080】
制御用メモリ16には、前述した図3に示すデータの他に、図17に示すデータが格納される。図17には、印刷コマンドがページ単位でどのデバイス、すなわち、中間ファイル13および共有メモリ15のいずれに格納されるかについて示す格納先情報が記録されている。この情報は、印刷管理部11により決定される。
【0081】
印刷管理部11は、例えば、印刷制御装置立ち上げ時に、予め定められた、または、ユーザにより設定された記憶容量を持つ共有メモリ15をRAM1c上に確保する。そして、アプリケーションから印刷要求があると、印刷ジョブを発行する。この印刷ジョブを印刷処理部12に送る。この際、前述した印刷条件に関する各種情報として、例えば、図3に示すメモリサイズM、および、最初のブロックを格納すべきアドレス16hを印刷処理部12に渡す。
【0082】
次に、本実施の形態による印刷制御装置の動作について説明する。
【0083】
印刷管理部11は、図16に示すように、アプリケーションからの印刷指示を受け付けて、それがどのような印刷であるのかを調べる。すなわち、1部のみの印刷であるのか、複数部印刷(コピー印刷)するのかを判断する(ステップ511)。そして、1部のみの印刷である場合には、印刷処理部12に対し共有メモリ15への印刷コマンド出力を指示する(ステップ512)。なお、この際、図4において述べたと同様に、印刷処理部12は、印刷に先立って、メモリサイズMの情報等を、制御用メモリ16に格納する。この後、印刷処理部12は、既に述べた実施の形態において行われている、共有メモリ15を用いた印刷コマンドを一時的に記憶する処理を行う。これについては説明を繰り返さない。
【0084】
一方、複数部印刷の場合、全ページが中間ファイル13に格納可能であるかを調べる(ステップ513)。これは、印刷管理部11が、オペレーティングシステムに問い合わせて、ハードディスク上で当該印刷コマンド格納のために割り当てられる領域の大きさを取得すると共に、アプリケーションから送られた印刷データの量を調べて、判断する。ここで、全ページ中間ファイル13に格納可能の場合、印刷処理部12に対して印刷コマンドを中間ファイル13に出力するよう指示する(ステップ514)。
【0085】
印刷処理部12は、図18に示すように、印刷イメージのコマンド変換を行った後、生成された印刷コマンドを中間ファイル13に格納する(ステップ521)。この場合、同一ページが複数部印刷されて、複数セットの印刷物を生成することが求められている。しかし、中間ファイル13では、ジョブが終了するまでは、すべての印刷コマンドが保存されているため、1セット分の印刷コマンドのみの格納となる。
【0086】
また、ジョブが終了したかを監視する(ステップ522)。そして、ジョブが終了するまで、印刷イメージの生成と格納とが繰り返される。一方、ジョブが終了すると、上部終了コマンドを出力して、そのジョブについての印刷コマンドの変換および中間ファイル13への格納が終了したことを印刷管理部11に知らせる(ステップ523)。
【0087】
次に、中間ファイル13に、印刷コマンドの一部しか格納できないと判断される場合には(ステップ513、NO)、印刷管理部11は、印刷ジョブについてページ単位で格納先を指定する(ステップ515)。その指定は、例えば、図17に示すようなテーブルを作成して行うことができる。作成されたテーブルは制御用メモリ16に格納される。図17に示すように、ページIDと格納先の組合せで格納される。例えば、第1ページ−中間ファイル、第2ページ−中間ファイル、第3ページ−共有メモリ等のように指定される。この情報は、コマンド送信部がコマンドを読み出す場合に利用される。
【0088】
印刷処理部12は、印刷管理部11から送られる印刷ジョブについて、印刷コマンドへの変換処理を行い、変換後の印刷コマンドについて、制御用メモリ16に格納される前記図17に示す宛先情報を参照して、当該印刷コマンドを中間ファイル13に出力するか、共有メモリ15に出力するかを決定する。中間ファイル13が宛先となっている場合には、その印刷コマンドを印刷処理部12から中間ファイル13に送る。一方、宛先情報が共有メモリ15である場合には、既に述べた図4に示す手順に従って印刷コマンドを共有メモリ15に格納する。その際、図3に示すデータが参照される。
【0089】
次に、図19を参照して、コマンド送信部14の処理手順について説明する。
【0090】
コマンド送信部14は、印刷管理部11からどのページをどのような順で読み出すかの指示を含むコマンド送信指示を受け付ける。そして、まず、中間ファイル13に該当するファイルが存在するかを調べる(ステップ670)。そして、中間ファイル13に送信すべき印刷コマンドがある場合には、中間ファイルから印刷コマンドを読み出す(ステップ674)。そして、読み出した印刷コマンドを図示しないバッファにコピーして、送信する(ステップ676)。ここで、共有メモリ15からの読み出しがあるかを調べる(ステップ678)。これは、制御用メモリ16を調べることで分かる。すなわち、共有メモリ15において、(W−R)>0である場合には、読み出すべき印刷コマンドが共有メモリ15に存在することが分かる。また、印刷管理部11が、図16において示したように、中間ファイル13に印刷コマンドを出力することを指示しているか、または、中間ファイルおよび共有メモリに印刷コマンドを出力することを指示しているかにより、判断することもできる。さらに、図17に示す格納先情報を参照することで知ることもできる。
【0091】
ステップ674〜ステップ679は、中間ファイル13に格納されているすべての印刷コマンドを読み出すまで繰り返される。すべての印刷コマンドを読み出し終わることで、ジョブを終了する(ステップ679)。
【0092】
一方、ステップ680〜ステップ685までの処理は、図5に示す処理と同じ手順で行われる。従って、ここでは、説明を繰り返さない。なお、共有メモリ15の場合には、共有メモリ15への書込が行われることがあるため、印刷コマンドの書込が終了し、読み出すべき印刷コマンドを読み出し終わった時点で、終了する(ステップ635)。
【0093】
なお、本実施の形態においても、共有メモリ15の容量を印刷装置へのデータ転送速度に基づいて設定することができる。
【0094】
また、本実施形態では、ページ単位で中間ファイルに格納するか共有メモリに格納するかを判断している。しかし、本発明はこれに限定されない。中間ファイルに格納するか、共有メモリに格納するかを、ページより小さい単位で行ってもよい。例えば、ブロック単位とすることもできる。
【0095】
さらに、本実施形態についても、図9に示すようなメモリ管理部を設けて、印刷処理部12およびコマンド送信部14による共有メモリへの書込・読出の制御をメモリ管理部が行うようにすることができる。
【0096】
本実施形態では、中間ファイルの作成可能領域に、可能な限りの印刷コマンドを記録する。従って、コピー印刷の場合、中間ファイルが作成された印刷コマンドに関しては、印刷データから印刷装置独自の形式の印刷コマンドへの変換をコピーの回数行う代わりに、中間ファイルから印刷コマンドをコピーの回数読み出して印刷を実行する。一般的に、印刷データから印刷コマンドへの変換処理よりも、中間ファイルから印刷コマンドを読み出すほうが高速であるため、コピー印刷を行う場合には中間ファイルを作成することによって印刷速度を向上させることができる。
【0097】
さらに、本実施形態によれば、印刷ジョブが大きく、中間ファイルを作成し切れない印刷コマンドに関しても適用可能である。すなわち、第1の実施の形態と同様に、中間メモリを使用して印刷が実行できるので、大判印刷の場合であっても途中で印刷が中断してしまうことはない。
【0098】
【発明の効果】
本発明によれば、印刷コマンドの量が多い場合でも、少ない記憶領域に印刷コマンドを記憶させることができる。また、印刷が途中で中断することが起こりにくい印刷制御を実現できる。
【図面の簡単な説明】
【図1】本発明が適用される印刷システムの構成示すブロック図である。
【図2】本発明の第1の実施形態による印刷制御装置の要部の構成を示すブロック図である。
【図3】本発明の第1の実施形態において用いられる制御用メモリに格納される制御データの一例を示す説明図である。
【図4】第1の実施の形態による印刷処理部の処理手順を示すフローチャートである。
【図5】第1の実施の形態によるコマンド送信部の処理手順を示すフローチャートである。
【図6】本発明の第2の実施形態において用いられる制御用メモリに格納される制御データの一例を示す説明図である。
【図7】第2の実施の形態に係る印刷処理部の処理手順を示すフローチャートである。
【図8】第2の実施の形態に係るコマンド送信部の処理手順を示すフローチャートである。
【図9】本発明の第3の実施形態に係る印刷制御装置の要部構成を示すブロック図である。
【図10】本発明の第4の実施形態に係る印刷制御装置の要部構成を示すブロック図である。
【図11】本発明の第4の実施形態において用いられる制御用メモリに格納される制御データの一例を示す説明図である。
【図12】本発明の第4の実施形態において用いられる制御用メモリに格納される制御データの一例を示す説明図である。
【図13】本発明の第4の実施形態に係る印刷処理部の処理手順を示すフローチャートである。
【図14】第4の実施の形態に係るコマンド送信部の処理手順を示すフローチャートである。
【図15】本発明の第5の実施形態に係る印刷制御装置の要部構成を示すブロック図である。
【図16】本発明の第5の実施形態に係る印刷管理部の処理手順を示すフローチャートである。
【図17】本発明の第5の実施形態において用いられる制御用メモリに格納される制御データの一例を示す説明図である。
【図18】本発明の第5の実施形態に係る印刷管理部の処理手順を示すフローチャートである。
【図19】第5の実施の形態に係るコマンド送信部の処理手順を示すフローチャートである。
【符号の説明】
1…ホストコンピュータ
2…印刷装置
3…ハードディスク装置(HDD)
4…表示装置
5…入力装置
6…メディア読取装置
7…通信制御装置
11…印刷管理部
12…印刷処理部
13…中間ファイル
14…コマンド送信部
15…共有メモリ
16…制御用メモリ

Claims (16)

  1. プログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記プログラムは、
    印刷データから変換された印刷コマンドをメモリに記録する処理と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための処理と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする処理と
    前記メモリ内での印刷コマンドの記録量を示す指標を求める処理と、
    前記指標が定められた第1の閾値以上である場合に、前記印刷コマンドをメモリに記録する処理を停止させる処理とをコンピュータに実行させることを特徴とする記録媒体。
  2. 請求項1に記載の記録媒体において、
    前記プログラムは、
    前記指標が定められた第2の閾値以下である場合に、前記記録された印刷コマンドを読み出す処理を停止させる処理をさらにコンピュータにさらに行わせることを特徴とする記録媒体。
  3. プログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記プログラムは、
    印刷データから変換された印刷コマンドをメモリに記録する処理と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための処理と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする処理と、
    前記メモリ内での印刷コマンドの記録量を示す指標を求める処理と、
    前記指標が定められた第2の閾値以下である場合に、前記記録された印刷コマンドを読み出す処理を停止させる処理とをコンピュータに実行させることを特徴とする記録媒体。
  4. プログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記プログラムは、
    印刷データから変換された印刷コマンドをメモリに記録する処理と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための処理と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする処理と、
    印刷ジョブが同一ページを複数部印刷する指示を含む場合に、前記変換された印刷コマンドを、ジョブが終了するまで印刷コマンドを保持する性質を有するファイルに格納させる処理をコンピュータに実行させることを特徴とする記録媒体。
  5. 請求項4に記載の記録媒体において、
    前記プログラムは、
    前記印刷コマンドが、前記ファイルに格納しきれない場合に、格納しきれなかった印刷コマンドを、前記メモリに記録する処理をさらにコンピュータに実行させることを特徴とする記録媒体。
  6. 印刷コマンドの書込・送信を制御する印刷制御方法において、
    印刷データから変換された印刷コマンドをメモリに記録する処理と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための処理と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする処理と、
    前記メモリ内での印刷コマンドの記録量を示す指標を求める処理と、
    前記指標が定められた第1の閾値以上である場合に、前記印刷コマンドをメモリに記録する処理を停止させる処理とを行う印刷制御方法。
  7. 請求項6に記載の印刷制御方法において、
    前記指標が定められた第2の閾値以下である場合に、前記記録された印刷コマンドを読み出す処理を停止させる処理をさらに行う印刷制御方法。
  8. 印刷コマンドの書込・送信を制御する印刷制御方法において、
    印刷データから変換された印刷コマンドをメモリに記録する処理と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための処理と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする処理と、
    印刷ジョブが同一ページを複数部印刷する指示を含む場合に、前記変換された印刷コマンドを、ジョブが終了するまで印刷コマンドを保持する性質を有するファイルに格納させる処理を行う印刷制御方法。
  9. 請求項8に記載の印刷制御方法において、
    前記印刷コマンドが、前記ファイルに格納しきれない場合に、格納しきれなかった印刷コマンドを、前記メモリに記録する処理を行う印刷制御方法。
  10. 印刷コマンドの書込・送信を制御する印刷制御装置において、
    印刷データから変換された印刷コマンドをメモリに記録する手段と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための手段と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする手段と、
    前記メモリ内での印刷コマンドの記録量を示す指標を求める手段と、
    前記指標が定められた第1の閾値以上である場合に、前記印刷コマンドをメモリに記録する処理を停止させる手段とを有する印刷制御装置。
  11. 請求項10に記載の印刷制御装置において、
    前記指標が定められた第2の閾値以下である場合に、前記記録された印刷コマンドを読み出す処理を停止させる手段をさらに有する印刷制御装置。
  12. 印刷コマンドの書込・送信を制御する印刷制御装置において、
    印刷データから変換された印刷コマンドをメモリに記録する手段と、
    前記記録された印刷コマンドを読み出して、印刷装置に向けて送るための手段と、
    印刷コマンドが読み出されると、それが記憶されていた前記メモリの該当領域について書き込み可能とする手段と、
    印刷ジョブが同一ページを複数部印刷する指示を含む場合に、前記変換された印刷コマンドを、ジョブが終了するまで保持する性質を有するファイルに格納させる手段を有する印刷制御装置。
  13. 請求項12に記載の印刷制御装置において、
    前記印刷コマンドが、前記ファイルに格納しきれない場合に、格納しきれなかった印刷コマンドを、前記メモリに記録する手段をさらに有する印刷制御装置。
  14. 印刷データを所定の形式の印刷コマンドに変換し、当該変換された印刷コマンドを第1メモリに記録する変換・記録処理と、
    前記第1メモリに記録されている印刷コマンド量の第1メモリの容量に対する割合が、第1閾値以上の場合に、前記変換・記録処理を停止させる第1停止処理と、
    当該記録された印刷コマンドを読み出すとともに、当該読み出された印刷コマンドを第2メモリに記録する読出・記録処理と、
    第2メモリに記録された印刷コマンドを印刷装置に送信する送信処理と、
    前記第1メモリの前記印刷コマンドが読み出された領域を書込可能とする処理を行う解放処理と、
    前記第1メモリに記録されている印刷コマンド量の第1メモリの容量に対する割合が、第2閾値以下の場合に、前記読出・記録処理を停止させる第2停止処理と、
    前記第2メモリに記録されている印刷コマンド量の第2メモリの容量に対する割合が、第3閾値以上の場合に、前記読出・記録処理を停止させる第3停止処理と、
    をコンピュータに実行させるためのプログラムが記録されたコンピュータによって読取可能な記録媒体。
  15. 印刷データを所定の形式の印刷コマンドに変換し、当該変換された印刷コマンドを第1メモリに記録する変換・記録工程と、
    前記第1メモリに記録されている印刷コマンド量の第1メモリの容量に対する割合が、第1閾値以上の場合に、前記変換・記録工程を停止させる第1停止工程と、
    当該記録された印刷コマンドを読み出すとともに、当該読み出された印刷コマンドを第2メモリに記録する読出・記録工程と、
    第2メモリに記録された印刷コマンドを印刷装置に送信する送信工程と、
    前記第1メモリの前記印刷コマンドが読み出された領域を書込可能とする処理を行う解放工程と、
    前記第1メモリに記録されている印刷コマンド量の第1メモリの容量に対する割合が、第2閾値以下の場合に、前記読出・記録工程を停止させる第2停止工程と、
    前記第2メモリに記録されている印刷コマンド量の第2メモリの容量に対する割合が、第3閾値以上の場合に、前記読出・記録工程を停止させる第3停止工程と、
    を備えている印刷制御方法。
  16. 印刷データを所定の形式の印刷コマンドに変換し、当該変換された印刷コマンドを第1メモリに記録する変換・記録手段と、
    前記第1メモリに記録されている印刷コマンド量の第1メモリの容量に対する割合が、第1閾値以上の場合に、前記変換・記録手段を停止させる第1停止手段と、
    当該記録された印刷コマンドを読み出すとともに、当該読み出された印刷コマンドを第2メモリに記録する読出・記録手段と、
    第2メモリに記録された印刷コマンドを印刷装置に送信する送信手段と、
    前記第1メモリの前記印刷コマンドが読み出された領域を書込可能とする処理を行う解放手段と、
    前記第1メモリに記録されている印刷コマンド量の第1メモリの容量に対する割合が、第2閾値以下の場合に、前記読出・記録手段を停止させる第2停止手段と、
    前記第2メモリに記録されている印刷コマンド量の第2メモリの容量に対する割合が、第3閾値以上の場合に、前記読出・記録手段を停止させる第3停止手段と、
    を備えている印刷制御装置。
JP2000086725A 1999-04-08 2000-03-27 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体 Expired - Fee Related JP3575382B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000086725A JP3575382B2 (ja) 1999-04-08 2000-03-27 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体
EP00302901A EP1043651A3 (en) 1999-04-08 2000-04-06 Printing control method, printing control apparatus for producing/transmitting print command, computer program of printing control, and recording medium for recording computer program
US09/546,189 US6906821B1 (en) 1999-04-08 2000-04-10 Printing control method, printing control apparatus for producing/transmitting print command, computer program of printing control, and recording medium for recording computer program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP11-101774 1999-04-08
JP10177499 1999-04-08
JP10177399 1999-04-08
JP11-101773 1999-04-08
JP2000086725A JP3575382B2 (ja) 1999-04-08 2000-03-27 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000353064A JP2000353064A (ja) 2000-12-19
JP3575382B2 true JP3575382B2 (ja) 2004-10-13

Family

ID=27309542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000086725A Expired - Fee Related JP3575382B2 (ja) 1999-04-08 2000-03-27 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US6906821B1 (ja)
EP (1) EP1043651A3 (ja)
JP (1) JP3575382B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7911638B2 (en) * 2002-12-27 2011-03-22 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and image processing program
JP3774702B2 (ja) * 2003-02-12 2006-05-17 キヤノン株式会社 印刷制御プログラム及び情報処理装置
US20040246525A1 (en) * 2003-06-06 2004-12-09 Coca Pedro R. Printer memory
JP4827388B2 (ja) * 2003-07-31 2011-11-30 キヤノン株式会社 通信システム、情報処理装置、印刷制御方法、及びプログラム
US7808658B2 (en) 2005-06-30 2010-10-05 Brother Kogyo Kabushiki Kaisha Printing system and printing apparatus
US7455378B2 (en) * 2006-03-16 2008-11-25 Eastman Kodak Company Printer control system and method for changing print mask height
JP4887516B2 (ja) * 2006-11-21 2012-02-29 日本電産サンキョー株式会社 磁気インク文字認識方法及び磁気文字認識装置
JP4561883B2 (ja) * 2008-06-19 2010-10-13 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム及び画像形成処理方法
DE102014111463B4 (de) * 2014-08-12 2017-02-09 Océ Printing Systems GmbH & Co. KG Verfahren und Vorrichtung zum automatischen Einfügen von Andruckbögen in laufende Druckapplikationen bei digitalen Drucksystemen

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710886A (en) * 1984-10-24 1987-12-01 International Business Machines Corporation Table driven print formatting
JP3167844B2 (ja) 1993-10-08 2001-05-21 テルモ株式会社 固体レーザ装置
US5524186A (en) * 1994-05-31 1996-06-04 Hewlett-Packard Company Method and apparatus for preventing print overruns by pre-rasterizing and storing complex page strips in supplemental printer memory
JP3336800B2 (ja) 1995-02-28 2002-10-21 富士ゼロックス株式会社 画像処理装置
JP3792823B2 (ja) 1997-02-28 2006-07-05 キヤノン株式会社 印刷装置及び印刷制御装置

Also Published As

Publication number Publication date
US6906821B1 (en) 2005-06-14
EP1043651A3 (en) 2002-05-29
JP2000353064A (ja) 2000-12-19
EP1043651A2 (en) 2000-10-11

Similar Documents

Publication Publication Date Title
JP3575382B2 (ja) 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体
JP3588005B2 (ja) 印刷システムにおける印刷方法
US6552816B1 (en) Printing system and printer
US20080198404A1 (en) Image forming apparatus and print control method used therein
JP5181911B2 (ja) 画像形成装置、メモリ管理方法、及びメモリ管理プログラム
JP5340058B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2000353063A (ja) 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、および、そのためのプログラムを記録した記録媒体
EP1035467B1 (en) Printer and printer data processing method
JP3483395B2 (ja) 画像データ転送方法及び画像転送システム
JP3173721B2 (ja) プリンタ及びその動作方法
JPS63182150A (ja) レ−ザプリンタ制御装置
JP3239703B2 (ja) データ転送システム、データ処理装置、及びプリンタ、並びにデータ転送方法
JP2002019212A (ja) プリンタ
US20060268289A1 (en) Multi image forming method and system using job retention functions
JP4035304B2 (ja) デジタル情報出力システム
JP6607066B2 (ja) 画像形成装置及び画像形成方法
JP2000322210A (ja) プリンタ制御方法
JP3121183B2 (ja) プリンタ制御装置
JP2005231374A (ja) プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
JP3029025B2 (ja) 電子写真プリンタ
JP3414285B2 (ja) データ登録装置およびデータ登録用プログラムを記憶した記憶媒体
JP2001320561A (ja) 画像処理装置
JPH06217106A (ja) 画像処理方法及び装置
JP5712676B2 (ja) 画像処理装置、画像処理システム、及び画像処理プログラム
JP3527717B2 (ja) タンデム印刷システム

Legal Events

Date Code Title Description
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: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100716

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees