(57)【特許請求の範囲】
【請求項１】
印刷用言語に基づいて記載された印刷ジョブを解析するにあたり、前記印刷用言語に対応した言語解釈プログラムを選択してメモリ上で実行し、前記実行された言語解釈プログラムの解析結果に基づいて印刷を行なう印刷装置であって、
前記各言語解釈プログラムが処理する印刷ジョブ数と、前記言語解釈プログラムを実行するためにメモリへ読み込まれる読み込み回数と、言語解釈プログラムが処理する印刷ジョブ内で実行される印刷ページ数と、を計測して統計をとる使用状況算出手段と、
前記統計を取られた各言語解釈プログラムにおける印刷ジョブ数及び印刷ページ数から、印刷ジョブにおける平均印刷ページ数を算出し、算出された平均印刷ページ数及び各言語解釈プログラムのデーター量に基づいて各言語解釈プログラムをメモリに常駐させた場合の同メモリの空き容量を予測する空き容量予測手段と、
前記予測された空き容量が所定値以上である場合に、前記印刷ジョブ数が最も高い言語解釈プログラムを最初に前記メモリに常駐させ、更に、
前記言語解釈プログラムを前記メモリに常駐させた後の前記メモリの空き容量が所定値以上である場合に、残りの言語解釈プログラムであって、前記印刷ジョブ数が所定値以上であり、且つ読み込み回数が所定値以上である言語解釈プログラムを前記メモリに常駐させる常駐切り替え手段とを具備することを特徴とする印刷装置。
【請求項２】
前記使用状況算出手段は、計測した各値を、同値の参照者の種別に応じて組み合わせを変化させて表示することを特徴とする請求項１に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に関し、特に、印刷用言語に基づいて記載された印刷ジョブを解析するにあたり、印刷用言語に対応した言語解釈プログラムを選択してメモリ上で実行し、解析結果に基づいて印刷を行なう印刷装置に関するものである。
【背景技術】
【０００２】
従来、端末で作成された印刷データの印刷イメージを印刷装置に指示するために印刷用言語が使用されている。ネットワークを介して複数の端末及び印刷装置とが接続される場合、各端末が異なる印刷用言語を使用する場合があり、印刷装置は各端末が使用する印刷用言語に対応できるよう複数の言語解釈プログラムを備えている（例えば、特許文献１参照）。
【０００３】
しかし、印刷装置が複数の言語解釈プログラムを備える場合、言語解釈プログラムの実行環境が問題となる。通常、印刷装置は言語解釈プログラムをメモリ上に読み込み、メモリ上で実行する。そのため、送信された印刷データに素早く対応するためには、メモリ上に異なる言語解釈プログラムを常駐させておくことが望ましい。しかしながら、メモリ上に言語解釈プログラムを複数常駐させることは、メモリ容量の大きなメモリを使用する必要があり、コスト的な制約において現実的でない。そのため、従来では、言語解釈プログラムの使用頻度をカウントし、カウントされた使用頻度が多い言語解釈プログラムのみをメモリ上に常駐させていた（例えば、特許文献２参照）。
【特許文献１】特開２００３−２９９４６号公報
【特許文献２】特開平１１−１９４９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した特許文献２の発明は、次のような課題があった。つまり、言語解釈プログラムの使用頻度のみで不揮発性メモリに常駐させる言語解釈プログラムを選択した場合、現実の言語解釈プログラムの使用状況に対応しない場合があった。
【０００５】
本発明は、上記課題に鑑みてなされたもので、実質的な印刷用言語の使用状況を解析して、メモリを効率的に使用することが可能な、印刷装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一局面では、印刷用言語に基づいて記載された印刷ジョブを解析するにあたり、前記印刷用言語に対応した言語解釈プログラムを選択してメモリ上で実行し、前記実行された言語解釈プログラムの解析結果に基づいて印刷を行なう印刷装置であって、前記各言語解釈プログラムが処理する印刷ジョブ数と、前記言語解釈プログラムを実行するためにメモリへ読み込まれる読み込み回数と、言語解釈プログラムが処理する印刷ジョブ内で実行される印刷ページ数と、を計測して統計をとる使用状況算出手段と、前記統計を取られた各言語解釈プログラムにおける印刷ジョブ数及び印刷ページ数から、印刷ジョブにおける平均印刷ページ数を算出し、算出された平均印刷ページ数及び各言語解釈プログラムのデーター量に基づいて各言語解釈プログラムをメモリに常駐させた場合の同メモリの空き容量を予測する空き容量予測手段と、前記予測された空き容量が所定値以上である場合に、前記印刷ジョブ数が最も高い言語解釈プログラムを最初に前記メモリに常駐させ、更に、前記言語解釈プログラムを前記メモリに常駐させた後の前記メモリの空き容量が所定値以上である場合に、残りの言語解釈プログラムであって、前記印刷ジョブ数が所定値以上であり、且つ読み込み回数が所定値以上である言語解釈プログラムを前記メモリに常駐させる常駐切り替え手段とを具備する。
【０００７】
上記のように構成された発明では、印刷ジョブを解析するにあたり、印刷用言語に対応した言語解釈プログラムを選択してメモリ上で実行し、実行された言語解釈プログラムの解析結果に基づいて印刷を行なう印刷装置において、解析された印刷ジョブの使用状況の統計をとり、統計結果に基づいて言語解釈プログラムの使用頻度と実行間隔とを算出する使用状況算出手段と、算出された最も高い使用頻度の言語解釈プログラムを最初にメモリに常駐させ、又、算出された使用頻度が高く且つ実行間隔が長い言語解釈プログラムを常駐された言語解釈プログラムの次にメモリに常駐させる常駐切り替え手段とを具備するため、メモリに常駐させる言語解釈プログラムを言語解釈プログラムの使用頻度と実行間隔とに基づいて選択でき、メモリを効率的に使用することができる。
ここで、使用頻度とは、一定期間に言語解釈プログラムが実行される回数を意味する。また、実行間隔とは言語解釈プログラムが連続して使用される間隔の長さを意味する。
【０００８】
好ましくは、前記使用状況算出手段は、前記言語解釈プログラムが処理する印刷ジョブ数と、前記言語解釈プログラムを実行するためにメモリへ読み込まれる読み込み回数とを計測して統計をとり、前記印刷ジョブ数の統計結果に基づいて前記使用頻度を算出し、前記読み込み回数の統計結果に基づいて前記実行間隔を算出する
【０００９】
上記のように構成された発明では、印刷ジョブ数の統計結果により使用頻度を算出し、読み込み回数の統計結果により実行間隔を算出するため、印刷ジョブの処理状況から言語解釈プログラムの使用状況を判断することができ、より実質的な言語解釈プログラムの使用状況を判断することができる。
【００１０】
前記使用状況算出手段は、前記言語解釈プログラムのメモリ使用量に基づいて、前記メモリの空き容量を算出し、前記算出されたメモリの空き容量が少ない場合は、前記言語解釈プログラムを起動時にメモリに読み込む。
上記のように構成された発明では、メモリの空き容量が少ない場合は、言語解釈プログラムをメモリに常駐させず、起動時にメモリに読み込むため、少ない空き容量のメモリでも効果的にメモリを活用することができる。
【００１１】
好ましくは、前記常駐切り替え手段は、前記メモリ使用量を前記印刷ジョブ内で実行される印刷ページの数に基づいて算出する。
言語解釈プログラムのメモリ使用量は、処理されるページ数によって簡易的に算出することができる。例えば、言語解釈プログラムにより処理される平均ページ数に応じてメモリ使用量の重み付けを行なえば、より簡単な演算によりメモリ使用量を予測することができ、結果としてメモリの空き容量を予測することが可能となる。
【００１２】
また、メモリへ常駐させる言語解釈プログラムの選択は、印刷装置が自動で実施することに限定されず、言語解釈プログラムの使用頻度と実行間隔とを確認したユーザがどの言語解釈プログラムを常駐させるかを判断するものであってもよい。そのため、本発明の他の局面として、印刷用言語に基づいて記載された印刷ジョブを解析するにあたり、前記印刷用言語に対応した言語解釈プログラムを選択してメモリ上で実行し、前期実行された言語解釈プログラムの解析結果に基づいて印刷を行なう印刷装置であって、解析された前記印刷ジョブの使用状況を統計し、前記統計結果に基づいて前記言語解釈プログラムの使用頻度と実行間隔とを算出する使用状況算出手段と、前記算出された使用頻度と実行間隔とを表示する使用状況表示手段とを具備する。
【００１３】
上記のように構成された発明では、印刷ジョブの使用状況の統計結果に基づいて言語解釈プログラムの使用頻度と実行間隔とを表示し、この使用頻度と実行間隔とをユーザが確認することで、ユーザがメモリに常駐させる言語解釈プログラムを判断するのを補助することができる。
【００１４】
好ましくは、前記使用状況表示手段は、前記印刷ジョブの処理内容に基づいてヒストグラムを生成し、前記生成されたヒストグラムをステータスシートとして印刷する。
上記のように構成された発明では、ユーザは印刷されたステータスシートを確認することで、メモリに常駐させる言語解釈プログラムの判断材料とすることができる。
【００１５】
好ましくは、前記使用状況表示手段は、前記言語解釈プログラムにおける、使用頻度と、実行間隔と、該言語解釈プログラムが処理する印刷ジョブ内で実行される印刷ページの数とに基づいて個別にヒストグラムを作成する。
上記のように構成された発明では、使用頻度に基づいて作成されたヒストグラムはユーザが常駐させる言語プログラムを判断する際、言語解釈プログラムの使用頻度を基に判断したい場合に印刷される。同様に、言語解釈プログラムの実行間隔を基に判断する場合、及び印刷されるページの数に基づくデータ量を基に判断する場合に、各ヒストグラムが使用される。そのため、ユーザの判断材料に応じた情報をヒストグラムとして、ユーザに提示することができる。
【発明を実施するための最良の形態】
【００１６】
以下、下記の順序に従って本発明の実施形態を説明する。
１．第１の実施の形態：
１．１．印刷装置の構成：
１．２．使用状況統計処理：
１．３．ステータスシート出力処理：
１．４．常駐切り替え処理：
１．４．１．電源投入時における処理：
１．４．２．印刷用言語起動時における処理：
２．その他の実施例：
【００１７】
１．第一の実施の形態：
１．１．印刷装置の構成：
図１は、ネットワークに接続された印刷装置を説明する図である。印刷装置１０はパーソナルコンピュータ（以下ＰＣと記載）２０〜４０とネットワーク５０を介して接続され、ＰＣ２０〜４０から送信される印刷データを、ネットワーク５０を通じて受信する。ＰＣ２０〜４０は印刷データ生成部及びこの印刷データ生成部で生成された印刷データを所定の印刷用言語を用いて変換するプリンタドライバを備えている。そのため、印刷装置１０はＰＣ２０〜４０が使用する各印刷用言語に対応した言語解釈プログラムを記憶しており、印刷データの印刷処理時に、印刷用言語に対応した言語解釈プログラムを選択して実行する。
【００１８】
図２は、印刷装置１０の構成を説明するブロック図である。印刷装置１０はホストＩ／Ｆ１１を介してネットワーク５０に接続され、ネットワーク５０を介して受信した印刷データを印刷処理する。また、印刷装置１０はユーザからの入力操作を受け付ける操作パネル１２と、所定のデータベースを記憶する不揮発性メモリ１３と、印刷装置１０の駆動を制御するＣＰＵ（Central Processing Unit）１４と、ＣＰＵ１４に所定の処理を実行させるプログラムを記憶するＲＯＭ（Read Only Memory）１５と、プログラムの展開場所としてのＲＡＭ（Random Access Memory）１６と、印刷処理を実行するためのプリンタエンジン１７とを備えている。上記した各部はバス１８を用いて接続され、相互に通信が可能である。
【００１９】
ＲＯＭ１５には、ＣＰＵ１４に各種処理を実行させるためのプログラムが記憶されている。具体的には、ＲＯＭ１５には、言語解釈プログラムによって処理される印刷ジョブの使用状況の統計をとる使用状況算出部１００と、ユーザからの指示によりステータスシートを印刷するステータスシート出力部２００と、ＰＣ２０〜４０の画面上に操作画面を表示させるＵＩ（User Interface）表示部３００と、ＲＡＭ１６に常駐する言語解釈プログラムを切替えさせる常駐切り替え部４００と、ＲＡＭ１６のメモリ容量を確認させるメモリ容量確認部５００と、言語解釈プログラム６００〜６２０とが記憶されている。これら各プログラムはＲＯＭ１５に圧縮されて記憶されており、起動時に展開された後、ＲＡＭ１６に読み込まれて実行される。
【００２０】
ＰＣ２０からネットワーク５０を介して送信された印刷データはホストＩ／Ｆ１１を介してＲＡＭ１６に記憶される。また、ＣＰＵ１４は印刷データを構成する印刷用言語に対応した言語解釈プログラムをＲＯＭ１５からＲＡＭ１６に読み込み、この言語解釈プログラムを用いて印刷用言語の解析を行なう。その後、ＣＰＵ１４は解析結果に従ってプリンタエンジン１７を駆動させ、印刷処理を実行する。
【００２１】
また、印刷装置１０は言語解釈プログラムの実行毎に、この言語解釈プログラムにより処理される印刷ジョブの使用状況をカウントし、このカウントした値により印刷ジョブの使用状況の統計をとる（使用状況統計処理）。カウントされた使用状況は不揮発性メモリ１３に記憶され、記憶された統計結果に基づいて言語解釈プログラムの使用頻度と実行間隔とが算出される。なお、算出された使用状況と実行間隔はプリンタエンジン１７から印刷されるステータスシートに記録されることで、このステータスシートを確認したユーザ等に印刷用言語の常駐方法の判断材料を提供したり（ステータスシート出力処理）、印刷装置１０がＲＡＭ１６に常駐させる言語解釈プログラムを自動で切替える際に使用される（常駐切り替え処理）。
【００２２】
図３は、一例としての不揮発性メモリに記憶されるデータベースを説明する図である。不揮発性メモリ１３には、印刷ジョブの使用状況の統計値がデータベース形式で記憶されている。具体的には、データベース７００には各言語解釈プログラムにより処理される印刷ジョブの累積回数や、印刷ページ数の累積枚数や、印刷ジョブにより処理されるデータ量や、各言語解釈プログラムのデータ量や、各言語解釈プログラムが処理する１ページ当たりの平均使用データ量や、ＲＡＭ１６のメモリ容量が記憶されている。
【００２３】
データベース７００には、言語解釈プログラムの使用頻度を判断するために、言語解釈プログラムにより処理される印刷ジョブ数が累積記憶される。ここで、使用頻度とは、一定期間に言語解釈プログラムが実行される回数を意味し、累積印刷ジョブ数が多ければ使用頻度は多いものとする。例えば、図３（ａ）に示すように、データベース７００には、各言語解釈プログラムで処理された累積印刷ジョブ数と言語解釈プログラムにより印刷される累積ページ数とが記録されており、例えば、この中から使用頻度を判断するために累積印刷ジョブ数が用いられる。なお、累積ページ数を累積印刷ジョブ数で割った１印刷ジョブ当たりの平均ページ数を用いて、使用頻度を判断してもよい。
【００２４】
データベース７００には、言語解釈プログラムの実行間隔を判断するために、言語処理プログラムのＲＡＭ１６への読み込み回数が累積記憶される。ここで、実行間隔とは言語解釈プログラムが連続して使用される間隔の長さを意味し、読み込み回数が多いほど実行間隔は短いものとする。例えば、図３（ｂ）に示すように、データベース７００には、累積印刷ジョブ数と累積読み込み回数とが記録されており、例えば、この中から実行間隔を判断するために累積読み込み回数が用いられる。また、累積読み込み回数を累積印刷ジョブ数で割った値を用いて、実行間隔を判断してもよい。
【００２５】
さらに、データベース７００には、図３（ｃ）に示すように、印刷ジョブが実行するデータ量を判断するため、処理される印刷ページの枚数ごとの累積印刷ジョブ数と累積ページ数とが記録されている。このデータベースはステータスシート出力処理により使用される。以下に各処理の内容を、使用状況統計処理、ステータスシート出力処理、常駐切り替え処理の順に説明する。
【００２６】
１．２．使用状況統計処理
使用状況統計処理では、印刷用言語の実行毎に言語解釈プログラムが処理する印刷ジョブの各仕様状況をＣＰＵ１４がカウントし、カウントした各値を不揮発性メモリ１３に記憶させる。この使用状況統計処理はＲＡＭ１６に読み込まれた使用状況算出部１００に基づいて実行される。なお、カウントされた各値は、言語解釈プログラムの使用頻度及び実行間隔の判断材料として利用される。
【００２７】
図４は、使用状況統計処理を説明するフロー図である。印刷データがＲＡＭ１６に読み込まれると、ＣＰＵ１４は言語解釈プログラムにより印刷用言語の解析を実行した後、言語解釈プログラムをＲＡＭ１６に読み込み、使用状況統計処理を実行する。まず、ＣＰＵ１４は処理された印刷ジョブの数と、読み込み回数と、１つの印刷ジョブで印刷されるページ数とをカウントする（ステップＳ１１０）。
【００２８】
ＣＰＵ１４はカウントした各値を不揮発性メモリ１３上に記憶させる（ステップＳ１２０）。ＣＰＵ１４がカウントした各値により、データベース７００の各言語解釈プログラムに対応した項目が更新され、統計結果が累積記憶されていく。上記した各値のカウントは、言語解釈プログラムの実行毎に実施される。これにより、使用状況算出部１００はＣＰＵ１４に使用状況算出手段を実現させる。
【００２９】
１．３．ステータスシート出力処理
ステータスシート出力処理では、プリンタエンジン１７に各言語解釈プログラムにより処理される印刷ジョブの使用状況が記録されたステータスシートを印刷させる。このステータスシートにはデータベース７００により記録された、印刷ジョブ数と、読み込み回数と、１つの印刷ジョブで印刷されるページ数との各値を示すヒストグラムが記憶される。これにより、ユーザはこのステータスシートを確認して言語解釈プログラムの使用頻度と実行間隔とを判断し、ＲＡＭ１６に常駐させる言語解釈プログラムを決定する。
【００３０】
図５は、ステータスシート出力処理を説明するフロー図である。ステータスシート出力処理は、ユーザが操作パネル１２又はＰＣ２０〜４０を操作することで印刷装置１０へステータスシート印刷命令が入力され、この実行命令を受けてＣＰＵ１４がステータスシート出力部２００をＲＯＭ１５からＲＡＭ１６へ読み込むことで実行される。
【００３１】
ステータスシート印刷命令がＣＰＵ１４に入力されると、ＣＰＵ１４は印刷するステータスシートをユーザに選択させるステータスシート選択画面を表示する（ステップＳ２１０）。ステータスシート選択画面はＣＰＵ１４がＲＯＭ１５に記憶されたＵＩ表示部３００をＲＡＭ１６に読み込むことで表示される。ステータスシート選択画面はステータスシート印刷命令を送信したＰＣの画面上に表示され、ユーザがＰＣ上でアイコンを操作するこでステータスシートが印刷される。
【００３２】
図６は、画面に表示されるステータスシート選択画面を説明する図である。同図より、画面略中央には「ステータスシート出力」の文字列が表示され、表示された文字列の図中右側には、選択可能なステータスシートの種別がプルダウン形式で表示される。なお、選択可能なステータスシートの一例として、「ユーザ１」「ユーザ２」「サービスマン」が表示され、各ステータスシートはその使用方法に合わせて印刷されるヒストグラムが異なる。ユーザは印刷したいステータスシートの種別をアイコンの中から選択し、「ＯＫ」のアイコンを操作することで印刷装置１０に選択したステータスシートを印刷させる。
【００３３】
ＣＰＵ１４は、ステータスシート選択画面を用いた選択操作命令を受信すると（ステップＳ２２０）、不揮発性メモリ１３に記憶されたデータベースを参照しつつ、ステータスシートを作成する（ステップ２３０）。具体的には、ＣＰＵ１４は参照したデータベースの統計結果に基づいてステータスシートに記録させるヒストグラムを作成する。その後、ＣＰＵ１４はプリンタエンジン１７に作成したヒストグラムの印刷処理を命令する（ステップＳ２４０）。
【００３４】
図７は、ステータスシートに記録される各ヒストグラムを説明する図である。なお、図７（ａ）は、ステータスシート選択画面上で「ユーザ１」を選択した場合に印刷されるステータスシートである。このステータスシートには、例えば、図３（ａ）に示す統計結果を基に作成され、各言語解釈プログラムが処理した累積印刷ジョブ数を表すヒストグラムが記録されている。また、このステータスシートは、ユーザがＲＡＭ１６に常駐させる言語解釈プログラムを使用頻度に基づいて決定する場合に用いられる。
【００３５】
図７（ｂ）は、ステータスシート選択画面上で「ユーザ２」を選択した場合に印刷されるステータスシートである。このステータスシートには、例えば、図３（ｂ）に示す統計結果を基に作成され、各言語解釈プログラムごとのＲＡＭ１６への累積読み込み回数を表すヒストグラムが記録されている。また、このステータスシートは、ユーザがＲＡＭ１６に常駐させる言語解釈プログラムを実行間隔に基づいて決定する場合に用いられる。
【００３６】
図７（ｃ）は、ステータスシート選択画面上で「サービスマン」を選択した場合に印刷されるステータスシートである。このステータスシートには、例えば図３（ｃ）に示す統計結果により作成され、印刷ページ数ごとの印刷ジョブの数を表すヒストグラムが記録されている。このヒストグラムは、サービスマンが印刷装置１０の故障診断のために参照するものである。通常、印刷装置では印刷ジョブの処理ごとにプリンタエンジン１７のキャリブレーションが実行されるため、処理される印刷枚数が少ない印刷ジョブ数が多いほど、一定期間におけるキャリブレーションの実行回数は増加する。そのため、このステータスシートを参照することで、キャリブレーションの実行回数を参照しつつ、プリンタエンジン１７の故障診断に生かすことが可能となる。
【００３７】
このように、言語解釈プログラムの使用状況を示すステータスシートを印刷することで、ユーザ等はこのステータスシートから言語解釈プログラムの使用頻度と実行間隔とを判断し、言語解釈プログラムをＲＡＭ１６に常駐させる判断材料として利用することができる。これにより、ステータスシート出力部２００は、ＣＰＵ１４に使用状況表示手段を実現させる。
【００３８】
１．４．常駐切り替え処理
常駐切り替え処理では、ＣＰＵ１４に、不揮発性メモリ１３に記憶された各値に基づいてＲＡＭ１６に常駐させる言語解釈プログラムを選択させる。この常駐切り替え処理においても、ステータスシート出力処理と同様にデータベース７００に記録された印刷ジョブの使用状況の統計に基づいてＲＡＭ１６へ常駐する言語解釈プログラムが選択される。また、常駐切り替え処理は操作パネル１２及びＰＣ上での操作により実行の有無を選択することができる。そのため、ユーザがＲＡＭ１６に常駐させる言語解釈プログラムを自ら判断する場合は、常駐切り替え処理をオフにして、前記したステータスシートを参考にしつつ判断を行なう。なお、常駐切り替え処理は印刷装置１０の主電源投入時、及び言語解釈プログラムの起動時に実行されるため、以下２つの場合に分けて説明を行なう。
【００３９】
１．４．１．電源投入時における処理：
図８は、電源投入時に実行される常駐切り替え処理を説明するフロー図である。図８における常駐切り替え処理は、ユーザが操作パネル１２を操作して印刷装置１０の主電源を投入すると、ＣＰＵ１４が常駐切り替え部４００をＲＡＭ１６へ読み出すことで実行される。なお、以下、印刷装置１０のＲＯＭ１５には言語解釈プログラム６００〜６２０が圧縮されて記憶されているものとする。
【００４０】
印刷装置１０の主電源が投入されると、ＣＰＵ１４は印刷装置１０が常駐切り替え処理を実行するモードであるか否かを判断する（ステップＳ４１０）。なお、ユーザが予め常駐切り替え処理をオフに設定した場合は、ＣＰＵ１４は常駐切り替え処理を実行することなく通常の起動処理を実行する（ステップＳ４３０）。
【００４１】
ＣＰＵ１４は不揮発性メモリ１３にアクセスして、不揮発性メモリ１３に記録されたデータベースを参照する（ステップＳ４２０）。このとき、ＣＰＵ１４はデータベースから言語解釈プログラム６００〜６２０に対応した印刷ジョブの使用状況の統計を読み込む。また、ＣＰＵ１４は不揮発性メモリ１３に記憶された、各言語解釈プログラムのデータ量や、各言語解釈プログラムが処理する１ページ当たりの平均使用データ量や、ＲＡＭ１６のメモリ容量を読み出す。
【００４２】
ＣＰＵ１４は、不揮発性メモリから読み込んだ項目に基づいてＲＡＭ１６の空き容量Ｍheap'を算出し、空き容量の多さを判断する（ステップＳ４４０）。具体的には、ＣＰＵ１４はＲＯＭ１５に記憶されたメモリ容量確認部５００を読み出し、メモリ容量確認部に基づいてＲＡＭ１６の空き容量Ｍheap'を算出する。このとき算出される空き容量Ｍheap'は、各言語解釈プログラムをＲＡＭ１６で実行する際に必要とされる値であり、具体的には下記に記載する式（１）により算出される。
【００４３】
図９は、メモリ容量確認部に基づいて実行されるメモリ容量確認処理を説明するフロー図である。まず、ＣＰＵ１４はデータベース７００に記録された累積印刷ジョブ数と累積ページ数とから印刷ジョブ内で処理される平均ページ数ＡＶＧpageを算出する（ステップＳ５１０）。また、ＣＰＵ１４は、データベース７００から各言語解釈プログラムのデータ量Ｄp、１ページ当たりの平均使用データ量Ｄavgp、及びＲＡＭ１６のメモリ容量Ｍheapとを読み出す（ステップＳ５２０）。次に、ＣＰＵ１４は、下記に記載する式（１）を用いて空き容量Ｍheap'を算出する（ステップＳ５３０）。
【００４４】
空き容量＝ＲＡＭの記憶領域のメモリ容量−（言語解釈プログラムのデータ量＋１ページ当たりの平均使用データ量×１印刷ジョブ当たりの平均ページ数）
Ｍheap’＝Ｍheap−（Ｄｐ＋Ｄavgp×ＡＶＧpage）                …（１）
なお、空き容量Ｍheap’は各言語解釈プログラム６００〜６２０ごとに算出され、算出された値はＲＡＭ１６に一時記憶される。
【００４５】
ＣＰＵ１４は、算出した空き容量Ｍheap’に基づいて、ＲＡＭ１６に常駐させる印刷用言語の常駐状態の場合分けを行なう（ステップＳ４５０〜４９０）。このとき、ＣＰＵ１４はデータベース７００に記憶された統計結果から言語解釈プログラムの使用頻度と実行間隔とを判断する。本実施例では、ＣＰＵ１４はデータベースから読み出した累積印刷ジョブ数が多い場合は、使用頻度が多いと判断し、累積読み込み回数が多い場合は、実行間隔が短いと判断する。
【００４６】
ＣＰＵ１４はステップＳ４４０で判断された空き容量Ｍheap’の多さに基づいて、ＲＡＭ１６への言語解釈プログラムの常駐の有無を判断する（ステップＳ４５０）。このとき判断される空き容量Ｍheap’は、算出された空き容量の内最も少ない値を使用する。空き容量Ｍheap’が多い場合は、ＣＰＵ１４はＲＡＭ１６に使用頻度の最も高い言語解釈プログラムを常駐させる（ステップＳ４５０）。仮に、言語解釈プログラム６００の使用頻度が最も高いと場合、言語解釈プログラム６００がＲＡＭ１６に常駐される。
【００４７】
空き容量Ｍheap’が少ない場合は、ＣＰＵ１４は言語解釈プログラムをＲＡＭ１６に常駐させず常駐言語選択処理を終了する（ステップＳ４８０）。この場合、言語解釈プログラムは起動時にＲＡＭ１６に読み込まれ実行される。
【００４８】
さらに、ＣＰＵ１４はＲＯＭ１５に記憶された言語解釈プログラム６１０，６２０をＲＡＭ１６に常駐させるか判断する。具体的には、ＣＰＵ１４は次に常駐対象とする言語解釈プログラムをその使用頻度から判断する。今、言語解釈プログラム６１０の使用頻度が言語解釈プログラム６２０より高いと仮定すると、ＣＰＵ１４は言語解釈プログラム６１０の使用頻度をしきい値Ｔ１と比較し、使用頻度がしきい値Ｔ１より低い場合は（ステップＳ４６０）、ＲＡＭ１６に常駐させず起動時にＲＡＭ１６に読み込む（ステップＳ４８０）。
【００４９】
また、言語解釈プログラム６１０の使用頻度がしきい値Ｔ１より多くても読み込み回数が少ない場合は（ステップＳ４６２）、ＣＰＵ１４は言語解釈プログラムをＲＡＭ１６に常駐させない（ステップＳ４８０）。ここで、ＲＡＭ１６の読み込み数を考慮したのは、印刷装置１０の起動時間を考慮したためである。つまり、読み込み回数が多いとＲＡＭ１６へ読み込む際、読み込みに掛かる時間が長くなり処理時間を遅延させてしまう。また、最も使用頻度が高い言語解釈プログラム６００は既に常駐されており、二番目に読み込む言語解釈プログラム６１０は、起動時に動的に読み込んでも全体の処理時間に影響を与える訳ではない。そのため、言語解釈プログラム６１０の読み込み回数が多い場合はＲＡＭ１６に常駐させ、読み込み回数が少ない場合は起動時にＲＡＭ１６に読み込む。
【００５０】
また、言語解釈プログラムの切り替え頻度が多くても、ＲＡＭ１６の空き容量が少なければ（ステップＳ４６５）、言語解釈プログラムをＲＡＭ１６に常駐させない（ステップＳ４８０）。このとき判断されるＲＡＭ１６の空きメモリ容量は、言語解釈プログラム６００が既に常駐されていることを考慮し、ステップＳ４３０で算出された空き容量Ｍheap’から更に、言語解釈プログラム６１０のメモリ使用量を除した値とする。
【００５１】
その後、ＲＡＭ１６の空き容量Ｍheap’が多い場合は（ステップＳ４７０）、ＣＰＵ１４はステップＳ４５０に戻り、言語解釈プログラム６２０をＲＡＮ１６に常駐させるか判断する。これにより、ＣＰＵ１４は言語解釈プログラムの使用頻度と実行間隔とに基づいてＲＡＭ１６に常駐させる言語解釈プログラムを選択することができる。
【００５２】
１．４．２．印刷用言語起動時における処理：
図１０は、言語解釈プログラムの起動時における常駐切り替え処理を説明する図である。このフロー図は、言語解釈プログラムの起動時にＣＰＵ１４が実行する処理であり、多くの処理を図８のフローと同じとするため、図８との差異を主に説明する。
【００５３】
所定の言語解釈プログラムが起動されると、ＣＰＵ１４は印刷装置１０が常駐切り替え処理を実行するモードであるか否かを判断する（ステップＳ１４１０）。ユーザが予め常駐切り替え処理をオフに設定した場合は、ＣＰＵ１４は常駐切り替え処理を実行することなく通常の起動処理を実行する（ステップＳ１４３０）。
【００５４】
ＣＰＵ１４は、起動された言語解釈プログラムがＲＡＭ１６に常駐しているかを判断する（ステップＳ１４２０）。具体的には、起動した言語解釈プログラムがＲＯＭ１５からＲＡＭ１６へ読み込まれたものかＲＡＭ１６から読み込まれたものかを判断する。ここで、言語処理部がＲＡＭ１６に常駐している場合は、ＣＰＵ１４は常駐言語選択処理を終了し、印刷処理を実行する。
【００５５】
ＣＰＵ１４は、不揮発性メモリ１３にアクセスして、データベースに記録された統計結果を参照する（ステップＳ１４４０）。また、ＣＰＵ１４は、ＲＡＭ１６の空き容量Ｍheap’を算出する（ステップＳ１４５０）。
【００５６】
ＣＰＵ１４は、算出した空き容量Ｍheap'に基づいて、ＲＡＭ１６に常駐させる言語解釈プログラムの常駐状態の場合分けを行なう（ステップＳ１４６０〜１４９０）。このときも図８で説明したフロー図と同様に、ＣＰＵ１４はデータベース７００から読み込んだ統計結果を参照し、参照した統計結果から言語解釈プログラムの使用頻度と実行間隔とを算出する。これら一連のフローにより言語処理部をＲＡＭ１６に常駐させるかが判断される。前述した図８〜１０に基づく説明により、常駐切り替え部４００は、ＣＰＵ１４に常駐切り替え手段を実現させる。
【００５７】
２．その他の実施例：
前述した常駐切り替え処理では、まず、ＲＡＭ１６に最初に常駐させる言語解釈プログラムを使用頻度に基づいて常駐判定を行なったが、これに限定されず実行間隔（読み込み回数）に基づいて言語解釈プログラムの常駐判定を行なうものであってもよい。
【００５８】
また、ステータスシート出力処理において、ステータスシート選択画面をＰＣ画面上に表示する旨の説明を行なったが、印刷装置１０に表示ディスプレイを備える場合は、この表示ディスプレイにステータスシート選択画面を表示し、操作パネル１２を用いてステータスシートの選択を行うものでもよい。
【００５９】
なお、本発明は、上述した実施例や変形例に限られず、上述した実施例および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施例および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。 
【図面の簡単な説明】
【００６０】
【図１】ネットワークに接続された印刷装置を説明する図である。
【図２】印刷装置１０の構成を説明するブロック図である。
【図３】一例としての不揮発性メモリ１３に記憶されるデータベースを説明する図である。
【図４】使用状況統計処理を説明するフロー図である。
【図５】ステータスシート出力処理を説明するフロー図である。
【図６】画面に表示されるステータスシート選択画面を説明する図である。
【図７】ステータスシートに記録される各ヒストグラムを説明する図である。
【図８】電源投入時に実行される常駐切り替え処理を説明するフロー図である。
【図９】メモリ容量確認部に基づいて実行されるメモリ容量確認処理を説明するフロー図である。
【図１０】言語解釈プログラムの起動時における常駐切り替え処理を説明する図である。
【符号の説明】
【００６１】
１０…印刷装置、１１…ホストＩ／Ｆ、１２…操作パネル、１３…不揮発性メモリ、１４…ＣＰＵ、１５…ＲＯＭ、１６…ＲＡＭ、１７…プリンタエンジン、１８…バス、２０〜４０…パーソナルコンピュータ、５０…ネットワーク、１００…使用状況算出部、２００…ステータスシート出力部、３００…ＵＩ表示部、４００…常駐切り替え部、５００…メモリ容量確認部、６００，６１０，６２０…言語解釈プログラム、７００…データベース
【図１】
0004479790.tif 000002
【図２】
0004479790.tif 000003
【図３】
0004479790.tif 000004
【図４】
0004479790.tif 000005
【図５】
0004479790.tif 000006
【図６】
0004479790.tif 000007
【図７】
0004479790.tif 000008
【図８】
0004479790.tif 000009
【図９】
0004479790.tif 000010
【図１０】
0004479790.tif 000011