(57)【特許請求の範囲】
【請求項１】
複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する１以上のコンテンツ配信装置と、前記コンテンツデータを前記ネットワークを介して受信及び再生する複数の端末装置と、前記チャンネル毎に前記コンテンツ配信装置を頂点として前記複数の端末装置が前記ネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおいて、
前記コンテンツ配信装置は、
前記コンテンツデータをストリーミング配信する配信手段を備え、
前記接続管理装置は、
前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択し、当該接続先候補を、前記接続先紹介要求を送信した前記端末装置へ通知する接続先候補通知手段と、を備え、
前記端末装置は、
前記チャンネルを選択するためのチャンネル選択手段と、
前記ネットワーク上の前記配信装置、前記接続管理装置及び他の前記端末装置と通信するための第１通信手段と、無線信号を送受信することによって前記ネットワークとは異なる経路で隣接する他の前記端末装置と通信するための第２通信手段とを有する通信手段と、
前記第１通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に接続する接続手段と、
前記第１通信手段を介して、接続した前記接続先候補からコンテンツデータを受信する第１受信手段と、
前記第２通信手段を介して、前記隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、
前記チャンネル選択手段によって前記チャンネルが選択されたときに、前記隣接端末情報取得手段により取得したチャンネル番号が前記チャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、
前記判定手段により前記チャンネル番号が一致すると判定されたとき、前記第２通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を前記他の端末装置に要求し、前記他の端末装置から前記コンテンツデータを受信する第２受信手段と、
前記チャンネル選択手段によって前記チャンネルが選択された後、前記第１受信手段で受信した前記コンテンツデータを再生するまでの間、前記第２受信手段で受信した前記コンテンツデータを再生する再生手段と、
前記第１通信手段を介して、他の前記端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ前記第１通信手段を介して受信したコンテンツデータを転送する中継手段と、を備えた
ことを特徴とするコンテンツデータ配信システム。
【請求項２】
複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する１以上のコンテンツ配信装置と、前記コンテンツデータを前記ネットワークを介して受信及び再生する複数の端末装置と、前記チャンネル毎に前記コンテンツ配信装置を頂点として前記複数の端末装置が前記ネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおけるコンテンツデータ配信方法において、
前記コンテンツ配信装置は、
前記コンテンツデータをストリーミング配信するステップを有し、
前記接続管理装置は、
前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、
前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択し、当該接続先候補を、前記接続先紹介要求を送信した前記端末装置へ通知するステップと、を有し、
前記端末装置は、
前記チャンネルの選択を検出するステップと、
前記ネットワーク上の前記配信装置、前記接続管理装置及び他の前記端末装置と通信するための第１通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に接続するステップと、
前記第１通信手段を介して、接続した前記接続先候補からコンテンツデータを受信するステップと、
前記ネットワークとは異なる経路で無線信号を送受信することによって通信するための第２通信手段を介して、前記隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得するステップと、
前記チャンネルが選択されたときに、前記取得したチャンネル番号が前記選択されたチャンネル番号と一致するか否かを判定するステップと、
前記チャンネル番号が一致すると判定されたとき、前記第２通信手段を介して、前記選択されたチャンネルのコンテンツデータのストリーミング配信を前記他の端末装置に要求し、前記他の端末装置から前記コンテンツデータを受信するステップと、
前記チャンネルが選択された後、前記接続先候補から受信した前記コンテンツデータを再生するまでの間、前記他の端末装置から受信した前記コンテンツデータを再生するステップと、
前記第１通信手段を介して、他の前記端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ前記第１通信手段を介して受信したコンテンツデータを転送するステップと、を有する
ことを特徴とするコンテンツデータ配信方法。
【請求項３】
複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する１以上のコンテンツ配信装置と、前記コンテンツデータを前記ネットワークを介して受信及び再生する複数の端末装置と、前記チャンネル毎に前記コンテンツ配信装置を頂点として前記複数の端末装置が前記ネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおける前記端末装置において、
前記チャンネルを選択するためのチャンネル選択手段と、
前記ネットワーク上の前記配信装置、前記接続管理装置及び他の前記端末装置と通信するための第１通信手段と、無線信号を送受信することによって前記ネットワークとは異なる経路で隣接する他の前記端末装置と通信するための第２通信手段とを有する通信手段と、
前記第１通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された接続先候補に接続する接続手段と、
前記第１通信手段を介して、接続した前記接続先候補からコンテンツデータを受信する第１受信手段と、
前記第２通信手段を介して、前記隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、
前記チャンネル選択手段によって前記チャンネルが選択されたときに、前記隣接端末情報取得手段により取得したチャンネル番号が前記チャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、
前記判定手段により前記チャンネル番号が一致すると判定されたとき、前記第２通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を前記他の端末装置に要求し、前記他の端末装置から前記コンテンツデータを受信する第２受信手段と、
前記チャンネル選択手段によって前記チャンネルが選択された後、前記第１受信手段で受信した前記コンテンツデータを再生するまでの間、前記第２受信手段で受信した前記コンテンツデータを再生する再生手段と、
前記第１通信手段を介して、他の前記端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ前記第１通信手段を介して受信したコンテンツデータを転送する中継手段と、を備えた
ことを特徴とする端末装置。
【請求項４】
前記端末装置の前記接続手段は、
前記判定手段により前記チャンネル番号が一致すると判定されたとき、前記チャンネル選択手段によって前記チャンネルが選択されてから所定期間待って前記接続先候補に接続する
ことを特徴とする請求項３に記載の端末装置。
【請求項５】
前記端末装置は、
前記チャンネル毎のコンテンツデータに関する、前記再生手段による平均再生期間を検出する平均再生時間検出手段を備え、
前記端末装置の接続手段は、
前記平均再生期間を前記所定期間として前記接続先候補に接続する
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
前記端末装置の前記接続手段は、
前記隣接端末情報取得手段によって前記端末情報の取得ができないとき、又は前記判定手段により前記チャンネル番号が一致しないと判定されたとき、前記チャンネル選択手段によって前記チャンネルが選択されてから前記所定期間を待たずに前記接続先候補に接続する
ことを特徴とする請求項４又は請求項５に記載の端末装置。
【請求項７】
前記端末装置の前記接続手段は、
前記チャンネル選択手段によって前記チャンネルが選択されてから前記所定期間内にさらに前記チャンネル選択手段によって別のチャンネルが選択されると、前記チャンネルに対する前記接続先候補への接続を行わないことを特徴とする請求項４から６のいずれか１項に記載の端末装置。
【請求項８】
前記端末装置は、
前記端末装置の前記隣接端末情報取得手段によって取得した端末情報から前記他の端末装置がＮＡＴ（ネットワークアドレス置換）ルータに接続されていると判定すると、前記接続手段による接続動作の前に、前記他の端末装置と自端末装置との通信接続を行うために必要な、前記ＮＡＴルータのＮＡＴ（ネットワークアドレス置換）テーブルの設定を行うＮＡＴテーブル設定手段を有する
ことを特徴とする請求項４から７のいずれか１項に記載の端末装置。
【請求項９】
前記端末情報は、前記他の端末装置に前記ネットワークを介して接続することができるか否かの情報を含み、
前記端末装置は、
前記隣接端末情報取得手段により取得した端末情報に基づいて、前記第２受信手段により前記コンテンツデータを受信している前記他の端末装置に前記ネットワークを介して接続することができるか否かを判定する接続可否判定手段を備え、
前記端末装置の前記接続手段は、
前記接続可否判定手段により前記他の端末装置に接続できると判定されると、前記第１通信手段を介して、当該他の端末装置に接続する
ことを特徴とする請求項４から８のいずれか１項に記載の端末装置。
【請求項１０】
前記接続可否判定手段により接続できると判定された前記他の端末装置と自端末装置との間のルータ数を検出するルータ数検出手段を備え、
前記端末装置の前記接続手段は、
前記接続可否判定手段により接続できると判定された前記他の端末装置のうち、前記ルータ数検出手段により検出された前記ルータ数が所定値以下の端末装置があるとき、当該他の端末装置に前記第１通信手段を介して接続し、前記ルータ数が所定値よりも大きいとき、前記第１通信手段を介して前記接続先候補に接続する
ことを特徴とする請求項９に記載の端末装置。
【請求項１１】
前記接続可否判定手段により接続できると判定された前記他の端末装置と自端末装置との間の通信時間を検出する通信時間検出手段を備え、
前記端末装置の前記接続手段は、
前記接続可否判定手段により接続できると判定された前記他の端末装置のうち、前記通信時間検出手段により検出された前記通信時間が所定値以下の端末装置があるとき、当該端末装置に前記第１通信手段を介して接続し、前記通信時間が所定値よりも大きいとき、前記第１通信手段を介して前記接続先候補に接続する
ことを特徴とする請求項９に記載の端末装置。
【請求項１２】
前記第２通信手段と、前記チャンネル選択手段と、前記隣接端末情報取得手段と、前記判定手段と、前記再生手段とを少なくとも第１ユニットに収納し、
前記第１通信手段と、前記接続手段と、前記第１受信手段と、前記中継手段と、前記第１ユニットと無線通信を行う第３通信手段とを少なくとも第２ユニットに収納し、
前記第２通信手段は、前記第３通信手段と無線通信可能に構成されていることを特徴とする請求項４から１０のいずれか１項に記載の端末装置。
【請求項１３】
コンピュータに、請求項４〜１２のいずれか１項に記載の端末装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラムに関するものである。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ（以下、「コンテンツデータ」と呼ぶ。）のストリーミング配信を行うコンテンツ配信サービスが開始され始めている。ここで、ストリーミング配信とは、クライアント端末装置（以下、単に「端末装置」と呼ぶ。）がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
【０００３】
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であった。
【０００４】
ところが、コンテンツ配信サービスの充実やネットワークへ接続する端末装置の増加に伴い、コンテンツ配信装置に対してコンテンツデータの配信を要求する端末装置が増加し、コンテンツ配信装置の負荷が増大していくのに加え、ネットワークにおけるトラフィックの集中が深刻な影響を及ぼすようになってきた。
【０００５】
このようなコンテンツ配信装置への負荷やトラフィックの増大を回避するため、オリジナルの配信サーバに加え、ミラーサーバやキャッシュなどのサーバをネットワーク内に複数配置することにより負荷分散する技術が実用化されているが、コンテンツを配信するサーバが複数必要となり設備のコストが増大する。
【０００６】
そのため、端末装置間でのコンテンツデータの中継、すなわちＰ２Ｐ通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツデータ配信システムが提案されている。
【０００７】
このコンテンツデータ配信システムは、コンテンツ配信装置を頂点としたツリー構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
【０００８】
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層（第１階層）に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第２階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下層に位置する端末装置へ配信するまで行うものである。
【０００９】
通常、このようなコンテンツデータ配信システムにおいては、複数の端末装置をツリー構造で論理接続するための接続管理装置がネットワーク上に配置されている。
【００１０】
接続管理装置は、コンテンツ配信システムの階層構造における端末装置の接続状態を管理する機能を有しており、この階層構造に参加していない端末装置からの参加要求を受信すると、階層構造を構成する複数の端末装置のいずれかを選択し、参加要求を行った端末装置に通知する。
【００１１】
この通知を受けた端末装置は、接続管理装置から紹介を受けた接続先候補に対して接続要求することにより、コンテンツ配信システムに参加することができ、これにより、コンテンツ配信装置からのコンテンツデータを上流の端末装置を介して受信できる。
【００１２】
ところで、放送形式のコンテンツデータ配信システムにおいて、複数のチャンネルによりコンテンツデータをストリーミング配信する場合、コンテンツ配信装置を頂点としたツリー型階層構造は、チャンネル毎に構成されることになる。
【００１３】
したがって、端末装置のユーザが、視聴しているチャンネルとは異なるチャンネルのコンテンツデータを視聴するために操作を行った場合、視聴しているチャンネルに対応するツリー型階層構造とは異なるツリー型階層構造に参加することになる。
【００１４】
しかしながら、端末装置のユーザが視聴するチャンネルを切替えたとき、切替先のチャンネルのツリー型階層構造に参加するためには多くの時間を要する。
【００１５】
すなわち、ユーザがチャンネルを切替える操作を行った場合、端末装置は、接続管理装置に対して新たな階層構造における接続先となる他の端末装置を紹介してもらう処理や、ＮＡＴ（Network Address Translation）を越える処理を行う必要があり、これらの処理が終了するまで新たな階層構造に参加することができず、ユーザがチャンネルを切替える操作を行っても、即座に接続先を切替えることができないのである。
【００１６】
このような問題に対処する方法として、コンテンツデータに他のチャンネルに関する要約データ（ザッピング対策用のコンテンツデータ）を重畳して配信しておくことにより、ユーザによるチャンネル切替操作から端末装置が新たな他の端末装置に接続するまでの時間を短縮させる情報閲覧方法を用いたコンテンツ配信システムが提案されている（たとえば、特許文献１参照。）。
【特許文献１】特開２００３−３２４７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
チャンネル切替えの時間を短縮するために、コンテンツデータにザッピング対策用のコンテンツデータを重畳すると、その分インターネットのネットワーク上でやり取りするデータ量が増大することとなるため、ネットワークに大きな負荷がかかり、インターネットを利用する他のユーザの迷惑となる。
【００１８】
そこで、本発明は、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間をより短縮することができるコンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
そこで、請求項１に係る本発明では、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する１以上のコンテンツ配信装置と、コンテンツデータをネットワークを介して受信及び再生する複数の端末装置と、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置がネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流への中継を行うコンテンツデータ配信システムにおいて、コンテンツ配信装置は、コンテンツデータをストリーミング配信する配信手段を備え、接続管理装置は、チャンネル毎に階層構造を構成する端末装置の接続状態情報を記憶する接続状態情報記憶手段と、端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択し、当該接続先候補を、接続先紹介要求を送信した端末装置へ通知する接続先候補通知手段とを備え、端末装置は、チャンネルを選択するためのチャンネル選択手段と、ネットワーク上の配信装置、接続管理装置及び他の端末装置と通信するための第１通信手段と、無線信号を送受信することによってネットワークとは異なる経路で隣接する他の端末装置と通信するための第２通信手段とを有する通信手段と、第１通信手段を介して、チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求を接続管理装置へ送信し、その後、接続管理装置から通知された接続先候補に接続する接続手段と、第１通信手段を介して、接続した接続先候補からコンテンツデータを受信する第１受信手段と、第２通信手段を介して、隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、チャンネル選択手段によってチャンネルが選択されたときに、隣接端末情報取得手段により取得したチャンネル番号がチャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、判定手段によりチャンネル番号が一致すると判定されたとき、第２通信手段を介して、チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を他の端末装置に要求し、他の端末装置からコンテンツデータを受信する第２受信手段と、チャンネル選択手段によってチャンネルが選択された後、第１受信手段で受信したコンテンツデータを再生するまでの間、第２受信手段で受信したコンテンツデータを再生する再生手段と、第１通信手段を介して、他の端末装置からコンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ第１通信手段を介して受信したコンテンツデータを転送する中継手段とを備えたことを特徴とする。
【００２０】
また、請求項２に係る本発明では、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する１以上のコンテンツ配信装置と、コンテンツデータをネットワークを介して受信及び再生する複数の端末装置と、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置がネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流への中継を行うコンテンツデータ配信システムにおけるコンテンツデータ配信方法において、コンテンツ配信装置は、コンテンツデータをストリーミング配信するステップを有し、接続管理装置は、チャンネル毎に階層構造を構成する端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択し、当該接続先候補を、接続先紹介要求を送信した端末装置へ通知するステップとを有し、端末装置は、チャンネルの選択を検出するステップと、ネットワーク上の配信装置、接続管理装置及び他の端末装置と通信するための第１通信手段を介して、チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求を接続管理装置へ送信し、その後、接続管理装置から通知された接続先候補に接続するステップと、第１通信手段を介して、接続した接続先候補からコンテンツデータを受信するステップと、ネットワークとは異なる経路で無線信号を送受信することによって通信するための第２通信手段を介して、隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得するステップと、チャンネルが選択されたときに、取得したチャンネル番号が選択されたチャンネル番号と一致するか否かを判定するステップと、チャンネル番号が一致すると判定されたとき、第２通信手段を介して、選択されたチャンネルのコンテンツデータのストリーミング配信を他の端末装置に要求し、他の端末装置からコンテンツデータを受信するステップと、チャンネルが選択された後、接続先候補から受信した前記コンテンツデータを再生するまでの間、他の端末装置から受信したコンテンツデータを再生するステップと、第１通信手段を介して、他の端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ第１通信手段を介して受信したコンテンツデータを転送するステップとを有することを特徴とする。
【００２１】
また、請求項３に係る本発明では、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する１以上のコンテンツ配信装置と、コンテンツデータをネットワークを介して受信及び再生する複数の端末装置と、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置がネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、コンテンツ配信装置からストリーミング配信されるコンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおける端末装置において、チャンネルを選択するためのチャンネル選択手段と、ネットワーク上の配信装置、接続管理装置及び他の端末装置と通信するための第１通信手段と、無線信号を送受信することによってネットワークとは異なる経路で隣接する他の端末装置と通信するための第２通信手段とを有する通信手段と、第１通信手段を介して、チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求を接続管理装置へ送信し、その後、接続管理装置から通知された接続先候補に接続する接続手段と、第１通信手段を介して、接続した接続先候補からコンテンツデータを受信する第１受信手段と、第２通信手段を介して、隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、チャンネル選択手段によってチャンネルが選択されたときに、隣接端末情報取得手段により取得したチャンネル番号がチャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、判定手段によりチャンネル番号が一致すると判定されたとき、第２通信手段を介して、チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を他の端末装置に要求し、他の端末装置から前記コンテンツデータを受信する第２受信手段と、チャンネル選択手段によってチャンネルが選択された後、第１受信手段で受信したコンテンツデータを再生するまでの間、第２受信手段で受信したコンテンツデータを再生する再生手段と、第１通信手段を介して、他の端末装置からコンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ第１通信手段を介して受信したコンテンツデータを転送する中継手段とを有することを特徴とする。
【００２２】
また、請求項４に係る本発明では、請求項３に記載の端末装置において、判定手段によりチャンネル番号が一致すると判定されたとき、端末装置の接続手段は、チャンネル選択手段によってチャンネルが選択されてから所定期間待って接続先候補に接続することを特徴とする。
【００２３】
また、請求項５に係る本発明では、請求項４に記載の端末装置において、端末装置は、チャンネル毎のコンテンツデータに関する、再生手段による平均再生期間を検出する平均再生時間検出手段を備え、端末装置の接続手段は、平均再生期間を所定期間として前記接続先候補に接続することを特徴とする。
【００２４】
また、請求項６に係る本発明では、請求項４又は請求項５に記載の端末装置において、端末装置の前記接続手段は、隣接端末情報取得手段によって端末情報の取得ができないとき、又は判定手段によりチャンネル番号が一致しないと判定されたとき、チャンネル選択手段によってチャンネルが選択されてから所定期間を待たずに接続先候補に接続することを特徴とする。
【００２５】
また、請求項７に係る本発明では、請求項４から６のいずれか１項に記載の端末装置において、端末装置の前記接続手段は、チャンネル選択手段によってチャンネルが選択されてから所定期間内にさらにチャンネル選択手段によって別のチャンネルが選択されると、チャンネルに対する接続先候補への接続を行わないことを特徴とする。
【００２６】
また、請求項８に係る本発明では、請求項４から７のいずれか１項に記載の端末装置において、端末装置は、端末装置の隣接端末情報取得手段によって取得した端末情報から他の端末装置がＮＡＴ（ネットワークアドレス置換）ルータに接続されていると判定すると、接続手段による接続動作の前に、他の端末装置と自端末装置との通信接続を行うために必要な、ＮＡＴルータのＮＡＴ（ネットワークアドレス置換）テーブルの設定を行うＮＡＴテーブル設定手段を有することを特徴とする。
【００２７】
また、請求項９に係る本発明では、請求項４から８のいずれか１項に記載の端末装置において、端末情報は、他の端末装置にネットワークを介して接続することができるか否かの情報を含み、端末装置は、隣接端末情報取得手段により取得した端末情報に基づいて、第２受信手段によりコンテンツデータを受信している他の端末装置にネットワークを介して接続することができるか否かを判定する接続可否判定手段を備え、端末装置の接続手段は、接続可否判定手段により他の端末装置に接続できると判定されると、第１通信手段を介して、当該他の端末装置に接続することを特徴とする。
【００２８】
また、請求項１０に係る本発明では、請求項９に記載の端末装置において、接続可否判定手段により接続できると判定された他の端末装置と自端末装置との間のルータ数を検出するルータ数検出手段を備え、端末装置の接続手段は、接続可否判定手段により接続できると判定された他の端末装置のうち、ルータ数検出手段により検出されたルータ数が所定値以下の端末装置があるとき、当該他の端末装置に第１通信手段を介して接続し、ルータ数が所定値よりも大きいとき、第１通信手段を介して前記接続先候補に接続することを特徴とする。
【００２９】
また、請求項１１に係る本発明では、請求項９に記載の端末装置において、接続可否判定手段により接続できると判定された他の端末装置と自端末装置との間の通信時間を検出する通信時間検出手段を備え、端末装置の接続手段は、接続可否判定手段により接続できると判定された他の端末装置のうち、通信時間検出手段により検出された通信時間が所定値以下の端末装置があるとき、当該端末装置に第１通信手段を介して接続し、通信時間が所定値よりも大きいとき、第１通信手段を介して前記接続先候補に接続することを特徴とする。
【００３０】
また、請求項１２に係る本発明では、請求項４から１０のいずれか１項に記載の端末装置において、第２通信手段と、チャンネル選択手段と、隣接端末情報取得手段と、判定手段と、再生手段とを少なくとも第１ユニットに収納し、第１通信手段と、接続手段と、第１受信手段と、中継手段と、第１ユニットと無線通信を行う第３通信手段とを少なくとも第２ユニットに収納し、第２通信手段は、第３通信手段と無線通信可能に構成されていることを特徴とする。
【００３１】
また、請求項１３に係る本発明では、コンピュータに、請求項４〜１２のいずれか１項に記載の端末装置の各手段として機能させるためのプログラムを提供することとした。
【発明の効果】
【００３２】
本発明によれば、以下に記載するような効果を奏する。すなわち、請求項１に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおいて、ユーザによるチャンネル切替え操作が行われてから、端末装置とコンテンツデータを配信する装置との有線通信による接続が完了するまでの間、無線通信によりコンテンツデータを受信できるように構成したため、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間を可及的に短縮してチャンネルの切替えをスムーズに行うことができるコンテンツデータ配信システムを提供することができる。
【００３３】
また、請求項２に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおけるコンテンツデータ配信方法において、ユーザによるチャンネル切替え操作が行われてから、端末装置とコンテンツデータを配信する装置との有線通信による接続が完了するまでの間、無線通信によりコンテンツデータを受信できるように構成したため、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間を可及的に短縮してチャンネルの切替えをスムーズに行うことができるコンテンツデータ配信方法を提供することができる。
【００３４】
また、請求項３に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおいてユーザが使用する端末装置において、ユーザによるチャンネルを切替え操作が行われてから、端末装置とコンテンツデータを配信する装置との有線通信による接続が完了するまでの間、無線通信によりコンテンツデータを受信できるように構成したため、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間を可及的に短縮してチャンネルの切替えをスムーズに行うことができる端末装置を提供することができる。
【００３５】
また、請求項４に係る本発明によれば、ユーザがチャンネル選択によって指定したチャンネルを第２通信手段によって検出された隣接端末装置が視聴中であるという状態を踏まえ、所定期間待ってから第１通信手段を介して取得した接続先候補へ接続するので、コンテンツ配信システムにおけるコンテンツデータの配信経路を構成する階層構造の論理接続関係への外乱を少なくすることができる。
【００３６】
また、請求項５に係る本発明によれば、ユーザによる過去の視聴状態を考慮して請求項４に示す所定時間を決定するため、第１通信手段によるコンテンツのストリーミング受信が行われる前に実施される第２通信手段によるコンテンツのストリーミング受信の所定時間を適切に決めることができる。
【００３７】
また、請求項６に係る本発明によれば、ユーザにより選択されたコンテンツデータを受信している他の端末が地理的に近接する位置に存在しない場合であっても確実にユーザが所望するコンテンツデータを受信することができる。
【００３８】
また、請求項７に係る本発明によれば、短時間のうちに頻繁にチャンネル切替えを行うザッピング状態が検出されたときに、第１通信手段によるコンテンツのストリーミング受信の開始を留保するので、コンテンツ配信システムにおけるコンテンツデータの配信経路を構成する階層構造の論理接続関係への外乱を少なくすることができる。
【００３９】
また、請求項８に係る本発明によれば、無線通信によりユーザが所望するチャンネルのコンテンツデータを受信している間に、隣接端末情報取得手段によって取得した端末情報を用いて有線通信による接続のために必要なＮＡＴテーブルの設定処理を行うことができるので、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間をより一層短縮することができる。
【００４０】
また、請求項９に係る本発明によれば、第２通信手段により得られた隣接端末情報から、隣接する端末装置に対して第１通信手段を介して直接接続できると判定された場合には、接続管理装置へ接続先紹介要求を発行して接続先を取得すること無く、直接隣接する端末装置へ接続するので、接続先紹介装置に対する接続先紹介要求の発行が集中しない。
【００４１】
また、請求項１０、１１に係る本発明によれば、第２通信手段により得られた隣接端末情報から、隣接する端末装置がネットワーク的に近いと判定された場合に限って第１通信手段を介して直接接続するので、第１通信手段を介して該端末装置へ接続した後にネットワークへ与える負荷を軽減できる。また、通信の速度や安定性にも寄与することができる。
【００４２】
また、請求項１２に係る本発明によれば、請求項４乃至請求項１２に示す発明を実施するに当たって、ネットワーク機器等に接続して有線通信を行う端末装置のユニット１と、ユーザがリモコン等を介して送った指示を受けるユニット２の筐体を分離することができるので、ユーザに対する端末装置の機器使用上の利便性を向上させることができる。
【００４３】
また、請求項１３に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおいて、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間をより一層短縮することができる端末装置の動作プログラムを提供することができる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施形態は、Ｐ２Ｐを用いたツリー構造によるコンテンツ配信システムであって、放送形式でコンテンツ配信装置から配信されるコンテンツデータを、ツリー状階層構造を構成する端末装置がＰ２Ｐを用いて受信する放送形式のコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【００４５】
［１．コンテンツ配信システムの構成等］
まず、図１を参照して、コンテンツ配信システムＳの概要構成等について説明する。
【００４６】
図１は、本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。図１に示すように、本実施形態に係るコンテンツ配信システムＳは、放送形式のコンテンツ配信システムであり、複数のコンテンツデータをそれぞれ別個にストリーミング配信するための複数の配信チャンネル（以下、単に「チャンネル」と呼ぶ、）を有している。たとえば、１チャンネルは、コンテンツ配信装置１を頂点として複数の端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８が論理的にツリー状階層構造で接続されており、コンテンツ配信装置１からコンテンツデータが当該ツリー構造の上層から下層にかけてストリーミング配信されるように構成される。他のチャンネル（２チャンネル〜ｎチャンネル）においても、同様な構成をとる。
【００４７】
また、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８（図４では、端末装置２d１、２ｄ２、２ｅ１〜２ｅ４、２ｆ１）のいずれかの端末装置又はすべての端末装置を示す場合には、便宜上、端末装置２という場合がある。
【００４８】
また、コンテンツ配信システムＳには、接続管理装置３を有しており、この接続管理装置３が各チャンネルのツリー状階層構造を管理している。
【００４９】
コンテンツ配信装置１、端末装置２ａ１，２ａ２，２ｂ１〜２ｂ４，２ｃ１〜２ｃ８、接続管理装置３には、各々ＩＰアドレスが割り当てられており、これら装置は、ネットワークの一例としてのインターネット４にルータ１０等を介して接続されている。すなわち、目的の接続先端末装置のＩＰアドレスを宛先ＩＰアドレス、自装置のＩＰアドレスを送信元ＩＰアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
【００５０】
なお、接続管理装置３をコンテンツ配信装置１の内部に有することとしてもよい。この場合には接続管理装置３にはＩＰアドレスは割り当てなくてもよく、コンテンツ配信装置１のＩＰアドレスと共用するようにしてもよい。また、コンテンツ配信装置１は、コンテンツ配信システムＳを構成する複数のチャンネル（ここでは、１チャンネル〜nチャンネルとする。）のコンテンツデータを配信するものとしてもよく、一方でそれぞれのチャンネル毎にコンテンツ配信装置１が設けられるようにしてもよい。本実施形態においては、それぞれのチャンネル毎にコンテンツ配信装置１を設けるようにしており、第１コンテンツ配信装置１a１が１チャンネルのコンテンツデータをストリーミング配信し、第２コンテンツ配信装置１a２が２チャンネルのコンテンツデータをストリーミング配信するものとして説明する（図４参照）。
【００５１】
また、第１階層の端末装置２ａ１，２ａ２と２ｄ１，２ｄ２は便宜上それぞれ端末装置２a、２ｄと、第２階層の端末装置２ｂ１〜２ｂ４と２ｅ１〜２ｅ４は便宜上それぞれ端末装置２ｂ、２ｅと、第３階層の端末装置２ｃ１〜２ｃ８、２ｆ１は便宜上それぞれ端末装置２ｃ、２fという場合がある。
【００５２】
このコンテンツ配信システムＳは、第１及び第２コンテンツ配信装置１a１、１a２を頂点（ここでは、便宜上第０階層とする。）として複数の端末装置２がツリー状階層構造で多層に論理接続されるように接続管理装置３によって管理される。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置２がチェーン状の階層構造で多層に論理接続されるようにしてもよい。
【００５３】
接続管理装置３は、コンテンツ配信システムＳに参加していない端末装置２、言い換えればツリー状階層構造を構成していない端末装置２から接続先紹介要求を受信すると、コンテンツ配信システムＳのツリー状階層構造の状態等に基づいて、その端末装置２がストリーミング配信を受けるための上流の端末装置として接続する接続先候補（コンテンツ配信装置１又は端末装置２）を選択する。そして、このように選択した接続先候補の所在情報（接続先候補のＩＰアドレスやポート番号など）及び通信プロトコル等を通知する。
【００５４】
なお、コンテンツ配信システムＳにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置２へのポート番号及び通信プロトコルは通知しなくてもよい。ここで、通信プロトコルとして、ＭＭＳ（Microsoft Media Server）プロトコル、ＲＴＳＰ(Real Time Streaming Protocol)等が用いられる。また、コンテンツデータの形式として、ＡＳＦ（Advanced Streaming Format）、ＷＭＡ（Windows(登録商標) Media Audio）、ＷＭＶ（Windows(登録商標) Media Video）等が用いられる。
【００５５】
端末装置２は、接続管理装置３から接続先候補の所在情報を受信すると、そのＩＰアドレスの接続先候補に対して、コンテンツ配信システムＳへの参加（接続）を要求し、これにより端末装置２がコンテンツ配信システムＳにおける階層構造へ組み込まれる。すなわち、端末装置２はコンテンツ配信装置１から配信されるコンテンツデータを受信可能となる。
【００５６】
コンテンツ配信システムＳは、このように端末装置２が次々と参加することによって、コンテンツ配信装置１を頂点として複数の端末装置２がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置１から配信されるコンテンツデータは、端末装置２の中継機能により順次下層の端末装置２へ中継されて複数の端末装置２にストリーミング配信される。
【００５７】
すなわち、図１に示すように、１チャンネルにおいては、コンテンツ配信装置１から端末装置２ａ１，２ａ２（第1層の端末装置）へコンテンツデータが送信され、端末装置２ａ１，２ａ２はコンテンツデータを受信すると、下層の端末装置２ｂ１〜２ｂ４（第２階層の端末装置）へ受信したコンテンツデータを順次中継する。端末装置２ｂ１〜２ｂ４はコンテンツデータを受信すると、下層の端末装置，２ｃ１〜２ｃ８（第３階層の端末装置）へ受信したコンテンツデータを順次中継する。
【００５８】
なお、端末装置２は、組み込まれた階層構造の位置の上層の端末装置２又はコンテンツ配信装置１の所在情報と、その位置の下層の端末装置２の所在情報とを後述の主記憶装置２０７に記憶しており、このように記憶した所在情報に基づいて、コンテンツデータの中継を行なうようにしている。また、配信されるコンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このようにパケットに分割されて配信されるデータをコンテンツパケットという。
【００５９】
このように端末装置２へ配信されるコンテンツデータは、コンテンツ配信システムＳに参加しているすべての端末装置２へ配信される。配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻の情報（以下、「再生時刻データ」という。）が含まれている。そして、コンテンツデータを受信した複数の端末装置２は、順次送信されるコンテンツデータの再生を再生時刻データに基づいて行なう。
【００６０】
このようにして、コンテンツ配信システムＳは、コンテンツ配信装置１から送信されたコンテンツデータが複数の端末装置２にストリーミング配信され、複数の端末装置２において同時刻にコンテンツを再生することができる。すなわち、Ｐ２Ｐを用いて複数の端末装置２への放送形式のストリーミング配信を実現している。
【００６１】
上述のように本実施形態におけるコンテンツ配信システムＳは、複数のコンテンツデータをそれぞれストリーミング配信する複数のチャンネルを有している。端末装置２のユーザは、所望のチャンネルを選択し、選択したチャンネルにおける自端末装置２の接続先装置（以下、「接続先候補」とする。）を接続管理装置３から取得する。そして、その接続先候補に接続することによって所望のチャンネルの階層構造に参加し、この階層構造における自端末装置２の上層に位置する装置からコンテンツデータを受信し、再生（以下、「視聴」ともいう。）する。
【００６２】
このように端末装置２があるチャンネルの階層構造に参加した後、この端末装置２のユーザがチャンネルを切替える場合がある。ユーザが現在視聴中のチャンネルとは異なるチャンネルを選択してチャンネル切替え（以下、「ザッピング」ともいう。）を行った場合、従来のコンテンツ配信システムＳにおける端末装置２は、参加しているチャンネルの階層構造から脱退し、ユーザにより選択されたチャンネルの階層構造への参加を上述の手順で行っていた。
【００６３】
従来では、参加しているあるチャンネルの階層構造から別のチャンネル階層構造へ参加する際に、接続管理装置３から接続先候補の情報を受け取るための処理、及びその接続先候補へ接続するためのＮＡＴ（network Address Translation）越え等の処理を行うといった一連の接続処理を行っていた。そのため、従来のコンテンツ配信システムＳにおける端末装置２では、切替え先のチャンネルのコンテンツデータを受信して再生するまでの時間、コンテンツデータが再生されない状態が発生していた。このようなコンテンツデータが再生されない期間（空白期間）は端末装置２のユーザに不快感を与える要因となる。
【００６４】
そこで、本実施形態における端末装置２においては、地理的に近い場所に設置されている複数の他の端末装置（以下、「隣接端末装置」という。）２との間で定期的に無線通信を行うことにより、複数の隣接端末装置２のネットワーク上における所在情報を含む、当該隣接端末装置２に関する様々な情報（以下、「端末情報」という。）を取得すると共に、ユーザがザッピングを行う場合には、この端末情報を参照して、ユーザが選択したチャンネルで配信されているコンテンツデータを受信中の隣接端末装置２を検索し、該当した隣接端末装置２から無線通信により所定期間コンテンツデータを受信するようにしている。
【００６５】
[２．チャンネル切り替え方式の説明]
そして、この端末装置２では、上記隣接端末装置２から無線通信によりコンテンツデータを受信している間に、そのコンテンツデータを送信している隣接端末装置２の下流側に接続可能であるか否かを判断すると共に、接続可能であると判断した場合には、ザッピングのための処理を行い、その処理が終了した後に、コンテンツデータを送信している隣接端末装置２下流側に接続して、有線通信によりコンテンツデータの受信を行うようにしている。
【００６６】
図２は、本実施形態における各端末装置２の有線、及び、無線通信による通信形態を示す説明図である。図２に示すように、各端末装置２は、それぞれ有線の電話回線ケーブル等に接続されており、この電話回線ケーブル等を介してユーザが所望するチャンネルのコンテンツデータを配信しているコンテンツ配信装置１又は他の端末装置２と接続することにより、接続したコンテンツ配信装置１又は他の端末装置２から配信される所望のコンテンツデータを受信して視聴できるように構成している。
【００６７】
さらに、各端末装置２は、定期的に（例えば、１分おきに）無線ＬＡＮ等の電波を用いて近隣の端末装置２同士間で相互に無線通信を行うことにより、自端末装置２に関する情報を端末情報として隣接端末装置２へ送信すると共に、複数の隣接端末装置２から端末情報を受信するようにしている。
【００６８】
そして、複数の隣接端末装置２から送信されてくる隣接端末情報は、各端末装置２内部に順次記憶され、新たな端末情報が送信されてくるたびに更新される。
【００６９】
図３は、端末装置２に記憶された隣接端末情報の一例を示す説明図であり、ここでは、７つの隣接端末装置２に関する端末情報を示している。
【００７０】
図３に示すように、端末情報は、装置番号と、所在情報と、接続中チャンネルと、下流接続可否と、ポップ数と、ＲＴＴ（Round Trip Time）という６つの項目に別れており、各端末装置では、この６つの項目を各隣接端末装置２毎にそれぞれ対応させて記憶、管理するようにしている。
【００７１】
ここで、端末番号とは、各端末装置２のそれぞれ割り当てられたユニークな番号である。
【００７２】
また、所在情報とは、各隣接端末装置２のネットワーク上における所在地を示す情報であり、隣接端末装置２が優先通信で使用しているローカルアドレスに割り当てられているＮＡＴルータにおける外側（インターネット側）のアドアレス（グローバルアドレス）である。
【００７３】
また、接続中チャンネルは、隣接端末装置が現在接続しているチャンネルのチャンネル番号を示す情報である。
【００７４】
また、下流接続可否は、各隣接端末装置２が、新たな他の端末装置２を自端末装置２の階層構造における下流側に接続可能な状態であるか否かを示すフラグである。
【００７５】
また、ポップ数は、自端末装置２がネットワーク上において隣接端末装置２との間で情報を送受信する場合に経由するルータ１０の数を示す情報である。
【００７６】
また、ＲＴＴは、自端末装置２から隣接端末装置へパケットを送信してから、再び自端末装置２に戻ってくるまでの時間を示す情報である。
【００７７】
ここで、ポップ数とＲＴＴに関しては、端末装置２が隣接端末情報として得た所在情報を使って、隣接端末装置２との間で有線通信を介して計測用パケットを送受信することで測定する。
【００７８】
そして、各端末装置２では、ユーザによるチャンネル切替え操作があったとき、のこの端末情報に基づいて、ユーザが選択したチャンネルに接続している隣接端末装置２を検索し、この検索にヒットした隣接端末装置２との間で有線通信による接続が確立するまでの間、当該検索にヒットした隣接端末装置２から無線通信によりコンテンツデータを受信することによって、ユーザがザッピングのための操作を行ってからユーザが選択したチャンネルで配信されているコンテンツデータを再生するまでの時間を可及的に短くするようにしている。
【００７９】
ここで、図４及び図５を参照して、本実施形態におけるチャンネル切り替え（ザッピング）について、さらに具体的に説明する。
【００８０】
図４は、１チャンネルのコンテンツデータがストリーミング配信されている階層構造と、２チャンネルのコンテンツデータがストリーミング配信されている階層構造とを示す説明図であり、図５は、端末装置２で行われるザッピングを時間の流れでみた説明図である。
【００８１】
図４に示すように、１チャンネル側では、第１コンテンツ配信装置１ａ１（０階層）を頂点とした階層構造が構築されており、この第１コンテンツ配信装置１ａ１に１階層を構成する端末装置２ａ１、２a２が接続されている。また、端末装置２ａ１には２階層を構成する端末装置２ｂ１、２ｂ２が接続され、端末装置２ａ２には２階層を構成する端末装置２ｂ３、２ｂ４が接続されている。
【００８２】
そして、２階層の端末装置２ｂ４の下流側には、３階層を構成する端末装置２ｃ１が接続されており、ここでは、この端末装置２ｃ１をザッピング前の自端末装置２として説明する。
【００８３】
また、２チャンネル側では、第２コンテンツ配信装置１ａ２（０階層）を頂点とした階層構造が構築されており、この第２コンテンツ配信装置１ａ２に１階層を構成する端末装置２ｄ１、２ｄ２が接続されている。また、端末装置２ｄ１には２階層を構成する端末装置２ｅ１、２ｅ２が接続され、端末装置２ｄ２には２階層を構成する端末装置２ｅ３、２ｅ４が接続されている。なお、２チャンネル側において２階層の端末装置２ｅ１の下流に接続されている端末装置２ｆ１は、ザッピング前の自端末装置２ｃ１がザッピングを行うことにより、２チャンネル側の階層構造に参加した状態を示すものであり、ここではザッピング後の自端末装置２ｆ１と呼ぶ。
【００８４】
いま、１チャンネルの階層構造に参加して第１コンテンツ配信装置１ａ１から配信されているコンテンツデータを視聴しているザッピング前の自端末装置２ｃ１のユーザが、２チャンネルを選択する操作を行ったとする。
【００８５】
ここで、ザッピング前の自端末装置２ｃ１は、現在２チャンネルの第２コンテンツ配信装置１ａ２から配信されているコンテンツデータを受信中の隣接端末措置２が存在するか否かを判定する。
【００８６】
このとき、２チャンネルのコンテンツデータを受信している近接端末措置２が存在するか否かは、図３に示した端末情報を判断基準として用いることにより判断することができる。
【００８７】
すなわち、ザッピング前の自端末装置２ｃ１は、まず、端末情報における接続中チャンネルの項目を参照して、現在２チャンネルのコンテンツデータを受信中の隣接端末装置２が存在するか否かの判断を行う。
【００８８】
図４では、２チャンネル側の階層構造における２階層の端末装置２ｅ１が、ザッピング前の自端末装置２ｃ１の隣接端末装置２であって、現在２チャンネルのコンテンツデータを受信中の端末装置２であるものとする。
【００８９】
そして図４に示すように、２チャンネルのコンテンツデータを受信中の隣接端末装置２ｅ１が存在した場合には、その隣接端末装置２ｅ１との間で無線通信を開始して、その隣接端末装置２ｅ１から２チャンネルのコンテンツデータを、無線通信を用いて受信して再生するようにしている。
【００９０】
すなわち、ザッピング前の自端末装置２ｃ１は、隣接端末装置２ｅ１に対して、２チャンネルのコンテンツデータの無線通信によるストリーム送信依頼を要求する。このストリーム送信依頼を受信した隣接端末装置２ｅ１は、無線通信の空きチャンネルをストリーム送信用にアサイン（割り当て）してストリーム送信要求を送信してきた端末装置２ｃ１との間で無線通信による接続を確立する。
【００９１】
そして、ストリーム送信要求を送信してきた端末装置２ｃ１へ、現在上流に接続している端末装置２ｄ１から有線通信を介して受信している２チャンネルのコンテンツデータの送信を開始する。
【００９２】
そして、隣接端末装置２ｅ１から２チャンネルのコンテンツデータを無線通信により受信した自端末装置２ｃ１は、そのコンテンツデータをデコーダによりデコードして再生する。
【００９３】
なお、この自端末装置２ｃ１は、ユーザにより選択されたチャンネル（ここでは、２チャンネル）のコンテンツデータを受信中の隣接端末装置２ｅ１が存在すると判断した時点で、その隣接端末装置２ｅとの間で有線通信による接続を行うために必要なＮＡＴ越えの処理を事前に行うようにしている。
【００９４】
ここで、ＮＡＴ越えの処理とは、隣接端末装置２ｅ１が接続しているルータ１０の外部を宛先として自端末装置２ｃ１が隣接端末装置２ｅ１へＩＰパケットを送信できる状態にすると共に、自端末装置２ｃ１が接続しているルータ１０の外部を宛先として隣接端末装置２ｅ１が自端末装置２ｃ１へＩＰパケットを送信できる状態にするための処理である。すなわち、この処理は、ＮＡＴルータのＮＡＴテーブルにこれから有線通信で通信を行う２つの端末装置２間（ここでは、自端末装置２ｃ１と隣接端末装置２ｅ１との間）の通信コネクションを記憶させる処理であり、たとえば、ＵＤＰ（User Datagram Protocol）を用いて通信する場合には、自端末装置２ｃ１と隣接端末装置２ｅ１が同時に相手側の端末装置２へＩＰパケットを送信することで上記目的を達するＵＤＰHolePunchingと呼ばれる技術を用いる。
【００９５】
その後、図５に示すように、自端末装置２ｃ１は、無線通信によるコンテンツデータの受信が所定（固定）時間継続されている間にユーザによるザッピングの操作が行われなかった場合には、現在受信しているコンテンツデータの送信元である近隣端末装置２ｅ１との間で有線通信を行うための接続処理を開始する。
【００９６】
このように、本実施形態の端末装置２では、無線通信によるコンテンツデータの受信が所定時間継続した後に、近隣端末装置２ｅ１との間で有線通信を行うための接続処理を開始することにより、頻繁にザッピングが行われることに起因して階層構造の論理接続関係が不安定になることを防止するようにしている。
【００９７】
ここで、自端末装置２ｃ１は、再度、図３に示す端末情報を参照して、現在無線通信によりコンテンツデータのストリーム配信を受けている隣接端末装置２ｅ１が、階層構造における下流側に接続可能な状態であるか否かの判断を行う。
【００９８】
すなわち、自端末装置２ｃ１は、隣接端末装置２ｅ１に関する下流接続可否の項目を参照し、当該隣接端末装置２ｅ１の下流接続可否を示すフラグがＯＫを示すものであるか否かを判断する。
【００９９】
このとき、下流接続可否を示すフラグがＯＫを示していると判断した場合には、さらに、その隣接端末装置２に関するポップ数とＲＴＴとを参照して自端末装置２ｃ１とのネットワーク上における近接度が高いか否かの判断を行う。
【０１００】
ここでは、ポップ数が所定の閾値以下であり、且つ、ＲＴＴが所定の閾値以下であった場合に、ネットワーク上における近接度が高いと判断する。
【０１０１】
その結果、ポップ数が所定の閾値以下であり、且つ、ＲＴＴが所定の閾値以下であると判断した場合に、その隣接端末装置２が、現在２チャンネルの第２コンテンツ配信装置１ａ２から配信されているコンテンツデータを受信中で、その下流側に接続可能な隣接端末措置２であると判断して、隣接端末装置２ｅ１との有線通信による接続を確立するための処理を開始する。
【０１０２】
そして、この有線通信による接続を確立するための処理が終了すると、ザッピング前の自端末装置２ｃ１は、図４に示すように、ザッピング後の自端末装置２ｆ１として隣接端末装置２ｅ１との有線通信による接続が確立する。その後、ザッピング後の端末装置２ｆ１は、隣接端末装置２ｅ１に対して、有線通信によるコンテンツデータのストリーム送信依頼を送信する。
【０１０３】
隣接端末装置２ｅ１は、このストリーム送信依頼を受信すると、ストリーム送信依頼を送信してきた端末装置２ｆ１を下流に接続した端末装置２として登録し、図５に示すように、その端末装置２ｆ１へ現在上流に接続している端末装置２ｄ１から受信している２チャンネルのコンテンツデータを有線通信により送信する。
【０１０４】
そして、有線通信によりこのコンテンツデータを受信し始めると、ザッピング後の自端末装置２ｆ１は、受信したコンテンツデータをデコードして再生する。
【０１０５】
このように、本実施形態の端末装置２によれば、ユーザによるザッピングの操作が行われてから、ユーザが選択したチャンネルの階層構造に参加して有線通信によりコンテンツデータを受信して再生するまでの間、そのコンテンツデータを上流の端末装置２から受信中の隣接端末装置２から無線通信により受信して再生するように構成しているため、ユーザがザッピングの操作をしてから、そのユーザが選択したチャンネルのコンテンツデータを再生するまでの時間を可及的に短縮することができ、スムーズなザッピングを行うことができる。
【０１０６】
しかも、この端末装置２では、従来の端末技術で見られるように、コンテンツデータに他のチャンネルに関する要約データ（ザッピング対策用のコンテンツデータ）を重畳して配信することがないのでＰ２Ｐ通信によるインターネットへ負荷をかけることがない。
【０１０７】
また、ここでは、ザッピングの操作をしたユーザが選択したチャンネルのコンテンツデータを受信中の隣接端末装置２ｅ１が存在し、且つ、その隣接端末装置２ｅ１が下流側にザッピングをする自端末装置２ｃ１を接続可能な状態であった場合について説明したが、自端末装置２ｃ１の地理的近隣にユーザが選択したチャンネルのコンテンツデータを受信中の隣接端末装置２ｅ１が存在しない場合や、仮に存在しても、その隣接端末装置２ｅ１が下流側に端末装置２を接続できない場合、もしくは、端末装置２を接続可能な状態であるが、接続する接続する端末装置２とのネットワーク上における近接度が低い場合には、以下に説明する通常接続を行う。
【０１０８】
すなわち、通常接続を行う場合に端末装置２は、まず、接続管理装置３に接続して、接続管理装置から、ユーザが選択したチャンネルのコンテンツデータを配信可能な他の端末装置２、又は、コンテンツ配信装置１の候補を取得する。
【０１０９】
次に、端末装置２は、取得した候補の中から選択した装置（他の端末装置２、又は、コンテンツ配信装置１）との間で有線通信による接続を確立すべく上記したＮＡＴ越えのための処理を行い、有線通信による接続を確立した装置とのネットワーク上における近接度を計測する。
【０１１０】
すなわち、有線通信による接続を確立した装置に関するポップ数及びＲＴＴを取得して、ポップ数及びＲＴＴがそれぞれに対して設定された所定の閾値以下である場合に、その装置へストリーム送信依頼を送信し、ポップ数又はＲＴＴが所定の閾値よりも大きい場合には、他の候補に対して、上記したＮＡＴ越えの処理、及び、ネットワーク上における近接度の計測を繰り返し行う。
【０１１１】
ストリーム送信依頼を受信した装置は、当該ストリーム送信依頼を送信してきた端末装置２を下流側に接続した装置であるとして登録し、その端末装置２へコンテンツデータの送信を開始する。
【０１１２】
このコンテンツデータを受信し始めると、端末装置２は、受信したコンテンツデータをデコードして再生する。
【０１１３】
また、上記自端末装置２ｃ１では、図５に示したように、隣接端末装置２ｅ１から無線通信によりコンテンツデータの受信を開始してから所定時間が経過した後に、隣接端末装置２ｅ１と有線通信による接続を行うようにしているが、本発明は、これに限定されるものではなく、例えば、図６に示すように、自端末装置２ｃ１が隣接端末装置２e１から無線通信によりコンテンツデータの受信を開始したら、即座に隣接端末装置２ｅ１との有線通信による通信を行うための接続処理を開始し、この接続処理が完了した時点で速やかに隣接端末装置２ｅ１によるストリーム送信を停止するようにしてもよい。
【０１１４】
この場合は、有線通信によって形成されている配信経路への参加時間を短縮するかたちとなる。
【０１１５】
また、予め各端末装置２のザッピング間隔を端末情報と共に管理しておき、ザッピング間隔の平均時間に応じて、無線通信によるコンテンツデータのストリーム送信の開始から、有線通信による通信を行うための接続処理を開始するまでの時間を可変に設定するようにしてもよい、
【０１１６】
こうすることにより、図７に示すように、無線通信によるコンテンツデータのストリーム送信の開始から、有線通信による通信を行うための接続処理を開始するまでの時間を可変に設定することができ、これにより、ユーザのチャンネル切替えに関する行動特性に応じた切替え処理を実現することができる。。
【０１１７】
以下、コンテンツ配信システムＳを構成するコンテンツ配信装置１、端末装置２及び接続管理装置３についてそれらの具体的な構成及び動作について図面を参照して説明する。
［３．コンテンツ配信装置１の構成等の説明］
次に、図８を参照して、コンテンツ配信装置１の構成及び動作について説明する。
【０１１８】
図８は、本実施形態におけるコンテンツ配信装置１の概略構成例を示す図である。コンテンツ配信装置１は、一般のサーバコンピュータを適用可能であり、図８に示すように、ＣＰＵ（Central Processing Unit）３０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての主記憶装置３０５と、各種データ等を記憶するハードディスク装置３０３と、インターネット４を介して端末装置２や接続管理装置３との間で通信を行うネットワークインタフェース３０４と、所定の情報を入力可能なキーボード３０７やマウス３０８等の入力手段を制御する周辺機器制御チップ３０６と、ＣＰＵ３０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ３１０に表示するビデオチップ３０９と、ビデオチップ３０９から送信される信号に応じた表示を行うディスプレイ３１０と、ＦＭ音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ３１１と、音源チップ３１１から出力されるオーディオ信号を音波に変換する内蔵スピーカ３１２とを備えて構成され、これらの各種構成要素はシステムバス３０１を介して相互に接続されている。
【０１１９】
なお、ネットワークインタフェース３０４は、ルータ３２０を介してインターネット４に接続される。このルータ３２０は、図１に示すルータ１０に相当するものである。
【０１２０】
なお、本実施形態においては、ＣＰＵ３０２と主記憶装置３０５とで制御部３３０を構成している。また、コンテンツ配信装置１には、上述のようにディスプレイ（液晶ディスプレイ等）３１０等が接続されるようになっており、例えば、コンテンツ配信システムＳを運用する放送運営者は、このディスプレイ３１０を見ながら入力手段から所定の情報を入力することができる。
【０１２１】
（主記憶装置３０５ついて）
また、主記憶装置３０５には、コンテンツ配信装置１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）プログラム３１７と、ハードディスク装置３０３に記憶されたコンテンツデータを取り出して端末装置２へストリーミング配信するためのストリーム制御プログラム３１５と、チャンネル毎に各階構造の各端末装置２の所在情報（ＩＰアドレスやポート番号など）の管理等を行なうためのトポロジー管理プログラム３１６と、ディスプレイ３１０を制御するための画面制御プログラム３１８と、エンコードされたコンテンツデータをデコードしたり、放送用コンテンツ３１３のコンテンツデータをデコードするためのデコーダプログラム３１９と、ハードディスク装置３０３から読み出した放送用コンテンツ３１３を端末装置２へ送信する前に一時的に記憶するリングバッファ３１４等を記憶しており、これらはＣＰＵ３０２によって読み出され、ＣＰＵ３０２によってこれらのプログラムに従った機能が実行される。
【０１２２】
ここで、ＯＳプログラム３１７は、ＣＰＵ３０２によって読み出されて実行されることにより、キーボード３０７やマウス３０８の入出力に関する機能や、主記憶装置３０５やハードディスク装置３０３どのメモリ管理などのコンテンツ配信装置１であるコンピュータの基本的な機能を実行可能にするものである。
【０１２３】
そして、このＯＳプログラム３１７がＣＰＵ３０２によって実行された状態で、上述のストリーム制御プログラム３１５、トポロジー管理プログラム３１６、画面制御プログラム３１８、デコーダプログラム３１９とが主記憶装置３０５から読み出されて実行される。
【０１２４】
なお、ＯＳプログラム３１７、ストリーム制御プログラム３１５、トポロジー管理プログラム３１６、画面制御プログラム３１８、デコーダプログラム３１９等は、例えば、インターネット４に接続されたサーバ等から主記憶装置３０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記録媒体に記録されてから当該記録媒体のドライブを介して、主記憶装置３０５に読み込まれるようにしてもよい。
【０１２５】
（制御部３３０について）
制御部３３０は、上述のようにＣＰＵ３０２と主記憶装置３０５とから構成され、ＣＰＵ３０２が主記憶装置３０５に記憶された各種プログラム３１５〜３１９を読み出して実行することにより、コンテンツ配信装置１全体を統括制御し、かつ、後述する配信手段等として機能するようになっている。なお、ＣＰＵ３０２がストリーム制御プログラム３１５を実行することによって、配信手段等として、またＣＰＵ３０２がトポロジー管理プログラム３１６を実行することによって、トポロジー管理手段として、また、ＣＰＵ３０２が画面制御プログラム３１８を実行することによって、表示制御手段等として、ＣＰＵ３０２がデコーダプログラム３１９を実行することによって、再生手段としてそれぞれ機能するようになっている。
【０１２６】
（配信手段について）
配信手段は、キーボード３０７などの入力手段によって、指定されたコンテンツデータを放送用コンテンツ３１３から取り出し、ネットワークインタフェース３０４を介して、第１階層の端末装置２a等にストリーミング配信する。
【０１２７】
この配信手段による端末装置２a等へのストリーミング配信は、以下の手順で実行される。
【０１２８】
配信手段は、予め設定されたコンテンツに対応するコンテンツデータを放送用コンテンツ３１３から順次取り出してリングバッファ３１４に記憶させる。
【０１２９】
次に、配信手段は、リングバッファ３１４から取り出したコンテンツデータを、ストリーミング配信用のデータ形式、たとえばＡＳＦ、ＷＭＡ、ＷＭＶ等のデータ形式にエンコードする。
【０１３０】
その後、配信手段は、第１階層の端末装置２a等に対して、それぞれ対応するコンテンツデータを所定容量毎に分割しながらコンテンツパケットに格納し、ネットワークインタフェース３０４を介して、このコンテンツパケットへ送信する。
【０１３１】
（トポロジー管理手段）
コンテンツ配信装置１は、1つのコンテンツ配信装置１に１つのチャンネルを割り振られており、トポロジー管理手段は、割り振られたチャンネルに構成されるツリー状階層構造の第１階層に参加している端末装置２の所在情報（ＩＰアドレスやポート番号など）を管理している。そして、上述の配信手段はトポロジー管理手段が管理する端末装置２のＩＰアドレスを宛先アドレスとし、配信用ＩＰアドレスを送信元として端末装置２へコンテンツデータの配信を行なう。
【０１３２】
（表示制御手段について）
表示制御手段は、ビデオチップ３０９及びディスプレイ３１０を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、ディスプレイ３１０にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【０１３３】
（再生手段について）
再生手段は、放送用コンテンツ３１３の中からコンテンツデータをディスプレイ３１０に表示したり、内蔵スピーカ３１２から出力したりする機能を有している。
【０１３４】
［３．端末装置２の構成等の説明］
次に、図９を参照して、端末装置２の構成及び動作について説明する。
【０１３５】
図９は、本実施形態における端末装置２の概略構成例を示す図である。端末装置２は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、図９に示すように、ＣＰＵ（Central Processing Unit）２０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置２０７と、各種データ等を記憶するハードディスク装置２０３と、インターネット４を介してネットワーク上のコンテンツ配信装置１や接続管理装置３及び他の端末装置２との間で有線通信による通信を行うための第１通信手段として機能するネットワークインタフェース２０６と、ユーザが端末装置２を遠隔操作するために所定の赤外線信号を送信及び受信するユーザ入力用リモコン２１０と、このユーザ入力用リモコン２１０と赤外線により通信を行なうための赤外線ポート２０９と、赤外線ポート２０９を制御する周辺機器制御チップ２０８と、ＣＰＵ２０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ２１２に表示するビデオチップ２１１と、ビデオチップ２１１から送信される信号に応じた表示を行う内蔵ディスプレイ２１２と、ＦＭ音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ２１３と、音源チップ２１３から出力されるオーディオ信号を音波に変換する内蔵スピーカ２１４とを備えて構成され、これらの各種構成要素はシステムバス２０１を介して相互に接続されている。
【０１３６】
また、この端末装置２のシステムバス２０１には、この端末装置２と地理的に近接した場所に設置されている他の端末装置（隣接端末装置）２との間で、無線信号を送受信することによってインターネット４のネットワークとは異なる経路で通信するための第２通信手段として機能する無線通信インタフェース２０４が接続されており、この無線通信インタフェース２０４には、無線信号を送受信するアンテナ２０５が接続されている。
【０１３７】
そして、この端末装置２では、この無線通信インタフェース２０４と上記ネットワークインタフェース２０６とにより通信手段を構成している。
【０１３８】
なお、本実施形態においては、ＣＰＵ２０２と主記憶装置２０７とで制御部２３０を構成している。また、ネットワークインタフェース２０６は、ルータ２２３を介して、インターネット４に接続されている。このルータ２２３は、図１に示すルータ１０に相当するものである。
【０１３９】
ここで、ユーザ入力用リモコン２１０は、コンテンツ配信システムＳのチャンネルを選択するためのチャンネル選択手段としてチャンネル選択ボタン（図示せず）を有しており、端末装置２のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。
【０１４０】
（主記憶装置２０７について）
また、主記憶装置２０７には、端末装置２のコンピュータとしての基本的な機能を提供するためのＯＳプログラム２１９と、コンテンツ配信装置１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置２へストリーミング送信するためのストリーム制御プログラム２１６と、ツリー接続された一層上流の端末装置２（或いはコンテンツ配信装置１）の所在情報（ＩＰアドレスやポート番号）とツリー接続された一層下流の端末装置２の所在情報の管理等を行なうためのトポロジー制御プログラム２１７と、内蔵ディスプレイ２１２を制御するための画面制御プログラム２２０と、上流の装置からストリーミング受信したコンテンツデータをデコードして再生するためのデコーダプログラム２２１と、上記した隣接端末装置２の端末情報の記憶及び管理を行う端末情報管理プログラム２２２と、隣接端末装置２及び有線通信で接続している他の端末装置２とのネットワーク上における近接度や、端末情報の更新情報等を監視する端末装置監視プログラム２１８等を記憶しており、これらはＣＰＵ２０２によって読み出され、ＣＰＵ２０２によってこれらのプログラムに従った機能が実行される。
【０１４１】
また、主記憶装置２０７には、ストリーミング受信したコンテンツデータを順次記憶すると共に、記憶したコンテンツデータのうち再生が終了したコンテンツデータ、及び、下流に接続している他の端末装置２が存在する場合にはその端末装置２への配信が終了したコンテンツデータを順次消去するリングバッファ２１５が設けられている。
【０１４２】
ここで、ＯＳプログラム２１９は、ＣＰＵ２０２によって読み出されて実行されることにより、ユーザ入力用リモコン２１０の入出力に関する機能や、主記憶装置２０７やハードディスク装置２０３などのメモリ管理などの端末装置２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム２１９がＣＰＵ２０２によって実行された状態で、上述のストリーム制御プログラム２１６、トポロジー制御プログラム２１７、画面制御プログラム２２０、デコーダプログラム２２１、端末情報管理プログラム２２２、端末装置監視プログラム２１８等が主記憶装置２０７から読み出されて実行される。
【０１４３】
なお、ＯＳプログラム２１９、ストリーム制御プログラム２１６、トポロジー制御プログラム２１７、画面制御プログラム２２０、デコーダプログラム２２１、端末情報管理プログラム２２２、端末装置監視プログラム２１８等は、例えば、インターネット４に接続されたサーバ等から主記憶装置２０７にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、主記憶装置２０７に読み込まれるようにしてもよい。
【０１４４】
（制御部２３０について）
制御部２３０は、上述のようにＣＰＵ２０２と主記憶装置２０７とから構成され、ＣＰＵ２０２が主記憶装置２０７に記憶された各種プログラム２１６〜２２２を読み出して実行することにより、端末装置２全体を統括制御し、かつ、後述する接続手段、第１受信手段、第２受信手段、隣接端末情報取得手段、判定手段、再生手段、中継手段、平均再生時間検出手段、ＮＡＴテーブル設定手段、接続可否判断手段、ルータ数検出手段、通信時間検出手段等として機能するようになっている。
【０１４５】
なお、ＣＰＵ２０２がストリーム制御プログラム２１６を実行することによって第１受信手段、第２受信手段、中継手段等として、またＣＰＵ２０２がトポロジー制御プログラム２１７を実行することによって、接続手段、トポロジー管理手段、ＮＡＴテーブル設定手段、中継依頼受信手段等として、またＣＰＵ２０２が画面制御プログラム２２０を実行することによって表示制御手段等として、さらにＣＰＵ２０２がデコーダプログラム２２１を実行することによって再生手段等として、さらにＣＰＵ２０２が端末情報管理プログラム２２２及び端末装置監視プログラム２１８を実行することによって、隣接端末情報取得手段、判定手段、平均再生時間検出手段、接続可否判定手段、ルータ数検出手段、通信時間検出手段等として、それぞれ機能するようになっている。
【０１４６】
（接続手段について）
接続手段は、端末装置２をコンテンツ配信システムＳへ参加させるために、チャンネル選択手段であるユーザ入力用リモコン２１０のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置３へ送信し、その後、接続管理装置３から通知された接続先候補に接続する。
【０１４７】
より具体的には、接続手段は、端末装置２をコンテンツ配信システムＳへ参加させるために、接続管理装置３へ接続先紹介要求を送信して接続管理装置３へ登録すると共に、接続管理装置３へ接続先候補を要求する機能を有している。この接続先紹介要求には、端末装置２のユーザがユーザ入力用リモコン２１０のチャンネル選択ボタン等を操作することによって選択されるチャンネルを指定した情報及び自端末装置２の所在情報等を含む。
【０１４８】
また、接続手段は、自端末装置２があるチャンネルに接続している状態で、端末装置２のユーザがユーザ入力用リモコン２１０等を操作することによってチャンネルの切替え操作を行ったときには、その切替え操作によって新たに接続すべきチャンネルの階層構造に参加している上記隣接端末装置２のうち、所定の条件を満たす隣接端末装置２に接続する。
【０１４９】
これにより端末装置２は一のチャンネルから新たなチャンネルへの接続の切替えを行うことができる。なお、ユーザ入力用リモコン２１０のチャンネル切替えボタンを設けずに、後述の表示制御手段を動作させてディスプレイにチャンネルの選択画面を表示させ、ユーザ入力用リモコン２１０操作によって選択させるようにしてもよい。
【０１５０】
また、接続手段は、接続管理装置３へ送信した接続先紹介要求に対して、接続管理装置３から通知される接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるＩＰアドレスやポート番号などの情報（以下、接続先候補の情報を含めて、「接続先候補」と略することがある。）を受信する機能を有する。
【０１５１】
さらに、接続手段は、受信した接続先候補の情報に基づいて、その接続先候補への接続を行う機能を有する。すなわち、接続手段は、接続先候補の情報に基づいて、接続先候補のＩＰアドレス及びポート番号等をあて先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって自端末装置２をツリー状階層構造の一部に組み込むことが可能となる。
【０１５２】
（第１受信手段について、）
第１受信手段は、ネットワークインタフェース２０６を介して接続した接続先候補である他の端末装置２又はコンテンツ配信装置１からコンテンツデータを受信するものであり、具体的には、階層構造における一層上流の端末装置２或いはコンテンツ配信装置１からストリーミング配信されるコンテンツパケットを受信する。
【０１５３】
（隣接端末情報取得手段について）
隣接端末情報取得手段は、無線通信インタフェース２０４を介して、複数の隣接端末装置２が選択しているチャンネル番号を含む端末情報を取得する。具体的には、図３に示すように、隣接端末装置の装置番号、所在情報、接続中チャンネル、下流接続可否、ポップ数、ＲＴＴ等に関する情報を取得する。
【０１５４】
（判定手段について）
判定手段は、ユーザによるユーザ入力用リモコン２１０の操作によってチャンネルが選択されたときに、隣接端末情報手段により取得したチャンネル番号が、ユーザ入力用リモコン２１０により選択されたチャンネル番号と一致するか否かを判定する。
【０１５５】
すなわち、判定手段は、上記端末情報を参照することにより、ユーザがユーザ入力用リモコン２１０を操作することにより選択したチャンネルのコンテンツデータを現在受信中である隣接端末装置２が存在するか否かを判定するものである。
【０１５６】
そして、この判定手段により、チャンネル番号が一致すると判定されときに、上記接続手段は、ユーザによるユーザ入力用リモコン２１０の操作によってチャンネルが選択された後、チャンネル番号が一致した隣接端末装置２から後述の第２受信手段により無線通信インタフェース２０４を介してコンテンツデータが受信される所定期間を待って、接続候補である隣接端末装置２にネットワークインタフェース２０６を介して接続するようにしている。
【０１５７】
（第２受信手段について）
第２受信手段は、判定手段によりチャンネル番号が一致すると判定されたときに、無線通信インタフェース２０４を介して、ユーザによるユーザ入力用リモコン２１０の操作によって選択されたチャンネルのコンテンツデータのストリーミング配信を、当該チャンネル番号が一致すると判定された隣接端末装置２に要求し、その隣接端末装置２からコンテンツデータを受信する。
【０１５８】
（再生手段について）
再生手段は、無線通信インタフェース２０４又はネットワークインタフェース２０６によってストリーミング受信したコンテンツデータをリングバッファ２１５に順次記憶すると共に順次再生する機能を有している。
【０１５９】
そして、この再生手段は、ユーザによるユーザ入力用リモコン２１０の操作によってチャンネルが選択された後、ネットワークインタフェース２０６で受信したコンテンツデータを再生するまでの間、無線通信インタフェース２０４を介して受信したコンテンツデータを再生する。
【０１６０】
この再生手段は、音源チップ２１３やビデオチップ２１１を動作させることによってこの機能を実現しており、リングバッファ２１５に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式（たとえば、Wave形式）に変換して音源チップ２１３やビデオチップ２１１へ入力し、コンテンツの再生を行う。
【０１６１】
再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ２１３によってオーディオ信号へ変換された後、内蔵スピーカ２１４から出力される。
【０１６２】
また、再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ２１２に表示される。
【０１６３】
また、再生手段は、リングバッファ２１５に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ２１５に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ２１４や内蔵ディスプレイ２１２に出力するように構成されている。
【０１６４】
（中継手段について）
中継手段は、ネットワークインタフェース２０６を介して、他の端末装置２からコンテンツデータの中継依頼を受信し、当該中継依頼を行った他の端末装置２へネットワークインタフェース２０６を介して受信したコンテンツデータを転送する。
【０１６５】
また、この中継手段は、隣接端末装置２から無線通信インタフェース２０４を介して中継依頼を受信した場合には、まず、無線通信インタフェース２０４を介して、中継依頼を行った隣接端末装置２へコンテンツデータを転送し、その後、接続手段により、自端末装置２と中継依頼を行った隣接端末装置２との間で有線通信による接続が確立したときに、無線通信インタフェース２０４を介した無線通信によるコンテンツデータの転送を停止し、ネットワークインタフェース２０６を介した有線通信によるコンテンツデータの転送を開始するようにしている。
【０１６６】
（平均再生時間検出手段について）
平均再生時間検出手段は、チャンネル毎のコンテンツデータに関する、上記再生手段による平均再生期間を検出する。
【０１６７】
すなわち、この平均再生時間検出手段は、各隣接端末装置２毎に、その隣接端末装置２が1つのチャンネルのコンテンツデータを継続して受信している平均時間を、各チャンネル毎に検出する。
【０１６８】
そして、上記接続手段は、この平均再生時間検出手段により検出した平均再生期間の間、第２受信手段により無線通信インタフェース２０４を介して隣接端末装置２からコンテンツデータが受信されるのを待って、その隣接端末装置２とネットワークインタフェース２０６を介して有線通信により接続するようにしている。
【０１６９】
ただし、接続手段は、隣接端末情報取得手段によって、接続候補である隣接端末装置２の端末情報が取得できないとき、又は、判定手段によりチャンネル番号が一致しないと判断されたときには、この平均再生時間検出手段により検出した平均再生期間を待たずに、接続管理装置３から通知された接続先候補である他の端末装置２にネットワークインタフェース２０６を介して接続するようにしている。
【０１７０】
また、接続手段は、ユーザによるユーザ入力用リモコン２１０の操作によりチャンネルが選択されてから、この平均再生時間検出手段により検出した平均再生期間内に、さらにユーザ入力用リモコン２１０の操作が操作されることによって、別のチャンネルが選択された場合には、当該別のチャンネルに対する接続先候補である他の端末装置２には接続しないようにしている。
【０１７１】
（ＮＡＴテーブル設定手段について）
ＮＡＴテーブル設定手段は、隣接端末情報取得手段によって取得した端末情報における所在情報から他の端末装置２がＮＡＴ（ネットワークアドレス置換）ルータに接続されていると判定すると、接続手段による接続動作の前に、他の端末装置２と自端末装置２との通信接続を行うために必要な、ＮＡＴルータのＮＡＴテーブルの設定を行う。
【０１７２】
すなわち、ＮＡＴテーブル設定手段は、ＮＡＴルータのＮＡＴテーブルに有線通信で通信を行う２つの端末装置２間（ここでは、自端末装置２と隣接端末装置２との間）の通信コネクションを記憶させる処理であり、ＵＤＰ（User Datagram Protocol）を用いて通信する場合には、自端末装置２と隣接端末装置２が同時に相手側の端末装置２へＩＰパケットを送信することでＮＡＴテーブルの設定を行う。
【０１７３】
また、このＮＡＴテーブル設定手段が行うＮＡＴ越えの処理はこれに限らず、たとえば、ＵＰｎＰ規格に規定されているようにＮＡＴルータのＮＡＴテーブルを設定しておく方法、ＲＦＣ３４８９：Simple Traversal of UDP through NATなどに規定されたＵＤＰを用いる方法、或いはＳＴＵＮサーバやＴｅｒｅｄｅサーバなどを利用する方法などを用いても良い。
【０１７４】
具体的には、ＵＰｎＰを用いたＮＡＴ越え処理を行う場合、ＮＡＴテーブル設定手段は、ＮＡＴルータに対してポート番号のマッピングの生成リクエストを送信することによって行う。
【０１７５】
ＮＡＴルータは、端末装置２からポート番号のマッピングの生成リクエストを受信すると、端末装置２におけるローカルＩＰアドレスと、ＮＡＴルータのインターネット側の所定ポート番号とを関連付けてＮＡＴテーブルに登録する。
【０１７６】
このようにＮＡＴテーブルを設定することによって、ＮＡＴルータのＩＰアドレスとその所定ポート番号とを含む通信パケットがＮＡＴルータによって受信されると、ＮＡＴテーブルを参照し、この所定ポート番号に対応する当該端末装置２へその通信パケットをポートフォワードすることになる。
【０１７７】
このようにＵＰｎＰ規格によるＮＡＴ越えを行った後、端末装置はＮＡＴテーブルに設定したポート番号をお互いに知らせあうようにして、端末装置同士のＰ２Ｐ接続をすぐに行うことができるようにしておく。
【０１７８】
（接続可否判定手段について）
接続可否判定手段は、隣接端末情報取得手段により取得した端末情報に基づいて、第２受信手段によりコンテンツデータを受信している隣接する他の端末装置２にネットワークを介して有線通信により接続することができるか否かを判定する。
【０１７９】
すなわち、接続可否判断手段は、端末情報に含まれる他の端末装置２にネットワークを介して接続することができるか否かの情報である下流側接続可否のフラグがＯＫを示すものであった場合に接続可能であると判断し、下流側接続可否のフラグがＮＧを示すものであった場合に接続不可能であると判断する。
【０１８０】
そして、この接続可否判断手段により他の端末装置２にネットワークを介して接続できると判定されると、接続手段は、第１通信手段を介して、当該他の端末装置に接続する。
【０１８１】
（ルータ数検出手段について）
ルータ数検出手段は、接続可否判定手段により接続できると判定された他の端末装置２と自端末装置２との間で有線通信による通信を行う際に経由するルータ数を、端末情報におけるポップ数を参照することにより検出する。
【０１８２】
そして、接続手段は、接続可否判定手段により接続できると判定された他の端末装置２のうち、このルータ数検出手段により検出されたルータ数が所定値以下の端末装置２があるとき、当該他の端末装置２が自端末装置２とネットワーク上において近接していると判断して第１通信手段を介して接続し、ルータ数が所定値よりも大きいとき、第１通信手段を介して接続管理装置３から通知される接続先候補の端末装置２に接続する。
【０１８３】
（通信時間検出手段について）
通信手段検出手段は、接続可否判定手段により接続できると判定された他の端末装置２と自端末装置２との間の通信時間を、端末情報のＲＴＴを参照することによって検出する。
【０１８４】
そして、接続手段は、接続可否判定手段により接続できると判定された他の端末装置２のうち、通信時間検出手段により検出された通信時間が所定値以下の端末装置２があるとき、当該他の端末装置２が自端末装置２とネットワーク上において近接していると判断して第１通信手段を介して接続し、通信時間が所定値よりも大きいとき、第１通信手段を介して接続管理装置３から通知される接続先候補に接続する。
【０１８５】
（表示制御手段について）
表示制御手段は、ビデオチップ２１１及び内蔵ディスプレイ２１２を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ２１２にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【０１８６】
また、ここでは、本実施形態の端末装置２として、チャンネル選択手段、第１通信手段、第２通信手段、接続手段、第１受信手段、第２受信手段、隣接端末情報取得手段、判定手段、再生手段、中継手段、平均再生時間検出手段、ＮＡＴテーブル設定手段、接続可否判定手段、ルータ数検出手段、通信時間検出手段という各種手段を１つのユニットに収納した端末装置２を例に挙げて説明を行ったが、本発明はこれに限定されるものではなく、上記各種手段の機能を端末装置２の使用形態に応じて複数のユニットに分割して収納させることもできる。
【０１８７】
（端末装置の変形例について）
ここでは、端末装置２の変形例として、上記した第１通信手段と、接続手段と、第１受信手段と、中継手段と、後述する第２ユニットとの間で無線通信を行う第３通信手段とを少なくとも第１ユニットに収納し、
上記した第２通信手段と、チャンネル選択手段と、隣接端末情報取得手段と、判定手段と、再生手段と、第１ユニットとの間で無線通信を行う第３通信手段とを少なくとも第２ユニットに収納した端末装置２について説明する。
【０１８８】
この端末装置２は、図１０に示すように、第１ユニットとしてのストリーム中継制御モジュール５００と、第２ユニットとしてのユーザインターフェースモジュール５１３とにより構成されている。
【０１８９】
そして、ストリーム中継制御モジュール５００は、主に、インターネット等のネットワークと有線通信により接続して、ネットワークに接続している他の端末装置２やコンテンツ配信装置１等の配信経路上流側の装置からコンテンツデータをストリーム受信して記憶すると共に、記憶したコンテンツデータを順次下流側に接続している他の端末装置２へコンテンツデータをストリーム送信するストリーム中継機能を担うものである。
【０１９０】
また、ユーザインターフェースモジュール５１３は、主に、ストリーム中継制御モジュール５００が受信したコンテンツデータを無縁通信により受信して再生する機能、及び、地理的に近い場所に設置されている他の端末装置（隣接端末装置）２との間で無線通信を行うことにより、隣接端末装置２の端末情報を受信・管理して、ユーザによるザッピングを円滑に行えるようにする機能を担うものである。
【０１９１】
（ストリーム中継制御モジュールの構成について）
以下、図１０を参照してストリーム中継制御モジュール５００の構成について、具体的に説明する。
【０１９２】
図１０に示すように、ストリーム中継制御モジュール５００は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、第１ＣＰＵ（Central Processing Unit）５０２と、各種プログラム等を記憶（格納）する書き換え可能な第１主記憶装置５０４と、インターネット４を介してネットワーク上のコンテンツ配信装置１や接続管理装置３及び他の端末装置２との間で有線通信による通信を行うための第１通信手段として機能するネットワークインタフェース５０３とを備えて構成され、これらの各種構成要素は第１システムバス５０１を介して相互に接続されている。
【０１９３】
また、このストリーム中継制御モジュール５００の第１システムバス５０１には、このストリーム中継制御モジュール５００とユーザインターフェースモジュール５１３との間で無線信号を送受信することによって、ユーザインターフェースモジュール５１３へのコンテンツデータの送信、及び、ユーザインターフェースモジュール５１３からの各種制御信号の受信するための第３通信手段として機能する無線通信インタフェース５０５が接続されており、この無線通信インタフェース５０５には、無線信号を送受信するアンテナ５０６が接続されている。
【０１９４】
そして、このストリーム中継制御モジュール５００では、この無線通信インタフェース５０５と上記ネットワークインタフェース５０３とにより通信手段を構成している。
【０１９５】
なお、本実施形態においては、第１ＣＰＵ５０２と第１主記憶装置５０４とで第１制御部５６０を構成している。また、ネットワークインタフェース５０３は、ルータ５０７を介して、インターネット４に接続されている。このルータ５０７は、図１に示すルータ１０に相当するものである。
【０１９６】
（第１主記憶装置について）
また、第１主記憶装置５０４には、ストリーム中継制御モジュール５００のコンピュータとしての基本的な機能を提供するためのＯＳプログラム５１０と、コンテンツ配信装置１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置２へストリーミング送信するためのストリーム制御プログラム５０９と、ツリー接続された一層上流の端末装置２（或いはコンテンツ配信装置１）の所在情報（ＩＰアドレスやポート番号）とツリー接続された一層下流の端末装置２の所在情報の管理等を行なうためのトポロジー制御プログラム５１１等を記憶しており、これらは第１ＣＰＵ５０２によって読み出され、第１ＣＰＵ５０２によってこれらのプログラムに従った機能が実行される。
【０１９７】
また、第１主記憶装置５０４には、ストリーミング受信したコンテンツデータを順次記憶すると共に、記憶したコンテンツデータのうちユーザインターフェースモジュール５１３への転送が終了したコンテンツデータ、及び、下流に接続している他の端末装置２が存在する場合にはその端末装置２への配信が終了したコンテンツデータを順次消去するリングバッファ５０８が設けられている。
【０１９８】
ここで、ＯＳプログラム５１０は、第１ＣＰＵ５０２によって読み出されて実行されることにより、第１主記憶装置５０４などのメモリ管理などのストリーム中継制御モジュール５００であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム５１０が第１ＣＰＵ５０２によって実行された状態で、上述のストリーム制御プログラム５０９、トポロジー制御プログラム５１１等が第１主記憶装置５０４から読み出されて実行される。
【０１９９】
なお、ＯＳプログラム５１０、ストリーム制御プログラム５０９、トポロジー制御プログラム５１１等は、例えば、インターネット４に接続されたサーバ等から主記憶装置２０７にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１主記憶装置５０４に読み込まれるようにしてもよい。
【０２００】
（第１制御部について）
第１制御部５６０は、上述のように第１ＣＰＵ５０２と第１主記憶装置５０４とから構成され、第１ＣＰＵ５０２が第１主記憶装置５０４に記憶された各種プログラム５０９〜５１１を読み出して実行することにより、ストリーム中継制御モジュール５００全体を統括制御し、かつ、図９に示す端末装置２の接続手段、第１受信手段、中継手段と同様に機能するようになっている。
【０２０１】
（ユーザインターフェースモジュールの構成について）
図１０に示すように、ユーザインターフェースモジュール５１３は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、図１０に示すように、第２ＣＰＵ（Central Processing Unit）５１５と、各種プログラム等を記憶（格納）する書き換え可能な第２主記憶装置５１９と、各種データ等を記憶するハードディスク装置５１６と、ユーザがユーザインターフェースモジュール５１３を遠隔操作するために所定の赤外線信号を送信及び受信するユーザ入力用リモコン５２２と、このユーザ入力用リモコン５２２と赤外線により通信を行なうための赤外線ポート５１２と、赤外線ポート５１２を制御する周辺機器制御チップ５２０と、第２ＣＰＵ５１５からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ５２４に表示するビデオチップ５２３と、ビデオチップ５２３から送信される信号に応じた表示を行う内蔵ディスプレイ５２４と、ＦＭ音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ５２５と、音源チップ５２５から出力されるオーディオ信号を音波に変換する内蔵スピーカ５２６とを備えて構成され、これらの各種構成要素は第２システムバス５１４を介して相互に接続されている。
【０２０２】
また、このユーザインターフェースモジュール５１３の第２システムバス５１４には、このユーザインターフェースモジュール５１３とストリーム中継制御モジュール５００との間で、無線信号を送受信することによってストリーム中継制御モジュール５００からのコンテンツデータの受信、及び、ストリーム中継制御モジュール５００への各種制御信号の送信を行うための無線通信インタフェース５１７が接続されており、この無線通信インタフェース５１７には、無線信号を送受信するアンテナ５１８が接続されている。
【０２０３】
そして、このユーザインターフェースモジュール５１３では、この無線通信インタフェース５１７により通信手段を構成している。なお、本実施形態においては、第２ＣＰＵ５１５と第２主記憶装置５１９とで第２制御部５７０を構成している。
【０２０４】
ここで、ユーザ入力用リモコン５２２は、コンテンツ配信システムＳのチャンネルを選択するためのチャンネル選択手段としてチャンネル選択ボタン（図示せず）を有しており、端末装置２のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。
【０２０５】
（第２主記憶装置５１９について）
また、第２主記憶装置５１９には、ユーザインターフェースモジュール５１３のコンピュータとしての基本的な機能を提供するためのＯＳプログラム５３０と、コンテンツ配信装置１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置２へストリーミング送信するためのストリーム制御プログラム５２７と、内蔵ディスプレイ５２４を制御するための画面制御プログラム５３１と、上流の装置からストリーミング受信したコンテンツデータをデコードして再生するためのデコーダプログラム５３２と、隣接端末装置２及び有線通信で接続している他の端末装置２とのネットワーク上における近接度や、端末情報の更新情報等を監視する端末装置監視プログラム２５８等を記憶しており、これらは第２ＣＰＵ５１５によって読み出され、第２ＣＰＵ５１５によってこれらのプログラムに従った機能が実行される。
【０２０６】
また、第２主記憶装置５１９には、複数の隣接端末装置２から取得する端末情報を記憶して管理するための端末装置管理情報５２９が記憶されている。
【０２０７】
ここで、ＯＳプログラム５３０は、第２ＣＰＵ５１５によって読み出されて実行されることにより、ユーザ入力用リモコン５２２の入出力に関する機能や、第２主記憶装置５１９やハードディスク装置５１６などのメモリ管理などのユーザインターフェースモジュール５１３であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム５３０が第２ＣＰＵ５１５によって実行された状態で、上述のストリーム制御プログラム５２７、画面制御プログラム５３１、デコーダプログラム５３２、端末装置監視プログラム５２８等が第２主記憶装置５１４から読み出されて実行される。
【０２０８】
なお、ＯＳプログラム５３０、ストリーム制御プログラム５２７、画面制御プログラム５３１、デコーダプログラム５３２、端末装置監視プログラム５２８等は、例えば、インターネット４に接続されたサーバ等から第２主記憶装置５１９にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第２主記憶装置５１９に読み込まれるようにしてもよい。
【０２０９】
（第２制御部について）
第２制御部５７０は、上述のように第２ＣＰＵ５１５と第２主記憶装置５１９とから構成され、第２ＣＰＵ５１５が第２主記憶装置５１９に記憶された各種プログラム５２７、５２８、５３０〜５３２を読み出して実行することにより、ユーザインターフェースモジュール５１３全体を統括制御し、かつ、図９に示す端末装置２の第２受信手段、隣接端末情報取得手段、判定手段、再生手段、平均再生時間検出手段、ＮＡＴテーブル設定手段、接続可否判断手段、ルータ数検出手段、通信時間検出手段等と同様に機能するようになっている。
【０２１０】
このように、端末装置２が備える機能を、その使用形態に応じて２つのユニットに分割して担わせることにより、端末装置２の使い勝手をより向上させることができる。
【０２１１】
たとえば、インターネットルータの設置場所の近くにストリーム中継制御モジュール５００を設け、ユーザの居室にユーザインターフェースモジュール５１３を設けることができ、この場合、ユーザインターフェースモジュール５１３は、その機能を縮小させている分、図９に示す端末装置２より小型に構成できるため、ユーザの居室において端末装置２が占めるスペースを可及的に縮小することができる。
【０２１２】
しかも、ユーザインターフェースモジュール５１３は、無線通信によりストリーム中継制御モジュール５００からコンテンツデータを受信して再生することができるので、無線通信に使用するチャンネル数を増設して、１つのストリーム中継制御モジュール５００を設けると共に、複数のユーザにユーザインターフェースモジュール５１３を所持させれば、各ユーザが自身の居室でそれぞれコンテンツデータを視聴することができる。
【０２１３】
［４．接続管理装置３の構成等の説明］
次に、図１１を参照して、接続管理装置３の構成及び動作について説明する。
【０２１４】
図１１は、本実施形態における接続管理装置３の概略構成例を示す図である。接続管理装置３は、一般のサーバコンピュータを適用可能であり、図１１に示すように、ＣＰＵ（Central  Processing  Unit）４０２と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置４０５と、各種データ等を記憶するハードディスク装置４０３と、インターネット４を介してコンテンツ配信装置１や端末装置２との間で通信を行うネットワークインタフェース４０４と、所定の情報を入力可能なキーボード４０７やマウス４０８等の入力手段を制御する周辺機器制御チップ４０６と、ＣＰＵ４０２からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ４１０に表示するビデオチップ４０９とを備えて構成され、これらの各種構成要素はシステムバス４０１を介して相互に接続されている。
【０２１５】
なお、本実施形態においては、ＣＰＵ４０２と主記憶装置４０５とで制御部４３０を構成している。なお、ネットワークインタフェース４０４は、ルータ４１８を介して、インターネット４に接続されている。このルータ４１８は、図１に示すルータ１０に相当するものである。
（主記憶装置４０５について）
また、主記憶装置４０５には、接続管理装置３のコンピュータとしての基本的な機能を提供するためのＯＳプログラム４１６と、チャンネルに接続される複数の端末装置２の所在情報（ＩＰアドレスやポート番号など）などを管理するための端末管理プログラム４１３と、各チャンネルのツリー状階層構造を構築及び管理等するためのトポロジー管理プログラム４１４と、端末装置２から送信される接続先紹介要求に対応するチャンネルの接続先候補を選択し、端末装置２へ接続先候補の情報を送信等するための接続先紹介プログラム４１７と、コンテンツ配信システムＳの運用を管理等するための運用管理プログラム４１５等を記憶しており、これらはＣＰＵ４０２によって読み出され、ＣＰＵ４０２によってこれらのプログラムに従った機能が実行される。
【０２１６】
ここで、ＯＳプログラム４１６は、ＣＰＵ４０２によって読み出されて実行されることにより、キーボード４０７やマウス４０８の入出力に関する機能や、主記憶装置４０５やハードディスク装置４０３などのメモリ管理などの接続管理装置３であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム４１６がＣＰＵ４０２によって実行された状態で、上述の端末管理プログラム４１３、トポロジー管理プログラム４１４、接続先紹介プログラム４１７、運用管理プログラム４１５等が実行される。
【０２１７】
なお、ＯＳプログラム４１６、端末管理プログラム４１３、トポロジー管理プログラム４１４、接続先紹介プログラム４１７、運用管理プログラム４１５等は、例えば、インターネット４に接続されたサーバ等から主記憶装置４０５にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、主記憶装置４０５に読み込まれるようにしてもよい。
【０２１８】
（制御部４３０について）
制御部４３０は、上述のようにＣＰＵ４０２と主記憶装置４０５とから構成され、ＣＰＵ４０２が主記憶装置４０５に記憶された各種プログラム４１３〜４１７を読み出して実行することにより、接続管理装置３全体を統括制御し、かつ、後述する接続先候補選択手段、通知手段、トポロジー管理手段、端末管理手段等として機能させ、さらにハードディスク装置４０３を接続状態情報記憶手段として使用する。
【０２１９】
なお、ＣＰＵ４０２が端末管理プログラム４１３を実行することによって、端末管理手段等として、またＣＰＵ４０２がトポロジー管理プログラム４１４を実行することによってトポロジー管理手段等として、さらにＣＰＵ４０２が接続先紹介プログラム４１７を実行することによって接続先候補選択手段、通知手段等として、それぞれ機能し、本実施形態では、これら接続先候補選択手段と通知手段とにより接続先候補通知手段を構成するようになっている。
【０２２０】
（端末管理手段について）
端末管理手段は、端末装置２からの登録要求を受信すると、端末管理データベース４１２へこの端末装置２の所在情報であるＩＰアドレスなどをチャンネル毎に登録する。また、コンテンツ配信装置１からの登録要求を受信した場合も、このコンテンツ配信装置１の所在情報であるＩＰアドレスなどを各チャンネル毎に端末管理データベース４１２に登録する。なお、これらの端末装置２の所在情報は端末装置２からの登録要求に含まれ、この登録要求から所在情報を取得する。
【０２２１】
（トポロジー管理手段について）
トポロジー管理手段は、コンテンツ配信装置１から送信される新規チャンネル生成要求に基づいて、新規チャンネルのツリー状階層構造を生成するための新規トポロジー生成手段と、端末装置２の接続先紹介要求や接続切断通知などのトポロジー変動通知によってチャンネルにおける端末装置２の接続情報を変更するトポロジー変更手段としての機能を有している。また、トポロジー管理手段は、チャンネル毎に階層構造を構成する端末装置２の接続状態情報を接続状態情報記憶手段としてのトポロジーデータベース４１１へ記憶する。
【０２２２】
新規トポロジー生成手段は、コンテンツ配信装置１から新規チャンネル生成要求を受信すると、新規チャンネルのトポロジーテーブルを生成してトポロジーデータベース４１１へ登録する。ここで、トポロジーテーブルは、チャンネル毎に階層構造を構成する端末装置２の接続状態情報などを格納するためのテーブルであり、チャンネルごとに生成されてトポロジーデータベース４１１に登録される。
【０２２３】
トポロジー変更手段は、トポロジーデータベース４１１に記憶される複数のトポロジーテーブルに端末装置２の情報を追加又は削除する機能を実行するものであり、端末装置２からの接続先紹介要求トポロジー参加報告に基づいて、トポロジーテーブルへの追加又は変更を行うものである。
【０２２４】
（接続先候補選択手段について）
接続先候補選択手段は、チャンネルに新規に参加しようとする端末装置２から接続先紹介要求を受信したとき、接続先紹介要求に対応するチャンネルの階層構造において、当該階層構造を構成する端末装置２の接続先紹介要求に対する接続先候補を、トポロジーデータベース４１１に記憶された接続状態情報から選択する。
【０２２５】
（通知手段について）
通知手段は、接続先候補選択手段によって選択された接続先候補を、接続先紹介要求を送信した端末装置２へ通知する機能を有する。この接続先候補の通知は、接続先候補の情報、すなわち接続先候補の端末装置２の通信プロトコル、ＩＰアドレスやポート番号などの情報を含む。
［５.コンテンツ配信システムＳの動作］
以下、端末装置２及び接続管理装置３の詳細動作について、フローチャートを用いて更に具体的に説明する。
【０２２６】
（端末装置２の処理フローの説明）
まず、端末装置２の更に具体的な動作について、図１２〜図１７を参照して説明する。図１２は端末装置２における処理全体を示すフローチャート、図１３は端末装置２におけるチャンネル切替え処理を示すフローチャート、図１４は端末装置２における接続変更処理を示すフローチャート、図１５は端末装置２における接続前処理を示すフローチャート、図１６は端末装置２における接続確立処理を示すフローチャート、図１７は端末装置２におけるコンテンツデータ送信開始/停止処理を示すフローチャートである。
【０２２７】
まず、図１２を参照して、端末装置２における処理全体の概要を説明する。
【０２２８】
まず、端末装置２の電源がＯＮされると、端末装置２では各プログラム２１６〜２２２の初期化が行われ（ステップＳ１０１）、各プログラム２１６〜２２２をＣＰＵ２０２による実行状態とし、制御部２３０としての機能を動作させた後、処理をステップＳ１０２へ移す。
【０２２９】
ステップＳ１０２において制御部２３０は、ユーザによる２１０の操作により、チャンネル切替え要求が行われたか否かを判断する。このステップＳ１０２において、チャンネル切替え要求が行われたと判定する（ステップＳ１０２：ＹＥＳ）と、制御部２３０は、ステップＳ１０３において図１３に示すチャンネル切替え処理を行う。
【０２３０】
また、ステップＳ１０２において、チャンネル切替え要求が行われていないと判定すると（ステップＳ１０２：ＮＯ）、制御部２３０は、接続管理装置３から上流端末の候補を受信したか否かの判定を行う（ステップＳ１０５）。
【０２３１】
すなわち、制御部２３０は、接続管理装置３からユーザが選択した階層構造において、自端末装置２の上流に接続可能な他の端末装置２の候補を受信したか否かの判断を行う。
【０２３２】
ステップＳ１０５において制御部２３０は、上流端末の候補を受信したと判断した場合（ステップＳ１０５：ＹＥＳ）に、ステップＳ１０６において図１４に示す接続処理を行う。
【０２３３】
また、ステップＳ１０５において制御部２３０は、上流端末の候補を受信していないと判断した場合（ステップＳ１０５：ＮＯ）に処理をステップＳ１０７に移す。
【０２３４】
ステップＳ１０７において制御部２３０は、隣接端末装置２より状態報告通知を受信したか否かの判断を行う。すなわち、制御部２３０は、自端末装置２と地理的に近接した場所に設置されている他の端末装置２から、当該他の端末装置２に関する装置番号、所在情報、接続中チャンネル、下流接続可否、ポップ数、ＲＴＴ等の端末情報を受信したか否かの判断を行う。
【０２３５】
このステップＳ１０７において制御部２３０は、状態報告通知を受信したと判断した場合（ステップ１０７：ＹＥＳ）に、ステップＳ１０８において図１５に示す接続前処理を行い、状態報告通知を受信していないと判断した場合（ステップＳ１０７：ＮＯ）に処理をステップＳ１０９へ移す。
【０２３６】
ステップＳ１０９において制御部２３０は、上流端末装置２からコンテンツデータパケットを受信したか否かの判断を行う。すなわち、制御部２３０は、階層構造において自端末装置２の常駐に接続されている端末装置から、コンテンツデータを受信中であるか否かの判断を行う。
【０２３７】
このステップＳ１０９において制御部２３０は、上流端末装置２からコンテンツデータパケットを受信したと判断した場合（ステップＳ１０９：ＹＥＳ）に、処理をステップＳ１１０に移し、下流側の端末装置２へパケットを転送する。
【０２３８】
すなわち、ここで制御部２３０は、階層構造の上流側に接続している他の端末装置２から受信したコンテンツデータを複数のコンテンツデータパケットに分割して、階層構造における下流側に接続している他の端末装置２へ中継して配信し、その後、処理をステップＳ１１１へ移す。
【０２３９】
ステップＳ１１１において制御部２３０は、リングバッファ２１５から再生時刻に達したパケットを取得して再生する。すなわち、ここで制御部２３０は、階層構造における上流側に接続している他の端末装置２から受信して順次リングバッファ２１５に記憶した複数のコンテンツパケットに含まれる再生時刻情報を参照し、その再生時刻に達したコンテンツパケットから順にデコードして順次再生する。
【０２４０】
また、ステップＳ１０９において制御部２３０は、上流端末装置２からコンテンツデータパケットを受信していないと判断した場合（ステップＳ109：ＮＯ）に、処理をステップＳ１１２へ移す。
【０２４１】
ステップＳ１１２において制御部２３０は、隣接端末装置２からコンテンツデータパケットを受信したか否かの判断を行う。すなわち、ここで制御部２３０は、隣接端末装置２から無線通信インタフェース２０４を介して無線通信により複数のパケットに分割されたコンテンツデータを受信したか否かの判断を行う。
【０２４２】
このステップＳ１１２において制御部２３０は、隣接端末装置２からコンテンツデータパケットを受信したと判断した場合に（ステップＳ１１２：ＹＥＳ）に、処理をステップＳ１１３へ移し、図１６に示す接続確立処理を行う。
【０２４３】
また、ステップＳ１１２において制御部２３０は、隣接端末装置２からコンテンツデータパケットを受信していないと判断した場合（ステップＳ１１２：ＮＯ）に、処理をステップＳ１１４へ移す。
【０２４４】
ステップＳ１１４において制御部２３０は、ストリームの送信開始/停止要求があるか否かの判断を行う。すなわち、ここで制御部２３０は、無線通信インタフェース２０４又はネットワークインタフェース２０６を介して他の端末装置２からコンテンツデータのストリーム送信開始の要求とストリーム送信停止の要求のうち、いずれか一方の要求を受信したか否かの判断を行う。
【０２４５】
このステップＳ１１４において制御部２３０は、ストリームの送信開始/停止要求があると判断した場合（ステップＳ１１４：ＹＥＳ）に、処理をステップＳ１１５へ移し図１７に示すコンテンツデータ送信開始/停止処理を行う。
【０２４６】
また、ステップＳ１１４において制御部２３０は、ストリームの送信開始/停止要求がないと判断した場合（ステップＳ１１４：ＮＯ）に、処理をステップＳ１１６へ移す。
【０２４７】
このステップＳ１１６において制御部２３０は、隣接端末装置２への状態報告契機であるか否かの判断を行う。すなわち、ここで制御部２３０は、前回自端末装置２の端末情報を複数の隣接端末装置２へ送信してから所定期間（ここでは、１分間）が経過したか否かを判断することにより、状態報告契機であるか否かを判断する。
【０２４８】
このステップＳ１１６において制御部２３０は、状態報告契機であると判断した場合、すなわち、前回自端末装置２の端末情報を複数の隣接端末装置２へ送信してから所定期間が経過したと判断した場合（ステップＳ１１６：ＹＥＳ）に、処理をステップＳ１１７へ移し、無線通信インタフェース２０４を介して、自端末装置２の現時点での端末情報を複数の隣接端末装置２へ一斉に送信する。
【０２４９】
また、ステップＳ１１６において制御部２３０は、状態報告契機でないと判断した場合、及び、ステップＳ１０３、Ｓ１０６、１０８、Ｓ１１１、Ｓ１１３、Ｓ１１５、Ｓ１１７の処理が終了した場合に処理をステップＳ１０４へ移す。
【０２５０】
ステップＳ１０４において制御部２３０は、ユーザの操作により端末装置２の電源がＯＦＦされたか否かの判断を行い、ＯＦＦされたと判断した場合（Ｓ１０４：ＹＥＳ）に全ての処理を終了し、ＯＦＦされていないと判断した場合（ステップＳ１０４：ＮＯ）に、処理をステップＳ１０２に戻す。
【０２５１】
（チャンネル切替え処理）
次に、図１２に示すＳ１０３で行うチャンネル切替え処理について、図１３を参照して具体的に説明する。
【０２５２】
チャンネル切替え処理において制御部２３０は、まず、現在のコンテンツデータ供給元端末装置２へコンテンツストリームの停止要求を行う（ステップＳ１１８）。
【０２５３】
すなわち、ここで制御部２３０は、前回のユーザによるユーザ入力用リモコン２１０の操作によって選択されていたチャンネルのコンテンツデータを、現在自端末装置２へストリーム送信している他の端末装置２に対して、その送信停止を要求する処理を行い、その後、処理をステップＳ１１９へ移す。
【０２５４】
ステップＳ１１９において制御部２３０は、要求チャンネルを視聴中の隣接端末装置２が存在するか否かの判断を行う。すなわち、ここで制御部２３０は、端末情報の接続中チャンネルを参照することにより、接続中チャンネルの番号が、今回のユーザによるユーザ入力用リモコン２１０の操作によって選択されたチャンネル番号と同一の隣接端末装置２が存在するか否かの判断を行う。
【０２５５】
このステップＳ１１９において制御部２３０は、要求チャンネルを視聴中の隣接端末装置が存在すると判断した場合（ステップＳ１１９：ＹＥＳ）に、処理をステップＳ１２０へ移し、無線通信インタフェース２０４を介して、接続中チャンネルのチャンネル番号がユーザにより選択されたチャンネル番号と同一の隣接端末装置２へ、コンテンツデータのストリーム配信を要求する処理を行い、その後、このチャンネル切替え処理を終了して処理を図１２に示すステップＳ１０４へ移す。
【０２５６】
また、ステップ１１９において制御部２３０は、要求チャンネルを視聴中の隣接端末装置が存在しないと判断した場合（ステップＳ１１９：ＮＯ）に、接続管理装置３へ上流端末の候補を要求し、その後、このチャンネル切替え処理を終了して処理を図１２に示すステップＳ１０４へ移す。
【０２５７】
（接続処理）
次に、図１２に示すＳ１０６で行う接続処理について、図１４を参照して具体的に説明する。
【０２５８】
接続処理において制御部２３０は、まず、取得した候補の中から上流端末装置２を一つ選択する（ステップＳ１２２）。すなわち、ここで制御部２３０は、接続管理装置３から通知される自端末装置２の上流に接続する複数の他の端末装置２の候補（上流端末装置２）の中から１つの端末装置２を任意に選択する処理を行い、その後、処理をステップＳ１２３に移す。
【０２５９】
ステップＳ１２３において制御部２３０は、該上流端末装置２に対してＮＡＴ越え処理を行う。すなわち、制御部２３０は、ステップＳ１２２の処理で選択した上流端末装置２が接続しているルータ１０の外部から自端末装置２が、その上流端末装置２へＩＰパケットを送信できる状態にすると共に、自端末装置２が接続しているルータ１０の外部から、上流端末装置２が自端末装置２へＩＰパケットを送信できる状態にするために、上流端末装置２へＩＰパケットを送信し、このとき同時に上流端末装置２から自端末装置２へ送信されるＩＰパケットを受信する。
【０２６０】
そして、このとき制御部２３０は、上流端末装置２から受信したＩＰパケットを用いてＮＡＴルータのＮＡＴテーブルの設定を行い、その後、処理をステップＳ１２４へ移す。
【０２６１】
ステップＳ１２４において制御部２３０は、上流端末装置２がネットワーク的に近いか否かの判断を行う。すなわち、ここで制御部２３０は、端末情報のポップ数とＲＴＴを参照することにより、自端末装置２と上流端末装置２とのネットワーク上における近接度を計測し、その計測結果に基づいて、上流端末装置２と自端末装置２とがネットワーク的に近いか否かの判断を行う。
【０２６２】
このとき、制御部２３０は、ポップ数から自端末装置２と上流端末装置２との間のネットワーク上に存在するルータ数を取得し、そのルータ数が予め定めた所定の値以下であり、且つ、ＲＴＴから自端末装置２と上流端末装置２との間の通信時間を取得し、その通信時間が予め定めた所定の値以下であった場合に、上流端末装置２と自端末装置２とがネットワーク的に近いと判断する。
【０２６３】
一方、制御部２３０は、上記取得したルータ数が所定の値よりも多い場合、又は、上記取得した通信時間が所定の値よりも長いと判断した場合に、上流端末装置２と自端末装置２とがネットワーク的に遠いと判断する。
【０２６４】
そして、このステップＳ１２４において制御部２３０は、上流端末装置２と自端末装置２とがネットワーク的に遠いと判断した場合（ステップＳ１２４：ＮＯ）に、処理をステップＳ１２２へ戻し、ネットワーク的に自端末装置２と近い他の上流端末装置２を検出するまでの間、ステップＳ１２２〜Ｓ１２４の処理を繰り返し行う。
【０２６５】
またステップＳ１２４において制御部２３０は、上流端末装置２と自端末装置２とがネットワーク的に近いと判断した場合（ステップＳ１２４：ＹＥＳ）に、該上流端末装置２の下流端末装置として接続し、その後、処理をステップＳ１２５へ移す。
【０２６６】
また、ステップＳ１２５において制御部２３０は、該上流端末装置２の下流端末として接続し、その後、処理をステップＳ１２６へ移す。
【０２６７】
ステップＳ１２６において制御部２３０は、ネットワークインタフェース２０６を介して接続管理装置３へトポロジー参加報告を送信し、その後、処理を図１２に示すステップＳ１０４へ移す。
【０２６８】
（接続前処理）
次に、図１２に示すＳ１０８で行う接続前処理について、図１５を参照して具体的に説明する。
【０２６９】
接続前処理において制御部２３０は、まず、受信した情報を端末情報へ登録する（ステップＳ１２７）。すなわち、ここで制御部２３０は、ステップＳ１０７で受信した各状態報告通知から、各隣接端末装置２の装置番号、所在情報、接続中チャンネル、下流接続可否、ポップ数、ＲＴＴを端末情報として取得することにより、既に取得している状態情報を更新して登録し、その後、処理をステップＳ１２８へ移す。
【０２７０】
ステップＳ１２８において制御部２３０は、ステップＳ１２７で登録した端末情報から、当該端末情報を送信してきた隣接端末装置２のポップ数とＲＴＴとを取得し、これらポップ数とＲＴＴとを用いて、その隣接端末装置２に対するネットワークにおける近接度を計測し、その後、処理をステップＳ129へ移す。
【０２７１】
ステップＳ１２９において制御部２３０は、ステップＳ１２８においてネットワークにおける近接度を計測した結果に基づいてＮＡＴ越えをすべき隣接端末装置２が存在するか否かの判断を行う。
【０２７２】
すなわち、このステップＳ１２９において制御部２３０は、Ｓ１２８において計測したネットワークにおける近接度が、所定の値よりも高い隣接端末装置２が存在しないと判断した場合（ステップＳ１２９：ＮＯ）に、この接続前処理を終了して処理を図１２に示すステップＳ１０４へ移し、近接度が所定の値よりも高い隣接端末装置２が存在すると判断した場合（ステップＳ１２９：ＹＥＳ）に、処理をステップＳ１３０に移す。なお、このステップＳ１２９における判断基準としては、図１４のステップＳ１２４の処理における判断基準と同様の判断基準を用いる。
【０２７３】
ステップＳ１３０において制御部２３０は、ステップＳ１２９においてＮＡＴ越えすべきと判断された隣接端末装置２に対して、図１４に示すステップＳ１２３と同様にして、ＮＡＴ越え処理を実施し、その後、この接続前処理を終了して処理を図１２に示すステップＳ１０４へ移す。
【０２７４】
（接続確立処理）
次に、図１２に示すＳ１１３で行う接続確立処理について、図１６を参照して具体的に説明する。
【０２７５】
接続確立処理において制御部２３０は、まず、ステップＳ１３１において、階層構造の上流に接続している端装置２から受信した複数のパケットに分割されたコンテンツデータをデコードして即時再生し、その後、処理をステップＳ１３２へ移す。
【０２７６】
ステップＳ１３２において制御部２３０は、ステップＳ１１２において無線通信によるパケット受信を開始してから一定時間が経過したか否かの判断を行い、一定時間が経過したと判断した場合（ステップＳ１３２：ＹＥＳ）に処理をステップＳ１３３へ移し、一定時間が経過していないと判断した場合（ステップＳ１３２：ＮＯ）にこの接続確立処理を終了して、処理を図１２に示すステップＳ１０４へ移す。
【０２７７】
ステップＳ１３３において制御部２３０は、無線通信により一定時間継続してパケットを送信してきた隣接端末装置２の端末情報を参照して、その後、処理をステップＳ１３４へ移す。
【０２７８】
ステップＳ１３４において制御部２３０は、ステップＳ１３３において参照した端末情報に基づいて、その隣接端末装置２がネットワーク的に近いか否かの判断を行い、ネットワーク的に近いと判断した場合（ステップＳ１３４：ＹＥＳ）に処理をステップＳ１３５へ移し、ネットワーク的に遠いと判断した場合（ステップＳ１３４：ＮＯ）に処理をステップＳ１３７へ移す。なお、ここでの判断基準に関しては、図１４のステップＳ１２４の処理における判断基準と同様の判断基準を用いる。
【０２７９】
ステップＳ１３５において制御部２３０は、ステップＳ１３４において自端末装置２にネットワーク的に近いと判断された隣接端末装置２の下流側に下流端末装置として接続する処理を行い（ステップＳ１３５）、その後、接続した上流側の隣接端末装置２へコンテンツストリームの送信要求を行い（ステップＳ１３６）、この接続確立処理を終了して処理を図１２に示すステップＳ１０４へ移す。
【０２８０】
ステップＳ１３７において制御部２３０は、ステップＳ１３４において自端末装置２からネットワーク的に遠いと判断された隣接端末装置２とは別の接続先候補を通知してもらうために、接続管理装置３へ上流端末装置の候補を要求し、その後、この接続確立処理を終了して処理を図１２に示すステップＳ１０４へ移す。
【０２８１】
（コンテンツデータ送信開始/停止処理）
次に、図１２に示すステップＳ１１５で行うコンテンツデータ送信開始/停止処理について、図１７を参照して具体的に説明する。
【０２８２】
コンテンツデータ送信開始/停止処理において制御部２３０は、まず、ステップＳ１１４において受信した要求が無線通信インタフェース２０４を介した要求であるか否かの判断を行い（ステップＳ１３８）、無線通信インタフェース２０４を介した要求であると判断した場合（ステップＳ１３８：ＹＥＳ）に処理をステップＳ１３９へ移し、無線通信インタフェース２０４を介した要求でない、すなわち、ネットワークインタフェース２０６を介した要求であると判断した場合（ステップＳ１３８：ＮＯ）に、処理をステップＳ１４０へ移す。
【０２８３】
ステップＳ１３９において制御部２３０は、無線通信インタフェース２０４を介して受信した要求を送信してきた隣接端末装置２に対し、その要求に応じてコンテンツデータの送信開始、又は、コンテンツデータの送信停止を行う。
【０２８４】
ステップＳ１４０において制御部２３０は、ネットワークインタフェース２０６を介して受信した要求を送信してきた他の端末装置２に対し、その要求に応じてコンテンツデータの送信開始、又は、コンテンツデータの送信停止を行う。
【０２８５】
（接続管理装置３の処理フローの説明）
次に、接続管理装置３の更に具体的な動作について、図１８を参照して説明する。図１８は接続管理装置３における処理全体を示すフローチャートである。
【０２８６】
接続管理装置３の電源がＯＮになると、接続管理装置３は、各プログラム４１３〜４１７の初期化を行い、各プログラム４１３〜４１７をＣＰＵ４０２による実行状態とし、制御部４３０としての機能を動作させる（ステップＳ２０１）。
【０２８７】
制御部４３０は、まず、端末装置２からチャンネルへの参加要求を受信したか否かを判定する（ステップＳ２０２）。
【０２８８】
ステップＳ２０２において、端末装置２からチャンネルへの参加要求を受信したと判定すると（ステップＳ２０２：ＹＥＳ）、制御部４３０は、受信した参加要求に含まれる端末装置２の所在情報を端末管理データベース４１２へ登録する（ステップＳ２０３）。
【０２８９】
一方、ステップＳ２０２において、端末装置２からチャンネルへの参加要求を受信していないと判定すると（ステップＳ２０２：ＮＯ）、制御部４３０は、コンテンツ配信装置１からの登録要求を受信したか否かを判定する（ステップＳ２０５）。
【０２９０】
ステップＳ２０５において、コンテンツ配信装置１からの登録要求を受信したと判定すると（ステップＳ２０５：ＹＥＳ）、制御部４３０は、受信した登録要求に含まれるコンテンツ配信装置１の所在情報を端末管理データベース４１２へ登録する（ステップＳ２０６）。
【０２９１】
次に、制御部４３０は、新しいチャンネルの情報をトポロジーデータベース４１１に登録する。すなわち、トポロジーデータベース４１１に新しいチャンネルのトポロジーテーブルを生成するのである（ステップＳ２０７）。
【０２９２】
ステップＳ２０５において、コンテンツ配信装置１からの登録要求を受信していないと判定すると（ステップＳ２０５：ＮＯ）、制御部４３０は、端末装置２から接続先紹介要求を受信したか否かを判定する（ステップＳ２０８）。
【０２９３】
ステップＳ２０８において、端末装置２から接続先紹介要求を受信したと判定すると（ステップＳ２０８：ＹＥＳ）、制御部４３０は、トポロジーデータベース４１１から接続先候補となる端末装置２を選択する（ステップＳ２０９）。
【０２９４】
接続管理装置３の制御部４３０は、このように選択した接続先候補を、接続先紹介要求を行った端末装置２へ返信して通知する（ステップＳ２１０）。
【０２９５】
ステップＳ２０８において、端末装置２から接続先紹介要求を受信していないと判定すると（ステップＳ２０８：ＮＯ）、制御部４３０は、端末装置２からトポロジー参加報告があったか否かを判定する（ステップＳ２１１）。
【０２９６】
ステップＳ２１１において、端末装置２からトポロジー参加報告があったと判定すると（ステップＳ２１１：ＹＥＳ）、制御部４３０は、このトポロジー参加報告に含まれる端末装置の所在情報を取り出し、トポロジーデータベース４１１の更新処理を行う（ステップＳ２１２）。すなわち、制御部４３０は、トポロジーの変動をトポロジーデータベース４１１へ登録する。
【０２９７】
ステップＳ２１１において端末装置２からトポロジー参加報告がないと判定したとき（ステップＳ２１１：ＮＯ）、及び、ステップＳ２０３、Ｓ２０７、Ｓ２１０、Ｓ２１２の処理が終了したとき、制御部４３０は、接続管理装置３のサービス終了の操作が行われたか否かを判定する（ステップＳ２０４）。サービスの終了操作が行われていないと判定すると（ステップＳ２０４：ＮＯ）、処理をステップＳ２０２へ戻し、接続管理装置３のサービス終了の操作が行われたと判定すると（ステップＳ２０４：ＹＥＳ）、処理を終了する。
【０２９８】
（無線通信の実施形態）
本発明では、近接する端末装置との第２通信手段（無線通信手段）として、無線ＬＡＮによる通信方法を例示しているが、無線通信可能なものであれば任意の方法を用いてよい。例えば、無線ＬＡＮよりも通信範囲が広いＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）のような通信方法を選択してもよい。
【０２９９】
以上、本発明の実施の形態のうちのいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【０３００】
【図１】本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図２】本実施形態における各端末装置２の有線通信、及び、無線通信による通信形態を示す説明図である。
【図３】端末装置２に記憶された隣接端末情報の一例を示す説明図である。
【図４】１チャンネルのコンテンツデータがストリーミング配信されている階層構造と、２チャンネルのコンテンツデータがストリーミング配信されている階層構造とを示す説明図である。
【図５】ザッピングを時間の流れでみた説明図である。
【図６】ザッピングを時間の流れでみた説明図である。
【図７】ザッピングを時間の流れでみた説明図である。
【図８】コンテンツ配信装置を示す機能ブロック図である。
【図９】端末装置を示す機能ブロック図である。
【図１０】端末装置の変形例を示す機能ブロック図である。
【図１１】接続管理装置を示す機能ブロック図である。
【図１２】端末装置の制御部が行う処理を示すフローチャートである。
【図１３】端末装置の制御部が行う処理を示すフローチャートである。
【図１４】端末装置の制御部が行う処理を示すフローチャートである。
【図１５】端末装置の制御部が行う処理を示すフローチャートである。
【図１６】端末装置の制御部が行う処理を示すフローチャートである。
【図１７】端末装置の制御部が行う処理を示すフローチャートである。
【図１８】接続管理装置の制御部が行う処理を示すフローチャートである。
【符号の説明】
【０３０１】
Ｓ  コンテンツ配信システム
１  コンテンツ配信装置
２  端末装置
３  接続管理装置
２３０  制御部
２０２  ＣＰＵ
２０７  主記憶装置
２０４  無線通信インタフェース
２０６  ネットワークインタフェース
２３３  ルータ
【図１】
0004539598.tif 000002
【図２】
0004539598.tif 000003
【図３】
0004539598.tif 000004
【図４】
0004539598.tif 000005
【図５】
0004539598.tif 000006
【図６】
0004539598.tif 000007
【図７】
0004539598.tif 000008
【図８】
0004539598.tif 000009
【図９】
0004539598.tif 000010
【図１０】
0004539598.tif 000011
【図１１】
0004539598.tif 000012
【図１２】
0004539598.tif 000013
【図１３】
0004539598.tif 000014
【図１４】
0004539598.tif 000015
【図１５】
0004539598.tif 000016
【図１６】
0004539598.tif 000017
【図１７】
0004539598.tif 000018
【図１８】
0004539598.tif 000019