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

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

Info

Publication number
JP4844275B2
JP4844275B2 JP2006209739A JP2006209739A JP4844275B2 JP 4844275 B2 JP4844275 B2 JP 4844275B2 JP 2006209739 A JP2006209739 A JP 2006209739A JP 2006209739 A JP2006209739 A JP 2006209739A JP 4844275 B2 JP4844275 B2 JP 4844275B2
Authority
JP
Japan
Prior art keywords
screen information
area
information
client device
service request
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.)
Expired - Fee Related
Application number
JP2006209739A
Other languages
English (en)
Other versions
JP2008040529A (ja
Inventor
光康 中嶋
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 JP2006209739A priority Critical patent/JP4844275B2/ja
Publication of JP2008040529A publication Critical patent/JP2008040529A/ja
Application granted granted Critical
Publication of JP4844275B2 publication Critical patent/JP4844275B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行うクライアント装置とクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とがネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムに関する。
近年、企業によるサーバベースコンピューティングの採用が急速に進んでいる。
サーバベースコンピューティング(シンクライアントシステム)とは、クライアント装置とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行うと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである(例えば、特許文献1および非特許文献1参照。)。
サーバ装置はクライアント用の表示データを作成し、これをクライアント装置に送る。クライアント装置(シンクライアント装置とも呼ばれる)では、使用者のキーやマウス等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウスやキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等のストレージが不要であり、アプリケーションプログラムの実行を行わないためクライアント装置に必要となる処理の負荷は軽い。
企業はサーバベースコンピューティングを導入することにより、データやアプリケーションプログラム等の資源がサーバ装置側で一元管理できるため、運用コストを削減することができるというメリットがある。また、クライアント装置は従来のパソコンに比べて安価に調達することができるというメリットがある。セキュリティ面においても、サーバ装置内のデータへのアクセス制限をかけたり、アクセスログを取ったりすることにより、情報への不正アクセスのリスクを減らすことが出来る。ウイルスに対しても、サーバ装置で一括対処することが可能となる。
特開2005−228227号公報 http://www.keyman.or.jp/search/30000031_1.html(サーバーベースコンピューティング)
上述したように、サーバベースコンピューティングが実行される際には、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行うクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されている。
しかしながら、上述のような技術においては、クライアント装置がモバイル端末であった場合は、モバイル性を重視したクライアント装置であるため、表示画面を大きくとることができない。例えば、4インチHSVGA(800×300)であれば、標準的なディスクトップパソコンの表示サイズである15インチXGA(1024×768)に比べて遥かに小さい。そのため、クライアント装置の操作に応答してクライアント装置の表示データが変更されるごとに、サーバ装置からクライアント装置への表示データのデータ送信が必要になる。特に、クライアント装置の表示画面が小さい場合には、必要情報を表示画面から探すため、表示画面の更新が頻繁に発生し、その度にサーバ装置から表示データが送られてくる。クライアント装置がモバイル端末であると、無線を使用してデータの送受信を行う。その際に、ネットワーク回線速度が遅かったり、ネットワーク回線品質を保てなかったりした場合、サーバ装置からの応答性が悪くなり、操作性が著しく低下する。
そこで、仮想ディスプレイ方式が提案されている。これは、クライアント装置内のフレームバッファを、サーバ装置で扱うフレームバッファと同サイズにする。そして、クライアント装置内フレームバッファ内の所望の領域を選択して、クライアント装置の表示装置に転送し、表示を行う。この仮想ディスプレイ方式であれば、クライアント装置での画面スクロールであればクライアント装置内フレームバッファに表示データがあり、サーバ装置にデータ要求を行わないで処理が可能となる。
しかしながら、この仮想ディスプレイ方式では、クライアント装置とサーバ装置の間で同期をとるデータ量が、クライアント装置の表示装置の領域であるHSVGAではなく、フレームバッファ分のXGA領域となる。そのため、クライアント装置の画面更新が発生したときに、同期するデータ量が多いことにより操作性が著しく低下してしまうという問題点があった。
そこで、本発明は、上記問題点に鑑みてなされたものであり、優先順位を付けてサーバ装置からクライアント装置へ画像データを転送することにより、画面の更新による使用者のストレスを極力減少させることが可能なサーバベースコンピューティングシステムを提供することを目的とする。
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、前記クライアント装置からのサービス要求を受信するサービス要求受信手段と、前記クライアント装置が有する現画面情報の一部の領域である、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段と、前記サービス要求受信手段によって受信した前記サービス要求に基づいて、新たな画面情報を生成する画面情報生成手段と、前記画面情報生成手段により生成された新たな画面情報と前記現画面情報とを比較して、変化した領域を特定する変化領域特定手段と、前記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応する領域の画面情報を、前記クライアント装置へ送信する第1の画面情報送信手段と、記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応しない領域の画面情報を、前記第1の画面情報送信手段によって画面情報が前記クライアント装置へ送信された後に前記クライアント装置へ送信する第2の画面情報送信手段と、を備えることを特徴とする。
また、本発明の一態様によれば、本発明のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、前記クライアント装置からのサービス要求を受信するサービス要求受信手段、前記クライアント装置が有する現画面情報の一部の領域である、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段、前記サービス要求受信手段によって受信した前記サービス要求に基づいて、新たな画面情報を生成する画面情報生成手段、前記画面情報生成手段により生成された新たな画面情報と前記現画面情報とを比較して、変化した領域を特定する変化領域特定手段、前記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応する領域の画面情報を、前記クライアント装置へ送信する第1の画面情報送信手段、記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応しない領域の画面情報を、前記第1の画面情報送信手段によって画面情報が前記クライアント装置へ送信された後に前記クライアント装置へ送信する第2の画面情報送信手段、として機能させるためのプログラムである。
本発明によれば、クライアント装置の全てのフレームバッファが更新されなくとも、優先して表示領域が更新されるため、使用者がストレス無く端末操作を実行することができる。また、本発明によれば、通信回線の品質が低下してきても、速度の遅い通信回線を利用しても、端末操作を快適に行うことができる。
以下、本発明の実施の形態について図面を参照しながら説明する。
図1は、サーバベースコンピューティングのネットワーク構成の概略を示す図である。
図1において、サーバ装置101は、アプリケーションプログラムを実行する機能、データを管理する機能等を有している。
クライアント端末装置102は、ネットワーク109を介してサーバ装置101に接続されている。無線アクセスポイント103も、ネットワーク109を介してサーバ装置101に接続されている。また、モバイル端末装置104、スマートフォン105等の移動端末装置は、アクセスポイント103と無線通信を行うことにより、ネットワーク109を介してサーバ装置101と接続されている。なお、以下の説明においては、クライアント端末装置102、モバイル端末装置104およびスマートフォン105を総称してクライアント装置という。
そして、クライアント端末装置102、モバイル端末装置104あるいはスマートフォン105は、サーバ装置101との間でサーバベースコンピューティングシステムを構築している。
モバイル端末装置104では、無線ネットワーク(例えばWiFi)、アクセスポイント103を介して、サーバ装置101と接続されている。ネットワーク109での接続は、その回線品質が何時でも良好に保たれているわけでなく、種々障害等により品質が低下することがある。無線ネットワークでは、有線ネットワークに比べてその品質を維持するのが難しい。有線ネットワークの品質が低下すると、通信速度の低下等により、サーバ装置101とクライアント装置間のデータ転送が満足に行えず、操作性の悪化をもたらす。
本発明を適用したサーバベースコンピューティングシステムは、モバイル端末装置104内に、表示サイズ以上の、サーバ装置101で管理するフレームバッファと同サイズのフレームバッファを有している。そして、サーバ装置101によるフレームバッファデータの送信を、モバイル端末装置104の現在表示している領域を優先しておこなう。これにより、通信品質が低下しても、或いは通信速度の遅いネットワーク回線を使用しても、モバイル端末装置104での高い操作性を保つことが出来る。
図2は、モバイル端末装置104の外観を示す図である。
図2において、モバイル端末装置104は、LCD210と、キーボード211を備える。キーボード211は、上カーソルキー502a、右カーソルキー502b、下カーソルキー502cおよび左カーソルキー502dからなる十字カーソルキーと、前記十字カーソルキー(上カーソルキー502a、右カーソルキー502b、下カーソルキー502cおよび左カーソルキー502d)の中心に、通常右手で操作するポインタ214を備えている。また、キーボード211は、左クリックキー212aおよび右クリックキー212bを備え、ポインタ214を右手で操作した場合の右クリックおよび左クリックは、左クリックキー212aおよび右クリックキー212bを左手で操作する。また、キーボード211は、汎用的に使用するスライドバー510を、右手で操作しやすい位置に備えている。スライドバー510は、上下スクロール(縦スクロール)の機能を持ち、シフトキー512を押しながら、例えば左手でスライドバー510を操作すると、スクロールキーとしての動作を行う。
図3は、本発明を適用したモバイル端末装置104の構成の概略を示す図である。
図3において、モバイル端末装置104は、LSI200、LCD210、プログラム格納メモリ212、ワークメモリ213、キーボード211およびマウスポインタ等のポインタ214を備えている。
LSI200は、SOC(System On Chip)により構成されている。LSI200の内部構成について説明をする。CPU(中央処理装置:Central Processing Unit)201は、内部バス(Bus)204aを介して各部とやり取りを制御する。メモリコントローラ(Mem.Cont.)204は、内部バス204bと、SDRAM等のワークメモリ213およびFROM等のプログラム格納メモリ212の制御を行う。LCDC(LCDコントローラ)202は、LSI200に内蔵されたRAM等の内蔵メモリ203を利用し、LCD210(表示部)へ表示データを転送する。内蔵メモリ203は、表示用のフレームバッファとして機能する。また、UART(Universal Asynchronous Receiver:調歩同期シリアル通信)206、パワーマネージメントブロック(Power Mgmt)207、リアルタイムカウンタ(RTC)205、USBファンクション(USBF)208等により構成される。無線通信部209は、WiFiによる通信を可能とし、UART206に接続されている。キーボード211、ポインタ214もUART206に接続されている。
モバイル端末装置104の表示画面は、例えば4インチHVGA(640×240)であり、標準的にパソコンで利用している表示画面、例えば15インチXGA(1024×768)に比較して小さい。そのため、仮想ディスプレイ方式による表示がなされる。すなわちサーバ装置101はXGA(1024×768)としてアプリケーションを実行する。一方、モバイル端末装置104の内蔵メモリ203内のフレームバッファはXGAとしての領域を確保してある。その中から選択的に、LCD210の大きさであるHVGA領域のみをモバイル端末装置104上に表示する。
図4は、サーバ装置101の構成の概略を示す図である。
図4において、サーバ装置101は、CPU301、サーバ装置101において処理を実行するプログラムの他、サーバ装置101の各機能を制御し実行するための制御プログラムが収納されたROMやRAM等のメモリ302、各種のデータや信号等を入力するための入力部303、画像やその他の情報を出力するための出力部304、画像を始め様々な情報を記録するための記憶部305、外部記録媒体を駆動する記録媒体駆動部306、LAN等のネットワーク109に接続するためのネットワーク接続部307がバス300に接続されて構成され、CPU301がこれらの各部を制御している。
図5は、本発明を適用したサーバ装置およびモバイル端末装置の各フレームバッファとモバイル端末装置のLCDとの関係を示す図であり、(A)は、サーバ装置101のフレームバッファ401内のデータを示し、(B)は、モバイル端末装置104のフレームバッファ410内のデータを示し、(C)は、モバイル端末装置104のLCD210の表示データを示す。
図5において、サーバ装置101は、XGA(1024×768)サイズであるフレームバッファ401を管理する(図5の(A))。また、モバイル端末装置104もサーバ装置101と同じサイズ(XGA(1024×768))のフレームバッファ410を管理している(図5の(B))。そして、モバイル端末装置104のLCD210は、HSVGA(800×300)しか表示できないため、モバイル端末装置104のフレームバッファ410内の所望位置で、HSVGAの大きさを表示選択領域411として指定し、LCD210により表示している(図5の(C))。
上述したように、LCD210より大きなフレームバッファ410を持ち、フレームバッファ410内の所望の領域を選択して表示する方法を、仮想ディスプレイ方式というが、本発明は仮想ディスプレイ方式の応用となる。そして、モバイル端末装置104のフレームバッファ410は、図3に示した内蔵メモリ203内に確保される。
なお、フレームバッファ410は内蔵メモリ203内ではなく、UMA(Unified Memory Architecture)として、ワークメモリ213内に確保しても良い。
そして、このようなサーバ装置101およびモバイル端末装置104から構成されるサーバベースコンピューティングにおいて、例えば、モバイル端末装置104は、サーバ装置101が管理するフレームバッファ401と、モバイル端末装置104が管理するフレームバッファ410が同サイズであって、モバイル端末装置104のLCD210の大きさがフレームバッファ410の領域より小さい構成である場合、サーバ装置101に対してモバイル端末装置104の操作情報とともに、現在表示している表示選択領域411をサーバ装置101へ通知する機能と、フレームバッファ410(仮想ディスプレイ)を操作する操作子とを備える。フレームバッファ410を操作する操作子には、ポインタ、スクロールキー等がある。
また、上記サーバベースコンピューティングにおいて、例えば、サーバ装置101は、サーバ装置101が管理するフレームバッファ401と、モバイル端末装置104が管理するフレームバッファ410が同サイズであって、モバイル端末装置104のLCD210の大きさがフレームバッファ410の領域より小さい構成である場合、モバイル端末装置104より送られてくる、上記端末操作と表示領域とにより、処理の優先順位を決める機能を持つ。この処理の優先順位は、モバイル端末装置104側の表示領域内の処理を優先とする。また、サーバ装置101のフレームバッファ401の管理方法は、前記表示位置の内外、あるいは小領域に分割しての管理とする。
すなわち、モバイル端末装置104は、フレームバッファ410内を移動(画面スクロール)する機能を備え、フレームバッファ410内の移動(画面スクロール)に対してはサーバ装置101への端末操作の送信は行わず、モバイル端末装置104内にて画面スクロールを行う。
サーバ装置101は、フレームバッファ410からモバイル端末装置104の表示位置と端末操作を受信し、表示位置に対応するフレームバッファ410内の領域を選択的に処理し、モバイル端末装置104に送信する。次に残りの領域を送信する。
そして、サーバ装置101のフレームバッファ401は複数の領域に分割して管理される。フレームバッファ401が更新されたとき、領域毎に更新前後の違いを検出し、検出された異なる領域を、モバイル端末装置104の表示領域に対応する領域から優先的に処理及び送信する。
上述したように、サーバ装置101のフレームバッファ401は複数の領域に分割して管理されるが、更にサーバ装置101内にモバイル端末装置104のフレームバッファ410と等価となる比較用フレームバッファを持つ。サーバ装置101のフレームバッファ410が更新されると領域毎に前記比較用フレームバッファとの違いを検出し、検出された異なる領域を、モバイル端末装置104の表示領域に対応する領域から優先的に処理及び送信を実行する。送信毎に比較用フレームバッファへも送信内容と同じ更新を行う。更に新たな受信確認を行ない、受信があれば領域更新処理を中断し、新たなモバイル端末装置104の操作として処理を行う。
次に、上述のように構成されたサーバベースコンピューティングシステム1において実行されるサーバ装置101およびモバイル端末装置104での動作例を説明する。
図6は、モバイル端末装置104において実行される端末操作タスクの動作例を示すフローチャートである。
モバイル端末装置104は、マルチタスクOS上に種々のプログラムが動作している。そのうちの1つである端末操作タスクは、モバイル端末装置104に何らかの操作(キーボード211の操作、ポインタ214の操作等)がなされると、その動作を受信して以下の処理を実行する。
まず、CPU201はステップS601において、端末操作が実行されているか否か、実行されているとすればどのような操作内容の端末操作であるのかを判断する。
操作がなされている場合は、その操作内容に従った処理を行う。スクロールキーが操作されていると判断された場合(ステップS601:スクロール操作)は、ステップS602において、フレームバッファ(仮想ディスプレイ)410内でのスクロール操作を行う。例えば、左カーソルキー502dが一度押されると、フレームバッファ410内の表示選択領域411を30ドット左に移動させ、移動後の領域を表示装置210に表示させる。
また、端末操作がポインタ操作であると判断された場合(ステップS601:ポインタ操作)は、ステップS603において、ポインタ214で指示された現在のポインタ位置およびポインタ位置の移動方向を判断する。ポインタ位置がLCD210内の端部に位置し、LCD210の外側への移動方向とであると判断された場合(ステップS603:画面内端部から外側へ)は、上述したステップS602の「端末内スクロール処理」を実行する。例えば、ポインタ214で指示されたポインタ位置がLCD201の左端に位置している状態から、更に使用者がポインタ214を左側に操作すると、操作しつづけている間、例えば100ミリ秒毎に10ドット、左方向に表示選択領域411を移動させる。
他方、端末操作が他の操作であるとステップS601で判断された場合(ステップS601:他の操作)、あるいは、ポインタ位置がLCD210内の端部に位置しておらず、LCD210の外側への移動方向とであると判断されていない場合(ステップS603:他の操作)は、ステップS604において、その端末操作と表示選択領域411をサーバ装置101へ送信する。そして、ステップS601へ戻り、再び、端末操作を待つループに入る。
図7は、モバイル端末装置104からサーバ装置101へ送信するデータのデータ形式を示す図である。
図7に示したように、モバイル端末装置104からサーバ装置101へ送信するデータは、モバイル端末装置104での端末操作701、および表示選択領域411で示されているフレームバッファ410内のLCD210に表示している表示位置702を有している。本データのデータ形式は、アプリケーション層レベルでのデータ形式であり、下位層により、サーバ101装置へのアドレス、データ部の暗号化、改竄防止の為のハッシュ値の付加、シーケンス番号の付加、等がなされる。
図8は、モバイル端末装置104において実行される端末側受信タスクの動作例を示すフローチャートである。
モバイル端末104では、図6を用いて説明した端末操作タスクとは別に、端末側受信タスクも起動している。
この端末側受信タスクは、まず、ステップS621において、サーバ装置101からの送信されるデータを受信したか否かを判断する。
受信した判断された場合(ステップS621:受信有)は、ステップS622において、受信データが圧縮されている場合は解凍し、ステップS623において、フレームバッファ410の所望の位置に受信したデータを展開する。そして、ステップS624において、LCD210へ画像を表示した後、再び受信待ちループに入る。
図9は、サーバ装置101において実行されるサーバ装置側受信タスクの動作例を示すフローチャートである。
サーバ装置101は、まず、ステップS801において、モバイル端末装置104からの送信されたサービス要求のデータを受信したか否かの受信待ちしている。
受信したと判断された場合(ステップS801:受信有)は、CPU301がステップS802において、モバイル端末装置104から送られてきた端末操作701に対応する処理を実行し、サービス要求が画面情報の生成に関するものであれば画面情報を生成してサーバ装置101のフレームバッファ401を更新する。
次に、ステップS803において、モバイル端末装置104から送られてきた表示位置702に相当する表示領域情報を取得し、その領域内のデータを、JPEG圧縮、或いはランレングス圧縮等により圧縮する。なお、圧縮をしないRAWデータとして処理をしても良い。或いは、矩形描画などの2Dコマンドと認識し、2Dコマンドとして処理をしても良い。
そして、ステップS804において、ステップS803で圧縮した表示位置702に相当する領域を、モバイル端末装置104に対して送信する。すなわち、第1の部分画面情報を第1の画面情報送信手段により送信する。すると、モバイル端末装置104では、図8を用いて上述した端末側受信タスクの実行によって、フレームバッファ410が更新され、まず現在表示している領域が更新されてLCD210に表示される。
次に、ステップ805において、スケジュール処理を実行する。ここで、スケジュール処理とは、処理待ちのタスクが無いかを調べ、本サーバ装置側受信タスクより優先順位の高い処理があれば、その優先順位の高い処理を先に実行する。なお、ここで本サーバ装置側受信タスクの優先度を下げても良い。
そして、先に実行した優先順位の高い処理の後、本サーバ装置側受信タスクに処理が戻ると、ステップS806において、モバイル端末装置104の表示領域外のデータを必要に応じて圧縮し、ステップS807において、モバイル端末装置104へ転送する。すなわち、第2の部分画面情報を第2の画面情報送信手段により送信する。すると、モバイル端末装置104では、図8を用いて上述した端末側受信タスクの実行によって、フレームバッファ410が更新される。
図10は、サーバ装置101からモバイル端末装置104へ送信するデータのデータ形式を示す図である。
図10に示したように、サーバ装置101からモバイル端末装置104へ送信するデータは、矩形の描画などの2Dコマンド901、ビットマップデータの圧縮方式902、ビットマップデータのフレームバッファ401への展開アドレス903、ビットマップデータの画像サイズ904、ビットマップデータの圧縮後の圧縮サイズ905、およびビットマップデータの圧縮データ906を有している。本データのデータ形式は、アプリケーション層レベルのデータ形式であり、下位層にて、モバイル端末装置104のアドレス、データ部の暗号化、改竄防止の為のハッシュ値の付加、シーケンス番号の付加等がなされる。
以上、本発明を適用した実施の形態を説明してきたが、上述の実施の形態においては、クライアント装置としてモバイル端末装置104を用いたが、本発明は、有線ネットワークで接続されているクライアント装置等、サーバクライアントコンピューティングシステムのクライアント装置の全てに適応することが可能である。
また、サーバ装置101は、複数のクライアント装置を同時に処理することが可能となっており、図9を用いて説明したサーバ装置側受信タスクは、モバイル端末装置104からの受信データによってのみ起動するものであり、他のクライアント装置からのデータ受信には別に起動している別の受信タスクが対応し処理を実行する。
次に、本発明を適用した実施の形態の変形例を説明する。
図11は、変形例におけるサーバ装置側受信タスクの動作例を示すフローチャートである。
まず、ステップS1001において、サーバ装置101からの送信されるデータを受信したか否かを判断する。
受信した判断された場合(ステップS1001:受信有)は、ステップS1002において、現在のフレームバッファ401(FB)の内容を比較用フレームバッファT440(FBT)に複写する。そして、ステップS1003において、モバイル端末装置104から送られてきた端末操作701に対応する処理を実行し、サーバ装置101のフレームバッファ401を作成する。
次に、ステップS1004において、ステップS1003で作成したフレームバッファ401と1つ前の操作による比較用フレームバッファT440と比較をして画面情報が変化したか否かを判別し、転送する必要がある変化した領域を特定する。そして、ステップS1005において、モバイル端末装置104へ送信する領域の転送順を決定するためのサブルーチン「領域転送順決定処理」を実行する。
図12は、転送順の決定方法を説明するための図であり、図13は、サブルーチン「領域転送順決定処理」の流れを示すフローチャートである。
図12(A)に示したように、サーバ装置101のフレームバッファ401をCPU301は複数の分割領域1111、1112、1113、1114等に分割する。同様に、比較用フレームバッファT440も複数の分割領域に分割して管理されている。本変形例では、横方向に6つ、縦方向に4つの計24個の分割領域に分割して管理する。なお、フレームバッファ401の左上の分割領域1111を(0,0)、分割領域1112を(5,0)、分割領域1113を(0,1)、分割領域1114を(5,3)として管理する。括弧内の最初の数字が横方向を示し、次の数字が縦方向の位置を示している。
図12(B)は、モバイル端末装置104から送られてきた端末操作701を実行する前の比較用フレームバッファT440を示す。図12(B)に示した比較用フレームバッファT440は、図11のステップS1002の実行によって生成された比較用フレームバッファT440である。
図12(C)は、モバイル端末装置104から送られてきた端末操作701を実行した後のフレームバッファ401を示す。モバイル端末装置104に表示している領域は表示選択領域411で示された領域(モバイル端末装置104から表示位置701として送られてきた位置)となっている。ここで、フレームバッファ401と比較用フレームバッファT440とを分割領域ごとに差分を取る等して両者の比較を行ない、変化の有り無しを判定する。
図12(D)中の灰色に塗られた分割領域が、端末操作701の実行によって変化の有った分割領域であることを示す。この中でモバイル端末装置104の表示領域411にかかっている分割領域は、濃い灰色で塗られた分割領域1120(4,1)、分割領域(4,2)であり、最優先に転送すべき分割領域となる。そして、表示領域411の外側で更新された薄い灰色に塗られた分割領域1121(4,0)、分割領域(5,0)、分割領域(5,1)、分割領域(5,2)、分割領域(4,3)および分割領域(5,3)が、次に転送すべき分割領域となる。
次に、図13を用いて、サブルーチン「領域転送順決定処理」について詳細に説明を行う。
まず、CPU301はステップS1301において、第1優先順位転送数として変数PFVに0を代入し、第2優先順位転送数として変数PSVに0を代入し、縦方向カウンタ値として変数Yに0を代入し、横方向カウンタ値として変数Xに0を代入して初期化する。
そして、ステップS1302において、縦方向の処理を終了したか否かを判断するため、予め縦方向の最大値が代入された変数YMAXより小さいか否かを判断する。この変形例では、縦方向に4分割しているので縦方向の最大値は4となる。縦方向の処理が終了するまでの間(ステップS1302:Y<YMAX)、次に、ステップS1303において、横方向の処理を終了したか否かを判断するため、予め横方向の最大値が代入された変数XMAXより小さいか否かを判断する。この変形例では、横方向に6分割しているので横方向の最大値は6となる。横方向の処理が終了するまでの間(ステップS1303:X<XMAX)、すなわち、全ての分割領域について、後述するステップS1304、S1305、S1306、S1307の処理を実行する。
まず、ステップS1304において、現在転送順位決定の判断対象となっている分割領域(X,Y)が、変化が有ったか否かを判断する。変化があったと判断された場合(ステップS1304:変化有)は、ステップS1305において、モバイル端末装置104で現在表示している領域であるか否かを判断する。
モバイル端末装置104で現在表示している領域であると判断された場合(ステップS1305:内)は、ステップS1306において、現在転送順位決定の判断対象となっている分割領域(X,Y)の座標を第1優先配列pfvaに格納し、PFV(第1優先順位転送数)を1インクリメントする。他方、モバイル端末装置104で現在表示している領域でないと判断された場合(ステップS1305:外)は、ステップS1307において、現在転送順位決定の判断対象となっている分割領域(X,Y)の座標を第2優先配列psvaに格納し、PSV(第2優先順位転送数)を1インクリメントする。
そして、ステップS1308において、横方向カウンタ値の変数Xを1インクリメントした後、ステップS1303以降を繰り返す。また、ステップS1309は、縦方向の処理を繰り返すために、横方向カウンタ値の変数Xを0に戻すとともに縦方向カウンタ地の変数Yを1インクリメントする処理である。そして、ステップS1302で縦方向カウンタ値の変数Yが縦方向の最大値YMAX以上と判断されることにより(ステップS1302:Y>=YMAX)、本サブルーチン「領域転送順決定処理」を終了して図11のサーバ装置側受信タスクに戻る。
図11の説明に戻る。
以下に説明するステップS1006乃至S1015は、図13を用いて説明したサブルーチン「領域転送順決定処理」で決定された優先順位に従った領域転送が実行される。
まず、モバイル端末104の表示領域に相当する第1優先領域の転送処理を実行する。
ステップS1006において、第1優先領域の転送を全て終了したか否かを判断する。すなわち、第1優先順位転送数である変数PFVとカウンタpfが同じか(PFV=pfか)否かを判断する。なお、カウンタpfは、予め0に初期化されている。
第1優先順位転送数である変数PFVとカウンタpfが同じでなければ(ステップS1006:≠)、ステップS1007において、転送する分割領域の選択を行う。すなわち、pfva[pf]にて分割領域を選ぶ。次に、ステップS1008において、該当する分割領域の圧縮処理を行ない、モバイル端末104に転送する。そして、ステップS1009において、カウンタpfを1インクリメントして、ステップS1006に戻り第1優先領域の処理が全て終了したか否かを判断する。
他方、第1優先順位転送数である変数PFVとカウンタpfが同じであれば(ステップS1006:=)、すなわち、第1優先領域の処理を終了すると、第2優先領域の処理を行う。まず、第2優先領域の処理に先立ち、ステップS1010において、図9を用いて説明を行ったスケジュール処理を行ない、他に優先するタスクがあれば先に処理をする。
そして、ステップS1011において、第2優先領域の転送を全て終了したか否かを判断する。すなわち、第2優先順位転送数である変数PSVとカウンタpsが同じか(PSV=psか)否かを判断する。なお、カウンタpsは、予め0に初期化されている。
第2優先順位転送数である変数PSVとカウンタpsが同じでなければ(ステップS1011:≠)、ステップS1012において、転送する分割領域の選択を行う。すなわち、psva[ps]にて分割領域を選ぶ。次に、ステップS1013において、該当する分割領域の圧縮処理を行ない、モバイル端末104に転送する。ステップS1014において、カウンタpsを1インクリメントした後、ステップS1015において、上述したスケジュール処理を行う。そして、ステップS1011に戻り第2優先領域の処理が全て終了したか否かを判断する。
これらステップS1006乃至S1015により、全ての分割領域の転送が終了したら、ステップS1001に戻る。
なお、本変形例では、分割領域1120(4,1)、分割領域(4,2)で示した分割領域が転送されれば、モバイル端末装置104の使用者にとっては、モバイル端末装置104のLCD210上では転送が終了したかに見え、使用者がサーバ装置101からの転送待ちをしていらつくようなことはなくなる。
また、本変形例では、端末操作701を実行する前後のフレームバッファ401と比較用フレームバッファT440とを比較することにより変化の有った分割領域を特定したが、サーバ装置101のCPU301が、フレームバッファ401を直接更新した分割領域を監視することにより更新した分割領域を特定し、その分割領域を、モバイル端末装置104側の表示領域411から優先順位つけて転送してもよい。フレームバッファ401を更新するのが、CPU301のみとするとCPU301により監視するのは容易に可能である。
また、本変形例では、表示領域411の内側、外側にて夫々、フレームバッファ401の左上から、左方向に、そして下方向に、処理を行ったが、それぞれランダムに順位をつけて転送してもよい。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、サーバ装置またはクライアント装置の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。
また、本発明が適用されるサーバ装置およびクライアント装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、サーバ装置およびクライアント装置に供給し、それらのサーバ装置およびクライアント装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
サーバベースコンピューティングのネットワーク構成の概略を示す図である。 モバイル端末装置104の外観を示す図である。 本発明を適用したモバイル端末装置104の構成の概略を示す図である。 サーバ装置101の構成の概略を示す図である。 本発明を適用したサーバ装置およびモバイル端末装置の各フレームバッファとモバイル端末装置のLCDとの関係を示す図である。 モバイル端末装置104において実行される端末操作タスクの動作例を示すフローチャートである。 モバイル端末装置104からサーバ装置101へ送信するデータのデータ形式を示す図である。 モバイル端末装置104において実行される端末側受信タスクの動作例を示すフローチャートである。 サーバ装置101において実行されるサーバ装置側受信タスクの動作例を示すフローチャートである。 サーバ装置101からモバイル端末装置104へ送信するデータのデータ形式を示す図である。 変形例におけるサーバ装置側受信タスクの動作例を示すフローチャートである。 転送順の決定方法を説明するための図である。 サブルーチン「領域転送順決定処理」の流れを示すフローチャートである。
符号の説明
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
211 キーボード
212 プログラム格納メモリ(FROM)
212a 左クリックキー
212b 右クリックキー
213 ワークメモリ(SDRAM)
214 ポインタ
300 バス
301 CPU
302 メモリ
303 入力部
304 出力部
305 記憶部
306 記録媒体駆動部
307 ネットワーク接続部
401 フレームバッファ(サーバ装置101側)
410 フレームバッファ(モバイル端末装置104側)
411 表示選択領域
440 比較用フレームバッファT
502a 上カーソルキー
502b 右カーソルキー
502c 下カーソルキー
502d 左カーソルキー
510 スライドバー
512 シフトキー
701 端末操作
702 表示位置
901 2Dコマンド
902 圧縮方式
903 展開アドレス
904 画像サイズ
905 圧縮サイズ
906 圧縮データ
1111、1112、1113、1114、1120、1121 分割領域

Claims (4)

  1. ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
    前記クライアント装置からのサービス要求を受信するサービス要求受信手段と、
    前記クライアント装置が有する現画面情報の一部の領域である、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段と、
    前記サービス要求受信手段によって受信した前記サービス要求に基づいて、新たな画面情報を生成する画面情報生成手段と、
    前記画面情報生成手段により生成された新たな画面情報と前記現画面情報とを比較して、変化した領域を特定する変化領域特定手段と、
    前記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応する領域の画面情報を、前記クライアント装置へ送信する第1の画面情報送信手段と、
    記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応しない領域の画面情報を、前記第1の画面情報送信手段によって画面情報が前記クライアント装置へ送信された後に前記クライアント装置へ送信する第2の画面情報送信手段と、
    を備えることを特徴とするサーバ装置。
  2. 前記画面情報生成手段によって生成された新たな画面情報を複数の部分画面情報に分割する画面情報分割手段を更に備え、
    前記変化領域特定手段は、前記画面情報生成手段により生成された新たな画面情報と前記現画面情報とをそれぞれ同様の複数の領域に分割し、各分割領域を比較することで変化した分割領域を特定し、
    前記第1の画面情報送信手段は、前記変化領域特定手段により変化したと特定された分割領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応する領域の画面情報を、前記クライアント装置へ送信し、
    前記第2の画面情報送信手段は、前記変化領域特定手段により変化したと特定された分割領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応しない領域の画面情報を、前記第1の画面情報送信手段によって画面情報が前記クライアント装置へ送信された後に、前記クライアント装置へ送信する、
    ことを特徴とする請求項1に記載のサーバ装置。
  3. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置と請求項1又は2に記載のサーバ装置とを備えるサーバベースコンピューティングシステム。
  4. ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、
    前記クライアント装置からのサービス要求を受信するサービス要求受信手段、
    前記クライアント装置が有する現画面情報の一部の領域である、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段、
    前記サービス要求受信手段によって受信した前記サービス要求に基づいて、新たな画面情報を生成する画面情報生成手段、
    前記画面情報生成手段により生成された新たな画面情報と前記現画面情報とを比較して、変化した領域を特定する変化領域特定手段、
    前記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応する領域の画面情報を、前記クライアント装置へ送信する第1の画面情報送信手段、
    記画面情報生成手段によって生成された新たな画面情報のうち、前記変化領域特定手段により変化したと特定された領域であって、前記表示領域情報取得手段によって取得した表示領域情報に対応しない領域の画面情報を、前記第1の画面情報送信手段によって画面情報が前記クライアント装置へ送信された後に前記クライアント装置へ送信する第2の画面情報送信手段、
    として機能させるためのプログラム。
JP2006209739A 2006-08-01 2006-08-01 サーバ装置、サーバベースコンピューティングシステムおよびプログラム Expired - Fee Related JP4844275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006209739A JP4844275B2 (ja) 2006-08-01 2006-08-01 サーバ装置、サーバベースコンピューティングシステムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006209739A JP4844275B2 (ja) 2006-08-01 2006-08-01 サーバ装置、サーバベースコンピューティングシステムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2008040529A JP2008040529A (ja) 2008-02-21
JP4844275B2 true JP4844275B2 (ja) 2011-12-28

Family

ID=39175500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006209739A Expired - Fee Related JP4844275B2 (ja) 2006-08-01 2006-08-01 サーバ装置、サーバベースコンピューティングシステムおよびプログラム

Country Status (1)

Country Link
JP (1) JP4844275B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010150298A1 (ja) * 2009-06-22 2010-12-29 株式会社 東芝 画像送信装置
KR20110028571A (ko) 2009-09-13 2011-03-21 삼성전자주식회사 디스플레이 방법 및 이를 이용한 사용자 단말과 데이터 송수신 시스템
JP5901945B2 (ja) * 2011-11-14 2016-04-13 株式会社東芝 画面転送装置
JP5759955B2 (ja) * 2012-10-18 2015-08-05 富士フイルム株式会社 Webページ閲覧サーバ、Webページ閲覧システム、Webページ閲覧方法及びプログラム
JP6146230B2 (ja) 2013-09-19 2017-06-14 富士通株式会社 中継装置、シンクライアントシステム、中継方法および中継プログラム
JP6527579B2 (ja) 2014-07-30 2019-06-05 エスケー テックス カンパニー、リミテッド クラウドストリーミングサービスシステム、スチールイメージ基盤クラウドストリーミングサービス方法及びそのための装置
CN106717007B (zh) * 2014-07-30 2020-04-03 Sk 普兰尼特有限公司 云端流媒体服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351802A (ja) * 2001-05-24 2002-12-06 Cresys:Kk 電子メールを用いたデータ配信方法及びデータ配信システム
JP2003069759A (ja) * 2001-08-27 2003-03-07 Mitsubishi Electric Corp 画像配信装置、画像配信方法、受信装置、受信方法、転送装置および転送方法
JP4316295B2 (ja) * 2003-05-21 2009-08-19 株式会社エヌ・ティ・ティ・ドコモ シンクライアントシステム、シンクライアント端末機、中継装置、サーバ装置及びシンクライアント端末画面表示方法
JP2006195675A (ja) * 2005-01-12 2006-07-27 Osaka Univ ブラウジングシステム

Also Published As

Publication number Publication date
JP2008040529A (ja) 2008-02-21

Similar Documents

Publication Publication Date Title
US8225231B2 (en) Aggregation of PC settings
JP4844275B2 (ja) サーバ装置、サーバベースコンピューティングシステムおよびプログラム
US10528210B2 (en) Foreground/background assortment of hidden windows
US8924885B2 (en) Desktop as immersive application
US10417018B2 (en) Navigation of immersive and desktop shells
US8966379B2 (en) Dynamic cross-environment application configuration/orientation in an active user environment
WO2018227824A1 (zh) 一种显示方法及设备
US9013366B2 (en) Display environment for a plurality of display devices
US9843665B2 (en) Display of immersive and desktop shells
US20130145308A1 (en) Information Processing Apparatus and Screen Selection Method
CN111049935B (zh) 远程控制电子设备的系统及其电子设备
US20020036652A1 (en) Presentation system, a display device, and a program
JP5374873B2 (ja) 情報処理装置、情報処理システム、コンピュータプログラム、及び情報処理方法
US20120233688A1 (en) Information processing apparatus and display control method
WO2024061180A1 (zh) 云桌面系统与云桌面显示方法、终端设备及存储介质
JP5044961B2 (ja) クライアント装置およびプログラム
JP5100616B2 (ja) 情報処理装置及びプログラム
CN102144211B (zh) 信息处理设备和方法
JP5228651B2 (ja) 携帯端末
CN113079332B (zh) 移动终端及其录屏方法
JP4742888B2 (ja) サーバー装置、クライアント装置およびプログラム
CN115390702A (zh) 显示设备、触摸点定位方法及装置
US20150074530A1 (en) Method for controlling content in mobile electronic device
JP2008210113A (ja) サーバ装置およびプログラム
WO2009118835A1 (ja) 画像表示処理装置、画像表示処理方法および画像表示処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110926

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4844275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees