(57)【要約】      （修正有）【課題】速やかにコンテンツのレプリカを作成できるシステム、ノード装置等を提供する。【解決手段】複数の第１コンテンツデータが分散保存されたツリー状に接続されたノード装置であり、放送局装置３１から配信された第２コンテンツデータが、上位階層のノード装置３２ａから下位階層のノード装置３２ｃ、ｄ…に順次転送されるようにしたツリー型配信システムＳ２に参加しているノード装置３２であって、放送局装置３１又は上位階層の他のノード装置３２ａ、ｂ等から第２コンテンツデータ（10000001）と併せて、当該第２コンテンツデータを保存するか否かを示す判断情報（レプリカ作成有／無）を受信する受信手段と、判断情報が保存することを示している（レプリカ作成有）場合には、記録媒体に当該第２コンテンツデータを第１コンテンツデータとして保存する保存手段を有するノード装置３２ａ、ｂ、ｃ等により上記課題を解決する。【選択図】図９
2008035337.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記ノード装置であって、
前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータを受信する受信手段と、
記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存する保存手段と、
下位階層の他のノード装置へ受信した前記第２コンテンツデータを転送する転送手段と、
前記記録媒体に前記第１コンテンツデータを保存した場合には、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、前記コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する公開情報送信手段と、
を有することを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置であって、
前記受信手段は、前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータと併せて当該第２コンテンツデータを保存するか否かを示す判断情報を受信し、
前記保存手段は、前記第２コンテンツデータと併せて受信した前記判断情報が保存することを示している場合には、記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存し、
前記転送手段は、下位階層の他のノード装置へ受信した前記第２コンテンツデータと併せて前記判断情報を転送することを特徴とするノード装置。
【請求項３】
請求項２に記載のノード装置であって、
前記受信手段は、コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報を含んだ前記判断情報を受信し、
前記転送手段は、自己の前記記録媒体に前記第１コンテンツデータを保存した場合には、前記増加コンテンツ数情報に対応するコンテンツ数から１減じた値に変換して前記増加コンテンツ数情報として前記判断情報に含ませ、下位階層の他のノード装置へ前記第２コンテンツデータと併せて当該判断情報を転送することを特徴とするノード装置。
【請求項４】
請求項３に記載のノード装置であって、
前記転送手段は、直接接続される下位階層のノード装置が複数ある場合には、前記増加コンテンツ数情報に対応するコンテンツ数から１減じた値を下位階層のノード装置数で分割した値に変換して前記増加コンテンツ数情報として前記判断情報に含ませ、それぞれの下位階層の他のノード装置へ前記第２コンテンツデータと併せて転送することを特徴とするノード装置。
【請求項５】
請求項３又は４に記載のノード装置であって、
送信すべき前記増加コンテンツ数情報のコンテンツ数が０の場合には、その旨の増加完了報告情報を前記配信装置に向けて送信する完了報告送信手段を有し、
前記保存手段は、受信した前記増加コンテンツ数情報のコンテンツ数が０の場合には、当該第２コンテンツデータを保存しないことを特徴とするノード装置。
【請求項６】
請求項３乃至５のいずれか一項に記載のノード装置であって、
受信した前記増加コンテンツ数情報のコンテンツ数が２以上であり且つ下位階層のノード装置がない場合には、その旨の増加未完了報告情報を前記配信装置に向けて送信する未完了報告送信手段を有することを特徴とするノード装置。
【請求項７】
請求項６に記載のノード装置であって、
前記完了報告送信手段又は前記未完了報告送信手段の少なくともいずれか一は、前記増加完了報告情報又は前記増加未完了報告情報を前記配信装置に直接送信することを特徴とするノード装置。
【請求項８】
請求項６に記載のノード装置であって、
前記完了報告送信手段又は前記未完了報告送信手段の少なくともいずれか一は、前記増加完了報告情報又は前記増加未完了報告情報を自己の上位階層のノード装置に送信し、
受信した前記増加完了報告情報又は前記増加未完了報告情報を、さらに上位階層の前記ノード装置又は前記配信装置に転送する報告転送手段を有することを特徴とするノード装置。
【請求項９】
請求項２乃至８のいずれか一項に記載のノード装置であって、
前記保存手段は、前記第２コンテンツデータと併せて受信した前記判断情報が保存することを示しており、且つ、前記記録媒体に当該第２コンテンツデータに対応する前記第１コンテンツデータを保存していない場合にのみ、前記記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存し、
前記転送手段は、新たに前記第１コンテンツデータを保存しなかった場合には、下位階層の他のノード装置へ前記第２コンテンツデータと併せて前記判断情報をそのまま転送することを特徴とするノード装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載のノード装置であって、
前記第２コンテンツデータが前記記録媒体に保存可能であるか否かを判断する保存判断手段を有し、
前記保存手段は、前記保存判断手段が保存可能と判断した場合に、前記第２コンテンツデータを前記第１コンテンツデータとして保存することを特徴とするノード装置。
【請求項１１】
請求項１０に記載のノード装置であって、
前記保存判断手段は、前記記録媒体における空きの記録容量及び前記第２コンテンツデータの容量に応じて前記第１コンテンツデータとして前記記録媒体に保存可能であるか否かを判断することを特徴とするノード装置。
【請求項１２】
請求項２乃至１１に記載のノード装置であって、
前記受信手段は、前記第２コンテンツデータについて必ず保存するか、前記記録媒体に空きの記録容量がある場合にのみ保存するか、を示す保存評価情報が含まれた前記判断情報を受信し、
前記保存手段は、前記第２コンテンツデータについて必ず保存することを示す前記保存評価情報を受信した場合には、前記第２コンテンツデータを保存できるまで、既に前記記録媒体に保存されており他のノード装置からの要求情報を受信していない時間の長い順に他の前記第１コンテンツデータを削除した後、前記第２コンテンツデータを前記第１コンテンツデータとして保存し、
前記第２コンテンツデータについて前記記録媒体に空きの記録容量がある場合にのみ保存することを示す前記保存評価情報を受信した場合には、前記保存手段は、当該第２コンテンツデータを保存するための所定の空きの記録容量が前記記録媒体にあるか否かを判断し、空きの記録容量が前記記録媒体にあると判断した場合のみ、前記第２コンテンツデータを前記第１コンテンツデータとして保存することを特徴とするノード装置。
【請求項１３】
請求項１０乃至１２のいずれか一項に記載のノード装置であって、
前記受信手段は、前記増加コンテンツ数情報及び前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報が含まれた前記判断情報を受信し、
前記保存手段は、前記第１コンテンツデータと併せて前記増加コンテンツ数初期情報を前記記録媒体に記録し、
前記保存判断手段は、前記記録媒体に新たに前記第１コンテンツデータを保存できるだけの空き容量がない場合であって、前記第２コンテンツデータの前記増加コンテンツ数初期情報の値が、既に前記記録媒体に保存されている他の前記第１コンテンツデータに対応する前記増加コンテンツ数初期情報の値よりも大きい場合に、前記第２コンテンツデータが前記記録媒体に保存可能であると判断し、
前記保存手段は、前記第２コンテンツデータを保存できるまで、既に前記記録媒体に保存されており前記増加コンテンツ数初期情報の値が低い順に他の前記第１コンテンツデータを削除した後、前記第２コンテンツデータを前記第１コンテンツデータとして保存することを特徴とするノード装置。
【請求項１４】
請求項１乃至１３のいずれか一項に記載のノード装置であって、
保存すること及び再生しないことを示す前記判断情報を伴う前記第２コンテンツデータと、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータと、を並行して受信した場合に、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータのみを再生する選択再生手段を有し、
前記転送手段は、保存すること及び再生しないことを示す前記判断情報を伴う前記第２コンテンツデータと、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータと、を並行して下位階層のノード装置に転送することを特徴とするノード装置。
【請求項１５】
コンピュータを、請求項１乃至１４のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラム。
【請求項１６】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記ノード装置におけるコンテンツ配信方法であって、
前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータを受信する工程と、
記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存する工程と、
下位階層の他のノード装置へ受信した前記第２コンテンツデータを転送する工程と、
前記記録媒体に前記第１コンテンツデータを保存した場合には、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、前記コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する工程と、
を有することを特徴とするコンテンツ配信方法。
【請求項１７】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムを備えるコンテンツ配信システムにおける前記配信装置であって、
前記第２コンテンツデータと併せて、当該第２コンテンツデータを保存するか否かを示す判断情報を下位階層のノード装置に送信する送信手段を有することを特徴とする配信装置。
【請求項１８】
請求項１７に記載の配信装置であって、
前記送信手段は、前記判断情報に、コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報を含めて送信することを特徴とする配信装置。
【請求項１９】
請求項１８に記載の配信装置であって、
前記判断情報を送信した後、下位階層の各ノード装置から、前記増加コンテンツ数情報のコンテンツ数が０である旨の増加完了報告情報、又は、前記増加コンテンツ数情報のコンテンツ数が２以上であり且つ下位階層のノード装置がない旨の増加未完了報告情報、の少なくともいずれか一方を受信し、前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報に対応する数の前記第１コンテンツデータを増加できていない場合には、前記第２コンテンツデータと併せて、再度、前記増加コンテンツ数情報を設定して前記判断情報を送信する再送信手段を有することを特徴とする配信装置。
【請求項２０】
請求項１８又は１９に記載の配信装置であって、
前記ツリー型配信システムを管理する管理装置から前記第１コンテンツデータに対応する前記増加コンテンツ数情報を含めて、前記ツリー型配信システムを利用して前記第１コンテンツデータを複製すべき旨の複製指示情報を受信する複製指示情報受信手段と、
前記判断情報を送信した後、下位階層の各ノード装置から、増加コンテンツ数情報のコンテンツ数が０である旨の増加完了報告情報、又は、増加コンテンツ数情報のコンテンツ数が２以上であり且つ下位階層のノード装置がない旨の増加未完了報告情報、の少なくともいずれか一方を受信し、前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報に対応する数の前記第１コンテンツデータを増加できているか否かを示すコンテンツ増加情報を、前記管理装置に送信するコンテンツ増加情報送信手段と、を有することを特徴とする配信装置。
【請求項２１】
請求項１７乃至２０のいずれか一項に記載の配信装置であって、
前記送信手段は、前記判断情報に、前記第２コンテンツデータについて必ず保存するか、前記ノード装置における前記記録媒体に空きの記録容量がある場合にのみ保存するか、を示す保存評価情報を含めて送信することを特徴とする配信装置。
【請求項２２】
請求項１８乃至２１のいずれか一項に記載の配信装置であって、
前記送信手段は、前記判断情報に、前記増加コンテンツ数情報及び前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報を含めて送信することを特徴とする配信装置。
【請求項２３】
請求項１７乃至２２のいずれか一項に記載の配信装置であって、
保存することを示す前記判断情報を伴う前記第２コンテンツデータと、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータと、を並行して送信し、且つ、保存することを示す前記判断情報を伴う前記第２コンテンツデータには、前記判断情報に再生しないことを示す判断情報をさらに含ませる並行送信手段を有することを特徴とする配信装置。
【請求項２４】
請求項１７乃至２３のいずれか一項に記載の配信装置であって、
前記送信手段は、前記ツリー型配信システムを管理する管理装置から、前記ツリー型配信システムを利用して前記第１コンテンツデータを複製すべき旨の複製指示情報を受信した場合に、当該第１コンテンツデータに対応する前記第２コンテンツデータと併せて、当該第２コンテンツデータを保存することを示す前記判断情報を下位階層のノード装置に送信し、且つ、当該第２コンテンツデータを他の第２コンテンツデータよりも優先して送信することを特徴とする配信装置。
【請求項２５】
コンピュータを、請求項１７乃至２４のいずれか一項に記載の配信装置として機能させることを特徴とする情報処理プログラム。
【請求項２６】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムを備えるコンテンツ配信システムの前記配信装置におけるコンテンツ配信方法であって、
前記第２コンテンツデータと併せて、当該第２コンテンツデータを保存するか否かを示す判断情報を下位階層のノード装置に送信する工程を有することを特徴とするコンテンツ配信方法。
【請求項２７】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、ツリー型配信システムを管理する管理装置が設定する順序に従い前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムにおける前記管理装置であって、
前記第１コンテンツデータを保存するノード装置又は前記第１コンテンツデータの所在を管理する管理元ノード装置から当該第１コンテンツデータについての通信の集中を示す通信集中情報を受信した場合に、前記配信装置へ前記ツリー型配信システムを利用して当該第１コンテンツデータを複製すべき旨の複製指示情報を送信する複製指示手段を有することを特徴とする管理装置。
【請求項２８】
請求項２７に記載の管理装置であって、
前記複製指示手段は、前記コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報を前記複製指示情報に含めて送信することを特徴とする管理装置。
【請求項２９】
請求項２８に記載の管理装置であって、
前記増加コンテンツ数情報を前記複製指示情報に含めて送信した後、前記配信装置から、前記増加コンテンツ数情報に対応するコンテンツ数の前記第１コンテンツデータを増加できているか否かを示すコンテンツ増加情報を受信するコンテンツ増加情報受信手段と、
前記コンテンツ増加情報により前記増加コンテンツ数情報に対応するコンテンツ数の前記第１コンテンツデータを増加できていない場合に、不足数の前記第１コンテンツデータに対応する第２コンテンツデータを保存することを示す前記判断情報を下位階層のノード装置に送信すべき旨の複製指示情報を再度他の配信装置に送信する複製再指示手段を有することを特徴とする管理装置。
【請求項３０】
コンピュータを、請求項２７乃至２９のいずれか一項に記載の管理装置として機能させることを特徴とする情報処理プログラム。
【請求項３１】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、ツリー型配信システムを管理する管理装置が設定する順序に従い前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムの前記管理装置におけるコンテンツ配信方法であって、
前記第１コンテンツデータを保存するノード装置又は前記第１コンテンツデータの所在を管理する管理元ノード装置から当該第１コンテンツデータについての通信の集中を示す通信集中情報を受信した場合に、前記配信装置へ前記ツリー型配信システムを利用して当該第１コンテンツデータを複製すべき旨の複製指示情報を送信する工程を有することを特徴とするコンテンツ配信方法。
【請求項３２】
複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、
複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムであって、
前記配信装置は、前記第２コンテンツデータを下位階層のノード装置に送信する送信手段を有し、且つ、
前記ノード装置は、前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータを受信する受信手段と、
記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存する保存手段と、
下位階層の他のノード装置へ受信した前記第２コンテンツデータを転送する転送手段と、
前記記録媒体に前記第１コンテンツデータを保存した場合には、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する公開情報送信手段と、を有することを特徴とするコンテンツ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信手段を介して互いに接続された複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型のコンテンツ配信システム及び方法等の技術分野に関する。
【背景技術】
【０００２】
近年、ブロードバンドの普及によりＶＯＤ（ビデオオンデマンド）等のコンテンツ配信サービスが行われている。現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピアという技術が注目されてきている。ピアツーピア型の情報通信システムにおいて、例えば、特許文献１のように、分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して論理的に構築されたオーバレイネットワークでは、各ノード装置が、当該オーバレイネットワークに参加している全てのノード装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持（記憶）しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
【０００３】
ピアツーピア型の情報配信システムにおいては、一つのコンテンツ情報に対して、複数のレプリカ（複製）コンテンツ情報を用意し、分散配置させておくことで、故障に対応したり、アクセス分散を高める手法が提案されている。
【特許文献１】特開２００６−５９１３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、コンテンツを視聴するためにコンテンツを受信することによってコンテンツのレプリカが作成されるため、コンテンツのレプリカは一度に大量に作成することができず、レプリカの作成には時間を要する。
【０００５】
そこで、本発明は、コンテンツのレプリカを作成する手法を提案するものであって、速やかにコンテンツのレプリカを作成できるコンテンツ配信システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記ノード装置であって、前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータを受信する受信手段と、記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存する保存手段と、下位階層の他のノード装置へ受信した前記第２コンテンツデータを転送する転送手段と、前記記録媒体に前記第１コンテンツデータを保存した場合には、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、前記コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する公開情報送信手段と、を有することを特徴とする。
【０００７】
これによれば、コンテンツ分散保存システムにおいて第１コンテンツデータの複製を作成したい場合に、当該第１コンテンツデータに対応する第２コンテンツデータをツリー型配信システムにおいて配信し、当該ツリー型配信システムに参加しているノード装置がその複製を作成して公開することにより、他のノード装置が当該第１コンテンツデータの複製からコンテンツデータを取得できることとなる。具体的に、ノード装置は第２コンテンツデータを受信した場合に、当該第２コンテンツデータを保存する。このように、本発明ではツリー型配信システムのデータ配信を利用して複製すべきコンテンツデータを配信し、参加しているノード装置が当該コンテンツデータを複製していくため、速やかにコンテンツの複製（レプリカ）を作成できる。
【０００８】
上記課題を解決するために、請求項２に記載のノード装置は、請求項１に記載のノード装置であって、前記受信手段は、前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータと併せて当該第２コンテンツデータを保存するか否かを示す判断情報を受信し、前記保存手段は、前記第２コンテンツデータと併せて受信した前記判断情報が保存することを示している場合には、記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存し、前記転送手段は、下位階層の他のノード装置へ受信した前記第２コンテンツデータと併せて前記判断情報を転送することを特徴とする。
【０００９】
これによれば、ノード装置は第２コンテンツデータと併せて第２コンテンツデータを保存することを示す判断情報を受信した場合に、当該第２コンテンツデータを保存する。このように、本発明ではツリー型配信システムのデータ配信を利用し、判断情報を用いることにより、複製すべきコンテンツデータを配信し、参加しているノード装置が当該コンテンツデータを複製していくため、速やかにコンテンツの複製（レプリカ）を作成できる。
【００１０】
上記課題を解決するために、請求項３に記載の発明は、請求項２に記載のノード装置であって、前記受信手段は、コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報を含んだ前記判断情報を受信し、前記転送手段は、自己の前記記録媒体に前記第１コンテンツデータを保存した場合には、前記増加コンテンツ数情報に対応するコンテンツ数から１減じた値に変換して前記増加コンテンツ数情報として前記判断情報に含ませ、下位階層の他のノード装置へ前記第２コンテンツデータと併せて当該判断情報を転送することを特徴とする。
【００１１】
これによれば、コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報が判断情報に含まれているため、当該判断情報に基づいて、コンテンツ分散保存システム内に所定数の第１コンテンツデータを複製することができる。
【００１２】
上記課題を解決するために、請求項４に記載の発明は、請求項３に記載のノード装置であって、前記転送手段は、直接接続される下位階層のノード装置が複数ある場合には、前記増加コンテンツ数情報に対応するコンテンツ数から１減じた値を下位階層のノード装置数で分割した値に変換して前記増加コンテンツ数情報として前記判断情報に含ませ、それぞれの下位階層の他のノード装置へ前記第２コンテンツデータと併せて転送することを特徴とする。
【００１３】
これによれば、ツリー型配信システムのツリーの形態に合わせて判断情報に含まれる増加コンテンツ数情報が変更されて転送されるため、当該判断情報に基づいて、コンテンツ分散保存システム内に所定数の第１コンテンツデータを複製することができる。
【００１４】
上記課題を解決するために、請求項５に記載の発明は、請求項３又は４に記載のノード装置であって、送信すべき前記増加コンテンツ数情報のコンテンツ数が０の場合には、その旨の増加完了報告情報を前記配信装置に向けて送信する完了報告送信手段を有し、前記保存手段は、受信した前記増加コンテンツ数情報のコンテンツ数が０の場合には、当該第２コンテンツデータを保存しないことを特徴とする。
【００１５】
これによれば、自ノード装置が第１コンテンツデータを保存することにより、送信すべき増加コンテンツ数情報が０となり、そのツリーの枝における所定数のコンテンツ複製が完了した場合に、その旨の増加完了報告情報を配信装置に向けて送信することとなる。このことにより、配信装置は所定数のコンテンツ複製が完了したか否かを確認することができる。なお、送信すべき増加コンテンツ数情報とは、実際に送信したか否かは問わず、自ノード装置において増加コンテンツ数情報を１減じた後、下流のノード装置がない場合も含むことを示す。また、ノード装置は、複数の下流のノード装置のうち、少なくとも一のノード装置に送信した増加コンテンツ数情報が０の場合には、増加完了報告情報を送信する。また、増加完了報告情報を送信する際には、後述のように配信装置に直接送信してもよいし、上流のノード装置に送信して各ノード装置に転送されることにより間接的に配信装置に送信してもよい。
【００１６】
上記課題を解決するために、請求項６に記載の発明は、請求項３乃至５のいずれか一項に記載のノード装置であって、受信した前記増加コンテンツ数情報のコンテンツ数が２以上であり且つ下位階層のノード装置がない場合には、その旨の増加未完了報告情報を前記配信装置に向けて送信する未完了報告送信手段を有することを特徴とする。
【００１７】
これによれば、自ノード装置が第１コンテンツデータを保存しても、増加コンテンツ数情報が１以上であり、そのツリーの枝における所定数のコンテンツ複製が完了していない場合に、その旨の増加未完了報告情報を配信装置に向けて送信することとなる。このことにより、配信装置は所定数のコンテンツ複製が完了したか否かを確認することができる。なお、増加未完了報告情報を送信する際には、後述のように配信装置に直接送信してもよいし、上流のノード装置に送信して各ノード装置に転送されることにより間接的に配信装置に送信してもよい。
【００１８】
上記課題を解決するために、請求項７に記載の発明は、請求項６に記載のノード装置であって、前記完了報告送信手段又は前記未完了報告送信手段の少なくともいずれか一は、前記増加完了報告情報又は前記増加未完了報告情報を前記配信装置に直接送信することを特徴とする。
【００１９】
これによれば、増加完了報告情報又は増加未完了報告情報の少なくともいずれか一が配信装置に直接送信されるため、配信装置が確実に当該報告情報を受信できることとなる。
【００２０】
上記課題を解決するために、請求項８に記載の発明は、請求項６に記載のノード装置であって、前記完了報告送信手段又は前記未完了報告送信手段の少なくともいずれか一は、前記増加完了報告情報又は前記増加未完了報告情報を自己の上位階層のノード装置に送信し、受信した前記増加完了報告情報又は前記増加未完了報告情報を、さらに上位階層の前記ノード装置又は前記配信装置に転送する報告転送手段を有することを特徴とする。
【００２１】
これによれば、増加完了報告情報又は増加未完了報告情報の少なくともいずれか一が上位階層のノード装置を介して配信装置に転送されるため、転送するノード装置は自己が転送したコンテンツの増加が完了しているか否かを確認しながら配信装置に当該報告情報を送信できることとなる。
【００２２】
上記課題を解決するために、請求項９に記載の発明は、請求項２乃至８のいずれか一項に記載のノード装置であって、前記保存手段は、前記第２コンテンツデータと併せて受信した前記判断情報が保存することを示しており、且つ、前記記録媒体に当該第２コンテンツデータに対応する前記第１コンテンツデータを保存していない場合にのみ、前記記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存し、前記転送手段は、新たに前記第１コンテンツデータを保存しなかった場合には、下位階層の他のノード装置へ前記第２コンテンツデータと併せて前記判断情報をそのまま転送することを特徴とする。
【００２３】
これによれば、第１コンテンツデータを既に保存している場合にはさらに同様の第１コンテンツデータを保存しないため、ノード装置に重複した第１コンテンツデータを保存することにより余計な負担がかかることを防止できる。
【００２４】
上記課題を解決するために、請求項１０に記載の発明は、請求項１乃至９のいずれか一項に記載のノード装置であって、前記第２コンテンツデータが前記記録媒体に保存可能であるか否かを判断する保存判断手段を有し、前記保存手段は、前記保存判断手段が保存可能と判断した場合に、前記第２コンテンツデータを前記第１コンテンツデータとして保存することを特徴とする。
【００２５】
これによれば、ノード装置は、後述するように記録媒体における空きの記録容量を考慮したり、第１コンテンツデータの必要性等に応じて第１コンテンツデータを新たに保存するか否かを判断できる。そのため、ノード装置に負担をかけることなく受信した第１コンテンツデータを保存できる。
【００２６】
上記課題を解決するために、請求項１１に記載の発明は、請求項１０に記載のノード装置であって、前記保存判断手段は、前記記録媒体における空きの記録容量及び前記第２コンテンツデータの容量に応じて前記第１コンテンツデータとして前記記録媒体に保存可能であるか否かを判断することを特徴とする。
【００２７】
これによれば、記録媒体における空きの記録容量及び第２コンテンツデータの容量に応じて第１コンテンツデータとして記録媒体に保存可能であるか否かを判断するため、ノード装置に負担をかけることなく受信した第１コンテンツデータを保存できる。
【００２８】
上記課題を解決するために、請求項１２に記載の発明は、請求項２乃至１１に記載のノード装置であって、前記受信手段は、前記第２コンテンツデータについて必ず保存するか、前記記録媒体に空きの記録容量がある場合にのみ保存するか、を示す保存評価情報が含まれた前記判断情報を受信し、前記保存手段は、前記第２コンテンツデータについて必ず保存することを示す前記保存評価情報を受信した場合には、前記第２コンテンツデータを保存できるまで、既に前記記録媒体に保存されており他のノード装置からの要求情報を受信していない時間の長い順に他の前記第１コンテンツデータを削除した後、前記第２コンテンツデータを前記第１コンテンツデータとして保存し、前記第２コンテンツデータについて前記記録媒体に空きの記録容量がある場合にのみ保存することを示す前記保存評価情報を受信した場合には、前記保存手段は、当該第２コンテンツデータを保存するための所定の空きの記録容量が前記記録媒体にあるか否かを判断し、空きの記録容量が前記記録媒体にあると判断した場合のみ、前記第２コンテンツデータを前記第１コンテンツデータとして保存することを特徴とする。
【００２９】
これによれば、第２コンテンツデータに保存評価情報（例えば、本実施形態のＨＤ制御ＩＤ）が付された形態となるため、必ず保存するか、記録媒体に空きの記録容量がある場合にのみ保存するか、のいずれかの情報及び記録媒体の空きの記録容量に応じて、ノード装置は第２コンテンツデータを第１コンテンツデータとして保存し、または保存しない。そのため、重要度が高い第２コンテンツデータには必ず保存することを示す保存評価情報が付され、可能な範囲でレプリカを増やしたい第２コンテンツには記録媒体に空きの記録容量がある場合にのみ保存する保存評価情報が付される。このように、レプリカを増やしたい程度に応じて保存評価情報を利用し、コンテンツ分散保存システム内に第１コンテンツデータのレプリカを増やすことができる。
【００３０】
上記課題を解決するために、請求項１３に記載の発明は、請求項１０乃至１２のいずれか一項に記載のノード装置であって、前記受信手段は、前記増加コンテンツ数情報及び前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報が含まれた前記判断情報を受信し、前記保存手段は、前記第１コンテンツデータと併せて前記増加コンテンツ数初期情報を前記記録媒体に保存し、前記保存判断手段は、前記記録媒体に新たに前記第１コンテンツデータを保存できるだけの空き容量がない場合であって、前記第２コンテンツデータの前記増加コンテンツ数初期情報の値が、既に前記記録媒体に保存されている他の前記第１コンテンツデータに対応する前記増加コンテンツ数初期情報の値よりも大きい場合に、前記第２コンテンツデータが前記記録媒体に保存可能であると判断し、前記保存手段は、前記第２コンテンツデータを保存できるまで、既に前記記録媒体に保存されており前記増加コンテンツ数初期情報の値が低い順に他の前記第１コンテンツデータを削除した後、前記第２コンテンツデータを前記第１コンテンツデータとして保存することを特徴とする。
【００３１】
これによれば、増加コンテンツ数初期情報の値が高い第２コンテンツデータは、保存すべき優先順位が高いと判断し、増加コンテンツ数初期情報の値が高い順に第２コンテンツデータを第１コンテンツデータとしてノード装置に保存されていく。このように、レプリカを増やしたい程度に応じて増加コンテンツ初期情報の値を利用し、コンテンツ分散保存システム内に第１コンテンツデータのレプリカを増やすことができる。
【００３２】
上記課題を解決するために、請求項１４に記載の発明は、請求項１乃至１３のいずれか一項に記載のノード装置であって、保存すること及び再生しないことを示す前記判断情報を伴う前記第２コンテンツデータと、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータと、を並行して受信した場合に、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータのみを再生する選択再生手段を有し、前記転送手段は、保存すること及び再生しないことを示す前記判断情報を伴う前記第２コンテンツデータと、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータと、を並行して下位階層のノード装置に転送することを特徴とする。
【００３３】
これによれば、保存すること及び再生しないことを示す判断情報を伴う第２コンテンツデータと、保存しないことを示す判断情報を伴う他の第２コンテンツデータと、を並行して受信することにより、ノード装置において保存しないことを示す判断情報を伴う第２コンテンツデータのみを再生し、他方の第２コンテンツデータは再生せずに記録媒体に保存していくことができる。そのため、再生せずに保存する第２コンテンツデータのみを受信する場合にはデータを受信している間コンテンツを再生できないのに比べて、コンテンツを再生しない時間がないため、視聴者にとってストレス無く第２コンテンツデータの受信及び転送を行うことができる。
【００３４】
また、配信装置において、紹介用のコンテンツに保存しないことを示す判断情報を付し、正規のコンテンツに保存すること及び再生しないことを示す判断情報を付して送信すれば、ノード装置においては、ユーザが紹介用のコンテンツを視聴して、気に入った場合にそのコンテンツに対応する第１コンテンツデータをコンテンツ分散保存システムにおいて取得することができる。なお、並行して受信するとは、例えば二つの第２コンテンツデータを同時に受信する場合の他、例えば二つの第２コンテンツデータを複数のパケットに分割し、各パケットを二つの第２コンテンツデータ間で交互にまたはランダムな順で受信することにより、二つの第２コンテンツデータが混在してほぼ同時期に並行して受信しているように見える場合も含む。
【００３５】
上記課題を解決するために、請求項１５に記載の発明は、コンピュータを、請求項１乃至１４のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラムである。
【００３６】
上記課題を解決するために、請求項１６に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システムに参加している前記ノード装置であり、且つ、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムに参加している前記ノード装置におけるコンテンツ配信方法であって、前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータを受信する工程と、記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存する工程と、下位階層の他のノード装置へ受信した前記第２コンテンツデータを転送する工程と、前記記録媒体に前記第１コンテンツデータを保存した場合には、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、前記コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する工程と、を有することを特徴とする。
【００３７】
上記課題を解決するために、請求項１７に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムを備えるコンテンツ配信システムにおける前記配信装置であって、前記第２コンテンツデータと併せて、当該第２コンテンツデータを保存するか否かを示す判断情報を下位階層のノード装置に送信する送信手段を有することを特徴とする。
【００３８】
これによれば、コンテンツ分散保存システムにおいて第１コンテンツデータの複製を作成したい場合に、当該第１コンテンツデータに対応する第２コンテンツデータをツリー型配信システムにおいて配信し、当該ツリー型配信システムに参加しているノード装置がその複製を作成して公開することにより、他のノード装置が当該第１コンテンツデータの複製からコンテンツデータを取得できることとなる。
【００３９】
具体的に、配信装置においては第２コンテンツデータと併せて第２コンテンツデータを保存するか否かを示す判断情報を送信する。このように、本発明ではツリー型配信システムのデータ配信を利用して複製すべきコンテンツデータを配信し、参加しているノード装置が当該コンテンツデータを複製していくため、速やかにコンテンツの複製（レプリカ）を作成できる。
【００４０】
上記課題を解決するために、請求項１８に記載の発明は、請求項１７に記載の配信装置であって、前記送信手段は、前記判断情報に、コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報を含めて送信することを特徴とする。
【００４１】
これによれば、配信装置は判断情報に増加コンテンツ数情報を含めて送信するため、これを受信した各ノード装置においては当該判断情報に基づいて、コンテンツ分散保存システム内に所定数の第１コンテンツデータを複製することができる。
【００４２】
上記課題を解決するために、請求項１９に記載の発明は、請求項１８に記載の配信装置であって、前記判断情報を送信した後、下位階層の各ノード装置から、前記増加コンテンツ数情報のコンテンツ数が０である旨の増加完了報告情報、又は、前記増加コンテンツ数情報のコンテンツ数が２以上であり且つ下位階層のノード装置がない旨の増加未完了報告情報、の少なくともいずれか一方を受信し、前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報に対応する数の前記第１コンテンツデータを増加できていない場合には、前記第２コンテンツデータと併せて、再度、前記増加コンテンツ数情報を設定して前記判断情報を送信する再送信手段を有することを特徴とする。
【００４３】
これによれば、配信装置は、受信した増加完了報告情報または増加未完了報告情報により、所定数のコンテンツ複製が完了したか否かを確認することができる。そして、配信装置は、所定数の第１コンテンツデータが増加できていない場合には、再度増加コンテンツ数情報を設定した判断情報と第２コンテンツデータを送信するため、所定数の第１コンテンツデータが確実に増加できるよう管理することができる。
【００４４】
上記課題を解決するために、請求項２０に記載の発明は、請求項１８又は１９に記載の配信装置であって、前記ツリー型配信システムを管理する管理装置から前記第１コンテンツデータに対応する前記増加コンテンツ数情報を含めて、前記ツリー型配信システムを利用して前記第１コンテンツデータを複製すべき旨の複製指示情報を受信する複製指示情報受信手段と、前記判断情報を送信した後、下位階層の各ノード装置から、増加コンテンツ数情報のコンテンツ数が０である旨の増加完了報告情報、又は、増加コンテンツ数情報のコンテンツ数が２以上であり且つ下位階層のノード装置がない旨の増加未完了報告情報、の少なくともいずれか一方を受信し、前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報に対応する数の前記第１コンテンツデータを増加できているか否かを示すコンテンツ増加情報を、前記管理装置に送信するコンテンツ増加情報送信手段と、を有することを特徴とする。
【００４５】
これによれば、配信装置は、受信した増加完了報告情報または増加未完了報告情報により、所定数のコンテンツ複製が完了したか否かを確認することができる。そして、配信装置は、所定数の第１コンテンツデータを増加できているか否かを示すコンテンツ増加情報を管理装置に送信することにより、管理装置においてコンテンツの増加の程度を確認することができる。管理装置は、コンテンツ増加情報の送信元の配信装置を有するツリー型配信システムにおいて所定数の第１コンテンツデータを増加できていない場合には、他の配信装置を有するツリー型配信システムにおいて同様に第１コンテンツデータを複製させるように動作し、所定数の第１コンテンツデータが確実に増加できるよう管理することができる。
【００４６】
上記課題を解決するために、請求項２１に記載の発明は、請求項１７乃至２０のいずれか一項に記載の配信装置であって、前記送信手段は、前記判断情報に、前記第２コンテンツデータについて必ず保存するか、前記ノード装置における前記記録媒体に空きの記録容量がある場合にのみ保存するか、を示す保存評価情報を含めて送信することを特徴とする。
【００４７】
これによれば、第２コンテンツデータに保存評価情報（例えば、本実施形態のＨＤ制御ＩＤ）が付された形態となるため、必ず保存するか、記録媒体に空きの記録容量がある場合にのみ保存するか、のいずれかの情報及び記録媒体の空きの記録容量に応じて、ノード装置は第２コンテンツデータを第１コンテンツデータとして保存し、または保存しない。そのため、配信装置は、重要度が高い第２コンテンツデータには必ず保存することを示す保存評価情報を付し、可能な範囲でレプリカを増やしたい第２コンテンツには記録媒体に空きの記録容量がある場合にのみ保存する保存評価情報を付すことができる。このように、レプリカを増やしたい程度に応じて保存評価情報を利用し、コンテンツ分散保存システム内に第１コンテンツデータのレプリカを増やすことができる。
【００４８】
上記課題を解決するために、請求項２２に記載の発明は、請求項１８乃至２１のいずれか一項に記載の配信装置であって、前記送信手段は、前記判断情報に、前記増加コンテンツ数情報及び前記増加コンテンツ数情報に対応するコンテンツ数の初期値を示す増加コンテンツ数初期情報を含めて送信することを特徴とする。
【００４９】
これによれば、増加コンテンツ数初期情報の値が高い第２コンテンツデータは、保存すべき優先順位が高いとノード装置において判断させることにより、増加コンテンツ数初期情報の値が高い順に第２コンテンツデータを第１コンテンツデータとしてノード装置に保存させることができる。このように、レプリカを増やしたい程度に応じて増加コンテンツ初期情報の値を利用し、コンテンツ分散保存システム内に第１コンテンツデータのレプリカを増やすことができる。
【００５０】
上記課題を解決するために、請求項２３に記載の発明は、請求項１７乃至２２のいずれか一項に記載の配信装置であって、保存することを示す前記判断情報を伴う前記第２コンテンツデータと、保存しないことを示す前記判断情報を伴う他の前記第２コンテンツデータと、を並行して送信し、且つ、保存することを示す前記判断情報を伴う前記第２コンテンツデータには、前記判断情報に再生しないことを示す判断情報をさらに含ませる並行送信手段を有することを特徴とする。
【００５１】
これによれば、保存すること及び再生しないことを示す判断情報を伴う第２コンテンツデータと、保存しないことを示す判断情報を伴う他の第２コンテンツデータと、を並行して送信することにより、ノード装置において保存しないことを示す判断情報を伴う第２コンテンツデータのみを再生させ、他方の第２コンテンツデータは再生せずに記録媒体に保存させることができる。そのため、再生せずに保存する第２コンテンツデータのみを送信する場合には、ノード装置においてデータを受信している間コンテンツを再生できないのに比べて、コンテンツを再生しない時間がないため、視聴者にとってストレス無く第２コンテンツデータの受信及び転送を行うことができる。
【００５２】
また、配信装置において、紹介用のコンテンツに保存しないことを示す判断情報を付し、正規のコンテンツに保存すること及び再生しないことを示す判断情報を付して送信することにより、ノード装置においては、ユーザが紹介用のコンテンツを視聴して、気に入った場合にそのコンテンツに対応する第１コンテンツデータをコンテンツ分散保存システムにおいて取得することができる。なお、並行して受信するとは、例えば二つの第２コンテンツデータを同時に受信する場合の他、例えば二つの第２コンテンツデータを複数のパケットに分割し、各パケットを二つの第２コンテンツデータ間で交互にまたはランダムな順で受信することにより、二つの第２コンテンツデータが混在しておりほぼ同時期に並行して受信しているように見える場合も含む。
【００５３】
上記課題を解決するために、請求項２４に記載の発明は、請求項１７乃至２３のいずれか一項に記載の配信装置であって、前記送信手段は、前記ツリー型配信システムを管理する管理装置から、前記ツリー型配信システムを利用して前記第１コンテンツデータを複製すべき旨の複製指示情報を受信した場合に、当該第１コンテンツデータに対応する前記第２コンテンツデータと併せて、当該第２コンテンツデータを保存することを示す前記判断情報を下位階層のノード装置に送信し、且つ、当該第２コンテンツデータを他の第２コンテンツデータよりも優先して送信することを特徴とする。
【００５４】
これによれば、管理装置は、例えば速やかに複製を作成したい場合に、当該コンテンツに対応する複製指示情報を配信装置に送信することができる。複製指示情報を受信した配信装置は、該当する第２コンテンツデータと併せて保存することを示す判断情報を優先して下位階層のノード装置に送信することができ、当該第２コンテンツデータに対応する第１コンテンツデータが早く速やかに複製される。
【００５５】
上記課題を解決するために、請求項２５に記載の発明は、コンピュータを、請求項１７乃至２４のいずれか一項に記載の配信装置として機能させることを特徴とする情報処理プログラムである。
【００５６】
上記課題を解決するために、請求項２６に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システムを備えるコンテンツ配信システムの前記配信装置におけるコンテンツ配信方法であって、前記第２コンテンツデータと併せて、当該第２コンテンツデータを保存するか否かを示す判断情報を下位階層のノード装置に送信する工程を有することを特徴とする。
【００５７】
上記課題を解決するために、請求項２７に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、ツリー型配信システムを管理する管理装置が設定する順序に従い前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムにおける前記管理装置であって、前記第１コンテンツデータを保存するノード装置又は前記第１コンテンツデータの所在を管理する管理元ノード装置から当該第１コンテンツデータについての通信の集中を示す通信集中情報を受信した場合に、前記配信装置へ前記ツリー型配信システムを利用して当該第１コンテンツデータを複製すべき旨の複製指示情報を送信する複製指示手段を有することを特徴とする。
【００５８】
これによれば、管理装置は、第１コンテンツデータを保存するノード装置（例えば、後述するコンテンツノード）又は管理元ノード装置（例えば、後述するルートノード）からの通知により通信が集中するコンテンツについて速やかに複製を作成したい場合に、当該コンテンツに対応する複製指示情報を配信装置に送信することができる。複製指示情報を受信した配信装置は、該当する第２コンテンツデータと併せて保存することを示す判断情報を優先して下位階層のノード装置に送信することができ、当該第２コンテンツデータに対応する第１コンテンツデータが早く速やかに複製されることとなり、上記したアクセス集中を緩和させることができる。
【００５９】
上記課題を解決するために、請求項２８に記載の発明は、請求項２７に記載の管理装置であって、前記複製指示手段は、前記コンテンツ分散保存システム内に増加させるコンテンツ数を示す増加コンテンツ数情報を前記複製指示情報に含めて送信することを特徴とする。
【００６０】
これによれば、管理装置は増加コンテンツ数情報を含めて複製指示情報を配信装置に送信するため、配信装置はこの増加コンテンツ数に基づいて保存すべきことを示す判断情報を下流のノード装置に送信することができる。そのため、コンテンツ分散保存システム内に管理装置の希望する所定数の第１コンテンツデータを複製することができる。
【００６１】
上記課題を解決するために、請求項２９に記載の発明は、請求項２８に記載の管理装置であって、前記増加コンテンツ数情報を前記複製指示情報に含めて送信した後、前記配信装置から、前記増加コンテンツ数情報に対応するコンテンツ数の前記第１コンテンツデータを増加できているか否かを示すコンテンツ増加情報を受信するコンテンツ増加情報受信手段と、前記コンテンツ増加情報により前記増加コンテンツ数情報に対応するコンテンツ数の前記第１コンテンツデータを増加できていない場合に、不足数の前記第１コンテンツデータに対応する第２コンテンツデータを保存することを示す前記判断情報を下位階層のノード装置に送信すべき旨の複製指示情報を再度他の配信装置に送信する複製再指示手段を有することを特徴とする。
【００６２】
これによれば、管理装置は配信装置からコンテンツ増加情報を受信することにより、コンテンツの増加の程度を確認することができる。そして、管理装置は、コンテンツ増加情報の送信元の配信装置を有するツリー型配信システムにおいて所定数の第１コンテンツデータを増加できていない場合には、他の配信装置を有するツリー型配信システムにおいて同様に第１コンテンツデータを複製させるように複製指示情報を再度送信し、所定数の第１コンテンツデータが確実に増加できるよう管理することができる。
【００６３】
上記課題を解決するために、請求項３０に記載の発明は、コンピュータを、請求項２７乃至２９のいずれか一項に記載の管理装置として機能させることを特徴とする情報処理プログラムである。
【００６４】
上記課題を解決するために、請求項３１に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、ツリー型配信システムを管理する管理装置が設定する順序に従い前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムの前記管理装置におけるコンテンツ配信方法であって、前記第１コンテンツデータを保存するノード装置又は前記第１コンテンツデータの所在を管理する管理元ノード装置から当該第１コンテンツデータについての通信の集中を示す通信集中情報を受信した場合に、前記配信装置へ前記ツリー型配信システムを利用して当該第１コンテンツデータを複製すべき旨の複製指示情報を送信する工程を有することを特徴とする。
【００６５】
上記課題を解決するために、請求項３２に記載の発明は、複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第１コンテンツデータが複数の前記ノード装置に分散保存され、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記第１コンテンツデータを通信手段を介して送信するようにしたコンテンツ分散保存システム、及び、複数のノード装置の参加により形成されたツリー型配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記配信装置から配信された第２コンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型配信システム、を備えるコンテンツ配信システムであって、前記配信装置は、前記第２コンテンツデータを下位階層のノード装置に送信する送信手段を有し、且つ、前記ノード装置は、前記配信装置又は上位階層の他のノード装置から前記第２コンテンツデータを受信する受信手段と、記録媒体に当該第２コンテンツデータを前記第１コンテンツデータとして保存する保存手段と、下位階層の他のノード装置へ受信した前記第２コンテンツデータを転送する転送手段と、前記記録媒体に前記第１コンテンツデータを保存した場合には、他の前記ノード装置に当該第１コンテンツデータを保存していることを示す公開情報を、コンテンツ分散保存システムにおける前記第１コンテンツデータの所在を管理する管理元のノード装置に向けて送信する公開情報送信手段と、を有することを特徴とするコンテンツ配信システムである。
【００６６】
これによれば、コンテンツ分散保存システムにおいて第１コンテンツデータの複製を作成したい場合に、当該第１コンテンツデータに対応する第２コンテンツデータをツリー型配信システムにおいて配信し、当該ツリー型配信システムに参加しているノード装置がその複製を作成して公開することにより、他のノード装置が当該第１コンテンツデータの複製からコンテンツデータを取得できることとなる。本発明ではツリー型配信システムのデータ配信を利用して複製すべきコンテンツデータを配信し、参加しているノード装置が当該コンテンツデータを複製していくため、速やかにコンテンツの複製（レプリカ）を作成できる。
【発明の効果】
【００６７】
本発明によれば、コンテンツ分散保存システムにおける第１コンテンツデータのレプリカを速やかに作成できる。
【発明を実施するための最良の形態】
【００６８】
以下、本発明の最良の実施形態を図面に基づいて説明する。以下に説明する実施の形態は、ＤＨＴを利用したコンテンツ分散保存システム及びツリー型配信システムを備えるコンテンツ配信システムに本発明を適用した場合の実施形態である。本発明においては、コンテンツ分散保存システム内で送受信されるコンテンツデータを第１コンテンツデータとし、ツリー型配信システム内で送受信されるコンテンツデータを第２コンテンツデータとしている。なお、本発明のコンテンツ配信システム等の各発明は、以下に説明する実施形態に限定されず、本発明の技術思想の範囲内で適宜変更して実施される。
【００６９】
［１．コンテンツ配信システムの概略等］
始めに、図１を参照して、コンテンツ配信システムＳの概要構成等について説明する。
【００７０】
図１は、本実施形態に係るコンテンツ配信システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００７１】
図１の下部枠１０１内に示すように、ＩＸ（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）を配信する場合、放送局装置３１は、第２コンテンツデータ（コンテンツＩＤ：10000001）のパケットを作成する際に、そのパケットのデータを所定の放送コンテンツＩＤの第２コンテンツデータとし、そのパケットのヘッダ情報に判断情報、ここでは「レプリカ＝１」（１は保存することを示す）のレプリカ作成フラグを含ませる。放送局装置３１は、このパケットを下位階層のノード装置３２ａ、３２ｂ（以下、下位階層のノード装置を下流ノード装置ともいう。）へ送信する。このパケットを受信したノード装置１は、判断情報が保存することを示している（レプリカ＝１）ため、記録媒体に当該コンテンツＩＤ：10000001の第２コンテンツデータを第１コンテンツデータとして保存し、かつ、下位階層の他のノード装置３２ｃ、３２ｄ、３２ｅ、３２ｆへ受信したパケットを転送する。同様にパケットを受信した下流ノード装置３２ｃ、３２ｄ、３２ｅ、３２ｆも同様に動作し、当該コンテンツデータを保存するとともに、さらに下流のノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍに転送する。最下流のノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍにおいては、当該コンテンツデータを保存して、このツリー型配信システムＳ２における処理は終了する。なお、通常、各ノード装置３２において配信された第２コンテンツデータが再生され、これをユーザが視聴する。
【０１３２】
また、ノード装置３２が、記録媒体に第１コンテンツデータ（コンテンツＩＤ：10000001）を保存した場合には、図６を用いて上述したように、他のノード装置１に当該第１コンテンツデータを保存していることを示す公開メッセージを、コンテンツ分散保存システムＳ１における第１コンテンツデータのルートノードに向けて送信する。ここで、ルートノードに向けてとは、図６に示すように、公開メッセージをルートノードまで転送されるように送信することを示し、コンテンツノードとなったノード装置１からルートノードに公開メッセージを直接送信する場合と、公開メッセージが転送されてルートノードに届く場合を含むものとする。
【０１３３】
一方、図１０に示すように、図９（Ａ）の放送プログラムファイルにおけるレプリカ作成無の放送コンテンツデータ（コンテンツＩＤ：10000002）を配信する場合、放送局装置３１は、第２コンテンツデータ（コンテンツＩＤ：10000002）のパケットを作成する際に、そのパケットのデータを所定の放送コンテンツＩＤの第２コンテンツデータとし、そのパケットのヘッダ情報に判断情報、ここでは「レプリカ＝０」（０は保存しないことを示す）のレプリカ作成フラグを含ませる。放送局装置３１は、このパケットを下流ノード装置３２ａ、３２ｂへ送信する。このパケットを受信したノード装置１は、判断情報が保存しないことを示している（レプリカ＝０）ため、当該第２コンテンツデータを再生し、かつ、下流ノード装置３２ｃ、３２ｄ、３２ｅ、３２ｆへ受信したパケットを転送する。同様にパケットを受信した下流ノード装置３２ｃ、３２ｄ、３２ｅ、３２ｆも同様に動作し、当該第２コンテンツデータを再生し、かつ、下流ノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍに転送する。最下流のノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍにおいては、当該コンテンツデータを再生して、このツリー型配信システムＳ２における処理は終了する。
【０１３４】
ここで、図９（Ａ）に示すように、放送プログラムファイルに付される判断情報としてのレプリカ作成有無の情報は、放送コンテンツＩＤが10000001から30000003の第２コンテンツデータのようにコンテンツデータ毎に決められていてもよいし、放送コンテンツＩＤが01000001から01000003の第２コンテンツデータ、11000001から11000003の第２コンテンツデータのように一連のコンテンツデータ群毎に決められていてもよいし、図示しないが、放送プログラムファイル毎（一の放送プログラムファイルに含まれる第２コンテンツデータは全てレプリカ作成有または全てレプリカ作成無）に決められていてもよい。
【０１３５】
以上においては、図９及び図１０を参照し、ツリー型配信システムＳ２を用いて全ての下流ノード装置３２にレプリカを作成し、又は全くレプリカを作成しない例について説明した。
【０１３６】
（複製する数が指定されたレプリカ作成処理）
次いで、複製する数が指定されたレプリカ作成処理について説明する。図１１及び図１２に示すように、放送局装置３１は、コンテンツ投入サーバ２６から第２コンテンツデータの配信順が示された放送プログラムファイル（図１１（Ａ）参照）を取得し、この放送プログラムファイルに従ってレプリカを作成するものと作成しないものに分け、さらにレプリカを作成するものについてはコンテンツ分散保存システムＳ１内に増加させるコンテンツ数（図１１（Ａ）のレプリカ数であり、本発明の増加コンテンツ数初期情報及び増加コンテンツ数情報）に従って判断情報を第２コンテンツデータと併せて送信していく（図１１（Ｂ）、図１１（Ｃ）及び図１２参照）。
【０１３７】
図１１（Ａ）に示すように、放送プログラムファイルは、第２コンテンツデータの放送時間や放送順と、これに対応する放送コンテンツＩＤが示されており、本実施形態においては、判断情報としてレプリカ作成欄にレプリカ作成「有」または「無」、判断情報に含まれる増加コンテンツ数初期情報としてレプリカ数欄にレプリカ数「数値１０、２、∞（無限大）等」が示されている。増加コンテンツ数初期情報は、コンテンツ分散保存システムＳ１内に増加させるコンテンツ数を示す。
【０１３８】
図１２に示すように、レプリカ作成有、レプリカ数１０の放送コンテンツデータ（コンテンツＩＤ：10000001）を配信する場合、放送局装置３１は、第２コンテンツデータ（コンテンツＩＤ：10000001）のパケットを作成する際に、そのパケットのデータを所定の放送コンテンツＩＤの第２コンテンツデータとし、そのパケットのヘッダ情報に増加コンテンツ数情報を含む判断情報、ここでは「レプリカ＝１」と「レプリカ数＝５」を含ませる。なお、放送プログラムファイルに指定されたレプリカ数は１０であり、放送局装置３１の下流に２台のノード装置３２ａ、３２ｂが接続されているため、１０÷２＝５をレプリカ数とした。増加コンテンツ数情報は判断情報に含まれるものであり、コンテンツデータを配信する際に付されるコンテンツ分散保存システムＳ１内に増加させるコンテンツ数を示す。放送局装置３１は、このパケットを下流ノード装置３２ａ、３２ｂへ送信する。
【０１３９】
図１２及び図１１（Ｂ）に示すように、このパケットを受信したノード装置３２ａ、３２ｂは、判断情報が保存することを示している（レプリカ＝１）ため、まず記録媒体に当該コンテンツＩＤ：10000001の第２コンテンツデータを第１コンテンツデータとして保存する。また、ノード装置３２ａを例に説明すると、このようにレプリカを作成したため、ヘッダ情報の「レプリカ数＝５」から１（自ノード装置がレプリカを１つ作成した分）を引き（５−１＝４）、この４を２（下流ノード装置３２ｃ、３２ｄの数２）で割って（４÷２＝２）、この値２をレプリカ数として「レプリカ数＝２」をヘッダ情報に含めてパケットを作成する。ノード装置３２ａは、下流ノード装置３２ｃ、３２ｄへ当該パケットを転送する。
【０１４０】
図１２及び図１１（Ｃ）に示すように、このパケットを受信したノード装置３２ｃ、３２ｄは、判断情報が保存することを示している（レプリカ＝１）ため、まず記録媒体に当該コンテンツＩＤ：10000001の第２コンテンツデータを第１コンテンツデータとして保存する。また、ノード装置３２ｃを例に説明すると、このようにレプリカを作成したため、ヘッダ情報の「レプリカ数＝２」から１（自ノード装置がレプリカを１つ作成した分）を引き（２−１＝１）、この１を２（下流ノード装置３２ｇ、３２ｈの数２）で割って（１÷２＝０…（余り）１）、この値０と１とをレプリカ数とする。ノード装置３２ｃは、「レプリカ＝１」、「レプリカ数＝１」をヘッダ情報に含めたパケットと、一方はレプリカを作成する必要がないため「レプリカ＝０」、「レプリカ数＝０」をヘッダ情報に含めたパケットと、を作成する。ノード装置３２ｃは、「レプリカ＝０」、「レプリカ数＝０」をヘッダ情報に含めたパケットを下流ノード装置３２ｇへ転送し、「レプリカ＝１」、「レプリカ数＝１」をヘッダ情報に含めたパケットを下流ノード装置３２ｈへ転送する。
【０１４１】
パケットを受信した最下流のノード装置３２ｇにおいては、判断情報が保存しないことを示している（レプリカ＝０、レプリカ数＝０）ため、当該コンテンツデータを保存することなく再生して、このツリー型配信システムＳ２における処理は終了する。また、パケットを受信した最下流のノード装置３２ｈは、判断情報が保存することを示している（レプリカ＝１）ため、まず記録媒体に当該コンテンツＩＤ：10000001の第２コンテンツデータを第１コンテンツデータとして保存し、このツリー型配信システムＳ２における処理は終了する。ノード装置３２ａ、３２ｃ、３２ｇ、３２ｈ以外の処理は省略するが、上述したノード装置３２のうち同じ階層におけるノード装置３２の処理と同様に行われる。なお、通常、各ノード装置３２において配信された第２コンテンツデータが再生され、これをユーザが視聴する。
【０１４２】
また、ノード装置３２が、記録媒体に第１コンテンツデータ（コンテンツＩＤ：10000001）を保存した場合に公開メッセージを送信する点は、上述の基本のレプリカ作成処理と同様である。
【０１４３】
（複製する数が指定されたレプリカ作成後の報告処理）
次いで、複製する数が指定されたレプリカ作成処理後の報告処理について説明する。報告処理は、増加コンテンツ数情報に対応する数のコンテンツの増加が完了した場合の増加完了報告情報を送信する場合と、増加コンテンツ数情報に対応する数のコンテンツの増加が完了しなかった場合の増加未完了報告情報を送信する場合と、がある。
【０１４４】
まず、増加完了報告情報を送信する場合を図１３を参照して説明する。図１３は、図１２を参照して説明したように、コンテンツＩＤ：10000001のコンテンツデータのレプリカを１０個作成し、その後の処理を説明する図である。
【０１４５】
図１３に示すように、最下流のノード装置３２ｈは、自ノード装置がコンテンツＩＤ：10000001のコンテンツデータを保存することにより、コンテンツ数が０（１−１＝０）となるため、送信すべき増加コンテンツ数情報のコンテンツ数が０であり、所定のコンテンツ数のレプリカを作成した旨の増加完了報告情報（10000001の残レプリカ数＝０）を上位階層のノード装置３２ｃに送信する。なお、以下において、上位階層のノード装置を上流ノード装置ともいう。
【０１４６】
また、「レプリカ＝０」、「レプリカ数＝０」のヘッダ情報を付した第２コンテンツデータをノード装置３２ｇに転送したノード装置３２ｃも、送信すべき増加コンテンツ数情報のコンテンツ数が０であり、所定のコンテンツ数のレプリカを作成した旨の増加完了報告情報を上流ノード装置３２ａに送信する。ノード装置３２ｃは、下流ノード装置３２ｈから受信した増加完了報告情報も、上流ノード装置３２ａに転送する。
【０１４７】
また、最下流ノード装置３２ｉは、送信すべき増加コンテンツ数情報のコンテンツ数が０であり、所定のコンテンツ数のレプリカを作成した旨の増加完了報告情報を上流ノード装置３２ｄに送信し、ノード装置３２ｄは、当該増加完了報告情報を上流ノード装置３２ａに転送する。
【０１４８】
ノード装置３２ａは、３つの増加完了報告情報を受信すると、これらを放送局装置３１に転送する。
【０１４９】
ノード装置３２ｂ側のツリーでも同様に増加完了報告情報が下流ノード装置３２から上流ノード装置３２に転送され、放送局装置３１まで転送される。
【０１５０】
そうして全ての下流のノード装置３２ｃ、３２ｈ、３２ｉ、３２ｅ、３２ｋ、３２ｆ、３２ｍからの増加完了報告情報を受信した放送局装置３１は、これらを集計して、コンテンツＩＤ：10000001のコンテンツ情報について、増加させるコンテンツ数の初期値を示す増加コンテンツ数初期情報に対応する値（１０）の全てのレプリカが作成されたことを認識する。そして、放送局装置３１は、所定の第１コンテンツデータを増加できている旨を示すコンテンツ増加情報をコンテンツ投入サーバ２６に送信する。
【０１５１】
次いで、増加未完了報告情報を送信する場合を図１４を参照して説明する。図１４は、コンテンツＩＤ：30000002のコンテンツデータのレプリカを３０個作成するための処理及びレプリカが３０個作成されていないため、増加未完了報告情報を送信する処理を説明する図である。
【０１５２】
図１４に示すように、図１２を用いて説明したものに準じて３０個のレプリカを作成する場合、放送局装置３１からその下流ノード装置３２ａ、３２ｂへ「レプリカ数＝１５」のヘッダ情報を付してパケットが送信され、ノード装置３２ａ、３２ｂからその下流ノード装置３２ｃ、３２ｄ、３２ｅ、３２ｆへ「レプリカ数＝７」のヘッダ情報を付してパケットが転送される。ノード装置３２ｃ、３２ｅ、３２ｆからその下流ノード装置３２ｇ、３２ｈ、３２ｊ、３２ｋ、３２ｌ、３２ｍへ「レプリカ数＝３」のヘッダ情報を付してパケットが転送され、ノード装置３２ｄからその下流ノード装置３２ｉへは下流ノード装置が１台であるため、「レプリカ数＝６」のヘッダ情報を付してパケットが転送される。
【０１５３】
そして、最下流ノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍにおいて１つコンテンツが保存されると、各ノード装置の保存されなかったコンテンツの数（残レプリカ数）がそれぞれ、２、２、５、２、２、２、２となる。最下流ノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍは、それぞれ、受信したパケットのレプリカ数が２以上であり且つ下位階層のノード装置がないため、その残レプリカ数を含めた増加未完了報告情報を直接放送局装置３１へ送信する。
【０１５４】
そうして全ての最下流ノード装置３２ｇ、３２ｈ、３２ｉ、３２ｊ、３２ｋ、３２ｌ、３２ｍからの増加未完了報告情報を受信した放送局装置３１は、これらを集計して（２＋２＋５＋２＋２＋２＋２＝１７）、コンテンツＩＤ：30000002のコンテンツデータについて、増加させるコンテンツ数の初期値を示す増加コンテンツ数初期情報に対応する値（３０）に対し、１７個のレプリカが足りないことを認識する。そして、放送局装置３１は、所定の第１コンテンツデータを増加できておらず、１７個足りない旨を示すコンテンツ増加情報をコンテンツ投入サーバ２６に送信する。このことにより、コンテンツ投入サーバ２６は、他の放送局装置３１を用いて（他の放送チャンネルで）不足分のコンテンツのレプリカを作成することができる。
【０１５５】
ここで、上述の図１３を用いた説明においては、ノード装置３２から増加完了報告情報を各上流ノード装置３２が放送局装置３１まで転送する形態とし、図１４を用いた説明においては、ノード装置から増加未完了報告情報を放送局装置３１へ直接送信する形態としたが、これらの形態は特に限定されない。例えば、ノード装置３２から増加未完了報告情報を各上流ノード装置３２が放送局装置３１まで転送する形態とし、ノード装置から増加完了報告情報を放送局装置３１へ直接送信する形態としてもよい。
【０１５６】
なお、放送局装置３１の再送信手段が機能し、増加完了報告情報及び増加未完了報告情報を受信して集計した結果、所定数のレプリカが作成できていない場合には、増加させるコンテンツ数を再度設定し、これを第２コンテンツデータと併せたパケットとして配信してもよい。
【０１５７】
（レプリカを作成するか否かの判断）
次いで、ノード装置３２において受信した第２コンテンツデータを記録媒体に保存するか否か（レプリカを作成するか否か）の判断について説明する。このとき、ノード装置３２の保存判断手段が機能する。
【０１５８】
ノード装置３２は、「レプリカ＝１」（レプリカを作成）のヘッダ情報を含む第２コンテンツデータのパケットを受信した場合において、既に当該第２コンテンツデータに対応する第１コンテンツデータを記録媒体に保存していた場合には、再度同じコンテンツデータを保存することを要さない。このように「レプリカ＝１」（レプリカを作成）のヘッダ情報が付された第２コンテンツデータを保存しなかった場合には、ノード装置３２は、当該パケットをそのまま下流のノード装置３２に転送する。「レプリカ＝１」（レプリカを作成）のヘッダ情報の他、増加させるコンテンツ数「レプリカ数＝＊」がヘッダ情報に含まれている場合も同様に、保存する処理は行わずに転送する。
【０１５９】
また、ノード装置３２は、「レプリカ＝１」（レプリカを作成）のヘッダ情報を含む第２コンテンツデータのパケットを受信した場合に、第２コンテンツデータが記録媒体に保存可能であるか否かを判断し、保存可能と判断した場合にのみ第２コンテンツデータを第１コンテンツデータとして保存する形態としてもよい。
【０１６０】
このとき、ノード装置３２は、記録媒体における空きの記録容量と第２コンテンツデータの容量を比較して、第１コンテンツデータとして記録媒体に保存可能であるか否かを判断することができる。この場合には、記録媒体に第１コンテンツデータを保存した場合に、記録媒体に他の処理に対応できるだけの余裕があるか、当該ノード装置３２でユーザに決められた基準で判断してもよいし、第２コンテンツデータのパケットに含まれるヘッダ情報に、記録媒体において推奨される空きの記録容量の情報が含まれており、これを参照して判断してもよい。
【０１６１】
また、ノード装置３２には、コンテンツデータのジャンル等により保存したいか否かの情報をユーザが予め登録しておき、この登録内容に従ってコンテンツデータの保存の有無を判断してもよい。
【０１６２】
また、図１５に放送プログラムファイルに示すように、コンテンツ投入サーバ２６または放送局装置３１において、配信する第２コンテンツデータをノード装置３２に必ず保存させるか、ノード装置３２の記録媒体に所定の空きの記録容量がある場合にのみ保存させるか、を決定し、その旨を示す保存評価情報（ＨＤ制御ＩＤ）が第２コンテンツデータのパケットのヘッダ情報に含まれた態様としてもよい。
【０１６３】
図１５に示すＨＤ制御ＩＤは、ＨＤ制御ＩＤ＝０が、記録媒体に所定の空きの記録容量を作成して必ずコンテンツデータを保存することを示し、ＨＤ制御ＩＤ＝１が、記録媒体に所定の空きの記録容量がある場合にのみ保存することを示す。
【０１６４】
ＨＤ制御ＩＤ＝０の場合、ノード装置３２が閾値に示した空きの記録容量を記録媒体に作成した後、コンテンツデータを保存することとする。ノード装置３２が図１５に示すコンテンツＩＤ：10000001の第２コンテンツデータを受信すると、ヘッダ情報には、レプリカ作成有（レプリカ＝１）、レプリカ数（１０以下の数、段階により変動有）、ＨＤ制御ＩＤ＝０、閾値１５（ＭＢ）の各情報が含まれている。この第２コンテンツデータを受信したノード装置３２は、例えば、記録媒体に保存されている第１コンテンツデータを、他のノード装置からコンテンツ要求のない時間が長い順に（言い換えると、最後に他のノード装置からコンテンツ要求があった時刻からこの処理を行う時刻までの長さが長い順に）、所定の空き記録容量（閾値の１５（ＭＢ））ができるまで削除していく。なお、他のノード装置１からのコンテンツ要求がない時間が長いコンテンツデータは、コンテンツ分散保存システムＳ１における存在の必要性が低いと考えて、上記した順で削除していくものである。さらにコンテンツ要求のない時間を示す閾値を設けて、この時間以上コンテンツ要求のない第１コンテンツデータを削除した場合に上記空きの記録容量ができれば保存し、このような第１コンテンツデータを削除しても上記空きの記録容量ができない場合には保存しない、等の態様としてもよい。
【０１６５】
ＨＤ制御ＩＤ＝１の例を説明する。ノード装置３２が図１５に示すコンテンツＩＤ：10000003の第２コンテンツデータを受信すると、ヘッダ情報には、レプリカ作成有（レプリカ＝１）、レプリカ数（２以下の数、段階により変動有）、ＨＤ制御ＩＤ＝１、閾値２０（ＭＢ）の各情報が含まれている。この第２コンテンツデータを受信したノード装置３２は、記録媒体に閾値に示した空きの記録容量（２０（ＭＢ））があるか否かを判断し、ノード装置３２の記録媒体に閾値に示した空きの記録容量（２０（ＭＢ））がある場合にはコンテンツデータを保存し、ノード装置３２の記録媒体に閾値に示した空きの記録容量（２０（ＭＢ））がない場合にはコンテンツデータを保存しないこととする。
【０１６６】
コンテンツデータを保存しないこととした場合の転送等の処理は上述したものと同様である。
【０１６７】
また、図示しないが、放送プログラムファイルに含まれる初期のレプリカ数の値（本発明の増加コンテンツ数初期情報、例えば、図１１（Ａ）のレプリカ数）をコンテンツデータの優先度として用い、ノード装置３２は、優先度の高いコンテンツデータから順に、記録媒体の空き容量が許す範囲で保存していってもよい。
【０１６８】
具体的には、放送局装置３１は、第２コンテンツデータのパケットのヘッダ情報に、レプリカ数とともに初期のレプリカ数の値を含ませて配信する。これを受信したノード装置３２は、第１コンテンツデータを保存する際に、これと対応付けて初期のレプリカ数の値を記録する。
【０１６９】
その後、ノード装置３２が保存すべき他の第２コンテンツデータを受信し、かつ、当該第２コンテンツデータを保存するための空きの記録容量が記録媒体にない場合には、その初期のレプリカ数の値と既に保存している各第１コンテンツデータの初期のレプリカ数の値とを比較し、受信した第２コンテンツデータの初期のレプリカ数の値よりも小さい第１コンテンツデータを削除することにより、受信した第２コンテンツデータを保存できる場合にはそのように削除し、保存する。
【０１７０】
また、受信した第２コンテンツデータの初期のレプリカ数の値が保存されている第１コンテンツデータの初期のレプリカ数の値よりも小さい場合や、受信した第２コンテンツデータの初期のレプリカ数の値よりも小さい第１コンテンツデータを削除することによっても、受信した第２コンテンツデータを保存できるだけの空きの記録容量を作成できない場合には、受信した第２コンテンツデータを保存しない。
【０１７１】
コンテンツデータを保存しないこととした場合の転送等の処理は上述したものと同様である。
【０１７２】
（レプリカコンテンツと再生のみのコンテンツを並行して送信）
次に、図１６を参照してレプリカ用コンテンツと再生のみの放送用コンテンツを並行して送信する形態について説明する。並行して送信するとは、例えば二つの第２コンテンツデータを同時に送信する場合の他、例えば二つの第２コンテンツデータを複数のパケットに分割し、各パケットを二つの第２コンテンツデータ間で交互にまたはランダムな順で送信することにより、二つの第２コンテンツデータが混在し、ほぼ同時期に並行して送信しているように見える場合も含む。
【０１７３】
放送局装置３１は、図１６（Ａ）に示すように、保存すること及び再生しないことを示す判断情報（レプリカ＝１）をヘッダ情報に含めたレプリカ用コンテンツＡ（コンテンツＩＤ：03000001）のパケットと、保存しないことを示す判断情報（レプリカ＝０）をヘッダ情報に含めた他の放送用コンテンツＢ（コンテンツＩＤ：03000002）と、を並行して下流のノード装置３２に配信する。図１６（Ａ）においては、各コンテンツデータを分割してパケットとし、レプリカ用コンテンツＡのパケットと放送用コンテンツＢとを交互に送信する形態を示している。
【０１７４】
これを受信したノード装置３２は、各パケットをリングバッファに記憶していく。そして、ノード装置３２は、図１６（Ｂ）に示すように、保存すること及び再生しないことを示す判断情報（レプリカ＝１）を伴うレプリカ用コンテンツＡのみを選択して記録媒体に保存する。また、ノード装置３２は、保存しないことを示す判断情報（レプリカ＝０）を伴う他の放送用コンテンツＢのみを選択して再生する。なお、ノード装置３２は、放送局装置３１から受信した各パケットを同様に並行して下位階層のノード装置３２に転送する。この形態においては、パケットを送信する速度を調整して、放送用のコンテンツデータを各ノード装置３２において適正な速度で再生できるようにする。
【０１７５】
この形態においては、ノード装置３２において保存しないことを示す判断情報（レプリカ＝０）を伴うコンテンツＢのみを再生し、他方のコンテンツＡは再生せずに記録媒体に保存していくことができる。そのため、ノード装置３２が再生せずに保存するコンテンツＡのみを受信する場合には、データを受信している間コンテンツを再生できないの比べて、コンテンツを再生しない時間がないため、ノード装置３２のユーザである視聴者にとってストレス無くコンテンツＡ、コンテンツＢの受信及び転送を行うことができる。なお、この形態では、判断情報には、コンテンツを再生すること、又は再生しないことを示す識別情報を含めてもよい。
【０１７６】
このとき、放送局装置３１の並行送信手段が機能し、ノード装置３２の選択再生手段が機能する。
【０１７７】
（緊急のレプリカ作成）
次いで、図１７及び図１８を参照して、緊急にコンテンツのレプリカを増やしたい場合の対応について説明する。図１７は、あるコンテンツノードにコンテンツ要求が集中し、そのコンテンツのレプリカを緊急に増加する様子を模式的に示す。図１８は、図１７の状況において変更される放送プログラムファイルの例を示す。
【０１７８】
図１７に示すように、コンテンツＩＤ：30000001の第１コンテンツデータの人気が急に上昇し、当該データを保存しているノード装置１（コンテンツノード）に他のノード装置１からのコンテンツ要求（アクセス）が集中し、当該コンテンツノードの通信が滞る状況が起きた場合に、当該コンテンツノードはコンテンツ投入サーバ２６にアクセスが集中している旨の通信集中情報を送信する。当該通信集中情報を受信したコンテンツ投入サーバ２６は、例えば、図１８（Ａ）に示すように、放送プログラムファイルにおいて現在放送中のコンテンツ（コンテンツＩＤ：10000001）の次のコンテンツ（コンテンツＩＤ：10000002）を、アクセスが集中しているコンテンツ（コンテンツＩＤ：30000001）に差し替えて変更をし、放送局装置３１に変更後の放送プログラムファイルを送信する。
【０１７９】
変更後の放送プログラムファイルを受信した放送局装置３１は、当該プログラムファイルに沿って、現在放送中のコンテンツの配信が終了すると、レプリカ作成有（レプリカ＝１）の判断情報を含むヘッダ情報を有するコンテンツＩＤ：30000001のパケットを配信する。このパケットを受信した各ノード装置３２は、判断情報を確認し、コンテンツＩＤ：30000001を保存していく。
【０１８０】
コンテンツ投入サーバ２６が放送プログラムファイルを変更する形態としては、図１８（Ａ）を参照して他のコンテンツをアクセス集中が起きているコンテンツに差し替えるよう変更した例を説明したが、これに限定されず、図１８（Ｂ）に示すように、既にある放送コンテンツを変えずにアクセス集中が起きているコンテンツを、すぐに放送する位置、即ち放送中のコンテンツの次に挿入する等の変更をしてもよい。また、コンテンツ投入サーバ２６は、放送プログラムファイルを変更せずに、アクセス集中が起きているコンテンツをツリー型配信システムＳ２において配信すべき旨のメッセージを放送局装置３１に送信し、放送局装置３１において放送プログラムファイルを変更した順でコンテンツを配信してもよい。このように、変更した放送プログラムファイルを送信したり、アクセス集中の起きているコンテンツを配信すべき旨のメッセージを送信することを、本発明においては、ツリー型配信システムＳ２を利用してコンテンツデータ（コンテンツＩＤ：30000001）を複製すべき旨の複製指示情報を送信するという。アクセス集中が起きているコンテンツについては、コンテンツ投入サーバ２６が放送局装置３１に送信してもよいし、放送局装置３１がコンテンツノードから取得してもよい。
【０１８１】
なお、コンテンツノードがコンテンツ投入サーバ２６に通信集中情報を送信する形態を説明したが、通信集中情報を送信する形態はこれに限定されない。例えば、ルートノードがコンテンツ投入サーバ２６に通信集中情報を送信してもよい。この場合、ルートノードにおいて他のノード装置１から受信したクエリの数を基にコンテンツへの集中の度合を判断して通信集中情報を送信してもよいし、ルートノードとキャッシュノードとが連携して、他のノード装置１からルートノード及びキャッシュノードが受信したクエリの数を基にコンテンツへの集中の度合を判断して通信集中情報を送信してもよい。なお、通信集中であるか否かの判断は、特願２００５−２４３３３５に記載されている。
【０１８２】
このように、本実施形態においては、第１コンテンツデータに予想以上の人気があり、当該第１コンテンツデータを保存するノード装置１に他のノード装置１からのアクセスが集中した場合にも、コンテンツ分散保存システム及びツリー型配信システムが連携していることにより、速やかに当該第１コンテンツデータのレプリカを増やす対応が可能であり、当該第１コンテンツデータを保存するノード装置１へのアクセス集中を分散できる。本実施形態においては、ユーザからの需要に対して第１コンテンツデータを保存するノード装置１が少ない場合にも、コンテンツ分散保存システムＳ１に新たに第１コンテンツデータを投入する場合にも、管理装置としてのコンテンツ投入サーバ２６が放送プログラムファイルを管理することにより、速やかにコンテンツのレプリカを作成することが可能となる。
【０１８３】
［５．コンテンツ配信システムを構成する各装置の構成等］
図１９乃至図２３を参照して、コンテンツ配信システムＳを構成するノード装置１、３２、放送局装置３１、コンタクトノード紹介サーバ２５、接続先紹介サーバ３５、コンテンツ投入サーバ２６の構成等について説明する。
【０１８４】
［５．１．ノード装置の構成等］
まず、図１９を参照して、ノード装置１、３２（いずれも同様であり、以下の説明においてはノード装置１とする。）の構成および機能について説明する。尚、各ノード装置１の構成は同じである。図１９は、ノード装置１の概要構成例を示す図である。
【０１８５】
各ノード装置１は、図１９に示すように、演算機能を有するＣＰＵ１１と、受信されたコンテンツデータ等を一時蓄積するリングバッファメモリ１２１、オペレーティングシステム１２２、ストリーム制御プログラム１２３、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）等をデコード（データ伸張や復号化等）等する画面制御プログラム１２４、トポロジー制御プログラム１２５、コンテンツデータに含まれるエンコードされたオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）する音楽デコーダ１２６及び放送コンテンツ制御プログラム１２７を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置１２と、第１コンテンツデータ、コンテンツインデックス情報、上記ＤＨＴおよびプログラム等を記憶保存（格納）するためのＨＤ等から構成された記録媒体としてのハードディスク装置１３と、ハードディスク装置１３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ１４と、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力するビデオチップ１５と、当該ビデオチップ１５から出力されたビデオ信号に基づき映像表示するＣＲＴ、液晶ディスプレイ等の内蔵ディスプレイ１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音源チップ１７と、当該音源チップ１７から出力されたオーディオ信号を音波として出力する内蔵スピーカ１８と、外部のリモコン２３等からの入力を受信し、ユーザからの指示を受け付け当該指示に応じた指示信号をＣＰＵ１１に対して与える入力部としての赤外線ポート（他にも、例えば、キーボード、マウス、或いは、操作パネル等が可）１９と、ネットワーク８を通じてルータ２４等を介し、他のノード装置１との間の情報の通信制御を行うためのネットワークインターフェイス２１と、を備えて構成され、ＣＰＵ１１、主記憶装置１２、周辺機器制御チップ１４、ビデオチップ１５、音源チップ１７及びネットワークインターフェイス２１はシステムバス２２を介して相互に接続されている。ネットワークインターフェイス２１は、ネットワーク８を介して外部のルータ２４等と接続されている。赤外線ポート１９は、ユーザ入力用リモコン２３からの指示信号を受信し、周辺機器制御チップ１４に当該信号を伝達する。
【０１８６】
そして、ＣＰＵ１１は主記憶装置１２等に記憶された各種プログラムを実行することにより、ノード装置１全体を統括制御するようになっており、また、リモコン２３等の入力部からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノード装置１は、実行されるプログラムに応じて、放送局装置３１、情報を送信（転送）するノード装置、情報を受信するノード装置等として機能する。また、ノード装置１のＣＰＵ１１は、本発明の受信手段、保存手段、転送手段、公開情報送信手段、完了報告送信手段、未完了報告送信手段、報告転送手段、保存判断手段、選択再生手段、として機能する。
【０１８７】
［５．２．放送局装置の構成等］
次に、図２０を参照して、本発明の配信装置としての放送局装置３１の構成および機能について説明する。図２０は、放送局装置３１の概要構成例を示す図である。
【０１８８】
放送局装置３１は、図２０に示すように、演算機能を有するＣＰＵ３１１と、受信した第１コンテンツデータ等を一時蓄積するリングバッファメモリ３１２１、オペレーティングシステム３１２２、ストリーム制御プログラム３１２３、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）等をデコード（データ伸張や復号化等）等する画面制御プログラム３１２４、トポロジー制御プログラム３１２５、コンテンツデータに含まれるエンコードされたオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）する音楽デコーダ３１２６及び放送コンテンツ制御プログラム３１２７を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置３１２と、第１コンテンツデータ、コンテンツインデックス情報、上記ＤＨＴおよびプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置３１３と、ハードディスク装置３１３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ３１４と、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力するビデオチップ３１５１と、当該ビデオチップ３１５１から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ３１６１と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音源チップ３１５２と、当該音源チップ３１５２から出力されたオーディオ信号を音波として出力するスピーカ３１６２と、ユーザからの指示を受け付け当該指示に応じた指示信号をＣＰＵ３１１に対して与える入力部としてのキーボード３１６３及びマウス３１６４（他にも、例えば、操作用リモコン、操作パネル等が可）と、ネットワーク８を通じてルータ３１９等を介し、他のノード装置１等との間の情報の通信制御を行うためのネットワークインターフェイス３１７と、を備えて構成され、ＣＰＵ３１１、主記憶装置３１２、周辺機器制御チップ３１４、ビデオチップ３１５１、音源チップ３１５２及びネットワークインターフェイス３１７はシステムバス３１８を介して相互に接続されている。ネットワークインターフェイス３１７は、ネットワーク８を介して外部のルータ３１９等と接続されている。
【０１８９】
そして、ＣＰＵ３１１は主記憶装置３１２等に記憶された各種プログラムを実行することにより、放送局装置３１全体を統括制御するようになっており、また、キーボード３１６３等の入力部からの指示信号に応じて、種々の処理を行うようになっている。また、放送局装置３１のＣＰＵ３１１は、本発明の送信手段、再送信手段、複製指示情報受信手段、コンテンツ増加情報送信手段、並行送信手段、として機能する。
【０１９０】
［５．３．コンタクトノード紹介サーバの構成等］
次に、図２１を参照して、コンタクトノード紹介サーバ２５の構成および機能について説明する。図２１は、コンタクトノード紹介サーバ２５の概要構成例を示す図である。
【０１９１】
コンタクトノード紹介サーバ２５は、図２１に示すように、演算機能を有するＣＰＵ２５１と、端末管理プログラム２５２１、オペレーティングシステム２５２２、コンタクトノード紹介プログラム２５２３等を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置２５２と、端末管理データベース及びプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置２５３と、ハードディスク装置２５３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ２５４と、オペレーティングシステム２５２２のＧＵＩ（graphical user interface）として必要な文字や図等の画像を表示するためにビデオ信号を出力するビデオチップ２５５と、当該ビデオチップ２５５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ２５６１と、ユーザからの指示を受け付け当該指示に応じた指示信号を、周辺機器制御チップ２５４を介してＣＰＵ２５１に与える入力部としてのキーボード２５６２及びマウス２５６３と、ネットワーク８を通じてルータ２５９等を介し、他のノード装置１との間の情報の通信制御を行うためのネットワークインターフェイス２５７と、を備えて構成され、ＣＰＵ２５１、主記憶装置２５２、周辺機器制御チップ２５４、ビデオチップ２５５及びネットワークインターフェイス２５７はシステムバス２５８を介して相互に接続されている。ビデオチップ２５５は、外部のディスプレイ２５６１と接続されており、周辺機器制御チップ２５４は、外部のキーボード２５６２及びマウス２５６３と接続されている。ネットワークインターフェイス２５７は、ネットワーク８を介して外部のルータ２５９等と接続されている。
【０１９２】
そして、ＣＰＵ２５１は主記憶装置２５２等に記憶された各種プログラムを実行することにより、コンタクトノード紹介サーバ２５全体を統括制御するようになっている。具体的に、ＣＰＵ２５１は、キーボード２５６２又はマウス２５６３等の入力部からの指示信号に応じて、端末管理プログラムにおける条件等を変更したり、コンタクトノード紹介プログラムにおけるポリシ等を変更することができる。また、ＣＰＵ２５１は、ネットワーク８やネットワークインターフェイス２５７を通じて受信した参加ノード装置１からのコンタクトノード紹介要求メッセージに対して、コンタクトノード紹介プログラム２５２３を用いてコンタクトノードを決定し、当該コンタクトノードの所在情報（ＩＰアドレス等）をコンタクトノード情報として返信する。
【０１９３】
［５．４．接続先紹介サーバの構成等］
次に、図２２を参照して、接続先紹介サーバ３５の構成および機能について説明する。図２２は、接続先紹介サーバ３５の概要構成例を示す図である。
【０１９４】
接続先紹介サーバ３５は、図２２に示すように、演算機能を有するＣＰＵ３５１と、端末管理プログラム３５２１、オペレーティングシステム３５２２、トポロジー制御プログラム３５２３、接続先紹介プログラム３５２４等を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置３５２と、トポロジーデータベース、端末管理データベース及びプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置３５３と、ハードディスク装置３５３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ３５４と、オペレーティングシステム３５２２のＧＵＩ（graphical user interface）として必要な文字や図等の画像を表示するためにビデオ信号を出力するビデオチップ３５５と、当該ビデオチップ３５５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ３５６１と、ユーザからの指示を受け付け当該指示に応じた指示信号を、周辺機器制御チップ３５４を介してＣＰＵ３５１に与える入力部としてのキーボード３５６２及びマウス３５６３と、ネットワーク８を通じてルータ３５９等を介し、他のノード装置１等との間の情報の通信制御を行うためのネットワークインターフェイス３５７と、を備えて構成され、ＣＰＵ３５１、主記憶装置３５２、周辺機器制御チップ３５４、ビデオチップ３５５及びネットワークインターフェイス３５７はシステムバス３５８を介して相互に接続されている。ビデオチップ３５５は、外部のディスプレイ３５６１と接続されており、周辺機器制御チップ３５４は、外部のキーボード３５６２及びマウス３５６３と接続されている。ネットワークインターフェイス３５７は、ネットワーク８を介して外部のルータ３５９等と接続されている。
【０１９５】
そして、ＣＰＵ３５１は主記憶装置３５２等に記憶された各種プログラムを実行することにより、接続先紹介サーバ３５全体を統括制御するようになっている。具体的に、ＣＰＵ３５１は、キーボード３５６２又はマウス３５６３等の入力部からの指示信号に応じて、端末管理プログラムにおける条件等を変更したり、トポロジー制御プログラムや接続先紹介プログラムにおけるポリシ等を変更することができる。また、ＣＰＵ３５１は、ネットワーク８やネットワークインターフェイス３５７を通じて受信したノード装置３２からの接続先候補要求Ｓｃに対して、トポロジー制御プログラム３５２３及び接続先紹介プログラム３５２４を用いて接続先候補を決定し、接続先候補通知Ｎｋ｛｝を返信する。
【０１９６】
［５．５．コンテンツ投入サーバの構成等］
次に、図２３を参照して、本発明の管理装置としてのコンテンツ投入サーバ２６の構成および機能について説明する。図２３は、コンテンツ投入サーバ２６の概要構成例を示す図である。
【０１９７】
コンテンツ投入サーバ２６は、図２３に示すように、演算機能を有するＣＰＵ２６１と、カタログ管理プログラム２６２１、オペレーティングシステム２６２２、コンテンツ制御プログラム２６２３等を備え、作業用ＲＡＭ、各種データおよびプログラムを記憶するＲＯＭ等から構成された主記憶装置２６２と、放送プログラムファイル、カタログリスト、コンテンツ及びプログラム等を記憶保存（格納）するためのＨＤ等から構成されたハードディスク装置２６３と、ハードディスク装置２６３や入力部等の周辺機器との接続を制御し、情報を伝達する周辺機器制御チップ２６４と、オペレーティングシステム２６２２のＧＵＩ（graphical user interface）として必要な文字や図等の画像を表示するためにビデオ信号を出力するビデオチップ２６５と、当該ビデオチップ２６５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等のディスプレイ２６６１と、ユーザからの指示を受け付け当該指示に応じた指示信号を、周辺機器制御チップ２６４を介してＣＰＵ２６１に与える入力部としてのキーボード２６６２及びマウス２６６３と、ネットワーク８を通じてルータ２６９等を介し、他のノード装置１等との間の情報の通信制御を行うためのネットワークインターフェイス２６７と、を備えて構成され、ＣＰＵ２６１、主記憶装置２６２、周辺機器制御チップ２６４、ビデオチップ２６５及びネットワークインターフェイス２６７はシステムバス２６８を介して相互に接続されている。ビデオチップ２６５は、外部のディスプレイ２６６１と接続されており、周辺機器制御チップ２６４は、外部のキーボード２６６２及びマウス２６６３と接続されている。ネットワークインターフェイス２６７は、ネットワーク８を介して外部のルータ２６９等と接続されている。
【０１９８】
そして、ＣＰＵ２６１は主記憶装置２６２等に記憶された各種プログラムを実行することにより、コンテンツ投入サーバ２６全体を統括制御するようになっている。そして、ＣＰＵ２６１は主記憶装置２６２等に記憶された各種プログラムを実行することにより、コンテンツ投入サーバ２６全体を統括制御するようになっており、また、キーボード２６６３等の入力部からの指示信号に応じて、種々の処理を行うようになっている。また、コンテンツ投入サーバ２６のＣＰＵ２６１は、本発明の複製指示手段、コンテンツ増加情報受信手段、複製再指示手段、として機能する。具体的に、ＣＰＵ２６１は、キーボード２６６２又はマウス２６６３等の入力部からの指示信号に応じて、カタログ管理プログラムにおける条件等を変更したり、コンテンツ制御プログラムにおけるポリシ等を変更することができる。また、ＣＰＵ２６１は、ネットワーク８やネットワークインターフェイス２６７を通じて、放送局装置３１に放送プログラムファイルを送信したり、受信したノード装置１からのカタログリスト要求に対してカタログリストの情報を送信したり、コンテンツ分散保存システムＳ１において分散保存されるコンテンツを所望のノード装置１に送信（投入）したりする。
【０１９９】
なお、カタログリストは、第１コンテンツデータの上述した補助情報がリストとなっているが、これに加えて、コンテンツＩＤが対応付けられていてもよい。ノード装置１においては、カタログリストを取得すると、カタログリストからコンテンツを指定して、その都度コンテンツＩＤを生成してクエリを送信してもよいし、カタログリストから指定したコンテンツに対応するコンテンツＩＤを取得してもよい。
【０２００】
また、上述した放送プログラムファイルについて、コンテンツ投入サーバ２６は、チャンネル毎の放送プログラムファイルを保存しているものとする。この放送プログラムファイルは、放送管理者の設定等に従って作成され、コンテンツ分散保存システムＳ１における第１コンテンツデータのレプリカ作成の必要性に応じて変更することができる。
【０２０１】
［６．本実施形態のコンテンツ配信システムにおける動作］
次に、本実施形態のコンテンツ配信システムＳにおける各装置の動作について図２４乃至図３９を用いて説明する。なお、以下に説明する動作においては、レプリカ作成フラグ（本発明の判断情報）、レプリカ数（本発明の増加コンテンツ数情報、増加コンテンツ数初期情報）、ＨＤ制御ＩＤ（本発明の保存評価情報）を用いた例を示す。
【０２０２】
［６．１．ノード装置の動作］
まず、図２４乃至図３２を参照して、本実施形態のノード装置１の動作について説明する。なお、図２４乃至図２６においては、ノード装置１における基本動作を示し、図２７乃至図３２においては、図２４乃至図２６等において定義された処理を示す。具体的に、図２７においては、ステップＳ３のシステム参加処理を示し、図２８においては、ステップＳ１５のコンテンツパケット受信処理を示し、図２９においては、ステップＳ６４のＨＤ容量制御処理を示し、図３０においては、ステップＳ６７のレプリカ数対応レプリカ作成処理を示し、図３１においては、ステップＳ２６の投入コンテンツ受信処理を示し、図３２においては、ステップＳ３２のコンテンツ検索処理を示す。
【０２０３】
ノード装置１のＣＰＵ１１は、ユーザ入力用リモコン２３等により自ノード装置１に電源が入れられたことを認識すると、その処理を開始する（スタート）。
【０２０４】
処理が開始されると、ＣＰＵ１１は、当該ノード装置１のプログラム等の各種設定を初期化し（ステップＳ１）、接続先紹介サーバ３５へツリー型配信システムＳ２への参加通知を送信する（ステップＳ２）。次いで、ＣＰＵ１１は、コンテンツ分散保存システムＳ１への参加処理を行う（ステップＳ３）。ステップＳ３のコンテンツ分散保存システムＳ１への参加処理については、図２７を参照して後述する。
【０２０５】
次いで、ＣＰＵ１１は、ユーザ入力用リモコン２３等からユーザからのチャンネル選択指示があるか否かを判断する（ステップＳ４）。ユーザからのチャンネル選択指示がある場合には（ステップＳ４；ＹＥＳ）、ＣＰＵ１１は、上流側に接続されたノード装置１（上流ノード装置１）があるか否かを判断する（ステップＳ５）。上流ノード装置１がある場合には（ステップＳ５；ＹＥＳ）、ＣＰＵ１１は、現在の上流ノード装置１に放送コンテンツデータの送信（放送コンテンツストリーム）停止を要求する旨の情報を送信する（ステップＳ６）。次いで、ＣＰＵ１１は、接続先紹介サーバ３５へ、選択されたチャンネル（放送局装置）の放送を視聴するために、接続先となるノード装置１の候補を要求する接続先候補要求Ｓｃを送信する（ステップＳ７）。また、ステップＳ５において、上流ノード装置１がない場合には（ステップＳ５；ＮＯ）、ステップ６を経ずにステップＳ７に進む。
【０２０６】
次いで、ＣＰＵ１１は、電源オフか否かを判断し（ステップＳ８）、電源オフでない場合には（ステップＳ８；ＮＯ）、ステップＳ４へ戻る。
【０２０７】
ステップＳ４において、ユーザからのチャンネル選択指示がない場合には（ステップＳ４；ＮＯ）、ＣＰＵ１１は、接続先紹介サーバ３５から接続先となる上流ノード装置１の候補を受信したか否かを判断する（ステップＳ９）。上述のステップＳ２、ステップＳ７等に対して、接続先紹介サーバ３５から上流ノード装置１の候補を受信した場合には（ステップＳ９；ＹＥＳ）、ＣＰＵ１１は、取得した上流ノード装置１の候補の中から、上流ノード装置１を一つ選択する（ステップＳ１０）。次いで、ＣＰＵ１１は、選択した上流ノード装置１の下流に接続するノード装置１（下流ノード装置１）として接続し（ステップＳ１１）、選択した上流ノード装置１へ放送コンテンツデータの配信開始を要求する旨の情報を送信する（ステップＳ１２）。次いで、ＣＰＵ１１は、ツリー型トポロジーへの参加報告を接続先紹介サーバ３５へ送信し（ステップＳ１３）、ステップＳ８へ戻る。
【０２０８】
ステップＳ９において、接続先紹介サーバ３５から上流ノード装置１の候補を受信していない場合には（ステップＳ９；ＮＯ）、受信手段としてのＣＰＵ１１は、上流ノード装置１から放送コンテンツデータのパケットを受信したか否かを判断する（ステップＳ１４）。上流ノード装置１から放送コンテンツデータのパケットを受信した場合には（ステップＳ１４；ＹＥＳ）、ＣＰＵ１１は、コンテンツパケット受信処理を行う（ステップＳ１５）。ステップＳ１５のコンテンツパケット受信処理については、図２８乃至図３０を参照して後述する。次いで、ＣＰＵ１１は、リングバッファメモリ１２１からパケットを取得して放送コンテンツデータを再生し（ステップＳ１６）、ステップＳ８に戻る。
【０２０９】
ステップＳ１４において、上流ノード装置１から放送コンテンツデータのパケットを受信しない場合には（ステップＳ１４；ＮＯ）、ＣＰＵ１１は、下流ノード装置１となるべき他のノード装置１から放送コンテンツデータの送信開始要求又は送信停止要求を受信したか否かを判断する（ステップＳ１７）。放送コンテンツデータの送信開始要求又は送信停止要求を受信した場合には（ステップＳ１７；ＹＥＳ）、ＣＰＵ１１は、その要求に応じて、放送コンテンツデータの送信開始又は送信停止を行い（ステップＳ１８）、ステップＳ８に戻る。
【０２１０】
ステップＳ１７において、放送コンテンツデータの送信開始要求又は送信停止要求を受信していない場合には（ステップＳ１７；ＮＯ）、図２５へ移り、ＣＰＵ１１は、コンテンツ公開メッセージを受信したか否かを判断する（ステップＳ１９）。コンテンツ公開メッセージを受信した場合には（ステップＳ１９；ＹＥＳ）、ＣＰＵ１１は、ルートノード又はキャッシュノードとして機能し、当該第１コンテンツデータのコンテンツＩＤやＩＰアドレス等の所在情報をコンテンツインデックス情報として登録する（ステップＳ２０）。次いで、ＣＰＵ１１は、このコンテンツ公開メッセージについて、当該ノード装置自身がルートノードか否かを判断する（ステップＳ２１）。自身がルートノードでない場合には（ステップＳ２１；ＮＯ）、ＣＰＵ１１は、次のノード装置１に受信したメッセージ（ここではコンテンツ公開メッセージ）を転送し（ステップＳ２２）、ステップＳ８に戻る。自身がルートノードである場合には（ステップＳ２１；ＹＥＳ）、そのまま受信したメッセージ（ここではコンテンツ公開メッセージ）を転送せずに、ステップＳ８に戻る。
【０２１１】
ステップＳ１９において、コンテンツ公開メッセージを受信していない場合には（ステップＳ１９；ＮＯ）、ＣＰＵ１１は、コンテンツ削除メッセージを受信したか否かを判断する（ステップＳ２３）。コンテンツ削除メッセージを受信した場合には（ステップＳ２３；ＹＥＳ）、ＣＰＵ１１は、コンテンツインデックス情報に当該コンテンツ削除メッセージに対応する第１コンテンツデータの情報が記憶されている場合には、コンテンツインデックス情報から当該第１コンテンツデータのコンテンツノードの所在情報等を削除し（ステップＳ２４）、上記ステップＳ２１に進み、自身がルートノードでなければ当該メッセージを次のノード装置に転送して（ステップＳ２１、２２）、ステップ８に戻る。
【０２１２】
ステップＳ２３において、コンテンツ削除メッセージを受信していない場合には（ステップＳ２３；ＮＯ）、ＣＰＵ１１は、コンテンツ投入サーバ２６から投入コンテンツデータを受信したか否かを判断する（ステップＳ２５）。コンテンツ投入サーバ２６から投入コンテンツデータを受信した場合には（ステップＳ２５；ＹＥＳ）、ＣＰＵ１１は、投入コンテンツ受信処理を行い（ステップＳ２６）、ステップＳ８に戻る。なお、ステップＳ２６の投入コンテンツ受信処理は、図３１を用いて後述する。
【０２１３】
ステップＳ２５において、コンテンツ投入サーバ２６から投入コンテンツデータを受信していない場合には（ステップＳ２５；ＮＯ）、ＣＰＵ１１は、他のノード装置１から第１コンテンツデータについてコンテンツの送信要求情報を受信したか否かを判断する（ステップＳ２７）。コンテンツの送信要求情報を受信した場合には（ステップＳ２７；ＹＥＳ）、コンテンツノードとしてのＣＰＵ１１は、当該コンテンツに他のノード装置１からのアクセスが集中しているか否かを判断する（ステップＳ２８）。コンテンツにアクセスが集中していない場合には（ステップＳ２８；ＮＯ）、ＣＰＵ１１は、コンテンツの送信要求情報の送信元のノード装置１へコンテンツを送信し（ステップＳ２９）、ステップＳ８に戻る。一方、ステップＳ２８において、コンテンツにアクセスが集中している場合には（ステップＳ２８；ＹＥＳ）、ＣＰＵ１１は、コンテンツ投入サーバ２６へアクセスが集中しているコンテンツのコンテンツＩＤを付して通信集中情報を送信し（ステップＳ３０）、ステップＳ８に戻る。ステップＳ３０において、ＣＰＵ１１はさらにコンテンツの送信要求情報の送信元のノード装置１へ、現在コンテンツを送信できない旨のメッセージを送信してもよい。
【０２１４】
ステップＳ２７において、コンテンツの送信要求情報を受信していない場合には（ステップＳ２７；ＮＯ）、図２６に移り、ＣＰＵ１１は、コンテンツ検索メッセージ（クエリ）を受信したか否かを判断する（ステップＳ３１）。クエリを受信した場合には（ステップＳ３１；ＹＥＳ）、ＣＰＵ１１は、コンテンツ検索処理を行い（ステップＳ３２）、ステップＳ８に戻る。なお、ステップＳ３２のコンテンツ検索処理については、図３２を用いて後述する。
【０２１５】
ステップＳ３１において、クエリを受信していない場合には（ステップＳ３１；ＮＯ）、ＣＰＵ１１は、ステップＳ３２のコンテンツ検索処理の結果、コンテンツノード情報（コンテンツノードのＩＰアドレス等の所在情報）を受信したか否かを判断する（ステップＳ３３）。コンテンツノード情報を受信した場合には（ステップＳ３３；ＹＥＳ）、ＣＰＵ１１は、コンテンツノードへコンテンツの送信要求情報を送信し（ステップＳ３４）、ステップＳ８に戻る。
【０２１６】
ステップＳ３３において、コンテンツノード情報を受信していない場合には（ステップＳ３３；ＮＯ）、ＣＰＵ１１は、コンテンツ分散保存システムＳ１への参加メッセージを受信したか否かを判断する（ステップＳ３５）。参加メッセージを受信した場合には（ステップＳ３５；ＹＥＳ）、参加メッセージ中に参加メッセージの送信元のノード装置（参加ノード装置）の所在情報及びテーブル情報から送信すべき段の情報が含まれているため、ＣＰＵ１１は、所持しているテーブル情報から該当する段の情報を参加ノード装置に送信する（ステップＳ３６）。次いで、ＣＰＵ１１は、当該ノード装置１自身が参加ノードのノードＩＤのルートノードか否かを判断する（ステップＳ３７）。当該ノード装置１自身がルートノードでない場合には（ステップＳ３７；ＮＯ）、ＣＰＵ１１は、次のノード装置１に参加メッセージを転送し（ステップＳ３８）、ステップＳ８に戻る。また、当該ノード装置１自身がルートノードである場合には（ステップＳ３７；ＹＥＳ）、参加メッセージを転送することなくステップＳ８に戻る。
【０２１７】
ステップＳ３５において、参加メッセージを受信していない場合には（ステップＳ３５；ＮＯ）、下流ノード装置１から増加完了報告情報又は増加未完了報告情報を受信したか否かを判断する（ステップＳ３９）。増加完了報告情報又は増加未完了報告情報を受信した場合には（ステップＳ３９；ＹＥＳ）、報告転送手段としてのＣＰＵ１１は、上流ノード装置１又は上流に接続される放送局装置３１に受信した増加完了報告情報又は増加未完了報告情報を転送し（ステップＳ４０）、ステップＳ８に戻る。
【０２１８】
ここで、ステップＳ８において、電源が切られた場合には、電源オフであると判断し（ステップＳ８；ＹＥＳ）、ノード装置１における処理を終了する（エンド）。なお、図２４乃至図２６においてフローチャートが接続されている部分には、接続子１〜４を用いている。
【０２１９】
次いで、ステップＳ３のコンテンツ分散保存システムＳ１への参加処理について、図２７を参照して説明する。
【０２２０】
コンテンツ分散保存システムＳ１への参加処理が始まると（スタート：ステップＳ３）、ノード装置１のＣＰＵ１１は、コンタクトノード紹介サーバ２５に対し、コンタクトノード紹介要求メッセージを送信する（ステップＳ５１）。次いで、ＣＰＵ１１は、コンタクトノード紹介サーバ２５からコンタクトノード情報を取得し（ステップＳ５２）、コンタクトノードへ参加メッセージを送信する（ステップＳ５３）。次いで、ＣＰＵ１１は、コンタクトノードや、参加メッセージが転送された各ノード装置１から、テーブル情報を受信する（ステップＳ５４）。
【０２２１】
次いで、ＣＰＵ１１は、受信したテーブル情報に基づいて所持しているルーティングテーブルを更新し（ステップＳ５５）、コンテンツ投入サーバ２６へカタログリストを要求する（ステップＳ５６）。次いで、ＣＰＵ１１は、コンテンツ投入サーバ２６からカタログリストを受信し（ステップＳ５７）、元の図２４におけるステップＳ３へ戻る（リターン）。このような参加処理を行っているとき、ノード装置１は、参加ノードとして機能している。
【０２２２】
次いで、ステップＳ１５のコンテンツパケット受信処理について、図２８乃至図３０を参照して説明する。図２８は、ステップＳ１５のコンテンツパケット受信処理における基本処理を示す。
【０２２３】
図２８に示すように、コンテンツパケット受信処理が始まると（スタート：ステップＳ１５）、ノード装置１の受信手段としてのＣＰＵ１１は、受信したコンテンツパケットのヘッダ情報にレプリカ作成フラグ（本発明の判断情報）、すなわち「レプリカ＝０」又は「レプリカ＝１」の情報が含まれているか否かを判断する（ステップＳ６１）。受信したコンテンツパケットにレプリカ作成フラグが含まれていない場合には（ステップＳ６１；ＮＯ）、レプリカを作成しないため、元のステップＳ１５の流れに戻る。一方、受信したコンテンツパケットにレプリカ作成フラグが含まれている場合には（ステップＳ６１；ＹＥＳ）、ＣＰＵ１１は、レプリカ用のパケットを受信しているか否か、すなわち、ヘッダ情報に「レプリカ＝１」の保存すべき情報が含まれているか否かを判断する（ステップＳ６２）。「レプリカ＝０」であり、レプリカ用のパケットを受信していない場合には（ステップＳ６２；ＮＯ）、レプリカを作成しないため、元のステップＳ１５の流れに戻る。
【０２２４】
一方、「レプリカ＝１」であり、レプリカ用のパケットを受信している場合には（ステップＳ６２；ＹＥＳ）、ＣＰＵ１１は、パケットのヘッダ情報にＨＤ（ハードディスク）制御ＩＤの情報が含まれているか否かを判断する（ステップＳ６３）。パケットにＨＤ制御ＩＤの情報が含まれている場合には（ステップＳ６３；ＹＥＳ）、ＣＰＵ１１は、ＨＤ容量制御処理を行う（ステップＳ６４）。ステップＳ６４のＨＤ容量制御処理は、図２９を用いて後述する。次いで、ＣＰＵ１１は、ＨＤ制御ＩＤ＝１（ＨＤに空き容量がある場合にのみコンテンツデータを保存することを示す）であり、かつ、ハードディスクに閾値に設定した空き容量がないか否かを判断する（ステップＳ６５）。ステップＳ６５において、ＨＤ制御ＩＤ＝１でかつハードディスクに閾値に設定した空き容量がない場合には（ステップＳ６５；ＹＥＳ）、レプリカを作成しないため、元のステップＳ１５の流れに戻る。一方、ＨＤ制御ＩＤ＝０であったり、ＨＤ制御ＩＤ＝１でかつハードディスクに閾値に設定した空き容量がある場合には（ステップＳ６５；ＮＯ）、レプリカを作成するため、ステップＳ６６へ進む。なお、ステップＳ６３において、パケットにＨＤ制御ＩＤの情報が含まれていない場合には（ステップＳ６３；ＮＯ）、ＨＤ容量制御処理を行わないため、ステップＳ６６へ進む。
【０２２５】
次いで、ＣＰＵ１１は、レプリカ作成数情報、すなわち、「レプリカ数＝＊＊」の情報がパケットのヘッダ情報に含まれているか否かを判断する（ステップＳ６６）。レプリカ作成数情報がある場合には（ステップＳ６６；ＹＥＳ）、ＣＰＵ１１は、レプリカ数対応レプリカ作成処理を行う（ステップＳ６７）。ステップＳ６７のレプリカ数対応レプリカ作成処理は、図３０を用いて後述する。そして、ステップＳ６７の後、ステップＳ７０に進む。また、ステップＳ６６において、レプリカ作成数情報がない場合には（ステップＳ６６；ＮＯ）、ＣＰＵ１１は、ヘッダ情報に「レプリカ＝１」の保存すべき旨の情報を含めてパケットを下流ノード装置に転送し、保存手段としてのＣＰＵ１１は、リングバッファメモリ１２１からレプリカ用パケットを取得して第１コンテンツデータとしてハードディスク装置１３のＨＤに保存することによりレプリカファイルを作成し（ステップＳ６８）、レプリカファイルが完成したか否かを判断し（ステップＳ６９）、レプリカファイルが完成するまでレプリカファイル作成処理を行う（ステップＳ６８、ステップＳ６９；ＮＯ）。レプリカファイルが完成すると（ステップＳ６９；ＹＥＳ）、ＣＰＵ１１は、コンテンツインデックス情報に当該コンテンツデータのコンテンツＩＤと自ノード装置１の所在情報（ＩＰアドレス、ノードＩＤ等）を対応付けて登録し（ステップＳ７０）、ＣＰＵ１１は当該ノード装置自身がそのレプリカファイル、すなわち保存したコンテンツデータのルートノードであるか否かをコンテンツデータのコンテンツＩＤを参照して判断する（ステップＳ７１）。自身がルートノードでない場合には（ステップＳ７１；ＮＯ）、公開情報送信手段としてのＣＰＵ１１は、他のノード装置１にコンテンツ公開メッセージを送信し（ステップＳ７２）、元のステップＳ１５の流れに戻る。自身がルートノードである場合には（ステップＳ７１；ＹＥＳ）、このような処理を行わずに元の図２４のステップＳ１５に戻る。
【０２２６】
次いで、ステップＳ６４のＨＤ容量制御処理について、図２９を参照して説明する。
【０２２７】
ＨＤ容量制御処理が始まると（スタート：ステップＳ６４）、ノード装置１のＣＰＵ１１は、ＨＤ制御ＩＤが０か１かを判断する（ステップＳ８１）。ＨＤ制御ＩＤが１の場合には（ステップＳ８１；ＨＤ制御ＩＤが１）、ハードディスク装置１３のＨＤの容量を制御しないため、元のステップＳ６４の流れに戻る。一方、ＨＤ制御ＩＤが０の場合には（ステップＳ８１；ＨＤ制御ＩＤが０）、ＣＰＵ１１は、閾値の情報を参照し、ＨＤにレプリカファイルを保存可能な空き容量があるか否かを判断する（ステップＳ８２）。ＨＤにレプリカファイルを保存可能な空き容量がある場合には（ステップＳ８２；ＹＥＳ）、ＨＤの容量を制御する必要がないため、元のステップＳ６４の流れに戻る。一方、ＨＤにレプリカファイルを保存可能な空き容量がない場合には（ステップＳ８２；ＮＯ）、ＣＰＵ１１は、ハードディスクに保存されているコンテンツデータから、最も長時間コンテンツ要求情報を受信していない（アクセスのない）コンテンツデータを削除し（ステップＳ８３）、ステップＳ８２に戻る。ＣＰＵ１１は、ＨＤにレプリカファイルを保存可能な空き容量ができるまでステップＳ８２、Ｓ８３を繰り返してＨＤ容量を制御し、ＨＤにレプリカファイルを保存可能な空き容量ができると（ステップＳ８２；ＹＥＳ）、元の図２８のステップＳ６４に戻る。
【０２２８】
次いで、ステップＳ６７のレプリカ数対応レプリカ作成処理について、図３０を参照して説明する。
【０２２９】
レプリカ数対応レプリカ作成処理が始まると（スタート：ステップＳ６７）、ＣＰＵ１１は、パケットのヘッダ情報に含まれるレプリカ数の値がゼロ（０）か否かを判断する（ステップＳ９１）。レプリカ数の値がゼロ（０）である場合には（ステップＳ９１；ＹＥＳ）、元のステップＳ６７の流れに戻る。また、レプリカ数の値がゼロ（０）でない場合には（ステップＳ９１；ＮＯ）、保存手段としてのＣＰＵ１１は、リングバッファメモリ１２１からレプリカ用パケットを取得して第１コンテンツデータとしてハードディスク装置１３のＨＤに保存することによりレプリカファイルを作成する（ステップＳ９２）。次いで、ＣＰＵ１１は、レプリカファイルが完成したか否かを判断し（ステップＳ９３）、レプリカファイルが完成するまでレプリカファイル作成処理を行う（ステップＳ９２、ステップＳ９３；ＮＯ）。
【０２３０】
レプリカファイルが完成すると（ステップＳ９３；ＹＥＳ）、ＣＰＵ１１はヘッダ情報に含まれたレプリカ数から１を引き（ステップＳ９４）、レプリカ数がゼロ（０）か否かを判断する（ステップＳ９５）。レプリカ数がゼロ（０）である場合には（ステップＳ９５；ＹＥＳ）、所定数のレプリカ作成が完了したため、増加完了報告情報を放送局装置３１に向けて送信することとなる。このとき、ＣＰＵ１１は、ヘッダ情報に「レプリカ＝０」、「レプリカ数＝０」の保存しない旨の情報を含めてパケットを下流ノード装置に転送する。次いで、完了報告送信手段としてのＣＰＵ１１は、報告先設定が放送局装置３１であるか否かを判断し（ステップＳ９６）、報告先設定が放送局装置３１である場合には（ステップＳ９６；ＹＥＳ）、増加完了報告情報を放送局装置３１へ直接送信し（ステップＳ９７）、元のステップＳ６７の流れに戻る。
【０２３１】
一方、ステップＳ９６において、報告先設定が放送局装置３１でない場合には（ステップＳ９６；ＮＯ）、完了報告送信手段としてのＣＰＵ１１は、報告先設定が上流ノード装置３２であるか否かを判断し（ステップＳ９８）、報告先設定が上流ノード装置３２である場合には（ステップＳ９８；ＹＥＳ）、増加完了報告情報を上流ノード装置３２へ送信して放送局装置３１まで転送されるようにし（ステップＳ９９）、元のステップＳ６７の流れに戻る。また、ステップＳ９８において、報告先設定が上流ノード装置３２でない場合には（ステップＳ９８；ＮＯ）、増加完了報告情報を送信せずに、元のステップＳ６７の流れに戻る。
【０２３２】
また、ステップＳ９５において、レプリカ数がゼロ（０）でない場合には（ステップＳ９５；ＮＯ）、ＣＰＵ１１は、下流ノード装置３２があるか否かを判断する（ステップＳ１００）。下流ノード装置３２がない場合には（ステップＳ１００；ＮＯ）、ステップＳ９６へ進み、所定数のレプリカ作成が完了していないため、増加未完了報告情報を放送局装置３１に向けて送信することとなる。この後のステップＳ９６からステップＳ９９は、上述の増加完了報告情報の場合と同様の処理を行い、送信する情報を作成できなかったレプリカ数の情報を含んだ増加未完了報告情報とする。このとき、ＣＰＵ１１は、未完了報告送信手段として機能する。
【０２３３】
ステップＳ１００において、下流ノード装置３２がある場合には（ステップＳ１００；ＹＥＳ）、ＣＰＵ１１は、レプリカ数の値を下流ノード装置３２の数で割り、小数点以下を切り捨てた値をレプリカ数として各下流ノード装置３２に割り当てる（ステップＳ１０１）。次いで、ＣＰＵ１１は、レプリカ数の値を下流ノード装置３２の数で割った余り（小数点以下の数）があるか否かを判断し（ステップＳ１０２）、余りがある場合には（ステップＳ１０２；ＹＥＳ）、余りの数分の下流ノード装置３２について割り当てたレプリカ数に１を加えて全てのレプリカ数を下流ノード装置３２に分配し（ステップＳ１０３）、ステップＳ１０４へ進む。また、ステップＳ１０２において、余りがない場合には（ステップＳ１０２；ＮＯ）、全てのレプリカ数を下流ノード装置３２に分配できているので、そのままステップＳ１０４へ進む。次いで、転送手段としてのＣＰＵ１１は、割り当てられたレプリカ数を放送コンテンツデータのパケットのヘッダ情報に含ませて、各下流ノード装置３２に送信し（ステップＳ１０４）、元の図２８のステップＳ６７に戻る。
【０２３４】
次いで、ステップＳ２６の投入コンテンツ受信処理について、図３１を参照して説明する。
【０２３５】
投入コンテンツ受信処理が始まると（スタート：ステップＳ２６）、ノード装置１のＣＰＵ１１は、受信した第１コンテンツデータをハードディスク装置１３におけるＨＤに保存する（ステップＳ１１１）。次いで、ＣＰＵ１１は、保存した第１コンテンツデータのコンテンツＩＤやその所在情報（自ノード装置のＩＰアドレス等）を、コンテンツインデックス情報に登録し（ステップＳ１１２）、ＣＰＵ１１は、当該ノード装置１自身が、当該第１コンテンツデータのコンテンツＩＤを考慮したときにルートノードとなるか否かを判断する（ステップＳ１１３）。当該ノード装置１自身がルートノードである場合には（ステップＳ１１３；ＹＥＳ）、処理を行わずに元の図２５におけるステップＳ２６へ戻る（リターン）。一方、当該ノード装置１自身がルートノードでない場合には（ステップＳ１１３；ＮＯ）、ＣＰＵ１１は、保存した第１コンテンツデータについてのコンテンツ公開メッセージを他のノード装置１に送信し（ステップＳ１１４）、元の図２５におけるステップＳ２６へ戻る（リターン）。このような投入コンテンツ受信処理を行ったノード装置１は、コンテンツノードとして機能することとなる。
【０２３６】
次いで、ステップＳ３２のコンテンツ検索処理について、図３２を参照して説明する。
【０２３７】
コンテンツ検索処理が始まると（スタート：ステップＳ３２）、ノード装置１のＣＰＵ１１は、コンテンツ検索メッセージ（クエリ）から検索されている第１コンテンツデータのコンテンツＩＤを取得する（ステップＳ１２１）。次いで、ＣＰＵ１１は、所持するコンテンツインデックス情報に当該コンテンツＩＤが存在するか否かを判断する（ステップＳ１２２）。コンテンツインデックス情報に当該コンテンツＩＤが存在する場合には（ステップＳ１２２；ＹＥＳ）、ルートノードとしてのＣＰＵ１１は、クエリの数から当該コンテンツに他のノード装置１からのアクセスが集中しているか否かを判断する（ステップＳ１２３）。コンテンツにアクセスが集中していない場合には（ステップＳ１２３；ＮＯ）、ＣＰＵ１１は、コンテンツインデックス情報から当該コンテンツＩＤに対応するコンテンツノード情報を取得し（ステップＳ１２４）、このコンテンツノード情報をコンテンツ検索メッセージの送信元のノード装置に送信する（ステップＳ１２５）。ステップＳ１２３において、コンテンツにアクセスが集中している場合には（ステップＳ１２３；ＹＥＳ）、ＣＰＵ１１は、コンテンツ投入サーバ２６へアクセスが集中しているコンテンツのコンテンツＩＤを付して通信集中情報を送信する（ステップＳ１２６）。
【０２３８】
一方、ステップＳ１２２において、コンテンツインデックス情報に当該コンテンツＩＤが存在しない場合には（ステップＳ１２２；ＮＯ）、次のノード装置１へコンテンツ検索メッセージを転送する（ステップＳ１２７）。これらのステップＳ１２５、Ｓ１２６、Ｓ１２７が終わると、元の図２６におけるステップＳ３２へ戻る（リターン）。
【０２３９】
［６．２．放送局装置の動作］
次いで、図３３及び図３４を参照して、本実施形態の放送局装置３１の動作について説明する。
【０２４０】
放送局装置３１のＣＰＵ３１１は、図示しない電源スイッチにより当該放送局装置３１自身に電源が入れられたことを認識すると、その処理を開始する（スタート）。
【０２４１】
処理が開始されると、放送局装置３１のＣＰＵ３１１は、当該放送局装置３１のプログラム等の各種設定を初期化し（ステップＳ１３１）、コンテンツ投入サーバ２６から放送プログラムファイルを取得する（ステップＳ１３２）。次いで、ＣＰＵ３１１は、放送プログラムファイルに沿ってコンテンツ投入サーバ２６から放送するコンテンツデータ（レプリカ作成無）を取得し（ステップＳ１３３）、さらに放送プログラムファイルに沿ってコンテンツ投入サーバ２６からレプリカ用のコンテンツデータ（レプリカ作成有）を取得する（ステップＳ１３４）。
【０２４２】
次いで、ＣＰＵ３１１は、放送管理者の操作等によりキーボード３１６３等から放送開始又は放送停止の要求があるか否かを判断する（ステップＳ１３５）。放送開始又は放送停止の要求がある場合には（ステップＳ１３５；ＹＥＳ）、ＣＰＵ３１１は、当該要求の内容に応じて、コンテンツパケットの生成処理を開始又は停止する（ステップＳ１３６）。なお、コンテンツパケットの生成処理は、放送プログラムファイルに従い、放送するコンテンツデータパケットのヘッダ情報にレプリカ作成フラグ（保存することを示す「レプリカ＝１」又は保存しないことを示す「レプリカ＝０」）を含めて作成し、放送プログラムファイルによっては、レプリカ数の情報やＨＤ制御ＩＤ等を含める。次いで、ＣＰＵ３１１は、電源が切られたか否かを判断し（ステップＳ１３７）、電源が切られていない場合には（ステップＳ１３７；ＮＯ）、ステップＳ１３５へ戻る。
【０２４３】
ステップＳ１３５において、放送開始又は放送停止の要求がない場合には（ステップＳ１３５；ＮＯ）、ＣＰＵ３１１は、ノード装置３２からツリー型配信システムＳ２における下流に接続したい旨の接続開設又は既にある接続を切断する旨の接続切断の要求があるか否かを判断する（ステップＳ１３８）。他のノード装置３２からの接続開設又は接続切断の要求がある場合には（ステップＳ１３８；ＹＥＳ）、ＣＰＵ３１１は、その要求に従い、他のノード装置３２と接続を開設し、又は接続を切断し（ステップＳ１３９）、次いで、当該ノード装置３２に放送コンテンツの配信を開始し、又は停止し（ステップＳ１４０）、ステップＳ１３８に戻る。
【０２４４】
ステップＳ１３８において、ノード装置１からの接続開設又は接続切断の要求がない場合には（ステップＳ１３８；ＮＯ）、ＣＰＵ３１１は、下流に位置するノード装置３２からレプリカ数の情報を含む増加完了報告情報又は増加未完了報告情報を受信したか否かを判断する（ステップＳ１４１）。このとき、放送局装置３１が受信する増加完了報告又は増加未完了報告情報は、放送コンテンツデータを直接配信している下流ノード装置３２から受信する場合と、ツリー型配信システムＳ２におけるさらに下流のノード装置３２から受信する場合がある。
【０２４５】
ステップＳ１４１において、増加完了報告情報又は増加未完了報告情報を受信した場合には（ステップＳ１４１；ＹＥＳ）、コンテンツ増加情報送信手段としてのＣＰＵ３１１は、各報告情報及び初期のレプリカ数から複製できなかったレプリカ数を集計した結果を示すコンテンツ増加情報をコンテンツ投入サーバ２６へ送信し（ステップＳ１４２）、ステップＳ１３７に戻る。
【０２４６】
一方、ステップＳ１４１において、増加完了報告情報又は増加未完了報告情報を受信していない場合には（ステップＳ１４１；ＮＯ）、図３４に移り、ＣＰＵ３１１は、コンテンツ投入サーバ２６から放送用又はレプリカ用のコンテンツデータを受信したか否かを判断する（ステップＳ１４３）。放送用又はレプリカ用のコンテンツデータを受信した場合には（ステップＳ１４３；ＹＥＳ）、ＣＰＵ３１１は、当該コンテンツデータをハードディスク装置３１３のＨＤへ保存し（ステップＳ１４４）、ステップＳ１３７へ戻る。
【０２４７】
ステップＳ１４３において、放送用又はレプリカ用のコンテンツデータを受信していない場合には（ステップＳ１４３；ＮＯ）、複製指示情報受信手段としてのＣＰＵ３１１は、コンテンツ投入サーバ２６からレプリカ作成要求（本発明の複製指示情報）を受信したか否かを判断する（ステップＳ１４５）。これは、コンテンツ投入サーバ２６からメッセージとしてレプリカ作成要求を受信した場合及びレプリカ「有」のコンテンツが含まれた放送コンテンツファイルを受信した場合を含むものとする。ステップＳ１４５において、レプリカ作成要求を受信した場合には（ステップＳ１４５；ＹＥＳ）、送信手段としてのＣＰＵ３１１は、対応するコンテンツデータのパケットのヘッダ情報にレプリカ作成フラグ「レプリカ＝１」（保存することを示す判断情報）を含めて、当該パケットを下流ノード装置３２に送信する（ステップＳ１４６）。
【０２４８】
ステップＳ１４５において、レプリカ作成要求を受信していない場合には（ステップＳ１４５；ＮＯ）、ＣＰＵ３１１は、コンテンツ投入サーバ２６から放送プログラムファイルを受信したか否かを判断する（ステップＳ１４７）。放送プログラムファイルを受信した場合には（ステップＳ１４７；ＹＥＳ）、ＣＰＵ３１１は、それまで使用していた放送プログラムファイルを更新し（ステップＳ１４８）、ステップＳ１３７へ戻る。また、ステップＳ１４７において、放送プログラムファイルを受信していない場合には（ステップＳ１４７；ＮＯ）、そのままステップＳ１３７へ戻る。
【０２４９】
ここで、ステップＳ１３７において、電源が切られた場合には、電源オフであると判断し（ステップＳ１３７；ＹＥＳ）放送局装置３１における処理を終了する（エンド）。なお、図３３及び図３４においてフローチャートが接続されている部分には、接続子５、６を用いている。
【０２５０】
［６．３．コンタクトノード紹介サーバの動作］
次いで、図３５を参照して、本実施形態のコンタクトノード紹介サーバ２５の動作について説明する。
【０２５１】
コンタクトノード紹介サーバ２５のＣＰＵ２５１は、ネットワークインターフェイス２５７を介した外部からの指示又はキーボード２５６２等の入力部からの入力等により、コンタクトノード紹介サービスを開始することを認識すると、その処理を開始する（スタート）。
【０２５２】
処理が開始されると、ＣＰＵ２５１は、当該コンタクトノード紹介サーバ２５のプログラム等の各種設定を初期化し（ステップＳ１５１）、ノード装置１からコンタクトノード紹介要求メッセージがあるか否かを判断する（ステップＳ１５２）。コンタクトノード紹介要求メッセージがある場合（ステップＳ１５２；ＹＥＳ）、ＣＰＵ２５１は、コンタクトノード紹介要求メッセージの送信元のノード装置１に対し、候補となるコンタクトノードのノード情報（ＩＰアドレス等の所在情報）を送信し（ステップＳ１５３）、ステップＳ１５４に進む。また、ステップＳ１５２において、コンタクトノード紹介要求メッセージがない場合には、ステップＳ１５３を経ずにステップＳ１５４に進む。次いで、ＣＰＵ２５１は、コンタクトノード紹介サーバサービスを終了するか否か、キーボード２５６２等からの入力やネットワークインターフェイス２５７を介した指示等により判断する（ステップＳ１５４）。コンタクトノード紹介サーバサービスを終了しない場合には（ステップＳ１５４；ＮＯ）、ステップＳ１５２に戻り、コンタクトノード紹介サーバサービスを終了する場合には（ステップＳ１５４；ＹＥＳ）、処理を終了する（エンド）。
【０２５３】
［６．４．接続先紹介サーバの動作］
次いで、図３６を参照して、本実施形態の接続先紹介サーバ３５の動作について説明する。
【０２５４】
接続先紹介サーバ３５のＣＰＵ３５１は、ネットワークインターフェイス３５７を介した外部からの指示又はキーボード３５６２等の入力部からの入力等により、接続先紹介サービスを開始することを認識すると、その処理を開始する（スタート）。
【０２５５】
処理が開始されると、ＣＰＵ３５１は、当該接続先紹介サーバ３５のプログラム等の各種設定を初期化し（ステップＳ１６１）、放送局装置３１から登録要求又は解除要求があるか否かを判断する（ステップＳ１６２）。放送局装置３１の登録要求又は解除要求がある場合には（ステップＳ１６２；ＹＥＳ）、ＣＰＵ３５１は、当該要求に応じて、放送局装置３１の所在情報（ＩＰアドレス等）を端末管理データベースに登録し、又は解除する（ステップＳ１６３）。次いで、ＣＰＵ３５１は、当該放送局装置３１のチャンネル情報をトポロジーデータベースに登録し又は解除し（ステップＳ１６４）、接続先紹介サーバサービスを終了するか否か、キーボード３５６２等からの入力やネットワークインターフェイス３５７を介した指示等により判断する（ステップＳ１６５）。接続先紹介サーバサービスを終了しない場合には（ステップＳ１６５；ＮＯ）、ステップＳ１６２に戻る。
【０２５６】
ステップＳ１６２において、放送局装置の登録要求又は解除要求がない場合には（ステップＳ１６２；ＮＯ）、ＣＰＵ３５１は、ノード装置１から接続先紹介要求Ｓｃがあるか否かを判断する（ステップＳ１６６）。接続先紹介要求Ｓｃがある場合には（ステップＳ１６６；ＹＥＳ）、ＣＰＵ３５１は、トポロジーデータベースから接続先候補となるノード装置３２の所在情報（ＩＰアドレス等）を取得し（ステップＳ１６７）、要求元のノード装置３２に接続先の候補となるノード装置３２の所在情報を接続先候補通知Ｎｋ｛｝として送信し（ステップＳ１６８）、ステップＳ１６５に戻る。
【０２５７】
ステップＳ１６６において、接続先紹介要求Ｓｃがない場合には（ステップＳ１６６；ＮＯ）、ＣＰＵ３５１は、ノード装置３２からトポロジー参加報告があるか否かを判断する（ステップＳ１６９）。ノード装置３２からトポロジー参加報告がある場合には（ステップＳ１６９；ＹＥＳ）、ＣＰＵ３５１は、当該ノード装置１がトポロジーに参加したことによるトポロジーの変動に関する情報をトポロジーのデータベースへ登録し（ステップＳ１７０）、ステップＳ１６５へ戻る。また、ステップＳ１７０において、ノード装置３２からトポロジー参加報告がない場合にも（ステップＳ１７０；ＮＯ）、ステップＳ１６５へ戻る。
【０２５８】
ここで、ステップＳ１６５において、コンタクトノード紹介サーバサービスを終了する場合には（ステップＳ１６５；ＹＥＳ）、処理を終了する（エンド）。
【０２５９】
［６．５．コンテンツ投入サーバの動作］
次いで、図３７及び図３８を参照して、本実施形態のコンテンツ投入サーバ２６の動作について説明する。
【０２６０】
コンテンツ投入サーバ２６のＣＰＵ２６１は、ネットワークインターフェイス２６７を介した外部からの指示又はキーボード２６６２等の入力部からの入力等により、接続先紹介サービスを開始することを認識すると、その処理を開始する（スタート）。
【０２６１】
処理が開始されると、ＣＰＵ２６１は、当該コンテンツ投入サーバ２６のプログラム等の各種設定を初期化し（ステップＳ１８１）、コンテンツ分散保存システムＳ１の管理者の装置等からコンテンツ投入指示があるか否かを判断する（ステップＳ１８２）。コンテンツ投入指示がある場合には（ステップＳ１８２；ＹＥＳ）、ＣＰＵ２６１は、投入される新たな第１コンテンツデータに対応するコンテンツＩＤの管理テーブルを更新し（ステップＳ１８３）、カタログリストにおける新たな第１コンテンツデータに関する情報を更新し（ステップＳ１８４）、新たな第１コンテンツデータをコンテンツ分散保存システムＳ１におけるランダムに決めた一又は複数のノード装置１に配信する（ステップＳ１８５）。次いで、ＣＰＵ２６１は、コンテンツ投入サーバサービスを終了するか否か、キーボード２６６２等からの入力やネットワークインターフェイス２６７を介した指示等により判断する（ステップＳ１８６）。コンテンツ投入サーバサービスを終了しない場合には（ステップＳ１８６；ＮＯ）、ステップＳ１８２に戻る。
【０２６２】
ステップＳ１８２において、コンテンツ投入指示がない場合には（ステップＳ１８２；ＮＯ）、ＣＰＵ２６１は、ノード装置１からカタログリストの送信要求があるか否かを判断する（ステップＳ１８７）。カタログリストの送信要求がある場合には（ステップＳ１８７；ＹＥＳ）、ＣＰＵ２６１は、カタログリスト送信要求の送信元のノード装置１に、カタログリストの情報を送信し（ステップＳ１８８）、ステップＳ１８６に戻る。
【０２６３】
ステップＳ１８７において、カタログリストの送信要求がない場合には（ステップＳ１８７；ＮＯ）、ＣＰＵ２６１は、放送局装置３１又はノード装置１からコンテンツデータの送信要求があるか否かを判断する（ステップＳ１８９）。コンテンツデータの送信要求がある場合には（ステップＳ１８９；ＹＥＳ）、ＣＰＵ２６１は、当該コンテンツデータの送信元の装置に対してコンテンツデータを送信し（ステップＳ１９０）、ステップＳ１８６に戻る。
【０２６４】
ステップＳ１８９において、コンテンツデータの送信要求がない場合には（ステップＳ１８９；ＮＯ）、ＣＰＵ２６１は、放送局装置３１から放送プログラムファイルの送信要求があるか否かを判断する（ステップＳ１９１）。放送プログラムファイルの送信要求がある場合には（ステップＳ１９１；ＹＥＳ）、ＣＰＵ２６１は、放送プログラムファイル送信要求の送信元の放送局装置３１に、放送プログラムファイルを送信し（ステップＳ１９２）、ステップＳ１８６に戻る。
【０２６５】
ステップＳ１９１において、放送局装置３１から放送プログラムファイル送信要求がない場合には（ステップＳ１９２；ＮＯ）、図３８へ移り、コンテンツ増加情報受信手段としてのＣＰＵ２６１は、放送局装置３１からコンテンツ増加情報を受信したか否かを判断する（ステップＳ１９３）。コンテンツ増加情報を受信した場合には（ステップＳ１９３；ＹＥＳ）、ＣＰＵ２６１は、コンテンツ増加情報に含まれるレプリカ数がゼロ（０）か否かを判断する（ステップＳ１９４）。コンテンツ増加情報に含まれるレプリカ数がゼロ（０）である場合には（ステップＳ１９４；ＹＥＳ）、所定のコンテンツについて所定数のレプリカが作成されているため、処理を行わずにステップＳ１８６へ戻る。ステップＳ１９４において、コンテンツ増加情報に含まれるレプリカ数がゼロ（０）でない場合には（ステップＳ１９４；ＮＯ）、複製再指示手段としてのＣＰＵ２６１は、他の放送局装置へ当該コンテンツデータを送信し（ステップＳ１９５）、当該コンテンツのレプリカ作成要求及び当該コンテンツのレプリカを作成できるように更新した放送プログラムファイルを同様の他の放送局装置３１へ送信する（ステップＳ１９６）し、ステップＳ１８６へ戻る。
【０２６６】
ステップＳ１９３において、コンテンツ増加情報を受信していない場合には（ステップＳ１９３；ＮＯ）、ＣＰＵ２６１は、コンテンツノード又はルートノードから通信集中情報を受信したか否かを判断する（ステップＳ１９７）。通信集中情報を受信した場合には（ステップＳ１９７；ＹＥＳ）、複製指示手段としてのＣＰＵ２６１は、通信集中情報に含まれるコンテンツＩＤから、アクセス集中の発生しているコンテンツを認識し、放送局装置３１へアクセス集中の発生しているコンテンツデータを送信する（ステップＳ１９８）。
【０２６７】
次いで、ＣＰＵ２６１は、送信したコンテンツデータについてのレプリカ作成要求及び当該コンテンツを含めて更新した放送プログラムファイルを放送局装置３１へ送信し（ステップＳ１９９）、ステップＳ１８６へ戻る。また、ステップＳ１９７において、通信集中情報を受信していない場合には（ステップＳ１９７；ＮＯ）、そのままステップＳ１８６へ戻る。
【０２６８】
ここで、ステップＳ１８６において、コンテンツ投入サーバサービスを終了する場合には（ステップＳ１８６；ＹＥＳ）、処理を終了する（エンド）。なお、図３７及び図３８においてフローチャートが接続されている部分には、接続子７、８を用いている。
【０２６９】
［７．変形形態］
本発明の一例として上述の実施形態を説明したが、本発明はこれに限定されず、例えば、以下の変形形態とすることもできる。
【０２７０】
上述の実施形態においては特に説明していないが、ノード装置１にコンテンツのレプリカを作成した後、図１の下部枠１０１に示す現実のネットワーク上で均一に分散されて、各ノード装置１のコンテンツ要求に対して効率的にコンテンツを配信できるように、コンテンツデータを他のノード装置１に移動したり、削除することを各ノード装置１が自律的に行ってもよい。ツリー型配信システムＳ２を利用してコンテンツを一斉に投入し、適切なコンテンツの配置を各ノード装置１が自律的に行うことにより、コンテンツ配信システムＳ全体として適切な位置のノード装置１に適切な数のレプリカを迅速に配置することが可能となる。
【０２７１】
上述の実施形態においては、コンテンツ配信システムＳにおいて、コンタクトノード紹介サーバ２５、接続先紹介サーバ３５、コンテンツ投入サーバ２６を備えているが、この構成に限定されず、システムＳにこれらのサーバ装置を備えていなくても、ツリー型配信システムＳ２の配信装置（放送局装置３１）が第２コンテンツデータと併せて、当該第２コンテンツデータを保存するか否かを示す判断情報（レプリカ作成フラグ）を下位階層のノード装置３２に送信する送信手段（ＣＰＵ３１１）を有しており、かつ、コンテンツ分散保存システムＳ１に参加し、かつ、ツリー型配信システムＳ２に参加しているノード装置３２が、配信装置（放送局装置３１）又は上位階層の他のノード装置（上流ノード装置３２）から第２コンテンツデータと併せて、判断情報を受信する受信手段（ＣＰＵ１１）と、第２コンテンツデータと併せて受信した判断情報が保存することを示している場合には、記録媒体（ＨＤ）に当該第２コンテンツデータを第１コンテンツデータとして保存する保存手段（ＣＰＵ１１）と、下位階層の他のノード装置（下流ノード装置３２）へ受信した第２コンテンツデータと併せて当該判断情報を転送する転送手段（ＣＰＵ１１）と、記録媒体に第１コンテンツデータを保存した場合には、他のノード装置１に当該第１コンテンツデータを保存していることを示す公開情報（公開メッセージ）を、コンテンツ分散保存システムＳ１における第１コンテンツデータの所在を管理する管理元のノード装置（ルートノード）に向けて送信する公開情報送信手段（ＣＰＵ１１）を有していればよい。
【０２７２】
従って、上述の各サーバが存在しないことにより、コンテンツ配信システムＳにおけるノード装置１等のシステムＳを構成する装置等の動作や役割が異なることがある。
【０２７３】
さらに、判断情報を用いずに、上述の受信手段、保存手段、転送手段としてのＣＰＵ１１を、配信装置又は上位階層の他のノード装置から第２コンテンツデータを受信する受信手段、記録媒体に当該第２コンテンツデータを第１コンテンツデータとして保存する保存手段、下位階層の他のノード装置へ受信した第２コンテンツデータを転送する転送手段、とし、ツリー型配信システムＳ２で配信する全ての第２コンテンツデータを各ノード装置３２において複製する態様としてもよい。
【０２７４】
上述の実施形態においては、ノード装置１がＤＨＴのルーティングテーブルを記憶しており、これに基づいて第１コンテンツデータが分散保存されているが、この実施形態に限定されない。コンテンツ分散保存システムＳ１が複数のノード装置１の参加により形成されており、複数の第１コンテンツデータが複数のノード装置１に分散保存され、一のノード装置１（上述のコンテンツノード）が他のノード装置１からの要求に応じて自己が保存している第１コンテンツデータを通信手段を介して送信する構成になっていればよい。
【０２７５】
上述の実施形態における、コンテンツ分散保存システムＳ１におけるコンテンツを要求し、取得する形態や、参加ノード装置が当該システムに参加する際の形態は、上述のものに限定されず、他の形態としてもよい。
【０２７６】
上述の実施形態においては、特に説明していないが、ツリー型配信システムＳ２において配信されてノード装置３２において視聴される第２コンテンツデータは、データ量が小さくなるように、または試聴に適したように変換してもよいが、この場合でも、第１コンテンツデータとして保存されるデータ（レプリカとなるデータ）は、正規の第１コンテンツデータと同様なデータを用いるようにする。
【０２７７】
上述の実施形態においては、ステップＳ２０、Ｓ７０、Ｓ１１２等の説明において、自ノード装置１がルートノードであるか否かに関わらず、キャッシュノードとして当該コンテンツデータのコンテンツノードの情報をコンテンツインデックス情報へ登録しているが、自ノード装置１がルートノードでないときは（ステップＳ２１；ＮＯ、Ｓ７１；ＮＯ、Ｓ１１３；ＮＯ）、当該コンテンツデータのコンテンツノードの情報についてコンテンツインデックス情報に登録せずに次のステップに進んでもよい。
【０２７８】
上述のノード装置１、放送局装置３１、コンテンツ投入サーバ２６の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを各実施形態に係るＣＰＵ１１、ＣＰＵ３１１又はＣＰＵ２６１として機能させることも可能である。
【図面の簡単な説明】
【０２７９】
【図１】本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＤＨＴによるＩＤ空間及びコンテンツＩＤとこれに対するルートノードを説明する図である。
【図３】本実施形態に係るコンテンツ分散保存システムにおけるＤＨＴによるＩＤ空間及びルーティングテーブルが作成される様子の一例を示す図である。
【図４】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図５】ＤＨＴによるＩＤ空間及びコンテンツの検索方法、取得方法を説明する図である。
【図６】ＤＨＴによるＩＤ空間及び保存された第１コンテンツデータの公開方法を説明する図である。
【図７】ＤＨＴによるＩＤ空間及びノード装置の参加方法を説明する図である。
【図８】本実施形態に係るツリー型配信システムの概要を説明する図である。
【図９】（Ａ）は本実施形態の放送プログラムファイルの例（１）を示し、（Ｂ）は本実施形態のツリー型配信システムにおいてレプリカが作成される様子を示す。
【図１０】本実施形態のツリー型配信システムにおいてレプリカが作成されない様子を示す。
【図１１】（Ａ）は本実施形態の放送プログラムファイルの例（２）を示し、（Ｂ）及び（Ｃ）は本実施形態のノード装置における処理を説明する図である。
【図１２】本実施形態のツリー型配信システムにおいてレプリカ数に応じてレプリカが作成される様子を示す。
【図１３】本実施形態のツリー型配信システムにおいて所定数のレプリカが作成されたことを放送局装置及びコンテンツ投入サーバに報告する様子を示す。
【図１４】本実施形態のツリー型配信システムにおいて所定数のレプリカが作成されていないことを放送局装置及びコンテンツ投入サーバに報告する様子を示す。
【図１５】本実施形態の放送プログラムファイルの例（３）を示す。
【図１６】（Ａ）は放送局装置がレプリカ用コンテンツと放送用コンテンツを並行して送信する様子を説明する図であり、（Ｂ）はノード装置がレプリカ用コンテンツと放送用コンテンツを並行して受信した後の処理を説明する図である。
【図１７】コンテンツ分散保存システムにおいてアクセス集中が起きたコンテンツをツリー型配信システムにおいて配信し、当該コンテンツのレプリカを作成する様子を説明する図である。
【図１８】（Ａ）及び（Ｂ）は図１７におけるコンテンツ投入サーバにおいて変更された放送プログラムファイルの各例を示す。
【図１９】ノード装置１の概要構成例を示す図である。
【図２０】放送局装置３１の概要構成例を示す図である。
【図２１】コンタクトノード紹介サーバ２５の概要構成例を示す図である。
【図２２】接続先紹介サーバ３５の概要構成例を示す図である。
【図２３】コンテンツ投入サーバ２６の概要構成例を示す図である。
【図２４】ノード装置１における処理（１）を示すフローチャートである。
【図２５】ノード装置１における処理（２）を示すフローチャートである。
【図２６】ノード装置１における処理（３）を示すフローチャートである。
【図２７】ノード装置１におけるコンテンツ分散保存システムへの参加処理を示すフローチャートである。
【図２８】ノード装置１におけるコンテンツパケット受信処理を示すフローチャートである。
【図２９】ノード装置１におけるＨＤ容量制御処理を示すフローチャートである。
【図３０】ノード装置１におけるレプリカ数対応レプリカ作成処理を示すフローチャートである。
【図３１】ノード装置１における投入コンテンツ受信処理を示すフローチャートである。
【図３２】ノード装置１におけるコンテンツ検索処理を示すフローチャートである。
【図３３】放送局装置３１における処理を示すフローチャート（１）である。
【図３４】放送局装置３１における処理を示すフローチャート（２）である。
【図３５】コンタクトノード紹介サーバ２５における処理を示すフローチャートである。
【図３６】接続先紹介サーバ３５における処理を示すフローチャートである。
【図３７】コンテンツ投入サーバ２６における処理を示すフローチャート（１）である。
【図３８】コンテンツ投入サーバ２６における処理を示すフローチャート（２）である。
【符号の説明】
【０２８０】
１  ノード装置
８  ネットワーク
９  オーバレイネットワーク
１１  ＣＰＵ
１２  主記憶装置
１３  ハードディスク装置
１４  周辺機器制御チップ
１５  ビデオチップ
１６  内蔵ディスプレイ
１７  音源チップ
１８  内蔵スピーカ
１９  赤外線ポート
２１  ネットワークインターフェイス
２２  システムバス
２３  ユーザ入力用リモコン
２４  ルータ
Ｓ  コンテンツ配信システム
Ｓ１  コンテンツ分散保存システム
Ｓ２  ツリー型配信システム
【図１】
2008035337.tif 000003
【図２】
2008035337.tif 000004
【図３】
2008035337.tif 000005
【図４】
2008035337.tif 000006
【図５】
2008035337.tif 000007
【図６】
2008035337.tif 000008
【図７】
2008035337.tif 000009
【図８】
2008035337.tif 000010
【図９】
2008035337.tif 000011
【図１０】
2008035337.tif 000012
【図１１】
2008035337.tif 000013
【図１２】
2008035337.tif 000014
【図１３】
2008035337.tif 000015
【図１４】
2008035337.tif 000016
【図１５】
2008035337.tif 000017
【図１６】
2008035337.tif 000018
【図１７】
2008035337.tif 000019
【図１８】
2008035337.tif 000020
【図１９】
2008035337.tif 000021
【図２０】
2008035337.tif 000022
【図２１】
2008035337.tif 000023
【図２２】
2008035337.tif 000024
【図２３】
2008035337.tif 000025
【図２４】
2008035337.tif 000026
【図２５】
2008035337.tif 000027
【図２６】
2008035337.tif 000028
【図２７】
2008035337.tif 000029
【図２８】
2008035337.tif 000030
【図２９】
2008035337.tif 000031
【図３０】
2008035337.tif 000032
【図３１】
2008035337.tif 000033
【図３２】
2008035337.tif 000034
【図３３】
2008035337.tif 000035
【図３４】
2008035337.tif 000036
【図３５】
2008035337.tif 000037
【図３６】
2008035337.tif 000038
【図３７】
2008035337.tif 000039
【図３８】
2008035337.tif 000040