(57)【特許請求の範囲】
【請求項１】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下流に中継されて前記複数の端末装置全てに配信されるコンテンツ配信システムにおいて、
前記配信装置は、
コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記複数の端末装置のうち、下流に接続された端末装置へ前記記憶しているコンテンツデータを送信するコンテンツデータ送信手段と、
前記端末装置からのソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、
前記下流に接続された端末装置に対して、前記受信したソフトウェア更新要求を中継するソフトウェア更新要求中継機能を有するソフトウェア更新要求処理手段と、を有し、
前記端末装置は、
上流装置からコンテンツデータを受信するコンテンツデータ受信機能と、前記受信したコンテンツデータを自端末装置の下流に接続された端末装置へ転送するコンテンツデータ転送機能と、を有するコンテンツデータ中継手段と、
前記上流装置からソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、前記受信したソフトウェア更新要求を自端末装置の下流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、前記ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自端末装置が有している場合に当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するソフトウェア更新要求応答機能と、を有するコンテンツ更新要求情報処理手段と、
所定の装置へソフトウェア更新要求を送信して、前記階層構造を構成する前記複数の端末装置に対して前記ソフトウェア更新要求を配信するよう要求するソフトウェア更新要求機能と、前記ソフトウェア更新要求に対して肯定応答してきた端末装置に対して、前記更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する更新ソフトウェア取得機能と、を有するソフトウェア更新処理手段と、を備えた
ことを特徴としたコンテンツ配信システム。
【請求項２】
前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記配信装置の所在情報を記憶する配信装置所在情報記憶手段と、前記配信装置が使用中のソフトウェアの識別情報を記憶するソフトウェア識別情報記憶手段と、を備えた接続先紹介装置を有し、
前記接続先紹介装置は、
当該コンテンツ配信システムに参加する端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択機能と、前記接続先紹介要求を行った端末装置へ前記選択された前記接続先候補を通知する通知機能と、を有する接続先紹介手段と、
前記端末装置から前記配信装置の所在情報の問い合わせを受けたとき、前記配信装置所在情報記憶手段に記憶された配信装置の所在情報と、ソフトウェア識別情報記憶手段に記憶された前記配信装置において使用中のソフトウェアの識別情報とを取得する情報取得機能と、前記問い合わせを行った端末装置に対して前記取得した情報を通知する通知機能と、を有するソフトウェア情報通知手段とを、備えた
ことを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項３】
前記接続先紹介装置の前記ソフトウェア情報通知手段は、
前記端末装置から前記問い合わせを受けたとき、当該問い合わせを行った端末装置に対してライセンス情報の送信を要求し、当該送信要求に対して前記問い合わせを行った端末装置から送信されるライセンス情報が正規のライセンス情報であると認証した場合に、前記取得した情報を、前記問い合わせを行った端末装置へ通知することを特徴とする請求項２に記載のコンテンツ配信システム。
【請求項４】
前記端末装置のソフトウェア更新処理手段は、
前記ソフトウェア更新要求を送信する前記所定の装置を、前記配信装置とすることを特徴とする請求項１又は請求項２に記載のコンテンツ配信システム。
【請求項５】
前記配信装置は、
前記ソフトウェア更新要求元の端末装置が送信したライセンス情報を受信するライセンス情報受信手段と、
前記受信したライセンス情報が正規のライセンス情報であるか否かを認証する認証手段と、を有し、
前記配信装置のソフトウェア更新要求処理手段は、
前記ソフトウェア更新要求中継機能として、前記認証手段により前記受信したライセンス情報が正規のライセンス情報であると認証された場合に、前記下流に接続された端末装置に対して、前記受信したソフトウェア更新要求を中継することを特徴とする請求項４に記載のコンテンツ配信システム。
【請求項６】
前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、前記配信装置の所在情報を記憶する配信装置所在情報記憶手段と、前記配信装置が使用中のソフトウェアの識別情報を記憶するソフトウェア識別情報記憶手段と、を備えた接続先紹介装置を有し、
前記接続先紹介装置は、
当該コンテンツ配信システムに参加する端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された接続状態情報に基づいて接続先候補を選択する接続先候補選択機能と、前記接続先紹介要求を行った端末装置へ前記選択された前記接続先候補を通知する通知機能と、を有する接続先紹介手段と、
前記端末装置から前記配信装置のソフトウェア識別情報の問い合わせを受けたとき、ソフトウェア識別情報記憶手段に記憶された前記配信装置において使用中のソフトウェアの識別情報を取得する機能と、前記問い合わせを行った端末装置に対して前記取得した情報を通知する通知機能と、前記端末装置から前記ソフトウェア更新要求を受信したとき、前記配信装置所在情報記憶手段に記憶された前記配信装置の所在情報を取出し、当該配信装置の所在情報を宛先として、前記ソフトウェア更新要求を前記配信装置へ転送するソフトウェア更新要求転送機能と、を有するソフトウェア情報通知手段と、備えた
ことを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項７】
前記接続先紹介装置の前記ソフトウェア情報通知手段は、
前記端末装置から前記ソフトウェア更新要求を受信したとき、当該ソフトウェア更新要求を行った端末装置に対してライセンス情報の送信を要求し、当該送信要求に対して前記ソフトウェア更新要求を行った端末装置から送信されるライセンス情報が正規のライセンス情報であると認証した場合に、前記ソフトウェア更新要求を前記配信装置へ転送することを特徴とする請求項６に記載のコンテンツ配信システム。
【請求項８】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下流に中継されて前記複数の端末装置全てに配信されるコンテンツ配信システムにおける情報処理方法において、
前記配信装置は、
前記複数の端末装置のうち、下流に接続された端末装置へ記憶しているコンテンツデータを送信するステップと、
前記端末装置からのソフトウェア更新要求を受信するステップと、
前記下流に接続された端末装置に対して、前記受信したソフトウェア更新要求を中継するステップと、を有し、
前記端末装置は、
上流装置からコンテンツデータを受信するステップと、
前記受信したコンテンツデータを自端末装置の下流に接続された端末装置へ転送するステップと、
前記上流装置からソフトウェア更新要求を受信するステップと、
前記受信したソフトウェア更新要求を自端末装置の下流に接続された端末装置へ中継するステップと、
前記ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自端末装置が有している場合に、当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するステップと、
前記更新ソフトウェア要求元の端末装置から受信した更新ソフトウェアのダウンロード要求に対して、自端末装置が有している更新ソフトウェアを送信するステップと、を備えた
ことを特徴としたコンテンツ配信システムの情報処理方法。
【請求項９】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下流に中継されて前記複数の端末装置全てに配信されるコンテンツ配信システムにおける前記端末装置において、
上流装置からコンテンツデータを受信するコンテンツデータ受信機能と、前記受信したコンテンツデータを自端末装置の下流に接続された端末装置へ転送するコンテンツデータ転送機能と、を有するコンテンツデータ中継手段と、
前記上流装置からソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、前記受信したソフトウェア更新要求を自端末装置の下流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、前記ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自端末装置が有している場合に当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するソフトウェア更新要求応答機能と、を有するコンテンツ更新要求情報処理手段と、を備えたことを特徴とする端末装置。
【請求項１０】
コンテンツデータを配信する配信装置と、前記配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、前記配信装置から配信される前記コンテンツデータが前記端末装置の中継機能により順次下流に中継されて前記複数の端末装置全てに配信されるコンテンツ配信システムにおける前記端末装置において、
上流装置からコンテンツデータを受信するコンテンツデータ受信機能と、前記受信したコンテンツデータを自端末装置の下流に接続された端末装置へ転送するコンテンツデータ転送機能と、を有するコンテンツデータ中継手段と、
自端末装置の下流に接続された端末装置からソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、前記受信したソフトウェア更新要求を自端末装置の上流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、前記ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自端末装置が有している場合に当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて前記更新ソフトウェア要求元の端末装置へ肯定応答を送信するソフトウェア更新要求応答機能と、を有するコンテンツ更新要求情報処理手段と、を備えた
ことを特徴とする端末装置。
【請求項１１】
前記コンテンツ更新要求情報処理手段は、
前記更新ソフトウェアの要求元の端末装置が送信したライセンス情報を受信し、前記受信したライセンス情報が正規のライセンス情報であると認証した場合にのみ、前記更新ソフトウェア要求元の端末装置から受信した更新ソフトウェアのダウンロード要求に対して、自端末装置が有している更新ソフトウェアを送信する更新ソフトウェア送信機能を有することを特徴とする請求項９又は請求項１０に記載の端末装置。
【請求項１２】
前記コンテンツ更新要求情報処理手段は、
前記ソフトウェア更新要求中継機能として、前記受信したソフトウェア更新要求を自端末装置の上流又は下流に接続された端末装置へ中継する際に、前記ソフトウェア更新要求に含まれる中継回数情報の値が所定の値であるとき、前記ソフトウェア更新要求の中継を行わず、前記ソフトウェア更新要求に含まれる中継回数情報の値が所定の値よりも小さい値であるとき、前記ソフトウェア更新要求に含まれる中継回数情報の値を増加させて、前記ソフトウェア更新要求を中継することを特徴とする請求項９〜１１のいずれか１項に記載の端末装置。
【請求項１３】
前記コンテンツ更新要求情報処理手段は、
前記ソフトウェア更新要求中継機能として、前記受信したソフトウェア更新要求を自端末装置の上流又は下流に接続された端末装置へ中継する際に、前記ソフトウェア更新要求に含まれる送信時刻と現在時刻とを比較して、前記ソフトウェア更新要求の中継期限が超過しているか否かを判定し、前記ソフトウェア更新要求が中継期限を超過していると判断した場合には前記ソフトウェア更新要求の中継を行わないことを特徴とする請求項９〜１１のいずれか1項に記載の端末装置。
【請求項１４】
所定の装置へソフトウェア更新要求を送信して、前記階層構造を構成する前記複数の端末装置に対して前記ソフトウェア更新要求を配信するよう要求するソフトウェア更新要求機能と、前記ソフトウェア更新要求に対して肯定応答してきた端末装置に対して、前記更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する更新ソフトウェア取得機能と、を有するソフトウェア更新処理手段を備えた
ことを特徴とする請求項９〜１３のいずれか1項に記載の端末装置。
【請求項１５】
自端末装置のソフトウェアの識別情報を記憶するソフトウェア識別情報記憶手段を有し、
前記ソフトウェア更新処理手段は、
前記ソフトウェア更新要求機能として、前記配信装置において使用中のソフトウェアの識別情報を取得し、当該識別情報と前記ソフトウェア識別情報記憶手段に記憶した自端末装置のソフトウェアの識別情報とが一致しないとき、前記ソフトウェア更新要求を行うことを特徴とする請求項１４に記載の端末装置。
【請求項１６】
前記ソフトウェア更新処理手段は、
前記更新ソフトウェア取得機能として、前記ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるとき、当該複数の端末装置のうち一の端末装置を選択して、前記更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する
ことを特徴とする請求項１４又は請求項１５に記載の端末装置。
【請求項１７】
前記ソフトウェア更新処理手段は、
前記更新ソフトウェア取得機能として、前記ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるときに、当該複数の装置に対してそれぞれ前記更新ソフトウェアの一部を送信させるためのダウンロード要求を送信し、前記複数の装置からそれぞれ更新ソフトウェアの一部を取得すると、取得した前記更新ソフトウェアの一部を繋ぎ合わせて更新ソフトウェアを生成することを特徴とする請求項１４又は請求項１５に記載の端末装置。
【請求項１８】
前記コンテンツ更新要求情報処理手段は、
ソフトウェア更新要求応答機能として、更新ソフトウェア要求元の端末装置へ肯定応答を送信する際に、ホップ数の値を所定の値にセットした前記肯定応答を送信する機能を有し、
前記ソフトウェア更新処理手段は、
前記更新ソフトウェア取得機能として、前記ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるときに、前記肯定応答に含まれる前記ホップ数の値が最もホップ数の値が少ない前記端末装置に対して、前記更新ソフトウェアのダウンロード要求を送信して前記更新ソフトウェアを取得する
ことを特徴とする請求項１４〜１６のいずれか１項に記載の端末装置。
【請求項１９】
前記コンテンツ更新要求情報処理手段は、
ソフトウェア更新要求応答機能として、更新ソフトウェア要求元の端末装置へ肯定応答を送信する際に、前記肯定応答に送信時刻を挿入する機能を有し、
前記ソフトウェア更新処理手段は、
前記更新ソフトウェア取得機能として、前記ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるときに、前記肯定応答に含まれる送信時刻と現在時刻とを比較し、前記送信時刻と現在時刻との差が最も少ない前記端末装置に対して、前記更新ソフトウェアのダウンロード要求を送信して前記更新ソフトウェアを取得する
ことを特徴とする請求項１４〜１６のいずれか1項に記載の端末装置。
【請求項２０】
当該コンテンツ配信システムに参加する際に、前記階層構造の接続先候補を紹介する接続先紹介装置に対して、接続先候補の紹介を要求する接続先候補要求機能と、前記接続先候補の紹介要求に対して前記接続先紹介装置から送信される接続先候補を受信する接続先候補受信機能と、を有する接続先紹介要求手段を備え、
前記ソフトウェア更新処理手段は、
前記更新ソフトウェア取得機能として、前記ソフトウェア更新要求に対して肯定応答してきた端末装置に前記接続先紹介装置から送信される接続先候補が含まれているとき、前記接続先紹介装置から送信される接続先候補に対して、前記更新ソフトウェアのダウンロード要求を送信して前記更新ソフトウェアを取得する
ことを特徴とする請求項１４〜１６のいずれか1項に記載の端末装置。
【請求項２１】
コンピュータに、請求項９〜２０のいずれか１項に記載の端末装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク構成された端末装置間におけるコンテンツの配信に関わる、コンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置に関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などのコンテンツのストリーミング配信を行うコンテンツ配信サービスが開始されている。コンテンツを配信するコンテンツ配信システムの技術として、Ｐ２Ｐ（Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒ）通信と呼ばれるシステムが提案されている。Ｐ２Ｐ通信は、配信元からコンテンツを受信した端末装置が、受信したコンテンツを他の端末装置へ順次中継して配信する。
【０００３】
Ｐ２Ｐ通信によるコンテンツ配信システムの一形態としては、コンテンツを配信する放送局のような配信装置と、この配信装置を頂点として複数の端末装置が階層構造で多層に論理接続されたネットワークを備えている。更に、このネットワークの接続状態を管理する管理サーバが設けられる。この構成のネットワークにより、配信装置から（あるいは別の端末装置から）配信されるコンテンツが、端末装置が備える中継機能により、順次下流の端末装置へ中継配信される。この中継配信により、全ての端末装置にコンテンツが配信され、全ての端末装置において、受信したコンテンツが再生される。
【０００４】
配信装置は、提供している視聴チャネル毎に複数存在する。利用者があるチャネルの視聴を希望する場合には、希望する視聴チャネルを配信する配信装置が選択される。
【０００５】
視聴チャネルは、音声コンテンツを配信する視聴チャネル、映像コンテンツを配信する視聴チャネルを有している。異なる視聴チャネルに対応する配信装置は、それぞれ異なるコーデック方式により、コンテンツを記憶、配信する。例えば、ある配信装置は、ＭＰ３方式によりエンコードされた音声コンテンツを配信し、別の配信装置は、ＭＰＥＧ４やＨ．２６４方式でエンコードされた映像コンテンツを配信する。
【０００６】
したがって、利用者が使用する端末装置が、ある配信装置の配信を新規に受けたい場合には、この新規参加の端末装置は、その配信装置が有しているコーデック方式に対応する再生ソフトウェアや通信ソフトウェアを必要とする。このため、新規参加の端末装置は、これらのソフトウェアを得る必要がある。
【０００７】
従来、ネットワークに接続されている複数の端末装置に対するソフトウェアの送信を実現するために、ソフトウェアの送信元となる配信装置と、中継を行う中継装置が負荷検出部を備え、ネットワークの通信負荷が小さい場合を選んでソフトウェアの送信を行う技術がある（例えば、特許文献１参照）。
【０００８】
また、クライアントとなる端末装置毎に機種や要求するサービスが異なる場合であっても、サービス情報に応じたプログラムを効率的にダウンロードできるようにするために、配信装置が、クライアントプログラム蓄積部と、プログラム管理テーブルと、ファイル送信部を備える技術が提案されている（例えば、特許文献２参照）。このプログラム管理テーブルは、クライアントの属性情報毎にクライアントプログラムを管理し、ファイル送信部は、クライアント管理テーブルとクライアントプログラムを送信する。
【０００９】
特許文献２では、クライアントの端末装置が、サーバである配信装置が保有するプログラム管理テーブルを取得する。次いで、端末装置は、端末装置の属性情報とサービス情報との照合を行い、クライアントプログラムを選定した上で、クライアントプログラムを配信装置からダウンロードする。
【特許文献１】特開平７−３３４４３６号公報
【特許文献２】特開２０００−１０７８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１、特許文献２に記載の技術では、配信装置であるホスト計算機又はサーバ装置が、接続されている個々の端末装置に対してソフトウェアの送信を行っているので、配信装置に接続されている通信経路の負荷が増大する問題があった。
【００１１】
本発明は、上記問題を解決するためになされたものである。
【００１２】
すなわち、システムに参加している端末装置であって、新規参加端末装置の要求するソフトウェアを有している端末装置が、新規参加端末装置に対して、ソフトウェアを送信することが可能なコンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置を提供する。
【課題を解決するための手段】
【００１３】
上記課題を解決するために請求項１記載の発明は、コンテンツデータを配信する配信装置と、配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下流に中継されて複数の端末装置全てに配信されるコンテンツ配信システムにおいて、配信装置は、コンテンツデータを記憶するコンテンツデータ記憶手段と、複数の端末装置のうち、下流に接続された端末装置へ記憶しているコンテンツデータを送信するコンテンツデータ送信手段と、端末装置からのソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、下流に接続された端末装置に対して、受信したソフトウェア更新要求を中継するソフトウェア更新要求中継機能を有するソフトウェア更新要求処理手段と、を有し、端末装置は、上流装置からコンテンツデータを受信するコンテンツデータ受信機能と、受信したコンテンツデータを自己の端末装置の下流に接続された端末装置へ転送するコンテンツデータ転送機能と、を有するコンテンツデータ中継手段と、上流装置からソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、受信したソフトウェア更新要求を自己の端末装置の下流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自己の端末装置が有している場合に当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するソフトウェア更新要求応答機能と、を有するコンテンツ更新要求情報処理手段と、所定の装置へソフトウェア更新要求を送信して、階層構造を構成する複数の端末装置に対してソフトウェア更新要求を配信するよう要求するソフトウェア更新要求機能と、ソフトウェア更新要求に対して肯定応答してきた端末装置に対して、更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する更新ソフトウェア取得機能と、を有するソフトウェア更新処理手段と、を備える構成とした。
【００１４】
請求項２に記載の発明は、請求項１に記載のコンテンツ配信システムに加えて、階層構造を構成する端末装置の接続状態情報を記憶する接続状態情報記憶手段と、配信装置の所在情報を記憶する配信装置所在情報記憶手段と、配信装置が使用中のソフトウェアの識別情報を記憶するソフトウェア識別情報記憶手段と、を備えた接続先紹介装置を有し、接続先紹介装置は、当該コンテンツ配信システムに参加する端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択する接続先候補選択機能と、接続先紹介要求を行った端末装置へ選択された接続先候補を通知する通知機能と、を有する接続先紹介手段と、端末装置から配信装置の所在情報の問い合わせを受けたとき、配信装置所在情報記憶手段に記憶された配信装置の所在情報と、ソフトウェア識別情報記憶手段に記憶された配信装置において使用中のソフトウェアの識別情報とを取得する情報取得機能と、問い合わせを行った端末装置に対して取得した情報を通知する通知機能と、を有するソフトウェア情報通知手段とを備える構成とした。
【００１５】
請求項３に記載の発明は、請求項２に記載のコンテンツ配信システムに加えて、接続先紹介装置のソフトウェア情報通知手段は、端末装置から問い合わせを受けたとき、当該問い合わせを行った端末装置に対してライセンス情報の送信を要求し、当該送信要求に対して問い合わせを行った端末装置から送信されるライセンス情報が正規のライセンス情報であると認証した場合に、取得した情報を、問い合わせを行った端末装置へ通知する構成とした。
【００１６】
請求項４に記載の発明は、請求項１および請求項２のいずれか１項に記載のコンテンツ配信システムに加えて、端末装置のソフトウェア更新処理手段は、ソフトウェア更新要求を送信する所定の装置を、配信装置とする構成とした。
【００１７】
請求項５に記載の発明は、請求項４に記載のコンテンツ配信システムに加えて、配信装置は、ソフトウェア更新要求元の端末装置が送信したライセンス情報を受信するライセンス情報受信手段と、受信したライセンス情報が正規のライセンス情報であるか否かを認証する認証手段と、を有し、配信装置のソフトウェア更新要求処理手段は、ソフトウェア更新要求中継機能として、認証手段により受信したライセンス情報が正規のライセンス情報であると認証された場合に、下流に接続された端末装置に対して、受信したソフトウェア更新要求を中継する構成とした。
【００１８】
請求項６に記載の発明は、請求項１に記載のコンテンツ配信システムに加えて、階層構造を構成する端末装置の接続状態情報を記憶する接続状態情報記憶手段と、配信装置の所在情報を記憶する配信装置所在情報記憶手段と、配信装置が使用中のソフトウェアの識別情報を記憶するソフトウェア識別情報記憶手段と、を備えた接続先紹介装置を有し、接続先紹介装置は、当該コンテンツ配信システムに参加する端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報に基づいて接続先候補を選択する接続先候補選択機能と、接続先紹介要求を行った端末装置へ選択された接続先候補を通知する通知機能と、を有する接続先紹介手段と、端末装置から配信装置のソフトウェア識別情報の問い合わせを受けたとき、ソフトウェア識別情報記憶手段に記憶された配信装置において使用中のソフトウェアの識別情報を取得する機能と、問い合わせを行った端末装置に対して取得した情報を通知する通知機能と、端末装置からソフトウェア更新要求を受信したとき、配信装置所在情報記憶手段に記憶された配信装置の所在情報を取出し、当該配信装置の所在情報を宛先として、ソフトウェア更新要求を配信装置へ転送するソフトウェア更新要求転送機能と、を有するソフトウェア情報通知手段と、備えた構成とした。
【００１９】
請求項７に記載の発明は、請求項６に記載のコンテンツ配信システムに加えて、接続先紹介装置のソフトウェア情報通知手段は、端末装置からソフトウェア更新要求を受信したとき、当該ソフトウェア更新要求を行った端末装置に対してライセンス情報の送信を要求し、当該送信要求に対してソフトウェア更新要求を行った端末装置から送信されるライセンス情報が正規のライセンス情報であると認証した場合に、ソフトウェア更新要求を配信装置へ転送する構成とした。
【００２０】
請求項８に記載の発明は、コンテンツデータを配信する配信装置と、配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下流に中継されて複数の端末装置全てに配信されるコンテンツ配信システムにおける情報処理方法において、配信装置は、複数の端末装置のうち、下流に接続された端末装置へ記憶しているコンテンツデータを送信するステップと、端末装置からのソフトウェア更新要求を受信するステップと、下流に接続された端末装置に対して、受信したソフトウェア更新要求を中継するステップと、を有し、端末装置は、上流装置からコンテンツデータを受信するステップと、受信したコンテンツデータを自己の端末装置の下流に接続された端末装置へ転送するステップと、上流装置からソフトウェア更新要求を受信するステップと、受信したソフトウェア更新要求を自己の端末装置の下流に接続された端末装置へ中継するステップと、ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自己の端末装置が有している場合に、当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するステップと、更新ソフトウェア要求元の端末装置から受信した更新ソフトウェアのダウンロード要求に対して、自己の端末装置が有している更新ソフトウェアを送信するステップと、を備えた構成とした。
【００２１】
請求項９に記載の発明は、コンテンツデータを配信する配信装置と、配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下流に中継されて複数の端末装置全てに配信されるコンテンツ配信システムにおける端末装置において、上流装置からコンテンツデータを受信するコンテンツデータ受信機能と、受信したコンテンツデータを自己の端末装置の下流に接続された端末装置へ転送するコンテンツデータ転送機能と、を有するコンテンツデータ中継手段と、上流装置からソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、受信したソフトウェア更新要求を自己の端末装置の下流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自己の端末装置が有している場合に当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するソフトウェア更新要求応答機能と、を有するコンテンツ更新要求情報処理手段と、を備えた構成とした。
【００２２】
請求項１０に記載の発明は、コンテンツデータを配信する配信装置と、配信装置を頂点として階層構造で多層に論理接続される複数の端末装置とを有し、配信装置から配信されるコンテンツデータが端末装置の中継機能により順次下流に中継されて複数の端末装置全てに配信されるコンテンツ配信システムにおける端末装置において、上流装置からコンテンツデータを受信するコンテンツデータ受信機能と、受信したコンテンツデータを自己の端末装置の下流に接続された端末装置へ転送するコンテンツデータ転送機能と、を有するコンテンツデータ中継手段と、自己の端末装置の下流に接続された端末装置からソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、受信したソフトウェア更新要求を自己の端末装置の上流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致するソフトウェアを自己の端末装置が有している場合に当該ソフトウェア更新要求に含まれる要求元所在情報に基づいて更新ソフトウェア要求元の端末装置へ肯定応答を送信するソフトウェア更新要求応答機能と、を有するコンテンツ更新要求情報処理手段と、を備えた構成とした。
【００２３】
請求項１１に記載の発明は、請求項９および請求項１０のいずれか１項に記載の端末装置に加えて、コンテンツ更新要求情報処理手段は、更新ソフトウェアの要求元の端末装置が送信したライセンス情報を受信し、受信したライセンス情報が正規のライセンス情報であると認証した場合にのみ、更新ソフトウェア要求元の端末装置から受信した更新ソフトウェアのダウンロード要求に対して、自己の端末装置が有している更新ソフトウェアを送信する更新ソフトウェア送信機能を有する構成とした。
【００２４】
請求項１２に記載の発明は、請求項９〜１１のいずれか１項記載の端末装置に加えて、コンテンツ更新要求情報処理手段は、ソフトウェア更新要求中継機能として、受信したソフトウェア更新要求を自己の端末装置の上流又は下流に接続された端末装置へ中継する際に、ソフトウェア更新要求に含まれる中継回数情報の値が所定の値であるとき、ソフトウェア更新要求の中継を行わず、ソフトウェア更新要求に含まれる中継回数情報の値が所定の値よりも小さい値であるとき、ソフトウェア更新要求に含まれる中継回数情報の値を増加させて、ソフトウェア更新要求を中継する構成とした。
【００２５】
請求項１３に記載の発明は、請求項９〜１１のいずれか１項記載の端末装置に加えて、コンテンツ更新要求情報処理手段は、ソフトウェア更新要求中継機能として、受信したソフトウェア更新要求を自己の端末装置の上流又は下流に接続された端末装置へ中継する際に、ソフトウェア更新要求に含まれる送信時刻と現在時刻とを比較して、ソフトウェア更新要求の中継期限が超過しているか否かを判定し、ソフトウェア更新要求が中継期限を超過していると判断した場合にはソフトウェア更新要求の中継を行わない構成とした。
【００２６】
請求項１４に記載の発明は、請求項９〜１３のいずれか１項記載の端末装置に加えて、所定の装置へソフトウェア更新要求を送信して、階層構造を構成する複数の端末装置に対してソフトウェア更新要求を配信するよう要求するソフトウェア更新要求機能と、ソフトウェア更新要求に対して肯定応答してきた端末装置に対して、更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する更新ソフトウェア取得機能と、を有するソフトウェア更新処理手段を備えた構成とした。
【００２７】
請求項１５に記載の発明は、請求項１４記載の端末装置に加えて、自己の端末装置のソフトウェアの識別情報を記憶するソフトウェア識別情報記憶手段を有し、ソフトウェア更新処理手段は、ソフトウェア更新要求機能として、配信装置において使用中のソフトウェアの識別情報を取得し、当該識別情報とソフトウェア識別情報記憶手段に記憶した自己の端末装置のソフトウェアの識別情報とが一致しないとき、ソフトウェア更新要求を行う構成とした。
【００２８】
請求項１６に記載の発明は、請求項１４および請求項１５のいずれか１項記載の端末装置に加えて、ソフトウェア更新処理手段は、更新ソフトウェア取得機能として、ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるとき、当該複数の端末装置のうち一の端末装置を選択して、更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する構成とした。
【００２９】
請求項１７に記載の発明は、請求項１４および請求項１５のいずれか１項記載の端末装置に加えて、ソフトウェア更新処理手段は、更新ソフトウェア取得機能として、ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるときに、当該複数の装置に対してそれぞれ更新ソフトウェアの一部を送信させるためのダウンロード要求を送信し、複数の装置からそれぞれ更新ソフトウェアの一部を取得すると、取得した更新ソフトウェアの一部を繋ぎ合わせて更新ソフトウェアを生成する構成とした。
【００３０】
請求項１８に記載の発明は、請求項１４〜１６のいずれか１項記載の端末装置に加えて、コンテンツ更新要求情報処理手段は、ソフトウェア更新要求応答機能として、更新ソフトウェア要求元の端末装置へ肯定応答を送信する際に、ホップ数の値を所定の値にセットした肯定応答を送信する機能を有し、ソフトウェア更新処理手段は、更新ソフトウェア取得機能として、ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるときに、肯定応答に含まれるポップ数の値が最もホップ数の値が少ない端末装置に対して、更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する構成とした。
【００３１】
請求項１９に記載の発明は、請求項１４〜１６のいずれか１項記載の端末装置に加えて、コンテンツ更新要求情報処理手段は、ソフトウェア更新要求応答機能として、更新ソフトウェア要求元の端末装置へ肯定応答を送信する際に、肯定応答に送信時刻を挿入する機能を有し、ソフトウェア更新処理手段は、更新ソフトウェア取得機能として、ソフトウェア更新要求に対して肯定応答してきた端末装置が複数あるときに、肯定応答に含まれる送信時刻と現在時刻とを比較し、送信時刻と現在時刻との差が最も少ない端末装置に対して更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する構成とした。
【００３２】
請求項２０に記載の発明は、請求項１４〜１６のいずれか１項記載の端末装置に加えて、当該コンテンツ配信システムに参加する際に、階層構造の接続先候補を紹介する接続先紹介装置に対して、接続先候補の紹介を要求する接続先候補要求機能と、接続先候補の紹介要求に対して接続先紹介装置から送信される接続先候補を受信する接続先候補受信機能と、を有する接続先紹介要求手段を備え、ソフトウェア更新処理手段は、更新ソフトウェア取得機能として、ソフトウェア更新要求に対して肯定応答してきた端末装置に接続先紹介装置から送信される接続先候補が含まれているとき、接続先紹介装置から送信される接続先候補に対して、更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する構成とした。
【発明の効果】
【００３３】
本発明によれば、コンテンツデータの配信システムの配信経路を用いることで、新規に参加した利用者の端末装置から送信されてきたソフトウェア更新要求を、下層に存在する端末装置に配信することができる。したがって、特定の装置に対して、更新要求を配信する負荷が集中することを回避することができる。
【００３４】
請求項２に記載の発明によれば、端末装置が接続先紹介装置に問い合わせを行うことで、コンテンツ配信経路上の上流装置の所在情報を取得したり、ソフトウェア更新要求の送信先となる配信装置の所在情報を取得したりできる。コンテンツ配信経路やソフトウェア識別情報は、センターで集約管理されているので、常に正確な情報を得ることができる。
【００３５】
請求項３に記載の発明によれば、接続先紹介装置において、端末装置のライセンス認証を行うことで、不正なソフトウェア入手を防止できる。
【００３６】
請求項４に記載の発明によれば、階層状に形成されたコンテンツ配信経路の頂点に位置する配信装置を介して、ソフトウェア更新要求を転送できる。このため、効率的にネットワーク上の端末装置にソフトウェア更新要求を送信できる。
【００３７】
請求項５に記載の発明によれば、配信装置において、端末装置のライセンス認証を行うことで、不正なソフトウェア入手を防止できる。
【００３８】
請求項６に記載の発明によれば、端末装置が接続先紹介装置に問い合わせを行うことで、コンテンツデータの取得先となる接続先候補とソフトウェア識別情報とを取得することができ、さらにその後続処理として接続先紹介装置から配信装置へソフトウェア更新要求を送信することができる。これにより、端末装置は接続先紹介装置へ問い合わせを行うだけで必要なソフトウェアを識別し、ソフトウェア更新要求を配信経路上に存在する装置へ送信することができるようになる。
【００３９】
請求項７に記載の発明によれば、接続先紹介装置において、端末装置のライセンス認証を行うことで、不正なソフトウェア入手を防止できる。
【００４０】
請求項８に記載の発明によれば、コンテンツデータの配信システムの配信経路を用いることで、新規に参加した利用者の端末装置から送信されてきたソフトウェア更新要求を、下層に存在する端末装置に配信することができる。したがって、特定の装置に対して、更新要求を配信する負荷が集中することを回避することができる。
【００４１】
請求項９に記載の発明によれば、コンテンツデータの配信システムの配信経路を用いることで、新規に参加した利用者の端末装置から送信されてきたソフトウェア更新要求を、コンテンツ配信経路上に存在する全ての端末装置に配信することができる。したがって、特定の装置に対して、更新要求を配信する負荷が集中することを回避することができる。
【００４２】
請求項１０に記載の発明によれば、トラフィックが混雑しがちなコンテンツ配信用経路の全てを用いることなく、ソフトウェアの送信が可能な状態にある端末装置を抽出することができる。
【００４３】
請求項１１に記載の発明によれば、正規のライセンス情報を送信した端末装置に対してのみ、ソフトウェアのダウンロードを許可することができる。
【００４４】
請求項１２に記載の発明によれば、トラフィックが混雑しがちなコンテンツ配信用の経路のうちの、限られた部分の経路を用いて、ソフトウェアの提供が可能な端末装置を検出することができる。
【００４５】
請求項１３に記載の発明によれば、トラフィックが混雑しがちなコンテンツ配信用の経路のうちの、限られた部分の経路を用いて、ソフトウェアの送信が可能な端末装置を抽出することができる。
【００４６】
請求項１４に記載の発明によれば、コンテンツデータの配信システムの配信経路を用いることで、新規に参加した利用者の端末装置から送信されてきたソフトウェア更新要求を、下層に存在する全ての端末装置に配信することができる。したがって、特定の装置に対して、更新要求を配信する負荷が集中することを回避することができる。
【００４７】
また、新規に参加した利用者の端末装置は、階層構造を構成する複数の端末装置のうち、更新ソフトウェアの送信が可能な状態にある端末装置から、直接更新ソフトウェアを受信することができる。更新ソフトウェアの送信が可能な端末装置は複数存在する可能性があるので冗長性が高い。
【００４８】
また、新規に参加した利用者の端末装置は、ソフトウェアのダウンロード等に起因するネットワーク負荷の集中による不具合を避けることができる。
【００４９】
請求項１５に記載の発明によれば、コンテンツデータの再生に必要なソフトウェアが自己の記憶手段に記憶されていないと判定すると、ソフトウェア更新要求を行うので、適切にソフトウェアの更新が可能となる。
【００５０】
請求項１６に記載の発明によれば、コンテンツデータの再生に必要なソフトウェアが自己の記憶手段に記憶されていない場合に、ソフトウェアを記憶している端末装置からソフトウェアを取得して、コンテンツの再生を行うことができる。また、ソフトウェアを記憶している端末装置が複数存在する場合には、ソフトウェアをダウンロードするに際して条件のよい端末装置を選択することができる。
【００５１】
請求項１７に記載の発明によれば、トラフィックの混雑を分散させた状態でソフトウェアを取得することができる。新規に参加した利用者の端末装置は、短時間でソフトウェアを取得して、コンテンツの再生を行うことができる。
【００５２】
請求項１８に記載の発明によれば、ソフトウェアの送信要求を送信した端末装置は、最も経由するルータの少ない端末装置を選択してソフトウェアを取得し、コンテンツの再生を行うことができる。したがって、ソフトウェアを速くダウンロードすることができる可能性が高くなる。
【００５３】
請求項１９に記載の発明によれば、ソフトウェアの送信要求を送信した端末装置は、最も所要通信時間が少ない端末装置を選択してソフトウェアを取得し、コンテンツの再生を行うことができる。したがって、ソフトウェアを速くダウンロードすることができる可能性が高くなる。
【００５４】
請求項２０に記載の発明によれば、更新ソフトウェアの送信要求を送信した端末装置は、接続先候補の端末装置を選択して更新ソフトウェアを取得し、コンテンツの再生を行うことができる。したがって、更新ソフトウェアを送信する端末装置が集中することがなく、更新ソフトウェアの送信処理の負荷分散が可能となる。
【発明を実施するための最良の形態】
【００５５】
以下、図面を用いて本発明の実施の形態について説明する。
【００５６】
以下に説明する実施の形態では、Ｐ２Ｐを用いたツリー状の階層構造（以下、「論理トポロジー」と呼ぶ場合がある）におけるコンテンツ配信システムが説明に用いられる。このコンテンツ配信システムでは、配信装置である放送局端末１が配信するコンテンツを、階層構造で多層に論理接続される複数の端末装置２ａ１〜２ｄ１６が、Ｐ２Ｐシステムにより順次受信する。
【００５７】
まず、図１を用いて、コンテンツ配信システムＳの構成と動作の概要について説明する。
【００５８】
図１は、本発明の実施の形態に係るコンテンツ配信システムとその周辺を含むブロック図である。
【００５９】
コンテンツ配信システムＳは、配信装置の例である放送局端末１と、この放送局端末１を頂点として、階層構造で多層に論理接続される複数の端末装置２ａ１〜２ｄ１６を備えている。また、コンテンツ配信システムＳは、複数の端末装置２ａ１〜２ｄ１６の接続先を紹介、管理する接続先紹介装置の例としての管理サーバ３、新規に参加する利用者の端末装置（以下、「新規参加端末装置」という）が必要とするソフトウェアとそのバージョン情報を記憶、管理し、ソフトウェアの初期配信を行うライブラリサーバ５と、配信されるソフトウェアの使用権であるライセンス証を発行するライセンス証発行サーバ６を備えている。
【００６０】
ネットワークにおいては、放送局端末１、端末装置２ａ１〜２ｄ１６、管理サーバ３、ライセンス証発行サーバ６、ライブラリサーバ５は、それぞれ独自のＩＰアドレスを有している。これらの放送局端末１や端末装置２ａ１〜２ｄ１６は、図１に示されるように、例えばインターネット４に置かれたルータ１０を介して接続される。このようなネットワークにおいては、通信接続先の端末装置のＩＰアドレスが宛先ＩＰアドレスであり、通信接続元の端末装置のＩＰアドレスが送信元ＩＰアドレスであるヘッダを含むパケットが送信されることで、ネットワーク内でのデータ通信が可能となる。
【００６１】
なお、放送局端末１は、管理サーバ３の機能を含んだ構成を有していても良い。この場合には、管理サーバ３に別個のＩＰアドレスを割り当てる必要がなくなる。
【００６２】
ライセンス証発行サーバ６とライブラリサーバ５は、端末装置２ａ１〜２ｄ１６が階層構造により接続されるネットワーク内に接続されてもよく、ルータなどで別のネットワークに接続されていてもよい。更に、放送局端末１が、管理サーバ３のみでなく、ライセンス証発行サーバ６とライブラリサーバ５を含んでいても良い。
【００６３】
なお、端末装置２ａ１〜２ｄ１６のいずれかの端末装置や全ての端末装置を示す場合に、説明の便宜上、端末装置２と呼ぶことがある。同様に、端末装置２ａ１、２ａ２は、説明の便宜上、端末装置２ａと呼ばれ、端末装置２ｂ１〜２ｂ４は、説明の便宜上、端末装置２ｂと呼ばれ、端末装置２ｃ１〜２ｃ８は、説明の便宜上、端末装置２ｃと呼ばれ、端末装置２ｄ１〜２ｄ１６は、説明の便宜上、端末装置２ｄと呼ばれることがある。
【００６４】
階層構造は、放送局端末１を頂点として、複数の端末装置２がツリー状の階層構造で論理接続されており、管理サーバ３は、この論理接続を管理する。
【００６５】
コンテンツ配信システムＳの構成と動作の概要について説明する。
【００６６】
放送局端末１は、コンテンツ配信システムＳにおける配信装置の例であり、階層構造の頂点に位置する。放送局端末１は、種々の規定や指示に従い、下流に接続された複数の端末装置２に対して、コンテンツやソフトウェアを配信する。また、必要に応じて、管理サーバ３やライセンス証発行サーバ６、ライブラリサーバ５との処理のやり取りを行う。
【００６７】
管理サーバ３は、端末装置２や新規参加端末装置にとっての接続先紹介装置である。
【００６８】
管理サーバ３は、コンテンツ配信システムＳに参加していない端末装置２（言い換えればツリー状階層構造に含まれていない端末装置２）である新規参加端末装置から接続先紹介要求を受信する。管理サーバ３は、コンテンツ配信システムＳのツリー状階層構造の状態等に基づいて、接続先候補（放送局端末１又は端末装置２）を選択する。すなわち、管理サーバ３は、新規参加端末装置がストリーミング配信を受けるために接続が可能な上流の端末装置を選択する。
【００６９】
次いで、管理サーバ３は、選択した接続先候補のＩＰアドレス、ポート番号及び通信プロトコル等を新規参加端末装置に対して通知する。ここで、通信プロトコルとして、ＭＭＳ（Ｍｉｃｒｏｓｏｆｔ  Ｍｅｄｉａ  Ｓｅｒｖｅｒ）プロトコル、ＲＴＳＰ（Ｒｅａｌ
Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）等が用いられる。また、コンテンツデータの形式として、ＭＰＥＧ−ＴＳ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ
Ｇｒｏｕｐ−Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）、ＡＳＦ（Ａｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ）、ＷＭＡ（Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ａｕｄｉｏ）、ＷＭＶ（Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏ）等が用いられる。
【００７０】
端末装置２は、管理サーバ３から接続先候補のＩＰアドレスを受信すると、そのＩＰアドレスの接続先候補に対して、コンテンツ配信システムＳへの参加（接続）を要求する。これにより端末装置２がコンテンツ配信システムＳにおける階層構造へ組み込まれる。すなわち、放送局端末１からのコンテンツ配信およびソフトウェア配信を受信できるようになる。
【００７１】
この新規参加端末装置は、１台だけでなく、複数の新規参加端末装置が参加しても良く、順次、次々と新規参加端末装置が増加しても良い。
【００７２】
コンテンツ配信システムＳでは、新規参加端末装置が次々と参入することによって、放送局端末１を頂点とした複数の端末装置２が、ツリー状階層構造で多層に論理接続される。放送局端末１から配信されるコンテンツやソフトウェア等は、端末装置２のＰ２Ｐによる中継機能により、順次下流の端末装置２へ中継されて複数の端末装置２に配信される。
【００７３】
音楽等の再生用ソフト、通信ソフト、ウィルス対策ソフト等の更新ソフトウェアからなるデータは、まず、放送局端末１によって所定容量に分割され、複数のパケット（以下、「ソフトウェアパケット」という。）に格納されて順次送信される。そして、放送局端末１の下流に位置する端末装置２ａ１、２ａ２（第１階層目の端末装置）は、図２に示すように、上流の放送局端末１から順次受信したソフトウェアを、バッファで一旦蓄積する。更に、端末装置２ａ１、２ａ２は、バッファで蓄積したソフトウェアパケットを、下流の端末装置２ｂ１〜２ｂ４（第２階層目の端末装置）へ順次送信する。図２は、本発明の実施の形態におけるバッファの構成図である。
【００７４】
また、コンテンツ配信システムＳが音楽又は映像等のコンテンツデータである場合には、上記と同様に、放送局端末１によって所定容量に分割された複数のパケット（以下、「コンテンツパケット」という。）に格納されて順次送信され、このコンテンツパケットを一旦リングバッファに蓄積し、更にこの蓄積したコンテンツパケットを、受信可能の端末装置２ｂ１〜２ｂ４へ順次送信してもよい。
【００７５】
以下同様に、ソフトウェアパケットは、端末装置２ｂ１〜２ｂ４から端末装置２ｃ１〜２ｃ８（第３階層目の端末装置）へ、端末装置２ｃ１〜２ｃ８から端末装置２ｄ１〜２ｄ１６（第４階層目の端末装置）へと順に中継される。
【００７６】
なお、端末装置２は、組み込まれた階層構造の位置の上流の端末装置２又は放送局端末１のＩＰアドレスと、その位置の下流の端末装置２のＩＰアドレスとを後述の第１記憶部２０２に記憶しており、このように記憶したＩＰアドレスに基づいて、ソフトウェアデータの中継を行う。
【００７７】
このように、コンテンツ配信システムＳは、更新ソフトウェアを配信する放送局端末１と、放送局端末１を頂点として階層構造で多層に論理接続される複数の端末装置２とを有し、放送局端末１から配信されるソフトウェアデータが端末装置２の中継機能により順次下流へ中継されて複数の端末装置２の全てに配信されることとなる。また、コンテンツ配信システムＳは、放送局端末１を頂点として階層構造で多層に論理接続された複数の端末装置２の接続状態の一部又は全部を記憶する管理サーバ３を有している。
【００７８】
このように、最初の階層構造の中に含まれていなかった新規参加端末装置が、階層構造の中に新規に参加した場合でも、新規参加端末装置が端末装置２の一つとして扱われ、配信装置である放送局端末１を頂点として、端末装置２のもつＰ２Ｐ機能により、コンテンツやソフトウェアの配信を受けることが可能となる。
【００７９】
以上が、ツリー状の階層構造をもつコンテンツ配信システムＳにおける、コンテンツやソフトウェアの配信動作である。
【００８０】
次に、新規参加端末装置が必要とするソフトウェアが、ライブラリサーバ５から新規参加端末装置に届くまでの処理について説明する。
【００８１】
所定のチャンネルのコンテンツを視聴するために、新規にコンテンツ配信システムに参加する利用者の端末装置である新規参加端末装置は、コンテンツの視聴を行う前に、コンテンツを再生するためのソフトウェア、通信に参加するための通信ソフトウェアの使用権を得る手続きを行う。具体的には、新規参加端末装置（以下、「新規参加端末装置２Ｘ」と呼ぶ。）がライセンス証発行サーバ６へアクセスしてライセンス証を得る。例えば、新規参加端末装置２Ｘは、ライセンス証発行サーバ６からライセンス証を購入する。
【００８２】
ライセンス証の購入に際しては、利用者が新規参加端末装置２Ｘの入力画面においてクレジットカードの番号などの入力により決済する。ライセンス証発行サーバ６はライセンス証を新規参加端末装置２Ｘに対して送信する。
【００８３】
次に、新規参加端末装置２Ｘが管理サーバ３へアクセスして、所望のコンテンツを配信している放送局端末１の所在情報（ＩＰアドレス、ドメイン名等）と、放送局端末１で使用している再生ソフトウェアのバージョン情報（例えば、最新版のバージョン番号）を取得する。このとき、管理サーバ３は、新規参加端末装置２Ｘが有しているライセンス証に含まれるライセンス情報が、正規であると認証した場合に、新規参加端末装置２Ｘに対して放送局端末１の所在情報等を送信するようにしてもよい。
【００８４】
新規参加端末装置２Ｘが放送局端末１の所在情報を取得すると、次に新規参加端末装置２Ｘは放送局端末１へアクセスし、送信要求メッセージを放送局端末１に送信する。更に、新規参加端末装置２Ｘは、送信要求メッセージを階層構造の下流へ向かって配信するように放送局端末１に要求する。
【００８５】
この送信要求メッセージは、新規参加端末装置２Ｘで必要としているコンテンツ視聴のためのソフトウェア更新要求とそのバージョン情報を含む。更に、送信要求メッセージは、ライセンス情報を含むようにしてもよい。また、ソフトウェア更新要求は、ソフトウェア識別情報を含んでいる。配信装置である、放送局端末１は、配信するコンテンツデータの記憶と共に、新規参加端末装置２Ｘからのソフトウェア更新要求の受信と、ソフトウェア更新要求を含む送信要求メッセージを、階層構造に接続される複数の端末装置２への中継送信を行う。
【００８６】
送信要求メッセージは、階層構造の頂点となる放送局端末１から下流に論理接続されている既存の端末装置２ａ１〜２ｄ１６に対して順次中継されながら配信される。端末装置２の各々は、コンテンツ配信の際のコンテンツデータの転送中継の機能に加え、送信要求メッセージの転送中継も行う。すなわち、送信要求メッセージを受信し、これを下位の端末装置２に転送する。
【００８７】
この送信要求メッセージを受信した端末装置２は、必要に応じて送信要求メッセージに含まれるソフトウェア更新要求とそのバージョン情報を検査する。次いで、端末装置２は、ソフトウェア識別情報の条件に合致するソフトウェア（以下、「更新ソフトウェア」という）を所有しているか否かを判断する。更新ソフトウェアが記憶されていると判断した場合には、端末装置２は、更新ソフトウェアを送信可能であることを示す「肯定応答」を、新規参加端末装置２Ｘに送信する。
【００８８】
このとき、端末装置２は、新規参加端末装置２Ｘが有しているライセンス証を正規のものと確認した場合のみ、新規参加端末装置２Ｘに対して肯定応答を送信するようにしてもよい。
【００８９】
なお、既存の端末装置２は、自己の端末装置２におけるネットワーク帯域や情報処理に関する能力などを参酌して、新規参加端末装置２Ｘに対して更新ソフトウェアの提供の可否を判断しても良い。これらの視点から更新ソフトウェアの提供が可能であると判断した場合のみ、端末装置２は、新規参加端末装置２Ｘに対して肯定応答を送信するようにしてもよい。
【００９０】
肯定応答を受信した新規参加端末装置２Ｘは、肯定応答を送信した端末装置２に対して、更新ソフトウェアを送信するダウンロード要求を送信する。ダウンロード要求を受けた端末装置２は、新規参加端末装置２Ｘに対して、更新ソフトウェアを送信する。新規参加端末装置２Ｘは、更新ソフトウェアを受信して、コンテンツを再生可能な状態に設定する。例えば、コンテンツを再生するためのソフトウェアを、受信した更新ソフトウェアにアップデートする。
【００９１】
このように、新規参加端末装置２Ｘが、ネットワークへ新規に参加し、放送局端末１からコンテンツの配信を新規に受けたい場合に、コンテンツ再生に必要な更新ソフトウェアを、ネットワークに接続されている複数の端末装置２のいずれかから得ることができる。
【００９２】
また、新規参加端末装置２Ｘは、管理サーバ３に対して、接続先の紹介を要求してもよい。新規参加端末装置２Ｘは、管理サーバ３に対して、接続先紹介要求を出力する。管理サーバ３は、接続先候補を選択し、新規参加端末装置２Ｘに、選択した接続先候補を通知する。更に、管理サーバ３は、新規参加端末装置２Ｘから送信要求メッセージを受信する。また、新規参加端末装置２Ｘに対して、配信装置である放送局端末１の位置情報などを通知する。
【００９３】
次に、肯定応答を、複数の端末装置２が送信する場合についての、更新ソフトウェアの受信処理について説明する。まず、複数の端末装置２が、肯定応答を送信し、新規参加端末装置２Ｘが、更新ソフトウェアのダウンロード元を選択する場合について説明する。
【００９４】
新規参加端末装置２Ｘが、複数の端末装置２から肯定応答を受信した場合には、複数の端末装置２の中から例えばネットワーク近接度の高い端末装置２を選択して、更新ソフトウェアのダウンロード要求を出力する。新規参加端末装置２Ｘは、選択した端末装置２から、更新ソフトウェアを受信して、自己の端末装置内のソフトウェアのアップデートを行う。結果として、放送局端末１から配信されたコンテンツの再生が可能となる。
【００９５】
このように、ネットワーク近接度の高い端末装置２を選択することにより、更新ソフトウェアを早くダウンロードすることができる。
【００９６】
新規参加端末装置２Ｘが、複数の端末装置２から肯定応答を受信した場合には、複数の端末装置２に対して、更新ソフトウェアの一部を送信させるための送信開始要求を送信して、複数の端末装置２からそれぞれソフトウェアの一部を受信してもよい。
【００９７】
新規参加端末装置２Ｘは、受信したそれぞれのソフトウェアの一部を繋ぎ合わせて記憶手段に記憶して、コンテンツデータを再生可能な状態に設定することができる。これにより、トラフィックの混雑を分散させた状態で更新ソフトウェアを取得することができる。また、新規参加端末装置２Ｘは、短時間で更新ソフトウェアを取得して、コンテンツの再生を行うことができる。
【００９８】
次に、肯定応答を送信した端末装置２が、階層構造の自己の端末装置２よりも下流に新規参加端末装置２Ｘの論理接続を許可する場合について説明する。
【００９９】
既存の端末装置２が、自己の端末装置２の下流に新規参加端末装置２Ｘを論理接続して更新ソフトウェアの送信を行うことが可能な状態にあると判断した場合には、肯定応答と共に論理接続を許可する旨を表す論理接続許可情報を送信してもよい。新規参加端末装置２Ｘが、この論理接続許可情報を受信した場合には、新規参加端末装置２Ｘを下流に論理接続可能な端末装置２が、更新ソフトウェアのダウンロード元として選択される。
【０１００】
既存の端末装置２から論理接続許可情報を受信することによって、再び管理サーバ３に接続先の紹介を依頼することなく、更新ソフトウェアのインストール処理又は更新処理を行った直後にコンテンツデータの配信を受けることができる。したがって、管理サーバ３の処理を軽減することができると共に、ネットワークの負荷を分散させることができる。
【０１０１】
以上のように、新規参加端末装置２Ｘが送信した送信要求メッセージが、放送局端末１を介して下流の既存の端末装置２へ配信される。この送信要求メッセージに含まれるソフトウェア更新要求に対して肯定応答を送信した端末装置２が、更新ソフトウェアのダウンロード元として利用される。また、送信要求メッセージに対して肯定応答する端末装置２が複数ある可能性があることに着目して、更新ソフトウェアのダウンロード処理を分散並列的に行うこともできる。更に、肯定応答した端末装置２が複数あった場合には、ネットワーク近接度、通信時間、あるいは論理接続許可情報を基準にして配信元装置を選択することができ、更新ソフトウェアのダウンロード処理又は更新ソフトウェアのバージョンアップ処理、接続先紹介処理等に要するネットワーク負荷を抑制することができる。
【０１０２】
また、新規参加端末装置２Ｘが、管理サーバ３から紹介された端末装置２に送信要求メッセージを送信し、この端末装置２から階層構造の上流方向へ送信要求メッセージを送信するように構成してもよい。この場合、任意の端末装置２において送信要求メッセージを重複受信しないように、中継ホップ数を制限したり、中継に制限時間を設けて送信したりしてもよい。
【０１０３】
管理サーバ３から接続先の紹介を受けた新規参加端末装置２Ｘが、階層構造に論理接続した後に、新規参加端末装置２Ｘから送信要求メッセージを階層構造の上流方向へ送信するように構成してもよい。この場合にも、任意の端末装置２において送信要求メッセージを重複受信しないように、中継ホップ数を制限したり、中継に制限時間を設けて送信したりしてもよい。
【０１０４】
以上が、本発明のコンテンツ配信システムの動作処理の概要である。
【０１０５】
次に、コンテンツ配信システムＳを構成する放送局端末１、端末装置２、管理サーバ３、ライブラリサーバ５、及びライセンス証発行サーバ６についてそれらの具体的な構成及び動作について図３〜図８を参照して説明する。
【０１０６】
まず、図３を用いて放送局端末１について説明する。図３は、本発明の実施の形態における放送局端末１のブロック図である。
【０１０７】
放送局端末１は、一般のサーバコンピュータを適用可能である。
【０１０８】
図３に示すように、放送局端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ
Ｕｎｉｔ）１０１と、各種プログラム等を記憶する書き換え可能な第１記憶部１０２と、各種データを記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等から構成された第２記憶部１０３を備える。更に、放送局端末１は、インターネット４を介して端末装置２や管理サーバ３との間で通信を行うネットワークインターフェイス１０４と、所定の情報を入力可能なキーボード１０５やマウス１０６等の入力手段、及びＩＣカードスロット１４１を介してＩＣカード１４０に対する情報の書き込み又は読み出しを制御する周辺機器制御チップ１０７と、ＣＰＵ１０１からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータをディスプレイ１０９に表示するビデオチップ１０８と、ＦＭ音源やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ１１０と、音源チップ１１０から出力されるオーディオ信号を音波に変換するスピーカ１１１と、音声信号を入力するマイク１１２とを備えている。これらの構成要素はシステムバス１１３を介して相互に接続されている。なお、ネットワークインターフェイス１０４は、ルータ１０ａを介してインターネット４に接続される。
【０１０９】
第２記憶部１０３は、放送用の多数の更新ソフトウェアを格納している放送用ソフトウェア１１６を有している。また、第２記憶部１０３は、放送用の多数のコンテンツデータを格納する記憶手段としての放送用コンテンツデータベース１１５を有している。
【０１１０】
すなわち、第２記憶部１０３は、放送用コンテンツを記憶するコンテンツデータ記憶手段である。また、ＣＰＵ１０１などが、端末装置２へコンテンツデータを送信するコンテンツデータ送信手段を構成する。加えて、ＣＰＵ１０１などが、新規参加端末装置２Ｘからのソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、ソフトウェア更新要求を端末装置２に対して中継するソフトウェア更新要求中継機能を含むソフトウェア更新要求処理手段を構成する。
【０１１１】
同様に、ＣＰＵ１０１などが、新規参加端末装置２Ｘからのライセンス情報を受信するライセンス情報受信手段と、ライセンス情報の適否を認証する認証手段を構成する。
【０１１２】
なお、本実施の形態においては、ＣＰＵ１０１と第１記憶部１０２とで制御手段１１４を構成している。また、放送局端末１には、上述のようにディスプレイ（液晶ディスプレイ等）１０９等が接続されるようになっており、たとえば、コンテンツ配信システムＳを運用する運営者によって視認可能である。
【０１１３】
第１記憶部１０２は、放送局端末１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）プログラム１２０と、コンテンツ視聴用のソフトウェアや通信のためのソフトウェアを、ある端末装置２からの要求に基づいて別の端末装置２に配信するソフトウェア更新プログラム１２８を備えている。また、第２記憶部１０３に記憶されたコンテンツデータのストリーミングを行うためのストリーム制御プログラム１２１と、管理サーバ３に自己の放送局端末１のＩＰアドレス等を登録すると共に第１階層の端末装置２ａのＩＰアドレスの管理等を行うためのトポロジー制御プログラム１２２と、ディスプレイ１０９への表示内容を制御するための画面制御プログラム１２３と、ソフトウェアデータやコンテンツデータをエンコードするためのエンコーダプログラム１２４と、データを一時的に格納するリングバッファ１２６と、新規参加端末装置２Ｘから送信されたライセンス情報について認証処理を行うライセンス証認証プログラム１２７等を記憶しており、これらはＣＰＵ１０１によって読み出され、ＣＰＵ１０１によってこれらのプログラムに従った機能が実行される。
【０１１４】
すなわち、ＣＰＵ１０１と、第１記憶部１０２に含まれる種々のプログラムにより、コンテンツデータを送信するコンテンツデータ送信手段と、新規参加端末装置２Ｘからのソフトウェア更新要求を処理するソフトウェア更新要求処理手段と、ライセンス情報受信手段と、認証手段などが、実現される。
【０１１５】
また、ソフトウェア更新プログラム１２８は、端末装置２にて用いられる各種ソフトウェアの追加ソフトウェア、新たなコンテンツに対応する新規バージョンソフト、あるいは、通信制御用新バージョンの更新ソフトウェア等を配信するための処理制御を行う。第２記憶部１０３又は第１記憶部１０２等の記憶手段に記憶されたソフトウェアは、ソフトウェア配信手段によって下流の端末装置に配信することができる。なお、端末装置２ａ１、２ａ２に送信するソフトウェアは、第１記憶部１０２や第２記憶部１０３に限らず、ＣＤ−ＲＯＭ、ＩＣカード１４０その他の外部記憶装置に記憶するようにしてもよい。
【０１１６】
ＯＳプログラム１２０は、ＣＰＵ１０１によって読み出されて実行されることにより、キーボード１０５やマウス１０６の入出力に関する機能や、第１記憶部１０２や第２記憶部１０３などのメモリ管理などの放送局端末１であるコンピュータの基本的な機能を実行可能にする。加えて、ＯＳプログラム１２０がＣＰＵ１０１によって実行された状態で、上述のソフトウェア更新プログラム１２８、ストリーム制御プログラム１２１、トポロジー制御プログラム１２２、画面制御プログラム１２３、エンコーダプログラム１２４等が第１記憶部１０２から読み出されて実行される。
【０１１７】
なお、ＯＳプログラム１２０、ソフトウェア更新プログラム１２８、ストリーム制御プログラム１２１、トポロジー制御プログラム１２２、画面制御プログラム１２３およびエンコーダプログラム１２４等は、たとえば、インターネット４に接続されたサーバ等から第１記憶部１０２にダウンロードされるようにしてもよい。あるいは、ＣＤ−ＲＯＭ、ＩＣカード１４０等の外部記録媒体から、第１記憶部１０２に読み込まれるようにしてもよい。
【０１１８】
制御手段１１４は、上述のようにＣＰＵ１０１と第１記憶部１０２とから構成されている。ＣＰＵ１０１が、第１記憶部１０２に記憶された各種プログラムを読み出して実行することにより、放送局端末１全体を制御する。加えて、後述する受信手段、配信手段、送信手段、エンコード手段、画面制御手段、トポロジー管理手段を実行可能にする。
【０１１９】
ＣＰＵ１０１は、新規参加端末装置２Ｘ（端末装置２に含まれる場合もある）からのソフトウェア更新要求と、その要求元所在情報と、ソフトウェア識別情報を受信するソフトウェア更新要求受信機能を有する。加えて、受信したソフトウェア更新要求を、論理接続されている端末装置２に対して送信する送信手段の機能を有している。
【０１２０】
更に、ＣＰＵ１０１は、階層構造の下流に論理接続されている端末装置２に対して、コンテンツデータを配信するコンテンツデータ送信手段の機能を有している。なお、第２記憶部１０３は、コンテンツデータ記憶手段の機能を有している。コンテンツデータ送信手段は、配信プロトコルを用いて端末装置２へコンテンツデータの配信を行うものである。この配信プロトコルは、たとえばＴＣＰの下でのストリーミング配信用プロトコル（ＲＴＳＰなど）などを用いることができるほか、独自の専用プロトコルを用いるようにすることもできる。
【０１２１】
また、ＣＰＵ１０１と第２記憶部１０３などは、更新ソフトウェアを送信するソフトウェア送信手段の機能を有している。ＣＰＵ１０１が、ソフトウェア更新プログラム１２８を実行することにより、このソフトウェア送信手段の機能が実現される。
【０１２２】
また、ＣＰＵ１０１は、新規参加端末装置２Ｘが送信したライセンス情報を受信するライセンス情報受信手段として機能する。更に、ＣＰＵ１０１は、受信したライセンス情報が正規のライセンス情報であるか否かを認証する認証手段の機能を有している。
【０１２３】
なお、ＣＰＵ１０１は、トポロジー制御プログラム１２２を実行することによって、トポロジー管理手段の機能を有している。また、ＣＰＵ１０１は、画面制御プログラム１２３を実行することによって表示制御手段を有している。また、ＣＰＵ１０１は、エンコーダプログラム１２４を実行することによってエンコード手段の機能を有している。
【０１２４】
エンコード手段は、第２記憶部１０３の放送用コンテンツデータベース１１５に記憶されているコンテンツデータを、ストリーミング配信用のデータ形式、たとえばＡＳＦ、ＷＭＡ、ＷＭＶ、ＭＰＥＧ、ＭＰ３等のデータ形式にエンコードする。なお、このデータ形式は、運営者によって上述の入力手段が操作されることによって選択することができると共に、端末装置２からのデータ形式指定パケットに応じて選択することも可能である。
【０１２５】
ストリーム制御プログラム１２１は、放送運営者からの放送開始要求及び放送終了要求に応じて、コンテンツデータをパケット化したコンテンツパケットを生成する。
【０１２６】
コンテンツパケットの生成は、ハードディスク装置等で構成される第２記憶部１０３に格納されている放送用コンテンツデータベース１１５からコンテンツデータをフレーム単位で切り出し、シーク時に必要な情報をヘッダに付加することで行われる。
【０１２７】
トポロジー制御プログラム１２２は、下流に接続されている端末装置２ａとの配信経路を維持するために端末装置２ａのＩＰアドレスを管理する。
【０１２８】
この配信経路は、端末装置２ａ１又は端末装置２ａ２が放送局端末１の下流装置として接続要求を送信し、放送局端末１が該接続要求を受信した際に形成される。
【０１２９】
ソフトウェア送信手段及びコンテンツデータ送信手段は、トポロジー制御プログラム１２２が管理する端末装置２のＩＰアドレスを宛先アドレスとし、放送局端末１のＩＰアドレスを送信元として端末装置２に対してソフトウェアやコンテンツデータの配信を行うことができる。また、管理サーバ３に放送局端末１を登録するために、管理サーバ３へその登録に必要な情報を送信する。
【０１３０】
新規参加端末装置２Ｘから放送局端末１にソフトウェアの送信要求メッセージが出力されると、放送局端末１は受信した送信要求メッセージを、コンテンツデータの配信経路を用いて端末装置２に配信する。階層構造を構成している下流側の端末装置２に対して、送信要求メッセージが中継される。
【０１３１】
ソフトウェア更新要求受信機能は、新規参加端末装置２Ｘが送信した送信要求メッセージと、その要求元所在情報と、ソフトウェア識別情報とを含むソフトウェア更新要求を受信することができる。また、ソフトウェア更新要求受信機能は、要求元の新規参加端末装置２Ｘが送信した認証用のライセンス情報を受信することができる。
【０１３２】
次に、コンテンツデータの配信の流れについて説明する。
【０１３３】
コンテンツデータ送信手段は、キーボード１０５などの入力手段や通信等によって指定された放送用コンテンツを、ネットワークインターフェイス１０４を介して、下流側に論理接続されている第１階層の端末装置２ａ１，２ａ２にストリーミング配信する。
【０１３４】
キーボード１０５やマウス１０６などの入力手段から、配信コンテンツが選択されると、コンテンツデータ送信手段は、選択されたコンテンツに対応するコンテンツデータ１１５を第２記憶部１０３から読み出す。
【０１３５】
次いで、コンテンツデータ送信手段は、読み出されたコンテンツデータを、エンコード手段によってストリーミング配信用のデータ形式にエンコードし、コンテンツ符号化データとする。
【０１３６】
その後、コンテンツデータ送信手段は、通信手段を制御し、ネットワークインターフェイス１０４を介して、エンコードされたコンテンツデータを下流側に論理接続されている端末装置２ａ１、２ａ２へ送信する。このときコンテンツデータ送信手段は、エンコードされたコンテンツデータを所定データ単位ごとに分割する。更に、コンテンツデータ送信手段は、分割されたコンテンツデータをパケットに格納し、コンテンツパケットとして、ネットワークインターフェイス１０４を介して順次端末装置２ａ１、２ａ２へ送信する。
【０１３７】
次に、ソフトウェア送信手段について説明する。
【０１３８】
新規参加端末装置２Ｘ、又は管理サーバ３から、ソフトウェア更新要求を受信すると、ソフトウェア送信手段は、受信したソフトウェア更新要求を、下流側に論理接続されている第１階層の端末装置２ａ１、２ａ２に送信する。各端末装置２は、自己の持つ中継機能を介して、順次下流の端末装置２に、ソフトウェア更新要求を送信する。このように、放送局１が有するソフトウェア送信手段により、階層構造に論理接続している端末装置２全体に、新規参加端末装置２Ｘが出力したソフトウェア更新要求が転送される。
【０１３９】
次に、表示にかかわる機能について説明する。
【０１４０】
表示制御手段は、ビデオチップ１０８及びディスプレイ１０９を制御して、各種の映像情報（画像情報）を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ１０９にどのように映像を表示させるかを制御する。
【０１４１】
次に、新規参加端末装置２Ｘが出力したライセンス情報の認証について説明する。
【０１４２】
認証手段は、受信したライセンス情報が正規のライセンス情報であるか否かを認証する。認証手段は、ライセンス証発行サーバ６に対してライセンス情報を送信して認証を依頼してもよいし、ライセンス証認証プログラム１２７を用いて独自に認証処理を行ってもよい。
【０１４３】
認証手段が、受信したライセンス情報が正規のライセンス情報であると認証した場合には、ソフトウェア送信手段に対して更新ソフトウェアの送信を指示する。これにより、正規のライセンス情報を持つ新規参加端末装置２Ｘは、更新ソフトウェアを取得して、コンテンツの再生を行うことができる。
【０１４４】
なお、ソフトウェア更新要求を出力するのは、ネットワークに新たに参加する新規参加端末装置２Ｘであるが、既にネットワークに参加している端末装置２のいずれかであってもよく、特に区別されるものではない。
【０１４５】
また、放送局端末１が、配信装置の例として説明されているが、これに限られるものではない。
【０１４６】
次に、図４を用いて制御手段１１４の処理について説明する。
【０１４７】
図４は、本発明の実施の形態における放送局端末の制御手段が実行する全体処理のフローチャートである。
【０１４８】
放送局端末１の電源が投入されて、ステップＳ１０２にて、プログラムの初期化が行われる。放送局端末１のプログラムの初期化が終了すると、ステップＳ１０４にて、放送運営者から放送開始要求又は停止要求を取得したか否かの判断が行われる。放送運営者から放送開始要求又は停止要求を取得していないと判断した場合には、処理はステップＳ１０６に分岐する。一方、放送運営者から放送開始要求又は停止要求を取得したと判断した場合には、処理はステップＳ１０８に進む。ステップＳ１０８にて、指定されたコンテンツデータのエンコード処理を開始又は終了する。
【０１４９】
コンテンツパケット生成処理の開始又は停止処理が終了すると、ステップＳ１１０にて、放送局端末１に対して電源遮断の指示が入力されたか否かの判断を行う。もし、電源遮断の指示が入力されたと判断した場合には、制御手段１１４は処理を終了する。一方、電源遮断の指示が入力されていない場合には、ステップＳ１０４に戻る。
【０１５０】
これに対して、ステップＳ１０６にて、端末装置２からセッション開設要求、又はセッション切断の要求を受信したか否かが判断される。もし、端末装置２からセッション開設要求、又はセッション切断の要求を受信していないと判断した場合には、処理はステップＳ１１２に分岐する。逆に、端末装置２からセッション開設要求、又はセッション切断の要求を受信したと判断した場合には、ステップＳ１１４の処理に進む。
【０１５１】
ステップＳ１１４にて、トポロジー制御プログラム１２２が端末装置２から受信したセッション開設要求、又はセッション切断要求に基づいたセッション開設、又はセッション切断処理を実行する。次いで、ステップＳ１１６にてトポロジー制御プログラム１２２は、端末装置２から受信したセッション開設要求、又はセッション切断要求に基づいて、下流の端末装置２に対してコンテンツデータのストリーム配信の開始又は停止する。
【０１５２】
一方、ステップＳ１１２に分岐すると、新規参加端末装置２Ｘから端末装置で必要なソフトウェアの送信要求メッセージを受信したか否かの判断を行う。もし、ソフトウェア更新要求を受信していないと判断した場合には、ステップＳ１１０に分岐する。逆に、送信要求メッセージを受信したと判断した場合には、処理はステップＳ１１８に進む。ステップＳ１１８にて、ソフトウェア送信手段は、新規参加端末装置２Ｘから受信したソフトウェア更新要求（送信要求メッセージに含まれる）を、下流側に論理接続されている第１階層の端末装置２ａ１，２ａ２に配信する。
【０１５３】
以上のようにして、放送局端末１は、コンテンツデータの配信システムの配信用の経路を用いて、新規参加端末装置２Ｘからのソフトウェア更新要求を、下流に存在する全ての端末装置２に配信できる。
【０１５４】
次に、図５を用いて、端末装置２（および新規参加端末装置２Ｘ）の詳細について説明する。端末装置２は、予め階層構造の中に接続されている端末装置２であって、ソフトウェア更新要求に基づいて、ソフトウェアを送信する端末装置である場合と、新規にネットワークに参加し、ソフトウェアの更新を要求する新規参加端末装置２Ｘである場合を含む。以下では、いずれかを特に区別せずに説明するので、端末装置２の構成と動作は、新規参加端末装置２Ｘも同様に含むものである。立場が異なる場合により呼び方と行う動作が変わるだけであり、保有している構成、動作、機能は同様である。端末装置２は、接続されている既存の端末装置２にも、新規参加端末装置２Ｘにもなることができる。
【０１５５】
図５は、本発明の実施の形態における端末装置のブロック図である。
【０１５６】
端末装置２は、一般のパーソナルコンピュータを適用可能である。図５に示すように、ＣＰＵ２０１と、各種プログラム等を記憶する書き換え可能な第１記憶部２０２と、コンテンツの視聴に用いるソフトウェア、自己の端末装置の所在地を表す肯定元所在情報、各種データ等を記憶するハードディスク装置等から構成された第２記憶部２０３を備える。更に、端末装置２は、必要に応じて、インターネットを介して放送局端末１や管理サーバ３との間で通信を行うネットワークインターフェイス２０４と、利用者が端末装置２を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン２４３と、このリモコン２４３と赤外線により通信を行なうための赤外線ポート２４２と、ＩＣカードスロット２４１を介してＩＣカード２４０に対する情報の書き込み又は読み出しを制御すると共に赤外線ポート２４２に対する制御を行う周辺機器制御チップ２０７と、ＣＰＵ２０１からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ２０９に表示するビデオチップ２０８と、ビデオチップ２０８から送信される信号に応じた表示を行うディスプレイ２０９と、ＦＭ音源やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有する音源チップ２１０と、音源チップ２１０から出力されるオーディオ信号を音波に変換するスピーカ２１１を備えている。
【０１５７】
これらの各構成要件はシステムバス２１３を介して相互に接続されている。
【０１５８】
なお、本実施の形態においては、ＣＰＵ２０１と第１記憶部２０２とで制御部２１４を構成している。なお、ネットワークインターフェイス２０４は、ルータ１０ｂを介して、ネットワークに接続されている。
【０１５９】
なお、端末装置２と新規参加端末装置２Ｘは、ほぼ同じ構成を有しており、第２記憶部２０３や制御部２１４以外の要素は、いずれも必要に応じて設けられる。
【０１６０】
ここで、ＣＰＵ２０１をはじめ制御部２１４、第２記憶部２０３などは、コンテンツデータ中継手段の機能を有している。コンテンツデータ中継手段は、階層構造における上流側の端末装置２からのコンテンツデータを受信するコンテンツデータ受信機能と、受信したコンテンツデータを自己の端末装置より下流に接続された端末装置に対して転送するコンテンツデータ転送機能を含んでいる。
【０１６１】
また、同様にＣＰＵ２０１をはじめ制御部２１４、第２記憶部２０３などは、コンテンツ更新要求情報処理手段の機能を有している。
【０１６２】
コンテンツ更新要求情報処理手段は、上流側の端末装置や配信装置からのソフトウェア更新要求を受信するソフトウェア更新要求受信機能と、受信したソフトウェア更新要求を自己の端末装置の下流に接続された端末装置へ中継するソフトウェア更新要求中継機能と、ソフトウェア更新要求に含まれるソフトウェア識別情報の条件に合致する更新ソフトウェアを有している場合に、この更新ソフトウェアを、ソフトウェア更新要求を出力した端末装置に対して、肯定応答を送信するソフトウェア更新要求応答機能を含んでいる。また、必要に応じて、端末装置２は、ソフトウェア識別情報を記憶するソフトウェア識別記憶手段を備えていても良い。これは、第１記憶部２０２、第２記憶部２０３などで実現される。
【０１６３】
同様に、制御部２１４などは、ソフトウェア更新処理手段の機能を有している。
【０１６４】
ソフトウェア更新処理手段は、所定の装置（例えば配信装置である放送局端末１）へソフトウェア更新要求を送信して、端末装置２に対してソフトウェア更新要求を送信するように要求するソフトウェア更新要求機能と、ソフトウェア更新要求に対して肯定応答を出力した端末装置に対して、更新ソフトウェアのダウンロード要求を送信して更新ソフトウェアを取得する更新ソフトウェア取得機能を含んでいる。
【０１６５】
また、ＣＰＵ２０１をはじめ制御部２１４、第２記憶部２０３などは、更新ソフトウェアを送信するソフトウェア送信手段の機能も有している。
【０１６６】
各部の詳細について説明する。
【０１６７】
まず、第１記憶部２０２について説明する。
【０１６８】
第１記憶部２０２は、端末装置２のコンピュータとしての基本的な機能を提供するためのＯＳのプログラム２２０と、視聴用ソフトウェアの要求やバージョンアップソフトウェアの更新判断、更新要求、及び受信処理等を行うソフトウェア更新プログラム２２８と、放送局端末１から直接又は他の端末装置２に中継されてストリーミング配信されるコンテンツデータを受信するためのストリーム制御プログラム２２１と、ツリー状に接続された１段上流の端末（放送局端末１又は端末装置２）のＩＰアドレスとツリー状に接続された１段下流の端末装置２のＩＰアドレスの管理等を行なうためのトポロジー制御プログラム２２２と、ディスプレイ２０９を制御するための画面制御プログラム２２３と、エンコードされたコンテンツデータをデコードするためのデコーダプログラム２２９と、受信したデータを一時的に格納するリングバッファ２２６と、新規に参加する端末装置から送信されてきたライセンス情報について認証処理を行うライセンス証認証プログラム２２７と再生又は通信等に使用するソフトウェアの更新処理を行うソフトウェア更新プログラム２２８等を記憶している。
【０１６９】
これらはＣＰＵ２０１によって読み出され、ＣＰＵ２０１によってこれらのプログラムに従った機能が実行される。
【０１７０】
ここで、ＯＳプログラム２２０は、ＣＰＵ２０１によって読み出されて実行されることにより、リモコン２４３の入出力に関する機能や、第１記憶部２０２や第２記憶部２０３などのメモリ管理などの端末装置２であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム２２０がＣＰＵ２０１によって実行された状態で、上述のストリーム制御プログラム２２１、トポロジー制御プログラム２２２、画面制御プログラム２２３、デコーダプログラム２２４等が実行される。
【０１７１】
なお、ＯＳプログラム２２０、ストリーム制御プログラム２２１、トポロジー制御プログラム２２２、画面制御プログラム２２３、デコーダプログラム２２４等は、例えば、インターネットに接続されたサーバ等から第１記憶部２０２にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１記憶部２０２に読み込まれるようにしてもよい。
【０１７２】
次に、制御部２１４について説明する。
【０１７３】
制御部２１４は、上述のようにＣＰＵ２０１と第１記憶部２０２とから構成されている。制御部２１４は、ＣＰＵ２０１が第１記憶部２０２に記憶された各種プログラム２２０〜２２３，２２６〜２２９を読み出して実行することにより、端末装置２全体を統括制御する。合わせて、コンテンツデータ中継手段、コンテンツ更新要求情報処理手段、ソフトウェア更新処理手段などを機能させる。加えて、管理サーバ３に対する接続先紹介要求手段も備える。
【０１７４】
また、端末装置２は、階層構造に論理接続するための接続手段も備えている。
【０１７５】
接続先紹介要求手段について説明する。
【０１７６】
接続先紹介要求手段は、新規参加端末装置２Ｘを含む端末装置２が階層構造に新規に接続される際に、管理サーバ３に対して新規参加を依頼するための接続先紹介要求を示すデータ（以下、「参加依頼パケット」という。）を送信する。
【０１７７】
また、接続先紹介要求手段により、管理サーバ３へ送信された接続先紹介の要求に対して、管理サーバ３は、端末装置２に接続先候補を送信する。
【０１７８】
接続先候補受信手段は、管理サーバ３から送信される階層構造における接続先候補を示すデータ（以下、「親端末の紹介パケット」という。）を受信する。この親端末の紹介には、端末装置２が階層構造に参加した後、この端末装置２に対して直接コンテンツデータを配信する端末装置２の所在情報が含まれている。
【０１７９】
なお、参加依頼パケットを送信した端末装置２が新規参加端末装置２Ｘであった場合には、階層構造における末端に接続している端末装置２のＩＰアドレスが接続先候補として送信される。
【０１８０】
次に、コンテンツデータ中継手段について説明する。
【０１８１】
接続手段は、制御部２１４が受信した接続先候補のＩＰアドレスに対応した既存の端末装置２に接続して、階層構造に端末装置２を組み込む。これにより、新規に参加する端末装置２（ここでは、新規参加端末装置２Ｘ）は、階層構造に組み込まれる。
【０１８２】
新規参加端末装置２Ｘが階層構造に組み込まれると、コンテンツデータ中継手段により、放送局端末１からのコンテンツデータが、各端末装置２に配信される。
【０１８３】
すなわち、コンテンツデータ中継手段は、論理接続されている上流側の装置から配信されてきたコンテンツデータを、コンテンツデータ受信機能により受信する。次いで、コンテンツデータ中継手段は、階層構造を構成している他の端末装置が下流側に論理接続されているか否かを判断して、端末装置が下流側に論理接続されていると判断した場合には、その下流側の端末装置に対してコンテンツデータ送信機能を用いてコンテンツデータの配信を行う。
【０１８４】
このとき制御部２１４は、第１記憶部２０２に記憶しているストリーム制御プログラム２２１に基づいて、上流側の装置から配信されるコンテンツデータを第１記憶部２０２のリングバッファ２２６に順次記憶すると共に、記憶したコンテンツデータをデコーダプログラム２２９によりデコードして順次再生するストリーム制御を行う。
【０１８５】
次に、コンテンツ更新要求情報処理手段について説明する。
【０１８６】
端末装置２が接続手段により階層構造に接続されると、端末装置２は、ソフトウェア更新要求受信機能により、ソフトウェア更新要求が受信可能になる。端末装置２は、このソフトウェア更新要求を受信すると、ソフトウェア更新要求中継機能を用いて、自己の端末装置の下流に接続されている端末装置に対して中継する。結果として、下流に接続されている全ての端末装置２に対して、新規参加端末装置２Ｘを基点とするソフトウェア更新要求が配信される。
【０１８７】
ソフトウェア更新要求を受信した各端末装置２は、ソフトウェア更新要求に含まれるソフトウェア識別情報を検出する。ソフトウェア識別情報は、新規参加端末装置２Ｘが要求する更新ソフトウェアについての詳細な情報（ソフトウェアの種類、バージョンなど）を含んでいる。端末装置２のそれぞれは、このソフトウェア識別情報の条件に合致するソフトウェアを、自己の端末装置が保有しているかを検査する。検査の結果、自己の端末装置が条件に合致するソフトウェア（すなわち、更新ソフトウェア）を保有している場合には、ソフトウェア更新要求に含まれる更新ソフトウェアの要求元（すなわち、新規参加端末装置２Ｘ）に対して、保有の意味である「肯定応答」を送信する。肯定応答は、ソフトウェア更新要求応答機能により送信される。
【０１８８】
更に、コンテンツ更新要求情報処理手段は、ライセンス情報の検査を行う。新規参加端末装置２Ｘからのライセンス情報が、正規のライセンス情報であると認証した場合のみ、肯定応答を送信したり、更新ソフトウェアを送信したりする。
【０１８９】
他方、利用者が新たなチャンネルのコンテンツの視聴を希望する場合には、新規参加端末装置２Ｘは新たなコンテンツ配信システムに参加する必要がある。前述のように、視聴するチャンネル毎に配信コンテンツのコーデックが異なっている場合があるので、コンテンツ配信システムに参加してコンテンツデータを受信する前に、該当するチャンネル用の再生ソフトウェア、通信用のソフトウェア、バージョンアップソフトウェア等のソフトウェアを入手しておく必要がある。
【０１９０】
また、有料のチャンネルのコンテンツを視聴する場合には、ソフトウェアを使用する上で利用者が使用許諾を受けていることが前提となるので、新規参加端末装置２Ｘは、コンテンツデータを受信する前に、ライセンス証発行サーバ６からライセンス証を購入する手続きを済ませておく必要がある。
【０１９１】
利用者が、ライセンス証の購入要求を入力すると、新規参加端末装置２Ｘはライセンス証発行サーバ６へ接続してライセンス証の購入フォームをダウンロードする。次に、このダウンロードした購入フォームを内蔵ディスプレイ２０９に表示して、利用者に対して必要事項の記入を促す。購入フォームに対する必要事項の記入が終了すると、新規参加端末装置２Ｘは購入フォームをライセンス証発行サーバ６へアップロードする。最後に、ライセンス証発行サーバ６が購入フォームの内容に基づいて購入決済を行い、ライセンス証を発行して、ライセンス情報を要求元の新規参加端末装置２Ｘに送信する。
【０１９２】
また、新規参加端末装置２Ｘ（他の端末装置２も同様）は、ソフトウェア識別情報を記憶するソフトウェア識別情報記憶手段を有しているので、ソフトウェア更新処理手段は、配信装置である放送局端末１で使用中のソフトウェア識別情報を取得し、取得したソフトウェア識別情報と、ソフトウェア識別情報記憶手段に記憶しているソフトウェア識別情報が一致しないときに、ソフトウェア更新要求を出力するようにしてもよい。このようにすることで、効率的で無駄のない、ソフトウェア更新要求の出力ができる。
【０１９３】
次にソフトウェア更新要求の配信について説明する。
【０１９４】
新規参加端末装置２Ｘは、参加済端末２に対して直接ソフトウェア更新要求を送信するのではなく、放送局端末１に対して送信する。
【０１９５】
放送局端末１では受信したソフトウェア更新要求を、コンテンツデータの配信経路を用いて端末装置２のそれぞれに配信する。ソフトウェア更新要求は、放送局端末１から中継が始まり、階層型トポロジーの末端に接続されている端末装置２まで順次中継される。
【０１９６】
次に、ソフトウェア更新処理手段について説明する。
【０１９７】
利用者が所定のチャンネルのコンテンツの視聴を希望する旨の指示を入力すると、新規参加端末装置２Ｘは視聴用のソフトウェア等の取得を要求する参加要求を管理サーバ３に送信する。（ここで、ソフトウェアのダウンロードに際して認証が必要な場合には、ソフトウェアの参加要求とともにライセンス情報を送信するようにしてもよい。）管理サーバ３がソフトウェアの配信を許可すると、管理サーバ３からソフトウェアのバージョン情報等を含む識別情報と、放送局端末１の所在情報とが新規参加端末装置２Ｘに送信されてくる。
【０１９８】
その後、新規参加端末装置２Ｘではソフトウェア更新要求機能に基づき放送局端末１を介して送信したソフトウェア更新要求に対して肯定応答を返信した端末装置２へ更新ソフトウェアのダウンロード要求を送信する。
【０１９９】
最後に新規参加端末装置２Ｘは、更新ソフトウェア取得機能により、送信された更新ソフトウェアを取得することで、放送局端末１から配信されるコンテンツデータの再生が可能となる。
【０２００】
このように、新規参加端末装置２Ｘが、自ら更新ソフトウェアの配信元装置を探索することによって、管理サーバ３及びネットワークの負担を軽減しながら、新規参加端末装置２Ｘに対してソフトウェアの送信を行うことが可能となる。
【０２０１】
ソフトウェア更新プログラムは、このソフトウェア更新処理手段に含まれる個々の機能を実現できる。
【０２０２】
特に、本発明によれば、新規参加端末装置２Ｘは、ライブラリサーバ５から直接更新ソフトウェアを得る必要が少なくなり、階層構造に接続されている他の端末装置２から更新ソフトウェアを得ることができる。このため、更新ソフトウェアの要求やダウンロードが、ライブラリサーバ５などに集中することがなくなり、ネットワークの負荷が低減できる。
【０２０３】
また、肯定応答を送信した端末装置２（すなわち更新ソフトウェアを保有している端末装置２）が複数ある場合について説明する。
【０２０４】
新規参加端末装置２Ｘが、所定の時間内に複数の端末装置２から肯定応答を受信した場合には、新規参加端末装置２Ｘと肯定応答を送信した端末装置２との間のネットワーク近接度を測定して、ネットワーク近接度が近い端末装置２から更新ソフトウェアを受信する。
【０２０５】
また、新規参加端末装置２Ｘが、肯定応答した複数の端末装置２に更新ソフトウェアの一部分を要求し、新規参加端末装置２Ｘは、複数の端末装置２から一部分の更新ソフトウェアを受信して、一部分の更新ソフトウェアを繋ぎ合わせて、第１記憶部２０２に記憶した上で、アップデートする。これにより、ネットワークの特定の経路への集中的な負荷を低減した上で、新規参加端末装置２Ｘは、コンテンツデータの再生を可能とする。
【０２０６】
そして、所定の時間が経過したものの肯定応答を受信できなかった場合には、更新ソフトウェアを有している外部利用者端末が見つからなかったと判断して、ライブラリサーバ５へ送信要求メッセージを送信して更新ソフトウェアを、ライブラリサーバ５から得る。
【０２０７】
接続先候補に更新ソフトウェアを送信可能な端末装置２が複数含まれている場合には、ネットワーク近接度が高い端末装置２を選択して更新ソフトウェアのダウンロードを行う。
【０２０８】
新規参加端末装置２Ｘは、更新ソフトウェアをインストールした後に、コンテンツデータを中継することが可能な接続先候補に対して上流ノードへセッション開設要求を送信してコンテンツデータの受信を行うようにしてもよい。また、コンテンツデータを中継することができない接続先候補からソフトウェアを受信した場合には、管理サーバ３から新たな接続先候補を紹介してもらってセッション開設要求を送信してコンテンツデータの受信を行うことが可能となる。
【０２０９】
次に、コンテンツの受信形態の種々の態様について説明する。
【０２１０】
端末装置２がコンテンツ配信システムを用いてコンテンツデータを受信している状態で、利用者が視聴チャンネルを切り替えると、現在接続中の上流側の端末装置２を切り離し、再び新たなチャンネルを視聴する旨の参加要求を管理サーバ３に送信する。管理サーバ３から新たに参加するチャンネルの接続先候補を受信すると、別の端末装置２に接続を切り替える処理を行う。そして、新たに接続した上流の端末装置２に対してコンテンツデータの配信開始依頼を行って、参加手続きを終了する。管理サーバ３から複数の端末装置２の所在情報を取得した場合には、トポロジー制御プログラム２２２は、これら複数の端末装置２の中からネットワーク近接度を基準にして接続候補をひとつに絞り込んでから接続を開始する処理を行う。
【０２１１】
次に、コンテンツデータの配信にかかわるストリーム制御について説明する。
【０２１２】
ストリーム制御プログラム２２１は、放送局端末から配信されてくるコンテンツデータを中継するために、動的に配信経路を生成する処理を行う。上述のように、管理サーバ３から取得した接続候補に基づいて上流の端末装置２に接続する処理は、トポロジー制御プログラム２２２が実行する。コンテンツデータの配信経路の確立後に、ストリーム制御プログラム２２１が上流側の端末装置２に対してコンテンツデータの配信開始を依頼することで、コンテンツデータの配信経路を確立する。一方、コンテンツデータの配信経路の切断は、新たなチャンネルへ参加する際、又はコンテンツデータの視聴を終了した際に、上流側の端末装置２に対してセッション切断要求とストリーム停止要求を送信することで実現する。
【０２１３】
また、上記トポロジー制御プログラム２２２は、下流側に論理接続される端末装置２との配信経路の確立とその切断処理を行う。下流側の端末装置２が配信経路の確立を依頼してきたときには、端末装置２が上流側の端末装置２として応答することで配信経路を確立する。ストリーム制御プログラム２２１は、セッションの確立要求及び切断要求に応じて下流側ノード情報を更新して、コンテンツデータのストリーム配信の開始要求、及び停止要求に応じてコンテンツデータのストリーム配信の開始と停止の処理を行う。
【０２１４】
ストリーム制御プログラム２２１は、階層構造を構成している上流側の端末装置２がストリーム配信するコンテンツデータを受信する受信手段の機能と、階層構造を構成している他の端末装置が下流側に論理接続されている場合には、その下流側の端末装置に対してコンテンツデータの配信を行うコンテンツデータ送信手段の機能を有している。
【０２１５】
なお、ソフトウェアの更新処理に係わるコンテンツ更新要求情報処理手段では、ソフトウェア更新要求中継機能として、受信したソフトウェア更新要求を、下流の端末装置２に中継する際に、中継回数を制限しても良い。あるいは、ソフトウェア更新要求に含まれる中継制限回数が所定の値である場合に、ソフトウェア更新要求の中継が行われず、あるいは、所定の値よりも小さい場合には、中継制限回数の値より多い回数の中継が行われても良い。
【０２１６】
この処理により、トラフィックが混雑しがちな配信経路の限られた部分の経路のみが用いられるので、ネットワークの負荷を抑えつつ、ソフトウェア更新要求が中継される。
【０２１７】
変形例として、コンテンツ更新要求情報処理手段がソフトウェア更新要求に含まれる送信時刻と現在時刻を比較した上で、ソフトウェア更新要求の中継期限が超過しているか否かを判定し、判定の結果、超過している場合には、コンテンツ更新要求情報処理手段は、ソフトウェア更新要求を中継しないようにしてもよい。このような処理によっても同様にネットワークの負荷を適切に低減できる。
【０２１８】
また、複数の端末装置２から肯定応答を受信した場合には、新規参加端末装置２Ｘは、肯定応答の受信に要した時間が最も少ない端末装置２を選択して、更新ソフトウェアのダウンロード要求を出力してもよい。このとき、肯定応答に含まれる時刻情報と、送信したソフトウェア更新要求に含まれる時刻情報の差分から、肯定応答の受信に要した時間が測定される。
【０２１９】
また、新規参加端末装置２Ｘは、予め管理サーバ３から得ている接続先候補（コンテンツ供給が可能な端末装置２の候補）の情報に基づいて、実際に更新ソフトウェアのダウンロード要求を出力する相手先の端末装置２を決定しても良い。例えば、新規参加端末装置２Ｘが、複数の端末装置２から肯定応答を受信した場合には、該端末装置２の内で、前記接続先候補と一致する端末装置２を優先的に選択する。つまり、コンテンツ供給が可能な端末装置２が選択されるので、更新ソフトウェアの更新後、改めて接続処理を行うことなく、コンテンツデータの配信が可能となる。
【０２２０】
次に、コンテンツデータの再生について説明する。
【０２２１】
上流の端末装置２又は放送局端末１から配信されたコンテンツデータは、パケット毎に受信され、図５に示したコンテンツ記憶手段であるリングバッファ２２６に一時的に記憶される。
【０２２２】
コンテンツ再生手段は、第１記憶部２０２のリングバッファ２２６に順次記憶されたコンテンツデータを、順次再生する。制御部２１４は、ストリーム制御プログラム２２１に基づいてビデオチップ２０８及び音源チップ２１０を動作させることにより、コンテンツデータを再生する。
【０２２３】
再生されたコンテンツデータは、液晶などの表示部に表示される。
【０２２４】
コンテンツ中継依頼受信手段は、他の端末装置２からコンテンツデータの中継依頼を示すデータ（以下、「データ配信依頼パケット」という。）を受信する。
【０２２５】
コンテンツ中継手段は、下流の端末装置２が接続されており、コンテンツデータの中継が可能な状態である場合に、第１記憶部２０２のリングバッファ２２６に順次記憶してきたコンテンツデータを下流の端末装置２に中継して配信するものである。
【０２２６】
次に、図６、図７を用いて、制御手段２１４の処理を説明する。
【０２２７】
図６、図７は、本発明の実施の形態における端末装置の制御手段が行う処理を示すフローチャートである。
【０２２８】
端末装置２の電源が投入されて、ステップＳ２０２にてプログラム初期化が行われる。ついで、ステップＳ２０４に進み、利用者から特定のチャンネルのコンテンツを視聴するためのライセンス証の購入要求が指示されたか否かの判断が行われる。利用者からライセンス証の購入要求が指示されなかった場合には、処理はステップＳ２０６に分岐し、利用者からライセンス証の購入要求が指示された場合には、次のステップＳ２０８に進む。
【０２２９】
ステップＳ２０８では、制御手段２１４はライセンス証発行サーバ６からライセンス証の購入フォームをダウンロードする。ライセンス証購入フォームのダウンロードが終了すると、処理はステップＳ２１０に進み、利用者に必要事項の記入を促すメッセージを内蔵ディスプレイ２０９に表して、利用者がリモコン２４３等を操作して必要事項を入力する。
【０２３０】
必要事項の記入が終了すると、ステップＳ２１２にて制御手段２１４は記入したフォームをライセンス証発行サーバ６にアップロードする。ステップＳ２１４にて、フォーム内容に基づいてライセンス証の購入手続きの決済終了後に、ライセンス証を構成するライセンス情報を受信する。
【０２３１】
ライセンス証の受信処理が終了すると、処理は次のステップＳ２１５に進み、端末装置２に対して電源遮断の指示が入力されたか否かの判断が行われる。もし、電源遮断の指示が入力されたと判断した場合には、制御手段２１４が実行する処理を終了するルーチンに進み、電源遮断の指示が入力されていない場合には、ステップＳ２０４の処理に戻る。
【０２３２】
一方、制御手段２１４が実行する処理がステップＳ２０６に分岐すると、自己の端末装置２にしてコンテンツを視聴するために必要なソフトウェア更新要求が発生しているか否かの判断が行われる。ステップＳ２０６にて、ソフトウェア更新要求が発生していない場合には、処理はステップＳ２１６に分岐する。ソフトウェア更新要求が発生している場合、つまり、後述するステップＳ２５０：Ｙｅｓ、ステップＳ２５４、ステップＳ２５６、ステップＳ２５８：Ｙｅｓ、ステップＳ２６２を経た場合には、ステップＳ２０６：Ｙｅｓとなり、次のステップＳ２２０に進む。
【０２３３】
ステップＳ２２０にて制御手段２１４は、管理サーバ３に対して参加要求を送信して、管理サーバ３から視聴を希望するチャンネルの放送局端末１の所在情報を受信する。
【０２３４】
ステップＳ２２０にて管理サーバ３から放送局端末１の所在情報を受信すると、制御手段２１４が実行する処理はステップＳ２２２に進む。ステップＳ２２２にて、放送局端末１に対して、ソフトウェア送信の要求と端末装置２の要求元所在情報とソフトウェア識別情報とを含む送信要求メッセージを送信して、送信要求の中継を要求する。
【０２３５】
次のステップＳ２２４では、制御手段２１４はタイマを起動して、端末装置２から肯定応答が送信されてくるのを待ち、ステップＳ２１５の処理に進む。
【０２３６】
一方、制御手段２１４が実行する処理がステップＳ２１６に分岐すると、タイマで設定した時間内に、端末装置２からソフトウェア更新要求に対する肯定応答を受信したか否かの判断が行われる。もし、肯定応答を受信しなかった場合にはステップＳ２２６の処理に分岐し、肯定応答を受信した場合にはステップＳ２２５の処理に進む。
【０２３７】
ステップＳ２２８にて制御手段２１４は、肯定応答を送信した端末装置２とのネットワーク近接度を測定する。近接度の測定は、経由したルータの数を表すホップ数をネットワーク近接度として採用してもよいし、肯定応答と共に送信されてきた送信開始時刻と受信した現在時刻との差を所要通信時間として算出して、ネットワーク近接度として採用してもよい。ネットワーク近接度の測定が終了すると、制御手段２１４が実行する処理はステップＳ２１５に進む。
【０２３８】
一方、ステップＳ２２６に分岐すると、ステップＳ２２４で起動したタイマがタイムアウトするのを待つ。ステップＳ２２４で起動したタイマがタイムアウトしていない場合には、制御手段２１４が実行する処理は、図７に示すステップＳ２５０に分岐し、タイマがタイムアウトしていると判断した場合には、ステップＳ２２８に進み、ステップＳ２２４にて起動したタイマを停止し、ステップＳ２３０の判断に進む。
【０２３９】
ステップＳ２３０にて制御手段２１４は、ソフトウェア更新要求に応答した端末装置２が存在するか否かの判断が行われる。もしソフトウェア更新要求に応答した端末装置２が存在する場合には、処理はステップＳ２３２に分岐し、ソフトウェア更新要求に応答した端末装置２が存在しない場合には、処理はステップＳ２３４に進み、コンテンツの視聴に必要なソフトウェアをライブラリサーバ５から直接ダウンロードして、第２記憶部２０３に記憶してインストールし、実行可能状態に設定する処理を行う。
【０２４０】
ステップＳ２３２にて制御手段２１４は、肯定応答を送信してきた端末装置２にコンテンツデータを中継可能な端末装置２が存在するか否かの判断を行う。コンテンツデータを中継可能な端末装置２が存在しない場合には、処理はステップＳ２３６に分岐し、コンテンツデータを中継可能な端末装置２が存在する場合にはステップＳ２３８の処理に進む。
【０２４１】
ステップＳ２３８にて制御手段２１４は、中継可能ノードであって、かつネットワーク近接度が高い端末装置２を選択してダウンロード要求を送信し、ソフトウェアのダウンロードを行うとともに、ステップＳ２４０にて上流ノードと設定してセッション開設要求を送信する。ダウンロードしたソフトウェアは第２記憶部２０３に記憶してインストールし、実行可能状態に設定する。セッション開設要求を送信すると、制御手段２１４が実行する処理はステップＳ２１５に進む。
【０２４２】
一方、制御手段２１４が実行する処理がステップＳ２３６に分岐すると、ネットワーク近接度が高い端末装置２を選択してダウンロード要求を送信し、ソフトウェアをダウンロードして第２記憶部２０３に記憶してインストールされる。インストールされたソフトウェアは、実行可能状態に設定される。
【０２４３】
ステップＳ２５６にて入手した接続先の端末装置２を上流ノードと設定して、セッション開設要求を送信する。セッション開設要求を送信すると、制御手段２１４が実行する処理はステップＳ２１５に進む。
【０２４４】
図７に示すステップＳ２５０では、利用者が新たなチャンネルを指定して、新たなコンテンツ配信システムへの参加要求を入力したか否かの判断を行う。参加要求を入力していない場合には、制御手段２１４が実行する処理はステップＳ２５２に分岐し、参加要求を入力した場合にはステップＳ２５４に進む。
【０２４５】
ステップＳ２５４にて制御手段２１４は、現在接続中のチャンネルがあれば上流ノードに対してセッション切断要求を送信して、コンテンツ配信システムから離脱する処理を行う。次のステップＳ２５６では、管理サーバ３に対して参加要求を送信して、管理サーバ３から視聴を希望するチャンネルと関連づけて記憶されているソフトウェア識別情報と配信装置所在情報を受信する。
【０２４６】
次のステップＳ２５８では、ステップＳ２５６にて取得したソフトウェア識別情報に基づいて、視聴に必要なソフトウェアが第２記憶部２０３に記憶されているか否かを判断する処理を行う。もし、視聴に必要なソフトウェアが記憶されている場合には、処理はステップＳ２６０に分岐して、階層構造を構成する上流ノードの端末装置２に対してセッション開設要求を送信して、論理接続を行い、ステップＳ２１５の処理に進む。
【０２４７】
また、ステップＳ２５８にて、視聴に必要なソフトウェアが記憶されていないと判断した場合には、処理はステップＳ２６２に進み、自己の端末へソフトウェアの更新要求をポストし、ステップＳ２１５の処理に進む。
【０２４８】
一方、制御手段２１４が実行する処理がステップＳ２５２に分岐すると、他の端末装置からセッション開設要求、又は切断要求を受信したか否かの判断を行う。ステップＳ２５２にて他の端末装置からセッション開設要求、又は切断要求を受信していない場合には、ステップＳ２６４に分岐し、他の端末装置からセッション開設要求、又は切断要求を受信した場合には、ステップＳ２６６に進む。
【０２４９】
ステップＳ２６６にてトポロジー制御プログラム２２２は、他の端末装置２から受信したセッション開設要求、又はセッション切断要求に基づいたセッション開設、又はセッション切断処理を実行する。
【０２５０】
そして、次のステップＳ２６８にてトポロジー制御プログラム２２２は、他の端末装置２から受信したセッション開設要求、又はセッション切断要求に基づいて、下流の端末装置２に対してコンテンツデータのストリーム配信の開始処理又は停止処理を実行し、ステップＳ２１５の処理に進む。
【０２５１】
一方、制御手段２１４が実行する処理がステップＳ２６４に分岐すると、送信要求メッセージを受信したか否かの判断を行う。もし送信要求メッセージを受信していない場合には、ステップＳ２１５の処理に分岐する。また、もし新規参加端末装置２Ｘから送信要求メッセージを受信していた場合には、ステップＳ２７０の処理に進む。
【０２５２】
ステップＳ２７０にて制御手段２１４は、送信要求メッセージに含まれるソフトウェア識別情報と合致する更新ソフトウェアが、第２記憶部２０３に記憶されているか否かの判断を行う。もし、送信要求を受けた更新ソフトウェアが第２記憶部２０３に記憶されていない場合には、処理はステップＳ２７４に分岐する。更新ソフトウェアが第２記憶部２０３に記憶されている場合には、ステップＳ２７２の処理に進む。
【０２５３】
ステップＳ２７２にて制御手段２１４は、更新ソフトウェアの要求元所在地へ肯定応答を返信する処理を行う。このとき、新規参加端末装置２Ｘ側でネットワーク近接度の測定を可能とするため、ソフトウェア送信の要求元の所在地に対して肯定応答を送信する際に、ヘッダのホップ数を所定の値にセットして送信するようにしてもよい。また、新規参加端末装置２Ｘ側で所要通信時間を算出するために、送信開始時刻の送信するようにしてもよい。
【０２５４】
次のステップＳ２７４では、上流の装置から受信したソフトウェア更新要求を下流ノードへ転送する処理を行ってから、ステップＳ２１５の処理に進む。
【０２５５】
なお、ステップＳ２６４にて「Ｎｏ」と判定された場合には、ステップＳ２６５に進む。ステップＳ２６５においては、更新ソフトウェアのダウンロード要求であるかの判定がなされる。ステップＳ２６５にて、「Ｙｅｓ」と判定された場合には、ステップＳ２６７に進む。ステップＳ２６５にて、「Ｎｏ」と判定された場合には、Ｔ２の処理に進む。ステップＳ２６７において、ダウンロード要求元へソフトウェアを送信する。
【０２５６】
また、管理サーバ３が端末装置２から参加要求を受信した際に、ソフトウェア送信の要求と端末装置２の要求元所在情報とを含む送信要求を生成して放送局端末１に対して送信するシステムを採用している場合には、端末装置２の制御手段２１４は、タイマを起動して端末装置２からの肯定応答が送信されてくるのを待つ。
【０２５７】
以上のように、端末装置２を構成することによって、コンテンツデータを配信する配信装置を頂点として、複数の端末装置を階層構造で多層に論理接続できる。配信装置が端末装置２に対して送信したコンテンツデータ及び新規参加端末装置２Ｘが送信したソフトウェア更新要求が、端末装置２の中継機能により順次下流の端末装置へ中継して複数の端末装置全てに配信される端末装置２が実現される。
【０２５８】
また、ソフトウェア更新要求を受信した場合に、自己の記憶手段に送信要求メッセージに対応する更新ソフトウェアが記憶されており、更新ソフトウェアの送信を行い得る状況にある場合には、新規参加端末装置２Ｘに対して更新ソフトウェアを送信することが可能な状態にあることを表す肯定応答の送信を行って、更新ソフトウェアの送信を行うことができる。
【０２５９】
更に、同一の端末装置２が新規参加端末装置２Ｘとして機能するために、新たに視聴するチャンネルのコンテンツデータ再生に必要なソフトウェアが、自己の第２記憶部２０３に記憶されていないと判断した場合には、管理サーバ３又は放送局端末１等の装置にソフトウェア更新要求を含む送信要求メッセージを送信して、この必要とするソフトウェア（更新ソフトウェア）を記憶している端末装置２から受信する。結果として、コンテンツデータを再生可能な状態に設定することができる。
【０２６０】
次に、図８を参照して、管理サーバ３の構成及び動作について説明する。
【０２６１】
図８は、本発明の実施の形態における管理サーバのブロック図である。
【０２６２】
管理サーバ３は、新規参加端末装置２Ｘに対して上流ノードとなる既存の端末装置２を紹介する機能と、新規参加端末装置２Ｘから取得した参加要求に基づいて放送局端末１の紹介、又は放送局端末１に対して送信要求メッセージの送信処理を行う機能を有する。
【０２６３】
より具体的には、管理サーバ３は接続先紹介装置としての役割を持ち、接続先紹介手段と、ソフトウェア情報通知手段と、接続状態情報記憶手段と、配信装置所在情報記憶手段と、ソフトウェア識別情報記憶手段を有している。
【０２６４】
接続先紹介手段は、新規参加端末装置２Ｘからの接続先紹介要求を受信した場合に、接続先候補を選択する接続先候補選択機能と、新規参加端末装置２Ｘへ選択された接続先候補を通知する通知機能を含んでいる。
【０２６５】
ソフトウェア情報通知手段は、新規参加端末装置２Ｘから配信装置の所在情報の問い合わせを受けた場合に、配信装置所在情報記憶手段に記憶されている配信装置の所在情報と、ソフトウェア識別情報記憶手段に記憶された配信装置において使用中のソフトウェア識別情報を取得する情報取得機能と、問い合わせを行った新規参加端末装置２Ｘに対して取得した情報を通知する通知機能を含んでいる。なお、ソフトウェア情報通知手段は、新規参加端末装置２Ｘに対してライセンス情報を要求し、受信したライセンス情報が正規のライセンス情報であると認証した場合に、ソフトウェア更新要求を配信装置へ転送するようにしても良い。
【０２６６】
管理サーバ３は、専用サーバコンピュータのほか、一般のサーバコンピュータを適用可能であり、図８に示すように、ＣＰＵ３０１と、各種プログラム等を記憶する書き換え可能な第１記憶部３０２と、各種データ等を記憶するＨＤＤ等から構成された第２記憶部３０３を備えている。更に、管理サーバ３は、インターネット４を介して放送局端末１や端末装置２との間で通信を行うネットワークインターフェイス３０４と、所定の情報を入力可能なキーボード３０５やマウス３０６等の入力手段を制御する周辺機器制御チップ３０７と、ＣＰＵ３０１からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ３０９に表示するビデオチップ３０８とを備えている。これらの各構成要件はシステムバス３１３を介して相互に接続されている。なお、本実施の形態においては、ＣＰＵ３０１と第１記憶部３０２とで制御部３１４を構成している。なお、ネットワークインターフェイス３０４は、ルータ１０ｃを介して、インターネット４に接続されている。
【０２６７】
第２記憶部３０３に含まれる端末管理データベース３１７は、配信装置である放送局端末１（あるいは端末装置２）の所在情報を記憶する配信装置所在情報記憶手段に相当する。トポロジーデータベース３１８は、端末装置２の接続状態情報を記憶する接続状態記憶手段に相当する。バージョン情報データベース３１９は、ソフトウェア識別情報を記憶するソフトウェア識別情報記憶手段に相当する。
【０２６８】
第１記憶部３０２には、管理サーバ３のコンピュータとしての基本的な機能を提供するためのＯＳプログラム３２０と、配信チャンネルに接続される複数の端末装置２の所在情報や放送局端末１の所在情報等を管理するための端末管理プログラム３３２と、放送チャンネルのツリー状階層構造を構築及び管理等を行うためのトポロジー管理プログラム３２２と、端末装置２から送信される接続先紹介要求に対応する配信チャンネルの接続先候補を判定し、端末装置２へ接続先候補の情報の送信等を行うための接続先紹介プログラム３３３と、コンテンツ配信システムＳの運用管理等を行うための運用管理プログラム３３４と、特定のチャンネルと使用する最新のソフトウェアのバージョン情報等の管理を行うバージョン管理プログラム３３５等を記憶しており、これらはＣＰＵ３０１によって読み出され、ＣＰＵ３０１によってこれらのプログラムに従った機能が実行される。
【０２６９】
ここで、ＯＳプログラム３２０は、ＣＰＵ３０１によって読み出されて実行されることにより、キーボード３０５やマウス３０６の入出力に関する機能や、第１記憶部３０２や第２記憶部３０３などのメモリ管理などのコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラムがＣＰＵ３０１によって実行された状態で、上述の端末管理プログラム３３２、トポロジー管理プログラム３２２、接続先紹介プログラム３３３、運用管理プログラム３３４、及びバージョン管理プログラム３３５等が実行される。
【０２７０】
なお、ＯＳプログラム３２０、端末管理プログラム３３２、トポロジー管理プログラム３２２、接続先紹介プログラム３３３、運用管理プログラム３３４、及びバージョン管理プログラム３３５等は、たとえば、インターネット４に接続されたサーバ等から第１記憶部３０２にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１記憶部３０２に読み込まれるようにしてもよい。
【０２７１】
制御部３１４は、上述のようにＣＰＵ３０１と第１記憶部３０２とから構成され、ＣＰＵ３０１が第１記憶部３０２に記憶された各種プログラム３２０，３２２，３３２〜３３５を読み出して実行することにより、管理サーバ３全体を統括制御する。
【０２７２】
加えて、制御部３１４は、接続先紹介手段と、ソフトウェア情報通知手段の機能を有する。
【０２７３】
接続先紹介手段について説明する。
【０２７４】
接続先紹介手段は、接続先候補選択機能により、新規参加端末装置２Ｘから接続先紹介要求を受信した場合に、階層構造に接続されている端末装置２の中から、適当な接続先候補を選択する。
【０２７５】
接続先紹介手段は、通知機能により、選択した接続先候補に係る情報を、新規参加端末装置２Ｘに通知する。接続先候補の情報は、接続先候補として選択された端末装置２のＩＰアドレスや、ポート番号などの情報を含む。
【０２７６】
また、管理サーバ３は、新規参加端末装置２Ｘから、特定のチャンネルの視聴を要求する情報とその要求元（新規参加端末装置２Ｘ）の所在地を表す要求元所在情報とを含む参加要求を受信する。また、特定のチャンネルを視聴する新規参加端末装置２Ｘが送信したライセンス情報を受信する。
【０２７７】
次に、ソフトウェア情報通知手段について説明する。
【０２７８】
ソフトウェア情報通知手段は、選択された接続先候補に関する情報と配信装置で使用中のソフトウェア識別情報を、接続先紹介要求を出力した新規参加端末装置２Ｘに通知する。また、配信装置所在情報記憶手段に記憶された配信装置の所在情報を、新規参加端末装置２Ｘに出力する。
【０２７９】
このとき、ソフトウェア識別情報は、視聴を希望するチャネルと関連付けて記憶されているソフトウェアに対応する識別情報である。
【０２８０】
ソフトウェア情報通知手段は、新規参加端末装置２Ｘが送信したライセンス情報が正規のライセンス情報であるか否かを認証する。この認証処理は、ライセンス証発行サーバ６に対してライセンス情報を送信して認証を依頼してもよいし、認証手段のライセンス証認証プログラム２２７が独自に認証処理を行うようにしてもよい。
【０２８１】
ソフトウェア情報通知手段は、受信したライセンス情報が、正規のライセンス情報であると判断した場合に、ソフトウェア更新要求を放送局端末１に転送するようにしてもよい。また、ソフトウェア識別情報や配信装置所在情報なども、認証された場合に、送信される。
【０２８２】
管理サーバ３は、端末装置２などの登録処理も行う。管理サーバ３は、端末装置２からのユーザ端末登録要求を受信すると、端末管理データベース３１７へこの端末装置２の所在情報であるＩＰアドレス等を登録する。また、放送局端末１からの放送局端末登録要求を受信した場合も、この放送局端末１の所在情報であるＩＰアドレス等を端末管理データベース３１７に登録する。なお、これらのＩＰアドレス等の所在情報はユーザ端末登録要求や放送局端末登録要求に含まれ、これらの登録要求から所在情報を取得する。
【０２８３】
端末管理プログラム３２２は、放送局端末１から放送局としての登録要求があると、当該放送局端末１に与えられたチャンネル番号と放送局端末１の所在情報を端末管理データベース３１７へ登録する処理を行う。
【０２８４】
更に、管理サーバ３は、トポロジーを管理する。
【０２８５】
トポロジー管理プログラム３２２は、新規参加端末装置２Ｘから接続先紹介要求があると、トポロジーデータベース３１８から接続可能なノードである既存の端末装置２を検索し、検索結果として端末装置２の所在情報を新規参加端末装置２Ｘに返信する。このとき、該当チャンネルの視聴に必要なソフトウェアの種類とそのソフトウェアのバージョン情報を特定する識別情報を送信する。
【０２８６】
また、トポロジー管理プログラム３２２は、トポロジーデータベース３１８に記憶されているトポロジーテーブルに端末装置２の情報を追加又は削除する機能を有しており、端末装置２からの接続先紹介要求や接続切断要求等に基づいて、トポロジーテーブルへの情報の追加又は変更を行う機能を有する。
【０２８７】
ライブラリサーバ５においてコンテンツ視聴のためのソフトウェアが更新されると、管理サーバ３に対して更新ソフトウェアのバージョン情報等を含むソフトウェア識別情報がチャンネルと関連づけて通知される。この通知を受信すると管理サーバ３のバージョン管理プログラム３３５は、バージョン管理データベース３１９へ登録する処理を行う。
【０２８８】
次に、制御手段３１４の処理について、図９を用いて説明する。
【０２８９】
図９は、本発明の実施の形態における管理サーバの制御手段の処理を示すフローチャートである。
【０２９０】
管理サーバ３の電源が投入されて、ステップＳ３０２にて、プログラム初期化が行われる。プログラム初期化により、管理サーバ３のプログラムの初期化が終了すると、ステップＳ３０４に進む。ステップ３０４にて、放送局端末１から放送局としての登録要求を受信したか否かの判断が行われる。次に、ステップＳ３０４にて、放送局端末１から放送局としての登録要求を受信した場合には処理はステップＳ３０８に分岐し、放送局端末１から放送局としての登録要求を受信していない場合にはステップＳ３０６に進む。
【０２９１】
ステップＳ３０８にて、放送局端末１から放送局としての登録要求を受信したことを受けて、放送局端末１の所在情報とチャンネル番号がソフトウェア識別情報とを関連づけられて、バージョン管理データベース３１９に登録される。ステップＳ３０８の処理が終了すると、次のステップＳ３１０の処理に進み、管理サーバ３に対して電源遮断の指示が入力されたか否かの判断が行われる。もし、電源遮断の指示が入力されたと判断した場合には、制御手段３１４が実行する処理を終了するルーチンに進み、電源遮断の指示が入力されていない場合には、ステップＳ３０４の処理に戻る。
【０２９２】
一方、制御手段３１４が実行する処理がステップＳ３０６に分岐すると、新規参加端末装置２Ｘから参加要求を受信したか否かの判断が行われる。新規参加端末装置２Ｘから参加要求を受信していない場合にはステップＳ３１２に分岐し、参加要求を受信した場合にはステップＳ３１４に進む。
【０２９３】
ステップＳ３１４では、新規参加端末装置２Ｘから参加要求を受信したことを受けて、トポロジーデータベース３１８から中継可能な既存の端末装置２のノードを選択して、その所在情報を取得する。次のステップＳ３１６では、既存の端末装置２の所在情報とソフトウェア識別情報を新規参加端末装置２Ｘへ返信し、ステップＳ３１０の処理に進む。
【０２９４】
一方、制御手段３１４が実行する処理がステップＳ３１２に分岐すると、新規参加端末装置２Ｘから放送局端末１の所在情報を問い合わせる参加要求を受信したか否かの判断が行われる。新規参加端末装置２Ｘから放送局端末１の所在情報を問い合わせる参加要求を受信しなかった場合には、処理はステップＳ３１８に分岐し、放送局端末１の所在情報を問い合わせる参加要求を受信した場合には、ステップＳ３２０に進む。
【０２９５】
ステップＳ３２０では、端末管理データベース３１７から指定チャンネルの配信を行っている放送局端末１の配信装置所在情報を取得して、次のステップＳ３２２にて配信装置所在情報を新規参加端末装置２Ｘへ返信する処理を行って、ステップＳ３１０の処理に進む。
【０２９６】
一方、制御手段３１４が実行する処理がステップＳ３１８に分岐すると、ライブラリサーバ５から更新されるソフトウェア識別情報を受信したか否かの判断が行われる。ライブラリサーバ５からソフトウェア識別情報を受信していない場合にはステップＳ３１０の処理に分岐し、ソフトウェア識別情報を受信した場合にはステップＳ３２４の処理に進む。
【０２９７】
ステップＳ３２４にて、ソフトウェア識別情報をバージョン管理データベース３１９に記録する処理を行った後、ステップＳ３１０の処理に進む。
【０２９８】
このようにして管理サーバ３は、新規参加端末装置２Ｘから参加要求を受信すると、選択した接続先候補に関する情報とソフトウェア識別情報とを、新規参加端末装置２Ｘに送信する。この送信により、ソフトウェア識別情報を受信した新規参加端末装置２Ｘは、必要とするソフトウェアが自己の端末の記憶手段に記憶されているか否かを判断できる。必要なソフトウェアが記憶されていない場合には、放送局端末１の所在情報を取得して放送局端末１に対して、ソフトウェア更新要求である送信要求メッセージを送信する。更に、ソフトウェア更新要求である送信要求メッセージは、放送局端末１を頂点とする階層構造の経路を介して、順次下流の端末装置２に配信される。コンテンツ配信システムを構成している既存の端末装置２から更新ソフトウェアのダウンロードを行うことができる。
【０２９９】
次に、図１０を参照して、ライブラリサーバ５の構成及び動作について説明する。ライブラリサーバ５は、端末装置２で使用するソフトウェアの管理装置として機能する装置であり、ソフトウェアの初期配布を行う機能を有する。
【０３００】
図１０は、本発明の実施の形態におけるライブラリサーバのブロック図である。
【０３０１】
ライブラリサーバ５は、専用サーバコンピュータのほか、一般のサーバコンピュータを適用可能である。図１０に示すように、ＣＰＵ５０１と、各種プログラム等を記憶する書き換え可能な第１記憶部５０２と、各種データ等を記憶するＨＤＤ等から構成された第２記憶部５０３を備えている。加えて、インターネット４を介して放送局端末１や端末装置２、管理サーバ３との間で通信を行うネットワークインターフェイス５０４と、所定の情報を入力可能なキーボード５０５やマウス５０６等の入力手段、及びＩＣカードスロット５４１を介してＩＣカード５４０に対する情報の書き込み又は読み出しを制御する周辺機器制御チップ５０７と、ＣＰＵ５０１からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ５０９に表示するビデオチップ５０８とを備えている。これらの各構成要件はシステムバス５１３を介して相互に接続されている。なお、本実施の形態においては、ＣＰＵ５０１と第１記憶部５０２とで制御部５１４を構成している。ネットワークインターフェイス５０４は、ルータ１０ｄを介して、インターネット４に接続されている。
【０３０２】
第２記憶部５０３には、利用者の端末装置２でコンテンツの視聴の際に用いる再生ソフトウェア、通信ソフトウェアその他の各種ソフトウェアを記憶するソフトウェアレポジトリ５１５と、特定のチャンネルと、視聴用、通信用のソフトウェア識別情報と、特定のチャンネルのコンテンツを配信している配信装置所在情報とを関連づけて記憶する記憶手段として機能するバージョン管理データベース５１９とを有している。
【０３０３】
第１記憶部５０２には、ライブラリサーバ５のコンピュータとしての基本的な機能を提供するためのＯＳプログラム５２０と、新規に参加する端末装置から送信されてきたライセンス情報について認証処理を行うライセンス証認証プログラム５２７と、コンテンツ配信の運用管理者側からソフトウェア更新要求があった場合に更新するソフトウェアをソフトウェアレポジトリ５１５に登録するソフトウェア登録プログラム５２８と、コンテンツを配信する放送局端末１の所在情報等を管理するための端末管理プログラム５３２と、特定のチャンネルと使用する最新のソフトウェアのバージョン情報等の管理を行うバージョン管理プログラム５３５と、新規参加端末装置２Ｘからソフトウェア更新要求を受信した場合にソフトウェアレポジトリ５１５から要求に該当するソフトウェアを読み出して新規参加端末装置２Ｘへ送信するソフトウェア配信プログラム５３６等を記憶しており、これらはＣＰＵ５０１によって読み出され、ＣＰＵ５０１によってこれらのプログラムに従った機能が実行される。
【０３０４】
ここで、ＯＳプログラム５２０は、ＣＰＵ５０１によって読み出されて実行されることにより、キーボード５０５やマウス５０６の入出力に関する機能や、第１記憶部５０２や第２記憶部５０３などのメモリ管理などのコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラムがＣＰＵ５０１によって実行された状態で、上述のライセンス証認証プログラム５２７、ソフトウェア登録プログラム５２８、端末管理プログラム５３２、バージョン管理プログラム５３５、及びソフトウェア配信プログラム５３６等が実行される。
【０３０５】
なお、ＯＳプログラム５２０、ライセンス証認証プログラム５２７、ソフトウェア登録プログラム５２８、端末管理プログラム５３２、バージョン管理プログラム５３５、及びソフトウェア配信プログラム５３６等は、たとえば、インターネット４に接続されたサーバ等から第１記憶部５０２にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１記憶部５０２に読み込まれるようにしてもよい。
【０３０６】
制御部５１４は、上述のようにＣＰＵ５０１と第１記憶部５０２とから構成され、ＣＰＵ５０１が第１記憶部５０２に記憶された各種プログラム５２０〜５３６を読み出して実行することにより、ライブラリサーバ５全体を統括制御し、かつ、各種の機能を実現させる。
【０３０７】
例えば、ＣＰＵ５０１が、ライセンス証認証プログラム５２７を実行することによって、ライセンス証認証手段として機能し、ソフトウェア登録プログラム５２８を実行することによってソフトウェア登録手段として機能し、端末管理プログラム５３２を実行することによって端末管理手段として機能し、バージョン管理プログラム５３５を実行することによってバージョン管理手段として機能し、ソフトウェア配信プログラム５３６を実行することによってソフトウェア配信手段として機能する。
【０３０８】
コンテンツ配信の運用管理者側からソフトウェア更新要求があった場合に、更新ソフトウェアをソフトウェアレポジトリ５１５に登録して管理サーバ３に対してソフトウェアのバージョン情報を含む識別情報を通知する。
【０３０９】
新規参加端末装置２Ｘからソフトウェア更新要求を受信すると、ライセンス証認証プログラム５２７は受信したライセンス情報が正規のライセンス情報であるか否かを認証する処理を行う。この認証処理は、ライセンス証発行サーバ６に対してライセンス情報を送信して認証を依頼してもよいし、ライセンス証認証プログラム５２７が独自に認証処理を行うようにしてもよい。ライセンス証認証プログラム５２７が、受信したライセンス情報が正規のライセンス情報であると認証した場合には、ソフトウェアレポジトリ５１５から要求に該当する更新ソフトウェアを読み出して新規参加端末装置２Ｘへ送信する。
【０３１０】
次に、図１１を用いて、制御手段５１４の動作について説明する。図１１は、本発明の実施の形態におけるライブラリサーバの制御手段の処理を示すフローチャートである。
【０３１１】
ライブラリサーバ５の電源が投入されて、ステップＳ５０２にて、プログラム初期化が行われる。ステップＳ５０２にて、ライブラリサーバ５のプログラムの初期化が終了すると、ステップＳ５０４に進み、コンテンツ配信システムの運用管理者側から更新ソフトウェアの登録依頼を受信したか否かの判断が行われる。更新ソフトウェアの登録依頼を受信していない場合には処理はステップＳ５０６に分岐し、更新ソフトウェアの登録依頼を受信した場合には、ステップＳ５０８の処理に進む。
【０３１２】
ステップＳ５０８にて制御手段５１４は、登録依頼のあった更新ソフトウェアをソフトウェアレポジトリ５１５に登録する処理を行って、次のステップＳ５１０の処理に進む。ステップＳ５１０では、管理サーバ３に対して更新ソフトウェアのバージョン情報を含む識別情報を送信する処理が行われ、ステップＳ５１４の処理に進む。
【０３１３】
次のステップＳ５１４では、ライブラリサーバ５に対して電源遮断の指示が入力されたか否かの判断が行われる。もし、電源遮断の指示が入力された場合には、制御手段５１４が実行する処理を終了するルーチンに進み、電源遮断の指示が入力されていない場合には、ステップＳ５０４の処理に戻る。
【０３１４】
一方、制御手段５１４が実行する処理がステップＳ５０６に分岐すると、新規参加端末装置２Ｘからソフトウェア更新要求を受信したか否かの判断が行われる。ソフトウェアの送信要求を受信しなかった場合には処理はステップＳ５１４に分岐し、ソフトウェアの送信要求を受信した場合には処理はステップＳ５１２に進む。
【０３１５】
ステップＳ５１２にて、制御手段５１４は、ソフトウェアレポジトリ５１５から要求のあった識別情報のソフトウェアを抽出して新規参加端末装置２Ｘへ送信し、次のステップＳ５１４の処理に進む。
【０３１６】
以上の様に構成することにより、ライブラリサーバ５は、端末装置２で使用する最新のソフトウェアを管理することができる。また、新規参加端末装置２Ｘから受信したソフトウェアの送信要求に基づいて、ソフトウェアの初期配布を行うことができる。
【０３１７】
更に、階層構造に接続されている端末装置２のいずれにも、新規参加端末装置２Ｘの要求する更新ソフトウェアが保有されていない場合には、ライブラリサーバ５が、この更新ソフトウェアを新規参加端末装置２に送信する。
【０３１８】
次に、図１２〜図１６を用いて、新規参加端末装置２Ｘが、更新ソフトウェアを得る処理について説明する。
【０３１９】
図１２〜図１６は、本発明の実施の形態におけるコンテンツ配信システムを示す説明図である。
【０３２０】
図１２を用いて、新規参加端末装置２Ｘからのソフトウェア更新要求に対して、端末装置２のいずれかが、肯定応答を送信するまでの処理を説明する。なお、以下の説明において使用する（１）などの符号は、図面中の（１）などの符号と一致する。
【０３２１】
（１）新規参加端末装置２Ｘが、利用者からライセンス証の購入要求を取得すると、新規参加端末装置２Ｘは、ライセンス証発行サーバ６へ接続してライセンス証の購入フォームをダウンロードして内蔵ディスプレイ２０９に表示する。利用者による必要事項の記入が終了すると、新規参加端末装置２Ｘは購入フォームをライセンス証発行サーバ６へアップロードする。
【０３２２】
（２）ライセンス証発行サーバ６が購入フォームの内容に基づいて購入決済を行い、ライセンス証を発行して、ライセンス情報を要求元の新規参加端末装置２Ｘに送信する。
【０３２３】
（３）新規参加端末装置２Ｘにて、所定のチャンネルの視聴の要望がユーザによって入力されると、新規参加端末装置２Ｘは、特定のチャンネルの視聴を要求する情報とその要求元の所在地を表す要求元所在情報とを含む参加要求を管理サーバ３に送信する。
【０３２４】
（４ａ）管理サーバ３が、新規参加端末装置２Ｘから参加要求を受信すると、利用者が視聴希望しているチャンネルと関連づけて記憶されているソフトウェア識別情報と、選択した接続先装置所在情報とを読み出して、新規参加端末装置２Ｘに送信する。
【０３２５】
なお、管理サーバ３が新規参加端末装置２Ｘから特定のチャンネルの視聴の要求元が送信したライセンス情報を受信し、受信したライセンス情報が正規のライセンス情報であると認証した場合に、新規参加端末装置２Ｘにソフトウェア識別情報などを送信してもよい。
【０３２６】
（４ｂ）新規参加端末装置２Ｘが、管理サーバ３からソフトウェアの識別情報と接続先装置の所在情報を受信すると、受信した識別情報のソフトウェアが自己の端末装置２の第２記憶部２０３に記憶されているか否かを判断し、ソフトウェアが記憶されていないと判断した場合には、放送局端末１の所在情報を取得して放送局端末１に対して、ソフトウェア送信の要求と新規参加端末装置２Ｘの要求元所在情報とソフトウェア識別情報とを含む送信要求メッセージを送信する。
【０３２７】
尚、（４ａ）において、管理サーバ３が、新規参加端末装置２Ｘから参加要求を受信すると、利用者が視聴希望しているチャンネルと関連づけて記憶されているソフトウェア識別情報と、選択した接続先装置所在情報と、放送局端末１の所在情報とを読み出して、新規参加端末装置２Ｘに送信してもよい。
【０３２８】
（４）また、新規参加端末装置２Ｘが放送局端末１に対して、送信要求メッセーを送信する代わりに、管理サーバ３がソフトウェア更新要求とその要求元所在情報とソフトウェアの識別情報を放送局端末１に送信するようにしてもよい。この場合、２つの形態があり、１つは、端末装置２が送信要求メッセージを生成して管理サーバに対して送信メッセージの中継を依頼する場合と、管理サーバ３が送信要求メッセージを生成して放送局端末１に送信する場合とがある。
【０３２９】
そこで、管理サーバ３が送信要求メッセージを生成して放送局端末１に送信する場合について具体的に説明する。
【０３３０】
端末装置２の制御部２１４は、ステップＳ２０６：Ｙｅｓのとき、ステップ２２０及びステップＳ２２４の代わりに、管理サーバ３に対して放送局端末１の所在情報の問い合わせ要求を送信し、ステップＳ２２４に移行する。そして、管理サーバ３の制御部３１４は、チャンネルと関連づけて記憶されているソフトウェアの識別情報と放送局端末１の所在情報を読み出した（ステップＳ３２２）後、ステップＳ３２２にて放送局端末１の所在情報を新規参加端末装置２Ｘへ返信する代わりに、送信要求メッセージを生成して、放送局端末１に対して送信する。
【０３３１】
また、端末装置２の制御部２１４は、ステップＳ２０６：Ｙｅｓのとき、ステップ２２０及びステップＳ２２４の代わりに、管理サーバ３に対してソフトウェアの送信要求を送信してステップＳ２２４に移行してもよい。そして、管理サーバ３の制御部３１４は、ソフトウェアの送信要求を受信すると、チャンネルと関連づけて記憶されているソフトウェアの識別情報と放送局端末１の所在情報を読み出して、送信要求メッセージを生成して、放送局端末１に対して送信するように構成してもよい。
【０３３２】
更に、管理サーバ３が端末装置２から参加要求を受信した際に、ソフトウェア送信の要求と端末装置２の要求元所在情報とソフトウェア識別情報とを含む送信要求メッセージを生成して放送局端末１に対して送信するようにしてもよい。この場合、端末装置２の制御手段２１４は、参加要求を送信してタイマを起動し、他の端末装置２から肯定応答が送信されてくるのを待つ。
【０３３３】
また、管理サーバ３が新規参加端末装置２Ｘから特定のチャンネルの視聴の要求元が送信したライセンス情報を受信し、受信したライセンス情報が正規のライセンス情報であると認証した場合に、放送局端末１に対してソフトウェア更新要求を送信するように構成してもよい。
【０３３４】
（５）放送局端末１が送信要求メッセージを受信すると、階層構造の下流側に論理接続されている端末装置２に対して、この送信要求メッセージを送信する。
【０３３５】
（６）送信要求メッセージを受信した端末装置２は、送信要求メッセージに対応する更新ソフトウェアが第２記憶部２０３に記憶手段に記憶されているか否かを判断し、更新ソフトウェアが記憶されていると判断した場合、及びソフトウェアを送信するにあたってのトラフィック及び処理に余裕があると判断した場合には、新規参加端末装置２Ｘに対して、更新ソフトウェアを送信することが可能な状態にあることを表す応答及び肯定元所在情報を含む肯定応答を送信する。
【０３３６】
また、端末装置２が、新規参加端末装置２Ｘが送信したライセンス情報を受信し、受信したライセンス情報が正規のライセンス情報であると認証した場合に、新規参加端末装置２Ｘに、肯定応答を送信するようにしてもよい。
【０３３７】
このようにして、コンテンツデータの配信用の経路を用いて、新規参加端末装置２Ｘから送信されてきた送信要求メッセージを、下流に存在する全ての端末装置に配信することができる。送信要求メッセージを受信した端末装置２のいずれかが、更新ソフトウェアを送信可能な状態にある場合には、要求元である新規参加端末装置２Ｘに対して、肯定応答の送信を行うことができる。
【０３３８】
また、放送局端末１やライブラリサーバ５が新規参加端末装置２Ｘに、直接的に更新ソフトウェアを送信することなく、比較的トラフィックに余裕のある他の既存の端末装置２が新規参加端末装置２Ｘに対して更新ソフトウェアを送信できる。したがって、更新ソフトウェアのダウンロード等に起因するネットワーク負荷の集中による不具合を避けることができる。
【０３３９】
図１３に、コンテンツの視聴に必要な更新ソフトウェアを、新規参加端末装置２Ｘが既存の端末装置２からダウンロードしてインストールするまでの処理の順序を示す。
【０３４０】
（７）新規参加端末装置２Ｘが、既存の端末装置２から肯定応答を受信すると、肯定応答を送信した端末装置２に対してダウンロード要求を送信する。
【０３４１】
このとき、新規参加端末装置２Ｘが所定の時間内に複数の端末装置２から、肯定応答を受信した場合には、最もホップ数の変化が少ない端末装置２に対してダウンロード要求を送信してもよい。この結果、更新ソフトウェアのダウンロードに要する時間が短縮できる。
【０３４２】
また、新規参加端末装置２Ｘが所定の時間内に複数の既存の端末装置２から、肯定応答を受信した場合には、肯定応答の送信開始時刻と現在時刻との差を所要通信時間として算出し、最も所要通信時間が少ない端末装置２に対して、ダウンロード要求を送信してもよい。最も所要通信時間が少ない端末装置を選択して更新ソフトウェアを取得することによって、所望の更新ソフトウェアを早くダウンロードすることができる。すなわち、更新ソフトウェアを新規参加端末装置２Ｘに対して、最も短い時間で転送できる端末装置２が選択される。
【０３４３】
（８）ダウンロード要求を受信した端末装置２は、新規参加端末装置２Ｘに対してコンテンツの視聴に必要な更新ソフトウェアの送信を行う。
【０３４４】
新規参加端末装置２Ｘは、受信した更新ソフトウェアを第２記憶部２０３に記憶して、コンテンツデータを再生可能な状態に設定して、ソフトウェアのインストール処理を終了する。
【０３４５】
図１４に、コンテンツの視聴に必要な更新ソフトウェアを複数の端末装置２からダウンロードしてインストールするまでの処理の順序を示す。
【０３４６】
（７ａ）、（７ｂ）、（８ａ）及び（８ｂ）新規参加端末装置２Ｘが所定の時間内に、複数の端末装置２から肯定応答を受信した場合には、複数の端末装置２に対して、それぞれ更新ソフトウェアの一部を送信させるためのダウンロード要求を送信して、それぞれ更新ソフトウェアの一部を受信し、受信したそれぞれの更新ソフトウェアの一部を繋ぎ合わせて、更新ソフトウェアをインストールしても良い。複数の端末装置２から分割して更新ソフトウェアをダウンロードすることによって、トラフィックの混雑を分散させた状態で更新ソフトウェアを取得することができる。また、新規参加端末装置２Ｘは、短時間で更新ソフトウェアを取得してコンテンツの再生を行うことができる。
【０３４７】
図１５に、ソフトウェア更新要求を、階層構造を構成する下流の端末装置２から上流の端末装置２に対して送信する処理を示す。
【０３４８】
（１）新規参加端末装置２Ｘが、利用者からライセンス証の購入を要求する旨の情報を入力すると、新規参加端末装置２Ｘはライセンス証発行サーバ６へ接続して、ライセンス証の発行を依頼する。
【０３４９】
ライセンス証発行サーバ６では、新規参加端末装置２Ｘから利用者のクレジットカードの番号及びなどを入力して確定ボタンを押すことで決済処理を行い、ライセンス証発行サーバ６はライセンス情報を新規参加端末装置２Ｘに対して送信することによりライセンス証の発行を行う。
【０３５０】
（２）ライセンス証発行サーバ６では、ライセンス証の発行に際して必要な処理を行った後に、所定のチャンネルのコンテンツの視聴を許可するライセンス情報を新規参加端末に対して送信する。
【０３５１】
（３）新規参加端末装置２Ｘで所定のチャンネルの視聴の要望がユーザによって入力されると、新規参加端末装置２Ｘは、特定のチャンネルの視聴を要求する情報とその要求元の所在地を表す要求元所在情報とを含む参加要求を管理サーバ３に送信する。
【０３５２】
（４）管理サーバ３が、新規参加端末装置２Ｘから参加要求を受信すると、トポロジーデータベース３１８から中継可能な端末装置２のノードを１乃至複数選択して、その所在情報とソフトウェア識別情報を新規参加端末装置２Ｘへ送信する。
【０３５３】
なお、管理サーバ３が新規参加端末装置２Ｘから特定のチャンネルの視聴の要求元が送信したライセンス情報を受信し、受信したライセンス情報が正規のライセンス情報であると認証した場合に、新規参加端末装置２Ｘの所在地に送信要求を送信するように構成してもよい。
【０３５４】
（５ａ）、（５ｂ）新規参加端末装置２Ｘが、管理サーバ３からソフトウェア識別情報と端末装置２の所在情報を受信すると、受信した識別情報のソフトウェアを新規参加端末装置２Ｘが保有しているか否かを検査する。必要なソフトウェアを保有していないと判断した場合には、管理サーバ３から知らされた１乃至複数の端末装置２に対して、上記送信要求メッセージを送信する。
【０３５５】
（６ａ）、（６ｂ）送信要求メッセージを受信した端末装置２は、上流又は下流に存在する他の端末装置２に対して、この送信要求メッセージを送信する。このとき、端末装置２が送信要求を中継する回数に制限を設けておき、所定の制限回数に達するまで送信要求メッセージを中継するようにしても良い。また、端末装置２が送信要求を中継する際の有効期間を定めておき、その有効期間に到達するまでソフトウェア更新要求を中継するようにしてもよい。
【０３５６】
送信要求メッセージを受信した各端末装置２は、送信要求メッセージに対応するソフトウェア（更新ソフトウェア）が記憶されているか否かを判断する。更新ソフトウェアが記憶されていると判断した場合、及び更新ソフトウェアを送信するにあたってのトラフィック及び処理に余裕があると判断した場合には、新規参加端末装置２Ｘに対して、更新ソフトウェアを送信することが可能な状態にあることを表す肯定の応答及び肯定元所在情報を含む肯定応答を送信する。
【０３５７】
このようにして、新規参加端末装置２Ｘが送信した送信要求メッセージを端末装置２が処理することによって、放送局端末１やライブラリサーバ５が新規参加端末装置２Ｘに更新ソフトウェアを直接に送信する必要がない。加えて、比較的トラフィックに余裕のある他の端末装置２が新規参加端末装置２Ｘに対して更新ソフトウェアを送信することができる。
【０３５８】
したがって、更新ソフトウェアのダウンロード等に起因するネットワーク負荷の集中による不具合を避けることができる。
【０３５９】
図１６に、新規参加端末装置２Ｘがダウンロード要求を送信する処理を示す。図１６では、新規参加端末装置２Ｘが管理サーバ３から複数の中継可能な１乃至複数の端末装置２のノードの紹介を受け、更に新規参加端末装置２Ｘが送信した送信要求メッセージに応答して肯定応答を受信した場合に、新規参加端末装置２Ｘは、ダウンロード要求を送信する。
【０３６０】
（１）新規参加端末装置２Ｘにて所定のチャンネルを視聴するためのソフトウェアの更新要求が発生すると、新規参加端末装置２Ｘは、特定のチャンネルの視聴を要求する情報と、その要求元の所在地を表す要求元所在情報とを含む参加要求を管理サーバ３に送信する。
【０３６１】
（２）管理サーバ３が、新規参加端末装置２Ｘから参加要求を受信すると、トポロジーデータベース３１８から中継可能な端末装置２のノードを１乃至複数選択して、その所在情報とソフトウェア識別情報を新規参加端末装置２Ｘへ送信する。図１６では、管理サーバ３が２ｂ２、２ｂ３、２ｂ４、２ｃ３及び２ｃ４の端末装置２を、新規参加端末装置２Ｘに対して紹介した例が示されている。勿論、例示であり、これに限られない。
【０３６２】
（３）新規参加端末装置２Ｘが、管理サーバ３からソフトウェア識別情報と配信装置所在情報を受信すると、受信したソフトウェア識別情報に合致するソフトウェアを保有しているか否かを判断する。このソフトウェアを保有していないと判断した場合には、放送局端末１に対して、送信要求メッセージを送信する。
【０３６３】
（４ａ）、（４ｂ）、（４ｃ）送信要求メッセージを受信した端末装置２は、下流に存在する端末装置２に対して、この送信要求メッセージを送信する。受信したソフトウェア識別情報に合致するソフトウェア（更新ソフトウェア）が自己の端末装置２に記憶されているか否かを判断し、更新ソフトウェアが記憶されていると判断した場合、及び更新ソフトウェアを送信するにあたってのトラフィック及び処理に余裕があると判断した場合には、新規参加端末装置２Ｘに対して、ソフトウェアを送信することが可能な状態にあることを表す肯定の応答及び肯定元所在情報を含む肯定応答を送信する。図１６では、上流の端末装置２から送信要求を受信した複数の端末装置２のうち、端末装置２ｂ２、２ｂ３及び２ｂ４が肯定応答を新規参加端末装置２Ｘに対して送信している。
【０３６４】
（５）新規参加端末装置２Ｘは、肯定応答を受信した端末装置２ｂ２、２ｂ３及び２ｂ４と、管理サーバ３から接続を紹介された端末装置２ｂ２、２ｂ３、２ｂ４、２ｃ３及び２ｃ４とで共通する端末装置２ｂ３を、更新ソフトウェアの受信元として選択して、端末装置２ｂ３に対して送信開始要求を送信するとともに、セッションの開設要求を送信して論理接続を行う。
【０３６５】
新規参加端末装置２Ｘは、端末装置２からコンテンツの視聴に必要な更新ソフトウェアを受信して記憶し、ソフトウェアのインストール処理又はバージョンアップ処理を行う。
【０３６６】
このように、肯定応答を受信した端末装置２と、管理サーバ３から接続を紹介された端末装置２とで共通する端末装置２を選択して更新ソフトウェアをインストールするとともに、コンテンツ配信システムに論理接続してコンテンツデータを受信して再生することができる。
【０３６７】
なお、本発明における各構成要件は、その一部もしくは全部がハードウェアで構成されても良く、一部もしくは全部がソフトウェアで構成されても良い。
【０３６８】
また、本発明を実行するコンピュータプログラムとして、配布、流通されても良い。また、このコンピュータプログラムが記憶された記憶媒体として配布、流通されても良い。
【０３６９】
なお、従来の技術におけるコンテンツ配信システムでは、配信装置が、配信装置の下流に接続されている端末装置に対してコンテンツ配信を行っている場合には、コンテンツ配信による情報量の多さにより、通信負荷の増大に拍車がかかる。このような状況下では、新規な端末装置がソフトウェア配信の要求を行うと、配信装置の負荷が増大すると共に、ネットワークの負荷が増大する問題があった。このような従来技術における問題も、本発明のコンテンツ配信システムにより解決される。
【０３７０】
また、本発明のコンテンツ配信システムは、コンテンツ配信を行う配信装置の処理負荷の増大を防止し、ネットワークの負荷の集中を防止しつつ、新規参加端末装置に対して、コンテンツ再生に必要なソフトウェアの配信やバージョンアップソフトウェアの配信を行うことが可能である。本発明のコンテンツ配信システムの情報処理方法および端末装置も同様である。
【０３７１】
なお、ソフトウェア情報通知手段は、新規参加端末装置２Ｘからソフトウェア更新要求を受信した場合に、配信装置の所在情報を取り出し、配信装置の所在情報を宛先として、ソフトウェア更新要求を配信装置に転送するソフトウェア更新要求転送機能を含ませるようにしてもよい。このソフトウェア更新要求転送機能は、新規参加端末装置２Ｘからのソフトウェア更新要求などに関する転送などの処理を行う。すなわち、ソフトウェア情報通知手段は、ソフトウェア更新要求転送機能により、新規参加端末装置２Ｘからソフトウェア更新要求を受信した場合に、配信装置の所在情報を宛先として、ソフトウェア更新要求を配信装置に対して転送する。
【産業上の利用可能性】
【０３７２】
本発明は、階層構造で接続されている複数の端末装置に対するコンテンツ配信を行うシステムなどにおいて好適に利用できる。
【図面の簡単な説明】
【０３７３】
【図１】本発明の実施の形態に係るコンテンツ配信システムとその周辺を含むブロック図
【図２】本発明の実施の形態におけるバッファの構成図
【図３】本発明の実施の形態における放送局端末１のブロック図
【図４】本発明の実施の形態における放送局端末の制御手段が実行する全体処理のフローチャート
【図５】本発明の実施の形態における端末装置のブロック図
【図６】本発明の実施の形態における端末装置の制御手段が行う処理を示すフローチャート
【図７】本発明の実施の形態における端末装置の制御手段が行う処理を示すフローチャート
【図８】本発明の実施の形態における管理サーバのブロック図
【図９】本発明の実施の形態における管理サーバの制御手段の処理を示すフローチャート
【図１０】本発明の実施の形態におけるライブラリサーバのブロック図
【図１１】本発明の実施の形態におけるライブラリサーバの制御手段の処理を示すフローチャート
【図１２】本発明の実施の形態におけるコンテンツ配信システムを示す説明図
【図１３】本発明の実施の形態におけるコンテンツ配信システムを示す説明図
【図１４】本発明の実施の形態におけるコンテンツ配信システムを示す説明図
【図１５】本発明の実施の形態におけるコンテンツ配信システムを示す説明図
【図１６】本発明の実施の形態におけるコンテンツ配信システムを示す説明図
【符号の説明】
【０３７４】
１    放送局端末
２    端末装置
２Ｘ    新規参加端末装置
３    管理サーバ
４    インターネット
５    ライブラリサーバ
６    ライセンス証発行サーバ
【図１】
0004696972.tif 000002
【図２】
0004696972.tif 000003
【図３】
0004696972.tif 000004
【図４】
0004696972.tif 000005
【図５】
0004696972.tif 000006
【図６】
0004696972.tif 000007
【図７】
0004696972.tif 000008
【図８】
0004696972.tif 000009
【図９】
0004696972.tif 000010
【図１０】
0004696972.tif 000011
【図１１】
0004696972.tif 000012
【図１２】
0004696972.tif 000013
【図１３】
0004696972.tif 000014
【図１４】
0004696972.tif 000015
【図１５】
0004696972.tif 000016
【図１６】
0004696972.tif 000017