(57)【要約】【課題】ツリー型放送システムに参加するノード装置の上り帯域の測定に伴う負荷を分散させるとともに、測定精度を高めることを可能とするノード紹介装置、ノード紹介処理プログラム、ツリー型放送システム、及びノード紹介方法を提供する。【解決手段】ノード紹介装置が、ツリー型放送システムに参加して放送情報を受信する各ノード装置から当該放送情報の受信品質を取得し、当該受信品質が第１のノード装置の上り帯域の測定に適しているノード装置を第２のノード装置として少なくとも一つ選定し、選定した第２のノード装置を示す紹介情報を、紹介要求情報を送信してきた第１のノード装置に送信する。【選択図】図９
2010109553.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムにおいて、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介装置であって、
前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得手段と、
前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶手段と、
前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信手段と、
前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定手段と、
前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信手段と、
を備えることを特徴とするノード紹介装置。
【請求項２】
請求項１に記載のノード紹介装置において、
前記ノード選定手段により選定された前記ノード装置に対応付けて、前記第２のノード装置としての紹介時刻を示す紹介時刻情報を記憶する紹介時刻情報記憶手段を更に備え、
前記ノード選定手段は、過去に選定していない前記ノード装置を優先して選定し、過去に選定した前記ノード装置から選定する場合には、前記記憶された紹介時刻情報に基づいて、前回の紹介時刻が最古の前記ノード装置を優先して選定することを特徴とするノード紹介装置。
【請求項３】
請求項１または請求項２に記載のノード紹介装置において、
前記ツリー型放送システムは、上り帯域が前記放送情報の中継に適している前記ノード装置が優先して当該放送情報を中継するノード装置となるよう、前記複数のノード装置が接続されるものであって、
前記ノード選定手段は、前記複数の階層上において、受信品質が前記測定に適している前記ノード装置の中で最上位の階層にある前記ノード装置を優先して選定することを特徴とするノード紹介装置。
【請求項４】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムにおいて、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介装置に含まれるコンピュータを、
前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得手段、
前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶手段、
前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信手段、
前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定手段、
前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信手段、
として機能させることを特徴とするノード紹介処理プログラム。
【請求項５】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムであって、
自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介装置は、
前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得手段と、
前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶手段と、
前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信手段と、
前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定手段と、
前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信手段と、
を備えることを特徴とするツリー型放送システム。
【請求項６】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムにおいて、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介処理方法であって、
前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得工程と、
前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶工程と、
前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信工程と、
前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定工程と、
前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信工程と、
を含むことを特徴とするノード紹介処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピア型の通信システムが注目されており、例えば、特許文献１に開示されるようなツリー型放送（配信）システムが提案されている。かかるツリー型放送システムにおいては、該システムに参加している複数のノード装置が放送局（例えば、放送装置）を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送（ストリーム配信）されたコンテンツデータ（例えば、映像データ及び音声データ等）が、上位階層（上流）のノード装置から下位階層（下流）のノード装置に順次転送（ストリーム中継処理）されるようになっている。
【０００３】
このようなツリー型放送システムにおいては、放送局の負荷を低減させることが可能であり、また、参加するノード装置の個数が増えても、放送局の負荷に影響を及ぼさないという利点がある。その一方で、コンテンツデータを中継（受信したコンテンツデータを他のノード装置に転送）するノード装置が、コンテンツデータを中継するにおいて十分な上り帯域を有していなければ、当該ノード装置より下位階層に位置するノード装置において、コンテンツデータの受信を良好に行うことができない。従って、ツリー型放送システムにおいては、各ノード装置の上り帯域をシステムの参加前に測定して、当該ノード装置がコンテンツデータの中継に適しているか否かを判断し、中継に適さないノード装置は中継を行わせないよう各ノード装置を接続するように制御すことが望ましい。
【０００４】
そして、従来における上り帯域の測定方法は、帯域測定用のサーバ装置を用意しておき、ノード装置等の情報処理装置が、帯域測定用の情報を当該サーバ装置に送信することで、当該サーバ装置で測定を行っていた。
【特許文献１】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、帯域測定用の情報の受信に伴ってサーバ装置側において相応の下り帯域を消費することとなる。それゆえ、ツリー型放送システムにおいて、帯域測定用のサーバ装置により各ノード装置の上り帯域を測定させると、例えば、コンテンツデータの配信開始時間が予め決められている所謂ライブ放送等、多数のノード装置が一斉に参加し得る状況下においては、サーバ装置が各ノード装置からの帯域測定の要求を一度に処理することができない事態が生じる。
【０００６】
そこで、本発明は、以上の点に鑑みてなされたものであり、ツリー型放送システムに参加するノード装置の上り帯域の測定に伴う負荷を分散させるとともに、測定精度を高めることを可能とするノード紹介装置、ノード紹介処理プログラム、ツリー型放送システム、及びノード紹介方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムにおいて、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介装置であって、前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得手段と、前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶手段と、前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信手段と、前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定手段と、前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信手段と、を備えることを特徴とする。
【０００８】
この発明によれば、ノード紹介装置が、ツリー型放送システムに参加して放送情報を受信する各ノード装置から当該放送情報の受信品質を取得し、当該受信品質が第１のノード装置の上り帯域の測定に適しているノード装置を第２のノード装置として少なくとも一つ選定し、選定した第２のノード装置を示す紹介情報を、紹介要求情報を送信してきた第１のノード装置に送信する。これにより、紹介要求情報を受信した第１のノード装置は、当該紹介要求情報が示す第２のノード装置のうち少なくとも一つに対して測定用の情報を送信し、第２のノード装置が当該測定用の情報を受信する際の転送効率に基づいて当該一のノード装置の上り帯域が測定される。
【０００９】
従って、帯域測定用のサーバ装置の代わりとなる第２のノード装置が、ツリー型放送システムに参加している複数のノード装置の中から選定されるので、ツリー型放送システムに参加するノード装置の上り帯域の測定に伴う負荷を分散させるができ、また、受信品質が上り帯域の測定に適しているノード装置が選定されるので、測定精度を高めることができる。
【００１０】
請求項２に記載の発明は、請求項１に記載のノード紹介装置において、前記ノード選定手段により選定された前記ノード装置に対応付けて、前記第２のノード装置としての紹介時刻を示す紹介時刻情報を記憶する紹介時刻情報記憶手段を更に備え、前記ノード選定手段は、過去に選定していない前記ノード装置を優先して選定し、過去に選定した前記ノード装置から選定する場合には、前記記憶された紹介時刻情報に基づいて、前回の紹介時刻が最古の前記ノード装置を優先して選定することを特徴とする。
【００１１】
この発明によれば、受信品質が上り帯域の測定に適している各ノード装置が、第２のノード装置としてまんべんなく紹介されるので、測定に伴う各ノード装置の負荷を効果的に分散させることができる。
【００１２】
請求項３に記載の発明は、請求項１または請求項２に記載のノード紹介装置において、前記ツリー型放送システムは、上り帯域が前記放送情報の中継に適している前記ノード装置が優先して当該放送情報を中継するノード装置となるよう、前記複数のノード装置が接続されるものであって、前記ノード選定手段は、前記複数の階層上において、受信品質が前記測定に適している前記ノード装置の中で最上位の階層にある前記ノード装置を優先して選定することを特徴とする。
【００１３】
この発明によれば、上り帯域が放送情報の中継に適しているノード装置が優先して当該放送情報を中継するノード装置となるよう、複数のノード装置が接続されてツリー型放送システムが形成されるので、放送情報の中継が安定して行われているノード装置ほど、より上位の階層に位置している可能性が高い。そして、受信品質が上り帯域の測定に適しているノード装置の中で最上位の階層にあるノード装置が優先して第２のノード装置として選定されるので、上り帯域の測定を安定して行うことができ、測定精度をより高めることができる。
【００１４】
請求項４に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムにおいて、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介装置に含まれるコンピュータを、前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得手段、前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶手段、前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信手段、前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定手段、前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信手段、として機能させることを特徴とする。
【００１５】
請求項５に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムであって、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介装置は、前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得手段と、前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶手段と、前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信手段と、前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定手段と、前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信手段と、を備えることを特徴とする。
【００１６】
請求項６に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された放送情報が、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにし、一の前記ノード装置から送信される測定用の情報を他の前記ノード装置が受信する際の転送効率に基づいて当該一のノード装置の上り帯域を測定するツリー型放送システムにおいて、自己の上り帯域の測定を要する第１の前記ノード装置に対し、前記測定用の情報を受信する第２の前記ノード装置を紹介するノード紹介処理方法であって、前記放送情報を受信する各前記ノード装置から、当該放送情報の受信品質を示す受信品質情報を取得する受信品質情報取得工程と、前記取得された受信品質情報を、取得先の前記ノード装置に対応付けて記憶する受信品質情報記憶工程と、前記第１のノード装置から送信されてきた、前記第２のノード装置の紹介の要求を示す紹介要求情報を受信する紹介要求情報受信工程と、前記記憶された受信品質情報に基づいて、受信品質が前記測定に適している前記ノード装置を前記第２のノード装置として少なくとも一つ選定するノード選定工程と、前記選定された第２のノード装置を示す紹介情報を、前記紹介要求情報を送信してきた前記第１のノード装置に送信する紹介情報送信工程と、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、帯域測定用のサーバ装置の代わりとなる第２のノード装置が、ツリー型放送システムに参加している複数のノード装置の中から選定されるので、ツリー型放送システムに参加するノード装置の上り帯域の測定に伴う負荷を分散させるができ、また、受信品質が上り帯域の測定に適しているノード装置が選定されるので、測定精度を高めることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の最良の実施形態を図面に基づいて説明する。
【００１９】
［１．ツリー型放送システムの構成等］
始めに、図１等を参照して、本発明の一実施形態に係るツリー型放送システム全体の概要構成及び機能について説明する。
【００２０】
図１は、本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【００２１】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ，４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ，５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク（通信ネットワーク）８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２２】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有のノードＩＤが割り当てられている。
【００２３】
そして、本実施形態に係るツリー型放送システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成（構成）されるピアツーピア方式のネットワークシステムとなっている。なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。
【００２４】
このようなツリー型放送システムＳにおいては、該システムＳに参加（トポロジーに参加）している複数のノードＮｎが放送局１０（放送装置の一例）を最上位として複数の階層を形成しつつネットワーク８を介してツリー状に接続され、当該放送局１０から放送（例えばストリームミング配信方式で放送）されたコンテンツデータ（放送情報の一例）が、上流のノードＮｎから下流のノードＮｎに順次転送（ＡＬＭ（Application Layer Multicast））されるようになっている。
【００２５】
また、ツリー型放送システムＳにおいて形成されたトポロジーは、接続先紹介サーバ２０（ノード紹介装置の一例）により管理されている。そして、接続先紹介サーバ２０は、ノードＮｎからの接続先紹介要求に応じて当該ノードＮｎに対してツリー型放送システムＳにおける接続先となる上流のノードＮｎを紹介するようになっている。
【００２６】
更に、ツリー型放送システムＳにおいては、上り帯域がコンテンツデータの中継に適している（コンテンツデータを安定的に中継することができる程度に上り帯域が十分にある）ノードＮｎが優先的にコンテンツデータを中継するノード（以下、「中継ノード」という）として接続されるようになっており、中継に適していないノードＮｎが中継ノードとならないように（他のノードＮｎが自ノードの下位階層として当該自ノードと接続されないように）、トポロジーが形成される。そのため、ツリー型放送システムＳにおいては、当該システムに参加するノードＮｎがコンテンツデータの中継に適しているか否かを判断するために、既に参加しているノードＮｎの何れかを帯域測定用のサーバ（以下、「帯域測定サーバノード」という）とし、参加するノードＮｎから帯域測定サーバノードへ帯域測定用のデータを送信することにより、当該参加するノードＮｎの上り帯域を測定する。帯域測定サーバノードの候補は、接続先紹介サーバ２０が各ノードＮｎのコンテンツデータの受信品質等に基づいて決定し、トポロジーに参加するノードＮｎは、この候補の中から帯域測定サーバノードとなるノードＮｎを選択する。
【００２７】
図２及び図３は、ノードＮ１３がツリー型放送システムＳへの参加する際の様子を示した概念図である。また、図４は、接続の要求を受けたノードＮｎがコンテンツデータの中継に適していない場合に、当該ノードＮｎの再接続と、接続を要求したノードＮｎの接続の様子を示した概念図である。
【００２８】
図２の例において、ノードＮ１３がツリー型放送システムＳに参加（言い換えれば、トポロジーに参加）する場合、先ず、当該ノードＮ１３は、接続先紹介サーバ２０へ、帯域測定サーバノード紹介要求メッセージ（Ｍ）（紹介要求情報の一例）を送信する（１）。接続先紹介サーバ２０は、内部で管理している帯域測定サーバノードテーブルの中から帯域測定サーバノードの候補となるノードＮｎを検索し、１以上の帯域測定サーバノード候補のネットワークアドレス情報（例えば、ＩＰ（Internet Protocol）アドレス及びポート番号）等を含む帯域測定サーバノード候補紹介メッセージをノードＮ１３へ返送（帯域測定サーバノード候補を紹介）する（２）。次に、ノードＮ１３は、接続先紹介サーバ２０から取得した帯域測定サーバノード候補の中から一つの例えばノードＮ２を選択し、当該ノードＮ２へ帯域測定要求メッセージを送信すると（３）、ノードＮ２は、ノードＮ１３へ帯域測定許可応答メッセージを返信する（４）。次に、ノードＮ１３は、ノードＮ２へ帯域測定用データ（測定用の情報の一例）を送信する（５）。すると、ノードＮ２は、帯域測定用データの受信の際のビットレート（転送効率）を算出し、算出した結果（測定結果）を含む測定結果メッセージをノードＮ１３へ送信する（６）。そして、ノードＮ１３は、測定結果メッセージに含まれる測定結果を保存することによって、ノードＮ１３の上り帯域の測定が完了する。
【００２９】
帯域測定が完了すると、図３の例に示すように、ノードＮ１３は、接続先紹介サーバ２０へ上流ノード紹介要求メッセージを送信する（７）。接続先紹介サーバ２０は、内部で管理しているトポロジー管理情報の中から下流側に接続が可能な（下流側に直接接続されたノード数が接続許容数に達していない）ノードＮｎを検索し、１以上の上流ノード候補のネットワークアドレス情報等を含む上流ノード候補紹介メッセージをノードＮ１３へ返信（接続可能ノード紹介）する（８）。次に、ノードＮ１３は、接続先紹介サーバ２０から取得した上流ノード候補の中から一つの例えばノードＮ６を選択し、当該ノードＮ６へ接続要求メッセージを送信する（９）。次に、ノードＮ６は、内部で保存している自己の上り帯域の測定結果に基づいて、自ノードがコンテンツの中継に適していると判定した場合には、内部で管理しているノード管理テーブルにノードＮ１３の情報を追加し、ノードＮ１３へ接続許可応答メッセージを返信する（１０）。次に、ノードＮ１３は、ノードＮ６へストリーム開始要求メッセージを送信する（１１）。最後に、ノードＮ６は、装置内部にストリーム中継用のオブジェクトを準備し、ノードＮ１３に対してストリーミングを開始する（１２）。こうして、ツリー型放送システムＳへのノードＮ１３の参加が完了する。
【００３０】
そして、ノードＮ１３がツリー型放送システムＳから脱退（離脱）する場合、当該ノードＮ１３は、ストリーム供給元である上流のノードＮ６に対してストリーム停止要求メッセージと接続解除要求メッセージを送信する。これに応じて、ノードＮ６は、ストリーム中継用オブジェクトを破棄することでノードＮ１３に対するストリーミングを停止し、同時にノード管理テーブルからノードＮ１３の情報を削除することでノードＮ６との接続関係を断ち切る。
【００３１】
前記（９）において、接続要求メッセージを受信したノードＮ６が、自ノードはコンテンツの中継に適していないと判定した場合には、図４（Ａ）に示すように、自己の上流に（上位階層として）接続されているノードＮ２との接続を切断する（１３）。次に、ノードＮ６は、ノードＮ２のネットワークアドレス情報等を含む上流ノード接続指示メッセージをノードＮ１３へ送信する（１４）。次に、ノードＮ６は、接続先紹介サーバ２０から紹介（前記（１）及び（２）と同様）された上流ノード候補の中から例えばノードＮ１２を選択し、当該ノードＮ１２へ接続要求メッセージを送信する（１５）。一方、上流ノード接続指示メッセージを受信したノードＮ１３は、ノードＮ２へ接続要求メッセージを送信する（１６）。こうして、図４（Ｂ）に示すように、ノードＮ６はノードＮ１２と接続し、ノードＮ１３はノードＮ２と接続する。
【００３２】
［１−２．放送局１０の構成等］
次に、図５を参照して、放送局１０の構成及び機能について説明する。
【００３３】
図５は、放送局１０の概要構成例を示す図である。
【００３４】
放送局１０は、図５に示すように、主電源１０１、主記憶装置１０２、ハードディスク装置１０３、ＣＰＵ１０４、ネットワークインタフェース１０５、周辺機器制御チップ１０６、ビデオチップ１０７、音源チップ１０８、キーボード１０９、マウス１１０、ディスプレイ１１１、及び内蔵スピーカ１１２等を備えて構成されている。また、主電源１０１、主記憶装置１０２、ハードディスク装置１０３、ＣＰＵ１０４、ネットワークインタフェース１０５、周辺機器制御チップ１０６、ビデオチップ１０７、及び音源チップ１０８は、システムバス１１３を介して相互に接続されている。また、放送局１０は、ルータ１１４を介してネットワーク８に接続される。
【００３５】
主記憶装置１０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、及びデコーダ（プログラム）等が記憶されている。また、主記憶装置１０２は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、放送局１０に接続されたノードＮｎの情報（例えば、ＩＰアドレス及びポート番号等）が登録される。また、主記憶装置１０２は、バッファメモリ（例えば、リングバッファ）を有する。
【００３６】
また、ハードディスク装置１０３には、放送用コンテンツデータが記録されている。
【００３７】
ＣＰＵ１０４は、主記憶装置１０２に記憶された各種プログラムにしたがって（つまり、プログラムの実行により）、例えばハードディスク装置１０３に記録されたコンテンツデータをパケット化し、ノード管理テーブルに登録されたノードＮｎに対して放送（ストリーム配信）する放送処理を行う。
【００３８】
なお、このような放送局１０として、専用の放送サーバの他、何れかのノードＮｎが適用されても良い。
【００３９】
［１−３．接続先紹介サーバ２０の構成等］
次に、図６及び図７を参照して、接続先紹介サーバ２０の構成及び機能について説明する。
【００４０】
図６は、接続先紹介サーバ２０の概要構成例を示す図である。また、図７（Ａ）は、視聴ノードテーブルに登録される内容の例を示す図であり、図７（Ｂ）は、帯域測定サーバノードテーブルに登録される内容の例を示す図である。
【００４１】
接続先紹介サーバ２０は、図６に示すように、主電源２０１、主記憶装置２０２、ハードディスク装置２０３、ＣＰＵ２０４、ネットワークインタフェース２０５、周辺機器制御チップ２０６、ビデオチップ２０７、キーボード２０８、マウス２０９、及びディスプレイ２１０等を備えて構成されている。また、主電源２０１、主記憶装置２０２、ハードディスク装置２０３、ＣＰＵ２０４、ネットワークインタフェース２０５、周辺機器制御チップ２０６、及びビデオチップ２０７は、システムバス２１１を介して相互に接続されている。また、接続先紹介サーバ２０は、ルータ２１２を介してネットワーク８に接続される。
【００４２】
主記憶装置２０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、放送局管理プログラム、トポロジー管理プログラム、接続先紹介プログラム、帯域測定サーバノード紹介プログラム（ノード紹介処理プログラムの一例）及び運用管理プログラム等のサーバ処理プログラムが記憶されている。なお、サーバ処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしても良いし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００４３】
ハードディスク装置２０３には、放送局管理データベースが構築されている。放送局管理データベースには、各放送局１０の所在情報（例えば、ＩＰアドレス及びポート番号等）が放送チャンネル情報（例えばチャンネル番号）に対応付けられて登録される。
【００４４】
また、ハードディスク装置２０３には、視聴ノードテーブル及び帯域測定サーバノードテーブルが記憶される。視聴ノードテーブルは、放送チャンネル毎に存在し、放送チャンネル情報に対応付けられている。そして、視聴ノードテーブルには、例えば、図７（Ａ）に示すように、トポロジーに参加している各ノードＮｎ毎に、ネットワークアドレス情報（例えばＩＰアドレス及びポート番号）、現在接続されている上流のノードＮｎを示す情報（例えばノードＩＤ）、現在接続されている下流のノードＮｎを示す情報（例えば、ノードＩＤ）、現在接続されている下流のノードＮｎの接続数、下流のノードＮｎの接続許容数（例えば、２、これより多くても良い）、コンテンツデータの受信品質（受信品質情報の一例）等の情報が、対応付けられて視聴ノード情報として登録される。ここで、コンテンツデータの受信品質は、例えば、受信品質が良い又は悪いを示す情報である。
【００４５】
帯域測定サーバノードテーブルは、放送チャンネル毎に存在し、視聴ノードテーブルに対応付けられている。そして、帯域測定サーバノードテーブルには、例えば、図７（Ｂ）に示すように、帯域測定サーバノードの候補としての条件を満たすノードＮｎ毎に、ネットワークアドレス情報、帯域測定サーバノードの候補として紹介された日時を示す紹介日時（紹介時刻情報の一例）等の情報が、対応付けられてサーバノード情報として登録される。ここで、帯域測定サーバノードの候補としての条件を満たすノードとは、対応する視聴ノードテーブルに登録されている（対応する放送チャンネルのトポロジーに参加している）ノードのうち、受信品質が良いノードのことをいう。
【００４６】
ＣＰＵ２０４は、主記憶装置２０２に記憶された各種プログラムにしたがって、各種処理を実行するとともに、本発明における受信品質情報取得手段、受信品質情報記憶手段、紹介要求情報受信手段、ノード選定手段、紹介情報送信手段及び紹介日時情報記憶手段等として機能する。
【００４７】
例えば、ＣＰＵ２０４は、ツリー型放送システムＳ（各放送チャンネルのトポロジー）に参加し、コンテンツデータを受信している各ノードＮｎから、コンテンツの視聴状態等を示す視聴中報告メッセージを受信し、当該視聴中報告メッセージから、受信パケット損失レート（本発明における受信品質情報の他の例）を取得する。そして、ＣＰＵ２０４は、受信パケット損失レートからコンテンツデータの受信品質を判断し（例えば、受信パケット損失レートが所定値以上であれば、良い、受信パケット損失レートが所定値未満でであれば、悪い、と判断する）、当該判断結果を、視聴中報告メッセージの受信元であるノードＮｎ（以下、「報告ノード」という）に対応する受信品質として視聴ノードテーブルに設定する。このとき、ＣＰＵ２０４は、報告ノードの受信品質が良いと判断した場合には、当該報告ノードを帯域測定サーバノードテーブルに登録する（登録されていない場合）、一方、報告ノードの受信品質が悪いと判断した場合には、当該報告ノードを帯域測定サーバノードテーブルから削除する（登録されている場合）。なお、トランスポート層のプロトコルとしてＴＣＰ（Transmission Control Protocol）を使用し、ＴＣＰをベースとしてストリーミングを実現している場合には、受信品質を示す情報として受信ビットレートを使用しても良い。ＴＣＰであれば、パケット損失が発生した場合には、損失したパケットの再送がトランスポート層のレベルで行われることによって、受信ビットレートが低くなることから、当該情報から受信品質を判断することが可能である。
【００４８】
また、ＣＰＵ２０４は、新たにトポロジーへ参加希望するノードＮｎから帯域測定サーバ紹介要求メッセージを受信すると、帯域測定サーバノードテーブルに登録されたノードＮｎから、帯域測定サーバノードの候補を検索し、１以上の候補を選定する。このとき、ＣＰＵ２０４は、先ず、帯域測定サーバノードの候補として紹介されていない（帯域測定サーバノードテーブル上で紹介日時が未設定である）ノードＮｎを優先的に選定し、次いで、帯域測定サーバノードとして紹介された日時が最も古いノードＮｎから古い順に優先的に選定する。そして、ＣＰＵ２０４は、選定した候補のネットワークアドレス情報を含む帯域測定サーバノード候補紹介メッセージを、要求元のノードＮｎに送信すると、帯域測定サーバノードテーブル上における当該候補の紹介日時に現在日時を設定する。
【００４９】
なお、ＣＰＵ２０４は、帯域測定サーバノードの候補を選定する際に、トポロジー上においてより上位階層のノードＮｎから階層が高い順に優先的に設定しても良い。コンテンツデータの中継に適していない（上り帯域が十分ではない）ノードＮｎは、図４を用いて説明した再接続によって、最下位の階層または最下位に近い階層に追いやられる可能性が高く、これによって、コンテンツデータの中継が安定して行われているノードＮｎほど、より上位の階層に位置している可能性が高くなる。それゆえ、より上位階層のノードＮｎを帯域測定サーバノードとすることで、安定的に精度良く帯域測定をすることができる可能性が高まる。この場合においては、例えば、ＣＰＵ２０４は、候補として紹介されていないノードＮｎが多数存在する場合には、その紹介されていない複数のノードＮｎの中で最上位に位置するノードＮｎを選定しても良いし、帯域測定サーバノードとして紹介された日時が古いノードＮｎから優先的に選定する際に、必要とする数よりも多めに選定し、その中から、より上位に位置するノードＮｎから順に必要数に達するまで絞り込んで選定しても良い。
【００５０】
また、ＣＰＵ２０４は、自己の上り帯域の測定を行ったノードＮｎからの接続先紹介要求に応じて視聴ノードテーブルから下流に接続可能なノードＮｎを検索し、検索された１以上のノードＮｎの候補を接続先として紹介する紹介処理を行う。
【００５１】
［１−４．ノードＮｎの構成等］
次に、図８を参照して、ノードＮｎの構成及び機能について説明する。
【００５２】
図８は、ノードＮｎの概要構成例を示す図である。
【００５３】
ノードＮｎは、図８に示すように、主電源３０１、主記憶装置３０２、ハードディスク装置３０３、ＣＰＵ３０４、ネットワークインタフェース３０５、周辺機器制御チップ３０６、ビデオチップ３０７、音源チップ３０８、キーボード３０９、マウス３１０、ディスプレイ３１１、及び内蔵スピーカ３１２等を備えて構成されている。また、補助電源３０１ｂ、主記憶装置３０２、ハードディスク装置３０３、ＣＰＵ３０４、ネットワークインタフェース３０５、周辺機器制御チップ３０６、ビデオチップ３０７、及び音源チップ３０８は、システムバス３１３を介して相互に接続されている。また、ノードＮｎは、ルータ３１４を介してネットワーク８に接続される。
【００５４】
なお、ノードＮｎとしては、ＰＣ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【００５５】
主記憶装置３０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、画面制御プログラム、ストリーム制御プログラム、トポロジー制御プログラム、及びデコーダ等が記憶されている。これら各種プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしても良いし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００５６】
また、主記憶装置３０２には、受信したコンテンツデータを一時的に蓄積するためのバッファメモリ（例えば、リングバッファ）を有する。また、主記憶装置３０２は、ノード管理テーブルを記憶している。ノード管理テーブルには、自ノード（自己）に接続されている下流のノードＮｎのネットワークアドレス情報（ＩＰアドレス及びポート番号等）が登録される。更に、主記憶装置３０２には、自ノードの上り帯域の測定結果を含む自ノード情報が記憶される。
【００５７】
そして、ＣＰＵ３０４は、主記憶装置３０２に記憶された各種プログラム（本発明のノード処理プログラムを含む）にしたがって、ツリー型放送システムＳ（ある放送チャンネルに係るトポロジー）に参加するための参加処理を実行し、参加後に放送局１０又は上流ノードＮｎから放送されネットワークインタフェース３０５を介して受信されたコンテンツデータのパケット（コンテンツストリーム）をバッファリングさせつつ再生処理を行う。
【００５８】
ここで、上記参加処理では、先ず、接続先紹介サーバ２０に対して帯域測定サーバノード紹介要求がなされ、接続先紹介サーバ２０から紹介された帯域測定サーバノードに接続（セッション確立）して帯域測定が行われる。次いで、接続先紹介サーバ２０に対して接続先紹介要求がなされ、接続先紹介サーバ２０から紹介された上流のノードＮｎに接続（セッション確立）してストリーム開始要求がなされる。
【００５９】
また、上記再生処理では、受信されバッファメモリに蓄積されたコンテンツデータ（例えば、ビデオデータ及びオーディオデータ）が読み出されデコーダによりデコードされる。そして、デコードされたビデオデータ（映像情報）がビデオチップ３０７を通じてディスプレイ３１１に出力され、デコードされたオーディオデータ（音声情報）が音源チップ３０８を通じて内蔵スピーカ３１２（又は図示しない外部スピーカ）から出力される。また、上記再生処理では、コンテンツデータ受信の際のパケット損失レートが測定され、一定時間間隔で、当該パケット損失レートを含む視聴中報告メッセージが接続先紹介サーバ２０に送信される。
【００６０】
また、自ノードに下流のノードＮｎが接続されている場合、ＣＰＵ３０４は、バッファメモリに蓄積されたコンテンツデータの各パケットを当該下流のノードＮｎに転送（コンテンツストリームの中継）する転送処理を行う。
【００６１】
更に、ＣＰＵ３０４は、下流のノードＮｎからストリーム停止要求メッセージと接続解除要求メッセージを受信した場合、当該ノードＮｎに対するストリーミングを停止し、ノード管理テーブルから当該ノードＮｎの情報を削除することで当該ノードＮｎとの接続を解除する。
【００６２】
［２．ツリー型放送システムＳの動作］
次に、図９乃至図１２を参照して、本実施形態に係るツリー型放送システムＳの動作について説明する。
【００６３】
図９は、接続先紹介サーバ２０におけるＣＰＵ２０４により実行される処理を示すフローチャートである。
【００６４】
図９の処理は、例えば接続先紹介サーバ２０の電源がＯＮとされた場合に開始される。先ず、ＣＰＵ２０４は、接続先紹介サーバ２０として機能するための各種の初期化処理を実行すると（ステップＳ１）、ノードＮｎからのメッセージ受信待ちに移行し（ステップＳ２）、管理者等によりキーボード２０８やマウス２０９が操作されること等によって、シャットダウンが指示されたか否かを判定する（ステップＳ３）。
【００６５】
このとき、ＣＰＵ２０４は、シャットダウンが指示された場合には（ステップＳ３：ＹＥＳ）、当該処理を終了させ、シャットダウンが指示されていない場合には（ステップＳ３：ＮＯ）、上流ノード紹介要求メッセージを受信したか否かを判定する（ステップＳ４）。このときＣＰＵ２０４は、上流ノード紹介要求メッセージを受信した場合には（ステップＳ４：ＹＥＳ）、ステップＳ５に移行し、上流ノード紹介要求メッセージを受信していない場合には（ステップＳ４：ＮＯ）、ステップＳ７に移行する。
【００６６】
ステップＳ５に移行したＣＰＵ２０４は、視聴ノードテーブルから接続先候補のノードＮｎを１以上検索する。次いで、ＣＰＵ２０４は、検索したノードＮｎのネットワークアドレス情報を視聴ノードテーブルから取得し、当該情報を含む上流ノード候補紹介メッセージを、上流ノード紹介要求メッセージを送信してきたノードＮｎに送信する（ステップＳ６）。ＣＰＵ２０４は、当該処理を終えると、メッセージ受信待ちに移行する（ステップＳ２）。
【００６７】
一方、ステップＳ７に移行したＣＰＵ２０４は、帯域測定サーバノード紹介要求メッセージを受信したか否かを判定する。このとき、ＣＰＵ２０４は、帯域測定サーバノード紹介要求メッセージを受信した場合には（ステップＳ７：ＹＥＳ）、ステップＳ８に移行し、帯域測定サーバノード紹介要求メッセージを受信していない場合には（ステップＳ７：ＮＯ）、ステップＳ１１に移行する。
【００６８】
ステップＳ８に移行したＣＰＵ２０４は、帯域測定サーバノードテーブルから帯域測定サーバノードの候補となるノードＮｎを１以上検索する。例えば、ＣＰＵ２０４は、帯域測定サーバノードテーブルに登録されているノードＮｎのうち、紹介日時が設定されていないノードＮｎの中から必要な数の候補を選定する。また、ＣＰＵ２０４は、選定したノードＮｎの数が必要数に足りない場合には、帯域測定サーバノードテーブルに登録されているノードＮｎのうち紹介日時が最も古いものから古い順に必要数に達するまで候補を選定する。ＣＰＵ２０４は、帯域測定サーバノードの候補となるノードＮｎを検索すると、帯域測定サーバノードテーブルから当該検索したノードＮｎのネットワークアドレス情報を取得し、当該情報を含む帯域測定サーバノード候補紹介メッセージを、帯域測定サーバノード紹介要求メッセージを送信してきたノードＮｎに送信する（ステップＳ９）。次いで、ＣＰＵ２０４は、検索したノードＮｎの紹介日時に現在日時を設定することによって紹介日時を更新すると（ステップＳ１０）、メッセージ受信待ちに移行する（ステップＳ２）。
【００６９】
一方、ステップＳ１１に移行したＣＰＵ２０４は、接続完了通知メッセージを受信したか否かを判定する。このとき、ＣＰＵ２０４は、接続完了通知メッセージを受信した場合には（ステップＳ１１：ＹＥＳ）、ステップＳ１２に移行し、接続完了通知メッセージを受信していない場合には（ステップＳ１１：ＮＯ）、ステップＳ１３に移行する。
【００７０】
ステップＳ１２に移行したＣＰＵ２０４は、接続完了通知メッセージを送信してきたノードＮｎの視聴ノード情報を視聴ノードテーブルに追加登録する。具体的に、ＣＰＵ２０４は、当該メッセージに設定されているメッセージ送信元のノードＮｎのネットワークアドレス情報、当該ノードＮｎの上流として接続されたノードＮｎを示す情報等を、視聴ノード情報として登録する。ＣＰＵ２０４は、当該処理を終えると、メッセージ受信待ちに移行する（ステップＳ２）。
【００７１】
一方、ステップＳ１３に移行したＣＰＵ２０４は、離脱通知メッセージを受信したか否かを判定する。このとき、ＣＰＵ２０４は、離脱通知メッセージを受信した場合には（ステップＳ１３：ＹＥＳ）、ステップＳ１４に移行し、離脱通知メッセージを受信していない場合には（ステップＳ１３：ＮＯ）、ステップＳ１７に移行する。
【００７２】
ステップＳ１４に移行したＣＰＵ２０４は、離脱通知メッセージを送信してきたノードＮｎの視聴ノード情報を視聴ノードテーブルから削除する（ステップＳ１４）。次いで、ＣＰＵ２０４は、当該ノードＮｎのサーバノード情報が帯域測定サーバノードテーブルに存在するか否かを判定する（ステップＳ１５）。このとき、ＣＰＵ２０４は、当該サーバノード情報が存在しない場合には（ステップＳ１５：ＮＯ）、メッセージ受信待ちに移行し（ステップＳ２）、当該サーバノード情報が存在する場合には（ステップＳ１５：ＹＥＳ）、当該サーバノード情報を帯域測定サーバノードテーブルから削除して（ステップＳ１６）、メッセージ受信待ちに移行する（ステップＳ２）。
【００７３】
一方、ステップＳ１７に移行したＣＰＵ２０４は、視聴中報告メッセージを受信したか否かを判定する。このとき、ＣＰＵ２０４は、視聴中報告メッセージを受信した場合には（ステップＳ１７：ＹＥＳ）、ステップＳ１８に移行し、視聴中報告メッセージを受信していない場合には（ステップＳ１７：ＮＯ）、メッセージ受信待ちに移行する（ステップＳ２）。
【００７４】
ステップＳ１８に移行したＣＰＵ２０４は、視聴ノードテーブルを更新する。具体的に、ＣＰＵ２０４は、視聴中報告メッセージに含まれる例えばパケット損失レート等に基づいて受信品質の良否を判定し、当該判定結果を当該メッセージを送信してきたノードＮｎの受信品質として視聴ノードテーブルに上書き設定する。次いで、ＣＰＵ２０４は、当該ノードＮｎの受信品質が良いか否かを判定する（ステップＳ１９）。このとき、ＣＰＵ２０４は、受信品質が悪い場合には（ステップＳ１９：ＮＯ）、ステップＳ１５に移行し、受信品質が良い場合には（ステップＳ１９：ＹＥＳ）、ステップＳ２０に移行する。
【００７５】
ステップＳ２０に移行したＣＰＵ２０４は、視聴中報告メッセージを送信してきたノードＮｎのサーバノード情報が帯域測定サーバノードテーブルに存在するか否かを判定する。このとき、ＣＰＵ２０４は、当該サーバノード情報が存在する場合には（ステップＳ２０：ＮＯ）、メッセージ受信待ちに移行し（ステップＳ２）、当該サーバノード情報が存在しない場合には（ステップＳ２０：ＹＥＳ）、当該サーバノード情報を帯域測定サーバノードテーブルに追加登録する（ステップＳ２１）。具体的に、ＣＰＵ２０４は、視聴ノードテーブルに設定されている当該ノードＮｎのネットワーク情報を含み、紹介日時を未設定とするサーバノード情報を帯域測定サーバノードテーブルに登録する。ＣＰＵ２０４は、当該処理を終えると、メッセージ受信待ちに移行する（ステップＳ２）。
【００７６】
図１０及び図１１は、ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【００７７】
図１０及び図１１の処理は、例えば利用者の指示に基づいて、ツリー型放送システムＳに参加するためのプログラムが起動された場合に開始される。先ず、ノードＮｎのＣＰＵ３０４は、ツリー型放送システムＳに参加するための各種の初期化処理を実行すると（ステップＳ２１）、図１２を用いて後述する帯域測定処理を実行する（ステップＳ２２）。
【００７８】
次いで、ＣＰＵ３０４は、プログラムの終了命令を利用者から受けたか否かを判定する（ステップＳ２３）。このとき、ＣＰＵ３０４は、終了命令を受けた場合には（ステップＳ２３：ＹＥＳ）、ステップＳ２４に移行し、終了命令を受けていない場合には（ステップＳ２３：ＮＯ）、ステップＳ２５に移行する。
【００７９】
ステップＳ２４に移行したＣＰＵ３０４は、プログラムを終了させるための各種処理を実行し、当該処理を終了させる。
【００８０】
一方、ステップＳ２５に移行したＣＰＵ３０４は、ある放送チャンネルのトポロジーへの接続開始命令を利用者から受けたか否かを判定する。このとき、ＣＰＵ３０４は、接続開始命令を受けていない場合には（ステップＳ２５：ＮＯ）、ステップＳ２３に移行し、接続開始命令を受けた場合には（ステップＳ２５：ＹＥＳ）、接続先紹介サーバ２０に、上流ノード候補の問い合わせを行う（ステップＳ２６）。具体的に、ＣＰＵ３０４は、上流ノード紹介要求メッセージを接続先紹介サーバ２０に送信し、これに応じて接続先紹介サーバ２０から送信されてきた上流ノード候補紹介メッセージを受信する。
【００８１】
次いで、ＣＰＵ３０４は、こうして取得した上流ノード候補の中から上流ノードとして接続するノードＮｎを選択する（ステップＳ２７）。次いで、ＣＰＵ３０４は、選択したノードＮｎのネットワークアドレス情報等を上流ノード候補紹介メッセージから取得すると、当該情報に基づいて、当該ノードＮｎに接続要求メッセージを送信し（ステップＳ２８）、これに応じて当該ノードＮｎから送信されてきた応答メッセージを受信する（ステップＳ２９）。
【００８２】
次いで、ＣＰＵ３０４は、応答メッセージが接続許可応答メッセージであるか否かを判定する（ステップＳ３０）。このとき、ＣＰＵ３０４は、応答メッセージが接続許可応答メッセージではない場合、つまり、応答メッセージが上流ノード接続指示メッセージである場合には（ステップＳ３０：ＮＯ）、ステップ３１に移行し、応答メッセージが接続許可応答メッセージである場合には（ステップＳ３０：ＹＥＳ）、ステップＳ３２に移行する。
【００８３】
ステップＳ３１に移行したＣＰＵ３０４は、接続を要求したノードＮｎの上流ノードを接続先のノードとして選択し（ステップＳ３１）、当該上流ノードのネットワークアドレス情報等を上流ノード接続指示メッセージから取得すると、当該情報に基づいて、当該上流ノードに接続要求メッセージを送信する（ステップＳ２８）。
【００８４】
一方、ステップＳ３２に移行したＣＰＵ３０４は、選択したノードＮｎからストリーミングでコンテンツデータを受信するための接続処理（ノードＮｎとのネゴシエーション）を実行する。接続処理が完了すると、ＣＰＵ３０４は、自ノードのネットワークアドレス情報、自ノードの上流ノードとして接続したノードＮｎを示す情報等を含む接続完了通知メッセージを接続先紹介サーバ２０に送信する（ステップＳ３３）。次いで、ＣＰＵ３０４は、接続先のノードＮｎへストリーム開始要求メッセージを送信し（ステップＳ３４）、これに応じて接続先のノードＮｎから送信されてきたストリーム開始通知メッセージを受信する（ステップＳ３５）。その後、接続先のノードＮｎからコンテンツデータが送信されてくるので、ＣＰＵ３０４は、当該コンテンツデータの受信を開始するとともに、受信品質の監視を開始する（ステップＳ３６）。
【００８５】
次いで、ＣＰＵ３０４は、一定時間が経過したか否かを判定する（ステップＳ４１）。このとき、ＣＰＵ３０４は、一定時間が経過した場合には（ステップＳ４１：ＹＥＳ）、ステップＳ４２に移行し、一定時間が経過していない場合には（ステップＳ４１：ＮＯ）、ステップＳ４３に移行する。
【００８６】
ステップＳ４２に移行したＣＰＵ３０４は、コンテンツデータの受信品質を示す情報として、例えば、受信パケット損失レートを含む視聴中報告メッセージを接続先紹介サーバに送信すると、ステップＳ４１に移行する。
【００８７】
一方、ステップＳ４３に移行したＣＰＵ３０４は、帯域測定要求メッセージを受信したか否かを判定する（ステップＳ４３）。このとき、ＣＰＵ３０４は、帯域測定要求メッセージを受信した場合には（ステップＳ４３：ＹＥＳ）、ステップＳ４４に移行し、帯域測定要求メッセージを受信していない場合には（ステップＳ４３：ＮＯ）、ステップＳ４９に移行する。
【００８８】
ステップＳ４４に移行したＣＰＵ３０４は、帯域測定要求メッセージを送信してきた帯域測定要求元としてのノードＮｎに測定許可応答メッセージを送信する（ステップＳ４４）。これに応じて当該ノードＮｎから帯域測定用データが送信されてくるので、ＣＰＵ３０４は、当該データを受信する（ステップＳ４５）。次いで、ＣＰＵ３０４は、一定時間が経過したか否かを判定し（ステップＳ４６）、一定時間が経過していない場合には（ステップＳ４６：ＮＯ）、帯域測定用データの受信を継続し（ステップＳ４５）、一定時間が経過した場合には（ステップ４６：ＹＥＳ）、受信した帯域測定用データのビット数を、経過した時間で除することによって受信ビットレートを算出する（ステップＳ４７）。次いで、ＣＰＵ３０４は、算出した受信ビットレートを含む測定結果メッセージを要求元のノードＮｎに送信し（ステップＳ４８）、ステップＳ４１に移行する。
【００８９】
一方、ステップＳ４９に移行したＣＰＵ３０４は、接続要求メッセージを受信したか否かを判定する（ステップＳ４９）。このとき、ＣＰＵ３０４は、接続要求メッセージを受信した場合には（ステップＳ４９：ＹＥＳ）、ステップＳ５０に移行し、接続要求メッセージを受信していない場合には（ステップＳ５０：ＮＯ）、ステップＳ５８に移行する。
【００９０】
ステップＳ５０に移行したＣＰＵ３０４は、内部で保持している自ノード情報に含まれる上り帯域の測定結果に基づいて、自ノードはコンテンツデータの中継に適したノードであるか否かを判定する。例えば、上り帯域が所定値以上である場合には、コンテンツデータの中継に適したノードであると判定され、上り帯域が当該所定値未満である場合には、コンテンツデータの中継に適していないノードであると判定される。このとき、ＣＰＵ３０４は、自ノードがコンテンツデータの中継に適したノードである場合には（ステップＳ５０：ＹＥＳ）、ステップＳ５１に移行し、自ノードがコンテンツデータの中継に適していないノードである場合には（ステップＳ５０：ＮＯ）、ステップＳ５６に移行する。
【００９１】
ステップＳ５１に移行したＣＰＵ３０４は、接続要求メッセージを送信してきた接続要求元としてのノードＮｎに接続許可応答メッセージを送信し（ステップＳ５１）、ストリーミングによりコンテンツデータを要求元のノードＮｎに送信するための接続処理を実行する（ステップＳ５２）。接続処理が完了すると、要求元のノードＮｎからストリーム開始要求メッセージが送信されてくるので、ＣＰＵ３０４は、当該メッセージを受信し（ステップＳ５３）、これに応じて、ストリーム開始通知メッセージを要求元のノードＮｎに送信する（ステップＳ５４）。次いで、ＣＰＵ３０４は、自ノードの上流ノードから受信しているコンテンツデータの、要求元のノードに対する送信を開始すると（ステップＳ５５）、ステップＳ４１に移行する。
【００９２】
一方、ステップＳ５６に移行したＣＰＵ３０４は、自ノードの上流ノードとの接続を切断し（ステップＳ５６）、当該上流ノードのネットワークアドレス情報を含む上流ノード接続指示メッセージを要求元のノードＮｎに送信すると（ステップＳ５７）、再接続を開始し（ステップＳ５９）、上流ノード候補の問い合わせを行う（ステップＳ２６）。
【００９３】
他方、ステップＳ５８に移行したＣＰＵ３０４は、何らかの原因で上流ノードとの接続が切断されたか否かを判定する。このときＣＰＵ３０４は、上流ノードとの接続が切断された場合には（ステップＳ５８：ＮＯ）、再接続を開始し（ステップＳ５９）、上流ノードとの接続が切断されていない場合には（ステップＳ５８：ＮＯ）、現在接続しているトポロジーからの離脱命令を利用者から受けたか否かを判定する（ステップＳ６０）。このとき、ＣＰＵ３０４は、離脱命令を受けた場合には（ステップＳ６０：ＹＥＳ）、ステップＳ６１に移行し、離脱命令を受けていない場合には（ステップＳ６０：ＮＯ）、ステップＳ４１に移行する。
【００９４】
ステップＳ６１に移行したＣＰＵ３０４は、自ノードの上流ノード及び下流ノードの全てのノードＮｎとの接続を切断し（ステップＳ６１）、接続先紹介サーバ２０に離脱通知メッセージを送信すると（ステップＳ６２）、ステップＳ２３に移行する。
【００９５】
図１２（Ａ）は、ノードＮｎにおけるＣＰＵ３０４により実行される帯域測定処理の一例を示すフローチャートである。また、図１２（Ｂ）は、帯域測定処理の他の例を示すフローチャートであり、同図において、図１２（Ａ）と同様の要素については同様の符号を付してある。また、図１２（Ａ）は、帯域測定を１回のみ行う場合の例であり、図１２（Ｂ）は、帯域測定を複数回行う場合の例である。
【００９６】
図１２（Ａ）の例において、ＣＰＵ３０４は、接続先紹介サーバ２０から帯域測定サーバノードの候補を取得する（ステップＳ７１）。具体的に、ＣＰＵ３０４は、帯域測定サーバノード紹介要求メッセージを接続先紹介サーバ２０に送信し、これに応じて接続先紹介サーバ２０から送信されてきた帯域測定サーバノード候補紹介メッセージを受信する。
【００９７】
次いで、ＣＰＵ３０４は、こうして取得した帯域測定サーバノード候補の中から帯域測定サーバノードとして接続する一つのノードＮｎを帯域測定サーバノードとして選択する（ステップＳ７２）。次いで、ＣＰＵ３０４は、選択した帯域測定サーバノードのネットワークアドレス情報等を帯域測定サーバノード候補紹介メッセージから取得すると、当該情報に基づいて、当該ノードＮｎに接続する（ステップＳ７３）。次いで、ＣＰＵ３０４は、帯域測定要求メッセージを帯域測定サーバノードに送信し（ステップＳ７４）、これに応じて当該ノードから送信されてきた測定許可応答メッセージを受信すると（ステップＳ７５）、帯域測定用データを帯域測定サーバノードに送信する（ステップＳ７６）。
【００９８】
次いで、ＣＰＵ３０４は、帯域測定サーバノードから測定結果メッセージを受信したか否かを判定し（ステップＳ７７）、当該メッセージを受信していない場合には（ステップＳ７７：ＮＯ）、帯域測定用データの送信を継続し（ステップＳ７６）、当該メッセージを受信した場合には（ステップ７７：ＹＥＳ）、当該測定結果メッセージに設定されている測定結果を含む自ノード情報を主記憶装置３０２に保存して（ステップＳ７８）、帯域測定処理を終了させる。
【００９９】
一方、図１２（Ｂ）の例において  ＣＰＵ３０４は、図１２（Ａ）と同様にステップＳ７１〜Ｓ７７を実行すると、測定結果メッセージに設定されている測定結果を一時的に主記憶装置３０２に保存する（ステップＳ７９）、次いで、ＣＰＵ３０４は、帯域測定が所定回数実行されたか否かを判定し（ステップＳ８０）、未だ所定回数実行されていない場合には（ステップＳ８０：ＮＯ）、ステップＳ７２に移行する。
【０１００】
そして、ＣＰＵ３０４は、帯域測定の回数が所定回数に達すると（ステップＳ８０：ＹＥＳ）、複数回実行された帯域測定の結果を統合する（ステップＳ８１）、具体的に、ＣＰＵ３０４は、各測定結果としてのビットレートの平均値を算出して、統合した測定結果とする。次いで、ＣＰＵ３０４は、統合した測定結果を含む自ノード情報を主記憶装置３０２に保存して（ステップＳ８２）、帯域測定処理を終了させる。
【０１０１】
なお、上記説明した帯域測定処理では、一度に一つの帯域測定サーバノードが選択されるようにしていたが、一度に複数の帯域測定サーバノードが選択されるようにしても良い。この場合において、ＣＰＵ３０４は、例えば、選択した複数の帯域測定サーバノードに対して一斉に帯域測定用データを送信し、当該複数の帯域測定サーバノードから送信されてきた測定結果メッセージに含まれるビットレートを合算して、測定結果を統合すれば良い。
【０１０２】
以上説明したように、本実施形態によれば、接続先紹介サーバ２０のＣＰＵ２０４が、ツリー型放送システムＳに参加してコンテンツデータを受信する各ノードＮｎから当該コンテンツデータの受信品質を取得し、ハードディスク装置２０３に記憶される視聴ノードテーブルに、取得先のノードＮｎと対応付けて受信品質を設定し、新たにトポロジーへ参加するノードＮｎから帯域測定サーバ紹介要求メッセージを受信し、視聴ノードテーブルに設定された受信品質が良いノードＮｎの中から少なくとも一つを帯域測定サーバノード候補として選定し、選定した帯域測定サーバノード候補のネットワークアドレス情報を含む帯域測定サーバノード候補紹介メッセージを、要求元のノードＮｎに送信する。これにより、帯域測定サーバノード候補紹介メッセージを受信したノードＮｎは、当該帯域測定サーバノード候補紹介メッセージが示す帯域測定サーバノードのうち少なくとも一つを帯域測定サーバノードとして測定用データを送信し、帯域測定サーバノードが当該測定用データを受信する際の転送効率に基づいて、新たにトポロジーへ参加するノードＮｎの上り帯域が測定される。
【０１０３】
従って、帯域測定用のサーバ装置の代わりとなる帯域測定サーバノードが、ツリー型放送システムＳに参加している複数のノードＮｎの中から選定されるので、ツリー型放送システムＳに参加するノードＮｎの上り帯域の測定に伴う負荷を分散させるができ、また、受信品質が上り帯域の測定に適しているノードＮｎが選定されるので、測定精度を高めることができる。
【０１０４】
また、接続先紹介サーバ２０のＣＰＵ２０４が、ハードディスク装置２０３に記憶される帯域測定サーバノードテーブル上において、選定した帯域測定サーバノード候補の紹介日時に現在日時を設定し、帯域測定サーバノード候補を選定する際、過去に選定していないノードＮｎを優先して選定し、過去に選定したノードＮｎから選定する場合には、帯域測定サーバノードテーブルに設定された紹介日時が最古のノードＮｎを優先して選定するので、受信品質が上り帯域の測定に適している各ノードＮｎが、帯域測定サーバノードとしてまんべんなく紹介されるので、測定に伴う各ノードＮｎの負荷を効果的に分散させることができる。
【０１０５】
また、ツリー型放送システムＳは、上り帯域がコンテンツデータの中継に適しているノードＮｎが優先して当該コンテンツデータを中継するノードＮｎとなるよう、複数のノードＮｎが接続されるものであって、接続先紹介サーバ２０のＣＰＵ２０４が、トポロジー上において、受信品質が測定に適しているノードＮｎの中からより上位階層のノードＮｎを優先して帯域測定サーバノード候補として選定するように構成することで、上り帯域の測定を安定して行うことができ、測定精度をより高めることができる。
【図面の簡単な説明】
【０１０６】
【図１】一実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】一実施形態において、ノードＮ１３がツリー型放送システムＳへの参加する際の様子を示した概念図である。
【図３】一実施形態において、ノードＮ１３がツリー型放送システムＳへの参加する際の様子を示した概念図である。
【図４】一実施形態において、接続の要求を受けたノードＮｎがコンテンツデータの中継に適していない場合に、当該ノードＮｎの再接続と、接続を要求したノードＮｎの接続の様子を示した概念図である。
【図５】一実施形態に係る放送局１０の概要構成例を示す図である。
【図６】一実施形態に係る接続先紹介サーバ２０の概要構成例を示す図である。
【図７】一実施形態に係る接続先紹介サーバ２０のハードディスク装置２０３に記憶されるテーブルに登録される内容の例を示す図であり、（Ａ）は、視聴ノードテーブルであり、（Ｂ）は、帯域測定サーバノードテーブルである。
【図８】一実施形態に係るノードＮｎの概要構成例を示す図である。
【図９】一実施形態に係る接続先紹介サーバ２０におけるＣＰＵ２０４により実行される処理を示すフローチャートである。
【図１０】一実施形態に係るノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１１】一実施形態に係るノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１２】一実施形態に係るノードＮｎにおけるＣＰＵ３０４により実行される帯域測定処理の一例を示すフローチャートである。（Ｂ）は、帯域測定処理の他の例を示すフローチャートである。
【符号の説明】
【０１０７】
８  ネットワーク
９  オーバーレイネットワーク
１０  放送局
２０  接続先紹介サーバ
１０１，２０１，３０１  主電源
１０２，２０２，３０２  主記憶装置
１０３，２０３，３０３  ハードディスク装置
１０４，２０４，３０４  ＣＰＵ
１０５，２０５，３０５  ネットワークインタフェース
１０６，２０６，３０６  周辺機器制御チップ
１０７，２０７，３０７  ビデオチップ
１０８，３０８  音源チップ
１０９，２０８，３０９  キーボード
１１０，２０９，３１０  マウス
１１１，２１０，３１１  ディスプレイ
１１２，３１２  内蔵スピーカ
１１３，２１１，３１３  システムバス
１１４，２１２，３１４  ルータ
Ｎｎ  ノード
Ｓ  ツリー型放送システム
【図１】
2010109553.tif 000003
【図２】
2010109553.tif 000004
【図３】
2010109553.tif 000005
【図４】
2010109553.tif 000006
【図５】
2010109553.tif 000007
【図６】
2010109553.tif 000008
【図７】
2010109553.tif 000009
【図８】
2010109553.tif 000010
【図９】
2010109553.tif 000011
【図１０】
2010109553.tif 000012
【図１１】
2010109553.tif 000013
【図１２】
2010109553.tif 000014