(57)【要約】【課題】描画処理を行う際に使用されるバッファメモリと、格納装置に格納されている印刷データを印刷装置に送信する際に使用されるバッファメモリを１つのメモリとして構成した場合でもデッドロック状態の発生を防止する。【解決手段】  バッファ制御部３２は、バッファメモリ３５およびスプール装置３６がともにフル状態（図８（Ａ））で、スプール装置３６に格納されている印刷データの印刷指示を受け付けた場合、スプール装置３６の上限値を第１の上限値（９９０ＧＢ）から第２の上限値（１ＴＢ）に変更し、バッファメモリ３５内の印刷データをスプール装置３６に移動させる（図８（Ｂ））。そして、バッファ制御部３２は、この印刷データをスプール装置３６からバッファメモリ３５に移動させて送信する（図８（Ｃ））。【選択図】図８
2015018434.tif 000002
【特許請求の範囲】
【請求項１】
受け付けた描画指示に基づいて描画処理を行って印刷データを作成する描画処理手段と、
前記描画処理手段により作成された印刷データを格納する格納装置と、
前記格納装置に格納されている印刷データを印刷装置に送信する送信手段と、
前記描画処理手段により作成された印刷データを前記格納装置に格納させる前に一時的に記憶するとともに、前記送信手段によって印刷装置に送信するための印刷データを前記格納装置から一時的に移動させて記憶させるための記憶手段と、
前記記憶手段および前記格納装置のデータ量を管理することにより、前記記憶手段に記憶されている印刷データの前記格納装置への移動、および前記格納装置に格納されている印刷データの前記記憶手段への移動の制御を行う制御手段とを備え、
前記制御手段は、前記格納装置に格納されている印刷データのデータ量が第１の上限値以上となった場合、前記描画処理手段に対して描画処理を停止させ、前記格納装置に格納されている印刷データの印刷指示を受け付けた場合、前記格納装置の上限値を前記第１の上限値よりも大きな値の第２の上限値に変更して、前記記憶手段に格納されている印刷データを前記格納装置に移動させた後に、印刷指示を受け付けた印刷データを前記格納装置から前記記憶手段に移動させてから、当該印刷データを前記送信部から前記印刷装置に送信するような制御を行う印刷制御装置。
【請求項２】
前記制御手段は、前記第１の上限値よりも前記記憶手段の記憶容量以上大きな値を前記第２の上限値とする請求項１記載の印刷制御装置。
【請求項３】
前記制御手段は、前記第１の上限値よりも、印刷データの１ページ当たりの最大データ量に前記描画処理手段において並列処理可能なページ数を乗算して得られる値以上大きな値を前記第２の上限値とする請求項１記載の印刷制御装置。
【請求項４】
受け付けた描画指示に基づいて描画処理を行って印刷データを作成する描画処理手段と、前記描画処理手段により作成された印刷データを格納する格納装置と、前記格納装置に格納されている印刷データを印刷装置に送信する送信手段と、前記描画処理手段により作成された印刷データを前記格納装置に格納させる前に一時的に記憶するとともに、前記送信手段によって印刷装置に送信するための印刷データを前記格納装置から一時的に移動させて記憶させるための記憶手段と、前記記憶手段および前記格納装置のデータ量を管理することにより、前記記憶手段に記憶されている印刷データの前記格納装置への移動、および前記格納装置に格納されている印刷データの前記記憶手段への移動の制御を行う制御手段とを備えた印刷制御装置を制御するためのプログラムであって、
前記格納装置に格納されている印刷データのデータ量が第１の上限値以上となった場合、前記描画処理手段に対して描画処理を停止させるステップと、
前記格納装置に格納されている印刷データの印刷指示を受け付けた場合、前記格納装置の上限値を前記第１の上限値よりも大きな値の第２の上限値に変更するステップと、
前記記憶手段に格納されている印刷データを前記格納装置に移動させるステップと、
印刷指示を受け付けた印刷データを前記格納装置から前記記憶手段に移動させてから、当該印刷データを前記送信部から前記印刷装置に送信するような制御を行うステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置よびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ファイルへの並列ディスク制御バッファの割当てをバッファセグメント単位に行えるようにして、並列ディスク制御バッファを１バッファとして使用していた場合に比べてアクセス効率を向上させるようにした並列ディスク制御バッファの割当て方式が開示されている。
【０００３】
特許文献２には、ファイル内の空きスペースが一定量以下になると、既存スペース内のレコード操作業務を続行したまま別の処理プロセスで非同期にファイルを自動拡張し、空きスペース不足による業務処理の中断及び拡張処理が業務処理に与える影響をなくすようにしたファイルの自動拡張方式が開示されている。
【０００４】
特許文献３には、上位装置からのバッファメモリに対するリード／ライト処理と、バッファメモリとディスク装置との間のリード／ライト処理を非同期に並行して行うようにした外部記憶装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−３０４６１５号公報
【特許文献２】特開平４−２９９７４８号公報
【特許文献３】特開平６−１４９４８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、描画処理を行うことにより作成される印刷データを格納装置に格納する際に使用するバッファメモリと、格納装置に格納されている印刷データを印刷装置に送信する際に使用するバッファメモリを１つのメモリ（記憶手段）として構成した場合でも、格納装置とメモリが共にフル状態となって印刷データの送信を行うことができなくなってしまうデッドロック状態の発生を防止することが可能な印刷制御装置よびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
［印刷制御装置］
請求項１に係る本発明は、受け付けた描画指示に基づいて描画処理を行って印刷データを作成する描画処理手段と、
前記描画処理手段により作成された印刷データを格納する格納装置と、
前記格納装置に格納されている印刷データを印刷装置に送信する送信手段と、
前記描画処理手段により作成された印刷データを前記格納装置に格納させる前に一時的に記憶するとともに、前記送信手段によって印刷装置に送信するための印刷データを前記格納装置から一時的に移動させて記憶させるための記憶手段と、
前記記憶手段および前記格納装置のデータ量を管理することにより、前記記憶手段に記憶されている印刷データの前記格納装置への移動、および前記格納装置に格納されている印刷データの前記記憶手段への移動の制御を行う制御手段とを備え、
前記制御手段は、前記格納装置に格納されている印刷データのデータ量が第１の上限値以上となった場合、前記描画処理手段に対して描画処理を停止させ、前記格納装置に格納されている印刷データの印刷指示を受け付けた場合、前記格納装置の上限値を前記第１の上限値よりも大きな値の第２の上限値に変更して、前記記憶手段に格納されている印刷データを前記格納装置に移動させた後に、印刷指示を受け付けた印刷データを前記格納装置から前記記憶手段に移動させてから、当該印刷データを前記送信部から前記印刷装置に送信するような制御を行う印刷制御装置である。
【０００８】
請求項２に係る本発明は、前記制御手段が、前記第１の上限値よりも前記記憶手段の記憶容量以上大きな値を前記第２の上限値とする請求項１記載の印刷制御装置である。
【０００９】
請求項３に係る本発明は、前記制御手段が、前記第１の上限値よりも、印刷データの１ページ当たりの最大データ量に前記描画処理手段において並列処理可能なページ数を乗算して得られる値以上大きな値を前記第２の上限値とする請求項１記載の印刷制御装置である。
【００１０】
[プログラム]
請求項４に係る本発明は、受け付けた描画指示に基づいて描画処理を行って印刷データを作成する描画処理手段と、前記描画処理手段により作成された印刷データを格納する格納装置と、前記格納装置に格納されている印刷データを印刷装置に送信する送信手段と、前記描画処理手段により作成された印刷データを前記格納装置に格納させる前に一時的に記憶するとともに、前記送信手段によって印刷装置に送信するための印刷データを前記格納装置から一時的に移動させて記憶させるための記憶手段と、前記記憶手段および前記格納装置のデータ量を管理することにより、前記記憶手段に記憶されている印刷データの前記格納装置への移動、および前記格納装置に格納されている印刷データの前記記憶手段への移動の制御を行う制御手段とを備えた印刷制御装置を制御するためのプログラムであって、
前記格納装置に格納されている印刷データのデータ量が第１の上限値以上となった場合、前記描画処理手段に対して描画処理を停止させるステップと、
前記格納装置に格納されている印刷データの印刷指示を受け付けた場合、前記格納装置の上限値を前記第１の上限値よりも大きな値の第２の上限値に変更するステップと、
前記記憶手段に格納されている印刷データを前記格納装置に移動させるステップと、
印刷指示を受け付けた印刷データを前記格納装置から前記記憶手段に移動させてから、当該印刷データを前記送信部から前記印刷装置に送信するような制御を行うステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１１】
請求項１に係る本発明によれば、描画処理を行うことにより作成される印刷データを格納装置に格納する際に使用するバッファメモリと、格納装置に格納されている印刷データを印刷装置に送信する際に使用するバッファメモリを１つのメモリ（記憶手段）として構成した場合でも、格納装置とメモリが共にフル状態となって印刷データの送信を行うことができなくなってしまうデッドロック状態の発生を防止することが可能な印刷制御装置を提供することができる。
【００１２】
請求項２に係る本発明によれば、請求項１に係る発明により得られる効果に加えて、格納装置の上限値が第１の上限値から第２の上限値に変更された場合に、記憶手段に格納されている全ての印刷データを格納装置に移動させることが可能になるという効果を得ることができる。
【００１３】
請求項３に係る本発明によれば、請求項１に係る発明により得られる効果に加えて、格納装置の上限値が第１の上限値から第２の上限値に変更された場合に、描画処理手段において描画処理中の全ての印刷データを格納装置に移動させることが可能になるという効果を得ることができる。
【００１４】
請求項４に係る本発明によれば、描画処理を行うことにより作成される印刷データを格納装置に格納する際に使用するバッファメモリと、格納装置に格納されている印刷データを印刷装置に送信する際に使用するバッファメモリを１つのメモリ（記憶手段）として構成した場合でも、格納装置とメモリが共にフル状態となって印刷データの送信を行うことができなくなってしまうデッドロック状態の発生を防止することが可能なプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の印刷システムのシステム構成を示す図である。
【図２】本発明の一実施形態におけるコントローラ１０のハードウェア構成を示すブロック図である。
【図３】本発明の一実施形態におけるコントローラ１０の機能構成を示すブロック図である。
【図４】描画処理部３１がバッファ制御部３２との間でバッファメモリ３５の空きがあることを確認する具体的な処理を説明するための図である（バッファメモリ３５に空きがある場合）。
【図５】描画処理部３１がバッファ制御部３２との間でバッファメモリ３５の空きがあることを確認する具体的な処理を説明するための図である（バッファメモリ３５に空きがない場合）。
【図６】バッファ制御部３２が行っている印刷データの制御の概略を説明するための図である。
【図７】バッファメモリ３５とスプール装置３６がバッファデッドロック状態となった場合の様子を説明するための図である。
【図８】バッファ制御部３２がスプール装置３６の上限値を切り替える際の動作を説明するための図である。
【図９】本発明の一実施形態におけるコントローラ１０の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１は本発明の一実施形態の印刷システムのシステム構成を示す図である。
【００１８】
本発明の一実施形態の印刷システムは、図１に示されるように、印刷用紙上に画像を印刷する印刷装置２０と、印刷装置２０の印刷動作を制御するためのコントローラ（印刷制御装置）１０とから構成されている。
【００１９】
次に、図１に示したコントローラ１０のハードウェア構成を図２に示す。
コントローラ１０は、図２に示されるように、ＣＰＵ１１、メモリ１２、ハードディスクドライブ（ＨＤＤ）１３、ネットワークを介して印刷装置２０との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイを含むユーザインタフェース（ＵＩ）装置１５を有する。これらの構成要素は、制御バス１６を介して互いに接続されている。
【００２０】
ＣＰＵ１１は、メモリ１２またはＨＤＤ１３に格納された制御プログラムに基づいて所定の処理を実行して、コントローラ１０の動作を制御する。なお、本実施形態では、ＣＰＵ１１は、メモリ１２またはＨＤＤ１３内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００２１】
図３は、上記の制御プログラムが実行されることにより実現されるコントローラ１０の機能構成を示すブロック図である。
【００２２】
本実施形態のコントローラ１０は、図３に示されるように、描画処理部３１と、バッファ制御部３２と、送信部３３と、コマンドキュー３４と、バッファメモリ（記憶手段）３５と、スプール装置（格納装置）３６とを備えている。
【００２３】
コマンドキュー３４は、ページの画像の描画を指示する描画指示コマンドが上位装置から送られてくると、この描画指示コマンドを順次格納する。
【００２４】
描画処理部３１は、バッファ制御部３２に対してバッファメモリ３５の空きがあることを確認してから、コマンドキュー３４に格納されている描画指示コマンドを取り出し、取り出した描画指示コマンドに基づいて描画処理を行って、ビットマップデータ等のラスタ形式の印刷データを作成する。なお、コマンドキュー３４を設けない場合には、描画処理部３１は、受け付けた描画指示コマンドに基づいて描画処理を行って印刷データを作成する。
【００２５】
そして、描画処理部３１は、作成したラスタ形式の印刷データをバッファメモリ３５に転送して記憶させる。
【００２６】
ここで、描画処理部３１がバッファ制御部３２との間でバッファメモリ３５の空きがあることを確認する具体的な処理を図４、図５を参照して説明する。
【００２７】
描画処理部３１は、ある描画指示コマンドの描画処理が終了すると、バッファ制御部３２に対してバッファ確保要求を行う。そして、図４に示すように、このバッファ確保要求に対してバッファ制御部３２が描画処理部３１に対してバッファ空き通知を返信してきた場合、描画処理部３１はバッファメモリ３５に空き領域があると判定して、次の描画指示コマンドをコマンドキュー３４から取り出して描画処理を実行する。
【００２８】
図５に示すように、バッファ確保要求に対してバッファ制御部３２が描画処理部３１に対してバッファフル通知（バッファメモリ３５に空きが無い旨の通知）を返信してきた場合、描画処理部３１は、次の描画処理を停止して待機状態となる。そして、描画処理部３１は、この待機状態においてバッファ制御部３２からバッファ空き通知を受信すると、描画処理を再開して描画指示コマンドをコマンドキュー３４から取り出して描画処理を実行する。
【００２９】
バッファメモリ３５は、描画処理部３１により作成された印刷データをスプール装置３６に格納させる前に一時的に記憶するとともに、送信部３３によって印刷装置２０に送信するための印刷データをスプール装置３６から一時的に移動させて記憶させるための記憶手段である。
【００３０】
本実施形態においては、コストダウンを目的として、描画処理を行うことにより作成される印刷データを格納装置であるスプール装置３６に格納する際に使用するバッファメモリと、スプール装置３６に格納されている印刷データを印刷装置２０に送信する際に使用するバッファメモリを物理的に１つのバッファメモリ３５として構成している。
【００３１】
さらに、本実施形態においては、このバッファメモリ３５を２つの領域に分割して、それぞれを描画処理を行う際のバッファメモリ、印刷データを印刷装置２０に送信する際に使用するバッファメモリとして使用するのではなく、１つの記憶領域として統合して使用するようにしている。
【００３２】
そのため、バッファメモリ３５の全記憶領域を、描画処理を行う際のバッファメモリとして使用することも可能であり、印刷データを印刷装置２０に送信する際に使用するバッファメモリとして使用することも可能であり、バッファメモリ３５の記憶領域を効率的に使用することが可能である。
【００３３】
しかし、バッファメモリ３５を１つの記憶領域として使用することにより、描画処理のみを行って印刷データを格納し続けるような制御を行うといわゆるデッドロック状態となり印刷データを印刷装置２０に送信することができなくなるような可能性がある。このデッドロック状態の詳細については後述する。
【００３４】
スプール装置３６は、ＨＤＤ等により構成され、描画処理部３１により作成された印刷データを格納（スプール）するための格納装置である。本実施形態では、例えば、このスプール装置３６の最大記憶容量が１ＴＢ（テラバイト）であるものとして説明を行う。
【００３５】
送信部３３は、スプール装置３６に格納されている印刷データを印刷装置２０に送信する。なお、送信部３３は、スプール装置３６内に格納されている印刷データを印刷装置２０に直接送信するのではなく、印刷指示を受けた印刷データがバッファメモリ３５に一旦移動されて展開された後に、バッファメモリ３５内の印刷データを印刷装置２０に対して送信するような制御を行う。
【００３６】
ここで、送信部３３が、バッファメモリ３５内に展開された印刷データを印刷装置２０に転送する転送方法としては、シリアル転送、パラレル転送、ＤＭＡ(Direct Memory Access)転送等のどのような転送方法を用いてもよい。ここで送信部３３がバッファメモリ３５内の印刷データをＤＭＡ転送により転送する場合には、送信部３３は、印刷データをバッファメモリ３５から読み出して直接印刷装置２０に転送するのではなく、印刷装置２０に対してバッファメモリ３５の記憶場所の情報を送信することにより、印刷データがバッファメモリ３５から直接印刷装置２０に対して転送される。
【００３７】
バッファ制御部３２は、バッファメモリ３５およびスプール装置３６のデータ量（現在記憶されている印刷データのデータ量）を管理することにより、バッファメモリ３５に記憶されている印刷データのスプール装置３６への移動、およびスプール装置３６に格納されている印刷データのバッファメモリ３５への移動の制御を行う。
【００３８】
このバッファ制御部３２が行っている印刷データの制御の概略を図６を参照して説明する。
【００３９】
先ず、印刷データを作成して格納する際のバッファ制御部３２の動作を図６（Ａ）を参照して説明する。
【００４０】
描画処理部３１により印刷データが作成され、バッファメモリ３５に格納され、スプール装置３６において使用されている記憶容量が上限値に達していない場合、バッファ制御部３２は、図６（Ａ）に示されるように、バッファメモリ３５に格納された印刷データを順次スプール装置３６に移動させるような制御を行う。
【００４１】
次に、スプール装置３６に格納されている印刷データを印刷装置２０に送信する際のバッファ制御部３２の動作を図６（Ｂ）を参照して説明する。
【００４２】
スプール装置３６に格納されている印刷データに対して印刷指示が行われた場合、バッファ制御部３２は、図６（Ｂ）に示されるように、この印刷データを一旦バッファメモリ３５に移動させて、送信部３３に対してこの印刷データを印刷装置２０に送信するような指示を行う。そのため、送信部３３は、バッファメモリ３５に記憶されている印刷データを印刷装置２０に送信するような動作を行う。
【００４３】
このようにバッファ制御部３２は、バッファメモリ３５とスプール装置３６間の印刷データの移動の制御を行っているが、上述したように、描画処理済み印刷データによりバッファメモリ３５とスプール装置３６の記憶容量が全て使用されてしまうと、デッドロック状態となり印刷データを印刷装置２０に送信することができなくなってしまう。このように、バッファメモリ３５とスプール装置３６がバッファデッドロック状態となった場合の様子を図７を参照して説明する。
【００４４】
図７に示す状態では、バッファメモリ３５は、描画処理部３１により作成された印刷データにより全ての記憶容量が使用済みとなっているバッファフル状態となっている。また、スプール装置３６についても、全ての記憶容量が印刷データの格納に使用されてスプールフル状態となっている。
【００４５】
この図７に示したような状態では、スプール装置３６に格納されている印刷データについて印刷指示がされた場合、バッファメモリ３５がバッファフル状態であることにより、スプール装置３６から印刷指示された印刷データをバッファメモリ３５に移動することができない。そして、バッファメモリ３５に空き領域を作ろうとしても、スプール装置３６がスプールフル状態となっているため、バッファメモリ３５からスプール装置３６に印刷データを移動させることができない。
【００４６】
そのため、図７に示すようなバッファデッドロック状態となった場合、バッファメモリ３５とスプール装置３６との間で印刷データの移動が不可能となり印刷処理を停止せざるを得ないようなことにもなってしまう。
【００４７】
このようなデッドロック状態の発生を防止するため、本実施形態においては、バッファ制御部３２は、スプール装置３６の記憶容量の上限値（スプール上限値）として２段階の上限値（第１の上限値、第２の上限値）を設定する。
【００４８】
本実施形態においては、スプール装置３６の物理的な記憶容量の最大値が１ＴＢであるため、例えば、第１の上限値として９９０ＧＢという値を用い、第２の上限値として１ＴＢという値を用いる。そして、バッファ制御部３２は、第１および第２の上限値という２つの上限値を図８に示すような制御により切り替える。
【００４９】
次に、バッファ制御部３２がスプール装置３６の上限値を切り替える際の動作を図８を参照して説明する。
【００５０】
バッファ制御部３２は、図８（Ａ）に示されるように、スプール装置３６に格納されている印刷データのデータ量が第１の上限値（例えば、９９０ＧＢ）以上となった場合、描画処理部３１に対して描画処理を停止させる。
【００５１】
そして、バッファ制御部３２は、スプール装置３６に格納されている印刷データの印刷指示を受け付けた場合、スプール装置３６の上限値を第１の上限値よりも大きな値の第２の上限値（例えば、１ＴＢ）に変更して、バッファメモリ３５に格納されている印刷データをスプール装置３６に移動させる（図８（Ｂ））。その後に、バッファ制御部３２は、印刷指示を受け付けた印刷データをスプール装置３６からバッファメモリ３５に移動させてから、当該印刷データを送信部３３から印刷装置２０に送信するような制御を行う（図８（Ｃ））。
【００５２】
なお、スプール装置３６内の印刷データが印刷装置２０に転送されたことによってスプール装置３６のデータ量が第１の上限値以下となった場合、バッファ制御部３２は、スプール装置３６の上限値を第２の上限値から第１の上限値に戻すような制御を行う。
【００５３】
ここで第１の上限値、第２の上限値の設定方法としては、例えば、第１の上限値よりもバッファメモリ３５の記憶容量（例えば、８ＧＢ）以上大きな値を第２の上限値とする。
【００５４】
このように第１および第２の上限値を設定することにより、スプール装置３６の使用記憶領域が第１の上限値に達した場合でも、スプール装置３６の上限値を第１の上限値から第２の上限値に変更することにより、バッファ制御部３２は、バッファメモリ３５内の全印刷データをスプール装置３６に移動することができる。
【００５５】
また、第１の上限値、第２の上限値の設定方法はこのような設定方法に限定されるものではなく、バッファ制御部３２は、第１の上限値よりも、印刷データの１ページ当たりの最大データ量に描画処理部３１において並列処理可能なページ数を乗算して得られる値以上大きな値を第２の上限値とするようにしてもよい。
【００５６】
例えば、描画処理部３１において並列処理可能なページ数が４ページであり、印刷データの１ページ当たりの最大データ量が２ＧＢであったとすると、第２の上限値が第１の上限値よりも８ＧＢ（４×２ＧＢ）以上大きな値となるように設定する。
【００５７】
このように第１および第２の上限値を設定することにより、スプール装置３６の使用記憶領域が第１の上限値に達した場合でも、スプール装置３６の上限値を第１の上限値から第２の上限値に変更することにより、描画処理部３１において描画処理中の全ての印刷データをスプール装置３６に移動させることができる。
【００５８】
次に、本実施形態におけるコントローラ１０の動作を図面を参照して詳細に説明する。
【００５９】
図９は、本実施形態におけるコントローラ１０の動作を説明するためのフローチャートである。
【００６０】
ここで、バッファメモリ３５およびスプール装置３６がフル状態でない場合に処理がスタートしたものとして説明する。先ず、描画処理部３１はコマンドキュー３４から描画指示コマンドを取り出すと（ステップＳ１０１）、バッファ制御部３２にバッファフル（バッファメモリ３５の記憶領域に空きが無くフルとなっている状態）であるか否かを確認する。そして、バッファフルでなければ（ステップＳ１０２においてｎｏ）、描画処理部３１は、その描画指示コマンドに基づいて描画処理を実行する（ステップＳ１０３）。
【００６１】
また、バッファ制御部３２は、スプール装置３６の記憶容量の空き状態を監視しており（ステップＳ１０４）、スプールフル（スプール装置３６の使用済み記憶容量が９９０ＧＢ（第１の上限値）に到達した状態）でなければ（ステップＳ１０４においてｎｏ）、バッファメモリ３５内の印刷データをスプール装置３６に移動させる制御を行っている（ステップＳ１０５）。
【００６２】
なお、描画処理部３１がバッファ制御部３２にバッファフルであるかを問い合わせた結果、バッファフルとなっている場合（ステップＳ１０２においてｙｅｓ）、描画処理部３１は、バッファ空き通知がバッファ制御部３２から送られてくるまで描画処理を停止する（ステップＳ１０７）。
【００６３】
そして、描画処理部３１が描画指示コマンドに基づいて描画処理を順次行うことにより、スプール印刷装置３６の使用済み記憶容量が９９０ＧＢに達した場合（ステップＳ１０４においてｙｅｓ）、バッファ制御部３２は、描画処理部３１からのバッファ確保要求に対してバッファフル通知を返信することにより、描画処理部３１では描画処理を停止する（ステップＳ１０８）。
【００６４】
そして、この状態において印刷指示があった場合（ステップＳ１０９においてｙｅｓ）、バッファ制御部３２は、スプール装置３６のスプール上限値を第１の上限値（９９ＧＢ）から第２の上限値（１ＴＢ）に変更する（ステップＳ１１０）。
【００６５】
そして、バッファ制御部３２は、バッファメモリ３５内の印刷データをスプール装置３６に移動させることによりバッファメモリ３５に空き領域を確保する（ステップＳ１１１）。
【００６６】
そして、バッファ制御部３２は、印刷指示された印刷データをスプール装置３６からバッファメモリ３５に移動してから、送信部３３を介して印刷装置２０に転送する制御を行う（ステップＳ１１２、Ｓ１１３）。
【００６７】
ここで、印刷指示された印刷データがスプール装置３６に存在しなくなった場合（ステップＳ１１２においてｎｏ）、バッファ制御部３２は、スプール装置３６内のデータ量が９９０ＧＢ以下になったか否かの判定を行う（ステップＳ１１４）。
【００６８】
そして、スプール装置３６内のデータ量が９９０ＧＢ以下になった場合（ステップＳ１１４においてｙｅｓ）、バッファ制御部３２は、スプール装置３６の上限値を第２の上限値（１ＴＢ）から第１の上限値（９９０ＧＢ）に変更し（ステップＳ１１５）、ステップＳ１０１の処理に戻る。
【００６９】
また、スプール装置３６内のデータ量が９９０ＧＢ以下になっていない場合（ステップＳ１１４においてｎｏ）、バッファ制御部３２は、新たな印刷指示があるまで待機状態となる（ステップＳ１０９）。
【００７０】
本実施形態では、印刷データを１ページ単位で格納したりバッファメモリ３５とスプール装置３６との間で移動する場合を用いて説明しているが、本発明はこのような場合に限定されるものではなく、特定の処理単位で印刷データを格納したり移動したりする場合でも同様に適用可能である。
【符号の説明】
【００７１】
１０    コントローラ（印刷制御装置）
１１    ＣＰＵ
１２    メモリ
１３    ＨＤＤ（ハードディスクドライブ）
１４    通信インタフェース（ＩＦ）
１５    ユーザインタフェース（ＵＩ）装置
１６    制御バス
２０    印刷装置
３１    描画処理部
３２    バッファ制御部
３３    送信部
３４    コマンドキュー
３５    バッファメモリ
３６    スプール装置（格納装置）
【図１】
2015018434.tif 000003
【図２】
2015018434.tif 000004
【図３】
2015018434.tif 000005
【図４】
2015018434.tif 000006
【図５】
2015018434.tif 000007
【図６】
2015018434.tif 000008
【図７】
2015018434.tif 000009
【図８】
2015018434.tif 000010
【図９】
2015018434.tif 000011