(57)【要約】【課題】サーバベースコンピューティングシステムにおいて、キャッシュの管理の負荷をかけることなく、クライアント装置での表示の高速化を実現する。【解決手段】画面データの属性順に並べた画面データのキャッシュを使用することにより、キャッシュの管理の負荷をかけることなく、サーバ装置からクライアント装置へ送信する画面データのデータ量を少なくして画面データの送信時間を短縮し、クライアント装置での表示を高速化する。【選択図】      図１０
2009205218.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面データを受信するクライアント装置であって、
前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ記憶手段と、
操作データを前記サーバ装置へ送信する操作データ送信手段と、
前記操作データに対応した画面データの識別コードを前記サーバ装置から受信する識別コード受信手段と、
前記識別コードに該当する画面データを前記画面キャッシュ記憶手段により保存したキャッシュデータから検索して読み出す検索手段と、
前記検索手段により該当する画面データが検索できない場合は、サーバ装置から前記操作データに対応した画面データを受信する画面データ受信手段と、
受信した前記画面データを前記画面キャッシュ記憶手段に前記画面データの属性順に登録し、登録する領域が充分でない場合は、前記画面データの属性の下位から順に削除する画面キャッシュ登録手段と、
前記検索手段により読み出した画面データまたは前記画面キャッシュ登録手段により登録した画面データを表示する表示手段と、
を備えることを特徴とするクライアント装置。
【請求項２】
前記画面データの属性は、前記画面データの表示位置を示す座標であり、基準となる画面データが最上位となる、
ことを特徴とする請求項１に記載のクライアント装置。
【請求項３】
前記画面データの属性は、前記画面データの大きさであり、最小の画面データが最上位となる、
ことを特徴とする請求項１に記載のクライアント装置。
【請求項４】
プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、
前記サーバ装置は、
前記クライアント装置から操作データを受信する操作データ受信手段と、
前記操作データに従ってプログラムを実行して画面データを生成するプログラム実行手段と、
前記画面データに対応した識別コードを生成する識別コード生成手段と、
生成した前記識別コードを前記クライアント装置へ送信する識別コード送信手段と、
前記クライアント装置からの要求により、前記画面データを前記クライアント装置へ送信する画面データ送信手段と、
を備え、
前記クライアント装置は、
前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ記憶手段と、
操作データを前記サーバ装置へ送信する操作データ送信手段と、
前記操作データに対応した画面データの識別コードを前記サーバ装置から受信する識別コード受信手段と、
前記識別コードに該当する画面データを前記画面キャッシュ記憶手段により保存したキャッシュデータから検索して読み出す検索手段と、
前記検索手段により該当する画面データが検索できない場合は、サーバ装置から前記操作データに対応した画面データを受信する画面データ受信手段と、
受信した前記画面データを前記画面キャッシュ記憶手段に前記画面データの属性順に登録し、登録する領域が充分でない場合は、前記画面データの属性の下位から順に削除する画面キャッシュ登録手段と、
前記検索手段により読み出した画面データまたは前記画面キャッシュ登録手段により登録した画面データを表示する表示手段と、
を備えることを特徴とするサーバベースコンピューティングシステム。
【請求項５】
クライアント装置のコンピュータを、
サーバ装置から受信した画面データをキャッシュデータとして保存する画面キャッシュ記憶手段、
操作データを前記サーバ装置へ送信する操作データ送信手段、
前記操作データに対応した画面データの識別コードを前記サーバ装置から受信する識別コード受信手段、
前記識別コードに該当する画面データを前記画面キャッシュ記憶手段により保存したキャッシュデータから検索して読み出す検索手段、
前記検索手段により該当する画面データが検索できない場合は、サーバ装置から前記操作データに対応した画面データを受信する画面データ受信手段、
受信した前記画面データを前記画面キャッシュ記憶手段に前記画面データの属性順に登録し、登録する領域が充分でない場合は、前記画面データの属性の下位から順に削除する画面キャッシュ登録手段、
前記検索手段により読み出した画面データまたは前記画面キャッシュ登録手段により登録した画面データを表示する表示手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＢＣ（Server Based Computing：サーバベースコンピューティング）環境下にあるサーバ装置においてクライアント装置からの操作指示により実行されたアプリケーションプログラムの実行結果を、ネットワークを介して該ネットワークに接続されているクライアント装置に表示させることができるサーバ装置、クライアント装置、リモート接続システムおよびプログラムに関する。
【背景技術】
【０００２】
サーバベースコンピューティングシステムにおいては、サーバ装置はクライアント装置用のアプリケーションプログラムを実行して表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等の記憶装置が基本的には不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。
【０００３】
しかしながら、サーバ装置側で作成されたクライアント装置用の表示データを送信する際に、表示データの量が多い場合は通信時間が長くなり、表示するまでに時間がかかるという問題がある。
【０００４】
また、表示データが頻繁に更新される場合も、表示データの更新の都度、更新された表示データを送信する必要があるので通信時間が長くなり、表示するまでに時間がかかるという問題がある。
【０００５】
そこで、表示データを送信する際の通信時間を短縮するために、表示データをクライアント装置のＲＡＭ内にキャッシュしておき、キャッシュされた表示データと同じ表示データを表示する場合は、表示データの送信をしないようにする方法が用いられる場合もある。
【０００６】
キャッシュの管理方法として、キャッシュの単位となるエントリ毎にヒット回数を管理しておき、ヒット数の高いエントリを優先的にキャッシュに入れておくことで、ヒットする可能性の高いキャッシュ内容とし、逆に、ヒット数の低いエントリはできるだけキャッシュに存在しないように、その優先度を下げることで、キャッシュを有効に使用できるようにする技術が開示されている。（例えば、特許文献１参照。）
【０００７】
【特許文献１】特開２００１−２９０７１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１の方法では、キャッシュの単位となるエントリ毎に最新のヒット回数が必要なので、エントリをアクセスする度にヒット回数を更新する必要があり、キャッシュの管理に負荷がかかるという問題があった。
【０００９】
本発明の目的は、サーバ装置からクライアント装置へ送信する画面データのデータ量を、キャッシュの管理の負荷をかけることなく少なくして、画面データの送信時間を短縮し、クライアント装置での表示の高速化を実現することである。
【課題を解決するための手段】
【００１０】
請求項１に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面データを受信するクライアント装置であって、前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ記憶手段と、操作データを前記サーバ装置へ送信する操作データ送信手段と、前記操作データに対応した画面データの識別コードを前記サーバ装置から受信する識別コード受信手段と、前記識別コードに該当する画面データを前記画面キャッシュ記憶手段により保存したキャッシュデータから検索して読み出す検索手段と、前記検索手段により該当する画面データが検索できない場合は、サーバ装置から前記操作データに対応した画面データを受信する画面データ受信手段と、受信した前記画面データを前記画面キャッシュ記憶手段に前記画面データの属性順に登録し、登録する領域が充分でない場合は、前記画面データの属性の下位から順に削除する画面キャッシュ登録手段と、前記検索手段により読み出した画面データまたは前記画面キャッシュ登録手段により登録した画面データを表示する表示手段と、を備えることを特徴としている。
【００１１】
請求項２に記載のクライアント装置は、前記画面データの属性が、前記画面データの表示位置を示す座標であり、基準となる画面データが最上位となる、ことを特徴としている。
【００１２】
請求項３に記載のクライアント装置は、前記画面データの属性が、前記画面データの大きさであり、最小の画面データが最上位となる、ことを特徴としている。
【００１３】
請求項４に記載のサーバベースコンピューティングシステムは、プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、前記サーバ装置は、前記クライアント装置から操作データを受信する操作データ受信手段と、前記操作データに従ってプログラムを実行して画面データを生成するプログラム実行手段と、前記画面データに対応した識別コードを生成する識別コード生成手段と、生成した前記識別コードを前記クライアント装置へ送信する識別コード送信手段と、前記クライアント装置からの要求により、前記画面データを前記クライアント装置へ送信する画面データ送信手段と、を備え、前記クライアント装置は、前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ記憶手段と、操作データを前記サーバ装置へ送信する操作データ送信手段と、前記操作データに対応した画面データの識別コードを前記サーバ装置から受信する識別コード受信手段と、前記識別コードに該当する画面データを前記画面キャッシュ記憶手段により保存したキャッシュデータから検索して読み出す検索手段と、前記検索手段により該当する画面データが検索できない場合は、サーバ装置から前記操作データに対応した画面データを受信する画面データ受信手段と、受信した前記画面データを前記画面キャッシュ記憶手段に前記画面データの属性順に登録し、登録する領域が充分でない場合は、前記画面データの属性の下位から順に削除する画面キャッシュ登録手段と、前記検索手段により読み出した画面データまたは前記画面キャッシュ登録手段により登録した画面データを表示する表示手段と、を備えることを特徴としている。
【００１４】
請求項５に記載のクライアント装置のプログラムは、クライアント装置のコンピュータを、サーバ装置から受信した画面データをキャッシュデータとして保存する画面キャッシュ記憶手段、操作データを前記サーバ装置へ送信する操作データ送信手段、前記操作データに対応した画面データの識別コードを前記サーバ装置から受信する識別コード受信手段、前記識別コードに該当する画面データを前記画面キャッシュ記憶手段により保存したキャッシュデータから検索して読み出す検索手段、前記検索手段により該当する画面データが検索できない場合は、サーバ装置から前記操作データに対応した画面データを受信する画面データ受信手段、受信した前記画面データを前記画面キャッシュ記憶手段に前記画面データの属性順に登録し、登録する領域が充分でない場合は、前記画面データの属性の下位から順に削除する画面キャッシュ登録手段、前記検索手段により読み出した画面データまたは前記画面キャッシュ登録手段により登録した画面データを表示する表示手段、として機能させることを特徴としている。
【発明の効果】
【００１５】
本発明によれば、サーバ装置からクライアント装置へ送信する画面データのデータ量を、画面データの属性を利用することによりキャッシュの管理の負荷をかけることなく少なくして、画面データの送信時間を短縮し、クライアント装置での表示の高速化を実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面により本発明の実施の形態について説明する。
まず、本実施形態における構成について説明する。
図１は、本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図である。
【００１７】
このサーバベースコンピューティングシステムは、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）からなるネットワーク３上に接続されたサーバ装置１および複数のクライアント装置２を備える。クライアント装置２はシンクライアント（thin client）とも呼ばれる。
【００１８】
サーバ装置１は、文書作成処理プログラム、表計算処理プログラム、プレゼン資料作成プログラム、メール処理プログラム、インターネット接続処理プログラム、Webブラウザなど、複数のアプリケーションプログラムを有し、当該サーバ装置１に接続されたクライアント装置２からの操作入力（入力イベント）信号に応じて起動しその処理を実行する。
【００１９】
このサーバ装置１において、クライアント装置２からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、端末用のフレームバッファ１４ａ上に生成された表示出力用の画面データは、アクセス元のクライアント装置２へ送信される。
【００２０】
そして、クライアント装置２では、前記サーバ装置１から送信された画面データがフレームバッファ２５に展開され、表示部に表示される。
つまり、このサーバベースコンピューティングシステムにおける各クライアント装置２は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能と表示部への出力機能を主要な機能として有し、少なくとも前記サーバ装置１が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
【００２１】
図２は、本実施形態に係るサーバ装置１の主要部構成を示すブロック図である。
サーバ装置１は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介してＲＯＭ１３、ＲＡＭ１４、フレームバッファＲＡＭ１５、表示装置１６が接続される。
【００２２】
また、ＣＰＵ１１には、バス１２を介してキーボード、マウスなどの入力装置１７、ハードディスクなどの外部記憶装置１８、クライアント装置２との通信Ｉ／Ｆ（インターフェイス）１９が接続される。
【００２３】
ＣＰＵ１１は、ＲＯＭ１３に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１４を作業用メモリとし回路各部の動作を制御するもので、入力装置１７からのキー入力信号や通信Ｉ／Ｆ１９を介して受信されるクライアント装置２からのユーザ操作（入力イベント）に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
【００２４】
このサーバ装置１において、クライアント装置２からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶装置１８に記憶され、また表示用の画面データは、ＲＡＭ１４内の端末用フレームバッファ１４ａを使用して生成されると共に、通信Ｉ／Ｆ１９からクライアント装置２へ送信されて表示出力される。なお、当該サーバ装置１自身の表示装置１６にて表示させるための画面データは、フレームバッファＲＡＭ１５上に生成される。
【００２５】
図３は、本実施形態に係るクライアント装置２の主要部構成を示すブロック図である。
クライアント装置２は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介してＲＯＭ２３、ＲＡＭ２４、フレームバッファＲＡＭ２５が接続される。そして、このフレームバッファＲＡＭ２５に書き込まれた画面データが表示装置２６に出力されて表示される。
【００２６】
また、ＣＰＵ２１には、バス２２を介してキーボード、マウス、マイク、光センサなどの入力装置２７、フラッシュメモリなどの外部記憶装置２８、前記サーバ装置１との通信Ｉ／Ｆ２９が接続される。
【００２７】
ＣＰＵ２１は、ＲＯＭ２３に予め記憶されているシステムプログラムに従ってＲＡＭ２４を作業用メモリとし回路各部の動作を制御するもので、入力装置２７からのキー入力信号や通信Ｉ／Ｆ２９を介して受信されるサーバ装置１からのアプリケーション応答信号や画面データなどに応じて前記システムプログラムが起動され実行される。
【００２８】
このクライアント装置２において、前記サーバ装置１におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置２８に書き込んで記憶させる。また、受信した表示用の画面データは、フレームバッファＲＡＭ２５に書き込まれ表示装置２６に表示出力される。
【００２９】
次に、本実施形態において使用するデータについて説明する。
図４は、第１実施形態に係るクライアント装置２のＲＡＭ２４に記憶される表示データのキャッシュメモリ２４ａの一例を示す図である。表示データのキャッシュメモリ２４ａに記憶されるキャッシュデータは、キャッシュデータ毎に識別子としてキャッシュＩＤを付して、キャッシュデータの幅・高さを示すデータと共に格納する。
【００３０】
そして、キャッシュＩＤはそれぞれが互いにポインタによりリンクされており、ポインタの終端はNULLになっている。ポインタには、キャッシュデータのＸ座標・Ｙ座標のデータが付帯しており、付帯したＸ座標・Ｙ座標の値に従ってポインタの並び順が決定される。表示データのキャッシュメモリ２４ａは所定の容量が確保される。
【００３１】
キャッシュＩＤの値は、キャッシュデータのハッシュ値を用いる。ハッシュ値とは、あるデータが与えられた場合にそのデータを代表する数値を得るためのハッシュ関数から得られる数値であり、ＭＤ５（Message Digest 5）やＳＨＡ-１（Secure Hash Algorithm 1）などのハッシュ関数を用いる。
【００３２】
図５は、第２実施形態に係るクライアント装置２のＲＡＭ２４に記憶される表示データのキャッシュメモリ２４ａの一例を示す図である。表示データのキャッシュメモリ２４ａに記憶されるキャッシュデータは、キャッシュデータ毎に識別子としてキャッシュＩＤを付して、キャッシュデータの幅・高さを示すデータと共に格納する。
【００３３】
そして、キャッシュＩＤはそれぞれが互いにポインタによりリンクされており、ポインタの終端はNULLになっている。ポインタには、キャッシュデータの大きさを示すデータが付帯しており、付帯した大きさの値に従ってポインタの並び順が決定される。表示データのキャッシュメモリ２４ａは所定の容量が確保される。
【００３４】
図６は、サーバ装置１からクライアント装置２へ送信される送信データのフォーマットの一例を示す図である。送信データは、キャッシュの識別子となるキャッシュＩＤ、表示データの大きさ（バイト数）、表示データのＸ座標とＹ座標とを示す位置、表示データの幅と高さとを示すサイズ、及び表示データから構成されている。
【００３５】
サーバ装置１から送信される送信データにより、クライアント装置２の表示データのキャッシュメモリ２４ａが更新される。
【００３６】
次に、本実施形態における画面データについて説明する。
図７は、サーバ装置１で作成した画面の一例を示す図である。Ｘ座標が０〜６３９、Ｙ座標が０〜４７９の座標で示される６４０×４８０ドットの大きさの画面上にＩＭＧ１〜ＩＭＧ８の表示データが表示されている。画面３１の左上部に表示データＩＭＧ１〜ＩＭＧ６、右下部に表示データＩＭＧ７、ＩＭＧ８が表示されている。
【００３７】
下にある画面３１Ａは、ユーザの操作により、画面３１の左上部にある表示データＩＭＧ１〜ＩＭＧ６の上に、表示データＩＭＧ９が書き換えられた状態の画面である。
【００３８】
図８は、サーバ装置１で作成した画面におけるキャッシュデータの一例を示す図である。図７の画面３１における表示データＩＭＧ１〜ＩＭＧ８と画面３１Ａにおける表示データＩＭＧ９を、図４の表示データのキャッシュメモリ２４ａに格納した際の、データの概略を示す図である。
【００３９】
次に、従来のサーバ装置１とクライアント装置２の画面表示の動作について説明する。図９は、従来のサーバ装置１とクライアント装置２との画面表示のシーケンス図である。
【００４０】
まず、シーケンスＡ０１で、ユーザＩＤとパスワードからなる認証データをクライアント装置２からサーバ装置１へ送信する。サーバ装置１は、受信した認証データにより正規のユーザかどうかを確認する認証処理を行う（シーケンスＡ０２）。認証がＯＫになると、次のシーケンスに進む。
【００４１】
クライアント装置２から、アプリケーションプログラムに関する入力操作データがサーバ装置１へ送信されると（シーケンスＡ０３）、サーバ装置１では、入力操作データに従ってアプリケーションプログラムを実行するアプリケーション処理を行い、表示データを作成する（シーケンスＡ０４）。作成した表示データをクライアント装置２へ送信すると（シーケンスＡ０５）、クライアント装置２は、受信した表示データを反映させて表示装置２６に表示出力する（シーケンスＡ０６）。入力操作データが新たに発生する毎に、シーケンスＡ０３からシーケンスＡ０６までが繰り返される。
【００４２】
次に、本実施例のサーバ装置１とクライアント装置２の画面表示の動作について説明する。図１０は、本実施形態に係るサーバ装置１とクライアント装置２との画面表示のシーケンス図である。
【００４３】
まず、シーケンスＢ０１で、ユーザＩＤとパスワードからなる認証データをクライアント装置２からサーバ装置１へ送信する。サーバ装置１は、受信した認証データにより正規のユーザかどうかを確認する認証処理を行う（シーケンスＢ０２）。認証がＯＫになると、次のシーケンスに進む。
【００４４】
クライアント装置２から、アプリケーションプログラムに関する入力操作データがサーバ装置１へ送信されると（シーケンスＢ０３）、サーバ装置１では、入力操作データに従ってアプリケーションプログラムを実行するアプリケーション処理を行い、表示データを作成する（シーケンスＢ０４）。ここで、作成した表示データに対応した識別子をハッシュ関数を用いて生成し、キャッシュＩＤとする（シーケンスＢ０５）。
【００４５】
生成したキャッシュＩＤをクライアント装置２へ送信すると（シーケンスＢ０６）、クライアント装置２は、受信したキャッシュＩＤを元に表示データのキャッシュメモリ２４ａを検索し、該当する表示データを読み出す（シーケンスＢ０７）。
【００４６】
もし、該当する表示データが表示データのキャッシュメモリ２４ａに存在しない場合は、サーバ装置１へ表示データの送信要求を送信する（シーケンスＢ０８）。サーバ装置１は、クライアント装置２からの要求に従って表示データを送信する（シーケンスＢ０９）。
【００４７】
クライアント装置２は、受信した表示データを、表示データの表示座標や大きさなどの属性順に表示データのキャッシュメモリ２４ａに登録する。この時、登録するための充分な領域がない場合は、属性の下位にあるデータを削除する（シーケンスＢ１０）。そして、受信した表示データを反映させて表示装置２６に表示出力する（シーケンスＢ１１）。
【００４８】
シーケンスＢ０８〜シーケンスＢ１０は、シーケンスＢ０７において、該当する表示データが表示データのキャッシュメモリ２４ａに存在しない場合にのみ、実行される。すなわち、表示データのキャッシュメモリ２４ａに登録または削除する処理は、該当する表示データが表示データのキャッシュメモリ２４ａに存在する場合は、実行されない。
【００４９】
シーケンスＢ０３からシーケンスＢ１１までが、入力操作データが新たに発生する毎に繰り返される。例えば、図７の画面３１の場合は、入力操作データに従っての表示データＩＭＧ１〜ＩＭＧ８がサーバ装置１により順次作成され、クライアント装置２の表示装置２６に順次表示される。
【００５０】
次に、本実施形態におけるサーバ装置１の動作をフローチャートにより説明する。図１１は、サーバ装置１において実行される表示データの送信処理の詳細を示すフローチャートである。
【００５１】
サーバ装置１がクライアント装置２から入力操作データを受信し、図７に示すような画面データをクライアント用フレームバッファ１４ａに作成し、作成した画面データをクライアント装置２へ送信するまでの手順を示している。図１０のシーケンスＢ０３〜Ｂ０９に相当する。
【００５２】
まず、ステップＳ０１では、クライアント装置２からの、アプリケーションプログラムに関する入力操作データの受信を待ち受ける。入力操作データを受信すると（ステップＳ０１：Yes）、入力操作データに従ってアプリケーションプログラムを実行するアプリケーション処理を行い、表示データを作成する（ステップＳ０２）。
【００５３】
ここで、作成した表示データに対応した識別子となるハッシュ値を、ＭＤ５やＳＨＡ-１などのハッシュ関数を用いて生成し、キャッシュＩＤとする（ステップＳ０３）。そして、生成したキャッシュＩＤをクライアント装置２へ送信する（ステップＳ０４）。
【００５４】
ステップＳ０５で、クライアント装置２からの表示データの送信要求を受信すると（ステップＳ０５：Yes）、作成した表示データをクライアント装置２へ送信する（ステップＳ０６）。そして、ステップＳ０１へ戻り、入力操作データの受信を待ち受ける。
【００５５】
（第１実施形態）
次に、第１実施形態におけるクライアント装置２の動作をフローチャートにより説明する。図１２は、第１実施形態に係るクライアント装置２において実行される表示データの受信処理の詳細を示すフローチャートである。
【００５６】
入力操作に従った表示データは、全画面を更新したときの最初の表示データの座標を基準として、同じＹ座標でＸ座標の左から右方向、次にＹ座標の上から下方向へと移動する確率が高いので、第１実施形態では、図４に示す表示データのキャッシュメモリ２４ａを用いる。すなわち、表示データのキャッシュデータの属性であるＸ座標・Ｙ座標の値に従って並んだ表示データのキャッシュデータを用いる。
【００５７】
クライアント装置２が入力操作データをサーバ装置１へ送信し、サーバ装置１が作成した図７に示すような画面データを受信して表示するまでの手順を示している。図１０のシーケンスＢ０３〜Ｂ１１に相当する。
【００５８】
まず、ステップＣ０１では、ユーザからの、アプリケーションプログラムに関する入力操作を待ち受ける。入力操作があると（ステップＣ０１：Yes）、入力操作に従った入力操作データを生成してサーバ装置１へ送信する（ステップＣ０２）。
【００５９】
サーバ装置１は、入力操作データに従ってアプリケーション処理を行い、表示データを作成すると共に、生成したキャッシュＩＤをクライアント装置２へ送信する。クライアント装置２は、キャッシュＩＤを受信すると（ステップＣ０３：Yes）、受信したキャッシュＩＤを元に表示データのキャッシュメモリ２４ａを検索し、該当するキャッシュデータを読み出してフレームバッファＲＡＭ２５に書き込む（ステップＣ０４）。
【００６０】
検索の結果、該当するキャッシュデータを読み出すことができた場合は（ステップＣ０５：Yes）、後述のステップＣ１２の処理により、読み出したキャッシュデータを反映させた表示データを表示する。
【００６１】
検索の結果、該当するキャッシュデータが無かった場合は（ステップＣ０５：No）、サーバ装置１へ表示データの送信要求を送信し（ステップＣ０６）、要求した表示データをサーバ装置１から受信してフレームバッファＲＡＭ２５に書き込む（ステップＣ０７）。
【００６２】
ここで、受信した表示データをキャッシュデータとして表示データのキャッシュメモリ２４ａへ登録するための一連の処理を行う。
【００６３】
まず、ステップＣ０８では、全画面を更新したときの最初の表示データの座標を基準として、同じＹ座標でＸ座標の左から右方向、次にＹ座標の上から下方向への順にキャッシュデータをソート（並び替え）する。例えば、図７の画面３１において、表示データＩＭＧ１〜ＩＭＧ８の順に表示データが作成されたとすると、図８のようにキャッシュＩＤが１〜８の順にソートされる。
【００６４】
次に、ステップＣ０９で、新たな表示データを書き込むための充分な領域があるか否かを判別する。もし、新たな表示データを書き込むための充分な領域がない場合は（ステップＣ０９：No）、並び順が下位のデータから順にキャッシュデータを削除して書き込み領域を確保する（ステップＣ１０）。
【００６５】
例えば、ユーザの操作により、図７の画面３１から画面３１Ａへ変わる場合は、表示データＩＭＧ１〜ＩＭＧ６の位置に表示データＩＭＧ９が上書き表示される。上書き表示される前の時点で、図８のキャッシュデータは、キャッシュＩＤが１〜８の順にソートされており、新たな表示データＩＭＧ９を書き込むための充分な領域がない状態を想定する。
【００６６】
この場合は、並び順が下位の表示データＩＭＧ８、ＩＭＧ７の順にキャッシュデータが削除されて、新たな表示データＩＭＧ９を書き込むための領域が確保される。その後、ユーザの操作により、再び図７の画面３１Ａから画面３１に戻った場合は、表示データＩＭＧ１〜ＩＭＧ６がキャッシュデータとして残っているので、表示データＩＭＧ１〜ＩＭＧ６をサーバ装置１から受信しなくて済む。
【００６７】
書き込み領域が確保されると、新たな表示データをＸ座標・Ｙ座標の値に従った順位で、キャッシュデータとして表示データのキャッシュメモリ２４ａへ登録する（ステップＣ１１）。
【００６８】
ステップＣ１２では、新たな表示データを反映させたフレームバッファＲＡＭ２５の内容を表示装置２６に表示する。
【００６９】
（第２実施形態）
次に、第２実施形態におけるクライアント装置２の動作をフローチャートにより説明する。図１３は、第２実施形態に係るクライアント装置２において実行される表示データの受信処理の詳細を示すフローチャートである。
【００７０】
入力操作に従った表示データは、表示データの大きさが小さいほうが表示データのキャッシュデータにヒットする確率が高いので、第２実施形態では、図５に示す表示データのキャッシュメモリ２４ａを用いる。すなわち、表示データの属性である大きさに従って小さい順に並んだ表示データのキャッシュデータを用いる。
【００７１】
図１３は、図１２と同様に、クライアント装置２が入力操作データをサーバ装置１へ送信し、サーバ装置１が作成した図７に示すような画面データを受信して表示するまでの手順を示しているが、図１２と同じ処理は同じ記号を付し、図１２と相違する処理のみについて説明する。
【００７２】
図１２のステップＣ０８では、表示データのキャッシュデータの属性であるＸ座標・Ｙ座標の値に従ってソートしたが、図１３のステップＣ０８Ａでは、表示データの属性である大きさに従って小さい順にソートする。
【００７３】
図１２のステップＣ１１では、書き込み領域が確保されると、新たな表示データをＸ座標・Ｙ座標の値に従った順位で登録したが、図１３のステップＣ１１Ａでは、表示データの属性である大きさに従って小さい順に、キャッシュデータとして表示データのキャッシュメモリ２４ａへ登録する。
【００７４】
以上のように、表示データを表示データの属性順に並べた表示データのキャッシュメモリ２４ａを使用することにより、ヒット回数をカウントする等のキャッシュの管理の負荷をかけることなく、クライアント装置での表示を高速化することができる。
【００７５】
なお、第１実施形態では、キャッシュデータの並び順を、全画面を更新したときの最初の表示データの座標を基準としたが、任意のタイミングで基準の座標を決定し、任意の座標を基準として定めてもよい。
【００７６】
前記実施形態において、サーバ装置１からクライアント装置２へデータを送信する際に、サーバ装置１側でデータを圧縮し、クライアント装置２側で受信したデータを伸張するようにしてもよい。また、サーバ装置１側でデータを暗号化し、クライアント装置２側で受信したデータを復号化するようにしてもよい。さらに、データの圧縮・伸張とデータの暗号化・復号化とを組み合わせてもよい。
【００７７】
前記実施形態において記載したサーバ装置１、クライアント装置２の処理、すなわち図１１乃至図１３のフローチャートに示す各処理は、何れもコンピュータが読み取り可能なプログラムとして、外部記憶装置１８、外部記憶装置２８に記憶されている。なお、これらのプログラムは、半導体メモリ（ＲＯＭ、ＲＡＭ等）、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）の記録媒体に記憶してもよく、更に、プログラムの一部若しくは全部をサーバ装置１やクライアント装置２に備えられた記録媒体に記憶し、ネットワーク３を介して受信して読み取る構成にしてもよい。
【００７８】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図。
【図２】本実施形態に係るサーバ装置１の主要部構成を示すブロック図。
【図３】本実施形態に係るクライアント装置２の主要部構成を示すブロック図。
【図４】第１実施形態に係るクライアント装置２のＲＡＭ２４に記憶される表示データのキャッシュメモリ２４ａの一例を示す図。
【図５】第２実施形態に係るクライアント装置２のＲＡＭ２４に記憶される表示データのキャッシュメモリ２４ａの一例を示す図。
【図６】サーバ装置１からクライアント装置２へ送信される送信データのフォーマットの一例を示す図。
【図７】サーバ装置１で作成した画面の一例を示す図。
【図８】サーバ装置１で作成した画面におけるキャッシュデータの一例を示す図。
【図９】従来のサーバ装置１とクライアント装置２との画面表示のシーケンス図。
【図１０】本実施形態に係るサーバ装置１とクライアント装置２との画面表示のシーケンス図。
【図１１】サーバ装置１において実行される表示データの送信処理の詳細を示すフローチャート。
【図１２】第１実施形態に係るクライアント装置２において実行される表示データの受信処理の詳細を示すフローチャート。
【図１３】第２実施形態に係るクライアント装置２において実行される表示データの受信処理の詳細を示すフローチャート。
【符号の説明】
【００８０】
１  …サーバ装置
２  …クライアント装置
３  …通信ネットワーク
１１、２１…ＣＰＵ
１２、２２…バス
１３、２３…ＲＯＭ
１４、２４…ＲＡＭ
１４ａ…クライアント用フレームバッファ
２４ａ…表示データのキャッシュメモリ
１５、２５…フレームバッファＲＡＭ
１６、２６…表示装置
１７、２７…入力装置
１８、２８…外部記憶装置
１９、２９…通信Ｉ／Ｆ
【図１】
2009205218.tif 000003
【図２】
2009205218.tif 000004
【図３】
2009205218.tif 000005
【図４】
2009205218.tif 000006
【図５】
2009205218.tif 000007
【図６】
2009205218.tif 000008
【図７】
2009205218.tif 000009
【図８】
2009205218.tif 000010
【図９】
2009205218.tif 000011
【図１０】
2009205218.tif 000012
【図１１】
2009205218.tif 000013
【図１２】
2009205218.tif 000014
【図１３】
2009205218.tif 000015