(57)【要約】  仮想機械の上位装置として働くサーバが、クライアント装置の位置に基づいて選択されるクライアントサーバシステムが記載されている。仮想機械は、それがクライアント装置によって要求される前に、選択されたサーバ上に構成される。このようにして、クライアント装置は仮想機械を、仮想機械を広域ネットワークを通じて使用することに伴う最小の遅延と待ち時間でもって使用することができる。
2013517541.tif 000002
【特許請求の範囲】
【請求項１】
クライアントサーバシステムであって、
異なった位置に分散して配置され、各々が複数のクライアント装置によって使用される仮想機械の上位装置として働く複数のサーバと、
前記複数のサーバのうちの選択された１つのサーバ上で動作する仮想機械を使用するように動作可能なクライアント装置と、
前記複数のクライアント装置によって使用される前記仮想機械の上位装置として働くサーバを選択するように動作可能なブローカーゲートウェイと、
を有し、
前記ブローカーゲートウェイは、
ｉ）前記クライアント装置の現在の位置を示す位置データを取得し、ｉｉ）前記仮想機械の上位装置として働く前記サーバを、前記クライアント装置の取得された位置データと前記の複数のサーバの位置に基づいて選択し、ｉｉｉ）前記クライアント装置によって使用される仮想機械を、前記クライアント装置が前記仮想機械への接続を要求する前に、前記の選択されたサーバ上に構築することを要求する、ように動作可能である、クライアントサーバシステム。
【請求項２】
クライアント装置によって使用される仮想機械の上位装置として働くサーバを選択するように動作可能であり、かつｉ）前記クライアント装置の現在の位置を示す位置データを取得し、ｉｉ）前記仮想機械の上位装置として働くサーバを、前記クライアント装置の取得された位置データに基づいて選択し、ｉｉｉ）前記クライアント装置によって使用される仮想機械を、前記クライアント装置が前記仮想機械への接続を要求する前に、前記の選択されたサーバ上に構築することを要求する、ように動作可能であるブローカーゲートウェイ。
【請求項３】
前記ブローカーゲートウェイは、
複数のサーバの位置を定める、格納されたデータを含み、かつ前記クライアント装置の位置データを、前記の格納されたサーバ位置データと比較し、比較結果に基づいて前記サーバを選択するように動作可能である、請求項２記載のブローカーゲートウェイ。
【請求項４】
前記クライアント装置の現在の位置に近く、前記クライアント装置の仮想機械の上位装置として働くサーバを選択するように動作可能である、請求項３記載のブローカーゲートウェイ。
【請求項５】
前記ブローカーゲートウェイは、ユーザプロファイルデータを含み、かつ前記ユーザプロファイルデータを、前記クライアント装置のために前記仮想機械を構築するために、前記の選択されたサーバのために送るように動作可能である、請求項２から４のいずれかに記載のブローカーゲートウェイ。
【請求項６】
前記選択されたサーバ上で該サーバの配下となる前記仮想機械に接続するのに使用されるパラメータを前記クライアント装置に送るように動作可能である、請求項１から５のいずれか１項記載のブローカーゲートウェイ。
【請求項７】
前記パラメータは、前記仮想機械のためのまたは前記の選択されたサーバのためのネットワークアドレスデータを含む、請求項６記載のブローカーゲートウェイ。
【請求項８】
前記仮想機械に自発的に接続するのに使用される前記パラメータを、該パラメータが変わるたびに、前記クライアント装置に送るように動作可能である、請求項６または７記載のブローカーゲートウェイ。
【請求項９】
前記仮想機械に接続するのに使用される前記パラメータを、前記クライアント装置から受信した、前記パラメータに対する要求に応答して、前記クライアント装置に送るように動作可能である、請求項６または７記載のブローカーゲートウェイ。
【請求項１０】
前記クライアント装置の位置データを、前記クライアント装置が接続されているアクセスネットワークから取得するように動作可能である、請求項２から９のいずれか１項記載のブローカーゲートウェイ。
【請求項１１】
前記クライント装置の位置データを、前記クライアント装置が現在、登録されているアクセスポイントのネットワークアドレスに基づいて、または前記クライアント装置が現在、登録されている携帯電話ネットワークのネットワークコードに基づいて取得するように動作可能である、請求項１０記載のブローカーゲートウェイ。
【請求項１２】
前記クライント装置の位置データを、前記クライアント装置から送信されたデータから取得するように動作可能である、請求項２から９のいずれか１項記載のブローカーゲートウェイ。
【請求項１３】
サーバとブローカーゲートウェイと通信するように動作可能なクライアント装置であり、該クライアント装置は、前記ブローカーゲートウェイから仮想機械のパラメータを受信するように動作可能であり、かつ前記サーバが上位装置として働く前記仮想機械への接続を要求するように動作可能であり、前記クライアント装置は、前記仮想機械への接続を要求する前に、前記仮想機械のパラメータを取得するように動作可能である、クライアント装置。
【請求項１４】
前記仮想機械のパラメータデータの更新を前記ブローカーゲートウェイから受信するように動作可能である、請求項１３記載のクライアント装置。
【請求項１５】
前記仮想機械への前記接続を、ブローカーゲートウェイを介して接続することなく、直接、要求するように動作可能である、請求項１３または１４記載のクライント装置。
【請求項１６】
前記仮想機械への最初の接続要求が失敗した場合に、前記自国のブローカーゲートウェイに更新されたパラメータを要求するように動作可能である、請求項１３から１５のいずれか１項記載のクライント装置。
【請求項１７】
ブローカーゲートウェイとクライアント装置と通信するように動作可能であるサーバであり、前記サーバは、前記クライアント装置によって使用される仮想機械を、前記ブローカーゲートウェイから受信した要求に応答して構築するように動作可能であり、かつ前記クライアント装置から受信した接続要求に応答して前記仮想機械と前記クライアント装置を接続するように動作可能であり、前記サーバは、前記クライアント装置から前記接続要求を受信する前に、前記クライアント装置のために前記仮想機械を構築するように動作可能である、サーバ。
【請求項１８】
コンピュータで実行可能な命令プロダクトであって、プログラム可能なコンピュータ装置を、請求項２から１２のいずれか１項記載のブローカーゲートウェイとして構成されるようにし、または請求項１２から１６のいずれか１項記載のクライアント装置として構成されるようにし、または請求項１７記載のサーバとして構成されるようにする、コンピュータで実行可能な命令プロダクト。
【請求項１９】
ブローカーゲートウェイによって実行される方法であって、
クライアント装置の現在の位置を示す位置データを取得することと、
仮想機械の上位装置として働くサーバを、前記クライアント装置の取得された位置データに基づいて選択することと、
前記クライアント装置によって使用される仮想機械の、選択されたサーバ上への構築を、前記クライアント装置が、前記仮想機械に接続する要求をする前に要求することと、
を有する、ブローカーゲートウェイによって実行される方法。
【請求項２０】
複数のサーバの位置を定めるデータを保持することと、前記クライアント装置の位置データを前記サーバの位置データと比較することと、比較結果に基づいて前記サーバを選択することと、を有する、請求項１９記載の方法。
【請求項２１】
前記の選択するステップは、前記クライアント装置の現在の位置に近く、かつ前記クライアント装置の仮想機械の上位装置として働くサーバを選択する、請求項２０記載の方法。
【請求項２２】
ユーザプロファイルデータを保持することと、前記ユーザプロファイルデータを前記クライアント装置のための仮想機械を構築するために前記の選択されたサーバに送ることと、を有する、請求項１９から２１のいずれか１項記載の方法。
【請求項２３】
前記の選択されたサーバ上でその配下となる前記仮想機械に接続するのに使用される、前記クライアント装置のパラメータを送ることを有する、請求項１９から２２のいずれか１項記載の方法。
【請求項２４】
前記パラメータは、前記仮想機械の、または前記の選択されたサーバのネットワークアドレスデータを含む、請求項２３記載の方法。
【請求項２５】
前記仮想機械に自発的に接続するのに使用される前記パラメータを、該パラメータが変わるたびに、前記クライアント装置に送ることを有する、請求項２３または２４記載の方法。
【請求項２６】
前記仮想機械に接続するのに使用される前記パラメータを、前記クライアント装置から、前記パラメータに対する要求を受信するに応答して、前記クライアント装置に送ることを有する、請求項２３または２４記載の方法。
【請求項２７】
前記クライアント装置の位置データを、前記クライアント装置が接続されているアクセスネットワークから取得する、請求項１９から２６のいずれか１項記載の方法。
【請求項２８】
前記クライント装置の位置データを、前記クライアント装置が現在、登録されているアクセスポイントのネットワークアドレスに基づいて、または前記クライアント装置が現在、登録されている携帯電話ネットワークのネットワークコードに基づいて取得する、請求項２７記載の方法。
【請求項２９】
前記クライント装置の位置データを、前記クライアント装置から送信されたデータから取得する、請求項１９から２６のいずれか１項記載の方法。
【請求項３０】
サーバとブローカーゲートウェイと通信するクライアント装置によって実行される方法であって、仮想機械のパラメータを前記ブローカーゲートウェイから受信することと、前記サーバが上位装置として働く前記仮想機械への接続を要求することと、を有し、前記の受信することは、前記仮想機械への接続を要求する前に行われる、クライアント装置によって実行される方法。
【請求項３１】
前記仮想機械のパラメータデータの更新を前記ブローカーゲートウェイから受信することを有する、請求項３０記載の方法。
【請求項３２】
前記仮想機械への前記接続を、前記ブローカーゲートウェイを介して接続することなく、直接、要求することを有する、請求項３０または３１記載の方法。
【請求項３３】
前記仮想機械への最初の接続要求が失敗した場合に、自国の基地局に更新されたパラメータを要求することを有する、請求項３０から３２のいずれか１項記載の方法。
【請求項３４】
ブローカーゲートウェイとクライアント装置と通信するように動作可能なサーバによって行われる方法であって、前記クライアント装置によって使用される仮想機械を、前記ブローカーゲートウェイから受信した要求に応答して構築することと、前記仮想機械と前記クライアント装置を、前記クライアント装置から受信した接続要求に応答して接続することと、を有し、前記仮想機械は、前記クライアント装置から前記接続要求を受信する前に、前記クライアント装置のために構築される、サーバによって行われる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントサーバシステムおよび方法、並びにその構成部品に関する。本発明は、特に種々のクライアント装置のための仮想機械を提供するサーバシステムに関する。
【背景技術】
【０００２】
１つまたは複数の中央サーバが、クライアントサーバネットワーク構造におけるいくつかのクライアント装置のために複数の仮想機械の起動を担う仮想化システムが知られている。これらのサーバのうちの１つのサーバ上で実行される仮想機械は、クライアント装置の処理の多くを扱い、ユーザ入力イベントはクライアント装置によって仮想機械に報告され、仮想機械によって生成された関連する出力は、ユーザへの出力のためにクライアント装置に返送される。したがって、最小の処理能力しか持たない装置をシンクライアントとして使用してもよいが、より大きな処理能力を有する装置をシンクライアントとして、それが実際に働くことができるときに、働くように構成してもよい。
【０００３】
携帯型の情報処理装置や通信装置、特に携帯（セルラー）電話に対する人気が増大するにつれて、個人が、それらの携帯装置を、殆どの時間、身につけることが今や当たり前になっている。これらの装置は、種々の、短距離および／または広域の無線および有線の技術を用いて互いにおよび他のコンピュータ装置（パーソナルコンピュータ、ラップトップ、サーバなど）と通信する能力の点でますますフレキシブルになっている。
【０００４】
今日、シンクライアントと仮想化の技術は、ユーザ装置のための仮想化された環境（たとえば、仮想機械上で実行されるＰＣ画像）の動的な構成と起動を可能にしている。ＶＭＷａｒｅ  Ｉｎｃ及びＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ  Ｉｎｃは、そのような仮想化システムを提供する会社である。プロファイルには、ユーザが属するグループ、ユーザのアプリケーションの好み、所与のアプリケーションに必要な処理能力、または要求されるＣＰＵ（２つ以上が利用できるならば）などを含むことができる。最初の接続確立時に、ユーザ装置は、該ユーザ装置をプロファイルと負荷バランスの情報を分析することによって仮想機械の上位装置として働く所与のサーバに導く責任を負う、ゲートウェイ（以下の記述ではブローカーゲートウェイと呼ぶ）にアクセスする。そのようなブローカーゲートウェイは、サーバ上に仮想化された遠隔のアプリケーションまたは遠隔のオペレーティングシステムへアクセスするために一般的である。サーバを、ユーザプロファイル情報と、サーバの可用性、ネットワーク負荷、利用可能なＣＰＵなどの他の情報に基づいて選択することができ、仮想機械は、ユーザがそれにアクセスできる前に準備される必要がある。
【０００５】
この技術は、ユーザ装置が、仮想化された環境の上位装置として働くサーバのかなり近くに位置する場所ではうまく働く。しかしながら、ユーザ装置が、仮想化された環境の上位装置として働くサーバからかなり遠隔に位置している場合、本システムは、サーバとユーザ装置間の距離によって引き起こされる遅延と相互作用待ち時間のためにうまく働かない。この問題を軽減するために、いくつかのスケーリング解決策は、ユーザを最も適切なサーバ（または仮想機械）に動的に向かわせるように、リソースとサーバ／ネットワーク負荷を監視することにある。
【０００６】
携帯装置を使用して、ユーザはある位置から、そして異なった時点に他の位置から接続する可能性がある。したがって、ユーザが接続を切り、ユーザが新たな地理的領域へ（したがって他のアクセスネットワークを介して）移動した後に、その仮想機械に再接続する場合、最も近いサーバを選択することでネットワーク経路のコストを減らすことが最良である。サーバの選択には、負荷バランス技術に加えてユーザ装置の地理的位置を用いることができる。参照によってここにその内容が含まれる非特許文献１には、ＩＰトンネルを構築することによるＷＡＮを通じた仮想機械のライブマイグレーション技術をより詳細に記載している。
【０００７】
ユーザの仮想機械が存在しない、または未だ準備されていない場合、ユーザは、接続が確立する間、仮想機械が準備されるのを待たなければならない。ユーザの仮想機械が存在する場合、仮想機械を新たに選択されたサーバに乗り換えることが必要かも知れない。実際の乗り換えによって生ずるダウンタイムはかなり小さい可能性があるが、仮想機械を、選択された新たなサーバ上に乗り換えるために必要な時間がなお存在する。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】「ＭＡＮ/ＷＡＮを通じての仮想機械の途切れのない実際の統合」フランコ  トランボスチノ等のエルセビール次世代コンピュータコンピュータシステム  ２００６（Ｓｅａｍｌｅｓｓ  Ｌｉｖｅ  Ｉｎｔｅｇｒａｔｉｏｎ  ｏｆ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅｓ  ｏｖｅｒ  ｔｈｅ  ＭＡＮ/ＷＡＮ，ｆｒｏｍ  Ｆｒａｎｃｏ  Ｔｒａｖｏｓｔｉｎｏ  ａｎｄ  ａｌ．，Ｅｌｓｅｖｉｅｒ  Ｆｕｔｕｒｅ  Ｇｅｎｅｒａｔｉｏｎ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  ２００６）
【発明の概要】
【０００９】
本発明は、理想的な実施態様では、ユーザが、仮想化された環境を直ちに利用できるように、接続の確立を最適化するようとしてなされたものである。一実施態様では、本発明は、分散配置された複数のサーバファーム（国毎の、または一国内の、または、分散配置された会議室等の、建物の事務所どうし間）上の適切な仮想化された環境の構成と選択を予想するためにユーザ装置の位置情報を使用する。他の実施態様では、選択された仮想化された環境の接続パラメータは、接続の確立をはやめるために、携帯装置に送られて格納され、ブローカーゲートウェイに格納された接続パラメータと同期させられる。仮想機械の接続パラメータを予測して知ることは、ユーザが、必要な接続の詳細を知る必要をなくし、必ずしもブローカーゲートウェイを通過することがない、仮想機械への接続確立を最適化する。
【００１０】
一態様によれば、異なった位置に分散して配置され、各々が、複数のクライアント装置によって使用される仮想機械の上位装置として働く複数のサーバと、複数のサーバのうちの選択された１つのサーバ上で動作する仮想機械を使用するように動作可能なクライアント装置と、複数のクライアント装置によって使用される仮想機械の上位装置として働くサーバを選択するように動作可能なブローカーゲートウェイと、を有し、ブローカーゲートウェイは、クライアント装置の現在の位置を示す位置データを取得し、仮想機械の上位装置として働くサーバを、クライアント装置の取得された位置データと複数のサーバの位置に基づいて選択し、クライアント装置によって使用される仮想機械を、クライアント装置が仮想機械への接続を要求する前に、選択されたサーバ上に構築することを要求するように動作可能である、クライアントサーバシステムが提供される。
【００１１】
他の態様によれば、ユーザの少なくとも１つの仮想機械の準備を予測し、該予測がクライアント装置の現在位置に基づき、仮想機械は、ブローカーゲートウェイによって接続されたサーバ下で動作し、準備は、クライアント装置が仮想機械への接続を要求する前に、ブローカーゲートウェイによってなされる方法が提供される。
【００１２】
他の態様によれば、本方法は、ブローカーゲートウェイによってクライアント装置に現在まで送られた仮想機械接続パラメータを格納して保持するステップを有する。接続パラメータは、ブローカーゲートウェイへのアクセスを必ずしも要求することなく、仮想機械への接続を次に試みたときにクライアント装置によって使用されるのが有利である。
【００１３】
他の態様によれば、本発明は、クライアント装置によって使用される仮想機械の上位装置として働くサーバを選択し、仮想機械の上位装置として働くサーバを、クライアント装置の現在位置に基づいて選択するように動作可能であり、クライアント装置によって使用される仮想機械を、クライアント装置が仮想機械への接続を要求する前に、選択されたサーバ上に構築するように動作可能である、ブローカーゲートウェイを提供する。
【００１４】
一実施態様によれば、ブローカーゲートウェイは、複数のサーバの位置を定めるデータを格納し、クライアント装置の位置データを、格納されたサーバ位置データと比較し、比較結果に基づいてサーバを選択する。ブローカーゲートウェイは、クライアント装置の現在の位置に近く、クライアント装置の仮想機械の上位装置として働くサーバを選択してもよい。
【００１５】
好適な実施態様では、クライアント装置の位置情報は、地理座標、セル情報（携帯電話国コード、携帯電話ネットワークコード）、ネットワークアクセスポイント名（ＷｉＦｉ  AP名）、ネットワークアクセスポイントからの推定距離等の少なくとも１つであってよい。
【００１６】
他の実施態様では、ブローカーゲートウェイは、ユーザプロファイルデータを含み、かつ該ユーザプロファイルデータを、クライアント装置のために仮想機械を構築する、選択されたサーバへ送る。ユーザプロファイルデータは、選択されたサーバへ直接または他のブローカーゲートウェイを介して送ってもよい。
【００１７】
他の実施態様では、ブローカーゲートウェイは、所与の位置データの選択されたサーバを定めるデータを格納し、それをクライアント装置と同期させる。したがって、ブローカーゲートウェイは、クライアント装置が選択されたサーバ下で動作する仮想機械に接続するのに使用できるクライアント装置パラメータを送る。該パラメータには仮想機械または選択されたサーバのネットワークアドレスを含んでもよい。
【００１８】
本発明では、サーバとブローカーゲートウェイと通信するように動作可能なクライアント装置であり、該クライアント装置は、仮想機械のパラメータをブローカーゲートウェイから受信し、かつサーバ下で動作する仮想機械への接続を要求し、仮想機械への接続を要求する前に、仮想機械のパラメータを取得する、クライアント装置も提供する。
【００１９】
一実施態様では、クライアント装置は、今日までの仮想機械接続パラメータをブローカーゲートウェイと共に保持するように動作可能な同期化モジュールを有し、接続パラメータは、ユーザの現在位置に基づいてブローカーゲートウェイによって更新される。
【００２０】
好適な実施態様では、クライアント装置は、仮想機械に接続するために、格納された仮想機械接続パラメータを使用する。接続が失敗すると、クライアント装置は、仮想機械に接続するために、ブローカーゲートウェイへの接続を要求し、仮想機械に接続する前に仮想機械接続パラメータを得る。接続の詳細はセキュアモジュール（携帯装置内、ユニバーサルサブスクライバーアイデンティーモジュール内の暗号化メモリ領域、または他のセキュア要素）内に格納され、処理できると有利である。
【００２１】
本発明は、またブローカーゲートウェイおよびクライアント装置と通信するサーバであり、サーバは、クライアント装置によって使用される仮想機械を、ブローカーゲートウェイから受信した要求に応答してセットアップするように動作可能であり、かつクライアント装置から受信した接続要求に応答して仮想機械とクライアント装置を接続し、サーバは、クライアント装置から接続要求を受信する前に、クライアント装置のために仮想機械をセットアップするように構成されている、サーバを提供する。
【００２２】
本発明は、また対応するユーザ通信装置またはネットワーク通信装置上で実行される、対応するコンピュータプログラムまたはコンピュータプログラムプロダクトを、開示された全ての方法について提供する。本発明は、また上記の方法およびその構成部品およびこれらを更新する方法を実施するように構成され、または動作可能なユーザ通信装置およびネットワーク通信装置を提供する。
【図面の簡単な説明】
【００２３】
【図１】図１は、携帯ユーザ装置が、サーバファーム上で実行される仮想化ソフトウェアと共に動作するシンクライアントモジュールを含むクライアントサーバ仮想化システムを概略的に示し、ユーザ装置がフランスから日本に移動したときのサーバファームの変化を示している。
【図２】図２は、通信ネットワークを通じて通信するいくつかのクライアント装置、ブローカーゲートウェイ、サーバファームを概略的に示している。
【図３】図３は、図２に示されたサーバファームの主な構成部品を示すブロック図である。
【図４】図４は、図２に示されたブローカーゲートウェイの主な構成部品を示すブロック図である。
【図５】図５は、図２に示されたクライアント装置の主な構成部品を示すブロック図である。
【図６】図６は、異なったユーザが、これらユーザが自国のブローカーゲートウェイに接続するアクセスポイント／ルータに基づいて異なったサーバファームに接続する実施形態を示している。
【図７】図７は、図６の装置同士の間で行われる通信を示す信号流れ図である。
【図８】図８は、図６に示された実施形態で、内部ネットワークと外部ネットワークを通じて行われるネットワーク接続を示している。
【図９】図９は、ブローカーゲートウェイが、仮想機械の上位装置として働くサーバを決定する際のポリシー制御を実行することができる方法を示す流れ図である。
【図１０】図１０は、他の実施形態において行われる通信を示す信号流れ図である。
【図１１】図１１は、ブローカーゲートウェイが、仮想機械の上位装置として働くサーバを決定する際のポリシー制御を実行することができる方法を示し、ブローカーゲートウェイがＶＭパラメータをクライアント装置と同期させる方法を示す流れ図である。
【図１２】図１２は、クライアント装置が、ブローカーゲートウェイに必ずしも接触することなく、その仮想機械にアクセスするためにＶＭパラメータを使用できる方法を示している。
【発明を実施するための形態】
【００２４】
本発明のこれらおよび様々な他の態様は、例示としてのみ与えられ、かつ添付の図面を参照して説明される実施形態の以下の詳細な説明から明らかとなる。
（概要）
図１は、本発明の一実施形態のクライアントサーバシステムを概略的に示している。図示されているように、本システムは、たとえば、ユーザが仕事中に企業ネットワーク５と通信できるユーザ携帯装置３（たとえば携帯、すなわちセルラー電話）を含む。携帯装置３は、該携帯装置が企業ネットワーク５の近傍にあるときに、インターネットまたは自国（この例ではフランス）の携帯電話ネットワーク１３と、自国のブローカーゲートウェイ１１とを介して自国のサーバファーム９−ｈに接続できるシンクライアントモジュール７を含む。自国のサーバファーム９は、シンクライアントモジュール７のための仮想化技術を提供する。このことは、自国のサーバファーム９が、携帯装置３のためのソフトウェアを実行し、ｉ）シンクライアントモジュール７が情報をユーザに出力するために用いる、シンクライアントモジュール７への出力データと、ｉｉ）シンクライアントモジュール７が、サーバファーム９上でその配下となる仮想機械に戻された応答を制御するために用いる、シンクライアントモジュール７への入力データと、を出力すること意味する。そのような仮想化技術の動作方法は当業者によく知られており、ここではさらに詳しくは説明しない。
【００２５】
矢印１５によって表されるように、ユーザ携帯装置３が企業ネットワーク５から出て、この例では日本に移動するとき、ユーザ携帯装置３は、自国のブローカーゲートウェイ１１−ｈ及び自国のサーバファーム９−ｈに、インターネットまたは日本における携帯電話ネットワーク１７を介して接続することができる。この状況では、ユーザは、ユーザの携帯装置３と自国のサーバファーム９−ｈが大きく離れていることによって生ずる上記の遅延と待ち時間を経験することになる。本実施形態では、ユーザの携帯装置３の現在の位置についての情報が自国のブローカーゲートウェイ１１−ｈに与えられ、自国のブローカーゲートウェイ１１−ｈは、ユーザが、仮想化された環境に対するアクセスを要求する前に、該位置情報を用いてユーザのための仮想化された環境を準備する。この準備は、ユーザの携帯装置３の近くに位置する、外国のサーバファーム９−ｆへのユーザの既存の仮想機械の転送、または自国のブローカーゲートウェイ１１−ｈに利用できるユーザプロファイル情報に基づき、外国のサーバファーム９−ｆ上に新たな仮想機械を生成することであってよい。その後、ユーザがその携帯装置を用いて、仮想機械と相互に作用することを開始し、または継続するとき、ユーザは、直接または外国のブローカーゲートウェイ１１−ｆを介して外国のサーバファーム９−ｆと相互に作用することを行う。このようにして、本システムは仮想機械を即座に利用することを可能にする。有利なことに、本システムは、上述した遅延と待ち時間の問題も防ぐ。
【００２６】
好適な実施形態では、位置情報は、また仮想化された環境の最適な準備を保証するために、ポリシールールと結合されている。たとえば、ポリシールールは、仮想化された環境が特定の地理的領域どうしの間（たとえばフランスと日本の間）でのみ移動できるように定めてもよい。したがって、もしユーザがロンドン内を移動中で、利用できる地方のサーバファーム９があったとしても、仮想化された環境は準備されない。あるいは、大きな建物内では、サービスプロバイダーは、各会議室および各ユーザに対して異なった構成を要求する多数のフロアと多数の仮想機械の環境を有してもよい。ユーザの位置（ユーザがつながるどのデスク、どの無線アクセスポイントなど）に応じて、仮想化された環境を、サービスポリシールールに基づいて、ユーザ接続のセットアップの前に自動的にセットアップすることができる。したがって、中央のサーバファームを使用しないで、仮想化された環境を、全てのユーザの位置を予想しながらネットワーク負荷を分散させるためにセットアップし、または移し換えることができる。このようにして、多数のユーザが同じ部屋にいた場合、かれらの仮想機械を、それらが全て同じサーバ上でセットアップされた場合に起動時に発生するかもしれない予想される障害を避けるために、別々のサーバ上に前もってセットアップすることができる。
【００２７】
図１は単一の携帯ユーザ装置３と自国および外国のサーバファーム９を示しているが、実際には、図２に示すように多数のユーザ装置３と多数のサーバファーム９と多数のブローカーゲートウェイ１１とが存在することがある。図２に示すように、携帯装置３は、（インターネットと携帯電話ネットワークの少なくとも一方の部品を含んでもよい）ネットワーク２１を通じてブローカーゲートウェイ１１とサーバファーム９と通信する。ブローカーゲートウェイ１１は、携帯装置３の位置を求めるためと、これに基づいてサーバファーム９の配下で動作する仮想機械の必要な構成を予測するために携帯装置３またはネットワーク２１のいずれかと通信する。サーバファーム９と携帯装置３は、次に互いに通信して適宜構成された仮想化されたアプリケーションを携帯装置３上に生成する。
（サーバファーム）
サーバファーム９は基本的にコンピュータサーバの集まりである。図３は、サーバファーム９の一部を構成する、複数のサーバ３１のうちの１つのサーバの主要構成部品を示している。図示のように、サーバ３１は、該サーバがネットワーク２１を介してブローカーゲートウェイ１１または携帯装置３と通信するのを可能にするネットワーク通信回路３３を含んでいる。サーバ３１は、メモリ３７に格納されているソフトウェアにしたがってネットワーク通信回路３３を用いて前記通信を制御する１つまたは複数のプロセッサ３５を含んでいる。図示のように、メモリ３７内のソフトウェアは、ブローカーゲートウェイ１１および携帯装置３との通信を制御する通信制御モジュールを含んでいる。該ソフトウェアは複数の仮想機械４３−１から４３−Ｎを定めるソフトウェアを含んでいる。これらの仮想機械４３は、ブローカーゲートウェイ１１から受信したＶＭ構成情報４３に基づいて構成される。サーバ３１がブローカーゲートウェイ１１から新しい構成情報を受信すると、サーバ３１は、仮想機械４３を、携帯装置３が仮想機械４３との接続を要求したときに、すぐに使用できるように構成する。
（ブローカーゲートウェイ）
ブローカーゲートウェイは基本的に（サーバ、ルータ、スイッチのような）ネットワークノードである。図４は、この実施形態において使用される複数のブローカーゲートウェイ１１の１つのゲートウェイの主要構成部品をより詳しく示している。図示のように、ブローカーゲートウェイ１１は、ブローカーゲートウェイ１１が携帯装置３およびサーバファーム９と通信するのを可能にするネットワーク通信回路５３を含んでいる。ブローカーゲートウェイ１１は、またメモリ５７に格納されているソフトウェアにしたがってネットワーク通信回路５３を用いて前記通信を制御する１つまたは複数のプロセッサ５５を含んでいる。図示のように、メモリ５７内のソフトウェアは、ブローカーゲートウェイ１１および携帯装置３との通信を制御する通信制御モジュール５９を含んでいる。該ソフトウェアは携帯装置３の位置情報を得るシンクライアント位置モジュール６１を含んでいる。この位置情報は、携帯装置３の現在位置が与えられると、携帯装置３によって使用されるブローカーゲートウェイ１１とサーバファーム９を選択するために、ゲートウェイ決定モジュール６３によって使用される。この決定は、サーバファームネットワークデータ６５内で保持される、異なったサーバファーム９の地理的位置に基づいて、ゲートウェイ決定モジュール６３によってなされる。ブローカーゲートウェイ１１は、また各ユーザ装置のユーザプロファイルデータ６７を格納し、ゲートウェイ装置１１は、ユーザのユーザプロファイルデータを、選択されたサーバに、選択されたユーザ携帯装置上に仮想機械を構築するために送る。
（携帯装置）
ユーザ携帯装置３は、手持ち式のパーソナルディジタルアシスタント（ＰＤＡ）、電話機、ラップトップコンピュータなどである。図５は、この実施形態において使用される携帯装置３の主要構成部品を示している。図５でわかるように、携帯装置３は、携帯電話ネットワークまたはコンピュータネットワークを介してブローカーゲートウェイ１１またはサーバファーム９に信号を送信し、かつこれらから信号を受信するように動作可能な送受信機回路７１を含んでいる。携帯装置３は、携帯装置３の動作を制御し、かつ送受信機回路７１、いくつかの出力装置７５、およびいくつかの入力装置７７に接続されている１つまた複数のプロセッサ７３を含んでいる。出力装置７５は、ラウドスピーカーを有するオーディオ出力装置７９と、ディスプレイ出力装置８１と、（バイブレータ装置やプリンタのような）他の出力装置８３とを含んでよい。入力装置７７は、オーディオ入力装置８５（マイクロフォン）と、タッチパネル用のディスプレイセンサ８７と、携帯装置３の現在の地理的位置用の位置データを出力するＧＰＳモジュール８９とを含んでいる。
【００２８】
当該または各プロセッサ７３は、メモリ９１に格納されているソフトウェア命令にしたがって動作する。図示のように、これらのソフトウェア命令は、特に、オペッレーティングシステム９３と、シンクライアントモジュール７と、通信制御モジュール９５とを含んでいる。メモリ９１は、また携帯装置で使用する、プログラムされた仮想機械を定める仮想機械（ＶＭ）パラメータ９７を格納している。ＶＭパラメータ９７は、どのような所与の時間にも仮想機械４３の上位装置として働くサーバファーム９のネットワークアドレスを（少なくとも一時的に）含んでいる。このネットワークアドレスは、自国のブローカーゲートウェイ１１が携帯装置３の位置を取得するのに応答して自国のブローカーゲートウェイ１１によって携帯装置３に与えられる。本実施形態では、携帯装置３は、ＧＰＳモジュール８９から入力されたＧＰＳデータを送ることでこの位置データを自国のゲートウェイ１１に与える。しかしながら、当業者であれば理解できるが、位置データを自国のゲートウェイ１１−ｈへ与えるには、他の技術を使用することもできる。たとえば、携帯装置３がアクセスポイントを介してネットワークと接続する場合、アクセスポイント（すなわち基地局）またはアクセスポイントが位置するサブネットワークのネットワークアドレスを、自国のブローカーゲートウェイ１１−ｈへ与える位置情報として使用できる。自国のブローカーゲートウェイ１１は、携帯装置が接続されている携帯電話ネットワークから位置情報を取得してもよい。この位置情報は、携帯装置３が現在登録されている国コード、携帯電話ネットワークコード、または携帯電話ネットワークのセルＩＤであってよい。
（動作）
次に、本実施形態の動作を、ユーザが新しいトレーニングセッションに参加することを希望し、ウェブサイトを介して該トレーニングセッションに登録する例のシナリオについて図６から図８を参照して説明する。図６は、該シナリオで用いられる主要構成部品を示すブロック図、図７は、図６に示された装置どうし間で行われる通信を示す信号流れ図、図８は内部ネットワークを通じて行われる通信と、外部ネットワークを通じた通信を必要とする通信とを示している。
【００２９】
トレーニングセッションに登録するとき、ユーザは、複雑さの程度、その知識のレベル、その興味、予想されるエクササイズの種類、トレーニングの種類などのような詳細を記入する。ユーザは自分の携帯装置３を用いてこの登録動作を行う。登録時、ユーザには、ＶＭパラメータデータ９７に格納されている参加識別子が与えられる。ユーザによって与えられた登録情報は、自国のブローカーゲートウェイ１１−ｈで格納されているユーザプロファイルデータ６７に、ユーザの参加識別子と関連付けて格納される。ある時間が経過した後（たとえば１日または１週間後）、ユーザは会議室に到着し、そこでユーザは、その携帯装置３と、ローカルなコンピュータサブネットワーク１０３のアクセスポイント１０１との接続を確立する。この接続は、（ＮＦＣのような）短距離の無線通信技術を用いて無線接続パラメータが交換できるように、たとえば、ユーザがその携帯装置をアクセスポイント１０１に接触させることで確立されてもよい。多数の携帯装置３が同じアクセスポイントに接続することが可能であり、（多分、様々な部屋、様々な建物、または様々な国などの）様々なユーザが異なったアクセスポイント１０１を介して接続することができる。これは図６に示されており、図６では、部屋１内のアクセスポイント１０１−１に接続される携帯装置３−１及び３−２（ユーザＡとＢに対応）と、部屋２内のアクセスポイント１０１−２に接続される携帯装置３−３及び３−４（ユーザＣとＤに対応）の、４台の携帯装置３−１〜３−４を示している。
【００３０】
携帯装置３がアクセスポイント１０１に一旦接続すると、携帯装置３内のシンクライアントモジュール７は、広域ネットワーク１０５（たとえば、インターネット）を介して、自国のブローカーゲートウェイ１１−ｈ（そのアドレスは携帯装置３のメモリ９１に格納されている）に接続し、ユーザの参加識別子を出力し、それによって、ユーザが、アクセスポイントが位置する会議室に到着したことを自国のブローカーゲートウェイ１１−ｈに通知する。自国のブローカーゲートウェイ１１−ｈは複数の仮想機械４３の割り当てる処理を担っている。ユーザがインターネットにアクセスしている間、自国のブローカーゲートウェイ１１−ｈは（携帯装置３から送信された位置データからまたは携帯装置３が接続された特定のサブネットワーク１０３またはアクセスポイント１０１のネットワークアドレスから）、ユーザ装置の位置を取得し、該ユーザの仮想機械４３を、ユーザプロファイルデータ６７に格納されているユーザプロファイルデータにしたがって準備する。
【００３１】
自国のブローカーゲートウェイ１１−ｈ内のゲートウェイ決定モジュール６３は、次にユーザにトレーニングセッションを提供する仮想機械４３の上位装置として働くサーバファーム９を、取得した位置情報を用いて識別する。図６に示されているように、携帯装置Ａを例として考えると、携帯装置Ａは会議室１内に位置するアクセスポイント１０１−１に接続し、そのため自国のブローカーゲートウェイ１１は、仮想機械４３の上位装置として働く最適なサーバファーム９が外国のサーバファーム９−ｆ１であると判定する。自国のブローカーゲートウェイ１１−ｈは、次に準備された仮想機械のメッセージを、識別されたサーバファーム９−ｆ１を管理する外国のブローカーゲートウェイ１１−ｆ１に送る。このメッセージでは、ユーザを識別し、登録の際にユーザによってもたらされた情報に関するユーザプロファイルデータを出力する。外国のブローカーゲートウェイ１１−ｆ１は、この要求を受け取り、ユーザによって定められた登録の詳細にしたがって、外国のサーバファーム９−ｆ１上に適切な仮想機械４３を準備する。仮想機械４３が一旦準備されると、外国のブローカーゲートウェイ１１−ｆ１は実行命令を外国のサーバファーム９−ｆ１に送る。外国のサーバファーム９−ｆ１は、これに応答して、仮想機械４３を起動し、それの準備ができたとき外国のブローカーゲートウェイに知らせる。準備信号を受信するのに応答して、外国のブローカーゲートウェイ１１−ｆ１は、ユーザのための仮想機械４３の上位装置として働くサーバの詳細を自国のブローカーゲートウェイ９−ｈに送る。これによって、ユーザに近いサーバファーム９上に仮想機械４３を構築する準備段階が終了する。
【００３２】
全ての参加者が部屋に集合し、無線ネットワークに接続すると、トレーニングセッションが開始できる。このとき、各携帯装置３はトレーニングをもたらすそれらの仮想機械４３への接続を開始する。本実施形態では、携帯装置は、自国のブローカーゲートウェイ９−ｈに、仮想機械のパラメータに対する要求を送ることによって、これを行う。これに応答して、自国のブローカーゲートウェイ１１−ｈは、外国の各ブローカーゲートウェイ１１−ｆによって与えられたパラメータを用いて該要求に応答する。該応答には、ユーザの仮想機械の上位装置として働く外国のサーバファーム９−ｆのネットワークアドレス（または仮想機械４３それら自身のネットワークアドレス）を含む。携帯装置３は、次に受信したＶＭパラメータを用いて、対応する外国のサーバファーム９−ｆに、それらの仮想機械４３との接続を確立する要求を送る。
【００３３】
このようにして、各ユーザの仮想機械４３は、既に準備され、構成され（アプリケーション、プレゼンテーション、トレーニングコース、エクササイズなど）、ユーザのためにパーソナライズされる（複雑さのレベル、トレーニングの種類など）。この例では、仮想化された環境の準備は、ユーザが部屋に入り、アクセスポイントに接続したときにのみ行われる。このことは、たとえば、ユーザが何らかの理由で会合に出席できない場合に、サーバファーム９内のサーバの余分なリソースと電力消費を防止する。
【００３４】
図８からわかるように、上記したシステムは、仮想機械４３をユーザの携帯装置の近傍でセットアップするのを可能にする。この例では、ローカルネットワークの一部を構成するサーバファーム９が仮想機械４３の上位装置として働くことができる。これは、（破線で表される）外部ネットワークを通じてのトラヒックを減少させ、仮想機械４３に、より早く、かつより安全に接続する。
【００３５】
上術した予め定められたポリシールールに加えて、位置情報が仮想化された環境の、より最適化された準備を行うために使用される。自国のブローカーゲートウェイ１１−ｈがそのようなメカニズムをどのようにして実行するかを示す流れ図が図９に示されている。図示のように、ステップｓ１において、自国のブローカーゲートウェイ９−ｈは、ユーザの携帯装置３によって与えられた参加識別子を用いて、（登録時にユーザから得られた）ユーザプロファイル情報を検索する。次に、ステップｓ３において、自国のブローカーゲートウェイ１１−ｈはユーザの携帯装置３の位置情報を検索する。ステップｓ５において、自国のブローカー装置１１−ｈは、求めた位置が新たなサーバ位置を必要とするかどうか判定する。新たなサーバ位置が必要なければ、本方法は終了する。新たなサーバ位置が必要であれば、ステップｓ７において、自国のブローカーゲートウェイ１１−ｈは、そのポリシールールを調べ、仮想化された環境を新たなサーバ位置に準備できるか否か判定する。該判定が否であれば、本方法は終了する。そうでなければ、自国のブローカーゲートウェイ１１−ｈは、新たな仮想化された環境を構築するか、または既存の１つに移し替えることで、ユーザプロファイルに基づいて、仮想化された環境を新たな位置に準備する。
（他の実施形態）
上述した実施形態では、自国のブローカーゲートウェイ１１−ｈが、携帯装置３の位置情報を取得し、携帯装置３の近くに位置するサーバファーム９上にユーザの仮想機械を準備した。この上述した実施形態では、自国のブローカーゲートウェイ１１−ｈが、ユーザの仮想機械のＶＭパラメータを、ユーザがその仮想機械の使用開始を望み、ユーザが該パラメータを要求したときに発した。ＶＭパラメータが、それが要求される前に携帯装置に与えられる第２の実施形態を次に説明する。この場合、携帯装置３は、ユーザがその仮想機械に接続することを望むと、直ちに正しいＶＭに、直接、接続できる。この方法は、ユーザの携帯装置が、その仮想機械に接続するのに必要な初期時間を早める。この実施形態の動作方法を、図１０から１２を参照して説明する。
【００３６】
特に、図１０は、本実施形態における、様々な装置どうし間の通信を示す信号流れ図である。図示のように、本実施形態では、自国のブローカーゲートウェイ１１−ｈは、携帯装置３が自国のブローカーゲートウェイ１１−ｈに接続するのを待つことなく、携帯装置３の位置情報を取得できるように、携帯装置３の位置を能動的に監視する。自国のブローカーゲートウェイ１１−ｈは、携帯装置３が現在接続されているアクセスネットワークまたは携帯電話ネットワークを識別する情報リクエストをネットワーク２１に送信することによって、これを行う。この位置情報に基づいて、自国のブローカーゲートウェイ１１−ｈは、適切な外国のゲートウェイを（第１の実施形態と同様にして）決定し、ユーザのために仮想機械を準備する要求を外国のゲートウェイに送る。外国のゲートウェイ１１−ｆと外国のサーバファーム９−ｆは、仮想機械をセットアップし、それからユーザの仮想機械がアクセスするサーバパラメータを自国のブローカーゲートウェイ１１−ｈに送る。本実施形態の自国のブローカーゲートウェイ１１−ｈは、これらのパラメータを受信すると、携帯装置に、該携帯装置がその仮想機械のために既に有しているＶＭパラメータを更新させる更新メッセージを送る。更新メッセージは、ＳＭＳ  ＰｕｓｈまたはＯＭＡ  Ｄｅｖｉｃｅ  Ｍａｎａｇｅｍｅｎｔ方法のようなＯｖｅｒ  Ｔｈｅ  Ａｉｒ技術を用いて送ることができる。このようにして、自国のブローカーゲートウェイは、携帯装置上に格納されているＶＭパラメータを、自国のブローカーゲートウェイ１１−ｈに格納されているＶＭパラメータと同期した状態に保つことができる。
【００３７】
その後、ユーザが、その仮想機械へのアクセスを要求する準備ができると、携帯装置３は、格納されたＶＭパラメータ９７を用いて、その自国のブローカーゲートウェイ１１−ｈに接続することなく、外国のサーバファーム９−ｆ上のその仮想機械に対して接続を直接要求することができる。
【００３８】
図１１は、ユーザの仮想機械が実行される外国のサーバファーム９−ｆを選択するときに自国のブローカーゲートウェイがポリシールールを実行することができる方法を示す流れ図である。図１１に示されているように、新たなＶＭパラメータが取得された後、ステップｓ１１において、自国のブローカーゲートウェイ１１−ｈがＶＭパラメータを携帯装置に送り、ＶＭパラメータがステップｓ１３において携帯装置２によって受信され、ステップｓ１５において携帯装置内に格納されることを除いて、処理は第１の実施形態におけるのと同じである。
【００３９】
図１２は、携帯装置３がこの実施形態で仮想機械に接続するように動作する方法を示す流れ図である。図示のように、ステップｓ２１において、ユーザは、その携帯装置を動作させて、その遠隔のアプリケーションとの接続を（たとえば、携帯装置のユーザインタフェース上のボタンを押すことで）要求する。これに応答して、ステップｓ２３において、通信制御モジュール９５は、格納されているＶＭパラメータ９７を、メモリまたはそのようなパラメータ情報を保持する選択マネージャから検索しようとする。該パラメータが存在すると、ステップｓ２５において、通信制御モジュール９５は、該パラメータを用いて仮想機械と直接接続しようとする。接続が失敗する、または携帯装置が格納されているＶＭパラメータを有していないと、ステップｓ２７において、通信制御モジュール９５は、第１の実施形態におけるのと同じように、該パラメータを自国のブローカーゲートウェイ１１−ｈに要求する。
（修正および代替案）
幾つかの詳細な実施形態を前述した。当業者が理解するように、いくつかの修正および代替案を上記の実施形態に、そこに具体化された発明によってなお利益を得つつ行うことができる。
【００４０】
上記の各実施形態では、携帯装置３、ブローカーゲートウェイ１１およびサーバファーム９は各々ネットワーク通信回路を含んでいる。通常、この回路は専用のハードウェア回路によって構成される。しかしながら、いくつかの実施形態では、該回路の部品は、ソフトウェアにしたがって実行することで対応するプロセッサによって実現してもよい。
【００４１】
上記の各実施形態では、いくつかのソフトウェアモジュールが記載された。当業者が理解するように、該ソフトウェアは、コンパイルされた形態またはコンパイルされていない形態で提供されてもよく、携帯装置３、ブローカーゲートウェイ１１、サーバファーム９に、コンピュータネットワークを通じて信号として、または記録媒体で供給されてもよい。さらに、このソフトウェアの一部または全てによって実行される機能は、１つまたは複数の専用ハードウェア回路を用いて実行されてもよい。しかしながら、ソフトウェアモジュールの使用は、それが、装置の機能を更新するための装置更新を容易にするため好ましい。１つまたは複数のモジュールの機能は、単一のモジュールに統合されていてもよく、オペレーティングシステムに組み込まれていてもよい。
【００４２】
携帯装置３、ブローカーゲートウェイ１１、サーバファーム９の動作を、明確化のために流れ図（図７と図９）を参照して順番に説明した。しかしながら、ステップの多くは、順番に実行される必要はなく、他のステップと平行に実行されてもよい。
【００４３】
携帯装置３とブローカーゲートウェイ１１とサーバファーム９間の通信は、何らかの適切な無線または有線の通信プロトコルと、関連する技術を用いてよいことが理解されるであろう。たとえば、それぞれのネットワーク通信部分は、無線通信の場合にはＢｌｕｅｔｏｏｔｈ（登録商標）とＷｉＦｉの少なくとも一方のプロトコル、赤外線通信の場合はＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）プロトコルと有線通信の場合のユニバーサルシリアルバス（ＵＳＢ）プロトコルの少なくとも一方を用いて通信用に構成されてもよい。携帯装置３、ブローカーゲートウェイ１１、サーバファーム９は、長距離の仮想化を可能にするために、携帯電話ネットワークを介して（たとえば、基地局、無線ネットワークコントローラ、コアネットワークなどを介して）長距離通信用に構成されてもよい。
【００４４】
携帯装置３が携帯電話（たとえばスマートフォン）として記載されているが、携帯装置３は、何らかの適切な装置、たとえばパーソナルディジタルアシスタント（ＰＤＡ）、パームトップコンピュータ、またはノートブックコンピュータであってもよいことが理解される。
【００４５】
様々な他の変形が当業者にとって明らかであり、ここではさらに詳しくは記載しない。
【図１】
2013517541.tif 000003
【図２】
2013517541.tif 000004
【図３】
2013517541.tif 000005
【図４】
2013517541.tif 000006
【図５】
2013517541.tif 000007
【図６】
2013517541.tif 000008
【図７】
2013517541.tif 000009
【図８】
2013517541.tif 000010
【図９】
2013517541.tif 000011
【図１０】
2013517541.tif 000012
【図１１】
2013517541.tif 000013
【図１２】
2013517541.tif 000014
【国際調査報告】
2013517541.tif 000015