(57)【要約】 【課題】  プリンタの内部メモリ不足による印字エラーの低減、およびリソースの再設定にともなうユーザ負担の軽減。【解決手段】  印刷処理に必要となるフォントなどのリソースをダウンロードして一時的に記憶しておくためのプリンタ１５０の内部メモリ（ＲＡＭ１５６など）の記憶可能容量と、当該記憶装置に記憶されているリソースのサイズおよび重要度などを、リソーステーブルを作成して情報処理装置１００が管理する。プリンタ１５０への印刷要求が発生すると、情報処理装置１００は、必要となるリソースのサイズと、上記記憶可能容量とに基づいて、当該リソースを記憶装置にダウンロード可能かを判定する。次に、ダウンロード不可能と判定されたリソースを、前記内部メモリに記憶可能となるまで、当該内部メモリに記憶されているリソースのうち重要度の低いものから順番に削除する。【選択図】  図１
2005173829.tif 000002
【特許請求の範囲】
【請求項１】
ダウンロードしたフォントなどのリソースを記憶する記憶装置を備えた印刷装置と接続された情報処理装置であって、
前記記憶装置の記憶可能容量を記憶する第１の記憶手段と、
前記記憶装置に記憶されているリソースの重要度を記憶する第２の記憶手段と、
前記印刷装置への印刷要求が発生すると、該印刷要求を実行する際に必要となるリソースのサイズと前記記憶装置の記憶可能容量とに基づいて、該リソースを前記記憶装置にダウンロード可能かを判定する判定手段と、
前記判定によりダウンロード不可能と判定された場合に、該不可能と判定されたリソースが前記記憶装置に記憶可能となるまで、前記記憶装置に記憶されているリソースのうち重要度の低いものから順番に削除するよう制御する制御手段と
を含む情報処理装置。
【請求項２】
前記判定によりダウンロード可能と判定された場合に、該ダウンロード可能と判定されたリソースについての重要度を増加させる増加手段をさらに含む請求項１に記載の情報処理装置。
【請求項３】
前記リソースの使用頻度を記憶する使用頻度記憶手段と、
前記使用頻度に基づいて該リソースの重要度を算出する算出手段と
をさらに備える請求項１または２に記載の情報処理装置。
【請求項４】
前記第２の記憶手段は、前記記憶装置に記憶されているリソースのサイズおよび重要度をリソースカテゴリごとに記憶する請求項１ないし３の何れかに記載の情報処理装置。
【請求項５】
印刷装置に関連するフォント等のリソースを情報処理装置において管理するリソース管理方法であって、
前記情報処理装置からダウンロードしたフォントなどのリソースを記憶する前記印刷装置に備えられた記憶装置の記憶可能容量と、前記記憶装置に記憶されているリソースの重要度を記憶するステップと、
前記印刷装置への印刷要求が発生すると、該印刷要求を実行する際に必要となるリソースのサイズと前記記憶装置の記憶可能容量とに基づいて、該リソースを前記記憶装置にダウンロード可能かを判定するステップと、
前記判定によりダウンロード不可能と判定された場合に、該不可能と判定されたリソースが前記記憶装置に記憶可能となるまで、前記記憶装置に記憶されているリソースのうち重要度の低いものから順番に削除するステップと
を含むリソース管理方法。
【請求項６】
印刷装置を制御する情報処理装置であって、
アプリケーションからの印刷要求を入力する入力手段と、
前記印刷要求に関連するリソースが、前記印刷装置に備えられる記憶装置に既にダウンロード済みであるかどうかを判定する第１の判定手段と、
前記印刷要求に関連するリソースがダウンロード済みでない場合に、前記記憶装置の現在の記憶可能容量と前記印刷要求に関連するリソースのサイズとに基づいて、該リソースを前記記憶装置にダウンロード可能かを判定する第２の判定手段と、
前記判定によりダウンロード不可能と判定された場合に、該不可能と判定されたリソースが前記記憶装置に記憶可能となるまで、前記記憶装置に記憶されているリソースのうち重要度の低いものから順番に削除する削除手段と、
前記印刷要求に関連するリソースを前記記憶装置に転送する転送手段と
を含む情報処理装置。
【請求項７】
印刷装置に関連するフォント等のリソースを情報処理装置において管理するリソース管理方法であって、
アプリケーションからの印刷要求を入力するステップと、
前記印刷要求に関連するリソースが、前記印刷装置に備えられた記憶装置に既にダウンロード済みであるかどうかを判定するステップと、
前記印刷要求に関連するリソースがダウンロード済みでない場合に、前記記憶装置の現在の記憶可能容量と前記印刷要求に関連するリソースのサイズとに基づいて、該リソースを前記記憶装置にダウンロード可能かを判定するステップと、
前記判定によりダウンロード不可能と判定された場合に、該不可能と判定されたリソースが前記記憶装置に記憶可能となるまで、前記記憶装置に記憶されているリソースのうち重要度の低いものから順番に削除するステップと、
前記印刷要求に関連するリソースを前記記憶装置にダウンロードするステップと
を含むリソース管理方法。
【請求項８】
請求項５または７に記載のリソース管理方法に係る各ステップをコンピュータ上で実行するためのドライバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置と接続された情報処理装置および当該印刷装置のドライバプログラムに係り、とりわけ、当該印刷装置の内部メモリにダウンロードして利用されるリソースの管理技術に関する。
【背景技術】
【０００２】
内部に有限の作業メモリを有するプリンタおよびプリンタに印刷出力をする情報処理装置を含む情報処理システムにおいて、情報処理装置上で動作しているプリンタドライバからフォントをプリンタの内部メモリへとダウンロードすると、当該内部メモリの空き容量が減少する。
【０００３】
フォント等のリソースが次々とダウンロードされ、最終的に空き容量が不十分になると、通常、その時点で印刷がエラーとなって印刷処理が中止されてしまう。なお、内部メモリが不足した場合に、そのことをユーザに通知する方法が提案されている（特許文献１）。
【特許文献１】特開平９−３４７５２号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のように内部メモリの空き容量が不足した場合には、従来、内部メモリがオーバーフローしなような再設定が必要であった。例えば、ユーザは、アプリケーションを通して、使用フォント数を少なくするなど、ソースの使用を制限する作業を強いられていた。とりわけ、印刷に失敗してから再設定をするのは面倒であった。さらに、使用フォント数等のリソースをどの程度まで減らせばよいかはユーザの経験や知識に依存し、誰しもが容易に把握できるものではなかった。
【０００５】
さらに、近年のプリンタ機器の高機能化・複雑化につれて、色処理を行なうためのカラーテーブルや手続きセットなど、フォント以外のリソースの数も増加している。そのため、リソース管理の重要性は従来よりも増している。
【０００６】
したがって、プリンタの内部メモリの不足による印字エラーを低減し、リソースの再設定などにともなうユーザの負担を軽減することが望ましい。
【０００７】
そこで、本発明は、上記課題または他の課題に着目したリソースの管理方法を提供する。なお、他の課題については以下の説明等を含む明細書の全体から把握することができよう。
【課題を解決するための手段】
【０００８】
本発明は、印刷装置に関連するフォント等のリソースを情報処理装置において管理する技術に関連する。当該印刷装置に備えられた記憶装置の記憶可能容量と、記憶装置に記憶されているリソースの重要度などが管理される。そして、当該印刷装置への印刷要求が発生すると、印刷要求を実行する際に必要となるリソースのサイズと、記憶装置の記憶可能容量とに基づいて、当該リソースを記憶装置にダウンロード可能かを判定する。次に、ダウンロード不可能と判定されたリソースを、前記記憶装置に記憶可能となるまで、当該記憶装置に記憶されているリソースのうち重要度の低いものから順番に削除する。
【発明の効果】
【０００９】
本発明によれば、印刷装置の内部メモリが不足した場合には、当該内部メモリに記憶されているリソースを重要度の低い順に削除して印刷に必要なリソースをダウンロードできるようにしたので、内部メモリの不足に伴う印刷エラーを低減でき、しかもユーザの負担を軽減できる。
【発明を実施するための最良の形態】
【００１０】
以下に本発明の上位概念、中位概念および下位概念の理解に役立つ一実施形態を示す。なお、以下の実施形態に含まれる概念について、そのすべてが特許請求の範囲に記載されているとは限らない。ただし、これは特許発明の技術的範囲から意識的に除外したのではなく、特許発明と均等の関係にあるため特許請求の範囲には記載していない場合があることを理解していただきたい。
［第１の実施形態］
図１は本実施形態に係る例示的な印刷システムのブロック図である。１００は、プリンタドライバが動作するパーソナルコンピュータ等の情報処理装置である。１５０は、プリンタ、複写機および複合機などの印刷機能を備えた印刷装置である。情報処理装置１００は、通信回線１２０を介して印刷装置１５０と接続されている。
【００１１】
次に、情報処理装置１００の内部機能を詳細に説明する。ビデオメモリ（ＶＲＡＭ）１０１は、表示部１０２に表示すべきデータを記憶する記憶回路である。表示部（ＣＲＴ）１０２は、ビットマップデータ等の各種図形やコマンドメニューのコマンドイメージ等のユーザインターフェイス（ＵＩ）を表示したり、ユーザのメッセージ等を表示したりするためのＣＲＴ（陰極線管）や液晶などの表示装置である。キーボード（ＫＢ）１０３、ポインティングデバイス１０４は、ユーザにより操作され、各種のデータやコマンド等を入力するための入力装置である。ディスクコントローラ１０５は、外部メモリであるハードディスク装置１０６やフレキシブルディスク１０７等に関するデータの読み書きを制御する制御回路である。ハードディスク（ＨＤ）１０６およびフレキシブルディスク１０７は、磁気記憶媒体にデータを記憶する記憶装置である。例えば、各種データのほかにＲＡＭ１０９にロードされて実行される情報処理装置のブートプログラム、ＣＰＵ１０８の制御プログラムであるオペレーティングシステム（ＯＳ）、各種アプリケーションプログラム、および本発明に係るプリンタ機器を制御するプリンタドライバ等を記憶する。なお、ハードディスク装置１０６およびフレキシブルディスク装置１０７に代えて、あるいはこれらとともに、磁気テープ、ＣＤ−ＲＯＭ、ＩＣメモリーカード、ＤＶＤ等を採用してもよい。ＣＰＵ１０８は、情報処理装置全体を制御する演算回路である。ＲＡＭ１０９は、当該ＣＰＵ１０８の主メモリとしてプログラムを格納するとともにＣＰＵ１０８による制御実行時にワークエリアとして使用される記憶回路である。ＲＯＭ１１０は、ＢＩＯＳなどの基本Ｉ／Ｏプログラムなどを記憶する記憶回路である。接続部１１１は、所定のインターフェイスを介してネットワーク１２０上の他の情報処理装置およびプリンタ機器との通信を制御する通信制御回路である。これらの各要素がシステムバス１１２を介して接続されている。
【００１２】
プリンタ機器１５０の主要な構成は以下のとおりである。ＣＰＵ１５５は、プリンタ機器１５０全体を制御する演算装置である。ＣＰＵ１５５は、後述するＲＯＭ１５７或いは外部メモリ１５４に記憶された制御プログラムに基づいて、接続部１５１で受信したプリンタ制御コマンド（印刷データ）に基づいて印刷部１５２に画像信号を送信する。ＲＡＭ１５６は、ＣＰＵ１５５の主メモリとして機能し、とりわけワークエリアとして各種データの一時的に記憶する記憶回路である。ハードディスク等の外部メモリ１５４は、フォントデータ、エミュレーションプログラム、およびフォームデータ等の各種データを記憶する記憶装置である。ＲＯＭ１５７は、プリンタ機器１５０の内部メモリの一つであり、外部メモリ１５４と同様に、各種データやプリンタ機器１５０を制御するプリンタ機器制御プログラム等を記憶する記憶回路である。印刷部１５２は、プリンタエンジンであり、ＲＯＭ１５７或いは外部メモリ１５４に記憶された制御プログラムを用いてＣＰＵ１５５により制御され、システムバス１５８を介して出力された画像信号を受信して実際の印刷処理を実行する。操作部１５３は、操作パネルや操作スイッチ等の入力装置、およびＬＥＤ、液晶パネル等の表示装置等から構成され、ユーザの操作を入力したり、処理結果を表示したりする。例えば、ユーザは操作部１５３を介してプリンタ１５０の設定を入力したり、設定内容を呼び出して表示させたりすることができる。接続部１５１は、通信回線１２０を介して情報処理装置１００の接続部１１１に接続し、プリンタ機器制御コマンド（印刷データ）を受信したり、プリンタ機器の内部状態等を送信したりすることができる。これらの各構成要素は、システムバス１５８を介して互いに接続されている。
【００１３】
図２は、本実施形態に係るＲＡＭ１０９のメモリマップの一例を示す図である。図２を用いて本実施形態に係る一般的な印刷処理について説明する。情報処理装置１００は、基本Ｉ／Ｏプログラム２０１、オペレーティングシステム（ＯＳ）２０２、および本印刷処理プログラム（プリンタドライバ）２０３をＣＰＵが実行することにより動作する。まず、情報処理装置１００の電源がＯＮに投入されると、基本Ｉ／Ｏプログラム２０１中のイニシャルプログラムローディング（ＩＰＬ）機能により、ハードディスク１０６等に記憶されたオペレーティングシステム２０２がＲＡＭ１０９にロードされ、ＯＳ２０２が動作を開始する。次に、キーボード１０３およびポインティングデバイス１０４をユーザが操作することにより、表示部１０２に表示されたコマンドイメージ等が選択される。当該コマンドイメージに対応するアプリケーション２０５がハードディスク等の外部記憶メモリ１０６からＲＡＭ１０９にロードされ、前記アプリケーション２０５が起動する。次に、起動したアプリケーション２０５によりデータ印刷が指示されると、ハードディスク１０６等の外部記憶メモリに記憶されたプリンタドライバプログラム２０３がＲＡＭ１０９にロードされ、本印刷処理システムが動作を開始する。本実施形態において、プリンタドライバプログラム２０３および関連データ２０４は、ハードディスク１０６に記憶されている。ハードディスク１０６に記憶されたプリンタドライバプログラム２０３は、ディスクコントローラ部１０５を通じてＲＡＭ１０９にロードされて動作可能となる。なお、２０６は上述のワークエリアを示している。
【００１４】
図３は、本実施形態に係るリソーステーブルの一例を示す図である。リソーステーブルは、上述のプリンタドライバ関連データ４０２の一部である。記憶領域３０１は、プリンタ１５０のＲＡＭ１５６や外部メモリ１５４などの推定メモリ残量を示す変数ＭｅｍＲｅｓｔが格納される領域である。記憶領域３０２は、各リソースをリソースカテゴリごとに分類して管理する際に役立つリソース識別子が格納される領域である。記憶領域３０３は、リソース名が格納される領域である。記憶領域３０４は、リソースの使用頻度などが格納される領域である。
【００１５】
また、本実施形態においてプリンタ内で使われるリソースについては、次の３つのカテゴリに分類し、次のようなリソース識別子により区別するものとする。なお、これらの分類は例示に過ぎず、これとは異なる分類を採用しても本発明を適用できることは言うまでもない。
【００１６】
・フォントリソース        ：  リソース識別子１
・手続きセットリソース    ：  リソース識別子２
・カラーテーブルリソース  ：  リソース識別子３
図４は、本実施形態に係るリソース管理処理の例示的なフローチャートである。このフローチャートの内容を概説すると、あるリソースをプリンタドライバからプリンタにダウンロードする際にプリンタの内蔵メモリの容量が不足している判定されたときに、ダウンロード済みのリソースの重要度に応じて不必要なリソースを削除することで、必要なリソース用の空き領域を確保してダウンロードを可能とする。
【００１７】
なお、本実施形態に係る発明を理解しやすくするために、さらに次のように仮定する。まず、アプリケーションからの印刷要求は、フォントリソースに属する「Ｆｏｎｔ Ａ」、手続きセットリソースに属する「手続きセットＡ」、カラーテーブルリソースに属する色処理を行なうための「カラーテーブルリソースＡ」を必要とするものとする。
【００１８】
また各リソースのメモリ占有サイズは次のとおりである。Ｆｏｎｔ Ａは、プリンタ１５０の内部において内部メモリを５０Ｍバイト使用するものとする。手続きセットＡは、プリンタ内部において内部メモリを４０Ｍバイト使用するものとする。カラーテーブルＡは、プリンタ内部において内部メモリを３０Ｍバイト使用するものとする。なお、これらのリソースのサイズ（プリンタ内でのメモリ消費量）は、プリンタドライバ２０３が、関連データ２０５として管理しているものとする。
【００１９】
また、ダウンロードが完了してプリンタ１５０内に引き続き保持されているリソースは、プリンタドライバから送信されるプリンタ制御コマンドによって削除されるまでは、有効に保持されるものとする。もちろん、プリンタドライバが命令せずとも、未使用の期間が一定期間を過ぎると、ＣＰＵ１５５が当該リソースを削除してもよいことはいうまでもない。なお、この例では、印刷開始時の初期状態としてプリンタ内部にはいかなるリソースも存在していないものとする。また、本実施形態において、プリンタ１５０の内部メモリの記憶可能容量は、１００Ｍバイトとする。
【００２０】
また、本実施形態において、上述の印刷要求に関連する印刷データにおいて、必要とされるリソースの順番は、
Ｆｏｎｔ Ａ  ＝＞  手続きセットＡ  ＝＞  Ｆｏｎｔ Ａ  ＝＞  カラーテーブルＡ
であるものとする。
【００２１】
また、プリンタ１５０の推定メモリ残量の誤差を考慮するため、３Ｍバイトの誤差定数δを使用する。
【００２２】
ステップＳ４０１において、ＣＰＵ１０８は、アプリケーション２０５にしたがって、当該アプリケーション２０５からの印字要求を生成する。次に、ＣＰＵ１０８は、プリンタドライバ２０３によって印刷要求を受信する。
【００２３】
ステップＳ４０２において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって初期化処理を実行する。例えば、プリンタドライバ２０３は、プリンタ内部メモリの最大記憶可能容量である１００Ｍバイトを、リソーステーブルのＭｅｍＲｅｓｔ変数に設定する。なお、プリンタドライバ２０３が、このプリンタの最大記憶可能容量を認識する方法としては、例えば、プリンタドライバ２０３が表示するユーザインターフェイスからユーザが設定する方法、あるいは特定のプリンタ機器に特化したデバイス依存ファイルをプリンタドライバ２０３が読みこむことにより認識する方法、あるいはプリンタとの双方向通信によりプリンタ１５０のＣＰＵ１５５に問い合わせて認識する方法などが考えられる。なお、これらは例示であり、また、本発明は記憶可能容量の取得方法に限定されるものではない。
【００２４】
図５は、本実施形態に係るプリンタドライバ関連データに保存されたリソーステーブルの一例を示す図である。ＭｅｍＲｅｓｔの初期値として１００Ｍバイトが設定されていることが分る。
【００２５】
ステップＳ４０３において、ＣＰＵ１０８は、アプリケーション２０５から特定のリソースの使用要求を受け付ける。ここでは、リソース「Ｆｏｎｔ Ａ」の使用要求を受け付けるものとする。この際に、アプリケーション２０５からはリソースのカテゴリを表す情報（リソース識別子）とリソース名を取得する。
【００２６】
ステップＳ４０４において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、必要とされるリソースについてリソーステーブルを検索する。上述の仮定によれば、フォントリソース（リソース識別子１）に分類されるＦｏｎｔ  Ａがリソーステーブル内に存在するかどうかを検索することになる。
【００２７】
ステップＳ４０５において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、検索対象のリソースがリソーステーブルに登録されていたか否かを判定する。登録済み（検索抽出成功）であれば、ステップＳ４１０に進み、未登録（検索抽出失敗）であればステップＳ４０６に進む。上述の仮定によれば、この時点でのリソーステーブル（図５）にリソース識別子１に対応するＦｏｎｔ Ａは存在しないので、ステップＳ４０６に進むことになる。
【００２８】
ステップＳ４０６において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、必要リソースをプリンタ１５０の内部メモリに記憶可能か否かを判定する。例えば、
（ＭｅｍＲｅｓｔ） − （Ｆｏｎｔ Ａダウンロード時のメモリ消費量）
を算出する。上述の例では、ＭｅｍＲｅｓｔ＝１００Ｍバイトで、Ｆｏｎｔ Ａダウンロード時のメモリ消費量＝５０Ｍバイトであるので、空き容量は、１００−５０＝５０Ｍバイトとなる。そして、この値が誤差δより大きいか否かを判定する。δ＝３Ｍバイトであったので、５０Ｍ  ＞  δが成り立つ。よって、必要リソースであるＦｏｎｔ  Ａはダウンロード可能と判定される。記憶可能と判定すれば、ステップＳ４０７に進み、記憶不可能と判定すれば、ステップＳ４１１のリソース整理処理に進む。このリソース整理処理については、図１０を用いて後述する。
【００２９】
ステップＳ４０７において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、リソーステーブルのＭｅｍＲｅｓｔの記憶領域３０１に「５０」を格納し、リソース識別子の記憶領域３０２に「１」を格納し、フォント名の記憶領域３０３に「Ｆｏｎｔ Ａ」を格納し、当該リソースの使用頻度に「１」を格納する。するとリソーステーブルは、図６のようになる。
【００３０】
ステップＳ４０８において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、接続部２１１を介して必要リソース（例：Ｆｏｎｔ Ａ）をプリンタ１５０に送信する。プリンタ１５０のＣＰＵ１５５は、接続部１５１を介して当該リソースを受信し、ＲＡＭ１５６などの内部メモリに記憶する。このようにしてリソースのダウンロードが実行される。
【００３１】
ステップＳ４０９において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、このリソースを参照するプリンタ制御コマンドを発行し、ステップＳ４０３に戻る。
【００３２】
その後、プリンタドライバ２０３は、「手続きセットＡ」に関する使用要求を受け付ける。プリンタドライバ２０３は、「手続きセットＡ」について、リソーステーブルを検索する（Ｓ４０４）が、この時点において、手続きセットＡはリソーステーブルに未登録である（Ｓ４０５）。メモリ空き容量を計算すると、５０−４０＝１０Ｍバイトとなり、δより大きいと判定される（Ｓ４０６）。プリンタドライバ２０３は、リソーステーブルのＭｅｍＲｅｓｔに１０を格納するとともに、手続きセットＡに関してリソーステーブルを更新する（Ｓ４０７）。すると、リソーステーブルは、図７のようになる。そして、手続きセットＡをプリンタ１５０にダウンロードする（Ｓ４０８）。
【００３３】
次にプリンタドライバ２０３は、アプリケーション２０５より再びＦｏｎｔ  Ａの参照要求を受ける（Ｓ４０３）。ここでプリンタドライバ２０３は、再びリソーステーブルを検索する（Ｓ４０４）。ここでリソース識別子が１であるＦｏｎｔ  Ａを発見する。プリンタドライバ２０３は、リソーステーブルの識別子１であるＦｏｎｔ  Ａの使用頻度を１増加させる（Ｓ４１０）。図８は、このときのリソーステーブルを示している。
【００３４】
次にプリンタドライバ２０３は、アプリケーション２０５から識別子３のカラーテーブルの参照要求を受け付ける（Ｓ４０３）。プリンタドライバ２０３は、リソーステーブルを検索し（Ｓ４０４）、リソース識別子３のカラーテーブルＡが存在しないことから（Ｓ４０５）、カラーテーブルＡをダウンロードした際の空き容量を計算する（Ｓ４０６）。ここで、この値は５−３０＝−２５となるので、空き容量がδより小さいと判定され、リソーステーブルのＭｅｍＲｅｓｔには、δより足りない分、すなわち−２５−δ＝−２８をセットし、空き容量不足時のリソース整理処理（ステップＳ４１１）に進む。図９はこの時のリソーステーブルを示している。
【００３５】
図１０は、本実施形態に係るリソース整理処理の例示的なフローチャートである。この例では、削除すべきリソースを各リソースの重要度（または不要度）に基づいて、プリンタ１５０の内部メモリの空き容量を確保しようとするものである。
【００３６】
ステップＳ１００１において、ＣＰＵ１０８は、プリンタドライバ２０３にしたがって、リソーステーブル内の各エントリについてリソースの不要度（非重要度）Ｗを計算する。このＷの計算方法の一例を以下に示す。
【００３７】
Ｗ＝  消費メモリ／使用頻度
図９に示しリソーステーブルについてＷを求めると、図１１に示したようになる。
【００３８】
ステップＳ１００２においてＣＰＵ１０８は、整数変数Ｋに１をセットする。ステップＳ１００３において、ＣＰＵ１０８は、リソーステーブルのエントリにおいて、Ｋ番目に大きいＷをもつリソースを決定する。図１１の例で、Ｋ＝１の場合は、手続セットＡの重要度が最も低い（すなわち、不要度・非重要度が最も高い）ので、手続セットＡが第１の削除候補となる。
【００３９】
ステップＳ１００４において、ＣＰＵ１０８は、削除候補として決定されたリソースを削除リソースリストに追加する。削除リソースリストは、プリンタドライバ関連データ２０４の一つである。さらに、ＣＰＵ１０８は、ＭｅｍＲｅｓｔ ＝ ＭｅｍＲｅｓｔ＋（Ｋ番目に大きいＷとして選ばれたリソースのメモリ消費量）の数式を演算して、ＭｅｍＲｅｓｔを更新する。これは、当該リソースを削除したときの空き容量を算出する処理の一例である。
【００４０】
ステップＳ１００５において、ＣＰＵ１０８は、算出された空き容量が、上述の必要リースを記憶するのに十分かを判定する。例えば、ＭｅｍＲｅｓｔが０より大きいかどうかを判定する。大きければ、ステップＳ１００６に進む。ＭｅｍＲｅｓｔが０より小さいならば、さらなるリソースを削除する必要があるため、Ｓ１００７に進む。
【００４１】
ステップＳ１００６において、ＣＰＵ１０８は、削除リソースリスト中のリソースを削除するためのコマンドをプリンタ１５０に送信する。プリンタ１５０のＣＰＵ１５５は、削除コマンドにしたがって削除対象のコマンドを内部メモリから削除する。これによって、必要なリソースを内部メモリへとダウンロードできるようになる。なお、ＣＰＵ１０８は、実際に削除したリソースを、削除リソースリストから除外する。
【００４２】
ステップＳ１００７において、Ｋを１増加させる。ステップＳ１００８において、リソーステーブル内のすべてのエントリについて、リソースの削除処理を行なったかを判定する。リソーステーブル内にエントリが残っていれば、ステップＳ１００３に戻り、次に重要度の低いリソースを削除する。なお、全てのリソースを削除しても、まだ空き容量が不足と判定された場合は、ステップＳ１００９に進み、印刷停止等のエラー処理を行なう。
【００４３】
上述の例では、まずＫが１の時、各Ｗは図１１に示したように２５、４０となる。したがって、この中で最も重要度の低いリソースは識別子「２」の「手続きセットＡ」である。この手続きセットＡの消費メモリ量は４０Ｍバイトであるので、ＭｅｍＲｅｓｔ＝ＭｅｍＲｅｓｔ＋４０ ＝ １２ ＞ ０となる。したがってプリンタドライバ２０３は、手続きセットＡの削除コマンドを生成し、プリンタ１５０の内部メモリから手続きセットＡを削除する。そしてその後カラーテーブルＡをダウンロードする。最終的にリソーステーブルは図１２に示したようになり、プリンタ１５０のメモリ不足を回避しつつ、印刷が可能となる。なお、図１２において、ＭｅｍＲｅｓｔは、１００−（全リソースエントリの総メモリ消費量）＝  ２０となっている。
【００４４】
以上説明したように、本実施形態では、必要なリソースがダウンロード不可能と判定された場合に、不可能と判定されたリソースをプリンタの内部メモリに記憶可能となるまで、当該内部メモリに記憶されている他のリソースを重要度の低いものから順番に削除することで、ユーザの手を煩わせることなく、しかも、リソース不足により印刷エラーを低減することができる。
【００４５】
また、ダウンロード可能と判定された（あるいは印刷処理に使用されたと判定された）リソースについての重要度を増加させることにより、各リソースの重要度を反映させることができる。リソースの重要度は、プリンタドライバの使用環境によって異なる可能性がある。そのため、実際の使用環境に応じて削除候補を選定することで、削除するのに好適なリソースを削除することができる。
【００４６】
また、リソースの使用頻度に基づいて当該リソースの重要度を算出することにより、とりわけ使用頻度の低い（不要度の高い）ものから、好適に削除することが可能となり、ひいては、必要なリソースのための内部メモリ領域を確保することが可能となる。
【００４７】
また、リソースのサイズおよび重要度をリソースカテゴリごとに管理することで、リソースのカテゴリに応じて、重要度の低いリソースを削除し、必要な内部メモリの空き容量を確保できるようになる。
【００４８】
［他の実施形態］
上述の実施形態では、リソース識別子やリソース名を用いてリソーステーブルを管理していたが、各リソースを識別できれば他の識別情報を採用してもよい。例えば、リソースを識別するためのリソースコードの如くである。
【００４９】
上述の実施形態では、情報処理装置１００からの削除コマンドを受信するまで、プリンタ１５０は、ダウンロードしたリソースを記憶しつづけることを前提としていた。しかしながら、プリンタ１５０のＣＰＵ１５５が、内部メモリに記憶されているリソースが未使用の期間をタイマーにより計時し、その未使用期間がしきい値を超えると、当該未使用リソースを削除してもよい。なお、この場合は、リソーステーブルの管理上、プリンタ１５０のＣＰＵ１５５が、どのリソースを削除したかを表す削除情報を情報処理装置１００に送信する。情報処理装置１００のＣＰＵ１０８は、当該削除情報を受信し、プリンタ１５０により自動的に削除されたリソースのエントリをリソーステーブルから削除する。このように印刷システムを構成しても、上述の実施形態と同様の効果を期待できる。また、このような削除処理は、プリンタ１５０や情報処理装置１００に処理負荷が軽いときに実行される場合が多いと考えられ、処理負荷の分散にもつながろう。
【００５０】
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、スキャナ、ＰＣ、複写機、複合機およびファクシミリ装置の如くである。
【００５１】
なお、本発明は、前述した実施形態の各機能を実現するソフトウェアプログラム（本実施形態では図４、または図１０に示すフローチャートに対応したプログラム）を、システム若しくは装置に対して直接または遠隔から供給し、そのシステム若しくは装置に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【００５２】
したがって、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００５３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００５４】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００５５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００５６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００５９】
【図１】図１は本実施形態に係る例示的な印刷システムのブロック図である。
【図２】図２は、本実施形態に係るＲＡＭ１０９のメモリマップを示す図である。
【図３】図３は、本実施形態に係るリソーステーブルの一例を示す図である。
【図４】図４は、本実施形態に係るリソース管理処理方法の例示的なフローチャートである。
【図５】図５は、本実施形態に係るリソーステーブル（初期状態）の一例を示す図である。
【図６】図６は、本実施形態に係るリソーステーブル（ＦｏｎｔＡが登録された状態）の一例を示す図である。
【図７】図７は、本実施形態に係るリソーステーブル（手続セットＡが登録された状態）の一例を示す図である。
【図８】図８は、本実施形態に係るリソーステーブル（ＦｏｎｔＡの使用頻度が増加した状態）の一例を示す図である。
【図９】図９は、本実施形態に係るリソーステーブル（プリンタ内部メモリの空き容量が不足した状態）の一例を示す図である。
【図１０】図１０は、本実施形態に係るリソース整理処理の例示的なフローチャートである。
【図１１】図１１は、本実施形態に係るリソーステーブル（非重要度Ｗを算出した状態）の一例を示す図である。
【図１２】図１２は、本実施形態に係るリソーステーブル（手続セットＡを削除してカラーテーブルＡを登録した状態）の一例を示す図である。
【図１】
2005173829.tif 000003
【図２】
2005173829.tif 000004
【図３】
2005173829.tif 000005
【図４】
2005173829.tif 000006
【図５】
2005173829.tif 000007
【図６】
2005173829.tif 000008
【図７】
2005173829.tif 000009
【図８】
2005173829.tif 000010
【図９】
2005173829.tif 000011
【図１０】
2005173829.tif 000012
【図１１】
2005173829.tif 000013
【図１２】
2005173829.tif 000014