(57)【要約】      （修正有）【課題】コンテンツを配信する装置における負担やネットワークシステムの通信経路における負担をより低減させる。【解決手段】複数の第１コンテンツデータが複数のノード装置１に分散保存され、一のノード装置１が他のノード装置１からの要求に応じて自己が保存している第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムＳ１に参加しているノード装置１であり、且つ、複数のノード装置３２が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置３１から配信された第２コンテンツデータが、上位階層のノード装置３２から下位階層のノード装置３２に順次転送されるようにしたツリー型配信システムＳ２に参加している配信元のノード装置３１であって、ノード装置１から第１コンテンツデータを取得し、取得した第１コンテンツデータを第２コンテンツデータとして他の前記ノード装置３２に配信する。【選択図】図９
2008033406.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、
複数のノード装置の参加により形成されたツリー型配信システムであって、前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記配信元のノード装置であって、
前記コンテンツ分散保存システムにおける前記第１コンテンツデータを保存している前記ノード装置から前記第１コンテンツデータを取得する第１コンテンツデータ取得手段と、
取得した前記第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信する第２コンテンツデータ配信手段と、
を有することを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置であって、
前記第１コンテンツデータ取得手段は、ストリーミング方式で送信されてきた前記第１コンテンツデータを取得し、
前記第２コンテンツデータ配信手段は、ストリーミング方式で前記第２コンテンツデータを他の前記ノード装置に配信することを特徴とするノード装置。
【請求項３】
請求項１又は２に記載のノード装置であって、
前記ノード装置は、さらに、受信した前記第１コンテンツデータを保存する記録媒体を有することを特徴とするノード装置。
【請求項４】
請求項３に記載のノード装置であって、
前記ノード装置は、さらに、前記第１コンテンツデータを取得した場合に、当該第１コンテンツデータを前記記録媒体に保存するか否かを判断する保存判断手段を有し、
前記記録媒体は、前記保存判断手段が保存すると判断した場合に、新たに前記第１コンテンツデータを保存することを特徴とするノード装置。
【請求項５】
請求項３又は４に記載のノード装置であって、
前記ノード装置は、さらに、前記記録媒体に前記第１コンテンツデータを新たに保存した場合に、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する公開情報送信手段と、
他の前記ノード装置から前記第１コンテンツデータの送信を要求する送信要求情報を受信する要求受信手段と、
前記要求受信手段が他の前記ノード装置から前記送信要求情報を受信した場合に、当該送信要求情報に応じて前記記録媒体に保存されている前記第１コンテンツデータを送信する第１コンテンツデータ送信手段と、
を有することを特徴とするノード装置。
【請求項６】
請求項５に記載のノード装置であって、
前記ノード装置は、さらに、前記記録媒体に前記第１コンテンツデータを新たに保存した場合に、前記公開情報を送信するか否かを判断する公開判断手段を有し、
前記公開情報送信手段は、前記公開判断手段が前記公開情報を送信すると判断した場合に、前記公開情報を送信することを特徴とするノード装置。
【請求項７】
請求項１乃至６のいずれか一項に記載のノード装置であって、
前記ノード装置は、さらに、前記第２コンテンツデータ配信手段により配信すべき前記第２コンテンツデータに対応する前記第１コンテンツデータを保存している前記ノード装置の所在を検索するための検索情報を、コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する検索手段と、
前記管理元のノード装置から前記第１コンテンツデータの所在を示すノード情報を受信した場合に、当該ノード情報に対応する前記ノード装置に前記第１コンテンツデータの送信を要求する送信要求情報を送信する要求送信手段と、
を有し、
前記第１コンテンツデータ取得手段は、前記送信要求情報の送信先の前記ノード装置から前記第１コンテンツデータを取得することを特徴とするノード装置。
【請求項８】
請求項１乃至７のいずれか一項に記載のノード装置であって、
前記ノード装置は、さらに、取得した前記第１コンテンツデータをツリー型配信システムにおいて配信するための形式に変換して前記第２コンテンツデータとする変換手段を有し、
前記第２コンテンツデータ配信手段は、前記変換手段により変換された後の前記第２コンテンツデータを他の前記ノード装置に配信することを特徴とするノード装置。
【請求項９】
請求項８に記載のノード装置であって、
前記変換手段は、前記第１コンテンツデータに含まれる映像、画像又は音声の少なくともいずれか一を劣化させて前記第２コンテンツデータとすることを特徴とするノード装置。
【請求項１０】
請求項８又は９に記載のノード装置であって、
前記変換手段は、前記第１コンテンツデータに含まれる映像を部分的に間引く、前記第１コンテンツデータに含まれる映像の一部を選択する、前記第１コンテンツデータに含まれる映像若しくは画像の大きさを縮小する、前記第１コンテンツデータに含まれる映像若しくは画像の画質を劣化させる、又は前記第１コンテンツデータに含まれる音声の音質を劣化させる、の少なくともいずれか一を行うことを特徴とするノード装置。
【請求項１１】
請求項１乃至１０のいずれか一項に記載のノード装置であって、
前記第１コンテンツデータ取得手段により取得した第１コンテンツデータが前記ツリー型配信システムにおいて配信するコンテンツデータに対応するか否かを判断するコンテンツ判断手段をさらに有し、
前記コンテンツ判断手段が前記第１コンテンツデータ取得手段により取得した第１コンテンツデータが前記ツリー型配信システムにおいて配信するコンテンツデータに対応すると判断した場合に、前記第２コンテンツデータ配信手段は、取得した当該第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信することを特徴とするノード装置。
【請求項１２】
コンピュータを、請求項１乃至１１のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラム。
【請求項１３】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、
複数のノード装置の参加により形成されたツリー型配信システムであって、前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記配信元のノード装置におけるコンテンツ配信方法であって、
前記コンテンツ分散保存システムにおける前記第１コンテンツデータを保存している前記ノード装置から前記第１コンテンツデータを取得する工程と、
取得した前記第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信する工程と、
を有することを特徴とするコンテンツ配信方法。
【請求項１４】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、
複数のノード装置の参加により形成されたツリー型配信システムであって、前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムであって、
前記コンテンツ分散保存システムに参加している前記ノード装置であり、且つ、前記ツリー型配信システムに参加している前記配信元のノード装置は、
前記コンテンツ分散保存システムにおける前記第１コンテンツデータを保存している前記ノード装置から前記第１コンテンツデータを取得する第１コンテンツデータ取得手段と、
取得した前記第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信する第２コンテンツデータ配信手段と、
を有することを特徴とするコンテンツ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信手段を介して互いに接続された複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型のコンテンツ配信システム及び方法等の技術分野に関する。
【背景技術】
【０００２】
近年、ブロードバンドの普及によりＶＯＤ（ビデオオンデマンド）等のコンテンツ配信サービスが行われている。現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピアという技術が注目されてきている。ピアツーピア型の情報通信システムとしては、ツリー型のネットワーク形式（例えば、特許文献１参照）が知られている。
【特許文献１】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ツリー型のコンテンツ配信サービスとしては、初めにコンテンツを配信し、放送局の役割を果たす放送局装置が、当該装置自身が有しているデータベースにコンテンツを保存している態様が考えられる。そして、当該放送局装置は、放送番組のプログラムに従って、配信するコンテンツをデータベースから準備し、配信する。このとき、配信するコンテンツが増大すると、放送局装置が保有するデータベースも増大する。また、放送局としてコンテンツを配信する他、当該データベースから他のノード装置にコンテンツを送信する場合には放送局装置に通信が集中し、各通信が滞る可能性がある。
【０００４】
そこで、本発明は、コンテンツの放送局装置における負担やネットワークシステムの通信経路における負担をより低減させたコンテンツ配信システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、請求項１に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、複数のノード装置の参加により形成されたツリー型配信システムであって、前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記配信元のノード装置であって、前記コンテンツ分散保存システムにおける前記第１コンテンツデータを保存している前記ノード装置から前記第１コンテンツデータを取得する第１コンテンツデータ取得手段と、取得した前記第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信する第２コンテンツデータ配信手段と、を有することを特徴とするノード装置である。
【０００６】
これによれば、配信元のノード装置は、配信する第２コンテンツデータを予めデータベース等に保存しておく必要がないため、データベースに多くのコンテンツデータを予め保存し、当該ノード装置に通信が集中することが防止される。そのため、ノード装置自体の負担や通信経路の負担、すなわちコンテンツ配信システム全体における負担も低減される。また、このように機能する配信元のノード装置は、配信する第２コンテンツデータ保存用のデータベース等を増大させる必要がなく、配信コンテンツ用のデータベースに費用をかかることを防止できる。さらに、配信元のノード装置をこのような構成とすれば、ツリー型配信システムにおける放送局装置を別途設けずに、通常のノード装置を放送局装置として機能させることができる。
【０００７】
上記課題を解決するために、請求項２に記載の発明は、請求項１に記載のノード装置であって、前記第１コンテンツデータ取得手段は、ストリーミング方式で送信されてきた前記第１コンテンツデータを取得し、第２コンテンツデータ配信手段は、ストリーミング方式で前記第２コンテンツデータを他の前記ノード装置に配信することを特徴とするノード装置である。
【０００８】
これによれば、データの送受信をストリーミング方式で行うことにより、ノード装置は、一の第１コンテンツデータを受信している途中であっても、これに対応する第２コンテンツデータを送信することができる。そのため、データを全て受信するまで待たずにツリー型配信システムにおいて第２コンテンツデータを送信することができ、速やかにデータの配信を行うことができる。
【０００９】
上記課題を解決するために、請求項３に記載の発明は、請求項１又は２に記載のノード装置であって、前記ノード装置は、さらに、受信した前記第１コンテンツデータを保存する記録媒体を有することを特徴とするノード装置である。
【００１０】
これによれば、ノード装置は第１コンテンツデータを保存できるため、同様の第１コンテンツデータに対応する第２コンテンツデータを再度配信する場合に、再度第１コンテンツデータを取得することから始める必要がなく、通信経路への負担を低減できる。
【００１１】
上記課題を解決するために、請求項４に記載の発明は、請求項３に記載のノード装置であって、前記ノード装置は、さらに、前記第１コンテンツデータを取得した場合に、当該第１コンテンツデータを前記記録媒体に保存するか否かを判断する保存判断手段を有し、前記記録媒体は、前記保存判断手段が保存すると判断した場合に、新たに前記第１コンテンツデータを保存することを特徴とするノード装置である。
【００１２】
これによれば、ノード装置は、第１コンテンツデータの必要性や自身の記録媒体における残りの記憶容量等に応じて、第１コンテンツデータを新たに記録するか否かを判断できる。そのため、ノード装置に負担をかけることなく必要に応じて受信した第１コンテンツデータを保存できる。
【００１３】
上記課題を解決するために、請求項５に記載の発明は、請求項３又は４に記載のノード装置であって、前記ノード装置は、さらに、前記記録媒体に前記第１コンテンツデータを新たに保存した場合に、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する公開情報送信手段と、他の前記ノード装置から前記第１コンテンツデータの送信を要求する送信要求情報を受信する要求受信手段と、前記要求受信手段が他の前記ノード装置から前記送信要求情報を受信した場合に、当該送信要求情報に応じて前記記録媒体に保存されている前記第１コンテンツデータを送信する第１コンテンツデータ送信手段と、を有することを特徴とするノード装置である。
【００１４】
これによれば、配信元のノード装置がある第１コンテンツデータを保存していることを他のノード装置に対して公開することにより、他のノード装置は配信元のノード装置から当該第１コンテンツデータを取得できることとなる。そのため、他のノード装置は、元々第１コンテンツノードを保存しているノード装置（例えば、コンテンツノード等）の他に配信元のノード装置から第１コンテンツデータを取得できることとなり、他のノード装置を有するユーザの利便性が向上する他、元々第１コンテンツノードを保存しているノード装置における他のノード装置へ第１コンテンツデータを送信する通信の負担が低減される。
【００１５】
上記課題を解決するために、請求項６に記載の発明は、請求項５に記載のノード装置であって、前記ノード装置は、さらに、前記記録媒体に前記第１コンテンツデータを新たに保存した場合に、前記公開情報を送信するか否かを判断する公開判断手段を有し、前記公開情報送信手段は、前記公開判断手段が前記公開情報を送信すると判断した場合に、前記公開情報を送信することを特徴とするノード装置である。
【００１６】
これによれば、ノード装置は、コンテンツ分散保存システムにおける第１コンテンツデータの複製の必要性や、自身の通信状況等に応じて、公開情報を送信するか否かを判断できる。そのため、公開情報を送信しないと判断した場合には、他のノード装置から送信要求情報を受信することがないため、ノード装置における通信の負担が増大することが防止できる。
【００１７】
上記課題を解決するために、請求項７に記載の発明は、請求項１乃至６のいずれか一項に記載のノード装置であって、前記ノード装置は、さらに、前記第２コンテンツデータ配信手段により配信すべき前記第２コンテンツデータに対応する前記第１コンテンツデータを保存している前記ノード装置の所在を検索するための検索情報を、コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する検索手段と、前記管理元のノード装置から前記第１コンテンツデータの所在を示すノード情報を受信した場合に、当該ノード情報に対応する前記ノード装置に前記第１コンテンツデータの送信を要求する送信要求情報を送信する要求送信手段と、を有し、前記第１コンテンツデータ取得手段は、前記送信要求情報の送信先の前記ノード装置から前記第１コンテンツデータを取得することを特徴とするノード装置である。
【００１８】
これによれば、ノード装置が検索情報を送信することにより、第１コンテンツデータの所在（第１コンテンツデータを保存している他のノード装置のＩＰアドレス等）がわかり、当該他のノード装置から第１コンテンツデータを取得することが可能となる。そのため、ノード装置が第１コンテンツデータの所在を常に記憶している必要がなく、ノード装置における記憶することの負担が低減される。
【００１９】
上記課題を解決するために、請求項８に記載の発明は、請求項１乃至７のいずれか一項に記載のノード装置であって、前記ノード装置は、さらに、取得した前記第１コンテンツデータをツリー型配信システムにおいて配信するための形式に変換して前記第２コンテンツデータとする変換手段を有し、前記第２コンテンツデータ配信手段は、前記変換手段により変換された後の前記第２コンテンツデータを他の前記ノード装置に配信することを特徴とするノード装置である。
【００２０】
これによれば、ノード装置は、データを変換することにより、ツリー型配信システムに合った形式で第２コンテンツデータを配信することができ、データの形式があわないことにより下流のノード装置において負担がかかることが防止される。
【００２１】
上記課題を解決するために、請求項９に記載の発明は、請求項８に記載のノード装置であって、前記変換手段は、前記第１コンテンツデータに含まれる映像、画像又は音声の少なくともいずれか一を劣化させて前記第２コンテンツデータとすることを特徴とするノード装置である。
【００２２】
これによれば、ノード装置は、ツリー型配信システムにおいては、変換され、正規の第１コンテンツデータよりも質の低い第２コンテンツデータを配信し、コンテンツ分散保存システムにおいては、正規の第１コンテンツデータを保存することができる。そして、ツリー型配信システムの各ノード装置において第２コンテンツデータを視聴して気に入った視聴者が、改めてコンテンツ分散保存システムにおいて正規の第１コンテンツデータを取得することができる。
【００２３】
上記課題を解決するために、請求項１０に記載の発明は、請求項８又は９に記載のノード装置であって、前記変換手段は、前記第１コンテンツデータに含まれる映像を部分的に間引く、前記第１コンテンツデータに含まれる映像の一部を選択する、前記第１コンテンツデータに含まれる映像若しくは画像の大きさを縮小する、前記第１コンテンツデータに含まれる映像若しくは画像の画質を劣化させる、又は前記第１コンテンツデータに含まれる音声の音質を劣化させる、の少なくともいずれか一を行うことを特徴とするノード装置である。
【００２４】
これによれば、上記の点に加え、第１コンテンツデータについて、具体的にこのような変換を行い、第２コンテンツデータとして配信することにより、下流のノード装置が送受信するデータの容量を小さくすることもでき、当該ノード装置の負担を低減させることができる。
【００２５】
上記課題を解決するために、請求項１１に記載の発明は、請求項１乃至１０のいずれか一項に記載のノード装置であって、前記第１コンテンツデータ取得手段により取得した第１コンテンツデータが前記ツリー型配信システムにおいて配信するコンテンツデータに対応するか否かを判断するコンテンツ判断手段をさらに有し、前記コンテンツ判断手段が前記第１コンテンツデータ取得手段により取得した第１コンテンツデータが前記ツリー型配信システムにおいて配信するコンテンツデータに対応すると判断した場合に、前記第２コンテンツデータ配信手段は、取得した当該第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信することを特徴とするノード装置である。
【００２６】
これによれば、通常のノード装置がツリー型配信システムの配信元のノード装置として機能する場合に、コンテンツ判断手段は、取得した第１コンテンツデータが、当該ノード装置（ユーザ）の希望に基づいて取得したものか、ツリー型配信システムにおいて配信するために取得したものかを判断することができる。このとき、ノード装置は、ツリー型配信システムにおいて配信するために取得したコンテンツデータのみを第２コンテンツデータとして配信できる。
【００２７】
上記課題を解決するために、請求項１２に記載の発明は、コンピュータを、請求項１乃至１１のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラムである。
【００２８】
上記課題を解決するために、請求項１３に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、複数のノード装置の参加により形成されたツリー型配信システムであって、前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記配信元のノード装置におけるコンテンツ配信方法であって、前記コンテンツ分散保存システムにおける前記第１コンテンツデータを保存している前記ノード装置から前記第１コンテンツデータを取得する工程と、取得した前記第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信する工程と、を有することを特徴とするコンテンツ配信方法である。
【００２９】
上記課題を解決するために、請求項１４に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、複数のノード装置の参加により形成されたツリー型配信システムであって、前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、配信元のノード装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムであって、前記コンテンツ分散保存システムに参加している前記ノード装置であり、且つ、前記ツリー型配信システムに参加している前記配信元のノード装置は、前記コンテンツ分散保存システムにおける前記第１コンテンツデータを保存している前記ノード装置から前記第１コンテンツデータを取得する第１コンテンツデータ取得手段と、取得した前記第１コンテンツデータを前記第２コンテンツデータとして前記ツリー型配信システムにおける他の前記ノード装置に配信する第２コンテンツデータ配信手段と、を有することを特徴とするコンテンツ配信システムである。
【発明の効果】
【００３０】
本発明によれば、配信元のノード装置が、特に第１コンテンツデータ受信手段及び第２コンテンツデータ送信手段を有することにより、ノード装置自体の負担や通信経路の負担、すなわちコンテンツ配信システム全体における負担が低減される。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の最良の実施形態を図面に基づいて説明する。以下に説明する実施の形態は、ＤＨＴを利用したコンテンツ分散保存システム及びツリー型配信システムを備えるコンテンツ配信システムに本発明を適用した場合の実施形態である。本発明においては、コンテンツ分散保存システム内で送受信されるコンテンツデータを第１コンテンツデータとし、ツリー型配信システム内で送受信されるコンテンツデータを第２コンテンツデータとしている。なお、本発明のコンテンツ配信システム等の各発明は、以下に説明する実施形態に限定されず、本発明の技術思想の範囲内で適宜変更して実施される。
【００３２】
［１．コンテンツ配信システムの概略等］
始めに、図１を参照して、コンテンツ配信システムＳの概要構成等について説明する。
【００３３】
図１は、本実施形態に係るコンテンツ配信システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００３４】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、および通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３５】
コンテンツ配信システムＳは、このようなネットワーク８を介して相互に接続された複数のノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、ノード装置を示す情報としての固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号およびＩＰアドレスは、複数のノード装置１間で重複しないものである。なお、以下の説明において、ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置１という場合がある。
【００３６】
［２．コンテンツ分散保存システムの構成等］
次いで、コンテンツ配信システムＳに含まれるコンテンツ分散保存システムＳ１の構成等について説明する。
【００３７】
［２．１．ＤＨＴの概要］
以下に、本実施形態のコンテンツ分散保存システムＳ１に係る分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用したアルゴリズムについて説明する。
【００３８】
上述したコンテンツ配信システムＳにおいて、当該ノード装置１同士が、互いに情報をやり取りする際には、お互いのノード情報としてのＩＰアドレスを知っていなければならない。
【００３９】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各ノード装置１が互いにネットワーク８に参加している全てのノード装置１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がＯＮ或いはＯＦＦとすると、各ノード装置１にて記憶している当該任意のノード装置のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００４０】
そこで、１台のノード装置１では、ネットワーク８に参加している全てのノード装置１のうち、必要最低限のノード装置１のＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノード装置１については、各ノード装置１間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
【００４１】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠１００内に示すような、オーバレイネットワーク９が構築されることになる。つまり、このオーバレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００４２】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバレイネットワーク９を前提としており、このオーバレイネットワーク９上に配置されたノード装置１を、コンテンツ分散保存システムＳ１に参加（言い換えれば、オーバレイネットワーク９に参加）しているノード装置１という。なお、コンテンツ分散保存システムＳ１への参加は、未だ参加していないノード装置が、既に参加している任意のノード装置１に対して参加要求を送ることによって行われる。
【００４３】
コンテンツ分散保存システムＳ１に参加している各ノード装置１のノードＩＤは、それぞれのノード装置毎にユニーク（固有）な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128＝340×10＾36台のノード装置を運用できる。
【００４４】
より具体的には、各ノード装置１のノードＩＤは、それぞれのノード装置のＩＰアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた（ハッシュ化された）ノードＩＤは、当該ＩＰアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。なお、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値をノードＩＤとする。
【００４５】
また、コンテンツ分散保存システムＳ１に参加している複数のノード装置１には、１のノード装置１から他のノード装置1に配信される第１コンテンツデータ（例えば、映画や音楽等のデータ）が分散して記憶（保存）されているが、当該第１コンテンツデータにも、それぞれのコンテンツデータ毎にユニーク（固有）な番号（以下、コンテンツＩＤという。）を付与する。
【００４６】
そして、当該コンテンツＩＤは、ノードＩＤと同様の長さ（例えば、１２８ｂｉｔ等）とし、例えば、コンテンツの名称（コンテンツタイトル）やコンテンツの概要情報（あらすじ）等のキーワードが、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、ノード装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノード装置１が、当該第１コンテンツデータが記憶（保存）するか、あるいは、コンテンツデータを保持するノード装置へのリンク情報（コンテンツ保持ノードのＩＰアドレス）を保持する。これにより、第１コンテンツデータを偏りなくコンテンツ分散保存システムＳ１上に分散させることが可能となる。なお、異なる第１コンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、または作詞者名等）の組み合わせとすればよい。
【００４７】
このように、各ノード装置１および各第１コンテンツデータに付与されたノードＩＤおよびコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は３２ｂｉｔでノードＩＤおよびコンテンツＩＤを付与し、図示したものである。図中黒点はノードＩＤを、黒ひし形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００４８】
次に、どのノード装置１に、どの第１コンテンツデータの所在が記憶されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理するノード装置は、そのコンテンツＩＤに近いノードＩＤを有するノード装置１である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものとするが、実際には、各第１コンテンツデータの管理を各ノード装置１に割り振る際に、一貫していればよい。同図に示す例では、この定義に基づいて、コンテンツＩＤａは、ノードＩＤａを有するノード装置１に管理され、コンテンツＩＤｂは、ノードＩＤｂを有するノード装置１に管理され、コンテンツＩＤｃは、ノードＩＤｃを有するノード装置１に管理される。
【００４９】
なお、ここで「管理」というのは、第１コンテンツデータを保存（保持）していることを意味するのではなく、「第１コンテンツデータが何れのノード装置１に保存されているかを知っている」ことを言う。すなわち、図２において、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有する第１コンテンツデータが何れのノード装置１に保存されているかを知っており、ノードＩＤｂを有するノード装置１およびノードＩＤｃを有するノード装置１も同様にそれぞれコンテンツＩＤｂを有する第１コンテンツデータおよびコンテンツＩＤｃを有する第１コンテンツデータが何れのノード装置１に保存されているかを知っている、ということになる。このように、ある第１コンテンツデータが何れのノード装置１に保存されているかを知っているノード装置を、その第１コンテンツデータのルートノードと言う。つまり、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有する第１コンテンツデータのルートノードであって、ノードＩＤｂを有するノード装置１は、コンテンツＩＤｂを有する第１コンテンツデータのルートノードであって、ノードＩＤｃを有するノード装置１は、コンテンツＩＤｃを有する第１コンテンツデータのルートノードである。また、第１コンテンツデータを保持（保存）しているノード装置１をコンテンツノードという。
【００５０】
［２．２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。
【００５１】
図３は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００５２】
まず、図３（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長１６Ｂｉｔの４進数で表すこととした。そして、ノード装置１ＮのノードＩＤを「10230210」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
【００５３】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」（Ｘは０から３の自然数、以下同様。）で分けられる。ノード装置１Ｎは、当該ノード装置１Ｎ自身のノードＩＤが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXXXXXX」のエリア）以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００５４】
（レベル２のルーティング）
次に、図３（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル２のテーブルに記憶する。図４（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００５５】
（レベル３のルーティング）
さらに、図３（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。
【００５６】
このようにして、レベル４以下レベル８まで同様にルーティングテーブル図４（Ｄ）に示す如く作成することにより、１６ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００５７】
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置１が夫々作成して所有することになる。
【００５８】
［２．３．第１コンテンツデータの検索方法及び取得方法］
次に、図５を参照して、第１コンテンツデータの保存元であるノード装置１の検索方法及び取得方法の一例について説明する。これは、後述するノード装置１における第１コンテンツデータ取得手段、検索手段、要求送信手段、要求受信手段及び第１コンテンツデータ送信手段により行われるものである。
【００５９】
図５は、ＤＨＴにより第１コンテンツデータを保存しているノード装置１が検索される様子及び第１コンテンツデータが取得される様子の一例を示す図である。
【００６０】
ここでは、ノードＩＤ「12003030」のノード装置１−１（以下、このように第１コンテンツデータを探し、第１コンテンツデータの受信を要求するノード装置を「リクエストノード」と言う。）が、コンテンツＩＤ「31330012」を有する第１コンテンツデータを探す際の手順について説明する。
【００６１】
リクエストノードは、自己が保持しているルーティングテーブルのレベル１のテーブルを参照して、コンテンツＩＤ「31330012」と同じエリアのノードＩＤを持つノード装置に対してコンテンツの在処を問い合わせる検索情報（以下、本発明の「検索情報」（所望の第１コンテンツデータを記憶しているノード装置を検索するための検索情報）を「クエリ」と言う。）を送信する。つまり、コンテンツＩＤ「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）ノード装置１−２に対してクエリを送信する。このように、クエリはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものである。
【００６２】
図５に示す例に拠れば、ノードＩＤが「30100000」であるノード装置１−２のＩＰアドレスがリクエストノードのルーティングテーブルに記憶されていたので、リクエストノードは、ノードＩＤが「30100000」であるノード装置１−２に対してクエリを送信する。
【００６３】
次に、クエリを受信したノード装置１−２は、当該ノード装置１−２自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っているノード装置１−３（ノードＩＤ「31012001」）に対してクエリを転送する。
【００６４】
このように、コンテンツＩＤの桁を上から順に適合していく要領でクエリの転送が進み、最終的に当該第１コンテンツデータを管理するノード装置１−５、すなわちルートノード（本発明におけるコンテンツ分散保存システムにおける第１コンテンツデータの所在を管理する管理元のノード装置を示す。）に辿り着くと、当該ルートノードは、クエリに含まれるコンテンツＩＤ「31330012」を、自身が管理しているコンテンツインデックス情報（後述する）の中から検索し、当該第１コンテンツデータを所有しているノード装置１のＩＰアドレス等のノード情報をリクエストノードに返信するようになっている。
【００６５】
こうして、リクエストノード（ノード装置１−１）は、上記ルートノード（ノード装置１−５）から、コンテンツＩＤ「31330012」の第１コンテンツデータの所在、即ち、当該データを保存しているコンテンツノード（ノード装置１−６）のＩＰアドレスを受信して知ることになる。このようにして検索されたコンテンツノードに、リクエストノードは、第１コンテンツデータの送信を要求する送信要求情報を送信し、当該コンテンツノードから、その第１コンテンツデータを取得（ダウンロード）することになる。
【００６６】
また、コンテンツノードは、リクエストノードから第１コンテンツデータの送信を要求する送信要求情報を受信し、リクエストノードから送信要求情報を受信した場合に、当該送信要求情報に応じて第１コンテンツデータを送信する。
【００６７】
なお、図示しないが、リクエストノードが送信したクエリを受信したルートノードは、該当する第１コンテンツデータを保存するコンテンツノードに対して、リクエストノードに第１コンテンツデータを配信するように指示する旨の情報を送信してもよい。この場合には、コンテンツノードは送信要求情報を送信することなく、コンテンツノードから所望の第１コンテンツデータを取得することができる。
【００６８】
［２．４．第１コンテンツデータの公開方法］
このような構成のコンテンツ分散保存システムＳ１の中で、例えば、あるノード装置（上述のノード装置１−６とする）が新しい第１コンテンツデータを、コンテンツ分散保存システムＳ１上の他のノード装置１に所在がわかるように公開する際の手法について、図６を参照して述べる。これは、後述するノード装置１における公開情報送信手段により行われるものである。このノード装置１−６が第１コンテンツデータを保存するコンテンツノードとなる。
【００６９】
図６に示すように、まず、コンテンツ分散保存システムＳ１に投入される第１コンテンツデータの種類や数等を管理するコンテンツ投入サーバ２６から、新たな第１コンテンツデータがノード装置１−６に投入される。
【００７０】
こうしてコンテンツノードとなったノード装置１−６は、コンテンツのタイトル等からコンテンツＩＤ；31330012を求め、当該コンテンツＩＤと同じノードＩＤを持つノード装置に向けて（このノード装置が実在するか否かはこの時点ではわからない。）自ノード装置が第１コンテンツデータを保存していることを示す公開情報（以下、本発明の公開情報をコンテンツ公開メッセージという。）を送信する。そして、このコンテンツ公開メッセージも、上記クエリと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ公開メッセージに含まれるコンテンツＩＤに最も近いノードＩＤを有するノード装置１まで転送されたところで、そのノード装置１はもはや送信先のノード装置が他にないと判断すると、当該ノード装置１自身がその第１コンテンツデータのルートノードとなるべきだと判断し、当該コンテンツＩＤ、補助情報（タイトル、ジャンル等の属性情報や、監督名等の著作権情報等）およびコンテンツノードのＩＰアドレスをコンテンツインデックス情報として記憶する。
【００７１】
なお、コンテンツノードは、一つに限られず、同じ第１コンテンツデータを保存し、公開したノード装置１（以下、レプリカノードともいう。）が他に存在していてもよい。この場合にも、二つ目以降のレプリカノードが同様に公開メッセージを送信すると、一の第１コンテンツデータに対して同じルートノードがその所在を管理することとなる。
【００７２】
更にまた、ルートノードに至る経路の途中のノード装置が、当該ルートノードが記憶しているコンテンツインデックス情報をキャッシュとして保持しておいてもよい。このコンテンツインデックス情報をキャッシュとして保持するノード装置をキャッシュノードという。これにより、ルートノードがクエリを受信するより前に、より早くキャッシュノードにクエリが転送された時点でキャッシュノードがコンテンツノードのＩＰアドレスを、コンテンツの所在を問い合わせたリクエストノードに返信することが可能になる。なお、キャッシュノードの台数や公開メッセージが転送されるノード装置１の全てをキャッシュノードとするか否か、等はそのコンテンツ分散保存システムＳ１において自由に決定することができる。
【００７３】
なお、コンテンツ投入サーバ２６からの指示等により、コンテンツノードが保存している第１コンテンツデータを削除した場合には、コンテンツ削除メッセージを同様に送信し、ルートノードまで次々に転送され、当該コンテンツ削除メッセージを受信したルートノードやキャッシュノードは、コンテンツインデックス情報から当該第１コンテンツデータのコンテンツノードのうち、当該コンテンツ削除メッセージを送信したノード装置１の各種情報を削除する。
【００７４】
［２．５．コンテンツ分散保存システムへの参加方法］
次いで、ノード装置のコンテンツ分散保存システムＳ１への参加方法について、図７を参照して説明する。
【００７５】
図７に示すように、コンテンツ分散保存システムＳ１には、コンタクトノード紹介サーバ２５が備えられている。図１の下部枠１０１内に示すようにネットワークを介して他のノード装置１と通信を行っているノード装置１は、コンテンツ分散保存システムＳ１に参加する場合には、まず、コンタクトノード紹介サーバ２５に、コンタクトノード紹介要求メッセージを送信する。コンタクトノード紹介要求メッセージを受信したコンタクトノード紹介サーバ２５は、これからシステムＳ１に参加するノード装置１（以下、参加ノードという。）がまず通信を行うノード装置（以下、コンタクトノードという。）のＩＰアドレス等のコンタクトノード情報を、参加ノードに返信する。
【００７６】
次いで、参加ノードは、受信したコンタクトノード情報に基づき、コンタクトノードに参加メッセージを送信し、参加メッセージを受信したコンタクトノードは、当該参加ノードに対し、ルーティングテーブルの一段目（図４（Ｄ）におけるレベル１の段）のノードＩＤとＩＰアドレスとが対応付けられたテーブル情報を送信する。
【００７７】
次いで、コンタクトノードは、参加ノードのＩＰアドレス等から求められるノードＩＤ（図７における右上の白丸に相当する）を求め、当該コンテンツＩＤに最も近いノードＩＤを有するノード装置１に向けて参加メッセージを転送する。この参加メッセージには、コンタクトノードが送信した段（１段目）のテーブル情報の、次の段（２段目）のテーブル情報を参加ノードに送信すべき旨の情報を付加する。そして、この参加メッセージも、上記クエリと同様にルーティングテーブルに従って、次々と転送されていき、当該参加メッセージに含まれるノードＩＤに最も近いノードＩＤを有するノード装置１まで転送されたところで、転送が止められる。
【００７８】
また、転送された参加メッセージを受信した各ノード装置１は、当該参加ノードに対し、参加メッセージに含まれた指示に従い所定の段のテーブル情報（図４（Ｄ）におけるレベル２以降の段）を送信する。この参加メッセージを転送する際には、自ノード装置１が送信した段（例えば、２段目）のテーブル情報の、次の段（例えば、３段目）のテーブル情報を参加ノードに送信すべき旨の情報を付加する。
【００７９】
こうして、参加ノードは、参加メッセージを受信した各ノード装置からルーティングテーブルの各レベルのテーブル情報を受信し、ルーティングテーブルを作成して、記憶することができる。
【００８０】
［３．ツリー型配信システムの構成等］
次いで、図８を参照して本実施形態に係るコンテンツ配信システムＳに含まれるツリー型配信システムＳ２の構成等について説明する。
【００８１】
図８は、本実施形態に係るツリー型配信システムＳ２における各装置の接続態様の一例を示す説明図である。なお、図８の例において、ツリー型配信システムＳ２における各装置間の通信的な接続態様（例えば、どの装置と、どの装置の通信が確立されているかの接続関係）を示している。本実施形態では、放送局装置（本発明における配信元のノード装置を示す。）３１から配信された第２コンテンツデータ（以下、放送コンテンツデータともいう。）を、ノード装置３２ａに備えたバッファメモリに一時的に記憶させながら当該第２コンテンツデータを再生する。また、第２コンテンツデータをノード装置３２ａに備えたバッファメモリに一時的に記憶させながら当該第２コンテンツデータを他のノード装置３２ｃ等に送信する。なお、放送局装置３１における第２コンテンツデータの配信は、第２コンテンツデータ配信手段により行われるものである。
【００８２】
このツリー型配信システムＳ２は、図８に示すように、ストリーミングデータ等の第２コンテンツデータの配信元である放送局装置３１と、当該放送局装置３１から配信されたコンテンツを受信する複数のノード装置（ピア）３２ａ、３２ｂ、３２ｃ、・・・・、３２ｍ、を備えて構成されており、ピアツーピア（Peer to Peer（Ｐ２Ｐ））方式のネットワークシステムとなっている。
【００８３】
また、ツリー型配信システムＳ２は、放送局装置３１を最上位として複数のノード装置３２ａ乃至３２ｍが複数の階層を形成しつつ、各ＩＰアドレスに基づき、複数の通信経路３３ａ、３３ｂ、３３ｃ、・・・・、３３ｍを介してツリー状に接続されることになる。
【００８４】
そして、放送局装置３１により配信される第２コンテンツデータは、上位階層のノード装置３２ａ及び３２ｂ等から下位階層のノード装置３２ｃ〜３２ｍ等に順次転送されることになる。なお、以下の説明において、ノード装置３２ａ乃至３２ｍのうち何れかのノード装置を示す場合には、便宜上、ノード装置３２という場合がある。
【００８５】
なお、これら配信サーバ１及び複数のノード装置３２ａ乃至３２ｍも、図１を参照してコンテンツ配信システムＳを説明したのと同様に、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワークに、物理的に接続されており、当該放送局装置３１及び各ノード装置３２ａ乃至３２ｍには、上述したように、固有のノードＩＤ及びＩＰアドレスが割り振られている。
【００８６】
また、接続先紹介サーバ３５は、ノード装置３２がいずれのネットワーク接続サービス提供者によってネットワークに接続されているかを示す提供者情報毎に、最も上位階層に接続されているノード装置の装置情報を記憶している。そのため、例えば、新たなノード装置３２ｉが当該ツリー型配信システムＳ２に参加を希望する場合、つまり放送局装置３１が配信している第２コンテンツデータの配信を希望する場合には、自分が接続されるべき上位階層のノード装置３２の候補となるノード装置３２を教えてもらうために、接続先候補要求Ｓｃを図中一点鎖線で示す如く接続先紹介サーバ３５に対して送信する。そうすると、接続先紹介サーバ３５は、ノード装置３２が接続しているネットワーク接続サービス提供者を示す提供者情報に基づいて、ノード装置３２が接続されるべき上位階層のノード装置３２として他のノード装置３２ｄを選び出し、当該ノード装置３２ｄの装置情報（ＩＰアドレスを含む）を、接続先候補通知としてノード装置３２に対して、図中二点鎖線で示す如く送信する。
【００８７】
そして、ノード装置３２ｉは当該接続先候補通知（Ｎｋ{}）に含まれる装置情報に基づいて、接続されるべき上位階層のノード装置３２（図８に示す例に拠れば、ノード装置３２ｄ）に対して、図中点線で示す如く自己の装置情報を含む接続要求情報Ｓｒを送信して接続要求を行ない、これを受けたノード装置３２ｄが、ノード装置３２ｉに第２コンテンツデータを転送すべき状況と判断すれば通信経路３３ｉを介したノード装置３２ｉとノード装置３２ｄ間の接続を確立することができるようになっている。
【００８８】
［４．本実施形態のコンテンツ配信システムの概要］
次いで、図９乃至図１１を参照して本実施形態に係るコンテンツ配信システムＳの概要等について説明する。図９に示すように、本実施形態のコンテンツ配信システムＳは、コンテンツ分散保存システムＳ１とツリー型配信システムＳ２とを備え、それぞれに参加するノード装置１、３２の他、コンテンツ分散保存システムＳ１のコンタクトノード紹介サーバ２５、ツリー型配信システムＳ２の接続先紹介サーバ３５、両方のシステムＳ１、Ｓ２において動作するコンテンツ投入サーバ２６を有する。
【００８９】
そして、コンテンツ分散保存システムＳ１及びツリー型配信システムＳ２を備えた上記コンテンツ配信システムＳにおいて、ノード装置１がツリー型配信システムＳ２における放送局装置３１として機能し、コンテンツ分散保存システムＳ１における第１コンテンツデータを保存しているノード装置１（コンテンツノード）から第１コンテンツデータを取得し、取得した第１コンテンツデータを第２コンテンツデータとしてツリー型配信システムＳ２における他のノード装置３２に配信することを特徴としている。これは、後述するノード装置１における第１コンテンツデータ取得手段及び第２コンテンツデータ配信手段により行われるものである。
【００９０】
そのため、放送局として機能するノード装置１は、配信する各第２コンテンツデータを常時保存しておく必要がなく、必要なタイミングで第２コンテンツデータに対応する第１コンテンツデータを取得し、不要であれば配信後に削除することができる。そのため、ノード装置１は、第２コンテンツデータを保存しておくために容量の大きい記録媒体を用意せずに済み、上述のように通常のノード装置１であっても放送局装置３１として機能することが可能となる。
【００９１】
ノード装置１が所望の第１コンテンツデータを取得する際には、図５を用いて説明し、また、図９にも示すように、ノード装置１は、所望の第１コンテンツデータに対応するコンテンツＩＤに最も近いノードＩＤを有するノード装置１（ルートノード）に向けてクエリを送信する。当該クエリが転送されて、当該第１コンテンツデータのルートノードが受信すると、ルートノードは、第１コンテンツデータを保存するコンテンツノードの所在の情報（ＩＰアドレス等）をノード装置１に送信する。ノード装置１は、コンテンツノードの所在を知ると、当該コンテンツノードに対してコンテンツを要求する送信要求情報を送信する。送信要求情報を受信したコンテンツノードは、ノード装置１に第１コンテンツデータを送信する。
【００９２】
コンテンツノードから第１コンテンツデータを受信したノード装置１は、図８を用いて説明し、また、図９にも示すように、当該第１コンテンツデータを第２コンテンツデータとしてツリー型配信システムＳ２における他のノード装置３２ａ、３２ｂに配信する。当該ノード装置３２ａ、３２ｂは、当該第２コンテンツデータを再生し、そのツリーにおいて決められた配信先（トポロジー）に従い、下流の各ノード装置３２ｃ、３２ｄ、３２ｅ、３２ｆへ受信した第２コンテンツデータをそれぞれ転送する。第２コンテンツデータを受信した各ノード装置３２は同様に動作し、最も下流であり、送信先がないノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍは、第２コンテンツデータを再生すると、そのまま転送せずにデータを消去する。
【００９３】
このとき、ノード装置１は、ストリーミング方式で送信されてきた第１コンテンツデータを取得し、ストリーミング方式で第２コンテンツデータを他のノード装置３２に配信することができる。この場合には、ノード装置１は、一の第１コンテンツデータを受信している途中であっても、これに対応する第２コンテンツデータを先に受信した部分から送信することができる。そのため、データを全て受信するまで待たずにツリー型配信システムにおいて第２コンテンツデータを送信することができ、速やかに第２コンテンツデータの配信を行うことができる。
【００９４】
放送局装置３１は、図１０に示すように、どの第２コンテンツデータをどの時間にどのような順番で放送するか、についてリストにした放送プログラムファイル（図１０（Ａ）参照）をコンテンツ投入サーバ２６から受信する（図１０（Ｂ）参照）。この放送プログラムファイルは、本実施形態では、放送時間と、放送する順が決定された第２コンテンツデータのコンテンツＩＤ及び当該第２コンテンツデータの取得タイミングがリストになっているものとする。
【００９５】
放送局装置３１は、この放送プログラムファイルに従い、８時に放送を開始するコンテンツＩＤ：10000001の第２コンテンツデータについて、指定された７時５０分に、対応する第１コンテンツデータをコンテンツ分散保存システムＳ１において取得するためのクエリを送信し、第１コンテンツデータを取得する。続いて、次に放送するコンテンツＩＤ：10000002の第２コンテンツデータについて、対応する第１コンテンツデータをコンテンツ分散保存システムＳ１において取得するためのクエリを送信し、第１コンテンツデータを取得する。さらに次に放送するコンテンツＩＤ：10000003の第２コンテンツデータについては、一つ目のコンテンツＩＤ：10000001の第２コンテンツデータを放送し終わったときに、対応する第１コンテンツデータをコンテンツ分散保存システムＳ１において取得するためのクエリを送信し、第１コンテンツデータを取得する。このようにして、放送局装置３１は、放送する第２コンテンツデータに対応する第１コンテンツデータを、コンテンツ分散保存システムＳ１において順次取得し、不要なものは放送後に消去することができる。
【００９６】
一方、放送局装置３１は、放送時間が決まっているコンテンツについては、放送時間である８時になると取得したコンテンツＩＤ：10000001の第１コンテンツデータを第２コンテンツデータとして放送を開始し、また、コンテンツＩＤ：10000001の第２コンテンツデータの次にコンテンツＩＤ：10000002の第２コンテンツデータ等のように、順番が決まっている場合には、そのタイミングになると取得したコンテンツＩＤ：10000002の第１コンテンツデータを第２コンテンツデータとして放送を開始する。
【００９７】
なお、図１０（Ａ）に示す放送プログラムファイルには、各第２コンテンツデータの取得タイミングを示したが、放送プログラムファイルには取得タイミングが示されておらず、放送局装置３１となるノード装置１において、コンテンツの配信時間に間に合うように取得タイミングを設定してもよい。
【００９８】
（取得した第１コンテンツデータの保存及び公開）
放送局装置３１は、取得した第１コンテンツデータを消去することもできるが、記録媒体に保存することもできる。保存判断手段により取得した第１コンテンツデータを記録媒体に保存するか否かを判断することもできる。第１コンテンツデータを保存するか否かは、放送局装置３１であるノード装置１のユーザの保存の希望や、放送局装置３１のハードディスクにおける空き容量の程度等に応じて決定することができ、基準は特に限定されない。
【００９９】
また、放送局装置３１は、公開情報送信手段により記録媒体に保存した第１コンテンツデータについてコンテンツ公開メッセージを送信し、コンテンツノードとして機能することもでき、公開判断手段によりコンテンツ公開メッセージを送信するか否かを判断することもできる。コンテンツ公開メッセージを送信するか否かは、コンテンツ分散保存システムＳ１における第１コンテンツデータの複製の必要性や、当該ノード装置１自身の通信状況、ハードディスクの使用率等に応じて判断できる。
【０１００】
記録媒体に保存するか否か、公開メッセージを送信するための条件等は、例えば、図１１に示すようなコンテンツ投入サーバ２６から送信される放送局設定情報に従って決定することができる。図１１において、ＨＤ（ハードディスク）保存として記録媒体への保存の有無が記載されている。また、コンテンツ公開条件として、無又はＨＤ（ハードディスク）の使用率が＊＊％未満と記載されている。コンテンツ公開条件が無の場合には、ＨＤ保存も無であれば公開もせず、ＨＤ保存が有であれば公開する。コンテンツ公開条件が、ＨＤの使用率が＊＊％未満の記載の場合には、ハードディスクの使用率がその範囲であり、かつ、ＨＤ保存が有であれば、公開する。
【０１０１】
図１１においては、複数の放送局装置３１（チャンネル）があることを前提として、チャンネル毎、すなわち放送局装置３１毎に、記録媒体に保存するか否か、公開メッセージを送信するための条件、が決められているが、これに限定されず、放送するコンテンツデータ毎に決められていてもよい。また、これらは、放送局装置３１自身のポリシに従って決められていてもよい。
【０１０２】
（第１コンテンツデータから第２コンテンツデータへの変換）
また、放送局装置３１は、第１コンテンツデータを第２コンテンツデータとして配信する際に、データをそのまま配信することもできるが、取得した第１コンテンツデータをツリー型配信システムＳ２において配信するための形式に変換して第２コンテンツデータとし、当該変換された後の第２コンテンツデータを配信することができる。データを変換することにより、ツリー型配信システムＳ２に合った形式でデータを送信することができ、データの形式があわないことによりノード装置３２に負担がかかることが防止される。
【０１０３】
変換の仕方の一つとして、第１コンテンツデータに含まれる映像、画像又は音声の少なくともいずれか一を劣化させて第２コンテンツデータとすることができる。この場合、ツリー型配信システムＳ２においては、変換され、正規の第１コンテンツデータよりも質の低い第２コンテンツデータをコンテンツの紹介用として配信し、コンテンツ分散保存システムＳ１においては、正規の第１コンテンツデータを保存しておくことができる。そして、ツリー型配信システムＳ２の各ノード装置３２において第２コンテンツデータを視聴して気に入った視聴者が、改めてコンテンツ分散保存システムＳ１において正規の第１コンテンツデータを取得することができる。
【０１０４】
具体的な変換の仕方としては、第１コンテンツデータに含まれる映像を部分的に間引く、第１コンテンツデータに含まれる映像の一部を選択する、第１コンテンツデータに含まれる映像若しくは画像の大きさを縮小する、第１コンテンツデータに含まれる映像若しくは画像の画質を劣化させる、又は第１コンテンツデータに含まれる音声の音質を劣化させる、の少なくともいずれか一を行うことができる。
【０１０５】
第１コンテンツデータに含まれる映像を部分的に間引く場合には、映像の中の数分おきに１分の映像を削除するように間引いてもよいし、ダイジェストのようにコンテンツのポイントとなる部分以外を削除するように間引きしてもよく、具体的な手法は限定されない。第１コンテンツデータに含まれる映像の一部を選択する場合には、初めの５分のみを選択、初めと最後の３分ずつを選択、等のようにでき、映像のどの部分を選択するかやその長さは特に限定されない。第１コンテンツデータに含まれる映像若しくは画像の大きさを縮小する場合には、正規の映像若しくは画像の大きさの７０％としたり、表示するディスプレイ等の表示部に対して８０％とする等のようにでき、どの程度縮小するか、何を基準にするかは、特に限定されない。第１コンテンツデータに含まれる映像若しくは画像の画質を劣化させる場合には、映像若しくは画像の全体や端部分をモザイク化する等のようにでき、どのようにどの程度画質を劣化させるかは特に限定されない。第１コンテンツデータに含まれる音声の音質を劣化させる場合には、音質を粗くする、ノイズを混入させる、等のようにでき、どのようにどの程度音質を劣化させるかは特に限定されない。これらのデータの変換は、通常、データの容量が小さくなる。
【０１０６】
なお、変換の仕方は上述のものに限定されず、第１コンテンツデータに特典となる映像等のデータを付加する変換をして第２コンテンツデータとする等、データの容量が大きくなるような変換を行ってもよい。
【０１０７】
また、第２コンテンツデータを配信する際に、下流のノード装置３２において第２コンテンツデータを適正なスピードで再生できるように、少なくとも再生スピードよりも速いスピードで、すなわち、送出速度をあわせて第２コンテンツデータを配信することが好ましい。また、送出速度等が所定の条件にあうように調整されて第２コンテンツデータが転送されるよう、条件を示した付加情報（後述するレート制御情報も含む）を第２コンテンツデータに付加することが好ましい。
【０１０８】
データを変換するか否か、また、どのように変換するかは、例えば、図１１に示すようなコンテンツ投入サーバ２６から送信される放送局設定情報に従って決定することができる。図１１には、音質劣化、画面サイズ縮小、１分間のみ、の記載に留められているが、実際には、どのようにどの程度音質を劣化させるか、どの程度画面サイズを縮小するか、映像のどの部分の１分間を選択するか、の情報まで含まれている。図１１においては、複数の放送局装置３１（チャンネル）があることを前提として、チャンネル毎、すなわち放送局装置３１毎にコンテンツデータの変換の有無及びどのように変換するか、が決められているが、これに限定されず、放送するコンテンツデータ毎に決められていてもよい。また、これらは、放送局装置３１自身のポリシに従って決められていてもよい。
【０１０９】
（放送局装置となるノード装置）
本実施形態では、放送局装置３１として機能するノード装置１は、接続先紹介サーバ３５により決定される。具体的な方法としては、ネットワーク８上のサイト等において、放送局装置３１として機能するノード装置１を募集し、放送局装置３１として機能できるノード装置１は、登録を行っておく。そして、接続先紹介サーバ３５において、新たなチャンネルを設けたい、または既にあるチャンネルと同様の放送ができる放送局装置３１を設けたい、等により、新たな放送局装置３１が必要になった場合に、接続先紹介サーバ３５は、上記登録されているノード装置１から必要数のノード装置１を選択し、当該ノード装置１に放送局開始依頼メッセージを送信して、ノード装置１を放送局装置３１として機能させる。放送局開始依頼メッセージを受信したノード装置１は、コンテンツ投入サーバ２６から放送プログラムファイルを取得し、放送局装置３１として放送を開始し、かつ、接続先紹介サーバ３５には、当該ノード装置１が放送局装置３１として機能する旨の登録を行う。
【０１１０】
一方、接続先紹介サーバ３５において、所定のチャンネルの視聴者（下流のノード装置３２）が少ないためチャンネル自体を停止したり、他の同じチャンネルの放送局装置３１に流れを統合する等により、機能している放送局装置３１が不要になった場合に、接続先紹介サーバ３５は、当該放送局装置３１としてのノード装置１に放送局停止依頼メッセージを送信して、ノード装置１の放送局装置３１の機能を停止させる。放送局停止依頼メッセージを受信したノード装置１は、所有している放送プログラムファイルを削除し、放送を停止し、かつ、接続先紹介サーバ３５には、当該ノード装置１が放送局装置３１の機能を停止した旨の登録を行う（放送局の登録を解除する）。なお、接続先紹介サーバ３５は、放送局停止依頼メッセージを送信する前に、当該ノード装置１の下流に接続される各ノード装置３２に対して、他の放送局装置３１又はその下流のノード装置３２に接続するようにメッセージを送信し、放送局装置３１の下流のノード装置３２がなくなってから放送局停止メッセージを送信してもよい。
【０１１１】
なお、上記サイト等で放送局装置３１として機能する旨の登録をしているノード装置１について、接続先紹介サーバ３５が放送局開始メッセージを送信した際に、メッセージを送信できない（登録されたアドレスが間違っている、当該ノード装置１がネットワークにつながっていない等）場合には、接続先紹介サーバ３５は、上記サイト等への登録を削除することとしてもよい。
【０１１２】
このように、接続先紹介サーバ３５が放送局装置として機能するノード装置１を決定することにより、接続先紹介サーバ３５を有する放送管理者が、需要に応じた数の放送局装置３１を用意し、ツリー型配信システムＳ２における第２コンテンツデータの配信を管理することができる。
【０１１３】
（第２コンテンツデータを配信するタイミング等）
また、放送局装置３１としてのノード装置１は、上述のように放送プログラムファイルをコンテンツ投入サーバ２６から取得し、当該放送プログラムファイルに沿って放送（第２コンテンツデータの配信）を行うため、コンテンツ投入サーバ２６が決定した第２コンテンツデータを、その順序又はタイミングで送信すればよい。そのため、ノード装置１は、第２コンテンツデータを配信する順序やタイミングを決定する必要がなく、負担が増加しない。本実施形態では、この放送プログラムファイルを用いた形態で説明するが、これに限定されない。例えば、放送局装置３１としてのノード装置１が第２コンテンツデータを配信するタイミングに合わせて、コンテンツ投入サーバ２６が「次はコンテンツＩＤ：********のコンテンツを配信せよ」という指示を当該ノード装置１に送信し、この指示がきたタイミングでノード装置１が当該コンテンツについてのクエリをコンテンツ分散保存システムＳ１において送信し、第１コンテンツデータを取得して、ツリー型配信システムＳ２において配信してもよい。
【０１１４】
［５．コンテンツ配信システムを構成する各装置の構成等］
図１２乃至図１５を参照して、コンテンツ配信システムＳを構成するノード装置１、３２、コンタクトノード紹介サーバ２５、接続先紹介サーバ３５、コンテンツ投入サーバ２６の構成等について説明する。
【０１１５】
［５．１．ノード装置の構成等］
まず、図１２を参照して、ノード装置１、３２（いずれも同様であり、以下の説明においてはノード装置１とする。）の構成および機能について説明する。尚、各ノード装置１の構成は同じである。図１２は、ノード装置１の概要構成例を示す図である。
【０１１６】
各ノード装置１は、図１２に示すように、演算機能を有するＣＰＵ１１と、受信されたコンテンツデータ等を一時蓄積するリングバッファメモリ１２１、オペレーティングシステム１２２、ストリーム制御プログラム１２３、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）等をデコード（データ伸張や復号化等）等する画面制御プログラム１２４、トポロジー制御プログラム１２５、コンテンツデータに含まれるエンコードされたオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）する音楽デコーダ１２６及び放送コンテンツ制御プログラム１２７を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置１２と、第１コンテンツデータ、コンテンツインデックス情報、上記ＤＨＴおよびプログラム等を記憶保存（格納）するためのＨＤ等から構成された記録媒体としてのハードディスク装置１３と、ハードディスク装置１３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ１４と、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力するビデオチップ１５と、当該ビデオチップ１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の内蔵ディスプレイ１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音源チップ１７と、当該音源チップ１７から出力されたオーディオ信号を音波として出力する内蔵スピーカ１８と、外部のリモコン２３等からの入力を受信し、ユーザからの指示を受け付け当該指示に応じた指示信号をＣＰＵ１１に対して与える入力部としての赤外線ポート（他にも、例えば、キーボード、マウス、或いは、操作パネル等が可）１９と、ネットワーク８を通じてルータ２４等を介し、他のノード装置１との間の情報の通信制御を行うためのネットワークインターフェイス２１と、を備えて構成され、ＣＰＵ１１、主記憶装置１２、周辺機器制御チップ１４、ビデオチップ１５、音源チップ１７及びネットワークインターフェイス２１はシステムバス２２を介して相互に接続されている。ネットワークインターフェイス２１は、ネットワーク８を介して外部のルータ２４等と接続されている。赤外線ポート１９は、ユーザ入力用リモコン２３からの指示信号を受信し、周辺機器制御チップ１４に当該信号を伝達する。
【０１１７】
そして、ＣＰＵ１１は主記憶装置１２等に記憶された各種プログラムを実行することにより、ノード装置１全体を統括制御するようになっており、また、リモコン２３等の入力部からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノード装置１は、実行されるプログラムに応じて、放送局装置３１、情報を送信（転送）するノード装置、情報を受信するノード装置等として機能する。また、ノード装置１のＣＰＵ１１は、本発明の第１コンテンツデータ取得手段、第２コンテンツデータ配信手段、保存判断手段、公開情報送信手段、要求受信手段（コンテンツ要求）、第１コンテンツデータ送信手段、公開判断手段、検索手段（クエリ）、要求送信手段（コンテンツ要求）、変換手段、コンテンツ判断手段、として機能する。
【０１１８】
［５．２．コンタクトノード紹介サーバの構成等］
次に、図１３を参照して、コンタクトノード紹介サーバ２５の構成および機能について説明する。図１３は、コンタクトノード紹介サーバ２５の概要構成例を示す図である。
【０１１９】
コンタクトノード紹介サーバ２５は、図１３に示すように、演算機能を有するＣＰＵ２５１と、端末管理プログラム２５２１、オペレーティングシステム２５２２、コンタクトノード紹介プログラム２５２３等を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置２５２と、端末管理データベース及びプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置２５３と、ハードディスク装置２５３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ２５４と、オペレーティングシステム２５２２のＧＵＩ（graphical user interface）として必要な文字や図等の画像を表示するためにビデオ信号を出力するビデオチップ２５５と、当該ビデオチップ２５５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ２５６１と、ユーザからの指示を受け付け当該指示に応じた指示信号を、周辺機器制御チップ２５４を介してＣＰＵ２５１に与える入力部としてのキーボード２５６２及びマウス２５６３と、ネットワーク８を通じてルータ２５９等を介し、他のノード装置１との間の情報の通信制御を行うためのネットワークインターフェイス２５７と、を備えて構成され、ＣＰＵ２５１、主記憶装置２５２、周辺機器制御チップ２５４、ビデオチップ２５５及びネットワークインターフェイス２５７はシステムバス２５８を介して相互に接続されている。ビデオチップ２５５は、外部のディスプレイ２５６１と接続されており、周辺機器制御チップ２５４は、外部のキーボード２５６２及びマウス２５６３と接続されている。ネットワークインターフェイス２５７は、ネットワーク８を介して外部のルータ２５９等と接続されている。
【０１２０】
そして、ＣＰＵ２５１は主記憶装置２５２等に記憶された各種プログラムを実行することにより、コンタクトノード紹介サーバ２５全体を統括制御するようになっている。具体的に、ＣＰＵ２５１は、キーボード２５６２又はマウス２５６３等の入力部からの指示信号に応じて、端末管理プログラムにおける条件等を変更したり、コンタクトノード紹介プログラムにおけるポリシ等を変更することができる。また、ＣＰＵ２５１は、ネットワーク８やネットワークインターフェイス２５７を通じて受信した参加ノード装置１からのコンタクトノード紹介要求メッセージに対して、コンタクトノード紹介プログラム２５２３を用いてコンタクトノードを決定し、当該コンタクトノードの所在情報（ＩＰアドレス等）をコンタクトノード情報として返信する。
【０１２１】
［５．３．接続先紹介サーバの構成等］
次に、図１４を参照して、接続先紹介サーバ３５の構成および機能について説明する。図１４は、接続先紹介サーバ３５の概要構成例を示す図である。
【０１２２】
接続先紹介サーバ３５は、図１４に示すように、演算機能を有するＣＰＵ３５１と、端末管理プログラム３５２１、オペレーティングシステム３５２２、トポロジー制御プログラム３５２３、接続先紹介プログラム３５２４等を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置３５２と、トポロジーデータベース、端末管理データベース及びプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置３５３と、ハードディスク装置３５３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ３５４と、オペレーティングシステム３５２２のＧＵＩ（graphical user interface）として必要な文字や図等の画像を表示するためにビデオ信号を出力するビデオチップ３５５と、当該ビデオチップ３５５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ３５６１と、ユーザからの指示を受け付け当該指示に応じた指示信号を、周辺機器制御チップ３５４を介してＣＰＵ３５１に与える入力部としてのキーボード３５６２及びマウス３５６３と、ネットワーク８を通じてルータ３５９等を介し、他のノード装置１等との間の情報の通信制御を行うためのネットワークインターフェイス３５７と、を備えて構成され、ＣＰＵ３５１、主記憶装置３５２、周辺機器制御チップ３５４、ビデオチップ３５５及びネットワークインターフェイス３５７はシステムバス３５８を介して相互に接続されている。ビデオチップ３５５は、外部のディスプレイ３５６１と接続されており、周辺機器制御チップ３５４は、外部のキーボード３５６２及びマウス３５６３と接続されている。ネットワークインターフェイス３５７は、ネットワーク８を介して外部のルータ３５９等と接続されている。
【０１２３】
そして、ＣＰＵ３５１は主記憶装置３５２等に記憶された各種プログラムを実行することにより、接続先紹介サーバ３５全体を統括制御するようになっている。具体的に、ＣＰＵ３５１は、キーボード３５６２又はマウス３５６３等の入力部からの指示信号に応じて、端末管理プログラムにおける条件等を変更したり、トポロジー制御プログラムや接続先紹介プログラムにおけるポリシ等を変更することができる。また、ＣＰＵ３５１は、ネットワーク８やネットワークインターフェイス３５７を通じて受信したノード装置３２からの接続先候補要求Ｓｃに対して、トポロジー制御プログラム３５２３及び接続先紹介プログラム３５２４を用いて接続先候補を決定し、接続先候補通知Ｎｋ｛｝を返信する。
【０１２４】
［５．４．コンテンツ投入サーバの構成等］
次に、図１５を参照して、コンテンツ投入サーバ２６の構成および機能について説明する。図１５は、コンテンツ投入サーバ２６の概要構成例を示す図である。
【０１２５】
コンテンツ投入サーバ２６は、図１５に示すように、演算機能を有するＣＰＵ２６１と、カタログ管理プログラム２６２１、オペレーティングシステム２６２２、コンテンツ制御プログラム２６２３等を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置２６２と、放送プログラムファイル、カタログリスト、コンテンツ及びプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置２６３と、ハードディスク装置２６３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ２６４と、オペレーティングシステム２６２２のＧＵＩ（graphical user interface）として必要な文字や図等の画像を表示するためにビデオ信号を出力するビデオチップ２６５と、当該ビデオチップ２６５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ２６６１と、ユーザからの指示を受け付け当該指示に応じた指示信号を、周辺機器制御チップ２６４を介してＣＰＵ２６１に与える入力部としてのキーボード２６６２及びマウス２６６３と、ネットワーク８を通じてルータ２６９等を介し、他のノード装置１等との間の情報の通信制御を行うためのネットワークインターフェイス２６７と、を備えて構成され、ＣＰＵ２６１、主記憶装置２６２、周辺機器制御チップ２６４、ビデオチップ２６５及びネットワークインターフェイス２６７はシステムバス２６８を介して相互に接続されている。ビデオチップ２６５は、外部のディスプレイ２６６１と接続されており、周辺機器制御チップ２６４は、外部のキーボード２６６２及びマウス２６６３と接続されている。ネットワークインターフェイス２６７は、ネットワーク８を介して外部のルータ２６９等と接続されている。
【０１２６】
そして、ＣＰＵ２６１は主記憶装置２６２等に記憶された各種プログラムを実行することにより、コンテンツ投入サーバ２６全体を統括制御するようになっている。具体的に、ＣＰＵ２６１は、キーボード２６６２又はマウス２６６３等の入力部からの指示信号に応じて、カタログ管理プログラムにおける条件等を変更したり、コンテンツ制御プログラムにおけるポリシ等を変更することができる。また、ＣＰＵ２６１は、ネットワーク８やネットワークインターフェイス２６７を通じて、放送局装置３１に放送局設定情報や放送プログラムファイルを送信したり、受信したノード装置１からのカタログリスト要求に対してカタログリストの情報を送信したり、コンテンツ分散保存システムＳ１において分散保存されるコンテンツを所望のノード装置１に送信（投入）したりする。
【０１２７】
なお、カタログリストは、第１コンテンツデータの上述した補助情報がリストとなっているが、これに加えて、コンテンツＩＤが対応付けられていてもよい。ノード装置１においては、カタログリストを取得すると、カタログリストからコンテンツを指定して、その都度コンテンツＩＤを生成してクエリを送信してもよいし、カタログリストから指定したコンテンツに対応するコンテンツＩＤを取得してもよい。
【０１２８】
また、上述した放送プログラムファイルについて、コンテンツ投入サーバ２６は、チャンネル毎の放送プログラムファイルを保存しているものとする。また、コンテンツ投入サーバ２６は、上述の放送局設定情報を所持しており、放送プログラムファイルを放送局として機能するノード装置１に送信する際に、そのチャンネルに対応する放送局設定情報を付加して送信することができる。これらの放送プログラムファイル及び放送局設定情報は、放送管理者の設定等に従って作成される。
【０１２９】
［６．本実施形態のコンテンツ配信システムにおける動作］
次に、本実施形態のコンテンツ配信システムＳにおける各装置の動作について図１６乃至図２６を用いて説明する。
【０１３０】
［６．１．ノード装置の動作］
まず、図１６乃至図２３を参照して、本実施形態のノード装置１の動作について説明する。なお、図１６においては、主にツリー型配信システムＳ２に参加している場合の動作を示し、図１７においては、主にコンテンツ分散保存システムＳ１に参加している場合の動作を示し、図１８においては、主に本発明の特徴である取得した第１コンテンツデータを第２コンテンツデータ（放送コンテンツデータ）としてツリー型配信システムＳ２において配信する場合の動作を示し、図１９においては、主に放送局装置３１として機能する場合の動作を示す。図２０においては、ステップＳ３のシステム参加処理を示し、図２１においては、ステップＳ２６の投入コンテンツ受信処理を示し、図２２においては、ステップＳ４５のコンテンツ検索処理を示し、図２３においては、ステップＳ６１のコンテンツデータ取得処理を示す。
【０１３１】
ノード装置１のＣＰＵ１１は、ユーザ入力用リモコン２３等により自ノード装置１に電源が入れられたことを認識すると、その処理を開始する（スタート）。
【０１３２】
処理が開始されると、ＣＰＵ１１は、当該ノード装置１のプログラム等の各種設定を初期化し（ステップＳ１）、接続先紹介サーバ３５へツリー型配信システムＳ２への参加通知を送信する（ステップＳ２）。次いで、ＣＰＵ１１は、コンテンツ分散保存システムＳ１への参加処理を行う（ステップＳ３）。ステップＳ３のコンテンツ分散保存システムＳ１への参加処理については、図２０を参照して後述する。
【０１３３】
次いで、ＣＰＵ１１は、ユーザ入力用リモコン２３等からユーザからのチャンネル選択指示があるか否かを判断する（ステップＳ４）。ユーザからのチャンネル選択指示がある場合には（ステップＳ４；ＹＥＳ）、ＣＰＵ１１は、上流側に接続されたノード装置１（上流ノード装置１）があるか否かを判断する（ステップＳ５）。上流ノード装置１がある場合には（ステップＳ５；ＹＥＳ）、ＣＰＵ１１は、現在の上流ノード装置１に放送コンテンツデータの送信（放送コンテンツストリーム）停止を要求する旨の情報を送信する（ステップＳ６）。次いで、ＣＰＵ１１は、接続先紹介サーバ３５へ、選択されたチャンネル（放送局装置）の放送を視聴するために、接続先となるノード装置１の候補を要求する接続先候補要求Ｓｃを送信する（ステップＳ７）。また、ステップＳ５において、上流ノード装置１がない場合には（ステップＳ５；ＮＯ）、ステップＳ６を経ずにステップＳ７に進む。
【０１３４】
次いで、ＣＰＵ１１は、電源オフか否かを判断し（ステップＳ８）、電源オフでない場合には（ステップＳ８；ＮＯ）、ステップＳ４へ戻る。
【０１３５】
ステップＳ４において、ユーザからのチャンネル選択指示がない場合には（ステップＳ４；ＮＯ）、ＣＰＵ１１は、接続先紹介サーバ３５から接続先となる上流ノード装置１の候補を受信したか否かを判断する（ステップＳ９）。上述のステップＳ７に対して、接続先紹介サーバ３５から上流ノード装置１の候補を受信した場合には（ステップＳ９；ＹＥＳ）、ＣＰＵ１１は、取得した上流ノード装置１の候補の中から、上流ノード装置１を一つ選択する（ステップＳ１０）。次いで、ＣＰＵ１１は、選択した上流ノード装置１の下流に接続するノード装置１（下流ノード装置１）として接続し（ステップＳ１１）、選択した上流ノード装置１へ放送コンテンツデータの配信開始を要求する旨の情報を送信する（ステップＳ１２）。次いで、ＣＰＵ１１は、ツリー型トポロジーへの参加報告を接続先紹介サーバ３５へ送信し（ステップＳ１３）、ステップＳ８へ戻る。
【０１３６】
ステップＳ９において、接続先紹介サーバ３５から上流ノード装置１の候補を受信していない場合には（ステップＳ９；ＮＯ）、ＣＰＵ１１は、上流ノード装置１から放送コンテンツデータのパケットを受信したか否かを判断する（ステップＳ１４）。上流ノード装置１から放送コンテンツデータのパケットを受信した場合には（ステップＳ１４；ＹＥＳ）、ＣＰＵ１１は、下流ノード装置１へ当該パケットを順に転送する（ステップＳ１５）。このとき、受信した放送コンテンツデータのパケットはリングバッファ１２１に順次記憶されていき、次いで、ＣＰＵ１１は、リングバッファ１２１からパケットを取得して放送コンテンツデータを再生し（ステップＳ１６）、ステップＳ８へ戻る。
【０１３７】
ステップＳ１４において、上流ノード装置１から放送コンテンツデータのパケットを受信しない場合には（ステップＳ１４；ＮＯ）、ＣＰＵ１１は、下流ノード装置となるノード装置１から放送コンテンツデータの送信開始要求又は送信停止要求を受信したか否かを判断する（ステップＳ１７）。放送コンテンツデータの送信開始要求又は送信停止要求を受信した場合には（ステップＳ１７；ＹＥＳ）、ＣＰＵ１１は、その要求に応じて、放送コンテンツデータの送信開始又は送信停止を行い（ステップＳ１８）、ステップＳ８に戻る。
【０１３８】
ステップＳ１７において、放送コンテンツデータの送信開始要求又は送信停止要求を受信していない場合には（ステップＳ１７；ＮＯ）、図１７へ移り、ＣＰＵ１１は、コンテンツ公開メッセージを受信したか否かを判断する（ステップＳ１９）。コンテンツ公開メッセージを受信した場合には（ステップＳ１９；ＹＥＳ）、ＣＰＵ１１は、当該第１コンテンツデータのコンテンツＩＤやＩＰアドレス等の所在情報をコンテンツインデックス情報として登録する（ステップＳ２０）。次いで、ＣＰＵ１１は、このコンテンツ公開メッセージについて、当該ノード装置自身がルートノードか否かを判断する（ステップＳ２１）。自身がルートノードでない場合には（ステップＳ２１；ＮＯ）、ＣＰＵ１１は、次のノード装置１に受信したメッセージ（ここではコンテンツ公開メッセージ）を転送し（ステップＳ２２）、ステップＳ８に戻る。自身がルートノードである場合には（ステップＳ２１；ＹＥＳ）、そのまま受信したメッセージ（ここではコンテンツ公開メッセージ）を転送せずに、ステップＳ８に戻る。
【０１３９】
ステップＳ１９において、コンテンツ公開メッセージを受信していない場合には（ステップＳ１９；ＮＯ）、ＣＰＵ１１は、コンテンツ削除メッセージを受信したか否かを判断する（ステップＳ２３）。コンテンツ削除メッセージを受信した場合には（ステップＳ２３；ＹＥＳ）、ＣＰＵ１１は、コンテンツインデックス情報に当該コンテンツ削除メッセージに対応する第１コンテンツデータの情報が記憶されている場合には、コンテンツインデックス情報から当該第１コンテンツデータのコンテンツノードの所在情報等を削除し（ステップＳ２４）、上記ステップＳ２１に進み、自身がルートノードでなければ当該メッセージを次のノード装置に転送して（ステップＳ２１、２２）、ステップ８に戻る。
【０１４０】
ステップＳ２３において、コンテンツ削除メッセージを受信していない場合には（ステップＳ２３；ＮＯ）、ＣＰＵ１１は、コンテンツ投入サーバ２６から投入コンテンツデータを受信したか否かを判断する（ステップＳ２５）。コンテンツ投入サーバ２６から投入コンテンツデータを受信した場合には（ステップＳ２５；ＹＥＳ）、ＣＰＵ１１は、投入コンテンツ受信処理を行い（ステップＳ２６）、ステップＳ８に戻る。なお、投入コンテンツ受信処理は、図２１を用いて後述する。
【０１４１】
ステップＳ２５において、コンテンツ投入サーバ２６から投入コンテンツデータを受信していない場合には（ステップＳ２５；ＮＯ）、要求受信手段としてのＣＰＵ１１は、他のノード装置１から第１コンテンツデータについてコンテンツの送信要求情報を受信したか否かを判断する（ステップＳ２７）。コンテンツの送信要求情報を受信した場合には（ステップＳ２７；ＹＥＳ）、第１コンテンツデータ送信手段としてのＣＰＵ１１は、該当する第１コンテンツデータを要求したノード装置１に配信し（ステップＳ２８）、ステップＳ８に戻る。このとき第１コンテンツデータには、レート制御情報が含まれているものとし、このレート制御情報に従って第１コンテンツデータが放送コンテンツデータとして配信される際の配信レートが決められる。なお、このレート制御情報は、コンテンツ毎に異なるものである。後述するステップにおいては記載しない場合もあるが、送信される第２コンテンツデータにもレート制御情報が含まれている。
【０１４２】
ステップＳ２７において、コンテンツの送信要求情報を受信していない場合には（ステップＳ２７；ＮＯ）、図１８に移り、ノード装置１は、本発明における配信元のノード装置、本実施形態における放送局装置３１として機能する。第１コンテンツデータ取得手段としてのＣＰＵ１１は、後述するステップＳ６１の放送コンテンツデータ取得処理の結果、放送コンテンツデータ用の第１コンテンツデータのパケットを受信したか否かを判断する（ステップＳ２９）。放送コンテンツデータのパケットを受信した場合には（ステップＳ２９；ＹＥＳ）、保存判断手段としてのＣＰＵ１１は、ハードディスク装置１３におけるＨＤ（ハードディスク）に当該放送コンテンツデータを保存するか否かを判断する（ステップＳ３０）。この放送コンテンツデータを保存するか否か、また、後述するデータを変換するか否か、保存したコンテンツを公開するか否か、の判断については、ノード装置１のユーザ等が設定した条件や、上述した放送局設定情報（図１１参照）、放送コンテンツデータ毎に設定された情報等に因る。ノード装置１が、図１１におけるチャンネル番号「３」の放送局装置として機能している場合には、放送コンテンツデータを保存すると判断する。
【０１４３】
ハードディスクに放送コンテンツデータを保存する場合には（ステップＳ３０；ＹＥＳ）、ＣＰＵ１１は、受信した放送コンテンツデータのパケットを順次ハードディスク（本発明における記録媒体）に保存していく（ステップＳ３１）。次いで、ＣＰＵ１１は、一つの放送コンテンツデータについてのパケットが全て揃っているか否かを判断し（ステップＳ３２）、放送コンテンツデータのパケットが全て揃っていない場合には（ステップＳ３２；ＮＯ）、後述するステップＳ３７に進む。なお、放送コンテンツデータが全て揃うまでは、ステップＳ３２；ＮＯ、Ｓ３７〜Ｓ４０、Ｓ８；ＮＯ、Ｓ４；ＮＯ、Ｓ９；ＮＯ、Ｓ１４；ＮＯ、Ｓ１７；ＮＯ、Ｓ１９；ＮＯ、Ｓ２３；ＮＯ、Ｓ２５；ＮＯ、Ｓ２７；ＮＯ、Ｓ２９；ＹＥＳ、Ｓ３０；ＹＥＳ、Ｓ３１を繰り返し、放送コンテンツデータが揃うと、後述するように、必要に応じて公開メッセージを送信する。
【０１４４】
ステップＳ３２において、放送コンテンツデータのパケットが全て揃った場合には（ステップＳ３２；ＹＥＳ）、公開判断手段としてのＣＰＵ１１は、保存したコンテンツデータを第１コンテンツデータとして公開するか否かを判断する（ステップＳ３３）。ノード装置１が、図１１におけるチャンネル番号「３」の放送局装置として機能している場合には、公開条件が無いため、放送コンテンツデータを公開すると判断する。保存したコンテンツデータを第１コンテンツデータとして公開する場合には（ステップＳ３３；ＹＥＳ）、ＣＰＵ１１は、保存した第１コンテンツデータのコンテンツＩＤやその所在情報（自ノード装置のＩＰアドレス等）を、コンテンツインデックス情報に登録する（ステップＳ３４）。次いで、公開情報送信手段としてのＣＰＵ１１は、当該ノード装置１自身が、当該第１コンテンツデータのコンテンツＩＤを考慮したときにルートノードとなるか否かを判断する（ステップＳ３５）。当該ノード装置１自身がルートノードでない場合には（ステップＳ３５；ＮＯ）、公開情報送信手段としてのＣＰＵ１１は、保存した第１コンテンツデータについてのコンテンツ公開メッセージを他のノード装置１へ（ルートノードに向けて）送信し（ステップＳ３６）、ステップＳ３７へ進む。一方、ステップＳ３５において、当該ノード装置１自身がルートノードである場合（ステップＳ３５；ＹＥＳ）、及び上述したステップＳ３３において、保存したコンテンツデータを第１コンテンツデータとして公開しない場合は（ステップＳ３３；ＮＯ）、処理を行わずにステップＳ３７へ進む。
【０１４５】
ＣＰＵ１１は、放送コンテンツデータのパケット生成処理を開始する（ステップＳ３７）。次いで、ＣＰＵ１１は、放送コンテンツデータを変換するか否かを判断し（ステップＳ３８）、放送コンテンツデータを変換する場合には（ステップＳ３８；ＹＥＳ）、変換手段としてのＣＰＵ１１は、所定の方法で放送コンテンツデータを変換し（ステップＳ３９）、第２コンテンツデータ配信手段としてのＣＰＵ１１は、下流ノード装置１に変換した放送コンテンツデータのパケットの送信を開始する（ステップＳ４０）。ノード装置１が、図１１におけるチャンネル番号「３」の放送局装置として機能している場合には、放送コンテンツデータを所定の一分間のデータに変換して送信する。また、ステップＳ３８において、放送コンテンツデータを変換しない場合には（ステップＳ３８；ＮＯ）、第２コンテンツデータ配信手段としてのＣＰＵ１１は、取得した第１コンテンツデータのパケットをそのまま放送コンテンツデータとして下流ノード装置１に送信（配信）を開始する（ステップＳ４０）。なお、ステップＳ４０において、送出速度をあわせたり、放送コンテンツデータを放送するタイミングまで待って放送を開始したり、上述の付加情報を付す等の変換を行うこともできる。
【０１４６】
また、ステップＳ３０において、ハードディスクに放送コンテンツデータを保存しない場合には（ステップＳ３０；ＮＯ）、ＣＰＵ１１は、リングバッファ１２１に第１コンテンツデータのパケットを一時的に記憶し、放送コンテンツデータを変換するか否かを判断する（ステップＳ４１）。放送コンテンツデータを変換する場合には（ステップＳ４１；ＹＥＳ）、変換手段としてのＣＰＵ１１は、所定の方法で放送コンテンツデータを変換し（ステップＳ４２）、下流ノード装置１に変換した放送コンテンツデータのパケットの送信を開始する（ステップＳ４３）。また、ステップＳ４１において、放送コンテンツデータを変換しない場合には（ステップＳ４１；ＮＯ）、第２コンテンツデータ配信手段としてのＣＰＵ１１は、取得した第１コンテンツデータをそのまま放送コンテンツデータとして下流ノード装置１に送信する（ステップＳ４３）。次いで、ステップＳ８に戻る。このステップＳ４１からＳ４３は、上述のステップＳ３８からＳ４０と同様である。
【０１４７】
ステップＳ２９において、放送コンテンツデータのパケットを受信しない場合には（ステップＳ２９；ＮＯ）、ＣＰＵ１１は、コンテンツ検索メッセージ（クエリ）を受信したか否かを判断する（ステップＳ４４）。クエリを受信した場合には（ステップＳ４４；ＹＥＳ）、ＣＰＵ１１は、コンテンツ検索処理を行い（ステップＳ４５）、ステップＳ８に戻る。なお、ステップＳ４５のコンテンツ検索処理については、図２２を用いて後述する。
【０１４８】
ステップＳ４４において、クエリを受信していない場合には（ステップＳ４４；ＮＯ）、ＣＰＵ１１は、Ｓ４５のコンテンツ検索処理の結果、コンテンツノード情報（コンテンツノードのＩＰアドレス等の所在情報）を受信したか否かを判断する（ステップＳ４６）。コンテンツノード情報を受信した場合には（ステップＳ４６；ＹＥＳ）、要求送信手段としてのＣＰＵ１１は、コンテンツノードへコンテンツの送信要求情報を送信する（ステップＳ４７）。
【０１４９】
ステップＳ４６において、コンテンツノード情報を受信していない場合には（ステップＳ４６；ＮＯ）、図１９に移り、ＣＰＵ１１は、コンテンツ分散保存システムＳ１への参加メッセージを受信したか否かを判断する（ステップＳ４８）。参加メッセージを受信した場合には（ステップＳ４８；ＹＥＳ）、参加メッセージ中に参加メッセージの送信元のノード装置（参加ノード装置）の所在情報及びテーブル情報から送信すべき段の情報が含まれているため、ＣＰＵ１１は、所持しているテーブル情報から該当する段の情報を参加ノード装置に送信する（ステップＳ４９）。次いで、ＣＰＵ１１は、当該ノード装置１自身が参加ノードのノードＩＤのルートノードか否かを判断する（ステップＳ５０）。当該ノード装置１自身がルートノードでない場合には（ステップＳ５０；ＮＯ）、ＣＰＵ１１は、次のノード装置に参加メッセージを転送し（ステップＳ５１）、ステップＳ８に戻る。また、当該ノード装置１自身がルートノードである場合には（ステップＳ５０；ＹＥＳ）、参加メッセージを転送することなくステップＳ８に戻る。
【０１５０】
ステップＳ４８において、参加メッセージを受信していない場合には（ステップＳ４８；ＮＯ）、接続先紹介サーバ３５から放送局開始依頼メッセージを受信したか否かを判断する（ステップＳ５２）。放送局開始依頼メッセージを受信した場合には（ステップＳ５２；ＹＥＳ）、ＣＰＵ１１は、コンテンツ投入サーバ２６から放送するコンテンツやその順番、時間帯等が示された放送プログラムファイルを取得し、放送プログラムファイルに沿って放送を開始する（ステップＳ５３）。次いで、ＣＰＵ１１は、接続先紹介サーバ３５へ放送局装置として機能する旨の登録を行い（ステップＳ５４）、ステップＳ８に戻る。
【０１５１】
ステップＳ５２において、放送局開始依頼メッセージを受信していない場合には（ステップＳ５２；ＮＯ）、ＣＰＵ１１は、接続先紹介サーバ３５から放送局停止依頼メッセージを受信したか否かを判断する（ステップＳ５５）。放送局停止依頼メッセージを受信した場合には（ステップＳ５５；ＹＥＳ）、ＣＰＵ１１は、現在の放送に用いている放送プログラムファイルを削除し、放送を停止する（ステップＳ５６）。次いで、ＣＰＵ１１は、接続先紹介サーバ３５へ放送局装置として機能していたものを解除する旨の登録を行い（ステップＳ５７）、ステップＳ８に戻る。
【０１５２】
ステップＳ５５において、放送局停止依頼メッセージを受信していない場合には（ステップＳ５５；ＮＯ）、ＣＰＵ１１は、他のノード装置１からツリー型配信システムＳ２における下流に接続したい旨の接続開設又は既にある接続を切断する旨の接続切断の要求があるか否かを判断する（ステップＳ５８）。他のノード装置１からの接続開設又は接続切断の要求がある場合には（ステップＳ５８；ＹＥＳ）、ＣＰＵ１１は、その要求に従い、他のノード装置１と接続を開設し、又は接続を切断して（ステップＳ５９）、ステップＳ８に戻る。ステップＳ５９において他のノード装置１と接続を開設した場合には、続いて放送を開始することとなるため、放送コンテンツデータを送信する準備をする。
【０１５３】
ステップＳ５８において、他のノード装置１からの接続開設又は接続切断の要求がない場合には（ステップＳ５８；ＮＯ）、ＣＰＵ１１は、放送プログラムファイル（図１０（Ａ）参照）に基づき、放送コンテンツデータを取得するタイミングになったか否かを判断する（ステップＳ６０）。放送コンテンツデータを取得するタイミングになった場合には（ステップＳ６０；ＹＥＳ）、ＣＰＵ１１は、放送コンテンツ取得処理を行い（ステップＳ６１）、ステップＳ８に戻る。なお、ステップＳ６１における放送コンテンツ取得処理は、図２３を用いて後述する。
【０１５４】
ここで、ステップＳ８において、電源が切られた場合には、電源オフであると判断し（ステップＳ８；ＹＥＳ）、ノード装置１における処理を終了する（エンド）。なお、図１６乃至図１９においてフローチャートが接続されている部分には、接続子１〜６を用いている。
【０１５５】
次いで、ステップＳ３のコンテンツ分散保存システムＳ１への参加処理について、図２０を参照して説明する。
【０１５６】
コンテンツ分散保存システムＳ１への参加処理が始まると（スタート：ステップＳ３）、ノード装置１のＣＰＵ１１は、コンタクトノード紹介サーバ２５に対し、コンタクトノード紹介要求メッセージを送信する（ステップＳ７１）。次いで、ＣＰＵ１１は、コンタクトノード紹介サーバ２５からコンタクトノード情報を取得し（ステップＳ７２）、コンタクトノードへ参加メッセージを送信する（ステップＳ７３）。次いで、ＣＰＵ１１は、コンタクトノードや、参加メッセージが転送された各ノード装置１から、テーブル情報を受信する（ステップＳ７４）。
【０１５７】
次いで、ＣＰＵ１１は、受信したテーブル情報に基づいて所持しているルーティングテーブルを更新し（ステップＳ７５）、コンテンツ投入サーバ２６へカタログリストを要求する（ステップＳ７６）。次いで、ＣＰＵ１１は、コンテンツ投入サーバ２６からカタログリストを受信し（ステップＳ７７）、元の図１６におけるステップＳ３へ戻る（リターン）。このような参加処理を行っているとき、ノード装置１は、参加ノードとして機能している。
【０１５８】
次いで、ステップＳ２６の投入コンテンツ受信処理について、図２１を参照して説明する。
【０１５９】
投入コンテンツ受信処理が始まると（スタート：ステップＳ２６）、ノード装置１のＣＰＵ１１は、受信した第１コンテンツデータをハードディスク装置１３におけるＨＤに保存する（ステップＳ８１）。次いで、ＣＰＵ１１は、保存した第１コンテンツデータのコンテンツＩＤやその所在情報（自ノード装置のＩＰアドレス等）を、コンテンツインデックス情報に登録する（ステップＳ８２）。次いで、ＣＰＵ１１は、当該ノード装置１自身が、当該第１コンテンツデータのコンテンツＩＤを考慮したときにルートノードとなるか否かを判断する（ステップＳ８３）。当該ノード装置１自身がルートノードでない場合には（ステップＳ８３；ＮＯ）、ＣＰＵ１１は、保存した第１コンテンツデータについてのコンテンツ公開メッセージを他のノード装置１へ（ルートノードに向けて）送信し（ステップＳ８４）、元の図１７におけるステップＳ２６へ戻る（リターン）。一方、当該ノード装置１自身がルートノードである場合（ステップＳ８３；ＹＥＳ）には、処理を行わずに、元の図１７におけるステップＳ２６へ戻る（リターン）。このような投入コンテンツ受信処理を行ったノード装置１は、コンテンツノードとして機能することとなる。
【０１６０】
次いで、ステップＳ４５のコンテンツ検索処理について、図２２を参照して説明する。
【０１６１】
コンテンツ検索処理が始まると（スタート：ステップＳ４５）、ノード装置１のＣＰＵ１１は、コンテンツ検索メッセージ（クエリ）から検索されている第１コンテンツデータのコンテンツＩＤを取得する（ステップＳ９１）。次いで、ＣＰＵ１１は、所持するコンテンツインデックス情報に当該コンテンツＩＤが存在するか否かを判断する（ステップＳ９２）。コンテンツインデックス情報に当該コンテンツＩＤが存在する場合には（ステップＳ９２；ＹＥＳ）、ＣＰＵ１１は、コンテンツインデックス情報から当該コンテンツＩＤに対応するコンテンツノード情報を取得し（ステップＳ９３）、このコンテンツノード情報をコンテンツ検索メッセージの送信元のノード装置に送信する（ステップＳ９４）。一方、ステップＳ９２において、コンテンツインデックス情報に当該コンテンツＩＤが存在しない場合には（ステップＳ９２；ＮＯ）、他のノード装置１へコンテンツ検索メッセージを転送する（ステップＳ９５）。これらのステップＳ９４、Ｓ９５が終わると、元の図１８におけるステップＳ４５へ戻る（リターン）。
【０１６２】
次いで、ステップＳ６１の放送コンテンツデータ取得処理について、図２３を参照して説明する。
【０１６３】
放送コンテンツデータ取得処理が始まると（スタート：ステップＳ６１）、ノード装置１のＣＰＵ１１は、放送プログラムファイルから放送コンテンツデータのコンテンツＩＤを取得し（ステップＳ１０１）、当該コンテンツＩＤに該当するコンテンツデータを保存しているか否かを判断する（ステップＳ１０２）。該当コンテンツデータを保存していない場合には（ステップＳ１０２；ＮＯ）、所持するコンテンツインデックス情報に当該コンテンツＩＤが存在するか否かを判断する（ステップＳ１０３）。所持するコンテンツインデックス情報に当該コンテンツＩＤが存在する場合には（ステップＳ１０３；ＹＥＳ）、コンテンツインデックス情報からコンテンツノード情報を取得し（ステップＳ１０４）、要求送信手段としてのＣＰＵ１１は、コンテンツノードへコンテンツの送信要求情報を送信する（ステップＳ１０５）。一方、ステップＳ１０３において、コンテンツインデックス情報に当該コンテンツＩＤが存在しない場合には（ステップＳ１０３；ＮＯ）、検索手段としてのＣＰＵ１１は、他のノード装置１へコンテンツＩＤを付加したコンテンツ検索メッセージを送信する（ステップＳ１０６）。これらのステップＳ１０５、Ｓ１０６が終わると、元の図１９におけるステップＳ６１から図１６におけるステップＳ８へ戻る（リターン）。なお、ステップＳ１０２において、該当コンテンツデータを保存している場合には（ステップＳ１０２；ＹＥＳ）、コンテンツデータを取得する必要がないため、上記処理をすることなくステップＳ４１、Ｓ４２、Ｓ４３と同様の処理を行って、下流ノード装置へ放送コンテンツパケットの送信を開始し、元の図１９におけるステップＳ６１から図１６におけるステップＳ８へ戻る（リターン）。
【０１６４】
［６．２．コンタクトノード紹介サーバの動作］
次いで、図２４を参照して、本実施形態のコンタクトノード紹介サーバ２５の動作について説明する。
【０１６５】
コンタクトノード紹介サーバ２５のＣＰＵ２５１は、ネットワークインターフェイス２５７を介した外部からの指示又はキーボード２５６２等の入力部からの入力等により、コンタクトノード紹介サービスを開始することを認識すると、その処理を開始する（スタート）。
【０１６６】
処理が開始されると、ＣＰＵ２５１は、当該コンタクトノード紹介サーバ２５のプログラム等の各種設定を初期化し（ステップＳ１１１）、ノード装置１からコンタクトノード紹介要求メッセージがあるか否かを判断する（ステップＳ１１２）。コンタクトノード紹介要求メッセージがある場合（ステップＳ１１２；ＹＥＳ）、ＣＰＵ２５１は、コンタクトノード紹介要求メッセージの送信元のノード装置１に対し、候補となるコンタクトノードのノード情報（ＩＰアドレス等の所在情報）を送信し（ステップＳ１１３）、ステップＳ１１４に進む。また、ステップＳ１１２において、コンタクトノード紹介要求メッセージがない場合には、ステップＳ１１３を経ずにステップＳ１１４に進む。次いで、ＣＰＵ２５１は、コンタクトノード紹介サーバサービスを終了するか否か、キーボード２５６２等からの入力やネットワークインターフェイス２５７を介した指示等により判断する（ステップＳ１１４）。コンタクトノード紹介サーバサービスを終了しない場合には（ステップＳ１１４；ＮＯ）、ステップＳ１１２に戻り、コンタクトノード紹介サーバサービスを終了する場合には（ステップＳ１１４；ＹＥＳ）、処理を終了する（エンド）。
【０１６７】
［６．３．接続先紹介サーバの動作］
次いで、図２５を参照して、本実施形態の接続先紹介サーバ３５の動作について説明する。
【０１６８】
接続先紹介サーバ３５のＣＰＵ３５１は、ネットワークインターフェイス３５７を介した外部からの指示又はキーボード３５６２等の入力部からの入力等により、接続先紹介サービスを開始することを認識すると、その処理を開始する（スタート）。
【０１６９】
処理が開始されると、ＣＰＵ３５１は、当該接続先紹介サーバ３５のプログラム等の各種設定を初期化し（ステップＳ１２１）、ノード装置１から参加通知があるか否かを判断する（ステップＳ１２２）。参加通知がある場合には（ステップＳ１２２；ＹＥＳ）、ＣＰＵ３５１は、参加通知の送信元のノード装置の所在情報を端末管理データベースに登録し（ステップＳ１２３）、接続先紹介サーバサービスを終了するか否か、キーボード３５６２等からの入力やネットワークインターフェイス３５７を介した指示等により判断する（ステップＳ１２４）。コンタクトノード紹介サーバサービスを終了しない場合には（ステップＳ１２４；ＮＯ）、ステップＳ１２２に戻る。
【０１７０】
ステップＳ１２２において、参加通知がない場合には（ステップＳ１２２；ＮＯ）、ＣＰＵ３５１は、放送局装置から登録要求又は解除要求があるか否かを判断する（ステップＳ１２５）。放送局装置の登録要求又は解除要求がある場合には（ステップＳ１２５；ＹＥＳ）、ＣＰＵ３５１は、当該要求に応じて、放送局装置の所在情報を端末管理データベースに登録し、又は解除する（ステップＳ１２６）。次いで、ＣＰＵ３５１は、当該放送局装置のチャンネル情報をトポロジーデータベースに登録し又は解除し（ステップＳ１２７）、ステップＳ１２４に戻る。
【０１７１】
ステップＳ１２５において、放送局装置の登録要求又は解除要求がない場合には（ステップＳ１２５；ＮＯ）、ＣＰＵ３５１は、ノード装置１から接続先紹介要求Ｓｃがあるか否かを判断する（ステップＳ１２８）。接続先紹介要求Ｓｃがある場合には（ステップＳ１２８；ＹＥＳ）、ＣＰＵ３５１は、トポロジーデータベースから接続先候補となるノード装置１の所在情報を取得し（ステップＳ１２９）、要求元のノード装置に接続先の候補となるノード装置１の所在情報を接続先候補通知Ｎｋ｛｝として送信し（ステップＳ１３０）、ステップＳ１２４に戻る。
【０１７２】
ステップＳ１２８において、接続先紹介要求Ｓｃがない場合には（ステップＳ１２８；ＮＯ）、ＣＰＵ３５１は、放送管理者の端末装置（図示しない）又はキーボード３５６２等の入力部から、放送局開設要求があるか否かを判断する（ステップＳ１３１）。放送局開設要求がある場合には（ステップＳ１３１；ＹＥＳ）、ＣＰＵ３５１は、端末管理データベースから放送局装置３１となるノード装置１を選択し（ステップＳ１３２）、選択したノード装置１へ放送局開始依頼メッセージを送信し（ステップＳ１３３）、ステップＳ１２４へ戻る。なお、図２５には示さないが、放送管理者から放送局を停止すべき旨の要求がある場合には、同様に、放送局装置３１として機能しているノード装置に対して、放送局停止依頼メッセージを送信する。
【０１７３】
ステップＳ１３１において、放送局開設要求がない場合には（ステップＳ１３１；ＮＯ）、ＣＰＵ３５１は、ノード装置１からトポロジー参加報告があるか否かを判断する（ステップＳ１３４）。ノード装置１からトポロジー参加報告がある場合には（ステップＳ１３４；ＹＥＳ）、ＣＰＵ３５１は、当該ノード装置１がトポロジーに参加したことによるトポロジーの変動に関する情報をトポロジーのデータベースへ登録し（ステップＳ１３５）、ステップＳ１２４へ戻る。また、ステップＳ１３４において、ノード装置１からトポロジー参加報告がない場合にも（ステップＳ１３４；ＮＯ）、ステップＳ１２４へ戻る。
【０１７４】
ここで、ステップＳ１２４において、コンタクトノード紹介サーバサービスを終了する場合には（ステップＳ１２４；ＹＥＳ）、処理を終了する（エンド）。
【０１７５】
［６．４．コンテンツ投入サーバの動作］
次いで、図２６を参照して、本実施形態のコンテンツ投入サーバ２６の動作について説明する。
【０１７６】
コンテンツ投入サーバ２６のＣＰＵ２６１は、ネットワークインターフェイス２６７を介した外部からの指示又はキーボード２６６２等の入力部からの入力等により、接続先紹介サービスを開始することを認識すると、その処理を開始する（スタート）。
【０１７７】
処理が開始されると、ＣＰＵ２６１は、当該コンテンツ投入サーバ２６のプログラム等の各種設定を初期化し（ステップＳ１４１）、コンテンツ分散保存システムＳ１の管理者の装置等からコンテンツ投入指示があるか否かを判断する（ステップＳ１４２）。コンテンツ投入指示がある場合には（ステップＳ１４２；ＹＥＳ）、ＣＰＵ２６１は、投入される新たな第１コンテンツデータに対応するコンテンツＩＤの管理テーブルを更新し（ステップＳ１４３）、カタログリストにおける新たな第１コンテンツデータに関する情報を更新し（ステップＳ１４４）、新たな第１コンテンツデータをコンテンツ分散保存システムＳ１におけるランダムに決めた一又は複数のノード装置１に配信する（ステップＳ１４５）。次いで、ＣＰＵ２６１は、コンテンツ投入サーバサービスを終了するか否か、キーボード２６６２等からの入力やネットワークインターフェイス２６７を介した指示等により判断する（ステップＳ１４６）。コンテンツ投入サーバサービスを終了しない場合には（ステップＳ１４６；ＮＯ）、ステップＳ１４２に戻る。
【０１７８】
ステップＳ１４２において、コンテンツ投入指示がない場合には（ステップＳ１４２；ＮＯ）、ＣＰＵ２６１は、ノード装置１からカタログリストの送信要求があるか否かを判断する（ステップＳ１４７）。カタログリストの送信要求がある場合には（ステップＳ１４７；ＹＥＳ）、ＣＰＵ２６１は、カタログリスト送信要求の送信元のノード装置１に、カタログリストの情報を送信し（ステップＳ１４８）、ステップＳ１４６に戻る。
【０１７９】
ステップＳ１４７において、カタログリストの送信要求がない場合には（ステップＳ１４７；ＮＯ）、ＣＰＵ２６１は、放送局装置３１として機能するノード装置１から放送プログラムファイルの送信要求があるか否かを判断する（ステップＳ１４９）。放送プログラムファイルの送信要求がある場合には（ステップＳ１４９；ＹＥＳ）、ＣＰＵ２６１は、放送プログラムファイル送信要求の送信元のノード装置１に、放送プログラムファイルを送信し（ステップＳ１５０）、ステップＳ１４６に戻る。また、ステップＳ１４９において、ノード装置１から放送プログラムファイル送信要求がない場合にも（ステップＳ１４９；ＮＯ）、ステップＳ１４６へ戻る。
【０１８０】
ここで、ステップＳ１４６において、コンテンツ投入サーバサービスを終了する場合には（ステップＳ１４６；ＹＥＳ）、処理を終了する（エンド）。
【０１８１】
［７．変形形態］
本発明の一例として上述の実施形態を説明したが、本発明はこれに限定されず、例えば、以下の変形形態とすることもできる。
【０１８２】
［７．１．第１変形形態］
上述の実施形態においては、ノード装置１が放送局装置３１として機能するものとして説明したが、通常のノード装置１とは別に放送局用の放送局装置３１をコンテンツ配信システムＳに備えていてもよい。そのような放送局装置３１も、コンテンツ分散保存システムＳ１に参加している必要がある。放送局装置３１を有する場合のコンテンツ配信システムＳについて、以下に説明する。
【０１８３】
放送局装置３１の構成及び機能について図２７を参照して説明する。図２７は、放送局装置３１の概要構成例を示す図である。
【０１８４】
放送局装置３１は、図２７に示すように、演算機能を有するＣＰＵ３１１と、受信した第１コンテンツデータ等を一時蓄積するリングバッファメモリ３１２１、オペレーティングシステム３１２２、ストリーム制御プログラム３１２３、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）等をデコード（データ伸張や復号化等）等する画面制御プログラム３１２４、トポロジー制御プログラム３１２５、コンテンツデータに含まれるエンコードされたオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）する音楽デコーダ３１２６及び放送コンテンツ制御プログラム３１２７を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置３１２と、第１コンテンツデータ、コンテンツインデックス情報、上記ＤＨＴおよびプログラム等を記憶保存（格納）するためのＨＤ等から構成された記録媒体としてのハードディスク装置３１３と、ハードディスク装置３１３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ３１４と、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力するビデオチップ３１５１と、当該ビデオチップ３１５１から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ３１６１と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音源チップ３１５２と、当該音源チップ３１５２から出力されたオーディオ信号を音波として出力するスピーカ３１６２と、ユーザからの指示を受け付け当該指示に応じた指示信号をＣＰＵ３１１に対して与える入力部としてのキーボード３１６３及びマウス３１６４（他にも、例えば、操作用リモコン、操作パネル等が可）と、ネットワーク８を通じてルータ３１９等を介し、他のノード装置１等との間の情報の通信制御を行うためのネットワークインターフェイス３１７と、を備えて構成され、ＣＰＵ３１１、主記憶装置３１２、周辺機器制御チップ３１４、ビデオチップ３１５１、音源チップ３１５２及びネットワークインターフェイス３１７はシステムバス３１８を介して相互に接続されている。ネットワークインターフェイス３１７は、ネットワーク８を介して外部のルータ３１９等と接続されている。
【０１８５】
そして、ＣＰＵ３１１は主記憶装置３１２等に記憶された各種プログラムを実行することにより、放送局装置３１全体を統括制御するようになっており、また、キーボード３１６３等の入力部からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。また、放送局装置３１のＣＰＵ３１１は、本発明の第１コンテンツデータ取得手段、第２コンテンツデータ配信手段、保存判断手段、公開情報送信手段、要求受信手段（コンテンツ要求）、第１コンテンツデータ送信手段、公開判断手段、検索手段（クエリ）、要求送信手段（コンテンツ要求）、変換手段、として機能する。なお、放送局装置３１は、配信する放送コンテンツデータの順番や時刻、コンテンツＩＤ等が示された放送プログラムファイルを、コンテンツ投入サーバ２６から受信して有していることを前提とする。
【０１８６】
次いで、放送局装置３１の動作について図２８を参照して説明する。
【０１８７】
放送局装置３１のＣＰＵ３１１は、図示しない電源スイッチ等により放送局装置３１自身に電源が入れられたことを認識すると、その処理を開始する（スタート）。
【０１８８】
処理が開始されると、ＣＰＵ３１１は、当該放送局装置３１のプログラム等の各種設定を初期化し（ステップＳ１６１）、接続先紹介サーバ３５へツリー型配信システムＳ２への参加通知を送信する（ステップＳ１６２）。次いで、ＣＰＵ３１１は、コンテンツ分散保存システムＳ１への参加処理を行う（ステップＳ１６３）。なお、ステップＳ１６３のコンテンツ分散保存システムＳ１への参加処理は、図２０を参照して上述したステップＳ３の説明と同様であるため、省略する。
【０１８９】
次いで、ＣＰＵ３１１は、放送管理者の操作等によりキーボード３１６３等から放送開始又は放送停止の要求があるか否かを判断する（ステップＳ１６４）。放送開始又は放送停止の要求がある場合には（ステップＳ１６４；ＹＥＳ）、ＣＰＵ３１１は、当該要求の内容に応じて、コンテンツパケットの生成処理を開始又は停止する（ステップＳ１６５）。次いで、ＣＰＵ３１１は、放送コンテンツデータを変換するか否かを判断し（ステップＳ１６６）、放送コンテンツデータを変換する場合には（ステップＳ１６６；ＹＥＳ）、変換手段としてのＣＰＵ３１１は、所定の方法で放送コンテンツデータを変換し（ステップＳ１６７）、ステップＳ１６８へ進む。また、ステップＳ１６６において、放送コンテンツデータを変換しない場合には、そのままステップＳ１６８へ進む。
【０１９０】
次いで、ＣＰＵ３１１は、電源が切られたか否かを判断し（ステップＳ１６８）、電源が切られていない場合には（ステップＳ１６８；ＮＯ）、ステップＳ１６４へ戻る。
【０１９１】
ステップＳ１６４において、放送開始又は放送停止の要求がない場合には（ステップＳ１６４；ＮＯ）、ＣＰＵ３１１は、ノード装置１からツリー型配信システムＳ２における下流に接続したい旨の接続開設又は既にある接続を切断する旨の接続切断の要求があるか否かを判断する（ステップＳ１６９）。他のノード装置１からの接続開設又は接続切断の要求がある場合には（ステップＳ１６９；ＹＥＳ）、ＣＰＵ３１１は、その要求に従い、他のノード装置１と接続を開設し、又は接続を切断し（ステップＳ１７０）、次いで、当該ノード装置に放送コンテンツの配信を開始し、又は停止し（ステップＳ１７１）、ステップＳ１６８に戻る。
【０１９２】
ステップＳ１６９において、ノード装置１からの接続開設又は接続切断の要求がない場合には（ステップＳ１６９；ＮＯ）、ＣＰＵ３１１は、放送プログラムファイルに基づき、放送コンテンツデータを取得するタイミングになったか否かを判断する（ステップＳ１７２）。放送コンテンツデータを取得するタイミングになった場合には（ステップＳ１７２；ＹＥＳ）、ＣＰＵ３１１は、放送コンテンツ取得処理を行い（ステップＳ１７３）、ステップＳ１６８に戻る。なお、ステップＳ１７３の放送コンテンツ取得処理は、図２３を参照して上述したステップＳ６１の説明と同様であるため、省略する。
【０１９３】
ここで、ステップＳ１６８において、電源が切られた場合には、電源オフであると判断し（ステップＳ１６８；ＹＥＳ）放送局装置３１における処理を終了する（エンド）。
【０１９４】
本実施形態では、取得した第１コンテンツデータのハードディスクへの保存、保存した第１コンテンツデータについてのコンテンツ公開メッセージの送信等は行わないものとして説明した。
【０１９５】
なお、放送局装置３１は、ツリー型配信システムＳ２における第２コンテンツデータの配信を主として行うため、コンテンツ分散保存システムＳ１へも参加しているものの、当該システムＳ１においては、他のノード装置１のＤＨＴルーティングテーブルに記憶されにくくしたり、コンテンツ投入サーバ２６からコンテンツ分散保存システムＳ１に保存される第１コンテンツデータが投入されて保存することを行わないように設定することができる。なお、コンテンツ分散保存システムＳ１において、放送局装置３１がクエリやコンテンツ公開メッセージ、参加メッセージ等の各メッセージや情報を受信した場合には、通常のノード装置と同じように転送等の処理を行う。
【０１９６】
ここで、コンテンツ配信システムＳにおいては、放送チャンネルの数だけ放送局装置３１が存在することとなり、本実施形態の放送局装置３１と、通常のノード装置１が放送局装置３１として機能するものが混在していてもよい。
【０１９７】
［７．２．第２変形形態］
上述の実施形態においては、ノード装置１の動作におけるステップＳ２９において、コンテンツ分散保存システムＳ１におけるコンテンツパケットを受信すると、当該コンテンツをツリー型配信システムＳ２において配信（放送）する放送コンテンツとして扱っているが、これに限定されない。
【０１９８】
第２変形形態においては、ノード装置１が第１コンテンツデータのパケットを受信すると、当該第１コンテンツデータが自身の要求に基づいて取得したコンテンツデータか、放送するために取得したコンテンツデータか、を判断し、自身の要求に基づいて取得したコンテンツデータである場合には、ハードディスク装置１３のＨＤに保存して当該コンテンツデータを再生し、放送するために取得したコンテンツデータである場合には、放送コンテンツデータとしてツリー型配信システムＳ２において放送する。
【０１９９】
この変形形態にかかるノード装置１の動作を、図２９を参照して説明する。図２９は、図１８のフローチャートの変形例であり、図１８と同様のステップＳは省略している。
【０２００】
図１７のステップＳ２７において、コンテンツの送信要求情報を受信していない場合には（ステップＳ２７；ＮＯ）、図２９に移り、ＣＰＵ１１は、コンテンツパケットを受信したか否かを判断する（ステップＳ１８１）。ここで、コンテンツパケットを受信していない場合には（ステップＳ１８１；ＮＯ）、ステップＳ４４へ進む（図２９においては省略）。
【０２０１】
一方、コンテンツパケットを受信した場合には（ステップＳ１８１；ＹＥＳ）、コンテンツ判断手段としてのＣＰＵ１１は、第１コンテンツデータ取得手段としてのＣＰＵ１１により取得した第１コンテンツデータ、すなわち上記コンテンツパケットがツリー型配信システムＳ２において配信するコンテンツデータに対応するか否かを判断する（ステップＳ１８２）。具体的には、ＣＰＵ１１は、受信したコンテンツパケットがステップＳ６１の放送コンテンツデータ取得処理の結果として受信したコンテンツパケットであるか否か、又は受信したコンテンツパケットが放送プログラムファイルに含まれているか否か、を判断し、放送用のコンテンツパケットである場合には（ステップＳ１８２；ＹＥＳ）、上述したステップＳ３０に進み、当該コンテンツパケットを放送するための処理を行う（図２９においては省略）。このとき、ノード装置１は、本発明における配信元のノード装置、実施形態における放送局装置３１として機能し、ＣＰＵ１１は第２コンテンツデータ配信手段として機能する。
【０２０２】
ステップＳ１８２において、受信したコンテンツパケットがステップＳ６１の放送コンテンツデータ取得処理の結果として受信したコンテンツパケットでなく、又は受信したコンテンツパケットが放送プログラムファイルに含まれておらず、上記コンテンツパケットがツリー型配信システムＳ２において配信するコンテンツデータに対応しない場合には（ステップＳ１８２；ＮＯ）、ＣＰＵ１１は、受信したコンテンツデータを自身の要求に基づいて取得したコンテンツデータであると判断し、第１コンテンツデータをハードディスク装置１３のＨＤに保存する（ステップＳ１８３）。
【０２０３】
次いで、ＣＰＵ１１は、ユーザが視聴するために当該コンテンツデータを再生して（ステップＳ１８４）、保存した第１コンテンツデータのコンテンツＩＤやその所在情報（自ノード装置のＩＰアドレス等）を、コンテンツインデックス情報に登録する（ステップＳ１８５）。次いで、ＣＰＵ１１は、当該ノード装置１自身が、当該第１コンテンツデータのコンテンツＩＤを考慮したときにルートノードとなるか否かを判断する（ステップＳ１８６）。当該ノード装置１自身がルートノードでない場合には（ステップＳ１８６；ＮＯ）、ＣＰＵ１１は、保存した第１コンテンツデータについてのコンテンツ公開メッセージを他のノード装置１へ（ルートノードに向けて）送信し（ステップＳ１８７）、図１６のステップＳ８へ戻る。一方、ステップＳ１８６において、当該ノード装置１自身がルートノードである場合には、（ステップＳ１８６；ＹＥＳ）、処理を行わずに図１６のステップＳ８へ戻る（接続子４）。
【０２０４】
この変形形態では、ノード装置１が、第１コンテンツデータ取得手段としてのＣＰＵ１１により取得した第１コンテンツデータがツリー型配信システムＳ２において配信するコンテンツデータに対応するか否かを判断するコンテンツ判断手段（ＣＰＵ１１）を有しており、コンテンツ判断手段が第１コンテンツデータ取得手段により取得した第１コンテンツデータがツリー型配信システムＳ２において配信するコンテンツデータに対応すると判断した場合に、第２コンテンツデータ配信手段としてのＣＰＵ１１は、取得した当該第１コンテンツデータを第２コンテンツデータとしてツリー型配信システムＳ２における他のノード装置３２に配信すればよい。コンテンツ判断手段における判断は、動作について上述したように放送プログラムファイルを参照してもよいし、ステップＳ６１の放送コンテンツデータ取得処理の結果として受信したコンテンツデータであるか否かを確認してもよく、特に限定されない。
【０２０５】
［７．３．他の変形形態］
上述の実施形態においては、コンテンツ配信システムＳにおいて、コンタクトノード紹介サーバ２５、接続先紹介サーバ３５、コンテンツ投入サーバ２６を備えているが、この構成に限定されず、システムＳにこれらのサーバ装置を備えていなくても、コンテンツ分散保存システムＳ１に参加し、かつ、ツリー型配信システムＳ２に配信元のノード装置３１として参加しているノード装置１が、コンテンツ分散保存システムＳ１における第１コンテンツデータを保存しているノード装置１から第１コンテンツデータを取得する第１コンテンツデータ取得手段（ＣＰＵ１１）と、取得した第１コンテンツデータを第２コンテンツデータとしてツリー型配信システムＳ２における他のノード装置３２に配信する第２コンテンツデータ配信手段（ＣＰＵ１１）と、を有していればよい。従って、上述の各サーバが存在しないことにより、コンテンツ配信システムＳにおけるノード装置１等のシステムＳを構成する装置等の動作や役割が異なることがある。
【０２０６】
このような本発明のコンテンツ配信システムにより、ツリー型配信システムＳ２のコンテンツ配信元のノード装置におけるコンテンツ保存等の負担が軽減する。そのため、第１変形形態のような放送局装置３１を放送管理者が別個に提供しなくても、通常のユーザのノード装置１が放送局の役割を行うことにより、少ない設備で放送局の運営を行うことが可能となり、放送局の運営にかかるコストも低減できる。
【０２０７】
上述の実施形態においては、ノード装置１がＤＨＴのルーティングテーブルを記憶しており、これに基づいて第１コンテンツデータが分散保存されているが、この実施形態に限定されない。コンテンツ分散保存システムＳ１が複数のノード装置１の参加により形成されており、複数の第１コンテンツデータが複数のノード装置１に分散保存され、一のノード装置１（上述のコンテンツノード）が他のノード装置１からの要求に応じて自己が保存している第１コンテンツデータを通信手段を介して送信する構成になっていればよい。
【０２０８】
上述の実施形態においては、ノード装置１や放送局装置３１においては、当該装置が起動し始めた段階でコンテンツ分散保存システムＳ１への参加処理（ステップＳ３、Ｓ１６３、図２０等）を行っているが、この形態に限定されない。例えば、ノード装置１が放送局装置３１としての機能をし始める段階、又は、放送局装置３１が第２コンテンツデータの配信を開始する段階等の必要な段階においてコンテンツ分散保存システムＳ１へ参加し、必要な第１コンテンツデータを取得した後、また必要な段階まで脱退していてもよい。
【０２０９】
上述の実施形態においては、ステップＳ２８等の説明において、レート制御情報がどのコンテンツデータ（第１コンテンツデータ、第２（放送）コンテンツデータ）にも入っていることとしたが、これに限定されず、第２（放送）コンテンツデータのみにレート制御情報を含ませることとしてもよい。
【０２１０】
上述の実施形態においては、ステップＳ２０、Ｓ３４、Ｓ８２等の説明において、自ノード装置１がルートノードであるか否かに関わらず、キャッシュノードとして当該コンテンツデータのコンテンツノードの情報をコンテンツインデックス情報へ登録しているが、自ノード装置１がルートノードでないときは（ステップＳ２１；ＮＯ、Ｓ３５；ＮＯ、Ｓ８３；ＮＯ）、当該コンテンツデータのコンテンツノードの情報についてコンテンツインデックス情報に登録せずに次のステップに進んでもよい。
【０２１１】
上述の実施形態においては、図５や図９に示すように、ルートノードがコンテンツノードの所在情報をクエリの送信元のノード装置１に知らせ、当該ノード装置がコンテンツノードに第１コンテンツデータを要求し、取得する形態としているが、第１コンテンツデータを取得する形態は、これに限定されない。例えば、ノード装置１が送信したクエリがルートノードに届いた場合、ルートノードがコンテンツノードに対して、「該当する第１コンテンツデータをクエリの送信元のノード装置１に送信すべき」旨のメッセージを送信し、この通知を受けたコンテンツノードが、該当する第１コンテンツデータをクエリの送信元のノード装置１に送信する形態としてもよい。
【０２１２】
上述の実施形態においては、ノード装置１は、記録媒体（ハードディスク）に、放送用に取得した第１コンテンツデータを保存することができ、保存するか否かを選択できることとしているが、この形態に限定されず、放送用に取得した第１コンテンツデータを保存できない形態としてもよいし、保存の有無を選択せずに必ず保存する、必ず保存しない、と決められた形態としてもよい。
【０２１３】
上述の実施形態においては、ノード装置１は、前記記録媒体に前記第１コンテンツデータを新たに保存した場合に、他のノード装置に当該第１コンテンツデータを保存していることを示す公開情報（コンテンツ公開メッセージ）を、コンテンツ分散保存システムＳ１における第１コンテンツデータの所在を管理する管理元のノード装置１（ルートノード）に向けて送信し、コンテンツノードとして機能でき、このように公開するか否かを選択できることとしているが、この形態に限定されず、保存した第１コンテンツデータを公開できない形態としてもよいし、公開の有無を選択せずに必ず公開する、必ず公開しない、と決められた形態としてもよい。
【０２１４】
上述の実施形態においては、取得した第１コンテンツデータをツリー型配信システムＳ２において配信するための形式に変換して第２コンテンツデータ（放送コンテンツデータ）とする形態や、変換するか否かを選択できる形態を説明したが、これに限定されず、コンテンツデータの変換を行わない形態としてもよいし、変換の有無を選択せずに必ず所定のやり方で変換する、必ず変換しない、と決められた形態としてもよい。
【０２１５】
また、上述のコンテンツ配信システムＳにおいては、ツリー型配信システムＳ２におけるツリーの長さが長くなる（配信元のノード装置から最下流のノード装置までのノード装置数が多くなる）場合には、配信元のノード装置を増やし、これらが同一のチャンネル（第２コンテンツデータ）を放送できるようにして、ツリーを分割することができる。このようにツリーを所定値以上長くならないようにして、より安定した第２コンテンツデータの配信を行うことができる。このようにするために、接続先紹介サーバ３５が各ノード装置１にメッセージを送り、ツリーのトポロジーを調整することができる。
【０２１６】
上述のノード装置１又は放送局装置３１の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを各実施形態に係るＣＰＵ１１又はＣＰＵ３１１として機能させることも可能である。
【図面の簡単な説明】
【０２１７】
【図１】本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＤＨＴによるＩＤ空間及びコンテンツＩＤとこれに対するルートノードを説明する図である。
【図３】本実施形態に係るコンテンツ分散保存システムにおけるＤＨＴによるＩＤ空間及びルーティングテーブルが作成される様子の一例を示す図である。
【図４】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図５】ＤＨＴによるＩＤ空間及びコンテンツの検索方法、取得方法を説明する図である。
【図６】ＤＨＴによるＩＤ空間及び保存された第１コンテンツデータの公開方法を説明する図である。
【図７】ＤＨＴによるＩＤ空間及びノード装置の参加方法を説明する図である。
【図８】本実施形態に係るツリー型配信システムの概要を説明する図である。
【図９】本実施形態に係るコンテンツ配信システムの概要を説明する図（１）である。
【図１０】本実施形態に係るコンテンツ配信システムの概要を説明する図（２）である。
【図１１】放送局設定情報を示す表である。
【図１２】ノード装置１の概要構成例を示す図である。
【図１３】コンタクトノード紹介サーバ２５の概要構成例を示す図である。
【図１４】接続先紹介サーバ３５の概要構成例を示す図である。
【図１５】コンテンツ投入サーバ２６の概要構成例を示す図である。
【図１６】ノード装置１における処理（１）を示すフローチャートである。
【図１７】ノード装置１における処理（２）を示すフローチャートである。
【図１８】ノード装置１における処理（３）を示すフローチャートである。
【図１９】ノード装置１における処理（４）を示すフローチャートである。
【図２０】ノード装置１におけるコンテンツ分散保存システムへの参加処理を示すフローチャートである。
【図２１】ノード装置１における投入コンテンツ受信処理を示すフローチャートである。
【図２２】ノード装置１におけるコンテンツ検索処理を示すフローチャートである。
【図２３】ノード装置１における放送コンテンツデータ取得処理を示すフローチャートである。
【図２４】コンタクトノード紹介サーバ２５における処理を示すフローチャートである。
【図２５】接続先紹介サーバ３５における処理を示すフローチャートである。
【図２６】コンテンツ投入サーバ２６における処理を示すフローチャートである。
【図２７】放送局装置３１の概要構成例を示す図である。
【図２８】放送局装置３１における処理を示すフローチャートである。
【図２９】図１８に示すノード装置１における処理の変形形態を示すフローチャートである。
【符号の説明】
【０２１８】
１  ノード装置
８  ネットワーク
９  オーバレイネットワーク
１１  ＣＰＵ
１２  主記憶装置
１３  ハードディスク装置
１４  周辺機器制御チップ
１５  ビデオチップ
１６  内蔵ディスプレイ
１７  音源チップ
１８  内蔵スピーカ
１９  赤外線ポート
２１  ネットワークインターフェイス
２２  システムバス
２３  ユーザ入力用リモコン
２４  ルータ
Ｓ  コンテンツ配信システム
Ｓ１  コンテンツ分散保存システム
Ｓ２  ツリー型配信システム
【図１】
2008033406.tif 000003
【図２】
2008033406.tif 000004
【図３】
2008033406.tif 000005
【図４】
2008033406.tif 000006
【図５】
2008033406.tif 000007
【図６】
2008033406.tif 000008
【図７】
2008033406.tif 000009
【図８】
2008033406.tif 000010
【図９】
2008033406.tif 000011
【図１０】
2008033406.tif 000012
【図１１】
2008033406.tif 000013
【図１２】
2008033406.tif 000014
【図１３】
2008033406.tif 000015
【図１４】
2008033406.tif 000016
【図１５】
2008033406.tif 000017
【図１６】
2008033406.tif 000018
【図１７】
2008033406.tif 000019
【図１８】
2008033406.tif 000020
【図１９】
2008033406.tif 000021
【図２０】
2008033406.tif 000022
【図２１】
2008033406.tif 000023
【図２２】
2008033406.tif 000024
【図２３】
2008033406.tif 000025
【図２４】
2008033406.tif 000026
【図２５】
2008033406.tif 000027
【図２６】
2008033406.tif 000028
【図２７】
2008033406.tif 000029
【図２８】
2008033406.tif 000030
【図２９】
2008033406.tif 000031