JP2008289030A - 画面描画転送システム - Google Patents
画面描画転送システム Download PDFInfo
- Publication number
- JP2008289030A JP2008289030A JP2007133794A JP2007133794A JP2008289030A JP 2008289030 A JP2008289030 A JP 2008289030A JP 2007133794 A JP2007133794 A JP 2007133794A JP 2007133794 A JP2007133794 A JP 2007133794A JP 2008289030 A JP2008289030 A JP 2008289030A
- Authority
- JP
- Japan
- Prior art keywords
- application program
- priority
- transfer
- information
- screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】複数のアプリケーションプログラム(AP)からの描画リクエストを受け付け、画面の描画と転送を行うシステムにおいて、画面転送時に通信帯域に負荷をかけているAPを特定し、画面転送時のデータ量をAP単位で抑制する。
【解決手段】描画手段103は、画面描画時に画面を区分する領域毎に描画リクエストの発行元のAPの識別情報を対応付けた描画リクエスト発行元情報を生成する。エンコード手段104は、画面転送時に、画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、APの識別情報と、転送用画像情報に占める各APが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成する。この帯域負荷情報に基づいて、多くの通信帯域を使用しているAPの単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
【選択図】図2
【解決手段】描画手段103は、画面描画時に画面を区分する領域毎に描画リクエストの発行元のAPの識別情報を対応付けた描画リクエスト発行元情報を生成する。エンコード手段104は、画面転送時に、画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、APの識別情報と、転送用画像情報に占める各APが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成する。この帯域負荷情報に基づいて、多くの通信帯域を使用しているAPの単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
【選択図】図2
Description
本発明は、コンピュータの画面の画像データをネットワークを介して画面表示用端末に転送する画面描画転送システムに関する。
本発明に関連する画面描画システムの一例が、非特許文献1に記載されている。図10に示すように、この画面描画システムは、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を更新する。
また、本発明に関連する他の画面転送システムの一例が、特許文献1に記載されている。図11に示すように、この画面転送システムは、画面転送装置400と画面表示端末409とこれらを接続するネットワーク408とで構成され、画面転送装置400は、画面情報生成部401と、更新画像データ生成部402と、送信画像データ決定部403と、画面保持部404と、送信結果情報格納部405と、圧縮部406と、通信部407とを有している。このような構成を有する画面転送システムは次のように動作する。
まず、画面情報生成部401が、画面表示用の画像データを生成する。次に、更新画像データ生成部402が、画面表示用の画像データのうち、更新のあった領域の画像データを更新画像データとして生成する。次に、画面保持部404が、画面情報生成部401が生成した最新の画面の画像データを保持する。送信結果情報格納部405は、画面を区画する領域毎に、送信された画像データの画質を表す情報および送信時刻を、送信結果情報として保持しており、送信画像データ決定部403が、更新画像データと送信結果情報に基づいて、更新画像データと最新の画面の画像データのいずれを送信するかを決定し、さらに、最新の画面の画像データを送信する場合には、最新の画面の画像データのうち、どの領域を送信するのか、および送信する画像データの画質を決定する。次に、圧縮部406が、送信する画像データを、決定された画質に基づいて圧縮し、通信部407が、圧縮された画像データをネットワーク408を介して、画面表示端末409に送信する。画面表示端末409では、受信した画像データに基づいて画面を表示する。
より詳細には、送信画像データ決定部403は、画面転送に利用可能な帯域の範囲で、送信すべき画像データとその画質を決定し、更新画像データは予め設定された第一の画質で送信することを優先して決定し、帯域の余った範囲で、更新画像データの領域外で第一の画質ですでに送信した状態にある領域の最新の画面の画像データを、第一の画質よりも高い第二の画質で送信することを決定するよう動作する。また、最新の画面の画像データを送信することを決定する際に、現在の時刻と、第一の画質で送信した際の送信時刻の差が大きい領域の画像データを優先して送信することを決定するよう動作する。
特許文献1に記載の画面転送システムによれば、画面転送に利用可能な帯域の制限を受けにくくでき、また、画面転送を受ける側から見た画面転送のリアルタイム性を向上でき、さらに画面転送を受ける側から見た画質の劣化を目立たなくすることができる。しかし、既にアプリケーションによる描画が終了した画面の画像データに基づいて、画面を区画する領域ごとに送信する画像データと画質の決定を行っているため、複数のアプリケーションプログラムが画面の描画を行っている場合、アプリケーションプログラム単位での画像データ量の削減が行えない。
他方、非特許文献1に記載の画面転送システムによれば、処理時間を多く費やすリクエストを発行しているXクライアントによって、ユーザの対話的操作を受け付けているXクライアントの応答性が阻害されるのを防止できる。また、リクエストの処理に時間を費やしているXクライアントの優先度を低下させるので、そのXクライアントの時間当たりのリクエスト処理数が低下し、そのXクライアントのリクエストが描画リクエストを多く含む場合には、単位時間当たりの描画リクエストの処理数が低減されることになる。つまり、アプリケーションプログラム単位での画像データ量の削減が行われる場合がある。しかし、アプリケーションプログラムから出されたリクエストの処理に要する時間長と、画面表示用端末へ送信される画面表示データに占める当該アプリケーションプログラムによる画面表示データ量とは、一般に比例関係が成立せず、リクエストの処理に時間をさほど必要としないXクライアントの画面表示データ量が多い場合もあれば、その逆に少ない場合もある。このため、通信帯域に多くの負荷をかけているアプリケーションプログラムによる画面表示データを削減対象とすることで、全体の転送データ量を削減するといった制御は行えない。
本発明の目的は、画面転送時に通信帯域に負荷をかけているアプリケーションプログラムを特定し、画面転送時のデータ量をアプリケーションプログラム単位で抑制することができるようにすることにある。
本発明の第1の画面描画転送システムは、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持手段と、前記描画リクエスト保持手段に保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画手段と、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコード手段とを備え、前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
本発明の第1の画面描画転送方法は、コンピュータが、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、前記コンピュータが、前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、前記コンピュータが、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを含み、前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
本発明の第1の画面描画転送プログラムは、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを、コンピュータに実行させるためのプログラムであって、前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御する。
本発明によれば、画面転送時に通信帯域に負荷をかけているアプリケーションプログラムを特定することができ、且つ、画面転送時のデータ量をアプリケーションプログラム単位で抑制することができる。このため、たとえば、通信帯域により多くの負荷をかけているアプリケーションプログラムに対してのみ描画リクエスト処理数を削減することによって転送データ量を削減するといった制御が可能になる。また、たとえば、同じアプリケーションプログラムによって描画された画像は同じ品質で画面に表示するといった制御が可能になる。
次に、本発明の実施例について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施例にかかる画面描画転送装置500は、プログラム制御により動作する演算装置501と、演算装置501にて処理するデータを記憶する主記憶装置502と、電源断時でもデータを保持し続けることが可能な補助記憶装置503と、データを通信網510を通じて送信する通信装置504とから構成される。
通信網510を通じて送信されたデータは、画面表示用端末520の備える通信装置521によって受信され、画面表示装置522によって、画面として表示される。
本発明の第1の実施例において、補助記憶装置503に記憶されたプログラムを、主記憶装置502にロードし、演算装置501で実行することにより実現される機能手段が、図2に示されている。
図2を参照すると、画面描画転送システム100は、アプリケーションプログラムA110およびアプリケーションプログラムB120から描画リクエストを受け取り、画面表示用端末520が画面表示を行うために必要な画像情報を転送用画像情報の形式で作成して、通信網510を介して画面表示用端末520に送信する。
画面描画転送システム100は、アプリケーションプログラムA110からの描画リクエストを受け取り保持する描画リクエスト保持手段A101と、アプリケーションプログラムB120からの描画リクエストを受け取り保持する描画リクエスト保持手段B102と、優先度(実行優先度)をアプリケーションプログラムの識別情報と関連付けて保持する優先度保持手段107と、優先度保持手段107から取り出した優先度に従って、描画リクエスト保持手段A101もしくは描画リクエスト保持手段B102から描画リクエストを取り出し、描画リクエストを処理することによって画像情報を生成し、さらに画像情報を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別情報を対応付けた描画リクエスト発行元情報を生成し、画像情報と描画リクエスト発行元情報をエンコード手段104に出力する描画手段103と、画像情報と描画リクエスト発行元情報を入力として受け取り、画像情報を元に転送用画像情報を生成し、さらに画像情報と描画リクエスト発行元情報を元に、アプリケーションプログラムの識別情報と、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報とを生成し、転送用画像情報を通信手段105に出力し、帯域負荷情報を優先度更新手段106に出力するエンコード手段104と、転送用画像情報を入力として受け取り、画面表示用端末520へ転送用画像情報を送信する通信手段105と、帯域負荷情報を入力として受け取り、帯域負荷情報を元にアプリケーションプログラムの優先度を決定し、優先度保持手段107に保持されている優先度を更新する優先度更新手段106とから構成される。
次に、図3のフローチャートおよび、図4に示された描画リクエスト発行元情報の例を参照して本実施例の動作について詳細に説明する。
画面描画転送システム100は、予め定められた描画周期(たとえば1/30秒)で図3に示した処理を繰り返し実行する。まず、画面描画転送システム100の描画手段103は、各アプリケーションプログラムの優先度を優先度保持手段107から取得する(600)。本実施例の場合、優先度は「高」と「低」の2種類のレベルがあるものとする。勿論、3種類以上のレベルの優先度を用いることも可能である。
次に、描画手段103は、優先度の高いアプリケーションプログラムからの描画リクエストを保持する描画リクエスト保持手段から描画リクエストを1つ取得する(601)。次に、描画手段103は、取得した描画リクエストを処理して、画像情報と描画リクエスト発行元情報とを生成する(602,603,604)。
ここで、描画リクエスト発行元情報は、画面を区分する予め定められた領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けたものであり、図4に一例が示されている。
図4の例では、画面を縦5列、横4行の合計20個の領域に分割している。例えば、アプリケーションプログラムAから、画面上の領域(i=0,j=0)に、小さな丸を描く描画リクエストが発行されたとすると、描画リクエストの処理によって、画面上の領域(i=0,j=0)に小さな丸を示すデータが含まれるよう、画像情報が生成される。その際に、図4に示すように、画面上の領域(i=0,j=0)の描画には、アプリケーションプログラムAからの描画リクエストが関与していることを示すために、画面上の領域(i=0,j=0)に対応してアプリケーションプログラムAの識別情報を記述した描画リクエスト発行元情報が生成される。
ある画面上の領域の描画に、複数のアプリケーションプログラムからの描画リクエストが関与する場合もある。その際には、描画リクエスト発行元情報の該当する領域には、前記の複数のアプリケーションプログラムの識別情報が列挙される。その様子が、図4の(i=2,j=1)領域および、(i=2,j=2)領域に示されている。
描画手段103は、ステップ601、602の処理を画像情報の生成終了条件が成立するまで繰り返す(605)。本実施例の場合、以下の何れか1つの条件が成立したとき、画像情報の生成終了条件が成立したと判定される。
条件1;優先度の高いアプリケーションの描画リクエスト保持手段の描画リクエストが無くなった。
条件2;図3の処理を開始してから予め定められた時間が経過した。
条件1;優先度の高いアプリケーションの描画リクエスト保持手段の描画リクエストが無くなった。
条件2;図3の処理を開始してから予め定められた時間が経過した。
描画手段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にそれぞれ幾つかの描画リクエストが保持されている状態で、図3の処理が開始されたとする。描画手段103は、アプリケーションプログラムA110,B120の優先度が共に「高」なので、画像情報の生成終了条件が成立するまで、たとえば描画リクエスト保持手段A101,B102から交互に1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。また、エンコード手段104は、生成された画像情報から転送用画像情報を生成して通信手段105を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段106へ伝達する。
優先度更新手段106は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムが存在するかどうかを判定する。今、アプリケーションプログラムA110の帯域負荷が閾値を上回っていたとすると、優先度更新手段106は、アプリケーションプログラムA110の優先度を「高」から「低」に更新する。
次の描画周期が到来して図3の処理が再び開始されると、アプリケーションプログラムA110の優先度は「低」、アプリケーションプログラムB120の優先度は「高」なので、描画手段103は、画像情報の生成終了条件が成立するまで、描画リクエスト保持手段B102から1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。続いて、エンコード手段104は、生成された画像情報から転送用画像情報を生成して通信手段105を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段106へ伝達する。この結果、アプリケーションプログラムA110からの描画リクエストが描画リクエスト保持手段A101に保持されていても、それらの描画リクエストは処理されず保留されることになる。この結果、アプリケーションプログラムA110の画像情報は変化しない。エンコード手段104は、画像情報のうち画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いて画像情報から転送用画像情報を作成するため、画像の変化量が大きい領域の描画を要求した描画リクエストの発行元のアプリケーションプログラムA110の優先度を下げることにより、以降の該当する画像の領域の変化量を小さくすることができ、結果として送信される総データ量を抑制することができる。
優先度更新手段106は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムが存在するかどうかを判定する。今、何れのアプリケーションプログラムの帯域負荷も閾値以下であったとすると、優先度更新手段106は、アプリケーションプログラムA110の優先度を「低」から「高」へ更新する。
次の描画周期が到来して図3の処理が再び開始されると、描画手段103は、アプリケーションプログラムA110,B120の優先度が共に「高」なので、画像情報の生成終了条件が成立するまで、たとえば描画リクエスト保持手段A101,B102から交互に1つずつ描画リクエストを取り出して処理するようになる。
以上のような動作が行われることにより、多くの通信帯域を使用するアプリケーションプログラムA110は、2回の描画周期あたり1回の割合で描画リクエストが処理されることになり、単位時間当たりの描画リクエストの処理数が少なくなる。これによって、画面転送時のデータ総量をアプリケーションプログラム単位で抑制することができる。
次に、本実施例の効果について説明する。
本実施例によれば、アプリケーションプログラムの優先度に従って描画リクエストを取得し、描画リクエストの処理によって画像情報を生成し、さらに画像情報を生成する際に描画リクエスト発行元情報を副次的に生成し、画面表示用端末への送信に適した転送用画像情報へと変換し、さらに転送用画像情報を生成する際に、描画リクエスト発行元情報を参照することで帯域負荷情報を生成し、転送用画像情報は画面表示用端末へと送信し、帯域負荷情報は優先度の更新に用いるように構成されているため、画面表示用端末への送信時に通信帯域に負荷をかけているアプリケーションプログラムを特定して、該当アプリケーションプログラムの優先度を低下させることにより、通信帯域への負荷を低減するようにアプリケーションプログラム毎に制御を行うことができる。
以上の第1の実施例では、優先度の低いアプリケーションプログラムについて、その描画リクエストの処理を行う周期を長くすることで、単位時間当たりの描画リクエストの処理数を低減した。しかし、優先度の低いアプリケーションプログラムの単位時間当たりの描画リクエストの処理数が少なくなるように、描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストを処理する方法は、第1の実施例による方法に限定されず、他の方法を使用しても良い。
たとえば、他の方法の一例として、優先度の低いアプリケーションプログラムについて、各描画周期で処理する描画リクエストの数に上限を設ける方法がある。この方法によれば、前述した画像情報の生成終了条件が未だ成立していなくても、優先度の低いアプリケーションプログラムの描画リクエストの処理数が所定の上限に達していれば、その周期では最早そのアプリケーションプログラムの描画リクエストは処理されなくなるため、単位時間当たりの描画リクエストの処理数が優先度の高い場合に比べて少なくなる。
また他の方法の一例として、優先度の低いアプリケーションプログラムについては、描画リクエスト保持手段から取り出した描画リクエストを実際に処理せずに廃棄する方法がある。この方法によれば、たとえば、そのアプリケーションプログラムがアニメーション画像を画面に描画している場合、アニメーション画像の動きがコマ送り状態になり、廃棄された分だけ単位時間あたりの処理量が低減される。
次に、本発明の第2の実施例について図面を参照して詳細に説明する。
図5を参照すると、本発明の第2の実施例は、画面描画転送システム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とから構成される。
図5に示されている機能手段は、前記の本発明の第1の実施例と同様、図1に示される構成の装置上において、補助記憶装置503に記憶されたプログラムを、主記憶装置502にロードし、演算装置501で実行することにより実現される。
次に、図6および図7のフローチャートを参照して本実施例の動作について詳細に説明する。
最初に図6を参照して画面描画転送システム800の動作を説明する。なお、画面描画転送システム800は、予め定められた描画周期(たとえば1/30秒)で図6に示した処理を繰り返し実行する。
まず、画面描画転送システム800の描画手段803は、アプリケーションプログラムからの描画リクエストを描画リクエスト保持手段A801,B802から取得する(900)。その際に、取得対象の描画リクエスト保持手段を決定する方法は、順次取得(ラウンドロビン)であってよい。また、乱数を生成し、乱数に従って取得対象の描画リクエスト保持手段を決定してもよい(ランダム)。
次に、描画手段803は、第1の実施例における描画手段103と同様に、描画リクエストを処理し、画像情報と描画リクエスト発行元情報を生成する(901)。
描画手段803は、ステップ900、901の処理を画像情報の生成終了条件が成立するまで繰り返す(904)。本実施例の場合、以下の何れか1つの条件が成立したとき、画像情報の生成終了条件が成立したと判定される。
条件1;取得対象の描画リクエスト保持手段の描画リクエストが無くなった。
条件2;図6の処理を開始してから予め定められた時間が経過した。
条件1;取得対象の描画リクエスト保持手段の描画リクエストが無くなった。
条件2;図6の処理を開始してから予め定められた時間が経過した。
描画手段803は、画像情報の生成終了条件が成立したならば、画像情報と描画リクエスト発行元情報を次のステップの入力として引き渡す(904)。
次に、エンコード手段804は、画像情報のエンコードを行う(905)。その際には、第1の実施例におけるエンコード手段104と同様に、画像情報を特定のアルゴリズムによって処理することにより、転送用画像情報を生成し(906)、また、画像情報を処理して転送用画像情報を生成する過程で、描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占めるアプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成する(907)。
次に、通信手段805は、エンコード手段804で生成された転送用画像情報を通信網510を介して画面表示用端末520へと送信する(908)。転送用画像情報を受信した画面表示用端末520は、転送用画像情報を処理して画面に表示する。
さらに、優先度更新手段806は、生成された帯域負荷情報をもとに、優先度保持手段811に保持されている各アプリケーションプログラムの優先度を、第1の実施例における優先度更新手段106と同様の方法で更新する(909)。
なお、第1の実施例と同様に、更新処理においては、直近の帯域負荷情報を参照するだけでなく、複数回の帯域負荷情報の履歴を参照して、アプリケーションプログラムの優先度を決定してもよい。また、帯域負荷情報だけでなく、他の情報も参照し、両者を組み合わせてアプリケーションプログラムの優先度を決定してもよい。ここでいう他の情報とは、例えば別途与えられるアプリケーションプログラムの重要度情報や、アプリケーションプログラムのリアルタイム性情報(ユーザの入力などに対して、機敏に画面を描き変える必要があるか)などであってよい。
次に、図7を参照して、アプリケーション実行環境810の動作を説明する。
まず、アプリケーションスケジューリング手段812が、優先度保持手段811から各アプリケーションプログラムの優先度を取得する(1000)。
次に、アプリケーションスケジューリング手段812は、優先度に従って、各アプリケーションプログラムに割り当てるCPU時間を決定する(1001)。具体的には、優先度保持手段811に保持されている、帯域負荷情報に基づいて決定された優先度を用いて、優先度が高いアプリケーションプログラムには、より多いCPU時間を割り当て、優先度が低いアプリケーションプログラムには、より少ないCPU時間を割り当てる。
なお、アプリケーションスケジューリング手段812は、画面描画を行わないアプリケーションプログラム(図示されていない)や、画面描画転送システム800にもCPU時間を割り当てるよう動作する。また、CPU時間を割り当てる順番は、ラウンドロビン方式などの既知の方法を使用することができる。
次に、アプリケーションスケジューリング手段812は、決定した順番とCPU時間に従って、アプリケーションプログラムを順次切り替えて動作させ、仮想的に各アプリケーションプログラムを並行動作させる(1002)。
次に、具体的な例を挙げて本実施例の動作を説明する。
今、アプリケーションプログラムA813,B814の優先度が共に「高」であり、描画リクエスト保持手段A801,B802にそれぞれ幾つかの描画リクエストが保持されている状態で、図6の処理が開始されたとする。描画手段803は、画像情報の生成終了条件が成立するまで、たとえば描画リクエスト保持手段A801,B802から交互に1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。また、エンコード手段804は、生成された画像情報から転送用画像情報を生成して通信手段805を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段806へ伝達する。
優先度更新手段806は、帯域負荷情報に基づいて、帯域負荷が予め設定された閾値を上回るアプリケーションプログラムが存在するかどうかを判定する。今、アプリケーションプログラムA813の帯域負荷が閾値を上回っていたとすると、優先度更新手段806は、アプリケーションプログラムA813の優先度を「高」から「低」に更新する。
その後、アプリケーション実行環境810のアプリケーションスケジューリング手段812がアプリケーションプログラムA813にCPU時間を割り当てる場合、その実行優先度が「低」なので、「高」の場合に比べて短いCPU時間しか割り当てない。この結果、アプリケーションプログラムA813は、発行できる描画リクエストの数が高優先度の場合に比べて少なくなる。
次の描画周期が到来して図6の処理が再び開始されると、描画手段803は、画像情報の生成終了条件が成立するまで、前回と同様にたとえば描画リクエスト保持手段A801,B802から交互に1つずつ描画リクエストを取り出して処理し、画面に表示するための画像情報と描画リクエスト発行元情報とを生成する。続いて、エンコード手段804は、生成された画像情報から転送用画像情報を生成して通信手段805を通じて画面表示用端末520へ送信すると共に、帯域負荷情報を生成して優先度更新手段806へ伝達する。ここで、前述したように、アプリケーションプログラムA813が発行できる描画リクエストの数が少なくなっているので、通信帯域への負荷が大きかったアプリケーションプログラムA813からの描画リクエストの処理数も少なくなる。この結果、アプリケーションプログラムA813の画像情報の変化が少なくなる。エンコード手段804は、画像情報のうち画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いて画像情報から転送用画像情報を作成するため、画像の変化量が大きい領域の描画を要求した描画リクエストの発行元のアプリケーションプログラムA813の優先度を下げることにより、以降の該当する画像の領域の変化量を小さくすることができ、結果として送信される総データ量を抑制することができる。
その後、アプリケーションプログラムA813の帯域負荷が閾値以下まで低下すると、優先度更新手段806は、アプリケーションプログラムA813の優先度を「低」から「高」へ更新する。
以上のような動作が行われることにより、多くの通信帯域を使用するアプリケーションプログラムA813は、単位時間当たりの描画リクエストの発行数が少なく抑えられ、これによって、画面転送時のデータ総量をアプリケーションプログラム単位で抑制することができる。
次に、第2の実施例の効果について説明する。
本実施例では、描画リクエストの処理によって画像情報を生成し、さらに画像情報を生成する際に描画リクエスト発行元情報を副次的に生成し、画面表示用端末への送信に適した転送用画像情報へと変換し、さらに転送用画像情報を生成する際に、描画リクエスト発行元情報を参照することで帯域負荷情報を生成し、転送用画像情報は画面表示用端末へと送信し、帯域負荷情報は優先度の更新に用い、優先度に従って各アプリケーションプログラムに割り当てるCPU時間を決定し、決定したCPU時間に従って各アプリケーションプログラムを順次切り替えて動作させることにより、各アプリケーションプログラムを仮想的に並行動作させるように構成されているため、画面表示用端末への送信時に通信帯域に負荷をかけているアプリケーションプログラムを特定して、該当アプリケーションプログラムの優先度を低下させることにより、該当アプリケーションプログラムに割り当てられるCPU時間が少なくなり、結果として該当アプリケーションプログラムからの描画リクエストの時間当たりの発行頻度が低下するため、通信帯域への負荷を低減するようにアプリケーションプログラム毎に制御を行うことができる。
次に、本発明の第3の実施例について図面を参照して詳細に説明する。
図8を参照すると、本発明の第3の実施例は、画面描画転送装置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上で実行することにより、図2に示す機能手段、もしくは、図5に示す機能手段が実現される。
各機能手段の動作は、前記の第1の実施例もしくは第2の実施例と同様である。ただし、アプリケーションプログラムと、画面描画転送システムが別の装置上で動作するため、アプリケーションプログラムからの描画リクエストが、通信網1120を介してアプリケーションプログラム実行装置1110から画面描画転送装置1100へ送信される点が異なる。また、前記の第2の実施例と同様の動作をする場合には、優先度更新手段からの優先度が通信網1120を介して、画面描画転送装置1100からアプリケーションプログラム実行装置1110へと送信される点が異なる。
なお、通信網1120と通信網510として同一の通信網を用い、画面描画転送装置1100における通信装置1105を省略して、通信装置1104のみを用いてもよい。
次に、本発明の具体的な適用例について説明する。
本発明による具体的な画面描画転送システムは、X Windowシステムや、VNCといった画面描画管理ミドルウェアに、本発明を適用し、画面転送機能を付加したものであり得る。
また、本発明による具体的な画面描画転送システムは、オペレーティングシステムの提供するグラフィックス描画APIに、本発明を適用し、画面転送機能を付加したものであり得る。例えばWindows(登録商標)のGDIや、Mac OS XのQuartzなどが挙げられるが、それらに限らない。
また、本発明による具体的な画面描画転送システムは、Open GLといった汎用のグラフィックス描画APIに、本発明を適用し、画面転送機能を付加したものであり得る。
さらに、本発明による具体的な画面描画転送システムは、アプリケーションプログラムの実行環境として、オペレーティングシステムを用いたものであり得る。この場合、前記の第2の実施例を実施するならば、オペレーティングシステムのタイムシェアリング機能をもとに、オペレーティングシステムスケジューリング機能を本発明に適するように改良することで、アプリケーションプログラムの優先度をアプリケーションプログラムを実行するCPU時間に反映させる。
また、本発明による具体的な画面描画転送システムは、アプリケーションプログラムの実行環境として、仮想マシンを用いたものであり得る。一例を挙げると、アプリケーションプログラムをJava(登録商標)言語で記述して作成し、仮想マシンとしてJava仮想マシンを用いることができる。この場合、前記の第2の実施例を実施するならば、仮想マシンのタイムシェアリング機能をもとに、仮想マシンスケジューリング機能を本発明に適するように改良することで、アプリケーションプログラムの優先度をアプリケーションプログラムを実行するCPU時間に反映させる。
また、本発明による具体的な画面描画転送システムは、アプリケーションプログラムの実行環境として、仮想マシンモニタとオペレーティングシステムを組み合わせて用いたものであり得る。一例を挙げると、仮想マシンモニタとしてVMWareを用い、VMWare上で動作しゲストオペレーティングシステムとしてTRON互換なOSを用い、前記のTRON互換なオペレーティングシステムの上でアプリケーションプログラムを動作させることができる。この場合、前記の第2の実施例を実施するならば、仮想マシンモニタのタイムシェアリング機能をもとに、仮想マシンモニタスケジューリング機能を本発明に適するように改良することで、アプリケーションプログラムの優先度をアプリケーションプログラムが実行されるオペレーティングシステムのCPU時間に反映させることにより、間接的に優先度をアプリケーションプログラムを実行するCPU時間に反映させることができる。
また、本発明による具体的な画面描画転送システムは、図9に示すような、汎用演算装置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…画面表示用端末
101…描画リクエスト保持手段A
102…描画リクエスト保持手段B
103…描画手段
104…エンコード手段
105…通信手段
106…優先度更新手段
107…優先度保持手段
110…アプリケーションプログラムA
120…アプリケーションプログラムB
510…通信網
520…画面表示用端末
Claims (18)
- 各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持手段と、
前記描画リクエスト保持手段に保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画手段と、
前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコード手段とを備え、
前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御することを特徴とする画面描画転送システム。 - アプリケーションプログラムの優先度を保持する優先度保持手段と、
前記帯域負荷情報に基づいて、前記優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新手段とを備え、
前記描画手段は、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、より優先度の低いアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように、前記描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストの処理方法を決定し、該決定した処理方法で描画リクエストを処理することを特徴とする請求項1記載の画面描画転送システム。 - アプリケーションプログラムの優先度を保持する優先度保持手段と、
前記帯域負荷情報に基づいて、前記優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新手段と、
前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、各アプリケーションプログラムに割り当てるCPU時間を決定するスケジューリング手段とを備えることを特徴とする請求項1記載の画面描画転送システム。 - 前記エンコード手段は、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いることを特徴とする請求項2または3に記載の画面描画転送システム。
- 前記優先度更新手段は、直近に入力された帯域負荷情報だけでなく、複数回の帯域負荷情報の履歴を参照して各アプリケーションプログラムの優先度を決定することを特徴とする請求項2乃至4の何れか1項に記載の画面描画転送システム。
- 前記優先度更新手段は、帯域負荷情報とそのほかの情報との組み合わせに基づいて各アプリケーションプログラムの優先度を決定することを特徴とする請求項2乃至5の何れか1項に記載の画面描画転送システム。
- コンピュータが、各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、
前記コンピュータが、前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、
前記コンピュータが、前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを含み、
前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御することを特徴とする画面描画転送方法。 - 前記コンピュータが、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップを含み、
前記描画ステップでは、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、より優先度の低いアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように、前記描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストの処理方法を決定し、該決定した処理方法で描画リクエストを処理することを特徴とする請求項7記載の画面描画転送方法。 - 前記コンピュータが、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップと、
前記コンピュータが、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、各アプリケーションプログラムに割り当てるCPU時間を決定するスケジューリングステップとを含むことを特徴とする請求項7記載の画面描画転送方法。 - 前記エンコードステップでは、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いることを特徴とする請求項8または9に記載の画面描画転送方法。
- 前記優先度更新ステップでは、直近に入力された帯域負荷情報だけでなく、複数回の帯域負荷情報の履歴を参照して各アプリケーションプログラムの優先度を決定することを特徴とする請求項8乃至10の何れか1項に記載の画面描画転送方法。
- 前記優先度更新ステップでは、帯域負荷情報とそのほかの情報との組み合わせに基づいて各アプリケーションプログラムの優先度を決定することを特徴とする請求項8乃至11の何れか1項に記載の画面描画転送方法。
- 各アプリケーションプログラムから受け付けた描画リクエストを保持する描画リクエスト保持ステップと、
前記保持されたアプリケーションプログラムからの描画リクエストを処理して画面に表示するための画像情報を生成すると共に、画面を区分する領域ごとに、描画に用いられた描画リクエストの発行元のアプリケーションプログラムの識別子を対応付けた描画リクエスト発行元情報を生成する描画ステップと、
前記画像情報を処理して画面転送に適したデータ形式で転送用画像情報を生成すると共に、前記画像情報を処理して前記転送用画像情報を生成する過程で、前記描画リクエスト発行元情報を参照し、アプリケーションプログラムの識別情報に、転送用画像情報に占める、アプリケーションプログラムが発行した描画リクエストに起因するデータ量を対応付けた帯域負荷情報を生成するエンコードステップとを、コンピュータに実行させるためのプログラムであって、
前記帯域負荷情報に基づいて、より多くの通信帯域を使用しているアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように制御することを特徴とする画面描画転送プログラム。 - 前記コンピュータに、さらに、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップを行わせるためのプログラムであって、かつ、
前記描画ステップでは、前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、より優先度の低いアプリケーションプログラムほど単位時間当たりの描画リクエストの処理数が少なくなるように、前記描画リクエスト保持手段に保持された各アプリケーションプログラムからの描画リクエストの処理方法を決定し、該決定した処理方法で描画リクエストを処理することを特徴とする請求項13記載の画面描画転送プログラム。 - 前記コンピュータに、さらに、前記帯域負荷情報に基づいて、アプリケーションプログラムの優先度を保持する優先度保持手段に保持されているアプリケーションプログラムの優先度を更新する優先度更新ステップと、
前記優先度保持手段に保持されている各アプリケーションプログラムの優先度に基づいて、各アプリケーションプログラムに割り当てるCPU時間を決定するスケジューリングステップとを行わせるための請求項13記載の画面描画転送プログラム。 - 前記エンコードステップでは、画像情報から転送用画像情報を作成するアルゴリズムとして、画像情報のうち、画像の変化が大きい領域に対して大きなデータ量を割り振り、画像の変化が小さい領域に対して小さなデータ量を割り振るようなアルゴリズムを用いることを特徴とする請求項14または15に記載の画面描画転送プログラム。
- 前記優先度更新ステップでは、直近に入力された帯域負荷情報だけでなく、複数回の帯域負荷情報の履歴を参照して各アプリケーションプログラムの優先度を決定することを特徴とする請求項14乃至16の何れか1項に記載の画面描画転送プログラム。
- 前記優先度更新ステップでは、帯域負荷情報とそのほかの情報との組み合わせに基づいて各アプリケーションプログラムの優先度を決定することを特徴とする請求項14乃至17の何れか1項に記載の画面描画転送プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007133794A JP2008289030A (ja) | 2007-05-21 | 2007-05-21 | 画面描画転送システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007133794A JP2008289030A (ja) | 2007-05-21 | 2007-05-21 | 画面描画転送システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008289030A true JP2008289030A (ja) | 2008-11-27 |
Family
ID=40148307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007133794A Withdrawn JP2008289030A (ja) | 2007-05-21 | 2007-05-21 | 画面描画転送システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008289030A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028510A (ja) * | 2009-07-24 | 2011-02-10 | Casio Computer Co Ltd | サーバ装置、サーバベース・コンピューティング・システム、およびプログラム |
WO2012014625A1 (ja) * | 2010-07-28 | 2012-02-02 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
JP2012118881A (ja) * | 2010-12-02 | 2012-06-21 | Fujitsu Ltd | 情報処理装置、情報処理方法および情報処理プログラム |
WO2013128623A1 (ja) * | 2012-03-02 | 2013-09-06 | 富士通株式会社 | 画像送信方法、プログラム、及び装置 |
JP2015184995A (ja) * | 2014-03-25 | 2015-10-22 | 三菱電機インフォメーションネットワーク株式会社 | 画面通信量見積り装置、画面通信量見積りプログラムおよび画面通信量見積り方法 |
WO2020213401A1 (ja) * | 2019-04-16 | 2020-10-22 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
WO2021065053A1 (ja) * | 2019-10-02 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ処理方法およびコンピュータプログラム |
WO2021065052A1 (ja) * | 2019-10-02 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ処理方法およびコンピュータプログラム |
-
2007
- 2007-05-21 JP JP2007133794A patent/JP2008289030A/ja not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028510A (ja) * | 2009-07-24 | 2011-02-10 | Casio Computer Co Ltd | サーバ装置、サーバベース・コンピューティング・システム、およびプログラム |
WO2012014625A1 (ja) * | 2010-07-28 | 2012-02-02 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
JP2012118881A (ja) * | 2010-12-02 | 2012-06-21 | Fujitsu Ltd | 情報処理装置、情報処理方法および情報処理プログラム |
WO2013128623A1 (ja) * | 2012-03-02 | 2013-09-06 | 富士通株式会社 | 画像送信方法、プログラム、及び装置 |
US9705956B2 (en) | 2012-03-02 | 2017-07-11 | Fujitsu Limited | Image transmitting method, program and apparatus |
JP2015184995A (ja) * | 2014-03-25 | 2015-10-22 | 三菱電機インフォメーションネットワーク株式会社 | 画面通信量見積り装置、画面通信量見積りプログラムおよび画面通信量見積り方法 |
WO2020213401A1 (ja) * | 2019-04-16 | 2020-10-22 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
JP2020177075A (ja) * | 2019-04-16 | 2020-10-29 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
CN113727878A (zh) * | 2019-04-16 | 2021-11-30 | 株式会社电装 | 车辆用装置、车辆用装置的控制方法 |
JP7180516B2 (ja) | 2019-04-16 | 2022-11-30 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
WO2021065053A1 (ja) * | 2019-10-02 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ処理方法およびコンピュータプログラム |
WO2021065052A1 (ja) * | 2019-10-02 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ処理方法およびコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8341624B1 (en) | Scheduling a virtual machine resource based on quality prediction of encoded transmission of images generated by the virtual machine | |
CN109582425B (zh) | 一种基于云端与终端gpu融合的gpu服务重定向系统及方法 | |
JP2008289030A (ja) | 画面描画転送システム | |
EP2315122B1 (en) | Methods and systems for remoting three dimensional graphics | |
US7853648B1 (en) | System and method for providing interactive images | |
JP5451397B2 (ja) | リモートインターラクションに応答してビデオコンテンツを配信するためのアーキテクチャー | |
US9146884B2 (en) | Push pull adaptive capture | |
KR20070110127A (ko) | 압축을 이용하여 분산 프로세싱 환경에서 그래픽디스플레이를 업데이트하는 방법 및 장치 | |
EP3726838B1 (en) | Management of memory for storing display data | |
US20070288557A1 (en) | Server device, control instruction processing method therefor, and terminal device | |
WO2010063769A2 (en) | System and method for photorealistic imaging workload distribution | |
US20170272545A1 (en) | Method and system for transmitting remote screen | |
JP5817052B2 (ja) | 情報処理装置、制御方法、プログラム、及び記録媒体 | |
US7769900B1 (en) | System and method for providing interframe compression in a graphics session | |
CN101883281B (zh) | 一种远程显示系统的静态图像编码方法及系统 | |
CN114265648B (zh) | 编码调度方法、服务器及客户端和获取远程桌面的系统 | |
US7659907B1 (en) | System and method for providing dynamic control of a graphics session | |
KR101565438B1 (ko) | 구형 브라우저 화면상의 실시간 데이터 갱신 방법, 이를 이용한 장치 및 시스템 | |
WO2016157329A1 (ja) | クライアント装置及び通信システム及び描画処理制御方法及び描画処理制御プログラム | |
CN115190124B (zh) | 基于分布式工业控制系统的消息传输方法、装置、存储介质及调度服务器 | |
Wen et al. | GBooster: Towards Acceleration of GPU-Intensive Mobile Applications | |
US8046404B1 (en) | System and method for discarding frames of an image during transport across a network link | |
JP2015143893A (ja) | サーバシステム | |
KR101473463B1 (ko) | 터미널 환경의 서버 기반 컴퓨팅 시스템에서 압축 화면 정보를 제공하는 터미널 서비스 시스템 및 터미널 서비스 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091007 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20091007 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100803 |