JP6155861B2 - データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置 - Google Patents

データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置 Download PDF

Info

Publication number
JP6155861B2
JP6155861B2 JP2013120260A JP2013120260A JP6155861B2 JP 6155861 B2 JP6155861 B2 JP 6155861B2 JP 2013120260 A JP2013120260 A JP 2013120260A JP 2013120260 A JP2013120260 A JP 2013120260A JP 6155861 B2 JP6155861 B2 JP 6155861B2
Authority
JP
Japan
Prior art keywords
node
data
range
area
unit
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
JP2013120260A
Other languages
English (en)
Other versions
JP2014238678A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013120260A priority Critical patent/JP6155861B2/ja
Priority to US14/293,241 priority patent/US20140365681A1/en
Publication of JP2014238678A publication Critical patent/JP2014238678A/ja
Application granted granted Critical
Publication of JP6155861B2 publication Critical patent/JP6155861B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Description

本発明は、データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置に関する。
大量のデータを収集するデータ収集システムは、1箇所のデータセンタでデータを収集すると、データセンタ側のネットワークがボトルネックとなる。また、データを蓄積するデータベースが単一ノードで構成される場合、データベースの容量または処理性能にスケーラビリティがないという問題がある。このため、本発明のデータ収集システムでは、データを収集して蓄積するデータベースを分散化した分散データベース(以下、分散DBという)を採用したうえで、エリアごとに分散DBノード群を構成する。
特開2003−216474号公報 特開2009−230686号公報
しかしながら、分散DBは、あるエリアの分散DBノード群に負荷が集中したとしても、他のエリアの分散DBノード群にその負荷を分散することができず、分散DB全体のリソースの利用効率が悪くなる。なお、分散DBは、システム全体として1つの分散DBノード群を有し、1つの管理サーバを設けることもできるが、管理サーバのネットワーク帯域の使用量が増大する。
一つの側面では、リソースの利用効率を向上できるデータ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置を提供することにある。
1つの実施態様では、データ管理システムは、データを蓄積する複数の第1のノードと、各第1のノードを管理する第2のノードとを有する。第1のノードは、全エリアのIDの範囲と、前記データを更新する更新リクエストのデータから算出する第1のIDの導出可能範囲とを、前記第2のノードから受信する。第1のノードは、前記更新リクエストを検出した場合に、前記全エリアのIDの範囲と前記導出可能範囲とに基づいて、前記更新リクエストのデータから前記第1のIDを算出する。第1のノードは、第1のIDと第1のノードとを対応付けるノード情報を参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する。第1のノードは、前記決定された第1のノードが他の前記エリアに所属する第1のノードである場合には、前記決定された第1のノードに前記更新リクエストを転送する。
リソースの利用効率を向上できる。
図1は、実施例のデータ管理システムの構成の一例を示す説明図である。 図2は、実施例の管理ノードの一例を示すブロック図である。 図3は、静的エリア情報記憶部の一例を示す説明図である。 図4は、ノード情報記憶部の一例を示す説明図である。 図5は、IDノード情報記憶部の一例を示す説明図である。 図6は、動的エリア情報記憶部の一例を示す説明図である。 図7は、実施例のノードの一例を示すブロック図である。 図8は、データ記憶部の一例を示す説明図である。 図9は、位置記憶部の一例を示す説明図である。 図10は、再配置記憶部の一例を示す説明図である。 図11は、実施例の蓄積クライアントの一例を示すブロック図である。 図12は、実施例の解析サーバの一例を示すブロック図である。 図13は、実施例のノードのハードウエア構成の一例を示すブロック図である。 図14は、静的IDとエリア及びノードとの関係の一例を示す説明図である。 図15は、動的IDとエリア及びノードとの関係の一例を示す説明図である。 図16は、実施例の初期設定の動作の一例を示すシーケンス図である。 図17は、実施例の更新リクエスト及び参照リクエストの動作の一例を示すシーケンス図である。 図18は、実施例のノードの更新リクエスト受信時における動作の一例を示すフローチャートである。 図19は、実施例のノードの参照リクエスト受信時における動作の一例を示すフローチャートである。 図20は、データ管理プログラムを実行するデータ管理機器の一例を示す説明図である。
以下、図面に基づいて、本願の開示するデータ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例のデータ管理システムの構成の一例を示す説明図である。図1に示すデータ管理システム10は、データセンタ20と、分散DBノード群を表すエリア1〜エリア4とを有する。データセンタ20は、管理ノード100と、解析サーバ400とを有する。エリア1〜4は、それぞれノード200と、蓄積クライアント300とを有する。管理ノード100と、エリア1〜4の各蓄積クライアント300と、解析サーバ400とは、ネットワークNを介して、有線により通信可能に接続される。エリア1〜4の各ノード200は、所属するエリアの蓄積クライアント300に接続される。なお、例えば、管理ノード100は、第2のノードであり、例えば、ノード200は、第1のノードである。
[1.管理ノードの構成]
管理ノード100の構成の一例について説明する。図2は、実施例の管理ノードの一例を示すブロック図である。管理ノード100は、通信部110と、記憶部120と、制御部130とを有する。管理ノード100は、データを識別するIDとエリアを識別する情報とを用いて、リクエストに対応するノードを分散する情報を生成する。尚、管理ノード100は、管理ノード100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークNと有線で接続され、ネットワークNを介して、ノード200、蓄積クライアント300や解析サーバ400との間で情報の通信を司る通信インタフェースである。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、静的エリア情報記憶部121と、ノード情報記憶部122と、IDノード情報記憶部123と、動的エリア情報記憶部124とを有する。
静的エリア情報記憶部121には、各エリアの位置関係をID空間に割り当てた情報である静的エリア情報が記憶されている。ここで、図3は、静的エリア情報記憶部の一例を示す説明図である。図3に示すように、静的エリア情報記憶部121は、エリア121A、ID範囲の始点121B及びID範囲の終点121C等の項目を対応付けて管理している。
エリア121Aは、地域ごとの分散DBノード群を示す。例えば、図3では、エリア121Aは、エリア1〜エリア4の4つとなる。ID範囲の始点121Bは、ID空間に割り当てられた各エリアの始点の静的IDを示す。ID範囲の終点121Cは、ID空間に割り当てられた各エリアの終点の静的IDを示す。なお、静的IDは、第2のIDである。例えば、図3では、ID空間全体を「1〜1000(0で表す)」とし、エリア1にID「1〜250」を、エリア2にID「251〜500」を、エリア3にID「501〜750」を、エリア4にID「751〜0」を割り当てている。
ノード情報記憶部122には、各ノードと、各ノードのホスト名と、各ノードの所属エリアとを対応付けたノード情報が記憶されている。ここで、図4は、ノード情報記憶部の一例を示す説明図である。図4に示すように、ノード情報記憶部122は、ノード122A、ホスト名122B及び所属エリア122C等の項目を対応付けて管理している。
ノード122Aは、各ノードを識別するための識別情報を示す。ホスト名122Bは、各ノードをネットワーク上で特定するための情報を示す。所属エリア122Cは、各ノードが所属するエリアを示す。図4の所属エリア122Cのエリア1には、例えば、“A1”、“A2”及び“A3”のノード200が所属し、エリア2には、例えば、“B1”、“B2”及び“B3”のノード200が所属している。
IDノード情報記憶部123には、ID空間の静的ID範囲と各ノードとを対応付けたIDノード情報が記憶されている。なお、IDノード情報は、全エリアのIDの範囲の情報を有し、静的IDと全エリアの各ノード200とを対応付ける。ここで、図5は、IDノード情報記憶部の一例を示す説明図である。図5に示すように、IDノード情報記憶部123は、ID範囲の始点123A、ID範囲の終点123B及びノード123C等の項目を対応付けて管理している。
ID範囲の始点123Aは、ID空間に割り当てられた各ノードの始点の静的IDを示す。ID範囲の終点123Bは、ID空間に割り当てられた各ノードの終点の静的IDを示す。ノード123Cは、ID範囲に対応するノードを示す。例えば、図5では、ID「1〜80」が“A1”のノード200に、ID「81〜160」が“A2”のノード200に、ID「161〜250」が“A3”のノード200に対応する。また、ID「251〜330」が“B1”のノード200に、ID「331〜410」が“B2”のノード200に、ID「411〜500」が“B3”のノード200に対応する。
動的エリア情報記憶部124には、エリアごとにID空間に動的IDを対応付けて管理する動的エリア情報が記憶されている。なお、動的IDは、第1のIDであり、動的エリア情報は、動的IDの導出可能範囲を表す。ここで、図6は、動的エリア情報記憶部の一例を示す説明図である。図6に示すように、動的エリア情報記憶部124は、エリア124A、ID範囲の始点124B及びID範囲の終点124C等の項目を対応付けて管理している。
エリア124Aは、地域ごとの分散DBノード群を示す。例えば、図6では、エリア124Aは、エリア1〜エリア4の4つとなる。ID範囲の始点124Bは、ID空間に割り当てられた各エリアの始点の動的IDを示す。ID範囲の終点124Cは、ID空間に割り当てられた各エリアの終点の動的IDを示す。例えば、図6では、ID空間全体を「1〜1000(0で表す)」とし、エリア1にID「1〜500」を、エリア2にID「251〜500」を、エリア3にID「501〜750」を、エリア4にID「751〜0」を割り当てている。つまり、ID「251〜500」は、エリア2だけでなく、エリア1の動的IDとしても使用できる。
図2の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしても良い。
制御部130は、図2に示すように、IDノード情報生成部131と、収集部132と、動的エリア情報生成部133とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。尚、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
IDノード情報生成部131は、静的エリア情報記憶部121に記憶された静的エリア情報と、ノード情報記憶部122に記憶されたノード情報とに基づいて、IDノード情報を生成する。IDノード情報は、例えば、各ノードについて、ノード名からハッシュ関数を用いて一次IDを算出して、以下の式(1)によりノードIDを算出する。次に、全ノードをノードID順に並べて、対象ノードの範囲を前ノードのノードIDより大きく、自ノードのノードID以下の範囲として、IDノード情報を生成する。
ノードID=一次ID×ノードの所属エリアの静的ID範囲/全体ID範囲
+ノードの所属エリアの始点の静的ID …(1)
例えば、図3の静的エリア情報と、図4のノード情報とから、ノードIDを算出する場合を説明する。例えば、“A2”のノード200の一次IDが「636」であった場合のノードIDを算出する。“A2”のノード200は、ノード情報よりエリア1に所属する。“A2”のノード200の所属するエリア1の静的ID範囲は、静的エリア情報より「1〜250」となる。また、エリア1の始点の静的IDは「1」である。全体ID範囲は、静的エリア情報より「1000」である。これらのパラメータを式(1)に代入すると、ノードID=636×250/1000+1となり、ノードIDは、「160」となる。また、“A1”のノード200のノードIDが「80」であるとすると、“A2”のノード200に対応する静的ID範囲は、「81〜160」となる。
IDノード情報生成部131は、生成したIDノード情報をIDノード情報記憶部123に記憶する。また、IDノード情報生成部131は、静的エリア情報とIDノード情報とを通信部110を介して、各ノード200、各蓄積クライアント300及び解析サーバ400に送信する。
収集部132は、各ノード200から送信される負荷情報を、通信部110を介して受信して収集する。負荷情報は、各ノード200の負荷量を表す情報であり、例えば、各ノード200のCPU使用率やディスク使用量等のリソース使用状況を含むものである。収集部132は、収集した負荷情報を動的エリア情報生成部133に出力する。
動的エリア情報生成部133は、例えば、収集部132から負荷情報が入力されると、負荷量が所定負荷量を超えたノード200があるか否かを判定する。動的エリア情報生成部133は、負荷量が所定負荷量を超えたノード200を検出した場合、当該ノード200が所属するエリアの動的ID範囲を生成する。当該エリアの動的ID範囲は、所定負荷量を超えたノード200を含むエリアに対応した静的ID範囲に、当該エリアに隣接するエリアの静的ID範囲を追加して割り当てることで生成する。例えば、図6では、エリア1に所属するノード200の負荷量が所定負荷量を超えた場合に、エリア1の静的ID範囲であるID「1〜250」に、隣接エリア(エリア2)の静的ID範囲であるID「251〜500」をエリア1に追加して割り当てる。つまり、エリア1は、動的IDとしてID「1〜500」が割り当てられる。動的エリア情報生成部133は、エリアごとに動的IDを対応付けて動的エリア情報を生成する。尚、負荷量が所定負荷量を超えたノード200を検出しない場合には、静的エリア情報と同様のID範囲を割り当てる。動的エリア情報生成部133は、生成した動的エリア情報を動的エリア情報記憶部124に記憶するとともに、通信部110を介して各ノード200に送信する。
[2.ノードの構成]
ノード200の構成の一例について説明する。図7は、実施例のノードの一例を示すブロック図である。ノード200は、通信部210と、記憶部220と、制御部230とを有する。ノード200は、当該ノード200自体が所属するエリアを管轄する蓄積クライアント300又は他のノード200からデータを受信して蓄積する。尚、ノード200は、ノード200の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部210は、例えば、NIC等によって実現される。通信部210は、所属するエリアを管轄する蓄積クライアント300と有線で接続され、蓄積クライアント300、及び、蓄積クライアント300を介して他のノード200との間で情報の通信を司る通信インタフェースである。尚、通信部210は、直接ネットワークNと有線で接続され、ネットワークNを介して、蓄積クライアント300や他のノード200との間で情報の通信を司る通信インタフェースでとすることができる。
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部220は、静的エリア情報記憶部221と、IDノード情報記憶部222と、動的エリア情報記憶部223と、データ記憶部224と、位置記憶部225と、再配置記憶部226とを有する。
静的エリア情報記憶部221には、静的エリア情報が記憶されている。静的エリア情報は、管理ノード100から通信部210を経由して受信した、例えば、エリア121A、ID範囲の始点121B及びID範囲の終点121C等の項目を対応付けて管理している情報である。尚、静的エリア情報は、管理ノード100の静的エリア情報記憶部121に記憶された静的エリア情報の内容と同一である。
IDノード情報記憶部222には、IDノード情報が記憶されている。IDノード情報は、管理ノード100から通信部210を経由して受信した、例えば、ID範囲の始点123A、ID範囲の終点123B及びノード123C等の項目を対応付けて管理している情報である。尚、IDノード情報は、管理ノード100のIDノード情報記憶部123に記憶されたIDノード情報の内容と同一である。
動的エリア情報記憶部223には、動的エリア情報が記憶されている。動的エリア情報は、管理ノード100から通信部210を経由して受信した、例えば、エリア124A、ID範囲の始点124B及びID範囲の終点124C等の項目を対応付けて管理している情報である。尚、動的エリア情報は、管理ノード100の動的エリア情報記憶部124に記憶された動的エリア情報の内容と同一である。
データ記憶部224には、所属するエリアの蓄積クライアント300から通信部210を介して受信したデータが記憶されている。ここで、図8は、データ記憶部の一例を示す説明図である。図8に示すように、データ記憶部224は、静的ID224A及びデータ224B等を対応付けて管理している。また、データ224Bは、key224C及びvalue224Dを有する。なお、静的ID224Aは、第2のIDである。
静的ID224Aは、ノード200に記憶するデータ、つまり、蓄積するデータを識別するための識別情報である。静的ID224Aは、管理ノード100から通信部210を介して受信した静的エリア情報のID範囲のうちの任意の静的IDである。また、1つの静的ID224Aには、複数のデータが対応付けて記憶される。データ224Bは、蓄積するデータを示す。key224C(以下、キーとも表す)は、蓄積するデータの一部を示す文字列であり、静的ID224Aと併せて各データを識別する。つまり、静的ID224Aとkey224Cとを用いることで、一意のデータを識別できる。value224Dは、蓄積するデータそのものである。value224Dは、例えば、電話回線の通話データである。
位置記憶部225には、ノード200にデータを蓄積するリクエストのうち、リクエストを他のノード200に転送した場合の転送先のノード200が記憶されている。ここで、図9は、位置記憶部の一例を示す説明図である。図9に示すように、位置記憶部225は、静的ID225A及びデータ225Bを対応付けて管理している。また、データ225Bは、key225C及び転送先ノード225Dを有する。
静的ID225Aは、他のノード200に転送したリクエストに対応するデータを識別するための識別情報である。静的ID225Aは、管理ノード100から通信部210を介して受信した静的エリア情報のID範囲のうちの任意の静的IDである。また、1つの静的ID225Aには、複数のデータが対応付けて記憶される。データ225Bは、リクエストの転送先を示す。key225Cは、蓄積するデータの一部を示す文字列であり、データ記憶部224と同様に、静的ID225Aと併せて各データを識別する。転送先ノード225Dは、リクエストを転送した先のノード200を示す。転送先ノード225Dは、例えば、“B2”等のノード名を用いることができる。
再配置記憶部226には、他のノード200から転送されたリクエストに対応するデータが記憶されている。ここで、図10は、再配置記憶部の一例を示す説明図である。図10に示すように、再配置記憶部226は、静的ID226A及びデータ226Bを対応付けて管理している。また、データ226Bは、key226C及びvalue226Dを有する。
静的ID226Aは、他のノード200から転送されたリクエストに対応するデータを識別するための識別情報である。静的ID226Aは、管理ノード100から通信部210を介して受信した静的エリア情報のID範囲のうちの任意の静的IDである。また、1つの静的ID226Aには、複数のデータが対応付けて記憶される。データ226Bは、蓄積するデータを示す。key226Cは、蓄積するデータの一部を示す文字列であり、データ記憶部224と同様に、静的ID226Aと併せて各データを識別する。value226Dは、蓄積するデータそのものである。value226Dは、例えば、電話回線の通話データである。
図7の説明に戻って、制御部230は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現されるようにしても良い。
制御部230は、図7に示すように、ID算出部231と、ID変換部232と、決定部233と、再配置部234と、負荷情報送信部235とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。尚、制御部230の内部構成は、図7に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
ID算出部231は、蓄積クライアント300からデータの更新を行うリクエスト、又は、解析サーバ400からデータの参照を行うリクエストを、通信部210を介して受信すると、当該データの静的IDを算出する。つまり、ID算出部231は、例えば、検出部である。ID算出部231は、リクエストに含まれる当該データのキーと、静的エリア情報記憶部221に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部231は、例えば、データのキーからハッシュ関数を用いて一次IDを算出して、以下の式(2)によりデータの静的IDを算出する。なお、データの静的IDは、データの第2のIDである。
データの静的ID=一次ID×ノードの所属エリアの静的ID範囲/全体ID範囲
+ノードの所属エリアの始点の静的ID …(2)
例えば、エリア1に配置されるノード200において、図3に示す静的エリア情報と、一次IDとして算出された「800」とに基づいて、データの静的IDを算出する場合を説明する。当該ノード200の所属するエリアの静的ID範囲は、静的エリア情報より「250」となる。また、エリア1の始点の静的IDは「1」である。全体ID範囲は、静的エリア情報より「1000」である。これらのパラメータを式(2)に代入すると、データの静的ID=800×250/1000+1となり、データの静的IDは、「201」となる。ID算出部231は、生成したデータの静的IDを、ID変換部232及び決定部233に出力する。
ID変換部232は、決定部233から後述する動的ID生成情報が入力されると、該当するデータの静的IDを動的IDに変換する。ID変換部232は、データの静的IDを算出した一次IDと、動的エリア情報記憶部223に記憶されている動的エリア情報とに基づいて、当該データの動的IDを算出する。つまり、ID変換部232は、例えば、算出部である。ID変換部232は、以下の式(3)によりデータの動的IDを算出する。なお、データの動的IDは、データの第1のIDである。
データの動的ID=一次ID×ノードの所属エリアの動的ID範囲/全体ID範囲
+ノードの所属エリアの始点の動的ID …(3)
例えば、エリア1に配置されるノード200において、図6に示す動的エリア情報と、一次IDとして算出された「800」とに基づいて、データの動的IDを算出する場合を説明する。ノード200の所属エリアの動的ID範囲は、動的エリア情報より「500」となる。また、エリア1の始点の動的IDは「1」である。全体ID範囲は、動的エリア情報より「1000」である。これらのパラメータを式(3)に代入すると、データの動的ID=800×500/1000+1となり、データの動的IDは、「401」となる。ID変換部232は、生成したデータの動的IDを決定部233に出力する。
決定部233は、蓄積クライアント300からデータの更新を行うリクエスト、又は、解析サーバ400からデータの参照を行うリクエストを、通信部210を介して受信する。また、決定部233は、ID算出部231からデータの静的IDが入力される。決定部233は、リクエストに対応するデータがデータ記憶部224に記憶されているか否かを、リクエストのデータの静的ID及びキーに基づいて検索する。決定部233は、リクエストに対応するデータがデータ記憶部224に記憶されている場合は、データを参照又は更新する。決定部233は、データの参照が完了すると、解析サーバ400に参照レスポンスを送信する。また、決定部233は、データの更新が完了すると、蓄積クライアント300に更新レスポンスを送信する。
決定部233は、リクエストに対応するデータがデータ記憶部224に記憶されていない場合は、位置記憶部225に転送先のノード200が記憶されているか否かを、リクエストのデータの静的ID及びキーに基づいて検索する。決定部233は、リクエストに対応する転送先のノード200が位置記憶部225に記憶されている場合は、リクエストを検索にヒットした転送先のノード200に通信部210を介して転送する。決定部233は、参照レスポンスを転送先のノード200から受信すると、解析サーバ400に参照レスポンスを転送する。また、決定部233は、更新レスポンスを転送先のノード200から受信すると、蓄積クライアント300に更新レスポンスを転送する。
決定部233は、リクエストに対応する転送先のノード200が位置記憶部225に記憶されていない場合は、ID変換部232に対して動的ID生成情報を出力する。決定部233は、ID変換部232からデータの動的IDが入力されると、IDノード情報記憶部222に記憶されているIDノード情報を参照(検索)する。決定部233は、IDノード情報の検索の結果に基づいて、データの動的IDに対応する静的IDが割り当てられたノード200を、転送先のノード200として決定する。決定部233は、決定したノード200を転送先ノード200として、位置記憶部225に記憶する。また、決定部233は、リクエストを決定した転送先のノード200に通信部210を介して転送する。さらに、決定部233は、転送先のノード200から更新レスポンスを受信すると、更新レスポンスを蓄積クライアント300に転送する。つまり、決定部233は、例えば、検出部、決定部及び転送部である。
再配置部234は、他のノード200から通信部210を介して転送されたリクエストを受信する。再配置部234は、転送された更新リクエストを受信すると、リクエストの送信元の蓄積クライアント300に対してデータの送信を許可し、当該データを受信して再配置記憶部226に記憶する。再配置部234は、データの再配置記憶部226への記憶が完了すると、更新レスポンスを転送元のノード200に通信部210を介して送信する。また、再配置部234は、転送された参照リクエストを受信すると、リクエストの送信元の解析サーバ400に対してデータを送信する。再配置部234は、データの送信が完了すると、参照レスポンスを転送元のノード200に通信部210を介して送信する。
負荷情報送信部235は、自らのノード200の負荷情報を収集し、通信部210を介して管理ノード100に送信する。負荷情報は、例えば、ノード200のCPU使用率やディスク使用量等のリソース使用状況である。CPU使用率及びディスク使用量は、例えば、百分率で表すことができる。他にも、ディスク使用量としては、残り容量を負荷情報として採用してもよい。
[3.蓄積クライアントの構成]
蓄積クライアント300の構成の一例について説明する。図11は、実施例の蓄積クライアントの一例を示すブロック図である。蓄積クライアント300は、通信部310と、記憶部320と、制御部330とを有する。蓄積クライアント300は、所属するエリアのデータを取得すると、取得されたデータの更新リクエストを対応するノード200に送信する。尚、蓄積クライアント300は、蓄積クライアント300の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部310は、例えば、NIC等によって実現される。通信部310は、ネットワークNと有線で接続され、ネットワークNを介して、管理ノード100、他のエリア内の蓄積クライアント300や解析サーバ400との間で情報の通信を司る通信インタフェースである。また、通信部310は、同じエリア内のノード200と通信接続し、各ノード200との間で情報の通信を司る通信インタフェースである。
記憶部320は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部320は、静的エリア情報記憶部321と、IDノード情報記憶部322とを有する。
静的エリア情報記憶部321には、静的エリア情報が記憶されている。静的エリア情報は、管理ノード100から通信部310を経由して受信した、例えば、エリア121A、ID範囲の始点121B及びID範囲の終点121C等の項目を対応付けて管理している情報である。尚、静的エリア情報は、管理ノード100の静的エリア情報記憶部121に記憶された静的エリア情報の内容と同一である。
IDノード情報記憶部322には、IDノード情報が記憶されている。IDノード情報は、管理ノード100から通信部310を経由して受信した、例えば、ID範囲の始点123A、ID範囲の終点123B及びノード123C等の項目を対応付けて管理している情報である。尚、IDノード情報は、管理ノード100のIDノード情報記憶部123に記憶されたIDノード情報の内容と同一である。
制御部330は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部330は、例えば、ASICやFPGA等の集積回路により実現されるようにしても良い。
制御部330は、図11に示すように、ID算出部331と、ノード決定部332とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。尚、制御部330の内部構成は、図11に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
ID算出部331は、データの更新を行う場合に、当該データの静的IDを算出する。ID算出部331は、データのキーと、静的エリア情報記憶部321に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部331は、ノード200のID算出部231と同様に、データの静的IDを算出する。ID算出部331は、算出したデータの静的IDをノード決定部332に出力する。
ノード決定部332は、ID算出部331からデータの静的IDが入力されると、データの更新を行う更新リクエストの宛先を決定する。ノード決定部332は、データの静的IDと、IDノード情報記憶部322に記憶されているIDノード情報とに基づいて、更新リクエストの宛先となるノード200を決定する。ノード決定部332は、決定されたノード200に対して、通信部310を介して更新リクエストを送信する。ここで、更新リクエストには、データの一部を示す文字列であるキーも含まれる。また、ノード決定部332は、更新リクエストを送信したノード200から更新レスポンスを受信すると、データの蓄積処理が完了したことを検出する。
[4.解析サーバの構成]
解析サーバ400の構成の一例について説明する。図12は、実施例の解析サーバの一例を示すブロック図である。解析サーバ400は、通信部410と、記憶部420と、制御部430とを有する。解析サーバ400は、各ノード200に蓄積されたデータを参照して解析を行う。尚、解析サーバ400は、解析サーバ400の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部410は、例えば、NIC等によって実現される。通信部410は、ネットワークNと有線で接続され、ネットワークNを介して、各エリア内の蓄積クライアント300や蓄積クライアント300に接続されている各ノード200との間で情報の通信を司る通信インタフェースである。また、通信部410は、同じデータセンタ20内の管理ノード100と通信接続し、管理ノード100との間で情報の通信を司る通信インタフェースである。
記憶部420は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部420は、静的エリア情報記憶部421と、IDノード情報記憶部422とを有する。
静的エリア情報記憶部421には、静的エリア情報が記憶されている。静的エリア情報は、管理ノード100から通信部410を経由して受信した、例えば、エリア121A、ID範囲の始点121B及びID範囲の終点121C等の項目を対応付けて管理している情報である。尚、静的エリア情報は、管理ノード100の静的エリア情報記憶部121に記憶された静的エリア情報の内容と同一である。
IDノード情報記憶部422には、IDノード情報が記憶されている。IDノード情報は、管理ノード100から通信部410を経由して受信した、例えば、ID範囲の始点123A、ID範囲の終点123B及びノード123C等の項目を対応付けて管理している情報である。尚、IDノード情報は、管理ノード100のIDノード情報記憶部123に記憶されたIDノード情報の内容と同一である。
制御部430は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部430は、例えば、ASICやFPGA等の集積回路により実現されるようにしても良い。
制御部430は、図12に示すように、ID算出部431と、ノード決定部432とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。尚、制御部430の内部構成は、図12に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
ID算出部431は、データの参照を行う場合に、当該データの静的IDを算出する。ID算出部431は、データのキーと、静的エリア情報記憶部421に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部431は、ノード200のID算出部231と同様に、データの静的IDを算出する。ID算出部431は、算出したデータの静的IDをノード決定部432に出力する。
ノード決定部432は、ID算出部431からデータの静的IDが入力されると、データの参照を行う参照リクエストの宛先を決定する。ノード決定部432は、データの静的IDと、IDノード情報記憶部422に記憶されているIDノード情報に基づいて、参照リクエストの宛先となるノード200を決定し、決定したノード200に対して参照リクエストを送信する。
[5.ノード等のハードウエアの構成]
続いて、ノード200のハードウエア構成の一例について説明する。図13は、実施例のノードのハードウエア構成の一例を示すブロック図である。
ノード200は、通信インタフェース201と、HDD(Hard Disk Drive)202と、ドライブ装置203と、CPU204と、メモリ205と、入出力装置206とを有し、それぞれバス207に接続されている。通信インタフェース201は、通信部210である。HDD202は、記憶部220であり、例えば、RAID(Redundant Arrays of Inexpensive Disks)を構築することによって、信頼性及び速度等を向上させることができる。
ドライブ装置203は、記憶部220であり、例えば、光ディスク等を用いることができる。CPU204は、制御部230である。メモリ205は、記憶部220であり、例えば、RAM、フラッシュメモリ等の半導体メモリ素子を用いることができる。入出力装置206は、例えば、入力部(例えば、キーボードやマウス等)や、表示部(液晶ディスプレイ等)である。バス207は、通信インタフェース201と、HDD202と、ドライブ装置203と、CPU204と、メモリ205と、入出力装置206との間で情報の送受信を行うためのものである。尚、説明の便宜上、図13では、ノード200のハードウエア構成について説明したが、例えば、管理ノード100、蓄積クライアント300及び解析サーバ400のハードウエア構成についても同一の構成であるため、その構成及び動作の説明については省略する。
[6.静的IDとエリア及びノードとの関係]
続いて、静的IDとエリア及びノードとの関係の一例を説明する。図14は、静的IDとエリア及びノードとの関係の一例を示す説明図である。エリア1〜エリア4は、例えば、地理的に円環状に位置するものとする。エリア1は、エリア2とエリア4とに隣接する。また、エリア2は、エリア3とエリア1とに隣接する。さらに、エリア3は、エリア4とエリア2とに隣接する。また、エリア4は、エリア1とエリア3とに隣接する。
エリア1は、ノード200として、“A1”と、“A2”と、“A3”とを有する。エリア2は、ノード200として、“B1”と、“B2”と、“B3”とを有する。エリア3は、ノード200として、“C1”と、“C2”と、“C3”とを有する。エリア4は、ノード200として、“D1”と、“D2”と、“D3”とを有する。このとき、静的ID範囲は、ID空間全体を「1〜1000(0で表す)」とし、エリア1にID「1〜250」を、エリア2にID「251〜500」を、エリア3にID「501〜750」を、エリア4にID「751〜0」を割り当てる。さらに、各エリアの静的ID範囲は、各エリア内で各ノード200に割り当てる。エリア1を例にとると、ID「1〜80」を“A1”に、ID「81〜160」を“A2”に、ID「161〜250」を“A3”に割り当てる。
[7.動的IDとエリア及びノードとの関係]
次に、動的IDとエリア及びノードとの関係の一例を説明する。図15は、動的IDとエリア及びノードとの関係の一例を示す説明図である。エリア1〜エリア4は、例えば、静的IDの場合と同様に、地理的に円環状に位置するものとする。また、各エリアに所属するノード200も静的IDの場合と同様であるとする。このとき、動的ID範囲は、ID空間全体を「1〜1000(0で表す)」とし、エリア1にID「1〜500」を、エリア2にID「251〜500」を、エリア3にID「501〜750」を、エリア4にID「751〜0」を割り当てる。つまり、エリア1には、隣接エリアであるエリア2の静的ID範囲であるID「251〜500」を追加して割り当てる。これにより、エリア1の蓄積クライアント300は、エリア2のノード200も使用できる。
[8.データ管理システムの動作]
次に、実施例のデータ管理システム10の動作について説明する。図16は、実施例の初期設定の動作の一例を示すシーケンス図である。まず、管理ノード100は、管理者から静的エリア情報を入力し(ステップS1)、入力された静的エリア情報を静的エリア情報記憶部121に記憶する。続いて、管理ノード100は、管理者からノード情報を入力し(ステップS2)、入力されたノード情報をノード情報記憶部122に記憶する。
管理ノード100のIDノード情報生成部131は、静的エリア情報とノード情報とに基づいて、IDノード情報を生成する。IDノード情報生成部131は、静的エリア情報とIDノード情報とを通信部110を介して、各ノード200、各蓄積クライアント300及び解析サーバ400に送信する(ステップS3)。各ノード200、各蓄積クライアント300及び解析サーバ400は、受信した静的エリア情報とノード情報とを、それぞれ静的エリア情報記憶部221,321,421、及び、ノード情報記憶部222,322,422に記憶する。
管理ノード100の動的エリア情報生成部133は、負荷量が所定負荷量を超えたノード200を検出した場合、当該ノード200が所属するエリアの動的IDを生成する。動的エリア情報生成部133は、負荷量が所定負荷量を超えたノード200を検出しない場合は、各エリアに静的エリア情報と同様のID範囲を割り当てて、各エリアの動的ID範囲を生成する。動的エリア情報生成部133は、生成した動的エリア情報を動的エリア情報記憶部124に記憶するとともに、通信部110を介して各ノード200に送信する(ステップS4)。各ノード200は、受信した動的エリア情報を動的エリア情報記憶部223に記憶する。尚、動的エリア情報は、動的エリア情報生成部133が、負荷量が所定負荷量を超えたノード200を検出した場合に、負荷量を反映して再生成され、各ノード200に送信される。
続いて、更新リクエスト及び参照リクエスト時のデータ管理システム10の動作について説明する。図17は、実施例の更新リクエスト及び参照リクエストの動作の一例を示すシーケンス図である。ここでは、更新リクエストに対応するデータは、“A3”のノード200及び“B2”のノード200のどちらにも記憶されておらず、更新リクエストが、“A3”のノード200から“B2”のノード200に転送される場合のシーケンスについて説明する。また、参照リクエストに対応するデータは、“B2”のノード200に記憶されており、参照リクエストが、“A3”のノード200から“B2”のノード200に転送される場合のシーケンスについて説明する。
まず、更新リクエスト時の動作の一例について説明する。蓄積クライアント300のID算出部331は、更新するデータが発生すると、当該データのキーと、静的エリア情報記憶部321に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部331は、算出したデータの静的IDをノード決定部332に出力する。
ノード決定部332は、ID算出部331からデータの静的IDが入力されると、データの静的IDと、IDノード情報記憶部322に記憶されているIDノード情報に基づいて、更新リクエストの宛先となる“A3”のノード200を決定する。ノード決定部332は、決定した“A3”のノード200に対して更新リクエストを送信する(ステップS10)。
“A3”のノード200のID算出部231は、蓄積クライアント300からデータの更新リクエストを受信すると、データの静的IDを算出する。ID算出部231は、リクエストに含まれる当該データのキーと、静的エリア情報記憶部221に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部231は、生成したデータの静的IDを、ID変換部232及び決定部233に出力する。
“A3”のノード200の決定部233は、蓄積クライアント300からデータの更新リクエストを受信する。また、決定部233は、ID算出部231からデータの静的IDが入力される。決定部233は、データ記憶部224を参照して更新リクエストのデータの静的ID及びキーを検索し、その検索結果に基づき、更新リクエストに対応するデータがデータ記憶部224に記憶されているか否かを判定する。決定部233は、更新リクエストに対応するデータがデータ記憶部224に記憶されていないため、位置記憶部225を参照して更新リクエストのデータの静的ID及びキーに基づいて検索する。決定部233は、その検索結果に基づき、転送先のノード200が位置記憶部225に記憶されているか否かを判定する。
決定部233は、更新リクエストに対応する転送先のノード200が位置記憶部225に記憶されていないため、ID変換部232に対して動的ID生成情報を出力する。ID変換部232は、決定部233から動的ID生成情報が入力されると、該当するデータの静的IDを動的IDに変換する。ID変換部232は、データの静的IDを算出した一次IDと、動的エリア情報記憶部223に記憶されている動的エリア情報とに基づいて、データの動的IDを算出する。ID変換部232は、算出したデータの動的IDを決定部233に出力する。
決定部233は、ID変換部232からデータの動的IDが入力されると、IDノード情報記憶部222に記憶されているIDノード情報を参照して、データの動的IDに対応する静的IDが割り当てられた“B2”のノード200を決定する。決定部233は、決定した“B2”のノード200を転送先ノード“B2”として、位置記憶部225に記憶する。また、決定部233は、更新リクエストを決定した転送先の“B2”のノード200に転送する(ステップS11)。
“B2”のノード200の再配置部234は、“A3”のノード200から転送された更新リクエストを受信すると、更新リクエストの送信元の蓄積クライアント300に対してデータの送信を許可し、データを受信して再配置記憶部226に記憶する。再配置部234は、データの再配置記憶部226への記憶が完了すると、更新レスポンスを転送元の“A3”のノード200に送信する(ステップS12)。
“A3”のノード200の決定部233は、転送先の“B2”のノード200から更新レスポンスを受信すると、更新レスポンスを蓄積クライアント300に転送する(ステップS13)。蓄積クライアント300は、更新レスポンスを受信すると、データの蓄積処理が完了したことを検出する。
次に、参照リクエスト時の動作の一例について説明する。解析サーバ400のID算出部431は、データの参照要求が発生すると、当該データのキーと、静的エリア情報記憶部421に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部431は、算出したデータの静的IDをノード決定部432に出力する。
ノード決定部432は、ID算出部431からデータの静的IDが入力されると、データの静的IDと、IDノード情報記憶部422に記憶されているIDノード情報とに基づいて、参照リクエストの宛先となる“A3”のノード200を決定する。ノード決定部432は、決定された“A3”のノード200に対して参照リクエストを送信する(ステップS14)。
“A3”のノード200のID算出部231は、解析サーバ400からデータの参照リクエストを受信すると、データの静的IDを算出する。ID算出部231は、参照リクエストに含まれる当該データのキーと、静的エリア情報記憶部221に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部231は、算出されたデータの静的IDをID変換部232及び決定部233に出力する。
“A3”のノード200の決定部233は、解析サーバ400からデータの参照リクエストを受信する。また、決定部233は、ID算出部231からデータの静的IDを入力する。決定部233は、データ記憶部224を参照して参照リクエストのデータの静的ID及びキーを検索し、その検索結果に基づき、参照リクエストに対応するデータがデータ記憶部224に記憶されているか否かを判定する。決定部233は、参照リクエストに対応するデータがデータ記憶部224に記憶されていないため、位置記憶部225を参照して参照リクエストのデータの静的ID及びキーに基づいて検索する。決定部233は、その検索結果に基づき、転送先のノード200が位置記憶部225に記憶されているか否かを判定する。
決定部233は、参照リクエストに対応する転送先の“B2”のノード200が位置記憶部225に記憶されている場合、参照リクエストを転送先の“B2”のノード200に転送する(ステップS15)。
“B2”のノード200の再配置部234は、“A3”のノード200から転送された参照リクエストを受信すると、参照リクエストに対応するデータを再配置記憶部226から読み出して、解析サーバ400に送信する。再配置部234は、データの解析サーバ400への送信が完了すると、参照レスポンスを転送元の“A3”のノード200に送信する(ステップS16)。
“A3”のノード200の決定部233は、転送先の“B2”のノード200から参照レスポンスを受信すると、参照レスポンスを解析サーバ400に転送する(ステップS17)。解析サーバ400は、参照レスポンスを受信すると、データの読み出し処理が完了したことを検出する。
続いて、更新リクエスト受信時のノード200の動作の詳細について説明する。図18は、実施例のノードの更新リクエスト受信時における動作の一例を示すフローチャートである。
ノード200のID算出部231は、蓄積クライアント300からデータの更新を行うリクエストを受信する(ステップS101)。ID算出部231は、リクエストに含まれる当該データのキーと、静的エリア情報記憶部221に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部231は、算出したデータの静的IDを、ID変換部232及び決定部233に出力する。
決定部233は、蓄積クライアント300からデータの更新を行うリクエストを受信する。また、決定部233は、ID算出部231からデータの静的IDが入力される。決定部233は、データ記憶部224を参照して更新リクエストのデータの静的ID及びキーを検索する(ステップS102)。決定部233は、その検索結果に基づき、更新リクエストに対応するデータがヒットしたか否かを判定する(ステップS103)。決定部233は、更新リクエストに対応するデータがヒットした場合には(ステップS103:肯定)、データ記憶部224に記憶されているデータを更新する(ステップS104)。決定部233は、データの更新が完了すると、蓄積クライアント300に更新レスポンスを送信する(ステップS116)。
決定部233は、更新リクエストに対応するデータがヒットしない場合には(ステップS103:否定)、位置記憶部225を参照して参照リクエストのデータの静的ID及びキーに基づいて検索する(ステップS105)。決定部233は、位置記憶部225の検索の結果に基づいて、更新リクエストに対応する転送先のノード200がヒットしたか否かを判定する(ステップS106)。決定部233は、更新リクエストに対応する転送先のノード200がヒットした場合には(ステップS106:肯定)、更新リクエストを転送先のノード200に転送する(ステップS107)。決定部233は、更新レスポンスを転送先のノード200から受信すると(ステップS108)、蓄積クライアント300に更新レスポンスを転送すべく、ステップS116に移行する。
決定部233は、更新リクエストに対応する転送先のノード200がヒットしない場合には(ステップS106:否定)、ID変換部232に対して動的ID生成情報を出力する。ID変換部232は、決定部233から動的ID生成情報が入力されると、データの静的IDを算出した一次IDと、動的エリア情報記憶部223に記憶されている動的エリア情報とに基づいて、データの動的IDを算出する(ステップS109)。ID変換部232は、算出したデータの動的IDを決定部233に出力する。
決定部233は、ID変換部232からデータの動的IDが入力されると、IDノード情報記憶部222内のIDノード情報を検索する(ステップS110)。決定部233は、IDノード情報の検索の結果に基づいて、データの動的IDに対応する静的IDがヒットしたか否かを判定する(ステップS111)。決定部233は、データの動的IDに対応する静的IDがヒットした場合には(ステップS111:肯定)、データの動的IDに対応する静的IDが割り当てられたノード200を、転送先のノード200として決定する。また、決定部233は、決定したノード200を転送先ノード200として、位置記憶部225にエントリを追加して記憶する(ステップS112)。さらに、決定部233は、更新リクエストを転送先のノード200に転送する(ステップS113)。決定部233は、更新レスポンスを転送先のノード200から受信すると(ステップS114)、蓄積クライアント300に更新レスポンスを転送すべく、ステップS116に移行する。
決定部233は、データの動的IDに対応する静的IDがヒットしない場合には(ステップS111:否定)、エラー処理を実行する(ステップS115)。決定部233は、蓄積クライアント300に対して、エラー処理の結果を更新レスポンスとして送信すべく、ステップS116に移行する。
ノード200は、データ記憶部224を参照して更新リクエストに対応するデータがヒットした場合には、当該データ記憶部224に記憶されているデータを更新する。その結果、エリアを跨ぐリクエストの転送トラヒックの発生を防止することができる。
また、ノード200は、位置記憶部225を参照して更新リクエストに対応する転送先のノード200がヒットした場合には、更新リクエストを転送先のノード200に転送する。その結果、蓄積クライアント300は、更新リクエストの転送の有無に関わらず、転送元のノード200にリクエストを送信することで、転送先のノード200のデータを更新することができる。
また、ノード200は、IDノード情報記憶部222を参照してデータの動的IDに対応する静的IDがヒットした場合には、データの動的IDに対応する静的IDが割り当てられたノード200を、転送先のノード200として決定する。その結果、各エリアで使用するノード200を、動的エリア情報を用いてエリアごとの動的IDの範囲で管理するので、分散DBノード群の管理コストを低減することができる。
次に、参照リクエスト受信時のノード200の動作の詳細について説明する。図19は、実施例のノードの参照リクエスト受信時における動作の一例を示すフローチャートである。
ノード200のID算出部231は、解析サーバ400からデータの参照を行うリクエストを受信する(ステップS201)。ID算出部231は、参照リクエストに含まれる当該データのキーと、静的エリア情報記憶部221に記憶されている静的エリア情報とに基づいて、データの静的IDを算出する。ID算出部231は、算出したデータの静的IDを、ID変換部232及び決定部233に出力する。
決定部233は、解析サーバ400からデータの参照を行うリクエストを受信する。また、決定部233は、ID算出部231からデータの静的IDが入力される。決定部233は、データ記憶部224を参照して参照リクエストのデータの静的ID及びキーを検索する(ステップS202)。決定部233は、その検索結果に基づき、参照リクエストに対応するデータがヒットしたか否かを判定する(ステップS203)。決定部233は、参照リクエストに対応するデータがヒットした場合には(ステップS203:肯定)、データ記憶部224に記憶されているデータを読み出して、解析サーバ400に送信する(ステップS204)。決定部233は、データの送信が完了すると、解析サーバ400に更新レスポンスを送信する(ステップS210)。
決定部233は、参照リクエストに対応するデータがヒットしない場合には(ステップS203:否定)、位置記憶部225を参照して参照リクエストのデータの静的ID及びキーに基づいて検索する(ステップS205)。決定部233は、その検索結果に基づき、転送先のノード200がヒットしたか否かを判定する(ステップS206)。決定部233は、参照リクエストに対応する転送先のノード200がヒットした場合には(ステップS206:肯定)、参照リクエストを転送先のノード200に転送する(ステップS207)。決定部233は、参照レスポンスを転送先のノード200から受信すると(ステップS208)、解析サーバ400に参照レスポンスを転送すべく、ステップS210に移行する。
決定部233は、参照リクエストに対応する転送先のノード200がヒットしない場合には(ステップS206:否定)、エラー処理を実行する(ステップS209)。決定部233は、解析サーバ400に対して、エラー処理の結果を参照レスポンスとして送信すべく、ステップS210に移行する。
ノード200は、データ記憶部224を参照して参照リクエストに対応するデータがヒットした場合には、当該データ記憶部224に記憶されているデータを参照する。その結果、エリアを跨ぐリクエストの転送トラヒックの発生を防止することができる。
また、ノード200は、位置記憶部225を参照して参照リクエストに対応する転送先のノード200がヒットした場合には、参照リクエストを転送先のノード200に転送する。その結果、解析サーバ400は、参照リクエストの転送の有無に関わらず、転送元のノード200にリクエストを送信することで、転送先のノード200のデータを更新することができる。
[9.効果及びその他]
このように、データ管理システム10は、ノード200が、IDノード情報と動的エリア情報とを管理ノード100から受信する。ノード200は、更新リクエストを検出した場合に、IDノード情報と動的エリア情報とに基づいて、更新リクエストのデータから動的IDを算出する。ノード200は、IDノード情報を参照して、算出された動的IDに対応する、更新リクエストのデータを記憶するノード200を決定する。ノード200は、決定されたノード200が他のエリアに所属するノード200である場合には、決定されたノード200に更新リクエストを転送する。その結果、データ管理システム10は、リソースの利用効率を向上できる。
また、管理ノード100が、全エリアの各ノード200から負荷量を収集し、当該収集された負荷量が所定負荷量を超えたノード200を検出した場合に、当該所定負荷量を超えたノード200を含むエリアに対応した静的IDの範囲に、当該エリアに隣接するエリアの静的IDの範囲を追加することで動的エリア情報を生成する。その結果、データ管理システム10は、隣接するエリアのリソースを利用できる。
また、管理ノード100が、エリアごとに、当該エリアごとに割り当てられる、動的IDに対応する静的IDの範囲と、該静的IDの範囲に割り当てられるノード200とを対応付けてIDノード情報を生成する。その結果、データ管理システム10は、静的IDの範囲に応じてエリアと所属するノード200が決定できる。
また、ノード200は、データを参照する参照リクエストを検出した場合に、参照リクエストのデータの一部を示す文字列とIDノード情報とに基づいて静的IDを算出する。ノード200は、IDノード情報を参照して、算出された静的IDに対応する、参照リクエストのデータを参照するノード200を決定する。ノード200は、更新リクエストを検出した場合と同様に、決定されたノード200に参照リクエストを転送する。その結果、データ管理システム10は、リソースの利用効率を向上できる。
また、ノード200は、更新又は参照リクエストのデータの一部を示す文字列に基づいて、ハッシュ関数により更新又は参照リクエストのデータの一次IDを算出する。ノード200は、一次IDとIDノード情報の静的IDの範囲とに基づいて、更新又は参照リクエストのデータの静的IDを算出する。ノード200は、データ記憶部224から、更新又は参照リクエストのデータの静的ID及び文字列に対応するデータを検索する。ノード200は、当該データがデータ記憶部224に記憶されている場合は、更新又は参照リクエストのデータを記憶又は参照するノード200を自ノードに決定する。ノード200は、データ記憶部224のデータを更新又は参照する。その結果、データ管理システム10は、全てのエリアの分散DBノード群の負荷が低い場合に、各エリア内のノード200のみでデータを蓄積することができる。このため、データ管理システム10は、エリアを跨ぐリクエストの転送トラヒックの発生を防止することができる。
また、ノード200は、更新又は参照リクエストのデータがデータ記憶部224に記憶されていない場合に、転送先のノード200を記憶する位置記憶部225から、更新又は参照リクエストのデータの静的ID及び文字列に対応するノード200を検索する。ノード200は、検索したノード200が位置記憶部225に記憶されている場合は、更新又は参照リクエストのデータを記憶又は参照するノード200を、他のエリアに所属するノード200に決定する。ノード200は、更新又は参照リクエストを決定されたノード200に転送する。その結果、データ管理システム10は、負荷に応じて他のエリアのノード200に転送したデータを、転送元のノード200に更新又は参照リクエストを送信することで更新又は参照することができる。
また、ノード200は、転送先のノード200が位置記憶部225に記憶されていない場合に、一次IDと動的エリア情報とに基づいて、更新リクエストのデータの動的IDを算出する。ノード200は、IDノード情報を参照して、当該算出された更新リクエストのデータの動的IDに対応する静的IDが割り当てられたノード200を、更新リクエストのデータを記憶するノード200に決定する。ノード200は、決定されたノード200を位置記憶部225に記憶すると共に、決定されたノード200に対して、更新リクエストを転送する。その結果、データ管理システム10は、転送元のノード200が転送したデータを管理できるので、データの位置管理をスケーラブルとすることができる。また、データ管理システム10は、各エリアで使用するノード200を、動的エリア情報を用いてエリアごとの動的IDの範囲で管理するので、分散DBノード群の管理コストを低減することができる。
また、上記実施例では、エリアの数を4個、各エリアに所属するノード200の数を3個としたが、これに限定されない。エリア及び各エリアのノード200の数は、例えば、蓄積するデータの量に応じて適宜増減することができる。
また、上記実施例では、静的ID及び動的IDの範囲を「1〜1000」としたが、これに限定されない。静的ID及び動的IDの範囲は、例えば、各エリアのノード200の個数に応じて、適宜増減することができる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各部で行われる各種処理機能は、CPU(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、又はワイヤードロジックによるハードウエア上で、その全部又は任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをデータ管理機器で実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するデータ管理機器の一例を説明する。図20は、データ管理プログラムを実行するデータ管理機器の一例を示す説明図である。
図20に示すデータ管理プログラムを実行するデータ管理機器500は、インタフェース部511と、RAM512と、ROM(Read Only Memory)513と、プロセッサ514とを有する。インタフェース部511は、管理機器、蓄積機器、解析機器及び他のデータ管理機器と通信する。プロセッサ514は、データ管理機器500全体を制御する。
そして、ROM513には、上記実施例と同様の機能を発揮するデータ管理プログラムが予め記憶されている。尚、ROM513ではなく、図示せぬドライブで読取可能な記録媒体にデータ管理プログラムが記録されていてもよい。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でもよい。データ管理プログラムとしては、図20に示すように、検出プログラム513A、算出プログラム513B、決定プログラム513C及び転送プログラム513Dである。尚、プログラム513A〜513Dについては、適宜統合又は分散してもよい。また、RAM512には、静的エリア情報、IDノード情報、動的エリア情報、蓄積データ、転送した蓄積データの位置及び転送された蓄積データ等を格納するデータベースが記憶してある。
そして、プロセッサ514が、これらのプログラム513A〜513DをROM513から読み出し、これらの読み出された各プログラムを実行する。そして、プロセッサ514は、図20に示すように、各プログラム513A〜513Dを、検出プロセス514A、算出プロセス514B、決定プロセス514C及び転送プロセス514Dとして機能することになる。
データ管理機器500は、全エリアのIDの範囲と、蓄積したデータを更新する更新リクエストのデータから算出する第1のIDの導出可能範囲とを受信する。プロセッサ514は、更新リクエストを検出する。プロセッサ514は、更新リクエストを検出した場合に、全エリアのIDの範囲と導出可能範囲とに基づいて、更新リクエストのデータから第1のIDを算出する。プロセッサ514は、第1のIDと第1のノードとを対応付けるノード情報を参照して、算出された第1のIDに対応する、更新リクエストのデータを記憶する第1のノードを決定する。プロセッサ514は、決定されたノードが他のエリアに所属するノードである場合には、決定されたノードに更新リクエストを転送する。その結果、リソースの利用効率を向上できる。
10 データ管理システム
20 データセンタ
100 管理ノード
110,210,310,410 通信部
120,220,320,420 記憶部
121,221,321,421 静的エリア情報記憶部
122 ノード情報記憶部
123,222,322,422 IDノード情報記憶部
124,223 動的エリア情報記憶部
130,230,330,430 制御部
131 IDノード情報生成部
132 収集部
133 動的エリア情報生成部
200 ノード
201 通信インタフェース
202 HDD
203 ドライブ装置
204 CPU
205 メモリ
206 入出力装置
207 バス
224 データ記憶部
225 位置記憶部
226 再配置記憶部
231,331,431 ID算出部
232 ID変換部
233 決定部
234 再配置部
235 負荷情報送信部
300 蓄積クライアント
332,432 ノード決定部
400 解析サーバ

Claims (9)

  1. データを蓄積する複数の第1のノードと、各第1のノードを管理する第2のノードとを有するデータ管理システムが実行するデータ管理方法であって、
    前記第1のノードが、
    前記第1のノードがそれぞれ所属する複数のエリアが、それぞれ対応するデータを識別するIDの範囲を有し、前記複数のエリアの全エリアにおける前記IDの範囲を示す全エリアのIDの範囲と、前記データを更新する更新リクエストのデータから算出する第1のIDの導出可能範囲とを、前記第2のノードから受信し、
    前記更新リクエストを検出した場合に、前記全エリアのIDの範囲と前記導出可能範囲とに基づいて、前記更新リクエストのデータから前記第1のIDを算出し、
    第1のIDと第1のノードとを対応付けるノード情報を参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定し、
    前記決定された第1のノードが他の前記エリアに所属する第1のノードである場合には、前記決定された第1のノードに前記更新リクエストを転送する処理を実行し、
    前記第2のノードが、前記全エリアの各第1のノードから負荷量を収集し、当該収集された負荷量が所定負荷量を超えた第1のノードを検出した場合に、当該所定負荷量を超えた第1のノードを含むエリアに対応した第2のIDの範囲に、当該エリアに隣接するエリアの前記第2のIDの範囲を追加することで前記導出可能範囲を生成して前記第1のノードに送信し、
    前記決定する処理は、前記第1のIDに対応する第2のIDと前記全エリアの各第1のノードとを対応付ける情報を前記ノード情報として参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する、
    とを特徴とするデータ管理方法。
  2. 前記第2のノードが、エリアごとに、当該エリアごとに割り当てられる、前記第1のIDに対応する第2のIDの範囲と、該第2のIDの範囲に割り当てられる第1のノードとを対応付けて前記ノード情報を生成して、予め前記第1のノードに送信することを特徴とする請求項に記載のデータ管理方法。
  3. 前記第1のノードが、さらに、
    前記データを参照する参照リクエストを検出した場合に、前記参照リクエストのデータの一部を示す文字列と前記ノード情報とに基づいて前記第2のIDを算出し、
    前記ノード情報を参照して、前記算出された第2のIDに対応する、前記参照リクエストのデータを参照する第1のノードを決定し、
    前記決定された第1のノードが他の前記エリアに所属する第1のノードである場合には、前記決定された第1のノードに前記参照リクエストを転送する
    処理を実行することを特徴とする請求項1又は2に記載のデータ管理方法。
  4. 前記第1のノードを決定する処理は、
    前記更新又は参照リクエストのデータの一部を示す文字列に基づいて、ハッシュ関数により前記更新又は参照リクエストのデータの一次IDを算出し、
    前記一次IDと、前記ノード情報の第2のIDの範囲とに基づいて、前記更新又は参照リクエストのデータの第2のIDを算出し、
    自ノードの前記データを記憶するデータ記憶部から、前記更新又は参照リクエストのデータの第2のID及び前記文字列に対応するデータを検索し、
    当該データが前記データ記憶部に記憶されている場合は、前記更新又は参照リクエストのデータを記憶又は参照する第1のノードを自ノードに決定し、
    記データ記憶部の前記データを更新又は参照することを特徴とする請求項に記載のデータ管理方法。
  5. 前記第1のノードを決定する処理は、
    前記データが前記データ記憶部に記憶されていない場合に、転送先の第1のノードを記憶する位置記憶部から、前記更新又は参照リクエストのデータの第2のID及び前記文字列に対応する第1のノードを検索し、
    当該第1のノードが前記位置記憶部に記憶されている場合は、前記更新又は参照リクエストのデータを記憶又は参照する第1のノードを、他の前記エリアに所属する第1のノードに決定し、
    前記転送する処理は、
    前記更新又は参照リクエストを決定された第1のノードに転送することを特徴とする請求項に記載のデータ管理方法。
  6. 前記第1のノードを決定する処理は、
    前記第1のノードが前記位置記憶部に記憶されていない場合に、前記一次IDと前記導出可能範囲とに基づいて、前記更新リクエストのデータの第1のIDを算出し、
    前記ノード情報を参照して、当該算出された前記更新リクエストのデータの第1のIDに対応する第2のIDが割り当てられた第1のノードを、前記更新リクエストのデータを記憶する第1のノードに決定し、
    決定された第1のノードを前記位置記憶部に記憶し、
    前記転送する処理は、
    前記決定された第1のノードに対して、前記更新リクエストを転送することを特徴とする請求項に記載のデータ管理方法。
  7. データを蓄積する複数の第1のノードと、各第1のノードを管理する第2のノードとを有するデータ管理システムの前記第1のノードであるコンピュータに実行させるデータ管理プログラムであって、
    前記コンピュータに、
    前記第1のノードがそれぞれ所属する複数のエリアが、それぞれ対応するデータを識別するIDの範囲を有し、前記複数のエリアの全エリアにおける前記IDの範囲を示す全エリアのIDの範囲と、前記データを更新する更新リクエストのデータから算出する第1のIDの導出可能範囲とを、前記第2のノードから受信し、
    前記更新リクエストを検出した場合に、前記全エリアのIDの範囲と前記導出可能範囲とに基づいて、前記更新リクエストのデータから前記第1のIDを算出し、
    第1のIDと第1のノードとを対応付けるノード情報を参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定し、
    前記決定された第1のノードが他の前記エリアに所属する第1のノードである場合には、前記決定された第1のノードに前記更新リクエストを転送する処理を実行させ、
    前記第2のノードでは、前記全エリアの各第1のノードから負荷量を収集し、当該収集された負荷量が所定負荷量を超えた第1のノードを検出した場合に、当該所定負荷量を超えた第1のノードを含むエリアに対応した第2のIDの範囲に、当該エリアに隣接するエリアの前記第2のIDの範囲を追加することで前記導出可能範囲が生成されて前記第1のノードに送信され、
    前記決定する処理は、前記第1のIDに対応する第2のIDと前記全エリアの各第1のノードとを対応付ける情報を前記ノード情報として参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する、
    とを特徴とするデータ管理プログラム。
  8. データを蓄積する複数の第1のノードと、各第1のノードを管理する第2のノードとを有するデータ管理システムであって、
    前記第2のノードは、
    前記第1のノードがそれぞれ所属する複数のエリアが、それぞれ対応するデータを識別するIDの範囲を有し、前記複数のエリアの全エリアにおける前記IDの範囲を示す全エリアのIDの範囲を記憶する記憶部と、
    前記データを更新する更新リクエストのデータから算出する第1のIDの導出可能範囲を生成する生成部と、
    前記全エリアのIDの範囲と前記導出可能範囲とを前記第1のノードに送信する送信部と、を有し、
    前記第1のノードは、
    前記全エリアのIDの範囲と前記導出可能範囲とを受信する受信部と、
    前記更新リクエストを検出する検出部と、
    前記更新リクエストを検出した場合に、前記全エリアのIDの範囲と前記導出可能範囲とに基づいて、前記更新リクエストのデータから前記第1のIDを算出する算出部と、
    第1のIDと第1のノードとを対応付けるノード情報を参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する決定部と、
    前記決定された第1のノードが他の前記エリアに所属する第1のノードである場合には、前記決定された第1のノードに前記更新リクエストを転送する転送部と、を有し、
    前記第2のノードの前記生成部は、前記全エリアの各第1のノードから負荷量を収集し、当該収集された負荷量が所定負荷量を超えた第1のノードを検出した場合に、当該所定負荷量を超えた第1のノードを含むエリアに対応した第2のIDの範囲に、当該エリアに隣接するエリアの前記第2のIDの範囲を追加することで前記導出可能範囲を生成し、
    前記第1のノードの前記決定部は、前記第1のIDに対応する第2のIDと前記全エリアの各第1のノードとを対応付ける情報を前記ノード情報として参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する、
    とを特徴とするデータ管理システム。
  9. 第1のノードがそれぞれ所属する複数のエリアが、それぞれ対応するデータを識別するIDの範囲を有し、前記複数のエリアの全エリアにおける前記IDの範囲を示す全エリアのIDの範囲と、蓄積したデータを更新する更新リクエストのデータから算出する第1のIDの導出可能範囲とを第2のノードから受信する受信部と、
    前記更新リクエストを検出する検出部と、
    前記更新リクエストを検出した場合に、前記全エリアのIDの範囲と前記導出可能範囲とに基づいて、前記更新リクエストのデータから前記第1のIDを算出する算出部と、
    第1のIDと第1のノードとを対応付けるノード情報を参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する決定部と、
    前記決定された第1のノードが他の前記エリアに所属する第1のノードである場合には、前記決定された第1のノードに前記更新リクエストを転送する転送部と、を有し、
    前記第2のノードでは、前記全エリアの各第1のノードから負荷量を収集し、当該収集された負荷量が所定負荷量を超えた第1のノードを検出した場合に、当該所定負荷量を超えた第1のノードを含むエリアに対応した第2のIDの範囲に、当該エリアに隣接するエリアの前記第2のIDの範囲を追加することで前記導出可能範囲が生成されて前記第1のノードに送信され、
    前記決定部は、前記第1のIDに対応する第2のIDと前記全エリアの各第1のノードとを対応付ける情報を前記ノード情報として参照して、前記算出された第1のIDに対応する、前記更新リクエストのデータを記憶する第1のノードを決定する、
    とを特徴とするデータ管理装置。
JP2013120260A 2013-06-06 2013-06-06 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置 Expired - Fee Related JP6155861B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013120260A JP6155861B2 (ja) 2013-06-06 2013-06-06 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置
US14/293,241 US20140365681A1 (en) 2013-06-06 2014-06-02 Data management method, data management system, and data management apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013120260A JP6155861B2 (ja) 2013-06-06 2013-06-06 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置

Publications (2)

Publication Number Publication Date
JP2014238678A JP2014238678A (ja) 2014-12-18
JP6155861B2 true JP6155861B2 (ja) 2017-07-05

Family

ID=52006464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013120260A Expired - Fee Related JP6155861B2 (ja) 2013-06-06 2013-06-06 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置

Country Status (2)

Country Link
US (1) US20140365681A1 (ja)
JP (1) JP6155861B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782227B2 (en) * 2010-06-22 2014-07-15 Cleversafe, Inc. Identifying and correcting an undesired condition of a dispersed storage network access request
JP7305990B2 (ja) * 2019-03-12 2023-07-11 富士通株式会社 転送プログラム、転送方法、および情報処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305796A (ja) * 1999-04-22 2000-11-02 Hitachi Ltd 電子計算機間のジョブ転送方法およびジョブ転送システム
JP2006040188A (ja) * 2004-07-30 2006-02-09 Hitachi Ltd 計算機システム及び計算機の設定方法
WO2006013992A1 (ja) * 2004-08-02 2006-02-09 Sony Computer Entertainment Inc. ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP2008250591A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd デバイスを管理する計算機
JP4855355B2 (ja) * 2007-07-18 2012-01-18 株式会社日立製作所 フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法
JP5317827B2 (ja) * 2009-05-19 2013-10-16 日本電信電話株式会社 分散データ管理装置及び方法及びプログラム
US8234377B2 (en) * 2009-07-22 2012-07-31 Amazon Technologies, Inc. Dynamically migrating computer networks
JP5087062B2 (ja) * 2009-11-12 2012-11-28 日本電信電話株式会社 経路計算装置、経路計算方法、および、経路計算プログラム
JP5521533B2 (ja) * 2009-12-21 2014-06-18 富士通株式会社 情報処理装置、通信システム、制御方法及び制御プログラム
JP5589205B2 (ja) * 2011-02-23 2014-09-17 株式会社日立製作所 計算機システム及びデータ管理方法
JP5370946B2 (ja) * 2011-04-15 2013-12-18 株式会社日立製作所 リソース管理方法及び計算機システム
US8949329B2 (en) * 2011-07-22 2015-02-03 Alcatel Lucent Content popularity extraction in distributed hash table based peer-to-peer networks
WO2013035719A1 (ja) * 2011-09-06 2013-03-14 日本電気株式会社 データ配置システム、分散アクセスノード、データ配置方法およびプログラム
JP5733124B2 (ja) * 2011-09-12 2015-06-10 富士通株式会社 データ管理装置、データ管理システム、データ管理方法、及びプログラム
JP6094487B2 (ja) * 2011-09-27 2017-03-15 日本電気株式会社 情報システム、管理装置、データ処理方法、データ構造、プログラム、および記録媒体

Also Published As

Publication number Publication date
JP2014238678A (ja) 2014-12-18
US20140365681A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
JP6643760B2 (ja) ショートリンクの処理方法、デバイス、及びサーバ
WO2019114128A1 (zh) 区块链事务区块处理方法、电子装置及可读存储介质
US8832130B2 (en) System and method for implementing on demand cloud database
US10033570B2 (en) Distributed map reduce network
JP6258975B2 (ja) 低レイテンシデータアクセス用のデータストリーム分割
US10908834B2 (en) Load balancing for scalable storage system
CN106951179B (zh) 一种数据迁移方法及装置
JP2014049129A (ja) 仮想マシンの負荷管理システム及びその方法
JP2011090351A (ja) 検索データ管理装置
WO2022142013A1 (zh) 基于人工智能的ab测试方法、装置、计算机设备及介质
WO2023040538A1 (zh) 一种数据迁移的方法、装置、设备、介质和计算机产品
US20200084121A1 (en) Node of a Network and a Method of Operating the Same for Resource Distribution
US20160006633A1 (en) Monitoring item selection method and device, and storage medium
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
JP2007174235A (ja) 属性情報収集装置、属性情報収集方法および属性情報収集プログラム
CN102750184A (zh) 云资源分类与标识***及方法
CN116701330A (zh) 物流信息共享方法、装置、设备及存储介质
JP6155861B2 (ja) データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置
WO2013171865A1 (ja) 管理方法及び管理システム
JP6059558B2 (ja) 負荷分散判定システム
JP6690212B2 (ja) データ管理プログラム及びデータ管理方法
JP6916096B2 (ja) インスタンス利用促進システム
JP6963465B2 (ja) 計算機システム及びデータ処理の制御方法
CN115729693A (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
JP6062809B2 (ja) 資産管理システム及び資産管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170522

R150 Certificate of patent or registration of utility model

Ref document number: 6155861

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees