(57)【特許請求の範囲】
【請求項１】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムであって、
前記コンテンツ配信装置は、
前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、
前記接続管理装置は、
前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と
前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続手段と、
前記ネットワークを介して接続した前記接続先候補から前記コンテンツデータを前記チャンネル毎にストリーミング受信するストリーミング受信手段と、
前記ストリーミング受信手段により受信したコンテンツデータを前記チャンネル毎に一時的に蓄積するリングバッファ領域と、
前記リングバッファ領域に蓄積したコンテンツデータのうち前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータをストリーミング再生するストリーミング再生手段と、
他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するストリーミング中継手段と、
前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、
前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、前記接続手段によって接続状態にあるチャンネルのうち、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断する切断手段と、
前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、当該ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、当該コンテンツデータの識別情報を取得する識別情報取得手段と、
前記識別情報取得手段によって取得された前記コンテンツデータの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記第２配信形態の端末装置からダウンロードするダウンロード処理手段と、
前記ダウンロード処理手段によりダウンロードした前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記ダウンロード処理手段での前記ダウンロード要求されたコンテンツデータのダウンロードが完了すると、前記切断手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続手段と、
を備えるコンテンツ配信システム。
【請求項２】
前記端末装置は、
前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されているか否かを判定する判定手段と、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記第２配信形態によって前記コンテンツデータのダウンロードを行わずに、前記リングバッファ領域に蓄積されているコンテンツデータを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶制御手段と、を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断しない
ことを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項３】
前記端末装置は、
前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断せず、かつ前記ダウンロード処理手段は、前記第２配信形態によって前記コンテンツデータのダウンロードを行わない
ことを特徴とする請求項１又は請求項２に記載のコンテンツ配信システム。
【請求項４】
前記第２配信形態で配信するコンテンツデータを前記複数の端末装置のうち一部の端末装置に送信するコンテンツ投入手段と、
前記コンテンツ配信装置によってストリーミング配信するコンテンツデータの識別情報を複数含む識別情報リストを記憶する識別情報リスト記憶手段と、
前記識別情報リスト記憶手段に記憶した前記識別情報リストを前記複数の端末装置に送信する識別情報リスト送信手段と、を有するコンテンツ投入装置を備え、
前記端末装置は、
前記コンテンツ投入装置から送信される識別情報リストを受信する識別情報リスト受信手段を有し、
前記識別情報取得手段は、
前記識別情報リスト受信手段により受信した当該識別情報リストから前記ダウンロード要求されたコンテンツデータの識別情報を取得する
ことを特徴とする請求項１から３のいずれか１項に記載のコンテンツ配信システム。
【請求項５】
前記識別情報リスト記憶手段は、前記コンテンツ配信装置によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを記憶する
ことを特徴とする請求項４に記載のコンテンツ配信システム。
【請求項６】
前記コンテンツ配信装置は、
前記配信手段によってストリーミング配信するコンテンツデータの識別情報を送信する識別情報送信手段を有し、
前記端末装置は、
前記コンテンツ配信装置から送信される前記コンテンツデータの識別情報を受信する識別情報受信手段を有し、
前記識別情報取得手段は、
前記識別情報受信手段によって受信した前記コンテンツデータの識別情報から、前記ダウンロード要求されたコンテンツデータの識別情報を取得する
ことを特徴とする請求項１から３のいずれか１項に記載のコンテンツ配信システム。
【請求項７】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続手段と、
前記ネットワークを介して接続した前記接続先候補から前記コンテンツデータを前記チャンネル毎にストリーミング受信するストリーミング受信手段と、
前記ストリーミング受信手段により受信したコンテンツデータを前記チャンネル毎に一時的に蓄積するリングバッファ領域と、
前記リングバッファ領域に蓄積したコンテンツデータのうち前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータをストリーミング再生するストリーミング再生手段と、
他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するストリーミング中継手段と、
前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、
前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、前記接続手段によって接続状態にあるチャンネルのうち、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断する切断手段と、
前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、当該ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、当該コンテンツデータの識別情報を取得する識別情報取得手段と、
前記識別情報取得手段によって取得された前記コンテンツデータの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記第２配信形態の端末装置からダウンロードするダウンロード処理手段と、
前記ダウンロード処理手段によりダウンロードした前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記ダウンロード処理手段での前記ダウンロード要求されたコンテンツデータのダウンロードが完了すると、前記切断手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続手段と、
を備える端末装置。
【請求項８】
前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されているか否かを判定する判定手段と、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記第２配信形態によって前記コンテンツデータのダウンロードを行わずに、前記リングバッファ領域に蓄積されているコンテンツデータを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶制御手段と、を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断しない
ことを特徴とする請求項７に記載の端末装置。
【請求項９】
前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断せず、かつ前記ダウンロード処理手段は、前記第２配信形態によって前記コンテンツデータのダウンロードを行わない
ことを特徴とする請求項７又は請求項８に記載の端末装置。
【請求項１０】
前記コンテンツ配信装置がストリーミング配信するコンテンツデータを前記複数の端末装置のうち一部の端末装置に送信し、かつ前記コンテンツ配信装置によってストリーミング配信するコンテンツデータの識別情報を複数含む識別情報リストを前記複数の端末装置に送信するコンテンツ投入装置から前記識別情報リストを受信する識別情報リスト受信手段を有し、
前記識別情報取得手段は、
前記識別情報リスト受信手段により受信した当該識別情報リストから前記ダウンロード要求されたコンテンツデータの識別情報を取得する
ことを特徴とする請求項７から９のいずれか１項に記載の端末装置。
【請求項１１】
前記識別情報リストは、前記コンテンツ配信装置によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む
ことを特徴とする請求項１０に記載の端末装置。
【請求項１２】
前記コンテンツ配信装置から送信される前記コンテンツデータの識別情報を受信する識別情報受信手段を有し、
前記識別情報取得手段は、
前記識別情報受信手段によって受信した前記コンテンツデータの識別情報から、前記ダウンロード要求されたコンテンツデータの識別情報を取得する
ことを特徴とする請求項７から９のいずれか１項に記載の端末装置。
【請求項１３】
前記切断手段は、
前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数ある場合であって、前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、前記接続手段によって接続状態にあるチャンネルのうち、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有する全てのチャンネルに関する前記接続先候補との接続を切断する
ことを特徴とする請求項７〜１２のいずれか１項に記載の端末装置。
【請求項１４】
前記所定の関係を有するチャンネルは、前記チャンネル選択手段によって選択されたチャンネル番号に隣接するチャンネル番号を有するチャンネルである
ことを特徴とする請求項７〜１２のいずれか１項に記載の端末装置。
【請求項１５】
コンピュータを、請求項７〜１４のいずれか１項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項１６】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、
前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、
前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、
前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、
前記接続管理装置が、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、
前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加するステップと、
前記端末装置が、前記ネットワークを介して接続した前記接続先候補から前記コンテンツデータを前記チャンネル毎にストリーミング受信するステップと、
前記端末装置が、前記ストリーミング受信したコンテンツデータを前記チャンネル毎にリングバッファ領域に一時的に蓄積するステップと、
前記端末装置が、前記リングバッファ領域に蓄積したコンテンツデータのうち前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータをストリーミング再生するステップと、
前記端末装置が、他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するステップと、
前記端末装置が、前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出すると、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断するステップと、
前記端末装置が、前記第２配信形態によるコンテンツデータのダウンロード要求の操作があると、当該ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、当該コンテンツデータの識別情報を取得するステップと、
前記端末装置が、前記取得されたコンテンツデータの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記第２配信形態の端末装置からダウンロードするステップと、
前記端末装置が、前記ダウンロードしたコンテンツデータをコンテンツデータ記憶手段に記憶するステップと、
前記端末装置が、前記ダウンロード要求されたコンテンツデータのダウンロードが完了すると、前記切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続するステップと、
を有するコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ配信の技術に関する。詳細には、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置が階層構造で多層に論理接続され、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流に中継され、複数の端末装置によってコンテンツデータを再生可能としたコンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラムに関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ（以下、「コンテンツデータ」と呼ぶ。）のストリーミング配信を行うコンテンツ配信サービスが開始されてきている。ここで、ストリーミング配信とは、クライアント端末装置（以下、単に「端末装置」と呼ぶ。）がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
【０００３】
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であった。
【０００４】
ところが、コンテンツ配信サービスの充実やネットワークへ接続する端末装置の増加に伴い、コンテンツ配信装置に対してコンテンツデータの配信を要求する端末装置が増加し、コンテンツ配信装置の負荷が増大していくのに加え、ネットワークにおけるトラフィックの集中が深刻な影響を及ぼすようになってきた。
【０００５】
このようなコンテンツ配信装置への負荷やトラフィックの増大を回避するため、オリジナルの配信サーバに加え、ミラーサーバやキャッシュなどのサーバをネットワーク内に複数配置することにより負荷分散する技術が実用化されているが、コンテンツを配信するサーバが複数必要となり設備のコストが増大する。
【０００６】
そのため、端末装置間でのコンテンツデータの中継、すなわちＰ２Ｐ通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツ配信システムが提案されている。
【０００７】
このコンテンツ配信システムは、コンテンツ配信装置を頂点としたツリー状階層構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
【０００８】
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層（第１階層）に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第２階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下層に位置する端末装置へ配信するまで行うものである。
【０００９】
通常、このようなコンテンツ配信システムにおいては、複数の端末装置をツリー状階層構造で論理接続するための接続管理装置がネットワーク上に配置されている。
【００１０】
接続管理装置は、コンテンツ配信システムの階層構造における端末装置の接続状態を管理する機能を有しており、この階層構造に参加していない端末装置からの参加要求を受信すると、階層構造を構成する複数の端末装置のいずれかを選択し、参加要求を行った端末装置に通知する。
【００１１】
この通知を受けた端末装置は、接続管理装置から紹介を受けた接続先候補に対して接続要求することにより、コンテンツ配信システムに参加することができ、これにより、コンテンツ配信装置からのコンテンツデータを上流の端末装置を介して受信できる。
【００１２】
ところで、放送形式のコンテンツ配信システムにおいて、複数の放送チャンネル（以下、単に「チャンネル」とも呼ぶ。）によりコンテンツデータをストリーミング配信する場合、コンテンツ配信装置を頂点としたツリー状階層構造は、チャンネル毎に構成されることになる。
【００１３】
従って、端末装置のユーザが、視聴しているチャンネルとは異なるチャンネルのコンテンツデータを視聴するためにチャンネルを切替える操作を行った場合、視聴しているチャンネルに対応するツリー状階層構造とは異なるツリー状階層構造に参加することになる。
【００１４】
しかしながら、端末装置のユーザが視聴するチャンネルを切替えたとき、切替先のチャンネルのツリー状階層構造に参加するためには多くの時間を要する。
【００１５】
すなわち、ユーザがチャンネルを切替える操作を行った場合、端末装置は、接続管理装置に対して新たな階層構造における接続先となる他の端末装置を紹介してもらう処理や、ＮＡＴ（Network Address Translation）を越える処理を行う必要があり、これらの処理が終了するまで新たな階層構造に参加することができず、ユーザがチャンネルを切替える操作を行っても、即座に接続先を切替えることができないのである。
【００１６】
このようなユーザによるチャンネル切替え（以下、「ザッピング」とも呼ぶ）の問題に対処する方法として、コンテンツデータに他のチャンネルに関する要約データ（対策用のコンテンツデータ）を重畳して配信しておくことにより、ユーザによるチャンネル切替操作から端末装置が新たな他の端末装置に接続するまでの時間を短縮させる情報閲覧方法を用いたコンテンツ配信システムが提案されている（たとえば、特許文献１参照。）。
【特許文献１】特開２００３−３２４７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、視聴しているチャンネルのコンテンツデータとザッピング対策用の他のチャンネルのコンテンツデータとを端末装置において同時に受信することになるため、端末装置においてネットワークを介して他の装置との通信を行う場合には、当該他の装置との通信速度を十分に確保することができない恐れがある。
【００１８】
すなわち、ツリー状階層構造を有するコンテンツ配信システムに参加すると、視聴していないコンテンツデータまでも受信することになり、結果的に端末装置における通信帯域（バンド幅）を狭めてしまい、端末装置において、他の通信を行う場合にその通信速度を十分なものとすることができず、場合によっては通信を行うことができない恐れもある。
【００１９】
本発明は、以上の不都合に鑑みてなされたものであり、視聴していないチャンネルのコンテンツデータをザッピング対策のために受信するようにした場合であっても、端末装置２における他の通信への影響を抑えることができるコンテンツ配信システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記課題を解決するために、請求項１に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムであって、前記コンテンツ配信装置は、前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、前記接続管理装置は、前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続手段と、前記ネットワークを介して接続した前記接続先候補から前記コンテンツデータを前記チャンネル毎にストリーミング受信するストリーミング受信手段と、前記ストリーミング受信手段により受信したコンテンツデータを前記チャンネル毎に一時的に蓄積するリングバッファ領域と、前記リングバッファ領域に蓄積したコンテンツデータのうち前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータをストリーミング再生するストリーミング再生手段と、他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するストリーミング中継手段と、前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、前記接続手段によって接続状態にあるチャンネルのうち、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断する切断手段と、前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、当該ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、当該コンテンツデータの識別情報を取得する識別情報取得手段と、前記識別情報取得手段によって取得された前記コンテンツデータの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記第２配信形態の端末装置からダウンロードするダウンロード処理手段と、前記ダウンロード処理手段によりダウンロードした前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記ダウンロード処理手段での前記ダウンロード要求されたコンテンツデータのダウンロードが完了すると、前記切断手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続手段とを備えるコンテンツ配信システムとした。
【００２１】
また、請求項２に記載の発明は、請求項1に記載の発明において、前記端末装置は、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されているか否かを判定する判定手段と、前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記第２配信形態によって前記コンテンツデータのダウンロードを行わずに、前記リングバッファ領域に蓄積されているコンテンツデータを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶制御手段とを有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断しないことを特徴とする。
【００２２】
また、請求項３に記載の発明は、請求項１又は請求項２に記載の発明において、前記端末装置は、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断せず、かつ前記ダウンロード処理手段は、前記第２配信形態によって前記コンテンツデータのダウンロードを行わないことを特徴とする。
【００２３】
また、請求項４に記載の発明は、請求項１から３のいずれか１項に記載の発明において、前記第２配信形態で配信するコンテンツデータを前記複数の端末装置のうち一部の端末装置に送信するコンテンツ投入手段と、前記コンテンツ配信装置によってストリーミング配信するコンテンツデータの識別情報を複数含む識別情報リストを記憶する識別情報リスト記憶手段と、前記識別情報リスト記憶手段に記憶した前記識別情報リストを前記複数の端末装置に送信する識別情報リスト送信手段と、を有するコンテンツ投入装置を備え、前記端末装置は、前記コンテンツ投入装置から送信される識別情報リストを受信する識別情報リスト受信手段を有し、前記識別情報取得手段は、前記識別情報リスト受信手段により受信した当該識別情報リストから前記ダウンロード要求されたコンテンツデータの識別情報を取得することを特徴とする
また、請求項５に記載の発明は、請求項４に記載の発明において、前記識別情報リスト記憶手段は、前記コンテンツ配信装置によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを記憶することを特徴とする。
【００２４】
また、請求項６に記載の発明は、請求項１から３のいずれか１項に記載の発明において、前記コンテンツ配信装置は、前記配信手段によってストリーミング配信するコンテンツデータの識別情報を送信する識別情報送信手段を有し、前記端末装置は、前記コンテンツ配信装置から送信される前記コンテンツデータの識別情報を受信する識別情報受信手段を有し、前記識別情報取得手段は、前記識別情報受信手段によって受信した前記コンテンツデータの識別情報から、前記ダウンロード要求されたコンテンツデータの識別情報を取得することを特徴とする。
【００２５】
また、請求項７に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続手段と、前記ネットワークを介して接続した前記接続先候補から前記コンテンツデータを前記チャンネル毎にストリーミング受信するストリーミング受信手段と、前記ストリーミング受信手段により受信したコンテンツデータを前記チャンネル毎に一時的に蓄積するリングバッファ領域と、前記リングバッファ領域に蓄積したコンテンツデータのうち前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータをストリーミング再生するストリーミング再生手段と、他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するストリーミング中継手段と、前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、前記接続手段によって接続状態にあるチャンネルのうち、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断する切断手段と、前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、当該ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、当該コンテンツデータの識別情報を取得する識別情報取得手段と、前記識別情報取得手段によって取得された前記コンテンツデータの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記第２配信形態の端末装置からダウンロードするダウンロード処理手段と、前記ダウンロード処理手段によりダウンロードした前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記ダウンロード処理手段での前記ダウンロード要求されたコンテンツデータのダウンロードが完了すると、前記切断手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続手段と、とを備える端末装置とした。
【００２６】
また、請求項８に記載の発明は、請求項７に記載の発明において、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されているか否かを判定する判定手段と、前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記第２配信形態によって前記コンテンツデータのダウンロードを行わずに、前記リングバッファ領域に蓄積されているコンテンツデータを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶制御手段とを有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄積されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断しないことを特徴とする。
【００２７】
また、請求項９に記載の発明は、請求項７又は請求項８に記載の発明において、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記切断手段は、前記接続状態にあるチャンネルの前記接続先候補との接続を切断せず、かつ前記ダウンロード処理手段は、前記第２配信形態によって前記コンテンツデータのダウンロードを行わないことを特徴とする。
【００２８】
また、請求項１０に記載の発明は、請求項７から９のいずれか１項に記載の発明において、前記第２配信形態にて配信するコンテンツデータを前記複数の端末装置のうち一部の端末装置に送信し、かつ前記コンテンツ配信装置によってストリーミング配信するコンテンツデータの識別情報を複数含む識別情報リストを前記複数の端末装置に送信するコンテンツ投入装置から前記識別情報リストを受信する識別情報リスト受信手段を有し、前記識別情報取得手段は、前記識別情報リスト受信手段により受信した当該識別情報リストから前記ダウンロード要求されたコンテンツデータの識別情報を取得することを特徴とする。
【００２９】
また、請求項１１に記載の発明は、請求項１０に記載の発明において、前記識別情報リストは、前記コンテンツ配信装置によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含むことを特徴とする。
【００３０】
また、請求項１２に記載の発明は、請求項７から９のいずれか１項に記載の発明において、前記コンテンツ配信装置から送信される前記コンテンツデータの識別情報を受信する識別情報受信手段とを有し、記識別情報取得手段は、前記識別情報受信手段によって受信した前記コンテンツデータの識別情報から前記ダウンロード要求されたコンテンツデータの識別情報を取得することを特徴とする。
【００３１】
また、請求項１３に記載の発明は、請求項７〜１２のいずれか１項に記載の発明において、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数ある場合であって、前記ダウンロード操作検出手段によって前記ダウンロード要求の操作が検出されたとき、前記接続手段によって接続状態にあるチャンネルのうち、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有する全てのチャンネルに関する前記接続先候補との接続を切断することを特徴とする。
【００３２】
また、請求項１４に記載の発明は、請求項７〜１３のいずれか１項に記載の発明において、前記所定の関係を有するチャンネルは、前記チャンネル選択手段によって選択されたチャンネル番号に隣接するチャンネル番号を有するチャンネルであることを特徴とする。
【００３３】
また、請求項１５に記載の発明は、コンピュータを、請求項７〜１４のいずれかに記載の端末装置における各手段として機能させるためのプログラムとした。
【００３４】
また、請求項１６に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、前記接続管理装置が、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加するステップと、前記端末装置が、前記ネットワークを介して接続した前記接続先候補から前記コンテンツデータを前記チャンネル毎にストリーミング受信するステップと、前記端末装置が、前記ストリーミング受信したコンテンツデータを前記チャンネル毎にリングバッファ領域に一時的に蓄積するステップと、前記端末装置が、前記リングバッファ領域に蓄積したコンテンツデータのうち前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータをストリーミング再生するステップと、前記端末装置が、他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するステップと、前記端末装置が、前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出すると、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断するステップと、前記端末装置が、前記第２配信形態によるコンテンツデータのダウンロード要求の操作があると、当該ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、当該コンテンツデータの識別情報を取得するステップと、前記端末装置が、前記取得されたコンテンツデータの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記第２配信形態の端末装置からダウンロードするステップと、前記端末装置が、前記ダウンロードしたコンテンツデータをコンテンツデータ記憶手段に記憶するステップと、前記端末装置が、前記ダウンロード要求されたコンテンツデータのダウンロードが完了すると、前記切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続するステップとを有するコンテンツ配信方法とした。
【発明の効果】
【００３５】
請求項１，７，１５，１６に記載の発明によれば、第１配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後コンテンツ購入をグリッド型接続などの第２配信形態で行うときにはザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのコンテンツ購入処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続（再参加）するようにしているので、ネットワークバンド幅が厳しい環境下においても、第１配信形態と第２配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【００３６】
また、請求項２，８に記載の発明によれば、放送形態で配信されるコンテンツデータをリングバッファ領域に一時的にキャッシュしておき、購入するコンテンツデータがこのリングバッファ領域に蓄積されているときには、リングバッファ領域に蓄積されたコンテンツデータを購入することができる。従って、新たに第２配信形態でコンテンツデータを取得するのに比べコンテンツデータの購入処理を短縮することができる。リングバッファ領域の容量を大きくすることによって、放送形態で配信されたコンテンツデータを多数キャッシュすることができるので、コンテンツデータを視聴した後にダウンロードすることが多いようなユーザに対してダウンロード時間の短縮効果が大きい。
【００３７】
また、請求項３，９に記載の発明によれば、購入するコンテンツデータがすでにコンテンツデータ記憶手段に蓄積されているときには、コンテンツデータ記憶手段に記憶されたコンテンツデータを購入することができる。従って、新たに第２配信形態でコンテンツデータを取得するのに比べコンテンツデータの購入処理を短縮することができる。たとえば、端末装置がコンテンツ保持端末装置であった場合、コンテンツ保持端末装置に対応するコンテンツデータを購入する場合には、自端末装置に記憶しているコンテンツデータを用いることができる。
【００３８】
また、請求項４，１０に記載の発明によれば、第２配信形態においてコンテンツデータをダウンロードするために必要なコンテンツデータの識別情報のリストをコンテンツ投入装置から取得することができるため、コンテンツのダウンロード処理を行う毎にコンテンツ投入装置へダウンロードするコンテンツデータの識別情報を取得する必要がなく、ネットワークやコンテンツ投入装置への負荷を軽減することができ、ダウンロード処理の時間を短縮することができる。
【００３９】
また、請求項５，１１に記載の発明によれば、コンテンツ投入装置は、コンテンツ配信装置によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを記憶することができるので、放送形態で直接配信されるコンテンツデータではないが、それらと関係するコンテンツデータを第２配信形態で取得することができる。
【００４０】
また、請求項６，１２に記載の発明によれば、第２配信形態においてコンテンツデータをダウンロードするために必要なコンテンツデータの識別情報がコンテンツ配信装置から端末装置へ送信されるため、端末装置では、ダウンロードするコンテンツデータの識別情報をコンテンツ投入装置などに要求して取得する必要がないため、コンテンツ投入装置における処理を軽減することができる。また、コンテンツデータの識別情報をストリーミング配信するコンテンツパケットのヘッダに含ませてコンテンツ配信装置から送信するようにすることもできる。
【００４１】
また、請求項１３に記載の発明によれば、ザッピング対策チャンネルが複数ある場合には、全てのザッピング対策チャンネルから脱退するので、通信帯域をより多く確保することができ、第２配信形態での通信を安定させることができる。
【００４２】
また、請求項１４に記載の発明によれば、ザッピング対策チャンネルを視聴チャンネルのチャンネル番号に隣接するチャンネル番号のチャンネルとしたので、チャンネルの切替えをチャンネル番号を１つずつ増減させて切替えるようにしたチャンネル切替えインターフェイスを備える端末装置においては、有効にザッピング対策を行なうことができる。ここで、「チャンネル番号を１つずつ増減させる」とは、例えば、視聴中チャンネルがチャンネルｃｈ４であり、隣接するザッピング対策チャンネルがチャンネルｃｈ１，ｃｈ６のときには、チャンネルｃｈ４からチャンネルｃｈ１へ或いはチャンネルｃｈ４からチャンネルｃｈ６へ切替えることを意味する。
【発明を実施するための最良の形態】
【００４３】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとしたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【００４４】
［１．コンテンツ配信システムの構成等］
図１は、本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。図１に示す物理接続形態のように、コンテンツ配信システムＳを構成するコンテンツ配信装置１、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８、接続管理装置３、コンテンツ投入装置４、コンタクト先紹介装置５は、インターネットに代表されるネットワーク上に分散配置されている。なお、コンテンツ配信システムＳに直接関係ない装置もネットワーク６に接続されるが、ここでは省略している。また、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８のいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置２という場合がある。
【００４５】
コンテンツ配信装置１、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８、接続管理装置３、コンテンツ投入装置４、コンタクト先紹介装置５には、各装置を識別する情報としての固有の製造番号（たとえば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレス（所在情報）が割り当てられており、これら装置は、ネットワークの一例としてのネットワーク６にルータ１０等を介して接続されている。すなわち、目的の接続先装置のＩＰアドレスを宛先ＩＰアドレス、自装置のＩＰアドレスを送信元ＩＰアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
改ページは不要  図１に示す例では、コンテンツ配信装置１、接続管理装置３、コンテンツ投入装置４、コンタクト先紹介装置５は、それぞれ独立した装置としているが、一つの装置においてこれらの装置の機能を実現するようにしてもよい。この場合にはこれらの装置のＩＰアドレスは同一のものとなり、ポート番号などで区別されることになる。
【００４６】
本実施形態におけるコンテンツ配信システムは、複数の放送チャンネル（以下、単に「チャンネル」と呼ぶ。）でそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上にチャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、コンテンツ配信装置から送信されるコンテンツデータがチャンネル毎に階層構造の上流の端末装置から下流の端末装置にかけて順次端末装置の中継機能によってストリーミング配信される第１配信形態と、複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいてコンテンツデータを保持する他の端末装置がコンテンツデータを配信する第２配信形態とを有している。
【００４７】
そして、端末装置の利用者が第１配信形態によりコンテンツ配信装置からのコンテンツデータを視聴するときには、当該端末装置は、視聴対象のチャンネル（以下、「視聴チャンネル」と呼ぶ。ここでは、チャンネルｃｈ１〜ｃｈＮのＮ個のチャンネルがあるものとする。）の階層構造に参加するとともに、視聴チャンネル以外のチャンネルであって、視聴チャンネルと所定の関係を有するチャンネル（以下、「ザッピング対策チャンネル」と呼ぶ。）の階層構造にも参加するようにしている。
【００４８】
従って、端末装置のユーザによる視聴チャンネルの切替え操作（以下、「ザッピング」と呼ぶ。）を行なわれた場合に、ザッピング対策チャンネルによって、ユーザによるチャンネル切替操作から新たなチャンネルのコンテンツデータを視聴できるまでの時間を短縮させることができる。
【００４９】
図２には、端末装置２Ｘが第１配信形態における視聴チャンネルＡの階層構造とザッピング対策チャンネルＢの階層構造とに参加している状態を模式的に示している。なお、図２においては、説明の便宜上ザッピング対策チャンネルを１つのチャンネルとしている。
【００５０】
このように端末装置２Ｘが視聴チャンネルＡとザッピング対策チャンネルＢとに接続している状態で、端末装置２Ｘのユーザが第２配信形態によってコンテンツデータを取得するための操作を行うと、端末装置２Ｘは、図３に示すように、ザッピング対策チャンネルＢを切断し、ザッピング対策チャンネルＢの階層構造から脱退する。
【００５１】
その後、端末装置２Ｘは、図４に示すように、コンテンツ検索メッセージを送信して、ルート端末装置２Ｚからコンテンツ保持端末装置２Ｙの所在情報を取得する。その後、端末装置２Ｘは、コンテンツ保持端末装置２Ｙに対してコンテンツデータの送信要求を行い、第２配信形態によってコンテンツデータを取得する。
【００５２】
第２配信形態によるコンテンツデータ受信が完了すると、端末装置２Ｘは、第２配信形態によってコンテンツデータを取得する際に脱退したザッピング対策チャンネルＢに再接続し、ザッピング対策チャンネルＢの階層構造に再参加し、図２に示す状態に戻る。
【００５３】
以上のように、本実施形態におけるコンテンツ配信システムＳでは、端末装置２のユーザが、第１配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、視聴するチャンネルと一定の関係を有するザッピング対策チャンネルの階層構造に参加し、その後コンテンツ購入をグリッド型接続などの第２配信形態で行うときにはザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのコンテンツ購入処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再参加するようにしているので、ネットワークバンド幅が厳しい環境下においても、ザッピング対策を施しつつ、第１配信形態と第２配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【００５４】
以下、本実施形態におけるコンテンツ配信システムについて、更に具体的に図面を参照して説明する。
【００５５】
［１．１．第１配信形態について］
コンテンツ配信システムＳの第１配信形態は、図１に示すように、コンテンツ配信装置１を頂点として複数の端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８がツリー状階層構造で多層に論理接続されており、コンテンツ配信装置１からコンテンツデータが当該ツリー状階層構造の上流の端末装置２から下流の端末装置２かけて順次端末装置２の中継機能によってストリーミング配信されるように構成される。このツリー状階層構造は、コンテンツ配信装置１が配信するチャンネル毎に構成される。
【００５６】
このコンテンツ配信システムＳの第１配信形態においては、チャンネル毎にコンテンツ配信装置１を頂点（ここでは、便宜上第０階層とする。）として複数の端末装置２がツリー状階層構造で多層に論理接続されるように接続管理装置３によって管理される。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置２がチェーン状の階層構造で多層に論理接続されるようにしてもよい。また、端末装置２ａ１，２ａ２は便宜上端末装置２ａと、端末装置２ｂ１〜２ｂ４は便宜上端末装置２ｂと、端末装置２ｃ１〜２ｃ８は便宜上端末装置２ｃという場合がある。
【００５７】
ここで、第１配信形態におけるコンテンツデータの配信動作について、図５を参照して簡単に説明する。図５はコンテンツ配信システムＳにおける第１配信形態の配信動作説明図である。
【００５８】
図５に示すように、第１配信形態でコンテンツ配信装置１によってストリーミング配信されるコンテンツデータは、コンテンツ投入装置４によってコンテンツ配信装置１へ投入される。すなわち、コンテンツデータは、コンテンツ投入装置４からコンテンツ配信装置１へ送信され、コンテンツ配信装置１において受信してハードディスク装置に保持される。
【００５９】
接続管理装置３は、図５に示すように、コンテンツ配信システムＳにおける第１配信形態に参加していない端末装置２、言い換えればチャンネルのいずれのツリー状階層構造も構成していない端末装置２から接続先紹介要求を受信すると、第１配信形態のツリー状階層構造の状態等に基づいて、その端末装置２がストリーミング配信を受けるための上流の装置として接続する接続先候補（コンテンツ配信装置１又は端末装置２）を選択する。そして、接続管理装置３は、このように選択した接続先候補の所在情報（接続先候補のＩＰアドレスやポート番号など）及び通信プロトコル等を端末装置２に通知する。また、接続先紹介要求は、他のチャンネルに切り替えるときや、上流装置との接続が切断されたときに端末装置２から送信される。
【００６０】
なお、コンテンツ配信システムＳにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置２へのポート番号及び通信プロトコルは通知しなくてもよい。ここで、通信プロトコルとして、ＭＭＳ（Microsoft Media Server）プロトコル、ＲＴＳＰ(Real Time Streaming Protocol)等が用いられる。また、コンテンツデータの形式として、ＡＳＦ（Advanced Streaming Format）、ＷＭＡ（Windows(登録商標) Media Audio）、ＷＭＶ（Windows(登録商標) Media Video）等が用いられる。
【００６１】
端末装置２は、接続管理装置３から接続先候補の所在情報を受信すると、その所在情報を宛先として接続先候補に対し、コンテンツ配信システムＳへの参加（接続）を要求し、これにより端末装置２がコンテンツ配信システムＳの第１配信形態における階層構造へ組み込まれる。すなわち、端末装置２はコンテンツ配信装置１から配信されるコンテンツデータを受信可能となる。
【００６２】
コンテンツ配信システムＳにおける第１配信形態は、このように端末装置２が次々と各チャンネルに参加することによって、コンテンツ配信装置１を頂点として複数の端末装置２がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置１から配信されるコンテンツデータは、端末装置２の中継機能により順次下流の端末装置２へ中継されて複数の端末装置２にストリーミング配信される。
【００６３】
すなわち、図５に示すように、コンテンツ配信装置１から端末装置２ａ１，２ａ２（第1層の端末装置）へコンテンツデータが送信され、端末装置２ａ１，２ａ２はコンテンツデータを受信すると、下流の端末装置２ｂ１〜２ｂ４（第２階層の端末装置）へ受信したコンテンツデータを順次中継する。端末装置２ｂ１〜２ｂ４はコンテンツデータを受信すると、下流の端末装置２ｃ１〜２ｃ８（第３階層の端末装置）へ受信したコンテンツデータを順次中継する。なお、図５においては、理解を容易にするため、複数のチャンネルのうち一つのチャンネルの階層構造のみを表している。
【００６４】
端末装置２は、組み込まれた階層構造の位置の上流の端末装置２又はコンテンツ配信装置１の所在情報と、組み込まれた階層構造の位置の下流の端末装置２の所在情報とを後述のハードディスク装置２０３に記憶しており、このように記憶した所在情報に基づいて、コンテンツデータの中継を行うようにしている。また、配信されるコンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このようにパケットに分割されて配信されるデータをコンテンツパケットという。
【００６５】
このように端末装置２へ配信されるコンテンツデータは、チャンネル毎にその階層構造を構成する端末装置２へ配信される。配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻情報が含まれている。そして、コンテンツデータを受信した複数の端末装置２は、順次送信されるコンテンツデータの再生を再生時刻情報に基づいて行う。
【００６６】
ここで、端末装置２におけるリングバッファ領域について説明する。図６は、端末装置２におけるリングバッファ領域を用いてコンテンツデータを受信し、再生或いは下流の端末装置２へ中継する構成を概念的に表した図である。このリングバッファ領域は、参加したチャンネル毎に設けられるものであり、視聴チャンネルのためのリングバッファ領域のほか、ザッピング対策チャンネルのためのリングバッファ領域も設けられることになる。
【００６７】
端末装置２は、第１配信形態に参加したときに、参加したチャンネルにおける階層構造の上流の装置からストリーミング配信されるコンテンツパケットをストリーム受信器によって順次受信し、受信したコンテンツパケットに含まれるコンテンツデータをリングバッファ領域に一時的に蓄積する。リングバッファ領域に一時的に蓄積されたコンテンツデータは、その再生時刻になると、端末装置２の再生手段であるプレイヤによってリングバッファ領域から取り出されて再生される。
【００６８】
ここで、図６に示すように、リングバッファ領域には時計回りの方向で新しいコンテンツデータが順次蓄積され、最も古いコンテンツデータが新しいコンテンツデータに書き換わるように構成されている。すなわち、ストリーム受信器によってリングバッファ領域に書き込まれるポイントをＡとすると、このポイントＡが時計回りに移動していくのである。
【００６９】
なお、図６におけるリングバッファ領域は概念的に示したものであり、実際にリング形状をしているのではなく、端末装置２の制御手段が、記憶領域における所定アドレス領域に蓄積した最も古いコンテンツデータを順次新しいコンテンツデータに書き換えることにより実現するものである。
【００７０】
また、コンテンツデータには上述のように再生時刻情報が格納されており、プレイヤはリングバッファ領域に蓄積したコンテンツデータのうち、現時刻と合致する再生時刻情報を有するコンテンツデータ（ここでは、図６中Ｂのポイントのコンテンツデータ）をリングバッファ領域から取り出して順次再生する。なお、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されない。
【００７１】
このようなリングバッファ領域によって、再生時刻前のコンテンツデータを蓄積しながら、再生時刻までにネットワーク６の状態に依存して間欠的に発生するコンテンツパケットの損失に対処する。言い換えれば、コンテンツ配信装置１は、パケットの損失補完処理を行えるだけのマージンを確保しながらコンテンツデータを配信している。なお、パケットの損失補完処理とは、ある一定時間待っても上位装置からのパケットが届かない場合に、上位装置にパケットの再送要求を行い、上位装置から再度パケットを送信させる処理をいう。損失補完処理ではこのように一連の処理を行わなければならず、ある程度時間がかかるため、上述のようにマージンの確保が必要となる。
【００７２】
ここで、階層構造の下流に他の端末装置２が２台接続されている場合、図６に示すように、端末装置２に２つのストリーム送信器が設けられる。このストリーム送信器は、リングバッファ領域に格納されているコンテンツデータを所定量毎にコンテンツパケットのデータ領域に格納してコンテンツパケットを生成し、それぞれ下流に接続された他の端末装置２へこのコンテンツパケットを順次送信する。
【００７３】
第１実施形態における端末装置２では、上流の装置から送信されるコンテンツパケットに含まれるコンテンツデータを取り出してリングバッファ領域に蓄積するようにしているが、コンテンツパケットをそのままリングバッファ領域に蓄積するようにしてもよい。いずれにせよ、ストリーム送信器は、ストリーム受信器によって受信したコンテンツパケットの送信先及び送信元の情報を置き換えたコンテンツパケットを下流の端末装置２に送信することになる。なお、ストリーム受信器は後述のストリーム受信手段に対応し、プレイヤは後述のストリーム再生手段に対応し、ストリーム送信器は後述のストリーム中継手段に対応する。
【００７４】
このように端末装置２は、コンテンツデータを一時的に蓄積するリングバッファ領域を設けることによって、コンテンツパケットをプリバッファリングしながらパケット損失に対する補完を行い、ネットワーク６の経路上で発生するパケット損失の影響を回避するようにしている。
【００７５】
以上のように、コンテンツ配信システムＳの第１配信形態では、コンテンツ配信装置１から送信されたコンテンツデータが複数の端末装置２にストリーミング配信され、複数の端末装置２において同時刻にコンテンツを再生することができる。すなわち、コンテンツ配信システムＳは、Ｐ２Ｐを用いて複数の端末装置２への放送形式のストリーミング配信を実現している。
【００７６】
［１．２．第２配信形態について］
次に、図７を参照して、コンテンツ配信システムＳにおける第２配信形態の概要構成等について説明する。図７は、本実施形態に係るコンテンツ配信システムＳにおける第２配信形態を示す図である。この第２配信形態は、Ｐ２Ｐグリッド型配信システムであり、本実施形態においては、分散ハッシュテーブル（以下、「ＤＨＴ」（Distributed Hash Table）と呼ぶ。）を利用することによりネットワーク上に分散配置された複数の端末装置２間でコンテンツデータの送受信を行う配信形態を例に挙げて説明する。
【００７７】
［１．２．１  ＤＨＴの概要］
まず、本実施形態に係るＤＨＴを利用したアルゴリズムについて説明する。
【００７８】
コンテンツ配信システムＳの第２配信形態において、当該端末装置２同士が、互いに情報をやり取りする際には、お互いの所在情報としてのＩＰアドレスを知っていなければならない。
【００７９】
例えば、複数の端末装置間でコンテンツを互いに共有するシステムにおいては、ネットワーク６に参加している各端末装置２が互いにネットワーク６に参加している全ての端末装置２のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全ての端末装置２のＩＰアドレスを覚えておくのは現実的ではない。また、任意の端末装置の電源が頻繁にＯＮ或いはＯＦＦとすると、各端末装置２において記憶している当該任意の端末装置のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００８０】
そこで、１台の端末装置２では、ネットワーク６に参加している全ての端末装置２のうち、必要最低限の一部の端末装置２のＩＰアドレスだけを記憶しておき、ＩＰアドレスを記憶していない端末装置２については、各端末装置２間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
【００８１】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図７に示すような、オーバーレイネットワークが構築されることになる。つまり、このオーバーレイネットワークは、既存のネットワーク６を用いて形成された仮想的なリンク（論理接続）を構成するネットワークであり、Ｐ２Ｐグリッド型配信形態である。
【００８２】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワークを前提としており、このオーバーレイネットワーク上に配置された端末装置２を、コンテンツ配信システムＳの第２配信形態に参加している端末装置２という。なお、コンテンツ配信システムＳの第２配信形態への参加は、未だ参加していない端末装置２が、すでに参加している端末装置２に対して参加要求を送ることによって行われる。
【００８３】
コンテンツ配信システムＳの第２配信形態に参加している各端末装置２の識別番号である端末ＩＤとして、それぞれの端末装置２毎にユニークな番号（固有番号）を付与する。この番号は、端末装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、２128≒340×1036台の端末装置を運用できる。
【００８４】
より具体的には、各端末装置２の端末ＩＤは、それぞれの端末装置２のＩＰアドレス或いは製造番号等の端末装置２毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められた端末ＩＤは、当該ＩＰアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値を端末ＩＤとする。
【００８５】
また、コンテンツ配信システムＳの第２配信形態に参加している複数の端末装置２には、図７に示すように、一の端末装置２から他の端末装置２に配信されるコンテンツデータがコンテンツ投入装置４によって分散して端末装置２に投入されるが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別情報（以下、「コンテンツＩＤ」と呼ぶ。）を付与する。
【００８６】
そして、当該コンテンツＩＤは、端末ＩＤと同様の長さ（例えば、128bit等）とし、例えば、コンテンツの名称（コンテンツのタイトル名）やコンテンツの概要情報（あらすじ）等のキーワードが、上記端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、端末装置２のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）端末ＩＤを有する端末装置２が、コンテンツデータを保持する端末装置２（以下、「コンテンツ保持端末装置」と呼ぶ。）へのリンク情報、すなわちコンテンツ保持端末装置の所在情報であるＩＰアドレスを保持する。
【００８７】
コンテンツ保持端末装置は、コンテンツ投入装置４によってランダムに決定される。すなわち、コンテンツ投入装置４は、コンテンツデータを保持すべき１以上の端末装置２をランダムに決定し、このように決定した端末装置にコンテンツデータを送信する。コンテンツ投入装置４からコンテンツデータを受信した端末装置は、コンテンツデータを記憶部に保持することによってコンテンツ保持端末装置として機能する。これにより、コンテンツデータが偏りなくコンテンツ配信システムＳ上に分散して配置される。
【００８８】
なお、異なるコンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等）の組み合わせとすればよい。本実施形態においては、コンテンツの名称は重複しないものとし、コンテンツの名称をキーワードとするものとする。
【００８９】
このように、各端末装置２及び各コンテンツデータに付与された端末ＩＤ及びコンテンツＩＤは、共通のハッシュ関数によって生成するため、図７に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ＩＤ及びコンテンツＩＤを付与し、図示したものである。図中丸点は端末ＩＤを、四角形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００９０】
次に、どの端末装置２に、どのコンテンツデータが保持されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理する端末装置２は、そのコンテンツＩＤに近い端末ＩＤを有する端末装置２である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤと端末ＩＤとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置２に割り振る際に、一貫していればよい。図７に示す例では、この定義に基づいて、コンテンツＩＤａは、当該コンテンツＩＤａに近い端末ＩＤ（以下、「端末ＩＤａ」と呼ぶ。）を有する端末装置２に管理され、コンテンツＩＤｂは、当該コンテンツＩＤｂに近い端末ＩＤ（以下、「端末ＩＤｂ」と呼ぶ。）を有する端末装置２に管理され、コンテンツＩＤｃは、当該コンテンツＩＤｃに近い端末ＩＤ（以下、「端末ＩＤｃ」と呼ぶ。）を有する端末装置２に管理される。
【００９１】
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータがいずれの端末装置２に保持されているかを知っている」ことを意味する。すなわち、図７において、端末ＩＤａを有する端末装置２は、コンテンツＩＤａを有するコンテンツデータがいずれの端末装置２に保持されているかを知っており、端末ＩＤｂを有する端末装置２及び端末ＩＤｃを有する端末装置２も同様にそれぞれコンテンツＩＤｂを有するコンテンツデータ及びコンテンツＩＤｃを有するコンテンツデータがいずれの端末装置２に保持されているかを知っている、ということになる。
【００９２】
このように、あるコンテンツデータがいずれの端末装置２に保持されているかを知っている端末装置２を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末ＩＤａを有する端末装置２は、コンテンツＩＤａを有するコンテンツデータのルート端末装置であって、端末ＩＤｂを有する端末装置２は、コンテンツＩＤｂを有するコンテンツデータのルート端末装置であって、端末ＩＤｃを有する端末装置２は、コンテンツＩＤｃを有するコンテンツデータのルート端末装置である。
【００９３】
ここで、コンテンツ投入装置４は、コンテンツ配信システムＳ内の端末装置２をコンテンツ保持端末装置とするためにコンテンツデータを端末装置２へ配布する機能のほか、端末装置２に配布した複数のコンテンツデータ（言い換えれば、コンテンツ保持端末装置が保持しているコンテンツデータ）をそのコンテンツの名称とコンテンツＩＤとを関連付けた識別情報リストである識別情報リストを生成して端末装置２へ提供する機能を有している。
【００９４】
また、コンテンツ配信システムＳの第２配信形態においては、コンタクト先紹介装置５が配置されてる。このコンタクト先紹介装置５は、コンテンツ配信システムＳの第２配信形態に参加していない端末装置２からこの第２配信形態への参加要求があったときに、未参加の端末装置２が参加メッセージを送信する既参加の端末装置２（以下、「コンタクト先端末装置」と呼ぶ。）の所在情報を通知する機能を有している。
【００９５】
［１．２．２  ルーティングテーブルの作成］
ここで、図８を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。図８は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００９６】
まず、図８（ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長８bitの４進数で表すことにする。そして、端末装置２Ｎの端末ＩＤを「1133」とし、この端末装置２Ｎのルーティングテーブルを作る例について説明する。
【００９７】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とした場合、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」（Ｘは０から３の自然数、以下同様。）で分けられる。端末装置２Ｎは、当該端末装置２Ｎ自身の端末ＩＤが「1133」であるため、図８（ａ）中左下「1XXX」のエリアに存在することになる。そして、端末装置２Ｎは、自分の存在するエリア（すなわち、「1XXX」のエリア）以外のエリア（すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア）に存在する端末装置２を適当に選択し、当該端末ＩＤの所在情報、すなわち、当該端末ＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図９がレベル１のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末ＩＤとして「0100」、「2XXX」のエリアの端末ＩＤとして「2133」、「3XXX」のエリアの端末ＩＤとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル１の２列目は端末装置２Ｎ自身を示しているため、ＩＰアドレスを記憶する必要はない。
【００９８】
（レベル２のルーティング）
次に、図８（ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリア「1XXX」を更に４分割し、更に４つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11xx」以外のエリアに存在する端末装置２を適当に選択し、当該端末ＩＤの所在情報であるＩＰアドレスをレベル２のテーブルに記憶する。図９がレベル２のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末ＩＤとして「1003」、「12XX」のエリアの端末ＩＤとして「1221」が、「13XX」のエリアの端末ＩＤとして「1313」がそれぞれ選択されている状態を示している。なお、レベル２の２列目は端末装置２Ｎが存在するエリア「11XX」であり、後述するレベル３にてテーブル化されるためＩＰアドレスを記憶していない。また、上記エリアに端末装置２が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００９９】
（レベル３のルーティング）
更に、上記ルーティングによって４分割したエリアのうち、自分の存在するエリア「11XX」を更に４分割し、更に４つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置２を適当に選択し、当該端末ＩＤの所在情報であるＩＰアドレスをレベル３のテーブルに記憶する。図９がレベル３のテーブルの一例である。レベル３の４列目は端末装置２Ｎが存在するエリアであり、後述するレベル４にてテーブル化されるためＩＰアドレスを記憶していない。また、上記エリアに端末装置が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【０１００】
このようにして、レベル４まで同様にルーティングテーブルを図９に示す如く作成することにより、８bitのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【０１０１】
以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置２が夫々作成して所有することになる。このように、各端末装置２は、コンテンツ配信システムＳにおける複数の端末装置２のうち一部の端末装置２の端末ＩＤ（識別情報）とＩＰアドレス（所在情報）とを関連付けたルーティングテーブルを有しており、このルーティングテーブルは後述のルーティングテーブル記憶手段に記憶される。
【０１０２】
ところで、端末装置２は、第２配信形態に未参加のときには、第２配信形態に参加している端末装置２の所在情報などを知らない。そのため、端末装置２は、第２配信形態に参加するときには、次の項で説明するように、ルーティングテーブルを生成する。
【０１０３】
［１．２．３．第２配信形態への参加］
次に、図１０を参照して、コンテンツ配信システムＳにおける第２配信形態に未参加の端末装置２が当該第２配信形態へ参加する方法の一例について説明する。図１０は、第２配信形態に未参加の端末装置２Ｍ（以下、「新規参加端末装置２Ｍ」と呼ぶ。）が当該第２配信形態へ参加する様子の一例を示す図である。
【０１０４】
まず、第２配信形態に未参加である新規参加端末装置２Ｍは、コンテンツ配信システムＳの第２配信形態に参加するために、コンタクト先紹介装置５に対して、参加メッセージを送信すべき端末装置２（以下、「コンタクト先端末装置」と呼ぶ。）の所在情報を要求する。
【０１０５】
新規参加端末装置２Ｍは、コンタクト先紹介装置５から参加メッセージを送信すべきコンタクト先端末装置の所在情報が送られてくると、コンタクト先端末装置に対して参加メッセージを送信する。ここで、参加メッセージのあて先識別情報は、新規参加端末装置２Ｍの端末ＩＤとなっている。すなわち、新規参加端末装置２Ｍは、第２配信形態に参加する際に、自装置２のＩＰアドレスのハッシュ値「2133」を宛先識別情報とした参加メッセージを生成する。
【０１０６】
コンタクト先端末装置は、新規参加端末装置２Ｍから送信された参加メッセージを受信すると、コンタクト先端末装置は、この参加メッセージがコンタクト先端末装置宛のメッセージであるか否かを判定する。コンタクト先端末装置宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報がコンタクト先端末装置宛の識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、コンタクト先端末装置自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。そして、コンタクト先端末装置の識別情報よりも他の端末装置の識別情報の方が宛先識別情報に近いとき、参加メッセージを受信したコンタクト先端末装置は、コンタクト先端末装置自身が保持しているルーティングテーブルのレベル２を参照して、「2XXX」のエリアに属す端末装置２のうち、ＩＰアドレスを知っている端末装置２Ｂに対して参加メッセージを転送するとともに、自端末装置のルーティングテーブル記憶手段に記憶されたルーティングテーブルのレベル１のテーブルの情報を、新規参加端末装置２Ｍへ送信する。
【０１０７】
このように、コンテンツＩＤの桁を上から順に適合していく要領で参加メッセージの転送を行い、順次ルーティングテーブルの各レベルの情報を送信する。最終的に宛先識別情報に最も近い端末装置２に辿り着いたところで参加メッセージの転送は終了する。なお、参加メッセージなどのメッセージを目的の端末装置へ辿り着くまでに、上述のように転送する仕組みをＤＨＴルーティングと呼ぶ。
【０１０８】
こうして、新規参加端末装置２Ｍは、参加メッセージを受信した端末装置２からルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得するようにしている。新規参加端末２はこのようにして、第２配信形態に参加するために必要なルーティングテーブルを生成する。
【０１０９】
［１．２．４．コンテンツデータの検索方法］
次に、図１１を参照して、コンテンツデータを保持している端末装置２の検索方法の一例について説明する。図１１は、ＤＨＴルーティングによりコンテンツデータを保持している端末装置２が検索される様子の一例を示す図である。
【０１１０】
ここでは、端末ＩＤ「1133」の端末装置２Ｎが、コンテンツＩＤ「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの受信を要求する端末装置を「リクエスト端末装置」と呼ぶ。
【０１１１】
リクエスト端末装置２Ｎは、自己が保持しているルーティングテーブルのレベル１のテーブルを参照して、コンテンツＩＤ「3020」と同じエリアの端末ＩＤを持つ端末装置の端末ＩＤを宛先識別情報としてコンテンツ保持端末装置情報（コンテンツ保持端末装置の所在情報を含む情報）の送信要求（以下、「コンテンツ検索メッセージ」と呼ぶ。）を送信する。すなわち、コンテンツＩＤ「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置２のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）端末装置２Ａ（端末ＩＤ「3213」）に対してコンテンツ検索メッセージを送信する。このように、コンテンツ検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものであり、このコンテンツＩＤはコンテンツ検索メッセージにおいて宛先識別情報として用いられる。
【０１１２】
図１１に示す例によれば、端末ＩＤが「3213」である端末装置２ＡのＩＰアドレスがリクエスト端末装置２Ｎのルーティングテーブル（図９参照。）に記憶されているので、リクエスト端末装置２Ｎは、端末ＩＤが「3213」である端末装置２Ａに対してコンテンツ検索メッセージを送信する。
【０１１３】
次に、コンテンツ検索メッセージを受信した端末装置２Ａは、このコンテンツ検索メッセージが自端末装置２Ａ宛のメッセージであるか否かを判定する。自端末装置２Ａ宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置２Ａの識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、端末装置２Ａ自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。ここでは、自端末装置２Ａの識別情報よりも他の端末装置の識別情報の方が、宛先識別情報に近いため、端末装置２Ａは、当該端末装置２Ａ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「30XX」のエリアに属す端末装置２のうち、ＩＰアドレスを知っている端末装置２Ｂ（端末ＩＤ「3031」）に対してコンテンツ検索メッセージを転送する。
【０１１４】
このように、コンテンツＩＤの桁を上から順に適合していく要領でコンテンツ検索メッセージの転送が進み、最終的に当該コンテンツデータを管理する端末装置２Ｃ（端末ＩＤ「3011」）、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、コンテンツ検索メッセージに含まれるコンテンツＩＤ「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持端末装置のＩＰアドレス等をリクエスト端末装置２Ｎに返信するようになっている。
【０１１５】
こうして、リクエスト端末装置２Ｎは、上記ルート端末装置２Ｃから、コンテンツＩＤ「3020」のコンテンツデータの所在情報、即ち、コンテンツＩＤ「3020」のコンテンツデータを保持するコンテンツ保持端末装置のＩＰアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得することになる。
【０１１６】
［１．２．５．インデックステーブルへの登録方法］
コンテンツ配信システムＳにおける第２配信形態の中で、新しいコンテンツデータをコンテンツ配信システムＳ上の他の端末装置２に見えるように公開する際の手法について述べる。
【０１１７】
本実施形態におけるコンテンツ配信システムＳの第２配信形態は、図１２に示すように、コンテンツ投入装置４が各コンテンツ保持端末装置となる端末装置２に対して、各コンテンツ保持端末装置毎の管理対象コンテンツとなるコンテンツデータを送信する。コンテンツ投入装置４から管理対象のコンテンツデータを受信したコンテンツ保持端末装置は、後述のハードディスク装置２０３に受信したコンテンツデータを記憶する。
【０１１８】
当該コンテンツデータを配布されたコンテンツ保持端末装置は、図１２及び図１３に示すように、当該コンテンツ保持端末装置の所在情報及び識別情報を含むコンテンツ保持端末装置情報の登録要求メッセージ（以下、「コンテンツ登録メッセージ」と呼ぶ。）を、コンテンツの名称等から求めたコンテンツＩＤと同じ端末ＩＤを持つ端末装置に向けて（この端末装置が実在するか否かはこの時点ではわからない。）送信する。そして、このコンテンツ登録メッセージも、上記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ登録メッセージに含まれるコンテンツＩＤに最も近い端末ＩＤを有する端末装置２まで転送されたところで、その端末装置２がもはや送信先の端末装置が他にないと判断すると、当該端末装置２自身がそのコンテンツのルート端末装置となるべきだと判断し、図１３に示すように、当該コンテンツ登録メッセージに含まれるコンテンツ保持端末装置情報である当該コンテンツＩＤ、コンテンツ保持端末装置のＩＰアドレス、及び補助情報（タイトル、ジャンル、拡張情報等の属性情報や、監督名等の著作権情報やストリーミング時間等）をインデックス情報として後述のインデックステーブル２２２に記憶する。
【０１１９】
このようにルート端末装置のインデックステーブル２２２にコンテンツ保持端末装置の所在情報であるＩＰアドレスが登録されると、以後リクエスト端末装置からのコンテンツ検索メッセージに対してインデックステーブルに登録したコンテンツ保持端末装置の所在情報をリクエスト端末装置へ返信する。このようにして本実施形態では、コンテンツ投入装置４から配布されたコンテンツをコンテンツ保持端末装置に登録し、ルート端末装置を介して検索できるようにすることで、他の端末装置にコンテンツを公開する。
【０１２０】
インデックステーブル２２２は、図１４に示すように、コンテンツ保持端末装置の所在情報（所在情報）であるＩＰアドレスなどを含むコンテンツ保持端末装置情報を記憶するためのテーブルである。このインデックステーブル２２２には、コンテンツ保持端末装置のＩＰアドレスのほか、コンテンツ保持端末装置を紹介した時刻等がコンテンツ保持端末装置情報として１行（所定記憶エリア）毎に記憶される。
【０１２１】
［２．コンテンツ配信装置１の構成等の説明］
次に、図１７を参照して、コンテンツ配信装置１の構成及び動作について更に詳説する。
【０１２２】
図１７は、本実施形態におけるコンテンツ配信装置１の概略構成例を示す図である。コンテンツ配信装置１は、一般のサーバコンピュータを適用可能であり、図１７に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての主記憶装置１０５と、各種データ等を記憶するハードディスク装置１０３と、ネットワーク６を介して端末装置２、接続管理装置３やコンテンツ投入装置４との間で通信を行うネットワークインタフェース１０４と、所定の情報を入力可能なキーボード１０７やマウス１０８等の入力手段を制御する周辺機器制御チップ１０６と、ＣＰＵ１０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ１１０に表示するビデオチップ１０９と、ビデオチップ１０９から送信される信号に応じた表示を行う内蔵ディスプレイ１１０と、ＦＭ音源（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ１１１と、音源チップ１１１から出力されるオーディオ信号を音波に変換する内蔵スピーカ１１２と、を備えて構成され、これらの各種構成要素はシステムバス１０１を介して相互に接続されている。
【０１２３】
なお、ネットワークインタフェース１０４は、ルータ１０ａを介してネットワーク６に接続される。このルータ１０ａは、図１に示すルータ１０に相当するものである。
【０１２４】
なお、本実施形態においては、ＣＰＵ１０２と主記憶装置１０５とで制御部１３０を構成している。また、コンテンツ配信装置１には、上述のように内蔵ディスプレイ（液晶ディスプレイ等）１１０等が内蔵されており、例えば、コンテンツ配信システムＳを運用する放送運営者は、この内蔵ディスプレイ１１０を見ながら入力手段から所定の情報を入力することができる。なお、本実施形態においては、これら内蔵ディスプレイ１１０や内蔵スピーカ１１２などがコンテンツ配信装置１に内蔵されているが、これに限らず、例えば、別に接続されるものであってもよい。
【０１２５】
（主記憶装置１０５ついて）
また、主記憶装置１０５には、コンテンツ配信装置１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）プログラム１１７と、ハードディスク装置１０３の放送コンテンツ記憶領域に記憶されたコンテンツデータを取り出して端末装置２へストリーミング配信するためのストリーム制御プログラム１１５と、チャンネル毎に接続された各端末装置２の所在情報（ＩＰアドレスやポート番号など）の管理等を行うためのトポロジー管理プログラム１１６と、内蔵ディスプレイ１１０を制御するための画面制御プログラム１１８と、エンコードされた音楽コンテンツデータをデコードするための音楽デコーダプログラム１１９と、ハードディスク装置１０３に記憶されている放送コンテンツデータ１１３から読み出したコンテンツデータを端末装置２へ送信する前に一時的に記憶するリングバッファ領域１２０と、下流の端末装置２に配信するコンテンツデータをチャンネル毎にコンテンツ投入装置４から受信し、ハードディスク装置１０３に記憶するコンテンツ管理プログラム１２１等が記憶されており、これらはＣＰＵ１０２によって読み出され、ＣＰＵ１０２によってこれらのプログラムに従った機能が実行される。
【０１２６】
ここで、ＯＳプログラム１１７は、ＣＰＵ１０２によって読み出されて実行されることにより、キーボード１０７やマウス１０８の入出力に関する機能や、主記憶装置１０５やハードディスク装置１０３などのメモリ管理などのコンテンツ配信装置１であるコンピュータの基本的な機能を実行可能にするものである。
【０１２７】
そして、このＯＳプログラム１１７がＣＰＵ１０２によって実行された状態で、上述のストリーム制御プログラム１１５、トポロジー管理プログラム１１６、画面制御プログラム１１８、音楽デコーダプログラム１１９、コンテンツ管理プログラム１２１が主記憶装置１０５から読み出されて実行される。
【０１２８】
なお、ＯＳプログラム１１７、ストリーム制御プログラム１１５、トポロジー管理プログラム１１６、画面制御プログラム１１８、音楽デコーダプログラム１１９、コンテンツ管理プログラム１２１等は、例えば、ネットワーク６に接続されたサーバ等から主記憶装置１０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置１０５に読み込まれるようにしてもよい。
【０１２９】
（制御部１３０について）
制御部１３０は、上述のようにＣＰＵ１０２と主記憶装置１０５とから構成され、ＣＰＵ１０２が主記憶装置１０５に記憶された各種プログラム１１５〜１１９，１２１を読み出して実行することにより、コンテンツ配信装置１全体を統括制御し、かつ、後述するコンテンツデータ配信手段等として機能するようになっている。なお、ＣＰＵ１０２がストリーム制御プログラム１１５を実行することによって、コンテンツデータ配信手段等として、またＣＰＵ１０２がトポロジー管理プログラム１１６を実行することによって、トポロジー管理手段として、また、ＣＰＵ１０２が画面制御プログラム１１８を実行することによって、表示制御手段等として、ＣＰＵ１０２が音楽デコーダプログラム１１９を実行することによって、再生手段として、ＣＰＵ１０２がコンテンツ管理プログラム１２１を実行することによって、配信コンテンツ受信手段、配信コンテンツ保存手段として、それぞれ機能するようになっている。更に、ハードディスク装置１０３は、コンテンツデータが記憶されるコンテンツデータ記憶手段として使用される。
【０１３０】
（配信コンテンツ受信手段、配信コンテンツ保存手段について）
配信コンテンツ受信手段は、コンテンツ投入装置４に対してコンテンツデータの送信を要求し、コンテンツ投入装置４から送信されるコンテンツデータやそのコンテンツの名称などを受信する。また、配信コンテンツ保存手段は、コンテンツ投入装置４からコンテンツデータが配信コンテンツ受信手段によって受信された場合に、受信したコンテンツデータを放送コンテンツデータ１１３としてハードディスク装置１０３に保存する。
【０１３１】
また、ハードディスク装置１０３には、予め各チャンネルで放送するコンテンツデータの順番を記憶する放送番組情報が記憶されており、配信コンテンツ受信手段は、この番組情報に基づいて、コンテンツ投入装置４に対して送信要求するコンテンツデータを決定し、コンテンツ投入装置４への送信要求を行う。
【０１３２】
なお、配信コンテンツ受信手段は、放送番組情報に基づいて、コンテンツ投入装置４に対するコンテンツデータの送信要求を行うのではなく、放送番組情報をコンテンツ投入装置４のハードディスク装置４０３に記憶させておき、コンテンツ投入装置４が放送番組情報に基づいて、順次コンテンツデータを送信するようにしてもよい。この場合、コンテンツ配信装置１はチャンネル毎にコンテンツ投入装置４が投入したコンテンツデータを順次下流装置へ配信することになる。
【０１３３】
（コンテンツデータ配信手段について）
コンテンツデータ配信手段は、ネットワーク６を介してコンテンツデータをストリーミング配信する。すなわち、ハードディスク装置１０３において記憶されている放送用コンテンツデータを取り出し、ネットワーク６を介して論理接続された端末装置２（例えば、ツリー型に接続された場合には最上階層端末装置）等にストリーミング配信する。なお、コンテンツデータには、コンテンツの名称などの情報も含まれる。
【０１３４】
このコンテンツデータ配信手段による端末装置２等へのストリーミング配信は、以下の手順で実行される。
【０１３５】
コンテンツデータ配信手段は、ハードディスク装置１０３に予め記憶されている放送コンテンツデータ１１３から、放送番組情報に基づいてコンテンツデータを順次取り出してリングバッファ領域１２０に記憶させる。
【０１３６】
次に、コンテンツデータ配信手段は、リングバッファ領域１２０から取り出したコンテンツデータを、ストリーミング配信用のデータ形式、例えばＡＳＦ、ＷＭＡ、ＷＭＶ等のデータ形式にエンコードする。
【０１３７】
その後、コンテンツデータ配信手段は、接続された端末装置２等に対して、それぞれ対応するコンテンツデータを所定容量毎に分割しながらコンテンツパケットに格納し、ネットワーク６を介して、このコンテンツパケットへ送信する。
【０１３８】
なお、コンテンツデータ配信手段は、ＤＪなどによってキーボード１０７などの入力手段よって選択されたコンテンツを流すようにしてもよい。
【０１３９】
（トポロジー管理手段について）
コンテンツ配信装置１は、複数のチャンネルを割り振られており、トポロジー管理手段は、割り振られたチャンネルに構成されるツリー状階層構造の第１階層に参加している端末装置２の所在情報（ＩＰアドレスやポート番号など）をチャンネル毎に管理している。そして、上述の配信手段はトポロジー管理手段が管理する端末装置２のＩＰアドレスを宛先アドレスとし、配信用ＩＰアドレスを送信元として端末装置２へコンテンツデータの配信を行う。
【０１４０】
（表示制御手段について）
表示制御手段は、ビデオチップ１０９及び内蔵ディスプレイ１１０を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ１１０にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【０１４１】
（再生手段について）
再生手段は、放送コンテンツデータ１１３を内蔵ディスプレイ１１０に表示したり、内蔵スピーカ１１２から出力したりする機能を有している。
【０１４２】
［３．端末装置２の構成等の説明］
次に、図１８を参照して、端末装置２の構成及び動作について更に詳説する。図１８は、本実施形態における端末装置２の概略構成例を示す図である。
【０１４３】
端末装置２は、一般のパーソナルコンピュータ或いは専用端末を適用可能であり、図１８に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置２０５と、各種データ等を記憶するハードディスク装置２０３と、ネットワーク６を介してネットワーク上のコンテンツ配信装置１、接続管理装置３やコンテンツ投入装置４、コンタクト先紹介装置５及び他の端末装置２との間で有線通信による通信を行うためのネットワークインタフェース２０４と、ユーザによる端末装置２の遠隔操作が可能な所定の赤外線信号を送信及び受信するユーザ入力用リモコン２０８と、このユーザ入力用リモコン２０８と赤外線により通信を行うための赤外線ポート２０７と、赤外線ポート２０７を制御する周辺機器制御チップ２０６と、ＣＰＵ２０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ２１０に表示するビデオチップ２０９と、ビデオチップ２０９から送信される信号に応じた表示を行う内蔵ディスプレイ２１０と、ＦＭ音源（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ２１１と、音源チップ２１１から出力されるオーディオ信号を音波に変換する内蔵スピーカ２１２とを備えて構成され、これらの各種構成要素はシステムバス２０１を介して相互に接続されている。
【０１４４】
なお、本実施形態においては、ＣＰＵ２０２と主記憶装置２０５とで制御部２３０を構成している。また、ネットワークインタフェース２０４は、ルータ１０ｂを介して、ネットワーク６に接続されている。このルータ１０ｂは、図１に示すルータ１０に相当するものである。
【０１４５】
上述したようなユーザ入力用リモコン２０８では、コンテンツ配信システムＳにおけるコンテンツの購入などの操作が可能である。本実施形態におけるユーザ入力用リモコン２０８では、コンテンツ配信システムＳのチャンネルを選択するための選択手段としてチャンネル選択ボタンを有しており、端末装置２のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。なお、図１５に示すように、内蔵ディスプレイ２１０の画面上にチャンネル選択ボタン２２，２３を表示し、リモコン２０８の操作によってチャンネルを選択するようにしてもよい。
【０１４６】
（主記憶装置２０５について）
また、主記憶装置２０５には、端末装置２のコンピュータとしての基本的な機能を提供するためのＯＳプログラム２１７と、第１配信形態において、コンテンツ配信装置１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置２へストリーミング送信するためのストリーム制御プログラム２１５と、第１配信形態において、ツリー接続された一層上流の端末装置２（或いはコンテンツ配信装置１）の所在情報（ＩＰアドレスやポート番号）とツリー接続された一層下流の端末装置２の所在情報の管理等を行うためのトポロジー管理プログラム２１６と、内蔵ディスプレイ２１０を制御するための画面制御プログラム２１８と、第１配信形態において、上流の装置からストリーミング受信したコンテンツデータをデコードしてストリーミング再生したり、第２配信形態でダウンロードしてハードディスク装置２０３に記憶したコンテンツデータを再生したりするための音楽デコーダプログラム２１９と、所定の記憶容量を有し、ストリーミング受信したコンテンツデータを順次一時的に記憶するリングバッファ領域２２０と、第１配信形態でコンテンツデータをストリーミング再生しており、リモコン２０８等の操作によりコンテンツデータのダウンロード要求があったときに第２配信形態によってコンテンツデータをダウンロードするためのコンテンツ購入プログラム２２１等が記憶されており、これらはＣＰＵ２０２によって読み出され、ＣＰＵ２０２によってこれらのプログラムに従った機能が実行される。
【０１４７】
また、主記憶装置２０５には、更にインデックステーブル２２２（図１４参照）を記憶するためのインデックステーブル記憶領域やルーティングテーブル２２３（図９参照）を記憶するためのルーティングテーブル記憶領域が設けられている。
【０１４８】
また、リングバッファ領域２２０は、参加しているチャンネル（視聴チャンネル及びザッピング対策チャンネル）において配信されるコンテンツデータをチャンネル毎に一時的に記憶する領域であり、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されず中継のみのために用いられることから、リングバッファ領域は、再生チャンネルのリングバッファ領域に比べその容量を小さくしている。このようにザッピング対策チャンネルのリングバッファ領域を小さくしているため、主記憶装置２０５を効率よく使用することができる。勿論、設定等により全てのリングバッファ領域の容量を同一とするようにすることも可能である。
【０１４９】
ここで、ＯＳプログラム２１７は、ＣＰＵ２０２によって読み出されて実行されることにより、ユーザ入力用リモコン２０８の入出力に関する機能や、主記憶装置２０５やハードディスク装置２０３などのメモリ管理などの端末装置２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム２１７がＣＰＵ２０２によって実行された状態で、上述のストリーム制御プログラム２１５、トポロジー管理プログラム２１６、画面制御プログラム２１８、音楽デコーダプログラム２１９、コンテンツ購入プログラム２２１等が主記憶装置２０５から読み出されて実行される。
【０１５０】
なお、ＯＳプログラム２１７、ストリーム制御プログラム２１５、トポロジー管理プログラム２１６、画面制御プログラム２１８、音楽デコーダプログラム２１９、コンテンツ購入プログラム２２１等は、例えば、ネットワーク６に接続されたサーバ等から主記憶装置２０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置２０５に読み込まれるようにしてもよい。
【０１５１】
（制御部２３０について）
制御部２３０は、上述のようにＣＰＵ２０２と主記憶装置２０５とから構成され、ＣＰＵ２０２が主記憶装置２０５に記憶された各種プログラム２１５〜２１９，２２１を読み出して実行することにより、端末装置２全体を統括制御し、かつ、後述する接続手段、ストリーミング受信手段、表示制御手段、ストリーミング再生手段、ストリーミング中継手段、デコード手段、識別情報取得手段、識別情報リスト受信手段、ダウンロード操作検出手段、切断手段、再接続手段、判定手段、ダウンロード処理手段、メッセージ宛先判定手段、コンテンツデータ記憶制御手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信手段、メッセージ転送手段、コンテンツ再生手段等として機能するようになっている。
【０１５２】
なお、ＣＰＵ２０２がストリーム制御プログラム２１５を実行することによってストリーミング受信手段、ストリーミング中継手段等として、またＣＰＵ２０２がトポロジー管理プログラム２１６を実行することによって、接続手段等として、またＣＰＵ２０２が画面制御プログラム２１８を実行することによって表示制御手段等として、更にＣＰＵ２０２が音楽デコーダプログラム２１９を実行することによってデコード手段、ストリーミング再生手段、コンテンツ再生手段等として、更にＣＰＵ２０２がコンテンツ購入プログラム２２１を実行することによって、識別情報リスト受信手段、識別情報取得手段、判定手段、ダウンロード操作検出手段、切断手段、再接続手段、ダウンロード処理手段、コンテンツデータ記憶制御手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信手段、メッセージ転送手段等として、それぞれ機能するようになっている。
【０１５３】
（接続手段について）
接続手段は、端末装置２をコンテンツ配信システムＳの第１配信形態へ参加させるために、チャンネル選択手段であるリモコン２０８のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に接続する。さらに、接続手段は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネル（ザッピング対策チャンネル）に関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に接続する。
【０１５４】
より具体的には、接続手段は、端末装置２をコンテンツ配信システムＳへ参加させるために、接続管理装置３へ登録要求を送信して接続管理装置３へ登録すると共に、接続先紹介要求を送信して接続管理装置３へチャンネル選択手段によって選択されたチャンネルの接続先候補及びそのチャンネルと所定の関係を有するチャンネルの接続先候補を要求する機能を有している。この登録要求や接続先紹介要求には、端末装置２のユーザがリモコン２０８のチャンネル選択ボタン等を操作することによって選択されるチャンネルを指定した情報、選択されたチャンネルと所定の関係を有するチャンネルの情報及び自端末装置２の所在情報等を含む。
【０１５５】
また、接続手段は、接続管理装置３へ送信した接続先紹介要求に対して、接続管理装置３からネットワーク６を介して通知される視聴用チャンネルやザッピング対策チャンネルの接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるＩＰアドレスやポート番号などの情報（以下、接続先候補の情報を含めて、「接続先候補」と略すことがある。）を受信する機能を有する。
【０１５６】
更に、接続手段は、受信した各チャンネルの接続先候補の情報に基づいて、その接続先候補への論理接続を行う機能を有する。すなわち、接続手段は、接続先候補の情報に基づいて、接続先候補のＩＰアドレス及びポート番号等をあて先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって複数のチャンネル（視聴用チャンネル及び複数のザッピング対策チャンネル）の階層構造に組み込まれ、第１配信形態に参加することになる。
【０１５７】
（ストリーミング受信手段について）
ストリーミング受信手段は、ネットワークインタフェース２０４を介して第１配信形態によって上流装置、すなわち上流に論理接続したコンテンツ配信装置１又は上流に接続された端末装置２からコンテンツパケットとして送信されるコンテンツデータをチャンネル（視聴用チャンネル及びザッピング対策チャンネル）毎にストリーミング受信し、このようにストリーミング受信したコンテンツデータをチャンネル毎にリングバッファ領域２２０に順次記憶する。なお、コンテンツデータ受信手段や後述のコンテンツデータ中継手段は、公知のストリーミング配信用プロトコルを用いることができるほか、独自の専用プロトコルを用いるようにすることもできる。
【０１５８】
（ストリーミング再生手段について）
ストリーミング再生手段は、ネットワークインタフェース２０４を介して第１配信形態によって上流装置からストリーミング受信してリングバッファ領域２２０に順次記憶されたコンテンツデータを順次再生する機能を有している。
【０１５９】
このストリーミング再生手段は、参加している複数のチャンネルのうちチャンネル選択ボタン等によって最後に選択された最新のチャンネルに対応するコンテンツデータをリングバッファ領域から取り出して、音源チップ２１１やビデオチップ２０９を動作させることによってこの機能を実現しており、リングバッファ領域２２０に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式（たとえば、Ｗａｖｅ形式）に変換して音源チップ２１１やビデオチップ２０９へ入力し、コンテンツの再生を行う。
【０１６０】
ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ２１１によってオーディオ信号へ変換された後、内蔵スピーカ２１２から出力される。
【０１６１】
また、ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ２１０に表示される。
【０１６２】
また、ストリーミング再生手段は、リングバッファ領域２２０に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ領域２２０に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ２１２や内蔵ディスプレイ２１０に出力するように構成されている。
【０１６３】
（表示制御手段について）
表示制御手段は、ビデオチップ２０９及び内蔵ディスプレイ２１０を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ２１０にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【０１６４】
（ストリーミング中継手段について）
ストリーミング中継手段は、第１配信形態における上流装置、すなわちコンテンツ配信装置１又は上流に接続された端末装置２からネットワーク６を介してストリーミング受信されたコンテンツデータを、下流に接続された他の端末装置２へネットワーク６を介して転送する。
【０１６５】
（識別情報リスト受信手段について）
識別情報リスト受信手段は、コンテンツ投入装置４から送信される識別情報リストを受信する機能を有している。コンテンツ投入装置４から送信される識別情報リストは、第２配信形態においてダウンロード可能なコンテンツデータの名称とコンテンツＩＤとが関連付けられた情報であり、自端末装置２がコンテンツ投入装置４へ識別情報リストの送信要求を行うことによって、コンテンツ投入装置４から送信されるものである。
【０１６６】
（ダウンロード操作検出手段について）
ダウンロード操作検出手段は、第２配信形態によるコンテンツデータのダウンロード要求の操作を検出する機能を有する。例えば、図１６に示すように第２配信形態においてダウンロード可能なコンテンツデータが内蔵ディスプレイ２１０の所定領域２４に一覧表示されている状態で、ユーザがリモコン２０８を操作して、ダウンロードするコンテンツデータを指定枠２５により指定してダウンロードボタン２６を選択したことを検出することによって、第２配信形態によるコンテンツデータのダウンロード要求の操作を検出する。
【０１６７】
（切断手段について）
切断手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、接続手段によって接続状態にあるチャンネルのうち、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先候補との接続を切断する機能を有する。
【０１６８】
ここで、切断手段は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数ある場合であって、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、接続手段によって接続状態にあるチャンネルのうち、チャンネル選択手段によって選択されたチャンネルと所定の関係を有する全てのチャンネルに関する接続先候補との接続を切断する。すなわち、切断手段は、全てのザッピング対策チャンネルの階層構造から脱退するのである。
【０１６９】
このようにザッピング対策チャンネルが複数ある場合には、全てのザッピング対策チャンネルから脱退するので、通信帯域をより多く確保することができ、第２配信形態での通信を安定させることができる。
【０１７０】
また、所定の関係を有するチャンネルは、上述したようにチャンネル選択手段によって選択されたチャンネル番号に隣接するチャンネル番号を有するチャンネルである。
【０１７１】
（識別情報取得手段について）
識別情報取得手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、ダウンロード要求されたコンテンツデータの識別情報であるコンテンツＩＤを取得する。
【０１７２】
ダウンロード要求されたコンテンツＩＤの取得は、以下のように行われる。
【０１７３】
第１配信形態においてストリーミング再生手段によって再生されるコンテンツデータに関してダウンロード要求の操作があると、識別情報取得手段は、識別情報リスト受信手段によって受信した識別情報リストからダウンロード要求されたコンテンツデータの識別情報であるコンテンツＩＤを取得する。
【０１７４】
ここで、識別情報取得手段は、後述するコンテンツ識別情報演算手段によってダウンロード要求されたコンテンツデータのコンテンツＩＤを求めるようにしてもよい。すなわち、ダウンロード要求されたコンテンツデータの名称をキーワードとして上記ハッシュ関数によりハッシュ化することによってコンテンツＩＤを求めるのである。このようにダウンロード要求されたコンテンツデータの名称をキーワードとしてコンテンツＩＤを求めることにより、端末装置２における第２配信形態でのダウンロード処理がし易くなる。なお、第２配信形態によってダウンロード可能なコンテンツの名称は、コンテンツ投入装置４から一覧表などの形式で取得し、コンテンツ識別情報演算手段は、この一覧表などからコンテンツの名称を取得することで、コンテンツＩＤを算出することができる。
【０１７５】
（判定手段）
判定手段は、ダウンロード要求されたコンテンツデータ全体がリングバッファ領域２２０に蓄積されているか否かを判定する。
【０１７６】
ここで、自端末装置がコンテンツ保持端末装置として機能する場合には、コンテンツ保持端末装置として保持すべきコンテンツデータは、ハードディスク装置２０３のコンテンツデータ記憶領域（コンテンツデータ記憶手段の一例に相当）に記憶される。また、過去にダウンロードしたコンテンツデータも同様にハードディスク装置２０３のコンテンツデータ記憶領域に記憶される。判定手段は、ダウンロード要求されたコンテンツデータがハードディスク装置２０３のコンテンツデータ記憶領域に記憶されているか否かを判定する。
【０１７７】
（コンテンツデータ記憶制御手段）
コンテンツデータ記憶制御手段は、この判定手段によって、ダウンロード要求されたコンテンツデータ全体がリングバッファ領域２２０に蓄積されていると判定すると、第２配信形態によってコンテンツデータのダウンロードを行わずに、リングバッファ領域２２０に蓄積されているコンテンツデータをハードディスク装置２０３のコンテンツデータ記憶領域に記憶する。そして、判定手段によって、ダウンロード要求されたコンテンツデータ全体がリングバッファ領域２２０に蓄積されていると判定すると、切断手段は、接続状態にあるチャンネルの接続先候補との接続を切断しない。
【０１７８】
また、判定手段によって、ダウンロード要求されたコンテンツデータがハードディスク装置２０３のコンテンツデータ記憶領域に記憶されていると判定すると、切断手段は、接続状態にあるチャンネルの接続先候補との接続を切断せず、かつ後述するダウンロード処理手段は、第２配信形態によってコンテンツデータのダウンロードを行わない。
【０１７９】
（ダウンロード処理手段について）
ダウンロード処理手段は、識別情報取得手段によって取得されたコンテンツデータの識別情報に基づいて、ダウンロード要求されたコンテンツデータを第２配信形態の端末装置からダウンロードする機能を有しており、ダウンロード先検索手段、ダウンロード送信要求手段、ダウンロードデータ受信手段などから構成されている。
【０１８０】
ダウンロード先検索手段は、識別情報取得手段によって取得されたコンテンツデータのコンテンツＩＤに基づいて、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。
【０１８１】
コンテンツ保持端末装置の検索は、識別情報取得手段によって取得されたコンテンツＩＤを宛先識別情報としたコンテンツ検索メッセージを生成し、そのコンテンツＩＤと同じエリアの端末ＩＤを持つ端末装置の所在情報をルーティングテーブル２２３から取り出して、その端末装置へコンテンツ検索メッセージを送信することによって行う。
【０１８２】
そして、コンテンツ検索メッセージに対して、識別情報取得手段によって取得されたコンテンツＩＤのコンテンツデータを保持するコンテンツ保持端末装置の所在情報がルート端末装置から送信される。
【０１８３】
このようにして、ダウンロード先検索手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。
【０１８４】
また、ダウンロード送信要求手段は、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置に、ダウンロード要求されたコンテンツデータの送信をネットワーク６を介して要求（以下、「ダウンロード送信要求」と呼ぶ。）する。このダウンロード送信要求は、コンテンツ保持端末装置の所在情報を宛先として、ダウンロード要求に対応するコンテンツデータのコンテンツＩＤを設定するものである。なお、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置が複数ある場合には、近隣のコンテンツ保持端末装置の一つに対してダウンロード送信要求が行われる。
【０１８５】
ここで、「近隣のコンテンツ保持端末装置」とは、ダウンロード送信要求を行う端末装置が、コンテンツ保持端末装置とＤＨＴルーティングにおいて端末ＩＤが近い端末装置、或いは、物理ネットワークにおいて近いコンテンツ保持端末装置を意味する。特に、ダウンロード送信要求を行うコンテンツ保持端末装置を物理ネットワークにおいて近いコンテンツ保持端末装置とする場合には、コンテンツ保持端末装置からのコンテンツデータのダウンロードを短時間で行うことができる。なお、「物理ネットワークにおいて近い」とは、ダウンロード送信要求を行う端末装置からのメッセージ到達時間が短い、或いはダウンロード送信要求を行う端末装置からのポップ数（ルータを経由する数）が少ない等を意味する。
【０１８６】
また、ダウンロードデータ受信手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置からダウンロード要求されたコンテンツデータをネットワーク６を介して受信する。コンテンツ保持端末装置から送信されるコンテンツデータは、第１配信形態のようなストリーミング形式ではなく、ダウンロード形式のデータであるが、ストリーミング形式とすることも可能である。
【０１８７】
ダウンロード受信手段により受信したコンテンツデータは、制御部２３０によって、ハードディスク装置２０３のコンテンツデータ記憶領域に記憶される。
【０１８８】
（再接続手段について）
再接続手段は、ダウンロード要求されたコンテンツデータのダウンロードデータ受信手段での受信が完了すると、切断手段によって切断したザッピング対策チャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に再接続する機能を有する。
【０１８９】
なお、この再接続手段において、ダウンロードデータ受信手段での受信が完了して所定期間経過後に、切断手段によって切断したザッピング対策チャンネルに再接続するようにしてもよい。また、この所定期間を端末装置２における第２配信形態の利用状況に応じて変更するようにしてもよい。例えば、第２配信形態の連続利用時間の履歴をハードディスク装置２０３に記憶しておき、連続利用時間の平均時間に応じて前記所定期間を定めるようにすることができる。このようにすれば、切断手段によるチャンネルの切断と再接続手段によるチャンネルの再接続を頻繁に行なうような状態を低減することができ、その結果、第１配信形態における各階層構造に対する負荷を低減することが可能となる。
【０１９０】
（メッセージ宛先判定手段について）
メッセージ宛先判定手段は、ネットワーク６を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置２宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述のコンテンツ検索メッセージ、コンテンツ登録メッセージなどである。
【０１９１】
受信したメッセージが自端末装置２宛であるか否かの判定は、メッセージに含まれる宛先端末ＩＤ（宛先識別情報）を取り出し、主記憶装置２０５に記憶したルーティングテーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフェース２０４を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブル２２３に記憶した端末ＩＤとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル２２３上の端末ＩＤが自端末装置２の端末ＩＤであると判定すると、自端末装置２宛のメッセージであると判定する。
【０１９２】
（コンテンツ保持端末装置情報選択手段について）
コンテンツ保持端末装置情報選択手段は、メッセージ宛先判定手段によりネットワーク６を介して受信したメッセージが自端末装置２宛であり、かつコンテンツ検索メッセージであると判定すると、インデックステーブル２２２からコンテンツ検索メッセージが対象とするコンテンツＩＤのコンテンツデータを保持するコンテンツ保持端末装置の所在情報を選択する。なお、インデックステーブル２２２にコンテンツ保持端末装置の所在情報が複数ある場合には、それらを全部或いはいくつか選択する。
【０１９３】
（コンテンツ保持端末装置情報返信手段について）
コンテンツ保持端末装置情報返信手段は、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置の所在情報を、リクエスト端末装置へネットワーク６を介して返信する。
【０１９４】
（コンテンツ識別情報演算手段について）
コンテンツ識別情報演算手段は、コンテンツデータの固有情報を上記の如く所定のハッシュ関数によって演算することによってコンテンツデータの識別情報であるコンテンツＩＤを演算する。
【０１９５】
（コンテンツ登録メッセージ生成手段について）
コンテンツ投入装置４からコンテンツデータを受信したとき、受信したコンテンツデータをハードディスク装置２０３のコンテンツデータ記憶領域（コンテンツデータ記憶手段の一例に相当）に記憶する。又、コンテンツデータのコンテンツの名称をコンテンツ識別情報演算手段によって演算したコンテンツＩＤを宛先識別情報とし、自端末装置の端末ＩＤ及びＩＰアドレスを含むコンテンツ登録メッセージを生成する。
【０１９６】
（コンテンツ登録メッセージ送信手段について）
コンテンツ登録メッセージ送信手段は、コンテンツ登録メッセージ生成手段によって生成したコンテンツ登録メッセージを、ハードディスク装置２０３に記憶したコンテンツデータのコンテンツＩＤに基づいて、ルーティングテーブル２２３に記憶された端末装置の識別情報から送信先端末装置を選択して送信する。例えば、図９に示すようなルーティングテーブルを有しており、かつハードディスク装置２０３に記憶したコンテンツデータのコンテンツＩＤが「1231」である場合、コンテンツ登録メッセージ送信手段は、ルーティングテーブルから端末ＩＤ「1221」を送信先端末装置として選択し、当該端末ＩＤ「1221」の端末装置のＩＰアドレス「21.13.21.13」を取り出す。そして、当該ＩＰアドレス「21.13.21.13」を送信先端末装置としてコンテンツ登録メッセージを送信する。なお、このコンテンツ登録メッセージの宛先識別情報は「1231」となる。
【０１９７】
（メッセージ転送手段について）
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク６を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報をルーティングテーブル２２３から取り出し、転送先の端末装置へ受信したメッセージを転送する。
【０１９８】
（デコード手段について）
デコード手段は、他の端末装置２から送信されるコンテンツデータ等をディスプレイ２１０に表示し、スピーカ２１２から出力するためにデコードする。すなわち、他の端末装置２から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばＡＳＦ、ＷＭＡ、ＷＭＶ等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータをディスプレイ２１０やスピーカ２１２から出力できるようにデコードする。
【０１９９】
（コンテンツ再生手段について）
コンテンツ再生手段は、ハードディスク装置２０３に記憶したコンテンツデータを取り出して再生するものであり、このとき制御部２３０は、ストリーム制御プログラム２１５に基づいてビデオチップ２０９及び音源チップ２１１を動作させることによりコンテンツデータが再生される。
【０２００】
［４．接続管理装置３の構成等の説明］
次に、図１９を参照して、接続管理装置３の構成及び動作について説明する。
【０２０１】
図１９は、本実施形態における接続管理装置３の概略構成例を示す図である。接続管理装置３は、一般のサーバコンピュータを適用可能であり、図１９に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置３０５と、各種データ等を記憶するハードディスク装置３０３と、ネットワーク６を介してコンテンツ配信装置１、コンテンツ投入装置４や端末装置２との間で通信を行うネットワークインタフェース３０４と、所定の情報を入力可能なキーボード３０７やマウス３０８等の入力手段を制御する周辺機器制御チップ３０６と、ＣＰＵ３０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータをディスプレイ３１０に表示するビデオチップ３０９とを備えて構成され、これらの各種構成要素はシステムバス３０１を介して相互に接続されている。
【０２０２】
なお、本実施形態においては、ＣＰＵ３０２と主記憶装置３０５とで制御部３３０を構成している。なお、ネットワークインタフェース３０４は、ルータ１０ｃを介して、ネットワーク６に接続されている。このルータ１０ｃは、図１に示すルータ１０に相当するものである。
【０２０３】
（主記憶装置３０５について）
また、主記憶装置３０５には、接続管理装置３のコンピュータとしての基本的な機能を提供するためのＯＳプログラム３１７と、複数の端末装置２の所在情報（ＩＰアドレスやポート番号など）などを管理するための端末管理プログラム３１８と、コンテンツ配信装置を頂点として複数の端末装置がネットワーク上にツリー状階層構造で多層に論理接続されるように構築及び管理等するためのトポロジー管理プログラム３１９と、端末装置２から送信される接続先紹介要求に対して接続先候補を選択し、端末装置２へ接続先候補の情報を送信等するための接続先紹介プログラム３２０等が記憶されており、これらはＣＰＵ３０２によって読み出され、ＣＰＵ３０２によってこれらのプログラムに従った機能が実行される。
【０２０４】
ここで、ＯＳプログラム３１７は、ＣＰＵ３０２によって読み出されて実行されることにより、キーボード３０７やマウス３０８の入出力に関する機能や、主記憶装置３０５やハードディスク装置３０３などのメモリ管理などの接続管理装置３であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム３１７がＣＰＵ３０２によって実行された状態で、上述の端末管理プログラム３１８、トポロジー管理プログラム３１９、接続先紹介プログラム３２０等が実行される。
【０２０５】
なお、ＯＳプログラム３１７、端末管理プログラム３１８、トポロジー管理プログラム３１９、接続先紹介プログラム３２０等は、例えば、ネットワーク６に接続されたサーバ等から主記憶装置３０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置３０５に読み込まれるようにしてもよい。
【０２０６】
（制御部３３０について）
制御部３３０は、上述のようにＣＰＵ３０２と主記憶装置３０５とから構成され、ＣＰＵ３０２が主記憶装置３０５に記憶された各種プログラム３１７〜３２０を読み出して実行することにより、接続管理装置３全体を統括制御し、かつ、後述する接続先紹介要求受信手段、接続先候補選択手段、接続先候補通知手段、トポロジー管理手段、端末管理手段等として機能する。更に、ハードディスク装置３０３は、コンテンツ配信装置１を頂点として、ネットワーク６上において階層構造で多層に論理接続された複数の端末装置の接続状態情報をチャンネル毎に記憶する接続状態情報記憶手段として使用される。
【０２０７】
なお、ＣＰＵ３０２が端末管理プログラム３１８を実行することによって、端末管理手段等として、またＣＰＵ３０２がトポロジー管理プログラム３１９を実行することによってトポロジー管理手段等として、更にＣＰＵ３０２が接続先紹介プログラム３２０を実行することによって接続先紹介要求受信手段、接続先候補選択手段、接続先候補通知手段等として、それぞれ機能する。
【０２０８】
（端末管理手段について）
端末管理手段は、端末装置２からの登録要求を受信すると、端末管理データベース３１４へこの端末装置２の所在情報であるＩＰアドレスなどをチャンネル毎に登録する。また、コンテンツ配信装置１からの登録要求を受信した場合も、このコンテンツ配信装置１の所在情報であるＩＰアドレスなどを各チャンネル毎に端末管理データベース３１４に登録する。なお、これらの端末装置２の所在情報は端末装置２からの登録要求に含まれ、この登録要求から所在情報を取得する。
【０２０９】
（トポロジー管理手段について）
トポロジー管理手段は、コンテンツ配信装置１から送信されるチャンネルの生成要求に基づいて、ツリー状階層構造を生成するための新規トポロジー生成手段と、端末装置２の接続先紹介要求や接続切断通知などのトポロジー変動通知によってツリー状階層構造における端末装置２の接続情報を変更するトポロジー変更手段としての機能を有している。また、トポロジー管理手段は、階層構造を構成する端末装置２の接続状態情報を接続状態情報記憶手段としてのトポロジーデータベース３１５へ記憶する。
【０２１０】
新規トポロジー生成手段は、コンテンツ投入装置４からチャンネルの生成要求を受信すると、トポロジーテーブルを生成してトポロジーデータベース３１５へ登録する。ここで、トポロジーテーブルは、ツリー状階層構造を構成する端末装置２の接続状態情報などを格納するためのテーブルであり、トポロジーデータベース３１５に登録される。
【０２１１】
トポロジー変更手段は、トポロジーデータベース３１５に記憶されるトポロジーテーブルに端末装置２の情報を追加又は削除する機能を実行するものであり、端末装置２からの接続先紹介要求トポロジー参加報告に基づいて、トポロジーテーブルへの追加又は変更を行うものである。
【０２１２】
（接続先紹介要求受信手段について）
接続先紹介要求受信手段は、新規に第１配信形態に参加又は新規のチャンネルしようとする端末装置２からネットワーク６を介して接続先紹介要求を受信する。
【０２１３】
（接続先候補選択手段について）
接続先候補選択手段は、新規に第１配信形態に参加又は新規のチャンネルに参加しようとする端末装置２からネットワーク６を介して接続先紹介要求を受信したとき、端末装置２の接続先紹介要求に対する接続先候補を、トポロジーデータベース３１５に記憶された接続状態情報から選択する。
【０２１４】
（接続先候補通知手段について）
接続先候補通知手段は、接続先候補選択手段によって選択された接続先候補を、接続先紹介要求を送信した端末装置２へネットワーク６を介して通知する機能を有する。この接続先候補の通知は、接続先候補の情報、すなわち接続先候補の端末装置２の通信プロトコル、ＩＰアドレスやポート番号などの情報を含む。
【０２１５】
［５．コンテンツ投入装置４の構成等の説明］
次に、図２０を参照して、コンテンツ投入装置４の構成及び動作について説明する。
【０２１６】
図２０は、本実施形態におけるコンテンツ投入装置４の概略構成例を示す図である。コンテンツ投入装置４は、一般のサーバコンピュータを適用可能であり、図２０に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置４０５と、各種データ等を記憶するハードディスク装置４０３と、ネットワーク６を介してコンテンツ配信装置１、端末装置２及び接続管理装置３等との間で通信を行うネットワークインタフェース４０４と、所定の情報を入力可能なキーボード４０７やマウス４０８等の入力手段を制御する周辺機器制御チップ４０６と、ＣＰＵ４０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータをディスプレイ４１０に表示するビデオチップ４０９とを備えて構成され、これらの各種構成要素はシステムバス４０１を介して相互に接続されている。
【０２１７】
なお、本実施形態においては、ＣＰＵ４０２と主記憶装置４０５とで制御部４３０を構成している。なお、ネットワークインタフェース４０４は、ルータ１０ｄを介して、ネットワーク６に接続されている。このルータ１０ｄは、図１に示すルータ１０に相当するものである。
【０２１８】
（主記憶装置４０５について）
また、主記憶装置４０５には、コンテンツ投入装置４のコンピュータとしての基本的な機能を提供するためのＯＳプログラム４１７と、第１配信形態におけるコンテンツ配信装置１や第２配信形態における端末装置２に対してコンテンツデータの送信及び管理を行うためのコンテンツ管理プログラム４１９と、第１配信形態や第２配信形態において投入された複数のコンテンツデータのコンテンツの名称とコンテンツＩＤを関連付けた識別情報リストである識別情報リストを生成してハードディスク装置４０３の識別情報リスト記憶領域に記憶したり、ハードディスク装置４０３の識別情報リスト記憶領域から識別情報リストを取り出して、端末装置２へ送信するためのカタログ管理プログラム４１８等が記憶されており、これらはＣＰＵ４０２によって読み出され、ＣＰＵ４０２によってこれらのプログラムに従った機能が実行される。
【０２１９】
ここで、ＯＳプログラム４１７は、ＣＰＵ４０２によって読み出されて実行されることにより、キーボード４０７やマウス４０８の入出力に関する機能や、主記憶装置４０５やハードディスク装置４０３などのメモリ管理などのコンテンツ投入装置４であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム４１７がＣＰＵ４０２によって実行された状態で、上述のカタログ管理プログラム４１８、コンテンツ管理プログラム４１９等が実行される。
【０２２０】
なお、ＯＳプログラム４１７、カタログ管理プログラム４１８、コンテンツ管理プログラム４１９等は、例えば、ネットワーク６に接続されたサーバ等から主記憶装置４０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置４０５に読み込まれるようにしてもよい。
【０２２１】
（制御部４３０について）
制御部４３０は、上述のようにＣＰＵ４０２と主記憶装置４０５とから構成され、ＣＰＵ４０２が主記憶装置４０５に記憶された各種プログラム４１７〜４１９を読み出して実行することにより、コンテンツ投入装置４全体を統括制御し、かつ、後述するコンテンツ投入手段、識別情報リスト生成手段、識別情報リスト送信手段等として機能する。更に、ハードディスク装置４０３は、第１配信形態におけるコンテンツ配信装置１や第２配信形態のコンテンツ保持端末装置へ送信して投入するコンテンツデータを記憶するコンテンツデータ記憶領域と、コンテンツ配信装置１や第２配信形態のコンテンツ保持端末装置へ投入したコンテンツデータに関する識別情報リストを記憶する識別情報リスト記憶手段としての識別情報リスト記憶領域等から構成される。
【０２２２】
ここで、識別情報リスト記憶手段は、上述のようにコンテンツ配信装置１によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストをも記憶する。従って、放送形態で直接配信されるコンテンツデータ以外のコンテンツデータを第２配信形態で取得することができる。例えば、コンテンツデータが音楽コンテンツの場合には、過去に視聴した音楽コンテンツを第２配信形態で取得することが可能となる。
【０２２３】
なお、ＣＰＵ４０２がカタログ管理プログラム４１８を実行することによって、識別情報リスト生成手段、識別情報リスト送信手段等として、またＣＰＵ４０２がコンテンツ管理プログラム４１９を実行することによってコンテンツ投入手段等として、それぞれ機能する。
【０２２４】
（コンテンツ投入手段について）
コンテンツ投入手段は、第２配信形態にて配信するコンテンツデータを複数の端末装置２のうち一部の端末装置２に送信する。具体的には、以下のように動作する。
【０２２５】
コンテンツ配信装置１からの要求或いはキーボード４０７やマウス４０８等の入力手段からの操作によって、コンテンツデータの投入指示があったとき、コンテンツ投入手段は、その投入指示に対応するコンテンツデータをハードディスク装置４０３のコンテンツデータ記憶領域から取り出す。
【０２２６】
ハードディスク装置４０３から取り出したコンテンツデータは、コンテンツ投入手段によって、第１配信形態及び第２配信形態の両方の配信形態に送信され、投入される。但し、コンテンツ投入手段は第１配信形態へ投入されないコンテンツデータであっても、第２配信形態へ投入されることがある。
【０２２７】
すなわち、コンテンツ投入手段は、ハードディスク装置４０３から取り出したコンテンツデータをコンテンツ配信装置１に送信する。コンテンツ配信装置１に送信されたコンテンツデータは、第１配信形態で各端末装置２へストリーミング配信される。
【０２２８】
また、コンテンツ投入手段は、ハードディスク装置４０３から取り出したコンテンツデータを第２配信形態におけるいくつかの端末装置２に送信し、コンテンツ保持端末装置として機能させる。送信先の端末装置２はコンテンツ投入手段によってランダムに決定される。
【０２２９】
（識別情報リスト生成手段について）
識別情報リスト生成手段は、コンテンツ投入手段によってコンテンツデータの投入が行われると、ハードディスク装置４０３の識別情報リスト記憶領域に記憶した識別情報リストを更新する。すなわち、コンテンツ投入手段によって新たに投入したコンテンツデータのコンテンツの名称及びコンテンツＩＤとを関連付けた情報を識別情報リストに加える。
【０２３０】
（識別情報リスト送信手段について）
識別情報リスト送信手段は、識別情報リスト記憶手段に記憶した識別情報リストを複数の端末装置に送信する。すなわち、コンテンツ配信装置１や端末装置２から識別情報リスト送信要求があったときには、ハードディスク装置４０３の識別情報リスト記憶領域に記憶した識別情報リストを要求した装置に対して送信する。
【０２３１】
［６．コンタクト先紹介装置５の構成等の説明］
次に、図２１を参照して、コンタクト先紹介装置５の構成及び動作について説明する。
【０２３２】
図２１は、本実施形態におけるコンタクト先紹介装置５の概略構成例を示す図である。コンタクト先紹介装置５は、一般のサーバコンピュータを適用可能であり、図２１に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置５０５と、各種データ等を記憶するハードディスク装置５０３と、ネットワーク６を介して端末装置２との間で通信を行うネットワークインタフェース５０４と、所定の情報を入力可能なキーボード５０７やマウス５０８等の入力手段を制御する周辺機器制御チップ５０６と、ＣＰＵ５０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータをディスプレイ５１０に表示するビデオチップ５０９とを備えて構成され、これらの各種構成要素はシステムバス５０１を介して相互に接続されている。
【０２３３】
なお、本実施形態においては、ＣＰＵ５０２と主記憶装置５０５とで制御部５３０を構成している。なお、ネットワークインタフェース５０４は、ルータ１０ｅを介して、ネットワーク６に接続されている。このルータ１０ｅは、図１に示すルータ１０に相当するものである。
【０２３４】
（主記憶装置５０５について）
また、主記憶装置５０５には、コンタクト先紹介装置５のコンピュータとしての基本的な機能を提供するためのＯＳプログラム５１７と、複数の端末装置２の所在情報（ＩＰアドレスやポート番号など）などを管理するための端末管理プログラム５１８と、第２配信形態に参加していない端末装置２からの要求に応じて、コンタクト先の他の端末装置２を紹介するためのコンタクト先端末装置紹介プログラム５１９等が記憶されており、これらはＣＰＵ５０２によって読み出され、ＣＰＵ５０２によってこれらのプログラムに従った機能が実行される。
【０２３５】
ここで、ＯＳプログラム５１７は、ＣＰＵ５０２によって読み出されて実行されることにより、キーボード５０７やマウス５０８の入出力に関する機能や、主記憶装置５０５やハードディスク装置５０３などのメモリ管理などのコンタクト先紹介装置５であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム５１７がＣＰＵ５０２によって実行された状態で、上述の端末管理プログラム５１８、コンタクト先端末装置紹介プログラム５１９等が実行される。
【０２３６】
なお、ＯＳプログラム５１７、端末管理プログラム５１８、コンタクト先端末装置紹介プログラム５１９等は、例えば、ネットワーク６に接続されたサーバ等から主記憶装置５０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置５０５に読み込まれるようにしてもよい。
【０２３７】
（制御部５３０について）
制御部５３０は、上述のようにＣＰＵ５０２と主記憶装置５０５とから構成され、ＣＰＵ５０２が主記憶装置５０５に記憶された各種プログラム５１７〜５１９を読み出して実行することにより、コンタクト先紹介装置５全体を統括制御し、かつ、後述する端末装置管理手段、コンタクト先端末装置紹介手段等として機能する。
【０２３８】
なお、ＣＰＵ５０２が端末管理プログラム５１８を実行することによって、端末管理手段等として、またＣＰＵ５０２がコンタクト先端末装置紹介プログラム５１９を実行することによってコンタクト先端末装置紹介手段等として、それぞれ機能する。
【０２３９】
（端末管理手段について）
端末管理手段は、端末装置２からの第２配信形態に対する登録要求を受信すると、端末管理データベース５１５へこの端末装置２の所在情報であるＩＰアドレスなどを登録する。なお、これらの端末装置２の所在情報は端末装置２からの登録要求に含まれ、この登録要求から所在情報を取得する。
【０２４０】
（コンタクト先端末装置紹介手段について）
コンタクト先端末装置紹介手段は、端末装置２からの第２配信形態に対する登録要求を受信したとき、端末管理データベース５１５に登録した端末装置２から、登録要求を行った端末装置２が参加メッセージを送信すべき端末装置２を選択する。
【０２４１】
コンタクト先端末装置紹介手段は、選択した端末装置２の所在情報を端末管理データベース５１５から取り出し、登録要求を行った端末装置２に送信する。
【０２４２】
［７．コンテンツ配信システムＳの動作］
以下、コンテンツ配信装置１、端末装置２、接続管理装置３、コンテンツ投入装置４及びコンタクト先紹介装置５の詳細動作について、フローチャートを用いて更に具体的に説明する。
【０２４３】
（コンテンツ配信装置１の処理フローの説明）
まず、コンテンツ配信装置１の更に具体的な動作について、図２２を参照して説明する。図２２は、コンテンツ配信装置１における処理全体を示すフローチャートである。なお、以下の各処理は、コンテンツ配信装置１の制御部１３０が上述した手段等として機能することによって実行されるものである。
【０２４４】
まず、図２２に示すように、コンテンツ配信装置１の電源がＯＮされると、コンテンツ配信装置１において、ＣＰＵ１０２は、主記憶装置１０５やハードディスク装置１０３のアクセス許可、作業領域を初期化等の初期設定処理を実行し（ステップＳ１００）、各プログラム１１５〜１２０をＣＰＵ１０２による実行状態とし、制御部１３０としての機能を動作させた後、ステップＳ１０１に処理を移す。
【０２４５】
ステップＳ１０１において、コンテンツ配信装置１における制御部１３０は、コンテンツ投入装置４に対して第１配信形態において放送するコンテンツデータを要求し、当該要求に対してコンテンツ投入装置４から送信されるコンテンツデータをハードディスク装置１０３における放送コンテンツ記憶領域に記憶する。
【０２４６】
ステップＳ１０２において、コンテンツ配信装置１における制御部１３０は、放送運営者から放送の開始要求又は停止要求があったか否かを判定する。ここで、放送運営者から放送の開始要求又は停止要求があったか否かは、キーボード１０７やマウス１０８等の入力手段から放送開始の操作がなされたか否か、或いはキーボード１０７やマウス１０８等の入力手段から放送停止の操作がなされたか否かにより判断される。ここで、放送運営者とは、第１配信形態及び第２配信形態によるコンテンツ配信の管理を行う事業者を意味するが、第１配信形態によるコンテンツ配信と第２配信形態とを別々の事業者によって行うようにしてもよい。
【０２４７】
この処理において、放送運営者から放送の開始要求があったと判定されると（ステップＳ１０２：Ｙｅｓ）、制御部１３０は、ハードディスク装置１０３から取り出したコンテンツデータを所定容量毎に分割しながらコンテンツパケットに格納し、ネットワーク６を介して、このコンテンツパケットを下流に論理接続された端末装置２へ送信する準備を行う。一方、同様に、放送運営者から放送の停止要求があったと判定されると（ステップＳ１０２：Ｙｅｓ）、制御部１３０は、下流に論理接続されている端末装置２に対して行っているコンテンツパケットの生成を停止し（ステップＳ１０３）、処理をステップＳ１３０に移す。
【０２４８】
一方、ステップＳ１０２において、制御部１３０は、放送運営者から放送の開始要求がなかったと判定した場合には（ステップＳ１０２：ＮＯ）、ステップＳ１１０に処理を移す。
【０２４９】
ステップＳ１１０において、コンテンツ配信装置１における制御部１３０は、端末装置２からセッション開設か切断の要求があったか否かを判断する。この処理において、コンテンツ配信装置１における制御部１３０は、ネットワーク６を介して、端末装置２からセッション開設か切断の要求があったか否かを判断することとなる。
【０２５０】
この処理において、制御部１３０は、セッション開設の要求があったと判定した場合には（ステップＳ１１０：ＹＥＳ）、その端末装置２との接続を開設し（ステップＳ１１１）、セッション切断の要求があったと判定した場合には（ステップＳ１１０：ＹＥＳ）、その端末装置２との接続を切断し（ステップＳ１１１）、ステップＳ１１２に処理を移す。つまり、制御部１３０は、端末装置２からの要求に応じて、端末装置２の接続状態を変更設定させる制御を行うこととなる。
【０２５１】
ステップＳ１１０においてセッション開設の要求があったと判定した場合（ステップＳ１１０：ＹＥＳ）、制御部１３０は、ステップＳ１１２において、コンテンツ配信装置１の下流に論理接続されている端末装置２に対して、コンテンツデータをストリーミング送信する。すなわち、ステップＳ１０３において生成したコンテンツパケットを、ネットワーク６を介して、下流に論理接続された端末装置２へ順次送信する。また、セッション切断の要求があったと判定されると（ステップＳ１１０：ＹＥＳ）、制御部１３０は、コンテンツ配信装置１の下流に論理接続されている端末装置２に対して、コンテンツデータのストリーミング送信を停止する。すなわち、ステップＳ１０３において生成したコンテンツパケットの送信を停止する（ステップＳ１１２）。ステップＳ１１２の処理が終了すると、制御部１３０は、ステップＳ１２０に処理を移す。
【０２５２】
一方、ステップＳ１１０において、制御部１３０は、端末装置２からセッション開設も切断も要求がなかったと判定した場合には（ステップＳ１１０：ＮＯ）、ステップＳ１２０に処理を移す。
【０２５３】
ステップＳ１２０において、制御部１３０は、電源がオフであるか否かを判断し、電源がオフであると判定した場合には（ステップＳ１２０：ＹＥＳ）、本処理を終了する一方、電源がオフではないと判定した場合には（ステップＳ１２０：ＮＯ）、ステップＳ１０２から繰り返し処理を実行することとなる。
【０２５４】
（端末装置２の処理フローの説明）
次に、端末装置２の更に具体的な動作について、図２３〜図３２のフローチャートを参照して説明する。図２３〜図３２は端末装置２における処理を示すフローチャートである。なお、以下の各処理は、端末装置２の制御部２３０が上述した手段等として機能することによって実行されるものである。
【０２５５】
図２３に示すように、端末装置２の電源がＯＮになると、端末装置２のＣＰＵ２０２は、主記憶装置２０５やハードディスク装置２０３のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム２１５〜２１９，２２１をＣＰＵ２０２による実行状態とし、制御部２３０としての機能を動作させた後（ステップＳ２００）、ステップＳ２０１に処理を移す。
【０２５６】
ステップＳ２０１において、制御部２３０は、コンテンツ投入装置４から識別情報リストを取得する。この識別情報リストの取得は、制御部２３０がコンテンツ投入装置４に対して、識別情報リストを要求し、当該要求に対して送信される識別情報リストを受信することによって行う。
【０２５７】
この識別情報リストは、上述のように第２配信形態において取得可能な複数のコンテンツデータの名称等とコンテンツＩＤとが関連付けられた情報であり、制御部２３０がこの識別情報リストを取得し、内蔵ディスプレイ２１０に表示することによって、端末装置２のユーザがリモコン２０８等の操作により、第２配信形態でのコンテンツデータの取得を行うことができるようにしている。
【０２５８】
次に、制御部２３０は、ステップＳ２０２における初期チャンネル設定処理を行った後、ステップＳ２０３に処理を移す。このステップＳ２０２の処理は、図２６におけるＳ２４０〜Ｓ２４７の処理であり、後述で詳説する。
【０２５９】
ステップＳ２０３において、制御部２３０は、ユーザからのチャンネル選択指示があったか否かを判定する。ユーザからのチャンネル選択指示があったか否かは、リモコン２０８等のチャンネル選択手段からチャンネル選択指示の操作がなされたか否かにより判断される。
【０２６０】
この処理において、制御部２３０は、ユーザからのチャンネル選択指示があったと判定した場合には（ステップＳ２０３：ＹＥＳ）、チャンネル変更処理に移行する（ステップＳ２０４）。このステップＳ２０４の処理は、図２７及び図２８におけるＳ２５０〜Ｓ２５４，Ｓ２６０〜Ｓ２６７の処理であり、後述で詳説する。
【０２６１】
一方、ステップＳ２０３において、ユーザからのチャンネル選択指示がなかったと判定すると（ステップＳ２０３：ＮＯ）、制御部２３０は、接続管理装置３から上流装置の候補を受信したか否かを判定する（ステップＳ２０５）。すなわち、ステップＳ２０４におけるチャンネル変更処理において行った接続先候補の紹介要求に対して、接続管理装置３から上流装置の接続先候補が通知されたか否かを判定するのである。
【０２６２】
この処理において、接続管理装置３から上流装置の接続先候補を受信したと判定すると（ステップＳ２０５：ＹＥＳ）、制御部２３０は、接続管理装置３から通知された上流装置の接続先候補の中から１つの接続先候補の上流装置を選択した後（ステップＳ２０６）、ステップＳ２０７の処理に移行する。
【０２６３】
ステップＳ２０７において、制御部２３０は、選択した接続先候補の上流装置にネットワーク６を介して論理接続する。上流装置への論理接続は、制御部２３０が、当該上流装置へネットワーク６を介して接続要求を行うことによって実行される。ステップＳ２０７の処理が終了すると、制御部１３０は、ステップＳ２０８に処理を移す。
【０２６４】
その後、ステップＳ２０８において、制御部２３０は、ネットワーク６を介して、上流装置に対してコンテンツデータのストリーミング配信を要求し、ステップＳ２０９の処理に移行する。
【０２６５】
ステップＳ２０９において、制御部２３０は、ネットワーク６を介して接続管理装置３へトポロジー参加報告を送信する。
【０２６６】
一方、ステップＳ２０５において、接続管理装置３から上流装置の候補を受信しなかったと判定すると（ステップＳ２０５：ＮＯ）、制御部２３０は、上流装置からコンテンツパケットを受信したか否かを判定する（ステップＳ２１０）。
【０２６７】
この処理において、制御部２３０は、上流装置からコンテンツパケットを受信したと判定すると（ステップＳ２１０：ＹＥＳ）、上流装置から受信したコンテンツパケットからコンテンツデータを取り出してリングバッファ領域２２０に記憶し、更にそのコンテンツデータを取り出してコンテンツパケットとして下流側の端末装置２へ転送する（ステップＳ２１１）。
【０２６８】
その後、制御部２３０は、上流装置から受信したコンテンツパケットが選択チャンネルのコンテンツパケットであるか否かを判定する（ステップＳ２１２）。選択チャンネルのコンテンツパケットであるか否かは、制御部２３０がネットワーク６を介して上流装置から受信したコンテンツパケットのヘッダ部に基づいて判定する。すなわち、制御部２３０は、コンテンツパケットのヘッダ部に含まれるチャンネル情報が、選択チャンネルであるか否かにより判定するのである。
【０２６９】
ここで、選択チャンネルとは、参加している複数のチャンネルのうちチャンネル選択ボタン等によって最後に選択された最新のチャンネルを意味する。
【０２７０】
この処理において、上流装置から受信したコンテンツパケットが選択チャンネルのコンテンツパケットであると判定されると（ステップＳ２１２：ＹＥＳ）、制御部２３０は、リングバッファ領域２２０に記憶したコンテンツデータを取得して再生する（ステップＳ２１３）。コンテンツパケットの再生は、音源チップ２１１やビデオチップ２０９を動作させることによってこの機能を実現しており、リングバッファ領域２２０に格納したコンテンツデータのうち再生時刻となったコンテンツパケットを順次取り出して、所定のコンテンツデータ形式（たとえば、Ｗａｖｅ形式）に変換して音源チップ２１１やビデオチップ２０９へ入力し、コンテンツの再生を行う。
【０２７１】
一方、自上流装置から受信したコンテンツパケットが選択チャンネルのコンテンツパケットではないと判定すると（ステップＳ２１２：ＮＯ）、制御部２３０は、ステップＳ２１３の処理は行わない。
【０２７２】
ステップＳ２１０において、上流装置からコンテンツパケットを受信しなかったと判定されると（ステップＳ２１０：ＮＯ）、制御部２３０は、ストリーミングの配信開始／停止要求があるか否かを判定する（ステップＳ２１４）。ストリーミングの配信開始／停止要求があるか否かは、下流の端末装置２から送信されるストリーミングの配信開始要求を受信したか否か、或いは下流の端末装置２から送信されるストリーミングの配信停止要求を受信したか否かによって判断される。
【０２７３】
この処理において、制御部２３０は、ストリーミングの配信の開始要求があったと判定すると（ステップＳ２１４：ＹＥＳ）、当該ストリーミング配信の開始要求を行った下流装置に対してのコンテンツパケットの転送を開始する（ステップＳ２１５）。また、制御部２３０は、ストリーミングの配信の停止要求があったと判定すると（ステップＳ２１４：ＹＥＳ）、当該ストリーミング配信の停止要求を行った下流装置に対してのコンテンツパケットの転送を停止する（ステップＳ２１５）。
【０２７４】
この処理は、ステップＳ２１１におけるコンテンツパケットの転送を行うか否かの設定となり、ストリーミングの配信の開始要求があったと判定すると、コンテンツパケットの下流装置への転送を行う設定となり、ストリーミングの配信の停止要求があったと判定すると、コンテンツパケットの下流装置への転送の停止を行う設定となる。
【０２７５】
一方、ステップＳ２１４において、ストリーミングの配信の開始要求／停止要求がなかったと判定すると（ステップＳ２１４：ＮＯ）、制御部２３０は、コンテンツ登録メッセージを受信したか否かを判定する（ステップＳ２１６）。コンテンツ登録メッセージを受信したか否かは、コンテンツ保持端末装置からネットワーク６を介して送信されるコンテンツ登録メッセージが自端末装置２で受信されたか否かによって判断される。
【０２７６】
この処理において、コンテンツ登録メッセージを受信したと判定すると（ステップＳ２１６：ＹＥＳ）、制御部２３０は、主記憶装置２０５のインデックステーブル２２２に受信したコンテンツ登録メッセージに含まれるコンテンツ保持端末装置の所在情報及びコンテンツ保持端末装置が保持するコンテンツデータのコンテンツＩＤ等を関連付けてインデックステーブル２２２に追加する（ステップＳ２１７）。
【０２７７】
その後、制御部２３０は、自端末装置２がルート端末装置であるか否かを判定する（ステップＳ２１８）。端末装置２がルート端末装置であるか否かは、受信したコンテンツ登録メッセージの宛先識別情報とルーティングテーブル２２３とに基づいて判断される。
【０２７８】
この処理において、制御部２３０は、自端末装置２がルート端末装置でないと判定すると（ステップＳ２１８：ＮＯ）、ルーティングテーブル２２３に基づいて、コンテンツ登録メッセージを他の端末装置２へ転送する（ステップＳ２１９）。一方、自端末装置２がルート端末装置であると判定すると（ステップＳ２１８：ＹＥＳ）、制御部２３０は、ステップＳ２１９の処理は行わない。
【０２７９】
ステップＳ２１６において、コンテンツ登録メッセージを受信しなかったと判定すると（ステップＳ２１６：ＮＯ）、制御部２３０は、コンテンツ削除メッセージを受信したか否かを判定する（ステップＳ２２０）。コンテンツ削除メッセージを受信したか否かは、ネットワーク６を介して、コンテンツ保持端末装置から送信されるコンテンツ削除メッセージが受信されたか否かによって判断される。
【０２８０】
この処理において、制御部２３０は、コンテンツ削除メッセージを受信したと判定すると（ステップＳ２２０：ＹＥＳ）、インデックステーブル２２２からコンテンツ削除メッセージに対応するインデックス情報（コンテンツＩＤ、コンテンツ保持ノード装置の所在位置等）を削除した後（ステップＳ２２１）、ステップＳ２１８の処理に移行する。
【０２８１】
ステップＳ２２０において、コンテンツ削除メッセージを受信しなかったと判定すると（ステップＳ２２０：ＮＯ）、制御部２３０は、投入されるコンテンツデータを受信したか否かを判定する（ステップＳ２２２）。
【０２８２】
この処理において、制御部２３０は、コンテンツ投入装置４から投入されるコンテンツデータを受信したと判定すると（ステップＳ２２２：ＹＥＳ）、投入コンテンツ受信処理を行う（ステップＳ２２３）。この投入コンテンツ受信処理は、図２９におけるＳ２７５〜Ｓ２７８の処理であり、後述にて詳説する。
【０２８３】
ステップＳ２２２において、投入されるコンテンツデータ受信しなかったと判定すると（ステップＳ２２２：ＮＯ）、制御部２３０は、ユーザからのコンテンツ購入指示があるか否かを判定する（ステップＳ２２４）。ユーザからのコンテンツ購入指示があるか否かは、リモコン２０８等の入力手段からコンテンツ購入指示の操作がなされたか否かにより判断される。
【０２８４】
この処理において、制御部２３０は、ユーザによるダウンロード要求の操作、すなわちコンテンツ購入指示があったと判定すると（ステップＳ２２４：ＹＥＳ）、コンテンツ購入処理を行う（ステップＳ２２５）。このコンテンツ購入処理は、図３０におけるＳ２８０〜Ｓ２８９の処理であり、後述にて詳説する。ユーザによるダウンロード要求の操作は、例えば、内蔵ディスプレイ２１０に図１６に示すような画面が表示されている状態で、ユーザによるリモコン２０８の所定操作が行われたときに、ユーザによるダウンロード要求の操作が行われたと判定する。
【０２８５】
ステップＳ２２４において、ユーザからのコンテンツ購入指示がなかったと判定すると（ステップＳ２２４：ＮＯ）、制御部２３０は、他の端末装置２からコンテンツダウンロード要求があるか否かを判定する（ステップＳ２２６）。このコンテンツダウンロード要求は、第２配信形態でのコンテンツデータ全体の一括送信の要求であり、自端末装置２がコンテンツ保持端末装置或いはコンテンツダウンロード要求に係るコンテンツデータをキャッシュするキャッシュ装置であるときに、コンテンツダウンロード要求を受信したと判定される。
【０２８６】
この処理において、制御部２３０は、他の端末装置２からコンテンツダウンロード要求があったと判定すると（ステップＳ２２６：ＹＥＳ）、コンテンツダウンロード要求に対応するコンテンツデータをハードディスク装置２０３から取り出し、コンテンツダウンロード要求を行った他の端末装置２へ取り出したコンテンツデータを送信する（ステップＳ２２７）。
【０２８７】
また、この処理において、制御部２３０は、他の端末装置２からコンテンツダウンロード要求がなかったと判定すると（ステップＳ２２６：ＮＯ）、購入コンテンツデータをダウンロードしたか否かを判定する（ステップＳ２２８）。購入コンテンツデータをダウンロードしたか否かは、ユーザによるダウンロード要求の操作、すなわちコンテンツ購入指示があったときに、ダウンロード要求したコンテンツ保持端末装置からコンテンツデータが受信されたか否かにより判断される。
【０２８８】
この処理において、購入コンテンツデータをダウンロードしたと判定すると（ステップＳ２２８：ＹＥＳ）。ダウンロードした購入コンテンツデータをハードディスク装置２０３に記憶し、保存する（ステップＳ２２９）。なお、コンテンツデータは、コンテンツ保持端末装置から所定の容量に分割されてコンテンツパケットとして送信され、制御部２３０は、コンテンツパケット毎に受信して、ハードディスク装置２０３に記憶することになる。
【０２８９】
ステップＳ２２９の処理が終了すると、制御部２３０は、接続管理装置３に対して、ザッピング対策チャンネルに関する上流装置の接続先候補の紹介要求を送信する（ステップＳ２３０）。この処理は、後述するステップＳ２８４において脱退したザッピング対策チャンネルに再度参加させるための処理である。
【０２９０】
ステップＳ２２８において、購入コンテンツデータをダウンロードしていないと判定されると（ステップＳ２２８：ＮＯ）、制御部２３０は、コンテンツ検索メッセージを受信したか否かを判定する（ステップＳ２３１）。コンテンツ検索メッセージを受信したか否かは、端末装置２からネットワーク６を介して、リクエスト端末装置から送信されるコンテンツ検索メッセージが受信されたか否かによって判断される。
【０２９１】
この処理において、制御部２３０は、コンテンツ検索メッセージを受信したと判定すると（ステップＳ２３１：ＹＥＳ）、ステップＳ２３２においてコンテンツ検索処理を行う。このコンテンツ検索処理は、図３２におけるＳ２９０〜Ｓ２９４の処理であり、後述にて詳説する。
【０２９２】
ステップＳ２３１において、コンテンツ検索メッセージを受信しなかったと判定されると（ステップＳ２３１：ＮＯ）、制御部２３０は、コンテンツ保持端末装置情報を受信したか否かを判定する（ステップＳ２３３）。このコンテンツ保持端末装置情報は、コンテンツ保持端末装置の所在情報を含む情報であり、コンテンツ保持端末装置情報を受信したと判定すると（ステップＳ２３３：ＹＥＳ）、制御部２３０は、取得したコンテンツ保持端末装置の所在情報に基づいて、コンテンツ保持端末装置に対してコンテンツデータ全体の一括送信を要求する（ステップＳ２３４）。
【０２９３】
ステップＳ２３３において、コンテンツ保持端末装置情報を受信しなかったと判定されると（ステップＳ２３３：ＮＯ）、制御部２３０は、第２配信形態への参加メッセージを受信したか否かを判定する（ステップＳ２３５）。
【０２９４】
この処理において、制御部２３０は、第２配信形態への参加メッセージを受信したと判定すると（ステップＳ２３５：ＹＥＳ）、所持しているテーブル情報を参加メッセージの送信元の端末装置へ送信する（ステップＳ２３６）。すなわち、ルーティングテーブル２２３のテーブル情報のうち、参加メッセージの宛先識別情報と合致しないレベルのうち最もレベルの小さいレベルのテーブル情報をルーティングテーブル２２３から取り出し、参加メッセージを送信した端末装置２へ送信する。
【０２９５】
その後、制御部２３０は、端末装置２がルート端末装置であるか否かを判定する（ステップＳ２３７）。端末装置２がルート端末装置であるか否かは、受信した参加メッセージの宛先識別情報とルーティングテーブル２２３とに基づいて判断される。
【０２９６】
この処理において、制御部２３０は、自端末装置２がルート端末装置でないと判定すると（ステップＳ２３７：ＮＯ）、ルーティングテーブル２２３に基づいて、参加メッセージを他の端末装置２へ転送する（ステップＳ２３８）。一方、自端末装置２がルート端末装置であると判定すると（ステップＳ２３７：ＹＥＳ）、制御部２３０は、ステップＳ２３８の処理は行わない。
【０２９７】
次に、Ｓ２０２における初期チャンネル設定処理について図２６のフローチャートを参照して具体的に説明する。
【０２９８】
図２６に示すように、制御部２３０は、まず最終視聴チャンネル保存ファイルから視聴チャンネルを取得する（ステップＳ２４０）。この最終視聴チャンネル保存ファイルは、端末装置２の電源ＯＦＦ時直前に視聴しているチャンネル（以下、「最終視聴チャンネル」と呼ぶ。）が制御部２３０によってハードディスク装置２０３に記憶され、保存されたものである。ハードディスク装置２０３には、最終視聴チャンネル保存ファイル記憶用領域が確保される。
【０２９９】
次に、制御部２３０は、最終視聴チャンネルを取得できたか否かを判定する（ステップＳ２４１）。最終視聴チャンネルを取得できたか否かは、ハードディスク装置２０３に最終視聴チャンネル保存ファイルが記憶されているか否かによって判断される。すなわち、最終視聴チャンネル保存ファイルが記憶されているときには、そのファイルから最終視聴チャンネルを取得するのである。
【０３００】
この処理において、最終視聴チャンネルを取得できないと判定されると（ステップＳ２４１：ＮＯ）、制御部２３０は、最初に視聴するチャンネルをデフォルトチャンネル（ここでは、チャンネルｃｈ１とする。）に設定する。
【０３０１】
一方、最終視聴チャンネルを取得できると判定されたとき（ステップＳ２４１：ＹＥＳ）、或いはステップＳ２４２において視聴チャンネルをチャンネルｃｈ１としたとき、制御部２３０は、最初に視聴するチャンネルを最終視聴チャンネル或いはチャンネルｃｈ１に決定し、接続管理装置３に対して、視聴チャンネルに関する上流装置の接続先候補を要求（ステップＳ２４３）し、ステップＳ２４４の処理に移行する。
【０３０２】
ステップＳ２４４において、制御部２３０は、接続管理装置３に対して、視聴チャンネルのチャンネル番号よりも１だけ小さいチャンネルに関する上流装置の接続先候補を要求して、ステップＳ２４５の処理に移行する。
【０３０３】
ステップＳ２４５において、制御部２３０は、接続管理装置３に対して、視聴チャンネルのチャンネル番号よりも２だけ小さいチャンネルに関する上流装置の接続先候補を要求して、ステップＳ２４６の処理に移行する。
【０３０４】
ステップＳ２４６において、制御部２３０は、接続管理装置３に対して、視聴チャンネルのチャンネル番号よりも１だけ大きいチャンネルに関する上流装置の接続先候補を要求して、ステップＳ２４７の処理に移行する。
【０３０５】
ステップＳ２４７において、制御部２３０は、接続管理装置３に対して、視聴チャンネルのチャンネル番号よりも２だけ大きいチャンネルに関する上流装置の接続先候補を要求する。
【０３０６】
以上のように、初期チャンネル設定処理においては、最終視聴チャンネル或いはデフォルトチャンネルを視聴チャンネルとしてそのチャンネルの接続先候補を要求するとともに、視聴チャンネルのチャンネル番号よりも±２の範囲のチャンネルに関する接続先候補を要求するようにしている。この接続先候補の要求に対して接続管理装置３から通知される接続先候補は、前述したステップＳ２０５においてそれぞれ受信することになる。たとえば、全チャンネルがｃｈ１〜ｃｈ１０である場合において、最終視聴チャンネルがｃｈ１であれば接続先候補を要求するチャンネルは、ｃｈ１のほか、ｃｈ２（ｃｈ１＋１），ｃｈ３（ｃｈ１＋２），ｃｈ９（ｃｈ１−１），ｃｈ１０（ｃｈ１−２）となる。
【０３０７】
次に、Ｓ２０４における初期チャンネル処理について図２７のフローチャート及び図２８のフローチャートを参照して具体的に説明する。
【０３０８】
図２７に示すように、まず制御部２３０は、「＋」ボタンが押下されたか否かを判定する（ステップＳ２５０）。「＋」ボタンが押下されたか否かは、例えば、内蔵ディスプレイ２１０に表示されたチャンネル選択画面が表示されている状態で、リモコン２０８等の操作によって、「＋」ボタンが押下されたか否かによって判断される。図１５には、端末装置２の内蔵ディスプレイ２１０に表示されるチャンネル選択画面の例を示しており、チャンネル選択ボタン２２が「＋」ボタンに、チャンネル選択ボタン２３が「−」ボタンに対応する。なお、表示枠２１にはストリーミング再生手段によって再生されるコンテンツが表示される。
【０３０９】
この処理において、制御部２３０は、「＋」ボタンが押下されたと判定すると（ステップＳ２５０：ＹＥＳ）、ステップＳ２５１において「チャンネル変更処理（＋）」を実行する。
【０３１０】
この処理は、図２８（ａ）に示すように、ステップＳ２６０〜Ｓ２６３の処理からなる。まず、制御部２３０は、現在の視聴チャンネルのチャネル番号よりも２だけ小さいザッピング対策チャンネルにおけるコンテンツ供給元端末である上流装置に対して、コンテンツストリームの停止を要求する（ステップＳ２６０）。すなわち、現在の視聴チャンネルのチャネル番号よりも２だけ小さいザッピング対策チャンネルに関し、自端末装置２と論理接続され、自端末装置２に対して第１配信形態でストリーミング配信を行っているコンテンツ配信装置１又は他の端末装置２に対して、コンテンツデータのストリーミング配信を停止するようにネットワーク６を介して要求する。
【０３１１】
その後、制御部２３０は、現在の視聴チャンネルのチャネル番号よりも２だけ小さいザッピング対策チャンネルのトポロジーから脱退する（ステップＳ２６１）。すなわち、制御部２３０は、現在の視聴チャンネルのチャネル番号よりも２だけ小さいザッピング対策チャンネルに関する上流装置とのセッションの切断するとともに、同ザッピング対策チャンネルに関する下流装置がある場合には、下流装置とのセッションを切断することにより、同ザッピング対策チャンネルのトポロジーから脱退し、ステップＳ２６２の処理に移行する。
【０３１２】
ステップＳ２６２において、制御部２３０は、接続管理装置３に対して、現在の視聴チャンネルのチャネル番号よりも３だけ大きいチャンネルをザッピング対策チャンネルとし、このザッピング対策チャンネルに関する上流装置の接続先候補を要求して、ステップＳ２６３の処理に移行する。
【０３１３】
ステップＳ２６３において、制御部２３０は、視聴チャンネルを現在の視聴チャンネルのチャネル番号に＋１だけしたチャンネルに切り替える。例えば、現在の視聴チャンネルがチャンネルｃｈ５の場合、チャンネルｃｈ６を視聴チャンネルとする。
【０３１４】
一方、図２７のステップS２５０の処理において、制御部２３０は、「＋」ボタンが押下されなかったと判定すると（ステップＳ２５１：ＮＯ）、「−」ボタンが押下されたか否かを判定する（ステップＳ２５２）。
【０３１５】
この処理において、制御部２３０は、「−」ボタンが押下されたと判定すると（ステップＳ２５２：ＹＥＳ）、ステップＳ２５３において「チャンネル変更処理（−）」を実行する。
【０３１６】
この処理は、図２８（ｂ）に示すように、ステップＳ２６４〜Ｓ２６７の処理からなる。まず、制御部２３０は、現在の視聴チャンネルのチャネル番号よりも２だけ大きいザッピング対策チャンネルにおけるコンテンツ供給元端末である上流装置に対して、コンテンツストリームの停止を要求する（ステップＳ２６４）。すなわち、現在の視聴チャンネルのチャネル番号よりも２だけ大きいザッピング対策チャンネルに関し、自端末装置２と論理接続され、自端末装置２に対して第１配信形態でストリーミング配信を行っているコンテンツ配信装置１又は他の端末装置２に対して、コンテンツデータのストリーミング配信を停止するようにネットワーク６を介して要求する。
【０３１７】
その後、制御部２３０は、現在の視聴チャンネルのチャネル番号よりも２だけ大きいザッピング対策チャンネルのトポロジーから脱退する（ステップＳ２６５）。すなわち、制御部２３０は、現在の視聴チャンネルのチャネル番号よりも２だけ大きいザッピング対策チャンネルに関する上流装置とのセッションの切断するとともに、同ザッピング対策チャンネルに関する下流装置がある場合には、下流装置とのセッションを切断することにより、同ザッピング対策チャンネルのトポロジーから脱退し、ステップＳ２６６の処理に移行する。
【０３１８】
ステップＳ２６６において、制御部２３０は、接続管理装置３に対して、現在の視聴チャンネルのチャネル番号よりも３だけ小さいチャンネルをザッピング対策チャンネルとし、このザッピング対策チャンネルに関する上流装置の接続先候補を要求して、ステップＳ２６７の処理に移行する。
【０３１９】
ステップＳ２６８において、制御部２３０は、視聴チャンネルを現在の視聴チャンネルのチャネル番号に−１だけしたチャンネルに切り替える。例えば、現在の視聴チャンネルがチャンネルｃｈ５の場合、チャンネルｃｈ４を視聴チャンネルとする。
【０３２０】
図２８(ａ)に示すステップＳ２５１の「チャンネル変更処理（＋）」の処理が終了したとき、或いは図２８（ｂ）に示すステップＳ２５３の「チャンネル変更処理（−）」の処理が終了したとき、図２７に示すステップＳ２５４の処理に移行する。
【０３２１】
この処理において、最終視聴チャンネル保存ファイルに視聴チャンネルの番号を書く。すなわち、ハードディスク装置２０３に記憶される最終視聴チャンネル保存ファイルの視聴チャンネル番号を、ステップＳ２６３又はステップＳ２６７で切替えた視聴チャンネルのチャンネル番号に上書きする。
【０３２２】
以上のように、チャンネル変更処理では、ユーザによる視聴チャンネルの切替え操作が行なわれると、視聴チャンネルの切替えを行なうとともに、ザッピング対策チャンネルの切替え処理を行なうようにしている。
【０３２３】
なお、本実施形態においては、視聴チャンネルのチャンネル番号の±２の範囲内のチャンネルをザッピング対策チャンネルとしたが、視聴チャンネルの番号ごとに、ザッピング対策チャンネルを設定するようにしてもよい。例えば、チャンネル毎に視聴頻度を検出しておき、視聴頻度の低いチャンネルが視聴チャンネルの場合には、ザッピング対策チャンネルの数を増やし、視聴頻度の高いチャンネルが視聴チャンネルの場合には、ザッピング対策チャンネルの数を減らすことにより、効率よくザッピング対策チャンネルを設定することができる。
【０３２４】
次に、Ｓ２２３における投入コンテンツ受信処理について図２９を参照して具体的に説明する。
【０３２５】
まず、端末装置２の制御部２３０は、ステップＳ２２２において受信した投入コンテンツデータをハードディスク装置２０３のコンテンツデータ記憶領域に記憶し、保存する（ステップＳ２７５）。
【０３２６】
その後、制御部２３０は、自端末装置２がルート端末装置であるか否かを判定する（ステップＳ２７６）。端末装置２がルート端末装置であるか否かは、受信したコンテンツデータのコンテンツの名称を所定のハッシュ関数によって演算してコンテンツＩＤを有する端末装置が自端末装置であるか否かによって判断される。
【０３２７】
この処理において、制御部２３０は、自端末装置２がルート端末装置でないと判定すると（ステップＳ２７６：ＮＯ）、ルーティングテーブル２２３に基づいて、ネットワーク６を介してコンテンツ登録メッセージを他の端末装置２へ送信する（ステップＳ２７８）。一方、自端末装置２がルート端末装置であると判定すると（ステップＳ２７６：ＹＥＳ）、制御部２３０は、インデックステーブル２２２にコンテンツＩＤと自端末装置の所在情報を追加して登録する（ステップＳ２７７）。
【０３２８】
以上のように、投入コンテンツ受信処理では、コンテンツ投入装置４から投入されたコンテンツデータをハードディスク装置２０３に記憶して保存するとともに、ルート端末装置のインデックステーブルに登録するようにしている。
【０３２９】
次に、Ｓ２２５におけるコンテンツ購入処理について図３０を参照して具体的に説明する。
【０３３０】
まず、端末装置２の制御部２３０は、識別情報リストから購入するコンテンツＩＤを取得する（ステップＳ２８０）。すなわち、ステップＳ２２４においてユーザからのコンテンツ購入指示があったと判定したコンテンツデータに関するコンテンツＩＤをコンテンツ投入装置４から取得した識別情報リストから取得する。
【０３３１】
次に、制御部２３０は、リングバッファ領域２２０内に購入コンテンツデータの完全版が存在するか否かを判定する（ステップＳ２８１）。購入コンテンツデータの完全版が存在するか否かは、ステップＳ２２５においてユーザからのコンテンツ購入指示があったと判定したコンテンツデータ全体がリングバッファ領域２２０に蓄積されているか否かによる判定する。なお、放送形態で視聴途中のコンテンツデータはリングバッファ領域２２０にその全体が蓄積されておらず、ステップＳ２８１の判定がＹＥＳとなるのは、放送形態ですでに視聴終了したコンテンツデータであって、リングバッファ領域２２０に蓄積されているものに限られることになる。
【０３３２】
この処理において、リングバッファ領域２２０内に購入コンテンツデータの完全版が存在すると判定されると（ステップＳ２８１：ＹＥＳ）、制御部２３０は、この購入コンテンツデータをハードディスク装置２０３のコンテンツデータ記憶領域に記憶する（ステップＳ２８２）。リングバッファ領域２２０に記憶されたコンテンツデータは、ストリーミング再生用のコンテンツデータであるため、このステップＳ２８２の処理においては、リングバッファ領域２２０に記憶されたコンテンツデータを購入コンテンツ形式（ダウンロード形式）に変換した後、ハードディスク装置２０３のコンテンツデータ記憶領域に記憶することになる。また、リングバッファ領域２２０内に購入コンテンツデータの完全版が存在すると判定されると（ステップＳ２８１：ＹＥＳ）、制御部２３０は、ザッピング対策チャンネルのコンテンツ供給元端末である上流装置に対してコンテンツストリームの停止を要求せず、ザッピング対策チャンネルのトポロジーからの脱退も行わない。すなわち、制御部２３０は、ザッピング対策チャンネルに関する上流装置とのセッションを切断しない。
【０３３３】
一方、ステップＳ２８１において、リングバッファ領域２２０内に購入コンテンツデータの完全版が存在しないと判定されると（ステップＳ２８１：ＮＯ）、制御部２３０は、全てのザッピング対策チャンネルのコンテンツ供給元端末である上流装置に対してコンテンツストリームの停止を要求する（ステップＳ２８３）。すなわち、全てのザッピング対策チャンネルに関し、自端末装置２と論理接続され、自端末装置２に対して第１配信形態でストリーミング配信を行っているコンテンツ配信装置１又は他の端末装置２に対して、コンテンツデータのストリーミング配信を停止するようにネットワーク６を介して要求する。
【０３３４】
その後、制御部２３０は、全てのザッピング対策チャンネルのトポロジーから脱退する（ステップＳ２８４）。すなわち、制御部２３０は、全てのザッピング対策チャンネルに関する上流装置とのセッションの切断するとともに、同ザッピング対策チャンネルに関する下流装置がある場合には、下流装置とのセッションを切断することにより、同ザッピング対策チャンネルのトポロジーから脱退し、ステップＳ２８５の処理に移行する。
【０３３５】
ステップＳ２８５の処理は、第２配信形態への参加処理であり、このステップＳ２８５の処理は、図３１におけるＳ２７０〜Ｓ２７４の処理であり、後述で詳説する。
【０３３６】
ステップＳ２８５における第２配信形態への参加処理が終了すると、制御部２３０は、制御部２３０は、インデックステーブル２２２にコンテンツＩＤが存在するか否かを判定する（ステップＳ２８６）。
【０３３７】
この処理において、インデックステーブル２２２にコンテンツＩＤが存在すると判定されると（ステップＳ２８６：ＹＥＳ）、制御部２３０は、インデックステーブル２２２からコンテンツ保持端末装置の所在情報を取得し（ステップＳ２８７）、ステップＳ２８８の処理に移行する。
【０３３８】
ステップＳ２８８において、制御部２３０は、インデックステーブル２２２から取得したコンテンツ保持端末装置の所在情報宛に、コンテンツ送信要求を送信する。すなわち、制御部２３０は、コンテンツ保持端末装置に対してダウンロード送信要求を行う。
【０３３９】
インデックステーブル２２２にコンテンツＩＤが存在しないと判定されると（ステップＳ２８６：ＮＯ）、制御部２３０は、ネットワーク６を介して次の端末装置へメッセージを転送する（ステップＳ２８９）。すなわち、制御部２３０は、ルーティングテーブル２２３に基づいて、ネットワーク６を介してコンテンツ検索メッセージを他の端末装置２へ転送する。
【０３４０】
ここで、Ｓ２８５における第２配信形態への参加処理について図３１を参照して具体的に説明する。
【０３４１】
まず、端末装置２の制御部２３０は、コンタクト先紹介装置５へネットワーク６を介して、コンタクト先情報を要求する（ステップＳ２７０）。このコンタクト先情報の要求に対して、コンタクト先紹介装置５からネットワーク６を介して送信されてくるコンタクト先情報をネットワークインタフェース２０４を介して受信する（ステップＳ２７１）。
【０３４２】
受信したコンタクト先情報には、コンタクト先の端末装置の所在情報が含まれており、制御部２３０は、受信したコンタクト先情報に含まれるコンタクト先の端末装置に対して参加メッセージをネットワーク６を介して送信する（ステップＳ２７２）。この参加メッセージは、自端末装置の識別情報を宛先識別情報としている。
【０３４３】
このように送信した参加メッセージは、コンタクト先の端末装置２から順次転送され、転送できない位置の端末装置２まで辿り着く。そして、参加メッセージを受信した複数の端末装置から各レベル毎のテーブル情報を受信する（ステップＳ２７３）。
【０３４４】
次に、制御部２３０は、このように受信した複数のテーブル情報に基づいて、ルーティングテーブルを生成する（ステップＳ２７４）。
【０３４５】
このように端末装置２は、購入要求要求があると、第２配信形態へ参加するようにしており、これにより複数の端末装置２間で第２配信形態によってコンテンツを送受信することが可能となっている。
【０３４６】
以上のように、コンテンツ購入処理では、ユーザによるコンテンツの購入操作が行なわれると、全てのザッピング対策チャンネルのツリー状階層構造から脱退し、その後、第２配信形態でコンテンツデータを取得するようにしている。従って、第２配信形態でコンテンツデータを取得するときには、ザッピング対策チャンネルのツリー状階層構造から脱退するため、第２配信形態でのコンテンツデータの取得の際にザッピング対策チャンネルによる影響が無い。
【０３４７】
なお、全てのザッピング対策チャンネルのツリー状階層構造から脱退するのではなく、第２配信形態でコンテンツデータの取得に大きな影響を与えないような場合には、一部のみのザッピング対策チャンネルのツリー状階層構造から脱退するようにしてもよい。
【０３４８】
一部のみのザッピング対策チャンネルのツリー状階層構造から脱退する場合、制御部２３０は、視聴チャンネルの番号ごとに脱退するザッピング対策チャンネルを設定するようにしてもよい。
【０３４９】
例えば、制御部２３０は、チャンネル毎に視聴頻度を検出しておき、視聴頻度の低いチャンネルが視聴チャンネルの場合には、脱退するザッピング対策チャンネルの数を少なくし、視聴頻度の高いチャンネルが視聴チャンネルの場合には、脱退するザッピング対策チャンネルの数を増やすようにすることもできる。
【０３５０】
また、制御部２３０は、第２配信形態でのコンテンツデータの取得状況に応じて、脱退するザッピング対策チャンネルを設定するようにしてもよい。この場合、制御部２３０は、第２配信形態でのコンテンツデータの取得前に、一部のザッピング対策チャンネルから脱退し、その後、第２配信形態でのコンテンツデータの取得状況（例えば、第２配信形態でのコンテンツデータの受信速度など）に応じて、脱退するザッピング対策チャンネルを増減させる。例えば、第２配信形態でのコンテンツデータの受信速度が所定速度範囲内となるように、脱退するザッピング対策チャンネルを増減させるのである。
【０３５１】
次に、Ｓ２３２におけるコンテンツ検索処理について図３２を参照して具体的に説明する。
【０３５２】
まず、端末装置２の制御部２３０は、ステップＳ２３１において受信したコンテンツ検索メッセージからコンテンツＩＤを取得する（ステップＳ２９０）。
【０３５３】
次に、制御部２３０は、コンテンツ検索メッセージから取得したコンテンツＩＤがインデックステーブル２２２に存在するか否かを判定する（ステップＳ２９１）。
【０３５４】
この処理において、制御部２３０は、コンテンツ検索メッセージから取得したコンテンツＩＤがインデックステーブル２２２に存在すると判定すると（ステップＳ２９１：ＹＥＳ）、インデックステーブル２２２からコンテンツ保持端末装置の所在情報を取得し（ステップＳ２９２）、ステップＳ２９３の処理に移行する。
【０３５５】
ステップＳ２９３において、制御部２３０は、インデックステーブル２２２から取得したコンテンツ保持端末装置の所在情報をネットワーク６を介してリクエスト端末装置へ送信する。
【０３５６】
一方、ステップＳ２９１において、コンテンツ検索メッセージから取得したコンテンツＩＤがインデックステーブル２２２に存在しないと判定されると（ステップＳ２９１：ＮＯ）、制御部２３０は、ネットワーク６を介して次の端末装置へメッセージを転送する（ステップＳ２９４）。すなわち、制御部２３０は、ルーティングテーブル２２３に基づいて、コンテンツ検索メッセージをネットワーク６を介して他の端末装置２へ転送する。
【０３５７】
このように端末装置２のユーザは、コンテンツ配信装置から放送形態でストリーミング配信されるコンテンツを視聴中にチャンネルを切替えた場合であっても、切替え先チャンネルのコンテンツをザッピング対策用に受信しているため、切替え先のコンテンツデータをすぐに視聴することができる。しかも、第２配信形態であるＰ２Ｐグリッド型配信形態でコンテンツをダウンロードするときには、ザッピング対策チャンネルから脱退するようにしているため、第２配信形態によるコンテンツのダウロードのために通信帯域を確保することができる。
【０３５８】
また、本実施形態における端末装置２は、放送形態で配信されるコンテンツデータをリングバッファ領域に一時的にキャッシュしておき、購入するコンテンツデータがこのリングバッファ領域に蓄積されているときには、リングバッファ領域に蓄積されたコンテンツデータを購入することができる。
【０３５９】
従って、新たにＰ２Ｐグリッド型配信形態でコンテンツデータを取得するのに比べコンテンツデータの購入処理を短縮することができる。リングバッファ領域の容量を大きくすることによって、放送形態で配信されたコンテンツデータを多数キャッシュすることができるので、コンテンツデータを視聴した後にダウンロードすることが多いようなユーザに対してダウンロード時間の短縮効果が大きい。
【０３６０】
（接続管理装置３の処理フローの説明）
次に、接続管理装置３の更に具体的な動作について、図３３を参照して説明する。図３３は接続管理装置３における処理全体を示すフローチャートである。なお、以下の各処理は、接続管理装置３の制御部３３０が上述した各手段として機能することによって実行されるものである。
【０３６１】
接続管理装置３の電源がＯＮになると、接続管理装置３のＣＰＵ３０２は、主記憶装置３０５やハードディスク装置３０３のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム３１７〜３２０をＣＰＵ３０２による実行状態とし、制御部３３０としての機能を動作させた後（ステップＳ３００）、ステップＳ３０１に処理を移す。
【０３６２】
ステップＳ３０１において、制御部３３０は、端末装置２からの参加要求があるか否かを判定する。この処理において、制御部３３０は、端末装置２からの第１配信形態への参加要求がネットワーク６を介して受信されたか否かを判定することになる。また、端末装置２からの参加要求には、第１配信形態のうち端末装置２が参加したいチャンネル情報が含まれている。
【０３６３】
この処理において、制御部３３０は、端末装置２から第１配信形態への参加要求を受信したと判定すると（ステップＳ３０１：ＹＥＳ）、受信した参加要求に含まれる端末装置２の所在情報をハードディスク装置の端末管理データベース３１４へ登録する（ステップＳ３０２）。
【０３６４】
一方、ステップＳ３０１において、端末装置２から第１配信形態への参加要求を受信しなかったと判定すると（ステップＳ３０１：ＮＯ）、制御部３３０は、コンテンツ配信装置１からの登録要求を受信したか否かを判定する（ステップＳ３１０）。
【０３６５】
ステップＳ３１０において、コンテンツ配信装置１からの登録要求を受信したと判定すると（ステップＳ３１０：ＹＥＳ）、制御部３３０は、受信した登録要求に含まれるコンテンツ配信装置１の所在情報を端末管理データベース３１４へ登録する（ステップＳ３１１）。
【０３６６】
次に、制御部３３０は、新しいチャンネルの情報をトポロジーデータベース３１５に登録する。すなわち、トポロジーデータベース３１５に新しいチャンネルのトポロジーテーブルを生成するのである（ステップＳ３１２）。
【０３６７】
ステップＳ３１０において、コンテンツ配信装置１からの登録要求を受信していないと判定すると（ステップＳ３１０：ＮＯ）、制御部３３０は、端末装置２から接続先紹介要求をネットワーク６を介して受信したか否かを判定する（ステップＳ３２０）。
【０３６８】
ステップＳ３２０において、端末装置２から接続先紹介要求をネットワーク６を介して受信したと判定すると（ステップＳ３２０：ＹＥＳ）、制御部３３０は、トポロジーデータベース３１５から接続先紹介要求にかかるチャンネルに対する接続先候補となる端末装置２またはコンテンツ配信装置１を選択する（ステップＳ３２１）。
【０３６９】
接続管理装置３の制御部３３０は、このように選択した接続先候補を、接続先紹介要求を行った端末装置２へネットワーク６を介して返信して通知する（ステップＳ３２２）。
【０３７０】
ステップＳ３２０において、端末装置２から接続先紹介要求を受信していないと判定すると（ステップＳ３２０：ＮＯ）、制御部３３０は、端末装置２からトポロジー参加報告があったか否かを判定する（ステップＳ３３０）。端末装置２からトポロジー参加報告があったか否かは、端末装置２からネットワーク６を介してトポロジー参加報告を受信したか否かにより判定する。
【０３７１】
ステップＳ３３０において、端末装置２からトポロジー参加報告があったと判定すると（ステップＳ３３０：ＹＥＳ）、制御部３３０は、このトポロジー参加報告に含まれる端末装置２の所在情報を取り出し、トポロジーデータベース３１５の更新処理を行う（ステップＳ３３１）。すなわち、制御部３３０は、トポロジーの変動をトポロジーデータベース３１５へ登録する。
【０３７２】
ステップＳ３０２，Ｓ３１２，Ｓ３２２，Ｓ３３１の処理が終了したとき、或いはステップＳ３３０において端末装置２からトポロジー参加報告がないと判定したとき（ステップＳ３３０：ＮＯ）、制御部３３０は、接続管理装置３のサービス終了の操作が行われたか否かを判定する（ステップＳ３４０）。サービスの終了操作が行われていないと判定すると（Ｓ３４０：ＮＯ）、ステップＳ３０１からの処理を繰り返し、接続管理装置３のサービス終了の操作が行われたと判定すると（Ｓ３４０：ＹＥＳ）、処理を終了する。
【０３７３】
（コンテンツ投入装置４の処理フローの説明）
次に、コンテンツ投入装置４の更に具体的な動作について、図３４を参照して説明する。図３４はコンテンツ投入装置４における処理全体を示すフローチャートである。なお、以下の各処理は、コンテンツ投入装置４の制御部４３０が上述した手段等として機能することによって実行されるものである。
【０３７４】
コンテンツ投入装置４の電源がＯＮになると、コンテンツ投入装置４のＣＰＵ４０２は、主記憶装置４０５やハードディスク装置４０３のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム４１７〜４１９をＣＰＵ４０２による実行状態とし、制御部４３０としての機能を動作させた後（ステップＳ４００）、ステップＳ４０１に処理を移す。
【０３７５】
ステップＳ４０１において、制御部４３０は、コンテンツ投入指示があるか否かを判定する（ステップＳ４０１）。ここで、コンテンツ投入指示があるか否かは、制御部４３０は、キーボード４０７やマウス４０８等の入力手段からのコンテンツ投入の操作がなされたか否か、或いは後述するステップＳ４１０においてコンテンツ配信装置１からコンテンツデータの送信要求があったか否かにより判断される。このコンテンツ投入指示は、コンテンツの名称によってコンテンツデータを特定して行われるものである。
【０３７６】
この処理において、コンテンツ投入指示があると判定されると（ステップＳ４０１：ＹＥＳ）、制御部４３０は、コンテンツ投入指示によって特定されたコンテンツデータに対応するコンテンツＩＤをハードディスク装置４０３に記憶した管理テーブルに記憶した後（ステップＳ４０２）、ステップＳ４０３に処理を移す。この管理テーブルは、ハードディスク装置４０３に記憶している複数のコンテンツデータとコンテンツＩＤとが関連付けて記憶され、更に、ハードディスク装置４０３に記憶しているコンテンツデータそれぞれについて、コンテンツ配信装置１やコンテンツ保持端末装置へ投入したものであるか否かのフラグが各コンテンツに関連付けて記憶されるものである。なお、フラグには、未投入フラグ（フラグの値が「０」）と投入済フラグ（フラグの値が「１」）とがある。
【０３７７】
ステップＳ４０３において、制御部４３０は、識別情報リストを更新し、ステップＳ４０４に処理を移す。この識別情報リストの更新は、コンテンツ投入指示によって特定されたコンテンツデータに対応するコンテンツＩＤ及びコンテンツの名称とを、ハードディスク装置４０３に記憶した識別情報リストに追加記憶することによって行う。
【０３７８】
ステップＳ４０４において、制御部４３０は、コンテンツ投入指示によって特定されたコンテンツデータを第２配信形態によって配信可能とするために、コンテンツ投入指示によって特定されたコンテンツデータのコンテンツ保持端末装置となる端末装置２をランダムに１以上決定する。このように決定した端末装置２に対して、制御部４３０は、コンテンツ投入指示によって特定されたコンテンツデータをネットワーク６を介して送信する。
【０３７９】
一方、ステップＳ４０１において、コンテンツ投入指示がないと判定されると（ステップＳ４０１：ＮＯ）、制御部４３０は、コンテンツ配信装置１からコンテンツデータの送信要求があったか否かを判定する。コンテンツデータの送信要求には、コンテンツの名称などによってコンテンツデータを特定して行われるものである。
【０３８０】
この処理において、コンテンツ配信装置１からコンテンツデータの送信要求があったと判定されると（ステップＳ４１０：ＹＥＳ）、制御部４３０は、コンテンツデータの送信要求に対応するコンテンツデータをハードディスク装置４０３から取り出し、ネットワーク６を介してコンテンツ配信装置１へ送信する（ステップＳ４１１）。
【０３８１】
また、ステップＳ４１０において、コンテンツ配信装置１からコンテンツデータの送信要求がないと判定されると（ステップＳ４１０：ＮＯ）、制御部４３０は、端末装置２から識別情報リストの送信要求があったか否かを判定する（ステップＳ４２０）。
【０３８２】
この処理において、端末装置２から識別情報リストの送信要求があったと判定すると（ステップＳ４２０：ＹＥＳ）、制御部４３０は、ハードディスク装置４０３に記憶している識別情報リストを取り出す。制御部４３０は、この識別情報リストを、ネットワーク６を介して識別情報リストの送信要求を行った端末装置へ送信する（ステップＳ４２１）。
【０３８３】
ステップＳ４０４，Ｓ４１１，Ｓ４２１の処理が終了したとき、或いはステップＳ４２０において端末装置２からトポロジー参加報告がないと判定したとき（ステップＳ４２０：ＮＯ）、制御部４３０は、コンテンツ投入装置４のサービス終了の操作が行われたか否かを判定する（ステップＳ４３０）。サービスの終了操作が行われていないと判定すると（Ｓ４３０：ＮＯ）、ステップＳ４０１からの処理を繰り返し、コンテンツ投入装置４のサービス終了の操作が行われたと判定すると（Ｓ４３０：ＹＥＳ）、処理を終了する。
【０３８４】
以上のように、コンテンツ投入装置４は、第１配信形態におけるコンテンツ配信装置１と第２配信形態における端末装置２とに対してコンテンツデータを送信して投入するようにしており、コンテンツ投入装置４によってコンテンツ配信システムＳにおける第１配信形態と第２配信形態へ投入するコンテンツデータを管理することができる。また、識別情報リストを生成及び更新し、端末装置２からの要求に応じて送信するようにしており、これにより端末装置２は、第１配信形態で配信されるコンテンツデータを、第２配信形態での取得を容易にしている。
【０３８５】
また、コンテンツ投入装置４は、コンテンツ配信装置１によってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを記憶することができるので、放送形態で直接配信されるコンテンツデータ以外のコンテンツデータをＰ２Ｐグリッド型配信形態で取得することができる。例えば、コンテンツデータが音楽コンテンツの場合には、過去に視聴した音楽コンテンツをＰ２Ｐグリッド型配信形態で取得することが可能となる。
【０３８６】
（コンタクト先紹介装置５の処理フローの説明）
次に、コンタクト先紹介装置５の更に具体的な動作について、図３５を参照して説明する。図３５はコンタクト先紹介装置５における処理全体を示すフローチャートである。なお、以下の各処理は、コンタクト先紹介装置５の制御部５３０が上述した手段等として機能することによって実行されるものである。
【０３８７】
コンタクト先紹介装置５の電源がＯＮになると、コンタクト先紹介装置５のＣＰＵ５０２は、主記憶装置５０５やハードディスク装置５０３のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム５１７〜５１９をＣＰＵ５０２による実行状態とし、制御部５３０としての機能を動作させた後（ステップＳ５００）、ステップＳ５０１に処理を移す。
【０３８８】
ステップＳ５０１において、制御部４３０は、コンタクト先紹介要求があるか否かを判定する（ステップＳ５０１）。ここで、コンタクト先紹介要求があるか否かは、制御部５３０が端末装置から送信されるコンタクト先紹介要求をネットワーク６を介して受信したか否かによって判断される。
【０３８９】
この処理において、コンタクト先紹介要求があると判定されると（ステップＳ５０１：ＹＥＳ）、制御部５３０は、コンタクト先紹介要求を行った端末装置に対して、第２配信形態におけるコンタクト先候補を返信する（ステップＳ５０２）。
【０３９０】
ステップＳ５０２の処理が終了したとき、或いはステップＳ５０１においてコンタクト先紹介要求がないと判定したとき（ステップＳ５０１：ＮＯ）、制御部５３０は、コンタクト先紹介装置５のサービス終了の操作が行われたか否かを判定する（ステップＳ５０３）。サービスの終了操作が行われていないと判定すると（Ｓ５０３：ＮＯ）、ステップＳ５０１からの処理を繰り返し、コンタクト先紹介装置５のサービス終了の操作が行われたと判定すると（Ｓ５０３：ＹＥＳ）、処理を終了する。
【０３９１】
［８．変形例１］
上記実施形態においては、識別情報リストの端末装置２への送信をコンテンツ投入装置４から行うようにしたが、本変形例１では、以下に述べる構成を上記実施形態に付加することによってコンテンツ配信装置１から送信する。なお、コンテンツ投入装置４は、識別情報リストを生成及び更新せず、又端末装置２はコンテンツ投入装置４に対して識別リストの送信要求を行わない。
【０３９２】
コンテンツ配信装置１の制御部１３０は、コンテンツデータの識別情報を第１配信形態を用いて送信する。コンテンツデータの識別情報の送信は、そのコンテンツデータに含ませて送信するようにしてもよく、又コンテンツデータとは別に送信するようにしてもよい。この処理は、コンテンツ管理プログラム１２１をＣＰＵ１０２が主記憶装置１０５から読み出して実行されることにより、識別情報送信手段として機能するものである。すなわち、識別情報送信手段は、配信手段によってストリーミング配信するコンテンツデータの識別情報を送信するのである。
【０３９３】
また、端末装置２は、コンテンツ配信装置１から送信されるコンテンツデータの識別情報を用いて、ダウンロード要求されたコンテンツデータの識別情報を取得する。この処理は、コンテンツ購入プログラム２２１を主記憶装置２０５からＣＰＵ２０２が読み出して実行することにより、識別情報受信手段として機能するものである。すなわち、識別情報受信手段は、コンテンツ配信装置１から送信されるコンテンツデータの識別情報を受信するのである。そして、識別情報取得手段は、識別情報受信手段によって受信したコンテンツデータの識別情報からダウンロード要求されたコンテンツデータの識別情報を取得する。
【０３９４】
このように、Ｐ２Ｐグリッド型配信形態においてコンテンツデータをダウンロードするために必要なコンテンツデータの識別情報がコンテンツ配信装置１から端末装置２へ送信される。従って、端末装置２では、ダウンロードするコンテンツデータの識別情報をコンテンツ投入装置４などに要求して取得する必要がないため、コンテンツ投入装置における処理を軽減することができる。また、コンテンツデータの識別情報をストリーミング配信するコンテンツパケットのヘッダに含ませてコンテンツ配信装置から送信するようにすることもできる。
【０３９５】
［９．変形例２］
上記実施形態においては、ルート端末装置がリクエスト端末装置に対してコンテンツデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得するものであったが、ルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するようにしてもよい。
【０３９６】
この場合、図３６に示すように、ルート端末装置２Ｚは、リクエスト端末装置２Ｘから要求されたコンテンツデータを保持するコンテンツ保持端末装置２Ｙの所在情報をインデックステーブル２２２から取り出す。そして、当該コンテンツ保持端末装置２Ｙの所在情報に基づいて、リクエスト端末装置２Ｘの所在情報を含めたコンテンツデータの送信要求をコンテンツ保持端末装置２Ｙへ送信する。コンテンツ保持端末装置２Ｙは、コンテンツデータの送信要求を受信すると、このコンテンツデータの送信要求に含まれるリクエスト端末装置２Ｘの所在情報に対して、コンテンツデータの送信要求に対応するコンテンツデータを送信することになる。
【０３９７】
すなわち、端末装置２の制御部２３０は、リクエスト端末装置２Ｘからコンテンツ検索メッセージをルート端末装置２Ｚとして受信したとき、コンテンツ保持端末装置情報返信手段の機能に代えて、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置２Ｙの所在情報を宛先として、リクエスト端末装置２Ｘの所在情報を含めたコンテンツデータの送信要求を送信するコンテンツデータ送信要求手段として機能する。
【０３９８】
なお、リクエスト端末装置２Ｘは、ダウンロード先検索手段によって検索メッセージを送信し、ダウンロードデータ受信手段は、この検索メッセージに応じたコンテンツデータをコンテンツ保持端末装置２Ｙから受信する。
【０３９９】
このようにルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するように第２配信形態を構成することも可能である。
【０４００】
［１０．その他の変形例］
上記実施形態においては、各端末装置２は、コンテンツ配信システムＳに参加する場合、第１配信形態に参加すると同時に、第２配信形態にも参加するようにしたが、端末装置２のユーザからダウンロード要求があったときに、第２配信形態に参加するようにしてもよい。第１配信形態に参加すると同時に、第２配信形態にも参加するようにした場合、第２配信形態に参加する端末装置２の数を増加させることができ、第２配信形態におけるコンテンツ配信を安定させて動作することができるが、端末装置２のユーザからダウンロード要求があったときに、第２配信形態に参加するようにすれば、端末装置２や第２配信形態における負荷を低減することができる。
【０４０１】
また、第１配信形態の放送形態としてツリー状階層構造を例にして説明したが、これに限られず、サーバ−クライアント型の放送形態でもよい。
【０４０２】
また、第２配信形態として、Ｐａｓｔｒｙ型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるｋａｄｅｍｌｉａ型、ｃｈｏｒｄ型、Ｖｉｃｅｒｏｙ型、ＣＡＮ型などのコンテンツ配信システムにも本発明を適用可能である。
【図面の簡単な説明】
【０４０３】
【図１】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図２】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図３】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図４】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図５】本実施形態に係るコンテンツ配信システムの第１配信形態の配信動作説明図である。
【図６】図１の端末装置におけるリングバッファ領域の機能を概念的に表した図である。
【図７】本実施形態に係るコンテンツ配信システムの第２配信形態の配信動作説明図である。
【図８】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図９】図１の端末装置におけるルーティングテーブルの一例を示す図である。
【図１０】端末装置が第２配信形態へ参加する様子の一例を示す図である。
【図１１】ＤＨＴルーティングによりコンテンツデータを保持している端末装置２が検索される様子の一例を示す図である。
【図１２】ＤＨＴルーティングによりコンテンツデータが端末装置に保持される様子の一例を示す図である。
【図１３】ＤＨＴルーティングにより登録メッセージがルート端末装置に送信される一例を示す図である。
【図１４】図１の端末装置におけるインデックステーブルの一例を示す図である。
【図１５】第１配信形態における端末装置の表示画面の一例を示す図である。
【図１６】第２配信形態における端末装置の表示画面の一例を示す図である。
【図１７】図１のコンテンツ配信装置の概略構成例を示す図である。
【図１８】図１の端末装置の概略構成例を示す図である。
【図１９】図１の接続先管理装置の概略構成例を示す図である。
【図２０】図１のコンテンツ投入装置の概略構成例を示す図である。
【図２１】図１のコンタクト先紹介装置の概略構成例を示す図である。
【図２２】図１のコンテンツ配信装置における処理全体を示すフローチャートである。
【図２３】図１の端末装置における処理全体を示すフローチャートである。
【図２４】図１の端末装置における処理全体を示すフローチャートである。
【図２５】図１の端末装置における処理全体を示すフローチャートである。
【図２６】図１の端末装置における初期チャンネル設定処理を示すフローチャートである。
【図２７】図１の端末装置におけるチャンネル変更処理を示すフローチャートである。
【図２８】図１の端末装置におけるチャンネル変更処理を示すフローチャートである。
【図２９】図１の端末装置における投入コンテンツ受信処理を示すフローチャートである。
【図３０】図１の端末装置におけるコンテンツ購入処理を示すフローチャートである。
【図３１】図１の端末装置における第２配信形態への参加処理を示すフローチャートである。
【図３２】図１の端末装置におけるコンテンツ検索処理を示すフローチャートである。
【図３３】図１の接続管理装置における処理全体を示すフローチャートである。
【図３４】図１のコンテンツ投入装置における処理全体を示すフローチャートである。
【図３５】図１のコンタクト先紹介装置における処理全体を示すフローチャートである。
【図３６】変形例２におけるコンテンツ配信システムの概要動作例を示す図である。
【符号の説明】
【０４０４】
Ｓ  コンテンツ配信システム
１  コンテンツ配信装置
２  端末装置
３  接続管理装置
４  コンテンツ投入装置
５  コンタクト先紹介装置
６  ネットワーク
１３０，２３０，３３０，４３０，５３０  制御部
【図１】
0004635966.tif 000002
【図２】
0004635966.tif 000003
【図３】
0004635966.tif 000004
【図４】
0004635966.tif 000005
【図５】
0004635966.tif 000006
【図６】
0004635966.tif 000007
【図７】
0004635966.tif 000008
【図８】
0004635966.tif 000009
【図９】
0004635966.tif 000010
【図１０】
0004635966.tif 000011
【図１１】
0004635966.tif 000012
【図１２】
0004635966.tif 000013
【図１３】
0004635966.tif 000014
【図１４】
0004635966.tif 000015
【図１５】
0004635966.tif 000016
【図１６】
0004635966.tif 000017
【図１７】
0004635966.tif 000018
【図１８】
0004635966.tif 000019
【図１９】
0004635966.tif 000020
【図２０】
0004635966.tif 000021
【図２１】
0004635966.tif 000022
【図２２】
0004635966.tif 000023
【図２３】
0004635966.tif 000024
【図２４】
0004635966.tif 000025
【図２５】
0004635966.tif 000026
【図２６】
0004635966.tif 000027
【図２７】
0004635966.tif 000028
【図２８】
0004635966.tif 000029
【図２９】
0004635966.tif 000030
【図３０】
0004635966.tif 000031
【図３１】
0004635966.tif 000032
【図３２】
0004635966.tif 000033
【図３３】
0004635966.tif 000034
【図３４】
0004635966.tif 000035
【図３５】
0004635966.tif 000036
【図３６】
0004635966.tif 000037