JPH06266514A - 資源向きプリンタ装置及び作動方法 - Google Patents

資源向きプリンタ装置及び作動方法

Info

Publication number
JPH06266514A
JPH06266514A JP22202393A JP22202393A JPH06266514A JP H06266514 A JPH06266514 A JP H06266514A JP 22202393 A JP22202393 A JP 22202393A JP 22202393 A JP22202393 A JP 22202393A JP H06266514 A JPH06266514 A JP H06266514A
Authority
JP
Japan
Prior art keywords
resource
resources
printer
primitives
document
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.)
Granted
Application number
JP22202393A
Other languages
English (en)
Other versions
JP3811192B2 (ja
Inventor
V Dennis Stephen
ヴィ デニス スティーヴン
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JPH06266514A publication Critical patent/JPH06266514A/ja
Application granted granted Critical
Publication of JP3811192B2 publication Critical patent/JP3811192B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/1296Printer job scheduling or printer resource handling
    • 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/1211Improving printing performance
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1822Analysing the received data before processing
    • G06K15/1823Analysing the received data before processing for evaluating the resources needed, e.g. rasterizing time, ink, paper stock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1859Generation of the printable image characterized by its workflow involving data processing distributed amongst different data processing apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1865Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by compressing the rasterized print data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 プリンタの計算能力の利点を活用し、ホスト
コンピュータとプリンタ間の自由な通信を許容する。 【構成】 資源アセンブラ208は、プリンタ218が
描写プリミティブを実時間でピットマップデータファイ
ルに変換できるか否かを決定し、もしできなければ資源
アセンブラが変換する。負荷平衡技術を使用して、プリ
ンタまたはホストコンピュータの何れが文書の部分を処
理すべきがを決定する。資源アセンブラは資源間の従属
性を明示し、これにより資源ローダ214に先見能力が
与えられ、資源ローダは将来使用される特定の資源をプ
リンタ資源記憶装置内に保持するか否かを効率的に決定
する。資源アセンブラは資源として絵文字集合を単一の
資源として能動的に管理する。資源スケジューラは文書
の特定ページに必要な全ての資源がプリンタ資源記憶装
置内に存在することを決定し、全ての資源がプリンタ資
源記憶装置内に存在する時に資源実行をトリガする実行
信号を生成する。

Description

【発明の詳細な説明】
【産業上の利用分野】本発明はコンピュータシステムを
用いて印刷する装置及び方法に関する。
【従来の技術】コンピュータシステムは大量のデータを
コンパイルし、処理するために高度に有用である。近代
的なコンピュータシステムは図形画像を表示及び印刷可
能ならしめるグラフィックス能力を含むことが多い。本
文のページ及び図形画像の両者または何れか一方を印刷
するには、データをホストコンピュータが使用している
フォーマットから選択された特定のプリンタが使用して
いるフォーマットへ変換する必要がある。典型的には、
コンピュータデータはビットマップデータファイルに変
換され、このビットマップにおいては各ビットは印刷さ
れるページ上の1つのドットを表す。通常ビットマップ
はホストコンピュータ内で発生され、圧縮されたデータ
フォーマットでプリンタへ転送される。圧縮されたビッ
トマップはプリンタ内で復元されて印刷エンジンと、印
刷プロセスを制御する電子回路とに転送される。印刷エ
ンジンは、用紙の運動、トーナ、及び用紙を移動させる
機械的な駆動システムを制御するプリンタの一部であ
る。印刷エンジンはビットマップデータを受信し、それ
を適切な電圧に変換して印刷画像を作成する。印刷ペー
ジは絵素と呼ばれる個々のドットからなる。典型的なレ
ーザプリンタでは、インチ当たり300、600または
それ以上の絵素が存在することができる。通常各絵素
は、プリンタメモリ内の単一のデータビットによって表
される。レーザ印刷エンジンがある線を走査するにつれ
てその線に対応するデータビットが読出され、そのメモ
リ位置内に記憶されているデータビットの論理レベルに
依存してレーザビームはオン/オフされる。解像力が3
00絵素/インチである場合、あるページ全部のビット
マップデータファイルを記憶するにはプリンタは約1メ
ガバイトのメモリを必要とする。若干のレーザプリンタ
は大きいメモリを含んでおり、ページモードで作動す
る。これはプリンタがページ全体のデータをビットマッ
プ形状で記憶できることを意味する。ページ全体をビッ
トマップ形状で記憶するのに必要なメモリは大容量にな
るから、必要なメモリの量を減少させるために若干のプ
リンタはバンディング(banding)モードを使用
している。バンディングモード能力を有するプリンタ
は、印刷ページをバンドと称する複数の水平セグメント
に細分する。プリンタは一時に1つのバンドに関するビ
ットマップデータだけを受け入れるので、メモリに対す
る要求は低減される。プリンタは第1のバンドに関する
データを処理した後に限って第2のバンドに関するデー
タを受け入れることができる、等々のようになってい
る。例えば、もし印刷ページを4つのバンドに細分すれ
ば、プリンタはそのページの全ビットマップデータの1
/4だけを記憶すればよいのでメモリに対する要求も1
/4に低減される。コンピュータ・プリンタシステムの
設計は、2つの基本的な目的の達成を含んでいる。第1
の目的は装置独立性である。特定のホストコンピュータ
のシステム制約からプリンタを独立させるために、製造
業者及びプログラマはプリンタ駆動装置が汎用になるよ
うに設計を重ねてきた。もし真の装置独立性が得られれ
ば、ホストコンピュータはプリンタインタフェースにど
の型のプリンタが接続されているのかを知る必要はな
い。典型的にはホストコンピュータは、直列I/Oポー
トまたは並列I/Oポートのようなハードウエアインタ
フェースを通してプリンタシステムにデータを伝送す
る。従来のコンピュータ・プリンタシステムでは、接続
された特定のプリンタに対するホストの知識を最小に
し、それに代えてかなり要約されたデータストリームに
頼ることによって装置独立性を達成することを企図して
いる。その結果、データストリームの転送及び処理が不
十分なペースまで低速になり、処理能力が損なわれがち
である。例えば、ホストコンピュータはある文書の数ペ
ージのために必要な第1の文字フォントをダウンロード
することができる。特定の印刷タスクにおいて数文字だ
けしか必要としない場合であっても、典型的には従来の
コンピュータシステムは全フォントをダウンロードして
いる。第2のフォント集合(または第2のフォント集合
の一部)を必要とする場合には、ホストコンピュータは
第2の文字フォント全体をダウンロードする。第1のフ
ォント集合を必要とする爾後のページを印刷する時に使
用される第1のフォント集合を維持する余裕がプリンタ
メモリ内に存在している場合でも、その第1のフォント
集合が占めているメモリ空間内に第2のフォント集合が
書込まれる。プリンタ資源の現状をホストコンピュータ
に助言するためのプリンタからホストコンピュータへの
通信は存在していない。第2の目的は、印刷プロセスの
性能の最適化である。レーザプリンタは、単一のコンピ
ュータに接続され一時に1または2ページの用紙を処理
するような簡易なスタンドアローンプリンタから、多重
紙トレイとコンピュータ回路網に結合されている複雑な
紙経路とを有し、複数のユーザのために多くのページを
同時に処理するような精緻なプリンタまで多岐にわたっ
ている。コンピュータシステムはどの型のプリンタとも
効率的に動作できるものでなければならない。不幸に
も、これらの第1及び第2の目的は相反的である。汎用
両立性を得るための妥協の結果、コンピュータ・プリン
タシステムのデータ処理は極めて低速であることが多
い。更にホストコンピュータはそれに接続されているプ
リンタに関する若干の知識を有している。皮肉にも、こ
れら2つの目的を追求したために現在のコンピュータ・
プリンタシステムは両目的を達成し損なっているのであ
る。ホストコンピュータは、それに接続されているプリ
ンタの型を知っており、しかも“汎用”プリンタ駆動装
置方式は低速で、非効率的なシステムをもたらし、コン
ピュータ及びプリンタは有用なタスクを遂行することな
くページ誤り回復のような発生しないかも知れない競合
を解決するために貴重な計算時間を消費することが屡々
である。例えば従来のコンピュータ・プリンタシステム
は、ある印刷ページがレーザプリンタ上の最後のジャム
(jam)センサを通過するまでそのページ全体のビッ
トマップデータファイルを保持する。ページジャムが生
じた場合でもデータは使用可能でありページは迅速に再
印刷することができる。しかしながら印刷プロセス中に
用紙ジャムが発生することは比較的少ない。一旦印刷エ
ンジンがあるページの印刷を開始すると、そのページが
最後のジャムセンサを通過するためには約10秒を要す
る。プリンタメモリからのビットマップデータファイル
がクリアされ、次のページを処理するまで、各ページが
最後のジャムセンサを通過するための余分な10秒を待
機することによって、総合印刷プロセスはかなり低速に
なる。従来のシステムはページ記述中の任意時点に用紙
サイズの選択を行うために、ページ全体が記述されてし
まうまで印刷エンジンへの紙送りをも遅延させる。例え
ばホストコンピュータはページ全体の記述を転送するこ
とができ、最終記述ラインは欧字サイズの用紙を選択す
ることができる。もしユーザがページ記述の始めに用紙
サイズを選択することを要求すれば紙送りを遅延させる
必要はない。もしあれば、僅かな印刷タスクはこの要求
によって阻害される。一般的にユーザは印刷プロセスが
開始される前に用紙サイズ及び印刷モード(即ち、一方
向または双方向)を知っている。従って、従来のシステ
ムは不要なオプションを提供することによって貴重な時
間を消費していたことになる。現在使用されているプリ
ンタ言語は、ドントマトリクスプリンタで使用されるプ
リンタ言語から開発されたものである。ドットマトリク
スプリンタは未だに使用されてはいるが、レーザプリン
タが広範に使用され始め、成長しつつある。しかも、低
速のドットマトリクスプリンタ向きのプリンタ言語に僅
かな変更を施すことによって、プリンタ言語を増加しつ
つあるレーザプリンタの使用に対処するように企図され
てきた。この進展的な方策は、レーザプリンタにおいて
利用できる潜在的な計算能力の長所を採り入れてはいな
い。プリンタハードウエアが単純な“無言(dum
b)”プリンタからマイクロプロセッサによって制御さ
れる精緻なレーザプリンタまで進展したにも拘わらず、
従来のコンピュータ・プリンタシステムのシステムアー
キテクチャは殆ど変化していない。図1に示す典型的な
従来のコンピュータ・レーザプリンタシステムは、プリ
ンタ内にパーザとして知られる装置を有している。パー
ザはホストコンピュータからデータのバイトを受け、こ
れらのデータのバイトを字句単位(トークン)に編成す
る。これらの字句単位は有意味の語い文脈内に組合わさ
れたデータのストリームである。例えばあるデータスト
リームは、圧縮されたデータフォーマットで伝送される
2進ビットマップであることができる。通常2進データ
は、如何にデータを処理するかをパーザに指令する見出
し及び後書きを伴う。見出し/後書きはASCIIバイ
トで伝送され、これらの各バイトはパーザによって処理
されなければならない。パーザは全てのASCIIバイ
トを、一時に1バイトずつ受け入れ、処理しなければな
らない。その結果、パーザはコンピュータ・プリンタシ
ステムにおける効率的なデータ流れに対する隘路になっ
ている。パーザはプリンタが受信したデータの全てのバ
イトを処理し、プリンタ内のメモリ内に表示リストを作
成する。表示リストは、その対象がページ上の何処に位
置しているかによって分類される。表示リスト内のビッ
トマップは一般に非圧縮フォーマットで記憶される。本
文のような他の対象はかなり短命である。従ってそのペ
ージの周囲を巡って走る単一の、単純な矩形は一般的に
1メガバイトの記憶容量を必要とする。イメージャは表
示リストを印刷エンジンに適するビットマップデータフ
ァイルに変換する。このビットマップデータファイルは
フレームバッファ内に記憶され、印刷エンジンへ伝送さ
れる。従来のコンピュータ・プリンタシステムが非効率
的である別の領域は、ページを非効率的な順序で処理す
ることである。もしプリンタが双方向モード(ページの
両側に印刷)で動作していれば、プリンタ内のページが
辿る紙経路は、ページの側1の前にページの側2を印刷
することを要求する。しかしながら、従来のコンピュー
タ・プリンタシステムはページの側1を側2の前に処理
することを要求している。これは、ページの側1を完全
に処理し、ビットマップデータファイルとしてプリンタ
メモリ内に記憶させることを意味する。次いで、ページ
の側2が完全に処理されて印刷エンジンへ送られる。こ
れらの従来のシステムのフィロソフィは、最初に側1が
処理されるものとユーザが予測していることである。し
かしながら、実際にはユーザは、文書が完全に印刷され
た時にページが適切な順序でプリンタトレイ内に現れる
であろうことを期待しているに過ぎない。ページがプリ
ンタによって実際に印刷される順序以外の任意の順序で
ホストコンピュータがページを処理すべきであるとする
実質的な理由は存在しない。前述したように、従来のシ
ステムは近代的なレーザプリンタの利用可能な潜在的計
算能力を使用することにも失敗している。古い設計の無
言プリンタはデータバッファ及び印刷エンジンの域を殆
ど出ていなかった。データ処理は全てホストコンピュー
タによって行われ、プリンタはドットマトリクスデータ
を印刷していた。近代的なレーザプリンタはマイクロプ
ロセッサ制御であり、ホストコンピュータに匹敵するよ
うな計算能力を有している。未だに従来のシステムは、
プリンタがデータ処理を遂行する何等の能力をも持たな
い無言プリンタとしてプリンタを取り扱う傾向にある。
これは、部分的には、前述したように装置独立性を達成
しようとする企図に起因する。他の従来のシステムは、
実質的に全てのデータ処理に関する責をプリンタに負わ
せている。結果的には、ホストコンピュータとプリンタ
の混合された計算能力は効率的に使用されてはおらず、
総合印刷プロセスは非効率的なペースまで低速化されて
いる。装置独立性を達成し、全ての型のプリンタとの汎
用動作を達成する試みは、ホストコンピュータとプリン
タとが互いに効率的に通信しないために、潜在的な計算
能力が活用されず、資源が浪費されることから非効率的
な印刷プロセスをもたらしただけである。従って、ホス
トコンピュータとプリンタとの間に効率的な通信を許容
し、資源の利用を最大にするようなコンピュータ・プリ
ンタシステムに対する大きい要望が存在していることが
理解されよう。
【発明の概要】本発明のシステムは、文書を調べ、文書
を描写プリミティブ(renderprimitive
s)に翻訳し、同時に文書を適切に印刷するにはどの資
源が必要かを決定する資源アセンブラを含むホストコン
ピュータ・プリンタシステムの中に実現される。資源と
文書の部分との間の従属性はシステムの他の部分に知ら
される。資源ローダはこれらの従属性を使用して資源が
プリンタ資源記憶装置へロードされる、及びそれから解
放されるローディング及び解放シーケンスを決定する。
資源スケジューラは、資源のプリンタ資源記憶装置への
実際の転送のタイミングと、プリンタ資源記憶装置から
の削除を制御する。資源実行装置は、プリンタ資源記憶
装置内の資源を使用して描写プリミティブをビットマッ
プデータファイルに変換する。印刷エンジンはビットマ
ップデータファイルを実際のページを印刷するのに必要
な電圧に変換する。一実施例では、資源アセンブラは、
プリンタが描写プリミティブを実時間でビットマップデ
ータファイルに変換できるか否かを決定し、もしプリン
タが実時間で変換を遂行できなければ資源アセンブラが
描写プリミティブをビットマップデータファイルに変換
する。本発明は負荷平衡技術を使用して、プリンタまた
はホストコンピュータの何れが文書の部分を処理すべき
かを決定する。負荷平衡技術はページ毎に、またページ
の中においてさえ変化する動的なプロセスである。この
実施例の資源アセンブラは資源間の従属性を明示し、こ
れにより資源ローダに先見能力が与えられ、資源ローダ
は将来使用される特定の資源をプリンタ資源記憶装置内
に保持するか否かを効率的に決定する。資源アセンブラ
は資源として絵文字(glyph)集合絵文字集合は単
一の資源として能動的に管理される。資源スケジューラ
は文書の特定ページに必要な全ての資源がプリンタ資源
記憶装置内に存在することを決定し、全ての資源がプリ
ンタ資源記憶装置内に存在する時に資源実行をトリガす
る実行信号を生成する。別の実施例では、プリンタは双
方向通信チャネルを介してホストコンピュータと通信す
ることができる。この実施例では資源ローダをプリンタ
内に配置して、プリンタがそれ自体のメモリを管理でき
るようにしてある。プリンタはプリンタ資源記憶装置内
に存在する資源及びプリンタ資源記憶装置の使用可能な
メモリの量に関するステータス情報を通信することがで
きる。更にプリンタは印刷プロセスの効率を最大にする
ためにページを処理すべきシーケンスを指定する。双方
向通信を有するシステムでは誤り回復プロセスをプリン
タからホストコンピュータへ移動させることができる。
資源ローダは従属リストを使用して、誤りが発生した文
書の如何なる部分をも再印刷するのに必要な資源を要求
する。本発明はプリンタをページモードでも、またはバ
ンディングモードでも使用することができる。
【発明の概要】本発明はホストコンピュータ・プリンタ
対話に対して革命的な方策を取っている。本発明は、印
刷プロセスの印刷速度を劇的に増大させ、応用(アプリ
ケーション)時間を減少させるために、ホストコンピュ
ータとプリンタとの共働努力を許容する。応用時間への
戻りは、ホストコンピュータが印刷ジョブの処理を要求
し、そして印刷を開始させた応用プログラムへ戻る時間
である。多くの従来のコンピュータ・プリンタシステム
は、印刷ページではなくコンピュータコードを実行する
ように設計されている。つまり、プリンタはコードを受
信し、変換し、そして実行し、ページはコード実行の副
産物として印刷されるのである。従来の多くのシステム
は単一のページを印刷するために大量のコードを実行し
ている。前述したように、従来のシステムはホストコン
ピュータとプリンタとの間に実効的な対話を有していな
い。従って近代的なプリンタの精緻な計算能力は利用さ
れていない。それに対して本発明はプリンタの計算能力
の利点を活用し、ホストコンピュータとプリンタとの間
の自由な通信を許容するように設計されている。本発明
は、文書をより効率的に印刷するために互いに共働する
ことができる同一“システム”の2つの部分としてホス
トコンピュータ及びプリンタを見ている。ある文書を印
刷するために2つの文字フォント集合を必要とする上例
では、本発明のホストコンピュータは、プリンタが第1
のフォント集合を保持でき、従ってプリンタメモリ内に
第1のフォント集合を維持していることを知っている。
更に従来のホストコンピュータは典型的に処理中の現ペ
ージだけを見ており、将来第1のフォント集合を必要と
するか否か、またプリンタメモリ内に保持すべきか否か
を決定するために先見することがない。その結果従来の
ホストコンピュータはもし数ページを印刷するために必
要ならば、第1のフォント集合を繰り返してダウンロー
ドしなければならない(及びプロセス中に第2のフォン
ト集合を削除するかも知れない)。若干の従来のシステ
ムは粗雑な先見能力を有してはいるが、それは極めて制
限されたものでありメモリを効率的に利用するものでは
ないことを理解されたい。それに対して本発明のシステ
ムは、印刷タスクにおける先見によって第1のフォント
集合(または任意の他の資源)をプリンタメモリ内に保
持すべきか否かを決定し、また第1のフォント集合が最
早必要ではなくプリンタメモリから解放乃至は削除でき
る時点を決定する。更に本発明のシステムは、あるフォ
ント集合の一部分だけを必要とする場合に文字フォント
の部分集合を構成し、利用可能な資源の使用を最大にす
る。以上のように本発明は印刷に際して資源向きの方策
を取るのである。以下の説明はレーザプリンタの動作の
詳細に関するものであるが、本発明のシステム及び方法
はレーザ、感熱、インパクト、昇華、インクジェット等
々のような何等かのマーキング技術にも適用可能であ
る。資源とは、コンピュータ・プリンタシステム内にあ
ってメモリを占有する何等かのものであり、文書を印刷
するために必要なものである。文書は資源を使用して完
全に記述される。資源なる語の詳細に関しては後述す
る。本発明の原理によれば、目的は文書を迅速に印刷す
ること、及びホストコンピュータが最短時間で応用プロ
グラムに戻ることを許容することである。これは、シス
テムの各部分及び使用可能な資源がタスクを達成するた
めの要求をシステムの他の部分が容易に知ることができ
るように、ホストコンピュータとプリンタとの間に通信
を開くことを許容することによって達成される。ホスト
コンピュータ及びプリンタの計算能力及び使用可能なメ
モリを活用するので、全印刷プロセスは、部分的に、従
来のコンピュータ・プリンタシステムよりも高速であ
る。本発明は、一方向通信能力だけを有し且つプリンタ
が使用中であることを指示するためにプリンタからホス
トコンピュータまでのステータスラインを使用するコン
ピュータ・プリンタシステムと共に使用することができ
る。他のコンピュータまたはプリンタは双方向通信を有
しているが、本発明が要求するようなデータ転送速度で
は完全な双方向通信を支持することはできない。本発明
は双方向通信を確立することを企図するものであるが、
完全な双方向通信を効率的に支持することができない程
長い待ち時間のためにコンピュータまたはプリンタの何
れかが双方向通信を支持できなければ一方向通信に頼る
ことになろう。しかし、多くのコンピュータ・プリンタ
システムはホストコンピュータとプリンタとの間に完全
な双方向通信を有している。もしコンピュータ・プリン
タシステムが双方向能力を有していれば、本発明は誤り
回復能力が向上し、特定の印刷タスクに依存してプリン
タとホストコンピュータとの間で若干の機能を行き来さ
せる能力を有することになる。この“負荷平衡化”は、
コンピュータ・プリンタシステムの中で印刷タスクを最
も効率的に遂行できる部分によってタスクを処理させる
ことを許容するので印刷速度をかなり早めることができ
る。前述したように、資源とは文書を印刷するために必
要な実質的に何等かのものである。これには、文字フォ
ント集合、絵文字(glyph)集合、点テーブル、ブ
ラシ、ユーザが定義した図形画像、及びページ自体を記
述するデータが含まれる。“フォント集合”はタイムズ
・ローマン、ヘルベティカ、クーリエ等々のような特定
の文字書体を限定するASCII文字の集合であり、通
常はビットマップとして記憶される。若干のプリンタは
プリンタ内の読出し専用メモリ(ROM)集積回路内に
記憶されているフォント集合を有しており、他のコンピ
ュータ・プリンタシステムはホストコンピュータ内にビ
ットマップデータファイルとして記憶され必要に応じて
プリンタのランダムアクセスメモリ(RAM)ヘグウン
ロードされる“ソフトフォント”を使用している。ソフ
トフォントは、フォントが一般的にホストコンピュータ
内のディスクに頼り、従ってプリンタ内のメモリ空間を
恒久的に占めることがないからプリンタに大きい柔軟性
を与える。更に他のコンピュータ・プリンタシステムは
トゥルータイプ(True Type)フォントのよう
なフォント基準化技術を使用しており、これらのフォン
トはビットマップデータファイルとして記憶されること
はない。その代わりとして、これらのフォントは各フォ
ント型毎の文字の線及び曲線を定義する方程式の集合に
よって記述される。ホストコンピュータまたはプリンタ
はこれらの方程式を使用して任意のポイントサイズの特
定フォント文字を構成する。フォント基準化技術の利点
は、方程式の単一の集合を使用して全てのポイントサイ
ズのためのフォント型を記述できることであり、一方ビ
ットマップとして記憶されるフォントは単一のポイント
サイズのためだけにしか使用できない。例えば、タイム
ズ・ローマン4、タイムズ・ローマン4、タイムズ・ロ
ーマン8、及びタイムズ・ローマン10は4つの分離し
たフォントと見做され、各々は特定のフォントを記述す
るのに分離したビットマップデータファイルを必要とす
る。これに対してフォント基準化技術は全てのポイント
サイズのタイムズ・ローマン文字を記述する方程式の単
一の集合を有している。ホストコンピュータまたはプリ
ンタは方程式を適用し、方程式を選択されたポイントサ
イズに対して基準化するのでビットマップデータファイ
ルの複数の集合を必要としない。本発明はROMに記憶
されているフォント、ソフトフォント、またはフォント
基準化技術の何れかと共に働く。“絵文字集合”は、ホ
ストコンピュータ内に記憶されている所定の文字からな
ることがソフトフォントに類似している。しかし、これ
らの所定の文字は必ずしも完全な文字フォント集合であ
る必要はなく、またユーザが定義した文字、図形記号、
または種々の文字フォント集合からの異なる書体の組合
せを含むことができる点がフォント集合とは異なってい
る。例えば、絵文字集合は幾つかの異なるフォント集合
からの数字及び数学的記号、並びに若干のユーザが定義
した図形記号を含む方程式であることができる。特定の
絵文字集合は完全な文字集合を含む程度に十分に大きく
てよく、または単一の文字程度に小さくてもよい。絵文
字集合の別の例は、文書内に使用することができる所得
申告またはデータエントリ形状のような形状である。本
発明はこの形状を作成することができ、またそれを絵文
字集合として記憶する。もしこの形状を文書内に再度使
用するのであれば、その形状全部を絵文字集合として使
用することができる。若干の従来のシステムは絵文字集
合を制限された手法で使用している。従来のホストコン
ピュータは、プリンタへグウンロードするために文字フ
ォントの部分集合をアセンブルすることができる。もし
新しい文字が必要であれば従来のホストコンピュータは
必要とされる新しい文字だけをインクリメント的にダウ
ンロードし、それを既にダウンロードされている絵文字
集合に追加することができる。しかし、従来のシステム
は絵文字集合資源を能動的に管理することはない。従来
のシステムは一般的に、絵文字集合が将来必要とされる
ことには構わずに、新しいページの開始時に絵文字集合
をクリアする。これは、新しいページが絵文字集合を必
要とする場合には、従来のホストコンピュータに新しい
絵文字集合を構成させることになる。新たに構成された
絵文字集合は先行絵文字集合とは同一ではないかも知れ
ず、絵文字集合の周期的な再構成及びダウンロードは印
刷プロセスに余分な時間を消費させる。更に従来のシス
テムは、どの文字が絵文字集合内に存在しているかを指
示するために大量のデータを絵文字集合に付随させるこ
とを要求する。これとは対照的に、本発明は使用可能な
資源から絵文字集合を構成し、絵文字集合を単一の資源
として能動的に管理する。本明細書において使用してい
る“絵文字集合”という語は、フォントのような他の資
源の部分を構成している資源のことを言う。簡略化のた
めに、絵文字集合を資源と呼ぶことがある。本発明は絵
文字集合が所定のサイズに達するまで絵文字集合をアセ
ンブルするが、その絵文字集合を直ちにプリンタへ転送
することはない。アセンブルされた絵文字集合は必要に
応じてプリンタへ転送されるユニットとして取り扱わ
れ、最早必要としなくなった時にはユニットとしてプリ
ンタから削除される。従来のシステムで行われているよ
うに新しいページの開始時にプリンタメモリをクリアす
る方策は採らず、絵文字集合は、将来その絵文字集合が
必要であることに基づいて能動的に管理され、プリンタ
資源内の使用可能な空間内に記憶される。本発明の絵文
字集合は、どの文字が絵文字集合内にあるかを指示する
“内容のテーブル”として見出しをも含むが、一旦構成
された絵文字集合は変化することがないので、この見出
しのサイズは従来の見出しよりも遥かに小さい。“点テ
ーブル”は図形対象を定義するために使用される座標点
のテーブルである。例えば、矩形のような図形対象は4
つの角の座標によって定義することができる。同様に、
三次ベジェ(Bezier)曲線は4つの制御点によっ
て定義される。点テーブルはこれらの制御点の座標を記
憶する。ベジェ曲線を描写する場合にレーザプリンタで
より滑らかな曲線を印刷するために、プリンタの実際の
解像力を超える高解像力を使用して曲線描写プロセスを
遂行することが多い。曲線を描写するために計算された
線は、対象がプリンタで実際に印刷される時に分割され
るので、より滑らかに見える像が作成される。もし高解
像力計算が遂行されれば、点テーブルはベジェ曲線を描
写するために使用される全ての線セグメントの座標を含
む。点テーブルは、マウスまたは他の位置決め装置を使
用して描き、ディジタル化テーブル等を使用して座標を
入力することによってユーザが応用プログラム内に作成
することもできる。“ブラシ”は、矩形または円のよう
な図形対象の内部を埋めるのに典型的に使用される図形
パターンである。ブラシは図形対象の内部全体を埋める
ために繰り返される最小の繰り返しパターンである。例
えば円のような対象を作成する場合、ドロープリミティ
ブ(draw primitive)はプリンタに命令
して円を作成させ、特定の図形パターンを有する内部を
埋める。例えばクロスハッチパターンは一連の小さい
“x”形状で構成し、対象全体内を埋めるためにそれを
繰り返せばよい。本発明のシステムはプリンタ内に広く
使用されているブラシを記憶しており、ホストコンピュ
ータを使用して付加的な種々のブラシを作成する。印刷
ページを記述するデータは資源とも見做される。ホスト
コンピュータは、ワードプロセッサ、スプレッドシート
(spread sheet)、データベース等々のよ
うな応用プログラムによって作成することができるペー
ジの記述を含む。本発明はこのページ記述をドロープリ
ミティブに変換し、これらのドロープリミティブを文書
を印刷するために必要な他の資源と相互に関連付ける。
変換プロセスの詳細に関しては後述する。
【実施例】例示の目的から図2に機能ブロック線図で示
すように、本発明はコンピュータ・プリンタシステム2
00内に実現されている。従来技術のように、ホストコ
ンピュータ202は印刷すべき文書を含む応用プログラ
ム204を実行する。前述したように、資源は、ハード
ディスクメモリを含むことができるホストコンピュータ
メモリ212のようなホストコンピュータ202の種々
の領域内に記憶されている。種々の記憶領域は、総称的
に資源記憶領域206と呼ばれる。ホストコンピュータ
202は、文書を印刷するために使用可能な実質的に全
ての資源を含んでいる。ROM内に記憶されている若干
のフォント及び共通的に使用される資源は印刷タスクを
通してプリンタ内に記憶させることができる。資源アセ
ンブラ208は文書を調べて、その文書を印刷するため
に必要なのはどの資源かを決定する。文書を調べるにつ
れて資源アセンブラ208はその文書を印刷するために
必要な資源を選択し、その文書を印刷ページを記述する
ドロープリミティブの集合に変換する。選択された資源
及びドロープリミティブはホスト資源記憶装置210内
に記憶される。ホスト資源記憶装置210はホストコン
ピュータメモリ212の一部であっても、または任意の
他の適当な記憶位置であってもよい。資源アセンブラ2
08は、文書と、特定の文書を印刷するために必要な資
源の部分集合との間の従属性を定義する。資源アセンブ
ラ208はこの従属性情報を、ホストコンピュータ20
2に接続されているプリンタ218へ通信する。また資
源アセンブラ208は、その文書を印刷するために最も
効率的なシーケンスに関する情報と、プリンタ218内
に現在どの資源が存在しているかに関するステータス情
報とをプリンタ218から受信する。プリンタ218
は、ホスト資源記憶装置210からダウンロードされた
限定された数の資源を記憶する容量を有しているプリン
タ資源記憶装置220を含んでいる。プリンタ資源記憶
装置220はプリンタメモリ222の一部であっても、
または任意の他の適当な記憶位置であってもよい。図2
にホストコンピュータ202の一部として示してある資
源ローダ214は、資源アセンブラ208が作成した従
属性を使用してドロープリミティブを含む資源がプリン
タ資源記憶装置220へ転送される順序を決定する。ま
た資源ローダ214は新しい資源のための余地を作るた
めに資源をプリンタ資源記憶装置220から解放でき
る、または解放しなければならない順序をも決定する。
資源ローダ214によって転送されたドロープリミティ
ブは、指定された資源を使用すること、図形記号を作成
すること、図形対象を描くこと、英数字を印刷すること
等々をプリンタ218に命令する。プリンタ218内に
配置されているように示されている資源スケジューラ2
16は、代替としてホストコンピュータ202内に配置
してもよい。資源スケジューラ216は、プリンタ動作
のタイミング及び資源転送の実際のタイミングを制御す
る。また資源スケジューラ216は、プリンタ資源記憶
装置220からの資源の削除のタイミング、及びホスト
資源記憶装置210から特定の資源を転送することを要
求するタイミングをも制御する。文書の特定ページに必
要な全ての資源はプリンタ資源記憶装置220内に存在
すると、資源スケジューラ216は要求された資源の部
分集合がそのページを印刷するために使用可能であるこ
とを指示する実行信号を生成する。資源スケジューラ2
16から実行信号を受信すると資源実行装置224はド
ロープリミティブの命令に従って、プリンタ資源記憶装
置220からの資源を使用して現在処理中の文書ページ
のビットマップデータファイルを作成する。資源実行装
置224はこのビットマップデータファイルを印刷エン
ジン226へ転送し、印刷エンジン226は文書ページ
を印刷させる。上述した多くの資源ブロックの物理位置
は、本発明の動作にとって微妙(または臨界的)なもの
ではない。もしコンピュータ・プリンタシステム200
においてプリンタ218が多量の計算能力を有するレー
ザプリンタであれば、上述した全ての資源ブロックをプ
リンタ内に配置することが可能であり、それでも上述し
た本発明の諸面を利用することができる。例えば、資源
スケジューラ216は、上述したようにホストコンピュ
ータ202内にでも、またはプリンタ218内にでも配
置することができる。同様に、プリンタ資源記憶装置2
20を代替としてホストコンピュータ202内に配置し
て差し支えない。もしホストコンピュータ202がウイ
ンドウズ(Windows;商品名)のような環境内で
動作中であれば、プリンタ資源記憶装置220を背景内
で動作するデスプーラ(despooler)機能の一
部とし、応用プログラムを前景内で動作させることがで
きる。それでも、プリンタ資源記憶装置220は未だに
サイズが制限されており、またプリンタ資源記憶装置2
20がプリンタ218内に配置されているのと同一の手
法で動作するから本発明の原理が適用される。背景動作
は応用プログラムのパースペクティブから透明である。
従って、プリンタ資源記憶装置220の実際の位置は微
妙ではないのである。実際には、一般にホストコンピュ
ータ202はプリンタ218よりも大きい計算能力を有
している。従って上述した資源ブロックは、ホストコン
ピュータ202及びプリンタ218の各々の相対的な計
算能力と、ホストコンピュータとプリンタとの間の双方
向通信チャネルの利用率とに依存して、ホストコンピュ
ータ202またはプリンタ218に割当てられる。ホス
トコンピュータ202は、資源をホストコンピュータ2
02内の種々の位置またはプリンタ218内(ROMに
記憶されている文字フォントの場合)に記憶させる。例
えば、絵文字集合は資源アセンブラ208によってアセ
ンブルされ、ビットマップデータファイルとしてホスト
資源記憶装置210内に記憶される。コンピュータ・プ
リンタシステム200は、ホスト資源記憶装置210内
の種々の図形対象を表す点テーブルをも記憶する。点テ
ーブルは資源アセンブラ208によってホスト資源記憶
装置210内へロードされ、また資源アセンブラ208
は点テーブルを本発明が使用するデータフォーマットへ
変換する。他の場合には図形対象を記述するデータは応
用プログラムによって点テーブル以外のフォーマットで
記憶させることができる。資源アセンブラ208は適切
なデータフォーマットで点テーブルを作成し、作成した
点テーブルをホスト資源記憶装置210内に記憶させ
る。これに対してソフトフォント集合は、典型的にはデ
ータファイルとしてハードディスク(図示してない)上
に記憶される。もし特定のソフトフォント文字または絵
筆が必要であると資源アセンブラ208が決定すれば、
その資源はホスト資源記憶装置210内へロードされ
る。従来の、及び本発明のコンピュータ・プリンタシス
テム200では、応用プログラム204はホストコンピ
ュータメモリ212、またはハードディスク(図示して
ない)のような何等かの他の適当な記憶位置に存在する
ことができる文書記述を発生する。応用プログラムは、
1つの応用プログラムから別の応用プログラムへ変化す
ることができるページ記述言語(PDL)を使用して文
書を記憶する。従来のシステムでは、ホストコンピュー
タ内のアセンブラが、PDLを、描写プリミティブ(R
P)と総称することができるドロープリミティブの集合
に変換する。RPは英数字、図形対象、または両者の組
合せを含むことができる。若干の従来のシステムでは、
ホストコンピュータはRPをプリミティブリストの描写
と称されるプロセスで文書ページのビットマップデータ
ファイルに翻訳する。従来のホストコンピュータがプリ
ンタへ転送するのがビットマップデータである。従来の
他のホストコンピュータはRPをポストスクリプト(商
品名)またはPCL(商品名)のような中間レベル言語
に変換する。従来の若干のシステムは、資源アセンブラ
と類似の手法で機能するシステムの一部を実際に有して
いる。この従来のアセンブラはホストコンピュータ内に
あって、PDLをRPLに変換する。前述したパーザは
従来のシステムの第2の資源アセンブラとして動作し、
RPLを受信して中間データ構造を構成する。この中間
データ構造は中間レベル言語を対応するビットマップに
翻訳することが要求されよう。パーザはコードを処理す
るように設計されており、印刷ページを生成するように
は特別に設計されていない。対照的に本発明のコンピュ
ータ・プリンタシステム200は、典型的にはホストコ
ンピュータ202内に配置されている単一の資源アセン
ブラ208だけを使用している。資源アセンブラ208
は印刷ページを生成することだけに関与し、資源アセン
ブラが作成したコードは文書を効率的に印刷するように
設計されている。資源アセンブラ208は文書を調べて
PDLをRPLに変換し、文書を印刷するためにはどの
資源が必要かを決定する。資源アセンブラ208は選択
された資源を集め、それらを関連RPLと共にホスト資
源記憶装置210内に配置する。本発明は資源及びRP
Lを、特定のRPLを有する資源に関連付ける特定のフ
ォーマットでホスト資源記憶装置内に配置する必要をな
くしている。それどころか実際のデータ構造及びフォー
マットは、本発明の使用にとって重要なものではない。
本発明を適切に動作させるために当業者には公知の多く
の異なるフォーマットを受け入れることができる。資源
とRPLとの従属性及び位置を述べるリストが必要な全
てである。このリストは資源と関連RPLとを記憶した
位置を指示する一連のポインタの形状を取ることができ
る。後述するように、このリストは所定のRPL実行シ
ーケンスによって暗示することさえもできる。資源をホ
スト資源記憶装置210内に記憶させる時に、資源及び
RPLを含むデータファイルのサイズには何等の制約も
存在せず、または資源及びRPLが記憶されるシーケン
スにも何等の制約も存在しないからそれらは無制約であ
るものと考えられる。例えば、ある文書をユーザが作成
し、文書の始めの付近に図形チャートを含むように爾後
に編集することができる。この図形チャートを挿入する
ために応用プログラムが文書ファイル全部を再作成する
ことはない。そうではなく、応用プログラムは文書の終
わりに図形チャートを配置し、文書内の図形チャートを
挿入すべき点にポインタを挿入する。ポインタは図形チ
ャートの位置を指し示す。この普通の技術は逆方向ポイ
ンティングを使用する。即ち、文書内の挿入点は、図形
チャートが記憶されている文書ファイル内の後方の位置
を逆方向に指し示す。この技術を図3に図式的に示す。
図3に示す文書300はNページを有している。番号3
02で示す文書のページ2はフォント1 304を要求
し、一方文書300のページ3 306はビットマップ
308で表されている図形チャートを要求している。フ
ォント1 304及びビットマップ308は、それぞれ
フォント及びビットマップを要求している文書300内
のページ2 302及びページ3 306上の位置の後
に記憶されるものであることに注目されたい。データポ
インタ310及び312はそれぞれ、資源を要求してい
る位置304及び308を指し示している。文書は無制
約であるからコンピュータは文書全体へのアクセスを有
しており、上述した手法でポインタを使用することがで
きる。しかしながら、文書を印刷する時にプリンタはフ
ァイル全体への同時アクセスを有していないであろう。
従って、文書はプリンタ資源記憶装置220のサイズ制
約及び文書を記憶するシーケンスの両者によって制約を
受けているものと見做される。必要な資源は、それらを
実際に必要とする前にプリンタ内に存在していなければ
ならず、さもないとプリンタは遅延させられるか、また
は遂には特定のページを印刷することができなくなるか
も知れない。同じ文書300を制約された文書として示
してある図4に示してあるように、文書は制約された形
態にアセンブルしなければならない。要求されたフォン
ト316及びビットマップ318はページ2 320及
びページ3 322が実際に要求する前に文書内に現れ
ている。ポインタ324及び326は、文書300内の
資源が記憶されている位置を指し示す順方向ポインティ
ングである。このようにすると、文書の印刷が要求され
る前に資源は常に存在することになる。資源は必ずしも
文書の始めに位置する必要がないことに注意されたい。
特定の資源を要求している文書内の位置の前に資源が配
置されていることだけが必要なのである。例えば、図5
に制約された形態で示す文書300では、フォント1
316は資源を必要としている位置320の直前に配置
されている。ポインタ324は要求された資源の位置を
指し示している。同様にビットマップ318はそれを要
求している位置322の直前に位置しており、ポインタ
326は資源が要求されている位置を指示している。一
般的にホストコンピュータ202はプリンタ218より
も多くのメモリを有しているが、ホスト資源記憶装置2
10に割当てることができるホストコンピュータメモリ
212の量には制限が存在することに注意されたい。従
って、ホスト資源記憶装置210はコンピュータ上に記
憶されている全ての考え得る資源を含んではいない。そ
うではなく、ホスト資源記憶装置は特定の文書を印刷す
るために必要な資源及びその文書を記述するRPLだけ
を含むのである。文書の特定の部分が印刷されてしまう
と、文書のその特定の部分に必要であった資源はホスト
資源記憶装置210から削除される。若干の資源はある
文書に1回だけしか使用されず、文書のその部分の印刷
が完了すると直ちに削除されよう。屡々使用される絵文
字集合のような他の資源は、それが文書に必要でなくな
るまでホスト資源記憶装置210内に記憶される。ホス
トコンピュータ202は典型的にはプリンタ218より
も多くのメモリを有しているので、ホストコンピュータ
はホスト資源記憶装置210が使用するためにより多く
のホストコンピュータメモリ212を割当てることがで
きる。少ないメモリを有しているプリンタ218は、対
応する小さいプリンタ資源記憶装置220を有してい
る。プリンタ資源記憶装置220は、ホスト資源記憶装
置210が含んでいる資源の集合全体を保持するには不
十分な大きさである。従ってプリンタ218が資源を必
要とする場合には、ホスト資源記憶装置210からプリ
ンタ資源記憶装置220へダウンロードしなければなら
ない。プリンタ218はプリンタ資源記憶装置220内
において資源を効率的に使用し、不必要になった資源を
削除し、またはホスト資源記憶装置210から迅速に再
ロードできるようにしなければならない。以上のよう
に、ホスト資源記憶装置210は文書を印刷するために
必要な資源を1回だけロードされるのに対して、プリン
タ資源記憶装置220は文書印刷中に多数回資源をダウ
ンロードされ、解放する。資源の最も効率的な使用を決
定するために、本発明のコンピュータ・プリンタシステ
ム200は文書全体を調べて、如何にして資源を最も効
率的な手法で割当てるかを決定する。再度図2を参照し
てコンピュータ・プリンタシステム200の動作の詳細
を説明する。資源アセンブラ208はPDLをRPLの
集合に変換し、その印刷タスクにとってどの資源が必要
かを決定する。印刷タスクが開始されると、資源アセン
ブラ208は印刷される表面を記述するデータの第1の
バンド(もしプリンタ218がバンディングモードで動
作中であれば)、またはページ(もしプリンタ218が
ページモードで動作中であれば)を調べ始める。この応
用の目的のために、処理中の文書のユニットサイズ、即
ちバンドかページかをデータブロックと呼ぶ。資源アセ
ンブラ208は、資源記憶領域206から文書を印刷す
るために必要であろう資源を選択する。また資源アセン
ブラ208は、特定のデータブロックに対するこれらの
資源の従属性をも決定する。例えば資源アセンブラ20
8は、第1ページ上の数式に関しては特定のフォント型
が必要であり、残余のページに関しては別のフォント型
が必要であることを決定することができる。更に点テー
ブル及び絵筆のような若干の図形資源を必要とするグラ
フをそのページ上に印刷することもできる。資源アセン
ブラ208は、従属性と、これらの資源を要求している
データブロックとを明示的に述べるリストを作成する。
このリストは、リストの形状である必要がないことに注
目されたい。前述したように、このリストはメモリ位置
を指し示すポインタの形状であっても、または資源アセ
ンブラ208がRPLを作成するシーケンスによって暗
示的に定義されるものであってさえよい。例えば、もし
プログラマが第1のRPLを作成し、直ちに実行するプ
ログラムを書くものとすれば、ホスト資源記憶装置21
0内で作成され、記憶される表現されたリストは存在し
ない。しかしながら、RPL内でタスクが作成される順
序によって指定される暗示リストが存在する。本発明の
効率的な動作のために重要なものは、資源アセンブラ2
08が従属性を決定し、他の資源ブロックにこれらの従
属性を知らせることである。資源アセンブラ208が指
定する従属性には2つの異なる型がある。第1の型の従
属性は、上述したように要求された資源を特定のデータ
ブロックに関係付けるオペランド従属性である。第2の
型の従属性は、RPLを処理するシーケンスを指定する
実行従属性である。若干の従来システムは、それらが文
書を印刷する時に実行従属性を満足させることができな
い。例えば若干の従来システムは、本文を図形から分離
し、両者を独立的に処理する。従って印刷ページは、ユ
ーザが表示画面上で見ているものではないかも知れな
い。従って従来システムは、必ずしも“貴方が見ている
ものは貴方が入手しているものである”(WYSIWY
G)をもたらすとは限らない。これに対してコンピュー
タ・プリンタシステム200は、システムがデータブロ
ックを本文部分と図形部分とに分割するのではなくデー
タブロック全体を処理するから、上述したように、たと
えそれらがRPLのシーケンス内に暗示されているとし
ても常に実行従属性を満足する。もしプリンタ218と
ホストコンピュータ202との間に双方向通信が存在し
ていれば、若干の実行従属性をプリンタ218によって
指定することができる。詳細を後述するようにプリンタ
218は、印刷プロセスの効率を最大にするためにデー
タのページまたはバンドを処理すべき順序を指定するこ
とができる。もし実行従属性がプリンタ218によって
指定されれば、資源アセンブラ208がこれらの従属性
をコンパイルする。もしデータブロック内に維持しなけ
ればならない特定の描き順序が存在すれば、資源アセン
ブラ208はそれ自体の実行従属性を生成することもで
きる。例えばプリンタ218は、最初に文書のページ2
を処理し、ページ2を下から上へ処理することを資源ア
センブラ208に命令することができる。これはプリン
タ218によって指定される実行従属性である。しかし
もしページ2上に重なり合った図形対象が存在すれば、
印刷ページに意図したように重なった対象が現れるよう
にこれらの対象の描き順序を指定しなければならない。
以上のように、資源アセンブラ208はオペランド従属
性及び全ての実行従属性(資源アセンブラ208によっ
て指定されていようとも、またはプリンタ218によっ
て指定されていようとも)の両者を述べるリストを作成
する。前述したように、若干の従属性に関するリストは
バンドまたはページ内のドロープリミティブのシーケン
ス内に暗示することができる。例えばコンピュータ・プ
リンタシステム200は常に第1 RPLを先ず実行す
ることによって明示的に述べてはならない実行従属性を
作成する。特に、精緻なプリンタ及び双方向通信を使用
して最大の効率を得るために、コンピュータ・プリンタ
システム200の現在では好ましい実施例は暗示従属性
を使用しない。それはこれらがタスクのシーケンスの効
率を低下させるように、実行を不要に制限し得るからで
ある。暗示従属性を使用する上例は、本発明の広い原理
を使用すればコンピュータ・プリンタシステム200の
全ての発明的な面の使用を必要とせずに印刷プロセスの
総合効率を改善できることを示すために説明したに過ぎ
ない。現在では好ましい実施例では資源アセンブラ20
8は、資源ローダ214、資源スケジューラ216、及
びプリンタ218を含むシステムの他の成分へ従属性を
明示的に通信する。もしコンピュータ・プリンタシステ
ム200が双方向通信能力を有していればプリンタ21
8はプリンタ資源記憶装置220の現ステータスに関す
る情報を資源アセンブラ208へ送ることができる。こ
のステータス情報は、どの資源がプリンタ資源記憶装置
220内に既に存在しているか、及びプリンタ資源記憶
装置220内にどれ程多くの使用可能な空間が存在して
いるかを含む。更に、プリンタは文書を印刷するために
最も効率的なシーケンスに関して資源アセンブラ208
に命令する。これは、双方向化能力を有し、且つ複数の
用紙トレイから印刷することができる大きい精緻なレー
ザプリンタにおける重要なプロセスである。これらのプ
リンタでは、10シート程度の用紙が同時に印刷エンジ
ンを通って移動することができる。紙シートの両側に印
刷される(双方向モード)ページは用紙の一方の側では
上から下へ、そして用紙の他方の側では下から上へ処理
される。ページサイズが異なれば印刷エンジンの時間長
は異なる。ランドスケープ(landscape)モー
ドのようなモードは他のモードより長い印刷エンジン処
理時間を必要としよう。精緻なレーザプリンタの印刷エ
ンジンの内部では複数のページを互いに実際に移動させ
ることができる。その結果、ページを処理するための最
も効率的なシーケンスはページの数字順(即ち、ページ
1、2、3、・・・)ではないかも知れない。本発明の
コンピュータ・プリンタシステム200は、プリンタ2
18が文書を印刷するための最も効率的なシーケンスを
決定すること、及びその情報を資源アセンブラ208へ
通信することを許容する。一方向通信だけを有するシス
テムでは、プリンタ218はステータス情報または印刷
シーケンス命令を通信することはできない。しかしそれ
でも資源アセンブラ208は明示従属性をプリンタ21
8へ通信するので、プリンタ218はプリンタ資源記憶
装置220から資源を削除できる時点を知る。もし一方
向通信だけしか使用できなくてもホストコンピュータ2
02が一方向モードでプリンタメモリ222を管理する
ので資源アセンブラ208はプリンタ資源記憶装置22
0のステータスを知ることができる。以上のように資源
アセンブラ208は、印刷タスクの開始時にどの資源が
既にプリンタ資源記憶装置220内に存在しているかを
知る。前述したように、資源実行装置224は典型的に
RPLを、印刷エンジン226によって印刷されるビッ
トマップデータに変換する。一旦印刷エンジン226が
始動するとそれはそのページの印刷を停止することがで
きず、停止させれば誤りが発生しよう。従って一旦印刷
エンジンに委託してしまうと、RPLを実時間でビット
マップデータに変換するか、または予めビットマップデ
ータに変換しておかなければならない。勿論、ドットマ
トリクスプリンタ及びインクジェットプリンタのような
若干のプリンタは誤りを発生することなくページの途中
で停止させることができる。プリンタ資源記憶装置22
0の現ステータス及びプリンタ218の総合処理能力を
知って資源アセンブラ208は各データブロックを調
べ、印刷エンジン226が走っている間にプリンタ21
8がそのデータブロックに関するRPLを実時間でビッ
トマップデータに変換できるか否かを決定する。もしプ
リンタ218がそのデータブロックに関するRPLを実
時間でビットマップデータに変換することができなけれ
ば、資源アセンブラ208はホストコンピュータ202
に命令してRPLをビットマップに処理させ、そのビッ
トマップをプリンタ218へ転送させる。代替として、
もしプリンタメモリ222がそのページ全体に関するビ
ットマップデータファイルを記憶するのに十分な容量を
有していれば、資源アセンブラ208はプリンタ218
に命令してRPLをビットマップデータファイルに変換
させ、印刷エンジン226に委託するまでそのビットマ
ップをプリンタメモリ222内に記憶させる。コンピュ
ータ・プリンタシステム200のどの部分がRPLをビ
ットマップに変換するかに関する決定は、変換タスクの
相対的な複雑さと、システムの各部内のプロセッサの相
対的な処理能力とに依存する。現在好ましい実施例で
は、資源アセンブラ208はコンピュータ・プリンタシ
ステム200のどの部分がデータを処理するのかを決定
する上で3つの要因を考慮する。これらの要因とは、 1.ホストコンピュータ202がRPLをビットマップ
データに処理するのに要する時間長、 2.プリンタ208がRPLをビットマップデータに処
理するのに要する時間長、及び 3.通信チャネルがRPLまたはビットマップデータを
転送するために要する時間長 である。換言すれば、資源アセンブラ208は特定のデ
ータブロックに関するRPLをビットマップデータファ
イルに処理するのに要する時間+通信チャネルがビット
マップデータファイルをプリンタ218へ転迭するのに
要する時間長を計算し、それと通信チャネルがRPLを
プリンタ218へ転送するのに要する時間長+プリンタ
218がRPLをビットマップデータに処理するのに要
する時間長とを比較する。コンピュータ・プリンタシス
テム200は、データ処理をホストコンピュータ202
とプリンタ218との間で行き来するように移動させる
ことによって負荷の平衡化をも遂行する。資源アセンブ
ラ208は、システムのどの部分がデータブロックを最
も効率的に処理できるかに依存して、データブロックの
処理のためにホストコンピュータ202またはプリンタ
218を選択する。例えば、もし特定のタスクがページ
上に多数の線を描くことを要求し、ホストコンピュータ
のプロセッサがプリンタのプロセッサの2倍の速さであ
れば、多分ホストコンピュータ202がデータを処理す
ることを命令されよう。一方、もし変換が比較的簡単で
あり、プリンタ218がビットマップを記憶するメモリ
容量を有していればプリンタのプロセッサがデータの処
理を命令され、ホストコンピュータのプロセッサは次の
データブロックを自由に処理できる。この計算はデータ
ブロック毎に変化できる動的なプロセスであることに注
目されたい。総合的な目的は、最も効率的な手法で文書
を生成することである。本発明のコンピュータ・プリン
タシステム200は、ホストコンピュータ202及びプ
リンタ218の両方の潜在的な計算能力を使用すること
によってこれを許容する。負荷の平衡化はホストコンピ
ュータ202及びプリンタ218の相対的な計算能力、
データ通信チャネルの速度、ホスト資源記憶装置210
及びプリンタ資源記憶装置220の相対的なサイズ、印
刷タスクの複雑さ、及びホストコンピュータ202及び
プリンタ218が現在遂行中のタスクのような種々のパ
ラメタに基づいている。前述したように負荷平衡化は動
的プロセスであって、資源アセンブラ208は上述した
パラメタに基づいて文書の若干のページをホストコンピ
ュータ202に割当て、他のページをプリンタ218に
割当てて処理させるることができる。負荷平衡化は、単
一のページ内でデータ処理責務をホストコンピュータ2
02とプリンタ218との間で移動させることさえも可
能である。同一ページを処理するコンピュータ・プリン
タシステム200の異なる部分の例は、文書の特定のペ
ージが2つの重なり合った円のような図形対象を含む場
合に生じ得る。プリンタが現在印刷していなければ、資
源アセンブラ208は第1の円のPDL記述をプリンタ
218へ送ることができる。従ってプリンタ218はP
DLを第1の円に翻訳するために時間を使う。ホストコ
ンピュータ202はプリンタ218よりも大きい計算能
力を有しており、またプリンタは第1の円を翻訳するた
めに既に多忙であるので、ホストコンピュータ202は
第2の円に関するPDLを翻訳することができる。以上
のように、資源アセンブラ208はデータ処理責務をホ
ストコンピュータ202とプリンタ218との間で負荷
平衡させるために使用される。前述したように文書の特
定のデータブロックのために必要な資源は、その特定の
データブロックのための特定の資源に関するコンピュー
タ・プリンタシステム200内の従属性を作成する。こ
れらの従属性はデータブロック毎に変化することができ
る。資源アセンブラ208はこれらの従属性を明示的に
述べて、どの資源が特定のデータブロックのために必要
であるかをプリンタ218に知らせる。従ってプリンタ
は必要な資源を各データブロックに関係付ける一種の資
源の“メニュー”を有している。データブロックと資源
との間の明示従属性が得られているために、双方向通信
を使用してプリンタ218はそれ自体のメモリを管理す
ることができる。プリンタ218は明示従属性のメニュ
ーを使用し、プリンタ資源記憶装置220の効率を最大
にするような手法で、ホスト資源記憶装置210に資源
を要求する。例えば、明示従属性は1つのデータブロッ
クが特定のフォント集合と特定の絵文字集合とを要求し
ていること、及び次のデータブロックが同一のフォント
集合ではあるが異なる絵文字集合を要求していることを
述べることができる。プリンタ218は一時にこれら3
つの資源(フォント集合及び2つの絵文字集合)の全て
をプリンタ資源記憶装置220内に保持することができ
るかも知れない。従ってプリンタ218はこれら3つの
資源の全てを要求する。資源管理のより因難な面は、ど
の資源をプリンタ資源記憶装置220から削除すべきか
を決定することである。もし特定のデータブロックを印
刷するためにプリンタ資源記憶装置220から他の資源
を削除しなければならない程大きい資源を必要とすれ
ば、プリンタ218はどの資源(1または複数)をプリ
ンタ資源記憶装置220から削除するか、また要求され
た資源を将来のデータブロックのためにホストコンピュ
ータ202から何時戻すかを決定することができる。更
に、もし誤り復元が要求されていれば、プリンタ218
は失われたページを復元するためにはどの資源が必要で
あるかを知り、もし必要な資源が既にプリンタ資源記憶
装置220から削除されていればその必要な資源をホス
トコンピュータ202に要求することができる。以上の
説明は、ホストコンピュータ202とプリンタ218と
の間に双方向通信が存在している場合に適用できる。も
し一方向通信だけしか使用できなければプリンタメモリ
222はホストコンピュータ202によって管理され
る。この場合ホストコンピュータ202は、資源がプリ
ンタ資源記憶装置220内へロードされる、またはプリ
ンタ資源記憶装置220から削除されるシーケンス、及
び資源をロード及び削除する時点を決定する。たとえ一
方向通信でプリンタ218がそれ自体のメモリを管理で
きないとしても、パーザを排除し、資源アセンブラ20
8及びホスト及びプリンタ資源記憶装置210及び22
0のようなコンピュータ・プリンタシステム200の部
分が付加されているので、本発明は従来技術に対して性
能の改造を提供する。本発明のコンピュータ・プリンタ
システム200では、資源は文書全体の印刷途中に複数
回プリンタ資源記憶装置へロードし、該装置から解放す
ることができる。どの資源がプリンタ資源記憶装置22
0内にあるべきかを決定するジョブは資源ローダ214
によって遂行され、詳細に関しては後述する。資源アセ
ンブラ208は資源ローダ214の数データブロック前
方の文書を調べて将来データブロックのための資源を生
成する。これは資源ローダ214が先見して資源の最も
効率的な割当てを決定することを許容する。若干の資源
は文書を通して多くのデータブロックが使用でき、従っ
て文書を通して従属性を有している。プリンタ資源記憶
装置220内の使用可能な空間に依存して、印刷プロセ
スを通してこれらの資源をプリンタ218内に保持する
ことがより効率的であるかも知れない。例えば第2の資
源は文書の中間で1回だけ必要であるかも知れない。こ
の場合、後刻プリンタ218が若干の他の資源を必要と
しなくなる時点まで第2の資源はロードされず、プリン
タ資源記憶装置220内のより多くのメモリが使用可能
である。第2の資源は一旦使用されるとプリンタ資源記
憶装置220から削除されて他の資源のための余地が作
られる。どれ程遠くを先見するかの決定は動的なプロセ
スである。例えば文書の開始時における目的は、印刷エ
ンジン226を始動させることである。従って、できる
だけ速やかにプリンタ218へ資源を転送するために資
源アセンブラ208の先見動作は制限される。しかし、
プリンタ218が第1のデータブロックを処理している
間は、資源アセンブラ208は将来データブロックを先
見し、ホスト資源記憶装置200のために資源を選択
し、そして将来ページのためにRPLを構成することが
できる。理想的には、資源アセンブラ208は何等かの
印刷が開始される前に文書全体を調べるために先見する
ことができる。しかしながら、印刷エンジン226を始
動させるという要望が、初期先見能力を制限する。他の
応用プログラムが走ることができるようにホストコンピ
ュータメモリ212の使用を最小にする要望も、資源ア
センブラ208が先見する能力を制限する。目的は印刷
エンジン226をできる限り効率的に動き続けさせるこ
とである。資源アセンブラ208が先見する実際のペー
ジ数は、文書の合計長、印刷エンジン226が処理中の
文書の現ページ、及び文書の複雑さのような要因に依存
する。資源アセンブラ208の先見能力は、プリンタ資
源記憶装置220への資源の流れを制御する資源ローダ
214の能力を向上させる。資源アセンブラ208の動
作の例として、本文の特定のページが5つの異なるフォ
ント集合とページを印刷するための点テーブル(ベジェ
曲線を描くための)を必要とするもとのとする。資源ア
センブラ208はページを調べて明示従属性のリストを
作成する。前述したように資源アセンブラ208は、こ
れらの従属性をコンピュータ・プリンタシステム200
の他の部分へ通信する。同時に資源アセンブラ208
は、必要な資源及びそのページを記述するRPLを含む
であろうホスト資源記憶装置210をアセンブルし始め
る。双方向モードでは、資源アセンブラ208はデータ
ブロックが処理されるシーケンスに関する情報をプリン
タ218から受信することに注意されたい。簡易化のた
めに、資源アセンブラ208がそのページのデータブロ
ックを上から下へ処理するものとする。もしプリンタ2
18がページモードで動作していれば単一のRPLが存
在し、もしプリンタ218がバンディングモードで動作
していれば各バンド毎に異なるRPLが存在するであろ
う。RPLは、そのページ上の特定点における文字の特
定シーケンスを印刷することをプリンタ218に告げる
フォーマットでデータブロック(ページまたはバンド)
を記述する。コンピュータ・プリンタシステム200は
この情報を使用して文字シーケンスの記述を構成し、こ
の記述をホスト資源記憶装置210内に記憶する。“記
述を構成する”の範囲は、ホストコンピュータ202内
の記憶位置からの文字シーケンスのビットマップをロー
ドすることから、フォント基準化技術を使用して方程式
の集合から文字シーケンスのビットマップを構成するま
でにわたっている。もしフォント集合全体を転送する方
がより効率的である程多くのあるフォントからの文字が
必要であれば、資源アセンブラ208はあるフォント全
体を記憶することができる。一方、もし制限された数の
文字だけが必要であれば、資源アセンブラ208は必要
な文字だけを記憶するために絵文字集合を開くことがで
きる。本例では、第1のフォント集合の全体を転送する
ことができる。第2のフォント集合から必要とされる文
字は方程式のための数字と数学記号だけであることがで
きる。資源アセンブラ208は方程式のための文字を記
憶するために絵文字集合を開く。ページの次の部分が制
限された数のイタリック文字(フォント番号3)を必要
とするならば、絵文字集合は開かれたままになる。絵文
字集合のサイズは動的に可変であることに注目された
い。例えば、印刷動作の始めにおける目的はできる限り
迅速に印刷エンジン226を働かせることである。この
目的のために、資源アセンブラ208は文書の第1のデ
ータブロックのために小さい絵文字集合を使用すること
ができるので、絵文字集合はできるだけ速やかにプリン
タ資源記憶装置220へ転送することができる。これ
は、働き続けさせる何かを印刷エンジン226に与えな
がら、資源アセンブラ208に爾後のデータブロックの
ための資源をアセンブルさせる。爾後の絵文字集合のサ
イズは一般に、プリンタ資源記憶装置220のサイズ、
及びホストコンピュータ202とプリンタ218との間
のデータ転送速度のようなパラメタによって決定され
る。資源アセンブラ208は、絵文字集合が所定のサイ
ズになるまで絵文字集合を開き続ける。前述したよう
に、絵文字集合は異なるフォント集合からの文字を含む
ことができる。反対に、同一のフォント集合からの文字
は、従属性故に異なる絵文字集合内に記憶することがで
きる。例えば上述した数式内に使用される文字の若干は
爾後のデータブロックにおいて印刷される第2の方程式
に使用することができる。第2の方程式は第2のフォン
ト集合からの付加的な文字と、第4及び第5のフォント
集合からの文字とをも使用するかも知れない。資源アセ
ンブラ208は、第2の方程式に必要な付加的な文字だ
けを含む第2の絵文字集合を構成することができる。資
源実行装置224がRPL及び資源をビットマップデー
タファイル内へ処理する時に、資源実行装置224は両
絵文字集合からの文字を使用して第2の方程式のための
ビットマップを構成する。絵文字集合を配置するための
RPLは、印刷ページ上の特定の位置にどの絵文字集合
及びどの文字を配置しつつあるかを識別するフォーマッ
トである。第2の方程式のためのRPLの例は以下のよ
うなシーケンスを有することができる。絵文字集合1、
文字1、絵文字集合1、文字2、絵文字集合1、文字
3、絵文字集合1、文字12、絵文字集合2、文字1、
絵文字集合2、文字2、絵文字集合1、文字17、絵文
字集合2、文字3、絵文字集合2、文字4、絵文字集合
2、文字4、絵文字集合2、文字5、絵文字集合2、文
字6、及び絵文字集合2、文字7、単一のRPL内に両
絵文字集合を使用すると、プリンタ資源記憶装置220
内に同時に両絵文字集合が得られることに注目された
い。もし第1の絵文字集合がプリンタ資源記憶装置22
0から削除されていれば、資源ローダ214は第1の絵
文字集合をホスト資源記憶装置210から再ロードしな
ければならないことを決定する。資源スケジューラ21
6は、プリンタ資源記憶装置220がオーバフローしな
いように、またプリンタ資源記憶装置ないの資源がタイ
ムリーな手法で使用可能となるように、要求のタイミン
グを制御する。従来のシステムはフォント全体をダウン
ロードし、プリンタメモリを管理することを企図してい
ない。これはメモリのオーバフローをもたらし得るが、
このようになると印刷タスクを完了させることはできな
い。上述したようにインクリメント的なダウンロードを
遂行できるシステムでさえ、グウンロードされたフォン
トを周期的にクリアすることを除いて、プリンタメモリ
を管理することを企図していない。対照的に、本発明の
コンピュータ・プリンタシステム200は、上述したよ
うに必要な文字だけをプリンタ資源記憶装置220へ転
送し、絵文字集合資源を能動的に管理するので、文字を
絵文字集合内へアセンブルすることによって時間及びプ
リンタメモリを節約する。従って、印刷プロセスの総合
効率が向上する。資源アセンブラ208の動作を要約す
れば、資源アセンブラ208は資源従属性を決定し、そ
の情報をコンピュータ・プリンタシステム200の他の
部分へ通信し、そして文書記述を最も効率的な手法で処
理する。資源アセンブラ208はデータブロックを記述
するRPLをも作成し、RPL及び資源をホスト資源記
憶装置210内に記憶する。資源ローダ214は、資源
がプリンタ資源記憶装置220内へロードされ、それか
ら解放されるシーケンスを決定する責を負う。資源ロー
ダ214は、資源アセンブラ208が決定したシステム
従属性へのアクセスを常に有しているので、最も効率的
な資源のローディング及び再ローディングのシーケンス
を決定することができる。資源ローダ214は、コンピ
ュータ・プリンタシステム200の通信能力に依存して
ホストコンピュータ202内に配置しても、またはプリ
ンタ218内に配置してもよい。もしホストコンピュー
タ202からプリンタ218までの一方向通信だけしか
存在しなければ、資源ローダ214は常にホストコンピ
ュータ202に頼ることになる。従ってプリンタメモリ
222はホストコンピュータ202によって管理され
る。しかしながら、もし双方向通信能力が存在していれ
ば、資源ローダ214をプリンタ218内に存在させる
ことができ、プリンタはそれ自体のメモリを管理できる
ようになる。資源ローダ214はRPL及び資源の両者
のプリンタ218への転送を制御する。前述したように
ホスト資源記憶装置210は、資源アセンブラ208が
アセンブルした資源を1回だけホスト資源記憶装置21
0内へロードするのに十分に大きいサイズである。ホス
ト資源記憶装置210は資源のサイズにも、またはプリ
ンタ資源記憶装置220のサイズによって賦課される制
約にも関係していない。一方、プリンタ資源記憶装置2
20はサイズに制限があり、資源はサイズ制限によって
制約される。プリンタ資源記憶装置220を効率的に管
理するために、資源ローダ214は既にプリンタ資源記
憶装置220内にある各資源のサイズ及び資源従属性
(資源アセンブラ208によって先に決定されている)
を調べ、資源をプリンタ内へロードする及びプリンタか
ら解放する順序を決定するので、プリンタ資源記憶装置
220が空間を使い果たすことはない。以上のように資
源ローダ214は印刷タスクの途中で特定の資源を多数
回ロードし、解放することができる。資源ローダ214
は、特定の資源が不要になった時にそれを解放できるこ
とに注目されたい。特定の資源はプリンタ218内でま
だ必要であるかも知れないので、プリンタ218はその
資源を直ちに削除することはできない。ホストコンピュ
ータ202とプリンタ218とは非同期的に動作するか
ら、資源ローダ214による資源の解放が直ちにプリン
タ資源記憶装置220からの資源の削除をもたらすこと
はない。従って資源を“解放”及び“削除”するという
語は、同期していない。資源をプリンタ資源記憶装置2
20から排除すべきであると資源ローダ214が決定す
ると、資源が解放される。資源ローダ214の観点か
ら、資源は最早プリンタ218内に存在しない。次いで
資源ローダ214は次の資源のロードまたは解放を指定
する。プリンタ218がその中で最早資源を必要としな
くなると資源は削除され、実際にプリンタ資源記憶装置
220から資源を削除する。資源ローダ214は、各資
源のサイズと、効率的な観点から、プリンタ資源記憶装
置220内に存在させる特定の資源のためにそれが意味
をなしているか否かだけに関心がある。資源ローダ21
4はプリンタ資源記憶装置220のサイズ、その中の使
用可能な空間、及びプリンタ資源記憶装置220の現状
(即ち、どの資源がプリンタ資源記憶装置内に存在して
いるか)を追跡し、どの資源を保持するか、または解放
するかを決定する。資源ローダ214は現RPL及び
将来RPLの両者に関する明示従属性を調べる。資源ロ
ーダ214は資源をロード及び解放すべき順序だけに関
心があり、資源変化の実際のタイミングには無関係であ
ることに注目されたい。プリンタ資源記憶装置220に
対する変化のタイミングは資源スケジューラ216によ
って制御される。前述したように、明示的に述べられた
従属性によって資源ローダ214は、資源をプリンタ資
源記憶装置220内へローディングするシーケンスを決
定するのが容易になる。より困難なタスクは、新しい資
源のために余地を作るために資源をプリンタ資源記憶装
置220から何時解放するかを決定することである。再
び使用されることがない資源は無関係に削除できること
は明白である。しかしながら、もしある資源を近い将来
再度使用するのであれば、資源ローダ214はどの資源
を解放して新しい資源のために余地を作るかを決定しな
ければならない。従来の多くのキャッシング(cach
ing)システムにおける一般的方策は、最も古く使用
された項目を削除(即ち、最も長い時間前に使用された
資源を削除)することである。この方策は、将来必要と
されることが少ない資源を予測するためには効率的では
ない。コンピュータ・プリンタシステム200は、明示
従属性の故に、資源の洞察的キャッシングを遂行して文
書の将来のデータブロックのための資源の最も効率的な
記憶を予測することができる。資源は、資源が使用され
る順序、資源を記憶するために必要な空間の量、及びも
し資源をプリンタ資源記憶装置220から解放しなけれ
ばならなければ資源を再ロードするために必要な時間に
基づいて管理される。資源ローダ214は明示従属性を
使用して、現在プリンタ資源記憶装置220内にある資
源を資源ローダが調べてどの資源が最も遅い時間に使用
されるかを決定するような“時間線”を確立する。しか
し前述したように、資源ローダ214は削除される資源
のサイズ及び資源を将来再ロードするために必要な時間
をも考慮する。洞察的キャッシングの例としてプリンタ
資源記憶装置220が既に10資源(この例のために一
般的に1乃至10のラベルを付す)を含み、特定のデー
タブロックのためにプリンタ218が番号11の資源を
必要としているものとする。資源ローダ214は時間線
を調べ、例えば資源番号8が最も遅い時間に使用される
ことを決定することができる。しかしもし資源番号8の
サイズが小さければ、プリンタ資源記憶装置220から
資源番号8を解放した後でも必要な資源番号11をロー
ドための十分な空間がないことが考えられる。従って、
資源ローダ214は再度時間線を調べ、資源番号8の次
に最も遅い時間に使用される資源を決定する。例えば資
源番号2が解放できるものとする。しかしながら、番号
2の資源をプリンタ資源記憶装置220から解放した場
合に必要以上の自由空間がプリンタ資源記憶装置220
内に生じ、また近い将来番号2の資源を再ロードするに
は極めて長い時間を消費するようであれば、資源ローダ
214は再度時間線を調べて1またはそれ以上の他の資
源を代わりに解放する。この例では、要求された資源番
号11のための余地をプリンタ資源記憶装置220内に
作るために、資源ローダ214は資源願望2及び8の代
わりに資源番号7及び5を解放することができる。以上
は、資源ローダ214がプリンタ資源記憶装置220を
管理することを考慮する際の種々のパラメタの例として
説明したに過ぎない。資源ローダ214は資源をプリン
タ資源記憶装置220内へロードし、該装置から解放す
る順序を決定するが、資源管理の実際のタイミングは資
源スケジューラ216によって遂行される。資源スケジ
ューラ216はプリンタ作動のシステムと見做すことが
できる。しかしながら前述したように、資源スケジュー
ラ216を物理的にプリンタ218内に配置する必要は
ない。一方向通信だけを有するコンピュータ・プリンタ
システム200では、資源スケジューラ216をホスト
コンピュータ202内に配置してホストコンピュータ2
02からプリンタメモリ222を管理することができ
る。もしコンピュータ・プリンタシステム200が双方
向通信を有していれば、資源スケジューラ216をプリ
ンタ218内に配置してプリンタにそれ自体のプリンタ
メモリ222を管理させることができる。ホストコンピ
ュータ202、プリンタ218、及びプリンタ内の印刷
エンジン216は全て非同期で動作するから、これら3
つの非同期部分間に競合が発生しないように資源スケジ
ューラ216は全てのタイミングを制御しなければなら
ない。資源スケジューラ216は全てのプリンタタイミ
ングを初期化して制御し、印刷エンジン226に動作を
同期させ、特定の資源をプリンタ資源記憶装置220内
へ受け入れる時点を決定する。資源スケジューラ216
は、特定の資源をプリンタ資源記憶装置220から削除
する時点をも決定する。前述したように、資源のローデ
ィング及び解放のシーケンスを指定することが資源スケ
ジューラ216のタスクである。資源スケジューラ21
6は先に資源ローダ214によって解放された特定の資
源が将来必要ではなくなる時点を決定する。資源ローダ
214と同様に、資源スケジューラ216も資源アセン
ブラ208によって作成された明示従属性へのアクセス
を有している。資源ローダ214とは異なり、資源スケ
ジューラ216は現ページのために必要な資源がプリン
タ資源記憶装置220内に存在しているか否かだけに関
心がある。現ページのための全ての従属性が満たされる
と(即ち、全ての必要資源がプリンタ資源記憶装置22
0内に存在していると)、資源スケジューラ216は印
刷エンジン226にページを印刷することを委託する実
行信号を生成する。詳細を後述するように、印刷エンジ
ンはページの途中では停止させることができないから、
一旦あるページまたはそのページを印刷するように印刷
エンジンに委託した後は印刷エンジンにはビットマップ
データを実時間で供給しなければならない。さもないと
適切な印刷がなされなくなる。双方向プリンタはページ
の各側毎に実行信号を必要とする(即ち、印刷プロセス
は用紙の側と側との間で停止させることができる)こと
に注意されたい。資源スケジューラ216は、印刷エン
ジンへの実時間委託を行うことができる時点を決定し、
印刷エンジンにページの印刷を委託する実行信号を生成
する。資源スケジューラ216は、一方向及び双方向の
両通信において同じような機能を遂行する。一方向シス
テムでは資源スケジューラ216は、ホストコンピュー
タ202へプリンタステータスを指示するハードウエア
内に話中(BUSY)フラグを生成する。また資源スケ
ジューラ216は、プリンタ資源記憶装置220から資
源が実際に削除される時点をも決定する。双方向システ
ムでは資源ローダ214がプリンタ218からプリンタ
メモリ222を管理し、特定の資源に対する特定の要求
をホストコンピュータ202に対して行う。更に資源ス
ケジューラ216は印刷プロセスを監視して、ページが
印刷エンジン226内の最終用紙ジャム(jam)セン
サを通過した時点をホストコンピュータ202へ通知す
る。従ってホストコンピュータ202は、誤り復元を提
供するためにそのページに関連する資源を最早保持して
いる必要がなくなったことを知る。資源スケジューラ2
16は印刷タスクのための用紙経路をも計画することが
できる。これは、多数の用紙貯蔵器、複数の用紙サイズ
及び経路を有する大型プリンタには特に重要である。最
適用紙経路を計画すると印刷タスクの総合効率が改善さ
れる。資源実行装置224は資源スケジューラ216か
ら実行信号を受け、RPLを印刷エンジン226がペー
ジを実際に印刷するために使用することができるビット
マップに変換する。他の資源は、ビットマップ形状でプ
リンタ資源記憶装置220内に既に存在していよう。資
源実行装置224は、現在プリンタ資源記憶装置220
内で使用可能な資源を使用してビットマップを生成す
る。本発明のコンピュータ・プリンタシステム200
は、バンディングモードまたはページモードで動作する
プリンタと共に働く。もしバンディングモードが使用さ
れていれば、資源実行装置224は実時間動作に拘束さ
れる。即ち、一旦印刷エンジン226に対して実時間委
託がなされると、資源実行装置224は全てのRPLを
一時に1バンドずつ実時間でビットマップに変換しなけ
ればならず、そうでないと誤りが発生しよう。もしプリ
ンタ218が(バンディングモードに対抗して)ページ
モードで動作していれば、実時間委託は存在しない。資
源実行装置224は、ビットマップを印刷エンジンへ転
送する前にページ全体をビットマップに変換することが
できる。本発明のコンピュータ・プリンタシステム20
0は、ページモードでも、またはバンディングモードで
も動作することができる。RPLをビットマップデータ
ファイルに実際に変換するのは当業者には公知であり、
その説明は省略する。印刷エンジン226は資源実行装
置224からビットマップデータを受け、このビットマ
ップデータをページ上に印刷させる。印刷エンジン22
6の使用は当業者には公知であり、その説明は省略す
る。文書の1つのページに関するビットマップデータが
印刷エンジン226によって処理されるにつれて、用紙
はプリンタ218を通って移動する。印刷エンジン22
6を通して、用紙のジャムまたは低トーナ状態のような
誤りを検出するための複数のセンサが存在している。従
来のシステムは、ページが最終用紙ジャムセンサを通過
するまでプリンタメモリ内にビットマップデータを保持
する。もし用紙のジャム誤りが発生すれば、従来のシス
テムはジャムを生じたページを再印刷するために既にビ
ットマップ形状にあるデータを有している。しかしもし
コンピュータ・プリンタシステム200が双方向通信能
力を有していれば、ビットマップデータはプリンタ21
8内に維持されておらず、ホストコンピュータ202内
に誤り回復データを生成する。ビットマップデータが既
にプリンタメモリ内にあってページがジャムを発生すれ
ば再印刷しようと待機している従来システムの方が本発
明よりも誤り回復が速いように見える。しかし通常の印
刷プロセスではページジャム誤りは滅多に発生するもの
ではないから、将来のページのためにデータの処理を継
続し、誤り回復のための最も効率的な技術に関して心配
しない方が総合印刷プロセスとしてはより効率的であ
る。従って本発明のコンピュータ・プリンタシステム2
00は文書全体を印刷するための最も効率的な技術に関
心を寄せているのである。従来のシステムは、ページが
最終用紙ジャムセンサを通過してしまうまでプリンタメ
モリがビットマップデータを保持させられているので、
次のページのためのデータを直ちに処理することはでき
ない。紙シートを取り、用紙上に像を発生させ、用紙を
用紙トレイ内へ落とすのに、典型的な印刷エンジンは約
10秒を要する。本発明は、用紙がジャムしないことを
見越して、文書内の将来のページのためのデータの処理
を継続する。従来のシステムが印刷された用紙が最終用
紙ジャムセンサを通過するのを待機している時間中に、
本発明のコンピュータ・プリンタシステム200は若干
のページのために資源をアセンブルし、PDLをRPL
に翻訳し、そしてプリンタ資源記憶装置220内の資源
の流れを管理している。用紙ジャムが発生しそうにもな
い場合には、ホストコンピュータ202はそのページを
始めから再処理する。もし用紙ジャムが発生すれば、ジ
ャムを生じた1または複数のページを物理的に除去する
ために操作員が関与しなければならないから、時間的な
実コストは存在しない。操作員がジャムを生じたページ
を除去している間に、資源ローダ214はどのページが
誤り回復を必要としているかを決定し、必要な資源及び
RPLをプリンタ218内へ再ロードし始める。どの資
源が誤り復元プロセスのために必要かを決定するために
資源ローダ214が明示従属性を調べているので、明示
従属性は誤り復元プロセスを簡易化する。例えばプリン
タ218は、2ページから5ページまでの用紙をジャム
し、2及び3ページを双方向とし、4及び5ページを一
方向とすることができる。もしプリンタ218が印刷順
序を3ページ(下から上へ)、2ページ(上から下
へ)、4ページ(上から下へ)、5ページ(上から下
へ)のように予め指定されていれば、資源ローダ214
は明示従属性を使用して最も効率的な手法でRPLを要
求し、誤り回復を遂行する。これらの活動は、操作員が
ジャムを生じた用紙を除去している間に行われる。従っ
て、コンピュータ・プリンタシステム200は従来のシ
ステムと対比した時に誤り回復に関して時間を失っては
いない。更に、印刷プロセスの効率は、ページが通常は
ジャムしないものとすれば、極めて向上している。以上
のように、コンピュータ・プリンタシステム200は従
来のシステムよりも遥かに短い時間で文書を処理できる
のである。前述したように、本発明のコンピュータ・プ
リンタシステム200はホストコンピュータ202から
プリンタ218までの一方向通信と共に動作すること
も、またはホストコンピュータ202とプリンタ218
との間の完全双方向通信チャネルと共に機能することも
できる。もしホストコンピュータ202の、またはプリ
ンタ218のハードウエアが双方向通信を支持すること
ができなければ、一方向通信だけが可能である。一方向
通信の制限があるとしても、本発明のコンピュータ・プ
リンタシステム200は従来のシステムに対して改良さ
れている。若干の場合には、双方向通信はコンピュータ
システム202及びプリンタ218の両者によって支持
することができるが、完全双方向通信を効率的に支持す
ることが不可能になる程双方向通信チャネルの待ち時間
は長くなる。この場合、本発明のコンピュータ・プリン
タシステム200はプリンタ218とホストコンピュー
タ202との間に制限された双方向通信を支持すること
ができる。完全双方向通信程の効率ではないにしても、
このモードは一方向通信よりは好ましい。制限された双
方向通信は単純な一方向通信よりも良い誤り及びステー
タス報告をホストコンピュータ202に与える。データ
処理はあたかも一方向通信のように進行するが、もし誤
りが発生すれば、コンピュータ・プリンタシステム20
0は誤り及びステータス情報を使用して誤りから回復す
ることができる。PCLを使用する若干のレーザプリン
タシステムには、プリンタへプラグインされるソフトウ
エアカートリッジが設けられている。このカートリッジ
は若干の付加的なフォントを含むことができる。コンピ
ュータ・プリンタシステム200はこのようなカートリ
ッジを使用してプリンタ218に、プリンタ218内に
位置させる本発明の必要成分を提供することができる。
本発明の一実施例では、コンピュータ・プリンタシステ
ム200はPCLを使用する第1のモードで動作する能
力を有しており、また本発明を使用する第2のモードで
動作することも可能である。この実施例では、コンピュ
ータ・プリンタシステム200は2つのモードの間で自
動的に切り換えられて行き来する。これによってコンピ
ュータ・プリンタシステム200は、DOS応用のよう
な他の応用と両立し続けることが可能になる。2つのモ
ードの間で切り換えられて行き来することによってコン
ピュータ・プリンタシステム200は、従来のシステム
との間に大きい互換性を与える。当業者ならば理解でき
るであろうが、本発明が使用している印刷への革命的な
アプローチは、印刷プロセスの総合速度を極めて増加さ
せる。印刷プロセスにどのようにしてアプローチするか
と言う従来の概念を破棄し、ホストコンピュータとプリ
ンタの両方の利用できる全ての計算能力の利点を採り入
れることによって本発明は、ハードウエアの価格の増加
を僅かに抑えながら印刷速度を劇的に増加させた。本発
明の原理は既存レーザプリンタに容易に適用できる。本
発明の種々の実施例及び利点を説明したが、この説明は
例示に過ぎず、本発明はその原理から逸脱することなく
多くの変更を施し得ることを理解されたい。従って、本
発明は特許請求の範囲によってのみ制限されるのであ
る。
【図面の簡単な説明】
【図1】典型的な従来技術のコンピュータ・レーザプリ
ンタシステムを示す図。
【図2】本発明のコンピュータ・プリンタシステムの機
能ブロック線図。
【図3】無制約文書を表すことができる手法を示す図。
【図4】図3の無制約文書を制約された形態で表すこと
ができる手法を示す図。
【図5】図4の制約された文書の代替構成を示す図。
【符号の説明】
200 コンピュータ・プリンタシステム 202 ホストコンピュータ 204 応用プログラム 206 資源記憶領域 208 資源アセンブラ 210 ホスト資源記憶装置 212 ホストコンピュータメモリ 214 資源ローダ 216 資源スケジューラ 218 プリンタ 220 プリンタ資源記憶装置 222 プリンタメモリ 224 資源実行装置 226 印刷エンジン

Claims (89)

    【特許請求の範囲】
  1. 【請求項1】 プリンタと、プリンタ上の文書を制御し
    印刷させるためのホストコンピュータとを含み、上記ホ
    ストコンピュータが資源を記憶するための資源記憶領域
    と、資源記憶領域内に記憶されている複数の資源と、印
    刷される複数の対象を記述するデータを含む文書のため
    のデータファイルとを有し、上記プリンタが印刷エンジ
    ンを含むコンピュータ・プリンタ装置であって、 文書を印刷するために必要な複数の資源からなる資源の
    選択された集合を記憶する第1の資源記憶装置と、 データファイルを調べ、資源記憶領域から資源の若干を
    選択して文書を印刷するために必要な上記資源の選択さ
    れた集合を形成し、上記資源の選択された集合を上記第
    1の資源記憶装置内へロードし、データファイルを文書
    の特定部分内の複数の対象に対応するプリミティブの集
    合に翻訳し、文書の上記特定部分を印刷するために上記
    第1の資源記憶装置から要求された上記選択された資源
    の部分集合を決定し、そして上記プリミティブの集合と
    上記要求された資源の部分集合との相互従属性を定義す
    る資源アセンブラと、 上記第1の資源記憶装置から受信した上記要求された資
    源の部分集合と上記プリミティブの集合とを記憶する第
    2の資源記憶装置と、 上記定義された相互従属性を使用して、上記要求された
    資源の部分集合と上記プリミティブの集合とが上記第2
    の資源記憶装置へ送られる、または上記第2の資源記憶
    装置から解放されるローディング及び解放シーケンスを
    決定する資源ローダと、 上記要求された資源の部分集合と上記プリミティブの集
    合の上記第2の資源記憶装置への転送を制御する資源ス
    ケジューラと、 上記要求された資源の部分集合と上記プリミティブの集
    合とに対応するビットマップデータファイルを作成し、
    上記ビットマップデータファイルを印刷エンジンへ転送
    して印刷させる資源実行装置と、を具備することを特徴
    とする装置。
  2. 【請求項2】 プリンタと、文書の一部分のためのドロ
    ープリミティブの集合を作成し、ドロープリミティブの
    集合及び文書の一部分を印刷するために必要な関連資源
    をプリンタへ転送することによってプリンタ上の文書を
    制御し印刷させるためのホストコンピュータとを含み、
    上記ホストコンピュータが資源を記憶するための資源記
    憶領域と、資源記憶領域内に記憶されている複数の資源
    と、印刷される複数の対象を記述するデータを含む文書
    のためのデータファイルとを有し、上記プリンタが印刷
    エンジンを含むコンピュータ・プリンタ装置であって、 データファイルを調べて資源記憶領域から資源の若干を
    選択して文書を印刷するために必要な資源の選択された
    集合を形成し、データファイルを文書の特定部分内の複
    数の対象に対応するプリミティブの集合に翻訳し、そし
    て文書の上記特定部分を印刷するために上記ホスト資源
    記憶装置から要求された上記選択された資源の部分集合
    を決定する資源アセンブラと、 上記要求された資源の部分集合と、上記プリミティブの
    集合とを記憶する資源記憶装置と、 プリンタ内にあって、上記要求された資源の部分集合と
    上記プリミティブの集合の資源記憶装置への転送を制御
    する資源スケジューラと、 プリンタ内にあって、上記要求された資源の部分集合と
    上記プリミティブの集合とに対応するビットマップデー
    タファイルを作成し、上記ビットマップデータファイル
    を印刷エンジンへ転送して印刷させる資源実行装置と、
    を具備することを特徴とする装置。
  3. 【請求項3】 資源を記憶するための資源記憶領域と、
    資源記憶領域内に記憶されている複数の資源と、印刷さ
    れる複数の対象を記述するデータを含む文書のためのデ
    ータファイルとを有し、ページ印刷を制御するために印
    刷されるデータに対応するビットマップデータファイル
    を作成する資源実行装置及び印刷エンジンを含むプリン
    タ上の文書を制御し印刷させるためのホストコンピュー
    タであって、 文書を印刷するために必要な複数の資源からなる資源の
    選択された集合を記憶するホスト資源記憶装置と、 データファイルを調べ、資源記憶領域から資源の若干を
    選択して文書を印刷するために必要な上記資源の選択さ
    れた集合を形成し、上記資源の選択された集合を上記ホ
    スト資源記憶装置内へロードし、データファイルを文書
    の特定部分内の複数の対象に対応するプリミティブの集
    合に翻訳し、文書の上記特定部分を印刷するために上記
    ホスト資源記憶装置から要求された上記選択された資源
    の部分集合を決定し、そして上記プリミティブの集合と
    上記要求された資源の部分集合との相互従属性を定義す
    る資源アセンブラと、を具備することを特徴とする装
    置。
  4. 【請求項4】 資源を記憶するための資源記憶領域と、
    資源記憶領域内に記憶されている複数の資源と、ページ
    上に印刷される複数の対象を記述するデータを含む文書
    のためのデータファイルと、文書を印刷するために必要
    な複数の資源からなる資源の選択された集合を記憶する
    ホスト資源記憶装置と、データファイルを調べて資源記
    憶領域から資源の若干を選択して文書を印刷するために
    必要な資源の選択された集合を形成し、上記資源の選択
    された集合を上記ホスト資源記憶装置内へロードし、デ
    ータファイルを文書の特定部分内の複数の対象に対応す
    るプリミティブの集合に翻訳し、文書の上記特定部分を
    印刷するために上記ホスト資源記憶装置から要求された
    上記資源の選択された部分集合を決定し、そして上記プ
    リミティブの集合と上記要求された資源の部分集合との
    相互従属性を定義する資源アセンブラとを有するホスト
    コンピュータからの文書を印刷するようになっていて、
    印刷エンジンを含むプリンタ装置であって、 ホストコンピュータから受信した要求された資源の部分
    集合を記憶するプリンタ資源記憶装置と、 プリンタ内にあって、要求された資源の部分集合とプリ
    ミティブの集合の上記プリンタ資源記憶装置への転送を
    制御する資源スケジューラと、 要求された資源の部分集合とプリミティブの集合とを上
    記プリンタ資源記憶装置から受信し、要求された資源の
    部分集合とプリミティブの集合とに対応するビットマッ
    プデータファイルを作成し、そして上記ビットマップデ
    ータファイルを印刷エンジンへ転送して印刷させる資源
    実行装置と、を具備することを特徴とする装置。
  5. 【請求項5】 上記第1の資源記憶装置がコンピュータ
    内のホスト資源記憶装置であり、上記第2の資源記憶装
    置がプリンタ内のプリンタ資源記憶装置である請求項1
    に記載の装置。
  6. 【請求項6】 上記資源アセンブラは、データファイル
    を文書の複数の特定部分内の複数の対象に対応するプリ
    ミティブの集合に翻訳し、文書の上記複数の特定部分を
    印刷するために上記ホスト資源記憶装置から要求された
    上記資源の選択された複数の部分集合を決定し、そして
    上記プリミティブの複数の集合と上記要求された資源の
    複数の部分集合との相互従属性を定義する請求項2に記
    載の装置。
  7. 【請求項7】 上記資源アセンブラは、上記プリミティ
    ブの集合と上記要求された資源の複数の部分集合との相
    互従属性を定義する請求項2に記載の装置。
  8. 【請求項8】 上記定義された相互従属性を使用して、
    上記要求された資源の部分集合と上記プリミティブの集
    合とが上記資源記憶装置へ送られる、及び上記資源記憶
    装置から解放されるローディング及び解放シーケンスを
    決定し、上記解放シーケンスに応答して上記要求された
    資源の部分集合と上記プリミティブの集合とを上記資源
    記憶装置から削除する資源ローダをも含む請求項2に記
    載の装置。
  9. 【請求項9】 上記資源スケジューラは、もしあれば、
    どの資源が既に上記資源記憶装置内に存在しているのか
    を指示する上記資源記憶装置のステータスを決定し、上
    記資源ローダは上記ステータス情報をも使用して上記ロ
    ーディング及び解放シーケンスを決定する請求項2に記
    載の装置。
  10. 【請求項10】 上記資源スケジューラは上記ステータ
    ス情報を上記資源アセンブラへ伝送し、上記資源アセン
    ブラは上記ステータス情報を使用して文書を印刷するに
    はどの付加的な資源が必要であるのかを決定する請求項
    9に記載の装置。
  11. 【請求項11】 上記定義された相互従属性を使用し
    て、上記要求された資源の部分集合と上記プリミティブ
    の集合とがプリンタへ送られる、及びプリンタから解放
    されるローディング及び解放シーケンスを決定する請求
    項3または4の何れかに記載の装置。
  12. 【請求項12】 上記要求された資源の部分集合と上記
    プリミティブの集合のプリンタへの転送を制御する資源
    スケジューラをも含む請求項3に記載の装置。
  13. 【請求項13】 限定された数の資源を記憶することが
    でき、上記要求された資源の部分集合と上記プリミティ
    ブの集合とを受信する第2の資源記憶装置をも含む請求
    項3に記載の装置。
  14. 【請求項14】 上記資源ローダは、上記第2の資源記
    憶装置内の使用可能な空間の量に基づき、且つ文書の将
    来部分を印刷するために上記資源の副集合が要求された
    時に上記ローディング及び解放シーケンスを決定する請
    求項1、3または4の何れかに記載の装置。
  15. 【請求項15】 上記資源ローダは、上記資源の部分集
    合を上記第2の資源記憶装置へ再度転送するために要す
    る時間に基づいて上記ローディング及び解放シーケンス
    を決定する請求項1、3または4の何れかに記載の装
    置。
  16. 【請求項16】 上記資源ローダは、上記第2の資源記
    憶装置へ転送される上記要求された資源の部分集合のサ
    イズに基づいて上記ローディング及び解放シーケンスを
    決定する請求項1、3または4の何れかに記載の装置。
  17. 【請求項17】 上記資源アセンブラは、印刷エンジン
    が印刷中に上記資源実行装置が上記プリミティブの集合
    を実時間で上記ビットマップデータファイルに変換でき
    るか否かを決定し、もし上記資源実行装置ができなけれ
    ば上記資源アセンブラが上記プリミティブの集合を上記
    ビットマップデータファイルに変換する請求項1、2、
    3または4の何れかに記載の装置。
  18. 【請求項18】 上記プリミティブの集合を上記ビット
    マップデータファイルに変換するのは上記資源実行装置
    かまたは上記資源アセンブラかを決定するための決定手
    段をも上記資源アセンブラ内に含む請求項1、2、3ま
    たは5の何れかに記載の装置。
  19. 【請求項19】 上記決定手段は、上記資源実行装置が
    上記プリミティブの集合を上記ビットマップデータファ
    イルに変換するために要する時間の長さと、上記資源ア
    センブラが上記プリミティブの集合を上記ビットマップ
    データファイルに変換するために要する時間の長さに決
    定の基準をおく請求項18に記載の装置。
  20. 【請求項20】 上記資源アセンブラは、データファイ
    ルを文書の複数の特定部分内の複数の対象に対応するプ
    リミティブの複数の集合に翻訳し、上記文書の複数の特
    定部分を印刷するために上記第1の資源記憶装置から要
    求された上記選択された資源の複数の部分集合を決定
    し、上記定義された相互従属性は上記プリミティブの複
    数の集合と上記要求された資源の複数の部分集合との相
    互従属性を定義する請求項1、3または4の何れかに記
    載の装置。
  21. 【請求項21】 上記資源ローダは、上記要求された資
    源の複数の部分集合及びプリミティブの複数の集合が上
    記第2の資源記憶装置へ送られる、または上記第2の資
    源記憶装置から解放される上記ローディング及び解放シ
    ーケンスを決定する請求項20に記載の装置。
  22. 【請求項22】 上記プリミティブの集合は、圧縮され
    ない2進データフォーマットでホストコンピュータから
    プリンタへ転送される請求項1、2、3または4の何れ
    かに記載の装置。
  23. 【請求項23】 上記資源スケジューラは、上記要求さ
    れた資源の全ての部分集合及び上記文書の特定部分のた
    めの上記プリミティブの集合が上記第2の資源記憶装置
    内に存在している時に実行信号を生成し、上記資源実行
    装置は上記実行信号を受信すると上記プリミティブの集
    合に対応するビットマップデータファイルを作成し、上
    記ビットマップデータファイルを印刷エンジンへ転送し
    て印刷させる請求項1または3の何れかに記載の装置。
  24. 【請求項24】 先行技術のコンピュータ・プリンタシ
    ステムと互換性のある第1のモードで、または本発明と
    互換性のある第2のモードで動作する手段をも含む請求
    項1、2、3または4の何れかに記載の装置。
  25. 【請求項25】 上記定義された相互従属性は従属性リ
    ストによって定義され、上記資源アセンブラは印刷エン
    ジンが上記文書の特定部分の印刷を開始した後でさえも
    上記従属性リストを維持し、上記資源アセンブラはプリ
    ンタ誤りの場合には上記従属性リストを使用する請求項
    1、2、または3の何れかに記載の装置。
  26. 【請求項26】 上記資源アセンブラは、上記プリミテ
    ィブの集合を上記第1の資源記憶装置内に記憶させる請
    求項1または3の何れかに記載の装置。
  27. 【請求項27】 上記特定部分は、もしプリンタがバン
    ディングモードで動作中であれば、サイズがプリンタバ
    ンドに対応するバンドとなるように選択される請求項
    1、2、3または4の何れかに記載の装置。
  28. 【請求項28】 上記資源スケジューラは、上記解放シ
    ーケンスに応答して、上記要求された資源の部分集合及
    び上記プリミティブの集合を上記第2の資源記憶装置か
    ら削除する請求項1、2、または4の何れかに記載の装
    置。
  29. 【請求項29】 上記定義された相互従属性は、従属リ
    ストによって定義される請求項1または3の何れかに記
    載の装置。
  30. 【請求項30】 上記資源アセンブラは印刷エンジンが
    上記文書の特定部分の印刷を開始した後でさえも上記従
    属性リストを維持し、上記資源アセンブラはプリンタ誤
    りの場合には上記従属性リストを使用する請求項29に
    記載の装置。
  31. 【請求項31】 上記資源アセンブラは、上記定義され
    た相互従属性をプリンタへ伝送する請求項1、2、3ま
    たは4の何れかに記載の装置。
  32. 【請求項32】 上記資源アセンブラは、もしあれば、
    どの資源が既に上記第2の資源記憶装置内に存在してい
    るかを指示する上記第2の資源記憶装置のステータスを
    決定し、上記資源ローダは上記ステータス情報をも使用
    して上記ローディング及び解放シーケンスを決定する請
    求項1、4、または13の何れかに記載の装置。
  33. 【請求項33】 上記資源スケジューラは上記ステータ
    ス情報を上記資源アセンブラへ伝送し、上記資源アセン
    ブラは上記ステータス情報を使用して文書を印刷するた
    めにはどの付加的な資源が必要かを決定する請求項32
    に記載の装置。
  34. 【請求項34】 上記資源スケジューラは文書の複数の
    特定部分がプリンタによって印刷されるシーケンス情報
    を決定し、上記資源ローダは上記シーケンス情報をも使
    用して上記ローディング及び解放シーケンスを決定する
    請求項1、8、11または33の何れかに記載の装置。
  35. 【請求項35】 上記資源スケジューラは上記シーケン
    ス情報を上記資源アセンブラへ伝送し、上記資源アセン
    ブラは上記シーケンス情報を使用して文書の特定部分が
    上記資源アセンブラによって処理されるであろう順序を
    決定する請求項34に記載の装置。
  36. 【請求項36】 上記特定部分を印刷中にもし誤りが発
    生すれば誤り信号を生成する誤りセンサをもプリンタ内
    に含み、ホストコンピュータはプリンタがもし上記誤り
    信号を生成すればその誤りを回復する手段を含む請求項
    34に記載の装置。
  37. 【請求項37】 上記資源スケジューラは、上記定義さ
    れた相互従属性を使用して上記要求された資源の部分集
    合及び上記プリミティブの集合を上記ホスト資源記憶装
    置から上記誤り信号が生成された上記文書の特定部分を
    要求する請求項36に記載の装置。
  38. 【請求項38】 上記資源ローダは、二者択一的にホス
    トコンピュータまたはプリンタ内に配置することができ
    る請求項1、8、または11の何れかに記載の装置。
  39. 【請求項39】 上記資源ローダの位置を決定する手段
    をもホストコンピュータ内に含む請求項38に記載の装
    置。
  40. 【請求項40】 上記位置を決定する手段は、ホストコ
    ンピュータとプリンタとの間の通信チャネルの能力の解
    析を含む請求項39に記載の装置。
  41. 【請求項41】 上記資源スケジューラは文書の複数の
    特定部分がプリンタによって印刷されるシーケンス情報
    を決定し、上記資源アセンブラは上記シーケンス情報を
    使用して文書の特定部分が上記資源アセンブラによって
    処理されるであろう順序を決定する請求項1、2、また
    は12の何れかに記載の装置。
  42. 【請求項42】 プリンタがもし誤り誤り信号を生成す
    ればその誤りを回復する手段をもホストコンピュータ内
    に含む請求項1、2、または3の何れかに記載の装置。
  43. 【請求項43】 上記資源スケジューラは、上記定義さ
    れた相互従属性を使用して上記要求された資源の部分集
    合及び上記プリミティブの集合を上記ホスト資源記憶装
    置から上記誤り信号が生成された上記文書の特定部分を
    要求する請求項42に記載の装置。
  44. 【請求項44】 上記資源スケジューラは定義された相
    互従属性を使用して要求された資源の部分集合及びプリ
    ミティブの集合が上記プリンタ資源記憶装置内に存在す
    る時を決定し、上記資源スケジューラは要求された資源
    の全ての部分集合及びプリミティブの集合が上記プリン
    タ資源記憶装置内に存在している時に実行信号を生成す
    る請求項1、4、7、または12の何れかに記載の装
    置。
  45. 【請求項45】 上記プリンタ資源記憶装置内の使用可
    能な空間の量に基づき、且つ文書の将来部分を印刷する
    ために上記資源の副集合が要求された時にローディング
    及び解放シーケンスを決定する資源ローダをも含む請求
    項4に記載の装置。
  46. 【請求項46】 上記資源ローグは、上記要求された資
    源の部分集合を上記プリンタ資源記憶装置へ再度転送す
    るために要する時間に基づいて上記ローディング及び解
    放シーケンスを決定する請求項45に記載の装置。
  47. 【請求項47】 上記資源ローダは、上記プリンタ資源
    記憶装置へ転送される上記要求された資源の部分集合の
    サイズに基づいて上記ローディング及び解放シーケンス
    を決定する請求項45に記載の装置。
  48. 【請求項48】 上記資源スケジューラは要求された資
    源の全ての部分集合及び文書の特定部分のためのプリミ
    ティブの集合が上記プリンタ資源記憶装置内に存在して
    いる時に実行信号を生成し、上記資源実行装置は上記実
    行信号を受信するとプリミティブの集合に対応するビッ
    トマップデータファイルを作成し、上記ビットマップデ
    ータファイルを印刷エンジンへ転送して印刷させる請求
    項4に記載の装置。
  49. 【請求項49】 上記資源スケジューラは、上記解放シ
    ーケンスに応答して、上記要求された資源の部分集合及
    び上記プリミティブの集合を上記プリンタ資源記憶装置
    から削除する請求項45に記載の装置。
  50. 【請求項50】 プリンタと、文書の一部分のためのド
    ロープリミティブの集合を作成し、ドロープリミティブ
    の集合及び文書の一部分を印刷するために必要な関連資
    源をプリンタへ転送することによってプリンタ上の文書
    を制御し印刷させるためのホストコンピュータとを含
    み、上記ホストコンピュータが資源を記憶するための資
    源記憶領域と、資源記憶領域内に記憶されている複数の
    資源と、印刷される複数の対象を記述するデータを含む
    文書のためのデータファイルとを有し、上記プリンタが
    印刷エンジンを含むコンピュータ・プリンタシステムを
    使用する方法であって、 (a)データファイルを調べて資源記憶領域から資源の
    若干を選択し、文書を印刷するために必要な資源の選択
    された集合を形成する段階と、 (b)上記資源の選択された集合をホスト資源記憶領域
    内へロードする段階と、 (c)データファイルを文書の特定部分内の複数の対象
    に対応するプリミティブの集合に翻訳する段階と、 (d)文書の上記特定部分を印刷するために上記ホスト
    資源記憶装置から要求された上記選択された資源の部分
    集合を決定する段階と、 (e)上記要求された資源の部分集合と、上記プリミテ
    ィブの集合とをプリンタ資源記憶装置へ転送する段階
    と、 (f)上記要求された資源の部分集合と上記プリミティ
    ブの集合とに対応するビットマップデータファイルを作
    成し、上記ビットマップデータファイルを印刷のために
    印刷エンジンへ転送する段階と、を具備することを特徴
    とする方法。
  51. 【請求項51】 プリンタと、プリンタ上の文書を制御
    し印刷させるためのホストコンピュータとを含み、上記
    ホストコンピュータが資源を記憶するための資源記憶領
    域と、資源記憶領域内に記憶されている複数の資源と、
    印刷される複数の対象を記述するデータを含む文書のた
    めのデータファイルとを有し、上記プリンタが印刷エン
    ジンを含むコンピュータ・プリンタシステムを使用する
    方法であって、 (a)データファイルを調べて資源記憶領域から資源の
    若干を選択し、文書を印刷するために必要な資源の選択
    された集合を形成する段階と、 (b)上記資源の選択された集合を第1の資源記憶領域
    内へロードする段階と、 (c)データファイルを文書の特定部分内の複数の対象
    に対応するプリミティブの集合に翻訳する段階と、 (d)文書の上記特定部分を印刷するために上記第1の
    資源記憶装置から要求された上記選択された資源の部分
    集合を決定する段階と、 (e)上記プリミティブの集合と、上記要求された資源
    の部分集合との相互従属性を定義する段階と、 (f)上記定義された相互従属性を使用して上記要求さ
    れた資源の部分集合及び上記プリミティブの集合が第2
    の資源記憶装置へ送られ、また上記第2の資源記憶装置
    から解放されるローディング及び解放シーケンスを決定
    する段階と、 (g)上記要求された資源の部分集合と、上記プリミテ
    ィブの集合とを上記第2の資源記憶装置へ転送する段階
    と、 (h)上記要求された資源の部分集合と上記プリミティ
    ブの集合とに対応するビットマップデータファイルを作
    成し、上記ビットマップデータファイルを印刷エンジン
    へ転送して印刷させる段階と、を具備することを特徴と
    する方法。
  52. 【請求項52】 プリンタ上の文書を制御して印刷させ
    るホストコンピュータを使用する方法であって、上記ホ
    ストコンピュータは、資源を記憶するための資源記憶領
    域と、資源記憶領域内に記憶されている複数の資源と、
    印刷される複数の対象を記述するデータを含む文書のた
    めのデータファイルとを有し、上記プリンタは、プリン
    タへのデータの転送を制御する資源スケジューラと、印
    刷されるデータに対応するビットマップデータファイル
    を生成する資源実行装置と、ページの印刷を制御する印
    刷エンジンとを含み、上記方法が、 (a)データファイルを調べて資源記憶領域から資源の
    若干を選択し、文書を印刷するために必要な資源の選択
    された集合を形成する段階と、 (b)上記資源の選択された集合を第1の資源記憶領域
    内へロードする段階と、 (c)データファイルを文書の特定部分内の複数の対象
    に対応するプリミティブの集合に翻訳する段階と、 (d)文書の上記特定部分を印刷するために上記第1の
    資源記憶装置から要求された上記選択された資源の部分
    集合を決定する段階と、 (e)上記要求された資源の部分集合及び上記プリミテ
    ィブの集合を上記第2の資源記憶装置へ転送する段階
    と、を具備することを特徴とする方法。
  53. 【請求項53】 ホストコンピュータからの文書を印刷
    するための印刷エンジンを含むプリンタ装置を使用する
    方法であって、上記ホストコンピュータが、資源を記憶
    するための資源記憶領域と、資源記憶領域内に記憶され
    ている複数の資源と、ページ上に印刷される複数の対象
    を記述するデータを含む文書のためのデータファイル
    と、文書を印刷するために必要な複数の資源からなる資
    源の選択された集合を記憶するホスト資源記憶装置と、
    データファイルを調べて資源記憶領域から資源の若干を
    選択して文書を印刷するために必要な資源の選択された
    集合を形成し、上記資源の選択された集合を上記ホスト
    資源記憶装置内へロードし、データファイルを文書の特
    定部分内の複数の対象に対応するプリミティブの集合に
    翻訳し、文書の上記特定部分を印刷するために上記ホス
    ト資源記憶装置から要求された上記資源の選択された部
    分集合を決定し、そして上記プリミティブの集合と上記
    要求された資源の部分集合との相互従属性を定義する資
    源アセンブラとを有し、上記方法が、 (a)ホストコンピュータから受信した要求された資源
    の部分集合及びプリミティブの集合を二次資源記憶装置
    内に記憶する段階と、 (b)ホストコンピュータからの上記要求された資源の
    部分集合及び上記プリミティブの集合の転送を上記ロー
    ディングシーケンスに従って制御する段階と、 (c)要求された資源の部分集合及びプリミティブの集
    合が上記二次資源記憶装置内に存在する時を決定する段
    階と、 (d)要求された資源の全ての部分集合及びプリミティ
    ブの集合が上記二次資源記憶装置内に存在する時に実行
    信号を生成する段階と、 (e)上記実行信号を受信すると要求された資源の部分
    集合及びプリミティブの集合に対応するビットマップデ
    ータファイルを作成し、上記ビットマップデータファイ
    ルを印刷エンジンへ転送して印刷させる段階と、を具備
    することを特徴とする方法。
  54. 【請求項54】 もしあれば、どの資源が既に上記第2
    の資源記憶装置内に存在しているかを指示する上記第2
    の資源記憶装置のステータスを決定する段階をも含み、
    段階(f)が上記ステータス情報をも使用して上記ロー
    ディング及び解放シーケンスを決定する請求項51に記
    載の方法。
  55. 【請求項55】 段階(d)が上記ステータス情報を使
    用して文書を印刷するためにはどの付加的な資源が必要
    かを決定する請求項54に記載の方法。
  56. 【請求項56】 文書の複数の特定部分がプリンタによ
    って印刷されるシーケンス情報を決定する段階をも含
    み、段階(g)が上記シーケンス情報をも使用して上記
    ローディング及び解放シーケンスを決定する請求項54
    に記載の方法。
  57. 【請求項57】 段階(c)が上記シーケンス情報を使
    用して文書の特定部分が処理されるであろう順序を決定
    する請求項56に記載の方法。
  58. 【請求項58】 段階(g)が二者択一的にホストコン
    ピュータまたはプリンタ内に配置されている資源ローダ
    によって遂行されるか否かを決定する段階をも含む請求
    項51に記載の方法。
  59. 【請求項59】 上記位置を決定する段階がホストコン
    ピュータとプリンタとの間の通信チャネル能力の解析を
    含む請求項59に記載の方法。
  60. 【請求項60】 印刷エンジンが印刷中に段階(h)が
    上記プリミティブの集合を実時間で上記ビットマップデ
    ータファイルに変換できるか否かを決定する段階をも含
    み、もし段階(h)ができなければ、段階(c)が上記
    プリミティブの集合を実時間で上記ビットマップデータ
    ファイルに変換する請求項51に記載の方法。
  61. 【請求項61】 段階(h)が上記プリミティブの集合
    を上記ビットマップデータファイルに変換するために必
    要な時間の長さ及び段階(c)が上記プリミティブの集
    合を上記ビットマップデータファイルに変換するために
    必要な時間の長さに基づいて、段階(h)または段階
    (c)の何れが上記プリミティブの集合を上記ビットマ
    ップデータファイルに変換するかを決定する段階をも含
    む請求項51に記載の方法。
  62. 【請求項62】 段階(c)−(e)がデータファイル
    を文書の複数の特定部分内の複数の対象に対応するプリ
    ミティブの複数の集合に翻訳し、文書の上記複数の特定
    部分を印刷するために上記第1の資源記憶装置から要求
    された上記選択された複数の部分集合を決定し、そして
    上記プリミティブの複数の集合と上記要求された資源の
    複数の部分集合との相互従属性を定義する請求項51に
    記載の方法。
  63. 【請求項63】 段階(f)が、上記要求された資源の
    複数の部分集合及び上記プリミティブの複数の集合が上
    記第2の資源記憶装置へ送られる、及び上記第2の資源
    記憶装置から解放される上記ローディング及び解放シー
    ケンスを決定する請求項62に記載の方法。
  64. 【請求項64】 上記要求された資源の全ての部分集合
    及び文書の上記特定部分のための上記プリミティブの集
    合が上記第2の資源記憶装置内に存在する時に実行信号
    を生成する段階をも含み、段階(h)は上記実行信号を
    受信すると上記プリミティブの集合に対応するビットマ
    ップデータファイルを作成し、上記ビットマップデータ
    ファイルを印刷エンジンへ転送して印刷させる請求項5
    1に記載の方法。
  65. 【請求項65】 段階(g)は、上記解放シーケンスに
    応答して、上記要求された資源の部分集合及び上記プリ
    ミティブの集合を上記第2の資源記憶装置から削除する
    請求項51に記載の方法。
  66. 【請求項66】 (f)上記プリミティブの集合と上記
    要求された資源の部分集合との相互従属性を定義する段
    階をも含む請求項52に記載の方法。
  67. 【請求項67】 (g)上記定義された相互従属性を使
    用して上記要求された資源の部分集合及び上記プリミテ
    ィブの集合が第2の資源記憶装置へ送られ、上記第2の
    資源記憶装置から解放されるであろうローデイング及び
    解放シーケンスを決定する段階をも含む請求項52に記
    載の方法。
  68. 【請求項68】 資源スケジューラは文書の複数の特定
    部分がプリンタによって印刷されるシーケンス情報を決
    定し、上記シーケンス情報を資源アセンブラへ伝送し、
    上記資源アセンブラは上記シーケンス情報を使用して文
    書の特定部分が上記資源アセンブラによって処理される
    であろう順序を決定する請求項52に記載の方法。
  69. 【請求項69】 印刷エンジンが印刷中に資源実行装置
    が上記プリミティブの集合を実時間で上記ビットマップ
    データファイルへ変換できるか否かを決定する段階をも
    含み、もし資源実行装置ができなければ段階(c)が上
    記プリミティブの集合を上記ビットマップデータファイ
    ルへ変換する請求項52に記載の方法。
  70. 【請求項70】 資源実行装置が上記プリミティブの集
    合を上記ビットマップデータファイルに変換するために
    必要な時間の長さ及び段階(c)が上記プリミティブの
    集合を上記ビットマップデータファイルに変換するため
    に必要な時間の長さに基づいて、資源実行装置または段
    階(c)の何れが上記プリミティブの集合を上記ビット
    マップデータファイルに変換するかを決定する段階をも
    含む請求項69に記載の方法。
  71. 【請求項71】 段階(c)−(e)がデータファイル
    を文書の複数の特定部分内の複数の対象に対応するプリ
    ミティブの複数の集合に翻訳し、文書の上記複数の特定
    部分を印刷するために上記第1の資源記憶装置から要求
    された上記選択された複数の部分集合を決定し、段階
    (f)が上記プリミティブの複数の集合と上記要求され
    た資源の複数の部分集合との相互従属性を定義する請求
    項52に記載の方法。
  72. 【請求項72】 段階(g)は、上記要求された資源の
    複数の部分集合及び上記プリミティブの集合が上記第2
    の資源記憶装置へ送られ、上記第2の資源記憶装置から
    解放されるであろうローデイング及び解放シーケンスを
    決定する請求項71に記載の方法。
  73. 【請求項73】 (g)定義された相互従属性をプリン
    タへ伝送する段階をも含む請求項53に記載の方法。
  74. 【請求項74】 (g)上記定義された相互従属性を使
    用して上記要求された資源の部分集合及び上記プリミテ
    ィブの集合が二次資源記憶装置へ送られ、上記二次資源
    記憶装置から解放されるであろうローデイング及び解放
    シーケンスを決定する段階をも含む請求項53に記載の
    方法。
  75. 【請求項75】 もしあれば、どの資源が既に上記二次
    資源記憶装置内に存在しているかを指示する上記二次資
    源記憶装置のステータスを決定する段階をも含み、段階
    (g)が上記ステータス情報をも使用して上記ローディ
    ング及び解放シーケンスを決定する請求項74に記載の
    方法。
  76. 【請求項76】 文書の複数の特定部分がプリンタによ
    って印刷されるシーケンス情報を決定する段階をも含
    み、段階(g)が上記シーケンス情報をも使用して上記
    ローディング及び解放シーケンスを決定する請求項74
    に記載の方法。
  77. 【請求項77】 上記シーケンス情報をホストコンピュ
    ータへ伝送する段階をも含み、ホストコンピュータは上
    記シーケンス情報を使用して文書の特定部分が処理され
    るであろう順序を決定する請求項76に記載の方法。
  78. 【請求項78】 段階(c)が定義された相互従属性を
    使用して要求された資源の部分集合及びプリミティブの
    集合が上記二次資源記憶装置内に存在する時を決定する
    請求項74に記載の方法。
  79. 【請求項79】 上記定義された相互従属性をプリンタ
    へ伝送する段階をも含む請求項51または52の何れか
    に記載の方法。
  80. 【請求項80】 上記ローデイング及び解放シーケンス
    の決定は、上記第2の資源記憶装置内の使用可能な量
    と、文書の将来部分を印刷するために上記要求された資
    源の部分集合が必要となった時に基づいている請求項5
    1または52の何れかに記載の方法。
  81. 【請求項81】 上記ローデイング及び解放シーケンス
    の決定は、上記要求された資源の部分集合を上記第2の
    資源記憶装置へ再度転送するために要する時間に基づい
    ている請求項51または52の何れかに記載の方法。
  82. 【請求項82】 上記ローデイング及び解放シーケンス
    の決定は、上記第2の資源記憶装置へ転送される上記要
    求された資源の部分集合のサイズに基づいている請求項
    51または52の何れかに記載の方法。
  83. 【請求項83】 上記相互従属性を定義する段階は、従
    属性リストを使用して上記相互従属性を定義する請求項
    51または66の何れかに記載の方法。
  84. 【請求項84】 印刷エンジンが文書の上記特定部分の
    印刷を開始した後でさえも上記従属性リストを維持する
    段階をも含み、段階(c)はプリンタ誤りの場合に上記
    従属性リストを使用する請求項83に記載の方法。
  85. 【請求項85】 段階(c)は上記プリミティブの集合
    を上記第1の資源記憶装置内に記憶する請求項51また
    は52の何れかに記載の方法。
  86. 【請求項86】 プリンタは印刷中に誤りが発生すると
    誤り信号を生成する誤りセンサを含み、上記方法が、も
    しプリンタが上記誤り信号を生成すればホストコンピュ
    ータ内に誤り回復段階をも含む請求項50、51、また
    は52の何れかに記載の方法。
  87. 【請求項87】 上記誤り信号が生成された文書の上記
    特定部分のための上記第1の資源記憶装置から上記要求
    された資源の部分集合及びプリミティブの集合を要求す
    る段階をも含む請求項86に記載の方法。
  88. 【請求項88】 上記転送段階は、上記要求された資源
    の部分集合及びプリミティブの集合をホストコンピュー
    タからプリンタへ圧縮された2進データフォーマットで
    転送する請求項50、51、または52の何れかに記載
    の方法。
  89. 【請求項89】 もしプリンタがバンディングモードで
    動作中であれば、サイズがプリンタバンドに対応するバ
    ンドとなるように上記特定部分のサイズを選択する段階
    をも含む請求項50、51、または52の何れかに記載
    の方法。
JP22202393A 1992-07-10 1993-07-12 資源指向型プリンタ装置及びその操作方法 Expired - Lifetime JP3811192B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/911,767 US5469533A (en) 1992-07-10 1992-07-10 Resource-oriented printer system and method of operation
US07/911767 1992-11-16

Publications (2)

Publication Number Publication Date
JPH06266514A true JPH06266514A (ja) 1994-09-22
JP3811192B2 JP3811192B2 (ja) 2006-08-16

Family

ID=25430837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22202393A Expired - Lifetime JP3811192B2 (ja) 1992-07-10 1993-07-12 資源指向型プリンタ装置及びその操作方法

Country Status (7)

Country Link
US (1) US5469533A (ja)
EP (1) EP0578258B1 (ja)
JP (1) JP3811192B2 (ja)
KR (1) KR940006058A (ja)
AT (1) ATE193131T1 (ja)
CA (1) CA2100178A1 (ja)
DE (1) DE69328650T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978563A (en) * 1995-10-20 1999-11-02 Fuji Xerox., Ltd. Print processing system and method
USRE42473E1 (en) 2001-05-30 2011-06-21 Senshin Capital, Llc Rendering images utilizing adaptive error diffusion
USRE43149E1 (en) 2001-03-27 2012-01-31 Senshin Capital, Llc Method for generating a halftone of a source image

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706411A (en) * 1992-11-09 1998-01-06 Microsoft Corporation Printer status user interface and methods relating thereto
US5715070A (en) * 1994-04-28 1998-02-03 Ricoh Company, Ltd. Freely configurable image processing apparatus
US6862100B2 (en) * 1994-06-09 2005-03-01 Canon Kabushiki Kaisha Determining a type of print data to be sent to a printer based on the number of unprocessed files residing in a print queue
KR0125482B1 (ko) * 1994-12-12 1998-04-02 김광호 화상형성장치의 컴퓨터 접속제어회로 및 방법
US5781710A (en) * 1995-06-07 1998-07-14 Xerox Corporation Generic method for scheduling print engines using print engine capabilities
US5694529A (en) * 1995-06-07 1997-12-02 Xerox Corporation System for automatically configuring print engine software from print engine module capabilities
US5696893A (en) * 1995-06-07 1997-12-09 Xerox Corporation System for generically describing and scheduling operation of modular printing machine
US5771339A (en) * 1995-06-07 1998-06-23 Xerox Corporation Method for automatically deriving print engine capabilities for incremental scheduling from compositional print engine models
US5668942A (en) * 1995-06-07 1997-09-16 Xerox Corporation Generic system for describing and using resources for print engine scheduling
US5617214A (en) * 1995-11-28 1997-04-01 Xerox Corporation Commitment groups to generalize the scheduling of interdependent document output terminal capabilities
US5559606A (en) * 1995-11-28 1996-09-24 Xerox Corporation Flexible configuration of document output terminals from autonomous machine modules
US5631740A (en) * 1995-11-28 1997-05-20 Xerox Corporation Transducers with constraints model for print scheduling
US5727220A (en) * 1995-11-29 1998-03-10 International Business Machines Corporation Method and system for caching and referencing cached document pages utilizing a presentation data stream
US5617215A (en) * 1995-12-06 1997-04-01 Xerox Corporation Assembly trees for canonical representation of documents and blending multiple functions
US5604600A (en) * 1995-12-06 1997-02-18 Xerox Corporation Production trees for generic representation of document requirements for particular output terminals
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US5729666A (en) * 1996-08-05 1998-03-17 Hewlett-Packard Company Efficient method and apparatus for downloading of fonts from a processor to a printer
US5983243A (en) * 1996-10-31 1999-11-09 International Business Machines Corporation Data processing system and method for Preparing a presentation-ready document that produces separate images of fixed and variable data and a bookticket specifying an arrangement of such images
US6320667B1 (en) * 1996-12-27 2001-11-20 Canon Kabushiki Kaisha Information processing apparatus and method for transmitting printing information, and recording medium readable by a computer storing a program for transmitting printing information
US5971632A (en) 1997-02-19 1999-10-26 The Standard Register Company Printer with internal document data construction
US6097496A (en) * 1997-04-21 2000-08-01 Hewlett-Packard Company Integrated display list and building tool for multiple personalities
JP3417305B2 (ja) * 1998-07-27 2003-06-16 セイコーエプソン株式会社 プリンタ、プリンタ制御装置および画像入出力装置
US6327050B1 (en) 1999-04-23 2001-12-04 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
US6930795B1 (en) 1999-04-23 2005-08-16 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
DE69932065T2 (de) * 1998-08-27 2006-12-28 Electronics for Imaging, Inc., Foster City Druckverfahren und gerät, das mehrere rasterbildprozessoren hat
US20020093669A1 (en) * 1998-08-28 2002-07-18 Russell Campbell Complexity extensions for band management in a printer page pipe
EP1035468B1 (en) * 1999-03-08 2003-09-17 Hewlett-Packard Company, A Delaware Corporation Printing of documents from a computer
JP3022898B1 (ja) * 1999-03-12 2000-03-21 ブラザー工業株式会社 カラ―コピ―システム
US7054015B1 (en) 1999-07-02 2006-05-30 Electronics For Imaging, Inc. Printer description file format generator
US6967728B1 (en) 1999-07-23 2005-11-22 Electronics For Imaging, Inc. Reusable and transferable printer driver preference system
US6992785B1 (en) 2000-02-09 2006-01-31 International Business Machines Corporation Method, data structure and apparatus for identifying resources prior to printing
AU2001243401A1 (en) * 2000-03-03 2001-09-17 Iprint.Com, Inc. One-click printing system and method
US7864346B2 (en) * 2000-05-16 2011-01-04 Xerox Corporation Apparatus and method for describing, planning and automatically programming complex finishing tasks
US7206087B2 (en) * 2000-05-16 2007-04-17 Xerox Corporation Finishing module coordinator apparatus and method for assembler/finisher systems
CA2315270A1 (en) 2000-08-04 2002-02-04 Charon Systems Inc. Printer driver system for remote printing
US7016061B1 (en) 2000-10-25 2006-03-21 Hewlett-Packard Development Company, L.P. Load balancing for raster image processing across a printing system
US7007141B2 (en) * 2001-01-30 2006-02-28 Data Domain, Inc. Archival data storage system and method
US20020113990A1 (en) * 2001-02-20 2002-08-22 Tadei Hernandez System for providing prioritized data to a printer and paper handling device
US6816276B2 (en) 2001-03-08 2004-11-09 Electronics For Imaging, Inc. Efficiently scheduled multiple raster image processors
US20020174173A1 (en) * 2001-03-30 2002-11-21 Ravindranath Gunturu Self-downloading network client
JP3848196B2 (ja) * 2002-03-29 2006-11-22 キヤノン株式会社 データ処理装置及びデータ処理方法
US7145680B2 (en) * 2002-05-28 2006-12-05 Kabushiki Kaisha Toshiba Tab printing in a network controller
US20040024844A1 (en) * 2002-08-01 2004-02-05 Stanley Bruce Holmstead Downloading data for printers
EP1475722A1 (de) * 2003-05-06 2004-11-10 Rudi Warttmann Drucksteuersystem
US7464330B2 (en) 2003-12-09 2008-12-09 Microsoft Corporation Context-free document portions with alternate formats
US7617447B1 (en) 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7512878B2 (en) 2004-04-30 2009-03-31 Microsoft Corporation Modular document format
US7487448B2 (en) 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US7549118B2 (en) 2004-04-30 2009-06-16 Microsoft Corporation Methods and systems for defining documents with selectable and/or sequenceable parts
US7359902B2 (en) 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US7418652B2 (en) 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
US7634775B2 (en) 2004-05-03 2009-12-15 Microsoft Corporation Sharing of downloaded resources
US7440132B2 (en) * 2004-05-03 2008-10-21 Microsoft Corporation Systems and methods for handling a file with complex elements
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US7607141B2 (en) 2004-05-03 2009-10-20 Microsoft Corporation Systems and methods for support of various processing capabilities
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US7755786B2 (en) 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US7519899B2 (en) 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
US8164785B2 (en) * 2004-06-15 2012-04-24 Sharp Laboratories Of America, Inc. Method and apparatus for selecting printing devices according to resource availability
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US7584111B2 (en) 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
US7614000B2 (en) 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
US7617229B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7617451B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Structuring data for word processing documents
US7620889B2 (en) 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7617444B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
KR100742332B1 (ko) * 2005-05-20 2007-07-26 삼성전자주식회사 인쇄제어장치 및 인쇄제어방법
US7218876B2 (en) * 2005-07-05 2007-05-15 Xerox Corporation Method and system for improving the throughput of a high capacity document printer
US20070070375A1 (en) * 2005-09-22 2007-03-29 Sharp Laboratories Of America, Inc. Systems and methods for heuristics-based load balancing of hybrid PDL/raster printing
US20100281165A1 (en) * 2006-11-14 2010-11-04 Christoph Gerdes Method for the load distribution in a peer-to-peer-overlay network
US8144346B2 (en) * 2007-08-16 2012-03-27 Ricoh Company, Ltd. Apparatus and method for controlling a device with a device driver
US8533675B2 (en) 2009-02-02 2013-09-10 Enterpriseweb Llc Resource processing using an intermediary for context-based customization of interaction deliverables
JP5424778B2 (ja) * 2009-08-21 2014-02-26 キヤノン株式会社 印刷データ処理装置、印刷データ処理方法、プログラム
US8373883B2 (en) * 2009-09-30 2013-02-12 Hewlett-Packard Development Company, L.P. System and method for managing resource consumption during print production
US9077832B2 (en) * 2011-09-30 2015-07-07 Hewlett-Packard Development Company, L.P. Content retrieval via assignments
US9075616B2 (en) 2012-03-19 2015-07-07 Enterpriseweb Llc Declarative software application meta-model and system for self-modification
US9875066B2 (en) * 2012-04-25 2018-01-23 Hewlett-Packard Development Company, L. P. Single action print application creation
US9582231B2 (en) * 2014-03-26 2017-02-28 Seiko Epson Corporation Printer control device, printing system, and control method that deletes unnecessary data due to interruption

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62204955A (ja) * 1986-03-05 1987-09-09 Minolta Camera Co Ltd 文字画像発生回路
JP2868543B2 (ja) * 1989-09-25 1999-03-10 三菱電機株式会社 計算機装置
JP2997005B2 (ja) * 1990-04-12 2000-01-11 キヤノン株式会社 出力装置
JP3105903B2 (ja) * 1990-07-13 2000-11-06 キヤノン株式会社 印刷制御装置及び印刷装置
EP0470782B1 (en) * 1990-08-08 1996-02-14 The Peerless Group Image rendering process and apparatus
JP2562514B2 (ja) * 1990-09-03 1996-12-11 キヤノン株式会社 印刷制御装置及びイメージデータ描画方法
US5142667A (en) * 1990-09-28 1992-08-25 Xerox Corporation Resource and memory management algorithms for electric printing and electronic reprographic systems
US5175679A (en) * 1990-09-28 1992-12-29 Xerox Corporation Control for electronic image processing systems
CA2041140A1 (en) * 1990-10-12 1992-04-13 Richard L. Kochis Pcl vertical graphics scaling using macros
US5156454A (en) * 1991-07-31 1992-10-20 Daniel White In ground recessed or projecting yard light

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978563A (en) * 1995-10-20 1999-11-02 Fuji Xerox., Ltd. Print processing system and method
USRE43149E1 (en) 2001-03-27 2012-01-31 Senshin Capital, Llc Method for generating a halftone of a source image
USRE42473E1 (en) 2001-05-30 2011-06-21 Senshin Capital, Llc Rendering images utilizing adaptive error diffusion

Also Published As

Publication number Publication date
US5469533A (en) 1995-11-21
DE69328650D1 (de) 2000-06-21
KR940006058A (ko) 1994-03-23
JP3811192B2 (ja) 2006-08-16
EP0578258B1 (en) 2000-05-17
EP0578258A1 (en) 1994-01-12
CA2100178A1 (en) 1994-01-11
DE69328650T2 (de) 2000-08-31
ATE193131T1 (de) 2000-06-15

Similar Documents

Publication Publication Date Title
JPH06266514A (ja) 資源向きプリンタ装置及び作動方法
US5469532A (en) System and method for font wrapping printer data
JP3947233B2 (ja) プリンタシステムおよびその制御方法
US5467435A (en) System and method for mode switching
EP0578262B1 (en) System and method for dynamic printer timeout
US5796930A (en) System architecture for processing and transporting page-map or bit-map data to a raster print engine
JPH0798636A (ja) 分解能を自動的に低下させる装置及び方法
KR100490412B1 (ko) 인쇄작업 순서 제어방법 및 이를 위한 프린트 시스템
US5592593A (en) Printing in data processing systems
EP0772115B1 (en) System, output device, method, and computer-usable medium using a split printer driver to control a computer printer device
US5377311A (en) Fast printer data stream conversion with constrained memory
EP1205876B1 (en) Page rendering in a digital signal processor
JPH07311667A (ja) プリンタ
US6160632A (en) Simplified method to print inherited pages in a page printer
JPH03114856A (ja) プリンタデータ管理方式
EP0874305A2 (en) Integrated display list and building tool for multiple personalities
JPH06259430A (ja) 文字処理装置
JPH09309233A (ja) 画像形成装置及び画像形成方法
JPH06259203A (ja) 文字処理装置
JPH05181626A (ja) 印字装置
WO1997018513A1 (en) Method for merging variable image data into a template image
JPH09277621A (ja) 画像出力装置及びその方法及びコンピュータ可読メモリ
CA2237596A1 (en) Architecture for processing bit-map data for a raster printer
JPH1063252A (ja) 印刷制御装置及びフォント管理方法
JPH09216428A (ja) 高帯域幅圧縮アーキテクチャを具備するプリンタ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060526

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130602

Year of fee payment: 7

EXPY Cancellation because of completion of term