端末装置およびプログラム
【課題】SBCシステムにおいて、ポインタの移動に伴う通信頻度を削減すること、および操作レスポンスを向上することが可能になるクライアント装置を提供する。
【解決手段】クライアント装置20からサーバ装置10への入力イベントに応じた表示用描画データGが生成されると、当該描画データGに含まれるオブジェクトの領域情報にポインタIDを関係付けて記述したオブジェクト領域テーブル24bが生成され、前記描画データGと共にクライアント装置20へ送信される。クライアント装置20において、前記入力イベントに応じた描画データGが受信されて表示された状態でポインタPを移動させると、当該ポインタPの移動位置に対応したオブジェクト領域におけるポインタIDが前記オブジェクト領域テーブル24bから判断され、当該ポインタIDに対応する形状のポインタデータPnがポインタ形状テーブル24aから読み出され、移動後のポインタ位置に描画され表示される。
【解決手段】クライアント装置20からサーバ装置10への入力イベントに応じた表示用描画データGが生成されると、当該描画データGに含まれるオブジェクトの領域情報にポインタIDを関係付けて記述したオブジェクト領域テーブル24bが生成され、前記描画データGと共にクライアント装置20へ送信される。クライアント装置20において、前記入力イベントに応じた描画データGが受信されて表示された状態でポインタPを移動させると、当該ポインタPの移動位置に対応したオブジェクト領域におけるポインタIDが前記オブジェクト領域テーブル24bから判断され、当該ポインタIDに対応する形状のポインタデータPnがポインタ形状テーブル24aから読み出され、移動後のポインタ位置に描画され表示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバベース・コンピューティング・システムのクライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラムに関する。
【背景技術】
【0002】
従来のサーバ・クライアント・システムにおいて、例えばクライアント装置からのリモート操作によりサーバ装置側で所望のアプリケーションプログラムを起動実行させるサーバベース・コンピューティング・システム(SBC;Server Based Computing system)がある。このSBCシステムでは、クライアント装置の操作入力に応じてサーバ装置側で処理され更新される表示用の描画データが、該サーバ装置からその描画更新の都度クライアント装置へと送信転送されて表示される。これによりクライアント装置は、表示や入力など最低限の機能のみを持てば良く、アプリケーションなどの資源はサーバ装置で一元管理するものである。
【0003】
このようにSBCシステムは、サーバ装置上でアプリケーションプログラムが実行されるので、クライアント装置の性能が低い場合にも高機能なコンピューティング環境を実現可能である。
【0004】
一方でSBCシステムは、クライアント装置からの要求に応じた表示用の描画データが、サーバ装置により生成あるいは取得されて前記クライアント装置へと転送されて表示されるものである。このため、前記描画データが更新される都度そのクライアント装置への転送処理が生じていたのでは、通信頻度やそのデータ量も多くなり、クライアント装置から見た描画更新の操作レスポンスも改善し難いものである。
【0005】
特に、カーソルキーやマウスによるポインタの移動操作に伴い、当該ポインタの表示位置および形状の変更要求が連続的に発生する場合には、サーバ装置への当該ポインタ表示位置の変更要求送信処理と、これに応じてサーバ装置によりポインタの表示位置や形状が更新された描画データのクライアント装置への応答送信処理とが連続的に繰り返されるので、通信頻度は激増しポインタ表示の操作レスポンスも悪くなる。
【0006】
従来のSBCシステムにおいて、シンクライアント端末とサーバ装置との間にゲートウエイを設け、このゲートウエイに、シンクライアント端末からサーバ装置に対して行われる操作要求を特定条件が満たされるまで保存する。そして、特定条件が満たされた後に、この保存された操作要求をサーバ装置に対して行うことで(特定条件が満たされるまでサーバ装置にクライアント端末の操作イベントを通知しない)、シンクライアント端末とサーバ装置とが通信できない状態になりセッションが異常になっても動作を保証するシステムが考えられている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−171063号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記従来のSBCシステムでは、特定条件が満たされるまでサーバ装置にクライアント端末の操作イベントを通知しないように制御することで、サーバ装置との通信頻度の削減が期待できる。
【0009】
しかしながら、カーソルキーやマウスの操作に伴いリアルタイムにポインタの描画更新を要する制御に適用し、通信頻度やそのデータ量の削減、操作レスポンスの向上を期待することはできない。
【0010】
本発明は、このような課題に鑑みなされたもので、SBCシステムにおいて、ポインタの移動に伴う通信頻度を削減すること、および操作レスポンスを向上することが可能になるクライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
請求項1に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置であって、ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、前記画面情報を表示する表示手段と、ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段と、を備えたことを特徴としている。
【0012】
請求項2に記載のクライアント装置は、前記請求項1に記載のクライアント装置において、前記テーブル受信手段は、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報に、前記ポインタの種別情報と追加の表示情報とを関係付けたオブジェクト領域テーブルを受信し、前記オブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶された追加の表示情報を取得する追加情報取得手段と、この追加情報取得手段により取得された追加の表示情報を、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させる追加情報表示制御手段と、をさらに備えたことを特徴としている。
【0013】
請求項3に記載のサーバベース・コンピューティング・システムは、ネットワークを介して接続されたサーバ装置とクライアント装置とを有し、クライアント装置からの入力イベントに応じてサーバ装置により実行されるアプリケーションプログラムに従い生成された画面情報を前記クライアント装置へ送信して表示させるようにしたサーバベース・コンピューティング・システムであって、
前記サーバ装置は、前記画面情報に含まれるオブジェクト領域の情報とポインタの種別情報とを関係付けたオブジェクト領域テーブルを生成するテーブル生成手段と、このテーブル生成手段により生成されたオブジェクト領域テーブルを前記クライアント装置へ送信する送信手段とを備え、
前記クライアント装置は、ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、前記画面情報を表示する表示手段と、ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段とを備えた、ことを特徴としている。
【0014】
請求項4に記載のプログラムは、ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置のコンピュータを制御するためのプログラムであって、前記コンピュータを、ポインタの種別毎に当該ポインタの描画データを関係付けてメモリに記憶するポインタデータ記憶手段、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段、このテーブル受信手段により受信されたオブジェクト領域テーブルをメモリに記憶するテーブル記憶手段、前記画面情報を表示部に表示させる表示手段、この表示手段により表示された画面情報内でのユーザ操作に応じたポインタの移動位置を判断するポインタ移動判断手段、このポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段、このオブジェクト領域判断手段により判断されたポインタの移動位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段、このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応して表示させるポインタ表示制御手段、として機能させることを特徴としている。
【発明の効果】
【0015】
本発明によれば、SBCシステムにおいて、ポインタの移動に伴う通信頻度を削減すること、および操作レスポンスを向上することが可能になるクライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラムを提供できる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図。
【図2】前記SBCシステムにおけるサーバ装置10の回路構成を示すブロック図。
【図3】前記サーバ装置10のRAM14に生成されたオブジェクト領域テーブル14bの内容を示す図。
【図4】前記サーバ装置10にて生成されたオブジェクト領域テーブル14bをクライアント装置20へ送信するためのオブジェクト情報通知イベント14btのフォーマットを示す図。
【図5】前記SBCシステムにおけるクライアント装置20の回路構成を示すブロック図。
【図6】前記クライアント装置20のRAM24に生成されたポインタ形状テーブル24aの内容を示す図。
【図7】前記SBCシステムのクライアント装置20に表示される描画データG上でのポインタPの移動位置に応じた具体的なポインタ表示状態を示す図。
【図8】前記SBCシステムにおけるサーバ装置10のサーバ処理を示すフローチャート。
【図9】前記SBCシステムにおけるサーバ装置10のサーバ処理に伴う入力対応処理を示すフローチャート。
【図10】前記SBCシステムにおけるクライアント装置20のクライアント処理を示すフローチャート。
【図11】前記SBCシステムにおけるクライアント装置20のクライアント処理に伴うデータ受信処理を示すフローチャート。
【図12】前記SBCシステムにおけるクライアント装置20のクライアント処理に伴う操作イベントデータ送信処理を示すフローチャート。
【発明を実施するための形態】
【0017】
以下図面により本発明の実施の形態について説明する。
【0018】
図1は、本発明の実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図である。
【0019】
このSBCシステムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置10および複数のクライアント装置(Thin client)20,…を備える。
【0020】
サーバ装置10は、文書作成処理プログラム,表計算処理プログラム,プレゼン資料作成プログラム,メール処理プログラム,インターネット接続処理プログラム、Web表示プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置10に接続されたクライアント装置20,…からの操作入力(入力イベント)信号に応じて起動しその処理を実行する。
【0021】
このサーバ装置10において、クライアント装置20,…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント用のフレームバッファRAM14a(図2参照)上に生成された表示出力用の描画データGは、圧縮処理された後アクセス元のクライアント装置20,…へ送信(転送)される。
【0022】
そして、クライアント装置20,…では、前記サーバ装置10から転送された描画データGがその圧縮を解凍されてフレームバッファRAM25(図5参照)に展開され、表示装置26に表示される。
【0023】
つまり、このSBCシステムにおける各クライアント装置(Thin client)20,…は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置10が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
【0024】
そして、クライアント装置20,…からの操作入力(入力イベント)信号に応じてサーバ装置10にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置10内あるいは該サーバ装置10にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【0025】
図2は、前記SBCシステムにおけるサーバ装置10の回路構成を示すブロック図である。
【0026】
サーバ装置10は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してROM13、RAM14、フレームバッファRAM15、表示装置16が接続される。
【0027】
また、CPU11には、バス12を介してキーボード,マウスなどの入力装置17、外部記憶装置18、クライアント装置20,…との通信I/F(インターフェイス)19が接続される。
【0028】
CPU11は、ROM13に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM14を作業用メモリとし回路各部の動作を制御するもので、入力装置17からのキー入力信号や通信I/F19を介して受信されるクライアント装置20からのユーザ操作に応じた処理指令(入力イベント)信号などに応じて前記種々のプログラムが起動・実行される。
【0029】
このサーバ装置10において、クライアント装置20からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶装置18に記憶される。またクライアント表示用の描画データGは、RAM14内のクライアント用フレームバッファRAM14aを使用して生成されると共に、圧縮処理された後、通信I/F19からクライアント装置20へ転送されて表示出力される。
【0030】
前記クライアント用フレームバッファRAM14aに表示用の描画データGが生成されると、当該描画データGに含まれるオブジェクトの状態に変更があるか否か判断される。前記描画データGに含まれるオブジェクトの状態に変更があると判断された場合には、同描画データGに含まれるオブジェクトの領域情報にポインタPの表示情報を関係付けて記述したオブジェクト領域テーブル14b(図3参照)が生成され、所定のデータフォーマットからなるオブジェクト情報通知イベント14bt(図4参照)としてクライアント装置20へ転送される。
【0031】
なお、当該サーバ装置10自身の表示装置16にて表示させるための描画データは、フレームバッファRAM15上に生成される。
【0032】
図3は、前記サーバ装置10のRAM14に生成されたオブジェクト領域テーブル14bの内容を示す図である。
【0033】
このオブジェクト領域テーブル14bには、前記クライアント用フレームバッファRAM14aに生成された描画データGに含まれる各種オブジェクトのオブジェクトID、領域情報(XS,YS)(XE,YE)、当該オブジェクト領域内でのポインタPの形状を示すポインタID、当該オブジェクト領域内にポインタPが移動した際の追加の表示情報(ポップアップ表示/バルーン表示/色変更表示など)があるか否かを示す拡張情報フラグ、そしてこの拡張情報フラグが“ON”の場合の前記追加の表示情報が対応付けられて記述される。
【0034】
なお、前記拡張情報フラグのテーブルエリアには、対応するオブジェクト領域内にポインタPが移動したことをサーバ装置10へ通知する必要がある場合に、そのイベント送信の命令も記述される。
【0035】
図4は、前記サーバ装置10にて生成されたオブジェクト領域テーブル14bをクライアント装置20へ送信するためのオブジェクト情報通知イベント14btのフォーマットを示す図である。
【0036】
このオブジェクト情報通知イベント14btは、そのヘッダ部分に当該オブジェクト情報通知イベント14btの識別子「イベントID」および「データサイズ」が記述される。そして、データ部分には、前記生成された描画データGに含まれる各オブジェクト領域の情報毎に、その識別子「オブジェクトID」、前回送信済みの該当するオブジェクト情報に対する“追加”または“変更”または“消去”を示す「登録属性情報」、開始座標(XS,YS)と終了座標(XE,YE)を示す「領域情報」、ポインタPの形状を示す「ポインタ表示情報(ポインタID)」、前記「拡張情報フラグ」、および前記「追加表示情報」が記述される。そして、前記データ部分の先頭には、前記各オブジェクト情報の個数が記述される。
【0037】
図5は、前記SBCシステムにおけるクライアント装置20の回路構成を示すブロック図である。
【0038】
クライアント装置20は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してROM23、RAM24、フレームバッファRAM25が接続される。そして、このフレームバッファRAM25に書き込まれた描画データGが表示装置26に出力されて表示される。
【0039】
また、CPU21には、バス22を介してキーボード,マウス,マイク,光センサなどの入力装置27、外部記憶装置28、前記サーバ装置10との通信I/F(インターフェイス)29が接続される。
【0040】
CPU21は、ROM23に予め記憶されているシステムプログラムに従ってRAM24を作業用メモリとし回路各部の動作を制御するもので、入力装置27からのキー入力信号やマウス移動信号、通信I/F29を介して受信されるサーバ装置10からのアプリケーション応答信号や転送描画データGなどに応じて前記システムプログラムが起動され実行される。
【0041】
このクライアント装置20において、前記サーバ装置10におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置28に読み込ませて記憶させ、また生成転送された表示用の描画データGは、その圧縮が解凍されてフレームバッファRAM25に書き込まれ表示装置26で表示出力される。
【0042】
なお、前記作業用メモリとして機能するRAM24には、ポインタ形状テーブル24a(図6参照)、オブジェクト領域テーブル24b(図3参照)が記憶される。
【0043】
前記オブジェクト領域テーブル24bは、前記フレームバッファRAM25に書き込まれた表示用の描画データGに含まれるオブジェクトの領域情報にポインタPの表示情報を関係付けて記述したもので、前記サーバ装置10から送信されてくるオブジェクト情報通知イベント14bt(図4参照)に従い更新される。
【0044】
図6は、前記クライアント装置20のRAM24に生成されたポインタ形状テーブル24aの内容を示す図である。
【0045】
このポインタ形状テーブル24aには、例えば通常の表示領域にポインタが位置する場合の矢印形状のポインタP1、リンクの張られたオブジェクト領域にポインタが位置する場合の指差し形状のポインタP2、テキストのオブジェクト領域にポインタが位置する場合のカーソル形状のポインタP3など、ポインタが位置する領域に応じて異なる各種のポインタ形状データが、ポインタID、種類(通常/リンク/テキスト/…)、サイズ(H×W)、ポインタ内の基準位置を示すホットスポットSnの座標(Xn,Yn)に対応付けられて記憶される。
【0046】
すなわち、クライアント装置20からサーバ装置10へのユーザ操作に応じた入力イベントに従い、サーバ装置10にて実行されるアプリケーションプログラムによりクライアント表示用の描画データGが生成されると、当該描画データGが更新される都度、その描画データGに含まれる各オブジェクトの情報とポインタPの表示情報とを関係付けたオブジェクト領域テーブル14b(図3参照)が生成される。そして、前記オブジェクト領域テーブル14bは、オブジェクト情報通知イベント14bt(図4参照)としてクライアント装置20へ送信され、クライアント装置20のオブジェクト領域テーブル24b(図3参照)に更新されて記憶される。
【0047】
クライアント装置20において、例えばマウス操作により表示画面(描画データG)上のポインタPの位置が移動しているだけの状態では、その移動位置に応じたオブジェクト領域に表示すべきポインタIDが、RAM24内のオブジェクト領域テーブル24b(図3参照)から判断される。そして、当該ポインタIDに対応する形状のポインタデータPnが、同RAM24内のポインタ形状テーブル24aから読み出され、前記マウス操作に伴うポインタPの移動位置に表示される。
【0048】
このため、クライアント装置20において、表示中にある描画データG上のポインタPを移動操作しているだけの状態では、当該ポインタ移動表示のための入力イベントをサーバ装置10へ送信する必要なく、このクライアント装置20自身において、ポインタPの移動位置に応じた形状のポインタPnを表示させることができる。
【0049】
図7は、前記SBCシステムのクライアント装置20に表示される描画データG上でのポインタPの移動位置に応じた具体的なポインタ表示状態を示す図である。
【0050】
すなわち、クライアント装置20に表示された描画データG上において、通常のオブジェクト領域から、リンク付けされている写真Aのオブジェクト領域(XS1,YS1)〜(XE1,YE1)または写真Bのオブジェクト領域(XS3,YS3)〜(XE3,YE3)にポインタPが移動されると、サーバ装置10へのイベント送信を要さずに、矢印形状のポインタP1から指差し形状のポインタP2に変更されて移動表示されるようになる。また、テキストAのオブジェクト領域(XS2,YS2)〜(XE2,YE2)、またはテキストBのオブジェクト領域(XS4,YS4)〜(XE4,YE4)にポインタPが移動されると、サーバ装置10へのイベント送信を要さずに、前記矢印形状のポインタP1や指差し形状のポインタP2からカーソル形状のポインタP3に変更されて移動表示されるようになる。
【0051】
次に、前記構成のSBCシステムの動作について説明する。
【0052】
図8は、前記SBCシステムにおけるサーバ装置10のサーバ処理を示すフローチャートである。
【0053】
通信I/F19によるクライアント装置20からのデータ受信待ちの状態において(ステップS1)、データが受信されると(ステップS2)、この受信されたデータの内容がログインを要求するイベント信号であるか否か判断される(ステップS3)。
【0054】
ここで、クライアント装置20からのログインを要求するイベント信号が受信されたと判断されると(ステップS3(Yes))、当該ログイン要求送信元のクライアント装置20のログイン処理が実行され、ユーザ認証処理、クライアント用フレームバッファRAM14aの初期化処理などが行われる(ステップS4)。
【0055】
一方、既にログイン処理されたクライアント装置20からのデータが受信された際に(ステップS1,S2)、当該クライアント装置20のユーザ操作に伴う入力イベント信号が受信されたと判断されると(ステップS3(No)→S5(Yes))、図9における入力対応処理へ移行される(ステップSA)。
【0056】
なお、前記クライアント装置20からのデータが受信された際に(ステップS1,S2)、当該受信データの内容がログイン要求のイベント信号でもユーザ入力のイベント信号でもないと判断された場合には(ステップS3(No)→S5(No))、当該受信データの内容に応じた他の処理が実行される(ステップS6)。
【0057】
図9は、前記SBCシステムにおけるサーバ装置10のサーバ処理に伴う入力対応処理を示すフローチャートである。
【0058】
この入力対応処理では、先ず、クライアント装置20から受信された入力イベント信号の内容が解析され(ステップA1)、この解析されたイベント信号の内容に応じて実行すべきアプリケーションプログラムに対するイベントが発行される(ステップA2)。
【0059】
そして、前記入力イベント信号に応じたアプリケーションプログラムの実行に伴い、表示用描画データGの生成処理が含まれるか否か判断される(ステップA3)。ここで、表示用描画データGの生成処理が含まれると判断された場合には(ステップA3(Yes))、その描画データGに含まれるオブジェクトの情報が実行中のアプリケーションプログラムに基づき読み出され(ステップA4)、前回の描画データGの生成処理に伴い既にオブジェクト領域テーブル14b(図3参照)に記憶されたオブジェクト情報の状態に変更があるか否か判断される(ステップA5)。
【0060】
そして、前記オブジェクト領域テーブル14b(図3参照)にて既に記憶されたオブジェクト情報の状態に、例えば今回の描画データGの更新に伴い変更が生じたと判断された場合には(ステップA5(Yes))、当該更新された描画データGに含まれるオブジェクトの情報に基づき、新たなオブジェクト領域テーブル14bが生成される(ステップA6)。
【0061】
すると、前記新たに生成されたオブジェクト領域テーブル14bに記述されたオブジェクト情報が、オブジェクト情報通知イベント14bt(図4参照)のフォーマットに変換され、前記入力イベント信号の送信元であるクライアント装置20へ送信される(ステップA7)。
【0062】
そして、前記クライアント装置20からの入力イベント信号に応じたアプリケーションプログラムの実行に伴い生成されたクライアント表示用の描画データGが、クライアント用フレームバッファRAM14aに描画される(ステップA8)。
【0063】
前記クライアント用フレームバッファRAM14aに描画された表示用描画データGは、データ圧縮などのエンコード処理が施されて送信すべき描画データとして生成され(ステップA9)、前記入力イベント信号の送信元であるクライアント装置20へ送信される(ステップA10)。
【0064】
なお、前記入力イベント信号に応じたアプリケーションプログラムの実行に伴い、表示用描画データGの生成処理が含まれないと判断された場合には(ステップA3(No))、例えばクライアント装置20との間で定期的に行われる接続確認信号の送信処理など、前記描画データG以外の前記入力イベントに対応した処理が実行される(ステップA11)。
【0065】
これによりサーバ装置10では、クライアント装置20から受信された入力イベント信号に応じたクライアント表示用の描画データGが更新される毎に、当該描画データGに対応したオブジェクト領域テーブル14bが生成され、オブジェクト情報通知イベント14btとしてクライアント装置20へ送信されることになる。
【0066】
図10は、前記SBCシステムにおけるクライアント装置20のクライアント処理を示すフローチャートである。
【0067】
クライアント装置20の電源が投入され、ユーザの接続開始操作が実行されると、前記サーバ装置10に対する通信が開始されてログイン要求が送信され(ステップB1)、ユーザ認証処理やメモリ初期化処理などを含むサーバ装置10との接続確立のための処理が行われる(ステップB2)。
【0068】
すると、前記サーバ装置10からのデータ受信待機状態となり(ステップB3)、当該サーバ装置10から受信されたデータが解析されることで(ステップB4)、前記ログイン要求に伴うサーバ装置10との接続が確立されたか否か判断される(ステップB5)。
【0069】
サーバ装置10との接続が確立されたと判断されると(ステップB5(Yes))、クライアント装置20自身のユーザ操作に伴う入力イベント発生、あるいはサーバ装置10からのデータ受信に伴う受信イベント発生の待機状態になる(ステップB6)。
【0070】
このイベント発生の待機状態において、クライアント装置10からのデータ受信に伴う受信イベントが発生したと判断されると(ステップB7(Yes))、図11におけるデータ受信処理へ移行される(ステップBC)。
【0071】
図11は、前記SBCシステムにおけるクライアント装置20のクライアント処理に伴うデータ受信処理を示すフローチャートである。
【0072】
このデータ受信処理では、先ず、前記サーバ装置10からのデータ受信に伴う受信イベントの内容について、表示用の描画イベントであるか否か判断される(ステップC1)。
【0073】
ここで、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が表示用の描画イベントであると判断されると(ステップC1(Yes))、受信された描画データGの圧縮をデコードするなどの解析処理が実行される(ステップC2)。そして、この解析処理された描画データGがフレームバッファRAM25に書き込まれ、表示装置26に対する描画処理が実行される(ステップC3)。
【0074】
すなわち、前記サーバ装置10のサーバ処理に伴う入力対応処理にて作成された表示用描画データGが、フレームバッファRAM25に書き込まれて表示装置26に表示される。
【0075】
一方、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が、前記サーバ処理に伴う入力対応処理でのステップA7にて送信されたオブジェクト情報の通知イベント14bt(図4参照)であると判断されると(ステップC4(Yes))、この通知イベント14btに記述された各オブジェクト情報毎の登録属性情報(変更/追加/削除)に従い、オブジェクト領域テーブル24b(図3参照)内の各オブジェクト情報が、変更または追加または削除される(ステップC5)。これにより、オブジェクト領域テーブル24b(図3参照)内の各オブジェクト情報が、前記フレームバッファRAM25に書き込まれた表示用描画データGに含まれるオブジェクトに対応した情報に更新される。
【0076】
また、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が、例えばポインタ形状テーブル24a(図6参照)に記憶する各種のポインタデータなど、キャッシュデータの登録イベントであると判断されると(ステップC6(Yes))、当該データ登録イベントに記述されているキャッシュデータがRAM24内の所定の作業領域に記憶され保存処理される(ステップC7)。
【0077】
なお、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が、前記サーバ処理に伴う入力対応処理でのステップA11を経て送信された、その他の処理に応じたイベントであると判断された場合には(ステップC6(No))、当該受信イベントに応じた他の処理が実行される(ステップC8)。
【0078】
一方、前記ステップB6におけるイベント発生の待機状態において、ユーザ操作に伴う入力イベントが発生し、当該入力イベントが、例えばマウス操作に応じた表示画面上のポインタPの移動イベントであると判断された場合には(ステップB8(Yes)→B9(Yes))、RAM24に記憶されたオブジェクト領域テーブル24b(図3参照)に基づき、前記ポインタPの移動位置に対応するところのオブジェクト情報が読み出され(ステップB10)、同一のオブジェクト領域内でのポインタPの移動であるか否か判断される(ステップB11)。
【0079】
ここで、同一のオブジェクト領域内でのポインタPの移動であると判断された場合には(ステップB11(Yes))、当該ポインタPの移動位置に対応する表示画面上に、移動前のポインタPnと同じ形状のポインタPnが描画されて表示される(ステップB17)。
【0080】
例えば前記図7で示すような描画データGの表示画面において、移動前後のポインタ位置が何れも同じ写真Aのオブジェクト領域(XS1,YS1)(XE1,YE1)内であることが、オブジェクト領域テーブル24b(図3参照)に基づき判断された場合には、ポインタID“02”に対応する指差し形状のポインタP2がそのまま変更なく移動後のポインタ位置に描画されて表示される。
【0081】
そして、今回のポインタ移動に伴い、その移動後のポインタ位置に対応するオブジェクト領域の拡張情報として「イベント送信」が記述されている場合には(ステップB18(Yes))、図12における操作イベントデータ送信処理へ移行され、当該ポインタ移動イベントがサーバ装置10へ送信される(ステップBD)。
【0082】
一方、前記ステップB9〜B11において、RAM24に記憶されたオブジェクト領域テーブル24b(図3参照)に基づき、移動後のポインタ位置が別のオブジェクト領域に入ったと判断された場合には(ステップB11(No))、当該移動後のポインタ位置に対応するオブジェクト領域の拡張情報フラグの“ON”または“OFF”に基づき、追加表示情報(ポップアップ表示/バルーン表示/色変更表示など)の「有り」または「無し」が判断される(ステップB12)。
【0083】
ここで、前記移動後のポインタ位置に対応するオブジェクト領域の拡張情報フラグが“ON”であることに基づき、追加表示情報「有り」と判断された場合には(ステップB12(Yes))、当該追加表示情報に従った描画データが読み込まれ(ステップB13)、前記移動後のポインタ位置に描画されて表示される(ステップB14)。
【0084】
また、前記RAM24に記憶されたオブジェクト領域テーブル24b(図3参照)に基づき、移動前後のポインタ位置に対応するオブジェクト領域のポインタIDが変更になるか否かが判断される(ステップB15)。
【0085】
そして、移動前後のポインタ位置に対応するオブジェクト領域のポインタIDが変更になると判断された場合には(ステップB15(Yes))、移動後のポインタ位置に対応するオブジェクト領域のポインタIDに従って、ポインタ形状テーブル24aに記憶されているポインタ形状データが読み出される(ステップB16)。
【0086】
そして、当該ポインタPの移動位置に対応する表示画面上に、前記ポインタ形状テーブル24aから読み出された形状変更後のポインタPnが描画されて表示される(ステップB17)。
【0087】
例えば前記図7で示すような描画データGの表示画面において、移動前後のポインタ位置が、通常の領域から写真Aのオブジェクト領域(XS1,YS1)(XE1,YE1)に入ったことが、オブジェクト領域テーブル24b(図3参照)に基づき判断された場合には、移動前のポインタID“01”に対応する矢印形状のポインタP1から、移動後のポインタID“02”に対応する指差し形状のポインタP2に変更され、移動後のポインタ位置に描画されて表示される。
【0088】
この場合も、今回のポインタ移動に伴い、その移動後のポインタ位置に対応するオブジェクト領域の拡張情報として「イベント送信」が記述されている場合には(ステップB18(Yes))、図12における操作イベントデータ送信処理へ移行され、当該ポインタ移動イベントがサーバ装置10へ送信される(ステップBD)。
【0089】
一方、前記ステップB6におけるイベント発生の待機状態において、ユーザ操作に伴うその他の入力イベントが発生したと判断された場合にも(ステップB8(Yes)→B9(No))、図12における操作イベントデータ送信処理へ移行され、当該ユーザ操作に伴うその他の入力イベントの種別に応じたサーバ装置10へのイベント送信が実行される(ステップBD)。
【0090】
図12は、前記SBCシステムにおけるクライアント装置20のクライアント処理に伴う操作イベントデータ送信処理を示すフローチャートである。
【0091】
すなわち、この操作イベントデータ送信処理では、先ず、ユーザ操作に伴う入力イベントの種別が判定される(ステップD1)。そして、前記種別判定された入力イベントに対応するイベント信号が生成され(ステップD2)、サーバ装置10に対して送信される(ステップD3)。
【0092】
なお、前記サーバ装置10からの受信イベントの内容が、前記サーバ処理に伴う入力対応処理でのステップA11を経て送信された、その他の処理に応じたイベントであると判断された場合には(ステップB8(No))、例えばサーバ装置10との間で定期的に行われる接続確認処理など、他の処理が実行される(ステップB19)。
【0093】
したがって、前記構成のSBCシステムによれば、クライアント装置20からサーバ装置10に対して入力イベント信号が受信されると、サーバ装置10では、その入力イベントに応じたアプリケーションプログラムの起動によりクライアント表示用の描画データGが生成される。すると、当該描画データGに含まれるオブジェクトの領域情報にポインタPの識別情報(ポインタID)を関係付けて記述したオブジェクト領域テーブル14bが生成され、前記描画データGと共にクライアント装置20へ送信される。そして、クライアント装置20において、前記入力イベントに応じた描画データGが受信されて表示された状態でポインタPを移動させると、当該ポインタPの移動位置に対応したオブジェクト領域におけるポインタPの識別情報(ポインタID)が前記オブジェクト領域テーブル24b(14b)から判断され、当該ポインタIDに対応する形状のポインタデータPnがポインタ形状テーブル24aから読み出され、移動後のポインタ位置に描画され表示される。
【0094】
よって、クライアント装置20でのポインタPの移動操作に伴い、その入力イベントが逐一サーバ装置10へ送信されることなく、クライアント装置20側だけでポインタPの移動に応じた描画データG上での当該ポインタPの表示の更新を行うことができ、サーバ装置10に対するクライアント装置20からの通信頻度を大幅に削減でき、当該クライアント装置20から見たポインタ移動の操作レスポンスを大幅に向上できる。
【0095】
また、前記オブジェクト領域テーブル14b(24b)には、クライアント表示用の描画データGに含まれるオブジェクトの領域情報に対して、ポインタPの識別情報(ポインタID)だけを関係付けて記述しただけでなく、当該ポインタPの描画と共に表示される追加の表示情報(ポップアップ表示/バルーン表示/色変更表示など)も関係付けて記述した。
【0096】
このため、ポインタPの移動操作に伴う入力イベントをサーバ装置10に送信することなしに、当該ポインタPが移動したオブジェクト領域にて表示すべき追加情報の表示も行うことができる。
【0097】
なお、前記実施形態において記載したSBCシステムによる各処理の手法、すなわち、図8のフローチャートに示すサーバ装置10によるサーバ処理、図9のフローチャートに示す前記サーバ処理に伴う入力対応処理、図10のフローチャートに示すクライアント装置20によるクライアント処理、図11のフローチャートに示す前記クライアント処理に伴うデータ受信処理、図12のフローチャートに示す前記クライアント処理に伴う操作イベントデータ送信処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置18,28の媒体に格納して配布することができる。そして、サーバ装置10やクライアント装置20のコンピュータ(CPU11,21)は、この外部記憶装置18,28の媒体に記憶されたプログラムを記憶装置(フラッシュROM13,23やRAM14,24)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した描画データGに含まれるオブジェクトの情報に基づいたクライアント装置20側だけでのポインタ移動表示機能を実現し、前述した手法による同様の処理を実行することができる。
【0098】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から前記のプログラムデータを取り込んで記憶装置(フラッシュROM13,23やRAM14,24)に記憶させ、前述した描画データGに含まれるオブジェクトの情報に基づいたクライアント装置20側だけでのポインタ移動表示機能を実現することもできる。
【0099】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【0100】
10 …サーバ装置
20 …クライアント装置
11、21…CPU
12、22…バス
13、23…ROM
14、24…RAM
14a…クライアント用フレームバッファRAM
24a…ポインタ形状テーブル
14b,24b…オブジェクト領域テーブル
14bt…オブジェクト情報通知イベント
15、25…フレームバッファRAM
16、26…表示装置
17、27…入力装置
18、28…外部記憶装置
19、29…通信I/F
P1…矢印形状のポインタデータ
P2…指差し形状のポインタデータ
P3…カーソル形状のポインタデータ
N …通信ネットワーク
G …表示用描画データ
【技術分野】
【0001】
本発明は、サーバベース・コンピューティング・システムのクライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラムに関する。
【背景技術】
【0002】
従来のサーバ・クライアント・システムにおいて、例えばクライアント装置からのリモート操作によりサーバ装置側で所望のアプリケーションプログラムを起動実行させるサーバベース・コンピューティング・システム(SBC;Server Based Computing system)がある。このSBCシステムでは、クライアント装置の操作入力に応じてサーバ装置側で処理され更新される表示用の描画データが、該サーバ装置からその描画更新の都度クライアント装置へと送信転送されて表示される。これによりクライアント装置は、表示や入力など最低限の機能のみを持てば良く、アプリケーションなどの資源はサーバ装置で一元管理するものである。
【0003】
このようにSBCシステムは、サーバ装置上でアプリケーションプログラムが実行されるので、クライアント装置の性能が低い場合にも高機能なコンピューティング環境を実現可能である。
【0004】
一方でSBCシステムは、クライアント装置からの要求に応じた表示用の描画データが、サーバ装置により生成あるいは取得されて前記クライアント装置へと転送されて表示されるものである。このため、前記描画データが更新される都度そのクライアント装置への転送処理が生じていたのでは、通信頻度やそのデータ量も多くなり、クライアント装置から見た描画更新の操作レスポンスも改善し難いものである。
【0005】
特に、カーソルキーやマウスによるポインタの移動操作に伴い、当該ポインタの表示位置および形状の変更要求が連続的に発生する場合には、サーバ装置への当該ポインタ表示位置の変更要求送信処理と、これに応じてサーバ装置によりポインタの表示位置や形状が更新された描画データのクライアント装置への応答送信処理とが連続的に繰り返されるので、通信頻度は激増しポインタ表示の操作レスポンスも悪くなる。
【0006】
従来のSBCシステムにおいて、シンクライアント端末とサーバ装置との間にゲートウエイを設け、このゲートウエイに、シンクライアント端末からサーバ装置に対して行われる操作要求を特定条件が満たされるまで保存する。そして、特定条件が満たされた後に、この保存された操作要求をサーバ装置に対して行うことで(特定条件が満たされるまでサーバ装置にクライアント端末の操作イベントを通知しない)、シンクライアント端末とサーバ装置とが通信できない状態になりセッションが異常になっても動作を保証するシステムが考えられている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−171063号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記従来のSBCシステムでは、特定条件が満たされるまでサーバ装置にクライアント端末の操作イベントを通知しないように制御することで、サーバ装置との通信頻度の削減が期待できる。
【0009】
しかしながら、カーソルキーやマウスの操作に伴いリアルタイムにポインタの描画更新を要する制御に適用し、通信頻度やそのデータ量の削減、操作レスポンスの向上を期待することはできない。
【0010】
本発明は、このような課題に鑑みなされたもので、SBCシステムにおいて、ポインタの移動に伴う通信頻度を削減すること、および操作レスポンスを向上することが可能になるクライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
請求項1に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置であって、ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、前記画面情報を表示する表示手段と、ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段と、を備えたことを特徴としている。
【0012】
請求項2に記載のクライアント装置は、前記請求項1に記載のクライアント装置において、前記テーブル受信手段は、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報に、前記ポインタの種別情報と追加の表示情報とを関係付けたオブジェクト領域テーブルを受信し、前記オブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶された追加の表示情報を取得する追加情報取得手段と、この追加情報取得手段により取得された追加の表示情報を、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させる追加情報表示制御手段と、をさらに備えたことを特徴としている。
【0013】
請求項3に記載のサーバベース・コンピューティング・システムは、ネットワークを介して接続されたサーバ装置とクライアント装置とを有し、クライアント装置からの入力イベントに応じてサーバ装置により実行されるアプリケーションプログラムに従い生成された画面情報を前記クライアント装置へ送信して表示させるようにしたサーバベース・コンピューティング・システムであって、
前記サーバ装置は、前記画面情報に含まれるオブジェクト領域の情報とポインタの種別情報とを関係付けたオブジェクト領域テーブルを生成するテーブル生成手段と、このテーブル生成手段により生成されたオブジェクト領域テーブルを前記クライアント装置へ送信する送信手段とを備え、
前記クライアント装置は、ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、前記画面情報を表示する表示手段と、ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段とを備えた、ことを特徴としている。
【0014】
請求項4に記載のプログラムは、ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置のコンピュータを制御するためのプログラムであって、前記コンピュータを、ポインタの種別毎に当該ポインタの描画データを関係付けてメモリに記憶するポインタデータ記憶手段、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段、このテーブル受信手段により受信されたオブジェクト領域テーブルをメモリに記憶するテーブル記憶手段、前記画面情報を表示部に表示させる表示手段、この表示手段により表示された画面情報内でのユーザ操作に応じたポインタの移動位置を判断するポインタ移動判断手段、このポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段、このオブジェクト領域判断手段により判断されたポインタの移動位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段、このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応して表示させるポインタ表示制御手段、として機能させることを特徴としている。
【発明の効果】
【0015】
本発明によれば、SBCシステムにおいて、ポインタの移動に伴う通信頻度を削減すること、および操作レスポンスを向上することが可能になるクライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラムを提供できる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図。
【図2】前記SBCシステムにおけるサーバ装置10の回路構成を示すブロック図。
【図3】前記サーバ装置10のRAM14に生成されたオブジェクト領域テーブル14bの内容を示す図。
【図4】前記サーバ装置10にて生成されたオブジェクト領域テーブル14bをクライアント装置20へ送信するためのオブジェクト情報通知イベント14btのフォーマットを示す図。
【図5】前記SBCシステムにおけるクライアント装置20の回路構成を示すブロック図。
【図6】前記クライアント装置20のRAM24に生成されたポインタ形状テーブル24aの内容を示す図。
【図7】前記SBCシステムのクライアント装置20に表示される描画データG上でのポインタPの移動位置に応じた具体的なポインタ表示状態を示す図。
【図8】前記SBCシステムにおけるサーバ装置10のサーバ処理を示すフローチャート。
【図9】前記SBCシステムにおけるサーバ装置10のサーバ処理に伴う入力対応処理を示すフローチャート。
【図10】前記SBCシステムにおけるクライアント装置20のクライアント処理を示すフローチャート。
【図11】前記SBCシステムにおけるクライアント装置20のクライアント処理に伴うデータ受信処理を示すフローチャート。
【図12】前記SBCシステムにおけるクライアント装置20のクライアント処理に伴う操作イベントデータ送信処理を示すフローチャート。
【発明を実施するための形態】
【0017】
以下図面により本発明の実施の形態について説明する。
【0018】
図1は、本発明の実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図である。
【0019】
このSBCシステムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置10および複数のクライアント装置(Thin client)20,…を備える。
【0020】
サーバ装置10は、文書作成処理プログラム,表計算処理プログラム,プレゼン資料作成プログラム,メール処理プログラム,インターネット接続処理プログラム、Web表示プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置10に接続されたクライアント装置20,…からの操作入力(入力イベント)信号に応じて起動しその処理を実行する。
【0021】
このサーバ装置10において、クライアント装置20,…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント用のフレームバッファRAM14a(図2参照)上に生成された表示出力用の描画データGは、圧縮処理された後アクセス元のクライアント装置20,…へ送信(転送)される。
【0022】
そして、クライアント装置20,…では、前記サーバ装置10から転送された描画データGがその圧縮を解凍されてフレームバッファRAM25(図5参照)に展開され、表示装置26に表示される。
【0023】
つまり、このSBCシステムにおける各クライアント装置(Thin client)20,…は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置10が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
【0024】
そして、クライアント装置20,…からの操作入力(入力イベント)信号に応じてサーバ装置10にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置10内あるいは該サーバ装置10にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【0025】
図2は、前記SBCシステムにおけるサーバ装置10の回路構成を示すブロック図である。
【0026】
サーバ装置10は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してROM13、RAM14、フレームバッファRAM15、表示装置16が接続される。
【0027】
また、CPU11には、バス12を介してキーボード,マウスなどの入力装置17、外部記憶装置18、クライアント装置20,…との通信I/F(インターフェイス)19が接続される。
【0028】
CPU11は、ROM13に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM14を作業用メモリとし回路各部の動作を制御するもので、入力装置17からのキー入力信号や通信I/F19を介して受信されるクライアント装置20からのユーザ操作に応じた処理指令(入力イベント)信号などに応じて前記種々のプログラムが起動・実行される。
【0029】
このサーバ装置10において、クライアント装置20からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶装置18に記憶される。またクライアント表示用の描画データGは、RAM14内のクライアント用フレームバッファRAM14aを使用して生成されると共に、圧縮処理された後、通信I/F19からクライアント装置20へ転送されて表示出力される。
【0030】
前記クライアント用フレームバッファRAM14aに表示用の描画データGが生成されると、当該描画データGに含まれるオブジェクトの状態に変更があるか否か判断される。前記描画データGに含まれるオブジェクトの状態に変更があると判断された場合には、同描画データGに含まれるオブジェクトの領域情報にポインタPの表示情報を関係付けて記述したオブジェクト領域テーブル14b(図3参照)が生成され、所定のデータフォーマットからなるオブジェクト情報通知イベント14bt(図4参照)としてクライアント装置20へ転送される。
【0031】
なお、当該サーバ装置10自身の表示装置16にて表示させるための描画データは、フレームバッファRAM15上に生成される。
【0032】
図3は、前記サーバ装置10のRAM14に生成されたオブジェクト領域テーブル14bの内容を示す図である。
【0033】
このオブジェクト領域テーブル14bには、前記クライアント用フレームバッファRAM14aに生成された描画データGに含まれる各種オブジェクトのオブジェクトID、領域情報(XS,YS)(XE,YE)、当該オブジェクト領域内でのポインタPの形状を示すポインタID、当該オブジェクト領域内にポインタPが移動した際の追加の表示情報(ポップアップ表示/バルーン表示/色変更表示など)があるか否かを示す拡張情報フラグ、そしてこの拡張情報フラグが“ON”の場合の前記追加の表示情報が対応付けられて記述される。
【0034】
なお、前記拡張情報フラグのテーブルエリアには、対応するオブジェクト領域内にポインタPが移動したことをサーバ装置10へ通知する必要がある場合に、そのイベント送信の命令も記述される。
【0035】
図4は、前記サーバ装置10にて生成されたオブジェクト領域テーブル14bをクライアント装置20へ送信するためのオブジェクト情報通知イベント14btのフォーマットを示す図である。
【0036】
このオブジェクト情報通知イベント14btは、そのヘッダ部分に当該オブジェクト情報通知イベント14btの識別子「イベントID」および「データサイズ」が記述される。そして、データ部分には、前記生成された描画データGに含まれる各オブジェクト領域の情報毎に、その識別子「オブジェクトID」、前回送信済みの該当するオブジェクト情報に対する“追加”または“変更”または“消去”を示す「登録属性情報」、開始座標(XS,YS)と終了座標(XE,YE)を示す「領域情報」、ポインタPの形状を示す「ポインタ表示情報(ポインタID)」、前記「拡張情報フラグ」、および前記「追加表示情報」が記述される。そして、前記データ部分の先頭には、前記各オブジェクト情報の個数が記述される。
【0037】
図5は、前記SBCシステムにおけるクライアント装置20の回路構成を示すブロック図である。
【0038】
クライアント装置20は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してROM23、RAM24、フレームバッファRAM25が接続される。そして、このフレームバッファRAM25に書き込まれた描画データGが表示装置26に出力されて表示される。
【0039】
また、CPU21には、バス22を介してキーボード,マウス,マイク,光センサなどの入力装置27、外部記憶装置28、前記サーバ装置10との通信I/F(インターフェイス)29が接続される。
【0040】
CPU21は、ROM23に予め記憶されているシステムプログラムに従ってRAM24を作業用メモリとし回路各部の動作を制御するもので、入力装置27からのキー入力信号やマウス移動信号、通信I/F29を介して受信されるサーバ装置10からのアプリケーション応答信号や転送描画データGなどに応じて前記システムプログラムが起動され実行される。
【0041】
このクライアント装置20において、前記サーバ装置10におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置28に読み込ませて記憶させ、また生成転送された表示用の描画データGは、その圧縮が解凍されてフレームバッファRAM25に書き込まれ表示装置26で表示出力される。
【0042】
なお、前記作業用メモリとして機能するRAM24には、ポインタ形状テーブル24a(図6参照)、オブジェクト領域テーブル24b(図3参照)が記憶される。
【0043】
前記オブジェクト領域テーブル24bは、前記フレームバッファRAM25に書き込まれた表示用の描画データGに含まれるオブジェクトの領域情報にポインタPの表示情報を関係付けて記述したもので、前記サーバ装置10から送信されてくるオブジェクト情報通知イベント14bt(図4参照)に従い更新される。
【0044】
図6は、前記クライアント装置20のRAM24に生成されたポインタ形状テーブル24aの内容を示す図である。
【0045】
このポインタ形状テーブル24aには、例えば通常の表示領域にポインタが位置する場合の矢印形状のポインタP1、リンクの張られたオブジェクト領域にポインタが位置する場合の指差し形状のポインタP2、テキストのオブジェクト領域にポインタが位置する場合のカーソル形状のポインタP3など、ポインタが位置する領域に応じて異なる各種のポインタ形状データが、ポインタID、種類(通常/リンク/テキスト/…)、サイズ(H×W)、ポインタ内の基準位置を示すホットスポットSnの座標(Xn,Yn)に対応付けられて記憶される。
【0046】
すなわち、クライアント装置20からサーバ装置10へのユーザ操作に応じた入力イベントに従い、サーバ装置10にて実行されるアプリケーションプログラムによりクライアント表示用の描画データGが生成されると、当該描画データGが更新される都度、その描画データGに含まれる各オブジェクトの情報とポインタPの表示情報とを関係付けたオブジェクト領域テーブル14b(図3参照)が生成される。そして、前記オブジェクト領域テーブル14bは、オブジェクト情報通知イベント14bt(図4参照)としてクライアント装置20へ送信され、クライアント装置20のオブジェクト領域テーブル24b(図3参照)に更新されて記憶される。
【0047】
クライアント装置20において、例えばマウス操作により表示画面(描画データG)上のポインタPの位置が移動しているだけの状態では、その移動位置に応じたオブジェクト領域に表示すべきポインタIDが、RAM24内のオブジェクト領域テーブル24b(図3参照)から判断される。そして、当該ポインタIDに対応する形状のポインタデータPnが、同RAM24内のポインタ形状テーブル24aから読み出され、前記マウス操作に伴うポインタPの移動位置に表示される。
【0048】
このため、クライアント装置20において、表示中にある描画データG上のポインタPを移動操作しているだけの状態では、当該ポインタ移動表示のための入力イベントをサーバ装置10へ送信する必要なく、このクライアント装置20自身において、ポインタPの移動位置に応じた形状のポインタPnを表示させることができる。
【0049】
図7は、前記SBCシステムのクライアント装置20に表示される描画データG上でのポインタPの移動位置に応じた具体的なポインタ表示状態を示す図である。
【0050】
すなわち、クライアント装置20に表示された描画データG上において、通常のオブジェクト領域から、リンク付けされている写真Aのオブジェクト領域(XS1,YS1)〜(XE1,YE1)または写真Bのオブジェクト領域(XS3,YS3)〜(XE3,YE3)にポインタPが移動されると、サーバ装置10へのイベント送信を要さずに、矢印形状のポインタP1から指差し形状のポインタP2に変更されて移動表示されるようになる。また、テキストAのオブジェクト領域(XS2,YS2)〜(XE2,YE2)、またはテキストBのオブジェクト領域(XS4,YS4)〜(XE4,YE4)にポインタPが移動されると、サーバ装置10へのイベント送信を要さずに、前記矢印形状のポインタP1や指差し形状のポインタP2からカーソル形状のポインタP3に変更されて移動表示されるようになる。
【0051】
次に、前記構成のSBCシステムの動作について説明する。
【0052】
図8は、前記SBCシステムにおけるサーバ装置10のサーバ処理を示すフローチャートである。
【0053】
通信I/F19によるクライアント装置20からのデータ受信待ちの状態において(ステップS1)、データが受信されると(ステップS2)、この受信されたデータの内容がログインを要求するイベント信号であるか否か判断される(ステップS3)。
【0054】
ここで、クライアント装置20からのログインを要求するイベント信号が受信されたと判断されると(ステップS3(Yes))、当該ログイン要求送信元のクライアント装置20のログイン処理が実行され、ユーザ認証処理、クライアント用フレームバッファRAM14aの初期化処理などが行われる(ステップS4)。
【0055】
一方、既にログイン処理されたクライアント装置20からのデータが受信された際に(ステップS1,S2)、当該クライアント装置20のユーザ操作に伴う入力イベント信号が受信されたと判断されると(ステップS3(No)→S5(Yes))、図9における入力対応処理へ移行される(ステップSA)。
【0056】
なお、前記クライアント装置20からのデータが受信された際に(ステップS1,S2)、当該受信データの内容がログイン要求のイベント信号でもユーザ入力のイベント信号でもないと判断された場合には(ステップS3(No)→S5(No))、当該受信データの内容に応じた他の処理が実行される(ステップS6)。
【0057】
図9は、前記SBCシステムにおけるサーバ装置10のサーバ処理に伴う入力対応処理を示すフローチャートである。
【0058】
この入力対応処理では、先ず、クライアント装置20から受信された入力イベント信号の内容が解析され(ステップA1)、この解析されたイベント信号の内容に応じて実行すべきアプリケーションプログラムに対するイベントが発行される(ステップA2)。
【0059】
そして、前記入力イベント信号に応じたアプリケーションプログラムの実行に伴い、表示用描画データGの生成処理が含まれるか否か判断される(ステップA3)。ここで、表示用描画データGの生成処理が含まれると判断された場合には(ステップA3(Yes))、その描画データGに含まれるオブジェクトの情報が実行中のアプリケーションプログラムに基づき読み出され(ステップA4)、前回の描画データGの生成処理に伴い既にオブジェクト領域テーブル14b(図3参照)に記憶されたオブジェクト情報の状態に変更があるか否か判断される(ステップA5)。
【0060】
そして、前記オブジェクト領域テーブル14b(図3参照)にて既に記憶されたオブジェクト情報の状態に、例えば今回の描画データGの更新に伴い変更が生じたと判断された場合には(ステップA5(Yes))、当該更新された描画データGに含まれるオブジェクトの情報に基づき、新たなオブジェクト領域テーブル14bが生成される(ステップA6)。
【0061】
すると、前記新たに生成されたオブジェクト領域テーブル14bに記述されたオブジェクト情報が、オブジェクト情報通知イベント14bt(図4参照)のフォーマットに変換され、前記入力イベント信号の送信元であるクライアント装置20へ送信される(ステップA7)。
【0062】
そして、前記クライアント装置20からの入力イベント信号に応じたアプリケーションプログラムの実行に伴い生成されたクライアント表示用の描画データGが、クライアント用フレームバッファRAM14aに描画される(ステップA8)。
【0063】
前記クライアント用フレームバッファRAM14aに描画された表示用描画データGは、データ圧縮などのエンコード処理が施されて送信すべき描画データとして生成され(ステップA9)、前記入力イベント信号の送信元であるクライアント装置20へ送信される(ステップA10)。
【0064】
なお、前記入力イベント信号に応じたアプリケーションプログラムの実行に伴い、表示用描画データGの生成処理が含まれないと判断された場合には(ステップA3(No))、例えばクライアント装置20との間で定期的に行われる接続確認信号の送信処理など、前記描画データG以外の前記入力イベントに対応した処理が実行される(ステップA11)。
【0065】
これによりサーバ装置10では、クライアント装置20から受信された入力イベント信号に応じたクライアント表示用の描画データGが更新される毎に、当該描画データGに対応したオブジェクト領域テーブル14bが生成され、オブジェクト情報通知イベント14btとしてクライアント装置20へ送信されることになる。
【0066】
図10は、前記SBCシステムにおけるクライアント装置20のクライアント処理を示すフローチャートである。
【0067】
クライアント装置20の電源が投入され、ユーザの接続開始操作が実行されると、前記サーバ装置10に対する通信が開始されてログイン要求が送信され(ステップB1)、ユーザ認証処理やメモリ初期化処理などを含むサーバ装置10との接続確立のための処理が行われる(ステップB2)。
【0068】
すると、前記サーバ装置10からのデータ受信待機状態となり(ステップB3)、当該サーバ装置10から受信されたデータが解析されることで(ステップB4)、前記ログイン要求に伴うサーバ装置10との接続が確立されたか否か判断される(ステップB5)。
【0069】
サーバ装置10との接続が確立されたと判断されると(ステップB5(Yes))、クライアント装置20自身のユーザ操作に伴う入力イベント発生、あるいはサーバ装置10からのデータ受信に伴う受信イベント発生の待機状態になる(ステップB6)。
【0070】
このイベント発生の待機状態において、クライアント装置10からのデータ受信に伴う受信イベントが発生したと判断されると(ステップB7(Yes))、図11におけるデータ受信処理へ移行される(ステップBC)。
【0071】
図11は、前記SBCシステムにおけるクライアント装置20のクライアント処理に伴うデータ受信処理を示すフローチャートである。
【0072】
このデータ受信処理では、先ず、前記サーバ装置10からのデータ受信に伴う受信イベントの内容について、表示用の描画イベントであるか否か判断される(ステップC1)。
【0073】
ここで、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が表示用の描画イベントであると判断されると(ステップC1(Yes))、受信された描画データGの圧縮をデコードするなどの解析処理が実行される(ステップC2)。そして、この解析処理された描画データGがフレームバッファRAM25に書き込まれ、表示装置26に対する描画処理が実行される(ステップC3)。
【0074】
すなわち、前記サーバ装置10のサーバ処理に伴う入力対応処理にて作成された表示用描画データGが、フレームバッファRAM25に書き込まれて表示装置26に表示される。
【0075】
一方、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が、前記サーバ処理に伴う入力対応処理でのステップA7にて送信されたオブジェクト情報の通知イベント14bt(図4参照)であると判断されると(ステップC4(Yes))、この通知イベント14btに記述された各オブジェクト情報毎の登録属性情報(変更/追加/削除)に従い、オブジェクト領域テーブル24b(図3参照)内の各オブジェクト情報が、変更または追加または削除される(ステップC5)。これにより、オブジェクト領域テーブル24b(図3参照)内の各オブジェクト情報が、前記フレームバッファRAM25に書き込まれた表示用描画データGに含まれるオブジェクトに対応した情報に更新される。
【0076】
また、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が、例えばポインタ形状テーブル24a(図6参照)に記憶する各種のポインタデータなど、キャッシュデータの登録イベントであると判断されると(ステップC6(Yes))、当該データ登録イベントに記述されているキャッシュデータがRAM24内の所定の作業領域に記憶され保存処理される(ステップC7)。
【0077】
なお、前記サーバ装置10からのデータ受信に伴う受信イベントの内容が、前記サーバ処理に伴う入力対応処理でのステップA11を経て送信された、その他の処理に応じたイベントであると判断された場合には(ステップC6(No))、当該受信イベントに応じた他の処理が実行される(ステップC8)。
【0078】
一方、前記ステップB6におけるイベント発生の待機状態において、ユーザ操作に伴う入力イベントが発生し、当該入力イベントが、例えばマウス操作に応じた表示画面上のポインタPの移動イベントであると判断された場合には(ステップB8(Yes)→B9(Yes))、RAM24に記憶されたオブジェクト領域テーブル24b(図3参照)に基づき、前記ポインタPの移動位置に対応するところのオブジェクト情報が読み出され(ステップB10)、同一のオブジェクト領域内でのポインタPの移動であるか否か判断される(ステップB11)。
【0079】
ここで、同一のオブジェクト領域内でのポインタPの移動であると判断された場合には(ステップB11(Yes))、当該ポインタPの移動位置に対応する表示画面上に、移動前のポインタPnと同じ形状のポインタPnが描画されて表示される(ステップB17)。
【0080】
例えば前記図7で示すような描画データGの表示画面において、移動前後のポインタ位置が何れも同じ写真Aのオブジェクト領域(XS1,YS1)(XE1,YE1)内であることが、オブジェクト領域テーブル24b(図3参照)に基づき判断された場合には、ポインタID“02”に対応する指差し形状のポインタP2がそのまま変更なく移動後のポインタ位置に描画されて表示される。
【0081】
そして、今回のポインタ移動に伴い、その移動後のポインタ位置に対応するオブジェクト領域の拡張情報として「イベント送信」が記述されている場合には(ステップB18(Yes))、図12における操作イベントデータ送信処理へ移行され、当該ポインタ移動イベントがサーバ装置10へ送信される(ステップBD)。
【0082】
一方、前記ステップB9〜B11において、RAM24に記憶されたオブジェクト領域テーブル24b(図3参照)に基づき、移動後のポインタ位置が別のオブジェクト領域に入ったと判断された場合には(ステップB11(No))、当該移動後のポインタ位置に対応するオブジェクト領域の拡張情報フラグの“ON”または“OFF”に基づき、追加表示情報(ポップアップ表示/バルーン表示/色変更表示など)の「有り」または「無し」が判断される(ステップB12)。
【0083】
ここで、前記移動後のポインタ位置に対応するオブジェクト領域の拡張情報フラグが“ON”であることに基づき、追加表示情報「有り」と判断された場合には(ステップB12(Yes))、当該追加表示情報に従った描画データが読み込まれ(ステップB13)、前記移動後のポインタ位置に描画されて表示される(ステップB14)。
【0084】
また、前記RAM24に記憶されたオブジェクト領域テーブル24b(図3参照)に基づき、移動前後のポインタ位置に対応するオブジェクト領域のポインタIDが変更になるか否かが判断される(ステップB15)。
【0085】
そして、移動前後のポインタ位置に対応するオブジェクト領域のポインタIDが変更になると判断された場合には(ステップB15(Yes))、移動後のポインタ位置に対応するオブジェクト領域のポインタIDに従って、ポインタ形状テーブル24aに記憶されているポインタ形状データが読み出される(ステップB16)。
【0086】
そして、当該ポインタPの移動位置に対応する表示画面上に、前記ポインタ形状テーブル24aから読み出された形状変更後のポインタPnが描画されて表示される(ステップB17)。
【0087】
例えば前記図7で示すような描画データGの表示画面において、移動前後のポインタ位置が、通常の領域から写真Aのオブジェクト領域(XS1,YS1)(XE1,YE1)に入ったことが、オブジェクト領域テーブル24b(図3参照)に基づき判断された場合には、移動前のポインタID“01”に対応する矢印形状のポインタP1から、移動後のポインタID“02”に対応する指差し形状のポインタP2に変更され、移動後のポインタ位置に描画されて表示される。
【0088】
この場合も、今回のポインタ移動に伴い、その移動後のポインタ位置に対応するオブジェクト領域の拡張情報として「イベント送信」が記述されている場合には(ステップB18(Yes))、図12における操作イベントデータ送信処理へ移行され、当該ポインタ移動イベントがサーバ装置10へ送信される(ステップBD)。
【0089】
一方、前記ステップB6におけるイベント発生の待機状態において、ユーザ操作に伴うその他の入力イベントが発生したと判断された場合にも(ステップB8(Yes)→B9(No))、図12における操作イベントデータ送信処理へ移行され、当該ユーザ操作に伴うその他の入力イベントの種別に応じたサーバ装置10へのイベント送信が実行される(ステップBD)。
【0090】
図12は、前記SBCシステムにおけるクライアント装置20のクライアント処理に伴う操作イベントデータ送信処理を示すフローチャートである。
【0091】
すなわち、この操作イベントデータ送信処理では、先ず、ユーザ操作に伴う入力イベントの種別が判定される(ステップD1)。そして、前記種別判定された入力イベントに対応するイベント信号が生成され(ステップD2)、サーバ装置10に対して送信される(ステップD3)。
【0092】
なお、前記サーバ装置10からの受信イベントの内容が、前記サーバ処理に伴う入力対応処理でのステップA11を経て送信された、その他の処理に応じたイベントであると判断された場合には(ステップB8(No))、例えばサーバ装置10との間で定期的に行われる接続確認処理など、他の処理が実行される(ステップB19)。
【0093】
したがって、前記構成のSBCシステムによれば、クライアント装置20からサーバ装置10に対して入力イベント信号が受信されると、サーバ装置10では、その入力イベントに応じたアプリケーションプログラムの起動によりクライアント表示用の描画データGが生成される。すると、当該描画データGに含まれるオブジェクトの領域情報にポインタPの識別情報(ポインタID)を関係付けて記述したオブジェクト領域テーブル14bが生成され、前記描画データGと共にクライアント装置20へ送信される。そして、クライアント装置20において、前記入力イベントに応じた描画データGが受信されて表示された状態でポインタPを移動させると、当該ポインタPの移動位置に対応したオブジェクト領域におけるポインタPの識別情報(ポインタID)が前記オブジェクト領域テーブル24b(14b)から判断され、当該ポインタIDに対応する形状のポインタデータPnがポインタ形状テーブル24aから読み出され、移動後のポインタ位置に描画され表示される。
【0094】
よって、クライアント装置20でのポインタPの移動操作に伴い、その入力イベントが逐一サーバ装置10へ送信されることなく、クライアント装置20側だけでポインタPの移動に応じた描画データG上での当該ポインタPの表示の更新を行うことができ、サーバ装置10に対するクライアント装置20からの通信頻度を大幅に削減でき、当該クライアント装置20から見たポインタ移動の操作レスポンスを大幅に向上できる。
【0095】
また、前記オブジェクト領域テーブル14b(24b)には、クライアント表示用の描画データGに含まれるオブジェクトの領域情報に対して、ポインタPの識別情報(ポインタID)だけを関係付けて記述しただけでなく、当該ポインタPの描画と共に表示される追加の表示情報(ポップアップ表示/バルーン表示/色変更表示など)も関係付けて記述した。
【0096】
このため、ポインタPの移動操作に伴う入力イベントをサーバ装置10に送信することなしに、当該ポインタPが移動したオブジェクト領域にて表示すべき追加情報の表示も行うことができる。
【0097】
なお、前記実施形態において記載したSBCシステムによる各処理の手法、すなわち、図8のフローチャートに示すサーバ装置10によるサーバ処理、図9のフローチャートに示す前記サーバ処理に伴う入力対応処理、図10のフローチャートに示すクライアント装置20によるクライアント処理、図11のフローチャートに示す前記クライアント処理に伴うデータ受信処理、図12のフローチャートに示す前記クライアント処理に伴う操作イベントデータ送信処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置18,28の媒体に格納して配布することができる。そして、サーバ装置10やクライアント装置20のコンピュータ(CPU11,21)は、この外部記憶装置18,28の媒体に記憶されたプログラムを記憶装置(フラッシュROM13,23やRAM14,24)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した描画データGに含まれるオブジェクトの情報に基づいたクライアント装置20側だけでのポインタ移動表示機能を実現し、前述した手法による同様の処理を実行することができる。
【0098】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から前記のプログラムデータを取り込んで記憶装置(フラッシュROM13,23やRAM14,24)に記憶させ、前述した描画データGに含まれるオブジェクトの情報に基づいたクライアント装置20側だけでのポインタ移動表示機能を実現することもできる。
【0099】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【0100】
10 …サーバ装置
20 …クライアント装置
11、21…CPU
12、22…バス
13、23…ROM
14、24…RAM
14a…クライアント用フレームバッファRAM
24a…ポインタ形状テーブル
14b,24b…オブジェクト領域テーブル
14bt…オブジェクト情報通知イベント
15、25…フレームバッファRAM
16、26…表示装置
17、27…入力装置
18、28…外部記憶装置
19、29…通信I/F
P1…矢印形状のポインタデータ
P2…指差し形状のポインタデータ
P3…カーソル形状のポインタデータ
N …通信ネットワーク
G …表示用描画データ
【特許請求の範囲】
【請求項1】
ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置であって、
ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、
前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、
このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、
前記画面情報を表示する表示手段と、
ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、
このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、
このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、
このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段と、
を備えたことを特徴とするクライアント装置。
【請求項2】
前記テーブル受信手段は、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報に、前記ポインタの種別情報と追加の表示情報とを関係付けたオブジェクト領域テーブルを受信し、
前記オブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶された追加の表示情報を取得する追加情報取得手段と、
この追加情報取得手段により取得された追加の表示情報を、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させる追加情報表示制御手段と、
をさらに備えたことを特徴とする請求項1に記載のクライアント装置。
【請求項3】
ネットワークを介して接続されたサーバ装置とクライアント装置とを有し、クライアント装置からの入力イベントに応じてサーバ装置により実行されるアプリケーションプログラムに従い生成された画面情報を前記クライアント装置へ送信して表示させるようにしたサーバベース・コンピューティング・システムであって、
前記サーバ装置は、
前記画面情報に含まれるオブジェクト領域の情報とポインタの種別情報とを関係付けたオブジェクト領域テーブルを生成するテーブル生成手段と、
このテーブル生成手段により生成されたオブジェクト領域テーブルを前記クライアント装置へ送信する送信手段とを備え、
前記クライアント装置は、
ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、
前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、
このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、
前記画面情報を表示する表示手段と、
ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、
このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、
このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、
このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段とを備えた、
ことを特徴とするサーバベース・コンピューティング・システム。
【請求項4】
ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
ポインタの種別毎に当該ポインタの描画データを関係付けてメモリに記憶するポインタデータ記憶手段、
前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段、
このテーブル受信手段により受信されたオブジェクト領域テーブルをメモリに記憶するテーブル記憶手段、
前記画面情報を表示部に表示させる表示手段、
この表示手段により表示された画面情報内でのユーザ操作に応じたポインタの移動位置を判断するポインタ移動判断手段、
このポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段、
このオブジェクト領域判断手段により判断されたポインタの移動位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段、
このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応して表示させるポインタ表示制御手段、
として機能させるようにしたクライアント制御プログラム。
【請求項1】
ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置であって、
ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、
前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、
このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、
前記画面情報を表示する表示手段と、
ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、
このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、
このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、
このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段と、
を備えたことを特徴とするクライアント装置。
【請求項2】
前記テーブル受信手段は、前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報に、前記ポインタの種別情報と追加の表示情報とを関係付けたオブジェクト領域テーブルを受信し、
前記オブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶された追加の表示情報を取得する追加情報取得手段と、
この追加情報取得手段により取得された追加の表示情報を、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させる追加情報表示制御手段と、
をさらに備えたことを特徴とする請求項1に記載のクライアント装置。
【請求項3】
ネットワークを介して接続されたサーバ装置とクライアント装置とを有し、クライアント装置からの入力イベントに応じてサーバ装置により実行されるアプリケーションプログラムに従い生成された画面情報を前記クライアント装置へ送信して表示させるようにしたサーバベース・コンピューティング・システムであって、
前記サーバ装置は、
前記画面情報に含まれるオブジェクト領域の情報とポインタの種別情報とを関係付けたオブジェクト領域テーブルを生成するテーブル生成手段と、
このテーブル生成手段により生成されたオブジェクト領域テーブルを前記クライアント装置へ送信する送信手段とを備え、
前記クライアント装置は、
ポインタの種別毎に当該ポインタの描画データを関係付けて記憶するポインタデータ記憶手段と、
前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段と、
このテーブル受信手段により受信されたオブジェクト領域テーブルを記憶するテーブル記憶手段と、
前記画面情報を表示する表示手段と、
ユーザ操作に応じて、前記表示手段により表示された画面情報内でポインタの移動を指示するポインタ移動指示手段と、
このポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段と、
このオブジェクト領域判断手段により判断されたポインタの移動指示位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段と、
このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動指示手段による前記画面情報内でのポインタの移動指示位置に対応して表示させるポインタ表示制御手段とを備えた、
ことを特徴とするサーバベース・コンピューティング・システム。
【請求項4】
ネットワークを介して接続されたサーバ装置に対してユーザ操作に応じた入力イベントを送信し、その入力イベントに応じて前記サーバ装置にて実行されるアプリケーションプログラムに従い生成された画面情報を受信するクライアント装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
ポインタの種別毎に当該ポインタの描画データを関係付けてメモリに記憶するポインタデータ記憶手段、
前記サーバ装置から、前記画面情報に含まれるオブジェクト領域の情報と前記ポインタの種別情報とを関係付けたオブジェクト領域テーブルを受信するテーブル受信手段、
このテーブル受信手段により受信されたオブジェクト領域テーブルをメモリに記憶するテーブル記憶手段、
前記画面情報を表示部に表示させる表示手段、
この表示手段により表示された画面情報内でのユーザ操作に応じたポインタの移動位置を判断するポインタ移動判断手段、
このポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応するところのオブジェクト領域を、前記テーブル記憶手段により記憶されたオブジェクト領域テーブルに基づき判断するオブジェクト領域判断手段、
このオブジェクト領域判断手段により判断されたポインタの移動位置に対応するところのオブジェクト領域に関係付けられて前記テーブル記憶手段により記憶されたポインタの種別情報に従い、前記ポインタデータ記憶手段により記憶されたポインタの描画データを取得するポインタデータ取得手段、
このポインタデータ取得手段により取得されたポインタの描画データを、前記ポインタ移動判断手段により判断された前記画面情報内でのポインタの移動位置に対応して表示させるポインタ表示制御手段、
として機能させるようにしたクライアント制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−20629(P2013−20629A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2012−183706(P2012−183706)
【出願日】平成24年8月23日(2012.8.23)
【分割の表示】特願2009−59671(P2009−59671)の分割
【原出願日】平成21年3月12日(2009.3.12)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願日】平成24年8月23日(2012.8.23)
【分割の表示】特願2009−59671(P2009−59671)の分割
【原出願日】平成21年3月12日(2009.3.12)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]