コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
【課題】ザッピング対策のために視聴しているチャンネル以外のチャンネルに接続したときであっても、端末装置2における他の通信への影響を抑えることができるコンテンツ配信システム及び方法等を提供すること。
【解決手段】コンテンツ配信システムは、コンテンツ配信装置1から端末装置2にコンテンツデータを放送形態にてストリーミング配信する第1配信形態と、複数の端末装置2間において、コンテンツデータを送受信する第2配信形態とを有している。端末装置2のユーザが第1配信形態によりコンテンツ配信装置1から放送されるコンテンツデータを視聴する際に視聴用チャンネルのほかザッピング対策チャンネルにも接続する。この状態で、第2配信形態で端末装置2がコンテンツデータのダウンロードを行うとき、或いは、他の端末装置2へアップロードを行うときに、第2配信形態で用いるリソースの使用状態に応じて、ザッピング対策チャンネルを切断する。
【解決手段】コンテンツ配信システムは、コンテンツ配信装置1から端末装置2にコンテンツデータを放送形態にてストリーミング配信する第1配信形態と、複数の端末装置2間において、コンテンツデータを送受信する第2配信形態とを有している。端末装置2のユーザが第1配信形態によりコンテンツ配信装置1から放送されるコンテンツデータを視聴する際に視聴用チャンネルのほかザッピング対策チャンネルにも接続する。この状態で、第2配信形態で端末装置2がコンテンツデータのダウンロードを行うとき、或いは、他の端末装置2へアップロードを行うときに、第2配信形態で用いるリソースの使用状態に応じて、ザッピング対策チャンネルを切断する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツデータ配信の技術に関する。詳細には、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置が階層構造で多層に論理接続され、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流に中継され、複数の端末装置によってコンテンツデータを再生可能としたコンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラムに関する。
【背景技術】
【0002】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」と呼ぶ。)のストリーミング配信を行うコンテンツ配信サービスが開始されてきている。ここで、ストリーミング配信とは、クライアント端末装置(以下、単に「端末装置」と呼ぶ。)がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
【0003】
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であったが、近年、端末装置間でのコンテンツデータの中継、すなわちP2P通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツ配信システムが提案されている(例えば、特許文献1参照)。
【0004】
このコンテンツ配信システムは、コンテンツ配信装置を頂点としたツリー状階層構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
【0005】
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層(第1階層)に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第2階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下層に位置する端末装置へ配信するまで行うものである。
【0006】
ところで、このコンテンツ配信システムにおいて、複数の放送チャンネル(以下、単に「チャンネル」とも呼ぶ。)によりコンテンツデータをストリーミング配信する場合、コンテンツ配信装置を頂点としたツリー状階層構造は、チャンネル毎に構成されることになる。
【0007】
従って、端末装置のユーザが、視聴しているチャンネルとは異なるチャンネルのコンテンツデータを視聴するためにチャンネルを切替える操作を行った場合、視聴しているチャンネルに対応するツリー状階層構造とは異なるツリー状階層構造に参加することになる。
【0008】
しかしながら、端末装置のユーザが視聴するチャンネルを切替えたとき、切替先のチャンネルのツリー状階層構造に参加するためには多くの時間を要する。
【0009】
すなわち、ユーザがチャンネルを切替える操作を行った場合、端末装置は、接続管理装置に対して新たな階層構造における接続先となる他の端末装置を紹介してもらう処理や、NAT(Network Address Translation)を越える処理を行う必要があり、これらの処理が終了するまで新たな階層構造に参加することができず、ユーザがチャンネルを切替える操作を行っても、即座に接続先を切替えることができないのである。
【0010】
このようなユーザによるチャンネル切替え(以下、「ザッピング」とも呼ぶ)の問題に対処する方法として、コンテンツデータに他のチャンネルに関する要約データ(対策用のコンテンツデータ)を重畳して配信しておくことにより、ユーザによるチャンネル切替操作から端末装置が新たな他の端末装置に接続するまでの時間を短縮させる情報閲覧方法を用いたコンテンツ配信システムが提案されている(たとえば、特許文献2参照。)。
【特許文献1】特開2006−033514号公報
【特許文献2】特開2003−324711号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、視聴しているチャンネルのコンテンツデータとザッピング対策用の他のチャンネルのコンテンツデータとを端末装置において同時に受信することになるため、端末装置においてネットワークを介して他の装置との通信を行う場合には、当該他の装置との通信に利用するリソースを十分に確保することができない恐れがある。
【0012】
すなわち、ツリー状階層構造を有するコンテンツ配信システムに参加すると、視聴していないコンテンツデータまでも受信することになり、端末装置のCPUの処理能力、メモリの容量、或いはネットワークとの通信の帯域などのリソースに不足が生じ、結果的に端末装置におけるコンテンツデータの送受信処理を十分に行うことができなくなる恐れがある。
【0013】
本発明は、以上の不都合に鑑みてなされたものであり、視聴していないチャンネルのコンテンツデータをザッピング対策のために受信するようにした場合であっても、端末装置における他の通信への影響を抑えることができるコンテンツ配信システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記課題を解決するために、請求項1に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムであって、前記コンテンツ配信装置は、前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、前記接続管理装置は、前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段とを備えることを特徴とする。
【0015】
また、請求項2に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段とを備えることを特徴とする。
【0016】
また、請求項3に記載の発明は、請求項2に記載の発明において、前記端末装置は、前記第2配信形態に用いるリソースの使用量を検出するリソース使用量検出手段と、前記リソース使用量検出手段による検出結果に基づいて、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定するリソース不足判定手段と、前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していると判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断することを特徴とする。
【0017】
また、請求項4に記載の発明は、請求項1から3のいずれか1項に記載の発明において、前記リソース不足判定手段は、前記リソースが不足しているときに、前記リソースの不足量を判定し、前記切断処理手段は、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数あるときに、これらのチャンネルのうち、前記リソースの不足量に応じた数のチャンネルに関する接続先装置との接続を切断することを特徴とする。
【0018】
また、請求項5に記載の発明は、請求項4に記載の発明において、前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していないと判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先装置との接続の切断を行わないことを特徴とする。
【0019】
また、請求項6に記載の発明は、請求項3又は請求項4に記載の発明において、前記端末装置は、前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記第2配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記接続状態にあるチャンネルの前記接続先候補との接続を前記切断処理手段によって切断せず、前記第2配信形態によって前記コンテンツデータのダウンロードを行わないことを特徴とする。
【0020】
また、請求項7に記載の発明は、請求項2から6のいずれか1項に記載の発明において、前記リソースは、前記端末装置におけるCPUの処理能力、メモリの容量及び前記ネットワークとの通信帯域のうちの少なくともいずれか一つであることを特徴とする。
【0021】
また、請求項8に記載の発明は、請求項2から7のいずれか1項に記載の発明において、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードが完了すると、前記切断処理手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続処理手段を備えたことを特徴とする。
【0022】
また、請求項9に記載の発明は、コンピュータを、請求項2〜8のいずれか1項に記載の端末装置における各手段として機能させるためのプログラムとした。
【0023】
また、請求項10に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続先紹介要求毎に、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、前記接続管理装置が、前記接続先紹介要求毎に、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加するステップと、前記端末装置が、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断するステップとを有することを特徴とする。
【発明の効果】
【0024】
請求項1,2,9,10に記載の発明によれば、第1配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後、グリッド型接続などの第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第2配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退するようにしているので、端末装置のリソースを効率的に使用することができ、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0025】
また、請求項3に記載の発明によれば、第2配信形態に用いるリソースの使用量を検出し、その検出結果に基づいて、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足していると判定されたとき、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、従来であれば第2配信形態に用いるリソースが不足するようなときであっても、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0026】
また、請求項4に記載の発明によれば、第2配信形態に用いるリソースが不足しているときに、その不足量に応じた数のザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、ザッピング対策チャンネルの階層構造からの脱退を必要最小限で行うことができ、効率的に第1配信形態と第2配信形態との両立を図ることができる。
【0027】
また、請求項5に記載の発明によれば、第2配信形態に用いるリソースの使用量を検出し、その検出結果に基づいて、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足していないと判定されたとき、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、第2配信形態に用いるリソースが不足しないようなときには、ザッピング対策チャンネルの階層構造は保持されたままであり、再接続の煩雑さを回避することができる。
【0028】
また、請求項6に記載の発明によれば、購入するコンテンツデータがすでにコンテンツデータ記憶手段に蓄積されているときには、コンテンツデータ記憶手段に記憶されたコンテンツデータを使用する。従って、新たに第2配信形態でコンテンツデータを取得するのに比べダウンロード処理を短縮することができる。たとえば、端末装置がコンテンツ保持端末装置であった場合、コンテンツ保持端末装置に対応するコンテンツデータをダウンロードする場合には、自端末装置に記憶しているコンテンツデータを用いることができる。
【0029】
また、請求項7に記載の発明によれば、リソースは 、端末装置におけるCPUの処理能力、メモリの容量及びネットワークとの通信の帯域のうちの少なくともいずれか一つであり、これらは第1配信形態と第2配信形態とで共通に用いるものであり、CPU、メモリ及び通信帯域の使用率に応じてザッピング対策チャンネルからの脱退処理を行うことにより、第2配信形態でのダウンロードやアップロードの阻害要因を低減することができる。
【0030】
また、請求項8に記載の発明によれば、第2配信形態でのダウンロード処理やアップロード処理が終了したら、第2配信形態でのダウンロード処理やアップロード処理を行うために脱退したザッピング対策チャンネルの階層構造に自動的に再接続(再参加)するので、第2配信形態でのダウンロード処理やアップロード処理を行う前の状態に自動的に戻り、ザッピング対策を行うことができる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとしたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【0032】
[1.コンテンツ配信システムの構成等]
図1は、本実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。図1に示す物理接続形態のように、コンテンツ配信システムSを構成するコンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8、接続管理装置3、コンテンツ投入装置4、コンタクト先紹介装置5は、インターネットに代表されるネットワーク6上に分散配置されている。なお、コンテンツ配信システムSに直接関係ない装置もネットワーク6に接続されるが、ここでは省略している。また、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8のいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置2という場合がある。
【0033】
コンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8、接続管理装置3、コンテンツ投入装置4、コンタクト先紹介装置5には、各装置を識別する情報としての固有の製造番号(たとえば、MACアドレス)及びIP(Internet Protocol)アドレス(所在情報)が割り当てられており、これら装置は、ネットワークの一例としてのネットワーク6にルータ10等を介して接続されている。すなわち、目的の接続先装置のIPアドレスを宛先IPアドレス、自装置のIPアドレスを送信元IPアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
【0034】
図1に示す例では、コンテンツ配信装置1、接続管理装置3、コンテンツ投入装置4、コンタクト先紹介装置5は、それぞれ独立した装置としているが、一つの装置においてこれらの装置の機能を実現するようにしてもよい。この場合にはこれらの装置のIPアドレスは同一のものとなり、ポート番号などで区別されることになる。
【0035】
本実施形態におけるコンテンツ配信システムは、複数の放送チャンネル(以下、単に「チャンネル」と呼ぶ。)でそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置1を頂点として複数の端末装置2がネットワーク上にチャンネル毎に階層構造で多層に論理接続されるように接続管理装置3によって管理され、コンテンツ配信装置1から送信されるコンテンツデータがチャンネル毎に階層構造の上流の端末装置2から下流の端末装置2にかけて順次端末装置2の中継機能によってストリーミング配信される第1配信形態と、複数の端末装置2間において、一つの端末装置2からのコンテンツデータのダウンロード要求に基づいてコンテンツデータを保持する他の端末装置2がコンテンツデータを配信する第2配信形態とを有している。なお、コンテンツ配信装置1は、複数のチャンネルのコンテンツデータを配信する機能を有することとして以下説明するが、コンテンツ配信装置1をチャンネル毎に設けてもよい。
【0036】
そして、端末装置2のユーザが第1配信形態によりコンテンツ配信装置1からのコンテンツデータを視聴するときには、当該端末装置2は、視聴対象のチャンネル(以下、「視聴用チャンネル」と呼ぶ。ここでは、チャンネルch1〜chNのN個のチャンネルがあるものとする。)の階層構造に参加するとともに、視聴用チャンネル以外のチャンネルであって、視聴用チャンネルと所定の関係を有するチャンネル(以下、「ザッピング対策チャンネル」と呼ぶ。)の階層構造にも参加するようにしている。
【0037】
従って、端末装置2のユーザによる視聴用チャンネルの切替え操作(以下、「ザッピング」と呼ぶ。)が行なわれた場合に、ザッピング対策チャンネルによって、ユーザによるチャンネル切替操作から新たなチャンネルのコンテンツデータを視聴できるまでの時間を短縮させることができる。なお、本実施形態においては、説明の便宜上ザッピング対策チャンネルを2つのチャンネル(第1ザッピング対策チャンネルB及び第2ザッピング対策チャンネルC)とする。
【0038】
図2には、端末装置2Xが第1配信形態における視聴用チャンネルであるチャンネルAの階層構造に加えて、第1ザッピング対策チャンネルBの階層構造及び第2ザッピング対策チャンネルCの階層構造に参加している状態を模式的に示している。ここで、チャンネルの階層構造に参加するとは、チャンネルの階層構造を構成する端末装置(接続先装置)に接続することを意味し、チャンネルに接続という場合がある。
【0039】
このように端末装置2Xが視聴用チャンネルA、第1ザッピング対策チャンネルB及び第2ザッピング対策チャンネルCに接続している状態で、端末装置2Xのユーザが第2配信形態によってコンテンツデータを取得するための操作を行うと、端末装置2Xは、所定の条件下、ザッピング対策チャンネルとの接続を切断し、第2ザッピング対策チャンネルの階層構造から脱退する。図3に示す例では、2つのザッピング対策チャンネルの階層構造のうち、第2ザッピング対策チャンネルCの階層構造のみからの脱退が行われているが、脱退するザッピング対策チャンネルの数は、後述で詳説するように、第2配信形態に用いる端末装置2Xのリソースの使用状態に応じて変動させている。ここで、チャンネルの階層構造から脱退するとは、チャンネルの階層構造を構成する接続先装置との接続を切断することを意味する。
【0040】
その後、端末装置2Xは、図4に示すように、コンテンツ検索メッセージを送信して、ルート端末装置2Zからコンテンツ保持端末装置2Yの所在情報を取得する。その後、端末装置2Xは、コンテンツ保持端末装置2Yに対してコンテンツデータの送信要求を行い、第2配信形態によってコンテンツデータを取得する。
【0041】
第2配信形態によるコンテンツデータ受信が完了すると、端末装置2Xは、第2配信形態によってコンテンツデータを取得する際に脱退した第2ザッピング対策チャンネルCの階層構造に再接続することによって脱退したザッピング対策チャンネルの階層構造に再参加する。
【0042】
また、端末装置Xは、第2配信形態において配信するコンテンツデータを保持しており、かつ視聴用チャンネルA、第1ザッピング対策チャンネルB及び第2ザッピング対策チャンネルCに接続している状態で、第2配信形態に参加している他の端末装置2から保持しているコンテンツデータのダウンロード要求があると、所定の条件下、ザッピング対策チャンネルに関する接続先装置との接続を切断し、ザッピング対策チャンネルの階層構造から脱退して、その他の端末装置に対してコンテンツデータをアップロードする。第2配信形態によるコンテンツデータのアップロードが完了すると、端末装置2Xは、第2配信形態によってコンテンツデータをアップロードする際に脱退したザッピング対策チャンネルに再接続することによって脱退したザッピング対策チャンネルの階層構造に再参加する。
【0043】
以上のように、本実施形態におけるコンテンツ配信システムSでは、端末装置2のユーザが、第1配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、端末装置2において、視聴用チャンネルと一定の関係を有するザッピング対策チャンネルの階層構造に参加し、その後、第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第2配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理又はアップロード処理が終了したら脱退したザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、ザッピング対策を施しつつ、端末装置のリソースを効率的に使用して、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0044】
以下、本実施形態におけるコンテンツ配信システムSについて、更に具体的に図面を参照して説明する。
【0045】
[1.1.第1配信形態について]
コンテンツ配信システムSの第1配信形態は、図1に示すように、コンテンツ配信装置1を頂点として複数の端末装置2a1,2a2,2b1〜2b4,2c1〜2c8がツリー状階層構造で多層に論理接続されており、コンテンツ配信装置1からコンテンツデータが当該ツリー状階層構造の上流の端末装置2から下流の端末装置2かけて順次端末装置2の中継機能によってストリーミング配信されるように構成される。このツリー状階層構造は、コンテンツ配信装置1が配信するチャンネル毎に構成される。
【0046】
このコンテンツ配信システムSの第1配信形態においては、チャンネル毎にコンテンツ配信装置1を頂点(ここでは、便宜上第0階層とする。)として複数の端末装置2がツリー状階層構造で多層に論理接続されるように接続管理装置3によって管理される。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置2がチェーン状の階層構造で多層に論理接続されるようにしてもよい。また、端末装置2a1,2a2は便宜上端末装置2aと、端末装置2b1〜2b4は便宜上端末装置2bと、端末装置2c1〜2c8は便宜上端末装置2cという場合がある。
【0047】
ここで、第1配信形態におけるコンテンツデータの配信動作について、図5を参照して簡単に説明する。図5はコンテンツ配信システムSにおける第1配信形態の配信動作説明図である。
【0048】
接続管理装置3は、チャンネル毎にツリー状階層構造を構成する端末装置2の接続状態情報を記憶する接続状態情報記憶手段としての記憶部と、ネットワーク6を介して端末装置2から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択手段と、この接続先候補選択手段によって選択された接続先候補の情報を、接続先紹介要求を送信した端末装置2へネットワーク6を介して通知する通知手段と有している。なお、接続先候補とは、接続先紹介要求を送信した端末装置がチャンネルの階層構造に参加する際に、階層構造の上流の装置として接続する装置の候補を意味し、ここでは、コンテンツ配信装置1又は端末装置2を指す。
【0049】
そして、接続管理装置3は、図5に示すように、コンテンツ配信システムSにおける第1配信形態に参加していない端末装置2、言い換えればチャンネルのいずれのツリー状階層構造も構成していない端末装置2から接続先紹介要求を受信すると、第1配信形態のツリー状階層構造の状態等に基づいて、その端末装置2がストリーミング配信を受けるための上流の装置として接続する接続先候補を選択する。そして、接続管理装置3は、このように選択した接続先候補の所在情報(接続先候補のIPアドレスやポート番号など)及び通信プロトコル等を端末装置2に通知する。また、接続先紹介要求は、例えば、端末装置2がチャンネルに接続するとき、他のチャンネルに切り替えるとき、或いは上流装置との接続が切断されたときに端末装置2から送信される。なお、コンテンツ配信システムSにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置2へのポート番号及び通信プロトコルは通知しなくてもよい。
【0050】
端末装置2は、接続管理装置3から接続先候補の所在情報を受信すると、その所在情報を宛先として接続先候補に対し、コンテンツ配信システムSへの参加(接続)を要求し、これにより端末装置2がコンテンツ配信システムSの第1配信形態における階層構造へ組み込まれる。すなわち、端末装置2はコンテンツ配信装置1から配信されるコンテンツデータを直接又は他の端末装置2を介して受信可能となる。
【0051】
コンテンツ配信システムSにおける第1配信形態は、このように端末装置2が次々と各チャンネルに参加することによって、コンテンツ配信装置1を頂点として複数の端末装置2がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置1から配信されるコンテンツデータは、端末装置2の中継機能により順次下流の端末装置2へ中継されて複数の端末装置2にストリーミング配信される。
【0052】
すなわち、コンテンツ配信装置1には、ネットワーク6を介してチャンネル毎にコンテンツデータをストリーミング配信する配信手段が設けられており、図5に示すように、コンテンツ配信装置1から端末装置2a1,2a2(第1層の端末装置)へコンテンツデータが送信され、端末装置2a1,2a2はコンテンツデータを受信すると、下流の端末装置2b1〜2b4(第2階層の端末装置)へ受信したコンテンツデータを順次中継する。端末装置2b1〜2b4はコンテンツデータを受信すると、下流の端末装置2c1〜2c8(第3階層の端末装置)へ受信したコンテンツデータを順次中継する。なお、図5においては、理解を容易にするため、複数のチャンネルのうち一つのチャンネルの階層構造のみを表している。
【0053】
端末装置2は、組み込まれた階層構造の位置の上流の端末装置2又はコンテンツ配信装置1の所在情報と、組み込まれた階層構造の位置の下流の端末装置2の所在情報とを後述のハードディスク装置203に記憶しており、このように記憶した所在情報に基づいて、コンテンツデータの受信及び中継を行うようにしている。また、配信されるコンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このようにパケットに分割されて配信されるデータをコンテンツパケットという。
【0054】
このように端末装置2へ配信されるコンテンツデータは、チャンネル毎にその階層構造を構成する端末装置2へ配信される。配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻情報が含まれている。そして、コンテンツデータを受信した複数の端末装置2は、順次送信されるコンテンツデータの再生を再生時刻情報に基づいて行う。
【0055】
ここで、端末装置2におけるリングバッファ領域について説明する。図6は、端末装置2におけるリングバッファ領域を用いてコンテンツデータを受信し、再生或いは下流の端末装置2へ中継する構成を概念的に表した図である。このリングバッファ領域は、参加したチャンネル毎に設けられるものであり、視聴用チャンネルAのためのリングバッファ領域のほか、ザッピング対策チャンネルのためのリングバッファ領域も設けられることになる。
【0056】
端末装置2は、第1配信形態に参加したときに、参加したチャンネルにおける階層構造の上流の装置からストリーミング配信されるコンテンツパケットをストリーミング受信器によって順次受信し、受信したコンテンツパケットに含まれるコンテンツデータをリングバッファ領域に一時的に蓄積する。リングバッファ領域に一時的に蓄積されたコンテンツデータは、その再生時刻になると、端末装置2の再生手段であるプレイヤによってリングバッファ領域から取り出されて再生される。
【0057】
ここで、図6に示すように、リングバッファ領域には時計回りの方向で新しいコンテンツデータが順次蓄積され、最も古いコンテンツデータが新しいコンテンツデータに書き換わるように構成されている。すなわち、ストリーミング受信器によってリングバッファ領域に書き込まれるポイントをAとすると、このポイントAが時計回りに移動していくのである。
【0058】
なお、図6におけるリングバッファ領域は概念的に示したものであり、実際にリング形状をしているのではなく、端末装置2の制御手段が、記憶領域における所定アドレス領域に蓄積した最も古いコンテンツデータを順次新しいコンテンツデータに書き換えることにより実現するものである。
【0059】
また、コンテンツデータには上述のように再生時刻情報が格納されており、プレイヤはリングバッファ領域に蓄積したコンテンツデータのうち、現時刻と合致する再生時刻情報を有するコンテンツデータ(ここでは、図6中Bのポイントのコンテンツデータ)をリングバッファ領域から取り出して順次再生する。なお、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されない。
【0060】
このように端末装置2は、コンテンツデータを一時的に蓄積するリングバッファ領域を設けることによって、コンテンツパケットをプリバッファリングしながらパケット損失に対する補完を行い、ネットワーク6の経路上で発生するパケット損失の影響を回避するようにしている。
【0061】
以上のように、コンテンツ配信システムSの第1配信形態では、コンテンツ配信装置1から送信されたコンテンツデータが複数の端末装置2にストリーミング配信され、複数の端末装置2において同時刻にコンテンツを再生することができる。すなわち、コンテンツ配信システムSは、P2Pを用いて複数の端末装置2への放送形式のストリーミング配信を実現している。
【0062】
[1.2.第2配信形態について]
次に、図7を参照して、コンテンツ配信システムSにおける第2配信形態の概要構成等について説明する。図7は、本実施形態に係るコンテンツ配信システムSにおける第2配信形態を示す図である。この第2配信形態は、P2Pグリッド型配信システムであり、本実施形態においては、分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用することによりネットワーク上に分散配置された複数の端末装置2間でコンテンツデータの送受信を行う配信形態を例に挙げて説明する。
【0063】
[1.2.1 DHTの概要]
まず、本実施形態に係るDHTを利用したアルゴリズムについて説明する。
【0064】
コンテンツ配信システムSの第2配信形態において、当該端末装置2同士が、互いに情報をやり取りする際には、お互いの所在情報としてのIPアドレスを知っていなければならない。
【0065】
例えば、複数の端末装置間でコンテンツを互いに共有するシステムにおいては、ネットワーク6に参加している各端末装置2が互いにネットワーク6に参加している全ての端末装置2のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全ての端末装置2のIPアドレスを覚えておくのは現実的ではない。また、任意の端末装置2の電源が頻繁にON或いはOFFとすると、各端末装置2において記憶している当該任意の端末装置2のIPアドレスの更新が頻繁になり、運用上困難となる。
【0066】
そこで、1台の端末装置2では、ネットワーク6に参加している全ての端末装置2のうち、必要最低限の一部の端末装置2のIPアドレスだけを記憶しておき、IPアドレスを記憶していない端末装置2については、各端末装置2間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
【0067】
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図7に示すような、オーバーレイネットワークが構築されることになる。つまり、このオーバーレイネットワークは、既存のネットワーク6を用いて形成された仮想的なリンク(論理接続)を構成するネットワークであり、P2Pグリッド型配信形態である。
【0068】
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワークを前提としており、このオーバーレイネットワーク上に配置された端末装置2を、コンテンツ配信システムSの第2配信形態に参加している端末装置2という。なお、コンテンツ配信システムSの第2配信形態への参加は、未だ参加していない端末装置2が、すでに参加している端末装置2に対して参加要求を送ることによって行われる。
【0069】
コンテンツ配信システムSの第2配信形態に参加している各端末装置2の識別番号である端末IDとして、それぞれの端末装置2毎にユニークな番号(固有番号)を付与する。この番号は、端末装置2の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128≒340×1036台の端末装置2を運用できる。
【0070】
より具体的には、各端末装置2の端末IDは、それぞれの端末装置2のIPアドレス或いは製造番号等の端末装置2毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。
【0071】
また、コンテンツ配信システムSの第2配信形態に参加している複数の端末装置2には、図7に示すように、一の端末装置2から他の端末装置2に配信されるコンテンツデータがコンテンツ投入装置4によって分散して端末装置2に投入されるが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別情報(以下、「コンテンツID」と呼ぶ。)を付与する。
【0072】
そして、当該コンテンツIDは、端末IDと同様の長さ(例えば、128bit等)とし、例えば、コンテンツの名称(コンテンツのタイトル名)やコンテンツの概要情報(あらすじ)等のキーワードが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、端末装置2のIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)端末IDを有する端末装置2が、コンテンツデータを保持する端末装置2(以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報、すなわちコンテンツ保持端末装置の所在情報であるIPアドレスを保持する。
【0073】
コンテンツ保持端末装置は、コンテンツ投入装置4によってランダムに決定される。すなわち、コンテンツ投入装置4は、コンテンツデータを保持すべき1以上の端末装置2をランダムに決定し、このように決定した端末装置にコンテンツデータを送信する。コンテンツ投入装置4からコンテンツデータを受信した端末装置は、コンテンツデータを記憶部に保持することによってコンテンツ保持端末装置として機能する。これにより、コンテンツデータが偏りなくコンテンツ配信システムS上に分散して配置される。
【0074】
なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等)の組み合わせとすればよい。本実施形態においては、コンテンツの名称は重複しないものとし、コンテンツの名称をキーワードとするものとする。
【0075】
このように、各端末装置2及び各コンテンツデータに付与された端末ID及びコンテンツIDは、共通のハッシュ関数によって生成するため、図7に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ID及びコンテンツIDを付与し、図示したものである。図中丸点は端末IDを、四角形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
【0076】
次に、どの端末装置2に、どのコンテンツデータが保持されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツデータを管理する端末装置2は、そのコンテンツIDに近い端末IDを有する端末装置2である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDと端末IDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置2に割り振る際に、一貫していればよい。図7に示す例では、この定義に基づいて、コンテンツIDaは、当該コンテンツIDaに近い端末ID(以下、「端末IDa」と呼ぶ。)を有する端末装置2に管理され、コンテンツIDbは、当該コンテンツIDbに近い端末ID(以下、「端末IDb」と呼ぶ。)を有する端末装置2に管理され、コンテンツIDcは、当該コンテンツIDcに近い端末ID(以下、「端末IDc」と呼ぶ。)を有する端末装置2に管理される。
【0077】
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータがいずれの端末装置2に保持されているかを知っている」ことを意味する。すなわち、図7において、端末IDaを有する端末装置2は、コンテンツIDaを有するコンテンツデータがいずれの端末装置2に保持されているかを知っており、端末IDbを有する端末装置2及び端末IDcを有する端末装置2も同様にそれぞれコンテンツIDbを有するコンテンツデータ及びコンテンツIDcを有するコンテンツデータがいずれの端末装置2に保持されているかを知っている、ということになる。
【0078】
このように、あるコンテンツデータがいずれの端末装置2に保持されているかを知っている端末装置2を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末IDaを有する端末装置2は、コンテンツIDaを有するコンテンツデータのルート端末装置であって、端末IDbを有する端末装置2は、コンテンツIDbを有するコンテンツデータのルート端末装置であって、端末IDcを有する端末装置2は、コンテンツIDcを有するコンテンツデータのルート端末装置である。
【0079】
ここで、コンテンツ投入装置4は、コンテンツ配信システムS内の端末装置2をコンテンツ保持端末装置とするためにコンテンツデータを端末装置2へ配布する機能のほか、端末装置2に配布した複数のコンテンツデータ(言い換えれば、コンテンツ保持端末装置が保持しているコンテンツデータ)をそのコンテンツの名称とコンテンツIDとを関連付けた識別情報リストである識別情報リストを生成して端末装置2へ提供する機能を有している。
【0080】
また、コンテンツ配信システムSの第2配信形態においては、コンタクト先紹介装置5が配置されている。このコンタクト先紹介装置5は、コンテンツ配信システムSの第2配信形態に参加していない端末装置2からこの第2配信形態への参加要求があったときに、未参加の端末装置2が参加メッセージを送信する既参加の端末装置2(以下、「コンタクト先端末装置」と呼ぶ。)の所在情報を通知する機能を有している。
【0081】
[1.2.2 ルーティングテーブルの作成]
ここで、図8を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図8は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
【0082】
まず、図8(a)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8bitの4進数で表すことにする。そして、端末装置2Nの端末IDを「1133」とし、この端末装置2Nのルーティングテーブルを作る一例について説明する。
【0083】
(レベル1のルーティング)
まず、ID空間を4分割とした場合、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。端末装置2Nは、当該端末装置2N自身の端末IDが「1133」であるため、図8(a)中左下「1XXX」のエリアに存在することになる。そして、端末装置2Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在する端末装置2を適当に選択し、当該端末IDの所在情報、すなわち、当該端末IDのIPアドレスをレベル1のテーブルに記憶する。図9がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末IDとして「0100」、「2XXX」のエリアの端末IDとして「2133」、「3XXX」のエリアの端末IDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目は端末装置2N自身を示しているため、IPアドレスを記憶する必要はない。
【0084】
(レベル2のルーティング)
次に、図8(b)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「1XXX」を更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11xx」以外のエリアに存在する端末装置2を適当に選択し、当該端末IDの所在情報であるIPアドレスをレベル2のテーブルに記憶する。図9がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末IDとして「1003」、「12XX」のエリアの端末IDとして「1221」が、「13XX」のエリアの端末IDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目は端末装置2Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置2が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
【0085】
(レベル3のルーティング)
更に、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11XX」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置2を適当に選択し、当該端末IDの所在情報であるIPアドレスをレベル3のテーブルに記憶する。図9がレベル3のテーブルの一例である。レベル3の4列目は端末装置2Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
【0086】
このようにして、レベル4まで同様にルーティングテーブルを図9に示す如く作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【0087】
以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置2が夫々作成して所有することになる。このように、各端末装置2は、コンテンツ配信システムSにおける複数の端末装置2のうち一部の端末装置2の端末ID(識別情報)とIPアドレス(所在情報)とを関連付けたルーティングテーブルを有しており、このルーティングテーブルは後述のルーティングテーブル記憶領域に記憶される。
【0088】
ところで、端末装置2は、第2配信形態に未参加のときには、第2配信形態に参加している端末装置2の所在情報などを知らない。そのため、端末装置2は、第2配信形態に参加するときには、次の項で説明するように、ルーティングテーブルを生成する。
【0089】
[1.2.3.第2配信形態への参加]
次に、図10を参照して、コンテンツ配信システムSにおける第2配信形態に未参加の端末装置2が当該第2配信形態へ参加する方法の一例について説明する。図10は、第2配信形態に未参加の端末装置2M(以下、「新規参加端末装置2M」と呼ぶ。)が当該第2配信形態へ参加する様子の一例を示す図である。
【0090】
まず、第2配信形態に未参加である新規参加端末装置2Mは、コンテンツ配信システムSの第2配信形態に参加するために、コンタクト先紹介装置5に対して、参加メッセージを送信すべきコンタクト先端末装置の所在情報を要求する。
【0091】
新規参加端末装置2Mは、コンタクト先紹介装置5から参加メッセージを送信すべきコンタクト先端末装置の所在情報が送られてくると、コンタクト先端末装置に対して参加メッセージを送信する。ここで、参加メッセージのあて先識別情報は、新規参加端末装置2Mの端末IDとなっている。すなわち、新規参加端末装置2Mは、第2配信形態に参加する際に、自装置2のIPアドレスのハッシュ値「2133」を宛先識別情報とした参加メッセージを生成する。
【0092】
コンタクト先端末装置は、新規参加端末装置2Mから送信された参加メッセージを受信すると、コンタクト先端末装置は、この参加メッセージがコンタクト先端末装置宛のメッセージであるか否かを判定する。コンタクト先端末装置宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報がコンタクト先端末装置宛の識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、コンタクト先端末装置自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。そして、コンタクト先端末装置の識別情報よりも他の端末装置の識別情報の方が宛先識別情報に近いとき、参加メッセージを受信したコンタクト先端末装置は、コンタクト先端末装置自身が保持しているルーティングテーブルのレベル2を参照して、「2XXX」のエリアに属す端末装置2のうち、IPアドレスを知っている端末装置2Bに対して参加メッセージを転送するとともに、自端末装置のルーティングテーブル記憶領域に記憶されたルーティングテーブルのレベル1のテーブルの情報を、新規参加端末装置2Mへ送信する。
【0093】
このように、コンテンツIDの桁を上から順に適合していく要領で参加メッセージの転送を行い、順次ルーティングテーブルの各レベルの情報を送信する。最終的に宛先識別情報に最も近い端末装置2に辿り着いたところで参加メッセージの転送は終了する。なお、参加メッセージなどのメッセージを目的の端末装置へ辿り着くまでに、上述のように転送する仕組みをDHTルーティングと呼ぶ。
【0094】
こうして、新規参加端末装置2Mは、参加メッセージを受信した端末装置2からルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得するようにしている。新規参加端末2はこのようにして、第2配信形態に参加するために必要なルーティングテーブルを生成する。
【0095】
[1.2.4.コンテンツデータの検索方法]
次に、図11を参照して、コンテンツデータを保持している端末装置2の検索方法の一例について説明する。図11は、DHTルーティングによりコンテンツデータを保持している端末装置2が検索される様子の一例を示す図である。
【0096】
ここでは、端末ID「1133」の端末装置2Nが、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの受信を要求する端末装置をリクエスト端末装置と呼ぶ。
【0097】
リクエスト端末装置2Nは、自己が保持しているルーティングテーブルのレベル1のテーブルを参照して、コンテンツID「3020」と同じエリアの端末IDを持つ端末装置の端末IDを宛先識別情報としてコンテンツ保持端末装置情報(コンテンツ保持端末装置の所在情報を含む情報)の送信要求(以下、「コンテンツ検索メッセージ」と呼ぶ。)を送信する。すなわち、コンテンツID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置2のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)端末装置2A(端末ID「3213」)に対してコンテンツ検索メッセージを送信する。このように、コンテンツ検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツIDを含むものであり、このコンテンツIDはコンテンツ検索メッセージにおいて宛先識別情報として用いられる。
【0098】
図11に示す例によれば、端末IDが「3213」である端末装置2AのIPアドレスがリクエスト端末装置2Nのルーティングテーブル(図9参照。)に記憶されているので、リクエスト端末装置2Nは、端末IDが「3213」である端末装置2Aに対してコンテンツ検索メッセージを送信する。
【0099】
次に、コンテンツ検索メッセージを受信した端末装置2Aは、このコンテンツ検索メッセージが自端末装置2A宛のメッセージであるか否かを判定する。自端末装置2A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置2Aの識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、端末装置2A自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。ここでは、自端末装置2Aの識別情報よりも他の端末装置の識別情報の方が、宛先識別情報に近いため、端末装置2Aは、当該端末装置2A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属す端末装置2のうち、IPアドレスを知っている端末装置2B(端末ID「3031」)に対してコンテンツ検索メッセージを転送する。
【0100】
このように、コンテンツIDの桁を上から順に適合していく要領でコンテンツ検索メッセージの転送が進み、最終的に当該コンテンツデータを管理する端末装置2C(端末ID「3011」)、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、コンテンツ検索メッセージに含まれるコンテンツID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持端末装置のIPアドレス等の所在情報をリクエスト端末装置2Nに返信するようになっている。
【0101】
こうして、リクエスト端末装置2Nは、上記ルート端末装置2Cから、コンテンツID「3020」のコンテンツデータの所在情報、即ち、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持端末装置のIPアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得することになる。
【0102】
[1.2.5.インデックステーブルへの登録方法]
コンテンツ配信システムSにおける第2配信形態の中で、新しいコンテンツデータをコンテンツ配信システムS上の他の端末装置2に見えるように公開する際の手法について述べる。
【0103】
本実施形態におけるコンテンツ配信システムSの第2配信形態は、図12に示すように、コンテンツ投入装置4が各コンテンツ保持端末装置となる端末装置2に対して、各コンテンツ保持端末装置毎の管理対象コンテンツとなるコンテンツデータを送信する。コンテンツ投入装置4から管理対象のコンテンツデータを受信したコンテンツ保持端末装置は、後述のハードディスク装置203に受信したコンテンツデータを記憶する。
【0104】
当該コンテンツデータを配布されたコンテンツ保持端末装置は、図12及び図13に示すように、当該コンテンツ保持端末装置の所在情報及び識別情報を含むコンテンツ保持端末装置情報の登録要求メッセージ(以下、「コンテンツ登録メッセージ」と呼ぶ。)を、コンテンツの名称等から求めたコンテンツIDと同じ端末IDを持つ端末装置に向けて(この端末装置が実在するか否かはこの時点ではわからない。)送信する。そして、このコンテンツ登録メッセージも、上記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ登録メッセージに含まれるコンテンツIDに最も近い端末IDを有する端末装置2まで転送されたところで、その端末装置2がもはや送信先の端末装置が他にないと判断すると、当該端末装置2自身がそのコンテンツのルート端末装置となるべきだと判断し、図13に示すように、当該コンテンツ登録メッセージに含まれるコンテンツ保持端末装置情報である当該コンテンツID、コンテンツ保持端末装置のIPアドレス、及び補助情報(タイトル、ジャンル、拡張情報等の属性情報や、監督名等の著作権情報やストリーミング時間等)をインデックス情報として後述のインデックステーブル222に記憶する。
【0105】
このようにルート端末装置のインデックステーブル222にコンテンツ保持端末装置の所在情報であるIPアドレスが登録されると、以後リクエスト端末装置からのコンテンツ検索メッセージに対してインデックステーブルに登録したコンテンツ保持端末装置の所在情報をリクエスト端末装置へ返信する。このようにして本実施形態では、コンテンツ投入装置4から配布されたコンテンツをコンテンツ保持端末装置に登録し、ルート端末装置を介して検索できるようにすることで、他の端末装置にコンテンツを公開する。
【0106】
インデックステーブル222は、図14に示すように、コンテンツ保持端末装置の所在情報(所在情報)であるIPアドレスなどを含むコンテンツ保持端末装置情報を記憶するためのテーブルである。このインデックステーブル222には、コンテンツ保持端末装置のIPアドレスのほか、コンテンツ保持端末装置を紹介した時刻等がコンテンツ保持端末装置情報として1行(所定記憶エリア)毎に記憶される。
【0107】
[2.端末装置2の構成等の説明]
次に、図15を参照して、端末装置2の構成及び動作について更に詳説する。図15は、本実施形態における端末装置2の概略構成例を示す図である。
【0108】
端末装置2は、一般のパーソナルコンピュータ或いは専用端末を適用可能であり、図15に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置205と、各種データ等を記憶するハードディスク装置203と、ネットワーク6を介してネットワーク上のコンテンツ配信装置1、接続管理装置3やコンテンツ投入装置4、コンタクト先紹介装置5及び他の端末装置2との間で有線通信による通信を行うためのネットワークインタフェース204と、ユーザによる端末装置2の遠隔操作が可能な所定の赤外線信号を送信及び受信するユーザ入力用リモコン208と、このユーザ入力用リモコン208と赤外線により通信を行うための赤外線ポート207と、赤外線ポート207を制御する周辺機器制御チップ206と、CPU202からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ210に表示するビデオチップ209と、ビデオチップ209から送信される信号に応じた表示を行う内蔵ディスプレイ210と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ211と、音源チップ211から出力されるオーディオ信号を音波に変換する内蔵スピーカ212とを備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。
【0109】
なお、本実施形態においては、CPU202と主記憶装置205とで制御部230を構成している。また、ネットワークインタフェース204は、アナログ電話回線、ISDN回線、ADSL回線、FTTH回線などの通信回線によってルータ10に接続することができるインターフェイスである。ルータ10は、通信回線を介して端末装置2から受信した信号をネットワーク6へ送信し、ネットワーク6から受信した信号を端末装置2へ送信する。
【0110】
上述したようなユーザ入力用リモコン208では、コンテンツ配信システムSにおけるコンテンツデータのダウンロードなどの操作が可能である。また、本実施形態におけるユーザ入力用リモコン208では、コンテンツ配信システムSのチャンネルを選択するための選択手段として図示しないチャンネル選択ボタンを有しており、端末装置2のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。例えば、チャンネル選択ボタンをとして、「1」〜「10」までのボタンをリモコン208に配置し、これらのボタンを選択することにより、チャンネルch1〜ch10のいずれかを視聴用チャンネルとして選択することができる。また、図16に示すように、端末装置2の内蔵ディスプレイ210に、チャンネル選択ボタン22,23を配置したチャンネル選択画面を表示するようにもでき、選択するチャンネルを1chずつ切り替えるようにしてもよい。なお、表示枠21にはストリーミング再生手段によって再生されるコンテンツが表示される。
【0111】
(主記憶装置205について)
主記憶装置205には、端末装置2のコンピュータとしての基本的な機能を提供するためのオペレーディング(OS)プログラム217と、第1配信形態において、コンテンツ配信装置1から直接又は他の端末装置2に中継されてストリーミング配信されるコンテンツデータをストリーミング受信及び下流の端末装置2へストリーミング送信するためのストリーミング制御プログラム215と、第1配信形態において、ツリー接続された一層上流の端末装置2(或いはコンテンツ配信装置1)の所在情報(IPアドレスやポート番号)とツリー接続された一層下流の端末装置2の所在情報の管理等を行うためのトポロジー管理プログラム216と、内蔵ディスプレイ210を制御するための画面制御プログラム218と、第1配信形態において、上流の装置からストリーミング受信したコンテンツデータをデコードしてストリーミング再生したり、第2配信形態でダウンロードしてハードディスク装置203に記憶したコンテンツデータを再生したりするための音楽デコーダプログラム219と、所定の記憶容量を有し、ストリーミング受信したコンテンツデータを順次一時的に記憶するリングバッファ領域220と、第1配信形態でコンテンツデータをストリーミング再生している状態で、第2配信形態に参加してコンテンツデータをダウンロードしたり、アップロードしたりするためのコンテンツダウンロード・アップロードプログラム221(以下、「コンテンツDL/ULプログラム」とする。)等が記憶されており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。
【0112】
また、主記憶装置205には、更にインデックステーブル222(図14参照)を記憶するためのインデックステーブル記憶領域やルーティングテーブル223(図9参照)を記憶するためのルーティングテーブル記憶領域が設けられている。
【0113】
また、リングバッファ領域220は、参加しているチャンネル(視聴用チャンネル及びザッピング対策チャンネル)において配信されるコンテンツデータをチャンネル毎に一時的に記憶する領域であり、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されず中継のみのために用いられることから、リングバッファ領域は、視聴用チャンネルのリングバッファ領域に比べその容量を小さくしている。このようにザッピング対策チャンネルのリングバッファ領域を小さくしているため、主記憶装置205を効率よく使用することができる。勿論、設定等により全てのリングバッファ領域の容量を同一とするようにすることも可能である。
【0114】
ここで、OSプログラム217は、CPU202によって読み出されて実行されることにより、ユーザ入力用リモコン208の入出力に関する機能や、主記憶装置205やハードディスク装置203などのメモリ管理などの端末装置2であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム217がCPU202によって実行された状態で、上述のストリーミング制御プログラム215、トポロジー管理プログラム216、画面制御プログラム218、音楽デコーダプログラム219、コンテンツDL/ULプログラム221等が主記憶装置205から読み出されて実行される。
【0115】
なお、OSプログラム217、ストリーミング制御プログラム215、トポロジー管理プログラム216、画面制御プログラム218、音楽デコーダプログラム219、コンテンツDL/ULプログラム221等は、例えば、ネットワーク6に接続されたサーバ等から主記憶装置205にダウンロードされるようにしてもよく、また、CD−ROM等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置205に読み込まれるようにしてもよい。
【0116】
(制御部230について)
制御部230は、上述のようにCPU202と主記憶装置205とから構成され、CPU202が主記憶装置205に記憶された各種プログラム215〜219,221を読み出して実行することにより、端末装置2全体を統括制御し、かつ、後述する接続処理手段、ストリーミング受信処理手段、表示制御手段、ストリーミング再生手段、ストリーミング中継処理手段、デコード手段、識別情報取得手段、識別情報リスト受信手段、ダウンロード操作検出手段、切断処理手段、リソース使用量検出手段、リソース不足判定手段、再接続処理手段、判定手段、ダウンロード処理手段、アップロード処理手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信処理手段、メッセージ転送処理手段、コンテンツ再生手段等として機能するようになっている。
【0117】
なお、CPU202がストリーミング制御プログラム215を実行することによってストリーミング受信処理手段、ストリーミング中継処理手段等として、またCPU202がトポロジー管理プログラム216を実行することによって、接続処理手段等として、またCPU202が画面制御プログラム218を実行することによって表示制御手段等として、更にCPU202が音楽デコーダプログラム219を実行することによってデコード手段、ストリーミング再生手段、コンテンツ再生手段等として、更にCPU202がコンテンツDL/ULプログラム221を実行することによって、識別情報リスト受信手段、識別情報取得手段、判定手段、ダウンロード操作検出手段、切断処理手段、リソース使用量検出手段、リソース不足判定手段、再接続処理手段、ダウンロード処理手段、アップロード処理手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信処理手段、メッセージ転送処理手段等として、それぞれ機能するようになっている。
【0118】
(接続処理手段について)
接続処理手段は、端末装置2をコンテンツ配信システムSの第1配信形態へ参加させるために、チャンネル選択手段であるリモコン208のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続する。さらに、接続処理手段は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネル(ザッピング対策チャンネル)に関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続する。
【0119】
より具体的には、接続処理手段は、端末装置2をコンテンツ配信システムSの第1配信形態へ参加させるために、接続管理装置3へ登録要求を送信して接続管理装置3へ登録すると共に、接続先紹介要求を送信して接続管理装置3へチャンネル選択手段によって選択されたチャンネルの接続先候補及びそのチャンネルと所定の関係を有するチャンネルの接続先候補を要求する接続先紹介要求をそれぞれ送信する機能を有している。この接続先紹介要求には、接続先候補を要求するチャンネルの情報の他、自端末装置2の所在情報等を含む。
【0120】
また、接続処理手段は、接続管理装置3へ送信した接続先紹介要求に対して、接続管理装置3からネットワーク6を介して通知される視聴用チャンネルやザッピング対策チャンネルの接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるIPアドレスやポート番号などの情報(以下、接続先候補の情報を含めて、「接続先候補」と略すことがある。)を受信する機能を有する。
【0121】
更に、接続処理手段は、受信した各チャンネルの接続先候補の情報に基づいて、その接続先候補への論理接続を行う機能を有する。すなわち、接続処理手段は、接続先候補の情報に基づいて、接続先候補のIPアドレス及びポート番号等をあて先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって各チャンネル(視聴用チャンネル及び複数のザッピング対策チャンネル)の階層構造に組み込まれ、第1配信形態に参加することになる。
【0122】
ここで、「所定の関係を有するチャンネル」は、上述したようにチャンネル選択手段によって選択されたチャンネル番号に隣接するチャンネル番号を有するチャンネルである。例えば、チャンネル番号が「1」〜「10」まであるとき、チャンネル選択手段によって選択されたチャンネル番号が「2」であるとき、前後のチャンネル番号「1」,「3」を有するチャンネルを所定の関係を有するチャンネルとすることができる。なお、視聴用チャンネルとして使用されたチャンネルの履歴を主記憶装置205に記憶しておき、「所定の関係を有するチャンネル」を、視聴用チャンネルとして使用された頻度が最も高い2つのチャンネルとするようにしてもよい。
【0123】
(ストリーミング受信処理手段について)
ストリーミング受信処理手段は、ネットワークインタフェース204を介して第1配信形態によって上流装置、すなわち上流に論理接続したコンテンツ配信装置1又は上流に接続された端末装置2からコンテンツパケットとして送信されるコンテンツデータをチャンネル(視聴用チャンネル及びザッピング対策チャンネル)毎にストリーミング受信し、このようにストリーミング受信したコンテンツデータをチャンネル毎にリングバッファ領域220に順次記憶する。なお、コンテンツデータ受信手段や後述のコンテンツデータ中継手段は、公知のストリーミング配信用プロトコルを用いることができるほか、独自の専用プロトコルを用いるようにすることもできる。
【0124】
(ストリーミング再生手段について)
ストリーミング再生手段は、ネットワークインタフェース204を介して第1配信形態によって上流装置からストリーミング受信してリングバッファ領域220に順次記憶されたコンテンツデータを順次再生する機能を有している。
【0125】
このストリーミング再生手段は、参加している複数のチャンネルのうちチャンネル選択ボタン等によって最後に選択された最新のチャンネルに対応するコンテンツデータをリングバッファ領域から取り出して、音源チップ211やビデオチップ209を動作させることによってこの機能を実現しており、リングバッファ領域220に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式(たとえば、Wave形式)に変換して音源チップ211やビデオチップ209へ入力し、コンテンツの再生を行う。
【0126】
ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ211によってオーディオ信号へ変換された後、内蔵スピーカ212から出力される。
【0127】
また、ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ210に表示される。
【0128】
また、ストリーミング再生手段は、リングバッファ領域220に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ領域220に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ212や内蔵ディスプレイ210に出力するように構成されている。
【0129】
(表示制御手段について)
表示制御手段は、ビデオチップ209及び内蔵ディスプレイ210を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ210にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【0130】
(ストリーミング中継処理手段について)
ストリーミング中継処理手段は、第1配信形態における上流装置、すなわちコンテンツ配信装置1又は上流に接続された端末装置2からネットワーク6を介してストリーミング受信されたコンテンツデータを、下流に接続された他の端末装置2へネットワーク6を介して転送する。
【0131】
(識別情報リスト受信手段について)
識別情報リスト受信手段は、コンテンツ投入装置4から送信される識別情報リストを受信する機能を有している。コンテンツ投入装置4から送信される識別情報リストは、第2配信形態においてダウンロード可能なコンテンツデータの名称とコンテンツIDとが関連付けられた情報であり、自端末装置2がコンテンツ投入装置4へ識別情報リストの送信要求を行うことによって、コンテンツ投入装置4から送信されるものである。
【0132】
(ダウンロード操作検出手段について)
ダウンロード操作検出手段は、第2配信形態によるコンテンツデータのダウンロード要求の操作を検出する機能を有する。例えば、図17に示すように第2配信形態においてダウンロード可能なコンテンツデータが内蔵ディスプレイ210の所定領域24に一覧表示されている状態で、ユーザがリモコン208を操作して、ダウンロードするコンテンツデータを指定枠25により指定してダウンロードボタン26を選択したことを検出することによって、第2配信形態によるコンテンツデータのダウンロード要求の操作を検出する。なお、内蔵ディスプレイ210の所定領域24に一覧表示される情報は、識別情報リスト受信手段により取得された情報である。
【0133】
(リソース使用量検出手段)
リソース使用量検出手段は、第1配信形態及び第2配信形態にいずれにも用いられるリソースの使用量を検出する機能を有する。すなわち、第2配信形態に用いるリソースの使用量を検出する機能と、第1配信形態で用いられているリソースの使用量を検出する機能を有する。ここで、「リソース」とは、CPU202の処理能力、主記憶装置205におけるメモリの容量、ネットワークとの通信の帯域(以下、「通信帯域」と呼ぶ。)などがある。また、ここでは、リソースの使用量の検出を、リソースの使用率の検出によって行うようにしているが、リソースの使用量(例えば、メモリであれば使用メモリのバイト数など)自体を検出するようにしてもよい。
【0134】
リソース使用量検出手段は、第2配信形態に用いるリソースの使用量として、第2配信形態で他の端末装置2からコンテンツデータをダウンロードするときにはそのダウンロードの処理に必要なリソースの使用量を、第2配信形態で他の端末装置2へコンテンツデータをアップロードするときにはアップロードの処理に必要なリソースの使用量を検出する機能を有している。また、リソース使用量検出手段は、第1配信形態で用いられているリソースの使用量として、チャンネル選択手段によって選択されたチャンネルである視聴用チャンネルと、このチャンネルと所定の関係を有するザッピング対策チャンネルとに参加することによる各チャンネルにおけるCPU202の使用率、メモリの使用率、通信帯域の使用率を検出する。なお、ここでは、理解を容易にするために、ザッピング対策チャンネルは2つとして説明する。
【0135】
ここで、CPU202の使用率とは、第1配信形態や第2配信形態にいずれにも用いられるCPU202がどのくらい使用されているかを示す割合であり、CPU202の最大情報処理量を母数とした割合である。例えば、第1配信形態の視聴用チャンネルにおけるCPU202の使用率とは、第1配信形態の視聴用チャンネルに参加し、コンテンツデータを受信及び中継するためにCPU202が上記各手段として機能するときのCPU202の情報処理量をCPU202の最大情報処理量で除した割合となる。なお、CPU202が第1配信形態及び第2配信形態に関する動作以外の動作を行う場合には、第1配信形態及び第2配信形態に用いることができるCPU202の情報処理量を母数としたときの割合となる。また、CPU202の使用率の演算に用いる母数として、CPU202の最大情報処理量ではなく、例えば、CPU202の最大情報処理量の50%というように最大情報処理量よりも低く抑えるようにしてもよい。このようにすることで、端末装置2においてコンテンツ配信システムSに関する処理をより安定的に行うことができる。
【0136】
また、主記憶装置205におけるメモリの容量とは、主記憶装置205における記憶領域のうち、第1配信形態や第2配信形態にいずれにも用いられる記憶領域の記憶容量である。この記憶領域をCPU202が使用することにより、第1配信形態の各チャンネルに参加し、コンテンツデータを受信及び中継する等の処理、或いは第2配信形態でコンテンツデータのダウンロードやアップロード等の処理を行う。ここで、第1配信形態におけるメモリの容量の使用率とは、第1配信形態及び第2配信形態で用いることができる記憶領域の全容量のうち、現実に第1配信形態において使用されている記憶容量の割合を意味し、第2配信形態におけるメモリの容量の使用率とは、第1配信形態及び第2配信形態で用いることができる記憶領域の全容量のうち、第2配信形態において使用されていると予測される記憶容量の割合を意味する。なお、第2配信形態におけるメモリの容量の使用率には、インデックステーブル222やルーティングテーブル223に用いられる記憶容量は考慮しないが、第2配信形態においてダウンロード処理及びアップロード処理を行うときにのみ第2配信形態に参加するような場合には、インデックステーブル222やルーティングテーブル223に用いられる記憶容量を考慮することもできる。
【0137】
また、通信帯域とは、端末装置2が他の端末装置2やコンテンツ配信装置1との間で通信することができる時間当たりの最大通信量を意味する。また、通信帯域には、上りの通信帯域(端末装置2からネットワーク6側への通信方向の通信帯域)と、下りの通信帯域(ネットワーク6側から端末装置2への通信方向の通信帯域)とがある。
【0138】
第1配信形態で用いる通信帯域の使用率とは、上りの通信帯域については、第1配信形態における視聴用チャンネル及びザッピング対策チャンネルに関して下層に接続された端末装置2へコンテンツデータをストリーミング送信するときの単位時間当たりの通信量の割合である。また、下りの通信帯域について、第1配信形態における視聴用チャンネル及びザッピング対策チャンネルに関して上層に接続された端末装置からコンテンツデータをストリーミング受信するときの単位時間当たりの通信量の割合である。
【0139】
上述のように端末装置2はルータ10を介してネットワーク6に接続されており、ルータ10に接続する通信回線が、アナログ電話回線、ISDN回線、ADSL回線、FTTH回線などの回線のうちどの回線かによって通信帯域が異なることとなる。そこで、リソース使用量検出手段は、ネットワーク6上に配置された通信帯域検出用サーバ(図示せず)を用いて、このサーバに所定容量のデータを送信し、この送信が完了するまでの時間に基づいて上りの通信帯域を検出する。また、このサーバから送信される所定容量のデータを受信し、この受信が完了するまでの時間に基づいて下りの通信帯域を検出する。なお、リソース使用量検出手段は、ルータ10に接続するための回線がどの回線種別なのかを検出することによって、通信帯域を検出するようにしてもよい。
【0140】
また、ルータ10に接続するための通信回線が、ベストエフォート型のADSL回線、FTTH回線が接続されている場合には、状況に応じて通信帯域(「スループット」とも言う。)が変化する。そこで、リソース使用量検出手段は、通信帯域検出用のサーバとの通信を第2配信形態におけるダウンロード処理又はアップロード処理をする直前に、通信帯域検出用のサーバと通信を行うことにより、上りの通信帯域及び下りの通信帯域を検出するようにしている。このとき、リソース使用量検出手段は、第1配信形態における視聴用チャンネル及びザッピング対策チャンネルによる通信帯域の使用率を考慮して通信帯域を検出するようにしている。すなわち、視聴用チャンネル及びザッピング対策チャンネルで下流の装置に送信するコンテンツデータの時間当たりの送信量(bit/s)と、通信帯域検出用のサーバへ送信するデータの時間当たりの送信量(bit/s)とを加算することにより上りの通信帯域を検出し、視聴用チャンネル及びザッピング対策チャンネルによって上流の装置から送信されるコンテンツデータの時間当たりの受信量(bit/s)と、通信帯域検出用のサーバから送信されるデータの時間当たりの受信量(bit/s)とを加算することにより、下りの通信帯域を検出する。
【0141】
また、通信帯域の使用率とは、上記の如く検出した通信帯域をどのくらい使用しているかの割合であり、例えば、下りの通信帯域が2Mbit/sであり、視聴用チャンネルにおけるデータの受信量が500kbit/sであるときには、視聴用チャンネルにおける通信帯域の使用率は、25%となる。
【0142】
リソース量検出手段は、第1配信形態におけるコンテンツデータのストリーミング受信、第1配信形態におけるコンテンツデータのストリーミング中継、第2配信形態におけるダウンロード、第2配信形態におけるアップロードのそれぞれについて、各リソースの使用量或いは予測される使用量を検出する。
【0143】
ここで、視聴用チャンネル、ザッピング対策チャンネルにおけるリソースの使用量については、実際に使用されている量をモニタすることによって検出することができる。しかし、自端末装置2において第2配信形態に用いるリソースの使用状態、つまり、第2配信形態におけるダウンロード処理や第2配信形態におけるアップロード処理におけるリソースの使用量は、これらの処理を実際に行う前に検出する必要がある。つまり、第1配信形態に参加し、各チャンネルでコンテンツデータをストリーミング受信及びストリーミング中継を行っている状態で、第2配信形態においてコンテンツデータのダウンロード処理或いはアップロード処理を行ってしまうと、リソースが不足してしまうことがあり、このようにリソースが不足すると第1配信形態における各チャンネルにおけるコンテンツデータのストリーミング受信や中継に影響を及ぼすことになり、状況によっては各チャンネルとの通信が切断されてしまう恐れがある。そこで、第2配信形態においてコンテンツデータのダウンロード処理或いはアップロード処理を行うために必要なリソースがあるか否かをその処理を行う前に判定する。なお、このように第2配信形態において用いるリソースを所定期間毎に行うようにしてもよい。
【0144】
(リソース不足判定手段)
リソース不足判定手段は、リソース使用量検出手段による検出結果に基づいて、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定する。そして、リソースが不足していると判定したときには、そのリソースの不足量を判定する。ここでは、不足量の判定を、リソースの空き率と第2配信形態に用いるリソースの使用率とに基づき、リソースの不足率を演算することによって行うようにしている。第2配信形態に用いるリソースが不足しているか否かは、自端末装置2におけるリソース全体の使用可能量を100%とし、第1配信形態に用いているリソースの使用率を100%から減算したものが第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要であると予測されるリソースの使用率よりも大きいか否かにより判定される。例えば、以下の表1に示すように、ザッピング対策チャンネルとして第1ザッピング対策チャンネルと第2ザッピング対策チャンネルとがある場合であって、第1配信形態における視聴用チャンネル(視聴CH)のリソースの使用率が各40%、第1配信形態における第1ザッピング対策チャンネル(ザッピング対策CH1)のリソースの使用率が各30%、第1配信形態における第2ザッピング対策チャンネル(ザッピング対策CH2)のリソースの使用率が各20%であるとき、自端末装置2におけるリソースの空き率は各10%となる。一方で、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要であると予測されるリソースの使用率が各30%であるとすると、リソース不足判定手段は、第2配信形態に用いるリソースが不足していると判定する。
【0145】
【表1】
【0146】
(切断処理手段について)
切断処理手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、又は第2配信形態に参加している他の端末装置2からのアップロード要求があったときに、リソース不足判定手段によってリソースが不足していると判定されると、接続処理手段によって接続状態にあるチャンネルのうち、自端末装置2において第2配信形態に用いるリソースの使用状態に応じて、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先候補との接続を切断する機能を有する。
【0147】
例えば、第1配信形態でのリソースの使用率が上記表1に示すようにある場合、第1ザッピング対策チャンネル又は第2ザッピング対策チャンネルのいずれかの接続先装置との接続を切断することにより、第2配信形態に用いるリソースの不足を解消することができる。すなわち、第1ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は各40%になり、或いは第2ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は30%になるため、第2配信形態に用いるリソースの使用率30%以上となり、第2配信形態に用いるリソースの不足を解消することができる。
【0148】
なお、このように、第1ザッピング対策チャンネル又は第2ザッピング対策チャンネルのいずれかの接続先装置との接続を切断すればよい場合、たとえば、切断処理手段は、チャンネル選択手段による選択頻度(視聴頻度)が低い方を選択することにより、ユーザによるチャンネル切り替え時に視聴用チャンネルAの接続処理を回避する可能性を向上させることができる。また、切断処理手段は、リソースの使用率が高い方を切断する対象として選択するようにすれば、第1配信形態におけるコンテンツデータのダウンロード時又はアップロード時に装置全体でのリソース使用率を低減することができるため、より安定的にコンテンツデータの送受信処理を行うことができる。
【0149】
また、第1配信形態でのリソースの使用率が下記表2に示すようにある場合、第1ザッピング対策チャンネルに関する接続先候補及び第2ザッピング対策チャンネルに関する接続先装置のいずれか一方の接続先装置との接続を切断したとしても、リソースの空き率がまだ不足することになる。しかし、第1ザッピング対策チャンネル及び第2ザッピング対策チャンネルの双方の接続先装置との接続を切断することにより、第2配信形態に用いるリソースの不足を解消することができる。すなわち、第1ザッピング対策チャンネル及び第2ザッピング対策チャンネルに関する両方の接続先装置との接続を切断することによって、リソースの空き率は60%になるため、第2配信形態に用いるリソースの使用率50%以上となり、第2配信形態に用いるリソースの不足を解消することができる。
【0150】
【表2】
【0151】
また、第1配信形態でのリソースの使用率が下記表3に示すようにある場合、第2ザッピング対策チャンネルに関する接続先装置との接続を切断したとしても、リソースのうち通信帯域に関して第2配信形態に用いるリソースの不足を解消することができないが、第1ザッピング対策チャンネルに関する接続先装置との接続を切断することにより、第2配信形態に用いるリソースの不足を解消することができる。すなわち、第1ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は、CPUに関して35%、メモリに関して40%、通信帯域に関して45%になるため、第2配信形態に用いるリソースの使用率(CPU、メモリ、通信帯域が各30%)以上となり、第2配信形態に用いるリソースの不足を解消することができる。
【0152】
【表3】
【0153】
このように第2配信形態でのコンテンツデータのダウンロード処理又はアップロード処理を行うためのリソースが不足する場合には、一以上のザッピング対策チャンネルから脱退するので、通信帯域をより多く確保することができ、第2配信形態での通信を安定させることができる。
【0154】
ここで、切断処理手段は、ザッピング対策チャンネルに関する接続先装置との接続の切断を次のように行う。すなわち、接続の切断対象となるザッピング対策チャンネルのコンテンツ供給元端末である接続先装置に対してコンテンツストリーミングの停止を要求する。言い換えれば、切断対象のザッピング対策チャンネルに関し、自端末装置2と論理接続され、自端末装置2に対して第1配信形態でストリーミング配信を行っているコンテンツ配信装置1又は他の端末装置2に対して、コンテンツデータのストリーミング配信を停止するようにネットワーク6を介して要求し、切断対象のザッピング対策チャンネルのトポロジーから脱退する。また、制御部230は、同ザッピング対策チャンネルに関する下流装置がある場合には、下流装置とのセッションを切断することにより、同ザッピング対策チャンネルのトポロジーから脱退する。
【0155】
(識別情報取得手段について)
識別情報取得手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、ダウンロード要求されたコンテンツデータを第2配信形態で取得するために、ダウンロード要求されたコンテンツデータの識別情報であるコンテンツIDを取得する。
【0156】
ダウンロード要求されたコンテンツIDの取得は、第1配信形態においてストリーミング再生手段によって再生されるコンテンツデータに関してダウンロード要求の操作があったときに、識別情報取得手段は、識別情報リスト受信手段によって受信した識別情報リストからダウンロード要求されたコンテンツデータの識別情報であるコンテンツIDを取得することによって行う。なお、識別情報取得手段は、後述するコンテンツ識別情報演算手段によってダウンロード要求されたコンテンツデータのコンテンツIDを求めるようにしてもよい。すなわち、ダウンロード要求されたコンテンツデータの名称をキーワードとして上記ハッシュ関数によりハッシュ化することによってコンテンツIDを求めるようにしてもよい。
【0157】
(判定手段)
自端末装置がコンテンツ保持端末装置として機能する場合には、コンテンツ保持端末装置として保持すべきコンテンツデータは、ハードディスク装置203のコンテンツデータ記憶領域(コンテンツデータ記憶手段の一例に相当)に記憶される。また、過去にダウンロードしたコンテンツデータも同様にハードディスク装置203のコンテンツデータ記憶領域に記憶される。判定手段は、ダウンロード要求されたコンテンツデータがハードディスク装置203のコンテンツデータ記憶領域に記憶されているか否かを判定する。この判定手段によって、ダウンロード要求されたコンテンツデータがハードディスク装置203のコンテンツデータ記憶領域に記憶されていると判定すると、切断処理手段は、接続状態にあるチャンネルの接続先装置との接続を切断せず、かつ後述するダウンロード処理手段は、第2配信形態によってコンテンツデータのダウンロードを行わない。
【0158】
(ダウンロード処理手段について)
ダウンロード処理手段は、識別情報取得手段によって取得されたコンテンツデータの識別情報に基づいて、ダウンロード要求されたコンテンツデータを第2配信形態の端末装置からダウンロードする機能を有しており、ダウンロード先検索手段、ダウンロード送信要求手段、ダウンロードデータ受信手段などから構成されている。
【0159】
ダウンロード先検索手段は、識別情報取得手段によって取得されたコンテンツデータのコンテンツIDに基づいて、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。コンテンツ保持端末装置の検索は、識別情報取得手段によって取得されたコンテンツIDを宛先識別情報としたコンテンツ検索メッセージを生成し、そのコンテンツIDと同じエリアの端末IDを持つ端末装置の所在情報をルーティングテーブル223から取り出して、その端末装置へコンテンツ検索メッセージを送信することによって行う。このコンテンツ検索メッセージに対して、識別情報取得手段によって取得されたコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報がルート端末装置から送信される。このようにして、ダウンロード先検索手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。
【0160】
また、ダウンロード送信要求手段は、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置に、ダウンロード要求されたコンテンツデータの送信をネットワーク6を介して要求(以下、「ダウンロード送信要求」と呼ぶ。)する。このダウンロード送信要求は、コンテンツ保持端末装置の所在情報を宛先として、ダウンロード要求に対応するコンテンツデータのコンテンツIDを設定するものである。なお、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置が複数ある場合には、選択した一つのコンテンツ保持端末装置に対してダウンロード送信要求が行われる。
【0161】
また、ダウンロードデータ受信手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置からダウンロード要求されたコンテンツデータをネットワーク6を介して受信する。コンテンツ保持端末装置から送信されるコンテンツデータは、第1配信形態のようなストリーミング形式ではなく、ダウンロード形式のデータであるが、ストリーミング形式とすることも可能である。
【0162】
ダウンロード受信手段により受信したコンテンツデータは、制御部230によって、ハードディスク装置203のコンテンツデータ記憶領域に記憶される。
【0163】
(アップロード処理手段について)
アップロード処理手段は、第2配信形態に参加している他の端末装置2から第2配信形態でのダウンロード要求があると、このダウンロード要求に対応するコンテンツデータをコンテンツデータ記憶手段から取り出して、ダウンロード要求を行った他の端末装置2へ送信する機能を有する。
【0164】
(再接続処理手段について)
再接続処理手段は、ダウンロード要求したコンテンツデータのダウンロード処理手段での受信が完了したとき、或いはダウンロード要求されたコンテンツデータのアップロード処理手段での送信が完了したときに、切断処理手段によって切断したザッピング対策チャンネルがある場合、このザッピング対策チャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に再接続する機能を有する。
【0165】
なお、この再接続処理手段において、ダウンロード処理手段でのダウンロード処理やアップロード処理手段でのアップロード処理が完了して所定期間経過後に、切断処理手段によって切断したザッピング対策チャンネルに再接続するようにしてもよい。また、この所定期間を端末装置2における第2配信形態の利用状況に応じて変更するようにしてもよい。例えば、第2配信形態の連続利用時間の履歴をハードディスク装置203に記憶しておき、連続利用時間の平均時間に応じて前記所定期間を定めるようにすることができる。このようにすれば、切断処理手段によるチャンネルの切断と再接続処理手段によるチャンネルの再接続を頻繁に行なうような状態を低減することができ、その結果、第1配信形態における各階層構造に対する負荷を低減することが可能となる。
【0166】
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク6を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置2宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述のコンテンツ検索メッセージ、コンテンツ登録メッセージなどである。
【0167】
受信したメッセージが自端末装置2宛であるか否かの判定は、メッセージに含まれる宛先端末ID(宛先識別情報)を取り出し、主記憶装置205に記憶したルーティングテーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフェース204を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブル223に記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル223上の端末IDが自端末装置2の端末IDであると判定すると、自端末装置2宛のメッセージであると判定する。
【0168】
(コンテンツ保持端末装置情報選択手段について)
コンテンツ保持端末装置情報選択手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自端末装置2宛であり、かつコンテンツ検索メッセージであると判定すると、インデックステーブル222からコンテンツ検索メッセージが対象とするコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報を選択する。なお、インデックステーブル222にコンテンツ保持端末装置の所在情報が複数ある場合には、それらを全部或いはいくつか選択する。
【0169】
(コンテンツ保持端末装置情報返信手段について)
コンテンツ保持端末装置情報返信手段は、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置の所在情報を、リクエスト端末装置へネットワーク6を介して返信する。
【0170】
(コンテンツ識別情報演算手段について)
コンテンツ識別情報演算手段は、コンテンツデータの固有情報を上記の如く所定のハッシュ関数によって演算することによってコンテンツデータの識別情報であるコンテンツIDを演算する。
【0171】
(コンテンツ登録メッセージ生成手段について)
コンテンツ投入装置4からコンテンツデータを受信したとき、受信したコンテンツデータをハードディスク装置203のコンテンツデータ記憶領域(コンテンツデータ記憶手段の一例に相当)に記憶する。又、コンテンツデータのコンテンツの名称をコンテンツ識別情報演算手段によって演算したコンテンツIDを宛先識別情報とし、自端末装置の端末ID及びIPアドレスを含むコンテンツ登録メッセージを生成する。
【0172】
(コンテンツ登録メッセージ送信処理手段について)
コンテンツ登録メッセージ送信処理手段は、コンテンツ登録メッセージ生成手段によって生成したコンテンツ登録メッセージを、ハードディスク装置203に記憶したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブル223に記憶された端末装置の識別情報から送信先端末装置を選択して送信する。例えば、図9に示すようなルーティングテーブルを有しており、かつハードディスク装置203に記憶したコンテンツデータのコンテンツIDが「1231」である場合、コンテンツ登録メッセージ送信処理手段は、ルーティングテーブルから端末ID「1221」を送信先端末装置として選択し、当該端末ID「1221」の端末装置のIPアドレス「21.13.21.13」を取り出す。そして、当該IPアドレス「21.13.21.13」を送信先端末装置としてコンテンツ登録メッセージを送信する。なお、このコンテンツ登録メッセージの宛先識別情報は「1231」となる。
【0173】
(メッセージ転送処理手段について)
メッセージ転送処理手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報をルーティングテーブル223から取り出し、転送先の端末装置へ受信したメッセージを転送する。
【0174】
(デコード手段について)
デコード手段は、他の端末装置2から送信されるコンテンツデータ等を内蔵ディスプレイ210に表示し、内蔵スピーカ212から出力するためにデコードする。すなわち、他の端末装置2から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばASF、WMA、WMV等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ210や内蔵スピーカ212から出力できるようにデコードする。
【0175】
(コンテンツ再生手段について)
コンテンツ再生手段は、ハードディスク装置203に記憶したコンテンツデータを取り出して再生するものであり、このとき制御部230は、ストリーミング制御プログラム215に基づいてビデオチップ209及び音源チップ211を動作させることによりコンテンツデータが再生される。
【0176】
[3.端末装置2の処理フロー]
以下、コンテンツ配信システムSにおける端末装置2の動作の一例について、図18のフローチャートを参照して説明する。図18は端末装置2における処理を示すフローチャートである。なお、以下の各処理は、端末装置2の制御部230が上述した手段等として機能することによって実行されるものである。
【0177】
端末装置2の電源がONになったとき、或いは端末装置2における図示しないリセットボタンが押下されたとき、図18に示すように、初期化処理を行う。この初期化処理は、端末装置2のCPU202は、主記憶装置205やハードディスク装置203のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム215〜219,221をCPU202による実行状態とし、制御部230としての機能を動作させた後(ステップS100)、ステップS101に処理を移す。
【0178】
ステップS101において、制御部230は、第2配信形態への参加処理を行う。この参加処理は、図10において説明したように、要求に応じてコンタクト先紹介装置5から所在情報が送信されたコンタクト先端末装置に対して参加メッセージを送信する。その後、参加メッセージを受信した端末装置2から送信されるルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得し、第2配信形態に参加するために必要なルーティングテーブルを生成することによって、第2配信形態に参加し、処理をステップS102へ移行する。
【0179】
また、制御部230は、コンテンツ投入装置4から識別情報リストを取得する。この識別情報リストの取得は、制御部230がコンテンツ投入装置4に対して、識別情報リストを要求し、当該要求に対して送信される識別情報リストを受信することによって行う。この識別情報リストは、上述のように第2配信形態において取得可能な複数のコンテンツデータの名称等とコンテンツIDとが関連付けられた情報であり、制御部230がこの識別情報リストを取得し、内蔵ディスプレイ210に表示した状態で、端末装置2のユーザがリモコン208等の操作により、第2配信形態でのコンテンツデータの取得を行うことができるようにしている。
【0180】
ステップS102において、制御部230は、自端末装置2の通信帯域の検出処理を行う。この通信帯域の検出処理は、上述のように、ネットワーク6上に配置された通信帯域検出用サーバ(図示せず)を用いて、このサーバに所定容量のデータを送受信することにより行われるものであり、上りの通信帯域と下りの通信帯域とをそれぞれが検出される。
【0181】
次に、制御部230は、ステップS103において、視聴用チャンネルへの参加処理を行う。制御部230は、チャンネル選択手段であるリモコン208のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続して、処理をステップS104に移行する。
【0182】
なお、制御部230をチャンネル選択手段として機能させるようにしてもよい。例えば、端末装置2の電源OFF時直前に視聴しているチャンネル(以下、「最終視聴用チャンネル」と呼ぶ。)を制御部230によってハードディスク装置203に記憶し、このように記憶した最終視聴用チャンネルを制御部230がチャンネル選択手段として選択するように機能するように構成してもよい。
【0183】
ステップS104において、制御部230は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルであるザッピング対策チャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3からそれぞれ通知された接続先候補に接続して処理をステップS105に移行する。
【0184】
このように、ステップS103及ステップS104においては、チャンネル選択手段によって選択されたチャンネルを視聴用チャンネルとしてその接続先候補を接続管理装置3へ要求すると共に、ザッピング対策チャンネルとして、この視聴用チャンネルと所定関係を有するチャンネルに関する接続先候補を接続管理装置3へ要求するようにしている。この接続先候補の要求に対して接続管理装置3からはチャンネル毎に複数の接続先候補が送信されるため、制御部230は、この複数の接続先候補から一の接続先候補をチャンネル毎に選択し、この接続先候補に対してそれぞれ接続を要求することによって、視聴用チャンネル及びザッピング対策チャンネルに関する接続先候補に接続することになる。例えば、視聴用チャンネルと所定関係を有するチャンネルを、視聴チャンネルの番号の±1の番号を有するチャンネルとした場合において、全チャンネルがch1〜ch10である場合には、チャンネル選択手段によって選択されたチャンネルがch1であれば接続先候補を要求するチャンネルは、ch1のほか、ch2(ch1+1),ch10(ch1−1)となる。
【0185】
ここで、視聴用チャンネルやザッピング対策チャンネルに関する接続先候補に接続すると、接続した上流装置からコンテンツパケットが送信されてくる。制御部230は、ネットワークインタフェース204を介して、上流の接続先装置から送信されるコンテンツパケットを受信し、このコンテンツパケットからコンテンツデータを取り出してリングバッファ領域220に記憶し、下流側の端末装置2がある場合には、更にそのコンテンツデータを取り出してコンテンツパケットとして下流側の端末装置2へ転送する。
【0186】
また、制御部230は、上流装置から受信したコンテンツパケットが選択チャンネルのコンテンツパケットであるか否かを判定する。選択チャンネルのコンテンツパケットであるか否かは、制御部230がネットワーク6を介して上流装置から受信したコンテンツパケットのヘッダ部に基づいて判定する。すなわち、制御部230は、コンテンツパケットのヘッダ部に含まれるチャンネル情報が、選択チャンネルであるか否かにより判定するのである。
【0187】
制御部230は、上流装置から受信したコンテンツパケットが選択したチャンネル(視聴用チャンネル)のコンテンツパケットであると判定すると、制御部230は、リングバッファ領域220に記憶したコンテンツデータを取得して再生する。コンテンツパケットの再生は、音源チップ211やビデオチップ209を動作させることによってこの機能を実現しており、リングバッファ領域220に格納したコンテンツデータのうち再生時刻となったコンテンツパケットを順次取り出して、所定のコンテンツデータ形式(たとえば、Wave形式)に変換して音源チップ211やビデオチップ209へ入力し、コンテンツの再生を行う。
【0188】
ステップS105において、制御部230は、第2配信形態でのダウンロード処理を開始する契機となったか否かを判定する。すなわち、制御部230は、第2配信形態におけるダウンロード処理を行う必要があるか否かを判定する。制御部230は、第2配信形態によるコンテンツデータのダウンロード要求の操作を検出したときに、第2配信形態におけるダウンロード処理を行う必要があると判定する。また、制御部230は、ユーザからのダウンロード要求があったと判定したコンテンツデータに関するコンテンツIDをコンテンツ投入装置4から取得した識別情報リストから取得する。
【0189】
この処理において、第2配信形態でのダウンロード処理を開始する契機となったと判定すると(ステップS105:YES)、制御部230は、自端末装置2において第1配信形態及び第2配信形態に用いられるリソースの空き状態を検出する(ステップS106)。すなわち、第1配信形態及び第2配信形態に用いられるリソースに関して、第1配信形態において視聴用チャンネル及びザッピング対策チャンネルに関する処理での使用率を検出することにより、第1配信形態に用いられる使用率を求め、第2配信形態でのダウンロード処理での使用率を予測することにより、第2配信形態に用いられる使用率を求める。そして、これらの使用率を加算して、第1配信形態及び第2配信形態に用いられるリソースの使用率を求めて、リソースの空き率を検出して、処理をステップS107に移行する。なお、リソースのうち通信帯域に関しては上りの通信帯域を検出することになる。また、第2配信形態でのダウンロード処理での使用率は、ダウンロードするコンテンツデータの種類やサイズなどから求める。
【0190】
ステップS107において、制御部230は、リソースの空きがあるか否かを判定する。リソースの空きがあるか否かは、第2配信形態でのコンテンツデータのダウンロード処理を行うためのリソースが確保できるか否かにより判定される。すなわち、ステップS106で検出したリソースの空き率が0未満になっているときには、リソースに空きがないと判定し、ステップS106で検出したリソースの空き率がある場合には、リソースに空きがあると判定する。この処理において、制御部230は、リソースに空きがないと判定すると(ステップS107:NO)、処理をステップS108に移行する。また、制御部230は、ダウンロード要求があったコンテンツデータがハードディスク装置203のコンテンツデータ記憶領域に記憶されていると判定した場合には、処理をステップS108ではなく、ステップS109に移行する。
【0191】
ステップS108において、制御部230は、第2配信形態に用いられるリソースの使用状態、すなわち第1配信形態で用いられているリソースの使用率に応じて、ザッピング対策チャンネルのうち、1以上のザッピング対策チャンネルに関する接続先装置との接続を切断して、第2配信形態でのコンテンツデータのダウンロード処理を行うためのリソースを確保する。
【0192】
一方、リソースに空きがあると判定すると(ステップS107:YES)、ザッピング対策チャンネルに関する接続先装置との接続を維持したまま、処理をステップS109に移行する。
【0193】
ステップS109において、制御部230は、ダウンロード機能の使用処理を行う。この処理において、制御部230は、まずユーザからのダウンロード要求があったと判定したコンテンツデータに関するコンテンツIDをコンテンツ投入装置4から取得した識別情報リストから取得する。
【0194】
次に、制御部230は、インデックステーブル222にコンテンツIDが存在するか否かを判定する。この処理において、インデックステーブル222にコンテンツIDが存在すると判定されると、制御部230は、インデックステーブル222からコンテンツ保持端末装置の所在情報を取得する。一方、インデックステーブル222にコンテンツIDが存在しないと判定されると、制御部230は、ルーティングテーブル223に基づいて、ネットワーク6を介して検索メッセージを他の端末装置2へ転送し、この検索メッセージに対して他の端末装置から送信されるコンテンツ保持端末装置の所在情報を取得する。
【0195】
その後、制御部230は、取得したコンテンツ保持端末装置の所在情報宛に、コンテンツ送信要求を送信する。すなわち、制御部230は、コンテンツ保持端末装置に対してダウンロード送信要求を行う。制御部230は、このダウンロード送信要求に対してコンテンツ保持端末装置から送信されるコンテンツデータを受信し、ハードディスク装置203のコンテンツデータ記憶領域に記憶することによって、ダウンロード機能の使用処理を終了し(ステップS110)、処理をステップS111に移行する。
【0196】
ステップS111において、制御部230は、ステップS105で接続を切断したザッピング対策チャンネルに関する接続の復帰処理を行う。この復帰処理は、ザッピング対策チャンネルに関する接続先候補を接続管理装置3へ要求し、この接続先候補の要求に対して接続管理装置3から送信される接続先候補に対して接続を要求することによって行われる。
【0197】
また、ステップS105において、第2配信形態でのダウンロード処理を開始する契機となっていないと判定すると(ステップS105:NO)、制御部230は、第2配信形態でのアップロード処理が開始される契機となったか否かを判定する(ステップS113)。すなわち、制御部230は、第2配信形態におけるアップロード処理を行う必要があるか否かを判定する。制御部230は、第2配信形態に参加している他の端末装置2からコンテンツデータのダウンロード要求を受信したときに、第2配信形態におけるアップロード処理を行う必要があると判定する。
【0198】
この処理において、第2配信形態でのアップロード処理を開始する契機でないと判定すると(ステップS112:NO)、その他のデータを受信又はその他のユーザの指示を受けたか否かを判断する(ステップS119)。そして、その他のデータを受信又はユーザの指示を受けたと判断すると(ステップS119:YES)、制御部230は、そのデータ又は指示に応じた処理を行う(ステップS120)。
【0199】
また、ステップS112において、第2配信形態でのアップロード処理を開始する契機となったと判定すると(ステップS112:YES)、制御部230は、自端末装置2において第1配信形態及び第2配信形態に用いられるリソースの空き状態を検出する(ステップS112)。このときの処理は、基本的にステップS106の処理と同様であるが、リソースのうち通信帯域に関しては下りの通信帯域を検出することになる。
【0200】
ステップS114において、制御部230は、リソースの空きがあるか否かを判定する。リソースの空きがあるか否かは、第2配信形態でのコンテンツデータのアップロード処理を行うためのリソースが確保できるか否かにより判定される。このときの処理は、基本的にステップS107の処理と同様であるが、リソースのうち通信帯域に関しては下りの通信帯域である。この処理において、制御部230は、リソースに空きがないと判定すると(ステップS114:NO)、処理をステップS115に移行する。
【0201】
ステップS115において、制御部230は、第2配信形態に用いる必要があるリソースの使用状態、すなわち第2配信形態に用いられるリソースの使用状態に応じて、ザッピング対策チャンネルのうち、1以上のザッピング対策チャンネルに関する接続先装置との接続を切断して、第2配信形態でのコンテンツデータのアップロード処理を行うためのリソースを確保する。
【0202】
一方、リソースに空きがあると判定すると(ステップS114:YES)、ザッピング対策チャンネルに関する接続先装置との接続を維持したまま、処理をステップS116に移行する。
【0203】
ステップS116において、制御部230は、アップロード機能の使用処理を行う。この処理において、制御部230は、他の端末装置2からダウンロード要求があったコンテンツデータをハードディスク装置203のコンテンツデータ記憶領域から取り出して、ダウンロード要求を行った他の端末装置2に送信することによってアップロード処理を行い、このアップロード処理が終了する(ステップS117)と、アップロード機能の使用処理を終了し、処理をステップS118に移行する。
【0204】
ステップS118において、制御部230は、ステップS115で接続を切断したザッピング対策チャンネルに関する接続の復帰処理を行う。この復帰処理は、ステップS111と同様に、ザッピング対策チャンネルに関する接続先候補を接続管理装置3へ要求し、この接続先候補の要求に対して接続管理装置3から送信される接続先候補に対して接続を要求することによって行われる。
【0205】
ステップS111、ステップS118又はステップS120の処理が終了したとき、ステップS119において、他のデータを受信又はユーザの指示を受けていないと判断したとき(ステップS119:NO)、制御部230は、自端末装置2の電源がOFFとなっているか否かを判定する(ステップS121)。この処理において、自端末装置2の電源がOFFとなっていると判定すると(ステップS121:YES)、制御部230は、処理を終了する。一方、自端末装置2の電源がOFFとなっていないと判定すると(ステップS121:NO)、制御部230は、処理をステップS105に戻して、ステップS105〜S121までの処理を繰り返す。
【0206】
以上のように、本実施形態の端末装置2によれば、第1配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後、グリッド型接続などの第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第2配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのコンテンツ購入処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続(再参加)するようにしているので、リソースが限られている端末装置であっても、ザッピング対策を施しつつ、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0207】
なお、本実施形態における端末装置2では、リソースとして、CPUの処理能力、メモリの容量及び通信帯域の全てについて、使用状態を検出するようにしたが、これに限られず、これらのうち一つ又は2つを検出するリソースとするようにしてもよい。また、リソースとして、CPUの処理能力、メモリの容量及び通信帯域を例示的に示したが、これに限られない。
【0208】
[4.変形例1]
上記実施形態においては、ルート端末装置がリクエスト端末装置に対してコンテンツデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得するものであったが、ルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するようにしてもよい。
【0209】
この場合、図19に示すように、ルート端末装置2Zは、リクエスト端末装置2Xから要求されたコンテンツデータを保持するコンテンツ保持端末装置2Yの所在情報をインデックステーブル222から取り出す。そして、当該コンテンツ保持端末装置2Yの所在情報に基づいて、リクエスト端末装置2Xの所在情報を含めたコンテンツデータの送信要求をコンテンツ保持端末装置2Yへ送信する。コンテンツ保持端末装置2Yは、コンテンツデータの送信要求を受信すると、このコンテンツデータの送信要求に含まれるリクエスト端末装置2Xの所在情報に対して、コンテンツデータの送信要求に対応するコンテンツデータを送信することになる。
【0210】
すなわち、端末装置2の制御部230は、リクエスト端末装置2Xからコンテンツ検索メッセージをルート端末装置2Zとして受信したとき、コンテンツ保持端末装置情報返信手段の機能に代えて、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置2Yの所在情報を宛先として、リクエスト端末装置2Xの所在情報を含めたコンテンツデータの送信要求を送信するコンテンツデータ送信要求手段として機能する。
【0211】
なお、リクエスト端末装置2Xは、ダウンロード先検索手段によってコンテンツ検索メッセージを送信し、ダウンロードデータ受信手段は、このコンテンツ検索メッセージに応じたコンテンツデータをコンテンツ保持端末装置2Yから受信する。
【0212】
このようにルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するように第2配信形態を構成することも可能である。
【0213】
[5.その他の変形例]
また、第2配信形態として、Pastry型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるkademlia型、chord型、Viceroy型、CAN型などのコンテンツ配信システムにも本発明を適用可能である。
【図面の簡単な説明】
【0214】
【図1】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図2】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図3】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図4】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図5】本実施形態に係るコンテンツ配信システムの第1配信形態の配信動作説明図である。
【図6】図1の端末装置におけるリングバッファ領域の機能を概念的に表した図である。
【図7】本実施形態に係るコンテンツ配信システムの第2配信形態の配信動作説明図である。
【図8】DHTによってルーティングテーブルが作成される様子の一例を示す図である。
【図9】図1の端末装置におけるルーティングテーブルの一例を示す図である。
【図10】端末装置が第2配信形態へ参加する様子の一例を示す図である。
【図11】DHTルーティングによりコンテンツデータを保持している端末装置2が検索される様子の一例を示す図である。
【図12】DHTルーティングによりコンテンツデータが端末装置に保持される様子の一例を示す図である。
【図13】DHTルーティングにより登録メッセージがルート端末装置に送信される一例を示す図である。
【図14】図1の端末装置におけるインデックステーブルの一例を示す図である。
【図15】図1の端末装置の概略構成例を示す図である。
【図16】第1配信形態における端末装置の表示画面の一例を示す図である。
【図17】第2配信形態における端末装置の表示画面の一例を示す図である。
【図18】図1の端末装置における処理全体を示すフローチャートである。
【図19】変形例1におけるコンテンツ配信システムの概要動作例を示す図である。
【符号の説明】
【0215】
S コンテンツ配信システム
1 コンテンツ配信装置
2 端末装置
3 接続管理装置
4 コンテンツ投入装置
5 コンタクト先紹介装置
6 ネットワーク
230 制御部
【技術分野】
【0001】
本発明は、コンテンツデータ配信の技術に関する。詳細には、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置が階層構造で多層に論理接続され、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流に中継され、複数の端末装置によってコンテンツデータを再生可能としたコンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラムに関する。
【背景技術】
【0002】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」と呼ぶ。)のストリーミング配信を行うコンテンツ配信サービスが開始されてきている。ここで、ストリーミング配信とは、クライアント端末装置(以下、単に「端末装置」と呼ぶ。)がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
【0003】
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であったが、近年、端末装置間でのコンテンツデータの中継、すなわちP2P通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツ配信システムが提案されている(例えば、特許文献1参照)。
【0004】
このコンテンツ配信システムは、コンテンツ配信装置を頂点としたツリー状階層構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
【0005】
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層(第1階層)に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第2階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下層に位置する端末装置へ配信するまで行うものである。
【0006】
ところで、このコンテンツ配信システムにおいて、複数の放送チャンネル(以下、単に「チャンネル」とも呼ぶ。)によりコンテンツデータをストリーミング配信する場合、コンテンツ配信装置を頂点としたツリー状階層構造は、チャンネル毎に構成されることになる。
【0007】
従って、端末装置のユーザが、視聴しているチャンネルとは異なるチャンネルのコンテンツデータを視聴するためにチャンネルを切替える操作を行った場合、視聴しているチャンネルに対応するツリー状階層構造とは異なるツリー状階層構造に参加することになる。
【0008】
しかしながら、端末装置のユーザが視聴するチャンネルを切替えたとき、切替先のチャンネルのツリー状階層構造に参加するためには多くの時間を要する。
【0009】
すなわち、ユーザがチャンネルを切替える操作を行った場合、端末装置は、接続管理装置に対して新たな階層構造における接続先となる他の端末装置を紹介してもらう処理や、NAT(Network Address Translation)を越える処理を行う必要があり、これらの処理が終了するまで新たな階層構造に参加することができず、ユーザがチャンネルを切替える操作を行っても、即座に接続先を切替えることができないのである。
【0010】
このようなユーザによるチャンネル切替え(以下、「ザッピング」とも呼ぶ)の問題に対処する方法として、コンテンツデータに他のチャンネルに関する要約データ(対策用のコンテンツデータ)を重畳して配信しておくことにより、ユーザによるチャンネル切替操作から端末装置が新たな他の端末装置に接続するまでの時間を短縮させる情報閲覧方法を用いたコンテンツ配信システムが提案されている(たとえば、特許文献2参照。)。
【特許文献1】特開2006−033514号公報
【特許文献2】特開2003−324711号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、視聴しているチャンネルのコンテンツデータとザッピング対策用の他のチャンネルのコンテンツデータとを端末装置において同時に受信することになるため、端末装置においてネットワークを介して他の装置との通信を行う場合には、当該他の装置との通信に利用するリソースを十分に確保することができない恐れがある。
【0012】
すなわち、ツリー状階層構造を有するコンテンツ配信システムに参加すると、視聴していないコンテンツデータまでも受信することになり、端末装置のCPUの処理能力、メモリの容量、或いはネットワークとの通信の帯域などのリソースに不足が生じ、結果的に端末装置におけるコンテンツデータの送受信処理を十分に行うことができなくなる恐れがある。
【0013】
本発明は、以上の不都合に鑑みてなされたものであり、視聴していないチャンネルのコンテンツデータをザッピング対策のために受信するようにした場合であっても、端末装置における他の通信への影響を抑えることができるコンテンツ配信システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記課題を解決するために、請求項1に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムであって、前記コンテンツ配信装置は、前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、前記接続管理装置は、前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段とを備えることを特徴とする。
【0015】
また、請求項2に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段とを備えることを特徴とする。
【0016】
また、請求項3に記載の発明は、請求項2に記載の発明において、前記端末装置は、前記第2配信形態に用いるリソースの使用量を検出するリソース使用量検出手段と、前記リソース使用量検出手段による検出結果に基づいて、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定するリソース不足判定手段と、前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していると判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断することを特徴とする。
【0017】
また、請求項4に記載の発明は、請求項1から3のいずれか1項に記載の発明において、前記リソース不足判定手段は、前記リソースが不足しているときに、前記リソースの不足量を判定し、前記切断処理手段は、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数あるときに、これらのチャンネルのうち、前記リソースの不足量に応じた数のチャンネルに関する接続先装置との接続を切断することを特徴とする。
【0018】
また、請求項5に記載の発明は、請求項4に記載の発明において、前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していないと判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先装置との接続の切断を行わないことを特徴とする。
【0019】
また、請求項6に記載の発明は、請求項3又は請求項4に記載の発明において、前記端末装置は、前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記第2配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記接続状態にあるチャンネルの前記接続先候補との接続を前記切断処理手段によって切断せず、前記第2配信形態によって前記コンテンツデータのダウンロードを行わないことを特徴とする。
【0020】
また、請求項7に記載の発明は、請求項2から6のいずれか1項に記載の発明において、前記リソースは、前記端末装置におけるCPUの処理能力、メモリの容量及び前記ネットワークとの通信帯域のうちの少なくともいずれか一つであることを特徴とする。
【0021】
また、請求項8に記載の発明は、請求項2から7のいずれか1項に記載の発明において、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードが完了すると、前記切断処理手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続処理手段を備えたことを特徴とする。
【0022】
また、請求項9に記載の発明は、コンピュータを、請求項2〜8のいずれか1項に記載の端末装置における各手段として機能させるためのプログラムとした。
【0023】
また、請求項10に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続先紹介要求毎に、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、前記接続管理装置が、前記接続先紹介要求毎に、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加するステップと、前記端末装置が、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断するステップとを有することを特徴とする。
【発明の効果】
【0024】
請求項1,2,9,10に記載の発明によれば、第1配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後、グリッド型接続などの第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第2配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退するようにしているので、端末装置のリソースを効率的に使用することができ、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0025】
また、請求項3に記載の発明によれば、第2配信形態に用いるリソースの使用量を検出し、その検出結果に基づいて、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足していると判定されたとき、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、従来であれば第2配信形態に用いるリソースが不足するようなときであっても、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0026】
また、請求項4に記載の発明によれば、第2配信形態に用いるリソースが不足しているときに、その不足量に応じた数のザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、ザッピング対策チャンネルの階層構造からの脱退を必要最小限で行うことができ、効率的に第1配信形態と第2配信形態との両立を図ることができる。
【0027】
また、請求項5に記載の発明によれば、第2配信形態に用いるリソースの使用量を検出し、その検出結果に基づいて、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足していないと判定されたとき、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、第2配信形態に用いるリソースが不足しないようなときには、ザッピング対策チャンネルの階層構造は保持されたままであり、再接続の煩雑さを回避することができる。
【0028】
また、請求項6に記載の発明によれば、購入するコンテンツデータがすでにコンテンツデータ記憶手段に蓄積されているときには、コンテンツデータ記憶手段に記憶されたコンテンツデータを使用する。従って、新たに第2配信形態でコンテンツデータを取得するのに比べダウンロード処理を短縮することができる。たとえば、端末装置がコンテンツ保持端末装置であった場合、コンテンツ保持端末装置に対応するコンテンツデータをダウンロードする場合には、自端末装置に記憶しているコンテンツデータを用いることができる。
【0029】
また、請求項7に記載の発明によれば、リソースは 、端末装置におけるCPUの処理能力、メモリの容量及びネットワークとの通信の帯域のうちの少なくともいずれか一つであり、これらは第1配信形態と第2配信形態とで共通に用いるものであり、CPU、メモリ及び通信帯域の使用率に応じてザッピング対策チャンネルからの脱退処理を行うことにより、第2配信形態でのダウンロードやアップロードの阻害要因を低減することができる。
【0030】
また、請求項8に記載の発明によれば、第2配信形態でのダウンロード処理やアップロード処理が終了したら、第2配信形態でのダウンロード処理やアップロード処理を行うために脱退したザッピング対策チャンネルの階層構造に自動的に再接続(再参加)するので、第2配信形態でのダウンロード処理やアップロード処理を行う前の状態に自動的に戻り、ザッピング対策を行うことができる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとしたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【0032】
[1.コンテンツ配信システムの構成等]
図1は、本実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。図1に示す物理接続形態のように、コンテンツ配信システムSを構成するコンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8、接続管理装置3、コンテンツ投入装置4、コンタクト先紹介装置5は、インターネットに代表されるネットワーク6上に分散配置されている。なお、コンテンツ配信システムSに直接関係ない装置もネットワーク6に接続されるが、ここでは省略している。また、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8のいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置2という場合がある。
【0033】
コンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8、接続管理装置3、コンテンツ投入装置4、コンタクト先紹介装置5には、各装置を識別する情報としての固有の製造番号(たとえば、MACアドレス)及びIP(Internet Protocol)アドレス(所在情報)が割り当てられており、これら装置は、ネットワークの一例としてのネットワーク6にルータ10等を介して接続されている。すなわち、目的の接続先装置のIPアドレスを宛先IPアドレス、自装置のIPアドレスを送信元IPアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
【0034】
図1に示す例では、コンテンツ配信装置1、接続管理装置3、コンテンツ投入装置4、コンタクト先紹介装置5は、それぞれ独立した装置としているが、一つの装置においてこれらの装置の機能を実現するようにしてもよい。この場合にはこれらの装置のIPアドレスは同一のものとなり、ポート番号などで区別されることになる。
【0035】
本実施形態におけるコンテンツ配信システムは、複数の放送チャンネル(以下、単に「チャンネル」と呼ぶ。)でそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置1を頂点として複数の端末装置2がネットワーク上にチャンネル毎に階層構造で多層に論理接続されるように接続管理装置3によって管理され、コンテンツ配信装置1から送信されるコンテンツデータがチャンネル毎に階層構造の上流の端末装置2から下流の端末装置2にかけて順次端末装置2の中継機能によってストリーミング配信される第1配信形態と、複数の端末装置2間において、一つの端末装置2からのコンテンツデータのダウンロード要求に基づいてコンテンツデータを保持する他の端末装置2がコンテンツデータを配信する第2配信形態とを有している。なお、コンテンツ配信装置1は、複数のチャンネルのコンテンツデータを配信する機能を有することとして以下説明するが、コンテンツ配信装置1をチャンネル毎に設けてもよい。
【0036】
そして、端末装置2のユーザが第1配信形態によりコンテンツ配信装置1からのコンテンツデータを視聴するときには、当該端末装置2は、視聴対象のチャンネル(以下、「視聴用チャンネル」と呼ぶ。ここでは、チャンネルch1〜chNのN個のチャンネルがあるものとする。)の階層構造に参加するとともに、視聴用チャンネル以外のチャンネルであって、視聴用チャンネルと所定の関係を有するチャンネル(以下、「ザッピング対策チャンネル」と呼ぶ。)の階層構造にも参加するようにしている。
【0037】
従って、端末装置2のユーザによる視聴用チャンネルの切替え操作(以下、「ザッピング」と呼ぶ。)が行なわれた場合に、ザッピング対策チャンネルによって、ユーザによるチャンネル切替操作から新たなチャンネルのコンテンツデータを視聴できるまでの時間を短縮させることができる。なお、本実施形態においては、説明の便宜上ザッピング対策チャンネルを2つのチャンネル(第1ザッピング対策チャンネルB及び第2ザッピング対策チャンネルC)とする。
【0038】
図2には、端末装置2Xが第1配信形態における視聴用チャンネルであるチャンネルAの階層構造に加えて、第1ザッピング対策チャンネルBの階層構造及び第2ザッピング対策チャンネルCの階層構造に参加している状態を模式的に示している。ここで、チャンネルの階層構造に参加するとは、チャンネルの階層構造を構成する端末装置(接続先装置)に接続することを意味し、チャンネルに接続という場合がある。
【0039】
このように端末装置2Xが視聴用チャンネルA、第1ザッピング対策チャンネルB及び第2ザッピング対策チャンネルCに接続している状態で、端末装置2Xのユーザが第2配信形態によってコンテンツデータを取得するための操作を行うと、端末装置2Xは、所定の条件下、ザッピング対策チャンネルとの接続を切断し、第2ザッピング対策チャンネルの階層構造から脱退する。図3に示す例では、2つのザッピング対策チャンネルの階層構造のうち、第2ザッピング対策チャンネルCの階層構造のみからの脱退が行われているが、脱退するザッピング対策チャンネルの数は、後述で詳説するように、第2配信形態に用いる端末装置2Xのリソースの使用状態に応じて変動させている。ここで、チャンネルの階層構造から脱退するとは、チャンネルの階層構造を構成する接続先装置との接続を切断することを意味する。
【0040】
その後、端末装置2Xは、図4に示すように、コンテンツ検索メッセージを送信して、ルート端末装置2Zからコンテンツ保持端末装置2Yの所在情報を取得する。その後、端末装置2Xは、コンテンツ保持端末装置2Yに対してコンテンツデータの送信要求を行い、第2配信形態によってコンテンツデータを取得する。
【0041】
第2配信形態によるコンテンツデータ受信が完了すると、端末装置2Xは、第2配信形態によってコンテンツデータを取得する際に脱退した第2ザッピング対策チャンネルCの階層構造に再接続することによって脱退したザッピング対策チャンネルの階層構造に再参加する。
【0042】
また、端末装置Xは、第2配信形態において配信するコンテンツデータを保持しており、かつ視聴用チャンネルA、第1ザッピング対策チャンネルB及び第2ザッピング対策チャンネルCに接続している状態で、第2配信形態に参加している他の端末装置2から保持しているコンテンツデータのダウンロード要求があると、所定の条件下、ザッピング対策チャンネルに関する接続先装置との接続を切断し、ザッピング対策チャンネルの階層構造から脱退して、その他の端末装置に対してコンテンツデータをアップロードする。第2配信形態によるコンテンツデータのアップロードが完了すると、端末装置2Xは、第2配信形態によってコンテンツデータをアップロードする際に脱退したザッピング対策チャンネルに再接続することによって脱退したザッピング対策チャンネルの階層構造に再参加する。
【0043】
以上のように、本実施形態におけるコンテンツ配信システムSでは、端末装置2のユーザが、第1配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、端末装置2において、視聴用チャンネルと一定の関係を有するザッピング対策チャンネルの階層構造に参加し、その後、第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第2配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのダウンロード処理又はアップロード処理が終了したら脱退したザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、ザッピング対策を施しつつ、端末装置のリソースを効率的に使用して、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0044】
以下、本実施形態におけるコンテンツ配信システムSについて、更に具体的に図面を参照して説明する。
【0045】
[1.1.第1配信形態について]
コンテンツ配信システムSの第1配信形態は、図1に示すように、コンテンツ配信装置1を頂点として複数の端末装置2a1,2a2,2b1〜2b4,2c1〜2c8がツリー状階層構造で多層に論理接続されており、コンテンツ配信装置1からコンテンツデータが当該ツリー状階層構造の上流の端末装置2から下流の端末装置2かけて順次端末装置2の中継機能によってストリーミング配信されるように構成される。このツリー状階層構造は、コンテンツ配信装置1が配信するチャンネル毎に構成される。
【0046】
このコンテンツ配信システムSの第1配信形態においては、チャンネル毎にコンテンツ配信装置1を頂点(ここでは、便宜上第0階層とする。)として複数の端末装置2がツリー状階層構造で多層に論理接続されるように接続管理装置3によって管理される。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置2がチェーン状の階層構造で多層に論理接続されるようにしてもよい。また、端末装置2a1,2a2は便宜上端末装置2aと、端末装置2b1〜2b4は便宜上端末装置2bと、端末装置2c1〜2c8は便宜上端末装置2cという場合がある。
【0047】
ここで、第1配信形態におけるコンテンツデータの配信動作について、図5を参照して簡単に説明する。図5はコンテンツ配信システムSにおける第1配信形態の配信動作説明図である。
【0048】
接続管理装置3は、チャンネル毎にツリー状階層構造を構成する端末装置2の接続状態情報を記憶する接続状態情報記憶手段としての記憶部と、ネットワーク6を介して端末装置2から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択手段と、この接続先候補選択手段によって選択された接続先候補の情報を、接続先紹介要求を送信した端末装置2へネットワーク6を介して通知する通知手段と有している。なお、接続先候補とは、接続先紹介要求を送信した端末装置がチャンネルの階層構造に参加する際に、階層構造の上流の装置として接続する装置の候補を意味し、ここでは、コンテンツ配信装置1又は端末装置2を指す。
【0049】
そして、接続管理装置3は、図5に示すように、コンテンツ配信システムSにおける第1配信形態に参加していない端末装置2、言い換えればチャンネルのいずれのツリー状階層構造も構成していない端末装置2から接続先紹介要求を受信すると、第1配信形態のツリー状階層構造の状態等に基づいて、その端末装置2がストリーミング配信を受けるための上流の装置として接続する接続先候補を選択する。そして、接続管理装置3は、このように選択した接続先候補の所在情報(接続先候補のIPアドレスやポート番号など)及び通信プロトコル等を端末装置2に通知する。また、接続先紹介要求は、例えば、端末装置2がチャンネルに接続するとき、他のチャンネルに切り替えるとき、或いは上流装置との接続が切断されたときに端末装置2から送信される。なお、コンテンツ配信システムSにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置2へのポート番号及び通信プロトコルは通知しなくてもよい。
【0050】
端末装置2は、接続管理装置3から接続先候補の所在情報を受信すると、その所在情報を宛先として接続先候補に対し、コンテンツ配信システムSへの参加(接続)を要求し、これにより端末装置2がコンテンツ配信システムSの第1配信形態における階層構造へ組み込まれる。すなわち、端末装置2はコンテンツ配信装置1から配信されるコンテンツデータを直接又は他の端末装置2を介して受信可能となる。
【0051】
コンテンツ配信システムSにおける第1配信形態は、このように端末装置2が次々と各チャンネルに参加することによって、コンテンツ配信装置1を頂点として複数の端末装置2がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置1から配信されるコンテンツデータは、端末装置2の中継機能により順次下流の端末装置2へ中継されて複数の端末装置2にストリーミング配信される。
【0052】
すなわち、コンテンツ配信装置1には、ネットワーク6を介してチャンネル毎にコンテンツデータをストリーミング配信する配信手段が設けられており、図5に示すように、コンテンツ配信装置1から端末装置2a1,2a2(第1層の端末装置)へコンテンツデータが送信され、端末装置2a1,2a2はコンテンツデータを受信すると、下流の端末装置2b1〜2b4(第2階層の端末装置)へ受信したコンテンツデータを順次中継する。端末装置2b1〜2b4はコンテンツデータを受信すると、下流の端末装置2c1〜2c8(第3階層の端末装置)へ受信したコンテンツデータを順次中継する。なお、図5においては、理解を容易にするため、複数のチャンネルのうち一つのチャンネルの階層構造のみを表している。
【0053】
端末装置2は、組み込まれた階層構造の位置の上流の端末装置2又はコンテンツ配信装置1の所在情報と、組み込まれた階層構造の位置の下流の端末装置2の所在情報とを後述のハードディスク装置203に記憶しており、このように記憶した所在情報に基づいて、コンテンツデータの受信及び中継を行うようにしている。また、配信されるコンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このようにパケットに分割されて配信されるデータをコンテンツパケットという。
【0054】
このように端末装置2へ配信されるコンテンツデータは、チャンネル毎にその階層構造を構成する端末装置2へ配信される。配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻情報が含まれている。そして、コンテンツデータを受信した複数の端末装置2は、順次送信されるコンテンツデータの再生を再生時刻情報に基づいて行う。
【0055】
ここで、端末装置2におけるリングバッファ領域について説明する。図6は、端末装置2におけるリングバッファ領域を用いてコンテンツデータを受信し、再生或いは下流の端末装置2へ中継する構成を概念的に表した図である。このリングバッファ領域は、参加したチャンネル毎に設けられるものであり、視聴用チャンネルAのためのリングバッファ領域のほか、ザッピング対策チャンネルのためのリングバッファ領域も設けられることになる。
【0056】
端末装置2は、第1配信形態に参加したときに、参加したチャンネルにおける階層構造の上流の装置からストリーミング配信されるコンテンツパケットをストリーミング受信器によって順次受信し、受信したコンテンツパケットに含まれるコンテンツデータをリングバッファ領域に一時的に蓄積する。リングバッファ領域に一時的に蓄積されたコンテンツデータは、その再生時刻になると、端末装置2の再生手段であるプレイヤによってリングバッファ領域から取り出されて再生される。
【0057】
ここで、図6に示すように、リングバッファ領域には時計回りの方向で新しいコンテンツデータが順次蓄積され、最も古いコンテンツデータが新しいコンテンツデータに書き換わるように構成されている。すなわち、ストリーミング受信器によってリングバッファ領域に書き込まれるポイントをAとすると、このポイントAが時計回りに移動していくのである。
【0058】
なお、図6におけるリングバッファ領域は概念的に示したものであり、実際にリング形状をしているのではなく、端末装置2の制御手段が、記憶領域における所定アドレス領域に蓄積した最も古いコンテンツデータを順次新しいコンテンツデータに書き換えることにより実現するものである。
【0059】
また、コンテンツデータには上述のように再生時刻情報が格納されており、プレイヤはリングバッファ領域に蓄積したコンテンツデータのうち、現時刻と合致する再生時刻情報を有するコンテンツデータ(ここでは、図6中Bのポイントのコンテンツデータ)をリングバッファ領域から取り出して順次再生する。なお、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されない。
【0060】
このように端末装置2は、コンテンツデータを一時的に蓄積するリングバッファ領域を設けることによって、コンテンツパケットをプリバッファリングしながらパケット損失に対する補完を行い、ネットワーク6の経路上で発生するパケット損失の影響を回避するようにしている。
【0061】
以上のように、コンテンツ配信システムSの第1配信形態では、コンテンツ配信装置1から送信されたコンテンツデータが複数の端末装置2にストリーミング配信され、複数の端末装置2において同時刻にコンテンツを再生することができる。すなわち、コンテンツ配信システムSは、P2Pを用いて複数の端末装置2への放送形式のストリーミング配信を実現している。
【0062】
[1.2.第2配信形態について]
次に、図7を参照して、コンテンツ配信システムSにおける第2配信形態の概要構成等について説明する。図7は、本実施形態に係るコンテンツ配信システムSにおける第2配信形態を示す図である。この第2配信形態は、P2Pグリッド型配信システムであり、本実施形態においては、分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用することによりネットワーク上に分散配置された複数の端末装置2間でコンテンツデータの送受信を行う配信形態を例に挙げて説明する。
【0063】
[1.2.1 DHTの概要]
まず、本実施形態に係るDHTを利用したアルゴリズムについて説明する。
【0064】
コンテンツ配信システムSの第2配信形態において、当該端末装置2同士が、互いに情報をやり取りする際には、お互いの所在情報としてのIPアドレスを知っていなければならない。
【0065】
例えば、複数の端末装置間でコンテンツを互いに共有するシステムにおいては、ネットワーク6に参加している各端末装置2が互いにネットワーク6に参加している全ての端末装置2のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全ての端末装置2のIPアドレスを覚えておくのは現実的ではない。また、任意の端末装置2の電源が頻繁にON或いはOFFとすると、各端末装置2において記憶している当該任意の端末装置2のIPアドレスの更新が頻繁になり、運用上困難となる。
【0066】
そこで、1台の端末装置2では、ネットワーク6に参加している全ての端末装置2のうち、必要最低限の一部の端末装置2のIPアドレスだけを記憶しておき、IPアドレスを記憶していない端末装置2については、各端末装置2間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
【0067】
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図7に示すような、オーバーレイネットワークが構築されることになる。つまり、このオーバーレイネットワークは、既存のネットワーク6を用いて形成された仮想的なリンク(論理接続)を構成するネットワークであり、P2Pグリッド型配信形態である。
【0068】
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワークを前提としており、このオーバーレイネットワーク上に配置された端末装置2を、コンテンツ配信システムSの第2配信形態に参加している端末装置2という。なお、コンテンツ配信システムSの第2配信形態への参加は、未だ参加していない端末装置2が、すでに参加している端末装置2に対して参加要求を送ることによって行われる。
【0069】
コンテンツ配信システムSの第2配信形態に参加している各端末装置2の識別番号である端末IDとして、それぞれの端末装置2毎にユニークな番号(固有番号)を付与する。この番号は、端末装置2の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128≒340×1036台の端末装置2を運用できる。
【0070】
より具体的には、各端末装置2の端末IDは、それぞれの端末装置2のIPアドレス或いは製造番号等の端末装置2毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。
【0071】
また、コンテンツ配信システムSの第2配信形態に参加している複数の端末装置2には、図7に示すように、一の端末装置2から他の端末装置2に配信されるコンテンツデータがコンテンツ投入装置4によって分散して端末装置2に投入されるが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別情報(以下、「コンテンツID」と呼ぶ。)を付与する。
【0072】
そして、当該コンテンツIDは、端末IDと同様の長さ(例えば、128bit等)とし、例えば、コンテンツの名称(コンテンツのタイトル名)やコンテンツの概要情報(あらすじ)等のキーワードが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、端末装置2のIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)端末IDを有する端末装置2が、コンテンツデータを保持する端末装置2(以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報、すなわちコンテンツ保持端末装置の所在情報であるIPアドレスを保持する。
【0073】
コンテンツ保持端末装置は、コンテンツ投入装置4によってランダムに決定される。すなわち、コンテンツ投入装置4は、コンテンツデータを保持すべき1以上の端末装置2をランダムに決定し、このように決定した端末装置にコンテンツデータを送信する。コンテンツ投入装置4からコンテンツデータを受信した端末装置は、コンテンツデータを記憶部に保持することによってコンテンツ保持端末装置として機能する。これにより、コンテンツデータが偏りなくコンテンツ配信システムS上に分散して配置される。
【0074】
なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等)の組み合わせとすればよい。本実施形態においては、コンテンツの名称は重複しないものとし、コンテンツの名称をキーワードとするものとする。
【0075】
このように、各端末装置2及び各コンテンツデータに付与された端末ID及びコンテンツIDは、共通のハッシュ関数によって生成するため、図7に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ID及びコンテンツIDを付与し、図示したものである。図中丸点は端末IDを、四角形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
【0076】
次に、どの端末装置2に、どのコンテンツデータが保持されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツデータを管理する端末装置2は、そのコンテンツIDに近い端末IDを有する端末装置2である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDと端末IDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置2に割り振る際に、一貫していればよい。図7に示す例では、この定義に基づいて、コンテンツIDaは、当該コンテンツIDaに近い端末ID(以下、「端末IDa」と呼ぶ。)を有する端末装置2に管理され、コンテンツIDbは、当該コンテンツIDbに近い端末ID(以下、「端末IDb」と呼ぶ。)を有する端末装置2に管理され、コンテンツIDcは、当該コンテンツIDcに近い端末ID(以下、「端末IDc」と呼ぶ。)を有する端末装置2に管理される。
【0077】
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータがいずれの端末装置2に保持されているかを知っている」ことを意味する。すなわち、図7において、端末IDaを有する端末装置2は、コンテンツIDaを有するコンテンツデータがいずれの端末装置2に保持されているかを知っており、端末IDbを有する端末装置2及び端末IDcを有する端末装置2も同様にそれぞれコンテンツIDbを有するコンテンツデータ及びコンテンツIDcを有するコンテンツデータがいずれの端末装置2に保持されているかを知っている、ということになる。
【0078】
このように、あるコンテンツデータがいずれの端末装置2に保持されているかを知っている端末装置2を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末IDaを有する端末装置2は、コンテンツIDaを有するコンテンツデータのルート端末装置であって、端末IDbを有する端末装置2は、コンテンツIDbを有するコンテンツデータのルート端末装置であって、端末IDcを有する端末装置2は、コンテンツIDcを有するコンテンツデータのルート端末装置である。
【0079】
ここで、コンテンツ投入装置4は、コンテンツ配信システムS内の端末装置2をコンテンツ保持端末装置とするためにコンテンツデータを端末装置2へ配布する機能のほか、端末装置2に配布した複数のコンテンツデータ(言い換えれば、コンテンツ保持端末装置が保持しているコンテンツデータ)をそのコンテンツの名称とコンテンツIDとを関連付けた識別情報リストである識別情報リストを生成して端末装置2へ提供する機能を有している。
【0080】
また、コンテンツ配信システムSの第2配信形態においては、コンタクト先紹介装置5が配置されている。このコンタクト先紹介装置5は、コンテンツ配信システムSの第2配信形態に参加していない端末装置2からこの第2配信形態への参加要求があったときに、未参加の端末装置2が参加メッセージを送信する既参加の端末装置2(以下、「コンタクト先端末装置」と呼ぶ。)の所在情報を通知する機能を有している。
【0081】
[1.2.2 ルーティングテーブルの作成]
ここで、図8を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図8は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
【0082】
まず、図8(a)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8bitの4進数で表すことにする。そして、端末装置2Nの端末IDを「1133」とし、この端末装置2Nのルーティングテーブルを作る一例について説明する。
【0083】
(レベル1のルーティング)
まず、ID空間を4分割とした場合、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。端末装置2Nは、当該端末装置2N自身の端末IDが「1133」であるため、図8(a)中左下「1XXX」のエリアに存在することになる。そして、端末装置2Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在する端末装置2を適当に選択し、当該端末IDの所在情報、すなわち、当該端末IDのIPアドレスをレベル1のテーブルに記憶する。図9がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末IDとして「0100」、「2XXX」のエリアの端末IDとして「2133」、「3XXX」のエリアの端末IDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目は端末装置2N自身を示しているため、IPアドレスを記憶する必要はない。
【0084】
(レベル2のルーティング)
次に、図8(b)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「1XXX」を更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11xx」以外のエリアに存在する端末装置2を適当に選択し、当該端末IDの所在情報であるIPアドレスをレベル2のテーブルに記憶する。図9がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末IDとして「1003」、「12XX」のエリアの端末IDとして「1221」が、「13XX」のエリアの端末IDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目は端末装置2Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置2が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
【0085】
(レベル3のルーティング)
更に、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11XX」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置2を適当に選択し、当該端末IDの所在情報であるIPアドレスをレベル3のテーブルに記憶する。図9がレベル3のテーブルの一例である。レベル3の4列目は端末装置2Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
【0086】
このようにして、レベル4まで同様にルーティングテーブルを図9に示す如く作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【0087】
以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置2が夫々作成して所有することになる。このように、各端末装置2は、コンテンツ配信システムSにおける複数の端末装置2のうち一部の端末装置2の端末ID(識別情報)とIPアドレス(所在情報)とを関連付けたルーティングテーブルを有しており、このルーティングテーブルは後述のルーティングテーブル記憶領域に記憶される。
【0088】
ところで、端末装置2は、第2配信形態に未参加のときには、第2配信形態に参加している端末装置2の所在情報などを知らない。そのため、端末装置2は、第2配信形態に参加するときには、次の項で説明するように、ルーティングテーブルを生成する。
【0089】
[1.2.3.第2配信形態への参加]
次に、図10を参照して、コンテンツ配信システムSにおける第2配信形態に未参加の端末装置2が当該第2配信形態へ参加する方法の一例について説明する。図10は、第2配信形態に未参加の端末装置2M(以下、「新規参加端末装置2M」と呼ぶ。)が当該第2配信形態へ参加する様子の一例を示す図である。
【0090】
まず、第2配信形態に未参加である新規参加端末装置2Mは、コンテンツ配信システムSの第2配信形態に参加するために、コンタクト先紹介装置5に対して、参加メッセージを送信すべきコンタクト先端末装置の所在情報を要求する。
【0091】
新規参加端末装置2Mは、コンタクト先紹介装置5から参加メッセージを送信すべきコンタクト先端末装置の所在情報が送られてくると、コンタクト先端末装置に対して参加メッセージを送信する。ここで、参加メッセージのあて先識別情報は、新規参加端末装置2Mの端末IDとなっている。すなわち、新規参加端末装置2Mは、第2配信形態に参加する際に、自装置2のIPアドレスのハッシュ値「2133」を宛先識別情報とした参加メッセージを生成する。
【0092】
コンタクト先端末装置は、新規参加端末装置2Mから送信された参加メッセージを受信すると、コンタクト先端末装置は、この参加メッセージがコンタクト先端末装置宛のメッセージであるか否かを判定する。コンタクト先端末装置宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報がコンタクト先端末装置宛の識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、コンタクト先端末装置自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。そして、コンタクト先端末装置の識別情報よりも他の端末装置の識別情報の方が宛先識別情報に近いとき、参加メッセージを受信したコンタクト先端末装置は、コンタクト先端末装置自身が保持しているルーティングテーブルのレベル2を参照して、「2XXX」のエリアに属す端末装置2のうち、IPアドレスを知っている端末装置2Bに対して参加メッセージを転送するとともに、自端末装置のルーティングテーブル記憶領域に記憶されたルーティングテーブルのレベル1のテーブルの情報を、新規参加端末装置2Mへ送信する。
【0093】
このように、コンテンツIDの桁を上から順に適合していく要領で参加メッセージの転送を行い、順次ルーティングテーブルの各レベルの情報を送信する。最終的に宛先識別情報に最も近い端末装置2に辿り着いたところで参加メッセージの転送は終了する。なお、参加メッセージなどのメッセージを目的の端末装置へ辿り着くまでに、上述のように転送する仕組みをDHTルーティングと呼ぶ。
【0094】
こうして、新規参加端末装置2Mは、参加メッセージを受信した端末装置2からルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得するようにしている。新規参加端末2はこのようにして、第2配信形態に参加するために必要なルーティングテーブルを生成する。
【0095】
[1.2.4.コンテンツデータの検索方法]
次に、図11を参照して、コンテンツデータを保持している端末装置2の検索方法の一例について説明する。図11は、DHTルーティングによりコンテンツデータを保持している端末装置2が検索される様子の一例を示す図である。
【0096】
ここでは、端末ID「1133」の端末装置2Nが、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの受信を要求する端末装置をリクエスト端末装置と呼ぶ。
【0097】
リクエスト端末装置2Nは、自己が保持しているルーティングテーブルのレベル1のテーブルを参照して、コンテンツID「3020」と同じエリアの端末IDを持つ端末装置の端末IDを宛先識別情報としてコンテンツ保持端末装置情報(コンテンツ保持端末装置の所在情報を含む情報)の送信要求(以下、「コンテンツ検索メッセージ」と呼ぶ。)を送信する。すなわち、コンテンツID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置2のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)端末装置2A(端末ID「3213」)に対してコンテンツ検索メッセージを送信する。このように、コンテンツ検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツIDを含むものであり、このコンテンツIDはコンテンツ検索メッセージにおいて宛先識別情報として用いられる。
【0098】
図11に示す例によれば、端末IDが「3213」である端末装置2AのIPアドレスがリクエスト端末装置2Nのルーティングテーブル(図9参照。)に記憶されているので、リクエスト端末装置2Nは、端末IDが「3213」である端末装置2Aに対してコンテンツ検索メッセージを送信する。
【0099】
次に、コンテンツ検索メッセージを受信した端末装置2Aは、このコンテンツ検索メッセージが自端末装置2A宛のメッセージであるか否かを判定する。自端末装置2A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置2Aの識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、端末装置2A自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。ここでは、自端末装置2Aの識別情報よりも他の端末装置の識別情報の方が、宛先識別情報に近いため、端末装置2Aは、当該端末装置2A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属す端末装置2のうち、IPアドレスを知っている端末装置2B(端末ID「3031」)に対してコンテンツ検索メッセージを転送する。
【0100】
このように、コンテンツIDの桁を上から順に適合していく要領でコンテンツ検索メッセージの転送が進み、最終的に当該コンテンツデータを管理する端末装置2C(端末ID「3011」)、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、コンテンツ検索メッセージに含まれるコンテンツID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持端末装置のIPアドレス等の所在情報をリクエスト端末装置2Nに返信するようになっている。
【0101】
こうして、リクエスト端末装置2Nは、上記ルート端末装置2Cから、コンテンツID「3020」のコンテンツデータの所在情報、即ち、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持端末装置のIPアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得することになる。
【0102】
[1.2.5.インデックステーブルへの登録方法]
コンテンツ配信システムSにおける第2配信形態の中で、新しいコンテンツデータをコンテンツ配信システムS上の他の端末装置2に見えるように公開する際の手法について述べる。
【0103】
本実施形態におけるコンテンツ配信システムSの第2配信形態は、図12に示すように、コンテンツ投入装置4が各コンテンツ保持端末装置となる端末装置2に対して、各コンテンツ保持端末装置毎の管理対象コンテンツとなるコンテンツデータを送信する。コンテンツ投入装置4から管理対象のコンテンツデータを受信したコンテンツ保持端末装置は、後述のハードディスク装置203に受信したコンテンツデータを記憶する。
【0104】
当該コンテンツデータを配布されたコンテンツ保持端末装置は、図12及び図13に示すように、当該コンテンツ保持端末装置の所在情報及び識別情報を含むコンテンツ保持端末装置情報の登録要求メッセージ(以下、「コンテンツ登録メッセージ」と呼ぶ。)を、コンテンツの名称等から求めたコンテンツIDと同じ端末IDを持つ端末装置に向けて(この端末装置が実在するか否かはこの時点ではわからない。)送信する。そして、このコンテンツ登録メッセージも、上記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ登録メッセージに含まれるコンテンツIDに最も近い端末IDを有する端末装置2まで転送されたところで、その端末装置2がもはや送信先の端末装置が他にないと判断すると、当該端末装置2自身がそのコンテンツのルート端末装置となるべきだと判断し、図13に示すように、当該コンテンツ登録メッセージに含まれるコンテンツ保持端末装置情報である当該コンテンツID、コンテンツ保持端末装置のIPアドレス、及び補助情報(タイトル、ジャンル、拡張情報等の属性情報や、監督名等の著作権情報やストリーミング時間等)をインデックス情報として後述のインデックステーブル222に記憶する。
【0105】
このようにルート端末装置のインデックステーブル222にコンテンツ保持端末装置の所在情報であるIPアドレスが登録されると、以後リクエスト端末装置からのコンテンツ検索メッセージに対してインデックステーブルに登録したコンテンツ保持端末装置の所在情報をリクエスト端末装置へ返信する。このようにして本実施形態では、コンテンツ投入装置4から配布されたコンテンツをコンテンツ保持端末装置に登録し、ルート端末装置を介して検索できるようにすることで、他の端末装置にコンテンツを公開する。
【0106】
インデックステーブル222は、図14に示すように、コンテンツ保持端末装置の所在情報(所在情報)であるIPアドレスなどを含むコンテンツ保持端末装置情報を記憶するためのテーブルである。このインデックステーブル222には、コンテンツ保持端末装置のIPアドレスのほか、コンテンツ保持端末装置を紹介した時刻等がコンテンツ保持端末装置情報として1行(所定記憶エリア)毎に記憶される。
【0107】
[2.端末装置2の構成等の説明]
次に、図15を参照して、端末装置2の構成及び動作について更に詳説する。図15は、本実施形態における端末装置2の概略構成例を示す図である。
【0108】
端末装置2は、一般のパーソナルコンピュータ或いは専用端末を適用可能であり、図15に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置205と、各種データ等を記憶するハードディスク装置203と、ネットワーク6を介してネットワーク上のコンテンツ配信装置1、接続管理装置3やコンテンツ投入装置4、コンタクト先紹介装置5及び他の端末装置2との間で有線通信による通信を行うためのネットワークインタフェース204と、ユーザによる端末装置2の遠隔操作が可能な所定の赤外線信号を送信及び受信するユーザ入力用リモコン208と、このユーザ入力用リモコン208と赤外線により通信を行うための赤外線ポート207と、赤外線ポート207を制御する周辺機器制御チップ206と、CPU202からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ210に表示するビデオチップ209と、ビデオチップ209から送信される信号に応じた表示を行う内蔵ディスプレイ210と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ211と、音源チップ211から出力されるオーディオ信号を音波に変換する内蔵スピーカ212とを備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。
【0109】
なお、本実施形態においては、CPU202と主記憶装置205とで制御部230を構成している。また、ネットワークインタフェース204は、アナログ電話回線、ISDN回線、ADSL回線、FTTH回線などの通信回線によってルータ10に接続することができるインターフェイスである。ルータ10は、通信回線を介して端末装置2から受信した信号をネットワーク6へ送信し、ネットワーク6から受信した信号を端末装置2へ送信する。
【0110】
上述したようなユーザ入力用リモコン208では、コンテンツ配信システムSにおけるコンテンツデータのダウンロードなどの操作が可能である。また、本実施形態におけるユーザ入力用リモコン208では、コンテンツ配信システムSのチャンネルを選択するための選択手段として図示しないチャンネル選択ボタンを有しており、端末装置2のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。例えば、チャンネル選択ボタンをとして、「1」〜「10」までのボタンをリモコン208に配置し、これらのボタンを選択することにより、チャンネルch1〜ch10のいずれかを視聴用チャンネルとして選択することができる。また、図16に示すように、端末装置2の内蔵ディスプレイ210に、チャンネル選択ボタン22,23を配置したチャンネル選択画面を表示するようにもでき、選択するチャンネルを1chずつ切り替えるようにしてもよい。なお、表示枠21にはストリーミング再生手段によって再生されるコンテンツが表示される。
【0111】
(主記憶装置205について)
主記憶装置205には、端末装置2のコンピュータとしての基本的な機能を提供するためのオペレーディング(OS)プログラム217と、第1配信形態において、コンテンツ配信装置1から直接又は他の端末装置2に中継されてストリーミング配信されるコンテンツデータをストリーミング受信及び下流の端末装置2へストリーミング送信するためのストリーミング制御プログラム215と、第1配信形態において、ツリー接続された一層上流の端末装置2(或いはコンテンツ配信装置1)の所在情報(IPアドレスやポート番号)とツリー接続された一層下流の端末装置2の所在情報の管理等を行うためのトポロジー管理プログラム216と、内蔵ディスプレイ210を制御するための画面制御プログラム218と、第1配信形態において、上流の装置からストリーミング受信したコンテンツデータをデコードしてストリーミング再生したり、第2配信形態でダウンロードしてハードディスク装置203に記憶したコンテンツデータを再生したりするための音楽デコーダプログラム219と、所定の記憶容量を有し、ストリーミング受信したコンテンツデータを順次一時的に記憶するリングバッファ領域220と、第1配信形態でコンテンツデータをストリーミング再生している状態で、第2配信形態に参加してコンテンツデータをダウンロードしたり、アップロードしたりするためのコンテンツダウンロード・アップロードプログラム221(以下、「コンテンツDL/ULプログラム」とする。)等が記憶されており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。
【0112】
また、主記憶装置205には、更にインデックステーブル222(図14参照)を記憶するためのインデックステーブル記憶領域やルーティングテーブル223(図9参照)を記憶するためのルーティングテーブル記憶領域が設けられている。
【0113】
また、リングバッファ領域220は、参加しているチャンネル(視聴用チャンネル及びザッピング対策チャンネル)において配信されるコンテンツデータをチャンネル毎に一時的に記憶する領域であり、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されず中継のみのために用いられることから、リングバッファ領域は、視聴用チャンネルのリングバッファ領域に比べその容量を小さくしている。このようにザッピング対策チャンネルのリングバッファ領域を小さくしているため、主記憶装置205を効率よく使用することができる。勿論、設定等により全てのリングバッファ領域の容量を同一とするようにすることも可能である。
【0114】
ここで、OSプログラム217は、CPU202によって読み出されて実行されることにより、ユーザ入力用リモコン208の入出力に関する機能や、主記憶装置205やハードディスク装置203などのメモリ管理などの端末装置2であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム217がCPU202によって実行された状態で、上述のストリーミング制御プログラム215、トポロジー管理プログラム216、画面制御プログラム218、音楽デコーダプログラム219、コンテンツDL/ULプログラム221等が主記憶装置205から読み出されて実行される。
【0115】
なお、OSプログラム217、ストリーミング制御プログラム215、トポロジー管理プログラム216、画面制御プログラム218、音楽デコーダプログラム219、コンテンツDL/ULプログラム221等は、例えば、ネットワーク6に接続されたサーバ等から主記憶装置205にダウンロードされるようにしてもよく、また、CD−ROM等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置205に読み込まれるようにしてもよい。
【0116】
(制御部230について)
制御部230は、上述のようにCPU202と主記憶装置205とから構成され、CPU202が主記憶装置205に記憶された各種プログラム215〜219,221を読み出して実行することにより、端末装置2全体を統括制御し、かつ、後述する接続処理手段、ストリーミング受信処理手段、表示制御手段、ストリーミング再生手段、ストリーミング中継処理手段、デコード手段、識別情報取得手段、識別情報リスト受信手段、ダウンロード操作検出手段、切断処理手段、リソース使用量検出手段、リソース不足判定手段、再接続処理手段、判定手段、ダウンロード処理手段、アップロード処理手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信処理手段、メッセージ転送処理手段、コンテンツ再生手段等として機能するようになっている。
【0117】
なお、CPU202がストリーミング制御プログラム215を実行することによってストリーミング受信処理手段、ストリーミング中継処理手段等として、またCPU202がトポロジー管理プログラム216を実行することによって、接続処理手段等として、またCPU202が画面制御プログラム218を実行することによって表示制御手段等として、更にCPU202が音楽デコーダプログラム219を実行することによってデコード手段、ストリーミング再生手段、コンテンツ再生手段等として、更にCPU202がコンテンツDL/ULプログラム221を実行することによって、識別情報リスト受信手段、識別情報取得手段、判定手段、ダウンロード操作検出手段、切断処理手段、リソース使用量検出手段、リソース不足判定手段、再接続処理手段、ダウンロード処理手段、アップロード処理手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信処理手段、メッセージ転送処理手段等として、それぞれ機能するようになっている。
【0118】
(接続処理手段について)
接続処理手段は、端末装置2をコンテンツ配信システムSの第1配信形態へ参加させるために、チャンネル選択手段であるリモコン208のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続する。さらに、接続処理手段は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネル(ザッピング対策チャンネル)に関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続する。
【0119】
より具体的には、接続処理手段は、端末装置2をコンテンツ配信システムSの第1配信形態へ参加させるために、接続管理装置3へ登録要求を送信して接続管理装置3へ登録すると共に、接続先紹介要求を送信して接続管理装置3へチャンネル選択手段によって選択されたチャンネルの接続先候補及びそのチャンネルと所定の関係を有するチャンネルの接続先候補を要求する接続先紹介要求をそれぞれ送信する機能を有している。この接続先紹介要求には、接続先候補を要求するチャンネルの情報の他、自端末装置2の所在情報等を含む。
【0120】
また、接続処理手段は、接続管理装置3へ送信した接続先紹介要求に対して、接続管理装置3からネットワーク6を介して通知される視聴用チャンネルやザッピング対策チャンネルの接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるIPアドレスやポート番号などの情報(以下、接続先候補の情報を含めて、「接続先候補」と略すことがある。)を受信する機能を有する。
【0121】
更に、接続処理手段は、受信した各チャンネルの接続先候補の情報に基づいて、その接続先候補への論理接続を行う機能を有する。すなわち、接続処理手段は、接続先候補の情報に基づいて、接続先候補のIPアドレス及びポート番号等をあて先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって各チャンネル(視聴用チャンネル及び複数のザッピング対策チャンネル)の階層構造に組み込まれ、第1配信形態に参加することになる。
【0122】
ここで、「所定の関係を有するチャンネル」は、上述したようにチャンネル選択手段によって選択されたチャンネル番号に隣接するチャンネル番号を有するチャンネルである。例えば、チャンネル番号が「1」〜「10」まであるとき、チャンネル選択手段によって選択されたチャンネル番号が「2」であるとき、前後のチャンネル番号「1」,「3」を有するチャンネルを所定の関係を有するチャンネルとすることができる。なお、視聴用チャンネルとして使用されたチャンネルの履歴を主記憶装置205に記憶しておき、「所定の関係を有するチャンネル」を、視聴用チャンネルとして使用された頻度が最も高い2つのチャンネルとするようにしてもよい。
【0123】
(ストリーミング受信処理手段について)
ストリーミング受信処理手段は、ネットワークインタフェース204を介して第1配信形態によって上流装置、すなわち上流に論理接続したコンテンツ配信装置1又は上流に接続された端末装置2からコンテンツパケットとして送信されるコンテンツデータをチャンネル(視聴用チャンネル及びザッピング対策チャンネル)毎にストリーミング受信し、このようにストリーミング受信したコンテンツデータをチャンネル毎にリングバッファ領域220に順次記憶する。なお、コンテンツデータ受信手段や後述のコンテンツデータ中継手段は、公知のストリーミング配信用プロトコルを用いることができるほか、独自の専用プロトコルを用いるようにすることもできる。
【0124】
(ストリーミング再生手段について)
ストリーミング再生手段は、ネットワークインタフェース204を介して第1配信形態によって上流装置からストリーミング受信してリングバッファ領域220に順次記憶されたコンテンツデータを順次再生する機能を有している。
【0125】
このストリーミング再生手段は、参加している複数のチャンネルのうちチャンネル選択ボタン等によって最後に選択された最新のチャンネルに対応するコンテンツデータをリングバッファ領域から取り出して、音源チップ211やビデオチップ209を動作させることによってこの機能を実現しており、リングバッファ領域220に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式(たとえば、Wave形式)に変換して音源チップ211やビデオチップ209へ入力し、コンテンツの再生を行う。
【0126】
ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ211によってオーディオ信号へ変換された後、内蔵スピーカ212から出力される。
【0127】
また、ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ210に表示される。
【0128】
また、ストリーミング再生手段は、リングバッファ領域220に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ領域220に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ212や内蔵ディスプレイ210に出力するように構成されている。
【0129】
(表示制御手段について)
表示制御手段は、ビデオチップ209及び内蔵ディスプレイ210を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ210にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【0130】
(ストリーミング中継処理手段について)
ストリーミング中継処理手段は、第1配信形態における上流装置、すなわちコンテンツ配信装置1又は上流に接続された端末装置2からネットワーク6を介してストリーミング受信されたコンテンツデータを、下流に接続された他の端末装置2へネットワーク6を介して転送する。
【0131】
(識別情報リスト受信手段について)
識別情報リスト受信手段は、コンテンツ投入装置4から送信される識別情報リストを受信する機能を有している。コンテンツ投入装置4から送信される識別情報リストは、第2配信形態においてダウンロード可能なコンテンツデータの名称とコンテンツIDとが関連付けられた情報であり、自端末装置2がコンテンツ投入装置4へ識別情報リストの送信要求を行うことによって、コンテンツ投入装置4から送信されるものである。
【0132】
(ダウンロード操作検出手段について)
ダウンロード操作検出手段は、第2配信形態によるコンテンツデータのダウンロード要求の操作を検出する機能を有する。例えば、図17に示すように第2配信形態においてダウンロード可能なコンテンツデータが内蔵ディスプレイ210の所定領域24に一覧表示されている状態で、ユーザがリモコン208を操作して、ダウンロードするコンテンツデータを指定枠25により指定してダウンロードボタン26を選択したことを検出することによって、第2配信形態によるコンテンツデータのダウンロード要求の操作を検出する。なお、内蔵ディスプレイ210の所定領域24に一覧表示される情報は、識別情報リスト受信手段により取得された情報である。
【0133】
(リソース使用量検出手段)
リソース使用量検出手段は、第1配信形態及び第2配信形態にいずれにも用いられるリソースの使用量を検出する機能を有する。すなわち、第2配信形態に用いるリソースの使用量を検出する機能と、第1配信形態で用いられているリソースの使用量を検出する機能を有する。ここで、「リソース」とは、CPU202の処理能力、主記憶装置205におけるメモリの容量、ネットワークとの通信の帯域(以下、「通信帯域」と呼ぶ。)などがある。また、ここでは、リソースの使用量の検出を、リソースの使用率の検出によって行うようにしているが、リソースの使用量(例えば、メモリであれば使用メモリのバイト数など)自体を検出するようにしてもよい。
【0134】
リソース使用量検出手段は、第2配信形態に用いるリソースの使用量として、第2配信形態で他の端末装置2からコンテンツデータをダウンロードするときにはそのダウンロードの処理に必要なリソースの使用量を、第2配信形態で他の端末装置2へコンテンツデータをアップロードするときにはアップロードの処理に必要なリソースの使用量を検出する機能を有している。また、リソース使用量検出手段は、第1配信形態で用いられているリソースの使用量として、チャンネル選択手段によって選択されたチャンネルである視聴用チャンネルと、このチャンネルと所定の関係を有するザッピング対策チャンネルとに参加することによる各チャンネルにおけるCPU202の使用率、メモリの使用率、通信帯域の使用率を検出する。なお、ここでは、理解を容易にするために、ザッピング対策チャンネルは2つとして説明する。
【0135】
ここで、CPU202の使用率とは、第1配信形態や第2配信形態にいずれにも用いられるCPU202がどのくらい使用されているかを示す割合であり、CPU202の最大情報処理量を母数とした割合である。例えば、第1配信形態の視聴用チャンネルにおけるCPU202の使用率とは、第1配信形態の視聴用チャンネルに参加し、コンテンツデータを受信及び中継するためにCPU202が上記各手段として機能するときのCPU202の情報処理量をCPU202の最大情報処理量で除した割合となる。なお、CPU202が第1配信形態及び第2配信形態に関する動作以外の動作を行う場合には、第1配信形態及び第2配信形態に用いることができるCPU202の情報処理量を母数としたときの割合となる。また、CPU202の使用率の演算に用いる母数として、CPU202の最大情報処理量ではなく、例えば、CPU202の最大情報処理量の50%というように最大情報処理量よりも低く抑えるようにしてもよい。このようにすることで、端末装置2においてコンテンツ配信システムSに関する処理をより安定的に行うことができる。
【0136】
また、主記憶装置205におけるメモリの容量とは、主記憶装置205における記憶領域のうち、第1配信形態や第2配信形態にいずれにも用いられる記憶領域の記憶容量である。この記憶領域をCPU202が使用することにより、第1配信形態の各チャンネルに参加し、コンテンツデータを受信及び中継する等の処理、或いは第2配信形態でコンテンツデータのダウンロードやアップロード等の処理を行う。ここで、第1配信形態におけるメモリの容量の使用率とは、第1配信形態及び第2配信形態で用いることができる記憶領域の全容量のうち、現実に第1配信形態において使用されている記憶容量の割合を意味し、第2配信形態におけるメモリの容量の使用率とは、第1配信形態及び第2配信形態で用いることができる記憶領域の全容量のうち、第2配信形態において使用されていると予測される記憶容量の割合を意味する。なお、第2配信形態におけるメモリの容量の使用率には、インデックステーブル222やルーティングテーブル223に用いられる記憶容量は考慮しないが、第2配信形態においてダウンロード処理及びアップロード処理を行うときにのみ第2配信形態に参加するような場合には、インデックステーブル222やルーティングテーブル223に用いられる記憶容量を考慮することもできる。
【0137】
また、通信帯域とは、端末装置2が他の端末装置2やコンテンツ配信装置1との間で通信することができる時間当たりの最大通信量を意味する。また、通信帯域には、上りの通信帯域(端末装置2からネットワーク6側への通信方向の通信帯域)と、下りの通信帯域(ネットワーク6側から端末装置2への通信方向の通信帯域)とがある。
【0138】
第1配信形態で用いる通信帯域の使用率とは、上りの通信帯域については、第1配信形態における視聴用チャンネル及びザッピング対策チャンネルに関して下層に接続された端末装置2へコンテンツデータをストリーミング送信するときの単位時間当たりの通信量の割合である。また、下りの通信帯域について、第1配信形態における視聴用チャンネル及びザッピング対策チャンネルに関して上層に接続された端末装置からコンテンツデータをストリーミング受信するときの単位時間当たりの通信量の割合である。
【0139】
上述のように端末装置2はルータ10を介してネットワーク6に接続されており、ルータ10に接続する通信回線が、アナログ電話回線、ISDN回線、ADSL回線、FTTH回線などの回線のうちどの回線かによって通信帯域が異なることとなる。そこで、リソース使用量検出手段は、ネットワーク6上に配置された通信帯域検出用サーバ(図示せず)を用いて、このサーバに所定容量のデータを送信し、この送信が完了するまでの時間に基づいて上りの通信帯域を検出する。また、このサーバから送信される所定容量のデータを受信し、この受信が完了するまでの時間に基づいて下りの通信帯域を検出する。なお、リソース使用量検出手段は、ルータ10に接続するための回線がどの回線種別なのかを検出することによって、通信帯域を検出するようにしてもよい。
【0140】
また、ルータ10に接続するための通信回線が、ベストエフォート型のADSL回線、FTTH回線が接続されている場合には、状況に応じて通信帯域(「スループット」とも言う。)が変化する。そこで、リソース使用量検出手段は、通信帯域検出用のサーバとの通信を第2配信形態におけるダウンロード処理又はアップロード処理をする直前に、通信帯域検出用のサーバと通信を行うことにより、上りの通信帯域及び下りの通信帯域を検出するようにしている。このとき、リソース使用量検出手段は、第1配信形態における視聴用チャンネル及びザッピング対策チャンネルによる通信帯域の使用率を考慮して通信帯域を検出するようにしている。すなわち、視聴用チャンネル及びザッピング対策チャンネルで下流の装置に送信するコンテンツデータの時間当たりの送信量(bit/s)と、通信帯域検出用のサーバへ送信するデータの時間当たりの送信量(bit/s)とを加算することにより上りの通信帯域を検出し、視聴用チャンネル及びザッピング対策チャンネルによって上流の装置から送信されるコンテンツデータの時間当たりの受信量(bit/s)と、通信帯域検出用のサーバから送信されるデータの時間当たりの受信量(bit/s)とを加算することにより、下りの通信帯域を検出する。
【0141】
また、通信帯域の使用率とは、上記の如く検出した通信帯域をどのくらい使用しているかの割合であり、例えば、下りの通信帯域が2Mbit/sであり、視聴用チャンネルにおけるデータの受信量が500kbit/sであるときには、視聴用チャンネルにおける通信帯域の使用率は、25%となる。
【0142】
リソース量検出手段は、第1配信形態におけるコンテンツデータのストリーミング受信、第1配信形態におけるコンテンツデータのストリーミング中継、第2配信形態におけるダウンロード、第2配信形態におけるアップロードのそれぞれについて、各リソースの使用量或いは予測される使用量を検出する。
【0143】
ここで、視聴用チャンネル、ザッピング対策チャンネルにおけるリソースの使用量については、実際に使用されている量をモニタすることによって検出することができる。しかし、自端末装置2において第2配信形態に用いるリソースの使用状態、つまり、第2配信形態におけるダウンロード処理や第2配信形態におけるアップロード処理におけるリソースの使用量は、これらの処理を実際に行う前に検出する必要がある。つまり、第1配信形態に参加し、各チャンネルでコンテンツデータをストリーミング受信及びストリーミング中継を行っている状態で、第2配信形態においてコンテンツデータのダウンロード処理或いはアップロード処理を行ってしまうと、リソースが不足してしまうことがあり、このようにリソースが不足すると第1配信形態における各チャンネルにおけるコンテンツデータのストリーミング受信や中継に影響を及ぼすことになり、状況によっては各チャンネルとの通信が切断されてしまう恐れがある。そこで、第2配信形態においてコンテンツデータのダウンロード処理或いはアップロード処理を行うために必要なリソースがあるか否かをその処理を行う前に判定する。なお、このように第2配信形態において用いるリソースを所定期間毎に行うようにしてもよい。
【0144】
(リソース不足判定手段)
リソース不足判定手段は、リソース使用量検出手段による検出結果に基づいて、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定する。そして、リソースが不足していると判定したときには、そのリソースの不足量を判定する。ここでは、不足量の判定を、リソースの空き率と第2配信形態に用いるリソースの使用率とに基づき、リソースの不足率を演算することによって行うようにしている。第2配信形態に用いるリソースが不足しているか否かは、自端末装置2におけるリソース全体の使用可能量を100%とし、第1配信形態に用いているリソースの使用率を100%から減算したものが第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要であると予測されるリソースの使用率よりも大きいか否かにより判定される。例えば、以下の表1に示すように、ザッピング対策チャンネルとして第1ザッピング対策チャンネルと第2ザッピング対策チャンネルとがある場合であって、第1配信形態における視聴用チャンネル(視聴CH)のリソースの使用率が各40%、第1配信形態における第1ザッピング対策チャンネル(ザッピング対策CH1)のリソースの使用率が各30%、第1配信形態における第2ザッピング対策チャンネル(ザッピング対策CH2)のリソースの使用率が各20%であるとき、自端末装置2におけるリソースの空き率は各10%となる。一方で、第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要であると予測されるリソースの使用率が各30%であるとすると、リソース不足判定手段は、第2配信形態に用いるリソースが不足していると判定する。
【0145】
【表1】
【0146】
(切断処理手段について)
切断処理手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、又は第2配信形態に参加している他の端末装置2からのアップロード要求があったときに、リソース不足判定手段によってリソースが不足していると判定されると、接続処理手段によって接続状態にあるチャンネルのうち、自端末装置2において第2配信形態に用いるリソースの使用状態に応じて、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先候補との接続を切断する機能を有する。
【0147】
例えば、第1配信形態でのリソースの使用率が上記表1に示すようにある場合、第1ザッピング対策チャンネル又は第2ザッピング対策チャンネルのいずれかの接続先装置との接続を切断することにより、第2配信形態に用いるリソースの不足を解消することができる。すなわち、第1ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は各40%になり、或いは第2ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は30%になるため、第2配信形態に用いるリソースの使用率30%以上となり、第2配信形態に用いるリソースの不足を解消することができる。
【0148】
なお、このように、第1ザッピング対策チャンネル又は第2ザッピング対策チャンネルのいずれかの接続先装置との接続を切断すればよい場合、たとえば、切断処理手段は、チャンネル選択手段による選択頻度(視聴頻度)が低い方を選択することにより、ユーザによるチャンネル切り替え時に視聴用チャンネルAの接続処理を回避する可能性を向上させることができる。また、切断処理手段は、リソースの使用率が高い方を切断する対象として選択するようにすれば、第1配信形態におけるコンテンツデータのダウンロード時又はアップロード時に装置全体でのリソース使用率を低減することができるため、より安定的にコンテンツデータの送受信処理を行うことができる。
【0149】
また、第1配信形態でのリソースの使用率が下記表2に示すようにある場合、第1ザッピング対策チャンネルに関する接続先候補及び第2ザッピング対策チャンネルに関する接続先装置のいずれか一方の接続先装置との接続を切断したとしても、リソースの空き率がまだ不足することになる。しかし、第1ザッピング対策チャンネル及び第2ザッピング対策チャンネルの双方の接続先装置との接続を切断することにより、第2配信形態に用いるリソースの不足を解消することができる。すなわち、第1ザッピング対策チャンネル及び第2ザッピング対策チャンネルに関する両方の接続先装置との接続を切断することによって、リソースの空き率は60%になるため、第2配信形態に用いるリソースの使用率50%以上となり、第2配信形態に用いるリソースの不足を解消することができる。
【0150】
【表2】
【0151】
また、第1配信形態でのリソースの使用率が下記表3に示すようにある場合、第2ザッピング対策チャンネルに関する接続先装置との接続を切断したとしても、リソースのうち通信帯域に関して第2配信形態に用いるリソースの不足を解消することができないが、第1ザッピング対策チャンネルに関する接続先装置との接続を切断することにより、第2配信形態に用いるリソースの不足を解消することができる。すなわち、第1ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は、CPUに関して35%、メモリに関して40%、通信帯域に関して45%になるため、第2配信形態に用いるリソースの使用率(CPU、メモリ、通信帯域が各30%)以上となり、第2配信形態に用いるリソースの不足を解消することができる。
【0152】
【表3】
【0153】
このように第2配信形態でのコンテンツデータのダウンロード処理又はアップロード処理を行うためのリソースが不足する場合には、一以上のザッピング対策チャンネルから脱退するので、通信帯域をより多く確保することができ、第2配信形態での通信を安定させることができる。
【0154】
ここで、切断処理手段は、ザッピング対策チャンネルに関する接続先装置との接続の切断を次のように行う。すなわち、接続の切断対象となるザッピング対策チャンネルのコンテンツ供給元端末である接続先装置に対してコンテンツストリーミングの停止を要求する。言い換えれば、切断対象のザッピング対策チャンネルに関し、自端末装置2と論理接続され、自端末装置2に対して第1配信形態でストリーミング配信を行っているコンテンツ配信装置1又は他の端末装置2に対して、コンテンツデータのストリーミング配信を停止するようにネットワーク6を介して要求し、切断対象のザッピング対策チャンネルのトポロジーから脱退する。また、制御部230は、同ザッピング対策チャンネルに関する下流装置がある場合には、下流装置とのセッションを切断することにより、同ザッピング対策チャンネルのトポロジーから脱退する。
【0155】
(識別情報取得手段について)
識別情報取得手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、ダウンロード要求されたコンテンツデータを第2配信形態で取得するために、ダウンロード要求されたコンテンツデータの識別情報であるコンテンツIDを取得する。
【0156】
ダウンロード要求されたコンテンツIDの取得は、第1配信形態においてストリーミング再生手段によって再生されるコンテンツデータに関してダウンロード要求の操作があったときに、識別情報取得手段は、識別情報リスト受信手段によって受信した識別情報リストからダウンロード要求されたコンテンツデータの識別情報であるコンテンツIDを取得することによって行う。なお、識別情報取得手段は、後述するコンテンツ識別情報演算手段によってダウンロード要求されたコンテンツデータのコンテンツIDを求めるようにしてもよい。すなわち、ダウンロード要求されたコンテンツデータの名称をキーワードとして上記ハッシュ関数によりハッシュ化することによってコンテンツIDを求めるようにしてもよい。
【0157】
(判定手段)
自端末装置がコンテンツ保持端末装置として機能する場合には、コンテンツ保持端末装置として保持すべきコンテンツデータは、ハードディスク装置203のコンテンツデータ記憶領域(コンテンツデータ記憶手段の一例に相当)に記憶される。また、過去にダウンロードしたコンテンツデータも同様にハードディスク装置203のコンテンツデータ記憶領域に記憶される。判定手段は、ダウンロード要求されたコンテンツデータがハードディスク装置203のコンテンツデータ記憶領域に記憶されているか否かを判定する。この判定手段によって、ダウンロード要求されたコンテンツデータがハードディスク装置203のコンテンツデータ記憶領域に記憶されていると判定すると、切断処理手段は、接続状態にあるチャンネルの接続先装置との接続を切断せず、かつ後述するダウンロード処理手段は、第2配信形態によってコンテンツデータのダウンロードを行わない。
【0158】
(ダウンロード処理手段について)
ダウンロード処理手段は、識別情報取得手段によって取得されたコンテンツデータの識別情報に基づいて、ダウンロード要求されたコンテンツデータを第2配信形態の端末装置からダウンロードする機能を有しており、ダウンロード先検索手段、ダウンロード送信要求手段、ダウンロードデータ受信手段などから構成されている。
【0159】
ダウンロード先検索手段は、識別情報取得手段によって取得されたコンテンツデータのコンテンツIDに基づいて、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。コンテンツ保持端末装置の検索は、識別情報取得手段によって取得されたコンテンツIDを宛先識別情報としたコンテンツ検索メッセージを生成し、そのコンテンツIDと同じエリアの端末IDを持つ端末装置の所在情報をルーティングテーブル223から取り出して、その端末装置へコンテンツ検索メッセージを送信することによって行う。このコンテンツ検索メッセージに対して、識別情報取得手段によって取得されたコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報がルート端末装置から送信される。このようにして、ダウンロード先検索手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。
【0160】
また、ダウンロード送信要求手段は、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置に、ダウンロード要求されたコンテンツデータの送信をネットワーク6を介して要求(以下、「ダウンロード送信要求」と呼ぶ。)する。このダウンロード送信要求は、コンテンツ保持端末装置の所在情報を宛先として、ダウンロード要求に対応するコンテンツデータのコンテンツIDを設定するものである。なお、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置が複数ある場合には、選択した一つのコンテンツ保持端末装置に対してダウンロード送信要求が行われる。
【0161】
また、ダウンロードデータ受信手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置からダウンロード要求されたコンテンツデータをネットワーク6を介して受信する。コンテンツ保持端末装置から送信されるコンテンツデータは、第1配信形態のようなストリーミング形式ではなく、ダウンロード形式のデータであるが、ストリーミング形式とすることも可能である。
【0162】
ダウンロード受信手段により受信したコンテンツデータは、制御部230によって、ハードディスク装置203のコンテンツデータ記憶領域に記憶される。
【0163】
(アップロード処理手段について)
アップロード処理手段は、第2配信形態に参加している他の端末装置2から第2配信形態でのダウンロード要求があると、このダウンロード要求に対応するコンテンツデータをコンテンツデータ記憶手段から取り出して、ダウンロード要求を行った他の端末装置2へ送信する機能を有する。
【0164】
(再接続処理手段について)
再接続処理手段は、ダウンロード要求したコンテンツデータのダウンロード処理手段での受信が完了したとき、或いはダウンロード要求されたコンテンツデータのアップロード処理手段での送信が完了したときに、切断処理手段によって切断したザッピング対策チャンネルがある場合、このザッピング対策チャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に再接続する機能を有する。
【0165】
なお、この再接続処理手段において、ダウンロード処理手段でのダウンロード処理やアップロード処理手段でのアップロード処理が完了して所定期間経過後に、切断処理手段によって切断したザッピング対策チャンネルに再接続するようにしてもよい。また、この所定期間を端末装置2における第2配信形態の利用状況に応じて変更するようにしてもよい。例えば、第2配信形態の連続利用時間の履歴をハードディスク装置203に記憶しておき、連続利用時間の平均時間に応じて前記所定期間を定めるようにすることができる。このようにすれば、切断処理手段によるチャンネルの切断と再接続処理手段によるチャンネルの再接続を頻繁に行なうような状態を低減することができ、その結果、第1配信形態における各階層構造に対する負荷を低減することが可能となる。
【0166】
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク6を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置2宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述のコンテンツ検索メッセージ、コンテンツ登録メッセージなどである。
【0167】
受信したメッセージが自端末装置2宛であるか否かの判定は、メッセージに含まれる宛先端末ID(宛先識別情報)を取り出し、主記憶装置205に記憶したルーティングテーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフェース204を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブル223に記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル223上の端末IDが自端末装置2の端末IDであると判定すると、自端末装置2宛のメッセージであると判定する。
【0168】
(コンテンツ保持端末装置情報選択手段について)
コンテンツ保持端末装置情報選択手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自端末装置2宛であり、かつコンテンツ検索メッセージであると判定すると、インデックステーブル222からコンテンツ検索メッセージが対象とするコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報を選択する。なお、インデックステーブル222にコンテンツ保持端末装置の所在情報が複数ある場合には、それらを全部或いはいくつか選択する。
【0169】
(コンテンツ保持端末装置情報返信手段について)
コンテンツ保持端末装置情報返信手段は、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置の所在情報を、リクエスト端末装置へネットワーク6を介して返信する。
【0170】
(コンテンツ識別情報演算手段について)
コンテンツ識別情報演算手段は、コンテンツデータの固有情報を上記の如く所定のハッシュ関数によって演算することによってコンテンツデータの識別情報であるコンテンツIDを演算する。
【0171】
(コンテンツ登録メッセージ生成手段について)
コンテンツ投入装置4からコンテンツデータを受信したとき、受信したコンテンツデータをハードディスク装置203のコンテンツデータ記憶領域(コンテンツデータ記憶手段の一例に相当)に記憶する。又、コンテンツデータのコンテンツの名称をコンテンツ識別情報演算手段によって演算したコンテンツIDを宛先識別情報とし、自端末装置の端末ID及びIPアドレスを含むコンテンツ登録メッセージを生成する。
【0172】
(コンテンツ登録メッセージ送信処理手段について)
コンテンツ登録メッセージ送信処理手段は、コンテンツ登録メッセージ生成手段によって生成したコンテンツ登録メッセージを、ハードディスク装置203に記憶したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブル223に記憶された端末装置の識別情報から送信先端末装置を選択して送信する。例えば、図9に示すようなルーティングテーブルを有しており、かつハードディスク装置203に記憶したコンテンツデータのコンテンツIDが「1231」である場合、コンテンツ登録メッセージ送信処理手段は、ルーティングテーブルから端末ID「1221」を送信先端末装置として選択し、当該端末ID「1221」の端末装置のIPアドレス「21.13.21.13」を取り出す。そして、当該IPアドレス「21.13.21.13」を送信先端末装置としてコンテンツ登録メッセージを送信する。なお、このコンテンツ登録メッセージの宛先識別情報は「1231」となる。
【0173】
(メッセージ転送処理手段について)
メッセージ転送処理手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報をルーティングテーブル223から取り出し、転送先の端末装置へ受信したメッセージを転送する。
【0174】
(デコード手段について)
デコード手段は、他の端末装置2から送信されるコンテンツデータ等を内蔵ディスプレイ210に表示し、内蔵スピーカ212から出力するためにデコードする。すなわち、他の端末装置2から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばASF、WMA、WMV等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ210や内蔵スピーカ212から出力できるようにデコードする。
【0175】
(コンテンツ再生手段について)
コンテンツ再生手段は、ハードディスク装置203に記憶したコンテンツデータを取り出して再生するものであり、このとき制御部230は、ストリーミング制御プログラム215に基づいてビデオチップ209及び音源チップ211を動作させることによりコンテンツデータが再生される。
【0176】
[3.端末装置2の処理フロー]
以下、コンテンツ配信システムSにおける端末装置2の動作の一例について、図18のフローチャートを参照して説明する。図18は端末装置2における処理を示すフローチャートである。なお、以下の各処理は、端末装置2の制御部230が上述した手段等として機能することによって実行されるものである。
【0177】
端末装置2の電源がONになったとき、或いは端末装置2における図示しないリセットボタンが押下されたとき、図18に示すように、初期化処理を行う。この初期化処理は、端末装置2のCPU202は、主記憶装置205やハードディスク装置203のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム215〜219,221をCPU202による実行状態とし、制御部230としての機能を動作させた後(ステップS100)、ステップS101に処理を移す。
【0178】
ステップS101において、制御部230は、第2配信形態への参加処理を行う。この参加処理は、図10において説明したように、要求に応じてコンタクト先紹介装置5から所在情報が送信されたコンタクト先端末装置に対して参加メッセージを送信する。その後、参加メッセージを受信した端末装置2から送信されるルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得し、第2配信形態に参加するために必要なルーティングテーブルを生成することによって、第2配信形態に参加し、処理をステップS102へ移行する。
【0179】
また、制御部230は、コンテンツ投入装置4から識別情報リストを取得する。この識別情報リストの取得は、制御部230がコンテンツ投入装置4に対して、識別情報リストを要求し、当該要求に対して送信される識別情報リストを受信することによって行う。この識別情報リストは、上述のように第2配信形態において取得可能な複数のコンテンツデータの名称等とコンテンツIDとが関連付けられた情報であり、制御部230がこの識別情報リストを取得し、内蔵ディスプレイ210に表示した状態で、端末装置2のユーザがリモコン208等の操作により、第2配信形態でのコンテンツデータの取得を行うことができるようにしている。
【0180】
ステップS102において、制御部230は、自端末装置2の通信帯域の検出処理を行う。この通信帯域の検出処理は、上述のように、ネットワーク6上に配置された通信帯域検出用サーバ(図示せず)を用いて、このサーバに所定容量のデータを送受信することにより行われるものであり、上りの通信帯域と下りの通信帯域とをそれぞれが検出される。
【0181】
次に、制御部230は、ステップS103において、視聴用チャンネルへの参加処理を行う。制御部230は、チャンネル選択手段であるリモコン208のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続して、処理をステップS104に移行する。
【0182】
なお、制御部230をチャンネル選択手段として機能させるようにしてもよい。例えば、端末装置2の電源OFF時直前に視聴しているチャンネル(以下、「最終視聴用チャンネル」と呼ぶ。)を制御部230によってハードディスク装置203に記憶し、このように記憶した最終視聴用チャンネルを制御部230がチャンネル選択手段として選択するように機能するように構成してもよい。
【0183】
ステップS104において、制御部230は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルであるザッピング対策チャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3からそれぞれ通知された接続先候補に接続して処理をステップS105に移行する。
【0184】
このように、ステップS103及ステップS104においては、チャンネル選択手段によって選択されたチャンネルを視聴用チャンネルとしてその接続先候補を接続管理装置3へ要求すると共に、ザッピング対策チャンネルとして、この視聴用チャンネルと所定関係を有するチャンネルに関する接続先候補を接続管理装置3へ要求するようにしている。この接続先候補の要求に対して接続管理装置3からはチャンネル毎に複数の接続先候補が送信されるため、制御部230は、この複数の接続先候補から一の接続先候補をチャンネル毎に選択し、この接続先候補に対してそれぞれ接続を要求することによって、視聴用チャンネル及びザッピング対策チャンネルに関する接続先候補に接続することになる。例えば、視聴用チャンネルと所定関係を有するチャンネルを、視聴チャンネルの番号の±1の番号を有するチャンネルとした場合において、全チャンネルがch1〜ch10である場合には、チャンネル選択手段によって選択されたチャンネルがch1であれば接続先候補を要求するチャンネルは、ch1のほか、ch2(ch1+1),ch10(ch1−1)となる。
【0185】
ここで、視聴用チャンネルやザッピング対策チャンネルに関する接続先候補に接続すると、接続した上流装置からコンテンツパケットが送信されてくる。制御部230は、ネットワークインタフェース204を介して、上流の接続先装置から送信されるコンテンツパケットを受信し、このコンテンツパケットからコンテンツデータを取り出してリングバッファ領域220に記憶し、下流側の端末装置2がある場合には、更にそのコンテンツデータを取り出してコンテンツパケットとして下流側の端末装置2へ転送する。
【0186】
また、制御部230は、上流装置から受信したコンテンツパケットが選択チャンネルのコンテンツパケットであるか否かを判定する。選択チャンネルのコンテンツパケットであるか否かは、制御部230がネットワーク6を介して上流装置から受信したコンテンツパケットのヘッダ部に基づいて判定する。すなわち、制御部230は、コンテンツパケットのヘッダ部に含まれるチャンネル情報が、選択チャンネルであるか否かにより判定するのである。
【0187】
制御部230は、上流装置から受信したコンテンツパケットが選択したチャンネル(視聴用チャンネル)のコンテンツパケットであると判定すると、制御部230は、リングバッファ領域220に記憶したコンテンツデータを取得して再生する。コンテンツパケットの再生は、音源チップ211やビデオチップ209を動作させることによってこの機能を実現しており、リングバッファ領域220に格納したコンテンツデータのうち再生時刻となったコンテンツパケットを順次取り出して、所定のコンテンツデータ形式(たとえば、Wave形式)に変換して音源チップ211やビデオチップ209へ入力し、コンテンツの再生を行う。
【0188】
ステップS105において、制御部230は、第2配信形態でのダウンロード処理を開始する契機となったか否かを判定する。すなわち、制御部230は、第2配信形態におけるダウンロード処理を行う必要があるか否かを判定する。制御部230は、第2配信形態によるコンテンツデータのダウンロード要求の操作を検出したときに、第2配信形態におけるダウンロード処理を行う必要があると判定する。また、制御部230は、ユーザからのダウンロード要求があったと判定したコンテンツデータに関するコンテンツIDをコンテンツ投入装置4から取得した識別情報リストから取得する。
【0189】
この処理において、第2配信形態でのダウンロード処理を開始する契機となったと判定すると(ステップS105:YES)、制御部230は、自端末装置2において第1配信形態及び第2配信形態に用いられるリソースの空き状態を検出する(ステップS106)。すなわち、第1配信形態及び第2配信形態に用いられるリソースに関して、第1配信形態において視聴用チャンネル及びザッピング対策チャンネルに関する処理での使用率を検出することにより、第1配信形態に用いられる使用率を求め、第2配信形態でのダウンロード処理での使用率を予測することにより、第2配信形態に用いられる使用率を求める。そして、これらの使用率を加算して、第1配信形態及び第2配信形態に用いられるリソースの使用率を求めて、リソースの空き率を検出して、処理をステップS107に移行する。なお、リソースのうち通信帯域に関しては上りの通信帯域を検出することになる。また、第2配信形態でのダウンロード処理での使用率は、ダウンロードするコンテンツデータの種類やサイズなどから求める。
【0190】
ステップS107において、制御部230は、リソースの空きがあるか否かを判定する。リソースの空きがあるか否かは、第2配信形態でのコンテンツデータのダウンロード処理を行うためのリソースが確保できるか否かにより判定される。すなわち、ステップS106で検出したリソースの空き率が0未満になっているときには、リソースに空きがないと判定し、ステップS106で検出したリソースの空き率がある場合には、リソースに空きがあると判定する。この処理において、制御部230は、リソースに空きがないと判定すると(ステップS107:NO)、処理をステップS108に移行する。また、制御部230は、ダウンロード要求があったコンテンツデータがハードディスク装置203のコンテンツデータ記憶領域に記憶されていると判定した場合には、処理をステップS108ではなく、ステップS109に移行する。
【0191】
ステップS108において、制御部230は、第2配信形態に用いられるリソースの使用状態、すなわち第1配信形態で用いられているリソースの使用率に応じて、ザッピング対策チャンネルのうち、1以上のザッピング対策チャンネルに関する接続先装置との接続を切断して、第2配信形態でのコンテンツデータのダウンロード処理を行うためのリソースを確保する。
【0192】
一方、リソースに空きがあると判定すると(ステップS107:YES)、ザッピング対策チャンネルに関する接続先装置との接続を維持したまま、処理をステップS109に移行する。
【0193】
ステップS109において、制御部230は、ダウンロード機能の使用処理を行う。この処理において、制御部230は、まずユーザからのダウンロード要求があったと判定したコンテンツデータに関するコンテンツIDをコンテンツ投入装置4から取得した識別情報リストから取得する。
【0194】
次に、制御部230は、インデックステーブル222にコンテンツIDが存在するか否かを判定する。この処理において、インデックステーブル222にコンテンツIDが存在すると判定されると、制御部230は、インデックステーブル222からコンテンツ保持端末装置の所在情報を取得する。一方、インデックステーブル222にコンテンツIDが存在しないと判定されると、制御部230は、ルーティングテーブル223に基づいて、ネットワーク6を介して検索メッセージを他の端末装置2へ転送し、この検索メッセージに対して他の端末装置から送信されるコンテンツ保持端末装置の所在情報を取得する。
【0195】
その後、制御部230は、取得したコンテンツ保持端末装置の所在情報宛に、コンテンツ送信要求を送信する。すなわち、制御部230は、コンテンツ保持端末装置に対してダウンロード送信要求を行う。制御部230は、このダウンロード送信要求に対してコンテンツ保持端末装置から送信されるコンテンツデータを受信し、ハードディスク装置203のコンテンツデータ記憶領域に記憶することによって、ダウンロード機能の使用処理を終了し(ステップS110)、処理をステップS111に移行する。
【0196】
ステップS111において、制御部230は、ステップS105で接続を切断したザッピング対策チャンネルに関する接続の復帰処理を行う。この復帰処理は、ザッピング対策チャンネルに関する接続先候補を接続管理装置3へ要求し、この接続先候補の要求に対して接続管理装置3から送信される接続先候補に対して接続を要求することによって行われる。
【0197】
また、ステップS105において、第2配信形態でのダウンロード処理を開始する契機となっていないと判定すると(ステップS105:NO)、制御部230は、第2配信形態でのアップロード処理が開始される契機となったか否かを判定する(ステップS113)。すなわち、制御部230は、第2配信形態におけるアップロード処理を行う必要があるか否かを判定する。制御部230は、第2配信形態に参加している他の端末装置2からコンテンツデータのダウンロード要求を受信したときに、第2配信形態におけるアップロード処理を行う必要があると判定する。
【0198】
この処理において、第2配信形態でのアップロード処理を開始する契機でないと判定すると(ステップS112:NO)、その他のデータを受信又はその他のユーザの指示を受けたか否かを判断する(ステップS119)。そして、その他のデータを受信又はユーザの指示を受けたと判断すると(ステップS119:YES)、制御部230は、そのデータ又は指示に応じた処理を行う(ステップS120)。
【0199】
また、ステップS112において、第2配信形態でのアップロード処理を開始する契機となったと判定すると(ステップS112:YES)、制御部230は、自端末装置2において第1配信形態及び第2配信形態に用いられるリソースの空き状態を検出する(ステップS112)。このときの処理は、基本的にステップS106の処理と同様であるが、リソースのうち通信帯域に関しては下りの通信帯域を検出することになる。
【0200】
ステップS114において、制御部230は、リソースの空きがあるか否かを判定する。リソースの空きがあるか否かは、第2配信形態でのコンテンツデータのアップロード処理を行うためのリソースが確保できるか否かにより判定される。このときの処理は、基本的にステップS107の処理と同様であるが、リソースのうち通信帯域に関しては下りの通信帯域である。この処理において、制御部230は、リソースに空きがないと判定すると(ステップS114:NO)、処理をステップS115に移行する。
【0201】
ステップS115において、制御部230は、第2配信形態に用いる必要があるリソースの使用状態、すなわち第2配信形態に用いられるリソースの使用状態に応じて、ザッピング対策チャンネルのうち、1以上のザッピング対策チャンネルに関する接続先装置との接続を切断して、第2配信形態でのコンテンツデータのアップロード処理を行うためのリソースを確保する。
【0202】
一方、リソースに空きがあると判定すると(ステップS114:YES)、ザッピング対策チャンネルに関する接続先装置との接続を維持したまま、処理をステップS116に移行する。
【0203】
ステップS116において、制御部230は、アップロード機能の使用処理を行う。この処理において、制御部230は、他の端末装置2からダウンロード要求があったコンテンツデータをハードディスク装置203のコンテンツデータ記憶領域から取り出して、ダウンロード要求を行った他の端末装置2に送信することによってアップロード処理を行い、このアップロード処理が終了する(ステップS117)と、アップロード機能の使用処理を終了し、処理をステップS118に移行する。
【0204】
ステップS118において、制御部230は、ステップS115で接続を切断したザッピング対策チャンネルに関する接続の復帰処理を行う。この復帰処理は、ステップS111と同様に、ザッピング対策チャンネルに関する接続先候補を接続管理装置3へ要求し、この接続先候補の要求に対して接続管理装置3から送信される接続先候補に対して接続を要求することによって行われる。
【0205】
ステップS111、ステップS118又はステップS120の処理が終了したとき、ステップS119において、他のデータを受信又はユーザの指示を受けていないと判断したとき(ステップS119:NO)、制御部230は、自端末装置2の電源がOFFとなっているか否かを判定する(ステップS121)。この処理において、自端末装置2の電源がOFFとなっていると判定すると(ステップS121:YES)、制御部230は、処理を終了する。一方、自端末装置2の電源がOFFとなっていないと判定すると(ステップS121:NO)、制御部230は、処理をステップS105に戻して、ステップS105〜S121までの処理を繰り返す。
【0206】
以上のように、本実施形態の端末装置2によれば、第1配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後、グリッド型接続などの第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第2配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退し、第2配信形態でのコンテンツ購入処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続(再参加)するようにしているので、リソースが限られている端末装置であっても、ザッピング対策を施しつつ、第1配信形態と第2配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【0207】
なお、本実施形態における端末装置2では、リソースとして、CPUの処理能力、メモリの容量及び通信帯域の全てについて、使用状態を検出するようにしたが、これに限られず、これらのうち一つ又は2つを検出するリソースとするようにしてもよい。また、リソースとして、CPUの処理能力、メモリの容量及び通信帯域を例示的に示したが、これに限られない。
【0208】
[4.変形例1]
上記実施形態においては、ルート端末装置がリクエスト端末装置に対してコンテンツデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得するものであったが、ルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するようにしてもよい。
【0209】
この場合、図19に示すように、ルート端末装置2Zは、リクエスト端末装置2Xから要求されたコンテンツデータを保持するコンテンツ保持端末装置2Yの所在情報をインデックステーブル222から取り出す。そして、当該コンテンツ保持端末装置2Yの所在情報に基づいて、リクエスト端末装置2Xの所在情報を含めたコンテンツデータの送信要求をコンテンツ保持端末装置2Yへ送信する。コンテンツ保持端末装置2Yは、コンテンツデータの送信要求を受信すると、このコンテンツデータの送信要求に含まれるリクエスト端末装置2Xの所在情報に対して、コンテンツデータの送信要求に対応するコンテンツデータを送信することになる。
【0210】
すなわち、端末装置2の制御部230は、リクエスト端末装置2Xからコンテンツ検索メッセージをルート端末装置2Zとして受信したとき、コンテンツ保持端末装置情報返信手段の機能に代えて、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置2Yの所在情報を宛先として、リクエスト端末装置2Xの所在情報を含めたコンテンツデータの送信要求を送信するコンテンツデータ送信要求手段として機能する。
【0211】
なお、リクエスト端末装置2Xは、ダウンロード先検索手段によってコンテンツ検索メッセージを送信し、ダウンロードデータ受信手段は、このコンテンツ検索メッセージに応じたコンテンツデータをコンテンツ保持端末装置2Yから受信する。
【0212】
このようにルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するように第2配信形態を構成することも可能である。
【0213】
[5.その他の変形例]
また、第2配信形態として、Pastry型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるkademlia型、chord型、Viceroy型、CAN型などのコンテンツ配信システムにも本発明を適用可能である。
【図面の簡単な説明】
【0214】
【図1】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図2】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図3】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図4】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図5】本実施形態に係るコンテンツ配信システムの第1配信形態の配信動作説明図である。
【図6】図1の端末装置におけるリングバッファ領域の機能を概念的に表した図である。
【図7】本実施形態に係るコンテンツ配信システムの第2配信形態の配信動作説明図である。
【図8】DHTによってルーティングテーブルが作成される様子の一例を示す図である。
【図9】図1の端末装置におけるルーティングテーブルの一例を示す図である。
【図10】端末装置が第2配信形態へ参加する様子の一例を示す図である。
【図11】DHTルーティングによりコンテンツデータを保持している端末装置2が検索される様子の一例を示す図である。
【図12】DHTルーティングによりコンテンツデータが端末装置に保持される様子の一例を示す図である。
【図13】DHTルーティングにより登録メッセージがルート端末装置に送信される一例を示す図である。
【図14】図1の端末装置におけるインデックステーブルの一例を示す図である。
【図15】図1の端末装置の概略構成例を示す図である。
【図16】第1配信形態における端末装置の表示画面の一例を示す図である。
【図17】第2配信形態における端末装置の表示画面の一例を示す図である。
【図18】図1の端末装置における処理全体を示すフローチャートである。
【図19】変形例1におけるコンテンツ配信システムの概要動作例を示す図である。
【符号の説明】
【0215】
S コンテンツ配信システム
1 コンテンツ配信装置
2 端末装置
3 接続管理装置
4 コンテンツ投入装置
5 コンタクト先紹介装置
6 ネットワーク
230 制御部
【特許請求の範囲】
【請求項1】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムであって、
前記コンテンツ配信装置は、
前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、
前記接続管理装置は、
前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と
前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、
前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段と、
を備えるコンテンツ配信システム。
【請求項2】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、
前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段と、
を備える端末装置。
【請求項3】
前記端末装置は、
前記第2配信形態に用いるリソースの使用量を検出するリソース使用量検出手段と、
前記リソース使用量検出手段による検出結果に基づいて、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定するリソース不足判定手段と、
前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していると判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する
ことを特徴とする請求項2に記載の端末装置。
【請求項4】
前記リソース不足判定手段は、前記リソースが不足しているときに、前記リソースの不足量を判定し、
前記切断処理手段は、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数あるときに、これらのチャンネルのうち、前記リソースの不足量に応じた数のチャンネルに関する前記接続先装置との接続を切断する
ことを特徴とする請求項3に記載の端末装置。
【請求項5】
前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していないと判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先装置との接続の切断を行わない
ことを特徴とする請求項3又は請求項4に記載の端末装置。
【請求項6】
前記端末装置は、
前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記第2配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、
前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記接続状態にあるチャンネルの前記接続先候補との接続を前記切断処理手段によって切断せず、前記第2配信形態によって前記コンテンツデータのダウンロードを行わない
ことを特徴とする請求項2から5のいずれか1項に記載の端末装置。
【請求項7】
前記リソースは 、前記端末装置におけるCPUの処理能力、メモリの容量及び前記ネットワークとの通信の帯域のうちの少なくともいずれか一つである
ことを特徴とする請求項2から6いずれか1項に記載の端末装置。
【請求項8】
前記第2配信形態によるコンテンツデータのダウンロード又はアップロードが完了すると、前記切断処理手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続処理手段を備えたことを特徴とする請求項2から7のいずれか1項に記載の端末装置。
【請求項9】
コンピュータを、請求項2〜8のいずれか1項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項10】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、
前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、
前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、
前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続先紹介要求毎に、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、
前記接続管理装置が、前記接続先紹介要求毎に、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、
前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加するステップと、
前記端末装置が、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断するステップと、
を有するコンテンツ配信方法。
【請求項1】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムであって、
前記コンテンツ配信装置は、
前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、
前記接続管理装置は、
前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と
前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、
前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段と、
を備えるコンテンツ配信システム。
【請求項2】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加する接続処理手段と、
前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段と、
を備える端末装置。
【請求項3】
前記端末装置は、
前記第2配信形態に用いるリソースの使用量を検出するリソース使用量検出手段と、
前記リソース使用量検出手段による検出結果に基づいて、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定するリソース不足判定手段と、
前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していると判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する
ことを特徴とする請求項2に記載の端末装置。
【請求項4】
前記リソース不足判定手段は、前記リソースが不足しているときに、前記リソースの不足量を判定し、
前記切断処理手段は、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数あるときに、これらのチャンネルのうち、前記リソースの不足量に応じた数のチャンネルに関する前記接続先装置との接続を切断する
ことを特徴とする請求項3に記載の端末装置。
【請求項5】
前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していないと判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先装置との接続の切断を行わない
ことを特徴とする請求項3又は請求項4に記載の端末装置。
【請求項6】
前記端末装置は、
前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記第2配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、
前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記接続状態にあるチャンネルの前記接続先候補との接続を前記切断処理手段によって切断せず、前記第2配信形態によって前記コンテンツデータのダウンロードを行わない
ことを特徴とする請求項2から5のいずれか1項に記載の端末装置。
【請求項7】
前記リソースは 、前記端末装置におけるCPUの処理能力、メモリの容量及び前記ネットワークとの通信の帯域のうちの少なくともいずれか一つである
ことを特徴とする請求項2から6いずれか1項に記載の端末装置。
【請求項8】
前記第2配信形態によるコンテンツデータのダウンロード又はアップロードが完了すると、前記切断処理手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続処理手段を備えたことを特徴とする請求項2から7のいずれか1項に記載の端末装置。
【請求項9】
コンピュータを、請求項2〜8のいずれか1項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項10】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第1配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第2配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、
前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、
前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、
前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続先紹介要求毎に、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、
前記接続管理装置が、前記接続先紹介要求毎に、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、
前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第1配信形態に参加するステップと、
前記端末装置が、前記第2配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第2配信形態に用いるリソースの使用状態に応じて、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断するステップと、
を有するコンテンツ配信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2008−85678(P2008−85678A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−263561(P2006−263561)
【出願日】平成18年9月27日(2006.9.27)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願日】平成18年9月27日(2006.9.27)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]