(57)【要約】【課題】サーバベースコンピューティングシステムにおいて、アプリケーションプログラムの実行の際に頻繁に変化する画面データについて、クライアント装置を使用する場所や時間帯が変化してもキャッシュメモリを効率的に使用してクライアント装置での表示を高速化する。【解決手段】サーバ装置が、クライアント装置の使用場所と使用時間帯別に画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを、画面キャッシュ優先度テーブルとして画面キャッシュと共に記憶して管理し、クライアント装置の画面キャッシュと同期を取るように制御する。クライアント装置は、画面情報の優先度に応じて画面キャッシュ内の削除データを決定し削除する。【選択図】      図９
2010079462.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
前記画面情報の識別子毎に前記画面情報を画面キャッシュとして前記クライアント装置別に記憶する画面キャッシュ記憶手段と、
前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして前記クライアント装置の使用場所と使用時間帯別に記憶する優先度テーブル記憶手段と、
前記クライアント装置から操作データを受信する受信手段と、
受信した前記操作データに従って前記プログラムを実行し画面情報を生成するプログラム実行手段と、
前記画面情報に画面情報の識別子を付加した画面キャッシュのデータを生成する画面キャッシュ生成手段と、
前記クライアント装置の使用場所と使用時間帯別に前記画面情報の識別子毎に使用頻度に応じた優先度を付けた画面キャッシュ優先度テーブルのデータを生成する優先度テーブル生成手段と、
前記画面情報が画面キャッシュに存在しない場合は、前記画面情報に前記画面情報の識別子と該識別子に対応した前記優先度テーブル生成手段によって生成された画面キャッシュ優先度テーブルの優先度とを付加してクライアント装置へ送信する送信手段と、
を備えたことを特徴とするサーバ装置。
【請求項２】
前記優先度テーブル記憶手段は、前記画面キャッシュ優先度テーブルのデータを日付別に記憶し、
前記優先度テーブル生成手段は、当日の処理に先立って、前々日の前記画面キャッシュ優先度テーブルのデータと前日の前記画面キャッシュ優先度テーブルのデータの使用頻度を合計した合計値により優先度を付ける、
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面情報を受信するクライアント装置であって、
前記画面情報の識別子毎に前記画面情報を画面キャッシュとして記憶する画面キャッシュ記憶手段と、
前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして記憶する優先度テーブル記憶手段と、
前記サーバ装置へ操作データを送信する送信手段と、
前記サーバ装置から前記画面情報と前記画面情報の識別子と前記画面情報の優先度とを受信する受信手段と、
受信した前記画面情報の識別子が新規ならば、前記画面情報に前記画面情報の識別子を付加した前記画面キャッシュのデータを生成する画面キャッシュ生成手段と、
受信した前記画面情報の識別子が新規ならば、受信した前記画面情報の優先度に従って、前記画面情報の識別子毎に優先度を付けた画面キャッシュ優先度テーブルのデータを追加し、この追加する際に、前記画面キャッシュのデータを生成するための記憶容量が不十分の場合は、優先度の低い順に前記画面キャッシュのデータを削除すると共に、前記画面キャッシュ優先度テーブルの対応するデータを削除する優先度テーブル更新手段と、
受信した前記画面情報の識別子が前記画面キャッシュに存在する場合は、前記画面情報の識別子に該当する前記画面情報を前記画面キャッシュから抽出して表示し、受信した前記画面情報の識別子が前記画面キャッシュに存在しない場合は、受信した前記画面情報を表示する表示手段と、
を備えたことを特徴とするクライアント装置。
【請求項４】
前記優先度テーブル更新手段は、当該クライアント装置の場所または時間帯が変化した際に、前記画面キャッシュ優先度テーブルのデータの優先度を最も低い値に設定する
ことを特徴とする請求項３に記載のクライアント装置。
【請求項５】
プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、
前記サーバ装置は、
前記画面情報の識別子毎に前記画面情報を画面キャッシュとして前記クライアント装置別に記憶する画面キャッシュ記憶手段と、
前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして前記クライアント装置の使用場所と使用時間帯別に記憶する優先度テーブル記憶手段と、
前記クライアント装置から操作データを受信する受信手段と、
受信した前記操作データに従って前記プログラムを実行し画面情報を生成するプログラム実行手段と、
前記画面情報に画面情報の識別子を付加した画面キャッシュのデータを生成する画面キャッシュ生成手段と、
前記クライアント装置の使用場所と使用時間帯別に前記画面情報の識別子毎に使用頻度に応じた優先度を付けた画面キャッシュ優先度テーブルのデータを生成する優先度テーブル生成手段と、
前記画面情報が画面キャッシュに存在しない場合は、前記画面情報に前記画面情報の識別子と該識別子に対応した前記優先度テーブル生成手段によって生成された画面キャッシュ優先度テーブルの優先度とを付加してクライアント装置へ送信する送信手段と、
を備え、
前記クライアント装置は、
前記画面情報の識別子毎に前記画面情報を画面キャッシュとして記憶する画面キャッシュ記憶手段と、
前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして記憶する優先度テーブル記憶手段と、
前記サーバ装置へ操作データを送信する送信手段と、
前記サーバ装置から前記画面情報と前記画面情報の識別子と前記画面情報の優先度とを受信する受信手段と、
受信した前記画面情報の識別子が新規ならば、前記画面情報に前記画面情報の識別子を付加した前記画面キャッシュのデータを生成する画面キャッシュ生成手段と、
受信した前記画面情報の識別子が新規ならば、受信した前記画面情報の優先度に従って、前記画面情報の識別子毎に優先度を付けた画面キャッシュ優先度テーブルのデータを追加し、この追加する際に、前記画面キャッシュのデータを生成するための記憶容量が不十分の場合は、優先度の低い順に前記画面キャッシュのデータを削除すると共に、前記画面キャッシュ優先度テーブルの対応するデータを削除する優先度テーブル更新手段と、
受信した前記画面情報の識別子が前記画面キャッシュに存在する場合は、前記画面情報の識別子に該当する前記画面情報を前記画面キャッシュから抽出して表示し、受信した前記画面情報の識別子が前記画面キャッシュに存在しない場合は、受信した前記画面情報を表示する表示手段と、
を備えたことを特徴とするサーバベースコンピューティングシステム。
【請求項６】
ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、
前記画面情報の識別子毎に前記画面情報を画面キャッシュとして前記クライアント装置別に記憶する画面キャッシュ記憶手段、
前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして前記クライアント装置の使用場所と使用時間帯別に記憶する優先度テーブル記憶手段、
前記クライアント装置から操作データを受信する受信手段、
受信した前記操作データに従って前記プログラムを実行し画面情報を生成するプログラム実行手段、
前記画面情報に画面情報の識別子を付加した画面キャッシュのデータを生成する画面キャッシュ生成手段、
前記クライアント装置の使用場所と使用時間帯別に前記画面情報の識別子毎に使用頻度に応じた優先度を付けた画面キャッシュ優先度テーブルのデータを生成する優先度テーブル生成手段、
前記画面情報が画面キャッシュに存在しない場合は、前記画面情報に前記画面情報の識別子と該識別子に対応した前記優先度テーブル生成手段によって生成された画面キャッシュ優先度テーブルの優先度とを付加してクライアント装置へ送信する送信手段、
として機能させるためのプログラム。
【請求項７】
ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面情報を受信するクライアント装置のコンピュータを、
前記画面情報の識別子毎に前記画面情報を画面キャッシュとして記憶する画面キャッシュ記憶手段、
前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして記憶する優先度テーブル記憶手段、
前記サーバ装置へ操作データを送信する送信手段、
前記サーバ装置から前記画面情報と前記画面情報の識別子と前記画面情報の優先度とを受信する受信手段、
受信した前記画面情報の識別子が新規ならば、前記画面情報に前記画面情報の識別子を付加した前記画面キャッシュのデータを生成する画面キャッシュ生成手段、
受信した前記画面情報の識別子が新規ならば、受信した前記画面情報の優先度に従って、前記画面情報の識別子毎に優先度を付けた画面キャッシュ優先度テーブルのデータを追加し、この追加する際に、前記画面キャッシュのデータを生成するための記憶容量が不十分の場合は、優先度の低い順に前記画面キャッシュのデータを削除すると共に、前記画面キャッシュ優先度テーブルの対応するデータを削除する優先度テーブル更新手段、
受信した前記画面情報の識別子が前記画面キャッシュに存在する場合は、前記画面情報の識別子に該当する前記画面情報を前記画面キャッシュから抽出して表示し、受信した前記画面情報の識別子が前記画面キャッシュに存在しない場合は、受信した前記画面情報を表示する表示手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティング（Server Based Computing）システムに関する。
【背景技術】
【０００２】
サーバベースコンピューティングシステムにおいては、サーバ装置はクライアント装置用のアプリケーションプログラムを実行して表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等の記憶装置が不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。
【０００３】
しかし、クライアント装置は、サーバ装置から送信される画面の表示データを待つため、頻繁に表示される画面データがクライアント装置のメモリ上のキャッシュに無い場合、画面の表示に通常より長い時間がかかっていた。そこで、クライアント装置またはサーバ装置から頻繁に使用される画面をクライアント装置のキャッシュに事前に登録し、登録した画面はクライアント装置のキャッシュから削除されないようにキャッシュを管理することで、頻繁に使用される画面はクライアント装置のキャッシュから読み込むようにし、ネットワークのトラフィックを軽減して画面の表示の高速化を図っていた（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２００２−２５１３７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、サーバ装置側でキャッシュ指定を行う画面データを画面単位で前もって選択してから登録しておく必要がある。そして、クライアント装置におけるキャッシュデータの削除処理を、サーバ装置側で設定した削除する、しないのフラグに従って行っていた。その結果、削除出来ないキャッシュデータが多い場合には、新たなキャッシュデータを登録しづらくなり、削除できるキャッシュデータが多い場合には、メモリ確保のためのキャッシュ削除後に、使用できるキャッシュデータが少なくなってしまうので、キャッシュの利用効率が悪いといった問題があった。
【０００６】
特に、Ｗｅｂページを閲覧するためのアプリケーションプログラムの実行においては、様々なＵＲＬ（Uniform Resource Locator）を参照して様々な画面データを表示するので、このような頻繁に変化する画面データを限られたメモリ容量内で効率よく自動的にキャッシュし、効率よくキャッシュデータを利用して表示を高速化することが求められていた。
【０００７】
また、クライアント装置には携帯型のものがあり、使用者がクライアント装置を持って様々な場所に移動して、例えば午前中は本社でＡ業務とＢ業務、午後は支社に移動してＣ業務というように様々な業務に使用することがあるが、このような利用形態においてもキャッシュデータがヒットする確率を上げることが求められていた。
【０００８】
本発明の目的は、アプリケーションプログラムの実行の際に頻繁に変化する画面データについて、クライアント装置を使用する場所や時間帯が変化してもキャッシュメモリを効率的に使用してクライアント装置での表示を高速化することである。
【課題を解決するための手段】
【０００９】
請求項１に記載のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、前記画面情報の識別子毎に前記画面情報を画面キャッシュとして前記クライアント装置別に記憶する画面キャッシュ記憶手段と、前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして前記クライアント装置の使用場所と使用時間帯別に記憶する優先度テーブル記憶手段と、前記クライアント装置から操作データを受信する受信手段と、受信した前記操作データに従って前記プログラムを実行し画面情報を生成するプログラム実行手段と、前記画面情報に画面情報の識別子を付加した画面キャッシュのデータを生成する画面キャッシュ生成手段と、前記クライアント装置の使用場所と使用時間帯別に前記画面情報の識別子毎に使用頻度に応じた優先度を付けた画面キャッシュ優先度テーブルのデータを生成する優先度テーブル生成手段と、前記画面情報が画面キャッシュに存在しない場合は、前記画面情報に前記画面情報の識別子と該識別子に対応した前記優先度テーブル生成手段によって生成された画面キャッシュ優先度テーブルの優先度とを付加してクライアント装置へ送信する送信手段と、を備えたことを特徴としている。
【００１０】
請求項２に記載のサーバ装置は、前記優先度テーブル記憶手段は、前記画面キャッシュ優先度テーブルのデータを日付別に記憶し、前記優先度テーブル生成手段は、当日の処理に先立って、前々日の前記画面キャッシュ優先度テーブルのデータと前日の前記画面キャッシュ優先度テーブルのデータの使用頻度を合計した合計値により優先度を付ける、ことを特徴としている。
【００１１】
請求項３に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面情報を受信するクライアント装置であって、前記画面情報の識別子毎に前記画面情報を画面キャッシュとして記憶する画面キャッシュ記憶手段と、前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして記憶する優先度テーブル記憶手段と、前記サーバ装置へ操作データを送信する送信手段と、前記サーバ装置から前記画面情報と前記画面情報の識別子と前記画面情報の優先度とを受信する受信手段と、受信した前記画面情報の識別子が新規ならば、前記画面情報に前記画面情報の識別子を付加した前記画面キャッシュのデータを生成する画面キャッシュ生成手段と、受信した前記画面情報の識別子が新規ならば、受信した前記画面情報の優先度に従って、前記画面情報の識別子毎に優先度を付けた画面キャッシュ優先度テーブルのデータを追加し、この追加する際に、前記画面キャッシュのデータを生成するための記憶容量が不十分の場合は、優先度の低い順に前記画面キャッシュのデータを削除すると共に、前記画面キャッシュ優先度テーブルの対応するデータを削除する優先度テーブル更新手段と、受信した前記画面情報の識別子が前記画面キャッシュに存在する場合は、前記画面情報の識別子に該当する前記画面情報を前記画面キャッシュから抽出して表示し、受信した前記画面情報の識別子が前記画面キャッシュに存在しない場合は、受信した前記画面情報を表示する表示手段と、を備えたことを特徴としている。
【００１２】
請求項４に記載のクライアント装置は、前記優先度テーブル更新手段は、当該クライアント装置の場所または時間帯が変化した際に、前記画面キャッシュ優先度テーブルのデータの優先度を最も低い値に設定することを特徴としている。
【００１３】
請求項５に記載のサーバベースコンピューティングシステムは、プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、前記サーバ装置は、前記画面情報の識別子毎に前記画面情報を画面キャッシュとして前記クライアント装置別に記憶する画面キャッシュ記憶手段と、前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして前記クライアント装置の使用場所と使用時間帯別に記憶する優先度テーブル記憶手段と、前記クライアント装置から操作データを受信する受信手段と、受信した前記操作データに従って前記プログラムを実行し画面情報を生成するプログラム実行手段と、前記画面情報に画面情報の識別子を付加した画面キャッシュのデータを生成する画面キャッシュ生成手段と、前記クライアント装置の使用場所と使用時間帯別に前記画面情報の識別子毎に使用頻度に応じた優先度を付けた画面キャッシュ優先度テーブルのデータを生成する優先度テーブル生成手段と、前記画面情報が画面キャッシュに存在しない場合は、前記画面情報に前記画面情報の識別子と該識別子に対応した前記優先度テーブル生成手段によって生成された画面キャッシュ優先度テーブルの優先度とを付加してクライアント装置へ送信する送信手段と、を備え、前記クライアント装置は、前記画面情報の識別子毎に前記画面情報を画面キャッシュとして記憶する画面キャッシュ記憶手段と、前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして記憶する優先度テーブル記憶手段と、前記サーバ装置へ操作データを送信する送信手段と、前記サーバ装置から前記画面情報と前記画面情報の識別子と前記画面情報の優先度とを受信する受信手段と、受信した前記画面情報の識別子が新規ならば、前記画面情報に前記画面情報の識別子を付加した前記画面キャッシュのデータを生成する画面キャッシュ生成手段と、受信した前記画面情報の識別子が新規ならば、受信した前記画面情報の優先度に従って、前記画面情報の識別子毎に優先度を付けた画面キャッシュ優先度テーブルのデータを追加し、この追加する際に、前記画面キャッシュのデータを生成するための記憶容量が不十分の場合は、優先度の低い順に前記画面キャッシュのデータを削除すると共に、前記画面キャッシュ優先度テーブルの対応するデータを削除する優先度テーブル更新手段と、受信した前記画面情報の識別子が前記画面キャッシュに存在する場合は、前記画面情報の識別子に該当する前記画面情報を前記画面キャッシュから抽出して表示し、受信した前記画面情報の識別子が前記画面キャッシュに存在しない場合は、受信した前記画面情報を表示する表示手段と、を備えたことを特徴としている。
【００１４】
請求項６に記載のサーバ装置のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、前記画面情報の識別子毎に前記画面情報を画面キャッシュとして前記クライアント装置別に記憶する画面キャッシュ記憶手段、前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして前記クライアント装置の使用場所と使用時間帯別に記憶する優先度テーブル記憶手段、前記クライアント装置から操作データを受信する受信手段、受信した前記操作データに従って前記プログラムを実行し画面情報を生成するプログラム実行手段、前記画面情報に画面情報の識別子を付加した画面キャッシュのデータを生成する画面キャッシュ生成手段、前記クライアント装置の使用場所と使用時間帯別に前記画面情報の識別子毎に使用頻度に応じた優先度を付けた画面キャッシュ優先度テーブルのデータを生成する優先度テーブル生成手段、前記画面情報が画面キャッシュに存在しない場合は、前記画面情報に前記画面情報の識別子と該識別子に対応した前記優先度テーブル生成手段によって生成された画面キャッシュ優先度テーブルの優先度とを付加してクライアント装置へ送信する送信手段、として機能させることを特徴としている。
【００１５】
請求項７に記載のクライアント装置のプログラムは、ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面情報を受信するクライアント装置のコンピュータを、前記画面情報の識別子毎に前記画面情報を画面キャッシュとして記憶する画面キャッシュ記憶手段、前記画面情報の識別子毎に使用頻度に応じた優先度を付けたデータを画面キャッシュ優先度テーブルとして記憶する優先度テーブル記憶手段、前記サーバ装置へ操作データを送信する送信手段、前記サーバ装置から前記画面情報と前記画面情報の識別子と前記画面情報の優先度とを受信する受信手段、受信した前記画面情報の識別子が新規ならば、前記画面情報に前記画面情報の識別子を付加した前記画面キャッシュのデータを生成する画面キャッシュ生成手段、受信した前記画面情報の識別子が新規ならば、受信した前記画面情報の優先度に従って、前記画面情報の識別子毎に優先度を付けた画面キャッシュ優先度テーブルのデータを追加し、この追加する際に、前記画面キャッシュのデータを生成するための記憶容量が不十分の場合は、優先度の低い順に前記画面キャッシュのデータを削除すると共に、前記画面キャッシュ優先度テーブルの対応するデータを削除する優先度テーブル更新手段、受信した前記画面情報の識別子が前記画面キャッシュに存在する場合は、前記画面情報の識別子に該当する前記画面情報を前記画面キャッシュから抽出して表示し、受信した前記画面情報の識別子が前記画面キャッシュに存在しない場合は、受信した前記画面情報を表示する表示手段、として機能させることを特徴としている。
【発明の効果】
【００１６】
本発明によれば、アプリケーションプログラムの実行の際に頻繁に変化する画面データについて、クライアント装置を使用する場所や時間帯が変化しても、クライアント装置での表示の高速化が可能になると共に、キャッシュメモリを効率的に使用することが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下図面により本発明の実施の形態について説明する。まず、本実施形態における構成について説明する。
【００１８】
図１は、本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図である。
【００１９】
このサーバベースコンピューティングシステムは、ＬＡＮ（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）、画面キャッシュ優先度テーブル２４ｃの優先順位の値を最下位（最も大きな値）に設定する（ステップＣ３４）。
【００８１】
以上説明したように、サーバ装置１は、画面キャッシュ１４ｂと画面キャッシュ優先度テーブル１４ｃを制御し、クライアント装置２は、画面キャッシュ２４ｂと画面キャッシュ優先度テーブル２４ｃを制御して、サーバ装置１とクライアント装置２とが連携することにより、クライアント装置２を使用する場所や時間帯が変化しても、クライアント装置２での表示の高速化が可能になると共に、キャッシュメモリを効率的に使用することが可能になる。
【００８２】
前記実施形態において記載したサーバ装置１、クライアント装置２の処理、すなわち図９乃至１６のフローチャートに示す各処理は、何れもコンピュータが読み取り可能なプログラムとして、外部記憶装置１８、外部記憶装置２８に記憶されている。なお、これらのプログラムは、半導体メモリ（ＲＯＭ、ＲＡＭ等）、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）の記録媒体に記憶してもよく、更に、プログラムの一部若しくは全部をサーバ装置１やクライアント装置２に備えられた記録媒体に記憶し、ネットワーク３を介して受信して読み取る構成にしてもよい。
【００８３】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図。
【図２】本実施形態に係るサーバ装置１の主要部構成を示すブロック図。
【図３】本実施形態に係るクライアント装置２の主要部構成を示すブロック図。
【図４】サーバ装置１のＲＡＭ１４、及びクライアント装置２のＲＡＭ２４に記憶される時間帯テーブルの一例を示す図。
【図５】サーバ装置１のＲＡＭ１４、及びクライアント装置２のＲＡＭ２４に記憶される画面キャッシュ１４ｂ、２４ｂの一例を示す図。
【図６】サーバ装置１のＲＡＭ１４に記憶される画面キャッシュ優先度テーブル１４ｃの一例を示す図。
【図７】クライアント装置２のＲＡＭ２４に記憶される画面キャッシュ優先度テーブル２４ｃの一例を示す図。
【図８】サーバ装置１の画面キャッシュ優先度テーブル準備処理における、画面キャッシュ優先度テーブル１４ｃの内容の一例を示す図。
【図９】サーバ装置１において実行される画面データ送信制御処理の詳細を示すフローチャート。
【図１０】サーバ装置１において実行されるサブルーチン「優先順位計算処理」の詳細を示すフローチャート。
【図１１】サーバ装置１において実行されるサブルーチン「画面データ送信処理」の詳細を示すフローチャート。
【図１２】サーバ装置１において実行されるキャッシュ削除処理の詳細を示すフローチャート。
【図１３】サーバ装置１において実行される画面キャッシュ優先度テーブル準備処理の詳細を示すフローチャート。
【図１４】クライアント装置２において実行される画面表示処理の詳細を示すフローチャート。
【図１５】クライアント装置２において実行されるサブルーチン「削除データ決定処理」の詳細を示すフローチャート。
【図１６】クライアント装置２において実行される場所時間帯変化対応処理の詳細を示すフローチャート。
【符号の説明】
【００８５】
１  …サーバ装置
２  …クライアント装置
３  …通信ネットワーク
１１、２１…ＣＰＵ
１２、２２…バス
１３、２３…ＲＯＭ
１４、２４…ＲＡＭ
１４ａ…クライアント用フレームバッファ
１４ｂ、２４ｂ…画面キャッシュ
１４ｃ、２４ｃ…画面キャッシュ優先度テーブル
１５、２５…フレームバッファＲＡＭ
１６、２６…表示装置
１７、２７…入力装置
１８、２８…外部記憶装置
１９、２９…通信Ｉ／Ｆ
３０…ＲＦＩＤ読取装置
【図１】
2010079462.tif 000003
【図２】
2010079462.tif 000004
【図３】
2010079462.tif 000005
【図４】
2010079462.tif 000006
【図５】
2010079462.tif 000007
【図６】
2010079462.tif 000008
【図７】
2010079462.tif 000009
【図８】
2010079462.tif 000010
【図９】
2010079462.tif 000011
【図１０】
2010079462.tif 000012
【図１１】
2010079462.tif 000013
【図１２】
2010079462.tif 000014
【図１３】
2010079462.tif 000015
【図１４】
2010079462.tif 000016
【図１５】
2010079462.tif 000017
【図１６】
2010079462.tif 000018