(57)【要約】【課題】階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させる。【解決手段】接続管理装置は、コンテンツ配信装置を頂点として、そのコンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、第一の階層構造において上層に接続される第一の上層端末装置と、第二の階層構造において上層に接続される第二の上層端末装置と、を、第一の階層構造におけるコンテンツ配信装置からの階層数と第二の階層構造におけるコンテンツ配信装置からの階層数とが同じとなるように接続先候補として選択する。端末装置は、接続先候補として選択された第一の上層端末装置と第二の上層端末装置とに接続する。【選択図】図３
2008219097.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムにおいて、
前記接続管理装置は、
前記コンテンツ配信装置を頂点として、前記ネットワーク上において階層構造で多層に接続された前記複数の端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記接続状態情報記憶手段によって記憶された前記接続状態情報に基づいて、前記コンテンツ配信装置を頂点として、複数の端末装置が前記ネットワーク上において階層構造で多層に接続されるように接続先候補を選択する接続先候補選択手段と、
前記接続先候補選択手段によって選択された接続先候補を端末装置へ通知する接続先候補通知手段と、を有し、
前記端末装置は、
前記接続先候補通知手段によって通知された接続先候補を受信する接続先候補受信手段と、
前記接続先候補受信手段によって受信された接続先候補に接続する接続手段と、
前記接続手段によって上層に接続された前記コンテンツ配信装置又は他の上層端末装置から前記コンテンツデータを受信するコンテンツ受信手段と、
前記コンテンツ受信手段によって受信されたコンテンツデータを、前記接続手段によって下層に接続された他の下層端末装置へ中継する制御を行うコンテンツデータ中継制御手段と、を有し、
前記接続管理装置の前記接続先候補選択手段は、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続先候補として選択する機能を有し、
前記端末装置の前記接続手段は、前記接続先候補選択手段によって前記接続先候補として選択された前記第一の上層端末装置と前記第二の上層端末装置とに接続する機能を有することを特徴とするコンテンツデータ配信システム。
【請求項２】
ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムにおける前記接続管理装置において、
前記コンテンツ配信装置を頂点として、前記ネットワーク上において階層構造で多層に接続された前記複数の端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記接続状態情報記憶手段によって記憶された前記接続状態情報に基づいて、前記コンテンツ配信装置を頂点として、複数の端末装置が前記ネットワーク上において階層構造で多層に接続されるように接続先候補を選択する接続先候補選択手段と、
前記接続先候補選択手段によって選択された接続先候補を端末装置へ通知する接続先候補通知手段と、を有し、
前記接続先候補選択手段は、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続先候補として選択する機能を有することを特徴とする接続管理装置。
【請求項３】
前記第一の階層構造と前記第二の階層構造とから端末装置が脱退したか否かを判定する端末装置脱退判定手段を有し、
前記接続先候補選択手段は、前記第一の階層構造と前記第二の階層構造との両者から端末装置が脱退したと前記端末装置脱退判定手段によって判定された場合には、当該脱退した端末装置の上層に以前に接続されていた第一の上層端末装置と第二の上層端末装置とを、下層に接続されていない他の端末装置の接続先候補として選択し、当該脱退した端末装置の下層に接続されていた下層端末装置の接続先候補として当該他の端末装置を選択する機能を有することを特徴とする請求項２に記載の接続管理装置。
【請求項４】
前記接続先候補選択手段は、前記第一の階層構造と前記第二の階層構造との両者から端末装置が脱退したのではなく、前記第一の階層構造と前記第二の階層構造とのいずれか一方で、一組の上層端末装置と下層端末装置との接続が切れたと前記端末装置脱退判定手段によって判定された場合には、当該下層端末装置の再接続候補として、当該接続が切れた上層端末装置を選択する機能を有することを特徴とする請求項３に記載の接続管理装置。
【請求項５】
前記端末装置脱退判定手段は、前記複数の端末装置の各々から、前記第一の階層構造において上層に接続されている第一の上層端末装置と、前記第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対する接続が切断されたと検知された結果の通知に基づいて、前記第一の階層構造と前記第二の階層構造とから端末装置が脱退したか否かを判定する機能を有することを特徴とする請求項２から４のいずれかに記載の接続管理装置。
【請求項６】
ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムコンテンツデータ配信システムにおける前記端末装置において、
前記接続管理装置によって通知された接続先候補に接続する接続手段と、
前記接続手段によって上層に接続された前記コンテンツ配信装置又は他の上層端末装置から前記コンテンツデータを受信するコンテンツ受信手段と、
前記コンテンツ受信手段によって受信されたコンテンツデータを、前記接続手段によって下層に接続された他の下層端末装置へ中継する制御を行うコンテンツデータ中継制御手段と、を有し、
前記接続手段は、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続管理装置が接続先候補として選択した場合に、当該接続先候補として選択された前記第一の上層端末装置と前記第二の上層端末装置とに接続する機能を有することを特徴とする端末装置。
【請求項７】
前記第一の階層構造において上層に接続されている第一の上層端末装置と、前記第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対する接続が切断されたか否かを検知する接続切断検知手段と、
前記接続切断検知手段によって接続が切断されたと検知された場合には、検知結果を前記接続管理装置に通知する接続切断通知手段と、を有し、
前記接続管理装置が前記接続切断通知手段による通知に基づいて、前記第一の階層構造と前記第二の階層構造とから端末装置が脱退したか否かを判定することを特徴とする請求項６に記載の端末装置。
【請求項８】
前記第一の階層構造と前記第二の階層構造とから脱退する場合において、前記第一の階層構造において上層に接続されている第一の上層端末装置と、前記第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対して、脱退する旨の通知を行う脱退通知手段と、
前記脱退通知手段による脱退の通知を受信する脱退通知受信手段と、を有し、
前記接続切断検知手段は、前記脱退通知受信手段によって脱退の通知が受信された場合に、接続が切断されたと検知する機能を有することを特徴とする請求項７に記載の端末装置。
【請求項９】
コンピュータを、請求項２から５のいずれかに記載の接続管理装置における各手段として機能させるためのプログラム。
【請求項１０】
コンピュータを、請求項６から８のいずれかに記載の端末装置における各手段として機能させるためのプログラム。
【請求項１１】
ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムにおけるコンテンツ配信方法において、
前記接続管理装置が、前記コンテンツ配信装置を頂点として、前記ネットワーク上において階層構造で多層に接続された前記複数の端末装置の接続状態情報を記憶する接続状態情報記憶ステップと、
前記接続管理装置が、前記接続状態情報記憶ステップによって記憶された前記接続状態情報に基づいて、前記コンテンツ配信装置を頂点として、複数の端末装置が前記ネットワーク上において階層構造で多層に接続されるように接続先候補を選択する接続先候補選択ステップと、
前記接続管理装置が、前記接続先候補選択ステップによって選択された接続先候補を端末装置へ通知する接続先候補通知ステップと、
前記端末装置が、前記接続先候補通知ステップによって通知された接続先候補を受信する接続先候補受信ステップと、
前記端末装置が、前記接続先候補受信ステップによって受信された接続先候補に接続する接続ステップと、
前記端末装置が、前記接続ステップによって上層に接続された前記コンテンツ配信装置又は他の上層端末装置から前記コンテンツデータを受信するコンテンツ受信ステップと、
前記端末装置が、前記コンテンツ受信ステップによって受信されたコンテンツデータを、前記接続ステップによって下層に接続された他の下層端末装置へ中継する制御を行うコンテンツデータ中継制御ステップと、
前記接続先候補選択ステップは、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続先候補として選択するステップと、
前記接続ステップは、前記接続先候補選択ステップによって前記接続先候補として選択された前記第一の上層端末装置と前記第二の上層端末装置とに接続するステップと、を有することを特徴とするコンテンツデータ配信システムにおけるコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信システム、接続管理装置、端末装置及びコンテンツ配信方法並びにそれに用いるプログラムに関するものであり、特に、コンテンツ配信装置を頂点としてネットワーク上において階層構造で多層に接続し、コンテンツデータを配信するコンテンツ配信システム、接続管理装置、端末装置及びコンテンツ配信方法並びにそれに用いるプログラムに関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツデータ（以下、「コンテンツ」ともいう。）のストリーミング配信を行うコンテンツ配信サービスが開始され始めている。
【０００３】
このようなコンテンツ配信サービスは、配信サーバを頂点として、階層構造で多層に複数のクライアント端末装置が接続された状態において、コンテンツの配信を行うものがある。また、このようなコンテンツ配信サービスにおいては、接続管理サーバが配設されており、配信サーバやクライアント端末装置の接続状態を管理する。具体的には、例えば、特許文献１に示すように、ユーザの操作に応じた場合や接続が切断された場合など、コンテンツチャンネルを変更させる場合において、端末装置から接続管理サーバに対して接続先候補を要求し、接続管理サーバが接続先候補を選択し、通知することによって、要求した端末装置において、接続可能な配信サーバや他の端末装置が認識できるようになる。
【特許文献１】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したコンテンツ配信システムにおいては、上層に接続されたクライアント端末装置が脱退した場合など、コンテンツデータの配信が途切れることにより、コンテンツの配信が不安定となるおそれがあるため、コンテンツの配信の安定化を図る必要があった。
【０００５】
そこで、同じコンテンツデータの配信を行う第一の階層構造と第二の階層構造とを構築し、コンテンツを配信するための経路を二重化することが考えられている。この場合においては、あるクライアント端末装置の上層に、第一の階層構造としての第一のクライアント端末装置と、第二の階層構造としての第二のクライアント端末装置と、が接続され、一方の経路が切断された場合であっても、他方の経路から同じコンテンツデータを受信することができることとなる。
【０００６】
しかし、一方の経路が切断され、他方の経路からコンテンツデータを受信する場合であっても、第一の階層構造と第二の階層構造とに跨ってクライアント端末装置がループ状に接続されるおそれがあり、この場合においては、下流に中継するコンテンツデータがこのループの中を回り続けることになり、コンテンツデータの中継ができなくなる。
【０００７】
そこで、本発明は、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができるコンテンツ配信システム、接続管理装置、端末装置及びコンテンツ配信方法並びにそれに用いるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムにおいて、前記接続管理装置は、前記コンテンツ配信装置を頂点として、前記ネットワーク上において階層構造で多層に接続された前記複数の端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記接続状態情報記憶手段によって記憶された前記接続状態情報に基づいて、前記コンテンツ配信装置を頂点として、複数の端末装置が前記ネットワーク上において階層構造で多層に接続されるように接続先候補を選択する接続先候補選択手段と、前記接続先候補選択手段によって選択された接続先候補を端末装置へ通知する接続先候補通知手段と、を有し、前記端末装置は、前記接続先候補通知手段によって通知された接続先候補を受信する接続先候補受信手段と、前記接続先候補受信手段によって受信された接続先候補に接続する接続手段と、前記接続手段によって上層に接続された前記コンテンツ配信装置又は他の上層端末装置から前記コンテンツデータを受信するコンテンツ受信手段と、前記コンテンツ受信手段によって受信されたコンテンツデータを、前記接続手段によって下層に接続された他の下層端末装置へ中継する制御を行うコンテンツデータ中継制御手段と、を有し、前記接続管理装置の前記接続先候補選択手段は、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続先候補として選択する機能を有し、前記端末装置の前記接続手段は、前記接続先候補選択手段によって前記接続先候補として選択された前記第一の上層端末装置と前記第二の上層端末装置とに接続する機能を有することを特徴とするものである。
【０００９】
また、請求項２に記載の発明は、ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムにおける前記接続管理装置において、前記コンテンツ配信装置を頂点として、前記ネットワーク上において階層構造で多層に接続された前記複数の端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記接続状態情報記憶手段によって記憶された前記接続状態情報に基づいて、前記コンテンツ配信装置を頂点として、複数の端末装置が前記ネットワーク上において階層構造で多層に接続されるように接続先候補を選択する接続先候補選択手段と、前記接続先候補選択手段によって選択された接続先候補を端末装置へ通知する接続先候補通知手段と、を有し、前記接続先候補選択手段は、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続先候補として選択する機能を有することを特徴とするものである。
【００１０】
また、請求項３に記載の発明は、請求項２に記載の発明において、前記第一の階層構造と前記第二の階層構造とから端末装置が脱退したか否かを判定する端末装置脱退判定手段を有し、前記接続先候補選択手段は、前記第一の階層構造と前記第二の階層構造との両者から端末装置が脱退したと前記端末装置脱退判定手段によって判定された場合には、当該脱退した端末装置の上層に以前に接続されていた第一の上層端末装置と第二の上層端末装置とを、下層に接続されていない他の端末装置の接続先候補として選択し、当該脱退した端末装置の下層に接続されていた下層端末装置の接続先候補として当該他の端末装置を選択する機能を有することを特徴とするものである。
【００１１】
また、請求項４に記載の発明は、請求項３に記載の発明において、前記接続先候補選択手段は、前記第一の階層構造と前記第二の階層構造との両者から端末装置が脱退したのではなく、前記第一の階層構造と前記第二の階層構造とのいずれか一方で、一組の上層端末装置と下層端末装置との接続が切れたと前記端末装置脱退判定手段によって判定された場合には、当該下層端末装置の再接続候補として、当該接続が切れた上層端末装置を選択する機能を有することを特徴とするものである。
【００１２】
また、請求項５に記載の発明は、請求項２から４のいずれかに記載の発明において、前記端末装置脱退判定手段は、前記複数の端末装置の各々から、前記第一の階層構造において上層に接続されている第一の上層端末装置と、前記第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対する接続が切断されたと検知された結果の通知に基づいて、前記第一の階層構造と前記第二の階層構造とから端末装置が脱退したか否かを判定する機能を有することを特徴とするものである。
【００１３】
また、請求項６に記載の発明は、ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムコンテンツデータ配信システムにおける前記端末装置において、前記接続管理装置によって通知された接続先候補に接続する接続手段と、前記接続手段によって上層に接続された前記コンテンツ配信装置又は他の上層端末装置から前記コンテンツデータを受信するコンテンツ受信手段と、前記コンテンツ受信手段によって受信されたコンテンツデータを、前記接続手段によって下層に接続された他の下層端末装置へ中継する制御を行うコンテンツデータ中継制御手段と、を有し、前記接続手段は、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続管理装置が接続先候補として選択した場合に、当該接続先候補として選択された前記第一の上層端末装置と前記第二の上層端末装置とに接続する機能を有することを特徴とするものである。
【００１４】
また、請求項７に記載の発明は、請求項６に記載の発明において、前記第一の階層構造において上層に接続されている第一の上層端末装置と、前記第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対する接続が切断されたか否かを検知する接続切断検知手段と、前記接続切断検知手段によって接続が切断されたと検知された場合には、検知結果を前記接続管理装置に通知する接続切断通知手段と、を有し、前記接続管理装置が前記接続切断通知手段による通知に基づいて、前記第一の階層構造と前記第二の階層構造とから端末装置が脱退したか否かを判定することを特徴とするものである。
【００１５】
また、請求項８に記載の発明は、請求項７に記載の発明において、前記第一の階層構造と前記第二の階層構造とから脱退する場合において、前記第一の階層構造において上層に接続されている第一の上層端末装置と、前記第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対して、脱退する旨の通知を行う脱退通知手段と、前記脱退通知手段による脱退の通知を受信する脱退通知受信手段と、を有し、前記接続切断検知手段は、前記脱退通知受信手段によって脱退の通知が受信された場合に、接続が切断されたと検知する機能を有することを特徴とするものである。
【００１６】
また、請求項９に記載の発明は、コンピュータを、請求項２から５のいずれかに記載の接続管理装置における各手段として機能させるためのプログラムである。
【００１７】
また、請求項１０に記載の発明は、コンピュータを、請求項６から８のいずれかに記載の端末装置における各手段として機能させるためのプログラムである。
【００１８】
また、請求項１１に記載の発明は、ネットワークを介してコンテンツデータを配信するコンテンツ配信装置と、前記コンテンツ配信装置を頂点として、複数のコンテンツチャンネル毎に、前記ネットワーク上において階層構造で多層に接続して前記ネットワークを介して前記コンテンツデータを受信及び再生する複数の端末装置と、前記コンテンツ配信装置及び前記複数の端末装置の前記ネットワーク上における接続状態を管理する接続管理装置と、を備えたコンテンツデータ配信システムにおけるコンテンツ配信方法において、前記接続管理装置が、前記コンテンツ配信装置を頂点として、前記ネットワーク上において階層構造で多層に接続された前記複数の端末装置の接続状態情報を記憶する接続状態情報記憶ステップと、前記接続管理装置が、前記接続状態情報記憶ステップによって記憶された前記接続状態情報に基づいて、前記コンテンツ配信装置を頂点として、複数の端末装置が前記ネットワーク上において階層構造で多層に接続されるように接続先候補を選択する接続先候補選択ステップと、前記接続管理装置が、前記接続先候補選択ステップによって選択された接続先候補を端末装置へ通知する接続先候補通知ステップと、前記端末装置が、前記接続先候補通知ステップによって通知された接続先候補を受信する接続先候補受信ステップと、前記端末装置が、前記接続先候補受信ステップによって受信された接続先候補に接続する接続ステップと、前記端末装置が、前記接続ステップによって上層に接続された前記コンテンツ配信装置又は他の上層端末装置から前記コンテンツデータを受信するコンテンツ受信ステップと、前記端末装置が、前記コンテンツ受信ステップによって受信されたコンテンツデータを、前記接続ステップによって下層に接続された他の下層端末装置へ中継する制御を行うコンテンツデータ中継制御ステップと、前記接続先候補選択ステップは、前記コンテンツ配信装置を頂点として、当該コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、当該第一の階層構造において上層に接続される第一の上層端末装置と、当該第二の階層構造において上層に接続される第二の上層端末装置と、を、前記第一の階層構造における前記コンテンツ配信装置からの階層数と前記第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように前記接続先候補として選択するステップと、前記接続ステップは、前記接続先候補選択ステップによって前記接続先候補として選択された前記第一の上層端末装置と前記第二の上層端末装置とに接続するステップと、を有することを特徴とするものである。
【発明の効果】
【００１９】
請求項１、２、６、９から１１のいずれかの発明によれば、コンテンツ配信装置から同じコンテンツデータが配信可能な第一の階層構造と第二の階層構造とのうち、第一の階層構造において上層に接続される第一の上層端末装置と、第二の階層構造において上層に接続される第二の上層端末装置と、を、第一の階層構造におけるコンテンツ配信装置からの階層数と第二の階層構造における前記コンテンツ配信装置からの階層数とが同じとなるように接続先候補として選択し、それら接続先候補として選択された第一の上層端末装置と第二の上層端末装置とに接続する。従って、第一の階層構造においても第二の階層構造においても同じ階層数に端末装置が接続されることとなるため、第一の階層構造、第二の階層構造における端末装置において、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができる。
【００２０】
また、請求項３の発明によれば、第一の階層構造と第二の階層構造との両者から端末装置が脱退したと判定された場合には、その脱退した端末装置の上層に以前に接続されていた第一の上層端末装置と第二の上層端末装置とを、下層に接続されていない他の端末装置の接続先候補として選択し、その脱退した端末装置の下層に接続されていた下層端末装置の接続先候補として他の端末装置を選択する。従って、階層構造からの脱退や本体電源のオフなどの要因により、第一の階層構造、第二の階層構造の両者において端末装置が脱退したと判定された場合には、下層に接続されていない他の端末装置を脱退した端末装置の代わりに配置し、脱退以前の接続状態のように上層、下層に接続させることによって、過剰に端末装置の接続の変更を行うことがなく、階層構造の安定化を向上させるとともに、端末装置の接続を効率よく行うことができる。
【００２１】
また、請求項４の発明によれば、第一の階層構造と第二の階層構造との両者から端末装置が脱退したのではなく、第一の階層構造と第二の階層構造とのいずれか一方で、一組の上層端末装置と下層端末装置との接続が切れたと判定された場合には、その下層端末装置の再接続候補として、接続が切れた上層端末装置を選択する。従って、階層構造からの脱退や本体電源のオフなどの要因ではなく、第一の階層構造と第二の階層構造とのいずれか一方における接続経路が切断された場合には、再度、接続を要求することとなり、端末装置の接続状態を無駄に変更させることなく、階層構造の安定化を向上させることができる。
【００２２】
また、請求項５又は７の発明によれば、第一の階層構造において上層に接続されている第一の上層端末装置と、第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対する接続が切断された場合には、検知結果に基づいて、第一の階層構造と第二の階層構造とから端末装置が脱退したか否かを判定する。従って、第一の階層構造、第二の階層構造における端末装置の接続状態が端末装置において検知されることとなり、端末装置の接続状態を効率よく検知することができる。
【００２３】
また、請求項８の発明によれば、第一の階層構造と第二の階層構造とから脱退する場合において、第一の階層構造において上層に接続されている第一の上層端末装置と、第二の階層構造において上層に接続されている第二の上層端末装置と、下層に接続されている下層端末装置とに対して、脱退する旨の通知を行い、その脱退の通知が受信された場合に、接続が切断されたと検知する。従って、第一の階層構造と第二の階層構造とから端末装置が脱退することを自ら認識可能な場合においては、その端末装置自体が上層に接続されている第一の上層端末装置と、第二の上層端末装置と、下層に接続されている下層端末装置とに対して、脱退する旨の通知を行うこととなり、より迅速に端末装置の接続状態を検知することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の最良の実施形態を図面に基づいて説明する。
【００２５】
［１．コンテンツ配信システムの構成等］
まず、図１から図６を参照して、コンテンツ配信システムＳの概要構成等について説明する。
【００２６】
図１は、本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。図１に示すように、本実施形態に係るコンテンツ配信システムＳは、インターネット９などのネットワークを介して、音楽、映画、トーク番組などコンテンツデータ（以下、「コンテンツ」ともいう。）の配信を行うコンテンツ配信サービスを行うシステムである。
【００２７】
このコンテンツ配信システムＳは、インターネット９等のネットワークを介してコンテンツデータを配信するコンテンツ配信装置１と、インターネット９等のネットワークを介してコンテンツデータの受信及び再生を行う複数の端末装置２と、コンテンツ配信装置１及び複数の端末装置２など各種装置のコンテンツ配信システムＳ上における接続状態を管理する接続管理装置３と、を含む構成である。
【００２８】
尚、本実施形態において、コンテンツ配信システムＳは、コンテンツ配信装置１を含むシステムであり、このコンテンツ配信装置１は、コンテンツデータをストリーミング配信することとなる。また、コンテンツ配信システムＳに、一体の装置としてコンテンツ配信装置１が配置されているが、これに限らず、複数体のコンテンツ配信装置１が配置されていてもよい。尚、便宜上、複数の端末装置の全てを符号２で表す場合がある。
【００２９】
コンテンツ配信装置１、端末装置２、接続管理装置３には、各々ＩＰアドレスが割り当てられており、これら装置は、ネットワークの一例としてのインターネット９にルータ１０等を介して接続されている。すなわち、目的の接続先端末装置のＩＰアドレスを宛先ＩＰアドレス、自装置のＩＰアドレスを送信元ＩＰアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
【００３０】
尚、本実施形態においては、コンテンツ配信装置１、接続管理装置３などを別体の装置として構成したが、これに限らず、例えば、接続管理装置３などをコンテンツ配信装置１の内部に有することとしてもよい。この場合には接続管理装置３にはＩＰアドレスは割り当てなくてもよく、コンテンツ配信装置１のＩＰアドレスと共用するようにしてもよい。また、例えば、コンテンツ配信装置１、接続管理装置３以外にも、別の機能を有する装置を含む構成であってもよい。
【００３１】
このコンテンツ配信システムＳは、図２（Ａ）に示すように、コンテンツ配信装置１を頂点として、複数のコンテンツチャンネル毎に階層構造で多層に接続される複数の端末装置２が接続を可能とするシステムである。また、接続管理装置３は、コンテンツ配信システムＳに参加していない端末装置２など、端末装置２から接続先紹介要求を受信すると、コンテンツ配信システムＳにおける接続状態等に基づいて、その端末装置２がストリーミング配信を受けるための上層に接続する接続先候補（コンテンツ配信装置１や他の端末装置２など）を選択する。そして、このように選択した接続先候補の所在情報（接続先候補のＩＰアドレスやポート番号など）及び通信プロトコル等を通知する。
【００３２】
尚、コンテンツ配信システムＳにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置２へのポート番号及び通信プロトコルは通知しなくてもよい。ここで、通信プロトコルとして、ＭＭＳ（Ｍｉｃｒｏｓｏｆｔ  Ｍｅｄｉａ  Ｓｅｒｖｅｒ）プロトコル、ＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）等が用いられる。また、コンテンツデータの形式として、ＡＳＦ（Ａｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ）、ＷＭＡ（Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ａｕｄｉｏ）、ＷＭＶ（Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏ）等が用いられる。
【００３３】
端末装置２は、接続管理装置３から接続先候補の所在情報を受信すると、そのＩＰアドレスの接続先候補に対して、コンテンツ配信システムＳへの参加（接続）を要求し、これにより端末装置２がコンテンツ配信システムＳに組み込まれる。すなわち、端末装置２はコンテンツ配信装置１から配信されるコンテンツデータを受信可能となる。
【００３４】
このコンテンツ配信システムＳは、このように端末装置２が参加することによって、コンテンツ配信装置１を頂点として複数の端末装置２が接続される。そして、コンテンツ配信装置１から配信されるコンテンツデータは、複数の端末装置２にストリーミング配信される。
【００３５】
このように端末装置２へ配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻の情報（以下、「再生時刻データ」という。）が含まれている。そして、コンテンツデータを受信した複数の端末装置２は、順次送信されるコンテンツデータの再生を再生時刻データに基づいて行うことが可能である。
【００３６】
このようにして、コンテンツ配信システムＳは、コンテンツ配信装置１から送信されたコンテンツデータが複数の端末装置２にストリーミング配信され、複数の端末装置２において同時刻にコンテンツを再生することができる。すなわち、Ｐ２Ｐを用いて複数の端末装置２への放送形式のストリーミング配信を実現している。
【００３７】
また、図２（Ｂ）に示すように、このコンテンツ配信システムＳは、同じコンテンツデータ（例えば、コンテンツチャンネル１のコンテンツデータなど）に対して、配信経路を二重化したシステムである。端末装置２は、ツリー１とツリー２とから同じコンテンツデータを受信し、ツリー１とツリー２とに対してコンテンツデータを中継することとなる。また、詳しくは後述するが、端末装置２が紹介される接続先候補としては、ツリー１とツリー２とで同じ階層数となるように端末装置の接続位置を決定することによって、接続の二重化を実現するとともに、端末装置の接続経路が複数のツリーを亘ってループする接続状態を防止することができる。尚、本実施形態においては、一方のツリー（例えば、ツリー１など）において上層に接続されている端末装置からコンテンツデータを受信し、他方のツリー（例えば、ツリー２など）からのコンテンツデータの送受信は行われず、一方のツリーにおける上層の端末装置との接続が途切れた場合には、他方のツリーにおいて上層に接続されている端末装置からコンテンツデータを受信することとなる。
【００３８】
本コンテンツ配信システム１における端末装置２等の接続状態について以下に説明する。図３（Ａ）に示すように、ツリー１及びツリー２における頂点にコンテンツ配信装置１（番号１）が配置されており、その下層には、階層構造で複数の端末装置２が多層に接続されている。また、これら複数の端末装置２の各々は、ツリー１とツリー２とにおいて、コンテンツ配信装置１からの階層数が同じとなる位置に接続されており、更に、上層に接続されている上層端末装置２としては、異なる装置となるように接続されている。具体的には、番号２及び３の端末装置２が第１層に、番号４から７の端末装置２が第２層に、番号８から１５の端末装置２が第３層に、それぞれ接続されている。
【００３９】
従来においては、図３（Ｂ）に示すように、複数の端末装置２の各々は、ツリー１とツリー２とにおいて、コンテンツ配信装置１からの階層数が同じとならないように接続される部分があった。具体的には、番号２、３、７、８、１３の端末装置２がツリー１とツリー２とで異なる階層数となるように接続されている。
【００４０】
このような接続状態では、ツリー２において番号３の端末装置２の上層には、番号４の端末装置２が接続されている。また、番号４の端末装置２は、ツリー２において、番号１３の端末装置からコンテンツデータを受信する。また、番号１３の端末装置２は、ツリー１において、番号６の端末装置からコンテンツデータを受信する。また、番号６の端末装置２は、ツリー２において、番号８の端末装置からコンテンツデータを受信する。また、番号８の端末装置２は、ツリー１において、番号３の端末装置からコンテンツデータを受信する。このように、番号３、番号８、番号６、番号１３、番号４というようにコンテンツデータが中継される接続状態である。
【００４１】
しかし、図３（Ｃ）に示すように、ツリー１における番号１のコンテンツ配信装置１から、その下層に接続されている番号３の端末装置２への接続が切断された場合には、番号３の端末装置２は、コンテンツデータの受信が不可能となるため、ツリー２における番号４の端末装置２からのコンテンツデータの受信を有効とするが、このとき、コンテンツデータの配信経路が、番号３、番号８、番号６、番号１３、番号４、番号３というように、ツリー１とツリー２に跨ったループとなる。このように、閉じた配信経路ができると、下流に中継するコンテンツデータがこのループの中を回り続けることになり、新しいコンテンツデータも受信できない。従って、ループ内の端末装置２ではコンテンツの再生及び中継ができなくなる。
【００４２】
そこで、図３（Ａ）に示すように、ツリー１において上層に接続される端末装置２と、ツリー２において上層に接続される端末装置２と、を、コンテンツ配信装置１からの階層数が同じとなるように接続することによって、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができる。
【００４３】
ここで、本実施形態における制御について具体的な一例を挙げると、図４に示すように、ツリー１及びツリー２において第一層に接続されている番号２の端末装置が、異なるコンテンツチャンネルに変更するために、接続されているコンテンツチャンネルのツリー１とツリー２とから脱退する場合には、ツリー１及びツリー２の上層及び下層に接続されている端末装置２等に脱退する旨の通知が行われる。これによって、ツリー１及びツリー２の上層及び下層に接続されている端末装置２等においては、番号２の端末装置２が脱退することが認識可能となる。また、番号２の端末装置２は、新たなコンテンツチャンネルの接続先の紹介を接続管理装置３に要求することとなる。これによって、接続管理装置３は、番号２の端末装置２がツリー１及びツリー２から脱退することが認識可能となる。そして、接続管理装置３は、番号２の端末装置２の代わりとなる代替端末装置として最下層の端末装置からいずれかを選択し（例えば、番号９の端末装置２）、その端末装置２に対して、番号２の端末装置２の代わりに接続させる旨の通知を行う。これによって、代替端末装置として選択された端末装置２が、ツリー１及びツリー２において、番号２の端末装置２の代わりに接続する。このように、番号２の端末装置２がこのコンテンツチャンネルから脱退する場合に、ツリー１及びツリー２において、下層に接続されていない他の端末装置２が代替端末装置として接続されるため、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができる。また、ツリーからの脱退や本体電源のオフなどの要因により、ツリー１、ツリー２の両者において端末装置が脱退したと判定された場合には、下層に接続されていない他の端末装置を、脱退した端末装置の代わりに配置し、脱退以前の接続状態のように上層、下層に接続させることによって、過剰に端末装置の接続の変更を行うことがなく、階層構造の安定化を向上させるとともに、端末装置の接続を効率よく行うことができる。
【００４４】
また、図５に示すように、ツリー１及びツリー２において第二層に接続されている番号５の端末装置２が、電源オフされたために、接続されているコンテンツチャンネルのツリー１とツリー２とから脱退（切断）された場合には、上述した図４とは異なり、番号５の端末装置２から脱退等の通知を行うことができない。このため、これら複数の端末装置２においては、ツリー１及びツリー２の上層及び下層に接続されている端末装置２の接続状態を所定のタイミングで検出し、端末装置との接続が切断された場合には、その切断された旨が接続管理装置３に対して通知される。これによって、接続管理装置３は、番号５の端末装置２がツリー１及びツリー２から脱退したことが認識可能となり、番号５の端末装置２の代わりとなる代替端末装置として最下層の端末装置からいずれかを選択し（例えば、番号９の端末装置２）、その端末装置２に対して、番号５の端末装置２の代わりに接続させる旨の通知を行う。これによって、代替端末装置として選択された端末装置２が、ツリー１及びツリー２において、番号５の端末装置２の代わりに接続する。このように、番号５の端末装置２が予告なく電源オフされた場合であっても、ツリー１及びツリー２において、下層に接続されていない他の端末装置２が代替端末装置として接続されるため、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができる。また、ツリーからの脱退や本体電源のオフなどの要因により、ツリー１、ツリー２の両者において端末装置が脱退したと判定された場合には、下層に接続されていない他の端末装置を、脱退した端末装置の代わりに配置し、脱退以前の接続状態のように上層、下層に接続させることによって、過剰に端末装置の接続の変更を行うことがなく、階層構造の安定化を向上させるとともに、端末装置の接続を効率よく行うことができる。
【００４５】
また、図６に示すように、ツリー１において第一層に接続されている番号２の端末装置２と第二層に接続されている番号５の端末装置２との接続が単に切断された場合には、その旨を検知した番号２の端末装置２と番号５の端末装置２とが、その間で接続が切断された旨が接続管理装置３に対して通知される。これによって、接続管理装置３は、ツリー１において、番号２の端末装置２と番号５の端末装置２との間の接続が切断され、ツリー２においては正常に接続されていることが認識可能となり、上述した図５とは異なり、番号５の端末装置２に対して、ツリー１における番号２の端末装置２に対して再接続を要求する旨が通知される。これによって、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができる。また、ツリーからの脱退や本体電源のオフなどの要因ではなく、ツリー１、ツリー２のいずれか一方における接続経路が切断された場合には、再度、接続を要求することとなり、端末装置の接続状態を無駄に変更させることなく、階層構造の安定化を向上させることができる。
【００４６】
［２．コンテンツ配信装置１の構成等の説明］
次に、図７を参照して、コンテンツ配信装置１の構成及び動作について説明する。
【００４７】
図７は、本実施形態におけるコンテンツ配信装置１の概略構成例を示す図である。コンテンツ配信装置１は、一般のサーバコンピュータを適用可能であり、図７に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置１０５と、各種データ等を記憶するハードディスク装置１０３と、インターネット９を介して端末装置２や接続管理装置３との間で通信を行うネットワークインタフェース１０４と、所定の情報を入力可能なキーボード１０７やマウス１０８等の入力手段を制御する周辺機器制御チップ１０６と、ＣＰＵ１０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ１１０に表示するビデオチップ１０９と、ビデオチップ１０９から送信される信号に応じた表示を行う内蔵ディスプレイ１１０と、ＦＭ音源（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ１１１と、音源チップ１１１から出力されるオーディオ信号を音波に変換する内蔵スピーカ１１２と、を備えて構成され、これらの各種構成要素はシステムバス１０１を介して相互に接続されている。
【００４８】
尚、ネットワークインタフェース１０４は、ルータ１０ａを介してインターネット９に接続される。このルータ１０ａは、図１に示すルータ１０に相当するものである。
【００４９】
尚、本実施形態においては、ＣＰＵ１０２と主記憶装置１０５とで制御部１３０を構成している。また、コンテンツ配信装置１には、上述のように内蔵ディスプレイ（液晶ディスプレイ等）１１０等が内蔵されており、例えば、コンテンツ配信システムＳを運用する放送運営者は、この内蔵ディスプレイ１１０を見ながら入力手段から所定の情報を入力することができる。尚、本実施形態においては、これら内蔵ディスプレイ１１０や内蔵スピーカ１１２などがコンテンツ配信装置１に内蔵されているが、これに限らず、例えば、別に接続されるものであってもよい。
【００５０】
（主記憶装置１０５ついて）
また、主記憶装置１０５には、コンテンツ配信装置１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）プログラム１１７と、ハードディスク装置１０３に記憶されたコンテンツデータを取り出して端末装置２へストリーミング配信するためのストリーム制御プログラム１１５と、下層に接続されている各端末装置２の所在情報（ＩＰアドレスやポート番号など）の管理等を行なうためのトポロジ管理プログラム１１６と、内蔵ディスプレイ１１０を制御するための画面制御プログラム１１８と、エンコードされたコンテンツデータをデコードするためのデコーダプログラム１１９と、ハードディスク装置１０３に記憶されている配信コンテンツデータ１１３から読み出したコンテンツデータを端末装置２へ送信する前に一時的に記憶するリングバッファ１２０等が記憶されており、これらはＣＰＵ１０２によって読み出され、ＣＰＵ１０２によってこれらのプログラムに従った機能が実行される。
【００５１】
ここで、ＯＳプログラム１１７は、ＣＰＵ１０２によって読み出されて実行されることにより、キーボード１０７やマウス１０８の入出力に関する機能や、主記憶装置１０５やハードディスク装置１０３どのメモリ管理などのコンテンツ配信装置１であるコンピュータの基本的な機能を実行可能にするものである。
【００５２】
そして、このＯＳプログラム１１７がＣＰＵ１０２によって実行された状態で、上述のストリーム制御プログラム１１５、トポロジ管理プログラム１１６、画面制御プログラム１１８、デコーダプログラム１１９と、が主記憶装置１０５から読み出されて実行される。
【００５３】
特に、本実施形態においては、主記憶装置１０５には、コンテンツデータの配信情報等を管理するコンテンツ管理プログラム１２１が記憶されており、これらはＣＰＵ１０２によって読み出され、ＣＰＵ１０２によってこれらのプログラムに従った機能が実行される。
【００５４】
そして、このＯＳプログラム１１７がＣＰＵ１０２によって実行された状態で、上述のコンテンツ管理プログラム１２１が主記憶装置１０５から読み出されて実行される。
【００５５】
尚、ＯＳプログラム１１７、ストリーム制御プログラム１１５、トポロジ管理プログラム１１６、画面制御プログラム１１８、デコーダプログラム１１９、コンテンツ管理プログラム１２１等は、例えば、インターネット９に接続されたサーバ等から主記憶装置１０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから当該記録媒体のドライブを介して、主記憶装置１０５に読み込まれるようにしてもよい。
【００５６】
（制御部１３０について）
制御部１３０は、上述のようにＣＰＵ１０２と主記憶装置１０５とから構成され、ＣＰＵ１０２が主記憶装置１０５に記憶された各種プログラム１１５から１１９及び１２１を読み出して実行することにより、コンテンツ配信装置１全体を統括制御し、かつ、後述するコンテンツデータ配信手段等として機能するようになっている。尚、ＣＰＵ１０２がストリーム制御プログラム１１５を実行することによって、コンテンツデータ配信手段等として、またＣＰＵ１０２がトポロジ管理プログラム１１６を実行することによって、トポロジ管理手段として、また、ＣＰＵ１０２が画面制御プログラム１１８を実行することによって、表示制御手段等として、ＣＰＵ１０２がデコーダプログラム１１９を実行することによって、再生手段として、ＣＰＵ１０２がコンテンツ管理プログラム１２１を実行することによって、配信コンテンツ管理手段として、それぞれ機能するようになっている。さらに、ハードディスク装置１０３は、コンテンツデータと、そのコンテンツデータに対応する配信時間とが記憶されたコンテンツデータ記憶手段として使用される。
【００５７】
（配信コンテンツ管理手段について）
配信コンテンツ管理手段は、ハードディスク装置１０３に記憶されているコンテンツデータや、そのコンテンツデータに対応する配信情報の管理を行う。
【００５８】
（コンテンツデータ配信手段について）
コンテンツデータ配信手段は、キーボード１０７などの入力手段によって、又は、設定された配信時間となったと判定されたことによって、ハードディスク装置１０３において記憶されている配信コンテンツデータ１１３から指定されたコンテンツデータを取り出し、ネットワークインタフェース１０４を介して、接続された端末装置２（例えば、ツリー型に接続された場合には最上階層端末装置）等にストリーミング配信する。
【００５９】
このコンテンツデータ配信手段による端末装置２等へのストリーミング配信は、以下の手順で実行される。
【００６０】
コンテンツデータ配信手段は、ハードディスク装置１０３に予め記憶されている配信コンテンツデータ１１３から、予め設定されたコンテンツに対応するコンテンツデータを順次取り出してリングバッファ１２０に記憶させる。
【００６１】
次に、コンテンツデータ配信手段は、リングバッファ１２０から取り出したコンテンツデータを、ストリーミング配信用のデータ形式、たとえばＡＳＦ、ＷＭＡ、ＷＭＶ等のデータ形式にエンコードする。
【００６２】
その後、コンテンツデータ配信手段は、接続された端末装置２等に対して、それぞれ対応するコンテンツデータを所定容量毎に分割しながらコンテンツパケットとし、ネットワークインタフェース１０４を介して、このコンテンツパケットを送信する。
【００６３】
また、本実施形態において、コンテンツデータ配信手段は、一体に形成されたコンテンツ配信装置１から複数のツリーに対して同じコンテンツデータを配信することとなるが、これに限らず、例えば、複数体に形成されたコンテンツ配信装置１のそれぞれが同期を取り、それぞれから複数のツリーのいずれかに対して同じコンテンツデータを配信する場合があってもよい。
【００６４】
（トポロジ管理手段）
コンテンツ配信装置１は、１つのコンテンツ配信装置１に１つのチャンネルを割り振られており、トポロジ管理手段は、割り振られたチャンネルに構成されるツリー状階層構造の第１階層に参加している端末装置２の所在情報（ＩＰアドレスやポート番号など）を管理している。そして、上述の配信手段はトポロジ管理手段が管理する端末装置２のＩＰアドレスを宛先アドレスとし、配信用ＩＰアドレスを送信元として端末装置２へコンテンツデータの配信を行なう。
【００６５】
（表示制御手段について）
表示制御手段は、ビデオチップ１０９及び内蔵ディスプレイ１１０を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ１１０にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【００６６】
（再生手段について）
再生手段は、配信コンテンツデータ１１３の中からコンテンツデータを内蔵ディスプレイ１１０に表示したり、内蔵スピーカ１１２から出力したりする機能を有している。
【００６７】
［３．端末装置２の構成等の説明］
次に、図８を参照して、端末装置２の構成及び動作について説明する。
【００６８】
図８は、本実施形態における端末装置２の概略構成例を示す図である。端末装置２は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、図８に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置２０５と、各種データ等を記憶するハードディスク装置２０３と、インターネット９を介してネットワーク上のコンテンツ配信装置１、接続管理装置３及び他の端末装置２との間で通信を行うためのネットワークインタフェース２０４と、ユーザによる端末装置２の遠隔操作が可能な所定の赤外線信号を送信及び受信するユーザ入力用リモコン２０８と、このユーザ入力用リモコン２０８と赤外線により通信を行なうための赤外線ポート２０７と、赤外線ポート２０７を制御する周辺機器制御チップ２０６と、ＣＰＵ２０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ２１０に表示するビデオチップ２０９と、ビデオチップ２０９から送信される信号に応じた表示を行う内蔵ディスプレイ２１０と、ＦＭ音源（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ２１１と、音源チップ２１１から出力されるオーディオ信号を音波に変換する内蔵スピーカ２１２とを備えて構成され、これらの各種構成要素はシステムバス２０１を介して相互に接続されている。
【００６９】
尚、本実施形態においては、ＣＰＵ２０２と主記憶装置２０５とで制御部２３０を構成している。また、ネットワークインタフェース２０４は、ルータ１０ｂを介して、インターネット９に接続されている。このルータ１０ｂは、図１に示すルータ１０に相当するものである。
【００７０】
上述したようなユーザ入力用リモコン２０８では、コンテンツ配信システムＳにおけるコンテンツの購入や、コンテンツリストの取得、コンテンツチャンネルの変更指示などの操作が可能である。
【００７１】
（主記憶装置２０５について）
また、主記憶装置２０５には、端末装置２のコンピュータとしての基本的な機能を提供するためのＯＳプログラム２１７と、コンテンツ配信装置１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下層の端末装置２へストリーミング送信するためのストリーム制御プログラム２１５と、ツリー接続された一層上層の端末装置２（或いはコンテンツ配信装置１）の所在情報（ＩＰアドレスやポート番号）とツリー接続された一層下層の端末装置２の所在情報の管理等を行なうためのトポロジ制御プログラム２１６と、内蔵ディスプレイ２１０を制御するための画面制御プログラム２１８と、上層の装置からストリーミング受信したコンテンツデータをデコードして再生するためのデコーダプログラム２１９と、ストリーミング受信したコンテンツデータを順次記憶すると共に、記憶したコンテンツデータのうち再生が終了したコンテンツデータ、及び、下層に接続している他の端末装置２が存在する場合にはその端末装置２への配信が終了したコンテンツデータを順次消去するリングバッファ２２０等が記憶されており、これらはＣＰＵ２０２によって読み出され、ＣＰＵ２０２によってこれらのプログラムに従った機能が実行される。
【００７２】
ここで、ＯＳプログラム２１７は、ＣＰＵ２０２によって読み出されて実行されることにより、ユーザ入力用リモコン２０８の入出力に関する機能や、主記憶装置２０５やハードディスク装置２０３などのメモリ管理などの端末装置２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム２１７がＣＰＵ２０２によって実行された状態で、上述のストリーム制御プログラム２１５、トポロジ制御プログラム２１６、画面制御プログラム２１８、デコーダプログラム２１９等が主記憶装置２０５から読み出されて実行される。
【００７３】
特に、本実施形態においては、主記憶装置２０５には、接続していた端末装置等の接続状態の検知に関する制御を行う接続状態検知プログラム２２１、コンテンツチャンネルの変更を行うコンテンツ変更プログラム２２２が記憶されており、これらはＣＰＵ２０２によって読み出され、ＣＰＵ２０２によってこれらのプログラムに従った機能が実行される。
【００７４】
そして、このＯＳプログラム２１７がＣＰＵ２０２によって実行された状態で、上述の接続状態検知プログラム２２１、コンテンツ変更プログラム２２２が主記憶装置２０５から読み出されて実行される。
【００７５】
尚、ＯＳプログラム２１７、ストリーム制御プログラム２１５、トポロジ制御プログラム２１６、画面制御プログラム２１８、デコーダプログラム２１９、接続状態検知プログラム２２１、コンテンツ変更プログラム２２２等は、例えば、インターネット９に接続されたサーバ等から主記憶装置２０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、主記憶装置２０５に読み込まれるようにしてもよい。
【００７６】
（制御部２３０について）
制御部２３０は、上述のようにＣＰＵ２０２と主記憶装置２０５とから構成され、ＣＰＵ２０２が主記憶装置２０５に記憶された各種プログラム２１５から２１９，２２１，２２２を読み出して実行することにより、端末装置２全体を統括制御し、かつ、後述するコンテンツ受信手段、コンテンツデータ中継制御手段、接続先候補要求手段、接続先候補受信手段、接続手段、表示制御手段、再生手段、接続切断検知手段、接続切断通知手段、コンテンツチャンネル変更判定手段、脱退通知手段、脱退通知受信手段等として機能するようになっている。
【００７７】
尚、ＣＰＵ２０２がストリーム制御プログラム２１５を実行することによってコンテンツ受信手段、コンテンツデータ中継制御手段として、またＣＰＵ２０２がトポロジ制御プログラム２１６を実行することによって、接続先候補要求手段、接続先候補受信手段、接続手段等として、またＣＰＵ２０２が画面制御プログラム２１８を実行することによって表示制御手段等として、さらにＣＰＵ２０２がデコーダプログラム２１９を実行することによって再生手段等として、さらにＣＰＵ２０２が接続状態検知プログラム２２１を実行することによって、接続切断検知手段、接続切断通知手段、脱退通知受信手段等として、さらにＣＰＵ２０２がコンテンツ変更プログラム２２２を実行することによって、コンテンツチャンネル変更判定手段、脱退通知手段等として、それぞれ機能するようになっている。
【００７８】
（コンテンツチャンネル変更判定手段について）
コンテンツチャンネル変更判定手段は、コンテンツチャンネルを変更させる変更指示が行われたか否かを判定することとなる。
【００７９】
（脱退通知手段、脱退通知受信手段について）
脱退通知手段は、ツリー１（第一の階層構造）とツリー２（第二の階層構造）とから脱退する場合において、ツリー１において上層に接続されている端末装置２（第一の上層端末装置）と、ツリー２において上層に接続されている端末装置２（第二の上層端末装置）と、下層に接続されている下層端末装置とに対して、脱退する旨の通知を行うこととなる。また、脱退通知受信手段は、脱退の通知を受信する。
【００８０】
（接続切断検知手段、接続切断通知手段について）
接続切断検知手段は、ツリー１において上層に接続されている端末装置２と、ツリー２において上層に接続されている端末装置２と、下層に接続されている下層端末装置とに対する接続が切断されたか否かを検知することとなる。また、接続切断検知手段は、脱退の通知が受信された場合に、接続が切断されたと検知する。接続切断通知手段は、接続が切断されたと検知された場合には、検知結果を接続管理装置３に通知する。
【００８１】
（接続先紹介要求手段について）
接続先紹介要求手段は、端末装置２をコンテンツ配信システムＳへ参加させるために、又は、端末装置２が接続されているコンテンツチャンネルを変更させるために、ユーザによるユーザ入力用リモコン２０８の購入操作や、コンテンツチャンネルの変更指示操作（選択操作）などに対応して、コンテンツデータの受信のための接続先紹介要求を接続管理装置３に送信する。
【００８２】
（接続先候補受信手段、接続手段について）
接続先候補受信手段は、接続先紹介要求に対応する接続先候補を接続管理装置３から受信する。特に、この接続先候補受信手段は、コンテンツチャンネルの変更指示があった場合には、そのコンテンツチャンネルに対応する接続先候補を接続管理装置３から受信することとなる。接続手段は、コンテンツ配信装置又は他の端末装置など、上述した接続先候補受信手段によって受信された接続先候補にネットワークを介して接続することとなる。特に、接続手段は、接続先候補として選択され、通知されたツリー１における上層の端末装置（第一の上層端末装置）と、ツリー２における上層の端末装置（第二の上層端末装置）とに接続する
【００８３】
（コンテンツ受信手段について）
コンテンツ受信手段は、ネットワークインタフェース２０４を介してコンテンツ配信装置１又は上層に接続された端末装置２からコンテンツデータを受信する。
【００８４】
（再生手段について）
再生手段は、ネットワークインタフェース２０４によってストリーミング受信したコンテンツデータをリングバッファ２２０に順次記憶し、順次再生する機能を有している。
【００８５】
この再生手段は、音源チップ２１１やビデオチップ２０９を動作させることによってこの機能を実現しており、リングバッファ２２０に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式（たとえば、Ｗａｖｅ形式）に変換して音源チップ２１１やビデオチップ２０９へ入力し、コンテンツの再生を行う。
【００８６】
再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ２１１によってオーディオ信号へ変換された後、内蔵スピーカ２１２から出力される。
【００８７】
また、再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ２１０に表示される。
【００８８】
また、再生手段は、リングバッファ２２０に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ２２０に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ２１２や内蔵ディスプレイ２１０に出力するように構成されている。
【００８９】
（表示制御手段について）
表示制御手段は、ビデオチップ２０９及び内蔵ディスプレイ２１０を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ２１０にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【００９０】
（コンテンツデータ中継制御手段について）
また、特に、コンテンツデータ中継制御手段は、ネットワークインタフェース２０４を介してコンテンツ配信装置１又は上層に接続された端末装置２から受信したコンテンツデータを、下層に接続された他の端末装置２へネットワークインタフェース２０４を介して転送する。
【００９１】
［４．接続管理装置３の構成等の説明］
次に、図９を参照して、接続管理装置３の構成及び動作について説明する。
【００９２】
図９は、本実施形態における接続管理装置３の概略構成例を示す図である。接続管理装置３は、一般のサーバコンピュータを適用可能であり、図９に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置３０５と、各種データ等を記憶するハードディスク装置３０３と、インターネット９を介してコンテンツ配信装置１や端末装置２との間で通信を行うネットワークインタフェース３０４と、所定の情報を入力可能なキーボード３０７やマウス３０８等の入力手段を制御する周辺機器制御チップ３０６と、ＣＰＵ３０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを内蔵ディスプレイ３１０に表示するビデオチップ３０９とを備えて構成され、これらの各種構成要素はシステムバス３０１を介して相互に接続されている。
【００９３】
尚、本実施形態においては、ＣＰＵ３０２と主記憶装置３０５とで制御部３３０を構成している。尚、ネットワークインタフェース３０４は、ルータ１０ｃを介して、インターネット９に接続されている。このルータ１０ｃは、図１に示すルータ１０に相当するものである。
【００９４】
（主記憶装置３０５について）
また、主記憶装置３０５には、接続管理装置３のコンピュータとしての基本的な機能を提供するためのＯＳプログラム３１７と、チャンネルに接続される複数の端末装置２の所在情報（ＩＰアドレスやポート番号など）などを管理するための端末管理プログラム３１８と、各チャンネルのツリー状階層構造を構築及び管理等するためのトポロジ管理プログラム３１９と、端末装置２から送信される接続先紹介要求に対応するチャンネルの接続先候補を選択し、端末装置２へ接続先候補の情報を送信等するための接続先紹介プログラム３２０等が記憶されており、これらはＣＰＵ３０２によって読み出され、ＣＰＵ３０２によってこれらのプログラムに従った機能が実行される。
【００９５】
ここで、ＯＳプログラム３１７は、ＣＰＵ３０２によって読み出されて実行されることにより、キーボード３０７やマウス３０８の入出力に関する機能や、主記憶装置３０５やハードディスク装置３０３などのメモリ管理などの接続管理装置３であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム３１７がＣＰＵ３０２によって実行された状態で、上述の端末管理プログラム３１８、トポロジ管理プログラム３１９、接続先紹介プログラム３２０等が実行される。
【００９６】
尚、ＯＳプログラム３１７、端末管理プログラム３１８、トポロジ管理プログラム３１９、接続先紹介プログラム３２０等は、例えば、インターネット９に接続されたサーバ等から主記憶装置３０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、主記憶装置３０５に読み込まれるようにしてもよい。
【００９７】
（制御部３３０について）
制御部３３０は、上述のようにＣＰＵ３０２と主記憶装置３０５とから構成され、ＣＰＵ３０２が主記憶装置３０５に記憶された各種プログラム３１７〜３２０を読み出して実行することにより、接続管理装置３全体を統括制御し、かつ、後述する接続先紹介要求受信手段、接続状態受信手段、端末装置脱退判定手段、接続先候補選択手段、接続先候補通知手段、トポロジ管理手段、端末管理手段等として機能する。さらに、ハードディスク装置３０３は、コンテンツ配信装置１や、そのコンテンツ配信装置１を頂点として、複数のコンテンツチャンネル毎に、ネットワーク上において階層構造で多層に接続された複数の端末装置２の接続状態情報を記憶する接続状態情報記憶手段として使用される。
【００９８】
尚、ＣＰＵ３０２が端末管理プログラム３１８を実行することによって、端末管理手段等として、またＣＰＵ３０２がトポロジ管理プログラム３１９を実行することによってトポロジ管理手段等として、さらにＣＰＵ３０２が接続先紹介プログラム３２０を実行することによって接続先紹介要求受信手段、接続状態受信手段、端末装置脱退判定手段、接続先候補選択手段、接続先候補通知手段等として、それぞれ機能する。
【００９９】
（端末管理手段について）
端末管理手段は、端末装置２からの登録要求を受信すると、端末管理データベース３１５へこの端末装置２の所在情報であるＩＰアドレスなどをチャンネル毎に登録する。また、コンテンツ配信装置１からの登録要求を受信した場合も、このコンテンツ配信装置１の所在情報であるＩＰアドレスなどを各チャンネル毎に端末管理データベース３１５に登録する。尚、これらの端末装置２の所在情報は端末装置２からの登録要求に含まれ、この登録要求から所在情報を取得する。
【０１００】
（トポロジ管理手段について）
トポロジ管理手段は、コンテンツ配信装置１から送信される新規チャンネル生成要求に基づいて、新規チャンネルのツリー状階層構造を生成するための新規トポロジ生成手段と、端末装置２の接続先紹介要求や接続切断通知などのトポロジ変動通知によってチャンネルにおける端末装置２の接続情報を変更するトポロジ変更手段としての機能を有している。また、トポロジ管理手段は、コンテンツ配信装置１や、そのコンテンツ配信装置１を頂点として、複数のコンテンツチャンネル毎に、ネットワーク上において階層構造で多層に接続された複数の端末装置２の接続状態情報を接続状態情報記憶手段としてのトポロジデータベース３１４へ記憶する。
【０１０１】
新規トポロジ生成手段は、新規チャンネルを生成する場合には、新規チャンネルのトポロジテーブルを生成してトポロジデータベース３１４へ登録する。ここで、トポロジテーブルは、チャンネル毎に階層構造を構成する端末装置２の接続状態情報などを格納するためのテーブルであり、チャンネルごとに生成されてトポロジデータベース３１４に登録される。
【０１０２】
トポロジ変更手段は、トポロジデータベース３１４に記憶される複数のトポロジテーブルに端末装置２の情報を追加又は削除する機能を実行するものであり、端末装置２からの接続先紹介要求トポロジ参加報告に基づいて、トポロジテーブルへの追加又は変更を行うものである。
【０１０３】
（接続先紹介要求受信手段について）
接続先紹介要求受信手段は、端末装置２から送信された接続先紹介要求を受信し、接続先紹介要求を取得する。
【０１０４】
（接続状態受信手段について）
接続状態受信手段は、端末装置２から送信された脱退通知や接続切断通知等、接続状態を示す通知を受信し、接続状態を認識可能とする。
【０１０５】
（端末装置脱退判定手段について）
端末装置脱退判定手段は、ツリー１（第一の階層構造）とツリー２（第二の階層構造）とから端末装置が脱退したか否かを判定する。特に、端末装置脱退判定手段は、端末装置２から、ツリー１（第一の階層構造）において上層に接続されている端末装置２（第一の上層端末装置）と、ツリー２（第二の階層構造）において上層に接続されている端末装置２（第二の上層端末装置）と、下層に接続されている下層端末装置とに対する接続が切断されたと検知された結果の通知に基づいて、ツリー１とツリー２とから端末装置が脱退したか否かを判定することとなる。
【０１０６】
（接続先候補選択手段について）
接続先候補選択手段は、チャンネルに新規に参加しようとする端末装置２から接続先紹介要求を受信したとき、接続先紹介要求に対応するチャンネルの階層構造において、当該階層構造を構成する端末装置２の接続先紹介要求に対する接続先候補を、トポロジデータベース３１４に記憶された接続状態情報から選択する。
【０１０７】
特に、接続先候補選択手段は、コンテンツ配信装置１から同じコンテンツデータが配信可能なツリー１（第一の階層構造）とツリー２（第二の階層構造）とのうち、ツリー１において上層に接続される端末装置２（第一の上層端末装置）と、ツリー２において上層に接続される端末装置２（第二の上層端末装置）と、を、ツリー１におけるコンテンツ配信装置１からの階層数とツリー２におけるコンテンツ配信装置１からの階層数とが同じとなるように接続先候補として選択することとなる。
【０１０８】
また、接続先候補選択手段は、ツリー１とツリー２との両者から端末装置２が脱退した場合には、脱退した端末装置２の上層に以前にツリー１において接続されていた端末装置２と、ツリー２において接続されていた端末装置２とを、下層に接続されていない他の端末装置２の接続先候補として選択し、脱退した端末装置２の下層に接続されていた端末装置２の接続先候補として他の端末装置２を選択することとなる。
【０１０９】
一方、接続先候補選択手段は、ツリー１とツリー２との両者から端末装置２が脱退したのではなく、ツリー１とツリー２とのいずれか一方で、接続されていた一組の端末装置（上層端末装置と下層端末装置と）の接続が切れたと判定された場合には、下層の端末装置２の再接続候補として、接続が切れた上層の端末装置２を選択することとなる。
【０１１０】
（接続先候補通知手段について）
接続先候補通知手段は、接続先候補選択手段によって選択された接続先候補を、接続先紹介要求を送信した端末装置２へ通知する機能を有する。この接続先候補の通知は、接続先候補の情報、すなわち接続先候補の端末装置２の通信プロトコル、ＩＰアドレスやポート番号などの情報を含む。
【０１１１】
［５．コンテンツ配信システムＳの動作］
以下、コンテンツ配信装置１、端末装置２及び接続管理装置３の詳細動作について、フローチャートを用いて更に具体的に説明する。
【０１１２】
（コンテンツ配信装置１の処理フローの説明）
まず、コンテンツ配信装置１の更に具体的な動作について、図１０を参照して説明する。図１０は、コンテンツ配信装置１における処理全体を示すフローチャートである。
【０１１３】
まず、図１０に示すように、コンテンツ配信装置１の電源がＯＮされると、コンテンツ配信装置１では、ＣＰＵ１０２は、主記憶装置１０５やハードディスク装置１０３のアクセス許可、作業領域を初期化等の初期設定処理を実行し（ステップＳ１００）、各プログラム１１５〜１１９，１２１をＣＰＵ１０２による実行状態とし、制御部１３０としての機能を動作させた後、ステップＳ１２１に処理を移す。
【０１１４】
ステップＳ１２１において、コンテンツ配信装置１における制御部１３０は、端末装置２からセッション開設か切断の要求があったか否かを判定する。この処理において、コンテンツ配信装置１における制御部１３０は、ネットワークインタフェース１０４を介して、端末装置２からセッション開設か切断の要求があったか否かを判定することとなる。
【０１１５】
この処理において、制御部１３０は、セッション開設の要求があったと判定した場合には（ステップＳ１２１：ＹＥＳ）、その端末装置２との接続を開設し（ステップＳ１２２）、セッション切断の要求があったと判定した場合には（ステップＳ１２１：ＹＥＳ）、その端末装置２との接続を切断し（ステップＳ１２２）、ステップＳ１１０に処理を移す。つまり、制御部１３０は、端末装置２からの要求に応じて、端末装置の接続状態を変更設定させる制御を行うこととなる。
【０１１６】
一方、ステップＳ１２１において、制御部１３０は、端末装置２からセッション開設も切断も要求がなかったと判定した場合には（ステップＳ１２１：ＮＯ）、ステップＳ１３１に処理を移す。
【０１１７】
ステップＳ１３１において、コンテンツ配信装置１における制御部１３０は、配信時間であるか否かを判定する。この処理において、コンテンツ配信装置１における制御部１３０は、コンテンツデータベース１１４における配信時間等を参照し、今現在の時間が配信時間であるか否かを判定することとなる。
【０１１８】
この処理において、制御部１３０は、配信時間である判定した場合には（ステップＳ１３１：ＹＥＳ）、その配信時間となったと判定したコンテンツＩＤに対応するコンテンツデータを読み出し、下層に接続されている端末装置２に対して、ストリーム送信を開始し（ステップＳ１３２）、ステップＳ１１０に処理を移す。つまり、制御部１３０は、ハードディスク装置１０３に記憶されたコンテンツデータの配信時間となったか否かを判定し、コンテンツデータの配信時間となったと判定されたときに、コンテンツチャンネル毎に、直接配信すると判定され、下層に接続された端末装置（最上階層の端末装置）に、そのコンテンツデータを配信することとなる。特に、本実施形態においては、ツリー１において下層に接続されている端末装置２と、ツリー２において下層に接続されている端末装置２と、のいずれかにコンテンツデータを配信することとなる。このようなステップを実行する制御部１３０は、配信時間判定手段、コンテンツデータ配信手段として機能する。
【０１１９】
一方、ステップＳ１３１において、制御部１３０は、配信時間ではないと判定した場合には（ステップＳ１３１：ＮＯ）、ステップＳ１４１に処理を移す。
【０１２０】
ステップＳ１４１において、コンテンツ配信装置１における制御部１３０は、配信完了であるか否かを判定する。この処理において、コンテンツ配信装置１における制御部１３０は、コンテンツデータの配信が完了したか否かを判定することとなる。
【０１２１】
この処理において、制御部１３０は、配信完了である判定した場合には（ステップＳ１４１：ＹＥＳ）、その配信が完了となったコンテンツデータに対応するコンテンツＩＤと配信完了を示すデータとを接続管理装置３に送信し（ステップＳ１４２）、ステップＳ１１０に処理を移す。このように、コンテンツデータの配信が完了した旨を制御部１３０が接続管理装置３に通知することによって、接続管理装置３は、トポロジデータベースからトポロジ情報を削除することが可能となる。
【０１２２】
一方、ステップＳ１４１において、制御部１３０は、配信完了ではないと判定した場合には（ステップＳ１４１：ＮＯ）、ステップＳ１１０に処理を移す。
【０１２３】
ステップＳ１１０において、制御部１３０は、電源がオフであるか否かを判定し、電源がオフであると判定した場合には、本処理を終了する一方、電源がオフではないと判定した場合には、ステップＳ１０１から繰り返し処理を実行することとなる。
【０１２４】
（端末装置２の処理フローの説明）
まず、端末装置２の更に具体的な動作について、図１１〜図１５を参照して説明する。図１１及び図１２は、端末装置２における処理全体を示すフローチャートである。
【０１２５】
まず、図１１に示すように、端末装置２の電源がＯＮされると、端末装置２では、ＣＰＵ２０２は、主記憶装置２０５やハードディスク装置２０３のアクセス許可、作業領域を初期化等の初期設定処理を実行し（ステップＳ２００）、各プログラム２１５〜２１９及び２２１をＣＰＵ２０２による実行状態とし、制御部２３０としての機能を動作させた後、ステップＳ２０１に処理を移す。
【０１２６】
ステップＳ２０１において、制御部２３０は、コンテンツチャンネルの変更指示があったか否かを判定する。この処理において、制御部２３０は、ユーザによるユーザ入力用リモコン２０８の操作に応じて、コンテンツチャンネルの変更指示があったか否かを判定することとなる。つまり、制御部２３０は、コンテンツチャンネルを変更させる変更指示が行われたか否かを判定することとなる。このようなステップを実行する制御部２３０は、コンテンツチャンネル変更判定手段として機能する。
【０１２７】
この処理において、制御部２３０は、コンテンツチャンネルの変更指示があったと判定した場合には（ステップＳ２０１：ＹＥＳ）、詳しくは図１３を用いて後述するが、コンテンツチャンネル変更処理を実行し（ステップＳ２０２）、ステップＳ２１０に処理を移す。
【０１２８】
ステップＳ２１０において、制御部２３０は、端末の電源がオフであるか否かを判定し、端末の電源がオフであると判定した場合には、本処理を終了する一方、端末の電源がオフではないと判定した場合には、ステップＳ２０１から繰り返し処理を実行することとなる。
【０１２９】
一方、ステップＳ２０１において、制御部２３０は、コンテンツチャンネルの変更指示がなかったと判定した場合には（ステップＳ２０１：ＮＯ）、ステップＳ２１１に処理を移す。
【０１３０】
ステップＳ２１１において、制御部２３０は、ツリーから脱退する旨の脱退通知を上層に接続されている端末装置２または下層に接続されている端末装置２から受信したか否かを判定する。このようなステップを実行する制御部２３０は、脱退の通知を受信するコンテンツチャンネル変更判定手段として機能する。
【０１３１】
この処理において、制御部２３０は、ツリーから脱退したと判定した場合には（ステップＳ２１１：ＹＥＳ）、詳しくは図１４を用いて後述するが、脱退通知時制御処理を実行し（ステップＳ２１２）、ステップＳ２１０に処理を移す。
【０１３２】
一方、ステップＳ２１１において、制御部２３０は、ツリーから脱退していないと判定した場合には（ステップＳ２１１：ＮＯ）、ステップＳ２２１に処理を移す。
【０１３３】
ステップＳ２２１において、制御部２３０は、自端末装置２との接続の切断を検知したか否かを判定する。この処理において、制御部２３０は、ツリー１及びツリー２において上層及び下層に接続されている他の端末装置２との接続状態を検知するための信号を受信したか否かによって、端末装置との接続の切断を検知したか否かを判定することとなる。つまり、制御部２３０は、上層または下層に接続されている他の端末装置２からの接続状態を検知するための信号が一定時間受信されないときに、その上層または下層に接続されている他の端末装置２との接続が切れたことを検知する。
【０１３４】
この処理において、制御部２３０は、端末装置との接続の切断を検知したと判定した場合には（ステップＳ２２１：ＹＥＳ）、詳しくは図１５を用いて後述するが、接続切断検知時制御処理を実行し（ステップＳ２２２）、ステップＳ２１０に処理を移す。
【０１３５】
また、一方、ステップＳ２２１において、制御部２３０は、端末装置との接続の切断を検知していないと判定した場合には（ステップＳ２２１：ＮＯ）、図１２のステップＳ２４１に処理を移す。
【０１３６】
ステップＳ２４１において、制御部２３０は、接続管理装置３から上層端末の候補を受信したか否かを判定する。この処理において、制御部２３０は、接続先候補要求の送信に応じて、ネットワークインタフェース２０４を介して、接続管理装置３から上層端末の候補を受信したか否かを判定することとなる。
【０１３７】
この処理において、制御部２３０は、上層端末の候補を受信したと判定した場合には（ステップＳ２４１：ＹＥＳ）、取得した接続先候補の中から上層端末を１つ又は複数選択する（ステップＳ２４２）。つまり、制御部２３０は、接続管理装置３から接続先候補を受信し、その受信した接続先候補からいずれか一つ又は複数を選択することとなる。このようなステップを実行する制御部２３０は、接続先候補受信手段として機能する。尚、制御部２３０は、受信した上層端末が１つである場合には、選択する処理を実行しない。
【０１３８】
そして、制御部２３０は、その上層端末の下層端末として接続する（ステップＳ２４３）。つまり、制御部２３０は、コンテンツ配信装置１や他の端末装置２など、受信された接続先候補に接続することとなる。特に、制御部２３０は、接続管理装置３において接続先候補として選択されたツリー１における端末装置２（第一の上層端末装置）とツリー２における端末装置２（第二の上層端末装置）とに接続することとなる。このようなステップを実行する制御部２３０は、接続手段として機能する。そして、制御部２３０は、接続管理装置３へトポロジ参加報告を送信し（ステップＳ２４４）、図１１のステップＳ２１０に処理を移す。
【０１３９】
一方、ステップＳ２４１において、制御部２３０は、接続管理装置３から上層端末の候補を受信していないと判定した場合には（ステップＳ２４１：ＮＯ）、ステップＳ２５１に処理を移す。
【０１４０】
ステップＳ２５１において、制御部２３０は、上層端末からコンテンツパケットを受信したか否かを判定する。この処理において、制御部２３０は、ネットワークインタフェース２０４を介して、ステップＳ２４３において上層に接続された上層端末からコンテンツパケットを受信したか否かを判定することとなる。
【０１４１】
この処理において、制御部２３０は、上層端末からコンテンツパケットを受信したと判定した場合には（ステップＳ２５１：ＹＥＳ）、下層側の下層端末がある場合には、下層側の下層端末へパケットを転送する（ステップＳ２５２）。つまり、制御部２３０は、上層に接続されたコンテンツ配信装置又は別の上層端末装置からコンテンツデータを受信し、その受信されたコンテンツデータを、下層に接続された別の下層端末装置へ中継する制御を行うこととなる。このようなステップを実行する制御部２３０は、コンテンツ受信手段、コンテンツデータ中継制御手段として機能する。そして、制御部２３０は、リングバッファ２２０からコンテンツデータを取得してハードディスク装置２０３へ保存し、図１１のステップＳ２１０に処理を移す。
【０１４２】
（コンテンツチャンネル変更処理）
次に、図１１に示すステップＳ２０２で行うコンテンツチャンネル変更処理について、図１３を参照して具体的に説明する。
【０１４３】
まず、図１３に示すように、制御部２３０は、下層に端末装置２ありか否かを判定する（ステップＳ５０１）。この処理において、制御部２３０は、ツリー１及びツリー２の下層において端末装置２と接続されているか否かを判定する。
【０１４４】
この処理において、制御部２３０は、下層に端末装置２ありと判定した場合には（ステップＳ５０１：ＹＥＳ）、ステップＳ５０２に処理を移す。
【０１４５】
一方、制御部２３０は、下層に端末装置２なしと判定した場合には（ステップＳ５０１：ＮＯ）、ステップＳ５０６に処理を移す。
【０１４６】
ステップＳ５０２において、制御部２３０は、上層、下層の端末装置に対して、ツリー１とツリー２とから脱退する旨の脱退通知を行う。つまり、制御部２３０は、ツリー１（第一の階層構造）とツリー２（第二の階層構造）とから脱退する場合において、ツリー１において上層に接続されている端末装置２（第一の上層端末装置）と、ツリー２（第二の階層構造）において上層に接続されている端末装置２（第二の上層端末装置）と、ツリー１及びツリー２において下層に接続されている端末装置（下層端末装置）とに対して、脱退する旨の通知を行うこととなる。このようなステップを実行する制御部２３０は、脱退通知手段として機能する。この処理が終了した場合には、ステップＳ５０３に処理を移す。
【０１４７】
ステップＳ５０３において、制御部２３０は、接続先を紹介させるための接続先紹介要求を接続管理装置３に対して行う。このようなステップを実行する制御部２３０は、接続先紹介要求手段として機能する。そして、制御部２３０は、所定時間経過後、接続管理装置３から接続先候補を受信する（ステップＳ５０４）。このようなステップを実行する制御部２３０は、通知された接続先候補を受信する接続先候補受信手段として機能する。そして、制御部２３０は、接続管理装置３に対して、端末装置２自体が脱退した後の代わりとなる代替端末装置を要求するための代替端末要求を行う（ステップＳ５０５）。この処理が終了した場合には、ステップＳ５０７に処理を移す。
【０１４８】
一方、ステップＳ５０６において、制御部２３０は、上層の端末装置に対して、ツリー１とツリー２とから脱退する旨の脱退通知を行う。つまり、制御部２３０は、ツリー１（第一の階層構造）とツリー２（第二の階層構造）とから脱退する場合において、ツリー１において上層に接続されている端末装置２（第一の上層端末装置）と、ツリー２（第二の階層構造）において上層に接続されている端末装置２（第二の上層端末装置）とに対して、脱退する旨の通知を行うこととなる。このようなステップを実行する制御部２３０は、脱退通知手段として機能する。この処理が終了した場合には、ステップＳ５０９に処理を移す。
【０１４９】
ステップＳ５０７において、制御部２３０は、接続先を紹介させるための接続先紹介要求を接続管理装置３に対して行う。このようなステップを実行する制御部２３０は、接続先紹介要求手段として機能する。そして、制御部２３０は、所定時間経過後、接続管理装置３から接続先候補を受信する（ステップＳ５０８）。このようなステップを実行する制御部２３０は、通知された接続先候補を受信する接続先候補受信手段として機能する。この処理が終了した場合には、ステップＳ５０９に処理を移す。
【０１５０】
このように、ツリー１とツリー２とから端末装置が脱退することを自ら認識可能な場合においては、その端末装置２自体が上層に接続されているツリー１の端末装置と、ツリー２の端末装置と、ツリー１及びツリー２において下層に接続されている端末装置とに対して、脱退する旨の通知を行うこととなり、より迅速に端末装置の接続状態を検知することができる。
【０１５１】
ステップＳ５０９において、制御部２３０は、取得した接続先候補の中から上層端末を１つ又は複数選択する。つまり、制御部２３０は、接続管理装置３から接続先候補を受信し、その受信した接続先候補からいずれか一つ又は複数をツリー毎に選択することとなる。このようなステップを実行する制御部２３０は、接続先候補受信手段として機能する。尚、制御部２３０は、受信した上層端末が１つのツリーに対して１つである場合には、選択する処理を実行しない。
【０１５２】
そして、制御部２３０は、その上層端末の下層端末として接続する（ステップＳ５１０）。つまり、制御部２３０は、コンテンツ配信装置１や他の端末装置２など、受信された接続先候補に接続することとなる。特に、制御部２３０は、接続管理装置３において接続先候補として選択されたツリー１における端末装置２（第一の上層端末装置）とツリー２における端末装置２（第二の上層端末装置）とに接続することとなる。このようなステップを実行する制御部２３０は、接続手段として機能する。そして、制御部２３０は、接続管理装置３へトポロジ参加報告を送信し（ステップＳ５１１）、本サブルーチンを終了する。
【０１５３】
（脱退通知時制御処理）
次に、図１１に示すステップＳ２１２で行う脱退通知時制御処理について、図１４を参照して具体的に説明する。
【０１５４】
まず、図１４に示すように、制御部２３０は、脱退する端末装置の上層であるか否かを判定する（ステップＳ５２１）。
【０１５５】
この処理において、制御部２３０は、脱退する端末装置の上層であると判定した場合には（ステップＳ５２１：ＹＥＳ）、ステップＳ５２２に処理を移す。
【０１５６】
一方、制御部２３０は、脱退する端末装置の上層ではなく、脱退する端末装置の下層であると判定した場合には（ステップＳ５２１：ＮＯ）、ステップＳ５２４に処理を移す。
【０１５７】
ステップＳ５２２において、制御部２３０は、脱退する端末装置にストリームを送信しているか否かを判定する。
【０１５８】
この処理において、制御部２３０は、脱退する端末装置にストリームを送信していると判定した場合には（ステップＳ５２２：ＹＥＳ）、ストリームの送信を停止させるストリーム送信停止処理を実行し（ステップＳ５２３）、ステップＳ５０８に処理を移す。
【０１５９】
一方、制御部２３０は、脱退する端末装置にストリームを送信していないと判定した場合には（ステップＳ５２２：ＮＯ）、ステップＳ５０７を実行することなく、ステップＳ５０８に処理を移す。
【０１６０】
ステップＳ５２４において、制御部２３０は、脱退する端末装置からストリームを受信しているか否かを判定する。
【０１６１】
この処理において、制御部２３０は、脱退する端末装置からストリームを受信していると判定した場合には（ステップＳ５２４：ＹＥＳ）、ストリームの受信を切り替えるストリーム受信切替処理を実行し（ステップＳ５２５）、ステップＳ５２６に処理を移す。
【０１６２】
一方、制御部２３０は、脱退からストリームを受信していないと判定した場合には（ステップＳ５２４：ＮＯ）、ステップＳ５２５を実行することなく、ステップＳ５２６に処理を移す。
【０１６３】
ステップＳ５２６において、制御部２３０は、接続要求受信待機処理を実行する。この処理において、制御部２３０は、詳しく後述する接続切断通知が行われた場合に、その通知に対応する接続要求が代替端末装置に供給されることとなり、その代替端末装置からの接続要求の受信を所定時間だけ待機することとなる。ただし、脱退通知のあった端末装置が最下層の端末装置であった場合、制御部２３０は、代替端末装置からの接続要求の受信を待機しない。このように、制御部２３０は、脱退の通知が受信されたか否かによって、ツリー１（第一の階層構造）において上層に接続されている端末装置２（第一の上層端末装置）と、ツリー２（第二の階層構造）において上層に接続されている端末装置２（第二の上層端末装置）と、ツリー１及びツリー２において下層に接続されている端末装置（下層端末装置）とに対する接続が切断されたか否かを検知する。言い換えると、制御部２３０は、脱退の通知が受信された場合に、接続が切断されたと検知することとなる。このようなステップを実行する制御部２３０は、脱退の通知を受信する接続切断検知手段として機能する。
【０１６４】
そして、制御部２３０は、代替端末装置からの接続要求を受信した場合には、その接続要求に応じて接続することとなる（ステップＳ５２７）。つまり、制御部２３０は、ツリー１、ツリー２の上層、下層に接続されていた端末装置２がツリー１とツリー２とから脱退する場合には、その脱退する端末装置２の代わりの代替端末装置からの接続要求に基づいて、その代替端末装置と接続することがある。特に、制御部２３０は、上層に接続されていた端末装置２が脱退する場合には、代替端末装置の下層の端末装置として接続し、下層に接続されていた端末装置２が脱退する場合には、代替端末装置の上層の端末装置として接続することとなる。また、制御部２３０は、脱退する端末装置２と接続されていたツリー（例えば、ツリー１など）において、代替端末装置に接続することとなる。このようなステップを実行する制御部２３０は、接続手段として機能する。そして、制御部２３０は、接続管理装置３へトポロジ参加報告を送信し（ステップＳ５２８）、本サブルーチンを終了する。
【０１６５】
（接続切断検知時処理）
次に、図１１に示すステップＳ２２２で行う接続切断検知時処理について、図１５を参照して具体的に説明する。
【０１６６】
まず、図１５に示すように、制御部２３０は、下層の端末装置２との接続が切断されたか否かを判定する（ステップＳ５３１）。
【０１６７】
この処理において、制御部２３０は、下層の端末装置２との接続が切断されたと判定した場合には（ステップＳ５３１：ＹＥＳ）、接続管理装置３に対して接続切断通知を行い（ステップＳ５３２）、ステップＳ５３８に処理を移す。つまり、制御部２３０は、接続が切断されたと検知された場合には、検知結果を接続管理装置３に通知することとなる。このようなステップを実行する制御部２３０は、接続切断通知手段として機能する。
【０１６８】
一方、制御部２３０は、下層の端末装置２との接続が切断されておらず、上層の端末装置２との接続が切断されたと判定した場合には（ステップＳ５３１：ＮＯ）、ステップＳ５３３に処理を移す。
【０１６９】
ステップＳ５３３において、制御部２３０は、ストリームを受信していたか否かを判定する。
【０１７０】
この処理において、制御部２３０は、ストリームを受信していたと判定した場合には（ステップＳ５３３：ＹＥＳ）、ストリームの受信を切り替えるストリーム受信切替処理を実行し（ステップＳ５３４）、ステップＳ５３５に処理を移す。
【０１７１】
一方、制御部２３０は、ストリームを受信していないと判定した場合、つまり、他方のツリーの上層端末装置からストリームを受信している場合には（ステップＳ５３３：ＮＯ）、ステップＳ５３４を実行することなく、ステップＳ５３５に処理を移す。
【０１７２】
ステップＳ５３５において、制御部２３０は、接続管理装置３に対して接続切断通知を行い、ステップＳ５３６に処理を移す。つまり、制御部２３０は、接続が切断されたと検知された場合には、検知結果を接続管理装置３に通知することとなる。このようなステップを実行する制御部２３０は、接続切断通知手段として機能する。このように、ツリー１、ツリー２における端末装置２の接続状態が端末装置２において検知されることとなり、端末装置２の接続状態を効率よく検知することができる。
【０１７３】
ステップＳ５３６において、制御部２３０は、所定時間経過後、上層の端末装置が生存している旨の上層端末措置生存通知を受信したか否かを判定する。
【０１７４】
この処理において、制御部２３０は、上層端末措置生存通知を受信したと判定した場合には（ステップＳ５３６：ＹＥＳ）、接続が切断されたと検知された上層の端末装置２に対して、再接続要求を行い（ステップＳ５３７）、ステップＳ５４０に処理を移す。
【０１７５】
一方、制御部２３０は、上層端末措置生存通知を受信していないと判定した場合には（ステップＳ５３６：ＮＯ）、ステップＳ５３８に処理を移す。
【０１７６】
ステップＳ５３８において、制御部２３０は、接続要求受信待機処理を実行する。この処理において、制御部２３０は、接続切断通知が行われた場合に、その通知に対応する接続要求が代替端末装置に供給されることとなり、その代替端末装置からの接続要求の受信を所定時間だけ待機することとなる。ただし、脱退通知のあった端末装置が最下層の端末装置であった場合、その旨が接続管理装置から通知され、制御部２３０は、代替端末装置からの接続要求の受信を待機しない。そして、制御部２３０は、代替端末装置からの接続要求を受信した場合には、その接続要求に応じて接続することとなる（ステップＳ５３９）。つまり、制御部２３０は、ツリー１、ツリー２の上層、下層に接続されていた端末装置２がツリー１とツリー２とにおいて接続が切断された場合には、その接続が切断された端末装置２の代わりの代替端末装置からの接続要求に基づいて、その代替端末装置と接続することがある。特に、制御部２３０は、上層に接続されていた端末装置２が切断された場合には、代替端末装置の下層の端末装置として接続し、下層に接続されていた端末装置２が切断された場合には、代替端末装置の上層の端末装置として接続することとなる。また、制御部２３０は、切断された端末装置２と接続されていたツリー（例えば、ツリー１など）において、代替端末装置に接続することとなる。このようなステップを実行する制御部２３０は、接続手段として機能する。この処理が終了した場合には、ステップＳ５４０に処理を移す。
【０１７７】
ステップＳ５４０において、制御部２３０は、接続管理装置３へトポロジ参加報告を送信し、本サブルーチンを終了する。
【０１７８】
（接続管理装置３の処理フローの説明）
次に、接続管理装置３の更に具体的な動作について、図１６を参照して説明する。図１６は接続管理装置３における処理全体を示すフローチャートである。
【０１７９】
図１６に示すように、接続管理装置３の電源がＯＮになると、接続管理装置３では、ＣＰＵ３０２は、主記憶装置３０５やハードディスク装置３０３のアクセス許可、作業領域を初期化等の初期設定処理を実行し（ステップＳ３００）、各プログラム３１７〜３２０をＣＰＵ３０２による実行状態とし、制御部３３０としての機能を動作させた後、ステップＳ３２１に処理を移す。
【０１８０】
ステップＳ３２１において、制御部３３０は、接続先紹介要求ありか否かを判定する。この処理において、制御部３３０は、ネットワークインタフェース３０４を介して端末装置２から接続先紹介要求があったか否かを判定することとなる。つまり、制御部３３０は、端末装置２から送信された接続先紹介要求を受信することとなる。このようなステップを実行する制御部３３０は、接続先紹介要求受信手段として機能する。
【０１８１】
この処理において、制御部３３０は、接続先紹介要求ありと判定した場合には（ステップＳ３２１：ＹＥＳ）、詳しくは図１７を用いて後述するが、接続先紹介処理を実行し（ステップＳ３２２）、ステップ３１０に処理を移す。
【０１８２】
一方、ステップＳ３２１において、制御部３３０は、接続先紹介要求なしと判定した場合には（ステップＳ３２１：ＮＯ）、ステップＳ３３１に処理を移す。
【０１８３】
ステップＳ３３１において、制御部３３０は、トポロジ参加報告ありか否かを判定する。この処理において、制御部３３０は、ネットワークインタフェース３０４を介して端末装置２からトポロジ参加報告ありか否かを判定することとなる。
【０１８４】
この処理において、制御部３３０は、トポロジ参加報告ありと判定した場合には（ステップＳ３３１：ＹＥＳ）、トポロジの変動情報を、ハードディスク装置３０３におけるトポロジデータベースへ登録し（ステップＳ３３２）、ステップＳ３１０に処理を移す。このようなステップを実行する制御部３３０は、コンテンツ配信装置１を頂点として、ネットワーク上において階層構造で多層に接続された複数の端末装置２の接続状態情報を記憶する接続状態情報記憶手段として機能する。
【０１８５】
一方、ステップＳ３３１において、制御部３３０は、トポロジ参加報告なしと判定した場合には（ステップＳ３３１：ＮＯ）、ステップＳ３４１に処理を移す。
【０１８６】
ステップＳ３４１において、制御部３３０は、接続切断検出通知ありか否かを判定する。この処理において、制御部３３０は、ネットワークインタフェース３０４を介して端末装置２等から接続切断検出通知があったか否かを判定することとなる。
【０１８７】
この処理において、制御部３３０は、接続切断検出通知ありと判定した場合には（ステップＳ３４１：ＹＥＳ）、詳しくは図１８を用いて後述するが、接続切断時制御処理を実行し（ステップＳ３４２）、ステップ３１０に処理を移す。
【０１８８】
一方、ステップＳ３４１において、制御部３３０は、接続切断検出通知なしと判定した場合には（ステップＳ３４１：ＮＯ）、ステップＳ３１０に処理を移す。
【０１８９】
ステップＳ３１０において、制御部３３０は、接続管理装置３のサービスが終了したか否かを判定し、接続管理装置３のサービスが終了したと判定した場合には、本処理を終了する一方、接続管理装置３のサービスが終了していないと判定した場合には、ステップＳ３０１から繰り返し処理を実行することとなる。
【０１９０】
（接続先紹介処理）
次に、図１６に示すステップＳ３２２で行う接続先紹介処理について、図１７を参照して具体的に説明する。
【０１９１】
まず、図１７に示すように、接続紹介要求されたチャンネルにおいて、一方のツリーで接続可能な装置を上層から検索する（ステップＳ６０１）。そして、制御部３３０は、検索した装置はコンテンツ配信装置１であるか否かを判定する（ステップＳ６０２）。
【０１９２】
この処理において、制御部３３０は、検索した装置はコンテンツ配信装置であると判定した場合には（ステップＳ６０２：ＹＥＳ）、接続先紹介要求の要求元の端末装置２に対して、コンテンツ配信装置１を紹介し（ステップＳ６０６）、ステップＳ６０７に処理を移す。
【０１９３】
一方、制御部３３０は、検索した装置はコンテンツ配信装置ではなく、端末装置２であると判定した場合には（ステップＳ６０２：ＮＯ）、ステップＳ６０３に処理を移す。
【０１９４】
ステップＳ６０３において、制御部３３０は、ハードディスク装置３０３におけるトポロジデータベースを参照し、検索した端末装置２の階層数を取得し、接続紹介要求されたチャンネルにおいて、他方のツリーで同じ階層数の接続可能な異なる端末装置２を検索する（ステップＳ６０４）。つまり、制御部３３０は、端末装置２等の接続状態情報に基づいて、コンテンツ配信装置１を頂点として、複数の端末装置２がネットワーク上において階層構造で多層に接続されるように接続先候補を選択することとなるが、コンテンツ配信装置１から同じコンテンツデータが配信可能な一方のツリー（第一の階層構造、例えば、ツリー１）と他方のツリー（第二の階層構造、例えば、ツリー２）とのうち、一方のツリーにおいて上層に接続される端末装置２（例えば、ツリー１の第一の上層端末装置）と、他方のツリーにおいて上層に接続される端末装置（例えば、ツリー２の第二の上層端末装置）と、を、一方のツリーにおけるコンテンツ配信装置１からの階層数と、他方のツリーにおけるコンテンツ配信装置１からの階層数とが同じとなるように接続先候補として選択することとなる。このようなステップを実行する制御部３３０は、接続先候補選択手段として機能する。この処理が終了した場合には、ステップＳ６０５に処理を移す。
【０１９５】
ステップＳ６０５において、制御部３３０は、選択された接続先候補を端末装置へ通知する。つまり、制御部３３０は、選択された接続先候補を端末装置へ通知することとなる。このようなステップを実行する制御部３３０は、接続先候補通知手段として機能する。この処理が終了した場合には、ステップＳ６０７に処理を移す。
【０１９６】
このように、ツリー１においてもツリー２においても同じ階層数に端末装置２が接続されることとなるため、ツリー１、ツリー２における端末装置２において、階層構造の二重化に伴い、端末装置のループ状態を防止し、コンテンツデータの配信をより安定化させることができる。
【０１９７】
ステップＳ６０７において、制御部３３０は、端末装置２から代替端末要求を受信したか否かを判定する。尚、制御部３３０は、端末装置２から代替端末要求を受信したか否かによって、ツリー１とツリー２との両者から端末装置２が脱退したか否かを判定することとなる。このようなステップを実行する制御部３３０は、端末装置脱退判定手段として機能する。
【０１９８】
この処理において、制御部３３０は、代替端末要求を受信したと判定した場合には（ステップＳ６０７：ＹＥＳ）、代替端末要求されたチャンネルにおいて、２つのツリーの両方の最下層の端末装置を検索し（ステップＳ６０８）、検索した端末装置２に、脱退した端末装置２の代わりとしての接続先を紹介し（ステップＳ６０９）、選択された接続先候補を端末装置へ通知することとなる。この処理が終了した場合には、本サブルーチンを終了する。言い換えると、制御部３３０は、ツリー１とツリー２との両者から端末装置２が脱退した場合には、その脱退した端末装置２の上層に以前に接続されていたツリー１における端末装置２と、ツリー２における端末装置２とを、下層に接続されていない他の代替端末装置の接続先候補として選択し、その脱退した端末装置２の下層に接続されていた下層端末装置２の接続先候補として他の代替端末装置を選択することとなる。このようなステップを実行する制御部３３０は、接続先候補選択手段、接続先候補通知手段として機能する。
【０１９９】
これによって、ツリーやコンテンツチャンネルからの脱退などの要因により、ツリー１、ツリー２の両者において端末装置２が脱退したと判定された場合には、下層に接続されていない他の端末装置を、脱退した端末装置２の代わりに配置し、脱退以前の接続状態のように上層、下層に接続させることができ、過剰に端末装置の接続の変更を行うことがなく、階層構造の安定化を向上させるとともに、端末装置の接続を効率よく行うことができる。
【０２００】
一方、制御部３３０は、代替端末要求を受信していないと判定した場合には（ステップＳ６０７：ＮＯ）、ステップＳ６０８、６０９を実行することなく、本サブルーチンを終了する。
【０２０１】
（接続切断時制御処理）
次に、図１６に示すステップＳ３４２で行う接続切断時制御処理について、図１８を参照して具体的に説明する。
【０２０２】
まず、図１８に示すように、接続切断検出通知を受信すると、制御部３３０は、接続が切断した端末装置のトポロジを更新し、接続の切断を検出する接続切断検出通知の受信を所定時間だけ待機する接続切断検出通知受信待機処理を実行する（ステップＳ６１１）。そして、ステップＳ６１２において、制御部３３０は、両方のツリーの端末装置２から接続切断検出通知があったか否かを判定する。つまり、制御部３３０は、ツリー１において上層に接続されている端末装置と、ツリー２において上層に接続されている端末装置と、ツリー１及びツリー２の下層に接続されている端末装置とに対する接続が切断されたと検知された結果の通知に基づいて、ツリー１とツリー２とにおいて端末装置２の接続が切断された（ツリー１とツリー２とにおいて端末装置２が脱退した）か否かを判定することとなる。また、制御部３３０は、これらのような検知された結果の通知以外にも複数の端末装置２の接続状態情報を参照し、接続が切断された端末装置２の接続位置を判定することとなる。このようなステップを実行する制御部３３０は、端末装置脱退判定手段として機能する。
【０２０３】
この処理において、制御部３３０は、両方のツリーの端末装置２から接続切断検出通知があったと判定した場合には（ステップＳ６１２：ＹＥＳ）、最下層の端末装置を検索し（ステップＳ６１３）、検索した端末装置２に、脱退した端末装置２の代わりとしての接続先を紹介し（ステップＳ６１４）、選択された接続先候補を端末装置へ通知することとなる。この処理が終了した場合には、本サブルーチンを終了する。言い換えると、制御部３３０は、ツリー１とツリー２との両者から端末装置２が脱退した場合には、その脱退した端末装置２の上層に以前に接続されていたツリー１における端末装置２と、ツリー２における端末装置２とを、下層に接続されていない他の代替端末装置の接続先候補として選択し、その脱退した端末装置２の下層に接続されていた下層端末装置２の接続先候補として他の代替端末装置を選択することとなる。このようなステップを実行する制御部３３０は、接続先候補選択手段、接続先候補通知手段として機能する。
【０２０４】
これによって、本体電源のオフなどの要因により、ツリー１、ツリー２の両者において端末装置２が脱退したと判定された場合には、下層に接続されていない他の端末装置を、脱退した端末装置２の代わりに配置し、脱退以前の接続状態のように上層、下層に接続させることができ、過剰に端末装置の接続の変更を行うことがなく、階層構造の安定化を向上させるとともに、端末装置の接続を効率よく行うことができる。また、ツリー１、ツリー２における端末装置２の接続状態が端末装置２において検知されることとなり、端末装置の接続状態を効率よく検知することができる。
【０２０５】
一方、制御部３３０は、両方のツリーの端末装置２から接続切断検出通知がなかったと判定した場合には（ステップＳ６１３：ＮＯ）、上層に接続された端末装置が生存している旨の上層端末装置生存通知を行い（ステップＳ６１５）、本サブルーチンを終了する。つまり、制御部３３０は、ツリー１とツリー２との両者から端末装置２が脱退したのではなく、ツリー１とツリー２とのいずれか一方で、一組の端末装置２（上層端末装置と下層端末装置）との接続が切れたと判定された場合には、一組の端末装置２のうちの下層の端末装置の再接続候補として、一組の端末装置２のうち、その接続が切れた上層の端末装置を選択し、再度、接続要求を行う旨を通知する。このようなステップを実行する制御部３３０は、接続先候補選択手段、接続先候補通知手段として機能する。
【０２０６】
これによって、ツリーやコンテンツチャンネルからの脱退や本体電源のオフなどの要因ではなく、ツリー１とツリー２とのいずれか一方における接続経路が切断された場合には、再度、接続を要求することとなり、端末装置の接続状態を無駄に変更させることなく、階層構造の安定化を向上させることができる。また、ツリー１、ツリー２における端末装置２の接続状態が端末装置２において検知されることとなり、端末装置の接続状態を効率よく検知することができる。
【０２０７】
（その他の実施形態）
尚、本実施形態においては、一方のツリーからのコンテンツデータを受信し、他方のツリーからのコンテンツデータを受信しないようにしたが、これに限らず、例えば、両方のツリーからコンテンツデータを受信し、いずれか一方を再生、中継するように制御してもよい。この場合においては、一方のツリーにおいて上層に接続された端末装置との接続が不可能となった場合であっても、他方のツリーにおいて上層に接続された端末装置との接続によってコンテンツデータを受信可能であるため、ストリーム送信の停止制御やストリーム受信の切替制御など、図１４のステップＳ５２１からステップＳ５２５、図１５のステップＳ５３３及びステップＳ５３４が省略可能である。
【０２０８】
尚、本実施形態においては、コンテンツチャンネルの変更時において、両方のツリーから脱退する場合には、脱退する端末装置２が接続管理装置３に接続先紹介要求をすることによって、接続管理装置３が端末装置の脱退を認識できるが、これに限らず、例えば、脱退する端末装置２に上層及び下層に接続されている端末装置２から通知を行うようにしてもよい。また、電源切断時等において、両方のツリーから脱退する場合には、脱退する端末装置２に上層及び下層に接続されている端末装置２から接続管理装置３に通知し、接続管理装置３が端末装置の脱退を認識できるが、これに限らず、例えば、電源切断時に、電源が切断される端末装置２が接続管理装置３に直接通知してもよい。
【０２０９】
尚、本実施形態においては、同じコンテンツデータの配信を行う両方のツリーにおいて、コンテンツ配信装置１からの階層数が同じであり、かつ、上層の端末装置が異なるように接続先候補を選択したが、これに限らず、例えば、上層の端末装置が同じ装置であっても、同じコンテンツデータの配信を行い、接続経路が異なるように構成してもよい。
【０２１０】
尚、本実施形態においては、２つのツリーへ参加としたが、これに限らず、例えば、３つ以上のツリーを構成するなど、複数のツリーを構成できればよい。
【０２１１】
以上、本発明の実施の形態のうちのいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【０２１２】
【図１】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図２】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図３】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図４】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図５】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図６】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図７】コンテンツ配信装置を示す機能ブロック図である。
【図８】端末装置を示す機能ブロック図である。
【図９】接続管理装置を示す機能ブロック図である。
【図１０】コンテンツ配信装置の制御部が行う処理を示すフローチャートである。
【図１１】端末装置の制御部が行う処理を示すフローチャートである。
【図１２】端末装置の制御部が行う処理を示すフローチャートである。
【図１３】端末装置の制御部が行う処理を示すフローチャートである。
【図１４】端末装置の制御部が行う処理を示すフローチャートである。
【図１５】接続管理装置の制御部が行う処理を示すフローチャートである。
【図１６】接続管理装置の制御部が行う処理を示すフローチャートである。
【図１７】接続管理装置の制御部が行う処理を示すフローチャートである。
【図１８】接続管理装置の制御部が行う処理を示すフローチャートである。
【符号の説明】
【０２１３】
Ｓ  コンテンツ配信システム
１  コンテンツ配信装置
２  端末装置
３  接続管理装置
１３０，２３０，３３０  制御部
【図１】
2008219097.tif 000003
【図２】
2008219097.tif 000004
【図３】
2008219097.tif 000005
【図４】
2008219097.tif 000006
【図５】
2008219097.tif 000007
【図６】
2008219097.tif 000008
【図７】
2008219097.tif 000009
【図８】
2008219097.tif 000010
【図９】
2008219097.tif 000011
【図１０】
2008219097.tif 000012
【図１１】
2008219097.tif 000013
【図１２】
2008219097.tif 000014
【図１３】
2008219097.tif 000015
【図１４】
2008219097.tif 000016
【図１５】
2008219097.tif 000017
【図１６】
2008219097.tif 000018
【図１７】
2008219097.tif 000019
【図１８】
2008219097.tif 000020