(57)【要約】【課題】複数のアプリケーションプログラム(AP)からの描画リクエストを受け付け、画面の描画と転送を行うシステムにおいて、画面転送時に通信帯域に負荷をかけているAPを特定し、画面転送時のデータ量をAP単位で抑制する。【解決手段】描画手段103は、画面描画時に画面を区分する領域毎に描画リクエストの発行元のAPの識別情報を対応付けた描画リクエスト発行元情報を生成する。エンコード手段104は、画面転送時に、画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、APの識別情報と、転送用画像情報に占める各APが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成する。この帯域負荷情報に基づいて、多くの通信帯域を使用しているAPの単位時間当たりの描画リクエストの処理数が少なくなるように制御する。【選択図】図２
2008289030.tif 000002
【特許請求の範囲】
【請求項１】
各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持手段と、
前記描画リクエスト保持手段に保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画手段と、
前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコード手段とを備え、
前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御することを特徴とする画面描画転送システム。
【請求項２】
アプリケーションプログラムの優先度を保持する優先度保持手段と、
前記帯域負荷情報に基づいて、前記優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新手段とを備え、
前記描画手段は、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、より優先度の低いアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように、前記描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストの処理方法を決定し、該決定した処理方法で描画リクエストを処理することを特徴とする請求項１記載の画面描画転送システム。
【請求項３】
アプリケーションプログラムの優先度を保持する優先度保持手段と、
前記帯域負荷情報に基づいて、前記優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新手段と、
前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、各アプリケーションプログラムに割り当てるＣＰＵ時間を決定するスケジューリング手段とを備えることを特徴とする請求項１記載の画面描画転送システム。
【請求項４】
前記エンコード手段は、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いることを特徴とする請求項２または３に記載の画面描画転送システム。
【請求項５】
前記優先度更新手段は、直近に入力された帯域負荷情報だけでなく、複数回の帯域負荷情報の履歴を参照して各アプリケーションプログラムの優先度を決定することを特徴とする請求項２乃至４の何れか１項に記載の画面描画転送システム。
【請求項６】
前記優先度更新手段は、帯域負荷情報とそのほかの情報との組み合わせに基づいて各アプリケーションプログラムの優先度を決定することを特徴とする請求項２乃至５の何れか１項に記載の画面描画転送システム。
【請求項７】
コンピュータが、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、
前記コンピュータが、前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、
前記コンピュータが、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを含み、
前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御することを特徴とする画面描画転送方法。
【請求項８】
前記コンピュータが、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップを含み、
前記描画ステップでは、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、より優先度の低いアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように、前記描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストの処理方法を決定し、該決定した処理方法で描画リクエストを処理することを特徴とする請求項７記載の画面描画転送方法。
【請求項９】
前記コンピュータが、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップと、
前記コンピュータが、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、各アプリケーションプログラムに割り当てるＣＰＵ時間を決定するスケジューリングステップとを含むことを特徴とする請求項７記載の画面描画転送方法。
【請求項１０】
前記エンコードステップでは、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いることを特徴とする請求項８または９に記載の画面描画転送方法。
【請求項１１】
前記優先度更新ステップでは、直近に入力された帯域負荷情報だけでなく、複数回の帯域負荷情報の履歴を参照して各アプリケーションプログラムの優先度を決定することを特徴とする請求項８乃至１０の何れか１項に記載の画面描画転送方法。
【請求項１２】
前記優先度更新ステップでは、帯域負荷情報とそのほかの情報との組み合わせに基づいて各アプリケーションプログラムの優先度を決定することを特徴とする請求項８乃至１１の何れか１項に記載の画面描画転送方法。
【請求項１３】
各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、
前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、
前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを、コンピュータに実行させるためのプログラムであって、
前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御することを特徴とする画面描画転送プログラム。
【請求項１４】
前記コンピュータに、さらに、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップを行わせるためのプログラムであって、かつ、
前記描画ステップでは、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、より優先度の低いアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように、前記描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストの処理方法を決定し、該決定した処理方法で描画リクエストを処理することを特徴とする請求項１３記載の画面描画転送プログラム。
【請求項１５】
前記コンピュータに、さらに、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップと、
前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、各アプリケーションプログラムに割り当てるＣＰＵ時間を決定するスケジューリングステップとを行わせるための請求項１３記載の画面描画転送プログラム。
【請求項１６】
前記エンコードステップでは、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いることを特徴とする請求項１４または１５に記載の画面描画転送プログラム。
【請求項１７】
前記優先度更新ステップでは、直近に入力された帯域負荷情報だけでなく、複数回の帯域負荷情報の履歴を参照して各アプリケーションプログラムの優先度を決定することを特徴とする請求項１４乃至１６の何れか１項に記載の画面描画転送プログラム。
【請求項１８】
前記優先度更新ステップでは、帯域負荷情報とそのほかの情報との組み合わせに基づいて各アプリケーションプログラムの優先度を決定することを特徴とする請求項１４乃至１７の何れか１項に記載の画面描画転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの画面の画像データをネットワークを介して画面表示用端末に転送する画面描画転送システムに関する。
【背景技術】
【０００２】
本発明に関連する画面描画システムの一例が、非特許文献１に記載されている。図１０に示すように、この画面描画システムは、Xサーバ300と、マウスドライバ301と、キーボードドライバ302と、グラフィックスドライバ303と、XクライアントA304およびXクライアントB305とで構成され、また、Xサーバ300は、リクエストキューA306およびリクエストキューB307と、リクエスト処理手段308と、処理時間計測手段309と、イベント配送手段310と、インタラクティブクライアント特定手段311と、優先度更新手段312と、Xクライアント優先度データベース313とを有している。このような構成を有する画面描画システムは概略つぎのように動作する。
【０００３】
XクライアントA304がXサーバ300にリクエストを送信すると、そのリクエストはリクエストキューA306に蓄えられる。同様に、XクライアントB305がXサーバ300にリクエストを送信すると、そのリクエストはリクエストキューB307に蓄えられる。
【０００４】
リクエスト処理手段308は、Xクライアント優先度データベース313から、XクライアントA304およびXクライアントB305の優先度を取得し、優先度の高い方のXクライアントに対応するリクエストキューからリクエストを優先的に取り出し、処理を行う。
【０００５】
処理の内容としては、イベント配送手段310にイベントの配送要求を伝えること、グラフィックスドライバ303に描画命令を発行することなどがある。
【０００６】
さらに、処理時間計測手段309は、リクエスト処理手段308がリクエストの処理に費やした時間をXクライアント毎に計測し、優先度更新手段312に送る。
【０００７】
また、Xサーバ300は、マウスドライバ301やキーボードドライバ302から、イベントを受け取り、イベント配送手段310によって、Xクライアントに配信する。
【０００８】
イベント配送手段310による配信先は、リクエスト処理手段308によって配送要求が伝えられているXクライアントのうちから選ばれる。選択の手順としては、たとえば画面の最前面に位置しているウィンドウを持つXクライアントを選択するなどが挙げられる。
【０００９】
インタラクティブクライアント特定手段311は、イベント配送手段310によるイベントの配信先となっているXクライアントを、現時点でマウスやキーボードを通じてユーザの対話的操作を受け付けているXクライアントとして特定し、優先度更新手段312に送る。
【００１０】
優先度更新手段312は、リクエストの処理に時間を費やしているXクライアントの優先度を下げ、ユーザの対話的操作を受け付けているXクライアントの優先度を上げるように、Xクライアント優先度データベース313を更新する。
【００１１】
また、本発明に関連する他の画面転送システムの一例が、特許文献１に記載されている。図１１に示すように、この画面転送システムは、画面転送装置400と画面表示端末409とこれらを接続するネットワーク408とで構成され、画面転送装置400は、画面情報生成部401と、更新画像データ生成部402と、送信画像データ決定部403と、画面保持部404と、送信結果情報格納部405と、圧縮部406と、通信部407とを有している。このような構成を有する画面転送システムは次のように動作する。
【００１２】
まず、画面情報生成部401が、画面表示用の画像データを生成する。次に、更新画像データ生成部402が、画面表示用の画像データのうち、更新のあった領域の画像データを更新画像データとして生成する。次に、画面保持部404が、画面情報生成部401が生成した最新の画面の画像データを保持する。送信結果情報格納部405は、画面を区画する領域毎に、送信された画像データの画質を表す情報および送信時刻を、送信結果情報として保持しており、送信画像データ決定部403が、更新画像データと送信結果情報に基づいて、更新画像データと最新の画面の画像データのいずれを送信するかを決定し、さらに、最新の画面の画像データを送信する場合には、最新の画面の画像データのうち、どの領域を送信するのか、および送信する画像データの画質を決定する。次に、圧縮部406が、送信する画像データを、決定された画質に基づいて圧縮し、通信部407が、圧縮された画像データをネットワーク408を介して、画面表示端末409に送信する。画面表示端末409では、受信した画像データに基づいて画面を表示する。
【００１３】
より詳細には、送信画像データ決定部403は、画面転送に利用可能な帯域の範囲で、送信すべき画像データとその画質を決定し、更新画像データは予め設定された第一の画質で送信することを優先して決定し、帯域の余った範囲で、更新画像データの領域外で第一の画質ですでに送信した状態にある領域の最新の画面の画像データを、第一の画質よりも高い第二の画質で送信することを決定するよう動作する。また、最新の画面の画像データを送信することを決定する際に、現在の時刻と、第一の画質で送信した際の送信時刻の差が大きい領域の画像データを優先して送信することを決定するよう動作する。
【００１４】
【特許文献１】特開2006-246153号公報
【非特許文献１】Keith Packard著「Efficiently Scheduling X Clients」、USENIX2000 Proceedings  ［平成19年5月9日検索］インターネット＜URL:http://www.usenix.org/events/usenix2000/freenix/packardefficient.html＞
【発明の開示】
【発明が解決しようとする課題】
【００１５】
特許文献１に記載の画面転送システムによれば、画面転送に利用可能な帯域の制限を受けにくくでき、また、画面転送を受ける側から見た画面転送のリアルタイム性を向上でき、さらに画面転送を受ける側から見た画質の劣化を目立たなくすることができる。しかし、既にアプリケーションによる描画が終了した画面の画像データに基づいて、画面を区画する領域ごとに送信する画像データと画質の決定を行っているため、複数のアプリケーションプログラムが画面の描画を行っている場合、アプリケーションプログラム単位での画像データ量の削減が行えない。
【００１６】
他方、非特許文献１に記載の画面転送システムによれば、処理時間を多く費やすリクエストを発行しているXクライアントによって、ユーザの対話的操作を受け付けているXクライアントの応答性が阻害されるのを防止できる。また、リクエストの処理に時間を費やしているＸクライアントの優先度を低下させるので、そのＸクライアントの時間当たりのリクエスト処理数が低下し、そのＸクライアントのリクエストが描画リクエストを多く含む場合には、単位時間当たりの描画リクエストの処理数が低減されることになる。つまり、アプリケーションプログラム単位での画像データ量の削減が行われる場合がある。しかし、アプリケーションプログラムから出されたリクエストの処理に要する時間長と、画面表示用端末へ送信される画面表示データに占める当該アプリケーションプログラムによる画面表示データ量とは、一般に比例関係が成立せず、リクエストの処理に時間をさほど必要としないＸクライアントの画面表示データ量が多い場合もあれば、その逆に少ない場合もある。このため、通信帯域に多くの負荷をかけているアプリケーションプログラムによる画面表示データを削減対象とすることで、全体の転送データ量を削減するといった制御は行えない。
【００１７】
本発明の目的は、画面転送時に通信帯域に負荷をかけているアプリケーションプログラムを特定し、画面転送時のデータ量をアプリケーションプログラム単位で抑制することができるようにすることにある。
【課題を解決するための手段】
【００１８】
本発明の第１の画面描画転送システムは、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持手段と、前記描画リクエスト保持手段に保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画手段と、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコード手段とを備え、前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
【００１９】
本発明の第１の画面描画転送方法は、コンピュータが、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、前記コンピュータが、前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、前記コンピュータが、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを含み、前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
【００２０】
本発明の第１の画面描画転送プログラムは、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを、コンピュータに実行させるためのプログラムであって、前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
【発明の効果】
【００２１】
本発明によれば、画面転送時に通信帯域に負荷をかけているアプリケーションプログラムを特定することができ、且つ、画面転送時のデータ量をアプリケーションプログラム単位で抑制することができる。このため、たとえば、通信帯域により多くの負荷をかけているアプリケーションプログラムに対してのみ描画リクエスト処理数を削減することによって転送データ量を削減するといった制御が可能になる。また、たとえば、同じアプリケーションプログラムによって描画された画像は同じ品質で画面に表示するといった制御が可能になる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施例について図面を参照して詳細に説明する。
【００２３】
図１を参照すると、本発明の第１の実施例にかかる画面描画転送装置500は、プログラム制御により動作する演算装置501と、演算装置501にて処理するデータを記憶する主記憶装置502と、電源断時でもデータを保持し続けることが可能な補助記憶装置503と、データを通信網510を通じて送信する通信装置504とから構成される。
【００２４】
通信網510を通じて送信されたデータは、画面表示用端末520の備える通信装置521によって受信され、画面表示装置522によって、画面として表示される。
【００２５】
本発明の第１の実施例において、補助記憶装置503に記憶されたプログラムを、主記憶装置502にロードし、演算装置501で実行することにより実現される機能手段が、図２に示されている。
【００２６】
図２を参照すると、画面描画転送システム100は、アプリケーションプログラムA110およびアプリケーションプログラムB120から描画リクエストを受け取り、画面表示用端末520が画面表示を行うために必要な画像情報を転送用画像情報の形式で作成して、通信網510を介して画面表示用端末520に送信する。
【００２７】
画面描画転送システム100は、アプリケーションプログラムA110からの描画リクエストを受け取り保持する描画リクエスト保持手段A101と、アプリケーションプログラムB120からの描画リクエストを受け取り保持する描画リクエスト保持手段B102と、優先度（実行優先度）をアプリケーションプログラムの識別情報と関連付けて保持する優先度保持手段107と、優先度保持手段107から取り出した優先度に従って、描画リクエスト保持手段A101もしくは描画リクエスト保持手段B102から描画リクエストを取り出し、描画リクエストを処理することによって画像情報を生成し、さらに画像情報を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別情報を対応付けた描画リクエスト発行元情報を生成し、画像情報と描画リクエスト発行元情報をエンコード手段104に出力する描画手段103と、画像情報と描画リクエスト発行元情報を入力として受け取り、画像情報を元に転送用画像情報を生成し、さらに画像情報と描画リクエスト発行元情報を元に、アプリケーションプログラムの識別情報と、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報とを生成し、転送用画像情報を通信手段105に出力し、帯域負荷情報を優先度更新手段106に出力するエンコード手段104と、転送用画像情報を入力として受け取り、画面表示用端末520へ転送用画像情報を送信する通信手段105と、帯域負荷情報を入力として受け取り、帯域負荷情報を元にアプリケーションプログラムの優先度を決定し、優先度保持手段107に保持されている優先度を更新する優先度更新手段106とから構成される。
【００２８】
次に、図３のフローチャートおよび、図４に示された描画リクエスト発行元情報の例を参照して本実施例の動作について詳細に説明する。
【００２９】
画面描画転送システム100は、予め定められた描画周期(たとえば1／30秒)で図３に示した処理を繰り返し実行する。まず、画面描画転送システム100の描画手段103は、各アプリケーションプログラムの優先度を優先度保持手段107から取得する(600)。本実施例の場合、優先度は「高」と「低」の2種類のレベルがあるものとする。勿論、3種類以上のレベルの優先度を用いることも可能である。
【００３０】
次に、描画手段103は、優先度の高いアプリケーションプログラムからの描画リクエストを保持する描画リクエスト保持手段から描画リクエストを1つ取得する(601)。次に、描画手段103は、取得した描画リクエストを処理して、画像情報と描画リクエスト発行元情報とを生成する(602,603,604)。
【００３１】
ここで、描画リクエスト発行元情報は、画面を区分する予め定められた領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けたものであり、図４に一例が示されている。
【００３２】
図４の例では、画面を縦5列、横4行の合計20個の領域に分割している。例えば、アプリケーションプログラムAから、画面上の領域(i=0,j=0)に、小さな丸を描く描画リクエストが発行されたとすると、描画リクエストの処理によって、画面上の領域(i=0,j=0)に小さな丸を示すデータが含まれるよう、画像情報が生成される。その際に、図４に示すように、画面上の領域(i=0,j=0)の描画には、アプリケーションプログラムAからの描画リクエストが関与していることを示すために、画面上の領域(i=0,j=0)に対応してアプリケーションプログラムAの識別情報を記述した描画リクエスト発行元情報が生成される。
【００３３】
ある画面上の領域の描画に、複数のアプリケーションプログラムからの描画リクエストが関与する場合もある。その際には、描画リクエスト発行元情報の該当する領域には、前記の複数のアプリケーションプログラムの識別情報が列挙される。その様子が、図４の(i=2,j=1)領域および、(i=2,j=2)領域に示されている。
【００３４】
描画手段103は、ステップ601、602の処理を画像情報の生成終了条件が成立するまで繰り返す(605)。本実施例の場合、以下の何れか１つの条件が成立したとき、画像情報の生成終了条件が成立したと判定される。
条件1；優先度の高いアプリケーションの描画リクエスト保持手段の描画リクエストが無くなった。
条件2；図３の処理を開始してから予め定められた時間が経過した。
【００３５】
描画手段103は、画像情報の生成終了条件が成立したならば、画像情報と描画リクエスト発行元情報を次のステップの入力として引き渡す(605)。
【００３６】
次に、エンコード手段104は、画像情報のエンコードを行う(606)。その際には、画像情報を特定のアルゴリズムによって処理することにより、転送用画像情報を生成する(607)。
【００３７】
ここで特定のアルゴリズムとは、汎用のデータ圧縮アルゴリズム(例えばLZW方式など)や、直前の1フレームの画像情報との差分をとるアルゴリズムや、MPEGのように複数のフレーム間の画像情報の相関を用いるものや、通信路でのデータ欠落に備えて画像情報に冗長性を持たせるアルゴリズムであってよい。本実施例では、エンコード手段104は、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いる。このような特性は、時系列に沿って複数の画像を送信する場合に、総送信データ量を小さくする(圧縮する)効果を持つようなアルゴリズムにおいて一般的である。
【００３８】
さらに、エンコード手段104は、画像情報を処理して転送用画像情報を生成する過程で、描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占めるアプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成する(608)。
【００３９】
ここで、帯域負荷情報の生成方法は、前記の特定のアルゴリズムの種類によって異なる。一例として直前の1フレームの画像情報との差分をとるアルゴリズムを用いた場合には、帯域負荷情報の生成方法は概略以下のようになる。
【００４０】
まず、フレームの画像情報の差分をとり、差分データを描画リクエスト発行元情報で用いたのと同じ領域に区分する。次に、各領域での差分データのサイズを計測する。最後に、各アプリケーションプログラムに起因するデータ量として、描画リクエスト発行元情報に含まれるアプリケーションプログラムの識別情報に従い、前記の差分データのサイズについて、アプリケーションプログラム毎の総和を計算する。得られたアプリケーションプログラム毎の総和をアプリケーションプログラムの識別情報と対応付けて列挙したデータが、帯域負荷情報となる。
【００４１】
次に、通信手段105は、エンコード手段104で生成された転送用画像情報を通信網510を介して画面表示用端末520へと送信する(609)。転送用画像情報を受信した画面表示用端末520は、転送用画像情報を処理して画面に表示する。転送用画像情報の処理および画面への表示の方法は、転送用画像情報を得る際に用いられたアルゴリズムによって異なるが、当業者にとっては既知の事柄であるため、詳細な説明は省略する。
【００４２】
さらに、優先度更新手段106は、生成された帯域負荷情報をもとに、優先度保持手段107に保持されている各アプリケーションプログラムの優先度を更新する(610)。本実施例の場合、優先度更新手段106は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムの優先度を「低」に更新し、前記閾値を上回らないアプリケーションプログラムの優先度を「高」に更新する。優先度を更新する方法は、この例に限られず、他の方法を利用しても良い。たとえば、優先度更新手段106は、エンコード手段104で生成された転送用画像情報の総量が予め定められた閾値を上回る場合に、帯域負荷の最も大きなアプリケーションプログラムの優先度を「低」に更新し、総量が前記閾値を上回らない場合には、すべてのアプリケーションプログラムの優先度を「高」に更新する方法を使用しても良い。
【００４３】
なお、更新処理においては、直近の帯域負荷情報を参照するだけでなく、複数回の帯域負荷情報の履歴を参照して、たとえば複数回の帯域負荷情報の平均値や最大値などに基づいてアプリケーションプログラムの優先度を決定してもよい。
【００４４】
また、帯域負荷情報だけでなく、他の情報も参照し、両者を組み合わせてアプリケーションプログラムの優先度を決定してもよい。ここでいう他の情報とは、例えば別途与えられるアプリケーションプログラムの重要度情報や、アプリケーションプログラムのリアルタイム性情報(ユーザの入力などに対して、機敏に画面を描き変える必要があるか)などであってよい。
【００４５】
次に、具体的な例を挙げて本実施例の動作を説明する。
【００４６】
今、アプリケーションプログラムA110,B120の優先度が共に「高」であり、描画リクエスト保持手段A101,B102にそれぞれ幾つかの描画リクエストが保持されている状態で、図３の処理が開始されたとする。描画手段103は、アプリケーションプログラムA110,B120の優先度が共に「高」なので、画像情報の生成終了条件が成立するまで、たとえば描画リクエスト保持手段A101,B102から交互に1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。また、エンコード手段104は、生成された画像情報から転送用画像情報を生成して通信手段105を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段106へ伝達する。
【００４７】
優先度更新手段106は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムが存在するかどうかを判定する。今、アプリケーションプログラムA110の帯域負荷が閾値を上回っていたとすると、優先度更新手段106は、アプリケーションプログラムA110の優先度を「高」から「低」に更新する。
【００４８】
次の描画周期が到来して図３の処理が再び開始されると、アプリケーションプログラムA110の優先度は「低」、アプリケーションプログラムB120の優先度は「高」なので、描画手段103は、画像情報の生成終了条件が成立するまで、描画リクエスト保持手段B102から1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。続いて、エンコード手段104は、生成された画像情報から転送用画像情報を生成して通信手段105を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段106へ伝達する。この結果、アプリケーションプログラムA110からの描画リクエストが描画リクエスト保持手段A101に保持されていても、それらの描画リクエストは処理されず保留されることになる。この結果、アプリケーションプログラムA110の画像情報は変化しない。エンコード手段104は、画像情報のうち画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いて画像情報から転送用画像情報を作成するため、画像の変化量が大きい領域の描画を要求した描画リクエストの発行元のアプリケーションプログラムA110の優先度を下げることにより、以降の該当する画像の領域の変化量を小さくすることができ、結果として送信される総データ量を抑制することができる。
【００４９】
優先度更新手段106は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムが存在するかどうかを判定する。今、何れのアプリケーションプログラムの帯域負荷も閾値以下であったとすると、優先度更新手段106は、アプリケーションプログラムA110の優先度を「低」から「高」へ更新する。
【００５０】
次の描画周期が到来して図３の処理が再び開始されると、描画手段103は、アプリケーションプログラムA110,B120の優先度が共に「高」なので、画像情報の生成終了条件が成立するまで、たとえば描画リクエスト保持手段A101,B102から交互に1つずつ描画リクエストを取り出して処理するようになる。
【００５１】
以上のような動作が行われることにより、多くの通信帯域を使用するアプリケーションプログラムA110は、2回の描画周期あたり1回の割合で描画リクエストが処理されることになり、単位時間当たりの描画リクエストの処理数が少なくなる。これによって、画面転送時のデータ総量をアプリケーションプログラム単位で抑制することができる。
【００５２】
次に、本実施例の効果について説明する。
【００５３】
本実施例によれば、アプリケーションプログラムの優先度に従って描画リクエストを取得し、描画リクエストの処理によって画像情報を生成し、さらに画像情報を生成する際に描画リクエスト発行元情報を副次的に生成し、画面表示用端末への送信に適した転送用画像情報へと変換し、さらに転送用画像情報を生成する際に、描画リクエスト発行元情報を参照することで帯域負荷情報を生成し、転送用画像情報は画面表示用端末へと送信し、帯域負荷情報は優先度の更新に用いるように構成されているため、画面表示用端末への送信時に通信帯域に負荷をかけているアプリケーションプログラムを特定して、該当アプリケーションプログラムの優先度を低下させることにより、通信帯域への負荷を低減するようにアプリケーションプログラム毎に制御を行うことができる。
【００５４】
以上の第１の実施例では、優先度の低いアプリケーションプログラムについて、その描画リクエストの処理を行う周期を長くすることで、単位時間当たりの描画リクエストの処理数を低減した。しかし、優先度の低いアプリケーションプログラムの単位時間当たりの描画リクエストの処理数が少なくなるように、描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストを処理する方法は、第１の実施例による方法に限定されず、他の方法を使用しても良い。
【００５５】
たとえば、他の方法の一例として、優先度の低いアプリケーションプログラムについて、各描画周期で処理する描画リクエストの数に上限を設ける方法がある。この方法によれば、前述した画像情報の生成終了条件が未だ成立していなくても、優先度の低いアプリケーションプログラムの描画リクエストの処理数が所定の上限に達していれば、その周期では最早そのアプリケーションプログラムの描画リクエストは処理されなくなるため、単位時間当たりの描画リクエストの処理数が優先度の高い場合に比べて少なくなる。
【００５６】
また他の方法の一例として、優先度の低いアプリケーションプログラムについては、描画リクエスト保持手段から取り出した描画リクエストを実際に処理せずに廃棄する方法がある。この方法によれば、たとえば、そのアプリケーションプログラムがアニメーション画像を画面に描画している場合、アニメーション画像の動きがコマ送り状態になり、廃棄された分だけ単位時間あたりの処理量が低減される。
【００５７】
次に、本発明の第２の実施例について図面を参照して詳細に説明する。
【００５８】
図５を参照すると、本発明の第２の実施例は、画面描画転送システム800とアプリケーション実行環境810とで構成される。
【００５９】
アプリケーション実行環境810は、タイムシェアリング方式で複数のアプリケーションプログラムA813,B814を順次切り替えて実行することで、仮想的に複数のアプリケーションプログラムを並行動作させる環境であり、優先度保持手段811とアプリケーションスケジューリング手段812とを有する。
【００６０】
優先度保持手段811は、アプリケーションプログラムの優先度（実行優先度）をアプリケーションプログラムの識別情報と関連付けて保持する手段である。本実施例の場合、優先度は「高」と「低」の2種類のレベルがあるものとする。勿論、3種類以上のレベルの優先度を用いることも可能である。
【００６１】
アプリケーションスケジューリング手段812は、各アプリケーションプログラムの優先度を優先度保持手段811から取得し、優先度に従って、各アプリケーションプログラムにCPU時間を割り当ててアプリケーションプログラムの実行を制御する手段である。
【００６２】
他方、画面描画転送システム800は、アプリケーション実行環境810のアプリケーションプログラムA813およびアプリケーションプログラムB814から描画リクエストを受け取り、画面表示用端末520が画面表示を行うために必要な画像情報を転送用画像情報の形式で作成して、通信網510を介して画面表示用端末520に送信する。この画面描画転送システム800は、アプリケーションプログラムA813からの描画リクエストを受け取り保持する描画リクエスト保持手段A801と、アプリケーションプログラムB814からの描画リクエストを受け取り保持する描画リクエスト保持手段B802と、描画リクエスト保持手段A801もしくは描画リクエスト保持手段B802から描画リクエストを取り出し、描画リクエストを処理することによって画像情報を生成し、さらに画像情報を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別情報を対応付けた描画リクエスト発行元情報を生成し、画像情報と描画リクエスト発行元情報をエンコード手段804に出力する描画手段803と、画像情報と描画リクエスト発行元情報を入力として受け取り、画像情報を元に転送用画像情報を生成し、さらに画像情報と描画リクエスト発行元情報を元に、アプリケーションプログラムの識別情報と、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報とを生成し、転送用画像情報を通信手段805に出力し、帯域負荷情報を優先度更新手段806に出力するエンコード手段804と、転送用画像情報を入力として受け取り、画面表示用端末520へ転送用画像情報を送信する通信手段805と、帯域負荷情報を入力として受け取り、帯域負荷情報を元にアプリケーションプログラムの優先度を決定し、優先度保持手段811に保持されている優先度を更新する優先度更新手段806とから構成される。
【００６３】
図５に示されている機能手段は、前記の本発明の第１の実施例と同様、図１に示される構成の装置上において、補助記憶装置503に記憶されたプログラムを、主記憶装置502にロードし、演算装置501で実行することにより実現される。
【００６４】
次に、図６および図７のフローチャートを参照して本実施例の動作について詳細に説明する。
【００６５】
最初に図６を参照して画面描画転送システム800の動作を説明する。なお、画面描画転送システム800は、予め定められた描画周期(たとえば1／30秒)で図６に示した処理を繰り返し実行する。
【００６６】
まず、画面描画転送システム800の描画手段803は、アプリケーションプログラムからの描画リクエストを描画リクエスト保持手段A801,B802から取得する(900)。その際に、取得対象の描画リクエスト保持手段を決定する方法は、順次取得(ラウンドロビン)であってよい。また、乱数を生成し、乱数に従って取得対象の描画リクエスト保持手段を決定してもよい(ランダム)。
【００６７】
次に、描画手段803は、第１の実施例における描画手段103と同様に、描画リクエストを処理し、画像情報と描画リクエスト発行元情報を生成する(901)。
【００６８】
描画手段803は、ステップ900、901の処理を画像情報の生成終了条件が成立するまで繰り返す(904)。本実施例の場合、以下の何れか１つの条件が成立したとき、画像情報の生成終了条件が成立したと判定される。
条件1；取得対象の描画リクエスト保持手段の描画リクエストが無くなった。
条件2；図６の処理を開始してから予め定められた時間が経過した。
【００６９】
描画手段803は、画像情報の生成終了条件が成立したならば、画像情報と描画リクエスト発行元情報を次のステップの入力として引き渡す(904)。
【００７０】
次に、エンコード手段804は、画像情報のエンコードを行う(905)。その際には、第１の実施例におけるエンコード手段104と同様に、画像情報を特定のアルゴリズムによって処理することにより、転送用画像情報を生成し(906)、また、画像情報を処理して転送用画像情報を生成する過程で、描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占めるアプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成する(907)。
【００７１】
次に、通信手段805は、エンコード手段804で生成された転送用画像情報を通信網510を介して画面表示用端末520へと送信する(908)。転送用画像情報を受信した画面表示用端末520は、転送用画像情報を処理して画面に表示する。
【００７２】
さらに、優先度更新手段806は、生成された帯域負荷情報をもとに、優先度保持手段811に保持されている各アプリケーションプログラムの優先度を、第１の実施例における優先度更新手段106と同様の方法で更新する(909)。
【００７３】
なお、第１の実施例と同様に、更新処理においては、直近の帯域負荷情報を参照するだけでなく、複数回の帯域負荷情報の履歴を参照して、アプリケーションプログラムの優先度を決定してもよい。また、帯域負荷情報だけでなく、他の情報も参照し、両者を組み合わせてアプリケーションプログラムの優先度を決定してもよい。ここでいう他の情報とは、例えば別途与えられるアプリケーションプログラムの重要度情報や、アプリケーションプログラムのリアルタイム性情報(ユーザの入力などに対して、機敏に画面を描き変える必要があるか)などであってよい。
【００７４】
次に、図７を参照して、アプリケーション実行環境810の動作を説明する。
【００７５】
まず、アプリケーションスケジューリング手段812が、優先度保持手段811から各アプリケーションプログラムの優先度を取得する(1000)。
【００７６】
次に、アプリケーションスケジューリング手段812は、優先度に従って、各アプリケーションプログラムに割り当てるCPU時間を決定する(1001)。具体的には、優先度保持手段811に保持されている、帯域負荷情報に基づいて決定された優先度を用いて、優先度が高いアプリケーションプログラムには、より多いCPU時間を割り当て、優先度が低いアプリケーションプログラムには、より少ないCPU時間を割り当てる。
【００７７】
なお、アプリケーションスケジューリング手段812は、画面描画を行わないアプリケーションプログラム(図示されていない)や、画面描画転送システム800にもCPU時間を割り当てるよう動作する。また、CPU時間を割り当てる順番は、ラウンドロビン方式などの既知の方法を使用することができる。
【００７８】
次に、アプリケーションスケジューリング手段812は、決定した順番とCPU時間に従って、アプリケーションプログラムを順次切り替えて動作させ、仮想的に各アプリケーションプログラムを並行動作させる(1002)。
【００７９】
次に、具体的な例を挙げて本実施例の動作を説明する。
【００８０】
今、アプリケーションプログラムA813,B814の優先度が共に「高」であり、描画リクエスト保持手段A801,B802にそれぞれ幾つかの描画リクエストが保持されている状態で、図６の処理が開始されたとする。描画手段803は、画像情報の生成終了条件が成立するまで、たとえば描画リクエスト保持手段A801,B802から交互に1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。また、エンコード手段804は、生成された画像情報から転送用画像情報を生成して通信手段805を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段806へ伝達する。
【００８１】
優先度更新手段806は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムが存在するかどうかを判定する。今、アプリケーションプログラムA813の帯域負荷が閾値を上回っていたとすると、優先度更新手段806は、アプリケーションプログラムA813の優先度を「高」から「低」に更新する。
【００８２】
その後、アプリケーション実行環境810のアプリケーションスケジューリング手段812がアプリケーションプログラムA813にCPU時間を割り当てる場合、その実行優先度が「低」なので、「高」の場合に比べて短いCPU時間しか割り当てない。この結果、アプリケーションプログラムA813は、発行できる描画リクエストの数が高優先度の場合に比べて少なくなる。
【００８３】
次の描画周期が到来して図６の処理が再び開始されると、描画手段803は、画像情報の生成終了条件が成立するまで、前回と同様にたとえば描画リクエスト保持手段A801,B802から交互に1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。続いて、エンコード手段804は、生成された画像情報から転送用画像情報を生成して通信手段805を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段806へ伝達する。ここで、前述したように、アプリケーションプログラムA813が発行できる描画リクエストの数が少なくなっているので、通信帯域への負荷が大きかったアプリケーションプログラムA813からの描画リクエストの処理数も少なくなる。この結果、アプリケーションプログラムA813の画像情報の変化が少なくなる。エンコード手段804は、画像情報のうち画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いて画像情報から転送用画像情報を作成するため、画像の変化量が大きい領域の描画を要求した描画リクエストの発行元のアプリケーションプログラムA813の優先度を下げることにより、以降の該当する画像の領域の変化量を小さくすることができ、結果として送信される総データ量を抑制することができる。
【００８４】
その後、アプリケーションプログラムA813の帯域負荷が閾値以下まで低下すると、優先度更新手段806は、アプリケーションプログラムA813の優先度を「低」から「高」へ更新する。
【００８５】
以上のような動作が行われることにより、多くの通信帯域を使用するアプリケーションプログラムA813は、単位時間当たりの描画リクエストの発行数が少なく抑えられ、これによって、画面転送時のデータ総量をアプリケーションプログラム単位で抑制することができる。
【００８６】
次に、第２の実施例の効果について説明する。
【００８７】
本実施例では、描画リクエストの処理によって画像情報を生成し、さらに画像情報を生成する際に描画リクエスト発行元情報を副次的に生成し、画面表示用端末への送信に適した転送用画像情報へと変換し、さらに転送用画像情報を生成する際に、描画リクエスト発行元情報を参照することで帯域負荷情報を生成し、転送用画像情報は画面表示用端末へと送信し、帯域負荷情報は優先度の更新に用い、優先度に従って各アプリケーションプログラムに割り当てるCPU時間を決定し、決定したCPU時間に従って各アプリケーションプログラムを順次切り替えて動作させることにより、各アプリケーションプログラムを仮想的に並行動作させるように構成されているため、画面表示用端末への送信時に通信帯域に負荷をかけているアプリケーションプログラムを特定して、該当アプリケーションプログラムの優先度を低下させることにより、該当アプリケーションプログラムに割り当てられるCPU時間が少なくなり、結果として該当アプリケーションプログラムからの描画リクエストの時間当たりの発行頻度が低下するため、通信帯域への負荷を低減するようにアプリケーションプログラム毎に制御を行うことができる。
【００８８】
次に、本発明の第３の実施例について図面を参照して詳細に説明する。
【００８９】
図８を参照すると、本発明の第３の実施例は、画面描画転送装置1100と、アプリケーションプログラム実行装置1110と、画面表示用端末520と、画面描画転送装置1100とアプリケーションプログラム実行装置1110間の通信を中継する通信網1120と、画面描画転送装置1100と画面表示用端末520の間の通信を中継する通信網510とから構成される。
【００９０】
画面描画転送装置1100は、プログラム制御により動作する演算装置1101と、演算装置1101にて処理するデータを記憶する主記憶装置1102と、電源断時でもデータを保持し続けることが可能な補助記憶装置1103と、データを通信網510を介して送受信するための通信装置1104と、データを通信網1120を通じて送信するための通信装置1105とから構成される。
【００９１】
アプリケーションプログラム実行装置1110は、プログラム制御により動作する演算装置1111と、演算装置1111にて処理するデータを記憶する主記憶装置1112と、電源断時でもデータを保持し続けることが可能な補助記憶装置1113と、データを通信網1120を通じて送受信するための通信装置1114とから構成される。
【００９２】
画面描画転送装置1100から通信網510を通じて送信されたデータは、画面表示用端末520によって受信され、画面として表示される。
【００９３】
次に、本実施例の動作について説明する。
【００９４】
補助記憶装置1103に記憶されたプログラムを、主記憶装置1102にロードして演算装置1101で実行し、さらに、補助記憶装置1113に記憶されたプログラムを、主記憶装置1112にロードして演算装置1111上で実行することにより、図２に示す機能手段、もしくは、図５に示す機能手段が実現される。
【００９５】
各機能手段の動作は、前記の第１の実施例もしくは第２の実施例と同様である。ただし、アプリケーションプログラムと、画面描画転送システムが別の装置上で動作するため、アプリケーションプログラムからの描画リクエストが、通信網1120を介してアプリケーションプログラム実行装置1110から画面描画転送装置1100へ送信される点が異なる。また、前記の第２の実施例と同様の動作をする場合には、優先度更新手段からの優先度が通信網1120を介して、画面描画転送装置1100からアプリケーションプログラム実行装置1110へと送信される点が異なる。
【００９６】
なお、通信網1120と通信網510として同一の通信網を用い、画面描画転送装置1100における通信装置1105を省略して、通信装置1104のみを用いてもよい。
【００９７】
次に、本発明の具体的な適用例について説明する。
【００９８】
本発明による具体的な画面描画転送システムは、X Windowシステムや、VNCといった画面描画管理ミドルウェアに、本発明を適用し、画面転送機能を付加したものであり得る。
【００９９】
また、本発明による具体的な画面描画転送システムは、オペレーティングシステムの提供するグラフィックス描画APIに、本発明を適用し、画面転送機能を付加したものであり得る。例えばWindows(登録商標)のGDIや、Mac OS XのQuartzなどが挙げられるが、それらに限らない。
【０１００】
また、本発明による具体的な画面描画転送システムは、Open GLといった汎用のグラフィックス描画APIに、本発明を適用し、画面転送機能を付加したものであり得る。
【０１０１】
さらに、本発明による具体的な画面描画転送システムは、アプリケーションプログラムの実行環境として、オペレーティングシステムを用いたものであり得る。この場合、前記の第２の実施例を実施するならば、オペレーティングシステムのタイムシェアリング機能をもとに、オペレーティングシステムスケジューリング機能を本発明に適するように改良することで、アプリケーションプログラムの優先度をアプリケーションプログラムを実行するCPU時間に反映させる。
【０１０２】
また、本発明による具体的な画面描画転送システムは、アプリケーションプログラムの実行環境として、仮想マシンを用いたものであり得る。一例を挙げると、アプリケーションプログラムをJava(登録商標)言語で記述して作成し、仮想マシンとしてJava仮想マシンを用いることができる。この場合、前記の第２の実施例を実施するならば、仮想マシンのタイムシェアリング機能をもとに、仮想マシンスケジューリング機能を本発明に適するように改良することで、アプリケーションプログラムの優先度をアプリケーションプログラムを実行するCPU時間に反映させる。
【０１０３】
また、本発明による具体的な画面描画転送システムは、アプリケーションプログラムの実行環境として、仮想マシンモニタとオペレーティングシステムを組み合わせて用いたものであり得る。一例を挙げると、仮想マシンモニタとしてVMWareを用い、VMWare上で動作しゲストオペレーティングシステムとしてTRON互換なOSを用い、前記のTRON互換なオペレーティングシステムの上でアプリケーションプログラムを動作させることができる。この場合、前記の第２の実施例を実施するならば、仮想マシンモニタのタイムシェアリング機能をもとに、仮想マシンモニタスケジューリング機能を本発明に適するように改良することで、アプリケーションプログラムの優先度をアプリケーションプログラムが実行されるオペレーティングシステムのCPU時間に反映させることにより、間接的に優先度をアプリケーションプログラムを実行するCPU時間に反映させることができる。
【０１０４】
また、本発明による具体的な画面描画転送システムは、図９に示すような、汎用演算装置1201と、主記憶装置1202と、補助記憶装置1203と、通信装置1204と、1個以上の特定目的用演算装置1205とを備え、通信網1210に接続される画面描画転送装置1200でプログラムを実行することで実現され得る。
【０１０５】
その場合、例えば、描画手段が描画リクエストの処理の一部、もしくは全部を特定目的用演算装置1205で処理することにより、汎用演算装置1201で全ての処理を行う場合より、処理の高速化を実現することができる。
【０１０６】
また、例えば、エンコード手段が転送用画像情報の生成処理の一部、もしくは全部を特定目的用演算装置1205で処理することにより、汎用演算装置1201で全ての処理を行う場合より、処理の高速化を実現することができる。
【産業上の利用可能性】
【０１０７】
本発明によれば、ネットワーク上に配置されたサーバ上でアプリケーションプログラムを動作させ、画面描画転送システムを用いて、ネットワークを通じて離れた場所にある端末装置からアプリケーションプログラムを利用する、シンクライアントシステムといった用途に適用できる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１の実施例のシステム構成図である。
【図２】本発明の第１の実施例のブロック図である。
【図３】本発明の第１の実施例の動作を示す流れ図である。
【図４】本発明の第１の実施例における描画リクエスト発行元情報の構成例を説明するための図である。
【図５】本発明の第２の実施例のブロック図である。
【図６】本発明の第２の実施例における画面描画転送システムの動作を示す流れ図である。
【図７】本発明の第２の実施例におけるアプリケーション実行環境の動作を示す流れ図である。
【図８】本発明の第３の実施例のブロック図である。
【図９】本発明の他の実施例のブロック図である。
【図１０】本発明に関連する画面転送システムのブロック図である。
【図１１】本発明に関連する他の画面転送システムのブロック図である。
【符号の説明】
【０１０９】
100…画面描画転送システム
101…描画リクエスト保持手段A
102…描画リクエスト保持手段B
103…描画手段
104…エンコード手段
105…通信手段
106…優先度更新手段
107…優先度保持手段
110…アプリケーションプログラムA
120…アプリケーションプログラムB
510…通信網
520…画面表示用端末
【図１】
2008289030.tif 000003
【図２】
2008289030.tif 000004
【図３】
2008289030.tif 000005
【図４】
2008289030.tif 000006
【図５】
2008289030.tif 000007
【図６】
2008289030.tif 000008
【図７】
2008289030.tif 000009
【図８】
2008289030.tif 000010
【図９】
2008289030.tif 000011
【図１０】
2008289030.tif 000012
【図１１】
2008289030.tif 000013