(57)【特許請求の範囲】
【請求項１】
第一のサービスを提供するための第一のアプリケーションプログラムのオリジナルを保持する手段を有する第一のサービスアンカー装置と、
エンドユーザの端末に接続する手段を有するエンドユーザ収容装置と、
前記第一のサービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置であって、前記第一のサービスとは別の第二のサービスを提供するための第二のアプリケーションプログラムのオリジナルを保持する手段を有する第二のサービスアンカー装置としても機能する中継装置とを備え、
前記第一のサービスアンカー装置にオリジナルが保持されている第一のアプリケーションプログラムのコピーを、前記中継装置を介して前記エンドユーザ収容装置内に作り出すための手段と、前記第二のサービスアンカー装置にオリジナルが保持されている第二のアプリケーションプログラムのコピーを、前記エンドユーザ収容装置内に作り出すための手段とを含み、
前記エンドユーザ収容装置は、
前記第一及び第二のサービスのうち自装置が接続するエンドユーザの端末へ提供することが決定されたサービスに対応して自装置に設置された該サービス用のモジュールに格納されていた情報を参照することにより、前記決定されたサービスに係るサービスアンカー装置へアクセスするための情報を取得する手段と、
自装置内に作り出された、前記決定されたサービスに係るアプリケーションプログラムのコピーを動作させることにより、前記決定されたサービスを前記エンドユーザの端末へ提供する手段とをさらに有することを特徴とするサービス提供システム。
【請求項２】
前記第一のサービスアンカー装置、前記エンドユーザ収容装置、及び前記第二のサービスアンカー装置としても機能する前記中継装置に、仮想化ミドルウェアがインストールされており、アプリケーションプログラムの同一のコピーが、いずれの装置でも動作可能であることを特徴とする請求項１記載のサービス提供システム。
【請求項３】
前記第一のアプリケーションプログラムのコピーを作り出すための手段は、
前記第一のサービスアンカー装置において前記第一のアプリケーションプログラムのオリジナルを動作させたまま、動作中の前記第一のアプリケーションプログラムのコピーを前記中継装置内に作り出し、
前記中継装置において前記第一のアプリケーションプログラムのコピーを動作させたまま、動作中の前記第一のアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出し、
前記第一のサービスアンカー装置において前記第一のアプリケーションプログラムのオリジナルが動作を継続する一方で、前記エンドユーザ収容装置において前記第一のアプリケーションプログラムのコピーが前記オリジナルの動作を引き継いで動作を開始するようにするものであることを特徴とする請求項１又は２に記載のサービス提供システム。
【請求項４】
前記エンドユーザ収容装置が前記アクセスするための情報に基づいて前記第一のサービスアンカー装置へアプリケーションプログラムを要求すると、該エンドユーザ収容装置内に前記第一のアプリケーションプログラムのコピーが作り出され、
前記エンドユーザ収容装置が前記アクセスするための情報に基づいて前記第二のサービスアンカー装置へアプリケーションプログラムを要求すると、該エンドユーザ収容装置内に前記第二のアプリケーションプログラムのコピーが作り出されることを特徴とする請求項１〜３のいずれか１項に記載のサービス提供システム。
【請求項５】
前記第一のサービス用のモジュールを含むサービスボックスは、前記第一のサービスアンカー装置へアプリケーションプログラムを要求するためのソフトウェアを格納し、前記第一のサービスを前記エンドユーザの端末へ提供するのに利用されるリソースを備えるものであり、
前記第二のサービス用のモジュールを含むサービスボックスは、前記第二のサービスアンカー装置へアプリケーションプログラムを要求するためのソフトウェアを格納し、前記第二のサービスを前記エンドユーザの端末へ提供するのに利用されるリソースを備えるものであることを特徴とする請求項１〜４のいずれか１項に記載のサービス提供システム。
【請求項６】
前記第二のサービスアンカー装置としても機能する前記中継装置が、
前記第一のサービスアンカー装置がオリジナルを保持している前記第一のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段を実現するための第一のソフトウェアと、
自装置がオリジナルを保持している前記第二のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段を実現するための第二のソフトウェアと、
前記第一のソフトウェアにより利用されていたリソースの一部を前記第二のソフトウェアにより利用されるべきリソースとして割り当てる手段とを備えることを特徴とする請求項１〜５のいずれか１項に記載のサービス提供システム。
【請求項７】
前記中継装置が、前記エンドユーザとは別の第二のエンドユーザの端末に接続する手段を有し、第二のエンドユーザ収容装置として機能することを特徴とする請求項１〜６のいずれか１項に記載のサービス提供システム。
【請求項８】
前記第二のエンドユーザ収容装置としても機能する前記中継装置が、
前記第一のサービスアンカー装置がオリジナルを保持している前記第一のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段を実現するための第一のソフトウェアと、
自装置内に作り出された前記第一のアプリケーションプログラムのコピーを動作させることにより、前記第一のサービスを前記第二のエンドユーザの端末へ提供する手段を実現するための第二のソフトウェアと、
前記第一のソフトウェアにより利用されていたリソースの一部を前記第二のソフトウェアにより利用されるべきリソースとして割り当てる手段とを備えることを特徴とする請求項７記載のサービス提供システム。
【請求項９】
前記第一のサービスアンカー装置は、前記エンドユーザ収容装置及び前記中継装置を特定するための情報を格納する手段をさらに有し、
前記第一のサービスアンカー装置が前記中継装置内に前記第一のアプリケーションプログラムのコピーを作り出す手段は、前記情報を前記コピーに付加する手段を含み、
前記中継装置が自装置より前記エンドユーザ収容装置寄りに存在する中継装置内もしくは前記エンドユーザ収容装置内に前記第一のアプリケーションプログラムのコピーを作り出す手段は、付加された前記情報を参照してコピー先を決める手段を含むことを特徴とする請求項１〜８のいずれか１項に記載のサービス提供システム。
【請求項１０】
前記中継装置は、
自装置内に作り出された前記第一のアプリケーションプログラムのコピーを保持するための手段と、
前記エンドユーザ収容装置とは別の第二のエンドユーザ収容装置から前記第一のサービスアンカー装置への前記第一のアプリケーションプログラムの要求の受信に応じて、前記第一のアプリケーションプログラムのコピーが保持されているか否かを調べる手段と、
保持されていないならば、前記第一のサービスアンカー装置へ受信した前記要求を転送する手段とを有し、
保持されているならば、保持されているコピーを利用して自装置より前記第二のエンドユーザ収容装置寄りに存在する中継装置内もしくは前記第二のエンドユーザ収容装置内に前記第一のアプリケーションプログラムのコピーを作り出すものであることを特徴とする請求項１〜９のいずれか１項に記載のサービス提供システム。
【請求項１１】
前記第一のサービスアンカー装置が前記中継装置内に前記第一のアプリケーションプログラムのコピーを作り出す手段は、前記コピーを保持すべき期間を示す情報を付加する手段を含み、
前記中継装置における前記コピーを保持するための手段は、付加された前記情報を参照して定められる期間、前記コピーを保持するものであることを特徴とする請求項１０記載のサービス提供システム。
【請求項１２】
前記中継装置は、
前記第一のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段と、前記第一のサービスとは別の第三のサービスを提供するためのアプリケーションプログラムのコピーを前記エンドユーザ収容装置内もしくはそれとは別の第二のエンドユーザ収容装置内に作り出す手段とを実現するためのソフトウェアと、
前記第一のサービスについて前記期間が経過した後は、前記コピーを保持するための手段を前記第三のサービスに係るアプリケーションプログラムのコピーを保持するために利用できるようにする手段とを備えることを特徴とする請求項１１記載のサービス提供システム。
【請求項１３】
前記エンドユーザ収容装置は、前記第一のサービスアンカー装置と自装置との間の中継装置へアクセスするための付加情報を取得するための手段をさらに有し、
前記第一のアプリケーションプログラムのコピーを作り出すための手段は、
前記エンドユーザ収容装置において前記付加情報に基づいて前記中継装置へ要求を送信し、
前記中継装置において前記要求の受信に応じて自装置より前記エンドユーザ収容装置寄りに存在する中継装置内もしくは前記エンドユーザ収容装置内に前記第一のアプリケーションプログラムのコピーを作り出すようにするものであることを特徴とする請求項１〜１２のいずれか１項に記載のサービス提供システム。
【請求項１４】
前記第一のサービスアンカー装置は、
前記第一のサービスにより利用可能な第一のデータのオリジナルを保持する手段と、
前記第一のサービスを提供することが決定されたエンドユーザ収容装置を特定するための情報を参照して、該エンドユーザ収容装置が受信すべき前記第一のデータのコピーを作成する手段とをさらに有し、
前記第二のサービスアンカー装置としても機能する前記中継装置は、
前記第二のサービスにより利用可能な第二のデータのオリジナルを保持する手段と、
前記第二のサービスを提供することが決定されたエンドユーザ収容装置を特定するための情報を参照して、該エンドユーザ収容装置が受信すべき前記第二のデータのコピーを作成する手段とをさらに有し、
前記エンドユーザ収容装置は、
前記決定されたサービスに係るデータのコピーを受信して、前記アプリケーションプログラムのコピーにより利用可能なデータとして記憶する手段をさらに有し、
エンドユーザにより選択されたデータを利用して前記決定されたサービスを前記エンドユーザの端末へ提供するものであることを特徴とする請求項１〜１３のいずれか１項に記載のサービス提供システム。
【請求項１５】
前記エンドユーザ収容装置は、
前記決定されたサービスに係るサービスアンカー装置に保持されているデータの最新版を要求し、この要求に応じて受信される最新データのコピーを前記アプリケーションプログラムのコピーにより利用可能なデータとして記憶する手段と、
前記アプリケーションプログラムのコピーに前記決定されたサービスに係るサービスアンカー装置に保持されているデータのオリジナルを参照させる手段とを備えることを特徴とする請求項１〜１４のいずれか１項に記載のサービス提供システム。
【請求項１６】
前記エンドユーザ収容装置は、前記決定されたサービスに係るサービスアンカー装置へアクセスするための情報に基づき、該決定されたサービスを前記エンドユーザの端末へ提供する際に得られる利用情報を該サービスアンカー装置へ向けて出力する手段をさらに有し、
前記第一のサービスアンカー装置は、前記エンドユーザ収容装置から出力された利用情報に基づき、各エンドユーザによる第一のサービスの利用について記録する手段をさらに有し、
前記第二のサービスアンカー装置は、前記エンドユーザ収容装置から出力された利用情報に基づき、各エンドユーザによる第二のサービスの利用について記録する手段をさらに有することを特徴とする請求項１〜１５のいずれか１項に記載のサービス提供システム。
【請求項１７】
サービス提供システムにおいてエンドユーザの端末に接続する手段を有するエンドユーザ収容装置に設置可能なサービスボックスであって、
前記サービス提供システムは、
第一のサービスを提供するための第一のアプリケーションプログラムのオリジナルを保持する手段を有する第一のサービスアンカー装置と、
前記第一のサービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置であって、前記第一のサービスとは別の第二のサービスを提供するための第二のアプリケーションプログラムのオリジナルを保持する手段を有する第二のサービスアンカー装置としても機能する中継装置とを備え、
前記第一のサービスアンカー装置にオリジナルが保持されている第一のアプリケーションプログラムのコピーを、前記中継装置を介して前記エンドユーザ収容装置内に作り出すための手段と、前記第二のサービスアンカー装置にオリジナルが保持されている第二のアプリケーションプログラムのコピーを、前記エンドユーザ収容装置内に作り出すための手段とを含むものであり、
前記第一のサービス用の前記サービスボックスは、
前記第一のサービスアンカー装置へアクセスするための情報を格納する手段と、
前記第一のサービスを前記エンドユーザの端末へ提供するのに利用されるリソースとを備え、
前記第一のサービスを提供することが決定された前記エンドユーザ収容装置に設置されると、前記情報及び前記リソースを用いて、該エンドユーザ収容装置内に前記第一のアプリケーションプログラムのコピーが作り出され、該コピーを動作させることにより前記第一のサービスが前記エンドユーザの端末へ提供されるものであり、
前記第一のサービス用の前記サービスボックスは、
前記第二のサービスアンカー装置へアクセスするための情報を格納する手段と、
前記第二のサービスを前記エンドユーザの端末へ提供するのに利用されるリソースとを備え、
前記第二のサービスを提供することが決定された前記エンドユーザ収容装置に設置されると、前記情報及び前記リソースを用いて、該エンドユーザ収容装置内に前記第二のアプリケーションプログラムのコピーが作り出され、該コピーを動作させることにより前記第二のサービスが前記エンドユーザの端末へ提供されるものであることを特徴とするサービスボックス。
【請求項１８】
前記第一のサービス用の前記サービスボックスは、前記第一のサービスアンカー装置へアクセスするための情報に基づいて、前記第一のサービスアンカー装置へアプリケーションプログラムを要求するためのプログラムを格納する手段を備えるものであり、
前記第二のサービス用の前記サービスボックスは、前記第二のサービスアンカー装置へアクセスするための情報に基づいて、前記第二のサービスアンカー装置へアプリケーションプログラムを要求するためのプログラムを格納する手段を備えるものであることを特徴とする請求項１７に記載のサービスボックス。
【請求項１９】
サービス提供システムにおいて行われる方法であって、
前記サービス提供システムは、
第一のサービスを提供するための第一のアプリケーションプログラムのオリジナルを保持する手段を有する第一のサービスアンカー装置と、
エンドユーザの端末に接続する手段を有するエンドユーザ収容装置と、
前記第一のサービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置であって、前記第一のサービスとは別の第二のサービスを提供するための第二のアプリケーションプログラムのオリジナルを保持する手段を有する第二のサービスアンカー装置としても機能する中継装置とを備え、
前記第一のサービスアンカー装置にオリジナルが保持されている第一のアプリケーションプログラムのコピーを、前記中継装置を介して前記エンドユーザ収容装置内に作り出すための手段と、前記第二のサービスアンカー装置にオリジナルが保持されている第二のアプリケーションプログラムのコピーを、前記エンドユーザ収容装置内に作り出すための手段とを含むものであり、
前記方法は、
前記第一のサービスを自装置が接続するエンドユーザの端末へ提供することが決定された前記エンドユーザ収容装置に、前記第一のサービス用のモジュールが設置され、前記第二のサービスを自装置が接続するエンドユーザの端末へ提供することが決定された前記エンドユーザ収容装置に、前記第二のサービス用のモジュールが設置され、
前記エンドユーザ収容装置が、自装置に設置された前記モジュールに格納されていた情報を参照することにより、自装置による提供が決定されたサービスに係るサービスアンカー装置へアクセスするための情報を取得し、
取得された前記情報に基づいて、自装置による提供が決定されたサービスに係るアプリケーションプログラムのコピーを、前記エンドユーザ収容装置内に作り出させ、
前記エンドユーザ収容装置が、作り出された前記アプリケーションプログラムのコピーを動作させることにより、前記サービスを前記エンドユーザの端末へ提供することを特徴とする方法。
【請求項２０】
前記エンドユーザ収容装置が、前記サービスを前記エンドユーザの端末へ提供する際に得られる利用情報を、取得された前記情報に基づいて、自装置による提供が決定されたサービスに係るサービスアンカー装置へ向けて出力することを特徴とする請求項１９に記載の方法。
【請求項２１】
サービス提供システムにおいてエンドユーザの端末に接続する手段を有する装置に組み込まれることにより、エンドユーザ収容装置を出現させるプログラムであって、
前記サービス提供システムは、
第一のサービスを提供するための第一のアプリケーションプログラムのオリジナルを保持する手段を有する第一のサービスアンカー装置と、
前記第一のサービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置であって、前記第一のサービスとは別の第二のサービスを提供するための第二のアプリケーションプログラムのオリジナルを保持する手段を有する第二のサービスアンカー装置としても機能する中継装置とを備え、
前記第一のサービスアンカー装置にオリジナルが保持されている第一のアプリケーションプログラムのコピーを、前記中継装置を介して前記エンドユーザ収容装置内に作り出すための手段と、前記第二のサービスアンカー装置にオリジナルが保持されている第二のアプリケーションプログラムのコピーを、前記エンドユーザ収容装置内に作り出すための手段とを含むものであり、
前記プログラムは、前記装置に、
前記第一及び第二のサービスのうち自装置が接続するエンドユーザの端末へ提供することが決定されたサービスに対応して自装置に設置された該サービス用のモジュールに格納されていた情報を参照することにより、自装置による提供が決定されたサービスに係るサービスアンカー装置へアクセスするための情報を取得させ、
前記情報に基づいて、自装置による提供が決定されたサービスに係るサービスアンカー装置へ向けて、アプリケーションプログラムを要求するメッセージを送信させ、
前記要求に応じて自装置内に作り出された前記アプリケーションプログラムのコピーを動作させることにより、自装置による提供が決定されたサービスを前記エンドユーザの端末へ提供させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して複数の層に配置されたデータセンタを用いて、エンドユーザ端末へサービスを提供するためのシステムに関する。
【背景技術】
【０００２】
近年、大容量のコンテンツが普及したことでネットワークの負荷が増大し、レスポンスの悪化や通信速度の低下などの問題が深刻化している。そうした問題を解決する手法として、サーバを一箇所だけに置くのではなく、地理的ないしバックボーン的に分散させて、同一のコンテンツを多くのサーバでミラーリングするように構成するＣＤＮ（コンテンツ配信ネットワーク）の技術が注目されている。
【０００３】
例えば、特許文献１に示されるように、米国アカマイ・テクノロジーズ社が開発したＣＤＮは、ライブ・ストリームをコンテンツとしてエンドユーザに配信するために、コンテンツ・プロバイダの代わりに動作して配信元となるＣＤＮ入口点と、多数のエンドユーザに対してストリーミング・サーバとして機能する各エッジ・ノードと、入口点とエッジ・ノードとの間の中間層内に配置されるリフレクタ・ノードとを備え、所要のストリームを未だ受信していないエッジ・ノードへエンドユーザが向けられたとき、そのエッジ・ノードはリフレクタ・ノードの組に配信要求を発行し、そのリフレクタ・ノードが所要ストリームを既に受信していればこれを要求エッジ・ノードに送信し、未だ受信していなければ配信要求を階層上位に、最終的に入口点に到達するまで発行するという構成をとることにより、コンテンツを効率よく配信できるようにしている。
【特許文献１】特表２００４−５１７４１２号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した技術においては、ＣＤＮの入口点とエッジ・ノードとリフレクタ・ノードは、全てが同一の事業者（アカマイ・テクノロジーズ社）により、世界中に分散されて配置され運用されるものであり、コンテンツ・プロバイダは、形成されているＣＤＮの外部から入口点に対してコンテンツを提供することしかできない。そうすると、例えば、リフレクタ・ノードが設置されている場所やエッジ・ノードが設置されている場所の近くに、コンテンツ・プロバイダのサイトがあったとしても、遠くのＣＤＮ入口点までコンテンツを送信しなければ、エンドユーザへ配信することはできない。
【０００５】
また、各々のコンテンツ・プロバイダが独立に、ＣＤＮを利用して配信するだけであるため、複数のコンテンツ・プロバイダのコンテンツを一つのメニューにまとめてエンドユーザへ提供したり、配信経路の途中でコンテンツの編成を変えて（例えば、コンテンツ・プロバイダから配信されるビデオに、配信経路の途中のサイトで独自のコマーシャルを重畳して）エンドユーザへ提供したりすることはできない。
【０００６】
上述したＣＤＮは、インターネットにおけるコンテンツ配信の技術であるが、ケーブルテレビによるコンテンツ配信にも、類似した問題がある。ケーブルテレビにおいては、エンドユーザがアクセスする各地のケーブルテレビ局に対し、番組供給事業者（例えば、ディズニー、スポーツ専門チャネル、東京のキーテレビ局等）が、衛星等の配信回線提供事業者を介して、テレビ番組（コンテンツ）を配信する。この配信は、各々の番組供給事業者が各々のケーブルテレビ局に対して独立に行っているだけであり、その途中で、コンテンツの編成を変えたり、番組を追加したりすることはできない。
【０００７】
なお、各地のケーブルテレビ局は、全国一律のサービスとなる番組供給事業者からの番組に加えて、コミュニティチャネルと呼ばれるチャネルで自局独自の番組をエンドユーザに提供することができるが、近隣のケーブルテレビ局（例えば、魚津、滑川、富山、高岡等の市レベル）が幾つかまとまった地域ブロック（例えば、富山、石川等の県レベル）に対してその地域ブロック独自の番組（例えば、高校野球地方大会中継等）を配信することはできない。
【０００８】
さらに、上述した技術で配信できるコンテンツは、ビデオ・ストリーム等のデータに限られており、ＣＤＮでは、たとえプログラムを配信する場合でも、エンドユーザの端末にダウンロードされて端末内で動作するプログラムが、データとして（ファイル形式で）、ＣＤＮ入口点からリフレクタ・ノードを介してエッジ・ノードへ送信され、エッジ・ノードからエンドユーザ端末へ送信されるだけである。ＣＤＮの技術は、コンテンツ・プロバイダのサイトに負荷が集中するのを避けて、コンテンツを効率的に配信することができるものであるが、その対象は、実質的に、データに限られる。
【０００９】
しかし、エンドユーザに対して提供したいサービスには、データをエンドユーザ端末に届けて端末内で利用させるものだけではなく、エンドユーザ端末がサーバへアクセスしてサーバソフトウェアを利用することで実現するオンライン対戦ゲームやリアルタイムアンケートのようなインタラクティブ（双方向）あるいは時系での状況変化が激しいものが存在する。そのようなサービスについても、サービス提供元サイトへの負荷集中を抑制できるようにすることが望ましい。
【００１０】
また、エンドユーザに対するコンテンツの配信は、配信するキャリアやインターネットサービスプロバイダ（上記の例では、アカマイ・テクノロジーズ社）の仕組みに依存する部分が多く、現状では、コンテンツ・プロバイダは、エンドユーザによるコンテンツの利用履歴（プロファイル）を、契約ベースでしか入手できない。ケーブルテレビでも、エンドユーザによる利用は、各ケーブルテレビ局が把握できるだけであり、番組供給事業者がエンドユーザのプロファイルを入手することはできない。
【００１１】
本発明は、以上のような事情を考慮し、複数のサーバが階層的に接続されて構成されるシステムにおいて、サーバで動作するアプリケーションのエンドユーザ端末からの利用を分散させて、サービスを効率的に提供することのできる機構を実現することを、一つの目的とする。
【００１２】
本発明はまた、複数のサーバが階層的に接続されて形成される配信経路の途中のサーバにおいて、独自のサービスを追加的に提供することや、エンドユーザからアクセスされるサーバにおいて、あるサーバが提供元であるサービスと別のサーバが提供元であるサービスとをまとめて提供することを可能にし、それぞれのサーバの運営事業者によるサービス提供メニューに自主性を持たせられる機構を実現することを、別の目的とする。
【００１３】
本発明はまた、複数のサーバが階層的に接続されて形成される配信経路にある各サーバが、たとえ異なる事業者により運営される場合でも、サービスの提供元になる事業者が、自動的にエンドユーザの利用情報を取得することができる機構を実現することを、さらに別の目的とする。
【課題を解決するための手段】
【００１４】
本発明に係るサービス提供システムは、特定のサービスを提供するためのアプリケーションプログラムのオリジナルを保持する手段を有するサービスアンカー装置と、エンドユーザの端末に接続する手段を有するエンドユーザ収容装置と、前記サービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置とを備え、前記サービスアンカー装置にオリジナルが保持されているアプリケーションプログラムのコピーを、前記中継装置を介して前記エンドユーザ収容装置内に作り出す手段を含み、前記エンドユーザ収容装置が前記アプリケーションプログラムの前記コピーを動作させることにより、前記特定のサービスを前記エンドユーザの端末へ提供することを特徴とする。
【００１５】
この構成によれば、サービスを実現するためのデータだけでなくサーバプログラム自体が、サービスアンカー装置からエンドユーザ収容装置へ移動してくるため、インタラクティブなオンラインアプリケーションを含め、接続する時刻に応じて動きが変化するようなサービス等、種々のサービスについて、サービスアンカー装置への負荷集中を抑制し、効率よくエンドユーザへ提供することが可能になる。
【００１６】
本発明に係るサービス提供システムは、前記サービスアンカー装置、前記エンドユーザ収容装置、及び前記中継装置に、仮想化ミドルウェアがインストールされており、前記アプリケーションプログラムの同一のコピーが、いずれの装置でも動作可能であるように構成してもよい。
【００１７】
これにより、仮想化技術を用いて、サービスアンカー装置からエンドユーザ収容装置へアプリケーションプログラムを移動できるようになる。また、いずれの装置にも仮想化ミドルウェアがインストールされていることにより、後述するように中継装置を第二のサービスアンカー装置としても機能させることが同一装置上で可能になり、配信経路の途中からの独自サービスの追加的な提供が実現できる。
【００１８】
本発明に係るサービス提供システムにおいて、前記アプリケーションプログラムのコピーを作り出す手段は、前記サービスアンカー装置において前記アプリケーションプログラムのオリジナルを動作させたまま、動作中の前記アプリケーションプログラムのコピーを前記中継装置内に作り出し、前記中継装置において前記アプリケーションプログラムのコピーを動作させたまま、動作中の前記アプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出し、前記サービスアンカー装置において前記アプリケーションプログラムのオリジナルが動作を継続する一方で、前記エンドユーザ収容装置において前記アプリケーションプログラムのコピーが前記オリジナルの動作を引き継いで動作を開始するようにしてもよい。
【００１９】
これにより、プログラムの動的なマイグレーションが可能になり、サーバプログラムのオリジナルがサービスアンカー装置で動作していながら、それぞれのエンドユーザ収容装置（エンドユーザ端末の近く）まで同じ動作をしているサーバプログラムのコピーが張り出してきて、サービスを提供するという状態が実現できる。
【００２０】
本発明に係るサービス提供システムにおいて、前記エンドユーザ収容装置は、自身が接続するエンドユーザの端末へ前記特定のサービスを提供することの決定に応じて、前記サービスアンカー装置へアクセスするための情報を取得する手段をさらに有し、前記アプリケーションプログラムのコピーを作り出す手段は、前記エンドユーザ収容装置において前記情報に基づいて前記サービスアンカー装置へ前記アプリケーションプログラムを要求する手段と、前記サービスアンカー装置において前記要求に応じて前記中継装置内に前記アプリケーションプログラムのコピーを作り出す手段と、前記中継装置において自身内に作り出されたコピーを利用して自身より前記エンドユーザ収容装置寄りに存在する中継装置内もしくは前記エンドユーザ収容装置内に前記アプリケーションプログラムのコピーを作り出す手段とを含むようにしてもよい。
【００２１】
これにより、エンドユーザ収容装置の運営事業者があるサービスを自己の配下にあるエンドユーザへ提供することを決めると、そのサービスを実現するアプリケーションプログラムが、そのサービスのサービスアンカー装置から中継装置経由で、エンドユーザ収容装置にマイグレーションされてくることができる。
【００２２】
上記サービス提供システムにおいて、前記エンドユーザ収容装置が前記情報を取得する手段は、前記決定に応じて前記エンドユーザ収容装置に設置されるサービスボックスに格納された前記情報を参照する手段を含み、前記サービスボックスは、前記情報と、前記サービスアンカー装置へ前記アプリケーションプログラムを要求する手段を実現するためのソフトウェアとを格納し、前記特定のサービスを前記エンドユーザの端末へ提供するのに利用するリソースを備えるようにしてもよい。
【００２３】
これにより、エンドユーザ収容装置の運営事業者は、あるサービスを自己の配下にあるエンドユーザへ提供することを決めた場合、そのサービスのサービスボックスを設置するだけで、あとは自動的に、サービスボックスに仕込まれたソフトウェアによって、そのサービスを実現するアプリケーションプログラムをサービスアンカー装置から取得し、そのプログラムと必要なリソースを使ってエンドユーザ端末へサービスを提供することが、可能になる。このように、エンドユーザに近い末端の事業者にかかる運用時の管理負担が軽減されると、エンドユーザのニーズを反映してサービスの提供を開始したり廃止したりすることが簡易に行えるようになり、末端の事業者が、サービス提供メニューに自主性を持たせることを実現しやすくなる。
【００２４】
上記サービス提供システムにおいて、前記中継装置が、前記特定のサービスとは別の第二のサービスを提供するためのアプリケーションプログラムのオリジナルを保持する手段を有し、第二のサービスアンカー装置として機能するようにしてもよい。
【００２５】
これにより、中継装置の運営事業者は、あるサービスの提供を、上位のサービスアンカー装置から自身の下位にあるエンドユーザ収容装置に対して中継することに加えて、別の独自のサービスを、自身がサービスの提供元となって、自身の下位にあるエンドユーザ収容装置に対して配信することができるようになる。このように、あるサービスの配信経路の途中の事業者が、独自に、等価的に、別のサービスの提供元となることができるようになると、各エンドユーザ収容装置では、多様なサービスの中から、柔軟に、自己の配下のエンドユーザのニーズに合うサービスを選択して提供することができるようになる。
【００２６】
ここで、前記第二のサービスアンカー装置としても機能する前記中継装置が、前記サービスアンカー装置がオリジナルを保持している前記特定のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段を実現するための第一のソフトウェアと、前記第二のサービスをエンドユーザの端末へ提供することが決定されたエンドユーザ収容装置からの要求に応じて、自身がオリジナルを保持している前記第二のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段を実現するための第二のソフトウェアと、前記第一のソフトウェアにより利用されていたリソースの一部を前記第二のソフトウェアにより利用されるべきリソースとして割り当てる手段とを備えるようにしてもよい。
【００２７】
これにより、同一装置上で、あるサービスの配信経路の途中としての機能と、別のサービスの配信元としての機能との間で、リソースを共用して、融通し合うことが可能になり、既存の配信経路やリソースに併設して新たなサービス用の増設を一から行わなくとも、サービスの提供元を増やすことが可能になる。
【００２８】
一方、上記サービス提供システムにおいて、前記中継装置が、前記エンドユーザとは別の第二のエンドユーザの端末に接続する手段を有し、第二のエンドユーザ収容装置として機能するようにしてもよい。
【００２９】
これにより、中継装置の運営事業者は、あるサービスの提供を、上位のサービスアンカー装置から自身の下位にあるエンドユーザ収容装置に対して中継することに加えて、自己の配下に直接エンドユーザの端末を収容して、サービスを提供することができるようになる。エンドユーザに直接提供するサービスは、上位のサービスアンカー装置が提供元となっているものでもよいし、自己が提供元となる独自のサービスでもよい。そうすると、各エンドユーザ収容装置では、自己の配下のエンドユーザに対して提供できるサービスの選択肢がさらに増えることになり、柔軟性や自主性を増すことができる。
【００３０】
ここで、前記第二のエンドユーザ収容装置としても機能する前記中継装置が、前記サービスアンカー装置がオリジナルを保持している前記特定のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段を実現するための第一のソフトウェアと、自身が接続する第二のエンドユーザの端末へ前記特定のサービスを提供することの決定に応じて、前記サービスアンカー装置へアクセスするための情報を取得する手段と、前記アプリケーションプログラムのコピーを動作させることにより、前記特定のサービスを前記第二のエンドユーザの端末へ提供する手段とを実現するための第二のソフトウェアと、前記第一のソフトウェアにより利用されていたリソースの一部を前記第二のソフトウェアにより利用されるべきリソースとして割り当てる手段とを備えるようにしてもよい。
【００３１】
これにより、同一装置上で、サービスの配信経路の途中としての機能と、サービスをエンドユーザへ提供する機能との間で、リソースを共用して、融通し合うことが可能になり、既存の配信経路やリソースに併設して新たなサービス用の増設を一から行わなくとも、サービスの提供元を増やすことが可能になる。
【００３２】
本発明に係るサービス提供システムにおいて、前記サービスアンカー装置は、前記エンドユーザ収容装置及び前記中継装置を特定するための情報を格納する手段をさらに有し、前記サービスアンカー装置が前記中継装置内に前記アプリケーションプログラムのコピーを作り出す手段は、前記情報を前記コピーに付加する手段を含み、前記中継装置が自身より前記エンドユーザ収容装置寄りに存在する中継装置内もしくは前記エンドユーザ収容装置内に前記アプリケーションプログラムのコピーを作り出す手段は、付加された前記情報を参照してコピー先を決める手段を含むようにしてもよい。
【００３３】
これにより、サービスアンカー装置が、アプリケーションプログラムの配信経路を指定する命令とともにそのプログラムをマイグレーションして、各中継装置が、その命令に従って各エンドユーザ収容装置まで当該プログラムをマイグレーションすることが、可能になる。このように、サービスアンカー装置に、プログラムの配信経路の決定を含めた制御権を持たせると、サービスの提供元から、そのサービスに係る全てのエンドユーザ収容装置に対する配信が統括して制御できるため、サービス機能の変更や、データの同期、さらにはプログラムの状態の同期が、より精密に実現できる。
【００３４】
本発明に係るサービス提供システムにおいて、前記中継装置は、自身内に作り出された前記アプリケーションプログラムのコピーを保持するための手段と、前記エンドユーザ収容装置とは別の第二のエンドユーザ収容装置から前記サービスアンカー装置への前記アプリケーションプログラムの要求の受信に応じて、前記アプリケーションプログラムのコピーが保持されているか否かを調べる手段と、保持されていないならば、前記サービスアンカー装置へ受信した前記要求を転送する手段とを有し、保持されているならば、保持されているコピーを利用して自身より前記第二のエンドユーザ収容装置寄りに存在する中継装置内もしくは前記第二のエンドユーザ収容装置内に前記アプリケーションプログラムのコピーを作り出すようにしてもよい。
【００３５】
これにより、全てのエンドユーザ収容装置に対するプログラムのマイグレーションを、一つのサービスアンカー装置から行わなくとも、途中に幾つかある中継装置から行うことが可能になり、プログラムの配信におけるサービスアンカー装置への負荷集中を軽減することができる。
【００３６】
上記サービス提供システムにおいて、前記サービスアンカー装置が前記中継装置内に前記アプリケーションプログラムのコピーを作り出す手段は、前記コピーを保持すべき期間を示す情報を付加する手段を含み、前記中継装置における前記コピーを保持するための手段は、付加された前記情報を参照して定められる期間、前記コピーを保持するようにしてもよい。
【００３７】
これにより、配信経路の途中で、どのように、エンドユーザ収容装置へマイグレーションすべきプログラムのコピーを保持しておくかについても、その全体を、サービス提供元であるサービスアンカー装置が統括して制御できるようになる。
【００３８】
上記サービス提供システムにおいて、前記中継装置は、前記特定のサービスに係るアプリケーションプログラムのコピーを前記エンドユーザ収容装置内に作り出す手段と、前記特定のサービスとは別の第二のサービスを提供するためのアプリケーションプログラムのコピーを前記エンドユーザ収容装置内もしくはそれとは別の第二のエンドユーザ収容装置内に作り出す手段とを実現するためのソフトウェアと、前記特定のサービスについて前記期間が経過した後は、前記コピーを保持するための手段を前記第二のサービスに係るアプリケーションプログラムのコピーを保持するために利用できるようにする手段とを備えるようにしてもよい。
【００３９】
これにより、同一の中継装置上で、あるサービスの配信経路の途中としての機能と、別のサービスの配信経路の途中としての機能との間で、リソースを共用して、融通し合うことが可能になり、既存の配信経路やリソースに併設して新たなサービス用の増設を一から行わなくとも、サービスの提供元を増やすことが可能になる。
【００４０】
本発明に係るサービス提供システムにおいて、前記エンドユーザ収容装置は、前記エンドユーザとは別の第二のエンドユーザの端末に接続する第二のエンドユーザ収容装置から、前記アプリケーションプログラムの要求を受信する手段と、前記要求に応じて自身より前記第二のエンドユーザ収容装置寄りに存在する中継装置内もしくは前記第二のエンドユーザ収容装置内に前記アプリケーションプログラムのコピーを作り出す手段と、前記サービスアンカー装置と前記第二のエンドユーザ収容装置との間の経路上に存在する中継装置として機能する手段とをさらに有し、前記第二のエンドユーザ収容装置は、自身が接続する第二のエンドユーザの端末への前記特定のサービスを提供することの決定に応じて、前記サービスアンカー装置へアクセスするための第一の情報と、前記エンドユーザ収容装置へアクセスするための第二の情報とを取得する手段と、前記第二の情報に基づいて前記エンドユーザ収容装置へ前記要求を送信する手段と、前記第一の情報に基づいて前記サービスアンカー装置へ前記エンドユーザ収容装置の中継装置として機能する手段を介してアクセスする手段とを備えるようにしてもよい。
【００４１】
これにより、サービスアンカー装置から見て、あるエンドユーザ収容装置よりも先に別のエンドユーザ収容装置が出現した場合、出現したエンドユーザ収容装置に対するプログラムのマイグレーションを、サービスアンカー装置から行わなくとも、配信経路の途中となった既存のエンドユーザ収容装置から行うことが可能になり、プログラムの配信におけるサービスアンカー装置への負荷集中を軽減することができる。その一方で、出現したエンドユーザ収容装置は、自己の出現についてサービスアンカー装置へも通知するため、プログラムのマイグレーション後は、サービスの提供元であるサービスアンカー装置からの全体を統括した制御を受けることができ、同期を精密にとることができる。
【００４２】
本発明に係るサービス提供システムにおいて、前記サービスアンカー装置は、前記エンドユーザ収容装置を特定するための情報を格納する手段と、前記特定のサービスにより利用可能なデータのオリジナルを保持する手段と、前記情報を参照して、前記データのコピーを、前記中継装置を介して前記エンドユーザ収容装置内に作り出す手段とをさらに有し、前記エンドユーザ収容装置は、作り出された前記データのコピーを前記アプリケーションプログラムのコピーにより利用可能なデータとして記憶する手段をさらに有し、記憶されたデータのうちエンドユーザにより選択されたデータを利用して前記特定のサービスを前記エンドユーザの端末へ提供するようにしてもよい。
【００４３】
これにより、サービス提供に利用されるデータについても、サービスアンカー装置で使われているデータのコピーが、それぞれのエンドユーザ収容装置（エンドユーザ端末の近く）まで配信されてきて使われることが、可能になる。例えば、初期データのように容量の大きなデータについては、プログラムのマイグレーションと同様に、サービスアンカー装置が、データの配信経路を指定する命令とともにそのデータをマイグレーションして、各中継装置が、その命令に従って各エンドユーザ収容装置まで当該データをマイグレーションする（データが存在場所を変える）ようにするとよい場合がある。また、例えば、初期データから変化した差分のデータ（動的データ）のように容量の小さなデータについては、サービスアンカー装置が、データの宛先となるエンドユーザ収容装置だけを指定してそのデータを送信し、各中継装置は、そのようなデータを受信したときには、宛先に基づいて自律的に定められる次の中継装置へ送信するようにするとよい場合がある。
【００４４】
本発明に係るサービス提供システムにおいて、前記エンドユーザ収容装置は、前記サービスアンカー装置に保持されている前記データの最新版を要求し、この要求に応じて受信される最新データのコピーを前記アプリケーションプログラムのコピーにより利用可能なデータとして記憶する手段と、前記アプリケーションプログラムのコピーに前記サービスアンカー装置に保持されている前記データのオリジナルを参照させる手段とを備えるようにしてもよい。
【００４５】
これにより、エンドユーザ収容装置がエンドユーザに対してデータを利用したサービスを提供するに当たり、そのデータの最新のもの（例えば、サービスアンカー装置において時系で変化しているデータや、エンドユーザの前回の利用結果を反映して定まるべきデータ等）を取得することができるとともに、コピーを作成しないことが望まれるデータについては、サービスアンカー装置が保持しているデータ自体を直接参照することもできるようになり、データの適切な同期をとることが可能になる。
【００４６】
本発明に係るサービス提供システムにおいて、前記エンドユーザ収容装置は、自身が接続するエンドユーザの端末へ前記特定のサービスを提供することの決定に応じて、前記サービスアンカー装置へアクセスするための情報を取得する手段と、前記特定のサービスを前記エンドユーザの端末へ提供する際に得られる利用情報を、前記情報に基づいて前記サービスアンカー装置へ向けて出力する手段とをさらに有し、前記サービスアンカー装置は、前記特定のサービスの利用情報を各エンドユーザについて記録する手段と、前記エンドユーザ収容装置から出力された前記エンドユーザについての利用情報を前記記録手段に入力する手段とをさらに有するようにしてもよい。
【００４７】
これにより、サービスがどういう配信形態で提供されるかによらず、また、配信経路にある各装置が異なる事業者により運営される場合でも、サービスの提供元に対して、各エンドユーザの利用情報が、自動的に還元されるようになる。
【００４８】
なお、上述した本発明はいずれも、サービス提供システムを構成するサービスアンカー装置、エンドユーザ収容装置、及び中継装置のそれぞれの装置が行う方法の発明としても、サービス提供システム全体が行う方法の発明としても、成立するものである。また、これらの各装置としてコンピュータを機能させるためのプログラムの発明や、このようなプログラムを記録した記録媒体の発明としても、勿論成立するものである。
【００４９】
例えば、本発明に係るソフトウェアは、特定のサービスを提供するためのアプリケーションプログラムのオリジナルを保持する手段を有するサービスアンカー装置と、エンドユーザの端末に接続する手段を有するエンドユーザ収容装置と、前記サービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置とを備えるサービス提供システムを実現するために、仮想化ミドルウェアがインストールされた装置に組み込まれることにより前記サービスアンカー装置を出現させるソフトウェアであって、前記装置に、前記アプリケーションプログラムのオリジナルを保持させ、前記エンドユーザ収容装置からの前記アプリケーションプログラムの要求を受信させ、前記要求に応じ、前記中継装置を介して前記エンドユーザ収容装置内に前記アプリケーションプログラムのコピーを作り出すための動作をさせることを特徴とする。
【００５０】
本発明に係る別のソフトウェアは、特定のサービスを提供するためのアプリケーションプログラムのオリジナルを保持する手段を有するサービスアンカー装置と、エンドユーザの端末に接続する手段を有するエンドユーザ収容装置と、前記サービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置とを備えるサービス提供システムを実現するために、仮想化ミドルウェアがインストールされた装置に組み込まれることにより前記エンドユーザ収容装置を出現させるソフトウェアであって、前記装置に、前記エンドユーザの端末へ前記特定のサービスを提供することの決定に応じて、前記サービスアンカー装置へアクセスするための情報を取得させ、前記情報に基づいて前記サービスアンカー装置へ向けて前記アプリケーションプログラムの要求を送信させ、前記要求に応じて前記中継装置を介して自身内に作り出される前記アプリケーションプログラムのコピーにより、前記特定のサービスを前記エンドユーザの端末へ提供させることを特徴とする。
【００５１】
本発明に係るさらに別のソフトウェアは、特定のサービスを提供するためのアプリケーションプログラムのオリジナルを保持する手段を有するサービスアンカー装置と、エンドユーザの端末に接続する手段を有するエンドユーザ収容装置と、前記サービスアンカー装置と前記エンドユーザ収容装置との間の経路上に存在する中継装置とを備えるサービス提供システムを実現するために、仮想化ミドルウェアがインストールされた装置に組み込まれることにより前記中継装置を出現させるソフトウェアであって、前記装置に、前記サービスアンカー装置もしくは自身より前記サービスアンカー装置寄りに存在する中継装置により自身内に作り出されたコピーを保持させ、保持されたコピーを利用して自身より前記エンドユーザ収容装置寄りに存在する中継装置内もしくは前記エンドユーザ収容装置内に前記アプリケーションプログラムのコピーを作り出させることを特徴とする。
【発明の効果】
【００５２】
以上のとおりであるから、本発明によれば、例えば、エンドユーザへのサービス提供に関係する各事業者に対し、従来にない様々な優位性を有するプラットフォームを提案することが可能になる。
【発明を実施するための最良の形態】
【００５３】
以下、本発明の実施の形態について図面を用いて説明する。
【００５４】
本発明の一実施形態に係るサービス提供システムは、仮想アーキテクチャを技術基盤としたサービスプラットフォームであり、複数のデータセンタ（以下、「ＤＣ」という。）が階層的に接続されて、階層化された仮想化空間を形成するものである。本実施形態で使われる仮想化技術は、例えば、「日経ＢＰムック／すべてわかる仮想化大全」（日経ＢＰ社、ＩＴＰｒｏ編、２００６年１０月３０日発行）に記述されている。
【００５５】
ここで、本実施形態で提供される「サービス」について説明しておく。例えば、映画、ドラマ、音楽、広告、ゲーム等のコンテンツを配信するだけでも「サービス」の提供になるが、例えば、アンケート回答、ショッピング申込等の双方向通信を付加したコンテンツ配信を「サービス」として提供したり、例えば、テレビ電話会議、オンライン対戦ゲーム等の複数のエンドユーザが同時に参加する通信を「サービス」として提供したりすることも可能である。
【００５６】
「サービス」は後述のソフトウェアアプライアンスを含む形で、当該サービスの提供主（例えば、コンテンツホルダ）が、サービスを配信したい全てのエリアを配下に持つデータセンタ（後述のサービスアンカーＤＣ）に提供する。
【００５７】
そして、「データセンタ」（ＤＣ）とは、単体のサーバにより構成されてもよいし、一箇所に集められたサーバ群、ストレージ群、ネットワーク装置等により構成されてもよいものである。
【００５８】
各ＤＣの運用者は、例えば、インターネット事業者、ケーブルテレビ事業者、固定電話事業者、携帯電話事業者等であり、ＤＣ毎に運用者が異なってもよい。
【００５９】
ＤＣとＤＣの間は、専用線が敷設されてもよいし、広帯域や帯域保証等の条件が満たされる次世代ネットワーク（ＮＧＮ）、ＩＰ−ＣＡＴＶネットワーク等の基幹網で接続されてもよい。本実施形態に係るサービス提供システムは、ニュートラルな回線環境上で構築でき、電話キャリア、ケーブルテレビ、携帯キャリアなどを横断的に利用可能である。
【００６０】
本発明の一実施形態に係るサービス提供システムは、複数のＤＣを含み、その中には、下記の３種類のＤＣがあり得る。つまり、上記の仮想化空間は、３層以上に階層化され得る。
【００６１】
１番目は、「サービスアンカーＤＣ」である。サービスアンカーＤＣは、サービスないしコンテンツの製作者又はこの製作者の委託を受けた者（サービスの提供主）から本システムへ渡されたプログラム（後述のソフトウェアアプライアンス）やデータのオリジナルを保持し、本システム内でのサービス提供元となる（サービス毎に一つ存在する）ＤＣである。このＤＣには、後述する「オリジン・プレーン」（O-plane）が組み込まれる。
【００６２】
２番目は、「エンドユーザ収容ＤＣ」である。エンドユーザ収容ＤＣは、サービスの提供先であるエンドユーザの端末に接続するＤＣであり、一つのサービスアンカーＤＣに対して複数設けることができる。このＤＣには、後述する「プロバイダ・プレーン」（P-plane）が組み込まれる。
【００６３】
３番目は、「中継ＤＣ」である。中継ＤＣは、サービスアンカーＤＣとエンドユーザ収容ＤＣとの間の経路上に一つ又は複数設けられて（これで、３層又は４層以上となる）、両者の間で送受信されるメッセージやデータを中継したり、後述するソフトウェアアプライアンスのマイグレーション等を助けたりするＤＣである。また、一つのサービスアンカーＤＣに対して多数のエンドユーザ収容ＤＣが設けられる場合、エンドユーザ収容ＤＣを幾つかのグループに分けて、各グループを担当する（配下に置く）中継ＤＣを設ければ、サービスアンカーＤＣへの負荷集中を軽減可能になる。中継ＤＣには、後述する「ミラー・プレーン」（M-plane）が組み込まれる。
【００６４】
複数のサービスを提供する場合、物理的に一つのＤＣが、あるサービスについてはサービスアンカーＤＣとして、別のサービスについてはエンドユーザ収容ＤＣとして、（さらに別のサービスについては中継ＤＣとして、）機能することが可能である。つまり、一つのＤＣに、３種類のプレーンのうちの２つ以上を組み込むことができ、あるサービスについては「オリジン・プレーン」が動作し、別のサービスについては「プロバイダ・プレーン」が動作することが可能である。
【００６５】
よって、例えば、複数のＤＣが木構造で接続されている場合、木構造のルートに位置するＤＣを中央ＤＣ、ブランチに位置するＤＣを中間ＤＣ、リーフに位置するＤＣを末端ＤＣとすると、あるサービスについては、中央ＤＣがサービスアンカーＤＣ、中間ＤＣ又は末端ＤＣがエンドユーザ収容ＤＣとして機能するとともに、別のサービスについては、中間ＤＣがサービスアンカーＤＣ、末端ＤＣがエンドユーザ収容ＤＣとして機能することが可能である。
【００６６】
木構造を生かして、例えば、中央ＤＣを国レベルで一つ設置するＤＣ、中間ＤＣを都道府県レベルで一つずつ設置するＤＣ、末端ＤＣを市町村レベルで一つずつ設置するＤＣとしてもよい。また、中央ＤＣと各末端ＤＣとの間に、２つ以上の中間ＤＣを設置してもよく、例えば、中央ＤＣと都道府県レベルの各中間ＤＣとの間に、東北、関東、北陸等の地方レベルの中間ＤＣを設置してもよい。ＤＣ間で木構造を構成することで、配下を持つ地域ブロック単位での独自サービスが簡易に実現できる。
【００６７】
なお、あるサービスについて、一つのＤＣがサービスアンカーＤＣとエンドユーザ収容ＤＣを兼ねて機能することも可能である。つまり、ＤＣが自己の収容するエンドユーザのみに対して独自のサービスを提供する場合は、「オリジン兼プロバイダ・プレーン」が動作して、自身が提供元であるサービスを自らエンドユーザに提供する。このＤＣは、別のサービスアンカーＤＣが提供元であるサービス（独自のサービス以外のサービス）については、エンドユーザ収容ＤＣもしくは中継ＤＣとして機能（「プロバイダ・プレーン」もしくは「ミラー・プレーン」が動作）する。
【００６８】
本実施形態において、「プレーン」とは、基盤となる所定の処理を担当すべくコンピュータ上で実行される一連のプロセスであり、好ましくは、仮想化ミドルウェア（例えば、ＶＭｗａｒｅ社のVMware ServerやVMware ESX ServerもしくはVMware Infrastructure、Ｍｉｃｒｏｓｏｆｔ社のVirtual Server、ＸｅｎＳｏｕｒｃｅ社のXen等）上で動作するように作製されたソフトウェアにより実現される。
【００６９】
サービスアンカーＤＣとエンドユーザ収容ＤＣが直接（中継ＤＣを介さずに）接続する場合、オリジン・プレーンとプロバイダ・プレーンが通信し、また必要に応じて同期をとることにより、一つのサービス・プレーンを形成する。
【００７０】
サービスアンカーＤＣとエンドユーザ収容ＤＣが一つ又は複数の中継ＤＣを介して接続する場合、オリジン・プレーンとプロバイダ・プレーンが一つ又は複数のミラー・プレーン経由で通信し、また必要に応じて同期をとることにより、一つのサービス・プレーンを形成する。
【００７１】
そして、一つのサービス・プレーンが、一つのサービスを提供する。同じサービスアンカーＤＣとエンドユーザ収容ＤＣの組であっても、複数の異なるサービスを提供する場合は、複数のサービス・プレーンが形成される。あるサービスアンカーＤＣからあるエンドユーザ収容ＤＣへのサービス・プレーンは、そのエンドユーザ収容ＤＣが接続する一つ又は複数のエンドユーザ端末に対してサービスを提供し、同じサービスを別のエンドユーザ端末に対して提供する別のエンドユーザ収容ＤＣへは、同じサービスアンカーＤＣからの別のサービス・プレーンが形成される。
【００７２】
以上に説明した本実施形態に係るサービス提供システムの全体構成の一例を俯瞰した様子を、図１に示しておく。
【００７３】
さて、本実施形態において、ソフトウェアアプライアンス（以下、「ＳＡ」という。）は、サービス提供機能を有するアプリケーションプログラムを少なくとも含むプログラムであり、好ましくは、サーバの仮想化技術におけるゲストＯＳとアプリケーションプログラムとを一体化したプログラムとするとよい。
【００７４】
そうすれば、仮想化ミドルウェアがインストールされているコンピュータ（本システムでは、ＤＣ）であれば、どのようなハードウェアやファームウェアあるいはＯＳ（ホストＯＳ）が採用されたコンピュータであろうが、同一のプログラムが仮想化ミドルウェア上（本システムでは、プレーン上）で動作可能である。一例として、ＶＭｗａｒｅ社のVirtual Applianceは、ＯＳやアプリケーションがインストールされ設定された仮想マシン（プログラム）であり、ＳＡとして利用できる。
【００７５】
図２は、本実施形態において、仮想化技術を利用したＳＡを採用した場合のシステムの各構成要素の機能を説明する図である。
【００７６】
各ＤＣは、コンピューティングリソース及びホストＯＳ上に、仮想化ミドルウェアが搭載されたサーバである。そして、各ＤＣにおいて、その仮想化ミドルウェア上で、提供すべきサービスに必要なプレーン（３種類のプレーンのうち、そのＤＣが当該サービスの配信経路上のいずれに位置するかによって定まるプレーン）が動作するようにする。仮想化ミドルウェアと各プレーンが合わさって、本実施形態のサービス提供システムの仮想化環境が実現される。
【００７７】
ＳＡは、そのＳＡが存在するＤＣにおける当該サービス用のプレーン上で、そのＤＣのコンピューティングリソースを利用しながら動作する。ＳＡは、当該サービスを提供するためのアプリケーションプログラムとゲストＯＳを含んでいる。
【００７８】
ＳＡが後述のマイグレーションをされるときには、オリジン・プレーンにより、アプリケーション配信条件情報が付加される。アプリケーション配信条件情報には、そのＳＡの識別子と、そのＳＡのコピーを保持して稼動させることによりエンドユーザにサービスを提供すべきプロバイダ・プレーンを持つＤＣ名と、そのＳＡのコピーが移動していく経路上にあるミラー・プレーンを持つＤＣ名、当該ミラー・プレーンでのＳＡのコピーの保持期間又は即時消去の別が当該ミラー・プレーンの数の分だけ併記されたものとが含まれる。
【００７９】
ＳＡがマイグレーションされることにより、サービスアンカーＤＣ（サービスＡ，Ｂ，Ｃについては中央ＤＣ、サービスＤについては中間ＤＣ）においてオリジナルのＳＡが動作している一方で、エンドユーザ収容ＤＣ（サービスＡ，Ｂ，Ｄについては末端ＤＣ、サービスＣについては中間ＤＣ）においてＳＡのコピーが動作している状態になる。
【００８０】
サービスＡ，Ｂについては、サービスアンカーＤＣからエンドユーザ収容ＤＣへの経路上に中継ＤＣ（中間ＤＣ）が存在し、そこで、ＳＡのマイグレーションが中継されるため、ＳＡのミラーリングデータ（ＳＡのコピーであるが、後に消去される）が所定の期間存在することになる。所定の期間は、上記のアプリケーション配信条件情報により指示されるものであり、即時消去が指定されていた場合には、中継ＤＣは、エンドユーザ収容ＤＣもしくは自身より下位の中継ＤＣ内に、ＳＡのコピーを生成し終わると、ミラーリングデータを消去する。
【００８１】
なお、ミラー・プレーンは、サービス毎に存在する必要はなく、いずれのサービスに対しても同様に、マイグレーションの中継を行う。また、ミラーリングデータは、一時的に中継ＤＣのリソースを利用するだけであるため、ミラー・プレーンの管理するリソースは、複数のサービスのマイグレーションについて共有で用いられる。
【００８２】
ＳＡに含まれるアプリケーションプログラムには、２つの種類があり得る。後（あと）同期型と随時更新型である。後述のプログラムのマイグレーション機能が実行される際、後同期型のＳＡは、サービスアンカーＤＣにおけるオリジナルの動作とエンドユーザ収容ＤＣにおけるコピーの動作との間にある程度の時間的「差」があってもよいが、随時更新型のＳＡは、両者の間に時間的「差」がほとんど生じないように同期がとられながら移動される。
【００８３】
本実施形態において、サービスは、前述のようにいろいろなビジネス形態、技術仕様を想定している。したがって、それぞれのサービスを構成するアプリケーションプログラムの特性により、後同期型／随時更新型を使い分けて利用することが実際的である。
【００８４】
例えば、文章を書く、絵を描くというような個人での単体事務作業などに使われるアプリケーションであれば、プログラムの時系での変化も多くないから、後同期でよい。
【００８５】
しかし、時間で状況が変化するゲーム（例えば、キャラクターを育てていくゲームなどは、個人利用だが時間変化がある）のようなアプリケーションや、時間で変化するコマーシャル提供が付加されたアンケートつきビデオ配信のようなアプリケーションは、サービスアンカーＤＣとエンドユーザ収容ＤＣで同一時間にアプリケーションが同一進行していることが望ましい。こうしたアプリケーションプログラムでサービスを行おうとする場合、本システムでは、随時更新型に適したマイグレーションを実現することが可能である。
【００８６】
これにより、例えば、サーバへアクセスすることで実現するオンライン対戦ゲームのようなサービスも、そのサービス用のサーバソフトウェアがサービスアンカーＤＣで動作し続けていながら、同一のサーバソフトウェアがサービス・プレーン上をエンドユーザ収容ＤＣまで動的に移動してきて、サービスアンカーＤＣとエンドユーザ収容ＤＣで同じ状態をとりながら動作し続けるため、各エンドユーザ端末は、遠くのサービスアンカーＤＣにオリジナルが存在して稼動を続けているサービスについて、その動的な状態を含めて同一のサービスを、近くのエンドユーザ収容ＤＣから提供してもらうことが可能になる。
【００８７】
図３は、上述したＳＡのマイグレーションが行われる本実施形態に係るサービス提供システムの動きの概要を説明する図である。
【００８８】
エンドユーザの端末がサービスの提供を受けるために実際にアクセスするのは、近くにあるエンドユーザ収容ＤＣである。エンドユーザの端末は、サービスの提供を受けるため、コンピューティング機能、表示機能、コントローラ機能等を備えるが、それらの機能と、エンドユーザ収容ＤＣに接続するネットワークとの間に、セットトップボックスが存在してもよい。
【００８９】
エンドユーザの端末から上流を見た場合、そこにはユーザ・インタフェースしか見えず、サービスを提供する実体がエンドユーザ収容ＤＣであるのか、サービスアンカーＤＣであるのか、またその間にどのような中継ＤＣがあるのか等は、エンドユーザの端末からは見えないようになっていると、便利である。
【００９０】
また、サービスに係るアプリケーションやデータのプロバイダが、サービスアンカーＤＣとは別に存在する場合、それらのプロバイダからは、サービスアンカーＤＣに対するサービスプロバイダ・インターフェースしか見えず、サービスがどのような経路で配信されてエンドユーザの端末に提供されているかは見えないようになっていると、便利である。
【００９１】
本実施形態に係るサービス提供システムは、このように、ユーザ・インタフェースとサービスプロバイダ・インターフェースとの間のプラットフォームを形成可能なものである。
【００９２】
そして、このプラットフォームにおいては、サービス毎に、オリジン・プレーン、ミラー・プレーン、プロバイダ・プレーンが接続されて形成されたサービス・プレーン上を、当該サービスのＳＡがマイグレーションされていく（ミラー及びコピーが作出されていく）ことにより、アプリケーションプログラムが、サービス提供元のサービスアンカーＤＣから、エンドユーザ収容ＤＣへ張り出していく。なお、アプリケーションプログラムが利用するデータについては、同様に張り出していってもよいし、別な方式で配信されてもよい。
【００９３】
このアプリケーションの張り出しは、サービスアンカーＤＣにより制御されており、サービス・プレーンを形成する３種類のプレーンの階層関係により、上位から下位への許諾という制御関係が保たれる。
【００９４】
なお、本システムにおいて、サービス・プレーンはサービス毎に形成され、３種類のプレーンもサービス毎に存在するが、各プレーンの実体のプログラムコードは、その上で動作するＳＡが提供するサービス内容の相違に関わらず、共通のものを使うことができ、各プレーンが参照する配信経路やリソースの情報を、サービス毎に異ならせておけばよい。
【００９５】
本実施形態に係るサービス提供システムの別の特徴は、配信経路の途中のＤＣも、リソースをそのまま利用してサービス提供元になることが可能な点にある。図３には、中継ＤＣが２つ示されているが、そのいずれのＤＣも、それぞれが、いま提供中のサービスとは別の、そのＤＣ独自のサービスについて、オリジン・プレーンを導入して、新たにサービスアンカーＤＣとなることができ、既存のサービスについての中継ＤＣでもあり続けることができる。
【００９６】
これは、本システムの各ＤＣの基礎部分が、ハードウェアとホストＯＳの上に仮想化ミドルウェアを搭載した形式で、共通化されており、その上に、プレーンを形成する（ＳＡを稼動させる論理的な占有空間を準備する）ことで、どのＤＣでも、サービス提供元としての機能を導入することができるからである。
【００９７】
さらに、同一ＤＣ内で、既存のミラー・プレーンと新たなサービスのオリジン・プレーンとは、同じ仮想化ミドルウェア上で動作するため、互いのリソース不足を補うような協調連携をとることも可能である。
【００９８】
本実施形態に係るサービス提供システムのさらに別の特徴は、ユーザプロファイルの管理場所をサービスアンカーＤＣとすることで、各エンドユーザのサービス利用情報が、サービス提供元に還流し、一箇所に集まって管理されることが可能な点である。
【００９９】
各エンドユーザの端末にサービス利用情報の記録を残すと、どの端末でそのサービスを利用したかによってプロファイルの管理場所が異なってしまい、一元管理が難しくなるが、本システムのように、どのサービスを利用したかによって定まる場所、すなわち、そのサービスの提供元であるサービスアンカーＤＣへ、各エンドユーザの利用情報をフィードバックするようにすれば、端末に束縛されないサービス提供が可能になる。また、サービスの提供元（サービスアンカーＤＣ）や提供主（サービスプロバイダ）が、全てのエンドユーザの利用情報を、配信経路にかかわらず、簡易に入手することが可能になる。
【０１００】
以上に概要を説明した本実施形態に係るサービス提供システムを活用すれば、例えば、従来バラバラに存在した事業モデル（例えば、地域と中央、コンテンツホルダと配信事業者等）を連結して、新しいサービス配信のビジネスモデルを創造することが可能になり、各々の事業者が提供するサービスの制御で、独自の事業と自身が包含されるより大きい事業とを棲み分けながら展開することや、キャリア、端末、ＤＣをクロスオーバーするグローバルなマルチフィールドサービスを実現することも可能になる。
【０１０１】
図４は、本実施形態に係るサービス提供システムを構成する各ＤＣの内部構成の一例を示す図である。
【０１０２】
まず、図４でエンドユーザ収容ＤＣに設置されている「サービスボックス」について説明する。サービス提供主から依頼をうけたサービスアンカーＤＣの運用者は、そのサービスのＳＡ（アプリ）をサービスアンカーＤＣ内にオリジン・プレーンと併せて準備する一方で、そのサービスについてエンドユーザ収容ＤＣとなるべきＤＣに設置されることになる「サービスボックス」を準備する。
【０１０３】
「サービスボックス」は、例えば、ハードウェアを含むワンボックスサーバとして準備されてもよいし、ハードウェア無しでソフトウェアのみで準備されてもよい。「サービスボックス」がハードウェアを含む場合、ブレードサーバの筐体に収納するサーバブレードのように、１つずつが、サーバに装着されるとサーバの一部を構成して動作可能となるユニットであって、ＣＰＵ、メモリ、ハードディスク、回線等のリソースを有するものとして準備されてもよい。
【０１０４】
「サービスボックス」がソフトウェアだけの場合は、所定の仕様のハードウェアが準備されている環境へ自動インストールされるようなオートブート機能を含むＣＤやＤＶＤのような形で準備されると便利である。このソフトウェアが自動インストールされると、既存のサーバ（ＤＣ）内に、サービスボックスに相当する仮想サーバ空間が、仮想的に形成されることになる。
【０１０５】
エンドユーザ収容ＤＣの運用者は、自社の事業として、新たなサービスをエンドユーザへ提供しようとした場合、複数あるサービスアンカーＤＣの多数のサービスのうちのいずれのサービスを自社で提供するか、決めることができる。エンドユーザ収容ＤＣの運用者が、あるサービスを自社で提供することを決めた場合、そのサービスのサービスアンカーＤＣの運用者と必要に応じてサービス提供に関する契約を結び、当該サービスアンカーＤＣの運用者が準備している「サービスボックス」を購入し、その「サービスボックス」をエンドユーサ収容ＤＣ上に設置すれば、エンドユーザ収容ＤＣにおいて当該サービスのプロバイダ・プレーンが動作して、サービスアンカーＤＣと通信し、エンドユーザ収容ＤＣがエンドユーザへサービスを提供することが可能になる。
【０１０６】
このため、サービスボックスには、サービスアンカーＤＣへアクセスするための情報（サービスアンカーＤＣのアドレス等と、中継ＤＣを経由するのであれば中継ＤＣのアドレス等とを含む情報）と、プロバイダ・プレーンを実現するソフトウェアとが予め含まれている。このソフトウェアには、プロバイダ・プレーンの実体のほかに、当該プロバイダ・プレーンをエンドユーザ収容ＤＣに組込む初期段階で使用される自動プレーン追加構成ソフトウェアを含んでもよい。
【０１０７】
また、サービスアンカーＤＣへアクセスするための情報には、サービスアンカーＤＣならびに当該サービスのオリジン・プレーンへログインするための情報や、当該サービスの利用情報を格納するサービスアンカーＤＣ内の場所を特定するための情報等を含んでもよい。
【０１０８】
サービスボックスが設置される前のエンドユーザ収容ＤＣを、仮想化ミドルウェアがインストールされているものとしておけば、複数のエンドユーザ収容ＤＣ用に準備するプロバイダ・プレーンは、それらのＤＣが異なるＯＳ（ホストＯＳ）等を採用するものであっても、共通のソフトウェアで実現することができる。
【０１０９】
サービスボックスには、さらに、そのサービスの提供のために追加的に必要となるリソースをエンドユーザ収容ＤＣに補充するため、サービスアンカーＤＣの運用者が決めたスペックのハードウェアを含んでいてもよい。サービスボックスが設置される前のエンドユーザ収容ＤＣを、仮想化ミドルウェアがインストールされているものとしておけば、どのようなハードウェアをサービスボックスに含ませても、エンドユーザ収容ＤＣにおいてそのハードウェアを自身のリソースに追加することができる。
【０１１０】
サービスアンカーＤＣへ至るまでに経由する中継ＤＣの情報や、サービスの提供のために追加的に必要となるリソースは、それぞれのエンドユーザ収容ＤＣによって、異なる可能性がある。このように各エンドユーザ収容ＤＣに固有のものは、そこへ配布するサービスボックスに含ませておくことにより、後でサービスアンカーＤＣ側から配信するＳＡは、複数のエンドユーザ収容ＤＣに共通のものとすることができる。
【０１１１】
新たにサービスの開始を決めたエンドユーザ収容ＤＣの運用者は、その新たなサービスのための特別なハードウェアやソフトウェアを自ら用意しなくとも、所定のリソースを満たす仮想化ミドルウェア環境を全てのサービスに共通なものとして準備しておけば、その上に新たに購入したサービスボックスを設置するだけで、エンドユーザへサービスを提供することができる。
【０１１２】
さらに、どのサービスも同じ仮想化環境上で提供できるということは、エンドユーザ収容ＤＣの運用効率が向上することを意味する。
【０１１３】
また、サービスボックスがハードウェア込みで提供される場合、そのハードウェアが最適化されて自動で設置先の環境に組み込みされるようにサービスボックスを作成しておけば、エンドユーザ収容ＤＣの運用者には、ソフトウェアだけでなくハードウェアも含めて、当該サービスを運用してゆくための専門的技術知識や運用ノウハウなどが不要となり、さらに事業者負担を減らすことができる。
【０１１４】
こうしたサービスボックスの特徴は、エンドユーザへのサービス提供の接点となる中小の事業者（例えば、地域限定のケーブルテレビ事業者やインターネット事業者等）が、自社のユーザ（エンドユーザ）に提供するサービスのセットに、事業者毎の自主性を持たせることを可能にする。
【０１１５】
サービス提供主から依頼をうけたサービスアンカーＤＣの運用者は、上記の「サービスボックス」を準備する一方で、サービスアンカーＤＣ内にオリジン・プレーン及びＳＡのオリジナルを準備するが、このとき、「サービスボックス」を購入した者が運営するエンドユーザ収容ＤＣ及びそこへ至るまでの中継ＤＣの情報（エンドユーザ収容ＤＣのアドレス等と、中継ＤＣを経由するのであれば中継ＤＣのアドレス等とを含む情報）を、オリジン・プレーンが参照できる情報として格納しておく。
【０１１６】
本システムでは、各サービスに係るアプリケーションの張り出しが、そのサービスのサービスアンカーＤＣにより中央集権的に制御されるが、その制御の際にサービスアンカーＤＣが参照するのが、上記で格納されたエンドユーザ収容ＤＣ及び中継ＤＣの情報である。サービスアンカーＤＣでは、全ての出現し得るエンドユーザ収容ＤＣ及びそこへ至る経路を把握できるため、途中の中継ＤＣでミラーリングデータを保持すべき期間を計算したり、マイグレーション中継のために必要なリソースを予測したりすることができる。
【０１１７】
上述したアプリケーション配信条件情報は、これらの計算ないし予測に基づいて、サービスアンカーＤＣが作成することができるものである。また、当該サービスのマイグレーション中継のために必要なリソースについては、サービスアンカーＤＣの運用者から各中継ＤＣの運用者へ、前もって伝えられ、各中継ＤＣの運用者は、実際にそのサービスのマイグレーションが始まる前に、リソースを共有する他のサービスとの関係を考慮して、リソースが不足しそうであれば補充しておく。
【０１１８】
以下には、各プレーンの詳細な動作の一例を、フローチャート（図５〜図９）及び説明図（図１１〜図１８）を用いて記述する。
【０１１９】
オリジン・プレーンは、サービス毎に一つ設けられ、プロバイダ・プレーンは、サービス毎に設けられるオリジン・プレーン一つに対し、複数設けられることが可能であり、ミラー・プレーンは、複数のサービスから共有されることが可能である。
【０１２０】
まずは、図１０を用いて、各プレーンによるコンピューティングリソースの利用について説明しておく。
【０１２１】
個々のサービスは、アプリケーションプログラム（ＡＰ）と、そのアプリケーションの動作するＯＳ（ゲストＯＳ）、そしてそのサービスがエンドユーザによって選択され動作するときに利用されるデータ（Ｄａｔａ）で構成される。
【０１２２】
例えば、図示するように、サービスＡについて、中央ＤＣが提供元（サービスアンカーＤＣ）になる場合、サービスアンカーＤＣには、その提供サービスの配信元になるオリジン・プレーンがある。エンドユーザの接続を持つ末端ＤＣには、プロバイダ・プレーンが、アプリケーションやデータを中継する中間ＤＣには、ミラー・プレーンが、存在する。１つのサービスについて、これら３つのプレーンがつながった１つのサービス・プレーンが、仮想化空間として形成される。
【０１２３】
アプリケーションＡ、Ｂ，Ｃは、アプリケーションのオリジナルの存在する中央ＤＣから、途中の中間ＤＣでミラーされながら、各末端ＤＣ（図示した末端ＤＣは、サービスＡ，Ｂを選択している）まで移動され、エンドユーザが接続してくる末端ＤＣにアプリケーションのコピーが存在する状態になる。
【０１２４】
図示した例では、アプリケーションとＯＳが一体化したＳＡが、そのサービスについての仮想化空間であるサービス・プレーン上を、あたかも張り出していくような動きで、移動する。その移動の中継をするミラー・プレーンは、他のサービスについても同様に移動の中継を行う。つまり、ミラー・プレーンは、複数の中継対象のアプリケーション（ここではＡ，Ｂ，Ｃ）から共用され、中間ＤＣのリソースを複数のアプリケーションにより共有して利用する。
【０１２５】
上述した移動の制御権は、ミラーリングデータが作られたりアプリケーションのコピーが作られたりするミラー／プロバイダプレーンより、上位のプレーンにある。よって、末端ＤＣで提供されているサービスであっても、そのサービスの制御として、例えば、利用者へのメニュー表示制御、入力制御、課金制御等を、サービスの提供元であるサービスアンカーＤＣのオリジン・プレーンが行うようにすることができる。
【０１２６】
オリジン・プレーンは、サービスの提供元として、個々のＳＡのオリジナル、全プログラムデータ、各エンドユーザのサービス利用記録が格納蓄積されるエンドユーザプロファイル・データベースを管理対象として含む。そして、個々のサービスのプログラムと全データ分のリソース容量を、占有的に確保宣言する。
【０１２７】
ミラー・プレーンは、オリジンからプロバイダへの橋渡しをする領域を、リソース共有領域として保有する。これは、オリジンから移動の命令とともに受け取るはずの複数のＳＡ及びそのデータの転送のための領域であり、定常的に共用される。
【０１２８】
もしサービスＡが、上位のオリジン・プレーンから下位のプロバイダ・プレーンへ移動している最中（「オリジンからミラーへのコピー時間ｔ１＋ミラーからプロバイダへのコピー又は移動時間ｔ２」の間）だとすると、サービスＡのために利用されているミラー・プレーンの領域は、その間は優先度が上がり他のサービスには利用できない。
【０１２９】
しかし、サービスＡについて、オリジンからのコピー（移動元にオリジナルが残り移動先にコピーがある状態にする移動）と次の配下のミラー又はプロバイダ・プレーンへのコピー又は移動が終わった状態だとすると、ミラー・プレーンの領域は、サービスＡの受信用かつ送信元用に利用していたリソースのうちコピー保持に必要な最小限の領域を残して、Ａ以外の他のサービスのミラーリング処理のために割り当てられることが可能となる。
【０１３０】
プロバイダ・プレーンは、自身の上で稼動するサービスの「サービス利用者数×利用率×コンテンツ容量」を計算し、この計算に基づくリソース容量（一定の値を超える容量）を占有的に確保宣言する。図１０では、エンドユーザ収容ＤＣに、ＳＡのコピーは存在しているがデータのコピーは未だ受け取っていない状態を図示しているが、ＳＡもデータもマイグレーションされてくる前に、リソースの占有宣言を行う。この占有宣言は、サービスボックス設置時に自動的に行うように構成することができ、それにより、サービス開始時や廃止時にはサービスボックスの設置を付けたり外したりするだけで末端ＤＣのリソース割り当ての運用が済むという手軽さが実現できる。
【０１３１】
ここでの占有とは、物理的な領域の確保ではなく、仮想化環境下での最大利用時のＣＰＵ、メモリ、ハードディスクの割り当て量の宣言とすることができ、実際にその稼動状況が最大値にいたらなければ、他のサービスへリソースをまわす（各プレーンが自らのプレーン内だけでなく他のプレーンへもリソースを融通する）ことができる。
【０１３２】
本システムでは、仮想化資源を共有利用することのできる仮想化環境の上に、サービス毎に、サービス・プレーンという配信基盤を構築し、１つのサービス・プレーンが３種類のプレーンから形成されるようにして、層状の木構造を構成することができる。
【０１３３】
図５及び図１１は、あるサービスのサービスアンカーＤＣの配下で、エンドユーザ収容ＤＣとなるＤＣにサービスボックスが設置されたときの動作の一例を説明する。
【０１３４】
サービスアンカーＤＣの運用者は、これに先立って、サービスボックスを準備して、エンドユーザ収容ＤＣとなるＤＣの運用者に渡している（Ｓ３００）。
【０１３５】
サービスボックスは、例えば、仮想化環境を考慮して容量計算されたハードウェアリソースとして存在する物品であり、その中には、後の工程で移動してくるＳＡが一定の数のエンドユーザに向けてサービス提供を行うために必要とするリソースと、プロバイダ・プレーンという仮想環境とが含まれる。また、サービスアンカーＤＣの場所と、そこへの自動アクセスツールも含まれる。
【０１３６】
サービスボックスに含めるリソースの容量は、サービス利用者数、利用率、コンテンツ容量等をパラメータとして計算することができる。例えば、途中でのアンケート機能付の動画ドラマ配信というサービス（韓国ドラマａ、日本ドラマｂ等のコンテンツがサービス内のメニューで用意される）の場合、同時にそのサービスを利用する人数、双方向の機能であるアンケート機能の利用率、メニューとして提供される個々のコンテンツの容量等を計算式への変数として、特定条件下（最もアクセスの多そうな曜日や時間など）で一定の基準（レスポンスタイム）を満たすようなリソース（ＣＰＵ性能、メモリ容量、ＨＤＤ容量、回線バンド幅ほか）を計算し、サービスボックスに含めておく。
【０１３７】
サービスボックスがエンドユーザ収容ＤＣとなるべきＤＣに設置されると、自動的に自身をそのＤＣに組み込む機能を有しているプロバイダ・プレーンは、その組み込みの際に、一定の値を超える容量のリソースを占有的に確保宣言するが、そこで占有宣言されるリソースの容量と、サービスボックスに含められたリソースの容量は、同じであってもよいし、異なっていてもよい。
【０１３８】
すなわち、サービスボックスには、サービスアンカーＤＣで把握している利用者数や利用率に基づいて計算されるリソース容量が含まれるが、エンドユーザ収容ＤＣの方が利用者（エンドユーザ）について精度の高い予測ができるのであれば、その予測に基づいて定められる容量のリソースを占有宣言すればよい。前者が後者より少ない場合には、プロバイダ・プレーンは、サービスボックスのリソースにＤＣのリソースを加えて占有するし、前者が後者より多い場合には、サービスボックスのリソースのうちの一部を占有し、残りの部分はＤＣで行われる他の処理に利用されることになる。
【０１３９】
そして、サービスボックスがエンドユーザ収容ＤＣへ渡される一方で、オリジン・プレーンは、初期設定として、次の動作を行っている（Ｓ３０５）。
【０１４０】
オリジン・プレーンは、自身が組み込まれたサービスアンカーＤＣにおいて、自身が担当するサービス（図１１では、サービスＡ）の提供のための所定のリソースを確保宣言し、そのリソースを利用して、自身の上にサービスＡを提供するためのＳＡを常駐させる。また、サービスＡについてエンドユーザ収容ＤＣとなるべきＤＣの情報を（間に中継ＤＣがある場合はその情報も）、格納しておく。
【０１４１】
そして、オリジン・プレーンは、サービスＡについてプロバイダ・プレーンから後述の終了時還流又は随時還流してくる利用情報を格納する特定の場所を、自身が組み込まれているＤＣが利用できるハードディスク等に定める。この格納場所は、物理ディスクとして定められてもよいし、物理ディスク名でない別名のディスクボリュームとして認識され、遠隔地に存在してもよい仮想ディスクとして定められてもよい。
【０１４２】
また、ストレージの仮想化技術を用いてもよく、その場合は、格納場所についての仮想ディスクと物理ディスクのマッピングテーブルを生成し、オリジン・プレーンの利用するディスクを仮想ディスクとしてＳＡにマウントし、状態を管理するようにして、プロバイダ・プレーン上で動作するＳＡ（コピー）からもそのディスクが利用されるようにする。
【０１４３】
その後、オリジン・プレーンは、エンドユーザ収容ＤＣのプロバイダ・プレーンから呼び出され、ログインを受け付ける（Ｓ３１０）。このように受付されたプロバイダ・プレーンに対しては、以降、アプリケーションのバージョンアップやパッチの供給等があった場合に、自動アップデートのためのメッセージ等を送信したり、新しいデータが登録された場合に、新着通知メッセージ等を送信したりする。
【０１４４】
上述したようにオリジン・プレーンにより初期設定が行われる一方で、サービスボックスが設置されたエンドユーザ収容ＤＣにおいては、プロバイダ・プレーンが、自身が搭載されているサービスボックスがＤＣに設置されたことを検出し（Ｓ１００）、次のように初期設定を行う（Ｓ１０５）。
【０１４５】
プロバイダ・プレーンは、設置先のＤＣ（エンドユーザ収容ＤＣ）の環境変数を取得し、このＤＣのリソースプールに、サービスボックスの有するリソースを追加する。そして、サービスボックスを含むＤＣのリソースプールの中から、自身が担当するサービスの提供のための所定のリソースを確保宣言する。これにより、プロバイダ・プレーンが、設置先のＤＣ内に形成され、リソースを利用した動作（他のＤＣとの接続を含む）を行うことが可能になる。
【０１４６】
その後、プロバイダ・プレーンは、サービスボックス内に予め格納されている「サービスアンカー」の情報を参照し、そのサービスアンカーが存在するＤＣへ（中継ＤＣの情報も書き込まれている場合はそのＤＣ経由で）接続し、該当するオリジン・プレーンを呼び出し、ログインする。これにより、プロバイダ・プレーンとオリジン・プレーンが（中継ＤＣを挟む場合はミラー・プレーン経由で）通信可能になり、一つのサービス・プレーンが出現する。例えば、プロバイダ・プレーン内で発生したエラーやアラートは、オリジン・プレーンへ通知される。
【０１４７】
次に、プログラムのマイグレーションが行われる段階になると、オリジン・プレーンは、エンドユーザ収容ＤＣのプロバイダ・プレーンから、ＳＡのマイグレーション要求を受け取る（Ｓ３１５）。なお、オリジン・プレーンは、ログインを受け付けた際に（Ｓ３１０）、下記のマイグレーションのための準備を開始することにより、マイグレーション要求に対する応答を早めるようにしてもよい。
【０１４８】
オリジン・プレーンは、上記の要求に応じて、自身の上に常駐させたＳＡを、エンドユーザ収容ＤＣのプロバイダ・プレーン上へ（間に中継ＤＣがある場合はミラー・プレーン経由で）、マイグレーション（移動）する（Ｓ３２０）。マイグレーションされるＳＡには、マイグレーションの経路や途中のミラー・プレーンでのアプリケーションの保持について指示する情報として、アプリケーション配信条件情報を付加する。このアプリケーション配信条件情報の付加が、マイグレーションのための準備に含まれる。
【０１４９】
ＤＣ間でＳＡを移動させる処理は、静的に行ってもよいし（コールド・マイグレーション）、動的に行ってもよい（ホット・マイグレーション）。
【０１５０】
コールド・マイグレーションの場合は、オリジン・プレーン上のＳＡが稼動中であれば一旦停止させ、ＳＡをエンドユーザ収容ＤＣへダウンロードしてＳＡのコピーを作り出し、そのＳＡのコピーをプロバイダ・プレーン上で起動する。
【０１５１】
サービスアンカーＤＣとエンドユーザ収容ＤＣの両方で同じＳＡを走らせるべきサービスについては、オリジン・プレーン上のＳＡは、上記ダウンロードのためのサービスアンカーＤＣにおける作業が終わった時点で、稼動を再開する。
【０１５２】
コールド・マイグレーションで足りるのは、後同期型アプリケーションで構成されるＳＡの場合であり、オリジン・プレーン上で稼動するＳＡに比べて、プロバイダ・プレーン上で稼動するＳＡのコピーは、古い状態をとることになる。
【０１５３】
そこで、マイグレーション後は、エンドユーザ収容ＤＣにおけるＳＡのコピーのサービスアンカーＤＣのＳＡに対する差を時々解消するように、例えば、任意の時間間隔で、サービスアンカーＤＣから当該サービスに係るプロバイダ・プレーンを有するエンドユーザ収容ＤＣへ、同期をとるための差分（パッチ）やバージョンアップソフトウェアが一斉に配信される。
【０１５４】
ホット・マイグレーションの場合は、オリジン・プレーン上で稼動中のＳＡを停止させることなく、また、そのＳＡとエンドユーザの端末との間で通信のためのセッションが張られている場合には、そのセッションを途切れさせることなく、ＳＡのコピーを徐々にエンドユーザ収容ＤＣに作り出していき、完全なコピーができると、オリジン・プレーン上のＳＡからプロバイダ・プレーン上のＳＡのコピーへ、サービス提供の制御権が移る。
【０１５５】
サービスアンカーＤＣとエンドユーザ収容ＤＣの両方で同じＳＡを並列に（ほぼ同時に同じ状態をとるように）走らせるべきサービスについては、プロバイダ・プレーン上のＳＡのコピーへサービス提供の制御権が移った後も、オリジン・プレーン上のＳＡはそのまま残存して動作し続け、管制権も持ち続ける。
【０１５６】
ホット・マイグレーションが有効なのは、随時更新型アプリケーションで構成されるＳＡの場合であり、サービスアンカーＤＣで稼動するＳＡとエンドユーザ収容ＤＣで稼動するＳＡのコピーとの差は、ほとんど生じない。
【０１５７】
そして、マイグレーション後も、十分に短い間隔で、サービスアンカーＤＣからエンドユーザ収容ＤＣへ、同期のための確認情報（例えば、プログラムのカウンターに相当する状態を一意に示すデータ等）が送信され、この確認情報を受信したプロバイダ・プレーンは、ＳＡのコピーの状態管理と照らして差分があると判断される場合、差分量をサービスアンカーＤＣへ送信することにより、最新状態になるようプログラムの送信要求をする。サービスアンカーＤＣは、要求を送信してきたエンドユーザ収容ＤＣへ、差分量に相当するプログラムの状態を送信する。
【０１５８】
ＳＡが仮想マシンである場合、動的なマイグレーションのためには、例えば、ＶＭｗａｒｅ社のVMotionや、Xenのライブ・マイグレーション機能を使用することができる。
【０１５９】
なお、ＳＡの自動アップデートをするときにも、最初にＳＡを配信するのと同様の動的なマイグレーションにより、バージョンアップやパッチを各エンドユーザ収容ＤＣへ配信してもよい。
【０１６０】
プログラムのマイグレーションが行われる際の、プロバイダ・プレーンの動作は、次のとおりである。
【０１６１】
まず、プロバイダ・プレーンは、サービスボックス内に予め格納されている「マイグレーション元」（サービスアンカーＤＣの場合もあれば、中継ＤＣの場合もあってよい）の情報を参照し、そのマイグレーション元のＤＣへ（そこへ至るまでに経由するＤＣの情報も書き込まれている場合はそのＤＣ経由で）、ＳＡのマイグレーション要求を送信する（Ｓ１１５）。
【０１６２】
その結果として、ＳＡの静的もしくは動的なマイグレーションを受けると、先に確保宣言したリソースを利用して、自身の上にＳＡ（コピー）をセットアップし、動作を開始させる（Ｓ１２０）。なお、サービスアンカーＤＣで付加されたアプリケーション配信条件情報が途中のミラー・プレーンで削除されずに、ＳＡ（コピー）に付随して受け取られた場合は、付随情報を削除する。
【０１６３】
ミラー・プレーンは、アプリケーションが稼働中のまま止まらない状態での多段の移動を実現するために、自身より上位（サービスアンカー側）と下位（エンドユーザ側）の接続プレーンに対して、移動の状態を管理しながらアプリケーションを移動させる機能を持っている（Ｓ２２０）。
【０１６４】
ミラー・プレーンが上位から受け取るアプリケーションに付加された（最初はサービスアンカーＤＣで付加される）アプリケーション配信条件情報には、例えば、（１）そのアプリケーションの識別子、（２）途中通過するミラー・プレーンを持つＤＣ名、（３）そのミラー・プレーンでアプリケーションが保持される（コピーがそのまま保持される）期間又は消去される（当該ミラーから次のミラーへの移動のためのコピーが終了した時点で当該ミラーのコピーが消去される）のかの指示情報が、通過するミラー・プレーンの数の分、（４）保持する場合の最小占有ミラー領域リソース量、（５）最終到達ＤＣとなるプロバイダ・プレーンを持つＤＣ名、が含まれている。
【０１６５】
ミラー・プレーンは、アプリケーションの移動に関して状態管理を行い、自身と下位への指示を行う。ミラー・プレーンは、上位プレーンからコピーされてきている時間ｔ１が終了したことを確認後、すぐに配下のプレーンへ同アプリケーションのコピー又は移動を開始する。つまり、ｔ１終了後できるだけ短時間で、下位プレーンへのコピー又は移動を行う時間ｔ２が開始されるよう、連続したコピー処理を実現する。このため、ミラー・プレーンは、上位プレーンから自身へのアプリケーションのコピー作業中に、アプリケーション配信条件情報を指示命令として受け取り、次の下位プレーンの場所情報を準備して、上位からのコピーの完了を待つ機能を有するとよい。
【０１６６】
具体的には、ミラー・プレーンは、上位のプレーンからアプリケーション自動移動のミラー先として自身が指定された移動実行の命令を受け取ると、まずアプリケーション配信条件情報を取り出し、さらに予め準備してある共通領域へ、上記アプリケーション配信条件情報付きのアプリケーションを格納し始める。格納がすべて終わると、ミラー・プレーンは、上記アプリケーション配信条件情報に従って、次のミラー又はプロバイダをアプリケーション自動移動先として指定し、移動実行の命令を自身及び下位の移動先プレーンの双方へ出す。
【０１６７】
自身から下位の移動先へのコピーが終了した時点で、上記アプリケーション配信条件情報が消去を指定している場合は、自身（ミラー・プレーン）にあるアプリケーションのコピーは消去される（結果として、移動のみとなる）。上記アプリケーション配信条件情報が保持期間を指定している場合は、ミラー・プレーンの共通領域に格納されているアプリケーションのコピーはそのまま格納された状態となる（Ｓ２２５）。
【０１６８】
以上のように、本システムにおけるプログラムのマイグレーションは、自分より上位のＤＣのプレーンからの移動命令をうけて、ＳＡがサービスアンカーＤＣからエンドユーザ収容ＤＣへ移動するもので、サービスアンカーＤＣを最上とした上位から下位方向への制御が行われる。つまり、サービス提供元であるサービスアンカーＤＣに、プログラムの移動の経路やタイミングを制御する権限があり、複数のエンドユーザ収容ＤＣに対するサービス提供の全体を統括することが可能である。
【０１６９】
よって、サービスアンカーＤＣから当該サービスに係るプロバイダ・プレーンを有する全てのエンドユーザ収容ＤＣへ、例えば、季節に合わせて、一斉に新しいプログラムを配信することができ、随時のサービス機能追加等が、サービス提供主からのＳＡの提供を受けるオリジン・プレーンが存在する一箇所のＤＣで、全てのプロバイダ・プレーンへの命令として実行できる。
【０１７０】
また、一箇所から広がる命令でプログラムのマイグレーションをすることにより、随時更新型のアプリケーションについて、最新状態を維持しながらプログラムの分散配置が可能となり、例えば、中央ＤＣで稼動しているプログラムと末端ＤＣで稼動している同じプログラムとの間で、プログラムの動作結果がずれてしまう非同期性を最小にすることができる。
【０１７１】
図６及び図１２は、ミラー・プレーンは事前に存在しているがサービスＡのプロバイダ・プレーンを持たない中間ＤＣの配下の末端ＤＣで、サービスＡのサービスボックスが設置されたとき（Ｓ４００）の動作の一例を説明する。
【０１７２】
図５及び図１１の場合と同様に、末端ＤＣにサービスボックスが設置されることで自動的にプロバイダ・プレーンが形成され（Ｓ４０５）、「サービスアンカー」情報が示すオリジン・プレーンへのログインがミラー・プレーン経由で行われ（Ｓ４１０）、「マイグレーション元」情報が示すプレーン（この場合は、サービスアンカーＤＣである中央ＤＣ）へのＳＡ移動要求がミラー・プレーン経由で伝えられる（Ｓ４１５）。
【０１７３】
図６及び図１２の場合は、サービスＡのためのＳＡの自動移動が最初からミラー・プレーンの中継機能を利用して行われることが分かっているため、末端ＤＣに設置されるサービスボックスには、サービスアンカーが中央ＤＣであるという情報に加えて、サービスアンカーまでの経路途中にミラー・プレーンがあるということとその場所（パス）の情報が、予め仕込まれている。
【０１７４】
また、この場合のミラー・プレーンには、配下のプロバイダ・プレーンの規模やサービス視聴率などを取り込んだ予測計算式に従って事前に割り出されたリソース容量が、人手で、下位のＤＣにサービスボックスが設置されるのに先立って、組み込まれている（Ｓ２０５）。
【０１７５】
プロバイダ・プレーンにおけるリソースの事前の容量計算と同様に、但し、プロバイダ・プレーンの対象がエンドユーザであるのに対して、ミラー・プレーンの対象が下位のＤＣ（エンドユーザ収容ＤＣ又は中継ＤＣ）である点は相違させて、ミラー・プレーンに組み込むべきリソース容量を事前計算することができる。例えば、サービス利用ＤＣ数、利用率、コンテンツ容量等をパラメータとして計算する。
【０１７６】
ここで、ミラー・プレーンが、プロバイダ・プレーンからサービスアンカーＤＣへのＳＡ移動要求を受け取ったとき、既に同じサービスのＳＡを他のプロバイダ・プレーンへ向けて移動させる作業を行っており（Ｓ２４０、Ｓ２４５）、且つ、その際にオリジン・プレーンから所定期間ミラーリングデータ（ＳＡのコピー）を保持するように指示されていたとする。
【０１７７】
その場合、ミラー・プレーンは、ＳＡのコピーを（動的なマイグレーションの場合は稼動させたまま）保持しており（Ｓ２５０）、オリジン・プレーンから指定された保持期間が経過すると（Ｓ２５５）、そのＳＡのコピーを消去する（Ｓ２６０）。
【０１７８】
そして、ミラー・プレーンは、プロバイダ・プレーンからサービスアンカーＤＣへのＳＡ移動要求を受け取ったとき、ＳＡのコピーが保持されている間であれば（Ｓ２３０）、その要求をサービスアンカーＤＣへ転送せずに、自身から下位のプレーンへＳＡのコピーを移動させる作業を行う（Ｓ２３５）。
【０１７９】
その場合に下位のプレーンへ移動させるＳＡのコピーに付加すべきアプリケーション配信条件情報は、以前にそのミラーリングデータを上位のプレーンから受け取ったときの情報に基づいて作成できるようにしてもよいし、サービスアンカーＤＣが、以前に中継ＤＣに作成したミラーリングデータについて、新たにアプリケーション配信条件情報を作成して別途中継ＤＣへ送信するようにしてもよい。
【０１８０】
また別の方法として、ミラーリングデータの保持期間を「２００７年１０月１０日まで」のように指定しておき、サービスボックスに予め格納する「マイグレーション元」の情報が、上記の保持期限までは中継ＤＣ、それ以降はサービスアンカーＤＣを指示するようにしておいてもよい。その場合、ミラー・プレーンは、ミラーリングデータ保持期間中は、自身に対するＳＡ移動要求を受け取って下位のプレーンへＳＡのマイグレーションを行い、期間経過後は、サービスアンカーＤＣに対するＳＡ移動要求を受け取って上位のプレーンへ転送することになる。
【０１８１】
図７及び図１３、図１４は、サービスＡのプロバイダ・プレーンを持ってエンドユーザへサービスを提供している中間ＤＣの配下の末端ＤＣで、サービスＡのサービスボックスが設置されたとき（Ｓ５００）の動作の一例を説明する。
【０１８２】
なお、この場合、中間ＤＣに接続するエンドユーザと、末端ＤＣに接続するエンドユーザとは、異なる利用者であると想定できるが、同じエンドユーザが中間ＤＣへも末端ＤＣへも接続して、いずれの経路でも同じサービスＡの提供を受けられるようになっていてもよい。
【０１８３】
図５及び図１１の場合と同様に、末端ＤＣにサービスボックスが設置されることで自動的にプロバイダ・プレーンが形成され（Ｓ５０５）、「サービスアンカー」情報が示すオリジン・プレーンへのログインがミラー・プレーン経由で行われ（Ｓ５１０）、「マイグレーション元」情報が示すプレーンへＳＡ移動要求が送られる（Ｓ５１５）。
【０１８４】
図７及び図１３の場合は、サービスボックスに予め格納された「サービスアンカー」情報が示すＤＣと、「マイグレーション元」情報が示すＤＣとが異なっており、ＳＡ移動要求の方は、中間ＤＣに対して送られることになる。そして、中間ＤＣのプロバイダ・プレーンは、末端ＤＣのプロバイダ・プレーンに対し、オリジン・プレーンに代わってプログラムのマイグレーションを行う。
【０１８５】
具体的には、中間ＤＣのプロバイダ・プレーンは、サービスアンカーＤＣから見て自身よりもエンドユーザ寄りのＤＣに、自身の上で動作しているＳＡ（コピー）と同一のサービスに係る「サービスボックス」が設置されて、新たにエンドユーザ収容ＤＣが出現した場合、その新たなエンドユーザ収容ＤＣのプロバイダ・プレーンから、ＳＡのマイグレーション要求を受け取る（Ｓ１３５）。
【０１８６】
中間ＤＣのプロバイダ・プレーンは、上記の要求に応じて、自身の上で動作しているＳＡ（コピー）を、新たなエンドユーザ収容ＤＣへ、マイグレーション（移動）する（Ｓ１４０）。マイグレーションの処理は、オリジン・プレーンがプロバイダ・プレーンに対して行うものと同様である。
【０１８７】
新たなエンドユーザ収容ＤＣのプロバイダ・プレーン上には、ＳＡ（コピー）のコピーが作り出されてセットアップされ、新たなＤＣが配下とするエンドユーザ端末へのサービス提供が可能になる（Ｓ５２０）。一方で、中間ＤＣのプロバイダ・プレーン上で動作しているＳＡ（コピー）は、そのまま動作を続け、元々当該中間ＤＣが配下としている（新たなＤＣが配下とするエンドユーザ端末とは異なってよい）エンドユーザ端末へのサービス提供は継続する。
【０１８８】
図１４に示すように、上記の機能を有するプロバイダ・プレーンが組み込まれるＤＣには、ミラー・プレーンも組み込まれており、プロバイダ・プレーンは、最初だけ、ＳＡのマイグレーションの配信元として機能し（図１３）、以降は、ミラー・プレーンが、サービスアンカーＤＣからの中継機能を果たす（図１４）。
【０１８９】
すなわち、新たなエンドユーザ収容ＤＣのプロバイダ・プレーンは、自動アップデートのための情報や、初期データ、最新データ等については、プログラムのマイグレーション元である本ＤＣではなく、サービスアンカーＤＣから受け取るため、これらをサービス・プレーン上で配信する場合は、本ＤＣは、サービスアンカーＤＣと新たなエンドユーザ収容ＤＣとの間に位置する中継ＤＣとして働くことになる。
【０１９０】
このため、サービスＡを末端ＤＣで運用した場合に中間ＤＣで準備すべきリソースの容量を、末端ＤＣのプロバイダ・プレーンの規模やサービス視聴率などを取り込んだ予測計算式に従って事前に割り出しておき、その分のリソースを、人手で、末端ＤＣにサービスボックスが設置されるのに先立って追加し、リソースプールを拡充しておく。
【０１９１】
拡充されたリソースプールは、ミラー・プレーンが複数のサービスについて共用する部分となる。よって、サービスＡのミラー用に追加するリソースは、サービスＡ専用に準備する場合よりも少なくてよく、既存のサービスＢのミラー用のリソースも利用できる。
【０１９２】
このように、プロバイダ・プレーンに、オリジン・プレーンの一部に代わる機能を設けるのは、プログラムのマイグレーションについても、サービスアンカーＤＣへの負荷集中を軽減するためである。なお、後述するように、初期データや動的データについては、Ｐ２Ｐネットワーク等の配信技術を用いることで、負荷集中を軽減することも可能である。
【０１９３】
以上に詳述した一連の自律し自動化された分散型の配信機能が実現することにより、サービスアンカーＤＣへのアプリケーション要求の負荷集中を避けることができるとともに、エンドユーザへのサービス提供を行いたい（プロバイダ・プレーンを導入したい）末端や中間ＤＣへの技術者準備などの運用負担がかからないようにすることができる。
【０１９４】
また、アプリケーションプログラムとデータを別々のタイミングと方式で配置ないし配信することができるため、アプリケーションの応答性が向上し、また、エンドユーザへの動的データ配置が可能になり、ネットワークの混雑の平準化が図られる。
【０１９５】
図８の前半及び図１５は、プログラムのマイグレーション後に、初期データをマイグレーションする動作の一例を説明する。
【０１９６】
本システムでは、１つのサービスにより複数のコンテンツ（データ）を提供することができ、これらのコンテンツは、利用者にはメニュー名のような形式で見える。例えば、「ビデオ通信教育」というサービスの中に、「クイック料理」というメニューがある形式である。ここでは、そうした提供メニューの１つがコンテンツ（データ）としてサービスアンカーに登録された後の各プレーンの動きを説明する。
【０１９７】
オリジン・プレーンは、自身の上で動作しているＳＡから利用されるコンテンツ等のデータを、自身の上に登録する（Ｓ３３０）。あるサービスのコンテンツを登録する場合、コンテンツ自体のデータに加えて、サーバ名、サービス種類（例えば、動画配信、オンラインゲーム、テレビ電話通信等）、サービスポート（例えば、ＴＣＰ／ＩＰのポート番号）、利用するリソースなどのパラメータが、関連情報として登録される。これらの関連情報を含めて、以下に述べるマイグレーション対象のデータとなる。
【０１９８】
そして、オリジン・プレーンは、ログインの受付がされたエンドユーザ収容ＤＣのプロバイダ・プレーンに対し（間に中継ＤＣがある場合はミラー・プレーン経由で）、登録されたデータに関する情報（例えば、タイトルや簡単な内容説明、利用するリソース等）を新着情報として通知する（Ｓ３３５）。
【０１９９】
プロバイダ・プレーンは、ログインしたサービスアンカーＤＣのオリジン・プレーンから新着情報の通知を受け取り、新着情報を表示する（Ｓ１５０）。そして、エンドユーザ収容ＤＣの運用者が新着のデータをそのサービスでエンドユーザに対して提供するデータとして選択すると、データの送受信のためのリソースを確保した上で、サービスアンカーＤＣのオリジン・プレーンへ、データの呼び出し要求を送信する（Ｓ１５５）。
【０２００】
データ配信をサービス・プレーンに沿って行う場合は、データの呼び出し要求も、サービスボックス内に予め格納されている「サービスアンカー」情報で特定される中継ＤＣのミラー・プレーンを経由するように、経路情報を付加して送信するとよい。サービス・プレーンと関係なくデータ配信する場合は、データの呼び出し要求も、宛先となるサービスアンカーＤＣを特定して送信するだけで構わない。
【０２０１】
オリジン・プレーンは、エンドユーザ収容ＤＣのプロバイダ・プレーンから、データの呼び出し要求を受け取る（Ｓ３４０）と、要求に応答して、例えば、経時的に変化しない初期データのコピーをエンドユーザ収容ＤＣに作り出す（Ｓ３４５）。これは、初期データを静的にダウンロードして実現するのでもよいし、オリジン・プレーン上で稼動中のＳＡから利用され続けている初期データのコピーを徐々にエンドユーザ収容ＤＣに作り出す動的なマイグレーションで行ってもよい。
【０２０２】
プロバイダ・プレーンは、送られてきた初期データを受け取り、その初期データ（コピー）を自身の上で動作しているＳＡ（コピー）から利用できるようにする（Ｓ１６０）。
【０２０３】
本システムでは、アプリケーションプログラムを含むＳＡは、オリジン・プレーンとプロバイダ・プレーンと間に中継ＤＣがある場合はミラー・プレーンとから仮想的に形成される一つのサービス・プレーン上を移動するようにしているが、データの配信に関しては、サービス・プレーン上で行ってもよいし、サービス・プレーンと関係なく行ってもよい。
【０２０４】
サービス・プレーン上で行う場合は、サービスアンカーＤＣが、配信すべきデータに、配信経路（経由すべき中継ＤＣ及びエンドユーザ収容ＤＣ）を特定する情報や、必要に応じて途中のミラー・プレーンでのデータの保持に関し指示する情報を付加して送出する。
【０２０５】
そして、プロバイダ・プレーンからデータの呼び出し要求を受けたミラー・プレーンは、ミラーリングデータを保持していない場合は、データの呼び出し要求をサービスアンカーＤＣへ転送し（Ｓ２７６）、上位のプレーンからデータのコピーを受け取って中継する（Ｓ２７８）が、保持していれば（Ｓ２７２）、サービスアンカーＤＣへデータの呼び出し要求を転送することなく、自身から下位のプレーンへそのデータのコピーを渡す（Ｓ２７４）ようにしてもよい。
【０２０６】
初期データの容量が大きければ、プログラムの配信と同様に、ミラー・プレーンの機能を使って、サービス・プレーン上で転送するのが好ましいが、容量の小さいデータ（後述の動的データを含んでもよい）の場合には、サービス・プレーンと関係なく配信する方が、サービスアンカーＤＣとエンドユーザ収容ＤＣの間の非同期性をより小さくできることがある。
【０２０７】
サービス・プレーンと関係なく行う場合は、データ配信の宛先となるエンドユーザ収容ＤＣさえ特定して送出すれば、ネットワークが自律的にデータを転送することになる（サービス・プレーンを形成する中継ＤＣを経由せずに転送される場合もある）ため、その時々で最適な配信経路が形成されるＩＰマルチキャストやＰ２Ｐネットワーク等のオーバーレイ・ネットワークの技術を組み合わせて利用することも可能であり、それにより、ネットワークの輻輳低減を図ることも可能になる。宛先となるエンドユーザ収容ＤＣが多数の場合、例えば、ＴＶＢａｎｋ社のgridvodと呼ばれるストリーミング型ＶｏＤ配信システムの技術を使ってデータを配信すると、比較的簡単に、サービスアンカーＤＣへの負荷集中を軽減することができる。
【０２０８】
図８の後半及び図１６は、プログラム及び初期データのマイグレーション後に、最新データを配信する動作の一例を説明する。
【０２０９】
プロバイダ・プレーンは、自身の上で動作しているＳＡ（コピー）から利用できるデータを、例えば、メニュー形式で、エンドユーザに対して提示する（Ｓ１６５）。エンドユーザがその中からサービス提供して欲しいデータを選択すると、プロバイダ・プレーンはその選択されたデータの初期データ（既にエンドユーザ収容ＤＣにコピーがある）を呼び出すとともに、サービスボックス内に予め格納されていた「サービスアンカー」の情報が示すＤＣのオリジン・プレーンへ、選択されたデータにつき、最新データの転送要求を送信する（Ｓ１７０）。
【０２１０】
サービス提供に当たり、そのエンドユーザの過去のサービス利用情報が必要な場合には、上記転送要求の中に、そのデータを選択したエンドユーザを特定する情報も含ませて、そのエンドユーザの最新の利用記録に基づいたデータを配信するよう要求するか、あるいは、最新の利用記録の確認結果を配信するよう要求する。
【０２１１】
データ配信をサービス・プレーンに沿って行う場合は、最新データの転送要求も、「サービスアンカー」情報で特定される中継ＤＣのミラー・プレーンを経由するように、経路情報を付加して送信するとよい。サービス・プレーンと関係なくデータ配信する場合は、最新データの転送要求も、宛先となるサービスアンカーＤＣを特定して送信するだけで構わない。
【０２１２】
オリジン・プレーンでは、エンドユーザ収容ＤＣのプロバイダ・プレーンから、データを利用するサービスのエンドユーザへの提供を開始するに当たって、そのサービス提供に利用するデータにつき、最新データの転送要求を受け取る（Ｓ３５０）。
【０２１３】
オリジン・プレーンは、上記の要求に応答して、以下の２つの処理のうちいずれかもしくは両方を行う（Ｓ３５５）。１つは、動的データ（例えば、ＳＡの動作につれて変化するアプリケーションのステイタス情報等）の最新のもの（コピー）を、エンドユーザ収容ＤＣへ送る処理である。もう１つは、エンドユーザに対してサービスを提供するに際し、そのエンドユーザがそのサービスを過去に利用していたときの状態等のデータが必要である場合、後述するようにサービスアンカーＤＣに各エンドユーザのサービス利用情報が記録されているため、これを読み出して必要なデータを作成し、エンドユーザ収容ＤＣへ送る処理である。
【０２１４】
プロバイダ・プレーンは、送られてきた最新の動的データ（コピー）及び／又はエンドユーザのサービス利用記録が反映されたデータを受け取り、ＳＡ（コピー）によりそのデータについてエンドユーザへのサービス提供を開始する（Ｓ１７５）。
【０２１５】
なお、最新データを配信する場合も、上述した初期データの配信と同様に、サービス・プレーン上で行ってもよいし、サービス・プレーンと関係なく行ってもよい。また、サービス・プレーン上の途中のＤＣに存在するミラーリングデータを活用してもよいし、上述したオーバーレイ・ネットワークの技術を利用してもよい。
【０２１６】
図１７は、エンドユーザへデータを利用したサービスを提供中に、最新データを配信する動作の一例を説明する。
【０２１７】
エンドユーザ収容ＤＣに対して、上述した最新データを配信して、エンドユーザへのサービス提供が開始された後、そのデータを利用するサービス提供を終了したという通知を受け取るまでの間（エンドユーザへのサービス提供中）、動的データはその間も変化する可能性があるため、オリジン・プレーンから、定期的に、最新の動的データ（コピー）を、エンドユーザ収容ＤＣへ送り続けるようにしてもよい。
【０２１８】
プロバイダ・プレーンでは、エンドユーザへのサービス提供中に、最新の動的データ（コピー）が継続して送られてくるならば、これを受け取り、ＳＡ（コピー）から利用できるようにする。
【０２１９】
サービス提供中の最新の動的データの配信は、上述したようにプッシュ型で行ってもよいし、サービス提供開始時と同様にオンデマンド型で行ってもよい。図１７には、データＤ１を、オンデマンド型で配信する例が示されている。
【０２２０】
動的に生成され、サービス利用時に必要となるデータの配信には、Ｐ２Ｐオーバーレイ・ネットワークの技術を用いると、ＩＰマルチキャスト等の他の配信方法に比べて、特殊なハードウェア機材が不要である、インタラクティブなアプリケーションに対応可能である等の利点がある。
【０２２１】
以上のように、データを利用したサービス提供が開始される都度、サービスアンカーへそのデータにつき初期参照するようにすると、エンドユーザ収容ＤＣでは、配信データの管理面でのサービスの運用作業が不要になる。また、データが必要になったときに送られてくるので、資源効率に優れており、プロバイダ・プレーンが有するべき平均的なリソースを少なく抑えることが可能になる。
【０２２２】
図１７には、データＤ２として、もう一つ別のデータ配信方法も示されている。データＤ１の方法によるべきか、Ｄ２の方法によるべきかは、データの属性によって定まる。動的データが、例えば、オンラインで複数エンドユーザにより共有されるデータである等、サービスアンカーＤＣのみで（他のＤＣにコピーを置かずに）管理すべきデータである場合は、データＤ２のように配信することになる。
【０２２３】
具体的には、オリジン・プレーンは、エンドユーザへのサービス提供中に、そのサービス提供に利用するデータにつき、エンドユーザ収容ＤＣのプロバイダ・プレーンからのアクセス要求を受け付け、サービスアンカーＤＣにあるデータを直接参照もしくは書き込みさせる。つまり、データＤ２については、オリジン・プレーンを固定位置とし、その存在場所が仮想環境上を動かさないように、管理する。
【０２２４】
プロバイダ・プレーンは、データＤ２については、サービスボックス内に予め格納されていた「サービスアンカー」の情報が示すＤＣのオリジン・プレーンへアクセスし、サービスアンカーＤＣにあるデータを直接参照もしくは書き込みする。つまり、サービスアンカーＤＣにあるデータをオリジン・プレーンを介して読み出して自身（プロバイダ・プレーン）の上で動作しているＳＡ（コピー）へ渡したり、そのＳＡ（コピー）から出力されるデータをオリジン・プレーンを介してサービスアンカーＤＣのストレージに記入したりする。
【０２２５】
初期データは、例えば、アプリケーションの背景、メニュー起動直後の表示、共通機能として常時表示されている内容等である。ロールプレイングゲーム等のオンラインゲームでは、例えば、ゲームの場面や登場人物の基本データ、選択メニューにあたるものが初期データとなる。
【０２２６】
動的データは、例えば、アプリケーションの進捗や変化により随時変わって提供されるものであり、アプリケーションのステイタス（状況、フェーズ、段階等）に合わせて随時利用者へ提供されるデータである。ロールプレイングゲームの例では、ゲームの場面が開始時から変わった場合、登場人物の動き（何かを殴る）などによって変化する次のデータ（殴ったものが壊れる）などにあたるものが動的データとなる。
【０２２７】
事例のロールプレイングゲームのようなアプリケーションの場合、利用者が前回どこまで進んでいたか、次回どの場面どの状況からかなどの利用履歴が必要になる。したがって、初期データの後に配信される最初の動的データとともに、最新の利用記録に基づいたデータがプロバイダ・プレーンへ送られることが必要となる。
【０２２８】
図９及び図１８は、エンドユーザへのサービス提供中もしくは提供終了後に、サービス利用情報をサービス提供元へ還流する動作の一例を説明する。
【０２２９】
サービス利用情報を提供元にフィードバックするタイミングとして、終了時還流が適しているアプリケーションと、随時還流が適しているアプリケーションとがあり得る（Ｓ１８５）。
【０２３０】
また、フィードバックの方式として、還流先のサービスアンカーＤＣを宛先として利用情報を送信し、これを受信したサービスアンカーＤＣがオリジン・プレーンの定めた格納場所に書き込む送信方式と、エンドユーザ収容ＤＣで動作しているＳＡ（コピー）が、ローカルディスクに書き込む如くに、サービスアンカーＤＣ内の上記格納場所に利用情報を書き込む直接方式とがあり得る。
【０２３１】
送信方式の場合、利用情報は、上述したデータの呼び出し要求や最新データの転送要求と同様、サービス・プレーンに沿って転送されてもよいし、サービス・プレーンに関係なく転送されてもよい。
【０２３２】
直接方式の場合、サービスボックスには、「サービスアンカー」情報の一部として、利用情報を格納するためのディスクの場所やディスク名が、予め格納されている。そして、「サービスアンカー」情報で特定されるサービスアンカーＤＣのディスクにネットワークを介して利用情報を書き込むために、その場所まで、ネットワークマウント先を伸ばす。つまり、遠隔地にあるサービスアンカーＤＣの物理ディスクのスペースを、エンドユーザ収容ＤＣの仮想ディスクとしてマウントする。
【０２３３】
エンドユーザ収容ＤＣからサービスアンカーＤＣへの利用情報の転送は、サービス・プレーンに関係ない経路で行ってもよいが、例えば、ストレージの仮想化技術を用いて、オリジン・プレーンの利用する仮想ディスク（サービスアンカーＤＣ内にあるディスクとは限らない）がプロバイダ・プレーン上で動作するＳＡ（コピー）から利用されるようにする場合には、サービス・プレーン上で行うとよい。この場合、プロバイダ・プレーン上のＳＡ（コピー）は、利用記録に関してローカルのディスクに書き込むような振る舞いをするが、仮想環境下なので、そのポインタは実際にオリジン・プレーンで管理するハードウェアリソースを指しており、利用記録がサービス・プレーン上をフィードバックして書き込み動作をするように見える。
【０２３４】
なお、データＤ１のような例えばＰ２Ｐ配信でも、データＤ２のような直接参照でも、同じ「サービスアンカー」情報に基づいて行われるため、データの配信方法には依存せずに、利用記録はサービスアンカーＤＣへ戻される。
【０２３５】
具体的には、プロバイダ・プレーンは、終了時還流では、自身の上で動作しているＳＡ（コピー）が、エンドユーザにより選択されたデータについてのサービス提供を終了すると、そのエンドユーザの利用情報（いつどのデータをどのように利用したか）を作成し（Ｓ１９０）、サービスボックス内に予め格納されていた「サービスアンカー」の情報が示すＤＣのオリジン・プレーンへ向けて、作成した利用情報を出力する（Ｓ１９５）。すなわち、送信方式の場合は送信し、直接方式の場合は書き込むことによって、オリジン・プレーンに受け取らせる。
【０２３６】
随時還流では、プロバイダ・プレーンは、自身の上で動作しているＳＡ（コピー）が、予め定められた一定の間隔又は予めアプリケーション内で定められているフィードバック点に達するごとに、サービスボックス内に予め格納されていた「サービスアンカー」の情報が示す格納場所に、そのエンドユーザの利用情報（いつどのデータをどのように利用したか）を書き込む（直接方式での出力となる）。
【０２３７】
随時還流は、ＳＡ（コピー）が動作中のフィードバックであり、利用情報の内容が、即時性の高いものや経時に依存するものである可能性が高いため、複数回のやりとりをする送信方式よりも、ディスクに書き込む直接方式をとるのが好ましい。終了時還流を終了時に行われる随時還流としてもよい。
【０２３８】
オリジン・プレーンは、エンドユーザ収容ＤＣのプロバイダ・プレーンから、データを利用したサービスのエンドユーザへの提供を終了するに当たって、そのサービス提供に利用したデータにつき、そのエンドユーザの利用情報を受け取る。さらに、サービスの提供中も、随時、利用情報を受け取るようにしてもよい（Ｓ３６０）。
【０２３９】
そして、オリジン・プレーンは、受け取った利用情報を、当該サービス毎、エンドユーザ毎に記録しておく（Ｓ３６５）。いずれのエンドユーザ収容ＤＣに接続しているエンドユーザについても、同一のサービスの利用情報（いつどのデータをどのように利用したか）は、同一のサービスアンカーＤＣにフィードバックされて管理される。
【０２４０】
図１９は、本システムにおいて、サービス利用情報が全体的にどのように管理されることになるかを俯瞰する図である。
【０２４１】
サービスは、上位のデータ配信事業者から制限的に重なるようにしてその配下の端末へ届く。しかし、端末にはユーザ情報や記録を残さず、全ての利用記録がサービスアンカーへその利用者情報とともに返される。
【０２４２】
各コンテンツのサービスアンカーへエンドユーザの利用記録及び利用者情報（プロファイル）を返す処理は、エンドユーザ収容ＤＣのプロバイダ・プレーンの制御で行われるため、その先に接続するエンドユーザの端末、通信機器、表示機器等には依存しない。
【０２４３】
結果として、エンドユーザによるサービス利用の記録は、サービス提供元へ集約される。これにより、層状の木構造で重畳するサービス提供を行っても、サービス提供元へその利用記録が漏れなく還流し、また、各サービスアンカーとなる事業者の主体性、自主性を保ちつつ、上流からの利用制御をサービス毎に独立して行うことが可能になる。
【０２４４】
最後に、ミラー・プレーンの機能をまとめて説明しておく。ミラー・プレーンは、定常的に上位サービスの共有領域として用いられる。
【０２４５】
ミラー・プレーンは、オリジン・プレーンとプロバイダ・プレーンのブリッジとして働くため、オリジン・プレーンにより発行される命令の実行と、その命令に従ってオリジン・プレーンとプロバイダ・プレーンとの間のルートを維持することを基本機能としている。さらに、プログラムのマイグレーションでは、利用予測に基づいた一定期間のミラーリングデータ保持を行い、データ配信では、データＤ１についてのＰ２Ｐホップの管理等を行う。
【０２４６】
サービス提供主（サービスアンカーＤＣの運用者の顧客に相当する）かサービスアンカーＤＣの運用者自身が、当該サービスについて予め多くの中間や末端ＤＣがエンドユーザ収容ＤＣになることを求めるとわかっている場合、サービス開始時に発生するサービスアンカーＤＣへの集中的なアクセスを避けるため、中継ＤＣに、通信負荷の大きいプログラムのマイグレーションが多く行われる一定期間（例えば、サービス開始直後から１週間など）、移動のみであれば他のサービス用に割り当てられるリソースをそのまま当該サービス用に維持し、ミラーリングデータを保持することで、ミラー・プレーンとプロバイダ・プレーン間だけでプログラムのマイグレーションが行われるようにする。これにより、人気のあるアプリケーション公開当初のつながりにくく、時間がかかり利用しにくいという問題を解消することが可能になる。
【０２４７】
具体的には、中継ＤＣの運用者は、初期設定として、各サービスについて、配下のＤＣに置かれる予定のサービスボックス（プロバイダ・プレーン）の数や、そのサービスで利用されるデータ（コンテンツ）の容量や、そのサービスの予想される利用率等を考慮し、これらのサービスから共有される「ミラー・プレーン」のリソースとして割り出された容量のリソースを、中継ＤＣのリソースプールに追加する。
【０２４８】
なお、共有のリソースは、後述するプログラムのマイグレーションが現に行われようとしているサービスに対して優先的に確保され、そのサービスに係るＳＡのマイグレーションが完了し、後述するミラーリングデータを保持しておく必要もなくなったときに、他のサービスに対して割り当て可能になるよう解放される。
【０２４９】
ミラー・プレーンは、第１の中継機能として、プログラムの動的なマイグレーションを中継する機能を有することが好ましい。
【０２５０】
この場合、ミラー・プレーンは、サービスアンカーＤＣもしくは自身よりサービスアンカー寄りの中継ＤＣ（上位のＤＣ）で稼動しているＳＡのコピーを、徐々にミラー・プレーン上に作り出していき、完全なコピーができると、ミラー・プレーン上のＳＡのコピーが制御権を獲得する。
【０２５１】
作り出されたＳＡのコピーは、サービスアンカーＤＣで付加されたアプリケーション配信条件情報を伴っている。このアプリケーション配信条件情報がミラーリングデータを保持することを指示している場合は、指示されている保持期間（利用予測に基づいて定められた期間）の間は、制御権を獲得したＳＡのコピーが、ミラー・プレーン上で動作し続ける。
【０２５２】
ミラー・プレーン上に完全なＳＡのコピーができて制御権を獲得すると、次は、配下のエンドユーザ収容ＤＣもしくはそこへ向かう次の中継ＤＣ（下位のＤＣ）のプレーン上に、ＳＡのコピーのコピーを徐々に作り出していく。どのＤＣが下位のＤＣとなるかは、上記アプリケーション配信条件情報を参照して定める。
【０２５３】
ＳＡのコピーのコピーには、アプリケーション配信条件情報をそのまま付随させるか、あるいは、下位のＤＣでは使用しない部分（自身のＤＣ名や自身でのミラーリングデータ保持期間等）を削除して付随させる。
【０２５４】
下位のＤＣのプレーン上にＳＡのコピーのコピーが完全に作り出されてそちらが制御権を獲得したときに、アプリケーション配信条件情報がミラーリングデータを保持しないことを指示している場合は、自身の上にできていた完全なコピーを消去する。
【０２５５】
以上のようにすることで、サービスアンカーＤＣで稼動中のＳＡが、停止することなく、ミラー・プレーンを介して移動し、エンドユーザ収容ＤＣに稼動中の分身を作り出すことができる。
【０２５６】
ミラー・プレーンは、アプリケーション配信条件情報で指示された期間、ミラーリングデータ（ＳＡのコピー）を保持する。その期間に、配下のエンドユーザ収容ＤＣからサービスアンカーＤＣへのＳＡのマイグレーション要求を受け取った場合、これをサービスアンカーＤＣへ転送する代わりに、自身の上で動作しているＳＡのコピーを、要求を送信してきたエンドユーザ収容ＤＣもしくはそこへ向かう次の中継ＤＣ（下位のＤＣ）へ、マイグレーション（移動）して、その移動先のＤＣにＳＡ（コピー）のコピーを作り出す。
【０２５７】
一方で、自身の上で動作しているＳＡ（コピー）は、そのまま動作を続け、また別のエンドユーザ収容ＤＣからＳＡのマイグレーション要求を受け取ると、そこへも同様にＳＡ（コピー）のコピーを作り出す。このようにミラーリングデータを利用することも、プログラムのマイグレーションについて、サービスアンカーＤＣへの負荷集中を軽減するのに寄与する。
【０２５８】
ミラー・プレーンは、第２の中継機能として、サービス・プレーン上を転送される各種データやメッセージ（上位から下位へは初期データや最新データと新着通知等のメッセージ、下位から上位へは利用情報のデータと要求等のメッセージ）、プログラムの静的なマイグレーションを中継する機能（Ｓ２１０、Ｓ２１５、Ｓ２７０、Ｓ２８０、Ｓ２８５、Ｓ２９０等）を有してもよい。
【０２５９】
サービスアンカーＤＣでは、オリジン・プレーンが、各エンドユーザ収容ＤＣとそこに至るまでに経由する中継ＤＣの情報を記憶しており、各エンドユーザ収容ＤＣでは、サービスボックスに、サービスアンカーＤＣとそこに至るまでに経由する中継ＤＣの情報が格納されているから、サービスアンカーＤＣと各エンドユーザ収容ＤＣとの間で送受信されるデータやメッセージには、宛先ＤＣと経由すべき中継ＤＣが順番に記述されたヘッダを付加することができる。ミラー・プレーンは、具体的には、このヘッダに従って、受信したデータやメッセージを次のＤＣへ送信すればよい。
【０２６０】
ミラー・プレーンは、第３の中継機能として、Ｐ２Ｐネットワークの配信技術を用い、サービス・プレーンに関係なく、初期データや動的データを中継する機能を有してもよい（フローチャートには図示していない）。
【０２６１】
具体的には、サービスアンカーＤＣもしくは中継ＤＣから、初期データや動的データを受信すると、その受け取りが終了する前に、そのデータの宛先のエンドユーザ収容ＤＣもしくはそこへ向かう中継ＤＣへ、当該データを送信し始める。また、それぞれの配信データにつき、Ｐ２Ｐホップの管理等を行う。
【０２６２】
なお、本システムにおける各ＤＣは、木構造に配置されるが、この木構造の接続とは別に、インターネット接続等を有していてもよく、その場合は、サービスアンカーＤＣとエンドユーザ収容ＤＣとの間で送受信される各種データやメッセージは、中継ＤＣを経由せずに、インターネット経由で転送されてもよい。そのインターネットにおいて、Ｐ２Ｐオーバーレイの技術が採用されるようにしてもよい。
【０２６３】
図２０は、各ＤＣとプレーンの組合せについて説明する図である。この例では、中央ＤＣには、オリジン・プレーンだけが存在するものとする。つまり、中央ＤＣは、エンドユーザを直接かかえる運用者ではなく、多くのアプリケーションサービスプロバイダやコンテンツサービスプロバイダを集積するサービスアーカイバとして存在する。
【０２６４】
この例ではまた、中間ＤＣは、３つのプレーンのうちミラーは必ず持つものとする。ミラーに加えて、直接エンドユーザを抱えてサービス提供をしたい場合は、プロバイダ・プレーンを設けることが可能である。末端ＤＣは、上位のＤＣからのコピーを提供するプロバイダ・プレーンを必ず持つものとする。
【０２６５】
そして、中間と末端の両ＤＣは、中央ＤＣと同じように、自らのアプリケーションサービスプロバイダやコンテンツサービスプロバイダを募ることで、オリジン・プレーンを持つことができる。
【０２６６】
以上をまとめると、図２０に示すように、中央ＤＣは１通り、中間ＤＣは３通り、末端ＤＣは２通りのプレーンの組み合わせを持つことが可能である。ＤＣが、３層の木構造をとるとすると、サービス・プレーンの構成は、図示のとおり、７通りがあり得る。なお、末端ＤＣのオリジン・プレーンは、エンドユーザへの接続も有するオリジン兼プロバイダ・プレーンとなる。
【０２６７】
図２１は、図２０の（３）の場合のシステムの状態の一例を説明する図である。
【０２６８】
図２２は、本システムが、サービス・プレーン間で、ＤＣのリソースを融通する機能を有する場合を例示する図である。
【０２６９】
例えば、図２１のように、サービスＡ及びサービスＢが既に運用されている状態で、新たに中間ＤＣがサービスＸを開始すべくオリジン・プレーンを新設したときに、中間ＤＣで行われる処理を説明する。
【０２７０】
中間ＤＣのミラー・プレーンは、サービスＡとサービスＢの末端ＤＣ（サービスＢの末端ＤＣは図示せず）への移動用に共用されている。サービスＡについては、既に末端ＤＣへアプリケーションが移動し終わっており、アプリケーション配信条件情報に書かれているミラーリングデータ保持期間も過ぎているとする。
【０２７１】
この場合、これまでサービスＡのミラー用に割り当てられてきたリソースを含むミラー・プレーンの一部が、別のサービスのプレーン（ここでは、サービスＸのオリジン・プレーン）として流用される。
【０２７２】
このように、同じＤＣの中で、互いに異なるサービスが利用しているプレーン同士が共同的に働くことにより、あるサービスの配信経路の途中にあるＤＣが、別のサービスの提供元になることが、より簡易に実現できるようになる。
【０２７３】
また、例えば、図１４のように、中間ＤＣが、サービスＡ及びサービスＢのミラー・プレーンとして既に運用され、且つ、サービスＡのプロバイダ・プレーンとしても既に運用されている状態で、中間ＤＣが直接抱えるエンドユーザからサービスＡへのアクセスが急増し、サービスＡのプロバイダ・プレーンのリソースが不足し出したときに、中間ＤＣで行われる処理は次のようになる。
【０２７４】
中間ＤＣは、元々は末端ＤＣへのミラー用の共用領域として割り当てていたサービスＡのミラー・プレーンの一部を、サービスＡのプロバイダ・プレーンへ流用する。この流用は、サービスＡについて、既に末端ＤＣへアプリケーションが移動し終わっており、アプリケーション配信条件情報に書かれているミラーリングデータ保持期間も過ぎて、優先占有から外れたミラー・プレーンのリソースを、異なるサービス・プレーンへ流用するものである。
【０２７５】
図２２では、３つのサービスＡ，Ｂ，Ｘが木構造になっており、これらの木構造は別々のサービス・プレーンとして構成されているが、同一ＤＣ内であるプレーンがリソース不足をきたすと、占有の必要性の低くなった別のプレーンからそのリソースがまわされて不足を補うような、プレーン間協調がとられる。これは、同一のオリジン・プレーンに対して設けられたミラー・プレーン（サービス・プレーンＡ２）とプロバイダ・プレーン（サービス・プレーンＡ１）間でも、同様である。
【０２７６】
こうしたリソースの動的最適配分により、協調関係のあるサービスの重畳を実現することは、３種類のプレーンが共通の仮想化ミドルウエア上に構成されるために可能になっている。
【０２７７】
本システムにより、例えば、各ＤＣの運営者は、次のような事業を行うことが可能になる。概略的には、中央に近いＤＣは、多数の利用者に同種類のコンテンツを提供するのに対し、末端に近いＤＣは、少数の利用者毎に異なるコンテンツを提供することができる。
【０２７８】
まず、中央ＤＣの運営者は、全国レベルでのコンテンツの配布を行うことができ、例えは、全国テレビスポットコマーシャル、映画等のＰＲビデオ、映画やテレビ番組の再配信、買い物チャンネル、汎用ゲーム機のオンラインゲーム、メジャーレーベルのコンテンツホルダのアーカイブ系等を提供することができる。
【０２７９】
そして、中間ＤＣの運営者は、例えば、キャリアやキャリア運用サービスのテレビコマーシャル、イベントやインフォマーシャル連動などの提携コンテンツ、キャリアＡＰＩでのオンラインゲーム、マイナーレーベルのコンテンツホルダのアーカイブ系等を提供することができる。
【０２８０】
さらに、末端ＤＣの運営者は、地方に特化したコンテンツの配布を行うことができ、例えば、地域テレビコマーシャル、地域ケーブルテレビ独自番組、自治体などのＰＲや広報ビデオ、地域レーベルのコンテンツホルダのアーカイブ系等を提供することができる。
【０２８１】
以上、本発明の一実施形態について説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。
【図面の簡単な説明】
【０２８２】
【図１】本発明の一実施形態に係るサービス提供システムの全体構成を俯瞰した一例を示す図。
【図２】本発明の一実施形態に係るサービス提供システムの各構成要素の機能を説明する図。
【図３】本発明の一実施形態に係るサービス提供システムの動きの概要を説明する図。
【図４】本発明の一実施形態に係るサービス提供システムを構成する各ＤＣの内部構成の一例を説明する図。
【図５】サービスボックスがエンドユーザ収容ＤＣに設置されたときの各ＤＣのプレーンの動作の一つの例を示すフローチャート。
【図６】サービスボックスがエンドユーザ収容ＤＣに設置されたときの各ＤＣのプレーンの動作の別の例を示すフローチャート。
【図７】サービスボックスがエンドユーザ収容ＤＣに設置されたときの各ＤＣのプレーンの動作のさらに別の例を示すフローチャート。
【図８】サービスで利用されるデータがサービスアンカーＤＣに登録された後の各ＤＣのプレーンの動作の一例を示すフローチャート。
【図９】エンドユーザのサービス利用情報がサービスアンカーＤＣへフィードバックされるときの各ＤＣのプレーンの動作の一例を示すフローチャート。
【図１０】各プレーンによるリソースの利用の一例について説明する図。
【図１１】サービスボックスが設置されたときの各ＤＣの動作の一つの例を説明する図。
【図１２】サービスボックスが設置されたときの各ＤＣの動作の別の例を説明する図。
【図１３】サービスボックスが設置されたときの各ＤＣの動作のさらに別の例を説明する図。
【図１４】図１３の例の場合のシステムの状態について説明する図。
【図１５】サービスで利用されるデータが登録されたときの各ＤＣの動作の一例を説明する図。
【図１６】エンドユーザにより選択されたサービスの提供が開始されるまでの各ＤＣの動作の一例を説明する図。
【図１７】エンドユーザへのサービスの提供中の各ＤＣの動作の一例を説明する図。
【図１８】エンドユーザのサービス利用情報がフィードバックされるときの各ＤＣの動作の一例を説明する図。
【図１９】システム全体でのサービス利用情報の管理状況について説明する図。
【図２０】各ＤＣとプレーンの組み合わせについて説明する図。
【図２１】図２０の（３）の場合のシステムの状態について説明する図。
【図２２】プレーン間でのリソースを融通する一例について説明する図。
【符号の説明】
【０２８３】
１０１  中央ＤＣ
２０１〜２０２  中間ＤＣ
３０１〜３０４  末端ＤＣ
４１１〜４５１  エンドユーザ端末
【図１】
0005507046.tif 000002
【図２】
0005507046.tif 000003
【図３】
0005507046.tif 000004
【図４】
0005507046.tif 000005
【図５】
0005507046.tif 000006
【図６】
0005507046.tif 000007
【図７】
0005507046.tif 000008
【図８】
0005507046.tif 000009
【図９】
0005507046.tif 000010
【図１０】
0005507046.tif 000011
【図１１】
0005507046.tif 000012
【図１２】
0005507046.tif 000013
【図１３】
0005507046.tif 000014
【図１４】
0005507046.tif 000015
【図１５】
0005507046.tif 000016
【図１６】
0005507046.tif 000017
【図１７】
0005507046.tif 000018
【図１８】
0005507046.tif 000019
【図１９】
0005507046.tif 000020
【図２０】
0005507046.tif 000021
【図２１】
0005507046.tif 000022
【図２２】
0005507046.tif 000023