(57)【特許請求の範囲】
【請求項１】
複数台のユーザ端末装置によって複数のコンテンツが要求されている場合、該複数のコンテンツのそれぞれについて、該コンテンツを要求しているユーザ端末装置の台数を管理する管理手段と、
特定のコンテンツを提供するコンテンツサーバの台数を、該特定のコンテンツを要求しているユーザ端末装置の台数及び該特定のコンテンツ以外の他のコンテンツを要求しているユーザ端末装置の台数を用いて決定する決定手段と、
前記特定のコンテンツについて前記決定手段が決定した台数分のコンテンツサーバに該特定のコンテンツをインストールすると共に、該特定のコンテンツを要求しているユーザ端末装置に対し、該特定のコンテンツを提供するコンテンツサーバへのアクセスを許可する制御手段と
を備えることを特徴とする管理装置。
【請求項２】
前記決定手段は、
ユーザ端末装置の全数に対する前記特定のコンテンツを要求しているユーザ端末装置の台数の割合を求め、コンテンツサーバの全数のうち該割合に応じた数を、該特定のコンテンツを提供するコンテンツサーバの台数として決定する
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記決定手段は、
前記複数のコンテンツのそれぞれについて、該コンテンツを要求しているユーザ端末装置の台数と、該コンテンツの処理負荷と、の積を求め、
前記複数のコンテンツのそれぞれについて求めた積の和から、前記特定のコンテンツを提供するコンテンツサーバの台数を求める
ことを特徴とする請求項１に記載の管理装置。
【請求項４】
前記制御手段は、
前記特定のコンテンツを保持しているデータベースと該特定のコンテンツについて前記決定手段が決定した台数分のコンテンツサーバとの間を介在するプロキシサーバに、該間の通信を可能にするための設定を行い、
該設定後、該特定のコンテンツを保持しているデータベースから該特定のコンテンツを、該特定のコンテンツについて前記決定手段が決定した台数分のコンテンツサーバにダウンロードする
ことを特徴とする請求項１乃至３の何れか１項に記載の管理装置。
【請求項５】
前記制御手段は、
前記複数のコンテンツのそれぞれについて前記決定手段が決定した台数分のコンテンツサーバ以外のコンテンツサーバにインストールされているコンテンツを削除する
ことを特徴とする請求項１乃至４の何れか１項に記載の管理装置。
【請求項６】
管理装置の制御方法であって、
前記管理装置の管理手段が、複数台のユーザ端末装置によって複数のコンテンツが要求されている場合、該複数のコンテンツのそれぞれについて、該コンテンツを要求しているユーザ端末装置の台数を管理する管理工程と、
前記管理装置の決定手段が、特定のコンテンツを提供するコンテンツサーバの台数を、該特定のコンテンツを要求しているユーザ端末装置の台数及び該特定のコンテンツ以外の他のコンテンツを要求しているユーザ端末装置の台数を用いて決定する決定工程と、
前記管理装置の制御手段が、前記特定のコンテンツについて前記決定工程で決定した台数分のコンテンツサーバに該特定のコンテンツをインストールすると共に、該特定のコンテンツを要求しているユーザ端末装置に対し、該特定のコンテンツを提供するコンテンツサーバへのアクセスを許可する制御工程と
を備えることを特徴とする管理装置の制御方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか１項に記載の管理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御技術に関するものである。
【背景技術】
【０００２】
複数のコンテンツを提供するネットワークサービスでは、人気のあるコンテンツにアクセスが集中する。また、ネットワークサービスで利用されるシステムでは、１つのデータセンタのコンテンツサーバにおいて、複数の企業や個人が提供するコンテンツが混在することになる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2002-163241号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このため、該システムでは、コンテンツへのアクセス集中を回避する円滑なデータセンタのロードバランシングと、ロードバランシングに対応したコンテンツ間の強固なセキュリティ能力が要求される。
【０００５】
そこで本発明は、コンテンツを提供するネットワークサービスを、セキュリティーを確保しつつ円滑に行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１様態は、複数台のユーザ端末装置によって複数のコンテンツが要求されている場合、該複数のコンテンツのそれぞれについて、該コンテンツを要求しているユーザ端末装置の台数を管理する管理手段と、
特定のコンテンツを提供するコンテンツサーバの台数を、該特定のコンテンツを要求しているユーザ端末装置の台数及び該特定のコンテンツ以外の他のコンテンツを要求しているユーザ端末装置の台数を用いて決定する決定手段と、
前記特定のコンテンツについて前記決定手段が決定した台数分のコンテンツサーバに該特定のコンテンツをインストールすると共に、該特定のコンテンツを要求しているユーザ端末装置に対し、該特定のコンテンツを提供するコンテンツサーバへのアクセスを許可する制御手段と
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明の構成によれば、コンテンツを提供するネットワークサービスを、セキュリティーを確保しつつ円滑に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】システムの構成例を示す図。
【図２】管理装置１０６のハードウェア構成例を示すブロック図。
【図３】管理装置１０６が行う処理のフローチャート。
【図４】同コンテンツを要求しているユーザ端末装置の台数のテーブル情報を示す図。
【図５】各コンテンツの処理負荷のテーブル情報を示す図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
【００１０】
［第１の実施形態］
先ず、本実施形態に係るシステムの構成例について、図１を用いて説明する。なお、図１に示した各装置の台数や装置の間のネットワーク構成などについては一例であり、当業者であれば、その構成は適宜変更／変形させることは可能である。
【００１１】
個人情報用ＤＢ（データベース）１０１は、個人情報用ＤＢ１０１ａ、１０１ｂを含む複数台の個人情報用ＤＢから成り、それぞれの個人情報用ＤＢには、ユーザ端末装置１０８のＩＰアドレスやユーザ名、パスワードなどの個人情報が登録されている。例えば、個人情報用ＤＢ１０１ａには、Ａ社が提供するコンテンツを視聴するために必要な個人情報が登録されている。また、例えば、個人情報用ＤＢ１０１ｂには、Ｂ社が提供するコンテンツを視聴するために必要な個人情報が登録されている。個人情報の登録は、ユーザ端末装置１０８ａやユーザ端末装置１０８ｂ等のユーザ端末装置から行う。
【００１２】
コンテンツ用ＤＢ１０３は、コンテンツ用ＤＢ１０３ａ、１０３ｂを含む複数台のコンテンツ用ＤＢから成り、それぞれのコンテンツ用ＤＢには、ゲームや動画像などのコンテンツが登録されている。例えば、コンテンツ用ＤＢ１０３ａには、Ａ社が提供するコンテンツ（コンピュータプログラムやデータ）が登録されている。また、コンテンツ用ＤＢ１０３ｂには、Ｂ社が提供するコンテンツ（コンピュータプログラムやデータ）が登録されている。
【００１３】
コンテンツプール１０５は、複数台のコンテンツサーバ１０５ａから成る。それぞれのコンテンツサーバ１０５ａは、プロキシサーバ１０２を介して個人情報用ＤＢ１０１に接続されていると共に、プロキシサーバ１０４を介してコンテンツ用ＤＢ１０３に接続されている。また、それぞれのコンテンツサーバ１０５ａは、管理装置（センタサーバ）１０６に接続されている。
【００１４】
管理装置１０６には、プロキシサーバ１０２を介して個人情報用ＤＢ１０１が接続されており、プロキシサーバ１０４を介してコンテンツ用ＤＢ１０３が接続されており、プロキシサーバ１０７を介してユーザ端末装置１０８が接続されている。
【００１５】
次に、管理装置１０６のハードウェア構成例について、図２のブロック図を用いて説明する。
【００１６】
ＣＰＵ２０１は、ＲＡＭ２０２やＲＯＭ２０３に格納されているコンピュータプログラムやデータを用いて管理装置１０６全体の動作制御を行うと共に、管理装置１０６が行うものとして後述する各処理を実行する。
【００１７】
ＲＡＭ２０２は、外部記憶装置２０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）２０７を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。更にＲＡＭ２０２は、ＣＰＵ２０１が各種の処理を実行する為に用いるワークエリアを有する。即ち、ＲＡＭ２０２は、各種のエリアを適宜提供することができる。
【００１８】
ＲＯＭ２０３には、管理装置１０６の設定データやブートプログラムなどが格納されている。
【００１９】
操作部２０４は、マウスやキーボードなどにより構成されており、ユーザが操作することで、各種の指示をＣＰＵ２０１に対して入力することができる。
【００２０】
表示部２０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を画像や文字などでもって表示することができる。なお、この表示部２０５には、音声出力を行うための構成を加えても良いし、この構成を表示部２０５とは別個に設けても良い。
【００２１】
外部記憶装置２０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置２０６には、ＯＳ（オペレーティングシステム）や、管理装置１０６が行うものとして後述する各処理をＣＰＵ２０１に実行させるためのコンピュータプログラムやデータが保存されている。また、管理装置１０６が既知のデータとして用いるデータもこの外部記憶装置２０６に保存されている。外部記憶装置２０６に保存されているコンピュータプログラムやデータは、ＣＰＵ２０１による制御に従って適宜ＲＡＭ２０２にロードされ、ＣＰＵ２０１による処理対象となる。
【００２２】
Ｉ／Ｆ２０７には、プロキシサーバ１０２，１０４，１０７やそれぞれのコンテンツサーバ１０５ａが接続されている。バス２０８には、上記の各部が接続されている。
【００２３】
なお、図２に示した構成は、プロキシサーバ１０２，１０４，１０７やコンテンツサーバ１０５ａ、ユーザ端末装置１０８にも適用しても良い。しかし、プロキシサーバ１０２，１０４，１０７、コンテンツサーバ１０５ａ、ユーザ端末装置１０８のそれぞれの構成は図２の構成に限るものではなく、それぞれの装置の機能を実現できるのであれば、如何なる構成を採用しても良い。
【００２４】
次に、管理装置１０６の動作について説明する。
【００２５】
それぞれのユーザ端末装置のユーザは、視聴したいコンテンツの要求を該ユーザ端末装置を用いて送信することができる。プロキシサーバ１０７は、管理装置１０６へのアクセス権を有するユーザ端末装置からの要求を受けると、この要求を管理装置１０６に転送する。
【００２６】
一方、管理装置１０６は、それぞれのコンテンツサーバ１０５ａの稼働状態を管理している。即ち、どのコンテンツサーバ１０５ａがどのコンテンツを提供しているのか（提供を行っていないのか）を管理している。そしてこの管理により、管理装置１０６は、コンテンツプール１０５が現在提供中のコンテンツごとに、該コンテンツを提供しているコンテンツサーバ１０５ａの台数を管理している。
【００２７】
また、管理装置１０６は、プロキシサーバ１０７を介して受けた要求を集計し、コンテンツごとに、該コンテンツを要求しているユーザ端末装置の台数を管理する。例えば、それぞれのコンテンツについて該コンテンツを要求しているユーザ端末装置の台数を図４に例示するようなテーブル情報として外部記憶装置２０６内で管理している。
【００２８】
図４の例では、管理装置１０６は、ユーザ端末装置１０８からコンテンツＡ、コンテンツＢ、コンテンツＣの要求を受けており、コンテンツＡを要求しているユーザ端末装置の台数は５０、コンテンツＢを要求しているユーザ端末装置の台数は８０、コンテンツＣを要求しているユーザ端末装置の台数は１０，となっている。このテーブル情報は、要求を受けるたびに適宜書き換えられる。
【００２９】
そして管理装置１０６は、定期的若しくは不定期的に、図３のフローチャートに従った処理を実行する。なお、図３のフローチャートの各ステップの処理をＣＰＵ２０１に実行させるためのコンピュータプログラムやデータは外部記憶装置２０６に保存されている。然るにＣＰＵ２０１は、このコンピュータプログラムやデータをＲＡＭ２０２にロードし、ロードしたコンピュータプログラムやデータを用いて処理を実行することで、図３のフローチャートの各ステップの処理を実行することになる。
【００３０】
ステップＳ３０１では、ユーザ端末装置１０８から要求されているそれぞれのコンテンツについて、該コンテンツを提供するコンテンツサーバ１０５ａの台数を決定する。ここで、ステップＳ３０１における処理の詳細について説明する。ステップＳ３０１で台数を決定する方法には様々な方法が考え得るが、以下では２つの例について説明する。
【００３１】
先ず、ユーザ端末装置１０８から要求されているそれぞれのコンテンツについて、ユーザ端末装置の全数に対する該コンテンツを要求しているユーザ端末装置の台数の割合を求め、コンテンツサーバの全数のうち該割合に応じた数を、該コンテンツを提供するコンテンツサーバの台数として決定する。
【００３２】
例えば、図４の場合、コンテンツサーバ１０５ａの総数を１００台とすると、コンテンツＡを提供するコンテンツサーバ１０５ａの台数ＸＡは以下の式を計算することで３５台と決定する。
【００３３】
ＸＡ＝５０／（５０＋８０＋１０）×１００＝３５．７１…≒３５
同様に、コンテンツＢを提供するコンテンツサーバ１０５ａの台数ＸＢ、コンテンツＣを提供するコンテンツサーバ１０５ａの台数ＸＣ、は以下の式を計算することでそれぞれ、５７台、７台と決定する。
【００３４】
ＸＢ＝８０／（５０＋８０＋１０）×１００＝５７．１４…≒５７
ＸＣ＝１０／（５０＋８０＋１０）×１００＝  ７．１４…≒７
また、外部記憶装置２０６に、図４のテーブル情報に加えて、図５に例示する如く、各コンテンツの処理負荷が格納されているテーブル情報が登録されている場合、ＸＡ，ＸＢ，ＸＣは次のようにして求めても良い。図５では、コンテンツサーバ１０５ａがコンテンツＡを提供するために行う処理の負荷は５０、コンテンツサーバ１０５ａがコンテンツＢを提供するために行う処理の負荷は１０、コンテンツサーバ１０５ａがコンテンツＣを提供するために行う処理の負荷は６０となっている。
【００３５】
なお、処理の負荷については、１台のサーバにおける最大負荷を１００として定義している。然るに、当然ながら、１台のサーバにおける処理の負荷はこの最大負荷を超えることはない。
【００３６】
ここで、コンテンツサーバ１０５ａの総数を１００台とすると、ＸＡ，ＸＢ，ＸＣは次のようにして求めることができる。
【００３７】
先ず、ユーザ端末装置から要求されているそれぞれのコンテンツについて、該コンテンツを要求しているユーザ端末装置の台数と、該コンテンツの処理負荷と、の積を求め、複数のコンテンツのそれぞれについて求めた積の和を最大負荷で除した値Ｓを以下のようにして求める。
【００３８】
Ｓ＝（５０×５０＋８０×１０＋１０×６０）／１００＝３９
この値Ｓは、ＸＡ，ＸＢ，ＸＣの総和である。然るに、Ｓ台のうちＸＡに割り当てる分、Ｓ台のうちＸＢに割り当てる分、Ｓ台のうちＸＣに割り当てる分を決定する。ここではＳ＝３９であるため、３９台のうちＸＡに割り当てる分、３９台のうちＸＢに割り当てる分、３９台のうちＸＣに割り当てる分を決定する。例えば、以下のようにして決定する。
【００３９】
ＸＡ＝５０／（５０＋８０＋１０）×３９＝１３．９２…≒１３
ＸＢ＝８０／（５０＋８０＋１０）×３９＝２２．２８…≒２２
ＸＣ＝１０／（５０＋８０＋１０）×３９＝  ２．７８…≒２
なお、Ｓが３９．２等のように、小数部を有する実数であれば、４０とし、３９台を１００％（処理負荷）使用し、１台を２０％使用するとしても良い。また、上記の例ではＳを求める際に１００で除しているが、これを８０にするなどして、使用台数は増えるものの、１台あたりの負荷を軽減させるようにしても良い。
【００４０】
即ち、複数のコンテンツのそれぞれについて、該コンテンツを要求しているユーザ端末装置の台数と、該コンテンツの処理負荷と、の積を求め、複数のコンテンツのそれぞれについて求めた積の和から、複数のコンテンツのそれぞれについて、該コンテンツを提供するコンテンツサーバの台数を求める方法には様々な方法が考え得る。
【００４１】
なお、ここでは各コンテンツを提供するコンテンツサーバ１０５ａの台数を求める方法として、リソースごとの使用状況を用いた２つの例を挙げたが、これ以外の方法も考えられ、本実施形態は、特定の方法に限るものではない。
【００４２】
また、以上説明した２つの方法を含む複数の方法のうち何れか１つをユーザが操作部２０４を用いて選択できるようにしても良い。この場合、ステップＳ３０１では、選択された方法に従って、コンテンツごとに、該コンテンツを提供するコンテンツサーバ１０５ａの台数を決定することになる。
【００４３】
次に、ステップＳ３０２では、ユーザ端末装置１０８から要求されているそれぞれのコンテンツについて、次のような処理を行う。ここでは説明を簡単にするために、ユーザ端末装置１０８から要求されているコンテンツが、コンテンツＡ、コンテンツＢ、コンテンツＣであるとする。
【００４４】
この場合、ステップＳ３０２では、コンテンツプール１０５から、コンテンツＡについてステップＳ３０１で決定した台数（ＸＡ）分のコンテンツサーバ１０５ａを選択する。ステップＳ３０１で決定した台数分のコンテンツサーバ１０５ａをどのように選択するのかについては別段特定の方法に限るものではなく、例えば、各コンテンツサーバ１０５ａに１，２，３，…のＩＤを割り当てた場合、ＩＤ＝１〜ＸＡのコンテンツサーバ１０５ａを選択するようにしても良い。
【００４５】
そして、選択したコンテンツサーバ１０５ａが、コンテンツＡについて個人情報を保持している個人情報用ＤＢ及びコンテンツＡを保持しているコンテンツ用ＤＢに対してアクセスできるように、プロキシサーバ１０２，１０４の設定を変更する。このようなプロキシサーバの設定技術については周知の技術であるため、これに係る説明は省略する。
【００４６】
これにより、コンテンツＡを提供するものとして選択されたコンテンツサーバ１０５ａだけが、コンテンツＡについて個人情報を保持している個人情報用ＤＢ、コンテンツＡを保持しているコンテンツ用ＤＢに対してアクセスできるようになる。このような処理は、コンテンツＢ，コンテンツＣについても同様にして行う。
【００４７】
そして、コンテンツＡを提供するものとして選択されたコンテンツサーバ１０５ａに、コンテンツＡを保持しているコンテンツ用ＤＢからコンテンツＡをダウンロードさせるのであるが、すでにコンテンツＡがダウンロードされているコンテンツサーバ１０５ａにはダウンロードは行わない。また、コンテンツＡ以外のコンテンツ（コンテンツＢ，コンテンツＣの何れか）を提供していたコンテンツサーバ１０５ａについては、該提供していたコンテンツを削除させてから、コンテンツＡを保持しているコンテンツ用ＤＢからコンテンツＡをダウンロードさせる。これにより、コンテンツＡを提供するものとして選択されたコンテンツサーバ１０５ａに、コンテンツＡをインストールさせることができる。このような処理は、コンテンツＢ、コンテンツＣについても同様に行う。
【００４８】
なお、ステップＳ３０２における選択から外れたコンテンツサーバのなかには、それまではコンテンツの提供を行っていたものもある。例えば、ステップＳ３０２における選択前では、コンテンツＣを提供していたコンテンツサーバが、ステップＳ３０２における選択の結果、何れのコンテンツの提供も行わないコンテンツサーバとなった場合、このコンテンツサーバからコンテンツＣを削除する。
【００４９】
また、ステップＳ３０２では、コンテンツＡを要求したユーザ端末装置が、コンテンツＡを提供するものとして選択されたコンテンツサーバ１０５ａにアクセス可能となるように、プロキシサーバ１０７の設定を行う。これは、コンテンツＢ，コンテンツＣについても同様である。
【００５０】
以上の処理が完了すると、コンテンツＸを要求しているユーザ端末装置（ユーザ端末装置Ｘ）は、コンテンツＸを提供するコンテンツサーバ１０５ａ（コンテンツサーバＸ）にアクセスすることができ、コンテンツサーバＸは、コンテンツＸの為の個人情報が登録されている個人情報用ＤＢ及びコンテンツＸを保持しているコンテンツ用ＤＢにアクセスすることができるため、コンテンツサーバＸは、コンテンツＸの為の個人情報が登録されている個人情報用ＤＢ及びコンテンツＸを保持しているコンテンツ用ＤＢを用いながらコンテンツＸを提供することができるし、ユーザ端末装置Ｘは、このコンテンツサーバＸが提供するコンテンツＸを視聴することができる。
【００５１】
図３のフローチャートに従った処理のあと、コンテンツサーバがどのタイミングでコンテンツの提供を行うのかについては別段特定のタイミングに限るものではない。
【００５２】
［第２の実施形態］
第１の実施形態では、プロキシサーバを用いてアクセス権の制御を行ったが、プロキシサーバを用いずにアクセス権の制御を行うようにしても良い。例えば、プロキシサーバの代わりに、アクセス権の付与を制御する装置を用いるようにしても良い。このようなアクセス権の制御技術については従来から様々な技術が知られており、どのような技術を用いてもかまわない。
【図１】
0005992689.tif 000002
【図２】
0005992689.tif 000003
【図３】
0005992689.tif 000004
【図４】
0005992689.tif 000005
【図５】
0005992689.tif 000006