(57)【要約】【課題】優先順位を付けてサーバ装置からクライアント装置へ画像データを転送することにより、画面の更新による使用者のストレスを極力減少させることが可能なサーバベースコンピューティングシステムを提供すること。【解決手段】クライアント装置からのサービス要求を受信する手段と、クライアント装置が有する現画面情報のうちクライアント装置が表示している領域を示す表示領域情報を取得する手段と、受信したサービス要求に基づいて画面情報を生成する手段と、生成された画面情報のうち取得した表示領域情報に対応する第１の部分画面情報をクライアント装置へ送信する手段と、第１の部分画面情報がクライアント装置へ送信された後に、生成された画面情報のうち取得した表示領域情報に対応しない第２の部分画面情報をクライアント装置へ送信する手段とを備える。【選択図】図１１
2008040529.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
前記クライアント装置からのサービス要求を受信するサービス要求受信手段と、
前記クライアント装置が有する現画面情報のうち、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段と、
前記サービス要求受信手段によって受信した前記サービス要求に基づいて、前記画面情報を生成する画面情報生成手段と、
前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信する第１の画面情報送信手段と、
前記第１の画面情報送信手段によって前記第１の部分画面情報が前記クライアント装置へ送信された後に、前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信する第２の画面情報送信手段と、
を備えることを特徴とするサーバ装置。
【請求項２】
前記画面情報生成手段によって生成された画面情報を複数の部分画面情報に分割する画面情報分割手段を更に備え、
前記第１の画面情報送信手段は、前記画面情報分割手段によって分割された部分画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信し、
前記第２の画面情報送信手段は、前記画面情報分割手段によって分割された部分画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信する、
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記第１の画面情報送信手段は、前記画面情報分割手段によって分割された部分画面情報であって、前記画面情報生成手段によって生成された前記画面情報が変化のあった場合に、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信し、
前記第２の画面情報送信手段は、前記画面情報分割手段によって分割された部分画面情報であって、前記画面情報生成手段によって生成された前記画面情報が変化のあった場合に、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信する、
ことを特徴とする請求項２に記載のサーバ装置。
【請求項４】
ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置と請求項１乃至３の何れか１項に記載のサーバ装置とを備えるサーバベースコンピューティングシステム。
【請求項５】
ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、
前記クライアント装置からのサービス要求を受信するサービス要求受信手段、
前記クライアント装置が有する現画面情報のうち、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段、
前記サービス要求受信手段によって受信した前記サービス要求に基づいて、前記画面情報を生成する画面情報生成手段、
前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信する第１の画面情報送信手段、
前記第１の画面情報送信手段によって前記第１の部分画面情報が前記クライアント装置へ送信された後に、前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信する第２の画面情報送信手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行うクライアント装置とクライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とがネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムに関する。
【背景技術】
【０００２】
近年、企業によるサーバベースコンピューティングの採用が急速に進んでいる。
サーバベースコンピューティング（シンクライアントシステム）とは、クライアント装置とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行うと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである（例えば、特許文献１および非特許文献１参照。）。
【０００３】
サーバ装置はクライアント用の表示データを作成し、これをクライアント装置に送る。クライアント装置（シンクライアント装置とも呼ばれる）では、使用者のキーやマウス等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウスやキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等のストレージが不要であり、アプリケーションプログラムの実行を行わないためクライアント装置に必要となる処理の負荷は軽い。
【０００４】
企業はサーバベースコンピューティングを導入することにより、データやアプリケーションプログラム等の資源がサーバ装置側で一元管理できるため、運用コストを削減することができるというメリットがある。また、クライアント装置は従来のパソコンに比べて安価に調達することができるというメリットがある。セキュリティ面においても、サーバ装置内のデータへのアクセス制限をかけたり、アクセスログを取ったりすることにより、情報への不正アクセスのリスクを減らすことが出来る。ウイルスに対しても、サーバ装置で一括対処することが可能となる。
【特許文献１】特開２００５−２２８２２７号公報
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｋｅｙｍａｎ．ｏｒ．ｊｐ／ｓｅａｒｃｈ／３０００００３１＿１．ｈｔｍｌ（サーバーベースコンピューティング）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、サーバベースコンピューティングが実行される際には、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行うクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されている。
【０００６】
しかしながら、上述のような技術においては、クライアント装置がモバイル端末であった場合は、モバイル性を重視したクライアント装置であるため、表示画面を大きくとることができない。例えば、４インチＨＳＶＧＡ（８００×３００）であれば、標準的なディスクトップパソコンの表示サイズである１５インチＸＧＡ（１０２４×７６８）に比べて遥かに小さい。そのため、クライアント装置の操作に応答してクライアント装置の表示データが変更されるごとに、サーバ装置からクライアント装置への表示データのデータ送信が必要になる。特に、クライアント装置の表示画面が小さい場合には、必要情報を表示画面から探すため、表示画面の更新が頻繁に発生し、その度にサーバ装置から表示データが送られてくる。クライアント装置がモバイル端末であると、無線を使用してデータの送受信を行う。その際に、ネットワーク回線速度が遅かったり、ネットワーク回線品質を保てなかったりした場合、サーバ装置からの応答性が悪くなり、操作性が著しく低下する。
【０００７】
そこで、仮想ディスプレイ方式が提案されている。これは、クライアント装置内のフレームバッファを、サーバ装置で扱うフレームバッファと同サイズにする。そして、クライアント装置内フレームバッファ内の所望の領域を選択して、クライアント装置の表示装置に転送し、表示を行う。この仮想ディスプレイ方式であれば、クライアント装置での画面スクロールであればクライアント装置内フレームバッファに表示データがあり、サーバ装置にデータ要求を行わないで処理が可能となる。
【０００８】
しかしながら、この仮想ディスプレイ方式では、クライアント装置とサーバ装置の間で同期をとるデータ量が、クライアント装置の表示装置の領域であるＨＳＶＧＡではなく、フレームバッファ分のＸＧＡ領域となる。そのため、クライアント装置の画面更新が発生したときに、同期するデータ量が多いことにより操作性が著しく低下してしまうという問題点があった。
【０００９】
そこで、本発明は、上記問題点に鑑みてなされたものであり、優先順位を付けてサーバ装置からクライアント装置へ画像データを転送することにより、画面の更新による使用者のストレスを極力減少させることが可能なサーバベースコンピューティングシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、前記クライアント装置からのサービス要求を受信するサービス要求受信手段と、前記クライアント装置が有する現画面情報のうち、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段と、前記サービス要求受信手段によって受信した前記サービス要求に基づいて、前記画面情報を生成する画面情報生成手段と、前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信する第１の画面情報送信手段と、前記第１の画面情報送信手段によって前記第１の部分画面情報が前記クライアント装置へ送信された後に、前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信する第２の画面情報送信手段とを備えることを特徴とする。
【００１１】
また、本発明のサーバ装置は、前記画面情報生成手段によって生成された画面情報を複数の部分画面情報に分割する画面情報分割手段を更に備え、前記第１の画面情報送信手段が、前記画面情報分割手段によって分割された部分画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信し、前記第２の画面情報送信手段が、前記画面情報分割手段によって分割された部分画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信することが望ましい。
【００１２】
また、本発明のサーバ装置は、前記第１の画面情報送信手段が、前記画面情報分割手段によって分割された部分画面情報であって、前記画面情報生成手段によって生成された前記画面情報が変化のあった場合に、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信し、前記第２の画面情報送信手段が、前記画面情報分割手段によって分割された部分画面情報であって、前記画面情報生成手段によって生成された前記画面情報が変化のあった場合に、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信することが望ましい。
【００１３】
また、本発明の一態様によれば、本発明のサーバベースコンピューティングシステムは、ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置と上述の何れかのサーバ装置とを備える。
【００１４】
また、本発明の一態様によれば、本発明のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、前記クライアント装置からのサービス要求を受信するサービス要求受信手段、前記クライアント装置が有する現画面情報のうち、前記クライアント装置が表示している領域を示す表示領域情報を取得する表示領域情報取得手段、前記サービス要求受信手段によって受信した前記サービス要求に基づいて、前記画面情報を生成する画面情報生成手段、前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応する第１の部分画面情報を前記クライアント装置へ送信する第１の画面情報送信手段、前記第１の画面情報送信手段によって前記第１の部分画面情報が前記クライアント装置へ送信された後に、前記画面情報生成手段によって生成された画面情報のうち、前記表示領域情報取得手段によって取得した表示領域情報に対応しない第２の部分画面情報を前記クライアント装置へ送信する第２の画面情報送信手段として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、クライアント装置の全てのフレームバッファが更新されなくとも、優先して表示領域が更新されるため、使用者がストレス無く端末操作を実行することができる。また、本発明によれば、通信回線の品質が低下してきても、速度の遅い通信回線を利用しても、端末操作を快適に行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図面を参照しながら説明する。
図１は、サーバベースコンピューティングのネットワーク構成の概略を示す図である。
図１において、サーバ装置１０１は、アプリケーションプログラムを実行する機能、データを管理する機能等を有している。
【００１７】
クライアント端末装置１０２は、ネットワーク１０９を介してサーバ装置１０１に接続されている。無線アクセスポイント１０３も、ネットワーク１０９を介してサーバ装置１０１に接続されている。また、モバイル端末装置１０４、スマートフォン１０５等の移動端末装置は、アクセスポイント１０３と無線通信を行うことにより、ネットワーク１０９を介してサーバ装置１０１と接続されている。なお、以下の説明においては、クライアント端末装置１０２、モバイル端末装置１０４およびスマートフォン１０５を総称してクライアント装置という。
【００１８】
そして、クライアント端末装置１０２、モバイル端末装置１０４あるいはスマートフォン１０５は、サーバ装置１０１との間でサーバベースコンピューティングシステムを構築している。
【００１９】
モバイル端末装置１０４では、無線ネットワーク（例えばＷｉＦｉ）、アクセスポイント１０３を介して、サーバ装置１０１と接続されている。ネットワーク１０９での接続は、その回線品質が何時でも良好に保たれているわけでなく、種々障害等により品質が低下することがある。無線ネットワークでは、有線ネットワークに比べてその品質を維持するのが難しい。有線ネットワークの品質が低下すると、通信速度の低下等により、サーバ装置１０１とクライアント装置間のデータ転送が満足に行えず、操作性の悪化をもたらす。
【００２０】
本発明を適用したサーバベースコンピューティングシステムは、モバイル端末装置１０４内に、表示サイズ以上の、サーバ装置１０１で管理するフレームバッファと同サイズのフレームバッファを有している。そして、サーバ装置１０１によるフレームバッファデータの送信を、モバイル端末装置１０４の現在表示している領域を優先しておこなう。これにより、通信品質が低下しても、或いは通信速度の遅いネットワーク回線を使用しても、モバイル端末装置１０４での高い操作性を保つことが出来る。
【００２１】
図２は、モバイル端末装置１０４の外観を示す図である。
図２において、モバイル端末装置１０４は、ＬＣＤ２１０と、キーボード２１１を備える。キーボード２１１は、上カーソルキー５０２ａ、右カーソルキー５０２ｂ、下カーソルキー５０２ｃおよび左カーソルキー５０２ｄからなる十字カーソルキーと、前記十字カーソルキー（上カーソルキー５０２ａ、右カーソルキー５０２ｂ、下カーソルキー５０２ｃおよび左カーソルキー５０２ｄ）の中心に、通常右手で操作するポインタ２１４を備えている。また、キーボード２１１は、左クリックキー２１２ａおよび右クリックキー２１２ｂを備え、ポインタ２１４を右手で操作した場合の右クリックおよび左クリックは、左クリックキー２１２ａおよび右クリックキー２１２ｂを左手で操作する。また、キーボード２１１は、汎用的に使用するスライドバー５１０を、右手で操作しやすい位置に備えている。スライドバー５１０は、上下スクロール（縦スクロール）の機能を持ち、シフトキー５１２を押しながら、例えば左手でスライドバー５１０を操作すると、スクロールキーとしての動作を行う。
【００２２】
図３は、本発明を適用したモバイル端末装置１０４の構成の概略を示す図である。
図３において、モバイル端末装置１０４は、ＬＳＩ２００、ＬＣＤ２１０、プログラム格納メモリ２１２、ワークメモリ２１３、キーボード２１１およびマウスポインタ等のポインタ２１４を備えている。
【００２３】
ＬＳＩ２００は、ＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）により構成されている。ＬＳＩ２００の内部構成について説明をする。ＣＰＵ（中央処理装置：Central Processing Unit）２０１は、内部バス（Ｂｕｓ）２０４ａを介して各部とやり取りを制御する。メモリコントローラ（Ｍｅｍ．Ｃｏｎｔ．）２０４は、内部バス２０４ｂと、ＳＤＲＡＭ等のワークメモリ２１３およびＦＲＯＭ等のプログラム格納メモリ２１２の制御を行う。ＬＣＤＣ（ＬＣＤコントローラ）２０２は、ＬＳＩ２００に内蔵されたＲＡＭ等の内蔵メモリ２０３を利用し、ＬＣＤ２１０（表示部）へ表示データを転送する。内蔵メモリ２０３は、表示用のフレームバッファとして機能する。また、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ：調歩同期シリアル通信）２０６、パワーマネージメントブロック（Ｐｏｗｅｒ  Ｍｇｍｔ）２０７、リアルタイムカウンタ（ＲＴＣ）２０５、ＵＳＢファンクション（ＵＳＢＦ）２０８等により構成される。無線通信部２０９は、ＷｉＦｉによる通信を可能とし、ＵＡＲＴ２０６に接続されている。キーボード２１１、ポインタ２１４もＵＡＲＴ２０６に接続されている。
【００２４】
モバイル端末装置１０４の表示画面は、例えば４インチＨＶＧＡ（６４０×２４０）であり、標準的にパソコンで利用している表示画面、例えば１５インチＸＧＡ（１０２４×７６８）に比較して小さい。そのため、仮想ディスプレイ方式による表示がなされる。すなわちサーバ装置１０１はＸＧＡ（１０２４×７６８）としてアプリケーションを実行する。一方、モバイル端末装置１０４の内蔵メモリ２０３内のフレームバッファはＸＧＡとしての領域を確保してある。その中から選択的に、ＬＣＤ２１０の大きさであるＨＶＧＡ領域のみをモバイル端末装置１０４上に表示する。
【００２５】
図４は、サーバ装置１０１の構成の概略を示す図である。
図４において、サーバ装置１０１は、ＣＰＵ３０１、サーバ装置１０１において処理を実行するプログラムの他、サーバ装置１０１の各機能を制御し実行するための制御プログラムが収納されたＲＯＭやＲＡＭ等のメモリ３０２、各種のデータや信号等を入力するための入力部３０３、画像やその他の情報を出力するための出力部３０４、画像を始め様々な情報を記録するための記憶部３０５、外部記録媒体を駆動する記録媒体駆動部３０６、ＬＡＮ等のネットワーク１０９に接続するためのネットワーク接続部３０７がバス３００に接続されて構成され、ＣＰＵ３０１がこれらの各部を制御している。
【００２６】
図５は、本発明を適用したサーバ装置およびモバイル端末装置の各フレームバッファとモバイル端末装置のＬＣＤとの関係を示す図であり、（Ａ）は、サーバ装置１０１のフレームバッファ４０１内のデータを示し、（Ｂ）は、モバイル端末装置１０４のフレームバッファ４１０内のデータを示し、（Ｃ）は、モバイル端末装置１０４のＬＣＤ２１０の表示データを示す。
【００２７】
図５において、サーバ装置１０１は、ＸＧＡ（１０２４×７６８）サイズであるフレームバッファ４０１を管理する（図５の（Ａ））。また、モバイル端末装置１０４もサーバ装置１０１と同じサイズ（ＸＧＡ（１０２４×７６８））のフレームバッファ４１０を管理している（図５の（Ｂ））。そして、モバイル端末装置１０４のＬＣＤ２１０は、ＨＳＶＧＡ（８００×３００）しか表示できないため、モバイル端末装置１０４のフレームバッファ４１０内の所望位置で、ＨＳＶＧＡの大きさを表示選択領域４１１として指定し、ＬＣＤ２１０により表示している（図５の（Ｃ））。
【００２８】
上述したように、ＬＣＤ２１０より大きなフレームバッファ４１０を持ち、フレームバッファ４１０内の所望の領域を選択して表示する方法を、仮想ディスプレイ方式というが、本発明は仮想ディスプレイ方式の応用となる。そして、モバイル端末装置１０４のフレームバッファ４１０は、図３に示した内蔵メモリ２０３内に確保される。
【００２９】
なお、フレームバッファ４１０は内蔵メモリ２０３内ではなく、ＵＭＡ（Unified Memory Architecture）として、ワークメモリ２１３内に確保しても良い。
そして、このようなサーバ装置１０１およびモバイル端末装置１０４から構成されるサーバベースコンピューティングにおいて、例えば、モバイル端末装置１０４は、サーバ装置１０１が管理するフレームバッファ４０１と、モバイル端末装置１０４が管理するフレームバッファ４１０が同サイズであって、モバイル端末装置１０４のＬＣＤ２１０の大きさがフレームバッファ４１０の領域より小さい構成である場合、サーバ装置１０１に対してモバイル端末装置１０４の操作情報とともに、現在表示している表示選択領域４１１をサーバ装置１０１へ通知する機能と、フレームバッファ４１０（仮想ディスプレイ）を操作する操作子とを備える。フレームバッファ４１０を操作する操作子には、ポインタ、スクロールキー等がある。
【００３０】
また、上記サーバベースコンピューティングにおいて、例えば、サーバ装置１０１は、サーバ装置１０１が管理するフレームバッファ４０１と、モバイル端末装置１０４が管理するフレームバッファ４１０が同サイズであって、モバイル端末装置１０４のＬＣＤ２１０の大きさがフレームバッファ４１０の領域より小さい構成である場合、モバイル端末装置１０４より送られてくる、上記端末操作と表示領域とにより、処理の優先順位を決める機能を持つ。この処理の優先順位は、モバイル端末装置１０４側の表示領域内の処理を優先とする。また、サーバ装置１０１のフレームバッファ４０１の管理方法は、前記表示位置の内外、あるいは小領域に分割しての管理とする。
【００３１】
すなわち、モバイル端末装置１０４は、フレームバッファ４１０内を移動（画面スクロール）する機能を備え、フレームバッファ４１０内の移動（画面スクロール）に対してはサーバ装置１０１への端末操作の送信は行わず、モバイル端末装置１０４内にて画面スクロールを行う。
【００３２】
サーバ装置１０１は、フレームバッファ４１０からモバイル端末装置１０４の表示位置と端末操作を受信し、表示位置に対応するフレームバッファ４１０内の領域を選択的に処理し、モバイル端末装置１０４に送信する。次に残りの領域を送信する。
【００３３】
そして、サーバ装置１０１のフレームバッファ４０１は複数の領域に分割して管理される。フレームバッファ４０１が更新されたとき、領域毎に更新前後の違いを検出し、検出された異なる領域を、モバイル端末装置１０４の表示領域に対応する領域から優先的に処理及び送信する。
【００３４】
上述したように、サーバ装置１０１のフレームバッファ４０１は複数の領域に分割して管理されるが、更にサーバ装置１０１内にモバイル端末装置１０４のフレームバッファ４１０と等価となる比較用フレームバッファを持つ。サーバ装置１０１のフレームバッファ４１０が更新されると領域毎に前記比較用フレームバッファとの違いを検出し、検出された異なる領域を、モバイル端末装置１０４の表示領域に対応する領域から優先的に処理及び送信を実行する。送信毎に比較用フレームバッファへも送信内容と同じ更新を行う。更に新たな受信確認を行ない、受信があれば領域更新処理を中断し、新たなモバイル端末装置１０４の操作として処理を行う。
【００３５】
次に、上述のように構成されたサーバベースコンピューティングシステム１において実行されるサーバ装置１０１およびモバイル端末装置１０４での動作例を説明する。
図６は、モバイル端末装置１０４において実行される端末操作タスクの動作例を示すフローチャートである。
【００３６】
モバイル端末装置１０４は、マルチタスクＯＳ上に種々のプログラムが動作している。そのうちの１つである端末操作タスクは、モバイル端末装置１０４に何らかの操作（キーボード２１１の操作、ポインタ２１４の操作等）がなされると、その動作を受信して以下の処理を実行する。
【００３７】
まず、ＣＰＵ２０１はステップＳ６０１において、端末操作が実行されているか否か、実行されているとすればどのような操作内容の端末操作であるのかを判断する。
操作がなされている場合は、その操作内容に従った処理を行う。スクロールキーが操作されていると判断された場合（ステップＳ６０１：スクロール操作）は、ステップＳ６０２において、フレームバッファ（仮想ディスプレイ）４１０内でのスクロール操作を行う。例えば、左カーソルキー５０２ｄが一度押されると、フレームバッファ４１０内の表示選択領域４１１を３０ドット左に移動させ、移動後の領域を表示装置２１０に表示させる。
【００３８】
また、端末操作がポインタ操作であると判断された場合（ステップＳ６０１：ポインタ操作）は、ステップＳ６０３において、ポインタ２１４で指示された現在のポインタ位置およびポインタ位置の移動方向を判断する。ポインタ位置がＬＣＤ２１０内の端部に位置し、ＬＣＤ２１０の外側への移動方向とであると判断された場合（ステップＳ６０３：画面内端部から外側へ）は、上述したステップＳ６０２の「端末内スクロール処理」を実行する。例えば、ポインタ２１４で指示されたポインタ位置がＬＣＤ２０１の左端に位置している状態から、更に使用者がポインタ２１４を左側に操作すると、操作しつづけている間、例えば１００ミリ秒毎に１０ドット、左方向に表示選択領域４１１を移動させる。
【００３９】
他方、端末操作が他の操作であるとステップＳ６０１で判断された場合（ステップＳ６０１：他の操作）、あるいは、ポインタ位置がＬＣＤ２１０内の端部に位置しておらず、ＬＣＤ２１０の外側への移動方向とであると判断されていない場合（ステップＳ６０３：他の操作）は、ステップＳ６０４において、その端末操作と表示選択領域４１１をサーバ装置１０１へ送信する。そして、ステップＳ６０１へ戻り、再び、端末操作を待つループに入る。
【００４０】
図７は、モバイル端末装置１０４からサーバ装置１０１へ送信するデータのデータ形式を示す図である。
図７に示したように、モバイル端末装置１０４からサーバ装置１０１へ送信するデータは、モバイル端末装置１０４での端末操作７０１、および表示選択領域４１１で示されているフレームバッファ４１０内のＬＣＤ２１０に表示している表示位置７０２を有している。本データのデータ形式は、アプリケーション層レベルでのデータ形式であり、下位層により、サーバ１０１装置へのアドレス、データ部の暗号化、改竄防止の為のハッシュ値の付加、シーケンス番号の付加、等がなされる。
【００４１】
図８は、モバイル端末装置１０４において実行される端末側受信タスクの動作例を示すフローチャートである。
モバイル端末１０４では、図６を用いて説明した端末操作タスクとは別に、端末側受信タスクも起動している。
【００４２】
この端末側受信タスクは、まず、ステップＳ６２１において、サーバ装置１０１からの送信されるデータを受信したか否かを判断する。
受信した判断された場合（ステップＳ６２１：受信有）は、ステップＳ６２２において、受信データが圧縮されている場合は解凍し、ステップＳ６２３において、フレームバッファ４１０の所望の位置に受信したデータを展開する。そして、ステップＳ６２４において、ＬＣＤ２１０へ画像を表示した後、再び受信待ちループに入る。
【００４３】
図９は、サーバ装置１０１において実行されるサーバ装置側受信タスクの動作例を示すフローチャートである。
サーバ装置１０１は、まず、ステップＳ８０１において、モバイル端末装置１０４からの送信されたサービス要求のデータを受信したか否かの受信待ちしている。
【００４４】
受信したと判断された場合（ステップＳ８０１：受信有）は、ＣＰＵ３０１がステップＳ８０２において、モバイル端末装置１０４から送られてきた端末操作７０１に対応する処理を実行し、サービス要求が画面情報の生成に関するものであれば画面情報を生成してサーバ装置１０１のフレームバッファ４０１を更新する。
【００４５】
次に、ステップＳ８０３において、モバイル端末装置１０４から送られてきた表示位置７０２に相当する表示領域情報を取得し、その領域内のデータを、ＪＰＥＧ圧縮、或いはランレングス圧縮等により圧縮する。なお、圧縮をしないＲＡＷデータとして処理をしても良い。或いは、矩形描画などの２Ｄコマンドと認識し、２Ｄコマンドとして処理をしても良い。
【００４６】
そして、ステップＳ８０４において、ステップＳ８０３で圧縮した表示位置７０２に相当する領域を、モバイル端末装置１０４に対して送信する。すなわち、第１の部分画面情報を第１の画面情報送信手段により送信する。すると、モバイル端末装置１０４では、図８を用いて上述した端末側受信タスクの実行によって、フレームバッファ４１０が更新され、まず現在表示している領域が更新されてＬＣＤ２１０に表示される。
【００４７】
次に、ステップ８０５において、スケジュール処理を実行する。ここで、スケジュール処理とは、処理待ちのタスクが無いかを調べ、本サーバ装置側受信タスクより優先順位の高い処理があれば、その優先順位の高い処理を先に実行する。なお、ここで本サーバ装置側受信タスクの優先度を下げても良い。
【００４８】
そして、先に実行した優先順位の高い処理の後、本サーバ装置側受信タスクに処理が戻ると、ステップＳ８０６において、モバイル端末装置１０４の表示領域外のデータを必要に応じて圧縮し、ステップＳ８０７において、モバイル端末装置１０４へ転送する。すなわち、第２の部分画面情報を第２の画面情報送信手段により送信する。すると、モバイル端末装置１０４では、図８を用いて上述した端末側受信タスクの実行によって、フレームバッファ４１０が更新される。
【００４９】
図１０は、サーバ装置１０１からモバイル端末装置１０４へ送信するデータのデータ形式を示す図である。
図１０に示したように、サーバ装置１０１からモバイル端末装置１０４へ送信するデータは、矩形の描画などの２Ｄコマンド９０１、ビットマップデータの圧縮方式９０２、ビットマップデータのフレームバッファ４０１への展開アドレス９０３、ビットマップデータの画像サイズ９０４、ビットマップデータの圧縮後の圧縮サイズ９０５、およびビットマップデータの圧縮データ９０６を有している。本データのデータ形式は、アプリケーション層レベルのデータ形式であり、下位層にて、モバイル端末装置１０４のアドレス、データ部の暗号化、改竄防止の為のハッシュ値の付加、シーケンス番号の付加等がなされる。
【００５０】
以上、本発明を適用した実施の形態を説明してきたが、上述の実施の形態においては、クライアント装置としてモバイル端末装置１０４を用いたが、本発明は、有線ネットワークで接続されているクライアント装置等、サーバクライアントコンピューティングシステムのクライアント装置の全てに適応することが可能である。
【００５１】
また、サーバ装置１０１は、複数のクライアント装置を同時に処理することが可能となっており、図９を用いて説明したサーバ装置側受信タスクは、モバイル端末装置１０４からの受信データによってのみ起動するものであり、他のクライアント装置からのデータ受信には別に起動している別の受信タスクが対応し処理を実行する。
【００５２】
次に、本発明を適用した実施の形態の変形例を説明する。
図１１は、変形例におけるサーバ装置側受信タスクの動作例を示すフローチャートである。
【００５３】
まず、ステップＳ１００１において、サーバ装置１０１からの送信されるデータを受信したか否かを判断する。
受信した判断された場合（ステップＳ１００１：受信有）は、ステップＳ１００２において、現在のフレームバッファ４０１（ＦＢ）の内容を比較用フレームバッファＴ４４０（ＦＢＴ）に複写する。そして、ステップＳ１００３において、モバイル端末装置１０４から送られてきた端末操作７０１に対応する処理を実行し、サーバ装置１０１のフレームバッファ４０１を作成する。
【００５４】
次に、ステップＳ１００４において、ステップＳ１００３で作成したフレームバッファ４０１と１つ前の操作による比較用フレームバッファＴ４４０と比較をして画面情報が変化したか否かを判別し、転送する必要がある変化した領域を特定する。そして、ステップＳ１００５において、モバイル端末装置１０４へ送信する領域の転送順を決定するためのサブルーチン「領域転送順決定処理」を実行する。
【００５５】
図１２は、転送順の決定方法を説明するための図であり、図１３は、サブルーチン「領域転送順決定処理」の流れを示すフローチャートである。
図１２（Ａ）に示したように、サーバ装置１０１のフレームバッファ４０１をＣＰＵ３０１は複数の分割領域１１１１、１１１２、１１１３、１１１４等に分割する。同様に、比較用フレームバッファＴ４４０も複数の分割領域に分割して管理されている。本変形例では、横方向に６つ、縦方向に４つの計２４個の分割領域に分割して管理する。なお、フレームバッファ４０１の左上の分割領域１１１１を（０，０）、分割領域１１１２を（５，０）、分割領域１１１３を（０，１）、分割領域１１１４を（５，３）として管理する。括弧内の最初の数字が横方向を示し、次の数字が縦方向の位置を示している。
【００５６】
図１２（Ｂ）は、モバイル端末装置１０４から送られてきた端末操作７０１を実行する前の比較用フレームバッファＴ４４０を示す。図１２（Ｂ）に示した比較用フレームバッファＴ４４０は、図１１のステップＳ１００２の実行によって生成された比較用フレームバッファＴ４４０である。
【００５７】
図１２（Ｃ）は、モバイル端末装置１０４から送られてきた端末操作７０１を実行した後のフレームバッファ４０１を示す。モバイル端末装置１０４に表示している領域は表示選択領域４１１で示された領域（モバイル端末装置１０４から表示位置７０１として送られてきた位置）となっている。ここで、フレームバッファ４０１と比較用フレームバッファＴ４４０とを分割領域ごとに差分を取る等して両者の比較を行ない、変化の有り無しを判定する。
【００５８】
図１２（Ｄ）中の灰色に塗られた分割領域が、端末操作７０１の実行によって変化の有った分割領域であることを示す。この中でモバイル端末装置１０４の表示領域４１１にかかっている分割領域は、濃い灰色で塗られた分割領域１１２０（４，１）、分割領域（４，２）であり、最優先に転送すべき分割領域となる。そして、表示領域４１１の外側で更新された薄い灰色に塗られた分割領域１１２１（４，０）、分割領域（５，０）、分割領域（５，１）、分割領域（５，２）、分割領域（４，３）および分割領域（５，３）が、次に転送すべき分割領域となる。
【００５９】
次に、図１３を用いて、サブルーチン「領域転送順決定処理」について詳細に説明を行う。
まず、ＣＰＵ３０１はステップＳ１３０１において、第１優先順位転送数として変数ＰＦＶに０を代入し、第２優先順位転送数として変数ＰＳＶに０を代入し、縦方向カウンタ値として変数Ｙに０を代入し、横方向カウンタ値として変数Ｘに０を代入して初期化する。
【００６０】
そして、ステップＳ１３０２において、縦方向の処理を終了したか否かを判断するため、予め縦方向の最大値が代入された変数ＹＭＡＸより小さいか否かを判断する。この変形例では、縦方向に４分割しているので縦方向の最大値は４となる。縦方向の処理が終了するまでの間（ステップＳ１３０２：Ｙ＜ＹＭＡＸ）、次に、ステップＳ１３０３において、横方向の処理を終了したか否かを判断するため、予め横方向の最大値が代入された変数ＸＭＡＸより小さいか否かを判断する。この変形例では、横方向に６分割しているので横方向の最大値は６となる。横方向の処理が終了するまでの間（ステップＳ１３０３：Ｘ＜ＸＭＡＸ）、すなわち、全ての分割領域について、後述するステップＳ１３０４、Ｓ１３０５、Ｓ１３０６、Ｓ１３０７の処理を実行する。
【００６１】
まず、ステップＳ１３０４において、現在転送順位決定の判断対象となっている分割領域（Ｘ，Ｙ）が、変化が有ったか否かを判断する。変化があったと判断された場合（ステップＳ１３０４：変化有）は、ステップＳ１３０５において、モバイル端末装置１０４で現在表示している領域であるか否かを判断する。
【００６２】
モバイル端末装置１０４で現在表示している領域であると判断された場合（ステップＳ１３０５：内）は、ステップＳ１３０６において、現在転送順位決定の判断対象となっている分割領域（Ｘ，Ｙ）の座標を第１優先配列ｐｆｖａに格納し、ＰＦＶ（第１優先順位転送数）を１インクリメントする。他方、モバイル端末装置１０４で現在表示している領域でないと判断された場合（ステップＳ１３０５：外）は、ステップＳ１３０７において、現在転送順位決定の判断対象となっている分割領域（Ｘ，Ｙ）の座標を第２優先配列ｐｓｖａに格納し、ＰＳＶ（第２優先順位転送数）を１インクリメントする。
【００６３】
そして、ステップＳ１３０８において、横方向カウンタ値の変数Ｘを１インクリメントした後、ステップＳ１３０３以降を繰り返す。また、ステップＳ１３０９は、縦方向の処理を繰り返すために、横方向カウンタ値の変数Ｘを０に戻すとともに縦方向カウンタ地の変数Ｙを１インクリメントする処理である。そして、ステップＳ１３０２で縦方向カウンタ値の変数Ｙが縦方向の最大値ＹＭＡＸ以上と判断されることにより（ステップＳ１３０２：Ｙ＞＝ＹＭＡＸ）、本サブルーチン「領域転送順決定処理」を終了して図１１のサーバ装置側受信タスクに戻る。
【００６４】
図１１の説明に戻る。
以下に説明するステップＳ１００６乃至Ｓ１０１５は、図１３を用いて説明したサブルーチン「領域転送順決定処理」で決定された優先順位に従った領域転送が実行される。
【００６５】
まず、モバイル端末１０４の表示領域に相当する第１優先領域の転送処理を実行する。
ステップＳ１００６において、第１優先領域の転送を全て終了したか否かを判断する。すなわち、第１優先順位転送数である変数ＰＦＶとカウンタｐｆが同じか（ＰＦＶ＝ｐｆか）否かを判断する。なお、カウンタｐｆは、予め０に初期化されている。
【００６６】
第１優先順位転送数である変数ＰＦＶとカウンタｐｆが同じでなければ（ステップＳ１００６：≠）、ステップＳ１００７において、転送する分割領域の選択を行う。すなわち、ｐｆｖａ［ｐｆ］にて分割領域を選ぶ。次に、ステップＳ１００８において、該当する分割領域の圧縮処理を行ない、モバイル端末１０４に転送する。そして、ステップＳ１００９において、カウンタｐｆを１インクリメントして、ステップＳ１００６に戻り第１優先領域の処理が全て終了したか否かを判断する。
【００６７】
他方、第１優先順位転送数である変数ＰＦＶとカウンタｐｆが同じであれば（ステップＳ１００６：＝）、すなわち、第１優先領域の処理を終了すると、第２優先領域の処理を行う。まず、第２優先領域の処理に先立ち、ステップＳ１０１０において、図９を用いて説明を行ったスケジュール処理を行ない、他に優先するタスクがあれば先に処理をする。
【００６８】
そして、ステップＳ１０１１において、第２優先領域の転送を全て終了したか否かを判断する。すなわち、第２優先順位転送数である変数ＰＳＶとカウンタｐｓが同じか（ＰＳＶ＝ｐｓか）否かを判断する。なお、カウンタｐｓは、予め０に初期化されている。
【００６９】
第２優先順位転送数である変数ＰＳＶとカウンタｐｓが同じでなければ（ステップＳ１０１１：≠）、ステップＳ１０１２において、転送する分割領域の選択を行う。すなわち、ｐｓｖａ［ｐｓ］にて分割領域を選ぶ。次に、ステップＳ１０１３において、該当する分割領域の圧縮処理を行ない、モバイル端末１０４に転送する。ステップＳ１０１４において、カウンタｐｓを１インクリメントした後、ステップＳ１０１５において、上述したスケジュール処理を行う。そして、ステップＳ１０１１に戻り第２優先領域の処理が全て終了したか否かを判断する。
【００７０】
これらステップＳ１００６乃至Ｓ１０１５により、全ての分割領域の転送が終了したら、ステップＳ１００１に戻る。
なお、本変形例では、分割領域１１２０（４，１）、分割領域（４，２）で示した分割領域が転送されれば、モバイル端末装置１０４の使用者にとっては、モバイル端末装置１０４のＬＣＤ２１０上では転送が終了したかに見え、使用者がサーバ装置１０１からの転送待ちをしていらつくようなことはなくなる。
【００７１】
また、本変形例では、端末操作７０１を実行する前後のフレームバッファ４０１と比較用フレームバッファＴ４４０とを比較することにより変化の有った分割領域を特定したが、サーバ装置１０１のＣＰＵ３０１が、フレームバッファ４０１を直接更新した分割領域を監視することにより更新した分割領域を特定し、その分割領域を、モバイル端末装置１０４側の表示領域４１１から優先順位つけて転送してもよい。フレームバッファ４０１を更新するのが、ＣＰＵ３０１のみとするとＣＰＵ３０１により監視するのは容易に可能である。
【００７２】
また、本変形例では、表示領域４１１の内側、外側にて夫々、フレームバッファ４０１の左上から、左方向に、そして下方向に、処理を行ったが、それぞれランダムに順位をつけて転送してもよい。
【００７３】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、サーバ装置またはクライアント装置の一機能としてハードウェアまたはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）ボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【００７４】
また、本発明が適用されるサーバ装置およびクライアント装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【００７５】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、サーバ装置およびクライアント装置に供給し、それらのサーバ装置およびクライアント装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
【００７６】
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
【００７７】
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【００７８】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【００７９】
さらに、可搬型記録媒体から読み出されたプログラムやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【００８０】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【図面の簡単な説明】
【００８１】
【図１】サーバベースコンピューティングのネットワーク構成の概略を示す図である。
【図２】モバイル端末装置１０４の外観を示す図である。
【図３】本発明を適用したモバイル端末装置１０４の構成の概略を示す図である。
【図４】サーバ装置１０１の構成の概略を示す図である。
【図５】本発明を適用したサーバ装置およびモバイル端末装置の各フレームバッファとモバイル端末装置のＬＣＤとの関係を示す図である。
【図６】モバイル端末装置１０４において実行される端末操作タスクの動作例を示すフローチャートである。
【図７】モバイル端末装置１０４からサーバ装置１０１へ送信するデータのデータ形式を示す図である。
【図８】モバイル端末装置１０４において実行される端末側受信タスクの動作例を示すフローチャートである。
【図９】サーバ装置１０１において実行されるサーバ装置側受信タスクの動作例を示すフローチャートである。
【図１０】サーバ装置１０１からモバイル端末装置１０４へ送信するデータのデータ形式を示す図である。
【図１１】変形例におけるサーバ装置側受信タスクの動作例を示すフローチャートである。
【図１２】転送順の決定方法を説明するための図である。
【図１３】サブルーチン「領域転送順決定処理」の流れを示すフローチャートである。
【符号の説明】
【００８２】
１０１      サーバ装置
１０２      クライアント端末装置
１０３      無線アクセスポイント
１０４      モバイル端末装置
１０５      スマートフォン
１０９      ネットワーク
２００      ＬＳＩ
２０１      ＣＰＵ
２０２      ＬＣＤコントローラ（ＬＣＤＣ）
２０３      内蔵メモリ（ＲＡＭ）
２０４      メモリコントローラ（Ｍｅｍ．Ｃｏｎｔ．）
２０４ａ    内部バス（Ｂｕｓ）
２０４ｂ    内部バス
２０５      リアルタイムカウンタ（ＲＴＣ）
２０６      調歩同期シリアル通信（ＵＡＲＴ）
２０７      パワーマネージメントブロック（Ｐｏｗｅｒ  Ｍｇｍｔ）
２０８      ＵＳＢファンクション（ＵＳＢＦ）
２０９      無線通信部（ＷｉＦｉ）
２１０      ＬＣＤ
２１１      キーボード
２１２      プログラム格納メモリ（ＦＲＯＭ）
２１２ａ    左クリックキー
２１２ｂ    右クリックキー
２１３      ワークメモリ（ＳＤＲＡＭ）
２１４      ポインタ
３００      バス
３０１      ＣＰＵ
３０２      メモリ
３０３      入力部
３０４      出力部
３０５      記憶部
３０６      記録媒体駆動部
３０７      ネットワーク接続部
４０１      フレームバッファ（サーバ装置１０１側）
４１０      フレームバッファ（モバイル端末装置１０４側）
４１１      表示選択領域
４４０      比較用フレームバッファＴ
５０２ａ    上カーソルキー
５０２ｂ    右カーソルキー
５０２ｃ    下カーソルキー
５０２ｄ    左カーソルキー
５１０      スライドバー
５１２      シフトキー
７０１      端末操作
７０２      表示位置
９０１      ２Ｄコマンド
９０２      圧縮方式
９０３      展開アドレス
９０４      画像サイズ
９０５      圧縮サイズ
９０６      圧縮データ
１１１１、１１１２、１１１３、１１１４、１１２０、１１２１  分割領域
【図３】
2008040529.tif 000003
【図４】
2008040529.tif 000004
【図６】
2008040529.tif 000005
【図７】
2008040529.tif 000006
【図８】
2008040529.tif 000007
【図９】
2008040529.tif 000008
【図１０】
2008040529.tif 000009
【図１１】
2008040529.tif 000010
【図１３】
2008040529.tif 000011
【図１】
2008040529.tif 000012
【図２】
2008040529.tif 000013
【図５】
2008040529.tif 000014
【図１２】
2008040529.tif 000015