JP2010066930A - コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム - Google Patents
コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム Download PDFInfo
- Publication number
- JP2010066930A JP2010066930A JP2008231459A JP2008231459A JP2010066930A JP 2010066930 A JP2010066930 A JP 2010066930A JP 2008231459 A JP2008231459 A JP 2008231459A JP 2008231459 A JP2008231459 A JP 2008231459A JP 2010066930 A JP2010066930 A JP 2010066930A
- Authority
- JP
- Japan
- Prior art keywords
- content
- node
- storage
- distributed
- node device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツのレプリカをノード装置に自動的に保存させることが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供する。
【解決手段】ノード装置は、コンテンツ分散保存システムへの参加時において保存手段における前記保存領域に所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツをコンテンツリストに基づき選定し、選定したコンテンツの複製データを取得して保存するように構成した。
【選択図】図9
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
この種のピアツーピア型の通信システムにおいて、複数のコンテンツ(映画及び音楽データ等のコンテンツ)の複製データ(以下、「レプリカ」という)を複数のノード装置に分散して保存(配置)させ、各ノード装置間でレプリカを利用可能としたコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。
そして、コンテンツ分散保存システムに参加しているノード装置は、所望のコンテンツの取得する場合、当該コンテンツのレプリカの所在を検索(発見)するためのメッセージ(クエリ)を他のノード装置に送出する。これにより、当該メッセージは、上記DHTにしたがって、中継のノード装置により当該コンテンツのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、最終的に当該メッセージが辿り着く上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツのレプリカを保存しているノード装置にアクセスして当該レプリカを取得(ダウンロード)することができる。
特開2006−197400号公報
ところで、コンテンツのレプリカを取得したノード装置は、当該レプリカをキャッシュとしてストレージ(例えば、ハードディスク)に保存していく、という方法がピアツーピア型の通信システムでは一般的である。その場合、当該システムへの参加初期のノード装置のストレージには、十分なキャッシュが無く、殆ど全てのコンテンツのレプリカはその都度、他のノード装置から取得しなければならなくなり、コンテンツ再生の即時性という点では不利になる。
また、例えばセンターからの指示等により、ストレージ内のレプリカが削除されると、ストレージには空きが生じるが、この空きが多いと、上記と同様、不利になりやすい。
また、例えば通信カラオケシステムにピアツーピア型の通信システムを適用することを考えると、ストレージが空(或いはは空きの多い)のノード装置をピアツーピアのネットワークに接続した場合、キャッシュが溜まるまではコンテンツのリクエストは他のノード装置からのダウンロードに頼るしかなく、ネットワークに負荷がかかり、また、直ちにコンテンツを再生させることができない。
更に、コンテンツのレプリカを予めストレージに保存しておくにしても、なるべく人気のあるものをストレージに入れておいた方が、他のノード装置からのダウンロードが少なく有利であるが、それを自動的に行う方法はまだ知られていない。
本発明は、以上の点等に鑑みてなされたものであり、システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツのレプリカをノード装置に自動的に保存させることが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、前記複製データを保存するための保存領域を有する保存手段と、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、を備えることを特徴とする。
この発明によれば、ノード装置は、コンテンツ分散保存システムへの参加時において保存手段における前記保存領域に所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツをコンテンツリストに基づき選定し、選定したコンテンツの複製データを取得して保存するように構成したので、コンテンツ分散保存システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツの複製データをノード装置に自動的に保存させることができ、これにより、コンテンツ再生の即時性を向上させることができる。
請求項2に記載の発明は、請求項1に記載のノード装置において、前記コンテンツ選定手段は、前記保存領域に保存された前記複製データが削除されることにより当該保存領域に所定の空き容量ができた場合に、所定のデータ容量分のコンテンツを前記コンテンツリストに基づき選定することを特徴とする。
この発明によれば、常に、コンテンツ再生の即時性を向上させることができる。
請求項3に記載の発明は、請求項1又は2に記載のノード装置において、前記コンテンツ選定手段は、利用される確率の高いコンテンツを優先して選定することを特徴とする。
この発明によれば、利用される確率の高いコンテンツを優先して取得し保存することができる。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記各コンテンツに関する情報には、前記コンテンツの複数データが何れか複数のノード装置により取得された取得回数、前記コンテンツの複製データが何れか複数のノード装置により再生された再生回数、の少なくとも何れか一つを示す情報が含まれており、前記取得回数と前記再生回数の少なくとも何れか一つの回数に比例した確率を前記各コンテンツ毎に算出する確率算出手段を更に備え、前記コンテンツ選定手段は、前記各コンテンツ毎に算出された確率に基づいて前記コンテンツを選定することを特徴とする。
この発明によれば、利用される確率の高い人気コンテンツを優先して選定することができると共に、複数のノード装置で取得するコンテンツは確率的にバラけさせることができる。
請求項5に記載の発明は、請求項4に記載のノード装置において、前記各コンテンツに関する情報には、さらに、前記コンテンツのジャンル、対象世代、及び地域属性の少なくとも何れか一つを示す情報が含まれており、前記確率算出手段は、前記各コンテンツに関する情報を参照して、当該ノード装置において予め設定されたジャンル、世代、及び地域属性の少なくとも何れか一つが一致するコンテンツの前記確率を高めることを特徴とする。
この発明によれば、ユーザが好むコンテンツのレプリカをジャンルや地域属性の指定により取得されやすくすることができる。
請求項6に記載の発明は、請求項1乃至5の何れか一項に記載のノード装置において、ユーザから入力手段を通じて指定されたコンテンツの複製データを他のノード装置から取得するコンテンツ取得手段を更に備え、前記コンテンツ取得手段による前記複製データの取得処理と、前記保存制御手段による前記複製データの取得処理とが重なった場合、前記コンテンツ取得手段による前記複製データの取得処理を優先させることを特徴とする。
この発明によれば、前記コンテンツ取得手段による前記複製データの取得処理と、前記保存制御手段による前記複製データの取得処理とが重なった場合であっても、ユーザの満足度が低下することを回避することができる。
請求項7に記載のノード処理プログラムの発明は、コンピュータを、請求項1乃至6の何れか一項に記載のノード装置として機能させることを特徴とする。
請求項8に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムであって、前記ノード装置は、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、前記複製データを保存するための保存領域を有する保存手段と、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、を備えることを特徴とする。
請求項9に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、前記ノード装置が、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理工程と、前記ノード装置が、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得工程と、前記ノード装置が、前記複製データを保存するための保存領域に所定の空き容量があるか否かを判別する空き容量判別工程と、前記ノード装置が、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定工程と、前記ノード装置が、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御工程と、を含むことを特徴とする。
本発明によれば、ノード装置は、コンテンツ分散保存システムへの参加時において保存手段における前記保存領域に所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツをコンテンツリストに基づき選定し、選定したコンテンツの複製データを取得して保存するように構成したので、コンテンツ分散保存システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツの複製データをノード装置に自動的に保存させることができ、これにより、コンテンツ再生の即時性を向上させることができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
[1.コンテンツ分散保存システムの構成及び動作概要]
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
図1は、本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
図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には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)が接続されている。また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。かかるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムS(言い換えれば、オーバーレイネットワーク9)に参加している各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。
また、当該ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。
なお、コンテンツ分散保存システムSへの参加は、参加していないノードNn(例えば、ノードN8)が、参加している任意のノードNn(例えば、当該システムSに常時参加しているコンタクトノード)に対して参加要求を示す参加メッセージを送信することによって行われる。
また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先を規定しており、具体的には、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。
コンテンツ分散保存システムSに参加している1台のノードNnは、該システムSに参加している全てのノードNnのうち、必要最低限のノードNnのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない(記憶していない)ノードNnについては、各ノードNn間で互いに各種メッセージを転送し合って届けてもらうようになっている。
このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
ところで、コンテンツ分散保存システムSにおいては、内容の異なる様々なコンテンツ(例えば、映画や音楽等)のレプリカが所定のファイル形式で複数のノードNnに分散して保存(格納)されており、各ノードNn間で当該レプリカを利用可能になっている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されており、一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存されている。
また、これらのコンテンツのレプリカには、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有の識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム管理者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれたコンテンツカタログ情報が、全ノードNnに配布される。
また、このように分散保存されているコンテンツのレプリカの所在、つまり、当該レプリカを保存したノードNnのノード情報と当該コンテンツのコンテンツID等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードNn(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。
つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。
例えば、タイトルがXXXの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN4により管理され、タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN7により管理される。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。
そして、あるノードNnのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードNn(以下、「ユーザノード」という)は、当該ユーザにより選択されたコンテンツのコンテンツID及び自己のIPアドレス等を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、これを自己のDHTを用いたルーティングテーブルにしたがって他のノードNnに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて(ルートノード宛に)送出する(ルートノードにコンテンツのレプリカの所在を問い合わせる)。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
なお、各ノードNnにおいてユーザにより選択されるべきコンテンツのコンテンツ名及びコンテンツID等の属性情報は、例えばコンテンツ提供サーバから全てのノードNnに配信されるコンテンツカタログ情報に記述されている。
また、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
上記コンテンツ所在問合せ(検索)メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのIPアドレス等に基づいて当該コンテンツ保持ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカをダウンロード(取得)することが可能になる。なお、当該インデックス情報には、例えば複数のコンテンツ保持ノードのノード情報が含まれていることもある(同一のコンテンツのレプリカが複数のコンテンツ保持ノードに保存されている場合)。かかる場合、ユーザノードは、当該複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択し、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。
なお、ルートノードは、当該インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。
以上のようにしてユーザノードは、ユーザにより選択されたコンテンツのレプリカをそのコンテンツ保持ノードからダウンロードし、当該レプリカをキャッシュとして、例えばハードディスク等に設けられた、レプリカを保存するための保存領域(以下、「ストレージ」という)に保存し、その後は、例えば、ユーザから再生指示がなされる度に、ストレージから再生することになる。しかしながら、コンテンツ分散保存システムSへの参加初期には、上記ストレージに十分なキャッシュが無く、ユーザが望むコンテンツの殆どは、その都度、上述したように、コンテンツ保持ノードからダウンロードしなければならない。そこで、本実施形態では、各ノードNnは、コンテンツ分散保存システムSへの参加時に、ストレージに所定の空き容量がある場合、コンテンツ保持ノード又は全てのコンテンツのレプリカを有するサーバ装置であるコンテンツ提供サーバから、当該システムSにおいて利用可能な例えば利用される確率の高い人気のあるコンテンツのレプリカをストレージの所定のデータ容量分ダウンロードして保存することで、コンテンツ再生の即時性を向上させている。
なお、コンテンツ保持ノードから取得したコンテンツのレプリカを保存したユーザノードは、当該レプリカを保存したことをそのルートノードに知らせるために(言い換えれば、該システムSに参加している他のノードNnに対して公開するために)、当該レプリカのコンテンツID及び自己のノード情報が含まれるパブリッシュ(登録通知)メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて(ルートノード宛に)送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)することになる。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録(キャッシュ)される。
[2.ノードNnの構成及び機能等]
次に、図2を参照して、ノードNnの構成及び機能について説明する。
次に、図2を参照して、ノードNnの構成及び機能について説明する。
図2は、ノードNnの概要構成例を示す図である。
各ノードNnは、図2に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ及び各種プログラム等を記憶保存(格納)するためのHD(ハードディスク)等から構成された記憶部12(保存手段の一例)と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ13と、コンテンツのレプリカに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部19と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力手段としての入力部(例えば、キーボード、マウス、或いは、リモコンや操作パネル等)20と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部19、及び入力部20はバス21を介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能であり、例えば、ユーザの自宅、カラオケ店、ホテル等に設置される。
また、記憶部12には、DHTを用いたルーティングテーブル、インデックス情報、及びコンテンツカタログ情報、並びに、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号等が記憶されている。
また、記憶部12が有するストレージ(コンテンツのレプリカを保存するための保存領域)の容量(例えば、100ギガバイト)は、例えばユーザにより任意に設定可能になっている。
また、記憶部12には、人気コンテンツリスト(コンテンツリストの一例)が記憶されている。この人気コンテンツリストは、コンテンツ分散保存システムSにおいて利用可能な例えば人気が高い(人気ランキングが上位所定順位(例えば、20位)以内)各コンテンツに関する情報が記述されたものであり、コンテンツ分散保存システムSへの参加時にダウンロードするレプリカを選定するために用いられる。
図3は、人気コンテンツリストの内容の一例を示す図である。図3に示す人気コンテンツリストには、コンテンツに関する情報の一例として、各コンテンツIDに対応付けられてコンテンツ名、再生回数、再生ポイント、DL(ダウンロード)回数、DLポイント、対象世代、及び地域属性が含まれている。なお、図3に示す人気コンテンツリストに記述されるコンテンツに関する情報は、再生ポイントの高い(つまり人気が高い)コンテンツ順に記述されているが、DLポイントの高い順に記述されても良い。
ここで、再生回数は、コンテンツ分散保存システムSにおいてノードNnにより一定期間内にコンテンツのレプリカが再生された回数を集計した情報である。再生ポイント(点数)は、再生回数に比例した値(再生回数が多いほど高くなる)であり、規格化ができればどのようなつけ方でもよいが、例えば、そのコンテンツの当該リスト内での再生割合として、下記算出式(1)により算出できる。
再生ポイント=コンテンツの再生回数÷人気コンテンツリストの内の再生回数の合計×100・・・(1)
また、DL回数は、コンテンツ分散保存システムSにおいてノードNnにより一定期間内にコンテンツのレプリカがダウンロード(取得)された回数を集計した情報である。DLポイント(点数)は、DL回数に比例した値(DL回数が多いほど高くなる)であり、再生回数と同様、規格化ができればどのようなつけ方でもよいが、例えば、そのコンテンツの当該リスト内でのDL割合として、下記算出式(2)により算出できる。
また、DL回数は、コンテンツ分散保存システムSにおいてノードNnにより一定期間内にコンテンツのレプリカがダウンロード(取得)された回数を集計した情報である。DLポイント(点数)は、DL回数に比例した値(DL回数が多いほど高くなる)であり、再生回数と同様、規格化ができればどのようなつけ方でもよいが、例えば、そのコンテンツの当該リスト内でのDL割合として、下記算出式(2)により算出できる。
DLポイント=コンテンツのDL回数÷人気コンテンツリストの内のDL回数の合計×100・・・(2)
なお、再生回数とDL回数の夫々どちらかに重きをおきたい場合は、上記算出式で重みをつけることで対応できる。
なお、再生回数とDL回数の夫々どちらかに重きをおきたい場合は、上記算出式で重みをつけることで対応できる。
また、ジャンル(ジャンルタグ)とは、コンテンツの指向に合わせて予めコンテンツに付加される情報である。例えばコンテンツが音楽データであれば、「ロック」、「ポップス」、「ジャズ」、「子供向け」、「若者向け」、「中高年向け」、「高齢者向け」、「外国人向け」など、曲の指向に合わせて設定される。また、例えばコンテンツが映像データであれば、「スポーツ」、「コメディ」、「アクション」、「洋画」、「邦画」、「海外ドラマ」、「国内ドラマ」、「教養」など、映像の指向に合わせて設定される。
このようなジャンルは、例えば、コンテンツ分散保存システムSにコンテンツが投入(初めて利用可能にノードNnに保存)される際に、サービス運用者により当該コンテンツに付加される(当該ジャンルは、後からノードNnのユーザにより設定できるようにしてもよい)。なお、図3の例では、ジャンルの例として、対象世代(「若者向け」、「中高年向け」、及び「高齢者向け」)が記述されている。
また、地域属性(地域性)とは、コンテンツが利用される可能性が高い地域を示す情報である。コンテンツには、各地域毎に利用されやすいものがある。例えば、沖縄の曲や大阪の曲などは、全国的に人気があるものもあるが、特にその地域で歌われたり、聴かれる機会が多いと考えられる。
更に、各ノードNnにおいては、例えば初期設定時に、ジャンルや地域属性、及びこれらの重み割合を設定することができ、設定されたジャンルや地域属性、及びこれらの重み割合が記憶部12に記憶される。
ジャンルの重み割合は、例えば、
(若者向け:中高年向け:高齢者向け)=(1:1:1)
(若者向け:中高年向け:高齢者向け)=(2:1:1)
(若者向け:中高年向け:高齢者向け)=(1:0:0)
(若者向け:中高年向け:高齢者向け)=(1:10:10)
などのように設定することができ、これを後述するジャンルポイント(ポイント倍率)に設定すればよい。なお、このようなジャンル及び重み割合は、ユーザが任意に指定することができる。例えば、夜の飲食店向けカラオケ店に設置されたノードNnでは、「中高年向け」の重み割合を高くすることで、「中高年向け」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。また、ユーザが、特に重み割合を設定せずに、所望の1以上のジャンルを設定することで、当該ジャンルが付加されているコンテンツのジャンルポイントを高くするように構成しても良い。例えば、ユーザがジャンルとして「若者向け」のみを設定した場合、当該「若者向け」が付加されたコンテンツのジャンルポイントを例えば「10」とし、「若者向け」が付加されていないコンテンツのジャンルポイントを例えば「1」とすることにより、「若者向け」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。
(若者向け:中高年向け:高齢者向け)=(1:1:1)
(若者向け:中高年向け:高齢者向け)=(2:1:1)
(若者向け:中高年向け:高齢者向け)=(1:0:0)
(若者向け:中高年向け:高齢者向け)=(1:10:10)
などのように設定することができ、これを後述するジャンルポイント(ポイント倍率)に設定すればよい。なお、このようなジャンル及び重み割合は、ユーザが任意に指定することができる。例えば、夜の飲食店向けカラオケ店に設置されたノードNnでは、「中高年向け」の重み割合を高くすることで、「中高年向け」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。また、ユーザが、特に重み割合を設定せずに、所望の1以上のジャンルを設定することで、当該ジャンルが付加されているコンテンツのジャンルポイントを高くするように構成しても良い。例えば、ユーザがジャンルとして「若者向け」のみを設定した場合、当該「若者向け」が付加されたコンテンツのジャンルポイントを例えば「10」とし、「若者向け」が付加されていないコンテンツのジャンルポイントを例えば「1」とすることにより、「若者向け」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。
また、地域属性の重み割合は、例えば、
(無(地域属性無し):沖縄)=(1:2)
(無:北海道)=(1:10)
などのように設定することができ、これを後述する地域属性ポイント(ポイント倍率)に設定すればよい。なお、設定される地域属性としては、例えばノードNnに設定された設置場所情報(例えば、郵便番号や住所)を利用してもよいし、またユーザが所望する地域属性を任意に指定してもよい。また、地域属性の重み割合も、ユーザが任意に指定することができる。例えば、地域属性「沖縄」の重み割合を高くすることで、「沖縄」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。また、ユーザが、特に重み割合を設定せずに、所望の1以上の地域属性を設定することで、当該地域属性が付加されているコンテンツの地域属性ポイントを高くするように構成しても良い。例えば、ユーザが地域属性として「北海道」のみを設定した場合、当該「北海道」が付加されたコンテンツの地域属性ポイントを例えば「10」とし、「北海道」が付加されていないコンテンツの地域属性ポイントを例えば「1」とすることにより、「北海道」が付加されたコンテンツの地域属性ポイントを高くしダウンロードしやすくすることできる。
(無(地域属性無し):沖縄)=(1:2)
(無:北海道)=(1:10)
などのように設定することができ、これを後述する地域属性ポイント(ポイント倍率)に設定すればよい。なお、設定される地域属性としては、例えばノードNnに設定された設置場所情報(例えば、郵便番号や住所)を利用してもよいし、またユーザが所望する地域属性を任意に指定してもよい。また、地域属性の重み割合も、ユーザが任意に指定することができる。例えば、地域属性「沖縄」の重み割合を高くすることで、「沖縄」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。また、ユーザが、特に重み割合を設定せずに、所望の1以上の地域属性を設定することで、当該地域属性が付加されているコンテンツの地域属性ポイントを高くするように構成しても良い。例えば、ユーザが地域属性として「北海道」のみを設定した場合、当該「北海道」が付加されたコンテンツの地域属性ポイントを例えば「10」とし、「北海道」が付加されていないコンテンツの地域属性ポイントを例えば「1」とすることにより、「北海道」が付加されたコンテンツの地域属性ポイントを高くしダウンロードしやすくすることできる。
以上のような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御し、上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行う。また、制御部11は、本発明における参加処理手段、空き容量判別手段、コンテンツリスト取得手段、確率算出手段、コンテンツ選定手段、保存制御手段、及びコンテンツ取得手段として機能する。
より具体的には、制御部11は、例えば自ノードの電源オン時に、コンテンツ分散保存システムSに参加するための参加処理を実行する。かかる参加処理において、制御部11は、例えば、コンタクトノードにネットワーク8を介して接続し当該コンタクトノードに対して参加メッセージを送信する。これに応じて、当該コンテンツノード等から返信されてきた情報に基づきDHTを用いたルーティングテーブルを作成してコンテンツ分散保存システムSに参加することになる。このとき、制御部11は、ストレージに所定の空き容量(例えば、複数のコンテンツのレプリカを保存できるデータ容量)があるか否かを判別し、空き容量があると判別した場合に、上述した人気コンテンツリストに基づき、所定のデータ容量分(例えば、空き容量分、又は指定容量分)の複数のコンテンツを選定する。
ここで、人気コンテンツリストは、当該ノードNnが例えば参加時に管理サーバから取得する方法と、当該ノードNnが例えば参加時に自律的に作成することで取得する方法とがある。
図4は、人気コンテンツリストをノードNnが管理サーバから取得する方法を示す概念図である。この方法では、図4に示すように、各ノードNnは、コンテンツのレプリカを再生した際、及びコンテンツのレプリカをコンテンツ保持ノード等からダウンロードした際には、そのログ情報(コンテンツIDを含む)を、コンテンツ分散保存システムSにおいて利用可能な各コンテンツに関する情報を管理するセンターの管理サーバ(例えば、コンテンツ提供サーバ)に送信する。この管理サーバは、そのログ情報を集計することで、各コンテンツの再生回数及びDL回数を算出することができる。また、例えば、各ノードNnに設置場所情報(例えば、郵便番号や住所)を設定し、各ノードNnが設置場所情報をログ情報に含めて管理サーバに送信することにより、当該管理サーバは、各コンテンツの利用地域傾向の情報を集計して各コンテンツの地域属性を求めることができる。こうして、管理サーバは、任意の期間に人気が高いコンテンツに関する情報が記述された人気コンテンツリストを作成し、各ノードNnに対して提供することになる。このように管理サーバが人気コンテンツリストを作成する方法によれば、人気コンテンツリストの精度を高めることができる。なお、人気コンテンツリストに記述される再生ポイント及びDLポイントは管理サーバが算出しても良いし、人気コンテンツリストを取得したノードNnの制御部11が算出しても良い。
一方、図5は、ノードNnが自律的に作成することで取得する方法を示す概念図である。この方法では、各ノードNnは、コンテンツの再生履歴やダウンロード履歴のデータを一定の期間、或いは一定のデータ量記憶しておき、他のノードNnから履歴データ取得要求があれば、その履歴のデータを当該ノードNnに提供する。これにより、各ノードNnは、例えばランダムに選定した複数の他のノードNnから履歴のデータを収集し、これを集計することで、各コンテンツの再生回数及びDL回数を算出することができる。なお、履歴のデータの収集対象となるノードNnの数が多ければ多いほど、その集計結果は、管理サーバで集計する場合に近づくことになる。また、図5に示す方法では、図4に示す方法に比べて、利用地域傾向の情報を集計して各コンテンツの地域属性を求めることは容易ではないが、各ノードNnが履歴データ取得要求を他のノードNnに行う際に、設置場所を指定することで、ある地域内にあるノードNnからのみ履歴のデータを取得するように構成すればより効果的である。例えば、自ノードの設置場所に近い場所(例えば、県が同じ、又は郵便番号が近いなど)に設置されたノードNnからの履歴のデータの取得を優先することで、相対的に地元で人気のあるコンテンツに関する情報が取得しやすくなる。こうして、各ノードNnは、任意の期間に人気が高いコンテンツに関する情報が記述された人気コンテンツリストを作成することになる。このように各ノードNnが人気コンテンツリストを作成する方法によれば、管理サーバの負荷を低減することができる。なお、人気コンテンツリストに記述される再生ポイント及びDLポイントは各ノードNnの制御部11が算出することになる。
そして、人気コンテンツリストに基づくコンテンツの選定にあたって、制御部11は、当該人気コンテンツリストと、ジャンルや地域属性の重み割合の設定に基づきダウンロードリストを作成する。
図6〜図8は、図3に示す人気コンテンツリストに基づき作成されたダウンロードリストの内容の一例を示す図である。図示されるように、ダウンロードリストには、人気コンテンツリストに記述される項目に加え、各コンテンツの合計ポイント及びダウンロード確率が記述されている。この合計ポイント及びダウンロード確率は、規格化された値を算出できる方法であれば、どのような方法で算出してもよいが、例えば、上述した再生ポイント、DLポイント、ジャンルポイント、及び地域属性ポイントに基づき、下記(3),(4)式により算出できる。
合計ポイント=再生ポイント×DLポイント×ジャンルポイント×地域属性ポイント・・・(3)
ダウンロード確率=合計ポイント÷人気コンテンツリストの内の合計ポイントの合計×100・・・(4)
上記(3),(4)式によれば、かかるダウンロード確率は、上記再生回数とDL回数の少なくとも何れか一つの回数に比例した確率であると言え、更に、自ノードにおいて予め設定されたジャンル、及び地域属性の少なくとも何れか一つが一致するコンテンツのダウンロード確率は例えば重み割合によって変化する。
ダウンロード確率=合計ポイント÷人気コンテンツリストの内の合計ポイントの合計×100・・・(4)
上記(3),(4)式によれば、かかるダウンロード確率は、上記再生回数とDL回数の少なくとも何れか一つの回数に比例した確率であると言え、更に、自ノードにおいて予め設定されたジャンル、及び地域属性の少なくとも何れか一つが一致するコンテンツのダウンロード確率は例えば重み割合によって変化する。
図6の例では、ジャンルの重み割合が、(若者向け:中高年向け:高齢者向け)=(1:0:0)と設定され、地域属性が特に指定されていない場合を示している。この場合、ジャンルが「若者向け」であるコンテンツのジャンルポイントは「1」(中高年向け及び高齢者向けであるコンテンツのジャンルポイントは「0」)に設定され、地域属性は特に指定がないので、地域属性ポイントは人気コンテンツリストにある全てコンテンツにおいて「1」に設定されて、合計ポイント及びダウンロード確率が算出される。
図7の例では、ジャンルの重み割合が、(若者向け:中高年向け:高齢者向け)=(1:0:0)と設定され、地域属性が、(無:沖縄)=(1:2)と設定されている場合のダウンロードリストの内容を示している。この場合、ジャンルが「若者向け」であるコンテンツのジャンルポイントは「1」に設定され、地域属性が「沖縄」であるコンテンツの地域属性ポイントは「2」(沖縄以外は「1」)に設定されて、合計ポイント及びダウンロード確率が算出される。
図8の例では、ジャンル及び地域属性が特に指定されていない場合を示している。この場合、ジャンルポイント及び地域属性ポイントは人気コンテンツリストにある全てコンテンツにおいて「1」に設定されて、合計ポイント及びダウンロード確率が算出される。
そして、制御部11は、各コンテンツ毎に算出されたダウンロード確率に基づいてコンテンツを選定することになる。例えば、制御部11は、ダウンロード確率が高いほど選定される割合が高くなる演算式を用いて、コンテンツ毎に選定するか否かを決定する。例えば、図8の例において、「コンテンツbbb」のダウンロード確率は約20%であることから5回で1回の割合で選定されることになるが、「コンテンツccc」のダウンロード確率は約5%であることから20回で1回の割合で選定されることになる。つまり、利用される確率の高いコンテンツが優先して選定されることになる。
制御部11は、このようなコンテンツの選定処理を、例えばストレージの空き容量が無くなるまで、又はストレージの容量がユーザにより指定された容量になるまで行い、当該選定したコンテンツのレプリカを、ルートノードにその所在を問い合わせることによりコンテンツ保持ノードからダウンロード(又はコンテンツ提供サーバからダウンロード)し、当該レプリカを上記ストレージに保存させる。なお、レプリカのダウンロードは、コンテンツの選定の都度行うようにしても良いし、全てのコンテンツの選定が終了した後にまとめて行うようにしても良い。
また、一旦ストレージに保存されたレプリカが、例えばセンターからの指示又はユーザからの指示等により削除され空き容量ができる場合もある。このような場合のために、制御部11は、予め設定された空き容量(例えば、少なくとも一つのコンテンツのレプリカを保存できる容量)がストレージにあるか否かを例えば一定周期で判別し、空き容量ができたと判別した場合に、上記と同様、人気コンテンツリストに基づき、所定のデータ容量分(例えば、空き容量分、又は指定容量分)のコンテンツを選定及びダウンロードし、当該レプリカを上記ストレージに保存させる。
ところで、上述したように、ノードNnは、ストレージに空き容量がある場合に自動的にコンテンツのレプリカをダウンロードするが、かかる自動ダウンロード処理と、ユーザがノードNnを使用(例えば、カラオケを歌う、映像及び音声を視聴するなど)するために、当該ユーザによりリクエスト(つまり、入力部20を通じて指定)されたコンテンツのレプリカをコンテンツ保持ノード等からダウンロードするリクエストダウンロード処理とが重なる(バッティングする)場合が想定される。かかる場合、制御部11の負荷が上昇し、リクエストダウンロード処理によりコンテンツをダウンロードする時間が通常よりもかかりユーザの満足度を低下してしまうおそれがある。そこで、本実施形態において、制御部11は、自動ダウンロード処理と、リクエストダウンロード処理とが重なった場合、リクエストダウンロード処理を優先させるべく負荷回避処理を実行するようにしている。かかる負荷回避処理の具体例としては、例えば、以下の(a)〜(c)の3つの方法が挙げられる。
(a)制御部11は、自動ダウンロード処理を一時停止して、リクエストダウンロード処理によりリクエストされたコンテンツのレプリカを優先的にダウンロードする。そして、制御部11は、リクエストダウンロード処理によるレプリカのダウンロード完了したときに、停止していた自動ダウンロード処理を再開する。
(b)自動ダウンロード処理によるレプリカのダウンロードのビットレートを下げ、リクエストダウンロード処理によるレプリカのダウンロードのビットレートを上げる。
(c)自動ダウンロード処理によるレプリカのダウンロードに時間間隔を空け、リクエストダウンロード処理によるレプリカのダウンロードと重複しないようにする。
なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
[3.ノードNnの動作]
次に、図9を参照して、本実施形態に係るノードNnの動作について説明する。
次に、図9を参照して、本実施形態に係るノードNnの動作について説明する。
図9は、ノードNnにおける制御部11の処理を示すフローチャートである。
図9に示す処理は、例えばノードNnにおいて電源オンがなされると開始され、先ず、制御部11は、ユーザからの入力部20を介した指示にしたがって初期設定を行う(ステップS1)。この初期設定では、上述したように、ジャンルや地域属性、及びこれらの重み割合を設定することができ、設定されたジャンルや地域属性、及びこれらの重み割合が記憶部12に記憶される。また、この初期設定は後から変更可能である。
次いで、制御部11は、参加処理を行う(ステップS2)。当該参加処理において、制御部11は、コンタクトノードに対して参加メッセージ(自ノードのノード情報を含む)を送信することにより返信されてきたメッセージに含まれるノード情報等を用いてDHTを用いたルーティングテーブルを生成する。これにより、当該ノードNnは、コンテンツ分散保存システムSに参加することになる。
次いで、制御部11は、記憶部12におけるストレージに所定の空き容量があるか否かを判別し(ステップS3)、空き容量があると判別した場合には(ステップS3:YES)、ステップS4に進み、空き容量がないと判別した場合には(ステップS3:NO)、ステップS14に進む。
ステップS4では、制御部11は、上述したように、人気コンテンツリストを取得する。
次いで、制御部11は、人気コンテンツリストと、ジャンルや地域属性の重み割合の設定に基づき、上述したように、ダウンロードリストを作成する(ステップS5)。
次いで、制御部11は、ダウンロードリストに記述された例えば最上位の(最も人気が高い)コンテンツを一つ特定する(ステップS6)。
次いで、制御部11は、当該特定したコンテンツのレプリカが既にストレージに保存されているか否かを判別し(ステップS7)、既にストレージに保存されている場合には(ステップS7:YES)、ステップS12に進み、未だストレージに保存されていない場合には(ステップS7:NO)、ステップS8に進む。
ステップS8では、制御部11は、上記特定したコンテンツのダウンロード確率をダウンロードリストから読み込み、当該確率に基づいて、上述したように、コンテンツを選定するか否かを決定する。そして、制御部11は、当該コンテンツを選定すると決定した場合には(ステップS8:YES)、ステップS9に進み、当該コンテンツを選定しないと決定した場合には(ステップS8:YES)、ステップS12に進む。
ステップS9では、制御部11は、ユーザからコンテンツのリクエストが過去所定時間以内(例えば、数秒前)にあったか否かを判別し、当該リクエストがない場合には(ステップS9:NO)、ステップS10に進み、当該リクエストがあった場合には(ステップS9:YES)、ステップS11に進む。
ステップS10では、制御部11は、上記選定したコンテンツの自動ダウンロード処理を行う。かかる自動ダウンロード処理においては、例えば、制御部11は、選定したコンテンツのコンテンツID及び自己のIPアドレス等を含むコンテンツ所在問合せメッセージを生成し、これを自己のDHTを用いたルーティングテーブルにしたがって他のノードNnに対して送出(つまり、ルートノードに向けて送出)する。これにより、コンテンツ所在問合せメッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着し、当該メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるノードNnに対して返信する。こうしてインデックス情報を取得したノードNnの制御部11は、当該インデックス情報に含まれるあるコンテンツ保持ノードのIPアドレス等に基づいて当該コンテンツ保持ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカをダウンロードしストレージに保存する。なお、ネットワークの負荷状況により、一定時間内にルートノードからインデックス情報を取得できない場合、当該ノードNnの制御部11は、コンテンツ提供サーバにアクセスして、そこから上記コンテンツのレプリカをダウンロードしストレージに保存する。
ステップS11では、制御部11は、上述した負荷回避処理(例えば、上述した(a)〜(c)の3つ方法の何れか)を行う。これにより、上記ステップS8で選定されたコンテンツのレプリカと、ユーザによりリクエストされたコンテンツのレプリカとが、コンテンツ保持ノード又はコンテンツ提供サーバからダウンロードされ、ストレージに保存される。
次いで、制御部11は、上記ステップS6で特定したコンテンツに関する情報をダウンロードリストから削除する(ステップS12)。
次いで、制御部11は、ストレージの空き容量が所定容量になったか否かを判別し(ステップS13)、ストレージの空き容量が所定容量になった場合には(ステップS13:YES)、ステップS14に進み、ストレージの空き容量が所定容量にならない(言い換えれば、未だコンテンツのレプリカを保存できる空き容量がストレージにある)場合には(ステップS13:NO)、ステップS6に戻る。こうして、制御部11は、再び、ダウンロードリストに記述された最上位(最も人気が高い)コンテンツを一つ特定して上記と同様の処理を繰り返す。ここで、既にステップS6で特定されたコンテンツに関する情報はダウンロードリストから削除されているので、重複してステップS6で特定されることはない。このような処理により、例えばストレージの空き容量が無くなるまで、又はストレージの容量がユーザにより指定された容量になるまで、選定されたコンテンツのレプリカがダウンロードされてストレージに保存される。
ステップS14では、制御部11は、各種メッセージの送受信処理やユーザからの指示に応じた処理(例えば、コンテンツのダウンロード処理、コンテンツの再生処理、コンテンツの削除処理など)等のその他の処理を行う。
そして、ステップS15では、制御部11は、電源オフ指令があったか否かを判別し、電源オフ指令がない場合には(ステップS15:NO)、ステップS3に戻り上記と同様の処理を行い(レプリカが削除された場合は、再び、ステップS4以降の処理が行われる)、電源オフ指令があった場合には(ステップS15:YES)、当該処理を終了する。
以上説明したように、上記実施形態によれば、ノードNnは、コンテンツ分散保存システムSへの参加時においてストレージに所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツを人気コンテンツリストに基づき選定し、選定したコンテンツのレプリカを、コンテンツ保持ノード等からダウンロードし、当該レプリカをストレージに保存させるように構成したので、コンテンツ分散保存システムSへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツのレプリカをノードNnに自動的に保存させることができる。これにより、コンテンツ再生の即時性を向上させることができる。
また、ストレージに保存されたレプリカが削除されることにより当該ストレージに空きが生じた場合にも、ノードNnは、例えば空き容量分のコンテンツを人気コンテンツリストに基づき選定し、選定されたコンテンツのレプリカを、コンテンツ保持ノード等からダウンロードし、当該レプリカをストレージに保存させるように構成したので、常に、コンテンツ再生の即時性を向上させることができる。
また、ノードNnは、人気コンテンツリストにおけるコンテンツのダウンロード回数と再生回数の少なくとも何れか一つの回数に比例したダウンロード確率を各コンテンツ毎に算出し、各コンテンツ毎に算出されたダウンロード確率に基づいてダウンロードするべきコンテンツとして選定するように構成したので、利用される確率の高い人気コンテンツを優先して選定することができると共に、複数のノードNnでダウンロードするコンテンツは確率的にバラけさせることができる。
また、ノードNnは、ジャンル、地域属性、これらの重み割合の設定にしたがってダウンロード確率を変化させるように構成したので、ユーザが好むコンテンツのレプリカをジャンルや地域属性の指定によりダウンロードされやすくすることができる。また、人気コンテンツリスト内のコンテンツのうち、あるジャンルが付加されたコンテンツのレプリカしかダウンロードしないということもできる。
更に、ノードNnは、自動ダウンロード処理と、リクエストダウンロード処理とが重なった場合、リクエストダウンロード処理を優先させるべく負荷回避処理を行うことにより、ユーザの満足度が低下することを回避することができる。
なお、上記実施形態におけるコンテンツ分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。また、上記実施形態におけるコンテンツ分散保存システムSは、システム(ネットワーク)に参加する際、或いはストレージに空きが生じた際、自ノードのキャッシュをなるべくネットワーク全体の人気度などに即して保持しているほうが有利になるようなコンテンツ配信システムに対して適用でき、例えばカラオケ店の曲配信システムやホテルなどの映像配信システム等にも適用できる。
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
Nn ノード
S コンテンツ分散保存システム
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
Nn ノード
S コンテンツ分散保存システム
Claims (9)
- ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、
前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、
前記複製データを保存するための保存領域を有する保存手段と、
前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、
前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、
前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、
前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、
を備えることを特徴とするノード装置。 - 請求項1に記載のノード装置において、
前記コンテンツ選定手段は、前記保存領域に保存された前記複製データが削除されることにより当該保存領域に所定の空き容量ができた場合に、所定のデータ容量分のコンテンツを前記コンテンツリストに基づき選定することを特徴とするノード装置。 - 請求項1又は2に記載のノード装置において、
前記コンテンツ選定手段は、利用される確率の高いコンテンツを優先して選定することを特徴とするノード装置。 - 請求項1乃至3の何れか一項に記載のノード装置において、
前記各コンテンツに関する情報には、前記コンテンツの複数データが何れか複数のノード装置により取得された取得回数、前記コンテンツの複製データが何れか複数のノード装置により再生された再生回数、の少なくとも何れか一つを示す情報が含まれており、
前記取得回数と前記再生回数の少なくとも何れか一つの回数に比例した確率を前記各コンテンツ毎に算出する確率算出手段を更に備え、
前記コンテンツ選定手段は、前記各コンテンツ毎に算出された確率に基づいて前記コンテンツを選定することを特徴とするノード装置。 - 請求項4に記載のノード装置において、
前記各コンテンツに関する情報には、さらに、前記コンテンツのジャンル、対象世代、及び地域属性の少なくとも何れか一つを示す情報が含まれており、
前記確率算出手段は、前記各コンテンツに関する情報を参照して、当該ノード装置において予め設定されたジャンル、世代、及び地域属性の少なくとも何れか一つが一致するコンテンツの前記確率を高めることを特徴とするノード装置。 - 請求項1乃至5の何れか一項に記載のノード装置において、
ユーザから入力手段を通じて指定されたコンテンツの複製データを他のノード装置から取得するコンテンツ取得手段を更に備え、
前記コンテンツ取得手段による前記複製データの取得処理と、前記保存制御手段による前記複製データの取得処理とが重なった場合、前記コンテンツ取得手段による前記複製データの取得処理を優先させることを特徴とするノード装置。 - コンピュータを、請求項1乃至6の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
- ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムであって、
前記ノード装置は、
前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、
前記複製データを保存するための保存領域を有する保存手段と、
前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、
前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、
前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、
前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、
を備えることを特徴とするコンテンツ分散保存システム。 - ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、
前記ノード装置が、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理工程と、
前記ノード装置が、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得工程と、
前記ノード装置が、前記複製データを保存するための保存領域に所定の空き容量があるか否かを判別する空き容量判別工程と、
前記ノード装置が、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定工程と、
前記ノード装置が、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御工程と、
を含むことを特徴とするコンテンツ保存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008231459A JP2010066930A (ja) | 2008-09-09 | 2008-09-09 | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008231459A JP2010066930A (ja) | 2008-09-09 | 2008-09-09 | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010066930A true JP2010066930A (ja) | 2010-03-25 |
Family
ID=42192475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008231459A Withdrawn JP2010066930A (ja) | 2008-09-09 | 2008-09-09 | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010066930A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012133535A (ja) * | 2010-12-21 | 2012-07-12 | Sony Corp | 転送装置、クライアント装置、サーバ装置、再生装置および転送方法 |
JP2016514303A (ja) * | 2013-02-26 | 2016-05-19 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ピアツーピアシステムにおけるコンテンツ管理 |
JP2017511641A (ja) * | 2014-03-10 | 2017-04-20 | ノキア ソリューションズ アンド ネットワークス オサケユキチュア | 直接近接通信によるソーシャル・ネットワーク・コミュニティのユーザ・ノード間における人気コンテンツ配信 |
-
2008
- 2008-09-09 JP JP2008231459A patent/JP2010066930A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012133535A (ja) * | 2010-12-21 | 2012-07-12 | Sony Corp | 転送装置、クライアント装置、サーバ装置、再生装置および転送方法 |
JP2016514303A (ja) * | 2013-02-26 | 2016-05-19 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ピアツーピアシステムにおけるコンテンツ管理 |
JP2017511641A (ja) * | 2014-03-10 | 2017-04-20 | ノキア ソリューションズ アンド ネットワークス オサケユキチュア | 直接近接通信によるソーシャル・ネットワーク・コミュニティのユーザ・ノード間における人気コンテンツ配信 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4830889B2 (ja) | 情報配信システム、情報配信方法及びノード装置等 | |
US20080281982A1 (en) | Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded | |
JP2008129694A (ja) | 情報配信システム、情報配信方法、配信装置及びノード装置等 | |
JP4506387B2 (ja) | 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等 | |
JP2006059133A (ja) | 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等 | |
JP2010066930A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP2007213322A (ja) | 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム | |
JP2010113573A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム | |
JP5136208B2 (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP5375272B2 (ja) | ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法 | |
JP2010267028A (ja) | 管理装置、管理処理プログラム、ノード装置、ノード処理プログラム、及び有効期限切れレコード判定方法 | |
JP5458629B2 (ja) | ノード装置、ノード処理プログラム及び検索方法 | |
JP2010108082A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP2009232272A (ja) | コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム | |
JP5412924B2 (ja) | ノード装置、ノード処理プログラム及びコンテンツデータ削除方法 | |
JP4935734B2 (ja) | コンテンツ分散保存システム、ノード装置及びノード処理プログラム並びにノード処理方法 | |
JP5012712B2 (ja) | コンテンツ分散保存システム、総評価値管理装置、管理処理プログラム、ノード装置、及び総評価値管理方法 | |
JP5157770B2 (ja) | ノード装置、プログラム及び保存指示方法 | |
JP4983183B2 (ja) | ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法 | |
JP5338774B2 (ja) | 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ投入方法 | |
JP2009129161A (ja) | コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム | |
JP5347876B2 (ja) | 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム | |
JP5494362B2 (ja) | 配信システム、情報処理装置、プログラム、及びコンテンツ投入方法 | |
JP2010238160A (ja) | ノード装置、ノード処理プログラム及びコンテンツデータ保存方法 | |
JP5326970B2 (ja) | コンテンツ配信システム、ノード装置、ノードプログラム、及び公開メッセージ送信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20111206 |