(57)【特許請求の範囲】
【請求項１】
クライアント端末から受信された入力イベントに応じたアプリケーションを実行し、このアプリケーションの実行に基づいて生成された画面データを前記クライアント端末へ送信するシンクライアントシステムにおけるサーバ装置であって、
前記クライアント端末からの入力イベントに基づいて当該サーバ装置において実行されるアプリケーションから、前記クライアント端末の現在環境におけるセンサ情報の要求があった際は、その要求が前記センサ情報を繰り返し要求する繰り返し要求か否かを判別する判別手段と、
前記判別手段で繰り返し要求であると判別された場合には、前記クライアント端末の現在環境におけるセンサ情報を、当該クライアント端末が所定時間毎に繰り返し送信することの繰り返し要求を送信し、そのクライアント端末が繰り返し送信してくるセンサ情報を順次受信することで、当該クライアント端末の現在環境におけるセンサ情報を繰り返し取得する取得手段と、
前記取得手段で前記クライアント端末のセンサ情報を繰り返し取得する毎に、そのセンサ情報に基づいて前記アプリケーションを実行させ、その実行により生成された画面データを前記クライアント端末に送信する送信手段と、
を備えたことを特徴とするサーバ装置。
【請求項２】
前記判別手段は、前記アプリケーションからのセンサ情報の呼び出し要求が所定時間内に繰り返されたか否かに基づいて、前記繰り返し要求か否かを判別する、
ことを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記取得手段は、前記判別手段で繰り返し要求と判別された場合は、その繰り返しと判定された初回だけ前記クライアント端末へセンサ情報の繰り返し要求を送信し、２回目以降は要求を送信せず、前記繰り返し要求を受信したクライアント端末において繰り返し検出された前記センサ情報を繰り返し取得する、
ことを特徴とする請求項２記載のサーバ装置。
【請求項４】
前記アプリケーションは、アドオンプログラムを含み、
前記判別手段は、前記アドオンプログラムからのセンサ情報の要求の有無を判別する、
ことを特徴とする請求項１〜３の何れかに記載のサーバ装置。
【請求項５】
前記現在環境におけるセンサ情報の要求は、前記クライアント端末が現在居る位置を示す位置センサ情報の要求である、
ことを特徴とする請求項１〜４の何れかに記載のサーバ装置。
【請求項６】
クライアント端末から受信された入力イベントに応じたアプリケーションを実行し、このアプリケーションに従い生成された画面データを前記クライアント端末へ送信するサーバ装置と、ユーザ操作に応じた入力イベントを前記サーバ装置へ送信し、この入力イベントに応答して前記サーバ装置から受信された画面データを表示するクライアント端末とからなるシンクライアントシステムにおいて、
前記サーバ装置は、
前記クライアント端末からの入力イベントに応じて実行されるアプリケーションからの呼び出しが所定時間内に行われた繰り返しか否かを判定する判定手段と、
この判定手段により前記アプリケーションからの呼び出しが繰り返しと判定された場合は、当該繰り返しと判定された初回だけ前記クライアント端末へセンサ情報の繰り返し要求を送信し、２回目以降は要求を送信しない送信対応手段と、
前記クライアント端末からのセンサ情報を受信し、このセンサ情報を同クライアント端末のセンサ情報として前記呼び出し元のアプリケーションへ返す返し手段と、を備え、
前記クライアント端末は、
前記サーバ装置から送信されたセンサ情報の要求を受信する受信手段と、
この受信手段により受信されたセンサ情報の要求が繰り返し要求か否かを判断する判断手段と、
この判断手段により前記繰り返し要求と判断された場合は、一定時間毎に繰り返し当該クライアント端末が有するセンサの情報を検出する検出手段と、
この検出手段により検出されたセンサ情報を前記サーバ装置へ送信する送信手段と、を備えた、
ことを特徴とするシンクライアントシステム。
【請求項７】
前記サーバ装置において実行されるアプリケーションは、アドオンプログラムを含み、このアドオンプログラムに基づく処理に従い前記センサ情報要求手段と前記センサ情報取得手段とが機能する、
ことを特徴とする請求項６に記載のシンクライアントシステム。
【請求項８】
前記クライアント端末は、
当該クライアント端末自身が移動したか否かを判断する移動判断手段を備え、
前記検出手段は、
前記判断手段により前記センサ情報の要求が繰り返し要求と判断された場合は、一定時間毎に繰り返し前記移動判断手段により当該端末自身が移動したか否かを判断し、移動したと判断された場合にだけ同端末が有するセンサの情報を検出する、
ことを特徴とする請求項６記載のシンクライアントシステム。
【請求項９】
クライアント端末から受信された入力イベントに応じたアプリケーションを実行し、このアプリケーションの実行に基づいて生成された画面データを前記クライアント端末へ送信するシンクライアントシステムにおけるサーバ装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
前記クライアント端末からの入力イベントに基づいて当該サーバ装置において実行されるアプリケーションから、前記クライアント端末の現在環境におけるセンサ情報の要求があった際は、その要求が前記センサ情報を繰り返し要求する繰り返し要求か否かを判別する判別手段、
前記判別手段で繰り返し要求であると判別された場合には、前記クライアント端末の現在環境におけるセンサ情報を、当該クライアント端末が所定時間毎に繰り返し送信することの繰り返し要求を送信し、そのクライアント端末が繰り返し送信してくるセンサ情報を順次受信することで、当該クライアント端末の現在環境におけるセンサ情報を繰り返し取得する取得手段、
前記取得手段で前記クライアント端末のセンサ情報を繰り返し取得する毎に、そのセンサ情報に基づいて前記アプリケーションを実行させ、その実行により生成された画面データを前記クライアント端末に送信する送信手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムが動作するコンピュータとユーザが操作するコンピュータとが物理的に異なる画面転送型のシンクライアントシステムにおけるサーバ装置、シンクライアントシステムおよびその制御プログラムに関する。
【背景技術】
【０００２】
近年、インターネットなどの通信ネットワークに接続可能なＰＣ(personal computer)や携帯端末などのコンピュータにおいて、ウェブアプリケーションの利用が多くなっている。
【０００３】
これは従来、利用者それぞれのコンピュータにアプリケーションをインストールして動作させていたのに対し、ウェブアプリケーションであれば、標準的なウェブブラウザさえあればインストールの必要なく利用可能というメリットがあるためである。
【０００４】
同様に近年、情報セキュリティ上有利なため、シンクライアントシステムが注目されている。
【０００５】
シンクライアントシステムは、サーバ上でアプリケーションが動作し、その画面情報のみがクライアント端末に転送され、実際のデータそのものは端末内に持たない。このため、例えばコンピュータ（携帯端末）を社外に持ち出してビジネス等で利用する人々にとって、万が一、端末を紛失しても、同端末内にデータが存在しないため情報漏洩のリスクが少ないというメリットがある。
【０００６】
一方で、携帯電話やスマートフォンなど、近年の携帯型情報機器には、方位センサやＧＰＳ(global positioning system)センサ、加速度センサなどの各種センサが標準的に搭載されるようになっている。その結果、前記ウェブアプリケーションにおいても、例えば地図ナビゲーションなど、これらのセンサを利用してより便利なサービスを提供するよう設計されたものも目立つ。
【０００７】
ウェブアプリケーションにおいて、位置情報を利用するシステムが開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２００９−５１９５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前記従来のシンクライアントシステムにおいて、センサからの情報を利用するウェブアプリケーションをそのまま使用することはできない。
【００１０】
なぜならば、シンクライアントシステムでは、ウェブアプリケーションが動作するウェブブラウザは、クライアント端末を持つユーザとは離れた位置に存在するシンクライアントサーバ上で動作しており、例えばＧＰＳセンサによる位置情報を利用する場合、同サーバの位置情報をウェブアプリケーションが取得してこれを利用したとしても、ユーザにとっては何の意味も無いからである。
【００１１】
本発明は、このような課題に鑑みなされたもので、シンクライアントサーバにおいて動作するアプリケーションなどが、クライアント端末のセンサ情報を効率よく利用することが可能になるサーバ装置、シンクライアントシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
請求項１は、クライアント端末から受信された入力イベントに応じたアプリケーションを実行し、このアプリケーションの実行に基づいて生成された画面データを前記クライアント端末へ送信するシンクライアントシステムにおけるサーバ装置であって、前記クライアント端末からの入力イベントに基づいて当該サーバ装置において実行されるアプリケーションから、前記クライアント端末の現在環境におけるセンサ情報の要求があった際は、その要求が前記センサ情報を繰り返し要求する繰り返し要求か否かを判別する判別手段と、前記判別手段で繰り返し要求であると判別された場合には、前記クライアント端末の現在環境におけるセンサ情報を、当該クライアント端末が所定時間毎に繰り返し送信することの繰り返し要求を送信し、そのクライアント端末が繰り返し送信してくるセンサ情報を順次受信することで、当該クライアント端末の現在環境におけるセンサ情報を繰り返し取得する取得手段と、前記取得手段で前記クライアント端末のセンサ情報を繰り返し取得する毎に、そのセンサ情報に基づいて前記アプリケーションを実行させ、その実行により生成された画面データを前記クライアント端末に送信する送信手段と、を備えたことを特徴とする。
【００１３】
請求項６は、クライアント端末から受信された入力イベントに応じたアプリケーションを実行し、このアプリケーションに従い生成された画面データを前記クライアント端末へ送信するサーバ装置と、ユーザ操作に応じた入力イベントを前記サーバ装置へ送信し、この入力イベントに応答して前記サーバ装置から受信された画面データを表示するクライアント端末とからなるシンクライアントシステムにおいて、前記サーバ装置は、前記クライアント端末からの入力イベントに応じて実行されるアプリケーションからの呼び出しが所定時間内に行われた繰り返しか否かを判定する判定手段と、この判定手段により前記アプリケーションからの呼び出しが繰り返しと判定された場合は、当該繰り返しと判定された初回だけ前記クライアント端末へセンサ情報の繰り返し要求を送信し、２回目以降は要求を送信しない送信対応手段と、前記クライアント端末からのセンサ情報を受信し、このセンサ情報を同クライアント端末のセンサ情報として前記呼び出し元のアプリケーションへ返す返し手段と、を備え、前記クライアント端末は、前記サーバ装置から送信されたセンサ情報の要求を受信する受信手段と、前記要求受信手段により受信されたセンサ情報の要求が繰り返し要求か否かを判断する判断手段と、この判断手段により前記繰り返し要求と判断された場合は、一定時間毎に繰り返し当該クライアント端末が有するセンサの情報を検出する検出手段と、この検出手段により検出されたセンサ情報を前記サーバ装置へ送信する送信手段と、を備えた、ことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、シンクライアントシステムのサーバ装置において動作するアプリケーションなどが、クライアント端末のセンサ情報を繰り返し効率よく利用することが可能になる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るシンクライアントシステムの全体の構成を示す図。
【図２】前記シンクライアントシステムのシンクライアントサーバ１０とクライアント端末２０における動作プログラムの構成を示す図。
【図３】前記シンクライアントシステムにおけるシンクライアントサーバ１０の回路構成を示すブロック図。
【図４】前記シンクライアントシステムにおけるクライアント端末２０の回路構成を示すブロック図。
【図５】前記シンクライアントサーバ１０のシンクライアント・サーバプログラム１５ａによるシンクライアントサーバ処理を示すフローチャート。
【図６】前記シンクライアントサーバ１０のウェブブラウザプログラム１５ｂの標準的ＡＰＩに付加されたアドオンプログラム１５ｂ′による端末位置情報取得処理を示すフローチャート。
【図７】前記シンクライアントサーバ１０のシンクライアントサーバ処理（図５）における位置情報要求処理を示すフローチャート。
【図８】前記シンクライアントサーバ１０のシンクライアントサーバ処理（図５）における位置情報受信処理を示すフローチャート。
【図９】前記クライアント端末２０のシンクライアント・クライアントプログラム２３ａによるクライアント処理を示すフローチャート。
【図１０】前記クライアント端末２０のクライアント処理（図９）における位置情報送信処理を示すフローチャート。
【発明を実施するための形態】
【００１９】
以下図面により本発明の実施の形態について説明する。
【００２０】
図１は、本発明の実施形態に係るシンクライアントシステムの全体の構成を示す図である。
【００２１】
このシンクライアントシステムは、インターネットなどの通信ネットワークＮに接続されたシンクライアントサーバ１０、および同通信ネットワークＮに接続されたクライアント端末(thin client)２０…を備える。なお、通信ネットワークＮには、種々のウェブサーバ３０…も接続されている。
【００２２】
本実施形態のクライアント端末２０には例えば携帯端末を使用する。
【００２３】
図２は、前記シンクライアントシステムのシンクライアントサーバ１０とクライアント端末２０における動作プログラムの構成を示す図である。
【００２４】
シンクライアントサーバ１０は、その基本動作を司るシンクライアント・サーバプログラム１５ａの他に、ウェブブラウザプログラム１５ｂ，メール処理プログラム，テキスト作成処理プログラムなど、複数のアプリケーションプログラムを有し、これらのアプリケーションプログラムは、当該シンクライアントサーバ１０に接続されたクライアント端末２０からのユーザ操作に伴う入力イベント信号に応じて、前記シンクライアント・サーバプログラム１５ａの動作上で起動されその処理を実行する。
【００２５】
クライアント端末２０は、シンクライアント・クライアントプログラム２３ａを有し、ユーザ操作に応じた入力信号やシンクライアントサーバ１０からの応答信号に従って動作する。
【００２６】
前記シンクライアントサーバ１０において、前記クライアント端末２０からの入力イベント信号に応じたアプリケーションプログラムの実行に伴い、クライアント用仮想フレームバッファ１６（図３参照）上に生成された画面描画データＧは、アクセス元であるクライアント端末２０へ転送される。
【００２７】
そして、クライアント端末２０では、前記シンクライアントサーバ１０から転送された画面描画データＧがフレームバッファ２４（図４参照）に展開され、表示部２５の表示画面に表示される。
【００２８】
つまり、このシンクライアントシステムにおけるクライアント端末（携帯端末）２０は、各種のキーやポインタボタンなどのユーザ操作に応じた入力機能とＬＣＤ表示部などへの出力機能、ＷＡＮやＬＡＮなどの通信ネットワークＮに接続するための有線または無線の通信機能を主要な機能として有し、少なくとも前記シンクライアントサーバ１０が有している各種のアプリケーション機能やデータファイルの管理機能を持つ必要がない。
【００２９】
そして、クライアント端末２０からの入力イベント信号に応じてシンクライアントサーバ１０にて起動実行される各種のアプリケーション処理に従い生成されたデータファイルは、基本的には、当該シンクライアントサーバ１０内あるいは該サーバ１０に接続されて管理されるファイルサーバ（図示せず）にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００３０】
なお、一般的なシンクライアントシステムの説明として、クライアント端末２０からの入力イベントにより、シンクライアントサーバ１０のウェブブラウザプログラム１５ｂを動作させ、通信ネットワークＮ上の所望のウェブサーバ３０が提供するウェブコンテンツやウェブアプリケーションプログラムを利用する場合、シンクライアントサーバ１０に取り込まれて動作するウェブアプリケーションプログラム１５ｃは、前記ウェブブラウザプログラム１５ｂとの間で動作する。
【００３１】
そして、前記ウェブブラウザプログラム１５ｂは、クライアント端末２０からの入力イベントを、シンクライアント・サーバプログラム１５ａを介して受け付け、これに応答して前記ウェブアプリケーションプログラム１５ｃの動作に応じて取り込んだウェブコンテンツの画面データを、シンクライアント・サーバプログラム１５ａを介してクライアント端末２０へ送る。
【００３２】
ここで、前記ウェブアプリケーションプログラム１５ｃが、位置情報や温度情報など、ユーザ側のセンサ情報に基づいて動作する機能を有する場合、従来のウェブブラウザプログラムは、ウェブアプリケーションプログラム１５ｃからのセンサ情報の要求に応じて、当該ウェブブラウザプログラムが動作するシンクライアントサーバ１０自身が持つセンサ情報を取り込んでウェブアプリケーションプログラム１５ｃに応答する機能は有するものの、前記シンクライアント・サーバプログラム１５ａを介して、クライアント端末２０へセンサ情報を要求し、同クライアント端末２０からのセンサ情報を取り込む機能は有していない。
【００３３】
このため、図２に示すように、本実施形態のシンクライアントサーバ１０において動作させるウェブブラウザプログラム１５ｂには、前記ウェブアプリケーションプログラム１５ｃからのセンサ情報の要求に応じて、前記シンクライアント・サーバプログラム１５ａを介して、クライアント端末２０へセンサ情報を要求し、同クライアント端末２０からのセンサ情報を取り込んで前記ウェブアプリケーションプログラム１５ｃへ応答するためのアドオンプログラム１５ｂ′を付加する。
【００３４】
「アドオン」とは、ウェブブラウザを独自の機能で拡張する仕組みであり、ほとんどの標準的ウェブブラウザはこのアドオンの仕組みを有している。
【００３５】
アドオンプログラム１５ｂ′は、ウェブアプリケーションプログラム１５ｃに対して標準的なＡＰＩ(application programming interface)を提供する。
【００３６】
標準的なＡＰＩとは、例えば位置情報取得用のＡＰＩであれば、
Geolocation ＡＰＩ（http://dev.w3.org/geo/api/spec-source.html）が存在し、このＡＰＩ仕様に則ってプログラムを設計することで、異なるブラウザ上であっても同等の動作が期待できるというメリットがある。
【００３７】
本実施形態のアドオンプログラム１５ｂ′では、この標準的なＡＰＩを独自の機能で上書きする。アドオンプログラム１５ｂ′は、例えばJavascript（登録商標）言語で記述されるのが一般的である。これは、ほぼ全てのウェブブラウザに、標準的にJavascript言語による実行環境が装備されているためである。Javascript言語は、オーバライドという手法を利用可能であり、この手法により簡単に前記ＡＰＩの上書きが実現できる。
【００３８】
図３は、前記シンクライアントシステムにおけるシンクライアントサーバ１０の回路構成を示すブロック図である。
【００３９】
シンクライアントサーバ１０は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介して記憶部１３、ＲＡＭ１４、プログラム記憶部１５、仮想フレームバッファ１６、ネットワーク制御部１７が接続される。
【００４０】
ＣＰＵ１１は、プログラム記憶部１５に記憶されるシンクライアント・サーバプログラム１５ａ、標準的ＡＰＩに上書きされたアドオンプログラム１５ｂ′を有するウェブブラウザプログラム１５ｂ、ウェブアプリケーションプログラム１５ｃ、他のアプリケーションプログラム、あるいは外部から読み込まれて記憶部１３に記憶されたプログラムなどの各種のサーバ制御プログラムに従って、同記憶部１３やＲＡＭ１４を作業領域とし回路各部の動作を制御するもので、ネットワーク制御部１７を介して受信されるクライアント端末２０からのユーザ操作に対応した入力イベント信号に応じて前記種々のプログラムが連携して起動され実行される。
【００４１】
このシンクライアントサーバ１０において、クライアント端末２０からの入力イベント信号に応じて実行されるアプリケーションプログラムに従いＲＡＭ１４を使用して生成された種々のデータは、例えばそのユーザＩＤに対応付けられて記憶部１３に記憶される。またクライアント用の画面描画データＧは、仮想フレームバッファ１６を使用して生成された後、圧縮処理されて、ネットワーク制御部１７からイベント入力元のクライアント端末２０へ転送されて表示出力される。
【００４２】
図４は、前記シンクライアントシステムにおけるクライアント端末２０の回路構成を示すブロック図である。
【００４３】
クライアント端末２０は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介して記憶部２３、フレームバッファ２４が接続される。そして、このフレームバッファ２４に書き込まれた画面描画データＧが表示部２５に出力されて表示される。
【００４４】
また、ＣＰＵ２１には、バス２２を介して各種のキー，ポインタボタンなどを有する入力部２６、この入力部２６にて入力されたキーやポインタに対応した入力コードを設定するためのキーアサイン情報メモリ２７、ＧＰＳセンサ（位置計測）、加速度センサ（歩数計測）、温度センサ、湿度センサ、気圧センサなどの各種のセンサを備えたセンサデバイス２８、前記通信ネットワークＮのアクセスポイントと通信するためのネットワーク制御部２９が接続される。
【００４５】
ＣＰＵ２１は、記憶部２３に予め記憶されるか、あるいは外部から記憶部２３に読み込まれたシンクライアント・クライアントプログラム２３ａに従って当該記憶部２３や前記キーアサイン情報メモリ２７を作業用メモリとし回路各部の動作を制御するもので、入力部２６からのキー信号やポインタ移動信号、センサデバイス２８からのセンサ信号、ネットワーク制御部２９を介して受信される前記シンクライアントサーバ１０からのアプリケーション応答信号や画面描画データＧなどに応じて前記シンクライアント・クライアントプログラム２３ａが起動され実行される。
【００４６】
このクライアント端末２０において、入力部２６からの入力イベント信号に応じて前記シンクライアントサーバ１０のアプリケーションプログラムを動作させて画面描画データＧを生成させ、同サーバ１０から受信された画面描画データＧは、その圧縮が解凍されてフレームバッファ２４に書き込まれ表示部２５で表示出力される。
【００４７】
このように構成されたシンクライアントシステムにおいて、シンクライアントサーバ１０は、ＣＰＵ１１が前記サーバ制御プログラム（シンクライアント・サーバプログラム１５ａ／ウェブブラウザプログラム１５ｂ／アドオンプログラム１５ｂ′／ウェブアプリケーションプログラム１５ｃ）に記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、以下の動作説明で述べる機能を実現する。
【００４８】
また、クライアント端末２０は、ＣＰＵ２１がクライアント制御プログラム（シンクライアント・クライアントプログラム２３ａ）に記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、以下の動作説明で述べる機能を実現する。
【００４９】
次に、前記構成のシンクライアントシステムの動作について説明する。
【００５０】
本実施形態の動作説明では、クライアント端末２０のユーザ操作に応じて、シンクライアントサーバ１０のウェブブラウザプログラム１５ｂが起動され、このウェブブラウザプログラム１５ｂの動作に従いユーザ指定のウェブサーバ３０からダウンロードされたウェブアプリケーションプログラム１５ｃが動作する具体例について説明する。そして、このウェブアプリケーションプログラム１５ｃは、ナビゲーションサービスをユーザに提供するものであって、同ユーザの位置情報を定期的に必要とする。
【００５１】
図５は、前記シンクライアントサーバ１０のシンクライアント・サーバプログラム１５ａによるシンクライアントサーバ処理を示すフローチャートである。
【００５２】
図６は、前記シンクライアントサーバ１０のウェブブラウザプログラム１５ｂの標準的ＡＰＩに付加されたアドオンプログラム１５ｂ′による端末位置情報取得処理を示すフローチャートである。
【００５３】
図７は、前記シンクライアントサーバ１０のシンクライアントサーバ処理（図５）における位置情報要求処理を示すフローチャートである。
【００５４】
図８は、前記シンクライアントサーバ１０のシンクライアントサーバ処理（図５）における位置情報受信処理を示すフローチャートである。
【００５５】
図９は、前記クライアント端末２０のシンクライアント・クライアントプログラム２３ａによるクライアント処理を示すフローチャートである。
【００５６】
図１０は、前記クライアント端末２０のクライアント処理（図９）における位置情報送信処理を示すフローチャートである。
【００５７】
クライアント端末２０の立上げ操作に応じて、ユーザおよび端末ＩＤを含むサーバ接続要求がシンクライアントサーバ１０へ送信されると（ステップＣ１）、シンクライアントサーバ１０のサーバ処理において、接続要求されたユーザおよび端末ＩＤについて認証ＯＫか否か判断される（ステップＳ１（Ｙｅｓ）→Ｓ２）。
【００５８】
そして、前記ユーザおよび端末ＩＤについて認証ＯＫと判断されると（ステップＳ２（Ｙｅｓ））、クライアント端末２０に認証ＯＫが通知され、クライアント端末２０とシンクライアントサーバ１０との接続が確立される（ステップＣ２（Ｙｅｓ））。
【００５９】
この際、シンクライアントサーバ１０において、初期表示用の画面描画データＧが仮想フレームバッファ１６に生成され、データ圧縮されて前記端末ＩＤで識別されるクライアント端末２０へ送信される（ステップＳ１１〜Ｓ１３）。
【００６０】
すると、クライアント端末２０では、前記シンクライアントサーバ１０から受信された初期表示用の画面描画データＧが、そのデータ圧縮を解凍されてフレームバッファ２４に展開され表示部２５に表示される（ステップＣ３（Ｙｅｓ）→Ｃ４（Ｙｅｓ）→Ｃ５）。
【００６１】
そして、クライアント端末２０のユーザ操作に応じて、ウェブブラウザの起動要求が入力イベントとしてシンクライアントサーバ１０へ送信されると（ステップＣ６（Ｙｅｓ）→Ｃ７，Ｃ８）、シンクライアントサーバ１０では、受信された入力イベントに応じてウェブブラウザプログラム１５ｂが起動される（ステップＳ３（Ｙｅｓ）→Ｓ４（Ｙｅｓ）→Ｓ５，Ｓ６（Ｙｅｓ）→Ｓ７）。
【００６２】
そして、前記起動されたウェブブラウザプログラム１５ｂの動作に応じて、ユーザ指定のナビゲーションサービスを提供するウェブサーバ３０から、そのウェブアプリケーションプログラム１５ｃがダウンロードされて起動されると、当該ウェブアプリケーションプログラム１５ｃの動作に従い、位置情報取得のため、前記ウェブブラウザ（１５ｂ）上の標準ＡＰＩが呼び出される。
【００６３】
前記ウェブブラウザ（１５ｂ）上の標準ＡＰＩに付加されたアドオンプログラム１５ｂ′による端末位置情報取得処理（図６参照）において、前記ウェブアプリケーションプログラム１５ｃの動作に従いＡＰＩが呼び出されると（ステップＡ１）、当該ＡＰＩ呼び出しの繰り返し判定処理が実行される（ステップＡ２）。
【００６４】
このＡＰＩ呼び出しの繰り返し判定処理は、例えば、当該ＡＰＩ呼び出しの直近過去ｎ回の呼び出し時間間隔の平均と分散を求め、その時間間隔のばらつきが一定値以内なら繰り返しと判定するもので（ステップＡ２）、先ず、繰り返しでないと判定されると（ステップＡ３（Ｎｏ））、シンクライアント・サーバプログラム１５ａに対して位置情報の要求が送信される（ステップＡ４）。
【００６５】
そして、シンクライアントサーバ処理（図５参照）に従った位置情報受信通知が有るか否かの判断待機状態になる（ステップＡ７）。
【００６６】
シンクライアントサーバ処理（図５参照）において、前記アドオンプログラム１５ｂ′による端末位置情報取得処理（図６参照）に従い送信された位置情報の要求が受信されたと判断されると（ステップＳ１０（Ｙｅｓ））、図７における位置情報要求処理へ移行され（ステップＳＲ）、位置情報要求コマンドが前記端末ＩＤで識別されるクライアント端末２０へ送信される（ステップＲ２（Ｙｅｓ）→Ｒ３）。
【００６７】
クライアント端末２０において、前記シンクライアントサーバ１０から送信された位置情報要求コマンドが受信されると（ステップＣ３（Ｙｅｓ））、図１０における位置情報送信処理へ移行され（ステップＣＱ）、センサデバイス２８に備えられたＧＰＳセンサからのセンサデータに基づく演算により位置情報が取得される（ステップＱ２（Ｙｅｓ）→Ｑ３）。そして、取得された位置情報が前記シンクライアントサーバ１０へ送信される（ステップＱ４）。
【００６８】
シンクライアントサーバ１０において、前記クライアント端末１０から送信された位置情報が受信されると（ステップＳ３（Ｙｅｓ））、図８における位置情報受信処理へ移行され（ステップＳＰ）、受信された位置情報が記憶部１３に書き込まれる（ステップＰ１（Ｙｅｓ）→Ｐ２）。そして、ウェブブラウザ（１５ｂ）上のアドオンプログラム１５ｂ′（図６参照）に対して位置情報の受信が通知される（ステップＰ３）。
【００６９】
すると、前記アドオンプログラム１５ｂ′による端末位置情報取得処理（図６参照）では、前記シンクライアントサーバ処理に従った位置情報受信の通知が有ったと判断され（ステップＡ７（Ｙｅｓ））、前記記憶部１３に記憶されたクライアント端末２０の位置情報が読み込まれる（ステップＡ８）。そして、この記憶部１３から読み込まれた前記端末ＩＤで識別されるクライアント端末２０の位置情報が、前記ＡＰＩ呼び出し元のウェブアプリケーションプログラム１５ｃへ渡される（ステップＡ９）。
【００７０】
すると、このウェブアプリケーションプログラム１５ｃの動作に従い、前記クライアント端末２０の位置情報に応じたナビゲーションデータが前記ウェブサーバ３０からダウンロードされて取得され、当該ナビゲーションデータに対応した画面描画データＧが、仮想フレームバッファ１６上に生成される（ステップＳ２１（Ｙｅｓ）→Ｓ１２）。そして、前記仮想フレームバッファ１６上に生成されたナビゲーションの画面描画データＧが、前記端末ＩＤで識別されるクライアント端末２０へ送信される（ステップＳ１３）。
【００７１】
すると、クライアント端末２０では、前記シンクライアントサーバ１０から送信された同クライアント端末２０自身の位置情報に応じたナビゲーションの画面描画データＧが受信され（ステップＣ３（Ｙｅｓ）→Ｃ４（Ｙｅｓ））、フレームバッファ２４に書き込まれて表示部１５に表示される（ステップＣ５）。
【００７２】
これにより、シンクライアントシステムであっても、シンクライアントサーバ１０にダウンロードされて動作するナビゲーションサービスのウェブアプリケーションプログラム１５ｃに従いウェブブラウザ（１５ｂ）のＡＰＩに要求される位置情報を、クライアント端末２０のセンサデバイス２８であるＧＰＳセンサにより計測された位置情報として返すことができ、同クライアント端末２０のユーザ自身の位置に応じたナビゲーションサービスを受けることができる。
【００７３】
つまり、シンクライアントシステムであっても、クライアント端末２０自身のセンサ情報に応じたウェブアプリケーションサービスを受けることができる。
【００７４】
この後、前記ウェブブラウザ（１５ｂ）上のアドオンプログラム１５ｂ′による端末位置情報取得処理（図６参照）において、前記ウェブアプリケーションプログラム１５ｃの動作に従い再びＡＰＩが呼び出された際に（ステップＡ１）、当該ＡＰＩ呼び出しの繰り返し判定処理により繰り返しであると判定された場合は（ステップＡ２，Ａ３（Ｙｅｓ））、前回の繰り返し判定処理に従い既に繰り返し要求済みであるか否か判断される（ステップＡ５）。
【００７５】
ここで先ず、繰り返し要求済みでないと判断されると（ステップＡ５（Ｎｏ））、シンクライアント・サーバプログラム１５ａに対して繰り返しの要求が送信される（ステップＡ６）。
【００７６】
そして、シンクライアントサーバ処理（図５参照）に従った位置情報受信通知が有るか否かの判断待機状態になる（ステップＡ７）。
【００７７】
シンクライアントサーバ処理（図５参照）において、前記アドオンプログラム１５ｂ′による端末位置情報取得処理（図６参照）に従い送信された繰り返しの要求が受信されたと判断されると（ステップＳ１０（Ｙｅｓ））、図７における位置情報要求処理へ移行され（ステップＳＲ）、繰り返し周期Ｔが前記端末ＩＤで識別されるクライアント端末２０へ送信される（ステップＲ１（Ｙｅｓ）→Ｒ４）。
【００７８】
クライアント端末２０において、前記シンクライアントサーバ１０から送信された繰り返し周期Ｔが受信されると（ステップＣ３（Ｙｅｓ））、図１０における位置情報送信処理へ移行され（ステップＣＱ）、同繰り返し周期Ｔがタイマのタイムアウト時間Ｔとしてセットされる（ステップＱ１（Ｙｅｓ）→Ｑ５）。
【００７９】
すると、センサデバイス２８に備えられた加速度センサのセンサデータに基づき演算された歩数計データが取得され（ステップＱ６）、例えば前回の取得値と比較することで本クライアント端末２０自身が移動したか否か判断される（ステップＱ７）。
【００８０】
ここで、本クライアント端末２０自身が移動したと判断された場合は（ステップＱ７（Ｙｅｓ））、センサデバイス２８に備えられたＧＰＳセンサからのセンサデータに基づく演算により新たな位置情報が取得され（ステップＱ３）、前記シンクライアントサーバ１０へ送信される（ステップＱ４）。
【００８１】
シンクライアントサーバ１０において、前記クライアント端末１０から送信された新たな位置情報が受信されると（ステップＳ３（Ｙｅｓ））、図８における位置情報受信処理へ移行され（ステップＳＰ）、受信された位置情報が前記記憶部１３に上書きされて書き込まれる（ステップＰ１（Ｙｅｓ）→Ｐ２）。そして、ウェブブラウザ（１５ｂ）上のアドオンプログラム１５ｂ′（図６参照）に対して位置情報の受信が通知される（ステップＰ３）。
【００８２】
一方、前記クライアント端末２０の位置情報送信処理（図１０参照）において、本クライアント端末２０自身が移動してないと判断された場合は（ステップＱ７（Ｎｏ））、前記ステップＱ３によるＧＰＳセンサからの位置情報取得処理、および前記ステップＱ４によるシンクライアントサーバ１０への位置情報送信処理は行われない。
【００８３】
この後、同クライアント端末２０の位置情報送信処理では、前記シンクライアントサーバ１０の位置情報要求処理（図７参照）に従った位置情報要求コマンドが新たに受信されるまでの間、前記タイマにセットしたタイムアウト時間Ｔの経過が判断される毎に（ステップＱ８（Ｙｅｓ））、前記歩数計データに応じた移動の有無が判断される（ステップＱ５〜Ｑ７）。そして、同クライアント端末２０自身が移動したと判断された場合にだけ（ステップＱ７（Ｙｅｓ））、ＧＰＳセンサに基づき取得された新たな位置情報がシンクライアントサーバ１０へ送信される（ステップＱ３，Ｑ４）。
【００８４】
これにより、クライアント端末２０でのタイマ動作中は、同端末２０の移動が有った場合にだけ、ＧＰＳセンサからの位置情報の取得処理およびその送信処理が実行されるので、当該クライアント端末２０での不要な処理を省略して消費電力を節約できるようになる。
【００８５】
そして、シンクライアントサーバ１０の位置情報受信処理（図８参照）に従い記憶部１３に記憶される前記クライアント端末２０の位置情報は、前記クライアント端末２０でのタイマ動作中は、同端末２０の移動が有った場合にだけ、新たな位置情報に上書きされて書き替えられるようになる。
【００８６】
前記ウェブブラウザ（１５ｂ）上のアドオンプログラム１５ｂ′による端末位置情報取得処理（図６参照）において、シンクライアント・サーバプログラム１５ａに対する繰り返し要求送信の後（ステップＡ６）、シンクライアントサーバ処理での位置情報受信処理（図８参照）に応じて位置情報受信の通知が有ったと判断されると（ステップＡ７（Ｙｅｓ））、前記記憶部１３に記憶されたクライアント端末２０の位置情報が読み込まれる（ステップＡ８）。そして、この記憶部１３から読み込まれた前記端末ＩＤで識別されるクライアント端末２０の位置情報が、前記ＡＰＩ呼び出し元のウェブアプリケーションプログラム１５ｃへ渡される（ステップＡ９）。
【００８７】
また、前記ウェブアプリケーションプログラム１５ｃの動作に従い再びＡＰＩが呼び出された際に（ステップＡ１）、当該ＡＰＩ呼び出しの繰り返し判定処理により繰り返しであると判定され（ステップＡ２，Ａ３（Ｙｅｓ））、且つ、既に繰り返し要求済みであると判断された場合は（ステップＡ５（Ｙｅｓ））、前記シンクライアント・サーバプログラム１５ａへの要求を行うことなく、直接、前記記憶部１３に記憶されているクライアント端末２０の位置情報が読み込まれ（ステップＡ８）、前記ＡＰＩ呼び出し元のウェブアプリケーションプログラム１５ｃへ渡される（ステップＡ９）。
【００８８】
すると、このウェブアプリケーションプログラム１５ｃの動作に従い、前記クライアント端末２０の移動に伴う新たな位置情報に応じたナビゲーションデータが前記ウェブサーバ３０からダウンロードされて取得され、当該ナビゲーションデータに対応した画面描画データＧが、仮想フレームバッファ１６上に生成される（ステップＳ２１（Ｙｅｓ）→Ｓ１２）。そして、前記仮想フレームバッファ１６上に生成されたナビゲーションの画面描画データＧが、前記端末ＩＤで識別されるクライアント端末２０へ送信される（ステップＳ１３）。
【００８９】
すると、クライアント端末２０では、前記シンクライアントサーバ１０から送信された同クライアント端末２０自身の移動に伴う位置情報に応じたナビゲーションの画面描画データＧが受信され（ステップＣ３（Ｙｅｓ）→Ｃ４（Ｙｅｓ））、フレームバッファ２４に書き込まれて表示部１５に表示される（ステップＣ５）。
【００９０】
これにより、シンクライアントサーバ１０にダウンロードされて動作するナビゲーションサービスのウェブアプリケーションプログラム１５ｃに従い、ウェブブラウザ（１５ｂ）のＡＰＩに繰り返し要求される位置情報を、その都度、シンクライアントサーバ処理での位置情報要求処理を介してクライアント端末２０へ要求することなしに、効率よく同クライアント端末２０のセンサデバイス２８であるＧＰＳセンサにより計測された位置情報として返すことができ、同クライアント端末２０のユーザ自身の移動位置に応じたナビゲーションサービスを受けることができる。
【００９１】
つまり、シンクライアントシステムであっても、クライアント端末２０自身のセンサ情報に応じたウェブアプリケーションサービスを効率よく受けることができる。
【００９２】
換言すれば、ウェブアプリケーションが動作するコンピュータ（シンクライアントサーバ１０）と利用者が手にしているコンピュータ（クライアント端末２０）とが物理的に異なる画面転送型シンクライアントシステムにおいても、前記ウェブアプリケーションがクライアント端末２０のセンサ情報を利用可能になる。
【００９３】
この後、前記クライアント端末２０のユーザ操作に応じて、ウェブブラウザの終了を指示する入力イベントがシンクライアントサーバ１０に受信されると（ステップＳ３（Ｙｅｓ）→Ｓ４（Ｙｅｓ）→Ｓ５，Ｓ８（Ｙｅｓ））、前記ウェブブラウザプログラム１５ｂに基づく動作が終了され、前記ナビゲーションサービスを提供するウェブサーバ３０へのアクセスが閉じられる（ステップＳ９）。
【００９４】
そして、クライアント端末２０において、切断の指示が入力されたと判断されると（ステップＣ９（Ｙｅｓ））、前記シンクライアントサーバ１０との切断処理が実行される（ステップＣ１０）。さらに、終了の指示が入力されたと判断されると（ステップＣ１１（Ｙｅｓ））、前記一連のシンクライアント処理が終了される（ステップＣ１２）。
【００９５】
また、シンクライアントサーバ１０において、前記クライアント端末２０から切断要求が受信されたと判断されると（ステップＳ１４（ｙｅｓ））、同クライアント端末２０との切断処理が実行される（ステップＳ１５）。
【００９６】
そして、シンクライアントサーバ１０自身のユーザ操作に応じて終了の指示が入力されたと判断されると（ステップＳ１６（ｙｅｓ））、前記一連のシンクライアントサーバ処理が終了される（ステップＳ１７）。
【００９７】
したがって、前記構成のシンクライアントシステムによれば、シンクライアントサーバ１０におけるウェブブラウザプログラム１５ｂ上のセンサ情報取得用ＡＰＩに対して、ウェブアプリケーションプログラム１５ｃの動作に従い当該ＡＰＩが呼び出しされた際に、シンクライアント・サーバプログラム１５ａの動作を介して、クライアント端末２０へセンサ情報を要求し、この要求に応答してクライアント端末２０から送信されたセンサ情報を取り込み、前記ウェブアプリケーションプログラム１５ｃに返す機能を持たせたアドオンプログラム１５ｂを上書きした。
【００９８】
このため、シンクライアントサーバ１０にて動作する一般的なウェブアプリケーションプログラム１５ｃはそのままで、当該ウェブアプリケーション（１５ｃ）がその要求に応じたセンサ情報をクライアント端末２０から得ることができる。よって、シンクライアントシステムの端末ユーザであっても、例えばナビゲーションサービスを提供するウェブアプリケーション（１５ｃ）をそのまま利用して、端末位置に応じたナビゲーション画面を取得することができる。
【００９９】
また、前記構成のシンクライアントシステムによれば、シンクライアント・サーバプログラム１５ａの動作に従い前記クライアント端末２０から受信されたセンサ情報は記憶部１３に記憶され、前記アドオンプログラム１５ｂに従い取り込まれる。前記アドオンプログラム１５ｂには、さらに、そのセンサ情報取得用ＡＰＩに対する前記ウェブアプリケーションプログラム１５ｃからの呼び出しが繰り返しであると判定した場合に、前記シンクライアント・サーバプログラム１５ａの動作を介して、クライアント端末２０へセンサ情報の繰り返し取得を要求し、その後は前記記憶部１３に記憶されたクライアント端末２０のセンサ情報を直接取り込み、前記ウェブアプリケーションプログラム１５ｃに返す機能を持たせる。
【０１００】
このため、前記ウェブアプリケーションプログラム１５ｃから前記ウェブブラウザプログラム１５ｂ上のセンサ情報取得用ＡＰＩに対する呼び出しが繰り返しある状態では、その都度、前記シンクライアント・サーバプログラム１５ａの動作を介したクライアント端末２０へセンサ情報の要求をすること無しに、前記ウェブアプリケーション（１５ｃ）がその要求に応じたクライアント端末２０のセンサ情報を効率よく得ることができる。
【０１０１】
なお、前記実施形態において記載したシンクライアントシステムによる各処理の手法、すなわち、図５のフローチャートに示すシンクライアントサーバ１０によるサーバ処理、図６のフローチャートに示す前記シンクライアントサーバ１０のウェブブラウザプログラム１５ｂに付加されたアドオンプログラム１５ｂ′による端末位置情報取得処理、図７のフローチャートに示す前記シンクライアントサーバ処理（図５）における位置情報要求処理、図８のフローチャートに示す前記シンクライアントサーバ処理（図５）における位置情報受信処理、図９のフローチャートに示すクライアント端末２０によるクライアント処理、図１０のフローチャートに示す前記クライアント処理（図９）における位置情報送信処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶媒体に格納して配布することができる。そして、シンクライアントサーバ１０やクライアント端末２０のコンピュータ（ＣＰＵ１１，２１）は、この外部記憶媒体に記憶されたプログラムを記憶装置（１３，２３）に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した既存のウェブアプリケーションプログラム１５ｃをそのまま利用したシンクライアント端末２０からのセンサ情報取り込み機能を実現し、前述した手法による同様の処理を実行することができる。
【０１０２】
また、前記各手法を実現するためのプログラムは、プログラムコードの形態として通信ネットワーク（Ｎ）上を伝送させることができ、この通信ネットワーク（Ｎ）に接続されたコンピュータ装置（プログラムサーバ）から前記のプログラムデータを取り込んで記憶装置（１３，２３）に記憶させ、前述した既存のウェブアプリケーションプログラム１５ｃをそのまま利用したシンクライアント端末２０からのセンサ情報取り込み機能を実現することもできる。
【０１０３】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【０１０４】
１０  …シンクライアントサーバ
２０  …クライアント端末
３０  …ウェブサーバ
１１、２１…ＣＰＵ
１２、２２…バス
１３、２３…記憶部
２３ａ…シンクライアント・クライアントプログラム
１４  …ＲＡＭ
２４  …フレームバッファ
１５  …プログラムメモリ
１５ａ…シンクライアント・サーバプログラム
１５ｂ…ウェブブラウザプログラム
１５ｂ′…アドオンプログラム
１５ｃ…ウェブアプリケーションプログラム
２５  …表示部
１６  …仮想フレームバッファ
２６  …入力部
１７、２９…ネットワーク制御部
２７  …キーアサイン情報メモリ
２８  …センサデバイス
Ｇ  …クライアント表示用画面描画データ
Ｎ  …通信ネットワーク
【図１】
0005413357.tif 000002
【図２】
0005413357.tif 000003
【図３】
0005413357.tif 000004
【図４】
0005413357.tif 000005
【図５】
0005413357.tif 000006
【図６】
0005413357.tif 000007
【図７】
0005413357.tif 000008
【図８】
0005413357.tif 000009
【図９】
0005413357.tif 000010
【図１０】
0005413357.tif 000011