(57)【要約】【課題】プリントジョブデータをレーザプリンタ等の画像形成装置のメモリに格納する方法を提供すること。【解決手段】メモリの管理方法を提供する。この方法の一実施形態は、セグメントに分割可能なデータを受け取るステップ含む。各セグメントに対して、ＲＡＭのような第１のメモリに格納するか、ハードディスクのような第２のメモリに格納するかが決定される。各セグメントは、決定された場所に記憶される。第１のメモリに格納ことが決定された各セグメントが格納される間、第１のメモリが使い尽くされたかどうかを判断する。第１のメモリが使い尽くされたと判断されたとき、第１のセグメントに格納されるべきセグメントは、代わりに第２のメモリに格納される。【選択図】図３
2004265408.tif 000002
【特許請求の範囲】
【請求項１】
メモリ管理方法であって、
セグメントに分割可能なデータを受取るステップと、
各セグメントに対し、
セグメントを第１のメモリに保存するか第２のメモリに保存するかを決定するステップと、
前記セグメントを決定された位置に保存するステップと、
前記第１のメモリに保存されるように決定された各セグメントを保存する間に、
前記第１のメモリが使い尽くされているか否かを判定するステップと、
前記第１のメモリが使い尽くされているとき、前記セグメントを代りに前記第２のメモリに保存するステップと、
を含むメモリ管理方法。
【請求項２】
前記第１のメモリに保存されるように決定された各セグメントを保存する間に、
前記第１のメモリが使い尽くされているか否かを判定するステップと、
前記第１のメモリが使い尽くされていないとき、前記セグメントを前記第１のメモリに保存し続けるステップと、
をさらに含む請求項１に記載のメモリ管理方法。
【請求項３】
前記第１のメモリが使い尽くされていると判定されたとき、前記第１のメモリに先に保存されたセグメントを前記第２のメモリに移動させるステップをさらに含む請求項１に記載のメモリ管理方法。
【請求項４】
前記セグメントを第１のメモリに保存するか第２のメモリに保存するかを決定するステップは、
限界値を特定するステップと、
前記第１のメモリにおける利用可能メモリを監視するステップと、
前記限界値が前記第１のメモリにおける前記監視された利用可能メモリを超過したとき、前記セグメントを前記第２のメモリに保存するように決定するステップと、
前記限界値が前記第１のメモリにおける前記監視された利用可能メモリを超過しないとき、前記セグメントを前記第１のメモリに保存するように決定するステップと、
を含む請求項１に記載のメモリ管理方法。
【請求項５】
前記限界値を特定するステップは、先の複数のセグメントの各々を前記第１のメモリに保存するために必要なメモリの量の平均値を計算するステップを含む、請求項４に記載のメモリ管理方法。
【請求項６】
前記限界値を特定するステップは、先の複数のセグメントの各々を前記第１のメモリに保存するために必要なメモリの量の平均値を計算し、その後前記平均値を増大させるステップを含む請求項４に記載のメモリ管理方法。
【請求項７】
前記限界値を特定するステップは、先のセグメントのグループのうちの１つを保存するために必要なメモリの最大量を特定するステップを含む請求項４に記載のメモリ管理方法。
【請求項８】
前記限界値を特定するステップは、先のセグメントのグループのうちの１つを保存するために必要なメモリの最大量を特定するステップと、前記最大値を減らすステップと、を含む請求項４に記載のメモリ管理方法。
【請求項９】
前記セグメントを第１のメモリに保存するか第２のメモリに保存するかを決定するステップは、先のセグメントが前記第２のメモリに保存されたとき、セグメントを前記第２のメモリに保存するように決定するステップも含む、請求項４に記載のメモリ管理方法。
【請求項１０】
該セグメントを第１のメモリに保存するか第２のメモリに保存するかを決定するステップは、先のセグメントが前記第２のメモリに保存されたとき、セグメントを前記第２のメモリに保存するように決定するステップを含む、請求項１に記載のメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリの管理に関する。詳細には、本発明は、プリントジョブデータをレーザプリンタ等の画像形成装置のメモリに格納する方法を管理することを対象とする。
【背景技術】
【０００２】
画像形成装置にプリントジョブデータを格納するにはいくつかの方法がある。多くの画像形成装置は、ランダムアクセスメモリ（ＲＡＭ）と組合せてハードディスクドライブを使用する。ＲＡＭは、データがプリントエンジンに供給される際にプリントジョブデータかまたはプリントジョブデータのセグメントを格納するために使用する。ハードディスクは、より多量のプリントジョブデータを格納しＲＡＭに負担が掛かり過ぎないようにするために使用する。
【０００３】
プリントジョブの単一コピーをプリントする場合、各ページまたはそのセグメントを表すデータを、一時的にＲＡＭのセクションに格納しプリントする。そのページまたはセグメントがプリントされると、そのＲＡＭのセクションを解放し、後続のプリントするページまたはセグメントを格納するために使用することができる。しばしば、ユーザは、単一プリントジョブの複数の丁合コピーをプリントするように望む。これらの場合、各ページまたはセグメントのデータを、メモリのセクションに格納する。プリントジョブデータを格納するために使用するメモリのセクションは、すべてのコピーがプリントされるまで解放されない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
通常の画像形成装置では、ハードコピーはＲＡＭよりはるかに大きいメモリ容量を有する。たとえば、ＲＡＭがしばしば１００〜２００メガバイトに制限されるのに対し、ハードディスクは２０ギガバイト以上のデータを格納することができる。そのため、相対的に大きいプリントジョブの複数の丁合コピーをプリントする場合、しばしばすべてのプリントジョブデータを格納するために十分なＲＡＭがなく、ハードディスクを利用しなければならない。しかしながら、データは、ハードディスクからよりＲＡＭからの方がずっと高速に検索し処理することができる。各コピーをより効率的にプリントするために、プリントジョブデータを可能な程度までＲＡＭに格納するべきである。ＲＡＭが一杯になると、残りのデータをハードディスクに格納するべきである。
【課題を解決するための手段】
【０００５】
メモリ管理方法であって、セグメントに分割可能なデータを受取るステップと、各セグメントに対し、セグメントを第１のメモリに保存するか第２のメモリに保存するかを決定するステップと、前記セグメントを決定された位置に保存するステップと、前記第１のメモリに保存されるように決定された各セグメントを保存する間に、前記第１のメモリが使い尽くされているか否かを判定するステップと、前記第１のメモリが使い尽くされているとき、前記セグメントを代りに前記第２のメモリに保存するステップと、を含む。
【発明を実施するための最良の形態】
【０００６】
概論
プリンタおよびコピー機等の画像形成装置は、しばしばプリントジョブの複数の丁合コピーをプリントするように要求される。これらの装置は、しばしば、ＲＡＭ等の揮発性高速メモリとハードディスク等のそれより低速な不揮発性メモリとを有する。プリントジョブを処理する時、プリントジョブデータを格納するために利用可能な高速メモリをすべて使用する。ＲＡＭが一杯になると、残りのプリントジョブデータをハードディスクに格納する。本発明は、プリントジョブデータのＲＡＭへの格納を停止しプリントジョブデータのハードディスクへの格納を開始する時を、能動的に確定することと受動的に確定することとをともに含む。
【０００７】
デフォルトとして、プリントジョブデータをＲＡＭに格納する。受動的手法では、利用可能なＲＡＭが使い尽くされた時を検出し、その後プリントジョブをディスクに保存し任意の必要なＲＡＭを解放することにより反応することを伴う。能動的手法では、利用可能なＲＡＭが使い尽くされる時を予測し、利用可能なＲＡＭが使い尽くされないように試みることを伴う。能動的手法の例には、利用可能なＲＡＭを監視することと、現プリントジョブに対する先のデータが格納された場所を留意することがある。利用可能なＲＡＭがクリティカル値未満である場合または先のプリントジョブデータがディスクに格納された場合、現プリントジョブデータをディスクに格納する。
【０００８】
続く節では、本発明の実施形態をプリンティングに関して説明する。本発明はプリンティングに限定されず、本発明を、２つ以上のメモリロケーションを使用してデータを格納するいかなるシステムまたは方法に組込むことも可能である、ということに留意する。
【０００９】
２００２年４月３０日に出願され、「System and Method for Managing Storage of Data in Printing Devices」と題された、本願と同一の譲受人に譲渡された同時係属特許出願第１０／１３６９１８号明細書は、プリントジョブデータをＲＡＭに格納する方法を論考している。
【００１０】
以下の説明を、節に分割する。第１の節では、本発明の実施形態を実現してもよい環境を説明する。第２の節では、本発明の実施形態を実現するために使用する画像形成装置の物理的および論理的コンポーネントを説明する。第３の節では、本発明の実施形態を実施するために行われるステップを説明する。
【００１１】
環境
図１は、本発明の実施形態を実現することが有利であるプリンティング環境１０を示す。環境１０は、コンピュータ１２および１４と画像形成装置１６とを含む。コンピュータ１２および１４は、概して、画像形成装置１６にプリントジョブを送信することができる、デスクトップコンピュータ、ラップトップコンピュータまたはＰＤＡ（個人情報端末）等の任意のコンピューティング装置を表す。画像形成装置１６は、概して、プリントジョブを処理し紙または透過原稿等の媒体シートにテキストおよび図形等の画像を形成することができる、ハードウェアおよびプログラミングの任意の組合せを表す。例には、プリンタ、コピー機およびファックス装置と、３つの機能をすべて提供する複合機とがある。画像形成装置が、コピー機として機能する場合、コンピュータ１２および１４を必要とすることなくプリントジョブを生成することができる、ということに留意する。
【００１２】
コンピュータ１２および１４と画像形成装置１６とを、リンク１８によって相互接続する。リンク１８は、概して、通信リンク、赤外線リンク、無線周波数リンクおよび／または装置１２〜１６間の電子通信を可能にする他の任意のコネクタまたはシステムを介する、ケーブル、無線または遠隔接続を表す。リンク１８は、イントラネット、インターネットまたはそれらの組合せを表してもよい。
【００１３】
プリントジョブという用語は、画像形成装置１６に対して、１つまたは複数の媒体シート上に画像を生成するよう指示する一続きの命令を言う。命令には、テキスト、図形またはそれらの組合せを形成する指示があってもよい。プリントジョブを、コンピュータ１２または１４により、またはコピー機として機能する画像形成装置１６から直接生成してもよい。また、命令には、複数の丁合コピーをプリントする指示等の仕上げ指示があってもよい。プリントジョブは、セグメントに分割可能である。セグメントは、ページであってもページの別個のセクションまたはストリップであってもよい。
【００１４】
ここで図２を参照すると、画像形成装置１６は、複数の丁合コピーに関するプリントジョブに対して作用する場合、同時にプリントジョブを処理し第１のコピー２０をプリントする。第１のコピー２０は、ページａ〜ｅを含む。処理されたプリントジョブを、プリントジョブデータと呼ぶ。プリントジョブを処理している時、画像形成装置１６は、プリントジョブを表すプリントジョブデータをメモリに格納する。第１のコピー２０のページａ〜ｅがプリントされると、画像形成装置１６は、必要に応じてページａ〜ｅに対するプリントジョブデータを検索し、その後、後続するコピー２２をプリントし丁合する。
【００１５】
コンポーネント
ここで、本発明の一実施形態の論理コンポーネントを、図３および図４のブロック図を参照して説明する。図５乃至図８は、図３および図４に示すコンポーネントの機能を説明する助けとなる。図３から始めて、画像形成装置１６は、図示しない他のコンポーネントもあるが、プリントエンジン２４と、ディスク２６と、ＲＡＭ（ランダムアクセスメモリ）２８と、メモリマネージャ３０と、保証モジュール３２とを含む。
【００１６】
プリントエンジン２４は、媒体シート上に画像をプリントするためにプリントジョブデータを利用することができるハードウェアおよびプログラミングを表す。たとえば画像形成装置１６がレーザプリンタである場合、プリントエンジン２４は、光学スキャナ、光導電ドラム、トナーおよび定着器を含む。光学スキャナは、プリントジョブデータを使用して、ドラムに亙ってレーザビームを調整する。ドラムのスキャンされた部分は、トナーを引寄せる。トナーは、ドラムから媒体シートに転写され、所望の画像を形成する。定着器は、トナー転写を永久的にする。
【００１７】
ディスク２６は、概して任意の不揮発性メモリを表す。ＲＡＭ２８は、概して任意のランダムアクセスメモリを表す。メモリマネージャ３０は、ディスク２６およびＲＡＭ２８に対してデータを読出し書込むことができる任意のプログラミングを表す。メモリマネージャ３０はまた、ディスク２６およびＲＡＭ２８の特性を監視する責務も有する。たとえば、メモリマネージャ３０は、ＲＡＭ２８およびディスク２６における利用可能なメモリの量を識別することができる。
【００１８】
保証モジュール３２は、プリントジョブを処理しメモリマネージャ３０に対してＲＡＭ２８およびディスク２６にプリントジョブデータを格納するように指示することができるプログラミングを表す。プリントジョブは、画像形成装置１６から受取られる時、典型的にはＰＤＬ（ページ記述言語）フォーマットである。ＰＤＬフォーマットは、プリントされたページのレイアウトおよび内容を記述する。ＰＤＬフォーマットの最新バージョンはオブジェクト指向であり、それはそれらが線、弧および円等の幾何学的対象に関してページを記述することを意味する。保証モジュール３２は、プリントジョブを、プリントエンジン２４が使用することができる、プリントジョブデータと呼ぶデータに変換する責務を有する。画像形成装置１６がレーザプリンタであるかまたはそれを含む場合、処理には、典型的には、プリントジョブをプリントされる各ピクセルの位置および特性を定義するデータのバイナリストリームにすることが含まれる。
【００１９】
ここで図４を参照すると、保証モジュール３２は、ラスタライザ３６と、コンプレッサ３８と、コントローラ４０とを含む。ラスタライザ３６は、概して、プリントジョブを、プリントエンジン２４によってプリントされる各ピクセルの位置および特性を定義するプリントジョブデータのバイナリストリームにすることができる任意のプログラミングを表す。各ピクセルの位置および特性を定義するバイナリデータストリームは、比較的非常に大きく、ＲＡＭ２８を急速に消耗する。コンプレッサ３８は、データストリームをより管理可能なサイズに圧縮することができるプログラミングを表す。コントローラ４０は、（１）ＲＡＭ２８における利用可能なメモリを識別すること、（２）プリントジョブデータをＲＡＭ２８に格納するかディスク２６に格納するかを確定すること、および（３）それにしたがってメモリマネージャ３０に対してプリントジョブデータを格納するように指示することが可能なプログラミングを表す。
【００２０】
保証モジュール３２は、プリントジョブを処理してプリントジョブデータにする場合、プリントジョブデータをより小さいセグメントに分割し、メモリマネージャ３０に対して、各セグメントをＲＡＭ２８および／またはディスク２６に保存するように指示する。各セグメントは、たとえば、プリントジョブのページかまたはそれより小さい部分であってもよい。
【００２１】
図５は、ＲＡＭ２８およびディスク２６に格納されたプリントジョブデータを示す。プリントジョブデータは、セグメント４２に分割される。各セグメント４２は、この例では、プリントされるページを表す。いくつかのページをプリントするためのデータを含むセグメント４２は、ＲＡＭ２８に格納し、他はディスク２６に格納する。各セグメント４２を、ＲＡＭ２８またはディスク２６におけるセグメントの位置を指定するアドレスによって識別する。セグメント４２によって満たされないＲＡＭ２８の部分を、システムメモリ４６および利用可能メモリ４８と呼ぶ。システムメモリ４６は、画像形成装置１６の他のコンポーネントが使用するものであり、プリントジョブを処理するために使用することはできない。利用可能メモリ４８は、現プリントジョブを処理するために利用可能なメモリを表す。プリントジョブを処理する場合、保証モジュール３２は、各セグメント４２と各セグメントのアドレスとを識別するデータをメタデータ４４としてディスク２６に格納する。
【００２２】
図６は、メタデータ４４の例を示す。この例では、メタデータ４４は、エントリ５０のテーブルである。各エントリ５０は、ＲＡＭ２８またはディスク２６におけるセグメント４２を表す。所与のエントリ５０は、セグメントを識別するデータとそれが表すセグメント４２のアドレスとを含む。セグメント４２がプリントされる順序は、メタデータ４４におけるそのセグメント４２を表すエントリ５０の位置によって影響を受ける。
【００２３】
ここで図７を参照すると、保証モジュール３２は、プリントジョブの各ページ５２をストリップ５４で処理する。ストリップ５２は各々、ページの一貫したセグメントを表す。図７の例では、ストリップ５４を示す順序でプリントすることにより、ページ５２が生成される。ページ５２を処理する時、ストリップ５４は、同時にラスタライズされ、圧縮され、ＲＡＭ２８に書込まれる。
【００２４】
図８は、時間の経過によるページ５２の処理を例示する助けとなる。図示するタイムラインは、時間ｔ１〜ｔ８に分割されている。ｔ１において、ストリップ１をラスタライズする。ｔ２において、ストリーム２をラスタライズし、ストリップ１を圧縮する。ｔ３において、ストリップ３をラスタライズし、ストリップ２を圧縮し、ストリップ１をＲＡＭ２８に書込む。処理は、ｔ８においてストリップ６をＲＡＭ２８に書込むまで継続する。
【００２５】
図８はストリップをラスタライズし圧縮し書込むために必要な時間の量が等しいと推定することに留意する。事実は必ずしもそうではない。所与のストリップの複雑性に応じて、ラスタライズより圧縮に時間がかかる場合かまたはかからない場合がある。圧縮より長く時間がかかる場合、先にラスタライズされたストリップを圧縮している同じ期間中に２つ以上のストリップをラスタライズしてもよい。プロセスの後半で、圧縮よりラスタライズに時間がかかる場合がある。その場合、後続するストリップをラスタライズしている同じ期間中に２つ以上のラスタライズされたストリップを圧縮してもよい。
【００２６】
ページの各ストリップ５４をＲＡＭ２８に書込むと、保証モジュール３２は、ストリップ５４をＲＡＭ２８のセグメント４２として保持するかまたはディスク２６にセグメント４２を形成するようにストリップ５４を転送するかを判断する。その判断を行い、ＲＡＭ２８またはディスク２６に新たなセグメント４２を追加すると、保証モジュール３２は、メタデータ４４に対して新たなセグメント４２を表す新たなエントリ５０を追加する。
【００２７】
動作
ここで、本発明の一実施形態の動作を、図９および図１０のフローチャートを参照して説明する。図９は、複数の丁合コピーを要求するプリントジョブを処理しプリントするために行われるステップを示す。図９を、２つのセクション５７および５８に分割する。セクション５７は、プリントジョブデータを処理し第１のコピーをプリントするステップ５９〜７２を含む。セクション５８は、残りのコピーをプリントするステップ７４〜８８を含む。
【００２８】
セクション５７で開始して、複数の丁合コピーを要求するプリントジョブを受取り（ステップ５９）、変数Ｎのカウンタを１にセットする（ステップ６０）。変数Ｎの値は、プリントジョブの現ページを反映する。代替的に、プリントジョブデータをストリップ５４に分割することができ、変数Ｎは、現ストリップ５４を表すことができる。コントローラ４０は、ページＮに対するプリントジョブデータをＲＡＭ２８に格納するかディスク２６に格納するかを判断し（ステップ６２）、その後ページＮを格納する（ステップ６４）。コントローラ４０は、ページＮに対する参照を含むようにメタデータ４４を更新する（ステップ６６）。ページＮをプリントする（ステップ６８）。そして、ページＮがプリントジョブの最終ページであるか否かを判断する（ステップ７０）。そうでない場合、変数Ｎをインクリメントし（ステップ７２）、本方法はステップ６２に進む。
【００２９】
セクション５８に移ると、ページＮがプリントジョブの最終ページである場合、変数Ｎを１にリセットし、変数Ｃの新たなカウンタを２にセットする（ステップ７４）。変数Ｃは、プリントされているかまたはその過程にあるコピーの数を表す。ステップ６２〜７２の間に、第１のコピーをプリントした。コピー２で開始する残りのコピーは、以下のステップでプリントする。コントローラ４０は、ページＮを識別するためにメタデータ４４を読出す（ステップ７６）。そして、ページＮをディスク２６から検索するかもしくはＲＡＭ２８において位置を特定し、プリントする（ステップ７８）。そして、ページＮがコピーＣの最終ページであるか否かを判断する（ステップ８０）。そうでない場合、変数Ｎをインクリメントし（ステップ８２）、本方法はステップ７６を繰り返す。
【００３０】
ステップ８０において提示した質問に対する答えが肯定である場合、プリントジョブの最後のコピーをプリントしたか否かを判断する（ステップ８４）。答えが否定である場合、変数Ｃをインクリメントし、変数Ｎを１にセットし（ステップ８６）、本方法はステップ７６を繰り返す。答えが肯定である場合、プリントジョブは完了し、プリントジョブデータを格納するために使用するメモリを消去するかまたは解放する（ステップ８８）。
【００３１】
ここで図１０を参照し、ステップ６２および６４をより詳細に示す。最初に、現プリントジョブの先のページ、ページＮ−１に対するプリントジョブデータをＲＡＭ２８に書込んだか否かを確かめる（ステップ６２ａ）。答えが否定である場合、本方法は後述するようにステップ６４ａに進む。答えが肯定である場合、コントローラ４０は、クリティカル値を特定する（ステップ６２ｂ）。クリティカル値は、ページＮに対するプリントデータをＲＡＭ２８に格納するために十分であると予測される、ＲＡＭ２８内のメモリの量を表す。ページＮに対するプリントジョブデータがまだＲＡＭ２８に保存されていないため、ページＮは、どれくらいのメモリが必要となるかが既知ではない。
【００３２】
クリティカル値を、複数の方法で計算することができる。画像形成装置に対するクリティカル値を、工場で計算または設定してもよい。製造業者試験を、プリントデータのページを格納するために必要なメモリの平均的な量を確定するように行ってもよい。クリティカル値を、その量と等しくしてもよい。あるいはバッファを作成するために、その平均を指定の割合で増大させてもよく、クリティカル値をその増大した平均と等しくしてもよい。
【００３３】
クリティカル値を、製造業者により別の方法で設定してもよい。それを、プリントデータのページを格納するために必要なメモリの最大量と等しくしてもよい。所与のページに対するラスタライズされたプリントジョブデータは、圧縮される前、他の任意のページに対するラスタライズされたが圧縮されていないプリントジョブデータと同じ量のメモリを必要とする。所与のページの性質により、そのページのラスタライズされたデータを、所与の割合で圧縮することができる。たとえば、主にテキストを含むセグメントを、主に図形を含むセグメントより圧縮することができる。スキャンされた写真に対するラスタライズされたプリントジョブデータは、非常にわずかにしか圧縮することができない。プリントジョブデータを格納するために必要なメモリがクリティカル値を決して超過しないことを保証するために、クリティカル値を、ページに対する、ラスタライズされたが圧縮されていないプリントジョブデータを格納するために必要なメモリの量と等しくすることができる。あるレベルの圧縮がほぼ常に可能であるため、その値を所与の割合で低減してもよい。
【００３４】
クリティカル値を、製造業者によって設定するのではなく、顧客の環境における画像形成装置の履歴的使用に基づいて計算してもよい。これにより、クリティカル値を、ユーザかまたはユーザのグループのプリント習慣に基づいて最適化することができる。クリティカル値は、現プリントジョブのページをＲＡＭ２８に格納するためにそれまで必要とされたメモリの最大量であってもよい。それを、識別された数の先のページのうちのページを格納するために必要なメモリの最大量を識別することによって計算してもよい。最大値は、必ずしも適当なクリティカル値ではないため、メモリの識別された最大量を、相対的に小さい割合で低減してもよい。
【００３５】
代りに、クリティカル値を、ページを格納するために必要なメモリの平均的な量としてもよい。その平均を、（ＲＡＭ２８およびディスク２６における）プリントジョブの先のページかまたは２つ以上のプリントジョブに及ぶ指定された数の先のページを格納するために必要なメモリの量を監視することによって、計算してもよい。バッファを作成するために、平均を、実際の平均より大きいが先のページに必要な最大量より小さくなるように、相対的に小さい割合で人為的に増大させてもよい。
【００３６】
ＲＡＭ２８における利用可能メモリを監視し（ステップ６２ｃ）、利用可能メモリがクリティカル値を超過するか否かを判断する（ステップ６２ｄ）。答えが否定である場合、本方法はステップ６４ａに進み、そのページに対するプリントジョブデータをディスク２６に格納する。答えが肯定である場合、本方法はステップ６４ｃに進み、そのページに対するプリントジョブデータをＲＡＭ２８に格納する。
【００３７】
ページＮを、処理し、ステップ６２ａおよび６２ｄで提示された質問に対する答えに基づいてディスク２６かまたはＲＡＭ２８のいずれかに格納する。現プリントジョブの先のページに対するプリントジョブデータがディスクに格納されたか（ステップ６２ａ参照）またはＲＡＭ２８における利用可能メモリがクリティカル値を超過しない（ステップ６２ｄ）場合に、ステップ６４ａおよび６４ｂに達する。ステップ６４ａおよび６４ｂでは、ページＮを処理してディスク２６に格納する。処理には、ラスタライズ、圧縮およびＲＡＭ２８への書込みがある。ＲＡＭ２８に書込まれたページＮに対するプリントジョブデータを、ディスク２６に転送する。ＲＡＭ２８におけるページＮを保持するメモリを解放し、後続するページを処理する時に使用することができる。
【００３８】
先のページに対するプリントジョブデータを首尾よくＲＡＭ２８に格納しており（ステップ６２ａ参照）ＲＡＭ２８における利用可能メモリがクリティカル値を超過する（ステップ６２ｄ）場合に、ステップ６４ｃ〜６４ｇに達する。ステップ６４ｃにおいてページＮを処理する際、ＲＡＭ２８を、メモリアウト状態でないか監視する（ステップ６４ｄ）。メモリアウト状態は、ＲＡＭ２８における利用可能メモリが使い尽くされた場合に発生する。これは、ページＮに対する実際のプリントジョブデータを格納するために必要なメモリが、ステップ６２ｃにおいて監視したＲＡＭ２８における利用可能メモリを超過した場合に発生する。十分なＲＡＭがある限り、ページＮを処理し続け、ＲＡＭ２８において完全に書込んで書込み禁止にする（ステップ６４ｅ）。書込み禁止には、ページに対するプリントジョブデータを書込むＲＡＭ２８の部分をロックすることと、そのページのすべてのコピーがプリントされるまでそのメモリを他の目的で解放しないことがある。
【００３９】
十分なＲＡＭがない場合、本方法はステップ６４ｆに進み、ページＮ−１に対するプリントジョブデータ、ＲＡＭ２８に格納された先のページをディスク２６に送信する。ＲＡＭ２８においてページＮ−１に対するプリントジョブデータを格納するために使用したメモリを解放する（ステップ６４ｇ）。そして、解放されたメモリを使用してページＮを処理することができ、本方法はステップ６２ａに戻る。ページＮ−１がもはや首尾よくＲＡＭ２８に格納されていないため、ステップ６２ａにおいて提示された質問に対する答えは否定となり、ページＮをＲＡＭ２８において処理し（ステップ６４ａ）ディスク２６に格納する（ステップ６４ｂ）。ページＮを処理するために必要なメモリがＲＡＭ２８における利用可能メモリを超過しさらなるメモリアウト状態が発生するという危険がある、ということに留意する。かかる場合、ＲＡＭ２８においてページＮを処理するために十分なメモリが解放されるまで、先のページ（Ｎ−２、Ｎ−３等）に対するプリントデータをディスク２６に移動させる。
【００４０】
ステップ６４ｄにおいてメモリアウト状態を検出することは、先のページと現ページとがディスク２６に格納されるようにする受動的手法である。対照的に、ステップ６２ａおよび６２ｄにおいて提示された質問に基づいてプリントジョブデータを格納するか否かに関する判断に達することは、能動的手法を表す。図１０に示すように、最初に能動的手法を使用する。ほとんどの場合、ステップ６２ｂで識別されるクリティカル値は、ＲＡＭ２８において現ページを処理するために必要なメモリを超過する。そうでない場合、受動的手法を使用してメモリアウト状態を識別するため、ＲＡＭ２８において必要なメモリを解放してプリントジョブをディスク２６に移動させることができる。
【００４１】
本方法のステップのいくつかを、画像形成装置の特定のコンポーネントによって実行されるように説明した。本方法のステップを、図示するかまたは図示しない他の方法でおよび他のコンポーネントによって実行してもよい、ということを留意する。図９および図１０のフローチャートは実行の特定の順序を示すが、実行の順序は図示するものと異なってもよい。たとえば、２つ以上のブロックの実行の順序を、図示する順序に対して並べ替えてもよい。また、連続して示す２つ以上のブロックを、同時にまたは部分的に同時に実行してもよい。かかる変形はすべて、本発明の範囲内にある。
【００４２】
本発明を、上述した例示的な実施形態に関して示し説明した。しかしながら、添付の特許請求の範囲において定義される本発明の精神および範囲から逸脱することなく、他の形態、詳細および実施形態を行ってもよいことを理解しなければならない。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態を組込んでもよいコンピューティング環境の概略図。
【図２】プリント文書とその文書の複数の丁合コピーとを示す図。
【図３】本発明の実施形態による画像形成装置のコンポーネントを示すブロック図。
【図４】本発明の実施形態による保証モジュールのコンポーネントを示すブロック図。
【図５】本発明の実施形態によるＲＡＭとディスクとに格納されたプリントジョブデータを示すブロック図。
【図６】本発明の実施形態によるメタデータのコンテンツを示すブロック図。
【図７】ストリップに分割されたページを示す図。
【図８】時間の経過により処理されているプリントジョブデータを示す図。
【図９】本発明の実施形態によるプリントジョブの複数の丁合コピーを格納しプリントするために行うステップを示すフローチャート。
【図１０】本発明の実施形態による図９の確定および処理ステップをさらに説明するフローチャート。
【図１】
2004265408.tif 000003
【図２】
2004265408.tif 000004
【図３】
2004265408.tif 000005
【図４】
2004265408.tif 000006
【図５】
2004265408.tif 000007
【図６】
2004265408.tif 000008
【図７】
2004265408.tif 000009
【図８】
2004265408.tif 000010
【図９】
2004265408.tif 000011
【図１０】
2004265408.tif 000012