情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム
【課題】サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦が可能な情報配信システムを提供する。
【解決手段】複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、自己が管理するノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された評価情報と、複数のノード装置の夫々において取得された複数の配信情報の取得履歴情報との少なくとも何れかを含む基準情報記憶手段と、配信情報の推薦要求を含む要求情報を受信する情報受信手段と、総合基準情報に基づいて、自己により所在が管理される配信情報以外の推薦すべき複数の配信情報を選定し、選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、要求元であるノード装置に送信する情報送信手段と、を備える。
【解決手段】複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、自己が管理するノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された評価情報と、複数のノード装置の夫々において取得された複数の配信情報の取得履歴情報との少なくとも何れかを含む基準情報記憶手段と、配信情報の推薦要求を含む要求情報を受信する情報受信手段と、総合基準情報に基づいて、自己により所在が管理される配信情報以外の推薦すべき複数の配信情報を選定し、選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、要求元であるノード装置に送信する情報送信手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報配信システムに関し、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに関し、特に、配信情報を推薦するための推薦情報をノード装置に対して提供するための技術分野に関する。
【背景技術】
【0002】
近年、インターネット等のネットワークを介して、ユーザの嗜好性に応じたコンテンツを推薦するための推薦情報をクライアント等のノード装置に紹介する情報推薦システムが知られている。
【0003】
例えば、特許文献1には、サーバがクライアントに対してお薦め情報の紹介を行う方法が開示されている。具体的には、サーバがクライアントからネットワークを介してアクセスを受け、ユーザ認証要求とともにクライアントIDが送信されてくると、該クライアントへお薦め紹介要求選択アクションの実行を促すためのメッセージを表示させる。そして、前記サーバは、前記クライアントがお薦め紹介要求選択アクションを実行したことが通知されると、前記アイテム閲覧/購入データベースより前記クライアントIDをキーとして前記クライアントのアイテム閲覧/購入履歴を取得して、該アイテム閲覧/購入履歴をもとにお薦めアイテムリストを作成し、前記クライアントに送信するようになっている。
【特許文献1】特開2002−24694号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このようなクライアント・サーバ型のシステムでは、ユーザ数やコンテンツ数が増加すると、サーバへの負荷が著しく増加するというスケーラビリティの問題が生じる。
【0005】
一方で、ピアツーピア型の情報配信システムにおいては、該システムに参加している複数のノード装置に配信情報を分散配置(分散保存)させておくことで、対故障性やアクセスの分散性を高めるようになっているが、サーバのような特定の装置に負荷をかけることなく、高スケーラブルで高精度に情報を推薦する手法は未だ確立されていない。
【0006】
本発明は、以上の問題等に鑑みてなされたものであり、サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦が可能な情報配信システム、情報配信方法、ノード装置、及びノード処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備えることを特徴とする。
【0008】
この発明によれば、複数のノード装置に分散して保存される複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を収集、記憶しておき、当該総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を、前記要求情報の送信元であるノード装置に送信するようにしたので、サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦ができる。また、夫々の配信情報の所在を管理する夫々のノード装置は、他の多くのノード装置から、自己が管理する配信情報の所在の問合せを受けて返答する立場にあるので、当該他の多くのノード装置から上記評価情報や履歴情報をより効率良く収集でき、したがって、より精度の高い情報推薦ができる。
【0009】
請求項2に記載の発明は、請求項1に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0010】
この発明によれば、配信情報の所在を管理するノード装置はより効率良く多くのノード装置から上記評価情報や履歴情報を収集することができる。
【0011】
請求項3に記載の発明は、請求項2に記載のノード装置において、前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とする。
【0012】
この発明によれば、配信情報の所在を管理するノード装置はより確実に多くのノード装置から上記評価情報や履歴情報を収集でき、上記要求情報の送信元であるノード装置における配信情報の評価や取得有無等をも考慮された配信情報を当該ノード装置に推薦することができる。
【0013】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とする。
【0014】
この発明によれば、配信情報の所在を管理するノード装置はより効率良く情報推薦ができる。
【0015】
請求項5に記載の発明は、請求項4に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0016】
請求項6に記載の発明は、請求項4に記載のノード装置において、前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0017】
この発明によれば、配信情報の所在を管理するノード装置はより確実に多くのノード装置から上記評価情報や履歴情報を収集することができる。
【0018】
請求項7に記載の発明は、請求項4に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0019】
請求項8に記載の発明は、請求項2に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とする。
【0020】
請求項9に記載の発明は、請求項8に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とする。
【0021】
請求項10に記載の発明は、請求項9に記載のノード装置において、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とする。
【0022】
この発明によれば、配信情報の所在を管理するノード装置は上記推薦配信情報を、より効果的に要求情報の送信元であるノード装置に提供することができる。
【0023】
請求項11に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記推薦すべき配信情報を所定数選定し、前記選定された配信情報が示される推薦配信情報を生成することを特徴とする。
【0024】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報との関連性が高い配信情報を推薦するので、より適切で精度の高い情報推薦をすることができる。
【0025】
請求項12に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とする。
【0026】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報との関連性が高い配信情報の中から更に評価や注目度の高い配信情報を推薦できるので、より適切で精度の高い情報推薦をすることができる。
【0027】
請求項13に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とする。
【0028】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報との関連性が高い配信情報の中から更に評価や注目度の高い配信情報を推薦できるので、より適切で精度の高い情報推薦をすることができる。
【0029】
請求項14に記載の発明は、請求項11乃至13の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、自己の管理対象となる配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とする。
【0030】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報の評価や注目度の傾向と似通った配信情報を推薦するので、より適切で精度の高い情報推薦をすることができる。
【0031】
請求項15に記載の発明は、請求項1乃至14の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記要求情報の送信元であるノード装置において既に取得又は再生された配信情報を除外して前記推薦配信情報を生成することを特徴とする。
【0032】
この発明によれば、配信情報の所在を管理するノード装置は、推薦すべき配信情報から、既に取得又は再生された配信情報を除外するので、より効果的な推薦を行うことができる。
【0033】
請求項16に記載の発明は、請求項1乃至14の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0034】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができる。
【0035】
請求項17に記載の発明は、請求項15に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報に示された配信情報のうちから1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0036】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができる。
【0037】
請求項18に記載の発明は、請求項11に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報には、これに示された複数の配信情報の夫々の評価を示す評価情報と、当該複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む基準情報が含まれており、前記受信された推薦配信情報に示された配信情報のうち夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい前記配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0038】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができると共に、配信情報の所在を管理するノード装置側の負担も軽減することができる。
【0039】
請求項19に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備えることを特徴とする。
【0040】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができると共に、配信情報の所在を管理するノード装置側の負担も軽減することができる。
【0041】
請求項20に記載の発明は、請求項19に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0042】
請求項21に記載の発明は、請求項20に記載のノード装置において、前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とする。
【0043】
請求項22に記載の発明は、請求項19乃至21の何れか一項に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とする。
【0044】
請求項23に記載の発明は、請求項22に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0045】
請求項24に記載の発明は、請求項22に記載のノード装置において、前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0046】
請求項25に記載の発明は、請求項22に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0047】
請求項26に記載の発明は、請求項20に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とする。
【0048】
請求項27に記載の発明は、請求項26に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とする。
【0049】
請求項28に記載の発明は、請求項27に記載のノード装置において、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とする。
【0050】
請求項29に記載の発明は、請求項19乃至28の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0051】
請求項30に記載の発明は、請求項29に記載のノード装置において、前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が最も高い1の前記配信情報を選定することを特徴とする。
【0052】
請求項31に記載の発明は、請求項29に記載のノード装置において、前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい1の前記配信情報を更に選定することを特徴とする。
【0053】
請求項32に記載の発明は、請求項29に記載のノード装置において、前記推薦配信情報選定手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が最も大きい1の前記配信情報を選定することを特徴とする。
【0054】
請求項33に記載の発明は、請求項30乃至32の何れか一項に記載のノード装置において、前記配信情報選定手段は、前記推薦配信情報を送信したノード装置により所在が管理される配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とする。
【0055】
請求項34に記載の発明は、請求項30乃至33の何れか一項に記載のノード装置において、前記配信情報選定手段は、自己において既に取得又は再生された配信情報を除外して1の前記配信情報を選定することを特徴とする。
【0056】
請求項35に記載のノード処理プログラムは、コンピュータを、請求項1乃至34の何れか一項に記載のノード装置として機能させることを特徴とする。
【0057】
請求項36に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、前記推薦配信情報を受信するノード装置は、前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0058】
請求項37に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、前記推薦配信情報を受信するノード装置は、前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0059】
請求項38に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、前記配信情報の推薦要求を含む要求情報を受信する工程と、前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する工程と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、前記推薦配信情報を受信するノード装置が、前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する工程と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、を備えることを特徴とする。
【0060】
請求項39に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、前記配信情報の推薦要求を含む要求情報を受信する工程と、前記総合基準情報の全部又は一部を含む推薦配信情報を生成する工程と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、前記推薦配信情報を受信するノード装置が、前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する工程と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、を備えることを特徴とする。
【発明の効果】
【0061】
本発明によれば、複数のノード装置に分散して保存される複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を収集、記憶しておき、当該総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を、前記要求情報の送信元であるノード装置に送信するようにしたので、サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦ができる。また、夫々の配信情報の所在を管理する夫々のノード装置は、他の多くのノード装置から、自己が管理する配信情報の所在の問合せを受けて返答する立場にあるので、当該他の多くのノード装置から上記評価情報や履歴情報をより効率良く収集でき、したがって、より精度の高い情報推薦をすることができる。
【発明を実施するための最良の形態】
【0062】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
始めに、図1を参照して、情報配信システムの一例としてのコンテンツ配信システムの概要構成等について説明する。
【0063】
図1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【0064】
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
【0065】
コンテンツ配信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置(以下、単に、「ノード」という)n1,n2・・・n21を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている(なお、実際には、これ以上のノードが存在することになる)。また、各ノードn1〜n21には、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数のノード間で重複しないものである。
【0066】
そして、このコンテンツ配信システムSにおいては、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワーク(論理的なネットワーク)を意味する。
【0067】
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9(図1の上部枠100内)に配置されたノードn1〜n15を、オーバーレイネットワーク9に参加しているノードnnという。言い換えれば、オーバーレイネットワーク9は、ノードnnの参加により形成されている。このようなオーバーレイネットワーク9への参加は、参加していないノードn16〜n21が、参加している任意のノードnnに対して参加要求を示す参加要求情報としての参加メッセージを送信することによって行われる。
【0068】
また、各ノードnnは、固有の識別情報としてのノードIDを有しており、当該ノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。
【0069】
このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【0070】
また、各ノードnnは、夫々、DHT(Distributed Hash Table)を保持している。このDHTは、オーバーレイネットワーク9上における各種メッセージの転送先を規定しており、具体的には、ノードID空間内で適度に離れたノードnnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されたルーティングテーブル(転送先テーブル)が含まれている。
【0071】
図2は、ノードn1が保持するDHTのルーティングテーブルの一例を示す図であり、図3は、DHTのノードID空間の一例を示す概念図である。
【0072】
なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。
【0073】
図2の例において、DHTのルーティングテーブルは、レベル1〜レベル3のテーブルからなり(複数のレベルに区分されており)、各レベルのテーブルエントリーには、エリア毎に、転送先ノード情報として、ノードIDとこれに対応するノードnnのIPアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図3に示すように、レベル1では、DHTのノードID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133” のノードIDが存在するエリアを1XXのエリア、“200”〜“233” のノードIDが存在するエリアを2XXのエリア、“300”〜“333” のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103” のノードIDが存在するエリアを10Xのエリア、“110”〜“113” のノードIDが存在するエリアを11Xのエリア、“120”〜“123” のノードIDが存在するエリアを12Xのエリア、“130”〜“133” のノードIDが存在するエリアを13Xのエリアとする。
【0074】
そして、例えば、ノードn1のノードIDが“122”とすると、図2に示すように、かかるノードn1のレベル1における1XXのエリア(自己(つまり、自ノード)が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意のノードnnのノードID及びIPアドレス等が登録されている。
【0075】
また、かかるノードn1のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図2に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意のノードnnのノードID及びIPアドレス等が登録されている。
【0076】
更に、かかるノードn1のレベル3には、図2に示すように、ノードIDが“120”〜“122”のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。
【0077】
なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
【0078】
このように、本実施形態におけるDHTのルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
【0079】
このようなDHTは、未参加のノードがオーバーレイネットワーク9に参加する際に与えられることになる。
【0080】
ところで、オーバーレイネットワーク9においては、様々なコンテンツ(例えば、映画や音楽等)データ(配信情報の一例)が複数のノードnnに分散して保存(格納)されている(言い換えれば、コンテンツデータが複製されその複製情報であるレプリカが分散保存されている)。
【0081】
例えば、ノードn1及びノードn4には、タイトルがXXXの映画のコンテンツデータが保存されており、一方、ノードn2及びノードn3には、タイトルがYYYの映画のコンテンツデータが保存されるというように、複数のノードnn(以下、「コンテンツ保持ノード」という)に分散されて保存される。また、これらのコンテンツデータには、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有の識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム運営者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれた「コンテンツリスト」が、全ノードnnに配布される。
【0082】
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードnnを示すノード情報(例えば、IPアドレス及びポート番号等を含む)と当該コンテンツデータに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元のノードnn(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。
【0083】
例えば、タイトルがXXXの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードn13により管理され、タイトルがYYYの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードn14により管理される。つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ(コンテンツIDが同一)が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータのインデックス情報は、1つのルートノードで管理することができる。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードnnであるように定められる。
【0084】
そして、あるノードnnのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノードnn(以下、「ユーザノード」という)は、当該ユーザにより選択(例えば、全てのノードnnに配信されているコンテンツリスト(コンテンツ名とコンテンツID等が記述されており、例えばコンテンツリスト管理サーバ(図示せず)にて管理される)から選択)されたコンテンツデータのコンテンツID及び自己のノード情報を含むコンテンツ所在問合せ(検索)メッセージ(コンテンツデータの所在を示すノード情報の要求を含む要求情報(クエリ)の一例))を生成し、これを自己のDHTのルーティングテーブルにしたがって他のノードnnに対して送出する。なお、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
【0085】
図4は、ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのノードID空間にて示した概念図である。
【0086】
図4の例において、例えば、ユーザノードであるノードn1は、自己のDHTのレベル1のテーブル(図2に示すDHTのルーティングテーブルとは無関係)を参照して、コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードn8のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを送信する。
【0087】
これに対して、ノードn8は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル2のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードn11のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する。
【0088】
これに対して、ノードn11は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル3のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードn13のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する。
【0089】
これに対して、ノードn13は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル4のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDが自分である、つまり、自分がそのコンテンツIDのルートノードであることを認識し、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信するか、或いは、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ配信要求メッセージ(ユーザノードのノード情報を含み、当該ユーザノードに対してコンテンツデータを送信することを要求するメッセージ)を送信する。これにより、ユーザノードは、所望のコンテンツデータを保存している上記コンテンツ保持ノードに接続し、そこから当該コンテンツデータを取得(ダウンロード)することが可能になる。なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード(例えば、ノードn11等のキャッシュノード)から当該インデックス情報を取得(受信)することもできる。
【0090】
次に、図5を参照して、ノードnnの構成及び機能について説明する。
【0091】
図5は、ノードnnの概要構成例を示す図である。
【0092】
ノードnnは、図5に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、インデックス情報、DHT)及びプログラム等を記憶保存(格納)するためのHDD等から構成されたノード情報記憶手段及び基準情報記憶手段としての記憶部12と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードnnとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、及び通信部20は、バス22を介して相互に接続されている。なお、ノードnnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
【0093】
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御すると共に、上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっており、本発明の情報受信手段、推薦配信情報生成手段、情報送信手段、配信情報選定手段、要求情報送信手段等として機能し、後述する各種処理を行うようになっている。
【0094】
なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【0095】
また、上述したインデックスキャッシュ領域は、例えば記憶部12における記憶領域のうち、数kB(キロバイト)〜数MB(メガバイト)が割り当てられている。また、インデックスキャッシュ領域は、様々なコンテンツに対応するインデックス情報が記憶されており、自己がルートノードとして管理するコンテンツ(コンテンツID)に対応するインデックス情報と、自己がルートノードではなくキャッシュノードとして管理するコンテンツ(コンテンツID)に対応するインデックス情報とが混在して記憶されている場合もある。
【0096】
また、ルートノード、及び当該ルートノードに至るまでのメッセージ等の転送経路上における中継ノードの記憶部11には、複数のノードnnの夫々において評価された複数のコンテンツデータの夫々の評価を示す評価情報と、複数のノードnnの夫々において取得された複数のコンテンツデータの夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報が記憶されるようになっている。
【0097】
図6(A)は、コンテンツC1のルートノードに記憶された総合基準情報における評価情報の一例を、図6(B)は、総合基準情報における履歴情報の一例を、夫々示す図である。図6(A)の例における評価情報は、縦軸をノードnn(n=1,2,3・・・)、横軸をコンテンツCn(n=1,2,3・・・)としてマトリクス状に、コンテンツデータの評価値(評価情報にて示される値)を記述している。また、図6(B)の例における履歴情報は、縦軸をノードnn、横軸をコンテンツCnとしてマトリクス状に、コンテンツデータの取得有無値(履歴情報にて示される値)を記述している。
【0098】
なお、図6(A)及び(B)の例に示されるノードnn(n=1,2,3・・・)は、例えばノードIDで記述され、コンテンツCn(n=1,2,3・・・)は例えばコンテンツIDで記述される。
【0099】
図6(A)及び(B)の例において、コンテンツC1は、当該ルートノードの管理対象となるコンテンツデータ(つまり、当該ルートノードのノードIDと最も近いコンテンツIDであるコンテンツデータ)に対応しており、コンテンツC2,C3・・・は、当該ルートノードの管理対象外のコンテンツデータに対応している。
【0100】
また、図6(A)の例に示される各評価値は、その数値が高いほど、評価が高いことを意味しており、評価値が示されていない空白欄は、そのノードnnにおいてそのコンテンツデータの評価がなされていないことを意味している。また、図6(B)の例に示される各取得有無値である“1”は、そのノードnnにおいてそのコンテンツデータが取得されていることを意味し、“0”は、そのノードnnにおいてそのコンテンツデータが取得されていないことを意味している。なお、各評価値及び各取得有無値には、それが各ノードnnにおいて記憶された時刻を示す時刻情報(例えば、年、月、日、時刻)が対応付けられている。
【0101】
また、上記評価値は、例えばユーザノードにおいてコンテンツデータが再生、視聴された後、当該ユーザノードのユーザにより入力されるものであり、例えば、当該ユーザが入力部21を操作して表示部16に表示されたコンテンツ評価画面を通じて、視聴したコンテンツデータに対する評価値を入力すると、その評価値と、当該ユーザノードのノートIDと、当該コンテンツデータの例えばコンテンツIDと、その時の時刻情報とが対応付けられて評価情報(個別基準情報)として記憶されることになる。一方、例えばユーザノードにおいてコンテンツ保持ノードからコンテンツデータがダウンロードされた場合に、当該コンテンツデータの例えばコンテンツIDと、当該ユーザノードのノードIDと、上記取得有無値“1”と、その時の時刻情報とが対応付けられて履歴情報(個別基準情報)として記憶されることになる。なお、上記取得有無値と共に又は当該取得有無値に代えて、例えばユーザノードにおいてダウンロードされたコンテンツデータが再生された場合に、当該コンテンツデータの例えばコンテンツIDに上記再生有無値“1”が対応付けられて履歴情報(個別基準情報)として記憶されるように構成しても良い。
【0102】
また、各ノードnnにおける評価情報(例えば、ノードn1であれば、図6(A)の符号51部に示す行における夫々の評価値)と履歴情報との少なくとも何れかを含む個別基準情報は、各ノードnnから当該ルートノードに対して任意のタイミングで送信(詳細は後述)され、上記総合基準情報中に組み込まれ、記憶されることになる。
【0103】
なお、個別基準情報は、例えば図6(A)に示す1行毎に送信されることになり、ノードn1の場合、コンテンツC2(コンテンツID):5(評価値),コンテンツC4(コンテンツID):1(評価値)・・・という並びで、未評価のコンテンツのコンテンツIDについては含まれない構成とする。また、送信される1行毎の個別基準情報には、その送信された時刻を示す時刻情報(例えば、年、月、日、時刻)が付加されることになる。つまり、時刻情報は、例えば図6(A)に示す欄(マス)毎に付加され、更に、行毎にも付加されることになる。なお、行毎の時刻情報は、個別基準情報をノードが受信した時刻を示すようにしても良い。
【0104】
そして、ルートノードにおける推薦配信情報生成手段としての制御部11は、上記総合基準情報に基づいて、自己により所在が管理されるコンテンツデータ以外の推薦すべき1又は複数のコンテンツデータを選定し、当該選定されたコンテンツデータが示される推薦配信情報としての推薦コンテンツリストを生成するようになっている。
【0105】
より具体的には、当該制御部11は、上記総合基準情報に基づいて、当該ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの関連性の高さを示す値を算出し、当該ルートノードの管理対象となるコンテンツデータとの関連性が高い順に上記コンテンツデータを所定数選定し、選定されたコンテンツデータが示される(例えば、当該コンテンツデータのタイトル、コンテンツID、及び当該コンテンツデータの代表シーンの画像データ等が示される)推薦コンテンツリストを生成する。そして、当該制御部11は、当該生成した推薦コンテンツリストを例えばコンテンツデータの推薦要求をしたノードnnに通信部20を介して送信する。
【0106】
ここで、上記関連性の高さを示す値とは、一つの例として、当該ルートノードの管理対象となるコンテンツデータ(コンテンツC1に対応)についての夫々の評価値(例えば、図6(A)の符号52部に示す列における夫々の評価値)又は夫々の取得有無値(再生有無値でも良い)の傾向と、該コンテンツデータ以外の夫々のコンテンツデータ(コンテンツC2,C3・・・に対応)についての夫々の評価値又は取得有無値(再生有無値でも良い)の傾向との類似度を示す値(以下、単に「類似度」という)をいう。例えば、図6(A)の例において、コンテンツC1は、評価値が上から“3”、“3”、“3”・・・となっており、どのユーザからも平均的な評価値が付けられる傾向にあり、コンテンツC3は、評価値が上から“4”、“3”、“3”・・・となっており、コンテンツC1と同様、どのユーザからも平均的な評価値が付けられる傾向にある。従って、このようなコンテンツC3はコンテンツC1に対する類似度が高いといえる。なお、最も類似度が高いといえるのは、全てのユーザの評価値が同一となる場合である。一方、コンテンツC5は、評価値が上から“1”、“1”、“5”・・・となっており、一部のユーザからのみ高い評価値が付けられる傾向にある。従って、このようなコンテンツC5はコンテンツC1に対する類似度が低いといえる。
【0107】
このような類似度を定量的に表す計算式として例えばピアソンの積率相関関数等を適用でき、類似度は例えば下記(1)式により算出される。
【数1】
ここで、sim(i,j)は、任意のコンテンツCiのコンテンツCjに対する類似度を意味し、例えば、i=2、j=1とすると、コンテンツC2のコンテンツC1(管理対象のコンテンツ)に対する類似度を意味する。
【0108】
また、Ru,iは、任意のユーザuのコンテンツCiの評価値(例えばノードn1のユーザのコンテンツC2の評価値)又は取得有無値(又は再生有無値)を意味し、Ru,jは、任意のユーザuのコンテンツCjの評価値又は取得有無値(又は再生有無値)を意味する。また、Ri(上付き−)は、全てのユーザのコンテンツCiの評価値(つまり、各ノードnnにおけるコンテンツCiの評価値)の平均値又は取得有無値(又は再生有無値)の平均値を意味し、Rj(上付き−)は、全てのユーザのコンテンツCjの評価値の平均値又は取得有無値(又は再生有無値)の平均値を意味する。また、Σu∈Uは、例えば各ユーザに対応する(Ru,i−Ri(上付き−))2の値を積算すること(総和)を意味する。なお、図6(A)の例において、評価値が示されていない空白欄は、計算対象外となる。
【0109】
このようにして、評価情報又は履歴情報に記述されている、管理対象のコンテンツデータ(コンテンツC1に対応)を除く全てのコンテンツデータ(コンテンツC2,C3・・・に対応)についての類似度が算出され、類似度が高い(大きい)方から順に推薦されるべき所定数(例えば、10個)のコンテンツデータが選定(又は、当該類似度が閾値を超える所定数のコンテンツデータが選定)される。このように選定されたコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)が推薦コンテンツリストに記述され、例えば推薦要求をしたノードnnに対して送信されるようにしても良いが、この中から更に推薦すべきコンテンツデータが絞り込まれ、当該絞り込まれたコンテンツデータを示す情報が記述された推薦コンテンツリストが推薦要求をしたノードnnに対して送信されるようにしても良い。
【0110】
例えば、ルートノードの制御部11は、上記選定したコンテンツデータのうち、夫々のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算(例えば、図6(A)の符号52部に示す列における夫々の評価値を積算)し、その総和が大きい順に推薦すべきコンテンツデータを更に所定数(例えば、5個)選定(又は、当該総和が閾値を超える所定数のコンテンツデータを選定)し、当該選定したコンテンツデータを示す情報を推薦コンテンツリストに記述する(言い換えれば、推薦コンテンツリストにおける、類似度が高い所定数のコンテンツデータを示す情報のうち、当該選定された上記総和が大きいコンテンツデータ以外のコンテンツデータを示す情報を削除する)。これは、管理対象のコンテンツデータと類似度が高いコンテンツデータのうちから更にユーザ評価が高いコンテンツデータを絞り込む趣旨である。
【0111】
図7(A)は、類似度が高いコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示し、図7(B)は、図7(A)に示す推薦コンテンツリストから絞り込まれたコンテンツデータであって評価値の総和が大きいコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示す図である。この例では、類似度が高い上位10つのコンテンツデータ(図7(A)参照)のうちから、評価値等の総合値が大きい上位5つのコンテンツデータ(図7(B)参照)が選定されている。
【0112】
このような推薦コンテンツリストは記憶部12に記憶され、例えば個別基準情報が受信される度に上述した類似度の計算等が行われ当該推薦コンテンツリストは更新されることになる。
【0113】
更に、ルートノードの制御部11は、例えば推薦要求をしたノードnnにおいて既に取得又は再生されたコンテンツデータ(例えば、評価情報において評価値が登録されているコンテンツデータ又は取得有無値(又は再生有無値)が“1”であるコンテンツデータ)を特定し、当該特定したコンテンツデータを除外して推薦コンテンツリストを生成し、これを例えば推薦要求をしたノードnnに対して送信するようにしても良い。例えば、当該既に取得又は再生されたコンテンツデータについては、そもそも上記類似度の計算等の対象外とするか、或いは、図7(A)又は図7(B)に示すような推薦コンテンツリストが生成された後に削除されるように構成する。
【0114】
更にまた、ルートノードの制御部11は、図7(A)又は図7(B)に示すような推薦コンテンツリストから、管理対象のコンテンツデータと同一ジャンル(例えば、アクション、コメディ、ラブストーリー等)等のコンテンツデータを絞り込み、当該絞り込まれたコンテンツデータを示す情報が記述された推薦コンテンツリストを例えば推薦要求をしたノードnnに対して送信するようにしても良い。この場合、例えば全てのコンテンツデータのコンテンツIDにはジャンルを示す情報が付加されることになる。
【0115】
こうして送信された推薦コンテンツリストは、例えば推薦要求をしたノードnnにより受信され、配信情報選定手段としての制御部11は、当該受信された推薦コンテンツリストに示されたコンテンツデータのうち、当該ノードnnにおいて既に取得又は再生されたコンテンツデータを除外(既にルートノードにおいて除外されている場合には不要)したコンテンツデータから1のコンテンツデータを検索対象として選定する。なお、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、当該推薦要求をしたノードnnの制御部11は、例えば最も類似度が高い1のコンテンツデータ、或いは、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定するようにしても良いし、推薦コンテンツリストが表示部16に表示され、ユーザにより入力部21を介して選択された1のコンテンツデータを選定するようにしても良い。
【0116】
そして、推薦要求をしたノードnnの制御部11は、上記検索対象として選定されたコンテンツデータの所在を示すノード情報を要求するコンテンツ所在問合せ(検索)メッセージを、上述したように、DHTのルーティングテーブルにしたがって、当該コンテンツデータの所在を管理するルートノードに向けて送出することになる。
【0117】
以上説明した推薦すべきコンテンツデータの選定や絞り込みの処理の全部又は一部は、ルートノードではなく、例えば推薦要求をしたノードnn(例えば、ユーザノード)にて行われるものであっても良い。
【0118】
例えば、コンテンツデータの選定や絞り込みの処理の全部が推薦要求をしたノードnnにて行われる場合、ルートノードにおける推薦配信情報生成手段の制御部11は、上述した総合基準情報の全部又は一部を含む総合基準情報を推薦配信情報として生成し、これを、推薦要求をしたノードnnに送信し、推薦要求をしたノードnnにおける配信情報選定手段としての制御部11は、上述したルートノードと同様、当該総合基準情報に基づいて、当該総合基準情報を送信したルートノードにより所在が管理されるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し、当該所在が管理されるコンテンツデータとの類似度が最も高い1のコンテンツデータを上記検索対象として選定する。或いは、推薦要求をしたノードnnにおける制御部11は、上述したルートノードと同様、当該総合基準情報に基づいて、当該総合基準情報を送信したルートノードにより所在が管理されるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し、当該所在が管理されるコンテンツデータとの類似度が高い順にコンテンツデータを所定数選定し、当該選定したコンテンツデータのうち、夫々のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算し、その総和が最も大きい1のコンテンツデータを上記検索対象として選定する。
【0119】
一方、コンテンツデータの選定や絞り込みの処理の一部が推薦要求をしたノードnnにて行われる場合、例えば、ルートノードにおいて生成された図7(A)に示すような、類似度が高いコンテンツデータを示す情報が記述された推薦コンテンツリストと、当該推薦コンテンツリストに示された複数のコンテンデータの夫々の評価情報と、当該複数のコンテンツデータ夫々の履歴情報との少なくとも何れかを含む基準情報とが推薦配信情報として、当該推薦要求をしたノードnnに送信される。そして、当該推薦要求をしたノードnnの配信情報選定手段としての制御部11は、受信された推薦コンテンツリストに示されたコンテンデータのうち夫々のコンテンデータについての評価値又は取得有無値(又は再生有無値)を積算し、その総和が最も大きい1のコンテンツデータを上記検索対象として選定する。
【0120】
なお、上述したルートノードと同様、推薦要求をしたノードnnにおいて既に取得又は再生されたコンテンツデータが除外されて上記1のコンテンツデータが選定されるようにしても良い。また、上記推薦要求をしたノードnnは、上述したルートノードと同様、複数のコンテンツデータを選定し、そのうち、管理対象のコンテンツデータと同一ジャンル(例えば、アクション、コメディ、ラブストーリー等)のコンテンツデータを絞り込むようにしても良い。
[2.コンテンツ配信システムの動作]
次に、コンテンツ配信システムSの動作について説明する。
(実施例1)
初めに、図8乃至図12を参照して、実施例1について説明する。
【0121】
図8(A)は、ノードnnの制御部11におけるコンテンツ検索時の処理を示すフローチャートであり、図8(B)は、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、図8(C)は、ノードnnにおけるコンテンツデータ受信時の処理を示すフローチャートである。
【0122】
また、図9及び図10は、ノードnnの制御部11におけるコンテンツ所在問合せ(検索)メッセージ受信時の処理を示すフローチャートであり、図11は、ノードnnの制御部11におけるコンテンツ配信要求メッセージ受信時の処理を示すフローチャートであり、図12は、ノードnnの制御部11における評価値入力時の処理を示すフローチャートである。
【0123】
図13は、ユーザノードの表示部16上に表示されたコンテンツデータに係る映像と、推薦コンテンツリストの一例を示す図である。
【0124】
例えばあるユーザノード(例えば、ノードn1)において表示部16にコンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると、図8に示すコンテンツ検索時の処理が開始され、制御部11は、選択されたコンテンツ名に対応するコンテンツIDを取得する(ステップS1)。なお、当該コンテンツIDは、コンテンツリストに予め登録されているものであっても良いし、制御部11によりコンテンツ名が上記共通のハッシュ関数にてハッシュ化されて生成されるようにしても良い。
【0125】
次いで、当該制御部11は、自己のDHTのルーティングテーブルから、上記コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDに対応するIPアドレス及びポート番号を取得する(ステップS2)。
【0126】
次いで、当該制御部11は、コンテンツデータの推薦要求を含むコンテンツ所在問合せ(検索)メッセージを生成し、当該生成したメッセージを、通信部20及びネットワーク8を介して上記取得したIPアドレス及びポート番号宛てに送信し(ステップS3)、当該処理を終了し、応答を待つことになる。このメッセージは、DHTのルーティング原理によりルートノードまで転送されて、ルートノードから返信メッセージが返ってくることになる。なお、かかるコンテンツ所在問合せ(検索)メッセージには、取得されたコンテンツID、自己(ユーザノード)のノード情報、及びこの時点までに記憶部12に蓄積されていた評価情報及び履歴情報の少なくとも何れかを含む個別基準情報が含まれることになる。
【0127】
一方、図9に示すコンテンツ所在問合せメッセージ受信時の処理は、任意のノードnnが、他のノードnnから送信(又は転送)されてきたコンテンツ所在問合せ(検索)メッセージを受信(つまり、該メッセージと共に個別基準情報を受信)した場合に開始され、先ず、制御部11は、コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツID、ユーザノードのノード情報、及び個別基準情報を取得しRAMに一時的に記憶する(ステップS11)。
【0128】
次いで、当該制御部11は、記憶部11に上記取得された個別基準情報を記憶するための領域に空き領域があるか否かを判別し(ステップS12)、空き領域が有る場合には(ステップS12:Y)、取得した個別基準情報を総合基準情報に含ませて記憶部12に記憶保存し(ステップS14)、空き領域が無い場合には(ステップS12:N)、古い個別基準情報をノード1行(例えば図6にて示されるような行)分削除して(ステップS13)から上記個別基準情報を記憶保存する(ステップS14)。例えば、個別基準情報1行毎に付加されている時刻情報が参照され、最も古い1行分が削除される。
【0129】
なお、古い個別基準情報を削除するのではなく、コンテンツに対する評価個数が少ない(つまり、空白欄が多い行)ノード1行分を優先的に削除するように構成しても良い。
【0130】
また、上述したように、時刻情報は、各評価値毎(つまり、各欄毎)に付加されているので、当該欄毎に付加されている時刻情報が参照され、古い欄の個別基準情報が削除されるように構成しても良い。
【0131】
次いで、当該制御部11は、自己が、上記取得したコンテンツIDのルートノードであるか否か(例えば、自己のノードIDが当該コンテンツIDと最も近い(上位桁がより多く一致する)か否か)を判別し(ステップS15)、自己がルートノードである場合には(ステップS15:Y)、ルートノードとしての処理を実行する(ステップS16)。一方、自己がルートノードでない場合には(ステップS15:N)、当該制御部11は、自己のDHTのルーティングテーブルから、上記取得したコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDに対応するIPアドレス及びポート番号を取得し(ステップS17)、当該IPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する(ステップS18)。
【0132】
ルートノードとしての処理においては、図10に示すように、先ず、当該ルートノードの制御部11は、記憶部12に記憶されている総合基準情報を取得し、上述したように、当該ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出する(ステップS21)。
【0133】
次いで、当該制御部11は、当該ルートノードの管理対象となるコンテンツデータとの類似度が高い順に上記コンテンツデータを所定数選定(例えば、10個)し、選定されたコンテンツデータが示される(例えば、当該コンテンツデータのタイトルやコンテンツIDが示される)推薦コンテンツリストを生成する(ステップS22)。
【0134】
次いで、当該制御部11は、変数iを初期化(“1”に設定)し(ステップS23)、推薦コンテンツリストに示されるi番目のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算して総和値を求める(ステップS24)。
【0135】
次いで、当該制御部11は、変数iを1インクリメントし(ステップS25)、当該iがn(推薦コンテンツリストにおけるコンテンツデータの登録数)より大きいか否かを判別し(ステップS26)、大きくない場合には(ステップS26:N)、ステップS24に戻り、推薦コンテンツリストに示される次のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算して総和値を求める。このようにして、推薦コンテンツリストに示されている(登録されている)全てのコンテンツデータの評価値等の総和値が求められ、iがnより大きくなった場合には(ステップS26:Y)、ステップS27に移行される。
【0136】
なお、評価値と、取得有無値(又は再生有無値)の何れについての類似度及び総和値を算出するかはルートノードにおいて任意に設定可能になっている。また、例えば、ユーザノードから評価値と、取得有無値(又は再生有無値)の何れについての類似度及び総和値するかを上記メッセージに含めてルートノードに指示するように構成しても良い。
【0137】
ステップS27では、当該制御部11は、上記求められた総和値が大きい順に推薦すべきコンテンツデータを、上記推薦コンテンツリストから所定数選定(例えば、5個。当該総和値が最も高いもの1つでも良い)し、当該選定したコンテンツデータが示される推薦コンテンツリストを生成し直す。
【0138】
次いで、当該制御部11は、ステップS27で生成した推薦コンテンツリストを含む返信メッセージを生成し、これを上記コンテンツ所在問合せ(検索)メッセージの送信元であるユーザノードに送信する(つまり、上記ステップS11で取得したユーザノードのノード情報に示されたIPアドレス及びポート番号宛てに送信する)(ステップS28)。
【0139】
次いで、当該制御部11は、上記ステップS11に取得したユーザノードのノード情報を含むコンテンツ配信要求メッセージを生成し、続いて、上記ステップS11で取得したコンテンツIDに対応するノード情報をインデックスキャッシュ領域から取得し、当該ノード情報にて示されるIPアドレス及びポート番号宛て(つまり、コンテンツ保持ノード)に、上記生成したコンテンツ配信要求メッセージを送信して(ステップS29)、当該処理を終了する。
【0140】
一方、図11に示すコンテンツ配信要求メッセージ受信時の処理は、コンテンツ保持ノードが上記コンテンツ配信要求メッセージを受信した場合に開始され、コンテンツ保持ノードの制御部11は、当該コンテンツ配信要求メッセージに含まれるユーザノードのノード情報を取得し(ステップS31)、当該ノード情報にて示されるユーザノードに対して、要求に係るコンテンツデータを送信し(ステップS32)、当該処理を終了する。
【0141】
次に、図8(B)に示す返信メッセージ受信時の処理は、ユーザノードが返信メッセージを受信した場合に開始され、当該ユーザノードの制御部11は、当該受信された返信メッセージに含まれる推薦コンテンツリストを取得し(ステップS101)、これを記憶部12に記憶する。
【0142】
次いで、当該制御部11は、推薦コンテンツリストにおけるコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)のうち当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除外して、当該推薦コンテンツリストを表示部16上に表示する(ステップS102)。かかる推薦コンテンツリストは、コンテンツ名の表示一覧であっても良いし、図13に示すような代表シーンの画像のサムネイル表示一覧であっても良い。
【0143】
こうして推薦コンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名、或いは、対応する画像を選択すると、当該制御部11は、これに応じ(ステップS103:Y)当該選択されたコンテンツ名に対応するコンテンツデータを選定し(ステップS104)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS105)。これにより、当該制御部11は、当該選定されたコンテンツデータに対応するコンテンツIDを取得し、上記と同様の処理を行う。一方、ユーザによりコンテンツデータの選択が行われることなく、例えばユーザから入力部21を介して終了指示があった場合には(ステップS103:N、ステップS106:Y)、当該処理が終了される。
【0144】
なお、ステップS102において、当該制御部11は、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定するようにして表示しても良い。
【0145】
次に、図8(C)に示すコンテンツデータ受信時の処理は、ユーザノードがコンテンツデータを受信した場合に開始され、当該ユーザノードの制御部11は、当該受信されたコンテンツデータを記憶部21に記憶保存し(ステップS111)、続いて、該コンテンツデータの取得有無値“1”と、当該ユーザノードのノードIDと、当該コンテンツデータのコンテンツIDと、その時の時刻情報とが対応付けられて履歴情報として、記憶部12に記憶された個別識別情報中に登録する(ステップS112)。
【0146】
こうして記憶保存されたコンテンツデータは、ユーザによる入力部21を介した再生指示により再生出力され、ユーザにより視聴されることになる。
【0147】
なお、ユーザノードにおいて、コンテンツ保持ノードからのコンテンツデータの到着(受信)タイミングと、ルートノードからの推薦コンテンツリストが含まれる返信メッセージの到着タイミングは、時間的にほぼ同時になるが、例えば、図13に示すように、表示エリアを分割することにより、どちらが先に受信されても、違和感なく表示することができる。また、映像処理部15におけるスーパーインポーズ機能によって、コンテンツデータに係る映像上に、推薦コンテンツリストを重ね合わせた表示としてもよい。
【0148】
次いで、当該制御部11は、このようにしてコンテンツデータを保存したユーザノードは、自己がそのコンテンツデータのコンテンツ保持ノードとして当該コンテンツデータを保存したことを上記ルートノードに知らせるために、そのコンテンツデータのコンテンツID、自己のノード情報、及び上記履歴情報等が含まれるパブリッシュメッセージ(登録要求情報)を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出し(ステップS113)、当該処理を終了する。
【0149】
これにより、パブリッシュメッセージは、当該コンテンツIDをキーとするDHTルーティングによって、上記推薦コンテンツリストの送信元であるルートノードに到着し、パブリッシュメッセージに含まれるコンテンツID及びノード情報がインデックス情報としてインデックスキャッシュ領域に記憶されることになる。また、当該ルートノードにおいて、当該パブリッシュメッセージに含まれる履歴情報が総合基準情報中に組み込まれ、記憶されることになる。
【0150】
なお、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報、及び履歴情報は、コンテンツ保持ノードからルートノードに至るまでの転送経路における中継ノードにおいても記憶される。
【0151】
そして、上記ユーザノードにおいて、ユーザの入力部21を介した再生指示により取得されたコンテンツデータ(例えば、コンテンツ所在問合せ(検索)メッセージの送信により検索され、取得されたコンテンツデータ)を再生出力され、当該再生が終了すると、例えば、図12に示す評価値入力時の処理が開始され、例えばコンテンツ評価画面が表示部16に表示される(ステップS41)。
【0152】
かかるコンテンツ評価画面上には、コンテンツデータの評価値を入力するための入力欄が設けられており、ユーザが入力部21を操作して当該入力欄に、当該視聴したコンテンツデータに対する評価値を入力すると、当該ユーザノードの制御部11は、上記入力された評価値と、当該ユーザノードのノードIDと、当該コンテンツデータのコンテンツIDと、その時の時刻情報とを対応付けて評価情報として、記憶部12に記憶された個別基準情報中に登録する(ステップS42)。
【0153】
次いで、当該制御部12は、当該評価されたコンテンツデータのコンテンツID、自己のノード情報、及び上記ステップS42で登録された評価情報等が含まれる評価情報登録メッセージを生成し、該評価情報登録メッセージを、そのルートノードに向けて送出し(ステップS43)、当該処理を終了する。
【0154】
これにより、評価情報登録メッセージは、当該コンテンツIDをキーとするDHTルーティングによって、上記推薦コンテンツリストの送信元であるルートノードに到着し、評価情報登録メッセージに含まれる評価情報が総合基準情報中に組み込まれ、記憶されることになる。
【0155】
なお、評価情報登録メッセージに含まれる評価情報は、コンテンツ保持ノードからルートノードに至るまでの転送経路における中継ノードにおいても記憶される。
【0156】
以上説明したように上記実施例1によれば、コンテンツ毎に設けられる各ルートノードが、各ユーザノードにおいて評価された複数のコンテンツデータの夫々の評価を示す評価情報と、各ユーザノードにおいて取得された複数のコンテンツデータの夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を様々なタイミングで、各ユーザノードから収集し総合基準情報として記憶しておき、当該総合基準情報に基づいて、自己により所在が管理されるコンテンツデータ以外の推薦すべき1又は複数のコンテンツデータを選定し、選定されたコンテンツデータが示される推薦コンテンツリストを、ユーザノードに送信するようにしたので、サーバのような特定の装置に負荷をかけることなく、DHTに基づくピアツーピア型の情報配信システムの特長を最大限に生かしながら、高スケーラブルな情報推薦ができる。しかも、コンテンツ毎に設けられる各ルートノードは、他の多くのユーザノードから、自己が管理するコンテンツデータの所在の問合せを受けて返答する立場にあるので、当該他の多くのユーザノードから上記個別基準情報をより効率良く収集でき、したがって、より精度の高い情報推薦をすることができる。
【0157】
また、ルートノードにより所在が管理されるコンテンツデータに対する複数のユーザノードにおける評価値又は取得有無値の傾向と類似度が高い(似通った)コンテンツデータが、コンテンツ所在問合せ(検索)メッセージの送信元のユーザノードに推薦されるので、ユーザは所望するコンテンツデータの所在をルートノードに対して問い合わせる際に、より適切で精度の高い情報推薦を受けることができる。つまり、ユーザノードがルートノードに問い合わせたコンテンツデータと類似度が高いコンテンツデータが推薦されるので、その推薦されたコンテンツデータはユーザの嗜好に合う可能性が高いと言えるのである。
【0158】
また、上記類似度が高いコンテンツデータのうち上記評価値又は取得有無値等の総和が大きい(言い換えれば、多くのユーザの評価や注目度が高い)コンテンツデータが、コンテンツ所在問合せ(検索)メッセージの送信元のユーザノードに推薦されるので、そのユーザはより一層適切で精度の高い情報推薦を受けることができる。
【0159】
また、上記ユーザノードにおいて既に取得又は再生されたコンテンツデータを除くコンテンツデータが推薦されるので、あまり意味のない(或いは重複する)情報推薦を防ぐことができる。
【0160】
また、コンテンツ所在問合せ(検索)メッセージに上記個別基準情報を含めるようにしたので、ルートノードは、より確実、且つより効率良く多くのユーザノードから上記個別基準情報を収集でき、当該メッセージの送信元のユーザノードにおけるコンテンツデータの評価や取得有無等をも考慮されたコンテンツデータを当該ユーザノードに推薦することができる。
【0161】
また、上記個別基準情報は、コンテンツ所在問合せ(検索)メッセージ、パブリッシュメッセージ、及び評価情報登録メッセージがルートノードに到達するまでの転送経路上における中継ノードにおいても記憶されるようにしたので、当該ルートノードが上記オーバーレイネットワーク9から脱退(例えば、電源断により)することにより、ルートノードが替わった場合であっても、当該新たなルートノードには総合基準情報が記憶されている可能性が高いので、以前のルートノードと同様の機能を果たすことができる。
【0162】
なお、上記ステップS28において送信される返信メッセージには、上記推薦コンテンツリストが含まれるように構成したが、別の例として、当該返信メッセージに上記ステップS11で取得されたコンテンツIDに対応するノード情報(コンテンツ保持ノードのノード情報)及び推薦コンテンツリストを含ませて、当該返信メッセージがユーザノードに送信されるように構成しても良い(実施例2及び3の対応する処理でも同様)。このように構成すれば、上記ステップS29の処理は不要となるので、ルートノードにおけるメッセージの送信工程を削減することができる。なお、当該返信メッセージを受信したユーザノードは、これに含まれるノード情報にて示されるIPアドレス及びポート番号宛て(つまり、コンテンツ保持ノード)にコンテンツ配信要求メッセージを送信することになる。
【0163】
さらに変形すると、例えば上記ステップS102において、当初問い合わせたコンテンツデータのコンテンツ名等を推薦コンテンツリストと共に選択可能に表示し、当該問い合わせたコンテンツデータのコンテンツ名がユーザにより選択された場合には、推薦コンテンツリストに示されたコンテンツデータの検索を行わずに、代わりに、当該選択されたコンテンツデータのコンテンツ配信要求メッセージをコンテンツ保持ノードに送信するように構成しても良い(一方、推薦コンテンツリストに示されたコンテンツ名が選択された場合、上記ステップS105の処理が行われる)。このように構成すれば、コンテンツデータの到着タイミングと、推薦コンテンツリストの到着タイミングが、同時になることがないので、画面分割をしなくて良くなる。
【0164】
また、上記ステップS3において送信されるコンテンツ所在問合せ(検索)メッセージには、その時点までに記憶されていた個別基準情報が含まれるように構成したが、別の例として、当該個別基準情報が、当該コンテンツ所在問合せ(検索)メッセージに含まれる代わりに、上記ステップS113において送信されるパブリッシュメッセージに含まれ送信されるか、或いは、上記ステップS43において送信される評価情報登録メッセージに含まれ送信されるように構成しても良い(実施例2及び3の対応する処理でも同様)。
【0165】
また、上記ステップS28において推薦コンテンツリストが含まれる返信メッセージがユーザノードに送信されるように構成したが、別の例として、ルートノードは、当該返信メッセージをこのステップS28で送信せず、上記ステップS113においてユーザノードから送信されたパブリッシュメッセージを受信した際、或いは、上記ステップS43においてユーザノードから送信された評価情報登録メッセージを受信した際に、これに応じて(見返りとして)、上記推薦コンテンツリストが含まれる返信メッセージをユーザノードに送信するように構成しても良い(つまり、パブリッシュメッセージ又は評価情報登録メッセージに含まれる個別基準情報がルートノードで受信された後に、当該返信メッセージがユーザノードに送信される)(実施例2及び3の対応する処理でも同様)。このように構成すれば、ルートノードは、より一層、確実に多くのユーザノードから上記個別基準情報を収集することができ、より精度の高い情報推薦をすることができる。
【0166】
また、上記ステップS29において送信されるコンテンツ配信要求メッセージには、ユーザノードのノード情報が含まれるように構成したが、別の例として、コンテンツ配信要求メッセージにユーザノードのノード情報及び上記推薦コンテンツリストを含ませて、当該コンテンツ配信要求メッセージがコンテンツ保持ノードに送信されるようにし、当該コンテンツ保持ノードが当該ユーザノードにコンテンツデータを送信する際に、上記推薦コンテンツリストもユーザノードに送信するように構成しても良い(実施例2及び3の対応する処理でも同様)。このように構成すれば、上記ステップS28の処理は不要となるので、ルートノードにおけるメッセージの送信工程を削減することができる。
(実施例2)
初めに、図14及び15等を参照して、実施例2について説明する。
【0167】
この実施例2は、上記実施例1において、ルートノードにより上記ステップS21乃至S27までの処理が行われる代わりに、これと同等の処理がユーザノードにて行われる場合の例である。
【0168】
図14は、実施例2において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、図15は、ルートノードとしての処理を示すフローチャートである。
【0169】
この実施例2においても、上述した図8(A)、図8(C)、図9、図11、及び図12に示す処理は、実施例1と同様に行われる。また、実施例2においては、上述した図8(B)に示す返信メッセージ受信時の処理の代わりに図14に示す返信メッセージ受信時の処理が行われ、上述した図10に示すルートノードとしての処理の代わりに図15に示すルートノードとしての処理が行われる。
【0170】
なお、実施例2において実施例1と同様の処理内容についての説明は極力省略するものとする。
【0171】
実施例1と同様、コンテンツ所在問合せ(検索)メッセージがノードnnにより受信されると、図9に示す処理が行われ、自己がルートノードである場合には(ステップS15:Y)、図15に示すルートノードとしての処理が行われる。
【0172】
図15に示すルートノードとしての処理においては、当該ルートノードの制御部11は、記憶部12に記憶されている総合基準情報を含む返信メッセージを生成し、これを上記コンテンツ所在問合せ(検索)メッセージの送信元であるユーザノードに送信する(つまり、上記ステップS11で取得したユーザノードのノード情報に示されたIPアドレス及びポート番号宛てに送信する)(ステップS51)。
【0173】
次いで、当該制御部11は、上記ステップS29と同様、ユーザノードのノード情報を含むコンテンツ配信要求メッセージを、コンテンツ保持ノードに送信して(ステップS52)、当該処理を終了する。
【0174】
次に、図14に示す返信メッセージ受信時の処理は、図8(B)と同様、ユーザノードが返信メッセージを受信した場合に開始され、当該ユーザノードの制御部11は、上記受信された返信メッセージに含まれる総合基準情報を取得し(ステップS201)、上記ステップS21と同様、上記ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータ(当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除く)との類似度を算出する(ステップS202)。なお、図14に示すステップS203〜S207の処理は、上記図10に示すステップS22〜S26と同様である。
【0175】
当該制御部11は、推薦コンテンツリストにおけるコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)のうち当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除外して、且つ、上記求められた総和値が大きい順に推薦すべきコンテンツデータを、上記推薦コンテンツリストから所定数選定し、当該選定したコンテンツデータが示される推薦コンテンツリストを生成し直し、当該推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させる(ステップS208)。こうして推薦コンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると(ステップS209:Y)、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS210)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS211)。これにより、当該制御部11は、当該選定されたコンテンツデータに対応するコンテンツIDを取得し、上記と同様の処理を行う。一方、ユーザによりコンテンツデータの選択が行われることなく、例えばユーザから入力部21を介して終了指示があった場合には(ステップS209:N、ステップS212:Y)、当該処理が終了される。
【0176】
また、当該制御部11は、ステップS202にて生成された、類似度が高いコンテンツデータが示された推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させ、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS210)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS211)ように構成しても良い(この場合、評価値又は取得有無値(又は再生有無値)の総和を算出しなくても良い)。更にまた、当該制御部11は、ステップS202にて各コンテンツデータについての類似度を算出した後、当該類似度が最も高い1のコンテンツデータを検索対象として選定して表示しても良い。
【0177】
なお、当該制御部11は、ステップS208において、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定して表示しても良い。
【0178】
以上説明したように上記実施例2によれば、実施例1においてルートノードの処理であった類似度及び評価値等の総和値の算出がユーザノードにより実行されるようにしたので、実施例1と同等の効果を奏することに加えて、各ルートノードの処理負担を低減させることができる。
(実施例3)
初めに、図16及び図17等を参照して、実施例3について説明する。
【0179】
この実施例3は、上記実施例1において、ルートノードにより上記ステップS23乃至S27までの処理が行われる代わりに、これと同等の処理がユーザノードにて行われる場合の例である。
【0180】
図16は、実施例3において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、図17は、ルートノードとしての処理を示すフローチャートである。
【0181】
この実施例3においても、上述した図8(A)、図8(C)、図9、図11、及び図12に示す処理は、実施例1と同様に行われる。また、実施例3においては、上述した図8(B)に示す返信メッセージ受信時の処理の代わりに図16に示す返信メッセージ受信時の処理が行われ、上述した図10に示すルートノードとしての処理の代わりに図17に示すルートノードとしての処理が行われる。
【0182】
なお、実施例3において実施例1と同様の処理内容についての説明は極力省略するものとする。
【0183】
実施例1と同様、コンテンツ所在問合せ(検索)メッセージがノードnnにより受信されると、図9に示す処理が行われ、自己がルートノードである場合には(ステップS15:Y)、図17に示すルートノードとしての処理が行われる。
【0184】
図17に示すルートノードとしての処理においては、当該ルートノードの制御部11は、記憶部12に記憶されている総合基準情報を取得し、実施例1と同様、当該ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し(ステップS61)、当該ルートノードの管理対象となるコンテンツデータとの類似度が高い順に上記コンテンツデータを所定数選定し、選定されたコンテンツデータが示される推薦コンテンツリストを生成する(ステップS62)。
【0185】
次いで、当該制御部11は、ステップS62で生成した推薦コンテンツリストを含む返信メッセージを生成し、これを上記コンテンツ所在問合せ(検索)メッセージの送信元であるユーザノードに送信する(ステップS63)。
【0186】
次いで、当該制御部11は、上記ステップS29と同様、ユーザノードのノード情報を含むコンテンツ配信要求メッセージを、コンテンツ保持ノードに送信して(ステップS64)、当該処理を終了する。
【0187】
次に、図16に示す返信メッセージ受信時の処理は、図8(B)と同様、ユーザノードが返信メッセージを受信した場合に開始され、当該ユーザノードの制御部11は、上記受信された返信メッセージに含まれる推薦コンテンツリストを取得し(ステップS301)、変数iを初期化(“1”に設定)し(ステップS302)、推薦コンテンツリストに示されるi番目のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算して総和値を求める(ステップS303)。
【0188】
なお、図16に示すステップS304及びS305の処理は、上記図10に示すステップS25及びS26と同様である。
【0189】
当該制御部11は、推薦コンテンツリストにおけるコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)のうち当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除外して、且つ、上記求められた総和値が大きい順に推薦すべきコンテンツデータを、上記推薦コンテンツリストから所定数選定し、当該選定したコンテンツデータが示される推薦コンテンツリストを生成し直し、当該推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させる(ステップS306)。こうして推薦コンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると(ステップS307:Y)、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS308)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS309)。これにより、当該制御部11は、当該選定されたコンテンツデータに対応するコンテンツIDを取得し、上記と同様の処理を行う。一方、ユーザによりコンテンツデータの選択が行われることなく、例えばユーザから入力部21を介して終了指示があった場合には(ステップS307:N、ステップS310:Y)、当該処理が終了される。
【0190】
また、当該制御部11は、上記類似度が高いコンテンツデータが示された推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させ、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS308)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS309)ように構成しても良い(この場合、評価値又は取得有無値(又は再生有無値)の総和を算出しなくても良い)。
【0191】
更にまた、当該制御部11は、返信メッセージに含まれる推薦コンテンツリストにおける各コンテンツデータうち、類似度が最も高い1のコンテンツデータを検索対象として選定して表示しても良い。
【0192】
なお、当該制御部11は、ステップS306において、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定して表示しても良い。
【0193】
以上説明したように上記実施例3によれば、実施例1においてルートノードの処理であった評価値等の総和値の算出がユーザノードにより実行されるようにしたので、実施例1と同等の効果を奏することに加えて、各ルートノードの処理負担を低減させることができる。
【0194】
なお、上記実施例1におけるルートノード、及び実施例2におけるユーザノードは、一例として、総合基準情報に基づいて当該ルートノードで管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し、当該類似度が高い順にコンテンツデータを所定数選定し、当該選定されたコンテンツデータのうち、夫々のコンテンツデータについての評価値又は取得有無値の総和が大きい順に推薦すべきコンテンツデータを更に所定数選定するように構成したが、別の例として、例えば、下記(2)式により、上記算出された類似度sim(i,j)と、各評価値又は取得有無値(又は再生有無値)Ru,jとの乗算値の総和である推薦度Di,jを夫々のコンテンツデータ毎に算出し、当該推薦度Di,jが高い順(つまり、当該総和が大きい順)に推薦すべきコンテンツデータを所定数選定(又は、当該推薦度Di,jが閾値を超えるコンテンツデータを所定数選定)し、当該選定されたコンテンツデータが示される推薦コンテンツリストを生成したり、或いは、当該選定された所定数のコンテンツデータのうち最も推薦度Di,jが高いコンテンツデータを検索対象として選定するように構成しても良い。
【数2】
ここで、Di,Nは、任意のコンテンツCiのコンテンツCNに対する推薦度を意味し、例えば、i=2、N=1とすると、コンテンツC2のコンテンツC1(管理対象のコンテンツ)に対する推薦度を意味する。
【0195】
なお、上記実施例1乃至3においては、コンテンツ所在問合せ(検索)メッセージにコンテンツデータの推薦要求を含めるように構成したが、これに限定されるものではなく、コンテンツ所在問合せ(検索)メッセージとは無関係に、コンテンツデータの推薦要求を示す推薦要求メッセージをユーザノードから、DHTのルーティングによりルートノードに送信されるように構成しても良い。また、推薦要求メッセージを送信したユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除いた推薦コンテンツリストを、ルートノードが作成して送信しても良い。
【0196】
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【0197】
【図1】コンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図2】ノードn1が保持するDHTのルーティングテーブルの一例を示す図である。
【図3】DHTのノードID空間の一例を示す概念図である。
【図4】ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのノードID空間にて示した概念図である。
【図5】ノードnnの概要構成例を示す図である。
【図6】(A)は、コンテンツC1のルートノードに記憶された総合基準情報における評価情報の一例を、(B)は、総合基準情報における履歴情報の一例を、夫々示す図である。
【図7】(A)は、類似度が高いコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示し、(B)は、図7(A)に示す推薦コンテンツリストから絞り込まれたコンテンツデータであって評価値の総和が大きいコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示す図である。
【図8】(A)は、ノードnnの制御部11におけるコンテンツ検索時の処理を示すフローチャートであり、(B)は、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、(C)は、ノードnnにおけるコンテンツデータ受信時の処理を示すフローチャートである。
【図9】ノードnnの制御部11におけるコンテンツ所在問合せ(検索)メッセージ受信時の処理を示すフローチャートである。
【図10】実施例1において、ルートノードとしての処理を示すフローチャートである。
【図11】ノードnnの制御部11におけるコンテンツ配信要求メッセージ受信時の処理を示すフローチャートである。
【図12】ノードnnの制御部11における評価値入力時の処理を示すフローチャートである。
【図13】ユーザノードの表示部16上に表示されたコンテンツデータに係る映像と、推薦コンテンツリストの一例を示す図である。
【図14】実施例2において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートである。
【図15】実施例2において、ルートノードとしての処理を示すフローチャートである。
【図16】実施例3において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートである。
【図17】実施例3において、ルートノードとしての処理を示すフローチャートである。
【符号の説明】
【0198】
nn ノード
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報配信システムに関し、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに関し、特に、配信情報を推薦するための推薦情報をノード装置に対して提供するための技術分野に関する。
【背景技術】
【0002】
近年、インターネット等のネットワークを介して、ユーザの嗜好性に応じたコンテンツを推薦するための推薦情報をクライアント等のノード装置に紹介する情報推薦システムが知られている。
【0003】
例えば、特許文献1には、サーバがクライアントに対してお薦め情報の紹介を行う方法が開示されている。具体的には、サーバがクライアントからネットワークを介してアクセスを受け、ユーザ認証要求とともにクライアントIDが送信されてくると、該クライアントへお薦め紹介要求選択アクションの実行を促すためのメッセージを表示させる。そして、前記サーバは、前記クライアントがお薦め紹介要求選択アクションを実行したことが通知されると、前記アイテム閲覧/購入データベースより前記クライアントIDをキーとして前記クライアントのアイテム閲覧/購入履歴を取得して、該アイテム閲覧/購入履歴をもとにお薦めアイテムリストを作成し、前記クライアントに送信するようになっている。
【特許文献1】特開2002−24694号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このようなクライアント・サーバ型のシステムでは、ユーザ数やコンテンツ数が増加すると、サーバへの負荷が著しく増加するというスケーラビリティの問題が生じる。
【0005】
一方で、ピアツーピア型の情報配信システムにおいては、該システムに参加している複数のノード装置に配信情報を分散配置(分散保存)させておくことで、対故障性やアクセスの分散性を高めるようになっているが、サーバのような特定の装置に負荷をかけることなく、高スケーラブルで高精度に情報を推薦する手法は未だ確立されていない。
【0006】
本発明は、以上の問題等に鑑みてなされたものであり、サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦が可能な情報配信システム、情報配信方法、ノード装置、及びノード処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備えることを特徴とする。
【0008】
この発明によれば、複数のノード装置に分散して保存される複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を収集、記憶しておき、当該総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を、前記要求情報の送信元であるノード装置に送信するようにしたので、サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦ができる。また、夫々の配信情報の所在を管理する夫々のノード装置は、他の多くのノード装置から、自己が管理する配信情報の所在の問合せを受けて返答する立場にあるので、当該他の多くのノード装置から上記評価情報や履歴情報をより効率良く収集でき、したがって、より精度の高い情報推薦ができる。
【0009】
請求項2に記載の発明は、請求項1に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0010】
この発明によれば、配信情報の所在を管理するノード装置はより効率良く多くのノード装置から上記評価情報や履歴情報を収集することができる。
【0011】
請求項3に記載の発明は、請求項2に記載のノード装置において、前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とする。
【0012】
この発明によれば、配信情報の所在を管理するノード装置はより確実に多くのノード装置から上記評価情報や履歴情報を収集でき、上記要求情報の送信元であるノード装置における配信情報の評価や取得有無等をも考慮された配信情報を当該ノード装置に推薦することができる。
【0013】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とする。
【0014】
この発明によれば、配信情報の所在を管理するノード装置はより効率良く情報推薦ができる。
【0015】
請求項5に記載の発明は、請求項4に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0016】
請求項6に記載の発明は、請求項4に記載のノード装置において、前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0017】
この発明によれば、配信情報の所在を管理するノード装置はより確実に多くのノード装置から上記評価情報や履歴情報を収集することができる。
【0018】
請求項7に記載の発明は、請求項4に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0019】
請求項8に記載の発明は、請求項2に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とする。
【0020】
請求項9に記載の発明は、請求項8に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とする。
【0021】
請求項10に記載の発明は、請求項9に記載のノード装置において、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とする。
【0022】
この発明によれば、配信情報の所在を管理するノード装置は上記推薦配信情報を、より効果的に要求情報の送信元であるノード装置に提供することができる。
【0023】
請求項11に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記推薦すべき配信情報を所定数選定し、前記選定された配信情報が示される推薦配信情報を生成することを特徴とする。
【0024】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報との関連性が高い配信情報を推薦するので、より適切で精度の高い情報推薦をすることができる。
【0025】
請求項12に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とする。
【0026】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報との関連性が高い配信情報の中から更に評価や注目度の高い配信情報を推薦できるので、より適切で精度の高い情報推薦をすることができる。
【0027】
請求項13に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とする。
【0028】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報との関連性が高い配信情報の中から更に評価や注目度の高い配信情報を推薦できるので、より適切で精度の高い情報推薦をすることができる。
【0029】
請求項14に記載の発明は、請求項11乃至13の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、自己の管理対象となる配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とする。
【0030】
この発明によれば、配信情報の所在を管理するノード装置は自己の管理対象となる配信情報の評価や注目度の傾向と似通った配信情報を推薦するので、より適切で精度の高い情報推薦をすることができる。
【0031】
請求項15に記載の発明は、請求項1乃至14の何れか一項に記載のノード装置において、前記推薦配信情報生成手段は、前記要求情報の送信元であるノード装置において既に取得又は再生された配信情報を除外して前記推薦配信情報を生成することを特徴とする。
【0032】
この発明によれば、配信情報の所在を管理するノード装置は、推薦すべき配信情報から、既に取得又は再生された配信情報を除外するので、より効果的な推薦を行うことができる。
【0033】
請求項16に記載の発明は、請求項1乃至14の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0034】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができる。
【0035】
請求項17に記載の発明は、請求項15に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報に示された配信情報のうちから1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0036】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができる。
【0037】
請求項18に記載の発明は、請求項11に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報には、これに示された複数の配信情報の夫々の評価を示す評価情報と、当該複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む基準情報が含まれており、前記受信された推薦配信情報に示された配信情報のうち夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい前記配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0038】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができると共に、配信情報の所在を管理するノード装置側の負担も軽減することができる。
【0039】
請求項19に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備えることを特徴とする。
【0040】
この発明によれば、要求情報の送信元であるノード装置はより適切で精度の高い情報推薦を受けることができ、推薦された配信情報をより効率良く取得することができると共に、配信情報の所在を管理するノード装置側の負担も軽減することができる。
【0041】
請求項20に記載の発明は、請求項19に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0042】
請求項21に記載の発明は、請求項20に記載のノード装置において、前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とする。
【0043】
請求項22に記載の発明は、請求項19乃至21の何れか一項に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とする。
【0044】
請求項23に記載の発明は、請求項22に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とする。
【0045】
請求項24に記載の発明は、請求項22に記載のノード装置において、前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0046】
請求項25に記載の発明は、請求項22に記載のノード装置において、前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とする。
【0047】
請求項26に記載の発明は、請求項20に記載のノード装置において、前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とする。
【0048】
請求項27に記載の発明は、請求項26に記載のノード装置において、前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とする。
【0049】
請求項28に記載の発明は、請求項27に記載のノード装置において、前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とする。
【0050】
請求項29に記載の発明は、請求項19乃至28の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0051】
請求項30に記載の発明は、請求項29に記載のノード装置において、前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が最も高い1の前記配信情報を選定することを特徴とする。
【0052】
請求項31に記載の発明は、請求項29に記載のノード装置において、前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい1の前記配信情報を更に選定することを特徴とする。
【0053】
請求項32に記載の発明は、請求項29に記載のノード装置において、前記推薦配信情報選定手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が最も大きい1の前記配信情報を選定することを特徴とする。
【0054】
請求項33に記載の発明は、請求項30乃至32の何れか一項に記載のノード装置において、前記配信情報選定手段は、前記推薦配信情報を送信したノード装置により所在が管理される配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とする。
【0055】
請求項34に記載の発明は、請求項30乃至33の何れか一項に記載のノード装置において、前記配信情報選定手段は、自己において既に取得又は再生された配信情報を除外して1の前記配信情報を選定することを特徴とする。
【0056】
請求項35に記載のノード処理プログラムは、コンピュータを、請求項1乃至34の何れか一項に記載のノード装置として機能させることを特徴とする。
【0057】
請求項36に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、前記推薦配信情報を受信するノード装置は、前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0058】
請求項37に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、前記推薦配信情報を受信するノード装置は、前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、を備えることを特徴とする。
【0059】
請求項38に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、前記配信情報の推薦要求を含む要求情報を受信する工程と、前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する工程と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、前記推薦配信情報を受信するノード装置が、前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する工程と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、を備えることを特徴とする。
【0060】
請求項39に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、前記配信情報の推薦要求を含む要求情報を受信する工程と、前記総合基準情報の全部又は一部を含む推薦配信情報を生成する工程と、前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、前記推薦配信情報を受信するノード装置が、前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する工程と、前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、を備えることを特徴とする。
【発明の効果】
【0061】
本発明によれば、複数のノード装置に分散して保存される複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を収集、記憶しておき、当該総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を、前記要求情報の送信元であるノード装置に送信するようにしたので、サーバのような特定の装置に負荷をかけることなく、高スケーラブルでより精度の高い情報推薦ができる。また、夫々の配信情報の所在を管理する夫々のノード装置は、他の多くのノード装置から、自己が管理する配信情報の所在の問合せを受けて返答する立場にあるので、当該他の多くのノード装置から上記評価情報や履歴情報をより効率良く収集でき、したがって、より精度の高い情報推薦をすることができる。
【発明を実施するための最良の形態】
【0062】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
始めに、図1を参照して、情報配信システムの一例としてのコンテンツ配信システムの概要構成等について説明する。
【0063】
図1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【0064】
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
【0065】
コンテンツ配信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置(以下、単に、「ノード」という)n1,n2・・・n21を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている(なお、実際には、これ以上のノードが存在することになる)。また、各ノードn1〜n21には、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数のノード間で重複しないものである。
【0066】
そして、このコンテンツ配信システムSにおいては、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワーク(論理的なネットワーク)を意味する。
【0067】
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9(図1の上部枠100内)に配置されたノードn1〜n15を、オーバーレイネットワーク9に参加しているノードnnという。言い換えれば、オーバーレイネットワーク9は、ノードnnの参加により形成されている。このようなオーバーレイネットワーク9への参加は、参加していないノードn16〜n21が、参加している任意のノードnnに対して参加要求を示す参加要求情報としての参加メッセージを送信することによって行われる。
【0068】
また、各ノードnnは、固有の識別情報としてのノードIDを有しており、当該ノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。
【0069】
このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【0070】
また、各ノードnnは、夫々、DHT(Distributed Hash Table)を保持している。このDHTは、オーバーレイネットワーク9上における各種メッセージの転送先を規定しており、具体的には、ノードID空間内で適度に離れたノードnnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されたルーティングテーブル(転送先テーブル)が含まれている。
【0071】
図2は、ノードn1が保持するDHTのルーティングテーブルの一例を示す図であり、図3は、DHTのノードID空間の一例を示す概念図である。
【0072】
なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。
【0073】
図2の例において、DHTのルーティングテーブルは、レベル1〜レベル3のテーブルからなり(複数のレベルに区分されており)、各レベルのテーブルエントリーには、エリア毎に、転送先ノード情報として、ノードIDとこれに対応するノードnnのIPアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図3に示すように、レベル1では、DHTのノードID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133” のノードIDが存在するエリアを1XXのエリア、“200”〜“233” のノードIDが存在するエリアを2XXのエリア、“300”〜“333” のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103” のノードIDが存在するエリアを10Xのエリア、“110”〜“113” のノードIDが存在するエリアを11Xのエリア、“120”〜“123” のノードIDが存在するエリアを12Xのエリア、“130”〜“133” のノードIDが存在するエリアを13Xのエリアとする。
【0074】
そして、例えば、ノードn1のノードIDが“122”とすると、図2に示すように、かかるノードn1のレベル1における1XXのエリア(自己(つまり、自ノード)が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意のノードnnのノードID及びIPアドレス等が登録されている。
【0075】
また、かかるノードn1のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図2に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意のノードnnのノードID及びIPアドレス等が登録されている。
【0076】
更に、かかるノードn1のレベル3には、図2に示すように、ノードIDが“120”〜“122”のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。
【0077】
なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
【0078】
このように、本実施形態におけるDHTのルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
【0079】
このようなDHTは、未参加のノードがオーバーレイネットワーク9に参加する際に与えられることになる。
【0080】
ところで、オーバーレイネットワーク9においては、様々なコンテンツ(例えば、映画や音楽等)データ(配信情報の一例)が複数のノードnnに分散して保存(格納)されている(言い換えれば、コンテンツデータが複製されその複製情報であるレプリカが分散保存されている)。
【0081】
例えば、ノードn1及びノードn4には、タイトルがXXXの映画のコンテンツデータが保存されており、一方、ノードn2及びノードn3には、タイトルがYYYの映画のコンテンツデータが保存されるというように、複数のノードnn(以下、「コンテンツ保持ノード」という)に分散されて保存される。また、これらのコンテンツデータには、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有の識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム運営者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれた「コンテンツリスト」が、全ノードnnに配布される。
【0082】
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードnnを示すノード情報(例えば、IPアドレス及びポート番号等を含む)と当該コンテンツデータに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元のノードnn(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。
【0083】
例えば、タイトルがXXXの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードn13により管理され、タイトルがYYYの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードn14により管理される。つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ(コンテンツIDが同一)が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータのインデックス情報は、1つのルートノードで管理することができる。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードnnであるように定められる。
【0084】
そして、あるノードnnのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノードnn(以下、「ユーザノード」という)は、当該ユーザにより選択(例えば、全てのノードnnに配信されているコンテンツリスト(コンテンツ名とコンテンツID等が記述されており、例えばコンテンツリスト管理サーバ(図示せず)にて管理される)から選択)されたコンテンツデータのコンテンツID及び自己のノード情報を含むコンテンツ所在問合せ(検索)メッセージ(コンテンツデータの所在を示すノード情報の要求を含む要求情報(クエリ)の一例))を生成し、これを自己のDHTのルーティングテーブルにしたがって他のノードnnに対して送出する。なお、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
【0085】
図4は、ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのノードID空間にて示した概念図である。
【0086】
図4の例において、例えば、ユーザノードであるノードn1は、自己のDHTのレベル1のテーブル(図2に示すDHTのルーティングテーブルとは無関係)を参照して、コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードn8のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを送信する。
【0087】
これに対して、ノードn8は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル2のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードn11のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する。
【0088】
これに対して、ノードn11は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル3のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードn13のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する。
【0089】
これに対して、ノードn13は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル4のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDが自分である、つまり、自分がそのコンテンツIDのルートノードであることを認識し、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信するか、或いは、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ配信要求メッセージ(ユーザノードのノード情報を含み、当該ユーザノードに対してコンテンツデータを送信することを要求するメッセージ)を送信する。これにより、ユーザノードは、所望のコンテンツデータを保存している上記コンテンツ保持ノードに接続し、そこから当該コンテンツデータを取得(ダウンロード)することが可能になる。なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード(例えば、ノードn11等のキャッシュノード)から当該インデックス情報を取得(受信)することもできる。
【0090】
次に、図5を参照して、ノードnnの構成及び機能について説明する。
【0091】
図5は、ノードnnの概要構成例を示す図である。
【0092】
ノードnnは、図5に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、インデックス情報、DHT)及びプログラム等を記憶保存(格納)するためのHDD等から構成されたノード情報記憶手段及び基準情報記憶手段としての記憶部12と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードnnとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、及び通信部20は、バス22を介して相互に接続されている。なお、ノードnnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
【0093】
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御すると共に、上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっており、本発明の情報受信手段、推薦配信情報生成手段、情報送信手段、配信情報選定手段、要求情報送信手段等として機能し、後述する各種処理を行うようになっている。
【0094】
なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【0095】
また、上述したインデックスキャッシュ領域は、例えば記憶部12における記憶領域のうち、数kB(キロバイト)〜数MB(メガバイト)が割り当てられている。また、インデックスキャッシュ領域は、様々なコンテンツに対応するインデックス情報が記憶されており、自己がルートノードとして管理するコンテンツ(コンテンツID)に対応するインデックス情報と、自己がルートノードではなくキャッシュノードとして管理するコンテンツ(コンテンツID)に対応するインデックス情報とが混在して記憶されている場合もある。
【0096】
また、ルートノード、及び当該ルートノードに至るまでのメッセージ等の転送経路上における中継ノードの記憶部11には、複数のノードnnの夫々において評価された複数のコンテンツデータの夫々の評価を示す評価情報と、複数のノードnnの夫々において取得された複数のコンテンツデータの夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報が記憶されるようになっている。
【0097】
図6(A)は、コンテンツC1のルートノードに記憶された総合基準情報における評価情報の一例を、図6(B)は、総合基準情報における履歴情報の一例を、夫々示す図である。図6(A)の例における評価情報は、縦軸をノードnn(n=1,2,3・・・)、横軸をコンテンツCn(n=1,2,3・・・)としてマトリクス状に、コンテンツデータの評価値(評価情報にて示される値)を記述している。また、図6(B)の例における履歴情報は、縦軸をノードnn、横軸をコンテンツCnとしてマトリクス状に、コンテンツデータの取得有無値(履歴情報にて示される値)を記述している。
【0098】
なお、図6(A)及び(B)の例に示されるノードnn(n=1,2,3・・・)は、例えばノードIDで記述され、コンテンツCn(n=1,2,3・・・)は例えばコンテンツIDで記述される。
【0099】
図6(A)及び(B)の例において、コンテンツC1は、当該ルートノードの管理対象となるコンテンツデータ(つまり、当該ルートノードのノードIDと最も近いコンテンツIDであるコンテンツデータ)に対応しており、コンテンツC2,C3・・・は、当該ルートノードの管理対象外のコンテンツデータに対応している。
【0100】
また、図6(A)の例に示される各評価値は、その数値が高いほど、評価が高いことを意味しており、評価値が示されていない空白欄は、そのノードnnにおいてそのコンテンツデータの評価がなされていないことを意味している。また、図6(B)の例に示される各取得有無値である“1”は、そのノードnnにおいてそのコンテンツデータが取得されていることを意味し、“0”は、そのノードnnにおいてそのコンテンツデータが取得されていないことを意味している。なお、各評価値及び各取得有無値には、それが各ノードnnにおいて記憶された時刻を示す時刻情報(例えば、年、月、日、時刻)が対応付けられている。
【0101】
また、上記評価値は、例えばユーザノードにおいてコンテンツデータが再生、視聴された後、当該ユーザノードのユーザにより入力されるものであり、例えば、当該ユーザが入力部21を操作して表示部16に表示されたコンテンツ評価画面を通じて、視聴したコンテンツデータに対する評価値を入力すると、その評価値と、当該ユーザノードのノートIDと、当該コンテンツデータの例えばコンテンツIDと、その時の時刻情報とが対応付けられて評価情報(個別基準情報)として記憶されることになる。一方、例えばユーザノードにおいてコンテンツ保持ノードからコンテンツデータがダウンロードされた場合に、当該コンテンツデータの例えばコンテンツIDと、当該ユーザノードのノードIDと、上記取得有無値“1”と、その時の時刻情報とが対応付けられて履歴情報(個別基準情報)として記憶されることになる。なお、上記取得有無値と共に又は当該取得有無値に代えて、例えばユーザノードにおいてダウンロードされたコンテンツデータが再生された場合に、当該コンテンツデータの例えばコンテンツIDに上記再生有無値“1”が対応付けられて履歴情報(個別基準情報)として記憶されるように構成しても良い。
【0102】
また、各ノードnnにおける評価情報(例えば、ノードn1であれば、図6(A)の符号51部に示す行における夫々の評価値)と履歴情報との少なくとも何れかを含む個別基準情報は、各ノードnnから当該ルートノードに対して任意のタイミングで送信(詳細は後述)され、上記総合基準情報中に組み込まれ、記憶されることになる。
【0103】
なお、個別基準情報は、例えば図6(A)に示す1行毎に送信されることになり、ノードn1の場合、コンテンツC2(コンテンツID):5(評価値),コンテンツC4(コンテンツID):1(評価値)・・・という並びで、未評価のコンテンツのコンテンツIDについては含まれない構成とする。また、送信される1行毎の個別基準情報には、その送信された時刻を示す時刻情報(例えば、年、月、日、時刻)が付加されることになる。つまり、時刻情報は、例えば図6(A)に示す欄(マス)毎に付加され、更に、行毎にも付加されることになる。なお、行毎の時刻情報は、個別基準情報をノードが受信した時刻を示すようにしても良い。
【0104】
そして、ルートノードにおける推薦配信情報生成手段としての制御部11は、上記総合基準情報に基づいて、自己により所在が管理されるコンテンツデータ以外の推薦すべき1又は複数のコンテンツデータを選定し、当該選定されたコンテンツデータが示される推薦配信情報としての推薦コンテンツリストを生成するようになっている。
【0105】
より具体的には、当該制御部11は、上記総合基準情報に基づいて、当該ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの関連性の高さを示す値を算出し、当該ルートノードの管理対象となるコンテンツデータとの関連性が高い順に上記コンテンツデータを所定数選定し、選定されたコンテンツデータが示される(例えば、当該コンテンツデータのタイトル、コンテンツID、及び当該コンテンツデータの代表シーンの画像データ等が示される)推薦コンテンツリストを生成する。そして、当該制御部11は、当該生成した推薦コンテンツリストを例えばコンテンツデータの推薦要求をしたノードnnに通信部20を介して送信する。
【0106】
ここで、上記関連性の高さを示す値とは、一つの例として、当該ルートノードの管理対象となるコンテンツデータ(コンテンツC1に対応)についての夫々の評価値(例えば、図6(A)の符号52部に示す列における夫々の評価値)又は夫々の取得有無値(再生有無値でも良い)の傾向と、該コンテンツデータ以外の夫々のコンテンツデータ(コンテンツC2,C3・・・に対応)についての夫々の評価値又は取得有無値(再生有無値でも良い)の傾向との類似度を示す値(以下、単に「類似度」という)をいう。例えば、図6(A)の例において、コンテンツC1は、評価値が上から“3”、“3”、“3”・・・となっており、どのユーザからも平均的な評価値が付けられる傾向にあり、コンテンツC3は、評価値が上から“4”、“3”、“3”・・・となっており、コンテンツC1と同様、どのユーザからも平均的な評価値が付けられる傾向にある。従って、このようなコンテンツC3はコンテンツC1に対する類似度が高いといえる。なお、最も類似度が高いといえるのは、全てのユーザの評価値が同一となる場合である。一方、コンテンツC5は、評価値が上から“1”、“1”、“5”・・・となっており、一部のユーザからのみ高い評価値が付けられる傾向にある。従って、このようなコンテンツC5はコンテンツC1に対する類似度が低いといえる。
【0107】
このような類似度を定量的に表す計算式として例えばピアソンの積率相関関数等を適用でき、類似度は例えば下記(1)式により算出される。
【数1】
ここで、sim(i,j)は、任意のコンテンツCiのコンテンツCjに対する類似度を意味し、例えば、i=2、j=1とすると、コンテンツC2のコンテンツC1(管理対象のコンテンツ)に対する類似度を意味する。
【0108】
また、Ru,iは、任意のユーザuのコンテンツCiの評価値(例えばノードn1のユーザのコンテンツC2の評価値)又は取得有無値(又は再生有無値)を意味し、Ru,jは、任意のユーザuのコンテンツCjの評価値又は取得有無値(又は再生有無値)を意味する。また、Ri(上付き−)は、全てのユーザのコンテンツCiの評価値(つまり、各ノードnnにおけるコンテンツCiの評価値)の平均値又は取得有無値(又は再生有無値)の平均値を意味し、Rj(上付き−)は、全てのユーザのコンテンツCjの評価値の平均値又は取得有無値(又は再生有無値)の平均値を意味する。また、Σu∈Uは、例えば各ユーザに対応する(Ru,i−Ri(上付き−))2の値を積算すること(総和)を意味する。なお、図6(A)の例において、評価値が示されていない空白欄は、計算対象外となる。
【0109】
このようにして、評価情報又は履歴情報に記述されている、管理対象のコンテンツデータ(コンテンツC1に対応)を除く全てのコンテンツデータ(コンテンツC2,C3・・・に対応)についての類似度が算出され、類似度が高い(大きい)方から順に推薦されるべき所定数(例えば、10個)のコンテンツデータが選定(又は、当該類似度が閾値を超える所定数のコンテンツデータが選定)される。このように選定されたコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)が推薦コンテンツリストに記述され、例えば推薦要求をしたノードnnに対して送信されるようにしても良いが、この中から更に推薦すべきコンテンツデータが絞り込まれ、当該絞り込まれたコンテンツデータを示す情報が記述された推薦コンテンツリストが推薦要求をしたノードnnに対して送信されるようにしても良い。
【0110】
例えば、ルートノードの制御部11は、上記選定したコンテンツデータのうち、夫々のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算(例えば、図6(A)の符号52部に示す列における夫々の評価値を積算)し、その総和が大きい順に推薦すべきコンテンツデータを更に所定数(例えば、5個)選定(又は、当該総和が閾値を超える所定数のコンテンツデータを選定)し、当該選定したコンテンツデータを示す情報を推薦コンテンツリストに記述する(言い換えれば、推薦コンテンツリストにおける、類似度が高い所定数のコンテンツデータを示す情報のうち、当該選定された上記総和が大きいコンテンツデータ以外のコンテンツデータを示す情報を削除する)。これは、管理対象のコンテンツデータと類似度が高いコンテンツデータのうちから更にユーザ評価が高いコンテンツデータを絞り込む趣旨である。
【0111】
図7(A)は、類似度が高いコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示し、図7(B)は、図7(A)に示す推薦コンテンツリストから絞り込まれたコンテンツデータであって評価値の総和が大きいコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示す図である。この例では、類似度が高い上位10つのコンテンツデータ(図7(A)参照)のうちから、評価値等の総合値が大きい上位5つのコンテンツデータ(図7(B)参照)が選定されている。
【0112】
このような推薦コンテンツリストは記憶部12に記憶され、例えば個別基準情報が受信される度に上述した類似度の計算等が行われ当該推薦コンテンツリストは更新されることになる。
【0113】
更に、ルートノードの制御部11は、例えば推薦要求をしたノードnnにおいて既に取得又は再生されたコンテンツデータ(例えば、評価情報において評価値が登録されているコンテンツデータ又は取得有無値(又は再生有無値)が“1”であるコンテンツデータ)を特定し、当該特定したコンテンツデータを除外して推薦コンテンツリストを生成し、これを例えば推薦要求をしたノードnnに対して送信するようにしても良い。例えば、当該既に取得又は再生されたコンテンツデータについては、そもそも上記類似度の計算等の対象外とするか、或いは、図7(A)又は図7(B)に示すような推薦コンテンツリストが生成された後に削除されるように構成する。
【0114】
更にまた、ルートノードの制御部11は、図7(A)又は図7(B)に示すような推薦コンテンツリストから、管理対象のコンテンツデータと同一ジャンル(例えば、アクション、コメディ、ラブストーリー等)等のコンテンツデータを絞り込み、当該絞り込まれたコンテンツデータを示す情報が記述された推薦コンテンツリストを例えば推薦要求をしたノードnnに対して送信するようにしても良い。この場合、例えば全てのコンテンツデータのコンテンツIDにはジャンルを示す情報が付加されることになる。
【0115】
こうして送信された推薦コンテンツリストは、例えば推薦要求をしたノードnnにより受信され、配信情報選定手段としての制御部11は、当該受信された推薦コンテンツリストに示されたコンテンツデータのうち、当該ノードnnにおいて既に取得又は再生されたコンテンツデータを除外(既にルートノードにおいて除外されている場合には不要)したコンテンツデータから1のコンテンツデータを検索対象として選定する。なお、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、当該推薦要求をしたノードnnの制御部11は、例えば最も類似度が高い1のコンテンツデータ、或いは、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定するようにしても良いし、推薦コンテンツリストが表示部16に表示され、ユーザにより入力部21を介して選択された1のコンテンツデータを選定するようにしても良い。
【0116】
そして、推薦要求をしたノードnnの制御部11は、上記検索対象として選定されたコンテンツデータの所在を示すノード情報を要求するコンテンツ所在問合せ(検索)メッセージを、上述したように、DHTのルーティングテーブルにしたがって、当該コンテンツデータの所在を管理するルートノードに向けて送出することになる。
【0117】
以上説明した推薦すべきコンテンツデータの選定や絞り込みの処理の全部又は一部は、ルートノードではなく、例えば推薦要求をしたノードnn(例えば、ユーザノード)にて行われるものであっても良い。
【0118】
例えば、コンテンツデータの選定や絞り込みの処理の全部が推薦要求をしたノードnnにて行われる場合、ルートノードにおける推薦配信情報生成手段の制御部11は、上述した総合基準情報の全部又は一部を含む総合基準情報を推薦配信情報として生成し、これを、推薦要求をしたノードnnに送信し、推薦要求をしたノードnnにおける配信情報選定手段としての制御部11は、上述したルートノードと同様、当該総合基準情報に基づいて、当該総合基準情報を送信したルートノードにより所在が管理されるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し、当該所在が管理されるコンテンツデータとの類似度が最も高い1のコンテンツデータを上記検索対象として選定する。或いは、推薦要求をしたノードnnにおける制御部11は、上述したルートノードと同様、当該総合基準情報に基づいて、当該総合基準情報を送信したルートノードにより所在が管理されるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し、当該所在が管理されるコンテンツデータとの類似度が高い順にコンテンツデータを所定数選定し、当該選定したコンテンツデータのうち、夫々のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算し、その総和が最も大きい1のコンテンツデータを上記検索対象として選定する。
【0119】
一方、コンテンツデータの選定や絞り込みの処理の一部が推薦要求をしたノードnnにて行われる場合、例えば、ルートノードにおいて生成された図7(A)に示すような、類似度が高いコンテンツデータを示す情報が記述された推薦コンテンツリストと、当該推薦コンテンツリストに示された複数のコンテンデータの夫々の評価情報と、当該複数のコンテンツデータ夫々の履歴情報との少なくとも何れかを含む基準情報とが推薦配信情報として、当該推薦要求をしたノードnnに送信される。そして、当該推薦要求をしたノードnnの配信情報選定手段としての制御部11は、受信された推薦コンテンツリストに示されたコンテンデータのうち夫々のコンテンデータについての評価値又は取得有無値(又は再生有無値)を積算し、その総和が最も大きい1のコンテンツデータを上記検索対象として選定する。
【0120】
なお、上述したルートノードと同様、推薦要求をしたノードnnにおいて既に取得又は再生されたコンテンツデータが除外されて上記1のコンテンツデータが選定されるようにしても良い。また、上記推薦要求をしたノードnnは、上述したルートノードと同様、複数のコンテンツデータを選定し、そのうち、管理対象のコンテンツデータと同一ジャンル(例えば、アクション、コメディ、ラブストーリー等)のコンテンツデータを絞り込むようにしても良い。
[2.コンテンツ配信システムの動作]
次に、コンテンツ配信システムSの動作について説明する。
(実施例1)
初めに、図8乃至図12を参照して、実施例1について説明する。
【0121】
図8(A)は、ノードnnの制御部11におけるコンテンツ検索時の処理を示すフローチャートであり、図8(B)は、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、図8(C)は、ノードnnにおけるコンテンツデータ受信時の処理を示すフローチャートである。
【0122】
また、図9及び図10は、ノードnnの制御部11におけるコンテンツ所在問合せ(検索)メッセージ受信時の処理を示すフローチャートであり、図11は、ノードnnの制御部11におけるコンテンツ配信要求メッセージ受信時の処理を示すフローチャートであり、図12は、ノードnnの制御部11における評価値入力時の処理を示すフローチャートである。
【0123】
図13は、ユーザノードの表示部16上に表示されたコンテンツデータに係る映像と、推薦コンテンツリストの一例を示す図である。
【0124】
例えばあるユーザノード(例えば、ノードn1)において表示部16にコンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると、図8に示すコンテンツ検索時の処理が開始され、制御部11は、選択されたコンテンツ名に対応するコンテンツIDを取得する(ステップS1)。なお、当該コンテンツIDは、コンテンツリストに予め登録されているものであっても良いし、制御部11によりコンテンツ名が上記共通のハッシュ関数にてハッシュ化されて生成されるようにしても良い。
【0125】
次いで、当該制御部11は、自己のDHTのルーティングテーブルから、上記コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDに対応するIPアドレス及びポート番号を取得する(ステップS2)。
【0126】
次いで、当該制御部11は、コンテンツデータの推薦要求を含むコンテンツ所在問合せ(検索)メッセージを生成し、当該生成したメッセージを、通信部20及びネットワーク8を介して上記取得したIPアドレス及びポート番号宛てに送信し(ステップS3)、当該処理を終了し、応答を待つことになる。このメッセージは、DHTのルーティング原理によりルートノードまで転送されて、ルートノードから返信メッセージが返ってくることになる。なお、かかるコンテンツ所在問合せ(検索)メッセージには、取得されたコンテンツID、自己(ユーザノード)のノード情報、及びこの時点までに記憶部12に蓄積されていた評価情報及び履歴情報の少なくとも何れかを含む個別基準情報が含まれることになる。
【0127】
一方、図9に示すコンテンツ所在問合せメッセージ受信時の処理は、任意のノードnnが、他のノードnnから送信(又は転送)されてきたコンテンツ所在問合せ(検索)メッセージを受信(つまり、該メッセージと共に個別基準情報を受信)した場合に開始され、先ず、制御部11は、コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツID、ユーザノードのノード情報、及び個別基準情報を取得しRAMに一時的に記憶する(ステップS11)。
【0128】
次いで、当該制御部11は、記憶部11に上記取得された個別基準情報を記憶するための領域に空き領域があるか否かを判別し(ステップS12)、空き領域が有る場合には(ステップS12:Y)、取得した個別基準情報を総合基準情報に含ませて記憶部12に記憶保存し(ステップS14)、空き領域が無い場合には(ステップS12:N)、古い個別基準情報をノード1行(例えば図6にて示されるような行)分削除して(ステップS13)から上記個別基準情報を記憶保存する(ステップS14)。例えば、個別基準情報1行毎に付加されている時刻情報が参照され、最も古い1行分が削除される。
【0129】
なお、古い個別基準情報を削除するのではなく、コンテンツに対する評価個数が少ない(つまり、空白欄が多い行)ノード1行分を優先的に削除するように構成しても良い。
【0130】
また、上述したように、時刻情報は、各評価値毎(つまり、各欄毎)に付加されているので、当該欄毎に付加されている時刻情報が参照され、古い欄の個別基準情報が削除されるように構成しても良い。
【0131】
次いで、当該制御部11は、自己が、上記取得したコンテンツIDのルートノードであるか否か(例えば、自己のノードIDが当該コンテンツIDと最も近い(上位桁がより多く一致する)か否か)を判別し(ステップS15)、自己がルートノードである場合には(ステップS15:Y)、ルートノードとしての処理を実行する(ステップS16)。一方、自己がルートノードでない場合には(ステップS15:N)、当該制御部11は、自己のDHTのルーティングテーブルから、上記取得したコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDに対応するIPアドレス及びポート番号を取得し(ステップS17)、当該IPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する(ステップS18)。
【0132】
ルートノードとしての処理においては、図10に示すように、先ず、当該ルートノードの制御部11は、記憶部12に記憶されている総合基準情報を取得し、上述したように、当該ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出する(ステップS21)。
【0133】
次いで、当該制御部11は、当該ルートノードの管理対象となるコンテンツデータとの類似度が高い順に上記コンテンツデータを所定数選定(例えば、10個)し、選定されたコンテンツデータが示される(例えば、当該コンテンツデータのタイトルやコンテンツIDが示される)推薦コンテンツリストを生成する(ステップS22)。
【0134】
次いで、当該制御部11は、変数iを初期化(“1”に設定)し(ステップS23)、推薦コンテンツリストに示されるi番目のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算して総和値を求める(ステップS24)。
【0135】
次いで、当該制御部11は、変数iを1インクリメントし(ステップS25)、当該iがn(推薦コンテンツリストにおけるコンテンツデータの登録数)より大きいか否かを判別し(ステップS26)、大きくない場合には(ステップS26:N)、ステップS24に戻り、推薦コンテンツリストに示される次のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算して総和値を求める。このようにして、推薦コンテンツリストに示されている(登録されている)全てのコンテンツデータの評価値等の総和値が求められ、iがnより大きくなった場合には(ステップS26:Y)、ステップS27に移行される。
【0136】
なお、評価値と、取得有無値(又は再生有無値)の何れについての類似度及び総和値を算出するかはルートノードにおいて任意に設定可能になっている。また、例えば、ユーザノードから評価値と、取得有無値(又は再生有無値)の何れについての類似度及び総和値するかを上記メッセージに含めてルートノードに指示するように構成しても良い。
【0137】
ステップS27では、当該制御部11は、上記求められた総和値が大きい順に推薦すべきコンテンツデータを、上記推薦コンテンツリストから所定数選定(例えば、5個。当該総和値が最も高いもの1つでも良い)し、当該選定したコンテンツデータが示される推薦コンテンツリストを生成し直す。
【0138】
次いで、当該制御部11は、ステップS27で生成した推薦コンテンツリストを含む返信メッセージを生成し、これを上記コンテンツ所在問合せ(検索)メッセージの送信元であるユーザノードに送信する(つまり、上記ステップS11で取得したユーザノードのノード情報に示されたIPアドレス及びポート番号宛てに送信する)(ステップS28)。
【0139】
次いで、当該制御部11は、上記ステップS11に取得したユーザノードのノード情報を含むコンテンツ配信要求メッセージを生成し、続いて、上記ステップS11で取得したコンテンツIDに対応するノード情報をインデックスキャッシュ領域から取得し、当該ノード情報にて示されるIPアドレス及びポート番号宛て(つまり、コンテンツ保持ノード)に、上記生成したコンテンツ配信要求メッセージを送信して(ステップS29)、当該処理を終了する。
【0140】
一方、図11に示すコンテンツ配信要求メッセージ受信時の処理は、コンテンツ保持ノードが上記コンテンツ配信要求メッセージを受信した場合に開始され、コンテンツ保持ノードの制御部11は、当該コンテンツ配信要求メッセージに含まれるユーザノードのノード情報を取得し(ステップS31)、当該ノード情報にて示されるユーザノードに対して、要求に係るコンテンツデータを送信し(ステップS32)、当該処理を終了する。
【0141】
次に、図8(B)に示す返信メッセージ受信時の処理は、ユーザノードが返信メッセージを受信した場合に開始され、当該ユーザノードの制御部11は、当該受信された返信メッセージに含まれる推薦コンテンツリストを取得し(ステップS101)、これを記憶部12に記憶する。
【0142】
次いで、当該制御部11は、推薦コンテンツリストにおけるコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)のうち当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除外して、当該推薦コンテンツリストを表示部16上に表示する(ステップS102)。かかる推薦コンテンツリストは、コンテンツ名の表示一覧であっても良いし、図13に示すような代表シーンの画像のサムネイル表示一覧であっても良い。
【0143】
こうして推薦コンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名、或いは、対応する画像を選択すると、当該制御部11は、これに応じ(ステップS103:Y)当該選択されたコンテンツ名に対応するコンテンツデータを選定し(ステップS104)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS105)。これにより、当該制御部11は、当該選定されたコンテンツデータに対応するコンテンツIDを取得し、上記と同様の処理を行う。一方、ユーザによりコンテンツデータの選択が行われることなく、例えばユーザから入力部21を介して終了指示があった場合には(ステップS103:N、ステップS106:Y)、当該処理が終了される。
【0144】
なお、ステップS102において、当該制御部11は、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定するようにして表示しても良い。
【0145】
次に、図8(C)に示すコンテンツデータ受信時の処理は、ユーザノードがコンテンツデータを受信した場合に開始され、当該ユーザノードの制御部11は、当該受信されたコンテンツデータを記憶部21に記憶保存し(ステップS111)、続いて、該コンテンツデータの取得有無値“1”と、当該ユーザノードのノードIDと、当該コンテンツデータのコンテンツIDと、その時の時刻情報とが対応付けられて履歴情報として、記憶部12に記憶された個別識別情報中に登録する(ステップS112)。
【0146】
こうして記憶保存されたコンテンツデータは、ユーザによる入力部21を介した再生指示により再生出力され、ユーザにより視聴されることになる。
【0147】
なお、ユーザノードにおいて、コンテンツ保持ノードからのコンテンツデータの到着(受信)タイミングと、ルートノードからの推薦コンテンツリストが含まれる返信メッセージの到着タイミングは、時間的にほぼ同時になるが、例えば、図13に示すように、表示エリアを分割することにより、どちらが先に受信されても、違和感なく表示することができる。また、映像処理部15におけるスーパーインポーズ機能によって、コンテンツデータに係る映像上に、推薦コンテンツリストを重ね合わせた表示としてもよい。
【0148】
次いで、当該制御部11は、このようにしてコンテンツデータを保存したユーザノードは、自己がそのコンテンツデータのコンテンツ保持ノードとして当該コンテンツデータを保存したことを上記ルートノードに知らせるために、そのコンテンツデータのコンテンツID、自己のノード情報、及び上記履歴情報等が含まれるパブリッシュメッセージ(登録要求情報)を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出し(ステップS113)、当該処理を終了する。
【0149】
これにより、パブリッシュメッセージは、当該コンテンツIDをキーとするDHTルーティングによって、上記推薦コンテンツリストの送信元であるルートノードに到着し、パブリッシュメッセージに含まれるコンテンツID及びノード情報がインデックス情報としてインデックスキャッシュ領域に記憶されることになる。また、当該ルートノードにおいて、当該パブリッシュメッセージに含まれる履歴情報が総合基準情報中に組み込まれ、記憶されることになる。
【0150】
なお、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報、及び履歴情報は、コンテンツ保持ノードからルートノードに至るまでの転送経路における中継ノードにおいても記憶される。
【0151】
そして、上記ユーザノードにおいて、ユーザの入力部21を介した再生指示により取得されたコンテンツデータ(例えば、コンテンツ所在問合せ(検索)メッセージの送信により検索され、取得されたコンテンツデータ)を再生出力され、当該再生が終了すると、例えば、図12に示す評価値入力時の処理が開始され、例えばコンテンツ評価画面が表示部16に表示される(ステップS41)。
【0152】
かかるコンテンツ評価画面上には、コンテンツデータの評価値を入力するための入力欄が設けられており、ユーザが入力部21を操作して当該入力欄に、当該視聴したコンテンツデータに対する評価値を入力すると、当該ユーザノードの制御部11は、上記入力された評価値と、当該ユーザノードのノードIDと、当該コンテンツデータのコンテンツIDと、その時の時刻情報とを対応付けて評価情報として、記憶部12に記憶された個別基準情報中に登録する(ステップS42)。
【0153】
次いで、当該制御部12は、当該評価されたコンテンツデータのコンテンツID、自己のノード情報、及び上記ステップS42で登録された評価情報等が含まれる評価情報登録メッセージを生成し、該評価情報登録メッセージを、そのルートノードに向けて送出し(ステップS43)、当該処理を終了する。
【0154】
これにより、評価情報登録メッセージは、当該コンテンツIDをキーとするDHTルーティングによって、上記推薦コンテンツリストの送信元であるルートノードに到着し、評価情報登録メッセージに含まれる評価情報が総合基準情報中に組み込まれ、記憶されることになる。
【0155】
なお、評価情報登録メッセージに含まれる評価情報は、コンテンツ保持ノードからルートノードに至るまでの転送経路における中継ノードにおいても記憶される。
【0156】
以上説明したように上記実施例1によれば、コンテンツ毎に設けられる各ルートノードが、各ユーザノードにおいて評価された複数のコンテンツデータの夫々の評価を示す評価情報と、各ユーザノードにおいて取得された複数のコンテンツデータの夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を様々なタイミングで、各ユーザノードから収集し総合基準情報として記憶しておき、当該総合基準情報に基づいて、自己により所在が管理されるコンテンツデータ以外の推薦すべき1又は複数のコンテンツデータを選定し、選定されたコンテンツデータが示される推薦コンテンツリストを、ユーザノードに送信するようにしたので、サーバのような特定の装置に負荷をかけることなく、DHTに基づくピアツーピア型の情報配信システムの特長を最大限に生かしながら、高スケーラブルな情報推薦ができる。しかも、コンテンツ毎に設けられる各ルートノードは、他の多くのユーザノードから、自己が管理するコンテンツデータの所在の問合せを受けて返答する立場にあるので、当該他の多くのユーザノードから上記個別基準情報をより効率良く収集でき、したがって、より精度の高い情報推薦をすることができる。
【0157】
また、ルートノードにより所在が管理されるコンテンツデータに対する複数のユーザノードにおける評価値又は取得有無値の傾向と類似度が高い(似通った)コンテンツデータが、コンテンツ所在問合せ(検索)メッセージの送信元のユーザノードに推薦されるので、ユーザは所望するコンテンツデータの所在をルートノードに対して問い合わせる際に、より適切で精度の高い情報推薦を受けることができる。つまり、ユーザノードがルートノードに問い合わせたコンテンツデータと類似度が高いコンテンツデータが推薦されるので、その推薦されたコンテンツデータはユーザの嗜好に合う可能性が高いと言えるのである。
【0158】
また、上記類似度が高いコンテンツデータのうち上記評価値又は取得有無値等の総和が大きい(言い換えれば、多くのユーザの評価や注目度が高い)コンテンツデータが、コンテンツ所在問合せ(検索)メッセージの送信元のユーザノードに推薦されるので、そのユーザはより一層適切で精度の高い情報推薦を受けることができる。
【0159】
また、上記ユーザノードにおいて既に取得又は再生されたコンテンツデータを除くコンテンツデータが推薦されるので、あまり意味のない(或いは重複する)情報推薦を防ぐことができる。
【0160】
また、コンテンツ所在問合せ(検索)メッセージに上記個別基準情報を含めるようにしたので、ルートノードは、より確実、且つより効率良く多くのユーザノードから上記個別基準情報を収集でき、当該メッセージの送信元のユーザノードにおけるコンテンツデータの評価や取得有無等をも考慮されたコンテンツデータを当該ユーザノードに推薦することができる。
【0161】
また、上記個別基準情報は、コンテンツ所在問合せ(検索)メッセージ、パブリッシュメッセージ、及び評価情報登録メッセージがルートノードに到達するまでの転送経路上における中継ノードにおいても記憶されるようにしたので、当該ルートノードが上記オーバーレイネットワーク9から脱退(例えば、電源断により)することにより、ルートノードが替わった場合であっても、当該新たなルートノードには総合基準情報が記憶されている可能性が高いので、以前のルートノードと同様の機能を果たすことができる。
【0162】
なお、上記ステップS28において送信される返信メッセージには、上記推薦コンテンツリストが含まれるように構成したが、別の例として、当該返信メッセージに上記ステップS11で取得されたコンテンツIDに対応するノード情報(コンテンツ保持ノードのノード情報)及び推薦コンテンツリストを含ませて、当該返信メッセージがユーザノードに送信されるように構成しても良い(実施例2及び3の対応する処理でも同様)。このように構成すれば、上記ステップS29の処理は不要となるので、ルートノードにおけるメッセージの送信工程を削減することができる。なお、当該返信メッセージを受信したユーザノードは、これに含まれるノード情報にて示されるIPアドレス及びポート番号宛て(つまり、コンテンツ保持ノード)にコンテンツ配信要求メッセージを送信することになる。
【0163】
さらに変形すると、例えば上記ステップS102において、当初問い合わせたコンテンツデータのコンテンツ名等を推薦コンテンツリストと共に選択可能に表示し、当該問い合わせたコンテンツデータのコンテンツ名がユーザにより選択された場合には、推薦コンテンツリストに示されたコンテンツデータの検索を行わずに、代わりに、当該選択されたコンテンツデータのコンテンツ配信要求メッセージをコンテンツ保持ノードに送信するように構成しても良い(一方、推薦コンテンツリストに示されたコンテンツ名が選択された場合、上記ステップS105の処理が行われる)。このように構成すれば、コンテンツデータの到着タイミングと、推薦コンテンツリストの到着タイミングが、同時になることがないので、画面分割をしなくて良くなる。
【0164】
また、上記ステップS3において送信されるコンテンツ所在問合せ(検索)メッセージには、その時点までに記憶されていた個別基準情報が含まれるように構成したが、別の例として、当該個別基準情報が、当該コンテンツ所在問合せ(検索)メッセージに含まれる代わりに、上記ステップS113において送信されるパブリッシュメッセージに含まれ送信されるか、或いは、上記ステップS43において送信される評価情報登録メッセージに含まれ送信されるように構成しても良い(実施例2及び3の対応する処理でも同様)。
【0165】
また、上記ステップS28において推薦コンテンツリストが含まれる返信メッセージがユーザノードに送信されるように構成したが、別の例として、ルートノードは、当該返信メッセージをこのステップS28で送信せず、上記ステップS113においてユーザノードから送信されたパブリッシュメッセージを受信した際、或いは、上記ステップS43においてユーザノードから送信された評価情報登録メッセージを受信した際に、これに応じて(見返りとして)、上記推薦コンテンツリストが含まれる返信メッセージをユーザノードに送信するように構成しても良い(つまり、パブリッシュメッセージ又は評価情報登録メッセージに含まれる個別基準情報がルートノードで受信された後に、当該返信メッセージがユーザノードに送信される)(実施例2及び3の対応する処理でも同様)。このように構成すれば、ルートノードは、より一層、確実に多くのユーザノードから上記個別基準情報を収集することができ、より精度の高い情報推薦をすることができる。
【0166】
また、上記ステップS29において送信されるコンテンツ配信要求メッセージには、ユーザノードのノード情報が含まれるように構成したが、別の例として、コンテンツ配信要求メッセージにユーザノードのノード情報及び上記推薦コンテンツリストを含ませて、当該コンテンツ配信要求メッセージがコンテンツ保持ノードに送信されるようにし、当該コンテンツ保持ノードが当該ユーザノードにコンテンツデータを送信する際に、上記推薦コンテンツリストもユーザノードに送信するように構成しても良い(実施例2及び3の対応する処理でも同様)。このように構成すれば、上記ステップS28の処理は不要となるので、ルートノードにおけるメッセージの送信工程を削減することができる。
(実施例2)
初めに、図14及び15等を参照して、実施例2について説明する。
【0167】
この実施例2は、上記実施例1において、ルートノードにより上記ステップS21乃至S27までの処理が行われる代わりに、これと同等の処理がユーザノードにて行われる場合の例である。
【0168】
図14は、実施例2において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、図15は、ルートノードとしての処理を示すフローチャートである。
【0169】
この実施例2においても、上述した図8(A)、図8(C)、図9、図11、及び図12に示す処理は、実施例1と同様に行われる。また、実施例2においては、上述した図8(B)に示す返信メッセージ受信時の処理の代わりに図14に示す返信メッセージ受信時の処理が行われ、上述した図10に示すルートノードとしての処理の代わりに図15に示すルートノードとしての処理が行われる。
【0170】
なお、実施例2において実施例1と同様の処理内容についての説明は極力省略するものとする。
【0171】
実施例1と同様、コンテンツ所在問合せ(検索)メッセージがノードnnにより受信されると、図9に示す処理が行われ、自己がルートノードである場合には(ステップS15:Y)、図15に示すルートノードとしての処理が行われる。
【0172】
図15に示すルートノードとしての処理においては、当該ルートノードの制御部11は、記憶部12に記憶されている総合基準情報を含む返信メッセージを生成し、これを上記コンテンツ所在問合せ(検索)メッセージの送信元であるユーザノードに送信する(つまり、上記ステップS11で取得したユーザノードのノード情報に示されたIPアドレス及びポート番号宛てに送信する)(ステップS51)。
【0173】
次いで、当該制御部11は、上記ステップS29と同様、ユーザノードのノード情報を含むコンテンツ配信要求メッセージを、コンテンツ保持ノードに送信して(ステップS52)、当該処理を終了する。
【0174】
次に、図14に示す返信メッセージ受信時の処理は、図8(B)と同様、ユーザノードが返信メッセージを受信した場合に開始され、当該ユーザノードの制御部11は、上記受信された返信メッセージに含まれる総合基準情報を取得し(ステップS201)、上記ステップS21と同様、上記ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータ(当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除く)との類似度を算出する(ステップS202)。なお、図14に示すステップS203〜S207の処理は、上記図10に示すステップS22〜S26と同様である。
【0175】
当該制御部11は、推薦コンテンツリストにおけるコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)のうち当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除外して、且つ、上記求められた総和値が大きい順に推薦すべきコンテンツデータを、上記推薦コンテンツリストから所定数選定し、当該選定したコンテンツデータが示される推薦コンテンツリストを生成し直し、当該推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させる(ステップS208)。こうして推薦コンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると(ステップS209:Y)、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS210)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS211)。これにより、当該制御部11は、当該選定されたコンテンツデータに対応するコンテンツIDを取得し、上記と同様の処理を行う。一方、ユーザによりコンテンツデータの選択が行われることなく、例えばユーザから入力部21を介して終了指示があった場合には(ステップS209:N、ステップS212:Y)、当該処理が終了される。
【0176】
また、当該制御部11は、ステップS202にて生成された、類似度が高いコンテンツデータが示された推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させ、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS210)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS211)ように構成しても良い(この場合、評価値又は取得有無値(又は再生有無値)の総和を算出しなくても良い)。更にまた、当該制御部11は、ステップS202にて各コンテンツデータについての類似度を算出した後、当該類似度が最も高い1のコンテンツデータを検索対象として選定して表示しても良い。
【0177】
なお、当該制御部11は、ステップS208において、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定して表示しても良い。
【0178】
以上説明したように上記実施例2によれば、実施例1においてルートノードの処理であった類似度及び評価値等の総和値の算出がユーザノードにより実行されるようにしたので、実施例1と同等の効果を奏することに加えて、各ルートノードの処理負担を低減させることができる。
(実施例3)
初めに、図16及び図17等を参照して、実施例3について説明する。
【0179】
この実施例3は、上記実施例1において、ルートノードにより上記ステップS23乃至S27までの処理が行われる代わりに、これと同等の処理がユーザノードにて行われる場合の例である。
【0180】
図16は、実施例3において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、図17は、ルートノードとしての処理を示すフローチャートである。
【0181】
この実施例3においても、上述した図8(A)、図8(C)、図9、図11、及び図12に示す処理は、実施例1と同様に行われる。また、実施例3においては、上述した図8(B)に示す返信メッセージ受信時の処理の代わりに図16に示す返信メッセージ受信時の処理が行われ、上述した図10に示すルートノードとしての処理の代わりに図17に示すルートノードとしての処理が行われる。
【0182】
なお、実施例3において実施例1と同様の処理内容についての説明は極力省略するものとする。
【0183】
実施例1と同様、コンテンツ所在問合せ(検索)メッセージがノードnnにより受信されると、図9に示す処理が行われ、自己がルートノードである場合には(ステップS15:Y)、図17に示すルートノードとしての処理が行われる。
【0184】
図17に示すルートノードとしての処理においては、当該ルートノードの制御部11は、記憶部12に記憶されている総合基準情報を取得し、実施例1と同様、当該ルートノードの管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し(ステップS61)、当該ルートノードの管理対象となるコンテンツデータとの類似度が高い順に上記コンテンツデータを所定数選定し、選定されたコンテンツデータが示される推薦コンテンツリストを生成する(ステップS62)。
【0185】
次いで、当該制御部11は、ステップS62で生成した推薦コンテンツリストを含む返信メッセージを生成し、これを上記コンテンツ所在問合せ(検索)メッセージの送信元であるユーザノードに送信する(ステップS63)。
【0186】
次いで、当該制御部11は、上記ステップS29と同様、ユーザノードのノード情報を含むコンテンツ配信要求メッセージを、コンテンツ保持ノードに送信して(ステップS64)、当該処理を終了する。
【0187】
次に、図16に示す返信メッセージ受信時の処理は、図8(B)と同様、ユーザノードが返信メッセージを受信した場合に開始され、当該ユーザノードの制御部11は、上記受信された返信メッセージに含まれる推薦コンテンツリストを取得し(ステップS301)、変数iを初期化(“1”に設定)し(ステップS302)、推薦コンテンツリストに示されるi番目のコンテンツデータについての評価値又は取得有無値(又は再生有無値)を積算して総和値を求める(ステップS303)。
【0188】
なお、図16に示すステップS304及びS305の処理は、上記図10に示すステップS25及びS26と同様である。
【0189】
当該制御部11は、推薦コンテンツリストにおけるコンテンツデータを示す情報(例えば、当該コンテンツデータのタイトルやコンテンツID)のうち当該ユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除外して、且つ、上記求められた総和値が大きい順に推薦すべきコンテンツデータを、上記推薦コンテンツリストから所定数選定し、当該選定したコンテンツデータが示される推薦コンテンツリストを生成し直し、当該推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させる(ステップS306)。こうして推薦コンテンツリストが表示された状態で、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると(ステップS307:Y)、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS308)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS309)。これにより、当該制御部11は、当該選定されたコンテンツデータに対応するコンテンツIDを取得し、上記と同様の処理を行う。一方、ユーザによりコンテンツデータの選択が行われることなく、例えばユーザから入力部21を介して終了指示があった場合には(ステップS307:N、ステップS310:Y)、当該処理が終了される。
【0190】
また、当該制御部11は、上記類似度が高いコンテンツデータが示された推薦コンテンツリストにおけるコンテンツデータを示す情報を表示させ、ユーザが入力部21を操作して、取得したいコンテンツデータの例えばコンテンツ名を選択すると、当該制御部11は、当該選択されたコンテンツ名に対応するコンテンツデータを検索対象として選定し(ステップS308)、図8(A)に示すコンテンツ検索時の処理と同じ処理を行う(ステップS309)ように構成しても良い(この場合、評価値又は取得有無値(又は再生有無値)の総和を算出しなくても良い)。
【0191】
更にまた、当該制御部11は、返信メッセージに含まれる推薦コンテンツリストにおける各コンテンツデータうち、類似度が最も高い1のコンテンツデータを検索対象として選定して表示しても良い。
【0192】
なお、当該制御部11は、ステップS306において、推薦コンテンツリストに複数のコンテンツデータが示されていた場合、最も評価値又は取得有無値(又は再生有無値)の総和が大きい1のコンテンツデータを選定して表示しても良い。
【0193】
以上説明したように上記実施例3によれば、実施例1においてルートノードの処理であった評価値等の総和値の算出がユーザノードにより実行されるようにしたので、実施例1と同等の効果を奏することに加えて、各ルートノードの処理負担を低減させることができる。
【0194】
なお、上記実施例1におけるルートノード、及び実施例2におけるユーザノードは、一例として、総合基準情報に基づいて当該ルートノードで管理対象となるコンテンツデータと、該コンテンツデータ以外の夫々のコンテンツデータとの類似度を算出し、当該類似度が高い順にコンテンツデータを所定数選定し、当該選定されたコンテンツデータのうち、夫々のコンテンツデータについての評価値又は取得有無値の総和が大きい順に推薦すべきコンテンツデータを更に所定数選定するように構成したが、別の例として、例えば、下記(2)式により、上記算出された類似度sim(i,j)と、各評価値又は取得有無値(又は再生有無値)Ru,jとの乗算値の総和である推薦度Di,jを夫々のコンテンツデータ毎に算出し、当該推薦度Di,jが高い順(つまり、当該総和が大きい順)に推薦すべきコンテンツデータを所定数選定(又は、当該推薦度Di,jが閾値を超えるコンテンツデータを所定数選定)し、当該選定されたコンテンツデータが示される推薦コンテンツリストを生成したり、或いは、当該選定された所定数のコンテンツデータのうち最も推薦度Di,jが高いコンテンツデータを検索対象として選定するように構成しても良い。
【数2】
ここで、Di,Nは、任意のコンテンツCiのコンテンツCNに対する推薦度を意味し、例えば、i=2、N=1とすると、コンテンツC2のコンテンツC1(管理対象のコンテンツ)に対する推薦度を意味する。
【0195】
なお、上記実施例1乃至3においては、コンテンツ所在問合せ(検索)メッセージにコンテンツデータの推薦要求を含めるように構成したが、これに限定されるものではなく、コンテンツ所在問合せ(検索)メッセージとは無関係に、コンテンツデータの推薦要求を示す推薦要求メッセージをユーザノードから、DHTのルーティングによりルートノードに送信されるように構成しても良い。また、推薦要求メッセージを送信したユーザノードにおいて既に取得又は再生されたコンテンツデータを示す情報を除いた推薦コンテンツリストを、ルートノードが作成して送信しても良い。
【0196】
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【0197】
【図1】コンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図2】ノードn1が保持するDHTのルーティングテーブルの一例を示す図である。
【図3】DHTのノードID空間の一例を示す概念図である。
【図4】ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのノードID空間にて示した概念図である。
【図5】ノードnnの概要構成例を示す図である。
【図6】(A)は、コンテンツC1のルートノードに記憶された総合基準情報における評価情報の一例を、(B)は、総合基準情報における履歴情報の一例を、夫々示す図である。
【図7】(A)は、類似度が高いコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示し、(B)は、図7(A)に示す推薦コンテンツリストから絞り込まれたコンテンツデータであって評価値の総和が大きいコンテンツデータを示す情報が記述された推薦コンテンツリストの一例を示す図である。
【図8】(A)は、ノードnnの制御部11におけるコンテンツ検索時の処理を示すフローチャートであり、(B)は、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートであり、(C)は、ノードnnにおけるコンテンツデータ受信時の処理を示すフローチャートである。
【図9】ノードnnの制御部11におけるコンテンツ所在問合せ(検索)メッセージ受信時の処理を示すフローチャートである。
【図10】実施例1において、ルートノードとしての処理を示すフローチャートである。
【図11】ノードnnの制御部11におけるコンテンツ配信要求メッセージ受信時の処理を示すフローチャートである。
【図12】ノードnnの制御部11における評価値入力時の処理を示すフローチャートである。
【図13】ユーザノードの表示部16上に表示されたコンテンツデータに係る映像と、推薦コンテンツリストの一例を示す図である。
【図14】実施例2において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートである。
【図15】実施例2において、ルートノードとしての処理を示すフローチャートである。
【図16】実施例3において、ノードnnの制御部11における返信メッセージ受信時の処理を示すフローチャートである。
【図17】実施例3において、ルートノードとしての処理を示すフローチャートである。
【符号の説明】
【0198】
nn ノード
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム
【特許請求の範囲】
【請求項1】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、
を備えることを特徴とするノード装置。
【請求項2】
請求項1に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項3】
請求項2に記載のノード装置において、
前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とするノード装置。
【請求項4】
請求項1乃至3の何れか一項に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とするノード装置。
【請求項5】
請求項4に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項6】
請求項4に記載のノード装置において、
前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項7】
請求項4に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、
前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項8】
請求項2に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とするノード装置。
【請求項9】
請求項8に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とするノード装置。
【請求項10】
請求項9に記載のノード装置において、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とするノード装置。
【請求項11】
請求項1乃至10の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記推薦すべき配信情報を所定数選定し、前記選定された配信情報が示される推薦配信情報を生成することを特徴とするノード装置。
【請求項12】
請求項1乃至10の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とするノード装置。
【請求項13】
請求項1乃至10の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とするノード装置。
【請求項14】
請求項11乃至13の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、自己の管理対象となる配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とするノード装置。
【請求項15】
請求項1乃至14の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記要求情報の送信元であるノード装置において既に取得又は再生された配信情報を除外して前記推薦配信情報を生成することを特徴とするノード装置。
【請求項16】
請求項1乃至14の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項17】
請求項15に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報に示された配信情報のうちから1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項18】
請求項11に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報には、これに示された複数の配信情報の夫々の評価を示す評価情報と、当該複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む基準情報が含まれており、
前記受信された推薦配信情報に示された配信情報のうち夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい前記配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項19】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、
を備えることを特徴とするノード装置。
【請求項20】
請求項19に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項21】
請求項20に記載のノード装置において、
前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とするノード装置。
【請求項22】
請求項19乃至21の何れか一項に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とするノード装置。
【請求項23】
請求項22に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項24】
請求項22に記載のノード装置において、
前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項25】
請求項22に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、
前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項26】
請求項20に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とするノード装置。
【請求項27】
請求項26に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とするノード装置。
【請求項28】
請求項27に記載のノード装置において、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とするノード装置。
【請求項29】
請求項19乃至28の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項30】
請求項29に記載のノード装置において、
前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が最も高い1の前記配信情報を選定することを特徴とするノード装置。
【請求項31】
請求項29に記載のノード装置において、
前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい1の前記配信情報を更に選定することを特徴とするノード装置。
【請求項32】
請求項29に記載のノード装置において、
前記推薦配信情報選定手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が最も大きい1の前記配信情報を選定することを特徴とするノード装置。
【請求項33】
請求項30乃至32の何れか一項に記載のノード装置において、
前記配信情報選定手段は、前記推薦配信情報を送信したノード装置により所在が管理される配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とするノード装置。
【請求項34】
請求項30乃至33の何れか一項に記載のノード装置において、
前記配信情報選定手段は、自己において既に取得又は再生された配信情報を除外して1の前記配信情報を選定することを特徴とするノード装置。
【請求項35】
コンピュータを、請求項1乃至34の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項36】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、
前記推薦配信情報を受信するノード装置は、
前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とする情報配信システム。
【請求項37】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、
前記推薦配信情報を受信するノード装置は、
前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とする情報配信システム。
【請求項38】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、
自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、
前記配信情報の推薦要求を含む要求情報を受信する工程と、
前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する工程と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、
前記推薦配信情報を受信するノード装置が、
前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する工程と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、
を備えることを特徴とする情報配信方法。
【請求項39】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、
自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、
前記配信情報の推薦要求を含む要求情報を受信する工程と、
前記総合基準情報の全部又は一部を含む推薦配信情報を生成する工程と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、
前記推薦配信情報を受信するノード装置が、
前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する工程と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、
を備えることを特徴とする情報配信方法。
【請求項1】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、
を備えることを特徴とするノード装置。
【請求項2】
請求項1に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項3】
請求項2に記載のノード装置において、
前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とするノード装置。
【請求項4】
請求項1乃至3の何れか一項に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とするノード装置。
【請求項5】
請求項4に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項6】
請求項4に記載のノード装置において、
前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項7】
請求項4に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、
前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項8】
請求項2に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とするノード装置。
【請求項9】
請求項8に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とするノード装置。
【請求項10】
請求項9に記載のノード装置において、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とするノード装置。
【請求項11】
請求項1乃至10の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記推薦すべき配信情報を所定数選定し、前記選定された配信情報が示される推薦配信情報を生成することを特徴とするノード装置。
【請求項12】
請求項1乃至10の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、自己の管理対象となる配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とするノード装置。
【請求項13】
請求項1乃至10の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が大きい順に前記推薦すべき配信情報を更に所定数選定し、当該選定された配信情報が示される推薦配信情報を生成することを特徴とするノード装置。
【請求項14】
請求項11乃至13の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、自己の管理対象となる配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とするノード装置。
【請求項15】
請求項1乃至14の何れか一項に記載のノード装置において、
前記推薦配信情報生成手段は、前記要求情報の送信元であるノード装置において既に取得又は再生された配信情報を除外して前記推薦配信情報を生成することを特徴とするノード装置。
【請求項16】
請求項1乃至14の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項17】
請求項15に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報に示された配信情報のうちから1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項18】
請求項11に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報には、これに示された複数の配信情報の夫々の評価を示す評価情報と、当該複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む基準情報が含まれており、
前記受信された推薦配信情報に示された配信情報のうち夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい前記配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項19】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムに含まれる前記ノード装置であって、前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置において、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、
を備えることを特徴とするノード装置。
【請求項20】
請求項19に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置において評価された前記複数の配信情報の夫々の評価を示す評価情報と、該ノード装置において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項21】
請求項20に記載のノード装置において、
前記情報受信手段は、前記要求情報と共に前記個別基準情報を受信することを特徴とするノード装置。
【請求項22】
請求項19乃至21の何れか一項に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信することを特徴とするノード装置。
【請求項23】
請求項22に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記基準情報記憶手段は、前記受信された個別基準情報を前記総合基準情報中に含ませて記憶することを特徴とするノード装置。
【請求項24】
請求項22に記載のノード装置において、
前記情報受信手段は、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかを含む個別基準情報を受信し、
前記情報送信手段は、前記個別基準情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項25】
請求項22に記載のノード装置において、
前記情報受信手段は、前記要求情報の送信元であるノード装置であって前記配信情報を取得し保存したノード装置を示すノード情報の登録要求情報を受信し、
前記情報送信手段は、前記登録要求情報が受信された際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置に送信することを特徴とするノード装置。
【請求項26】
請求項20に記載のノード装置において、
前記情報受信手段は、前記推薦配信情報が前記要求情報の送信元であるノード装置に送信された後に、前記個別基準情報を受信することを特徴とするノード装置。
【請求項27】
請求項26に記載のノード装置において、
前記要求情報には、前記配信情報の所在を示すノード情報の要求が含まれており、
前記個別基準情報には、前記要求に係るノード情報に示されるノード装置により前記要求情報の送信元であるノード装置に送信された配信情報であって該ノード装置において評価された当該配信情報の評価を示す評価情報と、該ノード装置において取得された当該配信情報の取得履歴を示す履歴情報との少なくとも何れかが含まれることを特徴とするノード装置。
【請求項28】
請求項27に記載のノード装置において、
前記情報送信手段は、前記要求に係るノード情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に、前記推薦配信情報を、前記要求情報の送信元であるノード装置、又は当該ノード情報に示されるノード装置に送信する際に送信することを特徴とするノード装置。
【請求項29】
請求項19乃至28の何れか一項に記載のノード装置から前記推薦配信情報を受信するノード装置であって、
前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項30】
請求項29に記載のノード装置において、
前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が最も高い1の前記配信情報を選定することを特徴とするノード装置。
【請求項31】
請求項29に記載のノード装置において、
前記配信情報選定手段は、前記推薦配信情報に含まれる前記総合基準情報に基づいて、前記推薦配信情報を送信したノード装置により所在が管理される配信情報と、該配信情報以外の夫々の前記配信情報との関連性の高さを示す値を算出し、当該所在が管理される配信情報との関連性が高い順に前記配信情報を所定数選定し、当該選定された配信情報のうち、夫々の前記配信情報についての評価情報又は履歴情報にて示される値の総和が最も大きい1の前記配信情報を更に選定することを特徴とするノード装置。
【請求項32】
請求項29に記載のノード装置において、
前記推薦配信情報選定手段は、前記総合基準情報に基づいて、自己の管理対象となる配信情報と該配信情報以外の前記配信情報との関連性の高さを示す値を算出し、当該算出された値と、前記自己の管理対象となる配信情報以外の前記配信情報に対する前記複数のノード装置の夫々の評価情報又は履歴情報にて示される値との乗算値の総和を夫々の当該配信情報毎に算出し、当該算出された総和が最も大きい1の前記配信情報を選定することを特徴とするノード装置。
【請求項33】
請求項30乃至32の何れか一項に記載のノード装置において、
前記配信情報選定手段は、前記推薦配信情報を送信したノード装置により所在が管理される配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向と、該配信情報以外の夫々の前記配信情報についての複数の評価情報又は履歴情報にて示される夫々の値の傾向との類似度を示す値を、前記関連性の高さを示す値として算出することを特徴とするノード装置。
【請求項34】
請求項30乃至33の何れか一項に記載のノード装置において、
前記配信情報選定手段は、自己において既に取得又は再生された配信情報を除外して1の前記配信情報を選定することを特徴とするノード装置。
【請求項35】
コンピュータを、請求項1乃至34の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項36】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、
前記推薦配信情報を受信するノード装置は、
前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とする情報配信システム。
【請求項37】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおいて、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置は、
自己が管理する前記配信情報の所在を示すノード情報を記憶するノード情報記憶手段と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する基準情報記憶手段と、
前記配信情報の推薦要求を含む要求情報を受信する情報受信手段と、
前記総合基準情報の全部又は一部を含む推薦配信情報を生成する推薦配信情報生成手段と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する情報送信手段と、を備え、
前記推薦配信情報を受信するノード装置は、
前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する配信情報選定手段と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する要求情報送信手段と、
を備えることを特徴とする情報配信システム。
【請求項38】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、
自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、
前記配信情報の推薦要求を含む要求情報を受信する工程と、
前記総合基準情報に基づいて、自己により前記所在が管理される配信情報以外の推薦すべき1又は複数の配信情報を選定し、前記選定された配信情報が示される推薦配信情報を生成する工程と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、
前記推薦配信情報を受信するノード装置が、
前記受信された推薦配信情報に示された配信情報のうち、当該ノード装置において既に取得又は再生された配信情報を除外した配信情報から1の配信情報を選定する工程と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、
を備えることを特徴とする情報配信方法。
【請求項39】
ネットワークを介して互いに通信可能な複数のノード装置を備え、複数の配信情報が複数のノード装置に分散して保存される情報配信システムにおける情報配信方法であって、
前記複数の配信情報のうち何れかの前記配信情報の所在を管理するノード装置が、
自己が管理する前記配信情報の所在を示すノード情報を記憶する工程と、
複数のノード装置の夫々において評価された複数の配信情報の夫々の評価を示す評価情報と、前記複数のノード装置の夫々において取得された前記複数の配信情報の夫々の取得履歴を示す履歴情報との少なくとも何れかを含む総合基準情報を記憶する工程と、
前記配信情報の推薦要求を含む要求情報を受信する工程と、
前記総合基準情報の全部又は一部を含む推薦配信情報を生成する工程と、
前記生成された推薦配信情報を、前記要求情報の送信元であるノード装置に送信する工程と、を備え、
前記推薦配信情報を受信するノード装置が、
前記受信された推薦配信情報に示された配信情報から1の配信情報を選定する工程と、
前記選定された配信情報の所在を示すノード情報を要求する要求情報を、当該配信情報の所在を管理するノード装置に向けて送出する工程と、
を備えることを特徴とする情報配信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2007−213322(P2007−213322A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−32539(P2006−32539)
【出願日】平成18年2月9日(2006.2.9)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【出願人】(396004833)株式会社エクシング (394)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願日】平成18年2月9日(2006.2.9)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【出願人】(396004833)株式会社エクシング (394)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】
[ Back to top ]