JP2009199173A - サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム - Google Patents
サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム Download PDFInfo
- Publication number
- JP2009199173A JP2009199173A JP2008037807A JP2008037807A JP2009199173A JP 2009199173 A JP2009199173 A JP 2009199173A JP 2008037807 A JP2008037807 A JP 2008037807A JP 2008037807 A JP2008037807 A JP 2008037807A JP 2009199173 A JP2009199173 A JP 2009199173A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- screen
- command
- client device
- 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.)
- Pending
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
Abstract
【課題】サーバベースコンピューティングシステムにおいて、クライアント装置での表示画質を低下することなく、クライアント装置での表示の高速化を実現する。
【解決手段】画面データのイメージデータ、表示コマンド両方のキャッシュの利用を最適化することにより、サーバ装置からクライアント装置へ送信する画面データのデータ量を少なくして画面データの送信時間を短縮し、表示画質を低下することなくクライアント装置での表示を高速化する。
【選択図】 図9
【解決手段】画面データのイメージデータ、表示コマンド両方のキャッシュの利用を最適化することにより、サーバ装置からクライアント装置へ送信する画面データのデータ量を少なくして画面データの送信時間を短縮し、表示画質を低下することなくクライアント装置での表示を高速化する。
【選択図】 図9
Description
本発明は、SBC(Server Based Computing:サーバベースコンピューティング)環境下にあるサーバ装置においてクライアント装置からの操作指示により実行されたアプリケーションプログラムの実行結果を、ネットワークを介して該ネットワークに接続されているクライアント装置に表示させることができるサーバ装置、クライアント装置、リモート接続システムおよびプログラムに関する。
サーバベースコンピューティングシステムにおいては、サーバ装置はクライアント装置用のアプリケーションプログラムを実行して表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等の記憶装置が基本的には不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。
しかしながら、サーバ装置側で作成されたクライアント装置用の表示データを送信する際に、表示データの量が多い場合は通信時間が長くなり、表示するまでに時間がかかるという問題がある。
また、表示データが頻繁に更新される場合も、表示データの更新の都度、更新された表示データを送信する必要があるので通信時間が長くなり、表示するまでに時間がかかるという問題がある。
表示データの送信方法としては、表示領域をそのまま1つのイメージデータとするイメージ送信と、表示領域を複数の表示コマンドに対応させて分割してから送信するコマンド送信との2種類がある。コマンド送信には、例えば、「座標」「幅」「高さ」「塗りつぶし色」を送信する「単色塗りつぶし送信」と、「座標」「幅」「高さ」「パターンイメージ」を送信する「単一パターン塗りつぶし送信」等がある。
イメージ送信の場合は、送信回数が1回で済み、クライアント装置の表示機能に依存しないというメリットはあるが、データ量が大きくなる。また、コマンド送信の場合は、データ量は小さくなるが、送信回数が増加し、送信できる表示コマンドがクライアント装置の表示機能に依存する。
一般的には、出来るだけ表示データを表示コマンドとして送信し、クライアント装置で処理できないものだけイメージデータとして送信するようにしている。
表示データを送信する際の通信時間を短縮するために、表示データをクライアント装置のRAM内にキャッシュしておき、キャッシュされた表示データと同じ表示データを表示する場合は、表示データの送信をしないようにする方法が用いられる場合もある。この際のキャッシュとしては、イメージデータまたは表示コマンドのいずれか選択された表示データの形式のキャッシュを使用している。
また、更新の発生した領域の画像データをサーバ装置が最初は低画質のイメージデータとして送信し、その後、改めて高画質のイメージデータとしてクライアント装置へ送信することにより、見かけ上の表示の高速化を実現する技術が開示されている。(例えば、特許文献1参照。)
特許文献1の方法では、最初に送信される画面データの画質が良くないといった問題があった。また、イメージデータ、表示コマンドのいずれか選択された表示データの形式のキャッシュを使用する場合は、キャッシュのヒットする確率が良いとはいえないと問題があった。
本発明の目的は、クライアント装置での表示画質を低下することなく、サーバ装置からクライアント装置へ送信する画面データのデータ量を、画面データのイメージデータ、表示コマンド両方のキャッシュを利用することにより少なくして、画面データの送信時間を短縮し、クライアント装置での表示の高速化を実現することである。
請求項1に記載のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させ、前記サービス要求に対応する画面データを前記クライアント装置へ送信するサーバ装置であって、前記クライアント装置から操作データを受信する操作データ受信手段と、アプリケーションプログラムを実行して画面データを生成するプログラム実行手段と、前記画面データを前記クライアント装置へ送信する画面データ送信手段と、前記画面データをキャッシュデータとして保存するように前記クライアント装置へ指示する画面キャッシュ保存指示手段と、前記画面データを生成するためのコマンドをキャッシュデータとして保存するように前記クライアント装置へ指示するコマンドキャッシュ保存指示手段と、前記画面データがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合は画面キャッシュの使用を指示する画面キャッシュ使用指示手段と、前記コマンドがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合はコマンドキャッシュの使用を指示するコマンドキャッシュ使用指示手段と、を備えることを特徴としている。
請求項2に記載のサーバ装置は、前記コマンドキャッシュ使用指示手段が、前記画面キャッシュ使用指示手段により、前記画面データがキャッシュデータとして前記クライアント装置に存在しないと判別された場合に有効となる、ことを特徴としている。
請求項3に記載のクライアント装置は、ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したアプリケーションプログラムの動作に従った画面データを受信するクライアント装置であって、操作データを前記サーバ装置へ送信する操作データ送信手段と、画面データを前記サーバ装置から受信する画面データ受信手段と、前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ保存手段と、前記サーバ装置から受信した前記画面データを生成するためのコマンドをキャッシュデータとして保存するコマンドキャッシュ保存手段と、前記サーバ装置から受信した画面キャッシュの使用の指示により画面キャッシュを使用して画面データを更新する画面キャッシュ使用手段と、前記サーバ装置から受信したコマンドキャッシュの使用の指示によりコマンドキャッシュを使用して画面データを更新するコマンドキャッシュ使用手段と、前記更新された画面データを表示する表示手段と、を備えることを特徴としている。
請求項4に記載のサーバベースコンピューティングシステムは、サーバ装置に対してサービス要求を行なうクライアント装置と、該クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させる前記サーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、前記サーバ装置は、前記クライアント装置から操作データを受信する操作データ受信手段と、アプリケーションプログラムを実行して画面データを生成するプログラム実行手段と、前記画面データを前記クライアント装置へ送信する画面データ送信手段と、 前記画面データをキャッシュデータとして保存するように前記クライアント装置へ指示する画面キャッシュ保存指示手段と、前記画面データを生成するためのコマンドをキャッシュデータとして保存するように前記クライアント装置へ指示するコマンドキャッシュ保存指示手段と、前記画面データがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合は画面キャッシュの使用を指示する画面キャッシュ使用指示手段と、前記コマンドがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合はコマンドキャッシュの使用を指示するコマンドキャッシュ使用指示手段と、を備え、前記クライアント装置は、操作データを前記サーバ装置へ送信する操作データ送信手段と、画面データを前記サーバ装置から受信する画面データ受信手段と、前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ保存手段と、前記サーバ装置から受信した前記画面データを生成するためのコマンドをキャッシュデータとして保存するコマンドキャッシュ保存手段と、前記サーバ装置から受信した画面キャッシュの使用の指示により画面キャッシュを使用して画面データを更新する画面キャッシュ使用手段と、前記サーバ装置から受信したコマンドキャッシュの使用の指示によりコマンドキャッシュを使用して画面データを更新するコマンドキャッシュ使用手段と、前記更新された画面データを表示する表示手段と、を備えることを特徴としている。
請求項5に記載のサーバ装置のプログラムは、サーバ装置のコンピュータを、クライアント装置から操作データを受信する操作データ受信手段、アプリケーションプログラムを実行して画面データを生成するプログラム実行手段、前記画面データを前記クライアント装置へ送信する画面データ送信手段、前記画面データをキャッシュデータとして保存するように前記クライアント装置へ指示する画面キャッシュ保存指示手段、前記画面データを生成するためのコマンドをキャッシュデータとして保存するように前記クライアント装置へ指示するコマンドキャッシュ保存指示手段、前記画面データがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合は画面キャッシュの使用を指示する画面キャッシュ使用指示手段、前記コマンドがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合はコマンドキャッシュの使用を指示するコマンドキャッシュ使用指示手段、として機能させることを特徴としている。
請求項6に記載のクライアント装置のプログラムは、クライアント装置のコンピュータを、操作データを前記サーバ装置へ送信する操作データ送信手段、画面データを前記サーバ装置から受信する画面データ受信手段、前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ保存手段、前記サーバ装置から受信した前記画面データを生成するためのコマンドをキャッシュデータとして保存するコマンドキャッシュ保存手段、前記サーバ装置から受信した画面キャッシュの使用の指示により画面キャッシュを使用して画面データを更新する画面キャッシュ使用手段、前記サーバ装置から受信したコマンドキャッシュの使用の指示によりコマンドキャッシュを使用して画面データを更新するコマンドキャッシュ使用手段、前記更新された画面データを表示する表示手段、として機能させることを特徴としている。
本発明によれば、画面データのイメージデータ、表示コマンド両方のキャッシュの利用を最適化することにより、サーバ装置からクライアント装置へ送信する画面データのデータ量を少なくして画面データの送信時間を短縮し、クライアント装置での表示の高速化をクライアント装置での表示画質を低下することなく実現することができる。
以下図面により本発明の実施の形態について説明する。
まず、本実施形態における構成について説明する。
図1は、本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図である。
このサーバベースコンピューティングシステムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワーク3上に接続されたサーバ装置1および複数のクライアント装置2を備える。クライアント装置2はシンクライアント(thin client)とも呼ばれる。
まず、本実施形態における構成について説明する。
図1は、本発明の実施形態に係るサーバベースコンピューティングシステムの全体構成を示すブロック図である。
このサーバベースコンピューティングシステムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワーク3上に接続されたサーバ装置1および複数のクライアント装置2を備える。クライアント装置2はシンクライアント(thin client)とも呼ばれる。
サーバ装置1は、文書作成処理プログラム,表計算処理プログラム,プレゼン資料作成プログラム,メール処理プログラム,インターネット接続処理プログラム、Webブラウザなど、複数のアプリケーションプログラムを有し、当該サーバ装置1に接続されたクライアント装置2からの操作入力(入力イベント)信号に応じて起動しその処理を実行する。本実施例では、Webページを閲覧するためのアプリケーションプログラムであるWebブラウザを実行する。
このサーバ装置1において、クライアント装置2からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、端末用のフレームバッファ14a上に生成された表示出力用の画面データは、アクセス元のクライアント装置2へ送信される。
そして、クライアント装置2では、前記サーバ装置1から転送された画面データがフレームバッファ25に展開され、表示部に表示される。
つまり、このサーバベースコンピューティングシステムにおける各クライアント装置2は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能と表示部への出力機能を主要な機能として有し、少なくとも前記サーバ装置1が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
つまり、このサーバベースコンピューティングシステムにおける各クライアント装置2は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能と表示部への出力機能を主要な機能として有し、少なくとも前記サーバ装置1が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
図2は、本実施形態に係るサーバ装置1の主要部構成を示すブロック図である。
サーバ装置1は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してROM13、RAM14、フレームバッファRAM15、表示装置16が接続される。
サーバ装置1は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してROM13、RAM14、フレームバッファRAM15、表示装置16が接続される。
また、CPU11には、バス12を介してキーボード,マウスなどの入力装置17、ハードディスクなどの外部記憶装置18、クライアント装置2,…との通信I/F(インターフェイス)19が接続される。
CPU11は、ROM13に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM14を作業用メモリとし回路各部の動作を制御するもので、入力装置17からのキー入力信号や通信I/F19を介して受信されるクライアント装置2からのユーザ操作(入力イベント)に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
CPU11は、ROM13に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM14を作業用メモリとし回路各部の動作を制御するもので、入力装置17からのキー入力信号や通信I/F19を介して受信されるクライアント装置2からのユーザ操作(入力イベント)に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
このサーバ装置1において、クライアント装置2からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶装置18に記憶され、また表示用の画面データは、RAM14内の端末用フレームバッファ14aを使用して生成されると共に、通信I/F19からクライアント装置2へ転送されて表示出力される。
なお、当該サーバ装置1自身の表示装置16にて表示させるための画面データは、フレームバッファRAM15上に生成される。
図3は、本実施形態に係るクライアント装置2の主要部構成を示すブロック図である。
クライアント装置2は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してROM23、RAM24、フレームバッファRAM25が接続される。そして、このフレームバッファRAM25に書き込まれた画面データが表示装置26に出力されて表示される。
図3は、本実施形態に係るクライアント装置2の主要部構成を示すブロック図である。
クライアント装置2は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してROM23、RAM24、フレームバッファRAM25が接続される。そして、このフレームバッファRAM25に書き込まれた画面データが表示装置26に出力されて表示される。
また、CPU21には、バス22を介してキーボード,マウス,マイク,光センサなどの入力装置27、フラッシュメモリなどの外部記憶装置28、前記サーバ装置1との通信I/F(インターフェイス)29が接続される。
CPU21は、ROM23に予め記憶されているシステムプログラムに従ってRAM24を作業用メモリとし回路各部の動作を制御するもので、入力装置27からのキー入力信号や通信I/F29を介して受信されるサーバ装置1からのアプリケーション応答信号や画面データなどに応じて前記システムプログラムが起動され実行される。
CPU21は、ROM23に予め記憶されているシステムプログラムに従ってRAM24を作業用メモリとし回路各部の動作を制御するもので、入力装置27からのキー入力信号や通信I/F29を介して受信されるサーバ装置1からのアプリケーション応答信号や画面データなどに応じて前記システムプログラムが起動され実行される。
このクライアント装置2において、前記サーバ装置1におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置28に書き込んで記憶させる。また、受信した表示用の画面データは、フレームバッファRAM25に書き込まれ表示装置26に表示出力される。
次に、本実施形態において使用するデータについて説明する。
図4は、サーバ装置1のRAM14に記憶される表示データのキャッシュメモリ14bの一例を示す図である。サーバ装置1では、表示データのキャッシュメモリ14b内には、画面データまたはコマンドデータそのものではなく、画面データまたはコマンドデータのハッシュ値を格納する。ハッシュ値とは、あるデータが与えられた場合にそのデータを代表する数値を得るためのハッシュ関数から得られる数値であり、MD5(Message Digest 5)やSHA-1(Secure Hash Algorithm 1)などのハッシュ関数を用いる。
図4は、サーバ装置1のRAM14に記憶される表示データのキャッシュメモリ14bの一例を示す図である。サーバ装置1では、表示データのキャッシュメモリ14b内には、画面データまたはコマンドデータそのものではなく、画面データまたはコマンドデータのハッシュ値を格納する。ハッシュ値とは、あるデータが与えられた場合にそのデータを代表する数値を得るためのハッシュ関数から得られる数値であり、MD5(Message Digest 5)やSHA-1(Secure Hash Algorithm 1)などのハッシュ関数を用いる。
表示データのキャッシュメモリ14bに記憶される表示データは、画面データまたはコマンドデータ毎に識別子としてキャッシュIDを付し、画面データまたはコマンドデータを示すフラグと共に画面データまたはコマンドデータのハッシュ値を格納する。フラグの値が「0」の場合はコマンドデータ、フラグの値が「1」の場合は画面データを示す。そして、キャッシュIDはそれぞれが互いにポインタによりリンクされており、ポインタの終端はNULLになっている。表示データのキャッシュメモリ14bは所定の容量が確保される。
図5は、クライアント装置2のRAM24に記憶される表示データのキャッシュメモリ24aの一例を示す図である。クライアント装置2では、表示データのキャッシュメモリ24a内には、画面データまたはコマンドデータそのものを格納する。
表示データのキャッシュメモリ24aに記憶される表示データは、画面データまたはコマンドデータ毎に識別子としてキャッシュIDを付し、画面データまたはコマンドデータを示すフラグと共に画面データまたはコマンドデータを格納する。フラグの値が「0」の場合はコマンドデータ、フラグの値が「1」の場合は画面データを示す。そして、キャッシュIDはそれぞれが互いにポインタによりリンクされており、ポインタの終端はNULLになっている。表示データのキャッシュメモリ24aは所定の容量が確保される。
図6は、サーバ装置1からクライアント装置2へ送信される送信データのフォーマットの一例を示す図である。送信データは共通ヘッダ部とデータ部から構成されている。共通ヘッダ部は、キャッシュデータとして登録をする「1」、しない「0」を示すフラグ、表示データのX座標とY座標とを示す位置、表示データの幅と高さとを示すサイズ、キャッシュの識別子となるキャッシュID、表示データがイメージデータかコマンドかを示すデータタイプ、から構成されている。
データ部は、データタイプがイメージデータの場合は、PNG(Portable Network Graphics)やGIF(Graphic Interchange Format)などのイメージデータのデータ種別、イメージデータのバイト数、イメージデータの値、から構成されている。また、データタイプがコマンドデータの場合は、コマンドとそのコマンドに付随した各種のパラメータ、から構成されている。
サーバ装置1側の表示データのキャッシュメモリ14bとクライアント装置2側の表示データのキャッシュメモリ24aとのデータ内容の同期は、サーバ装置1からクライアント装置2へ送信される図6に示す送信データを用いて、サーバ装置1の主導により行われる。
次に、本実施形態における画面データについて説明する。
図7は、サーバ装置1で作成した画面の一例を示す図である。Webブラウザにより、ある会社の全社ポータルサイトのトップ画面が表示されている。画面は3つの領域に分かれており、上部がタイトル部、左部がインデックス部、右部が詳細部である。詳細部には、トップニュースに関する詳細記事と写真、および新製品の発売に関する詳細記事と写真が表示されている。
図7は、サーバ装置1で作成した画面の一例を示す図である。Webブラウザにより、ある会社の全社ポータルサイトのトップ画面が表示されている。画面は3つの領域に分かれており、上部がタイトル部、左部がインデックス部、右部が詳細部である。詳細部には、トップニュースに関する詳細記事と写真、および新製品の発売に関する詳細記事と写真が表示されている。
図8は、サーバ装置1で作成した画面を表示コマンドまたはイメージデータの表示単位の構成部品に分割した一例を示す図である。この図は、図7に示す画面を表示単位の構成部品に分割したものである。上部のタイトル部は、背景32A、タイトル32B、項目名32Cから構成される。左部のインデックス部は、背景32D、タイトル32E、項目名32Fから構成される。右部の詳細部は、背景32G、1つ目の詳細のタイトル32H,1つ目の詳細の説明文32I、1つ目の詳細の写真32Jと2つ目の詳細のタイトル32K、2つ目の詳細の説明文32L、2つ目の詳細の写真32Mから構成される。
次に、本実施形態におけるサーバ装置1の動作について説明する。
図9は、サーバ装置1において実行される表示データの送信処理の詳細を示すフローチャートである。Webブラウザが、図7に示すような画面データをクライアント用フレームバッファ14aに作成し、表示データのキャッシュメモリ14bの内容を判別しながらクライアント装置2へ送信するまでの手順を示している。なお、画面データを作成する際に使用した表示コマンドはRAM14の所定の領域に記憶してある。
図9は、サーバ装置1において実行される表示データの送信処理の詳細を示すフローチャートである。Webブラウザが、図7に示すような画面データをクライアント用フレームバッファ14aに作成し、表示データのキャッシュメモリ14bの内容を判別しながらクライアント装置2へ送信するまでの手順を示している。なお、画面データを作成する際に使用した表示コマンドはRAM14の所定の領域に記憶してある。
まず、ステップS01では、図7に示すような画面データのハッシュ値をMD5やSHA-1などのハッシュ関数を用いて生成する。生成したハッシュ値が図4に示す表示データのキャッシュメモリ14b上の画面データのハッシュ値と一致するか否かを判別する。
ハッシュ値が一致する場合(ステップS02:Yes)は、クライアント装置2に画面データのキャッシュが存在するので、ハッシュ値に対応した画面データのキャッシュIDをクライアント装置2へ送信する(ステップS03)。
また、ハッシュ値が一致しない場合(ステップS02:No)は、クライアント装置2に画面データのキャッシュが存在しないので、画面データをクライアント装置2の表示データのキャッシュメモリ24aに保存するようにクライアント装置2へ指示する(ステップS04)。
次に、画面データのキャッシュが存在しない場合は、図7に示す画面データを、図8に示すような32A〜32Mの表示コマンドまたはイメージデータの表示単位に分割してクライアント装置2へ送信する。この時、表示コマンドのキャッシュが存在する場合は、表示コマンドのキャッシュを使用するように指示し、表示コマンドのキャッシュが存在しない場合は、表示コマンドまたはイメージデータを送信する。
ステップS05では、図8に示すような表示単位の中のRAM14の所定の領域に記憶された表示コマンドについて、MD5やSHA-1などのハッシュ関数を用いてハッシュ値を生成する。生成したハッシュ値が図4に示す表示データのキャッシュメモリ14b上の表示コマンドのハッシュ値と一致するか否かを判別する。
ハッシュ値が一致する場合(ステップS06:Yes)は、クライアント装置2に表示コマンドのキャッシュが存在するので、ハッシュ値に対応した表示コマンドのキャッシュIDをクライアント装置2へ送信する(ステップS07)。
また、ハッシュ値が一致しない場合(ステップS06:No)は、クライアント装置2に表示コマンドのキャッシュが存在しないので、ステップS05へ戻り、次の表示コマンドのキャッシュが存在するが否かのチェックを行い(ステップS08)、次の表示コマンドがなくなるまで繰り返す。
次に、画面の構成部品の中から、以降の処理の対象となる表示コマンドのキャッシュが存在しなかった構成部品を選別する(ステップS09)。
選別した構成部品が表示コマンドの場合(ステップS10:Yes)は、表示コマンドをキャッシュするための指示をクライアント装置2へ送信する(ステップS11)。
選別した構成部品が表示コマンドでない場合(ステップS10:No)は、構成部品をイメージデータとしてクライアント装置2へ送信し(ステップS11)、ステップS09へ戻り、次の構成部品が存在するが否かのチェックを行い(ステップS13)、次の構成部品がなくなるまで繰り返す。
次に、本実施形態におけるクライアント装置2の動作について説明する。
図10は、クライアント装置2において実行される表示データの受信処理の詳細を示すフローチャートである。サーバ装置1から表示とキャッシュに関するデータを受信し、サーバ装置1の指示に従って処理を行う。
図10は、クライアント装置2において実行される表示データの受信処理の詳細を示すフローチャートである。サーバ装置1から表示とキャッシュに関するデータを受信し、サーバ装置1の指示に従って処理を行う。
まず、ステップC01では、図6に示すようなフォーマットのデータをサーバ装置1から受信する。共通ヘッダの先頭のフラグの値が「0」の場合は、登録されているキャッシュの読み出し指示となり、共通ヘッダの先頭のフラグの値が「1」の場合は、キャッシュへの登録指示となる。そして、共通ヘッダのデータタイプにより、イメージデータとして処理するか、あるいは、コマンドとして処理するかに処理が分かれる。
受信したデータが、画面データのキャッシュIDを付帯させた画面キャッシュの読み出し指示ならば(ステップC02:Yes)、付帯した画面データのキャッシュIDを元に、図5に示す表示データのキャッシュメモリ24aを検索して該当する画面データのキャッシュデータを読み出して、フレームバッファRAM25に書き込む(ステップC03)。その結果、表示装置26の表示画面が画面データのキャッシュデータの内容に更新される。
受信したデータが、画面データのキャッシュIDを付帯させた画面キャッシュの保存指示ならば(ステップC04:Yes)、付帯した画面データのキャッシュIDとフレームバッファRAM25のデータを、画面データのキャッシュとして表示データのキャッシュメモリ24aに書き込み保存する(ステップC05)。
受信したデータが、表示コマンドのキャッシュIDを付帯させた表示コマンドの読み出し指示ならば(ステップC06:Yes)、付帯した表示コマンドのキャッシュIDを元に、図5に示す表示データのキャッシュメモリ24aを検索して該当する表示コマンドのキャッシュデータを読み出してその表示コマンドを実行し、フレームバッファRAM25に書き込む(ステップC07)。その結果、表示装置26の表示画面が表示コマンドのキャッシュデータの内容を反映して更新される。
受信したデータが、表示コマンドの保存指示ならば(ステップC08:Yes)、指示された表示コマンドを実行し、その表示コマンドをフレームバッファRAM25に書き込む(ステップC09)。その結果、表示装置26の表示画面が表示コマンドの内容を反映して更新される。そして、受信した表示コマンドを表示データのキャッシュメモリ24aに保存する(ステップC10)。
受信したデータが、表示コマンドの保存指示でもない場合は(ステップC08:No)、イメージデータの表示指示なので、受信したイメージデータをフレームバッファRAM25に書き込む(ステップC11)。その結果、表示装置26の表示画面がイメージデータの内容を反映して更新される。
図9と図10により、サーバ装置1において実行される表示データの送信処理とクライアント装置2において実行される表示データの受信処理とを説明したが、画面データのキャッシュと表示コマンド双方について、キャッシュの保存と使用に関する処理を、より詳細にサーバ装置1とクライアント装置2とのシーケンス図を用いて説明する。
図11は、画面キャッシュの保存指示におけるサーバ装置1とクライアント装置2とのシーケンス図である。図9のステップS04と図10のステップC05の処理に相当する。
まず、シーケンスSC11で、クライアント装置2の表示データのキャッシュメモリ24aに画面データを保存するように、サーバ装置1からクライアント装置2へ指示する。クライアント装置2は、フレームバッファRAM25のデータからハッシュ値を生成し(シーケンスSC12)、サーバ装置1へ送信する(シーケンスSC13)。
サーバ装置1は、画面データのキャッシュIDを生成し(シーケンスSC14)、生成したキャッシュIDと受信したハッシュ値を、図4に示す表示データのキャッシュメモリ14bに保存する(シーケンスSC15)。そして、生成したキャッシュIDを付帯させて、画面データをキャッシュに保存するようクライアント装置2へ指示する(シーケンスSC16)。クライアント装置2は、受信したキャッシュIDとフレームバッファRAM25のデータを図5に示す表示データのキャッシュメモリ24aに画面データのキャッシュとして保存する(シーケンスSC17)。
図12は、画面キャッシュの使用指示におけるサーバ装置1とクライアント装置2とのシーケンス図である。図9のステップS03と図10のステップC03の処理に相当する。
まず、シーケンスSC21で、クライアント装置2の表示データのキャッシュメモリ24aから画面データを読み出すように、画面データのキャッシュIDを付帯させて、サーバ装置1からクライアント装置2へ指示する。クライアント装置2は、付帯した画面データのキャッシュIDを元に、図5に示す表示データのキャッシュメモリ24aを検索して該当する画面データのキャッシュデータを読み出し(シーケンスSC22)、読み出した画面データをフレームバッファRAM25に書き込む(シーケンスSC23)。その結果、表示装置26の表示画面が画面データの内容を反映して更新される。
図13は、コマンドキャッシュの保存指示におけるサーバ装置1とクライアント装置2とのシーケンス図である。図9のステップS11と図10のステップC10の処理に相当する。
まず、シーケンスCC11で、表示コマンドのキャッシュIDを生成し、クライアント装置2の表示データのキャッシュメモリ24aに表示コマンドを保存するように、生成したキャッシュIDを付帯させてサーバ装置1からクライアント装置2へ指示する(シーケンスCC12)。クライアント装置2は、受信したキャッシュIDと表示コマンドを表示データのキャッシュメモリ24aに保存する(シーケンスCC13)。
図14は、コマンドキャッシュの使用指示におけるサーバ装置1とクライアント装置2とのシーケンス図である。図9のステップS07と図10のステップC07の処理に相当する。
まず、シーケンスCC21で、クライアント装置2の表示データのキャッシュメモリ24aから表示コマンドを読み出すように、表示コマンドのキャッシュIDを付帯させて、サーバ装置1からクライアント装置2へ指示する。クライアント装置2は、付帯した表示コマンドのキャッシュIDを元に、図5に示す表示データのキャッシュメモリ24aを検索して該当する表示コマンドのキャッシュデータを読み出し(シーケンスCC22)、読み出した表示コマンドを実行してフレームバッファRAM25に書き込む(シーケンスCC23)。その結果、表示装置26の表示画面が表示コマンドの内容を反映して更新される。
上述の図11〜図14のシーケンスにより、サーバ装置1側の表示データのキャッシュメモリ14bとクライアント装置2側の表示データのキャッシュメモリ24aとで、キャッシュデータの整合性が保たれることになる。
サーバ装置1における表示データのキャッシュメモリ14b、及びクライアント装置2おける表示データのキャッシュメモリ24aは、記録するデータが増加するにつれて容量が不足してくるので、不要なデータを削除する必要がある。新たに記録するための充分な領域が不足する場合は、適時古いデータから順に削除することにより領域を確保する。
前記実施形態において、サーバ装置1からクライアント装置2へデータを送信する際に、サーバ装置1側でデータを圧縮し、クライアント装置2側で受信したデータを伸張するようにしてもよい。また、サーバ装置1側でデータを暗号化し、クライアント装置2側で受信したデータを復号化するようにしてもよい。さらに、データの圧縮・伸張とデータの暗号化・復号化とを組み合わせてもよい。
前記実施形態において記載したサーバ装置1、クライアント装置2の処理、すなわち図9及び図10のフローチャートに示す各処理は、何れもコンピュータが読み取り可能なプログラムとして、外部記憶装置18、外部記憶装置28に記憶されている。なお、これらのプログラムは、半導体メモリ(ROM、RAM等)、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)の記録媒体に記憶してもよく、更に、プログラムの一部若しくは全部をサーバ装置1やクライアント装置2に備えられた記録媒体に記憶し、ネットワーク3を介して受信して読み取る構成にしてもよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
1 …サーバ装置
2 …クライアント装置
3 …通信ネットワーク
11、21…CPU
12、22…バス
13、23…ROM
14、24…RAM
14a…クライアント用フレームバッファ
14b、24a…表示データのキャッシュメモリ
15、25…フレームバッファRAM
16、26…表示装置
17、27…入力装置
18、28…外部記憶装置
19、29…通信I/F
2 …クライアント装置
3 …通信ネットワーク
11、21…CPU
12、22…バス
13、23…ROM
14、24…RAM
14a…クライアント用フレームバッファ
14b、24a…表示データのキャッシュメモリ
15、25…フレームバッファRAM
16、26…表示装置
17、27…入力装置
18、28…外部記憶装置
19、29…通信I/F
Claims (6)
- ネットワークを介したクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させ、前記サービス要求に対応する画面データを前記クライアント装置へ送信するサーバ装置であって、
前記クライアント装置から操作データを受信する操作データ受信手段と、
アプリケーションプログラムを実行して画面データを生成するプログラム実行手段と、
前記画面データを前記クライアント装置へ送信する画面データ送信手段と、
前記画面データをキャッシュデータとして保存するように前記クライアント装置へ指示する画面キャッシュ保存指示手段と、
前記画面データを生成するためのコマンドをキャッシュデータとして保存するように前記クライアント装置へ指示するコマンドキャッシュ保存指示手段と、
前記画面データがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合は画面キャッシュの使用を指示する画面キャッシュ使用指示手段と、
前記コマンドがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合はコマンドキャッシュの使用を指示するコマンドキャッシュ使用指示手段と、
を備えることを特徴とするサーバ装置。 - 前記コマンドキャッシュ使用指示手段は、前記画面キャッシュ使用指示手段により、前記画面データがキャッシュデータとして前記クライアント装置に存在しないと判別された場合に有効となる、
ことを特徴とする請求項1に記載のサーバ装置。 - ネットワークを介して接続されたサーバ装置へサービス要求を行い、そのサービス要求に対応したアプリケーションプログラムの動作に従った画面データを受信するクライアント装置であって、
操作データを前記サーバ装置へ送信する操作データ送信手段と、
画面データを前記サーバ装置から受信する画面データ受信手段と、
前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ保存手段と、
前記サーバ装置から受信した前記画面データを生成するためのコマンドをキャッシュデータとして保存するコマンドキャッシュ保存手段と、
前記サーバ装置から受信した画面キャッシュの使用の指示により画面キャッシュを使用して画面データを更新する画面キャッシュ使用手段と、
前記サーバ装置から受信したコマンドキャッシュの使用の指示によりコマンドキャッシュを使用して画面データを更新するコマンドキャッシュ使用手段と、
前記更新された画面データを表示する表示手段と、
を備えることを特徴とするクライアント装置。 - サーバ装置に対してサービス要求を行なうクライアント装置と、該クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させる前記サーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムにおいて、
前記サーバ装置は、
前記クライアント装置から操作データを受信する操作データ受信手段と、
アプリケーションプログラムを実行して画面データを生成するプログラム実行手段と、
前記画面データを前記クライアント装置へ送信する画面データ送信手段と、
前記画面データをキャッシュデータとして保存するように前記クライアント装置へ指示する画面キャッシュ保存指示手段と、
前記画面データを生成するためのコマンドをキャッシュデータとして保存するように前記クライアント装置へ指示するコマンドキャッシュ保存指示手段と、
前記画面データがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合は画面キャッシュの使用を指示する画面キャッシュ使用指示手段と、
前記コマンドがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合はコマンドキャッシュの使用を指示するコマンドキャッシュ使用指示手段と、
を備え、
前記クライアント装置は、
操作データを前記サーバ装置へ送信する操作データ送信手段と、
画面データを前記サーバ装置から受信する画面データ受信手段と、
前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ保存手段と、
前記サーバ装置から受信した前記画面データを生成するためのコマンドをキャッシュデータとして保存するコマンドキャッシュ保存手段と、
前記サーバ装置から受信した画面キャッシュの使用の指示により画面キャッシュを使用して画面データを更新する画面キャッシュ使用手段と、
前記サーバ装置から受信したコマンドキャッシュの使用の指示によりコマンドキャッシュを使用して画面データを更新するコマンドキャッシュ使用手段と、
前記更新された画面データを表示する表示手段と、
を備えることを特徴とするサーバベースコンピューティングシステム。 - サーバ装置のコンピュータを、
クライアント装置から操作データを受信する操作データ受信手段、
アプリケーションプログラムを実行して画面データを生成するプログラム実行手段、
前記画面データを前記クライアント装置へ送信する画面データ送信手段、
前記画面データをキャッシュデータとして保存するように前記クライアント装置へ指示する画面キャッシュ保存指示手段、
前記画面データを生成するためのコマンドをキャッシュデータとして保存するように前記クライアント装置へ指示するコマンドキャッシュ保存指示手段、
前記画面データがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合は画面キャッシュの使用を指示する画面キャッシュ使用指示手段、
前記コマンドがキャッシュデータとして前記クライアント装置に存在するか否かを判別し、存在する場合はコマンドキャッシュの使用を指示するコマンドキャッシュ使用指示手段、
として機能させるためのプログラム。 - クライアント装置のコンピュータを、
操作データを前記サーバ装置へ送信する操作データ送信手段、
画面データを前記サーバ装置から受信する画面データ受信手段、
前記サーバ装置から受信した前記画面データをキャッシュデータとして保存する画面キャッシュ保存手段、
前記サーバ装置から受信した前記画面データを生成するためのコマンドをキャッシュデータとして保存するコマンドキャッシュ保存手段、
前記サーバ装置から受信した画面キャッシュの使用の指示により画面キャッシュを使用して画面データを更新する画面キャッシュ使用手段、
前記サーバ装置から受信したコマンドキャッシュの使用の指示によりコマンドキャッシュを使用して画面データを更新するコマンドキャッシュ使用手段、
前記更新された画面データを表示する表示手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037807A JP2009199173A (ja) | 2008-02-19 | 2008-02-19 | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037807A JP2009199173A (ja) | 2008-02-19 | 2008-02-19 | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009199173A true JP2009199173A (ja) | 2009-09-03 |
Family
ID=41142628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008037807A Pending JP2009199173A (ja) | 2008-02-19 | 2008-02-19 | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009199173A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013537665A (ja) * | 2010-07-12 | 2013-10-03 | アリババ・グループ・ホールディング・リミテッド | ウェブページのネストしたフラグメントキャッシングを処理する方法および装置 |
JP2015032052A (ja) * | 2013-07-31 | 2015-02-16 | エスアーペー エスエー | ビジネスオブジェクトの表現および詳細ボックスの表示背景 |
JP6880343B1 (ja) * | 2020-07-17 | 2021-06-02 | 三菱電機株式会社 | スケジューラシステム、スケジューラ管理装置および機械学習装置 |
-
2008
- 2008-02-19 JP JP2008037807A patent/JP2009199173A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013537665A (ja) * | 2010-07-12 | 2013-10-03 | アリババ・グループ・ホールディング・リミテッド | ウェブページのネストしたフラグメントキャッシングを処理する方法および装置 |
US9195638B2 (en) | 2010-07-12 | 2015-11-24 | Alibaba Group Holding Limited | Method and apparatus of processing nested fragment caching of a web page |
JP2016035764A (ja) * | 2010-07-12 | 2016-03-17 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ウェブページのネストしたフラグメントキャッシングを処理する方法および装置 |
JP2015032052A (ja) * | 2013-07-31 | 2015-02-16 | エスアーペー エスエー | ビジネスオブジェクトの表現および詳細ボックスの表示背景 |
JP6880343B1 (ja) * | 2020-07-17 | 2021-06-02 | 三菱電機株式会社 | スケジューラシステム、スケジューラ管理装置および機械学習装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4642697B2 (ja) | 画像キャッシュメモリを有する画像表示装置 | |
JP2011108102A (ja) | ウェブサーバ、ウェブブラウザおよびウェブシステム | |
EP2336910B1 (en) | Generating device specific thumbnails | |
CN104199728B (zh) | 图片传送信息展示方法和装置 | |
JP4347264B2 (ja) | 文書管理システム | |
US20100306687A1 (en) | System and method for avatar management | |
US11869112B2 (en) | Watermark embedding method and apparatus, terminal, and storage medium | |
JP2009199173A (ja) | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム | |
JP2009110216A (ja) | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム | |
CN113805864A (zh) | 一种项目工程的生成方法、装置、电子设备及存储介质 | |
JP5632733B2 (ja) | 表示装置、画面画像転送方法、及びプログラム | |
JP2008035224A (ja) | ログ情報管理システム、ログ情報管理装置、ログ情報管理方法、ログ情報管理プログラム及び記憶媒体 | |
JP5035194B2 (ja) | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム | |
JP2010015432A (ja) | サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム | |
US9552044B2 (en) | Information processing apparatus, information processing system, information processing method, and non-transitory computer readable medium | |
JP2005104154A5 (ja) | ||
JP2004110204A (ja) | 情報処理装置、機能拡張プログラム、それをコンピュータ読み取り可能に記憶した記憶媒体、情報処理方法 | |
JP5397591B2 (ja) | 文書管理プログラムおよび文書管理装置 | |
JP2003196134A (ja) | 画像に基づく情報交換システムのクライアント側システム、サーバ側システム及びクライアント側プログラム並びに交換する情報データを記録した媒体 | |
JP5641018B2 (ja) | データ処理装置およびプログラム | |
JP5240184B2 (ja) | 画像送信装置、画像送信プログラム、及び画像表示システム | |
JP2009134457A (ja) | プログラム及び画像ファイル管理装置 | |
JP2006252410A (ja) | 文書管理装置、方法および記憶媒体 | |
JP2006268271A (ja) | 印刷データ処理装置及びプリンタ | |
JP2009205218A (ja) | クライアント装置、サーバベースコンピューティングシステムおよびプログラム |