JP5317827B2 - 分散データ管理装置及び方法及びプログラム - Google Patents

分散データ管理装置及び方法及びプログラム Download PDF

Info

Publication number
JP5317827B2
JP5317827B2 JP2009121370A JP2009121370A JP5317827B2 JP 5317827 B2 JP5317827 B2 JP 5317827B2 JP 2009121370 A JP2009121370 A JP 2009121370A JP 2009121370 A JP2009121370 A JP 2009121370A JP 5317827 B2 JP5317827 B2 JP 5317827B2
Authority
JP
Japan
Prior art keywords
key
data
node
request
management
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
JP2009121370A
Other languages
English (en)
Other versions
JP2010271798A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009121370A priority Critical patent/JP5317827B2/ja
Publication of JP2010271798A publication Critical patent/JP2010271798A/ja
Application granted granted Critical
Publication of JP5317827B2 publication Critical patent/JP5317827B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散データ管理装置及び方法及びプログラムに係り、特に、データをネットワークを介して通信する複数のノードに分散して蓄積及び管理するための分散データ管理装置及び方法及びプログラムに関する。
近年、ディジタルデータ量の増大を背景として、データ管理システムのスケーラビリティが重視されるようになり、特に成長能力の面から、スケール・アウト性に優れたpeer-to-peer(P2P)型の分散データ管理システムが注目を集めている。
P2Pデータ管理システムは既によく知られた技術であり、大きく構造化P2P(structured P2P)方式と非構造化(unstructured P2P)方式の2つに分けられるが、検索コストの観点から近年は分散ハッシュテーブル(DHT:Distributed Hash Table)技術を用いた構造化P2P方式の研究開発が盛んになっている。
これらDHTを利用した構造化P2Pデータ管理システムでは、一般に、データそれ自体をビット列と見做し、そこからハッシュ関数等を用いて固定長のキー値を生成し、そのキー値に基づいてデータが格納されるノードを決定する方式が採られている。キー値とデータ格納ノードの対応関係はルーティングテーブルで管理されており、個々のノードのシステムへの参加及び脱退などに応じて適宜更新される。ハッシュ関数を用いることで、特定のノードに書き込み負荷が集中することなく、データがシステムを構成する各ノードにまんべんなく分布することが期待できる。さらに、DHTを用いた構造化P2Pデータ管理システムでは、一般に、個々のノードは、キー値とノードの対応関係を全て知っている必要がない。キーを含む読み出し、または、書き込み要求を受信したノードは、ルーティングテーブルを参照し、そのキー値が自ノードの管理対象範囲内であれば、それを自ノードで処理し、そうでなければそのキー値に対応するノード、あるいは、そのキー値に対応するノードを知っている可能性が高いノードに、その要求を転送する仕組みを持つ。これにより、ノードの参加や脱退が頻繁に行われるような環境においても、ルーティングテーブルの更新頻度を抑制しつつ、適切なノードに要求を届けることを可能にしている(例えば、非特許文献1,2参照)。
"A Survey and Comparison of Peer-to-Peer Overlay Network Schemes", Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim, IEEE COMMUNICATIONS SURVEY AND TUTORIAL, MARCH 2004. "WIDE 2002年度 研究報告書 第17部 オーバーレイネットワークによる統合分散環境"
しかしながら、単にデータそれ自体をビット列と見做し、そのハッシュ値をキーとしてデータを格納するだけでは、データを読み出す際には、そのキー値を特定してデータを読み出す以外の方法では、検索効率が高くならない。例えば、大量のセンサの出力データを管理するシステムにおいて、特定のセンサのみの出力データを読み出したい場合、該特定センサのデータは、その値のハッシュ値に応じて、システム内の別々のノードに存在しており、該特定センサのデータを所持しているかどうかは個々のノードにアクセスしてみないとわからない。
すなわち、特定センサのデータだけを読み出すために、システム内の全てのノードにアクセスする必要があり、検索効率の劣化が課題となる。
また、データの処理を行う際、処理プログラムはしばしば特定の型のデータのみを扱う。しかし、データをビット列と見做したハッシュ値をキーとしてデータを格納するだけでは、前段に述べたのと同様、該当する型のデータを持つノードを予め特定することはできず、全てのノードにアクセスする必要があり、検索効率の劣化が課題となる。
また、ハッシュ値をキーとしてデータを格納するだけでは、その格納ノードに障害が発生した場合、該データへのアクセスが不可能となるが、これを解決するため、従来は該ハッシュ値に予め定められた演算を施すことによって得られる値をキーとして、そのキーに対応するノードにレプリカ(複製)を格納するという方法を採っていた。
本発明は、上記の点に鑑みなされたもので、DHTを用いた分散データ管理システムにおいて、特定のデータ源やデータ型など、同じ種類のデータを効率的に読み出すことが可能な分散データ管理装置及び方法及びプログラムを提供することを目的とする。
図1は、本発明の原理構成図である。
本発明(請求項1)は、複数のノードから構成される分散データ管理システムの分散データ管理装置(ノード)であって、
管理対象データを、メタデータを含むものとし、
ノード外との通信を行う通信・インターフェース手段11と、
任意のビット列から予め決められた方法でキーを生成するキー生成手段14と、
キーと管理対象データの組を格納するデータベース16と、
キーと管理対象データの対をデータベース16に格納し、指定されたキーに対応するデータを該データベースから取り出すデータベース管理手段13と、
分散ハッシュテーブル技術(DHT)に基づくルーティングテーブル17を用いて、指定されたキーに対応する他のノードへのルーティングを行うルーティング手段15と、
通信・インターフェース手段11を介して取得した書き込み要求及び読み出し要求を解析し、通信・インターフェース手段11、キー生成手段14、データベース管理手段13、ルーティング手段15を制御する要求処理手段12と、を有し、
要求処理手段12は、
外部のノードから通信・インターフェース手段11を介して書き込み要求を取得すると、キー生成手段14に対して、該要求に含まれる管理対象データに基づき、当該管理対象データに含まれるデータ本体とメタデータとによるビット列からキーを生成させ、ルーティング手段15に対して、該キーに基づいて書き込み対象のノードへのルーティングを指示し、通信・インターフェース手段11を介してキーと管理対象データからなる書き込み要求を該書き込み対象ノードに送信させる手段と、
書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり、かつ、該要求がレプリカ(複製)書き込み要求でないと判断した場合は、データベース管理手段に対して、該キーと該要求に含まれる管理対象データをデータベースに書き込むよう指示し、キー生成手段14に対し、該管理対象データのメタデータの全部あるいは一部をビット列としてキーを生成するように指示し、ルーティング手段15に対して、該キーに基づいてレプリカ書き込み対象のノードへのルーティングを指示し、通信・インターフェース手段11に対して、該キーと該管理対象データからなる書き込み要求をレプリカの書き込み要求として、該レプリカ書き込み対象ノードに送信させ、該ルーティング手段15に該管理対象データのキーとレプリカのキーを対応付けてルーティングテーブル17を更新させる手段と、
書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり、かつ、該要求がレプリカ書き込み要求であると判断した場合は、データベース管理手段13に対して、該要求に含まれる管理対象データをデータベース16に書き込むよう指示する手段と、
データ読み出し要求を取得し、該要求のキーが自ノードの管理対象範囲外であると判断した場合は、該キーに基づきルーティング手段15に読み出し対象のノードへのルーティングを指示し、通信・インターフェース手段11を介して該読み出し要求を該読み出し対象ノードに転送させ、該読み出し対象ノードから返却された応答を要求元に転送させる手段と、
データ読み出し要求のキーが自ノードの管理対象範囲内であれば、該キーに基づきデータベース管理手段13に対し、データベース16から対応する管理対象データの読み出しを指示し、通信・インターフェース手段11に該管理対象データを含む応答を転送元ノードに送信させる手段と、
を有することを特徴とする分散データ管理装置である
また、本発明(請求項2)は、データベース管理手段において、データベースへのデータの書き込みを行う際に、データ源の識別情報、または、データ型の識別情報を含む前記メタデータから得られる値をキーとして書き込みを行う。
図2は、本発明の原理を説明するための図である。
本発明(請求項)は、複数のノードから構成される分散データ管理システムの各ノードにおける分散データ管理方法であって、
キーと管理対象データの組を格納するデータベースと、
分散ハッシュテーブル技術に基づくルーティングテーブルと、を有する装置において、
管理対象データはデータ本体とメタデータを含み、
外部のノードから書き込み要求を受信すると(ステップ1)、該要求に含まれる管理対象データに基づき、当該管理対象データに含まれるデータ本体とメタデータとによるビット列からキーを生成し(ステップ2)、該キーに基づいて書き込み対象のノードへのルーティングを行い(ステップ3)、該キーと該管理対象データからなる書き込み要求を該書き込み対象ノードに送信し(ステップ4)、該書き込み対象ノードからの応答を要求元に送信し(ステップ5)
書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり(ステップ6、Yes)、かつ、該要求がレプリカ書き込み要求でない場合は(ステップ7、No)、該キーと該要求に含まれる管理対象データをデータベースに書き込み(ステップ8)、該データのメタデータの全部あるいは一部をビット列としてキーを生成し(ステップ9)、該キーに基づいてレプリカ書き込み対象のノードへのルーティングを行い(ステップ10)、該キーと該管理対象データからなる書き込み要求をレプリカの書き込み要求として、該レプリカ書き込み対象ノードに転送し(ステップ11)、該書き込み対象ノードからの応答を送信元ノードに送信し(ステップ12)当該キーと該管理対象データからなる書き込み要求を該書き込み対象ノードに送信し、該管理対象データのキーとレプリカのキーを対応付けてルーティングテーブルを更新し(ステップ13)、
書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり(ステップ6、Yes)、かつ、該要求がレプリカ書き込み要求である場合は(ステップ7、Yes)、該要求に含まれる管理対象データをデータベースに書き込み(ステップ14)、応答を送信元ノードに送信し(ステップ22)、
書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内でない場合は(ステップ6、No)、書き込み対象ノードへのルーティングを行い(ステップ19)、該書き込み対象ノードへ要求を転送し(ステップ20)、該書き込み対象ノードからの応答を送信元ノードに送信し(ステップ21)、
データ読み出し要求を取得すると、該要求のキーが自ノードの管理対象範囲外である場合は、該キーに基づき読み出し対象のノードへのルーティングを行い(ステップ15)、該読み出し要求を該読み出し対象ノードに転送し(ステップ16)、該読み出し対象ノードから返却された応答を要求元に転送し、
データ読み出し要求のキーが自ノードの管理対象範囲内であれば、該キーに基づきデータベースから対応する管理対象データを読み出し(ステップ17)、該管理対象データを含む応答を要求元ノードに送信する(ステップ18)。
また、本発明(請求項)は、データベースへのデータの書き込みを行う際に、データ源の識別情報、または、データ型の識別情報を含む前記メタデータから得られる値をキーとして書き込みを行う。
本発明(請求項)は、請求項1または2に記載の分散データ管理装置を構成する各手段としてコンピュータを機能させるための分散データ管理プログラムである。
上記のように、本発明では、DHTを用いた分散データ管理システムの各ノードにおいて、データ書き込み時には、データの値から得られる値をキーとして書き込みを行うと共に、さらに、メタデータ(データ源の識別情報、データ型の識別情報等)から得られる値をキーとしてデータの書き込みを行い、データの読み出し時には、必要に応じてデータ源やデータ型を指定して読み出しを行うことで、必要なデータが格納されているノードあるいはノード群のみにアクセスすることにより、より検索効率を高めることを実現する。
さらに、一般的に分散データ管理システムにおいては、通常データのレプリカを複数の異なるノードに格納することで信頼性等の向上を図るが、DHTを用いた従来の分散データ管理システムにおいては、レプリカ配置は、データから導出されたハッシュ値(オリジナルのキー)に、予め定められた演算を施すことによって得られる値をキーとして、そのキーに対応するノードにレプリカを格納するという方法を採っていた。しかし、本発明の分散データ管理システムでは、前述のメタデータ(データ源の識別情報、データ型の識別情報等)から得られる値をキーとしてデータを格納することで、同時にレプリカを作成可能にするものである。
上記のように本発明によれば、分散データ管理システムにおいて、データの書き込みの分散性を保ちつつ、データ読み出し時の絞り込みの効率の向上を実現すると共に、信頼性能の向上を実現する。また、従来は該ハッシュ値に予め定められた演算を施すことによって得られる値をキーとして、そのキーに対応するノードにレプリカ(複製)を格納するという方法を採っていた。しかし、本発明では、この方式でレプリカを用意する代わりに、前述のメタデータ(データ源の識別情報、データ型の識別情報等)から得られる値をキーとしてデータを格納する際、これをレプリカとしても利用可能なようにルーティングテーブルを構成することで、該データの可用性を高めることが可能となる。
本発明の原理構成図である。 本発明の原理を説明するための図である。 本発明を適用する分散データ管理システムの構成図である。 本発明の一実施の形態におけるノードの構成図である。 本発明の一実施の形態における温度センサのデータ(その1)である。 本発明の一実施の形態における温度センサのデータ(その2)である。 本発明の一実施の形態における書き込み方法のシーケンスチャートである。 データから生成されたキーを指定した場合の読み出し方法のシーケンスチャートである。 本発明の一実施の形態における読み出し方法のシーケンスチャート(メタデータから生成されたキーを指定)である。
以下、図面と共に本発明の実施の形態を説明する。
図3は、本発明を適用する分散データ管理システムの構成を示し、図4は、本発明の一実施の形態におけるノードの構成を示す。
本発明では、図4で示されるノードを1台のPC(パーソナルコンピュータ)上で動作させ、これらのPCをIP(インターネットプロトコル)ネットワークを介して接続することで、図3に示すデータ管理システムを構成する。ここでPCは、単独のハードウェアであってもよいのは勿論のこと、仮想化技術を用いた仮想マシンであってもよい。仮想マシンについては、既によく知られた技術であり、詳細については、「http://ja.wikipedia.org/wiki/%E4%BB%AE%E6%83%B3%E6%A9%9F%E6%A2%B0」等を参照することとし、ここでは詳細な説明は省略する。
ノード10は、通信・インターフェース部11、要求処理部12、データベース管理部13、キー生成部14、ルーティング部15、データベース16、ルーティングテーブル17から構成される。このうち、データベース16及びルーティングテーブル17は、ハードディスク装置等の記憶媒体である。
通信・インターフェース部11は、ノード外との要求・応答のやり取りを行う。
要求処理部12は、通信・インターフェース11で受信した外部からの要求が、書き込み要求か、読み出し要求か、また、要求にキーが含まれているか否か、キーが含まれている場合は、当該キーが自ノードの管理対象範囲内か否か、書き込み要求の場合に、当該要求がレプリカ書き込み要求か否か等を判断し、通信・インターフェース11、データベース管理部13、キー生成部14、ルーティング部15を制御する。
データベース管理部13は、書き込み要求によりキーとデータの対をデータベース16に書き込む処理と、読み出し要求により指定されたキーに対応するデータをデータベース16から読み出す処理を行う。
キー生成部14は、任意のビット列から予め決められた方法でキーを生成する。
ルーティング部15は、分散ハッシュテーブル技術(DHT)に基づくルーティングテーブル17を用いて、指定されたキーに対応する他のノードへのルーティングを行う。
上記のシステムにシステム外からデータを投入したり取得したりするには、
(a)一時的にノードとしてシステムに参加し、データ投入後システムから離脱する方法;(b)ノード10の通信・インターフェース部11が機能の一部としてユーザインターフェース機能やプログラムインターフェース機能を持つものとし、これを介してデータの投入や取得を行う方法;
を用いるものとする。
本発明では、管理対象データとしてメタデータを用いるが。メタデータとして、データの識別情報やデータ型の識別情報等があるが、本実施の形態では、データ源のID(識別子)を用いるものとする。データ源IDとしては、URN(参考文献:IETF RFC 2141 - URN Syntax:http://www.ietf.org/rfc/rfc2141.txt)などを用い、システムの外部で予め定めておくものとする。
キー生成部14で用いるキーを生成するためのハッシュアルゴリズムとしては、既存のハッシュ関数であるMD5やSHAファミリー(SHA-1, SHA-224, SHA-256, SHA-384, SHA-512)等のうちのいずれか1つを用いるものとする。
以下に具体的に説明する。
今このシステムに2つの異なる温度センサから温度データが投入されるものとする。1番目のデータはデータ源IDが'urn:thermosensor:9999'の温度センサからの図5に示すデータであり、2番目のデータはデータ源IDが'urn:thermosensor:8888'の温度センサからの図6に示すデータであるとする。
図7は、本発明の一実施の形態における書き込み方法のシーケンスチャートである。
以下、図7に沿って1番目のデータが分散データ管理システムに格納される流れを説明する。以下において、各ノード10には、ノードIDを付与して説明する。
ステップ101) まず、任意ノード321の通信・インターフェース部11を介して要求処理部12が図5のデータを含む書き込み要求を受け取る。
ステップ102) 当該ノード321のキー生成部14は、図5のデータを、XMLデータとデータ源IDを結合したビット列と見做し、SHA−1を用いてハッシュを計算し、「12345」という値を得たとする。この値がこのデータのキーとなる。
ステップ103) 次に、当該ノード321のルーティング部15が、このキー「12345」に対応するノードを得るため、ルーティングテーブル17を用いてルーティングを行い、ノード997が対応ノードであることを導出したとする。
ステップ104) そこで、ノード321は、ノード987にキー「12345」と図5に示すデータを含む書き込み要求を送信する。
ステップ105) 当該書き込み要求を受信したノード987の要求処理部12は、それがキー「12345」を含む書き込み要求であり、かつ、該キーが自ノードの管理対象であることをルーティング部15を介してルーティングテーブル17により確認した上で、データベース管理部13を介して自ノードのデータベース16に当該データをキー「12345」に対応付けて格納する。
ステップ106) 次に、ノード987のキー生成部14は、メタデータであるデータ源ID(urn:thermosensor:9999)をビット列と見做し、SHA−1を用いてハッシュを計算し、「98765」という値を得たとする。この値がこのデータのキーとなる。
ステップ107) 次にノード987のルーティング部15は、このキー「98765」を得るため、ルーティングテーブル17を用いてルーティングを行い、ノード111が対応ノードであることを導出したとする。
ステップ108) そこでノード987は、ノード111に、キー「98765」と図5に示すデータを含むレプリカ書き込み要求を送信する。
ステップ109) 書き込み要求を受信したノード111の要求処理部12は、それがキー「98765」を含む書き込み要求であり、かつ、当該キーが自ノードの管理対象であることを、ルーティング部15を介してルーティングテーブル17により確認した上で、自ノードのデータベース16に当該データをキー「98765」に対応付けて格納する。
上記と同様に、図7のシーケンスチャートに沿って、図6に示す2番目のデータ(データ源ID:urn:thermosensor:8888)が分散データ管理システムに格納される流れを説明する。
ステップ101) まず、任意のノード(例えば、ノード456)の要求処理部12が通信・インターフェース部11を介して、図6のデータを含む書き込み要求を受け取る。
ステップ102) ノード456のキー生成部14は、図6のデータを、XMLデータとデータ源IDを結合したデータのビット列と見做し、SHA−1を用いてハッシュを計算し、「13579」という値を得たとする。この値がこのデータのキーとなる。
ステップ103) 次に、ノード456のルーティング部15は、このキー「13579」に対応するノードを得るため、ルーティングテーブル17を用いてルーティングを行い、ノード654が対応ノードであることを導出したとする。
ステップ104) そこで、ノード456は、ノード654にキー「13579」と図6のデータを含む書き込み要求を送信する。
ステップ105) 当該書き込み要求を受信したノード654は、それがキー「13579」を含む書き込み要求であり、かつ、該キーが自ノードの管理対象であることをルーティングテーブル17により確認した上で、自ノードのデータベース16に該データを該キー「13579」に対応付けて格納する。
ステップ106) ノード654のキー生成部14は、メタデータであるデータ源ID(urn:thermosensor:8888)をビット列と見做し、SH1−1を用いてハッシュ計算し、「54321」という値を得たとする。この値がこのデータのキーとなる。
ステップ107) 次に、ノード654のルーティング部15は、取得したキー「54321」に対応するノードを得るため、ルーティングテーブル17を用いてルーティングを行い、ノード222に対応ノードであることを導出したとする。
ステップ108) そこで、ノード654は、ノード222に、キー「54321」と図5のデータを含むレプリカ書き込み要求を送信する。
ステップ109) 当該レプリカ書き込み要求を受信したノード222は、それがキー「54321」を含む書き込み要求であり、かつ、当該「54321」が自ノードの管理対象であることをルーティングテーブル17により確認した上で、自ノードのデータベース16に該データをキー「54321」に対応付けて格納する。
以下、センサ'urn:thermosensor:9999'から別なデータが投入された場合、データの値が異なるため、データの格納ノード(XMLデータとデータ源IDから算出したキーにより特定されるノード)は必ずしも同一のノードとなるとは限らないが、レプリカの格納ノード(データ源IDから算出したキーにより特定されるノード)は、必ずノード111になる。同様に、センサ'urn:thermosensor:9999'から別なデータが投入された場合も、レプリカの格納ノードは必ずノード222となる。
この性質を利用すると、特定のセンサから投入されたデータを本発明の分散データ管理システムから読み出す場合、(図8に示すように、データキーに基づく格納しか行わない場合は全てのノードに読み出し要求を行う必要があるのに対し)本発明のシステムでは、図9に示すように、メタデータキー、すなわち、データ源ID(例えば、urn:thermosensor:9999)から導出されたキー(例えば「98765」)を用いて読み出しを行うことで、該当するデータの存在するノード(例えばノードID:111)のみからデータの読み出しを行うことが可能になる。
また、本発明では、メタデータキーによるレプリカ投入の際、ルーティングテーブル17にレプリカの位置を記録する。ルーティングテーブル17はDHTのメカニズムに基づき、ノード間で適宜同期されるので、データキーによる読み出し要求に対し、対応する格納先ノードが何らかの理由で応答しない場合、メタデータキーに対応する格納先ノードからデータを読み出すこと、また、その逆に、メタデータキーによる読み出し要求に対し、対応する格納先ノードが何らかの理由で応答しない場合、データキーに対応する格納先ノードからデータを読み出すことが可能である。例えば、図5のデータから導出されるキー「12345」を用いてデータの読み出しを行おうとしたが、対応するノード987が故障により応答しない場合、読み出し要求を受け取ったノードは、ルーティングテーブル17からレプリカのキーが「98765」であり、その対応ノードがID=111であるという情報を得て、ノード111に読み出し要求を転送し、データの読み出しが可能になる。
なお、上記の図4に示すノード10の構成要素の動作をプログラムとして構築し、ノード(分散データ管理装置)として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
また、構築されたプログラムをハードディスクや、フレキシブルディスク・CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
10 ノード(分散データ管理装置)
11 通信・インターフェース手段、通信・インターフェース部
12 要求処理手段、要求処理部
13 データベース管理手段、データベース管理部
14 キー生成手段、キー生成部
15 ルーティング手段、ルーティング部
16 データベース
17 ルーティングテーブル

Claims (5)

  1. 複数のノードから構成される分散データ管理システムの分散データ管理装置(ノード)であって、
    管理対象データはデータ本体とメタデータを含むものとし、
    ノード外との通信を行う通信・インターフェース手段と、
    任意のビット列から予め決められた方法でキーを生成するキー生成手段と、
    キーと管理対象データの組を格納するデータベースと、
    キーと管理対象データの対を前記データベースに格納し、指定されたキーに対応する管理対象データを該データベースから取り出すデータベース管理手段と、
    分散ハッシュテーブル技術に基づくルーティングテーブルを用いて、指定されたキーに対応する他のノードへのルーティングを行うルーティング手段と、
    前記通信・インターフェース手段を介して取得した書き込み要求及び読み出し要求を解析し、前記通信・インターフェース手段、前記キー生成手段、前記データベース管理手段、前記ルーティング手段を制御する要求処理手段と、を有し、
    前記要求処理手段は、
    外部のノードから通信・インターフェース手段を介して書き込み要求を取得すると、前記キー生成手段に対して、該要求に含まれる管理対象データに基づき、当該管理対象データに含まれるデータ本体とメタデータとによるビット列からキーを生成させ、前記ルーティング手段に対して、該キーに基づいて書き込み対象のノードへのルーティングを指示し、前記通信・インターフェース手段を介して前記キーと前記管理対象データからなる書き込み要求を該書き込み対象ノードに送信させる手段と、
    前記書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり、かつ、該要求がレプリカ書き込み要求でないと判断した場合は、前記データベース管理手段に対して、該キーと該要求に含まれる管理対象データを前記データベースに書き込むよう指示し、前記キー生成手段に対し、該管理対象データに含まれるメタデータの全部あるいは一部をビット列としてキーを生成するように指示し、前記ルーティング手段に対して、該キーに基づいてレプリカ書き込み対象のノードへのルーティングを指示し、前記通信・インターフェース手段に対して、該キーと該管理対象データからなる書き込み要求をレプリカの書き込み要求として、該レプリカ書き込み対象ノードに送信させ、該ルーティング手段に該管理対象データのキーとレプリカのキーを対応付けて前記ルーティングテーブルを更新させる手段と、
    前記書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり、かつ、該要求がレプリカ書き込み要求であると判断した場合は、前記データベース管理手段に対して、該要求に含まれる管理対象データを前記データベースに書き込むよう指示する手段と、
    データ読み出し要求を取得し、該要求のキーが自ノードの管理対象範囲外であると判断した場合は、該キーに基づき前記ルーティング手段に読み出し対象のノードへのルーティングを指示し、前記通信・インターフェース手段を介して該読み出し要求を該読み出し対象ノードに転送させ、該読み出し対象ノードから返却された応答を送信元に転送させる手段と、
    前記データ読み出し要求のキーが自ノードの管理対象範囲内であれば、該キーに基づき前記データベース管理手段に対し、前記データベースから対応する管理対象データの読み出しを指示し、前記通信・インターフェース手段に該管理対象データを含む応答を要求元ノードに送信させる手段と、
    を有することを特徴とする分散データ管理装置。
  2. 前記メタデータは、
    データ源の識別情報、または、データ型の識別情報を含む
    請求項1記載の分散データ管理装置。
  3. 複数のノードから構成される分散データ管理システムの各ノードにおける分散データ管理方法であって、
    キーと管理対象データの組を格納するデータベースと、
    分散ハッシュテーブル技術に基づくルーティングテーブルと、を有する装置において、
    前記管理対象データはデータ本体とメタデータを含み、
    外部のノードから書き込み要求を受信すると、該要求に含まれる管理対象データに基づき、当該管理対象データに含まれるデータ本体とメタデータとによるビット列からキーを生成し、該キーに基づいて書き込み対象のノードへのルーティングを行い、該キーと該管理対象データからなる書き込み要求を該書き込み対象ノードに送信し、該書き込みノードからの応答を要求元に送信し、
    前記書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり、かつ、該要求がレプリカ書き込み要求でない場合は、該キーと該要求に含まれる管理対象データを前記データベースに書き込み、該管理対象データのメタデータの全部あるいは一部をビット列としてキーを生成し、該キーに基づいてレプリカ書き込み対象のノードへのルーティングを行い、該キーと該管理対象データからなる書き込み要求をレプリカの書き込み要求として、該レプリカ書き込み対象ノードに転送し、該書き込み対象ノードからの応答を送信元ノードに送信し、当該キーと該管理対象データからなる書き込み要求を該書き込み対象ノードに送信し、該管理対象データのキーとレプリカのキーを対応付けて前記ルーティングテーブルを更新し、
    前記書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内であり、かつ、該要求がレプリカ書き込み要求である場合は、該要求に含まれる管理対象データを前記データベースに書き込み、応答を送信元ノードに送信し、
    前記書き込み要求にキーが含まれていて、かつ、該キーが自ノードの管理対象範囲内でない場合は、書き込み対象ノードへのルーティングを行い、該書き込み対象ノードへ要求を転送し、該書き込み対象ノードからの応答を送信元ノードに送信し、
    データ読み出し要求を取得すると、該要求のキーが自ノードの管理対象範囲外である場合は、該キーに基づき読み出し対象のノードへのルーティングを行い、該読み出し要求を該読み出し対象ノードに転送し、該読み出し対象ノードから返却された応答を要求元に転送し、
    前記データ読み出し要求のキーが自ノードの管理対象範囲内であれば、該キーに基づき前記データベースから対応する管理対象データを読み出し、該管理対象データを含む応答を要求元ノードに送信する、
    ことを特徴とする分散データ管理方法。
  4. 前記データベースへのデータの書き込みを行う際に、データ源の識別情報、または、データ型の識別情報を含む前記メタデータから得られる値をキーとして書き込みを行う
    請求項記載の分散データ管理方法。
  5. 請求項1または2に記載の分散データ管理装置を構成する各手段としてコンピュータを機能させるための分散データ管理プログラム。
JP2009121370A 2009-05-19 2009-05-19 分散データ管理装置及び方法及びプログラム Expired - Fee Related JP5317827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009121370A JP5317827B2 (ja) 2009-05-19 2009-05-19 分散データ管理装置及び方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009121370A JP5317827B2 (ja) 2009-05-19 2009-05-19 分散データ管理装置及び方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010271798A JP2010271798A (ja) 2010-12-02
JP5317827B2 true JP5317827B2 (ja) 2013-10-16

Family

ID=43419789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009121370A Expired - Fee Related JP5317827B2 (ja) 2009-05-19 2009-05-19 分散データ管理装置及び方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5317827B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140019436A1 (en) * 2011-01-25 2014-01-16 Nec Corporation Information processing apparatus, information processing system, information processing method and information processing program
JP5655628B2 (ja) * 2011-02-25 2015-01-21 日本電気株式会社 情報処理システム、データバックアップ方法、情報処理装置及びその制御方法と制御プログラム
KR101451280B1 (ko) * 2012-10-16 2014-10-16 케이티하이텔 주식회사 분산형 데이터베이스 관리 시스템 및 방법
JP2014157397A (ja) * 2013-02-14 2014-08-28 Nec Corp 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム
JP6155861B2 (ja) * 2013-06-06 2017-07-05 富士通株式会社 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置
JP2015156111A (ja) * 2014-02-20 2015-08-27 日本電気株式会社 配置先決定装置、配置先決定方法、及び配置先決定プログラム
CN109074227B (zh) * 2016-11-25 2020-06-16 华为技术有限公司 一种数据校验的方法及存储系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4729683B2 (ja) * 2004-03-26 2011-07-20 株式会社エヌ・ティ・ティ ネオメイト データ分散格納装置、そのデータ構成管理サーバ、クライアント端末、および、データ分散格納装置を備えた業務委託システム
JP2008023445A (ja) * 2006-07-20 2008-02-07 Daikin Ind Ltd 集塵装置
JP2009020757A (ja) * 2007-07-12 2009-01-29 Toshiba Corp データ登録装置、データ登録方法及びプログラム

Also Published As

Publication number Publication date
JP2010271798A (ja) 2010-12-02

Similar Documents

Publication Publication Date Title
JP5317827B2 (ja) 分散データ管理装置及び方法及びプログラム
US10185497B2 (en) Cluster federation and trust in a cloud environment
US9405781B2 (en) Virtual multi-cluster clouds
Zhang et al. Distributed hash table: Theory, platforms and applications
WO2007060862A1 (ja) 情報配信システム、情報配信方法、ノード装置、及び記録媒体
BR112012010503B1 (pt) Método para permitir compartilhamento de arquivos de conteúdo entre nós de uma rede não hierárquica, e, rede não hierárquica
JP6438719B2 (ja) 通信システム、および、通信プログラム
JP6062551B2 (ja) 差分データ転送システム及び方法
JP5936865B2 (ja) キャッシュクラウド構造を用いたキャッシュシステムおよびキャッシングサービス提供方法
JPWO2008056496A1 (ja) 情報の管理方法及び情報処理装置
JP2017034666A (ja) コンテンツ指向型ネットワークのスタックにおける状態の転送
JP6029936B2 (ja) 通信制御装置、通信装置およびプログラム
JP5992295B2 (ja) 通信制御装置、通信装置およびプログラム
JP5470148B2 (ja) ノード装置及びコンピュータプログラム
US8881242B2 (en) Information communication system, information communication method, node apparatus and recording medium
JP5345577B2 (ja) 名前解決装置、名前解決方法および名前解決プログラム
JP6162873B2 (ja) 通信制御装置、通信装置およびプログラム
JP6178472B2 (ja) 通信制御装置、通信装置およびプログラム
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム
WO2013027784A1 (ja) データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体
JP5894860B2 (ja) Id管理方法およびデータ管理装置
JP2007249913A (ja) データ管理装置、データ管理プログラム、および記録媒体
JP2013025382A (ja) コンテキスト情報管理ノード及びその制御方法、コンテキスト情報管理システム、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130709

R150 Certificate of patent or registration of utility model

Ref document number: 5317827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees