JP2009020669A - コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 - Google Patents
コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 Download PDFInfo
- Publication number
- JP2009020669A JP2009020669A JP2007182212A JP2007182212A JP2009020669A JP 2009020669 A JP2009020669 A JP 2009020669A JP 2007182212 A JP2007182212 A JP 2007182212A JP 2007182212 A JP2007182212 A JP 2007182212A JP 2009020669 A JP2009020669 A JP 2009020669A
- Authority
- JP
- Japan
- Prior art keywords
- node
- content data
- content
- operating rate
- operation rate
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】コンテンツの数が増大しても、コンテンツ分散保存システムで利用可能なコンテンツデータを確保しつつ、コンテンツ提供サーバにおけるコンテンツデータの記憶容量を抑えることが可能なコンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等を提供する。
【解決手段】特定のコンテンツデータを保存している複数のノード装置の稼動率を管理する稼働率管理装置であって、特定のコンテンツデータを保存している各ノード装置から稼働率を示す稼働率情報を取得する稼働率情報取得手段と、取得された各稼働率情報に示される稼働率に基づいて、総稼働率を算出する総稼働率算出手段と、特定のコンテンツデータを保存している複数のノード装置のうち何れか一のノード装置からの問い合わせに応じて、当該ノード装置に対して総稼働率を示す総稼働率情報を返信する総稼働率情報返信手段と、を備える。
【選択図】図3
【解決手段】特定のコンテンツデータを保存している複数のノード装置の稼動率を管理する稼働率管理装置であって、特定のコンテンツデータを保存している各ノード装置から稼働率を示す稼働率情報を取得する稼働率情報取得手段と、取得された各稼働率情報に示される稼働率に基づいて、総稼働率を算出する総稼働率算出手段と、特定のコンテンツデータを保存している複数のノード装置のうち何れか一のノード装置からの問い合わせに応じて、当該ノード装置に対して総稼働率を示す総稼働率情報を返信する総稼働率情報返信手段と、を備える。
【選択図】図3
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
この種のピアツーピア型の通信システムにおいて、コンテンツデータを複数のノード装置に分散配置(分散保存)させておくコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたコンテンツデータの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。これにより、コンテンツ分散保存システムに参加している各ノード装置は、所望のコンテンツデータを他のノード装置から取得し利用することができる。
ところで、コンテンツ分散保存システムに参加しているノード装置が、例えば電源OFFにより脱退した場合、或いは保存しているコンテンツデータを破棄してしまうと、そのコンテンツデータが他のノード装置から利用できなくなってしまう。
この対応として、コンテンツ提供サーバを設置して全てのコンテンツデータを保存させ、各ノード装置が、当該コンテンツ提供サーバからも所望のコンテンツデータを取得し利用できるようにすることが考えられる。
特開2006−197400号公報
しかしながら、上記対応では、コンテンツの数が増大すると、コンテンツ提供サーバにおける記憶容量を増設させなければならない。逆に、コンテンツ提供サーバにおける記憶容量を抑えると、コンテンツ分散保存システムで利用可能なコンテンツデータの数が制限される。
本発明は、以上の問題等に鑑みてなされたものであり、コンテンツの数が増大しても、コンテンツ分散保存システムで利用可能なコンテンツデータを確保しつつ、コンテンツ提供サーバにおけるコンテンツデータの記憶容量を抑えることが可能なコンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータが複数のノード装置に分散保存されたコンテンツ分散保存システムであり、各ノード装置は自己が保存していないコンテンツデータを、稼動中の他の前記ノード装置から取得又は当該他のノード装置から取得困難なときには当該コンテンツデータを保存しているサーバ装置から取得可能としたコンテンツ分散保存システムにおいて特定の前記コンテンツデータを保存している複数の前記ノード装置の稼動率を管理する稼働率管理装置であって、前記特定のコンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得する稼働率情報取得手段と、前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出する総稼働率算出手段と、前記特定のコンテンツデータを保存している前記複数のノード装置のうち何れか一のノード装置からの問い合わせに応じて、当該ノード装置に対して前記総稼働率を示す総稼働率情報を返信する総稼働率情報返信手段と、を備えることを特徴とする。
この発明によれば、特定のコンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得し、前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出し、前記特定のコンテンツデータを保存している前記複数のノード装置のうち何れか一のノード装置からの問い合わせに応じて、当該ノード装置に対して前記総稼働率を示す総稼働率情報を返信するように構成したので、上記稼働率情報を得たノード装置は、当該総稼働率情報に示される総稼働率が所定値以上であるか否かを判別し、所定値未満である場合にのみ、自己が保存しているコンテンツデータを前記サーバ装置(コンテンツ提供サーバ)に保存させた上で稼動停止又は当該コンテンツデータを削除することができ、したがって、コンテンツの数が増大しても、コンテンツ分散保存システムで利用可能なコンテンツデータを確保しつつ、サーバ装置におけるコンテンツデータの記憶容量を抑えることができる。つまり、コンテンツ分散保存システムにおいて、特定のコンテンツデータを保存しているノード装置の総稼動率が所定値以上の場合は、当該コンテンツデータを保持しているノード装置が一斉に非稼働になる確率は非常に低いので、当該コンテンツデータをコンテンツ提供サーバに保存させなくとも、当該ノード装置だけで当該コンテンツデータの供給を十分賄うことができ、よって、コンテンツ提供サーバの記憶容量を抑えることができる。
請求項2に記載の発明は、請求項1に記載の稼働率管理装置において、前記総稼働率が所定値以上であるか否かを判別する総稼働率判別手段と、前記総稼働率が所定値以上である場合に、前記特定のコンテンツデータの削除指令を示す削除指令情報を前記サーバ装置に送信する削除指令情報送信手段と、を備えることを特徴とする。
この発明によれば、稼働率管理装置は、上記総稼働率が所定値以上であるか否かを判別し、前記総稼働率が所定値以上である場合に、前記特定のコンテンツデータの削除指令を示す削除指令情報を前記サーバ装置に送信するように構成したので、コンテンツの数が増大しても、コンテンツ分散保存システムで利用可能なコンテンツデータを確保しつつ、サーバ装置におけるコンテンツデータの記憶容量を抑えることができる。
請求項3に記載の発明は、請求項1又は2に記載の稼働率管理装置において、前記総稼働率算出手段は、前記取得された前記各稼働率情報に示される稼働率のうち閾値以上の稼働率に基づいて前記総稼働率を算出することを特徴とする。
この発明によれば、総稼働率の信頼性及び安定性を向上させることができる。
請求項4に記載の発明は、請求項1に記載のコンテンツ分散保存システムにおける前記ノード装置であって、自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより当該稼働率管理装置から返信された前記総稼動率情報を受信する総稼動率情報受信手段と、前記総稼働率情報に示される総稼働率が所定値以上であるか否かを判別する総稼働率判別手段と、前記総稼働率が所定値未満である場合に、自己が保存しているコンテンツデータを前記サーバ装置に保存させる保存制御手段と、を備えることを特徴とする。
この発明によれば、特定のコンテンツデータを保存している各ノード装置は、自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより上記総稼動率情報を得て、当該総稼働率情報に示される総稼働率が所定値以上であるか否かを判別し、前記総稼働率が所定値未満である場合にのみ、自己が保存しているコンテンツデータを前記サーバ装置に保存させるように構成したので、コンテンツの数が増大しても、コンテンツ分散保存システムで利用可能なコンテンツデータを確保しつつ、サーバ装置におけるコンテンツデータの記憶容量を抑えることができる。
請求項5に記載の稼働率管理処理プログラムの発明は、コンピュータを、請求項1乃至3の何れか一項に記載の稼働率管理装置として機能させることを特徴とする。
請求項6に記載のノード処理プログラムの発明は、コンピュータを、請求項4に記載のノード装置として機能させることを特徴とする。
請求項7に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータが複数のノード装置に分散保存されたコンテンツ分散保存システムであり、各ノード装置は自己が保存していないコンテンツデータを、稼動中の他の前記ノード装置から取得又は当該他のノード装置から取得困難なときには当該コンテンツデータを保存しているサーバ装置から取得可能としたコンテンツ分散保存システムにおいて、特定の前記コンテンツデータを保存している複数の前記ノード装置の稼動率を管理する稼働率管理装置は、特定の前記コンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得する稼働率情報取得手段と、前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出する総稼働率算出手段と、を備え、前記ノード装置は、自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより当該稼働率管理装置から返信された前記総稼動率情報を受信する総稼動率情報受信手段と、前記総稼働率情報に示される総稼働率が所定値以上であるか否かを判別する総稼働率判別手段と、前記総稼働率が所定値未満である場合に、自己が保存しているコンテンツデータを前記サーバ装置に保存させる保存制御手段と、を備えることを特徴とする。
請求項8に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータが複数のノード装置に分散保存されたコンテンツ分散保存システムであり、各ノード装置は自己が保存していないコンテンツデータを、稼動中の他の前記ノード装置から取得又は当該他のノード装置から取得困難なときには当該コンテンツデータを保存しているサーバ装置から取得可能としたコンテンツ分散保存システムにおけるコンテンツデータ保存方法であって、特定の前記コンテンツデータを保存している複数の前記ノード装置の稼動率を管理する稼働率管理装置が、特定の前記コンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得する工程と、前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出する工程と、を備え、前記ノード装置が、自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより当該稼働率管理装置から返信された前記総稼動率情報を受信する工程と、前記総稼働率情報に示される総稼働率が所定値以上であるか否かを判別する工程と、前記総稼働率が所定値未満である場合に、自己が保存しているコンテンツデータを前記サーバ装置に保存させる工程と、を備えることを特徴とする。
本発明によれば、特定のコンテンツデータを保存している各ノード装置は、自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより上記総稼動率情報を得て、当該総稼働率情報に示される総稼働率が所定値以上であるか否かを判別し、前記総稼働率が所定値未満である場合にのみ、自己が保存しているコンテンツデータを前記サーバ装置に保存させるように構成したので、コンテンツの数が増大しても、コンテンツ分散保存システムで利用可能なコンテンツデータを確保しつつ、サーバ装置におけるコンテンツデータの記憶容量を抑えることができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
[1.コンテンツ分散保存システムの構成等]
始めに、図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アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。かかるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHT(Distributed Hash Table)を利用したアルゴリズムにより実現される。
そして、コンテンツ分散保存システム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に分散して保存(格納)されている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツデータ(ファイル)が保存されており、一方、ノードN3には、タイトルがYYYの映画のコンテンツデータが保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存される。
また、これらのコンテンツデータには、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有の識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム管理者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれたコンテンツカタログ情報が、全ノードNnに配布される。
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードNnのノード情報に係るIPアドレス等と当該コンテンツデータに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元であるノードNn(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。つまり、コンテンツデータを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。
例えば、タイトルがXXXの映画のコンテンツデータについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN4により管理され、タイトルがYYYの映画のコンテンツデータについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN7により管理される。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。
そして、あるノードNnのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノードNn(以下、「ユーザノード」という)は、当該ユーザにより選択(リクエスト)されたコンテンツデータのコンテンツID及び自己のIPアドレス等を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、これを自己のDHTを用いたルーティングテーブルにしたがって他のノードNnに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて(ルートノード宛に)送出する。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
なお、各ノードNnにおいてユーザにより選択されるべきコンテンツデータのコンテンツ名及びコンテンツID等の属性情報は、例えばコンテンツ提供サーバSAから全てのノードNnに配信されるコンテンツカタログ情報に記述されている。また、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
上記コンテンツ所在問合せ(検索)メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。これにより、ユーザノードは、所望のコンテンツデータを保存している稼働中のコンテンツ保持ノードに対して、コンテンツ送信要求メッセージを送信し、そこから当該コンテンツデータを取得(ダウンロード)することが可能になる。
或いは、ルートノードは、当該インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対して稼働中のコンテンツ送信要求メッセージを送信する。これにより、ユーザノードは、上記コンテンツ保持ノードから当該コンテンツデータを取得することが可能になる。
ここで、「稼動中」とは、ノードNnの電源(少なくとも通信機能に係る電源)ONによりコンテンツ分散保存システムSに参加し、他のノードNnとの通信可能な状態にあることを意味する。
なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。
このように、各ノードNnは自己が保存していないコンテンツデータを、稼動中の他のノードNnから取得(ダウンロード)することができ、取得したコンテンツデータをハードディスク等に記憶保存することになる。
ところで、例えば電源OFFによりノードNnがコンテンツ分散保存システムSから脱退した場合、その分当該ノードNnが保存するコンテンツデータのコンテンツ保持ノードの数が減ることになるので、当該コンテンツデータをコンテンツ保持ノードから取得することが困難な場合が生じうる。当該取得困難な場合としては、例えば、コンテンツ保持ノードが多数のノードNnからのアクセスにより混雑しておりコンテンツデータを提供できないか、提供に時間がかかる場合等が挙げられる。
このため、コンテンツ分散保存システムSにおいて利用可能なコンテンツデータをコンテンツ提供サーバSA(サーバ装置の一例)にも保存させておくようにし、各ノードNnは、コンテンツ保持ノードから所望のコンテンツデータを取得困難なとき、コンテンツ提供サーバSAに接続して当該コンテンツ提供サーバSAからも当該コンテンツデータを取得可能となっている。
ただし、本実施形態においては、コンテンツ提供サーバSAの記憶容量を考慮し、コンテンツ分散保存システムSにおいて、ある(特定の)コンテンツデータを保存しているノードNnの総稼動率が所定値以上の場合は、コンテンツ保持ノードだけで十分賄えるので、当該コンテンツデータをコンテンツ提供サーバSAに保存させないようにし、当該コンテンツデータを保存しているノードNnの総稼動率が所定値に満たない場合は、当該コンテンツデータをコンテンツ提供サーバSAに保存させるよう制御することとした。
補足すると、コンテンツ分散保存システムSにおいて、各コンテンツデータは、人気の集中を考慮して、人気のあるコンテンツデータについては多数のコンテンツ保持ノードに保存される一方、人気のないコンテンツデータについてはコンテンツ保持ノードに保存させず(削除する)コンテンツ提供サーバSAのみに保存される。そして、コンテンツ保持ノードのどれかが非稼働になると、当該コンテンツを供給可能なコンテンツ保持ノードの数が減ることになる。コンテンツ保持ノードがすべて非稼働になると、最後はコンテンツ提供サーバSAにあるコンテンツデータを頼ることになるので、コンテンツ提供サーバSAには、従来、すべてのコンテンツを保存可能なように巨大な記憶容量が要求されていた。しかし、複数のコンテンツ保持ノードの稼働率の和(総稼動率)が所定値以上であれば、コンテンツデータ保持ノードが一斉に非稼働になる確率が非常に低くなるので、コンテンツ提供サーバSAに頼ることなく、コンテンツ保持ノードだけで十分賄えることになるので、コンテンツ提供サーバSAは、すべてのコンテンツを保存する必要がなくなる。
ここで、「総稼動率」は、あるコンテンツデータを保存している各コンテンツ保持ノードの稼動率に基づいて、例えば当該コンテンツデータのルートノードにより算出される。例えば、ルートノードは、自身が所在を管理するべきコンテンツデータを保存している各コンテンツ保持ノードのノード情報に加えて、当該各コンテンツ保持ノードの稼働率を示す稼働率情報を稼働率管理テーブルにて管理(つまり、ルートノードが稼働率管理装置となる)しておき、当該各コンテンツ保持ノードの稼動率に基づいて総稼働率を算出する。なお、このような稼働率を示す稼働率情報は、各コンテンツ保持ノードから任意のタイミングで、DHTルーティングによってルートノードに送信される。
また、コンテンツ保持ノードから取得したコンテンツデータを保存したユーザノードは、当該コンテンツデータを保存したことをそのルートノードに知らせるために(言い換えれば、該システムSに参加している他のノードNnに対して公開するために)、そのコンテンツデータのコンテンツID及び自己のノード情報、並びに自己の稼働率を示す稼働率情報が含まれるパブリッシュ(登録通知)メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて(ルートノード宛に)送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)し、且つ当該ノード情報に対応付けて稼働率情報を稼動率管理テーブルに登録することになる。こうして、上記ユーザノードは、新たに、上記コンテンツデータを保持するコンテンツ保持ノードとなる。
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録(キャッシュ)される。
また、コンテンツ保持ノードは、保存しているコンテンツデータを破棄(削除)した場合、当該コンテンツデータを削除したことをそのルートノードに知らせるために、そのコンテンツデータのコンテンツID及び自己のノード情報が含まれる削除通知メッセージを生成し、該削除通知メッセージを、そのルートノードに向けて(ルートノード宛に)送出する。これにより、削除通知メッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信した削除通知メッセージに含まれるノード情報及びこれに対応する稼働率情報を削除することになる。
更に、コンテンツ保持ノードがコンテンツデータを保存したまま、例えば電源OFFによりコンテンツ分散保存システムSから脱退する場合、自己が保存しているコンテンツデータのコンテンツID及び自己のノード情報が含まれる稼動停止通知メッセージを生成し、該稼動停止通知メッセージを、そのルートノードに向けて(ルートノード宛に)送出する。これにより、稼動停止通知メッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信した稼動停止通知メッセージに含まれるノード情報及びこれに対応する稼働率情報を削除することになる。逆に、当該コンテンツデータを保存するコンテンツ保持ノードが例えば電源ONによりコンテンツ分散保存システムSから参加した場合、自己が保存しているコンテンツデータのコンテンツID及び自己のノード情報、並びに自己の稼働率を示す稼働率情報が含まれる稼動通知メッセージを生成し、該稼動通知メッセージを、そのルートノードに向けて(ルートノード宛に)送出する。これにより、稼動通知メッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信した稼動通知メッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録し、且つ当該ノード情報に対応付けて稼働率情報を稼動率管理テーブルに登録することになる。
[2.ノードNnの構成及び機能等]
次に、図2を参照して、ノードNnの構成及び機能について説明する。
[2.ノードNnの構成及び機能等]
次に、図2を参照して、ノードNnの構成及び機能について説明する。
図2は、ノードNnの概要構成例を示す図である。
各ノードNnは、図2に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、コンテンツカタログ情報、インデックス情報、DHT等)及び各種プログラム等を記憶保存(格納)するためのハードディスクドライブ等から構成された記憶部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には、コンタクトノード及びコンテンツ提供サーバSAのIPアドレス及びポート番号が予め記憶されている。
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明に係る稼働率管理処理プログラム及びノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSへの参加により、上述したユーザノード、キャッシュノード、ルートノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっている。
例えばルートノードにおける制御部11は、本発明における稼働率情報取得手段、総稼働率算出手段、総稼働率情報返信手段、総稼働率判別手段、及び削除指令情報送信手段等として機能するようになっている。より具体的には、ルートノードにおける制御部11は、自己(自ノード)が所在を管理しているコンテンツデータ(例えば、自ノードのノードIDと最も近いコンテンツIDを有するコンテンツデータ)を保存している各コンテンツ保持ノードから稼働率を示す稼働率情報を取得して稼動率管理テーブルにて管理し、当該各稼働率情報に示される稼働率に基づいて総稼働率(例えば、各稼働率の総和)を算出、記憶する。
そして、ルートノードにおける制御部11は、当該コンテンツデータを保存している複数のコンテンツ保持ノードのうち何れか一のコンテンツ保持ノードからの問い合わせ(例えば、DHTルーティングにより転送されてきた総稼働率問い合わせメッセージの受信)に応じて、当該コンテンツ保持ノードに対して、上記算出した総稼働率を示す総稼働率メッセージ(総稼働率情報)を返信する。また、ルートノードにおける制御部11は、上記算出した総稼働率が所定値以上であるか否かを判別し、当該総稼働率が所定値以上である場合に、自ノードが所在を管理しているコンテンツデータの削除指令を示す削除指令メッセージ(削除指令情報)をコンテンツ提供サーバSAに送信することにより、コンテンツ提供サーバSAから当該コンテンツデータを削除させる。これにより、コンテンツの数が増大しても、コンテンツ提供サーバSAの記憶容量を抑えることが可能となる。
一方、コンテンツ保持ノードにおける制御部11は、本発明における総稼動率情報受信手段、総稼働率判別手段、及び保存制御手段等として機能するようになっている。より具体的には、コンテンツ保持ノードにおける制御部11は、自己(自ノード)が稼動停止する場合、又は自ノードが保存しているコンテンツデータを削除する場合には、当該コンテンツデータのルートノードに問い合わせる(例えば、当該コンテンツデータのコンテンツIDを含む総稼働率問い合わせメッセージを送出する)ことにより当該ルートノードから返信された総稼動率メッセージを受信する。
そして、コンテンツ保持ノードにおける制御部11は、総稼動率メッセージに示される総稼働率が所定値以上であるか否かを判別し、当該総稼働率が所定値未満である場合に、自ノードが保存しているコンテンツデータをコンテンツ提供サーバSAに保存させた上で、稼動停止、又は当該コンテンツデータを削除する。これにより、コンテンツ分散保存システムSにおいてコンテンツデータが全て無くなる(利用できなくなる)のを防止することが可能となり、コンテンツ分散保存システムSで利用可能なコンテンツデータを確保することができる。
ところで、全てのノードNnの制御部11は、コンテンツ保持ノードであるかどうかを問わず、定期的に自己の稼働率を算出、記憶するようになっている。この稼働率は、例えば過去一ヶ月間において自ノードが稼動している(例えば電源ONしている)稼働時間が計算され、当該稼働時間を一ヶ月の時間で除することにより得られた割合として算出される。なお、稼動時間は、電源がONしている時間とすればより簡単に求めることができるが、より正確な稼動時間を算出するには、当該電源がONしている時間から、コンテンツデータを他のノードNnに提供できない(例えば、通信不良等による)時間を減じた時間とすれば良い。
そして、あるコンテンツデータを保存するコンテンツ保持ノードの制御部11は、例えば、上記稼働率の算出時、上述したパブリッシュメッセージの創出時、或いは稼動通知メッセージの送出時に、自己の稼働率を示す稼働率情報をルートノードに提供(送信)することになる。
なお、上記稼働率管理処理プログラム及びノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
[3.コンテンツ分散保存システムの動作]
次に、本実施形態に係るコンテンツ分散保存システムSの動作について説明する。
(コンテンツ保持ノードにおけるコンテンツデータの削除時の動作)
先ず、図3及び図4を参照して、コンテンツ保持ノードにおけるコンテンツデータの削除時の動作について説明する。
[3.コンテンツ分散保存システムの動作]
次に、本実施形態に係るコンテンツ分散保存システムSの動作について説明する。
(コンテンツ保持ノードにおけるコンテンツデータの削除時の動作)
先ず、図3及び図4を参照して、コンテンツ保持ノードにおけるコンテンツデータの削除時の動作について説明する。
図3は、コンテンツ保持ノードがコンテンツデータを削除する場合における情報の流れを示す概念図である。図4(A)は、コンテンツ保持ノードの制御部11におけるコンテンツデータ削除処理を、図4(B)は、ルートノードの制御部11における総稼働率情報提供処理を示すフローチャートである。
図4(A)に示す処理は、例えば、コンテンツ保持ノードのユーザから、入力部20を介して特定のコンテンツデータXの削除指示があった場合に開始される。当該処理が開始されると、コンテンツ保持ノードの制御部11は、先ず、ユーザにより選択されたコンテンツデータXのコンテンツID及び自己のノード情報を含む総稼働率問い合わせメッセージを生成し、これを、当該コンテンツデータXのルートノードに向けて(ルートノード宛に)送出する(ステップS1)。つまり、当該制御部11は、自己のDHTを用いたルーティングテーブルから、当該コンテンツIDと最も近い(例えば、最も上位桁が一致する)ノードIDを有するノードNnを特定し、当該特定したノードNnに対して総稼働率問い合わせメッセージを送信する。これにより、当該総稼働率問い合わせメッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にコンテンツデータXのルートノードに到着することになる。
図3の例において、コンテンツデータXのルートノードでは、コンテンツ保持ノードであるノードN5、N10、N15、及びN20の稼働率情報が稼働率管理テーブルにて管理されており、それらの総稼働率が340%として算出され記憶されている。
そして、当該ルートノードが、コンテンツ保持ノードからの総稼働率問い合わせメッセージを受信した場合、図4(B)を開始し、当該ルートノードの制御部11は、既に算出して記憶しておいた総稼働率を示す総稼働率メッセージを、上記コンテンツ保持ノードに返信し(ステップS11)、当該処理を終了する。
一方、当該コンテンツ保持ノードが、ルートノードからの総稼働率メッセージを受信すると(ステップS2:YES)、コンテンツ保持ノードの制御部11は、総稼働率メッセージに示される総稼働率が所定値(例えば、350%)以上であるか否かを判別する(ステップS3)。そして、当該総稼働率が所定値未満である場合には(ステップS3:NO)、コンテンツ保持ノードの制御部11は、コンテンツ提供サーバSAに接続し、当該コンテンツデータXを例えばアップロードすることによりコンテンツ提供サーバSAに保存させ(ステップS4)、その後、当該コンテンツデータXを記憶部12から削除させ(ステップS5)(削除処理実行)、ステップS6に進む。一方、当該総稼働率が所定値以上である場合には(ステップS3:YES)、コンテンツ保持ノードの制御部11は、当該コンテンツデータXをコンテンツ提供サーバSAに保存させることなく、当該コンテンツデータXを記憶部12から削除させ(ステップS5)(削除処理実行)、ステップS6に進む。
ステップS6では、コンテンツ保持ノードの制御部11は、当該コンテンツデータXのコンテンツID及び自己のノード情報が含まれる削除通知メッセージを生成し、該削除通知メッセージを、そのルートノードに向けて送出し、当該終了する。
なお、図4(A)に示す処理は、ユーザからコンテンツデータXの削除指示があった場合に行われることに限定されるものではなく、例えばハードディスク記憶容量が一杯になることで古いコンテンツデータから上書き削除される場合、或いは例えば人気がないコンテンツデータの削除指示を例えばシステム管理者のノードNnから受けることにより当該コンテンツデータが削除される場合、或いは各コンテンツ保持ノードがコンテンツデータの評価値(例えば、人気度)を示す情報を取得し、評価値が低いコンテンツデータを自動的に削除する場合にも行われる。
(コンテンツ保持ノードの稼動停止時の動作)
次に、図5及び図6を参照して、コンテンツ保持ノードの稼動停止時の動作について説明する。
(コンテンツ保持ノードの稼動停止時の動作)
次に、図5及び図6を参照して、コンテンツ保持ノードの稼動停止時の動作について説明する。
図5は、コンテンツ保持ノードが稼動停止する場合における情報の流れを示す概念図である。図6(A)は、コンテンツ保持ノードの制御部11における稼動停止処理を、図6(B)は、ルートノードの制御部11における総稼働率情報提供処理を示すフローチャートである。
図6(A)に示す処理は、例えば、コンテンツ保持ノードのユーザから、入力部20を介して電源OFF指示があった場合に開始される。当該処理が開始されると、コンテンツ保持ノードの制御部11は、先ず、記憶部12に保存されている任意のコンテンツデータXを特定し、当該特定したコンテンツデータXのコンテンツID及び自己のノード情報を含む総稼働率問い合わせメッセージを生成し、これを、当該コンテンツデータXのルートノードに向けて(ルートノード宛に)送出する(ステップS21)。
そして、当該ルートノードが、コンテンツ保持ノードからの総稼働率問い合わせメッセージを受信した場合、図6(B)を開始し、当該ルートノードの制御部11は、既に算出して記憶しておいた総稼働率を示す総稼働率メッセージを、上記コンテンツ保持ノードに返信し(ステップS31)、当該処理を終了する。
一方、当該コンテンツ保持ノードが、ルートノードからの総稼働率メッセージを受信すると(ステップS22:YES)、上記ステップS3と同様、コンテンツ保持ノードの制御部11は、総稼働率メッセージに示される総稼働率が所定値以上であるか否かを判別する(ステップS23)。そして、当該稼働率が所定値未満である場合には(ステップS23:NO)、コンテンツ保持ノードの制御部11は、コンテンツ提供サーバSAに接続し、当該コンテンツデータXを例えばアップロードすることによりコンテンツ提供サーバSAに保存させ(ステップS24)、ステップS25に進む。一方、当該稼働率が所定値以上である場合には(ステップS23:YES)、コンテンツ保持ノードの制御部11は、当該コンテンツデータXをコンテンツ提供サーバSAに保存させることなく、ステップS25に進む。
ステップS25では、コンテンツ保持ノードの制御部11は、当該コンテンツデータXのコンテンツID及び自己のノード情報が含まれる稼動停止通知メッセージを生成し、該稼動停止通知メッセージを、そのルートノードに向けて送出する。
次いで、コンテンツ保持ノードの制御部11は、自身が記憶部12に記憶保存しているコンテンツデータが未だあるか否かを判別し(ステップS26)、ある場合には(ステップS26:YES)、当該コンテンツデータYを特定して上記ステップS21に戻り、当該特定したコンテンツデータYについて上記と同様の処理を行う。一方、保存しているコンテンツデータが無い場合には(ステップS26:NO)、コンテンツ保持ノードの制御部11は、稼動停止日時(電源OFF日時)を記憶部12に記憶し(ステップS27)、コンテンツ分散保存システムSからの脱退処理を行った後、電源OFF(稼動停止)を実行し(ステップS28)、当該処理を終了する。
(コンテンツ保持ノードの稼動時及びコンテンツ保持ノードにおける稼働率算出時の動作)
次に、図7を参照して、コンテンツ保持ノードの稼動時及びコンテンツ保持ノードにおける稼働率算出時の動作について説明する。
(コンテンツ保持ノードの稼動時及びコンテンツ保持ノードにおける稼働率算出時の動作)
次に、図7を参照して、コンテンツ保持ノードの稼動時及びコンテンツ保持ノードにおける稼働率算出時の動作について説明する。
図7(A)は、コンテンツ保持ノードの制御部11における稼動処理を、図7(B)は、コンテンツ保持ノードの制御部11における稼働率算出処理を示すフローチャートである。
図7(A)に示す処理は、例えば、コンテンツ保持ノードのユーザから、入力部20を介して電源ON指示があり電源ONされた場合に開始される。当該処理が開始されると、コンテンツ保持ノードの制御部11は、先ず参加処理を行う(ステップS41)。当該参加処理においては、当該コンテンツ保持ノードからコンタクトノードに参加メッセージが送信されその後、例えばそのコンタクトノードから送信されたDHTを用いたルーティングテーブルに基づき自身のルーティングテーブルが生成され、コンテンツ分散保存システムSへの参加が完了する。
次いで、コンテンツ保持ノードの制御部11は、記憶部12に保存されている任意のコンテンツデータXを特定し、当該特定したコンテンツデータXのコンテンツID、自己のノード情報、並びに既に算出して記憶しておいた稼働率を示す稼働率情報を含む稼動通知メッセージを生成し、該稼動通知メッセージを、そのルートノードに向けて送出する(ステップS42)。
次いで、コンテンツ保持ノードの制御部11は、自身が記憶部12に記憶保存しているコンテンツデータが未だあるか否かを判別し(ステップS43)、ある場合には(ステップS43:YES)、当該コンテンツデータYを特定して上記ステップS42に戻り、当該特定したコンテンツデータYについて上記と同様の処理を行う。
一方、保存しているコンテンツデータが無い場合には(ステップS43:NO)、コンテンツ保持ノードの制御部11は、稼動日時(電源ON日時)を記憶部12に記憶し(ステップS44)、当該処理を終了する。
図7(B)に示す処理は、コンテンツ保持ノードにおいて、例えば、任意の一定間隔(例えば、1日毎)に実行される。 当該処理が開始されると、コンテンツ保持ノードの制御部11は、例えば過去一ヶ月以内に記憶した稼動停止日時(電源OFF日時)と稼動日時(電源ON日時)等を取得し(ステップS51)、取得した稼動停止日時、稼動日時、及び現在日時等の情報に基づき、上述したように、稼働率を算出し(ステップS52)、記憶する。
次いで、コンテンツ保持ノードの制御部11は、記憶部12に保存されている任意のコンテンツデータXを特定し、当該特定したコンテンツデータXのコンテンツID及び自己のノード情報、並びに上記算出した稼働率を示す稼働率情報を含む稼働率通知メッセージを生成し、該稼動率通知メッセージを、そのルートノードに向けて送出する(ステップS53)。
次いで、コンテンツ保持ノードの制御部11は、自身が記憶部12に記憶保存しているコンテンツデータが未だあるか否かを判別し(ステップS54)、ある場合には(ステップS54:YES)、当該コンテンツデータYを特定して上記ステップS53に戻り、当該特定したコンテンツデータYについて上記と同様の処理を行う。一方、保存しているコンテンツデータが無い場合には(ステップS54:NO)、コンテンツ保持ノードの制御部11は、当該処理を終了する。
(ルートノードにおける総稼働率算出時の動作)
次に、図8を参照して、ルートノードにおける総稼働率算出時の動作について説明する。
(ルートノードにおける総稼働率算出時の動作)
次に、図8を参照して、ルートノードにおける総稼働率算出時の動作について説明する。
図8、ルートノードの制御部11における総稼働率算出処理を示すフローチャートである。
図8に示す処理は、コンテンツ保持ノードから、稼動通知メッセージ、稼働率通知メッセージ、パブリッシュメッセージ、削除通知メッセージ、又は稼動停止通知メッセージを受信した場合に開始される。当該処理が開始されると、ルートノードの制御部11は、受信したメッセージが稼動通知メッセージ、稼働率通知メッセージ、及びパブリッシュメッセージのうち何れかのメッセージであるか否かを判別し(ステップS61)、当該判別が肯定的である(つまり、当該メッセージが稼動通知メッセージ、稼働率通知メッセージ、又はパブリッシュメッセージである)場合には、当該メッセージに含まれる稼働率情報を、当該メッセージの送信元のコンテンツ保持ノードのノード情報に対応付けて稼動率管理テーブルに登録(新規登録又は更新登録)し(ステップS62)、ステップS64に進む。一方、ステップS61の判別が否定的である(つまり、当該メッセージが削除通知メッセージ、又は稼動停止通知メッセージである)場合には、ルートノードの制御部11は、当該メッセージの送信元のコンテンツ保持ノードのノード情報に対応付けられて登録されている稼動率情報を稼動率管理テーブルから削除し(ステップS63)、ステップS64に進む。
このように稼動率管理テーブルの登録内容が変わったので、ステップS64では、ルートノードの制御部11は、稼動率管理テーブルに登録されている各稼働率情報に示される稼働率に基づいて総稼働率(例えば、各稼働率の総和)を算出、記憶し、ステップS65に進む。このとき、ルートノードの制御部11は、これらの各稼働率のうち閾値以上の稼働率に基づいて総稼働率を算出すれば、より効果的である。つまり、閾値より低い稼働率は、総稼働率の計算には含めない趣旨である。例えば、当該閾値が30%であるとし、ノードN5、N10、N15、及びN20の稼働率が、夫々、90%、80%、80%、及び20%であるとすると、ノードN20の稼働率20%が含められずに総稼働率が計算されるので、当該総稼働率は、250%となる。これにより、総稼働率の信頼性及び安定性を向上させることができる。
ステップS65では、ルートノードの制御部11は、上記算出した総稼働率が所定値(例えば、350%)以上であるか否かを判別する。そして、当該稼働率が所定値未満である場合(ステップS65:NO)、当該処理が終了する。一方、当該稼働率が所定値以上である場合には(ステップS65:YES)、ルートノードの制御部11は、自身が所在を管理しているコンテンツデータのコンテンツIDを含む削除指令メッセージを生成し、該削除指令メッセージをコンテンツ提供サーバSAに送信し(ステップS66)、当該処理を終了する。これにより、コンテンツ提供サーバSAから当該コンテンツデータが削除されることになる。
以上説明したように、上記実施形態によれば、コンテンツデータを保存している各コンテンツ保持ノードは、自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、当該コンテンツデータのルートノードに問い合わせることにより上述した総稼動率情報を得て、当該総稼働率情報に示される総稼働率が所定値以上であるか否かを判別し、当該総稼働率が所定値未満である場合にのみ、自己が保存しているコンテンツデータをコンテンツ提供サーバSAに保存させた上で、稼動停止、又は上記特定のコンテンツデータを削除するように構成したので、コンテンツの数が増大しても、コンテンツ分散保存システムSで利用可能なコンテンツデータを確保しつつ、コンテンツ提供サーバSAにおけるコンテンツデータの記憶容量を抑えることができる。
また、上記コンテンツデータを保存している各コンテンツ保持ノードの稼動率を、当該コンテンツデータのルートノードが管理するように構成したので、より効率良く各コンテンツ保持ノードの稼動率を管理でき、且つより効率良く総稼働率を算出して各コンテンツ保持ノードに提供することができる。
また、各コンテンツ保持ノードの稼動率を管理するルートノードは、上記総稼働率を算出して当該総稼働率が所定値以上であるか否かを判別し、当該総稼働率が所定値以上である場合に(コンテンツ保持ノードだけで十分賄える)、自身が管理しているコンテンツデータの削除指令を示す削除指令メッセージをコンテンツ提供サーバSAに送信するように構成したので、コンテンツの数が増大しても、コンテンツ分散保存システムSで利用可能なコンテンツデータを確保しつつ、コンテンツ提供サーバSAにおけるコンテンツデータの記憶容量を抑えることができる。つまり、コンテンツ分散保存システムSにおいて、あるコンテンツデータを保存しているコンテンツ保持ノードの総稼動率が所定値以上の場合は、コンテンツ保持ノードだけで十分賄えるので、当該コンテンツデータをコンテンツ提供サーバSAに保存させなくとも良くなり、よって、コンテンツ提供サーバSAの記憶容量を抑えることができる。
また、上記総稼働率の算出及び所定値以上であるか否かの判別処理が、稼動通知メッセージ、稼働率通知メッセージ、パブリッシュメッセージ、削除通知メッセージ、又は稼動停止通知メッセージが受信されたとき、つまり、稼動率管理テーブルの登録内容が変わり得るタイミングで行われるようにしたので、より正確な総稼働率での対応を図ることができる。
なお、上記実施形態におけるコンテンツ分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
Nn ノード
SA コンテンツ提供サーバ
S コンテンツ分散保存システム
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
Nn ノード
SA コンテンツ提供サーバ
S コンテンツ分散保存システム
Claims (8)
- ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータが複数のノード装置に分散保存されたコンテンツ分散保存システムであり、各ノード装置は自己が保存していないコンテンツデータを、稼動中の他の前記ノード装置から取得又は当該他のノード装置から取得困難なときには当該コンテンツデータを保存しているサーバ装置から取得可能としたコンテンツ分散保存システムにおいて特定の前記コンテンツデータを保存している複数の前記ノード装置の稼動率を管理する稼働率管理装置であって、
前記特定のコンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得する稼働率情報取得手段と、
前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出する総稼働率算出手段と、
前記特定のコンテンツデータを保存している前記複数のノード装置のうち何れか一のノード装置からの問い合わせに応じて、当該ノード装置に対して前記総稼働率を示す総稼働率情報を返信する総稼働率情報返信手段と、
を備えることを特徴とする稼働率管理装置。 - 請求項1に記載の稼働率管理装置において、
前記総稼働率が所定値以上であるか否かを判別する総稼働率判別手段と、
前記総稼働率が所定値以上である場合に、前記特定のコンテンツデータの削除指令を示す削除指令情報を前記サーバ装置に送信する削除指令情報送信手段と、
を備えることを特徴とする稼働率管理装置。 - 請求項1又は2に記載の稼働率管理装置において、
前記総稼働率算出手段は、前記取得された前記各稼働率情報に示される稼働率のうち閾値以上の稼働率に基づいて前記総稼働率を算出することを特徴とする稼働率管理装置。 - 請求項1に記載のコンテンツ分散保存システムにおける前記ノード装置であって、
自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより当該稼働率管理装置から返信された前記総稼動率情報を受信する総稼動率情報受信手段と、
前記総稼働率情報に示される総稼働率が所定値以上であるか否かを判別する総稼働率判別手段と、
前記総稼働率が所定値未満である場合に、自己が保存しているコンテンツデータを前記サーバ装置に保存させる保存制御手段と、
を備えることを特徴とするノード装置。 - コンピュータを、請求項1乃至3の何れか一項に記載の稼働率管理装置として機能させることを特徴とする稼働率管理処理プログラム。
- コンピュータを、請求項4に記載のノード装置として機能させることを特徴とするノード処理プログラム。
- ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータが複数のノード装置に分散保存されたコンテンツ分散保存システムであり、各ノード装置は自己が保存していないコンテンツデータを、稼動中の他の前記ノード装置から取得又は当該他のノード装置から取得困難なときには当該コンテンツデータを保存しているサーバ装置から取得可能としたコンテンツ分散保存システムにおいて、
特定の前記コンテンツデータを保存している複数の前記ノード装置の稼動率を管理する稼働率管理装置は、
特定の前記コンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得する稼働率情報取得手段と、
前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出する総稼働率算出手段と、
を備え、
前記ノード装置は、
自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより当該稼働率管理装置から返信された前記総稼動率情報を受信する総稼動率情報受信手段と、
前記総稼働率情報に示される総稼働率が所定値以上であるか否かを判別する総稼働率判別手段と、
前記総稼働率が所定値未満である場合に、自己が保存しているコンテンツデータを前記サーバ装置に保存させる保存制御手段と、
を備えることを特徴とするコンテンツ分散保存システム。 - ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータが複数のノード装置に分散保存されたコンテンツ分散保存システムであり、各ノード装置は自己が保存していないコンテンツデータを、稼動中の他の前記ノード装置から取得又は当該他のノード装置から取得困難なときには当該コンテンツデータを保存しているサーバ装置から取得可能としたコンテンツ分散保存システムにおけるコンテンツデータ保存方法であって、
特定の前記コンテンツデータを保存している複数の前記ノード装置の稼動率を管理する稼働率管理装置が、
特定の前記コンテンツデータを保存している各前記ノード装置から稼働率を示す稼働率情報を取得する工程と、
前記取得された各前記稼働率情報に示される稼働率に基づいて、総稼働率を算出する工程と、
を備え、
前記ノード装置が、
自己が稼動停止する場合、又は自己が保存しているコンテンツデータを削除する場合には、前記稼働率管理装置に問い合わせることにより当該稼働率管理装置から返信された前記総稼動率情報を受信する工程と、
前記総稼働率情報に示される総稼働率が所定値以上であるか否かを判別する工程と、
前記総稼働率が所定値未満である場合に、自己が保存しているコンテンツデータを前記サーバ装置に保存させる工程と、
を備えることを特徴とするコンテンツデータ保存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007182212A JP2009020669A (ja) | 2007-07-11 | 2007-07-11 | コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007182212A JP2009020669A (ja) | 2007-07-11 | 2007-07-11 | コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009020669A true JP2009020669A (ja) | 2009-01-29 |
Family
ID=40360265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007182212A Withdrawn JP2009020669A (ja) | 2007-07-11 | 2007-07-11 | コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009020669A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011066723A (ja) * | 2009-09-17 | 2011-03-31 | Brother Industries Ltd | 情報処理装置、情報処理システム、情報処理方法及び情報処理用プログラム |
-
2007
- 2007-07-11 JP JP2007182212A patent/JP2009020669A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011066723A (ja) * | 2009-09-17 | 2011-03-31 | Brother Industries Ltd | 情報処理装置、情報処理システム、情報処理方法及び情報処理用プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007148545A (ja) | 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム | |
JP2008234445A (ja) | コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム | |
JP2007200203A (ja) | 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム | |
JP4702314B2 (ja) | コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びコンテンツデータ取得方法 | |
US20110072084A1 (en) | Information communication system, information communication method, and recording medium having information communication program stored thereon | |
JP2011211543A (ja) | 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2010113573A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム | |
JP5375272B2 (ja) | ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法 | |
JP2009284325A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP2009232272A (ja) | コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム | |
JP2009020669A (ja) | コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 | |
JP4935734B2 (ja) | コンテンツ分散保存システム、ノード装置及びノード処理プログラム並びにノード処理方法 | |
JP5458629B2 (ja) | ノード装置、ノード処理プログラム及び検索方法 | |
JP2010108082A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP2010066930A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP5257001B2 (ja) | ノード装置、ノード処理プログラム及び利用状況管理方法 | |
JP2010039722A (ja) | ノード装置、管理ノード装置、ノード処理プログラム、管理ノード処理プログラム、コンテンツ分散保存システム、複製データ取得方法 | |
JP5157770B2 (ja) | ノード装置、プログラム及び保存指示方法 | |
JP5412924B2 (ja) | ノード装置、ノード処理プログラム及びコンテンツデータ削除方法 | |
JP5007624B2 (ja) | コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム | |
JP5287059B2 (ja) | ノード装置、ノード処理プログラム及び保存指示方法 | |
JP2009129161A (ja) | コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム | |
JP5347876B2 (ja) | 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム | |
JP5326970B2 (ja) | コンテンツ配信システム、ノード装置、ノードプログラム、及び公開メッセージ送信方法 | |
JP2008310621A (ja) | コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100118 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110414 |