情報処理装置であって、複数の画面データを格納する格納手段と、遷移イベントを検知し、該遷移イベントに対する画面データを前記複数の画面データから選択し表示する表示手段と、前記情報処理装置の機能部の状態を示すパラメータの値を取得する取得手段と、前記取得されたパラメータの値と表示中の画面データとに基づいて、前記パラメータに関連する画面データをキャッシュするか否かを判定し、キャッシュすると判定された場合に、前記格納された複数の画面データから当該パラメータに関連する画面データをキャッシュするキャッシュ格納手段とを備え、前記表示手段は、前記キャッシュ格納手段によりキャッシュされた画面データへの遷移イベントが発生した場合には、前記キャッシュ格納手段に格納された画面データを用いて表示することを特徴とする情報処理装置。前記キャッシュ格納手段は、表示中の画面データとキャッシュ条件としてのパラメータの値とキャッシュすべき画面データの識別タグとの対応を示すテーブルを有し、前記テーブルを参照することにより、前記識別タグに対応した画面データをキャッシュすることを特徴とする請求項1に記載の情報処理装置。前記キャッシュ格納手段にキャッシュすべき画面データが、複数個存在し、かつ、該格納すべき複数の画面データの全データ量が前記キャッシュ格納手段の格納容量より大きい場合に、該キャッシュすべき複数の画面データの各々に予め定められた優先度に従って、優先度の高い順序で該複数個の画面データをキャッシュすることを特徴とする請求項1または2に記載の情報処理装置。前記取得手段で取得された、パラメータの値を時系列で格納するパラメータ格納手段を更に備え、前記キャッシュ格納手段は、キャッシュすべき画面データが複数個存在する場合に、該キャッシュすべき複数個の画面データの各々について、前記パラメータ格納手段で前記時系列に格納されたパラメータの変動量に基づきキャッシュの優先度を設定し、優先度の高い順序で前記キャッシュすべき画面データをキャッシュすることを特徴とする請求項1に記載の情報処理装置。前記パラメータの値は、前記情報処理装置の消耗品の残量値であり、前記キャッシュ格納手段は、前記取得手段により取得された前記消耗品の残量値が所定の閾値以下の場合に、該消耗品の残量が少ない旨を表示するための画面データをキャッシュすることを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。前記パラメータの値は、印刷用紙の残枚数であり、前記キャッシュ格納手段は、更に、前記用紙の残枚数が所定の閾値以下の場合に、該印刷用紙の残枚数が少ない旨を表示するための画面データをキャッシュすることを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。前記情報処理装置は、CD/DVD格納トレイを備え、前記機能部の状態を示すパラメータの値は、前記CD/DVD格納トレイの開閉状態であり、前記キャッシュ格納手段は、更に、前記パラメータの値が開状態を示す場合に、該CD/DVD格納トレイが開いている旨を表示するための画面データをキャッシュすることを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。情報処理装置の制御方法であって、格納手段が、複数の画面データを格納する格納工程と、表示手段が、遷移イベントを検知し、該遷移イベントに対する画面データを前記複数の画面データから選択し表示する表示工程と、取得手段が、前記情報処理装置の機能部の状態を示すパラメータの値を取得する取得工程と、キャッシュ格納手段が、前記取得されたパラメータの値と表示中の画面データとに基づいて、前記パラメータに関連する画面データをキャッシュするか否かを判定し、キャッシュすると判定された場合に、前記格納された複数の画面データから当該パラメータに関連する画面データをキャッシュするキャッシュ格納工程と、前記表示手段が、前記キャッシュ格納工程によりキャッシュされた画面データへの遷移イベントが発生した場合には、前記キャッシュ格納工程で格納された画面データを用いて表示する工程とを備えることを特徴とする制御方法。請求項8に記載の情報処理の制御における各工程をコンピュータに実行させるプログラム。ここで、インクを用いてロール紙に印刷を行うプリンタにおける画面遷移について考えてみる。このようなプリンタにおいては、印刷を行なう度にインクやロール紙を消耗する。そこで、ユーザに対してインクやロール紙が無くなった際に補充を促す画面を提示するものが存在する。また、電子辞書端末について考えてみると、電池の残量が一定量を下回った時点で、充電または電池の交換を促す画面を提示するものが存在する。しかし、画面のデザインデータのサイズが増えた場合、インク等が無くなった時点、電池の残量が一定量を下回った時点で、データをメモリ上に展開してから液晶画面など出力装置に出力すると、ユーザの待ち時間が長くなる。また、特許文献1乃至3に示された技術を用いると、提示しない画面に相当するデータを多く含むことになるため、メモリに展開すべきデータ量の増大を招いてしまう。そこで、本発明は、メモリに展開すべきデータの増大を抑えると共に、画面遷移のトリガーとなる状態が検知された時点で迅速に画面遷移を実行し、所望の画面が提示されるまでのユーザの待ち時間を短縮することを目的とする。従って本発明では、以上の課題に鑑み、情報処理装置などに装置の状態に応じて表示される画面を表示する際に、ユーザの待ち時間を効率的に低減できる表示技術を提供することを目的とする。上記課題を解決するため、本発明の一態様は、情報処理装置であって、複数の画面データを格納する格納手段と、遷移イベントを検知し、該遷移イベントに対する画面データを前記複数の画面データから選択し表示する表示手段と、前記情報処理装置の機能部の状態を示すパラメータの値を取得する取得手段と、前記取得されたパラメータの値と表示中の画面データとに基づいて、前記パラメータに関連する画面データをキャッシュするか否かを判定し、キャッシュすると判定された場合に、前記格納された複数の画面データから当該パラメータに関連する画面データをキャッシュするキャッシュ格納手段とを備え、前記表示手段は、前記キャッシュ格納手段によりキャッシュされた画面データへの遷移イベントが発生した場合には、前記キャッシュ格納手段に格納された画面データを用いて表示することを特徴とする。本発明によれば、情報処理装置などに装置の状態に応じて表示される画面を表示する際に、ユーザの待ち時間を効率的に低減できる。<実施形態1>図1aは、実施形態1の情報処理装置の表示に関する全体構成を示す図である。実施形態1では、情報処理装置は印刷装置として説明する。CPU101は、以下に説明する103~110の装置を制御する。CPU101は、102で示すバスを介して103~110の装置にアクセスする。読み出し専用メモリであるROM103は、バス102を介してCPU101からアクセスされる。ROM103には、CPUの動作を記述するプログラムコード111、画面定義ファイル112、および画面遷移情報113が格納されている。読み書き可能なメモリであるRAM104上には、プログラムコード111により生成される、画面キャッシュ114が確保されている。画面キャッシュ114は、RAM104の一部である。画面キャッシュ114は、画面データ210を格納する。RAM104上には、機器状態115が確保されている。入出力インタフェース105は、106で示したキーボード、マウス、ボタン、ダイアル等の入力装置、107で示したタッチパネルを介してなされる入力を受信する。また入出力インタフェース105は、108で示したCRT、LCD、更にはプリンタ、プロッタ等の出力装置、タッチパネル107に対し、データの表示/出力を行う。また、外部記憶装置インタフェース109は、110で示したHD、FD、CD-ROM、MD、CF等の外部記憶装置に対するデータの入出力を行うものである。本実施形態では、プログラムコード111と処理対象となる各データ定義112~113がROM103上にあるものとして、また、データの一時的な格納領域114~115がRAM104上にあるものとして説明を行う。しかし、これらはすべて、外部記憶装置110上に配置することも可能であり、必要に応じて外部記憶装置110からRAM104上にロードして使用することもできる。また、これらはすべて、CPU101のキャッシュメモリ上に配置することも可能である。図1bは、図1aにおいて示したプログラムコード111が、112~115の構成要素とどのような関係にあるかを示すデータフロー図である。CPU101は、ROM103上のプログラムコード111を動かす。入力部201、画面制御部202、出力部206、キャッシュ生成部207、機器状態管理部209は、プログラムコード111の一部である。入力部201は、ユーザによる入力を入力装置106やタッチパネル107から入出力インタフェース105を介して受け取る。入力部201は、ユーザによる入力イベント、機器状態管理部209から通知された印刷装置の機能部の状態を示す機器状態115の変化イベントを画面制御部202に通知する。また、画面制御部202は、システムの起動処理や終了処理を行なう。画面制御部202は、入力部201から通知されたイベントや画面遷移情報113に基づいて表示する画面を決定する。入力部201は、表示する画面を出力部206に指示する。画面遷移情報113は、イベントが発生したときに遷移する画面データ210の画面ID後述する図3bの符号501を表す。画面定義ファイル112は、複数の画面データ210から構成されている。画面データ210は、出力部206に出力される画面の見た目を表す情報である。画面キャッシュ114は、複数の画面データ210から構成されている。出力部206は、画面定義ファイル112にある画面データ210を出力する場合と、画面キャッシュ114にある画面データ210を出力する場合とがあり、後者のほうがより高速に画面データ210を出力することが可能である。出力部206は、画面制御部202から指示された画面データ210を画面定義ファイル112または画面キャッシュ114から取得する。出力部206は、入出力インタフェース105を介して画面データ210をタッチパネル107や出力装置108に出力する。キャッシュ生成部207は、画面定義ファイル112、機器状態管理部209から通知される機器状態115に基づいて、画面キャッシュ114に画面データ210を格納する。機器状態115は、消耗品や機器を外部から操作するための付属機能の状態を表す。機器状態管理部209は、機器状態115の変化に応じて画面制御部202とキャッシュ生成部207に機器状態を通知する。画面データ210は、出力部206に出力される。以上の構成において、画面定義ファイル112に格納された画面データ210と画面キャッシュ114に格納された画面データ210のフォーマットは同じでも良いし、あるいは異なっていてもよい。例えば、画面定義ファイル112には画面データ210がベクタ形式で、画面キャッシュ114には画面データ210がそれとは異なるラスタ形式で格納されていてもよい。また、画面キャッシュ114の大きさは印刷装置の動作中に変化してもよい。例えば、画像の拡大、画像の縮小、画像の重ね合わせを行う処理など、RAM104の多くの領域を使うことで高速に実行可能な処理が実行されている場合は、画面キャッシュ114の領域を小さくする。これにより、印刷処理をより高速に実行することができる。また、画面キャッシュ114に画面データ210を圧縮して格納してもよい。画面キャッシュ114が小さいときは画面データ210が格納できない場合がある。このとき、画面データ210を圧縮することで、画面データ210が画面キャッシュに格納可能になる。これにより、画面キャッシュ114に画面データ210を格納しない場合に比べて、より高速に画面を出力することができる。図2は、実施形態1のシステム起動時の処理手順を示したフローチャートである。まずS301で、本システムの起動要求が入出力インタフェース105を介して入力部201に入力される。本システムの起動要求はユーザによって行われる。ユーザからの起動要求があると、S302で、入力部201は、初期画面表示イベントを画面制御部202に通知する。S303で、画面制御部202は、画面遷移情報113から初期画面の画面IDを取得する。S304で、出力部206は、S303で取得した初期画面の画面IDと画面定義ファイル112を用いて、初期画面の画面データ210を生成する。S305で、出力部206は、S304で生成した画面データ210をタッチパネル107や出力装置108に表示する処理をおこなうと、S306に進み、本シーケンスを終了する。図3aは、S303で取得した画面遷移情報113の構成を示す。画面遷移情報113には、遷移元画面401を示す項目値、画面遷移イベント402を示す項目値、遷移条件403を示す項目値、遷移先画面404を示す項目値のセットが、複数セット登録されている。遷移元画面401は、この画面を表示している場合に画面遷移が発生することを示す。また、画面遷移イベント402は、入力部201や機器状態管理部209によってこのイベントが通知された場合に、画面遷移が発生することを表す。遷移条件403は、画面遷移が発生する条件である機器状態115を示す。遷移先画面404は、画面遷移後に出力部206に出力される画面データを示す。図3aの405が示す行は、画面遷移イベント402EV_PowerOnが発生したら、遷移先画面404のSC_Homeを出力部206に出力することを示している。遷移先画面404のSC_Homeが出力されるのは、出力部206が画面を表示していない場合、すなわちNoScreenに限る。図3aの406が示す行は、画面遷移イベント402のEV_PrintStartが発生したら、遷移先画面404のSC_Printingを出力部206に出力することを示している。遷移先画面404のSC_Printingが出力されるのは、出力部206が遷移元画面401のSC_Printを表示しており、かつ、機器状態115が遷移条件403のTray.isOpen=Closedを満たす場合に限る。図3bは、S304で取得した画面定義ファイル112の構成を示す。画面ID501は、画面データを識別する。図3bの502が示す列項目は、画面の見た目が定義されたデータを表す画面データ210である。図3bの503が示す行は、画面ID501がSC_Homeである画面データが、SC_Home.svgという画面データ210に格納されていることを示している。図3cは、図3aの示す画面の遷移に関する情報と図3bの示す画面IDに基づく画面データから、図2の示すフローチャートによって生成された画面のデータ構成図である。この場合の手順は、図2におけるS302で、入力部201は、画面制御部202に初期画面表示イベントEV_PowerOnを通知する。この通知を受け、S303で、画面制御部202は、画面遷移情報113より遷移先画面404SC_Homeを表示することを決定する。そしてS305で、出力部206は遷移先画面404SC_Homeをタッチパネル107や出力装置108に出力する。その結果が、図3cに示す画像の出力である。図4は、画面を表示している間の実施形態1の処理手順を示したフローチャートである。S702で、S703からS707までを繰り返し実行する処理をおこなう。S703で、キャッシュ生成部207は、機器状態管理部209から機器状態115を取得する。取得後、S704で、キャッシュ生成部207は、画面キャッシュ114に画面データ210を格納する。キャッシュ生成処理については図6において後述する。S705で、画面制御部202は、入力部201または機器状態管理部209がイベントを発生させたかどうかを判定する。イベントを発生させた場合にはS708に移行し、イベントを発生させていない場合はS706に移行する。S706で、画面制御部202は、一定時間処理を停止する。S707で、画面制御部202は、S702以降の処理を再び実行する。S708で、画面制御部202は、画面遷移情報113に基づいて画面遷移が発生するかどうかを判定する。画面遷移が発生する場合には、S709に移行し、発生しない場合には、S706に進む。S709で、画面制御部202は、画面遷移情報113に基づいて、表示中の画面に関連する遷移先の画面を決定する。S710で、出力部206は、遷移先の画面が画面キャッシュ114に格納されているか判定する。格納されている場合には、S712に移行し、格納されていない場合にはS711に移行する。S711で、出力部206は、画面定義ファイル112から画面データ210を取得し、タッチパネル107や出力装置108に表示する処理を行った後、S713に移行し、本シーケンスを終了する。S712で、出力部206は、画面キャッシュ114から画面データ210を取得し、タッチパネル107や出力装置108に出力する処理を行うと、S713に移行し、本シーケンスを終了する。図5は、S703で取得した機器状態115の構成を示す。機器状態ID801は、機器状態を識別する。状態値802は、現在の機器状態を表す。図5の803が示す行は、機器状態ID801がInk.Magentaである機器状態が、5という状態値802を取っていることを示している。図6は、図4におけるS704のキャッシュを生成する処理の詳細を示すフローチャートである。まず、S902で、画面制御部202は、画面ID501SC_Printingによる画面を表示しているかどうかを判定する。表示している場合には、S903に進み、表示していない場合には、S907に進む。S903で、キャッシュ生成部207は、機器状態ID801でInk.Magentaの示す機器状態の状態値802が、キャッシュ条件である5以下であるかどうかを判定する。いま、状態値802の所定の閾値を5以下とする。5の閾値以下の場合には、インクの量が足りなくなっているのでステップ904に進み、5を超過している場合には、インクの残量は、閾値を超えているのでS905に進む。S904で、キャッシュ生成部207は、画面ID501でSC_NoMagentaInkの示す画面データ210を画面キャッシュ114に格納すると、S910に進み、本シーケンスを終了する。S905で、キャッシュ生成部207は、機器状態ID801でPaper.Lengthの示す機器状態の状態値802が所定の閾値50以下であるかどうかを判定する。キャッシュ条件である50以下の場合には、紙の量が不足しているのでステップ906に進み、50を超過している場合には、紙の量は正常なのでステップ907に進む。S906で、キャッシュ生成部207は、画面ID501でSC_NoPaperの示す画面データ210をキャッシュ格納を行なう画面キャッシュ114に格納すると、S910に進み、本シーケンスを終了する。S907で、画面制御部202は、画面ID501でSC_Printが示す画面を表示しているかどうかを判定する。表示している場合には、S908に進み、表示していない場合には、S910に進み、本シーケンスを終了する。S908で、キャッシュ生成部207は、機器状態ID801でTrayisOpenedの示す機器状態の状態値802が、キャッシュ条件Openedであるかどうかを判定する。Openedである場合には、ステップ909に、Openedでない場合には、S910に進み、本シーケンスを終了する。S909で、キャッシュ生成部207は、画面ID501でSC_TrayOpenedの示す画面データ210を画面キャッシュ114に格納すると、S910に進み、本シーケンスを終了する。図7は、図4および図6に示すフローチャートに従って生成された画面と画面キャッシュ114とのデータ構成の一例を示す図である。この画面および画面キャッシュ114は、図3aに示す画面遷移情報、図3bの示す画面定義ファイル、および図5の示す機器状態に基づいて生成される。図7aでは、画面ID501で、プリント中であることを示すSC_Printingの画面が、出力部206に出力されている。図7bでは、画面キャッシュ114には、画面ID501の、マジェンタインクを補充するように促すためのSC_NoMagentaInkの画面が格納されている。以上の画面に係る動作の過程を図4および図6のフローチャートに従って説明すると、まずS703で、機器状態ID801でInk.Magentaの示す機器状態の状態値802が5であることを取得する。S902で、画面ID501でSC_Printingの示す画面を表示していることから、S903に進む。S903で、機器状態ID801Ink.Magentaの示す機器状態の状態値802が5であることから、S905に進む。S904で、画面ID501でSC_NoMagentaInkの示す画面データ210を画面キャッシュ114に格納する。S705で、イベントが通知されていないためS706に進む。S706で、一定時間スリープすると、S703に戻り、再びS706までの手順を繰り返し処理する。図7cでは、出力部206に出力された画面ID501におけるSC_NoMagentaInkの画面を示す。これは機器状態ID801のInk.Magentaの状態値が0になり、機器状態管理部209が画面遷移イベント402のEV_InkChangedを発生させた後の状態を示している。この画面遷移イベントに基づいて、出力部206に画面が優先的に表示されている。以上の画面にかかわる動作の過程を、図4のフローチャートに従って説明する。まず、S702からS707まで繰り返し処理している間に、画面遷移イベント402が発生すると、S705で、機器状態管理部209がイベントを発生させたためS706に進む。S708で、図3aの示す画面遷移情報113より画面ID501でSC_NoMagentaInkの示す画面に遷移するためS709に進む。S710で、画面ID501でSC_NoMagentaInkの示す画面が画面キャッシュ114に格納されているので、S712に進む。S712で、画面キャッシュ114から画面データ210を取得し、タッチパネル107や出力装置108に画面データ210を出力する。図8は、図5で示した機器状態115とは異なる機器状態を示している。1101は、消耗品残量の1つであるインク残量を示すInk.Magentaの値が30という値であることを示している。1102は、消耗品残量の1つである用紙残量を示すPaper.Lengthの値が30という値であることを示している。1103は、付属機能の1つであるCD/DVD格納トレイの開閉状態を示すTrayisOpenedが、Openedという値であることを示している。Openedは、CD/DVD格納トレイが開いていることを示している。図9は、図3aの示す画面遷移情報、図3b示す画面定義ファイル、および図8の示す機器状態に基づいて、図4および図6に示すフローチャートに従って生成された画面と画面キャッシュとのデータ構成の一例を示す図である。図9aは画面ID501が、SC_Printingである画面が出力部206に出力されていることを示す。図9bは、画面キャッシュ114に、画面ID501におけるSC_NoPaperの画面が格納されていることを示す。以上の画面に係る動作の過程について図4および図6を用いて説明する。S902で、画面ID501におけるSC_Printingの画面を表示していることから、S903に進む。S903で、機器状態ID801におけるInk.Magentaの機器状態の状態値802が、5を超過していることから、S905に進む。S905で、機器状態ID801におけるPaper.Lengthの機器状態の状態値802が50以下であることから、S906に進む。S906で、画面ID501におけるSC_NoPaperの画面データ210を画面キャッシュ114に格納する。図4のS705で、イベントが通知されていないと仮定すると、S706に進む。S706で一定時間スリープすると、S703に戻り、再びS706まで繰り返し処理する。図9cは、出力部206に出力された画面ID501がSC_NoPaperである画面を示す。この状態は、機器状態ID801がPaper.Lengthである機器状態が0となり、機器状態管理部209が画面遷移イベント402EV_PaperChangedを発生させた後の状態である。S702からS707まで繰り返し処理している間に画面遷移イベント402が発生すると、S705で、機器状態管理部209がイベントを発生させたためS708に進む。S708で、図4の示す画面遷移情報113より画面ID501SC_NoPaperが示す画面に遷移するためS709にて、SC_NoPaperに遷移することを決定する。S710で、画面ID501SC_NoPaperInkが示す画面が画面キャッシュ114に格納されているため、S712に進む。S712で、画面キャッシュ114から画面データ210を取得し、タッチパネル107や出力装置108に出力する。図10は、図3a示す画面遷移情報、図3bに示す画面定義ファイル、および図5の示す機器状態に基づき、図4および図6に示すフローチャートに従って生成された画面と画面キャッシュとのデータ構成の一例を示す図である。図10aは、画面ID501がSC_Printである画面が出力部206に出力されていることを示す。図10bは、画面キャッシュ114に画面ID501がSC_TrayOpenedである画面が格納されていることを示す。S902で、画面ID501におけるSC_Printingの画面を表示していないことから、S907に進む。S907で、画面ID501におけるSC_Printの画面を表示していることから、S908に進む。S908で、機器状態ID801におけるTray.isOpenedの機器状態の状態値802が、Openedであることから、S909に進む。S909で、画面ID501におけるSC_TrayOpenedの画面データ210を画面キャッシュ114に格納する。S705で、イベントが通知されていないため、S706に進む。S706で、一定時間スリープすると、S703に戻り、再びS706まで繰り返し処理する。図10cは、ユーザの入力インタフェース操作により入力部201で画面遷移イベント402のEV_PrintStartを発生させ、出力部206に画面ID501によるSC_TrayOpenedを出力している画面を示す。S702からS707まで繰り返し処理している間に画面遷移イベント402が発生すると、S705で、機器状態管理部209がイベントを検知し、S708に進む。S708で、図3aの示す画面遷移情報から、トレイが開状態を示すので、画面ID501におけるSC_TrayOpenedの画面に遷移し、S709にて、機器状態管理部209はSC_TrayOpenedに遷移することを決定する。S710で、画面ID501におけるSC_TrayOpenedの画面が、画面キャッシュ114に格納されているので、S712に進む。S712で、画面キャッシュ114から画面データ210を取得し、タッチパネル107や出力装置108に出力する。以上のように、実施形態1では画面に表示されるデザインインディケータをキャッシュにロードするキャッシュ生成部および機器の状態を管理する機器状態管理部を備える構成をとる。この構成により、機器の状態に応じて表示されるタイミングを決定する、画面のデザインデータを、画面が表示される可能性が高いときに先読みすることが可能となる。<実施形態2>実施形態1では、機器の状態に応じてキャッシュする画面を決定する方法について説明した。実施形態1では、キャッシュする画面を決定するアルゴリズムがGUIアプリケーション内で定義されている。キャッシュする画面を決定する最適なアルゴリズムは、GUIアプリケーションが動作する印刷装置の処理速度や、印刷装置に付属した機器の構成によって異なる。実施形態1では、GUIアプリケーションを変更せず、キャッシュする画面を決定するアルゴリズムのみを変更したい場合でも、GUIアプリケーションの変更が必要となってしまう。これは印刷装置の開発コストを増大する原因となる。そこで、実施形態2では、キャッシュする画面を決定するアルゴリズムをGUIアプリケーションから切り離し、フローの中で判定した内容をテーブル化する構成例について説明する。実施形態2のシステム起動時の処理手順は、図2のフローチャートに示される。実施形態2の画面を表示している間の処理手順は、図4のフローチャートに示される。図11aは、実施形態2の全体システム構成の図である。101から115に示す要素は、それぞれ図1で説明したとおりであるので、説明を省略する。この実施形態の新たな要素として、キャッシュ指示テーブル1401がある。図11bは、新たに加わったキャッシュ指示テーブル1401と、図1で説明したプログラムコードなどの構成要素とがどのような関係にあるかを示す。201から210の各要素は、それぞれ図2で説明したとおりなので、説明を省略する。キャッシュ生成部207は、画面定義ファイル112と、機器状態管理部209から取得する機器状態115とキャッシュ指示テーブル1401とを参照して、画面データ210を画面キャッシュ114に格納する。キャッシュ指示テーブル1401は、キャッシュ画面に格納する画面を決定するアルゴリズムの集合である。図12は、キャッシュ指示テーブル1401の構成内容を示す。キャッシュ指示テーブル1401は、複数のキャッシュ指示から構成されている。図12に示すように、出力中の表示画面の条件である出力中画面条件1601に、機器状態条件1602に示されたパラメータの値を取得するように指定されている。そして、このパラメータの値が、機器状態条件1602を見たす場合に、これに対応するキャッシュ対象画面1603を画面キャッシュに格納する。出力中画面条件1601が示す画面は、出力部206が出力しているときのみ画面がキャッシュされる。また、機器状態条件1602が満たされているときのみ、画面キャッシュ114に画面データ210がキャッシュされる。キャッシュ対象画面1603は、出力中画面条件1601が出力されていて、かつ、機器状態条件1602が満たされているときに、画面キャッシュ114にキャッシュされる画面の識別タグを示す。キャッシュ指示1604は、キャッシュ対象画面1603におけるSC_NoMagentaInkが、画面キャッシュ114に格納されることを示す。このキャッシュ指示が有効になるのは、出力中画面条件1601におけるSC_Printingが出力されており、かつ、機器状態条件1602Ink.Magenta<=5が満たされているときに限る。図13は、図7のS704におけるキャッシュ生成の実施形態2での処理の詳細を示したフローチャートである。S1702で、キャッシュ生成部207は、キャッシュ指示テーブル1401に含まれるキャッシュ指示の数だけ、S1703からS1705を繰り返す。S1703で、キャッシュ生成部207は、S1702で取得したキャッシュ指示に含まれる出力中画面条件1601、機器状態条件1602、およびキャッシュ対象画面1603を取得する。S1704で、キャッシュ生成部207は、S1703で取得した出力中画面条件1601が示す画面を出力部206が出力しているかどうかを判定する。出力していればS1706に進み、出力していなければS1705に進む。S1705で、全てのキャッシュ指示に対して処理を終えるとS1708に進み、本シーケンスを終了する。S1706で、キャッシュ生成部207は、機器状態115に基づいてS1703で取得した機器状態条件が満たされているかどうかを判定する。満たされていればS1707に進み、満たされていなければS1705に進む。S1707で、キャッシュ生成部207は、S1703で取得したキャッシュ対象画面1603が示す画面を画面キャッシュに格納すると、S1708に進み、本シーケンスを終了する。図4および図13に示すフローチャートに従って生成された画面と画面キャッシュ114とのデータ構成図は、図7に示したデータ構成図と同様である。画面と画面キャッシュ114は、図3aに示す画面遷移情報113と図3bに示す画面定義ファイル112、図5に示す機器状態115、および図12に示すキャッシュ指示テーブル1401から生成されている。画面ID501がSC_Printingである画面が出力部206に出力されている様子は、図7のaと同様である。また、画面キャッシュ114に画面ID501がSC_NoMagentaInkである画面が格納されている様子は、図7のbと同様である。この画面に係る動作を図13のフローチャートを用いて説明する。S1703で、出力中画面条件1601SC_Printing、機器状態条件1602Ink.Magenta<=5、キャッシュ対象画面1603SC_NoMagentaInkを取得する。S1704で出力中の画面がSC_PrintingであるためS1706に進む。S1706で、図8の示す機器状態115から機器状態条件1602Ink.Magenta<=5が満たされていると判断してS1707に進む。S1707で、キャッシュ対象画面1603SC_NoMagentaInkが示す画面を画面キャッシュ114に格納する。以上に述べたように、実施形態2では、キャッシュ指示テーブルを備えることで、キャッシュする画面を決定するアルゴリズムを外部からのイベント通知などのGUIアプリケーションから独立させ、フローの中で判定した内容をテーブル化する。これにより、GUIアプリケーションを変更せず、キャッシュする画面を決定するアルゴリズムのみを変更することが可能となる。<実施形態3>これまでの実施形態では、機器の状態に応じてキャッシュする画面を決定する方法について説明した。しかし、キャッシュされる画面の候補が複数個あり、かつ、画面キャッシュ114の格納容量が少なく、全データ量を画面キャッシュ114に格納できない場合がある。特に、機器に搭載されるメモリの格納容量は、開発コストを抑えるために、なるべく小さくする必要がある。そのため、メモリの一部を利用する画面キャッシュの格納容量も少ない場合がある。従って、実施形態3では、キャッシュされる画面の候補が複数個存在し、かつ、画面キャッシュ114の容量が少ない場合に、キャッシュ指示テーブル1401に格納された優先度情報に基づき、キャッシュする画面を決定する。実施形態3のシステム起動時の処理手順は、図2のフローチャートに示される。また実施形態3の画面を表示している間の処理手順は、図7のフローチャートに示される。図14は、実施形態3におけるキャッシュ指示テーブル1401の構成内容を示す図である。キャッシュ優先度1901は、第1のキャッシュ指示と第2のキャッシュ指示のうち、どちらのキャッシュ指示のキャッシュ対象画面1603を画面キャッシュ114に優先して格納するかを決定する。キャッシュ優先度1901は、ここでは、数が少ないほど優先度が高いと仮定する。図15は、図4のS705におけるキャッシュ生成の実施形態3での処理の詳細を示したフローチャートである。S2001からS2006が示す処理は、それぞれ既に説明をしたS1701からS1706が示す処理と同じなので説明を省略する。S2007で、キャッシュ生成部207は、キャッシュ対象画面1603とキャッシュ優先度1901とを取得する。S2008で、キャッシュ生成部207は、S2007で取得したキャッシュ対象画面1603の数だけ、キャッシュ優先度1901が示す優先度が高い順番に、S2009からS2011までの処理を繰り返すS2005。S2009で、キャッシュ生成部207は、画面キャッシュ114にS2008で取得したキャッシュ対象画面1603が示す画面データ210を格納できるか判定する。格納できる場合には、S2010に進む。格納できない場合には、S2012に進み、本シーケンスを終了する。S2010で、キャッシュ生成部207は、画面キャッシュ114に、S2008で取得したキャッシュ対象画面1603の示す画面データ210を格納する。S2011で、キャッシュ生成部207は、全てのS2007で取得したキャッシュ対象画面1603の数だけ処理を行うと、S2012に進み、本シーケンスを終了する。図16は、これまでの図5と図8が示す機器状態115とは異なる機器状態を示している。図4および図15に示すフローチャートによって生成された画面と画面キャッシュ114とのデータ構成図は、図7と同様である。画面と画面キャッシュ114は、図3aに示す画面遷移情報、図3bに示す画面定義ファイル、図16に示す機器状態、および図14に示すキャッシュ指示テーブル1401に従って生成される。いま、画面キャッシュ114には、一画面分の画面データ210しか格納できないと仮定する。画面ID501がSC_Printingである画面が、出力部206に出力されている様子は、図7aと同様である。画面キャッシュ114に、画面ID501がSC_NoMagentaInkである画面が格納されている図7bと同様である。S2003で、出力中画面条件1601におけるSC_Printing、機器状態条件1602においてInk.Magenta<=5、キャッシュ対象画面1603におけるSC_NoMagentaInk、キャッシュ優先度1901の1を取得する。S2004で、出力中の画面がSC_PrintingであるためS2006に進む。S2006で、図16の示す機器状態115から機器状態条件1602におけるInk.Magenta<=5が満たされていると判断してS2007に進む。S2007で、キャッシュ対象画面1603におけるSC_NoMagentaInkとキャッシュ優先度1901における1を取得すると、S2002に戻る。S2003で、出力中画面条件1601におけるSC_Printing、機器状態条件1602におけるPaper.Length<=50する。また、キャッシュ対象画面における1603SC_Paper、キャッシュ優先度における1901の2を取得する。S2004で、出力中の画面がSC_PrintingであるためS2006に進む。S2006で、機器状態115から図12の機器状態条件1602におけるPaper.Length<=50が満たされていると判断してS2007に進む。S2007で、キャッシュ対象画面1603におけるSC_NoPaperとキャッシュ優先度1901の優先度2を取得する。S2008で、キャッシュ対象画面1603におけるSC_NoMagentaInk、キャッシュ対象画面1603におけるSC_NoPaperとキャッシュ優先度1901の数字が小さい順序で、S2009からS2010までを繰り返す。S2009で、画面キャッシュに画面データ210を格納できるためS2010に進む。S2010で、キャッシュ対象画面1603におけるSC_NoMagentaInkを画面キャッシュ114に格納する。S2009で、画面キャッシュに画面データ210を格納できないため、S2012に進み、シーケンスを終了する。以上のように、キャッシュされる画面の候補が複数あり、かつ画面キャッシュの容量が少ない場合、予め設定した優先度情報に従って、画面キャッシュに画面を格納することにより、より確実に画面の先読みをすることが可能となる。<実施形態4>実施形態3では、キャッシュ指示テーブル1401に格納された優先度情報に基づき、キャッシュする画面を決定していた。優先度情報は、予め設定されており一定となるため、機器状態条件を満たす画面が複数ある場合、優先度の低い一方の画面は常にキャッシュされない。そのため、優先度の低い一方の画面は常に高速に出力することができない。これに対して、実施形態4では、キャッシュされる画面の候補が複数個あり、かつ画面キャッシュ114の容量が少ない場合に、時系列で機器状態をメモリに格納し、機器状態が変動した履歴に基づきキャッシュする画面を決定する例について述べる。実施形態4のシステム起動時の処理手順は、図2のフローチャートに示される。また、実施形態4の画面を表示している間の処理手順は、図4のフローチャートに示される。図17aは、実施形態4の全体システムの構成を示す図である。101から116の各要素については、実施形態1で既に説明し、また1401の要素については、実施形態2において説明したので、説明を省略する。実施形態4における新たな要素として、機器状態履歴2301がある。図17bは、新たに加わった機器状態履歴2301と、図1で説明したプログラムコードなどの構成要素や、図11bで追加したキャッシュ指示テーブル1401が、どのような関係にあるかを示す。201から210の各要素は、実施形態1で説明したとおり、また、キャッシュ指示テーブル1401は、実施形態2で説明したので説明を省略する。キャッシュ生成部207は、画面定義ファイル112と、機器状態管理部209から取得する機器状態115と、キャッシュ指示テーブル1401と、機器状態履歴2301とに基づいて画面データ210を取得する。そして、その画面データを画面キャッシュ114に格納する。機器状態履歴2301は、機器状態115の履歴を表す。図18は、図4のS704におけるキャッシュ生成の実施形態4での処理の詳細を示すフローチャートである。S2501からS2506に示す処理は、それぞれS1701からS1706で説明した処理と同じであるので、説明を省略する。S2507で、キャッシュ生成部207は、キャッシュ対象画面1603を取得し、さらに画面遷移情報113、機器状態115、機器状態履歴2301に基づいて、キャッシュ対象画面1603への遷移確率を求める。S2508で、キャッシュ生成部207は、S2507で取得したキャッシュ対象画面1603の数だけ、S2509からS2511までの処理を繰り返す。この繰り返す順序は、S2507で求めたキャッシュ対象画面1603への遷移確率の値が大きい順に繰り返す。S2509からS2512が示す処理は、それぞれS2009からS2012が示す処理と同じであるので、説明を省略する。図19は、S2507で取得する機器状態履歴2301である。これらの機器状態履歴を示すパラメータは、時系列でパラメータ格納される。ここで、2601は、前回機器を操作した直後の機器状態115を示している。また、2602は前々回に機器を操作した直後の機器状態115を示している。これらの機器状態の変動量の例として、Ink.Magentaについては、状態の数値が3.5から2に減少しており、変動量が0.5であることがわかる。図20は、S2507に示すキャッシュ対象画面1603への遷移確率を求める処理の具体例を示すフロー図である。また、図4と図18と図20とに示すフローチャートに従って生成された画面と画面キャッシュ114のデータ構成の様子は、図9と同様である。生成された画面と画面キャッシュ114は、図3aに示す画面遷移情報、図3bの示す画面定義ファイル、図16の示す機器状態、および図19に示す機器状態履歴2301に基づく。画面キャッシュ114には、一画面分の画面データ210しか格納できないと仮定する。画面ID501がSC_Printingである画面が出力部206に出力されている様子は、図9aと同様である。また、画面キャッシュ114に画面ID501がSC_NoPaperである画面が格納されている様子は、図9bと同様である。S2503で、出力中画面条件1601SC_Printing、機器状態条件1602におけるInk.Magenta<=5、キャッシュ対象画面1603におけるSC_NoMagentaInkを取得する。S2504では、出力中の画面がSC_PrintingであるためS2506に進む。S2506では、図16の示す機器状態115から機器状態条件1602におけるInk.Magenta<=5が満たされていると判断して、S2507に進む。S2702で、いまInk.Magentaの変動量が、-1.5であると、S2703で、Ink.Magentaの予測機器状態1は、1.25と求められる。この場合には、S2704で、予測機器状態1が1.25であるので、遷移条件403におけるInk.Magenta<=0の条件を満たさない。従って、S2706に進む。また、S2706で、Ink.Magentaの予測機器状態2が、0.5である場合には、S2707で、予測機器状態2が0.5なので、遷移条件403におけるInk.Magenta<=0の条件を満たさない。従って、S2709に進む。S2709で、Ink.Magentaの予測機器状態3を前回印刷後の状態変動量2の計算式を用いて計算する。前回印刷後の印刷用紙の状態の値が2で変動量が-1.5であったとすると、これらの値を計算式に代入して、予測機器状態3の予測値が-1.0となる。この場合には、S2710で、予測機器状態3が、-1.0であり、遷移条件403におけるInk.Magenta<=0の条件を満たすため、S2711に進む。そして、S2711で、キャッシュ対象画面1603SC_NoMagentaInkへの遷移確率は1となる。図18のフロー図のS2503で、出力中画面条件1601におけるSC_Printing、機器状態条件1602におけるPaper.Length<=50、キャッシュ対象画面1603におけるSC_Paperを取得する。S2504で、出力中の画面がSC_Printingであるため、S2506に進む。S2506で、図16の示す機器状態115から機器状態条件1602におけるPaper.Length<=50が満たされていると判断して、S2507に進む。そして、キャッシュ対象画面への遷移確率を計算する。いま、S2701で、Paper.Lengthのパラメータの変動量が-60と求められたとする。S2703で、予め設定された計算式を用い、前回印刷後の状態を示すパラメータが40であったとすると、Paper.Lengthの予測機器状態1は、10となる。このとき、S2704で、予測機器状態1が10なので、遷移条件403におけるPaper.Length<=0の条件を満たさないためS2706に進む。S2706で、Paper.Lengthの予測機器状態2が、-20であると、S2707で、予測機器状態2が、-20であり、遷移条件403におけるPaper.Length<=0の条件を満たすため、S2708に進む。S2708で、キャッシュ対象画面1603SC_NoPaperへの遷移確率が2となる。S2508で、キャッシュ対象画面1603におけるSC_NoPaperと、キャッシュ対象画面1603におけるSC_NoMagentaInk、と遷移確率の大きい順で、S2509からS2510までを繰り返す。S2509で、画面キャッシュに画面データ210を格納できるため、S2510に進む。S2510で、キャッシュ対象画面1603におけるSC_NoPaperを画面キャッシュ114に格納する。S2509で、画面キャッシュに、画面データ210を格納できないためS2512に進み、シーケンスを終了する。以上のように、キャッシュされる画面の候補が複数あり、かつ画面キャッシュの容量が少ない場合、機器状態の履歴に基づき機器状態の変動量を考慮する。これにより、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みすることが可能となる。<実施形態5>実施形態1から実施形態4では、機器状態については、インク残量値や用紙の残枚数、CD/DVD格納トレイの開閉状態を用いて説明した。実施形態5では、これに限らず、更に、機器をネットワークに接続するネットワークアダプタの状態や、機器に接続されているフラッシュメモリなど記憶装置の状態に基づいて画面キャッシュ114に格納する画面を決定する例を開示する。具体的には、出力部206が、別の機器に送信する画像の選択画面を表示しており、更に機器状態115は、ネットワークケーブルが外れていることを示すとする。この場合、キャッシュ生成部207は、ネットワークケーブルの挿入手順画面を画面キャッシュ114に格納することもできる。また出力部206はスキャン開始画面を表示しており、また機器状態115は、いま記憶装置の空き容量が少ないため、スキャン画像のデータを格納できないことを表示すると仮定する。この場合、キャッシュ生成部207は、記憶装置を外して異なる記憶装置と付け替える手順画面を画面キャッシュ114に格納しておいても良い。以上のように、機器をネットワークに接続するネットワークアダプタの状態や、機器に接続されているフラッシュメモリなど記憶装置の状態に基づいて、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みできる。<実施形態6>実施形態1から実施形態4では実施形態として印刷装置を用いて説明したが、これに限らず、本発明は、撮影装置にも適用可能である。具体的には、機器状態115は、電池残量をモニターする機能を有し、その残量が少ないことを示す場合に、キャッシュ生成部207が、充電手順を示す画面を画面キャッシュ114に格納しておいても良い。また機器状態115が、撮影画像を保存する記憶装置の空き容量が少ないこと検知したと仮定する。このとき、キャッシュ生成部207は、記憶装置を外して異なる記憶装置と付け替える手順画面を画面キャッシュ114に格納することもできる。以上のように、印刷装置のみならず撮影装置機器についても、更に電池残量や記憶装置の状態に基づいて、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みすることが可能となる。<実施形態7>実施形態1から実施形態5では実施形態として印刷装置を用いて説明したが、本発明は、これに限らず、投影装置にも適用可能である。具体的には、いま投影装置がランプの延べ使用期間をモニターする機能をもっていると仮定する。このとき機器状態115が、投影装置が備えるランプの延べ使用期間がランプの耐久時間に近いことを示す場合に、キャッシュ生成部207が、ランプの交換手順を示す画面を画面キャッシュ114に格納することができる。また、投影装置が投影装置内の温度をモニターする機能をもっていると仮定する。機器状態115が、投影装置内の温度が規定の値よりも高いことを検知した場合に、キャッシュ生成部207は、投影装置の電源を切り、冷却する手順を示す画面を画面キャッシュ114に格納することもできる。以上のように、印刷装置のみならず投影装置についても、更にランプ使用時間や内部温度の状態に基づいて、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みすることが可能となる。<実施形態8>実施形態1から実施形態7に示した技術を用いると、機器状態がキャッシュする条件を満たした時点で画面データを画面キャッシュに格納することで、迅速に所望の画面を表示することができる。しかし、画面データが画面キャッシュに格納された後、ユーザが操作を行って別の画面を表示させた場合、画面キャッシュに格納した画面データは使われない。これは画面キャッシュの使用量の無駄な増大を招く。そこで、実施形態8においては、画面データが画面キャッシュに格納された後、ユーザの操作によって当該格納された画面データが表示される確率が下がった場合、その画面データを画面キャッシュから一時的に退避させる。これにより、画面キャッシュの使用量の増大を防ぐ。また、実施形態8においては、前記画面データが表示される確率が下がった後、再びその確率が上がった場合、退避させた画面データを画面キャッシュへ格納する。これにより、所望の画面を迅速に表示する。実施形態8においては、ユーザが操作を行う前に行われる可能性が高い動作である、操作開始前動作を検知することで、画面データが表示される確率を判定する。実施形態8においては、ユーザが操作開始前動作を行った場合に、その直後に操作が行われると判断し、機器状態の変化によって表示される画面データがキャッシュされる条件を満たしていても、その画面データを画面キャッシュに格納しない。また、操作開始前動作が行われた時点で機器状態の変化によって表示される画面データが画面キャッシュに格納されている場合、実施形態8においては、画面データを画面キャッシュから退避させる。ここで、操作開始前動作の例を挙げると、例えば、端末本体に収納可能なキーボードを有する電子辞書端末の場合、キーボードを引き出す動作が挙げられる。また、例えば、タッチパネルと、タッチパネルを操作するスタイラスとを備えた携帯型の端末の場合、ユーザがスタイラスをケースから取りだす動作が挙げられる。さらに、実施形態8においては、ユーザが操作を行った後に行われる可能性が高い動作である、操作終了後動作を検知することで、ユーザが操作を行う確率を判定する。ユーザが操作開始前動作を行った後、ユーザが操作終了後動作を行った場合は、機器状態の変化によって表示される画面データがキャッシュされる条件を満たしていたら、画面データを画面キャッシュに格納する。このとき、退避させた画面データを利用し、再び画面データを読みに行かない。その結果、キャッシュ処理を迅速に行なうことができる。また、ユーザが操作開始前動作を行った後、ユーザが操作終了後動作を行い、さらにその後に機器状態の変化によって表示される画面データがキャッシュされる条件を満たした場合、画面データを画面キャッシュに格納する。この結果、機器状態の変化によって表示される画面の表示を迅速に行うことができる。ここで、操作終了後動作の例を挙げると、例えば、端末本体に収納可能なキーボードを有する電子辞書端末の場合、キーボードを引き出した状態から元に戻す動作が挙げられる。また、例えば、タッチパネルと、タッチパネルを操作するスタイラスとを備えた携帯型の端末の場合、ユーザがスタイラスをケースから取り出した状態から元に戻す動作が挙げられる。さらに、実施形態8においては、上述した通り、画面キャッシュに画面データが格納されていない場合はユーザ操作によって表示される画面データを画面キャッシュに格納する。画面キャッシュに画面データが格納されていない場合は、画面データが画面キャッシュから退避されているときを含む。この結果、ユーザが操作を行ったときに表示される画面の表示を迅速に行うことができる。図21は、実施形態8の情報処理装置の表示に関する全体構成を示す図である。101から116の各要素については、実施形態1で既に説明したので、その説明を省略する。また、1401の要素については、実施形態2において説明し、2301の要素については、実施形態4において説明したので、その説明を省略する。ここで、2801は動作センサである。動作センサ2801は、ユーザの動作3101を検知する。図22は、実施形態8におけるデータフロー図である。2901はセンサ制御部である。センサ制御部2901は、動作センサ2801からユーザの動作後述する図25aの符号3101を通知される。この通知は、動作センサ2801がユーザの動作3101を検知する度に行われる。センサ制御部2901は、ユーザの動作3101に基づいて、ユーザの動作3101が操作開始前動作であるか操作終了後動作であるかを示す動作種別後述する図25aの符号3103を算出する。センサ制御部2901は、ユーザの動作3101、動作時刻後述する図25aの符号3102、動作種別3103をユーザ動作履歴2902に格納する。動作時刻3102は、センサ制御部2901が動作センサ2801よりユーザの動作3101を通知された時刻である。キャッシュ生成部207は、ユーザ動作履歴2902に基づいて画面キャッシュ114に格納する画面データ210を決定する。2903は二次画面キャッシュである。二次画面キャッシュ2903は、例えば、外部記憶装置インタフェース109を介してアクセス可能な外部記憶装置で実現される。キャッシュ生成部207は、画面データ210が画面定義ファイル112に格納されている場合と、二次画面キャッシュ2903に格納されている場合とでは、後者のほうが画面データ210をより高速に画面キャッシュ114へ格納することができる。なお、画面キャッシュ114への読み出し/書き込み速度の方が、二次画面キャッシュ2903への読み出し/書き込み速度よりも速い。場合によっては、同じであっても良い。図23は、図4のS704におけるキャッシュ生成の実施形態8での処理の詳細を示すフローチャートである。S3002で、キャッシュ生成部207は、ユーザ動作履歴2902から、最後に行われたユーザの動作が操作開始前動作かを判定する。最後に行われた動作が操作開始前動作の場合はS3010へ進む。最後に行われた動作が操作開始前動作でない場合はS3003へ進む。S3003で、キャッシュ生成部207は、キャッシュ対象画面1603が指す画面データ210を画面キャッシュ114に格納する。S3003の処理の詳細は図24のフローチャートが示しているため、ここでは説明を省略する。S3004で、キャッシュ生成部207は、画面遷移情報113を参照する。そして、イベント種別がユーザ操作である画面遷移イベント402が発生したときに表示される遷移先画面404を取得する。そして、遷移先画面404の数だけS3005からS3009までの処理を繰り返す。S3005で、キャッシュ生成部207は、画面キャッシュ114に空きがあるか確認する。空きがある場合はS3027に進む。空きがない場合はS3017に進んで本シーケンスを終了する。S3027で、キャッシュ生成部207は、S3003で取得した遷移先画面404の画面データ210が既に画面キャッシュにキャッシュ済みか調べる。キャッシュ済みの場合はS3009に進む。キャッシュ済みでない場合はS3006に進む。S3006で、キャッシュ生成部207は、S3003で取得した遷移先画面404の画面データ210が二次画面キャッシュ2903に格納されているか調べる。格納されている場合はS3007に進む。格納されていない場合はS3008に進む。S3007で、キャッシュ生成部207は、二次画面キャッシュ2903に格納されている遷移先画面404の画面データ210を読み込み、その画面データ210を画面キャッシュ114に格納する。S3008で、キャッシュ生成部207は、画面定義ファイル112に格納されている遷移先画面404の画面データ210を読み込み、その画面データ210を画面キャッシュ114に格納する。S3010で、キャッシュ生成部207は、イベント種別がユーザ操作である画面遷移イベント402が発生したときに表示される遷移先画面404を取得する。そして、取得した遷移先画面404の数だけS3028からS3016までの処理を繰り返す。S3028で、キャッシュ生成部207は、S3010で取得した遷移先画面404の画面データ210が既に画面キャッシュにキャッシュ済みか調べる。キャッシュ済みの場合はS3016に進む。キャッシュ済みでない場合はS3011に進む。S3011で、キャッシュ生成部207は、画面キャッシュ114に空きがあるか確認する。空きがある場合はS3013に進む。空きがない場合はS3012に進む。S3012で、キャッシュ生成部207は、画面キャッシュ114に格納された画面データ210のうち一つを、二次画面キャッシュ2903に格納する。これにより、画面キャッシュ114に空きができる。S3013で、キャッシュ生成部207は、S3010で取得した遷移先画面404の画面データ210が二次画面キャッシュ2903に格納されているか調べる。格納されている場合はS3014に進む。格納されていない場合はS3015に進む。S3014で、キャッシュ生成部207は、二次画面キャッシュ2903に格納されている遷移先画面404の画面データ210を読み込み、その画面データ210を画面キャッシュ114に格納する。S3015で、キャッシュ生成部207は、画面定義ファイル112に格納されている遷移先画面404の画面データ210を読み込み、その画面データ210を画面キャッシュ114に格納する。図24は、図23のS3003におけるキャッシュ生成の処理の詳細を示すフローチャートである。S2501からS2507に示す処理は、図18で説明した処理と同じであるので、説明を省略する。S3018で、キャッシュ生成部207は、S2506でキャッシュする条件を満たすと判断されたキャッシュ対象画面1603の数と、画面キャッシュ114に格納できる画面データ210の最大量のうち小さい値を、変数Nに格納する。S3019で、キャッシュ生成部207は、キャッシュ対象画面1603を、S2507で求めた遷移確率の値が大きいものから順にN回だけS3029からS3025までの処理を繰り返す。S3029で、キャッシュ生成部207は、キャッシュ対象画面1603の画面データ210が既に画面キャッシュにキャッシュ済みか調べる。キャッシュ済みの場合はS3025に進む。キャッシュ済みでない場合はS3020に進む。S3020で、キャッシュ生成部207は、画面キャッシュ114に空きがあるか確認する。空きがある場合はS3022に進む。空きがない場合はS3021に進む。S3021で、キャッシュ生成部207は、画面キャッシュ114に格納された画面データ210のうち一つを、二次画面キャッシュ2903に格納する。これにより、画面キャッシュ114に空きができる。S3022で、キャッシュ生成部207は、キャッシュ対象画面1603の画面データ210が二次画面キャッシュ2903に格納されているか調べる。格納されている場合はS3023に進む。格納されていない場合はS3024に進む。S3023で、キャッシュ生成部207は、二次画面キャッシュ2903に格納されているキャッシュ対象画面1603の画面データ210を読み込み、その画面データ210を画面キャッシュ114に格納する。S3024で、キャッシュ生成部207は、画面定義ファイル112に格納されているキャッシュ対象画面1603の画面データ210を読み込み、その画面データ210を画面キャッシュ114に格納する。図25aは、実施形態8におけるユーザ動作履歴2902を示している。3101は、動作センサ2801が検知したユーザの動作を示している。3102は、ユーザの動作3101が起こった時刻を示す動作時刻である。動作時刻3102は、センサ制御部2901が動作センサ2801よりユーザの動作3101を通知された時刻に基づいて決定される。3103は、ユーザの動作3101が操作開始前動作か、あるいは操作終了後動作かを示す動作種別である。センサ制御部2901は、あらかじめ定められたユーザの動作3101と動作種別3103との対応表に基づいて、ユーザの動作3101から動作種別3103を決定する。図25bは、実施形態8における画面遷移情報113を示している。3104は、画面遷移イベント402の種別を表すイベント種別である。画面遷移イベント402がユーザの操作によって発生する場合、その画面遷移イベント402のイベント種別3104はユーザ操作である。一方、画面遷移イベント402が機器状態115の変化によって発生する場合、その画面遷移イベント402のイベント種別3104は機器状態変化である。図25cは、実施形態8におけるキャッシュ指示テーブル1401を示している。また、図26a、図26b、図26cは、それぞれ実施形態8における機器状態履歴2301を示している。以下、実施形態8において、出力装置108の出力結果と画面キャッシュ114に格納された画面データ210とが、機器状態115とユーザの動作3101とに応じて変化する様子を説明する。ここでは、この動作について、図25aが示すユーザ動作履歴2902、図25bが示す画面遷移情報113、図25cが示すキャッシュ指示テーブル1401を用いて説明する。また、説明に用いる画面キャッシュ114は、最大で二つの画面データ210を格納することができる。まず、機器状態履歴2301が図26aの示す機器状態履歴2301、時刻2010/01/0110:00:00のときの出力装置108と画面キャッシュ114の様子を、図27aに示す。時刻2010/01/0110:00:00は実施形態8が示すシステムが起動された直後の状態である。3105は、出力部206が出力装置108を介してユーザに出力しているSC_Printingの画面データ210である。3106は、画面キャッシュ114に格納されたSC_Detailの画面データ210及びSC_Canceledの画面データ210である。以下、SC_Detailの画面データ210とSC_Canceledの画面データ210とが画面キャッシュ114に格納される処理の流れを、図23のフローチャートを用いて詳細に示す。時刻2010/01/0110:00:00の時点で、ユーザ動作履歴2902は空である。そのため、S3002において、キャッシュ生成部207は、最後に行われたユーザの動作が操作開始前動作でないと判定し、S3003へ進む。S3003で、キャッシュ生成部207は、画面データ210を画面キャッシュ114に格納しない。なぜなら、図25cが示すキャッシュ指示テーブル1401の機器状態条件1602が全て満たされていないためである。S3004で、キャッシュ生成部207は、ユーザ操作によって表示される画面データ210が、SC_Detailの画面データ210とSC_Canceledの画面データ210との合計2つであると判定する。まずSC_Detailの画面データ210について、S3005からS3009までの処理を行う。S3005で、キャッシュ生成部207は画面キャッシュ114に空きがあると判定する。S3027で、キャッシュ生成部207は画面キャッシュ114にSC_Detailの画面データ210が格納されていないと判定する。S3006で、キャッシュ生成部207は二次画面キャッシュ2903にSC_Detailの画面データ210が格納されていないと判定する。S3008で、キャッシュ生成部207は画面定義ファイル112のSC_Detailの画面データ210を画面キャッシュ114に格納する。次に、SC_Canceledの画面データ210について、S3005からS3009までの処理を行う。S3005で、キャッシュ生成部207は画面キャッシュ114に空きがあると判定する。S3027で、キャッシュ生成部207は画面キャッシュ114にSC_Canceledの画面データ210が格納されていないと判定する。S3006で、キャッシュ生成部207は二次画面キャッシュ2903にSC_Canceledの画面データ210が格納されていないと判定する。S3008で、キャッシュ生成部207は画面定義ファイル112のSC_Canceledの画面データ210を画面キャッシュ114に格納すると、図23のフローチャートに示す処理を終了する。以上が、画面キャッシュ114にSC_Detailの画面データ210とSC_Canceledの画面データ210とが格納される処理の流れである。次に、機器状態履歴2301が図26bの示す機器状態履歴2301、時刻2010/01/0110:10:05のときの出力装置108、画面キャッシュ114、二次画面キャッシュ2903の様子を図27bに示す。3107は、画面キャッシュ114に格納されたSC_NoMagentaInkの画面データ210とSC_Detailの画面データ210とである。3108は、二次画面キャッシュ2903に退避されたSC_Canceledの画面データ210である。以下、画面キャッシュ114に3107が示す画面データ210が格納され、さらに二次画面キャッシュ2903に3108が示す画面データ210が退避される処理の流れを詳細に示す。時刻2010/01/0110:10:05の時点で、ユーザ動作履歴2902は空である。そのためS3002において、キャッシュ生成部207は、最後に行われたユーザの動作が操作開始前動作でないと判定し、S3003へ進む。S3003で、キャッシュ生成部207は、SC_Canceledの画面データ210を二次画面キャッシュ2903に退避させたうえで、SC_NoMagentaInkの画面データ210を画面キャッシュ114に格納する。この仕組みを図24のフローチャートを用いて説明する。キャッシュ生成部207は、S2502からS2505までの処理を実行することにより、キャッシュする条件を満たすキャッシュ対象画面1603がSC_NoMagentaInkのみであると判断する。また、SC_NoMagentaInkであるキャッシュ対象画面1603に遷移する遷移確率が1であると計算する。S3018で、キャッシュ生成部207は変数Nの値が1であると計算する。S3029で、キャッシュ生成部207は画面キャッシュ114にSC_NoMagentaInkの画面データ210が格納されていないと判定する。S3020で、キャッシュ生成部207は画面キャッシュ114に空きがないと判定する。S3021で、キャッシュ生成部207は、画面キャッシュ114に格納されたSC_Canceledの画面データ210を二次画面キャッシュ2903に退避させる。S3022で、キャッシュ生成部207は、SC_NoMagentaInkの画面データ210が二次画面キャッシュ2903に格納されていないと判定する。S3024で、キャッシュ生成部207は、SC_NoMagentaInkの画面データ210を画面キャッシュ114に格納する。キャッシュ生成部207は、以上の処理を実行した後、S3005で、画面キャッシュ114に空きがないと判断してS3017に進む。そして図23のフローチャートに示す処理を終了する。以下、画面キャッシュ114に3107が示す画面データ210が格納され、さらに二次画面キャッシュ2903に3108が示す画面データ210が退避される処理の流れである。次に、機器状態履歴2301が図26cの示す機器状態履歴2301、時刻2010/01/0110:10:07のときの出力装置108、画面キャッシュ114、二次画面キャッシュ2903の様子を図27cに示す。3109は、画面キャッシュ114に格納されたSC_NoPaperの画面データ210とSC_NoMagentaInkの画面データ210とである。3110は二次画面キャッシュ2903に格納されたSC_Detailの画面データ210とSC_Canceledの画面データ210である。以下、画面キャッシュ114に3109が示す画面データ210が格納され、さらに二次画面キャッシュ2903に3110が示す画面データ210が退避される処理を詳細に説明する。時刻2010/01/0110:10:07の時点で、ユーザ動作履歴2902は空である。そのため、S3002において、キャッシュ生成部207は、最後に行われたユーザの動作が操作開始前動作でないと判定し、S3003へ進む。S3003で、キャッシュ生成部207は、機器状態条件1602が満たされているため、画面データ210を画面キャッシュ114に格納する。機器状態条件1602を満たすキャッシュ対象画面1603は、SC_NoMagentaInk、SC_NoYellowInk、SC_NoPaperの3つがある。これらのうち、SC_NoPaperの画面データ210とSC_NoMagentaInkの画面データ210がキャッシュされる。また、SC_Detailの画面データ210は二次画面キャッシュ2903に退避される。この仕組みを以下で述べる。図24の示すフローチャートにおいて、まずS2507で、3つのキャッシュ対象画面1603への遷移確率を求める。図20の示すフローチャートより、SC_NoMagentaInkの変動量は-2.0であり、遷移確率は2である。SC_NoYellowInkの変動量は-0.7であり、遷移確率は1である。SC_NoPaperの変動量は-80であり、遷移確率は3である。S3018で、キャッシュ生成部207は、変数Nの値を2であると計算する。S3019で、キャッシュ生成部207は、S3029以下の処理を2回実行する。まず遷移確率が3であるSC_NoPaperの画面データ210に対してS3029以降の処理を行う。S3029で、キャッシュ生成部207は、SC_NoPaperの画面データ210が画面キャッシュ114に格納されていないと判定する。S3020で、キャッシュ生成部207は、画面キャッシュ114に空きがないと判定する。S3021で、キャッシュ生成部207は、SC_Detailの画面データ210を二次画面キャッシュ2903に退避させる。S3022で、キャッシュ生成部207は、SC_NoPaperの画面データ210が二次画面キャッシュ2903に格納されていないと判定する。S3024で、キャッシュ生成部207は、SC_NoPaperの画面データ210を画面キャッシュ114に格納する。次に、キャッシュ生成部207は、遷移確率が2であるSC_NoMagentaInkの画面データ210に対してS3029以降の処理を行う。S3029で、キャッシュ生成部207は、SC_NoMagentaInkの画面データ210が画面キャッシュ114に格納されていると判定する。S3025で、キャッシュ生成部207は、S3019からS3025までの処理を2回繰り返したため、S3026に進む。キャッシュ生成部207は、以上の処理を実行した後、S3005で、画面キャッシュ114に空きがないと判断してS3017に進む。そして図23に示すフローチャートを終了する。以上、画面キャッシュ114に3109が示す画面データ210が格納され、さらに二次画面キャッシュ2903に3110が示す画面データ210が退避される処理である。次に、機器状態履歴2301が図26cの示す機器状態履歴2301、時刻2010/01/0110:10:15のときの出力装置108と画面キャッシュ114の様子を図27dに示す。3111は、画面キャッシュ114に格納されたSC_Detailの画面データ210とSC_Canceledの画面データ210である。3112は二次画面キャッシュ2903に退避されたSC_NoPaperの画面データ210とSC_NoMagentaInkの画面データ210である。以下、画面キャッシュ114に画面データ210が格納され、さらに二次画面キャッシュ2903に画面データ210が退避される処理を詳細に説明する。時刻2010/01/0110:10:15の時点で、ユーザ動作履歴2902には動作種別3103が操作開始前動作であるユーザの動作3101のみが格納されている。そのためS3002において、キャッシュ生成部207は、最後に行われたユーザの動作が操作開始前動作であると判定し、S3010へ進む。S3010で、キャッシュ生成部207は、遷移先画面404のうち、イベント種別3104がユーザ操作である画面遷移イベント402が発生したときに表示されるものを取得する。この場合、上記の条件を満たす遷移先画面404は、SC_DetailとSC_Canceledである。キャッシュ生成部207は、まずSC_Detailの画面データ210に対してS3028以降の処理をおこなう。S3028で、キャッシュ生成部207は、SC_Detailの画面データ210が画面キャッシュ114に格納されていないと判定する。S3011で、キャッシュ生成部207は、画面キャッシュ114に空きがないと判定する。S3012で、キャッシュ生成部207は、画面キャッシュ114に格納されたSC_NoPaperの画面データ210を二次画面キャッシュ2903に退避させる。S3013で、キャッシュ生成部207は、二次画面キャッシュ2903にSC_Detailの画面データ210が格納されていると判定する。S3014で、キャッシュ生成部207は、二次画面キャッシュ2903に退避したSC_Detailの画面データ210を、画面キャッシュ114に戻す。次に、キャッシュ生成部207は、SC_Canceledの画面データ210に対してS3028以降の処理をおこなう。S3028で、キャッシュ生成部207は、SC_Canceledの画面データ210が画面キャッシュ114に格納されていないと判定する。S3011で、キャッシュ生成部207は、画面キャッシュ114に空きがないと判定する。S3012で、キャッシュ生成部207は、画面キャッシュ114に格納されたSC_NoMagentaInkの画面データ210を二次画面キャッシュ2903に退避させる。S3013で、キャッシュ生成部207は、二次画面キャッシュ2903にSC_Canceledの画面データ210が格納されていると判定する。S3014で、キャッシュ生成部207は、二次画面キャッシュ2903に退避したSC_Canceledの画面データ210を、画面キャッシュ114に戻すと、S3017に進む。そして図23に示すフローチャートを終了する。以上、画面キャッシュ114に3111が示す画面データ210が格納され、さらに二次画面キャッシュ2903に3112が示す画面データ210が退避される処理である。最後に、機器状態履歴2301が図26cの示す機器状態履歴2301、時刻2010/01/0110:10:25のときの出力装置108、画面キャッシュ114、二次画面キャッシュ2903の様子を示す。この様子は図27cに等しい。以下、画面キャッシュ114に3109が示す画面データ210が格納され、二次画面キャッシュ2903に3110が示す画面データ210が格納される処理を詳細に示す。時刻2010/01/0110:10:25の時点で、ユーザ動作履歴2902には二つのユーザの動作3101が格納されている。二つのユーザの動作3101のうち最後に行なわれたユーザの動作3101の動作種別3103は、操作終了後動作である。そのため、S3002において、キャッシュ生成部207は、最後に行われたユーザの動作3101が操作開始前動作でないと判定し、S3003へ進む。S3003で、キャッシュ生成部207は、機器状態条件1602が満たされているため、画面データ210を画面キャッシュ114に格納する。このとき、キャッシュ生成部207は、二次画面キャッシュ2903に退避されたSC_NoPaperの画面データ210とSC_NoMagentaInkの画面データ210を画面キャッシュ114に戻す。また、SC_DetailとSC_Canceledの画面データ210は二次画面キャッシュ2903に退避される。この仕組みの詳細を以下で述べる。まず、S2502からS3018の処理で、キャッシュ生成部207は、SC_NoMagentaInkへの遷移確率が2、SC_NoYellowInkへの遷移確率が1、SC_NoPaperへの遷移確率が3であると計算する。S3018で、キャッシュ生成部207は、変数Nが2であると計算する。S3019で、キャッシュ生成部207は、まずSC_NoPaperの画面データ210に対してS3029以下の処理を実行する。S3029で、キャッシュ生成部207は、SC_NoPaperの画面データ210が画面キャッシュ114に格納されていないと判定する。S3020で、キャッシュ生成部207は、画面キャッシュ114に空きがないと判定する。S3021で、キャッシュ生成部207は、SC_Detailの画面データ210を二次画面キャッシュ2903に退避させる。S3022で、キャッシュ生成部207は、SC_NoPaperの画面データ210が二次画面キャッシュ2903に格納されていると判定する。S3023で、キャッシュ生成部207は、二次画面キャッシュ2903に退避させたSC_NoPaperの画面データ210を画面キャッシュ114に戻す。次に、キャッシュ生成部207は、SC_NoMagentaInkの画面データ210に対してS3029以下の処理を実行する。S3029で、キャッシュ生成部207は、SC_NoMagentaInkの画面データ210が画面キャッシュ114に格納されていないと判定する。S3020で、キャッシュ生成部207は、画面キャッシュ114に空きがないと判定する。S3021で、キャッシュ生成部207は、SC_Canceledの画面データ210を二次画面キャッシュ2903に退避させる。S3022で、キャッシュ生成部207は、SC_NoMagentaInkの画面データ210が二次画面キャッシュ2903に格納されていると判定する。S3023で、キャッシュ生成部207は、二次画面キャッシュ2903に退避させた、SC_NoMagentaInkの画面データ210を画面キャッシュ114に戻す。S3025で、キャッシュ生成部207は、S3019からS3025までの処理を2回繰り返したため、S3026に進む。キャッシュ生成部207は、以上の処理を実行した後、S3005で、画面キャッシュ114に空きがないと判断してS3017に進む。そして図13に示されたフローチャートを終了する。以上、画面キャッシュ114に3109が示す画面データ210が格納され、二次画面キャッシュ2903に3110が示す画面データ210が格納される処理である。以上のとおり、実施形態8は、ユーザの操作開始前動作があった場合に画面データを画面キャッシュから一時的に退避させる。そのため、当該画面キャッシュに格納された画面データが表示される確率が低い場合、画面キャッシュの使用量の増大を抑えることができる。この空いた領域はユーザが表示する可能性の高い画面のキャッシュに用いることができる。これにより、ユーザの操作時に画面を迅速に表示させることができる。これはユーザの操作待ち時間を減らす効果がある。また、ユーザの操作完了後動作があった場合には、退避させた画面データを画面キャッシュへ戻す。このとき、二次画面キャッシュに退避された画面データにアクセスすることで、キャッシュ処理をより高速に行なうことができる。処理を高速に行なうことでキャッシュ処理中に機器状態の変化が起こる確率が減る。そのため、機器状態が変化した場合に画面を迅速に表示させる確率が高まる。これは、ユーザの操作待ち時間を減らす効果がある。なお、S3003やS3010の処理で、出力装置108へ頻繁に表示される画面データ210から順にそれ以降の処理を実行してもよい。また、S3012やS3021の処理で、頻繁に表示されない画面データ210から順に、二次画面キャッシュ2903へ退避させてもよい。これにより、画面キャッシュ114に格納された画面データ210が出力装置108の表示に用いられる確率が高まる。このことはユーザの操作待ち時間を減らす効果がある。また、頻繁に表示される順序はあらかじめ定めておいてもよいし、ユーザの操作履歴から順序を統計的に定めてもよい。ユーザの操作履歴から定めることで、頻繁に表示される画面データ210がユーザごとに異なる場合でも、画面キャッシュ114に格納された画面データ210が出力装置108の表示に用いられる確率が高まる。このことはユーザの操作待ち時間を減らす効果がある。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。