(57)【要約】【課題】サーバ装置が生成した描画データをクライアント装置に送信する際に、クライアント装置側のデータ受信状況に応じて効率的に描画データを送信して通信量を削減する。【解決手段】サーバ装置１１がクライアント装置１２の表示画面に表示する描画データを生成して送信するサーバベース・コンピューティング・システムにおいて、サーバ装置１１は、クライアント装置１２からデータ受信状況に応じて送信される特定の識別子に基づいてクライアント装置１２に対する描画データの送信可否を判断し、送信不可の場合に描画データの送信を中断した後、送信可となった場合に送信中断時点から送信可と判断された時点までの間に変化にした描画データをクライアント装置１２に送信する。【選択図】      図１
2010055188.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置にネットワークを介して接続され、前記クライアント装置の表示画面に表示する描画データを生成して送信するサーバベース・コンピューティング・システムのサーバ装置であって、
前記クライアント装置に対する描画データの送信可否を判断する送信可否判断手段と、
この送信可否判断手段によって送信不可と判断された場合に、前記クライアント装置に対する描画データの送信を中断する送信中断手段と、
前記描画データの送信中断後、前記送信可否判断手段によって送信可と判断された場合に前記送信中断時点から前記送信可と判断された時点までの間に変化にした描画データを前記クライアント装置に送信する送信制御手段と
を具備したことを特徴とするサーバ装置。
【請求項２】
前記クライアント装置から所定の条件に従って送信される第１の識別子または第２の識別子を受信する識別子受信手段を備え、
前記送信可否判断手段は、前記識別子受信手段によって前記第１の識別子が受信された場合に送信不可と判断し、前記第２の識別子が受信された場合に送信可と判断することを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記所定の条件とは、前記クライアント装置の表示部が開閉されたとき、前記クライアント装置の表示部の画面がＯＮ／ＯＦＦされたとき、前記クライアント装置に備えられたタッチパネルを通じて送信禁止マーク／送信要求マークが入力されたとき、前記クライアント装置内だけで実行される特定のモードが設定／解除されたときのいずれか少なくとも１つを含むことを特徴とする請求項２記載のサーバ装置。
【請求項４】
前記第１の識別子の受信時に前記クライアント装置に送信する描画データに対応した画面上の更新領域を記憶する記憶手段と、
この記憶手段に記憶された更新領域に、前記第２の識別子を受信するまでの間に変化した描画データに対応した画面上の更新領域をマージするマージ処理手段とを備え、
前記送信制御手段は、前記マージ処理手段によるマージ後の更新領域に対応した描画データを取得して前記クライアント装置に送信することを特徴とする請求項２記載のサーバ装置。
【請求項５】
前記第１の識別子の受信時に前記クライアント装置に送信する描画データを記憶する記憶手段と、
この記憶手段に記憶された描画データと前記第２の識別子を受信するまでの間に変化した描画データとの差分データを算出する差分算出手段とを備え、
前記送信制御手段は、前記差分算出手段によって算出された差分データを前記クライアント装置に送信することを特徴とする請求項２記載のサーバ装置。
【請求項６】
前記クライアント装置との間の通信状況を検出する通信状況検出手段を備え、
前記送信可否判断手段は、前記通信状況検出手段によって通信状況が良好でない状態が検出された場合に送信不可と判断し、通信状況が良好な状態が検出された場合に送信可と判断することを特徴とする請求項１記載のサーバ装置。
【請求項７】
前記通信状況が良好でない状態が検出されたときに前記クライアント装置に送信する描画データに対応した画面上の更新領域を記憶する記憶手段と、
この記憶手段に記憶された更新領域に、前記通信状況が良好な状態が検出されるまでの間に変化した描画データに対応した画面上の更新領域をマージするマージ処理手段とを備え、
前記送信制御手段は、前記マージ処理手段によるマージ後の更新領域に対応した描画データを取得して前記クライアント装置に送信することを特徴とする請求項６記載のサーバ装置。
【請求項８】
前記通信状況が良好でない状態が検出されたときに前記クライアント装置に送信する描画データを記憶する記憶手段と、
この記憶手段に記憶された描画データと前記通信状況が良好な状態が検出されるまでの間に変化した描画データとの差分データを算出する差分算出手段とを備え、
前記送信制御手段は、前記差分算出手段によって算出された差分データを前記クライアント装置に送信することを特徴とする請求項６記載のサーバ装置。
【請求項９】
サーバ装置にネットワークを介して接続され、前記サーバ装置側で生成される描画データを受信して画面上に表示するサーバベース・コンピューティング・システムのクライアント装置であって、
前記サーバ装置と通信中に、前記サーバ装置から描画データを受信できない状況を示す第１の条件を満たすか否かを判断する第１の条件判断手段と、
この第１の条件判断手段によって前記第１の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を禁止させるための第１の識別子を前記サーバ装置に送信する第１の識別子送信手段と、
この第１の識別子送信手段による前記第１の識別子の送信後、前記サーバ装置から描画データを受信できる状況を示す第２の条件を満たすか否かを判断する第２の条件判断手段と、
この第２の条件判断手段によって前記第２の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を要求するための第２の識別子を前記サーバ装置に送信する第２の識別子送信手段と
を具備したことを特徴とするクライアント装置。
【請求項１０】
開閉自在な構造を有する表示部を備え、
前記第１の条件判断手段は、前記表示部が閉じられたことを前記第１の条件として検出し、
前記第２の条件判断手段は、前記表示部が開かれたことを前記第２の条件として検出することを特徴とする請求項９記載のクライアント装置。
【請求項１１】
表示部の画面をＯＮ／ＯＦＦするためのスイッチを備え、
前記第１の条件判断手段は、前記スイッチによって前記表示部の画面がＯＦＦされたことを前記第１の条件として検出し、
前記第２の条件判断手段は、前記スイッチによって前記表示部の画面がＯＮされたことを前記第２の条件として検出することを特徴とする請求項９記載のクライアント装置。
【請求項１２】
送信禁止識別子または送信要求識別子を入力するためのタッチパネルを備え、
前記第１の条件判断手段は、前記タッチパネルを通じて前記送信禁止識別子が入力されたことを前記第１の条件として検出し、
前記第２の条件判断手段は、前記タッチパネルを通じて前記送信要求識別子が入力されたことを前記第２の条件として検出することを特徴とする請求項９記載のクライアント装置。
【請求項１３】
前記サーバ装置が関与しないで、本装置内だけで実行される特定のモードを設定するモード設定手段を備え、
前記第１の条件判断手段は、前記モード設定手段によって前記特定のモードが設定されたことを前記第１の条件として検出し、
前記第２の条件判断手段は、前記モード設定手段によって前記特定のモードが解除されたことを前記第２の条件として検出することを特徴とする請求項９記載のクライアント装置。
【請求項１４】
前記特定のモードは、テキストデータの入力処理を実行するためのモードを含むことを特徴とする請求項１３記載のクライアント装置。
【請求項１５】
クライアント装置にネットワークを介して接続され、前記クライアント装置の表示画面に表示する描画データを生成して送信するサーバベース・コンピューティング・システムのサーバ装置の動作を制御するコンピュータによって実行されるサーバ制御プログラムであって、
前記コンピュータを、
前記クライアント装置に対する描画データの送信可否を判断する送信可否判断手段、
この送信可否判断手段によって送信不可と判断された場合に、前記クライアント装置に対する描画データの送信を中断する送信中断手段、
前記描画データの送信中断後、前記送信可否判断手段によって送信可と判断された場合に前記送信中断時点から前記送信可と判断された時点までの間に変化にした描画データを前記クライアント装置に送信する送信制御手段
として機能させるためのサーバ制御プログラム。
【請求項１６】
サーバ装置にネットワークを介して接続され、前記サーバ装置側で生成される描画データを受信して画面上に表示するサーバベース・コンピューティング・システムのクライアント装置の動作を制御するコンピュータによって実行されるクライアント制御プログラムであって、
前記コンピュータを、
前記サーバ装置と通信中に、前記サーバ装置から描画データを受信できない状況を示す第１の条件を満たすか否かを判断する第１の条件判断手段、
この第１の条件判断手段によって前記第１の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を禁止させるための第１の識別子を送信する第１の識別子送信手段、
この第１の識別子送信手段による前記第１の識別子の送信後、前記サーバ装置から描画データを受信できる状況を示す第２の条件を満たすか否かを判断する第２の条件判断手段、
この第２の条件判断手段によって前記第２の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を要求するための第２の識別子を送信する第２の識別子送信手段
として機能させるためのクライアント制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置とクライアント装置がＬＡＮ(Local Area Network)等のネットワークを介して接続されたネットワークシステムにおいて、クライアント装置にて入出力・表示される全てのアプリケーションをサーバ装置上で動作させるようにしたサーバベース・コンピューティング・システム（ＳＢＣ）のサーバ装置、クライアント装置、サーバ制御プログラム及びクライアント制御プログラムに関する。
【背景技術】
【０００２】
サーバ装置とクライアント装置がネットワークを介して接続されたコンピュータシステムにおいて、クライアント装置が使用するアプリケーションプログラムをすべてサーバ装置上に実装し、クライアント装置は操作画面のデータだけをサーバ装置から受け取り、クライアント装置からはマウスとキーストロークの操作情報だけがサーバ装置に送られるようにした、いわゆる「ＳＢＣ（ＳＢＣ：Server Based Computing）」が注目されている。このＳＢＣは、「シンクライアントシステム」とも呼ばれており、広帯域ネットワークの普及を背景として各分野で広く使われている（例えば、特許文献１参照）。
【０００３】
このようなサーバベース・コンピューティング・システムにあっては、クライアント装置とサーバ装置間の通信負荷が軽減されるとともに、クライアント装置側におけるアプリケーションプログラムの実装が不要なため、個々のクライアント装置に対するアプリケーションプログラムのインストールやバージョンアップ等の煩雑な管理が全く不要となり、さらに、クライアント装置がアプリケーションプログラムを実行する必要がないので、負荷の軽減も実現できる、等の種々の利点がある。
【０００４】
また、サーバ装置が提供するアプリケーションプログラムの表示画面の書き換えを監視し、書き換えがあった場合に前の画面と現画面の差分を検出し、その差分データのみをクライアント装置に転送する技術が知られている。これを「差分転送方式」と呼ぶ。この差分転送方式によって表示動作中に差分データのみをクライアント装置に転送することにより、サーバ装置側での処理の負担を軽減して、高速化を実現することができる（例えば、特許文献２参照）。
【特許文献１】特開２００６−３２３６６０号公報
【特許文献２】特開２００７−２１９６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したサーバベース・コンピューティング・システムでは、例えばクライアント装置が携帯電話やノートパソコンであって、ユーザが一時的に画面を閉じて移動しているときであっても、サーバ装置側ではその状況を把握できないために描画データの送信処理が繰り返されることになる。この場合、その都度、宛先を含むヘッダ情報が当該描画データに付加されて送信処理が何度も繰り返されるので、通信量が増大してしまうといった問題が生じる。
【０００６】
なお、クライアント装置が画面を閉じた状態でも、サーバ装置から一方的に送られてくる描画データとして、例えば、スクリーンセーバ、アニメーション、動画ＧＩＦ（graphics interchange format）などがある。これらの描画データは、クライアント装置からイベント要求しなくしても送られてくるものであり、画面を閉じている場合には不要なものである。
【０００７】
また、例えば動画のように連続性を有するデータの場合には、クライアント装置がイベント要求後、何らかの原因で一時的にクライアント装置が描画データを受信できない状況になった後でも、サーバ装置から描画データは引き続き送られてくる。このような場合、上述したようにサーバ装置側ではクライアント装置側の状況を把握できず送信処理が中断されないので、不要な通信を行っていることになる。
【０００８】
本発明は前記のような点に鑑みなされたもので、サーバ装置が生成した描画データをクライアント装置に送信する際に、クライアント装置側のデータ受信状況に応じて効率的に描画データを送信して通信量を削減することのできるサーバベース・コンピューティング・システムのサーバ装置、クライアント装置、サーバ制御プログラム及びクライアント制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）  本発明の請求項１に係るサーバ装置は、クライアント装置にネットワークを介して接続され、前記クライアント装置の表示画面に表示する描画データを生成して送信するサーバベース・コンピューティング・システムのサーバ装置であって、前記クライアント装置に対する描画データの送信可否を判断する送信可否判断手段と、この送信可否判断手段によって送信不可と判断された場合に、前記クライアント装置に対する描画データの送信を中断する送信中断手段と、前記描画データの送信中断後、前記送信可否判断手段によって送信可と判断された場合に前記送信中断時点から前記送信可と判断された時点までの間に変化にした描画データを前記クライアント装置に送信する送信制御手段とを具備したことを特徴とする。
【００１０】
また、本発明の請求項２に係るサーバ装置は、前記請求項１記載のサーバ装置において、前記クライアント装置から所定の条件に従って送信される第１の識別子または第２の識別子を受信する識別子受信手段を備え、前記送信可否判断手段は、前記識別子受信手段によって前記第１の識別子が受信された場合に送信不可と判断し、前記第２の識別子が受信された場合に送信可と判断することを特徴とする。
【００１１】
また、本発明の請求項３に係るサーバ装置は、前記請求項２記載のサーバ装置において、前記所定の条件とは、前記クライアント装置の表示部が開閉されたとき、前記クライアント装置の表示部の画面がＯＮ／ＯＦＦされたとき、前記クライアント装置に備えられたタッチパネルを通じて送信禁止マーク／送信要求マークが入力されたとき、前記クライアント装置内だけで実行される特定のモードが設定／解除されたときのいずれか少なくとも１つを含むことを特徴とする。
【００１２】
また、本発明の請求項４に係るサーバ装置は、前記請求項２記載のサーバ装置において、前記第１の識別子の受信時に前記クライアント装置に送信する描画データに対応した画面上の更新領域を記憶する記憶手段と、この記憶手段に記憶された更新領域に、前記第２の識別子を受信するまでの間に変化した描画データに対応した画面上の更新領域をマージするマージ処理手段とを備え、前記送信制御手段は、前記マージ処理手段によるマージ後の更新領域に対応した描画データを取得して前記クライアント装置に送信することを特徴とする。
【００１３】
また、本発明の請求項５に係るサーバ装置は、前記請求項２記載のサーバ装置において、前記第１の識別子の受信時に前記クライアント装置に送信する描画データを記憶する記憶手段と、この記憶手段に記憶された描画データと前記第２の識別子を受信するまでの間に変化した描画データとの差分データを算出する差分算出手段とを備え、前記送信制御手段は、前記差分算出手段によって算出された差分データを前記クライアント装置に送信することを特徴とする。
【００１４】
また、本発明の請求項６に係るサーバ装置は、前記請求項１記載のサーバ装置において、前記クライアント装置との間の通信状況を検出する通信状況検出手段を備え、前記送信可否判断手段は、前記通信状況検出手段によって通信状況が良好でない状態が検出された場合に送信不可と判断し、通信状況が良好な状態が検出された場合に送信可と判断することを特徴とする。
【００１５】
また、本発明の請求項７に係るサーバ装置は、前記請求項６記載のサーバ装置において、前記通信状況が良好でない状態が検出されたときに前記クライアント装置に送信する描画データに対応した画面上の更新領域を記憶する記憶手段と、この記憶手段に記憶された更新領域に、前記通信状況が良好な状態が検出されるまでの間に変化した描画データに対応した画面上の更新領域をマージするマージ処理手段とを備え、前記送信制御手段は、前記マージ処理手段によるマージ後の更新領域に対応した描画データを取得して前記クライアント装置に送信することを特徴とする。
【００１６】
また、本発明の請求項８に係るサーバ装置は、前記請求項６記載のサーバ装置において、前記通信状況が良好でない状態が検出されたときに前記クライアント装置に送信する描画データを記憶する記憶手段と、この記憶手段に記憶された描画データと前記通信状況が良好な状態が検出されるまでの間に変化した描画データとの差分データを算出する差分算出手段とを備え、前記送信制御手段は、前記差分算出手段によって算出された差分データを前記クライアント装置に送信することを特徴とする。
【００１７】
（２）  本発明に請求項９に係るクライアント装置は、サーバ装置にネットワークを介して接続され、前記サーバ装置側で生成される描画データを受信して画面上に表示するサーバベース・コンピューティング・システムのクライアント装置であって、前記サーバ装置と通信中に、前記サーバ装置から描画データを受信できない状況を示す第１の条件を満たすか否かを判断する第１の条件判断手段と、この第１の条件判断手段によって前記第１の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を禁止させるための第１の識別子を前記サーバ装置に送信する第１の識別子送信手段と、この第１の識別子送信手段による前記第１の識別子の送信後、前記サーバ装置から描画データを受信できる状況を示す第２の条件を満たすか否かを判断する第２の条件判断手段と、この第２の条件判断手段によって前記第２の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を要求するための第２の識別子を前記サーバ装置に送信する第２の識別子送信手段とを具備したことを特徴とする。
【００１８】
また、本発明の請求項１０に係るクライアント装置は、前記請求項９記載のクライアント装置において、開閉自在な構造を有する表示部を備え、前記第１の条件判断手段は、前記表示部が閉じられたことを前記第１の条件として検出し、前記第２の条件判断手段は、前記表示部が開かれたことを前記第２の条件として検出することを特徴とする。
【００１９】
また、本発明の請求項１１に係るクライアント装置は、前記請求項９記載のクライアント装置において、表示部の画面をＯＮ／ＯＦＦするためのスイッチを備え、前記第１の条件判断手段は、前記スイッチによって前記表示部の画面がＯＦＦされたことを前記第１の条件として検出し、前記第２の条件判断手段は、前記スイッチによって前記表示部の画面がＯＮされたことを前記第２の条件として検出することを特徴とする。
【００２０】
また、本発明の請求項１２に係るクライアント装置は、前記請求項９記載のクライアント装置において、送信禁止識別子または送信要求識別子を入力するためのタッチパネルを備え、前記第１の条件判断手段は、前記タッチパネルを通じて前記送信禁止識別子が入力されたことを前記第１の条件として検出し、前記第２の条件判断手段は、前記タッチパネルを通じて前記送信要求識別子が入力されたことを前記第２の条件として検出することを特徴とする。
【００２１】
また、本発明の請求項１３に係るクライアント装置は、前記請求項９記載のクライアント装置において、前記サーバ装置が関与しないで、本装置内だけで実行される特定のモードを設定するモード設定手段を備え、前記第１の条件判断手段は、前記モード設定手段によって前記特定のモードが設定されたことを前記第１の条件として検出し、前記第２の条件判断手段は、前記モード設定手段によって前記特定のモードが解除されたことを前記第２の条件として検出することを特徴とする。
【００２２】
また、本発明の請求項１４に係るクライアント装置は、前記請求項１３記載のクライアント装置において、前記特定のモードは、テキストデータの入力処理を実行するためのモードを含むことを特徴とする。
【００２３】
（３）  本発明の請求項１５に係るサーバ制御プログラムは、クライアント装置にネットワークを介して接続され、前記クライアント装置の表示画面に表示する描画データを生成して送信するサーバベース・コンピューティング・システムのサーバ装置の動作を制御するコンピュータによって実行されるサーバ制御プログラムであって、前記コンピュータを、前記クライアント装置に対する描画データの送信可否を判断する送信可否判断手段、この送信可否判断手段によって送信不可と判断された場合に、前記クライアント装置に対する描画データの送信を中断する送信中断手段、前記描画データの送信中断後、前記送信可否判断手段によって送信可と判断された場合に前記送信中断時点から前記送信可と判断された時点までの間に変化にした描画データを前記クライアント装置に送信する送信制御手段として機能させるためのサーバ制御プログラム。
【００２４】
（４）  本発明の請求項１６に係るクライアント制御プログラムは、サーバ装置にネットワークを介して接続され、前記サーバ装置側で生成される描画データを受信して画面上に表示するサーバベース・コンピューティング・システムのクライアント装置の動作を制御するコンピュータによって実行されるクライアント制御プログラムであって、前記コンピュータを、前記サーバ装置と通信中に、前記サーバ装置から描画データを受信できない状況を示す第１の条件を満たすか否かを判断する第１の条件判断手段、この第１の条件判断手段によって前記第１の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を禁止させるための第１の識別子を送信する第１の識別子送信手段、この第１の識別子送信手段による前記第１の識別子の送信後、前記サーバ装置から描画データを受信できる状況を示す第２の条件を満たすか否かを判断する第２の条件判断手段、この第２の条件判断手段によって前記第２の条件を満たすものと判断された場合に前記サーバ装置に対して描画データの送信を要求するための第２の識別子を送信する第２の識別子送信手段として機能させるためのクライアント制御プログラム。
【発明の効果】
【００２５】
本発明によれば、サーバ装置が生成した描画データをクライアント装置に送信する際に、クライアント装置側のデータ受信状況に応じて効率的に描画データを送信して通信量を削減することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明の実施形態を説明する。
【００２７】
（第１の実施形態）
図１は本発明の第１の実施形態に係るサーバベース・コンピューティング・システムの構成を示すブロック図である。
【００２８】
このサーバベース・コンピューティング・システムは、サーバ装置１１と複数のクライアント装置１２（１２ａ，１２ｂ，１２ｃ…）を備え、これらがＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)等のネットワーク１３を介して互いに通信可能に接続されている。
【００２９】
サーバ装置１１は、例えばネットワーク１３に有線接続されたパーソナルコンピュータである。クライアント装置１２として、例えばネットワーク１３に有線接続されたパーソナルコンピュータ１２ａや、ネットワーク１３にアクセスポイントＡＰを介して無線接続された携帯電話１２ｂ、同アクセスポイントＡＰを介して無線接続された携帯端末１２ｃなどがある。
【００３０】
サーバ装置１１は、例えば文書作成処理プログラム，表計算処理プログラム，住所録プログラム，メモ帳プログラム，プレゼン資料作成プログラム，メール処理プログラム，インターネット接続処理プログラム、Ｗｅｂ表示プログラムなどを含む各種アプリケーションプログラムを有し、当該サーバ装置１１にネットワーク１３を介して接続されたクライアント装置１２（１２ａ，１２ｂ，１２ｃ…）からの操作入力（入力イベント）に応じたアプリケーションプログラムを起動し、その処理を実行する。
【００３１】
このサーバ装置１１において、アプリケーションプログラムの実行に伴い生成された表示出力用の描画データは、所定の方式で圧縮されて、アクセス元のクライアント装置１２に送られる。クライアント装置１２では、サーバ装置１１から送られた描画データを解凍して画面上に表示する。
【００３２】
図２はサーバベース・コンピューティング・システムに用いられるサーバ装置１１の回路構成を示すブロック図である。
【００３３】
サーバ装置１１は、コンピュータとしてのＣＰＵ２１を備える。このＣＰＵ２１には、システムバス２０を介してメモリ２２、フレームバッファＲＡＭ２３、記憶部２４、入力部２５、表示部２６、通信制御部２７、媒体読取り部２８が接続される。
【００３４】
ＣＰＵ２１は、記憶部２２に予め記憶されたプログラム、あるいは、外部記録媒体２８ａから媒体読取り部２８を介して読み取られたプログラム、あるいは、ネットワーク１３を介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。このＣＰＵ２１によって実行されるプログラムには、ＯＳ（Operating System）の他、クライアント装置１２が利用する各種アプリケーションプログラム、これらのアプリケーションプログラムの起動に伴って生成される描画データの画面表示制御を行うための表示制御プログラムなどが含まれる。
【００３５】
メモリ２２には、各クライアント装置１２（１２ａ，１２ｂ，１２ｃ…）毎に例えばユーザＩＤ等によって関連付けられた複数の領域管理バッファＳ０，Ｓ１、あるいは、複数の仮想フレームバッファＦＢ０，ＦＢ１が設けられている。
【００３６】
領域管理バッファＳ０，Ｓ１は、「マージ転送方式」によって描画データを転送する場合に用いられる記憶手段であり、Ｓ０は前回の領域情報、Ｓ１は現在の領域情報を記憶する。
【００３７】
仮想フレームバッファＦＢ０，ＦＢ１は、後述する「差分転送方式」によって描画データを転送する場合に用いられる記憶手段であり、ＦＢ０は前回の描画データ、ＦＢ１は現在の描画データを記憶する。
【００３８】
「マージ転送方式」とは、表示画面の描画データをクライアント装置１２に転送する際に、画面上で描画データが書き換えられた領域（これを更新領域と呼ぶ）を監視しており、描画データが書き換えられた際に前回送信済みの描画データに対応した更新領域と現在の描画データに対応した更新領域とをマージし、そのマージ後の更新領域に対応した描画データを表示システムから取得して転送する方式である。
【００３９】
これに対し、「差分転送方式」とは、表示画面の描画データをクライアント装置１２に転送する際に、前回送信済みの描画データと現在の描画データとの差分を検出し、その差分データを転送する方式である。
【００４０】
フレームバッファＲＡＭ２３は、サーバ装置１１に備えられた表示部２６の画面に表示する描画データをフレーム単位で保持するためのバッファメモリである。
【００４１】
記憶部２４には、サーバ装置１１の動作を制御するためのサーバ制御プログラムを含む各種プログラムを記憶するためのプログラム記憶領域２４ａ、描画データの送信モード（詳しくは、送信モードのＯＮ／ＯＦＦを示すフラグ情報）を記憶するためのモード記憶領域２４ｂが設けられている。
【００４２】
入力部２５は、例えばキーボード、マウスなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。
【００４３】
表示部２６は、各種データを表示するものであり、例えばＣＲＴ（Cathode-ray tube）やＬＣＤ（Liquid Crystal Display）などからなる。
【００４４】
通信制御部２７は、ネットワーク１３を介して外部の端末との間で通信処理を行うためのものであり、ここではサーバ装置１１側で生成した描画データの送信処理や、クライアント装置１２から送信される特定の識別子（不要求識別子ＩＤ１，要求識別子ＩＤ２）の受信処理を行う。
【００４５】
媒体読取り部２８は、外部記録媒体２８ａに記録されたデータを読み取る。外部記録媒体２８ａとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。
【００４６】
図３はサーバ装置１１に備えられたＣＰＵ２１の機能構成を示すブロック図である。
【００４７】
本実施形態において、ＣＰＵ２１によって実行される処理を機能的に示すと、ＣＰＵ２１は送信可否判断部２１ａ、送信中断部２１ｂ、送信制御部２１ｃ、マージ処理部２１ｄ、差分算出部２１ｅ、通信状況検出部２１ｆからなる。
【００４８】
送信可否判断部２１ａは、クライアント装置１２に対する描画データの送信可否を判断する。送信中断部２１ｂは、送信可否判断部２１ａによって送信不可と判断された場合に、クライアント装置１２に対する描画データの送信を中断する。送信制御部２１ｃは、描画データの送信中断後、送信可否判断部２１ａによって送信可と判断された場合に送信中断時点から送信可と判断された時点までの間に変化にした描画データをクライアント装置１２に送信する。
【００４９】
また、マージ処理部２１ｄは、「マージ転送方式」で描画データを転送するための処理を行うものであり、不要求識別子ＩＤ１（第１の識別子）の受信時にクライアント装置１２に送信する描画データに対応した画面上の更新領域に、要求識別子ＩＤ２（第２の識別子）を受信するまでの間に変化した描画データに対応した画面上の更新領域をマージする。
【００５０】
差分算出部２１ｅは、「差分転送方式」で描画データを転送するための処理を行うものであり、不要求識別子ＩＤ１（第１の識別子）の受信時にクライアント装置１２に送信する描画データと要求識別子ＩＤ２（第２の識別子）を受信するまでの間に変化した描画データとの差分データを算出する。
【００５１】
通信状況検出部２１ｆは、クライアント装置１２との間の通信状況を検出する。なお、この通信状況検出部２１ｆは、後述する第２の実施形態で用いられる。
【００５２】
図４はサーバベース・コンピューティング・システムに用いられるクライアント装置１２（１２ａ，１２ｂ，１２ｃ…）の回路構成を示すブロック図である。
【００５３】
クライアント装置１２（１２ａ，１２ｂ，１２ｃ…）は、コンピュータとしてのＣＰＵ３１を備える。このＣＰＵ３１には、システムバス３０を介してメモリ３２、フレームバッファＲＡＭ３３、記憶部３４、入力部３５、表示部３６、表示部開閉センサ３６ａ、通信制御部３７、媒体読取り部３８が接続される。
【００５４】
ＣＰＵ３１は、記憶部３２に予め記憶されたプログラム、あるいは、外部記録媒体３８ａから媒体読取り部３８を介して読み取られたプログラム、あるいは、ネットワーク１３を介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。このＣＰＵ３１によって実行されるプログラムとしては、ＯＳ（Operating System）が主であり、その他の各種アプリケーションプログラムについては、基本的にサーバ装置１１が保有している。
【００５５】
メモリ３２は、ＣＰＵ３１の処理動作に必要な各種データを記憶する。フレームバッファＲＡＭ３３は、クライアント装置１２に備えられた表示部３６の画面に表示する描画データをフレーム単位で保持するためのバッファメモリである。
【００５６】
記憶部３４には、クライアント装置１２の動作を制御するためのクライアント制御プログラムを含む各種プログラムを記憶するためのプログラム記憶領域３４ａ、テキスト入力モードの設定情報を記憶するためのモード記憶領域３４ｂ、テキスト入力モードがＯＮ設定されているときに入力されるテキストデータを記憶するための入力データ記憶領域３４ｃが設けられている。
【００５７】
入力部３５は、例えばキーボード、マウス、タッチパネルなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。また、この入力部３５には、表示部３６の画面の表示機能をＯＮ／ＯＦＦするための表示スイッチ３５ａを有する。
【００５８】
表示部３６は、各種データを表示するものであり、例えばＣＲＴ（Cathode-ray tube）やＬＣＤ（Liquid Crystal Display）などからなる。また、この表示部３６が開閉自在な構造を有する場合に、その開閉状態を検出するための表示部開閉センサ３６ａが設けられる。
【００５９】
通信制御部３７は、ネットワーク１３を介して外部の端末との間で通信処理を行うためのものであり、ここではサーバ装置１１に対して描画データの送信制御用の識別子（不要求識別子ＩＤ１，要求識別子ＩＤ２）を送信するための処理を行う。
【００６０】
媒体読取り部３８は、外部記録媒体３８ａに記録されたデータを読み取る。外部記録媒体３８ａとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。
【００６１】
図５はクライアント装置１２に備えられたＣＰＵ３１の機能構成を示すブロック図である。
【００６２】
本実施形態において、ＣＰＵ３１によって実行される処理を機能的に示すと、ＣＰＵ３１は、第１の条件判断部３１ａ、第１の識別子送信部３１ｂ、第２の条件判断部３１ｃ、第２の識別子送信部３１ｄ、モード設定部３１ｅからなる。
【００６３】
第１の条件判断部３１ａは、サーバ装置１１と通信中に、サーバ装置１１から描画データを受信できない状況を示す第１の条件を満たすか否かを判断する。第１の識別子送信部３１ｂは、この第１の条件判断部３１ａによって前記第１の条件を満たすものと判断された場合にサーバ装置１１に対して描画データの送信を禁止させるための不要求識別子ＩＤ１（第１の識別子）をサーバ装置１１に送信する。
【００６４】
第２の条件判断部３１ｃは、第１の識別子送信部３１ｂによる不要求識別子ＩＤ１（第１の識別子）の送信後、サーバ装置１１から描画データを受信できる状況を示す第２の条件を満たすか否かを判断する。第２の識別子送信部３１ｄは、この第２の条件判断部３１ｃによって第２の条件を満たすものと判断された場合にサーバ装置１１に対して描画データの送信を要求するための要求識別子ＩＤ２（第２の識別子）をサーバ装置１１に送信する。
【００６５】
なお、前記第１および第２の条件とは、クライアント装置１２の表示部３６が開閉されたとき、クライアント装置１２の表示部３６の画面がＯＮ／ＯＦＦされたとき、後述するタッチパネル４０を通じて送信禁止マーク４１／送信要求マーク４２が入力されたとき、クライアント装置１２内だけで実行される特定のモード（テキスト入力モードが設定／解除されたときのいずれか少なくとも１つを含む。
【００６６】
また、モード設定部３１ｅは、サーバ装置１１が関与しないで、クライアント装置１２内だけで実行される特定のモード（ここではテキスト入力モード）を設定する。
【００６７】
このような構成のサーバベース・コンピューティング・システムでは、サーバ装置１１側でアプリケーションプログラムを持ち、そのアプリケーションプログラムに対応した描画データを生成してクライアント装置１２に送信する。その際、例えばクライアント装置１２の表示部３６を一時的に閉じている場合や通信状況が悪い場合には、サーバ装置１１から描画データを送信してもクライアント装置１２側で受信できないため、その間のデータ通信が無駄になってしまう。
【００６８】
そこで、本実施形態では、クライアント装置１２にサーバ装置１１による描画データの送信を制御するための特定の識別子（不要求識別子ＩＤ１，要求識別子ＩＤ２）を持たせ、データ受信状況に応じて、その識別子をサーバ装置１１に送信することで、サーバ装置１１による描画データの送信を制御するものである。
【００６９】
次に、このような描画データの送信制御を実現するための具体的な処理理動作について、（ａ）サーバ装置１１側の処理と、（ｂ）クライアント装置１２側の処理に分けて説明する。
【００７０】
（ａ）サーバ装置１１側の処理  
まず、サーバ装置１１側の処理について、図６および図９のフローチャートを参照して説明する。なお、以下のフローチャートで示される処理は、サーバ装置１１に備えられたＣＰＵ２１によって読み取り可能なプログラムの形態で記憶部２４のプログラム記憶領域２４ａに予め記憶されている。
【００７１】
サーバ装置１１側では、アプリケーションプログラムの起動に伴う描画データを生成し、これをクライアント装置１２に転送する。その際に、サーバ装置１１からクライアント装置１２に対して描画データを転送する方式として、上述した「マージ転送方式」と「差分転送方式」がある。
【００７２】
以下では、「マージ転送方式を用いる場合」と「差分転送方式を用いる場合」に分けて説明する。
【００７３】
「マージ転送方式を用いる場合」
図６はサーバベース・コンピューティング・システムのサーバ装置１１によるマージ転送方式を用いた処理動作を示すフローチャートである。
【００７４】
クライアント装置１２からネットワーク１３を介して接続要求があると、サーバ装置１１に備えられたＣＰＵ２１は、まず、その接続要求元のクライアント装置１２に予め設定されたパスワードやＩＤなどを用いて認証処理を行う（ステップＡ１１）。
【００７５】
認証後、ＣＰＵ２１は、そのクライアント装置１２に対して接続許可を通知し、通信制御部２７を通じて所定の接続処理を行うことにより、当該クライアント装置１２との間で互いにデータ通信可能な状態を確立する（ステップＡ１２）。
【００７６】
接続要求元のクライアント装置１２との接続が確立されると、ＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードをＯＮにすると共に（ステップＡ１３）、メモリ２２内の当該クライアント装置１２に対応した領域管理バッファＳ０，Ｓ１をクリアしておく（ステップＡ１４）。Ｓ０は前回の領域情報、Ｓ１は現在の領域情報を記憶するためのバッファである。
【００７７】
ここで、接続要求元のクライアント装置１２からの入力イベントの受付けなどを含む通信処理が実行され、サーバ装置１１で生成される描画データが当該クライアント装置１２に送信されて、その画面上に表示される（ステップＡ１５）。
【００７８】
クライアント装置１２との通信中において、サーバ装置１１側では、クライアント装置１２に提供しているアプリケーションプログラムの表示画面を監視しており、当該表示画面上で描画データが書き換えられた領域（更新領域）があると、その領域情報を取得して領域管理バッファＳ０に記憶する（ステップＡ１６）。
【００７９】
具体的には、図７に示すように、画面上の更新領域をＥＲ１とすると、その更新領域ＥＲ１の矩形を構成する４点のうちの対角点のＰ１の座標（ｘ1，ｙ1）とＰ２の座標（ｘ2，ｙ2）、あるいは、任意の１点のＰ１の座標情報（ｘ1，ｙ1）と横サイズＤＷ１と縦サイズＤＨ１からなる。
【００８０】
その際、ＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードがＯＮされているか否かを判断する（ステップＡ１７）。描画データの送信モードがＯＮであれば（ステップＡ１７のＹＥＳ）、続いて、ＣＰＵ２１は、現在通信中のクライアント装置１２から不要求識別子ＩＤ１を受信したか否かを判断する（ステップＡ１８）。
【００８１】
その結果、描画データの送信モードがＯＮであり、かつ、不要求識別子ＩＤ１を未受信であれば（ステップＡ１８のＮＯ）、ＣＰＵ２１は、領域管理バッファＳ０に記憶されている領域情報を領域管理バッファＳ１に移すと共に（ステップＡ１９）、その領域管理バッファＳ１に移した領域情報に対応した描画データを取得する（ステップＡ２０）。そして、ＣＰＵ２１は、その取得した描画データにＳ１の領域情報を付して通信中のクライアント装置１２に送信する（ステップＡ２１）。
【００８２】
以上が正常な状態における描画データの送信処理であり、クライアント装置１２との間の通信回線が接続されている間、同様に繰り返される（ステップＡ２２のＮＯ）。
【００８３】
一方、現在通信中のクライアント装置１２が描画データを受信できない状況になると、不要求識別子ＩＤ１が送られてくる。サーバ装置１１では、この不要求識別子ＩＤ１を受信した場合に（ステップＡ１８のＹＥＳ）、以下のような処理を実行する。
【００８４】
すなわち、不要求識別子ＩＤ１の受信に伴い、サーバ装置１１のＣＰＵ２１は、クライアント装置１２に対する描画データの送信が不可であると判断し、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードをＯＮからＯＦＦに切り替えて（ステップＡ２３）、クライアント装置１２に対する描画データの送信を中断する（ステップＡ２４）。その際、ＣＰＵ２１は、現在、領域管理バッファＳ０に記憶されている領域情報を領域管理バッファＳ１に移し、送信中断時点おける画面状態として保持しておく（ステップＡ２５）。
【００８５】
ここで、クライアント装置１２に対する描画データの送信を中断しても、例えば、動画の送信途中であったり、中断直前にクライアント装置１２から受信した入力イベントの処理中であったり、クライアント装置１２の表示画面がＯＦＦされている間でも表示が継続される特定のアプリデータ（スクリーンセーバなど）を実行中の場合には、送信中断の間も表示画面は逐次更新されている。
【００８６】
送信中断の間に表示画面が更新されると、ＣＰＵ２１は、その更新領域の情報を取得して領域管理バッファＳ０に記憶する（ステップＡ１６）。そして、クライアント装置１２から要求識別子ＩＤ２を受信するまでの間、ＣＰＵ２１は、領域管理バッファＳ１に記憶された送信中断時点での領域情報と領域管理バッファＳ０に記憶された領域情報とをマージし（Ｓ１＋Ｓ０）、そのマージ後の領域情報に基づいて領域管理バッファＳ１に逐次書き換えていく（ステップＡ１７→Ａ２６→Ａ２７）。
【００８７】
具体的に説明すると、今、図８に示すように、画面更新された領域がＥＲ２であるとすると、送信中断時点における更新領域ＥＲ１と現在の更新領域ＥＲ２とをマージした領域を送信中断時点から変化した領域ＥＲ３として取得する。そして、その領域情報（変化領域ＥＲ３のＰ１，Ｐ４の座標情報あるいはＰ１の座標情報と縦横サイズＤＨ２，ＤＷ２）を新たに領域管理バッファＳ１に記憶する。
【００８８】
このようなマージ処理をクライアント装置１２から要求識別子ＩＤ２を受信するまでの値、繰り返し行う。これにより、領域管理バッファＳ１には、常に画面更新にて変化した領域の情報が保持されることになる。
【００８９】
その後、クライアント装置１２がデータ受信可能な状況になると、クライアント装置１２から要求識別子ＩＤ２が送信される。ＣＰＵ２１は、その要求識別子ＩＤ２の受信に伴い（ステップＡ２６のＹＥＳ）、クライアント装置１２に対する描画データの送信が可であると判断し、描画データの送信モードをＯＦＦからＯＮに戻して（ステップＡ２８）、描画データの送信を開始する（ステップＡ２９）。
【００９０】
この場合、ＣＰＵ２１は、要求識別子ＩＤ２の受信直前に領域管理バッファＳ０に記憶された領域情報と領域管理バッファＳ１に記憶されている領域情報とをマージし、そのマージによって生成された新たな領域情報を領域管理バッファＳ１に記憶する（ステップＡ３０）。そして、ＣＰＵ２１は、その領域管理バッファＳ１に記憶された領域情報に対応した描画データを取得し、その取得した描画データにＳ１の領域情報を付して通信中のクライアント装置１２に送信する（ステップＡ２１）。
【００９１】
また、クライアント装置１２から接続終了要求を受けると（ステップＡ２２のＹＥＳ）、ＣＰＵ２１は、所定の接続断処理を行ってクライアント装置１２との接続を遮断して（ステップＡ３１）、ここでの処理を終える。
【００９２】
「差分転送方式を用いる場合」
図９はサーバベース・コンピューティング・システムのサーバ装置１１による差分転送方式を用いた処理動作を示すフローチャートである。
【００９３】
クライアント装置１２からネットワーク１３を介して接続要求があると、サーバ装置１１に備えられたＣＰＵ２１は、まず、その接続要求元のクライアント装置１２に予め設定されたパスワードやＩＤなどを用いて認証処理を行う（ステップＢ１１）。
【００９４】
認証後、ＣＰＵ２１は、そのクライアント装置１２に対して接続許可を通知し、通信制御部２７を通じて所定の接続処理を行いことにより、当該クライアント装置１２との間で互いにデータ通信可能な状態を確立する（ステップＢ１２）。
【００９５】
接続要求元のクライアント装置１２との接続が確立されると、ＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードをＯＮにすると共に（ステップＢ１３）、メモリ２２内の当該クライアント装置１２に対応した仮想フレームバッファＦＢ０，ＦＢ１をクリアしておく（ステップＢ１４）。ＦＢ０は前回の描画データ、Ｓ１は現在の描画データを記憶するためのバッファである。
【００９６】
ここで、接続要求元のクライアント装置１２からの入力イベントの受付けなどを含む通信処理が実行され、サーバ装置１１で生成される描画データが当該クライアント装置１２に送信されて、その画面上に表示される（ステップＢ１５）。
【００９７】
クライアント装置１２との通信中において、サーバ装置１１側では、クライアント装置１２に提供しているアプリケーションプログラムの表示画面を監視しており、当該表示画面上で更新された部分があると、その更新部分の描画データを取得し、これを所定の方式で圧縮して仮想フレームバッファＦＢ０に記憶する（ステップＢ１６）。
【００９８】
その際、ＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードがＯＮされているか否かを判断する（ステップＢ１７）。描画データの送信モードがＯＮであれば（ステップＢ１７のＹＥＳ）、続いて、ＣＰＵ２１は、現在通信中のクライアント装置１２から不要求識別子ＩＤ１を受信したか否かを判断する（ステップＢ１８）。
【００９９】
その結果、描画データの送信モードがＯＮであり、かつ、不要求識別子ＩＤ１を未受信であれば（ステップＢ１８のＮＯ）、ＣＰＵ２１は、仮想フレームバッファＦＢ０に記憶されている描画データと仮想フレームバッファＦＢ１に記憶されている描画データとの差分データＤＤを生成する（ステップＢ１９）。そして、ＣＰＵ２１は、その取得した差分データＤＤに領域情報を付して通信中のクライアント装置１２に送信する（ステップＢ２０）。
【０１００】
なお、初期状態では、仮想フレームバッファＦＢ１は空であり、仮想フレームバッファＦＢ０に記憶されている全画面の描画データがそのまま差分データＤＤとして、クライアント装置１２に送信されることになる。また、描画データの送信後、ＣＰＵ２１は、現在、仮想フレームバッファＦＢ０に記憶されている描画データを仮想フレームバッファＦＢ１に移しておく（ステップＢ２１）。
【０１０１】
以上が正常な状態における描画データの送信処理であり、クライアント装置１２との間の通信回線が接続されている間、同様に繰り返される（ステップＢ２２のＮＯ）。
【０１０２】
一方、現在通信中のクライアント装置１２が描画データを受信できない状況になると、不要求識別子ＩＤ１が送られてくる。サーバ装置１１では、この不要求識別子ＩＤ１を受信した場合に（ステップＢ１８のＹＥＳ）、以下のような処理を実行する。
【０１０３】
すなわち、不要求識別子ＩＤ１の受信に伴い、サーバ装置１１のＣＰＵ２１は、クライアント装置１２に対する描画データの送信が不可であると判断し、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードをＯＮからＯＦＦに切り替えて（ステップＢ２３）、クライアント装置１２に対する描画データの送信を中断する（ステップＢ２４）。その際、ＣＰＵ２１は、現在、仮想フレームバッファＦＢ０に記憶されている描画データを仮想フレームバッファＦＢ１に移し、送信中断時点おける画面状態として保持しておく（ステップＢ２１）。
【０１０４】
ここで、クライアント装置１２に対する描画データの送信を中断しても、例えば、動画の送信途中であったり、中断直前にクライアント装置１２から受信した入力イベントの処理中であったり、クライアント装置１２の表示画面がＯＦＦされている間でも表示が継続される特定のアプリデータ（スクリーンセーバなど）を実行中の場合には、送信中断の間も表示画面は逐次更新されている。
【０１０５】
送信中断の間に表示画面が更新されると、ＣＰＵ２１は、その更新部分の描画データを取得して仮想フレームバッファＦＢ０に記憶する（ステップＢ１６）。そして、クライアント装置１２から要求識別子ＩＤ２を受信するまでの間、ＣＰＵ２１は、表示画面が更新される度に仮想フレームバッファＦＢ０を書き換えていく（ステップＢ１７→Ｂ２５→Ｂ１５→Ｂ１６）。
【０１０６】
その後、クライアント装置１２がデータ受信可能な状況になると、クライアント装置１２から要求識別子ＩＤ２が送信される。ＣＰＵ２１は、その要求識別子ＩＤ２の受信に伴い（ステップＢ２５のＹＥＳ）、クライアント装置１２に対する描画データの送信が可であると判断し、描画データの送信モードをＯＦＦからＯＮに戻して（ステップＢ２６）、描画データの送信を開始する（ステップＢ２７）。
【０１０７】
この場合、ＣＰＵ２１は、仮想フレームバッファＦＢ０に記憶されている現在の描画データと仮想フレームバッファＦＢ１に記憶されている前回の描画データとの差分データＤＤを生成し（ステップＢ１９）、その差分データＤＤに領域情報を付して通信中のクライアント装置１２に送信する（ステップＢ２０）。また、描画データの送信後、ＣＰＵ２１は、現在、仮想フレームバッファＦＢ０に記憶されている描画データを仮想フレームバッファＦＢ１に移しておく（ステップＢ２１）。
【０１０８】
クライアント装置１２から接続終了要求を受けると（ステップＢ２２のＹＥＳ）、ＣＰＵ２１は、所定の接続断処理を行ってクライアント装置１２との接続を遮断して（ステップＢ２８）、ここでの処理を終える。
【０１０９】
（ｂ）クライアント装置１２側の処理  
次に、クライアント装置１２側の処理について、図１０および図１３のフローチャートを参照して説明する。なお、以下のフローチャートで示される処理は、クライアント装置１２に備えられたＣＰＵ３１によって読み取り可能なプログラムの形態で記憶部３４のプログラム記憶領域３４ａに予め記憶されている。
【０１１０】
クライアント装置１２側では、サーバ装置１１からアプリケーションプログラムの起動に伴って送信される描画データを受信し、これを画面上に表示する。その際に、クライアント装置１２からデータ受信状況に応じて、特定の識別子（要求識別子ＩＤ１，要求識別子ＩＤ２）を送信することで、クライアント装置１２側でサーバ装置１１による描画データの送信を制御する。
【０１１１】
以下では、前記特定の識別子の送る条件として、「データ受信状況に関わる所定の状態を検出する場合」と「テキスト入力モードを検出する場合」に分けて説明する。
【０１１２】
「データ受信状況に関わる所定の状態を検出する場合」
図１０はサーバベース・コンピューティング・システムのクライアント装置１２による所定の状態を検出する場合の処理動作を示すフローチャートである。
【０１１３】
ネットワーク１３上のサーバ装置１１に接続するため、まず、クライアント装置１２に備えられたＣＰＵ３１は、通信制御部２７を通じて予め設定されたパスワードやＩＤなどを送信して接続認証要求を行う（ステップＣ１１）。この接続認証要求に対し、サーバ装置１１から接続許可の応答があると、続いて、ＣＰＵ３１は、通信制御部２７を通じて所定の接続処理を行い、サーバ装置１１との間で互いにデータ通信可能な状態を確立する（ステップＣ１２）。
【０１１４】
ここで、サーバ装置１１との間で入力イベントの送信を含む通信処理が行われると（ステップＣ１３）、ＣＰＵ３１は、以下のようなデータ受信状況に関わる状態１〜３のいずれかを検出した場合に（ステップＣ１４のＹＥＳ）、サーバ装置１１から描画データを受信できない状況を示す第１の条件を満たすものと判断して、第１の識別子である不要求識別子ＩＤ１をサーバ装置１１に送信する（ステップＣ１５）。
【０１１５】
・状態１：クライアント装置１２の表示部３６が開閉可能な構造を有する場合において、その表示部３６が閉じられた状態を検出する。表示部３６が閉じられた状態は、その表示部３６の開閉部に設置された表示部開閉センサ３６ａから出力される信号に基づいて検出される。
【０１１６】
・状態２：クライアント装置１２の表示部３６の表示画面がＯＦＦされた状態を検出する。これは、表示スイッチ３５ａによって表示部３６の表示機能がＯＦＦ操作されたことで検出される。
【０１１７】
・状態３：図１１に示すように、クライアント装置１２が筆記操作によりデータ入力を行うためのタッチパネル４０を備えている場合において、同図（ａ）のようにタッチパネル４０上で描画データの送信禁止マーク（この例では「レ」マーク）４１が入力された状態を検出する。この送信禁止マーク４１の入力は、図１２に示すような認識テーブル４３を用いて認識される。この認識テーブル４３は、例えば記憶部３４内に設けられる。
【０１１８】
前記状態１〜３のいずれかの検出に伴い、不要求識別子ＩＤ１がサーバ装置１１に送信されると、サーバ装置１１では、その不要求識別子ＩＤ１を受信した時点でクライアント装置１２に対する描画データの送信を中断する（図６のステップＡ２４あるいは図９のステップＢ２４参照）。
【０１１９】
また、ＣＰＵ３１は、以下のような状態４〜６を検出した場合に（ステップＣ１６のＹＥＳ）、サーバ装置１１から描画データを受信できる状況を示す第２の条件を満たすものと判断して、第２の識別子である要求識別子ＩＤ２をサーバ装置１１に送信する（ステップＣ１７）。
【０１２０】
・状態４：表示部３６が開閉可能な構造を有する場合において、その表示部３６が開かれた状態。なお、表示部３６の開かれた状態は、その表示部３６の開閉部に設置された表示部開閉センサ３６ａから出力される信号に基づいて検出される。なお、この状態４の検出は、前記状態１の検出によって不要求識別子ＩＤ１が送信された場合に適用されるものとする。
【０１２１】
・状態５：クライアント装置１２の表示部３６の表示画面がＯＮされた状態を検出する。これは、表示スイッチ３５ａによって表示部３６の表示機能がＯＮ操作されたことで検出される。なお、この状態５の検出は、前記状態２の検出によって不要求識別子ＩＤ１が送信された場合に適用されるものとする。
【０１２２】
・状態６：図１１に示すように、クライアント装置１２が筆記操作によりデータ入力を行うためのタッチパネル４０を備えている場合において、同図（ｂ）のようにタッチパネル４０上で送信要求マーク（この例では「○」マーク）４２が入力された状態を検出する。この送信要求マーク４２の入力は、図１２に示すような認識テーブル４３を用いて認識される。この認識テーブル４３は、例えば記憶部３４内に設けられる。なお、この状態６の検出は、前記状態３の検出によって不要求識別子ＩＤ１が送信された場合に適用されるものとする。
【０１２３】
前記状態４〜６のいずれかの検出に伴い、要求識別子ＩＤ２がサーバ装置１１に送信されると、サーバ装置１１では、その要求識別子ＩＤ１を受信した時点で描画データの送信を開始する（図６のステップＡ２９あるいは図９のステップＢ２７参照）。
【０１２４】
サーバ装置１１から描画データが送られて来ると（ステップＣ１８のＹＥＳ）、ＣＰＵ３１は、その描画データをフレームバッファＲＡＭ３３に格納した後、表示部３６の画面上に表示する（ステップＣ１９）。詳しくは、当該描画データと共に送られてくる領域情報に基づいて画面上の表示位置を判断し、その表示位置に描画データを表示する処理を行う。
【０１２５】
以上のような処理をサーバ装置１１との通信接続を終了するまでの間、繰り返し行う（ステップＣ２０のＮＯ）。サーバ装置１１との通信接続を終了する場合（ステップＣ２０のＹＥＳ）、ＣＰＵ２３は、所定の接続断処理を行ってサーバ装置１１との接続を遮断して（ステップＣ２１）、ここでの処理を終える。
【０１２６】
「テキスト入力モードを検出する場合」
図１３はサーバベース・コンピューティング・システムのクライアント装置１２によるテキスト入力モードを検出する場合の処理動作を示すフローチャートである。
【０１２７】
ネットワーク１３上のサーバ装置１１に接続するため、まず、クライアント装置１２に備えられたＣＰＵ３１は、通信制御部２７を通じて予め設定されたパスワードやＩＤなどを送信して接続認証要求を行う（ステップＤ１１）。この接続認証要求に対し、サーバ装置１１から接続許可の応答があると、続いて、ＣＰＵ３１は、通信制御部２７を通じて所定の接続処理を行い、サーバ装置１１との間で互いにデータ通信可能な状態を確立する（ステップＤ１２）。
【０１２８】
ここで、サーバ装置１１との間で入力イベントの送信を含む通信処理が行われると（ステップＤ１３）、ＣＰＵ３１は、記憶部３４のモード記憶領域３４ｂに記憶されたテキスト入力モードの設定情報に基づいて、テキスト入力モードがＯＮ設定されているか否かを判断する（ステップＤ１４）。
【０１２９】
テキスト入力モードとは、ユーザがキーボード等の入力部３５を通じて入力したテキストデータの入力処理を実行するためのモードであり、所定の操作によりＯＮ／ＯＦＦ設定される。このテキスト入力モードの設定によって実行されるデータ入力処理は、サーバ装置１１は関与せずに、クライアント装置１２の中だけで実行される所謂「クローズ処理」の１つである。
【０１３０】
このテキスト入力モードがＯＮ設定された場合に（ステップＤ１４のＹＥＳ）、ＣＰＵ３１は、サーバ装置１１から描画データを受信できない状況を示す第１の条件を満たすものと判断して、第１の識別子である描画データの不要求識別子ＩＤ１をサーバ装置１１に送信し（ステップＤ１５）、その間に入力部３５を通じて入力されたテキストデータを記憶部３４の入力データ記憶領域３４ｃに保存しておく（ステップＤ１６）。
【０１３１】
そして、テキスト入力モードがＯＮからＯＦＦに切り替えられた場合、つまり、テキスト入力モードが解除された場合に（ステップＤ１７のＹＥＳ）、ＣＰＵ３１は、前記記憶部３４の入力データ記憶領域３４ｃに保存されたテキストデータを一括してサーバ装置１１に送信すると共に（ステップＤ１８）、サーバ装置１１から描画データを受信できる状況を示す第２の条件を満たすものと判断して、第２の識別子である要求識別子ＩＤ２をサーバ装置１１に送信する（ステップＤ１９）。
【０１３２】
サーバ装置１１から描画データが送られて来ると（ステップＤ２０のＹＥＳ）、ＣＰＵ３１は、その描画データをフレームバッファＲＡＭ３３に格納した後、表示部３６の画面上に表示する（ステップＤ２１）。詳しくは、当該描画データと共に送られてくる領域情報に基づいて画面上の表示位置を判断し、その表示位置に描画データを表示する処理を行う。
【０１３３】
以上のような処理をサーバ装置１１との通信接続を終了するまでの間、繰り返し行う（ステップＤ２２のＮＯ）。サーバ装置１１との通信接続を終了する場合（ステップＤ２２のＹＥＳ）、ＣＰＵ２３は、所定の接続断処理を行ってサーバ装置１１との接続を遮断して（ステップＤ２３）、ここでの処理を終える。
【０１３４】
このように第１の実施形態によれば、サーバベース・コンピューティング・システムにおいて、通信中にクライアント装置１２が表示画面を閉じているなど、描画データを受信できない状況にある場合に、サーバ装置１１による描画データの送信を中断することができる。
【０１３５】
これにより、例えばスクリーンセーバ、アニメーション、動画ＧＩＦなどのように、クライアント装置１２が画面を閉じている間は必要としない描画データの送信処理をなくして、その間の無駄な通信量を削減することができる。
【０１３６】
さらに、動画等の連続性を有するデータについては、クライアント装置１２が受信できない間、サーバ装置１１側で保持される。そして、クライアント装置１２が受信できる状況になったときに、サーバ装置１１からマージ転送方式あるいは差分転送方式を用いて、それまでの画面変化分の描画データがまとめて送信される。したがって、従来システムのように、クライアント装置１２の受信状況が分からずに、その都度、描画データにヘッダ情報を付けて繰り返し送るような無駄な手間が省かれ、しかも、１回で送るデータ量が多くなる分、圧縮効率を上げることができるので、通信量としてのデータ量を減らして効率的に送ることができる。
【０１３７】
なお、クライアント装置１２に描画データを送る際に、「マージ転送方式」を用いた場合には、クライアント装置１２に送信済みの描画データをその都度保持しておく必要がないので、その分、メモリ容量を抑えることができるといった利点がある。これに対し、「差分転送方式」を用いた場合には、前回送信済みの描画データとの差分のみを送るので、通信量を抑えることができるといった利点がある。
【０１３８】
また、従来システムでは、クライアント装置１２側でサーバ装置１１による描画データの送信を制御することができなかったが、本実施形態では、クライアント装置１２から所定の条件に従って特定の識別子（不要求識別子ＩＤ１，要求識別子ＩＤ２）を送信することで、サーバ装置１１による描画データの送信をクライアント装置１２側で制御することができる。
【０１３９】
前記所定の条件とは、クライアント装置１２の表示部３６が開閉されたとき、表示画面がＯＮ／ＯＦＦされたとき、タッチパネル４０を通じて送信禁止マーク４１／送信要求マーク４２が入力されたときである。
【０１４０】
クライアント装置１２の表示部３６が開閉されたときに特定の識別子を送信する方法であれば、例えばユーザが表示部３６を閉じて移動する場合に、その間の描画データの送信を一時的に止めておき、移動先で表示部３６を開いたときに描画データをまとめて受信するといった利用ができる。
【０１４１】
また、クライアント装置１２の表示部３６の画面がＯＮ／ＯＦＦされたときに特定の識別子を送信する方法であれば、例えばユーザが何らかの理由で画面をＯＦＦしておく場合に、その間の描画データの送信を一時的に止めておき、画面をＯＮしたときに、描画データをまとめて受信するといった利用ができる。
【０１４２】
また、タッチパネル４０を通じて送信禁止マーク４１／送信要求マーク４２が特定の識別子を送信する方法であれば、表示画面をＯＮにしたままの状態で、ユーザの都合に合わせて描画データの送信を制御することができる。
【０１４３】
なお、前記図１０のフローチャートでは、クライアント装置１２の表示部３６の開閉状態、あるいは、表示部３６の画面のＯＮ／ＯＦＦ状態、あるいは、送信禁止マーク４１／送信要求マーク４２の入力状態を検出する場合を想定して説明したが、これらの状態以外であっても、例えば描画データの送信制御用に特定の操作ボタンを設け、その操作ボタンのＯＮ／ＯＦＦ状態を検出するなど、クライアント装置１２側のデータ受信状況に関わる状態を示すものであれば、その状態を検出することで同様の効果を得ることができる。
【０１４４】
また、送信禁止マーク４１／送信要求マーク４２を入力する場合についても、「レ」／「○」マーク等の記号を筆記入力することに限らず、送信禁止マーク４１／送信要求マーク４２をクリックするなど、要は不要求識別子ＩＤ１と要求識別子ＩＤ２を入力できるような構成であれば良い。
【０１４５】
また、本実施形態では、テキスト入力モードの設定状態に応じて不要求識別子ＩＤ１または要求識別子ＩＤ２を発送するようにしたことで、ユーザがテキストデータを入力している間、クライアント装置１２による描画データの送信を止めておくことができ、データ入力後、サーバ装置１１からその入力済みのテキストデータに対する描画データを効率的に送ることができる。
【０１４６】
なお、前記図１３のフローチャートでは、テキスト入力モードの設定状態を検出する場合を想定して説明したが、テキスト入力モード以外であっても、サーバ装置１１が関与せずに、クライアント装置１２内だけで実行されるモードであれば、そのモードの設定状態を検出することで同様の効果を得ることができる。
【０１４７】
また、本実施形態では、図６にて「マージ転送方式を用いる場合」、図９にて「差分転送方式を用いる場合」を別々のフローチャートにて説明したが、これら両方式を組み合わせれば、マージ転送方式を用いた場合に取得されたクライアント装置１２に送信すべき描画データと差分転送方式を用いた場合に取得されたクライアント装置１２に送信すべき差分データとのデータ容量の大小比較を行い、小さいデータ容量の方をクライアント装置１２に送信することができる。
【０１４８】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。
【０１４９】
前記第１の実施形態では、サーバ装置１１がクライアント装置１２から所定の条件に従って送信される不要求識別子ＩＤ１／要求識別子ＩＤ２に基づいて描画データの送信を制御する構成としたが、第２の実施形態では、サーバ装置１１がクライアント装置１２との間の通信状況を検出して描画データの送信を制御する。
【０１５０】
なお、サーバ装置１１とクライアント装置１２の構成については、基本的には前記第１の実施形態と同様である。ただし、サーバ装置１１の記憶部２４には、現在のクライアント装置１２との通信状況を判断するための構成要素として、図１４に示すように、応答時間Ｎ、計測カウンタＣ、計数回数Ｍの各値を記憶するための記憶領域２４ｃ〜２４ｄが設けられる。さらに、この記憶部２４には、現在のクライアント装置１２との通信状況（オフライン／オンライン）を示す情報を記憶領域２４ｅが設けられる。
【０１５１】
以下では、マージ転送方式を用いて描画データを送信する場合を想定し、サーバ装置１１の処理動作を説明する。
【０１５２】
図１５はサーバベース・コンピューティング・システムのサーバ装置１１によるマージ転送方式を用いた処理動作を示すフローチャートである。
【０１５３】
クライアント装置１２からネットワーク１３を介して接続要求があると、サーバ装置１１に備えられたＣＰＵ２１は、まず、その接続要求元のクライアント装置１２に予め設定されたパスワードやＩＤなどを用いて認証処理を行う（ステップＥ１１）。
【０１５４】
認証後、ＣＰＵ２１は、そのクライアント装置１２に対して接続許可を通知し、通信制御部２７を通じて所定の接続処理を行いことにより、当該クライアント装置１２との間で互いにデータ通信可能な状態を確立する（ステップＥ１２）。
【０１５５】
接続要求元のクライアント装置１２との接続が確立されると、ＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードをＯＮにすると共に（ステップＥ１３）、メモリ２２内の当該クライアント装置１２に対応した領域管理バッファＳ０，Ｓ１をクリアしておく（ステップＥ１４）。Ｓ０は前回の領域情報、Ｓ１は現在の領域情報を記憶するためのバッファである。
【０１５６】
ここで、接続要求元のクライアント装置１２からの入力イベントの受付けなどを含む通信処理が実行され、サーバ装置１１で生成される描画データが当該クライアント装置１２に送信されて、その画面上に表示される（ステップＥ１５）。
【０１５７】
その際、第２の実施形態では、接続要求元のクライアント装置１２との通信状況を判断するため、応答時間の計測処理が実行される（ステップＥ１６）。この応答時間の計測処理については、後に図１６を参照して詳しく説明する。
【０１５８】
前記第１の実施形態で説明したように、クライアント装置１２との通信中において、サーバ装置１１側では、クライアント装置１２に提供しているアプリケーションプログラムの表示画面を監視しており、当該表示画面上で描画データが書き換えられた領域（更新領域）があると、その領域情報を取得して領域管理バッファＳ０に記憶する（ステップＥ１７）。
【０１５９】
具体的には、図７に示すように、画面上の更新領域をＥＲ１とすると、その更新領域ＥＲ１の矩形を構成する４点のうちの対角点のＰ１の座標（ｘ1，ｙ1）とＰ２の座標（ｘ2，ｙ2）、あるいは、任意の１点のＰ１の座標情報（ｘ1，ｙ1）と横サイズＤＷ１と縦サイズＤＨ１からなる。
【０１６０】
その際、ＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードがＯＮされているか否かを判断する（ステップＥ１８）。描画データの送信モードがＯＮであれば（ステップＥ１８のＹＥＳ）、続いて、ＣＰＵ２１は、前記ステップＥ１６の計測結果として得られる通信状況情報に基づいて、現在のクライアント装置１２との間の通信回線がオフライン状態またはオンライン状態であるかを判断する（ステップＥ１９）。
【０１６１】
なお、ここでの「オフライン状態」とは、クライアント装置１２のレスポンスが遅い状態つまり通信状況が悪い状態を言う。これに対し、「オンライン状態」とは、クライアント装置１２のレスポンスが早い状態つまり通信状況が良い状態を言う。
【０１６２】
描画データの送信モードがＯＮであり、かつ、現在のクライアント装置１２との間の通信回線がオンフライン状態であれば（ステップＥ１９のＮＯ）、ＣＰＵ２１は、領域管理バッファＳ０に記憶されている領域情報を領域管理バッファＳ１に移すと共に（ステップＥ２０）、その領域管理バッファＳ１に移した領域情報に対応した描画データを取得する（ステップＥ２１）。そして、ＣＰＵ２１は、その取得した描画データにＳ１の領域情報を付して通信中のクライアント装置１２に送信する（ステップＥ２２）。
【０１６３】
以上が正常な状態における描画データの送信処理であり、クライアント装置１２との間の通信回線が接続されている間、同様に繰り返される（ステップＥ２３のＮＯ）。
【０１６４】
一方、例えばユーザの移動中に通信状況が悪くなり、クライアント装置１２が描画データを受信できない状況になると、前記ステップＥ１５においてオフライン状態が設定される。サーバ装置１１では、オフライン状態の場合には（ステップＥ１９のＹＥＳ）、以下のような処理を実行する。
【０１６５】
すなわち、サーバ装置１１のＣＰＵ２１は、記憶部２４のモード記憶領域２４ｂに記憶された描画データの送信モードをＯＮからＯＦＦに切り替えて（ステップＥ２４）、クライアント装置１２に対する描画データの送信を中断する（ステップＥ２５）。その際、ＣＰＵ２１は、現在、領域管理バッファＳ０に記憶されている領域情報を領域管理バッファＳ１に移し、送信中断時点おける画面状態として保持しておく（ステップＥ２６）。
【０１６６】
ここで、クライアント装置１２に対する描画データの送信を中断している間も、例えば中断直前にクライアント装置１２から受信した入力イベントを処理中であれば、表示画面は逐次更新されている。
【０１６７】
送信中断の間に表示画面が更新されると、ＣＰＵ２１は、その更新域の情報を取得して領域管理バッファＳ０に記憶する（ステップＥ１７）。そして、クライアント装置１２との通信状況が回復するまでの間、ＣＰＵ２１は、領域管理バッファＳ１に記憶された送信中断時点での領域情報と領域管理バッファＳ０に記憶された領域情報とをマージし（Ｓ１＋Ｓ０）、そのマージ後の領域情報に基づいて領域管理バッファＳ１に逐次書き換えていく（ステップＥ１８→Ｅ２７→Ｅ２８）。
【０１６８】
具体的に説明すると、今、図８に示すように、画面更新された領域がＥＲ２であるとすると、送信中断時点における更新領域ＥＲ１と今回の更新領域ＥＲ２とをマージした領域を送信中断時点から変化した領域ＥＲ３として取得する。そして、その領域情報（変化領域ＥＲ３のＰ１，Ｐ４の座標情報あるいはＰ１の座標情報と縦横サイズＤＨ２，ＤＷ２）を新たに領域管理バッファＳ１に記憶する。
【０１６９】
このようなマージ処理をクライアント装置１２との通信状況が回復するまでの間（つまり、オンライン状態が設定されるまでの間）、繰り返し行う。これにより、領域管理バッファＳ１には、常に画面更新にて変化した領域の情報が保持されることになる。
【０１７０】
その後、クライアント装置１２との間の通信回線がオンライン状態になると（ステップＥ２７のＹＥＳ）、ＣＰＵ２１は、クライアント装置１２に対する描画データの送信が可であると判断し、描画データの送信モードをＯＦＦからＯＮに戻して（ステップＥ２９）、描画データの送信を開始する（ステップＥ３０）。
【０１７１】
この場合、ＣＰＵ２１は、オンライン状態になった直前に領域管理バッファＳ０に記憶された領域情報と領域管理バッファＳ１に記憶されている領域情報とをマージし、そのマージによって生成された新たな領域情報を領域管理バッファＳ１に記憶する（ステップＥ３１）。そして、ＣＰＵ２１は、その領域管理バッファＳ１に記憶された領域情報に対応した描画データを取得し、その取得した描画データにＳ１の領域情報を付して通信中のクライアント装置１２に送信する（ステップＥ２２）。
【０１７２】
また、クライアント装置１２から接続終了要求を受けると（ステップＥ２３のＹＥＳ）、ＣＰＵ２１は、所定の接続断処理を行ってクライアント装置１２との接続を遮断して（ステップＥ３２）、ここでの処理を終える。
【０１７３】
次に、図１６を参照して前記ステップＥ１６で実行される応答時間の計測処理について説明する。
【０１７４】
図１６はサーバベース・コンピューティング・システムのサーバ装置１１による応答時間の計測処理の動作を示すフローチャートである。
【０１７５】
接続要求元のクライアント装置１２との間の通信回線が接続されると、サーバ装置１１に備えられたＣＰＵ２１は、まず、初期設定として、記憶部２４の各記憶領域２４ｃ〜２４ｅに記憶された応答時間Ｎ、計測カウンタＣ、測定回数Ｍの各値をクリアする（ステップＦ１１）。
【０１７６】
ここで、現在のクライアント装置１２との通信状況を判断するため、ＣＰＵ２１は、計測用リクエスト信号を当該クライアント装置１２に対して送信し（ステップＦ１２）、その応答時間を計測する。その際、１回の計測では信頼性に欠けるため、複数回（ここではＭ回）の計測を行い、その平均を取るものとする。
【０１７７】
詳しく説明すると、まず、ＣＰＵ２１は、計測用リクエスト信号を送信したときに測定回数Ｍの値を＋１インクリメントし（ステップＦ１３）、時間を計測する計測カウンタＣのカウント動作を開始する（ステップＦ１４）。そして、当該計測用リクエスト信号に対する応答信号（ＡＣＫ信号）が返ってきたら（ステップＦ１５のＹＥＳ）、ＣＰＵ２１は、計測カウンタＣのカウント動作を停止し（ステップＦ１６）、そのときの計測カウンタＣの値を応答時間Ｎに加算する（ステップＦ１７）。
【０１７８】
ここで、測定回数Ｍが所定回未満であれば（ステップＦ１８のＮＯ）、ＣＰＵ２１は、計測カウンタＣの値をゼロクリアした後（ステップＦ１９）、再び計測用リクエスト信号を当該クライアント装置１２に対して送信し（ステップＦ１２）、そのときに得られる計測カウンタＣの値を応答時間Ｎに加算していく（ステップＦ１３〜Ｆ１７）。
【０１７９】
以上の計測動作を繰り返し、測定回数Ｍが所定回に達すると（ステップＦ１８のＮＯ）、ＣＰＵ２１は、最終的に得られた応答時間Ｎの値をその測定回数Ｍの値で除算することにより、１回当たりの平均値Ｎａを算出する（ステップＦ２０）。そして、この応答時間の平均値Ｎａが予め設定された時間（ここでは２秒）以内であれば（ステップＦ２１のＹＥＳ）、ＣＰＵ２１は、現在のクライアント装置１２との間の通信回線がオンライン状態であることを示す情報を記憶部２４の記憶領域２４ｆに設定する（ステップＦ２２）。
【０１８０】
一方、前記応答時間の平均値Ｎａが予め設定された時間（ここでは２秒）を超える場合には（ステップＦ２３のＹＥＳ）、ＣＰＵ２１は、現在のクライアント装置１２との間の通信回線がオフライン状態であることを示す情報を記憶部２４の記憶領域２４ｆに設定する（ステップＦ２２）。
【０１８１】
上述したように、「オフライン状態」とは、クライアント装置１２のレスポンスが遅い状態つまり通信状況が悪い状態のことであり、「オンライン状態」とは、クライアント装置１２のレスポンスが早い状態つまり通信状況が良い状態のことである。
【０１８２】
また、計測用リクエスト信号を送信しても、クライアント装置１２から応答信号（ＡＣＫ信号）が返ってこなかった場合には（ステップＦ１５のＮＯ）、ＣＰＵ２１は、現在のクライアント装置１２との間の通信回線がオフライン状態であることを示す情報を記憶部２４の記憶領域２４ｆに設定する（ステップＦ２５）。
【０１８３】
このように第２の実施形態によれば、サーバ装置１１がクライアント装置１２との間の通信状況を検出し、通信状況が悪い場合にはクライアント装置１２に対する描画データの送信を中断し、通信状況が良好になった時点で、マージ転送方式あるいは差分転送方式を用いて、それまでの画面変化分の描画データをまとめて送信する。これにより、前記第１の実施形態と同様に、クライアント装置１２が受信できない状況での無駄な通信を防いで、受信できる状況になったときに描画データを効率的に送ることができる。
【０１８４】
なお、このような方法で描画データをクライアント装置１２に送る場合でも、「マージ転送方式」を用いた場合には、クライアント装置１２に送信済みの描画データをその都度保持しておく必要がないので、その分、メモリ容量を抑えることができる。これに対し、「差分転送方式」を用いた場合には、前回送信済みの描画データとの差分のみを送るので、通信量を抑えることができる。
【０１８５】
さらに、この第２の実施形態による方法では、サーバ装置１１側で通信状況を検出して描画データの送信制御を行うため、クライアント装置１２側に対しては特に処理的な改良を加えずに実現できる、といったメリットがある。
【０１８６】
なお、前記図１５では、マージ転送方式で描画データを送信する場合を想定して説明したが、差分転送方式で描画データを送信する場合でも同様に適用可能である。
【０１８７】
また、前記各実施形態におけるサーバベース・コンピューティング・システムの処理、すなわち、図６、図９、図１０、図１３、図１５、図１６の各フローチャートで示されるサーバ装置１１、クライアント装置１２の各処理は、何れもコンピュータに実行させることができるプログラムとして、例えばメモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記録媒体２８ａ，３８ａに格納して配布することができる。そして、サーバ装置１１、クライアント装置１２のコンピュータ（ＣＰＵ２１，３１）は、この外部記録媒体２８ａ，３８ａに記憶されたプログラムを読み込むことにより、前記各実施形態の処理を実行することができる。
【０１８８】
さらに、前記各プログラムのデータは、プログラムコードの形態として通信ネットワーク１３を介してサーバ装置１１、クライアント装置１２に提供することも可能である。
【０１８９】
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１９０】
【図１】図１は本発明の第１の実施形態に係るサーバベース・コンピューティング・システムの構成を示すブロック図である。
【図２】図２は同実施形態におけるサーバベース・コンピューティング・システムに用いられるサーバ装置の回路構成を示すブロック図である。
【図３】図３は同実施形態におけるサーバ装置に備えられたＣＰＵの機能構成を示すブロック図である。
【図４】図４は同実施形態におけるサーバベース・コンピューティング・システムに用いられるクライアント装置の回路構成を示すブロック図である。
【図５】図５は同実施形態におけるクライアント装置に備えられたＣＰＵの機能構成を示すブロック図である。
【図６】図６は同実施形態におけるサーバベース・コンピューティング・システムのサーバ装置によるマージ転送方式を用いた処理動作を示すフローチャートである。
【図７】図７は同実施形態におけるマージ転送方式を説明するための図であり、表示画面上の更新領域を示す図である。
【図８】図８は同実施形態におけるマージ転送方式を説明するための図であり、表示画面上の送信中断時点における更新領域と現在の更新領域を示す図である。
【図９】図９は同実施形態におけるサーバベース・コンピューティング・システムのサーバ装置による差分転送方式を用いた処理動作を示すフローチャートである。
【図１０】図１０は同実施形態におけるサーバベース・コンピューティング・システムのクライアント装置による所定の状態を検出する場合の処理動作を示すフローチャートである。
【図１１】図１１は同実施形態におけるサーバベース・コンピューティング・システムのクライアント装置がタッチパネルを備えている場合の送信禁止マークと送信要求マークを説明するための図である・
【図１２】図１２は同実施形態におけるサーバベース・コンピューティング・システムのクライアント装置に備えられたタッチパネルの認識テーブルの一例を示す図である。
【図１３】図１３は同実施形態におけるサーバベース・コンピューティング・システムのクライアント装置によるテキスト入力モードを検出する場合の処理動作を示すフローチャートである。
【図１４】図１４は本発明の第２の実施形態におけるサーバベース・コンピューティング・システムのサーバ装置に設けられた記憶部の内容を示す図である。
【図１５】図１５は同実施形態におけるサーバベース・コンピューティング・システムのサーバ装置によるマージ転送方式を用いた処理動作を示すフローチャートである。
【図１６】図１６は同実施形態におけるサーバベース・コンピューティング・システムのサーバ装置による応答時間の計測処理の動作を示すフローチャートである。
【符号の説明】
【０１９１】
１１…サーバ装置、１２（１２ａ，１２ｂ，１２ｃ）…クライアント装置、１３…ネットワーク、２０…システムバス、２１…ＣＰＵ、２１ａ…送信可否判断部、２２ｂ…送信中断部、２１ｃ…送信制御部、２１ｄ…マージ処理部、２１ｅ…差分算出部、２１ｆ…通信状況検出部、２２…メモリ、Ｓ０，Ｓ１…領域管理バッファ、ＦＢ０，ＦＢ１仮想フレームバッファ、２３…フレームバッファＲＡＭ、２４…記憶部、２５…入力部、２６…表示部、２７…通信制御部、２８…媒体読取り部、２８ａ…媒体、３０…システムバス、３１…ＣＰＵ、３１ａ…第１の条件判断部、３１ｂ…第１の識別子送信部、３１ｃ…第２の条件判断部、３１ｄ…第２の識別子送信部、３１ｅ…モード設定部、３２…メモリ、３３…フレームバッファＲＡＭ、３４…記憶部、３５…入力部、３６…表示部、３６ａ…表示部開閉センサ、３７…通信制御部、３８…媒体読取り部、３８ａ…媒体、４０…タッチパネル、４１…送信禁止マーク、４２…送信要求マーク、４３…認識テーブル。
【図１】
2010055188.tif 000003
【図２】
2010055188.tif 000004
【図３】
2010055188.tif 000005
【図４】
2010055188.tif 000006
【図５】
2010055188.tif 000007
【図６】
2010055188.tif 000008
【図７】
2010055188.tif 000009
【図８】
2010055188.tif 000010
【図９】
2010055188.tif 000011
【図１０】
2010055188.tif 000012
【図１１】
2010055188.tif 000013
【図１２】
2010055188.tif 000014
【図１３】
2010055188.tif 000015
【図１４】
2010055188.tif 000016
【図１５】
2010055188.tif 000017
【図１６】
2010055188.tif 000018