JP5434268B2 - 分散保存システム、データファイル分散保存方法及びプログラム - Google Patents

分散保存システム、データファイル分散保存方法及びプログラム Download PDF

Info

Publication number
JP5434268B2
JP5434268B2 JP2009127594A JP2009127594A JP5434268B2 JP 5434268 B2 JP5434268 B2 JP 5434268B2 JP 2009127594 A JP2009127594 A JP 2009127594A JP 2009127594 A JP2009127594 A JP 2009127594A JP 5434268 B2 JP5434268 B2 JP 5434268B2
Authority
JP
Japan
Prior art keywords
node
location information
information
device group
content data
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
JP2009127594A
Other languages
English (en)
Other versions
JP2010278617A (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 JP2009127594A priority Critical patent/JP5434268B2/ja
Publication of JP2010278617A publication Critical patent/JP2010278617A/ja
Application granted granted Critical
Publication of JP5434268B2 publication Critical patent/JP5434268B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムに関する。具体的には、通信負荷の少ない通信経路からコンテンツを取得する方法に関する。
この種のピアツーピア型の通信システムは、複数のノード装置により構成される。各種コンテンツのコンテンツデータは、複数のコンテンツデータの複製データ(以下、「レプリカ」という)として複数のノード装置に分散して保存される。コンテンツデータは、映画及び音楽などのコンテンツデータである。一般的には、各ノード装置間でレプリカを利用可能とした分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。
そして、上述のノード装置は、所望のコンテンツデータを取得するとき、当該コンテンツデータのレプリカの所在を検索するためのメッセージ(クエリ)が他のノード装置へ送出される。これにより、当該メッセージは、上記DHTにしたがって、当該コンテンツデータのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツデータのレプリカを保存しているノード装置にアクセスすることができる。そして、当該レプリカを取得(ダウンロード)することができる。特許文献2には、通信負荷の少ない通信経路を選択するために、コンテンツホルダが所属しているAS(Autonomous System)番号が用いられる技術が開示されている。AS番号は、インターネット内にある複数の組織が運用するネットワークを識別するための番号である。また、ホップ数を用いて経路選択をするものもある。
特開2006−197400号公報 特開2006−277338号公報
しかしながら、ホップ数を測定しようとしても必ずしもルータが応答するとは限らない。また、AS番号を用いて、通信経路を決定しようとしても、AS番号は全ての管理者に割り当てられているとは限らない。そのため、従来では全てのノード装置間の通信負荷を判定するために、インターネットのトポロジー情報を記憶したヒントサーバ(トラッカー)が用いられてきた。しかしながら、コンテンツを取得するたびにヒントサーバにアクセスしているのでは、ヒントサーバへの処理負荷が集中し、ヒントサーバの処理負荷が大きかった。また、ヒントサーバが記憶する通信経路情報が膨大になると、ヒントサーバの記憶容量が不足するという問題があった。
本発明は、上述した問題点を解決するためになされたものである。本発明の目的は、ヒントサーバに記憶する通信経路情報が膨大になった場合であっても、ヒントサーバの処理負荷を低減させることが可能な通信経路情報を分散して保存させる方法を提供することである。
請求項1に記載の発明によれば、複数の異なるネットワーク間を接続し、所定数の所在情報が割り当てられた少なくとも1つ以上の通信機器から構成される複数の装置群が階層構造により接続され、前記階層構造により接続された複数の装置群の一部の装置群を表す装置群情報と、前記一部の装置群に対応する所在情報とから構成されるデータファイルを分散して保存し、ネットワークを介して前記データファイルの送受信が可能な複数のノード装置と、前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて送信する送信部と、前記送信部により送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を取得する取得部と、前記取得部により取得された前記データファイル識別情報に基づいて、前記データファイルが保存された前記複数のノード装置のいずれかから前記データファイルを取得するデータファイル取得部と、を備える第1ノード装置と、から構成されることを特徴とする分散保存システムである。
請求項2に記載の発明によれば、前記分散保存システムは、前記データファイルを識別するデータファイル識別情報と、前記データファイル識別情報が示すデータファイルの前記所在情報とを対応付けて記憶する第1記憶部を備えた管理装置を備え、前記送信部は、前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて前記管理装置へ送信し、前記取得部は、前記送信部により送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を、前記管理装置から取得することを特徴とする。
請求項3に記載の発明によれば、前記分散保存システムは、前記複数のノード装置に分散して保存されたコンテンツデータの保存先のノード装置の前記所在情報を複数記憶する第2記憶部を備えた第2ノード装置を備え、前記第1ノード装置は、前記複数のノード装置に分散して保存された複数のコンテンツデータの中から、所望のコンテンツデータを要求するコンテンツデータ要求部と、前記コンテンツデータ要求部により要求されたコンテンツデータの所在情報を前記第2ノード装置から取得する所在情報取得部と、前記所在情報取得部により取得された前記所在情報の中から、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における前記装置群情報の前記所在情報に含まれるノード装置を決定する決定部と、前記決定部により決定されたノード装置から、前記コンテンツデータを取得するコンテンツデータ取得部と、を備えることを特徴とする。
請求項4に記載の発明によれば、前記分散保存システムは、前記複数のノード装置に分散して保存されたコンテンツデータの保存先のノード装置の前記所在情報を複数記憶する第2記憶部を備えた第2ノード装置を備え、前記第1ノード装置は、前記複数のノード装置に分散して保存された複数のコンテンツデータの中から、所望のコンテンツデータを要求するコンテンツデータ要求部を備え、前記送信部は、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における前記装置群情報を前記第2ノード装置へ送信し、前記第2ノード装置は、前記送信部により送信された前記装置群情報を受信する受信部と、前記第2記憶部に記憶された前記所在情報の中から、前記受信部が受信した前記装置群情報に基づいて、前記コンテンツデータ要求部により要求されたコンテンツデータの保存先のノード装置の前記所在情報を決定する決定部と、前記決定部により決定されたノード装置の所在情報を、前記第1ノード装置へ送信する第2送信部と、前記第2送信部により送信された所在情報に位置するノード装置から、前記コンテンツデータを取得するコンテンツデータ取得部と、を備えることを特徴とする。
請求項5に記載の発明によれば、 前記複数のノード装置は、前記装置群と同階層で接続される第1装置群及び前記装置群の下位階層に位置する第2装置群と、前記第1装置群及び前記第2装置群に対応する所在情報とを、前記データファイルとして分散保存し、前記決定部は、前記第2ノード装置の前記第2記憶部に記憶された複数の保存先のノード装置の中から、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における前記第2装置群の前記所在情報に含まれる保存先のノード装置があるか否かを判定する第1判定部を備え、前記第1判定部が、前記第2装置群の前記所在情報に含まれる保存先のノード装置があると判定したとき、前記コンテンツデータ取得部は、前記第1判定部に含まれると判定された保存先のノード装置から、前記コンテンツデータを取得することを特徴とする。
請求項6に記載の発明によれば、前記決定部は、前記第1判定部により、前記第2装置群の前記所在情報に含まれる保存先がないと判定されたとき、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における第1装置群の前記所在情報に含まれる保存先のノード装置があるか否かを判定する第2判定部を備え、前記第2判定部が、前記第1装置群の前記所在情報に含まれる保存先のノード装置があると判定したとき、前記コンテンツデータ取得部は、前記第2判定部により含まれると判定された保存先のノード装置から、前記コンテンツデータを取得することを特徴とする。
請求項7に記載の発明によれば、前記決定部は、前記第1判定部により、前記第2装置群の前記所在情報に含まれる保存先のノード装置がないと判定されたとき、前記第2ノード装置の前記第2記憶部に記憶された複数の保存先のノード装置の中から、前記第1装置群と直接接続される保存先があるか否かを判定する第3判定部を備え、前記第3判定部が、前記第1装置群と直接接続される保存先のノード装置があると判定したとき、前記コンテンツデータ取得部は、前記第3判定部により判定された保存先のノード装置から、前記コンテンツデータを取得することを特徴とする。
請求項8に記載の発明によれば、複数の異なるネットワーク間を接続し、所定数の所在情報が割り当てられた少なくとも1つ以上の通信機器から構成される複数の装置群が階層構造により接続され、前記階層構造により接続された複数の装置群の一部の装置群を表す装置群情報と、前記一部の装置群に対応する所在情報とから構成されるデータファイルを複数のノード装置に分散して保存し、前記複数のノード装置でネットワークを介して送受信が可能な前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて送信する送信ステップと、前記送信ステップにより送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を取得する取得ステップと、前記取得ステップにより取得された前記データファイル識別情報に基づいて、前記複数のノード装置のいずれかから前記データファイルを取得するデータファイル取得ステップと、を含むことを特徴とするデータファイル分散保存方法である。
請求項9に記載の発明によれば、複数の異なるネットワーク間を接続し、所定数の所在情報が割り当てられた少なくとも1つ以上の通信機器から構成される複数の装置群が階層構造により接続され、前記階層構造により接続された複数の装置群の一部の装置群を表す装置群情報と、前記一部の装置群に対応する所在情報とから構成されるデータファイルを、ネットワークを介して前記データファイルの送受信が可能な複数のノード装置に分散して保存し、前記複数のノード装置でネットワークを介して送受信が可能な前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて、送信する送信ステップと、前記送信ステップにより送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を取得する取得ステップと、前記取得ステップにより取得された前記データファイル識別情報に基づいて、前記複数のノード装置のいずれかから前記データファイルを取得するデータファイル取得ステップと、をコンピュータに実現させるためのプログラムである。
請求項1に記載の発明によれば、取得部は、送信部により送信された要求メッセージに含まれた所在情報に基づいて、所在情報に対応するデータファイル識別情報を取得する。データファイル取得部は、取得部により取得されたデータファイル識別情報に基づいて、データファイルが保存された複数のノード装置のいずれかからデータファイルを取得する。この結果、階層構造により接続された複数の装置群の接続態様を、複数のデータファイルとして、複数のノード装置に分散して保存することができる。そのため、ヒントサーバのへ処理負荷が集中することを防ぐことができる。
請求項2に記載の発明によれば、分散保存システムは、データファイルを識別するデータファイル識別情報と、データファイル識別情報が示すデータファイルの所在情報とを対応付けて記憶する第1記憶部を備えた管理装置を備える。取得部は、送信部により送信された要求メッセージに含まれた所在情報に基づいて、所在情報に対応するデータファイル識別情報を、管理装置から取得する。この結果、分散保存システムSに管理装置が備えられることで、管理装置からデータファイル識別情報を取得することができる。
請求項3に記載の発明によれば、決定部は、所在情報取得部により取得された所在情報の中から、コンテンツデータ要求部によりコンテンツデータを要求したノード装置における装置群情報の所在情報に含まれるノード装置を決定する。コンテンツデータ取得部は、決定部により決定されたノード装置からから、コンテンツデータを取得する。この結果、複数のノード装置に分散して保存されたデータファイルに基づいて、通信負荷の少ない通信経路を決定することができる。
請求項4に記載の発明によれば、第1ノード装置の送信部は、コンテンツデータ要求部によりコンテンツデータを要求したノード装置における装置群情報を第2ノード装置へ送信する。第2ノード装置の決定部は、第2記憶部に記憶された所在情報の中から、受信部が受信した装置群情報に基づいて、前記コンテンツデータ要求部により要求されたコンテンツデータの保存先のノード装置の前記所在情報を決定する。第1ノード装置のコンテンツデータ取得部は、第2送信部により送信された所在情報に位置するノード装置から、コンテンツデータを取得する。従って、第2ノード装置により決定されたノード装置の所在情報が第1ノード装置へ送信されるだけである。この結果、第1ノード装置と第2ノード装置との間の情報通信量を低減できるとともに、通信負荷の少ない通信経路を決定することができる。
請求項5に記載の発明によれば、装置群と同階層で接続される第1装置群及び前記装置群の下位階層に位置する第2装置群と、前記第1装置群及び前記第2装置群に対応する所在情報とを、データファイルとして分散保存する。第1判定部が、第2装置群の所在情報に含まれる保存先のノード装置があると判定したとき、コンテンツデータ取得部は、第1判定部に含まれると判定された保存先のノード装置から、コンテンツデータを取得する。この結果、同じ第2装置群に所属する保存先からコンテンツデータを取得することができるため、経由する装置群の数を最小限にすることができる。
請求項6に記載の発明によれば、第2判定部が、第1装置群の所在情報に含まれる保存先のノード装置があると判定したとき、コンテンツデータ取得部は、第2判定部により含まれると判定された保存先のノード装置から、コンテンツデータを取得する。この結果、同じ第1装置群に接続される保存先からコンテンツデータを取得することができるため、経由する装置群が、第1装置群を構成する通信機器内で抑えることができる。
請求項7に記載の発明によれば、第3判定部が、第1装置群と直接接続される保存先のノード装置があると判定したとき、コンテンツデータ取得部は、第3判定部により判定された保存先のノード装置から、コンテンツデータを取得する。この結果、第1装置群と直接接続される保存先からコンテンツデータを取得することができるため、第1装置群の下位に位置する下位装置群を経由しなくてもよい。したがって、経由する装置群の数を減らすことができる。
請求項8及び請求項9に記載の発明によれば、取得ステップは、送信ステップにより送信された要求メッセージに含まれた所在情報に基づいて、所在情報に対応するデータファイル識別情報を取得する。データファイル取得ステップは、取得ステップにより取得されたデータファイル識別情報に基づいて、複数のノード装置のいずれかから前記データファイルを取得する。保存された前記複数のノード装置のいずれかからデータファイルを取得する。この結果、階層構造により接続された複数の装置群の接続態様を、複数のデータファイルとして、複数のノード装置に分散して保存することができる。そのため、ヒントサーバのへ処理負荷が集中することを防ぐことができる。
本実施形態のコンテンツ分散保存システムSにおける各ノード装置Nnの接続態様の一例を示す図である。 一般的なインターネット等のネットワーク構造の具体例を示す説明図である。 ヒントサーバ17に記憶されるトポロジー情報の概念図である。 接続関係情報コンテンツを示す概念図である。 、図3に示すノード装置21aが記憶する装置群情報の一例を示す概念図である。 ノードN2が保持するルーティングテーブルの一例を示す概念図である。 DHTのID空間の一例を示す概念図である。 コンテンツ分散保存システムSへの参加時におけるルーティングテーブルの生成手順の一例を示す概念図である。 IPアドレス範囲と対応付けられた接続情報コンテンツIDが、コンタクトノードに記憶される概念図である。 各ノードNn間を転送するメッセージの様子を示す概念図である。 ノードN2が保持するインデックスキャッシュの一例を示す図である。 ルートノードに記憶される保持ノード22a〜22eのインデックスキャッシュにおける装置群情報の詳細を示す概念図である。 ノード装置Nnの電気的構成を示す概念図である。 ノード装置Nnのメイン処理動作を示すフローチャートである。 ノード装置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の参加により形成される。本実施形態における参加とは、ノード装置Nnが分散保存システムSと接続し、コンテンツデータの送受信をすることを意味している。
なお、図1の上部枠100内に示すP2Pネットワーク9は、既存のネットワーク8を用いて形成されたP2Pネットワークである。P2Pネットワークは、図1の上部枠100内の複数のノード装置を仮想的にリンクさせることで構築される。P2Pネットワーク9は、オーバーレイネットワーク、または、論理的なネットワークである。P2Pネットワーク9は、特定のアルゴリズム、により構築される。例えば、特許文献の特開2006−197400に記載されたDHTを利用したアルゴリズムにより、P2Pネットワーク9は構築される。
そして、P2Pネットワーク9を構成している各ノード装置Nnには、ノードIDが割り当てられている。ノードIDは、所定桁数からなる固有の識別情報である。また、具体的には、ノードIDは、各ノード装置Nnに個別に割り当てられたIPアドレス或いは製造番号を基に、ノードIDは生成される。ノードIDは、上述のIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、SHA−1等のハッシュ関数により、bit長が160bitのハッシュ値が生成される。各ノードIDは、ある一つのID空間に偏りなく分散して配置されることになる。
図1に示すように、分散保存システムSは、コンテンツ投入サーバ16とヒントサーバ17とを備える。コンテンツ投入サーバ16は、新しいコンテンツデータを分散保存システムS内に投入するためのサーバである。コンテンツ投入サーバ16は、コンテンツデータを複製したレプリカを、分散保存システムSに投入する。
ヒントサーバ17は、インターネットに接続される上位装置群と下位装置群とのトポロジー情報を記憶する。ヒントサーバに記憶されるトポロジー情報についての詳細は後述する。
分散保存システムSへの参加は、現在P2Pネットワーク9に参加していないノード装置Nnが、現在参加している任意のノード装置Nnへ参加要求を示す参加メッセージを送信する。参加メッセージを受信するノード装置は、分散保存システムSに常時参加しているノード装置である。本実施例では、常時参加しているノード装置をコンタクトノードと称する。例えば、P2Pネットワーク9に参加していないノード装置から、分散保存システムSのコンタクトノードへ参加メッセージが送信される。コンタクトノードは、参加メッセージの送信元であるノード装置へP2Pネットワーク9に参加するために必要な情報を送信する。上述の必要な情報の詳細は後述する。
図2は、一般的なインターネット等のネットワーク構造の具体例を示す。IX(Internet eXchange)3は、ネットワークを介して複数の装置群を接続する。IX3を頂点として上位装置群13a〜13cが、IXを介して接続される。IX3を頂点として上位装置群13a〜13cの下位には、下位装置群14a及び14fが接続される。上位装置群13a〜13cと下位装置群14a及び14fとは、複数のルータ11から構成される。
各装置群を構成するルータ11は、任意の管理者により管理される。各ルータ11には、所定範囲のIPアドレスが割り当てられている。上位装置群13a〜13cを構成する複数のルータに対応するIPアドレスが、上位装置群13a〜13cのIPアドレス範囲として設定される。同様に、下位装置群14a及び14fを構成する複数のルータのIPアドレスが、下位装置群14a及び14fのIPアドレス範囲として設定される。
図2に示すようにIX3を頂点として、上位装置群13a〜13cまたは下位装置群14a及び14fの下位には、多数のノード装置12がルータ11を介して接続される。ノード装置12は、局舎モデム15を介してルータ11と接続される。尚、ルータ11とノード装置12とは、直接接続されても良い。
[トポロジー情報の説明]
図3は、ヒントサーバ17に記憶されるトポロジー情報の概念図である。トポロジー情報は、上位装置群及び下位装置群との接続態様を表す。具体的には、トポロジー情報は、接続関係情報とIPアドレス範囲情報とから構成される。接続関係情報は、インターネットを構成する複数の上位装置群または下位装置群の接続関係を表す情報である。また、IPアドレス範囲情報は、上位装置群または下位装置群夫々に対応するIPアドレス範囲である。例えば、接続関係情報は、図3の上位装置群13aに接続される上位装置群が、上位装置群13b、13cであることを示す情報である。また、上位装置群13aに接続される下位装置群が、下位装置群14a、14bであることを示す情報である。ユーザノードがコンテンツを取得するとき、トポロジー情報と、ユーザノードのIPアドレスとに基づいて、装置群間の経由が最小の経路である保持ノード装置からコンテンツを取得することができる。尚、本実施形態では、ユーザノードは、ユーザからの指示にしたがってコンテンツ所在問合せメッセージを生成するノード装置Nnを表す。また、保持ノードは、コンテンツデータが記憶されるノード装置Nnを表す。
[トポロジー情報のコンテンツ化]
図4は、接続関係情報コンテンツを示す概念図である。接続関係情報コンテンツは、上位情報コンテンツと、下位情報コンテンツとから構成される。上位情報コンテンツは、上位装置群情報と、近接装置群情報とから構成される。近接装置群情報は、上位装置群と同階層で接続される上位装置群を表す情報である。下位情報コンテンツは、上位装置群情報と、下位装置群情報とから構成される。下位装置群情報は、上位装置群情報の下位に位置する下位装置群を表す情報である。
図4(a)は、上位情報コンテンツの一例を示す概念図である。また、図4(b)は、下位情報コンテンツの一例を示す概念図である。具体的には、図4(a)及び図4(b)に示すように、上位装置群情報、近接装置群情報、下位装置群情報それぞれには、装置群識別情報とルータ識別情報とIPアドレス範囲とが含まれる。装置群識別情報は、例えば各装置群を管理する管理者名である。ルータ識別情報は、各装置群に割り当てられたルータ12を識別するための情報である。IPアドレス範囲は、各装置群に割り当てられたIPアドレス範囲である。上位装置群は存在するが、その上位装置群の下位に位置する下位装置群が存在しない場合、図4に示す下位装置群情報には、「Null」が記憶される。例えば、図4(b)に示すように、上位装置群13aと、下位装置群14a及び下位装置群14bとを識別する装置群識別情報が、接続関係情報コンテンツに含まれる。また、上位装置群13aと、下位装置群14a及び下位装置群14bとに夫々対応するIPアドレス範囲が、接続関係情報コンテンツとして生成される。接続情報コンテンツには、後述する一般的なコンテンツデータと同じようにコンテンツIDが割り当てられる。詳細な説明は後述する。
[分散保存システムのコンテンツ取得動作説明]
図1または図2に示す各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、分散保存システムS上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノード装置NnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。本実施形態では、ノード情報は、メッセージ送信先候補の「ノードID」と「IPアドレス及びポート番号」と「装置群情報」とを含む。尚、「IPアドレスまたはポート番号」は、アドレス情報の一例である。「装置群情報」は、ノード装置Nn自身が直接接続される下位装置群、または、当該直接接続される下位装置群の上位装置群を表す。図5は、図3に示すノード装置21aが記憶する装置群情報の一例を示す概念図である。図3に示すように、ノード装置21aと直接接続される下位装置群は、下位装置群14aである。また、ノード装置21aは、下位装置群14aを介して上位装置群13aと接続する。従って、図5に示すように、ノード装置21aの装置群情報として、下位装置群14aと上位装置群13aとが登録される。各ノード装置は、各ノード装置が接続する装置群情報を記憶する。尚、各ノード装置Nnが装置群情報を取得する詳細な説明は後述する。
分散保存システムSに接続している1台のノードは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードNnについてのノード情報が取得される。本実施形態では、ルーティングテーブルを用いて、上述した他のノード装置Nnへ各種メッセージを送信、または転送するとき、メッセージの送信元、または転送元のノード装置Nnのノード情報が含まれて送信される。このメッセージを受信した各ノード装置Nnは、各ノード装置Nnが保持するルーティングテーブル及びインデックスキャッシュに、受信したノード情報の登録および更新を行う。このような構成により、各ノード装置Nnは、他のノード装置のノード情報を把握することができる。ルーティングテーブル及びインデックスキャッシュの登録及び更新を行う方法の詳細は後述する。
[ルーティングテーブルの概要]
以下、分散保存システムSにおける各ノード装置Nnの機能を説明する。各ノード装置Nnが記憶するルーティングテーブルについて詳細に説明する。ここで、図6及び図7を参照して、ルーティングテーブルについて詳しく説明する。
図6は、ノードN2が保持するルーティングテーブルの一例である。図7は、DHTのID空間の一例を示す概念図である。なお、図6及び図7の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとしている。そのため、各桁は、2bitで表された4進数(0〜3の整数)で表されている。各桁を2bitよりも長いbit長を用いても良い。例えば、各桁を4bitで表して、0〜fの16進数で表現しても良い。
図6は、ノードN2のルーティングテーブルを示す概念図である。図6に示すように、ルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数レベルから構成される。各エリアには、ノード情報が登録される。ノード情報として、ノードIDと、ノードIDに対応するノードN2のIPアドレス及びポート番号と、ノードN2の装置群情報とが対応付けられて登録される。
各レベルにおける各エリアは、ノードID空間を分割することにより決定されるエリアである。図7は、ノードIDを用いて各エリアが決定される概念図である。ノードID空間は、各桁が4進数(0〜3の整数)で表される3桁の数字により構成される。図7に示すように、レベル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'の場合を例として説明する。図6に示すように、ルーティングテーブルのレベル1における1XXのエリアは、ノードN2のノードIDが存在するエリアである。そのため、レベル1の1XXのエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、装置群情報とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と装置群情報とを登録したが、ノードIDと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が存在しないエリアには、レベル1と同様に、他の任意のノードNnのノードIDと、IPアドレスまたはポート番号と、装置群情報とが登録されている。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と装置群情報とを登録したが、ノードIDとIPアドレスまたはポート番号と装置群情報とはノードN2自身のものであるので登録されなくてもよい。
更に、ルーティングテーブルのレベル3には、図6に示すように、ノードIDが'120'〜'122'である。そのため、レベル3の122のエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、装置群情報とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と装置群情報とを登録したが、IPアドレスまたはポート番号、装置群情報はノードN2自身のものであるので、登録されなくても良い。
なお、図6及び図7の例では、ノードIDのbit長は3桁×2bitである。例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる。図6および図7に示すように、本実施形態におけるルーティングテーブルでは、レベルの数値が大きくなるほど、エリアが狭くなっていく。そして、このようなルーティングテーブルは、例えば、未参加のノード装置が分散保存システムSに参加する際に生成される。ここで、図8を参照して、分散保存システムSへの参加時におけるルーティングテーブルの生成手順について詳しく説明する。
図8は、分散保存システムSへの参加時におけるルーティングテーブルの生成手順の一例を示す概念図である。以降、未参加のノードN8がコンテンツ分散保存システムSに参加する例を用いて説明する。ノードIDのノードIDは、'123'とする。
図8に示すように、未参加のノードN8が分散保存システムSに参加する場合、コンタクトノードのIPアドレスを用いてコンタクトノードに参加メッセージが送信される。参加メッセージは、ノードN8のノード情報を含む。コンタクトノードにメッセージを送信するためのIPアドレスを、ノード装置N8が事前に知っているものとする。例えば、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のルーティングテーブルに、ノード情報を登録及び更新する。
本実施形態では、通常の参加処理に加えて、参加メッセージに含まれたIPアドレスに基づいて、参加メッセージを送信したノード装置の装置群情報を決定することができる。決定する方法について具体的に説明する。図9は、IPアドレス範囲と対応付けられた接続関係情報コンテンツIDが、コンタクトノードに記憶される概念図である。図9に示す用に、コンタクトノードには、各IPアドレス範囲に含まれるIPアドレスを有する接続関係情報コンテンツIDが記憶される。例えば、ノード21aのIPアドレスが、「10.10.10.89」の場合、図9のアドレス範囲「10.10.10.10〜10.10.10.90」に含まれるため、接続情報コンテンツID「aaa」と「bbb」とが取得される。決定されたコンテンツIDは、参加メッセージを送信したノード装置Nnへ送信される。上述した処理を行うことで、参加ノード装置は、参加ノード装置自身が接続される装置群情報を把握することができる。図9に示す情報は、コンテンツ投入サーバ16に記憶されても良い。その場合、コンテンツ投入サーバ16に、ノード装置NnのIPアドレスが送信される。
図10は、各ノード装置Nn間を転送するメッセージの様子を示す概念図である。具体的には、図10は、ノード8からの参加メッセージがノードN31、ノードN35、ノードN2間を転送する概念図である。
各ノードNn間を転送するメッセージは、メッセージ送信元のノードIDと、メッセージの内容と、送信元または転送元のノード情報とを含む。メッセージ送信元のノードIDは、メッセージを送信した送信元のノードNnのノードIDである。メッセージの内容は、メッセージの目的を表す「参加(JOIN)」、「パブリッシュ」、「クエリ」等である。ノード情報は、送信元または転送元のノードNnのノードIDと、IPアドレスまたはポート番号と、装置群情報とを含んで構成される。なお、'メッセージの内容'は、参加メッセージの場合、テーブルの登録情報の返信を要求する旨の情報等が含まれている。また、パブリッシュ(登録)メッセージまたはクエリの場合、パブリッシュ(登録)やクエリ(要求)の対象となるコンテンツデータのコンテンツIDが含まれている。
図10に示す例の場合、ノードN35は、コンタクトノードのノードN31から参加メッセージを受信する。そして、ノードN35は、参加メッセージに含まれる送信元または転送元のノードN31のノード情報をノードN35のルーティングテーブルに登録する。このとき、ノードN35のルーティングテーブルにノードN31のノード情報が既に登録されている場合、登録済みノードN31のノード情報は、受信したノード情報に基づいて更新される。
同様に、ノードN35から参加メッセージを受信したノードN2は、参加メッセージに含まれる送信元または転送元のノードN35のノード情報をノードN2のルーティングテーブルに登録、或いは更新する。以上の手順に従い、ルーティングテーブルは、ノード情報を登録、または、更新される。
このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
[インデックスキャッシュ]
分散保存システムSにおいては、内容の異なる様々なコンテンツデータのレプリカが所定のファイル形式で複数のノード装置Nnに分散保存されている。コンテンツは、映画および動画、または音楽等である。各ノード装置Nn間でレプリカが送受信可能になっている。
これらコンテンツデータのレプリカには、夫々、コンテンツ名(タイトル)と、コンテンツIDとを含む情報が付与されている。コンテンツ名は、コンテンツデータのタイトルであっても良い。また、コンテンツIDは、コンテンツ毎に固有のコンテンツ識別情報である。例えば、コンテンツIDは、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。そのため、コンテンツIDは、ノードIDと同一のID空間に配置されることとなる。あるいは、システム管理者が、コンテンツデータ毎に一意のID値を付与しても良い。ID値は、ノードIDと同一ビット長でも良い。コンテンツ名とそのコンテンツIDとの対応が記載されたコンテンツカタログリストが、全ノードNnに配布される。コンテンツカタログリストには、コンテンツ名と、コンテンツIDと、そのコンテンツIDが表すレプリカの公開開始日時及び公開終了日時とが対応付けられて記載されている。尚、コンテンツカタログリストの詳細は、特開2008−129694号公報に記載されているため、詳細な説明は省略する。
上述のように分散保存されているレプリカの所在は、インデックス情報により管理される。インデックス情報は、レプリカが保存されたノード装置Nnの情報と、レプリカのコンテンツIDとを組み合わせた情報から構成される。インデックス情報は、レプリカの所在を管理しているノード装置Nnにより記憶される。レプリカの所在を管理しているノード装置を「ルートノード」とする。本実施形態のルートノードは、本発明の第2ノード装置の一例である。つまり、コンテンツデータのレプリカを保存しているノード装置Nnのノード情報は、他のノード装置Nnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。コンテンツのレプリカを保存しているノード装置Nnを「保持ノード」とする。このようなルートノードには、コンテンツIDと最も近いノードIDを有するノードNnが選定される。例えば、コンテンツIDと最も近いとは、上位桁がより多く一致する、または、比較結果の差が最も小さいことである。
図11は、ノードN2が保持するインデックスキャッシュの一例を示す概念図である。ノードN2は、コンテンツ1、コンテンツ2、コンテンツ3・・・・・のルートノードである。ノードN2は、図11に示す保持ノードNnからパブリッシュメッセージを受信する。そして、ノードN2は、パブリッシュメッセージに含まれるコンテンツIDとノード情報とを、インデックス情報としてインデックスキャッシュに登録する。図11では、コンテンツ1の保持ノードとして、ノード21aとノード21bとノード21cとノード21dとノード21eとがインデックス情報に記載されている。それぞれの保持ノードに対応するノード情報がインデックス情報に含まれる。
あるノード装置Nnのユーザが、所望するコンテンツデータのレプリカを取得したい場合、レプリカの取得を望むユーザは、クエリを生成する。ユーザがレプリカの取得を望むノード装置Nnを、「ユーザノード」とする。本実施形態のユーザノードは、本発明の第1ノードの一例である。クエリは、コンテンツデータのコンテンツIDとユーザノードのIPアドレスを含む。クエリに含まれるコンテンツIDは、ユーザによりコンテンツカタログリストから選択されたコンテンツデータのコンテンツIDである。
ユーザノードは、ユーザノードのルーティングテーブルに従って、他のノード装置Nnへクエリを送信する。つまり、ユーザノードは、クエリをルートノードに向けて送信する。これにより、コンテンツIDをキーとしてクエリは、ルートノードに到着することとなる。
クエリを受信したルートノードは、クエリに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュ記憶領域から取得する。取得されたインデックス情報は、クエリの送信元であるユーザノードへ返信される。こうしてインデックス情報を取得したユーザノードは、取得したインデックス情報から保持ノードのIPアドレスを知ることができる。取得した保持ノードのIPアドレスに基づいて、ユーザノードは、コンテンツ送信要求メッセージを送信する。そして、ユーザノードは、保持ノードからコンテンツデータのレプリカを取得(ダウンロード)することができる。レプリカを取得するとき、レプリカのコンテンツIDがレプリカとともに取得される。
そして、保持ノードから取得したコンテンツデータのレプリカを、ユーザノードは、ハードディスク等の記憶手段に保存する。レプリカを保存したユーザノードは、レプリカを保存したことをルートノードに知らせる。レプリカを保存したことを知らせるために、ユーザノードは、レプリカのコンテンツIDと、ユーザノードのノード情報が含まれたパブリッシュメッセージを生成する。生成されたパブリッシュメッセージは、ユーザノードからルートノードに向けて送信される。パブリッシュメッセージが送信されることで、分散保存システムSに参加している他のノード装置Nnは、レプリカを取得したユーザノードからもレプリカを取得(ダウンロード)することができる。
上述の方法により、パブリッシュメッセージは、クエリと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着する。そして、ルートノードは、受信したパブリッシュメッセージに含まれるユーザノードのノード情報とレプリカのコンテンツIDの組とを含むインデックス情報を登録することができる。こうして、上記ユーザノードは、新たに、コンテンツのレプリカを保持する保持ノードとなる。なお、上記パブリッシュメッセージに含まれるユーザノードのインデックス情報は、ルートノードに至るまでの転送経路におけるノード装置Nnにおいても登録される。また、ルートノードは、所在情報に含まれるIPアドレス等により示されたコンテンツ保持ノードへコンテンツ送信要求メッセージを送信してもよい。この場合、コンテンツ保持ノードがユーザノードへアクセスしてコンテンツを提供することになる。
また、コンテンツ分散保存システムSに保存される全てのコンテンツは、コンテンツ管理サーバMSにより管理される。尚、本実施形態では、コンテンツ管理サーバMSは、図示していない。コンテンツ管理サーバMSは、分散保存システムSに保存される全てのコンテンツの属性情報を記憶している。そして、コンテンツ管理サーバMSは、コンテンツの属性情報を含むコンテンツカタログ情報を、全てのノード装置Nnに対して、DHTマルチキャストで配信する。DHTマルチキャストでは、コンテンツ管理サーバMSからあるノードNnに配信されたメッセージが、DHTを用いたルーティングテーブルにしたがって、分散保存システムSに接続しているノード装置Nnを順次転送される。これにより、最終的には全てのノード装置Nnに行き渡る。なお、DHTマルチキャストは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
[コンテンツ保持ノード決定方法の説明]
各ノード装置NnがP2Pネットワーク9に参加するときに取得された装置群情報に基づいて、コンテンツを取得する保持ノードを決定する方法を説明する。具体的には、図3に示すユーザノード21aが、コンテンツ1のコンテンツ送信要求メッセージをルートノードへ送信した例を用いて説明する。図11に示すように、コンテンツ1の保持ノードとして、保持ノード22a〜22eのノード情報がルートノードに記憶されている。そして、ルートノードは、インデックスキャッシュをコンテンツの取得候補先としてユーザノードへ送信する。取得候補先を受信したユーザノードは、ユーザノードの装置群情報に基づいて、コンテンツ取得先を決定する。
図12は、ルートノードに記憶される保持ノード22a〜22eのインデックスキャッシュにおける装置群情報の詳細を示す説明図である。図5に示すように、ユーザノード21aの装置群情報は、「上位装置群13a」、「下位装置群14a」である。コンテンツの取得先の決定は、下記に示す優先度により決定される。
1.ユーザノードと保持ノードとが同じ下位装置群と接続されている場合、同じ下位装置群に接続された保持ノードからコンテンツデータを取得する。
2.ユーザノードと保持ノードとが同じ下位装置群と接続されていない場合、ユーザノードと保持ノードとが同じ上位装置群と接続され、その上位装置群と直接接続される保持ノードからコンテンツデータを取得する。
3.ユーザノードと保持ノードとが同じ下位装置群と接続されておらず、且つ、ユーザノードと保持ノードとが同じ上位装置群と接続されていない場合、他の上位装置群と直接接続される保持ノードからコンテンツデータを取得する。
本実施形態では、上記の優先順序にもとづいて、コンテンツデータの取得先が決定される。従って、コンテンツ取得の際、経由する装置群の数が減らせることで、装置群間の通信負荷を減らせることができる。例えば、ユーザノード21aの装置群情報が、「上位装置群13a」、「下位装置群14a」の場合、図12に示すように、ノード装置22aは下位装置群が一致する保持ノード装置である。同様に、ノード装置22bは上位装置群が一致する保持ノード装置である。ノード装置22cは、上位装置群が一致し、且つ、上位装置群と直接接続される保持ノードである。ノード装置22dは、上位装置群が一致せず、且つ、上位装置群と直接接続される保持ノードである。ノード装置22eは、下位装置群が一致せず、且つ、上位装置群も一致しない保持ノードである。従って、ノード装置22a、ノード装置22c、ノード装置22dの優先順序で保持ノードが決定される。尚、上述したノード装置22a、ノード装置22c、ノード装置22dと比較すると、ノード装置22b及びノード装置22eは、優先度は低くなる。ノード装置22bとノード装置22eとでは、ノード装置22bの上位装置群が、ユーザノード21aの上位装置群と一致するため、ノード装置22bの方が優先される。
本実施形態では、コンテンツ取得先を決定する処理は、ユーザノードにより行われている。ユーザノードがクエリとともにユーザノードの装置群情報を送信することで、ルートノードによりコンテンツ取得先を決定することができる。この場合、ルートノードにより決定されたコンテンツ取得先がユーザノードに送信される。また、取得先として決定された保持ノードへコンテンツ送信要求メッセージが送信されても良い。
[ノード装置の電気的構成]
次に、図13を参照して、ノード装置Nnの電気的構成ついて説明する。
図13は、本実施形態のノード装置Nnの電気的構成を示すブロック図である。図13に示すように、本実施形態のノード装置Nnには、ノード装置Nnを制御するCPU31が備えられている。CPU31には、RAM32とHDD33とデコーダ部34と通信部39と入力部40とがそれぞれ電気的に接続されている。RAM32、HDD33などの記憶手段とCPU31とは、ノード装置Nnのコンピュータを構成している。そのコンピュータは、ノード装置Nnの動作を制御処理する。
RAM32は、各種メッセージ一時記憶領域321と、装置群情報一時記憶領域322と、接続関係情報コンテンツ一時記憶領域323と決定保持ノード一時記憶領域324とを含む。各種メッセージ一時記憶領域321は、ノード装置Nnが受信した各種メッセージを一時記憶する。例えば、参加メッセージやパブ立秋メッセージやクエリ等である。装置群情報一時記憶領域322は、ノード装置Nnが接続される装置群情報を一時記憶する。接続関係情報コンテンツ一時記憶領域323は、取得した接続関係情報コンテンツを一時記憶する。決定保持ノード一時記憶領域324は、後述する保持ノード距離決定処理により決定された保持ノードのノード情報が一時記憶される。
HDD33は、プログラム記憶領域331とレプリカ記憶領域336と、インデックスキャッシュ記憶領域337と、ルーティングテーブル記憶領域338と、コンテンツカタログリスト記憶領域339とを含む。プログラム記憶領域331は、メイン動作プログラム記憶領域332と保持ノード距離決定処理プログラム記憶領域333とコンテンツ取得処理プログラム記憶領域334と接続関係情報コンテンツ取得処理プログラム記憶領域335とを含む。メイン動作プログラム記憶領域332は、ノード装置Nnを制御するためのプログラム情報を記憶する。保持ノード距離決定処理プログラム記憶領域333は、ルートノードのインデックキャッシュにおける保持ノードの中から、ユーザノードから経由する装置群の数が少ない保持ノードを決定する。コンテンツ取得処理プログラム記憶領域334は、コンテンツを取得するプログラム情報を記憶する。接続関係情報コンテンツ取得処理プログラム記憶領域335は、接続関係情報コンテンツを取得するプログラム情報を記憶する。レプリカ記憶領域336は、コンテンツ投入サーバ16または他のノード装置Nnから送信されたレプリカを記憶する。レプリカ記憶領域336は、記憶するレプリカの公開時期及び評価値を、レプリカと対応付けて記憶する。インデックスキャッシュ記憶領域337は、上述したインデックスキャッシュを記憶する。ルーティングテーブル記憶領域338は、上述したルーティングテーブルを記憶する。コンテンツカタログリスト記憶領域339は、上述したコンテンツカタログリストを記憶する。
デコーダ部34は、映像情報と音声情報とをデコードする。本実施形態のデコードは、エンコード化された映像情報と音声情報とを、データ伸張または復号化することである。映像情報と音声情報とは、コンテンツデータのレプリカに含まれる。
映像処理部35は、デコードされた映像情報に所定の描画処理を施して映像信号を出力する。
ディスプレイ36は、映像処理部15から出力された映像信号に基づいて映像表示する。ディスプレイ36は、CRTディスプレイ、または、液晶ディスプレイにより構成される。
音声処理部37は、上記デコードされた音声情報をアナログオーディオ信号にD(Digital)/A(Analog)変換する。
スピーカ38は、変化されたアナログオーディオ信号を、アンプにより増幅して出力する。
通信部39は、ノード装置Nnをインターネットと接続する。通信部39は、ネットワーク8を介して他のノード装置Nnまたはコンテンツ投入サーバ16またはヒントサーバ17と情報の送受信を行う。
入力部40は、ユーザからの指示を受け付ける。入力部40は、キーボード、マウス、或いは、操作パネル等から構成される。なお、ノード装置Nnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
また、分散保存システムSが、分散保存システムSに参加する際のアクセス先となるコンタクトノードを備えている場合、各ノード装置NnのHDD33にはコンタクトノードのIPアドレスまたはポート番号等が記憶されている。更に、HDD33には、コンテンツカタログリストが記憶されている。なお、HDD33に記憶されるプログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよい。また、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
[ノード装置Nnのメイン処理動作]
以上説明した構成からなる本実施形態のノード装置Nnの動作及び作用について、添付図面を参照して説明する。図14は、ノード装置Nnにおける動作の処理手順を示すフローチャートである。ノード装置Nnにより上述したP2Pネットワーク9への参加処理の要求が行われたとき、ノード装置Nnのメイン動作が実行される。CPU31がメイン動作プログラムを実行することにより、遂行される。以下に示す処理は、CPU31により処理される。
ステップS101では、P2Pネットワーク9への参加処理が実行される。参加処理は、ノード装置NnがP2Pネットワーク9のコンタクトノードにアクセスする。そして、コンタクトノードから、各種メッセージを転送するルーティングテーブルとコンテンツカタログリストとノードとが取得される。
ステップS102では、接続関係情報コンテンツが取得される。ノード装置NnのIPアドレスに基づいて、IPアドレスに対応した接続関係情報コンテンツが取得される。
ステップS103では、ルートノードからインデックスキャッシュが受信されたか否かが判定される。インデックスキャッシュが受信されたと判定された場合、ステップS104が実行される。インデックスキャッシュが受信されたと判定されなかった場合、ステップS107が実行される。
ステップS104では、ステップS103で受信したインデックスキャッシュにおける保持ノードの装置群情報に基づいて、保持ノード距離決定処理が実行される。保持ノード距離決定処理に基づいて、ユーザノードから装置群の経由が少ない保存ノードへの経路が決定される。本実施形態のコンピュータとステップS104とは、本発明の決定部の一例である。
ステップS105では、ステップS104で決定された保持ノードへ、コンテンツの送信要求が送信される。
ステップS106では、ステップS105でコンテンツを要求したノード装置から、コンテンツを受信する。
ステップS107では、コンテンツ投入サーバ16、または、他のノード装置Nnから送信されたコンテンツデータを受信したか否かが判定される。コンテンツデータを受信したと判定したとき、ステップS108が実行される。コンテンツを受信しなかったと判定したとき、ステップS110が実行される。
ステップS108では、ステップS107で受信したコンテンツデータが、ノード装置Nnのレプリカ記憶領域336に記憶される。
ステップS109では、ステップS108で受信したコンテンツについて、パブリッシュメッセージがコンテンツ管理サーバMS、または、ルートノード、または、他のノード装置Nnへ送信される。
ステップS110では、他のノード装置Nnから送信されたクエリが受信されたかが否かが判定される。クエリが受信しされたと判定された場合、ステップS111が実行される。クエリが受信されたと判定されなかった場合、ステップS112が実行される。
ステップS111では、コンテンツ取得処理が実行される。コンテンツ取得処理は、他のノード装置からクエリを受信したときに実行される。ノード装置Nnが保持するインデッククスキャッシュに基づいて、複数ある保持ノードの中から、ユーザノードから保存ノードへの装置群の経由が少ない経路が決定される。決定された保持ノードのノード情報が、ユーザノードに送信される。本実施形態のコンピュータとステップS111とは、本発明のコンテンツ取得部の一例である。
ステップS112では、コンテンツ送信要求メッセージを受信したか否かが判定される。コンテンツ送信要求メッセージが受信された場合、ステップS113が実行される。コンテンツ送信要求メッセージが受信されなかったと判定されなかった場合、ステップS114が実行される。
ステップS113では、コンテンツ送信要求メッセ−ジに含まれるコンテンツが、ノード装置Nnの記憶部から読み出される。読み出されたコンテンツが、ユーザノードへ送信される。
ステップS114では、P2P動作に必要なその他の処理が実行される。具体的には、カタログリスト中の所望のコンテンツのクエリを送信する処理、ルーティングテーブルに基づいて、種々のメッセージを転送する処理である。また、ルートノードの場合、ユーザノードへインデックキャッシュを送信する処理である。本実施形態のコンピュータとステップS114のカタログリスト中の所望のコンテンツのクエリを送信する処理とは、本発明のコンテンツ要求部の一例である。
[保持ノード距離決定処理]
図15は、保持ノード距離決定処理プログラムに従うノード装置Nnの保持ノード距離決定処理を実行するフローチャートである。まず、ステップS201では、ノード装置Nnの装置群情報に基づいて、ノード装置Nnが下位装置群に接続されているか否かが判定される。下位装置群に接続されていると判定された場合、ステップS202が実行される。下位装置群に接続されていないと判定された場合、ステップS204が実行される。図5に示す下位装置群に「Null」が記憶されている場合、下位装置群と接続されていないと判定される。
ステップS202では、ノード装置Nnが接続される下位装置群と一致する保持ノードがあるか否かが判定される。具体的には、ノード装置Nnの装置群情報と、インデックスキャッシュに記載される装置群情報とが比較される。比較対象のインデックスキャッシュは、インデックスキャッシュ記憶領域337に記憶されている。比較した結果、下位装置群と一致する保持ノードがあると判定された場合、ステップS203が実行される。下位装置群と一致する保持ノードがないと判定された場合、ステップS204が実行される。尚、本実施形態では、ノード装置Nnが接続される下位装置群と、保持ノードが接続されている下位装置群とが一致するかを判定している。ノード装置NnのIPアドレスに基づいて、ノード装置NnのIPアドレスを含む下位装置群と接続される保持ノードがあるか否かが判定されても良い。本実施形態のコンピュータとステップS202とは、本発明の第1判定部の一例である。
ステップS203では、ステップS202で決定された保持ノードが、取得先の保持ノードとして決定される。決定された保持ノード情報のノード情報が、決定保持ノード一時記憶領域324に記憶される。
ステップS204では、ノード装置Nnの装置群情報における上位装置群と、保持ノードの上位装置群とが一致するか否かが判定される。具体的には、具体的には、ノード装置Nnの装置群情報と、インデックスキャッシュに記載される装置群情報とが比較される。比較対象のインデックスキャッシュは、インデックスキャッシュ記憶領域337に記憶されている。比較した結果、上位装置群と一致する保持ノードがあると判定された場合、ステップS205が実行される。上位装置群と一致する保持ノードがないと判定された場合、ステップS210が実行される。本実施形態のコンピュータとステップS204とは、本発明の第2判定部の一例である。
ステップS205では、ステップS204で一致すると判定された保持ノードが、上位装置群と直接接続されるノード装置であるか否かが判定される。ステップS205で決定された保持ノード装置の下位装置群が「Null」であるか否かが判定される。上位装置群と直接接続される保持ノード装置があると判定された場合、ステップS206が実行される。上位装置群と直接接続される保持ノード装置がないと判定された場合、ステップS207が実行される。本実施形態のコンピュータとステップS205とは、本発明の第3判定部の一例である。
ステップS206では、ステップS205で判定された上位装置群と直接接続される保持ノード装置が、コンテンツ取得先として決定される。決定された保持ノード情報のノード情報が、決定保持ノード一時記憶領域324に記憶される。
ステップS207では、インデックキャッシュ記憶領域337に記憶されたインデックスキャッシュに記載された保持ノードの中で、上位装置群と直接接続される保持ノードがあるか否かが判定される。上位装置群と直接接続される保持ノードがあると判定された場合、ステップS208が実行される。上位装置群と直接接続される保持ノードがないと判定された場合、ステップS209が実行される。本実施形態のコンピュータとステップS207とは、本発明の第3判定部の一例である。
ステップS208では、ステップS207で判定された上位装置群と直接接続される保持ノード装置が、コンテンツ取得先として決定される。決定された保持ノード情報のノード情報が、決定保持ノード一時記憶領域324に記憶される。取得先が複数ある場合、いずれかの保持ノード装置が取得先として決定される。
ステップS209では、ユーザノードと上位装置群が同じ保持ノードの中から、取得先がランダムに決定される。
ステップS210では、ステップS207と同様に、インデックキャッシュ記憶領域337に記憶されたインデックスキャッシュに記載された保持ノードの中で、上位装置群と直接接続される保持ノードがあるか否かが判定される。上位装置群と直接接続される保持ノードがあると判定された場合、ステップS211が実行される。上位装置群と直接接続される保持ノードがないと判定された場合、ステップS212が実行される。本実施形態のコンピュータとステップS210とは、本発明の第3判定部の一例である。
ステップS211では、ステップS208と同様に、ステップS210で判定された上位装置群と直接接続される保持ノード装置が、コンテンツ取得先として決定される。決定された保持ノード情報のノード情報が、決定保持ノード一時記憶領域324に記憶される。取得先が複数ある場合、いずれかの保持ノード装置が取得先として決定される。
ステップS212では、インデックスキャッシュに記載される保持ノードの中から、取得先がランダムに決定される。
[コンテンツ取得処理]
図16は、コンテンツ取得処理プログラムに従うノード装置Nnのコンテンツ取得処理を実行するフローチャートである。まず、ステップS301では、ノード装置Nnのインデックスキャッシュに、ステップS110で受信したクエリに含まれるコンテンツデータが記憶されているか否かが判定される。具体的には、クエリに含まれるコンテンツIDと一致するコンテンツデータがあるか否かが判定される。インデックスキャッシュに記憶されていないと判定されたとき、ステップS302が実行される。インデックスキャッシュに記憶されていると判定されたとき、ステップS303が実行される。
ステップS302では、ステップS110で受信したクエリを、ルーティングテーブルに基づいて、他のノード装置Nnへ転送する。
ステップS303では、ノード装置Nnが保持するインデックスキャッシュにおける保持ノードの装置群情報に基づいて、保持ノード距離決定処理が実行される。保持ノード距離決定処理に基づいて、ユーザノードから保持ノードへの装置群の経由が少ない経路が決定される。本実施形態のコンピュータとステップS303とは、本発明の決定部の一例である。
ステップS304では、ステップS303で決定された保持ノードへ、コンテンツの送信要求が送信される。
ステップS305では、ステップS304でコンテンツを要求した保持ノードから、コンテンツデータが受信される。
図18は、接続関係情報取得処理プログラムに従うノード装置Nnの接続関係情報コンテンツ取得処理を実行するフローチャートである。まず、ステップS401では、ノード装置NnのIPアドレスが、コンタクトノードに送信される。本実施形態のコンピュータとステップS401とは、本発明の送信部の一例である。また、本実施形態のステップS401は、本発明の送信ステップの一例である。
ステップS402では、ノード装置NnのIPアドレスに対応する上位情報コンテンツと、下位情報コンテンツとのコンテンツIDを受信する。本実施形態のコンピュータとステップS402とは、本発明の取得部の一例である。また、本実施形態のステップS402は、取得ステップの一例である。
ステップS403では、ステップS402で受信したコンテンツIDに基づいて、コンテンツIDに対応する上位情報コンテンツと下位情報コンテンツとが受信される。受信された上位情報コンテンツと下位情報コンテンツとは、接続関係情報コンテンツ一時記憶領域323に一時記憶される。受信された下位情報コンテンツに記載される上位装置群情報と下位装置群情報とが、装置群情報一時記憶領域322に一時記憶される。本実施形態のコンピュータとステップS403とは、本発明のデータファイル取得部の一例である。また、本実施形態のステップS403は、本発明のデータファイル取得ステップの一例である。
また、上記実施形態におけるコンテンツ分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。DHTを利用したルーティングテーブル以外にも適用可能である。また、本実施形態では、所在情報としてIPアドレスを用いたが、IPアドレスに限定されるものではない。MACアドレス等が用いられても良い。
また、本実施形態では、上位装置群または下位装置群が一致するか否かにより、コンテンツデータを取得する保持ノードが決定されている。上位装置群または下位装置群のIPアドレス範囲に、保持ノードのIPアドレスが含まれるか否かにより、保持ノードが決定されても良い。
3 IX
4a、4b ISP
5a、5b DSL回線業者装置
6 FTTH回線事業者装置
7 回線速度
8 ネットワーク
9 P2Pネットワーク(オーバーレイネットワーク)
11 ルータ
12 ノード装置
13a、13b、13c 上位装置群
14a、14b、14c、14d、14f 下位装置群
15 局舎モデム
16 コンテンツ投入サーバ
17 ヒントサーバ
21a ユーザノード
22a、22b、22c、22d、22e 保持ノード
31 CPU
32 RAM
33 HDD
34 デコーダ部
35 映像処理部
36 ディスプレイ
37 音声処理部
38 スピーカ
39 通信部
40 入力部
321 各種メッセージ記憶一時記憶領域
322 装置群情報一時記憶領域
323 接続系情報コンテンツ一時記憶領域
324 決定保持ノード一時記憶領域
331 プログラム記憶領域
332 メイン動作プログラム記憶領域
333 保持ノード距離決定処理プログラム記憶領域
334 コンテンツ取得処理プログラム記憶領域
335 接続関係情報コンテンツ取得プログラム記憶領域
336 レプリカ記憶領域
337 インデックスキャッシュ記憶領域
338 ルーティングテーブル記憶領域
339 コンテンツカタログリスト記憶領域
S 分散保存システム
Nn ノード

Claims (9)

  1. 複数の異なるネットワーク間を接続し、所定数の所在情報が割り当てられた少なくとも1つ以上の通信機器から構成される複数の装置群が階層構造により接続され、
    前記階層構造により接続された複数の装置群の一部の装置群を表す装置群情報と、前記一部の装置群に対応する所在情報とから構成されるデータファイルを分散して保存し、ネットワークを介して前記データファイルの送受信が可能な複数のノード装置と、
    前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて送信する送信部と、
    前記送信部により送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を取得する取得部と、
    前記取得部により取得された前記データファイル識別情報に基づいて、前記データファイルが保存された前記複数のノード装置のいずれかから前記データファイルを取得するデータファイル取得部と、
    を備える第1ノード装置と、
    から構成されることを特徴とする分散保存システム。
  2. 前記分散保存システムは、
    前記データファイルを識別するデータファイル識別情報と、前記データファイル識別情報が示すデータファイルの前記所在情報とを対応付けて記憶する第1記憶部を備えた管理装置を備え、
    前記送信部は、前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて前記管理装置へ送信し、
    前記取得部は、前記送信部により送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を、前記管理装置から取得することを特徴とする請求項1に記載の分散保存システム。
  3. 記分散保存システムは、
    前記複数のノード装置に分散して保存されたコンテンツデータの保存先のノード装置の前記所在情報を複数記憶する第2記憶部を備えた第2ノード装置を備え、
    前記第1ノード装置は、
    前記複数のノード装置に分散して保存された複数のコンテンツデータの中から、所望のコンテンツデータを要求するコンテンツデータ要求部と、
    前記コンテンツデータ要求部により要求されたコンテンツデータの所在情報を前記第2ノード装置から取得する所在情報取得部と、
    前記所在情報取得部により取得された前記所在情報の中から、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における前記装置群情報の前記所在情報に含まれるノード装置を決定する決定部と、
    前記決定部により決定されたノード装置から、前記コンテンツデータを取得するコンテンツデータ取得部と、
    を備えることを特徴とする請求項1または請求項2に記載の分散保存システム。
  4. 記分散保存システムは、
    前記複数のノード装置に分散して保存されたコンテンツデータの保存先のノード装置の前記所在情報を複数記憶する第2記憶部を備えた第2ノード装置を備え、
    前記第1ノード装置は、
    前記複数のノード装置に分散して保存された複数のコンテンツデータの中から、所望のコンテンツデータを要求するコンテンツデータ要求部を備え、
    前記送信部は、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における前記装置群情報を前記第2ノード装置へ送信し、
    前記第2ノード装置は、
    前記送信部により送信された前記装置群情報を受信する受信部と、
    前記第2記憶部に記憶された前記所在情報の中から、前記受信部が受信した前記装置群情報に基づいて、前記コンテンツデータ要求部により要求されたコンテンツデータの保存先のノード装置の前記所在情報を決定する決定部と、
    前記決定部により決定されたノード装置の所在情報を、前記第1ノード装置へ送信する第2送信部と、
    前記第2送信部により送信された所在情報に位置するノード装置から、前記コンテンツデータを取得するコンテンツデータ取得部と、
    を備えることを特徴とする請求項1または請求項2に記載の分散保存システム。
  5. 前記複数のノード装置は、
    前記装置群と同階層で接続される第1装置群及び前記装置群の下位階層に位置する第2装置群と、前記第1装置群及び前記第2装置群に対応する所在情報とを、前記データファイルとして分散保存し、
    前記決定部は、
    前記第2ノード装置の前記第2記憶部に記憶された複数の保存先のノード装置の中から、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における前記第2装置群の前記所在情報に含まれる保存先のノード装置があるか否かを判定する第1判定部を備え、
    前記第1判定部が、前記第2装置群の前記所在情報に含まれる保存先のノード装置があると判定したとき、前記コンテンツデータ取得部は、前記第1判定部に含まれると判定された保存先のノード装置から、前記コンテンツデータを取得することを特徴とする請求項3または請求項4に記載の分散保存システム。
  6. 前記決定部は、
    前記第1判定部により、前記第2装置群の前記所在情報に含まれる保存先がないと判定されたとき、前記コンテンツデータ要求部によりコンテンツデータを要求したノード装置における第1装置群の前記所在情報に含まれる保存先のノード装置があるか否かを判定する第2判定部を備え、
    前記第2判定部が、前記第1装置群の前記所在情報に含まれる保存先のノード装置があると判定したとき、前記コンテンツデータ取得部は、前記第2判定部により含まれると判定された保存先のノード装置から、前記コンテンツデータを取得することを特徴とする請求項5に記載の分散保存システム。
  7. 前記決定部は、
    前記第1判定部により、前記第2装置群の前記所在情報に含まれる保存先がないと判定されたとき、前記第2ノード装置の前記第2記憶部に記憶された複数の保存先のノード装置の中から、前記第1装置群と直接接続される保存先のノード装置があるか否かを判定する第3判定部を備え、
    前記第3判定部が、前記第1装置群と直接接続される保存先のノード装置があると判定したとき、前記コンテンツデータ取得部は、前記第3判定部により判定された保存先のノード装置から、前記コンテンツデータを取得することを特徴とする請求項5に記載の分散保存システム。
  8. 複数の異なるネットワーク間を接続し、所定数の所在情報が割り当てられた少なくとも1つ以上の通信機器から構成される複数の装置群が階層構造により接続され、
    前記階層構造により接続された複数の装置群の一部の装置群を表す装置群情報と、前記一部の装置群に対応する所在情報とから構成されるデータファイルを複数のノード装置に分散して保存し、前記複数のノード装置でネットワークを介して送受信が可能な前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて送信する送信ステップと、
    前記送信ステップにより送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を取得する取得ステップと、
    前記取得ステップにより取得された前記データファイル識別情報に基づいて、前記複数のノード装置のいずれかから前記データファイルを取得するデータファイル取得ステップと、
    を含むことを特徴とするデータファイル分散保存方法。
  9. 複数の異なるネットワーク間を接続し、所定数の所在情報が割り当てられた少なくとも1つ以上の通信機器から構成される複数の装置群が階層構造により接続され、
    前記階層構造により接続された複数の装置群の一部の装置群を表す装置群情報と、前記一部の装置群に対応する所在情報とから構成されるデータファイルを、ネットワークを介して前記データファイルの送受信が可能な複数のノード装置に分散して保存し、前記複数のノード装置でネットワークを介して送受信が可能な前記データファイルを要求する要求メッセージを、前記要求メッセージを送信する前記ノード装置の所在情報を含ませて、送信する送信ステップと、
    前記送信ステップにより送信された要求メッセージに含まれた所在情報に基づいて、前記所在情報に対応するデータファイル識別情報を取得する取得ステップと、
    前記取得ステップにより取得された前記データファイル識別情報に基づいて、前記複数のノード装置のいずれかから前記データファイルを取得するデータファイル取得ステップと、
    をコンピュータに実現させるためのプログラム。
JP2009127594A 2009-05-27 2009-05-27 分散保存システム、データファイル分散保存方法及びプログラム Expired - Fee Related JP5434268B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009127594A JP5434268B2 (ja) 2009-05-27 2009-05-27 分散保存システム、データファイル分散保存方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009127594A JP5434268B2 (ja) 2009-05-27 2009-05-27 分散保存システム、データファイル分散保存方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010278617A JP2010278617A (ja) 2010-12-09
JP5434268B2 true JP5434268B2 (ja) 2014-03-05

Family

ID=43425185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009127594A Expired - Fee Related JP5434268B2 (ja) 2009-05-27 2009-05-27 分散保存システム、データファイル分散保存方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5434268B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490999A (zh) * 2014-12-23 2016-04-13 哈尔滨安天科技股份有限公司 一种基于xmpp协议的分布式存储系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006120946A1 (ja) * 2005-05-10 2006-11-16 Brother Kogyo Kabushiki Kaisha ツリー型ネットワークシステム、ノード装置、放送システム及び放送方法等
JP4692414B2 (ja) * 2006-06-29 2011-06-01 ブラザー工業株式会社 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等

Also Published As

Publication number Publication date
JP2010278617A (ja) 2010-12-09

Similar Documents

Publication Publication Date Title
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
JP5141494B2 (ja) コンテンツ分散保存システム、特殊コンテンツ取得方法、ノード装置、及びノード処理プログラム
US7853718B2 (en) Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
JP2006191489A (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
JP4670043B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP2007058597A (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
JP5136585B2 (ja) 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
WO2007074873A1 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
JP2010231576A (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP5212292B2 (ja) 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP5338461B2 (ja) 管理装置、情報生成プログラム、及び情報生成方法
US20080240138A1 (en) Tree type broadcast system, connection target determination method, connection management device, connection management process program, and the like
JP5359728B2 (ja) カラオケシステム、カラオケ装置、ノード装置、カラオケプログラム、ノードプログラム、及びカラオケデータ送信方法
JP5494361B2 (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム
JP5494550B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP2006217538A (ja) 情報通信システム、情報通信システムに含まれる初期ゾーン管理ノード装置等
JP5353789B2 (ja) ノード装置、情報通信システム、メッセージ送信方法及びプログラム
JP2008084030A (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: 20130131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131125

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