JP5087456B2 - サービス提供システム及びそれを構成するユーザ収容装置 - Google Patents

サービス提供システム及びそれを構成するユーザ収容装置 Download PDF

Info

Publication number
JP5087456B2
JP5087456B2 JP2008101273A JP2008101273A JP5087456B2 JP 5087456 B2 JP5087456 B2 JP 5087456B2 JP 2008101273 A JP2008101273 A JP 2008101273A JP 2008101273 A JP2008101273 A JP 2008101273A JP 5087456 B2 JP5087456 B2 JP 5087456B2
Authority
JP
Japan
Prior art keywords
user
copy
information
accommodation
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008101273A
Other languages
English (en)
Other versions
JP2009252075A (ja
Inventor
郁夫 中川
日出美 平井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intec Inc Japan
Original Assignee
Intec Inc Japan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intec Inc Japan filed Critical Intec Inc Japan
Priority to JP2008101273A priority Critical patent/JP5087456B2/ja
Priority to GB0906060.9A priority patent/GB2459034B/en
Priority to US12/419,487 priority patent/US20090260005A1/en
Publication of JP2009252075A publication Critical patent/JP2009252075A/ja
Application granted granted Critical
Publication of JP5087456B2 publication Critical patent/JP5087456B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Description

本発明は、中央装置(サーバ)と複数のロケーションにそれぞれ設置されたユーザ収容装置(サーバ)とを備えるサービス提供システムにおいて、ロケーション間を移動するユーザが、移動先のロケーションのユーザ収容装置に接続した端末から、システムの提供するサービスを受けられるようにするための技術に関する。
昨今、分散された情報処理システムの運用管理コストを削減し、柔軟なリソースの活用を可能にする技術として、サーバやストレージの「仮想化」の技術が注目されている。さらに、各ユーザの端末にアプリケーションプログラムのコピーをインストールする方式では、端末の台数分のOSとアプリケーションプログラムを管理しなければならず、全ての端末を最新の環境に揃えることが難しく、データの管理をユーザに任せることによる情報漏洩の不安もあることから、最近は、「アプリケーションの仮想化」に期待が寄せられている(例えば非特許文献1を参照)。
アプリケーションの仮想化には、例えばシトリックス・システムズ社の「Citrix Presentation Server」のように、サーバ(データセンタ)で全てのアプリケーションプログラムを動作させ、ユーザ端末との間では、画面イメージとキーボード/マウス信号だけを暗号化して送受信する方式がある。この方式では、アプリケーションプログラムがサーバ上で実行されるため、プログラムやデータをシステム側で集中管理でき、また、ユーザ端末のOSやデバイスに依存しないから、最新の環境の導入にも柔軟に対応できる。さらに、リソースへのアクセス制御をユーザが誰かによって異なる設定にすることもでき、また、ネットワークで送受信される信号が実データでなく、端末にデータを残すこともないため、安全である。
また、以前から、ユーザにネットワークを介してアプリケーションの機能をサービスとして提供する事業者である「ASP(アプリケーション・サービス・プロバイダ)」は、多数存在しており、ユーザは、例えばJavaプログラムを実行可能なWebブラウザを端末に用意するだけで、ASP側のサーバにアクセスしてアプリケーションサービスを受けることが可能であった。この方式でも、アプリケーションプログラムはASP側で実行され集中管理されるため、アプリケーションのバージョンアップや仕様変更等が容易に行える(例えば非特許文献2を参照)。
「Citrix Presentation Server 運用管理ガイド」(ソフトバンク・クリエイティブ、2005年11月30日発行) 「ASP(アプリケーション・サービス・プロバイダ)のすべてがわかる本(図解Webコンピューティング)」(日本能率協会マネジメントセンター、2000年10月発行)
上述したアプリケーションサービス技術によれば、使用すべきアプリケーションプログラムは、必ず、サービス提供元のサーバ(データセンタ)という決まった場所にあるため、ユーザは、いつでも、どこへ移動しても、そこにある端末(移動前の端末と異なる端末で構わない)からネットワーク経由で、同一のアプリケーションプログラム及び保存しておいたデータにより、サービスを受けることができる。
しかしながら、上述した技術においては、ユーザは、所望のサービスを利用するために、サービス毎に異なるデータセンタへネットワークを介してアクセスしなければならない。また、あるサービスを利用するときは、どこからネットワークに接続しても、一つしかない同じデータセンタにアクセスしなければならないから、そのデータセンタから遠い場所でネットワークに接続した場合には、遅延の影響が大きくなり、サーバ/クライアント間での実時間処理が厳しく求められるアプリケーション(例えば、オンライン対戦ゲームやリアルタイムアンケートのようなインタラクティブあるいは時系での状況変化が激しいアプリケーション等)の場合、実質的にはサービスが受けられないということになってしまう。
つまり、上述した技術は、アプリケーションが実行される環境(サーバ)とサービスが利用される環境(ユーザ端末)とを切り離すものであるため、ユーザが移動先でも同一のサービスを利用できるという便利さの一方で、サーバとユーザ端末との間の距離が遠くなると不都合が生じることになる。
なお、プロバイダの一箇所のサーバにアクセスが集中するのを避けるために、地理的ないしバックボーン的に分散させた多くのサーバでミラーリングすることにより、コンテンツを効率的に配信する技術として、CDN(コンテンツ配信ネットワーク)がある。しかし、この技術は、単に、コンテンツのコピーをユーザが利用する場所の近くに置くことができるだけであり、そのような配信ができるのは、ビデオ・ストリーム等のデータが対象の場合に限られている。
対象がアプリケーションプログラムの場合、上述した遅延の問題を解消するには、アプリケーションが実行される環境そのものが、ユーザが利用する場所の近くへ『移動』していく必要がある。そして、アプリケーションが実行される環境には、それぞれのユーザ個人の利用の仕方に依存するアプリケーションの『状態』が含まれる。
従来の技術では、このようなユーザ個別の状態の情報は、ユーザがアプリケーションサーバにアクセスしてサービスを利用している間しか保持されず、一旦利用を終了して次にアクセスしても、データとして特別に保存されたもの以外は、状態を復元することができない。ASPに、それぞれのユーザ用のWebページがポータルとして用意される場合でも、そこに、ユーザ個別の状態(例えば、タスクバー、ショートカット、ワークスペースの利用方法、途中まで処理されている「状態」を反映したシミュレーションのようなアプリケーション等)までが復元されて準備されるわけではない。
ましてや、そのようなユーザ個別の状態まで含めて、アプリケーションが実行される環境を、ユーザがサービスを利用する場所の近くへ『移動』させることは、従来、全く考えられていなかった。
本発明は、以上のような事情を考慮し、複数のサーバを分散配置したサービス提供システムにおいて、アプリケーションサービスを提供するようにし、ユーザがいずれのロケーションに移動しても、そこで接続する端末が移動前と異なる端末であっても、システムの提供する同一のサービスを利用できるようにしながら、且つ、ユーザ端末と実行中のアプリケーションとの間で生じる遅延を少なくし、どのような種類のサービスでも支障なく提供できるようにすることを、目的とする。
本発明はまた、アプリケーションが実行される環境であってそれぞれのユーザ個人用に準備されたものが、ユーザの移動先のロケーションへ『移動』してくるような機構を実現することを、目的とする。
本発明に係るサービス提供システムは、それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備え、前記複数のユーザ収容装置のいずれかにおいて、アプリケーションプログラムの前記ユーザ用のコピーを動作させ前記ユーザの端末と通信させることによって前記ユーザにサービスを提供し、前記ユーザの端末との通信が終了した後に当該アプリケーションプログラムの前記ユーザ用のコピーを保持するように構成される。
上記サービス提供システムを構成する本発明に係るユーザ収容装置は、接続された端末のユーザから利用要求を受け付ける手段と、前記利用要求を受け付けたユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを、前記中央装置で管理されている第一の情報に基づいて定める手段と、前記ユーザが現在対応付けられているユーザ収容装置を利用して、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を、入手する手段と、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えるように構成することができる。
この構成によれば、ユーザは、あるロケーションのユーザ収容装置に接続した端末を介して、指定したアプリケーションプログラムの自分用のコピーによりサービスを提供された後、別のロケーションに移動し、そこのユーザ収容装置に接続した端末(移動前に使っていた端末と異なる端末でもよい)を介して移動前と同じアプリケーションプログラムを指定すると、移動前と同じ自分用のコピーにより続きのサービスが提供される。つまり、ユーザは、別のロケーションへ移動しようが、端末が違うものになろうが、いつものサービスを受けることができる。しかも、このとき、指定されたアプリケーションプログラムの自分用のコピーは、移動前のロケーションのユーザ収容装置から、今いる(移動先の)ロケーションのユーザ収容装置まで、移動してくるから、ユーザ端末は、遅延がほとんどない状態で、実行中のアプリケーションプログラムと通信することができる。
上記ユーザ収容装置に、自装置に移動させて動作させた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記端末との通信が終了した後に保持する手段と、前記第二の情報を、前記アプリケーションプログラムの前記ユーザ用のコピーが自装置に保持されていることを特定するように書き換える手段と、他のユーザ収容装置からの要求に応じて、前記アプリケーションプログラムの前記ユーザ用のコピーを、自装置から当該他のユーザ収容装置へ移動させる手段と、をさらに備えるようにしてもよい。
これにより、ユーザがロケーション間を移動する度に、全てのアプリケーションプログラムのユーザ用コピーが一緒にユーザ収容装置間を移動するのではなく、そのアプリケーションを利用したサービスがユーザに提供された最後のロケーションに、ユーザ用コピーを留めておき、その後、同一のアプリケーションが指定されたときにはじめて、そのときユーザがいるロケーションへユーザ用コピーを移動させることができる。つまり、あるアプリケーションのユーザ用コピーは、そのアプリケーションが利用されていない間もしくはユーザ端末との通信が行われない間は、ユーザの近くにある必要がないため、ユーザが別のロケーションで別のアプリケーションを利用していても、そこへは移動されず、必要になったときにはじめて移動されるから、使わないユーザ用コピーを移動するためにネットワーク資源を浪費することがなく、資源の有効活用が図れる。
さらに、上記ユーザ収容装置に、所定期間内に前記他のユーザ収容装置からの要求がない場合又は自装置での保持に支障が生じた場合に、保持していた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記中央装置へ移動させる手段を備えるようにしてもよい。
これにより、ユーザからそのアプリケーションが利用されないために、別のロケーションに移動することなく、最後に利用されたロケーションのユーザ収容装置に留まり続けているユーザ用コピーについては、そのユーザ収容装置の資源を無駄に占拠させることを止め、中央装置に回収してもらうことが可能になる。
ここで、本発明の一つの態様においては、同一のユーザ用でも、あるアプリケーションのコピーはあるロケーションに、別のアプリケーションのコピーは別のロケーションに、分散して保持されることが予想される。そのユーザの各アプリケーションのコピーがどのロケーションのユーザ収容装置に保持されているかは、ユーザ別に第二の情報にまとめられている。
本発明の一つの実施形態では、上記第二の情報が、複数のユーザ収容装置のうちのいずれか一つに存在するようにする。この場合、あるユーザの第二の情報はあるロケーションに、別のユーザの第二の情報は別のロケーションに、分散して存在し得る。そうすると、あるユーザ用の所望のアプリケーションのコピーを自装置に移動させようと第二の情報を用いるユーザ収容装置は、まず、そのユーザの第二の情報がどのロケーションにあるかを知らなければならない。各ユーザの第二の情報がどのユーザ収容装置にあるかは、各ユーザが現在対応付けられているユーザ収容装置がどれかによって定まり、中央装置で管理される第一の情報によって示すことができる。
このような構成により、中央装置が、アプリケーションのユーザ用コピーをロケーション間で移動させるように集中制御するのではなく、各ユーザ収容装置が自律的に、複数のロケーションに分散した情報を辿って、必要なアプリケーションのユーザ用コピーを呼び寄せることが可能になる。
本発明の別の実施形態では、上記第二の情報が、中央装置に存在するようにする。この場合でも、上記第二の情報を入手するために、複数のユーザ収容装置のうち、そのユーザが現在対応付けられているユーザ収容装置を利用するとよい。例えば、各ユーザ用のポータルプログラムが、複数のユーザ収容装置のうちのいずれか一つに存在するようにし、あるユーザ用の所望のアプリケーションのコピーを自装置に移動させようとするユーザ収容装置は、それに先立って、そのユーザ用のポータルプログラムを、そのユーザが現在対応付けられているユーザ収容装置から自装置へ、移動させる。そして、移動させたポータルプログラムを介して、中央装置と通信することにより、上記第二の情報を入手する。各ユーザ用のポータルプログラムがどのユーザ収容装置にあるかは、中央装置で管理される第一の情報によって示すことができる。
このような構成によると、第一の情報だけでなく第二の情報も中央装置で管理されることになるが、それでも依然として、各ユーザ収容装置が自律的に、複数のロケーションに分散した情報を辿って、必要なアプリケーションのユーザ用コピーを呼び寄せることが可能である。
本発明の一態様に係るユーザ収容装置は、いずれのユーザが自装置に現在対応付けられているかを示す情報を記憶する手段をさらに備え、前記第一の情報に基づいて定める手段は、前記利用要求を受け付けたユーザが自装置に現在対応付けられていることを前記記憶が示す場合は、自装置が前記第一の情報に基づいて定められるユーザ収容装置であると決定し、対応付けられていないことを前記記憶が示す場合は、前記中央装置と通信して前記第一の情報を参照させ、前記ユーザが現在対応付けられているユーザ収容装置を探索するものであってもよい。
これにより、あるユーザ用の所望のアプリケーションのコピーを自装置に移動させようとするユーザ収容装置は、そのユーザの第二の情報及び/又はポータルプログラムが自装置にある場合には、中央装置に問い合わせなくても、そのユーザが現在どのユーザ収容装置に対応付けられているかを定めることができる。つまり、中央装置で管理される情報について、各ユーザ収容装置の自律性をさらに高めることが可能になる。
本発明の一態様に係るユーザ収容装置は、前記第二の情報が、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、当該アプリケーションプログラムの前記ユーザ用のコピーを新たに作成可能とする手段と、前記ユーザ用のコピーが新たに作成されたアプリケーションプログラムにつき、前記ユーザ用のコピーが自装置に保持されていることを特定するように、前記第二の情報に追記する手段と、をさらに備えてもよい。
これにより、サービス提供システム内に、そのユーザ用のアプリケーションのコピーが唯一つ存在し、その唯一のコピーが、ユーザのいるロケーションに移動してくるようにできるため、同一のアプリケーションの同一のユーザ用コピーが少しずつ違う状態でシステムのあちこちに存在するような事態を避けることができ、使い勝手を向上させながら、系全体の資源の有効活用を図ることが可能になる。
本発明の別の側面として、ユーザが、別のロケーションへ移動しようが、端末が違うものになろうが、いつもの『ポータル』が呼び出されて、そこから、各アプリケーションを利用したサービスを受けるための操作に入っていけるようにする構成がある。
例えば、前記ユーザが現在対応付けられているユーザ収容装置が、前記ユーザ用のポータルプログラム及び第二の情報を保持しているようにし、本発明の一つの実施形態に係るユーザ収容装置の前記第二の情報を入手する手段が、前記ユーザ用の前記ポータルプログラム及び第二の情報を、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記ユーザ用の前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該指定されたアプリケーションプログラムにつき、自装置に移動させた前記第二の情報を参照させる手段とを含むようにしてもよい。
これにより、ユーザ用のポータルプログラムは、ユーザがロケーション間を移動するのを追いかけて、ユーザ収容装置間を移動することが可能になり、ユーザ用のポータルプログラムと共に、各アプリケーションのコピーがどのロケーションに保持されているかを示す第二の情報も、移動することになる。ユーザは、移動した先々のロケーションで、いわば、自分用の仮想デスクトップ(環境が自分用に準備されているほか、各アプリケーションの自分用コピーがどのロケーションにあるかを示す情報も含んでいる)を動かし、その仮想デスクトップ上で、必要なアプリケーションの自分用コピーを呼び寄せて動作させることが可能になる。
別の例として、前記ユーザが現在対応付けられているユーザ収容装置が、前記ユーザ用のポータルプログラムを保持し、前記第二の情報は、前記中央装置によって管理されているようにし、本発明の別の実施形態に係るユーザ収容装置の前記第二の情報を入手する手段が、前記ユーザ用の前記ポータルプログラムを、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記ユーザ用の前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該ポータルプログラムと前記中央装置との通信を介して、前記指定されたアプリケーションプログラムにつき、前記第二の情報を参照させる手段とを含むようにしてもよい。
これによっても、ユーザがロケーション間を移動するのを追いかけて、そのユーザ用のポータルプログラムがユーザ収容装置間を移動することが可能になり、ユーザは、移動した先々のロケーションで、自分用の仮想デスクトップを用いて、必要なアプリケーションの自分用コピーを呼び寄せて動作させることができるようになる。
上述したような本発明の別の側面に係るユーザ収容装置は、自装置に移動させて動作させた前記ユーザ用の前記ポータルプログラムを、前記端末との通信が終了した後に保持する手段と、前記第一の情報を、前記ユーザが現在対応付けられているユーザ収容装置が自装置であることを定めるように、前記中央装置に書き換えさせる手段と、他のユーザ収容装置からの要求に応じて、前記ユーザ用の前記ポータルプログラムを、自装置から当該他のユーザ収容装置へ移動させる手段と、をさらに備えるようにしてもよい。
これにより、中央装置が、ユーザ用ポータルをロケーション間で移動させるように集中制御するのではなく、各ユーザ収容装置が自律的に、いずれかのロケーションにあるユーザ用ポータルを呼び寄せることができ、中央装置で管理される第一の情報についても、各ユーザ収容装置が自律的に、書き換えさせることができる。
上記ユーザ収容装置はまた、前記第一の情報が、前記利用要求を受け付けたユーザ用のポータルプログラムが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、前記ユーザ用のポータルプログラムを新たに作成可能とする手段と、前記ユーザ用のポータルプログラムの新たな作成に応じて、前記ユーザが現在対応付けられているユーザ収容装置が自装置であることを定めるように、前記中央装置に前記第一の情報を作成させる手段と、をさらに備えてもよい。
これにより、サービス提供システム内に、そのユーザ用のポータルプログラムが唯一つ存在し、その唯一のポータルプログラムが、ユーザのいるロケーションに移動してくるようにできるため、同一のユーザ用のポータルが少しずつ違う状態でシステムのあちこちに存在するような事態を避けることができ、使い勝手を向上させながら、系全体の資源の有効活用を図ることが可能になる。
上述した第二の情報は、アプリケーションプログラムの前記ユーザ用のコピーの動作のために確保すべき資源を示す第三の情報を伴うものとしてもよく、本発明の一態様に係るユーザ収容装置の前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該移動に先立って、前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むようにしてもよい。ここでの第三の情報は、第二の情報が複数のユーザ収容装置のうちのいずれか一つに存在する実施形態の場合は、その同じユーザ収容装置に保持され、第二の情報が中央装置に存在する実施形態の場合は、中央装置に保持されることになる。
上記第二の情報が複数のユーザ収容装置のうちのいずれか一つに存在する実施形態の場合、上記第三の情報を、第二の情報から切り離し、中央装置によって管理するようにしてもよい。その場合、本発明の一態様に係るユーザ収容装置は、前記第二の情報を入手する手段が、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、前記第二の情報を移動させる手段を含み、前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段が、該移動に先立って、前記中央装置との通信を介して入手される前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むようにしてもよい。
上述した第三の情報の利用により、あるアプリケーションのユーザ用のコピーを自装置に呼び寄せようとするユーザ収容装置は、予め、そのユーザ用のアプリケーションコピーが自装置で動作するために必要な資源を確保しておくことができ、呼び寄せたアプリケーションコピーを、即時に動作させることが可能になる。必要な資源は、同じアプリケーションでも、コピー毎に異なり、また、動作中に経時的に変化し得るため、各ユーザ用のコピーについて、呼び寄せる直前の動作状態に基づいて、必要な資源を割り出し、第三の情報として登録しておくとよい。
本発明の一態様に係るユーザ収容装置は、前記ユーザから指定されたアプリケーションの汎用のコピーを新たに作成する手段と、新たに作成された前記アプリケーションプログラムの前記汎用のコピーを動作させ、前記端末と通信させる手段と、前記汎用のコピーについては、前記端末との通信が終了した後に消滅させる手段と、をさらに備えてもよい。
これにより、アプリケーションの利用後もユーザ用コピーを保持してユーザ個別の状態を次回利用時に復元可能にする必要のないアプリケーションについては、わざわざ他のロケーションからユーザ用コピーを呼び寄せるまでもなく、そのロケーション内で汎用コピーを作成して利用させることが可能になる。
本発明の一つの側面に係るサービス提供システムは、それぞれがユーザの端末に接続して該ユーザにサービスを提供する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備え、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成され、前記中央装置は、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を管理する手段を備え、前記複数のユーザ収容装置のうち、前記ユーザが現在対応付けられているユーザ収容装置は、各アプリケーションプログラムの前記ユーザ用のコピーが、前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を保持する手段を備え、前記複数のユーザ収容装置のそれぞれは、接続された端末のユーザから利用要求を受け付ける手段と、前記利用要求を受け付けたユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定める手段と、前記第一の情報に基づいて定められるユーザ収容装置から、前記第二の情報を取得する手段と、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えるように構成することができる。
本発明の別の側面に係るサービス提供システムは、それぞれがユーザの端末に接続して該ユーザにサービスを提供する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備え、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成され、前記中央装置は、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を管理する手段を備え、前記複数のユーザ収容装置のうち、前記ユーザが現在対応付けられているユーザ収容装置は、前記ユーザ用のポータルプログラムを保持する手段を備え、前記複数のユーザ収容装置のそれぞれは、接続された端末のユーザから利用要求を受け付ける手段と、前記利用要求を受け付けたユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定める手段と、前記第一の情報に基づいて定められるユーザ収容装置から自装置へ、前記ユーザ用のポータルプログラムを移動させる手段と、自装置に移動させた前記ユーザ用のポータルプログラムを動作させ、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を参照させ、該第二の情報により特定されるユーザ収容装置から自装置へ、該アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段と、自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えるように構成することができる。
上記サービス提供システムにおいて、前記ユーザが現在対応付けられているユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、前記第二の情報及び/又は前記ポータルプログラムを保持するユーザ収容装置が変わるとともに、前記第一の情報が書き換えられ、前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、該コピーが移動するとともに、前記第二の情報が書き換えられるようにしてもよい。
これにより、同一のユーザ用のポータルやアプリケーションのコピーが少しずつ違う状態でシステムのあちこちに存在するような事態を避けることができ、使い勝手を向上させながら、系全体の資源の有効活用を図ることが可能になる。
上記サービス提供システムにおいて、それぞれのアプリケーションプログラムの前記ユーザ用のコピーが、当該アプリケーションプログラムのデータ及び状態の情報を含めて、前記複数のユーザ収容装置のいずれかに保持されるようにし、前記ユーザが指定したアプリケーションプログラムにより提供されたサービスに対して課金するための情報が、当該アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置から前記中央装置へ集められるようにしてもよい。
これにより、課金については中央装置での一元管理が可能になる一方で、アプリケーションプログラムの移動や実行については各ユーザ収容装置が自律的に制御することが可能になる。また、アプリケーションのユーザ用コピーが、アプリケーションの状態の情報をも含んでいることにより、例えば、ユーザがあるロケーションで利用していたアプリケーションがステップ1まで動作していたとして、ユーザが別のロケーションへ移動して同じアプリケーションを指定すると、そのロケーションのユーザ収容装置へ移動してきたアプリケーションのユーザ用コピーが、ステップ1の続きのステップ2から動作を開始することが可能である。
上記サービス提供システムにおいて、前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置は、前記ユーザの端末に接続していない間も、該コピーを動作させ続ける手段を備え、前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該コピーを、動作させ続けたまま移動させるものであってもよい。
これにより、例えば、ユーザがあるロケーションで利用していたアプリケーションがステップ1まで動作していたとして、ユーザがそのロケーションを離れた後もアプリケーションは稼働し続けてステップ1の続きのステップ2の動作を開始し、さらにユーザが別のロケーションへ移動して同じアプリケーションを指定すると、そのロケーションのユーザ収容装置へアプリケーションのユーザ用コピーが稼働しながら(ステップ2を実行しながら)移動してくるため、ユーザはステップ2のさらに先のステップ3が動作していることを確認できることになる。このようにユーザ端末と通信していない間も動作し続けるアプリケーションとして、例えば、キャラクター育成ゲームや、処理に時間のかかるレンダリングソフト等がある。
なお、ユーザ用のポータルプログラムについても、ユーザがいずれのロケーションにもいない間も動作させ続け、動作を継続させたまま、ユーザが次に行ったロケーションへ移動させるようにしてもよい。
上記サービス提供システムにおいて、前記複数のユーザ収容装置のそれぞれに、仮想化ミドルウェアがインストールされており、各アプリケーションプログラムの前記ユーザ用の同一のコピーが、いずれの装置でも動作可能であるようにしてもよい。
これにより、仮想化技術を用いて、ユーザ収容装置間でアプリケーションプログラムを移動できるようになる。
上記サービス提供システムにおいて、前記複数のユーザ収容装置のそれぞれは、前記中央装置を経由せずに自装置以外のユーザ収容装置に接続する手段をさらに備えてもよい。
これにより、ユーザ用のポータルやアプリケーションプログラムのコピーを移動させる制御を、さらに、中央装置に依存せずに、各ユーザ収容装置が自律的に行えるようになる。
上述した本発明に含まれる各発明はいずれも、サービス提供システムを構成する各ユーザ収容装置が行う方法の発明としても、サービス提供システム全体が行う方法の発明としても、成立するものである。また、これらの各装置あるいはシステムとしてコンピュータあるいはコンピュータ群を機能させるためのプログラムの発明や、このようなプログラムを記録した記録媒体の発明としても、勿論成立するものである。
例えば、本発明の一つの態様に係るサービス提供方法は、それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムにおいて、該ユーザにサービスを提供する方法であって、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成し、前記中央装置に、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を配置し、前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記ユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定めさせ、前記第一の情報に基づいて定められるユーザ収容装置を利用して、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を、入手させ、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させ、前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる。
また例えば、本発明の一つの態様に係るソフトウェアは、それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムに組み込まれることによって、該システムが該ユーザにサービスを提供するシステムとして機能させるものであって、前記複数のユーザ収容装置のいずれかが、アプリケーションプログラムの前記ユーザ用のコピーを保持しているように構成するためのプログラムコードと、前記中央装置に、前記ユーザが現在、前記複数のユーザ収容装置のいずれに対応付けられているかを示す第一の情報を配置するためのプログラムコードと、前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記ユーザが現在対応付けられているユーザ収容装置を、前記第一の情報に基づいて定めさせ、前記第一の情報に基づいて定められるユーザ収容装置を利用して、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための第二の情報を、入手させるためのプログラムコードと、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させるためのプログラムコードと、前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させるためのプログラムコードと備える。
以上のとおりであるから、本発明によれば、複数のサーバを分散配置したサービス提供システムにおいて、アプリケーションサービスを提供し、ユーザがいずれのロケーションに移動しても、システムの提供する同一のサービスを利用できるようにしながら、ユーザ端末と実行中のアプリケーションとの間で生じる遅延を少なくすることが可能になる。
以下、本発明の実施の形態について図面を用いて説明する。
図1に、本発明の一実施形態に係るサービス提供システムの構成例を示す。ロケーションA〜Cのそれぞれに、ユーザ収容サーバ100−A〜100−Cが設置され、それぞれが、サーバ通信部110によりネットワーク300に接続されている。また、中央サーバ200も、サーバ通信部210によりネットワーク300に接続されており、各ユーザ収容サーバ100及び中央サーバ200は相互に通信可能になっている。
本例では、共通のネットワーク300が、サーバ間の相互通信を可能にしているが、他の例として、中央サーバをルートとし各ユーザ収容サーバをリーフとする木構造のネットワークを採用することも可能である、その場合、ユーザ収容サーバ同士は、木構造のブランチに当たる中継サーバ経由で通信してもよいし、木構造のネットワークとは別に設けられた第二のネットワークで通信してもよい。本実施形態におけるネットワークとして、インターネット、次世代ネットワーク(NGN)、高速ギガビットイーサネット、IP−CATVネットワーク等、種々のものが使用できる。
上記サービス提供システムに接続するユーザ端末401〜422は、いずれかのロケーションのユーザ収容サーバ100のユーザ通信部105に、直接もしくはネットワーク500経由で、接続している。本サービス提供システムのユーザは、現在いる場所もしくはその近くのユーザ収容サーバ100に、ユーザ端末(自身が持ち歩く端末でもその場で貸し出されている端末でもよい)を接続して、アプリケーションサービスを受けることができる。
中央サーバ200は、本サービス提供システムの各ユーザが、それぞれどのロケーションで現在サービスを受けているか(現在接続中でない場合は、直前にどのロケーションでサービスを受けていたか)を示す情報を、各ユーザ滞留ロケーション記憶部220に記憶し、管理している。
上記サービス提供システムは、仮想化技術(例えば、「日経BPムック/すべてわかる仮想化大全」(日経BP社、ITPro編、2006年10月30日発行)を参照)を用いたサービスプラットフォームとして構成することもでき、その場合、各ユーザ収容サーバ及び中央サーバは、OSの上に仮想化ミドルウェア(例えば、VMware社のVMware ServerやVMware ESX ServerもしくはVMware Infrastructure、Microsoft社のVirtual Server、XenSource社のXen等)をインストールし、その上で本実施形態として述べる各機能が実現されるように構成される。
仮想化ミドルウェアがインストールされているコンピュータ(サーバ)であれば、どのようなハードウェアやファームウェアあるいはOS(ホストOS)が採用されたコンピュータであろうが、同一のプログラムが仮想化ミドルウェア上で動作可能である。また、アプリケーション個別の単位での資源管理も可能になる。さらに、いずれのサーバにも仮想化ミドルウェアがインストールされているという仮想化環境があることで、アプリケーションプログラムが動作しながらサーバ間を移動することが可能になる。
図2及び図3には、それぞれ、中央サーバ及び各ユーザ収容サーバを上述したように構成した場合の例が示されている。
図2の中央サーバ200は、サーバ通信部210、各ユーザ滞留ロケーション記憶部220のほか、各アプリケーション(以下、「AP」という。)オリジナル記憶部230、利用者管理データベース(以下、「DB」という。)240、AP毎利用履歴DB250の各機能を有する。
各APのオリジナルは、本例では、中央サーバの各APオリジナル記憶部230に集めて記憶されているが、他の例として、幾つかのユーザ収容サーバに分散して(例えば、オリジナルの提供者の近くのユーザ収容サーバに)記憶されているようにしても構わない。
利用者管理DB240は、中央に1つ設けられる利用者管理のためのマスターDBで、本実施形態のサービス系に加入している各ユーザの情報を記憶している。ここに登録されていない者は、本サービス提供システムの利用者にはなれない。ユーザが、いずれかのロケーションのユーザ収容サーバにおいて、アプリケーションサービスを受けるべくサインインを試みると、中央サーバの利用者管理DB240の情報との照合が行われ、利用の許否を決めることができる。利用者管理DB240は、サービス提供の対価をユーザに課金するための情報(例えば、どの種類のAPをどのくらいの時間利用したかを示す情報)を記憶してもよい。
AP毎利用履歴DB250は、AP毎に、そのAPを利用する各ユーザについて、利用記録を記憶することができる。例えば、あるユーザが、そのAPを何時間利用したか、AP中のどの機能を利用したか等の情報が、ユーザがそのAPの自分用のコピーの利用を終了する毎に、記録される。この記録されたユーザ毎の利用情報は、そのAPのオリジナル提供者へフィードバックされるようにしてもよいし、適当なタイミングで、課金集計用に加工して、利用者管理DB240へ報告されるようにしてもよい。適当なタイミングとは、例えば、利用情報がAP毎利用履歴DB250に書き込まれた時点、あるいは所定量の利用情報がAP毎利用履歴DB250に蓄積された時点、もしくは所定期間が経過する毎、等である。
本サービス提供システムのユーザへの課金が、例えば、利用内容に関係なく定額料金であれば、AP毎利用履歴DB250から利用者管理DB240への報告は不要であるが、利用した時間や専有した資源(CPUやメモリ)の量等を単位とする従量課金の場合や、利用機能や利用時期等によって異なる額となる課金の場合は、AP毎利用履歴DB250から利用者管理DB240へ、課金のための情報が収集されるようにするとよい。
AP毎利用履歴DB250は、AP毎に、そのAPを利用する各ユーザについて、そのユーザが次回、自分用のコピーを利用する際に必要な最低環境条件を示す情報(CONFIG情報)を、記憶してもよい。このCONFIG情報の記録は、ユーザがそのAPの自分用のコピーの利用を終了する際に、その資源に関する情報(終了時の状況をもとに、そのAPの自分用のコピーの動作を再開するのにどの程度のメモリが必要か、必要なCPU占有割合、他のAPと比較したときの優先度等)を書き込むことにより行われる。
図3のユーザ収容サーバ100は、サーバ通信部110、ユーザ通信部105のほか、複数のロケーションのユーザ収容サーバに分散している各ユーザ用のポータルプログラムや、アプリケーションプログラムのユーザ用コピーを、必要に応じて呼び寄せるための種々の機能を有する。各機能部分の動作は、図6及び図7のフローチャートの説明とともに後述する。
図4及び図5は、それぞれ、本発明の一実施形態に係るサービス提供システムにおいて、アプリケーションのユーザ用コピー及びユーザ用ポータルが、ユーザの移動先のロケーションへ移動してくる様子を例示している。
この例では、各ロケーションのユーザ収容サーバ100と中央サーバ200は、データセンタ(以下、「DC」という。)として構成されている。DCは、単体のサーバにより構成されてもよいし、一箇所に集められたサーバ群、ストレージ群、ネットワーク装置等により構成されてもよい。例えば、インターネット事業者、ケーブルテレビ事業者、固定電話事業者、携帯電話事業者等が、各DCの運用者になってもよく、DC毎に運用者が異なってもよい。DCとDCの間は、上述したように種々のネットワークで接続することができるが、専用線を敷設しても構わない。
中央DCとユーザ収容サーバの間、ユーザ収容サーバ同士の間には、一つ以上の中継DCがあってもよい。中継DCは、両端のDCの間で送受信されるメッセージを中継したり、アプリケーションコピーやポータルの移動を助けたりする。この中継DCの機能も、OSの上に仮想化ミドルウェアがインストールされた仮想環境上で実現することができる。
アプリケーションコピーやポータルの移動元のDCと移動先のDCとは、間に中継DCがある場合はその中継DCも含めて、必要に応じて同期をとりながら通信することで、一つの仮想化空間を形成するようになっていてもよい。
仮想化空間上を移動するアプリケーションプログラムのコピーは、サーバの仮想化技術におけるゲストOSとアプリケーションプログラムとを一体化した仮想マシン(プログラム)でもよいし、アプリケーションプログラムの部分のみでもよい。前者の場合、例えば、VMware社のVirtual Applianceの形で、移動元のDCから移動先のDCへアプリケーションコピーを移動させることができる。
エンドユーザは、例えば、アクセスパーソナルと称される自分専用の小さな機器を持って、各ロケーション間を移動することにより、場所を選ばずに本実施形態のサービス系に接続することができる。アクセスパーソナルには、個人を認証するための機能及び通信接続機能が備えられており、エンドユーザ側の端子とネットワーク側の端子がある。エンドユーザ側の端子には、ユーザ・インタフェースを備えた機器(パソコンでも、電話のヘッドセットでも、TVのセットトップボックスでもよく、ユーザ自身のものであっても、その場で借りたものであってもよい)をつなぐ。このユーザ・インタフェース機器とアクセスパーソナルから構成されるユーザ端末が、ネットワーク側の端子を介して、そのロケーションのユーザ収容DCに接続されることになる。
エンドユーザに対してサービスを提供することになるアプリケーションプログラムは、そのコピーが、ユーザの近くのロケーションのユーザ収容DC内にあって、ユーザ端末にダウンロードされることはなく、ユーザは、いわば、ネットワーク越しにアプリケーションに接することになる。これにより、ユーザ・インタフェース機器が変わっても、同じようにサービス利用が可能となり、ユニバーサルな利用が実現できる。
アプリケーションのオリジナルは、ユーザがアクセスするユーザ収容DCではなく、中央DCないしオリジナル提供元のDCにある。そのオリジナルのコピーとしてのマスターコピーが、そのアプリケーションによるサービスを提供しようと決めたロケーションのユーザ収容DC内に、作成される。
中央DCとユーザ収容DCとが、間に中継DCがある場合はその中継DCも含めて、一つの仮想化空間を形成するようになっている場合、その仮想化空間上を、アプリケーションのマスターコピーが、間に中継DCがある場合はミラーリングされながら、移動していくようにしてもよい。このように、アプリケーションプログラムが、中央DCからユーザ収容DCへの仮想化空間上を張り出していくようにすることの利点は、中央DCに残っているオリジナルのプログラムが動作し続ける一方で、マスターコピーのプログラムが同様に動作し続けながらユーザ収容DCへ配信されることが可能となる点である。
勿論、マスターコピーのプログラムは、ファイルとして中央DCからユーザ収容DCへダウンロードされるのでもよいし、CD−ROM等の記憶媒体で配布しても構わない。
上記マスターコピーが、各ロケーションにおけるコピー元のAPとなる。マスターコピーからは、2種類のAPコピーが生成され得る。1つは、ユーザが利用する間だけ生成されて利用終了時に消滅する標準コピーであり、もう1つは、ユーザの利用終了後もそのユーザ用に保持されて次回利用時にまた利用できる個人別コピーである。
マスターコピーは、オリジナルと同様に、全てのユーザに共通のデータや状態しか持たないが、個人別コピーは、そのアプリケーションを動作させる各ユーザによって異なり得るプログラムのデータや状態を保持するものである。
よって、マスターコピーは、例えば、アプリケーションプログラムと、そのプログラムが利用するデータと、プログラム及びデータの状態の初期値とから構成される。一方、各ユーザ用コピーは、例えば、アプリケーションプログラムと、そのプログラム内でそのユーザが作成済みのデータ及び利用途中のデータと、そのユーザ用プログラム及びデータ双方の状態の現在値とから構成される。この状態の現在値は、プログラムの進行状況を動的に示すものとすることができ、例えば、プログラムがどこまで進んでどの状況番号まで動いていた、あるいは現在も動いているのかを、常に動的に示すものとすることができる。
図4の例では、ユーザSが、時点(1)において、ロケーションAのユーザ収容DCにアクセスし、あるAPの自分用コピーを作成して、利用している。その後の時点(3)において、ユーザSは、ロケーションBへ移動しており、時点(1)で利用していたAPを再び利用することを所望したとする。そうすると、本実施形態では、時点(1)で利用された後そのままロケーションAのユーザ収容DCに保持されていたユーザS用のAPコピーが、ロケーションBのユーザ収容DCへ呼び寄せられて移動してくる。
なお、時点(3)でユーザが所望するAPコピーが、直前の時点(2)にユーザがいたロケーションに保持されているとは限らず、図示の例でも、さらに前の時点(1)にユーザがいたロケーションに保持されており、そこから呼び寄せられている。
ここで、本実施形態で各APにより提供されるサービスには、例えば、事務処理ソフト、ソフトウェア開発ツール等、様々なものがあり得る。その中には、文章を書く、絵を描くというようにユーザ個人のペースで進むアプリケーションもあれば、シミュレーションやレンダリングのようにコンピュータが単独で進める時間の長いアプリケーションもあれば、キャラクターを育てていくゲームのように時間が経つにつれて状況が変化するアプリケーションもあれば、高い実時間性が要求される相互作用を伴うオンライン対戦ゲームや、時間で変化するコマーシャル提供が付加されたアンケート付きビデオ配信のようなアプリケーションもあり得る。そのような種々のアプリケーションの特性に合わせて、DC間でAPコピーを移動させる処理は、静的に行ってもよいし、動的に行ってもよい。
移動元のDCでのAPコピーの動作が既に終了しているか、稼動中であっても一旦停止させて構わない場合には動作を終了させて、静的な移動を行うことができる。静的な移動では、APコピーの動作終了時点でのデータや状態値とプログラムとを含むAPコピーのファイルを作成し、そのファイルを移動先のDCへ送信する。送信が完了すると、移動元のDCからは、そのAPコピーは消去される。移動先のDCでは、受信したファイルからプログラムを取り出し、そこに同じく受信ファイルから取り出されたデータや状態値を入力して、そのユーザ用のAPコピーの動作が再開される。
移動元のDCから移動先のDCへ、APコピーが動作を継続しながら移動してくるためには、動的な移動を行う必要がある。これは、例えば、VMware社のVMotionや、Xenのライブ・マイグレーション機能を使用することによって実現できる。動的な移動では、移動元のDCにおいて稼動中のAPコピーを停止させることなく、APコピーのコピーを徐々に移動先のDCに作り出していき、完全なコピーができると、移動元のDCのAPコピーから移動先のDCのAPコピーのコピーへ制御権が移り、その後、移動元のDCのAPコピーが消去される。
中継DCが間に入って動的な移動をする場合には、移動元のDCのAPコピーを稼働させたままそのコピーを中継DCに徐々に作り出していき、完全なコピーができると、移動元のDCのAPコピーから中継DCのAPコピーのコピーへ制御権が移り、その後、移動元のDCのAPコピーが消去される。次に、中継DCで稼働中のAPコピーを元にして、同様の作業を下流のDCに対して繰り返し、最終的に、移動先のDCにAPコピーが作り出されて、制御権を得る。
図4のような仕組みにより、例えば、録画ビデオ視聴サービスにおいて、自宅で視聴中のある映画の途中で「停止」ボタンを押した後、出張先のホテルで同じ映画の停止させた箇所から視聴を継続することが可能になる。これは、自宅の端末が接続していたユーザ収容DCから、ホテルの端末が接続するユーザ収容DCへ、ユーザが視聴に利用するプログラムと同映画のコンテンツデータが、そのユーザのみに有効な停止箇所の情報(その時点での状態値)とともに移動してくることによって、実現されている。
また、例えば、卵を育てるオンラインゲームサービスにおいて、自宅で「孵化前3日」まで進ませた状態で接続を切り、翌日、旅行先の知人宅で同じゲームにアクセスしてみると、自分の卵が孵化前2日まで成長しているのを見ることができる。これは、自宅の端末が接続していたユーザ収容DCから、旅行先の端末が接続するユーザ収容DCへ、育成ゲームのプログラムとそのユーザの卵の経時的に変化する情報(その時点での状態値)とが、プログラムが動作を継続したまま移動してくることによって、実現されている。
さらに、例えば、3D作画サービスにおいて、前日に、作画社のパソコンから、作成中のアニメの色付け作業(レンダリング)を稼働させておき、翌日の朝に、編集作業社の端末から、その色付けソフトの進行状況を見てみると、作業が終了してアニメの色付けができているのを確認することができる。これは、作画社のパソコンが接続していたユーザ収容DCにおいて、接続が切れた後も作業を続行し、そこから編集作業社の端末が接続するユーザ収容DCへ、3D作画ソフトのプログラムと作成中のアニメの作業終了時点でのデータ及び状態値とが移動してくることによって、実現されている。
以上のように、ユーザの視点からは、ユーザ毎のアプリケーション(プログラム・データ、システム、ウェブ等)を、時間、場所、端末に関わらず、同じ状態(自分専用の状態)で、利用することが可能になる。また、あるロケーションで利用していたアプリケーションを、別のロケーションに移動しても、あたかも以前のロケーションで利用を続けているかのように(同じ条件、サービス内容、料金、見え方等で)利用することが可能になる。さらに、ユーザ用のアプリケーションコピー自体が、ユーザが現在いる場所の近くのユーザ収容サーバへ移動してくるため、ユーザとアプリケーションとの間の遅延が少なく、インタラクティブなアプリケーションサービスの提供もスムーズに行える。
図5に示す実施形態では、ユーザがアプリケーションを利用しようとするとき、最初にアクセスする入口(エントリー)であるポータルを、そのユーザ用に任意に加工されたものとすることができ、そのユーザ専用のポータルを、ユーザが移動する先のロケーションへ、追随して移動させることができる。
図5の例では、ユーザSが、時点(2)において、ロケーションCのユーザ収容DCにアクセスし、自分用のポータルを介して、アプリケーションサービスを利用している。その後の時点(3)において、ユーザSは、ロケーションBへ移動しており、自分用の利用環境でサービスを利用することを所望したとする。そうすると、本実施形態では、時点(2)で使われた後そのままロケーションCのユーザ収容DCに保持されていたユーザS用のポータルプログラムが、ロケーションBのユーザ収容DCへ呼び寄せられて移動してくる。ポータルプログラムも、データやその時々で変わる状態値を伴い得るものであり、それらを含めて、静的に移動させてもよいし、動的に移動させてもよい。
ユーザが本実施形態のサービス系にアクセスするための入口がポータルであるが、2種類のポータルが使えるようにしてもよい。1つは、どのユーザに対しても同じ標準ポータルであり、もう1つは、各ユーザに固有の利用環境を提供できる個人別ポータルである。
個人用ポータルには、個人の利用プロパティの情報が付随している。標準ポータルは、個人の利用プロパティを持たない。また、あるユーザ用のポータルには、そのユーザ用の利用プロパティだけが付随する。個人用ポータルと個人のAPプロパティ情報とのセットは、オブジェクト指向的に、対象と振る舞いの記述が、一緒に処理の対象として動かされるものとして構成してもよい。
個人の利用プロパティの情報には、例えば、ポータル自身を個人用にカスタマイズするためのユーティリティ、タイマーやアラート等の補助機能、アクセスターミナルが何のユーザ・インタフェース機器(パソコン/電話/TV等)にどのような方式でつながっているかに合わせてポータルへのアクセスを可能にするスクリプト(アクセスメソッド)、ユーザが各種サービスを選択するためのメニュー画面を構成するオブジェクト(ボタンのような2D表示のメニュー、メタバースのような3D表示のメニュー、携帯のような小画面用の表示のメニュー等、アクセスパーソナルからユーザ側に接続される機器の表示/出力形式が何であっても共通に利用可能なように、内容がオブジェクト形式になっているメニュー)、ウィジェットツール等が含まれる。
個人用ポータルに付随する個人の利用プロパティの情報の中に、そのユーザ個人が利用しているAPがどれか、そのAPのそのユーザ用コピーがどのロケーションに保持されているか等を示す、AP利用プロパティの情報が含まれていてもよい。
図5において、ユーザSの移動先のロケーションBのユーザ収容DCは、ユーザSの要求に応じて、ユーザS用のポータルを呼び寄せるため、まず、中央DCに、ユーザSが直近最後にアクセスしたロケーション(ユーザS用ポータルが保持されているロケーション)を問い合わせる。中央DCは、各ユーザの滞留ロケーションを示す情報を管理しているので、ユーザSはロケーションCに対応付けられている旨を、ロケーションBのユーザ収容DCに回答する。
ロケーションBのユーザ収容DCは、ロケーションCのユーザ収容DCから自装置へ、ユーザS用ポータルを移動させ、ユーザSが自分用の環境を利用できるようにする。同時に、移動元のロケーションCのユーザ収容DCからは、ユーザS用ポータルは消去される。そして、中央DCにある各ユーザ滞留ロケーション情報は、ユーザSがロケーションBに対応付けられていることを示すように書き換えられる。
ユーザS用ポータルは、AP利用プロパティとして、ユーザS用のAPコピーがロケーションAに保持されていることを示す情報を持っているため、図5のように呼び寄せられたユーザS用ポータルを介して、図4のようにユーザS用APコピーを呼び寄せることが可能になる。
以上のように、アプリケーションを動かすために必要な機能が、ポータルとして常に1個だけ本サービス提供システム内に存在し、使う場所へ、使うときに、動き続けた状態のまま移動してくることが可能になる。
なお、ポータルは、例えば、Webページの形で提供可能であるが、ユーザ・インタフェース機器が電話やTVであってもよい場合、他の様々な形でも提供可能とすることができる。機器の種類を問わずに使用可能とするには、ポータルは、アクセスパーソナルとの間で、XML等で、メニューやガイダンス、データ等を受け渡しする機能を備えるとよい。この場合、ポータル及び利用プロパティ情報や、中央DCで管理する各ユーザの滞留ロケーションを示す情報は、例えば、バイナリXMLや、BISON等のオブジェクト記述方式で、作成される。
以下には、図3のような内部機能構成を有するユーザ収容サーバが、図6及び図7に示す動作を行い、ユーザにサービスを提供する様子を、図8〜図10の例も参照しながら説明する。ロケーションA,B,Cは、地理的ないしネットワーク的に離れているが、いずれも、同じ中央配下の本実施形態に係るサービス系を構成するものである。
まず、あるロケーション(本例ではロケーションB)でユーザ(本例では平井氏)がサービスを利用しようとする場合、ロケーションBのユーザ収容サーバのポータル動作部115が、利用要求を受け付ける(S100)。
利用要求が受け付けられたロケーションBに、平井氏の自分用のポータルがある場合と無い場合で、処理が分かれる(S110)。個人用のポータルがそのロケーションにある(滞留している)場合は、そのロケーションの滞留ユーザ記憶部125に、当該ユーザ名又はユーザID等が記録されている。
個人用ポータルがそのロケーションに無い場合(S110No)は、ユーザは標準ポータルを利用することになり、ユーザ収容サーバのポータル動作部115は、標準ポータル記憶部140からポータルプログラムやデータ等を読み出して実行する。ポータル動作部115はまた、ユーザ通信部105を介して、ユーザ端末からの指示を受け取ったり、ユーザ端末への表示/出力を行ったりする。
標準ポータルは、利用ユーザの滞留ロケーションを中央サーバに問い合わせる(S120)。これにより、ユーザは、自分用のポータルが、今いるロケーションとは別のいずれかのロケーションに既に作成してある場合(自分用のポータルが保持されているロケーションからそれ以外のロケーションへ、ユーザが移動してきた場合)は、その滞留ロケーションから今のロケーションのユーザ収容サーバへ、自分用のポータルを移動させることができる。自分用のポータルが既に作成されている状態とは、本実施形態のサービス系にユーザとして加入して(利用者管理DB240に自分のユーザIDが登録されて)おり、且つ、自分用のポータルが既に作成されて(各ユーザ滞留ロケーション記憶部220に自分のユーザIDがいずれかのロケーションに対応付けられて記憶されて)いる状態になる。
図8の例は、昨日までロケーションCで自分用のポータルを介してAP1の自分用コピーを利用していた平井氏が、ロケーションBへ移動して、本実施形態のサービス系へアクセスしてきた場合を示している。移動先のロケーションBで、平井氏はロケーションCで利用していたものと同じアクセスパーソナルを使って接続する。
ロケーションBのユーザ収容サーバは、滞留ユーザ記憶部125を調べるが、平井氏のポータルは無いため平井氏のユーザIDは載っておらず、標準ポータルが表示される。ここで、ユーザである平井氏が、「自分のポータルを呼び寄せる」という命令を標準ポータル内メニューで選択すると、ロケーションBのユーザ収容サーバは、平井氏用ポータルが保持されているロケーションを、中央サーバに問い合わせる。
中央サーバの各ユーザ滞留ロケーション記憶部220には、平井氏が直近にいたロケーションCが記憶されている(S125Yes)ため、ロケーションBのユーザ収容サーバは、中央サーバから問い合わせに対する回答を得て、平井氏用のポータルプログラムを滞留先のロケーションCから現在のロケーションBへ呼び寄せることができる(S130)。
具体的には、ロケーションBのポータル呼び寄せ/送り出し部130が、サーバ通信部110を介して、中央サーバへ問い合わせを送信し、必要があればロケーションCへ平井氏用ポータルの移動要求を送信し、送信されてきた平井氏用ポータルを受信して、滞留ユーザ用ポータル保持部120に記憶する。受信が完了すると、滞留ユーザ記憶部125にも、平井氏のユーザIDが記憶される(S130)。また、中央サーバへ、平井氏の滞留ロケーションをBに変更するように通知する(S135)。
一方、ロケーションCのポータル呼び寄せ/送り出し部130は、サーバ通信部110を介して、ロケーションBへ平井氏用ポータルを移動せよというメッセージを、中央サーバもしくはロケーションBから受信し、滞留ユーザ用ポータル保持部120に記憶されている平井氏用ポータルを、ロケーションBへ向けて送出する。ロケーションBへの移動が完了した後、滞留ユーザ用ポータル保持部120から平井氏用ポータルを削除し、滞留ユーザ記憶部125から、平井氏のユーザIDを削除する(S135)。
そうすると、図9に示すように、ロケーションBにポータルが移動し、ロケーションCの同じポータルは消去され、ロケーションBから移動完了通知を受けた中央サーバの各ユーザ滞留ロケーション記憶部220では、平井氏の滞留ロケーションがCからBに書き換えられ、元いたロケーションCの滞留ユーザ記憶部125では、平井氏のユーザIDが削除され、現在のロケーションBの滞留ユーザ記憶部125には、平井氏のユーザIDが追加される。
そして、ロケーションBのユーザ収容サーバにおいて、移動してきて滞留ユーザ用ポータル保持部120に記憶されたポータルプログラムやデータ等は、ポータル動作部115により読み出されて実行される(S115)。これにより、平井氏のユーザ端末の画面が、標準用ポータルのものから自分用のポータルのものに書き換わる。
以上のように、ユーザ用のポータルがロケーション間を移動する際には、そのユーザ用の利用プロパティの情報も、一緒に移動することになる。ユーザは、自分用のポータルを介することにより、後述するように、APの標準コピーと、自分用のAPコピーの、いずれをも利用することが可能になる。
なお、ロケーションCからBへのポータルの移動は、ロケーションBのユーザ収容サーバが、中央サーバからの回答を得て、自身で改めて、ロケーションCに対してポータル移動を要求する構成で実現してもよいし、問い合わせを受けた中央サーバが、ロケーションBのユーザ収容サーバへ回答を返す代わりに、直接ロケーションCのユーザ収容サーバに対し、平井氏のポータルをロケーションBへ移動するよう指示するという構成で実現してもよい。いずれの形態も、本発明の範囲に含まれる。
標準ポータルが、利用ユーザの滞留ロケーションを中央サーバに問い合わせた結果、そのユーザ用のポータルが他のロケーションにも無く(S125No)、その場で自分用のポータルを作成したい場合(S140Yes)、自分用のポータルを新規作成することができる。
自分用のポータルがどのロケーションにも無い状態とは、本実施形態のサービス系にユーザとして加入して(利用者管理DB240に自分のユーザIDが登録されて)いるが、自分用のポータルが未だ作成されていない状態になる。この状態のままでも、標準ポータルへアクセスし、APの標準コピーを利用することはできるが、標準コピーは、そのユーザの利用が終わると、ソフトウェアの実体としては残らず消えてしまうものである。
そこで、本実施形態では、標準ポータルとは別に、自分用のポータルを作成することができるようにしている。自分用のポータルは、本実施形態のサービス系内で1つだけ作ることができ、サービス系内の異なるロケーションでも利用することができる。このため、あるユーザからアクセスされたユーザ収容サーバは、そのユーザ用のポータルを新規作成する前に、中央サーバへ問い合わせ、各ユーザ滞留ロケーション記憶部220に、そのユーザのIDが記憶されていない(いずれのロケーションにも対応付けされていない)ことを確認する。
そして、ユーザ収容サーバのポータル作成部135は、標準ポータル記憶部140に記憶されているポータルプログラムに、そのユーザ用の利用プロパティ情報を生成して付随させることにより、ユーザ用ポータルを作成し、滞留ユーザ用ポータル保持部120に記憶させる(S145)。また、滞留ユーザ記憶部125に、ポータルを作成したユーザのIDを記憶させる(S145)。例えば、図8において、佐藤氏用ポータルがロケーションAで新規作成されたとすると、ロケーションAのユーザ収容サーバは、滞留ユーザ記憶部125に、佐藤氏のIDを追加し、さらに、中央サーバの各ユーザ滞留ロケーション記憶部220に、佐藤氏の滞留ロケーションがAであることが記憶されるように、中央サーバへ通知を送る(S150)。
上記の例では、利用要求が受け付けられたロケーションに、そのユーザ用のポータルが無ければ(S110No)、標準ポータルの動作を開始させているが、ユーザが自分用のポータルを使わないことを指示した場合(例えば、S140Noの場合)に、標準ポータルの動作を開始させてもよい(S160)。
また、図6のS120とS140の順序を逆にして、ユーザが、自分用のポータルを使いたいと指示した場合(しかし、今のロケーションにはそのユーザ用のポータルが無い場合)に、中央サーバにそのユーザの滞留ロケーションが記憶されているかどうかの問い合わせを行う(記憶されていなければポータルの新規作成の処理に入る)ようにしてもよい。こうすると、ユーザが自分用のポータルを使わないことを指示した場合には、中央サーバへの問い合わせが発生せず、すぐにユーザの所望のAP(但し、この場合は標準コピー)の指定へ進むことができる。
いずれにしても、自分用のポータルが今のロケーションに無く、且つ、別のロケーションにある自分用ポータルを移動させない場合、もしくはサービス系のどこにも自分用のポータルが無い場合には、標準ポータルのみ利用可能である。標準ポータルでは、APの標準コピーを利用することができるが、個人用のAPコピーを利用することはできない。
ユーザ収容サーバは、標準ポータルを介して、ユーザが所望するAPの指定を受け付ける(S165)と、APコピー動作部150が、各APマスターコピー記憶部175から生成される指定APの標準コピーを、標準APコピー一時記憶部170に記憶する(S170)。そして、中央サーバに利用記録を残すため、サーバ通信部110を介して、中央サーバに対し、ユーザによる利用宣言を行う(S175)。具体的には、利用者管理DB240へのサインイン(ログイン等)を行い、中央サーバは、利用管理を開始する。
ユーザ収容サーバでは、APコピー動作部150が、標準APコピー一時記憶部170に記憶されたプログラムやデータを読み出して実行する(S180)。ユーザが、今いるロケーションで、その標準APコピーを利用し終わると(S185Yes)、ユーザ収容サーバは、その利用状況データを中央サーバの利用者管理DB240へ記録する(S190)。記録される利用状況データは、実際の運用上は、課金に関連するものとすることができ、例えば、APの種類や名前、利用時間、利用機能の種類と利用した回数や度数、パケットなどの通信量、使用した資源(CPUやメモリ等)の量等があり得る。
そして、APの標準コピー(エイリアス)は、利用終了後、消滅し、保存や再利用はされない(S195)。
個人用のポータルが今のロケーションにある場合(S110Yes)は、それが自動で表示され、アプリケーションが利用できる(S115に続く図7)。これは、上述したように、個人用のポータルが他のロケーションにあってそれを今のロケーションに移動させてきた場合や、個人用のポータルがどのロケーションにも無く今のロケーションで新規作成した場合にも、同様である。
具体的には、ユーザが今いるロケーションのユーザ収容サーバは、そのユーザ用のポータルを介して、ユーザが所望するAPの指定を受け付ける(S200)と、APコピー動作部150が、滞留ユーザ用ポータル保持部120に保持されているそのユーザ用のAP利用プロパティを参照する(S205)。
図9の例では、ロケーションCからロケーションBに移動してきた平井氏用のポータルに付随する平井氏用のAP利用プロパティは、AP1というAPについては平井氏用コピーがロケーションCにあり、AP2については標準コピーしか利用しておらず(平井氏用コピーは無く)、AP3については平井氏用コピーがロケーションAにあることを示している。
これは、例えば、一昨日にはロケーションAで、自分用ポータルを介してAP3の自分用コピーを利用していた平井氏が、昨日にはロケーションCへ移動して、自分用ポータルを介してAP1の自分用コピーを利用し、今日はロケーションBへ移動して、本実施形態のサービス系へアクセスしてきた場合の状態になる。昨日の作業で、自分用APコピーを利用するために自分用ポータルを呼び寄せたので、平井氏用ポータルは、ロケーションAからCへ移動しているが、昨日はAP3を利用しなかったため、AP3の自分用コピーは、一昨日に利用したロケーションAに残ったままになっている。
今日の移動で、平井氏用ポータルが、ロケーションCからBへ呼び寄せられても、AP1の平井氏用コピーはロケーションCに、AP3の平井氏用コピーはロケーションAに保持されたままであり、何もしなければ、ロケーションBには移動してこない。
ここで、平井氏がAP3を所望のAPとして指定した場合、ロケーションBのユーザ収容サーバは、平井氏用ポータルのAP利用プロパティを参照して、AP3の平井氏用コピーが自ロケーションには無く、ロケーションAにあることを知る(S210No)。そうすると、APコピー動作部150は、APコピー呼び寄せ/送り出し部160に、サーバ通信部110を介して、ロケーションAのユーザ収容サーバへAP3の平井氏用コピーの移動要求を送信させる。
ロケーションAのAPコピー呼び寄せ/送り出し部160は、サーバ通信部110を介して、ロケーションBへAP3の平井氏用コピーを移動せよというメッセージを、ロケーションBから受信し、各ユーザ用APコピー保持部155に記憶されているAP3の平井氏用コピーを、ロケーションBへ向けて送出する。ロケーションBへの移動が完了した後、ロケーションAでは、各ユーザ用APコピー保持部155からAP3の平井氏用コピーを削除する。
ロケーションBのAPコピー呼び寄せ/送り出し部160は、送信されてきたAP3の平井氏用コピーを受信して、各ユーザ用APコピー保持部155に記憶する(S240)。受信が完了すると、滞留ユーザ用ポータル保持部120に記憶されている平井氏用のAP利用プロパティのうち、AP3のロケーションをAからBに変更する(S240)。
この様子が、図10に示されており、ロケーションBに平井氏用AP3コピーが移動し、ロケーションAの同じ平井氏用AP3コピーは消去され、ロケーションBでは、平井氏用のポータルに付随するAP利用プロパティが、AP3の平井氏用コピーがロケーションBにあることを示すように書き換えられている。
そして、ロケーションBのユーザ収容サーバにおいて、移動してきて各ユーザ用APコピー保持部155に記憶された平井氏用AP3コピーのプログラムやデータ等は、APコピー動作部150により読み出されて実行される(S215)。これにより、平井氏のユーザ端末の画面には、平井氏用ポータルを通して、AP3が利用可能なAPとして表示され、実際に利用することが可能になる。
個人用APコピーは、プログラムに加えて、データや状態値を含むものであるが、その中には、例えば、利用終了時のAPのプログラム及びデータの状態、作成済みデータへのポインタ、仮想環境上の論理情報を下位の物理的環境にマッチングさせるために必要な情報等を含んでもよい。また、ユーザがそのロケーションを離れた後も、そのユーザ用APコピーの動作を継続させる場合には、利用終了時の状態として、ユーザが接続を切った時の状態ではなく、その後、継続させていた動作が終了した時の状態を、保持してもよい。さらに、ユーザ用APコピーを動作させたまま移動させてくる場合には、現在の動作中の状態が、含まれていてもよい。
以上のように、本実施形態では、ユーザが移動した先のロケーションに、最初は存在しなくても、個人用のポータルも、個人用のAPコピーも、他のロケーションに存在するものを呼び寄せて利用することが可能になる。
ユーザが、自分用のポータルはあるが、例えば、AP2について自分用のコピーが無く(S205No)、自分用のAP2コピーを作成したい場合(S245Yes)は、そのロケーションのAPコピー動作部150は、必要に応じ、中央サーバにあるAP2用の利用履歴管理DB250にサインンインして利用開始要求を記録する。そうすると、AP2用の利用履歴管理DB250内に、そのユーザの個人用(本例では、平井氏用)の記録領域が生成され確保される。
そして、平井氏が今いるロケーションBでは、APコピー作成部165が、各APマスターコピー記憶部175にあるAP2のマスターコピーから平井氏用コピーを生成し、各ユーザAPコピー保持部155に記憶する(S250)。その後、滞留ユーザ用ポータル保持部120に記憶されている平井氏用のAP利用プロパティのうち、AP2のロケーションを無からBに変更する(S250)。
このように、指定APの個人用コピーが新規作成された場合や、指定APの個人用コピーが今のロケーションにある場合(S210Yes)も、各ユーザ用APコピー保持部155に記憶された指定APの個人用コピーのプログラムやデータ等が、APコピー動作部150により読み出されて実行される(S215)。
指定APの個人用コピー(本例では、AP3の平井氏用コピー)を利用するにあたり、中央サーバに利用記録を残すために、ロケーションBのAPコピー動作部150は、サーバ通信部110を介して、中央サーバに対し、ユーザによる利用宣言を行ってもよい(S220)。具体的には、指定APの利用履歴DB250へのサインインを行う。
ユーザが、今いるロケーションで、そのユーザ用APコピーを利用し終わると(S225Yes)、ユーザ収容サーバは、その利用状況データを中央サーバのAP毎利用履歴DB250へ記録する(S230)。利用状況データは、上述したように、課金に関連するものとすることができる。
ユーザ用APコピーの利用終了時、利用状況データの代わりに、もしくはそれに加えて、上述したCONFIG情報を、指定APの利用履歴DB250に記録するようにしてもよい。その場合、次回、そのユーザ用APコピーの利用が開始されるときに、指定APの利用履歴DB250へユーザがサインインするから、その際に、記録してあるCONFIG情報を参照し、最低限これを満足する環境を、そのユーザ用APコピーをこれから動作させようとするユーザ収容サーバが、用意する。ユーザ用APコピーを他のロケーションから動作させたまま移動させてくる場合には、その途中の経路において必要な資源を確保するために、CONFIG情報を使ってもよい。
このように、APコピーを動作させるのに先立って、所定の資源を確保しておくことは、仮想化環境において、特に有効である。なお、仮想化環境の場合、所定の資源の占有宣言は、最大利用時のCPU、メモリ、ハードディスク等の割り当て量の宣言とすることができ、実際にその稼動状況が最大値にいたらなければ、他のサービスへ資源を融通することも可能である。
そして、指定APのユーザ用コピーは、利用終了後も、消えずに保持される(S235)。よって、ユーザが、あるAPを長期間利用しない場合、そのAPのユーザ用コピーは、最後に利用されたロケーションに、使われることのないまま、保持され続けることになる。このように、使われない個人用APコピーがあちこちのロケーションに残っていると、資源の有効利用の観点からは好ましくないことがある。
これを防ぐために、運用上の仕組みとして、一定期間が過ぎて利用がない(S255Yes)個人用APコピーは、中央サーバに回収するようにしてもよい。その場合、そのユーザ用APコピーを中央サーバへ移動させるとともに、いずれかのロケーションに存在するそのユーザ用ポータルに付随するAP利用プロパティの情報を書き換える(S260)。一定期間が過ぎたことを検出した時点で、そのユーザ用ポータルがどのロケーションにあるかは、中央サーバの各ユーザ滞留ロケーション記憶部220を参照すれば知ることができる。
よって、一定期間の過ぎたユーザ用APコピーを、例えば、ロケーションBから中央サーバへ回収するのであれば、中央サーバが、現在そのユーザ用ポータルを保持しているユーザ収容サーバに対して、中央サーバに回収されたAPのロケーションがBから中央へ変更されるように、利用プロパティ情報の更新を依頼すればよい。このようにしておけば、再利用時には、中央サーバからユーザが今いるロケーションへ、保管してあったそのユーザ用APコピーを移動させることが可能である。
なお、ここでは、個人用APコピーの回収について述べたが、個人用ポータルについても、長期間利用がなければ、中央サーバに回収し、中央サーバの各ユーザ滞留ロケーション記憶部220がそのユーザについては中央を指すように情報を更新しておいてもよい。
以上の例では、個人用ポータルを移動させたときに、中央サーバの各ユーザ滞留ロケーション記憶部220の情報を書き換え、個人用APコピーを移動させたときに、移動先のロケーションの滞留ユーザ用ポータル保持部120のAP利用プロパティ情報を書き換えていたが、書き換えのタイミングはこれに限られるものではない。
例えば、本実施形態では、個人用ポータルや個人用APコピーは、そのユーザしか利用できないのであるから、あるロケーションでそれらを利用している間に、他のロケーションから呼び寄せられることはない。よって、移動先のロケーションにおける個人用APコピーの利用が終了したときに、そのユーザのAP利用プロパティ情報を書き換えるようにしてもよいし、さらにその後で、移動先のロケーションにおける個人用ポータルの利用が終了したときに、中央サーバにおけるそのユーザの滞留ロケーション情報を書き換えるようにしてもよい。
また、個人用のポータルからは、APの標準コピーと個人用コピーのいずれでも、ユーザが望む方を利用できるようにしてもよい。ユーザが今いるロケーションにそのユーザ用のポータルが既にある場合でも、その個人用ポータルから任意のAPの標準コピーを利用することができる。また、指定されたAPについて、自分用のコピーがなく新規作成も希望しない場合(S245No)だけでなく、自分用のコピーがあってもその利用をユーザが希望しない場合にも、指定APの標準コピーを利用することができるようにしてもよい。
個人用のポータルからAP標準コピーを利用する手順は、標準ポータルからの手順と同様である。指定APのマスターコピーから生成される標準コピーを一時記憶し(S270)、中央サーバに利用記録を残すため、中央サーバに対してユーザによる利用宣言を行い(S275)、指定APの標準APコピーを動作させ(S280)、その利用が終了すると(S285Yes)、利用状況データを中央サーバへ記録し(S290)、AP標準コピーを消滅させる(S295)。
また、図7のS200とS205の順序を逆にして、ユーザに所望のAPを指定させる際に、そのユーザ用のポータルに、AP利用プロパティ情報がいずれかのロケーションにそのユーザ用のコピーがあることを示しているAPは、それが分かるようにメニューとして画面表示させるようにしてもよい。その場合、ユーザが、当該メニューの中からAPを選べば、いずれかのロケーションに既にある自分用コピーを利用することになり、当該メニューで表示されないAPについては、自分用コピーを新規作成するか、標準コピーを使うかを、ユーザが指示することになる。
上述した例では、課金のための情報を確実に収集するために、中央サーバのAP毎利用履歴DB250に対し、各ロケーションのAPコピー動作部150が、APの個人用コピー/標準コピーの利用を開始する際と終了する際に、その都度アクセスするようにしていたが、課金の方式には様々なバリエーションがあり、APコピーを利用する際には、中央サーバへのアクセスを一部もしくは全部不要にする構成も可能である。その場合は、中央サーバへの利用宣言や利用情報の記録が不要となり、図6のS175,S190及び図7のS275,S290、さらに、図7のS220,S230を省略することができる。
特に、上述した実施形態では、個人用ポータルを移動させる際には、それがどのロケーションにあるか知るために、中央サーバへアクセスするようにしているが、個人用APコピーを移動させる際には、それがどのロケーションにあるかを、中央サーバへアクセスしなくても、手元に移動させた個人用ポータルに付随するAP利用プロパティ情報から分かるようにして、中央サーバからの自律性を高めている。よって、中央サーバへの利用宣言や利用情報の記録を不要とすることは、中央サーバからの自律性をより高めることになる。
また、AP毎利用履歴DB250に、アプリケーションを動かす上で必要となる設定を示すCONFIG情報等を記録させる場合には、個人用APコピーの動作開始前に、用意しておくべき環境を知るために中央サーバにアクセスし、動作終了時に、次回のための情報を残すために中央サーバにアクセスすることになる。上記の趣旨に沿って中央サーバからの自律性をより高めるには、このCONFIG情報を、中央サーバに記録するのではなく、ユーザ用ポータルのAP利用プロパティ情報の中に含めて記録しておくように、上述した実施形態を変形すればよい。
そのように変形した実施形態では、ユーザ用APコピーをこれから動作させようとするユーザ収容サーバは、自身が保持しているそのユーザ用ポータルに付随するAP利用プロパティ情報を参照すれば、CONFIG情報が得られることになる。また、同ユーザ収容サーバは、ユーザ用APコピーの利用終了時に、上記AP利用プロパティ情報のロケーションを最新の移動先である自身に書き換えるとともに、CONFIG情報も更新すればよいことになる。このような形態も、本発明の範囲に含まれる。
逆に、中央サーバからの自律性よりも、APコピーの利用の都度、中央サーバが関与することを重視する応用の場合には、上述した実施形態ではユーザ用ポータルに付随させていたAP利用プロパティ情報を、中央サーバのAP毎利用履歴DB250に記憶させるようにしてもよい。そして、ユーザ収容サーバで動作するユーザ用ポータルが、自身に付随するAP利用プロパティ情報を参照する代わりに、中央サーバにアクセスしてAP利用プロパティ情報を参照する。
そのように変形した実施形態では、各ロケーションのユーザ収容サーバが、個人用APコピーの利用を開始する際に、中央サーバのAP毎利用履歴DB250にアクセスして、課金のためのサインイン及び/又はCONFIG情報の参照を行うだけでなく、AP利用プロパティ情報も参照して、その個人用APコピーがどのロケーションにあるか調べるようにすればよい。また、利用終了時には、同様に中央サーバにアクセスして、課金のための情報の記録及び/又はCONFIG情報の更新を行うだけでなく、上記AP利用プロパティ情報も参照して、その個人用APコピーのロケーションを最新の移動先である自身に書き換えるようにすればよい。このような形態も、本発明の範囲に含まれる。
以上詳述したように、本実施形態では、いわば、時間と場所によらず、アプリケーションのプログラムとデータを同じ『状態』で利用できるように、『状態』が保存され、移動される。そのためのプラットフォームを提供する本実施形態に係るシステムでは、複数事業者が同じ環境を提供することで、外部から個人用の実行環境を動かすこともでき、どこでも低遅延で高帯域のサービスを利用することが可能になる。
本実施形態によれば、例えば、アプリケーションを、使う場所で、使うときに、利用者に一番近いアクセスポイントへ移動させることが、ユーザの入口環境である個人用ポータルを介して可能になっている。この移動を中央集権的に制御するのではなく、各ロケーションの中央サーバからの自律性を高めるためには、各アプリケーションを移動させるための個別情報を、個人用ポータルに持たせ、そこへのポインタを記憶する場所として中央サーバを使うとよい。
このため、本実施形態における各ロケーションのユーザ収容装置は、上述した例では、接続された端末のユーザから利用要求を受け付けると、そのユーザが現在対応付けられているユーザ収容装置を、滞留ユーザ記憶部もしくは中央サーバの各ユーザ滞留ロケーション記憶部を参照して定め、そのユーザ収容装置から、各アプリケーションのユーザ用コピーを保持しているユーザ収容装置を特定するためのプロパティを含むユーザ用ポータルを呼び寄せ、そのプロパティにより特定されるユーザ収容装置から、ユーザにより指定されたアプリケーションのユーザ用コピーを呼び寄せ、自装置が保持するユーザ用コピーによりアプリケーションサービスを提供する。
この例では、各アプリケーションのユーザ用コピーを保持しているユーザ収容装置を特定するためのプロパティが、そのユーザ用のポータルに付随しているが、他の例として、プロパティの保持、参照と、ポータルの保持、移動とを、別々に行ってもよいし、また他の例として、ユーザ用ポータルを作成せずに、プロパティの保持、管理だけは行うシステムであっても、アプリケーションの『状態』を含めた保存、移動は可能である。
以上、本発明の実施形態について説明してきたが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。例えば、アクセスしてきた個人とアプリケーション/ポータルとのマッチングをとる認証の方式等も、様々なバリエーションが可能である。
本発明の一実施形態に係るサービス提供システム及びユーザ端末の構成例を示す図。 本発明の一実施形態に係る中央サーバの構成例を示す図。 本発明の一実施形態に係る各ロケーションのユーザ収容サーバの構成例を示す図。 本システムにおけるユーザ専用アプリケーションのコピー及び『移動』の一例を説明する図。 本システムにおけるユーザ専用ポータルの『移動』とその役割の一例を説明する図。 ユーザからの利用要求を受け付けたユーザ収容サーバの動作の一例を示すフローチャート。 ユーザ専用ポータルでユーザからのアプリケーション指定を受け付けたユーザ収容サーバの動作の一例を示すフローチャート。 ユーザが移動先のロケーションで利用要求を発した時点での中央及び各ロケーションにおける状態の一例を説明する図。 ユーザ専用ポータルが『移動』してきた時点での中央及び各ロケーションにおける状態の一例を説明する図。 指定されたアプリケーションのユーザ専用コピーが『移動』してきた時点での中央及び各ロケーションにおける状態の一例を説明する図。
符号の説明
100 ユーザ収容サーバ
105 ユーザ通信部
110 サーバ通信部
115 ポータル動作部
120 滞留ユーザ用ポータル(含AP利用プロパティ)保持部
125 滞留ユーザ記憶部
130 ポータル呼び寄せ/送り出し部
135 ポータル作成部
140 標準ポータル記憶部
150 APコピー動作部
155 各ユーザ用APコピー保持部
160 APコピー呼び寄せ/送り出し部
165 APコピー作成部
170 標準APコピー一時記憶部
175 各APマスターコピー記憶部
200 中央サーバ
210 サーバ通信部
220 各ユーザ滞留ロケーション記憶部
230 各APオリジナル記憶部
240 利用者管理DB
250 AP別利用履歴DB
300、500 ネットワーク
401〜422 ユーザ端末

Claims (22)

  1. それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるサービス提供システムを構成するためのユーザ収容装置であって、
    前記サービス提供システムは、各ユーザにつき、前記複数のユーザ収容装置のいずれかにおいて、アプリケーションプログラムのユーザ用のコピーを動作させことによってユーザにサービスを提供るものであり、
    前記中央装置は、各ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を管理しており、
    前記ユーザ収容装置は、
    接続された端末のユーザから利用要求を受け付ける手段と、
    前記第一の情報に基づいて定められる前記利用要求を受け付けたユーザが前回の利用時に対応付けられていユーザ収容装置から、アプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための前記ユーザ用の第二の情報を、取得する手段と、
    前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、
    自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えることを特徴とするユーザ収容装置。
  2. 取得した前記第二の情報を、前記端末との通信が終了した後に保持する手段と、
    前記第一の情報を、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置が自装置であることを定めるように、前記中央装置に書き換えさせる手段と、
    他のユーザ収容装置からの要求に応じて、自装置に保持されている前記第二の情報を、該他のユーザ収容装置に取得させる手段と、をさらに備えることを特徴とする請求項1記載のユーザ収容装置。
  3. 前記第二の情報を取得する手段は、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置から自装置へ、前記ユーザ用のポータルプログラムを移動させる手段を含み、
    前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、自装置に移動させた前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該指定されたアプリケーションプログラムにつき、取得した前記第二の情報を参照させる手段を含むものであることを特徴とする請求項1記載のユーザ収容装置。
  4. 自装置に移動させて動作させた前記ポータルプログラムを、前記端末との通信が終了した後に保持する手段と、
    前記第一の情報を、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置が自装置であることを定めるように、前記中央装置に書き換えさせる手段と、
    他のユーザ収容装置からの要求に応じて、自装置に保持されている前記ポータルプログラムを、該他のユーザ収容装置へ移動させる手段と、をさらに備えることを特徴とする請求項3記載のユーザ収容装置。
  5. 自装置に移動させて動作させた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記端末との通信が終了した後に保持する手段と、
    前記第二の情報を、前記アプリケーションプログラムの前記ユーザ用のコピーが自装置に保持されていることを特定するように書き換える手段と、
    他のユーザ収容装置からの要求に応じて、前記アプリケーションプログラムの前記ユーザ用のコピーを、自装置から当該他のユーザ収容装置へ移動させる手段と、をさらに備えることを特徴とする請求項1〜4のいずれか1項記載のユーザ収容装置。
  6. 所定期間内に前記他のユーザ収容装置からの要求がない場合又は自装置での保持に支障が生じた場合に、保持していた前記アプリケーションプログラムの前記ユーザ用のコピーを、前記中央装置へ移動させる手段をさらに備えることを特徴とする請求項記載のユーザ収容装置。
  7. いずれのユーザが前回の利用時に自装置によってサービス提供されていたかを示す情報を記憶する手段をさらに備え、
    前記第二の情報を取得する手段は、前記利用要求を受け付けたユーザが前回の利用時に自装置に対応付けられていことを前記記憶が示す場合は、自装置が前記第一の情報に基づいて定められるユーザ収容装置であると決定し、対応付けられていないことを前記記憶が示す場合は、前記中央装置と通信して前記第一の情報を参照させ、前記ユーザが前回の利用時に対応付けられていユーザ収容装置を探索するものであることを特徴とする請求項1〜6のいずれか1項記載のユーザ収容装置。
  8. 前記第二の情報が、前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、当該アプリケーションプログラムの前記ユーザ用のコピーを新たに作成可能とする手段と、
    前記ユーザ用のコピーが新たに作成されたアプリケーションプログラムにつき、前記ユーザ用のコピーが自装置に保持されていることを特定するように、前記第二の情報に追記する手段と、をさらに備えることを特徴とする請求項1〜7のいずれか1項記載のユーザ収容装置。
  9. 前記第一の情報が、前記利用要求を受け付けたユーザ用のポータルプログラムが前記複数のユーザ収容装置のいずれにも存在しないことを示す場合に、前記ユーザ用のポータルプログラムを新たに作成可能とする手段さらに備えることを特徴とする請求項又は記載のユーザ収容装置。
  10. 前記第二の情報は、アプリケーションプログラムの前記ユーザ用のコピーの動作のために確保すべき資源を示す第三の情報を伴うものであり、
    前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該移動に先立って、前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むことを特徴とする請求項1〜9のいずれか1項記載のユーザ収容装置。
  11. プリケーションプログラムの前記ユーザ用のコピーの動作のために確保すべき資源を示す第三の情報が、前記中央装置によって管理されており、
    前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該移動に先立って、前記中央装置との通信を介して入手される前記第三の情報に基づいて定められる資源を自装置内に確保する手段を含むことを特徴とする請求項1〜9のいずれか1項記載のユーザ収容装置。
  12. 前記ユーザから指定されたアプリケーションプログラムの汎用のコピーを新たに作成する手段と、
    新たに作成された前記アプリケーションプログラムの前記汎用のコピーを動作させ、前記端末と通信させる手段と、
    前記汎用のコピーについては、前記端末との通信が終了した後に消滅させる手段と、をさらに備えることを特徴とする請求項1〜11のいずれか1項記載のユーザ収容装置。
  13. それぞれがユーザの端末に接続して該ユーザにサービスを提供する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるサービス提供システムであって、
    前記中央装置は、ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を管理する手段を備え、
    各ユーザにつき、前記複数のユーザ収容装置のうちの一つが、アプリケーションプログラムのユーザ用のコピー前記複数のユーザ収容装置のいずれに保持されているかを特定するための該ユーザ用の第二の情報を保持する手段を備え、
    前記複数のユーザ収容装置のそれぞれは、
    接続された端末のユーザから利用要求を受け付ける手段と、
    前記第一の情報に基づいて定められる前記利用要求を受け付けたユーザが前回の利用時に対応付けられていユーザ収容装置から、前記ユーザ用の第二の情報を取得する手段と、
    前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から自装置へ、移動させる手段と、
    自装置に移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させる手段とを備えることを特徴とするサービス提供システム。
  14. 各ユーザにつき、該ユーザ用の第二の情報を保持する手段を備える前記複数のユーザ収容装置のうちの一つが、該ユーザ用のポータルプログラムを保持する手段をさらに備え、
    前記複数のユーザ収容装置のそれぞれにおいて
    前記第二の情報を取得する手段は、前記ユーザが前回の利用時に対応付けられていたユーザ収容装置から自装置へ、前記ユーザ用のポータルプログラムを移動させる手段を含み、
    前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、自装置に移動させた前記ポータルプログラムを動作させ、該ポータルプログラムと前記端末との通信を介して、前記ユーザに所望のアプリケーションプログラムを指定させ、該指定されたアプリケーションプログラムにつき、取得した前記第二の情報を参照させる手段を含むものであることを特徴とする請求項13記載のサービス提供システム。
  15. 前記ユーザが前回の利用時に対応付けられていユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、前記第二の情報を保持するユーザ収容装置が変わるとともに、前記第一の情報が書き換えられ、
    前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置が、前記複数のユーザ収容装置のうち唯一つであるように、該コピーが移動するとともに、前記第二の情報が書き換えられることを特徴とする請求項13又は14記載のサービス提供システム。
  16. 前記ユーザ用の第二の情報により、第一のアプリケーションプログラムの前記ユーザ用のコピーが前回動作したところの第一のユーザ収容装置に保持されており、第二のアプリケーションプログラムの前記ユーザ用のコピーが前回動作したところの第二のユーザ収容装置に保持されていることが示されることを特徴とする請求項13〜15のいずれか1項記載のサービス提供システム。
  17. それぞれのアプリケーションプログラムの前記ユーザ用のコピーは、当該アプリケーションプログラムのデータ及び状態の情報を含めて、前記複数のユーザ収容装置のいずれかに保持されるものであり、
    前記ユーザが指定したアプリケーションプログラムにより提供されたサービスに対して課金するための情報は、当該アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置から前記中央装置へ集められることを特徴とする請求項13〜16のいずれか1項記載のサービス提供システム。
  18. 前記アプリケーションプログラムの前記ユーザ用のコピーを保持するユーザ収容装置は、前記ユーザの端末に接続していない間も、該コピーを動作させ続ける手段を備え、
    前記アプリケーションプログラムの前記ユーザ用のコピーを移動させる手段は、該コピーを、動作させ続けたまま移動させるものであることを特徴とする請求項13〜17のいいずれか1項記載のサービス提供システム。
  19. 前記複数のユーザ収容装置のそれぞれに、仮想化ミドルウェアがインストールされており、各アプリケーションプログラムの前記ユーザ用の同一のコピーが、いずれの装置でも動作可能であることを特徴とする請求項13〜18のいずれか1項記載のサービス提供システム。
  20. 前記複数のユーザ収容装置のそれぞれは、前記中央装置を経由せずに自装置以外のユーザ収容装置に接続する手段をさらに備えることを特徴とする請求項13〜19のいずれか1項記載のサービス提供システム。
  21. それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムにおいて、前記複数のユーザ収容装置のいずれかによってユーザにサービスを提供する方法であって、
    前記中央装置に、ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を配置し、
    各ユーザにつき、前記複数のユーザ収容装置のうちの一つが、アプリケーションプログラムの該ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための該ユーザ用の第二の情報を保持するように構成し
    前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記第一の情報に基づいて定められる前記ユーザが前回の利用時に対応付けられていユーザ収容装置から、前記ユーザ用の第二の情報を取得させ、
    前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させ、
    前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させることを特徴とするサービス提供方法。
  22. それぞれがユーザの端末に接続する手段を有する複数のユーザ収容装置と、該複数のユーザ収容装置のそれぞれと通信する手段を有する中央装置とを備えるシステムに組み込まれ、該システムを、前記複数のユーザ収容装置のいずれかによってユーザにサービスを提供するシステムとして機能するようにさせるプログラムであって、
    前記中央装置に、ユーザが前回の利用時に前記複数のユーザ収容装置のいずれによってサービス提供されていたかを示す第一の情報を配置するためのプログラムコードと、
    各ユーザにつき、前記複数のユーザ収容装置のうちの一つが、アプリケーションプログラムの該ユーザ用のコピーが前記複数のユーザ収容装置のいずれに保持されているかを特定するための該ユーザ用の第二の情報を保持するように構成するためのプログラムコードと
    前記複数のユーザ収容装置のうち、接続された端末のユーザから利用要求を受け付けたユーザ収容装置に、前記第一の情報に基づいて定められる前記ユーザが前回の利用時に対応付けられていユーザ収容装置から、前記ユーザ用の第二の情報を取得させるためのプログラムコードと、
    前記ユーザから指定されたアプリケーションプログラムの前記ユーザ用のコピーを、前記ユーザ用の第二の情報により特定されるユーザ収容装置から前記利用要求を受け付けたユーザ収容装置へ、移動させるためのプログラムコードと、
    前記利用要求を受け付けたユーザ収容装置に、移動させた前記アプリケーションプログラムの前記ユーザ用のコピーを動作させ、前記端末と通信させるためのプログラムコードと備えることを特徴とするプログラム
JP2008101273A 2008-04-09 2008-04-09 サービス提供システム及びそれを構成するユーザ収容装置 Expired - Fee Related JP5087456B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008101273A JP5087456B2 (ja) 2008-04-09 2008-04-09 サービス提供システム及びそれを構成するユーザ収容装置
GB0906060.9A GB2459034B (en) 2008-04-09 2009-04-07 System and method for providing service
US12/419,487 US20090260005A1 (en) 2008-04-09 2009-04-07 System and method for providing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008101273A JP5087456B2 (ja) 2008-04-09 2008-04-09 サービス提供システム及びそれを構成するユーザ収容装置

Publications (2)

Publication Number Publication Date
JP2009252075A JP2009252075A (ja) 2009-10-29
JP5087456B2 true JP5087456B2 (ja) 2012-12-05

Family

ID=40750284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008101273A Expired - Fee Related JP5087456B2 (ja) 2008-04-09 2008-04-09 サービス提供システム及びそれを構成するユーザ収容装置

Country Status (3)

Country Link
US (1) US20090260005A1 (ja)
JP (1) JP5087456B2 (ja)
GB (1) GB2459034B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2432191A1 (en) * 2010-09-15 2012-03-21 Alcatel Lucent Methods and systems for service delivery
KR101502895B1 (ko) 2010-12-22 2015-03-17 주식회사 케이티 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템
KR101544481B1 (ko) * 2010-12-31 2015-08-24 주식회사 케이티 클라우드스토리지 시스템에서 복제본 저장장소를 동적으로 선정하는 방법 및 시스템
JP5729003B2 (ja) * 2011-02-22 2015-06-03 日本電気株式会社 シンクライアントシステム、位置情報管理サーバ、マイグレーション方法、及びプログラム
KR101544485B1 (ko) 2011-04-25 2015-08-17 주식회사 케이티 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
WO2013157042A1 (ja) * 2012-04-20 2013-10-24 株式会社日立製作所 分散アプリケーション及びデータホスティングシステム
WO2013190737A1 (ja) 2012-06-19 2013-12-27 日本電気株式会社 サーバシステム、サーバ、サーバ制御方法、及びサーバ制御プログラムが格納された非一時的なコンピュータ可読媒体
JP2014056335A (ja) * 2012-09-11 2014-03-27 Nec Commun Syst Ltd 仮想マシン配置システム及び仮想マシン配置方法、並びにコンピュータ・プログラム
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9032392B2 (en) * 2013-03-15 2015-05-12 Quixey, Inc. Similarity engine for facilitating re-creation of an application collection of a source computing device on a destination computing device
KR101626031B1 (ko) * 2013-06-05 2016-06-01 가부시키가이샤 히타치 시스테무즈 포털 사이트의 이용 실적 수집 시스템
US20150019705A1 (en) * 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
JP6192433B2 (ja) * 2013-08-23 2017-09-06 キヤノン株式会社 情報処理端末、情報処理端末の制御方法およびプログラム
JP6610095B2 (ja) 2015-08-28 2019-11-27 富士通株式会社 配備方法、配備先特定プログラム、及び、配備システム
KR101795230B1 (ko) 2016-04-01 2017-12-01 주식회사 씨오티커넥티드 셋톱박스 및 사용자 단말을 이용한 숙박시설 서비스 관리 방법
JP6744260B2 (ja) * 2017-07-14 2020-08-19 日本電信電話株式会社 仮想サーバ構成変更方法および仮想サーバ構成変更システム
JP7049933B2 (ja) 2018-06-11 2022-04-07 株式会社日立製作所 管轄管理装置及び権利情報管理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3666708B2 (ja) * 1997-03-04 2005-06-29 日本電信電話株式会社 サーバ環境移動方法及びサーバネットワーク
JP3417818B2 (ja) * 1997-11-05 2003-06-16 日本電信電話株式会社 アプリケーションプログラム移動位置決定方法及びデータファイル移動位置決定方法並びにその装置
US6912580B1 (en) * 1999-01-27 2005-06-28 International Business Machines Corporation Virtual shadow briefcase in servers supporting moving embedded clients
US6457047B1 (en) * 2000-05-08 2002-09-24 Verity, Inc. Application caching system and method
US20020065919A1 (en) * 2000-11-30 2002-05-30 Taylor Ian Lance Peer-to-peer caching network for user data
US20050273486A1 (en) * 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
JP4817814B2 (ja) * 2004-11-19 2011-11-16 富士通株式会社 アプリケーション状態情報転送システム
WO2007138429A2 (en) * 2006-05-25 2007-12-06 Shuki Binyamin Method and system for efficient remote application provision
US7698660B2 (en) * 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
US7975024B2 (en) * 2007-02-14 2011-07-05 Yakov Nudler Virtual personal computer access over multiple network sites
US20090037970A1 (en) * 2007-07-31 2009-02-05 Goosean Media Inc. IP-based hometown TV program delivery system
JP5507046B2 (ja) * 2007-12-27 2014-05-28 株式会社インテック サービス提供システム
US8589909B2 (en) * 2008-01-10 2013-11-19 Oracle International Corporation Techniques for reducing down time in updating applications with metadata
US8560694B2 (en) * 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control

Also Published As

Publication number Publication date
GB0906060D0 (en) 2009-05-20
JP2009252075A (ja) 2009-10-29
US20090260005A1 (en) 2009-10-15
GB2459034A (en) 2009-10-14
GB2459034B (en) 2012-10-31

Similar Documents

Publication Publication Date Title
JP5087456B2 (ja) サービス提供システム及びそれを構成するユーザ収容装置
US10827008B2 (en) Integrated user interface for consuming services across different distributed networks
WO2018130121A1 (en) Cloud based phone services accessible in the cloud by a remote device
CA3032883C (en) Technologies for managing application configurations and associated credentials
US10331505B2 (en) Application programming interface (API) hub
JP5627187B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR102570799B1 (ko) 다수의 디바이스 상에 컴퓨팅 환경의 제시
JP5507046B2 (ja) サービス提供システム
US8954592B1 (en) Determining computing-related resources to use based on client-specified constraints
US11689636B2 (en) Delegating network data exchange
Toyama et al. Android as a server platform
CN112887440A (zh) 一种ip地址管理方法和装置
US11675964B2 (en) Management of remote access user application layouts
CN114296953A (zh) 一种多云异构系统及任务处理方法
CN114553934A (zh) 用于多设备连接管理的方法和系统
US20230169195A1 (en) Database systems and methods for securely sharing a record within a conversation
KR102193040B1 (ko) Vdi 환경에서의 가상 데스크톱에 설치된 어플리케이션을 어플리케이션 가상화 형태로 실행하거나 가상 데스크톱 접속으로 전환하는 방법, 및 가상화 서버
US20220353638A1 (en) Location-based application discovery
US20230251849A1 (en) Digital distribution platform enabling dynamic instantiation and termination of application instances
KR101836749B1 (ko) 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법
CN112274914A (zh) 实现独占游戏的方法、实现独占游戏的装置和云游戏系统
CN115348308A (zh) 一种多会话场景下usb存储设备文件的共享方法及装置
CN115253284A (zh) 一种游戏控制方法、装置、电子设备及存储介质
CN116842554A (zh) 资源访问方法、装置、设备、存储介质及产品
JP2012123755A (ja) サーバ装置、サーバ装置の制御方法、プログラムおよび記憶媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100917

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110322

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110811

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120814

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120910

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees