JP2010250615A - サーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラム - Google Patents
サーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラム Download PDFInfo
- Publication number
- JP2010250615A JP2010250615A JP2009100238A JP2009100238A JP2010250615A JP 2010250615 A JP2010250615 A JP 2010250615A JP 2009100238 A JP2009100238 A JP 2009100238A JP 2009100238 A JP2009100238 A JP 2009100238A JP 2010250615 A JP2010250615 A JP 2010250615A
- Authority
- JP
- Japan
- Prior art keywords
- client device
- time
- server
- command
- screen data
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】クライアント装置の描画能力に適した描画方法で画面データを送信すること。
【解決手段】サーバ装置は、クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブル104Bを参照しながら、クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、クライアント装置は、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータをサーバ装置へ送信する。サーバ装置では、その実行終了を示すデータを受信することにより描画終了までの描画時間を計測して、その描画時間から前記クライアント装置に適した描画方法を判定し、描画時間管理テーブル104Bに登録する。そして、判定された描画方法に従って、クライアント装置からのサービス要求に対応する画面データをクライアント装置へ送信し、クライアント装置で表示する。
【選択図】図3
【解決手段】サーバ装置は、クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブル104Bを参照しながら、クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、クライアント装置は、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータをサーバ装置へ送信する。サーバ装置では、その実行終了を示すデータを受信することにより描画終了までの描画時間を計測して、その描画時間から前記クライアント装置に適した描画方法を判定し、描画時間管理テーブル104Bに登録する。そして、判定された描画方法に従って、クライアント装置からのサービス要求に対応する画面データをクライアント装置へ送信し、クライアント装置で表示する。
【選択図】図3
Description
本発明は、サーバクライアントシステム、特にはサーバベースコンピューティングシステムにおけるサーバ装置とクライアント装置、並びに、そのようなサーバベースコンピューティングシステム、及びサーバ装置のコンピュータやクライアント装置のコンピュータで実行されるプログラムに関する。
サーバクライアントシステムにおいて、クライアント装置にHDDなどを搭載せず、画面表示や入力といった最小限の機能に絞り、重要なデータはすべてサーバ装置側に保存するシンクライアント(Thin client)システムは、有力な情報漏洩対策の1つとして注目を集めている。また、このシンクライアントシステムは、サーバ装置側で集中管理を行うことにより、ソフトウェアのバージョンアップやパッチ適用といった運用管理業務が削減でき、運用コストの削減につながる点もメリットである。
このようなシンクライアントシステムの実装方式の一つに、サーバベースコンピューティング(以下、SBCと略記する)システムがある。
SBCシステムは、通信ネットワークにぶら下がるSBCサーバ装置(以下、サーバ装置と称する)とシンクライアント端末装置(以下、クライアント装置と称する)群で構成されて実現される。このSBCシステムでは、クライアント装置からのセッション確立(以下、接続と称する)後、ユーザからの操作をサーバ装置へ伝え、それをサーバ装置がアプリケーション処理して結果の画面を生成し、画面データを描画コマンドや画像データとしてクライアント装置に転送して、クライアント装置が表示画面を構成する。
このようなSBCシステムでは、サーバ装置からできるだけ高品質な画面データを高速に転送してクライアント装置で表示できるようにすることが望まれる。
そこで、例えば、特許文献1では、画面データの内の更新の発生した領域の画像データを低画質で送信することによって画面データ転送に利用可能な帯域の制限を受けにくくなり、画面データの転送を受ける側から見た画面データ転送のリアルタイム性が向上し、低画質で更新画像データが転送された後、その更新画像データは改めて高画質で転送されることで、画面データの転送を受ける側から見た画質の劣化を目立たなくする画面転送方法を提案している。
前記特許文献1では、通信ネットワークの利用可能な帯域の制約の中で、見た目のリアルタイム性の向上を図っているが、サーバ装置に接続されたクライアント装置それぞれの描画能力の違いについては考慮されていない。
本発明は、前記の点に鑑みてなされたもので、クライアント装置の描画能力に適した描画方法でサーバ装置からクライアント装置へ画面データを送信することが可能なサーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラムを提供することを目的とする。
請求項1に記載のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面データを前記クライアント装置へ送信するサーバ装置であって、前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、を備えたことを特徴としている。
請求項2に記載のサーバ装置は、前記請求項1に記載のサーバ装置において、前記描画時間計測手段は、前記クライアント装置より前記実行終了を示すデータとして、実行に要した時間を示す時間データを受信し、該時間データによって描画終了までの描画時間を計測することを特徴としている。
請求項3に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置ヘサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面データを受信するクライアント装置であって、前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、画面データを前記サーバ装置から受信して表示する画面データ表示手段と、を備えたことを特徴としている。
請求項4に記載のクライアント装置は、前記請求項3に記載のクライアント装置において、前記テスト描画手段が前記サーバ装置へ送信する前記実行終了を示すデータは、実行に要した時間を示す時間データを含むことを特徴としている。
請求項5に記載のサーバベースコンピューティングシステムは、プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、前記クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、前記サーバ装置は、前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、を備え、前記クライアント装置は、前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、画面データを前記サーバ装置から受信して表示する画面データ表示手段と、を備えたことを特徴としている。
請求項6に記載のプログラムは、サーバ装置のコンピュータを、クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段、描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段、この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段、として機能させることを特徴としている。
請求項7に記載のプログラムは、クライアント装置のコンピュータを、サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段、画面データを前記サーバ装置から受信して表示する画面データ表示手段、として機能させることを特徴としている。
本発明によれば、サーバ装置が画面データをクライアント装置へ送信する前に予めクライアント装置の描画能力をテストし、そのテスト結果に従って描画方法を決定することで、決定した描画方法で画面データを送信することが可能となり、クライアント装置の描画速度を向上することができる。
以下、本発明を実施するための形態を図面を参照して説明する。
図1は、本発明の一実施形態に係るSBCシステムのネットワーク構成例を示す図である。
このSBCシステムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置(SBCサーバ装置)100及び複数のクライアント装置(シンクライアント端末装置)200を備える。なお、前記クライアント装置200としては、例えばデスクトップタイプ、ラップトップタイプ、ノートタイプ、携帯端末タイプなど、様々なタイプがある。
このSBCシステムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置(SBCサーバ装置)100及び複数のクライアント装置(シンクライアント端末装置)200を備える。なお、前記クライアント装置200としては、例えばデスクトップタイプ、ラップトップタイプ、ノートタイプ、携帯端末タイプなど、様々なタイプがある。
本SBCシステムは、クライアント装置200からのリモート操作によりサーバ装置100側で所望のアプリケーションプログラムを起動実行させるようにしたシンクライアントシステムである。SBCシステムでは、クライアント装置200のユーザ操作に応じたキー出力信号やマウス出力信号などの入力情報が、その発生の都度入力操作データ(イベント信号)としてサーバ装置100へ送信される。そしてサーバ装置100では、前記クライアント装置200からのイベント信号に応じたアプリケーションプログラム(テキスト作成処理プログラム,Webブラウザプログラム,表計算処理プログラム,メール処理プログラム,等)を実行させて処理を行い、この処理に伴って生成された表示用の画面データを画面更新情報としてその描画更新の都度クライアント装置200へ転送して、クライアント装置200の表示装置に画面表示させる。
つまり、本SBCシステムにおける各クライアント装置200は、何れもキーボードやマウスなどのユーザ操作に応じた入力機能と表示装置(携帯端末タイプ以外のタイプではプリンタなども含む)への出力機能を主要な機能として有し、少なくとも前記サーバ装置100が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。そして、クライアント装置200からの操作入力(入力イベント)の入力操作データに応じてサーバ装置100にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置100内あるいは該サーバ装置100にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
図2は、前記サーバ装置100のハードウェア構成例を示すブロック図である。
サーバ装置100は、コンピュータとしてのCPU101を備え、このCPU101には、バス102を介して、ROM103、RAM104、VRAM105、表示制御装置106、キーボード,マウスなどの入力装置107、外部記憶装置108、クライアント装置200との通信制御装置109が接続される。また、表示制御装置106には、液晶ディスプレイ等の表示装置110が接続されている。
サーバ装置100は、コンピュータとしてのCPU101を備え、このCPU101には、バス102を介して、ROM103、RAM104、VRAM105、表示制御装置106、キーボード,マウスなどの入力装置107、外部記憶装置108、クライアント装置200との通信制御装置109が接続される。また、表示制御装置106には、液晶ディスプレイ等の表示装置110が接続されている。
CPU101は、ROM103に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM104を作業用メモリとし回路各部の動作を制御するもので、入力装置107からのキー入力信号や通信制御装置109を介して受信されるクライアント装置200からのユーザ操作に応じた処理指令(入力イベント)の入力操作データなどに応じて前記種々のプログラムが起動・実行される。
このサーバ装置100において、クライアント装置200からの入力操作データに応じて起動・実行されるアプリケーションプログラムに従って生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶装置108に記憶され、また、クライアント装置200での表示用の画面データは、RAM104内にクライアント装置200毎に設けられたクライアント用VRAM104Aを使用して、表示画面そのものの画像(以下、イメージと称する)として生成されて、通信制御装置109からクライアント装置200へ転送されて表示出力される。この場合、CPU101により描画イメージを圧縮処理することで、転送データ量を削減する。あるいは、描画イメージそのものではなくて、例えば座標Aから座標Bへ直線を引けというような描画コマンドとして送信することで、更に転送データ量を削減できる。なお、当該サーバ装置100自身の表示装置110にて表示させるための画面データは、VRAM105上に生成され、表示制御装置106の制御の下に表示装置110に表示される。
また、前記ROM103にはさらに、クライアント装置200の描画能力をテストし、そのテスト結果に従って描画方法を決定することで、決定した描画方法で画面データを送信するための、詳細を後述する本発明の一実施形態に係るサーバ装置100のプログラムが記憶され、前記RAM104にはさらに、そのための管理テーブルなどが記憶される。なお、前記ROM103は、書き替え可能なフラッシュメモリによって構成しても良く、その場合には管理テーブルなどを前記ROM103に記憶するようにしても構わない。
図3は、前記RAM104(又はフラッシュメモリで構成したROM103)内にクライアント装置200毎に記憶された描画時間管理テーブル104Bの一例を示す図である。
この描画時間管理テーブル104Bは、クライアント装置200の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するためのものである。例えば、クライアント装置200がサーバ装置100に接続された際に、描画の種類が登録され、詳細は後述するような描画能力テストを実行することで、描画コマンドを解釈して画面を描画するコマンド描画の描画時間と描画イメージを展開して画面を描画するイメージ描画の描画時間とが計測されて、それぞれ登録される。そして、その登録された描画時間を比較した結果、描画時間が短くて済む方の描画方法が選択されて、判定欄に登録される。ここで、「0」はコマンド描画、「1」はイメージ描画が選択されたことを示している。
また、図4は、前記クライアント装置200のハードウェア構成例を示すブロック図である。
クライアント装置200は、コンピュータとしてのCPU201を備え、このCPU201には、バス202を介してROM203、RAM204、VRAM205、描画処理装置206、表示制御装置207、入力装置208、通信制御装置209が接続される。また、表示制御装置207には、液晶ディスプレイ等の表示装置210が接続されている。
クライアント装置200は、コンピュータとしてのCPU201を備え、このCPU201には、バス202を介してROM203、RAM204、VRAM205、描画処理装置206、表示制御装置207、入力装置208、通信制御装置209が接続される。また、表示制御装置207には、液晶ディスプレイ等の表示装置210が接続されている。
CPU201は、ROM203に予め記憶されているシステムプログラムに従ってRAM204を作業用メモリとし回路各部の動作を制御するもので、入力装置208からのキー入力信号、通信制御装置209を介して受信されるサーバ装置100からのアプリケーション応答信号や画面データなどに応じて前記システムプログラムが起動され実行される。
前記サーバ装置100におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、前記サーバ装置100の外部記憶装置108に記憶されると共に、適宜、表示用の画面データとしてこのクライアント装置200に転送されて来る。そして、このクライアント装置200において、画面データが描画イメージであれば、その圧縮が解凍されてVRAM205に書き込まれ、表示制御装置207の制御の下、表示装置210で表示出力される。また、画面データが描画コマンドであれば、描画処理装置206にてその描画コマンドを解釈して、VRAM205上にその指示された画像を生成することで、表示制御装置207の制御の下、表示装置210で表示出力される。なお、クライアント装置200の種類によっては、描画処理装置206を搭載していないものもある。そのような機種では、CPU201が描画コマンドを解釈して、VRAM205上にその指示された画像を生成することとなる。
また、前記ROM203にはさらに、当該クライアント装置200の描画能力をテストし、そのテスト結果に従って描画方法を決定することで、決定した描画方法で画面データを送信するための、詳細を後述する本発明の一実施形態に係るクライアント装置200のプログラムが記憶される。
次に、前記構成のSBCシステムの動作について説明する。
図5は、描画能力テスト時のサーバ装置100とクライアント装置200のシーケンスの一例を示す図である。
図5は、描画能力テスト時のサーバ装置100とクライアント装置200のシーケンスの一例を示す図である。
まず、クライアント装置200がサーバ装置100と認証作業を行い、接続を確立する。即ち、クライアント装置200からサーバ装置100に対して接続要求を送信し、例えばユーザID、パスワードによるユーザ認証作業を行って、認証結果がOKであれば、接続を確立する。接続確立後にクライアント装置200側の表示装置210にオープニング表示の2Dグラフィック表示を行う。
その2Dグラフィック表示で、本発明の描画能力テストを行う。
まず、サーバ装置100は、描画能力テストの開始をクライアント装置200に通知し、描画コマンドや描画イメージを転送し、描画時間計測を始める。クライアント装置200は、そのサーバ装置100からの描画コマンド又は描画イメージに応じたテスト描画処理を実行し、処理が終了したならば、テスト描画終了をサーバ装置100へ通知する。サーバ装置100では、クライアント装置200からのテスト描画終了通知で時間計測を停止して、描画時間を当該クライアント装置200用の描画時間管理テーブル104Bに記憶する。
まず、サーバ装置100は、描画能力テストの開始をクライアント装置200に通知し、描画コマンドや描画イメージを転送し、描画時間計測を始める。クライアント装置200は、そのサーバ装置100からの描画コマンド又は描画イメージに応じたテスト描画処理を実行し、処理が終了したならば、テスト描画終了をサーバ装置100へ通知する。サーバ装置100では、クライアント装置200からのテスト描画終了通知で時間計測を停止して、描画時間を当該クライアント装置200用の描画時間管理テーブル104Bに記憶する。
この描画時間の計測を、図3に示すような描画時間管理テーブル104Bに登録された複数種類の描画それぞれについて実施する。
そして、描画時間管理テーブル104Bに登録された全種類の描画についての処理が終了したならば、サーバ装置100からクライアント装置200に描画テスト終了を通知する。この描画テスト終了通知の受信に応じて、クライアント装置200は、ユーザによる通常の操作を受け付る状態となる。
一方、サーバ装置100では、各描画の種類に関して前記描画時間管理テーブル104Bに記憶した描画時間を比較して、描画能力を判定し、その判定結果を描画時間管理テーブル104Bに書き込む。このように、描画能力の判定を描画の全種類の描画時間計測後に一括して行うようにすることで、クライアント装置200を描画テスト状態から早く開放することができる。
次に、この描画能力テストの詳細を説明する。
図6は、サーバ装置100のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図であり、図7は、クライアント装置200のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図である。
図6は、サーバ装置100のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図であり、図7は、クライアント装置200のプログラムにおける描画能力テストに係わる動作を説明するためのフローチャートを示す図である。
ユーザ認証が終了してクライアント装置200との接続が確立すると、サーバ装置100のCPU101は、まず、描画テスト開始通知を通信制御装置109を介してクライアント装置200に通知する(ステップS101)。そして、コマンド描画の能力をテストする。即ち、描画時間管理テーブル104Bに従って、一つの種類の描画に関する描画コマンドを画面データとして通信制御装置109を介してクライアント装置200に送信して、通信制御装置109を介してクライアント装置200からテスト描画終了が送信されて来るまでの時間を計測するための図示しないタイマをスタートさせる(ステップS102)。
即ち、クライアント装置200のCPU201は、ユーザ認証が終了してサーバ装置100との接続が確立すると、表示装置210にオープニング表示の2Dグラフィック表示を行わせた後、サーバ装置100からの描画テスト開始通知が送信されてくるのを待っている(ステップS201)。そして、描画テスト開始通知に応じて描画能力テスト処理が開始されたならば、サーバ装置100から送信されてくる画面データを通信制御装置209を介して受信し、その受信した画面データが描画コマンドであるのか、描画イメージであるのかを判断する(ステップS202)。ここで、描画コマンドを受信した場合には、描画処理装置206にその描画コマンドを渡し、描画コマンドに従った描画処理を行わせて、或いは、該描画処理装置206を持たない場合にはCPU201が当該描画コマンドに従った描画処理を行って、対応するイメージをVRAM205に書き込むことで、表示制御装置207を介して表示装置210に表示する(ステップS203)。そして、描画処理が終了したならば、通信制御装置209を介してサーバ装置100にテスト描画終了を送信する(ステップS204)。その後、通信制御装置209を介してサーバ装置100より描画テスト終了通知を受信したか否かを判別し(ステップS205)、未だ受信していない場合には、前記ステップS202に戻る。
サーバ装置100のCPU101においては、通信制御装置109を介して前記テスト描画終了を受信すると、前記不図示タイマを停止して、該タイマによって計測された前記描画コマンドを送信してから該テスト描画終了を受信するまでの時間を、クライアント装置200での当該描画コマンドの描画時間として、描画時間管理テーブル104Bに書き込む(ステップS103)。
次に、イメージ描画の能力をテストする。即ち、描画時間管理テーブル104Bに従って、一つの種類の描画に関する描画コマンドを画面データとして通信制御装置109を介してクライアント装置200に送信して、通信制御装置109を介してクライアント装置200からテスト描画終了が送信されて来るまでの時間を計測するため図示しないタイマをスタートさせる(ステップS104)。
クライアント装置200のCPU201は、サーバ装置100から送信されてくる画面データを通信制御装置209を介して受信し、その受信した画面データが描画コマンドであるのか、描画イメージであるのかを判断する(ステップS202)。ここで、描画イメージを受信した場合には、その圧縮を解凍してVRAM205に書き込む描画処理を行うことで、表示制御装置207を介して表示装置210に表示する(ステップS206)。そして、描画処理が終了したならば、通信制御装置209を介してサーバ装置100にテスト描画終了を送信する(ステップS204)。その後、通信制御装置209を介してサーバ装置100より描画テスト終了通知を受信したか否かを判別し(ステップS205)、未だ受信していない場合には、前記ステップS202に戻る。
サーバ装置100のCPU101においては、通信制御装置109を介して前記テスト描画終了を受信すると、前記不図示タイマを停止して、該タイマによって計測された前記描画コマンドを送信してから該テスト描画終了を受信するまでの時間を、クライアント装置200での当該描画イメージの描画時間として、描画時間管理テーブル104Bに書き込む(ステップS105)。次に、描画時間管理テーブル104Bに、未処理の描画の種類が存在するか否かを判別することで、描画テストを終了するか否かを判別する(ステップS106)。未処理の描画種類が存在すれば、描画テストの対象を描画時間管理テーブル104Bの次の行に進めて(ステップS107)、前記ステップS102に戻る。これは、描画の種類によって、コマンド描画の能力とイメージ描画の能力が異なるからである。即ち、クライアント装置200においては、ある種の描画についてはコマンド描画よりもイメージ描画の方が高速に描画することできるが、別の種類の描画では逆にイメージ描画の方が速いという場合がある。そこで、複数種類の描画それぞれについて、描画時間を計測するようにしている。
こうして、描画時間管理テーブル104Bに登録された全ての種類の描画のテストが終了したならば(ステップS106)、サーバ装置100のCPU101は、描画テスト終了通知を通信制御装置109を介してクライアント装置200に送信する(ステップS108)。
クライアント装置200のCPU201は、サーバ装置100から送信されてくる描画テスト終了装置を通信制御装置209を介して受信したならば(ステップS205)、この描画能力テストに係わる動作を終了して、ユーザからの操作が受け付けられるようになる。
一方、サーバ装置100のCPU101は、前記描画テスト終了通知の送信後、描画時間管理テーブル104Bにおける各描画の種類毎に、書き込まれた描画コマンドの描画時間と描画イメージの描画時間とを比較して、短い方を判定する(ステップS109)。例えば、図3のような結果から、「斜め線描画」の処理の場合には、コマンド描画で処理した方が速いと判断する。「回転」の処理の場合には、サーバ装置100側でイメージを回転し、生成されたイメージをクライアント装置200に送った方が処理が速い判断する。また、「直線描画」の処理のように、同じ描画時間の場合には、クライアント装置200へ送信するデータ量の少ないコマンド描画で処理した方が、データ送信時間が短くなるので、高速であると判断する。
このように描画の種類毎に判定し、結果を示す符号(0;1)を書き込むことで描画時間管理テーブル104Bを更新して(ステップS110)、この描画能力テストに係わる動作を終了する。
ここで、前記コマンド描画とイメージ描画について、説明する。
図8は、前記描画能力テストに使用するコマンド描画とイメージ描画の一例として、斜め斜線の描画を説明するための図である。コマンド描画では、例えば、図8(A)のように始点(x0,y0)から終点(x1,y1)へ線を描く場合、始点及び終点と、その間に線を描け、という描画コマンドをクライアント装置200へ送信することとなる。これに対して、イメージ描画では、図8(B)のような座標(x0,y0)の縦z0、横z1の点線で囲まれたような斜め線の描画イメージを作成し、その描画イメージを圧縮してクライアント装置200へ送信することとなる。
図8は、前記描画能力テストに使用するコマンド描画とイメージ描画の一例として、斜め斜線の描画を説明するための図である。コマンド描画では、例えば、図8(A)のように始点(x0,y0)から終点(x1,y1)へ線を描く場合、始点及び終点と、その間に線を描け、という描画コマンドをクライアント装置200へ送信することとなる。これに対して、イメージ描画では、図8(B)のような座標(x0,y0)の縦z0、横z1の点線で囲まれたような斜め線の描画イメージを作成し、その描画イメージを圧縮してクライアント装置200へ送信することとなる。
また、図9は、別の例として、円描画を説明するための図である。コマンド描画では、例えば図9(A)のような座標(x2,y2)で半径zの円を描く場合、座標と半径と円を描け、という描画コマンドをクライアント装置200へ送信する。これに対して、イメージ描画では、図9(B)のような座標(x3,y3)の縦z0、横z1の点線で囲まれたような円の描画イメージを作成し、その描画イメージを圧縮してクライアント装置200へ送信する。
図10は、更に別の例として、移動描画を説明するための図である。コマンド描画では、例えば図10(A)のような既に描画されている座標(x4,y4)での縦z0、横z1の山のイメージを座標(x5,y5)に移動しろ、という描画コマンドをクライアント装置200へ送信する。これに対して、イメージ描画では、図10(B)のような座標(x5,y5)の縦z0、横z1の山の描画イメージを作成し、その描画イメージをクライアント装置200へ送信する。
以上のようにして、クライアント装置200の描画能力をテストし、テスト結果を描画時間管理テーブル104Bに書き込んでおく。そして、サーバ装置100において、クライアント装置200のユーザ操作に応じた処理を行い、この処理に伴って生成された表示用の画面データをクライアント装置200へ転送する際に、前記描画時間管理テーブル104Bに記憶された結果を読み出し、実行形態を決定する。
図11は、画面データ転送時のサーバ装置100とクライアント装置200の動作を説明するための機能ブロック図であり、図12は、画面データ転送時のサーバ装置100とクライアント装置200のシーケンスの一例を示す図である。以下、これらの図を参照して、実際のユーザの操作から表示するまで動作を説明する。
クライアント装置200は、マウス221のユーザ操作によって動作を検出し、I/Oドライバ222が座標を検出する。その座標データを、コントローラ223が、例えばSBC独自プロトコルに従って生成する。また、ネットワークドライバ224でTCP/IPなどのプロトコルに従ったデータを生成する。そして、それをLANなどの通信ネットワークNでサーバ装置100へ送信する。
それを受け取ったサーバ装置100は、ネットワークドライバ121でTCP/IPなどのプロトコルに従ったデータを解析し、コントローラ122でSBC独自プロトコルを解析する。コントローラ122は、その結果がマウス操作であると判断し、OS123は、アプリケーション処理であれば、そのマウス操作をアプリケーション124へ伝える。アプリケーション124は、マウス操作から処理を実行する。実行した結果、表示が変更する場合、アプリケーション124は、表示変更の内容をコマンド又はイメージでディスプレイドライバ125へ命令する。
命令を受けたディスプレイドライバ125は、コマンドの場合には、描画時間管理テーブル104Bに記憶されている描画テストの結果を参照して、コマンド描画とするかイメージ描画とするかを決定する。イメージ描画の場合には、前記コマンドを描画イメージに変換して画面データとする。コマンド描画の場合は、そのままのコマンドを画面データとする。
こうして作成した画面データをコントローラ122でSBC独自プロトコルに従って加工する。そして、ネットワークドライバ121でTCP/IPなどのプロトコルに従ったデータを生成し、それをLANなどの通信ネットワークNでクライアント装置200へ送信する。
それを受け取ったクライアント装置200は、ネットワークドライバ224でTCP/IPなどのプロトコルに従ったデータを解析し、コントローラ223SBC独自プロトコルを解析して、解析した画面データを判別する。画面データが描画イメージであれば、ディスプレイドライバでグラフィックボード226上のVRAM205へ書き込み、表示装置210に表示する。また、画面データが描画コマンドであったならば、ディスプレイドライバ225でイメージにしてグラフィックボード226上のVRAM205へ書き込むか、又は、専用の描画処理装置206を備えるクライアント装置200では該描画処理装置206を用いてグラフィックボード226上のVRAM205へ書き込み、表示装置210に表示する。
次に、この実際のユーザの操作から表示するまで動作の詳細を説明する。
図13は、サーバ装置100のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図であり、図14は、クライアント装置200のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図である。
図13は、サーバ装置100のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図であり、図14は、クライアント装置200のプログラムにおける画面データ転送に係わる動作を説明するためのフローチャートを示す図である。
サーバ装置100は、図6を参照して説明したような描画能力テストに係わる動作を終了すると、通信制御装置109を介してクライアント装置200からの入力操作データの受信待ちとなっている(ステップS121)。
一方、クライアント装置200においても、図7を参照して説明したような描画能力テストに係わる動作を終了すると、入力装置208の入力操作待ちとなっている(ステップS221)。そして、入力操作があると、クライアント装置200のCPU201は、その入力操作に応じた入力操作データを生成して(ステップS222)、通信制御装置209を介してサーバ装置100へそれを送信する(ステップS223)。その後は、通信制御装置209を介してサーバ装置100から画面データを受信するのを待つ(ステップS224)。
サーバ装置100のCPU101は、通信制御装置109を介して入力操作データを受信すると(ステップS121)、その受信した入力操作データを解析して(ステップS122)、その内容に従ってアプリケーションを実行する(ステップS123)。そして、そのアプリケーションの実行の結果、表示画面に変更が生じる場合には、変更後の表示画面をクライアント用VRAM104Aに生成し、変更箇所の描画の種類に対応する判定結果を描画時間管理テーブル104Bより読み出す(ステップS124)。
ここで、その読み出した判定結果が、当該描画の種類では、描画コマンドを送った方がクライアント装置200において早く表示が完了するということを示す場合には(ステップS125)、描画コマンドの画面データを生成して(ステップS127)、生成した画面データを通信制御装置109を介してクライアント装置200に送信する(ステップS127)。これに対して、読み出した判定結果が、当該描画の種類では、描画イメージを送った方がクライアント装置200において早く表示が完了するということを示す場合には(ステップS125)、描画イメージの画面データを生成して(ステップS128)、生成した画面データを通信制御装置109を介してクライアント装置200に送信する(ステップS127)。その後は、前記ステップS121に戻って、次の入力操作データの受信待ちとなる。
このようにして送信された画面データを通信制御装置209を介して受信すると(ステップS224)、クライアント装置200のCPU201は、その受信した画面データが描画コマンドの画面データであるか否かを判別し(ステップS225)、そうであれば、該CPU201が又は描画処理装置206にてその描画コマンドにより描画してVRAM205に画面データを生成し、表示制御装置207を介して表示装置210に表示する(ステップS226)。これに対して、描画イメージの画面データを受信した場合には(ステップS225)、その描画イメージによりVRAM205に画面データを描画し、表示制御装置207を介して表示装置210に表示する(ステップS227)。その後は、前記ステップS221に戻って、次の入力操作待ちとなる。
以上のように、クライアント装置200によっては、描画処理専用ハードウェアである描画処理装置206を搭載していないなどの理由で描画コマンドの処理が不得意な場合があるが、本一実施形態によれば、各描画コマンドが得意か、不得意を事前にテストして処理能力を把握しておいて、不得意な処理は描画コマンドではなくて描画イメージを転送することでクライアント装置200の表示の処理速度を向上することができる。
なお、前記一実施形態において記載したSBCシステムによる各処理の手法、即ち、図6及び図13のフローチャートに示すサーバ装置100による処理及び図7及び図14のフローチャートに示すクライアント装置200による処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、サーバ装置100やクライアント装置200のコンピュータ(CPU101,201)は、この外部記憶装置の記憶媒体に記憶されたプログラムをRAM104,204に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記一実施形態において説明した描画能力テスト及びその結果に応じた画面データ転送機能を実現し、前述した手法による同様の処理を実行することができる。
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワークN上を伝送させることができ、前記のプログラムデータを、この通信ネットワークNに接続されたコンピュータ装置(プログラムサーバ)から取り込んでROM(フラッシュメモリ)に記憶させてRAM104,204に読み込み、あるいは直接RAM104,204に取り込んで記憶させ、前述した描画能力テスト及び画面データ転送機能を実現することもできる。
更に、前記一実施形態では、描画時間管理テーブル104Bに記憶する描画時間を、サーバ装置100に設けた図示しないタイマによって画面データの送信からテスト描画終了を受信するまでの時間を計測することで求めているが、タイマをサーバ装置100側ではなくクライアント装置200側に設けても良い。この場合には、クライアント装置200側で、画面データの受信からテスト描画終了までの時間を計測し、テスト描画終了の通知と共にその計測した描画時間をサーバ装置100側に通知することで、それを描画時間管理テーブル104Bに記憶すれば良い。このようにすれば、同時に複数のクライアント装置200に対して描画能力テストを実施しなければならない場合に、個々のクライアント装置200に対するタイマを並行して走らせる必要がないので、誤測定の可能性は無く、サーバ装置100の処理能力の浪費が防げ、真に必要とされるクライアント装置200の入力操作に応じた処理にその処理能力を有効に利用できる。
また、前記一実施形態は、SBCシステムを例に説明したが、SBCシステムに限らず、他の実装方式によるシンクライアントシステム、更には、一般的なサーバクライアントシステムにも適用することが可能である。
なお、本願発明は、前記一実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記一実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、一実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
100…サーバ装置
101,201…CPU
102,202…バス
103,203…ROM
104,204…RAM
104A…クライアント用VRAM
104B…描画時間管理テーブル
105,205…VRAM
106,207…表示制御装置
107,208…入力装置
108…外部記憶装置
109,209…通信制御装置
110,210…表示装置
121,224…ネットワークドライバ
122,223…コントローラ
123…OS
124…アプリケーション
125,225…ディスプレイドライバ
200…クライアント装置
206…描画処理装置
221…マウス
222…I/Oドライバ
226…グラフィックボード
N…通信ネットワーク
101,201…CPU
102,202…バス
103,203…ROM
104,204…RAM
104A…クライアント用VRAM
104B…描画時間管理テーブル
105,205…VRAM
106,207…表示制御装置
107,208…入力装置
108…外部記憶装置
109,209…通信制御装置
110,210…表示装置
121,224…ネットワークドライバ
122,223…コントローラ
123…OS
124…アプリケーション
125,225…ディスプレイドライバ
200…クライアント装置
206…描画処理装置
221…マウス
222…I/Oドライバ
226…グラフィックボード
N…通信ネットワーク
Claims (7)
- ネットワークを介したクライアント装置からのサービス要求に基づいてプログラムを動作させ、前記サービス要求に対応する画面データを前記クライアント装置へ送信するサーバ装置であって、
前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、
前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、
描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、
この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、
を備えたことを特徴とするサーバ装置。 - 前記描画時間計測手段は、前記クライアント装置より前記実行終了を示すデータとして、実行に要した時間を示す時間データを受信し、該時間データによって描画終了までの描画時間を計測することを特徴とする請求項1に記載のサーバ装置。
- ネットワークを介して接続されたサーバ装置ヘサービス要求を行い、そのサービス要求に対応したプログラムの動作に従った画面データを受信するクライアント装置であって、
前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、
画面データを前記サーバ装置から受信して表示する画面データ表示手段と、
を備えたことを特徴とするクライアント装置。 - 前記テスト描画手段が前記サーバ装置へ送信する前記実行終了を示すデータは、実行に要した時間を示す時間データを含むことを特徴とする請求項3に記載のクライアント装置。
- プログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、前記クライアント装置からのサービス要求に基づいてプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、
前記サーバ装置は、
前記クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを記憶する記憶手段と、
前記描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段と、
描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段と、
この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段と、
を備え、
前記クライアント装置は、
前記サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段と、
画面データを前記サーバ装置から受信して表示する画面データ表示手段と、
を備えたことを特徴とするサーバベースコンピューティングシステム。 - サーバ装置のコンピュータを、
クライアント装置の描画の種類に対応したコマンド描画の描画時間とイメージ描画の描画時間とを管理するための描画時間管理テーブルを参照しながら、前記クライアント装置へ描画の種類毎にコマンド描画とイメージ描画を指示し、実行終了を示すデータを受信することにより描画終了までの描画時間を計測する描画時間計測手段、
描画時間から前記クライアント装置に適した描画方法を判定する描画方法判定手段、
この描画方法判定手段により判定された描画方法に従って、前記サービス要求に対応する画面データを前記クライアント装置へ送信する画面データ送信手段、
として機能させるためのプログラム。 - クライアント装置のコンピュータを、
サーバ装置から描画の種類毎にコマンド描画とイメージ描画を指示された際に、そのコマンド描画とイメージ描画を実行し、実行終了を示すデータを前記サーバ装置へ送信するテスト描画手段、
画面データを前記サーバ装置から受信して表示する画面データ表示手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009100238A JP2010250615A (ja) | 2009-04-16 | 2009-04-16 | サーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009100238A JP2010250615A (ja) | 2009-04-16 | 2009-04-16 | サーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010250615A true JP2010250615A (ja) | 2010-11-04 |
Family
ID=43312859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009100238A Withdrawn JP2010250615A (ja) | 2009-04-16 | 2009-04-16 | サーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010250615A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2461259A2 (en) | 2010-11-09 | 2012-06-06 | Sony Corporation | Information processing device and method, information processing system, and program |
JP2013065155A (ja) * | 2011-09-16 | 2013-04-11 | Konica Minolta Business Technologies Inc | 通信システム、通信装置およびプログラム |
WO2014077307A1 (ja) * | 2012-11-15 | 2014-05-22 | 日本電気株式会社 | サーバ装置、端末、シンクライアントシステム、画面送信方法およびプログラム |
JP2015161959A (ja) * | 2014-02-26 | 2015-09-07 | 三菱電機株式会社 | 地図表示システム |
-
2009
- 2009-04-16 JP JP2009100238A patent/JP2010250615A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2461259A2 (en) | 2010-11-09 | 2012-06-06 | Sony Corporation | Information processing device and method, information processing system, and program |
JP2013065155A (ja) * | 2011-09-16 | 2013-04-11 | Konica Minolta Business Technologies Inc | 通信システム、通信装置およびプログラム |
WO2014077307A1 (ja) * | 2012-11-15 | 2014-05-22 | 日本電気株式会社 | サーバ装置、端末、シンクライアントシステム、画面送信方法およびプログラム |
JP5983761B2 (ja) * | 2012-11-15 | 2016-09-06 | 日本電気株式会社 | サーバ装置、端末、シンクライアントシステム、画面送信方法およびプログラム |
JP2015161959A (ja) * | 2014-02-26 | 2015-09-07 | 三菱電機株式会社 | 地図表示システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2420797C2 (ru) | Предоставление возможности применения команды изменения графического окна к дистанционно сгенерированному графическому окну | |
WO2017124842A1 (zh) | 一种截图的方法及装置 | |
KR101636552B1 (ko) | 화상형성장치와 연결되는 호스트장치, 서버 및 그 인쇄방법 | |
JP2011118662A (ja) | シンクライアント型の情報処理システム | |
KR20140074291A (ko) | 웨이크 패턴 관리 기법 | |
WO2014015732A1 (zh) | 一种终端能力描述信息的生成方法及系统 | |
JP2011066485A (ja) | プロジェクタ、プロジェクタシステム、制御方法、及び制御プログラム | |
US20160062780A1 (en) | Pausing virtual machine based on idle state | |
JP2010250615A (ja) | サーバ装置、クライアント装置、サーバベースコンピューティングシステム及びプログラム | |
CN106027631B (zh) | 一种数据传输方法及装置 | |
JP2009217321A (ja) | 情報処理装置及び情報処理プログラム | |
JPH10312370A (ja) | 省電力機能を有するネットワークシステム | |
CN114217900A (zh) | 一种远程控制方法、装置、系统、计算设备及存储介质 | |
JP2015170242A (ja) | 中継プログラム、中継方法、および中継装置 | |
CN110795156B (zh) | 移动存储器加载方法、瘦客户端、存储介质及装置 | |
WO2016095449A1 (zh) | 一种虚拟桌面的显示方法、终端和存储介质 | |
JP6285579B2 (ja) | ロングポーリング処理方法およびシステム、並びに記録媒体 | |
JP4425321B1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2010055189A (ja) | サーバベース・コンピューティング・システムのサーバ装置、クライアント装置、サーバ制御プログラム及びクライアント制御プログラム | |
JP2008191926A (ja) | ブラウザの処理時間管理方法 | |
JP5546930B2 (ja) | シャットダウン制御システム | |
JP2015114878A (ja) | 通信装置、通信制御方法、プログラム及び記憶媒体 | |
US20090070335A1 (en) | System and method for web processing monitoring | |
JP2011100178A (ja) | シンクライアントシステムにおけるシステム起動及び終了方法 | |
TWI706645B (zh) | 遠端喚醒方法以及遠端喚醒系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120703 |