(57)【特許請求の範囲】
【請求項１】
サーバ装置から各種データを受信してデータ処理するクライアントとしてのデータ処理装置であって、
任意の使用環境において当該データ処理装置でデータ処理を行う際に、当該データ処理装置における複数の使用環境別のデータを記憶する前記サーバ装置から、当該データ処理装置の現在の使用環境に対応するデータが送信されてきた場合には、そのデータを受信する受信手段と、
前記受信手段で受信したデータを当該使用環境に対応するキャッシュデータとしてキャッシュ記憶手段に記憶すると共に、その受信したデータに基づいてデータ処理を行うべく制御するデータ制御手段と、
任意の使用環境においてデータ処理を行う際は、当該使用環境に対応するデータが前記キャッシュ記憶手段にキャッシュデータとして予め記憶されていれば、前記サーバ装置から新たにデータを受信することなく、その予め記憶されたキャッシュデータを読み出してデータ処理を行う処理制御手段と、
を具備したことを特徴とするデータ装置。
【請求項２】
前記受信手段は、前記サーバ装置が当該データ処理装置の現在の使用環境を取得し、その取得した現在の使用環境に基づいて抽出されたデータを送信してきた際に、そのデータを当該データ処理装置における現在に使用環境に対応するデータとして受信する、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記処理制御手段は、前記データ処理の際に、そのデータ処理によるデータに対応するキャッシュデータが前記キャッシュ記憶手段に予め記憶されていなければ、新たなデータ処理を制御すると共に、その新たに処理されたデータを新たなキャッシュデータとして前記キャッシュ記憶手段に更新記憶させる、
ことを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記受信手段は、当該データ処理装置の現在の使用環境におけるデータを複数受信する際は、その使用環境での各データの使用頻度に応じた優先順位情報も受信し、
前記キャッシュ記憶手段の記憶を更新する際に、前記優先順位情報に基づいて削除すべきキャッシュデータを決定して削除して更新する更新制御手段と、
を更に具備したことを特徴とする請求項１〜３の何れかに記載のデータ処理装置。
【請求項５】
前記使用環境は、当該データ処理装置が使用される使用場所の環境、あるいは使用時間帯の環境であり、
前記受信手段は、前記サーバ装置において、当該データ処理装置の現在の使用場所、あるいは使用時間帯に適するように抽出されたデータを受信する、
ことを特徴とする請求項１〜４の何れかに記載のデータ処理装置。
【請求項６】
当該データ処理装置は、前記サーバ装置でのアプリケーション処理で生成された画面データを受信して表示画面に表示処理し、
前記受信手段は、前記サーバ装置から現在の使用環境における画面データを前記データとして受信し、
前記処理制御手段は、前記使用環境に対応する画面データが前記キャッシュ記憶手段にキャッシュデータとして予め記憶されていれば、その予め記憶されたキャッシュデータとしての画面データを読み出して前記表示画面に表示するよう制御する、
ようにしたことを特徴とする請求項１〜５の何れかに記載のデータ処理装置。
【請求項７】
クライアント装置に対して各種データを送信するサーバ装置としてのデータ処理装置であって、
前記クライアント装置で使用される各種使用環境別のデータをキャッシュデータとして記憶するキャッシュ記憶手段と、
前記クライアント装置からアクセスがあった際は、そのクライアント装置の現在の使用環境を取得する取得手段と、
前記取得手段で取得した現在の使用環境に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていれば、そのデータを前記クライアント装置へ送信することをせず、一方、前記取得手段で取得した現在の使用環境に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていなければ、前記クライアント装置の現在の使用環境に対応するデータを前記クライアント装置に送信する送信手段と、
を具備したことを特徴とするデータ処理装置。
【請求項８】
前記キャッシュ記憶手段は、前記各使用環境で過去に使用された複数のキャッシュデータを前記各使用環境毎に管理して記憶し、
前記送信手段は、前記取得手段で取得された現在の使用環境に対応する複数のデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていなければ、その複数のデータを前記クライアント装置に送信する、
ことを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
前記キャッシュ記憶手段は、前記各使用環境における複数のキャッシュデータの優先度情報を前記各使用環境毎に記憶し、
前記送信手段は、前記取得手段で取得された現在の使用環境に対応する複数のデータのキャッシュデータの優先度情報を送信する、
ことを特徴とする請求項７に記載のデータ処理装置。
【請求項１０】
前記使用環境は、前記クライアント装置が使用される使用場所の環境、あるいは使用時間帯の環境であり、
前記抽出手段は、前記クライアント装置の現在の使用場所、あるいは使用時間帯に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていなければ、前記クライアント装置の現在の使用環境に対応するデータを前記クライアント装置に送信する
ことを特徴とする請求項７〜９の何れかに記載のデータ処理装置。
【請求項１１】
サーバ装置から各種データを受信してデータ処理するクライアントとしてのデータ処理装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
任意の使用環境において当該データ処理装置でデータ処理を行う際に、当該データ処理装置における複数の使用環境別のデータを記憶する前記サーバ装置から、当該データ処理装置の現在の使用環境に対応するデータが送信されてきた場合には、そのデータを受信する受信手段、
前記受信手段で受信したデータを当該使用環境に対応するキャッシュデータとしてキャッシュ記憶手段に記憶すると共に、その受信したデータに基づいてデータ処理を行うべく制御するデータ制御手段、
任意の使用環境においてデータ処理を行う際は、当該使用環境に対応するデータが前記キャッシュ記憶手段にキャッシュデータとして予め記憶されていれば、前記サーバ装置から新たにデータを受信することなく、その予め記憶されたキャッシュデータを読み出してデータ処理を行う処理制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【請求項１２】
クライアント装置に対して各種データを送信するサーバ装置としてのデータ処理装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
前記クライアント装置で使用される各種使用環境別のデータをキャッシュデータとして記憶するキャッシュ記憶手段、
前記クライアント装置からアクセスがあった際は、そのクライアント装置の現在の使用環境を取得する取得手段、
前記取得手段で取得した現在の使用環境に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていれば、そのデータを前記クライアント装置へ送信することをせず、一方、前記取得手段で取得した現在の使用環境に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていなければ、前記クライアント装置の現在の使用環境に対応するデータを前記クライアント装置に送信する送信手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュデータを記憶するデータ処理装置およびプログラムに関する。  
【背景技術】
【０００２】
サーバベースコンピューティングシステムにおいては、サーバ装置はクライアント装置用のアプリケーションプログラムを実行して表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等の記憶装置が不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。
【０００３】
しかし、クライアント装置は、サーバ装置から送信される画面の表示データを待つため、頻繁に表示される画面データがクライアント装置のメモリ上のキャッシュに無い場合、画面の表示に通常より長い時間がかかっていた。そこで、クライアント装置またはサーバ装置から頻繁に使用される画面をクライアント装置のキャッシュに事前に登録し、登録した画面はクライアント装置のキャッシュから削除されないようにキャッシュを管理することで、頻繁に使用される画面はクライアント装置のキャッシュから読み込むようにし、ネットワークのトラフィックを軽減して画面の表示の高速化を図っていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２５１３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、サーバ装置側でキャッシュ指定を行う画面データを画面単位で前もって選択してから登録しておく必要がある。そして、クライアント装置におけるキャッシュデータの削除処理を、サーバ装置側で設定した削除する、しないのフラグに従って行っていた。その結果、削除出来ないキャッシュデータが多い場合には、新たなキャッシュデータを登録しづらくなり、削除できるキャッシュデータが多い場合には、メモリ確保のためのキャッシュ削除後に、使用できるキャッシュデータが少なくなってしまうので、キャッシュの利用効率が悪いといった問題があった。
【０００６】
特に、Ｗｅｂページを閲覧するためのアプリケーションプログラムの実行においては、様々なＵＲＬ（Uniform Resource Locator）を参照して様々な画面データを表示するので、このような頻繁に変化する画面データを限られたメモリ容量内で効率よく自動的にキャッシュし、効率よくキャッシュデータを利用して表示を高速化することが求められていた。
【０００７】
また、クライアント装置には携帯型のものがあり、使用者がクライアント装置を持って様々な場所に移動して、例えば午前中は本社でＡ業務とＢ業務、午後は支社に移動してＣ業務というように様々な業務に使用することがあるが、このような利用形態においてもキャッシュデータがヒットする確率を上げることが求められていた。
【０００８】
本発明の目的は、キャッシュデータを効率的に使用してクライアント装置でのデータ処理を高速化することである。
【課題を解決するための手段】
【０００９】
請求項1記載の発明は、サーバ装置から各種データを受信してデータ処理するクライアントとしてのデータ処理装置であって、任意の使用環境において当該データ処理装置でデータ処理を行う際に、当該データ処理装置における複数の使用環境別のデータを記憶する前記サーバ装置から、当該データ処理装置の現在の使用環境に対応するデータが送信されてきた場合には、そのデータを受信する受信手段と、前記受信手段で受信したデータを当該使用環境に対応するキャッシュデータとしてキャッシュ記憶手段に記憶すると共に、その受信したデータに基づいてデータ処理を行うべく制御するデータ制御手段と、任意の使用環境においてデータ処理を行う際は、当該使用環境に対応するデータが前記キャッシュ記憶手段にキャッシュデータとして予め記憶されていれば、前記サーバ装置から新たにデータを受信することなく、その予め記憶されたキャッシュデータを読み出してデータ処理を行う処理制御手段と、を具備したことを特徴とする。
【００１１】
請求項７記載の発明は、クライアント装置に対して各種データを送信するサーバ装置としてのデータ処理装置であって、前記クライアント装置で使用される各種使用環境別のデータをキャッシュデータとして記憶するキャッシュ記憶手段と、前記クライアント装置からアクセスがあった際は、そのクライアント装置の現在の使用環境を取得する取得手段と、  前記取得手段で取得した現在の使用環境に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていれば、そのデータを前記クライアント装置へ送信することをせず、一方、前記取得手段で取得した現在の使用環境に対応するデータのキャッシュデータが前記キャッシュ記憶手段に記憶されていなければ、前記クライアント装置の現在の使用環境に対応するデータを前記クライアント装置に送信する送信手段と、を具備したことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、データ処理装置での処理の高速化が可能となると共に、キャッシュデータを効率的に使用することが可能となる。  
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図。
【図２】本実施形態に係るサーバ装置１の主要部構成を示すブロック図。
【図３】本実施形態に係るクライアント装置２の主要部構成を示すブロック図。
【図４】サーバ装置１のＲＡＭ１４、及びクライアント装置２のＲＡＭ２４に記憶される時間帯テーブルの一例を示す図。
【図５】サーバ装置１のＲＡＭ１４、及びクライアント装置２のＲＡＭ２４に記憶される画面キャッシュ１４ｂ、２４ｂの一例を示す図。
【図６】サーバ装置１のＲＡＭ１４に記憶される画面キャッシュ優先度テーブル１４ｃの一例を示す図。
【図７】クライアント装置２のＲＡＭ２４に記憶される画面キャッシュ優先度テーブル２４ｃの一例を示す図。
【図８】サーバ装置１の画面キャッシュ優先度テーブル準備処理における、画面キャッシュ優先度テーブル１４ｃの内容の一例を示す図。
【図９】サーバ装置１において実行される画面データ送信制御処理の詳細を示すフローチャート。
【図１０】サーバ装置１において実行されるサブルーチン「優先順位計算処理」の詳細を示すフローチャート。
【図１１】サーバ装置１において実行されるサブルーチン「画面データ送信処理」の詳細を示すフローチャート。
【図１２】サーバ装置１において実行されるキャッシュ削除処理の詳細を示すフローチャート。
【図１３】サーバ装置１において実行される画面キャッシュ優先度テーブル準備処理の詳細を示すフローチャート。
【図１４】クライアント装置２において実行される画面表示処理の詳細を示すフローチャート。
【図１５】クライアント装置２において実行されるサブルーチン「削除データ決定処理」の詳細を示すフローチャート。
【図１６】クライアント装置２において実行される場所時間帯変化対応処理の詳細を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下図面により本発明の実施の形態について説明する。まず、本実施形態における構成について説明する。
【００１９】
図１は、本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図である。
【００２０】
このサーバベースコンピューティングシステムは、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）からなるネットワーク３上に接続されたサーバ装置１および複数のクライアント装置２を備える。クライアント装置２はシンクライアント（thin client）とも呼ばれる。
【００２１】
サーバ装置１は、文書作成処理プログラム，表計算処理プログラム，プレゼン資料作成プログラム，メール処理プログラム，インターネット接続処理プログラム、Ｗｅｂブラウザなど、複数のアプリケーションプログラムを有し、当該サーバ装置１に接続されたクライアント装置２からの操作入力（入力イベント）信号に応じて起動しその処理を実行する。
【００２２】
このサーバ装置１において、クライアント装置２からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント装置２用のフレームバッファ１４ａのアクセス元のクライアント装置２用の領域上に生成された表示出力用の画面データは、圧縮処理された後アクセス元のクライアント装置２へ送信（転送）される。
【００２３】
そして、クライアント装置２では、前記サーバ装置１から転送された描画データがその圧縮を解凍されてフレームバッファ２５に展開され、表示部に表示される。つまり、このサーバベースコンピューティングシステムにおける各クライアント装置２は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とＬＣＤ表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置１が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
【００２４】
図２は、本実施形態に係るサーバ装置１の主要部構成を示すブロック図である。サーバ装置１は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介してＲＯＭ１３、ＲＡＭ１４、フレームバッファＲＡＭ１５、表示装置１６が接続される。
【００２５】
また、ＣＰＵ１１には、バス１２を介してキーボード，マウスなどの入力装置１７、ハードディスクなどの外部記憶装置１８、クライアント装置２，…との通信Ｉ／Ｆ（インターフェイス）１９が接続される。
【００２６】
ＣＰＵ１１は、ＲＯＭ１３に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１４を作業用メモリとし回路各部の動作を制御するもので、入力装置１７からのキー入力信号や通信Ｉ／Ｆ１９を介して受信されるクライアント装置２からのユーザ操作（入力イベント）に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
【００２７】
このサーバ装置１において、クライアント装置２からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶装置１８に記憶され、また表示用の画面データは、ＲＡＭ１４内の端末用フレームバッファ１４ａを使用してクライアント装置２別に生成されると共に、圧縮処理された後、通信Ｉ／Ｆ１９からアクセス元のクライアント装置２へ転送されて表示出力される。
【００２８】
なお、当該サーバ装置１自身の表示装置１６にて表示させるための描画データは、フレームバッファＲＡＭ１５上に生成される。
【００２９】
クライアント装置２における画面構成部品データの表示を高速化するために、ＲＡＭ１４内に画面キャッシュ１４ｂと画面キャッシュ優先度テーブル１４ｃとを収納する。
【００３０】
図３は、本実施形態に係るクライアント装置２の主要部構成を示すブロック図である。クライアント装置２は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介してＲＯＭ２３、ＲＡＭ２４、フレームバッファＲＡＭ２５が接続される。そして、このフレームバッファＲＡＭ２５に書き込まれた画面データが表示装置２６に出力されて表示される。
【００３１】
また、ＣＰＵ２１には、バス２２を介してキーボード，マウス，マイク，光センサなどの入力装置２７、ハードディスクなどの外部記憶装置２８、前記サーバ装置１との通信Ｉ／Ｆ（インターフェイス）２９が接続される。さらに、ＲＦＩＤ読取装置３０を備え、クライアント装置２が使用される場所における場所情報を、クライアント装置２を使用する場所にＲＦＩＤ（Radio Frequency Identification）のタグをおいておき、そのタグをクライアント装置２のＲＦＩＤ読取装置３０が認識して取得することにより場所の特定を行う。
【００３２】
ＣＰＵ２１は、ＲＯＭ２３に予め記憶されているシステムプログラムに従ってＲＡＭ２４を作業用メモリとし回路各部の動作を制御するもので、入力装置２７からのキー入力信号や通信Ｉ／Ｆ２９を介して受信されるサーバ装置１からのアプリケーション応答信号，転送描画データなどに応じて前記システムプログラムが起動され実行される。
【００３３】
このクライアント装置２において、前記サーバ装置１におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置２８に読み込ませて記憶させ、また生成転送された表示用の画面データは、その圧縮が解凍された後に、フレームバッファＲＡＭ２５に書き込まれ表示装置２６に表示出力される。
【００３４】
通常の場合、１画面に表示する画面データは、複数の画面構成部品データから構成されており、それぞれの画面構成部品データ毎に表示する。
【００３５】
クライアント装置２における画面構成部品データの表示を高速化するために、ＲＡＭ２４内に画面キャッシュ２４ｂと画面キャッシュ優先度テーブル２４ｃとを収納する。クライアント装置２の画面キャッシュ２４ｂは、サーバ装置１の画面キャッシュ１４ｂと同期を取るように管理される。クライアント装置２の画面キャッシュ２４ｂの大きさは、クライアント装置２の利用状況に合わせて予め設定しておく。
【００３６】
次に、本実施形態において使用するデータについて説明する。
【００３７】
図４は、サーバ装置１のＲＡＭ１４、及びクライアント装置２のＲＡＭ２４に記憶される時間帯テーブルの一例を示す図である。任意に設定した時間範囲毎に時間帯名が付されている。
【００３８】
図５は、サーバ装置１のＲＡＭ１４、及びクライアント装置２のＲＡＭ２４に記憶される画面構成部品データの画面キャッシュ１４ｂ、２４ｂの一例を示す図である。画面構成部品データ毎に画面構成部品データ（キャッシュデータ）を識別するための識別子を付し、識別子とキャッシュデータとは、ポインタによりリンクされている。サーバ装置１の画面キャッシュ１４ｂは、クライアント用フレームバッファＲＡＭ１４ａと同様にクライアント装置２別に管理される。
【００３９】
画面構成部品データの識別子は、例えばＭＤ5（Message Digest 5）のようなハッシュ関数を用いて、画面構成部品データを元に固定長の「ハッシュ値」を発生させてその画面構成部品データに固有の識別子とする。
【００４０】
まず、サーバ装置１が画面構成部品データを作成して画面キャッシュ１４ｂに登録し、クライアント装置２へ送信する。クライアント装置２が受信した画面構成部品データを画面キャッシュ２４ｂに登録する。登録した画面構成部品データの削除は、クライアント装置２の管理により削除する画面構成部品データを決定し、削除した画面構成部品データの識別子をサーバ装置１へ通知することにより、サーバ装置１側とクライアント装置２側の画面キャッシュの同期を取る。
【００４１】
図６は、サーバ装置１のＲＡＭ１４に記憶される画面キャッシュ優先度テーブル１４ｃの一例を示す図である。
【００４２】
時間帯と場所別に画面構成部品データの識別子であるハッシュ値が登録され、識別子毎に使用頻度と優先順位が記録される。（Ａ）は時間帯が「ＴｉｍｅＧ１」、場所名が「１００」に属する識別子、（Ｂ）は時間帯が「ＴｉｍｅＧ１」、場所名が「２００」に属する識別子、（Ｃ）は時間帯が「ＴｉｍｅＧ２」、場所名が「１００」に属する識別子、（Ｄ）は時間帯が「ＴｉｍｅＧ３」、場所名が「４００」に属する識別子、（Ｅ）は時間帯が「ＴｉｍｅＧ４」、場所名が「１００」に属する識別子、を示す。
【００４３】
図７は、クライアント装置２のＲＡＭ２４に記憶される画面キャッシュ優先度テーブル２４ｃの一例を示す図である。画面構成部品データの識別子であるハッシュ値が登録され、識別子毎に優先順位が記録される。
【００４４】
次に、本実施形態におけるサーバ装置１の動作について説明する。
【００４５】
図９は、サーバ装置１において実行される画面データ送信制御処理の詳細を示すフローチャートである。サーバ装置１が、画面キャッシュ１４ｂと画面キャッシュ優先度テーブル１４ｃとを使用して、作成した画面構成部品データをクライアント装置２へ送信するまでの手順を示している。
【００４６】
まず、ステップＳ０１では、サービス要求をしてきたクライアント装置２がＲＦＩＤ読取装置３０により取得した場所情報を、クライアント装置２より受信しておく。次に、作成した画面構成部品データの内、クライアント装置２へ送信すべき画面構成部品データがあるかどうかを判別する。送信すべき画面構成部品データが無くなると（ステップＳ０２：No）、画面データ送信制御処理を終了する。
【００４７】
クライアント装置２へ送信すべき画面構成部品データがある場合（ステップＳ０２：Yes）は、ステップＳ０３で、送信すべき画面構成部品データが既に画面キャッシュ１４ｂに存在するかどうかを確認する。
【００４８】
確認の結果、送信すべき画面構成部品データが画面構成部品データの画面キャッシュ１４ｂに存在しない場合（ステップＳ０３：No）には、送信すべき画面構成部品データに識別子を付加して画面構成部品データの画面キャッシュ１４ｂに登録し（ステップＳ０４）、送信すべき画面構成部品データが画面構成部品データの画面キャッシュ１４ｂに存在する場合（ステップＳ０３：Yes）には、次のステップに進む。
【００４９】
ステップＳ０５では、現在の時刻と図４の時間帯テーブルにより時間帯名を決定し、ステップＳ０１で取得した場所情報によりクライアント装置２の場所を決定する。
【００５０】
ステップＳ０６では、図６の画面キャッシュ優先度テーブル１４ｃにおける使用頻度を更新する。決定した場所と時間帯に該当し、送信すべき画面構成部品データの識別子が一致するデータの使用頻度の値に１を加算する。
【００５１】
次に、後述の優先順位計算処理サブルーチンにより図６の画面キャッシュ優先度テーブル１４ｃにおける優先順位を更新する（ステップＳ０７）。そして、後述の画面データ送信処理サブルーチンにより画面構成部品データ、識別子、優先順位または、識別子、優先順位をクライアント装置２へ送信し（ステップＳ０８）、ステップＳ０２へ戻って、ステップＳ０２以降の処理を繰り返す.
【００５２】
図１０は、サーバ装置１において実行されるサブルーチン「優先順位計算処理」の詳細を示すフローチャートである。
【００５３】
画面キャッシュ優先度テーブル１４ｃの例として、図６の（Ａ）を参照する。すなわち、クライアント装置２の場所が「１００」で時間帯名が「ＴｉｍｅＧ１」であり、識別子の値が「ハッシュ値１」、「ハッシュ値２」、「ハッシュ値３」、「ハッシュ値４」の順に並んだデータが優先順位計算処理の対象となるものとする。
【００５４】
まず、ステップＳ２１では、場所が「１００」で時間帯名が「ＴｉｍｅＧ１」のデータを抽出する。その結果、識別子の値が「ハッシュ値１」、「ハッシュ値２」、「ハッシュ値３」、「ハッシュ値４」の順に並んだデータが抽出される。
【００５５】
次に、抽出したデータの使用頻度の値を比較して、使用頻度の高い順にデータを並び替える（ステップＳ２２）。使用頻度の高い順に並んだデータに、１から昇順に優先順位を付加する（ステップＳ２３）。その結果、識別子の値が「ハッシュ値３」、「ハッシュ値１」、「ハッシュ値２」、「ハッシュ値４」の順に並ぶので、画面キャッシュ優先度テーブル１４ｃを更新する（ステップＳ２４）。
【００５６】
図１１は、サーバ装置１において実行されるサブルーチン「画面データ送信処理」の詳細を示すフローチャートである。まず、ステップＳ３１で、送信しようとする画面構成部品データが画面キャッシュ１４ｂに存在するかどうかを確認する。画面構成部品データが画面キャッシュ１４ｂに存在する場合（ステップＳ３１：Yes）には、識別子と優先順位だけをクライアント装置２へ送信する（ステップＳ３２）。
【００５７】
そして、画面構成部品データが画面キャッシュ１４ｂに存在しない場合には（ステップＳ３１：No）、画面構成部品データを圧縮して送信用の画面構成部品データに変換し（ステップＳ３３）、送信用の画面構成部品データに識別子と優先度とを付加してクライアント装置２へ送信するする（ステップＳ３４）。
【００５８】
サーバ装置１における画面キャッシュ１４ｂは、クライアント装置２の画面キャッシュ２４ｂと同様に登録するだけだと容量が不足してくるので、クライアント装置２の画面キャッシュ２４ｂと同期を取りながら不要なデータを削除する必要がある。
【００５９】
図１２は、サーバ装置１において実行されるキャッシュ削除処理の詳細を示すフローチャートである。サーバ装置１は、クライアント装置２から削除するキャッシュデータの識別子を受信したら（ステップＳ４１）、該当する識別子のキャッシュデータを検索して（ステップＳ４２）、画面キャッシュ１４ｂから該当する識別子のキャッシュデータを削除する（ステップＳ４３）。
【００６０】
これにより、クライアント装置２の画面キャッシュ２４ｂのキャッシュデータを削除するタイミングにあわせて、サーバ装置１の画面キャッシュ１４ｂが、クライアント装置２の画面キャッシュ２４ｂと同一内容に保たれる。画面キャッシュ優先度テーブル１４ｃの優先順位の決定方法として、当日分だけでなく前々日分と前日分とを反映させることもできる。
【００６１】
画面キャッシュ優先度テーブル準備処理は、最初の時間帯になる前にサーバ装置１が行う。これにより、前々日分と前日分のデータの使用頻度が当日の開始前に反映されるようになる。なお、前々日分と前日分に限らず、過去３日分、あるいは過去１週間分または過去１カ月分のデータを反映するようにしてもよい。
【００６２】
図１３は、サーバ装置１において実行される画面キャッシュ優先度テーブル準備処理の詳細を示すフローチャートである。
【００６３】
図８にこの処理で使用する、サーバ装置１の画面キャッシュ優先度テーブル準備処理における、画面キャッシュ優先度テーブル１４ｃの内容の一例を示す。すなわち、クライアント装置２の場所が「１００」で時間帯名が「ＴｉｍｅＧ１」であり、識別子の値が「ハッシュ値１」、「ハッシュ値２」、「ハッシュ値３」、「ハッシュ値４」の順に並んだデータが優先順位計算処理の対象となるものとする。
【００６４】
まず、画面キャッシュ優先度テーブル１４ｃの前日分のデータである図８の（Ａ）と前々日分のデータである図８の（Ｂ）とをワークメモリに読み込む（ステップＳ５１）。次に、前日分のデータと前々日分のデータの使用頻度を加算する。その結果、図８の（Ｃ）のデータになる（ステップＳ５３）。
【００６５】
ここで、使用頻度の多い順にデータを並び替え、並び替えた順序に従って優先順位を１から昇順に付加する。その結果、図８の（Ｄ）のデータになる（ステップＳ５５）。ステップＳ５２に戻り、ステップＳ５３〜Ｓ５５までの処理を残りの場所・時間帯がなくなるまで繰り返す。
【００６６】
次に、本実施形態におけるクライアント装置２の動作について説明する。
【００６７】
図１４は、クライアント装置２において実行される画面表示処理の詳細を示すフローチャートである。クライアント装置２が、サーバ装置１から画面構成部品データ、識別子、優先順位を受信して、画面キャッシュ２４ｂと画面キャッシュ優先度テーブル２４ｃとを使用して、画面構成部品データを表示するまでの手順を示している。
【００６８】
まず、ステップＣ０１では、サーバ装置１からの画面データの送信を待ち、送信された画面構成部品データ、識別子、優先順位を受信する。受信したデータが識別子と優先順位だけだった場合（ステップＣ０２：Yes）は、該当する識別子のキャッシュデータを画面キャッシュ２４ｂから抽出して（ステップＣ０３）、画面キャッシュ優先度テーブル２４ｃの使用頻度の値に１を加算して更新し（ステップＣ０４）、抽出したキャッシュデータをフレームバッファＲＡＭ２５に書き出して表示装置２６に表示する（ステップＣ０５）。
【００６９】
ステップＣ０２で、受信したデータが識別子と優先順位だけではない場合（ステップＣ１２：No）は、新たに登録すべき画面構成部品データを受信しているので、画面キャッシュ２４ｂに書き出すための空き領域があるかを確認する（ステップＣ０６）。
【００７０】
ステップＣ０６で、空き領域が無い場合（ステップＣ０６：No）は、領域を確保する必要があるので、後述の削除データ決定処理サブルーチンにより削除するキャッシュデータを決定し（ステップＣ０７）、削除を決定された優先度の低いキャッシュデータを識別子をキーとして画面キャッシュ２４ｂから削除する（ステップＣ０８）。
【００７１】
そして、サーバ装置１の画面キャッシュ１４ｂと同期を取るために、削除したキャッシュデータの識別子をサーバ装置１へ送信する（ステップＣ０９）。
【００７２】
次に、受信した画面構成部品データを解凍して識別子と共に画面キャッシュ２４ｂに登録し（ステップＣ１０）、識別子と優先順位を画面キャッシュ優先度テーブル２４ｄに記録（ステップＣ１１）した後、受信した画面構成部品データを表示装置２６に表示する（ステップＣ１２）。
【００７３】
ステップＣ０６で、空き領域が有る場合（ステップＣ０６：Yes）は、領域を確保する必要がないので、ステップＣ１０以降の処理を行う。
【００７４】
図１５は、クライアント装置２において実行されるサブルーチン「削除データ決定処理」の詳細を示すフローチャートである。
【００７５】
まず、ステップＣ２１で、書き出そうとする画面構成部品データの容量を元に、必要な領域の容量を設定する。次に、これから削除する画面構成部品データを優先度の低い順に決定するために、最初の削除する候補として優先順位を最下位に設定する（ステップＣ２２）。
【００７６】
設定された優先順位の描画データを削除予定のリストに登録する（ステップＣ２３）。次に、削除予定の描画データの容量を加算してゆき、削除予定の容量の合計を求める（ステップＣ２４）。そして、必要な領域の容量と削除予定の容量とを比較して領域が確保できたかどうかを確認する（ステップＣ２５）。
【００７７】
ステップＣ２５で、領域が確保できた場合（ステップＣ２５：Yes）は、処理を終了するが、まだ領域が確保できない場合（ステップＣ２５：No）は、削除する候補の優先度を一つ上げてステップＣ２３以降の処理を繰り返す。
【００７８】
クライアント装置２が携帯型の場合、時間によって場所が変わる可能性がある。そのため、所定の時間毎にクライアント装置２の場所と現在の時間帯とを確認する必要がある。
【００７９】
図１６は、クライアント装置２において実行される場所時間帯変化対応処理の詳細を示すフローチャートである。クライアント装置２は、処理を開始する時と場所が変化した時に、場所情報をＲＡＭ２４に記憶しておく。そして時間帯の変化を、現時刻と図４の時間帯テーブルとを照合することにより所定の時間毎に監視しておく。
【００８０】
まず、ステップＣ３１で、ＲＦＩＤ読取装置３０で読み取った場所情報と記憶しておいた場所情報とを比較して、場所情報の変化を確認する。次に、現時刻と図４の時間帯テーブルとを照合することにより、時間帯の変化を確認する（ステップＣ３２）。
【００８１】
そして、場所情報または時間帯が変化した場合は（ステップＣ３３：Yes）、画面キャッシュ優先度テーブル２４ｃの優先順位の値を最下位（最も大きな値）に設定する（ステップＣ３４）。
【００８２】
以上説明したように、サーバ装置１は、画面キャッシュ１４ｂと画面キャッシュ優先度テーブル１４ｃを制御し、クライアント装置２は、画面キャッシュ２４ｂと画面キャッシュ優先度テーブル２４ｃを制御して、サーバ装置１とクライアント装置２とが連携することにより、クライアント装置２を使用する場所や時間帯が変化しても、クライアント装置２での表示の高速化が可能になると共に、キャッシュメモリを効率的に使用することが可能になる。
【００８３】
前記実施形態において記載したサーバ装置１、クライアント装置２の処理、すなわち図９乃至１６のフローチャートに示す各処理は、何れもコンピュータが読み取り可能なプログラムとして、外部記憶装置１８、外部記憶装置２８に記憶されている。なお、これらのプログラムは、半導体メモリ（ＲＯＭ、ＲＡＭ等）、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）の記録媒体に記憶してもよく、更に、プログラムの一部若しくは全部をサーバ装置１やクライアント装置２に備えられた記録媒体に記憶し、ネットワーク３を介して受信して読み取る構成にしてもよい。
【００８４】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【符号の説明】
【００８５】
１  …サーバ装置
２  …クライアント装置
３  …通信ネットワーク
１１、２１…ＣＰＵ
１２、２２…バス
１３、２３…ＲＯＭ
１４、２４…ＲＡＭ
１４ａ…クライアント用フレームバッファ
１４ｂ、２４ｂ…画面キャッシュ
１４ｃ、２４ｃ…画面キャッシュ優先度テーブル
１５、２５…フレームバッファＲＡＭ
１６、２６…表示装置
１７、２７…入力装置
１８、２８…外部記憶装置
１９、２９…通信Ｉ／Ｆ
３０…ＲＦＩＤ読取装置
【図１】
0005641018.tif 000002
【図２】
0005641018.tif 000003
【図３】
0005641018.tif 000004
【図４】
0005641018.tif 000005
【図５】
0005641018.tif 000006
【図６】
0005641018.tif 000007
【図７】
0005641018.tif 000008
【図８】
0005641018.tif 000009
【図９】
0005641018.tif 000010
【図１０】
0005641018.tif 000011
【図１１】
0005641018.tif 000012
【図１２】
0005641018.tif 000013
【図１３】
0005641018.tif 000014
【図１４】
0005641018.tif 000015
【図１５】
0005641018.tif 000016
【図１６】
0005641018.tif 000017