JP5293457B2 - 分散保存システム、ノード装置、並びにその処理方法及びプログラム - Google Patents

分散保存システム、ノード装置、並びにその処理方法及びプログラム Download PDF

Info

Publication number
JP5293457B2
JP5293457B2 JP2009154073A JP2009154073A JP5293457B2 JP 5293457 B2 JP5293457 B2 JP 5293457B2 JP 2009154073 A JP2009154073 A JP 2009154073A JP 2009154073 A JP2009154073 A JP 2009154073A JP 5293457 B2 JP5293457 B2 JP 5293457B2
Authority
JP
Japan
Prior art keywords
content data
group
content
distribution
network
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.)
Expired - Fee Related
Application number
JP2009154073A
Other languages
English (en)
Other versions
JP2011008707A (ja
Inventor
宏一 林
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 JP2009154073A priority Critical patent/JP5293457B2/ja
Publication of JP2011008707A publication Critical patent/JP2011008707A/ja
Application granted granted Critical
Publication of JP5293457B2 publication Critical patent/JP5293457B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、分散保存システム、ノード装置、並びにその処理方法及びプログラムに関する。
従来より、複数のノード装置をインターネット等のネットワークを介して接続して、ノード装置間で双方向での情報通信が可能なオーバーレイネットワークであるP2Pネットワークを構築するコンテンツ配信システムが知られている。この種のコンテンツ配信システムとして、各ノード装置内のストレージ(記憶手段)に、それぞれ様々なコンテンツデータを記憶させておくことにより、複数のノード装置のストレージ群からなる巨大なストレージを仮想的に構築する分散保存システムがある(例えば、特許文献1参照)。
このような分散保存システムにおいて、当該システムに投入された全てのコンテンツデータを配信可能に保障するためには、各コンテンツデータが当該システムに参加している少なくとも1台のノード装置内に記憶されている必要がある。しかし、この分散保存システムでは、任意のノード装置が任意のタイミングから脱退する。このとき、脱退したノード装置にしか記憶されていないコンテンツデータがあると、当該システムに投入された全てのコンテンツデータを完全に保障することができなくなる。
そこで、ノード装置による分散ストレージとは別に、当該システムに投入した全てのコンテンツデータを記憶し、ノード装置からの要求に応じてコンテンツデータを配信可能なサーバが配置されている(例えば、特許文献2参照。)。
特開2006−197400号公報 特開2006−209667号公報
一般的に、ノード装置の数が少ないP2Pネットワークは、分散してコンテンツデータを記憶させるノード装置が少ないため、特定のノード装置へコンテンツデータの取得要求が集中することがある。従って、P2Pネットワークの特徴である特定のノード装置への集中負荷の軽減、耐故障性を高めることができない。そのため、安定してシステムを運用することが難しい。
一方、インターネット上にノード装置の数が少ない複数のP2Pネットワークが存在する場合、複数のP2Pネットワークを1つのP2Pネットワークとしてノード装置の数を多くして運用することが考えられる。しかしながら、各ノード装置は、各ノード装置が属するP2Pネットワークのみからコンテンツデータのダウンロードを行う。結果としてノード装置の数は増えるが、コンテンツデータの保存先となるノード装置が増えることにつながらず、安定してシステムを運用することができなかった。
本発明は、かかる課題に鑑みてなされたものであり、サーバへのアクセスを低減し、安定して運用することができる分散保存システム、ノード装置、並びにその処理方法及びプログラムを提供することを目的とする。
上記目的を達成するために、請求項1に記載の発明は、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、をそれぞれ有する複数のノード装置と、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存手段と、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成手段と、前記生成手段で生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信手段と、を有する情報処理装置と、を備え、前記ノード装置は、複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得手段と、前記グループ情報取得手段により取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定手段と、を有し、前記情報処理装置の前記生成手段は、前記コンテンツデータを識別するためのコンテンツ識別情報と、前記コンテンツデータが再生可能な配信グループを識別するグループ識別情報とを含むコンテンツカタログを生成し、前記ノード装置の前記取得手段は、前記グループ判定手段により判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中からコンテンツデータを取得する分散保存システムとした。
また、請求項2に記載の発明は、請求項1に記載の分散保存システムにおいて、前記情報処理装置の前記生成手段は、前記配信グループ毎に使用制限がかけられた前記コンテンツカタログを生成し、前記ノード装置に備えられたグループ情報取得手段は、前記グループ情報と、当該グループ情報に対応する前記使用制限がかけられたコンテンツカタログの使用制限を解除する解除情報とを取得し、前記ノード装置は、前記グループ情報取得手段により取得された解除情報に基づいて、前記受信手段により受信されたコンテンツカタログの使用制限を解除する解除手段を備えることを特徴とする。
また、請求項3に記載の発明は、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、をそれぞれ有する複数のノード装置と、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存手段と、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成手段と、前記生成手段で生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信手段と、を有する情報処理装置と、を備え、前記情報処理装置は、各前記ノード装置が加入する配信グループを識別するグループ識別情報を記憶するグループ記憶手段を備え、前記情報処理装置の前記生成手段は、前記配信グループ毎に、前記配信グループのコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成し、前記情報処理装置の前記送信手段は、前記生成手段により生成されたカタログを、前記グループ記憶手段に記憶されたグループ識別情報に基づいてノード装置へ、その加入している配信グループのコンテンツカタログを送信する分散保存システムとした。
また、請求項4に記載の発明は、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、をそれぞれ有する複数のノード装置と、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存手段と、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成手段と、前記生成手段で生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信手段と、を有する情報処理装置と、を備え、各前記ノード装置は、前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定手段と、前記判定手段により、前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保する記憶制御手段とを備え、前記記憶制御手段は、前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除する分散保存システムとした。
また、請求項5に記載の発明は、請求項に記載の分散保存システムにおいて、前記情報処理装置は、前記所定容量値を決定する容量値決定手段を備え、前記情報処理装置の送信手段は、前記容量値決定手段により決定した前記所定容量値の情報を前記ノード装置へ送信し、前記ノード装置の前記記憶制御手段は、前記情報処理装置から通知された所定容量値の情報に基づいて、前記記憶手段に記憶したコンテンツデータの削除を行うことを特徴とする。
また、請求項6に記載の発明は、請求項5に記載の分散保存システムにおいて、前記情報処理装置の容量値決定手段は、前記配信グループ毎のコンテンツデータの配信状態に基づいて前記配信グループ毎に前記所定容量値を決定することを特徴とする。
また、請求項7に記載の発明は、各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得手段と、前記グループ情報取得手段により取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定手段と、を有し、前記取得手段は、前記グループ判定手段により判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中からコンテンツデータを取得することを特徴とするノード装置とした。
また、請求項8に記載の発明は、各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定手段と、前記判定手段により、前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保する記憶制御手段とを備え、前記記憶制御手段は、前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除することを特徴とするノード装置とした。
また、請求項9に記載の発明は、各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得ステップと、前記グループ情報取得ステップにおいて取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定ステップと、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータのうち前記グループ判定ステップにおいて判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中から、加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、をコンピュータに実現させるためのプログラムとした。
また、請求項10に記載の発明は、各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定ステップと、前記判定ステップにおいて前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保するとともに、前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除する記憶制御ステップと、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、をコンピュータに実現させるためのプログラムとした。
また、請求項11に記載の発明は、ノード装置が、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、前記ノード装置が、複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得ステップと、前記ノード装置が、前記グループ情報取得ステップにおいて取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定ステップと、前記ノード装置が、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、前記ノード装置が、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、前記ノード装置が、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、情報処理装置が、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存ステップと、前記情報処理装置が、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成ステップと、前記情報処理装置が、前記生成処理ステップで生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信ステップと、を含み、前記情報処理装置は、前記生成ステップにおいて、前記コンテンツデータを識別するためのコンテンツ識別情報と、前記コンテンツデータが再生可能な配信グループを識別するグループ識別情報とを含むコンテンツカタログを生成し、前記ノード装置は、前記取得ステップにおいて、前記グループ判定ステップにおいて判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中からコンテンツデータを取得することを特徴とする分散保存方法とした。
また、請求項12に記載の発明は、ノード装置が、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、前記ノード装置が、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、前記ノード装置が、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、前記ノード装置が、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、情報処理装置が、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存ステップと、前記情報処理装置が、各前記ノード装置が加入するグループ識別情報をグループ記憶手段に記憶する記憶ステップと、前記情報処理装置が、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成ステップと、前記情報処理装置が、前記生成処理ステップで生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信ステップと、含み、前記情報処理装置は、前記生成ステップにおいて、前記配信グループ毎に、前記配信グループのコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成し、前記情報処理装置は、前記送信ステップにおいて、前記生成ステップにおいて生成されたカタログを、前記グループ記憶手段に記憶されたグループ識別情報に基づいてノード装置へ、その加入している配信グループのコンテンツカタログを送信することを特徴とする分散保存方法とした。
また、請求項13に記載の発明は、ノード装置が、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、前記ノード装置が、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、前記ノード装置が、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、前記ノード装置が、前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定ステップと、前記ノード装置が、前記判定ステップにおいて前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保するとともに、前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除する記憶制御ステップと、前記ノード装置が、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、情報処理装置が、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存ステップと、前記情報処理装置が、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成ステップと、前記情報処理装置が、前記生成処理ステップで生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信ステップと、を含むことを特徴とする分散保存方法とした。
本発明によれば、ノード装置において、加入する配信グループのコンテンツデータに加え、加入していない配信グループのコンテンツデータを記憶し、加入していない配信グループのコンテンツデータを送信できるようにしたので、サーバへのアクセスを低減し、安定して運用することができる。
第1実施形態における分散保存システムの各ノード装置及びセンタサーバの接続態様の一例を示す図である。 分散保存システムの概要動作を説明するための図である。 ノード装置の第2記憶部へのコンテンツデータの記憶処理の説明図である。 コンテンツカタログの内容を示す図である。 ノード装置の具体的構成を示す図である。 ノード装置のメイン処理フローチャートである。 ノード装置における再生処理のフローチャートである。 ノード装置における記憶処理のフローチャートである。 ノード装置におけるクエリメッセージ処理のフローチャートである。 センタサーバの具体的構成を示す図である。 センタサーバにおけるメイン処理のフローチャートである。 センタサーバにおける配信グループ安定化処理のフローチャートである。
以下、本発明の一実施形態について具体的に説明する。なお、本実施形態では分散ハッシュテーブルを用いたP2P(Peer to Peer)型の分散保存システムを例にとり説明するが、P2P型の分散保存システムであればよく、これに限られない。
[1.第1実施形態]
[1.1.分散保存システムSの構成等]
まず始めに、図1〜図4を参照して、本発明の第1実施形態における分散保存システムの概要について説明する。
図1の下部枠51内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
分散保存システムSは、図1の上部枠50内に示すように、ネットワーク8を介して相互に接続された複数のノード装置1a1,1a2,・・・1b1,1b2,・・・と、センタサーバ2とを備えて構成される。各ノード装置1a1,1a2,・・・1b1,1b2,・・・とセンタサーバ2とは、それぞれ各装置を示す情報としての固有の製造番号(例えば、MACアドレス)及びIP(Internet Protocol)アドレスなどが割り当てられている。また、以下の説明において、ノード装置1a1,1a2,・・・1b1,1b2,・・・のうち何れかのノード装置又は全てのノード装置を示す場合には、便宜上、ノード装置1という。なお、センタサーバ2は、情報処理装置として、ノード装置1との間で各種情報を送受信する。
本実施形態の分散保存システムSにおいては、図1の上部枠50内に示すような、ネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9が構築される。また、オーバーレイネットワーク9は、複数のノード装置1a1,1a2,・・・1b1,1b2,・・・から形成されており、P2P(Peer to Peer)方式のネットワークである。なお、以下において、オーバーレイネットワーク9上に配置されたノード装置1を、分散保存システムSに参加しているノード装置1という。
各ノード装置1は、複数の配信グループのうち少なくともいずれか1つの配信グループに加入している。本実施形態においては、図2に示すように、ノード装置1a1,1a2,・・・が配信グループAに加入し、ノード装置1b1,1b2,・・・が配信グループBに加入しているものとする。
各ノード装置1は、加入する配信グループのコンテンツデータを取得し、再生することができるように構成されている。各ノード装置1のユーザは、所望の配信グループに加入することで、所望のコンテンツデータを取得し再生して視聴することができる。例えば、図2に示す例では、ノード装置1a1,1a2,・・・は配信グループAのコンテンツデータを取得して再生できる。また、ノード装置1b1,1b2,・・・は配信グループBのコンテンツデータを取得して再生することができる。
本実施形態においては、配信グループAと配信グループBとは、そのサービス主体が異なる。センタサーバ2は、ネットワークを介して配信グループAのサービス主体のコンピュータ(図示せず)から配信用のコンテンツデータを取得する。センタサーバ2は、この配信用のコンテンツデータに所定の加工処理(例えば、ウィルスチェックなど)を施し、配信グループAのコンテンツデータとする。同様に、センタサーバ2は、ネットワークを介して配信グループBのサービス主体のコンピュータ(図示せず)から配信用のコンテンツデータを取得する。センタサーバ2は、この配信用のコンテンツデータに所定の加工処理を施し、配信グループBのコンテンツデータとする。
センタサーバ2は、配信グループAのコンテンツデータを配信グループAに加入する複数のノード装置1の一部に送信する。また、センタサーバ2は、配信グループBのコンテンツデータを配信グループBに加入する複数のノード装置1の一部に送信する。これにより、各ノード装置1において、加入する配信グループのコンテンツデータを取得し、再生することが可能となる。
その後、コンテンツデータを取得しようとするノード装置1(以下、「リクエスタ」とも呼ぶ。)が、このコンテンツデータを保持するノード装置1(以下、「コンテンツホルダ」とも呼ぶ。)を探す。その後、リクエスタは、このコンテンツホルダからコンテンツデータを取得することになる。一方、コンテンツホルダがシステムSから脱退するなどして、コンテンツホルダがシステムS内に存在しなくなったとき、リクエスタは、センタサーバ2からコンテンツデータを取得することになる。また、アクセスが集中するなどしてコンテンツホルダがコンテンツデータをリクエスタへ送信できないときも同様に、リクエスタはセンタサーバ2からコンテンツデータを取得することになる。なお、リクエスタは、コンテンツデータを取得すると、その再生を行うと共にその記憶を保持し、その後コンテンツホルダとして機能することになる。
このように、コンテンツホルダがない場合やコンテンツホルダにアクセスが集中している場合には、リクエスタはセンタサーバ2に対してコンテンツデータを要求する。このとき、センタサーバ2へアクセスするリクエスタが多いと、センタサーバ2に負荷がかかり安定してシステムSを運用することができない恐れがある。
そこで、本実施形態に係る分散保存システムSでは、異なる配信グループのノード装置1へのコンテンツデータの投入処理を行うようにしている。これにより、センタサーバ2への負荷を軽減し、安定して動作させるようにしている。
すなわち、センタサーバ2は、配信グループAのコンテンツデータを配信グループBに加入する複数のノード装置1の一部にも送信する。センタサーバ2は、配信グループBのコンテンツデータを配信グループAに加入する複数のノード装置1の一部にも送信する。これにより、各配信グループのコンテンツデータが異なる配信グループに属するノード装置1に記憶されることになる。例えば、ノード装置1a1が配信グループAに加入しているとすると、図3に示すように、ノード装置1a1の記憶手段には、配信グループAで配信されるコンテンツデータに加え、加入していない配信グループBのコンテンツデータが記憶可能となる。同様に、ノード装置1b1が配信グループBに加入しているとすると、図3に示すように、ノード装置1b1の記憶手段には、配信グループBで配信されるコンテンツデータに加え、加入していない配信グループAのコンテンツデータが記憶可能となる。
そして、各ノード装置1が、各ノード装置1が加入する配信グループのコンテンツデータを、異なる配信グループのノード装置1からも取得できるようにする。例えば、図2に示すように、ノード装置1a1が配信グループAに加入し、ノード装置1b1が配信グループBに加入しているとする。このとき、配信グループBのノード装置1b1が配信グループAのコンテンツデータを記憶しているとき、配信グループAのノード装置1a1はノード装置1b1から配信グループAのコンテンツデータを取得できるようにする。また、配信グループAのノード装置1a1が配信グループBのコンテンツデータを記憶しているとき、配信グループBのノード装置1b1はノード装置1a1から配信グループBのコンテンツデータを取得できるようにする。これにより、リクエスタは、自ノード装置と同一の配信グループに加入している他のノード装置からコンテンツデータを取得できないときであっても、異なる配信グループに加入しているノード装置1からコンテンツデータを取得することができる。特に、ノード装置1の数が少ない配信グループに対して有効である。本実施形態の分散保存システムSでは、ノード装置1の数が少ない配信グループであっても、他の配信グループのノード装置1に分散してコンテンツデータを記憶させることができるので、コンテンツホルダの数が不十分になることを抑制することができる。そのため、配信グループでのコンテンツデータの配信を安定させることができる。
各ノード装置1は、新しいコンテンツデータを記憶手段に記憶するときに、その記憶手段の空き容量が足りないときには、記憶手段に記憶している複数のコンテンツデータのうち一部を削除することによって、記憶容量を確保する。
このとき、加入する配信グループとは異なる配信グループのコンテンツデータ(「非加入コンテンツデータ」とも呼ぶ。)を削除すると、非加入コンテンツデータが所定の第1容量値(例えば、記憶手段の総記憶容量の35%)以下となる場合には、非加入コンテンツデータの削除を行わず、加入する配信グループのコンテンツデータ(以下、「加入コンテンツデータ」とも呼ぶ。)を削除する。
このようにすることで、記憶手段に記憶するコンテンツデータの入れ替えを行いつつ、非加入コンテンツデータを最低限の容量は確保することができる。従って、配信グループ間でコンテンツデータを補完して、コンテンツデータの送受信をノード装置1間で行える確率を向上させることができる。
また、加入コンテンツデータを削除すると、加入コンテンツデータが所定の第2容量値(例えば、記憶手段の総記憶容量の55%)以下となる場合には、加入コンテンツデータの削除を行わず、非加入コンテンツデータを削除する。
このようにすることで、記憶手段に記憶するコンテンツデータの入れ替えを行いつつ、加入コンテンツデータを一定の容量値分は確保することができる。従って、加入する配信グループでのコンテンツデータの送受信をノード装置1間で行える確率を向上させることができる。
また、上述した第1容量値や第2容量値は、配信グループでのコンテンツデータの配信状態に基づいて配信グループ毎に決定するようにしており、具体的には以下のように実行される。
配信グループ毎に、所定のノード装置1がコンテンツデータ毎の配信状況の情報を取得し、センタサーバ2へ送信する。配信状況の情報として、例えば、コンテンツデータのリクエスト履歴やコンテンツホルダの数の情報などが含まれる。センタサーバ2は、ノード装置1から取得した配信状況の情報に基づいて、各配信グループの安定度を判定する。例えば、リクエスタの数に対してコンテンツホルダの数が少なく、センタサーバ2へのアクセス数が所定以上になるコンテンツデータ(以下、「不安定コンテンツデータ」と呼ぶ。)があると判定した配信グループに対しては、不安定な配信グループであると判定する。一方、そうではない場合には、安定した配信グループであると判定する。センタサーバ2は、不安定であると判定した配信グループの記憶容量を増加させるように、第1容量値や第2容量値を決定し、各ノード装置1へ通知する。各ノード装置1は、通知された容量値に基づいて、記憶手段へのコンテンツデータの記憶処理を行う。このようにすることで、不安定な配信グループを安定させることができる。例えば、配信グループAが不安定であり、配信グループBが安定しているとき、配信グループAのノード装置1の第1容量値を例えば30%とし、第2容量値を例えば60%とする。一方、配信グループBのノード装置1の第1容量値を例えば40%とし、第2容量値を例えば50%とする。なお、配信グループA,Bが共に安定しているときには、第1容量値を例えば35%とし、第2容量値を例えば55%とする。
さらに、センタサーバ2は、不安定であると判定した配信グループの上述した不安定コンテンツデータを増加させるように、不安定と判定した配信グループの不安定コンテンツデータをノード装置1へ投入する。例えば、配信グループAが不安定であり、配信グループBが安定しているとき、配信グループAの不安定コンテンツデータを、配信グループAに加入する所定数のノード装置1と配信グループBに加入する所定数のノード装置1へ投入する。このようにすることで、不安定な配信グループの不安定コンテンツデータを増加させて、安定させることができる。また、不安定と判定された配信グループの不安定コンテンツデータを、安定した配信グループに属するノード装置へ投入するので、例えば、加入しているノード装置1の数が少なく、ノード装置1の脱退が多い配信グループである場合でも、不安定な配信グループでのコンテンツデータの配信を安定させることができる。
このように、センタサーバ2は、コンテンツデータの配信状態に基づいて、配信グループ毎に第1容量値や第2容量値を決定し、各ノード装置1へ通知することで、各配信グループを安定して運用することができる。
ここで、リクエスタがコンテンツホルダからコンテンツデータを取得する手順を説明する。
各ノード装置1及び各コンテンツデータにはそれぞれ固有の識別情報が割り当てられており、この識別情報に基づいて、ノード装置1間でデータの送受信を行う。固有の識別情報として、ノード装置1にはノードIDが割り当てられる。また固有の識別情報として、コンテンツデータにはコンテンツIDが割り当てられる。ノードIDは、例えば、各ノード装置1のMACアドレス又はIPアドレスを所定のハッシュ関数でハッシュ化して生成される。また、コンテンツIDは、例えば、各コンテンツデータのタイトル名や内容の情報をノードIDの生成で用いたハッシュ関数と同じハッシュ関数でハッシュ化して生成される。本実施形態においては、各ノードID及び各コンテンツIDはyビット(例えば、y=8)の数字で規定される。そして、コンテンツIDを超えず、このコンテンツIDに最も近いノードIDを有するノード装置1(以下、「ルートノード」と呼ぶ。)がそのコンテンツIDに対応するインデックステーブルを記憶しているものとする。このインデックステーブルは、コンテンツIDに対応するコンテンツデータを保持するコンテンツホルダの所在情報(以下、「ホルダ情報」と呼ぶ。)とコンテンツIDとを関連づけたテーブルである。なお、ホルダ情報は、例えば、コンテンツホルダのIPアドレスである。また、各ノード装置1は、一部のノード装置1のノードIDと所在情報とを関連づけたテーブル(以下、「ルーティングテーブル」と呼ぶ。)を記憶している。各ノード装置1は、所在情報を記憶したノード装置1のうち宛先IDに最も近いノードIDのノード装置1をルーティングテーブルから選択してメッセージを送信したり、転送したりする。なお、コンテンツID、ノードID、インデックステーブル及びルーティングテーブルについては、例えば、特開2008−250570号公報等に記載された技術と同様である。
各ノード装置1は、コンテンツデータを取得すると、コンテンツホルダとなる。コンテンツホルダとなったノード装置1は、取得したコンテンツデータのコンテンツIDを宛先IDとし、パブリッシュメッセージを送信する。このとき、コンテンツホルダは、パブリッシュメッセージをルーティングテーブルに記憶したノードIDのうち、宛先IDに最も近いノードIDのノード装置1へ送信する。このパブリッシュメッセージには、取得したコンテンツデータのコンテンツIDやホルダ情報である自ノード装置1の所在情報などが含まれる。このパブリッシュメッセージは、他のノード装置1により転送されてルートノードに到達し、ルートノードでパブリッシュメッセージに含まれるホルダ情報が記憶される。
一方、各ノード装置1は、リクエスタとしてコンテンツデータを取得しようとするとき、ホルダ情報を問い合わせるためのクエリメッセージを送信する。このとき、リクエスタは、取得しようとするコンテンツデータのコンテンツIDをクエリメッセージの宛先IDとする。そして、リクエスタは、ルーティングテーブルに記憶したノードIDのうち、宛先IDに最も近いノードIDのノード装置1にクエリメッセージを送信する。このクエリメッセージは、他のノード装置1により転送されてルートノードに到達する。ルートノードは、ホルダ情報をリクエスタへ送信する。これにより、リクエスタは、コンテンツホルダの所在情報を知ることになり、コンテンツホルダにコンテンツデータの取得要求を行って、コンテンツデータを取得する。
ところで、センタサーバ2は、各配信グループで再生できるコンテンツデータのリスト(以下、「コンテンツカタログ」とする。)を生成してノード装置1へ投入する機能などを有している。
このコンテンツカタログは、複数の配信グループA,Bで共通であり、再生できるコンテンツデータのタイトル名、コンテンツID及びグループ識別情報を含む。例えば、図4に示すように、コンテンツカタログは、タイトル名、コンテンツID及びグループ識別情報が互いに関連づけられた情報を有している。
各ノード装置1は、加入している配信グループを識別するための加入グループ情報を記憶手段に記憶している。この加入グループ情報は、各ノード装置1が新規に配信グループに参加するときに、センタサーバ2へ要求して取得するものであるが、各配信グループのコンテンツデータを管理する他のサーバから取得するようにしてもよい。
加入グループ情報は、例えば、配信グループごとの設定ファイル(電子証明書など)であり、各ノード装置1は、記憶手段に記憶している加入グループ情報に基づいて、加入している配信グループを判定する。複数の加入グループ情報を有するノード装置1では、使用する加入グループ情報を切り替えることにより、参加する配信グループを選択する。このようにすることにより、ノード装置1が利用している配信グループを明確にすることができる。なお、複数の加入グループ情報を有する場合には、各加入グループ情報に対応する配信グループの全てに参加するようにしてもよい。
各ノード装置1は、上述のように加入グループ情報に基づいて加入している配信グループを判定する。そして、各ノード装置1は、コンテンツカタログのグループ識別情報に基づき、加入している配信グループのコンテンツデータを再生することができる。一方、各ノード装置1は、加入していない配信グループのコンテンツデータは再生できないように制限される。
従って、各ノード装置1は、記憶手段に非加入コンテンツデータが記憶されているときであっても、その非加入コンテンツデータの再生が規制され、利用が制限される。
例えば、配信グループAに加入しているノード装置1a1は、コンテンツデータを取得して記憶手段に記憶した後、そのコンテンツデータが配信グループAのコンテンツデータかどうかをコンテンツカタログを参照してチェックする。このとき、取得したコンテンツデータが配信グループAのコンテンツデータである場合は、コンテンツデータの記憶手段からの読み出しを許可し、コンテンツデータの読み出しを行う。一方、取得したコンテンツデータが配信グループAのコンテンツデータでない場合は、コンテンツデータの記憶手段からの読み出しを許可しない。
また、センタサーバ2がコンテンツカタログに含まれるコンテンツIDを暗号化するようにしてもよい。このとき、各ノード装置1は、加入配信グループのコンテンツIDのみ復号化する。このようにすることによっても、各ノード装置1では、非加入配信グループのコンテンツデータを取得できないようにすることができる。具体的には、センタサーバ2の制御部は、配信グループ毎にそれぞれ異なる暗号化キーにより使用制限がかけられたコンテンツIDを生成する。そして、センタサーバ2の制御部は、このように生成したコンテンツIDを含むコンテンツカタログを生成する。さらに、センタサーバ2の制御部は、各ノード装置1に対し、それぞれが属する配信グループの復号キーを送信する。一方、ノード装置1の制御部は、センタサーバ2から加入配信グループの復号キーを受信する。ノード装置1の制御部は、この復号キーを用いて、暗号化により使用制限がかけられたコンテンツIDをコンテンツカタログから読み出して復号化する。また、各ノード装置1は、非加入配信グループの復号キーは取得しておらず、非加入配信グループのコンテンツIDは復号化することがでない。
また、センタサーバ2は、各コンテンツIDを暗号化するのではなく、コンテンツカタログを暗号化することもできる。このとき、各ノード装置1は、コンテンツカタログを復号化して、加入配信グループのコンテンツIDを取得する。具体的には、センタサーバ2の制御部は、単位を配信グループ毎に、例えば、コンテンツID、コンテンツタイトル、コンテンツ内容などを含むカタログ情報を生成する。そして、センタサーバ2の制御部は、配信グループ毎にそれぞれ異なる暗号化キーにより使用制限がかけられたカタログ情報を生成する。そして、センタサーバ2の制御部は、このように生成したカタログ情報を含むコンテンツカタログを生成する。さらに、センタサーバ2の制御部は、各ノード装置1に対し、それぞれが属する配信グループの復号キーを送信する。一方、ノード装置1の制御部は、センタサーバ2から加入配信グループの復号キーを受信する。ノード装置1の制御部は、この復号キーを用いて、暗号化により使用制限がかけられたコンテンツカタログから加入配信グループのカタログ情報を読み出して復号化する。また、各ノード装置1は、非加入配信グループの復号キーは取得しておらず、非加入配信グループのカタログ情報は復号化することがでない。
また、各ノード装置1は、加入していない配信グループのコンテンツデータを検索するためのクエリメッセージを送信しないようにすることもできる。例えば、配信グループAに加入しているノード装置1a1は、配信グループBのコンテンツデータを取得するためにクエリメッセージを送信しようとするとき、コンテンツデータに関連づけられたグループ識別情報をコンテンツカタログから取得してチェックする。そのコンテンツデータが、加入している配信グループA以外のコンテンツデータであれば、クエリメッセージを送信しないようにすることで、配信グループA以外のコンテンツデータを利用できないように制御することができる。
[1.2.ノード装置の具体的構成及び動作の説明]
以下、図面を参照して、ノード装置1の具体的構成及び動作の一例について説明する。
(ノード装置1の構成について)
まず、ノード装置1の構成について説明する。
ノード装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図5に示すように、制御部11、第1記憶部12、第2記憶部13、バッファメモリ14、デコーダ部15、映像処理部16、表示部17、音声処理部18、スピーカ19、入力部20、通信部21を備えている。なお、制御部11、第1記憶部12、第2記憶部13、バッファメモリ14、デコーダ部15、通信部21は、システムバス22を介して相互に接続されている。
制御部11は、CPU(Central Processing Unit)、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、受信手段、取得手段、送信手段、記憶制御手段、加入グループ判定手段、グループ情報取得手段等として機能する。
なお、この情報処理プログラムは、例えば、ネットワーク8に接続されたサーバ(例えば、センタサーバ2)から、通信部21を介して、制御部11の内部メモリにダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部11の内部メモリに読み込まれるようにしてもよい。
第1記憶部12は、ルーティングテーブル、インデックステーブル、第1容量値や第2容量値等を記憶する書き換え可能なメモリである。第2記憶部13は、センタサーバ2や他のノード装置1から取得したコンテンツデータを記憶する不揮発性メモリである。
バッファメモリ14は、ネットワーク8を介して取得したコンテンツデータを一時的に記憶するメモリである。デコーダ部15は、バッファメモリ14に記憶したコンテンツデータを順次取り出してデコードする。映像処理部16は、デコーダ部15によりデコードされたコンテンツデータのうち映像情報を、表示部17で表示可能な情報に変換処理する。また、音声処理部18は、デコーダ部15によりデコードされたコンテンツデータのうち音声情報を、スピーカ19で音波として出力可能な情報に変換処理する。
(ノード装置1の動作について)
以上のように構成されたノード装置1の動作を図面を参照して具体的に説明する。なお、以下の各処理は、制御部11のCPUが内部メモリに記憶した情報処理プログラムを実行状態とし、上述した各手段等として機能することによって実行されるものである。
図6に示すように、メイン処理を開始すると、制御部11は、通信部21を介してセンタサーバ2に対し、コンテンツIDを含むコンテンツカタログを要求する。制御部11は、この要求に対してセンタサーバ2から送信されるコンテンツカタログを通信部21を介して取得する(ステップS1)。このとき、制御部11は、取得したコンテンツカタログに含まれるコンテンツデータのタイトル名を表示部17に表示するようにしてもよい。このように、制御部11は、配信グループを識別するためのグループ識別情報とコンテンツデータを識別するためのコンテンツ識別情報とが関連づけられたコンテンツカタログをネットワークを介して受信する受信手段として機能する。また、制御部11は、通信部21を介してセンタサーバ2に対し、加入配信グループのグループ識別情報を要求する。
次に、制御部11は、再生指示があるか否かを判定する(ステップS2)。この処理において、制御部11は、例えば、利用者による入力部20への操作によって、表示部17に表示されているコンテンツカタログの中からコンテンツデータが選択されたときに、制御部11は、再生指示があったと判定する。
制御部11は、再生指示があったと判定すると(ステップS2:Yes)、再生処理を開始する(ステップS3)。この再生処理は、図7に示すステップS20〜S29に示す処理であり、後で詳述する。再生指示がないと判定すると(ステップS2:No)、制御部11は、通信部21を介して他のノード装置1からクエリメッセージを受信したか否かを判定する(ステップS4)。この処理において、クエリメッセージを受信したと判定すると(ステップS4:Yes)、制御部11は、クエリメッセージ処理を開始する(ステップS5)。このクエリメッセージ処理は、図9におけるステップS40〜S48の処理であり、後で詳述する。
ステップS4において、クエリメッセージを受信していないと判定すると(ステップS4:No)、制御部11は、通信部21を介して他のノード装置1からパブリッシュメッセージを受信したか否かを判定する(ステップS6)。この処理において、パブリッシュメッセージを受信したと判定すると(ステップS6:Yes)、制御部11は、パブリッシュメッセージ処理を開始する(ステップS7)。このパブリッシュメッセージ処理は、パブリッシュメッセージに含まれるホルダ情報を第1記憶部12に記憶したインデックステーブルに追加する処理である。なお、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、パブリッシュメッセージの宛先IDが自ノード装置1のノードIDと最も近いものではないと判定すると、自装置がルートノードではないと判定して、ルーティングテーブルに基づき、パブリッシュメッセージを通信部21を介して他のノード装置1へ転送する。
ステップS6において、パブリッシュメッセージを受信していないと判定すると(ステップS6:No)、制御部11は、通信部21を介して他のノード装置1からコンテンツデータの送信要求があったか否かを判定する(ステップS8)。この処理において、通信部21を介し、コンテンツデータの送信要求があったと判定すると(ステップS8:Yes)、制御部11は、送信要求に対応するコンテンツデータを第2記憶部13から読み出し、送信要求元のノード装置1へ通信部21を介して送信する(ステップS9)。このように、制御部11は、ネットワークを介してコンテンツデータの送信要求を受信したとき、送信要求に対応するコンテンツデータを記憶手段から読み出し、送信要求元へネットワークを介して送信する送信手段として機能する。
ステップS8において、コンテンツデータの送信要求がないと判定すると(ステップS8:No)、制御部11は、通信部21を介してセンタサーバ2からコンテンツデータの保持要求があったか否かを判定する(ステップS10)。この処理において、コンテンツデータの保持要求があったと判定すると(ステップS10:Yes)、制御部11は、保持要求があったコンテンツデータを、第2記憶部13に記憶すべき新規コンテンツデータとして記憶処理を開始する(ステップS11)。この記憶処理は、図8におけるステップS30〜S36の処理であり、後で詳述する。
ステップS10において、コンテンツデータの保持要求がなかったと判定すると(ステップS10:No)、制御部11は、容量値情報をセンタサーバ2から通信部21を介して受信したか否かを判定する(ステップS12)。ここで、容量値情報とは、上述した第1容量値や第2容量値である。この処理において、容量値情報を受信したと判定すると(ステップS12:Yes)、制御部11は、受信した容量値の情報を第1記憶部12に記憶する(ステップS13)。このように制御部11は、センタサーバ2から通知された所定容量値の情報を第1記憶部12に記憶する記憶制御手段として機能する。
ステップS12において、容量値情報を受信していないと判定すると(ステップS12:No)、制御部11は、センタサーバ2から通信部21を介して配信情報リクエストメッセージを受信したかを判定する(ステップS14)。この処理において、配信情報リクエストメッセージを受信したと判定すると(ステップS14:Yes)、制御部11は、第1記憶部12に記憶している配信状況の情報を読み出し、通信部21を介してセンタサーバ2へ送信する(ステップS15)。なお、配信状況の情報として、例えば、コンテンツデータのリクエスト履歴やコンテンツホルダの数の情報などが含まれる。このように、制御部11は、ネットワークを介して配信状況の情報の送信要求を受信したとき、この配信状況の情報を記憶手段から読み出し、要求元へネットワークを介して送信する送信手段として機能する。
ステップS3,S5,S7,S9,S11,S13,S15の処理が終了したとき、又は、配信情報リクエストメッセージを受信していないと判定すると(ステップS14:No)、制御部11は、終了指示を検知したかを判定する(ステップS16)。例えば、自ノード装置1の電源がOFF状態へ移行したとき、制御部11は、終了指示を検知する。制御部11は、終了指示を検知したと判定すると(ステップS16:Yes)、本メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS16:No)、ステップS2からの処理を繰り返す。
次に、ステップS3で開始される再生処理について図7のフローチャートを参照して具体的に説明する。
図7に示すように、再生処理を開始すると、制御部11は、再生指示のあったコンテンツデータが第2記憶部13に記憶されているか否かを判定する(ステップS20)。第2記憶部13には、コンテンツデータがコンテンツIDに関連づけられて記憶されている。制御部11は、コンテンツIDに基づいて第2記憶部13に再生指示のあったコンテンツデータが記憶されているか否かを判定する。
第2記憶部13に再生指示のあったコンテンツデータが記憶されていないと判定すると(ステップS20:No)、制御部11は、再生指示のあったコンテンツデータが加入している配信グループ(以下、「加入配信グループ」とする。)のコンテンツデータであるか否かを判定する(ステップS21)。この処理において、制御部11は、コンテンツカタログを参照し、再生指示のあったコンテンツデータのコンテンツIDに関連づけられたグループ識別情報が加入している配信グループのグループ識別情報と一致するときに、加入配信グループのコンテンツデータであると判定する。上述したように配信グループに加入するときに、制御部11は、加入する配信グループを識別するための加入グループ情報をセンタサーバ2から通信部21を介して取得し、第1記憶部12(加入グループ情報記憶手段の一例に相当)に記憶する。そして、制御部11は、第1記憶部12に記憶した加入グループ情報に対応するグループ識別情報を判定する。なお、加入グループ情報をグループ識別情報と同一の情報としてもよい。このように、制御部11は、加入グループ情報をネットワークを介して少なくとも1つ取得するグループ情報取得手段、第1記憶部12に記憶した加入グループ情報に基づいて、加入している配信グループを判定する加入グループ判定手段として機能する。
再生指示のあったコンテンツデータが加入配信グループのコンテンツデータではないと判定すると(ステップS21:No)、制御部11は、表示部17に表示ができない旨の表示を行い(ステップS29’)、再生処理を終了する。
一方、再生指示のあったコンテンツデータが加入配信グループのコンテンツデータであると判定すると(ステップS21:Yes)、制御部11は、再生指示のあったコンテンツデータのコンテンツIDを宛先IDとしたクエリメッセージを、第1記憶部12に記憶したルーティングテーブルに基づき、通信部21を介して送信する(ステップS22)。その後、制御部11は、ホルダ情報を取得したか否かを判定する(ステップS23)。この処理において、制御部11は、ステップS22において送信したクエリメッセージに対して他のノード装置1から所定期間内にホルダ情報を通信部21を介して受信したときに、ホルダ情報を取得したと判定する。
ホルダ情報を受信したと判定すると(ステップS23:Yes)、制御部11は、このホルダ情報に基づき、他のノード装置1に再生指示のあったコンテンツデータの送信要求を行う(ステップS24)。一方、ホルダ情報を受信できないとき(ステップS23:No)、制御部11は、再生指示のあったコンテンツデータの送信要求を通信部21を介してセンタサーバ2に対して行う(ステップS27)。
ステップS24,S27の処理が終了すると、制御部11は、再生指示のあったコンテンツデータを新規コンテンツデータとして記憶処理を開始する(ステップS25)。この記憶処理は、図8におけるステップS30〜S36の処理であり、後で詳述する。その後、制御部11は、取得したコンテンツデータの再生を行う(ステップS26)。バッファメモリ14に記憶したコンテンツデータをデコーダ部15により順次取り出してデコードし、その映像情報を表示部17に表示し、その音声情報をスピーカ19から出力して、再生処理を終了する。このように、制御部11は、複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータを、コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段として機能する。より具体的には、制御部11は、コンテンツカタログに含まれるコンテンツ識別情報のうち、グループ情報取得手段として機能して取得した加入グループ情報に対応するグループ識別情報に関連づけられたコンテンツ識別情報を選択し、この選択したコンテンツ識別情報のコンテンツデータをネットワークを介して取得する取得手段として機能する。
ステップS20において、再生指示のあったコンテンツデータが第2記憶部13に記憶されていると判定すると(ステップS20:Yes)、制御部11は、再生指示のあったコンテンツデータが加入配信グループであるか否かを判定する(ステップS28)。この処理において、再生指示のあったコンテンツデータが加入配信グループであると判定すると(ステップS28:Yes)、制御部11は、再生指示のあったコンテンツデータを第2記憶部13から順次読み出してデコーダ部15でデコードし、その映像情報を表示部17に表示し、その音声情報をスピーカ19から出力して(ステップS29)、本再生処理を終了する。一方、再生指示のあったコンテンツデータが加入配信グループではないと判定すると(ステップS28:No)、制御部11は、第2記憶部13からのコンテンツデータの読み出しを行わずに、表示部17に表示ができない旨の表示を行い(ステップS29’)、再生処理を終了する。
次に、ステップS11,S25で開始される記憶処理について図8のフローチャートを参照して具体的に説明する。
図8に示すように、記憶処理を開始すると、制御部11は、第2記憶部13に空き領域があるか否かを判定する(ステップS30)。この処理において、制御部11は、第2記憶部13の総記憶領域のうち、コンテンツデータを記憶している記憶領域を除く記憶領域に、新規コンテンツデータ(再生指示のあったコンテンツデータや保持要求があったコンテンツデータ)が記憶できるときに、第2記憶部13に空き領域があると判定する。
第2記憶部13に空き領域がないと判定すると(ステップS30:No)、制御部11は、新規コンテンツデータが加入配信グループのコンテンツデータであるか否かを判定する(ステップS31)。この処理において、制御部11は、コンテンツカタログを参照し、新規コンテンツデータのコンテンツIDに関連づけられたグループ識別情報が加入している配信グループのグループ識別情報と一致するときに、加入配信グループのコンテンツデータであると判定する。
新規コンテンツデータが加入配信グループのコンテンツデータであると判定すると(ステップS31:Yes)、制御部11は、第1記憶部12に記憶した第1容量を読み出す。また、制御部11は、第2記憶部13の記憶領域のうち、非加入配信グループのコンテンツデータを記憶している領域(以下、「第2領域」とする。)の容量値を検出する。そして、制御部11は、この第2領域に記憶しているコンテンツデータを削除して新規コンテンツデータを記憶すると第2領域の容量値が第1容量値以下となるか否かを判定する(ステップS32)。この処理において、第2領域の容量値が第1容量値以下になると判定すると(ステップS32:Yes)、加入配信グループのコンテンツデータを記憶している領域(以下、「第1領域」とする。)に記憶しているコンテンツデータを1以上削除する(ステップS33)。これにより、新規コンテンツデータを第2記憶部13に記憶するための領域を確保することができる。その後、制御部11は、新規コンテンツデータを第2記憶部13の第1領域に記憶する(ステップS34)。
一方、第2領域の容量値が第1容量値以下にならないと判定すると(ステップS32:No)、制御部11は、第2記憶部13の第2領域に記憶しているコンテンツデータを1以上削除し(ステップS35)、新規コンテンツデータを第2記憶部13の第2領域に記憶する(ステップS34)。
ステップS31において、新規コンテンツデータが加入配信グループのコンテンツデータはないと判定すると(ステップS31:No)、制御部11は、第1記憶部12に記憶した第2容量を読み出す。そして、制御部11は、第2記憶部13の第1領域の容量値が、この第1領域に記憶しているコンテンツデータを削除して新規コンテンツデータを記憶すると第2容量値以下となるか否かを判定する(ステップS36)。この処理において、第1領域が第2容量値以下となると判定すると(ステップS36:Yes)、制御部11は、第2記憶部13の第2領域に記憶しているコンテンツデータを1以上削除する(ステップS35)。その後、制御部11は、新規コンテンツデータを第2記憶部13の第2領域に記憶する(ステップS34)。一方、第1領域が第2容量値以下とならないと判定すると(ステップS36:No)、制御部11は、第2記憶部13の第1領域に記憶しているコンテンツデータを1以上削除する(ステップS33)。その後、制御部11は、新規コンテンツデータを第2記憶部13の第1領域に記憶する(ステップS34)。
また、ステップS30において、第2記憶部13に空き領域があると判定すると(ステップS30:Yes)、制御部11は、第2記憶部13の空き領域に、新規コンテンツデータを記憶する(ステップS34)。
このように、第2記憶部13は、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段として機能する。また、制御部11は、判定手段、記憶制御手段として機能する。すなわち、制御部11は、第2記憶部13に新たなコンテンツデータを記憶するときに、第2記憶部13の記憶容量が不足しているか否かを判定する。また、制御部11は、第2記憶部13の記憶容量が不足していると判定すると、この第2記憶部13に記憶している1以上のコンテンツデータを削除して、新たなコンテンツデータを記憶する領域を確保する。また、制御部11は、加入していない配信グループのコンテンツデータを削除すると、加入していない配信グループのコンテンツデータが所定の第1容量値以下となるか否かを判定する。このとき、所定の第1容量値以下となる場合には、制御部11は、加入していない配信グループのコンテンツデータの削除を行わず、加入している配信グループのコンテンツデータを削除する。さらに、制御部11は、加入している配信グループのコンテンツデータを削除すると、加入している配信グループのコンテンツデータが所定の第2容量値以下となるか否かを判定する。このとき、所定の第2容量値以下となる場合には、制御部11は、加入している配信グループのコンテンツデータの削除を行わず、加入していない配信グループのコンテンツデータを削除する。
次に、ステップS5で開始されるクエリメッセージ処理について図9のフローチャートを参照して具体的に説明する。
図9に示すように、クエリメッセージ処理を開始すると、制御部11は、クエリメッセージで検索要求されたコンテンツデータのルートノードであるか否かを判定する(ステップS40)。この処理において、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、クエリメッセージの宛先IDが自ノード装置1のノードIDと最も近いと判定すると、自ノード装置1がルートノードであると判定する。
ルートノードであると判定すると(ステップS40:Yes)、制御部11は、ホルダ情報を通知済みであるか否かを判定する(ステップS41)。この処理において、制御部11は、クエリメッセージに含まれるホルダ情報通知済みフラグがセットされているときに、ホルダ情報を通知済みであると判定する。ホルダ情報を通知済みではないと判定すると(ステップS41:No)、制御部11は、クエリメッセージに対応するホルダ情報を第2記憶部13のインデックステーブルから抽出して、クエリメッセージの送信元であるノード装置1へ通信部21を介して送信して通知する(ステップS42)。
ステップS42の処理が終了したとき、又は、ホルダ情報を通知済みであると判定すると(ステップS41:Yes)、制御部11は、リクエスタ情報とリクエスト日時とを関連づけたリクエスト履歴を配信状況の情報として第1記憶部12に記憶して(ステップS43)、クエリメッセージ処理を終了する。なお、リクエスタ情報はクエリメッセージを送信したノード装置1のノードIDであり、リクエスト日時はクエリメッセージを受信した日時である。
ステップS40において、ルートノードではないと判定すると(ステップS40:No)、制御部11は、ステップS41と同様に、ホルダ情報を通知済みであるか否かを判定する(ステップS44)。このとき、ホルダ情報を通知済みであると判定すると(ステップS44:Yes)、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づいて、クエリメッセージを他のノード装置1へ転送する(ステップS45)。一方、ホルダ情報を通知済みではないと判定すると(ステップS44:No)、制御部11は、ホルダ情報を保持しているかを判定する(ステップS46)。この処理において、制御部11は、クエリメッセージの検索対象であるコンテンツデータを保持するコンテンツホルダのノードIDがインデックステーブルにあるときに、ホルダ情報を保持していると判定する。ホルダ情報を保持していると判定すると(ステップS46:Yes)、制御部11は、ステップS42の処理と同様に、ホルダ情報を通知する(ステップS47)。その後、制御部11は、クエリメッセージのホルダ情報通知済みフラグをセットする(ステップS48)。
ステップS48の処理が終了したとき、ステップS46においてホルダ情報を保持していないと判定したとき(ステップS46:No)、又は、ステップS44においてホルダ情報を通知済みであると判定したとき(ステップS44:Yes)、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、クエリメッセージを転送し(ステップS45)、クエリメッセージ処理を終了する。
[1.6.センタサーバ2の具体的構成及び動作の説明]
次に、センタサーバ2の具体的構成及び動作の一例について説明する。
(センタサーバ2の具体的構成について)
まず、センタサーバ2の具体的構成について説明する。
センタサーバ2は、一般のサーバコンピュータを適用可能である。センタサーバ2は、図10に示すように、制御部31、記憶部32、通信部33を備えており、これらはシステムバス34を介して相互に接続されている。制御部31は、センタサーバ2全体を制御する。記憶部32は、分散保存システムSに投入されている全てのコンテンツデータの他、コンテンツカタログ等を書き換え可能に記憶する。通信部33は、ノード装置1と通信するための通信インターフェイスである。
制御部31は、CPU(Central Processing Unit)、内部メモリなどから構成される。この内部メモリには、情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、保存手段、生成手段、送信手段、容量値決定手段、配信情報取得手段、安定度判定手段等として機能する。また、CPUは、内部にタイマを有しており、計時動作を行う。
なお、この情報処理プログラムは、例えば、ネットワークに接続された他のサーバ(図示せず)から、通信部33を介して、制御部31の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部31の内部メモリに読み込まれるようにしてもよい。
(センタサーバ2の具体的動作について)
以上のように構成されたセンタサーバ2の動作を図面を参照して具体的に説明する。なお、以下の各処理は、センタサーバ2の制御部31が上述した各手段等として機能することによって実行される。なお、各配信グループのノード装置1には、センタサーバ2の制御部31により、すでにコンテンツデータ、コンテンツカタログ(図4参照)及びグループ識別情報が配信されているものとする。
図11に示すように、メイン処理を開始すると、制御部31は、タイマを初期化してタイマのカウントを開始し(ステップS50)、ノード装置1から通信部33を介してコンテンツデータの送信要求があったか否かを判定する(ステップS51)。この処理において、コンテンツデータの送信要求があると判定すると(ステップS51:Yes)、制御部31は、送信要求に対応するコンテンツデータを記憶部32から読み出し、送信要求を行ったノード装置1へ通信部33を介して送信する(ステップS52)。
ステップS51の処理が終了したとき、又は、コンテンツデータの送信要求がないと判定すると(ステップS51:No)、制御部31は、新規のコンテンツデータがあるか否かを判定する(ステップS53)。この処理において、制御部31は、ネットワークを介して配信グループのサービス主体のコンピュータ(図示せず)から配信用のコンテンツデータを取得したときに、新規のコンテンツデータがあると判定する。
新規のコンテンツデータがあると判定すると(ステップS53:Yes)、制御部31は、新規のコンテンツデータの投入を行う(ステップS54)。この処理において、制御部31は、配信グループのサービス主体のコンピュータから取得したコンテンツデータに、所定の加工処理(例えば、ウィルスチェックなど)を施して配信用のコンテンツデータにする。その後、制御部31は、どのサービス主体のコンピュータから送信されたコンテンツデータかを判定し、そのサービス主体のコンピュータに対応する配信グループ(以下、「対象配信グループ」と呼ぶ。)に加入しているノード装置1のうち1以上のノード装置1を選択する。そして、制御部31は、選択したノード装置1に対して配信用のコンテンツデータを通信部33を介して送信する。さらに、制御部31は、対象配信グループではない配信グループに加入しているノード装置1のうち1以上のノード装置1を選択する。そして、選択したノード装置1に対して配信用のコンテンツデータを通信部33を介して送信する。このように、制御部31は、各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置1に加え、異なる配信グループに加入しているノード装置1へ分散保存させる保存手段として機能する。
新規のコンテンツデータの投入を行った後、制御部31は、新規のコンテンツデータのコンテンツIDと配信グループのグループ識別番号とを関連づけたカタログ情報をコンテンツカタログに追加して、コンテンツカタログを更新する。制御部31は、更新したコンテンツカタログを各配信グループのノード装置1へ送信して配布する(ステップS55)。このように、制御部31は、共通のコンテンツカタログを生成する生成手段として機能する。共通のコンテンツカタログは、配信グループを識別するためのグループ識別情報と複数の配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報とがそれぞれ関連づけられた情報である。また、制御部31は、コンテンツカタログをネットワークを介してノード装置1へ送信する送信手段として機能する。
一方、新規のコンテンツデータがないと判定すると(ステップS53:No)、制御部31は、タイマのカウント値に基づき、設定時間が経過したか否かを判定する(ステップS56)。設定時間が経過したと判定すると(ステップS56:Yes)、制御部31は、配信グループ安定化処理を行い(ステップS57)、タイマを初期化する(ステップS58)。一方、設定時間が経過していないと判定すると(ステップS56:No)、制御部31は、処理をステップS51に移行する。なお、配信グループ安定化処理は図12に示すステップS60〜S64までの処理であり、後で詳述する。
ステップS55,S58の処理が終了したとき、制御部31は、終了指示を検知したかを判定する(ステップS59)。例えば、自センタサーバ2の電源がOFF状態へ移行したとき、制御部31は、終了指示を検知する。制御部31は、終了指示を検知したと判定すると(ステップS59:Yes)、処理を終了し、一方、終了指示を検知していないと判定すると(ステップS59:No)、ステップS51からの処理を繰り返す。
次に、ステップS57で開始される配信グループ安定化処理について図12のフローチャートを参照して具体的に説明する。
図12に示すように、配信グループ安定化処理を開始すると、制御部31は、各配信グループの各コンテンツデータのコンテンツIDを宛先とした配信情報リクエストメッセージを生成し、通信部33を介して、任意のノード装置1へ送信する(ステップS60)。この配信情報リクエストメッセージは、各コンテンツデータのルートノードに到達する。各ルートノードは、配信情報リクエストメッセージを受信すると、リクエスト情報とリクエスト日時とが関連づけられたリクエスト履歴やコンテンツホルダの数を配信状況の情報として通信部33を介して送信する。ルートノードは、上述のように第1記憶部12にコンテンツIDとホルダ情報とが関連づけられたインデックステーブルを記憶している。また、ルートノードは、リクエスタからクエリメッセージを受信する毎に、リクエスト履歴を第1記憶部12に記憶する。このリクエスト履歴は、配信情報リクエストメッセージの受信日時をリクエスト日時とし、リクエスタのノードIDをリクエスト情報とした情報である。配信情報リクエストメッセージを受信するとルートノードは、第1記憶部12に記憶したからインデックステーブルに含まれるホルダ情報の数をコンテンツホルダの数として読み出し、さらに第1記憶部12に記憶したリクエスト履歴を読み出す。そして、ルートノードは、このように読み出したコンテンツホルダの数とリクエスト履歴とを配信状況の情報として通信部33を介して送信する。
その後、制御部31は、各ルートノードから配信状況の情報を取得すると(ステップS61)、配信グループ毎にその安定度を判定する(ステップS62)。不安定コンテンツデータがあると判定した配信グループに対しては、不安定な配信グループであると判定する。制御部31は、例えば、リクエスタの数に対してコンテンツホルダの数が少なく、センタサーバ2へのアクセス数が所定以上になるコンテンツデータを不安定コンテンツデータとする。一方、不安定コンテンツデータがないと判定した場合には、安定した配信グループであると判定する。制御部31は、不安定と判定した配信グループのノード装置1を1以上選択し、さらに、不安定と判定された配信グループとは異なる配信グループに属するノード装置1を1以上選択する。
そして、制御部31は、不安定と判定した配信グループの不安定コンテンツデータを、選択したノード装置1へ通信部33を介して送信する(ステップS63)。なお、制御部31は、不安定コンテンツデータが複数ある場合には、これらの不安定コンテンツデータを記憶部32から読み出し、通信部33を介してノード装置1へ送信する。不安定コンテンツデータを送信するノード装置1は各不安定コンテンツデータに対して所定数のノード装置1とする。このように、制御部31は、配信グループ毎にコンテンツデータの配信状況を取得する配信情報取得手段、取得した配信状況に基づいて、各配信グループの安定度を判定する安定度判定手段として機能する。また、制御部31は、不安定と判定した配信グループのコンテンツデータを、不安定と判定した配信グループのノード装置1と、不安定と判定された配信グループとは異なる配信グループに属するノード装置1とへ送信する送信手段として機能する。なお、不安定と判定された配信グループとは異なる配信グループに属するノード装置1にだけ不安定と判定した配信グループの不安定コンテンツデータを送信するようにしてもよい。
また、制御部31は、判定した配信グループの安定度に応じて、容量値の情報を通信部33を介して送信して(ステップS64)、配信グループ安定化処理を終了する。例えば、不安定と判定した配信グループがあるとき、制御部31は、不安定と判定した配信グループのノード装置1へ、不安定な配信グループ用の容量値の情報を通信部33を介して送信する。さらに、制御部31は、安定と判定した配信グループのノード装置1へ、安定している配信グループ用の容量値の情報を通信部33を介して送信する。不安定な配信グループ用容量値の情報として、例えば、第1容量を30%とし、第2容量を60%とし、安定している配信グループ用容量値の情報として、第1容量を40%とし、第2容量を50%とする。また、不安定と判定した配信グループがないとき、制御部31は、各配信グループのノード装置1へ共通の容量値の情報を送信する。共通の容量値の情報として、例えば、第1容量を35%とし、第2容量を55%とする。このように、制御部31は、各配信グループ毎のコンテンツデータの配信状態に基づいて配信グループ毎に容量値の情報を決定する容量値決定手段、決定した容量値の情報を前記ノード装置へ送信する送信手段として機能する。
以上のように、本実施形態に係る分散保存システムSでは、ノード装置1において、加入する配信サーバのコンテンツデータに加え、加入していない配信グループのコンテンツデータを記憶手段に記憶し、加入していない配信グループのコンテンツデータを記憶手段に記憶したコンテンツデータを送信できるようにしたので、サーバへのアクセスを低減し、安定して運用することができる。
なお、上述では、コンテンツカタログを複数の配信グループに共通のものとして説明したが、センタサーバ2において各配信グループ毎にコンテンツカタログを生成し、ノード装置1へは加入している配信グループのコンテンツカタログのみを送信するようにしてもよい。このようにすることで、ノード装置1では、グループ識別情報を用いて加入している配信グループのコンテンツデータを判定する必要が無く、処理負担を軽減することができる。このように、センタサーバ2の制御部31は、コンテンツカタログとして、配信グループ毎のコンテンツカタログ、すなわち配信グループ毎に、それぞれ再生できるコンテンツデータの識別情報を含むコンテンツカタログを生成する生成手段として機能させるようにしてもよい。このとき、センタサーバ2の制御部31は、記憶部32をグループ記憶手段として機能させる。すなわち、制御部31は、各ノード装置1の加入配信グループを記憶部32に記憶する。そして、制御部31は、各ノード装置1に対して、その加入配信グループのコンテンツカタログを通信部33を介して送信する。これにより、ノード装置1は、加入配信グループのコンテンツカタログを取得する一方、非加入配信グループのコンテンツカタログは取得できない。従って、各ノード装置1は、グループ識別情報を用いて加入配信グループのコンテンツIDを選択する必要がなく、制御部11で実行する処理が軽減される。
[2.第2実施形態]
次に、第2実施形態の分散保存システムについて説明する。第1実施形態における分散保存システムSでは、クエリメッセージの受信を契機に、ルートノードがリクエスト履歴を記憶するようにした。一方、第2実施形態の分散保存システムでは、パブリッシュメッセージの受信を契機に、ルートノードがリクエスト履歴を記憶するようにする。なお、制御部11による処理が異なる以外は、第1実施形態と同様であるため、符号等は第1実施形態と同一のものを用いて説明する。
第2実施形態にかかるノード装置1でのパブリッシュメッセージ処理について説明する。
パブリッシュメッセージ処理を開始すると、制御部11は、パブリッシュメッセージに含まれるホルダ情報を第1記憶部12に記憶したインデックステーブルに記憶する。次に、制御部11は、自ノード装置1がルートノードであるか否かを判定する。この処理において、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、パブリッシュメッセージの宛先IDが自ノード装置1のノードIDと最も近いときに、ルートノードであると判定する。このとき、自ノード装置1がルートノードではないと判定すると、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、パブリッシュメッセージを通信部21を介して転送して、パブリッシュメッセージ処理を終了する。一方、自ノード装置1がルートノードであると判定すると、制御部11は、このパブリッシュメッセージに含まれるリクエスタ情報とリクエスト日時とをリクエスト履歴として第1記憶部12に記憶して、パブリッシュメッセージ処理を終了する。
なお、制御部11は、クエリメッセージ処理において、第1実施形態と異なり、リクエスト履歴を記憶せず、ホルダ情報通知済みフラグの処理も行わない。すなわち、ステップS41,S44,S48の処理は不要となる。
このように、制御部11は、パブリッシュメッセージにより配信状態の情報を取得するようにしているため、より精度よく配信状態の情報を取得することができる。例えば、コンテンツホルダがない場合やコンテンツホルダにアクセスが集中している場合において、クエリメッセージにより配信状態の情報を取得しても、コンテンツホルダからコンテンツデータを取得できずに、センタサーバ2からコンテンツデータを取得することになり、精度よく配信状態の情報を取得することができない。一方で、パブリッシュメッセージであれば、コンテンツホルダからコンテンツデータをノード装置1間で送受信した結果の情報であるため、精度よく配信状態の情報を取得することができる。
[3.第3実施形態]
次に、第3実施形態の分散保存システムについて説明する。第1及び第2実施形態における分散保存システムSでは、クエリメッセージやパブリッシュメッセージの受信を契機に、ルートノードがリクエスト履歴を記憶するようにした。一方、第3実施形態のコンテンツ通信システムでは、コンテンツデータを取得したリクエスタから配信情報メッセージを送信し、この配信情報メッセージの受信を契機に、ルートノードがリクエスト履歴を記憶するようにする。なお、制御部11による処理が異なる以外は、第1実施形態と同様であるため、符号等は第1実施形態と同一のものを用いて説明する。
第3実施形態にかかるノード装置1での配信情報メッセージ処理について説明する。配信情報メッセージは、リクエスタの制御部11が、コンテンツデータを第2記憶部13に記憶したときに送信するものである。配信情報メッセージには、配信状況の情報として、例えば、リクエスト履歴やコンテンツホルダの数が含まれる。このリクエスト履歴には、コンテンツデータの記憶した日時であるリクエスト日時、自ノード装置1のノードIDであるリクエスト情報が含まれる。
配信情報メッセージ処理を開始すると、制御部11は、自ノード装置1がルートノードであるか否かを判定する。この処理において、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、配信情報メッセージの宛先IDが自ノード装置1のノードIDと最も近いときに、ルートノードであると判定する。自ノード装置1がルートノードではないと判定すると、制御部11は、第1記憶部12に記憶したルーティングテーブルに基づき、配信情報メッセージを通信部21を介して転送する。一方、自ノード装置1がルートノードであると判定すると、制御部11は、配信情報メッセージに含まれるリクエスタ情報とリクエスト日時とを配信状況の情報として第1記憶部12に記憶する。
なお、パブリッシュメッセージ処理は第1実施形態のノード装置1と同様の処理であり、クエリメッセージ処理は第2実施形態のノード装置1と同様の処理である。
このように、制御部11は、配信情報メッセージにより配信状態の情報を取得するようにしているため、精度よく配信状態の情報を取得することができる。すなわち、配信情報メッセージであれば、コンテンツホルダからコンテンツデータをノード装置1間で送受信した結果の情報であるため、精度よく配信状態の情報を取得することができる。
[4.その他の実施形態]
上述の実施形態では、センタサーバ2から異なる配信グループのノード装置1へコンテンツデータの投入を行うようにしているが、異なる配信グループのノード装置1からコンテンツデータの投入を行うようにしてもよい。
また、上述においては、コンテンツIDに最も近いノードIDを有するノード装置1がそのコンテンツIDに対応するルートノードとしたが、コンテンツIDとルートノードとの関係はこの取り決めに限られず、例えば、コンテンツIDに基づき、コンテンツホルダを検索してコンテンツデータを取得することができれば任意の取り決めを適用できる。
なお、配信グループから脱退したとき、ノード装置1の制御部11は、第2記憶部13に記憶しているコンテンツデータを削除することによって、効率的に記憶容量を確保することができる。
1 ノード装置
2 センタサーバ(情報処理装置)
8 ネットワーク
11 ノード装置の制御部
21 ノード装置の通信部
31 センタサーバの制御部
33 センタサーバの通信部

Claims (13)

  1. コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、
    をそれぞれ有する複数のノード装置と、
    各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存手段と、
    前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成手段と、
    前記生成手段で生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信手段と、
    を有する情報処理装置と、
    を備え
    前記ノード装置は、
    複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得手段と、
    前記グループ情報取得手段により取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定手段と、を有し、
    前記情報処理装置の前記生成手段は、前記コンテンツデータを識別するためのコンテンツ識別情報と、前記コンテンツデータが再生可能な配信グループを識別するグループ識別情報とを含むコンテンツカタログを生成し、
    前記ノード装置の前記取得手段は、前記グループ判定手段により判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中からコンテンツデータを取得する
    ことを特徴とする分散保存システム。
  2. 前記情報処理装置の前記生成手段は、前記配信グループ毎に使用制限がかけられた前記コンテンツカタログを生成し、
    前記ノード装置に備えられたグループ情報取得手段は、前記グループ情報と、当該グループ情報に対応する前記使用制限がかけられたコンテンツカタログの使用制限を解除する解除情報とを取得し、
    前記ノード装置は、
    前記グループ情報取得手段により取得された解除情報に基づいて、前記受信手段により受信されたコンテンツカタログの使用制限を解除する解除手段を備えることを特徴とする請求項1に記載の分散保存システム。
  3. コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、
    をそれぞれ有する複数のノード装置と、
    各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存手段と、
    前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成手段と、
    前記生成手段で生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信手段と、
    を有する情報処理装置と、
    を備え、
    前記情報処理装置は、
    各前記ノード装置が加入する配信グループを識別するグループ識別情報を記憶するグループ記憶手段を備え、
    前記情報処理装置の前記生成手段は、前記配信グループ毎に、前記配信グループのコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成し、
    前記情報処理装置の前記送信手段は、前記生成手段により生成されたカタログを、前記グループ記憶手段に記憶されたグループ識別情報に基づいてノード装置へ、その加入している配信グループのコンテンツカタログを送信することを特徴とする分散保存システム。
  4. コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、
    をそれぞれ有する複数のノード装置と、
    各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存手段と、
    前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成手段と、
    前記生成手段で生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信手段と、
    を有する情報処理装置と、
    を備え、
    各前記ノード装置は、
    前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定手段と、
    前記判定手段により、前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保する記憶制御手段とを備え、
    前記記憶制御手段は、前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除することを特徴とする分散保存システム。
  5. 前記情報処理装置は、前記所定容量値を決定する容量値決定手段を備え、
    前記情報処理装置の送信手段は、前記容量値決定手段により決定した前記所定容量値の情報を前記ノード装置へ送信し、
    前記ノード装置の前記記憶制御手段は、前記情報処理装置から通知された所定容量値の情報に基づいて、前記記憶手段に記憶したコンテンツデータの削除を行うことを特徴とする請求項4に記載の分散保存システム。
  6. 前記情報処理装置の容量値決定手段は、前記配信グループ毎のコンテンツデータの配信状態に基づいて前記配信グループ毎に前記所定容量値を決定することを特徴とする請求項5に記載の分散保存システム。
  7. 各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、
    複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得手段と、
    前記グループ情報取得手段により取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定手段と、を有し、
    前記取得手段は、前記グループ判定手段により判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中からコンテンツデータを取得することを特徴とするノード装置。
  8. 各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信手段と、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得手段と、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶する記憶手段と、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信手段と、
    前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定手段と、
    前記判定手段により、前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保する記憶制御手段とを備え、
    前記記憶制御手段は、前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除することを特徴とするノード装置。
  9. 各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、
    複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得ステップと、
    前記グループ情報取得ステップにおいて取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定ステップと、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータのうち前記グループ判定ステップにおいて判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中から、加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、
    をコンピュータに実現させるためのプログラム。
  10. 各配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させたコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、
    ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、
    前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、
    前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定ステップと、
    前記判定ステップにおいて前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保するとともに、
    前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除する記憶制御ステップと、
    前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、
    をコンピュータに実現させるためのプログラム。
  11. ノード装置が、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、
    前記ノード装置が、複数の前記配信グループの中から、配信グループを識別するグループ識別情報を少なくとも1つ取得するグループ情報取得ステップと、
    前記ノード装置が、前記グループ情報取得ステップにおいて取得されたグループ識別情報に基づいて、加入している配信グループを判定するグループ判定ステップと、
    前記ノード装置が、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、
    前記ノード装置が、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、
    前記ノード装置が、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、
    情報処理装置が、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存ステップと、
    前記情報処理装置が、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成ステップと、
    前記情報処理装置が、前記生成処理ステップで生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信ステップと、
    含み、
    前記情報処理装置は、前記生成ステップにおいて、前記コンテンツデータを識別するためのコンテンツ識別情報と、前記コンテンツデータが再生可能な配信グループを識別するグループ識別情報とを含むコンテンツカタログを生成し、
    前記ノード装置は、前記取得ステップにおいて、前記グループ判定ステップにおいて判定された前記グループ識別情報を有するコンテンツ識別情報が示すコンテンツデータの中からコンテンツデータを取得することを特徴とする分散保存方法
  12. ノード装置が、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、
    前記ノード装置が、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、
    前記ノード装置が、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、
    前記ノード装置が、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、
    情報処理装置が、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存ステップと、
    前記情報処理装置が、各前記ノード装置が加入する配信グループを識別するグループ識別情報をグループ記憶手段に記憶する記憶ステップと、
    前記情報処理装置が、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成ステップと、
    前記情報処理装置が、前記生成処理ステップで生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信ステップと、
    含み、
    前記情報処理装置は、前記生成ステップにおいて、前記配信グループ毎に、前記配信グループのコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成し、
    前記情報処理装置は、前記送信ステップにおいて、前記生成ステップにおいて生成されたカタログを、前記グループ記憶手段に記憶されたグループ識別情報に基づいてノード装置へ、その加入している配信グループのコンテンツカタログを送信することを特徴とする分散保存方法
  13. ノード装置が、コンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログをネットワークを介して受信する受信ステップと、
    前記ノード装置が、ネットワークを介してコンテンツデータを配信する複数の配信グループごとで再生可能なコンテンツデータの中から加入している配信グループで配信されるコンテンツデータを、前記コンテンツカタログに基づき、前記ネットワークを介して取得する取得ステップと、
    前記ノード装置が、前記複数の配信グループのうち、加入している配信グループで配信されるコンテンツデータに加え、加入していない配信グループで配信されるコンテンツデータを記憶手段に記憶する記憶ステップと、
    前記ノード装置が、前記記憶手段に新たなコンテンツデータを記憶するときに、前記記憶手段の記憶容量が不足しているか否かを判定する判定ステップと、
    前記ノード装置が、前記判定ステップにおいて前記記憶手段の記憶容量が不足していると判定すると、当該記憶手段に記憶している1以上のコンテンツデータを削除して、前記新たなコンテンツデータを記憶する領域を確保するとともに、
    前記加入していない配信グループのコンテンツデータを削除すると、当該加入していない配信グループのコンテンツデータが所定容量値以下となる場合には、当該コンテンツデータの削除を行わず、前記加入している配信グループのコンテンツデータを削除する記憶制御ステップと、
    前記ノード装置が、前記ネットワークを介してコンテンツデータの送信要求を受信したとき、前記記憶手段から前記送信要求に対応するコンテンツデータを、前記送信要求元へ前記ネットワークを介して送信する送信ステップと、
    情報処理装置が、各前記配信グループのコンテンツデータを、同一の配信グループに加入しているノード装置に加え、異なる配信グループに加入しているノード装置へ分散保存させる保存ステップと、
    前記情報処理装置が、前記配信グループで配信されるコンテンツデータを識別するためのコンテンツ識別情報を含むコンテンツカタログを生成する生成ステップと、
    前記情報処理装置が、前記生成処理ステップで生成したコンテンツカタログを前記ネットワークを介して前記ノード装置へ送信する送信ステップと、
    を含むことを特徴とする分散保存方法。
JP2009154073A 2009-06-29 2009-06-29 分散保存システム、ノード装置、並びにその処理方法及びプログラム Expired - Fee Related JP5293457B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009154073A JP5293457B2 (ja) 2009-06-29 2009-06-29 分散保存システム、ノード装置、並びにその処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009154073A JP5293457B2 (ja) 2009-06-29 2009-06-29 分散保存システム、ノード装置、並びにその処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011008707A JP2011008707A (ja) 2011-01-13
JP5293457B2 true JP5293457B2 (ja) 2013-09-18

Family

ID=43565242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009154073A Expired - Fee Related JP5293457B2 (ja) 2009-06-29 2009-06-29 分散保存システム、ノード装置、並びにその処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5293457B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120038187A (ko) * 2010-10-13 2012-04-23 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서 그룹 변경에 관한 정보를 이용한 컨텐츠 공유 방법 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158958A1 (en) * 2002-02-20 2003-08-21 Koninklijke Philips Electronics N.V. Distributed storage network architecture using user devices
DE102006005479B4 (de) * 2006-02-03 2021-04-08 Nec Corporation Verfahren zur Verbreitung von Inhalten an mehrere Nutzer
JP4692414B2 (ja) * 2006-06-29 2011-06-01 ブラザー工業株式会社 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP2008067089A (ja) * 2006-09-07 2008-03-21 Brother Ind Ltd コンテンツ配信システム及び同システムにおける端末装置及び同端末装置のプログラム及び同端末装置による情報管理方法
JP2008129694A (ja) * 2006-11-17 2008-06-05 Brother Ind Ltd 情報配信システム、情報配信方法、配信装置及びノード装置等
JP4830889B2 (ja) * 2007-02-15 2011-12-07 ブラザー工業株式会社 情報配信システム、情報配信方法及びノード装置等
KR101105850B1 (ko) * 2007-02-28 2012-01-13 삼성전자주식회사 P2p 네트워킹을 통한 고품질 콘텐츠 제공 시스템 및 방법
JP2008250569A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
JP2009140383A (ja) * 2007-12-10 2009-06-25 Brother Ind Ltd コンテンツ分散保存システム、情報配信方法、配信装置、及び配信処理プログラム

Also Published As

Publication number Publication date
JP2011008707A (ja) 2011-01-13

Similar Documents

Publication Publication Date Title
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
WO2008026400A1 (fr) Système de distribution de contenu, procédé de traitement d'information dans un système de distribution de contenu, dispositif terminal et support d'enregistrement incorporant son programme enregistré
JP2008250569A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
WO2006103800A1 (ja) 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム
JP2006059133A (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP4635904B2 (ja) 登録装置、登録方法及び登録処理プログラム
JP2010271933A (ja) 分散保存システム、ノード装置、ノード処理プログラム及びデータファイル保存方法
JP5293457B2 (ja) 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP2011233021A (ja) 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム
JP5532649B2 (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
WO2008041422A1 (fr) Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement
JP2010113573A (ja) コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム
JP5353567B2 (ja) 情報処理システム、情報処理装置、ノード装置及びプログラム並びに情報処理方法
US8312068B2 (en) Node device, information communication system, method for managing content data, and computer readable medium
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5071262B2 (ja) 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP2008078996A (ja) ツリー型コンテンツ配信システム、コンテンツ配信方法、ノード装置、及びノード処理プログラム
JP2009230573A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130416

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: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees