JP2007200145A - クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム - Google Patents

クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム Download PDF

Info

Publication number
JP2007200145A
JP2007200145A JP2006019569A JP2006019569A JP2007200145A JP 2007200145 A JP2007200145 A JP 2007200145A JP 2006019569 A JP2006019569 A JP 2006019569A JP 2006019569 A JP2006019569 A JP 2006019569A JP 2007200145 A JP2007200145 A JP 2007200145A
Authority
JP
Japan
Prior art keywords
image
client device
display
frame memory
server
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
Application number
JP2006019569A
Other languages
English (en)
Inventor
Mitsuyasu Nakajima
光康 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006019569A priority Critical patent/JP2007200145A/ja
Publication of JP2007200145A publication Critical patent/JP2007200145A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】サーバーベースコンピューティングにおいて、クライアント装置側において、CPUの負荷を軽減し、サーバー装置との通信量を削減でき、さらに高速な表示の描画を可能とすること。
【解決手段】画像を表示するための表示部と、表示部に画像を表示するために画像を一時的に格納するフレームメモリ領域と、表示部に表示するための画像がフレームメモリ領域に格納されているか否かを判断する判断部と、判断部によって画像がフレームメモリ領域に格納されていないと判断された場合、サーバー装置に対して画像の送信を要求する画像要求部と、サーバー装置から送信されてきた画像を受信する画像受信部と、画像受信部によって受信した画像をフレームメモリ領域に格納するメモリ制御部と、フレームメモリ領域に格納された画像を表示部に表示するよう制御する表示制御部とを備える。
【選択図】図9

Description

本発明は、アプリケーションプログラムを動作させるサーバー装置に対してサービス要求を行うクライアント装置とクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバー装置とがネットワークを介して相互に接続可能に構成されたサーバーベースコンピューティングシステムに関する。
近年、企業によるサーバーベースコンピューティングの採用が急速に進んでいる。
サーバーベースコンピューティングとは、クライアント装置とサーバー装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバー装置に対してサービス要求を行うと、サーバー装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである(例えば、特許文献1、非特許文献1参照。)。
サーバー装置はクライアント用の表示データを作成し、これをクライアント装置に送る。クライアント装置(シンクライアント装置とも呼ばれる)では、使用者のキーやマウス等の操作情報を、ネットワークを介してサーバー装置へ送り、前記サーバー装置側で作成されたクライアント用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウスやキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等のストレージが不要であり、アプリケーションプログラムの実行を行わないためクライアント装置に必要となる処理の負荷は軽い。
企業はサーバーベースコンピューティングを導入することにより、データやアプリケーションプログラム等の資源がサーバー装置側で一元管理できるため、運用コストを削減することができるというメリットがある。また、クライアント装置は従来のパソコンに比べて安価に調達することができるというメリットがある。セキュリティ面においても、サーバー装置内のデータへのアクセス制限をかけたり、アクセスログを取ったりすることにより、情報への不正アクセスのリスクを減らすことが出来る。ウイルスに対しても、サーバー装置で一括対処することが可能となる。
特開2005−228227号公報 http://www.keyman.or.jp/search/30000031_1.html(サーバベースコンピューティング)
上述したように、サーバーベースコンピューティングが実行される際には、アプリケーションプログラムを動作させるサーバー装置に対してサービス要求を行うクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバー装置とが、ネットワークを介して相互に接続可能に構成されている。
クライアント装置が、モバイル端末装置であった場合は、モバイル性を重視したクライアント装置であるため、表示画面を大きくとることができない。例えば4インチHVGA(640×240)であれば、標準的なデスクトップパソコンの表示サイズの15インチ、XGA(1024×768)に比べてはるかに小さい。そのため、クライアント装置の操作に応答してクライアント装置の表示データが変更されるごとにサーバー装置からクライアント装置への表示データのデータ送信が必要になる。特に、クライアント装置の表示画面が小さい場合に、サーバー装置101へのアクセスが頻繁に発生し、モバイル端末装置104の消費電力を大きくしてしまうという問題点があった。更に、モバイル端末装置が電池駆動の場合は、搭載電池容量に応じた時間しか使用することができない。またモバイル性を保つためには大きな電池パックを利用することができない。つまり、モバイル端末装置でサーバーベースコンピューティングを行うということは、モバイル端末装置内の消費電力の大半を占める無線部を使うことであり、これによりモバイル端末装置の使用時間が大きく制限されてしまうという問題点があった。
そこで、本発明は、上記問題点に鑑みてなされたものであり、サーバーベースコンピューティングにおいて、クライアント装置側において、CPUの負荷を軽減し、サーバー装置との通信量を削減でき、さらに高速な表示の描画を可能とするクライアント装置、サーバー装置、サーバーベースコンピューティングシステム、およびクライアント装置またはサーバー装置で実行されるプログラムを提供することを目的とする。
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のクライアント装置は、アプリケーションプログラムを動作させるサーバー装置に対してネットワークを介してサービス要求を行うクライアント装置であって、画像を表示するための表示部と、前記表示部に前記画像を表示するために前記画像を一時的に格納するフレームメモリ領域と、前記表示部に表示するための前記画像が前記フレームメモリ領域に格納されているか否かを判断する判断部と、前記判断部によって前記画像が前記フレームメモリ領域に格納されていないと判断された場合、前記サーバー装置に対して前記画像の送信を要求する画像要求部と、前記サーバー装置から送信されてきた前記画像を受信する画像受信部と、前記画像受信部によって受信した前記画像を前記フレームメモリ領域に格納するメモリ制御部と、前記フレームメモリ領域に格納された前記画像を前記表示部に表示するよう制御する表示制御部とを備えることを特徴とする。
また、本発明のクライアント装置は、前記フレームメモリ領域が、キャッシュメモリであることが望ましい。
また、本発明のクライアント装置は、前記フレームメモリ領域が、前記表示部の表示画面サイズ以上かつ前記サーバー装置が備えるフレームメモリサイズ以下のサイズであることが望ましい。
また、本発明のクライアント装置は、前記フレームメモリ領域に、専用のTLB(Translation Look-aside Buffer)を設けることが望ましい。
また、本発明のクライアント装置は、前記表示部に表示されている表示済画像を縮小するように操作された場合、前記判断部が、前記判断部によって前記画像が前記フレームメモリ領域に格納されていると判断して前記サーバー装置に対して前記画像の送信を要求せず、前記表示部が、前記フレームメモリ領域に格納されている前記画像の縮小画像を表示することが望ましい。
また、本発明のクライアント装置は、前記表示部に表示されている表示済画像を回転するように操作された場合、前記判断部が、前記判断部によって前記画像が前記フレームメモリ領域に格納されていると判断して前記サーバー装置に対して前記画像の送信を要求せず、前記表示部が、前記フレームメモリ領域に格納されている前記画像の回転画像を表示することが望ましい。
また、本発明の一態様によれば、本発明のサーバー装置は、ネットワークを介したクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバー装置であって、前記クライアント装置で画像を表示するために前記画像を送信するように求める、前記クライアント装置からの要求を受信する要求受信部と、前記要求受信部によって受信した要求に基づいて、前記画像と前記クライアント装置の表示部に表示するためにフレームメモリ領域に格納された表示済画像との差分を算出して送信用画像を求める送信画像算出部と、前記送信画像算出部によって算出された送信用画像を前記クライアント装置へ送信する画像送信部とを備えることを特徴とする。
また、本発明のサーバー装置は、前記送信画像算出部が、複数の計算方法で前記送信用画像を圧縮し、前記画像送信部が、前記圧縮した送信用画像のうち最も容量の小さい送信用画像を送信することが望ましい。
また、本発明の一態様によれば、本発明のサーバーベースコンピューティングシステムは、上述の何れかのクライアント装置と上述の何れかのサーバー装置とがネットワークを介して相互に接続可能に構成されたことを特徴とする。
また、本発明の一態様によれば、本発明のプログラムは、アプリケーションプログラムを動作させるサーバー装置に対してネットワークを介してサービス要求を行うクライアント装置のコンピュータを、画像を表示部に表示するために前記画像がフレームメモリ領域に格納されているか否かを判断する判断手段、前記画像が前記フレームメモリ領域に格納されていないと判断された場合、前記サーバー装置に対して前記画像の送信を要求する画像要求手段、前記サーバー装置から送信されてきた前記画像を受信する画像受信手段、前記受信した前記画像を前記フレームメモリ領域に格納するメモリ制御手段、前記フレームメモリ領域に格納された前記画像を前記表示部に表示するよう制御する表示制御手段として機能させるためのプログラムである。
また、本発明の一態様によれば、本発明のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバー装置のコンピュータを、前記クライアント装置で画像を表示するために前記画像を送信するように求める、前記クライアント装置からの要求を受信する要求受信手段、前記受信した要求に基づいて、前記画像と前記クライアント装置の表示部に表示するためにフレームメモリ領域に格納された表示済画像との差分を算出して送信用画像を求める送信画像算出手段、前記算出された送信用画像を前記クライアント装置へ送信する画像送信手段として機能させるためのプログラムである。
本発明によれば、サーバーベースコンピューティング動作をしながら、クライアント装置側において、CPUの負荷を軽減し、サーバー装置との通信量を削減でき、さらに高速な表示の描画を可能とする。
以下、本発明の実施の形態について図面を参照しながら説明する。
図1は、サーバーベースコンピューティングのネットワーク構成の概略を示す図である。
図1において、サーバー装置101は、アプリケーションプログラムを実行する機能、データを管理する機能等を有している。
クライアント端末装置102は、ネットワーク109を介してサーバー装置101に接続されている。無線アクセスポイント103も、ネットワーク109を介してサーバー装置101に接続されている。また、モバイル端末装置104、スマートフォン105等の移動端末装置は、アクセスポイント103と無線通信を行うことにより、ネットワーク9を介してサーバー装置101と接続されている。なお、以下の説明においては、クライアント端末装置102、モバイル端末装置104およびスマートフォン105を総称してクライアント装置という。
そして、クライアント端末装置102、モバイル端末装置104あるいはスマートフォン105は、サーバー装置101との間でサーバーベースコンピューティングシステムを構築している。
モバイル端末装置104では、無線ネットワーク(例えばWiFi)、アクセスポイント103を介して、サーバー装置101と接続されている。そして、モバイル端末装置104のような移動端末装置は、電池寿命を考慮した低消費電力設計されている。
図2は、モバイル端末装置104の消費電力の内訳の一例を示す図である。
モバイル端末装置104が電力を消費するのは、図2に示したように、主にLSI部、表示部および無線部である。なお、図2に示した例においては、無線部は100%稼動している状態を示している。サーバー装置101との非通信期間を長く取れれば無線部をパワーダウンすることが可能であるが、一般的には、頻繁に通信がなされている。
図2に示すとおり、無線部の消費電力がモバイル端末装置が消費する電力の65%を占めている。モバイル端末装置104は電池駆動であるため、搭載電池容量に応じた時間しか使用することができず、モバイル端末装置104でサーバーベースコンピューティングを行うということは、モバイル端末装置104内の消費電力の大半を占める無線部を使うことであり、これによりモバイル端末装置104の使用時間が制限される。
本発明を適用したクライアント装置は、キャッシュメモリへの保持方法を、扱い易いフレームバッファと言う形で持つことに特徴がある。これにより、例えばクライアント装置側でのスクロール、拡大縮小等の処理をキャッシュメモリで処理させることができ、サーバー装置とのアクセスを実行することなく上記処理を実行することが可能となる。すなわち、サーバー装置と通信アクセスを実行しない分、クライアント装置が消費する消費電力を抑えることが可能となる。また、サーバー装置にアクセスしない分、処理速度も高速化される。
また、フレームバッファへのアクセスに専用のTLB(Translation Look-aside Buffer)を設けることにより、メモリ資源を有効に使うことができる。
また、画面の縮小操作時や画面の回転操作時に、フレームバッファ内のデータで処理できる場合には、サーバー装置へのアクセスを行わず、クライアント装置内で処理を実行する。
まず、本発明を適用した第1の実施の形態について説明する。
図3は、本発明を適用したモバイル端末装置104の構成の概略を示す図である。
図3において、モバイル端末装置104は、LSI200、LCD210、プログラム格納メモリ212およびワークメモリ213を備えている。
LSI200は、SOC(System On Chip)により構成されている。LSI200の内部構成について説明をする。CPU201は、内部バス(Bus)204aを介して各部とやり取りを制御する。メモリコントローラ(Mem.Cont.)204は、内部バス204bと、SDRAM等のワークメモリ213およびFROM等のプログラム格納メモリ212の制御を行う。LCDC(LCDコントローラ)202は、LSI200に内蔵されたRAM等の内蔵メモリ203を利用し、LCD210(表示部)へ表示データを転送する。また、UART(Universal Asynchronous Receiver:調歩同期シリアル通信)206、パワーマネージメントブロック(Power Mgmt)207、リアルタイムカウンタ(RTC)205、USBファンクション(USBF)208等により構成される。無線通信部209は、WiFiによる通信を可能とし、UART206に接続されている。
図4は、LCDCの内部構成を示す図である。
図4において、LCDC202は、バスインターフェース(BUS I/F)221を介してLSI200の内部バス204aと接続される。レジスタ(Reg.)222は、LCDC202への各種設定情報を格納する。メモリコントローラ(Memory Cont.)223は、内蔵メモリ(表示データの格納用メモリ)203を制御する。また、メモリコントローラ223は、DMAC(ダイレクトメモリアクセスコントローラ)223aを内蔵する。前記DMAC223aは、内蔵メモリ203からLCD210へのデータ転送を司る。
前記DMAC223aにより内蔵メモリ203から読み出された表示用のデータは、FIFO(先入れ先出しメモリ)224により同期を取った後、拡大縮小の機能を有するリサイザー(Resizer)225により所望の拡大率に処理される。
そして、FIFO226で同期が取られた後、LCD I/F227により所望の制御信号が生成され、LCD210へ表示データが送られ、LCD210で画像の表示がなされる。
図5は、サーバー装置の構成の概略を示す図である。
図5において、サーバー装置101は、CPU(中央処理装置:Central Processing Unit)701、サーバー装置101において実行する処理を実行するプログラムの他、サーバー装置101の各機能を制御し実行するための制御プログラムが収納されたROMやRAM等のメモリ702、各種のデータや信号等を入力するための入力部703、画像やその他の情報を表示するための表示部704、画像を始め様々な情報を記録するための記憶部705、外部記録媒体を駆動する記録媒体駆動部706、LAN等のネットワーク109に接続するためのネットワーク接続部707がバス700に接続されて構成され、CPU701がこれらの各部を制御している。
図6は、フレームバッファの振る舞いを説明するための図である。
モバイル端末装置104が備える表示装置は、モバイル性を重視したクライアント装置であるため、表示画面を大きくとることができない。その代わりに、より多くの情報を表示するためにHVGA(640×240)の解像度を有している。
他方、サーバー装置101で管理するアプリケーションはパソコン対応のものが多く、XGA(1024×768)の解像度を標準としてアプリケーションが構成されている。したがって、サーバー装置101側ではXGAのサイズとして扱い、サーバー装置101内ではXGAのフレームバッファ領域300を持っている。
図6の(A)は、アプリケーションが扱っているサーバー装置101内のフレームバッファ300を表しており、XGAのサイズを有している。表示領域301は、モバイル端末装置104で表示すべきHVGAの領域を示している。サーバー装置101は、この表示すべき表示領域301をモバイル端末装置104に送り、内蔵メモリ203内に設定した仮想フレームバッファ310内に描画する。仮想フレームバッファ310は内蔵メモリ203内に、LCD210の画素数(HVGA)以上、サーバー装置101内のフレームバッファ300の画素数(XGA)以下に設定されている。
図6の(B)は、モバイル端末装置104内の仮想フレームバッファ310のイメージを示している。仮想フレームバッファ310内では、有効な表示データがあることを示すデータ有効領域311内に、有効なデータが保持されている。
図6の(C)は、仮想フレームバッファ310内のデータを、LCD210に表示した状態を示している。なお、LCDC202の振る舞いについては後述する。
図6の(D)は、モバイル端末装置104において下方向へのスクロール操作が発生した後の、サーバー装置101内のフレームバッファ300を示す。表示領域302(実線)は、スクロール後にモバイル端末装置104に表示するための領域を示している。
図6の(E)は、モバイル端末装置104において下方向へのスクロール操作が発生した後の、仮想フレームバッファ310のイメージを示している。サーバー装置101より、不足分データが送られ、仮想フレームバッファ310内の新たなデータ有効領域312が形成されている。
データ有効領域312内の表示位置選択領域313(点線)をCPU201がLCDC202に指定すると、LCDC202がLCD210に新たな表示を描画する。
図6の(F)は、モバイル端末装置104において下方向へのスクロール操作が発生した後の、仮想フレームバッファ310内の表示位置選択領域313のデータを、LCD210に表示した状態を示している。
次に、仮想フレームバッファ310内での有効データの取り扱いの一例を説明する。
図7は、仮想フレームバッファ内での有効データの取り扱いを説明するための図である。
図7の(A)は、仮想フレームバッファ310内にデータ有効領域311が保持されている図6の(B)と同じものである。
CPU201は、図7の(B)に示すように、仮想フレームバッファ310を複数の小領域401に分割し、ワークメモリ213上においてデータ管理テーブル400としてデータ管理を行う。ここで、データ管理テーブル400内で有効領域として管理されている小領域群402は、図7の(A)のデータ有効領域311と対応している。
図7の(C)は、モバイル端末装置104において下方向へのスクロール操作が発生した後の、仮想フレームバッファ310のイメージを示しており、図6の(E)と同じものである。このときのCPU201によるデータ管理は上記と同様に、データ管理テーブル400内の小領域群403が有効であることを表している。また、仮想フレームバッファ310内のデータ有効領域312は、モバイル端末装置104内のCPU201が管理を行っている。
次に、サーバー装置101およびモバイル端末装置104において実行されるメイン処理の流れについてフローチャートを用いて説明する。
図8は、メイン処理の流れを示すフローチャートである。
まず、ステップ1000において、モバイル端末装置104において何かしらの操作が実行されると、ステップ1001において、その操作内容を判断する。
ステップ1000で実行された操作が画面の縮小操作であると判断されれば(ステップ1001:縮小操作)、ステップ1002において、指示された縮小が可能な有効データがモバイル端末装置104の内に有るか否かを判断する。そして、データがあれば(ステップ1002:有)、ステップ1004において、モバイル端末装置104内にて縮小処理を実行し、他方、データが無ければ(ステップ1002:無)、ステップ1009において、サーバー装置101で縮小処理を実行する。
また、ステップ1000で実行された操作が画面の回転操作であると判断されれば(ステップ1001:回転操作)、ステップ1003において、指示された回転が可能な有効データがモバイル端末装置104の内に有るか否かを判断する。そして、データがあれば(ステップ1003:有)、ステップ1005において、モバイル端末装置104内にて回転処理を実行し、他方、データが無ければ(ステップ1003:無)、ステップ1010において、サーバー装置101で回転処理を実行する。
また、ステップ1000で実行された操作が画面の拡大操作であると判断されれば(ステップ1001:拡大操作)、モバイル端末装置104に表示している部分を拡大するだけのであり必ずモバイル端末装置104内にデータが存在するので、ステップ1006において、モバイル端末装置104内にて拡大処理を実行する。
またステップ1000で実行された操作が画面のスクロール操作であると判断されれば(ステップ1001:スクロール操作)、ステップ1007において、図9に示したフローチャートを用いて後述するスクロール処理を実行する。
また、縮小操作でも回転操作でも拡大操作でもスクロール操作でもない操作、例えば、マウス操作やキー操作等のその他の操作であると判断されれば(ステップ1001:他)、ステップ1008において、その操作内容をサーバー装置101に送り、サーバー装置101での処理にて表示データが生成される。
図9は、スクロール処理の流れを示すフローチャートである。
図6を用いて説明した「下方向へのスクロール操作」が実行されると、すなわち図8のステップ1001でスクロール操作であると判断されると、ステップ500において、モバイル端末装置104のCPU201が、下方向へのスクロール操作を検出する。そして、ステップ501において、CPU201は、下方向へのスクロールにより表示すべきデータが仮想フレームバッファ310の範囲内にあるか否か、前記データ管理テーブル400を用いて判断する。
表示すべきデータが仮想フレームバッファ310の範囲内の処理であれば(ステップ501:範囲内)、ステップ507において、CPU201がLCDC202に対して、表示位置選択領域313を指定し、LCDC202がLCD210を駆動して画像を表示する。
他方、表示すべきデータが仮想フレームバッファ310の範囲内の処理でなければ(ステップ501:範囲外)、ステップ502において、CPU201がサーバー装置101に対して表示データを要求する。なお、データの要求方法は、モバイル端末装置104内の仮想フレームバッファ310の座標にて、モバイル端末装置104に新たに表示すべき領域をサーバー装置101に送る。また、サーバー装置101側では、モバイル端末装置104内の仮想フレームバッファ310の中でのデータ有効領域312は管理されている。
そして、ステップ510において、サーバー装置101がモバイル端末装置104からの表示データの要求を受信する。すると、サーバー装置101では、複数の方法でモバイル端末装置104に送り返すデータを算出する。本第1の実施の形態では2通りの方法で送り返すデータを算出し、通信データ量が少ない方法で算出したデータをモバイル端末装置104に送り返す。
まず、ステップ511において、現在モバイル端末装置104が仮想フレームバッファ310で保持しているデータと、新しく表示する領域のデータとの差分を計算し、その差分量に基づいてデータの圧縮を行う。また、ステップ512において、モバイル端末装置104内の仮想フレームバッファ310に無い新たな領域のみを圧縮、すなわち図6の(D)に示した、これから表示すべき領域である領域302から、現在の表示領域301と重なる領域を引いた領域を圧縮する。
そして、ステップ513において、ステップ511で圧縮したデータ量とステップ512で圧縮したデータ量とを比較して、どちらの圧縮後のデータが少ない方かを判断する。
ステップ511で計算した差分圧縮の方が少ないと判断された場合(ステップ513:511の方が少ない)は、ステップ514において、仮想フレームバッファ310内の差分計算の対象となる領域の指定とステップ511で算出した差分圧縮データとをサーバー装置101へ転送する。他方、ステップ512で計算した差分圧縮の方が少ないと判断された場合(ステップ513:512の方が少ない)は、ステップ515において、ステップ512で算出した新領域の圧縮データをサーバー装置101へ転送する。
そして、ステップ516において、モバイル端末装置104内の仮想フレームバッファ310の振る舞いを管理すべく、転送済み領域のデータベースをアップデートする。
ここで、サーバー装置101からモバイル端末装置104へ転送されるデータ形式を説明する。
図10は、サーバー装置からモバイル端末装置へ転送されるデータの構造を示す図である。
図10において、転送されるデータは、転送先のモバイル端末装置104のアドレス901、コマンド902、圧縮方式903、展開先アドレス904、サイズ905、圧縮データ906から構成されている。
コマンド902には、サーバー装置101からモバイル端末装置104に対する命令が格納される。サーバー装置101で画像が書き換わると、サーバー装置101内に保持しているフレームバッファ300内をクリアする等のコマンド902が発行される。そして、クリアするコマンド902(クリアコマンド)が発行されると、図7を用いて説明したデータ管理テーブル400(FBCT:フレームバッファコントロールテーブル)がクリアされる。
圧縮方式903には、サーバー装置101で圧縮した圧縮方法が格納され、これを参照することによりモバイル端末装置104で解凍する。
展開先アドレス904には、解凍したデータをモバイル端末装置104内の仮想フレームバッファ310の何処に展開するかのアドレスが格納されている。サイズ905には、圧縮データ906のデータ長が格納されている。
圧縮データ906以外のアドレス901、コマンド902、圧縮方式903、展開先アドレス904およびサイズ905は固定長データであり、圧縮データ906だけは可変長データ形式となっている。
図9の説明に戻る。
ステップ503において、モバイル端末装置104は、サーバー装置101から送信されたデータを受信し、ステップ504において、受信したデータのコマンド902を解析し、データ管理テーブル400(FBCT)をクリアするクリアコマンドを含んでいるか判断する。
クリアコマンドを含んでいると判断されれば(ステップ504:Yes)、ステップ505において、データ管理テーブル400(FBCT)をクリアする。そして、クリアコマンドを含んでいないと判断された場合(ステップ504:Noは)、あるいはステップ505でのデータ管理テーブル400(FBCT)のクリアの後に、ステップ506において、圧縮方式903を解析し、転送されてきたデータの圧縮方法に応じて、CPU201が仮想フレームバッファ301の内容をアップデートする。そして、このアップデートをしている最中に再びデータ管理テーブル400(FBCT)は更新されていく。
最後に、ステップ507において、CPU201がLCDC202に対して、表示位置選択領域313を指定し、LCDC202がLCD210を駆動して画像を表示する。
なお、モバイル端末装置104の仮想フレームバッファ310は、通常サーバー装置101内のフレームバッファ以下のサイズで設定される。本第1の実施の形態では同サイズとしたが、モバイル端末装置104の仮想フレームバッファ310をVGA(640×480)として設定しても良い。この場合には、サーバー装置101側でモバイル端末装置104内の仮想フレームバッファ310がVGAであることを踏まえて、モバイル端末装置104へ転送する画像を生成する必要がある。モバイル端末装置104内の仮想フレームバッファ310を超える様な操作が有った場合には、サーバー装置101はモバイル端末装置104内の仮想フレームバッファ310を全て書き換えるべく指示を出す。モバイル端末装置104側では、その指示に従い図9のステップ504,505,506の順に処理される。
上述した第1の実施の形態では、ハードウェア構成が簡便になるものの、内蔵メモリ203の使用効率が良いとはいえない。LSI200内に構成する内蔵メモリ203は、LSI200外に構成するワークメモリ213に比べて消費電力が少ない利点はあるものの、容量当たりのコストが高い。
そこで、変形例1として、内蔵メモリ203はLCD210と同解像度を持たせる。本変形例1では、LCD210はHVGAであるので、内蔵メモリ203はHVGA(640×240)のサイズとする。内蔵メモリ203の中身がそのまま、LCD210に描画される。部分拡大のみは、リサイザー225により拡大処理される。
また、仮想フレームバッファ310は、ワークメモリ213上に持つ。ワークメモリ213上の、仮想フレームバッファ310内の、表示位置選択領域313を、LSI200内の不図示のDMAにより内蔵メモリ203に転送する。他の動作は、体1の実施の形態と同様である。
更に、変形例2を示す。
変形例2では、ワークメモリ213は、仮想フレームバッファ310に使うだけでなく、CPU201の動作のワーキングメモリとしても利用される。ワークメモリ213は、OSや各種アプリケーションのワーキングメモリとして使用されるため、仮想フレームバッファ310としても有効に使われたい。
そこで、仮想フレームバッファ310専用のTLB(Translation Look-aside Buffer)を設ける。
図11は、仮想フレームバッファ専用のTLBの概念を示す図である。
TLBは、仮想アドレスをメモリの物理アドレスに変換する一種のキャッシュメモリである。
TLBの内容をCPU201が書き換えることにより、ワークメモリ213を離散的なメモリ配置でなく、連続的な配置で取ることができる。FB(フレームバッファ)論理アドレスは飛び飛びの値であっても、実際にワークメモリ213にアクセスするFB物理アドレスでは、連続的にすることが可能となる。連続的な配置で取ることにより、ワークメモリ213の未使用の領域は他の処理に有効に使うことができる。
仮想フレームバッファ310等を論理アドレスで扱うことにより、上記第1の実施の形態および変形例1の仮想フレームバッファ310への管理方法をそのまま利用できる。
上述したような第1の実施の形態の構成を取ることにより、サーバーベースコンピューティング動作をしながら、キャッシュメモリという形で効率的に仮想フレームバッファ構成していくことができる。また、モバイル端末装置104側のCPU201の負荷を必要とせず、通信量を削減でき、さらに高速な表示の描画を可能とする。また、変形例2を用いると、さらにCPU201の負荷を減らすことができ、メモリ資源も有効に使うことが出来る。
次に、本発明を適用した第2の実施の形態について説明する。
第2の実施の形態は、第1の実施の形態におけるスクロール操作の代わりに縮小操作が実行された場合の処理である。
図12は、第2の実施の形態におけるフレームバッファの振る舞いを説明するための図である。
図12の(A)は、サーバー装置101内フレームバッファ300を表しており、データ有効領域312は、既にモバイル端末装置104に送信済みの領域を示している。
図12の(B)は、モバイル端末装置104内の仮想フレームバッファ310を表しており、データ有効領域312は、既にサーバー装置101より有効なデータが送られてきている。モバイル端末装置104上の操作により縮小操作が為され、表示位置選択領域313をCPU201がLCDC202にセットする。LCDC202は、リサイザー225を利用して縮小処理をしてLCD210にデータを転送する。
図12の(C)は、LCD210で表示されている様子を示している。
このように第2の実施の形態においては、モバイル端末装置104の縮小操作およびLCD201への表示が実行されていても、サーバー装置101との通信は全く行われずに縮小表示が実行されている。
すなわち、モバイル端末装置104が縮小操作を行った際に、仮想フレームバッファ310内に利用する有効データがあるかないかをCPU210が判断し、データがあれば上述の通りモバイル端末装置104内で処理を実行し、データが無ければサーバー装置101よりデータを送って貰い、仮想フレームバッファ310の表示位置選択領域313を拡大しつつ、LCD210に縮小画面を表示する。
なお、本第2の実施の形態は縮小操作であるが、拡大操作に関しては、LCD210で表示されている画像の拡大であれば、必ず仮想フレームバッファ310のデータ有効領域312に扱うデータがあるため、サーバー装置101へのアクセス無しに処理を行うことができる。
これにより、縮小操作の際に、サーバー装置101へのアクセスを減らすことができ、消費電力の低減が図れる。さらに、サーバー装置101へアクセスを行わない分、高速化が可能となる。
次に、本発明を適用した第3の実施の形態について説明する。
第3の実施の形態は、第1の実施の形態におけるスクロール操作の代わりに回転操作が実行された場合の処理である。
図13は、第3の実施の形態におけるフレームバッファの振る舞いを説明するための図である。
図13の(A)は、サーバー装置101内フレームバッファ300を表しており、データ有効領域312は、既にモバイル端末装置104に送信済みの領域を示している。
図13の(B)は、モバイル端末装置104内の仮想フレームバッファ310を表しており、データ有効領域312は、既にサーバー装置101より有効なデータが送られてきている。モバイル端末装置104上の操作により指定した領域を90度右回転する回転操作が為され、表示位置選択領域313をCPU201がLCDC202にセットする。LCDC202は、メモリコントローラ223内のDMAC223aを利用して回転操作を実行し、LCD210にデータを転送する。前記DMAC223aはスクリプトベース型のダイナミックメモリアクセスコントローラであり、画像が保持されている内蔵メモリ203のアドレッシングを自由に行うことができる。
図13の(C)は、指定した領域を90度右回転するLCD210で表示されている様子を示している。
このように第3の実施の形態においては、モバイル端末装置104の回転操作およびLCD201への表示が実行されていても、サーバー装置101との通信は全く行われずに回転表示が実行されている。
すなわち、モバイル端末装置104が回転操作を行った際に、仮想フレームバッファ310内に利用する有効データがあるかないかをCPU210が判断し、データがあれば上述の通りモバイル端末装置104内で処理を実行し、データが無ければサーバー装置101よりデータを送って貰い、仮想フレームバッファ310の表示位置選択領域313を回転させ、LCD210に画面を表示する。
これにより、回転操作の際に、サーバー装置101へのアクセスを減らすことができ、消費電力の低減が図れる。さらに、サーバー装置101へアクセスを行わない分、高速化が可能となる。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の各実施の形態におけるサーバー装置あるいはクライアント装置は、その一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。
また、本発明が適用されるクライアント装置は、その機能が実行されるのであれば、上述の各実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
また、本発明が適用されるクライアント装置は、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた各実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、クライアント装置に供給し、そのクライアント装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した各実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した各実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた各実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
サーバーベースコンピューティングのネットワーク構成の概略を示す図である。 モバイル端末装置の消費電力の内訳の一例を示す図である。 本発明を適用したモバイル端末装置の構成の概略を示す図である。 LCDCの内部構成を示す図である。 サーバー装置の構成の概略を示す図である。 フレームバッファの振る舞いを説明するための図である。 仮想フレームバッファ内での有効データの取り扱いを説明するための図である。 メイン処理の流れを示すフローチャートである。 スクロール処理の流れを示すフローチャートである。 サーバー装置からモバイル端末装置へ転送されるデータの構造を示す図である。 仮想フレームバッファ専用のTLBの概念を示す図である。 第2の実施の形態におけるフレームバッファの振る舞いを説明するための図である。 第3の実施の形態におけるフレームバッファの振る舞いを説明するための図である。
符号の説明
101 サーバー装置
102 クライアント端末装置
103 無線アクセスポイント
104 モバイル端末装置
105 スマートフォン
109 ネットワーク
200 LSI
201 CPU
202 LCDコントローラ(LCDC)
203 内蔵メモリ(RAM)
204 メモリコントローラ(Mem.Cont.)
204a 内部バス(Bus)
204b 内部バス
205 リアルタイムカウンタ(RTC)
206 調歩同期シリアル通信(UART)
207 パワーマネージメントブロック(Power Mgmt)
208 USBファンクション(USBF)
209 無線通信部(WiFi)
210 LCD
212 プログラム格納メモリ(FROM)
213 ワークメモリ(SDRAM)
221 バスインターフェース(BUS I/F)
222 レジスタ(Reg.)
223 メモリコントローラ(Memory Cont.)
223a DMAC(ダイレクトメモリアクセスコントローラ)
224 FIFO(先入れ先出しメモリ)
225 リサイザー(Resizer)
226 FIFO
227 LCD I/F
300 フレームバッファ(サーバー装置側)
301 領域
302 領域
310 仮想フレームバッファ
311 データ有効領域
312 データ有効領域
313 表示位置選択領域
400 データ管理テーブル
401 小領域
402 小領域群
403 小領域群
701 CPU
702 メモリ
703 入力部
704 表示部
705 記憶部
706 記録媒体駆動部
707 ネットワーク接続部
700 バス
901 アドレス
902 コマンド
903 圧縮方式
904 展開先アドレス
905 サイズ
906 圧縮データ

Claims (11)

  1. アプリケーションプログラムを動作させるサーバー装置に対してネットワークを介してサービス要求を行うクライアント装置であって、
    画像を表示するための表示部と、
    前記表示部に前記画像を表示するために前記画像を一時的に格納するフレームメモリ領域と、
    前記表示部に表示するための前記画像が前記フレームメモリ領域に格納されているか否かを判断する判断部と、
    前記判断部によって前記画像が前記フレームメモリ領域に格納されていないと判断された場合、前記サーバー装置に対して前記画像の送信を要求する画像要求部と、
    前記サーバー装置から送信されてきた前記画像を受信する画像受信部と、
    前記画像受信部によって受信した前記画像を前記フレームメモリ領域に格納するメモリ制御部と、
    前記フレームメモリ領域に格納された前記画像を前記表示部に表示するよう制御する表示制御部と、
    を備えることを特徴とするクライアント装置。
  2. 前記フレームメモリ領域は、キャッシュメモリであることを特徴とする請求項1に記載のクライアント装置。
  3. 前記フレームメモリ領域は、前記表示部の表示画面サイズ以上かつ前記サーバー装置が備えるフレームメモリサイズ以下のサイズであることを特徴とする請求項1または2に記載のクライアント装置。
  4. 前記フレームメモリ領域に、専用のTLB(Translation Look-aside Buffer)を設けることを特徴とする請求項1乃至3の何れか1項に記載のクライアント装置。
  5. 前記表示部に表示されている表示済画像を縮小するように操作された場合、前記判断部は、前記判断部によって前記画像が前記フレームメモリ領域に格納されていると判断して前記サーバー装置に対して前記画像の送信を要求せず、
    前記表示部は、前記フレームメモリ領域に格納されている前記画像の縮小画像を表示する、
    ことを特徴とする請求項1乃至4の何れか1項に記載のクライアント装置。
  6. 前記表示部に表示されている表示済画像を回転するように操作された場合、前記判断部は、前記判断部によって前記画像が前記フレームメモリ領域に格納されていると判断して前記サーバー装置に対して前記画像の送信を要求せず、
    前記表示部は、前記フレームメモリ領域に格納されている前記画像の回転画像を表示する、
    ことを特徴とする請求項1乃至4の何れか1項に記載のクライアント装置。
  7. ネットワークを介したクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバー装置であって、
    前記クライアント装置で画像を表示するために前記画像を送信するように求める、前記クライアント装置からの要求を受信する要求受信部と、
    前記要求受信部によって受信した要求に基づいて、前記画像と前記クライアント装置の表示部に表示するためにフレームメモリ領域に格納された表示済画像との差分を算出して送信用画像を求める送信画像算出部と、
    前記送信画像算出部によって算出された送信用画像を前記クライアント装置へ送信する画像送信部と、
    を備えることを特徴とするサーバー装置。
  8. 前記送信画像算出部は、複数の計算方法で前記送信用画像を圧縮し、
    前記画像送信部は、前記圧縮した送信用画像のうち最も容量の小さい送信用画像を送信する、
    ことを特徴とする請求項7に記載のサーバー装置。
  9. 請求項1乃至6の何れか1項に記載のクライアント装置と請求項7または8に記載のサーバー装置とがネットワークを介して相互に接続可能に構成されたことを特徴とするサーバーベースコンピューティングシステム。
  10. アプリケーションプログラムを動作させるサーバー装置に対してネットワークを介してサービス要求を行うクライアント装置のコンピュータを、
    画像を表示部に表示するために前記画像がフレームメモリ領域に格納されているか否かを判断する判断手段、
    前記画像が前記フレームメモリ領域に格納されていないと判断された場合、前記サーバー装置に対して前記画像の送信を要求する画像要求手段、
    前記サーバー装置から送信されてきた前記画像を受信する画像受信手段、
    前記受信した前記画像を前記フレームメモリ領域に格納するメモリ制御手段、
    前記フレームメモリ領域に格納された前記画像を前記表示部に表示するよう制御する表示制御手段、
    として機能させるためのプログラム。
  11. ネットワークを介したクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバー装置のコンピュータを、
    前記クライアント装置で画像を表示するために前記画像を送信するように求める、前記クライアント装置からの要求を受信する要求受信手段、
    前記受信した要求に基づいて、前記画像と前記クライアント装置の表示部に表示するためにフレームメモリ領域に格納された表示済画像との差分を算出して送信用画像を求める送信画像算出手段、
    前記算出された送信用画像を前記クライアント装置へ送信する画像送信手段、
    として機能させるためのプログラム。
JP2006019569A 2006-01-27 2006-01-27 クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム Pending JP2007200145A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006019569A JP2007200145A (ja) 2006-01-27 2006-01-27 クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006019569A JP2007200145A (ja) 2006-01-27 2006-01-27 クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2007200145A true JP2007200145A (ja) 2007-08-09

Family

ID=38454683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006019569A Pending JP2007200145A (ja) 2006-01-27 2006-01-27 クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム

Country Status (1)

Country Link
JP (1) JP2007200145A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169455A (ja) * 2008-01-10 2009-07-30 Casio Comput Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステム、サーバ制御プログラム、クライアント制御プログラム
JP2010055493A (ja) * 2008-08-29 2010-03-11 Casio Comput Co Ltd サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム
JP2010237816A (ja) * 2009-03-30 2010-10-21 Nec Personal Products Co Ltd サーバ装置、クライアント装置、クライアントサーバシステム、画像出力方法及びプログラム
JP2012059279A (ja) * 2011-11-01 2012-03-22 Casio Comput Co Ltd サーバ装置、クライアント装置およびプログラム
US8463062B2 (en) 2009-09-01 2013-06-11 Fujifilm Corporation Image transmission apparatus, method, recording medium, image output apparatus and image transmission system including pattern determination unit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105372A (ja) * 1996-10-02 1998-04-24 Oki Data:Kk データ列の圧縮装置及び圧縮方法
JP2002324069A (ja) * 2001-04-25 2002-11-08 Dream Technologies Kk データ管理装置及び地図表示システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105372A (ja) * 1996-10-02 1998-04-24 Oki Data:Kk データ列の圧縮装置及び圧縮方法
JP2002324069A (ja) * 2001-04-25 2002-11-08 Dream Technologies Kk データ管理装置及び地図表示システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169455A (ja) * 2008-01-10 2009-07-30 Casio Comput Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステム、サーバ制御プログラム、クライアント制御プログラム
JP2010055493A (ja) * 2008-08-29 2010-03-11 Casio Comput Co Ltd サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム
JP2010237816A (ja) * 2009-03-30 2010-10-21 Nec Personal Products Co Ltd サーバ装置、クライアント装置、クライアントサーバシステム、画像出力方法及びプログラム
US8463062B2 (en) 2009-09-01 2013-06-11 Fujifilm Corporation Image transmission apparatus, method, recording medium, image output apparatus and image transmission system including pattern determination unit
JP2012059279A (ja) * 2011-11-01 2012-03-22 Casio Comput Co Ltd サーバ装置、クライアント装置およびプログラム

Similar Documents

Publication Publication Date Title
JP4810548B2 (ja) サーバ装置、更新画像検出方法およびプログラム
US7734936B2 (en) Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU
US8102400B1 (en) Method and apparatus for providing enhanced resolution display for display telephones and PDAs
JP3580630B2 (ja) 消費電力を管理するシステム及び電源を管理する方法
US7117379B2 (en) Method and apparatus for a computing system having an active sleep mode
US20070101325A1 (en) System and method for utilizing a remote memory to perform an interface save/restore procedure
EP3674846B1 (en) Method and apparatus for compressing and decompressing memory occupied by processor
WO2021036370A1 (zh) 预读取文件页的方法、装置和终端设备
TW201331753A (zh) 用於圖形虛擬化之gpu加速的位址轉換技術
JP5044961B2 (ja) クライアント装置およびプログラム
US9521190B2 (en) Dynamic session transformation
JP2007200145A (ja) クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム
EP2960785A2 (en) Techniques to compose memory resources across devices and reduce transitional latency
TWI410963B (zh) 作業系統輔助碟片快取電腦系統、方法與製圖子系統
US20140089812A1 (en) System, terminal apparatus, and image processing method
JP2008040529A (ja) サーバ装置、サーバベースコンピューティングシステムおよびプログラム
US9565049B2 (en) Communication apparatus, communication method, and computer product for sharing data
US7321977B2 (en) Information processing apparatus and method
CN102054051A (zh) 记录显示屏幕的内容
JP4742888B2 (ja) サーバー装置、クライアント装置およびプログラム
JP2009087171A (ja) サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
JP2008243049A (ja) 情報処理装置および同装置のメモリ制御方法
JP2007213273A (ja) クライアント装置、サーバー装置、サーバーベースコンピューティングシステムおよびプログラム
CN115795519B (zh) 数据加解密处理方法、装置、电子设备及存储介质
WO2023274125A1 (zh) 一种指令处理方法及其相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20081209

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529