(57)【要約】【課題】クライアント装置の描画能力に適した描画方法で画面データを送信すること。【解決手段】サーバ装置は、クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブル１０４Ｂを参照しながら、クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、クライアント装置は、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータをサーバ装置へ送信する。サーバ装置では、その実行終了を示すデータを受信することにより描画終了までの描画時間を計測して、その描画時間から前記クライアント装置に適した描画方法を判定し、描画時間管理テーブル１０４Ｂに登録する。そして、判定された描画方法に従って、クライアント装置からのサービス要求に対応する画面データをクライアント装置へ送信し、クライアント装置で表示する。【選択図】図３
2010250615.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面データを前記クライアント装置へ送信するサーバ装置であって、
前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、
前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、
描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、
この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、
を備えたことを特徴とするサーバ装置。
【請求項２】
前記描画時間計測手段は、前記クライアント装置より前記実行終了を示すデータとして、実行に要した時間を示す時間データを受信し、該時間データによって描画終了までの描画時間を計測することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
ネットワークを介して接続されたサーバ装置ヘサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面データを受信するクライアント装置であって、
前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、
画面データを前記サーバ装置から受信して表示する画面データ表示手段と、
を備えたことを特徴とするクライアント装置。
【請求項４】
前記テスト描画手段が前記サーバ装置へ送信する前記実行終了を示すデータは、実行に要した時間を示す時間データを含むことを特徴とする請求項３に記載のクライアント装置。
【請求項５】
プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、前記クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、
前記サーバ装置は、
前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、
前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、
描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、
この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、
を備え、
前記クライアント装置は、
前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、
画面データを前記サーバ装置から受信して表示する画面データ表示手段と、
を備えたことを特徴とするサーバベースコンピューティングシステム。
【請求項６】
サーバ装置のコンピュータを、
クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段、
描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段、
この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段、
として機能させるためのプログラム。
【請求項７】
クライアント装置のコンピュータを、
サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段、
画面データを前記サーバ装置から受信して表示する画面データ表示手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバクライアントシステム、特にはサーバベースコンピューティングシステムにおけるサーバ装置とクライアント装置、並びに、そのようなサーバベースコンピューティングシステム、及びサーバ装置のコンピュータやクライアント装置のコンピュータで実行されるプログラムに関する。
【背景技術】
【０００２】
サーバクライアントシステムにおいて、クライアント装置にＨＤＤなどを搭載せず、画面表示や入力といった最小限の機能に絞り、重要なデータはすべてサーバ装置側に保存するシンクライアント（Thin client）システムは、有力な情報漏洩対策の１つとして注目を集めている。また、このシンクライアントシステムは、サーバ装置側で集中管理を行うことにより、ソフトウェアのバージョンアップやパッチ適用といった運用管理業務が削減でき、運用コストの削減につながる点もメリットである。
【０００３】
このようなシンクライアントシステムの実装方式の一つに、サーバベースコンピューティング（以下、ＳＢＣと略記する）システムがある。
【０００４】
ＳＢＣシステムは、通信ネットワークにぶら下がるＳＢＣサーバ装置（以下、サーバ装置と称する）とシンクライアント端末装置（以下、クライアント装置と称する）群で構成されて実現される。このＳＢＣシステムでは、クライアント装置からのセッション確立（以下、接続と称する）後、ユーザからの操作をサーバ装置へ伝え、それをサーバ装置がアプリケーション処理して結果の画面を生成し、画面データを描画コマンドや画像データとしてクライアント装置に転送して、クライアント装置が表示画面を構成する。
【０００５】
このようなＳＢＣシステムでは、サーバ装置からできるだけ高品質な画面データを高速に転送してクライアント装置で表示できるようにすることが望まれる。
【０００６】
そこで、例えば、特許文献１では、画面データの内の更新の発生した領域の画像データを低画質で送信することによって画面データ転送に利用可能な帯域の制限を受けにくくなり、画面データの転送を受ける側から見た画面データ転送のリアルタイム性が向上し、低画質で更新画像データが転送された後、その更新画像データは改めて高画質で転送されることで、画面データの転送を受ける側から見た画質の劣化を目立たなくする画面転送方法を提案している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２４６１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前記特許文献１では、通信ネットワークの利用可能な帯域の制約の中で、見た目のリアルタイム性の向上を図っているが、サーバ装置に接続されたクライアント装置それぞれの描画能力の違いについては考慮されていない。
【０００９】
本発明は、前記の点に鑑みてなされたもので、クライアント装置の描画能力に適した描画方法でサーバ装置からクライアント装置へ画面データを送信することが可能なサーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面データを前記クライアント装置へ送信するサーバ装置であって、前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、を備えたことを特徴としている。
【００１１】
請求項２に記載のサーバ装置は、前記請求項１に記載のサーバ装置において、前記描画時間計測手段は、前記クライアント装置より前記実行終了を示すデータとして、実行に要した時間を示す時間データを受信し、該時間データによって描画終了までの描画時間を計測することを特徴としている。
【００１２】
請求項３に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置ヘサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面データを受信するクライアント装置であって、前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、画面データを前記サーバ装置から受信して表示する画面データ表示手段と、を備えたことを特徴としている。
【００１３】
請求項４に記載のクライアント装置は、前記請求項３に記載のクライアント装置において、前記テスト描画手段が前記サーバ装置へ送信する前記実行終了を示すデータは、実行に要した時間を示す時間データを含むことを特徴としている。
【００１４】
請求項５に記載のサーバベースコンピューティングシステムは、プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、前記クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、前記サーバ装置は、前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、を備え、前記クライアント装置は、前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、画面データを前記サーバ装置から受信して表示する画面データ表示手段と、を備えたことを特徴としている。
【００１５】
請求項６に記載のプログラムは、サーバ装置のコンピュータを、クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段、描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段、この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段、として機能させることを特徴としている。
【００１６】
請求項７に記載のプログラムは、クライアント装置のコンピュータを、サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段、画面データを前記サーバ装置から受信して表示する画面データ表示手段、として機能させることを特徴としている。
【発明の効果】
【００１７】
本発明によれば、サーバ装置が画面データをクライアント装置へ送信する前に予めクライアント装置の描画能力をテストし、そのテスト結果に従って描画方法を決定することで、決定した描画方法で画面データを送信することが可能となり、クライアント装置の描画速度を向上することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の一実施形態に係るサーバベースコンピューティングシステムのネットワーク構成例を示す図である。
【図２】図２は、本発明の一実施形態に係るサーバ装置の構成例を示す図である。
【図３】図３は、サーバ装置が備える描画時間管理テーブルの一例を示す図である。
【図４】図４は、本発明の一実施形態に係るクライアント装置の構成例を示すブロック図である。
【図５】図５は、描画能力テスト時のサーバ装置とクライアント装置のシーケンスの一例を示す図である。
【図６】図６は、本発明の一実施形態に係るサーバ装置のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図である。
【図７】図７は、本発明の一実施形態に係るクライアント装置のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図である。
【図８】図８は、描画能力テストに使用するコマンド描画とイメージ描画の一例を説明するための図である。
【図９】図９は、描画能力テストに使用するコマンド描画とイメージ描画の別の例を説明するための図である。
【図１０】図１０は、描画能力テストに使用するコマンド描画とイメージ描画の更に別の例を説明するための図である。
【図１１】図１１は、画面データ転送時のサーバ装置とクライアント装置の動作を説明するための機能ブロック図である。
【図１２】図１２は、画面データ転送時のサーバ装置とクライアント装置のシーケンスの一例を示す図である。
【図１３】図１３は、サーバ装置のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図である。
【図１４】図１４は、クライアント装置のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態を図面を参照して説明する。
【００２０】
図１は、本発明の一実施形態に係るＳＢＣシステムのネットワーク構成例を示す図である。  
このＳＢＣシステムは、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）からなるネットワークＮ上に接続されたサーバ装置（ＳＢＣサーバ装置）１００及び複数のクライアント装置（シンクライアント端末装置）２００を備える。なお、前記クライアント装置２００としては、例えばデスクトップタイプ、ラップトップタイプ、ノートタイプ、携帯端末タイプなど、様々なタイプがある。
【００２１】
本ＳＢＣシステムは、クライアント装置２００からのリモート操作によりサーバ装置１００側で所望のアプリケーションプログラムを起動実行させるようにしたシンクライアントシステムである。ＳＢＣシステムでは、クライアント装置２００のユーザ操作に応じたキー出力信号やマウス出力信号などの入力情報が、その発生の都度入力操作データ（イベント信号）としてサーバ装置１００へ送信される。そしてサーバ装置１００では、前記クライアント装置２００からのイベント信号に応じたアプリケーションプログラム（テキスト作成処理プログラム，Ｗｅｂブラウザプログラム，表計算処理プログラム，メール処理プログラム，等）を実行させて処理を行い、この処理に伴って生成された表示用の画面データを画面更新情報としてその描画更新の都度クライアント装置２００へ転送して、クライアント装置２００の表示装置に画面表示させる。
【００２２】
つまり、本ＳＢＣシステムにおける各クライアント装置２００は、何れもキーボードやマウスなどのユーザ操作に応じた入力機能と表示装置（携帯端末タイプ以外のタイプではプリンタなども含む）への出力機能を主要な機能として有し、少なくとも前記サーバ装置１００が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。そして、クライアント装置２００からの操作入力（入力イベント）の入力操作データに応じてサーバ装置１００にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置１００内あるいは該サーバ装置１００にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００２３】
図２は、前記サーバ装置１００のハードウェア構成例を示すブロック図である。  
サーバ装置１００は、コンピュータとしてのＣＰＵ１０１を備え、このＣＰＵ１０１には、バス１０２を介して、ＲＯＭ１０３、ＲＡＭ１０４、ＶＲＡＭ１０５、表示制御装置１０６、キーボード，マウスなどの入力装置１０７、外部記憶装置１０８、クライアント装置２００との通信制御装置１０９が接続される。また、表示制御装置１０６には、液晶ディスプレイ等の表示装置１１０が接続されている。
【００２４】
ＣＰＵ１０１は、ＲＯＭ１０３に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１０４を作業用メモリとし回路各部の動作を制御するもので、入力装置１０７からのキー入力信号や通信制御装置１０９を介して受信されるクライアント装置２００からのユーザ操作に応じた処理指令（入力イベント）の入力操作データなどに応じて前記種々のプログラムが起動・実行される。
【００２５】
このサーバ装置１００において、クライアント装置２００からの入力操作データに応じて起動・実行されるアプリケーションプログラムに従って生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶装置１０８に記憶され、また、クライアント装置２００での表示用の画面データは、ＲＡＭ１０４内にクライアント装置２００毎に設けられたクライアント用ＶＲＡＭ１０４Ａを使用して、表示画面そのものの画像（以下、イメージと称する）として生成されて、通信制御装置１０９からクライアント装置２００へ転送されて表示出力される。この場合、ＣＰＵ１０１により描画イメージを圧縮処理することで、転送データ量を削減する。あるいは、描画イメージそのものではなくて、例えば座標Ａから座標Ｂへ直線を引けというような描画コマンドとして送信することで、更に転送データ量を削減できる。なお、当該サーバ装置１００自身の表示装置１１０にて表示させるための画面データは、ＶＲＡＭ１０５上に生成され、表示制御装置１０６の制御の下に表示装置１１０に表示される。
【００２６】
また、前記ＲＯＭ１０３にはさらに、クライアント装置２００の描画能力をテストし、そのテスト結果に従って描画方法を決定することで、決定した描画方法で画面データを送信するための、詳細を後述する本発明の一実施形態に係るサーバ装置１００のプログラムが記憶され、前記ＲＡＭ１０４にはさらに、そのための管理テーブルなどが記憶される。なお、前記ＲＯＭ１０３は、書き替え可能なフラッシュメモリによって構成しても良く、その場合には管理テーブルなどを前記ＲＯＭ１０３に記憶するようにしても構わない。
【００２７】
図３は、前記ＲＡＭ１０４（又はフラッシュメモリで構成したＲＯＭ１０３）内にクライアント装置２００毎に記憶された描画時間管理テーブル１０４Ｂの一例を示す図である。
【００２８】
この描画時間管理テーブル１０４Ｂは、クライアント装置２００の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するためのものである。例えば、クライアント装置２００がサーバ装置１００に接続された際に、描画の種類が登録され、詳細は後述するような描画能力テストを実行することで、描画コマンドを解釈して画面を描画するコマンド描画の描画時間と描画イメージを展開して画面を描画するイメージ描画の描画時間とが計測されて、それぞれ登録される。そして、その登録された描画時間を比較した結果、描画時間が短くて済む方の描画方法が選択されて、判定欄に登録される。ここで、「０」はコマンド描画、「１」はイメージ描画が選択されたことを示している。
【００２９】
また、図４は、前記クライアント装置２００のハードウェア構成例を示すブロック図である。  
クライアント装置２００は、コンピュータとしてのＣＰＵ２０１を備え、このＣＰＵ２０１には、バス２０２を介してＲＯＭ２０３、ＲＡＭ２０４、ＶＲＡＭ２０５、描画処理装置２０６、表示制御装置２０７、入力装置２０８、通信制御装置２０９が接続される。また、表示制御装置２０７には、液晶ディスプレイ等の表示装置２１０が接続されている。
【００３０】
ＣＰＵ２０１は、ＲＯＭ２０３に予め記憶されているシステムプログラムに従ってＲＡＭ２０４を作業用メモリとし回路各部の動作を制御するもので、入力装置２０８からのキー入力信号、通信制御装置２０９を介して受信されるサーバ装置１００からのアプリケーション応答信号や画面データなどに応じて前記システムプログラムが起動され実行される。
【００３１】
前記サーバ装置１００におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、前記サーバ装置１００の外部記憶装置１０８に記憶されると共に、適宜、表示用の画面データとしてこのクライアント装置２００に転送されて来る。そして、このクライアント装置２００において、画面データが描画イメージであれば、その圧縮が解凍されてＶＲＡＭ２０５に書き込まれ、表示制御装置２０７の制御の下、表示装置２１０で表示出力される。また、画面データが描画コマンドであれば、描画処理装置２０６にてその描画コマンドを解釈して、ＶＲＡＭ２０５上にその指示された画像を生成することで、表示制御装置２０７の制御の下、表示装置２１０で表示出力される。なお、クライアント装置２００の種類によっては、描画処理装置２０６を搭載していないものもある。そのような機種では、ＣＰＵ２０１が描画コマンドを解釈して、ＶＲＡＭ２０５上にその指示された画像を生成することとなる。
【００３２】
また、前記ＲＯＭ２０３にはさらに、当該クライアント装置２００の描画能力をテストし、そのテスト結果に従って描画方法を決定することで、決定した描画方法で画面データを送信するための、詳細を後述する本発明の一実施形態に係るクライアント装置２００のプログラムが記憶される。
【００３３】
次に、前記構成のＳＢＣシステムの動作について説明する。  
図５は、描画能力テスト時のサーバ装置１００とクライアント装置２００のシーケンスの一例を示す図である。
【００３４】
まず、クライアント装置２００がサーバ装置１００と認証作業を行い、接続を確立する。即ち、クライアント装置２００からサーバ装置１００に対して接続要求を送信し、例えばユーザＩＤ、パスワードによるユーザ認証作業を行って、認証結果がＯＫであれば、接続を確立する。接続確立後にクライアント装置２００側の表示装置２１０にオープニング表示の２Ｄグラフィック表示を行う。
【００３５】
その２Ｄグラフィック表示で、本発明の描画能力テストを行う。    
まず、サーバ装置１００は、描画能力テストの開始をクライアント装置２００に通知し、描画コマンドや描画イメージを転送し、描画時間計測を始める。クライアント装置２００は、そのサーバ装置１００からの描画コマンド又は描画イメージに応じたテスト描画処理を実行し、処理が終了したならば、テスト描画終了をサーバ装置１００へ通知する。サーバ装置１００では、クライアント装置２００からのテスト描画終了通知で時間計測を停止して、描画時間を当該クライアント装置２００用の描画時間管理テーブル１０４Ｂに記憶する。
【００３６】
この描画時間の計測を、図３に示すような描画時間管理テーブル１０４Ｂに登録された複数種類の描画それぞれについて実施する。
【００３７】
そして、描画時間管理テーブル１０４Ｂに登録された全種類の描画についての処理が終了したならば、サーバ装置１００からクライアント装置２００に描画テスト終了を通知する。この描画テスト終了通知の受信に応じて、クライアント装置２００は、ユーザによる通常の操作を受け付る状態となる。
【００３８】
一方、サーバ装置１００では、各描画の種類に関して前記描画時間管理テーブル１０４Ｂに記憶した描画時間を比較して、描画能力を判定し、その判定結果を描画時間管理テーブル１０４Ｂに書き込む。このように、描画能力の判定を描画の全種類の描画時間計測後に一括して行うようにすることで、クライアント装置２００を描画テスト状態から早く開放することができる。
【００３９】
次に、この描画能力テストの詳細を説明する。  
図６は、サーバ装置１００のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図であり、図７は、クライアント装置２００のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図である。
【００４０】
ユーザ認証が終了してクライアント装置２００との接続が確立すると、サーバ装置１００のＣＰＵ１０１は、まず、描画テスト開始通知を通信制御装置１０９を介してクライアント装置２００に通知する（ステップＳ１０１）。そして、コマンド描画の能力をテストする。即ち、描画時間管理テーブル１０４Ｂに従って、一つの種類の描画に関する描画コマンドを画面データとして通信制御装置１０９を介してクライアント装置２００に送信して、通信制御装置１０９を介してクライアント装置２００からテスト描画終了が送信されて来るまでの時間を計測するための図示しないタイマをスタートさせる（ステップＳ１０２）。
【００４１】
即ち、クライアント装置２００のＣＰＵ２０１は、ユーザ認証が終了してサーバ装置１００との接続が確立すると、表示装置２１０にオープニング表示の２Ｄグラフィック表示を行わせた後、サーバ装置１００からの描画テスト開始通知が送信されてくるのを待っている（ステップＳ２０１）。そして、描画テスト開始通知に応じて描画能力テスト処理が開始されたならば、サーバ装置１００から送信されてくる画面データを通信制御装置２０９を介して受信し、その受信した画面データが描画コマンドであるのか、描画イメージであるのかを判断する（ステップＳ２０２）。ここで、描画コマンドを受信した場合には、描画処理装置２０６にその描画コマンドを渡し、描画コマンドに従った描画処理を行わせて、或いは、該描画処理装置２０６を持たない場合にはＣＰＵ２０１が当該描画コマンドに従った描画処理を行って、対応するイメージをＶＲＡＭ２０５に書き込むことで、表示制御装置２０７を介して表示装置２１０に表示する（ステップＳ２０３）。そして、描画処理が終了したならば、通信制御装置２０９を介してサーバ装置１００にテスト描画終了を送信する（ステップＳ２０４）。その後、通信制御装置２０９を介してサーバ装置１００より描画テスト終了通知を受信したか否かを判別し（ステップＳ２０５）、未だ受信していない場合には、前記ステップＳ２０２に戻る。
【００４２】
サーバ装置１００のＣＰＵ１０１においては、通信制御装置１０９を介して前記テスト描画終了を受信すると、前記不図示タイマを停止して、該タイマによって計測された前記描画コマンドを送信してから該テスト描画終了を受信するまでの時間を、クライアント装置２００での当該描画コマンドの描画時間として、描画時間管理テーブル１０４Ｂに書き込む（ステップＳ１０３）。
【００４３】
次に、イメージ描画の能力をテストする。即ち、描画時間管理テーブル１０４Ｂに従って、一つの種類の描画に関する描画コマンドを画面データとして通信制御装置１０９を介してクライアント装置２００に送信して、通信制御装置１０９を介してクライアント装置２００からテスト描画終了が送信されて来るまでの時間を計測するため図示しないタイマをスタートさせる（ステップＳ１０４）。
【００４４】
クライアント装置２００のＣＰＵ２０１は、サーバ装置１００から送信されてくる画面データを通信制御装置２０９を介して受信し、その受信した画面データが描画コマンドであるのか、描画イメージであるのかを判断する（ステップＳ２０２）。ここで、描画イメージを受信した場合には、その圧縮を解凍してＶＲＡＭ２０５に書き込む描画処理を行うことで、表示制御装置２０７を介して表示装置２１０に表示する（ステップＳ２０６）。そして、描画処理が終了したならば、通信制御装置２０９を介してサーバ装置１００にテスト描画終了を送信する（ステップＳ２０４）。その後、通信制御装置２０９を介してサーバ装置１００より描画テスト終了通知を受信したか否かを判別し（ステップＳ２０５）、未だ受信していない場合には、前記ステップＳ２０２に戻る。
【００４５】
サーバ装置１００のＣＰＵ１０１においては、通信制御装置１０９を介して前記テスト描画終了を受信すると、前記不図示タイマを停止して、該タイマによって計測された前記描画コマンドを送信してから該テスト描画終了を受信するまでの時間を、クライアント装置２００での当該描画イメージの描画時間として、描画時間管理テーブル１０４Ｂに書き込む（ステップＳ１０５）。次に、描画時間管理テーブル１０４Ｂに、未処理の描画の種類が存在するか否かを判別することで、描画テストを終了するか否かを判別する（ステップＳ１０６）。未処理の描画種類が存在すれば、描画テストの対象を描画時間管理テーブル１０４Ｂの次の行に進めて（ステップＳ１０７）、前記ステップＳ１０２に戻る。これは、描画の種類によって、コマンド描画の能力とイメージ描画の能力が異なるからである。即ち、クライアント装置２００においては、ある種の描画についてはコマンド描画よりもイメージ描画の方が高速に描画することできるが、別の種類の描画では逆にイメージ描画の方が速いという場合がある。そこで、複数種類の描画それぞれについて、描画時間を計測するようにしている。
【００４６】
こうして、描画時間管理テーブル１０４Ｂに登録された全ての種類の描画のテストが終了したならば（ステップＳ１０６）、サーバ装置１００のＣＰＵ１０１は、描画テスト終了通知を通信制御装置１０９を介してクライアント装置２００に送信する（ステップＳ１０８）。
【００４７】
クライアント装置２００のＣＰＵ２０１は、サーバ装置１００から送信されてくる描画テスト終了装置を通信制御装置２０９を介して受信したならば（ステップＳ２０５）、この描画能力テストに係わる動作を終了して、ユーザからの操作が受け付けられるようになる。
【００４８】
一方、サーバ装置１００のＣＰＵ１０１は、前記描画テスト終了通知の送信後、描画時間管理テーブル１０４Ｂにおける各描画の種類毎に、書き込まれた描画コマンドの描画時間と描画イメージの描画時間とを比較して、短い方を判定する（ステップＳ１０９）。例えば、図３のような結果から、「斜め線描画」の処理の場合には、コマンド描画で処理した方が速いと判断する。「回転」の処理の場合には、サーバ装置１００側でイメージを回転し、生成されたイメージをクライアント装置２００に送った方が処理が速い判断する。また、「直線描画」の処理のように、同じ描画時間の場合には、クライアント装置２００へ送信するデータ量の少ないコマンド描画で処理した方が、データ送信時間が短くなるので、高速であると判断する。
【００４９】
このように描画の種類毎に判定し、結果を示す符号（０；１）を書き込むことで描画時間管理テーブル１０４Ｂを更新して（ステップＳ１１０）、この描画能力テストに係わる動作を終了する。
【００５０】
ここで、前記コマンド描画とイメージ描画について、説明する。  
図８は、前記描画能力テストに使用するコマンド描画とイメージ描画の一例として、斜め斜線の描画を説明するための図である。コマンド描画では、例えば、図８（Ａ）のように始点（ｘ０，ｙ０）から終点（ｘ１，ｙ１）へ線を描く場合、始点及び終点と、その間に線を描け、という描画コマンドをクライアント装置２００へ送信することとなる。これに対して、イメージ描画では、図８（Ｂ）のような座標（ｘ０，ｙ０）の縦ｚ０、横ｚ１の点線で囲まれたような斜め線の描画イメージを作成し、その描画イメージを圧縮してクライアント装置２００へ送信することとなる。
【００５１】
また、図９は、別の例として、円描画を説明するための図である。コマンド描画では、例えば図９（Ａ）のような座標（ｘ２，ｙ２）で半径ｚの円を描く場合、座標と半径と円を描け、という描画コマンドをクライアント装置２００へ送信する。これに対して、イメージ描画では、図９（Ｂ）のような座標（ｘ３，ｙ３）の縦ｚ０、横ｚ１の点線で囲まれたような円の描画イメージを作成し、その描画イメージを圧縮してクライアント装置２００へ送信する。
【００５２】
図１０は、更に別の例として、移動描画を説明するための図である。コマンド描画では、例えば図１０（Ａ）のような既に描画されている座標（ｘ４，ｙ４）での縦ｚ０、横ｚ１の山のイメージを座標（ｘ５，ｙ５）に移動しろ、という描画コマンドをクライアント装置２００へ送信する。これに対して、イメージ描画では、図１０（Ｂ）のような座標（ｘ５，ｙ５）の縦ｚ０、横ｚ１の山の描画イメージを作成し、その描画イメージをクライアント装置２００へ送信する。
【００５３】
以上のようにして、クライアント装置２００の描画能力をテストし、テスト結果を描画時間管理テーブル１０４Ｂに書き込んでおく。そして、サーバ装置１００において、クライアント装置２００のユーザ操作に応じた処理を行い、この処理に伴って生成された表示用の画面データをクライアント装置２００へ転送する際に、前記描画時間管理テーブル１０４Ｂに記憶された結果を読み出し、実行形態を決定する。
【００５４】
図１１は、画面データ転送時のサーバ装置１００とクライアント装置２００の動作を説明するための機能ブロック図であり、図１２は、画面データ転送時のサーバ装置１００とクライアント装置２００のシーケンスの一例を示す図である。以下、これらの図を参照して、実際のユーザの操作から表示するまで動作を説明する。
【００５５】
クライアント装置２００は、マウス２２１のユーザ操作によって動作を検出し、Ｉ／Ｏドライバ２２２が座標を検出する。その座標データを、コントローラ２２３が、例えばＳＢＣ独自プロトコルに従って生成する。また、ネットワークドライバ２２４でＴＣＰ／ＩＰなどのプロトコルに従ったデータを生成する。そして、それをＬＡＮなどの通信ネットワークＮでサーバ装置１００へ送信する。
【００５６】
それを受け取ったサーバ装置１００は、ネットワークドライバ１２１でＴＣＰ／ＩＰなどのプロトコルに従ったデータを解析し、コントローラ１２２でＳＢＣ独自プロトコルを解析する。コントローラ１２２は、その結果がマウス操作であると判断し、ＯＳ１２３は、アプリケーション処理であれば、そのマウス操作をアプリケーション１２４へ伝える。アプリケーション１２４は、マウス操作から処理を実行する。実行した結果、表示が変更する場合、アプリケーション１２４は、表示変更の内容をコマンド又はイメージでディスプレイドライバ１２５へ命令する。
【００５７】
命令を受けたディスプレイドライバ１２５は、コマンドの場合には、描画時間管理テーブル１０４Ｂに記憶されている描画テストの結果を参照して、コマンド描画とするかイメージ描画とするかを決定する。イメージ描画の場合には、前記コマンドを描画イメージに変換して画面データとする。コマンド描画の場合は、そのままのコマンドを画面データとする。
【００５８】
こうして作成した画面データをコントローラ１２２でＳＢＣ独自プロトコルに従って加工する。そして、ネットワークドライバ１２１でＴＣＰ／ＩＰなどのプロトコルに従ったデータを生成し、それをＬＡＮなどの通信ネットワークＮでクライアント装置２００へ送信する。
【００５９】
それを受け取ったクライアント装置２００は、ネットワークドライバ２２４でＴＣＰ／ＩＰなどのプロトコルに従ったデータを解析し、コントローラ２２３ＳＢＣ独自プロトコルを解析して、解析した画面データを判別する。画面データが描画イメージであれば、ディスプレイドライバでグラフィックボード２２６上のＶＲＡＭ２０５へ書き込み、表示装置２１０に表示する。また、画面データが描画コマンドであったならば、ディスプレイドライバ２２５でイメージにしてグラフィックボード２２６上のＶＲＡＭ２０５へ書き込むか、又は、専用の描画処理装置２０６を備えるクライアント装置２００では該描画処理装置２０６を用いてグラフィックボード２２６上のＶＲＡＭ２０５へ書き込み、表示装置２１０に表示する。
【００６０】
次に、この実際のユーザの操作から表示するまで動作の詳細を説明する。  
図１３は、サーバ装置１００のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図であり、図１４は、クライアント装置２００のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図である。
【００６１】
サーバ装置１００は、図６を参照して説明したような描画能力テストに係わる動作を終了すると、通信制御装置１０９を介してクライアント装置２００からの入力操作データの受信待ちとなっている（ステップＳ１２１）。
【００６２】
一方、クライアント装置２００においても、図７を参照して説明したような描画能力テストに係わる動作を終了すると、入力装置２０８の入力操作待ちとなっている（ステップＳ２２１）。そして、入力操作があると、クライアント装置２００のＣＰＵ２０１は、その入力操作に応じた入力操作データを生成して（ステップＳ２２２）、通信制御装置２０９を介してサーバ装置１００へそれを送信する（ステップＳ２２３）。その後は、通信制御装置２０９を介してサーバ装置１００から画面データを受信するのを待つ（ステップＳ２２４）。
【００６３】
サーバ装置１００のＣＰＵ１０１は、通信制御装置１０９を介して入力操作データを受信すると（ステップＳ１２１）、その受信した入力操作データを解析して（ステップＳ１２２）、その内容に従ってアプリケーションを実行する（ステップＳ１２３）。そして、そのアプリケーションの実行の結果、表示画面に変更が生じる場合には、変更後の表示画面をクライアント用ＶＲＡＭ１０４Ａに生成し、変更箇所の描画の種類に対応する判定結果を描画時間管理テーブル１０４Ｂより読み出す（ステップＳ１２４）。
【００６４】
ここで、その読み出した判定結果が、当該描画の種類では、描画コマンドを送った方がクライアント装置２００において早く表示が完了するということを示す場合には（ステップＳ１２５）、描画コマンドの画面データを生成して（ステップＳ１２７）、生成した画面データを通信制御装置１０９を介してクライアント装置２００に送信する（ステップＳ１２７）。これに対して、読み出した判定結果が、当該描画の種類では、描画イメージを送った方がクライアント装置２００において早く表示が完了するということを示す場合には（ステップＳ１２５）、描画イメージの画面データを生成して（ステップＳ１２８）、生成した画面データを通信制御装置１０９を介してクライアント装置２００に送信する（ステップＳ１２７）。その後は、前記ステップＳ１２１に戻って、次の入力操作データの受信待ちとなる。
【００６５】
このようにして送信された画面データを通信制御装置２０９を介して受信すると（ステップＳ２２４）、クライアント装置２００のＣＰＵ２０１は、その受信した画面データが描画コマンドの画面データであるか否かを判別し（ステップＳ２２５）、そうであれば、該ＣＰＵ２０１が又は描画処理装置２０６にてその描画コマンドにより描画してＶＲＡＭ２０５に画面データを生成し、表示制御装置２０７を介して表示装置２１０に表示する（ステップＳ２２６）。これに対して、描画イメージの画面データを受信した場合には（ステップＳ２２５）、その描画イメージによりＶＲＡＭ２０５に画面データを描画し、表示制御装置２０７を介して表示装置２１０に表示する（ステップＳ２２７）。その後は、前記ステップＳ２２１に戻って、次の入力操作待ちとなる。
【００６６】
以上のように、クライアント装置２００によっては、描画処理専用ハードウェアである描画処理装置２０６を搭載していないなどの理由で描画コマンドの処理が不得意な場合があるが、本一実施形態によれば、各描画コマンドが得意か、不得意を事前にテストして処理能力を把握しておいて、不得意な処理は描画コマンドではなくて描画イメージを転送することでクライアント装置２００の表示の処理速度を向上することができる。
【００６７】
なお、前記一実施形態において記載したＳＢＣシステムによる各処理の手法、即ち、図６及び図１３のフローチャートに示すサーバ装置１００による処理及び図７及び図１４のフローチャートに示すクライアント装置２００による処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、サーバ装置１００やクライアント装置２００のコンピュータ（ＣＰＵ１０１，２０１）は、この外部記憶装置の記憶媒体に記憶されたプログラムをＲＡＭ１０４，２０４に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記一実施形態において説明した描画能力テスト及びその結果に応じた画面データ転送機能を実現し、前述した手法による同様の処理を実行することができる。
【００６８】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワークＮ上を伝送させることができ、前記のプログラムデータを、この通信ネットワークＮに接続されたコンピュータ装置（プログラムサーバ）から取り込んでＲＯＭ（フラッシュメモリ）に記憶させてＲＡＭ１０４，２０４に読み込み、あるいは直接ＲＡＭ１０４，２０４に取り込んで記憶させ、前述した描画能力テスト及び画面データ転送機能を実現することもできる。
【００６９】
更に、前記一実施形態では、描画時間管理テーブル１０４Ｂに記憶する描画時間を、サーバ装置１００に設けた図示しないタイマによって画面データの送信からテスト描画終了を受信するまでの時間を計測することで求めているが、タイマをサーバ装置１００側ではなくクライアント装置２００側に設けても良い。この場合には、クライアント装置２００側で、画面データの受信からテスト描画終了までの時間を計測し、テスト描画終了の通知と共にその計測した描画時間をサーバ装置１００側に通知することで、それを描画時間管理テーブル１０４Ｂに記憶すれば良い。このようにすれば、同時に複数のクライアント装置２００に対して描画能力テストを実施しなければならない場合に、個々のクライアント装置２００に対するタイマを並行して走らせる必要がないので、誤測定の可能性は無く、サーバ装置１００の処理能力の浪費が防げ、真に必要とされるクライアント装置２００の入力操作に応じた処理にその処理能力を有効に利用できる。
【００７０】
また、前記一実施形態は、ＳＢＣシステムを例に説明したが、ＳＢＣシステムに限らず、他の実装方式によるシンクライアントシステム、更には、一般的なサーバクライアントシステムにも適用することが可能である。
【００７１】
なお、本願発明は、前記一実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記一実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、一実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【００７２】
１００…サーバ装置
１０１，２０１…ＣＰＵ
１０２，２０２…バス
１０３，２０３…ＲＯＭ
１０４，２０４…ＲＡＭ
１０４Ａ…クライアント用ＶＲＡＭ
１０４Ｂ…描画時間管理テーブル
１０５，２０５…ＶＲＡＭ
１０６，２０７…表示制御装置
１０７，２０８…入力装置
１０８…外部記憶装置
１０９，２０９…通信制御装置
１１０，２１０…表示装置
１２１，２２４…ネットワークドライバ
１２２，２２３…コントローラ
１２３…ＯＳ
１２４…アプリケーション
１２５，２２５…ディスプレイドライバ
２００…クライアント装置
２０６…描画処理装置
２２１…マウス
２２２…Ｉ／Ｏドライバ
２２６…グラフィックボード
Ｎ…通信ネットワーク
【図１】
2010250615.tif 000003
【図２】
2010250615.tif 000004
【図３】
2010250615.tif 000005
【図４】
2010250615.tif 000006
【図５】
2010250615.tif 000007
【図６】
2010250615.tif 000008
【図７】
2010250615.tif 000009
【図８】
2010250615.tif 000010
【図９】
2010250615.tif 000011
【図１０】
2010250615.tif 000012
【図１１】
2010250615.tif 000013
【図１２】
2010250615.tif 000014
【図１３】
2010250615.tif 000015
【図１４】
2010250615.tif 000016