(57)【特許請求の範囲】
【請求項１】
クライアント装置からのユーザ指示要求の受信に基づいて各種アプリケーション処理を実行し、その処理で生成された画面データを前記クライアント装置で表示させるべく送信するサーバ装置としての処理装置であって、
前記クライアント装置の現在位置を取得する取得手段と、
複数のアプリケーションの内で、前記取得手段で取得した現在位置に対応するアプリケーションを特定する特定手段と、
前記特定手段で特定されたアプリケーションを、そのアプリケーションに対するユーザ指示による起動要求の有無に拘わらず予め起動し、その起動後にあって当該アプリケーションに対する実要求を検出した際にその実要求に対応する処理を直ちに実行できるように当該アプリケーションの実行環境を生成し、ユーザ指示による前記実要求を待機する待機手段と、
前記クライアント装置からのユーザ指示による前記アプリケーションに対する実要求を受信した際は、既に生成されている前記アプリケーションの実行環境下において、当該実要求に対応した処理を実行し、その処理で生成された画面データを前記クライアント装置に対して送信する実行制御手段と、
を備えることを特徴とする処理装置。
【請求項２】
前記待機手段は、前記アプリケーションの実行環境が生成された際に、そのアプリケーションに対するユーザによる指示を促すべく当該アプリケーションの実行環境が生成されたことを表す画面データを生成して表示させる、
ことを特徴とする請求項１記載の処理装置。
【請求項３】
複数のアプリケーションを、そのアプリケーションが実行される位置情報と対応づけて記憶する記憶手段と、
を更に具備し、
前記特定手段は、前記取得手段で取得した現在位置に対応する位置情報を前記記憶手段の中から選択し、その選択された位置情報に対応づけて前記記憶手段に記憶されたアプリケーションを抽出することで特定する、
ことを特徴とする請求項１又は２に記載の処理装置。
【請求項４】
前記位置情報は、該当する現在位置の位置範囲を示す情報であり、
前記特定手段は、前記取得手段で取得された現在位置が前記記憶手段に記憶された何れの位置範囲に含まれるかに基づいて前記位置情報を選択する、
ことを特徴とする請求項３記載の処理装置。
【請求項５】
クライアント装置からのユーザ指示要求の受信に基づいて各種アプリケーション処理を実行し、その処理で生成された画面データを前記クライアント装置で表示させるべく送信するサーバ装置としての処理装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
前記クライアント装置の現在位置を取得する取得手段、
複数のアプリケーションの内で、前記取得手段で取得した現在位置に対応するアプリケーションを特定する特定手段、
前記特定手段で特定されたアプリケーションを、そのアプリケーションに対するユーザ指示による起動要求の有無に拘わらず予め起動し、その起動後にあって当該アプリケーションに対する実要求を検出した際にその実要求に対応する処理を直ちに実行できるように当該アプリケーションの実行環境を生成し、ユーザ指示による前記実要求を待機する待機手段、
前記クライアント装置からのユーザ指示による前記アプリケーションに対する実要求を受信した際は、既に生成されている前記アプリケーションの実行環境下において、当該実要求に対応した処理を実行し、その処理で生成された画面データを前記クライアント装置に対して送信する実行制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種アプリケーション処理を実行し、その処理で生成された画面データを表示させる処理装置に関する。
【背景技術】
【０００２】
近年、企業等の情報システムにおいて、従業員が使用するコンピュータ（クライアントコンピュータ）に最低限の機能しか搭載させずに、サーバコンピュータ側でアプリケーションソフトやファイルなどの資源を管理するシンクライアントシステムが利用されている。
【０００３】
シンクライアントシステムは、ＳＢＣ(Server Based Computing)とも呼ばれるが、ネットワークを介してサーバとクライアントを接続したシステム構成において、クライアントの使用するアプリケーションソフトウェアをすべてサーバ（ＳＢＣサーバ）上に実装し、クライアントは操作画面とその結果を表す画面データだけをサーバから受け取り、クライアントからはマウスとキーストロークの操作情報だけがサーバに送られるようにしている。
【０００４】
一般にシンクライアントシステムは、サーバコンピュータと、サーバコンピュータにリモート接続される複数のクライアントコンピュータとにより構成される。サーバコンピュータは、各クライアントコンピュータのアプリケーション実行環境を生成し、クライアントコンピュータは、サーバコンピュータにリモート接続し、サーバコンピュータのアプリケーション実行環境で様々なタスクを実行する。このとき、サーバコンピュータでアプリケーション実行環境を生成して利用可能にするプロセスには時間を要する。
【０００５】
特許文献１には、リモート接続要求をしたクライアントコンピュータに、即座に仮想デスクトップ環境を利用させるリモート接続システムについての技術が開示されている。具体的には、管理サーバに、サーバコンピュータに接続するクライアントコンピュータのアプリケーション実行環境（仮想デスクトップ環境）の稼動スケジュール（起動時刻と終了時刻）を登録しておき、管理サーバは、この稼動スケジュールに基づいて各クライアントコンピュータの起動時刻を監視し、クライアントコンピュータの起動時刻前にサーバコンピュータにリモート接続要求を行って仮想デスクトップ環境を予め生成させる。そして、サーバコンピュータは、実際に起動時刻にクライアントコンピュータからリモート接続要求があると、即座に接続し、既に生成されている仮想デスクトップ環境を利用させる。これにより、稼動スケジュールに沿ったクライアントからのリモート接続時には仮想デスクトップ環境が即座に利用可能となる。
【０００６】
【特許文献１】特開２００６−９１９５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の特許文献１におけるリモート接続システムでは、稼働スケジュール（起動時刻、終了時刻）に対応したアプリケーション実行環境の生成を行うことを目的としているため、予め稼動スケジュールが決まっておらずクライアントコンピュータ（携帯端末）をユーザが携帯して場所によってアプリケーションを使い分けるような場合（例えば、通常は自分のオフィス、必要に応じて出先のような場合）、迅速に対応することができないという問題があった。
【０００８】
本発明の目的は、ユーザの居る位置に応じたアプリケーションを即座に利用できるようにすることである。  
【課題を解決するための手段】
【０００９】
請求項１記載の発明によれば、クライアント装置からのユーザ指示要求の受信に基づいて各種アプリケーション処理を実行し、その処理で生成された画面データを前記クライアント装置で表示させるべく送信するサーバ装置としての処理装置であって、前記クライアント装置の現在位置を取得する取得手段と、複数のアプリケーションの内で、前記取得手段で取得した現在位置に対応するアプリケーションを特定する特定手段と、前記特定手段で特定されたアプリケーションを、そのアプリケーションに対するユーザ指示による起動要求の有無に拘わらず予め起動し、その起動後にあって当該アプリケーションに対する実要求を検出した際にその実要求に対応する処理を直ちに実行できるように当該アプリケーションの実行環境を生成し、ユーザ指示による前記実要求を待機する待機手段と、前記クライアント装置からのユーザ指示による前記アプリケーションに対する実要求を受信した際は、既に生成されている前記アプリケーションの実行環境下において、当該実要求に対応した処理を実行し、その処理で生成された画面データを前記クライアント装置に対して送信する実行制御手段と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ユーザの居る位置に応じたアプリケーションを即座に利用することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
まず、本実施形態における構成について説明する。
図１に、本発明の実施形態に係るリモート接続システム１００の全体構成を示す。リモート接続システム１００は、図１に示すように、サーバ装置１、クライアント装置２により構成され、これらはＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の通信ネットワーク３を介して接続される。
【００１６】
サーバ装置１は、クライアント装置２が利用するアプリケーションの実行環境（以下、アプリケーション実行環境と呼ぶ。）を生成する装置である。ここで、「アプリケーション実行環境」とは、クライアント装置から送信される入力データ（コマンド等）に従ってサーバ装置１上でアプリケーションプログラムを実行するための環境である。
【００１７】
クライアント装置２は、ユーザ（例えば、会社の従業員）が業務で使用するノートＰＣ（Personal Computer）、携帯端末、バーコードリーダ等の端末であり、サーバ装置１で生成されるアプリケーション実行環境を利用する。
【００１８】
本実施形態では、一人のユーザが携帯用のクライアント装置２（例えば、ノートＰＣ、携帯端末、バーコードリーダ等）を使用し、場所によって各々のアプリケーションプログラムを使い分けるものとする。なお、一人のユーザが業務上使用する場所の数及びアプリケーションプログラムの種類は特に限定されない。また、１台のサーバ装置１に通信ネットワーク３を介して接続されるクライアント装置２の台数は特に限定されない。
【００１９】
図２に、サーバ装置１の主要部構成を示す。サーバ装置１は、通信部１０４、制御部１０１、記憶装置１０２により構成され、各部はバス１０７を介して接続される。通信部１０４は、サーバ装置１を通信ネットワーク３に接続するための通信制御を行う。制御部１０１は、ＣＰＵ等を備え、記憶装置１０２に記憶された各種プログラムに従ってサーバ装置１の各部の動作を制御する。
【００２０】
記憶装置１０２は、制御部１０１により実行される各種プログラム、当該プロプログラムの実行時に使用されるデータ等を記憶している。この記憶装置１０２は、認証情報記憶部１０２１、位置別アプリケーションテーブル記憶部１０２２、アプリケーション記憶部１０２３、ユーザ別アプリケーション実行環境記憶部１０２５、クライアントＧＰＳ位置記憶部１０２６、特定位置情報記憶部１０２７を有する。
【００２１】
認証情報記憶部１０２１は、各ユーザのクライアント装置がサーバ装置１に接続する際の認証情報として、ユーザ別にユーザＩＤ及びパスワードのデータを記憶する。位置別アプリケーションテーブル記憶部１０２２は、クライアント装置の位置に応じて実行するアプリケーションを設定する位置別アプリケーションテーブルを記憶する。アプリケーション記憶部１０２３は、クライアント装置おいて実行されるアプリケーション（業務アプリケーション、ワードプロセッサ、メーラー、バーコードリーダ等）のデータを記憶する。
【００２２】
ユーザ別アプリケーション実行環境記憶部１０２５は、ユーザ別（ユーザＸ、ユーザＹ、…）に、生成されたアプリケーション実行環境のデータを記憶する。クライアントＧＰＳ位置記憶部１０２６は、クライアント装置のＧＰＳ（Global Positioning System）受信部により測位された位置情報を記憶する。特定位置情報記憶部１０２７は、クライアント装置の位置情報により特定された位置別アプリケーションテーブルにおける行位置を示す位置アドレスを記憶する。
【００２３】
図３に、クライアント装置２の主要部構成を示す。クライアント装置２は、図３に示すように、通信部２０４、制御部２０１、入力部２０３、表示部２０５、ＧＰＳ受信部２０６、記憶装置２０２により構成され、各部はバス２０７を介して接続される。
通信部２０４は、クライアント装置２を通信ネットワーク３に接続するための通信制御を行う。
【００２４】
制御部２０１は、ＣＰＵ等を備え、記憶装置２０２に記憶された各種プログラムに従ってクライアント装置２の各部の動作を制御する。入力部２０３は、マウス、キーボード、タッチパネル、バーコードリーダ等を備え、これらの操作による操作信号を制御部２０１に出力する。表示部２０５は、ＬＣＤ等のディスプレイを備え、制御部２０１から入力される制御信号に従って所要の表示処理を行う。
【００２５】
ＧＰＳ受信部２０６は、ＧＰＳ衛星からＧＰＳ位置情報を受信する。記憶装置２０２は、制御部２０１により実行される各種プログラム、当該プロプログラムの実行時に使用されるデータ等を記憶している。この記憶装置２０２は、クライアント装置２のＧＰＳ受信部２０６が受信した位置情報を記憶するＧＰＳ位置記憶部２０２１と、サーバ装置１から受信した、アプリケーションの実行結果である画面データを記憶する表示内容記憶部２０２２を有する。
【００２６】
次に、本実施形態における動作について説明する。
図４はクライアント装置２がサーバ装置１に接続したときのシーケンス図である。クライアント装置２からサーバ装置１に接続する際、認証を行うためのユーザＩＤやパスワードをユーザが入力し（４０３）、クライアント装置２からサーバ装置１に送信する（４０４）。サーバ装置１では送られてきたユーザＩＤやパスワードを記憶装置１０２の認証情報記憶部１０２１に記憶されている情報と照らし合わせて認証し（４０５）、その認証結果をクライアント装置２に送信する（４０６）。
【００２７】
認証ＯＫであれば、クライアント装置２はＧＰＳ受信部２０６を用いてＧＰＳ衛星から位置データを受信することにより測位を行い、受信した位置データを記憶装置２０２のＧＰＳ位置記憶部２０２１に記憶する（４０７）。ただし、ＧＰＳ受信部２０６を使っての測位は、この時点ではなく予め行われていてもよいものとする。
【００２８】
そして、クライアント装置２は記憶装置２０２のＧＰＳ位置記憶部２０２１に記憶されているＧＰＳ座標をサーバ装置１へ送信する（４０８）。サーバ装置１は送られてきたＧＰＳ座標をクライアントＧＰＳ位置記憶部１０２６に記憶した後、位置別アプリケーションテーブル記憶部１０２２に記憶された位置別アプリケーションテーブルを参照してクライアントＧＰＳ位置記憶部１０２６に記憶されているＧＰＳ位置情報に対するアプリケーション実行環境を特定させる。
【００２９】
図５に、位置別アプリケーションテーブルのデータ構成を示す。クライアント装置２の位置別に、位置５０１、範囲５０６、場所５０７、アプリケーション５０２の各項目を対応付けて記憶する。位置５０１は、クライアント装置２の基準となる位置を緯度と経度で示し、範囲５０６は、クライアント装置２の基準となる位置からの半径を示し、場所５０７は、位置に対応した場所の名称を示し、アプリケーション５０２は、該当クライアント装置２において実行されるアプリケーションを示す。
【００３０】
同一の位置で実行されるアプリケーションが複数ある場合は複数のアプリケーションを設定する。図５の例では５０３、５０４、５０５の３つの位置が設定してあり、５０５の位置に業務用アプリＣ、業務用アプリＤの２つのアプリケーションが設定してある。
【００３１】
クライアント装置２のＧＰＳにより測位し送信されてくる位置座標（緯度、経度）で表される位置情報により場所を特定する際は、場所（建物や敷地等）自体が建物の規模の大小などによりある程度範囲を持ったものであり、ＧＰＳにより測位される位置情報には多少の誤差があるため、クライアント装置２のＧＰＳ座標（λ1、φ1）と位置５０１の値（λ2、φ2）との距離を計算し、その距離が閾値Δ（範囲５０６の値）以下であればその場所に到達しているとみなしてアプリケーション５０２の実行するアプリケーションを決定する。（この場合、位置５０１の値の座標を中心とする半径を示す閾値Δの円内を該当範囲としている）。
【００３２】
例えば、クライアント装置２のＧＰＳ座標が位置５０１の値（緯度 35度46分27.88秒(35.774411)、経度 139度18分43.92秒(139.3122)）から５００ｍの範囲内にあるとすれば、「本社」にいると判断され業務用アプリＡが実行するアプリケーションとなる。
【００３３】
次に、特定したアプリケーションの実行環境の生成を行う（４１０）。例えば、「業務用アプリＡ」が起動されることになる。起動するアプリケーションはアプリケーション記憶部１０２３に記憶されていて、ユーザ別アプリケーション実行環境記憶部１０２５にユーザ別アプリケーション別に起動するアプリケーションの実行環境が生成される。このようにしてクライアント装置２の位置に応じたアプリケーションの実行環境を生成すると、サーバ装置１は実行環境が生成されたことを表す画面データをクライアント装置２へ送信する（４１１）。受信した画面データをクライアント装置２は、表示部２０５に表示する。
【００３４】
起動されたアプリケーションを実行する場合は、まず、クライアント装置２の入力操作（４１３）により発生するキーイベント等をサーバ装置１へ送信する（４１４）。サーバ装置１は受信したキーイベント等に対応した処理を実行し（４１５）、処理の結果となる画面データを作成してクライアント装置２へ送信する（４１６）。そして、クライアント装置２は受信した画面データを表示部２０５に表示する（４１７）。クライアント装置２からセッション切断の要求がサーバ装置１へ送信されてセッションが切断されるまで（４１８）、４１３から４１７のシーケンスが繰り返される。
【００３５】
次に、図６のフローチャートを参照して、サーバ装置１への接続時にクライアント装置２において制御部２０１の制御の下で実行される処理について説明する。
【００３６】
まず、ＧＰＳ受信部２０６により、ＧＰＳ衛星からＧＰＳ位置情報を受信し、受信したＧＰＳ位置情報をＧＰＳ位置記憶部２０２１に記憶した後サーバ装置１へ送信する（ステップＳ１）。
【００３７】
そして、サーバ装置１から画面データの受信を待機する状態となる（ステップＳ２）。サーバ装置１から画面データが受信されると（ステップＳ２；ＹＥＳ）、その画面データは表示内容記憶部２０２２に記憶され、表示部２０５に表示される（ステップＳ３）。サーバ装置１から画面データが受信されない場合（ステップＳ２；ＮＯ）は、入力データの発生を待機する状態となる（ステップＳ４）。
【００３８】
ユーザの入力操作により発生した入力データを入力部２０３で受信すると（ステップＳ２；ＹＥＳ）、その入力データをサーバ装置１へ送信する（ステップＳ５）。
【００３９】
次に、図７のフローチャートを参照して、クライアント装置２からの接続要求を受けるときにサーバ装置１において制御部１０１の制御の下で実行される処理について説明する。
【００４０】
ユーザＸのクライアント装置２からユーザＸのユーザＩＤ及びパスワードが受信されると、認証情報記憶部１０２１に記憶されたデータと照合することにより、ユーザ認証処理が行われる（ステップＳ１０）。
【００４１】
ステップＳ１０の認証結果がＮＧである場合（ステップＳ１１；ＮＯ）、クライアント装置２にエラーメッセージが送信され、本処理が終了する。一方、ステップＳ１０の認証結果がＯＫである場合（ステップＳ１１；ＹＥＳ）、認証結果がＯＫであることを通知するメッセージがクライアント装置２に送信される。
【００４２】
次いで、ユーザ別アプリケーション実行環境記憶部１０２５を参照することにより、ユーザＸのクライアント装置２に対応するアプリケーション実行環境が生成済みであるか否かが判定される（ステップＳ１２）。
【００４３】
アプリケーション実行環境が生成されていないと判定された場合は（ステップＳ１２；ＮＯ）、当該アプリケーション実行環境を生成する処理が行われ（ステップＳ１３）、その生成されたアプリケーション実行環境に対応する画面データがクライアント装置２に送信される（ステップＳ１４）。
【００４４】
ステップＳ１３のアプリケーション実行環境生成処理については、後に図８を参照して詳細に説明する。アプリケーション実行環境が生成済みであると判定された場合は（ステップＳ１２；ＹＥＳ）、当該アプリケーション実行環境に対応する画面データがクライアント装置２に送信される（ステップＳ１４）。
【００４５】
ステップＳ１４における画面データの送信後、クライアント装置２から入力データが受信された場合（ステップＳ１５；ＹＥＳ）、その入力データがセッション切断を要求するものではない場合は（ステップＳ１６；ＮＯ）、その入力データが起動アプリケーションに渡され処理される（ステップＳ１７）。
【００４６】
そして、ステップＳ１７におけるアプリケーションの実行結果を表す画面データがクライアント装置２に送信され（ステップＳ１８）、ステップＳ１５に戻り、クライアント装置２からの受信データの待ち状態となる。クライアント装置２からの入力データがセッション切断を要求するものである場合は（ステップＳ１６；ＹＥＳ）、本処理が終了する。
【００４７】
次に、図８のフローチャートを参照して、図７のステップＳ１３におけるアプリケーション実行環境生成処理について説明する。
【００４８】
まず、クライアントＧＰＳ位置記憶部１０２６に記憶されたＧＰＳ位置から、位置別アプリケーションテーブル記憶部に記憶された位置別アプリケーションテーブルを参照することにより、クライアント装置２の位置に対応したアプリケーションを特定する（ステップＳ１２１）。
【００４９】
次いで、ステップＳ１２１で特定したアプリケーションに対するリソース（ユーザ別アプリケーション実行環境記憶部１０２５の記憶領域等）が取得される（ステップＳ１２２）。アプリケーション記憶部１０２３に記憶されているアプリケーションの中から特定したアプリケーションが起動されることによって、アプリケーション実行環境が生成される。生成されたアプリケーション実行環境のデータは、ユーザ別アプリケーション実行環境記憶部１０２５に記憶される（ステップＳ１２３）。
【００５０】
以上のように、本実施形態のリモート接続システム１００によれば、ユーザが携帯用のクライアント装置２（クライアントコンピュータ）を複数の場所で使用していても、クライアント装置２の場所に応じたアプリケーション実行環境を事前にサーバ装置１が生成しておくことにより、クライアント装置２はサーバ装置１に接続するだけでアプリケーション実行環境を即座に利用することができるので、ユーザにとっての利便性を向上させることができる。
【００５１】
前記実施形態において記載したサーバ装置１、クライアント装置２の処理、すなわち図６乃至８のフローチャートに示す各処理は、何れもコンピュータが読み取り可能なプログラムとして、記憶装置１０２、記憶装置２０２に記憶されている。なお、これらのプログラムは、半導体メモリ（ＲＯＭ、ＲＡＭ等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）の記録媒体に記憶してもよく、更に、プログラムの一部若しくは全部をサーバ装置１やクライアント装置２に備えられた記録媒体に記憶し、ネットワーク３を介して受信して読み取る構成にしてもよい。
【００５２】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【００５３】
本実施例ではクライアント装置２の位置を測位するためにＧＰＳ衛星から位置データを受信するとしたが、携帯電話等で行われている基地局による位置確認方法のようにＧＰＳ衛星を用いない方法で測位するようにしてもよい。
【００５４】
本実施例では、ＧＰＳの位置情報に対するアプリケーションを特定する際に、ＧＰＳの位置情報が円内に含まれるか否かにより特定したが、位置別アプリケーションテーブルの項目データとして位置（中心点の位置）と範囲（半径）ではなく、左上座標と右下座標を持つようにしてその矩形内に含まれるか否かを判定するようにしても良い。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態に係るリモート接続システムの全体構成を示す図。
【図２】本実施形態に係るサーバ装置の主要部構成を示すブロック図。
【図３】本実施形態に係るクライアント装置の主要部構成を示すブロック図。
【図４】クライアント装置とサーバ装置とのシーケンス図。
【図５】サーバ装置の記憶装置に記憶された位置別アプリケーションテーブルのデータ構成を示す図。
【図６】サーバ装置への接続時にクライアント装置において実行される処理を示すフローチャート。
【図７】クライアント装置から接続要求を受けるときにサーバ装置において実行される処理を示すフローチャート。
【図８】図７に示すアプリケーション実行環境生成処理の詳細を示すフローチャート。
【符号の説明】
【００５６】
１        サーバ装置
２        クライアント装置
１００    リモート接続システム
１０１    制御部
１０２    記憶装置
１０４    通信部
２０１    制御部
２０２    記憶装置
２０３    入力部
２０４    通信部
２０５    表示部
２０６    ＧＰＳ受信部
１０２１  認証情報記憶部
１０２２  位置別アプリケーションテーブル記憶部
１０２３  アプリケーション記憶部
１０２５  ユーザ別アプリケーション実行環境記憶部
２０２２  表示内容記憶部
【図１】
0005277581.tif 000002
【図２】
0005277581.tif 000003
【図３】
0005277581.tif 000004
【図４】
0005277581.tif 000005
【図５】
0005277581.tif 000006
【図６】
0005277581.tif 000007
【図７】
0005277581.tif 000008
【図８】
0005277581.tif 000009