JP2014157397A - 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム - Google Patents

情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム Download PDF

Info

Publication number
JP2014157397A
JP2014157397A JP2013026589A JP2013026589A JP2014157397A JP 2014157397 A JP2014157397 A JP 2014157397A JP 2013026589 A JP2013026589 A JP 2013026589A JP 2013026589 A JP2013026589 A JP 2013026589A JP 2014157397 A JP2014157397 A JP 2014157397A
Authority
JP
Japan
Prior art keywords
data
node
distributed
master
nodes
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.)
Pending
Application number
JP2013026589A
Other languages
English (en)
Inventor
Ryuichi Nagano
竜一 永野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2013026589A priority Critical patent/JP2014157397A/ja
Publication of JP2014157397A publication Critical patent/JP2014157397A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】レプリカデータの分散送信及び複製時のデータ転送の円滑化を図りネットワークの負荷を軽減すること。
【解決手段】ネットワーク10を介してデータを二重に保持する情報処理システムであって、データの書込を指示する第1ノード11と、前記データを保存し前記第1ノードの指示に従って該データを読み出す前記第2ノード21と、この第2ノードに保存データのバックアップデータを保持する1又は2以上の第3ノード31〜34とを有し、前記第2ノード21が、予め前記バックアップデータを1又は2以上の前記第3ノード用に分けて送信し分散保持させる送受信制御部21Aを備え、更に、バックアップデータの分割送信に際して事前に機能し、当該バックアップデータをパケットの最大サイズにより1又は2以上に分割する分散データ生成部21Bとを備えていること。
【選択図】図1

Description

本発明は、情報処理システムに係り、特に、データ分散によるデータバックアップ技術を骨格とした情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラムに関する。
データ保存の重要性に鑑み、情報分散によるデータバックアップ技術は、従来より多くの研究開発が成されている。
かかるデータバックアップ技術の分野においては、下記特許文献1乃至3が知られている。この内、特許文献1には、複数のバックアップ装置とデータファイルの漏洩防止等を意図してこれを監視する複数の監視制御装置が分散配置されたネットワークシステムが開示されている。
又、特許文献2には、ネットワーク上の複数のサーバを複数のクライアントが有効利用するための技術が開示され、特にサーバデータのレプリカを作成し管理する収集手段を設けると共に当該収集手段が複数のクライアントからの問合せ処理を実行し、これによってサーバの負荷低減を意図したネットワークシステムが開示されている。
更に、特許文献3には、ネットワークを介して連結されデータを保存する複数のノードを備え、メインのノードが障害で動作不能となった場合でも、データ回復をノードへの負荷を偏らせることなく実現するためのネットワークシステムが開示されている。
特開2010−45670号公報 特許第4502063号公報 特開2012−178015号公報
しかしながら、上記各関連技術にあっては、バックアップ用として使用するレプリカデータの有効利用は成されている一方で、ネットワーク上のノード相互間でのレプリカデータの分散処理やそれに伴うデータ転送が多発すると、ネットワークのトラフィックが混雑し、ネットワークに流れるパケット数が処理しきれない量になり、データ転送等の実行が抑制されるという不都合が生じていた。
また、例えば特許文献3に記載の関連技術にあっては、ノード障害時に使用するデータの分散方法が述べられているが、分散する対象となるデータの特性について着目していないため、機械的にレプリカデータを分散するのみであり、データ分割の量が増加するとパケット数が処理しきれない量になり、転送時のネットワークの負荷が増大するという不都合があった。
(発明の目的)
本発明は、かかる関連技術の有する不都合を改善し、特に、レプリカデータの分散送信および複製時のデータ転送の円滑化を図り得る情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラムを提供することを、その目的とする。
上記目的を達成するため、本発明にかかる情報処理システムは、P2P方式のネットワーク10に接続された複数のノードを備え、前記各ノードの内の一のノードが備えているデータを複製して二重に保持する情報処理システムであって、
前記データの書込及び検索を指示する第1ノードと、この第1ノードによって書込を指示されたデータを保存し前記第1ノードの検索の指示に従って該データを読み出す前記一のノードである第2ノードと、前記第2ノードに保存されたデータを複製して保持する1又は2以上の第3ノードとを備え、
前記第2ノードが、前記第1ノードにより書込を指示されたデータを予め保存するデータ保存部と、この保存したデータのバックアップデータを1又は2以上の前記第3ノードに分けて送信し分散保持させる送受信制御部と、このデータの分割送信に際して事前に機能し当該データのバックアップデータをパケットの最大サイズにより1又は2以上に分割する分散データ生成部とを備えている、という構成を採っている。
上記目的を達成するため、本発明にかかる情報処理装置は、前述した情報処理システムに装備され、前記第1ノード、前記第2ノード、及び前記第3ノードの少なくとも何れか一つのノードとして機能する、という構成を採っている。
上記目的を達成するため、本発明にかかる情報処理装置は、P2P方式のネットワーク10に装備され、バックアップの対象となるマスターデータを保持する機能を備えると共に、当該マスターデータを複製して二重に保持する情報処理システムの一部を構成する一の情報処理装置であって、
前記情報処理システムが備えている第1ノードにより書込を指示された場合に当該第1ノードから送り込まれるマスターデータを保存する機能を備えたデータ保存部と、このデータ保存部に保存されたマスターデータを分割して前記ネットワーク上に連結装備されたバックアップ用の1又は2以上の第3ノードに分けて送信し分散保持させる送受信制御部と、このデータの分割送信に際して機能し、パケットの最大サイズにより1又は2以上に分割する分散データ生成部と、を備えている、という構成を採っている。
上記目的を達成するため、本発明にかかるデータバックアップ方法は、P2P方式のネットワークに接続された複数のノードを備え、前記各ノードの内の一のノードが有するマスターデータを複製して二重に保持する情報処理システムにあって、
前記複数のノードとして、前記データの書込及び検索を指示する第1ノードと、この第1ノードによって書込を指示されたデータを保存し前記第1ノードの検索の指示に従って該データを読み出す前記一のノードである第2ノードと、前記第2ノードに保存されたデータを複製して保持する1又は2以上の第3ノードとが予め設置されており、
外部からの指令に基づいて前記第1ノードが稼働し、前記第2ノードに対して前記保存用のデータの書込(及び検索)を指令し、
この第1ノードの指令に従って前記第2ノードが稼働し、前記第1ノードからの書込指令の対象であるマスターデータを予め装備されたデータ保存部に保存し、
次に、この保存したマスターデータを前記各第3ノードに対応して複数に分割すると共に前記第2ノードの送受信制御部が前記各第3ノードにバックアップ用として送信しそれぞれに分散保持させるようにし、
このマスターデータの前記分割に際しては、前記第2ノードの分散データ生成部が稼働し、パケットの最大サイズにより1又は2以上に分割するようにする、という構成を採っている。
上記目的を達成するため、本発明にかかるデータ処理プログラムは、P2P方式のネットワーク10に装備され、バックアップの対象となるマスターデータを保持する機能を備えると共に、当該マスターデータを複製して二重に保持する情報処理システムの一部を構成する一の情報処理装置にあって、
前記情報処理システムが備えている第1ノードによりデータ書込を指示された場合に当該第1ノードから送り込まれるマスターデータをデータ保存部に保存するデータ保存制御機能、
このデータ保存部に保存されたマスターデータを分割して前記ネットワーク上に連結装備された複数の第3ノードに送受信制御部を介してそれぞれバックアップ用として分散送信するデータ分散送信制御機能、
および前記データの分散送信に先立って成される前記マスターデータの分割処理では、パケットの最大サイズにより1又は2以上に分割するバックアップ用データ分割処理機能、とを備えた構成とし、
これらの各制御機能および処理機能を、予め装備したコンピュータに実現させるようにする、という構成を採っている。
本発明は上記のように構成したので、これによると、バックアップ用として使用するレプリカデータのデータサイズをネットワークや蓄積媒体に対応してパケットの最大サイズにより1又は2以上に分割して分散保持させる、即ち、パケットの最大データサイズを超えるレプリカデータについては、他のレプリカデータ処理ノードに蓄積するようにしたので、レプリカデータの転送・蓄積を効率良く実行することができ、複数のレプリカデータ処理ノードへのデータ蓄積時にネットワークにかかる負荷を軽減することができ、これにより、より大量データを扱うことができるという優れた情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラムを提供することができる。
本発明の情報処理システムに係る第1実施形態を示す全体構成図である。 図1に開示したシステムの一部を成すマスターデータ処理ノードの構成の一例を示すブロック図である。 図1に開示したシステムのデータ書込み時の全体的な動作を示すフローチャートである。 図1に開示したシステムのデータ検索時の状態を示す説明図である。 図1に開示したシステムでマスターデータ処理ノードの障害発生時におけるマスターデータ復元時の全体的な関連動作を示す説明図である。 図5に開示した障害時におけるマスターデータ復元時の全体的な動作を示すフローチャートである。 本発明の情報処理システムに係る第2実施形態を示す全体構成図である。 図7に開示したシステムの一部を成すマスターデータ処理ノード(第2のノード)の構成の一例を示すブロック図である。 図7に開示したシステムのデータ書込み時の全体的な動作を示すフローチャートである。 図7に開示したシステムでマスターデータ処理ノード(第2のノード)の障害発生時におけるマスターデータ復元時の全体的な関連動作を示す説明図である。 本発明の情報処理システムに係る第3実施形態を示す全体構成図である。 図11に開示したシステムの一部を成すマスターデータ処理ノードの構成の一例を示すブロック図である。 図11に開示したシステムのデータ書込み時の全体的な動作を示すフローチャートである。 図11に開示したシステムでマスターデータ処理ノードの障害発生時におけるマスターデータ復元時の全体的な関連動作を示す説明図である。 図14に開示した障害時におけるマスターデータ復元時の全体的な動作を示すフローチャートである。 本発明の第4実施形態におけるシステムの一部を成すマスターデータ処理ノード(第2のノード)の具体的なハードウエー構成を示すブロック図である。 図16に開示したシステムの一部を成すストレージに格納されているマスターデータ処理ノード(第2のノード)が保持するテーブルの内容を示す図表である。 図16に開示したRAM内の一部を成すフィンガーテーブルとストレージに格納されたフィンガーテーブル保持部の内容とを示す図で、図18(A)はフィンガーテーブルの内容を示す図表、図18(A)はフィンガーテーブル保持部が保持するフィンガーテーブルとファイルとの関連を示す図表である。 図16に開示したRAM内の一部を成す分散データ送信先を示す図表である。 図16に開示したストレージに格納されているハッシュテーブルと保存データDBとの関連性を示す図表である。 図16に開示したシステムの各ノード間で使用される送信メッセージの構成内容の一例を示す説明図である。 図16に開示したシステムにおける各ノード相互間における情報処理プログラムの処理手順を示すフローチャートである。
以下、本発明にかかる情報処理システムの実施形態を、図面を参照して説明する。ここで、以下の実施形態に記載されている構成要素は、あくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
〔第1実施形態〕
(概要)
本第1実施形態では、バックアップデータであるレプリカデータを分割する際に、分割数を規定したデータを図1に示すレプリカデータ処理ノード31にのみ、蓄積しておく。 同時に、本第1実施形態では、レプリカデータ処理ノード31〜34によるバックアップデータ分散保持に際しては、バックアップデータをパケットの最大データサイズにより、分割する方式を採っている。例えば、パケットの最大データサイズが1500B(バイト)であり、データサイズが4000B(バイト)の場合を示す。
そして、パケットの最大データサイズを超えるレプリカデータについては、図1に示すように、レプリカデータ処理ノード32、33に蓄積する。
このため、必要な場合にはレプリカデータ処理ノード31にアクセスすると、分割数が分かるので、必要なレプリカデータ処理ノード(この例では、32、33のみ)に限定して問い合わせる。このため、アクセス回数およびデータ転送回数等が必要最小限となり、ネットワークの負荷を軽減することができる。
図2は、マスターデータ処理ノード(第2のノード)21の構成例を示し、図3はデータ処理のフローチャートを示す。
又、検索時(マスター処理ノード21に障害が発生した場合)には、図5に示すレプリカデータ処理ノード31にアクセスし、レプリカデータの分割数を入手してから、その他のレプリカデータ処理ノード32,33に問い合わせを行う。図6はこの場合のデータ処理のフローチャートを示す。
以下、これを説明する。
本発明にかかる情報処理システム1は、図1に示すように、複数の情報処理装置がノードとしてP2P方式のネットワーク10に接続され、この内のマスターデータ処理ノード21が備えている保存データをバックアップデータとして複数のレブリカデータ処理ノード31〜34により分散保持されて成るデータ二重保持システムである。
図1において、この情報処理システム1は、インターネット等のネットワーク10を介して接続されデータの書込み及び検索を指示する第1ノードであるデータ書込要求ノード11と、第2ノードであるマスターデータ処理ノード21と、複数(本第1実施形態では4個)の第3ノードであるレブリカデータ処理ノード31〜34とを含んで構成されている。
第1ノード11は、外部入力されるデータの書込及び検索を第2ノード(マスターデータ処理ノード)21に対して指示する。又、第2ノード21は、第1ノード11に書込を指示されたデータを保存し、或いは第1ノード11からの検索指示に従ってデータを読出すように機能する。第3ノード31乃至34は、第2ノード21に保存されたデータを複製して保持する機能を備えている。
この場合、第2ノード21は、具体的には後述するが、複数の前記第3ノード31〜34に対しては、予めパケットの最大データサイズにより、バックアップ用の送信データを分割送信するように構成されている。
具体的には後述するが、本第1実施形態では、例えば、パケットの最大データサイズよりも大きいデータサイズのマスターデータを対象としており、パケットの最大データサイズに基づいて分割送信するように構成されている。
ここで、第2ノード21は、データ保存部21Cと送受信部21Aとを有する。データ保存部21Cは、当該第2ノード21へ第1ノード11から書込を指示されたデータを保存する。送受信部21Aは、データ保存部21Cで保存したデータをバックアップ用として複数に分割された場合に、主制御部21Fに送信制御されて稼働しこれを複数の第3ノード31〜34に対して送信して分散保持させる。
又、送受信部21Aは、この保存したデータを分散保持させた複数の第3ノード31〜34については、そのデータの分割内容を示す識別可能な分散識別情報を、主制御部21Fに送信制御されて当該複数の第3ノード31〜34の内の少なくとも1つ(本第1実施形態では第3ノード31)に送信する。
このような基本的な構成を備えたことにより、上記P2P方式の情報処理システムにおいては、データを保存する第2ノード21が障害で動作不能となった場合であっても、データ回復を、特定の一のノードへの負荷を偏らせることなく実現することができる。
ここで、上記情報処理システム1は、DHT(Distributed Hash Table:分散ハッシュテーブル)型P2P方式のネットワーク10に上述した複数のノードが接続されて成立している。そして、この当該情報処理システム1については、特に、障害時に保存データ(以下「マスターデータ」とも言う)を如何に回復するかが重要視される。
ここで、分散して複数のノード31〜34に保持された分散データは、ハッシュテーブルに基づいて検索されて特定される。また、本第1実施形態においては、保存データを分散して保持するノードを分散識別情報であるフィンガーテーブル(Finger Table) に基づいて選定するように制御される。
そして、分散データは、第2ノード(マスターデータ処理ノード)21に障害が発生した場合、当該第2ノード(マスターデータ処理ノード)21を代行する第3ノード(複数のレブリカデータ処理ノードの内の一つ)31或いは保存データを検索した第1ノード(データ書込要求ノード)11に読み出されてマージ(併合)され、これによって保存データが復元される。
ここで、前述したデータ書込要求ノード(第1ノード)11は、外部入力されるデータを保存するノードとして前記P2P方式のネットワークに接続された複数のノードから前記第2ノードであるマスターデータ処理ノード21を選択する選択処理機能を、予め備えている。
又、このデータ書込要求ノード11は、上記マスターデータ処理ノード21に障害が発生した場合に稼働して前記第3ノード31〜34の内の一の第3ノード31に対して、前記複数の第3ノードが分散保持する前記各データの読出し及び収集を指令する読出/収集指令機能を備えている。
更に、上記一の第3ノード31は、前記分散識別情報に基づいて他の前記複数の第3ノードを特定すると共に当該複数の第3ノード32〜34が保持するデータを検索して返信するように指令する返信指令送信機能と、前記分散識別情報に基づいて自ノードのデータと返信されたデータとを併合して前記マスターデータ処理ノード21に保存している前記マスターデータと同一のマスターデータを復元するデータ復元処理機能と、前記復元されたマスターデータを前記データ書込要求ノード11に送信する復元データ送信処理機能とを備えている。
又、上記一の第3ノード31は、前記データ書込要求ノード11による併合動作に際しては、上述した返信指示処理機能に加えて、前記分散識別情報をデータ書込要求ノード11に通知する分散識別情報通知処理機能を備え、更に、自ノードに分散保持されたデータを前記データ書込要求ノード11に送信する自データ送信処理機能を備えている。
そして、前述したデータ書込要求ノード11は、前記分散識別情報に基づいて前記複数の第3ノード31〜34から返信されたデータを併合して前記マスターデータ処理ノードに保存されている前記マスターデータを復元する復元処理機能を有する。
このため、具体的には後述するが、本第1実施形態によれば、(1)マスターデータのレプリカを分散書込みすることで、各ノードの負荷を分散できる。また、(2)マスターデータのレプリカを分散書込みするノードはマスターデータを保持するノードのフィンガーテーブル内のみであるため、書込み、検索で発生する不要なホップを防ぐことができる。更に、(3)DHT型P2Pネットワーク内のノード追加・削除を分散処理できるため、これらの処理を効率良く実行することができる。
このように、本第1実施形態では、バックアップデータを分散配置し、従来技術では、局所的に負荷がかかっていた問題を軽減させることが可能となった。このため、再分散時に多量のデータを移管することなく、データ移管を可能にする。
即ち、このバックアップデータを分散配置に際しては、前述したようにパケットの最大データサイズにより、バックアップ用の送信データを分割送信するように構成したので、これにより、負荷の集中という上記従来例の不都合を改善することができ、再分散時のデータ移管の円滑化を図り得るようになった。また、データ検索においても、ネットワークに流れるデータ量減少及び応答速度向上を目的として、ホップ数を削減させて検索できる。
(具体的構成)
上記構成内容を、以下、更に具体的に説明する。
図1に示すように、本第1実施形態に係る情報処理システム1は、前述したようにDHT型のP2Pネットワーク10に、前述した各ノード、即ち情報処理装置を構成する書込要求ノード11、マスターデータ処理ノード21、レプリカデータ処理ノード31乃至34が、それぞれ連結されている。
ここで、マスターデータ処理ノード21(以下「マスター処理ノード」とする)は、図2に示すように、マスターデータと同一のバックアップ用データを第3ノード31〜34に対して分割し分散送信する前述した送受信制御部21Aと、この分散送信するバックアップ用データを所定の条件で分割し前記送受信制御部21Aに送り込む分散データ生成部21Bと、この分割前の前記バックアップ用データを保持する前述したデータ保持部21Dと、これら各構成要素の動作を制御し且つマスターデータ処理ノード21の外部の対する種々の動作機能を設定する主制御部21Fとを備えている。
更に、図2において、符号21Dは、上記主制御部21Fの動作に必要な各種プログラム等が予め格納された第1の記憶部を示す。この第1の記憶部21Dは、ROMにより構成され、後述するファインテーブル224およびハッシュテーブル225が格納されている。
又、符号21Eは、上記主制御部21Fの動作に必要な各種データ等が必要に応じて格納され若しくは取り出される第2の記憶部を示す。この第2の記憶部21Eは、RAMにより構成されている。
ここで、送受信制御部21Aは、前述したように、データ保存部21Cで保存したデータをバックアップ用として複数に分割された場合に、主制御部21Fに送信制御されて稼働しこれを複数の第3ノード31〜34に対して送信して分散保持させるように機能する。
又、この送受信制御部21Aは、そのバックアップ用のデータの分割内容を示す識別可能な分散識別情報を、主制御部21Fに送信制御されて当該複数の第3ノード31〜34の内の少なくとも1つ(本第1実施形態では隣接する第3ノード31)に送信するように機能する。
他のノード11,31〜34も、本第1実施形態では、このマスター処理ノード21の構成要素21A〜21Fと同等の構成要素を備えて構成されている。このため、この各ノード11,21,31乃至34は、基本的にはそれぞれ同一の機能を有している。
即ち、本第1実施形態では、前述したように、全てのノードが、データ書込/検索要求ノード11、マスターデータ処理ノード(「データ保存ノード」とも称す)21、レプリカデータ処理ノード(「分散保持ノード」とも称す)31〜34の動作が可能な構成となっている。
ここで、例えば、データ書込/検索要求ノード(以下、「書込/検索要求ノード」という)11になる条件としては、オペレータ等がDHT型P2Pネットワークの外部から検索要求を行った場合である。ただし、オペレータ等がどのノードで検索するかは自由である。
又、マスター処理ノード21が保持するマスターデータとレプリカ処理ノード31〜34に分散保持されたレプリカデータとについては、基本はマスターデータで運用し、マスター処理ノード21が故障した場合には、レプリカ処理ノード31乃至34が備えているレプリカデータを使用する流れとなる。
上記マスター処理ノード21については、データ検索の対象が存在するマスターデータを保持するノードがその役割となるため、検索するデータによっては、どのノードでも、マスター処理ノード21になる可能性があり得る。
ここで、前述したマスター処理ノード21における上記分散データ生成部21Bは、主制御部21Fに制御されて作動し、バックアップ用のデータであるレプリカデータのデータサイズを、ネットワークや蓄積媒体(レプリカデータ処理ノード)によって変化させる機能を備えている。この分散データ生成部23Bは、具体的には、パケットの最大データサイズにより、バックアップデータを分割し複数のレプリカデータを生成する機能を備えている。
このバックアップデータの分割数は、本第1実施形態では、下記の式に基づいて算定される。
即ち、レプリカデータの分割数nの範囲は、1≦n≦N_{MAX }である。
ここで、n=レプリカデータの分割数、である。
更に、N_{MAX }=分割データの最大値で「フィンガーテーブルが保持する全ノード数−1」又は「予め決めた値」、である。
尚、この内、「予め決めた値」は、本第1実施形態では、「全ノード数−1」以下とする。
(基本動作)
次に、上記第1実施形態の基本的な動作を説明する。
図1において、書込/検索要求ノード11には、まず、書込/検索をするデータ10aが、外部から設定入力される。
次に、この書込/検索要求ノード11の書込要求によりマスター処理ノード21が稼働し、データ10aは、その内容などによって選択されたマスター処理ノード21のデータ保存部21Cに、保存データ10bとして保存される。一方、書込/検索要求ノード11のデータ10aは削除される。
ここで、マスター処理ノード21は、保存データ10bを、ハッシュテーブル225内のハッシュ値に対応付ける。ここで、ハッシュテーブル225の詳細な例は、公知文献(例えば、特表2010-519630 号公報)で知られているものが使用される。そして、分散識別情報保持部(図2:ROM21Dのフィンガーテーブル224)に従って、保存データ10bの分散保持先が設定され、保存データ10bのバックアップ用データが分散データ生成部21Bで分割される。
そして、この場合の分割数は、分散保存先の数に対応して設定し、更には分散保存数の半分にしたり重なり部分を設けたりして、復元能力を高めることもできる。尚、フィンガーテーブル224の詳細な例は公知文献(例えば、ACM SIGCOMM Communication Review 31(4):149-160.New York,USA:ACM Press. )で知られているものが使用される。
又、バックアップデータの分割に際しては、前述したように、第2ノード21は、具体的には後述するが、複数の前記第3ノード31〜34に対しては、予めパケットの最大データサイズにより、バックアップ用の送信データを分割送信するように構成されている。
具体的には、本実施形態では、例えば、パケットの最大データサイズが1500B(バイト)であり、データサイズが4000B(バイト)に場合を想定している。この場合、本第1実施形態では、図1に示すように4個のレプリカ処理ノード31乃至34が備えているが、3個のレプリカ処理ノード31乃至33の使用で必要充分なレプリカ処理ノードの数となり、レプリカ処理ノード31乃至34の有効利用も可能となる。
ここで、送受信制御部21Aからは、フィンガーテーブル224により特定される分散データ保持先のレプリカ処理ノード31〜33に、分散データ及び分散データのハッシュ値の保持が要請される。
マスター処理ノード21から分散保持が要請された各分散データ及びハッシュ値は、複数(本実施形態では4個)のレプリカ処理ノード31〜33のそれぞれに分散され、当該第3ノード(レブリカ処理ノード)31〜34のデータ保存部30a〜30c、及びハッシュテーブル231〜233に保持される。
ここで、図1では、書込/検索要求ノード11とマスター処理ノード21以外のノードは、レプリカ処理ノード31〜34として図示されている。
この場合、レプリカ処理ノード31〜34は、フィンガーテーブル224に従ってマスター処理ノード21で選択されるものであり、図1はその特殊な一例に過ぎない。
また、本第1実施形態では、マスター処理ノード21からレプリカ処理ノード31〜34の少なくとも1つに、マスター処理ノード21が分散保持先を決めるために使用したフィンガーテーブル224の複製が送信される。レプリカ処理ノード31〜34の少なくとも1つはフィンガーテーブル224の複製を保持している。本第1実施形態では、前述したようにレプリカ処理ノード31がフィンガーテーブル224の複製を保持している。
従って、マスターデータ処理ノード21が障害を起こして動作不能となっても、書込/検索要求ノード11による保存データの検索をレプリカデータ処理ノード31が代行することによって、分散データから保存データを復元することが可能となる。
尚、マスター処理ノード21の障害時に、書込/検索要求ノード11による保存データの検索を受けて代行するレプリカ処理ノード31を、以下、他のレプリカデータ処理ノード32〜34と区別するため「障害支援ノード」とも呼ぶ。
(本第1実施形態の具体的な動作)
上記図1乃至図2に開示した情報処理システムの動作を具体的に説明する。
ここで、図1において、書込/検索要求ノード11として動作した情報処理装置は、同じ構成を備えた情報処理装置が、データ書込要求ノード11として動作し、或いはデータ検索要求ノードとして動作する。
(保存データの書込動作)
まず、外部からの指令に基づいて前記書込/検索要求ノード(第1ノード)11が稼働し、前記マスター処理ノード(第2ノード)21に対して前記保存用のデータの書込を指令し、この第1ノード11の指令に従って前記第2ノード21が稼働し、前記第1ノード11からの書込指令の対象であるマスターデータを予め装備されたデータ保存部21Cに保存する。
次に、この保存したマスターデータを前記各第3ノード31〜34に対応して複数に分割すると共に前記第2ノード21の送受信制御部21Aが前記各第3ノード31〜34にバックアップ用として送信しそれぞれに分散保持させるようにする。
そして、このマスターデータの前記分割に際しては、前記第2ノード21の分散データ生成部21Bが稼働し、パケットの最大サイズにより1又は2以上に分割するように機能する。
前述した図1は、具体的には、保存データの書込状態を示す図である。
ここで、以下に示す(1)(2)(3)(4)は、図1中の丸数字に対応するものとする。
検索要求ノード11のデータ書込要求に従って、マスター処理ノード21は(1) 及び(2) の処理を行う。即ち、マスター処理ノード21が全てのデータを自ノードに保存すると共に、それぞれのレプリカデータ処理ノード31〜33にデータを分散配置する。データの分散配置にはマスター処理ノード21のフィンガーテーブルを用いる。
図1には、保存データが4つの部分に分割されて、その内の三つのレプリカデータ処理ノード31〜33に、その1つ1つが分散配置される様子を示している。
マスター処理ノード21が分散データの分散配置に使用したフィンガーテーブルは、分散配置するレプリカデータ処理ノード31〜33に配置される。
(保存データ書込のシーケンス)
図3は、図1に示すシステムにあって、保存データの書込手順を示すシーケンス図である。
まず、書込要求ノード11のデータ書込要求処理(図3:A10)によるデータ書込要求を、マスター処理ノード21は、データ受信処理(図3:A20)により送受信制御部21Aを介して受信する。このマスター処理ノード21は、マスターデータの書込要求に対応して、マスターデータ書込処理(図3:A22)によりデータベース(データ保存部21C)に保存データとして書き込む。
同時に、このマスター処理ノード21は、正常に書き込まれた場合、書込結果送信処理(図3:A24)により、書込要求ノード11に正常に書き込まれたことを通知する。
尚、マスターデータ書込処理(図3:A22)で正常に書き込めなかった場合、書込結果送信処理(図3:S24)により正常に書き込めなかった旨のメッセージを書込要求ノード11に通知する。
書込要求ノード11は、書込結果受信処理(図3:A12)において書込結果を受信すると、マスターデータ書込結果判定処理(図3:A14)においてマスターデータ書込結果を、主制御部11Fが判定する。続いて、マスターデータ書込完了処理(図3:A16)においては、判定結果からマスターデータを正常に書込めた場合、書込要求ノード11が格納していたマスター処理ノード21に書き込む内容を消去し、マスターデータ書込み処理を完了させる。一方、正常に書き込めなかった場合には、マスターデータ書込完了処理(図3:A16)において、正常に書込めなかった旨のメッセージを通知する。
尚、正常に書込めなかった旨のメッセージを、何処に通知するかは、システム設計による。例えば、書込要求ノード11自身で通知しても、書込要求ノード11に書込を指示した依頼元に通知してもよい。さらに、正常に書き込めなかった場合、書込み要求ノード11が保持するマスター処理ノード21に書き込む内容を保持するか/消去するかについても、システム設計による。更に、書込み要求ノード11が保持するマスター処理ノード21に書き込む内容を再度マスター処理ノード21に書き込むように要求するか否かについても、システム設計による。
次に、マスター処理ノード21は、フィンガーテーブル確認処理(図3:A26)において、フィンガーテーブルを確認して、どのノード31乃至34にレプリカデータを分散すれば良いのかを決定する。
本第1実施形態の場合は、データサイズ4000Bに対してパケットの最大データサイズを1500Bとしたので、三つのノード31乃至33で必要充分となる。マスター処理ノード21によるこれらの判断は、主制御部21Fによって実行される(図3:A27)。
このデータサイズ分割処理と共に各分割データの分散先ノードが決定されると、その後、データ分散処理(図3:A28)に対して、どのノードにレプリカデータを分散すれば良いのかを通知する。
マスター処理ノード21は、このデータ分散処理(図3:A28)において、フィンガーテーブル確認処理(図3:A26)から通知されたノードに分散するように、保存したマスターデータを所定数(図1の例では3つ)に分散する。
そして、各分散データのハッシュ値を算出して、分散データ及びハッシュ値を振り分ける。振り分けた分散データは、データ分散処理(図3:A28)から分割数情報付与処理(図3:A30)を実行した後、分散データ送信処理(図3:A40)に渡される。
この分散データ送信処理(図3:A40)において、マスター処理ノード21は、渡された分割数情報が付された分散データ及びハッシュ値を、フィンガーテーブル上に設定された各レプリカ処理ノード31〜33に対して送信する。
図3の例では、レプリカデータ処理ノード31〜33の三つのノードに、分割数情報が付された分散データ及びハッシュ値を送信する。
各レプリカデータ処理ノード31〜33は、データ受信処理(図3:A50)において、送信された分散データ及びハッシュ値を受信する。
以下、レプリカ処理ノード31〜33の処理は同様なので、1つのレプリカ処理ノード31の処理について説明する。
この内、レプリカデータ処理ノード31は、データ書込処理及びフィンガーテーブル受信処理(図3:A50)において、データベース(データ保存部)に分散データとハッシュ値を書込み、フィンガーテーブルを登録する。
尚、フィンガーテーブルの登録は、システム設計に対応して、分散データの分散先の全てのレプリカデータ処理ノードに登録してもよいし、予め決められたレプリカデータ処理ノードへの送信でもよい。例えば、図1において、マスター処理ノード21の時計回りの次のレプリカデータ処理ノード31が、マスター処理ノード21の障害時にデータ検索の代行をするとの設計であれば、レプリカ処理ノード31に送信すればよい。
しかしながら、どのレプリカ処理ノード31〜34でも障害時にデータ検索の代行ができるように設計すれば、全レプリカ処理ノード31〜34に送信することになる。そして、書き込みが完了したことが、データ書込処理及びフィンガーテーブル登録処理(図3:A52)からデータ書込完了通知処理(図3:A54)に通知される。
一方、レプリカデータ処理ノード31のデータベース(データ保存部)に分散データが書き込まれなかった場合には、書き込まれなかったことが、データ書込処理及びフィンガーテーブル登録処理(図3:A52)からデータ書込完了通知処理(図3:A54)に通知される。
レプリカデータ処理ノード31は、データ書込完了通知処理(図3:A54)によって、書込完了或いは書込未了の通知を、マスター処理ノード21に通知する。
これを受けて、マスター処理ノード21は、データ書込み完了通知受信処理(図3:A60)において、レプリカ処理ノード31〜34からの書込完了あるいは書込未了の通知を受信する。この書込完了あるいは書込未了の通知は、データ書込み完了通知受信処理(図3:A60)から分散データ書込結果判定処理(図3:A62)に通知される。マスター処理ノード21は、この分散データ書込結果判定処理(図3:A62)において、分散データが全ての分散先に正常に書き込まれたか否かを判定する。
そして、マスター処理ノード21は、判定結果から分散データを正常に書込めた場合には、分散データ書込完了処理(図3:A64)において、マスター処理ノード21が格納していた分散データを消去し、分散データのレプリカ処理ノード31〜34への書込みを完了させる。
一方、分散データが少なくとも1つのレプリカ処理ノード31,32,又は33に対して正常に書き込めなかった場合は、正常に書込めなかった旨のメッセージを通知する。
どこに通知するかはシステムの設計による。例えば、マスター処理ノード21自身で通知を受けて、他のフィンガーテーブルによる再分散を試みてもよいし、書込を失敗したレプリカ処理ノードを他のレプリカ処理ノードで代行して再分散を試みてもよい。或いは、書込要求ノード11に通知してもよいし、書込要求ノード11を介してデータ書込要求を行なったシステム外部の他のシステムや装置でもよい。
更に、レプリカ処理ノード32,又は33に通知して、他のレプリカデータ処理ノード31で分散データの書込が失敗したことを通知して、データベース(データ保存部)に書き込んだ分散データを削除するようにしてもよい。
また、分散データが正常に書き込めなかった場合、マスターデータ処理ノード21が保存したマスターデータの保持を継続するか/消去するかも、システムの設計による。
更に、マスターデータ処理ノード21が保存したマスターデータの分散データの保持を再度レプリカデータ処理ノードに要求するか否かも、システムの設計による。
(保存データの正常検索)
次に、図4を参照して正常時の検索処理を説明する。
図4において、マスター処理ノード21に障害がなく正常検索を行なわれた場合には、図4の(1) (2) の順序で、保存データの検索が完了する。
即ち、図4の(1) では、検索要求ノード11がマスター処理ノード21に対して検索要求を行う。これに対して、図4の(2) では、マスター処理ノード21が自己が保持するマスーデータを検索し、その結果を検索要求ノード11に返答し、これにより保存データの検索が完了する。
尚、本第1実施形態において、保存データの検索は、ハッシュテーブルのハッシュ値との比較に基づいて行われる。
(保存データ障害時の分散データ検索)
図5に、保存データ障害時における分散データ検索の一例を示す。
この図5の例では、データの検索中に障害が発生したマスター処理ノード21の検索処理を代行するレプリカ処理ノード31が、分散データを集めてデータ復元のためのマージ(merge:併合)を行ない、その結果を検索要求ノード11に送信する。
この図5の例では、(1) では、マスター処理ノード21に障害が発生した場合を示す。 次に、この障害発生時には、本第1実施形態では、まず、(2) のように、障害が発生したマスター処理ノード21から図5において右回り(時計回り)に、次のレプリカ処理ノード31に、検索要求ノード11からの検索要求が行われる。
ここで、障害が発生したマスター処理ノード21の代行は、図5のように右回り(時計回り)の次のレプリカ処理ノード31に限定する必要はなく、システムの設計による。
本第1実施形態では、上記のように、次のレプリカ処理ノード31に分割数にかかる情報が格納されているものとする。このため、レプリカ処理ノード31にアクセスすると、分割数が判るようになっている。
この検索要求を受けたレプリカ処理ノード31は、故障したマスター処理ノード21の代わりに、(3) のようにレプリカデータ(分散データ)を保存しているレプリカ処理ノード32,33,又は34に限定して検索処理を実行する。
この (3)の処理では、検索要求を受けた各レプリカ処理ノード32,33,又は34が検索要求元のレプリカデータ処理ノード31に検索結果を返す。自ノード以外のレプリカ処理ノード32〜34から検索した分散データが返送されると、(4) のように、要求元のレプリカデータ処理ノード31は、自ノードに保持している分散データと他のレプリカデータ処理ノード32〜34からの分散データとを併合する。
そして、レプリカ処理ノード31は、併合して復元したマスターデータの複製を検索要求ノード11に検索結果として送信する。
このようにして、検索要求ノード11は、マスター処理ノード21に保存したマスターデータと同一のマスターデータを復元し取得することができる。
(保存データ障害時の分散データ検索動作)
次に、上記保存データ障害時の分散データ検索(図5の検索動作)の具体例を、図6のシーケンス図を参照して説明する。
まず、検索要求ノード11は、レプリカ処理ノード31に対してデータ検索要求処理(図6:B1)によるデータ検索要求を発信する。これを、レプリカ処理ノード31は、検索データ受信処理(図6:B10)により受信する。
続いて、レプリカ処理ノード31は、フィンガーテーブル確認処理(図6:B20)において、図3のA52で登録した検索データに対応するフィンガーテーブルを検索し見つける。そして、フィンガーテーブル確認処理(図6:B20)から分割数情報確認処理(図6:B21)で分割数を確認した後、検索する分散データ問い合わせ処理(S723/図6:B22)に対して前記検索し見付けたフィンガーテーブルの情報を分割数情報と共に渡す。
次に、レプリカ処理ノード31は、検索する分散データ問い合わせ処理(図6:B22)において、フィンガーテーブルの情報に基づいて検索要求を行うレプリカ処理ノードを特定する。図5の例では、レプリカ処理ノード32,33,及び34を特定する。
そして、検索する分散データ問い合わせ処理(図6:B22)から、特定したレプリカデータ処理ノード32,33,及び34の情報と検索する分散データを特定可能なハッシュ値とを、分散データ内容送信処理(図6:B30)に渡す。この分散データ内容送信処理(ハッシュ値送信処理/図6:B30)において、各分散データを検索する検索キーとなるハッシュ値を送信することにより、特定されたレプリカ処理ノード32,33,及び34に対して分散データの検索要求を行う。
ここで、本第1実施形態では、ハッシュ値を分散データの検索として送信するが、他の検索キーを使うシステム設計であってもよい。ただし、検索キー割当の容易性や秘匿性からハッシュ値が望ましい。また、図6のB30には、分散データ返信先を特に明記していない。これは、本第1実施形態が、返信先を検索要求元のレプリカ処理ノード31とする構成であることによる。尚、他の例で、返信先を選択できる設計とするのであれば、図6のB30で、分散データ返信先を明記する必要性が生じる。
検索要求を受けたレプリカ処理ノード32,33,及び34は、分散データ内容受信処理(ハッシュ値受信処理/図6:B40)において、分散データ検索要求として分散データのハッシュ値を受信する。
ここで、レプリカ処理ノード32,33,及び34の処理は同様なので、以下、レプリカ処理ノード32を代表させて説明する。
上記レプリカ処理ノード32は、要求を受けた検索を実施するため、分散データ内容送信処理(ハッシュ値受信処理/図6:B40)からデータ検索処理(図6:B42)に検索内容を渡すよう制御する。そして、このデータ検索処理(図6:B42)において、ハッシュ値を基にデータ検索が行われる。
次に、この検索された分散データ及び検索結果の情報等が、データ検索処理(図6:B42)から検索データ及び検索結果取得処理(図6:B44)に渡される。更に、これらの結果が、検索データ及び検索結果取得処理(図6:B44)から検索データ送信処理(図6:B46)に渡される。そして、検索データ送信処理(図6:B46)では、検索された分散データ及び検索結果の情報等を前述したレプリカ処理ノード31に返信する。
レプリカ処理ノード31は、検索データ及び検索結果受信処理(図6:B50)において、各レプリカ処理ノード32,33,及び34の検索データ送信処理(図6:B46)からの分散データ及び検索結果の情報等を受信する。この受信した情報は、検索データ及び検索結果受信処理(図6:B50)から検索データマージ処理(図6:B28)に渡される。
一方、このレプリカ処理ノード31は、他のレプリカ処理ノード32,33,及び34への分散データの検索要請と並行して、データ検索処理(図6:B24)以降の処理を、検索する分散データ問合わせ処理(図6:B22)の実行完了後に実行する。即ち、検索データ受信処理(図6:B10)において受信した検索内容から、レプリカデータ処理ノード31自身に対する検索を実行する。
この検索結果は、前述した検索データ及び検索結果取得処理(図6:B26)に渡され、他の分散データと共に検索データマージ処理(図6:B28)に渡される。レプリカ処理ノード31は、検索データマージ処理(図6:B28)において、検索データ及び検索結果取得処理(図6:B26)で得られたレプリカデータ処理ノード31が保持した分散データと検索データ及び検索結果取得処理(図6:B50)で得られたレプリカ処理ノード32,33,及び34の分散データとをマージする。
そして、マージ結果であるマスターデータの複製は、検索データ送信処理(図6:B60)に渡される。レプリカ処理ノード31は、検索データ送信処理(図6:B60)により、この結果をデータ検索要求ノード11に送信する。
上記検索要求ノード11は、レプリカ処理ノード31が検索データ送信処理(図6:B60)により送信した検索結果を、検索データ受信処理(図6:B70)において受信する。そして、検索データ判定処理(図6:B72)において、検索結果の検索データは自分が検索要求したデータであることを判定し、これをもって検索データの受信処理を完了とする。
ここで、上記第1実施形態にあっては、マスターデータ処理ノード21に隣接するレプリカ処理ノード31にバックアップ用のデータの分割数にかかる情報を保持するようにしたが、他のレプリカ処理ノード32等に上記分割数にかかる情報を保持するように構成してもよい。
又、上記各ノードのデータ処理にかかる各動作については、各ノードが備えている主制御部(例えば、ノード21については主制御部21F)が自ノードの各構成要素の動作を制御するように構成したが、この主制御部の制御動作を含めて前記各ノードにおける信号処理動作については、これをプログラム化し、各ノードに対応して予め装備したコンピュータにより実行するように構成してもよい。後述する第2,第3の各実施形態においても同様である。
この第1実施形態では、上述したように、パケットの最大データサイズに基づいて分散保存するレプリカデータを分割送信するように構成したので、分割処理を円滑に実行することが出来るばかりでなく、レプリカデータ処理ノードとの相互間におけるに対するデータの転送および蓄積を効率よく実行することができ、マスターデータ処理ノードの障害発生時にも、マスターデータ処理ノード21の代行がデータ検索要求ノード11によって一義的に特定されるので、迅速に且つ確実にマスターデータの復元処理が可能となる。
このように、本第1実施形態は上記のように構成され機能するので、これによると、バックアップ用として使用するレプリカデータのデータサイズをネットワーク10や蓄積媒体(レプリカデータ処理ノード31〜34)に対応してパケットの最大サイズにより1又は2以上に分割して分散保持させる、即ち、パケットの最大データサイズを超えるレプリカデータについては、他のレプリカデータ処理ノードに蓄積するようにしたので、レプリカデータの転送・蓄積を効率良くすることができ、複数のレプリカデータ処理ノード31〜34へのデータ蓄積時にネットワーク10にかかる負荷を軽減することができ、これにより、より大量データを扱うことができるようになるという上記関連技術にない優れた利点がある。
更に、元のデータを保持するマスターデータ処理ノード21が障害で動作不能となった場合でも、当該マスターデータの復元をネットワーク10の負荷を増大させることなく迅速に成し得るという利点がある。
〔第2実施形態〕
次に、本発明に係る情報処理システムの第2実施形態を、図7乃至図10を参照して説明する。ここで、前述した第1実施形態の場合と同一の構成部材については同一の符号を用いるものとする。
まず、図7において、情報処理システム2は、前述した第1実施形態の情報処理システム1の場合と同様に、インターネット等のネットワーク10を介して接続された第1ノード(データ書込要求ノード)11と、第2ノード(マスターデータ処理ノード)22と、前記マスターデータのバックアップデータを保持する複数(本第2実施形態では4個)の第3ノード(レブリカデータ処理ノード)31〜34とを備えて構成されている。
上記マスターデータ処理ノード(以下「マスター処理ノード」という)22は、図8に示すように、送受信部22Aと、この分散送信するバックアップ用データを所定の条件で分割し前記送受信部22Aに送り込む分散データ生成部22Bと、この分割前の前記バックアップ用データを保持する前述したデータ保持部22Dと、これら各構成要素の動作を制御し且つマスターデータ処理ノード22の外部に対する種々の動作機能を設定する主制御部22Fと、第1および第2の各記憶部22D,22Eを備えて構成されている。
この図8に示すマスターデータ処理ノード22の各構成要素は、前述した第1実施形態に示すマスターデータ処理ノード21の各構成要素(図2参照)と同等に機能する構成要素となっている。
そして、この内、分散データ生成部22Bは、基本的には前述した図2における分散データ生成部21Bと同様に複数の前記第3ノード31〜34に対して分散保持させるためのバックアップ用の送信データ(分割送信するに必要な分割データ)を生成する機能を備えている。
一方、この第2実施形態では、データサイズが、前述した第1実施形態の場合と異なり、パケットの最大データサイズよりも小さいものを対象としている。具体的には、データサイズ700B程度のデータを対象とし、パケットの最大データサイズは前述した第1実施形態の場合と同様に1500Bとした。
そのため、本第2実施形における上記態分散データ生成部22Bは、バックアップデータの生成に際しては、データ保存部22Cからデータを分割することなく取り出して送受信部22Aへ送り出すように機能する。
その他の構成は、前述した第1実施形態の場合と同一となっている。
(第2実施形態の動作)
次に、本第2実施形態の動作を説明する。
まず、図7において、書込/検索要求ノード11のデータ書込要求に従って、マスター処理ノード22は(1) 及び(2) の処理を行う。即ち、マスター処理ノード22が全てのデータを自ノードに保存すると共に、レプリカ処理ノード31〜33の内のレプリカ処理ノード31にマスターデータのバックアップデータを配置する。
この第2実施形態では、データサイズがパケットの最大データサイズより小さい場合に限定してあるので、データの分散配置はしない。図7の(1) (2) は、この場合の状態を示すものである。
(保存データ書込みのシーケンス)
図9は、図7に示す情報処理システム2にあって、保存データの書き込み手順を示すシーケンスである。
この図9において、まず、書込/検索要求ノード11は、外部から送り込まれるデータ(マスターデータ)をデータ書込要求処理(図9:A10)によりデータ書込要求としてマスター処理ノード22へ送る。
マスター処理ノード22は、このマスターデータをデータ受信処理(図9:A20)により送受信部22Aを介して受信する。そして、このマスター処理ノード22は、マスターデータの書込要求に対応して、マスターデータ書込処理(図9:A22)によりデータベース(データ保存部22C)に保存データとして書き込む。
同時に、このマスター処理ノード22は、正常に書き込まれた場合、書込結果送信処理(図9:A24)により、書込要求ノード11に正常に書き込まれたことを通知する。
尚、マスターデータ書込処理(図9:A22)で正常に書き込めなかった場合、書込結果送信処理(図9:S24)により正常に書き込めなかった旨のメッセージを書込要求ノード11に通知する。
書込要求ノード11は、以下、前述した第1実施形態の場合と同様に、書込結果受信処理(図9:A12)、マスターデータ書込結果判定処理(図9:A14)、マスターデータ書込完了処理(図9:A16)を順次実行する。続いて、マスターデータ書込完了処理(図9:A16)においては、判定結果からマスターデータを正常に書込めた場合、書込要求ノード11が格納していたマスター処理ノード22に書き込む内容を消去し、マスターデータ書込み処理を完了させる。一方、正常に書き込めなかった場合には、マスターデータ書込完了処理(図9:A16)において、正常に書込めなかった旨のメッセージを通知する。
次に、マスター処理ノード22は、フィンガーテーブル確認処理(図9:A26)において、フィンガーテーブルを確認して、どのノード31乃至34にレプリカデータを分散すれば良いのかを決定する。
本第2実施形態の場合は、データサイズ700Bに対してパケットの最大データサイズを1500Bとしたので、一つのノード31で必要充分となり、その結果は、分散データ・ハッシュ値/フィンガーテーブル送信処理(図9:A40)に渡される。
この分散データ・ハッシュ値/フィンガーテーブル送信処理(図9:A40)において、マスター処理ノード22は、分散データ及びハッシュ値を、フィンガーテーブル上に設定されたレプリカ処理ノード31に対して送信する。
以後、このレプリカデータ処理ノード31は、前述した第1実施形態の場合(図6参照)と同様に、データ受信処理(図9:A50)、データ書込処理及びフィンガーテーブル受信処理(図9:A50)、データ書込処理及びフィンガーテーブル登録処理(図9:A52)を順次実行し、その結果をデータ書込完了通知処理(図9:A54)にて、マスター処理ノード22に通知する。
一方、レプリカデータ処理ノード31のデータベース(データ保存部)に分散データが書き込まれなかった場合には、書き込まれなかったことが、データ書込処理及びフィンガーテーブル登録処理(図9:A52)からデータ書込完了通知処理(図9:A54)に通知される。
レプリカデータ処理ノード31は、データ書込完了通知処理(図9:A54)によって、書込完了或いは書込未了の通知を、マスター処理ノード22に通知する。
これを受けて、マスター処理ノード22は、データ書込み完了通知受信処理(図9:A60)において、レプリカ処理ノード31からの書込完了あるいは書込未了の通知を受信する。この書込完了あるいは書込未了の通知は、データ書込み完了通知受信処理(図9:A60)から分散データ書込結果判定処理(図9:A62)に通知される。マスター処理ノード22は、この分散データ書込結果判定処理(図9:A62)において、分散データが全ての分散先に正常に書き込まれたか否かを判定する。
そして、マスター処理ノード22は、判定結果から分散データを正常に書込めた場合には、分散データ書込完了処理(図9:A64)において、マスター処理ノード22が格納していた分散データを消去し、分散データのレプリカ処理ノード31への書込みを完了させる。
(保存データ障害時のデータ検索について)
図10にこれを示す。
本第2実施形態では、マスターデータのバックアップを単一のレプリカ処理ノード31で実行するように構成したことから、この図10における障害時のデータ検索については、レプリカ処理ノード31に対する書込要求ノード11による検索要求があって後、正常時の上記保存データ書込みのシーケンス(図9)の場合と同一の手順で、データ検索が順次実行される。
尚、この場合、書込/検索要求ノード11は、システムの安全確認の観点から、他のレプリカ処理ノード32〜34についても、データ所持有無の問い合わせを実行する構成とした。同時に、各レプリカ処理ノード32〜34は、データを所持していない場合(当然なれど)、データを所持していない旨、書込/検索要求ノード11に送信する構成となっており、これによって、システム全体の実効ある確認動作が図られている。
その他の構成およびその作用効果は、前述した第1実施形態の場合と同一となっており、同一目的を達成することが可能となっている。
〔第3実施形態〕
次に、本発明に係る情報処理システムの第3実施形態を、図11乃至図15を参照して説明する。ここで、前述した第1実施形態の場合と同一の構成部材については同一の符号を用いるものとする。
まず、図11において、情報処理システム3は、前述した第1実施形態の情報処理システム1の場合と同様に、インターネット等のネットワーク10を介して接続された第1ノード(データ書込要求ノード)11と、第2ノード(マスターデータ処理ノード)23と、前記マスターデータのバックアップデータを保持する複数(本第2実施形態では4個)の第3ノード(レブリカデータ処理ノード)31〜34とを備えて構成されている。
上記マスターデータ処理ノード(以下「マスター処理ノード」という)23は、図12に示すように、送受信部23Aと、この分散送信するバックアップ用データを所定の条件で分割し前記送受信部23Aに送り込む分散データ生成部23Bと、この分割前の前記バックアップ用データを保持する前述したデータ保持部23Dと、これら各構成要素の動作を制御し且つマスターデータ処理ノード23の外部の対する種々の動作機能を設定する主制御部23Fと、第1および第2の各記憶部23D,23Eを備えて構成されている。
この図12に示すマスターデータ処理ノード23の各構成要素は、前述した第1実施形態(図2)に示すマスターデータ処理ノード21の各構成要素と同一に機能する構成要素となっている。
そして、この内、分散データ生成部23Bは、基本的には前述した図2における分散データ生成部21Bと同様に複数の前記第3ノード31〜34に対して分散保持させるためのバックアップ用の送信データ(分割送信するに必要な分割データ)を生成する機能を備えている。
又、この第3実施形態では、データサイズが、前述した第1実施形態の場合と同様に、パケットの最大データサイズよりも大きいものを対象としている。本第3実施形態では、データサイズがパケットの最大データサイズより大きいサイズのデータ、例えば4000B程度のデータを対象とし、パケットの最大データサイズは前述した第1実施形態の場合と同様に1500Bとした。
そして、この場合の分散送信するデータの数は分散データ生成部23Bで特定される。 更に、この第3実施形態では、複数の第3ノード全体をバックアップデータの分散保持の対象とすることを前提としており、従って、分割数の情報は送信しない構成とした。
その他の構成は、前述した第1実施形態の場合と同一となっている。
(第3実施形態の動作)
次に、本第3実施形態の動作を説明する。
まず、図11において、書込/検索要求ノード11のデータ書込要求に従って、マスター処理ノード23は(1) (2) 及び(3) の処理を行う。
即ち、本第3実施形態では、マスター処理ノード23が全てのデータを自ノードに保存しマスターデータすると共に、レプリカ処理ノード31〜34の全てを対象としてマスターデータのバックアップデータを分割保持させることを、前提としている。
一方、この第3実施形態では、パケットの最大データサイズは前述した第1実施形態の場合と同様に1500Bとし、マスターデータは例えばデータサイズ4000Bのデータとした。従って、各ノードには、バックアップ用のデータが、マスター処理ノード23の分散データ生成部23Bでパケットの最大データサイズに分割されて第3ノード31〜34に分散保持されるように構成されている。
この第3実施形態では、データサイズをパケットの最大データサイズより大きい場合に限定してあるので、データの分散配置がなされる。図11の(1) (2) 及び(3) は、この場合の状態を示すものである。
(保存データ書込みのシーケンス)
図13は、図11に示す情報処理システム3にあって、保存データの書き込み手順を示すシーケンスである。
この図9において、まず、書込/検索要求ノード11は、外部から送り込まれるデータ(マスターデータ)をデータ書込要求処理(図13:A10)によりデータ書込要求としてマスター処理ノード23へ送る。
マスター処理ノード23は、このマスターデータをデータ受信処理(図13:A20)により送受信部23Aを介して受信する。そして、このマスター処理ノード23は、マスターデータの書込要求に対応して、マスターデータ書込処理(図13:A22)によりデータベース(データ保存部23C)に保存データとして書き込む。
同時に、このマスター処理ノード23は、正常に書き込まれた場合、書込結果送信処理(図13:A24)にて、書込要求ノード11に正常に書き込まれたことを通知する。
尚、マスターデータ書込処理(図13:A22)で正常に書き込めなかった場合、書込結果送信処理(図13:S24)により正常に書き込めなかった旨のメッセージを書込要求ノード11に通知する。
書込要求ノード11は、書込結果受信処理(図13:A12)において書込結果を受信すると、前述した第1実施形態の場合と同様に、マスターデータ書込結果判定処理(図13:A14)、マスターデータ書込完了処理(図13:A16)を順次実行しマスターデータ書込完了する。
次に、マスター処理ノード21は、フィンガーテーブル確認処理(図13:A26)において、フィンガーテーブルを確認して、どのノード31乃至34にレプリカデータを分散すれば良いのかを決定する。
本第3実施形態の場合は、データサイズ4000Bに対してパケットの最大データサイズを1500Bとしたので、三つのノード31乃至33で必要充分となる。マスター処理ノード21によるこれらの判断は、主制御部21Fによって実行される(図13:A27)。
このデータサイズ分割処理と共に各分割データの分散先ノードが決定されると、その後、データ分散処理(図13:A28)に対して、どのノード31乃至33にレプリカデータを分散すれば良いのかを通知する。
マスター処理ノード23は、このデータ分散処理(図13:A28)において、フィンガーテーブル確認処理(図13:A26)から通知されたノードに分散するように、保存したマスターデータを所定数(図1の例では三つ)に分散する。
そして、各分散データのハッシュ値を算出して、分散データ及びハッシュ値を振り分ける。振り分けた分散データは、データ分散処理(データ分散処理/図13:A28)から分散データ送信処理(図13:A40)に渡される。
この分散データ送信処理(図13:A40)において、マスター処理ノード23は、渡された分散データ及びハッシュ値を、フィンガーテーブル上に設定された各レプリカ処理ノード31〜33に対して送信する。
図13の例では、レプリカデータ処理ノード31〜33の三つのノードに、分散データ及びハッシュ値を送信する。
各レプリカデータ処理ノード31〜33は、データ受信処理(図3:A50)において、送信された分散データ及びハッシュ値を受信し、以後は、前述した第1実施形態の場合と同様に、データ書込処理及びフィンガーテーブル受信処理(図13:A50)、データ書込処理及びフィンガーテーブル登録処理(図3:A52)、データ書込完了通知処理(図13:A54)を順次実行する。そして、レプリカデータ処理ノード31は、データ書込完了通知処理(図13:A54)によって、書込完了或いは書込未了の通知を、マスター処理ノード21に通知する。
これを受けて、マスター処理ノード23は、前述した第1実施形態の場合と同様に、データ書込み完了通知受信処理(図13:A60)、分散データ書込結果判定処理(図13:A62)分散データ書込完了処理(図13:A64)を順次実行し、マスター処理ノード21が格納していた分散データを消去し、分散データのレプリカ処理ノード31〜34への書込みを完了させる。
尚、分散データが少なくとも1つのレプリカ処理ノード31,32,又は33に対して正常に書き込めなかった場合は、正常に書込めなかった旨のメッセージを書込要求ノード11等に通知する。
(保存データ障害時の分散データ検索例)
図14に、保存データ障害時における分散データ検索の一例を示す。
この図14の例では、データの検索中に障害が発生したマスター処理ノード23の検索処理を代行するレプリカ処理ノード31が、分散データを集めてデータ復元のためのマージ(merge:併合)を行ない、その結果を検索要求ノード11に送信する。
この図14においても、前述した第1実施形態の場合と同様に、(1) (2) が順次実行される。ここで、障害が発生したマスター処理ノード23の代行を、本第3実施形態でも、図13のように右回り(時計回り)の次のレプリカ処理ノード31に設定する。
そして、検索要求ノード11から検索要求を受けたレプリカ処理ノード31は、故障したマスター処理ノード23の代わりに、(3) のように、マスター処理ノード23のフィンガーテーブルに基づいてレプリカを保持する各レプリカ処理ノード32,33,又は34に検索要求を行う。
この図14の (3)の処理では、検索要求を受けた各レプリカ処理ノード32,33,又は34は、検索要求元のレプリカデータ処理ノード31に検索結果を返す。
自ノード以外のレプリカ処理ノード32〜34から検索した分散データが返送されると、レプリカデータ処理ノード31は、図14の(5) のように、要求元のレプリカデータ処理ノード31は、自ノードに保持している分散データと他のレプリカデータ処理ノード32〜34からの分散データとを併合する。
そして、レプリカ処理ノード31は、併合して復元したマスターデータの複製を検索要求ノード11に検索結果として送信する。
このようにして、検索要求ノード11は、マスター処理ノード23に保存したマスターデータと同一のマスターデータを復元し取得することができる。
(保存データ障害時の分散データ検索の具体例)
次に、上記保存データ障害時の分散データ検索(図14の検索動作)の具体例を、図15のシーケンス図を参照して説明する。
まず、検索要求ノード11は、レプリカ処理ノード31に対してデータ検索要求処理(図15:B1)によるデータ検索要求を発信する。これを、レプリカ処理ノード31は、検索データ受信処理(図15:B10)により受信する。
続いて、レプリカ処理ノード31は、前述した第1実施形態の場合(図6)と同様に、フィンガーテーブル確認処理(図15:B20)、検索する分散データ問い合わせ処理(S723/図15:B22)、を順次実行し、検索する分散データ問い合わせ処理(図15:B22)において、フィンガーテーブルの情報に基づいて検索要求を行うレプリカ処理ノードを特定する。図15の例では、レプリカ処理ノード32,33,及び34を特定する。
そして、検索する分散データ問い合わせ処理(図15:B22)から、特定したレプリカデータ処理ノード32,33,及び34の情報と検索する分散データを特定可能なハッシュ値とを、分散データ内容送信処理(図15:B30)に渡す。この分散データ内容送信処理(ハッシュ値送信処理/図15:B30)において、各分散データを検索する検索キーとなるハッシュ値を送信することにより、特定されたレプリカ処理ノード32,33,及び34に対して分散データの検索要求を行う。
検索要求を受けたレプリカ処理ノード32,33,及び34は、前述した第1実施形態の場合と同様に、分散データ内容受信処理(ハッシュ値受信処理/図15:B40)、データ検索処理(図15:B42)、検索データ及び検索結果取得処理(図15:B44)、検索データ送信処理(図15:B46)を順次実行する。そして、検索データ送信処理(図15:B46)では、検索された分散データ及び検索結果の情報等を前述したレプリカ処理ノード31に返信する。
レプリカ処理ノード31は、検索データ及び検索結果受信処理(図15:B50)において、各レプリカ処理ノード32,33,及び34の検索データ送信処理(図15:B46)からの分散データ及び検索結果の情報等を受信する。この受信した情報は、検索データ及び検索結果受信処理(図15:B50)から検索データマージ処理(図15:B28)に渡される。
一方、このレプリカ処理ノード31は、他のレプリカ処理ノード32,33,及び34への分散データの検索要請と並行して、データ検索処理(図15:B24)以降の処理を、検索する分散データ問合わせ処理(図15:B22)の実行完了後に実行する。即ち、検索データ受信処理(図15:B10)において受信した検索内容から、レプリカデータ処理ノード31自身に対する検索を実行する。
この検索結果は、前述した検索データ及び検索結果取得処理(図15:B26)に渡され、他の分散データと共に検索データマージ処理(図15:B28)に渡される。レプリカ処理ノード31は、検索データマージ処理(図15:B28)において、検索データ及び検索結果取得処理(図15:B26)で得られたレプリカデータ処理ノード31が保持した分散データと検索データ及び検索結果取得処理(図15:B50)で得られたレプリカ処理ノード32,33,及び34の分散データとを併合され、マスターデータが複製される。
そして、このマスターデータの複製を、レプリカ処理ノード31は、検索データ送信処理(図15:B60)を介して検索要求ノード11に送信する。
上記検索要求ノード11は、レプリカ処理ノード31が検索データ送信処理(図15:B60)により送信した検索結果を、検索データ受信処理(図15:B70)において受信する。そして、検索データ判定処理(図15:B72)において、検索結果の検索データは自分が検索要求したデータであることを判定し、これをもって検索データの受信処理を完了とする。
この第3実施形態でも、前述した第1実施形態の場合と同様に、パケットの最大データサイズに基づいて分散保存するレプリカデータを分割送信するように構成したので、分割処理を円滑に実行することが出来るばかりでなく、レプリカデータ処理ノードとの相互間におけるに対するデータの転送および蓄積を効率よく実行することができ、マスターデータ処理ノードの障害発生時にも、マスターデータ処理ノード21の代行がデータ検索要求ノード11によって一義的に特定されるので、迅速に且つ確実にマスターデータの復元処理が可能となる。
〔第4実施形態〕
次に、本発明に係る情報処理システムの第4実施形態を図16乃至図22を参照して説明する。
この第4実施形態は、上述した第1乃至第3の各実施形態においてその要部を構成するノードである情報処理装置21(又は22,23)のハードウェア構成の一例を示すものである。
このため、ここでは、前述した第1実施形態(図1乃至図6)における情報処理装置1の具体例として、以下、説明する。
まず、図16において、情報処理装置1は、外部に対するバックアップデータの分割生成および送受信を実行する通信制御部21Gと、この通信制御部21Gで必要とする各種プログラムおよび必要なデータを保持するストレージ21Sと、受信および送信の各メッセージ及び必要な情報処理データを格納する第2の記憶部(RAM)21Eと、初期データや所定の動作制御プログラム等を記憶する第1の記憶部(ROM)21Dと、これら各構成部分の動作を規制し制御するCPUから成る主制御部21Fとを備えている。
ここで、通信制御部21Gは、図2における送受信制御部21Aと分散データ生成部21Bとを含んで構成されている。また、ストレージ21Sは、図2におけるデータ保存部21Cと第1記憶部21Dの一部とを含んで構成されている。
以下、これを更に詳述する。
図16において、CPU(主制御部)21Fは、演算制御用のプロセッサであり、第1の記憶部(ROM)21Dに記憶されたプログラムを実行することで、図2の各機能構成部を実現する。
ROM21Dは、初期データ及びプログラムなどの固定データ及びプログラムを記憶する。通信制御部21Gは、ネットワーク10を介して他のノードと通信する。この通信制御部21Gは、本P2P方式のネットワーク10の外部にある他のネットワークや装置との通信をしてもよい。通信は無線でも有線でもよい。
RAM(第2の記憶部)21Eは、CPU21Fが一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM21Eには、本第4実施形態の実現に必要なデータを記憶する領域が確保されている。領域は、大きく分けて、受信メッセージ141用と、送信メッセージ146用と、本第4実施形態では対象としない情報処理データとを含む。
RAM21Eの受信メッセージ141としては、書込/検索する受信データ142と、である受信データから算出されるハッシュ値143と、例えば、データ書込/検索要求ノード11が障害支援ノードとなったレプリカデータ処理ノード31から受信するフィンガーテーブル224と、分散データを送信する検索データ送信先145とを含んで構成されている。又、レプリカデータ処理ノード31がマスターデータ処理ノード21から受信するフィンガーテーブル224を含んで構成されている。前述した受信データ142には分散データも含まれる。
又、RAM21Eの送信メッセージ146としては、書込/検索する送信データ147と、送信データから算出されるハッシュ値148と、例えば、障害支援ノードとなったレプリカデータ処理ノードからデータ書込/検索要求ノード210に送信するフィンガーテーブル224とを含んで構成されている。又、マスターデータ処理ノード21からレプリカデータ処理ノード31乃至34に送信するフィンガーテーブル224も含んで構成されている。ここで、前述した送信データ147は分散データも含まれる。
尚、受信メッセージ141及び送信メッセージ146については、本第4実施形態に重要な一部のデータ要素を示したのみであり、他のデータ要素も随時に使用される(図21参照)。
ストレージ21Sには、データベースや各種のパラメータ、或いは本第4実施形態の実現に必要な以下のデータ又はプログラム、即ち、マスターデータ処理ノードテーブル151と、フィンガーテーブル保持部152と、ハッシュテーブル225と、保存データDB(分散データも含む)21Cとが格納されている。
ここで、マスターデータ処理ノードテーブル151は、データ書込/検索要求ノードがデータの書込/検索を行なう先を、そのデータの内容や形式に対応して設定するテーブルである。フィンガーテーブル保持部152は、予め保持する或いは他ノードから送信されたフィンガーテーブルを保持するテーブル保持部である。ハッシュテーブル225は、保存あるいは保持したデータを検索するための検索キーとして、データに対応付けられて記憶する。保存データDB(分散データも含む)21Cは、保存あるいは保持したデータを検索可能に蓄積するテーブルである。
更に、このストレージ150には、情報処理プログラム(例、図22参照)155と、データ書込/検索要求ノード実行モジュール156と、マスターデータ処理ノード実行モジュール157と、レプリカデータ処理ノード実行モジュール158とが格納されている。
ここで、情報処理プログラム155は、全体の処理を実行させる本第4実施形態の書込/検索以外の処理も含む情報処理を行なうプログラムである(図22参照)。データ書込/検索要求ノード実行モジュール156は、情報処理プログラム155において、情報処理装置がデータ書込/検索要求ノード11として動作する場合に実行されるデータ書込/検索要求ノード実行モジュールである。
更に、マスターデータ処理ノード実行モジュール157は、情報処理プログラム155において、情報処理装置がマスターデータ処理ノード21として動作する場合に実行されるマスターデータ処理ノード用の実行モジュールである。更に、レプリカデータ処理ノード実行モジュール158は、情報処理プログラム155において、情報処理装置がレプリカデータ処理ノードとして動作する場合に実行されるレプリカデータ処理ノード用の実行モジュールである。
尚、上記図16には、本第4実施形態に必須なデータやプログラムのみが示されており、OSなどの汎用のデータやプログラムは図示されていない。
(マスターデータ処理ノードテーブル)
図17は、マスターデータ処理ノードテーブル151の構成を示す図である。
かかるマスターデータ処理ノードテーブル151は、データ書込/検索要求ノード11がデータファイルの内容や形式などから、マスターデータ処理ノード21を決定するために使用する。
尚、前述した第1実施形態では、マスターデータ処理ノード21は、ひとまず固定したノードのように示したが、実際には、データ書込/検索要求ノード11がデータファイルの内容や形式などから決定する。なぜなら、マスターデータのDB(データベース)などの作成に当たっては、同種あるいは同形式のデータを管理するのが効率的である。更に、1つのノードをマスターデータ処理ノード専用にするのではなく、全てのノードがマスターデータを分散管理することで、ノードへの負荷を分散することができる。
図17において、マスターデータ処理ノードを決める条件として、ファイル内容151Aやファイル形式151Bのそれぞれ又はその組合せに対応付けて、マスターデータ処理ノードとなるノードのノードIDが記憶されている。
(フィンガーテーブル及びフィンガーテーブル格納部)
図18は、フィンガーテーブル224及びフィンガーテーブル格納部152の構成を示す図表である。
図18のフィンガーテーブル224は、分散データ書込元ノードID224Aに対応して分散データ書込先ノードID224Bのセットが記憶されている。
尚、フィンガーテーブルについては、図18の構成に限定することはなく、分散データの書込元と書込先との関連が記述されていればよい。
図18のフィンガーテーブル格納部152は、上記構成のフィンガーテーブルのどれを分散データの分散書込に使用したかを、ファイル名に対応付けて記録する。各データのファイル名152Aに対応付けて使用したフィンガーテーブル152Bが記憶される。もし、ノードによって使用するフィンガーテーブルが固定であるなら、書込元ノードIDに対応付けてフィンガーテーブルを記憶することになる。
(検索データの送信先)
図19は、検索データ送信先情報145の構成を示す図である。
この検索データ送信先情報145は、マスターデータ処理ノードに障害が発生した場合に代替して分散データを検索するレプリカデータ処理ノードからの検索要請に対して、各レプリカデータ処理ノードが分散データを何処に送信するかの送信先を記憶する。
この図19においては、書込/検索するデータのファイル名145Aに対応付けて検索した分散データの送信先ノードID145Bが記憶されている。ここで、送信先ノードID145Bはレプリカデータ処理ノード31およびデータ書込/検索要求ノード11の送信先を示している。
尚、上記図19は、ファイル名に対応付けて送信先を設定しているが、例えば、マスターデータ処理ノードがどれか、代替のレプリカデータ処理ノードがどれか、データ書込/検索要求ノードがどれか、などに対応付けてもよい。さらに、システムの設計に従った対応付けが可能である。
(ハッシュテーブル及び保存データ)
図20は、ハッシュテーブル225及び保存データ154の構成を示す図表である。
この図20に示すハッシュテーブル225は、ハッシュ値の比較によりデータを検索し、ハッシュ値が一致したデータファイルを検索データとするための検索キーテーブルである。データファイルに対して別途にIDなどの検索キーを付すのではなく、データの内容から算出されたハッシュ値を検索キーとすることで、容易に検索キーを付すことができると共に、秘匿性が優れている。
このハッシュテーブル225は、ハッシュ値225Aに対応付けられてファイル名が記憶されている。各ノードは、検索を要請されたデータファイルのハッシュ値により一致するハッシュ値のファイルを探し出し、保存データDBからそのファイルを読み出すことができる。
(各ノード間の送信メッセージ)
図21は、各ノード間の送信メッセージ146の構成を示す図表である。
図21の送信メッセージ510は、データ書込/検索要求ノードから送信される送信メッセージである。符号511はマスターデータ処理ノードへの書込要求の送信メッセージの構成を示している。ここで、括弧で示した「分散データ送信先」は、データ書込/検索要求ノード11が主導して分散データ報告先を指定する場合に使用されるが、マスターデータ処理ノード21が予め保持している場合や、データ内容やデータ形式から決定される場合は、使用されない。
符号512は、マスターデータ処理ノードや障害時にレプリカデータ処理ノードの1つである障害支援ノードに送信される検索要求の送信メッセージである。検索要求がいずれによるかに対応して、マスターデータ処理ノード21への正常な検索要求であるか/障害支援ノードへの障害支援の検索要求であるかを示すデータ以外は共通である。なお、括弧で示した「分散データ送信先」は、書込要求と同様である。
この図21の送信メッセージ520は、マスターデータ処理ノード21から送信される送信メッセージである。符号521は、データ保存後にレプリカデータ処理ノードに送信される分散データ書込要求の送信メッセージである。尚、ここでは、フィンガーテーブルも分散データと共に送信される。
又、図21の送信メッセージ530は、レプリカデータ処理ノードの1つである障害支援ノーから送信される送信メッセージである。符号531は、フィンガーテーブルにより確定した他のレプリカデータ処理ノードへの分散データ検索要求の送信メッセージである。符号532は、分散データの送信先が要求元と異なり、データ書込/検索要求ノード11である場合のフィンガーテーブルの送信メッセージである。
《各ノードとして動作する情報処理装置の処理手順》
図22は、情報処理プログラムの処理手順を示すフローチャートである。
まず、ステップS610において、自装置内部からあるいは外部装置からデータをシステム内に書き込む指示があったか/データを検索する指示があったかを判定する。データ書込またはデータ検索の指示があればステップS612に進んで、まず、情報処理装置は、データ書込/検索要求ノード11として動作する。
次に、ステップS620において、他のノードからデータを書き込む指示があったか/データを検索する指示があったかを判定する。データ書込又はデータ検索の指示があればステップS622に進んで、情報処理装置はマスターデータ処理ノード21として動作する。
次に、ステップS630において、他のノードから分散データを書き込む指示があったか/分散データを検索する指示があったかを判定する。分散データ書込又は分散データ検索の指示があればステップS632に進んで、情報処理装置1はレプリカデータ処理ノードとして動作する。
以上のように、前述した第1実施形態の具体例として本第4実施形態を説明したが、
このようにしても、前述した第1実施形態と同等の作用効果を備えた情報処理システムを得ることができ、前述した目的を有効に達成することができる。
〔他の実施形態〕
以上、本発明の実施形態について詳述したが、それぞれの実施形態に含まれる別々の特徴をいかように組み合わせたシステム又は装置も、本発明の範疇に含まれる。
また、本発明は、複数の機器から構成されるシステムに適用されても良いし、単体の装置に適用されても良い。さらに、本発明は、実施形態の機能を実現する制御プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされる制御プログラム、あるいはその制御プログラムを格納した媒体、その制御プログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。
上記の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、本発明は、その内容をこれに限定するものではない。
〔付記1〕
P2P方式のネットワークに接続された複数のノードを備え、前記各ノードの内の一のノードが備えているデータを複製して二重に保持する情報処理システムであって、
前記データの書込及び検索を指示する第1ノードと、この第1ノードによって書込を指示されたデータを保存し前記第1ノードの検索の指示に従って該データを読み出す前記一のノードである第2ノードと、前記第2ノードに保存されたデータを複製して保持する1又は2以上の第3ノードとを備え、
前記第2ノードが、
前記第1ノードにより書込を指示されたデータを予め保存するデータ保存部と、
この保存したデータのバックアップデータを1又は2以上の前記第3ノードに分けて送信し分散保持させる送受信制御部と、
このデータの分割送信に際して事前に機能し当該データのバックアップデータをパケットの最大サイズにより1又は2以上に分割する分散データ生成部とを備えていることを特徴とした情報処理システム。
〔付記2〕
付記1に記載の情報処理システムにおいて、
前記第1ノードをデータ書込要求ノードとすると共に、前記第2ノードをマスターデータ処理ノードとし、
このマスターデータ処理ノードが、隣接する前記一の第3ノードに対して、前記1又は2以上の第3ノードを識別可能な分散識別情報を、前記データの分割送信に対応させて送信処理することを特徴とした情報処理システム。
〔付記3〕
付記2に記載の情報処理システムにおいて、
前記第3ノードにかかる前記分散識別情報は、前記マスターデータ処理ノードが予め備えている記憶部のファインテーブルに予め格納されていることを特徴とした情報処理システム。
〔付記4〕
請求項3に記載の情報処理システムにおいて、
前記データ書込要求ノードは、
前記マスターデータ処理ノードに障害が発生した場合に稼働して前記一の第3ノードに対して、前記複数の第3ノードが保持する前記各分散データの読出し及び収集を指令する読出/収集指令機能を備えていることを特徴とした情報処理システム。
〔付記5〕
請求項4に記載の情報処理システムにおいて、
前記一の第3ノードは、
前記分散識別情報に基づいて他の前記複数の第3ノードを特定すると共に当該複数の第3ノードが保持するデータを検索して返信するように指令する返信指令送信機能と、
前記分散識別情報に基づいて自ノードのデータと返信されたデータとを併合して前記マスターデータ処理ノードに保存している前記マスターデータと同一のマスターデータを復元するデータ復元処理機能と、
前記復元されたマスターデータを前記データ書込要求ノードに送信する復元データ送信処理機能とを有することを特徴とした情報処理システム。
〔付記6〕
請求項4に記載の情報処理システムにおいて、
前記一の第3ノードは、
前記分散識別情報に基づいて他の前記複数の第3ノードを特定し、当該複数の第3ノードに分散保持させたデータを検索して前記データ書込要求ノードに返信するように指示する返信指示処理機能と、
前記分散識別情報を前記データ書込要求ノードに通知する分散識別情報通知処理機能と、
自ノードに分散保持されたデータを前記データ書込要求ノードに送信する自データ送信処理機能とを有し、
前記データ書込要求ノードは、前記分散識別情報に基づいて前記複数の第3ノードから返信されたデータを併合して前記マスターデータ処理ノードに保存されている前記マスターデータを復元する復元処理機能を有することを特徴とした情報処理システム。
〔付記7〕
請求項1乃至6の何れか1項に記載の情報処理システムにおいて、
前記データ書込要求ノードは、外部入力されるデータを保存するノードとして前記P2P方式のネットワークに接続された複数のノードから前記第2ノードであるマスターデータ処理ノードを予め選択する選択処理機能を、更に有することを特徴とした情報処理システム。
〔付記8〕
請求項1乃至6の何れか1項に記載の情報処理システムに装備され、前記第1ノード、前記第2ノード、及び前記第3ノードの少なくとも何れか一つのノードとして機能することを特徴とした情報処理装置。
〔付記9〕
P2P方式のネットワークに装備され、バックアップの対象となるマスターデータを保持する機能を備えると共に、当該マスターデータを複製して二重に保持する情報処理システムの一部を構成する一の情報処理装置であって、
前記情報処理システムが備えている第1ノードにより書込を指示された場合に当該第1ノードから送り込まれるマスターデータを保存する機能を備えたデータ保存部と、
このデータ保存部に保存されたマスターデータを分割して前記ネットワーク上に連結装備されたバックアップ用の1又は2以上の第3ノードに分けて送信し分散保持させる送受信制御部と、
このデータの分割送信に際して機能し、パケットの最大サイズにより1又は2以上に分割する分散データ生成部と、を備えていることを特徴とした情報処理装置。
〔付記10〕
P2P方式のネットワークに接続された複数のノードを備え、前記各ノードの内の一のノードが有するマスターデータを複製して二重に保持する情報処理システムにあって、
前記複数のノードとして、前記データの書込及び検索を指示する第1ノードと、この第1ノードによって書込を指示されたデータを保存し前記第1ノードの検索の指示に従って該データを読み出す前記一のノードである第2ノードと、前記第2ノードに保存されたデータを複製して保持する1又は2以上の第3ノードとが予め設置されており、
外部からの指令に基づいて前記第1ノードが稼働し、前記第2ノードに対して前記保存用のデータの書込(及び検索)を指令し、
この第1ノードの指令に従って前記第2ノードが稼働し、前記第1ノードからの書込指令の対象であるマスターデータを予め装備されたデータ保存部に保存し、
次に、この保存したマスターデータを前記各第3ノードに対応して複数に分割すると共に前記第2ノードの送受信制御部が前記各第3ノードにバックアップ用として送信しそれぞれに分散保持させるようにし、
このマスターデータの前記分割に際しては、前記第2ノードの分散データ生成部が稼働し、パケットの最大サイズにより1又は2以上に分割するようにしたことを特徴とするマスターデータのバックアップ方法。
〔付記11〕
P2P方式のネットワークに装備され、バックアップの対象となるマスターデータを保持する機能を備えると共に、当該マスターデータを複製して二重に保持する情報処理システムの一部を構成する一の情報処理装置にあって、
前記情報処理システムが備えている第1ノードによりデータ書込を指示された場合に当該第1ノードから送り込まれるマスターデータをデータ保存部に保存するデータ保存制御機能、
このデータ保存部に保存されたマスターデータを分割して前記ネットワーク上に連結装備された複数の第3ノードに送受信制御部を介してそれぞれバックアップ用として分散送信するデータ分散送信制御機能、
このデータの分散送信に先立って成される前記マスターデータの分割処理では、パケットの最大サイズにより1又は2以上に分割する構成とし、
これらの各制御機能および制御内容を、予め装備したコンピュータに実現させるようにしたことを特徴とする複製データ分散送信用制御プログラム。

Claims (10)

  1. P2P方式のネットワークに接続された複数のノードを備え、前記各ノードの内の一のノードが備えているデータを複製して二重に保持する情報処理システムであって、
    前記データの書込及び検索を指示する第1ノードと、この第1ノードによって書込を指示されたデータを保存し前記第1ノードの検索の指示に従って該データを読み出す前記一のノードである第2ノードと、前記第2ノードに保存されたデータを複製して保持する1又は2以上の第3ノードとを備え、
    前記第2ノードが、
    前記第1ノードにより書込を指示されたデータを予め保存するデータ保存部と、
    この保存したデータのバックアップデータを1又は2以上の前記第3ノードに分けて送信し分散保持させる送受信制御部と、
    このデータの分割送信に際して事前に機能し当該データのバックアップデータをパケットの最大サイズにより1又は2以上に分割する分散データ生成部とを備えていることを特徴とした情報処理システム。
  2. 請求項1に記載の情報処理システムにおいて、
    前記第1ノードをデータ書込要求ノードとすると共に、前記第2ノードをマスターデータ処理ノードとし、
    このマスターデータ処理ノードが、隣接する前記一の第3ノードに対して、前記1又は2以上の第3ノードを識別可能な分散識別情報を、前記データの分割送信に対応させて送信処理することを特徴とした情報処理システム。
  3. 請求項1又は2に記載の情報処理システムにおいて、
    前記データ書込要求ノードは、外部入力されるデータを保存するノードとして前記P2P方式のネットワークに接続された複数のノードから予め前記第2ノードをマスターデータ処理ノードとして選択する選択処理機能を備えていることを特徴とした情報処理システム。
  4. 請求項2に記載の情報処理システムにおいて、
    前記データ書込要求ノードは、
    前記マスターデータ処理ノードに障害が発生した場合に稼働して前記一の第3ノードに対して、前記複数の第3ノードが保持する前記各分散データの読出し及び収集を指令する読出/収集指令機能を備えていることを特徴とした情報処理システム。
  5. 請求項4に記載の情報処理システムにおいて、
    前記一の第3ノードは、
    前記分散識別情報に基づいて他の前記複数の第3ノードを特定すると共に当該複数の第3ノードが保持するデータを検索して返信するように指令する返信指令送信機能と、
    前記分散識別情報に基づいて自ノードのデータと返信されたデータとを併合して前記マスターデータ処理ノードに保存している前記マスターデータと同一のマスターデータを復元するデータ復元処理機能と、
    前記復元されたマスターデータを前記データ書込要求ノードに送信する復元データ送信処理機能とを有することを特徴とした情報処理システム。
  6. 請求項4に記載の情報処理システムにおいて、
    前記一の第3ノードは、
    前記分散識別情報に基づいて他の前記複数の第3ノードを特定し、当該複数の第3ノードに分散保持させたデータを検索して前記データ書込要求ノードに返信するように指示する返信指示処理機能と、
    前記分散識別情報を前記データ書込要求ノードに通知する分散識別情報通知処理機能と、
    自ノードに分散保持されたデータを前記データ書込要求ノードに送信する自データ送信処理機能とを有し、
    前記データ書込要求ノードは、前記分散識別情報に基づいて前記複数の第3ノードから返信されたデータを併合して前記マスターデータ処理ノードに保存されている前記マスターデータを復元する復元処理機能を有することを特徴とした情報処理システム。
  7. 請求項1乃至6の何れか1項に記載の情報処理システムに装備され、前記第1ノード、前記第2ノード、及び前記第3ノードの少なくとも何れか一つのノードとして機能することを特徴とした情報処理装置。
  8. P2P方式のネットワークに装備され、バックアップの対象となるマスターデータを保持する機能を備えると共に、当該マスターデータを複製して二重に保持する情報処理システムの一部を構成する一の情報処理装置であって、
    前記情報処理システムが備えている第1ノードにより書込を指示された場合に当該第1ノードから送り込まれるマスターデータを保存する機能を備えたデータ保存部と、
    このデータ保存部に保存されたマスターデータを分割して前記ネットワーク上に連結装備されたバックアップ用の1又は2以上の第3ノードに分けて送信し分散保持させる送受信制御部と、
    このデータの分割送信に際して機能し、パケットの最大サイズにより1又は2以上に分割する分散データ生成部と、を備えていることを特徴とした情報処理装置。
  9. P2P方式のネットワークに接続された複数のノードを備え、前記各ノードの内の一のノードが有するマスターデータを複製して二重に保持する情報処理システムにあって、
    前記複数のノードとして、前記データの書込及び検索を指示する第1ノードと、この第1ノードによって書込を指示されたデータを保存し前記第1ノードの検索の指示に従って該データを読み出す前記一のノードである第2ノードと、前記第2ノードに保存されたデータを複製して保持する1又は2以上の第3ノードとが予め設置されており、
    外部からの指令に基づいて前記第1ノードが稼働し、前記第2ノードに対して前記保存用のデータの書込を指令し、
    この第1ノードの指令に従って前記第2ノードが稼働し、前記第1ノードからの書込指令の対象であるマスターデータを予め装備されたデータ保存部に保存し、
    次に、この保存したマスターデータを前記各第3ノードに対応して複数に分割すると共に前記第2ノードの送受信制御部が前記各第3ノードにバックアップ用として送信しそれぞれに分散保持させるようにし、
    このマスターデータの前記分割に際しては、前記第2ノードの分散データ生成部が稼働し、パケットの最大サイズにより1又は2以上に分割するようにしたことを特徴とするマスターデータのバックアップ方法。
  10. P2P方式のネットワークに装備され、バックアップの対象となるマスターデータを保持する機能を備えると共に、当該マスターデータを複製して二重に保持する情報処理システムの一部を構成する一の情報処理装置にあって、
    前記情報処理システムが備えている第1ノードによりデータ書込を指示された場合に当該第1ノードから送り込まれるマスターデータをデータ保存部に保存するデータ保存制御機能、
    このデータ保存部に保存されたマスターデータを分割して前記ネットワーク上に連結装備された複数の第3ノードに送受信制御部を介してそれぞれバックアップ用として分散送信するデータ分散送信制御機能、
    このデータの分散送信に先立って成される前記マスターデータの分割処理では、パケットの最大サイズにより1又は2以上に分割する構成とし、
    これらの各制御機能および制御内容を、予め装備したコンピュータに実現させるようにしたことを特徴とする複製データ分散送信用制御プログラム。
JP2013026589A 2013-02-14 2013-02-14 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム Pending JP2014157397A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013026589A JP2014157397A (ja) 2013-02-14 2013-02-14 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013026589A JP2014157397A (ja) 2013-02-14 2013-02-14 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム

Publications (1)

Publication Number Publication Date
JP2014157397A true JP2014157397A (ja) 2014-08-28

Family

ID=51578252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013026589A Pending JP2014157397A (ja) 2013-02-14 2013-02-14 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム

Country Status (1)

Country Link
JP (1) JP2014157397A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953803A (zh) * 2021-02-10 2021-06-11 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载冗余网络数据传输方法
CN113010119A (zh) * 2021-04-27 2021-06-22 宏图智能物流股份有限公司 一种通过主备方式实现语音数据分布式存储的方法
JP2021521551A (ja) * 2018-04-30 2021-08-26 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010271798A (ja) * 2009-05-19 2010-12-02 Nippon Telegr & Teleph Corp <Ntt> 分散データ管理装置及び方法及びプログラム
JP2012027587A (ja) * 2010-07-21 2012-02-09 Tokyo Denki Univ データ分散保管装置及び方法及びプログラム及び記録媒体
JP2012178015A (ja) * 2011-02-25 2012-09-13 Nec Corp 情報処理システム、データバックアップ方法、情報処理装置及びその制御方法と制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010271798A (ja) * 2009-05-19 2010-12-02 Nippon Telegr & Teleph Corp <Ntt> 分散データ管理装置及び方法及びプログラム
JP2012027587A (ja) * 2010-07-21 2012-02-09 Tokyo Denki Univ データ分散保管装置及び方法及びプログラム及び記録媒体
JP2012178015A (ja) * 2011-02-25 2012-09-13 Nec Corp 情報処理システム、データバックアップ方法、情報処理装置及びその制御方法と制御プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021521551A (ja) * 2018-04-30 2021-08-26 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ
JP7171757B2 (ja) 2018-04-30 2022-11-15 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ
CN112953803A (zh) * 2021-02-10 2021-06-11 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载冗余网络数据传输方法
CN112953803B (zh) * 2021-02-10 2022-07-08 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载冗余网络数据传输方法
CN113010119A (zh) * 2021-04-27 2021-06-22 宏图智能物流股份有限公司 一种通过主备方式实现语音数据分布式存储的方法

Similar Documents

Publication Publication Date Title
JP5556816B2 (ja) 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード
JP6275816B2 (ja) 分散型データベースシステム用高速クラッシュ回復
JP5902716B2 (ja) 大規模記憶システム
JP6196368B2 (ja) 分散型データベースシステムのシステム全体のチェックポイント回避
US7934262B1 (en) Methods and apparatus for virus detection using journal data
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
JP6404907B2 (ja) 効率的な読み取り用レプリカ
US7546486B2 (en) Scalable distributed object management in a distributed fixed content storage system
US9607001B2 (en) Automated failover of a metadata node in a distributed file system
US9904689B2 (en) Processing a file system operation in a distributed file system
JP6264666B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
JP2011123752A (ja) ログ収集装置、ログ収集プログラム、ログ収集方法及びログ収集システム
US10996993B2 (en) Adaptive work distribution in distributed systems
WO2018176265A1 (zh) 分布式存储系统的访问方法和相关装置和相关系统
CN104641650A (zh) 在数据存储子系统中的源引用复制
JP2014157397A (ja) 情報処理システム、情報処理装置、データバックアップ方法、及びデータ分散送信用制御プログラム
JP5655628B2 (ja) 情報処理システム、データバックアップ方法、情報処理装置及びその制御方法と制御プログラム
US20160323379A1 (en) Distributed storage of software images in computing systems
CN112965859A (zh) 一种基于ipfs集群的数据灾备方法与设备
JP6376626B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
US20180181310A1 (en) System and method for disk identification in a cloud based computing environment
JP2015095015A (ja) データ配置方法、データ配置プログラムおよび情報処理システム
JP2004302573A (ja) データバックアップ方法及びバッアップシステム
JP6291977B2 (ja) 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置
JP4818396B2 (ja) オーバーレイネットワークシステム及び同システムにおけるオブジェクト登録方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180213