(57)【要約】【課題】キャッシュ領域が十分確保されていないクライアント装置であっても、操作に対する表示レスポンスが早いサーバベース・コンピューティング・システムのクライアント装置、及びプログラムを提供すること。【解決手段】サーバ装置により生成された画面情報を受信し、受信された画面情報を圧縮し、圧縮された圧縮画面情報をキャッシュ領域に記憶し、記憶される圧縮画面情報を該クライアント装置の表示部へ出力すると共に、サーバ装置から圧縮画面情報に対応する画面情報を受信し、受信した画面情報を該クライアント装置の表示部へ出力するようにした。なお、前記圧縮画面情報をキャッシュ領域に記憶する記憶手法を、画面情報をサーバ装置から受信してから所定時間経過後に画面情報を自動的に圧縮させて、記憶することにした。【選択図】      図１
2014030209.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
画面情報を取得する画面情報取得手段と、
この画面情報取得手段により取得された画面情報を圧縮する圧縮手段と、
この圧縮手段により圧縮された圧縮画面情報をキャッシュ領域に記憶する圧縮画面情報記憶手段と、
この圧縮画面情報記憶手段により記憶される圧縮画面情報を表示部へ出力すると共に、前記圧縮画面情報に対応する画面情報を取得し、この取得した画面情報を前記表示部へ出力するように制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記画面情報取得手段により前記画面情報を取得してから所定時間経過後に前記画面情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項３】
時間を計時して時間情報を出力する計時手段と、
この計時手段から出力される時間情報に対応付けて前記画面情報を記憶する画面情報記憶手段とをさらに備え、
前記制御手段は、前記画面情報記憶手段に記憶される時間情報に基づいて画面情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項４】
前記画面情報が出力される回数を計算する出力回数計算手段をさらに備え、
前記画面情報記憶手段は、前記画面情報と前記出力回数計算手段により計算される回数を対応付けて記憶し、
前記制御手段は、前記画面情報記憶手段に記憶される回数に基づいて画面情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項５】
前記制御手段は、前記画面情報記憶手段に記憶される容量が大きい画面情報を検索し、当該検索された画面情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項６】
前記圧縮手段により圧縮される前記画面情報の圧縮率を算出する圧縮率算出手段をさらに備え、
前記制御手段は、前記圧縮率算出手段により算出された圧縮率の高い画面情報を検索し、当該検索された画面情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項７】
前記画面情報取得手段は、外部装置から画像情報を取得する請求項１〜６に記載の画像処理装置。
【請求項８】
コンピュータを、
画面情報を取得する画面情報取得手段、
この画面情報取得手段により取得された画面情報を圧縮する圧縮手段、
この圧縮手段により圧縮された圧縮画面情報をキャッシュ領域に記憶する圧縮画面情報記憶手段、
この圧縮画面情報記憶手段により記憶される圧縮画面情報を表示部へ出力すると共に、前記圧縮画面情報に対応する画面情報を取得し、この取得した画面情報を前記表示部へ出力するように制御する制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及びプログラムに関する。
【背景技術】
【０００２】
サーバベース・コンピューティング・システム(Server Based Computing System)とは、全てのアプリケーションの実行等の各種処理をサーバ装置上で行い、クライアント装置を入力及び出力の端末として使用するコンピューティング・システムである。このサーバベース・コンピューティング・システムでは、クライアント装置からサーバ装置に対してキーボードやマウス等の入力情報を送信し、この入力情報に基づいてサーバ装置からクライアント装置に対してはクライアント装置で表示される画面情報を生成し、送信する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１７１０６３号公報
【０００４】
画面情報が送信されるネットワーク・トラフィックを減らし、クライアント装置での操作レスポンスの向上のために、サーバ装置から送信された画面情報は、必要に応じてサーバ装置及びクライアント装置のキャッシュ領域に記憶管理され、キャッシュ領域に記憶される画面情報と同一の画面情報はサーバ装置から再度クライアント装置に送信せず、クライアント装置のキャッシュ領域に記憶される画面情報がクライアント装置では表示される。なお一般的には、キャッシュ領域に記憶管理される画面情報とは、文字フォントや初期画面等の画像データ（画面情報）である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来のサーバベース・コンピューティング・システムでは、キャッシュ領域が十分確保されていないクライアント装置を用いた場合に、サーバ装置からクライアント装置への画面情報の送信回数が多くなっていた。このため、サーバ装置及びクライアント装置の間のネットワーク・トラフィックが混雑している場合に、クライアント装置の操作に対する表示レスポンスが遅くなり、操作性が低下してしまうという問題があった。
【０００６】
本発明の課題は、表示レスポンスが早い画像処理装置、及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、画像処理装置であって、画面情報を取得する画面情報取得手段と、この画面情報取得手段により取得された画面情報を圧縮する圧縮手段と、この圧縮手段により圧縮された圧縮画面情報をキャッシュ領域に記憶する圧縮画面情報記憶手段と、この圧縮画面情報記憶手段により記憶される圧縮画面情報を表示部へ出力すると共に、前記圧縮画面情報に対応する画面情報を取得し、この取得した画面情報を前記表示部へ出力するように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、表示レスポンスが早い画像処理装置、及びプログラムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る第１の実施の形態のサーバベース・コンピューティング・システムの構成を示す図である。
【図２】サーバ装置の内部構成を示すブロック図である。
【図３】クライアント装置の内部構成を示すブロック図である。
【図４】サーバ装置に記憶される管理テーブルの構成を示す図である。
【図５】クライアント装置に記憶される管理テーブルの構成を示す図である。
【図６】サーバ装置で実行されるサーバ処理を示すフローチャートである。
【図７】クライアント装置で実行されるクライアント処理を示すフローチャートである。
【図８】クライアント処理における第１の再描画要求処理を示すフローチャートである。
【図９】クライアント処理における第１のキャッシュ格納処理を示すフローチャートである。
【図１０】クライアント装置で実行されるＴＩＭＥＲタスク処理を示すフローチャートである。
【図１１】本発明に係る第２の実施の形態のクライアント処理における第２の再描画要求処理を示すフローチャートである。
【図１２】クライアント処理における第２のキャッシュ格納処理を示すフローチャートである。
【図１３】第２のキャッシュ格納処理における第１のキャッシュＪＰＥＧ化処理を示すフローチャートである。
【図１４】本発明に係る第３の実施の形態のクライアント処理における第３の再描画要求処理を示すフローチャートである。
【図１５】クライアント処理における第３のキャッシュ格納処理を示すフローチャートである。
【図１６】第３のキャッシュ格納処理における第２のキャッシュＪＰＥＧ化処理を示すフローチャートである。
【図１７】第１の変形例の第３のキャッシュＪＰＥＧ化処理を示すフローチャートである。
【図１８】第２の変形例の第４のキャッシュＪＰＥＧ化処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明に係る好適な第１〜第３の実施の形態及び第１、第２の変形例を順に詳細に説明する。なお本発明は、図示例に限定されるものではない。
【００１１】
（第１の実施の形態）
先ず図１〜図１０を参照して、本発明に係る第１実施の形態を説明する。図１〜図３は、本実施の形態の装置構成である。図１に、本実施の形態のサーバベース・コンピューティング・システム１の全体構成を示す。図２に、サーバ装置１０の内部構成を示す。図３にクライアント装置２０Ａの内部構成を示す。
【００１２】
図１に示すように、本実施の形態のシンクライアントシステムとしてのサーバベース・コンピューティング・システム１は、サーバ装置１０と、複数のクライアント装置２０（２０Ａ，２０Ｂ）とを備えて構成され、各部が通信ネットワークｎを介して接続される。通信ネットワークｎには、アクセスポイント４０が接続されている。
【００１３】
サーバ装置１０は、シンクライアントシステムにおけるサーバ装置である。クライアント装置２０（２０Ａ，２０Ｂ）は、シンクライアント装置である。クライアント装置２０は、例えば、ＰＣ（Personal Computer）であり、通信ネットワークｎに有線で接続される。クライアント装置２０Ａ，２０Ｂは、例えばそれぞれラップトップＰＣ、携帯電話機であり、通信ネットワークｎとアクセスポイント４０を介して無線ＬＡＮ（Local Area Network）方式で接続される。
【００１４】
通信ネットワークｎは、例えば、ＬＡＮであるとするが、ＷＡＮ（Wide Area Network）等を含めてもよく、電話回線、専用線、移動体通信網、通信衛星網、ＣＡＴＶ（Cable Television）回線、インターネットプロバイダ等を含めてもよい。また、クライアント装置２０等の種類、台数等は、図１のサーバベース・コンピューティング・システム１の例に限定されるものではない。
【００１５】
図２に示すように、サーバ装置１０は、ＣＰＵ（Central Processing Unit）１１と、入力部１２と、ＲＡＭ（Random Access Memory）１３と、表示部１４と、記憶部１５と、送受信制御部１６と、を備えて構成され、各部がバス１７を介して接続される。
【００１６】
ＣＰＵ１１は、サーバ装置１０の各部を中央制御する。ＣＰＵ１１は、記憶部１５に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをＲＡＭ１３に展開し、ＲＡＭ１３に展開されたプログラムとの協働で、各種処理を実行する。
【００１７】
ＣＰＵ１１は、後述するサーバ処理プログラムとの協働で、クライアント装置２０と通信接続を確立し、通信接続確立中のクライアント装置の操作入力に応じて、画面情報の描画をそのクライアント装置２０に指示する。また、ＣＰＵ１１は、通信接続確立中のクライアント装置２０からキャッシュ再描画の要求がある場合に、要求対象の画面情報を要求元のクライアント装置２０に送信する。ここでキャッシュ再描画の要求とは、クライアント装置２０のキャッシュ領域２６１に格納される画面情報がＪＰＥＧ等の非可逆圧縮がなされていた場合に、クライアント装置２０がＪＰＥＧ等の非可逆圧縮がなされていない画面情報の再送信をサーバ装置１０に要求することである。
【００１８】
入力部１２は、カーソルキー、文字、数字入力キー及び各種機能キーなどを備えたキーボードを含む構成とし、操作者により各キーが押下された操作信号をＣＰＵ１１に出力する。また、入力部１２は、マウス等のポインティングデバイスを含み、位置入力信号を受け付けてＣＰＵ１１に送信することとしてもよい。
【００１９】
ＲＡＭ１３は、揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納するワークエリアを有する。
【００２０】
表示部１４は、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）等で構成され、ＣＰＵ１１からの表示制御信号に従って画面表示を行う。
【００２１】
記憶部１５は、磁気記録媒体を有するＨＤＤ（Hard Disk Drive）等により構成され、各種プログラム及び各種データを記録媒体から読み出し及び書き込み可能に記憶する。記憶部１５は、クライアント装置２０の画面表示に関するデータを含むキャッシュ領域１５１を含む。キャッシュ領域１５１は、後述する管理テーブル１５１０及びそのキャッシュデータ（クライアント装置２０側でキャッシュ中の画面情報（表示データ））を含む。また、記憶部１５は、サーバ処理プログラムを記憶する。なお、本実施の形態では、キャッシュ領域は記憶部１５に含ませているが、ＲＡＭ１３に含ませてもよい。
【００２２】
送受信制御部１６は、モデム、ＴＡ（Terminal Adapter）、ルータ、ネットワークカード等により構成される。送受信制御部１６は、接続される通信ネットワークｎ上のクライアント装置２０（２０Ａ，２０Ｂ）等の外部機器と情報を送受信する。
【００２３】
図３を参照して、クライアント装置２０Ａの内部構成を説明する。クライアント装置２０は、クライアント装置２０Ａを有線通信接続にしたものと同様の構成を有する。クライアント装置２０Ｂは、クライアント装置２０Ａと同様の構成を有し、さらに、通話部等を備える。
【００２４】
クライアント装置２０Ａは、ＣＰＵ２１と、記憶部２２と、表示コントローラ２３と、ＦＢ（Flame Buffer）メモリ２４と、表示部２５と、圧縮画面情報記憶手段、画面情報記憶手段としてのＲＡＭ２６と、圧縮手段としてのＪＰＥＧ（Joint Photographic Coding Experts Group）部２７と、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）２８と、画像情報受信手段としてのＷｉＦｉ（Wireless Fidelity）部２９と、キーボード３０と、ポインタ３１と、計時手段としてのＲＴＣ（Real Time Clock）３２と、を備えて構成される。
【００２５】
記憶部２２、表示コントローラ２３、ＲＡＭ２６、ＪＰＥＧ部２７、ＵＡＲＴ２８、ＲＴＣ３２は、バス３３を介して接続される。ＦＢメモリ２４及び表示部２５は、表示コントローラ２３に接続される。ＷｉＦｉ部２９、キーボード３０、ポインタ３１は、ＵＡＲＴ２８に接続される。
【００２６】
ＣＰＵ２１は、クライアント装置２０Ａの各部を中央制御する。ＣＰＵ２１は、記憶部２２に記憶された後述するクライアント処理プログラムとの協働で、サーバ装置から受信したキャッシュ格納コマンドに応じて、サーバ装置１０から受信した画面情報をキャッシュデータとしてＲＡＭ２６のキャッシュ領域に格納する。また、ＣＰＵ２１は、サーバ装置１０から受信したキャッシュ描画コマンドに応じて、ＲＡＭ２６のキャッシュ領域に格納されたキャッシュデータ（画面情報）を表示部２５に表示し、そのキャッシュデータがＪＰＥＧ部２７により圧縮されていると、キャッシュ再描画要求をサーバ装置１０へ送信する。
【００２７】
また、ＣＰＵ２１は、記憶部２２に記憶された後述するＴＩＭＥＲタスクプログラムとの協働で、ＲＡＭ２６のキャッシュ領域に格納されてから所定時間経過したキャッシュデータをＪＰＥＧ方式で圧縮して格納する。ＣＰＵ２１とプログラムとの協働の構成は、制御手段、出力回数計算手段として機能する。
【００２８】
記憶部２２は、フラッシュメモリ等により構成され、各種プログラム及び各種データを書き込み及び読み出し可能に記憶する。記憶部２２は、クライアント処理プログラム及びＴＩＭＥＲタスクプログラムを記憶する。
【００２９】
表示コントローラ２３は、ＲＡＭ２６等から入力される画面情報をＦＢメモリ２４に格納し、表示部２５へ出力して表示させる。また、表示コントローラ２３は、表示内容を変更する場合に、ＲＡＭ２６等から入力される変更後の画面情報で、ＦＢメモリ２４に格納された画面情報を更新する。この更新後の画面情報は、ＪＰＥＧ方式で圧縮済の又は未圧縮の表示用の画面情報である。
【００３０】
ＦＢメモリ２４は、画面情報を一時的に格納するＲＡＭ等のメモリである。表示部２５は、ＬＣＤ、ＥＬＤ（ElectroLuminescent Display）等から構成され、表示コントローラ２３から入力される画面情報に基づいて画面表示を行う。
【００３１】
ＲＡＭ２６は、ＲＡＭ１３と同様の構成であり、キャッシュ領域２６１を有する。キャッシュ領域２６１は、後述する管理テーブル２６１０と、キャッシュ中の画面情報としてのキャッシュデータとを含む。
【００３２】
ＪＰＥＧ部２７は、ＣＰＵ２１の指示により、サーバ装置１０から受信した画面情報をＪＰＥＧ方式で圧縮するハードウエアアクセラレータである。なお本発明の課題を解決するための圧縮方式はＪＰＥＧ方式に限定されず、他の圧縮方式であってもよいいが、本実施の形態では、キャッシュ領域の有効活用の観点から、lossy圧縮（非可逆圧縮）方式であって、比較的圧縮率が高いＪＰＥＧ方式とする。
【００３３】
ＵＡＲＴ２８は、バス３３を介してＣＰＵ２１等から入力される各種データとしてのパラレル信号をシリアル信号に変換してＷｉＦｉ部２９、キーボード３０、ポインタ３１に出力する。また、ＵＡＲＴ２８は、ＷｉＦｉ部２９、キーボード３０、ポインタ３１から入力されたシリアルデータをパラレルデータに変換してバス３３を介してＣＰＵ２１等に出力する。
【００３４】
ＷｉＦｉ部２９は、無線ＬＡＮ通信用のアンテナ２９１を備え、アンテナ２９１を介して外部機器と無線ＬＡＮ通信を行う。本実施の形態において、ＷｉＦｉ部２９は、アクセスポイント４０を介してサーバ装置１０と通信を行う。
【００３５】
キーボード３０は、各種文字の入力キー及び各種機能キー等を備え、ユーザのキー入力を受け付けてＵＡＲＴ２８を介してＣＰＵ２１に出力する。ポインタ３１は、位置入力を受け付けるデバイスであり、例えば、タッチパッドや、表示部２５と一体的に構成されるタッチパネルである。ポインタ３１は、ユーザからのタッチ入力を受け付けて位置情報としてＵＡＲＴ２８を介してＣＰＵ２１に出力する。ＲＴＣ３２は、現在の日時情報を計時して出力する計時回路を有する。
【００３６】
次に、図４及び図５を参照して、サーバ装置１０及びクライアント装置２０（２０Ａ，２０Ｂ）に記憶される情報を説明する。図４に、サーバ装置１０に記憶される管理テーブル１５１０の構成を示す。図５に、クライアント装置２０に記憶される管理テーブル２６１０の構成を示す。
【００３７】
サーバ装置１０の記憶部１５のキャッシュ領域１５１には、管理テーブル１５１０と、管理テーブル１５１０に記載されるキャッシュデータ（画面情報）と、が格納される。管理テーブル１５１０は、サーバ装置１０に接続されるクライアント装置２０に格納されるキャッシュデータを管理するための管理テーブルである。このため、クライアント装置２０におけるキャッシュデータの格納状態に応じてキャッシュ領域１５１が適宜更新される。
【００３８】
図４に示すように、管理テーブル１５１０は、クライアント識別子１５１１と、キャッシュ番号１５１２と、縦幅（Ｈ）１５１３と、横幅（Ｗ）１５１４と、キャッシュデータ１５１５との項目を含む。クライアント識別子１５１１は、クライアント装置２０（２０Ａ，２０Ｂ）の識別情報である。クライアント識別子１５１１は、例えば、クライアント装置２０Ａ，２０Ｂを順に、Ａ，Ｂで表す。
【００３９】
キャッシュ番号１５１２は、クライアント装置２０毎に順に付与される各キャッシュデータを示す番号である。縦幅１５１３は、キャッシュ番号１５１２のキャッシュデータの縦幅を示すデータである。横幅１５１４は、キャッシュ番号１５１２のキャッシュデータの横幅を示すデータである。つまり、縦幅１５１３及び横幅１５１４がキャッシュ番号１５１２のキャッシュデータの縦横の二次元の大きさを示す。また、縦幅１５１３及び横幅１５１４の単位は、ドット等である。キャッシュデータ１５１５は、キャッシュ番号１５１２のキャッシュデータを示すファイル名等の識別情報である。
【００４０】
クライアント装置２０のＲＡＭ２６のキャッシュ領域２６１には、管理テーブル２６１０と、管理テーブル２６１０に記載されるキャッシュデータ（画面情報）と、が格納される。管理テーブル２６１０は、自機のクライアント装置２０に格納されるキャッシュデータを管理するための管理テーブルである。
【００４１】
図５に示すように、管理テーブル２６１０は、キャッシュ番号２６１１と、縦幅（Ｈ）２６１２と、横幅（Ｗ）２６１３と、状態２６１４と、時間（sec）２６１５と、キャッシュデータ２６１６との項目を含む。キャッシュ番号２６１１は、自機のキャッシュ領域２６１に順に付与される各キャッシュデータの番号である。また、キャッシュ番号２６１１と、管理テーブル１５１０の自機のクライアント識別子１５１１におけるキャッシュ番号１５１２とは、同期が取られる。
【００４２】
縦幅２６１２は、キャッシュ番号２６１１のキャッシュデータの縦幅を示すデータである。横幅２６１３は、キャッシュ番号２６１１のキャッシュデータの横幅を示すデータである。縦幅２６１２及び横幅２６１３の単位は、ドット等である。状態２６１４は、キャッシュ番号２６１１のキャッシュデータがＪＰＥＧ方式により圧縮されているか否かの状態を示す情報である。状態２６１４では、ＪＰＥＧ方式により圧縮されていない状態を “lossless”と表し、ＪＰＥＧ方式により圧縮されている状態を “lossy”と表すものとする。
【００４３】
時間２６１５は、キャッシュ番号２６１１のキャッシュデータがキャッシュされてからの経過時間の情報であり、その単位がsecであるものとする。キャッシュデータ２６１６は、キャッシュ番号２６１１のキャッシュデータを示すファイル名等の識別情報である。但し、本実施の形態では、時間２６１５を使用しないものとして説明する。
【００４４】
次に、図６〜図１０を参照して、本第１の実施の形態におけるサーバベース・コンピューティング・システム１の動作を説明する。図６に、サーバ装置１０で実行されるサーバ処理の流れを示す。図７〜図１０に、クライアント装置２０で実行されるクライアント処理の流れを示す。図８に、クライアント処理における第１の再描画要求処理の流れを示す。図９に、クライアント処理における第１のキャッシュ格納処理の流れを示す。図１０に、クライアント処理におけるＴＩＭＥＲタスク処理の流れを示す。本第一の実施の形態のクライアント装置２０では、サーバ装置１０から画面情報を受信してから所定時間経過後に画面情報を圧縮する。
【００４５】
図６を参照して、サーバ装置１０で実行されるサーバ処理を説明する。サーバ処理は、クライアント装置２０のキャッシュデータの管理を行うとともに、クライアント装置２０にキャッシュデータの表示に関する指示を行う（コマンドを送信する）処理である。サーバ装置１０において、例えば、入力部１２を介してユーザからサーバ処理の実行開始指示が入力されたことをトリガとして、記憶部１５から読み出されて適宜ＲＡＭ１３に展開されたサーバ処理プログラムと、ＣＰＵ１１との協働でサーバ処理が実行される。
【００４６】
先ず、サーバ装置１０とクライアント装置２０との間の通信を確立するための接続要求信号を、送受信制御部１６を介してクライアント装置２０から受信したか否かが判別される（ステップＳ１１）。接続要求信号が受信されていない場合（ステップＳ１１；ＮＯ）、ステップＳ１１に移行される。
【００４７】
接続要求信号が受信された場合（ステップＳ１１；ＹＥＳ）、接続要求元のクライアント装置２０との間の通信接続を確立する通信接続確立処理が実行される（ステップＳ１２）。そして、送受信制御部１６を介して通信接続確立中のクライアント装置２０から情報が受信され、その受信された情報が、通信接続確立中のクライアント装置２０との通信接続終了を要求する接続終了信号であるか否かが判別される（ステップＳ１３）。接続終了信号が受信された場合（ステップＳ１３；ＹＥＳ）、通信接続確立中のクライアント装置２０との間の通信接続を終了する接続終了処理が実行され（ステップＳ１４）、サーバ処理が終了する。
【００４８】
接続終了信号が受信されていない場合（ステップＳ１３；ＮＯ）、ステップＳ１３で受信された情報が、通信接続確立中のクライアント装置２０のキーボード３０のキー操作又はポインタ３１の位置入力操作がなされたことを示す情報であるか否かが判別される（ステップＳ１５）。キー操作又は位置入力操作の情報である場合（ステップＳ１５；ＹＥＳ）、キー操作又は位置入力操作の情報に応じたサーバ装置１０側の処理が実行される（ステップＳ１６）。
【００４９】
そして、ステップＳ１６の処理において、通信接続確立中のクライアント装置２０のＦＢメモリ２４の更新があるか（表示部２５の表示画像を更新するか）否かが判別される（ステップＳ１７）。ＦＢメモリ２４の更新がない場合（ステップＳ１７；ＮＯ）、ステップＳ１３に移行される。ＦＢメモリ２４の更新がある場合（ステップＳ１７；ＹＥＳ）、記憶部１５のキャッシュ領域１５１に記憶された管理テーブル１５１０が参照され、ＦＢメモリ２４の更新後に対応する画面情報がキャッシュ（済）データとしてキャッシュ領域１５１にあるか否かが判別される（ステップＳ１８）。なお、管理テーブル１５１０において、ＦＢメモリ２４の更新があるクライアント装置２０は、クライアント識別子１５１１により特定される。
【００５０】
キャッシュ済データがキャッシュ領域１５１にある場合（ステップＳ１８；ＹＥＳ）、キャッシュ済データのキャッシュ描画コマンドが生成され、そのキャッシュ描画コマンドが送受信制御部１６を介してＦＢメモリ２４の更新があるクライアント装置２０へ送信され（ステップＳ１９）、ステップＳ１３に移行される。
【００５１】
キャッシュ描画コマンドとは、ＦＢメモリ２４の更新があるクライアント装置２０に、キャッシュ領域２６１からキャッシュ（済）データを読み出してＦＢメモリ２４に格納して表示部２５に表示させるコマンドであり、描画する画面情報の表示位置情報（表示部２５のＸ座標及びＹ座標）と、描画指定するキャッシュデータのキャッシュ番号Ｎ（Ｎ：任意のキャッシュ番号）とを含む。
【００５２】
キャッシュ済データがキャッシュ領域１５１にない場合（ステップＳ１８；ＮＯ）、ＦＢメモリ２４の更新後に対応する画面情報をキャッシュ化するか否かが判別される（ステップＳ２０）。画面情報をキャッシュ化する場合（ステップＳ２０；ＹＥＳ）、ＦＢメモリ２４の更新後に対応する画面情報が生成又は記憶部１５から読み出され、その画面情報がキャッシュ番号Ｎでキャッシュ領域１５１に追加格納されるとともに、その画面情報の追加に応じて管理テーブル１５１０のレコードが追加更新される。また、そのキャッシュ番号Ｎと、その画面情報とを含むキャッシュ格納コマンドが生成され、そのキャッシュ格納コマンドが送受信制御部１６を介してＦＢメモリ２４の更新があるクライアント装置２０へ送信される（ステップＳ２１）。
【００５３】
ステップＳ２１におけるキャッシュ番号Ｎは、管理テーブル１５１０において、通信接続確立中のクライアント装置２０のクライアント識別子１５１１のレコードのうち、キャッシュ番号１５１２に使われていない番号とする。また、ステップＳ２１におけるキャッシュ格納コマンドは、画面情報とキャッシュ番号とを含み、その画面情報を、その指定されたキャッシュ番号でキャッシュ領域２６１に格納させるコマンドである。また、キャッシュ格納コマンドは、格納する画面情報の縦幅、横幅及び画面情報名（ファイル名）を含む。
【００５４】
そして、キャッシュ番号Ｎを含むキャッシュ描画コマンドが送受信制御部１６を介してＦＢメモリ２４の更新があるクライアント装置２０へ送信され（ステップＳ２２）、ステップＳ１３に移行される。
【００５５】
画面情報をキャッシュ化しない場合（ステップＳ２０；ＮＯ）、ＦＢメモリ２４の更新後に対応する画面情報が生成又は記憶部１５から読み出され、その画面情報のＦＢ描画コマンドが生成され、そのＦＢ描画コマンドが送受信制御部１６を介してＦＢメモリ２４の更新があるクライアント装置２０へ送信され（ステップＳ２３）、ステップＳ１３に移行される。ＦＢ描画コマンドは、画面情報を含み、ＦＢメモリ２４の更新があるクライアント装置２０に、その画面情報をキャッシュ領域２６１にキャッシュすることなくＦＢメモリ２４に格納して表示部２５に表示させるコマンドである。
【００５６】
キー操作又は位置入力操作の情報でない場合（ステップＳ１５；ＮＯ）、ステップＳ１３で受信された情報がキャッシュ再描画要求であるか否かが判別される（ステップＳ２４）。キャッシュ再描画要求である場合（ステップＳ２４；ＹＥＳ）、管理テーブル１５１０が参照され、キャッシュ再描画要求で指定されたキャッシュ番号Ｎ（Ｎ：任意の番号）のキャッシュデータがＪＰＥＧ方式で圧縮されていない画面情報として読み出され、そのキャッシュ番号Ｎと、画面情報とを含むキャッシュ格納コマンドが生成され、そのキャッシュ格納コマンドが送受信制御部１６を介してキャッシュ再描画要求元のクライアント装置２０へ送信される（ステップＳ２５）。
【００５７】
そして、ステップＳ２５のキャッシュ格納コマンドに対応するキャッシュデータのキャッシュ描画コマンドが生成され、そのキャッシュ描画コマンドが送受信制御部１６を介してキャッシュ再描画要求元のクライアント装置２０へ送信され（ステップＳ２６）、ステップＳ１３に移行される。
【００５８】
キャッシュ再描画要求でない場合（ステップＳ２４；ＮＯ）、ステップＳ１３で受信された情報がキャッシュ破棄要求であるか否かが判別される（ステップＳ２７）。キャッシュ破棄要求でない場合（ステップＳ２７；ＮＯ）、ステップＳ１３に移行される。
【００５９】
キャッシュ破棄要求である場合（ステップＳ２７；ＹＥＳ）、管理テーブル１５１０が参照され、キャッシュ破棄要求で指定されたキャッシュ番号Ｎ（Ｎ：任意の番号）のキャッシュデータが破棄（削除）され、その破棄に応じて管理テーブル１５１０が更新され（ステップＳ２８）、ステップＳ１３に移行される。
【００６０】
なお、図６のサーバ処理のフローチャートでは表されていないが、例えば、サーバ装置１０側で管理テーブル１５１０が壊れた等のトラブルが発生した場合等に、サーバ装置１０においてキャッシュ破棄コマンドが生成され、そのキャッシュ破棄コマンドが、送受信制御部１６を介してキャッシュ破棄要求先のクライアント装置２０に送信される。キャッシュ破棄コマンドには、破棄するキャッシュデータのキャッシュ番号が含まれる。
【００６１】
次いで、図７〜図９を参照して、クライアント装置２０で実行されるクライアント処理を説明する。クライアント処理は、表示部２５に画面情報を表示させる処理である。クライアント装置２０において、例えば、キーボード３０を介してユーザからクライアント処理の実行指示が入力されたことをトリガとして、記憶部２２から読み出されて適宜ＲＡＭ２６に展開されたクライアント処理プログラムと、ＣＰＵ２１との協働でクライアント処理が実行される。
【００６２】
図７に示すように、先ず、通信接続要求が通信部（ＷｉＦｉ部２９に対応）を介してサーバ装置１０に送信され、サーバ装置１０との間の通信接続を確立する確立通信接続確立処理が実行される（ステップＳ３１）。そして、サーバ処理のステップＳ１９，Ｓ２１，Ｓ２２，Ｓ２３，Ｓ２５，Ｓ２６等に対応して、各種情報が通信部を介してサーバ装置１０から受信されたか否かが判別される（ステップＳ３２）。
【００６３】
情報の受信がない場合（ステップＳ３２；ＮＯ）、サーバ装置１０との間の通信接続を終了するか否かが判別される（ステップＳ３３）。通信接続を終了しない場合（ステップＳ３３；ＮＯ）、ステップＳ３２に移行される。通信接続を終了する場合（ステップＳ３３；ＹＥＳ）、サーバ装置１０との間の通信接続を終了する通信接続終了処理が実行され（ステップＳ３４）、クライアント処理が終了する。
【００６４】
情報の受信がある場合（ステップＳ３２；ＹＥＳ）、ステップＳ３２で受信した情報が、サーバ処理のステップＳ１９、Ｓ２２又はＳ２６に対応したキャッシュ描画コマンドであるか否かが判別される（ステップＳ３５）。キャッシュ描画コマンドである場合（ステップＳ３５；ＹＥＳ）、ステップＳ３２で受信した情報のキャッシュ描画コマンドが解析され、その情報からキャッシュ番号Ｎ及びキャッシュ描画対象の表示位置情報が取得される（ステップＳ３６）。
【００６５】
そして、ステップＳ３６で取得されたキャッシュ番号Ｎに基づいて、ＲＡＭ２６のキャッシュ領域２６１に格納された管理テーブル２６１０が参照され、指定されたキャッシュ番号Ｎのキャッシュデータがキャッシュ領域２６１から読み出され、表示コントローラ２３により、そのキャッシュデータがステップＳ３６で取得された表示位置情報に基づいて表示部２５に表示される（ステップＳ３７）。そして、キャッシュ番号Ｎのキャッシュデータについての再描画要求処理が実行され（ステップＳ３８）、ステップＳ３２に移行される。ステップＳ３８の再描画要求処理は、詳細に後述する。
【００６６】
キャッシュ描画コマンドでない場合（ステップＳ３５；ＮＯ）、ステップＳ３２で受信した情報が、サーバ処理のステップＳ２１又はＳ２５に対応したキャッシュ格納コマンドであるか否かが判別される（ステップＳ３９）。キャッシュ格納コマンドである場合（ステップＳ３９；ＹＥＳ）、ステップＳ３２で受信した情報のキャッシュ格納コマンドが解析され、その情報からキャッシュ番号Ｎと、画面情報と、その画面情報の縦幅及び横幅と、画面情報名とが取得される（ステップＳ４０）。そして、キャッシュ格納処理が実行され（ステップＳ４１）、ステップＳ３２に移行される。ステップＳ４１のキャッシュ格納処理は、詳細に後述する。
【００６７】
キャッシュ格納コマンドでない場合（ステップＳ３９；ＮＯ）、ステップＳ３２で受信した情報が、キャッシュ破棄コマンドであるか否かが判別される（ステップＳ４２）。キャッシュ破棄コマンドが含まれる場合（ステップＳ４２；ＹＥＳ）、ステップＳ３２で受信した情報のキャッシュ破棄コマンドが解析され、その情報から破棄するキャッシュ番号Ｎが取得される（ステップＳ４３）。そして、管理テーブル２６１０が参照され、ステップＳ４３で取得されたキャッシュ番号Ｎのキャッシュデータが破棄され、これに応じて管理テーブル２６１０が更新される（ステップＳ４４）。
【００６８】
そして、ステップＳ４４で破棄されたキャッシュ番号Ｎのキャッシュデータに対応するＴＩＭＥＲタスク処理が起動中であれば、そのＴＩＭＥＲタスク処理が破棄され（ステップＳ４５）、ステップＳ３２に移行される。ＴＩＭＥＲタスク処理は、詳細に後述する。
【００６９】
キャッシュ破棄コマンドでない場合（ステップＳ４２；ＮＯ）、ステップＳ３２で受信した情報が、サーバ処理のステップＳ２３に対応したＦＢ描画コマンドであるか否かが判別される（ステップＳ４６）。ＦＢ描画コマンドでない場合（ステップＳ４６；ＮＯ）、ステップＳ３２に移行される。
【００７０】
ＦＢ描画コマンドである場合（ステップＳ４６；ＹＥＳ）、ステップＳ３２で受信した情報のＦＢ描画コマンドが解析され、その情報から表示する画面情報が取得される（ステップＳ４７）。そして、表示コントローラ２３により、ステップＳ４７で取得された画面情報がＦＢメモリ２４に格納されて表示部２５に表示され（ステップＳ４８）、ステップＳ３２に移行される。
【００７１】
次いで、図８を参照して、クライアント処理のステップＳ３８の再描画要求処理の一例としての第１の再描画要求処理を説明する。再描画要求処理は、ＪＰＥＧ方式で圧縮された画面情報の表示中に、再描画（表示）のため、その画面情報に対応するＪＰＥＧ方式で圧縮されていない画面情報をサーバ装置１０に要求する処理である。ここでは、キャッシュ番号Ｎのキャッシュデータについての第１の再描画要求処理を説明する。
【００７２】
以下、簡単のため、キャッシュ番号Ｎのキャッシュデータ（画面情報）をCache[N].dと表し、キャッシュ番号Ｎのキャッシュデータの状態（管理テーブル２６１０の状態２６１４）をCache[N].fと表す。
【００７３】
先ず、ＲＡＭ２６のキャッシュ領域２６１に格納された管理テーブル２６１０のキャッシュ番号２６１１及び状態２６１４が参照され、キャッシュ番号ＮのキャッシュデータについてのCache[N].fがlossy（ＪＰＥＧ方式の圧縮済）であるか否かが判別される（ステップＳ５１）。Cache[N].f＝lossless（ＪＰＥＧ方式の未圧縮）である場合（ステップＳ５１；ＮＯ）、第１の再描画要求処理が終了する。
【００７４】
Cache[N].f＝lossyである場合（ステップＳ５１；ＹＥＳ）、サーバ処理のステップＳ１３（及びステップＳ２４；ＹＥＳ）に対応して、Cache[N].dのキャッシュ再描画要求が通信部を介してサーバ装置１０へ送信され（ステップＳ５２）、第１の再描画要求処理が終了する。
【００７５】
次いで、図９を参照して、クライアント処理のステップＳ４１のキャッシュ格納処理の一例としての第１のキャッシュ格納処理を説明する。キャッシュ格納処理は、サーバ装置１０から受信した画面情報をＲＡＭ２６のキャッシュ領域２６１に格納する処理である。ここでは、キャッシュ番号Ｎのキャッシュデータについての第１のキャッシュ格納処理を説明する。
【００７６】
先ず、ステップＳ４０で取得された画面情報がＲＡＭ２６のキャッシュ領域２６１に格納され、その画面情報に対応しステップＳ４０で取得されたキャッシュ番号Ｎ、縦幅、横幅、画面情報名が、新たなレコードとして、キャッシュ番号２６１１、縦幅２６１２、横幅２６１３、キャッシュデータ２６１６にセットされる（ステップＳ６１）。そして、ステップＳ６１における新たなレコードの状態２６１４（Cache[N].f）にlosslessがセットされる（ステップＳ６２）。
【００７７】
そして、ステップＳ６１，Ｓ６２において、キャッシュ領域２６１への画面情報及び管理テーブル２６１０の格納が成功したか否かが判別される（ステップＳ６３）。格納が成功した場合（ステップＳ６３；ＹＥＳ）、ＴＩＭＥＲタスク処理が起動（実行開始）され（ステップＳ６４）、第１のキャッシュ格納処理が終了する。
【００７８】
格納が失敗した場合（ステップＳ６３；ＮＯ）、ステップＳ６１、Ｓ６２の管理テーブル２６１０の更新が元に戻され、サーバ処理のステップＳ１３（及びステップＳ２７；ＹＥＳ）に対応して、Cache[N].dに対応するキャッシュ破棄コマンドが通信部を介してサーバ装置１０へ送信され（ステップＳ６５）、第１のキャッシュ格納処理が終了する。
【００７９】
次に、図１０を参照して、クライアント装置２０で実行されるＴＩＭＥＲタスク処理を説明する。ＴＩＭＥＲタスク処理は、キャッシュ領域を有効に使用するため、キャッシュ領域２６１にキャッシュデータが格納されてから所定時間経過で、そのキャッシュデータをＪＰＥＧ方式で圧縮する処理である。
【００８０】
クライアント装置２０において、クライアント処理のステップＳ６４が実行され、ＴＩＭＥＲタスク処理の起動が指示されたことをトリガとして、記憶部２２から読み出されて適宜ＲＡＭ２６に展開されたＴＩＭＥＲタスクプログラムと、ＣＰＵ２１との協働でＴＩＭＥＲタスク処理が実行される。ここでは、キャッシュ番号Ｎのキャッシュデータ（Cache[N].d）についてのＴＩＭＥＲタスク処理を説明する。また、ＴＩＭＥＲタスク処理は、キャッシュ番号のキャッシュデータ毎に、別々に実行される。
【００８１】
先ず、ＲＴＣ３２から出力される現在日時情報に基づいて、ＴＩＭＥＲタスク処理の実行開始から（キャッシュ領域２６１にキャッシュ番号Ｎのキャッシュデータが格納されてから）所定時間が経過したか否かが判別される（ステップＳ７１）。ステップＳ７１の所定時間は、予め設定されているものとする。所定時間が経過していない場合（ステップＳ７１；ＮＯ）、ステップＳ７１に移行される。
【００８２】
所定時間が経過した場合（ステップＳ７１；ＹＥＳ）、ＲＡＭ２６のキャッシュ領域２６１からCache[N].dが読み出され、ＪＰＥＧ部２７により、Cache[N].dがＪＰＥＧ方式で圧縮され、圧縮済のCache[N].dがキャッシュ領域２６１に格納される（ステップＳ７２）。そして、キャッシュ領域２６１に格納された管理テーブル２６１０の状態２６１４（Cache[N].f）にlossyが設定され（ステップＳ７３）、ＴＩＭＥＲタスク処理が終了する。
【００８３】
以上、本発明によれば、サーバ装置により生成された画面情報を受信し、受信された画面情報を圧縮し、圧縮された圧縮画面情報をキャッシュ領域に記憶し、記憶される圧縮画面情報を該クライアント装置の表示部へ出力すると共に、サーバ装置から圧縮画面情報に対応する画面情報を受信し、受信した画面情報を該クライアント装置の表示部へ出力するようにしたから、キャッシュ領域が十分確保されていないクライアント装置であっても、操作に対する表示レスポンスが早いサーバベース・コンピューティング・システムのクライアント装置、及びプログラムを提供できる。
なお本第１の実施の形態では、前記圧縮画面情報をキャッシュ領域に記憶する記憶手法を、画面情報をサーバ装置から受信してから所定時間経過後に画面情報を自動的に圧縮させて、記憶することにした。
【００８４】
（第２の実施の形態）
図１１〜図１３を参照して、本発明に係る第２の実施の形態を説明する。本第２の実施の形態では、前記圧縮画面情報のキャッシュ領域に記憶する記憶手法を、画面情報をキャッシュ領域２６１に記憶する際に、時間情報を合わせて記憶し、記憶される時間情報が古い画面情報を検索し、検索された画面情報を圧縮させて、記憶することにした。なお、本実施の形態の装置構成は、第１の実施の形態と同様にサーバベース・コンピューティング・システム１を用い、異なる部分を主として説明する。
【００８５】
本実施の形態では、クライアント装置２０（２０Ａ，２０Ｂ）において、ＲＡＭ２６のキャッシュ領域２６１に格納される管理テーブル２６１０の時間２６１５を使用する。
【００８６】
本実施の形態におけるサーバベース・コンピューティング・システム１の動作について図１１〜図１３を参照して説明する。図１１に、本実施の形態のクライアント処理における第２の再描画要求処理の流れを示す。図１２に、クライアント処理における第２のキャッシュ格納処理の流れを示す。図１３に、第２のキャッシュ格納処理における第１のキャッシュＪＰＥＧ化処理の流れを示す。
【００８７】
サーバ装置１０においては、第１の実施の形態と同様に、サーバ処理が実行される。クライアント装置２０においては、第１の実施の形態と同様に、クライアント処理が実行されるが、クライアント処理のステップＳ３８の第１の再描画要求処理に代えて図１１に示す第２の再描画要求処理が実行され、クライアント処理のステップＳ４１の第１のキャッシュ格納処理に代えて図１２に示す第２のキャッシュ格納処理が実行される。
【００８８】
図１１に示すように、クライアント処理のステップＳ３８の再描画要求処理の一例としての第２の再描画要求処理を説明する。ここでは、キャッシュ番号Ｎのキャッシュデータについての第２の再描画要求処理を説明する。
【００８９】
以下、簡単のため、キャッシュ番号Ｎのキャッシュデータの時間（管理テーブル２６１０の時間２６１５）をCache[N].fと表す。
【００９０】
先ず、ＲＡＭ２６のキャッシュ領域２６１に格納された管理テーブル２６１０のキャッシュ番号２６１１及び状態２６１４が参照され、キャッシュ番号ＮのキャッシュデータについてのCache[N].fがlossyであるか否かが判別される（ステップＳ８１）。Cache[N].f＝losslessである場合（ステップＳ８１；ＮＯ）、Cache[N].dに対応する管理テーブル２６１０の時間２６１５（Cache[N].t）に、ＲＴＣ３２から出力される現在日時情報に基づくタイムスタンプが設定され（ステップＳ８２）、第２の再描画要求処理が終了する。
【００９１】
Cache[N].f＝lossyである場合（ステップＳ８１；ＹＥＳ）、サーバ処理のステップＳ１３（及びステップＳ２４；ＹＥＳ）に対応して、Cache[N].dの再描画要求が通信部を介してサーバ装置１０へ送信され（ステップＳ８３）、第２の再描画要求処理が終了する。
【００９２】
次いで、図１２を参照して、クライアント処理のステップＳ４１のキャッシュ格納処理の一例としての第２のキャッシュ格納処理を説明する。ここでは、キャッシュ番号Ｎのキャッシュデータについての第２のキャッシュ格納処理を説明する。
【００９３】
先ず、ＲＡＭ２６のキャッシュ領域２６１に、クライアント処理のステップＳ４０で取得されたキャッシュ番号Ｎの画面情報を格納するための空き容量がなく、キャッシュ領域２６１の容量が不足しているか否かが判別される（ステップＳ９１）。キャッシュ領域２６１が不足している場合（ステップＳ９１；ＹＥＳ）、キャッシュＪＰＥＧ化処理が実行される（ステップＳ９２）。ステップＳ９２のキャッシュＪＰＥＧ化処理は、詳細に後述する。
【００９４】
そして、ステップＳ４０で取得された画面情報がＲＡＭ２６のキャッシュ領域２６１に格納され、その画面情報に対応しステップＳ４０で取得されたキャッシュ番号Ｎ、縦幅、横幅、画面情報名が、新たなレコードとして、キャッシュ番号２６１１、縦幅２６１２、横幅２６１３、キャッシュデータ２６１６にセットされる（ステップＳ９３）。
【００９５】
キャッシュ領域２６１が不足していない場合（ステップＳ９１；ＮＯ）、キャッシュ番号Ｎのキャッシュデータに対応する状態２６１４（Cache[N].f）にlosslessがセットされ（ステップＳ９４）、ステップＳ９３に移行される。
【００９６】
ステップＳ９３の実行後、Cache[N].dに対応する管理テーブル２６１０の時間２６１５（Cache[N].t）に、ＲＴＣ３２から出力される現在日時情報に基づくタイムスタンプが設定される（ステップＳ９５）。そして、ステップＳ９３，Ｓ９５において、キャッシュ領域２６１への画面情報及び管理テーブル２６１０の格納が成功したか否かが判別される（ステップＳ９６）。格納が成功した場合（ステップＳ９６；ＹＥＳ）、第２のキャッシュ格納処理が終了する。
【００９７】
格納が失敗した場合（ステップＳ９６；ＮＯ）、ステップＳ９３，Ｓ９５の管理テーブル２６１０の更新が元に戻され、サーバ処理のステップＳ１３（及びステップＳ２７；ＹＥＳ）に対応して、Cache[N].dに対応するキャッシュ破棄コマンドが通信部を介してサーバ装置１０へ送信され（ステップＳ９７）、第２のキャッシュ格納処理が終了する。
【００９８】
次いで、図１３を参照して、第２のキャッシュ格納処理のステップＳ９２のキャッシュＪＰＥＧ化処理の一例としての第１のキャッシュＪＰＥＧ化処理を説明する。
【００９９】
先ず、ＲＡＭ２６のキャッシュ領域２６１の管理テーブル２６１０が参照され、状態２６１４（Cache[N].f）がlosslessであるレコードが検索される（ステップＳ１０１）。そして、ステップＳ１０１でlosslessであるレコードが検索されたか否かが判別される（ステップＳ１０２）。losslessであるレコードが検索されなかった場合（ステップＳ１０２；ＮＯ）、第１のキャッシュＪＰＥＧ化処理が終了する。
【０１００】
losslessであるレコードが検索された場合（ステップＳ１０２；ＹＥＳ）、検索されたlosslessであるレコードのうち、一番古いタイムスタンプの時間２６１５（Cache[N].t）のレコードが検索される（ステップＳ１０３）。そして、ステップＳ１０３で検索されたlosslessで一番古いタイムスタンプのレコードに対応するキャッシュデータがCache[M].d（Ｍ：任意のキャッシュ番号）とされ、キャッシュ領域２６１からCache[M].dが読み出され、ＪＰＥＧ部２７によりCache[M].dがＪＰＥＧ方式で圧縮され、再度キャッシュ領域２６１に格納される（ステップＳ１０４）。
【０１０１】
そして、Cache[M].dに対応する状態２６１４（Cache[M].f）にlossyがセットされ（ステップＳ１０５）、第１のキャッシュＪＰＥＧ化処理が終了する。
【０１０２】
以上、本第２の実施の形態によれば、クライアント装置２０は、キャッシュ領域２６１に記憶された画面情報の表示時及び記憶時のタイムスタンプを時間２６１５として管理し、キャッシュ領域２６１に記憶された画面情報（キャッシュデータ）のうちタイムスタンプが最も古い画面情報を検索してＪＰＥＧ部２７で圧縮する。このため、タイムスタンプが古く表示に使用されない可能性が高い画面情報を圧縮してキャッシュ領域２６１に格納し、キャッシュ領域２６１をさらに効率的に使用できる。
【０１０３】
（第３の実施の形態）
図１４〜図１６を参照して、本発明に係る第３の実施の形態を説明する。本第３の実施の形態では、前記圧縮画面情報のキャッシュ領域に記憶する記憶手法を、画面情報が出力される回数を計算し、画面情報と計算された回数とを対応付けて記憶し、計算された回数が少ない画面情報を検索し、検索された画面情報を圧縮させて、記憶することにした。
なお、本実施の形態の装置構成も、第１の実施の形態と同様にサーバベース・コンピューティング・システム１を用い、異なる部分を主として説明する。
【０１０４】
本実施の形態では、クライアント装置２０（２０Ａ，２０Ｂ）において、ＲＡＭ２６のキャッシュ領域２６１に格納される管理テーブル２６１０で、時間２６１５に代えて、カウント数（図示略）の項目を設けるものとする。
【０１０５】
本実施の形態におけるサーバベース・コンピューティング・システム１の動作について図１４〜図１６を参照して説明する。図１４に、本実施の形態のクライアント処理における第３の再描画要求処理の流れを示す。図１５に、クライアント処理における第３のキャッシュ格納処理の流れを示す。図１６に、第３のキャッシュ格納処理における第２のキャッシュＪＰＥＧ化処理の流れを示す。
【０１０６】
サーバ装置１０においては、第１の実施の形態と同様に、サーバ処理が実行される。クライアント装置２０においては、第１の実施の形態と同様に、クライアント処理が実行されるが、クライアント処理のステップＳ３８の第１の再描画要求処理に代えて図１３に示す第３の再描画要求処理が実行され、クライアント処理のステップＳ４１の第１のキャッシュ格納処理に代えて図１４に示す第３のキャッシュ格納処理が実行される。
【０１０７】
図１３に示すように、クライアント処理のステップＳ３８の再描画要求処理の一例としての第３の再描画要求処理を説明する。ここでは、キャッシュ番号Ｎのキャッシュデータについての第３の再描画要求処理を説明する。
【０１０８】
以下、簡単のため、キャッシュ番号Ｎのキャッシュデータのカウント数（管理テーブル２６１０のカウント数の項目のデータ）をCache[N].cと表す。Cache[N].cの初期値は、０であるものとする。
【０１０９】
先ず、ＲＡＭ２６のキャッシュ領域２６１に格納された管理テーブル２６１０のキャッシュ番号２６１１及び状態２６１４が参照され、キャッシュ番号ＮのキャッシュデータについてのCache[N].fがlossyであるか否かが判別される（ステップＳ１１１）。Cache[N].f＝losslessである場合（ステップＳ１１１；ＮＯ）、Cache[N].dに対応する管理テーブル２６１０のカウント数（Cache[N].c）が１インクリメントされ（ステップＳ１１２）、第３の再描画要求処理が終了する。
【０１１０】
Cache[N].f＝lossyである場合（ステップＳ１１１；ＹＥＳ）、サーバ処理のステップＳ１３（及びステップＳ２４；ＹＥＳ）に対応して、Cache[N].dの再描画要求が通信部を介してサーバ装置１０へ送信され（ステップＳ１１３）、第３の再描画要求処理が終了する。
【０１１１】
次いで、図１５を参照して、クライアント処理のステップＳ４１のキャッシュ格納処理の一例としての第３のキャッシュ格納処理を説明する。ここでは、キャッシュ番号Ｎのキャッシュデータについての第３のキャッシュ格納処理を説明する。
【０１１２】
先ず、ＲＡＭ２６のキャッシュ領域２６１に、クライアント処理のステップＳ４０で取得されたキャッシュ番号Ｎの画面情報を格納するための空き容量がなく、キャッシュ領域２６１の容量が不足しているか否かが判別される（ステップＳ１２１）。キャッシュ領域２６１が不足している場合（ステップＳ１２１；ＹＥＳ）、キャッシュＪＰＥＧ化処理が実行される（ステップＳ１２２）。ステップＳ１２２のキャッシュＪＰＥＧ化処理は、詳細に後述する。
【０１１３】
そして、ステップＳ４０で取得された画面情報がＲＡＭ２６のキャッシュ領域２６１に格納され、その画面情報に対応しステップＳ４０で取得されたキャッシュ番号Ｎ、縦幅、横幅、画面情報名が、新たなレコードとして、キャッシュ番号２６１１、縦幅２６１２、横幅２６１３、キャッシュデータ２６１６にセットされる（ステップＳ１２３）。
【０１１４】
キャッシュ領域２６１が不足していない場合（ステップＳ１２１；ＮＯ）、キャッシュ番号Ｎのキャッシュデータに対応する状態２６１４（Cache[N].f）にlosslessがセットされ（ステップＳ１２４）、ステップＳ１２３に移行される。
【０１１５】
ステップＳ１２３の実行後、Cache[N].dに対応する管理テーブル２６１０のカウント数（Cache[N].c）に０が設定される（ステップＳ１２５）。そして、ステップＳ１２３，Ｓ１２５において、キャッシュ領域２６１への画面情報及び管理テーブル２６１０の格納が成功したか否かが判別される（ステップＳ１２６）。格納が成功した場合（ステップＳ１２６；ＹＥＳ）、第３のキャッシュ格納処理が終了する。
【０１１６】
格納が失敗した場合（ステップＳ１２６；ＮＯ）、ステップＳ１２３，Ｓ１２５の管理テーブル２６１０の更新が元に戻され、サーバ処理のステップＳ１３（及びステップＳ２７；ＹＥＳ）に対応して、Cache[N].dに対応するキャッシュ破棄コマンドが通信部を介してサーバ装置１０へ送信され（ステップＳ１２７）、第３のキャッシュ格納処理が終了する。
【０１１７】
次いで、図１６を参照して、第３のキャッシュ格納処理のステップＳ１２２のキャッシュＪＰＥＧ化処理の一例としての第２のキャッシュＪＰＥＧ化処理を説明する。
【０１１８】
先ず、ＲＡＭ２６のキャッシュ領域２６１の管理テーブル２６１０が参照され、状態２６１４（Cache[N].f）がlosslessであるレコードが検索される（ステップＳ１３１）。そして、ステップＳ１３１でlosslessであるレコードが検索されたか否かが判別される（ステップＳ１３２）。losslessであるレコードが検索されなかった場合（ステップＳ１３２；ＮＯ）、第２のキャッシュＪＰＥＧ化処理が終了する。
【０１１９】
losslessであるレコードが検索された場合（ステップＳ１３２；ＹＥＳ）、検索されたlosslessであるレコードのうち、一番カウント数の項目が小さい値のレコードが検索される（ステップＳ１３３）。そして、ステップＳ１３３で検索されたlosslessで一番カウント数が少ないレコードに対応するキャッシュデータがCache[M].d（Ｍ：任意のキャッシュ番号）とされ、キャッシュ領域２６１からCache[M].dが読み出され、ＪＰＥＧ部２７によりCache[M].dがＪＰＥＧ方式で圧縮され、再度キャッシュ領域２６１に格納される（ステップＳ１３４）。
【０１２０】
そして、Cache[M].dに対応する状態２６１４（Cache[M].f）にlossyがセットされ（ステップＳ１３５）、第２のキャッシュＪＰＥＧ化処理が終了する。
【０１２１】
以上、本第３の実施の形態によれば、クライアント装置２０は、キャッシュ領域２６１に記憶された画面情報の使用頻度を管理テーブル２６１０のカウント数として管理し、キャッシュ領域２６１に記憶された画面情報（キャッシュデータ）のうちカウント数の最も少ない画面情報を検索してＪＰＥＧ部２７で圧縮する。このため、カウント数が少なく表示に使用されない可能性が高い画面情報を圧縮してキャッシュ領域２６１に格納し、キャッシュ領域２６１をさらに効率的に使用できる。
【０１２２】
（第１の変形例）
図１７を参照して、上記第２及び第３の実施の形態の第１の変形例を説明する。本第１の変形例では、前記圧縮画面情報のキャッシュ領域に記憶する記憶手法を、キャッシュ領域２６１に記憶される画面情報のサイズが最も大きい画面情報を圧縮させて、記憶することにした。図１７に、本変形例の第３のキャッシュＪＰＥＧ化処理の流れを示す。
【０１２３】
本第１の変形例は、第２の実施の形態における第２のキャッシュ格納処理のステップＳ９２の第２のキャッシュＪＰＥＧ化処理に代えて、図１７に示す第３のキャッシュＪＰＥＧ化処理を実行するものとする。但し、第２の再描画要求処理のステップＳ８２と、第２のキャッシュ格納処理のステップＳ９５とは実行されない。
【０１２４】
また、第３の実施の形態における第３のキャッシュ格納処理のステップＳ１２２の第２のキャッシュＪＰＥＧ化処理に代えて、図１７に示す第３のキャッシュＪＰＥＧ化処理を実行するものとする。但し、第３の再描画要求処理のステップＳ１１２と、第３のキャッシュ格納処理のステップＳ１２５とは実行されない。
【０１２５】
図１７を参照して、第３のキャッシュＪＰＥＧ化処理を説明する。以下、簡単のため、キャッシュ番号Ｎのキャッシュデータの縦幅（管理テーブル２６１０の縦幅２６１２）をCache[N].hと表し、キャッシュ番号Ｎのキャッシュデータの横幅（管理テーブル２６１０の横幅２６１３）をCache[N].wと表す。
【０１２６】
先ず、ＲＡＭ２６のキャッシュ領域２６１の管理テーブル２６１０が参照され、状態２６１４（Cache[N].f）がlosslessであるレコードが検索される（ステップＳ１４１）。そして、ステップＳ１４１でlosslessであるレコードが検索されたか否かが判別される（ステップＳ１４２）。losslessであるレコードが検索されなかった場合（ステップＳ１４２；ＮＯ）、第３のキャッシュＪＰＥＧ化処理が終了する。
【０１２７】
losslessであるレコードが検索された場合（ステップＳ１４２；ＹＥＳ）、検索されたlosslessであるレコードのうち、管理テーブル２６１０の縦幅２６１２（Cache[N].h）及び横幅２６１３（Cache[N].w）が一番大きい値のレコードが検索される（ステップＳ１４３）。ステップＳ１４３では、例えば、Cache[N].h ×Cache[N].wの値が最も大きいレコードが検索される。
【０１２８】
そして、ステップＳ１４３で検索されたlosslessでCache[N].h 、Cache[N].wが一番大きいレコードに対応するキャッシュデータがCache[M].d（Ｍ：任意のキャッシュ番号）とされ、キャッシュ領域２６１からCache[M].dが読み出され、ＪＰＥＧ部２７によりCache[M].dがＪＰＥＧ方式で圧縮され、再度キャッシュ領域２６１に格納される（ステップＳ１４４）。そして、Cache[M].dに対応する状態２６１４（Cache[M].f）にlossyがセットされ（ステップＳ１４５）、第３のキャッシュＪＰＥＧ化処理が終了する。
【０１２９】
以上、本第１の変形例によれば、クライアント装置２０は、キャッシュ領域２６１に記憶された画面情報のサイズ（容量）を管理テーブル２６１０の縦幅２６１２及び横幅２６１３として管理し、キャッシュ領域２６１に記憶された画面情報（キャッシュデータ）のうち容量が最も大きい画面情報を検索してＪＰＥＧ部２７で圧縮する。このため、容量が大きく圧縮により空き容量を多くできる可能性が高い画面情報を圧縮してキャッシュ領域２６１に格納し、キャッシュ領域２６１をさらに効率的に使用できる。
【０１３０】
（第２の変形例）
図１８を参照して、上記第２及び第３の実施の形態の第２の変形例を説明する。本第２の変形例では、前記圧縮画面情報のキャッシュ領域に記憶する記憶手法を、圧縮手段で圧縮される画面情報の圧縮率を算出し、算出された圧縮率の高い画面情報を検索し、検索された画面情報を圧縮させて、記憶することにした。図１８に、本変形例の第４のキャッシュＪＰＥＧ化処理の流れを示す。
【０１３１】
本第２の変形例は、第２の実施の形態における第２のキャッシュ格納処理のステップＳ９２の第２のキャッシュＪＰＥＧ化処理に代えて、図１８に示す第４のキャッシュＪＰＥＧ化処理を実行するものとする。但し、第２の再描画要求処理のステップＳ８２と、第２のキャッシュ格納処理のステップＳ９５とは実行されない。
【０１３２】
また、第３の実施の形態における第３のキャッシュ格納処理のステップＳ１２２の第２のキャッシュＪＰＥＧ化処理に代えて、図１８に示す第４のキャッシュＪＰＥＧ化処理を実行するものとする。但し、第３の再描画要求処理のステップＳ１１２と、第３のキャッシュ格納処理のステップＳ１２５とは実行されない。
【０１３３】
図１８を参照して、第４のキャッシュＪＰＥＧ化処理を説明する。先ず、ＲＡＭ２６のキャッシュ領域２６１の管理テーブル２６１０が参照され、状態２６１４（Cache[N].f）がlosslessであるレコードが検索される（ステップＳ１５１）。そして、ステップＳ１５１でlosslessであるレコードが検索されたか否かが判別される（ステップＳ１５２）。losslessであるレコードが検索されなかった場合（ステップＳ１５２；ＮＯ）、第４のキャッシュＪＰＥＧ化処理が終了する。
【０１３４】
losslessであるレコードが検索された場合（ステップＳ１５２；ＹＥＳ）、検索されたlosslessである各レコードのキャッシュデータについて、画面情報サイズが取得され、各レコードのキャッシュデータがＪＰＥＧ部２７によりＪＰＥＧ方式で圧縮され、各レコードのＪＰＥＧ方式の圧縮後の画面情報サイズが取得される（ステップＳ１５３）。
【０１３５】
そして、ステップＳ１５３で取得された各レコードのキャッシュデータにおけるＪＰＥＧ方式の圧縮前と圧縮後との画面情報サイズに基づいて、各レコードのキャッシュデータにおけるＪＰＥＧ方式の圧縮前に対する圧縮後の圧縮率（画面情報のデータサイズ比）が算出されて取得される（ステップＳ１５４）。そして、ステップＳ１５４で取得された各レコードのキャッシュデータのうち、一番圧縮率が高いレコードが検索される（ステップＳ１５５）。
【０１３６】
ＪＰＥＧ方式による圧縮率は、画像の劣化度合いを同等とすれば、画面情報の画像内容により異なる。例えば、画面情報の画像内容が自然の風景の画像であれば、圧縮率が高くなり、画面情報の画像内容が文章等の画像であれば、圧縮率が低くなる。
【０１３７】
そして、ステップＳ１５５で取得された一番圧縮率の高いレコードのＪＰＥＧ方式の圧縮後のキャッシュデータがCache[M].d（Ｍ：任意のキャッシュ番号）とされ、一番圧縮率の高いレコード以外のキャッシュデータは、圧縮前の状態でキャッシュ領域２６１に格納される（ステップＳ１５６）。そして、Cache[M].dに対応する状態２６１４（Cache[M].f）にlossyがセットされ（ステップＳ１５７）、第４のキャッシュＪＰＥＧ化処理が終了する。
【０１３８】
以上、本第２の変形例によれば、クライアント装置２０は、キャッシュ領域２６１に記憶された画面情報の圧縮率を算出し、キャッシュ領域２６１に記憶された画面情報（キャッシュデータ）のうち圧縮率が最も高い画面情報を検索してＪＰＥＧ部２７で圧縮する。このため、圧縮率が高く圧縮により空き容量が多く生成できる画面情報を圧縮してキャッシュ領域２６１に格納し、キャッシュ領域２６１をさらに効率的に使用できる。
【０１３９】
なお、上記実施の形態における記述は、本発明に係るクライアント装置２０及びプログラムの一例であり、これに限定されるものではない。
【０１４０】
上記第２の変形例では、ＲＡＭ２６のキャッシュ領域２６１に格納された画面情報を実際に圧縮することで圧縮率を算出して取得する構成であるが、これに限定されるものではない。例えば、キャッシュ領域２６１に格納された画面情報を実際に圧縮することなく、その画像内容を判別することで圧縮率を判別（又は推定）して取得する構成としてもよい。
【０１４１】
また、上記各実施の形態及び各変形例では、ＪＰＥＧ方式で画面情報を圧縮する構成としたが、これに限定されるものではない。例えば、ＪＰＥＧ２００方式等の圧縮率が比較的大きい非可逆の他の圧縮方式で圧縮することとしてもよい。また、ＪＰＥＧ方式等の圧縮率の高い圧縮方式を、圧縮率の低い他の圧縮方式と組み合わせて使用する構成としてもよい。さらに、ＪＰＥＧ部２７に代えて、ＣＰＵ１１で画面情報の圧縮を行う構成としてもよい。
【０１４２】
また、上記各実施の形態及び各変形例の少なくとも２つを組み合わせた構成としてもよい。
【０１４３】
また、上記実施の形態におけるサーバベース・コンピューティング・システム１の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【符号の説明】
【０１４４】
１  サーバベース・コンピューティング・システム
１０  サーバ装置
１１  ＣＰＵ
１２  入力部
１３  ＲＡＭ
１４  表示部
１５  記憶部
１６  送受信制御部
１７  バス
２０，２０Ａ，２０Ｂ  クライアント装置
２１  ＣＰＵ
２２  記憶部
２３  表示コントローラ
２４  ＦＢメモリ
２５  表示部
２６  ＲＡＭ
２７  ＪＰＥＧ部
２８  ＵＡＲＴ
２９  ＷｉＦｉ部
３０  キーボード
３１  ポインタ
３２  ＲＴＣ
３３  バス
４０  アクセスポイント
ｎ  通信ネットワーク
【図１】
2014030209.tif 000003
【図２】
2014030209.tif 000004
【図３】
2014030209.tif 000005
【図４】
2014030209.tif 000006
【図５】
2014030209.tif 000007
【図６】
2014030209.tif 000008
【図７】
2014030209.tif 000009
【図８】
2014030209.tif 000010
【図９】
2014030209.tif 000011
【図１０】
2014030209.tif 000012
【図１１】
2014030209.tif 000013
【図１２】
2014030209.tif 000014
【図１３】
2014030209.tif 000015
【図１４】
2014030209.tif 000016
【図１５】
2014030209.tif 000017
【図１６】
2014030209.tif 000018
【図１７】
2014030209.tif 000019
【図１８】
2014030209.tif 000020
【手続補正書】
【提出日】平成25年9月27日(2013.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像処理装置であって、
画像情報を取得する画像情報取得手段と、
この画像情報取得手段により取得された画像情報を記憶する第一記憶手段と、
前記画像情報取得手段により取得された画像情報を圧縮する圧縮手段と、
この圧縮手段により圧縮された圧縮画像情報を記憶する第二記憶手段と、
この第二記憶手段により記憶される圧縮画像情報を表示部へ出力すると共に、前記圧縮画像情報に対応する画像情報を取得し、この取得した画像情報を前記表示部へ出力するように制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記画像情報取得手段により前記画像情報を取得してから所定時間経過後に前記画像情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項３】
時間を計時して時間情報を出力する計時手段と、
この計時手段から出力される時間情報に対応付けて前記画像情報を記憶する画像情報記憶手段とをさらに備え、
前記制御手段は、前記画像情報記憶手段に記憶される時間情報に基づいて画像情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項４】
前記画像情報が出力される回数を計算する出力回数計算手段をさらに備え、
前記画像情報記憶手段は、前記画像情報と前記出力回数計算手段により計算される回数を対応付けて記憶し、
前記制御手段は、前記画像情報記憶手段に記憶される回数に基づいて画像情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項５】
前記制御手段は、前記画像情報記憶手段に記憶される容量が大きい画像情報を検索し、
当該検索された画像情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項６】
前記圧縮手段により圧縮される前記画像情報の圧縮率を算出する圧縮率算出手段をさらに備え、
前記制御手段は、前記圧縮率算出手段により算出された圧縮率の高い画像情報を検索し、当該検索された画像情報を前記圧縮手段に圧縮させる請求項１に記載の画像処理装置。
【請求項７】
前記画像情報取得手段は、外部装置から画像情報を取得する請求項１〜６に記載の画像処理装置。
【請求項８】
コンピュータを、
画像情報を取得する画像情報取得手段、
この画像情報取得手段により取得された画像情報を記憶する第一記憶手段と、
前記画像情報取得手段により取得された画像情報を圧縮する圧縮手段、
この圧縮手段により圧縮された圧縮画像情報を記憶する第二記憶手段、
この第二記憶手段により記憶される圧縮画像情報を表示部へ出力すると共に、前記圧縮画像情報に対応する画像情報を取得し、この取得した画像情報を前記表示部へ出力するように制御する制御手段、
として機能させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、画像処理装置であって、画像情報を取得する画像情報取得手段と、この画像情報取得手段により取得された画像情報を記憶する第一記憶手段と、前記画像情報取得手段により取得された画像情報を圧縮する圧縮手段と、この圧縮手段により圧縮された圧縮画像情報を記憶する第二記憶手段と、この第二記憶手段により記憶される圧縮画像情報を表示部へ出力すると共に、前記圧縮画像情報に対応する画像情報を取得し、この取得した画像情報を前記表示部へ出力するように制御する制御手段と、を有することを特徴とする。