(57)【特許請求の範囲】
【請求項１】
内蔵されたアプリケーションプログラムに従い描画データを生成し、クライアント装置へ送信転送して表示させるサーバ装置であって、
前記アプリケーションプログラムに従い生成される描画データを上書きにより描画して記憶する描画データ記憶手段と、
前記クライアント装置との通信速度を取得する通信速度取得手段と、
この通信速度取得手段により取得されたクライアント装置との通信速度に応じた描画回数を定義する描画回数定義手段と、
内蔵される複数のアプリケーションプログラムにそれぞれ対応した描画データの当該プログラム開始時点からの描画時間を定義する描画時間定義手段と、
前記描画時間定義手段により定義された描画時間と前記描画回数定義手段により定義された描画回数とに基づき設定されたタイミングで前記描画データ記憶手段により記憶された描画データを読み出し前記クライアント装置へ送信転送するデータ送信手段と、
を備えたことを特徴とするサーバ装置。
【請求項２】
前記データ送信手段は、前記描画時間定義手段により定義された描画時間を前記描画回数定義手段により定義された描画回数により除算して設定されたタイミングで前記描画データ記憶手段により記憶された描画データを読み出し前記クライアント装置へ送信転送する、
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記描画回数定義手段は、前記通信速度取得手段により取得されたクライアント装置との通信速度が速い場合よりも遅い場合に少ない描画回数を定義することを特徴とする請求項１あるいは２に記載のサーバ装置。
【請求項４】
内蔵されたアプリケーションプログラムに従い描画データを生成し、クライアント装置へ送信転送して表示させるサーバ装置のコンピュータを制御するためのサーバ処理プログラムであって、
前記コンピュータを、
前記アプリケーションプログラムに従い生成される描画データを上書きにより描画してメモリに記憶する描画データ記憶手段、
前記クライアント装置との通信速度を取得する通信速度取得手段、
この通信速度取得手段により取得されたクライアント装置との通信速度に応じた描画回数を定義する描画回数定義手段、
内蔵される複数のアプリケーションプログラムにそれぞれ対応した描画データの当該プログラム開始時点からの描画時間を定義する描画時間定義手段、
前記描画時間定義手段により定義された描画時間と前記描画回数定義手段により定義された描画回数とに基づき設定されたタイミングで前記描画データ記憶手段により記憶された描画データを読み出し前記クライアント装置へ送信転送するデータ送信手段、
として機能させるようにしたコンピュータ読み込み可能なサーバ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＳＢＣ(Server Based Computing)システムにおいて、サーバ装置にて生成される画面描画データをクライアント装置へ送信転送して表示させるためのサーバ装置およびサーバ処理プログラムに関する。
【背景技術】
【０００２】
従来のサーバ・クライアント・システムにおいて、例えばクライアント装置からのリモート操作によりサーバ装置側で所望のアプリケーションプログラムを起動実行させるＳＢＣ(Server Based Computing)システムがある。
【０００３】
このＳＢＣシステムでは、クライアント装置の操作入力に応じてサーバ装置のアプリケーションプログラムにより生成される表示用の描画データが、該サーバ装置からその描画更新の都度クライアント装置へと送信転送されて表示される（例えば、特許文献１参照。）。
【０００４】
一般に、コンピュータ・システムのアプリケーションプログラムによって生成される表示画面の描画データは、例えば最も画面外側のウインドウを構成する枠、そのウインドウ内周辺のメニューバーやタスクバー、さらに内側のウインドウ枠、その中の操作ボタンなど、様々な部品要素（ウィジェット）を画面内の下位側部品から上位側部品へと順次上書きして行くことで生成される。
【０００５】
そして、ＳＢＣシステムのサーバ装置は、その描画データが更新される都度、つまり現在ある画面描画データに対し何らかのウィジェットが上書きされマージ（合成）処理される都度、当該上書きされたウィジェットが画面内位置情報と共にクライアント装置へと送信転送されて表示更新されるものである。
【特許文献１】特開２００４−１９２３４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このため、特に、サーバ装置のアプリケーションプログラムに従い実行される画面描画データの生成処理に要する時間が、当該画面を構成するウィジェット数が多いことや複雑であることなどにより長かったり、あるいはクライアント装置との通信速度（帯域幅）が低速であったりした場合には、クライアント装置からの要求に対してサーバ装置により生成される描画データが当該クライアント装置に送信転送されて１画面として完成表示されるまでに時間が掛かり、応答性の悪い問題となる。
【０００７】
しかも、描画データを構成するウィジェット毎に送信転送されることで、その都度データ転送のための時間を要し、且つ段階的な表示状態となり、より応答性の悪い結果を招いてしまう。
【０００８】
本発明は、このような課題に鑑みなされたもので、アプリケーションプログラムに従い生成される描画データを、適切なタイミングで効率よく送信することが可能になるサーバ装置およびサーバ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載のサーバ装置は、内蔵されたアプリケーションプログラムに従い描画データを生成し、クライアント装置へ送信転送して表示させるサーバ装置であって、前記アプリケーションプログラムに従い生成される描画データを上書きにより描画して記憶する描画データ記憶手段と、前記クライアント装置との通信速度を取得する通信速度取得手段と、この通信速度取得手段により取得されたクライアント装置との通信速度に応じた描画回数を定義する描画回数定義手段と、内蔵される複数のアプリケーションプログラムにそれぞれ対応した描画データの当該プログラム開始時点からの描画時間を定義する描画時間定義手段と、前記描画時間定義手段により定義された描画時間と前記描画回数定義手段により定義された描画回数とに基づき設定されたタイミングで前記描画データ記憶手段により記憶された描画データを読み出し前記クライアント装置へ送信転送するデータ送信手段と、を備えたことを特徴としている。
【発明の効果】
【００１６】
本発明によれば、アプリケーションプログラムに従い生成される描画データを、適切なタイミングで効率よく送信することが可能になるサーバ装置およびサーバ処理プログラムを提供できる。
【発明を実施するための最良の形態】
【００１７】
以下図面により本発明の実施の形態について説明する。
【００１８】
（第１実施形態）
図１は、本発明のサーバ装置の実施形態に係るＳＢＣ(Server Based Computing)・システムの構成を示すブロック図である。
【００１９】
このＳＢＣシステムは、ＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)からなるネットワークＮ上に接続されたサーバ装置１０および複数のクライアント装置(Thin client)２０，…を備える。
【００２０】
サーバ装置１０は、文書作成処理プログラム，表計算処理プログラム，プレゼン資料作成プログラム，メール処理プログラム，インターネット接続処理プログラム、Ｗｅｂ表示プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置１０に接続されたクライアント装置２０，…からの操作入力（入力イベント）信号に応じて起動しその処理を実行する。
【００２１】
このサーバ装置１０において、クライアント装置２０，…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、端末用のフレームバッファ１４ａ上に生成された表示出力用の描画データは、圧縮処理された後アクセス元のクライアント装置２０，…へ送信（転送）される。
【００２２】
そして、クライアント装置２０，…では、前記サーバ装置１０から転送された描画データがその圧縮を解凍されてフレームバッファ２５に展開され、表示部に表示される。
【００２３】
つまり、このＳＢＣシステムにおける各クライアント装置(Thin client)２０，…は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とＬＣＤ表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置１０が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
【００２４】
そして、クライアント装置２０，…からの操作入力（入力イベント）信号に応じてサーバ装置１０にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置１０内あるいは該サーバ装置１０にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００２５】
図２は、前記ＳＢＣシステムにおけるサーバ装置１０の回路構成を示すブロック図である。
【００２６】
サーバ装置１０は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介してＲＯＭ１３、ＲＡＭ１４、フレームバッファＲＡＭ１５、表示装置１６が接続される。
【００２７】
また、ＣＰＵ１１には、バス１２を介してキーボード，マウスなどのキー入力装置１７、外部記憶装置１８ａ、補助記憶装置１８ｂ、クライアント装置２０，…との通信Ｉ／Ｆ（インターフェイス）１９が接続される。
【００２８】
ＣＰＵ１１は、ＲＯＭ１３に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１４を作業用メモリとし回路各部の動作を制御するもので、キー入力装置１７からのキー入力信号や通信Ｉ／Ｆ１９を介して受信されるクライアント装置２０からのユーザ操作（入力イベント）に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
【００２９】
このサーバ装置１０において、クライアント装置２０からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶装置１８ａに記憶され、また表示用の描画データは、ＲＡＭ１４内の端末用フレームバッファ１４ａを使用して生成されると共に、圧縮処理された後、通信Ｉ／Ｆ１９からクライアント装置２０へ転送されて表示出力される。
【００３０】
なお、当該サーバ装置１０自身の表示装置１６にて表示させるための描画データは、フレームバッファＲＡＭ１５上に生成される。
【００３１】
図３は、前記ＳＢＣシステムにおけるクライアント装置２０の回路構成を示すブロック図である。
【００３２】
クライアント装置２０は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介してＲＯＭ２３、ＲＡＭ２４、フレームバッファＲＡＭ２５が接続される。そして、このフレームバッファＲＡＭ２５に書き込まれた描画データが表示装置２６に出力されて表示される。
【００３３】
また、ＣＰＵ２１には、バス２２を介してキーボード，マウス，マイク，光センサなどのキー入力装置２７、外部記憶装置２８ａ、補助記憶装置２８ｂ、前記サーバ装置１０との通信Ｉ／Ｆ（インターフェイス）２９が接続される。
【００３４】
ＣＰＵ２１は、ＲＯＭ２３に予め記憶されているシステムプログラムに従ってＲＡＭ２４を作業用メモリとし回路各部の動作を制御するもので、キー入力装置２７からのキー入力信号や通信Ｉ／Ｆ２９を介して受信されるサーバ装置１０からのアプリケーション応答信号，転送描画データなどに応じて前記システムプログラムが起動され実行される。
【００３５】
このクライアント装置２０において、前記サーバ装置１０におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置２８ａに読み込ませて記憶させ、また生成転送された表示用の描画データは、その圧縮が解凍されてフレームバッファＲＡＭ２５に書き込まれ表示装置２６で表示出力される。
【００３６】
図４は、前記サーバ装置１０により生成されクライアント装置２０へ転送されて表示される１画面描画データの構成を示す図である。
【００３７】
ここで、前記サーバ装置１０における転送用描画データの生成機能について、その概要を説明する。
【００３８】
クライアント装置２０からのイベント入力に応じて起動されるアプリケーションプログラムに従い、例えば図４（Ｄ）に示すようなウインドウ画面Ｇ４になる転送用の描画データを生成する場合、最初に、図４（Ａ）に示すように、当該ウインドウの最も外側を構成する矩形枠のウィジェットＷｇ１からなる最下位（第１）のウインドウ画面Ｇ１が端末用フレームバッファ１４ａに描画される。
【００３９】
次に、図４（Ｂ）に示すように、ウインドウの最上部で題目を構成するバー形状のウィジェットＷｇ２が前記最下位のウインドウ画面Ｇ１に上書きされてマージされ第２のウインドウ画面Ｇ２が生成される。
【００４０】
続いて、図４（Ｃ）に示すように、ウインドウの中央で情報表示範囲を構成する矩形枠状のウィジェットＷｇ３が前記第２のウインドウ画面Ｇ２に上書きされてマージされ第３のウインドウ画面Ｇ３が生成される。
【００４１】
そして、図４（Ｄ）に示すように、前記第３のウインドウ画面Ｇ３における矩形枠状のウィジェットＷｇ３の中でさらに分割された情報表示範囲を構成する小型矩形枠状のウィジェットＷｇ４が上書きされてマージされ最上位（第４）のウインドウ画面Ｇ４が生成される。
【００４２】
この第１実施形態のＳＢＣシステムによるサーバ装置１０では、例えば前記最上位のウインドウ画面Ｇ４を描画生成してクライアント装置２０へ送信転送し表示させるのに、当該最上位のウインドウ画面Ｇ４を段階的に構成する各ウィジェットＷｇ１〜Ｗｇ４がその描画の都度、送信転送されて表示されるのではなく、実行されるアプリケーションプログラムの画面描画処理に要する時間特性（図６参照）やクライアント装置２０との通信速度（帯域幅）（図７参照）に応じて設定されるタイミングで、その各タイミング期間において上書き・マージ（合成）された描画データが送信転送される。これにより、画面描画処理に要する時間特性やクライアント装置２０との通信速度が低速傾向にある場合には、描画データを送信転送するタイミングを少なくしてクライアント装置２０における表示応答時間がより遅くなるのを防止しつつ最上位のウインドウ画面Ｇ４が一気に完成表示されるようにし、また、画面描画処理に要する時間特性やクライアント装置２０との通信速度が高速傾向にある場合には、描画データを送信転送するタイミングを多くして最上位のウインドウ画面Ｇ４を構成する各ウィジェットＷｇ１〜Ｗｇ４の描画データが高速に且つ段階的に表示され完成されるようにする。
【００４３】
図５は、前記サーバ装置１０により画面描画データを生成して送信転送するためのプログラム機能の構成を示すブロック図である。
【００４４】
クライアント装置２０からのイベント入力に応じて起動されたアプリケーションプログラムＰ１に従い画面描画データが生成される際には、最下位のウインドウ画面Ｇ１に相当する描画処理がウインドウシステムプログラムＰ２により検出される。そして、これ以降前記起動されたアプリケーションプログラムＰ１に従い生成される描画データは、仮想ディスプレイドライバプログラムＰ３により端末用フレームバッファ１４ａに書き込まれ、描画マージ制御部Ｐ３１によりマージ（合成）処理された後、データ変換部Ｐ３２、画面情報送出部Ｐ３３によってデータ圧縮されて転送用の描画データに変換され、クライアント装置２０へ送信転送される。
【００４５】
この際、描画マージ制御部Ｐ３１では、前述したように、実行されるアプリケーションプログラムＰ１の画面描画処理に要する時間特性（図６参照）やクライアント装置２０との通信速度（帯域幅）（図７参照）に応じて設定されるタイミングで、その各タイミング期間内でマージ（合成）されて更新された描画データがデータ変換部Ｐ３２、画面情報送出部Ｐ３３へ送出され、クライアント装置２０へ送信転送される。
【００４６】
図６は、前記サーバ装置１０のＲＡＭ１４に記憶される描画時間テーブル１４ｂの一例を示す図である。
【００４７】
この描画時間テーブル１４ｂには、本サーバ装置１０に備えられる各種のアプリケーションプログラムによって画面描画データを生成するのに要する平均的描画時間（Ｔ）（描画特性情報）が定義され記憶されるもので、例えばＷｅｂブラウザによりそのＷｅｂ閲覧画面を描画生成するのに要する時間Ｔは1000msであり、またテキストエディタによりテキスト編集画面を描画生成するのに要する時間は100msである。
【００４８】
図７は、前記サーバ装置１０のＲＡＭ１４に記憶される帯域幅テーブル１４ｃの一例を示す図である。
【００４９】
この帯域幅テーブル１４ｃには、本サーバ装置１０とクライアント装置２０との通信速度が低速／中速／高速の何れに該当するかを判別するための３段階の帯域幅（128kbit/s未満／128kbit/s〜1Mbit/s／1Mbit/s超）と、当該各帯域（通信速度）におけるアプリケーション処理での描画更新の回数Ｍとが対応付けられて定義され記憶されるもので、例えばアクセス中にあるクライアント装置２０との通信速度が低速に含まれる場合には、そのときの実行アプリケーションにより生成される描画データは、当該アプリ終了に伴う１回の転送用描画データへの変換処理によって一括してクライアント装置２０へ送信され、また中速に含まれる場合には、当該アプリ終了までに５回の転送用描画データへの変換処理によって分けて送信される。
【００５０】
次に、前記構成のＳＢＣシステムにおけるサーバ装置１０の描画データ出力機能について説明する。
【００５１】
図８は、前記サーバ装置１０による第１実施形態の描画データマージ出力処理を示すフローチャートである。
【００５２】
図９は、前記サーバ装置１０の第１実施形態の描画データマージ出力処理に伴うマージタイマ設定処理を示すフローチャートである。
【００５３】
サーバ装置１０において、クライアント装置２０から受信される入力イベントに応じたアプリケーションプログラムＰ１が起動されると、ＣＰＵ１１の基準クロックをカウントして計時するマージタイマがリセットされる（ステップＳ１）。
【００５４】
そして、前記アプリケーションプログラムＰ１に従った描画処理の開始がウインドウシステムプログラムＰ２により検出判断されると（ステップＳ２（Ｙｅｓ））、当該アプリケーションプログラムＰ１に従い生成される描画データは端末用フレームバッファ１４ａに描画され（ステップＳ３）、図９におけるマージタイマ設定処理に移行されて前記端末用フレームバッファ１４ａにて描画マージされた描画データのクライアント装置２０への送信転送を行うタイミングが設定される（ステップＳＡ）。
【００５５】
マージタイマ設定処理が起動されると、ＲＡＭ１４に記憶されている描画時間テーブル１４ｂ（図６参照）から現在実行中のアプリケーションプログラムＰ１に対応した描画特性情報（描画時間（Ｔ））が取得されると共に（ステップＡ１）、現在アクセス中のクライアント装置２０との実際の送受信スピードが検出されてその通信処理に対応する帯域幅が取得され（ステップＡ２）、当該実際の帯域幅に基づき前記ＲＡＭ１４に記憶されている帯域幅テーブル１４ｃ（図７参照）からその通信速度（高速／中速／低速）が判定される（ステップＡ３）。
【００５６】
ここで、前記クライアント装置２０との実際の送受信スピードに対応する帯域幅が例えば128(kbit/s)未満であることにより低速であると判断された場合には（ステップＡ４（Ｙｅｓ））、前記ステップＡ１にて取得された現在実行中のアプリケーションプログラムＰ１による描画特性情報（Ｔ）に基づきその描画処理時間Ｔあたりに１回（Ｍ）の描画データの出力処理を行うタイミング（Ｔ／Ｍ）が前記マージタイマにセットされる（ステップＡ５）。
【００５７】
また、前記クライアント装置２０との実際の送受信スピードに対応する帯域幅が例えば128(kbit/s)〜1(Mbit/s)であることにより中速であると判断された場合には（ステップＡ４（Ｎｏ）→Ａ６（Ｙｅｓ））、前記ステップＡ１にて取得された現在実行中のアプリケーションプログラムＰ１による描画特性情報（Ｔ）に基づきその描画処理時間Ｔあたりに５回（Ｍ）の描画データの出力処理を行うタイミング（Ｔ／Ｍ）が前記マージタイマにセットされる（ステップＡ７）。
【００５８】
さらに、前記クライアント装置２０との実際の送受信スピードに対応する帯域幅が例えば1(Mbit/s)を超えることにより高速であると判断された場合には（ステップＡ６（Ｎｏ））、前記ステップＡ１にて取得された現在実行中のアプリケーションプログラムＰ１による描画特性情報（Ｔ）に基づきその描画処理時間Ｔあたりに５０回（Ｍ）の描画データの出力処理を行うタイミング（Ｔ／Ｍ）が前記マージタイマに設定される（ステップＡ８）。
【００５９】
そして、前記アプリケーションプログラムＰ１の開始に合わせてスタートされるマージタイマの計時時間が前記ステップＳＡにて設定されたタイミング（Ｔ／Ｍ）を経過しないと判断される状態では（ステップＳ４（Ｎｏ））、当該アプリに従った画面描画データの次の描画処理がある毎に（ステップＳ５（Ｙｅｓ））、前記端末用フレームバッファ１４ａに描画されている画面描画データに今回の描画データが上書きされてマージ（合成）される（ステップＳ６）。
【００６０】
この後、前記アプリケーションプログラムＰ１の開始に合わせてスタートされるマージタイマの計時時間が前記ステップＳＡにて設定されたタイミング（Ｔ／Ｍ）を経過したと判断された場合には（ステップＳ４（Ｙｅｓ））、前記端末用フレームバッファ１４ａに描画されている画面描画データが読み出され、通信Ｉ／Ｆ１９を介してクライアント装置２０へ送信転送される（ステップＳ７）。
【００６１】
すなわち、クライアント装置２０との実際の送受信スピードに対応する帯域幅が例えば低速(128kbit/s未満)な状態で、今回開始されたアプリケーションプログラムＰ１がＷｅｂブラウザプログラム（描画時間Ｔ=1000ms）である場合には、当該描画時間Ｔ=1000msが経過するまでは端末用フレームバッファ１４ａの画面描画データが送信転送されることはなく、その間に描画データ（例えばウィジェット単位）の更新処理がある毎に元の画面描画データに対するマージ処理が繰り返し行われる。そして、今回のＷｅｂブラウザプログラムの描画時間Ｔ(=1000ms)が経過した際に前記端末用フレームバッファ１４ａにてマージ処理されていた画面描画データがクライアント装置２０へ送信転送されて表示される。
【００６２】
図１０は、前記サーバ装置１０の描画データマージ出力処理においてクライアント装置２０との通信速度が低速である場合の描画データの出力タイミングを示すタイミングチャートである。
【００６３】
このように、クライアント装置２０との通信速度が遅い場合には、例えばウィジェット単位で更新される描画データをその都度送信転送することはせずに、実行中のアプリケーションプログラムに従った最終的な画面描画データのみを送信転送して表示させるので、クライアント装置２０における表示応答時間がより遅くなるのを防止しつつ最上位のウインドウ画面Ｇ４を一気に完成表示させることができる。
【００６４】
また逆に、クライアント装置２０との実際の送受信スピードに対応する帯域幅が例えば高速(1Mbit/s超え)な状態で、今回開始されたアプリケーションプログラムＰ１がＷｅｂブラウザプログラム（描画時間Ｔ=1000ms）である場合には、当該描画時間Ｔ=1000msが経過するまでに端末用フレームバッファ１４ａにて更新マージ処理される描画データが５０回読み出されてクライアント装置２０へ送信転送され表示される。
【００６５】
このように、クライアント装置２０との通信速度が速い場合には、端末用フレームバッファ１４ａにて更新マージ処理される描画データを５０回に分けて送信させるので、最上位のウインドウ画面Ｇ４を構成する各ウィジェットＷｇ１〜Ｗｇ４の描画データを高速に且つ段階的に表示させて当該最上位のウインドウ画面Ｇ４を完成させることができる。
【００６６】
なお、前記ステップＳ７おいて、端末用フレームバッファ１４ａに描画されている画面描画データが読み出されてクライアント装置２０へ送信転送された後に、同一のアプリケーションプログラムに従った画面描画データの描画処理が継続される場合、前記マージタイマには、前回のマージタイマ設定処理（ステップＳＡ：図９参照）にて設定された同じタイミング（Ｔ／Ｍ）がセットされ（ステップＳ１，Ｓ２（Ｎｏ）→Ｓ８）、前記同様の描画データマージ出力処理が繰り返される（ステップＳ４〜Ｓ７）。
【００６７】
したがって、前記構成のＳＢＣシステムにおけるサーバ装置１０の第１実施形態の描画データ出力機能によれば、クライアント装置２０からのイベント入力に応じて起動されたアプリケーションプログラムによる画面描画データの描画時間Ｔを、クライアント装置２０との通信速度が低速(128kbit/s未満)の場合には１回、中速(128kbit/s〜1Mbit/s)の場合には５回、高速(1Mbit/s超え)の場合には５０回として定義される描画回数Ｍにより除算してその描画タイミングを設定し、この設定された描画タイミングに応じて前記画面描画データの更新処理された描画データをクライアント装置２０へ送信転送して表示させるので、クライアント装置２０との通信速度が遅い場合には、当該クライアント装置２０における表示応答時間がより遅くなるのを防止しつつ最上位のウインドウ画面Ｇ４を一気に完成表示させることができ、また、クライアント装置２０との通信速度が速い場合には、最上位のウインドウ画面Ｇ４を構成する各ウィジェットＷｇ１〜Ｗｇ４の描画データを高速に且つ段階的に表示させて当該最上位のウインドウ画面Ｇ４を完成させることができる。
【００６８】
なお、前記第１実施形態では、サーバ装置１０にて起動されたアプリケーションプログラムによる画面描画時間Ｔを、クライアント装置２０との通信速度に応じて定義される描画回数Ｍにより除算したタイミングで、当該アプリケーションプログラムに従い生成更新される描画データをクライアント装置２０へ送信転送する構成としたが、当該アプリケーションプログラムによる画面描画時間Ｔやクライアント装置２０との通信速度に応じて定義される描画回数Ｍに関係することなく、次の第２実施形態で説明するように、実行されたアプリケーションプログラムによって最上位のウィジェット（Ｗｇ４）が描画されてそのウインドウ画面（Ｇ４）が完成する毎に、当該完成された画面描画データを送信転送する構成としてもよい。
【００６９】
（第２実施形態）
図１１は、前記サーバ装置１０による第２実施形態の描画データマージ出力処理を示すフローチャートである。
【００７０】
この第２実施形態の描画データマージ出力処理を実施するサーバ装置１０では、前記第１実施形態の描画データマージ出力処理を実施したサーバ装置１０にてＲＡＭ１４内に備えた描画時間テーブル１４ｂ（図６参照）および帯域幅テーブル１４ｃ（図７参照）を省略することができる。
【００７１】
サーバ装置１０において、クライアント装置２０から受信される入力イベントに応じたアプリケーションプログラムＰ１が起動され、当該アプリケーションプログラムＰ１に従った描画処理の開始がウインドウシステムプログラムＰ２により検出判断されると（ステップＱ１（Ｙｅｓ））、先ず、ウインドウの最も外側を構成する矩形枠のウィジェットＷｇ１からなる最下位のウインドウ画面Ｇ１（図４（Ａ）参照）が端末用フレームバッファ１４ａに描画されると共にクライアント装置２０へ送信転送されて表示される（ステップＱ２）。
【００７２】
すると、前記アプリケーションプログラムＰ１に従い例えばウィジェット単位で生成更新される描画データが前記最下位のウインドウ画面Ｇ１が描画された端末用フレームバッファ１４ａに対してその都度上書きによりマージ（合成）されて描画更新される（ステップＱ３）。
【００７３】
そして、今回描画更新されたウィジェットが最上位のウインドウ（Ｇ４）を完成させるための最上位のウィジェット（Ｗｇ４）であるか否か判断される（ステップＱ４）。
【００７４】
ここで、前記端末用フレームバッファ１４ａに対して今回描画更新されたウィジェットが最上位のウィジェットではないと判断された場合には（ステップＱ４（Ｎｏ））、さらに前記実行中のアプリケーションプログラムＰ１に従い生成される描画データが前記端末用フレームバッファ１４ａに上書きによりマージ（合成）されて更新描画される（ステップＱ３）。
【００７５】
この後、前記ステップＱ４において、前記端末用フレームバッファ１４ａに対して今回描画更新されたウィジェットが最上位のウィジェットであると判断された場合には（ステップＱ４（Ｙｅｓ））、当該端末用フレームバッファ１４ａにて今回の最上位のウィジェットまで描画更新されてマージ（合成）された描画データが読み出され、通信Ｉ／Ｆ１９を介してクライアント装置２０へ送信転送される（ステップＱ５）。
【００７６】
したがって、前記構成のＳＢＣシステムにおけるサーバ装置１０の第２実施形態の描画データ出力機能によれば、クライアント装置２０からのイベント入力に応じて実行されるアプリケーションプログラムに従い、端末用フレームバッファ１４ａに対してウィジェット単位で順次上書きによりマージ（合成）されて更新される描画データは、その最上位のウィジェットが描画されて１画面の描画データが完成された際に、当該端末用フレームバッファ１４ａから読み出されてクライアント装置２０へ送信転送され表示されるので、前記第１実施形態のサーバ装置１０において必要とした描画時間テーブル１４ｂおよび帯域幅テーブル１４ｃを省略することができる。しかも、特にクライアント装置２０との通信速度が低速である場合でも、ウインドウ画面を構成する各ウィジェットがそれ毎に送信転送されて応答性悪く表示されてしまうことなく、最上位のウインドウ画面を一気に完成表示させることができる。
【００７７】
なお、前記各実施形態において記載したＳＢＣシステムのサーバ装置１０によるに各処理の手法、すなわち、図８のフローチャートに示すサーバ装置１０の第１実施形態の描画データマージ出力処理、図９のフローチャートに示す前記第１実施形態の描画データマージ出力処理に伴うマージタイマ設定処理、図１１のフローチャートに示すサーバ装置１０の第２実施形態の描画データマージ出力処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記録媒体１８ａに格納して配布することができる。そして、サーバ装置１０のコンピュータ（ＣＰＵ１１）は、この外部記録媒体１８ａに記憶されたプログラムを記憶装置（フラッシュＲＯＭ１３やＲＡＭ１４）に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記各実施形態において説明した描画データのマージ出力機能を実現し、前述した手法による同様の処理を実行することができる。
【００７８】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク（Ｎ）上を伝送させることができ、この通信ネットワーク（Ｎ）に接続されたコンピュータ装置（プログラムサーバ）から前記のプログラムデータを取り込んで記憶装置（フラッシュＲＯＭ１３やＲＡＭ１４）に記憶させ、前述した描画データのマージ出力機能を実現することもできる。
【００７９】
また、前記各実施形態では、ＳＢＣシステムのサーバ装置１０による描画データマージ出力機能について説明したが、通常のサーバ・クライアント・システムのサーバ装置によってクライアント装置のための描画データを描画生成し送信転送して表示させる場合でも、前記同様の描画データマージ出力機能を適用することができる。
【００８０】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【図面の簡単な説明】
【００８１】
【図１】本発明のサーバ装置の実施形態に係るＳＢＣ(Server Based Computing)・システムの構成を示すブロック図。
【図２】前記ＳＢＣシステムにおけるサーバ装置１０の回路構成を示すブロック図。
【図３】前記ＳＢＣシステムにおけるクライアント装置２０の回路構成を示すブロック図。
【図４】前記サーバ装置１０により生成されクライアント装置２０へ転送されて表示される１画面描画データの構成を示す図。
【図５】前記サーバ装置１０により画面描画データを生成して送信転送するためのプログラム機能の構成を示すブロック図。
【図６】前記サーバ装置１０のＲＡＭ１４に記憶される描画時間テーブル１４ｂの一例を示す図。
【図７】前記サーバ装置１０のＲＡＭ１４に記憶される帯域幅テーブル１４ｃの一例を示す図。
【図８】前記サーバ装置１０による第１実施形態の描画データマージ出力処理を示すフローチャート。
【図９】前記サーバ装置１０の第１実施形態の描画データマージ出力処理に伴うマージタイマ設定処理を示すフローチャート。
【図１０】前記サーバ装置１０の描画データマージ出力処理においてクライアント装置２０との通信速度が低速である場合の描画データの出力タイミングを示すタイミングチャート。
【図１１】前記サーバ装置１０による第２実施形態の描画データマージ出力処理を示すフローチャート。
【符号の説明】
【００８２】
１０  …サーバ装置
２０  …端末装置
１１、２１…ＣＰＵ
１２、２２…バス
１３、２３…ＲＯＭ
１４、２４…ＲＡＭ
１４ａ…端末用フレームバッファ
１４ｂ…描画時間テーブル
１４ｃ…帯域幅テーブル
１５、２５…フレームバッファＲＡＭ
１６、２６…表示装置
１７、２７…キー入力装置
１８ａ、２８ａ…外部記憶装置
１８ｂ、２８ｂ…補助記憶装置
１９、２９…通信Ｉ／Ｆ
Ｎ  …通信ネットワーク
Ｗｇ１…最下位のウィジェット（部品要素）
Ｇ１…最下位のウインドウ画面
Ｗｇ４…最上位のウィジェット（部品要素）
Ｇ４…最上位のウインドウ画面
【図１】
0004973390.tif 000002
【図２】
0004973390.tif 000003
【図３】
0004973390.tif 000004
【図４】
0004973390.tif 000005
【図５】
0004973390.tif 000006
【図６】
0004973390.tif 000007
【図７】
0004973390.tif 000008
【図８】
0004973390.tif 000009
【図９】
0004973390.tif 000010
【図１０】
0004973390.tif 000011
【図１１】
0004973390.tif 000012