(57)【特許請求の範囲】
【請求項１】
描画データの供給源であるデータ供給装置と、前記データ供給装置からのダウンロードデータを記憶するダウンロード記憶領域を、自己のキャッシュメモリ内に割り当てる描画出力装置とからなる描画処理システムにおいて、
前記データ供給装置は、
前記描画出力装置の前記キャッシュメモリにおいて前記ダウンロードデータが格納されている領域と、前記ダウンロードデータが格納されていない空き領域とを管理する管理テーブルを有するダウンロードキャッシュ管理手段と、
ジョブ中に前記ダウンロードデータが存在するか否かを判定する判定手段と、
前記判定の結果、前記ダウンロードデータが存在する場合には、その前記ダウンロードデータが存在する旨を前記描画出力装置に通知する一方、前記ダウンロードデータを用いたジョブが終了した場合にはその旨を通知する通知手段と、
前記管理テーブルを参照し、前記ダウンロードデータが格納されていない空き領域を前記ダウンロードデータの格納場所として、前記描画出力装置に指令する格納場所指令手段とを具備し、
前記ダウンロードキャッシュ管理手段は、前記格納場所指令手段によって指令された前記ダウンロードデータの格納場所を、前記ダウンロードデータが格納されている領域として前記管理テーブルに書き込む一方、前記ダウンロードデータを用いたジョブが終了した場合には当該管理テーブルを書き換え、
前記描画出力装置は、
前記データ供給装置から前記ダウンロードデータが存在する旨を取得した場合には、当該データ供給装置の格納場所指令手段から指令された前記キャッシュメモリ内の前記格納場所に、一定サイズの領域を前記ダウンロードデータ記憶領域として割り当て、前記データ供給装置から前記ダウンロードデータを用いたジョブが終了した旨が通知されると、前記キャッシュメモリ内に割り当てていたダウンロードデータ記憶領域を削除する記憶領域割り当て手段を具備することを特徴とする描画処理システム。
【請求項２】
請求項１記載の描画処理システムにおいて、
前記描画出力装置の前記記憶領域割り当て手段は、ジョブ中に前記ダウンロードデータが存在する旨の通知を、前記データ供給装置から取得したときに、前記ダウンロードデータ記憶領域を割り当てることを特徴とする描画処理システム。
【請求項３】
請求項１記載の描画処理システムにおいて、
前記描画出力装置の前記記憶領域割り当て手段は、ダウンロード命令を示すコマンドを前記データ供給装置から取得したときに、前記ダウンロードデータ記憶領域を割り当てることを特徴とする描画処理システム。
【請求項４】
請求項１記載の描画処理システムにおいて、
前記描画出力装置の前記記憶領域割り当て手段は、前記ダウンロードデータ記憶領域に割り当てるべきサイズを示す通知を、前記データ供給装置から取得したときに、前記通知されたサイズの記憶領域を割り当てることを特徴とする描画処理システム。
【請求項５】
請求項１記載の描画処理システムにおいて、
前記描画出力装置の前記キャッシュメモリ内に、複数のパターンデータ記憶領域が分割して存在しており、
前記描画出力装置の前記記憶領域割り当て手段は、前記複数のパターンデータ記憶領域を連続する１つの領域となるように再割り当てし、前記データ供給装置の格納場所指令手段から指令された前記キャッシュメモリ内の前記格納場所に連続した空き領域を生成し、生成した当該空き領域に前記ダウンロードデータ記憶領域の割り当てを行うことを特徴とする描画処理システム。
【請求項６】
請求項１記載の描画処理システムにおいて、
前記描画出力装置の前記キャッシュメモリ内に、複数のパターンデータ記憶領域が分割して存在し、かつ、前記分割されている各パターンデータ記憶領域には、削除すべき順位を示す削除順位が付与されており、
前記描画出力装置の前記記憶領域割り当て手段は、前記削除順位に従って、前記パターンデータ記憶領域を削除して、前記ダウンロードデータ記憶領域の割り当てを行うことを特徴とする描画処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動的メモリ割り当てを行う描画処理システムに関する。
【０００２】
【従来の技術】
プリンタ等の描画出力装置のキャッシュメモリが、以下の二つの記憶領域を有する場合を想定する。その記憶領域の一つは、ホストコンピュータからダウンロードされるデータ（例えば、文字フォント、フォームデータ等、以下、これらのデータをダウンロードデータと呼ぶ）を記憶する領域である。また、もう一つの記憶領域は、描画出力装置自体が有するデータ（いわゆる内蔵フォント等、以下、これらのデータをパターンデータと呼ぶ）を記憶する領域である。以下、これらの領域をそれぞれ、ダウンロードキャッシュ領域、パターンロードキャッシュ領域と呼ぶ。
【０００３】
この描画処理装置がパターンデータのみを用いて描画出力処理を実行する場合には、ダウンロード等に要する時間が削減できるため高速処理が可能となる。一方、この描画処理装置がダウンロードデータのみを用いて描画出力処理を実行する場合には、ダウンロードに要する時間がかかるものの、ＷＹＳＩＷＹＧ（What You See Is What You Get）が実現できるというメリットがある。「高速処理モード」や「画質重視モード」等のモード選択機能を備える描画処理装置は、例えば、「高速処理モード」が選択されると、パターンデータを用いて描画出力処理を実行するし、また、「画質重視モード」が選択されると、ダウンロードデータを用いて描画出力処理を実行する。
また、１つの文書を構成する描画データの中に、ダウンロードデータとパターンデータとが混在している場合もある。例えば、文書の見出し等には、プリンタの内蔵フォントに置き換え不能な特殊なフォントの文字が用いられており、文書本文にはプリンタの内蔵フォントに置き換え可能なフォントの文字が用いられている場合等である。このような場合には、描画出力装置はダウンロードデータ記憶領域及びパターンデータ記憶領域を併用する。
【０００４】
以上のように描画処理装置がダウンロードデータ記憶領域及びパターンデータ記憶領域を選択的に利用したり或いは併用したりする場合に、これらのダウンロードデータ領域及びパターンキャッシュ領域が静的に設けられているのでは、メモリの効率利用が図れないと言う問題がある。
この問題を解決するため、特許番号２６１０９９３号は、パターンキャッシュ領域の一部を、ダウンロードキャッシュ領域として開放する技術を提案している。
【０００５】
【発明が解決しようとする課題】
この特許番号２６１０９９３号においては、ダウンロードデータが発生した場合、ダウンロードキャッシュ領域がパターンキャッシュ領域より優先して確保される。従って、ダウンロードデータが大量に発生した場合、キャッシュメモリの大半がダウンローデータ領域となり、それに伴いパターンキャッシュ領域が大幅に減少してしまう。このような場合には、パターンデータのキャッシュ効果がほとんど期待できなくなり、かえって処理速度が遅くなるという問題が発生する。
【０００６】
また、ホストコンピュータからプリンタへのダウンロード処理を確実に実行、終了するためには、描画処理装置は全てのダウンロードデータの登録を完了した後、その完了の旨をホストコンピュータに通知しなければならない。そのためには、描画処理装置及びホストコンピュータ間に双方向通信手段が確立されている必要がある。単方向通信では、上記通知を行うこともできないし、また、キャッシュメモリの総記憶容量以上のダウンロードデータが発生した場合、キャッシュメモリがダウンロードデータでいっぱいになっても、さらにホストコンピュータからダウンロードデータが送られてくるので、何らかの障害が発生するおそれがある。
【０００７】
本発明は、上述した事情に鑑みてなされたものであり、単方向通信であっても、パターンデータのキャッシュ効果を確保しつつ、キャッシュメモリの動的割り当てを行うことが可能な描画処理システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上述課題を解決するため、請求項１に記載の発明は、描画データの供給源であるデータ供給装置と、前記データ供給装置からのダウンロードデータを記憶するダウンロード記憶領域を、自己のキャッシュメモリ内に割り当てる描画出力装置とからなる描画処理システムにおいて、前記データ供給装置は、前記描画出力装置の前記キャッシュメモリにおいて前記ダウンロードデータが格納されている領域と、前記ダウンロードデータが格納されていない空き領域とを管理する管理テーブルを有するダウンロードキャッシュ管理手段と、ジョブ中に前記ダウンロードデータが存在するか否かを判定する判定手段と、前記判定の結果、前記ダウンロードデータが存在する場合には、その前記ダウンロードデータが存在する旨を前記描画出力装置に通知する一方、前記ダウンロードデータを用いたジョブが終了した場合にはその旨を通知する通知手段と、前記管理テーブルを参照し、前記ダウンロードデータが格納されていない空き領域を前記ダウンロードデータの格納場所として、前記描画出力装置に指令する格納場所指令手段とを具備し、前記ダウンロードキャッシュ管理手段は、前記格納場所指令手段によって指令された前記ダウンロードデータの格納場所を、前記ダウンロードデータが格納されている領域として前記管理テーブルに書き込む一方、前記ダウンロードデータを用いたジョブが終了した場合には当該管理テーブルを書き換え、前記描画出力装置は、前記データ供給装置から前記ダウンロードデータが存在する旨を取得した場合には、当該データ供給装置の格納場所指令手段から指令された前記キャッシュメモリ内の前記格納場所に、一定サイズの領域を前記ダウンロードデータ記憶領域として割り当て、前記データ供給装置から前記描画データを用いた描画処理が終了した旨が通知されると、前記キャッシュメモリ内に割り当てていたダウンロードデータ記憶領域を削除する記憶領域割り当て手段を具備することを特徴とする描画処理システムを提供するものである。
【０００９】
請求項２記載の発明は、請求項１記載の描画処理システムにおいて、前記描画出力装置の前記記憶領域割り当て手段は、ジョブ中に前記ダウンロードデータが存在する旨の通知を、前記データ供給装置から取得したときに、前記ダウンロードデータ記憶領域を割り当てることを特徴とする描画処理システムを提供するものである。
【００１０】
請求項３記載の発明は、請求項１記載の描画処理システムにおいて、前記描画出力装置の前記記憶領域割り当て手段は、ダウンロード命令を示すコマンドを前記データ供給装置から取得したときに、前記ダウンロードデータ記憶領域を割り当てることを特徴とする描画処理システムを提供するものである。
【００１１】
請求項４記載の発明は、請求項１記載の描画処理システムにおいて、前記描画出力装置の前記記憶領域割り当て手段は、前記ダウンロードデータ記憶領域に割り当てるべきサイズを示す通知を、前記データ供給装置から取得したときに、前記通知されたサイズの記憶領域を割り当てることを特徴とする描画処理システムを提供するものである。
【００１２】
請求項５記載の発明は、請求項１記載の描画処理システムにおいて、前記描画出力装置の前記キャッシュメモリ内に、複数のパターンデータ記憶領域が分割して存在しており、前記描画出力装置の前記記憶領域割り当て手段は、前記複数のパターンデータ記憶領域を連続する１つの領域となるように再割り当てし、前記データ供給装置の格納場所指令手段から指令された前記キャッシュメモリ内の前記格納場所に連続した空き領域を生成し、生成した当該空き領域に前記ダウンロードデータ記憶領域の割り当てを行うことを特徴とする描画処理システムを提供するものである。
【００１３】
請求項６記載の発明は、請求項１記載の描画処理システムにおいて、前記描画出力装置の前記キャッシュメモリ内に、複数のパターンデータ記憶領域が分割して存在し、かつ、前記分割されている各パターンデータ記憶領域には、削除すべき順位を示す削除順位が付与されており、前記描画出力装置の前記記憶領域割り当て手段は、前記削除順位に従って、前記パターンデータ記憶領域を削除して、前記ダウンロードデータ記憶領域の割り当てを行うことを特徴とする描画処理システムを提供するものである。
【００１５】
【発明の実施の形態】
[構成]
図１に、本発明の一実施例であるプリンタ１０、及びそのプリンタ１０に接続されたホストコンピュータ３０の機能構成を示す。
【００１６】
プリンタ１０は、入力インターフェース１１、制御部１２、キャッシュメモリ１３、ラスタライザ１４、出力部１５等から構成される。
【００１７】
入力インターフェース１１は、ホストコンピュータ３０から与えられる種々の描画データや各種コマンドを入力するものである。
【００１８】
キャッシュメモリ１３は、ダウンロードキャッシュ領域１６とパターンキャッシュ領域１７とが割り当て可能な記憶装置である。このキャッシュメモリ１３には、通常は全てパターンキャッシュ領域１７が割り当てられているが、必要に応じてその一定部分にダウンロードキャッシュ領域１６が割り当てられる。このダウンロードキャッシュ領域１６として割り当てられるメモリのサイズは、予め定められているものであり、ダウンロードデータの増加に応じてそのダウンロードキャッシュ領域１６の大きさは増加することはない。
【００１９】
ラスタライザ１４は、ホストコンピュータ３０から与えられる文字コードに対応するラスタデータを生成する。生成されたラスタデータは、キャッシュメモリ１３のパターンキャッシュ領域１７に記憶される。
【００２０】
つまり、プリンタ１０の出力処理対象である文書データが、プリンタ１０の内蔵フォント（つまり、パターンデータ）に置き換え可能な場合は、ラスタライザ１４はホストコンピュータ３０から与えられる文字コードに従ってラスタデータを作成し、その作成されたラスタデータはキャッシュメモリ１３のパターンキャッシュ領域１７に記憶される。また、文書データが特殊なフォント（つまり、ダウンロードデータ）により構成されているため、プリンタ１０の内蔵フォントに置き換え不能な場合には、ホストコンピュータ３０から与えられる文字フォントや外字フォント等のデータが、キャッシュメモリ１３のダウンロードキャッシュ領域１６に記憶される。
【００２１】
制御部１２は、このプリンタ１０全体の制御を行うものである。例えば、この制御部１２は、ホストコンピュータ３０からジョブ中にダウンロードデータがある旨の通知を受け取ると、キャッシュメモリ１３上に、予め定められた一定サイズのダウンロードキャッシュ領域１６を割り当てたり、或いは、一連のジョブが終了すると使用していたダウンロードキャッシュ領域１６を削除する。
【００２２】
また、この制御部１２は、キャッシュメモリ１３の制御を行うために、キャッシュ共有フラグ１８と、パターンキャッシュ管理テーブル１９と、空き領域管理テーブル２０とを有する。
【００２３】
ここで、キャッシュメモリ１３に割り当てられているダウンロードキャッシュ領域１６にダウンロードデータが記憶されている状態を「キャッシュメモリを共有している」と呼ぶこととする。キャッシュ共有フラグ１８は、キャッシュメモリ１３が共有されているときには「オン」となり、共有されていないときには「オフ」となる。デフォルトは、キャッシュメモリ１３は全てパターンキャッシュ領域１７に割り当てられているため、キャッシュ共有フラグ１８は「オフ」である。制御部１２は、このキャッシュ共有フラグ１８のオンオフを参照することにより、ダウンロードキャッシュ領域１６にダウンロードデータが記憶されているか否かを迅速に把握することが可能である。
【００２４】
パターンキャッシュ管理テーブル１９は、各パターンデータが記憶されているキャッシュメモリ１３内のオフセット等が書き込まれるものである。また、空き領域管理テーブル２０は、パターンキャッシュ領域１７内でパターンデータが記憶されていない領域（以下、空き領域と呼ぶ）のキャッシュメモリ１３内のオフセットが書き込まれるものである。このパターンキャッシュ管理テーブル１９及び空き領域管理テーブル２０の構成は後述する。
【００２５】
出力部１５は、制御部１２から与えられるラスタデータを記録紙に印刷するプリンタエンジンである。
【００２６】
ホストコンピュータ３０は、描画データ作成部３１、ダウンロードキャッシュ管理部３２、プリンタドライバ３３等から構成される。
【００２７】
描画データ作成部３１は、種々の描画データや各種コマンドを作成する。この描画データには、文字コード、文字フォント、外字フォント、フォーム情報、マクロ情報等が含まれる。
例えば、出力の対象である文書データが、プリンタ１０の内蔵フォント（つまり、パターンデータ）に置き換え可能なフォントの文字により構成される場合は、この描画データ作成部３１はプリンタ１０が理解可能な文字コードを作成する。また、その文書データが、特殊なフォント（つまり、ダウンロードデータ）により構成されており、プリンタ１０の内蔵フォントに置き換え不能なフォントの文字により構成されている場合には、この描画データ作成部３１は、文字フォントや外字フォント等のラスタデータを作成するのである。
【００２８】
ダウンロードキャッシュ管理部３２は、プリンタ１０のキャッシュメモリ１３内のダウンロードキャッシュ領域１６及びダウンロードキャッシュ領域１６内の空き領域（以下、ダウンロード空き領域とよぶ）の状態を管理する。
【００２９】
上記のダウンロードキャッシュ領域１６及びダウンロード空き領域のオフセット等を管理するために、このダウンロードキャッシュ管理部３２は、ダウンロードキャッシュ管理テーブル３４及びダウンロード空き領域管理テーブル３５を有する。
ダウンロードキャッシュ管理部３２は、プリンタドライバ３３から与えられる、ダウンロードデータが記憶されるキャッシュメモリ１３上のオフセット情報やダウンロード空き領域のオフセット情報等を取得する。そして、ダウンロードキャッシュ管理部３２は、その取得したオフセット情報等をダウンロードキャッシュ管理テーブル３４に書き込む。また、同様に、ダウンロードキャッシュ管理部３２は、ダウンロード空き領域のオフセット情報等をダウンロード空き領域管理テーブル３５に書き込む。このダウンロードキャッシュ管理テーブル３４及びダウンロード空き領域管理テーブル３５の構成は後述する。
【００３０】
プリンタドライバ３３は、描画データ作成部３１により作成された描画データや各種コマンドをプリンタ１０に出力する。
プリンタドライバ３３は、プリンタ１０に対してダウンロードデータをそのダウンロードキャッシュ領域１６のどこに格納するのかということを指令する。従って、上記コマンドには、それらの指令を示すコマンドが含まれる。
そして、プリンタドライバ３３は、そのコマンドの内容（即ち、ダウンロードキャッシュ領域１６及びダウンロードデータが記憶されている領域のオフセット情報等）をダウンロードキャッシュ管理部３２に与える。
また、プリンタドライバ３３は、ジョブ中のダウンロードデータの有無を検知し、ダウンロードデータがある場合には、ダウンロードデータがある旨の通知を、出力するデータの先頭に付加してプリンタ１０に出力する。プリンタ１０は、この通知により、これから行うジョブの中にダウンロードデータがあるかないかを把握することが可能である。
【００３１】
図２（Ａ）にダウンロードキャッシュ管理テーブル３４の構成を示し、同図（Ｂ）にダウンロード空き領域管理テーブル３５の構成を示し、同図（Ｃ）にパターンキャッシュ管理テーブル１９の構成を示し、同図（Ｄ）に空き領域管理テーブル２０の構成を示す。
【００３２】
図２（Ａ）に示すダウンロードキャッシュ管理テーブル３４において、最上段の「ＩＤ１」〜「ＩＤＭ」はダウンロードデータに含まれる各文字毎に付与されるＩＤである。
【００３３】
ここで、本実施例においては、１文字のフォントデータが空き領域の状況に応じて適宜分割されてダウンロードキャッシュ領域１６に記憶される場合も想定する。例えば、１つの空き領域が有する記憶容量が１文字のフォントデータ量より小さい場合、存在する空き領域の記憶容量毎に１文字のフォントデータを分割して記憶するのである。つまり、ある１つの空き領域に一文字のフォントデータを格納し、その１つの空き領域全てにフォントデータが格納されてもなお、一文字分のフォントデータが全て格納されていない場合には、残りのまだ格納されていないフォントデータは、次の別の空き領域に格納される。このようにして一文字分のフォントデータが適宜分割されて格納される。そして、このような場合、ダウンロードキャッシュ管理テーブル３４の上から２段目の「分割数Ｎ１」〜「分割数ＮＭ」には、各文字毎の分割された分割数が格納される。
【００３４】
ダウンロードキャッシュ管理テーブル３４の上から３段目以下の、「ポインタ１−１」〜「ポインタ１−ＮＭ」には、分割された各フォントデータが記憶されている、キャッシュメモリ上のオフセットが格納される。なお、「ポインタ１−１」〜「ポインタ１−ＮＭ」に示される場所には、分割されたひとかたまりのフォントデータのサイズが最初に格納されており、その後にフォントデータが格納されている。
【００３５】
同図（Ｂ）に示すダウンロード空き領域管理テーブル３５には、ダウンロード空き領域に関する情報が格納される。即ち、「空き領域１」〜「空き領域Ｋ」には、ダウンロード空き領域の各々に付与される識別番号が格納され、「ポインタ１」〜「ポインタＫ」には、各ダウンロード空き領域が存在するキャッシュメモリ１３上のオフセットが格納される。
【００３６】
そして、ホストコンピュータ３０は、このダウンロードキャッシュ管理テーブル３４及びダウンロード空き領域管理テーブル３５を参照することにより、ダウンロードデータの各々が、プリンタ１０のキャッシュメモリ１３のどこに記憶されているかを把握することが可能である。
【００３７】
同図（Ｃ）に示すパターンキャッシュ管理テーブル１９は、ダウンロードキャッシュ管理テーブル３２と同様の構成をとる。即ち、最上段の「ＩＤ１」〜「ＩＤＬ」はパターンデータに含まれる各文字毎に付与されるＩＤである。そして、「分割数Ｎ１」〜「分割数ＮＬ」には、各文字毎の分割数が格納される。また、「ポインタ１−１」〜「ポインタ１−ＮＬ」には、分割された各フォントデータが記憶されている、キャッシュメモリ１３上のオフセットが格納される。
プリンタ１０は、このパターンキャッシュ管理テーブル１９を参照することにより、パターンデータの各々が、プリンタ１０のキャッシュメモリ１３上のどこに記憶されているかを把握することが可能である。
【００３８】
同図（Ｄ）に示す空き領域管理テーブル２０には、キャッシュメモリ１３の空き領域に関する情報が格納される。即ち、「空き領域１」〜「空き領域Ｋ」には、空き領域の各々に付与される識別番号が格納され、「ポインタ１」〜「ポインタＫ」には、各空き領域が存在するキャッシュメモリ１３上のオフセットが格納される。
プリンタ１０は、この空き領域管理テーブル２０を参照することにより、各空き領域が、プリンタ１０のキャッシュメモリ１３上のどこに存在するかを把握することが可能である。
【００３９】
[動作]
図３は、制御部１２がキャッシュ共有フラグ１８をオフからオンに移行する処理の流れを示すフローチャート図である。また図５は、キャッシュメモリ１３内の各領域を示す模式図である。
【００４０】
この処理は、ホストコンピュータ３０からプリンタ１０へ、ダウンロードデータがある旨の通知が行われた場合に開始される。
【００４１】
例えば、図５（Ａ）の状態で、処理が開始されると、まず、図３のステップＳＰ３１では、制御部１２は、キャッシュ共有フラグ１８を参照し、そのキャッシュ共有フラグ１８がオンになっているかオフになっているかを判定する。
その判定の結果、キャッシュ共有フラグ１８がオンになっていれば（即ち、キャッシュメモリ１３が共有されていれば）、この後、このキャッシュ共有フラグ１８をオンに移行する処理をする必要はなく、ここで処理は終了する。
また、キャッシュ共有フラグ１８はオフになっていれば（即ち、キャッシュメモリ１３が共有されていなければ）、ステップＳＰ３３に進む。
【００４２】
ステップＳＰ３３では、制御部１２は、ダウンロードキャッシュ領域１６の割り当てが可能か否かを判定する。即ち、制御部１２は、空き領域管理テーブル２０を参照し、ダウンロードキャッシュ領域１６として割り当てるべき場所に、そのダウンロードキャッシュ領域１６以上の空き領域があるか否かを判定する。
【００４３】
この判定の結果、イエスであれば（即ち、空き領域が十分あれば）、ステップＳＰ３５に進み、制御部１２は、キャッシュメモリ１３にダウンロードキャッシュ領域１６を割り当てるとともに、空き領域管理テーブル２０上で、空き領域を削除する。
【００４４】
また、この判定の結果、ノーであれば（即ち、十分な空き領域がなければ）、ステップＳＰ３７に進み、制御部１２は、パターンキャッシュ領域１７に記憶されているパターンデータを削除する。そして、十分な空き領域が確保されるまで、パターンデータの削除処理を行い、ステップＳＰ３３で割り当て可能と判定された時点で（即ち十分な空き領域が確保できた時点で）、ステップＳＰ３５に進む。
【００４５】
そして、ステップＳＰ３９では、制御部１２は、キャッシュ共有フラグ１８をオンにする。
図５（Ｂ）に、このときのキャッシュメモリ１３内の状態を示す。なお、ダウンロードキャッシュ領域１６には、実際にはダウンロード空き領域が含まれている場合もあるが同図（Ｂ）においては図示しない。また、以下に示すキャッシュメモリ１３内の状態を示す図（図５（Ｃ）、図６、図７、図８）においても同様である
【００４６】
また、ホストコンピュータ３０のダウンロードキャッシュ管理部３２は、プリンタドライバ３３から与えられたダウンロードキャッシュ領域１６のオフセット情報等に従って、ダウンロードキャッシュ管理テーブル３４を書き換える処理を行う。
【００４７】
図４は、キャッシュ共有フラグ１８をオンからオフに移行する処理の流れを示すフローチャート図である。
【００４８】
この処理は、ホストコンピュータ３０からプリンタ１０へ、ジョブが終了した旨の通知が行われた場合に開始される。
【００４９】
例えば図５（Ｂ）の状態で、制御部１２は、処理が開始されると、まず図４のステップＳＰ１１では、キャッシュ共有フラグ１８がオンであるかオフであるを判定する。
【００５０】
この１１の判定の結果、キャッシュ共有フラグ１８がオフであれば（即ち、キャッシュメモリ１３が共有されていなければ）、この後、このキャッシュ共有フラグ１８をオフに移行する処理をする必要はなく、処理は終了する。また、この判定の結果、キャッシュ共有フラグ１８がオンであれば（即ち、キャッシュメモリ１３が共有されていれば）、ステップＳＰ１３へ進む。
【００５１】
ステップＳＰ１３では、制御部１２は、キャッシュメモリ１３上のダウンロードキャッシュ領域１６を削除するとともに、空き領域管理テーブル２０上でパターンキャッシュ領域１７以外の領域を空き領域として登録する。
次に、ステップＳＰ１５では、キャッシュ共有フラグ１８をオフにする。
【００５２】
また、ホストコンピュータ３０のダウンロードキャッシュ管理部３２は、プリンタドライバ３３から与えられたダウンロードキャッシュ領域１６削除の旨に従って、ダウンロードキャッシュ管理テーブル３４を書き換える処理を行う。
図５（Ｃ）に、このときのキャッシュメモリ１３内の状態を示す。
【００５３】
[その他]
なお、ダウンロードキャッシュ領域１６を割り当てる際には、散在する空き領域メモリについて、ダウンロードキャッシュ領域１６を分割して割り当ててもよいが、いわゆるガベージコレクションを行ったあとにダウンロードキャッシュ領域１６を割りあててもいい。即ち、散在するパターンキャッシュ領域１７及び空き領域をキャッシュメモリ１３内で再割り当てして、ホストコンピュータ３０からダウンロードキャッシュ領域１６として指定された場所に、１つの大きな空き領域を生成する。そして、その生成された空き領域にダウンロードキャッシュ領域１６を割り当てるのである。図６（Ａ）に、この割り当ての前のキャッシュメモリ１３内の状態を示し、図６（Ｂ）に、この割り当ての後のキャッシュメモリ１３内の状態を示す。
【００５４】
また、上記のガベージコレクションを伴う、ダウンロードキャッシュ領域１６の割り当ての際には、散在するパターンキャッシュ領域１７の各々を、予め定められた追い出し優先順位に従って削除した後にガベージコレクションを行ってもよい。そして、そのガベージコレクションの後にダウンロードキャッシュ領域１６を割りあてるのである。
図７（Ａ）に、この割り当ての前のキャッシュメモリ１３内の状態を示し、図７（Ｂ）に、この割り当ての後のキャッシュメモリ１３内の状態を示す。図７に示すように、追い出し優先順位の高いパターンキャッシュ領域Ｂが削除されて、ダウンロードキャッシュ領域１６の割りあてが行われている。
【００５５】
また、次のような方法もある。
まず、ホストコンピュータ３０からダウンロードキャッシュ領域１６として指定された場所にダウンロードキャッシュ領域１６を割り当てる。そして、その割り当てられた領域にもともとパターンキャッシュ領域１７が含まれていた場合は、そのパターンデータを削除する。そして、残ったパターンキャッシュ領域１７及び空き領域との間でガベージコレクションを行う。
図８（Ａ）に、この割り当ての前のキャッシュメモリ１３内の状態を示し、図８（Ｂ）に、この割り当ての後のキャッシュメモリ１３内の状態を示す。同図の場合、ダウンロードキャッシュ領域１６の割り当ては、キャッシュメモリの最後の方の領域に行うということ示すコマンドが、ホストコンピュータ３０からプリンタ１０に送信されてきたとする。そして、ダウンロードキャッシュ領域１６に割り当てられた場所にあったパターンキャッシュ領域Ｃが削除され、残ったパターンキャッシュ領域Ａ及びＢと、空き領域との間でのガベージコレクションが行われている。
【００５６】
また、上述の実施形態では、割り当てられるダウンロードキャッシュ領域１６は予め定められたサイズであったが、必ずしもそうである必要はない。例えば、上述の実施形態では、プリンタドライバ３３は、ジョブ中のダウンロードの有無を調べて、ダウンロードデータがあるときはその旨の通知を出力するが、その際、そのダウンロードデータのサイズも調べて、そのサイズをプリンタ１０に通知してもよい。そうすることにより、プリンタ１０は、通知されたサイズのダウンロードキャッシュ領域１６を割り当てればよく、キャッシュメモリ１３をよりいっそう効率的に利用できる。
【００５７】
また、プリンタドライバ３３は、ジョブ中のダウンロードの有無を通知しないケースも考えられる。ダウンロードデータがプリンタ１０にダウンロードされる際には、プリンタドライバ３３からプリンタ１０へ、ダウンロード処理を命令するコマンドが出力されるので、制御部１２はそのコマンドを検知したときにダウンロードキャッシュ領域１６を割り当てるようにしてもよい。
【００５８】
【発明の効果】
上述したように本発明によれば、プリンタはホストコンピュータから与えられるダウンロードデータの量に関わらず、一定サイズのダウンロードキャッシュ領域しか割り当てないので、パターンキャッシュ効果を確保しつつ、キャッシュメモリの動的割り当てを行うことが可能である。
また、ホストコンピュータは、一定のサイズのダウンロードキャッシュ領域が割り当てられているとの想定の下に、ダウンロードデータの出力等の種々の処理を行うので、ホストコンピュータからプリンタへの単方向通信であっても、ダウンロードキャッシュ領域が不足するという事態を避けることが可能である。
【図面の簡単な説明】
【図１】  本発明の一実施形態における描画処理システムの機能構成を示す図である。
【図２】  （Ａ）は、同実施例におけるダウンロードキャッシュ管理テーブル３４の構成を示す図であり、（Ｂ）は、同実施形態におけるダウンロード空き領域管理テーブル３５の構成を示す図であり、（Ｃ）は、同実施例におけるパターンキャッシュ管理テーブル１９の構成を示す図であり、（Ｄ）は、同実施形態における空き領域管理テーブル２０の構成を示す図である。
【図３】  同実施例における、フラグオフの移行処理の流れを示すフローチャート図である。
【図４】  同実施例における、フラグオンの移行処理の流れを示すフローチャート図である。
【図５】  同実施例における、キャッシュメモリ１３内の記憶領域を示す模式図である。
【図６】  （Ａ）は、割り当ての前のキャッシュメモリ１３内の状態を示す図であり、（Ｂ）は、割り当ての後のキャッシュメモリ１３内の状態を示す図である。
【図７】  （Ａ）は、割り当ての前のキャッシュメモリ１３内の状態を示す図であり、（Ｂ）は、割り当ての後のキャッシュメモリ１３内の状態を示す図である。
【図８】  （Ａ）は、割り当ての前のキャッシュメモリ１３内の状態を示す図であり、（Ｂ）は、割り当ての後のキャッシュメモリ１３内の状態を示す図である。
【符号の説明】
１０・・・プリンタ、１１・・・入力インターフェース、１２・・・制御部、
１３・・・キャッシュメモリ、１４・・・ラスタライザ、１５・・・出力部、
１６・・・ダウンロードキャッシュ領域、１７・・・パターンキャッシュ領域、
１８・・・キャッシュ共有フラグ、１９・・・パターンキャッシュ管理テーブル、２０・・・空き領域管理テーブル、３０・・・ホストコンピュータ、
３１・・・描画データ作成部、３２・・・ダウンロードキャッシュ管理部、
３３・・・プリンタドライバ、３４・・・ダウンロードキャッシュ管理テーブル、３５・・・ダウンロード空き領域管理テーブル
【図１】
0004325007.tif 000002
【図２】
0004325007.tif 000003
【図３】
0004325007.tif 000004
【図４】
0004325007.tif 000005
【図５】
0004325007.tif 000006
【図６】
0004325007.tif 000007
【図７】
0004325007.tif 000008
【図８】
0004325007.tif 000009