(57)【特許請求の範囲】
【請求項１】
ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって、
通信に関する制御を行う通信制御手段と、
前記通信制御手段とは独立して設けられており、コンテンツデータを出力させる制御を行う出力制御手段と、を有し、
前記通信制御手段は、
他の前記端末装置から配信されるコンテンツデータを受信する配信コンテンツ受信手段と、
前記複数の端末装置のうち一部の端末装置の識別情報と位置情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、
前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報を前記ルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送するメッセージ転送手段と、
前記出力制御手段が有する状態設定手段が設定した状態を判断する設定状態判断手段と、
前記通信制御手段に電源を供給する通信制御手段用電源と、
前記コンテンツデータを蓄積するコンテンツデータ蓄積手段と、
前記コンテンツデータ蓄積手段に前記コンテンツデータが蓄積されると、前記ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、前記設定状態判断手段によって判断した状態が前記通信制御手段に対してコンテンツデータを要求する可能性がある第１状態であるかコンテンツデータを決して要求しない第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する配信元情報通知手段と、を有し、
前記出力制御手段は、
前記出力制御手段の状態を、前記第１状態と、前記第２状態とのいずれかに設定する前記状態設定手段と、
前記第１状態において、前記通信制御手段によって供給されたコンテンツデータを受信する供給コンテンツデータ受信手段と、
前記供給コンテンツデータ受信手段によって受信されたコンテンツデータを出力させる制御を行うコンテンツ出力制御手段と、
前記通信制御手段用電源と独立しており、前記出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源と、
を有し、
前記通信制御手段の前記設定状態判断手段は、前記出力制御手段用電源がオン状態のとき前記第１状態であると判断し、前記出力制御手段用電源がオフ状態のとき前記第２状態であると判断する端末装置。
【請求項２】
前記通信制御手段は、
前記ネットワーク上に配置され、コンテンツデータを保持する他の前記端末装置から、この端末装置の位置情報と、この端末装置が前記第１状態であるか前記第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を受信する第１コンテンツデータ配信元情報受信手段と、
前記第１コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報を記憶するコンテンツデータ配信元情報記憶手段と、
前記ネットワーク上に配置された他の前記端末装置から、コンテンツデータ配信元情報の送信要求を受けると、前記コンテンツデータ配信元情報記憶手段からコンテンツデータ配信元情報のうち少なくともコンテンツを保持する前記他の端末装置の位置情報及び状態を取り出して、前記コンテンツデータ配信元情報を要求した前記端末装置へ返信するコンテンツデータ配信元情報返信手段と、を有することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記通信制御手段は、
前記ネットワーク上に配置された所定の端末装置から、コンテンツデータを保持する他の前記端末装置の位置情報と、この他の端末装置の状態が前記第１状態であるか前記第２状態であるかを示す情報と、を含むコンテンツデータ配信元情報を受信する第２コンテンツデータ配信元情報受信手段と、
前記第２コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報に、同一コンテンツデータを保持する２以上の端末装置があると判定したとき、前記第２状態の前記端末装置を優先して選択するコンテンツ配信端末装置選択手段と、前記コンテンツ配信端末装置選択手段により選択した端末装置に対してコンテンツデータの配信を要求するコンテンツ配信要求手段と、
を有することを特徴とする請求項２に記載の端末装置。
【請求項４】
前記通信制御手段は、
前記ネットワーク上に配置され、コンテンツデータを保持する他の前記端末装置から、この端末装置の位置情報と、この端末装置が前記第１状態であるか前記第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を受信する第１コンテンツデータ配信元情報受信手段と、
前記第１コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報を記憶するコンテンツデータ配信元情報記憶手段と、
前記ネットワーク上に配置された他の前記端末装置から、コンテンツデータ配信元情報の送信要求を受けると、前記コンテンツデータ配信元情報記憶手段に前記第２状態のコンテンツデータ配信元情報が記憶されている場合には、前記第２状態の前記端末装置を優先して選択して、選択した前記コンテンツデータ配信元情報を要求した前記端末装置へ返信するコンテンツデータ配信元情報返信手段と、を有することを特徴とする請求項１に記載の端末装置。
【請求項５】
前記出力制御手段は、
前記通信制御手段によって受信されたコンテンツデータを出力する第１のコンテンツデータ出力モードと、前記通信制御手段によって受信されたコンテンツデータ以外のコンテンツデータを出力する第２のコンテンツデータ出力モードとのいずれかにモードを設定するモード設定手段を有し、
前記通信制御手段の前記設定状態判断手段は、
前記モード設定手段によって設定されたモードとして前記第１のコンテンツデータ出力モードが設定されている場合に前記第１状態であると判断し、前記第２のコンテンツデータ出力モードが設定されている場合に前記第２状態であると判断することを特徴とする請求項１〜４のいずれか１項に記載の端末装置。
【請求項６】
前記出力制御手段は、
ユーザによる操作を検知する操作検知手段と、
前記第１のコンテンツデータ出力モードに関する操作が前記操作検知手段により検知された場合には、当該操作に対応する第１操作情報を前記通信制御手段に送信する第１操作情報送信手段と、
前記第２のコンテンツデータ出力モードに関する操作が前記操作検知手段により検知された場合には、当該操作に対応する第２操作情報を前記通信制御手段に送信する第２操作情報送信手段と、
前記第２のコンテンツデータ出力モードに関する操作が前記操作検知手段により検知された場合には、当該操作に対応する処理を行う操作処理手段と、を有し、
前記通信制御手段は、
前記第１操作情報送信手段によって送信された第１操作情報に応じて他の前記端末装置と所定の通信を行う第１操作制御手段を有し、
前記設定状態判断手段は、前記第２操作情報送信手段によって送信された第２操作情報に応じて前記第２状態であると判断する
ことを特徴とする請求項５に記載の端末装置。
【請求項７】
前記配信コンテンツ受信手段によって受信されるコンテンツデータを選択する操作を前記操作検知手段が検知した場合には、前記第１操作情報送信手段は、コンテンツデータ選択情報を前記通信制御手段に送信し、
前記通信制御手段の前記第１操作制御手段は、コンテンツデータ選択情報に応じて選択されたコンテンツデータの識別情報と前記ルーティングテーブルに記憶された端末装置の識別情報とから所定の条件となる前記端末装置を決定し、決定された前記端末装置に対して、選択された前記コンテンツデータの配信を要求するためのコンテンツデータ問い合わせ情報を送信することを特徴とする請求項６に記載の端末装置。
【請求項８】
前記通信制御手段は、無線で前記出力制御手段と接続されたことを特徴とする請求項１〜７のいずれか１項に記載の端末装置。
【請求項９】
前記通信制御手段と前記出力制御手段とは別体の筐体に収容されたことを特徴とする請求項１〜８のいずれか１項に記載の端末装置。
【請求項１０】
前記通信制御手段としての通信制御回路と、前記出力制御手段としての出力制御回路とを有することを特徴とする請求項１〜９のいずれか１項に記載の端末装置。
【請求項１１】
コンピュータを、請求項１〜９のいずれか１項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項１０に記載の端末装置における前記通信制御回路および前記出力制御回路の各手段として機能させるためのプログラム。
【請求項１３】
ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムであって、
前記端末装置は、
通信に関する制御を行う通信制御手段と、
前記通信制御手段とは独立して設けられており、コンテンツデータを出力させる制御を行う出力制御手段と、を有し、
前記通信制御手段は、
他の前記端末装置から配信されるコンテンツデータを受信する配信コンテンツ受信手段と、
前記複数の端末装置のうち一部の端末装置の識別情報と位置情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、
前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが自端末装置宛
ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報を前記ルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送するメッセージ転送手段と、
前記出力制御手段が有する状態設定手段が設定した状態を判断する設定状態判断手段と、
前記通信制御手段に電源を供給する通信制御手段用電源と、
前記コンテンツデータを蓄積するコンテンツデータ蓄積手段と、
前記コンテンツデータ蓄積手段に前記コンテンツデータが蓄積されると、前記ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、前記設定状態判断手段によって判断した状態が前記通信制御手段に対してコンテンツデータを要求する可能性がある第１状態であるかコンテンツデータを決して要求しない第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する配信元情報通知手段と、を有し、
前記出力制御手段は、
前記出力制御手段の状態を、前記第１状態と、前記第２状態とのいずれかに設定する前記状態設定手段と、
前記第１状態において、前記通信制御手段によって供給されたコンテンツデータを受信する供給コンテンツデータ受信手段と、
前記供給コンテンツデータ受信手段によって受信されたコンテンツデータを出力させる制御を行うコンテンツ出力制御手段と、
前記通信制御手段用電源と独立しており、前記出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源と、
を有し、
前記通信制御手段の前記設定状態判断手段は、前記出力制御手段用電源がオン状態のとき前記第１状態であると判断し、前記出力制御手段用電源がオフ状態のとき前記第２状態であると判断するコンテンツ配信システム。
【請求項１４】
ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であって、
前記端末装置は、
通信に関する制御を行う通信制御手段と、
前記通信制御手段に電源を供給する通信制御手段用電源と、
前記通信制御手段とは独立して設けられており、コンテンツデータを出力させる制御を行う出力制御手段と、
前記通信制御手段用電源と独立しており、前記出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源と、を有し、
前記通信制御手段により、
他の前記端末装置から配信されるコンテンツデータを受信する配信コンテンツ受信ステップと、
前記複数の端末装置のうち一部の端末装置の識別情報と位置情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶ステップと、
前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定ステップと、
前記メッセージ宛先判定ステップにより前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報を前記ルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送するメッセージ転送ステップと、
前記出力制御手段が実行する状態設定ステップにより設定した状態を判断する設定状態判断ステップと、
前記コンテンツデータを蓄積するコンテンツデータ蓄積ステップと、
前記コンテンツデータ蓄積ステップにおいて前記コンテンツデータが蓄積されると、前記ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、前記設定状態判断ステップによって判断した状態が前記通信制御手段に対してコンテンツデータを要求する可能性がある第１状態であるかコンテンツデータを決して要求しない第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する配信元情報通知ステップと、を実行し、
前記出力制御手段により、
前記出力制御手段の状態を、前記第１状態と、前記第２状態とのいずれかに設定する前記状態設定ステップと、
前記第１状態において、前記通信制御手段によって供給されたコンテンツデータを受信する供給コンテンツデータ受信ステップと、
前記供給コンテンツデータ受信ステップによって受信されたコンテンツデータを出力させる制御を行うコンテンツ出力制御ステップと、
を実行し、
前記設定状態判断ステップにより、前記出力制御手段用電源がオン状態のとき前記第１状態であると判断し、前記出力制御手段用電源がオフ状態のとき前記第２状態であると判断する端末装置の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラムの技術分野に属し、より詳細には、ネットワーク上に分散配置された複数の端末装置から構成され、この端末装置間でコンテンツデータの送受信を行うコンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラムの技術分野に属する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツデータ（以下、「コンテンツ」ともいう。）を配信する、いわゆるコンテンツ配信システムの研究が盛んである。
【０００３】
従来の上記コンテンツ配信システムの基本的構成として、サーバ−クライアント型の配信システムがある。このサーバ−クライアント型の配信システムは、コンテンツを蓄積するサーバにクライアントである端末装置からアクセスし、コンテンツの配信を受ける構成である。
【０００４】
ところが、この種の配信システムでは、特定の人気コンテンツを有するサーバ装置に端末装置からのアクセスが集中し、コンテンツの配信を希望する複数のユーザの端末装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが困難になるという不都合がある。
【０００５】
そこで、分散ハッシュテーブル（ＤＨＴ（Distributed Hash Table））を利用して論理的にオーバーレイネットワークを構築することにより、情報を効率的に分散配置して負荷分散を図る技術が提案されている。
【０００６】
このシステムにおいては、各端末装置（以下、「ノード装置」ともいう。）が、当該オーバーレイネットワークに参加している全ての端末装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部の端末装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
【０００７】
このオーバーレイネットワークにおいては、端末装置の参加及び脱退（離脱）が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献１には、オーバーレイネットワークにおいて、参加及び脱退（離脱）が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
【非特許文献１】「分散ハッシュテーブルの軽量な負荷分散手法の検討」  社団法人  電子情報通信学会  信学技報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
非特許文献１の技術を、コンテンツ配信システムに用いた、ピアツーピア型のコンテンツ配信システムにおいては、各端末装置がコンテンツデータを保持するコンテンツ配信サーバとなり、また、各端末装置がコンテンツ配信要求クライアントにもなる。
【０００９】
また、このようなコンテンツ配信システムにおいて、コンテンツ配信サーバである端末装置がコンテンツデータを保持しているだけでなく、ネットワーク上の他の端末装置もコンテンツデータの複製を保持しているものが知られている。以下、コンテンツデータの複製を保持している端末装置をコンテンツ保持ノードともいう。コンテンツ配信要求クライアントである端末装置は、要求するコンテンツをこのようなコンテンツ保持ノードから入手することもできる。したがって、あるコンテンツに対する配信要求が増加した場合に、コンテンツ配信サーバであるノード装置だけでなく、その複製を保持しているコンテンツ保持ノードからもコンテンツを配信できるため、コンテンツ配信サーバである端末装置へのアクセスの集中を回避できるものである。
【００１０】
上述のようにピアツーピア型のコンテンツ配信システムにおいては、特定の人気コンテンツを有するノード装置の他に、当該コンテンツの複製を保持しているコンテンツ保持ノードを配置することにより、上述のようにコンテンツ配信サーバであるノード装置へのアクセスの集中を回避している。
【００１１】
しかしながら、オーバーレイネットワークを構成する端末装置の参加及び脱退が頻繁に行われると、コンテンツ配信システムの安定性が低下する。たとえば、コンテンツ保持ノードの参加及び脱退が頻繁に行われると、コンテンツ保持ノードの配置が不十分となる状態が発生し、従来のサーバ−クライアント型のコンテンツ配信システムと同様の不都合が想定される。すなわち、コンテンツの配信を希望する複数のユーザのノード装置において、コンテンツの配信までの時間がかかったり、エラーが発生することにより、コンテンツの品質が低下する可能性が高くなる。そのため、ユーザはコンテンツをストレスなく高品質に入手して視聴することが困難になる。
【００１２】
本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に分散配置された複数の端末装置を有するＰ２Ｐ型のコンテンツ配信システムにおいて、端末装置の参加及び脱退を抑制することにより、安定性を向上させたコンテンツ配信システム及び方法等を提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、請求項１に記載の発明は、ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって、通信に関する制御を行う通信制御手段と、前記通信制御手段とは独立して設けられており、コンテンツデータを出力させる制御を行う出力制御手段と、を有し、前記通信制御手段は、他の前記端末装置から配信されるコンテンツデータを受信する配信コンテンツ受信手段と、前記複数の端末装置のうち一部の端末装置の識別情報と位置情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報を前記ルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送するメッセージ転送手段と、前記出力制御手段が有する状態設定手段が設定した状態を判断する設定状態判断手段と、前記通信制御手段に電源を供給する通信制御手段用電源と、前記コンテンツデータを蓄積するコンテンツデータ蓄積手段と、前記コンテンツデータ蓄積手段に前記コンテンツデータが蓄積されると、前記ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、前記設定状態判断手段によって判断した状態が前記通信制御手段に対してコンテンツデータを要求する可能性がある第１状態であるかコンテンツデータを決して要求しない第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する配信元情報通知手段と、を有し、前記出力制御手段は、前記出力制御手段の状態を、前記第１状態と、前記第２状態とのいずれかに設定する前記状態設定手段と、前記第１状態において、前記通信制御手段によって供給されたコンテンツデータを受信する供給コンテンツデータ受信手段と、前記供給コンテンツデータ受信手段によって受信されたコンテンツデータを出力させる制御を行うコンテンツ出力制御手段と、前記通信制御手段用電源と独立しており、前記出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源と、を有し、前記通信制御手段の前記設定状態判断手段は、前記出力制御手段用電源がオン状態のとき前記第１状態であると判断し、前記出力制御手段用電源がオフ状態のとき前記第２状態であると判断することを特徴とする。
【００１８】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記通信制御手段は、前記ネットワーク上に配置され、コンテンツデータを保持する他の前記端末装置から、この端末装置の位置情報と、この端末装置が前記第１状態であるか前記第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を受信する第１コンテンツデータ配信元情報受信手段と、前記第１コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報を記憶するコンテンツデータ配信元情報記憶手段と、前記ネットワーク上に配置された他の前記端末装置から、コンテンツデータ配信元情報の送信要求を受けると、前記コンテンツデータ配信元情報記憶手段からコンテンツデータ配信元情報を取り出して、前記コンテンツデータ配信元情報を要求した前記端末装置へ返信するコンテンツデータ配信元情報返信手段とを有することを特徴とする。
【００１９】
また、請求項３に記載の発明は、請求項２に記載の発明において、前記通信制御手段は、前記ネットワーク上に配置された所定の端末装置から、コンテンツデータを保持する他の前記端末装置の位置情報と、この他の端末装置の状態が前記第１状態であるか前記第２状態であるかを示す情報と、前記コンテンツデータの情報と、を含むコンテンツデータ配信元情報を受信する第２コンテンツデータ配信元情報受信手段と、前記第２コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報に、同一コンテンツデータを保持する２以上の端末装置があると判定したとき、前記第２状態の前記端末装置を優先して選択するコンテンツ配信端末装置選択手段と、前記コンテンツ配信端末装置選択手段により選択した端末装置に対してコンテンツデータの配信を要求するコンテンツ配信要求手段とを有することを特徴とする。
【００２０】
また、請求項４に記載の発明は、請求項１に記載の発明において、前記通信制御手段は、前記ネットワーク上に配置され、コンテンツデータを保持する他の前記端末装置から、この端末装置の位置情報と、この端末装置が前記第１状態であるか前記第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を受信する第１コンテンツデータ配信元情報受信手段と、前記第１コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報を記憶するコンテンツデータ配信元情報記憶手段と、前記ネットワーク上に配置された他の前記端末装置から、コンテンツデータ配信元情報の送信要求を受けると、前記コンテンツデータ配信元情報記憶手段に前記第２状態のコンテンツデータ配信元情報が記憶されている場合には、前記第２状態の前記端末装置を優先して選択して、選択した前記コンテンツデータ配信元情報を要求した前記端末装置へ返信するコンテンツデータ配信元情報返信手段とを有することを特徴とする。
【００２１】
また、請求項５に記載の発明は、請求項１〜４のいずれか１項に記載の発明において、前記出力制御手段は、前記通信制御手段によって受信されたコンテンツデータを出力する第１のコンテンツデータ出力モードと、前記通信制御手段によって受信されたコンテンツデータ以外のコンテンツデータを出力する第２のコンテンツデータ出力モードとのいずれかにモードを設定するモード設定手段を有し、前記通信制御手段の前記設定状態判断手段は、前記モード設定手段によって設定されたモードとして前記第１のコンテンツデータ出力モードが設定されている場合に前記第１状態であると判断し、前記第２のコンテンツデータ出力モードが設定されている場合に前記第２状態であると判断することを特徴とする。
【００２２】
また、請求項６に記載の発明は、請求項５に記載の発明において、前記出力制御手段は、ユーザによる操作を検知する操作検知手段と、前記第１のコンテンツデータ出力モードに関する操作が前記操作検知手段により検知された場合には、当該操作に対応する第１操作情報を前記通信制御手段に送信する第１操作情報送信手段と、前記第２のコンテンツデータ出力モードに関する操作が前記操作検知手段により検知された場合には、当該操作に対応する第２操作情報を前記通信制御手段に送信する第２操作情報送信手段と、前記第２のコンテンツデータ出力モードに関する操作が前記操作検知手段により検知された場合には、当該操作に対応する処理を行う操作処理手段と、を有し、前記通信制御手段は、前記第１操作情報送信手段によって送信された第１操作情報に応じて他の前記端末装置と所定の通信を行う第１操作制御手段を有し、前記設定状態判断手段は、前記第２操作情報送信手段によって送信された第２操作情報に応じて前記第２状態であると判断することを特徴とする。
【００２３】
また、請求項７に記載の発明は、請求項６に記載の発明において、前記配信コンテンツ受信手段によって受信されるコンテンツデータを選択する操作を前記操作検知手段が検知した場合には、前記第１操作情報送信手段は、コンテンツデータ選択情報を前記通信制御手段に送信し、前記通信制御手段の前記第１操作制御手段は、コンテンツデータ選択情報に応じて選択されたコンテンツデータの識別情報と前記ルーティングテーブルに記憶された端末装置の識別情報とから所定の条件となる前記端末装置を決定し、決定された前記端末装置に対して、選択された前記コンテンツデータの配信を要求するためのコンテンツデータ問い合わせ情報を送信することを特徴とする。
【００２４】
また、請求項８に記載の発明は、請求項１〜７のいずれか１項に記載の発明において、前記通信制御手段は、無線で前記出力制御手段と接続されたことを特徴とする。
【００２５】
また、請求項９に記載の発明は、請求項１〜８のいずれか１項に記載の発明において、前記通信制御手段と前記出力制御手段とは別体の筐体に収容されたことを特徴とする。
【００２６】
また、請求項１０に記載の発明は、請求項１〜９のいずれか1項に記載の発明において、前記通信制御手段としての通信制御回路と、前記出力制御手段としての出力制御回路とを有することを特徴とする。
【００２７】
また、請求項１１に記載の発明は、コンピュータを、請求項１〜９のいずれか１項に記載の端末装置における各手段として機能させるためのプログラムであることを特徴とする。
【００２８】
また、請求項１２に記載の発明は、コンピュータを、請求項１０に記載の端末装置における前記通信制御回路および前記出力制御回路の各手段として機能させるためのプログラムであることを特徴とする。
【００３０】
また、請求項１３に記載の発明は、ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムであって、前記端末装置は、通信に関する制御を行う通信制御手段と、前記通信制御手段とは独立して設けられており、コンテンツデータを出力させる制御を行う出力制御手段と、を有し、前記通信制御手段は、他の前記端末装置から配信されるコンテンツデータを受信する配信コンテンツ受信手段と、前記複数の端末装置のうち一部の端末装置の識別情報と位置情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報を前記ルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送するメッセージ転送手段と、前記出力制御手段が有する状態設定手段が設定した状態を判断する設定状態判断手段と、前記通信制御手段に電源を供給する通信制御手段用電源と、前記コンテンツデータを蓄積するコンテンツデータ蓄積手段と、前記コンテンツデータ蓄積手段に前記コンテンツデータが蓄積されると、前記ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、前記設定状態判断手段によって判断した状態が前記通信制御手段に対してコンテンツデータを要求する可能性がある第１状態であるかコンテンツデータを決して要求しない第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する配信元情報通知手段と、を有し、前記出力制御手段は、前記出力制御手段の状態を、前記第１状態と、前記第２状態とのいずれかに設定する前記状態設定手段と、前記第１状態において、前記通信制御手段によって供給されたコンテンツデータを受信する供給コンテンツデータ受信手段と、前記供給コンテンツデータ受信手段によって受信されたコンテンツデータを出力させる制御を行うコンテンツ出力制御手段と、前記通信制御手段用電源と独立しており、前記出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源と、を有し、前記通信制御手段の前記設定状態判断手段は、前記出力制御手段用電源がオン状態のとき前記第１状態であると判断し、前記出力制御手段用電源がオフ状態のとき前記第２状態であると判断することを特徴とする。
【００３１】
また、請求項１４に記載の発明は、ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であって、前記端末装置は、通信に関する制御を行う通信制御手段と、前記通信制御手段に電源を供給する通信制御手段用電源と、前記通信制御手段とは独立して設けられており、コンテンツデータを出力させる制御を行う出力制御手段と、前記通信制御手段用電源と独立しており、前記出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源と、を有し、前記通信制御手段により、他の前記端末装置から配信されるコンテンツデータを受信する配信コンテンツ受信ステップと、前記複数の端末装置のうち一部の端末装置の識別情報と位置情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶ステップと、前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定ステップと、前記メッセージ宛先判定ステップにより前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報を前記ルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送するメッセージ転送ステップと、前記出力制御手段が実行する状態設定ステップにより設定した状態を判断する設定状態判断ステップと、前記コンテンツデータを蓄積するコンテンツデータ蓄積ステップと、前記コンテンツデータ蓄積ステップにおいて前記コンテンツデータが蓄積されると、前記ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、前記設定状態判断ステップによって判断した状態が前記通信制御手段に対してコンテンツデータを要求する可能性がある第１状態であるかコンテンツデータを決して要求しない第２状態であるかを示す情報と、前記コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する配信元情報通知ステップと、を実行し、前記出力制御手段により、前記出力制御手段の状態を、前記第１状態と、前記第２状態とのいずれかに設定する前記状態設定ステップと、前記第１状態において、前記通信制御手段によって供給されたコンテンツデータを受信する供給コンテンツデータ受信ステップと、前記供給コンテンツデータ受信ステップによって受信されたコンテンツデータを出力させる制御を行うコンテンツ出力制御ステップと、を実行し、前記設定状態判断ステップにより、前記出力制御手段用電源がオン状態のとき前記第１状態であると判断し、前記出力制御手段用電源がオフ状態のとき前記第２状態であると判断することを特徴とする。
【発明の効果】
【００３２】
請求項１，１０〜１４に記載の発明によれば、端末装置は、通信制御手段と、その通信制御手段とは独立した出力制御手段とを有する。通信制御手段は、ネットワークを介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置宛であるか否かを判定し、受信したメッセージが自端末装置宛ではないと判定すると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の位置情報をルーティングテーブルから取り出し、この位置情報の端末装置へ前記受信したメッセージを転送する。出力制御手段は、通信制御手段に対してコンテンツデータを要求する可能性がある第１状態と、コンテンツデータを決して要求しない第２状態とのいずれかに設定し、第１状態において、通信制御手段によって供給されたコンテンツデータを受信し、コンテンツデータを出力させる制御を行う。従って、出力制御手段が動作していない状態でも通信制御手段が動作を継続することによりコンテンツ配信システムの安定性を向上させることができる。すなわち、出力制御手段の動作にかかわらず、通信制御手段が継続して動作することになるため、コンテンツ配信システムへ継続して参加することができるようになる。
また、通信制御手段は、出力制御手段が設定した状態（第１状態か第２状態か）を判断するため、通信制御手段は、出力制御手段が設定した状態に応じた制御を行うこともできる。
また、通信制御手段は、通信制御手段に電源を供給する通信制御手段用電源を有し、出力制御手段は、通信制御手段用電源と独立しており、出力制御手段への電源供給状態がオン状態またはオフ状態となる出力制御手段用電源を有する。通信制御手段と出力制御手段とが独立して動作しない端末装置と比べて、通信制御手段における通信制御手段用電源さえオン状態であれば、出力制御手段における出力制御手段用電源をオフ状態としても、コンテンツ配信システムへ継続して参加することができ、コンテンツ配信システムの安定化を図ることができる。しかも、出力制御手段を使用していないときに出力制御手段用電源をオフ状態にすることができるため、コンテンツ配信システムの安定化を図ることができるのに加え、消費電力を低減することができる。また、通信制御手段と出力制御手段とをある程度離れた場所に配設することが可能である。
また、通信制御手段は、出力制御手段用電源がオン状態のとき第１状態であると判断し、出力制御手段用電源がオフ状態のとき第２状態であると判断する。したがって、出力制御手段用電源がオン状態のときには、通信制御手段によって供給されたコンテンツデータを受信し、コンテンツデータを出力させることもできる。
また、通信制御手段は、出力制御手段用電源がオン状態のとき第１状態であると判断し、出力制御手段用電源がオフ状態のとき第２状態であると判断する。したがって、出力制御手段用電源がオン状態のときには、通信制御手段によって供給されたコンテンツデータを受信し、コンテンツデータを出力させることもできる。
また、通信制御手段は、コンテンツデータが蓄積されると、ネットワーク上に配置された所定の端末装置に、自装置の位置情報と、第１状態であるか第２状態であるかを示す情報と、コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を通知する。したがって、通信処理手段がネットワークからのコンテンツデータの受信及び出力制御手段へのコンテンツデータの出力を行っていない内部処理負荷の少ない状態を通知することができることになり、リクエストノードは、このように内部処理負荷の少ない状態のコンテンツ保持ノードを選択することが可能となる。また、第２状態のとき出力制御手段によってコンテンツの出力を行わないため、通信制御手段によってコンテンツデータの受信を行わない。したがって、コンテンツ保持ノードである端末装置がＲＡＤＳＬ（Rate adaptive Asymmetric Digital Subscriber Line）のような変調方式の回線でネットワークと接続されている場合には、下りの回線を使わないことになるから、上り回線のスピードを上げることになり、コンテンツデータの配信を早く行うことができる。
【００３７】
また、請求項２に記載の発明によれば、通信制御手段は、コンテンツデータを保持する他の端末装置から、この端末装置の位置情報と、この端末装置が第１状態であるか第２状態であるかを示す情報と、コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を受信して記憶し、コンテンツデータ配信元情報の送信要求を受けると、このコンテンツデータ配信元情報を返信する。したがって、通信処理手段がネットワークからのコンテンツデータの受信及び出力制御手段へのコンテンツデータの出力を行っていない内部処理負荷の少ない状態のコンテンツ保持ノードを通知することができることになり、リクエストノードは、このように内部処理負荷の少ない状態のコンテンツ保持ノードを選択することが可能となる。また、コンテンツ保持ノードである端末装置がＲＡＤＳＬのような変調方式の回線でネットワークと接続されている場合には、下りの回線を使わないことになるから、上り回線のスピードを上げることになり、コンテンツデータの配信を早く行うことができるコンテンツ保持ノードを通知することができる。
【００３８】
また、請求項３に記載の発明によれば、通信制御手段は、コンテンツデータを保持する他の端末装置の位置情報と、この他の端末装置の状態が第１状態であるか第２状態であるかを示す情報と、コンテンツデータの情報と、を含むコンテンツデータ配信元情報を受信する。そして、このコンテンツデータ配信元情報に、同一コンテンツデータを保持する２以上の端末装置があると判定したとき、第２状態の端末装置を優先して選択し、この端末装置に対してコンテンツデータの配信を要求する。したがって、通信処理手段がネットワークからのコンテンツデータの受信及び出力制御手段へのコンテンツデータの出力を行っていない内部処理負荷の少ない状態のコンテンツ保持ノードを選択してコンテンツデータの配信を受けることができることになる。また、コンテンツ保持ノードである端末装置がＲＡＤＳＬのような変調方式の回線でネットワークと接続されている場合には、下りの回線を使わないことになるから、上り回線のスピードを上げることになり、このようにコンテンツデータを選択することにより、コンテンツデータの配信を早く受けることができる。
【００３９】
また、請求項４に記載の発明によれば、通信制御手段は、コンテンツデータを保持する他の端末装置から、この端末装置の位置情報と、この端末装置が前記第１状態であるか前記第２状態であるかを示す情報と、コンテンツデータに関する情報と、を含むコンテンツデータ配信元情報を受信して記憶し、コンテンツデータ配信元情報記憶手段に第２状態のコンテンツデータ配信元情報があるときには、コンテンツデータ配信元情報の送信要求を受けると、第２状態の前記端末装置を優先して選択して返信する。したがって、通信処理手段がネットワークからのコンテンツデータの受信及び出力制御手段へのコンテンツデータの出力を行っていない内部処理負荷の少ない状態のコンテンツ保持ノードを選択してリクエストノードに通知することができる。また、コンテンツ保持ノードである端末装置がＲＡＤＳＬのような変調方式の回線でネットワークと接続されている場合には、下りの回線を使わないことになるから、上り回線のスピードを上げることになり、このようにコンテンツデータを選択して通知ことにより、リクエストノードにコンテンツデータの配信を早く受けさせることができる。
【００４０】
また、請求項５に記載の発明によれば、出力制御手段は、通信制御手段によって受信されたコンテンツデータを出力する第１のコンテンツデータ出力モードと、通信制御手段によって受信されたコンテンツデータ以外のコンテンツデータを出力する第２のコンテンツデータ出力モードとのいずれかにモードを設定する。通信制御手段は、第１のコンテンツデータ出力モードが設定されている場合に第１状態であると判断し、第２のコンテンツデータ出力モードが設定されている場合に第２状態であると判断する。したがって、出力制御手段用電源がオフ状態のときだけでなく、通信処理手段がネットワークからのコンテンツデータの受信及び出力制御手段へのコンテンツデータの出力を行っていない内部処理負荷の少ない状態を第２の状態とすることができる。
【００４１】
また、請求項６に記載の発明によれば、出力制御手段は、第１のコンテンツデータ出力モードに関する操作がされると第１操作情報を、第２のコンテンツデータ出力モードに関する操作がされると第２操作情報を通信制御手段に送信する。一方、通信制御手段は、第１操作情報に応じて他の前記端末装置と所定の通信を行い、第２操作情報に応じて前記第２状態であると判断する。したがって、通信制御手段は、出力制御手段からの情報に基づいて、第２状態を検出することができるようになる。
【００４２】
また、請求項７に記載の発明によれば、出力制御手段がコンテンツデータ選択情報を通信制御手段に送信し、通信制御手段は、コンテンツデータ選択情報に応じて選択されたコンテンツデータの識別情報とルーティングテーブルに記憶された端末装置の識別情報とから所定の条件となる前記端末装置を決定し、決定された前記端末装置に対して、選択されたコンテンツデータの配信を要求するためのコンテンツデータ問い合わせ情報を送信する。したがって、端末装置のユーザは通信制御手段と独立した出力制御手段を制御することによって、コンテンツデータを選択し、再生することができる。
【００４３】
また、請求項８に記載の発明によれば、通信制御手段は、無線で前記出力制御手段と接続される。したがって、通信制御手段と出力制御手段とをある程度離れた場所に配設することが可能となり、しかも配線作業の煩雑さがない。
【００４４】
また、請求項９に記載の発明によれば、通信制御手段と出力制御手段とは別体の筐体に収容されたことを特徴とする、したがって、通信制御手段と出力制御手段とをある程度離れた場所に配設することが可能となる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとし、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【００４６】
［１．コンテンツ配信システムの構成等］
まず始めに、図１を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。図１は、本実施形態に係るコンテンツ配信システムにおける端末装置である各ノード装置の接続態様の一例を示す図である。このコンテンツ配信システムは、ネットワーク上に分散配置された複数のノード装置から構成され、ノード装置間でコンテンツデータの送受信を行うものである。
【００４７】
図１の下部枠101内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、および通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。なお、ＤＳＬ回線業者の装置には、ＲＡＤＳＬ（Rate
adaptive Asymmetric Digital Subscriber Line）回線の装置も含まれる。
【００４８】
コンテンツ配信システムＳは、図１の上部枠100内に示すように、ネットワーク８を介して相互に接続された本発明の端末装置としての複数のノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成され、ピアツーピア（Ｐ２Ｐ）方式のネットワークシステムとなっている。各ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、ノード装置を示す情報としての固有の製造番号およびＩＰ（Internet Protocol）アドレス（本発明における位置情報）が割り当てられている。なお、製造番号およびＩＰアドレスは、複数のノード装置１間で重複しないものである。なお、以下の説明において、ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置１という場合がある。
【００４９】
［１．１．ＤＨＴの概要］
以下に、本実施形態に係る分散ハッシュテーブル（以下、「ＤＨＴ」（Distributed Hash Table）と呼ぶ。）を利用したアルゴリズムについて説明する。
【００５０】
上述したコンテンツ配信システムＳにおいて、当該ノード装置１同士が、互いに情報をやり取りする際には、お互いのノード情報としてのＩＰアドレスを知っていなければならない。
【００５１】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各ノード装置１が互いにネットワーク８に参加している全てのノード装置１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がＯＮ或いはＯＦＦとすると、各ノード装置１にて記憶している当該任意のノード装置のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００５２】
そこで、１台のノード装置１では、ネットワーク８に参加している全てのノード装置１のうち、必要最低限のノード装置１のＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノード装置１については、各ノード装置１間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
【００５３】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠100内に示すような、オーバーレイネットワーク９が構築されることになる。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００５４】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提としており、このオーバーレイネットワーク９上に配置されたノード装置１を、コンテンツ配信システムＳに参加（言い換えれば、オーバーレイネットワーク９に参加）しているノード装置１という。なお、コンテンツ配信システムＳへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置１に対して参加要求を送ることによって行われる。
【００５５】
コンテンツ配信システムＳに参加している各ノード装置１のノードＩＤ（識別情報）は、それぞれのノード装置１毎にユニーク（固有）な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2＾128＝340×10＾36台のノード装置を運用できる。
【００５６】
より具体的には、各ノード装置１のノードＩＤは、それぞれのノード装置１のＩＰアドレスあるいは製造番号等のノード装置１毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた（ハッシュ化された）ノードＩＤは、当該ＩＰアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値をノードＩＤとする。
【００５７】
また、コンテンツ配信システムＳに参加している複数のノード装置１には、一のノード装置１から他のノード装置1に配信される共用情報としてのコンテンツ（例えば、映画や音楽等）データが分散して保持（格納）されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎にユニーク（固有）な番号（以下、「コンテンツＩＤ」と呼ぶ。）を付与する。
【００５８】
そして、当該コンテンツＩＤは、ノードＩＤと同様の長さ（例えば、128bit等）とし、例えば、コンテンツの名称（コンテンツタイトル）やコンテンツの概要情報（あらすじ）等のキーワードが、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、ノード装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノード装置１が、コンテンツデータを保持するノード装置１（以下、「コンテンツ保持ノード」と呼ぶ。）へのリンク情報（コンテンツ保持ノードのＩＰアドレス）を保持する。このコンテンツ保持ノードは、図示しない投入サーバによって分散されて配置される。これにより、コンテンツデータを偏りなくコンテンツ配信システムＳ上に分散させることが可能となる。なお、異なるコンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、または作詞者名等）の組み合わせとすればよい。
【００５９】
このように、各ノード装置１および各コンテンツデータに付与されたノードＩＤおよびコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitでノードＩＤおよびコンテンツＩＤを付与し、図示したものである。図中黒点はノードＩＤを、黒ひし形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００６０】
次に、どのノード装置１に、どのコンテンツデータが保持されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理するノード装置１は、そのコンテンツＩＤに近いノードＩＤを有するノード装置１である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各ノード装置１に割り振る際に、一貫していればよい。図２に示す例では、この定義に基づいて、コンテンツＩＤａは、当該コンテンツＩＤａに近いノードＩＤ（以下、「ノードＩＤａ」と呼ぶ。）を有するノード装置１に管理され、コンテンツＩＤｂは、当該コンテンツＩＤｂに近いノードＩＤ（以下、「ノードＩＤｂ」と呼ぶ。）を有するノード装置１に管理され、コンテンツＩＤｃは、当該コンテンツＩＤｃに近いノードＩＤ（以下、「ノードＩＤｃ」と呼ぶ。）を有するノード装置１に管理される。
【００６１】
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れのノード装置１に保持されているかを知っている」ことを意味する。すなわち、図２において、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツデータが何れのノード装置１に保持されているかを知っており、ノードＩＤｂを有するノード装置１およびノードＩＤｃを有するノード装置１も同様にそれぞれコンテンツＩＤｂを有するコンテンツデータおよびコンテンツＩＤｃを有するコンテンツデータが何れのノード装置１に保持されているかを知っている、ということになる。このように、あるコンテンツデータが何れのノード装置１に保持されているかを知っているノード装置１を、そのコンテンツデータのルートノードと言う。つまり、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツデータのルートノードであって、ノードＩＤｂを有するノード装置１は、コンテンツＩＤｂを有するコンテンツデータのルートノードであって、ノードＩＤｃを有するノード装置１は、コンテンツＩＤｃを有するコンテンツデータのルートノードである。また、コンテンツデータを保持しているノード装置１をコンテンツ保持ノードという。
【００６２】
［１．２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。図３は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００６３】
まず、図３（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長16Ｂｉｔの４進数で表すことにする。そして、ノード装置１ＮのノードＩＤを「10230210」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
【００６４】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」（Ｘは０から３の自然数、以下同様。）で分けられる。ノード装置１Ｎは、当該ノード装置１Ｎ自身のノードＩＤが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXXXXXX」のエリア）以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤの位置情報、すなわち、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００６５】
（レベル２のルーティング）
次に、図３（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤの位置情報であるＩＰアドレスをレベル２のテーブルに記憶する。図４（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００６６】
（レベル３のルーティング）
さらに、図３（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤの位置情報であるＩＰアドレスをレベル１のテーブルに記憶する。図４（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。
【００６７】
このようにして、レベル４以下レベル８まで同様にルーティングテーブル図４（Ｄ）に示す如く作成することにより、１６ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００６８】
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置１が夫々作成して所有することになる。
【００６９】
［１．３．コンテンツデータの検索方法］
次に、図５を参照して、コンテンツデータを保持しているノード装置１の検索方法の一例について説明する。図５は、ＤＨＴによりコンテンツデータを保持しているノード装置１が検索される様子の一例を示す図である。
【００７０】
ここでは、ノードＩＤ「12003030」のノード装置１−１（以下、このようにコンテンツデータを探し、コンテンツデータの受信を要求するノード装置を「リクエストノード」と呼ぶ。）が、コンテンツＩＤ「31330012」を有するコンテンツデータを探す際の手順について説明する。
【００７１】
リクエストノード１−１は、自己が保持しているルーティングテーブルのレベル１のテーブルを参照して、コンテンツＩＤ「31330012」と同じエリアのノードＩＤを持つノード装置に対してコンテンツの在処を問い合わせるコンテンツデータ問い合わせ情報としての要求情報（以下、「問い合わせメッセージ」と呼ぶ。）を送信する。つまり、コンテンツＩＤ「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）ノード装置１−２に対して問い合わせメッセージを送信する。このように、問い合わせメッセージはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものであり、このコンテンツＩＤは問い合わせメッセージにおいて宛先識別情報として用いられる。
【００７２】
図５に示す例によれば、ノードＩＤが「30100000」であるノード装置１−２のＩＰアドレスがリクエストノード１−１のルーティングテーブルに記憶されているので、リクエストノード１−１は、ノードＩＤが「30100000」であるノード装置１−２に対して問い合わせメッセージを送信する。
【００７３】
次に、問い合わせメッセージを受信したノード装置１−２は、この問い合わせメッセージが自ノード装置１−２宛のメッセージであるか否かを判定する。自ノード装置１−２宛のメッセージであるか否かは、宛先識別情報に基づいて行われる。具体的には、宛先識別情報が自ノード装置１−２の識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、ノード装置１−２自身が保持しているルーティングテーブルに記憶されているノード装置の識別情報から、一番近いノード装置の識別情報が、自身であるか他のノード装置であるかを判定する。そして、自ノード装置１−２の識別情報よりも他のノード装置の識別情報の方が、宛先識別情報に近いため、ノード装置１−２は、当該ノード装置１−２自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っているノード装置１−３（ノードＩＤ「31012001」）に対して問い合わせメッセージを転送する。
【００７４】
このように、コンテンツＩＤの桁を上から順に適合していく要領で問い合わせメッセージの転送が進み、最終的に当該コンテンツデータを管理するノード装置１−５、すなわちルートノードに辿り着くと、当該ルートノードは、問い合わせメッセージに含まれるコンテンツＩＤ「31330012」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているノード装置１のＩＰアドレス等をリクエストノード１−１に返信するようになっている。
【００７５】
こうして、リクエストノード１−１は、上記ルートノード１−５から、コンテンツＩＤ「31330012」のコンテンツデータの位置情報、即ち、保持したノード装置１のＩＰアドレスを受信して知ることになり、当該保持したノード装置１から、そのコンテンツデータをダウンロードして取得することになる。
【００７６】
［１．４．コンテンツデータの登録方法］
このような構成のコンテンツ配信システムＳの中で、例えば、あるノード装置１が新しいコンテンツデータを、コンテンツ配信システムＳ上の他のノード装置に見えるように公開する際の手法について述べる。このノード装置１がコンテンツデータを記憶し、保持する情報記憶ノード装置としてのコンテンツ保持ノードとなる。
【００７７】
当該コンテンツ保持ノードは、コンテンツのタイトル等からコンテンツＩＤを求め、当該コンテンツＩＤと同じノードＩＤを持つノード装置に向けて（このノード装置が実在するか否かはこの時点ではわからない。）登録メッセージを送信する。そして、この登録メッセージも、上記問い合わせメッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該登録メッセージに含まれるコンテンツＩＤに最も近いノードＩＤを有するノード装置１まで転送されたところで、そのノード装置１はもはや送信先のノード装置が他にないと判断すると、当該ノード装置１自身がそのコンテンツのルートノードとなるべきだと判断し、当該問い合わせメッセージに含まれる当該コンテンツＩＤ、補助情報（タイトル、ジャンル等の属性情報や、監督名等の著作権情報等）およびコンテンツ保持ノードのＩＰアドレスをインデックス情報として記憶する。
【００７８】
更にまた、本実施形態では、登録メッセージがルートノードへ転送される経路の途中のノード装置でも、問い合わせメッセージに含まれる該コンテンツＩＤ、補助情報、コンテンツ保持ノードのＩＰアドレス等のインデックス情報をキャッシュとして保持し、このようなノード装置をキャッシュノードという。これにより、ルートノードが問い合わせメッセージを受信するより前に、より早くキャッシュノードに問い合わせメッセージが転送された時点でキャッシュノードがコンテンツ保持ノードのＩＰアドレスを、コンテンツの所在を問い合わせたリクエストノードに返信することが可能になる。
【００７９】
登録メッセージを転送していく際には、通常、上述のようにキャッシュノードが問い合わせメッセージに基づいたインデックス情報のみを保持していく。
【００８０】
従って、図６においては、コンテンツ保持ノードがインデックス情報を含む登録メッセージを送信すると、これを受け取ったノード装置１は、当該インデックス情報を保持することによりキャッシュノード（１）として機能する。キャッシュノード（１）は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置１は、当該インデックス情報を保持することによりキャッシュノード（２）として機能する。キャッシュノード（２）は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置１は、当該インデックス情報を保持することによりルートノードとして機能する。なお、図６においては、コンテンツ保持ノードとルートノードの間の二台のノード装置がキャッシュノードとして機能することとしたが、これに限定されず、キャッシュノードの台数や転送されるノード装置全てをキャッシュノードとするか否か、等はそのコンテンツ配信システムＳにおいて自由に決定することができる。
【００８１】
［１．５．ノード装置の状態に応じたコンテンツデータの検索方法及び登録方法］
ここで、ノード装置１の状態に応じたコンテンツデータの検索方法及び登録方法について、図７を参照して具体的に説明する。図７は本実施形態におけるコンテンツ配信システムＳのノード装置１の状態に応じたコンテンツデータの検索方法及び登録方法を説明するための図である。
【００８２】
ノード装置１は、後述のように自ノード装置１が第１状態であるのか第２状態であるかを判断する。ノード装置１は、通信に関する制御を行う通信制御手段と、コンテンツデータを出力させる制御を行う出力制御手段とが独立して設けられており、第１状態とは、ノード装置１における出力制御手段が同ノード装置１における通信制御手段に対してコンテンツデータを要求する可能性がある状態であり、第２状態とは、コンテンツデータを決して要求しない状態である。ノード装置１が第２状態であるときは、通信制御手段が出力制御手段とのコンテンツデータのやり取りがない状態であるため、通信制御手段の処理負荷が小さくなる。特に、ノード装置１がＲＡＤＳＬのような変調方式の回線でネットワークと接続されている場合には、下りの回線を使わないことになるから、上り回線のスピードを上げることになり、他のノード装置１へのコンテンツデータの送信等が速くなる。
【００８３】
そこで、本実施形態におけるコンテンツ配信システムＳにおいて、ノード装置１の状態に応じたコンテンツデータの検索方法及び登録方法を行うようにしている。
【００８４】
図７においては、ノードＩＤｉ、ＩＤｊ、ＩＤｌのノード装置１がコンテンツＩＤａのコンテンツデータを有するコンテンツ保持ノードであるとし、ノードＩＤａのノード装置１をルートノードであるとする。
【００８５】
このような状態において、ノードＩＤｍのノード装置１がコンテンツＩＤａのコンテンツデータを保持することになった場合、コンテンツＩＤａを保持するコンテンツ保持ノードとしてルートノードへ登録メッセージを送信する。この登録メッセージには、図７に示すように、登録メッセージである旨を示すメッセージ識別子Ｐと、保持しているコンテンツデータに関する情報である保持コンテンツデータのコンテンツＩＤａ（ここでは、コンテンツＩＤが「102938576789」であるとする。）、自ノード装置１の位置情報であるＩＰアドレス（ここでは、「24.56.1.1」であるとする。）、及びノード装置１の状態（ここでは、ノードＩＤｍのノード装置１は、第２状態であるとする。）等のコンテンツデータ配信元情報から構成される。
【００８６】
このように、ノードＩＤｍのノード装置１から送信された登録メッセージは、ノードＩＤｋ、ノードＩＤｈ、ノードＩＤｃのノード装置１を介して、コンテンツＩＤａを有するノード装置１であるルートノードへ通知される。ルートノードは、このように通知された登録メッセージに含まれる情報を、図７に示すようにインデックス情報として登録する。
【００８７】
その後、ノードＩＤｅのノード装置１からコンテンツＩＤａに関するコンテンツ要求メッセージが通知されると、コンテンツＩＤａのルートノードは、図７に示すように、インデックス情報テーブルの中からコンテンツＩＤａに関する情報（コンテンツ保持ノードの位置情報及び状態）である配信元情報をノードＩＤｅのノード装置１へ通知する。
【００８８】
配信元情報を受信したノードＩＤｅのノード装置１は、この配信元情報から第２状態にあるコンテンツ保持ノードを検索する。そして、第２状態のコンテンツ保持ノードがあれば（ここでは、ノードＩＤｍのコンテンツ保持ノードが該当する。）、このコンテンツ保持ノードに対してコンテンツ要求を行い、コンテンツＩＤａのコンテンツデータの配信を受ける。
【００８９】
このように、本実施形態におけるコンテンツ配信システムＳによれば、通信制御手段の処理負荷が小さいコンテンツ保持ノードからコンテンツ配信を受けることができるため、コンテンツの配信を受けている状態のコンテンツ保持ノードからコンテンツ配信を受けることによってかかるコンテンツ保持ノードへの過負荷が可及的に回避することができる。また、コンテンツ保持ノードがＲＡＤＳＬのような変調方式の回線でネットワークと接続されている場合には、第２状態において、下りの回線を使わないことになるから、上り回線のスピードを上げることになり、リクエストノードへのコンテンツデータなどの送信が速くなる。
【００９０】
なお、上述の構成では、ルートノードがコンテンツ要求にかかるコンテンツＩＤのコンテンツ保持ノードを全て通知することとしたが、第２状態のコンテンツ保持ノードが少なくとも１つある場合には、第２状態のコンテンツ保持ノードのＩＰアドレスのみを通知するようにしてもよい。
【００９１】
［２．ノード装置１の構成等の説明］
次に、図面を参照して、ノード装置１の構成及び動作について説明する。図８は、本実施形態に係るコンテンツ配信システムＳにおけるノード装置１の概略構成を示す図である。
【００９２】
ノード装置１は、図８に示すように、通信制御手段としての通信制御回路を有するＬＡＮ側装置10と、出力制御手段としての出力制御回路を有するＡＶ側装置20とから構成される。これらＬＡＮ側装置10と、ＡＶ側装置20とは、それぞれ別体に設けられており、詳しくは後述するが、電源を別々に備えた構成となっている。
【００９３】
ＬＡＮ側装置10は、主に、コンテンツ配信システムＳに参加している他のノード装置１との通信に関する制御を行う。他のノード装置１との通信は、ＬＡＮケーブルにより有線で接続されているルータ２を介して行われる。また、ＬＡＮ側装置10は、ＡＶ側装置20との間で無線通信を行うことによって、コンテンツデータやその他制御データなどのデータの送受信を行う。
【００９４】
ＡＶ側装置20は、主に、コンテンツデータの出力（再生）に関する制御を行う。コンテンツデータの出力は、ＬＡＮ側装置10との間で無線通信を行うことによって、ＬＡＮ側装置10からコンテンツデータを受信し、そのコンテンツデータを映像信号や音声信号に変換したのちディスプレイ159およびスピーカ162から出力することによって行われる。すなわち、ＡＶ側装置20には、ディスプレイ159と、スピーカ162とが有線で接続されており、ＡＶ側装置20は、ディスプレイ159にコンテンツの映像を表示させる制御を行うとともに、スピーカ162からコンテンツの音声を出力させる制御を行う。さらに、ＡＶ側装置20は、ユーザによって操作可能なリモコン155との間で赤外線通信を行うことができるように構成されており、ユーザはこのリモコン155を操作することによって、コンテンツデータの出力等を行うことが可能となる。
【００９５】
上述のように本実施形態におけるノード装置１は、通信制御手段と出力制御手段とが独立して設けられているため、出力制御手段が動作していない状態でも通信制御手段が動作を継続することによりコンテンツ配信システムＳの安定性を向上させることができる。
【００９６】
すなわち、出力制御手段の動作にかかわらず、通信制御手段が継続して動作することになるため、コンテンツ配信システムＳへ継続して参加することができるようになる。そのため、ノード装置１がコンテンツ保持ノードとして機能している場合に、コンテンツを配信している途中で通信制御手段の動作が停止することにより通信がとぎれたりすることがない。また、ノード装置１がルートノードとして機能している場合に、通信制御手段の動作が停止することによりコンテンツ配信システムＳの他のノード装置１へのルートノード機能の移動を行う必要もない。さらに、ノード装置１においてルーティングテーブルの再編集をする必要もなくなる。
【００９７】
ところで、従来におけるコンテンツ配信システムにおいては、家庭内にノード装置を設置するとき、家庭の玄関や台所に配設された電話回線や光ファイバケーブルにルータなどの終端装置を接続し、この終端装置にノード装置をケーブル（たとえば、ＬＡＮケーブル）で接続していた。
【００９８】
しかし、電話回線や光ファイバケーブルに接続された終端装置の位置とノード装置の位置との距離が離れているような場合、長いケーブルを用いなければならず、配線作業が煩雑となっていた。しかも、そのケーブルを目立たないように配線するためには、専用の部材が必要となり、さらに配線作業を煩雑にさせていた。
【００９９】
そこで、終端装置とノード装置との間を無線によって接続することで上記の如き配線作業の煩雑さを解消することが考えられる。たとえば、終端装置とノード装置とを無線ＬＡＮで接続する場合、終端装置を無線ＬＡＮルータとするとともに、ノード装置に無線ＬＡＮカードを取り付けることによって、終端装置とノード装置との間のケーブルを不要とするのである。
【０１００】
ところが、このように終端装置とノード装置との間を無線によって接続した場合、多数のコンテンツデータの送受信が無線で行われることになり、他のノード装置との間におけるスループットの減少を招いてしまう恐れがある。すなわち、有線通信で送受信できる単位時間当たりのデータ量に比べ、無線通信で送受信できる単位時間当たりのデータ量は小さく、ノード装置間の通信は、無線通信部分での送受信能力に依存してしまうことになる。特に、ノード装置１がコンテンツ保持ノードとして機能するとき、同時に複数のリクエストノードへコンテンツデータを送信するような場合には、無線部分でのスループットの減少は大きくなる。
【０１０１】
そこで、本実施形態におけるノード装置１は、通信制御手段と出力制御手段とを別体に設け、通信制御手段と出力制御手段との間を無線で通信する構成としている。そして、コンテンツ保持ノード機能やキャッシュノード機能などを出力制御手段側ではなく通信制御手段側に設けるようにしている。従って、無線部分でのスループットの低減を抑制しつつ、通信制御手段と出力制御手段とをある程度離れた場所に配設することが可能となる。
【０１０２】
［２．１．ＬＡＮ側装置10の構成等の説明］
次に、図９を参照して、ＬＡＮ側装置10の構成及び動作について説明する。
【０１０３】
ＬＡＮ側装置10は、専用のコンピュータのほか、一般のパーソナルコンピュータを適用可能であり、図９に示すように、通信制御回路として、ＣＰＵ101と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての第１記憶部102と、各種データ等を記憶するＨＤＤ（Hard Disk Drive）等から構成された第２記憶部103と、インターネット４を介して他のノード装置１との間で通信を行うネットワークインターフェイス104と、無線回線を介してＡＶ側装置20との間で通信を行う無線通信インターフェイス105と、を備えて構成され、これらの各種構成要素はシステムバス106を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ101と第１記憶部102とで制御手段107を構成している。また、ネットワークインターフェイス104は、ルータ２を介して、インターネット４に接続されている。
【０１０４】
ＬＡＮ側装置10は、後述するＡＶ側装置20における電源ユニット165（図１０参照）とは別体の電源ユニット108から供給される電源によって電気的に動作する。このように、通信制御手段としてのＬＡＮ側装置10は、出力制御手段用電源とは独立して動作する通信制御手段用電源を有する。従って、たとえば、通信制御手段と出力制御手段とが独立して動作しないノード装置と比べて、通信制御手段における通信制御手段用電源さえオン状態であれば、出力制御手段における出力制御手段用電源をオフ状態としても、コンテンツ配信システムＳに継続して参加することができ、コンテンツ配信システムＳの安定化を図ることができる。また、無線部分でのスループットの低減を抑制しつつ、通信制御手段と出力制御手段とをある程度離れた場所に配設することが可能となる。
【０１０５】
（第１記憶部102について）
第１記憶部102には、ノード装置１のコンピュータとしての基本的な機能を提供するためのＯＳプログラム110と、リクエストノードとしての機能を実行するためのリクエストノード制御プログラム111と、ルートノードとしての機能を実行するためのルートノード制御プログラム112と、コンテンツ保持ノードとしての機能を実行するためのコンテンツ保持ノード制御プログラム113と、キャッシュノードとしての機能を実行するためのキャッシュノード制御プログラム114と、無線通信インターフェイス105を介してＡＶ側装置20とデータの送受信を行うための無線通信プログラム115等を記憶しており、これらはＣＰＵ101によって読み出され、ＣＰＵ101によってこれらのプログラムに従った機能が実行される。
【０１０６】
ここで、ＯＳプログラム110は、ＣＰＵ101によって読み出されて実行されることにより、第１記憶部102や第２記憶部103などのメモリ管理などのＬＡＮ側装置10であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム110がＣＰＵ101によって実行された状態で、上述のリクエストノード制御プログラム111、ルートノード制御プログラム112、コンテンツ保持ノード制御プログラム113と、キャッシュノード制御プログラム114と、無線通信プログラム115等が第１記憶部102から読み出されて実行される。
【０１０７】
なお、ＯＳプログラム110、リクエストノード制御プログラム111、ルートノード制御プログラム112、コンテンツ保持ノード制御プログラム113、キャッシュノード制御プログラム114、無線通信プログラム115等は、たとえば、インターネット４に接続されたサーバ等から第１記憶部102にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１記憶部102に読み込まれるようにしてもよい。
【０１０８】
また、第１記憶部102には、コンテンツ配信システムＳを構成する複数のノード装置１のうち一部のノード装置１の識別情報と位置情報とを関連付けた上述のルーティングテーブルを記憶しており、ルーティングテーブル記憶手段として機能する。さらに、第１記憶部102は、後述の第１コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報を記憶するコンテンツデータ配信元情報記憶手段として機能する。
【０１０９】
（第２記憶部103について）
第２記憶部103には、コンテンツデータをコンテンツ配信システムＳへ投入する投入サーバ（図示せず）から投入されたコンテンツデータや、コンテンツ保持ノードから受信したコンテンツデータの複製を蓄積するコンテンツ蓄積手段としてのコンテンツ蓄積領域を有している。
【０１１０】
（制御手段107について）
制御手段107は、上述のようにＣＰＵ101と第１記憶部102とから構成され、ＣＰＵ101が第１記憶部102に記憶された各種プログラム110〜115を読み出して実行することにより、ノード装置１全体を統括制御し、かつ、後述する問い合わせメッセージ送信手段、第２コンテンツデータ配信元情報受信手段、コンテンツ配信端末装置選択手段、コンテンツ配信要求手段、配信コンテンツ受信手段、メッセージ宛先判定手段、メッセージ転送手段、第１コンテンツデータ配信元情報受信手段、コンテンツデータ配信元情報返信手段、配信元情報通知手段、コンテンツ配信手段、無線通信手段、情報受信手段、設定状態判断手段、コンテンツデータ出力供給手段、コンテンツデータ出力規制制御手段等として機能するようになっている。
【０１１１】
なお、ＣＰＵ101がリクエストノード制御プログラム111を実行することによって、問い合わせメッセージ送信手段、第２コンテンツデータ配信元情報受信手段、コンテンツ配信端末装置選択手段、コンテンツ配信要求手段、配信コンテンツ受信手段、メッセージ宛先判定手段、メッセージ転送手段等として、またＣＰＵ101がルートノード制御プログラム112を実行することによって、第１コンテンツデータ配信元情報受信手段、コンテンツデータ配信元情報返信手段、メッセージ宛先判定手段、メッセージ転送手段等として、またＣＰＵ101がコンテンツ保持ノード制御プログラム113を実行することによって、配信元情報通知手段、コンテンツ配信手段、メッセージ宛先判定手段、メッセージ転送手段等として、またＣＰＵ101がキャッシュノード制御プログラム114を実行することによって、コンテンツ配信手段、メッセージ宛先判定手段、メッセージ転送手段等として、またＣＰＵ101が無線通信プログラム115を実行することによって無線通信手段、設定状態判断手段等としてそれぞれ機能するようになっている。
【０１１２】
（問い合わせメッセージ送信手段）
問い合わせメッセージ送信手段は、ＡＶ側装置20から送信されるコンテンツデータ選択情報に基づいて、コンテンツデータを保持しているコンテンツ保持ノードの情報を管理しているルートノードへ向けて問い合わせメッセージを送信する。
【０１１３】
（配信コンテンツ受信手段について）
配信コンテンツ受信手段は、他のコンテンツ保持ノードから配信されるコンテンツデータを受信する機能を有している。コンテンツ保持ノードからのコンテンツデータの配信は、コンテンツデータが一定サイズ（cut size）で区切られた断片データとしてコンテンツ本体伝送メッセージに格納されて配信される。このコンテンツ本体伝送メッセージは、図２０（ｃ）に示すように、コンテンツ本体伝送メッセージであることを示す識別子ＣＤと、断片データのサイズ（frag_size）及び断片データの通し番号（fragment number）が格納されるとともに、その本体部には、コンテンツの断片データが格納されている。配信コンテンツ受信手段は、インターネット４を介してコンテンツ保持ノードから送信されるメッセージの識別子を検出することによって、そのメッセージがコンテンツ本体伝送メッセージであると判定し、コンテンツ本体伝送メッセージに含まれるコンテンツの断片データを第２記憶部103に記憶する。
【０１１４】
（メッセージ宛先判定手段について）
メッセージ宛先判定手段は、ネットワークを介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自ノード装置１宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、ノード装置がコンテンツ配信システムＳに参加するための参加要求メッセージ、コンテンツ保持ノードがルートノードへインデックス情報を登録させるための登録メッセージ、ルートノードにコンテンツ保持ノードの位置情報を問い合わせるための問い合わせメッセージなどである。
【０１１５】
受信したメッセージが自ノード装置１宛であるか否かの判定は、メッセージに含まれる宛先ノードＩＤ（以下、これらを「宛先識別情報」とも呼ぶ。）を取り出し、第１記憶部102に記憶したルーティングテーブルに基づいて後述の制御手段107が判定する。すなわち、参加要求メッセージや登録メッセージなどをネットワークインターフェイス104を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに格納したノードＩＤとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上のノードＩＤが自ノード装置１のノードＩＤであると判定すると、自ノード装置１宛のメッセージであると判定する。
【０１１６】
（メッセージ転送手段について）
メッセージ転送手段は、メッセージ宛先判定手段によりネットワークを介して受信したメッセージが自ノード装置１宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先のノード装置１の位置情報をルーティングテーブルから取り出し、この位置情報のノード装置１へ前記受信したメッセージを転送する。具体的には、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに格納したノードＩＤとを比較し、メッセージに含まれる宛先識別情報と一致する上位桁数レベルの次のレベル（たとえば、上位４桁目まで同じであれば、上位５桁目のレベル）のノードＩＤに対応するＩＰアドレスを取り出して、そのＩＰアドレス宛に受信したメッセージを転送する。
【０１１７】
（設定情報判断手段について）
設定情報判断手段は、出力制御手段における後述の状態設定手段が設定した状態を判断する。たとえば、出力制御手段用電源がオン状態のとき第１状態であると判断し、出力制御手段用電源がオフ状態のとき第２状態であると判断する。また、出力制御手段における後述の第２操作情報送信手段によって送信された第２操作情報に応じて第２状態であると判断する。さらに、判断手段は、出力制御手段における後述のモード設定手段によって設定されたモードとして第１のコンテンツデータ出力モードが設定されている場合に第１状態であると判断し、第２のコンテンツデータ出力モードが設定されている場合に第２状態であると判断する。
【０１１８】
（配信元情報通知手段について）
配信元情報通知手段は、第２記憶部103のコンテンツデータ蓄積領域にコンテンツデータが蓄積されると、インターネット４上に配置された所定のノード装置１に、自ノード装置１の位置情報であるＩＰアドレスと、出力制御手段における後述の判断手段によって判断した状態が第１状態であるか第２状態であるかを示す情報と、コンテンツデータに関する情報（コンテンツＩＤ、補助情報など）とを含むコンテンツデータ配信元情報を登録メッセージとしてルートノードに通知（送信）する。
【０１１９】
ここで、ルートノードへの通知は、第２記憶部103に記憶したコンテンツデータのタイトル等からコンテンツＩＤを配信元情報通知手段が算出し、ルーティングテーブルからそのコンテンツＩＤと一番近いノードＩＤを有するノード装置１に対して、登録メッセージを送信する。すると、その後、登録メッセージは、ルートノードまで転送される。
【０１２０】
（第１コンテンツデータ配信元情報受信手段について）
第１コンテンツデータ配信元情報受信手段は、インターネット４上に配置され、コンテンツデータを保持するコンテンツ保持ノードから、このコンテンツ保持ノードの位置情報と、このコンテンツ保持ノードが第１状態であるか第２状態であるかを示す情報と、コンテンツデータに関する情報とを含むコンテンツデータ配信元情報を受信する。
【０１２１】
そして、第１コンテンツデータ配信元情報受信手段は、受信したコンテンツデータ配信元情報を第１記憶部102のコンテンツデータ配信元情報記憶手段へインデックス情報として記憶する。
【０１２２】
（コンテンツデータ配信元情報返信手段について）
コンテンツデータ配信元情報返信手段は、インターネット４上に配置されたリクエストノードから、問い合わせメッセージ、すなわちコンテンツデータ配信元情報の送信要求を受けると、第１記憶部102のコンテンツデータ配信元情報記憶手段から問い合わせされたコンテンツデータに対するインデックス情報を記憶しているか否かを判断し、記憶している場合には、そのインデックス情報を取り出して、コンテンツデータ配信元情報としてリクエストノードへ送信する。
【０１２３】
（第２コンテンツデータ配信元情報受信手段について）
第２コンテンツデータ配信元情報受信手段は、インターネット４上に配置されたルートノードまたはキャッシュノードから、コンテンツデータを保持するコンテンツ保持ノードの位置情報と、このコンテンツ保持ノードの状態が第１状態であるか第２状態であるかを示す情報と、コンテンツデータの情報とを含むコンテンツデータ配信元情報を受信する。
【０１２４】
（コンテンツ配信ノード装置選択手段について）
コンテンツ配信ノード装置選択手段は、第２コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報に、同一コンテンツデータを保持する２以上のノード装置１があると判定したとき、第２状態のノード装置１を優先して選択するように構成される。
【０１２５】
（コンテンツ配信要求手段について）
コンテンツ配信要求手段は、コンテンツ配信ノード装置選択手段により選択したノード装置１に対してコンテンツデータの配信を要求する。なお、問い合わせメッセージ送信手段とコンテンツ配信要求手段とで第１操作制御手段が構成される。
【０１２６】
（コンテンツデータ配信元情報記憶手段について）
コンテンツデータ配信元情報記憶手段は、第１コンテンツデータ配信元情報受信手段により受信したコンテンツデータ配信元情報を第１記憶部102のコンテンツデータ配信元情報記憶手段に記憶する。
【０１２７】
（コンテンツデータ配信元情報返信手段について）
コンテンツデータ配信元情報返信手段は、インターネット４上に配置されたリクエストノードから、コンテンツデータ配信元情報の送信要求を受けると、コンテンツデータ配信元情報記憶手段に第２状態のコンテンツデータ配信元情報が記憶されている場合には、第２状態のコンテンツ保持ノードを優先して選択し、選択したコンテンツデータ配信元情報を要求したリクエストノードへ返信する。
【０１２８】
（第１操作制御手段について）
第１操作制御手段は、出力制御手段における後述の第１操作情報送信手段によって送信された第１操作情報に応じて他のノード装置１と所定の通信を行う。たとえば、出力制御手段から送信されるコンテンツデータ選択情報に応じて選択されたコンテンツデータの識別情報とルーティングテーブルに記憶されたノード装置の識別情報とから所定の条件となるノード装置を決定し、決定されたノード装置に対して、選択されたコンテンツデータの配信を要求するための問い合わせメッセージを送信する。
【０１２９】
（カタログ受信手段について）
カタログ受信手段は、図示しない投入サーバへアクセスし、コンテンツ配信システムＳにおいて配信可能なコンテンツの一覧（以下、「カタログ」と呼ぶ。）を要求し、取得する。
【０１３０】
（システム参加要求手段について）
システム参加要求手段は、自ノード装置１をコンテンツ配信システムＳへ参加させるために、第１記憶部102に記憶している所定のノード装置（以下、「コンタクトノード」と呼ぶ。）の位置情報を取り出し、このコンタクトノード宛に参加要求メッセージを送信する機能を有している。
【０１３１】
（無線通信手段）
無線通信手段は、ＡＶ側装置20との間で無線通信を行うために用いられる。この無線通信手段は、ＡＶ側装置20から各種の情報を受信する情報受信手段と、受信されたコンテンツデータをＡＶ側装置20に供給するコンテンツデータ出力供給手段、そのコンテンツデータ出力供給手段によるコンテンツデータの供給を規制するコンテンツデータ出力規制制御手段としての機能を有している。
【０１３２】
この情報受信手段は、ＡＶ側装置20における電源の状態に関する電源状態情報や、ＡＶ側装置20においてコンテンツの選択に関するコンテンツデータ選択情報等を受信することとなる。
【０１３３】
また、コンテンツデータ出力供給手段は、ＡＶ側装置20がコンテンツデータを出力するオン状態であると上述した設定状態判定手段によって判定された場合において、配信コンテンツデータ受信手段によって受信されたコンテンツデータを、ＡＶ側装置20に供給する機能を有する。尚、上述したように、ＬＡＮ側装置10と、ＡＶ側装置20との間は、無線によって接続されているため、このコンテンツデータ出力供給手段は、ＡＶ側装置20と無線で接続されるとも言い換えることができる。
【０１３４】
また、コンテンツデータ出力規制制御手段は、オフ状態であると判定された場合に、上述した配信コンテンツデータ受信手段によって受信されたコンテンツデータを、コンテンツデータ出力供給手段によってＡＶ側装置20に供給させることを規制する制御を行う機能を有する。従って、出力制御手段において第２状態に設定された場合には、通信制御手段においてコンテンツデータの供給を規制するため、通信制御手段、出力制御手段における処理負荷を軽減することができる。
【０１３５】
（設定状態判定手段について）
設定状態判定手段は、受信されたＡＶ側装置20における電源の状態に関する電源状態情報等に基づいて、ＡＶ側装置20において設定された状態を判定する機能を有する。特に、本実施形態においては、設定状態判定手段は、ＡＶ側装置20における電源ユニット165がオン状態である場合には、ＡＶ側装置20によって設定された状態が、コンテンツデータを出力する第１状態であると判定することとなり、ＡＶ側装置20における電源ユニット165がオフ状態である場合には、ＡＶ側装置20によって設定された状態が、コンテンツデータを出力しない第２状態であると判定することとなる。また、設定状態判定手段は、後述のようにＡＶ側装置20におけるディスクドライブ（図示せず）からの再生が選択されていない場合には、ＡＶ側装置20によって設定された状態が、コンテンツデータを出力する第１状態であると判定することとなり、ＡＶ側装置20におけるディスクドライブからの再生が選択されている場合には、ＡＶ側装置20によって設定された状態が、コンテンツデータを出力しない第２状態であると判定することとなる。なお、ＣＤなどのディスクドライブは、ＬＡＮ側装置10にあっても良い。この場合、設定状態判定手段は、たとえば、ＬＡＮ側装置10におけるディスクドライブからの再生が選択されていない場合には、コンテンツデータを出力する第１状態であると判定することとなり、ＬＡＮ側装置10におけるディスクドライブからの再生が選択されている場合には、コンテンツデータを出力しない第２状態であると判定することとなる。
【０１３６】
［２．２．ＡＶ側装置20の構成等の説明］
次に、図１０を参照して、ＡＶ側装置20の構成及び動作について説明する。
【０１３７】
ＡＶ側装置20は、専用のコンピュータのほか、一般のパーソナルコンピュータを適用可能であり、図１０に示すように、出力制御手段として、ＣＰＵ151と、各種プログラム等を記憶（格納）する書き換え可能な主記憶装置としての第１記憶部152と、各種データ等を記憶するＨＤＤ等から構成された第２記憶部153と、上述したＬＡＮ側装置10との間で無線通信を行う無線通信インターフェイス154と、ユーザによってＡＶ側装置20を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン155と、このリモコン155と赤外線により通信を行うための赤外線ポート156と、ユーザによってＡＶ側装置20を操作可能な操作スイッチ157と、赤外線ポート156及び操作スイッチ157を制御する周辺機器制御チップ158と、ＣＰＵ151からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ159に表示するビデオチップ160と、ＦＭ音源やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有し、オーディオ信号をスピーカ162に出力することによってスピーカ162から音波を出力させる音源チップ161と、を備えて構成され、これらの各種構成要素はシステムバス163を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ151と第１記憶部152とで制御手段164を構成している。
【０１３８】
また、このＡＶ側装置20は、上述したＬＡＮ側装置10における電源ユニット108とは別体の電源ユニット165から供給される電源によって電気的に動作することとなる。このように、通信制御手段としてのＡＶ側装置20は、通信制御手段用電源とは独立して動作する出力制御手段用電源を有する。従って、たとえば、通信制御手段と出力制御手段とが独立して動作しないノード装置と比べて、通信制御手段における通信制御手段用電源さえオン状態であれば、出力制御手段における出力制御手段用電源をオフ状態としても、ルートノードとしての機能や、コンテンツ保持ノードとしての機能、或いはキャッシュノードとしての機能を実行させることができ、コンテンツ配信システムＳの安定化を図ることができる。また、無線部分でのスループットの低減を抑制しつつ、通信制御手段と出力制御手段とをある程度離れた場所に配設することが可能となる。
【０１３９】
（第１記憶部152について）
また、第１記憶部152には、ＡＶ側装置20のコンピュータとしての基本的な機能を提供するためのＯＳプログラム170、ディスプレイ159の制御等を行うための画面制御プログラム171、配信されたコンテンツデータの再生等を行うためのプレイヤプログラム172、電源の状態、モードの設定などの各種状態を管理する状態管理プログラム173、ＬＡＮ側装置10との間で無線通信を行うための無線通信プログラム174等を記憶しており、これらはＣＰＵ151によって読み出され、ＣＰＵ151によってこれらのプログラムに従った機能が実行される。
【０１４０】
ここで、ＯＳプログラム170は、ＣＰＵ151によって読み出されて実行されることにより、リモコン155や操作スイッチ157の入出力に関する機能や、第１記憶部152や第２記憶部153などのメモリ管理などのＡＶ側装置20であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム170がＣＰＵ151によって実行された状態で、上述の画面制御プログラム171、プレイヤプログラム172、状態管理プログラム173、無線通信プログラム174等が第１記憶部152から読み出されて実行される。
【０１４１】
なお、ＯＳプログラム170、画面制御プログラム171、プレイヤプログラム172、状態管理プログラム173、無線通信プログラム174等は、たとえば、インターネット４に接続されたサーバ等から、ＬＡＮ側装置10等を介して、第１記憶部152にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第１記憶部152に読み込まれるようにしてもよい。
【０１４２】
（制御手段164について）
制御手段164は、上述のようにＣＰＵ151と第１記憶部152とから構成され、ＣＰＵ151が第１記憶部152に記憶された各種プログラム170〜174を読み出して実行することにより、ＡＶ側装置20全体を統括制御し、かつ、後述するコンテンツ出力制御手段、第１操作情報送信手段、第２操作情報送信手段、操作処理手段、モード設定手段、操作検出手段、状態設定手段、無線通信手段、デコード手段、表示制御手段等として機能するようになっている。
【０１４３】
なお、ＣＰＵ151がＯＳプログラム170を実行することによって、操作検知手段、操作処理手段等として、また、ＣＰＵ151が画面制御プログラム171を実行することによって表示制御手段等として、またＣＰＵ151がプレイヤプログラム172を実行することによってデコード手段及びコンテンツ出力制御手段等として、またＣＰＵ151が状態管理プログラム173を実行することによって、状態設定手段等として、またＣＰＵ151が無線通信プログラム174を実行することによって、無線通信手段等として、それぞれ機能するようになっている。
【０１４４】
（操作検知手段について）
操作検知手段は、ＬＡＮ側装置10によって受信されるコンテンツデータを選択する操作など、ユーザによって操作可能なリモコン155や操作スイッチ157の入出力に関する機能を有する。つまり、操作検知手段は、ユーザによる操作を検知することとなる。
【０１４５】
（状態設定手段について）
状態設定手段は、電源ユニット165がオン状態であるかオフ状態であるかを検知するなど、ＡＶ側装置20の状態に関する制御を行う機能を有する。言い換えると、状態設定手段は、ＬＡＮ側装置10から受信されたコンテンツデータを出力するオン状態と、ＬＡＮ側装置10から受信されたコンテンツデータを出力しないオフ状態とのいずれかに設定することとなる。尚、本実施形態においては、電源がオン状態である場合を第１状態の一例とし、電源がオフ状態である場合を第２状態の一例としている。
【０１４６】
（無線通信手段について）
無線通信手段は、無線通信インターフェイス154を制御して、ＬＡＮ側装置10との間でデータの送受信を行う機能等を有している。なお、本実施形態における無線通信インターフェイス154は、無線ＬＡＮ（ＩＥＥＥ８０２．１１ａ／ｂ／ｇ等）を採用した無線通信インターフェイスとするが、これに限られない。
【０１４７】
この無線通信手段は、ＬＡＮ側装置10が第２状態のときに、ＬＡＮ側装置10から供給されるコンテンツデータを受信する供給コンテンツデータ受信手段としての機能を有している。
【０１４８】
また、この無線通信手段は、電源ユニット165がオフ状態からオン状態となった場合や、電源ユニット165がオン状態からオフ状態となった場合等には、ＡＶ側装置20の電源の状態を示す電源状態情報をＬＡＮ側装置10に送信する電源状態情報送信手段としても機能する。
【０１４９】
さらに、この無線通信手段は、リモコン155や操作スイッチ157の入出力によって、第１のコンテンツデータ出力モードに関する操作、或いは第２のコンテンツデータ出力モードに関する操作が行われた場合には、この操作情報をＬＡＮ側装置10に送信する第１操作情報送信手段及び第２操作情報送信手段として機能する。
【０１５０】
第１操作情報送信手段は、第１のコンテンツデータ出力モードに関する操作が操作検知手段により検知された場合に、当該操作に対応する第１操作情報を通信制御手段に送信する。たとえば、第１操作情報送信手段は、配信コンテンツ受信手段によって受信されるコンテンツデータを選択する操作を操作検知手段により検知した場合に、コンテンツデータ選択情報をＬＡＮ側装置10の通信制御手段に送信する。
【０１５１】
第２操作情報送信手段は、第２のコンテンツデータ出力モードに関する操作が操作検知手段により検知された場合には、当該操作に対応する第２操作情報を通信制御手段に送信する。
【０１５２】
（デコード手段について）
デコード手段は、ストリーミング配信用のデータ形式にエンコードされたコンテンツデータをスピーカ162やディスプレイ159などに出力（再生）するためにデコードする。
【０１５３】
（コンテンツ出力制御手段について）
コンテンツ出力制御手段は、ＬＡＮ側装置10から受信したコンテンツデータ、すなわち供給コンテンツデータ受信手段で受信したコンテンツパケットを順次再生させる制御を行う機能を有している。このコンテンツ出力制御手段は、ビデオチップ160や音源チップ161を動作させることによってこの機能を実現しており、デコード手段により所定のコンテンツデータ形式（たとえば、Ｗａｖｅ形式）に変換されたデータを音源チップ161やビデオチップ160によってオーディオ信号やビデオ信号へ変換した後、このオーディオ信号をスピーカ162へ出力したり、ビデオ信号をディスプレイ159へ出力したりすることによってコンテンツデータの再生を行う。なお、上述のデコード手段を含めてコンテンツ出力制御手段とすることもできる。つまり、このコンテンツ出力制御手段は、上述した供給コンテンツデータ受信手段によって受信されたコンテンツデータを、ディスプレイ159、スピーカ162などの出力手段に出力させる制御を行うこととなる。
【０１５４】
（表示制御手段について）
表示制御手段は、ビデオチップ160及びディスプレイ159を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、ディスプレイ159にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
【０１５５】
なお、ＬＡＮ側装置10から画像データが配信されないような場合には、表示制御手段は、予め第１記憶部152または第２記憶部153に記憶させた画像データをディスプレイ159に表示するようにしてもよい。
【０１５６】
（操作処理手段について）
操作処理手段は、第２のコンテンツデータ出力モードに関する操作が操作検知手段により検知された場合には、当該操作に対応する処理を行う。たとえば、第２のコンテンツデータとして、第２記憶部153に記憶されたコンテンツデータや、ＤＶＤドライブなどのディスクドライブ（図示せず）に挿入されたメディアからデータを読み出したコンテンツデータなどがリモコン155等の操作でユーザにより選択された場合、この操作を検知して、これらのコンテンツデータの再生制御（ディスプレイ159からの映像の出力やスピーカ162から音声などの音を出力）を行う。
【０１５７】
［３．各種処理の説明］
以下、ノード装置１、即ち、ＬＡＮ側装置10と、ＡＶ側装置20との詳細動作について、図１１〜図２０のフローチャートを用いて更に具体的に説明する。
【０１５８】
まず、ノード装置１におけるＬＡＮ側装置10の動作について説明する。図１１はＬＡＮ側装置10におけるＬＡＮ側装置メイン処理を示すフローチャート、図１２はＬＡＮ側装置10における保持コンテンツ登録処理を示すフローチャート、図１３はＬＡＮ側装置10におけるコンテンツ要求処理を示すフローチャート、図１４はＬＡＮ側装置10におけるメッセージ処理を示すフローチャート、図１５はＬＡＮ側装置10におけるコンテンツ本体伝送メッセージ受信処理を示すフローチャート、図１６はＬＡＮ側装置10における参加要求メッセージ受信処理を示すフローチャート、図１７はＬＡＮ側装置10における参加応答メッセージ受信処理を示すフローチャート、図１８はＬＡＮ側装置10におけるルーティングテーブル更新処理を示すフローチャート、図１９はＡＶ側装置20におけるＬＡＮ側装置メイン処理を示すフローチャート、図２０は各メッセージの構成を示す図である。
【０１５９】
（ＬＡＮ側装置のメイン処理について）
図１１に示すように、ＬＡＮ側装置10の電源ユニット108がオン状態となると、制御手段107は、各プログラム110〜115を実行することによってＬＡＮ側装置10内の初期設定を行う（ステップＳ１００）。
【０１６０】
その後、制御手段107は、第１記憶部102に記憶しているコンタクトノードの位置情報であるＩＰアドレスを取り出し、このコンタクトノード宛に参加要求メッセージを送信（ステップＳ１０１）し、タイマーを起動（たとえば、１０秒のタイマーを起動）する（ステップＳ１０２）。
【０１６１】
次に、制御手段107は、ＡＶ側装置20の設定状態判定手段が設定した状態が第１状態への移行契機であるのか第２状態への移行契機であるのかを判断する（ステップＳ１０３、Ｓ１０４）。
【０１６２】
ここで、出力制御手段用電源がオフ状態からオン状態になったとき、或いは制御手段164によって第２のコンテンツデータ出力モードから第１のコンテンツデータ出力モードへの設定変更がされたときに、制御手段107が第１状態への移行契機であると判定する。また、出力制御手段用電源がオン状態からオフ状態になったとき、制御手段164によって第２操作情報が送信されたとき、或いは制御手段164によって第１のコンテンツデータ出力モードから第２のコンテンツデータ出力モードへ設定変更がされたときに、制御手段107が第２状態への移行契機であると判定する。
【０１６３】
そして、制御手段107は、第２状態への移行契機であると判断すると（ステップＳ１０３：Ｙｅｓ）、制御手段107は、ＡＶ側装置20が第２状態へ変更されたと判定して第１記憶部102の所定領域にその状態を設定する（ステップＳ１０６）。この第２状態において、制御手段107は、ＡＶ側装置20とのデータの送受信を行わない。たとえば、出力制御手段用電源がオフ状態のときには、ＡＶ側装置20での電力消費を節約する節約モードとなる。
【０１６４】
また、制御手段107は、第１状態への移行契機であると判断すると（ステップＳ１０４：Ｙｅｓ）、制御手段107は、ＡＶ側装置20が第１状態へ変更されたと判定して第１記憶部102の所定領域にその状態を設定する（ステップＳ１０５）。この第１状態において、制御手段107は、ＡＶ側装置20とのデータの送受信を行う。すなわち、通常動作モードとなる。
【０１６５】
第２状態の移行契機でもなく（ステップＳ１０３：Ｎｏ）、第１状態への移行契機でもないと判断する（ステップＳ１０４：Ｎｏ）と、制御手段107は、ステップＳ１０２で設定したタイマーが満了したか否かを判定する（ステップＳ１０７）。
【０１６６】
ステップＳ１０７において、タイマーが満了したと判定したとき(ステップＳ１０７：Ｙｅｓ）、または、第１状態へ移行したとき（ステップＳ１０５）、または、第２状態へ移行したとき（ステップＳ１０６）、制御手段107は、第２記憶部103に記憶しているコンテンツデータ（以下、「保持コンテンツ」と呼ぶ。）をルートノードへ登録するために、後述の「保持コンテンツの登録処理」を行う（ステップＳ１０８）。この保持コンテンツの登録処理が完了すると、制御手段107は、ステップＳ１０２と同様にタイマーを起動する（ステップＳ１０９）。
【０１６７】
ステップＳ１０７において、タイマーが満了していないと判定したとき(ステップＳ１０７：Ｎｏ）、または、ステップＳ１０９でタイマーを起動したとき、制御手段107は、コンテンツ要求操作があったか否かを判定する（ステップＳ１１０）。このコンテンツ要求操作の検出は、ＡＶ側装置20においてコンテンツデータを選択する操作が行われたときに、ＡＶ側装置20から送信されるコンテンツデータ選択情報に基づいて行われる。
【０１６８】
コンテンツ要求操作があったと判定すると（ステップＳ１１０：Ｙｅｓ）、制御手段107は、コンテンツデータ選択情報に応じたコンテンツデータを配信するコンテンツ保持ノードにコンテンツデータの配信を要求するために、後述の「コンテンツ要求処理」を行う（ステップＳ１１１）。
【０１６９】
ステップＳ１１０において、コンテンツ要求操作がないと判定したとき（ステップＳ１１０：Ｎｏ）、或いはステップＳ１１１のコンテンツ要求処理が完了したとき、制御手段107は、ネットワークインターフェイス104を介して、他のノード装置１からのメッセージを受信したか否かを判定する（ステップＳ１１２）。
【０１７０】
ステップＳ１１２において、他のノード装置１からのメッセージを受信したと判定すると（ステップＳ１１２：Ｙｅｓ）、制御手段107は、受信したメッセージについて「メッセージ毎の処理」を行う（ステップＳ１１３）。
【０１７１】
制御手段107は、ステップＳ１１２において、他のノード装置１からのメッセージを受信していないと判定したとき（ステップＳ１１２：Ｎｏ）、或いはステップＳ１１３における受信メッセージ処理が終了したとき、制御手段107は、コンテンツ受信完了フラグが１となっているか否かを判定する（ステップＳ１１４）。
【０１７２】
制御手段107は、コンテンツ完了フラグが１となっていると判定すると（ステップＳ１１４：Ｙｅｓ）、コンテンツデータ受信完了フラグを０に設定し（ステップＳ１１５）、他のノード装置１からの受信が完了したコンテンツデータをＡＶ側装置20の出力制御手段へ引き渡す（ステップＳ１１６）。
【０１７３】
一方、制御手段107は、コンテンツ完了フラグが１となっていないと判定したとき（ステップＳ１１４：Ｎｏ）、或いはステップＳ１１６の処理が終了したとき、ステップＳ１０３の処理へ移行する。
【０１７４】
（保持コンテンツ登録処理について）
次に、図１２を参照して、ＬＡＮ側装置10における「保持コンテンツ登録処理」（上述のステップＳ１０８の処理）について説明する。
【０１７５】
制御手段107は、第２記憶部103に記憶している保持コンテンツの数Ｎを検出し、第１記憶部102の保持コンテンツ数格納領域へ検出した保持コンテンツ数Ｎを格納（ステップＳ２００）した後、カウンタを初期化（カウンタ値ｉ＝１）する（ステップＳ２０１）。
【０１７６】
その後、制御手段107は、ｉ番目のコンテンツデータをルートノードへ登録するための登録メッセージを、現在のモード状態を反映してルートノードへ送信する（ステップＳ２０２）。この登録メッセージは、図２０（ｄ）に示すような構成となっている。すなわち、登録メッセージを示すメッセージ識別子Ｐ、登録するコンテンツのコンテンツＩＤ、自ノード装置１のＩＰアドレス、装置の状態（１：第１の状態、２：第２状態）は登録メッセージに含まれる。
【０１７７】
そして、このステップＳ２０２の処理が終了すると、制御手段107によって、カウンタ値ｉがコンテンツ数Ｎと同じ値となっているか否か、すなわち、ステップＳ２０２の処理をＮ回繰り返したか否かが判定される（ステップＳ２０４）。カウンタ値ｉがコンテンツ数Ｎと同じ値となっていないとき（ステップＳ２０４：Ｎｏ）、制御手段107は、カウンタ値ｉを１だけインクリメントし（ステップＳ２０３）、ステップＳ２０２の処理を繰り返す。一方、カウンタ値ｉがコンテンツ数Ｎと同じ値となっているとき、制御手段107は、この保持コンテンツ登録処理を終了する。
【０１７８】
（コンテンツ要求処理について）
次に、図１３を参照して、ＬＡＮ側装置10における「コンテンツ要求処理」（上述のステップＳ１１１の処理）の詳細について説明する。
【０１７９】
ＡＶ側装置20の制御手段164は、投入サーバから受信したカタログ情報をディスプレイ159に表示した後、ノード装置１のユーザによる操作スイッチ157の操作によって、カタログ情報の中から所望のコンテンツデータが選択されると、第１操作情報であるコンテンツデータ選択情報をＬＡＮ側装置10の制御手段107に送信する。制御手段107は、コンテンツデータ選択情報をＡＶ側装置20から受信すると（図１１のステップＳ１１０：Ｙｅｓ）、そのコンテンツデータ選択情報に対応するコンテンツデータに関する情報からハッシュ関数を用いてコンテンツＩＤを算出し、このコンテンツＩＤを宛先識別情報とした問い合わせメッセージをネットワークインターフェイス104から送信する（ステップＳ３００）。なお、この問い合わせメッセージは、図７に示すように、問い合わせメッセージの識別子Ｑと、宛先識別情報としてのコンテンツＩＤと図示しないが送信元の位置情報としてのＩＰアドレスとを有する構成となっている。
【０１８０】
問い合わせメッセージを送信した後、制御手段107は、問い合わせ応答メッセージがルートノードまたはキャッシュノードから送信されるのを待つ（ステップＳ３０１）。制御手段107は、問い合わせ応答メッセージを受信すると、問い合わせ応答メッセージに含まれるコンテンツ保持ノードリスト（インデックス情報）の中に、２以上のコンテンツ保持ノードがあり、さらに第２状態のコンテンツ保持ノードがあるか否かを調べる（ステップＳ３０２）。なお、この問い合わせ応答メッセージは、図２０（ａ）に示すように、問い合わせ応答メッセージであることを示す識別子ＱＲと、コンテンツ保持ノード毎のＩＰアドレス及びその状態（第１状態か第２状態かの別）と図示しないが送信元の位置情報としてのＩＰアドレスとを有している。
【０１８１】
ステップＳ３０２の調査の結果、保持ノードリストの中に第２状態のコンテンツ保持ノードがあった場合（ステップＳ３０３：Ｙｅｓ）、制御手段107は、第２状態のコンテンツ保持ノードに対してコンテンツ要求メッセージを送信する（ステップＳ３０５）。一方、保持ノードリストの中に２以上のコンテンツ保持ノードがないか、或いは第２状態のコンテンツ保持ノードがない場合（ステップＳ３０３：Ｎｏ）、制御手段107は、保持ノードリストの中のコンテンツ保持ノードに対してコンテンツデータの配信を要求するためのコンテンツ要求メッセージを送信する（ステップＳ３０４）。なお、コンテンツ要求メッセージは、図２０（ｂ）に示すように、コンテンツ要求メッセージであることを示す識別子ＣＲと、コンテンツＩＤと図示しないが送信元の位置情報としてのＩＰアドレスとを有している。
【０１８２】
制御手段107は、コンテンツ要求メッセージを送信した後、第１記憶部102のコンテンツデータ受信完了フラグ領域のコンテンツデータ受信完了フラグを０に設定して（ステップＳ３０６）、コンテンツ要求処理を終了する。
【０１８３】
（メッセージ毎の処理について）
次に、図１４を参照して、ＬＡＮ側装置10における「メッセージ毎の処理」（上述のステップＳ１１３の処理）の詳細について説明する。
【０１８４】
制御手段107は、受信したメッセージ（以下、「受信メッセージ」と呼ぶ。）がコンテンツ本体伝送メッセージであるか否かを判定する（ステップＳ４００）。この判定は、受信メッセージに含まれるメッセージ識別子がＣＤであるか否かを判定することによって行う。
【０１８５】
受信メッセージがコンテンツ本体伝送メッセージであると判定すると（ステップＳ４００：Ｙｅｓ）、制御手段107は、後述の「コンテンツ本体伝送メッセージ受信時の処理」を行う（ステップＳ４０３）。一方、受信メッセージがコンテンツ本体伝送メッセージではないと判定すると（ステップＳ４００：Ｎｏ）、制御手段107は、受信メッセージがコンテンツ要求メッセージであるか否かを判定する（ステップＳ４０１）。
【０１８６】
受信メッセージがコンテンツ要求メッセージであると判定すると（ステップＳ４０１：Ｙｅｓ）、制御手段107は、要求されたコンテンツデータを第２記憶部103から取り出し、コンテンツ要求メッセージの送信元のリクエストノードへその取り出したコンテンツデータをネットワークインターフェイス104を介して送信する（ステップＳ４０４）。一方、受信メッセージがコンテンツ要求メッセージではないと判定すると（ステップＳ４０１：Ｎｏ）、制御手段107は、受信メッセージが参加応答メッセージであるか否かを判定する（ステップＳ４０２）。
【０１８７】
受信メッセージが参加応答メッセージであると判定すると（ステップＳ４０２：Ｙｅｓ）、制御手段107は、後述する「参加応答メッセージ受信時の処理」を行う（ステップＳ４０５）。一方、受信メッセージが参加応答メッセージではないと判定すると（ステップＳ４０２：Ｎｏ）、制御手段107は、第１記憶部102に記憶されているルーティングテーブルからメッセージの転送先のノード装置１を取得するための処理を行う（ステップＳ４０６）。この転送先のノード装置１の取得処理は、受信メッセージに含まれる宛先識別情報とルーティングテーブルに格納したノードＩＤとを比較することによって行う。
【０１８８】
制御手段107は、ステップＳ４０６で取得したメッセージの転送先のノード装置１が自ノード装置１宛であるか否かを判定する（ステップＳ４０７）。具体的には、受信メッセージに含まれる宛先識別情報とルーティングテーブルに格納したノードＩＤとを比較した結果、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上のノードＩＤが自ノード装置１のノードＩＤであると判定すると、自ノード装置１宛のメッセージであると判定する。
【０１８９】
受信メッセージが自ノード装置１宛であると判定すると（ステップＳ４０７：Ｙｅｓ）、制御手段107は、受信メッセージが登録メッセージであるか否かを判定する（ステップＳ４１１）。受信メッセージが登録メッセージであると判定すると（ステップＳ４１１：Ｙｅｓ）、制御手段107は、受信メッセージ中に含まれるコンテンツＩＤと送信元（Publish元のコンテンツ保持ノード）のＩＰアドレスの組を、コンテンツ保持ノードの状態（第１状態か第２状態かの別）を、インデックス情報として第１記憶部102のインデックス情報記憶領域に記憶する（ステップＳ４１２）。
【０１９０】
また、制御手段107は、受信メッセージが登録メッセージでないと判定すると（ステップＳ４１１：Ｎｏ）、受信メッセージが問い合わせメッセージであるか否かを判定する（ステップＳ４１３）。受信メッセージが問い合わせメッセージであると判定すると（ステップＳ４１３：Ｙｅｓ）、制御手段107は、インデックス情報の中から、問い合わせメッセージに含まれる問い合わせのコンテンツＩＤを検索する。そして、検索したコンテンツＩＤのコンテンツデータを有するコンテンツ保持ノードのＩＰアドレス等を含む配信ノードリストを、問い合わせメッセージ送信元のノード装置１へ返送する（ステップＳ４１４）。この配信ノードリストには、コンテンツＩＤのコンテンツデータを有するコンテンツ保持ノードのＩＰアドレスのほか、このコンテンツ保持ノードの状態（第１状態か第２状態かの別）を有している。
【０１９１】
なお、ステップＳ４１４において、コンテンツ保持ノードのＩＰアドレスやその状態（第１状態か第２状態かの別）を含む配信ノードリストを、問い合わせメッセージ送信元のノード装置１へ返送するようにしたが、問い合わせメッセージに含まれる問い合わせのコンテンツＩＤのコンテンツデータを有するコンテンツ保持ノードのうち、第２状態のコンテンツ保持ノードが含まれている場合には、そのコンテンツ保持ノードを優先的にリクエストノードへ通知するようにしてもよい。このように構成することによって、問い合わせメッセージに対する応答メッセージ中に多数のコンテンツ保持ノードの情報を含ませることができないときに特に有効となる。
【０１９２】
ステップＳ４１３において、制御手段107は、受信メッセージが問い合わせメッセージではないと判定すると（ステップＳ４１３：Ｎｏ）、受信メッセージに対応する処理を行う（ステップＳ４１５）。
【０１９３】
一方、ステップＳ４０７において、受信メッセージが自ノード装置１宛ではないと判定すると（ステップＳ４０７：Ｎｏ）、制御手段107は、受信メッセージが参加要求メッセージであるか否かを判定する（ステップＳ４０８）。受信メッセージが参加要求メッセージであると判定すると（ステップＳ４０８：Ｙｅｓ）、制御手段107は、後述する「参加要求メッセージ受信時の処理」（ステップＳ４１０）を行い、受信メッセージが参加要求メッセージではないと判定すると（ステップＳ４０８：Ｎｏ）、受信メッセージをネットワークインターフェイス104を介して転送先のノード装置１へ転送する（ステップＳ４０９）。この受信メッセージの転送は、制御手段107によって、受信したメッセージの宛先識別情報に基づいて、転送先のノード装置の位置情報をルーティングテーブルから取り出すことによって行う。具体的には、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに格納したノードＩＤとを比較し、メッセージに含まれる宛先識別情報と一致する上位桁数レベルの次のレベルのノードＩＤに対応するＩＰアドレスをルーティングテーブルから取り出して、そのＩＰアドレス宛に受信したメッセージを転送する。
【０１９４】
ステップＳ４０３〜Ｓ４０５、Ｓ４０９、Ｓ４１０、Ｓ４１２、Ｓ４１４、Ｓ４１５の処理が終了すると、制御手段107は、後述する「ルーティングテーブル情報の更新処理」（ステップＳ４１６）を行う。
【０１９５】
（コンテンツ本体伝送メッセージ受信処理について）
次に、図１５を参照して、ＬＡＮ側装置10にコンテンツ本体伝送メッセージ受信処理（上述のステップＳ４０３の処理）の詳細について説明する。
【０１９６】
制御手段107は、受信したメッセージがコンテンツ本体伝送メッセージであるとき、このメッセージに含まれるコンテンツデータの断片を、第２記憶部103の所定領域の所定位置に記憶する（ステップＳ５００）。
【０１９７】
そして、制御手段107は、コンテンツデータの断片が全て届いたか否かを判定する（ステップＳ５０１）。この判定は、コンテンツ本体伝送メッセージに含まれる通し番号と、カタログ情報に含まれる全体サイズ情報とを比較することによって行う。つまり、コンテンツ本体伝送メッセージで送信できるコンテンツデータの断片サイズに通し番号を積算し、それが全体サイズ情報と同一になったときに、コンテンツデータの断片が全て届いたと判定するのである。
【０１９８】
コンテンツデータの断片が全て届いたと判定すると（ステップＳ５０１：Ｙｅｓ）、第１記憶部102のコンテンツデータ受信完了フラグ領域のコンテンツデータ受信完了フラグを１に設定して（ステップＳ５０２）、コンテンツ本体伝送メッセージ受信時の処理を終了する。一方、コンテンツデータの断片が全て届いていないと判定した場合（ステップＳ５０１：Ｎｏ）も、同様にコンテンツ本体伝送メッセージ受信時の処理を終了する。
【０１９９】
（参加要求メッセージ受信処理について）
次に、図１６を参照して、ＬＡＮ側装置10に参加要求メッセージ受信処理（上述のステップＳ４０５の処理）の詳細について説明する。
【０２００】
制御手段107は、受信メッセージが参加要求メッセージであるとき、第１記憶部102に記憶したルーティングテーブルの中から、この参加要求メッセージに含まれる転送回数カウンタに基づいて返送すべきテーブルのレベルを求める（ステップＳ６００）。たとえば、転送回数カウンタの値が４のときには、ルーティングテーブルにおけるレベル４が返送すべきテーブルのレベルとなる。なお、参加要求メッセージは、図２０（ｅ）のように構成されている。すなわち、参加要求メッセージである識別子ＪＯと、転送回数カウンタ（Relay counter）と図示しないが送信元の位置情報としてのＩＰアドレスとを有している。
【０２０１】
そして、制御手段107は、ステップＳ６００で求めたルーティングテーブルのレベルに対応する一列分のノードＩＤ及びＩＰアドレスをルーティングテーブルから取り出し、参加要求メッセージの送信元ノード装置１への参加応答メッセージに取り出した一列分のノードＩＤ及びＩＰアドレスを入れ込み、この参加応答メッセージを返送する（ステップＳ６０１）。
【０２０２】
次に、制御手段107は、ステップＳ１１２で受信した参加要求メッセージの中の転送回数カウンタを１つインクリメントした参加要求メッセージを生成（ステップＳ６０２）し、転送先のノード装置１にこの参加要求メッセージを転送する（ステップＳ６０３）。なお、この転送先のノード装置１への転送処理は、Ｓ４０６で求めておいた転送先のノード装置１のＩＰアドレスに対して、参加要求メッセージを送信する処理である。
【０２０３】
（参加応答メッセージ受信処理について）
次に、図１７を参照して、ＬＡＮ側装置10に参加応答メッセージ受信処理（上述のステップＳ４１０の処理）の詳細について説明する。
【０２０４】
制御手段107は、受信メッセージが参加応答メッセージであるとき、この参加応答メッセージに含まれる転送回数カウンタの値から、ルーティングテーブルのレベル番号を取得する（ステップＳ７００）。たとえば、転送回数カウンタの値が４のときには、ルーティングテーブルにおけるレベル４が返送すべきテーブルのレベルとなる。なお、参加応答メッセージは、図２０（ｆ）に示すように、参加応答メッセージであることを示す識別子ＪＲと、転送回数カウンタ（Relay counter）と、ルーティングテーブルの一列分のノードID及びこれらのノードＩＤのノード装置１におけるＩＰアドレスとを有している。
【０２０５】
その後、制御手段107は、この参加応答メッセージに含まれるルーティングテーブル一列分のデータを同一レベルのデータとして自ノード装置１のルーティングテーブルに書き込んで、記憶する（ステップＳ７０１）。たとえば、転送回数カウンタの値が４のときには、ルーティングテーブルにおけるレベル４の箇所にデータを書き込む。ステップＳ７０１の処理が終了すると、制御手段107は、参加応答メッセージ受信処理を終了する。
【０２０６】
（ルーティングテーブル更新処理について）
次に、図１８を参照して、ＬＡＮ側装置10にルーティングテーブル更新処理（上述のステップＳ４１６の処理）の詳細について説明する。
【０２０７】
制御手段107は、確率が１／２でＹｅｓとなるようにランダム演算を行い、その演算結果でＹｅｓとなったか否かを判定する（ステップＳ８００）。演算結果がＹｅｓの場合（ステップＳ８００：Ｙｅｓ）、全てのメッセージは送信元あるいは中継元のノード装置１のノードＩＤとＩＰアドレスとを含んでいるので、制御手段107は、送信元あるいは中継元のノード装置１のＩＰアドレスをルーティングテーブルのどのレベルに入れるべきかを判定する（ステップＳ８０１）。すなわち、制御手段107は、送信元あるいは中継元のノード装置１のノードＩＤと、自ノード装置１のノードＩＤとを比較し、どの上位桁まで一致しているか否かを判定する。そして、一致していない上位桁番号であるレベルを求め、そのレベルに対応するルーティングテーブルの行を求める。
【０２０８】
制御手段107は、ステップＳ８０１で求めたルーティングテーブルの行に、送信元あるいは中継元のノード装置１のノードＩＤとＩＰアドレスとをエントリー（登録）する（ステップＳ８０２）。このエントリーは、ステップＳ８０１で求めたルーティングテーブルの行に登録されている一つのノードＩＤ及びそれに対応するＩＰアドレスを削除し、この削除した箇所に送信元あるいは中継元のノード装置１のノードＩＤとＩＰアドレスとを登録することによって行う。このステップＳ８０２の処理が終了すると、制御手段107は、ルーティングテーブル更新処理を終了する。
【０２０９】
（ＡＶ側装置のメイン処理について）
次に、図１９を参照して、ＡＶ側装置20にメイン処理の詳細について説明する。
【０２１０】
図１９に示すように、ＡＶ側装置20の電源ユニット165がオン状態となると、制御手段164は、各プログラム170〜174を実行することによってＡＶ側装置20内の初期設定を行う（ステップＳ９００）。この際に、電源ユニット165の電源がオン状態となった旨の電源オン情報を、制御手段164は、無線通信インターフェイス154を介して、ＬＡＮ側装置10の制御手段107へ送信する。
【０２１１】
ＡＶ側装置20の初期設定が終了すると、制御手段164は、無線通信インターフェイス154を介して、ＬＡＮ側装置10の制御手段107へカタログ情報送信要求を行う。カタログ情報送信要求を受信した制御手段107は、ネットワークインターフェイス104を介して投入サーバへカタログ情報の要求を行う。その後、制御手段107は、投入サーバから受信したカタログ情報をディスプレイ159に表示する（ステップＳ９０１）。
【０２１２】
ＡＶ側装置20のユーザが、操作スイッチ157或いはリモコン155を操作することによって、コンテンツを選択するのを待つ（ステップＳ９０２）。ＡＶ側装置20のユーザがカタログの中からコンテンツを選択すると、制御手段164は、無線通信インターフェイス154を介して、ＬＡＮ側装置10の制御手段107へコンテンツの選択をコンテンツデータ選択情報として送信する（ステップＳ９０３）。なお、ＡＶ側装置20のユーザがカタログの中からコンテンツを選択するための操作スイッチ157の操作が、第１コンテンツデータ出力モードに関する操作に対する。また、コンテンツデータ選択情報が第１操作情報に対応する。
【０２１３】
制御手段164は、ステップＳ９０３において要求したコンテンツデータがＬＡＮ側装置10から送信されるのを待つ（ステップＳ９０４）。そして、ＬＡＮ側装置10からコンテンツデータが送信されると、制御手段164は、ディスプレイ159やスピーカ162などにコンテンツデータを出力して、再生する（ステップＳ９０５）。制御手段164は、以降、ステップＳ９０１からステップＳ９０５までの処理を繰り返す。
【０２１４】
また、ステップ９０１やステップＳ９０２において、ＡＶ側装置20のユーザが操作スイッチ157或いはリモコン155を操作することによって、カタログからコンテンツを選択するのではなく、ＡＶ側装置20に設けられたＤＶＤドライブなどのディスクドライブ（図示せず）に挿入されたメディアからコンテンツを再生することを選択すると、制御手段164は、このディスクドライブを制御することによってメディアからコンテンツを再生する制御を行う。また、制御手段164は、無線通信インターフェイス154を介して、ＬＡＮ側装置10の制御手段107へディスクドライブからコンテンツを再生することを示す情報を第２操作情報として送信する。
【０２１５】
ここで、フローチャート中には、図示しないが、電源ユニット165の電源がオン状態では、所定の周期で電源オン情報をLAN側装置10に送信し、電源ユニット165の電源がオフ状態となった場合に、電源オン情報が送信されない構成になっている。LAN側装置10は、電源オン情報が一定期間届かなくなったことを検出すると、AV側装置20がオフ状態になったことを知る。なお、電源ユニット165の電源がオン状態となった旨の電源オン情報は、制御手段164によって、無線通信インターフェイス154を介して、ＬＡＮ側装置10の制御手段107へ送信される。
【０２１６】
尚、本実施形態においては、電源ユニット165の電源がオン状態となるように操作スイッチが操作された後に、所定の周期で電源オン情報を送信し、電源ユニット165の電源がオフ状態となった場合に、電源オン情報を送信しないようにしたが、これに限らず、例えば、電源ユニット165の電源がオン状態となった旨の電源オンを送信し、電源ユニット165の電源がオフ状態となった旨の電源オフ情報を送信するように構成してもよい。すなわち、電源オフスイッチをハード的なスイッチでなく、ソフトスイッチ（スイッチのオン/オフをソフトウェアで検出できるようにして、電源のオフをソフトウェアから指令できるようにした構成）にして、電源オフをＬＡＮ側装置10に通知してから電源ユニット165の電源をオフにするという構成にしてもよい。これによって、ＬＡＮ側装置10においても、ＡＶ側装置20において設定されている状態が判定することができる。
【０２１７】
また、本実施形態においては、ＡＶ側装置20から電源オン状態であるか電源オフ状態であるかを判定するための情報をＬＡＮ側装置10に送信していたが、ＬＡＮ側装置10からＡＶ側装置20に対して問い合わせを行い、問い合わせに応答したら電源ユニット165の電源オン状態であると判定し、問い合わせに応答がなかったら電源ユニット165の電源オフ状態であると判定するようにしても良い。
【０２１８】
以上のように本実施形態におけるコンテンツ配信システムＳは、ＡＶ側装置20が電源ＯＦＦ状態等になった場合でも、ＬＡＮ側装置10の動作を継続することができる。したがって、ネットワーク上に分散配置された複数のノード装置１を有するコンテンツ配信システムにおいて、端末装置の参加及び脱退を抑制することにより、安定性を向上させることができる。
【０２１９】
また、ＬＡＮ側装置10とＡＶ側装置20とのそれぞれにＣＰＵ、主記憶装置、電源ユニットを設けたが、ＬＡＮ側装置10とＡＶ側装置20とを一体化し、ＣＰＵ、主記憶装置、電源ユニットをそれぞれ１つずつ設け、プログラムによって、ＬＡＮ側装置10の各手段、ＡＶ側装置20の各手段として機能させるようにしても良い。
【図面の簡単な説明】
【０２２０】
【図１】本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＩＤ空間の説明図である。
【図３】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図４】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図５】ＤＨＴによりコンテンツデータの保持元であるノード装置１が検索される様子の一例を示す図である。
【図６】コンテンツ保持ノードの登録メッセージが転送される様子をスパニングツリー状に表した図である。
【図７】実施形態におけるコンテンツ配信システムのノード装置の状態に応じたコンテンツデータの検索方法及び登録方法を説明するための図である。
【図８】ノード装置の概要構成例を示す図である。
【図９】本実施形態におけるＬＡＮ側装置の概略構成例を示す図である。
【図１０】本実施形態におけるＡＶ側装置の概略構成例を示す図である。
【図１１】ＬＡＮ側装置におけるＬＡＮ側装置メイン処理を示すフローチャート。
【図１２】ＬＡＮ側装置における保持コンテンツ登録処理を示すフローチャート。
【図１３】ＬＡＮ側装置におけるコンテンツ要求処理を示すフローチャート。
【図１４】ＬＡＮ側装置におけるメッセージ毎の処理を示すフローチャート。
【図１５】ＬＡＮ側装置におけるコンテンツ本体伝送メッセージ受信時の処理を示すフローチャート。
【図１６】ＬＡＮ側装置における参加要求メッセージ受信処理を示すフローチャート。
【図１７】ＬＡＮ側装置における参加応答メッセージ受信処理を示すフローチャート。
【図１８】ＬＡＮ側装置におけるルーティングテーブル更新処理を示すフローチャート。
【図１９】ＡＶ側装置におけるＡＶ側装置メイン処理を示すフローチャートである。
【図２０】各メッセージの構成を示す図である。
【符号の説明】
【０２２１】
１  ノード装置
４  インターネット
１０  ルータ
１０  ＬＡＮ側装置
２０  ＡＶ側装置
１０７  ＬＡＮ側装置の制御手段
１６４  ＡＶ側装置の制御手段
Ｓ  コンテンツ配信システム
【図１】
0004692278.tif 000002
【図２】
0004692278.tif 000003
【図３】
0004692278.tif 000004
【図４】
0004692278.tif 000005
【図５】
0004692278.tif 000006
【図６】
0004692278.tif 000007
【図７】
0004692278.tif 000008
【図８】
0004692278.tif 000009
【図９】
0004692278.tif 000010
【図１０】
0004692278.tif 000011
【図１１】
0004692278.tif 000012
【図１２】
0004692278.tif 000013
【図１３】
0004692278.tif 000014
【図１４】
0004692278.tif 000015
【図１５】
0004692278.tif 000016
【図１６】
0004692278.tif 000017
【図１７】
0004692278.tif 000018
【図１８】
0004692278.tif 000019
【図１９】
0004692278.tif 000020
【図２０】
0004692278.tif 000021