(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
複数の画面データを格納する格納手段と、
遷移イベントを検知し、該遷移イベントに対する画面データを前記複数の画面データから選択し表示する表示手段と、
前記情報処理装置の機能部の状態を示すパラメータの値を取得する取得手段と、
前記取得されたパラメータの値と表示中の画面データとに基づいて、前記パラメータに関連する画面データをキャッシュするか否かを判定し、キャッシュすると判定された場合に、前記格納された複数の画面データから当該パラメータに関連する画面データをキャッシュするキャッシュ格納手段とを備え、
前記表示手段は、
前記キャッシュ格納手段によりキャッシュされた画面データへの遷移イベントが発生した場合には、前記キャッシュ格納手段に格納された画面データを用いて表示する
ことを特徴とする情報処理装置。
【請求項２】
前記キャッシュ格納手段は、
表示中の画面データとキャッシュ条件としてのパラメータの値とキャッシュすべき画面データの識別タグとの対応を示すテーブルを有し、前記テーブルを参照することにより、前記識別タグに対応した画面データをキャッシュする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記キャッシュ格納手段にキャッシュすべき画面データが、複数個存在し、かつ、該格納すべき複数の画面データの全データ量が前記キャッシュ格納手段の格納容量より大きい場合に、該キャッシュすべき複数の画面データの各々に予め定められた優先度に従って、優先度の高い順序で該複数個の画面データをキャッシュする
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記取得手段で取得された、パラメータの値を時系列で格納するパラメータ格納手段
を更に備え、
前記キャッシュ格納手段は、
キャッシュすべき画面データが複数個存在する場合に、該キャッシュすべき複数個の画面データの各々について、前記パラメータ格納手段で前記時系列に格納されたパラメータの変動量に基づきキャッシュの優先度を設定し、優先度の高い順序で前記キャッシュすべき画面データをキャッシュする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記パラメータの値は、前記情報処理装置の消耗品の残量値であり、
前記キャッシュ格納手段は、
前記取得手段により取得された前記消耗品の残量値が所定の閾値以下の場合に、該消耗品の残量が少ない旨を表示するための画面データをキャッシュする
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記パラメータの値は、印刷用紙の残枚数であり、
前記キャッシュ格納手段は、更に、前記用紙の残枚数が所定の閾値以下の場合に、該印刷用紙の残枚数が少ない旨を表示するための画面データをキャッシュする
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項７】
前記情報処理装置は、ＣＤ／ＤＶＤ格納トレイを備え、
前記機能部の状態を示すパラメータの値は、前記ＣＤ／ＤＶＤ格納トレイの開閉状態であり、
前記キャッシュ格納手段は、更に、前記パラメータの値が開状態を示す場合に、該ＣＤ／ＤＶＤ格納トレイが開いている旨を表示するための画面データをキャッシュする
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項８】
情報処理装置の制御方法であって、
格納手段が、複数の画面データを格納する格納工程と、
表示手段が、遷移イベントを検知し、該遷移イベントに対する画面データを前記複数の画面データから選択し表示する表示工程と、
取得手段が、前記情報処理装置の機能部の状態を示すパラメータの値を取得する取得工程と、
キャッシュ格納手段が、前記取得されたパラメータの値と表示中の画面データとに基づいて、前記パラメータに関連する画面データをキャッシュするか否かを判定し、キャッシュすると判定された場合に、前記格納された複数の画面データから当該パラメータに関連する画面データをキャッシュするキャッシュ格納工程と、
前記表示手段が、前記キャッシュ格納工程によりキャッシュされた画面データへの遷移イベントが発生した場合には、前記キャッシュ格納工程で格納された画面データを用いて表示する工程と
を備えることを特徴とする制御方法。
【請求項９】
請求項８に記載の情報処理の制御における各工程をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理におけるユーザ対話形式の情報処理装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、様々な分野でグラフィカルユーザインタフェースのデザイン性が向上しており、アニメーションや３Ｄ効果などを用いたグラフィカルユーザインタフェースも増えている。特に組み込み機器では、ユーザに対して消耗品の補充手順や組み込み機器のメンテナンス手順を分かりやすく伝えるために、高画質でのカラーイラストの表示や、イラストを使ったアニメーションによる表示が望まれている。
【０００３】
しかしながら、カラーイラストやアニメーションを用いると、組み込み機器に組み込まれるデザインデータのサイズが増大する。デザインデータのサイズが増えると、データをメモリ上に展開してから液晶画面など出力装置に出力するまでに必要な時間が増える。その結果、ユーザが操作を行ってから結果を表示するまでのユーザの待ち時間が長くなってしまう。特に画面全体が切り替わる画面遷移が発生したとき、データを格納するメモリからのロード時間が増加すると、それが直接ユーザの待ち時間に影響を与えてしまう。
【０００４】
一般に、ユーザが操作を行ってから結果が返ってくるまでの待ち時間は、ユーザインタフェースの操作性を決める上で重要な要素であり、特に快適な操作性を保つには、結果表示までの待ち時間を数百ミリ秒以内に抑えることが求められている。ユーザが操作を行ってから結果が返るまでの待ち時間を短縮するための技術として、次に画面に表示するデザインデータを予測して、予めメモリ上に展開する技術が多く存在する。
【０００５】
例えば特許文献１では、Ｗｅｂブラウザで、興味を持ってユーザが表示中のページを見ていると判断されたときのみ、そのページからリンクされているページの先読みを行う手法が提案されている。この場合、興味を持って見ているかどうかは、ユーザが画面をスクロールさせたかどうかで判断している。
【０００６】
また、特許文献２では、Ｗｅｂブラウザで、マウスカーソルの位置や動きから次のユーザの操作を予測し、その結果、ユーザが次に表示する可能性が高いと判断したページを優先して先読みする手法が提案されている。
【０００７】
更に、特許文献３では、次に遷移する可能性がある画面のうち、機器に予め設定された各画面への遷移確率または画面のデザインデータのサイズが閾値を上回ったとき、その画面を先読みするか決定する手法が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１７８５１３号公報
【特許文献２】特開２００５−０８５１７４号公報
【特許文献３】特開２００７−１７９４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、インクを用いてロール紙に印刷を行うプリンタにおける画面遷移について考えてみる。このようなプリンタにおいては、印刷を行なう度にインクやロール紙を消耗する。そこで、ユーザに対してインクやロール紙が無くなった際に補充を促す画面を提示するものが存在する。また、電子辞書端末について考えてみると、電池の残量が一定量を下回った時点で、充電または電池の交換を促す画面を提示するものが存在する。
【００１０】
しかし、画面のデザインデータのサイズが増えた場合、インク等が無くなった時点、電池の残量が一定量を下回った時点で、データをメモリ上に展開してから液晶画面など出力装置に出力すると、ユーザの待ち時間が長くなる。
【００１１】
また、特許文献１乃至３に示された技術を用いると、提示しない画面に相当するデータを多く含むことになるため、メモリに展開すべきデータ量の増大を招いてしまう。
【００１２】
そこで、本発明は、メモリに展開すべきデータの増大を抑えると共に、画面遷移のトリガーとなる状態が検知された時点で迅速に画面遷移を実行し、所望の画面が提示されるまでのユーザの待ち時間を短縮することを目的とする。
【００１３】
従って本発明では、以上の課題に鑑み、情報処理装置などに装置の状態に応じて表示される画面を表示する際に、ユーザの待ち時間を効率的に低減できる表示技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明の一態様は、情報処理装置であって、複数の画面データを格納する格納手段と、遷移イベントを検知し、該遷移イベントに対する画面データを前記複数の画面データから選択し表示する表示手段と、前記情報処理装置の機能部の状態を示すパラメータの値を取得する取得手段と、前記取得されたパラメータの値と表示中の画面データとに基づいて、前記パラメータに関連する画面データをキャッシュするか否かを判定し、キャッシュすると判定された場合に、前記格納された複数の画面データから当該パラメータに関連する画面データをキャッシュするキャッシュ格納手段とを備え、前記表示手段は、前記キャッシュ格納手段によりキャッシュされた画面データへの遷移イベントが発生した場合には、前記キャッシュ格納手段に格納された画面データを用いて表示することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、情報処理装置などに装置の状態に応じて表示される画面を表示する際に、ユーザの待ち時間を効率的に低減できる。
【図面の簡単な説明】
【００１６】
【図１】（ａ）は、情報処理装置の構成を示すブロック図、（ｂ）は、データフロー図である。
【図２】実施形態１におけるシステム起動時の処理手順を示したフローチャートである。
【図３】（ａ）は画面遷移情報、（ｂ）は画面定義ファイル、（ｃ）は機器が起動した直後の画面の構成図である。
【図４】実施形態１における画面を表示している間の処理手順を示したフローチャートである。
【図５】実施形態１における機器状態のデータの構成図である。
【図６】実施形態１におけるキャッシュを生成する処理の詳細を示したフローチャートである。
【図７】（ａ）はプリント中を示す図、（ｂ）は画面キャッシュのインク補充画面データの内容を示す図、（ｃ）はインク補充画面の表示状態を示す図である。
【図８】実施形態１における機器状態のデータ構成図である。
【図９】（ａ）はプリント中を示す図、（ｂ）は画面キャッシュの用紙補充画面データの内容を示す図、（ｃ）は用紙の補充画面の表示状態を示す図である。
【図１０】（ａ）プリント開始のための画面、（ｂ）は画面キャッシュのＣＤ／ＤＶＤトレイのための画面データ、（ｃ）はＣＤ／ＤＶＤトレイの画面表示を示す図である。
【図１１】（ａ）実施形態２における情報処理装置の構成を示すブロック図、（ｂ）実施形態２における情報処理装置内のデータの処理機能ブロック図である。
【図１２】実施形態２におけるキャッシュ指示テーブルのデータ構成図である。
【図１３】実施形態２におけるキャッシュの生成処理の詳細を示したフローチャートである。
【図１４】実施形態３におけるキャッシュ指示テーブルのデータ構成図である。
【図１５】実施形態３におけるキャッシュの生成処理の詳細を示したフローチャートである。
【図１６】実施形態３における機器状態のデータ構成図である。
【図１７】（ａ）実施形態４における情報処理装置の構成を示すブロック図、（ｂ）実施形態４における情報処理装置内のデータの処理機能ブロック図である。
【図１８】実施形態４におけるキャッシュの生成処理の詳細を示したフローチャートである。
【図１９】実施形態４における機器状態履歴のデータ構成図である。
【図２０】実施形態４におけるキャッシュ対象画面への遷移確率を求めるフローチャートである。
【図２１】実施形態８における情報処理装置の構成を示すブロック図である。
【図２２】実施形態８における情報処理装置の構成を示すデータフロー図である。
【図２３】実施形態８におけるキャッシュの生成処理の詳細を示したフローチャートである。
【図２４】実施形態８におけるキャッシュの生成処理の詳細を示したフローチャートである。
【図２５】（ａ）ユーザ動作履歴、（ｂ）画面遷移情報、（ｃ）キャッシュ指示テーブルである。
【図２６】実施形態８における機器状態履歴である。
【図２７】実施形態８における出力装置に出力される画面と画面キャッシュ、二次画面キャッシュである。
【発明を実施するための形態】
【００１７】
＜実施形態１＞
図１（ａ）は、実施形態１の情報処理装置の表示に関する全体構成を示す図である。実施形態１では、情報処理装置は印刷装置として説明する。ＣＰＵ１０１は、以下に説明する１０３〜１１０の装置を制御する。ＣＰＵ１０１は、１０２で示すバスを介して１０３〜１１０の装置にアクセスする。読み出し専用メモリであるＲＯＭ１０３は、バス１０２を介してＣＰＵ１０１からアクセスされる。ＲＯＭ１０３には、ＣＰＵの動作を記述するプログラムコード１１１、画面定義ファイル１１２、および画面遷移情報１１３が格納されている。
【００１８】
読み書き可能なメモリであるＲＡＭ１０４上には、プログラムコード１１１により生成される、画面キャッシュ１１４が確保されている。画面キャッシュ１１４は、ＲＡＭ１０４の一部である。画面キャッシュ１１４は、画面データ２１０を格納する。ＲＡＭ１０４上には、機器状態１１５が確保されている。入出力インタフェース１０５は、１０６で示したキーボード、マウス、ボタン、ダイアル等の入力装置、１０７で示したタッチパネルを介してなされる入力を受信する。また入出力インタフェース１０５は、１０８で示したＣＲＴ、ＬＣＤ、更にはプリンタ、プロッタ等の出力装置、タッチパネル１０７に対し、データの表示／出力を行う。
【００１９】
また、外部記憶装置インタフェース１０９は、１１０で示したＨＤ、ＦＤ、ＣＤ−ＲＯＭ、ＭＤ、ＣＦ等の外部記憶装置に対するデータの入出力を行うものである。本実施形態では、プログラムコード１１１と処理対象となる各データ定義（１１２〜１１３）がＲＯＭ１０３上にあるものとして、また、データの一時的な格納領域（１１４〜１１５）がＲＡＭ１０４上にあるものとして説明を行う。しかし、これらはすべて、外部記憶装置１１０上に配置することも可能であり、必要に応じて外部記憶装置１１０からＲＡＭ１０４上にロードして使用することもできる。また、これらはすべて、ＣＰＵ１０１のキャッシュメモリ上に配置することも可能である。
【００２０】
図１（ｂ）は、図１（ａ）において示したプログラムコード１１１が、１１２〜１１５の構成要素とどのような関係にあるかを示すデータフロー図である。ＣＰＵ１０１は、ＲＯＭ１０３上のプログラムコード１１１を動かす。入力部２０１、画面制御部２０２、出力部２０６、キャッシュ生成部２０７、機器状態管理部２０９は、プログラムコード１１１の一部である。入力部２０１は、ユーザによる入力を入力装置１０６やタッチパネル１０７から入出力インタフェース１０５を介して受け取る。入力部２０１は、ユーザによる入力イベント、機器状態管理部２０９から通知された印刷装置の機能部の状態を示す機器状態１１５の変化イベントを画面制御部２０２に通知する。
【００２１】
また、画面制御部２０２は、システムの起動処理や終了処理を行なう。画面制御部２０２は、入力部２０１から通知されたイベントや画面遷移情報１１３に基づいて表示する画面を決定する。入力部２０１は、表示する画面を出力部２０６に指示する。
【００２２】
画面遷移情報１１３は、イベントが発生したときに遷移する画面データ２１０の画面ＩＤ（後述する図３（ｂ）の符号５０１）を表す。画面定義ファイル１１２は、複数の画面データ２１０から構成されている。画面データ２１０は、出力部２０６に出力される画面の見た目を表す情報である。画面キャッシュ１１４は、複数の画面データ２１０から構成されている。出力部２０６は、画面定義ファイル１１２にある画面データ２１０を出力する場合と、画面キャッシュ１１４にある画面データ２１０を出力する場合とがあり、後者のほうがより高速に画面データ２１０を出力することが可能である。出力部２０６は、画面制御部２０２から指示された画面データ２１０を画面定義ファイル１１２または画面キャッシュ１１４から取得する。出力部２０６は、入出力インタフェース１０５を介して画面データ２１０をタッチパネル１０７や出力装置１０８に出力する。
【００２３】
キャッシュ生成部２０７は、画面定義ファイル１１２、機器状態管理部２０９から通知される機器状態１１５に基づいて、画面キャッシュ１１４に画面データ２１０を格納する。機器状態１１５は、消耗品や機器を外部から操作するための付属機能の状態を表す。機器状態管理部２０９は、機器状態１１５の変化に応じて画面制御部２０２とキャッシュ生成部２０７に機器状態を通知する。画面データ２１０は、出力部２０６に出力される。
【００２４】
以上の構成において、画面定義ファイル１１２に格納された画面データ２１０と画面キャッシュ１１４に格納された画面データ２１０のフォーマットは同じでも良いし、あるいは異なっていてもよい。例えば、画面定義ファイル１１２には画面データ２１０がベクタ形式で、画面キャッシュ１１４には画面データ２１０がそれとは異なるラスタ形式で格納されていてもよい。
【００２５】
また、画面キャッシュ１１４の大きさは印刷装置の動作中に変化してもよい。例えば、画像の拡大、画像の縮小、画像の重ね合わせを行う処理など、ＲＡＭ１０４の多くの領域を使うことで高速に実行可能な処理が実行されている場合は、画面キャッシュ１１４の領域を小さくする。これにより、印刷処理をより高速に実行することができる。
【００２６】
また、画面キャッシュ１１４に画面データ２１０を圧縮して格納してもよい。画面キャッシュ１１４が小さいときは画面データ２１０が格納できない場合がある。このとき、画面データ２１０を圧縮することで、画面データ２１０が画面キャッシュに格納可能になる。これにより、画面キャッシュ１１４に画面データ２１０を格納しない場合に比べて、より高速に画面を出力することができる。
【００２７】
図２は、実施形態１のシステム起動時の処理手順を示したフローチャートである。まずＳ３０１で、本システムの起動要求が入出力インタフェース１０５を介して入力部２０１に入力される。本システムの起動要求はユーザによって行われる。ユーザからの起動要求があると、Ｓ３０２で、入力部２０１は、初期画面表示イベントを画面制御部２０２に通知する。
【００２８】
Ｓ３０３で、画面制御部２０２は、画面遷移情報１１３から初期画面の画面ＩＤを取得する。Ｓ３０４で、出力部２０６は、Ｓ３０３で取得した初期画面の画面ＩＤと画面定義ファイル１１２を用いて、初期画面の画面データ２１０を生成する。Ｓ３０５で、出力部２０６は、Ｓ３０４で生成した画面データ２１０をタッチパネル１０７や出力装置１０８に表示する処理をおこなうと、Ｓ３０６に進み、本シーケンスを終了する。
【００２９】
図３（ａ）は、Ｓ３０３で取得した画面遷移情報１１３の構成を示す。画面遷移情報１１３には、「遷移元画面４０１」を示す項目値、「画面遷移イベント４０２」を示す項目値、「遷移条件４０３」を示す項目値、「遷移先画面４０４」を示す項目値のセットが、複数セット登録されている。遷移元画面４０１は、この画面を表示している場合に画面遷移が発生することを示す。また、画面遷移イベント４０２は、入力部２０１や機器状態管理部２０９によってこのイベントが通知された場合に、画面遷移が発生することを表す。遷移条件４０３は、画面遷移が発生する条件である機器状態１１５を示す。遷移先画面４０４は、画面遷移後に出力部２０６に出力される画面データを示す。
【００３０】
図３（ａ）の４０５が示す行は、画面遷移イベント４０２”ＥＶ＿ＰｏｗｅｒＯｎ”が発生したら、遷移先画面４０４の”ＳＣ＿Ｈｏｍｅ”を出力部２０６に出力することを示している。遷移先画面４０４の”ＳＣ＿Ｈｏｍｅ”が出力されるのは、出力部２０６が画面を表示していない場合、すなわち"ＮｏＳｃｒｅｅｎ”に限る。
【００３１】
図３（ａ）の４０６が示す行は、画面遷移イベント４０２の”ＥＶ＿ＰｒｉｎｔＳｔａｒｔ”が発生したら、遷移先画面４０４の”ＳＣ＿Ｐｒｉｎｔｉｎｇを出力部２０６に出力することを示している。遷移先画面４０４の”ＳＣ＿Ｐｒｉｎｔｉｎｇ”が出力されるのは、出力部２０６が遷移元画面４０１の”ＳＣ＿Ｐｒｉｎｔ”を表示しており、かつ、機器状態１１５が遷移条件４０３の”Ｔｒａｙ．ｉｓＯｐｅｎ＝Ｃｌｏｓｅｄ”を満たす場合に限る。
【００３２】
図３（ｂ）は、Ｓ３０４で取得した画面定義ファイル１１２の構成を示す。画面ＩＤ５０１は、画面データを識別する。図３（ｂ）の５０２が示す列項目は、画面の見た目が定義されたデータを表す画面データ２１０である。図３（ｂ）の５０３が示す行は、画面ＩＤ５０１が”ＳＣ＿Ｈｏｍｅ”である画面データが、”ＳＣ＿Ｈｏｍｅ．ｓｖｇ”という画面データ２１０に格納されていることを示している。
【００３３】
図３（ｃ）は、図３（ａ）の示す画面の遷移に関する情報と図３（ｂ）の示す画面ＩＤに基づく画面データから、図２の示すフローチャートによって生成された画面のデータ構成図である。この場合の手順は、図２におけるＳ３０２で、入力部２０１は、画面制御部２０２に初期画面表示イベント”ＥＶ＿ＰｏｗｅｒＯｎ”を通知する。この通知を受け、Ｓ３０３で、画面制御部２０２は、画面遷移情報１１３より遷移先画面４０４”ＳＣ＿Ｈｏｍｅ”を表示することを決定する。そしてＳ３０５で、出力部２０６は遷移先画面４０４”ＳＣ＿Ｈｏｍｅ”をタッチパネル１０７や出力装置１０８に出力する。その結果が、図３（ｃ）に示す画像の出力である。
【００３４】
図４は、画面を表示している間の実施形態１の処理手順を示したフローチャートである。Ｓ７０２で、Ｓ７０３からＳ７０７までを繰り返し実行する処理をおこなう。Ｓ７０３で、キャッシュ生成部２０７は、機器状態管理部２０９から機器状態１１５を取得する。取得後、Ｓ７０４で、キャッシュ生成部２０７は、画面キャッシュ１１４に画面データ２１０を格納する。キャッシュ生成処理については図６において後述する。Ｓ７０５で、画面制御部２０２は、入力部２０１または機器状態管理部２０９がイベントを発生させたかどうかを判定する。イベントを発生させた場合にはＳ７０８に移行し、イベントを発生させていない場合はＳ７０６に移行する。Ｓ７０６で、画面制御部２０２は、一定時間処理を停止する。Ｓ７０７で、画面制御部２０２は、Ｓ７０２以降の処理を再び実行する。
【００３５】
Ｓ７０８で、画面制御部２０２は、画面遷移情報１１３に基づいて画面遷移が発生するかどうかを判定する。画面遷移が発生する場合には、Ｓ７０９に移行し、発生しない場合には、Ｓ７０６に進む。Ｓ７０９で、画面制御部２０２は、画面遷移情報１１３に基づいて、表示中の画面に関連する遷移先の画面を決定する。Ｓ７１０で、出力部２０６は、遷移先の画面が画面キャッシュ１１４に格納されているか判定する。格納されている場合には、Ｓ７１２に移行し、格納されていない場合にはＳ７１１に移行する。
【００３６】
Ｓ７１１で、出力部２０６は、画面定義ファイル１１２から画面データ２１０を取得し、タッチパネル１０７や出力装置１０８に表示する処理を行った後、Ｓ７１３に移行し、本シーケンスを終了する。Ｓ７１２で、出力部２０６は、画面キャッシュ１１４から画面データ２１０を取得し、タッチパネル１０７や出力装置１０８に出力する処理を行うと、Ｓ７１３に移行し、本シーケンスを終了する。
【００３７】
図５は、Ｓ７０３で取得した機器状態１１５の構成を示す。機器状態ＩＤ８０１は、機器状態を識別する。状態値８０２は、現在の機器状態を表す。図５の８０３が示す行は、機器状態ＩＤ８０１が”Ｉｎｋ．Ｍａｇｅｎｔａ”である機器状態が、”５”という状態値８０２を取っていることを示している。
【００３８】
図６は、図４におけるＳ７０４のキャッシュを生成する処理の詳細を示すフローチャートである。まず、Ｓ９０２で、画面制御部２０２は、画面ＩＤ５０１”ＳＣ＿Ｐｒｉｎｔｉｎｇ”による画面を表示しているかどうかを判定する。表示している場合には、Ｓ９０３に進み、表示していない場合には、Ｓ９０７に進む。
【００３９】
Ｓ９０３で、キャッシュ生成部２０７は、機器状態ＩＤ８０１で”Ｉｎｋ．Ｍａｇｅｎｔａ”の示す機器状態の状態値８０２が、キャッシュ条件である”５”以下であるかどうかを判定する。いま、状態値８０２の所定の閾値を”５”以下とする。”５”の閾値以下の場合には、インクの量が足りなくなっているのでステップ９０４に進み、”５”を超過している場合には、インクの残量は、閾値を超えているのでＳ９０５に進む。
【００４０】
Ｓ９０４で、キャッシュ生成部２０７は、画面ＩＤ５０１で”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”の示す画面データ２１０を画面キャッシュ１１４に格納すると、Ｓ９１０に進み、本シーケンスを終了する。Ｓ９０５で、キャッシュ生成部２０７は、機器状態ＩＤ８０１で”Ｐａｐｅｒ．Ｌｅｎｇｔｈ”の示す機器状態の状態値８０２が所定の閾値”５０”以下であるかどうかを判定する。キャッシュ条件である”５０”以下の場合には、紙の量が不足しているのでステップ９０６に進み、”５０”を超過している場合には、紙の量は正常なのでステップ９０７に進む。
【００４１】
Ｓ９０６で、キャッシュ生成部２０７は、画面ＩＤ５０１で”ＳＣ＿ＮｏＰａｐｅｒ”の示す画面データ２１０をキャッシュ格納を行なう画面キャッシュ１１４に格納すると、Ｓ９１０に進み、本シーケンスを終了する。Ｓ９０７で、画面制御部２０２は、画面ＩＤ５０１で”ＳＣ＿Ｐｒｉｎｔ”が示す画面を表示しているかどうかを判定する。表示している場合には、Ｓ９０８に進み、表示していない場合には、Ｓ９１０に進み、本シーケンスを終了する。
【００４２】
Ｓ９０８で、キャッシュ生成部２０７は、機器状態ＩＤ８０１で”Ｔｒａｙ. ｉｓＯｐｅｎｅｄ”の示す機器状態の状態値８０２が、キャッシュ条件”Ｏｐｅｎｅｄ”であるかどうかを判定する。”Ｏｐｅｎｅｄ”である場合には、ステップ９０９に、”Ｏｐｅｎｅｄ”でない場合には、Ｓ９１０に進み、本シーケンスを終了する。Ｓ９０９で、キャッシュ生成部２０７は、画面ＩＤ５０１で”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”の示す画面データ２１０を画面キャッシュ１１４に格納すると、Ｓ９１０に進み、本シーケンスを終了する。
【００４３】
図７は、図４および図６に示すフローチャートに従って生成された画面と画面キャッシュ１１４とのデータ構成の一例を示す図である。この画面および画面キャッシュ１１４は、図３（ａ）に示す画面遷移情報、図３（ｂ）の示す画面定義ファイル、および図５の示す機器状態に基づいて生成される。
【００４４】
図７（ａ）では、画面ＩＤ５０１で、プリント中であることを示す”ＳＣ＿Ｐｒｉｎｔｉｎｇ”の画面が、出力部２０６に出力されている。図７（ｂ）では、画面キャッシュ１１４には、画面ＩＤ５０１の、マジェンタインクを補充するように促すための”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”の画面が格納されている。
【００４５】
以上の画面に係る動作の過程を図４および図６のフローチャートに従って説明すると、まずＳ７０３で、機器状態ＩＤ８０１で”Ｉｎｋ．Ｍａｇｅｎｔａ”の示す機器状態の状態値８０２が”５”であることを取得する。Ｓ９０２で、画面ＩＤ５０１で”ＳＣ＿Ｐｒｉｎｔｉｎｇ”の示す画面を表示していることから、Ｓ９０３に進む。Ｓ９０３で、機器状態ＩＤ８０１”Ｉｎｋ．Ｍａｇｅｎｔａ”の示す機器状態の状態値８０２が”５”であることから、Ｓ９０５に進む。Ｓ９０４で、画面ＩＤ５０１で”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”の示す画面データ２１０を画面キャッシュ１１４に格納する。Ｓ７０５で、イベントが通知されていないためＳ７０６に進む。Ｓ７０６で、一定時間スリープすると、Ｓ７０３に戻り、再びＳ７０６までの手順を繰り返し処理する。
【００４６】
図７（ｃ）では、出力部２０６に出力された画面ＩＤ５０１における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”の画面を示す。これは機器状態ＩＤ８０１の”Ｉｎｋ．Ｍａｇｅｎｔａ”の状態値が”０”になり、機器状態管理部２０９が画面遷移イベント４０２の”ＥＶ＿ＩｎｋＣｈａｎｇｅｄ”を発生させた後の状態を示している。この画面遷移イベントに基づいて、出力部２０６に画面が優先的に表示されている。
【００４７】
以上の画面にかかわる動作の過程を、図４のフローチャートに従って説明する。まず、Ｓ７０２からＳ７０７まで繰り返し処理している間に、画面遷移イベント４０２が発生すると、Ｓ７０５で、機器状態管理部２０９がイベントを発生させたためＳ７０６に進む。Ｓ７０８で、図３（ａ）の示す画面遷移情報１１３より画面ＩＤ５０１で”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”の示す画面に遷移するためＳ７０９に進む。Ｓ７１０で、画面ＩＤ５０１で”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”の示す画面が画面キャッシュ１１４に格納されているので、Ｓ７１２に進む。Ｓ７１２で、画面キャッシュ１１４から画面データ２１０を取得し、タッチパネル１０７や出力装置１０８に画面データ２１０を出力する。
【００４８】
図８は、図５で示した機器状態１１５とは異なる機器状態を示している。１１０１は、消耗品残量の１つであるインク残量を示すＩｎｋ．Ｍａｇｅｎｔａの値が３０という値であることを示している。１１０２は、消耗品残量の１つである用紙残量を示すＰａｐｅｒ．Ｌｅｎｇｔｈの値が３０という値であることを示している。
【００４９】
１１０３は、付属機能の１つであるＣＤ／ＤＶＤ格納トレイの開閉状態を示すＴｒａｙｉｓ Ｏｐｅｎｅｄが、Ｏｐｅｎｅｄという値であることを示している。Ｏｐｅｎｅｄは、ＣＤ／ＤＶＤ格納トレイが開いていることを示している。
【００５０】
図９は、図３（ａ）の示す画面遷移情報、図３（ｂ）示す画面定義ファイル、および図８の示す機器状態に基づいて、図４および図６に示すフローチャートに従って生成された画面と画面キャッシュとのデータ構成の一例を示す図である。
【００５１】
図９（ａ）は画面ＩＤ５０１が、”ＳＣ＿Ｐｒｉｎｔｉｎｇ”である画面が出力部２０６に出力されていることを示す。図９（ｂ）は、画面キャッシュ１１４に、画面ＩＤ５０１における”ＳＣ＿ＮｏＰａｐｅｒ”の画面が格納されていることを示す。
【００５２】
以上の画面に係る動作の過程について図４および図６を用いて説明する。Ｓ９０２で、画面ＩＤ５０１における”ＳＣ＿Ｐｒｉｎｔｉｎｇ”の画面を表示していることから、Ｓ９０３に進む。Ｓ９０３で、機器状態ＩＤ８０１における”Ｉｎｋ．Ｍａｇｅｎｔａ”の機器状態の状態値８０２が、”５”を超過していることから、Ｓ９０５に進む。Ｓ９０５で、機器状態ＩＤ８０１における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ”の機器状態の状態値８０２が”５０”以下であることから、Ｓ９０６に進む。Ｓ９０６で、画面ＩＤ５０１における”ＳＣ＿ＮｏＰａｐｅｒ”の画面データ２１０を画面キャッシュ１１４に格納する。
【００５３】
図４のＳ７０５で、イベントが通知されていないと仮定すると、Ｓ７０６に進む。Ｓ７０６で一定時間スリープすると、Ｓ７０３に戻り、再びＳ７０６まで繰り返し処理する。
【００５４】
図９（ｃ）は、出力部２０６に出力された画面ＩＤ５０１が”ＳＣ＿ＮｏＰａｐｅｒ”である画面を示す。この状態は、機器状態ＩＤ８０１が”Ｐａｐｅｒ．Ｌｅｎｇｔｈ”である機器状態が”０”となり、機器状態管理部２０９が画面遷移イベント４０２”ＥＶ＿ＰａｐｅｒＣｈａｎｇｅｄ”を発生させた後の状態である。
【００５５】
Ｓ７０２からＳ７０７まで繰り返し処理している間に画面遷移イベント４０２が発生すると、Ｓ７０５で、機器状態管理部２０９がイベントを発生させたためＳ７０８に進む。Ｓ７０８で、図４の示す画面遷移情報１１３より画面ＩＤ５０１”ＳＣ＿ＮｏＰａｐｅｒ”が示す画面に遷移するためＳ７０９にて、”ＳＣ＿ＮｏＰａｐｅｒ”に遷移することを決定する。Ｓ７１０で、画面ＩＤ５０１”ＳＣ＿ＮｏＰａｐｅｒＩｎｋ”が示す画面が画面キャッシュ１１４に格納されているため、Ｓ７１２に進む。Ｓ７１２で、画面キャッシュ１１４から画面データ２１０を取得し、タッチパネル１０７や出力装置１０８に出力する。
【００５６】
図１０は、図３（ａ）示す画面遷移情報、図３（ｂ）に示す画面定義ファイル、および図５の示す機器状態に基づき、図４および図６に示すフローチャートに従って生成された画面と画面キャッシュとのデータ構成の一例を示す図である。
【００５７】
図１０（ａ）は、画面ＩＤ５０１が”ＳＣ＿Ｐｒｉｎｔ”である画面が出力部２０６に出力されていることを示す。図１０（ｂ）は、画面キャッシュ１１４に画面ＩＤ５０１が”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”である画面が格納されていることを示す。
【００５８】
Ｓ９０２で、画面ＩＤ５０１における”ＳＣ＿Ｐｒｉｎｔｉｎｇ”の画面を表示していないことから、Ｓ９０７に進む。Ｓ９０７で、画面ＩＤ５０１における”ＳＣ＿Ｐｒｉｎｔ”の画面を表示していることから、Ｓ９０８に進む。Ｓ９０８で、機器状態ＩＤ８０１における”Ｔｒａｙ．ｉｓＯｐｅｎｅｄ”の機器状態の状態値８０２が、”Ｏｐｅｎｅｄ”であることから、Ｓ９０９に進む。Ｓ９０９で、画面ＩＤ５０１における”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”の画面データ２１０を画面キャッシュ１１４に格納する。Ｓ７０５で、イベントが通知されていないため、Ｓ７０６に進む。Ｓ７０６で、一定時間スリープすると、Ｓ７０３に戻り、再びＳ７０６まで繰り返し処理する。
【００５９】
図１０（ｃ）は、ユーザの入力インタフェース操作により入力部２０１で画面遷移イベント４０２の”ＥＶ＿ＰｒｉｎｔＳｔａｒｔ”を発生させ、出力部２０６に画面ＩＤ５０１による”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”を出力している画面を示す。Ｓ７０２からＳ７０７まで繰り返し処理している間に画面遷移イベント４０２が発生すると、Ｓ７０５で、機器状態管理部２０９がイベントを検知し、Ｓ７０８に進む。
【００６０】
Ｓ７０８で、図３（ａ）の示す画面遷移情報から、トレイが開状態を示すので、画面ＩＤ５０１における”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”の画面に遷移し、Ｓ７０９にて、機器状態管理部２０９は”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”に遷移することを決定する。Ｓ７１０で、画面ＩＤ５０１における”ＳＣ＿ＴｒａｙＯｐｅｎｅｄ”の画面が、画面キャッシュ１１４に格納されているので、Ｓ７１２に進む。Ｓ７１２で、画面キャッシュ１１４から画面データ２１０を取得し、タッチパネル１０７や出力装置１０８に出力する。
【００６１】
以上のように、実施形態１では画面に表示されるデザインインディケータをキャッシュにロードするキャッシュ生成部および機器の状態を管理する機器状態管理部を備える構成をとる。この構成により、機器の状態に応じて表示されるタイミングを決定する、画面のデザインデータを、画面が表示される可能性が高いときに先読みすることが可能となる。
【００６２】
＜実施形態２＞
実施形態１では、機器の状態に応じてキャッシュする画面を決定する方法について説明した。実施形態１では、キャッシュする画面を決定するアルゴリズムがＧＵＩアプリケーション内で定義されている。キャッシュする画面を決定する最適なアルゴリズムは、ＧＵＩアプリケーションが動作する印刷装置の処理速度や、印刷装置に付属した機器の構成によって異なる。実施形態１では、ＧＵＩアプリケーションを変更せず、キャッシュする画面を決定するアルゴリズムのみを変更したい場合でも、ＧＵＩアプリケーションの変更が必要となってしまう。これは印刷装置の開発コストを増大する原因となる。そこで、実施形態２では、キャッシュする画面を決定するアルゴリズムをＧＵＩアプリケーションから切り離し、フローの中で判定した内容をテーブル化する構成例について説明する。
【００６３】
実施形態２のシステム起動時の処理手順は、図２のフローチャートに示される。実施形態２の画面を表示している間の処理手順は、図４のフローチャートに示される。図１１（ａ）は、実施形態２の全体システム構成の図である。１０１から１１５に示す要素は、それぞれ図１で説明したとおりであるので、説明を省略する。この実施形態の新たな要素として、キャッシュ指示テーブル１４０１がある。
【００６４】
図１１（ｂ）は、新たに加わったキャッシュ指示テーブル１４０１と、図１で説明したプログラムコードなどの構成要素とがどのような関係にあるかを示す。２０１から２１０の各要素は、それぞれ図２で説明したとおりなので、説明を省略する。
【００６５】
キャッシュ生成部２０７は、画面定義ファイル１１２と、機器状態管理部２０９から取得する機器状態１１５とキャッシュ指示テーブル１４０１とを参照して、画面データ２１０を画面キャッシュ１１４に格納する。キャッシュ指示テーブル１４０１は、キャッシュ画面に格納する画面を決定するアルゴリズムの集合である。
【００６６】
図１２は、キャッシュ指示テーブル１４０１の構成内容を示す。キャッシュ指示テーブル１４０１は、複数のキャッシュ指示から構成されている。図１２に示すように、出力中の表示画面の条件である出力中画面条件１６０１に、機器状態条件１６０２に示されたパラメータの値を取得するように指定されている。そして、このパラメータの値が、機器状態条件１６０２を見たす場合に、これに対応するキャッシュ対象画面１６０３を画面キャッシュに格納する。
【００６７】
出力中画面条件１６０１が示す画面は、出力部２０６が出力しているときのみ画面がキャッシュされる。また、機器状態条件１６０２が満たされているときのみ、画面キャッシュ１１４に画面データ２１０がキャッシュされる。キャッシュ対象画面１６０３は、出力中画面条件１６０１が出力されていて、かつ、機器状態条件１６０２が満たされているときに、画面キャッシュ１１４にキャッシュされる画面の識別タグを示す。
【００６８】
キャッシュ指示１６０４は、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”が、画面キャッシュ１１４に格納されることを示す。このキャッシュ指示が有効になるのは、出力中画面条件１６０１における”ＳＣ＿Ｐｒｉｎｔｉｎｇ”が出力されており、かつ、機器状態条件１６０２”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”が満たされているときに限る。
【００６９】
図１３は、図７のＳ７０４におけるキャッシュ生成の実施形態２での処理の詳細を示したフローチャートである。Ｓ１７０２で、キャッシュ生成部２０７は、キャッシュ指示テーブル１４０１に含まれるキャッシュ指示の数だけ、Ｓ１７０３からＳ１７０５を繰り返す。
【００７０】
Ｓ１７０３で、キャッシュ生成部２０７は、Ｓ１７０２で取得したキャッシュ指示に含まれる出力中画面条件１６０１、機器状態条件１６０２、およびキャッシュ対象画面１６０３を取得する。
【００７１】
Ｓ１７０４で、キャッシュ生成部２０７は、Ｓ１７０３で取得した出力中画面条件１６０１が示す画面を出力部２０６が出力しているかどうかを判定する。出力していればＳ１７０６に進み、出力していなければＳ１７０５に進む。Ｓ１７０５で、全てのキャッシュ指示に対して処理を終えるとＳ１７０８に進み、本シーケンスを終了する。
【００７２】
Ｓ１７０６で、キャッシュ生成部２０７は、機器状態１１５に基づいてＳ１７０３で取得した機器状態条件が満たされているかどうかを判定する。満たされていればＳ１７０７に進み、満たされていなければＳ１７０５に進む。Ｓ１７０７で、キャッシュ生成部２０７は、Ｓ１７０３で取得したキャッシュ対象画面１６０３が示す画面を画面キャッシュに格納すると、Ｓ１７０８に進み、本シーケンスを終了する。
【００７３】
図４および図１３に示すフローチャートに従って生成された画面と画面キャッシュ１１４とのデータ構成図は、図７に示したデータ構成図と同様である。画面と画面キャッシュ１１４は、図３（ａ）に示す画面遷移情報１１３と図３（ｂ）に示す画面定義ファイル１１２、図５に示す機器状態１１５、および図１２に示すキャッシュ指示テーブル１４０１から生成されている。
【００７４】
画面ＩＤ５０１が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”である画面が出力部２０６に出力されている様子は、図７の（ａ）と同様である。また、画面キャッシュ１１４に画面ＩＤ５０１が”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”である画面が格納されている様子は、図７の（ｂ）と同様である。
【００７５】
この画面に係る動作を図１３のフローチャートを用いて説明する。Ｓ１７０３で、出力中画面条件１６０１”ＳＣ＿Ｐｒｉｎｔｉｎｇ”、機器状態条件１６０２”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”、キャッシュ対象画面１６０３”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”を取得する。Ｓ１７０４で出力中の画面が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”であるためＳ１７０６に進む。
【００７６】
Ｓ１７０６で、図８の示す機器状態１１５から機器状態条件１６０２”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”が満たされていると判断してＳ１７０７に進む。Ｓ１７０７で、キャッシュ対象画面１６０３”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”が示す画面を画面キャッシュ１１４に格納する。
【００７７】
以上に述べたように、実施形態２では、キャッシュ指示テーブルを備えることで、キャッシュする画面を決定するアルゴリズムを外部からのイベント通知などのＧＵＩアプリケーションから独立させ、フローの中で判定した内容をテーブル化する。これにより、ＧＵＩアプリケーションを変更せず、キャッシュする画面を決定するアルゴリズムのみを変更することが可能となる。
【００７８】
＜実施形態３＞
これまでの実施形態では、機器の状態に応じてキャッシュする画面を決定する方法について説明した。しかし、キャッシュされる画面の候補が複数個あり、かつ、画面キャッシュ１１４の格納容量が少なく、全データ量を画面キャッシュ１１４に格納できない場合がある。特に、機器に搭載されるメモリの格納容量は、開発コストを抑えるために、なるべく小さくする必要がある。そのため、メモリの一部を利用する画面キャッシュの格納容量も少ない場合がある。
【００７９】
従って、実施形態３では、キャッシュされる画面の候補が複数個存在し、かつ、画面キャッシュ１１４の容量が少ない場合に、キャッシュ指示テーブル１４０１に格納された優先度情報に基づき、キャッシュする画面を決定する。実施形態３のシステム起動時の処理手順は、図２のフローチャートに示される。また実施形態３の画面を表示している間の処理手順は、図７のフローチャートに示される。
【００８０】
図１４は、実施形態３におけるキャッシュ指示テーブル１４０１の構成内容を示す図である。キャッシュ優先度１９０１は、第１のキャッシュ指示と第２のキャッシュ指示のうち、どちらのキャッシュ指示のキャッシュ対象画面１６０３を画面キャッシュ１１４に優先して格納するかを決定する。キャッシュ優先度１９０１は、ここでは、数が少ないほど優先度が高いと仮定する。
【００８１】
図１５は、図４のＳ７０５におけるキャッシュ生成の実施形態３での処理の詳細を示したフローチャートである。Ｓ２００１からＳ２００６が示す処理は、それぞれ既に説明をしたＳ１７０１からＳ１７０６が示す処理と同じなので説明を省略する。
【００８２】
Ｓ２００７で、キャッシュ生成部２０７は、キャッシュ対象画面１６０３とキャッシュ優先度１９０１とを取得する。Ｓ２００８で、キャッシュ生成部２０７は、Ｓ２００７で取得したキャッシュ対象画面１６０３の数だけ、キャッシュ優先度１９０１が示す優先度が高い順番に、Ｓ２００９からＳ２０１１までの処理を繰り返す（Ｓ２００５）。
【００８３】
Ｓ２００９で、キャッシュ生成部２０７は、画面キャッシュ１１４にＳ２００８で取得したキャッシュ対象画面１６０３が示す画面データ２１０を格納できるか判定する。格納できる場合には、Ｓ２０１０に進む。格納できない場合には、Ｓ２０１２に進み、本シーケンスを終了する。
【００８４】
Ｓ２０１０で、キャッシュ生成部２０７は、画面キャッシュ１１４に、Ｓ２００８で取得したキャッシュ対象画面１６０３の示す画面データ２１０を格納する。Ｓ２０１１で、キャッシュ生成部２０７は、全てのＳ２００７で取得したキャッシュ対象画面１６０３の数だけ処理を行うと、Ｓ２０１２に進み、本シーケンスを終了する。
【００８５】
図１６は、これまでの図５と図８が示す機器状態１１５とは異なる機器状態を示している。図４および図１５に示すフローチャートによって生成された画面と画面キャッシュ１１４とのデータ構成図は、図７と同様である。画面と画面キャッシュ１１４は、図３（ａ）に示す画面遷移情報、図３（ｂ）に示す画面定義ファイル、図１６に示す機器状態、および図１４に示すキャッシュ指示テーブル１４０１に従って生成される。
【００８６】
いま、画面キャッシュ１１４には、一画面分の画面データ２１０しか格納できないと仮定する。画面ＩＤ５０１が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”である画面が、出力部２０６に出力されている様子は、図７（ａ）と同様である。画面キャッシュ１１４に、画面ＩＤ５０１が”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”である画面が格納されている図７（ｂ）と同様である。
【００８７】
Ｓ２００３で、出力中画面条件１６０１における”ＳＣ＿Ｐｒｉｎｔｉｎｇ”、機器状態条件１６０２において”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”、キャッシュ優先度１９０１の”１”を取得する。Ｓ２００４で、出力中の画面が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”であるためＳ２００６に進む。Ｓ２００６で、図１６の示す機器状態１１５から機器状態条件１６０２における”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”が満たされていると判断してＳ２００７に進む。Ｓ２００７で、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”とキャッシュ優先度１９０１における”１”を取得すると、Ｓ２００２に戻る。
【００８８】
Ｓ２００３で、出力中画面条件１６０１における”ＳＣ＿Ｐｒｉｎｔｉｎｇ”、機器状態条件１６０２における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ＜＝５０”する。また、キャッシュ対象画面における１６０３”ＳＣ＿Ｐａｐｅｒ”、キャッシュ優先度における１９０１の”２”を取得する。Ｓ２００４で、出力中の画面が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”であるためＳ２００６に進む。Ｓ２００６で、機器状態１１５から図１２の機器状態条件１６０２における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ＜＝５０”が満たされていると判断してＳ２００７に進む。Ｓ２００７で、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＰａｐｅｒ”とキャッシュ優先度１９０１の優先度”２”を取得する。
【００８９】
Ｓ２００８で、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＰａｐｅｒ”とキャッシュ優先度１９０１の数字が小さい順序で、Ｓ２００９からＳ２０１０までを繰り返す。Ｓ２００９で、画面キャッシュに画面データ２１０を格納できるためＳ２０１０に進む。Ｓ２０１０で、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”を画面キャッシュ１１４に格納する。Ｓ２００９で、画面キャッシュに画面データ２１０を格納できないため、Ｓ２０１２に進み、シーケンスを終了する。
【００９０】
以上のように、キャッシュされる画面の候補が複数あり、かつ画面キャッシュの容量が少ない場合、予め設定した優先度情報に従って、画面キャッシュに画面を格納することにより、より確実に画面の先読みをすることが可能となる。
【００９１】
＜実施形態４＞
実施形態３では、キャッシュ指示テーブル１４０１に格納された優先度情報に基づき、キャッシュする画面を決定していた。優先度情報は、予め設定されており一定となるため、機器状態条件を満たす画面が複数ある場合、優先度の低い一方の画面は常にキャッシュされない。そのため、優先度の低い一方の画面は常に高速に出力することができない。
【００９２】
これに対して、実施形態４では、キャッシュされる画面の候補が複数個あり、かつ画面キャッシュ１１４の容量が少ない場合に、時系列で機器状態をメモリに格納し、機器状態が変動した履歴に基づきキャッシュする画面を決定する例について述べる。
【００９３】
実施形態４のシステム起動時の処理手順は、図２のフローチャートに示される。また、実施形態４の画面を表示している間の処理手順は、図４のフローチャートに示される。図１７（ａ）は、実施形態４の全体システムの構成を示す図である。１０１から１１６の各要素については、実施形態１で既に説明し、また１４０１の要素については、実施形態２において説明したので、説明を省略する。
【００９４】
実施形態４における新たな要素として、機器状態履歴２３０１がある。図１７（ｂ）は、新たに加わった機器状態履歴２３０１と、図１で説明したプログラムコードなどの構成要素や、図１１（ｂ）で追加したキャッシュ指示テーブル１４０１が、どのような関係にあるかを示す。２０１から２１０の各要素は、実施形態１で説明したとおり、また、キャッシュ指示テーブル１４０１は、実施形態２で説明したので説明を省略する。
【００９５】
キャッシュ生成部２０７は、画面定義ファイル１１２と、機器状態管理部２０９から取得する機器状態１１５と、キャッシュ指示テーブル１４０１と、機器状態履歴２３０１とに基づいて画面データ２１０を取得する。そして、その画面データを画面キャッシュ１１４に格納する。機器状態履歴２３０１は、機器状態１１５の履歴を表す。
【００９６】
図１８は、図４のＳ７０４におけるキャッシュ生成の実施形態４での処理の詳細を示すフローチャートである。Ｓ２５０１からＳ２５０６に示す処理は、それぞれＳ１７０１からＳ１７０６で説明した処理と同じであるので、説明を省略する。
【００９７】
Ｓ２５０７で、キャッシュ生成部２０７は、キャッシュ対象画面１６０３を取得し、さらに画面遷移情報１１３、機器状態１１５、機器状態履歴２３０１に基づいて、キャッシュ対象画面１６０３への遷移確率を求める。Ｓ２５０８で、キャッシュ生成部２０７は、Ｓ２５０７で取得したキャッシュ対象画面１６０３の数だけ、Ｓ２５０９からＳ２５１１までの処理を繰り返す。この繰り返す順序は、Ｓ２５０７で求めたキャッシュ対象画面１６０３への遷移確率の値が大きい順に繰り返す。
【００９８】
Ｓ２５０９からＳ２５１２が示す処理は、それぞれＳ２００９からＳ２０１２が示す処理と同じであるので、説明を省略する。図１９は、Ｓ２５０７で取得する機器状態履歴２３０１である。これらの機器状態履歴を示すパラメータは、時系列でパラメータ格納される。ここで、２６０１は、前回機器を操作した直後の機器状態１１５を示している。また、２６０２は前々回に機器を操作した直後の機器状態１１５を示している。これらの機器状態の変動量の例として、”Ｉｎｋ．Ｍａｇｅｎｔａ”については、状態の数値が３．５から２に減少しており、変動量が０．５であることがわかる。
【００９９】
図２０は、Ｓ２５０７に示すキャッシュ対象画面１６０３への遷移確率を求める処理の具体例を示すフロー図である。また、図４と図１８と図２０とに示すフローチャートに従って生成された画面と画面キャッシュ１１４のデータ構成の様子は、図９と同様である。生成された画面と画面キャッシュ１１４は、図３（ａ）に示す画面遷移情報、図３（ｂ）の示す画面定義ファイル、図１６の示す機器状態、および図１９に示す機器状態履歴２３０１に基づく。
【０１００】
画面キャッシュ１１４には、一画面分の画面データ２１０しか格納できないと仮定する。画面ＩＤ５０１が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”である画面が出力部２０６に出力されている様子は、図９（ａ）と同様である。また、画面キャッシュ１１４に画面ＩＤ５０１が”ＳＣ＿ＮｏＰａｐｅｒ”である画面が格納されている様子は、図９（ｂ）と同様である。
【０１０１】
Ｓ２５０３で、出力中画面条件１６０１”ＳＣ＿Ｐｒｉｎｔｉｎｇ”、機器状態条件１６０２における”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”を取得する。Ｓ２５０４では、出力中の画面が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”であるためＳ２５０６に進む。Ｓ２５０６では、図１６の示す機器状態１１５から機器状態条件１６０２における”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝５”が満たされていると判断して、Ｓ２５０７に進む。
【０１０２】
Ｓ２７０２で、いまＩｎｋ．Ｍａｇｅｎｔａの変動量が、”−１．５”であると、Ｓ２７０３で、Ｉｎｋ．Ｍａｇｅｎｔａの予測機器状態１は、”１．２５”と求められる。この場合には、Ｓ２７０４で、予測機器状態１が”１．２５”であるので、遷移条件４０３における”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝０”の条件を満たさない。従って、Ｓ２７０６に進む。
【０１０３】
また、Ｓ２７０６で、Ｉｎｋ．Ｍａｇｅｎｔａの予測機器状態２が、”０．５”である場合には、Ｓ２７０７で、予測機器状態２が”０．５”なので、遷移条件４０３における”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝０”の条件を満たさない。従って、Ｓ２７０９に進む。
【０１０４】
Ｓ２７０９で、Ｉｎｋ．Ｍａｇｅｎｔａの予測機器状態３を「前回印刷後の状態＋変動量＊２」の計算式を用いて計算する。前回印刷後の印刷用紙の状態の値が”２”で変動量が”−１．５”であったとすると、これらの値を計算式に代入して、予測機器状態３の予測値が”−１．０”となる。この場合には、Ｓ２７１０で、予測機器状態３が、”−１．０”であり、遷移条件４０３における”Ｉｎｋ．Ｍａｇｅｎｔａ＜＝０”の条件を満たすため、Ｓ２７１１に進む。そして、Ｓ２７１１で、キャッシュ対象画面１６０３”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”への遷移確率は”１”となる。
【０１０５】
図１８のフロー図のＳ２５０３で、出力中画面条件１６０１における”ＳＣ＿Ｐｒｉｎｔｉｎｇ”、機器状態条件１６０２における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ＜＝５０”、キャッシュ対象画面１６０３における”ＳＣ＿Ｐａｐｅｒ”を取得する。Ｓ２５０４で、出力中の画面が”ＳＣ＿Ｐｒｉｎｔｉｎｇ”であるため、Ｓ２５０６に進む。Ｓ２５０６で、図１６の示す機器状態１１５から機器状態条件１６０２における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ＜＝５０”が満たされていると判断して、Ｓ２５０７に進む。そして、キャッシュ対象画面への遷移確率を計算する。
【０１０６】
いま、Ｓ２７０１で、Ｐａｐｅｒ．Ｌｅｎｇｔｈのパラメータの変動量が”−６０”と求められたとする。Ｓ２７０３で、予め設定された計算式を用い、前回印刷後の状態を示すパラメータが”４０”であったとすると、Ｐａｐｅｒ．Ｌｅｎｇｔｈの予測機器状態１は、”１０”となる。このとき、Ｓ２７０４で、予測機器状態１が”１０”なので、遷移条件４０３における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ＜＝０”の条件を満たさないためＳ２７０６に進む。
【０１０７】
Ｓ２７０６で、Ｐａｐｅｒ．Ｌｅｎｇｔｈの予測機器状態２が、”−２０”であると、Ｓ２７０７で、予測機器状態２が、”−２０”であり、遷移条件４０３における”Ｐａｐｅｒ．Ｌｅｎｇｔｈ＜＝０”の条件を満たすため、Ｓ２７０８に進む。Ｓ２７０８で、キャッシュ対象画面１６０３”ＳＣ＿ＮｏＰａｐｅｒ”への遷移確率が”２”となる。
【０１０８】
Ｓ２５０８で、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＰａｐｅｒ”と、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ”、と遷移確率の大きい順で、Ｓ２５０９からＳ２５１０までを繰り返す。
【０１０９】
Ｓ２５０９で、画面キャッシュに画面データ２１０を格納できるため、Ｓ２５１０に進む。Ｓ２５１０で、キャッシュ対象画面１６０３における”ＳＣ＿ＮｏＰａｐｅｒ”を画面キャッシュ１１４に格納する。Ｓ２５０９で、画面キャッシュに、画面データ２１０を格納できないためＳ２５１２に進み、シーケンスを終了する。
【０１１０】
以上のように、キャッシュされる画面の候補が複数あり、かつ画面キャッシュの容量が少ない場合、機器状態の履歴に基づき機器状態の変動量を考慮する。これにより、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みすることが可能となる。
【０１１１】
＜実施形態５＞
実施形態１から実施形態４では、機器状態については、インク残量値や用紙の残枚数、ＣＤ／ＤＶＤ格納トレイの開閉状態を用いて説明した。実施形態５では、これに限らず、更に、機器をネットワークに接続するネットワークアダプタの状態や、機器に接続されているフラッシュメモリなど記憶装置の状態に基づいて画面キャッシュ１１４に格納する画面を決定する例を開示する。
【０１１２】
具体的には、出力部２０６が、別の機器に送信する画像の選択画面を表示しており、更に機器状態１１５は、ネットワークケーブルが外れていることを示すとする。この場合、キャッシュ生成部２０７は、ネットワークケーブルの挿入手順画面を画面キャッシュ１１４に格納することもできる。
【０１１３】
また出力部２０６はスキャン開始画面を表示しており、また機器状態１１５は、いま記憶装置の空き容量が少ないため、スキャン画像のデータを格納できないことを表示すると仮定する。この場合、キャッシュ生成部２０７は、記憶装置を外して異なる記憶装置と付け替える手順画面を画面キャッシュ１１４に格納しておいても良い。
【０１１４】
以上のように、機器をネットワークに接続するネットワークアダプタの状態や、機器に接続されているフラッシュメモリなど記憶装置の状態に基づいて、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みできる。
【０１１５】
＜実施形態６＞
実施形態１から実施形態４では実施形態として印刷装置を用いて説明したが、これに限らず、本発明は、撮影装置にも適用可能である。具体的には、機器状態１１５は、電池残量をモニターする機能を有し、その残量が少ないことを示す場合に、キャッシュ生成部２０７が、充電手順を示す画面を画面キャッシュ１１４に格納しておいても良い。
【０１１６】
また機器状態１１５が、撮影画像を保存する記憶装置の空き容量が少ないこと検知したと仮定する。このとき、キャッシュ生成部２０７は、記憶装置を外して異なる記憶装置と付け替える手順画面を画面キャッシュ１１４に格納することもできる。
【０１１７】
以上のように、印刷装置のみならず撮影装置機器についても、更に電池残量や記憶装置の状態に基づいて、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みすることが可能となる。
【０１１８】
＜実施形態７＞
実施形態１から実施形態５では実施形態として印刷装置を用いて説明したが、本発明は、これに限らず、投影装置にも適用可能である。具体的には、いま投影装置がランプの延べ使用期間をモニターする機能をもっていると仮定する。このとき機器状態１１５が、投影装置が備えるランプの延べ使用期間がランプの耐久時間に近いことを示す場合に、キャッシュ生成部２０７が、ランプの交換手順を示す画面を画面キャッシュ１１４に格納することができる。
【０１１９】
また、投影装置が投影装置内の温度をモニターする機能をもっていると仮定する。機器状態１１５が、投影装置内の温度が規定の値よりも高いことを検知した場合に、キャッシュ生成部２０７は、投影装置の電源を切り、冷却する手順を示す画面を画面キャッシュ１１４に格納することもできる。
【０１２０】
以上のように、印刷装置のみならず投影装置についても、更にランプ使用時間や内部温度の状態に基づいて、表示タイミングを決定する画面のデザインデータを、画面表示される可能性が高いときに先読みすることが可能となる。
【０１２１】
＜実施形態８＞
実施形態１から実施形態７に示した技術を用いると、機器状態がキャッシュする条件を満たした時点で画面データを画面キャッシュに格納することで、迅速に所望の画面を表示することができる。
【０１２２】
しかし、画面データが画面キャッシュに格納された後、ユーザが操作を行って別の画面を表示させた場合、画面キャッシュに格納した画面データは使われない。これは画面キャッシュの使用量の無駄な増大を招く。
【０１２３】
そこで、実施形態８においては、画面データが画面キャッシュに格納された後、ユーザの操作によって当該格納された画面データが表示される確率が下がった場合、その画面データを画面キャッシュから一時的に退避させる。これにより、画面キャッシュの使用量の増大を防ぐ。
【０１２４】
また、実施形態８においては、前記画面データが表示される確率が下がった後、再びその確率が上がった場合、退避させた画面データを画面キャッシュへ格納する。これにより、所望の画面を迅速に表示する。
【０１２５】
実施形態８においては、ユーザが操作を行う前に行われる可能性が高い動作である、操作開始前動作を検知することで、画面データが表示される確率を判定する。実施形態８においては、ユーザが操作開始前動作を行った場合に、その直後に操作が行われると判断し、機器状態の変化によって表示される画面データがキャッシュされる条件を満たしていても、その画面データを画面キャッシュに格納しない。また、操作開始前動作が行われた時点で機器状態の変化によって表示される画面データが画面キャッシュに格納されている場合、実施形態８においては、画面データを画面キャッシュから退避させる。
【０１２６】
ここで、操作開始前動作の例を挙げると、例えば、端末本体に収納可能なキーボードを有する電子辞書端末の場合、キーボードを引き出す動作が挙げられる。また、例えば、タッチパネルと、タッチパネルを操作するスタイラスとを備えた携帯型の端末の場合、ユーザがスタイラスをケースから取りだす動作が挙げられる。
【０１２７】
さらに、実施形態８においては、ユーザが操作を行った後に行われる可能性が高い動作である、操作終了後動作を検知することで、ユーザが操作を行う確率を判定する。ユーザが操作開始前動作を行った後、ユーザが操作終了後動作を行った場合は、機器状態の変化によって表示される画面データがキャッシュされる条件を満たしていたら、画面データを画面キャッシュに格納する。このとき、退避させた画面データを利用し、再び画面データを読みに行かない。その結果、キャッシュ処理を迅速に行なうことができる。
【０１２８】
また、ユーザが操作開始前動作を行った後、ユーザが操作終了後動作を行い、さらにその後に機器状態の変化によって表示される画面データがキャッシュされる条件を満たした場合、画面データを画面キャッシュに格納する。この結果、機器状態の変化によって表示される画面の表示を迅速に行うことができる。
【０１２９】
ここで、操作終了後動作の例を挙げると、例えば、端末本体に収納可能なキーボードを有する電子辞書端末の場合、キーボードを引き出した状態から元に戻す動作が挙げられる。また、例えば、タッチパネルと、タッチパネルを操作するスタイラスとを備えた携帯型の端末の場合、ユーザがスタイラスをケースから取り出した状態から元に戻す動作が挙げられる。
【０１３０】
さらに、実施形態８においては、上述した通り、画面キャッシュに画面データが格納されていない場合はユーザ操作によって表示される画面データを画面キャッシュに格納する。画面キャッシュに画面データが格納されていない場合は、画面データが画面キャッシュから退避されているときを含む。この結果、ユーザが操作を行ったときに表示される画面の表示を迅速に行うことができる。
【０１３１】
図２１は、実施形態８の情報処理装置の表示に関する全体構成を示す図である。１０１から１１６の各要素については、実施形態１で既に説明したので、その説明を省略する。また、１４０１の要素については、実施形態２において説明し、２３０１の要素については、実施形態４において説明したので、その説明を省略する。
【０１３２】
ここで、２８０１は動作センサである。動作センサ２８０１は、ユーザの動作３１０１を検知する。
【０１３３】
図２２は、実施形態８におけるデータフロー図である。２９０１はセンサ制御部である。センサ制御部２９０１は、動作センサ２８０１からユーザの動作（後述する図２５（ａ）の符号３１０１）を通知される。この通知は、動作センサ２８０１がユーザの動作３１０１を検知する度に行われる。
【０１３４】
センサ制御部２９０１は、ユーザの動作３１０１に基づいて、ユーザの動作３１０１が操作開始前動作であるか操作終了後動作であるかを示す動作種別（後述する図２５（ａ）の符号３１０３）を算出する。センサ制御部２９０１は、ユーザの動作３１０１、動作時刻（後述する図２５（ａ）の符号３１０２）、動作種別３１０３をユーザ動作履歴２９０２に格納する。動作時刻３１０２は、センサ制御部２９０１が動作センサ２８０１よりユーザの動作３１０１を通知された時刻である。
【０１３５】
キャッシュ生成部２０７は、ユーザ動作履歴２９０２に基づいて画面キャッシュ１１４に格納する画面データ２１０を決定する。
【０１３６】
２９０３は二次画面キャッシュである。二次画面キャッシュ２９０３は、例えば、外部記憶装置インタフェース１０９を介してアクセス可能な外部記憶装置で実現される。キャッシュ生成部２０７は、画面データ２１０が画面定義ファイル１１２に格納されている場合と、二次画面キャッシュ２９０３に格納されている場合とでは、後者のほうが画面データ２１０をより高速に画面キャッシュ１１４へ格納することができる。なお、画面キャッシュ１１４への読み出し／書き込み速度の方が、二次画面キャッシュ２９０３への読み出し／書き込み速度よりも速い。場合によっては、同じであっても良い。
【０１３７】
図２３は、図４のＳ７０４におけるキャッシュ生成の実施形態８での処理の詳細を示すフローチャートである。
【０１３８】
Ｓ３００２で、キャッシュ生成部２０７は、ユーザ動作履歴２９０２から、最後に行われたユーザの動作が操作開始前動作かを判定する。最後に行われた動作が操作開始前動作の場合はＳ３０１０へ進む。最後に行われた動作が操作開始前動作でない場合はＳ３００３へ進む。
【０１３９】
Ｓ３００３で、キャッシュ生成部２０７は、キャッシュ対象画面１６０３が指す画面データ２１０を画面キャッシュ１１４に格納する。Ｓ３００３の処理の詳細は図２４のフローチャートが示しているため、ここでは説明を省略する。
【０１４０】
Ｓ３００４で、キャッシュ生成部２０７は、画面遷移情報１１３を参照する。そして、イベント種別がユーザ操作である画面遷移イベント４０２が発生したときに表示される遷移先画面４０４を取得する。そして、遷移先画面４０４の数だけＳ３００５からＳ３００９までの処理を繰り返す。
【０１４１】
Ｓ３００５で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがあるか確認する。空きがある場合はＳ３０２７に進む。空きがない場合はＳ３０１７に進んで本シーケンスを終了する。
【０１４２】
Ｓ３０２７で、キャッシュ生成部２０７は、Ｓ３００３で取得した遷移先画面４０４の画面データ２１０が既に画面キャッシュにキャッシュ済みか調べる。キャッシュ済みの場合はＳ３００９に進む。キャッシュ済みでない場合はＳ３００６に進む。
【０１４３】
Ｓ３００６で、キャッシュ生成部２０７は、Ｓ３００３で取得した遷移先画面４０４の画面データ２１０が二次画面キャッシュ２９０３に格納されているか調べる。格納されている場合はＳ３００７に進む。格納されていない場合はＳ３００８に進む。
【０１４４】
Ｓ３００７で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に格納されている遷移先画面４０４の画面データ２１０を読み込み、その画面データ２１０を画面キャッシュ１１４に格納する。
【０１４５】
Ｓ３００８で、キャッシュ生成部２０７は、画面定義ファイル１１２に格納されている遷移先画面４０４の画面データ２１０を読み込み、その画面データ２１０を画面キャッシュ１１４に格納する。
【０１４６】
Ｓ３０１０で、キャッシュ生成部２０７は、イベント種別がユーザ操作である画面遷移イベント４０２が発生したときに表示される遷移先画面４０４を取得する。そして、取得した遷移先画面４０４の数だけＳ３０２８からＳ３０１６までの処理を繰り返す。
【０１４７】
Ｓ３０２８で、キャッシュ生成部２０７は、Ｓ３０１０で取得した遷移先画面４０４の画面データ２１０が既に画面キャッシュにキャッシュ済みか調べる。キャッシュ済みの場合はＳ３０１６に進む。キャッシュ済みでない場合はＳ３０１１に進む。
【０１４８】
Ｓ３０１１で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがあるか確認する。空きがある場合はＳ３０１３に進む。空きがない場合はＳ３０１２に進む。
【０１４９】
Ｓ３０１２で、キャッシュ生成部２０７は、画面キャッシュ１１４に格納された画面データ２１０のうち一つを、二次画面キャッシュ２９０３に格納する。これにより、画面キャッシュ１１４に空きができる。
【０１５０】
Ｓ３０１３で、キャッシュ生成部２０７は、Ｓ３０１０で取得した遷移先画面４０４の画面データ２１０が二次画面キャッシュ２９０３に格納されているか調べる。格納されている場合はＳ３０１４に進む。格納されていない場合はＳ３０１５に進む。
【０１５１】
Ｓ３０１４で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に格納されている遷移先画面４０４の画面データ２１０を読み込み、その画面データ２１０を画面キャッシュ１１４に格納する。
【０１５２】
Ｓ３０１５で、キャッシュ生成部２０７は、画面定義ファイル１１２に格納されている遷移先画面４０４の画面データ２１０を読み込み、その画面データ２１０を画面キャッシュ１１４に格納する。
【０１５３】
図２４は、図２３のＳ３００３におけるキャッシュ生成の処理の詳細を示すフローチャートである。Ｓ２５０１からＳ２５０７に示す処理は、図１８で説明した処理と同じであるので、説明を省略する。
【０１５４】
Ｓ３０１８で、キャッシュ生成部２０７は、Ｓ２５０６でキャッシュする条件を満たすと判断されたキャッシュ対象画面１６０３の数と、画面キャッシュ１１４に格納できる画面データ２１０の最大量のうち小さい値を、変数Ｎに格納する。
【０１５５】
Ｓ３０１９で、キャッシュ生成部２０７は、キャッシュ対象画面１６０３を、Ｓ２５０７で求めた遷移確率の値が大きいものから順にＮ回だけＳ３０２９からＳ３０２５までの処理を繰り返す。
【０１５６】
Ｓ３０２９で、キャッシュ生成部２０７は、キャッシュ対象画面１６０３の画面データ２１０が既に画面キャッシュにキャッシュ済みか調べる。キャッシュ済みの場合はＳ３０２５に進む。キャッシュ済みでない場合はＳ３０２０に進む。
【０１５７】
Ｓ３０２０で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがあるか確認する。空きがある場合はＳ３０２２に進む。空きがない場合はＳ３０２１に進む。
【０１５８】
Ｓ３０２１で、キャッシュ生成部２０７は、画面キャッシュ１１４に格納された画面データ２１０のうち一つを、二次画面キャッシュ２９０３に格納する。これにより、画面キャッシュ１１４に空きができる。
【０１５９】
Ｓ３０２２で、キャッシュ生成部２０７は、キャッシュ対象画面１６０３の画面データ２１０が二次画面キャッシュ２９０３に格納されているか調べる。格納されている場合はＳ３０２３に進む。格納されていない場合はＳ３０２４に進む。
【０１６０】
Ｓ３０２３で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に格納されているキャッシュ対象画面１６０３の画面データ２１０を読み込み、その画面データ２１０を画面キャッシュ１１４に格納する。
【０１６１】
Ｓ３０２４で、キャッシュ生成部２０７は、画面定義ファイル１１２に格納されているキャッシュ対象画面１６０３の画面データ２１０を読み込み、その画面データ２１０を画面キャッシュ１１４に格納する。
【０１６２】
図２５（ａ）は、実施形態８におけるユーザ動作履歴２９０２を示している。
【０１６３】
３１０１は、動作センサ２８０１が検知したユーザの動作を示している。３１０２は、ユーザの動作３１０１が起こった時刻を示す動作時刻である。動作時刻３１０２は、センサ制御部２９０１が動作センサ２８０１よりユーザの動作３１０１を通知された時刻に基づいて決定される。３１０３は、ユーザの動作３１０１が操作開始前動作か、あるいは操作終了後動作かを示す動作種別である。センサ制御部２９０１は、あらかじめ定められたユーザの動作３１０１と動作種別３１０３との対応表に基づいて、ユーザの動作３１０１から動作種別３１０３を決定する。
【０１６４】
図２５（ｂ）は、実施形態８における画面遷移情報１１３を示している。
【０１６５】
３１０４は、画面遷移イベント４０２の種別を表すイベント種別である。画面遷移イベント４０２がユーザの操作によって発生する場合、その画面遷移イベント４０２のイベント種別３１０４はユーザ操作である。一方、画面遷移イベント４０２が機器状態１１５の変化によって発生する場合、その画面遷移イベント４０２のイベント種別３１０４は機器状態変化である。
【０１６６】
図２５（ｃ）は、実施形態８におけるキャッシュ指示テーブル１４０１を示している。また、図２６（ａ）、図２６（ｂ）、図２６（ｃ）は、それぞれ実施形態８における機器状態履歴２３０１を示している。
【０１６７】
以下、実施形態８において、出力装置１０８の出力結果と画面キャッシュ１１４に格納された画面データ２１０とが、機器状態１１５とユーザの動作３１０１とに応じて変化する様子を説明する。ここでは、この動作について、図２５（ａ）が示すユーザ動作履歴２９０２、図２５（ｂ）が示す画面遷移情報１１３、図２５（ｃ）が示すキャッシュ指示テーブル１４０１を用いて説明する。また、説明に用いる画面キャッシュ１１４は、最大で二つの画面データ２１０を格納することができる。
【０１６８】
まず、機器状態履歴２３０１が図２６（ａ）の示す機器状態履歴２３０１、時刻２０１０／０１／０１  １０：００：００のときの出力装置１０８と画面キャッシュ１１４の様子を、図２７（ａ）に示す。時刻２０１０／０１／０１  １０：００：００は実施形態８が示すシステムが起動された直後の状態である。
【０１６９】
３１０５は、出力部２０６が出力装置１０８を介してユーザに出力しているＳＣ＿Ｐｒｉｎｔｉｎｇの画面データ２１０である。３１０６は、画面キャッシュ１１４に格納されたＳＣ＿Ｄｅｔａｉｌの画面データ２１０及びＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０である。
【０１７０】
以下、ＳＣ＿Ｄｅｔａｉｌの画面データ２１０とＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０とが画面キャッシュ１１４に格納される処理の流れを、図２３のフローチャートを用いて詳細に示す。
【０１７１】
時刻２０１０／０１／０１  １０：００：００の時点で、ユーザ動作履歴２９０２は空である。そのため、Ｓ３００２において、キャッシュ生成部２０７は、最後に行われたユーザの動作が操作開始前動作でないと判定し、Ｓ３００３へ進む。
【０１７２】
Ｓ３００３で、キャッシュ生成部２０７は、画面データ２１０を画面キャッシュ１１４に格納しない。なぜなら、図２５（ｃ）が示すキャッシュ指示テーブル１４０１の機器状態条件１６０２が全て満たされていないためである。
【０１７３】
Ｓ３００４で、キャッシュ生成部２０７は、ユーザ操作によって表示される画面データ２１０が、ＳＣ＿Ｄｅｔａｉｌの画面データ２１０とＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０との合計２つであると判定する。まずＳＣ＿Ｄｅｔａｉｌの画面データ２１０について、Ｓ３００５からＳ３００９までの処理を行う。
【０１７４】
Ｓ３００５で、キャッシュ生成部２０７は画面キャッシュ１１４に空きがあると判定する。
【０１７５】
Ｓ３０２７で、キャッシュ生成部２０７は画面キャッシュ１１４にＳＣ＿Ｄｅｔａｉｌの画面データ２１０が格納されていないと判定する。Ｓ３００６で、キャッシュ生成部２０７は二次画面キャッシュ２９０３にＳＣ＿Ｄｅｔａｉｌの画面データ２１０が格納されていないと判定する。Ｓ３００８で、キャッシュ生成部２０７は画面定義ファイル１１２のＳＣ＿Ｄｅｔａｉｌの画面データ２１０を画面キャッシュ１１４に格納する。次に、ＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０について、Ｓ３００５からＳ３００９までの処理を行う。
【０１７６】
Ｓ３００５で、キャッシュ生成部２０７は画面キャッシュ１１４に空きがあると判定する。Ｓ３０２７で、キャッシュ生成部２０７は画面キャッシュ１１４にＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０が格納されていないと判定する。Ｓ３００６で、キャッシュ生成部２０７は二次画面キャッシュ２９０３にＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０が格納されていないと判定する。Ｓ３００８で、キャッシュ生成部２０７は画面定義ファイル１１２のＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０を画面キャッシュ１１４に格納すると、図２３のフローチャートに示す処理を終了する。
【０１７７】
以上が、画面キャッシュ１１４にＳＣ＿Ｄｅｔａｉｌの画面データ２１０とＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０とが格納される処理の流れである。
【０１７８】
次に、機器状態履歴２３０１が図２６（ｂ）の示す機器状態履歴２３０１、時刻２０１０／０１／０１  １０：１０：０５のときの出力装置１０８、画面キャッシュ１１４、二次画面キャッシュ２９０３の様子を図２７（ｂ）に示す。
【０１７９】
３１０７は、画面キャッシュ１１４に格納されたＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０とＳＣ＿Ｄｅｔａｉｌの画面データ２１０とである。３１０８は、二次画面キャッシュ２９０３に退避されたＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０である。
【０１８０】
以下、画面キャッシュ１１４に３１０７が示す画面データ２１０が格納され、さらに二次画面キャッシュ２９０３に３１０８が示す画面データ２１０が退避される処理の流れを詳細に示す。
【０１８１】
時刻２０１０／０１／０１  １０：１０：０５の時点で、ユーザ動作履歴２９０２は空である。そのためＳ３００２において、キャッシュ生成部２０７は、最後に行われたユーザの動作が操作開始前動作でないと判定し、Ｓ３００３へ進む。
【０１８２】
Ｓ３００３で、キャッシュ生成部２０７は、ＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０を二次画面キャッシュ２９０３に退避させたうえで、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０を画面キャッシュ１１４に格納する。この仕組みを図２４のフローチャートを用いて説明する。
【０１８３】
キャッシュ生成部２０７は、Ｓ２５０２からＳ２５０５までの処理を実行することにより、キャッシュする条件を満たすキャッシュ対象画面１６０３がＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋのみであると判断する。また、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋであるキャッシュ対象画面１６０３に遷移する遷移確率が１であると計算する。
【０１８４】
Ｓ３０１８で、キャッシュ生成部２０７は変数Ｎの値が１であると計算する。Ｓ３０２９で、キャッシュ生成部２０７は画面キャッシュ１１４にＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０が格納されていないと判定する。Ｓ３０２０で、キャッシュ生成部２０７は画面キャッシュ１１４に空きがないと判定する。Ｓ３０２１で、キャッシュ生成部２０７は、画面キャッシュ１１４に格納されたＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０を二次画面キャッシュ２９０３に退避させる。
【０１８５】
Ｓ３０２２で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０が二次画面キャッシュ２９０３に格納されていないと判定する。Ｓ３０２４で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０を画面キャッシュ１１４に格納する。キャッシュ生成部２０７は、以上の処理を実行した後、Ｓ３００５で、画面キャッシュ１１４に空きがないと判断してＳ３０１７に進む。そして図２３のフローチャートに示す処理を終了する。
【０１８６】
以下、画面キャッシュ１１４に３１０７が示す画面データ２１０が格納され、さらに二次画面キャッシュ２９０３に３１０８が示す画面データ２１０が退避される処理の流れである。
【０１８７】
次に、機器状態履歴２３０１が図２６（ｃ）の示す機器状態履歴２３０１、時刻２０１０／０１／０１  １０：１０：０７のときの出力装置１０８、画面キャッシュ１１４、二次画面キャッシュ２９０３の様子を図２７（ｃ）に示す。
【０１８８】
３１０９は、画面キャッシュ１１４に格納されたＳＣ＿ＮｏＰａｐｅｒの画面データ２１０とＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０とである。３１１０は二次画面キャッシュ２９０３に格納されたＳＣ＿Ｄｅｔａｉｌの画面データ２１０とＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０である。
【０１８９】
以下、画面キャッシュ１１４に３１０９が示す画面データ２１０が格納され、さらに二次画面キャッシュ２９０３に３１１０が示す画面データ２１０が退避される処理を詳細に説明する。
【０１９０】
時刻２０１０／０１／０１  １０：１０：０７の時点で、ユーザ動作履歴２９０２は空である。そのため、Ｓ３００２において、キャッシュ生成部２０７は、最後に行われたユーザの動作が操作開始前動作でないと判定し、Ｓ３００３へ進む。
【０１９１】
Ｓ３００３で、キャッシュ生成部２０７は、機器状態条件１６０２が満たされているため、画面データ２１０を画面キャッシュ１１４に格納する。機器状態条件１６０２を満たすキャッシュ対象画面１６０３は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋ、ＳＣ＿ＮｏＹｅｌｌｏｗＩｎｋ、ＳＣ＿ＮｏＰａｐｅｒの３つがある。これらのうち、ＳＣ＿ＮｏＰａｐｅｒの画面データ２１０とＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０がキャッシュされる。また、ＳＣ＿Ｄｅｔａｉｌの画面データ２１０は二次画面キャッシュ２９０３に退避される。この仕組みを以下で述べる。
【０１９２】
図２４の示すフローチャートにおいて、まずＳ２５０７で、３つのキャッシュ対象画面１６０３への遷移確率を求める。図２０の示すフローチャートより、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの変動量は“−２．０”であり、遷移確率は２である。ＳＣ＿ＮｏＹｅｌｌｏｗＩｎｋの変動量は“−０．７”であり、遷移確率は１である。ＳＣ＿ＮｏＰａｐｅｒの変動量は“−８０”であり、遷移確率は３である。
【０１９３】
Ｓ３０１８で、キャッシュ生成部２０７は、変数Ｎの値を２であると計算する。Ｓ３０１９で、キャッシュ生成部２０７は、Ｓ３０２９以下の処理を２回実行する。まず遷移確率が３であるＳＣ＿ＮｏＰａｐｅｒの画面データ２１０に対してＳ３０２９以降の処理を行う。
【０１９４】
Ｓ３０２９で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＰａｐｅｒの画面データ２１０が画面キャッシュ１１４に格納されていないと判定する。Ｓ３０２０で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがないと判定する。Ｓ３０２１で、キャッシュ生成部２０７は、ＳＣ＿Ｄｅｔａｉｌの画面データ２１０を二次画面キャッシュ２９０３に退避させる。
【０１９５】
Ｓ３０２２で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＰａｐｅｒの画面データ２１０が二次画面キャッシュ２９０３に格納されていないと判定する。Ｓ３０２４で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＰａｐｅｒの画面データ２１０を画面キャッシュ１１４に格納する。
【０１９６】
次に、キャッシュ生成部２０７は、遷移確率が２であるＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０に対してＳ３０２９以降の処理を行う。
【０１９７】
Ｓ３０２９で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０が画面キャッシュ１１４に格納されていると判定する。Ｓ３０２５で、キャッシュ生成部２０７は、Ｓ３０１９からＳ３０２５までの処理を２回繰り返したため、Ｓ３０２６に進む。キャッシュ生成部２０７は、以上の処理を実行した後、Ｓ３００５で、画面キャッシュ１１４に空きがないと判断してＳ３０１７に進む。そして図２３に示すフローチャートを終了する。
【０１９８】
以上、画面キャッシュ１１４に３１０９が示す画面データ２１０が格納され、さらに二次画面キャッシュ２９０３に３１１０が示す画面データ２１０が退避される処理である。
【０１９９】
次に、機器状態履歴２３０１が図２６（ｃ）の示す機器状態履歴２３０１、時刻２０１０／０１／０１  １０：１０：１５のときの出力装置１０８と画面キャッシュ１１４の様子を図２７（ｄ）に示す。
【０２００】
３１１１は、画面キャッシュ１１４に格納されたＳＣ＿Ｄｅｔａｉｌの画面データ２１０とＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０である。３１１２は二次画面キャッシュ２９０３に退避されたＳＣ＿ＮｏＰａｐｅｒの画面データ２１０とＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０である。
【０２０１】
以下、画面キャッシュ１１４に画面データ２１０が格納され、さらに二次画面キャッシュ２９０３に画面データ２１０が退避される処理を詳細に説明する。
【０２０２】
時刻２０１０／０１／０１  １０：１０：１５の時点で、ユーザ動作履歴２９０２には動作種別３１０３が操作開始前動作であるユーザの動作３１０１のみが格納されている。そのためＳ３００２において、キャッシュ生成部２０７は、最後に行われたユーザの動作が操作開始前動作であると判定し、Ｓ３０１０へ進む。
【０２０３】
Ｓ３０１０で、キャッシュ生成部２０７は、遷移先画面４０４のうち、イベント種別３１０４がユーザ操作である画面遷移イベント４０２が発生したときに表示されるものを取得する。この場合、上記の条件を満たす遷移先画面４０４は、ＳＣ＿ＤｅｔａｉｌとＳＣ＿Ｃａｎｃｅｌｅｄである。キャッシュ生成部２０７は、まずＳＣ＿Ｄｅｔａｉｌの画面データ２１０に対してＳ３０２８以降の処理をおこなう。
【０２０４】
Ｓ３０２８で、キャッシュ生成部２０７は、ＳＣ＿Ｄｅｔａｉｌの画面データ２１０が画面キャッシュ１１４に格納されていないと判定する。Ｓ３０１１で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがないと判定する。Ｓ３０１２で、キャッシュ生成部２０７は、画面キャッシュ１１４に格納されたＳＣ＿ＮｏＰａｐｅｒの画面データ２１０を二次画面キャッシュ２９０３に退避させる。
【０２０５】
Ｓ３０１３で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３にＳＣ＿Ｄｅｔａｉｌの画面データ２１０が格納されていると判定する。Ｓ３０１４で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に退避したＳＣ＿Ｄｅｔａｉｌの画面データ２１０を、画面キャッシュ１１４に戻す。
【０２０６】
次に、キャッシュ生成部２０７は、ＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０に対してＳ３０２８以降の処理をおこなう。
【０２０７】
Ｓ３０２８で、キャッシュ生成部２０７は、ＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０が画面キャッシュ１１４に格納されていないと判定する。Ｓ３０１１で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがないと判定する。Ｓ３０１２で、キャッシュ生成部２０７は、画面キャッシュ１１４に格納されたＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０を二次画面キャッシュ２９０３に退避させる。
【０２０８】
Ｓ３０１３で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３にＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０が格納されていると判定する。Ｓ３０１４で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に退避したＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０を、画面キャッシュ１１４に戻すと、Ｓ３０１７に進む。そして図２３に示すフローチャートを終了する。
【０２０９】
以上、画面キャッシュ１１４に３１１１が示す画面データ２１０が格納され、さらに二次画面キャッシュ２９０３に３１１２が示す画面データ２１０が退避される処理である。
【０２１０】
最後に、機器状態履歴２３０１が図２６（ｃ）の示す機器状態履歴２３０１、時刻２０１０／０１／０１  １０：１０：２５のときの出力装置１０８、画面キャッシュ１１４、二次画面キャッシュ２９０３の様子を示す。この様子は図２７（ｃ）に等しい。
【０２１１】
以下、画面キャッシュ１１４に３１０９が示す画面データ２１０が格納され、二次画面キャッシュ２９０３に３１１０が示す画面データ２１０が格納される処理を詳細に示す。
【０２１２】
時刻２０１０／０１／０１  １０：１０：２５の時点で、ユーザ動作履歴２９０２には二つのユーザの動作３１０１が格納されている。二つのユーザの動作３１０１のうち最後に行なわれたユーザの動作３１０１の動作種別３１０３は、操作終了後動作である。そのため、Ｓ３００２において、キャッシュ生成部２０７は、最後に行われたユーザの動作３１０１が操作開始前動作でないと判定し、Ｓ３００３へ進む。
【０２１３】
Ｓ３００３で、キャッシュ生成部２０７は、機器状態条件１６０２が満たされているため、画面データ２１０を画面キャッシュ１１４に格納する。このとき、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に退避されたＳＣ＿ＮｏＰａｐｅｒの画面データ２１０とＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０を画面キャッシュ１１４に戻す。また、ＳＣ＿ＤｅｔａｉｌとＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０は二次画面キャッシュ２９０３に退避される。この仕組みの詳細を以下で述べる。
【０２１４】
まず、Ｓ２５０２からＳ３０１８の処理で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋへの遷移確率が２、ＳＣ＿ＮｏＹｅｌｌｏｗＩｎｋへの遷移確率が１、ＳＣ＿ＮｏＰａｐｅｒへの遷移確率が３であると計算する。Ｓ３０１８で、キャッシュ生成部２０７は、変数Ｎが２であると計算する。
【０２１５】
Ｓ３０１９で、キャッシュ生成部２０７は、まずＳＣ＿ＮｏＰａｐｅｒの画面データ２１０に対してＳ３０２９以下の処理を実行する。Ｓ３０２９で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＰａｐｅｒの画面データ２１０が画面キャッシュ１１４に格納されていないと判定する。
【０２１６】
Ｓ３０２０で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがないと判定する。Ｓ３０２１で、キャッシュ生成部２０７は、ＳＣ＿Ｄｅｔａｉｌの画面データ２１０を二次画面キャッシュ２９０３に退避させる。
【０２１７】
Ｓ３０２２で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＰａｐｅｒの画面データ２１０が二次画面キャッシュ２９０３に格納されていると判定する。Ｓ３０２３で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に退避させたＳＣ＿ＮｏＰａｐｅｒの画面データ２１０を画面キャッシュ１１４に戻す。
【０２１８】
次に、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０に対してＳ３０２９以下の処理を実行する。
【０２１９】
Ｓ３０２９で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０が画面キャッシュ１１４に格納されていないと判定する。Ｓ３０２０で、キャッシュ生成部２０７は、画面キャッシュ１１４に空きがないと判定する。
【０２２０】
Ｓ３０２１で、キャッシュ生成部２０７は、ＳＣ＿Ｃａｎｃｅｌｅｄの画面データ２１０を二次画面キャッシュ２９０３に退避させる。Ｓ３０２２で、キャッシュ生成部２０７は、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０が二次画面キャッシュ２９０３に格納されていると判定する。
【０２２１】
Ｓ３０２３で、キャッシュ生成部２０７は、二次画面キャッシュ２９０３に退避させた、ＳＣ＿ＮｏＭａｇｅｎｔａＩｎｋの画面データ２１０を画面キャッシュ１１４に戻す。Ｓ３０２５で、キャッシュ生成部２０７は、Ｓ３０１９からＳ３０２５までの処理を２回繰り返したため、Ｓ３０２６に進む。キャッシュ生成部２０７は、以上の処理を実行した後、Ｓ３００５で、画面キャッシュ１１４に空きがないと判断してＳ３０１７に進む。そして図１３に示されたフローチャートを終了する。
【０２２２】
以上、画面キャッシュ１１４に３１０９が示す画面データ２１０が格納され、二次画面キャッシュ２９０３に３１１０が示す画面データ２１０が格納される処理である。
【０２２３】
以上のとおり、実施形態８は、ユーザの操作開始前動作があった場合に画面データを画面キャッシュから一時的に退避させる。そのため、当該画面キャッシュに格納された画面データが表示される確率が低い場合、画面キャッシュの使用量の増大を抑えることができる。この空いた領域はユーザが表示する可能性の高い画面のキャッシュに用いることができる。これにより、ユーザの操作時に画面を迅速に表示させることができる。これはユーザの操作待ち時間を減らす効果がある。
【０２２４】
また、ユーザの操作完了後動作があった場合には、退避させた画面データを画面キャッシュへ戻す。このとき、二次画面キャッシュに退避された画面データにアクセスすることで、キャッシュ処理をより高速に行なうことができる。処理を高速に行なうことでキャッシュ処理中に機器状態の変化が起こる確率が減る。そのため、機器状態が変化した場合に画面を迅速に表示させる確率が高まる。これは、ユーザの操作待ち時間を減らす効果がある。
【０２２５】
なお、Ｓ３００３やＳ３０１０の処理で、出力装置１０８へ頻繁に表示される画面データ２１０から順にそれ以降の処理を実行してもよい。また、Ｓ３０１２やＳ３０２１の処理で、頻繁に表示されない画面データ２１０から順に、二次画面キャッシュ２９０３へ退避させてもよい。
【０２２６】
これにより、画面キャッシュ１１４に格納された画面データ２１０が出力装置１０８の表示に用いられる確率が高まる。このことはユーザの操作待ち時間を減らす効果がある。
【０２２７】
また、頻繁に表示される順序はあらかじめ定めておいてもよいし、ユーザの操作履歴から順序を統計的に定めてもよい。ユーザの操作履歴から定めることで、頻繁に表示される画面データ２１０がユーザごとに異なる場合でも、画面キャッシュ１１４に格納された画面データ２１０が出力装置１０８の表示に用いられる確率が高まる。このことはユーザの操作待ち時間を減らす効果がある。
【０２２８】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005607556.tif 000002
【図２】
0005607556.tif 000003
【図３】
0005607556.tif 000004
【図４】
0005607556.tif 000005
【図５】
0005607556.tif 000006
【図６】
0005607556.tif 000007
【図７】
0005607556.tif 000008
【図８】
0005607556.tif 000009
【図９】
0005607556.tif 000010
【図１０】
0005607556.tif 000011
【図１１】
0005607556.tif 000012
【図１２】
0005607556.tif 000013
【図１３】
0005607556.tif 000014
【図１４】
0005607556.tif 000015
【図１５】
0005607556.tif 000016
【図１６】
0005607556.tif 000017
【図１７】
0005607556.tif 000018
【図１８】
0005607556.tif 000019
【図１９】
0005607556.tif 000020
【図２０】
0005607556.tif 000021
【図２１】
0005607556.tif 000022
【図２２】
0005607556.tif 000023
【図２３】
0005607556.tif 000024
【図２４】
0005607556.tif 000025
【図２５】
0005607556.tif 000026
【図２６】
0005607556.tif 000027
【図２７】
0005607556.tif 000028