(57)【要約】      （修正有）【課題】ネットワークに負荷をかけることなく、ノード装置がキャッシュしているコンテンツデータのチェックを行なうことができる。【解決手段】ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータにそれぞれに対応する検索情報を各ノード装置間で分散して保存する情報通信システムに含まれるノード装置であって、コンテンツデータの検索情報を取得し、所定の規則に従って定められた担当範囲の検索情報であると判定された場合、その検索情報を担当検索情報記憶手段に記憶し、他のノード装置又は情報通信システムに含まれるサーバ装置からコンテンツデータを取得して、記憶し、そのコンテンツデータに対応する検索情報を記憶検索情報記憶手段に記憶し、担当検索情報記憶手段または記憶検索情報記憶手段に記憶される検索情報に基づいて、コンテンツデータを管理する。【選択図】図３
2010238161.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置であって、
前記コンテンツデータの前記検索情報を取得する検索情報取得手段と、
前記検索情報取得手段により取得された検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する検索情報判定手段と、
前記検索情報判定手段により、前記担当範囲であると判定された検索情報を記憶する担当検索情報記憶手段と、
他のノード装置又は前記情報通信システムに含まれるサーバ装置から前記コンテンツデータを取得するコンテンツデータ取得手段と、
前記コンテンツデータ取得手段により取得されたコンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する前記検索情報を記憶する記憶検索情報記憶手段と、
前記担当検索情報記憶手段または前記記憶検索情報記憶手段に記憶される前記検索情報に基づいて、前記コンテンツデータ記憶手段に記憶されたコンテンツデータを管理するコンテンツデータ管理手段と、
を備えることを備えることを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置において、
前記検索情報取得手段は、
前記検索情報を受信する検索情報受信手段を備え、
前記担当検索情報記憶手段または前記記憶検索情報記憶手段は、前記検索情報受信手段により受信された検索情報を記憶することを特徴とするノード装置。
【請求項３】
請求項１または請求項２に記載のノード装置において、
前記検索情報取得手段は、コンテンツデータの公開期間を示す公開期間情報を含む検索情報を取得し、
前記コンテンツデータ管理手段は、前記記憶検索情報記憶手段に記憶される前記公開期間情報を前記担当検索情報記憶手段より先に参照して、前記コンテンツデータ記憶手段に記憶されたコンテンツデータのうち、前記公開期間が過ぎたコンテンツデータを前記コンテンツデータ記憶手段から削除することを特徴とするノード装置。
【請求項４】
請求項１乃至請求項３の何れか一項に記載のノード装置において、
前記コンテンツ取得手段が前記コンテンツデータを取得するとき、前記検索情報取得手段は、前記コンテンツデータと対応付けられた前記検索情報を取得し、
前記記憶検索情報記憶手段は、前記検索情報取得手段により取得された前記検索情報を記憶することを特徴とするノード装置。
【請求項５】
請求項１乃至請求項４の何れか一項に記載のノード装置において、
前記検索情報判定手段により、前記検索情報取得手段により取得された検索情報が前記担当範囲の検索情報でないと判定されたとき、前記記憶検索情報記憶手段は、前記コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する前記検索情報であって、前記担当範囲の検索情報でないと判定された検索情報を記憶することを特徴とするノード装置。
【請求項６】
請求項１乃至請求項５の何れか一項に記載のノード装置において、
所定の条件に基いて、前記コンテンツデータ記憶手段から前記コンテンツデータを削除するコンテンツデータ削除手段と、
前記コンテンツデータ削除手段が前記コンテンツデータを削除するとき、前記コンテンツデータ削除手段により削除されるコンテンツデータに対応する前記検索情報を前記記憶検索情報記憶手段又は前記担当検索情報記憶手段から削除する検索情報削除手段と、
を有することを特徴とするノード装置。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載のノード装置において、
前記記憶検索情報記憶手段に前記検索情報が記憶可能な所定の記憶容量があるか否かを判定する記憶判定手段と、
前記記憶判定手段により、前記記憶検索情報記憶手段に前記所定の記憶容量がないと判定されたとき、前記記憶検索情報記憶手段から、所定の規則に従って前記検索情報を削除する第２検索情報削除手段とを、
備えることを特徴とするノード装置。
【請求項８】
コンピュータを、請求項１乃至請求項７のいずれか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項９】
請求項１乃至請求項８の何れか一項に記載のノード装置を備える前記情報通信システムにおいて、所定の条件に基いて、前記コンテンツデータの検索要求を受け付ける要求受付手段を有する第１の前記ノード装置は、前記要求受付手段により前記検索要求が受け付けられたとき、第２の前記ノード装置へコンテンツデータの検索要求メッセージを送信する検索要求メッセージ送信手段を有し、
前記第１のノード装置の前記検索情報取得手段は、前記第２のノード装置から前記検索要求メッセージに対応する検索情報を取得し、
前記第１のノード装置の前記記憶検索情報記憶手段は、前記検索情報取得手段が取得した前記検索情報を記憶し、
前記第２のノード装置は、
前記第１のノード装置から送信された前記検索要求メッセージを受信する検索要求メッセージ受信手段と、
前記検索要求メッセージ受信手段が前記検索要求メッセージを受信したとき、前記第２のノード装置の前記担当検索情報記憶手段または前記記憶検索情報記憶手段に前記検索要求メッセージに対応する検索情報が記憶されているかを判別する判別手段と、
前記判別手段により、前記検索情報が記憶されていると判別されたとき、前記第１のノード装置へ前記検索情報を送信する検索情報送信手段と、
を有することを特徴とする情報通信システム。
【請求項１０】
ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置におけるコンテンツデータ管理方法であって、
前記コンテンツデータの前記検索情報を取得する工程と、
取得された前記検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する判定工程と、
前記判定工程により、前記担当範囲であると判定された検索情報を担当検索情報記憶手段に記憶させる工程と、
他のノード装置又は前記情報通信システムに含まれるサーバ装置から前記コンテンツデータを取得する工程と、
取得された前記コンテンツデータをコンテンツデータ記憶手段に記憶させる工程と、
前記コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する前記検索情報を記憶検索情報記憶手段に記憶させる工程と、
前記担当検索情報記憶手段または前記記憶検索情報記憶手段に記憶された前記検索情報に基づいて、前記コンテンツデータ記憶手段に記憶されたコンテンツデータを管理する工程と、を有することを特徴とするコンテンツデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の情報通信システムに関する。特に、本発明は、複数のコンテンツデータが複数のノード装置に分散して保存された情報通信システム等の技術分野に関する。
【背景技術】
【０００２】
一般的に、この種の情報通信システムは、複数のノード装置により構成される。コンテンツデータは、複数のノード装置に分散保存されている。特許文献１には、コンテンツ配信システムの各ノード装置がコンテンツカタログ情報を有する技術が開示されている。コンテンツカタログ情報は、コンテンツデータの属性情報（例えば、コンテンツ名、ジャンル、アーティスト名等）が記述された情報である。各ノード装置は、コンテンツカタログ情報を取得する。当該コンテンツカタログ情報に記述された属性情報に基づき、各ノード装置は、ユーザーが所望するコンテンツデータを取得することが可能になっている。このようなコンテンツカタログ情報は、複数のノード装置において共通に使用される共用情報である。
【０００３】
具体的に特許文献１には、各ノード装置が所定の規則に従って定められた担当範囲のコンテンツデータのカタログ情報を分散して記憶することが開示されている。各ノード装置間でカタログ検索要求が行われることで、コンテンツデータのカタログ情報を互いに利用し合うことで、検索が実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７‐２８０３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、このような情報通信システムにおいて、例えば、公開期限を過ぎたコンテンツがいつまでもシステム内に保存されていることは好ましくない。そのため、各ノード装置が自己の記憶手段に記憶（キャッシュ）しているコンテンツの公開期限が過ぎたか否かをチェックする場合がある。公開期限が過ぎると（公開期間終了）、各ノード装置がキャッシュしているコンテンツデータを記憶手段から削除する。コンテンツデータの公開期間は、各コンテンツデータの属性情報に公開期間情報としてそれぞれ含まれている。
【０００６】
しかし、特許文献１に記載の各ノード装置は、各ノード装置自身が担当する範囲のコンテンツデータの属性情報しか記憶していない。従って、ノード装置がキャッシュしているコンテンツデータであっても、当該ノード装置がそのコンテンツデータの属性情報を記憶していない場合がある。上述の場合、キャッシュしているコンテンツデータの公開期間をノード装置がチェックするとき、当該ノード装置は、他のノード装置へ公開期間を教えてもらうために、カタログ検索要求を行なう必要があった。そのため、公開期間をチェックするたびに、他のノード装置へカタログ検索要求が行われるため、ネットワーク負荷が増大するという問題が生じていた。
【０００７】
本発明は、以上の点等に鑑みてなされたものであり、ネットワークに負荷をかけることなく、ノード装置がキャッシュしているコンテンツデータのチェックを行なうことができるノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置であって、前記コンテンツデータの前記検索情報を取得する検索情報取得手段と、前記検索情報取得手段により取得された検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する検索情報判定手段と、前記検索情報判定手段により、前記担当範囲であると判定された検索情報を記憶する担当検索情報記憶手段と、他のノード装置又は前記情報通信システムに含まれるサーバ装置から前記コンテンツデータを取得するコンテンツデータ取得手段と、前記コンテンツデータ取得手段により取得されたコンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する前記検索情報を記憶する記憶検索情報記憶手段と、前記担当検索情報記憶手段または前記記憶検索情報記憶手段に記憶される前記検索情報に基づいて、前記コンテンツデータ記憶手段に記憶されたコンテンツデータを管理するコンテンツデータ管理手段と、を備えることを特徴とするノード装置である。
【０００９】
この発明は、コンテンツデータキャッシュ領域等のコンテンツデータ記憶手段に記憶されたコンテンツデータに対応するレコード等の検索情報を、保存コンテンツカタログ等の記憶検索情報記憶手段に記憶するよう構成した。従って、保存コンテンツカタログ等の記憶検索情報記憶手段、又は担当範囲のレコード等の検索情報を記憶するローカルカタログ等の担当検索情報記憶手段を参照して、ネットワークに負荷をかけることなく、コンテンツデータ記憶手段に記憶されたコンテンツデータの管理を行なうことができる。
【００１０】
上記課題を解決するために、請求項２に記載の発明は、請求項１に記載のノード装置において、前記検索情報取得手段は、前記検索情報を受信する検索情報受信手段を備え、前記担当検索情報記憶手段または前記記憶検索情報記憶手段は、前記検索情報受信手段により受信された検索情報を記憶することを特徴とするノード装置である。
【００１１】
この発明は、管理サーバ等から送信されたレコード等の検索情報を受信して取得し、ローカルカタログ等の担当検索情報記憶手段又は保存コンテンツカタログ等の記憶検索情報記憶手段に記憶するよう構成した。従って、受信した検索情報が自己の担当範囲であれば、担当検索情報記憶手段に登録、更新を行ない、記憶検索情報記憶手段に登録されている検索情報であれば、受信した検索情報を用いて更新を行なうことができる。
【００１２】
上記課題を解決するために、請求項３に記載の発明は、請求項１または請求項２に記載のノード装置において、前記検索情報取得手段は、コンテンツデータの公開期間を示す公開期間情報を含む検索情報を取得し、前記コンテンツデータ管理手段は、前記記憶検索情報記憶手段に記憶される前記公開期間情報を前記担当検索情報記憶手段より先に参照して、前記コンテンツデータ記憶手段に記憶されたコンテンツデータのうち、前記公開期間が過ぎたコンテンツデータを前記コンテンツデータ記憶手段から削除することを特徴とするノード装置である。
【００１３】
この発明によれば、公開期限が過ぎたコンテンツデータを削除するとき、ネットワークを介して検索情報を取得して公開期限が過ぎているかを確認する必要がない。この結果、ネットワークに負荷をかけることなく、公開期限が過ぎたコンテンツを削除することができる。
【００１４】
上記課題を解決するために、請求項４に記載の発明は、請求項１乃至請求項３の何れか一項に記載のノード装置において、前記コンテンツ取得手段が前記コンテンツデータを取得するとき、前記検索情報取得手段は、前記コンテンツデータと対応付けられた前記検索情報を取得し、前記記憶検索情報記憶手段は、前記検索情報取得手段により取得された前記検索情報を記憶することを特徴とするノード装置である。
【００１５】
この発明によれば、コンテンツデータを取得する際に、当該コンテンツデータの検索情報を記憶検索情報記憶手段に記憶するよう構成したので、取得したコンテンツデータの検索情報を記憶検索情報記憶手段に確実に記憶させることができる。
【００１６】
上記課題を解決するために、請求項５に記載の発明は、請求項１乃至請求項４の何れか一項に記載のノード装置において、前記検索情報判定手段により、前記検索情報取得手段により取得された検索情報が前記担当範囲の検索情報でないと判定されたとき、前記記憶検索情報記憶手段は、前記コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する前記検索情報であって、前記担当範囲の検索情報でないと判定された検索情報を記憶することを特徴とするノード装置である。
【００１７】
この発明では、コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する検索情報のうち、担当範囲でない検索情報のみを記憶検索情報記憶手段に記憶させることができる。従って、担当検索情報記憶手段と記憶検索情報記憶手段が重複して同じ検索情報を記憶することを防ぐことができる。
【００１８】
上記課題を解決するために、請求項６に記載の発明は、請求項１乃至請求項５の何れか一項に記載のノード装置において、所定の条件に基いて、前記コンテンツデータ記憶手段から前記コンテンツデータを削除するコンテンツデータ削除手段と、前記コンテンツデータ削除手段が前記コンテンツデータを削除するとき、前記コンテンツデータ削除手段により削除されるコンテンツデータに対応する前記検索情報を前記記憶検索情報記憶手段又は前記担当検索情報記憶手段から削除する検索情報削除手段と、を有することを特徴とするノード装置である。
【００１９】
この発明によれば、コンテンツデータが削除されるときに、削除されるコンテンツデータに対応する検索情報も削除されるため、不要な検索情報が記憶されない。この結果、不要な検索情報で記憶手段を圧迫することがない。
【００２０】
上記課題を解決するために、請求項７に記載の発明は、請求項１乃至請求項６のいずれか一項に記載のノード装置において、前記記憶検索情報記憶手段に前記検索情報が記憶可能な所定の記憶容量があるか否かを判定する記憶判定手段と、前記記憶判定手段により、前記記憶検索情報記憶手段に前記所定の記憶容量がないと判定されたとき、前記記憶検索情報記憶手段から、所定の規則に従って前記検索情報を削除する第２検索情報削除手段とを備えることを特徴とするノード装置である。
【００２１】
この発明によれば、新たな検索情報が記憶不可能な場合であっても、検索情報記憶領域から検索情報を削除して、新たな検索情報を記憶させることができる。
【００２２】
上記課題を解決するために、請求項８に記載の発明は、コンピュータを、請求項１乃至請求項７のいずれか一項に記載のノード装置として機能させることを特徴とするノード処理プログラムである。
【００２３】
上記課題を解決するために、請求項９に記載の発明は、請求項１乃至請求項８の何れか一項に記載のノード装置を備える前記情報通信システムにおいて、所定の条件に基いて、前記コンテンツデータの検索要求を受け付ける要求受付手段を有する第１の前記ノード装置は、前記要求受付手段により前記検索要求が受け付けられたとき、第２の前記ノード装置へコンテンツデータの検索要求メッセージを送信する検索要求メッセージ送信手段を有し、前記第１のノード装置の前記検索情報取得手段は、前記第２のノード装置から前記検索要求メッセージに対応する検索情報を取得し、前記第１のノード装置の前記記憶検索情報記憶手段は、前記検索情報取得手段が取得した前記検索情報を記憶し、前記第２のノード装置は、前記第１のノード装置から送信された前記検索要求メッセージを受信する検索要求メッセージ受信手段と、前記検索要求メッセージ受信手段が前記検索要求メッセージを受信したとき、前記第２のノード装置の前記担当検索情報記憶手段または前記記憶検索情報記憶手段に前記検索要求メッセージに対応する検索情報が記憶されているかを判別する判別手段と、前記判別手段により、前記検索情報が記憶されていると判別されたとき、前記第１のノード装置へ前記検索情報を送信する検索情報送信手段と、を有することを特徴とする情報通信システムである。
【００２４】
この発明によれば、第１のノード装置が第２のノード装置に検索要求をしたときに、第２のノード装置から送信された検索情報を受信、取得して自己の記憶検索情報記憶手段に記憶させることができる。
【００２５】
上記課題を解決するために、請求項１０に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置におけるコンテンツデータ管理方法であって、前記コンテンツデータの前記検索情報を取得する工程と、取得された前記検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する判定工程と、前記判定工程により、前記担当範囲であると判定された検索情報を担当検索情報記憶手段に記憶させる工程と、他のノード装置又は前記情報通信システムに含まれるサーバ装置から前記コンテンツデータを取得する工程と、取得された前記コンテンツデータをコンテンツデータ記憶手段に記憶させる工程と、前記コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する前記検索情報を記憶検索情報記憶手段に記憶させる工程と、前記担当検索情報記憶手段または前記記憶検索情報記憶手段に記憶された前記検索情報に基づいて、前記コンテンツデータ記憶手段に記憶されたコンテンツデータを管理する工程と、を有することを特徴とするコンテンツデータ管理方法である。
【発明の効果】
【００２６】
本発明によれば、ノード装置が、コンテンツデータ記憶手段に記憶されたコンテンツデータに対応する検索情報を記憶検索情報記憶手段に記憶するよう構成したので、ネットワークに負荷をかけることなく、記憶検索情報記憶手段、又は担当範囲の検索情報を記憶する担当検索情報記憶手段を参照して、コンテンツデータ記憶手段に記憶されたコンテンツデータの管理を行なうことができる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係るデータファイル分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【図２】ノードＮｎの概要構成例を示すブロック図である。
【図３】ノードＮｎにおける制御部１１のメイン処理を示すフローチャートである。
【図４】ステップＳ１６の「検索結果レコード保存処理」及びステップＳ２０の「取得コンテンツデータレコード保存処理」を示すフローチャートである。
【図５】ステップＳ２２の「メッセージ受信処理」を示すフローチャートである。
【図６】ステップＳ２３の「保存コンテンツデータのチェック処理」を示すフローチャートである。
【図７】ステップＳ４３の「カタログ更新処理」を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態では、コンテンツ分散保存システムを本発明の情報通信システムの一例として説明する。
【００２９】
１．コンテンツ分散保存システムの構成及び動作概要
始めに、図１等を参照して、本実施形態に係るコンテンツ分散保存システムＳの構成及び動作概要について説明する。
【００３０】
図１は、本実施形態に係るコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００３１】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ、４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５ａ、５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク８が構築されている。なお、図１の例におけるネットワーク８には、データをパケット転送するためのルータが、適宜挿入されているが図示を省略している。また、ネットワーク８は、現実世界の通信ネットワークである。
【００３２】
このようなネットワーク８には、複数のノード装置Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。なお、ノード装置Ｎｎは、以下の説明において、ノードと言う。
【００３３】
また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
【００３４】
なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９であり、論理的なネットワークである。かかるオーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳに参加している各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。なお、“コンテンツ分散保存システムＳに参加している”とは、言い換えれば、“オーバーレイネットワーク９に参加している”ことと同義である。なお、ノードＩＤはノード装置識別情報の一例である。
【００３５】
また、ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、ハッシュ関数ＳＨＡ−１等により得たｂｉｔ長が１６０ｂｉｔ等の値をノードＩＤとし、各ノードＮｎのノードＩＤが一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３６】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保存している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノード情報が複数登録されている。ノード情報は、当該ノードＮｎのノードＩＤとアドレス情報を含むものであり、当該アドレス情報は、例えば、ＩＰアドレスとポート番号等を含む。
【００３７】
ところで、コンテンツ分散保存システムＳにおいては、内容の異なる様々な映画、アニメ、音楽等のコンテンツの複製データが所定のファイル形式で複数のノードＮｎに分散して保存されており、各ノードＮｎ間で当該レプリカを利用可能になっている。なお、以下の説明において、“コンテンツの複製データ”を、「レプリカ」又は「コンテンツデータ」と言う。
【００３８】
例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されており、一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存されるというように、複数のノードＮｎに分散されて保存されている。なお、以下の説明において、“レプリカ（コンテンツデータ）を保存するノードＮｎ”を「コンテンツ保存ノード」という。
【００３９】
また、これらのコンテンツのレプリカには、夫々、コンテンツのタイトルなどのコンテンツ名及びコンテンツＩＤ等の情報が付加されている。このコンテンツＩＤは、コンテンツ毎に固有の識別情報であり、コンテンツ識別情報の一例である。例えば、コンテンツ名＋任意の数値や、コンテンツの先頭数バイト等の数値が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される。そして、コンテンツＩＤは、ノードＩＤと同一のＩＤ空間に配置される。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値を付与しても良い。なお、この場合もノードＩＤと同一ビット長となるようなコンテンツＩＤを付与し、ノードＩＤとコンテンツＩＤが同一のＩＤ空間に存在するよう構成する。なお、ＩＤ空間については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【００４０】
このように分散保存されているコンテンツのレプリカの所在、つまり、当該レプリカを保存したノードＮｎのノード情報と当該コンテンツのコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードＮｎ等により記憶、管理されるようになっている。なお、以下の説明において、“レプリカの保存”を“レプリカの記憶”又は“レプリカのキャッシュ”ともいい、“コンテンツのレプリカの所在を管理しているノードＮｎ”を“ルートノード”という。
【００４１】
このようなコンテンツ分散保存システムＳにおいて、コンテンツデータをダウンロードする際には、コンテンツをリクエストするユーザーノードが、先ず、カタログ情報を参照して取得したいコンテンツのコンテンツＩＤを取得する。
【００４２】
カタログ情報は、サーバ装置の一例であるコンテンツ分散保存システムＳを運営する管理者の管理サーバ等から各ノードＮｎにマルチキャスト送信等により配布されている。
【００４３】
そして、ユーザーノードは、コンテンツ保存ノードの所在を検索すべく、取得したコンテンツＩＤを含む検索メッセージ（クエリ）を生成する。そして、生成したクエリをルーティングテーブルに従ってルートノードに向けて送出し、ルートノードからコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を送信してもらう。そして、アドレス情報に従ってコンテンツ保存ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからそのコンテンツのコンテンツデータをダウンロードする。或いは、ユーザーノードからクエリを受信したルートノードが、コンテンツ保存ノードに対してユーザーノードのアドレス情報を含むコンテンツ送信要求メッセージを送信し、これにより、ユーザーノードが、上記コンテンツ保存ノードからそのコンテンツのコンテンツデータをダウンロードすることもできる。
【００４４】
なお、このようなＤＨＴを用いたルーティングテーブルや、当該ルーティングテーブルを利用した各ノードＮｎ間におけるメッセージの転送については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【００４５】
管理サーバ等から各ノードＮｎにマルチキャスト送信等により配布されるカタログ情報には、コンテンツの検索情報の一例としてのレコードが記憶されている。
【００４６】
コンテンツのレコードとは、コンテンツの属性情報であり、例えば、コンテンツＩＤ、コンテンツの公開期間を示す公開期間情報、コンテンツの検索用キーワード、コンテンツの評価値、コンテンツタイトル、ジャンル、アーティスト名、出演者、監督名等である。なお、属性情報の詳細は、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【００４７】
このようなコンテンツのレコードは、ユーザーが所望のコンテンツデータを特定する場合の要素である。多くのコンテンツデータの中から所望のコンテンツデータを検索するための検索条件としての検索キーワードとしても利用される。例えば、ユーザーが検索キーワードとして「ジャズ」を入力すると、レコードに「ジャズ」に該当するコンテンツデータが検索され、検索結果がユーザーに選択可能に提示されることになる。検索結果としては、例えば、検索されたコンテンツデータのレコードを提示する。
【００４８】
ところで、各ノードＮｎが、夫々、マルチキャストによって配布されたカタログ情報の全部を記憶する形態の場合、コンテンツ分散保存システムＳ上に投入されるコンテンツの数が膨大になると、カタログ情報のデータ量も大きくなりすぎて１台のノードＮｎの記憶領域に記憶しきれないという事態が想定される。
【００４９】
そこで、本実施形態では、ノード毎にコンテンツデータの担当範囲を所定の規則に従って定め、各ノードＮｎが、自己の担当範囲のコンテンツのレコードが記憶されたカタログ情報を記憶するように構成し、カタログ情報を複数のノードで分散するよう構成した。
【００５０】
本実施形態では、「担当範囲」を、例えば、ノードＩＤとコンテンツＩＤとの最上位桁目からの一致すべき桁数を示す「Ｒａｎｇｅ」で表す。
【００５１】
例えば、Ｒａｎｇｅ＝１の場合、ノードＩＤとコンテンツＩＤの少なくとも最上位桁目が一致すべきことを意味し、Ｒａｎｇｅ＝２の場合、ノードＩＤとコンテンツＩＤの少なくとも最上位桁目及びその次の桁目が一致すべきことを意味しており、当該Ｒａｎｇｅは、担当範囲が広くなるほど、小さくなる桁数を示している。
【００５２】
そして、夫々のノードＮｎは、上記Ｒａｎｇｅを記憶しており、自己のノードＩＤのうちＲａｎｇｅにて示される桁数分の所定桁目が一致するコンテンツＩＤを有するコンテンツデータを、自己の担当範囲のコンテンツデータとして、そのレコードが記憶されたカタログ情報を記憶する。例えば、ノードＩＤが「０１３２」でＲａｎｇｅ＝１であるノードは、少なくとも最上位桁目が「０」であるコンテンツＩＤを有する全てのコンテンツデータを、自己の担当範囲のコンテンツデータとしてそのレコードが記憶されたカタログ情報を記憶することになる。
【００５３】
また、ノードＩＤが「１００１」でＲａｎｇｅ＝２であるノードは、少なくとも最上位桁目から２桁目までが「１０」であるコンテンツＩＤを有する全てのコンテンツデータを、担当範囲のコンテンツデータとしてそのレコードが記憶されたコンテンツカタログ情報を記憶することになる。なお、Ｒａｎｇｅ＝０の場合、カタログ情報の全部を記憶することになる。
【００５４】
なお、各ノードＮｎは、自己の担当範囲外のコンテンツデータのレコードが記憶されたカタログ情報を記憶することを妨げるものではない。最低限自己の担当範囲のコンテンツデータのレコードについては、他のノードＮｎに対して記憶していることを保証するものである。
【００５５】
Ｒａｎｇｅをどのように設定するかは、各ノード毎に任意である。例えば、担当範囲のカタログ情報を記憶する担当検索情報記憶領域の記憶容量が小さいほど狭く、記憶容量が大きいほど広く設定するよう構成してもよい。
【００５６】
このように、オーバーレイネットワーク９に参加している各ノードには、上述した規則に則って定められた担当範囲のコンテンツデータのレコードが記憶されたカタログ情報が記憶されているものとする。その他、例えば、カタログ情報の受信処理など、各ノードＮｎが有する担当範囲のカタログ情報の詳細については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【００５７】
本実施形態では、更に、各ノードＮｎは、自己が保存するコンテンツデータのレコードが記憶されたカタログ情報も記憶するよう構成する。
【００５８】
そして、ノードＮｎは、後述する「保存コンテンツデータのチェック処理」において、自己が保存するコンテンツデータについてメンテナンスや確認作業を行なう際には、先に自己が記憶しているカタログ情報を参照する。そして、自己が保存するコンテンツデータのレコードが自己が記憶しているカタログ情報に無い場合には、次に、後述する「カタログ検索処理」を行ない他のノードＮｎから自己が保存するコンテンツデータのレコードを取得してメンテナンスを行なう。
【００５９】
メンテナンスとは、例えば、カタログ情報に記憶されたコンテンツの公開期間情報に基づいて、コンテンツの公開期間が過ぎたコンテンツの公開を終了する等の処理である。具体的には、例えば、コンテンツの公開期間が過ぎたコンテンツデータを自己の記憶部から削除することによりコンテンツの公開を終了する。
【００６０】
また、自己が保存するコンテンツデータの確認作業の例として、コンテンツの公開期間情報に基づいて、コンテンツの公開期間中であるコンテンツの送信を許可する等の処理がある。具体的には、例えば、他のノードＮｎからのコンテンツ送信要求メッセージに対するコンテンツ送信処理において、コンテンツの送信の際に、レコードを確認する。そして、公開期間中であれば、当該コンテンツの送信を許可するよう処理する。
【００６１】
また、メンテナンスの他の例として、コンテンツの評価値に基づいて、自己の記憶部に記憶されたコンテンツの保存優先順位が決定される場合に、当該保存優先順位を更新する等の処理もある。なお、保存優先順位については後に詳述する。
【００６２】
このように、各ノードＮｎは、自己の担当範囲のカタログ情報と、自己が保存するコンテンツデータのカタログ情報を記憶するよう構成した。これにより、自己が保存するコンテンツデータのメンテナンスや確認作業の際に、先ず、自己が保存するコンテンツデータのカタログ情報と自己の担当範囲のカタログ情報を参照する。それでもなお、自己が保存するコンテンツデータのレコードが無い場合にのみ、他のノードＮｎに対して後述する「コンテンツ検索処理」を行なうよう構成したので、ネットワーク負荷の増大を防止することができる。
【００６３】
なお、以下の説明において、自己の担当範囲のカタログ情報を「ローカルカタログ」と称し、自己が保存するコンテンツデータのカタログ情報を「保存コンテンツカタログ」と称する。
【００６４】
２.ノードＮｎの構成及び機能
次に、図２を参照して、ノードＮｎの構成及び機能について説明する。
【００６５】
図２は、ノードＮｎの概要構成例を示すブロック図である。
【００６６】
各ノードＮｎは、制御部１１と、記憶部１２と、バッファメモリ１３と、デコーダ部１４と、映像処理部１５と、表示部１６と、音声処理部１７と、スピーカ１８と、通信部２０と、入力部２１とから構成される。制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部２０、及び入力部２１はバス２２を介して相互に接続されている。制御部１１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成される。制御部１１は、本実施形態のコンピュータとして機能する。記憶部１２は、各種データ及び各種プログラム等を記憶保存（格納）するためを記憶するハードディスク等から構成される。例えば、記憶部１２はコンテンツのレプリカを記憶する。また、システムＳ１又はＳ２に参加後は、記憶部１２はインデックスキャッシュ、ＤＨＴ等を記憶する。バッファメモリ１３は、受信されたコンテンツのレプリカ等を一時蓄積する。デコーダ部１４は、エンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）する。コンテンツが映像や音声を含む場合に、デコーダ部１４は、コンテンツのレプリカに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部１５は、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。表示部１６は、映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等である。音声処理部１７は、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する。スピーカ１８は、音声処理部１７から出力されたオーディオ信号を音波として出力する通信部２０は、ネットワーク８を通じて他のノードＮｎ等間の情報の通信制御を行なう。入力部２１は、ユーザーからの指示を受け付け、指示に応じた指示信号を制御部１１へ通信する。入力部２１は、例えば、キーボード、マウス、或いは、操作パネル等である。
【００６７】
なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、通信カラオケ装置、或いは、ＴＶ受信機等が適用可能である。
【００６８】
記憶部１２は、コンテンツデータキャッシュ領域を有し、コンテンツ分散保存システムＳに参加する他のノードＮｎや管理サーバ等から取得したコンテンツデータが当該コンテンツデータキャッシュ領域に記憶される。
【００６９】
また、記憶部１２には、キャッシュリストが記憶されている。当該キャッシュリストは、コンテンツデータキャッシュ領域に記憶しているコンテンツデータのコンテンツ名、コンテンツＩＤなど、コンテンツデータに関する情報がそれぞれ対応付けて登録されている。更に、キャッシュリストには、後述する「保存コンテンツデータのチェック処理」やコンテンツ送信要求メッセージに応じてコンテンツを送信した際など、レコードがチェックされた時間が、最終チェック時間として登録されている。
【００７０】
また、記憶部１２には、当該ノードＮｎ自身のアドレス情報及びノードＩＤと、ルーティングテーブルが記憶される。
【００７１】
また、記憶部１２には、自己が所在を管理するコンテンツの情報と、当該コンテンツを保存するコンテンツ保存ノードの情報がインデックスキャッシュとして記憶される。なお、「自己が所在を管理するコンテンツの情報」とは、コンテンツのコンテンツＩＤであり、「コンテンツ保存ノードの情報」はコンテンツ保存ノードのノード情報である。
【００７２】
また、記憶部１２には、カタログ情報の担当範囲を決定するための自己のＲａｎｇｅが記憶されている。
【００７３】
更に、記憶部１２は、担当検索情報記憶領域と記憶検索情報記憶領域を有する。担当検索情報記憶領域には、ローカルカタログが記憶されており、記憶検索情報記憶領域には、保存コンテンツカタログが記憶されている。
【００７４】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳへの参加により上述したユーザーノード、中継ノード、ルートノード、コンテンツ保存ノードの少なくとも何れか一つのノードとしての処理を行なうようになっている。
【００７５】
また、制御部１１は、本発明のノード処理プログラムを実行することにより、本発明における検索情報取得手段、検索情報判定手段、担当検索情報記憶手段、コンテンツデータ取得手段、コンテンツデータ記憶手段、記憶検索情報記憶手段、コンテンツデータ管理手段、検索情報受信手段、コンテンツデータ削除手段、検索情報削除手段、記憶判定手段、第２検索情報削除手段、要求受付手段、検索要求メッセージ送信手段、検索要求メッセージ受信手段、検索判定手段、検索情報送信手段等として機能する。
【００７６】
なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００７７】
３．ノードＮｎの処理
ノードＮｎにおける処理を、図を参照して詳しく説明する。
【００７８】
３−１．メイン処理
図３は、コンテンツ分散保存システムＳに参加している任意のノードＮｎにおける制御部１１のメイン処理を示すフローチャートであり、コンテンツ分散保存システムＳへの参加後（例えば、コンタクトノードへのアクセスの後）に本発明のノード処理が読み出され処理が開始する。
【００７９】
先ず、制御部１１は、当該ノードＮｎ自身の電源がオフとされたか否かを判定し（ステップＳ１０）、電源がオフとされた場合（ステップＳ１０：Ｙｅｓ）には処理を終了し、電源がオフとされていない場合（ステップＳ１０：Ｎｏ）には、所定条件に基づいてコンテンツの検索要求受付がされたか否かを判定する（ステップＳ１１）。具体的には、例えば、ユーザーによって入力部２１が操作され、キーワードや公開期間の範囲指定などの条件が入力されコンテンツの検索要求が受け付けられたか否かを判定する。
【００８０】
判定の結果、検索要求が受け付けられた場合（ステップＳ１１：Ｙｅｓ）には、ＲＡＭ等に予め用意された「検索結果リスト」を０として初期化する（ステップＳ１２）。
【００８１】
次いで、制御部１１は、記憶部１２に記憶した保存コンテンツカタログを検索し、所定条件に該当するコンテンツがあれば、当該コンテンツの情報を検索結果として表示部１６に表示してユーザーに提示する（ステップＳ１３）。なお、検索結果として提示されるコンテンツの情報は、例えばコンテンツのレコード等であり、当該レコードを検索結果リストに登録する。
【００８２】
続いて、制御部１１は、「カタログ検索処理」を行なう（ステップＳ１４）。ここで実行される「カタログ検索処理」は、他のノードＮｎに対して検索要求メッセージを送信し、他のノードＮｎにて記憶されているローカルカタログ又は保存コンテンツカタログの中から所定条件に該当するコンテンツの検索処理を行なってもらい、当該他のノードＮｎから検索結果を返信してもらう処理である。なお、所定条件は検索要求メッセージに含んで送信すればよい。なお、当該「カタログ検索処理」の詳細については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【００８３】
なお、ステップＳ１４における「カタログ検索処理」では、自己の記憶部１２に記憶したローカルカタログ内も検索する。
【００８４】
そして、他のノードＮｎから取得した検索結果とローカルカタログを検索して取得した検索結果を表示部１６に表示してユーザーに提示する（ステップＳ１５）。
【００８５】
このとき検索結果リストには、ステップＳ１３にて得られた検索結果が登録されているが、ステップＳ１５では、検索結果リストに登録されていない検索結果のみを提示するよう構成してもよい。ステップＳ１３にて提示済みの検索結果が重複して提示されないようにするためである。
【００８６】
続いて、制御部１１は、「検索結果レコード保存処理」を行ない（ステップＳ１６）、ステップＳ１０へ移行する。なお、ステップＳ１６の「検索結果レコード保存処理」は後に詳述する。
【００８７】
一方、ステップＳ１１において、検索要求が受け付けられていないと判定された場合（ステップＳ１１：Ｎｏ）には、制御部１１は、ステップＳ１３又はステップＳ１５にて提示した検索結果からコンテンツの選択がされたか否かを判定する（ステップＳ１７）。
【００８８】
具体的には、検索結果を提示されたユーザーが、入力部２１を操作することにより、検索結果の中からコンテンツデータの取得を所望するコンテンツの選択が行われたか否かを判定する。
【００８９】
判定の結果、コンテンツの選択がされた場合には（ステップＳ１７：Ｙｅｓ）、制御部１１は、選択されたコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を取得する（ステップＳ１８）。具体的には、選択されたコンテンツのコンテンツＩＤをキーとするクエリの送信により、当該コンテンツのルートノードから当該コンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を返信してもらう。なお、所定時間経過してもコンテンツ保存ノードのアドレス情報が取得できなかった場合には、管理サーバに問い合わせて、管理サーバからコンテンツ保存ノードのアドレス情報を取得してもよい。
【００９０】
そして、制御部１１は、取得したアドレス情報に従ってコンテンツ保存ノードにアクセスし、コンテンツ保存ノードから選択されたコンテンツのコンテンツデータを取得する（ステップＳ１９）。取得したコンテンツデータは、記憶部１２のコンテンツデータキャッシュ領域に記憶される。更に、制御部１１は、取得したコンテンツデータに関する情報をキャッシュリストに追加登録する。更に、コンテンツデータを記憶したことを他のノードＮｎに知らせるため、コンテンツデータの登録（パブリッシュ）処理を行なう。なお、コンテンツデータのパブリッシュ処理については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【００９１】
そして、取得したコンテンツデータの再生処理を行なう。なお、コンテンツデータの再生処理は、以下に説明する「取得コンテンツデータレコード保存処理」などの処理と並行して行ってもよい。
【００９２】
次いで、「取得コンテンツデータレコード保存処理」を行なう（ステップＳ２０）、ステップＳ１９にて取得したコンテンツデータのレコードを保存コンテンツカタログ又はローカルカタログに保存して、ステップＳ１０へ移行する。なお、ステップＳ２０の「取得コンテンツデータレコード保存処理」は、後に詳述する。
【００９３】
一方、ステップＳ１７において、コンテンツの選択がされていない場合（ステップＳ１７：Ｎｏ）には、制御部１１は、他のノードＮｎ又は管理サーバからメッセージを受信したか否かを判定する（ステップＳ２１）。
【００９４】
判定の結果、メッセージを受信した場合（ステップＳ２１：Ｙｅｓ）には、「メッセージ受信処理」を行ない（ステップＳ２２）、ステップＳ１０へ移行する。なお、ステップＳ２２の「メッセージ受信処理」は、後に詳述する。
【００９５】
また、メッセージを受信していない場合（ステップＳ２１：Ｎｏ）には、「保存コンテンツデータのチェック処理」を行ない（ステップＳ２３）、ステップＳ１０へ移行する。なお、ステップＳ２３の「保存コンテンツデータのチェック処理」は、後に詳述する。
【００９６】
上記ステップＳ１８において、取得を所望するコンテンツのコンテンツ保存ノードのアドレス情報をルートノードから取得しているが、クエリを受信したルートノードがコンテンツ保存ノードに対してユーザーノードのアドレス情報を含むコンテンツ送信要求メッセージを送信し、これにより、ユーザーノードは、上記コンテンツ保存ノードからそのコンテンツデータを取得するよう構成してもよい。
【００９７】
また、ステップＳ１９にてコンテンツデータを取得した後に、ステップＳ２０にて当該コンテンツデータに対する「取得コンテンツデータレコード保存処理」を行なっているが、ステップＳ１７においてコンテンツの選択がされたときに、当該選択されたコンテンツに対するレコードを保存する処理を行ない、その後にコンテンツデータを取得してもよい。
【００９８】
また、ステップＳ１９にてコンテンツデータを取得している途中に取得がキャンセルされた場合には、ステップＳ２０にてコンテンツデータのレコードを保存する処理を行なわなくともよい。
【００９９】
３−２．「検索結果レコード保存処理」及び「取得コンテンツデータレコード保存処理」
図４は、上記ステップＳ１６の「検索結果レコード保存処理」及びステップＳ２０の「取得コンテンツデータレコード保存処理」を示すフローチャートである。
【０１００】
ステップＳ１６の「検索結果レコード保存処理」は、検索結果リストに登録されたレコードを保存コンテンツカタログに保存する処理である。ステップＳ２０の「取得コンテンツデータレコード保存処理」は、ステップＳ１９にて取得され新たに記憶部１２のコンテンツデータキャッシュ領域に記憶したコンテンツデータのレコードを保存コンテンツカタログに保存する処理である。いずれも“新たなレコードを保存コンテンツカタログに保存する処理”である点において共通であり処理も同様であるため、ここでは、ステップＳ２０の処理、つまり、新たに記憶部１２のコンテンツデータキャッシュ領域に記憶したコンテンツデータのレコードを保存コンテンツカタログに保存する処理を例に説明する。
【０１０１】
先ず、取得したコンテンツデータのレコードが既にローカルカタログに保存されているか否かを判定する（ステップＳ３１）。判定の結果、レコードが既にローカルカタログに保存されている場合（ステップＳ３１：Ｙｅｓ）には、処理を終了し、レコードがローカルカタログに保存されていない場合（ステップＳ３１：Ｎｏ）には保存判定条件を満たすか否かを判定する（ステップＳ３２）。
【０１０２】
保存判定条件とは、例えば、新たなレコードを保存コンテンツカタログに登録した場合に、予め定められた保存コンテンツカタログに記憶されるレコードの上限数を超えないとする条件や、予め定められた保存コンテンツカタログの上限容量を超えないとするなどの条件である。これら上限数や上限容量を超えない場合には、保存判定条件を満たすものとて判定する。
【０１０３】
また、“新たに記憶したコンテンツデータのレコードは必ず保存コンテンツカタログに登録する”と規定されている場合には、常に保存判定条件を満たすとして判定する。なお、新たなレコードの容量が保存コンテンツカタログの記憶検索情報記憶領域の空き記憶容量以上である場合には、新たなレコードの容量分の空き記憶容量ができるまで以下のレコード削除処理を行なってもよい。
【０１０４】
判定の結果、保存判定条件を満たさない場合（ステップＳ３２：Ｎｏ）には、保存コンテンツカタログに記憶されているレコードを削除するレコード削除処理を行ない（ステップＳ３３）、ステップＳ３４へ移行する。
【０１０５】
レコード削除処理は、例えば、保存コンテンツカタログに記憶されているレコードのうち、所定条件によって削除レコードとして選択されたレコードを保存コンテンツカタログから削除する。所定条件とは、例えば、記憶された日時が最も古いレコードを削除レコードとする、或いは、ランダムに削除レコードを選択する。或いは、評価値に基づく保存優先順位が低いコンテンツのレコードを削除レコードとする、等がある。
【０１０６】
保存判定条件が上限数や上限容量を定めている場合には、新たなレコードを保存コンテンツカタログに登録した場合に、上限数や上限容量を越えない範囲まで、言い換えれば、保存判定条件を満たすまで、保存コンテンツカタログに既に記憶されているレコードの削除処理を行なう。
【０１０７】
一方、保存判定条件を満たす場合には（ステップＳ３２：Ｙｅｓ）、レコードを保存コンテンツカタログに保存して（ステップＳ３４）処理を終了する。
【０１０８】
なお、ステップＳ１６の「検索結果レコード保存処理」を行なう場合、つまり、検索結果リストに登録されたレコードを保存コンテンツカタログに保存する場合には、検索結果リストに登録された全てのレコードに対してステップＳ３１乃至ステップＳ３４の処理を行なう。
【０１０９】
３−３．「メッセージ受信処理」
図５は、上記ステップＳ２２の「メッセージ受信処理」を示すフローチャートである。
【０１１０】
先ず、制御部１１は、他のノードＮｎから検索要求メッセージを受信したか否かを判定（ステップＳ４０）し、検索要求メッセージを受信した場合（ステップＳ４０：Ｙｅｓ）には「検索要求メッセージ受信処理」を行ない（ステップＳ４１）処理を終了する。ここで実行される「検索要求メッセージ受信処理」は、他のノードＮｎから受信した検索要求メッセージに対して、制御部１１が、記憶部１２に記憶しているローカルカタログ及び保存コンテンツカタログを参照して検索する処理である。具体的には、制御部１１が、検索要求メッセージに対応するレコードが記憶されているか否かを判別し、記憶されている場合には、当該レコードを検索結果として検索要求メッセージの送信元である他のノードＮｎに返信する。なお、当該「検索要求メッセージ受信処理」の詳細については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【０１１１】
一方、検索要求メッセージを受信していない場合（ステップＳ４０：Ｎｏ）には、制御部１１は、他のノードＮｎ又は管理サーバからレコードの新規登録メッセージ、変更メッセージ、又は削除メッセージを受信したか否かを判定する（ステップＳ４２）。当該レコードの新規登録メッセージとは、管理サーバが新たなコンテンツをコンテンツ分散保存システムＳに投入する際に管理サーバからマルチキャスト送信されるメッセージである。また、変更メッセージとは、コンテンツ分散保存システムＳに既に投入されたコンテンツのレコードが変更される際に管理サーバからマルチキャスト送信されるメッセージである。また、削除メッセージとは、既に投入されているコンテンツがコンテンツ分散保存システムＳから削除される際に、管理サーバからマルチキャスト送信されるメッセージである。これらメッセージは、所定の規則に従って管理サーバからコンテンツ分散保存システムＳに参加する全ノードＮｎに対してマルチキャスト送信される。
【０１１２】
管理サーバがこれらメッセージを全ノードＮｎに送信する場合がある。また、管理サーバから送信されたメッセージが所定の規則に従ってコンテンツ分散保存システムＳに参加する各ノードＮｎ間を転送されることにより、全ノードＮｎにマルチキャスト転送（送信）される場合もある。ここでは、管理サーバから送信されたメッセージが、所定の規則に従って各ノードＮｎ間を転送されるものとして説明する。
【０１１３】
なお、サーバ装置の一例として、新たなコンテンツをコンテンツ分散保存システムＳに投入したり、既にコンテンツ分散保存システムＳに投入済みのコンテンツのレコードの更新やレコードの削除を管理するサーバを管理サーバとは別に投入サーバとして設けてもよい。投入サーバは、コンテンツ分散保存システムＳを管理する管理者、又は当該管理者によって許可を得たコンテンツ提供業者等によって管理される。
【０１１４】
ステップＳ４２の判定の結果、レコードの新規登録メッセージ、変更メッセージ、又は削除メッセージを受信した場合（ステップＳ４２：Ｙｅｓ）には、「カタログ更新処理」を行なう（ステップＳ４３）。なお、ステップＳ４３の「カタログ更新処理」は、後に詳述する。
【０１１５】
そして、カタログ更新後、受信したレコードの新規登録メッセージ、変更メッセージ、又は削除メッセージをマルチキャスト転送し（ステップＳ４４）。処理を終了する。
【０１１６】
次いで、制御部１１は、他のノードＮｎからコンテンツの検索メッセージ（クエリ）、コンテンツの登録メッセージ（パブリッシュ）、コンテンツの削除メッセージ、コンテンツ保存要求メッセージを受信したか否かを判定する（ステップＳ４５）。
【０１１７】
判定の結果、コンテンツ送信要求メッセージ、コンテンツの検索メッセージ（クエリ）、コンテンツの登録メッセージ（パブリッシュ）、コンテンツの削除メッセージ、コンテンツ保存要求メッセージを受信していない場合には（ステップＳ４５：Ｎｏ）、処理を終了する。
【０１１８】
一方、コンテンツ送信要求メッセージ、コンテンツの検索メッセージ（クエリ）、コンテンツの登録メッセージ（パブリッシュ）、又はコンテンツの削除メッセージ、コンテンツ保存要求メッセージを受信した場合（ステップＳ４５：Ｙｅｓ）には、各メッセージに応じた処理を行ない（ステップＳ４６）、処理を終了する。メッセージに応じた処理とは、例えば、コンテンツ送信要求メッセージを受信した場合には、メッセージに含まれるコンテンツＩＤのコンテンツデータをメッセージ送信元のノードＮｎに送信する。例えば、クエリを受信した場合には、記憶部１２のインデックスキャッシュにクエリに含まれるコンテンツＩＤのコンテンツ保存ノードのインデックス情報が登録されていれば、当該コンテンツ保存ノードのアドレス情報をメッセージ送信元のノードＮｎに送信する。また、例えば管理サーバからのコンテンツ保存要求メッセージを受信した場合には、メッセージにかかるコンテンツのコンテンツデータを取得してコンテンツデータキャッシュ領域に記憶する。このように、メッセージに応じた処理を行なうことにより、中継ノード、ルートノード、コンテンツ保存ノードとしての処理を行なう。なお、管理サーバからのコンテンツ保存要求メッセージにより、コンテンツデータをコンテンツデータキャッシュ領域に記憶した場合には、上述した「取得コンテンツデータレコード保存処理」を行ない、コンテンツデータキャッシュ領域に新たに記憶したコンテンツデータのレコードを取得して保存コンテンツカタログに記憶する。
【０１１９】
なお、コンテンツ送信要求メッセージに対して、記憶部１２のコンテンツデータキャッシュ領域からメッセージに含まれるコンテンツＩＤのコンテンツデータを取得して送信する場合には、記憶部１２の保存コンテンツカタログ及びローカルカタログを参照して当該コンテンツデータの公開期間をチェックする。そして、公開期間が過ぎていない場合にのみコンテンツデータを送信する。なお、記憶部１２の保存コンテンツカタログ及びローカルカタログに、送信するコンテンツデータのレコードが無い場合には、他のノードＮｎに対して「カタログ検索処理」を行ない、他のノードＮｎから送信するコンテンツデータのレコードを取得して公開期間をチェックする。既に公開期間が終了しているコンテンツデータが送信されることを防ぐためである。
【０１２０】
また、公開期間のチェックを行なった場合には、チェックを行なった時間を最終チェック時間としてチェックリストに該当するコンテンツＩＤに対応付けて登録する。なお、チェックリストに既に最終チェック時間の登録があれば、チェックを行なった時間を最終チェック時間として更新する。
【０１２１】
なお、ステップＳ３５にて受信した各種メッセージに対する処理の詳細は、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【０１２２】
３−４．「保存コンテンツデータのチェック処理」
図６は、上記ステップＳ２３の「保存コンテンツデータのチェック処理」を示すフローチャートである。
【０１２３】
先ず、制御部１１は、記憶部１２のキャッシュリストにチェック対象となるコンテンツの登録があるか否かを判定する（ステップＳ５０）。
【０１２４】
判定の結果、キャッシュリストに登録が無い場合（ステップＳ５０：Ｎｏ）には、処理を終了する。キャッシュリストにチェック対象のコンテンツの登録が無い場合とは、例えば記憶部１２のコンテンツデータキャッシュ領域にコンテンツデータが記憶されていないため、キャッシュリストに登録が無い場合や、当該保存コンテンツデータのチェック処理においてキャッシュリストに登録された全てのコンテンツに対してチェックが完了した場合である。
【０１２５】
キャッシュリストに登録がある場合（ステップＳ５０：Ｙｅｓ）には、制御部１１は、一定期間内にチェック対象のコンテンツのチェックを行なったか否かを判定する（ステップＳ５１）。
【０１２６】
判定の結果、一定期間内にコンテンツのチェックを行っていない場合には、（ステップＳ５１：Ｎｏ）、記憶部１２の保存コンテンツカタログにチェック対象のコンテンツのレコードが保存されているか否かを判定する（ステップＳ５２）。
【０１２７】
判定の結果、保存コンテンツカタログにチェック対象のコンテンツのレコードが保存されている場合（ステップＳ５２：Ｙｅｓ）には、ステップＳ５５へ移行する。
【０１２８】
一方、保存コンテンツカタログにチェック対象のコンテンツのレコードが保存されていない場合（ステップＳ５２：Ｎｏ）には、記憶部１２のローカルカタログにチェック対象のコンテンツのレコードが保存されているか否かを判定する（ステップＳ５３）。
【０１２９】
判定の結果、ローカルカタログにチェック対象のコンテンツのレコードが保存されている場合（ステップＳ５３：Ｙｅｓ）には、ステップＳ５５へ移行する。
【０１３０】
一方、ローカルカタログにチェック対象のコンテンツのレコードが保存されていない場合（ステップＳ５３：Ｎｏ）には、「カタログ検索処理」を行なう（ステップＳ５４）。
【０１３１】
ここで実行される「カタログ検索処理」は、他のノードＮｎに対して検索要求メッセージを送信する。そして、他のノードＮｎにて当該他のノードＮｎが記憶しているローカルカタログ又は保存コンテンツカタログの中からチェック対象のコンテンツに関する情報を送信してコンテンツの検索処理を行なってもらう。次に、当該他のノードＮｎから検索結果としてレコードを返信してもらう処理である。
【０１３２】
コンテンツに関する情報は、キャッシュリストに登録されているコンテンツＩＤやコンテンツ名等の情報である。当該コンテンツに関する情報は検索要求メッセージに含んで送信すればよい。なお、ここでの「カタログ検索処理」では、自己の記憶部１２のローカルカタログの検索は行なわない。「カタログ検索処理」の詳細については、特開２００７‐２８０３０３号公報等で公知であるので、詳しい説明を省略する。
【０１３３】
そして、チェック対象のコンテンツのレコードを、ローカルカタログ、保存コンテンツカタログ、又は「カタログ検索処理」にて他のノードＮｎから取得し、当該レコードに含まれる公開期間情報に基づいて、チェック対象のコンテンツが公開前、又は、公開中のコンテンツであるか否かを判定する（ステップＳ５５）。
【０１３４】
判定の結果、チェック対象のコンテンツが公開前、又は、公開中のコンテンツである場合（ステップＳ５５：Ｙｅｓ）には、チェックした時間を最終チェック時間としてキャッシュリストに登録する（ステップＳ５６）。なお、既に登録があれば、更新する。
【０１３５】
判定の結果、チェック対象のコンテンツが公開前、又は、公開中のコンテンツでない場合（ステップＳ５５：Ｎｏ）には、当該コンテンツデータを記憶部１２のコンテンツデータキャッシュ領域から削除する（ステップＳ５７）。このとき、削除されたコンテンツデータのレコードがローカルカタログ又は保存コンテンツカタログに記憶されている場合には、当該レコードもローカルカタログ又は保存コンテンツカタログから削除する。
【０１３６】
そして、ステップＳ５１の処理においてチェック対象のコンテンツのチェックを一定期間内に行なっていると判定された場合（ステップＳ５１：Ｙｅｓ）、又はステップＳ５６又はステップＳ５７の処理の後に、ステップＳ５０へ移行する。チェック対象のコンテンツの登録が無くなるまで（ステップＳ５０：Ｎｏ）、言い換えれば、キャッシュリストに登録された全てのコンテンツに対してチェックが完了するまで、ステップＳ５０乃至ステップＳ５７の処理を繰り返し行なう。
【０１３７】
なお、ステップＳ５１における“一定期間”の間隔を短くすれば、コンテンツの公開期間等のチェックをより厳密に行なうことができる利点がある。しかし、一方で、“一定期間”の間隔を短くするほどノードＮｎの処理負担が増大し、更に、ステップＳ５４にてカタログ検索処理を行なう場合には、他のノードＮｎとのやり取りによってコンテンツ分散保存システムＳ全体にネットワーク負荷が生じることとなる。従って、“一定期間”の間隔は、ノードＮｎの装置性能やキャッシュリストに登録されたコンテンツの数、コンテンツ分散保存システムＳに参加しているノードＮｎの数等の条件を比較考量して管理サーバ又は当該ノードＮｎ自身が決定する。
【０１３８】
３−５．「カタログ更新処理」
図７は、上記ステップＳ４３の「カタログ更新処理」を示すフローチャートである。
【０１３９】
先ず、制御部１１は、ステップＳ４２で受信判定されたメッセージに含まれるレコードが、自己の担当範囲のコンテンツのレコードであるか否かを判定する（ステップＳ６０）。具体的には、記憶部１２に記憶している自己のＲａｎｇｅとノードＩＤに基づいて、自己の担当範囲のコンテンツのレコードであるか否かを判定する。
【０１４０】
例えば、Ｒａｎｇｅ＝０であって、ノードＩＤが「０１００」である場合には、当該レコードに係るコンテンツのコンテンツＩＤが、少なくとも最上位桁目が「０」であるコンテンツＩＤである場合には、当該レコードを自己の担当範囲のコンテンツのレコードであるとして判定する。
【０１４１】
判定の結果、自己の担当範囲のコンテンツのレコードである場合（ステップＳ６０：Ｙｅｓ）には、受信したメッセージに含まれるレコードをローカルカタログに保存、又は上書保存、又はローカルカタログから削除して（ステップＳ６１）、処理を終了する。
【０１４２】
受信したメッセージが新規登録メッセージであれば、新規登録レコードが含まれており、受信したメッセージが変更メッセージであれば、更新レコードが含まれており、受信したメッセージが削除メッセージであれば、削除レコードが含まれている。
【０１４３】
受信したメッセージが新規登録メッセージである場合には、当該メッセージに含まれる新規登録レコードをローカルカタログに保存する。受信したメッセージが変更メッセージである場合には、ローカルカタログに既に登録されているレコードを当該メッセージに含まれる更新レコードを用いて上書保存する。そして、受信したメッセージが削除メッセージである場合には、ローカルカタログに既に登録されているレコードのうち、当該削除メッセージに含まれるレコードに対応するレコードをローカルカタログから削除する。
【０１４４】
一方、判定の結果、自己の担当範囲のコンテンツのレコードでない場合（ステップＳ６０：Ｎｏ）には、保存コンテンツカタログに受信したメッセージに含まれるレコードが保存されているか否かを判定する（ステップＳ６２）。
【０１４５】
判定の結果、保存コンテンツカタログに受信したメッセージに含まれるレコードが保存されている場合（ステップＳ６２：Ｙｅｓ）には、受信したメッセージに含まれるレコードに基づいて、保存コンテンツカタログのレコードを上書保存する。又は、保存コンテンツカタログから削除して（ステップＳ６３）、処理を終了する。
【０１４６】
以上説明したように、本実施形態によれば、ノードＮｎが、記憶部１２のコンテンツデータキャッシュ領域に記憶したコンテンツデータに対応するレコードを保存コンテンツカタログに記憶するよう構成した。従って、ネットワークに負荷をかけることなく、保存コンテンツカタログ又はローカルカタログを参照して、記憶部１２のコンテンツデータキャッシュ領域に記憶したコンテンツデータの管理を行なうことができる。
【０１４７】
更に、上記ステップＳ４２及びステップＳ４３に記載したように、管理サーバ等からマルチキャスト送信されたレコードを受信して、ローカルカタログ又は保存コンテンツカタログに記憶するよう構成した。従って、受信したレコードが自己の担当範囲であれば、ローカルカタログに登録、更新を行ない、保存コンテンツカタログに登録されているレコードであれば、受信したレコードを用いて更新を行なうことができる。
【０１４８】
更に、記憶部１２のコンテンツデータキャッシュ領域に記憶したコンテンツデータの管理を行なう際には、上記ステップＳ５２及びステップＳ５３に記載したように、保存コンテンツカタログをローカルカタログより先に参照するよう構成した。従って、所定の規則に従って定められた担当範囲のコンテンツのレコードしか記憶していないローカルカタログよりも、コンテンツデータキャッシュ領域に記憶したコンテンツデータのレコードを記憶している保存コンテンツカタログ内を先に検索できる。このように、チェック対象のレコードを迅速に発見できる。
【０１４９】
更に、上記ステップＳ１９及びステップＳ２０に記載したように、コンテンツデータを取得した際に、コンテンツデータのレコードを取得して保存コンテンツカタログに記憶するよう構成。従って、取得したコンテンツデータのレコードを保存コンテンツカタログに確実に記憶させることができる。
【０１５０】
更に、上記ステップＳ１１、ステップＳ１４、及びステップＳ１６に記載したように、検索要求を受け付けると、「カタログ検索処理」にて検索要求メッセージを他のノードＮｎに送信し、検索結果のレコードを保存コンテンツカタログに記憶するよう構成した。従って、過去に検索をした経験のあるコンテンツのレコードも保存コンテンツカタログに保存しておくことができる。そして、上記ステップＳ１１にて検索要求がされた場合に、上記ステップＳ１３に記載したように先ず保存コンテンツカタログを検索するので、過去に検索した経験のある、いわば、ユーザーの好みにあった検索結果を、保存コンテンツカタログ内から迅速に検索することができる。
【０１５１】
なお、上述した実施形態では、検索結果のレコードを保存コンテンツカタログに記憶する構成としたが、ローカルカタログ、保存コンテンツカタログとは別に検索結果カタログを設け、検索結果のレコードを検索結果カタログに記憶するよう構成してもよい。この場合、ローカルカタログが記憶される担当検索情報記憶領域と、保存コンテンツカタログが記憶される記憶検索情報記憶領域と、検索結果カタログが記憶される検索結果検索情報記憶領域とを記憶部１２に設ける。担当検索情報記憶領域と記憶検索情報記憶領域と検索結果検索情報記憶領域の記憶容量は全て同じ容量としてもよいが、コンテンツデータキャッシュ領域に記憶したコンテンツデータのレコードを確実に記憶させるため、記憶検索情報記憶領域は他の領域よりも記憶容量が大きいことが望ましい。例えば、記憶検索情報記憶領域を１００Ｍバイトとし、担当検索情報記憶領域と検索結果検索情報記憶領域を５０Ｍバイトとする。
【０１５２】
更に、ステップＳ５７にてコンテンツデータを削除したときに、削除されたコンテンツデータのレコードもローカルカタログ又は保存コンテンツカタログから削除するよう構成した。しこれにより、不要なレコードをローカルカタログ又は保存コンテンツカタログから迅速且つ確実に削除することができる。
【０１５３】
更に、上記ステップＳ３３に記載したように、保存判定条件を満たさない場合には、削除レコードとして選択されたレコードを保存コンテンツカタログから削除するので、保存コンテンツカタログに新たなレコードを確実に記憶させることができる。
【０１５４】
なお、本実施形態では、ステップＳ１１の検索要求に対して検索を行なう際に、保存コンテンツカタログをローカルカタログより先に検索しているが、ローカルカタログを先に検索してもよい。
【０１５５】
また、ステップＳ１１の検索要求に対して検索を行なう際に、保存コンテンツカタログが記憶される記憶検索情報記憶領域とローカルカタログが記憶される担当検索情報記憶領域とを比較して、記憶容量が大きいほうから先に検索を行なってもよい。また、ステップＳ４１にて他のノードＮｎから受信した検索要求メッセージに対して検索を行なう際にも、保存コンテンツカタログが記憶される記憶検索情報記憶領域とローカルカタログが記憶される担当検索情報記憶領域とを比較して、記憶容量が大きいほうから先に検索を行なってもよい。
【０１５６】
なお、上記コンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【符号の説明】
【０１５７】
３  ＩＸ
４ａ、４ｂ  ＩＳＰ
５ａ、５ｂ  ＤＳＬ回線業者
６  ＦＴＴＨ回線業者
７  通信回線
８  ネットワーク
９  オーバーレイネットワーク（Ｐ２Ｐネットワーク）
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｎｎ  ノード
【図１】
2010238161.tif 000003
【図２】
2010238161.tif 000004
【図３】
2010238161.tif 000005
【図４】
2010238161.tif 000006
【図５】
2010238161.tif 000007
【図６】
2010238161.tif 000008
【図７】
2010238161.tif 000009