JP2009015419A - サーバ装置およびプログラム - Google Patents

サーバ装置およびプログラム Download PDF

Info

Publication number
JP2009015419A
JP2009015419A JP2007173922A JP2007173922A JP2009015419A JP 2009015419 A JP2009015419 A JP 2009015419A JP 2007173922 A JP2007173922 A JP 2007173922A JP 2007173922 A JP2007173922 A JP 2007173922A JP 2009015419 A JP2009015419 A JP 2009015419A
Authority
JP
Japan
Prior art keywords
command
client device
screen
service request
execution image
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.)
Granted
Application number
JP2007173922A
Other languages
English (en)
Other versions
JP4946667B2 (ja
Inventor
Hiroyuki Enjo
浩行 園城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007173922A priority Critical patent/JP4946667B2/ja
Publication of JP2009015419A publication Critical patent/JP2009015419A/ja
Application granted granted Critical
Publication of JP4946667B2 publication Critical patent/JP4946667B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】サーバ装置からクライアント装置へ送信する画面データのデータ量を少なくすることにより、画面データの送信速度を速くすることが可能なサーバベースコンピューティングシステムを提供すること。
【解決手段】ネットワークを介したクライアント装置からのサービス要求に基づいて、サービス要求に対応する画面情報をクライアント装置へ送信するサーバ装置であって、サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を一時的に格納する手段と、クライアント装置に表示するためにコマンド実行画像を格納する手段と、コマンド実行画像を一時的に格納する際に、コマンドを関連づけて記憶するコマンドテーブルを作成する手段と、コマンド実行画像を複写する際に、コマンドテーブルを参照し、該当するコマンドをクライアント装置へ送信する手段とを備える。
【選択図】図7

Description

本発明は、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムに関する。
近年、ネットワークの高速化に伴い、サーバ装置の画面をリアルタイムにネットワークを介して送信し、遠隔のクライアント装置に表示させ、遠隔からサーバ装置の操作を行なうサーバベースコンピューティングシステム(シンクライアントシステム)が広まってきている。たとえば、リモートマシンのデスクトップを手元のマシンから使えるようにするVNC(Virtual Network Computing)などがそのサーバベースコンピューティングシステムの例としてある。
サーバベースコンピューティングシステムとは、クライアント装置(シンクライアント装置とも呼ばれる)とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行なうと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである(例えば、特許文献1参照。)。
サーバ装置はクライアント装置用の表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等のストレージが不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。
図1は、サーバベースコンピューティングシステムの構成を示す図である。
図1に示すとおり、サーバベースコンピューティングシステムは、クライアント装置10からは、キーボードやマウスなどの入力装置からの入力情報をサーバ装置20へ送り、その入力情報に基づいてサーバ装置20が処理を実行し、更新された画面情報(座標、大きさと画像)をクライアント装置10へ送るというものである。クライアント装置10は、その画面情報を表示装置に反映させる。
図2は、サーバベースコンピューティングシステムの概要を説明するための図である。
図2に示す通り、クライアント装置10とサーバ装置20は、ネットワーク(通信網)を介して互いに接続され、サーバベースコンピューティングシステムを形成している。クライアント装置10が無線通信を行なう場合には、中継装置30およびネットワークを介してサーバ装置20と通信を行なう。
このようなサーバベースコンピューティングシステムでは、例えば、サーバ装置20からクライアント装置10に画像データを転送する際に、更新の発生した画像データを低画質で送信することにより、画像転送に利用可能な帯域の制限が受けにくくなり、画面転送のリアルタイム性が向上し、低画質データの送信後に改めて高画質の画像データを送信することにより、画質の劣化を目立たせなくするという技術が開示されている(例えば、特許文献2参照。)。
このようなサーバベースコンピューティングシステムにおいて、サーバ装置20内の画面に変更が発生した場合は、仮想のVRAMから変更前後の差分データを抽出し、その差分データを画面データとしてクライアント装置10へ送信している。通常、その画面データの送信方法としては、
(1)イメージ送信
(2)コマンド送信
の二通りの送信方法が存在する。
(2)コマンド送信には、例えば、「座標」「幅」「高さ」「塗りつぶし色」を送信する「単色塗りつぶし送信」と、「座標」「幅」「高さ」「パターンイメージ」を送信する「単一パターン塗りつぶし送信」とがある。
前者のイメージ送信は、仮想のVRAMに保存された画面のピクセルデータをイメージ情報として(圧縮し)送信する方法であり、後者のコマンド送信は、画面を構成するベクトルデータのみを送信し、ピクセルデータへの展開はクライアント装置10側にゆだねる方法である。
このような前者のイメージ送信の場合、データ量が大きくなる欠点があるがクライアント装置10に依存しないという特徴があり、後者のコマンド送信の場合、データ量は削減できるがクライアント装置10に依存してしまうという特徴がある。
サーバベースコンピューティングシステムにおいては、データ量の削減がパフォーマンスに影響するため、後者のコマンド送信のコマンド対応を如何に効率的に実装するかが重要な問題である。
ここで、クライアント装置10に表示させる画面情報のサーバ装置20からの送信(画面転送)を考えるとき、サーバ装置20内部での描画処理の考え方が大切になる。サーバ装置20内の画面描画の描画先は大きく分けて、(1)オンスクリーン(OnScreen)メモリと(2)オフスクリーン(OffScreen)メモリの二つのメモリ領域が存在する。前者のオンスクリーンメモリは、画面の変化に対応して表示するためのメモリ領域であり、後者のオフスクリーンメモリは、一度描画した画面を再利用するために保存する一時メモリ領域であり、画面には反映されない。例えば、ウインドウズシステムのメニューバーにある「ファイル(F)」という画面は何度も利用され、画面には反映されない。
図3は、オフスクリーンメモリ211とオンスクリーンメモリ212との関係を説明するための図である。
クライアント装置10から要求されたサービスは各種のコマンドから構成されており、これらの各種コマンドは、主に、オフスクリーンメモリ211に対する表示コマンド、オンスクリーンメモリ212に対する表示コマンド、オフスクリーンメモリ211に格納された画像データをオンスクリーンメモリ212に複写するためのコピーコマンドと3種類に分類することができる。
図3に示したように、オフスクリーンメモリ211に格納された画像データをクライアント装置20の画面に反映させるには、オフスクリーンメモリ211の内容をオンスクリーンメモリ212に複写(コピー)することで実行される。複写された画像データがクライアント装置10への送信対象となっていた。
特開2005−228227号公報 特開2006−246153号公報
図4は、従来の問題点を説明するための図である。
上述したような従来のサーバベースコンピューティングシステムの場合、図4に示したように、オフスクリーンメモリ211の内容をオンスクリーンメモリ212に複写する際、複数のコマンドの実行結果が画像データとしてマージされるため、クライアント装置10への送信はイメージをそのまま又は圧縮して送信するしかなく、データ量が増大しがちになり、その結果、パフォーマンスが劣化する傾向にあるという問題点があった。
本発明は、上記問題点に鑑みてなされたものであり、サーバ装置20からクライアント装置10へ送信する画面データのデータ量を少なくすることにより、画面データの送信速度を速くすることが可能なサーバベースコンピューティングシステムを提供することを目的とする。
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を一時的に格納する画面情報一時格納手段と、 前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段と、前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段と、前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段とを備えることを特徴とする。
また、本発明のサーバ装置は、前記コマンドログ手段により作成された前記コマンドテーブルが、前記コマンドに関する情報と前記コマンドを領域別に関連付ける情報とを含むことが望ましい。
また、本発明のサーバ装置は、さらに、前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、前記コマンド実行画像が前記コマンドにより描画する領域に含まれる場合は、前記コマンドにより描画する領域を前記コマンド実行画像を描画する領域となるように前記コマンドを変更するコマンド変更手段を備えることが望ましい。
また、本発明の一態様によれば、本発明のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、前記サービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を一時的に格納する画面情報一時格納手段、前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段、前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段、前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段として機能させるためのプログラムである。
本発明によれば、サーバ装置20からクライアント装置10へ送信する画面データをイメージデータではなく、コマンドデータとして送信するので、データ量が少なくなり、画面データの送信速度を速くすることができる。
また、本発明によれば、従来、オフスクリーンメモリ211のデータをオンスクリーンメモリ212へ複写する際に、イメージデータとして複写することしかできなかったが、オフスクリーンメモリ211へ書き込んだコマンドのままコマンドログに格納しているので、コマンドのままオフスクリーンメモリ211のデータをオンスクリーンメモリ212へ複写することが可能となる。
また、本発明によれば、オフスクリーンメモリ211のデータをオンスクリーンメモリ212へコピーする際、コマンドの種類を判別してイメージデータとしてもオフスクリーンメモリ211のデータをオンスクリーンメモリ212へ複写することができるので、コマンドの種類によって最適な送信方法が選択することが可能となる。
以下、本発明の実施の形態について図面を参照しながら説明する。
まず、本発明の実施の形態について概略を説明する。
本発明が適用されるサーバ装置20は、ネットワークを介したクライアント装置10からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置10へ送信するサーバ装置20である。そして、イメージデータ、場合によっては圧縮したイメージデータとクライアント装置10側で再生可能なコマンドデータとの双方をクライアント装置10へ送信することが可能であり、オフスクリーンメモリ211に対して実行された描画コマンドのログを管理し、オフスクリーンメモリ211のデータがオンスクリーンメモリ212に反映された場合、それをコマンドとしてクライアント装置10に送信する機能を有する。
また、オフスクリーンメモリ211の情報とコマンド情報とをリストとして保持し、オフスクリーンメモリ211からオンスクリーンメモリ212へ複写が発生した場合に、該当するコマンドリストをクライアント装置10に送信することでデータ量を削減する。
図5は、クライアント装置10のハードウェア構成の概略を示す図である。
図5において、クライアント装置10は、CPU(中央処理装置:Central Processing Unit)302、各種のデータや信号等を入力するための入力装置303、画像やその他の情報を表示するための表示装置304、クライアント装置10において実行する処理を実行するプログラムの他、クライアント装置10の各機能を制御し実行するための制御プログラムが収納されたROM305やRAM306、表示装置304に表示するための画像を一時的に格納するフレームバッファRAM307、無線LANや携帯電話網等のネットワークに接続するための通信I/F308、画像データ、通信データを始め様々な情報を記録するための外部記憶装置309や補助記憶装置310がバス301に接続されて構成され、CPU302がこれらの各部を制御している。
図6は、サーバ装置20のハードウェア構成の概略を示す図である。
図6において、サーバ装置20は、CPU202、各種のデータや信号等を入力するための入力装置203、画像やその他の情報を表示するための表示装置204、サーバ装置20において実行する処理を実行するプログラムの他、サーバ装置20の各機能を制御し実行するための制御プログラム及びテーブルデータなどが収納されたROM205やRAM206、表示装置204に表示するための画像を一時的に格納するVRAM207、LAN等のネットワークに接続するための通信I/F208、画像データ、通信データを始め様々な情報を記録するための外部記憶装置209や補助記憶装置210、クライアント装置10からのサービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を一時的に格納するオフスクリーンメモリ211、クライアント装置10の表示装置304に表示するためにクライアント装置10からのサービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を格納するオンスクリーンメモリ212がバス201に接続されて構成され、CPU202がこれらの各部を制御している。
図7は、コマンドログを説明するための図である。
図7において、コマンドログは、クライアント装置10からのサービス要求を構成する各コマンドのうち、描画関連のコマンドが、コマンド別に図11に示すような画面領域毎に各コマンドが前後のポインターによりリンクされた形で格納されている。そして、クライアント装置10へ送信するための送信キュー(Queue)には、そのままコマンドとして格納される。
次に、本発明を更に具体的に説明する。本発明は、サーバ装置20において実行されるサーバ処理として実現する。
上述したように、サーバ装置20の内部における画面描画は目に見える形でのオンスクリーンメモリ212への描画と、目に見えない形でのオフスクリーンメモリ211への描画に大別される。
後者のオフスクリーンメモリ211は、一度作成した画面を再利用するために存在するが、この際には、図3及び図4を用いて上述したように、オフスクリーンメモリ211のメモリ領域をオンスクリーンメモリ212のメモリ領域に単純にメモリコピー(複写)をすることで実現されている。つまり、コピー元(以下、「SRC」(Sourceの略)と表記する)がオフスクリーンメモリ211であり、コピー先(以下、「DST」(Destinationの略)と表記する)がオンスクリーンメモリ212の場合に、再利用されるオフスクリーンメモリ211が画面に反映される。この場合に、図7に示したように管理されたオフスクリーンメモリ211への描画ログをクライアント装置10側に送信できれば、図4に示したようにコマンド情報を失わずに、コマンドをコマンドのまま少ないデータ量でクライアント装置10に送信することが可能となる。
ここでの本発明のポイントは、
(1)オフスクリーンメモリ211への描画コマンドをどのように管理するか
(2)オンスクリーンメモリ212に複写されるとき、複写されるべき描画コマンドをいかに抽出するか
の2点にある。
次に、上述の本発明の2点のポイントを順に説明する。
図8は、オフスクリーンメモリ211またはオンスクリーンメモリ212の描画メモリ配列を示す図である。
通常、コンピュータの画面を保持するためのメモリは、オフスクリーンメモリ211のメモリ領域とオンスクリーンメモリ212のメモリ領域とを問わずこれらが統合した形で、画面番号とオフスクリーンメモリ211かオンスクリーンメモリ212かを識別するためのフラグ(例えば、オフスクリーンメモリ211を示すフラグが「0」で、オンスクリーンメモリ212を示すフラグが「1」)をもつ形で構成されている。
まず、「(1)オフスクリーンメモリ211への描画コマンドをどのように管理するか」について、図9を用いて説明する。
図9は、サーバ装置20において実行されるサーバ処理の流れを示すフローチャートである。
ステップS901において、描画コマンドを受信すると、ステップS902において、領域番号を使って領域情報の検索を実行する。描画コマンドは、図3に示したようなに、オフスクリーンメモリ211またはオンスクリーンメモリ212のいずれかのメモリ領域に対して実行されるが、この場合、かならず図8に示した領域番号が渡される。
次に、ステップS903において、フラグの値がオンスクリーンメモリ212を示すフラグ「1」であるか否かを判断する。
そして、領域番号からデータ構造を検索して、フラグが「1」であると判断された場合(ステップS903:YES)、すなわちオンスクリーンメモリ212のメモリ領域への描画の場合であれば、目に見える変更であるので、ステップS904において、画面データをそのままクライアント装置10に送信する。他方、フラグが「0」であると判断された場合(ステップS903:NO)、すなわちオフスクリーンメモリ211のメモリ領域への描画の場合であれば、図10を用いて後述するサブルーチン「オフスクリーンコマンド管理処理」のようにしてコマンドログを管理する。
描画コマンドがオフスクリーンメモリ211に対するものである場合、コマンドログを管理する必要がある。ここで、オフスクリーンメモリ211に格納されたデータがオンスクリーンメモリ212に反映されるのは、複写コマンドのSRCがオフスクリーンメモリ211であって、かつDSTがオンスクリーンメモリ212の場合である。この場合、複写コマンドについては、SRC及びDSTそれぞれの「領域番号」「X座標」「Y座標」「幅」「高さ」が渡されるため、これらの情報と、コマンド特有の情報(例えば、上述の「単色塗りつぶし送信」の場合、「塗りつぶし色」がこれに相当)を保存しておく必要がある。
次に、「(2)オンスクリーンメモリ212に複写されるとき、複写されるべき描画コマンドをいかに抽出するか」について、図10及び図11を用いて説明する。SRCがオフスクリーンメモリ211であり、DSTがオンスクリーンメモリ212である場合に、オフスクリーンメモリ211に書き込まれたものがオンスクリーンメモリ212に反映されるトリガとなる。このとき、領域番号、X座標、Y座標、幅、高さが渡されるので、これらの情報をもとにオフスクリーンメモリ211のコマンドログを作成し、作成したコマンドログに基づいて必要なコマンドをクライアント装置10に送信する。
図10は、サブルーチン「オフスクリーンコマンド管理処理」の流れを示すフローチャートであり、図11は、コマンドログの抽出を説明するための図である。
まず、図10のステップS1001において、複写コマンド(コピーコマンド)を受信する。
図11に示したように、コマンドログのデータ構造は、(ア)領域番号管理配列と(イ)コマンドリスト保持リストとの2つのデータ構造によって管理され、(ア)には(イ)のコマンドリスト保持リストの先頭リストのアドレスと、図8に示した領域番号と同じ領域番号が保持されている。
そして、図10のステップS1002において、複写描画の関数に渡される領域番号をもとに、図11の(ア)から、SRCとなるオフスクリーンメモリ211の配列を検索する。
次に、図10のステップS1003において、図11の(イ)の先頭アドレスを取得する。
図11の(イ)は、双方向リンクリストのデータ構造であり、それぞれのリストはコマンド実行順にリストに保持される。各リストは1つ前のリストと1つ後のリストのアドレスを保持する。なお、該当するものがない場合は、NULLポインタを指す。各リストには前述した必要なリスト(X座標、Y座標、幅、高さ、コマンド情報)を保持する。これにより、オフスクリーンメモリ211からオンスクリーンメモリ212に複写コマンドが発行される際、どのコマンドを複写すべきであるか、必要な情報を保持することができる。
次に、図10のステップS1004において、リストの末尾に達したか否かを判断する。末尾に達したら(ステップS1004:YES)、本サブルーチン「オフスクリーンコマンド管理処理」を終了する。
リストの末尾に達していなかった場合(ステップS1004:NO)は、ステップS1005において、SRCの領域(X座標、Y座標、幅、高さ)から送信すべきコマンドリストを探し出し、領域が含まれない場合は次のリストへと移る。
そして、ステップS1006において、領域が完全に含まれるか否かを判断し、完全に含まれない場合(ステップS1006:NO)、すなわち一部だけ含まれる場合は、ステップS1007において、図12及び図13を用いて後述するサブルーチン「オフスクリーンコマンド管理処理」を実行することにより、ステップS1008において、該当領域だけを切り出してクライアント装置10へと送信する。
他方、領域が完全に含まれる場合(ステップS1006:YES)は、ステップS1008において、そのリストをそのままクライアント装置10へと送信する。
そして、ステップS1009において、次にリストに移り、ステップS1004以降をリストの末尾に達するまで(ステップS1004でYESと判断されるまで)繰り返す。
このように、サブルーチン「オフスクリーンコマンド管理処理」は、オフスクリーンメモリ211から渡された情報に基づいて、サーバベースコンピューティングシステムが対応している描画コマンドの場合はコマンド情報をクライアント装置10に送信し、対応していない場合はイメージデータそのものをオフスクリーンメモリ211の仮想VRAMから切り出し、それをイメージ圧縮することでクライアント装置10に送信して、一連の処理を終了する。
図12は、サブルーチン「含まれる領域の切り出し処理」を説明するための図であり、図13は、サブルーチン「含まれる領域の切り出し処理」の流れを示すフローチャートである。
まず、ステップS1301において、複写領域のX座標である「sx」がリスト領域のX座標である「lx」より大きいか否かを判断し、大きいと判断した場合(ステップS1301:YES)は、ステップS1302において、変数「mx」に複写領域のX座標である「sx」を代入し、大きくないと判断した場合(ステップS1301:NO)は、ステップS1303において、変数「mx」にリスト領域のX座標である「lx」を代入する。
次に、ステップS1304において、複写領域のY座標である「sy」がリスト領域のY座標である「ly」より大きいか否かを判断し、大きいと判断した場合(ステップS1304:YES)は、ステップS1305において、変数「my」に複写領域のY座標である「sy」を代入し、大きくないと判断した場合(ステップS1304:NO)は、ステップS1306において、変数「my」にリスト領域のY座標である「ly」を代入する。
次に、ステップS1307において、リスト領域のX座標である「lx」とリスト領域の幅である「lw」との和(lx+lw)が複写領域のX座標である「sx」と複写領域の幅である「sw」との和(sx+sw)より小さいか否かを判断する。そして、小さいと判断した場合(ステップS1307:YES)は、ステップS1308において、リスト領域のX座標である「lx」とリスト領域の幅である「lw」との和(lx+lw)から、ステップS1302で複写領域のX座標である「sx」を代入した、またはステップS1303でリスト領域のX座標である「lx」を代入した変数「mx」の値を減算して、変数「mw」に代入する。他方、ステップS1307で小さくないと判断した場合(ステップS1307:NO)は、ステップS1309において、複写領域のX座標である「sx」と複写領域の幅である「sw」との和(sx+sw)から、ステップS1302で複写領域のX座標である「sx」を代入した、またはステップS1303でリスト領域のX座標である「lx」を代入した変数「mx」の値を減算して、変数「mw」に代入する。
次に、ステップS1310において、リスト領域のY座標である「ly」とリスト領域の高さである「lh」との和(ly+lh)が複写領域のY座標である「sy」と複写領域の高さである「sh」との和(sy+sh)より小さいか否かを判断する。そして、小さいと判断した場合(ステップS1310:YES)は、ステップS1311において、リスト領域のY座標である「ly」とリスト領域の高さである「lh」との和(ly+lh)から、ステップS1305で複写領域のY座標である「sy」を代入した、またはステップS1306でリスト領域のY座標である「ly」を代入した変数「my」の値を減算して、変数「mh」に代入する。他方、ステップS1310で小さくないと判断した場合(ステップS1310:NO)は、ステップS1312において、複写領域のY座標である「sy」と複写領域の高さである「sh」との和(sy+sh)から、ステップS1305で複写領域のY座標である「sy」を代入した、またはステップS1306でリスト領域のY座標である「ly」を代入した変数「my」の値を減算して、変数「mh」に代入する。
そして、ステップS1313において、コマンドの矩形領域のx座標を、ステップS1302またはステップS1303で代入された変数mxの値に変更し、コマンドの矩形領域のy座標を、ステップS1305またはステップS1306で代入された変数myの値に変更し、コマンドの矩形領域の幅を、ステップS1308またはステップS1309で代入された変数mwの値に変更し、コマンドの矩形領域の高さを、ステップS1311またはステップS1312で代入された変数mhの値に変更する。
以上説明したように、オフスクリーンメモリ211に対して実行された描画コマンドをコマンドログとして管理するため、コマンドに付随するセマンティック(意味的)な情報が消失するようなことがない。これにより、コマンドをコマンドとしてクライアント装置10に送信できるため、データ量を削減する効果があり、パフォーマンス向上につながる。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、サーバ装置の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。
また、本発明が適用されるサーバ装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、サーバ装置に供給し、そのサーバ装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
サーバベースコンピューティングシステムの構成を示す図である。 サーバベースコンピューティングシステムの概要を説明するための図である。 オフスクリーンメモリ211とオンスクリーンメモリ212との関係を説明するための図である。 従来の問題点を説明するための図である。 クライアント装置10のハードウェア構成の概略を示す図である。 サーバ装置20のハードウェア構成の概略を示す図である。 コマンドログを説明するための図である。 オフスクリーンメモリ211またはオンスクリーンメモリ212の描画メモリ配列を示す図である。 サーバ装置20において実行されるサーバ処理の流れを示すフローチャートである。 サブルーチン「オフスクリーンコマンド管理処理」の流れを示すフローチャートである。 コマンドログの抽出を説明するための図である。 サブルーチン「含まれる領域の切り出し処理」を説明するための図である。 サブルーチン「含まれる領域の切り出し処理」の流れを示すフローチャートである。
符号の説明
10 クライアント装置
20 サーバ装置
30 中継装置
201 バス
202 CPU
203 入力装置
204 表示装置
205 ROM
206 RAM
207 フレームバッファRAM
208 通信I/F
209 外部記憶装置
210 補助記憶装置
211 オフスクリーン(OffScreen)メモリ
212 オンスクリーン(OnScreen)メモリ
301 バス
302 CPU
303 入力装置
304 表示装置
305 ROM
306 RAM
307 フレームバッファRAM
308 通信I/F
309 外部記憶装置
310 補助記憶装置

Claims (4)

  1. ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
    前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を一時的に格納する画面情報一時格納手段と、
    前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段と、
    前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段と、
    前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段と、
    を備えることを特徴とするサーバ装置。
  2. 前記コマンドログ手段により作成された前記コマンドテーブルは、前記コマンドに関する情報と前記コマンドを領域別に関連付ける情報とを含むことを特徴とする請求項1に記載のサーバ装置。
  3. さらに、
    前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、前記コマンド実行画像が前記コマンドにより描画する領域に含まれる場合は、前記コマンドにより描画する領域を前記コマンド実行画像を描画する領域となるように前記コマンドを変更するコマンド変更手段、
    備えることを特徴とする請求項1または2に記載のサーバ装置。
  4. ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、
    前記サービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を一時的に格納する画面情報一時格納手段、
    前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段、
    前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段、
    前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段、
    として機能させるためのプログラム。
JP2007173922A 2007-07-02 2007-07-02 サーバ装置およびプログラム Active JP4946667B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007173922A JP4946667B2 (ja) 2007-07-02 2007-07-02 サーバ装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007173922A JP4946667B2 (ja) 2007-07-02 2007-07-02 サーバ装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009015419A true JP2009015419A (ja) 2009-01-22
JP4946667B2 JP4946667B2 (ja) 2012-06-06

Family

ID=40356280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007173922A Active JP4946667B2 (ja) 2007-07-02 2007-07-02 サーバ装置およびプログラム

Country Status (1)

Country Link
JP (1) JP4946667B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282609A (ja) * 2009-04-23 2010-12-16 Vmware Inc 遠隔の表示部へ選択的に伝送するために描画プリミティブを特定する方法及びシステム
JP2011204089A (ja) * 2010-03-26 2011-10-13 Nec Personal Products Co Ltd 画面データ配信システム、サーバ、クライアント端末、画面データ配信方法、及びプログラム
JP2012118881A (ja) * 2010-12-02 2012-06-21 Fujitsu Ltd 情報処理装置、情報処理方法および情報処理プログラム
JP2013020629A (ja) * 2012-08-23 2013-01-31 Casio Comput Co Ltd 端末装置およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020723A (ja) * 2007-07-12 2009-01-29 Casio Comput Co Ltd サーバ装置およびプログラム
JP2009517772A (ja) * 2005-11-30 2009-04-30 キャリスタ・テクノロジーズ,インコーポレーテッド マルチユーザ・ディスプレイ・プロキシ・サーバ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009517772A (ja) * 2005-11-30 2009-04-30 キャリスタ・テクノロジーズ,インコーポレーテッド マルチユーザ・ディスプレイ・プロキシ・サーバ
JP2009020723A (ja) * 2007-07-12 2009-01-29 Casio Comput Co Ltd サーバ装置およびプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282609A (ja) * 2009-04-23 2010-12-16 Vmware Inc 遠隔の表示部へ選択的に伝送するために描画プリミティブを特定する方法及びシステム
US8902242B2 (en) 2009-04-23 2014-12-02 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
US9448760B2 (en) 2009-04-23 2016-09-20 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
US10067732B2 (en) 2009-04-23 2018-09-04 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
US10572214B2 (en) 2009-04-23 2020-02-25 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
US11003412B2 (en) 2009-04-23 2021-05-11 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
US11397553B2 (en) 2009-04-23 2022-07-26 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
JP2011204089A (ja) * 2010-03-26 2011-10-13 Nec Personal Products Co Ltd 画面データ配信システム、サーバ、クライアント端末、画面データ配信方法、及びプログラム
JP2012118881A (ja) * 2010-12-02 2012-06-21 Fujitsu Ltd 情報処理装置、情報処理方法および情報処理プログラム
JP2013020629A (ja) * 2012-08-23 2013-01-31 Casio Comput Co Ltd 端末装置およびプログラム

Also Published As

Publication number Publication date
JP4946667B2 (ja) 2012-06-06

Similar Documents

Publication Publication Date Title
WO2018050003A1 (zh) 3D canvas网页元素的渲染方法、装置及电子设备
KR102307163B1 (ko) 크로스 플랫폼 렌더링 엔진
EP2805258B1 (en) Low resolution placeholder content for document navigation
WO2017166210A1 (zh) 应用程序的处理方法及终端设备
JP2009163142A (ja) 情報処理装置、情報処理システム、コンピュータプログラム、及び情報処理方法
JP2009023339A (ja) 画像処理装置およびその制御方法、並びに、コンピュータプログラム
JP2014135013A (ja) 画像転送方法、サーバ機器及びプログラム
JP4946667B2 (ja) サーバ装置およびプログラム
EP4198962A1 (en) Systems and methods for interactively presenting a visible portion of a rendering surface on a user device
JP4844275B2 (ja) サーバ装置、サーバベースコンピューティングシステムおよびプログラム
JP2008158342A (ja) 情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体
CN101326513A (zh) 辅助图形管道
JP2010175638A (ja) 表示装置及び表示装置の表示方法
JP2009020723A (ja) サーバ装置およびプログラム
JP2006171861A (ja) 情報処理装置、印刷方法、記録媒体およびプログラム
US10706824B1 (en) Pooling and tiling data images from memory to draw windows on a display device
JP2008098741A (ja) テロップ生成装置およびテロップ合成方法
JP2007316647A (ja) 画像指定ファイルの作成およびこれを用いた画像の再生
US20170147537A1 (en) Method, apparatus and system for reproducing a document defined in a page description language
JP5842804B2 (ja) 表示端末装置及びプログラム
KR20190101601A (ko) 차트 표시 방법 및 이를 이용하는 장치
CN110730976A (zh) 用于与图形处理单元交接的基于交易的显示流水线的方法和系统
JP6146440B2 (ja) 表示端末装置及びプログラム
JP2008210113A (ja) サーバ装置およびプログラム
JP5673744B2 (ja) 電子書籍端末、情報処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100316

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4946667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150