JP2010231576A - ノード装置、ノード処理プログラム及びコンテンツ保存方法 - Google Patents

ノード装置、ノード処理プログラム及びコンテンツ保存方法 Download PDF

Info

Publication number
JP2010231576A
JP2010231576A JP2009079291A JP2009079291A JP2010231576A JP 2010231576 A JP2010231576 A JP 2010231576A JP 2009079291 A JP2009079291 A JP 2009079291A JP 2009079291 A JP2009079291 A JP 2009079291A JP 2010231576 A JP2010231576 A JP 2010231576A
Authority
JP
Japan
Prior art keywords
node
content
node device
capacity
information
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.)
Granted
Application number
JP2009079291A
Other languages
English (en)
Other versions
JP5532649B2 (ja
Inventor
Takuya Inoue
卓哉 井上
Daisuke Yamashiro
大輔 山代
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009079291A priority Critical patent/JP5532649B2/ja
Publication of JP2010231576A publication Critical patent/JP2010231576A/ja
Application granted granted Critical
Publication of JP5532649B2 publication Critical patent/JP5532649B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】
本発明の目的は、他のノード装置のキャッシュに空き容量があるかを判断して、ピアツーピア型の通信システム全体としてキャッシュの使用効率を向上させるノード装置、ノード処理プログラム、及びコンテンツデータ保存方法を提供することを提供することである。
【解決手段】
ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置Nnの中で、空き記録容量が所定値以上であるノード装置があるかが判定される。ノード装置により削除すると決定されたレプリカが、空き記録容量が所定値以上のノード装置へ送信される。
【選択図】図9

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
この種のピアツーピア型の通信システムは、複数のノード装置により構成される。各種コンテンツのデータファイルは、複数のデータファイルの複製データ(以下、「レプリカ」という)として複数のノード装置に分散して保存される。データファイルは、映画及び音楽などのデータファイルである。一般的には、各ノード装置間でレプリカを利用可能とした分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。
そして、上述のノード装置は、所望のコンテンツを取得するとき、当該コンテンツのレプリカの所在を検索するためのメッセージ(クエリ)が他のノード装置へ送出される。これにより、当該メッセージは、上記DHTにしたがって、当該コンテンツのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツのレプリカを保存しているノード装置にアクセスすることができる。そして、当該レプリカを取得(ダウンロード)することができる。
特開2006−197400号公報
一般的なピアツーピア型の通信システムでは、コンテンツのレプリカを取得したノード装置は、当該レプリカをキャッシュとして各種記憶手段に保存する。そして、ノード装置はキャッシュしているコンテンツのレプリカが、所定条件となるとキャッシュから削除する。上記の通信システムへ参加しているノード装置の中で、レプリカをキャッシュしていないノード装置は、他のノード装置からのコンテンツのリクエストに応じることができず、キャッシュの使用効率が低くなってしまう。そのため、システムに対する貢献度が低いノード装置となってしまう。各ノード装置は、それぞれの判断により、キャッシュからレプリカを削除してしまうため、ピアツーピア型の通信システム全体として、キャッシュの使用効率が低下してしまうという問題があった。
本発明は、以上の点に鑑みてなされたものである。本発明の目的は、他のノード装置のキャッシュに空き容量があるかを判断して、ピアツーピア型の通信システム全体としてキャッシュの使用効率を向上させるノード装置、ノード処理プログラム、及びコンテンツデータ保存方法を提供することを提供することである。
請求項1に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置へ前記削除手段により削除されるコンテンツデータを送信するコンテンツ送信手段と、を備えることを特徴とするノード装置である。
請求項2に記載の発明によれば、前記コンテンツ送信手段は、前記削除手段により削除されるコンテンツを前記空き容量が最大のノード装置へ送信することを特徴とする。
請求項3に記載の発明によれば、 前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルを取得するルーティングテーブル取得手段と、前記削除手段により前記コンテンツデータが削除されるとき、前記ルーティングテーブルに従って、前記ルーティングテーブルに記載された前記所在情報が示す前記ノード装置の前記容量情報を検索する検索メッセージを送信する検索メッセージ送信手段と、を備え、前記ノード情報取得手段は、前記検索メッセージを受信した前記ノード装置から、前記所在情報と前記容量情報とが対応付けられた前記ノード情報を取得し、前記判定手段は前記ノード情報取得手段により取得されたノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定することを特徴とする。
請求項4に記載の発明によれば、前記ノード情報取得手段は、前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルに前記所在情報と前記空き容量とを対応付けて記憶し、前記判定手段は、前記ルーティングテーブルに記述される前記ノード装置の前記空き容量が所定容量以上であるか否かを判定し、前記判定手段が前記空き容量があると判定したとき、前記コンテンツ送信手段は前記ルーティングテーブルに記述され、かつ、空き容量があるノード装置へ前記削除されるコンテンツを送信することと特徴とする。
請求項5に記載の発明によれば、前記記憶手段は、前記コンテンツデータを公開する公開時期が記述された公開時期情報を記憶し、前記公開時期情報に基づいて、前記記憶手段が記憶しているコンテンツデータの前記公開時期が終了したか否かを判定する公開時期判定手段を備え、前記公開時期判定手段が、前記公開時期が終了したと判定したとき、前記削除手段は前記コンテンツデータを削除し、前記判定手段は判定を行わない、または、前記コンテンツ送信手段は、前記削除されるコンテンツを送信しないことを特徴とする。
請求項6に記載の発明によれば、前記記憶手段は、前記記憶手段に記憶された前記コンテンツデータと、前記コンテンツデータの評価値とを対応付けて記憶し、前記削除手段は、前記所定の条件として、前記記憶手段に記憶されたコンテンツデータの中で、所定の値より低い前記評価値のコンテンツを前記記憶手段から削除することを特徴とする。
請求項7に記載の発明によれば、前記コンテンツ分散保存システムに新規のノード装置が参加するか否かを判定する参加処理判定手段と、前記参加処理判定手段により、新規ノード装置が前記コンテンツ分散保存システムに参加すると判定された場合、前記判定手段は、前記新規ノード装置に所定容量以上の前記空き記憶容量があるか否かを判定し、前記判定手段により前記新規ノードに前記空き記憶容量があると判定された場合、前記コンテンツ送信手段は、前記削除されるコンテンツを前記新規ノードへ送信することを特徴とする。
請求項8に記載の発明によれば、請求項1乃至6の何れか一項に記載のノード装置としてコンピュータを機能させることを特徴とするノード処理プログラムである。
請求項9に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムであって、前記コンテンツ分散保存システムに参加する ノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得するコンテンツ取得手段と、を備えることを特徴とするコンテンツ分散保存システムである。
請求項10に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得ステップと、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除ステップと、前記削除ステップにより前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定ステップと、前記判定ステップが前記空き容量があるノード装置が存在すると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得するコンテンツ取得ステップと、を備えることを特徴とするコンテンツ保存方法である。
請求項1に記載の発明によれば、ノード情報取得手段は、コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得する。コンテンツ送信手段は、判定手段が空き容量があると判定したとき、空き容量があると判定されたノード装置識別情報が示すノード装置へコンテンツデータを送信する。従って、ノード装置から削除されるコンテンツが、システムへの貢献度が低いノード装置へ送信される。この結果、本来は削除されるコンテンツが、空き容量に余裕がある貢献度の低いノード装置へ送信される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。
請求項2に記載の発明によれば、コンテンツ送信手段は、削除手段により削除されるコンテンツを空き容量が最大のノード装置へ送信する。空き容量が最大のノード装置は、システムへの貢献度が低いノード装置である。そのため、本来削除されるはずだったコンテンツが、貢献度が低いノード装置へ送信されることで、各ノード装置のシステムへの貢献度が大幅に改善される。
請求項3に記載の発明によれば、検索メッセージ送信手段は、削除手段によりコンテンツデータが削除されるとき、ルーティングテーブルに従って、ルーティングテーブルに記載された所在情報が示すノード装置の容量情報を検索する検索メッセージを送信する。判定手段はノード情報取得手段により取得されたノード情報に基づいて所定容量以上の空き記憶容量があるノード装置が存在するか否かを判定する。従って、コンテンツが削除されるとき、ルーティングテーブルを用いて、所定の空き記憶容量があるノード装置が検索される。コンテンツが削除されるタイミングで、コンテンツ分散保存システムへの貢献度が低いノード装置が検索される。この結果、コンテンツが削除されるときに貢献度が低いノード装置へ、削除されるコンテンツが送信されることで、システム全体のキャッシュの使用効率を確実に向上させることができる。
請求項4に記載の発明によれば、ノード情報取得手段は、ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の所在情報を含むルーティングテーブルと空き容量とを対応付けて記憶する。判定手段が空き容量があると判定したとき、コンテンツ送信手段はルーティングテーブルに記述され、かつ、空き容量があるノード装置へ削除されるコンテンツを送信する。この結果、検索メッセージにより空き容量を検索することなく、ルーティングテーブルにより、分散保存システムを構成する複数のノード装置の中から、コンテンツを削除するノード装置と接続可能なノード装置を決定することができる。
請求項5に記載の発明によれば、記憶手段は、コンテンツデータを公開する公開時期が記述された公開時期情報を記憶する。公開時期判定手段が、公開時期が終了したと判定したとき、削除手段はコンテンツデータを削除し、判定手段は判定を行わない、または、コンテンツ送信手段は、前記削除されるコンテンツを送信しない。この結果、記憶容量に余裕があるノード装置へ、公開時期が終了したコンテンツを送ったとしても、公開時期が終了したコンテンツは今後使用されない。この結果、記憶容量に余裕があるノード装置であっても、公開時期が終了して今後使用されないコンテンツデータは送信されない。この結果、今後使用しないコンテンツが送信されないため、システム全体のキャッシュの使用効率を向上させることができる。
請求項6に記載の発明によれば、記憶手段は、記憶手段に記憶されたコンテンツデータと、コンテンツデータの評価値とを対応付けて記憶する。削除手段は、所定の条件として、記憶手段に記憶されたコンテンツデータの中で、所定の値より低い評価値のコンテンツを記憶手段から削除する。記憶容量に余裕があるノード装置がある場合、評価値の低いコンテンツであっても記憶手段へ記憶される。この結果、システム全体の貢献度を向上させることができるとともに、本来削除されるはずだった評価値の低いコンテンツが分散保存システムで利用可能になる。
請求項7に記載の発明によれば、参加処理判定手段は、コンテンツ分散保存システムに新規のノード装置が参加するか否かを判定する。判定手段により新規ノードに空き記憶容量があると判定された場合、コンテンツ送信手段は、削除されるコンテンツを前記新規ノードへ送信する。この結果、分散保存システムへ新規に参加したノード装置であっても空き容量に余裕がある場合、本来削除されるはずのコンテンツが送信される。新規ノードであっても参加するとすぐに、貢献度の高いノード装置になるため、各ノード装置のシステムへの貢献度も向上する。
請求項8に記載の発明によれば、請求項1乃至7の何れか一項に記載のノード装置としてコンピュータを機能させることを特徴とするノード処理プログラである。従って、ノード装置から削除されるコンテンツが、システムへの貢献度が低いノード装置へ送信される。この結果、本来は削除されるコンテンツが空き容量に余裕がある貢献度の低いノード装置へ送信される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。
請求項9に記載の発明によれば、ノード情報取得手段は、コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得する。コンテンツ取得手段は、判定手段が空き容量があるノード装置があると判定したとき、空き容量があると判定されたノード装置識別情報が示すノード装置から削除手段により削除されるコンテンツデータを取得する。従って、ノード装置から削除されるコンテンツが、システムへの貢献度が低いノード装置へ取得される。この結果、本来は削除されるコンテンツが空き容量に余裕がある貢献度の低いノード装置へ取得される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。
請求項10に記載の発明によれば、ノード情報取得ステップは、コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得する。コンテンツ送信ステップは、判定ステップが空き容量があるノード装置が存在すると判定したとき、空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得する。従って、ノード装置から削除されるコンテンツは、システムへの貢献度が低いノード装置が取得する。この結果、本来は削除されるコンテンツが空き容量に余裕がある貢献度の低いノード装置へ送信される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。
本実施形態のコンテンツ分散保存システムにおける各ノード装置Nnの接続態様の一例を示す図である。 ノードN2が保持するルーティングテーブルの一例を示す概念図である。 DHTのID空間の一例を示す概念図である。 コンテンツ分散保存システムSへの参加時におけるルーティングテーブルの生成手順の一例を示す概念図である。 各ノードNn間を転送するメッセージの様子を示す概念図である。 ノードN2が保持するインデックスキャッシュの一例を示す図である。 各ノードNn間を転送するパブリッシュメッセージの様子を示す概念図である。 ノード装置Nnの電気的構成を示す概念図である。 ノード装置Nnのメイン処理動作を示すフローチャートである。
以下、本発明の最良の実施形態を図面に基づいて説明する。
[コンテンツ分散保存システムの構成]
図1は、本実施形態のコンテンツ分散保存システムSを示す。コンテンツ分散保存システムSは、多数ノード装置Nn(n=1,2,3・・・の何れか)から構成される。
図1の下部枠101内に示すように、一般的なインターネット等のネットワーク8は、IX(Internet eXchange)3、ISP(Internet Service Provider)4a及び4b、DSL(Digital Subscriber Line)回線事業者の装置5a及び5b、FTTH(Fiber To The Home)回線事業者の装置6、通信回線7等によって構築されている。例えば、通信回線7は、電話回線や光ケーブル等である。なお、図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
ネットワーク8は、多数のノード装置Nn(n=1,2,3・・・の何れか)から構成される。多数のノード装置Nnは、ルータ等を介してインターネットで接続されている。また、各ノード装置Nnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。本実施形態のコンテンツ分散保存システムSは、ピアツーピア方式のネットワークシステムである。図1の上部枠100内に示すように、ピアツーピア方式のネットワークシステムは、これらのノード装置Nnのうち、何れか複数のノード装置Nnの参加により形成される。
なお、図1の上部枠100内に示すP2Pネットワーク9は、既存のネットワーク8を用いて形成されたP2Pネットワークである。P2Pネットワークは、図1の上部枠100内の複数のノード装置を仮想的にリンクさせることで構築される。P2Pネットワーク9は、オーバーレイネットワーク、または、論理的なネットワークである。P2Pネットワーク9は、特定のアルゴリズム、により構築される。例えば、特許文献の特開2006−197400に記載されたDHTを利用したアルゴリズムにより、P2Pネットワーク9は構築される。
そして、P2Pネットワーク9を構成している各ノード装置Nnには、ノードIDが割り当てられている。ノードIDは、所定桁数からなる固有の識別情報である。また、具体的には、各ノード装置Nnに個別に割り当てられたIPアドレス或いは製造番号を基に、ノードIDは生成される。ノードIDは、上述のIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、SHA−1等のハッシュ関数により、bit長が160bitのハッシュ値が生成される。各ノードIDは、ある一つのID空間に偏りなく分散して配置されることになる。
図1に示すように、コンテンツ分散保存システムSは、コンテンツ投入サーバCSを備える。コンテンツ投入サーバCSは、新しいコンテンツデータをコンテンツ分散保存システムS内に投入するためのサーバである。コンテンツ投入サーバCSは、コンテンツデータを複製したレプリカを、コンテンツ分散保存システムSに投入する。
コンテンツ分散保存システムSへの参加は、現在P2Pネットワーク9に参加していないノード装置Nnが、現在参加している任意のノード装置Nnへ参加要求を示す参加メッセージを送信する。参加メッセージを受信するノード装置は、コンテンツ分散保存システムSに常時参加しているノード装置である。本実施例では、常時参加しているノード装置をコンタクトノードとする。例えば、P2Pネットワーク9に参加していないノード装置がノード装置N8の場合、ノード装置N8は、コンテンツ分散保存システムSのコンタクトノードへ送信要求メッセージを送信する。コンタクトノードは、要求メッセージの送信元であるノード装置N8へP2Pネットワーク9に参加するために必要な情報を送信する。上述の必要な情報の詳細は後述する。
各ノード装置Nnは、特許文献1に記載のDHTを用いたルーティングテーブルを各ノード装置Nnの記憶手段に記憶している。ルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの送信先候補先を規定している。具体的には、ルーティングテーブルには、ノード情報が記載される。本実施形態では、ノード情報として、メッセージ送信先候補の「ノードID」と「IPアドレス及びポート番号」と「空き記録容量」とが記載される。メッセージ送信先候補の「ノードID」は、ID空間内で適度に離れたノードNnの「ノードID」である。メッセージ送信先候補の「IPアドレスまたはポート番号」は、ノードIDが示すノードのIPアドレス及びポート番号である。メッセージ送信先候補の「空き記録容量」は、コンテンツ及びレプリカを記憶する記憶手段の空き容量である。具体的には、空き容量は、コンテンツ記録手段の一例であるHD(Hard Disk)等によって構成される。
なお、「IPアドレスまたはポート番号」は、アドレス情報の一例である。「空き記録容量」は、記憶部の“空き記録容量を特定するための情報”の一例である。この記憶手段の“空き記録容量を特定するための情報”は、ノード装置Nnの記憶手段の空き記録容量を特定できる情報であれば、記憶部の空き記録容量そのものに限定されない。例えば、ノード装置Nnの装置としての総稼働時間を示す情報であっても良い。または、ノード装置Nnが過去にレプリカを取得した回数(ダウンロード回数)を示す情報であっても良い。または、ノード装置Nnが取得したレプリカを再生した回数(視聴回数)を示す情報であっても良い。または、ノード装置Nnが過去に他のノード装置Nn又はコンテンツ投入サーバCSから受けた保存指示の回数(事前配布回数)を示す情報であっても良い。または、ノード装置Nnがレプリカを他のノード装置Nnに利用可能とした回数(公開回数)を示す情報であってもよい。上述した総稼働時間は少ないほうが記憶部の空き記録容量が大きいと特定できる。ダウンロード回数、視聴回数等の回数はいずれも少ないほうが記憶部の空き記録容量が大きいものと特定することができる。
コンテンツ分散保存システムSに参加しているあるノード装置Nnのルーティングテーブルには、コンテンツ分散保存システムSに参加しているノード装置Nnの少なくとも一部のノード情報が記載される。特許文献1に記載のように、DHTテーブルにノード情報が記載されていないノード装置Nnは、各ノード装置Nn間で互いに各種メッセージを転送し合って届けてもらうようになっている。
本実施形態では、ルーティングテーブルを用いて、上述した他のノード装置Nnへ各種メッセージを送信、または転送するとき、メッセージの送信元、または転送元のノードNnの空き記録容量がメッセージに含まれて送信される。このメッセージを受信した各ノード装置Nnは、各ノード装置Nnが保持するルーティングテーブル及びインデックスキャッシュに受信したノード情報の登録及び更新を行う。このような構成により、各ノード装置Nnは、他のノード装置の空き記録容量を把握することができる。ルーティングテーブル及びインデックスキャッシュの登録及び更新を行う方法の詳細な説明は後述する。
[ルーティングテーブルの概要]
以下、コンテンツ分散保存システムSにおける各ノード装置Nnの機能を説明する。各ノード装置Nnが記憶する「ルーティングテーブル」について詳細に説明する。ここで、図2及び図3を参照して、ルーティングテーブルについて詳しく説明する。
図2は、ノードN2が保持するルーティングテーブルの一例を示す図であり、図3は、DHTのID空間の一例を示す概念図である。なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとしている。そのため、各桁は、2bitで表された4進数(0〜3の整数)で表されている。格桁を2bitよりも長いbit長を用いても良い。例えば、各桁を4bitで表して、0〜fの16進数で表現しても良い。
図2は、ノードN2のルーティングテーブルを示す概念図である。図2に示すように、ルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数レベルから構成される。各エリアには、ノード情報が登録される。ノード情報として、ノードIDと、ノードIDに対応するノード装置NnのIPアドレス及びポート番号と、ノードIDが示すノード装置Nnの記憶部の空き記録容量とが対応付けられて登録される。
各レベルにおける各エリアは、ノードID空間を分割することにより決定されるエリアである。図3は、ノードIDを用いて各エリアが決定される概念図である。ノードID空間は、各桁が4進数(0〜3の整数)で表される3桁の数字により構成される。図3に示すように、レベル1のエリアとして、ノードID空間が4つ(4進数のため)に分割される。具体的にレベル1のエリアは、0XXのエリアと1XXのエリアと2XXのエリアと3XXとのエリアに分割される。0XXのエリアは、“000”〜“033”のノードIDが存在するエリアである。1XXのエリアは、“100”〜“133”のノードIDが存在するエリアである。2XXのエリアは、“200”〜“233” のノードIDが存在するエリアである。3XXのエリアは、“300”〜“333” のノードIDが存在するエリアである。
また、レベル2では、レベル1のエリアが更に4つ(4進数のため)に分割される。つまり、0XX〜3XXの各エリアが更に4分割される。同様に、0XXのエリアと1XXのエリアと2XXのエリアと3XXのエリアとが夫々4分割される。例えば、1XXエリアの場合、“100”〜“103”のノードIDが存在するエリアが10Xのエリアとして分割される。また、“110”〜“113” のノードIDが存在するエリアが11Xのエリアとして分割される。“120”〜“123” のノードIDが存在するエリアが12Xのエリアとして分割される。“130”〜“133” のノードIDが存在するエリアが13Xのエリアとして分割される。
以降、ノードN2のノードIDが“122”の場合を例として説明する。図2に示すように、ルーティングテーブルのレベル1における1XXのエリアは、ノードN2のノードIDが存在するエリアである。そのため、レベル1の1XXのエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、記憶部の空き記録容量とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と空き記録容量とを登録したが、IPアドレスまたはポート番号、空き記録容量はノードN2自身のものであるので、登録されなくても良い。ノードN2のノードIDが存在しないエリアには、夫々、他の任意のノード装置NnのノードIDと、IPアドレスまたはポート番号と空き記録容量と等が登録されている。ノードN2のノードIDが「122」の場合、ノードN2のノードIDが存在しないエリアは、0XXのエリアと、2XXのエリアと、3XXのエリアとである。
また、ルーティングテーブルのレベル2における12Xのエリアは、ノードN2のノードIDが存在するエリアである。そのため、レベル2の12Xのエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、記憶部の空き記録容量とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と空き記録容量とを登録したが、IPアドレスまたはポート番号、空き記録容量はノードN2自身のものであるので、登録されなくても良い。ノードN2のノードIDが存在しないエリアには、レベル1と同様に、他の任意のノード装置NnのノードIDと、IPアドレスまたはポート番号と空き記録容量と等が登録されている。
更に、ルーティングテーブルのレベル3には、図2に示すように、ノードIDが“120”〜“122”である。そのため、レベル3の122のエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、記憶部の空き記録容量とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と空き記録容量とを登録したが、IPアドレスまたはポート番号、空き記録容量はノードN2自身のものであるので、登録されなくても良い。
なお、図2及び図3の例では、ノードIDのbit長は3桁×2bitである。例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる。図2及び図3に示すように、本実施形態におけるルーティングテーブルでは、レベルの数値が大きくなるほど、エリアが狭まっていく。そして、このようなルーティングテーブルは、例えば、未参加のノードがコンテンツ分散保存システムSに参加する際に生成される。ここで、図4を参照して、コンテンツ分散保存システムSへの参加時におけるルーティングテーブルの生成手順について詳しく説明する。
図4は、コンテンツ分散保存システムSへの参加時におけるルーティングテーブルの生成手順の一例を示す概念図である。以降、未参加のノードN8がコンテンツ分散保存システムSに参加する例を用いて説明する。ノードN8のノードIDは“123”とする。
図4に示すように、未参加のノードN8がコンテンツ分散保存システムSに参加する場合、コンタクトノードのIPアドレスを用いてコンタクトノードに参加メッセージを送信する。参加メッセージは、前記ノードN8のノード情報を含む。コンタクトノードにメッセージを送信するためのIPアドレスを、ノード装置Nnが事前に知っているものとする。例えば、P2Pネットワークに参加するために必要なソフトウェアをダウンロードするときに、コンタクトノードのIPアドレスは配布される。参加メッセージを受信したコンタクトノードは、コンタクトノードのルーティングテーブルを参照する。具体的には、ルーティングテーブルにおけるレベル1のテーブルに登録されているノード情報が参照される。レベル1のテーブルに登録されているノード情報を含む返信メッセージを、コンタクトノードはノードN8へ返信する。さらにコンタクトノードは、受信された参加メッセージに含まれるノードIDと、ルーティングテーブルに登録された他のノードNnのノードIDとを比較する。比較結果に基づいてルーティングテーブルから一つのノードNnが選定される。例えば、参加メッセージに含まれるノードIDと最も近いノードIDであるノードN35が、選定される。最も近いノードIDは、上位桁がより多く一致するID、または、比較されるノードIDとの差が最も小さいIDである。選定されたノード装置が、ノード装置N2である例を用いて説明する。このとき、参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。上記例では、レベル2が参加メッセージに含められる。
参加メッセージを受信したノードN35は、ノードN35のルーティングテーブルのレベル2のテーブルに登録されているノード情報等を含む返信メッセージを、ノードN8に対して返信する。更に、ノードN35は、ルーティングテーブルから選定されたノードN2へ、上記参加メッセージを転送する。このとき、参加メッセージには、次に返信させるべきテーブルの段数として、レベル3を示す情報が含められる。
参加メッセージを受信したノードN2は、ノードN2のルーティングテーブルにおけるレベル3のテーブルに登録されているノード情報等を含む返信メッセージを、ノードN8に対して返信する。以上のようにして参加メッセージは、ノードIDをキーとしてDHTルーティング基いて転送される。そのため、未参加のノードN8のノードIDに一番近いノードIDを有するノードNnまで転送される。
そして、ノードN8は、各ノードNnから受信した返信メッセージに含まれるノード情報を用いてルーティングテーブルを生成する。具体的には、コンタクトノードから送信されたノード情報が、ノードN8のルーティングテーブルのテーブル1に登録される。ノードN35から送信されたノード情報が、ノードN8ルーティングテーブルのレベル2に登録される。ノードN2から送信されたノード情報が、ノードN8のルーティングテーブルのレベル3に登録される。
こうして、ノードN8は、コンテンツ分散保存システムSへの参加が完了することになる。
本実施形態では、上述したような参加メッセージや、後述するクエリ等の各種メッセージは、メッセージの送信元、または、転送元のノード装置Nnのノード情報を含む。そのため、メッセージを受信したノード装置Nnは、ノード装置Nnのルーティングテーブルにメッセージに含まれるノード情報を登録及び更新する。
図5は各ノード装置Nn間を転送するメッセージの様子を示す概念図である。具体的には、図5は、ノードN8からの参加メッセージがノードN31、ノードN35、ノードN2間を転送する概念図である。
各ノード装置Nn間を転送するメッセージは、メッセージ送信元のノードIDと、メッセージの内容と、送信元のノードNnのノード情報とを含む。メッセージ送信元のノードIDは、メッセージを送信した送信元のノードNnのノードIDである。メッセージの内容は、メッセージの目的を表す「参加」、「パブリッシュ」、「クエリ」等である。送信元のノードNnのノード情報は、メッセージを送信または転送してきた送信元または転送元のノードNnのノード情報である。具体的には、ノード情報は、送信元または転送元のノードNnのノードIDと、IPアドレスまたはポート番号と、記憶手段の空き記録容量とを含んで構成される。なお、“メッセージの内容”は、参加メッセージの場合、テーブルの登録情報の返信を要求する旨の情報等が含まれている。また、パブリッシュ(登録)メッセージ又はクエリの場合、パブリッシュ(登録)やクエリ(要求)の対象となるコンテンツのコンテンツIDが含まれている。
図5に示す例の場合、ノードN35は、コンタクトノードのノードN31から参加メッセージを受信して、参加メッセージに含まれる送信元または転送元のノードN31のノード情報をノードN35のルーティングテーブルに登録する。このとき、ノードN35のルーティングテーブルにノードN31のノード情報が既に登録されている場合、登録済みノードN31のノード情報は、受信したノード情報に基づいて更新される。
同様に、ノードN35から参加メッセージを受信したノードN2は、参加メッセージに含まれる送信元または転送元のノードN35のノード情報をノードN2のルーティングテーブルに登録、或いは更新する。
以上の手順に従い、ルーティングテーブルは、ノード情報を登録、または、更新する。従って、ルーティングテーブルに登録されているノードNnの記憶手段の空き記録容量を取得することができる。また、ルーティングテーブルの空き記録容量を常に最新の状態に保つことができる。
[インデックスキャッシュ]
コンテンツ分散保存システムSにおいては、内容の異なる様々なコンテンツのレプリカが所定のファイル形式で複数のノード装置Nnに分散して保存されている。コンテンツは、映画及び動画、または、音楽などである。各ノード装置Nn間でレプリカが送受信可能になっている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されているとする。一方、ノード装置N3には、タイトルがYYYの映画のコンテンツのレプリカが保存されているとする。上述したように、複数のノード装置Nnは、複製されたレプリカを記憶している。以下、コンテンツを記憶したノード装置Nnは、「コンテンツ保持ノード」という。
これらコンテンツのレプリカには、夫々、コンテンツ名(タイトル)と、コンテンツIDとを含む情報が付与されている。コンテンツ名は、コンテンツのタイトルであっても良い。また、コンテンツIDは、コンテンツ毎に固有のコンテンツ識別情報である。例えば、コンテンツIDは、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。そのため、コンテンツIDは、ノードIDと同一のID空間に配置されることとなる。或いは、システム管理者が、コンテンツ毎に一意のID値を付与しても良い。ID値は、ノードIDと同一ビット長でも良い。コンテンツ名とそのコンテンツIDとの対応が書かれたコンテンツカタログリストが、全ノードNnに配布される。コンテンツカタログリストには、コンテンツ名と、コンテンツIDと、そのコンテンツIDが表すレプリカの公開開始日時及び公開終了日時とが対応付けられて記載されている。尚、コンテンツカタログリストの詳細は、特開2008−129694号公報に記載されているため、詳細な説明は省略する。
上述のように分散保存されているレプリカの所在は、インデックス情報により管理される。インデックス情報は、レプリカが保存されたノード装置Nnのノード情報と、レプリカのコンテンツIDとを組み合わせた情報から構成される。インデックス情報は、レプリカの所在を管理しているノードNnにより記憶される。レプリカの所在を管理しているノードを「ルートノード」とする。つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。
例えば、タイトルがXXXの映画のコンテンツのレプリカについてのインデックス情報は、レプリカのコンテンツIDのルートノードであるノードN4により管理される。タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、レプリカのコンテンツIDのルートノードであるノードN7により管理される。例えば、このようなルートノードには、コンテンツIDと最も近いノードIDを有するノードNnが選定される。例えば、コンテンツIDと最も近いとは、上位桁がより多く一致する、または、比較結果の差が最も小さいことである。
図6は、ノードN2が保持するインデックスキャッシュの一例を示す概念図である。ノードN2は、コンテンツ1、コンテンツ2、コンテンツ3・・・・を保存しているコンテンツ保持ノードのノード情報を登録し管理している。ノードN2は、コンテンツ1、コンテンツ2、コンテンツ3・・・・のルートノードである。ノードN2は、図6に示すコンテンツ保持ノードNnから後述するパブリッシュ(登録)メッセージを受信する。そして、ノードN2は、パブリッシュメッセージに含まれるコンテンツIDとノード情報とをインデックス情報としてインデックスキャッシュに登録する。
あるノード装置Nnのユーザが、所望するコンテンツのレプリカを取得したい場合、レプリカの取得を望むノード装置Nnは、コンテンツ所在問合せメッセージ(クエリ)を生成する。ユーザがレプリカの取得を望むノード装置Nnを、ユーザノードとする。クエリは、コンテンツのコンテンツIDとユーザノードのIPアドレスとを含む。クエリに含まれるコンテンツIDは、ユーザによりコンテンツカタログリストから選択されたコンテンツのコンテンツIDである。
ユーザノードは、ユーザノードのルーティングテーブルにしたがって他のノードNnへクエリを送信する。つまり、ユーザノードは、クエリをルートノードに向けて送信する。これにより、コンテンツIDをキーとして、クエリは、DHTルーティングによって最終的にルートノードに到着することになる。なお、このDHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
各ノード装置Nnにおいてユーザにより選択される情報は、コンテンツカタログリストに記述されている。コンテンツカタログリストには、コンテンツのコンテンツ名と、コンテンツIDと、公開日時等の属性情報とが記載される。また、クエリに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
クエリを受信したルートノードは、クエリに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得する。取得されたインデックス情報は、クエリの送信元であるユーザノードへ返信される。こうしてインデックス情報を取得したユーザノードは、取得したインデックス情報からコンテンツ保持ノードのIPアドレスを知ることができる。取得したコンテンツ保持ノードのIPアドレスに基づいて、ユーザノードは、コンテンツ送信要求メッセージを送信する。そして、ユーザノードは、コンテンツ保持ノードからからコンテンツのレプリカを取得(ダウンロード)することができる。レプリカを取得するとき、レプリカのコンテンツIDとレプリカの評価値とが、レプリカと共に取得される。
そして、コンテンツ保持ノードから取得したコンテンツのレプリカをユーザノードは、ハードディスク等の記憶手段に保存する。レプリカを保存したユーザノードは、レプリカを保存したことをそのルートノードに知らせる。レプリカを保存したことを知らせるために、ユーザノードは、レプリカのコンテンツIDとユーザノードのノード情報とが含まれるパブリッシュ(登録)メッセージを生成する。生成されたパブリッシュメッセージは、ユーザノードからルートノードに向けて送信される。パブリッシュメッセージが送信されることで、コンテンツ分散保存システムSに参加している他のノード装置Nnは、レプリカを取得したユーザノードからもレプリカを取得(ダウンロード)することができる。
上述の方法により、パブリッシュメッセージは、クエリと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、受信したパブリッシュメッセージに含まれるユーザノードのノード情報とレプリカのコンテンツIDの組を含むインデックス情報を登録することができる。こうして、上記ユーザノードは、新たに、コンテンツのレプリカを保持するコンテンツ保持ノードとなる。なお、上記パブリッシュメッセージに含まれるユーザノード装置のノード情報と、コンテンツIDとの組であるインデックス情報は、ルートノードに至るまでの転送経路におけるノード装置Nnにおいても登録される。
図7は各ノード装置Nn間を転送するパブリッシュメッセージの様子を示す概念図である。図7は任意のコンテンツのレプリカを保存したノードN1からのパブリッシュメッセージが送信される例である。送信されたパブリッシュメッセージは、ノードN7、ノードN29、ノードN2間へ転送される。パブリッシュメッセージには、パブリッシュメッセージを送信した送信元のノード装置Nnのノード情報と、コンテンツIDと、パブリッシュメッセージを転送してきた転送元のノード装置Nnのノード情報とを含んで構成される。そしてパブリッシュメッセージの転送経路のノード装置Nnにおいて、送信元のノード装置Nnのノード情報はインデックスキャッシュに登録される。転送元のノードNnのノード情報はルーティングテーブルに登録される。
図7に示す例の場合、任意のコンテンツを保持したノードN1から、パブリッシュメッセージを受信したノードN7は、送信元のノードN1のノード情報をノードN7のインデックスキャッシュに登録する。このとき、ノードN1のノード情報が既にインデックスキャッシュに登録されている場合、登録済みのノード情報に基づいて更新する。そして、ノードN7からパブリッシュメッセージを受信したノードN29は、パブリッシュメッセージに含まれる送信元のノードN1のノード情報をノードN29のインデックスキャッシュに登録、または、更新する。
また、ノードN29は、パブリッシュメッセージに含まれる送信元のノードN7のノード情報をノードN29のルーティングテーブルに登録する。このとき、ノードN7のノード情報が既にルーティングテーブルに登録されている場合、登録済みのノード情報は、受信したノード情報に基づいて更新される。
そして、ノードN29からパブリッシュメッセージを受信したノードN2は、送信元のノードN1のノード情報をノードN2のインデックスキャッシュに登録又は、更新する。送信元のノードN29のノード情報は、ノードN2のルーティングテーブルに登録又は、更新される。
図6に示す例の場合、ノードN2はインデックスキャッシュに、コンテンツ1を保存しているノードN1とN14とN21とN11との空き記録容量を記憶している。また、ノードN2は、コンテンツ2を保存しているノードN35の空き記憶容量を記憶している。同様にノードN2は、コンテンツ3を保存しているノードN32とN22とN5との記憶部の空き記録容量を記憶している。図7を用いて説明した手順に従い、インデックスキャッシュのノード情報を登録、または、更新するので、インデックスキャッシュに登録されているノードNnの記憶部の空き記録容量を常に最新の状態に保つことができる。
[コンテンツ投入サーバCSの概要]
次に、コンテンツ投入サーバCSについて説明する。
コンテンツ投入サーバCSが、コンテンツ分散保存システムSの任意のノードNnへレプリカの保存指示を行なう。レプリカの保存指示は、保存されるレプリカの記憶容量を含む指示である。保存指示を受けたノードNnが他のノード装置Nnに対して保存指示を繰り返し行なう。繰り返し行うことにより、コンテンツ保存分散システムS内にてレプリカの事前保存が行なわれる。
なお、本実施形態では、コンテンツ投入サーバCSがコンテンツのレプリカの保存を指示するとき、保存指示と共にコンテンツのレプリカが保存先のノード装置Nnに共に送信される。いわゆる「プッシュ式」のコンテンツ保存が行なわれる。
コンテンツ投入サーバCSは、ランダムに選択した任意台数のノードNnへレプリカの保存を指示するよう構成してもよい。コンテンツ分散保存システムSに参加するノード装置Nnの中から、任意台数のノード装置Nnがランダムに選択される。レプリカの保存指示が送信されるノードNnの決定方法は上記の方法に特に限定されない。
コンテンツ投入サーバCSから送信されたレプリカは、所定のノード装置Nnに保存される。レプリカを保存したコンテンツ事前保持ノードは、コンテンツ保持ノードのルーティングテーブルに基いて、他のノードNnへレプリカの保存を指示する。
[ノード装置の電気的構成]
次に、図8を参照して、ノードNnの電気的構成ついて説明する。
図8は、本実施形態のノード装置Nnの電気的構成を示すブロック図である。図8に示すように、第1の実施形態のノード装置Nnには、ノード装置Nnを制御するCPU11が備えられている。CPU11には、RAM12とHDD13とデコーダ部14と通信部19と入力部20とがそれぞれ電気的に接続されている。RAM12、HDD13などの記憶手段とCPU11とは、ノード装置Nnのコンピュータを構成している。そのコンピュータは、ノード装置Nnの動作を制御処理する。
RAM12は、各種メッセージ一時記憶領域121を含む。各種メッセージ一時記憶領域121は、ノード装置Nnが受信した各種メッセージを一時記憶する。例えば、参加メッセージやクエリ等である。
HDD13は、プログラム記憶領域131とレプリカ記憶領域133と、インデックスキャッシュ記憶領域134と、ルーティングテーブル記憶領域135と、コンテンツカタログリスト記憶領域を含む。プログラム記憶領域131は、メイン動作プログラム記憶領域132を含む。メイン動作プログラム記憶領域132は、ノード装置Nnを制御するためのプログラム情報を記憶する。レプリカ記憶領域133は、コンテンツ投入サーバCSまたは他のノード装置Nnから送信されたレプリカを記憶する。レプリカ記憶領域133は、記憶するレプリカの評価値を、レプリカと対応付けて記憶する。インデックスキャッシュ記憶領域134は、上述したインデックスキャッシュを記憶する。ルーティングテーブル記憶領域135は、上述したDHTルーティングテーブルを記憶する。コンテンツカタログリスト記憶領域136は、上述したコンテンツカタログリストを記憶する。レプリカ記憶領域133は、本発明の記憶手段の一例である。本実施形態のインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とは、本発明のノード情報取得手段の一例である。
デコーダ部14は、映像情報と音声情報とをデコードする。本実施形態のデコードは、エンコード化された映像情報と音声情報とを、データ伸張または復号化することである。映像情報と音声情報とは、コンテンツデータのレプリカに含まれる。
映像処理部15は、デコードされた映像情報に所定の描画処理を施して映像信号を出力する。
ディスプレイ16は、映像処理部15から出力された映像信号に基づいて映像表示する。ディスプレイ16は、CRTディスプレイ、または、液晶ディスプレイにより構成される。
音声処理部17は、上記デコードされた音声情報をアナログオーディオ信号にD(Digital)/A(Analog)変換する。
スピーカ18は、変化されたアナログオーディオ信号を、アンプにより増幅して出力する。
通信部19は、ノード装置Nnをインターネットと接続する。通信部19は、ネットワーク8を介して他のノード装置Nnまたはコンテンツ投入サーバCSと情報の送受信を行う。
入力部20は、ユーザからの指示を受け付ける。入力部20は、キーボード、マウス、或いは、操作パネル等から構成される。なお、ノード装置Nnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
また、コンテンツ分散保存システムSが、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードを備えている場合、各ノード装置NnのHDD13にはコンタクトノードのIPアドレスまたはポート番号等が記憶されている。なお、HDD13に記憶されるプログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよい。また、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
各種メッセージを他のノードNnに送信、または、転送する際、CPU11は、HDD13の空き記録容量を取得する。例えば、HDD13のレプリカ記憶領域133に使用されるハードディスクの記憶領域の全容量と、既に使用している使用容量とが求められる。全容量から使用容量を減算することで、空き記録容量が求められる(空き記録容量=全容量―使用容量)。また、空き記録容量として、上述のように減算せず、全容量と使用容量との比率が用いられても良い。上述の全容量または使用量として、レプリカ記憶領域133の記憶容量が用いられても良い。
[ノード装置Nnのメイン処理動作]
以上説明した構成からなる本実施形態のノード装置Nnの動作及び作用について、添付図面を参照して説明する。図9は、ノード装置Nnにおける動作の処理手順を示すフローチャートである。ノード装置Nnのメイン処理動作は、上述したP2Pネットワークへの参加処理が終了した後に、CPU11がメイン処理動作プログラムを実行することにより、遂行される。以下に示す処理は、CPU11により処理される。P2Pネットワークへの参加処理が実行されたノード装置Nnは、他のノード装置、または、コンテンツ投入サーバCSからコンテンツカタログリストを取得する。取得されたコンテンツカタログリストは、コンテンツカタログリスト記憶領域136に記憶される。
ステップS101では、新規に参加するノード装置があるか否かが判定される。新規にノード装置が参加したかは、参加メッセージを受信したか否かによって判定される。参加メッセージは、各種メッセージ一時記憶領域121に記憶される。新規参加ノードありと判定された場合、ステップS116が実行される。新規参加ノードがないと判定された場合、ステップS102が実行される。本発明のコンピュータと、ステップS101とは、本発明の参加手段の一例である。
ステップS102では、ノード装置Nnが、ノード装置Nnとは異なる他のノード装置Nnまたはコンテンツ投入サーバCSから、レプリカ保存指示を受信したかが判定される。レプリカ保存指示は、保存されるレプリカの記憶容量を含む。レプリカ保存指示を受信したと判定した場合、ステップS103が実行される。レプリカ保存指示を受信したと判定されなかった場合、ステップS106が実行される。
ステップS103では、レプリカを保存可能な記憶容量があるか否かが判定される。ステップS102で受信した保存指示に含まれる記憶容量と、ノード装置Nnの空き記録容量とが比較される。比較した結果、ノード装置Nnの空き記録容量が、保存指示に含まれる記憶容量よりも大きいと判定された場合、ステップS104が実行される。ノード装置Nnの空き記録容量が、保存指示に含まれる記憶容量よりも大きいと判定されなかった場合、ステップS111が実行される。
ステップS104では、ステップS102で保存指示されたレプリカが、レプリカ記憶領域133に記憶される。
ステップS105では、ステップS104でレプリカを記憶したノードNnが、パブリッシュメッセージをDHTルーティングテーブルに基いて送信する。パブリッシュメッセージを受信した各ノード装置Nnは、インデックスキャッシュ記憶領域134に記憶されたインデックスキャッシュをパブリッシュメッセージに基づいて、登録、または、更新する。
ステップS106では、ノード装置Nnのユーザにより所定の指示が入力部20により入力されたかが判定される。ユーザにより所定の指示があると判定された場合、ステップS107が実行される。ユーザにより所定の指示がないと判定された場合、ステップS111が実行される。
ステップS107では、ユーザによる所定の指示が、所定のレプリカのダウンロード指示であるか否かが判定される。所定のレプリカのダウンロード指示であると判定された場合、ステップS108が実行される。所定のレプリカのダウンロード指示であると判定されなかった場合、ステップS110が実行される。
ステップS108では、ステップS107で指示された所定のレプリカのコンテンツ所在問い合わせメッセージ(クエリ)が送信される。コンテンツ所在問い合わせメッセージ(クエリ)は、上述したレプリカの所在を問い合わせるメッセージである。
ステップS109では、ステップS108で送信したクエリに基づいて、ステップS107で指示された所定のレプリカがダウンロードされる。
ステップS110では、その他の指示が実行される。その他の指示とは、ステップS107のダウンロード指示とは異なる指示である。その他の指示もダウンロード指示と同様に、ノード装置Nnのユーザが入力部20により入力する。
ステップS111では、ノード装置NnのHDD12に所定の容量以上の空き記録容量があるか否かが判定される。所定の容量以上の空き記録容量があると判定された場合、ステップS119が実行される。所定の容量以上の空き記録容量がないと判定された場合、ステップS112が実行される。
ステップS112では、レプリカ記憶領域133に記憶された複数のレプリカの中から、削除されるレプリカが決定される。レプリカ記憶領域133に記憶された各レプリカの中で、公開時期が過ぎたレプリカが削除される。また、レプリカ記憶領域133に記憶されたレプリカの中で、評価値が悪いレプリカが削除される。ステップS112では、公開時期が過ぎたレプリカのみが削除されても良い。また、評価値が悪いレプリカのみが削除されても良い。また、公開時期が過ぎたレプリカと、評価値が悪いレプリカとの両方が削除されても良い。削除されるレプリカの数は、1個であってもよいし、複数であっても良い。公開時期が過ぎたレプリカか否かは、コンテンツカタログリスト記憶領域136に記憶されたコンテンツカタログリストの公開終了日時によって判定される。また、評価値が悪いか否かは、レプリカ記憶領域133に記憶されたレプリカの評価値に基づいて判定される。本実施形態のコンピュータとステップS112は、本発明の公開時期判定手段の一例である。
ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置Nnの中で、空き記録容量が所定値以上であるノード装置があるかが判定される。図2または図6に示す各ノード装置Nnの空き記録容量が、所定値以上のノード装置があると判定された場合、ステップS114が実行される。所定値以上の空き記録容量があるノード装置がないと判定された場合、ステップS115が実行される。具体的には、ステップS112で削除が決定されたレプリカの記憶容量より大きい空き記録容量のノード装置があるか否かが判定される。図2に示すルーティングテーブル、または、図6に示すインデックスキャッシュの中から、所定値以上の空き記録容量のノード装置Nnが決定される。ステップS113では、図2に示すルーティングテーブルのみが参照されても良い。また、ステップS113では、図6に示すインデックスキャッシュのみが参照されても良い。図2に示すルーティングテーブルと図6に示すインデックスキャッシュとの両方が参照されても良い。本実施形態のコンピュータと、ステップS113でHDD13に記憶されたルーティングテーブルとインデックスキャッシュとを参照する処理は、本発明のノード情報取得手段の一例である。ステップS113でHDD13に記憶されたルーティングテーブルとインデックスキャッシュとを参照する処理は、本発明のノード情報取得ステップの一例である。本実施形態のコンピュータとステップS113とは、本発明の判定手段の一例である。また、本実施形態のステップS113は、本発明の判定ステップの一例である。
ステップS114では、ステップS112で削除が決定されたレプリカが、ステップS113で決定されたノード装置Nnへ送信される。具体的には、ステップS112で削除されるレプリカの数が1個の場合、ステップS113で決定されたノード装置の中から、空き記録容量が最大のノード装置へ、削除されるレプリカが送信される。また、ステップS112で削除されるレプリカの数が複数個の場合、ステップS113で決定されたノード装置の中から、空き記録容量が多いノード装置から順にレプリカが送信される。本実施形態のコンピュータとステップS114とは、本発明のコンテンツ送信手段の一例である。また、本実施形態のステップS114は、本発明のコンテンツ送信ステップの一例である。
ステップS115では、ステップS112で削除が決定されたレプリカが、レプリカ記憶領域133から削除される。本実施形態のコンピュータと、ステップS115とは、本発明の削除手段の一例である。また、ステップS115は、本発明の削除ステップの一例である。
ステップS116では、ステップS112と同様の方法で、削除されるレプリカが決定される。
ステップS117では、新規ノード装置に所定の容量以上の空き記録容量があるか否かが判定される。具体的には、参加メッセージに含まれた空き記録容量が、所定の空き容量以上であるかが判定される。参加メッセージに含まれた空き記録容量は、参加メッセージとともに、各種メッセージ一時記憶領域121に記憶される。新規ノード装置に所定の容量以上の空き記録容量があると判定された場合、ステップS118が実行される。新規ノード装置に所定の容量以上の空き記録容量がないと判定された場合、ステップS119が実行される。具体的には、ステップS116で削除が決定されたレプリカの記憶容量より大きい空き記録容量であるか否かが判定される。
ステップS118では、ステップS116で削除が決定されたコンテンツが新規ノード装置へ送信される。
ステップS119では、ノード装置Nnに備えられた電源OFFボタンが操作されたかが判定される。電源OFFボタンが操作された場合、メイン処理動作は終了される。操作されなかった場合、ステップS101が再度実行される。ステップS119では、電源OFFボタンの操作の代わりに、P2Pネットワーク9からの離脱指示により判定されても良い。離脱指示は、ノード装置Nnのユーザにより入力される。また、離脱指示はノード装置Nnから自動で発生されても良い。離脱指示があった場合、メイン処理動作は終了される。離脱指示がなかった場合、ステップS101が再度実行される。
(変形例1)
本実施形態のメイン処理動作のステップS113の変形例1について説明する。本実施形態では、ルーティングテーブルまたはインデックスキャッシュに基いて、空き記録容量があるノード装置が決定されている。変形例1では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、所定のタイミングで、P2Pネットワーク9に参加するノード装置Nnが互いに空き記録容量を送受信し合うようにしても良い。この場合、各ノード装置Nnは、受信した空き記録容量と空き記録容量が送られてきた送信元のノードIDとを対応付けて記憶する。また、P2Pネットワークに参加する全てのノード装置Nnから空き記録容量が送受信されても良い。P2Pネットワークに参加する一部のノード装置Nnから空き記録容量が送受信されても良い。
(変形例2)
本実施形態のRAM12とHDD13との変形例2について説明する。本実施形態では、レプリカ記憶領域133とインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とコンテンツカタログリスト記憶領域136とがHDD13に記憶されている。変形例2では、レプリカ記憶領域133とインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とコンテンツカタログリスト記憶領域136とがRAMに記憶されても良い。レプリカ記憶領域133とインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とコンテンツカタログリスト記憶領域136とは、HDDまたはRAMのいずれに記憶されても良い。また、RAM12の各種メッセージ一時記憶領域121についても同様に、RAMまたはHDDのいずれに記憶されても良い。
(変形例3)
本実施形態のメイン処理動作のステップS112の変形例3について説明する。変形例3では、ステップS112で削除が決定されたレプリカの数が複数個ある場合、ステップS113では、削除が決定された複数のレプリカの総記憶容量より大きい空き記録容量があるノード装置があるか否かが判定されても良い。また、決定された複数のレプリカ個々が、記憶可能な空き記録容量を持つ複数のノード装置があるか否かが判定されても良い。例えば、ステップS112で削除されるレプリカの数が、ステップS113で決定されたノード装置の数よりも大きい場合、削除されるレプリカの中から、記憶容量が大きいレプリカから順に、ノード装置の数のレプリカが選択される。選択されたレプリカが、ステップS113で決定された各ノード装置へ夫々送信されても良い。尚、この場合、ステップS113で決定され、且つ、各ノード装置へ送信されたレプリカが、レプリカ記憶領域から削除される。送信されなかったレプリカはレプリカ記憶領域から削除されない。
(変形例4)
本実施形態のメイン処理動作のステップS113の変形例4について説明する。本実施形態では、ルーティングテーブルまたはインデックスキャッシュに基いて、空き記録容量があるノード装置が決定されている。変形例4では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、マルチキャストにより、各ノード装置Nnに空き記録容量があるかを検索するメッセージが、P2Pネットワーク9に参加する各ノード装置Nnへ送信されても良い。この場合、記録容量の検索メッセージを受信した各ノード装置Nnは、所定の空き記録容量があるかを判別する。判別した結果、空き記録容量があると判別されたノード装置Nnが、メイン動作のステップS112で削除されるコンテンツを取得、または、ダウンロードを行っても良い。また、判別した結果、空き記録容量があると判別されたノード装置Nnが空き記録容量がある旨のメッセージを、上述の検索メッセージを送信したノード装置へ送信しても良い。この場合、上述の検索メッセージの送信元のノード装置が、空き記録容量がある旨のメッセージを送信したノード装置へ、削除するコンテンツを送信しても良い。
(変形例5)
本実施形態のメイン処理動作のステップS113の変形例5について説明する。ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置の中で、空き記録容量が所定値以上であるノード装置があるかが判定されている。変形例5では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、各ノード装置Nnの空き記録容量を管理する管理サーバがP2Pネットワーク9内に設置されても良い。メイン処理動作のステップS112で削除されるコンテンツが決定されたとき、所定の空き記録容量があるノード装置があるかを検索するために、管理サーバにより管理された各ノード装置Nnの空き記録容量が参照されても良い。管理サーバは、ログとして各ノード装置Nnの記憶手段の空き記録容量を記憶する。各ノード装置Nnは、所定の周期ごとに、上述した記憶手段の空き記録容量を管理サーバへログとして送信する。また、記憶手段の空き記録容量の代わりに、ノード装置の総稼動時間が、空き記録容量として用いられても良い。
(変形例6)
本実施形態のメイン処理動作のステップS113の変形例6について説明する。ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置の中で、空き記録容量が所定値以上であるノード装置があるかが判定されている。変形例6では、ルーティングテーブルまたはインデックスキャッシュを用いて、各ノード装置Nnに所定の空き記録容量があるか否かを問い合わせるメッセージが送信されても良い。この場合、ルーティングテーブルまたはインデックスキャッシュには、ノード装置の空き記録容量は記憶されない。所定の空き記録容量があるか否かを問い合わせるメッセージを受信したノード装置は、所定の空き記録容量があるかを判別する。判別した結果、空き記録容量があると判別されたノード装置が、メイン動作のステップS112で削除されるコンテンツを取得、または、ダウンロードを行っても良い。また、判別した結果、空き記録容量があると判別されたノード装置が空き記録容量がある旨のメッセージを、上述の検索メッセージを送信したノード装置へ送信しても良い。この場合、上述の検索メッセージの送信元のノード装置が、空き記録容量がある旨のメッセージを送信したノード装置へ、削除するコンテンツを送信しても良い。
(変形例7)
本実施形態のメイン処理動作のステップS113の変形例7について説明する。ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置の中で、空き記録容量が所定値以上であるノード装置があるかが判定されている。変形例7では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、各ノード装置に空き記録容量があるかを検索するメッセージが、P2Pネットワーク9に参加するノード装置へランダムに送信されても良い。この場合、ランダムに選択されて、記録容量の検索メッセージを受信したノード装置は、所定の空き記録容量があるかを判別する。判別した結果、空き記録容量があると判別されたノード装置が、メイン動作のステップS112で削除されるコンテンツを取得、または、ダウンロードを行っても良い。また、判別した結果、空き記録容量があると判別されたノード装置が空き記録容量がある旨のメッセージを、上述の検索メッセージを送信したノード装置へ送信しても良い。この場合、上述の検索メッセージの送信元のノード装置が、空き記録容量がある旨のメッセージを送信したノード装置へ、削除するコンテンツを送信しても良い。空き記録容量があるノード装置が見つかるまで、繰り返しノード装置がランダムに選択されても良い。
(変形例8)
本実施形態の変形例8について説明する。本実施形態では、空き記録容量として、各ノード装置Nnの記憶手段の空き記録容量が用いられている。変形例8では、各ノード装置Nnの記憶手段の空き記録容量の代わりに、ノード装置がP2Pネットワーク9に参加した参加時期が空き記録容量として用いられても良い。この場合、参加時期が早いノード装置はP2Pネットワーク9に参加していることで、記憶手段にレプリカが多く保存されていると推定される。また、参加時期が遅いノード装置はP2Pネットワーク9に参加しているが、まだ記憶手段にレプリカが多く保存されていないと推定される。空き記録容量としての参加時期を管理する管理サーバが、P2Pネットワーク9内に設置されても良い。本実施形態のメイン処理動作のステップS113で、ルーティングテーブルまたはインデックスキャッシュを参照する代わりに、上述の管理サーバに問い合わせても良い。また、ルーティングテーブルまたはインデックスキャッシュに参加時期が記載されても良い。
(変形例9)
本実施形態では、ルーティングテーブルとしてDHTを用いたルーティングテーブルが用いられている。変形例9では、DHT以外のルーティングテーブルが用いられている。
3 IX
4a、4b ISP
5a、5b DSL回線業者装置
6 FTTH回線事業者装置
7 回線速度
8 ネットワーク
9 P2Pネットワーク(オーバーレイネットワーク)
11 CPU
12 RAM
13 HDD
14 デコーダ部
15 映像処理部
16 ディスプレイ
17 音声処理部
18 スピーカ
19 通信部
20 入力部
121 各種メッセージ記憶一時記憶領域
131 プログラム記憶領域
132 メイン動作プログラム記憶領域
133 レプリカ記憶領域
134 インデックスキャッシュ記憶領域
135 ルーティングテーブル記憶領域
136 コンテンツカタログリスト記憶領域
S コンテンツ分散保存システム
Nn ノード
CS コンテンツ投入サーバ

Claims (10)

  1. ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、
    前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、
    前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、
    前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、
    前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、
    前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置へ前記削除手段により削除されるコンテンツデータを送信するコンテンツ送信手段と、
    を備えることを特徴とするノード装置。
  2. 前記コンテンツ送信手段は、前記削除手段により削除されるコンテンツを前記空き容量が最大のノード装置へ送信することを特徴とする請求項1に記載のノード装置。
  3. 前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルを取得するルーティングテーブル取得手段と、
    前記削除手段により前記コンテンツデータが削除されるとき、前記ルーティングテーブルに従って、前記ルーティングテーブルに記載された前記所在情報が示す前記ノード装置の前記容量情報を検索する検索メッセージを送信する検索メッセージ送信手段と、
    を備え、
    前記ノード情報取得手段は、前記検索メッセージを受信した前記ノード装置から、前記所在情報と前記容量情報とが対応付けられた前記ノード情報を取得し、
    前記判定手段は前記ノード情報取得手段により取得されたノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定することを特徴とする請求項1または請求項2に記載のノード装置。
  4. 前記ノード情報取得手段は、前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルに前記所在情報と前記空き容量とを対応付けて記憶し、
    前記判定手段は、前記ルーティングテーブルに記述される前記ノード装置の前記空き容量が所定容量以上であるか否かを判定し、
    前記判定手段が前記空き容量があると判定したとき、前記コンテンツ送信手段は前記ルーティングテーブルに記述され、かつ、空き容量があるノード装置へ前記削除されるコンテンツを送信することと特徴とする請求項1または請求項2に記載のノード装置。
  5. 前記記憶手段は、前記コンテンツデータを公開する公開時期が記述された公開時期情報を記憶し、
    前記公開時期情報に基づいて、前記記憶手段が記憶しているコンテンツデータの前記公開時期が終了したか否かを判定する公開時期判定手段を備え、
    前記公開時期判定手段が、前記公開時期が終了したと判定したとき、前記削除手段は前記コンテンツデータを削除し、前記判定手段は判定を行わない、または、前記コンテンツ送信手段は、前記削除されるコンテンツを送信しないことを特徴とする請求項1から請求項4に記載のノード装置。
  6. 前記記憶手段は、前記記憶手段に記憶された前記コンテンツデータと、前記コンテンツデータの評価を示す評価値とを対応付けて記憶し、
    前記削除手段は、前記所定の条件として、前記記憶手段に記憶されたコンテンツデータの中で、所定の値より低い前記評価値のコンテンツを前記記憶手段から削除することを特徴とする請求項1から請求項4のいずれかに記載のノード装置。
  7. 前記コンテンツ分散保存システムに新規のノード装置が参加するか否かを判定する参加処理判定手段と、
    前記参加処理判定手段により、新規ノード装置が前記コンテンツ分散保存システムに参加すると判定された場合、前記判定手段は、前記新規ノード装置に所定容量以上の前記空き記憶容量があるか否かを判定し、
    前記判定手段により前記新規ノードに前記空き記憶容量があると判定された場合、前記コンテンツ送信手段は、前記削除されるコンテンツを前記新規ノードへ送信することを特徴とする請求項1から請求項6のいずれかに記載のノード装置。
  8. 請求項1乃至7の何れか一項に記載のノード装置としてコンピュータを機能させることを特徴とするノード処理プログラム。
  9. ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムであって、
    前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、
    前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、
    前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、
    前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、
    前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得するコンテンツ取得手段と、
    を備えることを特徴とするコンテンツ分散保存システム。
  10. ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、
    前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得ステップと、
    前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除ステップと、
    前記削除ステップにより前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量がノード装置が存在するか否かを判定する判定ステップと、
    前記判定ステップが前記空き容量があるノード装置が存在すると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得するコンテンツ取得ステップと、
    を備えることを特徴とするコンテンツ保存方法。
JP2009079291A 2009-03-27 2009-03-27 ノード装置、ノード処理プログラム及びコンテンツ保存方法 Expired - Fee Related JP5532649B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009079291A JP5532649B2 (ja) 2009-03-27 2009-03-27 ノード装置、ノード処理プログラム及びコンテンツ保存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009079291A JP5532649B2 (ja) 2009-03-27 2009-03-27 ノード装置、ノード処理プログラム及びコンテンツ保存方法

Publications (2)

Publication Number Publication Date
JP2010231576A true JP2010231576A (ja) 2010-10-14
JP5532649B2 JP5532649B2 (ja) 2014-06-25

Family

ID=43047316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009079291A Expired - Fee Related JP5532649B2 (ja) 2009-03-27 2009-03-27 ノード装置、ノード処理プログラム及びコンテンツ保存方法

Country Status (1)

Country Link
JP (1) JP5532649B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221016A (ja) * 2011-04-05 2012-11-12 Brother Ind Ltd 情報処理装置、プログラム、配信システム、及び情報提供方法
JP2012227581A (ja) * 2011-04-15 2012-11-15 Brother Ind Ltd 管理装置、管理システム、管理方法及び管理プログラム
JP2014519636A (ja) * 2011-04-25 2014-08-14 イカノス・コミュニケーションズ・インコーポレイテッド ネットワーク化環境においてキャッシュするための方法および装置
JP2016189058A (ja) * 2015-03-30 2016-11-04 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、及び、プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178609A (ja) * 2004-12-21 2006-07-06 Nippon Telegr & Teleph Corp <Ntt> ピュアー型p2p通信におけるレプリカ管理方法およびそれを具備した装置、ならびにそのプログラム
JP2007304665A (ja) * 2006-05-08 2007-11-22 Canon Inc ピア・ツー・ピア型のネットワークに接続される装置および分散システム
JP2007310673A (ja) * 2006-05-18 2007-11-29 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークのストレージ構成方法およびストレージシステム
JP2008059351A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
WO2009001416A1 (ja) * 2007-06-22 2008-12-31 Pioneer Corporation コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178609A (ja) * 2004-12-21 2006-07-06 Nippon Telegr & Teleph Corp <Ntt> ピュアー型p2p通信におけるレプリカ管理方法およびそれを具備した装置、ならびにそのプログラム
JP2007304665A (ja) * 2006-05-08 2007-11-22 Canon Inc ピア・ツー・ピア型のネットワークに接続される装置および分散システム
JP2007310673A (ja) * 2006-05-18 2007-11-29 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークのストレージ構成方法およびストレージシステム
JP2008059351A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
WO2009001416A1 (ja) * 2007-06-22 2008-12-31 Pioneer Corporation コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221016A (ja) * 2011-04-05 2012-11-12 Brother Ind Ltd 情報処理装置、プログラム、配信システム、及び情報提供方法
JP2012227581A (ja) * 2011-04-15 2012-11-15 Brother Ind Ltd 管理装置、管理システム、管理方法及び管理プログラム
JP2014519636A (ja) * 2011-04-25 2014-08-14 イカノス・コミュニケーションズ・インコーポレイテッド ネットワーク化環境においてキャッシュするための方法および装置
JP2016189058A (ja) * 2015-03-30 2016-11-04 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、及び、プログラム

Also Published As

Publication number Publication date
JP5532649B2 (ja) 2014-06-25

Similar Documents

Publication Publication Date Title
US20100023593A1 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
JP2008234445A (ja) コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
JP2007200203A (ja) 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
JP5532649B2 (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP5212292B2 (ja) 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP5375272B2 (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP5494550B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5257001B2 (ja) ノード装置、ノード処理プログラム及び利用状況管理方法
JP5458629B2 (ja) ノード装置、ノード処理プログラム及び検索方法
JP2010039722A (ja) ノード装置、管理ノード装置、ノード処理プログラム、管理ノード処理プログラム、コンテンツ分散保存システム、複製データ取得方法
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP2009187101A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
JP2007219984A (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP2010238160A (ja) ノード装置、ノード処理プログラム及びコンテンツデータ保存方法
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム
JP5494361B2 (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム
JP5907132B2 (ja) 中継装置、プログラム及び通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5532649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees