(57)【特許請求の範囲】
【請求項１】
複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおけるコンテンツ配信方法であって、
各ピアノードは、１ホップで通信可能な隣接ピアノードを所持するユーザの嗜好ベクトルを登録したルーティングテーブルを有し、
前記ピアノードが、送信すべきコンテンツの内容に基づく特徴量ベクトルと、前記ルーティングテーブルに登録された各隣接ピアノードの前記嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する判定ステップと、
前記類似度が所定類似度範囲以内であると判定された際に、前記嗜好ベクトルに基づく前記隣接ピアノードへ、前記コンテンツを送信する送信ステップと
を有することを特徴とするコンテンツ配信方法。
【請求項２】
前記オーバレイネットワークは、前記ピアノードを多次元（ｎ次元：ｎ≧２）空間に配置したものであり、
前記ルーティングテーブルは、次元ｉ（ｉ＝１〜ｎ）毎に前後のピアノードを隣接ピアノードとして登録する
ことを特徴とする請求項１に記載のコンテンツ配信方法。
【請求項３】
前記オーバレイネットワークは、ＣＡＮ(Content Addressable Network)であることを特徴とする請求項２に記載のコンテンツ配信方法。
【請求項４】
前記判定ステップの前段階について、
前記ピアノードが、ｉ次元方向の隣接ピアノードから前記コンテンツを受信する受信ステップと、
１〜（ｉ−１）次元及び（ｉ＋１）次元における隣接ピアノードを、当該コンテンツの送信先として選択する第１の選択ステップと、
ｉ次元については、前記コンテンツ送信元の隣接ピアノードと逆向きの隣接ピアノードを、当該コンテンツの送信先として選択する第２の選択ステップと
を有することを特徴とする請求項２又は３に記載のコンテンツ配信方法。
【請求項５】
転送される前記コンテンツのデータパケットには、シーケンス番号が付与されており、
第１の選択ステップは、
前記ピアノードが、当該コンテンツの送信先として選択した隣接ピアノードに対して、前記シーケンス番号を含む送信確認要求を送信するステップと、
前記隣接ピアノードが、前記送信確認要求を受信した際に、既に受信したコンテンツのシーケンス番号と、前記送信確認要求に含まれるシーケンス番号とを比較し、比較結果を含む送信確認応答を、前記ピアノードへ返信するステップと、
前記ピアノードが、前記送信確認応答を受信した際に、前記比較結果に基づいて当該隣接ピアノードへ送信するか否かを判定するステップと
を有することを特徴とする請求項４に記載のコンテンツ配信方法。
【請求項６】
各ピアノードは、ルーティングテーブルに登録された隣接ピアノードへ、定期的にKeep-Aliveメッセージを送信することによって、当該隣接ピアノードの嗜好ベクトルを取得することを特徴とする請求項１から５のいずれか１項に記載のコンテンツ配信方法。
【請求項７】
前記判定ステップの前段階について、
コンテンツ配信元ノードが、送信すべきコンテンツから、その内容に基づく特徴量ベクトルを抽出するステップと、
前記コンテンツ配信元ノードが、前記特徴量ベクトルに基づいて、宛先識別値を導出するステップと、
前記コンテンツ配信元ノードが、前記宛先識別値のピアノードへ、検索要求を送信するステップと、
前記コンテンツ配信元ノードが、検索応答を受信した際に、当該検索応答に含まれる宛先アドレスへ向けて、前記コンテンツを送信するステップと
を有することを特徴とする請求項１から６のいずれか１項に記載のコンテンツ配信方法。
【請求項８】
複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークに接続したピアノードであって、
１ホップで通信可能な隣接ピアノードを所持するユーザの嗜好ベクトルを登録したルーティングテーブルと、
送信すべきコンテンツの内容に基づく特徴量ベクトルと、前記ルーティングテーブルに登録された各隣接ピアノードの前記嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する嗜好類似度判定手段と、
前記類似度が所定類似度範囲以内であると判定された際に、前記嗜好ベクトルに基づく前記隣接ピアノードへ、前記コンテンツを送信するコンテンツ送信手段と
を有することを特徴とするピアノード。
【請求項９】
前記オーバレイネットワークは、前記ピアノードを多次元空間（ｎ次元：ｎ≧２）に配置したものであり、
前記ルーティングテーブルは、次元ｉ（ｉ＝１〜ｎ）毎に前後のピアノードを隣接ピアノードとして登録する
ことを特徴とする請求項８に記載のピアノード。
【請求項１０】
前記オーバレイネットワークは、ＣＡＮであることを特徴とする請求項９に記載のピアノード。
【請求項１１】
ｉ次元方向の隣接ピアノードから前記コンテンツを受信するコンテンツ受信手段と、
１〜（ｉ−１）次元及び（ｉ＋１）次元における隣接ピアノードを、当該コンテンツの送信先として選択する第１の送信先選択手段と、
ｉ次元については、前記コンテンツ送信元の隣接ピアノードと逆向きの隣接ピアノードを、当該コンテンツの送信先として選択する第２の送信先選択手段と
を更に有することを特徴とする請求項９又は１０に記載のピアノード。
【請求項１２】
転送される前記コンテンツのデータパケットには、シーケンス番号が付与されており、
第１の送信先選択手段は、
当該コンテンツの送信先として選択した隣接ピアノードに対して、前記シーケンス番号を含む送信確認要求を送信する送信確認要求送信機能と、
前記送信確認要求を受信した際に、既に受信したコンテンツのシーケンス番号と、前記送信確認要求に含まれるシーケンス番号とを比較し、比較結果を含む送信確認応答を、前記ピアノードへ返信する送信確認応答返信機能と、
前記送信確認応答を受信した際に、前記比較結果に基づいて当該隣接ピアノードへ送信するか否かを判定する送信判定機能と
を有することを特徴とする請求項１１に記載のピアノード。
【請求項１３】
ルーティングテーブルに登録された隣接ピアノードへ、定期的にKeep-Aliveメッセージを送信することによって、当該隣接ピアノードの嗜好ベクトルを取得する隣接ピア確認手段を更に有することを特徴とする請求項８から１２のいずれか１項に記載のピアノード。
【請求項１４】
コンテンツの配信元となるコンテンツ配信元ノード手段を有し、
前記コンテンツ配信元ノード手段は、
送信すべきコンテンツから、その内容に基づく特徴量ベクトルを抽出する特徴量ベクトル抽出機能と、
前記特徴量ベクトルに基づいて、宛先識別値を導出する宛先識別値導出機能と、
前記宛先識別値のピアノードへ、検索要求を送信する検索要求送信機能と、
検索応答を受信する検索応答受信機能と、
当該検索応答に含まれる宛先アドレスへ向けて、前記コンテンツを配信するコンテンツ配信機能と
を有することを特徴とする請求項８から１３のいずれか１項に記載のピアノード。
【請求項１５】
複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークに接続したピアノードに搭載されたコンピュータを機能させるプログラムであって、
各ピアノードは、１ホップで通信可能な隣接ピアノードを所持するユーザの嗜好ベクトルを登録したルーティングテーブルと、
送信すべきコンテンツの内容に基づく特徴量ベクトルと、前記ルーティングテーブルに登録された各隣接ピアノードの前記嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する嗜好類似度判定手段と、
前記類似度が所定類似度範囲以内であると判定された際に、前記嗜好ベクトルに基づく前記隣接ピアノードへ、前記コンテンツを送信するコンテンツ送信手段と
してコンピュータを機能させることを特徴とするピアノード用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムに投稿又は更新されるコンテンツを、ユーザ嗜好に適応して、ユーザ端末へ配信する技術に関する。
【背景技術】
【０００２】
昨今、インターネットを介して配信されるコンテンツは、企業によって作成されたものに限られず、ユーザによって作成されたブログや映像、画像などのＣＧＭ(Consumer Generated media)コンテンツもある。このようなＣＧＭコンテンツは、ユーザの操作によって、端末からＣＧＭサイトへアップロードされる。他方のユーザは、端末を用いて、ＣＧＭサイトに対してキーワードで検索し、所望のＣＧＭコンテンツを閲覧・視聴することができる。代表的なＣＧＭサイトとして、アメーバブログ（登録商標）（http://ameblo.jp/）、ニコニコ動画（登録商標）（http://www.nicovideo.jp/）又はYoutube（登録商標）（http://www.youtube.com/?gl=JP&hl=ja）がある。
【０００３】
また、ユーザによって投稿されたＣＧＭコンテンツを、当該コンテンツに興味を持つユーザのみにリアルタイムに配信する技術として、ＲＳＳ(RDF Site Summary)リーダがある。この技術によれば、ユーザが、端末に対してＣＧＭサイトを予め登録することによって、端末が定期的にそのサイトの更新を確認する。これによって、ユーザは、ほぼリアルタイムに最新情報を取得することができる。しかしながら、コンテンツの内容がユーザ所望の内容に合わない場合であっても、予め登録されたサイトであれば、そのコンテンツは配信される。逆に、コンテンツの内容がユーザ所望の内容であっても、予め登録されていなければ、そのコンテンツは配信されない。
【０００４】
これに対し、新着ブログ記事（コンテンツ）の内容と、配信サーバに登録されたユーザ所望の情報との類似度を計算し、類似度の高いユーザに対して優先的にコンテンツを配信するブログ配信システムの技術がある（例えば非特許文献１参照）。この技術によれば、サイトを予め登録することなく、ユーザ所望の内容のコンテンツのみをリアルタイムに配信することができる。
【０００５】
この技術によれば、例えば以下のようなシーケンスを採る。
（Ｓ１）ブログ配信サーバは、商用のブログサイトから定期的に新着ブログ記事を取得する。
（Ｓ２）ブログ配信サーバは、カテゴリ辞書を用いて、ブログ記事における特徴量ベクトルを算出する。
（Ｓ３）ブログ配信サーバは、予め登録されたユーザの嗜好ベクトルと、コンテンツの特徴量ベクトルとの間のユークリッド距離を算出し、ユークリッド距離が小さいユーザに対して優先的にコンテンツを配信する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】服部元、ＫＤＤＩ研究所、「リアルタイムブログ配信のための配信先ユーザ高速選択方法」、電子情報通信学会、Webインテリジェンスとインタラクション研究会報告、[online]、［平成２２年４月１１日検索］、インターネット＜URL:http://www.ieice.org/~wi2/pastcfa/pastcfa14.html＞
【非特許文献２】「A Scalable Content Addressable Network」、Proceedingof ACM SIGCOMM 2001
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１に記載されたような技術によれば、ブログ配信サーバが、コンテンツを集中的に管理するために、コンテンツ数やユーザ数の増加に応じてその規模が増大する。コンテンツ（新着ブログ記事）毎に特徴量ベクトルを算出し、その特徴量ベクトルと嗜好ベクトルとの間のユークリッド距離を算出するために、コンテンツ数及びユーザ数に比例して処理量も増加する。このような処理を要するために、この技術によれば、コンテンツが投稿された直後に、その内容の情報を所望するユーザの端末へ配信するようなサービスは想定されていない。
【０００８】
そこで、本発明は、特定のコンテンツ配信サーバをネットワークに設置することなく、そのコンテンツに興味のあるユーザのみにリアルタイムにコンテンツを配信することができるコンテンツ配信方法、ピアノード及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおけるコンテンツ配信方法であって、
送信すべきコンテンツには、その内容に基づく特徴量ベクトルが付与されており、
各ピアノードは、１ホップで通信可能な隣接ピアノードの識別値、及び、当該隣接ピアノードを所持するユーザの嗜好ベクトルを登録したルーティングテーブルを有し、
ピアノードが、送信すべきコンテンツの特徴量ベクトルと、ルーティングテーブルに登録された各隣接ピアノードの嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する判定ステップと、
類似度が所定類似度範囲以内であると判定された際に、嗜好ベクトルに基づく隣接ピアノードへ、コンテンツを送信する送信ステップと
を有することを特徴とする。
【００１０】
本発明のコンテンツ配信方法における他の実施形態によれば、
オーバレイネットワークは、ピアノードを多次元（ｎ次元：ｎ≧２）空間に配置したものであり、
ルーティングテーブルは、次元ｉ（ｉ＝１〜ｎ）毎に前後のピアノードを隣接ピアノードとして登録することも好ましい。
【００１１】
本発明のコンテンツ配信方法における他の実施形態によれば、オーバレイネットワークは、ＣＡＮ(Content Addressable Network)であることも好ましい。
【００１２】
本発明のコンテンツ配信方法における他の実施形態によれば、判定ステップの前段階について、
ピアノードが、ｉ次元方向の隣接ピアノードからコンテンツを受信する受信ステップと、
１〜（ｉ−１）次元及び（ｉ＋１）次元における隣接ピアノードを、当該コンテンツの送信先として選択する第１の選択ステップと、
ｉ次元については、コンテンツ送信元の隣接ピアノードと逆向きの隣接ピアノードを、当該コンテンツの送信先として選択する第２の選択ステップと
を有することも好ましい。
【００１３】
本発明のコンテンツ配信方法における他の実施形態によれば、
転送されるコンテンツのデータパケットには、シーケンス番号が付与されており、
第１の選択ステップは、
ピアノードが、当該コンテンツの送信先として選択した隣接ピアノードに対して、シーケンス番号を含む送信確認要求を送信するステップと、
隣接ピアノードが、送信確認要求を受信した際に、既に受信したコンテンツのシーケンス番号と、送信確認要求に含まれるシーケンス番号とを比較し、比較結果を含む送信確認応答を、ピアノードへ返信するステップと、
ピアノードが、送信確認応答を受信した際に、比較結果に基づいて当該隣接ピアノードへ送信するか否かを判定するステップと
を有することも好ましい。
【００１４】
本発明のコンテンツ配信方法における他の実施形態によれば、各ピアノードは、ルーティングテーブルに登録された隣接ピアノードへ、定期的にKeep-Aliveメッセージを送信することによって、当該隣接ピアノードの嗜好ベクトルを取得することも好ましい。
【００１５】
本発明のコンテンツ配信方法における他の実施形態によれば、判定ステップの前段階について、
コンテンツ配信元ノードが、送信すべきコンテンツから、その内容に基づく特徴量ベクトルを抽出するステップと、
コンテンツ配信元ノードが、特徴量ベクトルに基づいて、宛先識別値を導出するステップと、
コンテンツ配信元ノードが、宛先識別値のピアノードへ、検索要求を送信するステップと、
コンテンツ配信元ノードが、検索応答を受信した際に、当該検索応答に含まれる宛先アドレスへ向けて、コンテンツを送信するステップと
を有することも好ましい。
【００１６】
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークに接続したピアノードであって、
送信すべきコンテンツには、その内容に基づく特徴量ベクトルが付与されており、
各ピアノードは、１ホップで通信可能な隣接ピアノードの識別値、及び、当該隣接ピアノードを所持するユーザの嗜好ベクトルを登録したルーティングテーブルと、
送信すべきコンテンツの特徴量ベクトルと、ルーティングテーブルに登録された各隣接ピアノードの嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する嗜好類似度判定手段と、
類似度が所定類似度範囲以内であると判定された際に、嗜好ベクトルに基づく隣接ピアノードへ、コンテンツを送信するコンテンツ送信手段と
を有することを特徴とする。
【００１７】
本発明のピアノードにおける他の実施形態によれば、
オーバレイネットワークは、ピアノードを多次元空間（ｎ次元：ｎ≧２）に配置したものであり、
ルーティングテーブルは、次元ｉ（ｉ＝１〜ｎ）毎に前後のピアノードを隣接ピアノードとして登録することも好ましい。
【００１８】
本発明のピアノードにおける他の実施形態によれば、オーバレイネットワークは、ＣＡＮであることも好ましい。
【００１９】
本発明のピアノードにおける他の実施形態によれば、
ｉ次元方向の隣接ピアノードからコンテンツを受信するコンテンツ受信手段と、
１〜（ｉ−１）次元及び（ｉ＋１）次元における隣接ピアノードを、当該コンテンツの送信先として選択する第１の送信先選択手段と、
ｉ次元については、コンテンツ送信元の隣接ピアノードと逆向きの隣接ピアノードを、当該コンテンツの送信先として選択する第２の送信先選択手段と
を更に有することも好ましい。
【００２０】
本発明のピアノードにおける他の実施形態によれば、
転送されるコンテンツのデータパケットには、シーケンス番号が付与されており、
第１の送信先選択手段は、
当該コンテンツの送信先として選択した隣接ピアノードに対して、シーケンス番号を含む送信確認要求を送信する送信確認要求送信機能と、
送信確認要求を受信した際に、既に受信したコンテンツのシーケンス番号と、送信確認要求に含まれるシーケンス番号とを比較し、比較結果を含む送信確認応答を、ピアノードへ返信する送信確認応答返信機能と、
送信確認応答を受信した際に、比較結果に基づいて当該隣接ピアノードへ送信するか否かを判定する送信判定機能と
を有することも好ましい。
【００２１】
本発明のピアノードにおける他の実施形態によれば、ルーティングテーブルに登録された隣接ピアノードへ、定期的にKeep-Aliveメッセージを送信することによって、当該隣接ピアノードの嗜好ベクトルを取得する隣接ピア確認手段を更に有することも好ましい。
【００２２】
本発明のピアノードにおける他の実施形態によれば、
コンテンツの配信元となるコンテンツ配信手段を有し、
コンテンツ配信手段は、
送信すべきコンテンツから、その内容に基づく特徴量ベクトルを抽出する特徴量ベクトル抽出機能と、
特徴量ベクトルに基づいて、宛先識別値を導出する宛先識別値導出機能と、
宛先識別値のピアノードへ、検索要求を送信する検索要求送信機能と、
検索応答を受信する検索応答受信機能と、
当該検索応答に含まれる宛先アドレスへ向けて、コンテンツを配信するコンテンツ配信機能と
を有することも好ましい。
【００２３】
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークに接続したピアノードに搭載されたコンピュータを機能させるプログラムであって、
送信すべきコンテンツには、その内容に基づく特徴量ベクトルが付与されており、
各ピアノードは、１ホップで通信可能な隣接ピアノードの識別値、及び、当該隣接ピアノードを所持するユーザの嗜好ベクトルを登録したルーティングテーブルと、
送信すべきコンテンツの特徴量ベクトルと、ルーティングテーブルに登録された各隣接ピアノードの嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する嗜好類似度判定手段と、
類似度が所定類似度範囲以内であると判定された際に、嗜好ベクトルに基づく隣接ピアノードへ、コンテンツを送信するコンテンツ送信手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００２４】
本発明のコンテンツ配信方法、ピアノード及びプログラムによれば、オーバレイネットワークを用いると共に、コンテンツの特徴量ベクトルとユーザの嗜好ベクトルとの類似度を判定しつつ、コンテンツを配信する。これによって、特定のコンテンツ配信サーバをネットワークに設置することなく、そのコンテンツに興味のあるユーザのみにリアルタイムにコンテンツを配信することができる。
【図面の簡単な説明】
【００２５】
【図１】オーバレイネットワークのシステム構成図である。
【図２】多次元空間にピアノードを配置したオーバレイネットワークの論理構成を表す説明図である。
【図３】コンテンツを、その特徴量ベクトルに基づく宛先ノードへ転送する２次元空間の説明図である。
【図４】図３における本発明のフローチャートである。
【図５】コンテンツを、オーバレイネットワークにおける隣接ピアノードへ配信するフローチャートである。
【図６】図５の転送を表す２次元空間の説明図である。
【図７】コンテンツの送信先となる隣接ピアノードを選択するフローチャートである。
【図８】本発明におけるピアノードの機能構成図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２７】
本発明によれば、コンテンツの配信のために、ユーザ端末（ピアノード）を仮想的に相互接続したオーバレイネットワークの技術を用いる。オーバレイネットワークとは、物理的ネットワークにおけるＩＰ(Internet Protocol)レイヤを覆い隠して（オーバレイして）、ピアノード間を仮想的に相互接続したネットワークである。代表的なオーバレイネットワークとして、例えばＰ２Ｐ(Peer to Peer)ネットワークがある。
【００２８】
図１は、オーバレイネットワークのシステム構成図である。
【００２９】
図１のシステムによれば、複数のピアノード１が、物理ネットワーク２に接続されている。その物理ネットワーク２上には、複数のピアノード１によって仮想的にオーバレイネットワーク３が構成されている。ここで、ピアノードは、ユーザによって所持される端末であり、パーソナルコンピュータであってもよいし、セットトップボックスやホームゲートウェイ等の宅内端末であってもよい。例えば、送信元ピアノード及び宛先ピアノードがＳＩＰ−ＵＡ(SIP - User Agent)として機能し、オーバレイネットワークがＰ２ＰＳＩＰ(Peer to Peer - Session Initiation Protocol)によって構築されていてもよい。
【００３０】
構造化オーバレイの技術として、多次元の直交座標空間を用いた「ＣＡＮ(Content Addressable Network)」がある（例えば非特許文献２参照）。この技術によれば、Napster又はGunutellaに代表される従来のＰ２Ｐ技術と異なって、ネットワーク全体に分散配置されたデータを高速に検索することができる。また、ピアノードの頻繁な参加・離脱に対しても、自律分散的にネットワークを再構築することができる。
【００３１】
図２は、多次元空間にピアノードを配置したオーバレイネットワークの論理構成を表す説明図である。
【００３２】
本発明のオーバレイネットワークによれば、ピアノードが多次元（ｎ次元：ｎ≧２）空間に配置される。座標空間全体は、複数のゾーンに分割され、各ピアノードは、分割された１つのゾーンを管理する。また、各ピアノードは、「ルーティングテーブル」を保持し、自身のゾーンに隣接するゾーンに存在するユーザ端末（隣接ピアノード）の情報を管理する。
【００３３】
「ルーティングテーブル」は、次元ｉ（ｉ＝１〜ｎ）毎に隣接前後のピアノードを登録する。本発明におけるルーティングテーブルは、少なくとも、１ホップで通信可能な隣接ピアノードを所持するユーザの「嗜好ベクトル」を登録する。
【００３４】
以下の表１は、２次元の場合について、各ピアノードが保持するルーティングテーブルの構成を表す。
【表１】
0005415352.tif 000002
【００３５】
「ノード番号」  ：オーバレイネットワーク上で固有な番号
「隣接次元」    ：自ノードから見て、当該隣接ピアノードが隣接する次元
「隣接方向」    ：自ノードから見て、隣接次元における当該隣接ピアノードが隣接する方向（順方向（F: Forward）／逆方向（B: Backward））
「ＩＰアドレス」
「ポート番号」
「識別値」      ：複数の次元ｉ（１〜ｎ）によって表される位置
「ゾーン情報」  ：当該隣接ピアノードが管理するゾーン範囲
「嗜好ベクトル」：当該隣接ピアノードを所持するユーザの嗜好を表すベクトル表記
【００３６】
尚、各ピアノードは、ルーティングテーブルに登録された隣接ピアノードへ、定期的にKeep-Aliveメッセージを送信することによって、当該隣接ピアノードの情報を取得することも好ましい。
【００３７】
図２によれば、多次元空間として、２次元の平面空間が表されている。各平面空間は、複数のゾーンに分割されている。図２によれば、各ジャンルの嗜好値を０〜１の範囲で数値化し、嗜好値の値をそのままオーバレイネットワーク上の識別値に使用している。
【００３８】
図２によれば、ピアノード（ユーザ端末）１７は、以下のように表される。
ジャンルＡに関する嗜好値（１次元識別値）：０．５０
ジャンルＢに関する嗜好値（２次元識別値）：０．５２
【００３９】
各ピアノードは、オーバレイネットワークへの参加時に、ユーザの嗜好ベクトルに基づいて、自ノードの識別値を生成する。識別値は、１次元方向の識別値と、２次元方向の識別値とからなる。これによって、その識別値に対応した１つのゾーンが割り当てられる。図２によれば、ピアノード１７には、以下のような四角形のゾーンが割り当てられる。
自ノードの識別値：［０．５０，０．５２］
ゾーン情報      ：［０．４〜０．６，０．４〜０．６］
（１次元範囲が０．４〜０．６、２次元範囲が０．４〜０．６）
【００４０】
また、図２によれば、例えばピアノード１７は、以下のようなルーティングテーブルを有する。
【表２】
0005415352.tif 000003
【００４１】
「嗜好ベクトル」とは、ユーザの嗜好を、カテゴリ［要素］（例えば、エンタメ、社会、経済、・・・）毎に、数値化したものである。尚、嗜好ベクトルは、ユーザによって自由に嗜好ベクトルの要素値が設定されるものであってもよいし、既読コンテンツの特徴量ベクトルの平均値が設定されるものであってもよい。
【００４２】
【表３】
0005415352.tif 000004
【００４３】
一方で、配信されるコンテンツについても、カテゴリ辞書に基づく内容解析によって、特徴量ベクトルを算出する。特徴量ベクトルも、嗜好ベクトルと同様の要素を有する。例えば、コンテンツがブログ記事のようなテキストである場合、カテゴリ辞書には、各カテゴリに対応するテキストが登録されている。コンテンツから多数の単語を抽出した上で、全カテゴリの単語の出現頻度を算出し、特徴量ベクトルを算出する。
【００４４】
【表４】
0005415352.tif 000005
【００４５】
図３は、コンテンツの特徴量ベクトルに基づいて宛先ノードへ転送するフローチャートである。
図４は、図３の転送を表す２次元空間の説明図である。
【００４６】
（Ｓ３１）コンテンツ配信元ノードについて、ユーザ操作に応じて、配信すべきコンテンツが選択される。ここで、コンテンツ配信元ノードは、ピアノードＩＤ８であるとする。
（Ｓ３２）コンテンツ配信元ノードは、コンテンツ配信元ノードが、送信すべきコンテンツから、その内容に基づく特徴量ベクトルを抽出する。
（Ｓ３３）次に、コンテンツ配信元ノードは、特徴量ベクトルに基づいて、オーバレイネットワークにおける宛先識別値を導出する。例えば、図３によれば、ピアノードＩＤ１７が管理するゾーンに、宛先識別値が含まれるとする。
（Ｓ３４）コンテンツ配信元ノードは、配信するコンテンツのシーケンス番号を、ネットワーク内で一意となるように決定する。このシーケンス番号は、重複したコンテンツの配信を防止するためのものである。例えば、コンテンツ配信元ノードにおけるＩＰアドレスやポート番号、時刻等の情報から生成することができる。
（Ｓ３５）コンテンツ配信元ノードは、宛先識別値を含む検索要求(Search Request)を、オーバレイネットワークへ送信する。その検索要求は、その宛先識別値に最も近い頂点を持つピアノードへ転送されていく。図３及び図４によれば、ピアノードＩＤ８から送信された検索要求は、ＩＤ９、ＩＤ１０及びＩＤ１１のピアノードを介して転送が繰り返される。これによって、宛先識別値を管理するピアノードへ向かって近づいていく。最終的に、検索要求は、宛先識別値を管理するピアノードＩＤ１７に到達する。
（Ｓ３６）ピアノードＩＤ１７は、検索応答(Search Response)を、コンテンツ配信元ノードへ返信する。検索応答には、ピアノードＩＤ１７のＩＰアドレス及びポート番号が含まれる。
（Ｓ３７）コンテンツ配信元ノード（ピアノードＩＤ８）は、検索応答に含まれるＩＰアドレス及びポート番号を用いて、ピアノードＩＤ１７へ、送信確認要求(Confirm Request)を送信する。送信確認要求には、Ｓ３４によって決定されたシーケンス番号が含められる。
（Ｓ３８）送信確認要求を受信したピアノードＩＤ１７は、受信判定を実行する。具体的には、送信確認要求で指定されたシーケンス番号が、既に受信したコンテンツのリスト内のシーケンス番号と一致するか否かを判定する。一致する場合にはＮＧと判定し、一致しない場合にはＯＫと判定する。その判定結果を含む送信確認応答が、コンテンツ配信元ノードへ返信される。
（Ｓ３９）コンテンツ配信元ノード（ピアノードＩＤ８）は、判定結果ＯＫである場合、コンテンツを、ピアノードＩＤ１７へ送信する。配信されるコンテンツには、特徴量ベクトルも含められる。ここで、配信範囲を表す類似度範囲を含むものであってもよい。類似度範囲については、図６によって後述する。尚、判定結果ＮＧである場合、コンテンツは送信されない。
【００４７】
図５は、コンテンツを、オーバレイネットワークにおける隣接ピアノードへ配信するフローチャートである。
図６は、図５の転送を表す２次元空間の説明図である。
【００４８】
前述した図３のＳ３９によって、ピアノードＩＤ１７は、コンテンツ配信元ノード（ピアノードＩＤ８）から、コンテンツを受信している。ピアノードＩＤ１７は、コンテンツを蓄積すると共に、受信コンテンツリストを更新する。受信コンテンツリストには、少なくともファイル名、配信元アドレス、シーケンス番号、特徴量ベクトル、類似度範囲及び受信時刻が含まれる。
【００４９】
（Ｓ５１）ピアノードＩＤ１７は、ルーティングテーブルを用いて、コンテンツを配信すべき隣接ピアノードを選択する。ここでは、ピアノードが、送信すべきコンテンツの特徴量ベクトルと、ルーティングテーブルに登録された各隣接ピアノードの嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する。そして、その類似度が所定類似度範囲以内であると判定された際に、その嗜好ベクトルに基づく隣接ピアノードが選択される。
【００５０】
図７は、コンテンツの送信先となる隣接ピアノードを選択するフローチャートである。
【００５１】
当該ピアノードが、ｉ次元方向の隣接ピアノードからコンテンツを受信した際に、以下の処理が実行される。
（Ｓ７１）コンテンツを受信した際に、その送信元ノードが、コンテンツ配信元ノードであるか否かを判定する。コンテンツに付加された配信元アドレスと、そのコンテンツを受信したデータパケットの送信元アドレスとを比較することによって判定できる。
（Ｓ７２）配信元アドレスと送信元アドレスとが一致する場合、ルーティングテーブルに登録された全ての隣接ピアノードを、送信先として選択する。図５及び図６によれば、ピアノードＩＤ１７は、コンテンツ配信元ノードであるピアノードＩＤ８からコンテンツを受信したために、全ての隣接ピアノードＩＤ１１、１６、１８及び２３が選択される。
（Ｓ７３）配信元アドレスと送信元アドレスとが一致しない場合、ルーティングテーブルを参照することによって、送信元ノードの位置関係を判定する。具体的には、送信元ノードの隣接次元（ｉ）及び隣接方向を判定する。隣接方向は、コンテンツ送信元のユーザ端末のｉ次元での識別値が、自ピアノードのｉ次元における識別値よりも大きい場合にはForward、小さい場合にはBackwardと判定される。
【００５２】
（Ｓ７４）送信元ノードの隣接次元ｉに基づいて、１〜（ｉ−１）次元及び（ｉ＋１）次元における順方向及び逆方向の全ての隣接ピアノードを、当該コンテンツの送信先として選択する。
【００５３】
ここで、ノードの参加及び離脱が無い環境であれば、「１〜（ｉ−１）次元」のみに送信することで、コンテンツを十分に配信することができる。例えば図６の場合、ノード１６は、１次元方向からコンテンツを受信しているため、本来であれば、１次元方向の逆側の端末である端末１５のみにコンテンツを送信すればよい。しかしながら、ノードが、ネットワークから突然離脱する環境に対応するために、本発明によれば、「（ｉ＋１）次元」にもコンテンツの送信を確認するようにしている。従って、（ｉ＋１）次元のノードにもコンテンツを送信することは冗長ともいえるが、これによって確実なコンテンツ配信を実現する。一方で、「１〜（ｉ−１）次元及び（ｉ＋１）〜ｎ次元」の隣接ピアノードを送信先とする場合に比べて、本発明は、冗長的にコンテンツが配信されることが無い。
【００５４】
（Ｓ７５）次に、隣接次元ｉについて、送信元ノードと逆向きの隣接ピアノードを、当該コンテンツの送信先として選択する。ここで、送信元ノードがForwardにある場合、Backwardの隣接ピアノードのみを選択する。一方で、送信元ノードがBackwardにある場合、Forwardの隣接ピアノードのみを選択する。
（Ｓ７６）選択された隣接ピアノード毎に、Ｓ７７〜Ｓ７９の処理を実行する。
（Ｓ７７）コンテンツの特徴量ベクトルと、ルーティングテーブルに登録された各隣接ピアノードの嗜好ベクトルとの間の類似度を算出する。類似度は、特徴量ベクトルと嗜好ベクトルとの間のユークリッド距離であってもよい。
（Ｓ７８）次に、その類似度が所定類似度範囲以内であるか否かを判定する。その類似度が所定類似度範囲以上となる隣接ピアノードは、コンテンツ送信先として選択されない。
（Ｓ７９）一方で、その類似度が所定類似度範囲よりも小さいと判定された隣接ピアノードは、コンテンツの送信先として選択される。そして、選択された隣接ピアノードへ、送信確認要求が送信される。
【００５５】
再び戻って、図５及び図６を参照する。
【００５６】
（Ｓ５２）ピアノードＩＤ１７は、そのコンテンツの送信元ノードが、コンテンツ配信元ノードであるために、ルーティングテーブルに登録された全ての隣接ピアノードを、送信先として選択する。図６によれば、ピアノードＩＤ１７は、コンテンツ送信先の隣接ピアノードとして、ＩＤ１１、ＩＤ１６、ＩＤ１８及びＩＤ２３を選択する。そして、ピアノードＩＤ１７は、これら４つの隣接ピアノードへ、送信確認要求を送信する。送信確認要求には、転送されるコンテンツ毎に、シーケンス番号が付与されている。
（Ｓ５３）これに対し、ＩＤ１１、ＩＤ１６、ＩＤ１８及びＩＤ２３の隣接ピアノードは、送信確認応答を、ピアノードＩＤ１７へ返信する。送信確認要求に含まれるシーケンス番号が、既に受信したコンテンツにおけるシーケンス番号と一致する場合には、判定結果ＮＧを含む送信確認応答を返信する。
（Ｓ５４）ピアノードＩＤ１７は、判定結果ＯＫを含む送信確認応答を受信したＩＤ１１、ＩＤ１６、ＩＤ１８及びＩＤ２３の隣接ピアノードへ、コンテンツを送信する。
（Ｓ５５）更に、ＩＤ１１のピアノードは、２次元のBackwardに位置するピアノードＩＤ１７から、コンテンツを受信することとなる。このとき、ＩＤ１１のピアノードは、１次元のForward及びBackwardの隣接ピアノード（ＩＤ１０及びＩＤ１２）と、２次元のForwardの隣接ピアノード（ＩＤ４）とを、コンテンツの送信先として選択する。そして、ＩＤ１１のピアノードは、ＩＤ１０、ＩＤ１２及びＩＤ４の隣接ピアノードへ、送信確認要求を送信する。
（Ｓ５６）これに対し、ＩＤ１０、ＩＤ１２及びＩＤ４の隣接ピアノードは、送信確認応答を、ＩＤ１１のピアノードへ返信する。
（Ｓ５７）ＩＤ１１のピアノードは、判定結果ＯＫを含む送信確認応答を受信したＩＤ１０、ＩＤ１２及びＩＤ４の隣接ピアノードへ、コンテンツを送信する。
【００５７】
尚、ＩＤ１６、ＩＤ１８及びＩＤ２３のピアノードも、ＩＤ１７のピアノードと同様に動作する。
【００５８】
（Ｓ５８）更に、ＩＤ１０のピアノードは、１次元のForwardに位置するピアノードＩＤ１１から、コンテンツを受信することとなる。このとき、ＩＤ１０のピアノードは、１次元のBackwardの隣接ピアノードＩＤ９と、２次元のForward及びBackwardの隣接ピアノードＩＤ２及び１６とを、コンテンツの送信先として選択する。ここで、コンテンツの特徴量ベクトルと隣接ピアノードＩＤ２の嗜好ベクトルとの類似度が、所定類似度範囲を越えているとする。この場合、隣接ピアノードＩＤ２は、コンテンツの送信先として選択されない。そして、ピアノードＩＤ１０は、ＩＤ９及びＩＤ１６の隣接ピアノードへ、送信確認要求を送信する。
（Ｓ５９）これに対し、ピアノードＩＤ１６は、コンテンツを、ピアノードＩＤ１７から既に受信しており、シーケンス番号も更新されている。そのために、ピアノードＩＤ１６は、ピアノードＩＤ１０に対して、判定結果ＮＧを含む送信確認応答を返信する。一方でピアノードＩＤ９は、判定結果ＯＫを含む送信確認応答を返信する。これによって、ピアノード１０は、コンテンツを、ピアノードＩＤ９のみへ送信する。
【００５９】
尚、図６によれば、ピアノード１３及び２６が、電源断などの理由によって、オーバレイネットワークから突然ダウンしたとする。このような場合であっても、Ｓ５８及びＳ５９のような処理を実行することによって、ピアノード１３に対する隣接ピアノードＩＤ１４や、ピアノード２６に対する隣接ピアノード２７に対してもコンテンツが配信される。このように、ピアノードの突然のダウンに対しても、本発明を適用することによって、高い信頼性を維持しつつ、コンテンツを配信することができる。
【００６０】
図８は、本発明におけるピアノードの機能構成図である。
【００６１】
ピアノード１は、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークに接続されている。図８によれば、ピアノード１は、ネットワーク側に対して、通信インタフェース部１０と、ＴＣＰ／ＵＤＰ／ＩＰ部１１とを有する。
【００６２】
また、ピアノード１は、オーバレイネットワークレイヤ部１２と、コンテンツ受信部１３と、コンテンツ蓄積部１４と、嗜好類似度判定部１５と、コンテンツ送信部１６と、第１の送信先選択部１７と、第２の送信先選択部１８と、コンテンツ配信元ノード部１９とを有する。これら機能構成部は、ピアノードに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００６３】
オーバレイネットワークレイヤ部１２は、ピアノードを多次元空間（ｎ次元：ｎ≧２）に構成し、例えばＣＡＮのプロトコルを実行する。図８によれば、オーバレイネットワークレイヤ部１２は、ルーティングテーブル１２１と、隣接ピア確認部１２２とを有する。
【００６４】
ルーティングテーブル１２１は、各ピアノードは、１ホップで通信可能な隣接ピアノードを所持するユーザの嗜好ベクトルを登録する。１ホップで通信可能な隣接ピアノードとは、次元ｉ（ｉ＝１〜ｎ）毎に前後方向のピアノードを意味する。尚、当該ピアノードの識別値は、ユーザの嗜好ベクトルによって決定され、その識別値を持ってＣＡＮのオーバレイネットワークに参加する。
【００６５】
隣接ピア確認部１２２は、ルーティングテーブル１２１に登録された隣接ピアノードへ、定期的にKeep-Aliveメッセージを送信することによって、当該隣接ピアノードの嗜好ベクトルを取得する。
【００６６】
コンテンツ受信部１３は、コンテンツ配信元ノード、又は、ｉ次元方向の隣接ピアノードから、コンテンツを受信する。受信されたコンテンツは、コンテンツ蓄積部１４へ出力される。
【００６７】
コンテンツ蓄積部１４は、転送すべきコンテンツを蓄積すると共に、受信コンテンツリストも蓄積する。受信コンテンツリストは、少なくともコンテンツのシーケンス番号及び特徴量ベクトルを含む。
【００６８】
嗜好類似度判定部１５は、送信すべきコンテンツの特徴量ベクトルと、ルーティングテーブルに登録された各隣接ピアノードの嗜好ベクトルとを比較し、その類似度が所定類似度範囲以内であるか否かを判定する。
【００６９】
コンテンツ送信部１６は、類似度が所定類似度範囲以内であると判定された際に、第１の送信先選択部１７及び第２の送信先選択部１８によって選択された隣接ピアノードへ、コンテンツを送信する。
【００７０】
第１の送信先選択部１７は、１〜（ｉ−１）次元及び（ｉ＋１）次元における隣接ピアノードを、当該コンテンツの送信先として選択する。ここで、第１の送信先選択部１７は、送信確認要求送信部１７１と、送信確認応答返信部１７２と、送信判定部１７３とを有する。送信確認要求送信部１７１は、当該コンテンツの送信先として選択した隣接ピアノードに対して、シーケンス番号を含む送信確認要求を送信する。送信確認応答返信部１７２は、送信確認要求を受信した際に、既に受信したコンテンツのシーケンス番号と、送信確認要求に含まれるシーケンス番号とを比較し、比較結果を含む送信確認応答を、ピアノードへ返信する。送信判定部１７３は、送信確認応答を受信した際に、比較結果に基づいて当該隣接ピアノードへ送信するか否かを判定する。
【００７１】
第２の送信先選択部１８は、ｉ次元については、コンテンツ送信元の隣接ピアノードと逆向きの隣接ピアノードを、当該コンテンツの送信先として選択する。
【００７２】
コンテンツ配信元ノード部１９は、ピアノードがコンテンツ配信元ノードとして動作する場合にのみ機能する。コンテンツ配信元ノード部１９は、特徴量ベクトル抽出部１９１と、宛先識別値導出部１９２と、検索要求送信部１９３と、検索応答受信部１９４と、コンテンツ配信部１９５とを有する。特徴量ベクトル抽出部１９１は、送信すべきコンテンツから、カテゴリ辞書を用いて、その内容に基づく特徴量ベクトルを抽出する（表４参照）。宛先識別値導出部１９２は、特徴量ベクトルに基づいて、宛先識別値を導出する（ＣＡＮの識別値に対応する）。検索要求送信部１９３は、宛先識別値に最も近いピアノードへ、検索要求を送信する。検索応答受信部１９４は、検索応答を受信する。コンテンツ配信部１９５は、検索応答に含まれる宛先アドレスへ向けて、コンテンツを配信する。
【００７３】
尚、ピアノード１が、パーソナルコンピュータである場合、コンテンツの配信及び閲覧は、ユーザインタフェースを介してユーザによって操作される。ピアノードが、セットトップボックスであれば、ユーザインタフェースは、テレビであってもよい。
【００７４】
以上、詳細に説明したように、本発明のコンテンツ配信方法、ピアノード及びプログラムによれば、オーバレイネットワークを用いると共に、コンテンツの特徴量ベクトルとユーザの嗜好ベクトルとの類似度を判定しつつ、コンテンツを配信する。これによって、特定のコンテンツ配信サーバをネットワークに設置することなく、そのコンテンツに興味のあるユーザのみにリアルタイムにコンテンツを配信することができる。
【００７５】
本発明によれば、特定のコンテンツ配信サーバを要しないために、配信ユーザ数に応じてサーバを増強するようなコストの増大が発生せず、システムのスケーラビリティを確保することができる。また、ピアノードが突然ダウンすることによってオーバレイネットワークから離脱したとしても、その隣接ピアノードに対して、コンテンツ配信における影響を与えることなく、ネットワーク帯域を無駄に消費することもない。
【００７６】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００７７】
１  ピアノード、ユーザ端末
１０  通信インタフェース部
１１  ＴＣＰ／ＵＤＰ／ＩＰ部
１２  オーバレイネットワークレイヤ部
１２１  ルーティングテーブル
１２２  隣接ピア確認部
１３  コンテンツ受信部
１４  コンテンツ蓄積部
１５  嗜好類似度判定部
１６  コンテンツ送信部
１７  第１の送信先選択部
１７１  送信確認要求送信部
１７２  送信確認応答返信部
１７３  送信判定部
１８  第２の送信先選択部
１９  コンテンツ配信元ノード部
１９１  特徴量ベクトル抽出部
１９２  宛先識別値導出部
１９３  検索要求送信部
１９４  検索応答受信部
１９５  コンテンツ配信部
２  物理ネットワーク
３  オーバレイネットワーク
【図１】
0005415352.tif 000006
【図２】
0005415352.tif 000007
【図３】
0005415352.tif 000008
【図４】
0005415352.tif 000009
【図５】
0005415352.tif 000010
【図６】
0005415352.tif 000011
【図７】
0005415352.tif 000012
【図８】
0005415352.tif 000013