(57)【要約】【課題】ウインドウ制御プログラム等のむやみな設計変更を避けることで、開発コストを下げるとともに、相互運用性及び互換性を保ちながら、画面データの送信速度を速くすることが可能なサーバベースコンピューティングシステムを提供すること。【解決手段】ネットワークを介したクライアント装置からのサービス要求に対応する画面情報をクライアント装置へ送信するサーバ装置であって、サービス要求を構成する描画命令の種類を判別する手段と、判別された描画命令の種類が表示コマンドによる描画更新可能な描画命令である場合、描画命令に対応する表示コマンドをクライアント装置へ送信する手段と、表示コマンドによる描画更新不可能な描画命令である場合、描画命令に従って画像データを生成する手段と、生成された画像データをクライアント装置で表示させるためのフレームバッファに一時的に格納する手段とを備える。【選択図】図８
2009020723.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
前記サービス要求を構成する描画命令の種類を判別する描画命令種判別手段と、
前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新可能な描画命令である場合、前記描画命令に対応する表示コマンドを前記クライアント装置へ送信する表示コマンド送信手段と、
前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新不可能な描画命令である場合、前記描画命令に従って画像データを生成する画像データ生成手段と、
前記画像データ生成手段によって生成された画像データを前記クライアント装置で表示させるためのフレームバッファに一時的に格納する画像データ格納手段と、
を備えることを特徴とするサーバ装置。
【請求項２】
さらに、
前記画像データ格納手段に一時的に格納された画像データを前記クライアント装置へ送信する画像データ送信手段、
を備えることを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記描画命令種判別手段は、前記クライアント装置と前記描画命令と描画更新可能か描画命令不可能かを示す情報との対応関係を格納したテーブルに基づいて、前記サービス要求を構成する描画命令の種類を判別することを特徴とする請求項１または２に記載のサーバ装置。
【請求項４】
前記画像データ生成手段は、任意の圧縮処理を実行することにより画像データを生成することを特徴とする請求項１乃至３の何れか１項に記載のサーバ装置。
【請求項５】
ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、
前記サービス要求を構成する描画命令の種類を判別する描画命令種判別手段、
前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新可能な描画命令である場合、前記描画命令に対応する表示コマンドを前記クライアント装置へ送信する表示コマンド送信手段、
前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新不可能な描画命令である場合、前記描画命令に従って画像データを生成する画像データ生成手段、
前記画像データ生成手段によって生成された画像データを前記クライアント装置で表示させるためのフレームバッファに一時的に格納する画像データ格納手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムに関する。
【背景技術】
【０００２】
近年、ネットワークの高速化に伴い、サーバ装置の画面をリアルタイムにネットワークを介して送信し、遠隔のクライアント装置に表示させ、遠隔からサーバ装置の操作を行なうサーバベースコンピューティングシステム（シンクライアントシステム）が広まってきている。たとえば、リモートマシンのデスクトップを手元のマシンから使えるようにするＶＮＣ（Virtual Network Computing）などがそのサーバベースコンピューティングシステムの例としてある。
【０００３】
サーバベースコンピューティングシステムとは、クライアント装置（シンクライアント装置とも呼ばれる）とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行なうと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである（例えば、特許文献１参照。）。
【０００４】
サーバ装置はクライアント装置用の表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等のストレージが不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。
【０００５】
図１は、サーバベースコンピューティングシステムの構成を示す図である。
図１に示すとおり、サーバベースコンピューティングシステムは、クライアント装置１０からは、キーボードやマウスなどの入力装置からの入力情報をサーバ装置２０へ送り、その入力情報に基づいてサーバ装置２０が処理を実行し、更新された画面情報（座標、大きさと画像）をクライアント装置１０へ送るというものである。クライアント装置１０は、その画面情報を表示装置に反映させる。
【０００６】
図２は、サーバベースコンピューティングシステムの概要を説明するための図である。
図２に示す通り、クライアント装置１０とサーバ装置２０は、ネットワーク（通信網）を介して互いに接続され、サーバベースコンピューティングシステムを形成している。クライアント装置１０が無線通信を行なう場合には、中継装置３０およびネットワークを介してサーバ装置２０と通信を行なう。
【０００７】
このようなサーバベースコンピューティングシステムでは、例えば、サーバ装置２０からクライアント装置１０に画像データを転送する際に、更新の発生した画像データを低画質で送信することにより、画像転送に利用可能な帯域の制限が受けにくくなり、画面転送のリアルタイム性が向上し、低画質データの送信後に改めて高画質の画像データを送信することにより、画質の劣化を目立たせなくするという技術が開示されている（例えば、特許文献２参照。）。
【０００８】
【特許文献１】特開２００５−２２８２２７号公報
【特許文献２】特開２００６−２４６１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述のようなサーバベースコンピューティングシステムには、下記のような問題点があった。
図３は、従来の画像データの取得を説明するための図である。
【００１０】
上述したような従来のサーバベースコンピューティングシステムの場合、通常のネットワークコンピュータの実現における、表示の手法と基本的に同様である。すなわち、サーバ装置２０が動作する際の流れのどこかを捕まえ（「ＨＯＯＫ（フック）する」という表現がよく使われる）、捕まえたデータを元にクライアント装置１０用の表示データを作成し、ネットワークを介してその作成した表示データをクライアント装置１０に送信することになる。
【００１１】
より具体的には、図３に示したように、まず、サーバ装置１０上で動作しているアプリケーションプログラム３１が、ウインドウ制御プログラム３２に対して画面を描画するための描画命令を出す。ウインドウ制御プログラム３２は、クライアント装置表示用デバイスドライバ３３に対して描画命令を出す。クライアント装置表示用デバイスドライバ３３は、そのデータをピクセルデータに変換しクライアント装置用フレームバッファ３４に格納し、そのデータがモニタ装置等に表示されることになる。
【００１２】
上述のような流れにおいて、従来のネットワークコンピュータであるサーバ装置１０がＨＯＯＫしている方式はおもに下記の３つの方式が存在する。
第１の方式は、アプリケーションプログラム３１とウインドウ制御プログラム３２との間のＡＰＩ（Application Program Interface）に対してＨＯＯＫする方式で、ＡＰＩ  ＨＯＯＫと呼ばれている方式である。
【００１３】
この第１の方式ではアプリケーションプログラム３１がウインドウ制御プログラム３２に発行する描画命令をそのままネットワークに転送し、クライアント装置２０にウインドウ制御プログラム３２と同等の機能をもたせることで処理結果の画面を表示することになる。
【００１４】
しかしながら、この第１の方式では、ウインドウ制御プログラム３２はコンピューティング環境への依存度が高いため、クライアント装置２０とサーバ装置１０とで環境が異なる場合、双方での相互運用が不可能であるという問題があった。さらに、ＡＰＩ層における描画命令は圧縮がきかないため、膨大なデータ量をネットワークに送信することとなり、これがシステムパフォーマンスの低下をもたらすという問題点があった。
【００１５】
第２の方式は、ウインドウ制御プログラム３２に対してＨＯＯＫする方式である。
この第２の方式の場合、ウインドウ制御プログラム３２を独自に開発ないしは既存のウインドウ制御プログラム３２を改良し、アプリケーションプログラム３１から受けた描画命令を制御し、それをネットワーク経由でクライアント装置１０に送信することとなる。
【００１６】
しかしながら、この第２の方式は、ウインドウ制御プログラム３２の開発コストが大きく、また、アプリケーションプログラム３１に新しいライブラリなどが出現した場合、そのたびにウインドウ制御プログラム３２を改良する必要であるため、互換性をとることが困難であり、開発コストが益々増大するという問題点があった。また、ＡＰＩ  ＨＯＯＫと同様、この層ではピクセルデータが扱いにくいため、データ圧縮をきかせにくいという問題もあった。
【００１７】
第３の方式は、描画するピクセルデータを格納したクライアント装置用フレームバッファ３４をＨＯＯＫし、画面用のピクセルデータを送信する方式である。
この第３の方式の場合、ピクセルデータという環境を選ばないデータを送信するため、環境間の互換性の問題はかなり軽減される。
【００１８】
しかしながら、この第３の方式の場合、ごく簡単な描画命令であっても更新領域におけるピクセルデータの全てを送信する必要がある。ピクセルデータは描画命令に比べてデータ量が膨大であるため、たとえ圧縮をかけてもネットワーク負荷が増大するという問題点があった。また、圧縮処理そのものの負荷も高いため、サーバ装置１０のパフォーマンスがそれにより低下するという問題点があった。
【００１９】
本発明は、上記問題点に鑑みてなされたものであり、アプリケーションプログラム３１やウインドウ制御プログラム３２のむやみな設計変更を避けることで、開発コストを下げるとともに、相互運用性及び互換性を保ちながら、データ量の小さい描画命令と相互運用性の高いピクセルデータの双方を制御することにより、画面データの送信速度を速くすることが可能なサーバベースコンピューティングシステムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、前記サービス要求を構成する描画命令の種類を判別する描画命令種判別手段と、前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新可能な描画命令である場合、前記描画命令に対応する表示コマンドを前記クライアント装置へ送信する表示コマンド送信手段と、前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新不可能な描画命令である場合、前記描画命令に従って画像データを生成する画像データ生成手段と、前記画像データ生成手段によって生成された画像データを前記クライアント装置で表示させるためのフレームバッファに一時的に格納する画像データ格納手段とを備えることを特徴とする。
【００２１】
また、本発明のサーバ装置は、さらに、前記画像データ格納手段に一時的に格納された画像データを前記クライアント装置へ送信する画像データ送信手段を備えることが望ましい。
【００２２】
また、本発明のサーバ装置は、前記描画命令種判別手段が、前記クライアント装置と前記描画命令と描画更新可能か描画命令不可能かを示す情報との対応関係を格納したテーブルに基づいて、前記サービス要求を構成する描画命令の種類を判別することが望ましい。
【００２３】
また、本発明のサーバ装置は、前記画像データ生成手段が、任意の圧縮処理を実行することにより画像データを生成することが望ましい。
また、本発明の一態様によれば、本発明のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、前記サービス要求を構成する描画命令の種類を判別する描画命令種判別手段、前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新可能な描画命令である場合、前記描画命令に対応する表示コマンドを前記クライアント装置へ送信する表示コマンド送信手段、前記描画命令種判別手段によって判別された描画命令の種類が表示コマンドによる描画更新不可能な描画命令である場合、前記描画命令に従って画像データを生成する画像データ生成手段、前記画像データ生成手段によって生成された画像データを前記クライアント装置で表示させるためのフレームバッファに一時的に格納する画像データ格納手段として機能させるためのプログラムである。
【発明の効果】
【００２４】
本発明によれば、アプリケーションプログラム３１やウインドウ制御プログラム３２のむやみな設計変更を避けることで、開発コストを下げるとともに、相互運用性及び互換性を保ちながら、データ量の小さい描画命令と相互運用性の高いピクセルデータの双方を制御することにより、画面データの送信速度を速くすることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について図面を参照しながら説明する。
まず、本発明の実施の形態について概略を説明する。
本発明が適用されるサーバ装置２０は、ネットワークを介したクライアント装置１０からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置１０へ送信するサーバ装置２０である。そして、サーバ装置２０は、描画命令の種類を判別し、その種類に応じて、表示コマンドまたはピクセルデータを作成してクライアント装置１０へ送信するデバイスドライバを備える。
【００２６】
図４は、クライアント装置１０のハードウェア構成の概略を示す図である。
図４において、クライアント装置１０は、ＣＰＵ（中央処理装置：Central Processing Unit）３０２、各種のデータや信号等を入力するための入力装置３０３、画像やその他の情報を表示するための表示装置３０４、クライアント装置１０において実行する処理を実行するプログラムの他、クライアント装置１０の各機能を制御し実行するための制御プログラムが収納されたＲＯＭ３０５やＲＡＭ３０６、表示装置３０４に表示するための画像を一時的に格納するフレームバッファＲＡＭ３０７、無線ＬＡＮや携帯電話網等のネットワークに接続するための通信Ｉ／Ｆ３０８、画像データ、通信データを始め様々な情報を記録するための外部記憶装置３０９や補助記憶装置３１０がバス３０１に接続されて構成され、ＣＰＵ３０２がこれらの各部を制御している。
【００２７】
図５は、サーバ装置２０のハードウェア構成の概略を示す図である。
図５において、サーバ装置２０は、ＣＰＵ２０２、各種のデータや信号等を入力するための入力装置２０３、画像やその他の情報を表示するための表示装置２０４、サーバ装置２０において実行する処理を実行するプログラムの他、サーバ装置２０の各機能を制御し実行するための制御プログラム及びテーブルデータなどが収納されたＲＯＭ２０５やクライアント装置１０用のフレームバッファ（クライアント装置用フレームバッファ３４）等が格納されたＲＡＭ２０６、表示装置２０４に表示するための画像を一時的に格納するＶＲＡＭ２０７、ＬＡＮ等のネットワークに接続するための通信Ｉ／Ｆ２０８、画像データ、通信データを始め様々な情報を記録するための外部記憶装置２０９や補助記憶装置２１０がバス２０１に接続されて構成され、ＣＰＵ２０２がこれらの各部を制御している。
【００２８】
次に、本発明を更に具体的に説明する。本発明は、サーバ装置２０において実行されるサーバ処理として実現する。
図６は、本発明の概要を説明するための図である。
【００２９】
図６において、本発明を適用したサーバ装置２０が備えるアプリケーションプログラム３１およびウインドウ制御プログラム３２は、従来のアプリケーションプログラム３１およびウインドウ制御プログラム３２と同様である。
【００３０】
そして、本発明を適用したサーバ装置２０は、さらに、デバイスドライバ６０を備える。このデバイスドライバ６０は、ウインドウ制御プログラム３２とのインターフェースであるデバイス−ウインドウＩ／Ｆ（インターフェース）６１とメインモジュール６２とを備えている。
【００３１】
デバイス−ウインドウＩ／Ｆ６１は、通常のビデオドライバ用のインターフェースと同様である。通常、ウインドウ制御プログラム３２とのインターフェースは、デバイスに非依存であり、また、ＯＳ間の違いもかなり少ないため、システム間の相互運用性が期待できる。
【００３２】
ウインドウ制御プログラム３２との間における描画命令の例を以下に示す。これらの描画命令は、ウインドウ制御プログラム３２において多少の違いはあっても、少なくとも基本的なものについてはどのシステムも共通に提供するものである。
【００３３】
PolyFillRect：ある矩形領域を単色で塗りつぶす描画命令
PolyFillArc：弧の描画命令
PaintWindowBackground：あるウインドウの背景を塗りつぶす描画命令
【００３４】
CopyWindow：スクリーン上の別の領域にウインドウをコピーする描画命令
メインモジュール６２は、図９等を用いて後述する画像データ処理の他、クライアント装置１０に対して画像データや描画命令を送信する機能、圧縮回路３５とのインタラクション機能を実現する。
【００３５】
クライアント装置用フレームバッファ３４は、ピクセルデータ化された画面データが格納される。ここに格納されたピクセルデータは圧縮回路３５で圧縮された後にネットワークを経由してクライアント装置１０に送出される。なお、圧縮回路３５は、ソフトウェアで実現してもよく、圧縮機能の実装方法自体はなんでもよい。
【００３６】
ここで、本発明を適用した画面データ処理の流れを説明する前にいくつかの前提技術を説明する。
画面データは主に、Display Command Update（表示コマンドによる画面更新）とPixel Data Update（ピクセルデータによる画面更新）の２種類に分類される。前者の「表示コマンドによる画面更新」は、ウインドウ制御プログラム３２とのインターフェース部分からインターセプトされるもので、描画命令とともに描画用のベクトルデータを送信する。ピクセル化処理はクライアント装置１０で実行される。
【００３７】
図７は、表示コマンドによる画面更新の例を示す図である。
表示コマンドによる画面更新としては、例えば、ＣＯＰＹ：ある領域の画像を別の領域に複製するための表示コマンド（図７の（Ａ））、ＳＦＩＬＬ：単色で矩形を塗りつぶすための表示コマンド（図７の（Ｂ））、ＰＦＩＬＬ：一定のパタンで矩形領域を塗りつぶすための表示コマンド（図７の（Ｃ））等があるが、本質的にはウインドウ制御プログラム３２とのインターフェースで扱えるものであればこの限りではない。
【００３８】
また、後者の「ピクセルデータによる画面更新」は、クライアント装置用フレームバッファ３４に格納されたピクセルデータから更新領域部分の矩形を切り出し、何らかのアルゴリズムを用いて圧縮回路３５で圧縮処理を行ない、クライアント装置１０に対して圧縮されたピクセルデータを送信する。この場合、クライアント装置１０は、受信したデータを伸張し、ピクセルデータを画面に表示することである。
【００３９】
図８は、描画データの流れを説明するための図である。
図８において、まず、ウインドウ制御プログラム３１は、デバイスドライバ６０が備えるデバイス−ウインドウＩ／Ｆ６１を介してメインモジュール６２に描画命令を出す。
【００４０】
この描画命令が、Display Command Update（表示コマンドによる画面更新）ではなくPixel Data Update（ピクセルデータによる画面更新）の描画命令（図８中の描画命令１）の場合は、その描画命令（描画命令１）に従って画像データを生成し、その生成した画像データをクライアント装置用フレームバッファ３４に一時的に格納する。この描画命令には、更新領域（座標、幅、高さ）が含まれている。そして、メインモジュール６２は、更新領域の画像データをクライアント装置用フレームバッファ３４から切り出し、圧縮回路３５に渡す。その後、圧縮回路３５から圧縮された画像データを受け取り、その圧縮された画像データをクライアント装置１０へ送信する。
【００４１】
他方、ウインドウ制御プログラム３１が出した描画命令が、Pixel Data Update（ピクセルデータによる画面更新）ではなくDisplay Command Update（表示コマンドによる画面更新）の描画命令（図８中の描画命令２）の場合は、その描画命令（描画命令２）に対応する表示コマンドをクライアント装置１０へ送信する。
【００４２】
次に、本発明を更に具体的に説明する。本発明は、サーバ装置２０において実行されるサーバ処理として実現する。
図９は、サーバ装置２０において実行される画面データ処理の流れを示すフローチャートであり、図１０は、コマンド送信を判別するためのテーブル群の例を示す図であり、図１０の（Ａ）は、クライアント装置１０を識別するために各クライアント装置１０にユニークに付されたクライアント装置ＩＤと、クライアント装置１０の種類を示すクライアント装置名とを対応付けたクライアント装置テーブルの例であり、図１０の（Ｂ）は、描画命令を識別するためにユニークに付された描画命令ＩＤと描画命令とを対応付けた描画命令テーブルの例であり、図１０の（Ｃ）は、描画命令ＩＤとクライアント装置ＩＤとの組み合わせと、表示コマンドによる送信が可能か否かを示す情報（コマンド送信可？）とを対応付けたコマンド送信可否テーブルの例である。
【００４３】
まず、図９のステップＳ９０１において、サーバ装置２０のデバイスドライバ６０が備えるメインモジュール６２は、ウインドウ制御プログラム３２から描画命令を受信し、ステップＳ９０２において、受信した描画命令が、Display Command Update（表示コマンドによる画面更新）可能な描画命令（描画命令２）であるか否かを判断する。
【００４４】
描画命令がDisplay Command Update（表示コマンドによる画面更新）可能な描画命令（描画命令２）であるか否かの判断は、図１０に示したようなテーブル群を参照することにより行なう。例えば、クライアント装置１０としてのパーソナルコンピュータ（ＰＣ）に対するものであって、描画命令が「PolyFillArc（弧の描画命令）」の場合、図１０の（Ａ）のクライアント装置テーブルから「ＰＣ」のクライアント装置ＩＤ「０」を参照し、図１０の（Ｂ）の描画命令テーブルから「PolyFillArc」の描画命令ＩＤ「１」を参照する。そして、図１０の（Ｃ）のコマンド送信可否テーブルから描画命令ＩＤ「１」とクライアント装置ＩＤ「０」との組み合わせに対応する「ＦＡＬＳＥ」を参照することにより、表示コマンドによる描画更新が不可能であることが判断できる。
【００４５】
図９の説明に戻る。
ステップＳ９０２で、Display Command Update（表示コマンドによる画面更新）可能な描画命令（描画命令２）ではないと判断した場合（ステップＳ９０２：ＮＯ）、すなわちPixel Data Update（ピクセルデータによる画面更新）の描画命令（描画命令１）であると判断した場合は、ステップＳ９０３において、その描画命令（描画命令１）に従って画像データを生成し、その生成した画像データをクライアント装置用フレームバッファ３４に一時的に格納し、ステップＳ９０４において、更新領域の画像データをクライアント装置用フレームバッファ３４から切り出し、圧縮回路３５に渡す。
【００４６】
その後、ステップＳ９０５において、圧縮回路３５によって圧縮された画像データを受け取り、ステップＳ９０６において、その圧縮された画像データをクライアント装置１０へ送信し、ステップＳ９０１に戻り、次の描画命令を待つ。
【００４７】
他方、ステップＳ９０２で、Display Command Update（表示コマンドによる画面更新）可能な描画命令（描画命令２）ではあると判断した場合（ステップＳ９０２：ＹＥＳ）は、ステップＳ９０７において、サブルーチン「コマンド振分け処理」を実行する。
【００４８】
図１１は、サブルーチン「コマンド振分け処理」の流れを示すフローチャートである。
まず、ステップＳ１１０１において、ウインドウ描画情報を確認し、ステップＳ１１０２において、ウインドウの背景が単色であるか否かを判断する。
【００４９】
ウインドウの背景が単色であると判断された場合（ステップＳ１１０２：ＹＥＳ）は、ステップＳ１１０３において、表示コマンド「ＳＦＩＬＬ」（図７の（Ｂ）参照）をクライアント装置１０へ送信し、図９のステップＳ９０１に戻り、次の描画命令を待つ。
【００５０】
他方、ウインドウの背景が単色でないと判断された場合（ステップＳ１１０２：ＮＯ）は、ステップＳ１１０４において、ウインドウの背景が単一パタンであるか否かを判断する。
【００５１】
そして、ウインドウの背景が単一パタンであると判断された場合（ステップＳ１１０４：ＹＥＳ）は、ステップＳ１１０５において、表示コマンド「ＰＦＩＬＬ」（図７の（Ｃ）参照）をクライアント装置１０へ送信し、図９のステップＳ９０１に戻り、次の描画命令を待つ。
【００５２】
他方、ウインドウの背景が単一パタンでないと判断された場合（ステップＳ１１０４：ＮＯ）は、対応する表示コマンドが存在しないこととなるので、図９のステップＳ９０３へ進む。
【００５３】
このような流れを実現するためには、従来の技術では既存のウインドウ制御プログラム３２を改良したり、一から自作したりしなければならなかったため、異なったプラットフォーム間での相互運用性や開発コストが問題であったが、本発明は、既存のウインドウ制御プログラム３２とのインターフェースとして統一的なデバイス−ウインドウＩ／Ｆ６１を用いることで、既存のウインドウ制御プログラム３２を改良することなく、上述のような振分けを実現した。
【００５４】
そして、以上説明したように、本発明を適用したサーバ装置２０は、既存のウインドウ制御プログラム３２に手を加えずに、Display Command Update（表示コマンドによる画面更新）とPixel Data Update（ピクセルデータによる画面更新）とを適宜使い分けられるため、サーバベースコンピューティングシステム全体のパフォーマンス性の向上、開発コストダウン、システム間の相互運用性の向上のすべてを両立させることが可能となる。
【００５５】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、サーバ装置の一機能としてハードウェアまたはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）ボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【００５６】
また、本発明が適用されるサーバ装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【００５７】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、サーバ装置に供給し、そのサーバ装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
【００５８】
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
【００５９】
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【００６０】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【００６１】
さらに、可搬型記録媒体から読み出されたプログラムやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【００６２】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【図面の簡単な説明】
【００６３】
【図１】サーバベースコンピューティングシステムの構成を示す図である。
【図２】サーバベースコンピューティングシステムの概要を説明するための図である。
【図３】従来の画像データの取得を説明するための図である。
【図４】クライアント装置１０のハードウェア構成の概略を示す図である。
【図５】サーバ装置２０のハードウェア構成の概略を示す図である。
【図６】本発明の概要を説明するための図である。
【図７】表示コマンドによる画面更新の例を示す図である。
【図８】描画データの流れを説明するための図である。
【図９】サーバ装置２０において実行される画面データ処理の流れを示すフローチャートである。
【図１０】コマンド送信を判別するためのテーブル群の例を示す図である。
【図１１】サブルーチン「コマンド振分け処理」の流れを示すフローチャートである。
【符号の説明】
【００６４】
１０      クライアント装置
２０      サーバ装置
３０      中継装置
３１      アプリケーションプログラム
３２      ウインドウ制御プログラム
３３      クライアント装置表示用デバイスドライバ
３４      クライアント装置用フレームバッファ
３５      圧縮回路
６０      デバイスドライバ
６１      デバイス−ウインドウＩ／Ｆ（インターフェース）
６２      メインモジュール
２０１    バス
２０２    ＣＰＵ
２０３    入力装置
２０４    表示装置
２０５    ＲＯＭ
２０６    ＲＡＭ
２０７    フレームバッファＲＡＭ
２０８    通信Ｉ／Ｆ
２０９    外部記憶装置
２１０    補助記憶装置
３０１    バス
３０２    ＣＰＵ
３０３    入力装置
３０４    表示装置
３０５    ＲＯＭ
３０６    ＲＡＭ
３０７    フレームバッファＲＡＭ
３０８    通信Ｉ／Ｆ
３０９    外部記憶装置
３１０    補助記憶装置
【図１】
2009020723.tif 000003
【図２】
2009020723.tif 000004
【図４】
2009020723.tif 000005
【図５】
2009020723.tif 000006
【図９】
2009020723.tif 000007
【図１１】
2009020723.tif 000008
【図３】
2009020723.tif 000009
【図６】
2009020723.tif 000010
【図７】
2009020723.tif 000011
【図８】
2009020723.tif 000012
【図１０】
2009020723.tif 000013