情報処理装置、コンテンツ配信システム、コンテンツ配信制御方法及びプログラム
【課題】端末装置の状態が変化する場合であってもコンテンツデータの配信を可能とすること。
【解決手段】複数の端末装置2同士をネットワークを介して接続させて、コンテンツデータを端末装置2間で送受信させるP2P型配信モードと、コンテンツデータを記憶した記憶装置を複数の端末装置2のそれぞれとネットワーク8を介してクライアント−サーバ形式で接続して、各端末装置2にコンテンツデータを配信するC/S型配信モードとを有する。そして、端末装置2間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定し、P2P型配信モードとC/S型配信モードとを端末装置2の状態に応じて切り替える。
【解決手段】複数の端末装置2同士をネットワークを介して接続させて、コンテンツデータを端末装置2間で送受信させるP2P型配信モードと、コンテンツデータを記憶した記憶装置を複数の端末装置2のそれぞれとネットワーク8を介してクライアント−サーバ形式で接続して、各端末装置2にコンテンツデータを配信するC/S型配信モードとを有する。そして、端末装置2間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定し、P2P型配信モードとC/S型配信モードとを端末装置2の状態に応じて切り替える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、コンテンツ配信システム、コンテンツ配信制御方法及びプログラムの技術に関する。
【背景技術】
【0002】
近年、インターネットなどのネットワーク(通信網)の普及により、ネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」という)の配信が行われている。
【0003】
コンテンツデータの配信には、例えば、VOD(ビデオオンデマンド)方式や放送(ライブ中継)方式などがある。VOD方式は、端末装置から要求がある毎にコンテンツデータを配信する方式である。放送方式は、同時刻に複数の端末装置にコンテンツデータを配信する方式である。
【0004】
現在、コンテンツデータの配信形態として、クライアント−サーバ方式によりコンテンツデータの配信を行う形態が主流である。
【0005】
しかしながら、クライアント−サーバ方式では、アクセスが集中するとサーバやネットワークが負荷に耐えられなくなるという問題がある。そこで、クライアント−サーバ方式に代わる新しい形態としてP2P(Peer to Peer)を用いた放送型の配信方式(例えば、特許文献1参照)やオンデマンド型の配信方式(例えば、特許文献2参照)が注目されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−197400号公報
【特許文献2】特開2006−33514号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
P2P方式の配信方式は、参加している一部の端末装置へサーバからコンテンツデータを送信して記憶させれば、その後は端末装置同士でコンテンツデータの送受信を行える。そのため、参加する端末装置が多ければ多いほどクライアント−サーバ方式に比べて負荷分散の効果が顕著になる。
【0008】
しかし、一方で、参加する端末装置の状態によってはP2Pの効果を発揮できず、コンテンツ配信サービスの運用に困難が生じるケースがある。
【0009】
例えば、特許文献1に記載されているツリー型トポロジーによる配信方式では、ADSL(Asymmetric Digital Subscriber Line、非対称デジタル加入者線)に接続された端末装置ばかりが参加していると、上りの帯域が狭い端末装置ばかりということになる。よって、動画などのコンテンツデータのように高い通信速度が要求される場合には、ツリー型トポロジーを構成することが難しくなる。
【0010】
また、特許文献2に記載されている配信方式でも、公開するコンテンツデータが端末装置に十分に行き渡るまでに多数の端末装置からコンテンツデータの取得要求が実行される場合がある。この場合、P2Pの機能が十分に働かず、要求したコンテンツデータを取得できない端末装置がでてしまう。
【0011】
そこで、本発明は、コンテンツ配信サービスに参加する端末装置の数や各々の通信能力に応じて、コンテンツデータを配信する方法を切り替えて、コンテンツデータの配信を可能とする情報処理装置、コンテンツ配信システム、コンテンツ配信制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
請求項1に記載の発明は、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とする情報処理装置とした。
【0013】
また、請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の割合が所定以上であるときに、前記所定条件を満たすと判定することを特徴とする。
【0014】
また、請求項3に記載の発明は、請求項1又は2に記載の情報処理装置において、前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の数が所定以上あるときに、前記所定条件を満たすと判定することを特徴とする。
【0015】
また、請求項4に記載の発明は、請求項1に記載の情報処理装置において、前記判定処理手段は、前記複数の端末装置の数が、所定数以上になったときに、前記所定条件を満たすと判定することを特徴とする。
【0016】
また、請求項5に記載の発明は、請求項1〜4のいずれか1項に記載の情報処理装置において、前記第1処理手段は、前記複数の端末装置をネットワークを介して階層構造で多層に論理接続させて、コンテンツデータを前記階層構造の上流の端末装置に供給し、当該上流の端末装置から下流の端末装置にかけて前記端末装置の中継機能によって前記コンテンツデータの配信を行い、前記第2処理手段による処理を実行した後に前記階層構造を形成するときには、前記通信速度が規定値以上である端末装置を優先的に前記階層構造の上流に接続させることを特徴とする。
【0017】
また、請求項6に記載の発明は、請求項5に記載の情報処理装置において、前記第2処理手段は、前記第1処理手段による処理を実行した後に前記複数の端末装置のそれぞれと接続するときには、前記階層構造の下流の端末装置から優先的に前記階層構造から離脱させて接続することを特徴とする。
【0018】
また、請求項7に記載の発明は、複数の端末装置と、前記複数の端末装置へコンテンツデータを配信する情報処理装置と、を備えたコンテンツ配信システムにおいて、前記端末装置は、前記コンテンツデータをネットワークを介して受信する受信処理手段と、前記受信処理手段で受信したコンテンツデータをネットワークを介して他の端末装置へ送信する送信処理手段と、を備え、前記情報処理装置は、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とするコンテンツ配信システムとした。
【0019】
また、請求項8に記載の発明は、端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、をコンピュータに実行させることを特徴とするプログラムとした。
【0020】
また、請求項9に記載の発明は、端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、を有する情報処理装置によるコンテンツ配信制御方法とした。
【発明の効果】
【0021】
本発明によれば、コンテンツ配信サービスに参加する端末装置の数や各々の通信能力等の端末装置の状態に応じて、ツリー型トポロジーでのコンテンツデータの配信とクライアント−サーバ方式でのコンテンツデータの配信とが切り替えられる。そのため、端末装置の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【図面の簡単な説明】
【0022】
【図1】本発明の第1実施形態に係るコンテンツ配信システムの各端末装置、情報処理装置の接続態様の一例を示す図である。
【図2】第1実施形態におけるコンテンツ配信システムの概要説明図である。
【図3】図1に示す情報処理装置の構成図である。
【図4】図1に示す情報処理装置のメイン処理フローチャートである。
【図5】図1に示す情報処理装置における配信処理のフローチャートである。
【図6】図1に示す情報処理装置における接続処理のフローチャートである。
【図7】図1に示す情報処理装置における離脱処理のフローチャートである。
【図8】図1に示す端末装置の構成図である。
【図9】図1に示す端末装置の処理フローチャートである。
【図10】第2実施形態における情報処理装置のメイン処理フローチャートである。
【図11】第2実施形態における端末装置のメイン処理のフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明のいくつかの実施形態を図面に基づいて説明する。なお、説明は以下の順序で行うものとする。
1.第1実施形態(放送方式のP2Pコンテンツ配信)
2.第2実施形態(オンデマンド方式のP2Pコンテンツ配信)
3.その他の例
【0024】
〔1.第1実施形態〕
〔1.1.概要〕
まず始めに、図1を参照して、第1実施形態におけるコンテンツ配信システムの概要について説明する。
【0025】
図1の下部枠51内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者の装置5、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。通信回線7として、例えば、ADSL回線や光通信回線等がある。
【0026】
本実施形態のコンテンツ配信システムSは、図1の上部枠50内に示すように、ネットワーク8に接続された情報処理装置1、複数の端末装置2a1,2a2,2b1〜2b4,2c1〜2c8を備えて構成される。なお、以下においては、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8のいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置2という場合がある。
【0027】
このコンテンツ配信システムSにおいては、図1の上部枠50内に示すように、情報処理装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8がツリー状階層構造で論理接続されてオーバーレイネットワーク9が構築される。なお、以下において、オーバーレイネットワーク9上に配置された端末装置2を、コンテンツ配信システムSに参加している端末装置2という。また、情報処理装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8には、各装置を識別する情報として、例えば、IP(Internet Protocol)アドレスが割り当てられている。各装置は、目的の接続先装置のIPアドレスを宛先IPアドレス、自装置のIPアドレスを送信元IPアドレスとしたヘッダを含むパケットを送受信することによって他の装置と通信接続が可能となっている。
【0028】
コンテンツ配信システムSは、ツリー型トポロジー形式の配信システムである。情報処理装置1を頂点として複数の端末装置2がネットワーク8を介してツリー状階層構造で多層に論理接続されるように情報処理装置1によって管理される。第1実施形態では、放送方式で各端末装置2へコンテンツデータが配信される。コンテンツデータとして、例えば、音楽や映画などの動画コンテンツのデータや文書データなどがある。
【0029】
また、情報処理装置1は、コンテンツデータを配信する機能を備えており、コンテンツデータを端末装置2a1,2a2へ送信する。端末装置2a1,2a2は上流に接続した情報処理装置1からコンテンツデータを受信すると、下流に接続した端末装置(以下、「下流装置」とも呼ぶ。)2b1〜2b4へ受信したコンテンツデータを中継する。同様に、端末装置2b1〜2b4は上流に接続した端末装置(以下、「上流装置」とも呼ぶ)2a1,2a2からコンテンツデータを受信すると、下流に接続した端末装置2c1〜2c8へ受信したコンテンツデータを送信する。
【0030】
上述のようにツリー状階層構造は、情報処理装置1によって管理されている。情報処理装置1は、コンテンツ配信システムSに参加していない端末装置2、換言すればツリー状階層構造へ接続していない端末装置2から接続先候補の問い合わせを受け付ける。接続先候補の問い合わせを受け付けた情報処理装置1は、ツリー状階層構造の状態から当該ツリー状階層構造を構成する端末装置2のうち接続先候補となる端末装置2をいくつか決定する。そして、情報処理装置1は、上記問い合わせを行った端末装置2へ決定した接続先候補を通知する。このように情報処理装置1から複数の接続先候補を受信した端末装置2は、これらの接続先候補のうち一の接続先候補を選択する。そして、接続先候補を受信した端末装置2は、接続先候補として選択した端末装置2へネットワーク8を介して接続要求を行って、接続先候補として選択した端末装置2を上流装置としてツリー状階層構造に接続して参加する。
【0031】
なお、本実施形態では、一つの端末装置2の下流に最大2つの端末装置2が接続されるものとして説明するが、これに限られない。一つの端末装置2の下流に3つ以上の端末装置2を接続することができるようにしてもよい。また、情報処理装置1は物理的に一体的に形成された装置である必要はなく、例えば、コンテンツ配信処理を行う装置とツリー状階層構造の管理処理とを行う装置とにより構成することもできる。
【0032】
ところで、各端末装置2は、通信回線に接続されて、ツリー状階層構造を構成する。従って、接続される通信回線の帯域幅によってはコンテンツデータの配信に支障を来すことがある。
【0033】
例えば、図1に示す端末装置2c1,2c3〜3c8のように、上りの帯域が狭いADSLのような通信回線に接続されていると、上流の端末装置2から順次受信したコンテンツデータを下流装置に送信することが困難となる場合がある。例えば、接続されたADSL回線が、ITU−TS(国際電気通信連合電気通信標準化部門)勧告のG.992規格に準拠して、上りの帯域が最大8Mbps、下り帯域が最大640kbpsの場合に、1Mbpsでコンテンツデータが配信されると、上流装置からの受信は問題なく行えるものの、下流装置への送信は滞ってしまうことになる。
【0034】
そこで、情報処理装置1によって、帯域が広い光通信回線に接続されて通信速度が速い端末装置2a1,2a2,2b1〜2b4をツリー状階層構造の上流側になるように配置し、上りの帯域が狭く、上りの通信速度が遅いADSLに接続された端末装置2c1,2c3〜2c7をツリー状階層構造の下流側になるように配置するようにその接続を管理するようにしている。通信速度が低い端末装置を中継能力が低い端末装置として、下位階層に配置する技術については、例えば、特開2003−169089号公報等で公知であるので、詳細な説明は省略する。
【0035】
しかし、コンテンツ配信システムSに参加している端末装置2に対してADSLに接続された端末装置2が多いような場合がある。この場合、情報処理装置1でツリー状階層構造の構成を管理したとしても、上流側にADSLに接続された端末装置2が配置されることがあり、コンテンツデータの配信に遅延が生じる場合がある。
【0036】
そこで、本実施形態のコンテンツ配信システムSにおいては、このような場合には、ツリー状階層構造を構成することなく、情報処理装置1と複数の端末装置2のそれぞれとをネットワーク8を介してクライアント−サーバ形式で接続している。そして、クライアントサーバ形式で情報処理装置1から各端末装置2にコンテンツデータが配信される。
【0037】
すなわち、ツリー状階層構造を構成してコンテンツデータの配信を行える場合には、情報処理装置1は複数の端末装置2をネットワーク8を介してツリー状階層構造で多層に論理接続させる。そして、情報処理装置1は、コンテンツデータをツリー状階層構造の上流の端末装置2に供給して、当該上流の端末装置2から下流の端末装置2にかけて端末装置2の中継機能によってコンテンツデータを配信させる。一方、ツリー状階層構造を構成してコンテンツデータの配信を行えない場合には、情報処理装置1は複数の端末装置2のそれぞれとネットワーク8を介してクライアント−サーバ形式で接続する。これにより、クライアント−サーバ形式によって各端末装置2にコンテンツデータが配信される。
【0038】
このように参加する端末装置2の状態に応じて、ツリー状階層構造によるP2P方式によるコンテンツデータの配信モード(以下、「P2P型配信モード」とする)とクライアント−サーバ方式によるコンテンツデータの配信モード(以下、「C/S型配信モード」とする)とが切り替えられる。このように切り替えられることで、参加する端末装置2の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0039】
P2P型配信モードとC/S型配信モードとは、例えば、各端末装置2の参加及び離脱のタイミング、または、コンテンツデータの配信が開始されるタイミングで切り替えられる。具体的には、端末装置2の状態に基づいて、ツリー状階層構造を形成してコンテンツデータの配信をするための条件を満たすか否かが判定される。その具体的条件は、例えば、以下の(条件1),(条件2)のいずれか又はいずれも適用することができる。
(条件1)コンテンツ配信システムSに参加している複数の端末装置2のうち通信速度(帯域幅)が規定値以上である端末装置2の割合が所定以上であること。
(条件2)コンテンツ配信システムSに参加している複数の端末装置2の数が、所定数以上であること。
【0040】
ここで、上記規定値は、コンテンツデータの配信速度よりも速い通信速度である。下りの通信速度(受信速度)はコンテンツデータを遅延なく受信することができる通信速度である。上りの通信速度(送信速度)は下流に最大数の端末装置2(ここでは2つの端末装置2)にコンテンツデータを遅延なく配信することができる通信速度である。例えば、コンテンツデータの配信速度が1Mbpsの場合、下りの通信速度は1Mbps以上で、望ましくは2Mbps以上、上りの通信速度は2Mbps以上で、望ましくは4Mbps以上である。
【0041】
また、上記条件1を適用する場合、例えば、参加している複数の端末装置2のうち通信速度が規定値以上の端末装置2が全体の60%以上であることを条件とする。第1実施形態では、通信速度が規定値以上の端末装置2が全体の50%以上あるときには、情報処理装置1により、ツリー状階層構造のうち最下流以外に通信速度が規定値以上の端末装置2を配置することができるが、システムの運用にあたっては余裕を持たせることが望ましい。従って、端末装置2の離脱等を考慮すると、規定値以上の端末装置2が全体の60%以上であることを、第1実施形態では条件としている。但し、通信速度が規定値以上の端末装置2が規定値未満の場合であっても、参加している端末装置2の数が少ない場合(例えば、端末装置2が100台以下)には、規定値以上の端末装置2が全体の70%以上とする。システムの運用にあたっては余裕を持たせることができる。例えば、端末装置2の数が1000台のときには、通信速度が規定値以上の端末装置2の割合が50%とする。このとき、通信速度が規定値未満の端末装置2が3台連続して参加してくる確率は12.5%(=0.53×100%)であり、通信速度が規定値未満の端末装置2が10台連続して参加してくる確率は約0.1%(=0.510×100%)である。このことから、通信速度が規定値以上の端末装置2が、通信速度が規定値未満の端末装置2よりも10台以上多いことを条件とすることが望ましい。通信速度が規定値未満の端末装置2が10台連続して参加してきた場合でも、参加してきた端末装置2を全て通信速度が規定値以上の端末装置2に接続できるからである。このようにすることで、P2P型配信モードとC/S型配信モードとの切り替えが頻繁に発生することを抑制することができ、コンテンツデータの配信を安定させることができる。なお、通信速度が規定値以上の端末装置2が全体の60%以上ある場合であっても、参加している端末装置2の数が少なく、小さなツリー状階層構造しか形成できないときには、P2P型配信モードとせずにC/S型配信モードとするようにしてもよい。端末装置2の離脱等を考慮した場合、サーバ−クライアント方式での配信の方が安定しているためである。
【0042】
なお、P2P型配信モードとC/S型配信モードとの切り替えは、上記条件に限定する必要はなく、運用上、種々の条件を設定することもできる。
【0043】
また、端末装置2の通信速度は、コンテンツ配信システムSへの参加時に、端末装置2が通信速度測定用サーバ(図示せず)との間で通信することによって測定される。すなわち、端末装置2はコンテンツ配信システムSへの参加時に、通信速度測定用サーバへ接続し、通信速度測定用サーバとの間で所定データ量のテストデータを送受信し、その送受信時間を検出することによって測定される。このように端末装置2で測定された情報は、情報処理装置1へ送信され、当該情報処理装置1に記憶される。これにより、情報処理装置1において、端末装置2の通信速度に基づいた上記条件の判定が可能となる。なお、テストデータの送受信時間の測定は、端末装置2で行わずに通信速度測定用サーバで行うようにしてもよい。これにより、端末装置2の処理負荷を軽減することができる。また、端末装置2が自装置の接続回線の情報を記憶している場合には、その情報を情報処理装置1へ通知し、情報処理装置1がその接続回線の情報に基づいて、端末装置2の通信速度を判定するようにしてもよい。
【0044】
また、情報処理装置1は、上述のように通信速度が速い端末装置2がツリー状階層構造の上流側になるようにその接続を管理している。C/S型配信モードからP2P型配信モードへ移行するとき、情報処理装置1は、通信速度が規定値以上である端末装置2を優先的に前記階層構造の上流に接続させる。このようにすることで、通信速度が遅い端末装置2が多い場合であってもツリー状階層構造が形成される可能性が高くなり、情報処理装置1の配信負荷も低減することが可能となる。
【0045】
一方、P2P型配信モードからC/S型配信モードへ移行するとき、情報処理装置1は、ツリー状階層構造を形成する端末装置2のうち下流の端末装置2から優先的にツリー状階層構造から離脱させて接続する。このようにすることで、ツリー状階層構造においてコンテンツデータの配信遅延の原因となる端末装置2を迅速にツリー状階層構造から離脱させることができる。また、配信モードの移行過程において、ツリー状階層構造でのコンテンツデータの配信を行いつつも、ツリー状階層構造を徐々に消滅させることができる。その結果、ツリー状階層構造でのコンテンツデータの配信を急に終わらせることに比べて、配信モードの移行をよりスムーズに行うことが可能となる。
【0046】
また、P2P型配信モードとC/S型配信モードとの切り替えは、全ての端末装置2に対して行うのではなく、一部の端末装置2に対してのみ行うようにすることもできる。
【0047】
例えば、C/S型配信モードからP2P型配信モードへの切り替えを、図2に示すように、一部の端末装置2に対してのみ行うようにすることもできる。すなわち、ツリー状階層構造を全ての端末装置2で形成するとコンテンツデータを滞りなく配信することができないとき、一部の端末装置2でツリー状階層構造を構成してコンテンツデータが配信される。一方、その残りの端末装置2に対しては引き続きクライアント−サーバ方式でコンテンツデータが配信される。このようにすることで、全ての端末装置2に対してクライアント−サーバ方式を適用するのに比べて、情報処理装置1で直接コンテンツデータを配信しなければならない端末装置2を低減することができる。
【0048】
このようにする場合、情報処理装置1は、各端末装置2の参加又は離脱のタイミングで、上記切り替え条件を満たすか否かを判定する。上記切り替えの条件を満たすときには、全ての端末装置2でツリー状階層構造を形成してコンテンツデータが配信される。一方、上記切り替え条件を満たさない場合には、ツリー状階層構造を構成することができる端末装置2でツリー状階層構造を形成し、それ以外の端末装置2とは直接接続する。
【0049】
以上のように、本実施形態にかかるコンテンツ配信システムSでは、参加する端末装置2の状態に応じて、P2P型配信モードとC/S型配信モードとが切り替えられるようにしている。そのため、参加する端末装置2の状態が変化する場合においてもコンテンツデータの配信を行うことができる。以下、情報処理装置1及び端末装置2の具体的構成及び動作の一例について説明する。
【0050】
[1.2.情報処理装置1の具体的構成及び動作の説明]
まず、情報処理装置1の具体的構成及び動作の一例について説明する。
【0051】
(情報処理装置1の構成について)
まず、情報処理装置1の具体的構成について説明する。図3は、本実施形態のコンテンツ配信システムSにおける情報処理装置1の構成を示す図である。
【0052】
情報処理装置1は、一般のサーバコンピュータを適用可能である。図3に示すように、情報処理装置1は、制御部11と、記憶部12と、通信部13と、操作部14とを備えている。制御部11と、記憶部12と、通信部13と、操作部14とは、システムバス15を介して相互に接続されている。制御部11は、情報処理装置1全体を制御する。記憶部12は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部13は、端末装置2と通信するための通信インターインターフェイスである。操作部14は、各種設定入力を行うための操作部である。
【0053】
制御部11は、CPU(Central Processing Unit)、内部メモリなどから構成される。この内部メモリには、端末装置2と間でのコンテンツデータやその他のメッセージを送受信するための情報処理プログラムが格納されている。CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、第1処理手段、第2処理手段、判定処理手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワーク8に接続された他のサーバから、通信部13を介して、制御部11の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部11の内部メモリに読み込まれるようにしてもよい。
【0054】
記憶部12は、端末装置2へ配信するコンテンツデータ及びその配信スケジュールを記憶するコンテンツ記憶領域、コンテンツ配信システムSへ参加している端末装置2の情報(以下、「端末装置情報」とする)を記憶する端末装置情報記憶領域を有している。さらに、記憶部12は、P2P型配信モードで形成されるツリー状階層構造における各端末装置2の配置情報(以下、「トポロジー情報」とする)を記憶するトポロジー情報記憶領域、その他各種設定の情報を記憶する設定情報記憶領域などを有している。なお、「端末装置情報報」とは、例えば、端末装置2の所在情報(例えば、IPアドレス)や通信速度の情報などの情報である。
【0055】
(情報処理装置1の具体的動作について)
以上のように構成された情報処理装置1の動作を図面を参照して具体的に説明する。図4は本実施形態における情報処理装置1のメイン処理フローチャートである。なお、以下の各処理は、情報処理装置1の制御部11が上述した各手段等として機能することによって実行されるものである。
【0056】
情報処理装置1においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、サーバ装置としての処理を開始する。このとき、制御部11のCPUは、内部メモリに記憶した情報処理プログラムを実行状態として、制御部11としての機能を動作状態する。
【0057】
図4に示すように、制御部11は、記憶部12のコンテンツ記憶領域に記憶した配信スケジュールの情報に基づいて、配信開始前か否か、すなわちコンテンツデータの配信開始時間に到達していないかどうかを判定する(ステップS11)。配信前である判定すると(ステップS11:Yes)、制御部11は、配信処理を実行する(ステップS12)。この配信処理は、図5に示すステップS30〜S46の処理であり、後で詳述する。
【0058】
ステップS12の処理が終了したとき、又は、配信前ではないと判定したとき(ステップS11:No)、制御部11は、端末装置2からの接続要求が発生したか否かを判定する(ステップS13)。この処理において、制御部11は、通信部13を介して端末装置2から接続要求メッセージを受信したときに、端末装置2からの接続要求が発生したと判定する。
【0059】
端末装置2からの接続要求が発生したと判定すると(ステップS13:Yes)、制御部11は、登録した端末装置2(以下、「登録端末装置2」とする)からの再接続要求か否かを判定する(ステップS14)。この処理において、制御部11は、この接続要求を行った端末装置2の情報が記憶部12の端末情報記憶領域に記憶されているときに、登録端末装置2からの再接続要求であると判定する。
【0060】
ステップS14において、登録端末装置2からの再接続要求ではないと判定すると(ステップS14:No)、制御部11は、端末装置情報を記憶部12の端末情報記憶領域に記憶して登録する(ステップS15)。この端末装置情報は、再接続要求を行った端末装置の識別情報、所在情報(例えば、IPアドレス)、通信速度の情報などを含む情報である。
【0061】
ステップS15の処理が終了したとき、又は、登録した端末装置からの再接続要求であると判定したとき(ステップS14:Yes)、制御部11は、接続処理を行う(ステップS16)。この接続処理は、図6に示すステップS50〜S56の処理であり、後で詳述する。
【0062】
ステップS16の処理が終了したとき、又は、端末装置2からの接続要求が発生していないと判定したとき(ステップS13:No)、制御部11は、登録端末装置2からの離脱要求が発生したか否かを判定する(ステップS17)。この処理において、制御部11は、登録端末装置2から離脱要求メッセージが送信されたときに、離脱要求が発生したと判定する。
【0063】
登録端末装置2からの離脱要求が発生したと判定すると(ステップS17:Yes)、制御部11は、端末装置情報を記憶部12の端末装置情報記憶領域から削除し(ステップS18)、離脱処理を行う(ステップS19)。この離脱処理は、図7に示すステップS60〜S67の処理であり、後で詳述する。
【0064】
ステップS19の処理が終了したとき、又は、登録端末装置2からの離脱要求が発生していないと判定したとき(ステップS17:No)、制御部11は、サーバ処理の終了指示を検出したかを判定する(ステップS20)。例えば、自情報処理装置1の電源がOFF状態へ移行したとき、制御部11は、終了指示を検知する。制御部11は、終了指示を検知したと判定すると(ステップS20:Yes)、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS20:No)、ステップS11からの処理を繰り返す。
【0065】
次に、ステップS12で実行される配信処理について図5のフローチャートを参照して具体的に説明する。図5は情報処理装置1における配信処理のフローチャートである。この配信処理は、コンテンツデータの配信開始前から配信開始時までの処理である。
【0066】
図5に示すように、配信処理を開始すると、制御部11は、登録端末装置2からの接続要求メッセージが送信されて、接続要求があるか否かを判定する(ステップS31)。この処理において、接続要求があったと判定すると(ステップS31:Yes)、制御部11は、端末装置2から送信される接続要求メッセージに含まれる当該端末装置2の端末装置情報を記憶部12の端末装置情報記憶領域に記憶して登録する(ステップS32)。
【0067】
一方、接続要求がないと判定すると(ステップS31:No)、制御部11は、ステップS17と同様に、登録端末装置2から離脱要求メッセージが送信され、離脱要求があるか否かを判定する(ステップS34)。登録端末装置2からの離脱要求があると判定すると(ステップS34:Yes)、制御部11は、離脱要求メッセージを送信した端末装置2の端末装置情報を記憶部12の端末装置情報記憶領域から削除する(ステップS35)。
【0068】
ステップS32,S35の処理が終了したとき、又は、登録端末装置2からの離脱要求がないと判定したとき(ステップS34:No)、制御部11は、コンテンツデータの配信開始時間に到達しているか否かを判定する(ステップS37)。このとき、コンテンツデータの配信開始時間に到達していないと判定すると(ステップS37:No)、制御部11は、処理をステップS31に戻す。一方、コンテンツデータの配信開始時間に到達していると判定すると(ステップS37:Yes)、制御部11は、登録端末装置2があるか否かを判定する(ステップS38)。この処理において、制御部11は、記憶部12の端末装置情報記憶領域に端末装置情報を記憶した端末装置2があるときに、登録端末装置2があると判定する。
【0069】
登録端末装置2があるとき(ステップS38:Yes)、制御部11は、通信速度が規定値以上の端末装置2(以下、「高速端末装置2」ともいう)の数及び割合が閾値以上であるか否かを判定する(ステップS39)。この処理において、制御部11は、コンテンツ配信システムSに参加している端末装置2の数に対して、高速端末装置2の数が規定値以上あり、高速端末装置2の数の割合も規定値以上あるときに、高速端末装置2の数及び割合が閾値以上であると判定する。例えば、端末装置2の数が1000台のときには、高速端末装置2の数が、それ以外の端末装置2の数よりも10台以上多く、かつ高速端末装置2が全体の60%以上であるときに、高速端末装置2の数及び割合が閾値以上であると判定する。このように、制御部11は、ツリー状階層構造の形成を行うための条件を満たすか否かを判定する判定処理手段として機能する。
【0070】
高速端末装置2の数及び割合が閾値以上あると判定すると(ステップS39:Yes)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をP2P型配信モードに設定し(ステップS40)、登録端末装置2によりツリー状階層構造を形成するための情報であるトポロジー情報を作成する(ステップS41)。このトポロジー情報は、各登録端末装置2がツリー状階層構造のどの位置に配置されるのかを示す情報であり、高速端末装置2が上流側に配置されるように生成される。
【0071】
その後、制御部11は、トポロジー情報に基づき、全ての登録端末装置2に対して、それぞれの接続位置の情報を通知する(ステップS42)。このとき、制御部11は、登録端末装置2へ接続位置の情報を通知して、上流側から順にツリー状階層構造を形成させる。
【0072】
全ての登録端末装置2によりツリー状階層構造が形成されると、制御部11は、ツリー状階層構造の最上流に配置された登録端末装置2にコンテンツデータのストリーム配信を開始して(ステップS43)、配信処理を終了する。ツリー状階層構造の最上流に配置された登録端末装置2とは、例えば、図1に示す例では、端末装置2a1,2a2である。このように、制御部11は、複数の端末装置2同士をネットワークを介して接続させて、端末装置2間でコンテンツデータを配信させる第1処理手段として機能する。特に、制御部11は、第1処理手段として、複数の端末装置2をネットワーク8を介してツリー状階層構造で多層に論理接続させて、コンテンツデータをツリー状階層構造の上流の端末装置2に供給し、当該上流の端末装置2から下流の端末装置2にかけて端末装置2の中継機能によってコンテンツデータを配信させるようにしている。
【0073】
ステップS39において、高速端末装置2の数及び割合が閾値以上ではないと判定すると(ステップS39:No)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をC/S型配信モードに設定する(ステップS44)。その後、制御部11は、登録端末装置2のそれぞれとネットワーク8を介してクライアント-サーバ形式で接続を行って、各端末装置2へ通信部13を介してコンテンツデータのストリーム配信を開始し(ステップS45)、配信処理を終了する。このように、制御部11は、複数の端末装置2のそれぞれとネットワーク8を介してクライアント−サーバ形式で接続して、端末装置2にコンテンツデータを配信する第2処理手段として機能する。なお、このとき、情報処理装置1は、コンテンツデータを記憶し、各端末装置2にコンテンツデータを配信する記憶装置として機能する。
【0074】
また、ステップS38において、端末装置情報を記憶した端末装置2がないとき(ステップS38:No)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をC/S型配信モードに設定して(ステップS46)、配信処理を終了する。
【0075】
次に、ステップS16で実行される接続処理について図6のフローチャートを参照して具体的に説明する。図6は情報処理装置1における接続処理のフローチャートである。この接続処理は、配信開始後に端末装置2から接続要求が発生したときの処理である。
【0076】
図6に示すように、接続処理を開始すると、制御部11は、記憶部12の設定情報記憶領域に設定された配信モードの情報に基づき、現在の配信モードがC/S型配信モードであるか否かを判定する(ステップS50)。現在の配信モードがC/S型配信モードであると判定すると(ステップS50:Yes)、制御部11は、ステップS39の処理と同様に、高速端末装置2の数及び割合が閾値未満あるか否かを判定する(ステップS51)。このように、制御部11は、ツリー状階層構造の形成を行うための条件を満たすか否かを判定する判定処理手段として機能する。
【0077】
高速端末装置2の数及び割合が閾値未満であるとき(ステップS51:Yes)、制御部11は、接続要求を行った端末装置2とネットワーク8を介してクライアント-サーバ形式で接続を行う。その後、制御部11は、接続要求を行った端末装置2に対しても通信部13を介してコンテンツデータのストリーム配信を行い(ステップS52)、接続処理を終了する。このとき、接続要求を行った端末装置2へ送信するコンテンツデータは、他の端末装置2へ送信中のコンテンツデータである。従って、接続要求を行った端末装置2では、放送されているコンテンツを途中から視聴することになる。
【0078】
高速端末装置2の数及び割合が閾値未満ではないとき(ステップS51:No)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をP2P型配信モードに設定する(ステップS53)。その後、制御部11は、ステップS41と同様に、トポロジー情報を作成する。そして、制御部11は、情報処理装置1に接続している端末装置2(以下、「接続端末装置2」という)の中で、ツリー状階層構造の最上流となる端末装置2以外の端末装置2にP2P型配信モードへの変更を高速端末装置2から順に指示する。さらに。制御部11は、再接続の要求を行った端末装置2に接続先候補を通知して(ステップS54)、接続処理を終了する。これにより、これらの端末装置2によってツリー状階層構造が形成されて、コンテンツデータが配信される。なお、制御部11は、トポロジー情報を作成する際に、高速端末装置2の中から、ツリー状階層構造の最上流となる端末装置2を選択する。そして、制御部11は、ツリー状階層構造の最上流となる端末装置2には、接続先候補の通知を行わずに接続を維持して、コンテンツデータの配信を継続する。これにより、情報処理装置1は、コンテンツデータの配信処理を停止せずに済み、しかも最上流となる端末装置2には接続先候補を通知する必要がないため、処理負荷を軽減することができる。ただし、ツリー状階層構造の最上流となる端末装置2に対しても、P2P型配信モードへの変更を指示するようにしてもよい。このように、制御部11は、複数の端末装置2をネットワーク8を介してツリー状階層構造で多層に論理接続させて、コンテンツデータをツリー状階層構造の上流の端末装置2に供給し、当該上流の端末装置2から下流の端末装置2にかけて端末装置2の中継機能によってコンテンツデータを配信させる第1処理手段として機能する。なお、情報処理装置1が配信するコンテンツデータには、再生時刻の情報が含まれており、現時刻よりも少し先の再生時刻(例えば、現時刻の10秒後)のコンテンツデータを端末装置2へ配信する。端末装置2は情報処理装置1から配信されるコンテンツデータを後述するバッファメモリ24に記憶し、現時刻と一致する再生時刻のコンテンツデータを再生する。従って、端末装置2は、C/S型配信モードからP2P型配信モードへ移行するまでの間は、バッファメモリ24に記憶しているコンテンツデータを再生することができ、再生は中断しない。
【0079】
ステップS50において、現在の配信モードがC/S型配信モードではないと判定すると(ステップS50:No)、制御部11は、記憶部12のトポロジー情報記憶領域にトポロジー情報に基づいて、接続先候補の端末装置2をいくつか選択し、当該選択した接続先候補の情報を通信部13を介して、再接続の要求を行った端末装置2へ通知する(ステップS55)。その後、制御部11は、このステップS55の処理に応じてトポロジー情報を変更し、記憶部12のトポロジー情報記憶領域に記憶するトポロジー情報を更新して(ステップS56)、接続処理を終了する。なお、再接続の要求を行った端末装置2は、再接続を行ったときにどの端末装置2に接続したかの情報を情報処理装置1へ通知するようにしている。制御部11は、このように通知される情報に基づいてトポロジー情報を更新する。
【0080】
次に、ステップS19で実行される離脱処理について図7のフローチャートを参照して具体的に説明する。図7は情報処理装置1における離脱処理のフローチャートである。この接続処理は、配信開始後に端末装置2から離脱要求が発生したときの処理である。
【0081】
図7に示すように、離脱処理を開始すると、制御部11は、記憶部12の設定情報記憶領域に設定された配信モードの情報に基づき、現在の配信モードがC/S型配信モードであるか否かを判定する(ステップS60)。
【0082】
現在の配信モードがC/S型配信モードであると判定すると(ステップS60:Yes)、制御部11は、離脱要求を行った端末装置2へのコンテンツデータのストリーム配信を停止し、さらにこの端末装置2との接続を切断して(ステップS61)、離脱処理を終了する。
【0083】
一方、現在の配信モードがC/S型配信モードではないと判定すると(ステップS60:No)、制御部11は、ステップS39の処理と同様に、高速端末装置2の数及び割合が閾値未満あるか否かを判定する(ステップS62)。
【0084】
高速端末装置2の数及び割合が閾値未満であるとき(ステップS62:Yes)、制御部11は、ツリー状階層構造を構成する端末装置2のうち離脱要求を行った端末装置2を除いた全ての端末装置2へC/S型配信モードの変更を指示する。このとき、制御部11は、記憶部12のトポロジー情報記憶領域に記憶したトポロジー情報に基づいて、その配信モードの変更指示をツリー状階層構造の最下流となる端末装置2から上流となる端末装置2にかけて順次行うようにしている(ステップS63)。その後、制御部11は、記憶部12の設定情報記憶領域に設定される配信モードを、C/S型配信モードに設定して(ステップS64)、離脱処理を終了する。
【0085】
ステップS62において、高速端末装置2の数及び割合が閾値未満ではないとき(ステップS62:No)、制御部11は、記憶部12に記憶したトポロジー情報に基づいて、離脱要求を行った端末装置2の下流に他の端末装置2が接続しているか否かを判定する(ステップS65)。この処理において、例えば、図1に示す端末装置2b4が離脱要求を行った端末装置2である場合、制御部11は、端末装置2b4の下流に端末装置2c7,2c8が接続されていると判定する。一方、図1に示す端末装置2c6が離脱要求を行った端末装置2である場合、制御部11は、端末装置2c6の下流に端末装置2が接続されていないと判定する。
【0086】
離脱要求を行った端末装置2の下流に他の端末装置2が接続していると判定すると(ステップS65:Yes)、制御部11は、記憶部12に記憶したトポロジー情報に基づいて、接続先候補の端末装置2の情報を通知する(ステップS66)。この処理において、制御部11は、離脱要求を行った端末装置2の下流に接続してある端末装置2に対して、ツリー状階層構造を構成する端末装置2のうち離脱要求を行った端末装置2及びその下流の端末装置2を除いた端末装置2から接続先候補の端末装置2をいくつか選択する。その後、制御部11は、当該選択した接続先候補の情報を通信部13を介して、再接続の要求を行った端末装置2へ通知する。このステップS66の処理が終了したとき、又は、離脱要求を行った端末装置2の下流に他の端末装置2が接続していないと判定したとき(ステップS65:No)、制御部11は、離脱要求を行った端末装置2の情報を記憶部12に記憶したトポロジー情報から削除する等してトポロジー情報を変更して(ステップS67)、離脱処理を終了する。
【0087】
[1.3.端末装置2の具体的構成及び動作の説明]
以下、図面を参照して、上述した端末装置2の具体的構成及び動作の一例について説明する。
【0088】
(端末装置2の構成について)
まず、端末装置2の構成について説明する。図8は、端末装置2の具体的構成を示す図である。
【0089】
端末装置2は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図8に示すように、制御部21、記憶部22、バッファメモリ24、デコーダ部25、映像処理部26、表示部27、音声処理部28、スピーカ29、入力部30、通信部31を備えている。なお、制御部21、記憶部22、バッファメモリ24、デコーダ部25、通信部31は、システムバス40を介して相互に接続されている。
【0090】
制御部21は、CPU(Central Processing Unit)、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、受信処理手段、送信処理手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワーク8に接続されたサーバ(例えば、情報処理装置1)から、通信部31を介して、制御部21の内部メモリにダウンロードされるようにしてもよい。また、例えば、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部21の内部メモリに読み込まれるようにしてもよい。
【0091】
バッファメモリ24は、ネットワーク8を介して取得したコンテンツデータを一時的に記憶するメモリであり、このバッファメモリ24に記憶したコンテンツデータをデコーダ部25により順次取り出してデコードする。デコードされたコンテンツデータのうち、映像情報は映像処理部26により表示部27で表示可能な情報に変換処理され、音声情報は音声処理部28により、スピーカ29で音波として出力可能な情報に変換処理される。
【0092】
(端末装置2の動作について)
以上のように構成された端末装置2の動作を図面を参照して具体的に説明する。図9は端末装置2のメイン処理フローチャートである。なお、以下の各処理は、端末装置2の制御部21が上述した各手段等として機能することによって実行されるものである。
【0093】
端末装置2においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、制御部21のCPUは内部メモリに記憶した情報処理プログラムを実行状態として、制御部21としての機能を動作状態にして、処理を開始する。
【0094】
処理を開始すると、制御部21は、コンテンツ視聴要求が発生したか否かを判定する(ステップS70)。この処理において、制御部21は、自端末装置2のユーザから入力部20への操作によってコンテンツを視聴するための操作があったとき、コンテンツ視聴要求が発生したと判定する。
【0095】
制御部21は、コンテンツ視聴要求が発生するのを待ち(ステップS70:No)、コンテンツ視聴要求が発生したと判定すると(ステップS70:Yes)、ネットワーク8を介して図示しない通信速度測定用サーバに接続し、所定データ量のテストデータを通信速度測定用サーバと送受信して、自端末装置2の送信速度及び受信速度を通信速度として測定する(ステップS71)。
【0096】
次に、制御部21は、情報処理装置1に対して接続要求を行う(ステップS72)。この処理において、制御部21は、自端末装置2の識別情報、所在情報、通信速度の情報などを含む接続要求メッセージを情報処理装置1へ送信して、接続要求を行う。
【0097】
その後、制御部21は、接続要求に対して情報処理装置1から配信モードの情報としてC/S型配信モードの情報を受信したか否かを判定する(ステップS73)。
【0098】
C/S型配信モードの情報を受信したと判定すると(ステップS73:Yes)、制御部21は、情報処理装置1と接続を行い、情報処理装置1からストリーム配信されるコンテンツデータを通信部31を介して受信する。ネットワーク8を介して受信したコンテンツデータはバッファメモリ24に一時的に記憶され、デコーダ部25によってデコードされて、表示部27やスピーカ29により再生が開始される(ステップS74)。
【0099】
一方、C/S型配信モードの情報を受信していないと判定したとき、すなわち、P2P型配信モードの情報を受信したと判定したとき(ステップS73:No)、制御部21は、配信モードの情報と共に送られる情報に基づいて最初の接続端末装置2であるか否かを判定する(ステップS75)。最初の接続端末装置2であると判定すると(ステップS75:Yes)、制御部21は、ステップS74と同様に、情報処理装置1と接続し、情報処理装置1からストリーム配信されるコンテンツデータを通信部31を介して順次取得して再生する(ステップS76)。
【0100】
ステップS75において、最初の接続端末装置2ではないと判定すると(ステップS75:No)、制御部21は、情報処理装置1から通知された接続先候補である他の端末装置2に対して接続要求を行う(ステップS77)。情報処理装置1から通知された複数の接続先候補のうちいずれかの接続先候補に接続して、このように接続した接続先候補である他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得して再生する(ステップS78)。
【0101】
ステップS74,S76,S78の処理が終了すると、制御部21は、情報処理装置1からP2P型配信モードへの変更指示を受信したか否かを判定する(ステップS79)。この処理において、制御部21は、動作モードがC/S型配信モードのときに、情報処理装置1からP2P型配信モードの情報を受信したときに、P2P型配信モードへの変更指示を受信したと判定する。P2P型配信モードへの変更指示を受信したと判定すると(ステップS79:Yes)、制御部21は、情報処理装置1に対して再接続要求を行う(ステップS80)。この処理において、制御部21は、自端末装置2の識別情報を含む再接続要求メッセージを通信部31を介して情報処理装置1へ送信することによって、再接続要求を行う。
【0102】
再接続要求に応じて情報処理装置1から接続先候補の情報が通知されると、制御部21は、通知された接続先候補である他の端末装置2に対して接続要求を行う(ステップS81)。その後、制御部21は、このように接続した接続先候補である他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得して再生する(ステップS82)。
【0103】
ステップS79において、P2P型配信モードへの変更指示を受信していないと判定すると(ステップS79:No)、制御部21は、情報処理装置1からC/S型配信モードへの変更指示を受信したか否かを判定する(ステップS83)。この処理において、制御部21は、動作モードがP2P型配信モードのときに、情報処理装置1からC/S型配信モードの情報を受信したときに、C/S型配信モードへの変更指示を受信したと判定する。C/S型配信モードへの変更指示を受信したと判定すると(ステップS83:Yes)、制御部21は、情報処理装置1に対して再接続要求を行い(ステップS84)、その後、情報処理装置1からストリーム配信されるコンテンツデータを通信部31を介して順次取得し、再生する(ステップS85)。
【0104】
ステップS82,S85の処理が終了したとき、又は、C/S型配信モードへの変更指示を受信していないと判定したとき(ステップS83:No)、制御部21は、その他の処理を実行する(ステップS86)。
【0105】
ステップS86において、例えば、ユーザから入力部20への操作によってコンテンツの視聴を終了するための操作があったとき、制御部21は、離脱要求メッセージを情報処理装置1へ送信することによって、情報処理装置1へコンテンツ視聴の終了を通知する。また、ツリー状階層構造において自端末装置の上流側に接続した端末装置2(以下、「上流端末装置2」とする)が突然にコンテンツ配信システムSから離脱したとき、制御部21は、自端末装置2の固有識別情報を含む再接続要求メッセージを通信部31を介して情報処理装置1へ送信することによって、再接続要求を行う。制御部11は、この再接続要求に応じて情報処理装置1から通知される接続先候補の他の端末装置2に接続し、この他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得し、再生する。また、上流端末装置2の離脱予定の情報を情報処理装置1又は上流端末装置2から受信すると、制御部21は、自端末装置2の固有識別情報を含む再接続要求メッセージを通信部31を介して情報処理装置1へ送信することによって、再接続要求を行う。制御部11は、この再接続要求に応じて情報処理装置1から通知される接続先候補の他の端末装置2に接続し、この他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得し、再生する。また、他の端末装置2から接続要求があると、制御部21は、接続要求を行った他の端末装置2を自端末装置2の下流の端末装置2として接続し、コンテンツデータのストリームを送信する。
【0106】
ステップS86の処理が終了したとき、制御部21は、端末処理の終了指示を検知したかを判定する(ステップS87)。例えば、自端末装置2の電源がOFF状態へ移行したとき、制御部21は、終了指示を検知する。終了指示を検知したと判定すると(ステップS87:Yes)、制御部21は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS87:No)、制御部21は、ステップS79からの処理を繰り返す。
【0107】
以上のように、第1実施形態におけるコンテンツ配信システムSでは、端末装置2の状態に応じて、ツリー型トポロジーでのコンテンツデータの配信とクライアント−サーバ方式でのコンテンツデータの配信とを切り替えるようにしている。従って、端末装置2の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0108】
なお、上述の実施形態では、通信速度として、受信速度(下りの帯域幅)と送信速度(上りの帯域幅)について規定値を満たすときに高速端末装置として判定したが、これに限られない。例えば、ADSLに接続された端末装置2と光通信回線に接続された端末装置2としかないような場合には、送信速度のみを測定し、この送信速度が規定値を満たすときに高速端末装置として判定してもよい。
【0109】
〔2.第2実施形態〕
〔2.1.概要〕
まず始めに、第2実施形態におけるコンテンツ配信システムの概要について説明する。
【0110】
第2実施形態におけるコンテンツ配信システム(以下、「コンテンツ配信システムS’」という)は、視聴要求に応じてコンテンツデータを配信するオンデマンド方式のP2P型のコンテンツ配信システムである。このコンテンツ配信システムS’は、情報処理装置(以下、「情報処理装置1’」という)と複数の端末装置(以下、「端末装置2’」という)とを有している。また、複数の端末装置2’は互いにコンテンツデータを送受信するオーバーレイネットワークであるP2Pネットワーク(以下、「P2PネットワークN」という)を構成可能としている。複数の端末装置2’には、複数のコンテンツデータが分散保存される。
【0111】
このシステムS’では、各端末装置2’とコンテンツデータにそれぞれ固有の識別IDが割り当てられている。固有の識別IDとして端末装置2’には端末IDが割り当てられる。また、固有の識別IDとしてコンテンツデータにはコンテンツIDが割り当てられる。端末装置2’がP2PネットワークNを構成している場合、この識別IDに基づいて、端末装置2’間でデータの送受信が行われる。本実施形態においては、各識別IDはnビットの数字で規定される。また、コンテンツIDを超えず、このコンテンツIDに最も近い端末IDを有する端末装置2’(以下、「ルートノード」と呼ぶ。)がそのコンテンツIDに対応するインデックステーブルを記憶している。このインデックステーブルは、コンテンツIDに対応するコンテンツデータを保持するコンテンツホルダの所在情報とコンテンツIDとを関連づけたテーブルである。なお、コンテンツホルダの所在情報は、例えば、コンテンツホルダのIPアドレスである。各端末装置2’はコンテンツデータを取得すると、コンテンツホルダとなり、ルートノード宛に自装置の所在情報などを含む登録メッセージをルートノードに送信する。また、各端末装置2’は、一部の端末装置2’の所在情報を記憶しており、所在情報を記憶した端末装置2’のうち宛先の識別IDに最も近い番号の端末装置2’を選択してメッセージを送信又は転送する。なお、上述した分散保存を含む具体的な動作については、例えば、特開2008−250570号公報等に記載された公知の技術であるため、ここでは説明を省略する。
【0112】
第2実施形態のコンテンツ配信システムS’では、まず、情報処理装置1’から一部の端末装置2’にコンテンツデータが送信される。これにより、端末装置2’がP2PネットワークNを構成している場合、コンテンツ配信システムS’においてコンテンツデータの送受信が可能となる。この場合、端末装置2’間でコンテンツデータが送受信され、コンテンツホルダとなる端末装置2’が増加する。しかし、コンテンツホルダの数が少ないにも関わらず、コンテンツデータを要求する端末装置2’(以下、「リクエスタ」という)が多すぎると、リクエスタでコンテンツデータを受信できない場合がある。また、P2PネットワークNから端末装置2’の離脱が頻繁に行われる場合も同様にリクエスタでコンテンツデータを受信できない場合がある。
【0113】
そこで、第2実施形態における情報処理装置1’は、端末装置2’同士を接続してP2P形式でコンテンツデータを配信させるP2P配信モードと、情報処理装置1’と端末装置2’間でクライアント−サーバ形式でコンテンツデータを配信するC/S型配信モードとを切り替えるようにしている。
【0114】
例えば、端末装置2’の数が情報処理装置1’の配信能力を超えていない場合には、C/S型配信モードでコンテンツデータの配信を行う一方、情報処理装置1’の配信能力を超えている場合には、P2P配信モードでコンテンツデータを配信させる。また、例えば、コンテンツ配信システムS’に参加している複数の端末装置2’のうち通信速度(帯域幅)が規定値以上である端末装置2’の割合が所定以上であるか否かを判定して配信モードを変える。すなわち、通信速度が規定値以上である端末装置2’の割合が所定以上であるときには、P2P配信モードでコンテンツデータを配信させる。また、通信速度が規定値以上である端末装置2’の割合が所定以上でないときには、C/S型配信モードでコンテンツデータの配信を行うようにしてもよい。
【0115】
このように端末装置2’の数や各々の通信能力等の端末装置2’の状態に応じて、P2P型配信モードとC/S型配信モードとを切り替えるようにすることで、リクエスタの状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0116】
P2P型配信モードとC/S型配信モードとの切り替えは、端末装置2’の状態に基づき、P2P型配信モードでコンテンツデータの配信をするための条件を満たすか否かを判定することによって行われる。例えば、上述のように、端末装置2’の数が情報処理装置1’の配信能力を超えているときに、コンテンツデータの配信をするための条件を満たすと判定する。また、コンテンツ配信システムS’に参加している複数の端末装置2’のうち通信速度(帯域幅)が規定値以上である端末装置2’の割合が所定以上であるとき、コンテンツデータの配信をするための条件を満たすと判定するようにしてもよい。なお、1実施形態と同様に、P2P型配信モードとC/S型配信モードとの切り替えは、全ての端末装置2’に対して行うのではなく、一部の端末装置2’に対してのみ行うようにすることもできる。また、単に、端末装置2’の数だけで、コンテンツデータの配信をするための条件を満たすか否かを判定するようにしてもよい。
【0117】
[2.2.情報処理装置1’の具体的動作の説明]
次に、情報処理装置1’の具体的動作の一例について説明する。なお、情報処理装置1’の具体的構成は、第1実施形態の情報処理装置1と制御部11の情報処理プログラム以外は同様であり、以下においては同一符号を用いて説明し、ここでは説明を省略する。
【0118】
図10に示すように、処理が開始すると、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をC/S型配信モードに設定する(ステップS100)。
【0119】
次に、制御部11は、コンテンツ投入指示が発生したか否かを判定する(ステップS101)。この処理において、制御部11は、例えば、記憶部12に記憶したコンテンツ配信情報で規定される配信時刻になると、コンテンツ投入指示が発生したと判定する。コンテンツ投入指示が発生したと判定すると(ステップS101:Yes)、制御部11は、コンテンツ配信システムS’を構成する複数の端末装置2’のうち一部の端末装置2’に対してコンテンツデータを送信して、この一部の端末装置2’をコンテンツホルダとして機能させる(ステップS102)。このように、制御部11は、端末装置2’間でコンテンツデータを送受信させるために、複数の端末装置2’のうち1以上の端末装置2’へコンテンツデータを、ネットワーク8を介して直接送信するコンテンツ投入手段として機能する。
【0120】
ステップS102の処理が終了したとき、又は、コンテンツ投入指示が発生していないと判定したとき(ステップS101:No)、制御部11は、端末装置2’からコンテンツ配信システムS’への参加要求があったか否かを判定する(ステップS103)。この処理において端末装置2’から接続要求があったと判定すると(ステップS103:Yes)、制御部11は、接続要求を行った端末装置2’の端末装置情報を記憶部12の端末装置情報記憶領域に記憶する(ステップS104)。なお、「端末装置情報」とは、例えば、端末装置2の所在情報(例えば、IPアドレス)や通信速度の情報などの情報である。この端末装置情報は、制御部11が、後述するP2P型配信モード設定要求やC/S型配信モードの変更指示を行うときなどに用いられるものである。
【0121】
端末装置情報を記憶した後、制御部11は、P2P型配信が適用可能か否かを判定する(ステップS105)。この処理において、制御部11は、P2PネットワークNを構成して、P2P型配信によりコンテンツデータを送受信することができるか否かを判定する。P2P型配信が適用可能であると判定すると(ステップS105:Yes)、制御部11は、P2P型配信モードを設定する(ステップS106)。この処理において、制御部11は、P2P型配信モードを設定する前に設定されていた配信モードがC/S型配信モードのとき、コンテンツ配信システムS’を構成する各端末装置2’に対して、P2P型配信モードへの変更指示を行う。一方、P2P型配信が適用可能でないと判定すると(ステップS105:No)、制御部11は、C/S型配信モードを設定する(ステップS107)。この処理において、制御部11は、C/S型配信モードを設定する前に設定されていた配信モードがP2P型配信モードのとき、コンテンツ配信システムS’を構成する各端末装置2’に対して、C/S型配信モードへの変更指示を行う。
【0122】
ステップS106,107の処理が終了したとき、又は、端末装置2’からの参加要求がないとき(ステップS103:No)、端末装置2’から離脱要求があったか否かを判定する(ステップS108)。端末装置2’から離脱要求があったと判定すると(ステップS108:Yes)、制御部11は、離脱要求を行った端末装置2’の端末装置情報を記憶部12の端末装置情報記憶領域から削除する(ステップS109)。その後、制御部11は、ステップS105の処理と同様に、設定している配信モードがP2P型配信モードであるか否かを判定する(ステップS110)。このとき、P2P型配信モードが設定されていると判定すると(ステップS110:Yes)、ステップS105の処理と同様に、制御部11は、P2P型配信が適用可能か否かを判定する(ステップS111)。P2P型配信が適用可能であると判定すると(ステップS111:Yes)、制御部11は、P2P型配信モードの設定を維持する(ステップS112)。一方、P2P型配信が適用可能でないと判定すると(ステップS111:No)、制御部11は、ステップS107の処理と同様に、C/S型配信モードに設定する(ステップS113)。
【0123】
また、ステップS110において、P2P型配信モードが設定されていないと判定すると(ステップS110:No)、制御部11は、離脱要求を行った端末装置2’へのストリーム配信を停止する(ステップS114)。
【0124】
ステップS112〜S114の処理が終了したとき、又は、端末装置2’から離脱要求がないと判定したとき(ステップS108:No)、制御部11は、処理の終了指示を検知したかを判定する(ステップS115)。例えば、自情報処理装置1’の電源がOFF状態へ移行したとき、制御部11は、終了指示を検知する。制御部11は、終了指示を検知したと判定すると(ステップS115:Yes)、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS115:No)、ステップS101からの処理を繰り返す。
【0125】
このように、情報処理装置1’の制御部11は、複数の端末装置2’同士をネットワークを介して接続させて、端末装置2’間でコンテンツデータを配信させる第1処理手段、複数の端末装置2’のそれぞれとネットワークを介してクライアント−サーバ形式で接続して、各端末装置2’にコンテンツデータを配信する第2処理手段して機能する。なお、このとき、情報処理装置1’は、コンテンツデータを記憶し、各端末装置2’にコンテンツデータを配信する記憶装置として機能する。また、制御部11は、端末装置2’間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段として機能する。そして、制御部11は、判定処理手段により所定条件を満たすと判定したとき、第1処理手段による処理を実行し、判定処理手段により所定条件を満たさないと判定したとき、第2処理手段による処理を実行する。
【0126】
[2.3.端末装置2’の具体的動作の説明]
次に、端末装置2’の具体的動作の一例について説明する。なお、端末装置2’の具体的構成は、第1実施形態の端末装置2と制御部21の情報処理プログラム以外は同様であり、以下においては同一符号を用いて説明し、ここでは説明を省略する。
【0127】
図11に示すように、処理が開始すると、制御部21は、まず、各種メッセージを受信したか否かを判定する(ステップS140)。この処理において、制御部21は、コンテンツ検索メッセージ、コンテンツ登録メッセージ、コンテンツ送信要求メッセージ、コンテンツ受信要求メッセージなどのメッセージのうちいずれかを通信部31を介して受信したときに、各種メッセージを受信したと判定する。各種メッセージを受信したと判定すると(ステップS140:Yes)、制御部21は、各種メッセージ処理を行う(ステップS141)。なお、コンテンツ送信要求メッセージは宛先の端末装置2に対してコンテンツデータの送信を要求するメッセージであり、コンテンツ受信要求メッセージは宛先の端末装置2に対してコンテンツデータの受信を要求するメッセージである。各種メッセージは、宛先が自端末装置2でないときには、他の端末装置2へ転送する。このメッセージ処理は、公知の技術であり、例えば、特開2008−250570号公報等に記載された技術である。
【0128】
ステップ140において、各種メッセージを受信していないを判定したとき(ステップS140:No)、又は、ステップS141の処理が終了したとき、制御部21は、まず、P2P型配信モードへの変更指示を受信したか否かを判定する(ステップS150)。この処理において、情報処理装置1’から送信されたP2P型配信モードへの変更指示を受信したと判定すると(ステップS150:Yes)、制御部21は、動作モードをP2P型配信モードに設定する(ステップS151)。
【0129】
一方、P2P型配信モードへの変更指示を受信していないと判定すると(ステップS150:No)、制御部21は、C/S型配信モードへの変更指示を受信したか否かを判定する(ステップS152)。この処理において、C/S型配信モードへの変更指示を受信したと判定すると(ステップS152:Yes)、制御部21は、動作モードをC/S型配信モードに設定する(ステップS153)。
【0130】
ステップS151,S153の処理が終了したとき、又はC/S型配信モードへの変更指示を受信していないと判定すると(ステップS152:No)、制御部21は、コンテンツの視聴要求があったか否かを判定する(ステップS154)。この処理において、制御部21は、自端末装置2’のユーザから入力部20への操作によってコンテンツを視聴するための操作があったとき、コンテンツ視聴要求が発生したと判定する。コンテンツ視聴要求が発生したと判定すると(ステップS154:Yes)、動作モードがP2P型配信モードに設定されているか否かを判定する(ステップS155)。この処理において、動作モードがP2P型配信モードに設定されていると判定すると(ステップS155:Yes)、制御部21は、コンテンツ検索メッセージをネットワーク8を介して他の端末装置2へ送信する(ステップS156)。制御部21は、このコンテンツ検索メッセージに対して、コンテンツホルダの所在情報を取得する(ステップS157)。そして、制御部21は、このコンテンツホルダに対してネットワーク8を介してコンテンツ送信要求メッセージを送信し、コンテンツホルダからネットワーク8を介してコンテンツデータのストリームを受信する(ステップS158)。なお、制御部21は、コンテンツデータをコンテンツホルダから取得すると、ネットワーク8を介してコンテンツ登録メッセージを他の端末装置2’へ送信する。
【0131】
一方、動作モードがP2P型配信モードに設定されていないと判定すると(ステップS155:No)、制御部21は、ネットワーク8を介して情報処理装置1’に対して接続要求を行う(ステップS159)。その後、制御部21は、ネットワーク8を介して情報処理装置1’からコンテンツデータのストリームを受信する(ステップS160)。このように制御部21は、情報処理装置1’とクライアント−サーバ形式で接続して、情報処理装置1’からコンテンツデータを取得する。
【0132】
ステップS158,S160の処理が終了したとき、又は、コンテンツの視聴要求がないと判定すると(ステップS154:No)、制御部21は、処理の終了指示を検出したかを判定する(ステップS170)。例えば、自端末装置2’の電源がOFF状態へ移行したとき、制御部21は、終了指示を検知する。制御部21は、終了指示を検知したと判定すると(ステップS170:Yes)、本処理を終了し、一方、終了指示を検知していないと判定すると(ステップS170:No)、ステップS140からの処理を繰り返す。
【0133】
以上のように、本実施形態におけるコンテンツ配信システムS’では、端末装置の状態に応じて、P2P方式でのコンテンツデータの配信とクライアント−サーバ方式でのコンテンツデータの配信とを切り替えるようにしているため、端末装置の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0134】
また、端末装置として、例えば、コンテンツデータの配信を受ける機能を有するサーバやその他のノード装置も当然に適用可能である。
【0135】
また、上述では、ステップS43,S45,S52,S61,S74,S76,S78,S82,S85,S114,S158,S160等において、ストリーム配信により、各端末装置2及び端末装置2’においてコンテンツデータを受信しながら再生させる例を説明したが、これに限られない。例えば、各端末装置2及び端末装置2’においてコンテンツデータをダウンロードした後に、コンテンツデータの再生を行うことができるようにしてもよい。このとき、コンテンツデータを送信する情報処理装置1及び情報処理装置1’の制御部11、または、端末装置2及び端末装置2’の制御部21は、送信先の端末装置2及び端末装置2’に、コンテンツデータの再生後でも各端末装置の記憶部で保存及び利用可能なようにコンテンツデータを配信する。そして、コンテンツデータをダウンロードする端末装置2及び端末装置2’の制御部21は、記憶部22に受信したコンテンツデータを記憶する。その後、端末装置2及び端末装置2’の制御部21は、記憶部22に記憶したコンテンツデータをデコーダ部25により順次取り出してデコードする。デコードされたコンテンツデータのうち、映像情報は映像処理部26により表示部27で表示可能な情報に変換処理され、音声情報は音声処理部28により、スピーカ29で音波として出力可能な情報に変換処理される。再生が終了したコンテンツデータは、各端末装置2及び端末装置2’の間で送受信可能なように、各記憶部22に記憶される。
【0136】
また、上述の実施形態では、情報処理装置1及び情報処理装置1’を記憶装置として各端末装置2及び端末装置2’とクライアント−サーバ形式で接続するようにしたが、これに限られない。例えば、特定の端末装置2及び端末装置2’を記憶装置として、その他の端末装置2及び端末装置2’とクライアント−サーバ形式で接続するようにしてもよい。
【符号の説明】
【0137】
1、1’ 情報処理装置
2、2’ 端末装置
11 情報処理装置の制御部
21 端末装置の制御部
8 ネットワーク
【技術分野】
【0001】
本発明は、情報処理装置、コンテンツ配信システム、コンテンツ配信制御方法及びプログラムの技術に関する。
【背景技術】
【0002】
近年、インターネットなどのネットワーク(通信網)の普及により、ネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」という)の配信が行われている。
【0003】
コンテンツデータの配信には、例えば、VOD(ビデオオンデマンド)方式や放送(ライブ中継)方式などがある。VOD方式は、端末装置から要求がある毎にコンテンツデータを配信する方式である。放送方式は、同時刻に複数の端末装置にコンテンツデータを配信する方式である。
【0004】
現在、コンテンツデータの配信形態として、クライアント−サーバ方式によりコンテンツデータの配信を行う形態が主流である。
【0005】
しかしながら、クライアント−サーバ方式では、アクセスが集中するとサーバやネットワークが負荷に耐えられなくなるという問題がある。そこで、クライアント−サーバ方式に代わる新しい形態としてP2P(Peer to Peer)を用いた放送型の配信方式(例えば、特許文献1参照)やオンデマンド型の配信方式(例えば、特許文献2参照)が注目されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−197400号公報
【特許文献2】特開2006−33514号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
P2P方式の配信方式は、参加している一部の端末装置へサーバからコンテンツデータを送信して記憶させれば、その後は端末装置同士でコンテンツデータの送受信を行える。そのため、参加する端末装置が多ければ多いほどクライアント−サーバ方式に比べて負荷分散の効果が顕著になる。
【0008】
しかし、一方で、参加する端末装置の状態によってはP2Pの効果を発揮できず、コンテンツ配信サービスの運用に困難が生じるケースがある。
【0009】
例えば、特許文献1に記載されているツリー型トポロジーによる配信方式では、ADSL(Asymmetric Digital Subscriber Line、非対称デジタル加入者線)に接続された端末装置ばかりが参加していると、上りの帯域が狭い端末装置ばかりということになる。よって、動画などのコンテンツデータのように高い通信速度が要求される場合には、ツリー型トポロジーを構成することが難しくなる。
【0010】
また、特許文献2に記載されている配信方式でも、公開するコンテンツデータが端末装置に十分に行き渡るまでに多数の端末装置からコンテンツデータの取得要求が実行される場合がある。この場合、P2Pの機能が十分に働かず、要求したコンテンツデータを取得できない端末装置がでてしまう。
【0011】
そこで、本発明は、コンテンツ配信サービスに参加する端末装置の数や各々の通信能力に応じて、コンテンツデータを配信する方法を切り替えて、コンテンツデータの配信を可能とする情報処理装置、コンテンツ配信システム、コンテンツ配信制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
請求項1に記載の発明は、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とする情報処理装置とした。
【0013】
また、請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の割合が所定以上であるときに、前記所定条件を満たすと判定することを特徴とする。
【0014】
また、請求項3に記載の発明は、請求項1又は2に記載の情報処理装置において、前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の数が所定以上あるときに、前記所定条件を満たすと判定することを特徴とする。
【0015】
また、請求項4に記載の発明は、請求項1に記載の情報処理装置において、前記判定処理手段は、前記複数の端末装置の数が、所定数以上になったときに、前記所定条件を満たすと判定することを特徴とする。
【0016】
また、請求項5に記載の発明は、請求項1〜4のいずれか1項に記載の情報処理装置において、前記第1処理手段は、前記複数の端末装置をネットワークを介して階層構造で多層に論理接続させて、コンテンツデータを前記階層構造の上流の端末装置に供給し、当該上流の端末装置から下流の端末装置にかけて前記端末装置の中継機能によって前記コンテンツデータの配信を行い、前記第2処理手段による処理を実行した後に前記階層構造を形成するときには、前記通信速度が規定値以上である端末装置を優先的に前記階層構造の上流に接続させることを特徴とする。
【0017】
また、請求項6に記載の発明は、請求項5に記載の情報処理装置において、前記第2処理手段は、前記第1処理手段による処理を実行した後に前記複数の端末装置のそれぞれと接続するときには、前記階層構造の下流の端末装置から優先的に前記階層構造から離脱させて接続することを特徴とする。
【0018】
また、請求項7に記載の発明は、複数の端末装置と、前記複数の端末装置へコンテンツデータを配信する情報処理装置と、を備えたコンテンツ配信システムにおいて、前記端末装置は、前記コンテンツデータをネットワークを介して受信する受信処理手段と、前記受信処理手段で受信したコンテンツデータをネットワークを介して他の端末装置へ送信する送信処理手段と、を備え、前記情報処理装置は、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とするコンテンツ配信システムとした。
【0019】
また、請求項8に記載の発明は、端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、をコンピュータに実行させることを特徴とするプログラムとした。
【0020】
また、請求項9に記載の発明は、端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、を有する情報処理装置によるコンテンツ配信制御方法とした。
【発明の効果】
【0021】
本発明によれば、コンテンツ配信サービスに参加する端末装置の数や各々の通信能力等の端末装置の状態に応じて、ツリー型トポロジーでのコンテンツデータの配信とクライアント−サーバ方式でのコンテンツデータの配信とが切り替えられる。そのため、端末装置の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【図面の簡単な説明】
【0022】
【図1】本発明の第1実施形態に係るコンテンツ配信システムの各端末装置、情報処理装置の接続態様の一例を示す図である。
【図2】第1実施形態におけるコンテンツ配信システムの概要説明図である。
【図3】図1に示す情報処理装置の構成図である。
【図4】図1に示す情報処理装置のメイン処理フローチャートである。
【図5】図1に示す情報処理装置における配信処理のフローチャートである。
【図6】図1に示す情報処理装置における接続処理のフローチャートである。
【図7】図1に示す情報処理装置における離脱処理のフローチャートである。
【図8】図1に示す端末装置の構成図である。
【図9】図1に示す端末装置の処理フローチャートである。
【図10】第2実施形態における情報処理装置のメイン処理フローチャートである。
【図11】第2実施形態における端末装置のメイン処理のフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明のいくつかの実施形態を図面に基づいて説明する。なお、説明は以下の順序で行うものとする。
1.第1実施形態(放送方式のP2Pコンテンツ配信)
2.第2実施形態(オンデマンド方式のP2Pコンテンツ配信)
3.その他の例
【0024】
〔1.第1実施形態〕
〔1.1.概要〕
まず始めに、図1を参照して、第1実施形態におけるコンテンツ配信システムの概要について説明する。
【0025】
図1の下部枠51内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者の装置5、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。通信回線7として、例えば、ADSL回線や光通信回線等がある。
【0026】
本実施形態のコンテンツ配信システムSは、図1の上部枠50内に示すように、ネットワーク8に接続された情報処理装置1、複数の端末装置2a1,2a2,2b1〜2b4,2c1〜2c8を備えて構成される。なお、以下においては、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8のいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置2という場合がある。
【0027】
このコンテンツ配信システムSにおいては、図1の上部枠50内に示すように、情報処理装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8がツリー状階層構造で論理接続されてオーバーレイネットワーク9が構築される。なお、以下において、オーバーレイネットワーク9上に配置された端末装置2を、コンテンツ配信システムSに参加している端末装置2という。また、情報処理装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8には、各装置を識別する情報として、例えば、IP(Internet Protocol)アドレスが割り当てられている。各装置は、目的の接続先装置のIPアドレスを宛先IPアドレス、自装置のIPアドレスを送信元IPアドレスとしたヘッダを含むパケットを送受信することによって他の装置と通信接続が可能となっている。
【0028】
コンテンツ配信システムSは、ツリー型トポロジー形式の配信システムである。情報処理装置1を頂点として複数の端末装置2がネットワーク8を介してツリー状階層構造で多層に論理接続されるように情報処理装置1によって管理される。第1実施形態では、放送方式で各端末装置2へコンテンツデータが配信される。コンテンツデータとして、例えば、音楽や映画などの動画コンテンツのデータや文書データなどがある。
【0029】
また、情報処理装置1は、コンテンツデータを配信する機能を備えており、コンテンツデータを端末装置2a1,2a2へ送信する。端末装置2a1,2a2は上流に接続した情報処理装置1からコンテンツデータを受信すると、下流に接続した端末装置(以下、「下流装置」とも呼ぶ。)2b1〜2b4へ受信したコンテンツデータを中継する。同様に、端末装置2b1〜2b4は上流に接続した端末装置(以下、「上流装置」とも呼ぶ)2a1,2a2からコンテンツデータを受信すると、下流に接続した端末装置2c1〜2c8へ受信したコンテンツデータを送信する。
【0030】
上述のようにツリー状階層構造は、情報処理装置1によって管理されている。情報処理装置1は、コンテンツ配信システムSに参加していない端末装置2、換言すればツリー状階層構造へ接続していない端末装置2から接続先候補の問い合わせを受け付ける。接続先候補の問い合わせを受け付けた情報処理装置1は、ツリー状階層構造の状態から当該ツリー状階層構造を構成する端末装置2のうち接続先候補となる端末装置2をいくつか決定する。そして、情報処理装置1は、上記問い合わせを行った端末装置2へ決定した接続先候補を通知する。このように情報処理装置1から複数の接続先候補を受信した端末装置2は、これらの接続先候補のうち一の接続先候補を選択する。そして、接続先候補を受信した端末装置2は、接続先候補として選択した端末装置2へネットワーク8を介して接続要求を行って、接続先候補として選択した端末装置2を上流装置としてツリー状階層構造に接続して参加する。
【0031】
なお、本実施形態では、一つの端末装置2の下流に最大2つの端末装置2が接続されるものとして説明するが、これに限られない。一つの端末装置2の下流に3つ以上の端末装置2を接続することができるようにしてもよい。また、情報処理装置1は物理的に一体的に形成された装置である必要はなく、例えば、コンテンツ配信処理を行う装置とツリー状階層構造の管理処理とを行う装置とにより構成することもできる。
【0032】
ところで、各端末装置2は、通信回線に接続されて、ツリー状階層構造を構成する。従って、接続される通信回線の帯域幅によってはコンテンツデータの配信に支障を来すことがある。
【0033】
例えば、図1に示す端末装置2c1,2c3〜3c8のように、上りの帯域が狭いADSLのような通信回線に接続されていると、上流の端末装置2から順次受信したコンテンツデータを下流装置に送信することが困難となる場合がある。例えば、接続されたADSL回線が、ITU−TS(国際電気通信連合電気通信標準化部門)勧告のG.992規格に準拠して、上りの帯域が最大8Mbps、下り帯域が最大640kbpsの場合に、1Mbpsでコンテンツデータが配信されると、上流装置からの受信は問題なく行えるものの、下流装置への送信は滞ってしまうことになる。
【0034】
そこで、情報処理装置1によって、帯域が広い光通信回線に接続されて通信速度が速い端末装置2a1,2a2,2b1〜2b4をツリー状階層構造の上流側になるように配置し、上りの帯域が狭く、上りの通信速度が遅いADSLに接続された端末装置2c1,2c3〜2c7をツリー状階層構造の下流側になるように配置するようにその接続を管理するようにしている。通信速度が低い端末装置を中継能力が低い端末装置として、下位階層に配置する技術については、例えば、特開2003−169089号公報等で公知であるので、詳細な説明は省略する。
【0035】
しかし、コンテンツ配信システムSに参加している端末装置2に対してADSLに接続された端末装置2が多いような場合がある。この場合、情報処理装置1でツリー状階層構造の構成を管理したとしても、上流側にADSLに接続された端末装置2が配置されることがあり、コンテンツデータの配信に遅延が生じる場合がある。
【0036】
そこで、本実施形態のコンテンツ配信システムSにおいては、このような場合には、ツリー状階層構造を構成することなく、情報処理装置1と複数の端末装置2のそれぞれとをネットワーク8を介してクライアント−サーバ形式で接続している。そして、クライアントサーバ形式で情報処理装置1から各端末装置2にコンテンツデータが配信される。
【0037】
すなわち、ツリー状階層構造を構成してコンテンツデータの配信を行える場合には、情報処理装置1は複数の端末装置2をネットワーク8を介してツリー状階層構造で多層に論理接続させる。そして、情報処理装置1は、コンテンツデータをツリー状階層構造の上流の端末装置2に供給して、当該上流の端末装置2から下流の端末装置2にかけて端末装置2の中継機能によってコンテンツデータを配信させる。一方、ツリー状階層構造を構成してコンテンツデータの配信を行えない場合には、情報処理装置1は複数の端末装置2のそれぞれとネットワーク8を介してクライアント−サーバ形式で接続する。これにより、クライアント−サーバ形式によって各端末装置2にコンテンツデータが配信される。
【0038】
このように参加する端末装置2の状態に応じて、ツリー状階層構造によるP2P方式によるコンテンツデータの配信モード(以下、「P2P型配信モード」とする)とクライアント−サーバ方式によるコンテンツデータの配信モード(以下、「C/S型配信モード」とする)とが切り替えられる。このように切り替えられることで、参加する端末装置2の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0039】
P2P型配信モードとC/S型配信モードとは、例えば、各端末装置2の参加及び離脱のタイミング、または、コンテンツデータの配信が開始されるタイミングで切り替えられる。具体的には、端末装置2の状態に基づいて、ツリー状階層構造を形成してコンテンツデータの配信をするための条件を満たすか否かが判定される。その具体的条件は、例えば、以下の(条件1),(条件2)のいずれか又はいずれも適用することができる。
(条件1)コンテンツ配信システムSに参加している複数の端末装置2のうち通信速度(帯域幅)が規定値以上である端末装置2の割合が所定以上であること。
(条件2)コンテンツ配信システムSに参加している複数の端末装置2の数が、所定数以上であること。
【0040】
ここで、上記規定値は、コンテンツデータの配信速度よりも速い通信速度である。下りの通信速度(受信速度)はコンテンツデータを遅延なく受信することができる通信速度である。上りの通信速度(送信速度)は下流に最大数の端末装置2(ここでは2つの端末装置2)にコンテンツデータを遅延なく配信することができる通信速度である。例えば、コンテンツデータの配信速度が1Mbpsの場合、下りの通信速度は1Mbps以上で、望ましくは2Mbps以上、上りの通信速度は2Mbps以上で、望ましくは4Mbps以上である。
【0041】
また、上記条件1を適用する場合、例えば、参加している複数の端末装置2のうち通信速度が規定値以上の端末装置2が全体の60%以上であることを条件とする。第1実施形態では、通信速度が規定値以上の端末装置2が全体の50%以上あるときには、情報処理装置1により、ツリー状階層構造のうち最下流以外に通信速度が規定値以上の端末装置2を配置することができるが、システムの運用にあたっては余裕を持たせることが望ましい。従って、端末装置2の離脱等を考慮すると、規定値以上の端末装置2が全体の60%以上であることを、第1実施形態では条件としている。但し、通信速度が規定値以上の端末装置2が規定値未満の場合であっても、参加している端末装置2の数が少ない場合(例えば、端末装置2が100台以下)には、規定値以上の端末装置2が全体の70%以上とする。システムの運用にあたっては余裕を持たせることができる。例えば、端末装置2の数が1000台のときには、通信速度が規定値以上の端末装置2の割合が50%とする。このとき、通信速度が規定値未満の端末装置2が3台連続して参加してくる確率は12.5%(=0.53×100%)であり、通信速度が規定値未満の端末装置2が10台連続して参加してくる確率は約0.1%(=0.510×100%)である。このことから、通信速度が規定値以上の端末装置2が、通信速度が規定値未満の端末装置2よりも10台以上多いことを条件とすることが望ましい。通信速度が規定値未満の端末装置2が10台連続して参加してきた場合でも、参加してきた端末装置2を全て通信速度が規定値以上の端末装置2に接続できるからである。このようにすることで、P2P型配信モードとC/S型配信モードとの切り替えが頻繁に発生することを抑制することができ、コンテンツデータの配信を安定させることができる。なお、通信速度が規定値以上の端末装置2が全体の60%以上ある場合であっても、参加している端末装置2の数が少なく、小さなツリー状階層構造しか形成できないときには、P2P型配信モードとせずにC/S型配信モードとするようにしてもよい。端末装置2の離脱等を考慮した場合、サーバ−クライアント方式での配信の方が安定しているためである。
【0042】
なお、P2P型配信モードとC/S型配信モードとの切り替えは、上記条件に限定する必要はなく、運用上、種々の条件を設定することもできる。
【0043】
また、端末装置2の通信速度は、コンテンツ配信システムSへの参加時に、端末装置2が通信速度測定用サーバ(図示せず)との間で通信することによって測定される。すなわち、端末装置2はコンテンツ配信システムSへの参加時に、通信速度測定用サーバへ接続し、通信速度測定用サーバとの間で所定データ量のテストデータを送受信し、その送受信時間を検出することによって測定される。このように端末装置2で測定された情報は、情報処理装置1へ送信され、当該情報処理装置1に記憶される。これにより、情報処理装置1において、端末装置2の通信速度に基づいた上記条件の判定が可能となる。なお、テストデータの送受信時間の測定は、端末装置2で行わずに通信速度測定用サーバで行うようにしてもよい。これにより、端末装置2の処理負荷を軽減することができる。また、端末装置2が自装置の接続回線の情報を記憶している場合には、その情報を情報処理装置1へ通知し、情報処理装置1がその接続回線の情報に基づいて、端末装置2の通信速度を判定するようにしてもよい。
【0044】
また、情報処理装置1は、上述のように通信速度が速い端末装置2がツリー状階層構造の上流側になるようにその接続を管理している。C/S型配信モードからP2P型配信モードへ移行するとき、情報処理装置1は、通信速度が規定値以上である端末装置2を優先的に前記階層構造の上流に接続させる。このようにすることで、通信速度が遅い端末装置2が多い場合であってもツリー状階層構造が形成される可能性が高くなり、情報処理装置1の配信負荷も低減することが可能となる。
【0045】
一方、P2P型配信モードからC/S型配信モードへ移行するとき、情報処理装置1は、ツリー状階層構造を形成する端末装置2のうち下流の端末装置2から優先的にツリー状階層構造から離脱させて接続する。このようにすることで、ツリー状階層構造においてコンテンツデータの配信遅延の原因となる端末装置2を迅速にツリー状階層構造から離脱させることができる。また、配信モードの移行過程において、ツリー状階層構造でのコンテンツデータの配信を行いつつも、ツリー状階層構造を徐々に消滅させることができる。その結果、ツリー状階層構造でのコンテンツデータの配信を急に終わらせることに比べて、配信モードの移行をよりスムーズに行うことが可能となる。
【0046】
また、P2P型配信モードとC/S型配信モードとの切り替えは、全ての端末装置2に対して行うのではなく、一部の端末装置2に対してのみ行うようにすることもできる。
【0047】
例えば、C/S型配信モードからP2P型配信モードへの切り替えを、図2に示すように、一部の端末装置2に対してのみ行うようにすることもできる。すなわち、ツリー状階層構造を全ての端末装置2で形成するとコンテンツデータを滞りなく配信することができないとき、一部の端末装置2でツリー状階層構造を構成してコンテンツデータが配信される。一方、その残りの端末装置2に対しては引き続きクライアント−サーバ方式でコンテンツデータが配信される。このようにすることで、全ての端末装置2に対してクライアント−サーバ方式を適用するのに比べて、情報処理装置1で直接コンテンツデータを配信しなければならない端末装置2を低減することができる。
【0048】
このようにする場合、情報処理装置1は、各端末装置2の参加又は離脱のタイミングで、上記切り替え条件を満たすか否かを判定する。上記切り替えの条件を満たすときには、全ての端末装置2でツリー状階層構造を形成してコンテンツデータが配信される。一方、上記切り替え条件を満たさない場合には、ツリー状階層構造を構成することができる端末装置2でツリー状階層構造を形成し、それ以外の端末装置2とは直接接続する。
【0049】
以上のように、本実施形態にかかるコンテンツ配信システムSでは、参加する端末装置2の状態に応じて、P2P型配信モードとC/S型配信モードとが切り替えられるようにしている。そのため、参加する端末装置2の状態が変化する場合においてもコンテンツデータの配信を行うことができる。以下、情報処理装置1及び端末装置2の具体的構成及び動作の一例について説明する。
【0050】
[1.2.情報処理装置1の具体的構成及び動作の説明]
まず、情報処理装置1の具体的構成及び動作の一例について説明する。
【0051】
(情報処理装置1の構成について)
まず、情報処理装置1の具体的構成について説明する。図3は、本実施形態のコンテンツ配信システムSにおける情報処理装置1の構成を示す図である。
【0052】
情報処理装置1は、一般のサーバコンピュータを適用可能である。図3に示すように、情報処理装置1は、制御部11と、記憶部12と、通信部13と、操作部14とを備えている。制御部11と、記憶部12と、通信部13と、操作部14とは、システムバス15を介して相互に接続されている。制御部11は、情報処理装置1全体を制御する。記憶部12は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部13は、端末装置2と通信するための通信インターインターフェイスである。操作部14は、各種設定入力を行うための操作部である。
【0053】
制御部11は、CPU(Central Processing Unit)、内部メモリなどから構成される。この内部メモリには、端末装置2と間でのコンテンツデータやその他のメッセージを送受信するための情報処理プログラムが格納されている。CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、第1処理手段、第2処理手段、判定処理手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワーク8に接続された他のサーバから、通信部13を介して、制御部11の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部11の内部メモリに読み込まれるようにしてもよい。
【0054】
記憶部12は、端末装置2へ配信するコンテンツデータ及びその配信スケジュールを記憶するコンテンツ記憶領域、コンテンツ配信システムSへ参加している端末装置2の情報(以下、「端末装置情報」とする)を記憶する端末装置情報記憶領域を有している。さらに、記憶部12は、P2P型配信モードで形成されるツリー状階層構造における各端末装置2の配置情報(以下、「トポロジー情報」とする)を記憶するトポロジー情報記憶領域、その他各種設定の情報を記憶する設定情報記憶領域などを有している。なお、「端末装置情報報」とは、例えば、端末装置2の所在情報(例えば、IPアドレス)や通信速度の情報などの情報である。
【0055】
(情報処理装置1の具体的動作について)
以上のように構成された情報処理装置1の動作を図面を参照して具体的に説明する。図4は本実施形態における情報処理装置1のメイン処理フローチャートである。なお、以下の各処理は、情報処理装置1の制御部11が上述した各手段等として機能することによって実行されるものである。
【0056】
情報処理装置1においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、サーバ装置としての処理を開始する。このとき、制御部11のCPUは、内部メモリに記憶した情報処理プログラムを実行状態として、制御部11としての機能を動作状態する。
【0057】
図4に示すように、制御部11は、記憶部12のコンテンツ記憶領域に記憶した配信スケジュールの情報に基づいて、配信開始前か否か、すなわちコンテンツデータの配信開始時間に到達していないかどうかを判定する(ステップS11)。配信前である判定すると(ステップS11:Yes)、制御部11は、配信処理を実行する(ステップS12)。この配信処理は、図5に示すステップS30〜S46の処理であり、後で詳述する。
【0058】
ステップS12の処理が終了したとき、又は、配信前ではないと判定したとき(ステップS11:No)、制御部11は、端末装置2からの接続要求が発生したか否かを判定する(ステップS13)。この処理において、制御部11は、通信部13を介して端末装置2から接続要求メッセージを受信したときに、端末装置2からの接続要求が発生したと判定する。
【0059】
端末装置2からの接続要求が発生したと判定すると(ステップS13:Yes)、制御部11は、登録した端末装置2(以下、「登録端末装置2」とする)からの再接続要求か否かを判定する(ステップS14)。この処理において、制御部11は、この接続要求を行った端末装置2の情報が記憶部12の端末情報記憶領域に記憶されているときに、登録端末装置2からの再接続要求であると判定する。
【0060】
ステップS14において、登録端末装置2からの再接続要求ではないと判定すると(ステップS14:No)、制御部11は、端末装置情報を記憶部12の端末情報記憶領域に記憶して登録する(ステップS15)。この端末装置情報は、再接続要求を行った端末装置の識別情報、所在情報(例えば、IPアドレス)、通信速度の情報などを含む情報である。
【0061】
ステップS15の処理が終了したとき、又は、登録した端末装置からの再接続要求であると判定したとき(ステップS14:Yes)、制御部11は、接続処理を行う(ステップS16)。この接続処理は、図6に示すステップS50〜S56の処理であり、後で詳述する。
【0062】
ステップS16の処理が終了したとき、又は、端末装置2からの接続要求が発生していないと判定したとき(ステップS13:No)、制御部11は、登録端末装置2からの離脱要求が発生したか否かを判定する(ステップS17)。この処理において、制御部11は、登録端末装置2から離脱要求メッセージが送信されたときに、離脱要求が発生したと判定する。
【0063】
登録端末装置2からの離脱要求が発生したと判定すると(ステップS17:Yes)、制御部11は、端末装置情報を記憶部12の端末装置情報記憶領域から削除し(ステップS18)、離脱処理を行う(ステップS19)。この離脱処理は、図7に示すステップS60〜S67の処理であり、後で詳述する。
【0064】
ステップS19の処理が終了したとき、又は、登録端末装置2からの離脱要求が発生していないと判定したとき(ステップS17:No)、制御部11は、サーバ処理の終了指示を検出したかを判定する(ステップS20)。例えば、自情報処理装置1の電源がOFF状態へ移行したとき、制御部11は、終了指示を検知する。制御部11は、終了指示を検知したと判定すると(ステップS20:Yes)、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS20:No)、ステップS11からの処理を繰り返す。
【0065】
次に、ステップS12で実行される配信処理について図5のフローチャートを参照して具体的に説明する。図5は情報処理装置1における配信処理のフローチャートである。この配信処理は、コンテンツデータの配信開始前から配信開始時までの処理である。
【0066】
図5に示すように、配信処理を開始すると、制御部11は、登録端末装置2からの接続要求メッセージが送信されて、接続要求があるか否かを判定する(ステップS31)。この処理において、接続要求があったと判定すると(ステップS31:Yes)、制御部11は、端末装置2から送信される接続要求メッセージに含まれる当該端末装置2の端末装置情報を記憶部12の端末装置情報記憶領域に記憶して登録する(ステップS32)。
【0067】
一方、接続要求がないと判定すると(ステップS31:No)、制御部11は、ステップS17と同様に、登録端末装置2から離脱要求メッセージが送信され、離脱要求があるか否かを判定する(ステップS34)。登録端末装置2からの離脱要求があると判定すると(ステップS34:Yes)、制御部11は、離脱要求メッセージを送信した端末装置2の端末装置情報を記憶部12の端末装置情報記憶領域から削除する(ステップS35)。
【0068】
ステップS32,S35の処理が終了したとき、又は、登録端末装置2からの離脱要求がないと判定したとき(ステップS34:No)、制御部11は、コンテンツデータの配信開始時間に到達しているか否かを判定する(ステップS37)。このとき、コンテンツデータの配信開始時間に到達していないと判定すると(ステップS37:No)、制御部11は、処理をステップS31に戻す。一方、コンテンツデータの配信開始時間に到達していると判定すると(ステップS37:Yes)、制御部11は、登録端末装置2があるか否かを判定する(ステップS38)。この処理において、制御部11は、記憶部12の端末装置情報記憶領域に端末装置情報を記憶した端末装置2があるときに、登録端末装置2があると判定する。
【0069】
登録端末装置2があるとき(ステップS38:Yes)、制御部11は、通信速度が規定値以上の端末装置2(以下、「高速端末装置2」ともいう)の数及び割合が閾値以上であるか否かを判定する(ステップS39)。この処理において、制御部11は、コンテンツ配信システムSに参加している端末装置2の数に対して、高速端末装置2の数が規定値以上あり、高速端末装置2の数の割合も規定値以上あるときに、高速端末装置2の数及び割合が閾値以上であると判定する。例えば、端末装置2の数が1000台のときには、高速端末装置2の数が、それ以外の端末装置2の数よりも10台以上多く、かつ高速端末装置2が全体の60%以上であるときに、高速端末装置2の数及び割合が閾値以上であると判定する。このように、制御部11は、ツリー状階層構造の形成を行うための条件を満たすか否かを判定する判定処理手段として機能する。
【0070】
高速端末装置2の数及び割合が閾値以上あると判定すると(ステップS39:Yes)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をP2P型配信モードに設定し(ステップS40)、登録端末装置2によりツリー状階層構造を形成するための情報であるトポロジー情報を作成する(ステップS41)。このトポロジー情報は、各登録端末装置2がツリー状階層構造のどの位置に配置されるのかを示す情報であり、高速端末装置2が上流側に配置されるように生成される。
【0071】
その後、制御部11は、トポロジー情報に基づき、全ての登録端末装置2に対して、それぞれの接続位置の情報を通知する(ステップS42)。このとき、制御部11は、登録端末装置2へ接続位置の情報を通知して、上流側から順にツリー状階層構造を形成させる。
【0072】
全ての登録端末装置2によりツリー状階層構造が形成されると、制御部11は、ツリー状階層構造の最上流に配置された登録端末装置2にコンテンツデータのストリーム配信を開始して(ステップS43)、配信処理を終了する。ツリー状階層構造の最上流に配置された登録端末装置2とは、例えば、図1に示す例では、端末装置2a1,2a2である。このように、制御部11は、複数の端末装置2同士をネットワークを介して接続させて、端末装置2間でコンテンツデータを配信させる第1処理手段として機能する。特に、制御部11は、第1処理手段として、複数の端末装置2をネットワーク8を介してツリー状階層構造で多層に論理接続させて、コンテンツデータをツリー状階層構造の上流の端末装置2に供給し、当該上流の端末装置2から下流の端末装置2にかけて端末装置2の中継機能によってコンテンツデータを配信させるようにしている。
【0073】
ステップS39において、高速端末装置2の数及び割合が閾値以上ではないと判定すると(ステップS39:No)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をC/S型配信モードに設定する(ステップS44)。その後、制御部11は、登録端末装置2のそれぞれとネットワーク8を介してクライアント-サーバ形式で接続を行って、各端末装置2へ通信部13を介してコンテンツデータのストリーム配信を開始し(ステップS45)、配信処理を終了する。このように、制御部11は、複数の端末装置2のそれぞれとネットワーク8を介してクライアント−サーバ形式で接続して、端末装置2にコンテンツデータを配信する第2処理手段として機能する。なお、このとき、情報処理装置1は、コンテンツデータを記憶し、各端末装置2にコンテンツデータを配信する記憶装置として機能する。
【0074】
また、ステップS38において、端末装置情報を記憶した端末装置2がないとき(ステップS38:No)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をC/S型配信モードに設定して(ステップS46)、配信処理を終了する。
【0075】
次に、ステップS16で実行される接続処理について図6のフローチャートを参照して具体的に説明する。図6は情報処理装置1における接続処理のフローチャートである。この接続処理は、配信開始後に端末装置2から接続要求が発生したときの処理である。
【0076】
図6に示すように、接続処理を開始すると、制御部11は、記憶部12の設定情報記憶領域に設定された配信モードの情報に基づき、現在の配信モードがC/S型配信モードであるか否かを判定する(ステップS50)。現在の配信モードがC/S型配信モードであると判定すると(ステップS50:Yes)、制御部11は、ステップS39の処理と同様に、高速端末装置2の数及び割合が閾値未満あるか否かを判定する(ステップS51)。このように、制御部11は、ツリー状階層構造の形成を行うための条件を満たすか否かを判定する判定処理手段として機能する。
【0077】
高速端末装置2の数及び割合が閾値未満であるとき(ステップS51:Yes)、制御部11は、接続要求を行った端末装置2とネットワーク8を介してクライアント-サーバ形式で接続を行う。その後、制御部11は、接続要求を行った端末装置2に対しても通信部13を介してコンテンツデータのストリーム配信を行い(ステップS52)、接続処理を終了する。このとき、接続要求を行った端末装置2へ送信するコンテンツデータは、他の端末装置2へ送信中のコンテンツデータである。従って、接続要求を行った端末装置2では、放送されているコンテンツを途中から視聴することになる。
【0078】
高速端末装置2の数及び割合が閾値未満ではないとき(ステップS51:No)、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をP2P型配信モードに設定する(ステップS53)。その後、制御部11は、ステップS41と同様に、トポロジー情報を作成する。そして、制御部11は、情報処理装置1に接続している端末装置2(以下、「接続端末装置2」という)の中で、ツリー状階層構造の最上流となる端末装置2以外の端末装置2にP2P型配信モードへの変更を高速端末装置2から順に指示する。さらに。制御部11は、再接続の要求を行った端末装置2に接続先候補を通知して(ステップS54)、接続処理を終了する。これにより、これらの端末装置2によってツリー状階層構造が形成されて、コンテンツデータが配信される。なお、制御部11は、トポロジー情報を作成する際に、高速端末装置2の中から、ツリー状階層構造の最上流となる端末装置2を選択する。そして、制御部11は、ツリー状階層構造の最上流となる端末装置2には、接続先候補の通知を行わずに接続を維持して、コンテンツデータの配信を継続する。これにより、情報処理装置1は、コンテンツデータの配信処理を停止せずに済み、しかも最上流となる端末装置2には接続先候補を通知する必要がないため、処理負荷を軽減することができる。ただし、ツリー状階層構造の最上流となる端末装置2に対しても、P2P型配信モードへの変更を指示するようにしてもよい。このように、制御部11は、複数の端末装置2をネットワーク8を介してツリー状階層構造で多層に論理接続させて、コンテンツデータをツリー状階層構造の上流の端末装置2に供給し、当該上流の端末装置2から下流の端末装置2にかけて端末装置2の中継機能によってコンテンツデータを配信させる第1処理手段として機能する。なお、情報処理装置1が配信するコンテンツデータには、再生時刻の情報が含まれており、現時刻よりも少し先の再生時刻(例えば、現時刻の10秒後)のコンテンツデータを端末装置2へ配信する。端末装置2は情報処理装置1から配信されるコンテンツデータを後述するバッファメモリ24に記憶し、現時刻と一致する再生時刻のコンテンツデータを再生する。従って、端末装置2は、C/S型配信モードからP2P型配信モードへ移行するまでの間は、バッファメモリ24に記憶しているコンテンツデータを再生することができ、再生は中断しない。
【0079】
ステップS50において、現在の配信モードがC/S型配信モードではないと判定すると(ステップS50:No)、制御部11は、記憶部12のトポロジー情報記憶領域にトポロジー情報に基づいて、接続先候補の端末装置2をいくつか選択し、当該選択した接続先候補の情報を通信部13を介して、再接続の要求を行った端末装置2へ通知する(ステップS55)。その後、制御部11は、このステップS55の処理に応じてトポロジー情報を変更し、記憶部12のトポロジー情報記憶領域に記憶するトポロジー情報を更新して(ステップS56)、接続処理を終了する。なお、再接続の要求を行った端末装置2は、再接続を行ったときにどの端末装置2に接続したかの情報を情報処理装置1へ通知するようにしている。制御部11は、このように通知される情報に基づいてトポロジー情報を更新する。
【0080】
次に、ステップS19で実行される離脱処理について図7のフローチャートを参照して具体的に説明する。図7は情報処理装置1における離脱処理のフローチャートである。この接続処理は、配信開始後に端末装置2から離脱要求が発生したときの処理である。
【0081】
図7に示すように、離脱処理を開始すると、制御部11は、記憶部12の設定情報記憶領域に設定された配信モードの情報に基づき、現在の配信モードがC/S型配信モードであるか否かを判定する(ステップS60)。
【0082】
現在の配信モードがC/S型配信モードであると判定すると(ステップS60:Yes)、制御部11は、離脱要求を行った端末装置2へのコンテンツデータのストリーム配信を停止し、さらにこの端末装置2との接続を切断して(ステップS61)、離脱処理を終了する。
【0083】
一方、現在の配信モードがC/S型配信モードではないと判定すると(ステップS60:No)、制御部11は、ステップS39の処理と同様に、高速端末装置2の数及び割合が閾値未満あるか否かを判定する(ステップS62)。
【0084】
高速端末装置2の数及び割合が閾値未満であるとき(ステップS62:Yes)、制御部11は、ツリー状階層構造を構成する端末装置2のうち離脱要求を行った端末装置2を除いた全ての端末装置2へC/S型配信モードの変更を指示する。このとき、制御部11は、記憶部12のトポロジー情報記憶領域に記憶したトポロジー情報に基づいて、その配信モードの変更指示をツリー状階層構造の最下流となる端末装置2から上流となる端末装置2にかけて順次行うようにしている(ステップS63)。その後、制御部11は、記憶部12の設定情報記憶領域に設定される配信モードを、C/S型配信モードに設定して(ステップS64)、離脱処理を終了する。
【0085】
ステップS62において、高速端末装置2の数及び割合が閾値未満ではないとき(ステップS62:No)、制御部11は、記憶部12に記憶したトポロジー情報に基づいて、離脱要求を行った端末装置2の下流に他の端末装置2が接続しているか否かを判定する(ステップS65)。この処理において、例えば、図1に示す端末装置2b4が離脱要求を行った端末装置2である場合、制御部11は、端末装置2b4の下流に端末装置2c7,2c8が接続されていると判定する。一方、図1に示す端末装置2c6が離脱要求を行った端末装置2である場合、制御部11は、端末装置2c6の下流に端末装置2が接続されていないと判定する。
【0086】
離脱要求を行った端末装置2の下流に他の端末装置2が接続していると判定すると(ステップS65:Yes)、制御部11は、記憶部12に記憶したトポロジー情報に基づいて、接続先候補の端末装置2の情報を通知する(ステップS66)。この処理において、制御部11は、離脱要求を行った端末装置2の下流に接続してある端末装置2に対して、ツリー状階層構造を構成する端末装置2のうち離脱要求を行った端末装置2及びその下流の端末装置2を除いた端末装置2から接続先候補の端末装置2をいくつか選択する。その後、制御部11は、当該選択した接続先候補の情報を通信部13を介して、再接続の要求を行った端末装置2へ通知する。このステップS66の処理が終了したとき、又は、離脱要求を行った端末装置2の下流に他の端末装置2が接続していないと判定したとき(ステップS65:No)、制御部11は、離脱要求を行った端末装置2の情報を記憶部12に記憶したトポロジー情報から削除する等してトポロジー情報を変更して(ステップS67)、離脱処理を終了する。
【0087】
[1.3.端末装置2の具体的構成及び動作の説明]
以下、図面を参照して、上述した端末装置2の具体的構成及び動作の一例について説明する。
【0088】
(端末装置2の構成について)
まず、端末装置2の構成について説明する。図8は、端末装置2の具体的構成を示す図である。
【0089】
端末装置2は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図8に示すように、制御部21、記憶部22、バッファメモリ24、デコーダ部25、映像処理部26、表示部27、音声処理部28、スピーカ29、入力部30、通信部31を備えている。なお、制御部21、記憶部22、バッファメモリ24、デコーダ部25、通信部31は、システムバス40を介して相互に接続されている。
【0090】
制御部21は、CPU(Central Processing Unit)、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、受信処理手段、送信処理手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワーク8に接続されたサーバ(例えば、情報処理装置1)から、通信部31を介して、制御部21の内部メモリにダウンロードされるようにしてもよい。また、例えば、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部21の内部メモリに読み込まれるようにしてもよい。
【0091】
バッファメモリ24は、ネットワーク8を介して取得したコンテンツデータを一時的に記憶するメモリであり、このバッファメモリ24に記憶したコンテンツデータをデコーダ部25により順次取り出してデコードする。デコードされたコンテンツデータのうち、映像情報は映像処理部26により表示部27で表示可能な情報に変換処理され、音声情報は音声処理部28により、スピーカ29で音波として出力可能な情報に変換処理される。
【0092】
(端末装置2の動作について)
以上のように構成された端末装置2の動作を図面を参照して具体的に説明する。図9は端末装置2のメイン処理フローチャートである。なお、以下の各処理は、端末装置2の制御部21が上述した各手段等として機能することによって実行されるものである。
【0093】
端末装置2においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、制御部21のCPUは内部メモリに記憶した情報処理プログラムを実行状態として、制御部21としての機能を動作状態にして、処理を開始する。
【0094】
処理を開始すると、制御部21は、コンテンツ視聴要求が発生したか否かを判定する(ステップS70)。この処理において、制御部21は、自端末装置2のユーザから入力部20への操作によってコンテンツを視聴するための操作があったとき、コンテンツ視聴要求が発生したと判定する。
【0095】
制御部21は、コンテンツ視聴要求が発生するのを待ち(ステップS70:No)、コンテンツ視聴要求が発生したと判定すると(ステップS70:Yes)、ネットワーク8を介して図示しない通信速度測定用サーバに接続し、所定データ量のテストデータを通信速度測定用サーバと送受信して、自端末装置2の送信速度及び受信速度を通信速度として測定する(ステップS71)。
【0096】
次に、制御部21は、情報処理装置1に対して接続要求を行う(ステップS72)。この処理において、制御部21は、自端末装置2の識別情報、所在情報、通信速度の情報などを含む接続要求メッセージを情報処理装置1へ送信して、接続要求を行う。
【0097】
その後、制御部21は、接続要求に対して情報処理装置1から配信モードの情報としてC/S型配信モードの情報を受信したか否かを判定する(ステップS73)。
【0098】
C/S型配信モードの情報を受信したと判定すると(ステップS73:Yes)、制御部21は、情報処理装置1と接続を行い、情報処理装置1からストリーム配信されるコンテンツデータを通信部31を介して受信する。ネットワーク8を介して受信したコンテンツデータはバッファメモリ24に一時的に記憶され、デコーダ部25によってデコードされて、表示部27やスピーカ29により再生が開始される(ステップS74)。
【0099】
一方、C/S型配信モードの情報を受信していないと判定したとき、すなわち、P2P型配信モードの情報を受信したと判定したとき(ステップS73:No)、制御部21は、配信モードの情報と共に送られる情報に基づいて最初の接続端末装置2であるか否かを判定する(ステップS75)。最初の接続端末装置2であると判定すると(ステップS75:Yes)、制御部21は、ステップS74と同様に、情報処理装置1と接続し、情報処理装置1からストリーム配信されるコンテンツデータを通信部31を介して順次取得して再生する(ステップS76)。
【0100】
ステップS75において、最初の接続端末装置2ではないと判定すると(ステップS75:No)、制御部21は、情報処理装置1から通知された接続先候補である他の端末装置2に対して接続要求を行う(ステップS77)。情報処理装置1から通知された複数の接続先候補のうちいずれかの接続先候補に接続して、このように接続した接続先候補である他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得して再生する(ステップS78)。
【0101】
ステップS74,S76,S78の処理が終了すると、制御部21は、情報処理装置1からP2P型配信モードへの変更指示を受信したか否かを判定する(ステップS79)。この処理において、制御部21は、動作モードがC/S型配信モードのときに、情報処理装置1からP2P型配信モードの情報を受信したときに、P2P型配信モードへの変更指示を受信したと判定する。P2P型配信モードへの変更指示を受信したと判定すると(ステップS79:Yes)、制御部21は、情報処理装置1に対して再接続要求を行う(ステップS80)。この処理において、制御部21は、自端末装置2の識別情報を含む再接続要求メッセージを通信部31を介して情報処理装置1へ送信することによって、再接続要求を行う。
【0102】
再接続要求に応じて情報処理装置1から接続先候補の情報が通知されると、制御部21は、通知された接続先候補である他の端末装置2に対して接続要求を行う(ステップS81)。その後、制御部21は、このように接続した接続先候補である他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得して再生する(ステップS82)。
【0103】
ステップS79において、P2P型配信モードへの変更指示を受信していないと判定すると(ステップS79:No)、制御部21は、情報処理装置1からC/S型配信モードへの変更指示を受信したか否かを判定する(ステップS83)。この処理において、制御部21は、動作モードがP2P型配信モードのときに、情報処理装置1からC/S型配信モードの情報を受信したときに、C/S型配信モードへの変更指示を受信したと判定する。C/S型配信モードへの変更指示を受信したと判定すると(ステップS83:Yes)、制御部21は、情報処理装置1に対して再接続要求を行い(ステップS84)、その後、情報処理装置1からストリーム配信されるコンテンツデータを通信部31を介して順次取得し、再生する(ステップS85)。
【0104】
ステップS82,S85の処理が終了したとき、又は、C/S型配信モードへの変更指示を受信していないと判定したとき(ステップS83:No)、制御部21は、その他の処理を実行する(ステップS86)。
【0105】
ステップS86において、例えば、ユーザから入力部20への操作によってコンテンツの視聴を終了するための操作があったとき、制御部21は、離脱要求メッセージを情報処理装置1へ送信することによって、情報処理装置1へコンテンツ視聴の終了を通知する。また、ツリー状階層構造において自端末装置の上流側に接続した端末装置2(以下、「上流端末装置2」とする)が突然にコンテンツ配信システムSから離脱したとき、制御部21は、自端末装置2の固有識別情報を含む再接続要求メッセージを通信部31を介して情報処理装置1へ送信することによって、再接続要求を行う。制御部11は、この再接続要求に応じて情報処理装置1から通知される接続先候補の他の端末装置2に接続し、この他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得し、再生する。また、上流端末装置2の離脱予定の情報を情報処理装置1又は上流端末装置2から受信すると、制御部21は、自端末装置2の固有識別情報を含む再接続要求メッセージを通信部31を介して情報処理装置1へ送信することによって、再接続要求を行う。制御部11は、この再接続要求に応じて情報処理装置1から通知される接続先候補の他の端末装置2に接続し、この他の端末装置2からストリーム配信されるコンテンツデータを通信部31を介して順次取得し、再生する。また、他の端末装置2から接続要求があると、制御部21は、接続要求を行った他の端末装置2を自端末装置2の下流の端末装置2として接続し、コンテンツデータのストリームを送信する。
【0106】
ステップS86の処理が終了したとき、制御部21は、端末処理の終了指示を検知したかを判定する(ステップS87)。例えば、自端末装置2の電源がOFF状態へ移行したとき、制御部21は、終了指示を検知する。終了指示を検知したと判定すると(ステップS87:Yes)、制御部21は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS87:No)、制御部21は、ステップS79からの処理を繰り返す。
【0107】
以上のように、第1実施形態におけるコンテンツ配信システムSでは、端末装置2の状態に応じて、ツリー型トポロジーでのコンテンツデータの配信とクライアント−サーバ方式でのコンテンツデータの配信とを切り替えるようにしている。従って、端末装置2の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0108】
なお、上述の実施形態では、通信速度として、受信速度(下りの帯域幅)と送信速度(上りの帯域幅)について規定値を満たすときに高速端末装置として判定したが、これに限られない。例えば、ADSLに接続された端末装置2と光通信回線に接続された端末装置2としかないような場合には、送信速度のみを測定し、この送信速度が規定値を満たすときに高速端末装置として判定してもよい。
【0109】
〔2.第2実施形態〕
〔2.1.概要〕
まず始めに、第2実施形態におけるコンテンツ配信システムの概要について説明する。
【0110】
第2実施形態におけるコンテンツ配信システム(以下、「コンテンツ配信システムS’」という)は、視聴要求に応じてコンテンツデータを配信するオンデマンド方式のP2P型のコンテンツ配信システムである。このコンテンツ配信システムS’は、情報処理装置(以下、「情報処理装置1’」という)と複数の端末装置(以下、「端末装置2’」という)とを有している。また、複数の端末装置2’は互いにコンテンツデータを送受信するオーバーレイネットワークであるP2Pネットワーク(以下、「P2PネットワークN」という)を構成可能としている。複数の端末装置2’には、複数のコンテンツデータが分散保存される。
【0111】
このシステムS’では、各端末装置2’とコンテンツデータにそれぞれ固有の識別IDが割り当てられている。固有の識別IDとして端末装置2’には端末IDが割り当てられる。また、固有の識別IDとしてコンテンツデータにはコンテンツIDが割り当てられる。端末装置2’がP2PネットワークNを構成している場合、この識別IDに基づいて、端末装置2’間でデータの送受信が行われる。本実施形態においては、各識別IDはnビットの数字で規定される。また、コンテンツIDを超えず、このコンテンツIDに最も近い端末IDを有する端末装置2’(以下、「ルートノード」と呼ぶ。)がそのコンテンツIDに対応するインデックステーブルを記憶している。このインデックステーブルは、コンテンツIDに対応するコンテンツデータを保持するコンテンツホルダの所在情報とコンテンツIDとを関連づけたテーブルである。なお、コンテンツホルダの所在情報は、例えば、コンテンツホルダのIPアドレスである。各端末装置2’はコンテンツデータを取得すると、コンテンツホルダとなり、ルートノード宛に自装置の所在情報などを含む登録メッセージをルートノードに送信する。また、各端末装置2’は、一部の端末装置2’の所在情報を記憶しており、所在情報を記憶した端末装置2’のうち宛先の識別IDに最も近い番号の端末装置2’を選択してメッセージを送信又は転送する。なお、上述した分散保存を含む具体的な動作については、例えば、特開2008−250570号公報等に記載された公知の技術であるため、ここでは説明を省略する。
【0112】
第2実施形態のコンテンツ配信システムS’では、まず、情報処理装置1’から一部の端末装置2’にコンテンツデータが送信される。これにより、端末装置2’がP2PネットワークNを構成している場合、コンテンツ配信システムS’においてコンテンツデータの送受信が可能となる。この場合、端末装置2’間でコンテンツデータが送受信され、コンテンツホルダとなる端末装置2’が増加する。しかし、コンテンツホルダの数が少ないにも関わらず、コンテンツデータを要求する端末装置2’(以下、「リクエスタ」という)が多すぎると、リクエスタでコンテンツデータを受信できない場合がある。また、P2PネットワークNから端末装置2’の離脱が頻繁に行われる場合も同様にリクエスタでコンテンツデータを受信できない場合がある。
【0113】
そこで、第2実施形態における情報処理装置1’は、端末装置2’同士を接続してP2P形式でコンテンツデータを配信させるP2P配信モードと、情報処理装置1’と端末装置2’間でクライアント−サーバ形式でコンテンツデータを配信するC/S型配信モードとを切り替えるようにしている。
【0114】
例えば、端末装置2’の数が情報処理装置1’の配信能力を超えていない場合には、C/S型配信モードでコンテンツデータの配信を行う一方、情報処理装置1’の配信能力を超えている場合には、P2P配信モードでコンテンツデータを配信させる。また、例えば、コンテンツ配信システムS’に参加している複数の端末装置2’のうち通信速度(帯域幅)が規定値以上である端末装置2’の割合が所定以上であるか否かを判定して配信モードを変える。すなわち、通信速度が規定値以上である端末装置2’の割合が所定以上であるときには、P2P配信モードでコンテンツデータを配信させる。また、通信速度が規定値以上である端末装置2’の割合が所定以上でないときには、C/S型配信モードでコンテンツデータの配信を行うようにしてもよい。
【0115】
このように端末装置2’の数や各々の通信能力等の端末装置2’の状態に応じて、P2P型配信モードとC/S型配信モードとを切り替えるようにすることで、リクエスタの状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0116】
P2P型配信モードとC/S型配信モードとの切り替えは、端末装置2’の状態に基づき、P2P型配信モードでコンテンツデータの配信をするための条件を満たすか否かを判定することによって行われる。例えば、上述のように、端末装置2’の数が情報処理装置1’の配信能力を超えているときに、コンテンツデータの配信をするための条件を満たすと判定する。また、コンテンツ配信システムS’に参加している複数の端末装置2’のうち通信速度(帯域幅)が規定値以上である端末装置2’の割合が所定以上であるとき、コンテンツデータの配信をするための条件を満たすと判定するようにしてもよい。なお、1実施形態と同様に、P2P型配信モードとC/S型配信モードとの切り替えは、全ての端末装置2’に対して行うのではなく、一部の端末装置2’に対してのみ行うようにすることもできる。また、単に、端末装置2’の数だけで、コンテンツデータの配信をするための条件を満たすか否かを判定するようにしてもよい。
【0117】
[2.2.情報処理装置1’の具体的動作の説明]
次に、情報処理装置1’の具体的動作の一例について説明する。なお、情報処理装置1’の具体的構成は、第1実施形態の情報処理装置1と制御部11の情報処理プログラム以外は同様であり、以下においては同一符号を用いて説明し、ここでは説明を省略する。
【0118】
図10に示すように、処理が開始すると、制御部11は、記憶部12の設定情報記憶領域における設定配信モードの情報をC/S型配信モードに設定する(ステップS100)。
【0119】
次に、制御部11は、コンテンツ投入指示が発生したか否かを判定する(ステップS101)。この処理において、制御部11は、例えば、記憶部12に記憶したコンテンツ配信情報で規定される配信時刻になると、コンテンツ投入指示が発生したと判定する。コンテンツ投入指示が発生したと判定すると(ステップS101:Yes)、制御部11は、コンテンツ配信システムS’を構成する複数の端末装置2’のうち一部の端末装置2’に対してコンテンツデータを送信して、この一部の端末装置2’をコンテンツホルダとして機能させる(ステップS102)。このように、制御部11は、端末装置2’間でコンテンツデータを送受信させるために、複数の端末装置2’のうち1以上の端末装置2’へコンテンツデータを、ネットワーク8を介して直接送信するコンテンツ投入手段として機能する。
【0120】
ステップS102の処理が終了したとき、又は、コンテンツ投入指示が発生していないと判定したとき(ステップS101:No)、制御部11は、端末装置2’からコンテンツ配信システムS’への参加要求があったか否かを判定する(ステップS103)。この処理において端末装置2’から接続要求があったと判定すると(ステップS103:Yes)、制御部11は、接続要求を行った端末装置2’の端末装置情報を記憶部12の端末装置情報記憶領域に記憶する(ステップS104)。なお、「端末装置情報」とは、例えば、端末装置2の所在情報(例えば、IPアドレス)や通信速度の情報などの情報である。この端末装置情報は、制御部11が、後述するP2P型配信モード設定要求やC/S型配信モードの変更指示を行うときなどに用いられるものである。
【0121】
端末装置情報を記憶した後、制御部11は、P2P型配信が適用可能か否かを判定する(ステップS105)。この処理において、制御部11は、P2PネットワークNを構成して、P2P型配信によりコンテンツデータを送受信することができるか否かを判定する。P2P型配信が適用可能であると判定すると(ステップS105:Yes)、制御部11は、P2P型配信モードを設定する(ステップS106)。この処理において、制御部11は、P2P型配信モードを設定する前に設定されていた配信モードがC/S型配信モードのとき、コンテンツ配信システムS’を構成する各端末装置2’に対して、P2P型配信モードへの変更指示を行う。一方、P2P型配信が適用可能でないと判定すると(ステップS105:No)、制御部11は、C/S型配信モードを設定する(ステップS107)。この処理において、制御部11は、C/S型配信モードを設定する前に設定されていた配信モードがP2P型配信モードのとき、コンテンツ配信システムS’を構成する各端末装置2’に対して、C/S型配信モードへの変更指示を行う。
【0122】
ステップS106,107の処理が終了したとき、又は、端末装置2’からの参加要求がないとき(ステップS103:No)、端末装置2’から離脱要求があったか否かを判定する(ステップS108)。端末装置2’から離脱要求があったと判定すると(ステップS108:Yes)、制御部11は、離脱要求を行った端末装置2’の端末装置情報を記憶部12の端末装置情報記憶領域から削除する(ステップS109)。その後、制御部11は、ステップS105の処理と同様に、設定している配信モードがP2P型配信モードであるか否かを判定する(ステップS110)。このとき、P2P型配信モードが設定されていると判定すると(ステップS110:Yes)、ステップS105の処理と同様に、制御部11は、P2P型配信が適用可能か否かを判定する(ステップS111)。P2P型配信が適用可能であると判定すると(ステップS111:Yes)、制御部11は、P2P型配信モードの設定を維持する(ステップS112)。一方、P2P型配信が適用可能でないと判定すると(ステップS111:No)、制御部11は、ステップS107の処理と同様に、C/S型配信モードに設定する(ステップS113)。
【0123】
また、ステップS110において、P2P型配信モードが設定されていないと判定すると(ステップS110:No)、制御部11は、離脱要求を行った端末装置2’へのストリーム配信を停止する(ステップS114)。
【0124】
ステップS112〜S114の処理が終了したとき、又は、端末装置2’から離脱要求がないと判定したとき(ステップS108:No)、制御部11は、処理の終了指示を検知したかを判定する(ステップS115)。例えば、自情報処理装置1’の電源がOFF状態へ移行したとき、制御部11は、終了指示を検知する。制御部11は、終了指示を検知したと判定すると(ステップS115:Yes)、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS115:No)、ステップS101からの処理を繰り返す。
【0125】
このように、情報処理装置1’の制御部11は、複数の端末装置2’同士をネットワークを介して接続させて、端末装置2’間でコンテンツデータを配信させる第1処理手段、複数の端末装置2’のそれぞれとネットワークを介してクライアント−サーバ形式で接続して、各端末装置2’にコンテンツデータを配信する第2処理手段して機能する。なお、このとき、情報処理装置1’は、コンテンツデータを記憶し、各端末装置2’にコンテンツデータを配信する記憶装置として機能する。また、制御部11は、端末装置2’間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段として機能する。そして、制御部11は、判定処理手段により所定条件を満たすと判定したとき、第1処理手段による処理を実行し、判定処理手段により所定条件を満たさないと判定したとき、第2処理手段による処理を実行する。
【0126】
[2.3.端末装置2’の具体的動作の説明]
次に、端末装置2’の具体的動作の一例について説明する。なお、端末装置2’の具体的構成は、第1実施形態の端末装置2と制御部21の情報処理プログラム以外は同様であり、以下においては同一符号を用いて説明し、ここでは説明を省略する。
【0127】
図11に示すように、処理が開始すると、制御部21は、まず、各種メッセージを受信したか否かを判定する(ステップS140)。この処理において、制御部21は、コンテンツ検索メッセージ、コンテンツ登録メッセージ、コンテンツ送信要求メッセージ、コンテンツ受信要求メッセージなどのメッセージのうちいずれかを通信部31を介して受信したときに、各種メッセージを受信したと判定する。各種メッセージを受信したと判定すると(ステップS140:Yes)、制御部21は、各種メッセージ処理を行う(ステップS141)。なお、コンテンツ送信要求メッセージは宛先の端末装置2に対してコンテンツデータの送信を要求するメッセージであり、コンテンツ受信要求メッセージは宛先の端末装置2に対してコンテンツデータの受信を要求するメッセージである。各種メッセージは、宛先が自端末装置2でないときには、他の端末装置2へ転送する。このメッセージ処理は、公知の技術であり、例えば、特開2008−250570号公報等に記載された技術である。
【0128】
ステップ140において、各種メッセージを受信していないを判定したとき(ステップS140:No)、又は、ステップS141の処理が終了したとき、制御部21は、まず、P2P型配信モードへの変更指示を受信したか否かを判定する(ステップS150)。この処理において、情報処理装置1’から送信されたP2P型配信モードへの変更指示を受信したと判定すると(ステップS150:Yes)、制御部21は、動作モードをP2P型配信モードに設定する(ステップS151)。
【0129】
一方、P2P型配信モードへの変更指示を受信していないと判定すると(ステップS150:No)、制御部21は、C/S型配信モードへの変更指示を受信したか否かを判定する(ステップS152)。この処理において、C/S型配信モードへの変更指示を受信したと判定すると(ステップS152:Yes)、制御部21は、動作モードをC/S型配信モードに設定する(ステップS153)。
【0130】
ステップS151,S153の処理が終了したとき、又はC/S型配信モードへの変更指示を受信していないと判定すると(ステップS152:No)、制御部21は、コンテンツの視聴要求があったか否かを判定する(ステップS154)。この処理において、制御部21は、自端末装置2’のユーザから入力部20への操作によってコンテンツを視聴するための操作があったとき、コンテンツ視聴要求が発生したと判定する。コンテンツ視聴要求が発生したと判定すると(ステップS154:Yes)、動作モードがP2P型配信モードに設定されているか否かを判定する(ステップS155)。この処理において、動作モードがP2P型配信モードに設定されていると判定すると(ステップS155:Yes)、制御部21は、コンテンツ検索メッセージをネットワーク8を介して他の端末装置2へ送信する(ステップS156)。制御部21は、このコンテンツ検索メッセージに対して、コンテンツホルダの所在情報を取得する(ステップS157)。そして、制御部21は、このコンテンツホルダに対してネットワーク8を介してコンテンツ送信要求メッセージを送信し、コンテンツホルダからネットワーク8を介してコンテンツデータのストリームを受信する(ステップS158)。なお、制御部21は、コンテンツデータをコンテンツホルダから取得すると、ネットワーク8を介してコンテンツ登録メッセージを他の端末装置2’へ送信する。
【0131】
一方、動作モードがP2P型配信モードに設定されていないと判定すると(ステップS155:No)、制御部21は、ネットワーク8を介して情報処理装置1’に対して接続要求を行う(ステップS159)。その後、制御部21は、ネットワーク8を介して情報処理装置1’からコンテンツデータのストリームを受信する(ステップS160)。このように制御部21は、情報処理装置1’とクライアント−サーバ形式で接続して、情報処理装置1’からコンテンツデータを取得する。
【0132】
ステップS158,S160の処理が終了したとき、又は、コンテンツの視聴要求がないと判定すると(ステップS154:No)、制御部21は、処理の終了指示を検出したかを判定する(ステップS170)。例えば、自端末装置2’の電源がOFF状態へ移行したとき、制御部21は、終了指示を検知する。制御部21は、終了指示を検知したと判定すると(ステップS170:Yes)、本処理を終了し、一方、終了指示を検知していないと判定すると(ステップS170:No)、ステップS140からの処理を繰り返す。
【0133】
以上のように、本実施形態におけるコンテンツ配信システムS’では、端末装置の状態に応じて、P2P方式でのコンテンツデータの配信とクライアント−サーバ方式でのコンテンツデータの配信とを切り替えるようにしているため、端末装置の状態が変化する場合においてもコンテンツデータの配信を行うことができる。
【0134】
また、端末装置として、例えば、コンテンツデータの配信を受ける機能を有するサーバやその他のノード装置も当然に適用可能である。
【0135】
また、上述では、ステップS43,S45,S52,S61,S74,S76,S78,S82,S85,S114,S158,S160等において、ストリーム配信により、各端末装置2及び端末装置2’においてコンテンツデータを受信しながら再生させる例を説明したが、これに限られない。例えば、各端末装置2及び端末装置2’においてコンテンツデータをダウンロードした後に、コンテンツデータの再生を行うことができるようにしてもよい。このとき、コンテンツデータを送信する情報処理装置1及び情報処理装置1’の制御部11、または、端末装置2及び端末装置2’の制御部21は、送信先の端末装置2及び端末装置2’に、コンテンツデータの再生後でも各端末装置の記憶部で保存及び利用可能なようにコンテンツデータを配信する。そして、コンテンツデータをダウンロードする端末装置2及び端末装置2’の制御部21は、記憶部22に受信したコンテンツデータを記憶する。その後、端末装置2及び端末装置2’の制御部21は、記憶部22に記憶したコンテンツデータをデコーダ部25により順次取り出してデコードする。デコードされたコンテンツデータのうち、映像情報は映像処理部26により表示部27で表示可能な情報に変換処理され、音声情報は音声処理部28により、スピーカ29で音波として出力可能な情報に変換処理される。再生が終了したコンテンツデータは、各端末装置2及び端末装置2’の間で送受信可能なように、各記憶部22に記憶される。
【0136】
また、上述の実施形態では、情報処理装置1及び情報処理装置1’を記憶装置として各端末装置2及び端末装置2’とクライアント−サーバ形式で接続するようにしたが、これに限られない。例えば、特定の端末装置2及び端末装置2’を記憶装置として、その他の端末装置2及び端末装置2’とクライアント−サーバ形式で接続するようにしてもよい。
【符号の説明】
【0137】
1、1’ 情報処理装置
2、2’ 端末装置
11 情報処理装置の制御部
21 端末装置の制御部
8 ネットワーク
【特許請求の範囲】
【請求項1】
複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、
前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、
前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、
前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とする情報処理装置。
【請求項2】
前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の割合が所定以上であるときに、前記所定条件を満たすと判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の数が所定以上あるときに、前記所定条件を満たすと判定することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記判定処理手段は、前記複数の端末装置の数が、所定数以上になったときに、前記所定条件を満たすと判定することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記第1処理手段は、前記複数の端末装置をネットワークを介して階層構造で多層に論理接続させて、コンテンツデータを前記階層構造の上流の端末装置に供給し、当該上流の端末装置から下流の端末装置にかけて前記端末装置の中継機能によって前記コンテンツデータの配信を行い、前記第2処理手段による処理を実行した後に前記階層構造を形成するときには、前記通信速度が規定値以上である端末装置を優先的に前記階層構造の上流に接続させることを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2処理手段は、前記第1処理手段による処理を実行した後に前記複数の端末装置のそれぞれと接続するときには、前記階層構造の下流の端末装置から優先的に前記階層構造から離脱させて接続することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
複数の端末装置と、前記複数の端末装置へコンテンツデータを配信する情報処理装置と、を備えたコンテンツ配信システムにおいて、
前記端末装置は、
前記コンテンツデータをネットワークを介して受信する受信処理手段と、
前記受信処理手段で受信したコンテンツデータをネットワークを介して他の端末装置へ送信する送信処理手段と、を備え、
前記情報処理装置は、
複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、
前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、
前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、
前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とするコンテンツ配信システム。
【請求項8】
端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、
前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、
前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、をコンピュータに実行させることを特徴とするプログラム。
【請求項9】
端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、
前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、
前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、を有する情報処理装置によるコンテンツ配信制御方法。
【請求項1】
複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、
前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、
前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、
前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とする情報処理装置。
【請求項2】
前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の割合が所定以上であるときに、前記所定条件を満たすと判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定処理手段は、前記複数の端末装置のうち通信速度が規定値以上である端末装置の数が所定以上あるときに、前記所定条件を満たすと判定することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記判定処理手段は、前記複数の端末装置の数が、所定数以上になったときに、前記所定条件を満たすと判定することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記第1処理手段は、前記複数の端末装置をネットワークを介して階層構造で多層に論理接続させて、コンテンツデータを前記階層構造の上流の端末装置に供給し、当該上流の端末装置から下流の端末装置にかけて前記端末装置の中継機能によって前記コンテンツデータの配信を行い、前記第2処理手段による処理を実行した後に前記階層構造を形成するときには、前記通信速度が規定値以上である端末装置を優先的に前記階層構造の上流に接続させることを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2処理手段は、前記第1処理手段による処理を実行した後に前記複数の端末装置のそれぞれと接続するときには、前記階層構造の下流の端末装置から優先的に前記階層構造から離脱させて接続することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
複数の端末装置と、前記複数の端末装置へコンテンツデータを配信する情報処理装置と、を備えたコンテンツ配信システムにおいて、
前記端末装置は、
前記コンテンツデータをネットワークを介して受信する受信処理手段と、
前記受信処理手段で受信したコンテンツデータをネットワークを介して他の端末装置へ送信する送信処理手段と、を備え、
前記情報処理装置は、
複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させる第1処理手段と、
前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させる第2処理手段と、
前記端末装置間で前記コンテンツデータの配信を行うための所定条件を満たすか否かを判定する判定処理手段と、を備え、
前記判定処理手段により前記所定条件を満たすと判定したとき、前記第1処理手段による処理を実行し、前記判定処理手段により前記所定条件を満たさないと判定したとき、前記第2処理手段による処理を実行することを特徴とするコンテンツ配信システム。
【請求項8】
端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、
前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、
前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、をコンピュータに実行させることを特徴とするプログラム。
【請求項9】
端末装置間でコンテンツデータの配信を行うための所定条件を満たすか否かを判定するステップと、
前記所定条件を満たすと判定すると、複数の端末装置同士をネットワークを介して接続させて、コンテンツデータを前記端末装置間で送受信させるステップと、
前記所定条件を満たさないと判定すると、前記コンテンツデータを記憶した記憶装置を前記複数の端末装置のそれぞれと前記ネットワークを介してクライアント−サーバ形式で接続して、各前記端末装置に前記コンテンツデータを配信させるステップと、を有する情報処理装置によるコンテンツ配信制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−8709(P2011−8709A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−154082(P2009−154082)
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]