(57)【要約】【課題】ザッピング対策のために視聴しているチャンネル以外のチャンネルに接続したときであっても、端末装置２における他の通信への影響を抑えることができるコンテンツ配信システム及び方法等を提供すること。【解決手段】コンテンツ配信システムは、コンテンツ配信装置１から端末装置２にコンテンツデータを放送形態にてストリーミング配信する第１配信形態と、複数の端末装置２間において、コンテンツデータを送受信する第２配信形態とを有している。端末装置２のユーザが第１配信形態によりコンテンツ配信装置１から放送されるコンテンツデータを視聴する際に視聴用チャンネルのほかザッピング対策チャンネルにも接続する。この状態で、第２配信形態で端末装置２がコンテンツデータのダウンロードを行うとき、或いは、他の端末装置２へアップロードを行うときに、第２配信形態で用いるリソースの使用状態に応じて、ザッピング対策チャンネルを切断する。【選択図】図４
2008085678.tif 000002
【特許請求の範囲】
【請求項１】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムであって、
前記コンテンツ配信装置は、
前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、
前記接続管理装置は、
前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と
前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続処理手段と、
前記第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第２配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段と、
を備えるコンテンツ配信システム。
【請求項２】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続処理手段と、
前記第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第２配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段と、
を備える端末装置。
【請求項３】
前記端末装置は、
前記第２配信形態に用いるリソースの使用量を検出するリソース使用量検出手段と、
前記リソース使用量検出手段による検出結果に基づいて、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定するリソース不足判定手段と、
前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していると判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する
ことを特徴とする請求項２に記載の端末装置。
【請求項４】
前記リソース不足判定手段は、前記リソースが不足しているときに、前記リソースの不足量を判定し、
前記切断処理手段は、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数あるときに、これらのチャンネルのうち、前記リソースの不足量に応じた数のチャンネルに関する前記接続先装置との接続を切断する
ことを特徴とする請求項３に記載の端末装置。
【請求項５】
前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していないと判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先装置との接続の切断を行わない
ことを特徴とする請求項３又は請求項４に記載の端末装置。
【請求項６】
前記端末装置は、
前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、
前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、
前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記接続状態にあるチャンネルの前記接続先候補との接続を前記切断処理手段によって切断せず、前記第２配信形態によって前記コンテンツデータのダウンロードを行わない
ことを特徴とする請求項２から５のいずれか１項に記載の端末装置。
【請求項７】
前記リソースは 、前記端末装置におけるＣＰＵの処理能力、メモリの容量及び前記ネットワークとの通信の帯域のうちの少なくともいずれか一つである
ことを特徴とする請求項２から６いずれか１項に記載の端末装置。
【請求項８】
前記第２配信形態によるコンテンツデータのダウンロード又はアップロードが完了すると、前記切断処理手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続処理手段を備えたことを特徴とする請求項２から７のいずれか１項に記載の端末装置。
【請求項９】
コンピュータを、請求項２〜８のいずれか１項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項１０】
複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、
前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、
前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、
前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続先紹介要求毎に、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、
前記接続管理装置が、前記接続先紹介要求毎に、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、
前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加するステップと、
前記端末装置が、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第２配信形態に用いるリソースの使用状態に応じて、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断するステップと、
を有するコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ配信の技術に関する。詳細には、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置が階層構造で多層に論理接続され、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流に中継され、複数の端末装置によってコンテンツデータを再生可能としたコンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラムに関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ（以下、「コンテンツデータ」と呼ぶ。）のストリーミング配信を行うコンテンツ配信サービスが開始されてきている。ここで、ストリーミング配信とは、クライアント端末装置（以下、単に「端末装置」と呼ぶ。）がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
【０００３】
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であったが、近年、端末装置間でのコンテンツデータの中継、すなわちＰ２Ｐ通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツ配信システムが提案されている（例えば、特許文献１参照）。
【０００４】
このコンテンツ配信システムは、コンテンツ配信装置を頂点としたツリー状階層構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
【０００５】
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層（第１階層）に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第２階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下層に位置する端末装置へ配信するまで行うものである。
【０００６】
ところで、このコンテンツ配信システムにおいて、複数の放送チャンネル（以下、単に「チャンネル」とも呼ぶ。）によりコンテンツデータをストリーミング配信する場合、コンテンツ配信装置を頂点としたツリー状階層構造は、チャンネル毎に構成されることになる。
【０００７】
従って、端末装置のユーザが、視聴しているチャンネルとは異なるチャンネルのコンテンツデータを視聴するためにチャンネルを切替える操作を行った場合、視聴しているチャンネルに対応するツリー状階層構造とは異なるツリー状階層構造に参加することになる。
【０００８】
しかしながら、端末装置のユーザが視聴するチャンネルを切替えたとき、切替先のチャンネルのツリー状階層構造に参加するためには多くの時間を要する。
【０００９】
すなわち、ユーザがチャンネルを切替える操作を行った場合、端末装置は、接続管理装置に対して新たな階層構造における接続先となる他の端末装置を紹介してもらう処理や、ＮＡＴ（Network Address Translation）を越える処理を行う必要があり、これらの処理が終了するまで新たな階層構造に参加することができず、ユーザがチャンネルを切替える操作を行っても、即座に接続先を切替えることができないのである。
【００１０】
このようなユーザによるチャンネル切替え（以下、「ザッピング」とも呼ぶ）の問題に対処する方法として、コンテンツデータに他のチャンネルに関する要約データ（対策用のコンテンツデータ）を重畳して配信しておくことにより、ユーザによるチャンネル切替操作から端末装置が新たな他の端末装置に接続するまでの時間を短縮させる情報閲覧方法を用いたコンテンツ配信システムが提案されている（たとえば、特許文献２参照。）。
【特許文献１】特開２００６−０３３５１４号公報
【特許文献２】特開２００３−３２４７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、視聴しているチャンネルのコンテンツデータとザッピング対策用の他のチャンネルのコンテンツデータとを端末装置において同時に受信することになるため、端末装置においてネットワークを介して他の装置との通信を行う場合には、当該他の装置との通信に利用するリソースを十分に確保することができない恐れがある。
【００１２】
すなわち、ツリー状階層構造を有するコンテンツ配信システムに参加すると、視聴していないコンテンツデータまでも受信することになり、端末装置のＣＰＵの処理能力、メモリの容量、或いはネットワークとの通信の帯域などのリソースに不足が生じ、結果的に端末装置におけるコンテンツデータの送受信処理を十分に行うことができなくなる恐れがある。
【００１３】
本発明は、以上の不都合に鑑みてなされたものであり、視聴していないチャンネルのコンテンツデータをザッピング対策のために受信するようにした場合であっても、端末装置における他の通信への影響を抑えることができるコンテンツ配信システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、請求項１に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムであって、前記コンテンツ配信装置は、前記ネットワークを介して前記コンテンツデータをストリーミング配信する配信手段を備え、前記接続管理装置は、前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記接続態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を備え、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続処理手段と、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第２配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段とを備えることを特徴とする。
【００１５】
また、請求項２に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおける前記端末装置であって、前記端末装置は、前記チャンネルを選択するためのチャンネル選択手段と、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記接続管理装置へ送信し、その後、前記接続管理装置から前記チャンネル毎に通知された前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加する接続処理手段と、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第２配信形態に用いるリソースの使用状態に応じて、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断する切断処理手段とを備えることを特徴とする。
【００１６】
また、請求項３に記載の発明は、請求項２に記載の発明において、前記端末装置は、前記第２配信形態に用いるリソースの使用量を検出するリソース使用量検出手段と、前記リソース使用量検出手段による検出結果に基づいて、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定するリソース不足判定手段と、前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していると判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先候補との接続を切断することを特徴とする。
【００１７】
また、請求項４に記載の発明は、請求項１から３のいずれか１項に記載の発明において、前記リソース不足判定手段は、前記リソースが不足しているときに、前記リソースの不足量を判定し、前記切断処理手段は、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルが複数あるときに、これらのチャンネルのうち、前記リソースの不足量に応じた数のチャンネルに関する接続先装置との接続を切断することを特徴とする。
【００１８】
また、請求項５に記載の発明は、請求項４に記載の発明において、前記切断処理手段は、前記リソース不足判定手段によって前記リソースが不足していないと判定されたとき、前記チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する前記接続先装置との接続の切断を行わないことを特徴とする。
【００１９】
また、請求項６に記載の発明は、請求項３又は請求項４に記載の発明において、前記端末装置は、前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記第２配信形態によるコンテンツデータのダウンロード要求の操作を検出するダウンロード操作検出手段と、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されているか否かを判定する判定手段を有し、前記判定手段によって、前記ダウンロード要求されたコンテンツデータが前記コンテンツデータ記憶手段に記憶されていると判定すると、前記接続状態にあるチャンネルの前記接続先候補との接続を前記切断処理手段によって切断せず、前記第２配信形態によって前記コンテンツデータのダウンロードを行わないことを特徴とする。
【００２０】
また、請求項７に記載の発明は、請求項２から６のいずれか１項に記載の発明において、前記リソースは、前記端末装置におけるＣＰＵの処理能力、メモリの容量及び前記ネットワークとの通信帯域のうちの少なくともいずれか一つであることを特徴とする。
【００２１】
また、請求項８に記載の発明は、請求項２から７のいずれか１項に記載の発明において、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードが完了すると、前記切断処理手段によって切断したチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に再接続する再接続処理手段を備えたことを特徴とする。
【００２２】
また、請求項９に記載の発明は、コンピュータを、請求項２〜８のいずれか１項に記載の端末装置における各手段として機能させるためのプログラムとした。
【００２３】
また、請求項１０に記載の発明は、複数のチャンネルでそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に前記チャンネル毎に階層構造で多層に論理接続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記チャンネル毎に前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される第１配信形態と、前記複数の端末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記コンテンツデータを配信する第２配信形態とを有するコンテンツ配信システムにおけるコンテンツ配信方法であって、前記配信装置が、前記コンテンツデータをストリーミング配信するステップと、前記接続管理装置が、前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、前記端末装置が、前記チャンネルを選択するためのチャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求と当該チャンネルと所定の関係を有するチャンネルに関する前記接続先紹介要求とを前記ネットワークを介して前記接続管理装置に送信するステップと、前記接続管理装置が、前記ネットワークを介して前記端末装置から前記接続先紹介要求を受信したとき、前記接続先紹介要求毎に、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択するステップと、前記接続管理装置が、前記接続先紹介要求毎に、前記選択した接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットワークを介して通知するステップと、前記端末装置が、前記接続管理装置から通知された前記チャンネル毎の前記接続先候補にそれぞれ接続して複数のチャンネルで前記第１配信形態に参加するステップと、前記端末装置が、前記第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、前記第２配信形態に用いるリソースの使用状態に応じて、前記接続状態にあるチャンネルのうち、前記選択されたチャンネルと所定の関係を有するチャンネルに関する接続先装置との接続を切断するステップとを有することを特徴とする。
【発明の効果】
【００２４】
請求項１，２，９，１０に記載の発明によれば、第１配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後、グリッド型接続などの第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第２配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退するようにしているので、端末装置のリソースを効率的に使用することができ、第１配信形態と第２配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【００２５】
また、請求項３に記載の発明によれば、第２配信形態に用いるリソースの使用量を検出し、その検出結果に基づいて、第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足していると判定されたとき、ザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、従来であれば第２配信形態に用いるリソースが不足するようなときであっても、第１配信形態と第２配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【００２６】
また、請求項４に記載の発明によれば、第２配信形態に用いるリソースが不足しているときに、その不足量に応じた数のザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、ザッピング対策チャンネルの階層構造からの脱退を必要最小限で行うことができ、効率的に第１配信形態と第２配信形態との両立を図ることができる。
【００２７】
また、請求項５に記載の発明によれば、第２配信形態に用いるリソースの使用量を検出し、その検出結果に基づいて、第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足していないと判定されたとき、ザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのダウンロード処理やアップロード処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、第２配信形態に用いるリソースが不足しないようなときには、ザッピング対策チャンネルの階層構造は保持されたままであり、再接続の煩雑さを回避することができる。
【００２８】
また、請求項６に記載の発明によれば、購入するコンテンツデータがすでにコンテンツデータ記憶手段に蓄積されているときには、コンテンツデータ記憶手段に記憶されたコンテンツデータを使用する。従って、新たに第２配信形態でコンテンツデータを取得するのに比べダウンロード処理を短縮することができる。たとえば、端末装置がコンテンツ保持端末装置であった場合、コンテンツ保持端末装置に対応するコンテンツデータをダウンロードする場合には、自端末装置に記憶しているコンテンツデータを用いることができる。
【００２９】
また、請求項７に記載の発明によれば、リソースは 、端末装置におけるＣＰＵの処理能力、メモリの容量及びネットワークとの通信の帯域のうちの少なくともいずれか一つであり、これらは第１配信形態と第２配信形態とで共通に用いるものであり、ＣＰＵ、メモリ及び通信帯域の使用率に応じてザッピング対策チャンネルからの脱退処理を行うことにより、第２配信形態でのダウンロードやアップロードの阻害要因を低減することができる。
【００３０】
また、請求項８に記載の発明によれば、第２配信形態でのダウンロード処理やアップロード処理が終了したら、第２配信形態でのダウンロード処理やアップロード処理を行うために脱退したザッピング対策チャンネルの階層構造に自動的に再接続（再参加）するので、第２配信形態でのダウンロード処理やアップロード処理を行う前の状態に自動的に戻り、ザッピング対策を行うことができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとしたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【００３２】
［１．コンテンツ配信システムの構成等］
図１は、本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。図１に示す物理接続形態のように、コンテンツ配信システムＳを構成するコンテンツ配信装置１、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８、接続管理装置３、コンテンツ投入装置４、コンタクト先紹介装置５は、インターネットに代表されるネットワーク６上に分散配置されている。なお、コンテンツ配信システムＳに直接関係ない装置もネットワーク６に接続されるが、ここでは省略している。また、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８のいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置２という場合がある。
【００３３】
コンテンツ配信装置１、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８、接続管理装置３、コンテンツ投入装置４、コンタクト先紹介装置５には、各装置を識別する情報としての固有の製造番号（たとえば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレス（所在情報）が割り当てられており、これら装置は、ネットワークの一例としてのネットワーク６にルータ１０等を介して接続されている。すなわち、目的の接続先装置のＩＰアドレスを宛先ＩＰアドレス、自装置のＩＰアドレスを送信元ＩＰアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
【００３４】
図１に示す例では、コンテンツ配信装置１、接続管理装置３、コンテンツ投入装置４、コンタクト先紹介装置５は、それぞれ独立した装置としているが、一つの装置においてこれらの装置の機能を実現するようにしてもよい。この場合にはこれらの装置のＩＰアドレスは同一のものとなり、ポート番号などで区別されることになる。
【００３５】
本実施形態におけるコンテンツ配信システムは、複数の放送チャンネル（以下、単に「チャンネル」と呼ぶ。）でそれぞれコンテンツデータをストリーミング配信するコンテンツ配信装置１を頂点として複数の端末装置２がネットワーク上にチャンネル毎に階層構造で多層に論理接続されるように接続管理装置３によって管理され、コンテンツ配信装置１から送信されるコンテンツデータがチャンネル毎に階層構造の上流の端末装置２から下流の端末装置２にかけて順次端末装置２の中継機能によってストリーミング配信される第１配信形態と、複数の端末装置２間において、一つの端末装置２からのコンテンツデータのダウンロード要求に基づいてコンテンツデータを保持する他の端末装置２がコンテンツデータを配信する第２配信形態とを有している。なお、コンテンツ配信装置１は、複数のチャンネルのコンテンツデータを配信する機能を有することとして以下説明するが、コンテンツ配信装置１をチャンネル毎に設けてもよい。
【００３６】
そして、端末装置２のユーザが第１配信形態によりコンテンツ配信装置１からのコンテンツデータを視聴するときには、当該端末装置２は、視聴対象のチャンネル（以下、「視聴用チャンネル」と呼ぶ。ここでは、チャンネルｃｈ１〜ｃｈＮのＮ個のチャンネルがあるものとする。）の階層構造に参加するとともに、視聴用チャンネル以外のチャンネルであって、視聴用チャンネルと所定の関係を有するチャンネル（以下、「ザッピング対策チャンネル」と呼ぶ。）の階層構造にも参加するようにしている。
【００３７】
従って、端末装置２のユーザによる視聴用チャンネルの切替え操作（以下、「ザッピング」と呼ぶ。）が行なわれた場合に、ザッピング対策チャンネルによって、ユーザによるチャンネル切替操作から新たなチャンネルのコンテンツデータを視聴できるまでの時間を短縮させることができる。なお、本実施形態においては、説明の便宜上ザッピング対策チャンネルを２つのチャンネル（第１ザッピング対策チャンネルＢ及び第２ザッピング対策チャンネルＣ）とする。
【００３８】
図２には、端末装置２Ｘが第１配信形態における視聴用チャンネルであるチャンネルＡの階層構造に加えて、第１ザッピング対策チャンネルＢの階層構造及び第２ザッピング対策チャンネルＣの階層構造に参加している状態を模式的に示している。ここで、チャンネルの階層構造に参加するとは、チャンネルの階層構造を構成する端末装置（接続先装置）に接続することを意味し、チャンネルに接続という場合がある。
【００３９】
このように端末装置２Ｘが視聴用チャンネルＡ、第１ザッピング対策チャンネルＢ及び第２ザッピング対策チャンネルＣに接続している状態で、端末装置２Ｘのユーザが第２配信形態によってコンテンツデータを取得するための操作を行うと、端末装置２Ｘは、所定の条件下、ザッピング対策チャンネルとの接続を切断し、第２ザッピング対策チャンネルの階層構造から脱退する。図３に示す例では、２つのザッピング対策チャンネルの階層構造のうち、第２ザッピング対策チャンネルＣの階層構造のみからの脱退が行われているが、脱退するザッピング対策チャンネルの数は、後述で詳説するように、第２配信形態に用いる端末装置２Ｘのリソースの使用状態に応じて変動させている。ここで、チャンネルの階層構造から脱退するとは、チャンネルの階層構造を構成する接続先装置との接続を切断することを意味する。
【００４０】
その後、端末装置２Ｘは、図４に示すように、コンテンツ検索メッセージを送信して、ルート端末装置２Ｚからコンテンツ保持端末装置２Ｙの所在情報を取得する。その後、端末装置２Ｘは、コンテンツ保持端末装置２Ｙに対してコンテンツデータの送信要求を行い、第２配信形態によってコンテンツデータを取得する。
【００４１】
第２配信形態によるコンテンツデータ受信が完了すると、端末装置２Ｘは、第２配信形態によってコンテンツデータを取得する際に脱退した第２ザッピング対策チャンネルＣの階層構造に再接続することによって脱退したザッピング対策チャンネルの階層構造に再参加する。
【００４２】
また、端末装置Ｘは、第２配信形態において配信するコンテンツデータを保持しており、かつ視聴用チャンネルＡ、第１ザッピング対策チャンネルＢ及び第２ザッピング対策チャンネルＣに接続している状態で、第２配信形態に参加している他の端末装置２から保持しているコンテンツデータのダウンロード要求があると、所定の条件下、ザッピング対策チャンネルに関する接続先装置との接続を切断し、ザッピング対策チャンネルの階層構造から脱退して、その他の端末装置に対してコンテンツデータをアップロードする。第２配信形態によるコンテンツデータのアップロードが完了すると、端末装置２Ｘは、第２配信形態によってコンテンツデータをアップロードする際に脱退したザッピング対策チャンネルに再接続することによって脱退したザッピング対策チャンネルの階層構造に再参加する。
【００４３】
以上のように、本実施形態におけるコンテンツ配信システムＳでは、端末装置２のユーザが、第１配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、端末装置２において、視聴用チャンネルと一定の関係を有するザッピング対策チャンネルの階層構造に参加し、その後、第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第２配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのダウンロード処理又はアップロード処理が終了したら脱退したザッピング対策チャンネルの階層構造に自動的に再接続するようにしているので、ザッピング対策を施しつつ、端末装置のリソースを効率的に使用して、第１配信形態と第２配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【００４４】
以下、本実施形態におけるコンテンツ配信システムＳについて、更に具体的に図面を参照して説明する。
【００４５】
［１．１．第１配信形態について］
コンテンツ配信システムＳの第１配信形態は、図１に示すように、コンテンツ配信装置１を頂点として複数の端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８がツリー状階層構造で多層に論理接続されており、コンテンツ配信装置１からコンテンツデータが当該ツリー状階層構造の上流の端末装置２から下流の端末装置２かけて順次端末装置２の中継機能によってストリーミング配信されるように構成される。このツリー状階層構造は、コンテンツ配信装置１が配信するチャンネル毎に構成される。
【００４６】
このコンテンツ配信システムＳの第１配信形態においては、チャンネル毎にコンテンツ配信装置１を頂点（ここでは、便宜上第０階層とする。）として複数の端末装置２がツリー状階層構造で多層に論理接続されるように接続管理装置３によって管理される。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置２がチェーン状の階層構造で多層に論理接続されるようにしてもよい。また、端末装置２ａ１，２ａ２は便宜上端末装置２ａと、端末装置２ｂ１〜２ｂ４は便宜上端末装置２ｂと、端末装置２ｃ１〜２ｃ８は便宜上端末装置２ｃという場合がある。
【００４７】
ここで、第１配信形態におけるコンテンツデータの配信動作について、図５を参照して簡単に説明する。図５はコンテンツ配信システムＳにおける第１配信形態の配信動作説明図である。
【００４８】
接続管理装置３は、チャンネル毎にツリー状階層構造を構成する端末装置２の接続状態情報を記憶する接続状態情報記憶手段としての記憶部と、ネットワーク６を介して端末装置２から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択手段と、この接続先候補選択手段によって選択された接続先候補の情報を、接続先紹介要求を送信した端末装置２へネットワーク６を介して通知する通知手段と有している。なお、接続先候補とは、接続先紹介要求を送信した端末装置がチャンネルの階層構造に参加する際に、階層構造の上流の装置として接続する装置の候補を意味し、ここでは、コンテンツ配信装置１又は端末装置２を指す。
【００４９】
そして、接続管理装置３は、図５に示すように、コンテンツ配信システムＳにおける第１配信形態に参加していない端末装置２、言い換えればチャンネルのいずれのツリー状階層構造も構成していない端末装置２から接続先紹介要求を受信すると、第１配信形態のツリー状階層構造の状態等に基づいて、その端末装置２がストリーミング配信を受けるための上流の装置として接続する接続先候補を選択する。そして、接続管理装置３は、このように選択した接続先候補の所在情報（接続先候補のＩＰアドレスやポート番号など）及び通信プロトコル等を端末装置２に通知する。また、接続先紹介要求は、例えば、端末装置２がチャンネルに接続するとき、他のチャンネルに切り替えるとき、或いは上流装置との接続が切断されたときに端末装置２から送信される。なお、コンテンツ配信システムＳにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置２へのポート番号及び通信プロトコルは通知しなくてもよい。
【００５０】
端末装置２は、接続管理装置３から接続先候補の所在情報を受信すると、その所在情報を宛先として接続先候補に対し、コンテンツ配信システムＳへの参加（接続）を要求し、これにより端末装置２がコンテンツ配信システムＳの第１配信形態における階層構造へ組み込まれる。すなわち、端末装置２はコンテンツ配信装置１から配信されるコンテンツデータを直接又は他の端末装置２を介して受信可能となる。
【００５１】
コンテンツ配信システムＳにおける第１配信形態は、このように端末装置２が次々と各チャンネルに参加することによって、コンテンツ配信装置１を頂点として複数の端末装置２がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置１から配信されるコンテンツデータは、端末装置２の中継機能により順次下流の端末装置２へ中継されて複数の端末装置２にストリーミング配信される。
【００５２】
すなわち、コンテンツ配信装置１には、ネットワーク６を介してチャンネル毎にコンテンツデータをストリーミング配信する配信手段が設けられており、図５に示すように、コンテンツ配信装置１から端末装置２ａ１，２ａ２（第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」のコンテンツデータを保持するコンテンツ保持端末装置のＩＰアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得することになる。
【０１０２】
［１．２．５．インデックステーブルへの登録方法］
コンテンツ配信システムＳにおける第２配信形態の中で、新しいコンテンツデータをコンテンツ配信システムＳ上の他の端末装置２に見えるように公開する際の手法について述べる。
【０１０３】
本実施形態におけるコンテンツ配信システムＳの第２配信形態は、図１２に示すように、コンテンツ投入装置４が各コンテンツ保持端末装置となる端末装置２に対して、各コンテンツ保持端末装置毎の管理対象コンテンツとなるコンテンツデータを送信する。コンテンツ投入装置４から管理対象のコンテンツデータを受信したコンテンツ保持端末装置は、後述のハードディスク装置２０３に受信したコンテンツデータを記憶する。
【０１０４】
当該コンテンツデータを配布されたコンテンツ保持端末装置は、図１２及び図１３に示すように、当該コンテンツ保持端末装置の所在情報及び識別情報を含むコンテンツ保持端末装置情報の登録要求メッセージ（以下、「コンテンツ登録メッセージ」と呼ぶ。）を、コンテンツの名称等から求めたコンテンツＩＤと同じ端末ＩＤを持つ端末装置に向けて（この端末装置が実在するか否かはこの時点ではわからない。）送信する。そして、このコンテンツ登録メッセージも、上記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ登録メッセージに含まれるコンテンツＩＤに最も近い端末ＩＤを有する端末装置２まで転送されたところで、その端末装置２がもはや送信先の端末装置が他にないと判断すると、当該端末装置２自身がそのコンテンツのルート端末装置となるべきだと判断し、図１３に示すように、当該コンテンツ登録メッセージに含まれるコンテンツ保持端末装置情報である当該コンテンツＩＤ、コンテンツ保持端末装置のＩＰアドレス、及び補助情報（タイトル、ジャンル、拡張情報等の属性情報や、監督名等の著作権情報やストリーミング時間等）をインデックス情報として後述のインデックステーブル２２２に記憶する。
【０１０５】
このようにルート端末装置のインデックステーブル２２２にコンテンツ保持端末装置の所在情報であるＩＰアドレスが登録されると、以後リクエスト端末装置からのコンテンツ検索メッセージに対してインデックステーブルに登録したコンテンツ保持端末装置の所在情報をリクエスト端末装置へ返信する。このようにして本実施形態では、コンテンツ投入装置４から配布されたコンテンツをコンテンツ保持端末装置に登録し、ルート端末装置を介して検索できるようにすることで、他の端末装置にコンテンツを公開する。
【０１０６】
インデックステーブル２２２は、図１４に示すように、コンテンツ保持端末装置の所在情報（所在情報）であるＩＰアドレスなどを含むコンテンツ保持端末装置情報を記憶するためのテーブルである。このインデックステーブル２２２には、コンテンツ保持端末装置のＩＰアドレスのほか、コンテンツ保持端末装置を紹介した時刻等がコンテンツ保持端末装置情報として１行（所定記憶エリア）毎に記憶される。
【０１０７】
［２．端末装置２の構成等の説明］
次に、図１５を参照して、端末装置２の構成及び動作について更に詳説する。図１５は、本実施形態における端末装置２の概略構成例を示す図である。
【０１０８】
端末装置２は、一般のパーソナルコンピュータ或いは専用端末を適用可能であり、図１５に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置２０５と、各種データ等を記憶するハードディスク装置２０３と、ネットワーク６を介してネットワーク上のコンテンツ配信装置１、接続管理装置３やコンテンツ投入装置４、コンタクト先紹介装置５及び他の端末装置２との間で有線通信による通信を行うためのネットワークインタフェース２０４と、ユーザによる端末装置２の遠隔操作が可能な所定の赤外線信号を送信及び受信するユーザ入力用リモコン２０８と、このユーザ入力用リモコン２０８と赤外線により通信を行うための赤外線ポート２０７と、赤外線ポート２０７を制御する周辺機器制御チップ２０６と、ＣＰＵ２０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ２１０に表示するビデオチップ２０９と、ビデオチップ２０９から送信される信号に応じた表示を行う内蔵ディスプレイ２１０と、ＦＭ音源（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ２１１と、音源チップ２１１から出力されるオーディオ信号を音波に変換する内蔵スピーカ２１２とを備えて構成され、これらの各種構成要素はシステムバス２０１を介して相互に接続されている。
【０１０９】
なお、本実施形態においては、ＣＰＵ２０２と主記憶装置２０５とで制御部２３０を構成している。また、ネットワークインタフェース２０４は、アナログ電話回線、ＩＳＤＮ回線、ＡＤＳＬ回線、ＦＴＴＨ回線などの通信回線によってルータ１０に接続することができるインターフェイスである。ルータ１０は、通信回線を介して端末装置２から受信した信号をネットワーク６へ送信し、ネットワーク６から受信した信号を端末装置２へ送信する。
【０１１０】
上述したようなユーザ入力用リモコン２０８では、コンテンツ配信システムＳにおけるコンテンツデータのダウンロードなどの操作が可能である。また、本実施形態におけるユーザ入力用リモコン２０８では、コンテンツ配信システムＳのチャンネルを選択するための選択手段として図示しないチャンネル選択ボタンを有しており、端末装置２のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。例えば、チャンネル選択ボタンをとして、「１」〜「１０」までのボタンをリモコン２０８に配置し、これらのボタンを選択することにより、チャンネルｃｈ１〜ｃｈ１０のいずれかを視聴用チャンネルとして選択することができる。また、図１６に示すように、端末装置２の内蔵ディスプレイ２１０に、チャンネル選択ボタン２２，２３を配置したチャンネル選択画面を表示するようにもでき、選択するチャンネルを１ｃｈずつ切り替えるようにしてもよい。なお、表示枠２１にはストリーミング再生手段によって再生されるコンテンツが表示される。
【０１１１】
（主記憶装置２０５について）
主記憶装置２０５には、端末装置２のコンピュータとしての基本的な機能を提供するためのオペレーディング（ＯＳ）プログラム２１７と、第１配信形態において、コンテンツ配信装置１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータをストリーミング受信及び下流の端末装置２へストリーミング送信するためのストリーミング制御プログラム２１５と、第１配信形態において、ツリー接続された一層上流の端末装置２（或いはコンテンツ配信装置１）の所在情報（ＩＰアドレスやポート番号）とツリー接続された一層下流の端末装置２の所在情報の管理等を行うためのトポロジー管理プログラム２１６と、内蔵ディスプレイ２１０を制御するための画面制御プログラム２１８と、第１配信形態において、上流の装置からストリーミング受信したコンテンツデータをデコードしてストリーミング再生したり、第２配信形態でダウンロードしてハードディスク装置２０３に記憶したコンテンツデータを再生したりするための音楽デコーダプログラム２１９と、所定の記憶容量を有し、ストリーミング受信したコンテンツデータを順次一時的に記憶するリングバッファ領域２２０と、第１配信形態でコンテンツデータをストリーミング再生している状態で、第２配信形態に参加してコンテンツデータをダウンロードしたり、アップロードしたりするためのコンテンツダウンロード・アップロードプログラム２２１（以下、「コンテンツＤＬ／ＵＬプログラム」とする。）等が記憶されており、これらはＣＰＵ２０２によって読み出され、ＣＰＵ２０２によってこれらのプログラムに従った機能が実行される。
【０１１２】
また、主記憶装置２０５には、更にインデックステーブル２２２（図１４参照）を記憶するためのインデックステーブル記憶領域やルーティングテーブル２２３（図９参照）を記憶するためのルーティングテーブル記憶領域が設けられている。
【０１１３】
また、リングバッファ領域２２０は、参加しているチャンネル（視聴用チャンネル及びザッピング対策チャンネル）において配信されるコンテンツデータをチャンネル毎に一時的に記憶する領域であり、ザッピング対策チャンネルのリングバッファ領域に蓄積したコンテンツデータは再生されず中継のみのために用いられることから、リングバッファ領域は、視聴用チャンネルのリングバッファ領域に比べその容量を小さくしている。このようにザッピング対策チャンネルのリングバッファ領域を小さくしているため、主記憶装置２０５を効率よく使用することができる。勿論、設定等により全てのリングバッファ領域の容量を同一とするようにすることも可能である。
【０１１４】
ここで、ＯＳプログラム２１７は、ＣＰＵ２０２によって読み出されて実行されることにより、ユーザ入力用リモコン２０８の入出力に関する機能や、主記憶装置２０５やハードディスク装置２０３などのメモリ管理などの端末装置２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム２１７がＣＰＵ２０２によって実行された状態で、上述のストリーミング制御プログラム２１５、トポロジー管理プログラム２１６、画面制御プログラム２１８、音楽デコーダプログラム２１９、コンテンツＤＬ／ＵＬプログラム２２１等が主記憶装置２０５から読み出されて実行される。
【０１１５】
なお、ＯＳプログラム２１７、ストリーミング制御プログラム２１５、トポロジー管理プログラム２１６、画面制御プログラム２１８、音楽デコーダプログラム２１９、コンテンツＤＬ／ＵＬプログラム２２１等は、例えば、ネットワーク６に接続されたサーバ等から主記憶装置２０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置２０５に読み込まれるようにしてもよい。
【０１１６】
（制御部２３０について）
制御部２３０は、上述のようにＣＰＵ２０２と主記憶装置２０５とから構成され、ＣＰＵ２０２が主記憶装置２０５に記憶された各種プログラム２１５〜２１９，２２１を読み出して実行することにより、端末装置２全体を統括制御し、かつ、後述する接続処理手段、ストリーミング受信処理手段、表示制御手段、ストリーミング再生手段、ストリーミング中継処理手段、デコード手段、識別情報取得手段、識別情報リスト受信手段、ダウンロード操作検出手段、切断処理手段、リソース使用量検出手段、リソース不足判定手段、再接続処理手段、判定手段、ダウンロード処理手段、アップロード処理手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信処理手段、メッセージ転送処理手段、コンテンツ再生手段等として機能するようになっている。
【０１１７】
なお、ＣＰＵ２０２がストリーミング制御プログラム２１５を実行することによってストリーミング受信処理手段、ストリーミング中継処理手段等として、またＣＰＵ２０２がトポロジー管理プログラム２１６を実行することによって、接続処理手段等として、またＣＰＵ２０２が画面制御プログラム２１８を実行することによって表示制御手段等として、更にＣＰＵ２０２が音楽デコーダプログラム２１９を実行することによってデコード手段、ストリーミング再生手段、コンテンツ再生手段等として、更にＣＰＵ２０２がコンテンツＤＬ／ＵＬプログラム２２１を実行することによって、識別情報リスト受信手段、識別情報取得手段、判定手段、ダウンロード操作検出手段、切断処理手段、リソース使用量検出手段、リソース不足判定手段、再接続処理手段、ダウンロード処理手段、アップロード処理手段、メッセージ宛先判定手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信処理手段、メッセージ転送処理手段等として、それぞれ機能するようになっている。
【０１１８】
（接続処理手段について）
接続処理手段は、端末装置２をコンテンツ配信システムＳの第１配信形態へ参加させるために、チャンネル選択手段であるリモコン２０８のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に接続する。さらに、接続処理手段は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネル（ザッピング対策チャンネル）に関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に接続する。
【０１１９】
より具体的には、接続処理手段は、端末装置２をコンテンツ配信システムＳの第１配信形態へ参加させるために、接続管理装置３へ登録要求を送信して接続管理装置３へ登録すると共に、接続先紹介要求を送信して接続管理装置３へチャンネル選択手段によって選択されたチャンネルの接続先候補及びそのチャンネルと所定の関係を有するチャンネルの接続先候補を要求する接続先紹介要求をそれぞれ送信する機能を有している。この接続先紹介要求には、接続先候補を要求するチャンネルの情報の他、自端末装置２の所在情報等を含む。
【０１２０】
また、接続処理手段は、接続管理装置３へ送信した接続先紹介要求に対して、接続管理装置３からネットワーク６を介して通知される視聴用チャンネルやザッピング対策チャンネルの接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるＩＰアドレスやポート番号などの情報（以下、接続先候補の情報を含めて、「接続先候補」と略すことがある。）を受信する機能を有する。
【０１２１】
更に、接続処理手段は、受信した各チャンネルの接続先候補の情報に基づいて、その接続先候補への論理接続を行う機能を有する。すなわち、接続処理手段は、接続先候補の情報に基づいて、接続先候補のＩＰアドレス及びポート番号等をあて先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって各チャンネル（視聴用チャンネル及び複数のザッピング対策チャンネル）の階層構造に組み込まれ、第１配信形態に参加することになる。
【０１２２】
ここで、「所定の関係を有するチャンネル」は、上述したようにチャンネル選択手段によって選択されたチャンネル番号に隣接するチャンネル番号を有するチャンネルである。例えば、チャンネル番号が「１」〜「１０」まであるとき、チャンネル選択手段によって選択されたチャンネル番号が「２」であるとき、前後のチャンネル番号「１」，「３」を有するチャンネルを所定の関係を有するチャンネルとすることができる。なお、視聴用チャンネルとして使用されたチャンネルの履歴を主記憶装置２０５に記憶しておき、「所定の関係を有するチャンネル」を、視聴用チャンネルとして使用された頻度が最も高い２つのチャンネルとするようにしてもよい。
【０１２３】
（ストリーミング受信処理手段について）
ストリーミング受信処理手段は、ネットワークインタフェース２０４を介して第１配信形態によって上流装置、すなわち上流に論理接続したコンテンツ配信装置１又は上流に接続された端末装置２からコンテンツパケットとして送信されるコンテンツデータをチャンネル（視聴用チャンネル及びザッピング対策チャンネル）毎にストリーミング受信し、このようにストリーミング受信したコンテンツデータをチャンネル毎にリングバッファ領域２２０に順次記憶する。なお、コンテンツデータ受信手段や後述のコンテンツデータ中継手段は、公知のストリーミング配信用プロトコルを用いることができるほか、独自の専用プロトコルを用いるようにすることもできる。
【０１２４】
（ストリーミング再生手段について）
ストリーミング再生手段は、ネットワークインタフェース２０４を介して第１配信形態によって上流装置からストリーミング受信してリングバッファ領域２２０に順次記憶されたコンテンツデータを順次再生する機能を有している。
【０１２５】
このストリーミング再生手段は、参加している複数のチャンネルのうちチャンネル選択ボタン等によって最後に選択された最新のチャンネルに対応するコンテンツデータをリングバッファ領域から取り出して、音源チップ２１１やビデオチップ２０９を動作させることによってこの機能を実現しており、リングバッファ領域２２０に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式（たとえば、Ｗａｖｅ形式）に変換して音源チップ２１１やビデオチップ２０９へ入力し、コンテンツの再生を行う。
【０１２６】
ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ２１１によってオーディオ信号へ変換された後、内蔵スピーカ２１２から出力される。
【０１２７】
また、ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ２１０に表示される。
【０１２８】
また、ストリーミング再生手段は、リングバッファ領域２２０に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ領域２２０に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ２１２や内蔵ディスプレイ２１０に出力するように構成されている。
【０１２９】
（表示制御手段について）
表示制御手段は、ビデオチップ２０９及び内蔵ディスプレイ２１０を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ２１０にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【０１３０】
（ストリーミング中継処理手段について）
ストリーミング中継処理手段は、第１配信形態における上流装置、すなわちコンテンツ配信装置１又は上流に接続された端末装置２からネットワーク６を介してストリーミング受信されたコンテンツデータを、下流に接続された他の端末装置２へネットワーク６を介して転送する。
【０１３１】
（識別情報リスト受信手段について）
識別情報リスト受信手段は、コンテンツ投入装置４から送信される識別情報リストを受信する機能を有している。コンテンツ投入装置４から送信される識別情報リストは、第２配信形態においてダウンロード可能なコンテンツデータの名称とコンテンツＩＤとが関連付けられた情報であり、自端末装置２がコンテンツ投入装置４へ識別情報リストの送信要求を行うことによって、コンテンツ投入装置４から送信されるものである。
【０１３２】
（ダウンロード操作検出手段について）
ダウンロード操作検出手段は、第２配信形態によるコンテンツデータのダウンロード要求の操作を検出する機能を有する。例えば、図１７に示すように第２配信形態においてダウンロード可能なコンテンツデータが内蔵ディスプレイ２１０の所定領域２４に一覧表示されている状態で、ユーザがリモコン２０８を操作して、ダウンロードするコンテンツデータを指定枠２５により指定してダウンロードボタン２６を選択したことを検出することによって、第２配信形態によるコンテンツデータのダウンロード要求の操作を検出する。なお、内蔵ディスプレイ２１０の所定領域２４に一覧表示される情報は、識別情報リスト受信手段により取得された情報である。
【０１３３】
（リソース使用量検出手段）
リソース使用量検出手段は、第１配信形態及び第２配信形態にいずれにも用いられるリソースの使用量を検出する機能を有する。すなわち、第２配信形態に用いるリソースの使用量を検出する機能と、第１配信形態で用いられているリソースの使用量を検出する機能を有する。ここで、「リソース」とは、ＣＰＵ２０２の処理能力、主記憶装置２０５におけるメモリの容量、ネットワークとの通信の帯域（以下、「通信帯域」と呼ぶ。）などがある。また、ここでは、リソースの使用量の検出を、リソースの使用率の検出によって行うようにしているが、リソースの使用量（例えば、メモリであれば使用メモリのバイト数など）自体を検出するようにしてもよい。
【０１３４】
リソース使用量検出手段は、第２配信形態に用いるリソースの使用量として、第２配信形態で他の端末装置２からコンテンツデータをダウンロードするときにはそのダウンロードの処理に必要なリソースの使用量を、第２配信形態で他の端末装置２へコンテンツデータをアップロードするときにはアップロードの処理に必要なリソースの使用量を検出する機能を有している。また、リソース使用量検出手段は、第１配信形態で用いられているリソースの使用量として、チャンネル選択手段によって選択されたチャンネルである視聴用チャンネルと、このチャンネルと所定の関係を有するザッピング対策チャンネルとに参加することによる各チャンネルにおけるＣＰＵ２０２の使用率、メモリの使用率、通信帯域の使用率を検出する。なお、ここでは、理解を容易にするために、ザッピング対策チャンネルは２つとして説明する。
【０１３５】
ここで、ＣＰＵ２０２の使用率とは、第１配信形態や第２配信形態にいずれにも用いられるＣＰＵ２０２がどのくらい使用されているかを示す割合であり、ＣＰＵ２０２の最大情報処理量を母数とした割合である。例えば、第１配信形態の視聴用チャンネルにおけるＣＰＵ２０２の使用率とは、第１配信形態の視聴用チャンネルに参加し、コンテンツデータを受信及び中継するためにＣＰＵ２０２が上記各手段として機能するときのＣＰＵ２０２の情報処理量をＣＰＵ２０２の最大情報処理量で除した割合となる。なお、ＣＰＵ２０２が第１配信形態及び第２配信形態に関する動作以外の動作を行う場合には、第１配信形態及び第２配信形態に用いることができるＣＰＵ２０２の情報処理量を母数としたときの割合となる。また、ＣＰＵ２０２の使用率の演算に用いる母数として、ＣＰＵ２０２の最大情報処理量ではなく、例えば、ＣＰＵ２０２の最大情報処理量の５０％というように最大情報処理量よりも低く抑えるようにしてもよい。このようにすることで、端末装置２においてコンテンツ配信システムＳに関する処理をより安定的に行うことができる。
【０１３６】
また、主記憶装置２０５におけるメモリの容量とは、主記憶装置２０５における記憶領域のうち、第１配信形態や第２配信形態にいずれにも用いられる記憶領域の記憶容量である。この記憶領域をＣＰＵ２０２が使用することにより、第１配信形態の各チャンネルに参加し、コンテンツデータを受信及び中継する等の処理、或いは第２配信形態でコンテンツデータのダウンロードやアップロード等の処理を行う。ここで、第１配信形態におけるメモリの容量の使用率とは、第１配信形態及び第２配信形態で用いることができる記憶領域の全容量のうち、現実に第１配信形態において使用されている記憶容量の割合を意味し、第２配信形態におけるメモリの容量の使用率とは、第１配信形態及び第２配信形態で用いることができる記憶領域の全容量のうち、第２配信形態において使用されていると予測される記憶容量の割合を意味する。なお、第２配信形態におけるメモリの容量の使用率には、インデックステーブル２２２やルーティングテーブル２２３に用いられる記憶容量は考慮しないが、第２配信形態においてダウンロード処理及びアップロード処理を行うときにのみ第２配信形態に参加するような場合には、インデックステーブル２２２やルーティングテーブル２２３に用いられる記憶容量を考慮することもできる。                  
【０１３７】
また、通信帯域とは、端末装置２が他の端末装置２やコンテンツ配信装置１との間で通信することができる時間当たりの最大通信量を意味する。また、通信帯域には、上りの通信帯域（端末装置２からネットワーク６側への通信方向の通信帯域）と、下りの通信帯域（ネットワーク６側から端末装置２への通信方向の通信帯域）とがある。
【０１３８】
第１配信形態で用いる通信帯域の使用率とは、上りの通信帯域については、第１配信形態における視聴用チャンネル及びザッピング対策チャンネルに関して下層に接続された端末装置２へコンテンツデータをストリーミング送信するときの単位時間当たりの通信量の割合である。また、下りの通信帯域について、第１配信形態における視聴用チャンネル及びザッピング対策チャンネルに関して上層に接続された端末装置からコンテンツデータをストリーミング受信するときの単位時間当たりの通信量の割合である。
【０１３９】
上述のように端末装置２はルータ１０を介してネットワーク６に接続されており、ルータ１０に接続する通信回線が、アナログ電話回線、ＩＳＤＮ回線、ＡＤＳＬ回線、ＦＴＴＨ回線などの回線のうちどの回線かによって通信帯域が異なることとなる。そこで、リソース使用量検出手段は、ネットワーク６上に配置された通信帯域検出用サーバ（図示せず）を用いて、このサーバに所定容量のデータを送信し、この送信が完了するまでの時間に基づいて上りの通信帯域を検出する。また、このサーバから送信される所定容量のデータを受信し、この受信が完了するまでの時間に基づいて下りの通信帯域を検出する。なお、リソース使用量検出手段は、ルータ１０に接続するための回線がどの回線種別なのかを検出することによって、通信帯域を検出するようにしてもよい。
【０１４０】
また、ルータ１０に接続するための通信回線が、ベストエフォート型のＡＤＳＬ回線、ＦＴＴＨ回線が接続されている場合には、状況に応じて通信帯域（「スループット」とも言う。）が変化する。そこで、リソース使用量検出手段は、通信帯域検出用のサーバとの通信を第２配信形態におけるダウンロード処理又はアップロード処理をする直前に、通信帯域検出用のサーバと通信を行うことにより、上りの通信帯域及び下りの通信帯域を検出するようにしている。このとき、リソース使用量検出手段は、第１配信形態における視聴用チャンネル及びザッピング対策チャンネルによる通信帯域の使用率を考慮して通信帯域を検出するようにしている。すなわち、視聴用チャンネル及びザッピング対策チャンネルで下流の装置に送信するコンテンツデータの時間当たりの送信量（bit／ｓ）と、通信帯域検出用のサーバへ送信するデータの時間当たりの送信量（bit／ｓ）とを加算することにより上りの通信帯域を検出し、視聴用チャンネル及びザッピング対策チャンネルによって上流の装置から送信されるコンテンツデータの時間当たりの受信量（bit／ｓ）と、通信帯域検出用のサーバから送信されるデータの時間当たりの受信量（bit／ｓ）とを加算することにより、下りの通信帯域を検出する。
【０１４１】
また、通信帯域の使用率とは、上記の如く検出した通信帯域をどのくらい使用しているかの割合であり、例えば、下りの通信帯域が２Ｍbit／ｓであり、視聴用チャンネルにおけるデータの受信量が５００ｋbit／ｓであるときには、視聴用チャンネルにおける通信帯域の使用率は、２５％となる。
【０１４２】
リソース量検出手段は、第１配信形態におけるコンテンツデータのストリーミング受信、第１配信形態におけるコンテンツデータのストリーミング中継、第２配信形態におけるダウンロード、第２配信形態におけるアップロードのそれぞれについて、各リソースの使用量或いは予測される使用量を検出する。
【０１４３】
ここで、視聴用チャンネル、ザッピング対策チャンネルにおけるリソースの使用量については、実際に使用されている量をモニタすることによって検出することができる。しかし、自端末装置２において第２配信形態に用いるリソースの使用状態、つまり、第２配信形態におけるダウンロード処理や第２配信形態におけるアップロード処理におけるリソースの使用量は、これらの処理を実際に行う前に検出する必要がある。つまり、第１配信形態に参加し、各チャンネルでコンテンツデータをストリーミング受信及びストリーミング中継を行っている状態で、第２配信形態においてコンテンツデータのダウンロード処理或いはアップロード処理を行ってしまうと、リソースが不足してしまうことがあり、このようにリソースが不足すると第１配信形態における各チャンネルにおけるコンテンツデータのストリーミング受信や中継に影響を及ぼすことになり、状況によっては各チャンネルとの通信が切断されてしまう恐れがある。そこで、第２配信形態においてコンテンツデータのダウンロード処理或いはアップロード処理を行うために必要なリソースがあるか否かをその処理を行う前に判定する。なお、このように第２配信形態において用いるリソースを所定期間毎に行うようにしてもよい。
【０１４４】
（リソース不足判定手段）
リソース不足判定手段は、リソース使用量検出手段による検出結果に基づいて、第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要なリソースが不足しているか否かを判定する。そして、リソースが不足していると判定したときには、そのリソースの不足量を判定する。ここでは、不足量の判定を、リソースの空き率と第２配信形態に用いるリソースの使用率とに基づき、リソースの不足率を演算することによって行うようにしている。第２配信形態に用いるリソースが不足しているか否かは、自端末装置２におけるリソース全体の使用可能量を１００％とし、第１配信形態に用いているリソースの使用率を１００％から減算したものが第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要であると予測されるリソースの使用率よりも大きいか否かにより判定される。例えば、以下の表１に示すように、ザッピング対策チャンネルとして第１ザッピング対策チャンネルと第２ザッピング対策チャンネルとがある場合であって、第１配信形態における視聴用チャンネル（視聴ＣＨ）のリソースの使用率が各４０％、第１配信形態における第１ザッピング対策チャンネル（ザッピング対策ＣＨ１）のリソースの使用率が各３０％、第１配信形態における第２ザッピング対策チャンネル（ザッピング対策ＣＨ２）のリソースの使用率が各２０％であるとき、自端末装置２におけるリソースの空き率は各１０％となる。一方で、第２配信形態によるコンテンツデータのダウンロード又はアップロードに必要であると予測されるリソースの使用率が各３０％であるとすると、リソース不足判定手段は、第２配信形態に用いるリソースが不足していると判定する。
【０１４５】
【表１】
2008085678.tif 000003
【０１４６】
（切断処理手段について）
切断処理手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、又は第２配信形態に参加している他の端末装置２からのアップロード要求があったときに、リソース不足判定手段によってリソースが不足していると判定されると、接続処理手段によって接続状態にあるチャンネルのうち、自端末装置２において第２配信形態に用いるリソースの使用状態に応じて、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルに関する接続先候補との接続を切断する機能を有する。
【０１４７】
例えば、第１配信形態でのリソースの使用率が上記表１に示すようにある場合、第１ザッピング対策チャンネル又は第２ザッピング対策チャンネルのいずれかの接続先装置との接続を切断することにより、第２配信形態に用いるリソースの不足を解消することができる。すなわち、第１ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は各４０％になり、或いは第２ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は３０％になるため、第２配信形態に用いるリソースの使用率３０％以上となり、第２配信形態に用いるリソースの不足を解消することができる。
【０１４８】
なお、このように、第１ザッピング対策チャンネル又は第２ザッピング対策チャンネルのいずれかの接続先装置との接続を切断すればよい場合、たとえば、切断処理手段は、チャンネル選択手段による選択頻度（視聴頻度）が低い方を選択することにより、ユーザによるチャンネル切り替え時に視聴用チャンネルＡの接続処理を回避する可能性を向上させることができる。また、切断処理手段は、リソースの使用率が高い方を切断する対象として選択するようにすれば、第１配信形態におけるコンテンツデータのダウンロード時又はアップロード時に装置全体でのリソース使用率を低減することができるため、より安定的にコンテンツデータの送受信処理を行うことができる。
【０１４９】
また、第１配信形態でのリソースの使用率が下記表２に示すようにある場合、第１ザッピング対策チャンネルに関する接続先候補及び第２ザッピング対策チャンネルに関する接続先装置のいずれか一方の接続先装置との接続を切断したとしても、リソースの空き率がまだ不足することになる。しかし、第１ザッピング対策チャンネル及び第２ザッピング対策チャンネルの双方の接続先装置との接続を切断することにより、第２配信形態に用いるリソースの不足を解消することができる。すなわち、第１ザッピング対策チャンネル及び第２ザッピング対策チャンネルに関する両方の接続先装置との接続を切断することによって、リソースの空き率は６０％になるため、第２配信形態に用いるリソースの使用率５０％以上となり、第２配信形態に用いるリソースの不足を解消することができる。
【０１５０】
【表２】
2008085678.tif 000004
【０１５１】
また、第１配信形態でのリソースの使用率が下記表３に示すようにある場合、第２ザッピング対策チャンネルに関する接続先装置との接続を切断したとしても、リソースのうち通信帯域に関して第２配信形態に用いるリソースの不足を解消することができないが、第１ザッピング対策チャンネルに関する接続先装置との接続を切断することにより、第２配信形態に用いるリソースの不足を解消することができる。すなわち、第１ザッピング対策チャンネルに関する接続先装置との接続を切断することによって、リソースの空き率は、ＣＰＵに関して３５％、メモリに関して４０％、通信帯域に関して４５％になるため、第２配信形態に用いるリソースの使用率（ＣＰＵ、メモリ、通信帯域が各３０％）以上となり、第２配信形態に用いるリソースの不足を解消することができる。
【０１５２】
【表３】
2008085678.tif 000005
【０１５３】
このように第２配信形態でのコンテンツデータのダウンロード処理又はアップロード処理を行うためのリソースが不足する場合には、一以上のザッピング対策チャンネルから脱退するので、通信帯域をより多く確保することができ、第２配信形態での通信を安定させることができる。
【０１５４】
ここで、切断処理手段は、ザッピング対策チャンネルに関する接続先装置との接続の切断を次のように行う。すなわち、接続の切断対象となるザッピング対策チャンネルのコンテンツ供給元端末である接続先装置に対してコンテンツストリーミングの停止を要求する。言い換えれば、切断対象のザッピング対策チャンネルに関し、自端末装置２と論理接続され、自端末装置２に対して第１配信形態でストリーミング配信を行っているコンテンツ配信装置１又は他の端末装置２に対して、コンテンツデータのストリーミング配信を停止するようにネットワーク６を介して要求し、切断対象のザッピング対策チャンネルのトポロジーから脱退する。また、制御部２３０は、同ザッピング対策チャンネルに関する下流装置がある場合には、下流装置とのセッションを切断することにより、同ザッピング対策チャンネルのトポロジーから脱退する。
【０１５５】
（識別情報取得手段について）
識別情報取得手段は、ダウンロード操作検出手段によってダウンロード要求の操作が検出されたとき、ダウンロード要求されたコンテンツデータを第２配信形態で取得するために、ダウンロード要求されたコンテンツデータの識別情報であるコンテンツＩＤを取得する。
【０１５６】
ダウンロード要求されたコンテンツＩＤの取得は、第１配信形態においてストリーミング再生手段によって再生されるコンテンツデータに関してダウンロード要求の操作があったときに、識別情報取得手段は、識別情報リスト受信手段によって受信した識別情報リストからダウンロード要求されたコンテンツデータの識別情報であるコンテンツＩＤを取得することによって行う。なお、識別情報取得手段は、後述するコンテンツ識別情報演算手段によってダウンロード要求されたコンテンツデータのコンテンツＩＤを求めるようにしてもよい。すなわち、ダウンロード要求されたコンテンツデータの名称をキーワードとして上記ハッシュ関数によりハッシュ化することによってコンテンツＩＤを求めるようにしてもよい。
【０１５７】
（判定手段）
自端末装置がコンテンツ保持端末装置として機能する場合には、コンテンツ保持端末装置として保持すべきコンテンツデータは、ハードディスク装置２０３のコンテンツデータ記憶領域（コンテンツデータ記憶手段の一例に相当）に記憶される。また、過去にダウンロードしたコンテンツデータも同様にハードディスク装置２０３のコンテンツデータ記憶領域に記憶される。判定手段は、ダウンロード要求されたコンテンツデータがハードディスク装置２０３のコンテンツデータ記憶領域に記憶されているか否かを判定する。この判定手段によって、ダウンロード要求されたコンテンツデータがハードディスク装置２０３のコンテンツデータ記憶領域に記憶されていると判定すると、切断処理手段は、接続状態にあるチャンネルの接続先装置との接続を切断せず、かつ後述するダウンロード処理手段は、第２配信形態によってコンテンツデータのダウンロードを行わない。
【０１５８】
（ダウンロード処理手段について）
ダウンロード処理手段は、識別情報取得手段によって取得されたコンテンツデータの識別情報に基づいて、ダウンロード要求されたコンテンツデータを第２配信形態の端末装置からダウンロードする機能を有しており、ダウンロード先検索手段、ダウンロード送信要求手段、ダウンロードデータ受信手段などから構成されている。
【０１５９】
ダウンロード先検索手段は、識別情報取得手段によって取得されたコンテンツデータのコンテンツＩＤに基づいて、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。コンテンツ保持端末装置の検索は、識別情報取得手段によって取得されたコンテンツＩＤを宛先識別情報としたコンテンツ検索メッセージを生成し、そのコンテンツＩＤと同じエリアの端末ＩＤを持つ端末装置の所在情報をルーティングテーブル２２３から取り出して、その端末装置へコンテンツ検索メッセージを送信することによって行う。このコンテンツ検索メッセージに対して、識別情報取得手段によって取得されたコンテンツＩＤのコンテンツデータを保持するコンテンツ保持端末装置の所在情報がルート端末装置から送信される。このようにして、ダウンロード先検索手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。
【０１６０】
また、ダウンロード送信要求手段は、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置に、ダウンロード要求されたコンテンツデータの送信をネットワーク６を介して要求（以下、「ダウンロード送信要求」と呼ぶ。）する。このダウンロード送信要求は、コンテンツ保持端末装置の所在情報を宛先として、ダウンロード要求に対応するコンテンツデータのコンテンツＩＤを設定するものである。なお、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置が複数ある場合には、選択した一つのコンテンツ保持端末装置に対してダウンロード送信要求が行われる。
【０１６１】
また、ダウンロードデータ受信手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置からダウンロード要求されたコンテンツデータをネットワーク６を介して受信する。コンテンツ保持端末装置から送信されるコンテンツデータは、第１配信形態のようなストリーミング形式ではなく、ダウンロード形式のデータであるが、ストリーミング形式とすることも可能である。
【０１６２】
ダウンロード受信手段により受信したコンテンツデータは、制御部２３０によって、ハードディスク装置２０３のコンテンツデータ記憶領域に記憶される。
【０１６３】
（アップロード処理手段について）
アップロード処理手段は、第２配信形態に参加している他の端末装置２から第２配信形態でのダウンロード要求があると、このダウンロード要求に対応するコンテンツデータをコンテンツデータ記憶手段から取り出して、ダウンロード要求を行った他の端末装置２へ送信する機能を有する。
【０１６４】
（再接続処理手段について）
再接続処理手段は、ダウンロード要求したコンテンツデータのダウンロード処理手段での受信が完了したとき、或いはダウンロード要求されたコンテンツデータのアップロード処理手段での送信が完了したときに、切断処理手段によって切断したザッピング対策チャンネルがある場合、このザッピング対策チャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に再接続する機能を有する。
【０１６５】
なお、この再接続処理手段において、ダウンロード処理手段でのダウンロード処理やアップロード処理手段でのアップロード処理が完了して所定期間経過後に、切断処理手段によって切断したザッピング対策チャンネルに再接続するようにしてもよい。また、この所定期間を端末装置２における第２配信形態の利用状況に応じて変更するようにしてもよい。例えば、第２配信形態の連続利用時間の履歴をハードディスク装置２０３に記憶しておき、連続利用時間の平均時間に応じて前記所定期間を定めるようにすることができる。このようにすれば、切断処理手段によるチャンネルの切断と再接続処理手段によるチャンネルの再接続を頻繁に行なうような状態を低減することができ、その結果、第１配信形態における各階層構造に対する負荷を低減することが可能となる。
【０１６６】
（メッセージ宛先判定手段について）
メッセージ宛先判定手段は、ネットワーク６を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置２宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述のコンテンツ検索メッセージ、コンテンツ登録メッセージなどである。
【０１６７】
受信したメッセージが自端末装置２宛であるか否かの判定は、メッセージに含まれる宛先端末ＩＤ（宛先識別情報）を取り出し、主記憶装置２０５に記憶したルーティングテーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフェース２０４を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブル２２３に記憶した端末ＩＤとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル２２３上の端末ＩＤが自端末装置２の端末ＩＤであると判定すると、自端末装置２宛のメッセージであると判定する。
【０１６８】
（コンテンツ保持端末装置情報選択手段について）
コンテンツ保持端末装置情報選択手段は、メッセージ宛先判定手段によりネットワーク６を介して受信したメッセージが自端末装置２宛であり、かつコンテンツ検索メッセージであると判定すると、インデックステーブル２２２からコンテンツ検索メッセージが対象とするコンテンツＩＤのコンテンツデータを保持するコンテンツ保持端末装置の所在情報を選択する。なお、インデックステーブル２２２にコンテンツ保持端末装置の所在情報が複数ある場合には、それらを全部或いはいくつか選択する。
【０１６９】
（コンテンツ保持端末装置情報返信手段について）
コンテンツ保持端末装置情報返信手段は、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置の所在情報を、リクエスト端末装置へネットワーク６を介して返信する。
【０１７０】
（コンテンツ識別情報演算手段について）
コンテンツ識別情報演算手段は、コンテンツデータの固有情報を上記の如く所定のハッシュ関数によって演算することによってコンテンツデータの識別情報であるコンテンツＩＤを演算する。
【０１７１】
（コンテンツ登録メッセージ生成手段について）
コンテンツ投入装置４からコンテンツデータを受信したとき、受信したコンテンツデータをハードディスク装置２０３のコンテンツデータ記憶領域（コンテンツデータ記憶手段の一例に相当）に記憶する。又、コンテンツデータのコンテンツの名称をコンテンツ識別情報演算手段によって演算したコンテンツＩＤを宛先識別情報とし、自端末装置の端末ＩＤ及びＩＰアドレスを含むコンテンツ登録メッセージを生成する。
【０１７２】
（コンテンツ登録メッセージ送信処理手段について）
コンテンツ登録メッセージ送信処理手段は、コンテンツ登録メッセージ生成手段によって生成したコンテンツ登録メッセージを、ハードディスク装置２０３に記憶したコンテンツデータのコンテンツＩＤに基づいて、ルーティングテーブル２２３に記憶された端末装置の識別情報から送信先端末装置を選択して送信する。例えば、図９に示すようなルーティングテーブルを有しており、かつハードディスク装置２０３に記憶したコンテンツデータのコンテンツＩＤが「1231」である場合、コンテンツ登録メッセージ送信処理手段は、ルーティングテーブルから端末ＩＤ「1221」を送信先端末装置として選択し、当該端末ＩＤ「1221」の端末装置のＩＰアドレス「21.13.21.13」を取り出す。そして、当該ＩＰアドレス「21.13.21.13」を送信先端末装置としてコンテンツ登録メッセージを送信する。なお、このコンテンツ登録メッセージの宛先識別情報は「1231」となる。
【０１７３】
（メッセージ転送処理手段について）
メッセージ転送処理手段は、メッセージ宛先判定手段によりネットワーク６を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報をルーティングテーブル２２３から取り出し、転送先の端末装置へ受信したメッセージを転送する。
【０１７４】
（デコード手段について）
デコード手段は、他の端末装置２から送信されるコンテンツデータ等を内蔵ディスプレイ２１０に表示し、内蔵スピーカ２１２から出力するためにデコードする。すなわち、他の端末装置２から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばＡＳＦ、ＷＭＡ、ＷＭＶ等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ２１０や内蔵スピーカ２１２から出力できるようにデコードする。
【０１７５】
（コンテンツ再生手段について）
コンテンツ再生手段は、ハードディスク装置２０３に記憶したコンテンツデータを取り出して再生するものであり、このとき制御部２３０は、ストリーミング制御プログラム２１５に基づいてビデオチップ２０９及び音源チップ２１１を動作させることによりコンテンツデータが再生される。
【０１７６】
［３．端末装置２の処理フロー］
以下、コンテンツ配信システムＳにおける端末装置２の動作の一例について、図１８のフローチャートを参照して説明する。図１８は端末装置２における処理を示すフローチャートである。なお、以下の各処理は、端末装置２の制御部２３０が上述した手段等として機能することによって実行されるものである。
【０１７７】
端末装置２の電源がＯＮになったとき、或いは端末装置２における図示しないリセットボタンが押下されたとき、図１８に示すように、初期化処理を行う。この初期化処理は、端末装置２のＣＰＵ２０２は、主記憶装置２０５やハードディスク装置２０３のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム２１５〜２１９，２２１をＣＰＵ２０２による実行状態とし、制御部２３０としての機能を動作させた後（ステップＳ１００）、ステップＳ１０１に処理を移す。
【０１７８】
ステップＳ１０１において、制御部２３０は、第２配信形態への参加処理を行う。この参加処理は、図１０において説明したように、要求に応じてコンタクト先紹介装置５から所在情報が送信されたコンタクト先端末装置に対して参加メッセージを送信する。その後、参加メッセージを受信した端末装置２から送信されるルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得し、第２配信形態に参加するために必要なルーティングテーブルを生成することによって、第２配信形態に参加し、処理をステップＳ１０２へ移行する。
【０１７９】
また、制御部２３０は、コンテンツ投入装置４から識別情報リストを取得する。この識別情報リストの取得は、制御部２３０がコンテンツ投入装置４に対して、識別情報リストを要求し、当該要求に対して送信される識別情報リストを受信することによって行う。この識別情報リストは、上述のように第２配信形態において取得可能な複数のコンテンツデータの名称等とコンテンツＩＤとが関連付けられた情報であり、制御部２３０がこの識別情報リストを取得し、内蔵ディスプレイ２１０に表示した状態で、端末装置２のユーザがリモコン２０８等の操作により、第２配信形態でのコンテンツデータの取得を行うことができるようにしている。
【０１８０】
ステップＳ１０２において、制御部２３０は、自端末装置２の通信帯域の検出処理を行う。この通信帯域の検出処理は、上述のように、ネットワーク６上に配置された通信帯域検出用サーバ（図示せず）を用いて、このサーバに所定容量のデータを送受信することにより行われるものであり、上りの通信帯域と下りの通信帯域とをそれぞれが検出される。
【０１８１】
次に、制御部２３０は、ステップＳ１０３において、視聴用チャンネルへの参加処理を行う。制御部２３０は、チャンネル選択手段であるリモコン２０８のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に接続して、処理をステップＳ１０４に移行する。
【０１８２】
なお、制御部２３０をチャンネル選択手段として機能させるようにしてもよい。例えば、端末装置２の電源ＯＦＦ時直前に視聴しているチャンネル（以下、「最終視聴用チャンネル」と呼ぶ。）を制御部２３０によってハードディスク装置２０３に記憶し、このように記憶した最終視聴用チャンネルを制御部２３０がチャンネル選択手段として選択するように機能するように構成してもよい。
【０１８３】
ステップＳ１０４において、制御部２３０は、チャンネル選択手段によって選択されたチャンネルと所定の関係を有するチャンネルであるザッピング対策チャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３からそれぞれ通知された接続先候補に接続して処理をステップＳ１０５に移行する。
【０１８４】
このように、ステップＳ１０３及ステップＳ１０４においては、チャンネル選択手段によって選択されたチャンネルを視聴用チャンネルとしてその接続先候補を接続管理装置３へ要求すると共に、ザッピング対策チャンネルとして、この視聴用チャンネルと所定関係を有するチャンネルに関する接続先候補を接続管理装置３へ要求するようにしている。この接続先候補の要求に対して接続管理装置３からはチャンネル毎に複数の接続先候補が送信されるため、制御部２３０は、この複数の接続先候補から一の接続先候補をチャンネル毎に選択し、この接続先候補に対してそれぞれ接続を要求することによって、視聴用チャンネル及びザッピング対策チャンネルに関する接続先候補に接続することになる。例えば、視聴用チャンネルと所定関係を有するチャンネルを、視聴チャンネルの番号の±１の番号を有するチャンネルとした場合において、全チャンネルがｃｈ１〜ｃｈ１０である場合には、チャンネル選択手段によって選択されたチャンネルがｃｈ１であれば接続先候補を要求するチャンネルは、ｃｈ１のほか、ｃｈ２（ｃｈ１＋１），ｃｈ１０（ｃｈ１−１）となる。
【０１８５】
ここで、視聴用チャンネルやザッピング対策チャンネルに関する接続先候補に接続すると、接続した上流装置からコンテンツパケットが送信されてくる。制御部２３０は、ネットワークインタフェース２０４を介して、上流の接続先装置から送信されるコンテンツパケットを受信し、このコンテンツパケットからコンテンツデータを取り出してリングバッファ領域２２０に記憶し、下流側の端末装置２がある場合には、更にそのコンテンツデータを取り出してコンテンツパケットとして下流側の端末装置２へ転送する。
【０１８６】
また、制御部２３０は、上流装置から受信したコンテンツパケットが選択チャンネルのコンテンツパケットであるか否かを判定する。選択チャンネルのコンテンツパケットであるか否かは、制御部２３０がネットワーク６を介して上流装置から受信したコンテンツパケットのヘッダ部に基づいて判定する。すなわち、制御部２３０は、コンテンツパケットのヘッダ部に含まれるチャンネル情報が、選択チャンネルであるか否かにより判定するのである。
【０１８７】
制御部２３０は、上流装置から受信したコンテンツパケットが選択したチャンネル（視聴用チャンネル）のコンテンツパケットであると判定すると、制御部２３０は、リングバッファ領域２２０に記憶したコンテンツデータを取得して再生する。コンテンツパケットの再生は、音源チップ２１１やビデオチップ２０９を動作させることによってこの機能を実現しており、リングバッファ領域２２０に格納したコンテンツデータのうち再生時刻となったコンテンツパケットを順次取り出して、所定のコンテンツデータ形式（たとえば、Ｗａｖｅ形式）に変換して音源チップ２１１やビデオチップ２０９へ入力し、コンテンツの再生を行う。
【０１８８】
ステップＳ１０５において、制御部２３０は、第２配信形態でのダウンロード処理を開始する契機となったか否かを判定する。すなわち、制御部２３０は、第２配信形態におけるダウンロード処理を行う必要があるか否かを判定する。制御部２３０は、第２配信形態によるコンテンツデータのダウンロード要求の操作を検出したときに、第２配信形態におけるダウンロード処理を行う必要があると判定する。また、制御部２３０は、ユーザからのダウンロード要求があったと判定したコンテンツデータに関するコンテンツＩＤをコンテンツ投入装置４から取得した識別情報リストから取得する。
【０１８９】
この処理において、第２配信形態でのダウンロード処理を開始する契機となったと判定すると（ステップＳ１０５：ＹＥＳ）、制御部２３０は、自端末装置２において第１配信形態及び第２配信形態に用いられるリソースの空き状態を検出する（ステップＳ１０６）。すなわち、第１配信形態及び第２配信形態に用いられるリソースに関して、第１配信形態において視聴用チャンネル及びザッピング対策チャンネルに関する処理での使用率を検出することにより、第１配信形態に用いられる使用率を求め、第２配信形態でのダウンロード処理での使用率を予測することにより、第２配信形態に用いられる使用率を求める。そして、これらの使用率を加算して、第１配信形態及び第２配信形態に用いられるリソースの使用率を求めて、リソースの空き率を検出して、処理をステップＳ１０７に移行する。なお、リソースのうち通信帯域に関しては上りの通信帯域を検出することになる。また、第２配信形態でのダウンロード処理での使用率は、ダウンロードするコンテンツデータの種類やサイズなどから求める。
【０１９０】
ステップＳ１０７において、制御部２３０は、リソースの空きがあるか否かを判定する。リソースの空きがあるか否かは、第２配信形態でのコンテンツデータのダウンロード処理を行うためのリソースが確保できるか否かにより判定される。すなわち、ステップＳ１０６で検出したリソースの空き率が０未満になっているときには、リソースに空きがないと判定し、ステップＳ１０６で検出したリソースの空き率がある場合には、リソースに空きがあると判定する。この処理において、制御部２３０は、リソースに空きがないと判定すると（ステップＳ１０７：ＮＯ）、処理をステップＳ１０８に移行する。また、制御部２３０は、ダウンロード要求があったコンテンツデータがハードディスク装置２０３のコンテンツデータ記憶領域に記憶されていると判定した場合には、処理をステップＳ１０８ではなく、ステップＳ１０９に移行する。
【０１９１】
ステップＳ１０８において、制御部２３０は、第２配信形態に用いられるリソースの使用状態、すなわち第１配信形態で用いられているリソースの使用率に応じて、ザッピング対策チャンネルのうち、１以上のザッピング対策チャンネルに関する接続先装置との接続を切断して、第２配信形態でのコンテンツデータのダウンロード処理を行うためのリソースを確保する。
【０１９２】
一方、リソースに空きがあると判定すると（ステップＳ１０７：ＹＥＳ）、ザッピング対策チャンネルに関する接続先装置との接続を維持したまま、処理をステップＳ１０９に移行する。
【０１９３】
ステップＳ１０９において、制御部２３０は、ダウンロード機能の使用処理を行う。この処理において、制御部２３０は、まずユーザからのダウンロード要求があったと判定したコンテンツデータに関するコンテンツＩＤをコンテンツ投入装置４から取得した識別情報リストから取得する。
【０１９４】
次に、制御部２３０は、インデックステーブル２２２にコンテンツＩＤが存在するか否かを判定する。この処理において、インデックステーブル２２２にコンテンツＩＤが存在すると判定されると、制御部２３０は、インデックステーブル２２２からコンテンツ保持端末装置の所在情報を取得する。一方、インデックステーブル２２２にコンテンツＩＤが存在しないと判定されると、制御部２３０は、ルーティングテーブル２２３に基づいて、ネットワーク６を介して検索メッセージを他の端末装置２へ転送し、この検索メッセージに対して他の端末装置から送信されるコンテンツ保持端末装置の所在情報を取得する。
【０１９５】
その後、制御部２３０は、取得したコンテンツ保持端末装置の所在情報宛に、コンテンツ送信要求を送信する。すなわち、制御部２３０は、コンテンツ保持端末装置に対してダウンロード送信要求を行う。制御部２３０は、このダウンロード送信要求に対してコンテンツ保持端末装置から送信されるコンテンツデータを受信し、ハードディスク装置２０３のコンテンツデータ記憶領域に記憶することによって、ダウンロード機能の使用処理を終了し（ステップＳ１１０）、処理をステップＳ１１１に移行する。
【０１９６】
ステップＳ１１１において、制御部２３０は、ステップＳ１０５で接続を切断したザッピング対策チャンネルに関する接続の復帰処理を行う。この復帰処理は、ザッピング対策チャンネルに関する接続先候補を接続管理装置３へ要求し、この接続先候補の要求に対して接続管理装置３から送信される接続先候補に対して接続を要求することによって行われる。
【０１９７】
また、ステップＳ１０５において、第２配信形態でのダウンロード処理を開始する契機となっていないと判定すると（ステップＳ１０５：ＮＯ）、制御部２３０は、第２配信形態でのアップロード処理が開始される契機となったか否かを判定する（ステップＳ１１３）。すなわち、制御部２３０は、第２配信形態におけるアップロード処理を行う必要があるか否かを判定する。制御部２３０は、第２配信形態に参加している他の端末装置２からコンテンツデータのダウンロード要求を受信したときに、第２配信形態におけるアップロード処理を行う必要があると判定する。
【０１９８】
この処理において、第２配信形態でのアップロード処理を開始する契機でないと判定すると（ステップＳ１１２：ＮＯ）、その他のデータを受信又はその他のユーザの指示を受けたか否かを判断する（ステップＳ１１９）。そして、その他のデータを受信又はユーザの指示を受けたと判断すると（ステップＳ１１９：ＹＥＳ）、制御部２３０は、そのデータ又は指示に応じた処理を行う（ステップＳ１２０）。
【０１９９】
また、ステップＳ１１２において、第２配信形態でのアップロード処理を開始する契機となったと判定すると（ステップＳ１１２：ＹＥＳ）、制御部２３０は、自端末装置２において第１配信形態及び第２配信形態に用いられるリソースの空き状態を検出する（ステップＳ１１２）。このときの処理は、基本的にステップＳ１０６の処理と同様であるが、リソースのうち通信帯域に関しては下りの通信帯域を検出することになる。
【０２００】
ステップＳ１１４において、制御部２３０は、リソースの空きがあるか否かを判定する。リソースの空きがあるか否かは、第２配信形態でのコンテンツデータのアップロード処理を行うためのリソースが確保できるか否かにより判定される。このときの処理は、基本的にステップＳ１０７の処理と同様であるが、リソースのうち通信帯域に関しては下りの通信帯域である。この処理において、制御部２３０は、リソースに空きがないと判定すると（ステップＳ１１４：ＮＯ）、処理をステップＳ１１５に移行する。
【０２０１】
ステップＳ１１５において、制御部２３０は、第２配信形態に用いる必要があるリソースの使用状態、すなわち第２配信形態に用いられるリソースの使用状態に応じて、ザッピング対策チャンネルのうち、１以上のザッピング対策チャンネルに関する接続先装置との接続を切断して、第２配信形態でのコンテンツデータのアップロード処理を行うためのリソースを確保する。
【０２０２】
一方、リソースに空きがあると判定すると（ステップＳ１１４：ＹＥＳ）、ザッピング対策チャンネルに関する接続先装置との接続を維持したまま、処理をステップＳ１１６に移行する。
【０２０３】
ステップＳ１１６において、制御部２３０は、アップロード機能の使用処理を行う。この処理において、制御部２３０は、他の端末装置２からダウンロード要求があったコンテンツデータをハードディスク装置２０３のコンテンツデータ記憶領域から取り出して、ダウンロード要求を行った他の端末装置２に送信することによってアップロード処理を行い、このアップロード処理が終了する（ステップＳ１１７）と、アップロード機能の使用処理を終了し、処理をステップＳ１１８に移行する。
【０２０４】
ステップＳ１１８において、制御部２３０は、ステップＳ１１５で接続を切断したザッピング対策チャンネルに関する接続の復帰処理を行う。この復帰処理は、ステップＳ１１１と同様に、ザッピング対策チャンネルに関する接続先候補を接続管理装置３へ要求し、この接続先候補の要求に対して接続管理装置３から送信される接続先候補に対して接続を要求することによって行われる。
【０２０５】
ステップＳ１１１、ステップＳ１１８又はステップＳ１２０の処理が終了したとき、ステップＳ１１９において、他のデータを受信又はユーザの指示を受けていないと判断したとき（ステップＳ１１９：ＮＯ）、制御部２３０は、自端末装置２の電源がＯＦＦとなっているか否かを判定する（ステップＳ１２１）。この処理において、自端末装置２の電源がＯＦＦとなっていると判定すると（ステップＳ１２１：ＹＥＳ）、制御部２３０は、処理を終了する。一方、自端末装置２の電源がＯＦＦとなっていないと判定すると（ステップＳ１２１：ＮＯ）、制御部２３０は、処理をステップＳ１０５に戻して、ステップＳ１０５〜Ｓ１２１までの処理を繰り返す。
【０２０６】
以上のように、本実施形態の端末装置２によれば、第１配信形態であるツリー型階層構造による放送形態でコンテンツデータを視聴する際に、ザッピング対策用として視聴するチャンネルと一定の関係を有するチャンネルの階層構造に参加し、その後、グリッド型接続などの第２配信形態によるコンテンツデータのダウンロード又はアップロードを実行するとき、第２配信形態に用いるリソースの使用状態に応じて、ザッピング対策チャンネルの階層構造から自動で脱退し、第２配信形態でのコンテンツ購入処理が終了したら自動でザッピング対策チャンネルの階層構造に自動的に再接続（再参加）するようにしているので、リソースが限られている端末装置であっても、ザッピング対策を施しつつ、第１配信形態と第２配信形態とを両立することができるコンテンツ配信システム又はその端末装置を提供することができる。
【０２０７】
なお、本実施形態における端末装置２では、リソースとして、ＣＰＵの処理能力、メモリの容量及び通信帯域の全てについて、使用状態を検出するようにしたが、これに限られず、これらのうち一つ又は２つを検出するリソースとするようにしてもよい。また、リソースとして、ＣＰＵの処理能力、メモリの容量及び通信帯域を例示的に示したが、これに限られない。
【０２０８】
［４．変形例１］
上記実施形態においては、ルート端末装置がリクエスト端末装置に対してコンテンツデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得するものであったが、ルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するようにしてもよい。
【０２０９】
この場合、図１９に示すように、ルート端末装置２Ｚは、リクエスト端末装置２Ｘから要求されたコンテンツデータを保持するコンテンツ保持端末装置２Ｙの所在情報をインデックステーブル２２２から取り出す。そして、当該コンテンツ保持端末装置２Ｙの所在情報に基づいて、リクエスト端末装置２Ｘの所在情報を含めたコンテンツデータの送信要求をコンテンツ保持端末装置２Ｙへ送信する。コンテンツ保持端末装置２Ｙは、コンテンツデータの送信要求を受信すると、このコンテンツデータの送信要求に含まれるリクエスト端末装置２Ｘの所在情報に対して、コンテンツデータの送信要求に対応するコンテンツデータを送信することになる。
【０２１０】
すなわち、端末装置２の制御部２３０は、リクエスト端末装置２Ｘからコンテンツ検索メッセージをルート端末装置２Ｚとして受信したとき、コンテンツ保持端末装置情報返信手段の機能に代えて、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置２Ｙの所在情報を宛先として、リクエスト端末装置２Ｘの所在情報を含めたコンテンツデータの送信要求を送信するコンテンツデータ送信要求手段として機能する。
【０２１１】
なお、リクエスト端末装置２Ｘは、ダウンロード先検索手段によってコンテンツ検索メッセージを送信し、ダウンロードデータ受信手段は、このコンテンツ検索メッセージに応じたコンテンツデータをコンテンツ保持端末装置２Ｙから受信する。
【０２１２】
このようにルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するように第２配信形態を構成することも可能である。
【０２１３】
［５．その他の変形例］
また、第２配信形態として、Ｐａｓｔｒｙ型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるｋａｄｅｍｌｉａ型、ｃｈｏｒｄ型、Ｖｉｃｅｒｏｙ型、ＣＡＮ型などのコンテンツ配信システムにも本発明を適用可能である。
【図面の簡単な説明】
【０２１４】
【図１】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図２】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図３】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図４】本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。
【図５】本実施形態に係るコンテンツ配信システムの第１配信形態の配信動作説明図である。
【図６】図１の端末装置におけるリングバッファ領域の機能を概念的に表した図である。
【図７】本実施形態に係るコンテンツ配信システムの第２配信形態の配信動作説明図である。
【図８】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図９】図１の端末装置におけるルーティングテーブルの一例を示す図である。
【図１０】端末装置が第２配信形態へ参加する様子の一例を示す図である。
【図１１】ＤＨＴルーティングによりコンテンツデータを保持している端末装置２が検索される様子の一例を示す図である。
【図１２】ＤＨＴルーティングによりコンテンツデータが端末装置に保持される様子の一例を示す図である。
【図１３】ＤＨＴルーティングにより登録メッセージがルート端末装置に送信される一例を示す図である。
【図１４】図１の端末装置におけるインデックステーブルの一例を示す図である。
【図１５】図１の端末装置の概略構成例を示す図である。
【図１６】第１配信形態における端末装置の表示画面の一例を示す図である。
【図１７】第２配信形態における端末装置の表示画面の一例を示す図である。
【図１８】図１の端末装置における処理全体を示すフローチャートである。
【図１９】変形例１におけるコンテンツ配信システムの概要動作例を示す図である。
【符号の説明】
【０２１５】
Ｓ  コンテンツ配信システム
１  コンテンツ配信装置
２  端末装置
３  接続管理装置
４  コンテンツ投入装置
５  コンタクト先紹介装置
６  ネットワーク
２３０  制御部
【図１】
2008085678.tif 000006
【図２】
2008085678.tif 000007
【図３】
2008085678.tif 000008
【図４】
2008085678.tif 000009
【図５】
2008085678.tif 000010
【図６】
2008085678.tif 000011
【図７】
2008085678.tif 000012
【図８】
2008085678.tif 000013
【図９】
2008085678.tif 000014
【図１０】
2008085678.tif 000015
【図１１】
2008085678.tif 000016
【図１２】
2008085678.tif 000017
【図１３】
2008085678.tif 000018
【図１４】
2008085678.tif 000019
【図１５】
2008085678.tif 000020
【図１６】
2008085678.tif 000021
【図１７】
2008085678.tif 000022
【図１８】
2008085678.tif 000023
【図１９】
2008085678.tif 000024