(57)【特許請求の範囲】
【請求項１】
それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるサービス提供システムを構成するためのユーザ収容装置であって、
前記サービス提供システムは、各ユーザにつき、前記複数のユーザ収容装置のいずれかにおいて、アプリケーションプログラムの該ユーザ用のコピーを動作させることによって該ユーザにサービスを提供するものであり、
前記中央装置は、各ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を管理しており、
前記ユーザ収容装置は、
接続された端末のユーザから利用要求を受け付ける手段と、
前記第一の情報に基づいて定められる前記利用要求を受け付けたユーザが前回の利用時に対応付けられていたユーザ収容装置から、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための前記ユーザ用の第二の情報を、取得する手段と、
前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、
自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段と、を備えることを特徴とするユーザ収容装置。
【請求項２】
取得した前記第二の情報を、前記端末との通信が終了した後に保持する手段と、
前記第一の情報を、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置が自装置であることを定めるように、前記中央装置に書き換えさせる手段と、
他のユーザ収容装置からの要求に応じて、自装置に保持されている前記第二の情報を、該他のユーザ収容装置に取得させる手段と、をさらに備えることを特徴とする請求項１記載のユーザ収容装置。
【請求項３】
前記第二の情報を取得する手段は、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置から自装置へ、前記ユーザ用のポータルプログラムを移動させる手段を含み、
前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、自装置に移動させた前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該指定されたアプリケーションプログラムにつき、取得した前記第二の情報を参照させる手段を含むものであることを特徴とする請求項１記載のユーザ収容装置。
【請求項４】
自装置に移動させて動作させた前記ポータルプログラムを、前記端末との通信が終了した後に保持する手段と、
前記第一の情報を、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置が自装置であることを定めるように、前記中央装置に書き換えさせる手段と、
他のユーザ収容装置からの要求に応じて、自装置に保持されている前記ポータルプログラムを、該他のユーザ収容装置へ移動させる手段と、をさらに備えることを特徴とする請求項３記載のユーザ収容装置。
【請求項５】
自装置に移動させて動作させた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記端末との通信が終了した後に保持する手段と、
前記第二の情報を、前記アプリケーションプログラムの前記ユーザ用のコピーが自装置に保持されていることを特定するように書き換える手段と、
他のユーザ収容装置からの要求に応じて、前記アプリケーションプログラムの前記ユーザ用のコピーを、自装置から当該他のユーザ収容装置へ移動させる手段と、をさらに備えることを特徴とする請求項１〜４のいずれか１項記載のユーザ収容装置。
【請求項６】
所定期間内に前記他のユーザ収容装置からの要求がない場合又は自装置での保持に支障が生じた場合に、保持していた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記中央装置へ移動させる手段をさらに備えることを特徴とする請求項５記載のユーザ収容装置。
【請求項７】
いずれのユーザが前回の利用時に自装置によってサービス提供されていたかを示す情報を記憶する手段をさらに備え、
前記第二の情報を取得する手段は、前記利用要求を受け付けたユーザが前回の利用時に自装置に対応付けられていたことを前記記憶が示す場合は、自装置が前記第一の情報に基づいて定められるユーザ収容装置であると決定し、対応付けられていないことを前記記憶が示す場合は、前記中央装置と通信して前記第一の情報を参照させ、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置を探索するものであることを特徴とする請求項１〜６のいずれか１項記載のユーザ収容装置。
【請求項８】
前記第二の情報が、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、当該アプリケーションプログラムの前記ユーザ用のコピーを新たに作成可能とする手段と、
前記ユーザ用のコピーが新たに作成されたアプリケーションプログラムにつき、前記ユーザ用のコピーが自装置に保持されていることを特定するように、前記第二の情報に追記する手段と、をさらに備えることを特徴とする請求項１〜７のいずれか１項記載のユーザ収容装置。
【請求項９】
前記第一の情報が、前記利用要求を受け付けたユーザ用のポータルプログラムが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、前記ユーザ用のポータルプログラムを新たに作成可能とする手段をさらに備えることを特徴とする請求項３又は４記載のユーザ収容装置。
【請求項１０】
前記第二の情報は、アプリケーションプログラムの前記ユーザ用のコピーの動作のために確保すべき資源を示す第三の情報を伴うものであり、
前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該移動に先立って、前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むことを特徴とする請求項１〜９のいずれか１項記載のユーザ収容装置。
【請求項１１】
アプリケーションプログラムの前記ユーザ用のコピーの動作のために確保すべき資源を示す第三の情報が、前記中央装置によって管理されており、
前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該移動に先立って、前記中央装置との通信を介して入手される前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むことを特徴とする請求項１〜９のいずれか１項記載のユーザ収容装置。
【請求項１２】
前記ユーザから指定されたアプリケーションプログラムの汎用のコピーを新たに作成する手段と、
新たに作成された前記アプリケーションプログラムの前記汎用のコピーを動作させ、前記端末と通信させる手段と、
前記汎用のコピーについては、前記端末との通信が終了した後に消滅させる手段と、をさらに備えることを特徴とする請求項１〜１１のいずれか１項記載のユーザ収容装置。
【請求項１３】
それぞれがユーザの端末に接続して該ユーザにサービスを提供する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるサービス提供システムであって、
前記中央装置は、各ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を管理する手段を備え、
各ユーザにつき、前記複数のユーザ収容装置のうちの一つが、アプリケーションプログラムの該ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための該ユーザ用の第二の情報を保持する手段を備え、
前記複数のユーザ収容装置のそれぞれは、
接続された端末のユーザから利用要求を受け付ける手段と、
前記第一の情報に基づいて定められる前記利用要求を受け付けたユーザが前回の利用時に対応付けられていたユーザ収容装置から、前記ユーザ用の第二の情報を取得する手段と、
前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、
自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段と、を備えることを特徴とするサービス提供システム。
【請求項１４】
各ユーザにつき、該ユーザ用の第二の情報を保持する手段を備える前記複数のユーザ収容装置のうちの一つが、該ユーザ用のポータルプログラムを保持する手段をさらに備え、
前記複数のユーザ収容装置のそれぞれにおいて、
前記第二の情報を取得する手段は、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置から自装置へ、前記ユーザ用のポータルプログラムを移動させる手段を含み、
前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、自装置に移動させた前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該指定されたアプリケーションプログラムにつき、取得した前記第二の情報を参照させる手段を含むものであることを特徴とする請求項１３記載のサービス提供システム。
【請求項１５】
前記ユーザが前回の利用時に対応付けられていたユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、前記第二の情報を保持するユーザ収容装置が変わるとともに、前記第一の情報が書き換えられ、
前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、該コピーが移動するとともに、前記第二の情報が書き換えられることを特徴とする請求項１３又は１４記載のサービス提供システム。
【請求項１６】
前記ユーザ用の第二の情報により、第一のアプリケーションプログラムの前記ユーザ用のコピーが前回動作したところの第一のユーザ収容装置に保持されており、第二のアプリケーションプログラムの前記ユーザ用のコピーが前回動作したところの第二のユーザ収容装置に保持されていることが示されることを特徴とする請求項１３〜１５のいずれか１項記載のサービス提供システム。
【請求項１７】
それぞれのアプリケーションプログラムの前記ユーザ用のコピーは、当該アプリケーションプログラムのデータ及び状態の情報を含めて、前記複数のユーザ収容装置のいずれかに保持されるものであり、
前記ユーザが指定したアプリケーションプログラムにより提供されたサービスに対して課金するための情報は、当該アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置から前記中央装置へ集められることを特徴とする請求項１３〜１６のいずれか１項記載のサービス提供システム。
【請求項１８】
前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置は、前記ユーザの端末に接続していない間も、該コピーを動作させ続ける手段を備え、
前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該コピーを、動作させ続けたまま移動させるものであることを特徴とする請求項１３〜１７のいいずれか１項記載のサービス提供システム。
【請求項１９】
前記複数のユーザ収容装置のそれぞれに、仮想化ミドルウェアがインストールされており、各アプリケーションプログラムの前記ユーザ用の同一のコピーが、いずれの装置でも動作可能であることを特徴とする請求項１３〜１８のいずれか１項記載のサービス提供システム。
【請求項２０】
前記複数のユーザ収容装置のそれぞれは、前記中央装置を経由せずに自装置以外のユーザ収容装置に接続する手段をさらに備えることを特徴とする請求項１３〜１９のいずれか１項記載のサービス提供システム。
【請求項２１】
それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムにおいて、前記複数のユーザ収容装置のいずれかによってユーザにサービスを提供する方法であって、
前記中央装置に、各ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を配置し、
各ユーザにつき、前記複数のユーザ収容装置のうちの一つが、アプリケーションプログラムの該ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための該ユーザ用の第二の情報を保持するように構成し、
前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記第一の情報に基づいて定められる前記ユーザが前回の利用時に対応付けられていたユーザ収容装置から、前記ユーザ用の第二の情報を取得させ、
前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させ、
前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させることを特徴とするサービス提供方法。
【請求項２２】
それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムに組み込まれ、該システムを、前記複数のユーザ収容装置のいずれかによってユーザにサービスを提供するシステムとして機能するようにさせるプログラムであって、
前記中央装置に、各ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を配置するためのプログラムコードと、
各ユーザにつき、前記複数のユーザ収容装置のうちの一つが、アプリケーションプログラムの該ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための該ユーザ用の第二の情報を保持するように構成するためのプログラムコードと、
前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記第一の情報に基づいて定められる前記ユーザが前回の利用時に対応付けられていたユーザ収容装置から、前記ユーザ用の第二の情報を取得させるためのプログラムコードと、
前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させるためのプログラムコードと、
前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させるためのプログラムコードと備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央装置（サーバ）と複数のロケーションにそれぞれ設置されたユーザ収容装置（サーバ）とを備えるサービス提供システムにおいて、ロケーション間を移動するユーザが、移動先のロケーションのユーザ収容装置に接続した端末から、システムの提供するサービスを受けられるようにするための技術に関する。
【背景技術】
【０００２】
昨今、分散された情報処理システムの運用管理コストを削減し、柔軟なリソースの活用を可能にする技術として、サーバやストレージの「仮想化」の技術が注目されている。さらに、各ユーザの端末にアプリケーションプログラムのコピーをインストールする方式では、端末の台数分のＯＳとアプリケーションプログラムを管理しなければならず、全ての端末を最新の環境に揃えることが難しく、データの管理をユーザに任せることによる情報漏洩の不安もあることから、最近は、「アプリケーションの仮想化」に期待が寄せられている（例えば非特許文献１を参照）。
【０００３】
アプリケーションの仮想化には、例えばシトリックス・システムズ社の「Citrix Presentation Server」のように、サーバ（データセンタ）で全てのアプリケーションプログラムを動作させ、ユーザ端末との間では、画面イメージとキーボード／マウス信号だけを暗号化して送受信する方式がある。この方式では、アプリケーションプログラムがサーバ上で実行されるため、プログラムやデータをシステム側で集中管理でき、また、ユーザ端末のＯＳやデバイスに依存しないから、最新の環境の導入にも柔軟に対応できる。さらに、リソースへのアクセス制御をユーザが誰かによって異なる設定にすることもでき、また、ネットワークで送受信される信号が実データでなく、端末にデータを残すこともないため、安全である。
【０００４】
また、以前から、ユーザにネットワークを介してアプリケーションの機能をサービスとして提供する事業者である「ＡＳＰ（アプリケーション・サービス・プロバイダ）」は、多数存在しており、ユーザは、例えばＪａｖａプログラムを実行可能なＷｅｂブラウザを端末に用意するだけで、ＡＳＰ側のサーバにアクセスしてアプリケーションサービスを受けることが可能であった。この方式でも、アプリケーションプログラムはＡＳＰ側で実行され集中管理されるため、アプリケーションのバージョンアップや仕様変更等が容易に行える（例えば非特許文献２を参照）。
【非特許文献１】「Citrix Presentation Server 運用管理ガイド」（ソフトバンク・クリエイティブ、２００５年１１月３０日発行）
【非特許文献２】「ＡＳＰ（アプリケーション・サービス・プロバイダ）のすべてがわかる本（図解Ｗｅｂコンピューティング）」（日本能率協会マネジメントセンター、２０００年１０月発行）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したアプリケーションサービス技術によれば、使用すべきアプリケーションプログラムは、必ず、サービス提供元のサーバ（データセンタ）という決まった場所にあるため、ユーザは、いつでも、どこへ移動しても、そこにある端末（移動前の端末と異なる端末で構わない）からネットワーク経由で、同一のアプリケーションプログラム及び保存しておいたデータにより、サービスを受けることができる。
【０００６】
しかしながら、上述した技術においては、ユーザは、所望のサービスを利用するために、サービス毎に異なるデータセンタへネットワークを介してアクセスしなければならない。また、あるサービスを利用するときは、どこからネットワークに接続しても、一つしかない同じデータセンタにアクセスしなければならないから、そのデータセンタから遠い場所でネットワークに接続した場合には、遅延の影響が大きくなり、サーバ／クライアント間での実時間処理が厳しく求められるアプリケーション（例えば、オンライン対戦ゲームやリアルタイムアンケートのようなインタラクティブあるいは時系での状況変化が激しいアプリケーション等）の場合、実質的にはサービスが受けられないということになってしまう。
【０００７】
つまり、上述した技術は、アプリケーションが実行される環境（サーバ）とサービスが利用される環境（ユーザ端末）とを切り離すものであるため、ユーザが移動先でも同一のサービスを利用できるという便利さの一方で、サーバとユーザ端末との間の距離が遠くなると不都合が生じることになる。
【０００８】
なお、プロバイダの一箇所のサーバにアクセスが集中するのを避けるために、地理的ないしバックボーン的に分散させた多くのサーバでミラーリングすることにより、コンテンツを効率的に配信する技術として、ＣＤＮ（コンテンツ配信ネットワーク）がある。しかし、この技術は、単に、コンテンツのコピーをユーザが利用する場所の近くに置くことができるだけであり、そのような配信ができるのは、ビデオ・ストリーム等のデータが対象の場合に限られている。
【０００９】
対象がアプリケーションプログラムの場合、上述した遅延の問題を解消するには、アプリケーションが実行される環境そのものが、ユーザが利用する場所の近くへ『移動』していく必要がある。そして、アプリケーションが実行される環境には、それぞれのユーザ個人の利用の仕方に依存するアプリケーションの『状態』が含まれる。
【００１０】
従来の技術では、このようなユーザ個別の状態の情報は、ユーザがアプリケーションサーバにアクセスしてサービスを利用している間しか保持されず、一旦利用を終了して次にアクセスしても、データとして特別に保存されたもの以外は、状態を復元することができない。ＡＳＰに、それぞれのユーザ用のＷｅｂページがポータルとして用意される場合でも、そこに、ユーザ個別の状態（例えば、タスクバー、ショートカット、ワークスペースの利用方法、途中まで処理されている「状態」を反映したシミュレーションのようなアプリケーション等）までが復元されて準備されるわけではない。
【００１１】
ましてや、そのようなユーザ個別の状態まで含めて、アプリケーションが実行される環境を、ユーザがサービスを利用する場所の近くへ『移動』させることは、従来、全く考えられていなかった。
【００１２】
本発明は、以上のような事情を考慮し、複数のサーバを分散配置したサービス提供システムにおいて、アプリケーションサービスを提供するようにし、ユーザがいずれのロケーションに移動しても、そこで接続する端末が移動前と異なる端末であっても、システムの提供する同一のサービスを利用できるようにしながら、且つ、ユーザ端末と実行中のアプリケーションとの間で生じる遅延を少なくし、どのような種類のサービスでも支障なく提供できるようにすることを、目的とする。
【００１３】
本発明はまた、アプリケーションが実行される環境であってそれぞれのユーザ個人用に準備されたものが、ユーザの移動先のロケーションへ『移動』してくるような機構を実現することを、目的とする。
【課題を解決するための手段】
【００１４】
本発明に係るサービス提供システムは、それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備え、前記複数のユーザ収容装置のいずれかにおいて、アプリケーションプログラムの前記ユーザ用のコピーを動作させ前記ユーザの端末と通信させることによって前記ユーザにサービスを提供し、前記ユーザの端末との通信が終了した後に当該アプリケーションプログラムの前記ユーザ用のコピーを保持するように構成される。
【００１５】
上記サービス提供システムを構成する本発明に係るユーザ収容装置は、接続された端末のユーザから利用要求を受け付ける手段と、前記利用要求を受け付けたユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを、前記中央装置で管理されている第一の情報に基づいて定める手段と、前記ユーザが現在対応付けられているユーザ収容装置を利用して、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を、入手する手段と、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えるように構成することができる。
【００１６】
この構成によれば、ユーザは、あるロケーションのユーザ収容装置に接続した端末を介して、指定したアプリケーションプログラムの自分用のコピーによりサービスを提供された後、別のロケーションに移動し、そこのユーザ収容装置に接続した端末（移動前に使っていた端末と異なる端末でもよい）を介して移動前と同じアプリケーションプログラムを指定すると、移動前と同じ自分用のコピーにより続きのサービスが提供される。つまり、ユーザは、別のロケーションへ移動しようが、端末が違うものになろうが、いつものサービスを受けることができる。しかも、このとき、指定されたアプリケーションプログラムの自分用のコピーは、移動前のロケーションのユーザ収容装置から、今いる（移動先の）ロケーションのユーザ収容装置まで、移動してくるから、ユーザ端末は、遅延がほとんどない状態で、実行中のアプリケーションプログラムと通信することができる。
【００１７】
上記ユーザ収容装置に、自装置に移動させて動作させた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記端末との通信が終了した後に保持する手段と、前記第二の情報を、前記アプリケーションプログラムの前記ユーザ用のコピーが自装置に保持されていることを特定するように書き換える手段と、他のユーザ収容装置からの要求に応じて、前記アプリケーションプログラムの前記ユーザ用のコピーを、自装置から当該他のユーザ収容装置へ移動させる手段と、をさらに備えるようにしてもよい。
【００１８】
これにより、ユーザがロケーション間を移動する度に、全てのアプリケーションプログラムのユーザ用コピーが一緒にユーザ収容装置間を移動するのではなく、そのアプリケーションを利用したサービスがユーザに提供された最後のロケーションに、ユーザ用コピーを留めておき、その後、同一のアプリケーションが指定されたときにはじめて、そのときユーザがいるロケーションへユーザ用コピーを移動させることができる。つまり、あるアプリケーションのユーザ用コピーは、そのアプリケーションが利用されていない間もしくはユーザ端末との通信が行われない間は、ユーザの近くにある必要がないため、ユーザが別のロケーションで別のアプリケーションを利用していても、そこへは移動されず、必要になったときにはじめて移動されるから、使わないユーザ用コピーを移動するためにネットワーク資源を浪費することがなく、資源の有効活用が図れる。
【００１９】
さらに、上記ユーザ収容装置に、所定期間内に前記他のユーザ収容装置からの要求がない場合又は自装置での保持に支障が生じた場合に、保持していた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記中央装置へ移動させる手段を備えるようにしてもよい。
【００２０】
これにより、ユーザからそのアプリケーションが利用されないために、別のロケーションに移動することなく、最後に利用されたロケーションのユーザ収容装置に留まり続けているユーザ用コピーについては、そのユーザ収容装置の資源を無駄に占拠させることを止め、中央装置に回収してもらうことが可能になる。
【００２１】
ここで、本発明の一つの態様においては、同一のユーザ用でも、あるアプリケーションのコピーはあるロケーションに、別のアプリケーションのコピーは別のロケーションに、分散して保持されることが予想される。そのユーザの各アプリケーションのコピーがどのロケーションのユーザ収容装置に保持されているかは、ユーザ別に第二の情報にまとめられている。
【００２２】
本発明の一つの実施形態では、上記第二の情報が、複数のユーザ収容装置のうちのいずれか一つに存在するようにする。この場合、あるユーザの第二の情報はあるロケーションに、別のユーザの第二の情報は別のロケーションに、分散して存在し得る。そうすると、あるユーザ用の所望のアプリケーションのコピーを自装置に移動させようと第二の情報を用いるユーザ収容装置は、まず、そのユーザの第二の情報がどのロケーションにあるかを知らなければならない。各ユーザの第二の情報がどのユーザ収容装置にあるかは、各ユーザが現在対応付けられているユーザ収容装置がどれかによって定まり、中央装置で管理される第一の情報によって示すことができる。
【００２３】
このような構成により、中央装置が、アプリケーションのユーザ用コピーをロケーション間で移動させるように集中制御するのではなく、各ユーザ収容装置が自律的に、複数のロケーションに分散した情報を辿って、必要なアプリケーションのユーザ用コピーを呼び寄せることが可能になる。
【００２４】
本発明の別の実施形態では、上記第二の情報が、中央装置に存在するようにする。この場合でも、上記第二の情報を入手するために、複数のユーザ収容装置のうち、そのユーザが現在対応付けられているユーザ収容装置を利用するとよい。例えば、各ユーザ用のポータルプログラムが、複数のユーザ収容装置のうちのいずれか一つに存在するようにし、あるユーザ用の所望のアプリケーションのコピーを自装置に移動させようとするユーザ収容装置は、それに先立って、そのユーザ用のポータルプログラムを、そのユーザが現在対応付けられているユーザ収容装置から自装置へ、移動させる。そして、移動させたポータルプログラムを介して、中央装置と通信することにより、上記第二の情報を入手する。各ユーザ用のポータルプログラムがどのユーザ収容装置にあるかは、中央装置で管理される第一の情報によって示すことができる。
【００２５】
このような構成によると、第一の情報だけでなく第二の情報も中央装置で管理されることになるが、それでも依然として、各ユーザ収容装置が自律的に、複数のロケーションに分散した情報を辿って、必要なアプリケーションのユーザ用コピーを呼び寄せることが可能である。
【００２６】
本発明の一態様に係るユーザ収容装置は、いずれのユーザが自装置に現在対応付けられているかを示す情報を記憶する手段をさらに備え、前記第一の情報に基づいて定める手段は、前記利用要求を受け付けたユーザが自装置に現在対応付けられていることを前記記憶が示す場合は、自装置が前記第一の情報に基づいて定められるユーザ収容装置であると決定し、対応付けられていないことを前記記憶が示す場合は、前記中央装置と通信して前記第一の情報を参照させ、前記ユーザが現在対応付けられているユーザ収容装置を探索するものであってもよい。
【００２７】
これにより、あるユーザ用の所望のアプリケーションのコピーを自装置に移動させようとするユーザ収容装置は、そのユーザの第二の情報及び／又はポータルプログラムが自装置にある場合には、中央装置に問い合わせなくても、そのユーザが現在どのユーザ収容装置に対応付けられているかを定めることができる。つまり、中央装置で管理される情報について、各ユーザ収容装置の自律性をさらに高めることが可能になる。
【００２８】
本発明の一態様に係るユーザ収容装置は、前記第二の情報が、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、当該アプリケーションプログラムの前記ユーザ用のコピーを新たに作成可能とする手段と、前記ユーザ用のコピーが新たに作成されたアプリケーションプログラムにつき、前記ユーザ用のコピーが自装置に保持されていることを特定するように、前記第二の情報に追記する手段と、をさらに備えてもよい。
【００２９】
これにより、サービス提供システム内に、そのユーザ用のアプリケーションのコピーが唯一つ存在し、その唯一のコピーが、ユーザのいるロケーションに移動してくるようにできるため、同一のアプリケーションの同一のユーザ用コピーが少しずつ違う状態でシステムのあちこちに存在するような事態を避けることができ、使い勝手を向上させながら、系全体の資源の有効活用を図ることが可能になる。
【００３０】
本発明の別の側面として、ユーザが、別のロケーションへ移動しようが、端末が違うものになろうが、いつもの『ポータル』が呼び出されて、そこから、各アプリケーションを利用したサービスを受けるための操作に入っていけるようにする構成がある。
【００３１】
例えば、前記ユーザが現在対応付けられているユーザ収容装置が、前記ユーザ用のポータルプログラム及び第二の情報を保持しているようにし、本発明の一つの実施形態に係るユーザ収容装置の前記第二の情報を入手する手段が、前記ユーザ用の前記ポータルプログラム及び第二の情報を、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記ユーザ用の前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該指定されたアプリケーションプログラムにつき、自装置に移動させた前記第二の情報を参照させる手段とを含むようにしてもよい。
【００３２】
これにより、ユーザ用のポータルプログラムは、ユーザがロケーション間を移動するのを追いかけて、ユーザ収容装置間を移動することが可能になり、ユーザ用のポータルプログラムと共に、各アプリケーションのコピーがどのロケーションに保持されているかを示す第二の情報も、移動することになる。ユーザは、移動した先々のロケーションで、いわば、自分用の仮想デスクトップ（環境が自分用に準備されているほか、各アプリケーションの自分用コピーがどのロケーションにあるかを示す情報も含んでいる）を動かし、その仮想デスクトップ上で、必要なアプリケーションの自分用コピーを呼び寄せて動作させることが可能になる。
【００３３】
別の例として、前記ユーザが現在対応付けられているユーザ収容装置が、前記ユーザ用のポータルプログラムを保持し、前記第二の情報は、前記中央装置によって管理されているようにし、本発明の別の実施形態に係るユーザ収容装置の前記第二の情報を入手する手段が、前記ユーザ用の前記ポータルプログラムを、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記ユーザ用の前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該ポータルプログラムと前記中央装置との通信を介して、前記指定されたアプリケーションプログラムにつき、前記第二の情報を参照させる手段とを含むようにしてもよい。
【００３４】
これによっても、ユーザがロケーション間を移動するのを追いかけて、そのユーザ用のポータルプログラムがユーザ収容装置間を移動することが可能になり、ユーザは、移動した先々のロケーションで、自分用の仮想デスクトップを用いて、必要なアプリケーションの自分用コピーを呼び寄せて動作させることができるようになる。
【００３５】
上述したような本発明の別の側面に係るユーザ収容装置は、自装置に移動させて動作させた前記ユーザ用の前記ポータルプログラムを、前記端末との通信が終了した後に保持する手段と、前記第一の情報を、前記ユーザが現在対応付けられているユーザ収容装置が自装置であることを定めるように、前記中央装置に書き換えさせる手段と、他のユーザ収容装置からの要求に応じて、前記ユーザ用の前記ポータルプログラムを、自装置から当該他のユーザ収容装置へ移動させる手段と、をさらに備えるようにしてもよい。
【００３６】
これにより、中央装置が、ユーザ用ポータルをロケーション間で移動させるように集中制御するのではなく、各ユーザ収容装置が自律的に、いずれかのロケーションにあるユーザ用ポータルを呼び寄せることができ、中央装置で管理される第一の情報についても、各ユーザ収容装置が自律的に、書き換えさせることができる。
【００３７】
上記ユーザ収容装置はまた、前記第一の情報が、前記利用要求を受け付けたユーザ用のポータルプログラムが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、前記ユーザ用のポータルプログラムを新たに作成可能とする手段と、前記ユーザ用のポータルプログラムの新たな作成に応じて、前記ユーザが現在対応付けられているユーザ収容装置が自装置であることを定めるように、前記中央装置に前記第一の情報を作成させる手段と、をさらに備えてもよい。
【００３８】
これにより、サービス提供システム内に、そのユーザ用のポータルプログラムが唯一つ存在し、その唯一のポータルプログラムが、ユーザのいるロケーションに移動してくるようにできるため、同一のユーザ用のポータルが少しずつ違う状態でシステムのあちこちに存在するような事態を避けることができ、使い勝手を向上させながら、系全体の資源の有効活用を図ることが可能になる。
【００３９】
上述した第二の情報は、アプリケーションプログラムの前記ユーザ用のコピーの動作のために確保すべき資源を示す第三の情報を伴うものとしてもよく、本発明の一態様に係るユーザ収容装置の前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該移動に先立って、前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むようにしてもよい。ここでの第三の情報は、第二の情報が複数のユーザ収容装置のうちのいずれか一つに存在する実施形態の場合は、その同じユーザ収容装置に保持され、第二の情報が中央装置に存在する実施形態の場合は、中央装置に保持されることになる。
【００４０】
上記第二の情報が複数のユーザ収容装置のうちのいずれか一つに存在する実施形態の場合、上記第三の情報を、第二の情報から切り離し、中央装置によって管理するようにしてもよい。その場合、本発明の一態様に係るユーザ収容装置は、前記第二の情報を入手する手段が、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、前記第二の情報を移動させる手段を含み、前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段が、該移動に先立って、前記中央装置との通信を介して入手される前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むようにしてもよい。
【００４１】
上述した第三の情報の利用により、あるアプリケーションのユーザ用のコピーを自装置に呼び寄せようとするユーザ収容装置は、予め、そのユーザ用のアプリケーションコピーが自装置で動作するために必要な資源を確保しておくことができ、呼び寄せたアプリケーションコピーを、即時に動作させることが可能になる。必要な資源は、同じアプリケーションでも、コピー毎に異なり、また、動作中に経時的に変化し得るため、各ユーザ用のコピーについて、呼び寄せる直前の動作状態に基づいて、必要な資源を割り出し、第三の情報として登録しておくとよい。
【００４２】
本発明の一態様に係るユーザ収容装置は、前記ユーザから指定されたアプリケーションの汎用のコピーを新たに作成する手段と、新たに作成された前記アプリケーションプログラムの前記汎用のコピーを動作させ、前記端末と通信させる手段と、前記汎用のコピーについては、前記端末との通信が終了した後に消滅させる手段と、をさらに備えてもよい。
【００４３】
これにより、アプリケーションの利用後もユーザ用コピーを保持してユーザ個別の状態を次回利用時に復元可能にする必要のないアプリケーションについては、わざわざ他のロケーションからユーザ用コピーを呼び寄せるまでもなく、そのロケーション内で汎用コピーを作成して利用させることが可能になる。
【００４４】
本発明の一つの側面に係るサービス提供システムは、それぞれがユーザの端末に接続して該ユーザにサービスを提供する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備え、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成され、前記中央装置は、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を管理する手段を備え、前記複数のユーザ収容装置のうち、前記ユーザが現在対応付けられているユーザ収容装置は、各アプリケーションプログラムの前記ユーザ用のコピーが、前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を保持する手段を備え、前記複数のユーザ収容装置のそれぞれは、接続された端末のユーザから利用要求を受け付ける手段と、前記利用要求を受け付けたユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定める手段と、前記第一の情報に基づいて定められるユーザ収容装置から、前記第二の情報を取得する手段と、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えるように構成することができる。
【００４５】
本発明の別の側面に係るサービス提供システムは、それぞれがユーザの端末に接続して該ユーザにサービスを提供する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備え、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成され、前記中央装置は、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を管理する手段を備え、前記複数のユーザ収容装置のうち、前記ユーザが現在対応付けられているユーザ収容装置は、前記ユーザ用のポータルプログラムを保持する手段を備え、前記複数のユーザ収容装置のそれぞれは、接続された端末のユーザから利用要求を受け付ける手段と、前記利用要求を受け付けたユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定める手段と、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、前記ユーザ用のポータルプログラムを移動させる手段と、自装置に移動させた前記ユーザ用のポータルプログラムを動作させ、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を参照させ、該第二の情報により特定されるユーザ収容装置から自装置へ、該アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段と、自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えるように構成することができる。
【００４６】
上記サービス提供システムにおいて、前記ユーザが現在対応付けられているユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、前記第二の情報及び／又は前記ポータルプログラムを保持するユーザ収容装置が変わるとともに、前記第一の情報が書き換えられ、前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、該コピーが移動するとともに、前記第二の情報が書き換えられるようにしてもよい。
【００４７】
これにより、同一のユーザ用のポータルやアプリケーションのコピーが少しずつ違う状態でシステムのあちこちに存在するような事態を避けることができ、使い勝手を向上させながら、系全体の資源の有効活用を図ることが可能になる。
【００４８】
上記サービス提供システムにおいて、それぞれのアプリケーションプログラムの前記ユーザ用のコピーが、当該アプリケーションプログラムのデータ及び状態の情報を含めて、前記複数のユーザ収容装置のいずれかに保持されるようにし、前記ユーザが指定したアプリケーションプログラムにより提供されたサービスに対して課金するための情報が、当該アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置から前記中央装置へ集められるようにしてもよい。
【００４９】
これにより、課金については中央装置での一元管理が可能になる一方で、アプリケーションプログラムの移動や実行については各ユーザ収容装置が自律的に制御することが可能になる。また、アプリケーションのユーザ用コピーが、アプリケーションの状態の情報をも含んでいることにより、例えば、ユーザがあるロケーションで利用していたアプリケーションがステップ１まで動作していたとして、ユーザが別のロケーションへ移動して同じアプリケーションを指定すると、そのロケーションのユーザ収容装置へ移動してきたアプリケーションのユーザ用コピーが、ステップ１の続きのステップ２から動作を開始することが可能である。
【００５０】
上記サービス提供システムにおいて、前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置は、前記ユーザの端末に接続していない間も、該コピーを動作させ続ける手段を備え、前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該コピーを、動作させ続けたまま移動させるものであってもよい。
【００５１】
これにより、例えば、ユーザがあるロケーションで利用していたアプリケーションがステップ１まで動作していたとして、ユーザがそのロケーションを離れた後もアプリケーションは稼働し続けてステップ１の続きのステップ２の動作を開始し、さらにユーザが別のロケーションへ移動して同じアプリケーションを指定すると、そのロケーションのユーザ収容装置へアプリケーションのユーザ用コピーが稼働しながら（ステップ２を実行しながら）移動してくるため、ユーザはステップ２のさらに先のステップ３が動作していることを確認できることになる。このようにユーザ端末と通信していない間も動作し続けるアプリケーションとして、例えば、キャラクター育成ゲームや、処理に時間のかかるレンダリングソフト等がある。
【００５２】
なお、ユーザ用のポータルプログラムについても、ユーザがいずれのロケーションにもいない間も動作させ続け、動作を継続させたまま、ユーザが次に行ったロケーションへ移動させるようにしてもよい。
【００５３】
上記サービス提供システムにおいて、前記複数のユーザ収容装置のそれぞれに、仮想化ミドルウェアがインストールされており、各アプリケーションプログラムの前記ユーザ用の同一のコピーが、いずれの装置でも動作可能であるようにしてもよい。
【００５４】
これにより、仮想化技術を用いて、ユーザ収容装置間でアプリケーションプログラムを移動できるようになる。
【００５５】
上記サービス提供システムにおいて、前記複数のユーザ収容装置のそれぞれは、前記中央装置を経由せずに自装置以外のユーザ収容装置に接続する手段をさらに備えてもよい。
【００５６】
これにより、ユーザ用のポータルやアプリケーションプログラムのコピーを移動させる制御を、さらに、中央装置に依存せずに、各ユーザ収容装置が自律的に行えるようになる。
【００５７】
上述した本発明に含まれる各発明はいずれも、サービス提供システムを構成する各ユーザ収容装置が行う方法の発明としても、サービス提供システム全体が行う方法の発明としても、成立するものである。また、これらの各装置あるいはシステムとしてコンピュータあるいはコンピュータ群を機能させるためのプログラムの発明や、このようなプログラムを記録した記録媒体の発明としても、勿論成立するものである。
【００５８】
例えば、本発明の一つの態様に係るサービス提供方法は、それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムにおいて、該ユーザにサービスを提供する方法であって、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成し、前記中央装置に、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を配置し、前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記ユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定めさせ、前記第一の情報に基づいて定められるユーザ収容装置を利用して、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を、入手させ、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させ、前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる。
【００５９】
また例えば、本発明の一つの態様に係るソフトウェアは、それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムに組み込まれることによって、該システムが該ユーザにサービスを提供するシステムとして機能させるものであって、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成するためのプログラムコードと、前記中央装置に、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を配置するためのプログラムコードと、前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記ユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定めさせ、前記第一の情報に基づいて定められるユーザ収容装置を利用して、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を、入手させるためのプログラムコードと、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させるためのプログラムコードと、前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させるためのプログラムコードと備える。
【発明の効果】
【００６０】
以上のとおりであるから、本発明によれば、複数のサーバを分散配置したサービス提供システムにおいて、アプリケーションサービスを提供し、ユーザがいずれのロケーションに移動しても、システムの提供する同一のサービスを利用できるようにしながら、ユーザ端末と実行中のアプリケーションとの間で生じる遅延を少なくすることが可能になる。
【発明を実施するための最良の形態】
【００６１】
以下、本発明の実施の形態について図面を用いて説明する。
【００６２】
図１に、本発明の一実施形態に係るサービス提供システムの構成例を示す。ロケーションＡ〜Ｃのそれぞれに、ユーザ収容サーバ１００−Ａ〜１００−Ｃが設置され、それぞれが、サーバ通信部１１０によりネットワーク３００に接続されている。また、中央サーバ２００も、サーバ通信部２１０によりネットワーク３００に接続されており、各ユーザ収容サーバ１００及び中央サーバ２００は相互に通信可能になっている。
【００６３】
本例では、共通のネットワーク３００が、サーバ間の相互通信を可能にしているが、他の例として、中央サーバをルートとし各ユーザ収容サーバをリーフとする木構造のネットワークを採用することも可能である、その場合、ユーザ収容サーバ同士は、木構造のブランチに当たる中継サーバ経由で通信してもよいし、木構造のネットワークとは別に設けられた第二のネットワークで通信してもよい。本実施形態におけるネットワークとして、インターネット、次世代ネットワーク（ＮＧＮ）、高速ギガビットイーサネット、ＩＰ−ＣＡＴＶネットワーク等、種々のものが使用できる。
【００６４】
上記サービス提供システムに接続するユーザ端末４０１〜４２２は、いずれかのロケーションのユーザ収容サーバ１００のユーザ通信部１０５に、直接もしくはネットワーク５００経由で、接続している。本サービス提供システムのユーザは、現在いる場所もしくはその近くのユーザ収容サーバ１００に、ユーザ端末（自身が持ち歩く端末でもその場で貸し出されている端末でもよい）を接続して、アプリケーションサービスを受けることができる。
【００６５】
中央サーバ２００は、本サービス提供システムの各ユーザが、それぞれどのロケーションで現在サービスを受けているか（現在接続中でない場合は、直前にどのロケーションでサービスを受けていたか）を示す情報を、各ユーザ滞留ロケーション記憶部２２０に記憶し、管理している。
【００６６】
上記サービス提供システムは、仮想化技術（例えば、「日経ＢＰムック／すべてわかる仮想化大全」（日経ＢＰ社、ＩＴＰｒｏ編、２００６年１０月３０日発行）を参照）を用いたサービスプラットフォームとして構成することもでき、その場合、各ユーザ収容サーバ及び中央サーバは、ＯＳの上に仮想化ミドルウェア（例えば、ＶＭｗａｒｅ社のVMware ServerやVMware ESX ServerもしくはVMware Infrastructure、Ｍｉｃｒｏｓｏｆｔ社のVirtual Server、ＸｅｎＳｏｕｒｃｅ社のXen等）をインストールし、その上で本実施形態として述べる各機能が実現されるように構成される。
【００６７】
仮想化ミドルウェアがインストールされているコンピュータ（サーバ）であれば、どのようなハードウェアやファームウェアあるいはＯＳ（ホストＯＳ）が採用されたコンピュータであろうが、同一のプログラムが仮想化ミドルウェア上で動作可能である。また、アプリケーション個別の単位での資源管理も可能になる。さらに、いずれのサーバにも仮想化ミドルウェアがインストールされているという仮想化環境があることで、アプリケーションプログラムが動作しながらサーバ間を移動することが可能になる。
【００６８】
図２及び図３には、それぞれ、中央サーバ及び各ユーザ収容サーバを上述したように構成した場合の例が示されている。
【００６９】
図２の中央サーバ２００は、サーバ通信部２１０、各ユーザ滞留ロケーション記憶部２２０のほか、各アプリケーション（以下、「ＡＰ」という。）オリジナル記憶部２３０、利用者管理データベース（以下、「ＤＢ」という。）２４０、ＡＰ毎利用履歴ＤＢ２５０の各機能を有する。
【００７０】
各ＡＰのオリジナルは、本例では、中央サーバの各ＡＰオリジナル記憶部２３０に集めて記憶されているが、他の例として、幾つかのユーザ収容サーバに分散して（例えば、オリジナルの提供者の近くのユーザ収容サーバに）記憶されているようにしても構わない。
【００７１】
利用者管理ＤＢ２４０は、中央に１つ設けられる利用者管理のためのマスターＤＢで、本実施形態のサービス系に加入している各ユーザの情報を記憶している。ここに登録されていない者は、本サービス提供システムの利用者にはなれない。ユーザが、いずれかのロケーションのユーザ収容サーバにおいて、アプリケーションサービスを受けるべくサインインを試みると、中央サーバの利用者管理ＤＢ２４０の情報との照合が行われ、利用の許否を決めることができる。利用者管理ＤＢ２４０は、サービス提供の対価をユーザに課金するための情報（例えば、どの種類のＡＰをどのくらいの時間利用したかを示す情報）を記憶してもよい。
【００７２】
ＡＰ毎利用履歴ＤＢ２５０は、ＡＰ毎に、そのＡＰを利用する各ユーザについて、利用記録を記憶することができる。例えば、あるユーザが、そのＡＰを何時間利用したか、ＡＰ中のどの機能を利用したか等の情報が、ユーザがそのＡＰの自分用のコピーの利用を終了する毎に、記録される。この記録されたユーザ毎の利用情報は、そのＡＰのオリジナル提供者へフィードバックされるようにしてもよいし、適当なタイミングで、課金集計用に加工して、利用者管理ＤＢ２４０へ報告されるようにしてもよい。適当なタイミングとは、例えば、利用情報がＡＰ毎利用履歴ＤＢ２５０に書き込まれた時点、あるいは所定量の利用情報がＡＰ毎利用履歴ＤＢ２５０に蓄積された時点、もしくは所定期間が経過する毎、等である。
【００７３】
本サービス提供システムのユーザへの課金が、例えば、利用内容に関係なく定額料金であれば、ＡＰ毎利用履歴ＤＢ２５０から利用者管理ＤＢ２４０への報告は不要であるが、利用した時間や専有した資源（ＣＰＵやメモリ）の量等を単位とする従量課金の場合や、利用機能や利用時期等によって異なる額となる課金の場合は、ＡＰ毎利用履歴ＤＢ２５０から利用者管理ＤＢ２４０へ、課金のための情報が収集されるようにするとよい。
【００７４】
ＡＰ毎利用履歴ＤＢ２５０は、ＡＰ毎に、そのＡＰを利用する各ユーザについて、そのユーザが次回、自分用のコピーを利用する際に必要な最低環境条件を示す情報（ＣＯＮＦＩＧ情報）を、記憶してもよい。このＣＯＮＦＩＧ情報の記録は、ユーザがそのＡＰの自分用のコピーの利用を終了する際に、その資源に関する情報（終了時の状況をもとに、そのＡＰの自分用のコピーの動作を再開するのにどの程度のメモリが必要か、必要なＣＰＵ占有割合、他のＡＰと比較したときの優先度等）を書き込むことにより行われる。
【００７５】
図３のユーザ収容サーバ１００は、サーバ通信部１１０、ユーザ通信部１０５のほか、複数のロケーションのユーザ収容サーバに分散している各ユーザ用のポータルプログラムや、アプリケーションプログラムのユーザ用コピーを、必要に応じて呼び寄せるための種々の機能を有する。各機能部分の動作は、図６及び図７のフローチャートの説明とともに後述する。
【００７６】
図４及び図５は、それぞれ、本発明の一実施形態に係るサービス提供システムにおいて、アプリケーションのユーザ用コピー及びユーザ用ポータルが、ユーザの移動先のロケーションへ移動してくる様子を例示している。
【００７７】
この例では、各ロケーションのユーザ収容サーバ１００と中央サーバ２００は、データセンタ（以下、「ＤＣ」という。）として構成されている。ＤＣは、単体のサーバにより構成されてもよいし、一箇所に集められたサーバ群、ストレージ群、ネットワーク装置等により構成されてもよい。例えば、インターネット事業者、ケーブルテレビ事業者、固定電話事業者、携帯電話事業者等が、各ＤＣの運用者になってもよく、ＤＣ毎に運用者が異なってもよい。ＤＣとＤＣの間は、上述したように種々のネットワークで接続することができるが、専用線を敷設しても構わない。
【００７８】
中央ＤＣとユーザ収容サーバの間、ユーザ収容サーバ同士の間には、一つ以上の中継ＤＣがあってもよい。中継ＤＣは、両端のＤＣの間で送受信されるメッセージを中継したり、アプリケーションコピーやポータルの移動を助けたりする。この中継ＤＣの機能も、ＯＳの上に仮想化ミドルウェアがインストールされた仮想環境上で実現することができる。
【００７９】
アプリケーションコピーやポータルの移動元のＤＣと移動先のＤＣとは、間に中継ＤＣがある場合はその中継ＤＣも含めて、必要に応じて同期をとりながら通信することで、一つの仮想化空間を形成するようになっていてもよい。
【００８０】
仮想化空間上を移動するアプリケーションプログラムのコピーは、サーバの仮想化技術におけるゲストＯＳとアプリケーションプログラムとを一体化した仮想マシン（プログラム）でもよいし、アプリケーションプログラムの部分のみでもよい。前者の場合、例えば、ＶＭｗａｒｅ社のVirtual Applianceの形で、移動元のＤＣから移動先のＤＣへアプリケーションコピーを移動させることができる。
【００８１】
エンドユーザは、例えば、アクセスパーソナルと称される自分専用の小さな機器を持って、各ロケーション間を移動することにより、場所を選ばずに本実施形態のサービス系に接続することができる。アクセスパーソナルには、個人を認証するための機能及び通信接続機能が備えられており、エンドユーザ側の端子とネットワーク側の端子がある。エンドユーザ側の端子には、ユーザ・インタフェースを備えた機器（パソコンでも、電話のヘッドセットでも、ＴＶのセットトップボックスでもよく、ユーザ自身のものであっても、その場で借りたものであってもよい）をつなぐ。このユーザ・インタフェース機器とアクセスパーソナルから構成されるユーザ端末が、ネットワーク側の端子を介して、そのロケーションのユーザ収容ＤＣに接続されることになる。
【００８２】
エンドユーザに対してサービスを提供することになるアプリケーションプログラムは、そのコピーが、ユーザの近くのロケーションのユーザ収容ＤＣ内にあって、ユーザ端末にダウンロードされることはなく、ユーザは、いわば、ネットワーク越しにアプリケーションに接することになる。これにより、ユーザ・インタフェース機器が変わっても、同じようにサービス利用が可能となり、ユニバーサルな利用が実現できる。
【００８３】
アプリケーションのオリジナルは、ユーザがアクセスするユーザ収容ＤＣではなく、中央ＤＣないしオリジナル提供元のＤＣにある。そのオリジナルのコピーとしてのマスターコピーが、そのアプリケーションによるサービスを提供しようと決めたロケーションのユーザ収容ＤＣ内に、作成される。
【００８４】
中央ＤＣとユーザ収容ＤＣとが、間に中継ＤＣがある場合はその中継ＤＣも含めて、一つの仮想化空間を形成するようになっている場合、その仮想化空間上を、アプリケーションのマスターコピーが、間に中継ＤＣがある場合はミラーリングされながら、移動していくようにしてもよい。このように、アプリケーションプログラムが、中央ＤＣからユーザ収容ＤＣへの仮想化空間上を張り出していくようにすることの利点は、中央ＤＣに残っているオリジナルのプログラムが動作し続ける一方で、マスターコピーのプログラムが同様に動作し続けながらユーザ収容ＤＣへ配信されることが可能となる点である。
【００８５】
勿論、マスターコピーのプログラムは、ファイルとして中央ＤＣからユーザ収容ＤＣへダウンロードされるのでもよいし、ＣＤ−ＲＯＭ等の記憶媒体で配布しても構わない。
【００８６】
上記マスターコピーが、各ロケーションにおけるコピー元のＡＰとなる。マスターコピーからは、２種類のＡＰコピーが生成され得る。１つは、ユーザが利用する間だけ生成されて利用終了時に消滅する標準コピーであり、もう１つは、ユーザの利用終了後もそのユーザ用に保持されて次回利用時にまた利用できる個人別コピーである。
【００８７】
マスターコピーは、オリジナルと同様に、全てのユーザに共通のデータや状態しか持たないが、個人別コピーは、そのアプリケーションを動作させる各ユーザによって異なり得るプログラムのデータや状態を保持するものである。
【００８８】
よって、マスターコピーは、例えば、アプリケーションプログラムと、そのプログラムが利用するデータと、プログラム及びデータの状態の初期値とから構成される。一方、各ユーザ用コピーは、例えば、アプリケーションプログラムと、そのプログラム内でそのユーザが作成済みのデータ及び利用途中のデータと、そのユーザ用プログラム及びデータ双方の状態の現在値とから構成される。この状態の現在値は、プログラムの進行状況を動的に示すものとすることができ、例えば、プログラムがどこまで進んでどの状況番号まで動いていた、あるいは現在も動いているのかを、常に動的に示すものとすることができる。
【００８９】
図４の例では、ユーザＳが、時点（１）において、ロケーションＡのユーザ収容ＤＣにアクセスし、あるＡＰの自分用コピーを作成して、利用している。その後の時点（３）において、ユーザＳは、ロケーションＢへ移動しており、時点（１）で利用していたＡＰを再び利用することを所望したとする。そうすると、本実施形態では、時点（１）で利用された後そのままロケーションＡのユーザ収容ＤＣに保持されていたユーザＳ用のＡＰコピーが、ロケーションＢのユーザ収容ＤＣへ呼び寄せられて移動してくる。
【００９０】
なお、時点（３）でユーザが所望するＡＰコピーが、直前の時点（２）にユーザがいたロケーションに保持されているとは限らず、図示の例でも、さらに前の時点（１）にユーザがいたロケーションに保持されており、そこから呼び寄せられている。
【００９１】
ここで、本実施形態で各ＡＰにより提供されるサービスには、例えば、事務処理ソフト、ソフトウェア開発ツール等、様々なものがあり得る。その中には、文章を書く、絵を描くというようにユーザ個人のペースで進むアプリケーションもあれば、シミュレーションやレンダリングのようにコンピュータが単独で進める時間の長いアプリケーションもあれば、キャラクターを育てていくゲームのように時間が経つにつれて状況が変化するアプリケーションもあれば、高い実時間性が要求される相互作用を伴うオンライン対戦ゲームや、時間で変化するコマーシャル提供が付加されたアンケート付きビデオ配信のようなアプリケーションもあり得る。そのような種々のアプリケーションの特性に合わせて、ＤＣ間でＡＰコピーを移動させる処理は、静的に行ってもよいし、動的に行ってもよい。
【００９２】
移動元のＤＣでのＡＰコピーの動作が既に終了しているか、稼動中であっても一旦停止させて構わない場合には動作を終了させて、静的な移動を行うことができる。静的な移動では、ＡＰコピーの動作終了時点でのデータや状態値とプログラムとを含むＡＰコピーのファイルを作成し、そのファイルを移動先のＤＣへ送信する。送信が完了すると、移動元のＤＣからは、そのＡＰコピーは消去される。移動先のＤＣでは、受信したファイルからプログラムを取り出し、そこに同じく受信ファイルから取り出されたデータや状態値を入力して、そのユーザ用のＡＰコピーの動作が再開される。
【００９３】
移動元のＤＣから移動先のＤＣへ、ＡＰコピーが動作を継続しながら移動してくるためには、動的な移動を行う必要がある。これは、例えば、ＶＭｗａｒｅ社のVMotionや、Xenのライブ・マイグレーション機能を使用することによって実現できる。動的な移動では、移動元のＤＣにおいて稼動中のＡＰコピーを停止させることなく、ＡＰコピーのコピーを徐々に移動先のＤＣに作り出していき、完全なコピーができると、移動元のＤＣのＡＰコピーから移動先のＤＣのＡＰコピーのコピーへ制御権が移り、その後、移動元のＤＣのＡＰコピーが消去される。
【００９４】
中継ＤＣが間に入って動的な移動をする場合には、移動元のＤＣのＡＰコピーを稼働させたままそのコピーを中継ＤＣに徐々に作り出していき、完全なコピーができると、移動元のＤＣのＡＰコピーから中継ＤＣのＡＰコピーのコピーへ制御権が移り、その後、移動元のＤＣのＡＰコピーが消去される。次に、中継ＤＣで稼働中のＡＰコピーを元にして、同様の作業を下流のＤＣに対して繰り返し、最終的に、移動先のＤＣにＡＰコピーが作り出されて、制御権を得る。
【００９５】
図４のような仕組みにより、例えば、録画ビデオ視聴サービスにおいて、自宅で視聴中のある映画の途中で「停止」ボタンを押した後、出張先のホテルで同じ映画の停止させた箇所から視聴を継続することが可能になる。これは、自宅の端末が接続していたユーザ収容ＤＣから、ホテルの端末が接続するユーザ収容ＤＣへ、ユーザが視聴に利用するプログラムと同映画のコンテンツデータが、そのユーザのみに有効な停止箇所の情報（その時点での状態値）とともに移動してくることによって、実現されている。
【００９６】
また、例えば、卵を育てるオンラインゲームサービスにおいて、自宅で「孵化前３日」まで進ませた状態で接続を切り、翌日、旅行先の知人宅で同じゲームにアクセスしてみると、自分の卵が孵化前２日まで成長しているのを見ることができる。これは、自宅の端末が接続していたユーザ収容ＤＣから、旅行先の端末が接続するユーザ収容ＤＣへ、育成ゲームのプログラムとそのユーザの卵の経時的に変化する情報（その時点での状態値）とが、プログラムが動作を継続したまま移動してくることによって、実現されている。
【００９７】
さらに、例えば、３Ｄ作画サービスにおいて、前日に、作画社のパソコンから、作成中のアニメの色付け作業（レンダリング）を稼働させておき、翌日の朝に、編集作業社の端末から、その色付けソフトの進行状況を見てみると、作業が終了してアニメの色付けができているのを確認することができる。これは、作画社のパソコンが接続していたユーザ収容ＤＣにおいて、接続が切れた後も作業を続行し、そこから編集作業社の端末が接続するユーザ収容ＤＣへ、３Ｄ作画ソフトのプログラムと作成中のアニメの作業終了時点でのデータ及び状態値とが移動してくることによって、実現されている。
【００９８】
以上のように、ユーザの視点からは、ユーザ毎のアプリケーション（プログラム・データ、システム、ウェブ等）を、時間、場所、端末に関わらず、同じ状態（自分専用の状態）で、利用することが可能になる。また、あるロケーションで利用していたアプリケーションを、別のロケーションに移動しても、あたかも以前のロケーションで利用を続けているかのように（同じ条件、サービス内容、料金、見え方等で）利用することが可能になる。さらに、ユーザ用のアプリケーションコピー自体が、ユーザが現在いる場所の近くのユーザ収容サーバへ移動してくるため、ユーザとアプリケーションとの間の遅延が少なく、インタラクティブなアプリケーションサービスの提供もスムーズに行える。
【００９９】
図５に示す実施形態では、ユーザがアプリケーションを利用しようとするとき、最初にアクセスする入口（エントリー）であるポータルを、そのユーザ用に任意に加工されたものとすることができ、そのユーザ専用のポータルを、ユーザが移動する先のロケーションへ、追随して移動させることができる。
【０１００】
図５の例では、ユーザＳが、時点（２）において、ロケーションＣのユーザ収容ＤＣにアクセスし、自分用のポータルを介して、アプリケーションサービスを利用している。その後の時点（３）において、ユーザＳは、ロケーションＢへ移動しており、自分用の利用環境でサービスを利用することを所望したとする。そうすると、本実施形態では、時点（２）で使われた後そのままロケーションＣのユーザ収容ＤＣに保持されていたユーザＳ用のポータルプログラムが、ロケーションＢのユーザ収容ＤＣへ呼び寄せられて移動してくる。ポータルプログラムも、データやその時々で変わる状態値を伴い得るものであり、それらを含めて、静的に移動させてもよいし、動的に移動させてもよい。
【０１０１】
ユーザが本実施形態のサービス系にアクセスするための入口がポータルであるが、２種類のポータルが使えるようにしてもよい。１つは、どのユーザに対しても同じ標準ポータルであり、もう１つは、各ユーザに固有の利用環境を提供できる個人別ポータルである。
【０１０２】
個人用ポータルには、個人の利用プロパティの情報が付随している。標準ポータルは、個人の利用プロパティを持たない。また、あるユーザ用のポータルには、そのユーザ用の利用プロパティだけが付随する。個人用ポータルと個人のＡＰプロパティ情報とのセットは、オブジェクト指向的に、対象と振る舞いの記述が、一緒に処理の対象として動かされるものとして構成してもよい。
【０１０３】
個人の利用プロパティの情報には、例えば、ポータル自身を個人用にカスタマイズするためのユーティリティ、タイマーやアラート等の補助機能、アクセスターミナルが何のユーザ・インタフェース機器（パソコン／電話／ＴＶ等）にどのような方式でつながっているかに合わせてポータルへのアクセスを可能にするスクリプト（アクセスメソッド）、ユーザが各種サービスを選択するためのメニュー画面を構成するオブジェクト（ボタンのような２Ｄ表示のメニュー、メタバースのような３Ｄ表示のメニュー、携帯のような小画面用の表示のメニュー等、アクセスパーソナルからユーザ側に接続される機器の表示／出力形式が何であっても共通に利用可能なように、内容がオブジェクト形式になっているメニュー）、ウィジェットツール等が含まれる。
【０１０４】
個人用ポータルに付随する個人の利用プロパティの情報の中に、そのユーザ個人が利用しているＡＰがどれか、そのＡＰのそのユーザ用コピーがどのロケーションに保持されているか等を示す、ＡＰ利用プロパティの情報が含まれていてもよい。
【０１０５】
図５において、ユーザＳの移動先のロケーションＢのユーザ収容ＤＣは、ユーザＳの要求に応じて、ユーザＳ用のポータルを呼び寄せるため、まず、中央ＤＣに、ユーザＳが直近最後にアクセスしたロケーション（ユーザＳ用ポータルが保持されているロケーション）を問い合わせる。中央ＤＣは、各ユーザの滞留ロケーションを示す情報を管理しているので、ユーザＳはロケーションＣに対応付けられている旨を、ロケーションＢのユーザ収容ＤＣに回答する。
【０１０６】
ロケーションＢのユーザ収容ＤＣは、ロケーションＣのユーザ収容ＤＣから自装置へ、ユーザＳ用ポータルを移動させ、ユーザＳが自分用の環境を利用できるようにする。同時に、移動元のロケーションＣのユーザ収容ＤＣからは、ユーザＳ用ポータルは消去される。そして、中央ＤＣにある各ユーザ滞留ロケーション情報は、ユーザＳがロケーションＢに対応付けられていることを示すように書き換えられる。
【０１０７】
ユーザＳ用ポータルは、ＡＰ利用プロパティとして、ユーザＳ用のＡＰコピーがロケーションＡに保持されていることを示す情報を持っているため、図５のように呼び寄せられたユーザＳ用ポータルを介して、図４のようにユーザＳ用ＡＰコピーを呼び寄せることが可能になる。
【０１０８】
以上のように、アプリケーションを動かすために必要な機能が、ポータルとして常に１個だけ本サービス提供システム内に存在し、使う場所へ、使うときに、動き続けた状態のまま移動してくることが可能になる。
【０１０９】
なお、ポータルは、例えば、Ｗｅｂページの形で提供可能であるが、ユーザ・インタフェース機器が電話やＴＶであってもよい場合、他の様々な形でも提供可能とすることができる。機器の種類を問わずに使用可能とするには、ポータルは、アクセスパーソナルとの間で、ＸＭＬ等で、メニューやガイダンス、データ等を受け渡しする機能を備えるとよい。この場合、ポータル及び利用プロパティ情報や、中央ＤＣで管理する各ユーザの滞留ロケーションを示す情報は、例えば、バイナリＸＭＬや、ＢＩＳＯＮ等のオブジェクト記述方式で、作成される。
【０１１０】
以下には、図３のような内部機能構成を有するユーザ収容サーバが、図６及び図７に示す動作を行い、ユーザにサービスを提供する様子を、図８〜図１０の例も参照しながら説明する。ロケーションＡ，Ｂ，Ｃは、地理的ないしネットワーク的に離れているが、いずれも、同じ中央配下の本実施形態に係るサービス系を構成するものである。
【０１１１】
まず、あるロケーション（本例ではロケーションＢ）でユーザ（本例では平井氏）がサービスを利用しようとする場合、ロケーションＢのユーザ収容サーバのポータル動作部１１５が、利用要求を受け付ける（Ｓ１００）。
【０１１２】
利用要求が受け付けられたロケーションＢに、平井氏の自分用のポータルがある場合と無い場合で、処理が分かれる（Ｓ１１０）。個人用のポータルがそのロケーションにある（滞留している）場合は、そのロケーションの滞留ユーザ記憶部１２５に、当該ユーザ名又はユーザＩＤ等が記録されている。
【０１１３】
個人用ポータルがそのロケーションに無い場合（Ｓ１１０Ｎｏ）は、ユーザは標準ポータルを利用することになり、ユーザ収容サーバのポータル動作部１１５は、標準ポータル記憶部１４０からポータルプログラムやデータ等を読み出して実行する。ポータル動作部１１５はまた、ユーザ通信部１０５を介して、ユーザ端末からの指示を受け取ったり、ユーザ端末への表示／出力を行ったりする。
【０１１４】
標準ポータルは、利用ユーザの滞留ロケーションを中央サーバに問い合わせる（Ｓ１２０）。これにより、ユーザは、自分用のポータルが、今いるロケーションとは別のいずれかのロケーションに既に作成してある場合（自分用のポータルが保持されているロケーションからそれ以外のロケーションへ、ユーザが移動してきた場合）は、その滞留ロケーションから今のロケーションのユーザ収容サーバへ、自分用のポータルを移動させることができる。自分用のポータルが既に作成されている状態とは、本実施形態のサービス系にユーザとして加入して（利用者管理ＤＢ２４０に自分のユーザＩＤが登録されて）おり、且つ、自分用のポータルが既に作成されて（各ユーザ滞留ロケーション記憶部２２０に自分のユーザＩＤがいずれかのロケーションに対応付けられて記憶されて）いる状態になる。
【０１１５】
図８の例は、昨日までロケーションＣで自分用のポータルを介してＡＰ１の自分用コピーを利用していた平井氏が、ロケーションＢへ移動して、本実施形態のサービス系へアクセスしてきた場合を示している。移動先のロケーションＢで、平井氏はロケーションＣで利用していたものと同じアクセスパーソナルを使って接続する。
【０１１６】
ロケーションＢのユーザ収容サーバは、滞留ユーザ記憶部１２５を調べるが、平井氏のポータルは無いため平井氏のユーザＩＤは載っておらず、標準ポータルが表示される。ここで、ユーザである平井氏が、「自分のポータルを呼び寄せる」という命令を標準ポータル内メニューで選択すると、ロケーションＢのユーザ収容サーバは、平井氏用ポータルが保持されているロケーションを、中央サーバに問い合わせる。
【０１１７】
中央サーバの各ユーザ滞留ロケーション記憶部２２０には、平井氏が直近にいたロケーションＣが記憶されている（Ｓ１２５Ｙｅｓ）ため、ロケーションＢのユーザ収容サーバは、中央サーバから問い合わせに対する回答を得て、平井氏用のポータルプログラムを滞留先のロケーションＣから現在のロケーションＢへ呼び寄せることができる（Ｓ１３０）。
【０１１８】
具体的には、ロケーションＢのポータル呼び寄せ／送り出し部１３０が、サーバ通信部１１０を介して、中央サーバへ問い合わせを送信し、必要があればロケーションＣへ平井氏用ポータルの移動要求を送信し、送信されてきた平井氏用ポータルを受信して、滞留ユーザ用ポータル保持部１２０に記憶する。受信が完了すると、滞留ユーザ記憶部１２５にも、平井氏のユーザＩＤが記憶される（Ｓ１３０）。また、中央サーバへ、平井氏の滞留ロケーションをＢに変更するように通知する（Ｓ１３５）。
【０１１９】
一方、ロケーションＣのポータル呼び寄せ／送り出し部１３０は、サーバ通信部１１０を介して、ロケーションＢへ平井氏用ポータルを移動せよというメッセージを、中央サーバもしくはロケーションＢから受信し、滞留ユーザ用ポータル保持部１２０に記憶されている平井氏用ポータルを、ロケーションＢへ向けて送出する。ロケーションＢへの移動が完了した後、滞留ユーザ用ポータル保持部１２０から平井氏用ポータルを削除し、滞留ユーザ記憶部１２５から、平井氏のユーザＩＤを削除する（Ｓ１３５）。
【０１２０】
そうすると、図９に示すように、ロケーションＢにポータルが移動し、ロケーションＣの同じポータルは消去され、ロケーションＢから移動完了通知を受けた中央サーバの各ユーザ滞留ロケーション記憶部２２０では、平井氏の滞留ロケーションがＣからＢに書き換えられ、元いたロケーションＣの滞留ユーザ記憶部１２５では、平井氏のユーザＩＤが削除され、現在のロケーションＢの滞留ユーザ記憶部１２５には、平井氏のユーザＩＤが追加される。
【０１２１】
そして、ロケーションＢのユーザ収容サーバにおいて、移動してきて滞留ユーザ用ポータル保持部１２０に記憶されたポータルプログラムやデータ等は、ポータル動作部１１５により読み出されて実行される（Ｓ１１５）。これにより、平井氏のユーザ端末の画面が、標準用ポータルのものから自分用のポータルのものに書き換わる。
【０１２２】
以上のように、ユーザ用のポータルがロケーション間を移動する際には、そのユーザ用の利用プロパティの情報も、一緒に移動することになる。ユーザは、自分用のポータルを介することにより、後述するように、ＡＰの標準コピーと、自分用のＡＰコピーの、いずれをも利用することが可能になる。
【０１２３】
なお、ロケーションＣからＢへのポータルの移動は、ロケーションＢのユーザ収容サーバが、中央サーバからの回答を得て、自身で改めて、ロケーションＣに対してポータル移動を要求する構成で実現してもよいし、問い合わせを受けた中央サーバが、ロケーションＢのユーザ収容サーバへ回答を返す代わりに、直接ロケーションＣのユーザ収容サーバに対し、平井氏のポータルをロケーションＢへ移動するよう指示するという構成で実現してもよい。いずれの形態も、本発明の範囲に含まれる。
【０１２４】
標準ポータルが、利用ユーザの滞留ロケーションを中央サーバに問い合わせた結果、そのユーザ用のポータルが他のロケーションにも無く（Ｓ１２５Ｎｏ）、その場で自分用のポータルを作成したい場合（Ｓ１４０Ｙｅｓ）、自分用のポータルを新規作成することができる。
【０１２５】
自分用のポータルがどのロケーションにも無い状態とは、本実施形態のサービス系にユーザとして加入して（利用者管理ＤＢ２４０に自分のユーザＩＤが登録されて）いるが、自分用のポータルが未だ作成されていない状態になる。この状態のままでも、標準ポータルへアクセスし、ＡＰの標準コピーを利用することはできるが、標準コピーは、そのユーザの利用が終わると、ソフトウェアの実体としては残らず消えてしまうものである。
【０１２６】
そこで、本実施形態では、標準ポータルとは別に、自分用のポータルを作成することができるようにしている。自分用のポータルは、本実施形態のサービス系内で１つだけ作ることができ、サービス系内の異なるロケーションでも利用することができる。このため、あるユーザからアクセスされたユーザ収容サーバは、そのユーザ用のポータルを新規作成する前に、中央サーバへ問い合わせ、各ユーザ滞留ロケーション記憶部２２０に、そのユーザのＩＤが記憶されていない（いずれのロケーションにも対応付けされていない）ことを確認する。
【０１２７】
そして、ユーザ収容サーバのポータル作成部１３５は、標準ポータル記憶部１４０に記憶されているポータルプログラムに、そのユーザ用の利用プロパティ情報を生成して付随させることにより、ユーザ用ポータルを作成し、滞留ユーザ用ポータル保持部１２０に記憶させる（Ｓ１４５）。また、滞留ユーザ記憶部１２５に、ポータルを作成したユーザのＩＤを記憶させる（Ｓ１４５）。例えば、図８において、佐藤氏用ポータルがロケーションＡで新規作成されたとすると、ロケーションＡのユーザ収容サーバは、滞留ユーザ記憶部１２５に、佐藤氏のＩＤを追加し、さらに、中央サーバの各ユーザ滞留ロケーション記憶部２２０に、佐藤氏の滞留ロケーションがＡであることが記憶されるように、中央サーバへ通知を送る（Ｓ１５０）。
【０１２８】
上記の例では、利用要求が受け付けられたロケーションに、そのユーザ用のポータルが無ければ（Ｓ１１０Ｎｏ）、標準ポータルの動作を開始させているが、ユーザが自分用のポータルを使わないことを指示した場合（例えば、Ｓ１４０Ｎｏの場合）に、標準ポータルの動作を開始させてもよい（Ｓ１６０）。
【０１２９】
また、図６のＳ１２０とＳ１４０の順序を逆にして、ユーザが、自分用のポータルを使いたいと指示した場合（しかし、今のロケーションにはそのユーザ用のポータルが無い場合）に、中央サーバにそのユーザの滞留ロケーションが記憶されているかどうかの問い合わせを行う（記憶されていなければポータルの新規作成の処理に入る）ようにしてもよい。こうすると、ユーザが自分用のポータルを使わないことを指示した場合には、中央サーバへの問い合わせが発生せず、すぐにユーザの所望のＡＰ（但し、この場合は標準コピー）の指定へ進むことができる。
【０１３０】
いずれにしても、自分用のポータルが今のロケーションに無く、且つ、別のロケーションにある自分用ポータルを移動させない場合、もしくはサービス系のどこにも自分用のポータルが無い場合には、標準ポータルのみ利用可能である。標準ポータルでは、ＡＰの標準コピーを利用することができるが、個人用のＡＰコピーを利用することはできない。
【０１３１】
ユーザ収容サーバは、標準ポータルを介して、ユーザが所望するＡＰの指定を受け付ける（Ｓ１６５）と、ＡＰコピー動作部１５０が、各ＡＰマスターコピー記憶部１７５から生成される指定ＡＰの標準コピーを、標準ＡＰコピー一時記憶部１７０に記憶する（Ｓ１７０）。そして、中央サーバに利用記録を残すため、サーバ通信部１１０を介して、中央サーバに対し、ユーザによる利用宣言を行う（Ｓ１７５）。具体的には、利用者管理ＤＢ２４０へのサインイン（ログイン等）を行い、中央サーバは、利用管理を開始する。
【０１３２】
ユーザ収容サーバでは、ＡＰコピー動作部１５０が、標準ＡＰコピー一時記憶部１７０に記憶されたプログラムやデータを読み出して実行する（Ｓ１８０）。ユーザが、今いるロケーションで、その標準ＡＰコピーを利用し終わると（Ｓ１８５Ｙｅｓ）、ユーザ収容サーバは、その利用状況データを中央サーバの利用者管理ＤＢ２４０へ記録する（Ｓ１９０）。記録される利用状況データは、実際の運用上は、課金に関連するものとすることができ、例えば、ＡＰの種類や名前、利用時間、利用機能の種類と利用した回数や度数、パケットなどの通信量、使用した資源（ＣＰＵやメモリ等）の量等があり得る。
【０１３３】
そして、ＡＰの標準コピー（エイリアス）は、利用終了後、消滅し、保存や再利用はされない（Ｓ１９５）。
【０１３４】
個人用のポータルが今のロケーションにある場合（Ｓ１１０Ｙｅｓ）は、それが自動で表示され、アプリケーションが利用できる（Ｓ１１５に続く図７）。これは、上述したように、個人用のポータルが他のロケーションにあってそれを今のロケーションに移動させてきた場合や、個人用のポータルがどのロケーションにも無く今のロケーションで新規作成した場合にも、同様である。
【０１３５】
具体的には、ユーザが今いるロケーションのユーザ収容サーバは、そのユーザ用のポータルを介して、ユーザが所望するＡＰの指定を受け付ける（Ｓ２００）と、ＡＰコピー動作部１５０が、滞留ユーザ用ポータル保持部１２０に保持されているそのユーザ用のＡＰ利用プロパティを参照する（Ｓ２０５）。
【０１３６】
図９の例では、ロケーションＣからロケーションＢに移動してきた平井氏用のポータルに付随する平井氏用のＡＰ利用プロパティは、ＡＰ１というＡＰについては平井氏用コピーがロケーションＣにあり、ＡＰ２については標準コピーしか利用しておらず（平井氏用コピーは無く）、ＡＰ３については平井氏用コピーがロケーションＡにあることを示している。
【０１３７】
これは、例えば、一昨日にはロケーションＡで、自分用ポータルを介してＡＰ３の自分用コピーを利用していた平井氏が、昨日にはロケーションＣへ移動して、自分用ポータルを介してＡＰ１の自分用コピーを利用し、今日はロケーションＢへ移動して、本実施形態のサービス系へアクセスしてきた場合の状態になる。昨日の作業で、自分用ＡＰコピーを利用するために自分用ポータルを呼び寄せたので、平井氏用ポータルは、ロケーションＡからＣへ移動しているが、昨日はＡＰ３を利用しなかったため、ＡＰ３の自分用コピーは、一昨日に利用したロケーションＡに残ったままになっている。
【０１３８】
今日の移動で、平井氏用ポータルが、ロケーションＣからＢへ呼び寄せられても、ＡＰ１の平井氏用コピーはロケーションＣに、ＡＰ３の平井氏用コピーはロケーションＡに保持されたままであり、何もしなければ、ロケーションＢには移動してこない。
【０１３９】
ここで、平井氏がＡＰ３を所望のＡＰとして指定した場合、ロケーションＢのユーザ収容サーバは、平井氏用ポータルのＡＰ利用プロパティを参照して、ＡＰ３の平井氏用コピーが自ロケーションには無く、ロケーションＡにあることを知る（Ｓ２１０Ｎｏ）。そうすると、ＡＰコピー動作部１５０は、ＡＰコピー呼び寄せ／送り出し部１６０に、サーバ通信部１１０を介して、ロケーションＡのユーザ収容サーバへＡＰ３の平井氏用コピーの移動要求を送信させる。
【０１４０】
ロケーションＡのＡＰコピー呼び寄せ／送り出し部１６０は、サーバ通信部１１０を介して、ロケーションＢへＡＰ３の平井氏用コピーを移動せよというメッセージを、ロケーションＢから受信し、各ユーザ用ＡＰコピー保持部１５５に記憶されているＡＰ３の平井氏用コピーを、ロケーションＢへ向けて送出する。ロケーションＢへの移動が完了した後、ロケーションＡでは、各ユーザ用ＡＰコピー保持部１５５からＡＰ３の平井氏用コピーを削除する。
【０１４１】
ロケーションＢのＡＰコピー呼び寄せ／送り出し部１６０は、送信されてきたＡＰ３の平井氏用コピーを受信して、各ユーザ用ＡＰコピー保持部１５５に記憶する（Ｓ２４０）。受信が完了すると、滞留ユーザ用ポータル保持部１２０に記憶されている平井氏用のＡＰ利用プロパティのうち、ＡＰ３のロケーションをＡからＢに変更する（Ｓ２４０）。
【０１４２】
この様子が、図１０に示されており、ロケーションＢに平井氏用ＡＰ３コピーが移動し、ロケーションＡの同じ平井氏用ＡＰ３コピーは消去され、ロケーションＢでは、平井氏用のポータルに付随するＡＰ利用プロパティが、ＡＰ３の平井氏用コピーがロケーションＢにあることを示すように書き換えられている。
【０１４３】
そして、ロケーションＢのユーザ収容サーバにおいて、移動してきて各ユーザ用ＡＰコピー保持部１５５に記憶された平井氏用ＡＰ３コピーのプログラムやデータ等は、ＡＰコピー動作部１５０により読み出されて実行される（Ｓ２１５）。これにより、平井氏のユーザ端末の画面には、平井氏用ポータルを通して、ＡＰ３が利用可能なＡＰとして表示され、実際に利用することが可能になる。
【０１４４】
個人用ＡＰコピーは、プログラムに加えて、データや状態値を含むものであるが、その中には、例えば、利用終了時のＡＰのプログラム及びデータの状態、作成済みデータへのポインタ、仮想環境上の論理情報を下位の物理的環境にマッチングさせるために必要な情報等を含んでもよい。また、ユーザがそのロケーションを離れた後も、そのユーザ用ＡＰコピーの動作を継続させる場合には、利用終了時の状態として、ユーザが接続を切った時の状態ではなく、その後、継続させていた動作が終了した時の状態を、保持してもよい。さらに、ユーザ用ＡＰコピーを動作させたまま移動させてくる場合には、現在の動作中の状態が、含まれていてもよい。
【０１４５】
以上のように、本実施形態では、ユーザが移動した先のロケーションに、最初は存在しなくても、個人用のポータルも、個人用のＡＰコピーも、他のロケーションに存在するものを呼び寄せて利用することが可能になる。
【０１４６】
ユーザが、自分用のポータルはあるが、例えば、ＡＰ２について自分用のコピーが無く（Ｓ２０５Ｎｏ）、自分用のＡＰ２コピーを作成したい場合（Ｓ２４５Ｙｅｓ）は、そのロケーションのＡＰコピー動作部１５０は、必要に応じ、中央サーバにあるＡＰ２用の利用履歴管理ＤＢ２５０にサインンインして利用開始要求を記録する。そうすると、ＡＰ２用の利用履歴管理ＤＢ２５０内に、そのユーザの個人用（本例では、平井氏用）の記録領域が生成され確保される。
【０１４７】
そして、平井氏が今いるロケーションＢでは、ＡＰコピー作成部１６５が、各ＡＰマスターコピー記憶部１７５にあるＡＰ２のマスターコピーから平井氏用コピーを生成し、各ユーザ用ＡＰコピー保持部１５５に記憶する（Ｓ２５０）。その後、滞留ユーザ用ポータル保持部１２０に記憶されている平井氏用のＡＰ利用プロパティのうち、ＡＰ２のロケーションを無からＢに変更する（Ｓ２５０）。
【０１４８】
このように、指定ＡＰの個人用コピーが新規作成された場合や、指定ＡＰの個人用コピーが今のロケーションにある場合（Ｓ２１０Ｙｅｓ）も、各ユーザ用ＡＰコピー保持部１５５に記憶された指定ＡＰの個人用コピーのプログラムやデータ等が、ＡＰコピー動作部１５０により読み出されて実行される（Ｓ２１５）。
【０１４９】
指定ＡＰの個人用コピー（本例では、ＡＰ３の平井氏用コピー）を利用するにあたり、中央サーバに利用記録を残すために、ロケーションＢのＡＰコピー動作部１５０は、サーバ通信部１１０を介して、中央サーバに対し、ユーザによる利用宣言を行ってもよい（Ｓ２２０）。具体的には、指定ＡＰの利用履歴ＤＢ２５０へのサインインを行う。
【０１５０】
ユーザが、今いるロケーションで、そのユーザ用ＡＰコピーを利用し終わると（Ｓ２２５Ｙｅｓ）、ユーザ収容サーバは、その利用状況データを中央サーバのＡＰ毎利用履歴ＤＢ２５０へ記録する（Ｓ２３０）。利用状況データは、上述したように、課金に関連するものとすることができる。
【０１５１】
ユーザ用ＡＰコピーの利用終了時、利用状況データの代わりに、もしくはそれに加えて、上述したＣＯＮＦＩＧ情報を、指定ＡＰの利用履歴ＤＢ２５０に記録するようにしてもよい。その場合、次回、そのユーザ用ＡＰコピーの利用が開始されるときに、指定ＡＰの利用履歴ＤＢ２５０へユーザがサインインするから、その際に、記録してあるＣＯＮＦＩＧ情報を参照し、最低限これを満足する環境を、そのユーザ用ＡＰコピーをこれから動作させようとするユーザ収容サーバが、用意する。ユーザ用ＡＰコピーを他のロケーションから動作させたまま移動させてくる場合には、その途中の経路において必要な資源を確保するために、ＣＯＮＦＩＧ情報を使ってもよい。
【０１５２】
このように、ＡＰコピーを動作させるのに先立って、所定の資源を確保しておくことは、仮想化環境において、特に有効である。なお、仮想化環境の場合、所定の資源の占有宣言は、最大利用時のＣＰＵ、メモリ、ハードディスク等の割り当て量の宣言とすることができ、実際にその稼動状況が最大値にいたらなければ、他のサービスへ資源を融通することも可能である。
【０１５３】
そして、指定ＡＰのユーザ用コピーは、利用終了後も、消えずに保持される（Ｓ２３５）。よって、ユーザが、あるＡＰを長期間利用しない場合、そのＡＰのユーザ用コピーは、最後に利用されたロケーションに、使われることのないまま、保持され続けることになる。このように、使われない個人用ＡＰコピーがあちこちのロケーションに残っていると、資源の有効利用の観点からは好ましくないことがある。
【０１５４】
これを防ぐために、運用上の仕組みとして、一定期間が過ぎて利用がない（Ｓ２５５Ｙｅｓ）個人用ＡＰコピーは、中央サーバに回収するようにしてもよい。その場合、そのユーザ用ＡＰコピーを中央サーバへ移動させるとともに、いずれかのロケーションに存在するそのユーザ用ポータルに付随するＡＰ利用プロパティの情報を書き換える（Ｓ２６０）。一定期間が過ぎたことを検出した時点で、そのユーザ用ポータルがどのロケーションにあるかは、中央サーバの各ユーザ滞留ロケーション記憶部２２０を参照すれば知ることができる。
【０１５５】
よって、一定期間の過ぎたユーザ用ＡＰコピーを、例えば、ロケーションＢから中央サーバへ回収するのであれば、中央サーバが、現在そのユーザ用ポータルを保持しているユーザ収容サーバに対して、中央サーバに回収されたＡＰのロケーションがＢから中央へ変更されるように、利用プロパティ情報の更新を依頼すればよい。このようにしておけば、再利用時には、中央サーバからユーザが今いるロケーションへ、保管してあったそのユーザ用ＡＰコピーを移動させることが可能である。
【０１５６】
なお、ここでは、個人用ＡＰコピーの回収について述べたが、個人用ポータルについても、長期間利用がなければ、中央サーバに回収し、中央サーバの各ユーザ滞留ロケーション記憶部２２０がそのユーザについては中央を指すように情報を更新しておいてもよい。
【０１５７】
以上の例では、個人用ポータルを移動させたときに、中央サーバの各ユーザ滞留ロケーション記憶部２２０の情報を書き換え、個人用ＡＰコピーを移動させたときに、移動先のロケーションの滞留ユーザ用ポータル保持部１２０のＡＰ利用プロパティ情報を書き換えていたが、書き換えのタイミングはこれに限られるものではない。
【０１５８】
例えば、本実施形態では、個人用ポータルや個人用ＡＰコピーは、そのユーザしか利用できないのであるから、あるロケーションでそれらを利用している間に、他のロケーションから呼び寄せられることはない。よって、移動先のロケーションにおける個人用ＡＰコピーの利用が終了したときに、そのユーザのＡＰ利用プロパティ情報を書き換えるようにしてもよいし、さらにその後で、移動先のロケーションにおける個人用ポータルの利用が終了したときに、中央サーバにおけるそのユーザの滞留ロケーション情報を書き換えるようにしてもよい。
【０１５９】
また、個人用のポータルからは、ＡＰの標準コピーと個人用コピーのいずれでも、ユーザが望む方を利用できるようにしてもよい。ユーザが今いるロケーションにそのユーザ用のポータルが既にある場合でも、その個人用ポータルから任意のＡＰの標準コピーを利用することができる。また、指定されたＡＰについて、自分用のコピーがなく新規作成も希望しない場合（Ｓ２４５Ｎｏ）だけでなく、自分用のコピーがあってもその利用をユーザが希望しない場合にも、指定ＡＰの標準コピーを利用することができるようにしてもよい。
【０１６０】
個人用のポータルからＡＰ標準コピーを利用する手順は、標準ポータルからの手順と同様である。指定ＡＰのマスターコピーから生成される標準コピーを一時記憶し（Ｓ２７０）、中央サーバに利用記録を残すため、中央サーバに対してユーザによる利用宣言を行い（Ｓ２７５）、指定ＡＰの標準ＡＰコピーを動作させ（Ｓ２８０）、その利用が終了すると（Ｓ２８５Ｙｅｓ）、利用状況データを中央サーバへ記録し（Ｓ２９０）、ＡＰ標準コピーを消滅させる（Ｓ２９５）。
【０１６１】
また、図７のＳ２００とＳ２０５の順序を逆にして、ユーザに所望のＡＰを指定させる際に、そのユーザ用のポータルに、ＡＰ利用プロパティ情報がいずれかのロケーションにそのユーザ用のコピーがあることを示しているＡＰは、それが分かるようにメニューとして画面表示させるようにしてもよい。その場合、ユーザが、当該メニューの中からＡＰを選べば、いずれかのロケーションに既にある自分用コピーを利用することになり、当該メニューで表示されないＡＰについては、自分用コピーを新規作成するか、標準コピーを使うかを、ユーザが指示することになる。
【０１６２】
上述した例では、課金のための情報を確実に収集するために、中央サーバのＡＰ毎利用履歴ＤＢ２５０に対し、各ロケーションのＡＰコピー動作部１５０が、ＡＰの個人用コピー／標準コピーの利用を開始する際と終了する際に、その都度アクセスするようにしていたが、課金の方式には様々なバリエーションがあり、ＡＰコピーを利用する際には、中央サーバへのアクセスを一部もしくは全部不要にする構成も可能である。その場合は、中央サーバへの利用宣言や利用情報の記録が不要となり、図６のＳ１７５，Ｓ１９０及び図７のＳ２７５，Ｓ２９０、さらに、図７のＳ２２０，Ｓ２３０を省略することができる。
【０１６３】
特に、上述した実施形態では、個人用ポータルを移動させる際には、それがどのロケーションにあるか知るために、中央サーバへアクセスするようにしているが、個人用ＡＰコピーを移動させる際には、それがどのロケーションにあるかを、中央サーバへアクセスしなくても、手元に移動させた個人用ポータルに付随するＡＰ利用プロパティ情報から分かるようにして、中央サーバからの自律性を高めている。よって、中央サーバへの利用宣言や利用情報の記録を不要とすることは、中央サーバからの自律性をより高めることになる。
【０１６４】
また、ＡＰ毎利用履歴ＤＢ２５０に、アプリケーションを動かす上で必要となる設定を示すＣＯＮＦＩＧ情報等を記録させる場合には、個人用ＡＰコピーの動作開始前に、用意しておくべき環境を知るために中央サーバにアクセスし、動作終了時に、次回のための情報を残すために中央サーバにアクセスすることになる。上記の趣旨に沿って中央サーバからの自律性をより高めるには、このＣＯＮＦＩＧ情報を、中央サーバに記録するのではなく、ユーザ用ポータルのＡＰ利用プロパティ情報の中に含めて記録しておくように、上述した実施形態を変形すればよい。
【０１６５】
そのように変形した実施形態では、ユーザ用ＡＰコピーをこれから動作させようとするユーザ収容サーバは、自身が保持しているそのユーザ用ポータルに付随するＡＰ利用プロパティ情報を参照すれば、ＣＯＮＦＩＧ情報が得られることになる。また、同ユーザ収容サーバは、ユーザ用ＡＰコピーの利用終了時に、上記ＡＰ利用プロパティ情報のロケーションを最新の移動先である自身に書き換えるとともに、ＣＯＮＦＩＧ情報も更新すればよいことになる。このような形態も、本発明の範囲に含まれる。
【０１６６】
逆に、中央サーバからの自律性よりも、ＡＰコピーの利用の都度、中央サーバが関与することを重視する応用の場合には、上述した実施形態ではユーザ用ポータルに付随させていたＡＰ利用プロパティ情報を、中央サーバのＡＰ毎利用履歴ＤＢ２５０に記憶させるようにしてもよい。そして、ユーザ収容サーバで動作するユーザ用ポータルが、自身に付随するＡＰ利用プロパティ情報を参照する代わりに、中央サーバにアクセスしてＡＰ利用プロパティ情報を参照する。
【０１６７】
そのように変形した実施形態では、各ロケーションのユーザ収容サーバが、個人用ＡＰコピーの利用を開始する際に、中央サーバのＡＰ毎利用履歴ＤＢ２５０にアクセスして、課金のためのサインイン及び／又はＣＯＮＦＩＧ情報の参照を行うだけでなく、ＡＰ利用プロパティ情報も参照して、その個人用ＡＰコピーがどのロケーションにあるか調べるようにすればよい。また、利用終了時には、同様に中央サーバにアクセスして、課金のための情報の記録及び／又はＣＯＮＦＩＧ情報の更新を行うだけでなく、上記ＡＰ利用プロパティ情報も参照して、その個人用ＡＰコピーのロケーションを最新の移動先である自身に書き換えるようにすればよい。このような形態も、本発明の範囲に含まれる。
【０１６８】
以上詳述したように、本実施形態では、いわば、時間と場所によらず、アプリケーションのプログラムとデータを同じ『状態』で利用できるように、『状態』が保存され、移動される。そのためのプラットフォームを提供する本実施形態に係るシステムでは、複数事業者が同じ環境を提供することで、外部から個人用の実行環境を動かすこともでき、どこでも低遅延で高帯域のサービスを利用することが可能になる。
【０１６９】
本実施形態によれば、例えば、アプリケーションを、使う場所で、使うときに、利用者に一番近いアクセスポイントへ移動させることが、ユーザの入口環境である個人用ポータルを介して可能になっている。この移動を中央集権的に制御するのではなく、各ロケーションの中央サーバからの自律性を高めるためには、各アプリケーションを移動させるための個別情報を、個人用ポータルに持たせ、そこへのポインタを記憶する場所として中央サーバを使うとよい。
【０１７０】
このため、本実施形態における各ロケーションのユーザ収容装置は、上述した例では、接続された端末のユーザから利用要求を受け付けると、そのユーザが現在対応付けられているユーザ収容装置を、滞留ユーザ記憶部もしくは中央サーバの各ユーザ滞留ロケーション記憶部を参照して定め、そのユーザ収容装置から、各アプリケーションのユーザ用コピーを保持しているユーザ収容装置を特定するためのプロパティを含むユーザ用ポータルを呼び寄せ、そのプロパティにより特定されるユーザ収容装置から、ユーザにより指定されたアプリケーションのユーザ用コピーを呼び寄せ、自装置が保持するユーザ用コピーによりアプリケーションサービスを提供する。
【０１７１】
この例では、各アプリケーションのユーザ用コピーを保持しているユーザ収容装置を特定するためのプロパティが、そのユーザ用のポータルに付随しているが、他の例として、プロパティの保持、参照と、ポータルの保持、移動とを、別々に行ってもよいし、また他の例として、ユーザ用ポータルを作成せずに、プロパティの保持、管理だけは行うシステムであっても、アプリケーションの『状態』を含めた保存、移動は可能である。
【０１７２】
以上、本発明の実施形態について説明してきたが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。例えば、アクセスしてきた個人とアプリケーション／ポータルとのマッチングをとる認証の方式等も、様々なバリエーションが可能である。
【図面の簡単な説明】
【０１７３】
【図１】本発明の一実施形態に係るサービス提供システム及びユーザ端末の構成例を示す図。
【図２】本発明の一実施形態に係る中央サーバの構成例を示す図。
【図３】本発明の一実施形態に係る各ロケーションのユーザ収容サーバの構成例を示す図。
【図４】本システムにおけるユーザ専用アプリケーションのコピー及び『移動』の一例を説明する図。
【図５】本システムにおけるユーザ専用ポータルの『移動』とその役割の一例を説明する図。
【図６】ユーザからの利用要求を受け付けたユーザ収容サーバの動作の一例を示すフローチャート。
【図７】ユーザ専用ポータルでユーザからのアプリケーション指定を受け付けたユーザ収容サーバの動作の一例を示すフローチャート。
【図８】ユーザが移動先のロケーションで利用要求を発した時点での中央及び各ロケーションにおける状態の一例を説明する図。
【図９】ユーザ専用ポータルが『移動』してきた時点での中央及び各ロケーションにおける状態の一例を説明する図。
【図１０】指定されたアプリケーションのユーザ専用コピーが『移動』してきた時点での中央及び各ロケーションにおける状態の一例を説明する図。
【符号の説明】
【０１７４】
１００  ユーザ収容サーバ
１０５  ユーザ通信部
１１０  サーバ通信部
１１５  ポータル動作部
１２０  滞留ユーザ用ポータル（含ＡＰ利用プロパティ）保持部
１２５  滞留ユーザ記憶部
１３０  ポータル呼び寄せ／送り出し部
１３５  ポータル作成部
１４０  標準ポータル記憶部
１５０  ＡＰコピー動作部
１５５  各ユーザ用ＡＰコピー保持部
１６０  ＡＰコピー呼び寄せ／送り出し部
１６５  ＡＰコピー作成部
１７０  標準ＡＰコピー一時記憶部
１７５  各ＡＰマスターコピー記憶部
２００  中央サーバ
２１０  サーバ通信部
２２０  各ユーザ滞留ロケーション記憶部
２３０  各ＡＰオリジナル記憶部
２４０  利用者管理ＤＢ
２５０  ＡＰ別利用履歴ＤＢ
３００、５００  ネットワーク
４０１〜４２２  ユーザ端末
【図１】
0005087456.tif 000002
【図２】
0005087456.tif 000003
【図３】
0005087456.tif 000004
【図４】
0005087456.tif 000005
【図５】
0005087456.tif 000006
【図６】
0005087456.tif 000007
【図７】
0005087456.tif 000008
【図８】
0005087456.tif 000009
【図９】
0005087456.tif 000010
【図１０】
0005087456.tif 000011