JP2016177724A - Node, information processing system, method, and program - Google Patents

Node, information processing system, method, and program Download PDF

Info

Publication number
JP2016177724A
JP2016177724A JP2015059063A JP2015059063A JP2016177724A JP 2016177724 A JP2016177724 A JP 2016177724A JP 2015059063 A JP2015059063 A JP 2015059063A JP 2015059063 A JP2015059063 A JP 2015059063A JP 2016177724 A JP2016177724 A JP 2016177724A
Authority
JP
Japan
Prior art keywords
node
storage destination
data
storage
divided data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015059063A
Other languages
Japanese (ja)
Other versions
JP6432407B2 (en
Inventor
拓明 山本
Hiroaki Yamamoto
拓明 山本
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 JP2015059063A priority Critical patent/JP6432407B2/en
Publication of JP2016177724A publication Critical patent/JP2016177724A/en
Application granted granted Critical
Publication of JP6432407B2 publication Critical patent/JP6432407B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To suppress performance deterioration by improving fault tolerance in the case of performing distributed management of data in an information processing system comprising a plurality of nodes.SOLUTION: The node includes: a node state management part 11 for updating a division number node list in accordance with the state of each node; a division data generation part 12 for generating a division number of division data from object data; a division data transmission part 13 for transmitting each division data to storage destination nodes indicated by the division number node list, and for storing transmission history information; a division data storage part 14 for storing the division data received from the other nodes as well as the storage history information; a storage destination node search part 15 for searching the storage destination nodes of the respective division data generated from the object data related to reading target nodes by referring to the division number node list or the storage history information; a reading node determination part 16 for determining a restoration number of storage destination nodes from among those nodes; and a data reading part 17 for acquiring the division data from each determined storage destination node.SELECTED DRAWING: Figure 2

Description

本発明は、データを複数のノードに分散して格納する技術に関する。   The present invention relates to a technique for storing data distributed to a plurality of nodes.

複数のノードからなる情報処理システムとして、例えば、グリッドコンピューティングシステム等が知られている。このような情報処理システムでは、システムの運用監視、運用管理、障害解析、または、性能チューニング等のため、システムの動作状況や統計情報等を、ログとして格納することが求められる。このようなログの格納と読み出しは、効率的かつ確実に実施できることが望ましい。   For example, a grid computing system is known as an information processing system including a plurality of nodes. In such an information processing system, it is required to store system operation status, statistical information, and the like as a log for system operation monitoring, operation management, failure analysis, performance tuning, and the like. It is desirable that such log storage and reading can be performed efficiently and reliably.

一般的なログの格納にはいくつかの方法があるが、それぞれ課題がある。各ノードによって自ノードのログを格納する方法は、該当ノードが障害となった場合、そのログを読み出せないという課題がある。ログ格納専用のノードを設ける方法は、ハードウェアのコスト・フットプリント・消費電力の増加を招くという課題がある。また、1台のノードを選びそのノードにログ格納機能をサブ機能として持たせる方法は、そのノードが情報処理システムのボトルネックとなる。そのため、この方法は、性能低下を招き、耐障害性に乏しいという課題がある。   There are several methods for storing general logs, but each has its own challenges. The method of storing the log of the own node by each node has a problem that the log cannot be read if the corresponding node becomes a failure. The method of providing a node dedicated to log storage has a problem of increasing the cost, footprint, and power consumption of hardware. Further, in the method of selecting one node and providing the node with a log storage function as a sub-function, that node becomes a bottleneck of the information processing system. For this reason, this method has a problem in that performance is deteriorated and fault tolerance is poor.

そこで、ログの格納に、データを分散して格納する分散ファイルシステムを適用することが考えられる。   Therefore, it is conceivable to apply a distributed file system that stores data in a distributed manner to store logs.

特許文献1には、分散ファイルシステムの一例が記載されている。特許文献1に記載された関連技術では、管理ノードが、格納するデータをn個に分割し、書き込み可能なN個の記録システムから任意のn個を選択して、n個の分割データを格納させる。また、この関連技術では、管理ノードが、各データについて分割データの格納場所を記憶しておく。そして、管理ノードは、データを読み出す際に、記憶しておいた分割データの格納場所を用いる。   Patent Document 1 describes an example of a distributed file system. In the related technology described in Patent Document 1, the management node divides the data to be stored into n pieces, selects any n pieces from the writable N recording systems, and stores the n pieces of divided data. Let In this related technology, the management node stores the storage location of the divided data for each data. Then, the management node uses the stored storage location of the divided data when reading the data.

特許第4820620号Japanese Patent No. 4820620

しかしながら、特許文献1に記載された関連技術または一般的な分散ファイルシステムを用いて、複数のノードからなる情報処理システムにおいてログを格納する場合、以下の課題がある。   However, when a log is stored in an information processing system including a plurality of nodes using the related technique described in Patent Document 1 or a general distributed file system, there are the following problems.

特許文献1に記載された関連技術では、データの分散格納処理を実行し分散格納場所を管理する管理ノードを設ける必要がある。ここで、ログは、システムがまさに障害になっている場面で必要とされることが少なくない。そのため、ログは、システム障害時でも読み出せる必要がある。しかしながら、この関連技術をログ格納に適用した場合、管理ノードに障害が発生すると、一切のログが読み出せなくなるという問題が生じる。   In the related technique described in Patent Document 1, it is necessary to provide a management node that executes distributed storage processing of data and manages distributed storage locations. Here, the log is often needed in situations where the system is just in the way. Therefore, the log needs to be readable even when a system failure occurs. However, when this related technique is applied to log storage, when a failure occurs in the management node, there arises a problem that all logs cannot be read.

また、一般的な分散ファイルシステムは、データの更新を考慮して、データの分散格納時に整合性を保つための処理を行う。整合性を保つための処理とは、例えば、排他制御や、タイムスタンプの格納・確認等の処理である。ここで、ログは、基本的に上書きされない。つまり、新たなログは新たなデータとして格納され、ログを記録した既存のデータが更新されることはない。また、ログ格納は、情報処理システムの主機能ではないので、低負荷で格納されることが求められる。したがって、ログを分散格納する場合、整合性を保つための処理の多くは、省略可能である場合も多い。しかしながら、一般的な分散ファイルシステムをログ格納に適用した場合、整合性を保つための多くの処理を伴うため、情報処理システムの主機能の性能を低下させるという問題が生じる。   In addition, a general distributed file system performs processing for maintaining consistency during distributed storage of data in consideration of data update. The process for maintaining consistency is, for example, exclusive control, time stamp storage / confirmation, or the like. Here, the log is basically not overwritten. That is, the new log is stored as new data, and the existing data in which the log is recorded is not updated. In addition, log storage is not a main function of the information processing system, so that it is required to store it with a low load. Therefore, when the log is stored in a distributed manner, many processes for maintaining consistency can be omitted in many cases. However, when a general distributed file system is applied to log storage, it involves a lot of processing for maintaining consistency, which causes a problem of reducing the performance of the main function of the information processing system.

本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、複数のノードからなる情報処理システムにおいて対象データを分散管理する際に、耐障害性を向上させ、対象データの格納・読み出しによる性能低下を抑える技術を提供することを目的とする。   The present invention has been made to solve the above-described problems. That is, an object of the present invention is to provide a technique for improving fault tolerance and suppressing performance degradation due to storage / reading of target data when the target data is distributed and managed in an information processing system including a plurality of nodes. To do.

本発明のノードは、複数のノードからなる情報処理システムにおける前記ノードであって、前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持するノード状態管理部と、自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成する分割データ生成部と、前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割データ生成部によって生成された前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持する分割データ送信部と、他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納する分割データ格納部と、読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記ノード状態管理部に保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定する格納先ノード検索部と、前記格納先ノード検索部によって特定された格納先ノードのうち、前記復元数の格納先ノードを決定する読み出しノード決定部と、前記読み出しノード決定部によって決定された各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元するデータ読み出し部と、を備える。   The node of the present invention is the node in the information processing system including a plurality of nodes, and among the plurality of nodes, a division number node list representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data A node state management unit that holds information while updating it in synchronization with other nodes in accordance with the state of each node, and the divided data of the number of divisions from target data representing information related to the own node. The division data generation unit that generates the division data with a smaller number of restorations in a recoverable manner, and the division number generated by the division data generation unit with the node of the division number indicated by the division number node list information as a storage destination node Each of the divided data is transmitted to the storage destination nodes of the number of divisions, and information indicating a list of storage destination nodes of the transmission destination is transmitted history information. The divided data transmission unit that holds the divided data, and the divided data received from other nodes, the information indicating the generation source node of the divided data, and the storage node of the divided data divided from the target data that is the source of the divided data A divided data storage unit that stores together with storage history information including information representing a list, and the transmission history information held in a node (read target node) designated as a read request, or held in the node state management unit By referring to the division number node list information, the storage destination node of each divided data of the target data related to the read target node is searched, and the storage history held together with the divided data in the searched storage destination node By referring to the information, the storage destination node of each divided data of the target data related to the read target node A storage node search unit that specifies up to the number of restorations, a read node determination unit that determines a storage node of the number of restorations among the storage destination nodes specified by the storage node search unit, and the read node determination unit A data reading unit that obtains the divided data from each storage destination node determined by the above and restores the target data using the obtained number of restored pieces of divided data.

また、本発明の情報処理システムは、複数の上述のノードからなる。   The information processing system according to the present invention includes a plurality of the above-described nodes.

また、本発明の方法は、複数のノードからなる情報処理システムにおいて、前記ノードが、前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持し、自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成し、前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持し、他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納し、読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定し、特定した格納先ノードのうち、前記復元数の格納先ノードを決定し、決定した各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する。   In the information processing system including a plurality of nodes, the method of the present invention is a division number node that represents a node list of a predetermined number of divisions that can be a distributed storage destination of arbitrary data among the plurality of nodes. The list information is held while being updated in synchronization with other nodes in accordance with the state of each node, and the number of divisions of the divided data from the target data representing the information related to the own node is smaller than the number of divisions. The division number of the divided data indicated by the division number node list information is set as a storage destination node, and the division number of division data is transmitted to the division number storage destination node. In addition, information indicating a storage destination node list of transmission destinations is held as transmission history information, and the divided data received from another node is converted into the generation node of the divided data. Stored together with storage history information including information indicating and a list of storage destination nodes of divided data divided from the target data that is the source of the divided data, and held in a node (read target node) designated as a read request By referring to the transmission history information or the division number node list information, the storage destination node of each divided data of the target data related to the read target node is searched, and the storage destination node searched By referring to the storage history information held together with the divided data, the storage destination node of each divided data of the target data related to the node to be read is specified up to the restoration number or more, and among the specified storage destination nodes, The storage node of the number of restorations is determined, the divided data is acquired from each determined storage destination node, and the number of restorations acquired Reconstructing the target data by using the divided data.

また、本発明のプログラムは、複数のノードからなる情報処理システムにおける前記ノードに、前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持するノード状態管理ステップと、自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成する分割データ生成ステップと、前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割データ生成ステップで生成された前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持する分割データ送信ステップと、他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納する分割データ格納ステップと、読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記ノード状態管理ステップで保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定する格納先ノード検索ステップと、前記格納先ノード検索ステップで特定された格納先ノードのうち、前記復元数の格納先ノードを決定する読み出しノード決定ステップと、前記読み出しノード決定ステップで決定された各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する分割データ読み出しステップと、を実行させる。   In addition, the program of the present invention provides a division number node list representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data among the plurality of nodes in the node in the information processing system including a plurality of nodes. A node state management step for maintaining information while updating in synchronization with other nodes according to the state of each node, and dividing data of the number of divisions from target data representing information related to the own node, A division data generation step for generating the division data with a smaller number of restoration data in a recoverable manner, and the division number generated in the division data generation step with the node of the division number indicated in the division number node list information as a storage destination node Information indicating the list of storage destination nodes of the transmission destinations as well as transmitting each of the divided data to the storage destination nodes of the division number A divided data transmission step that is stored as transmission history information, and the divided data received from another node is divided into information representing the generation source node of the divided data and the divided data divided from the target data that is the source of the divided data. A divided data storage step for storing together with storage history information including information representing a storage destination node list, and the transmission history information held in a node (read target node) designated as a read request, or the node state management step The storage node of each division data of the target data related to the node to be read is searched by referring to the division number node list information held in step, and held together with the division data in the searched storage destination node By referring to the stored history information, the target data related to the node to be read is stored. A storage destination node search step for specifying the storage destination node for each of the divided data up to the number of restorations, and a read for determining a storage destination node for the restoration number among the storage destination nodes specified in the storage destination node search step A node determining step, and a divided data reading step of acquiring the divided data from each storage destination node determined in the reading node determining step and restoring the target data using the acquired number of divided data Let

本発明は、複数のノードからなる情報処理システムにおいて対象データを分散管理する際に、耐障害性を向上させ、対象データの格納・読み出しによる性能低下を抑える技術を提供することができる。   INDUSTRIAL APPLICABILITY The present invention can provide a technique for improving fault tolerance and suppressing performance degradation due to storage / reading of target data when the target data is distributed and managed in an information processing system including a plurality of nodes.

本発明の第1の実施の形態としての情報処理システムの構成を示すブロック図である。1 is a block diagram showing a configuration of an information processing system as a first exemplary embodiment of the present invention. 本発明の第1の実施の形態におけるノードの機能ブロック構成を示すブロック図である。FIG. 3 is a block diagram showing a functional block configuration of a node in the first exemplary embodiment of the present invention. 本発明の第1の実施の形態におけるノードのハードウェア構成の一例を示す図である。3 is a diagram illustrating an example of a hardware configuration of a node according to the first embodiment of the present invention. FIG. 本発明の第1の実施の形態としての情報処理システムのデータ格納動作を説明するフローチャートである。3 is a flowchart for explaining a data storage operation of the information processing system as the first exemplary embodiment of the present invention. 本発明の第1の実施の形態としての情報処理システムのデータ読み出し動作を説明するフローチャートである。3 is a flowchart for explaining a data read operation of the information processing system as the first exemplary embodiment of the present invention. 本発明の第2の実施の形態としての情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system as the 2nd Embodiment of this invention. 本発明の第2の実施の形態におけるノードの機能ブロック構成を示すブロック図である。It is a block diagram which shows the functional block structure of the node in the 2nd Embodiment of this invention. 本発明の第2の実施の形態としての情報処理システムのデータ格納動作を説明するフローチャートである。It is a flowchart explaining the data storage operation | movement of the information processing system as the 2nd Embodiment of this invention. 本発明の第2の実施の形態としての情報処理システムのデータ読み出し動作を説明するフローチャートである。It is a flowchart explaining the data read-out operation | movement of the information processing system as the 2nd Embodiment of this invention. 本発明の第2の実施の形態としての情報処理システムの格納先ノード検索動作の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the storage destination node search operation | movement of the information processing system as the 2nd Embodiment of this invention.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(第1の実施の形態)
本発明の第1の実施の形態としての情報処理システム1の構成を図1に示す。図1において、情報処理システム1は、複数のノード10からなる。複数のノード10は、内部ネットワーク105に接続されることにより、互いに通信可能となっている。各ノード10は、互いを識別可能なノード識別子を用いて、他のノード10と通信するものとする。また、複数のノード10は、外部ネットワーク106に接続されることにより、外部と通信可能になっている。情報処理システム1は、ネットワーク106を介して外部のクライアント9から指示される各種の処理を実行する。なお、図1には、3つのノード10を示したが、本発明の情報処理システムが備えるノードの数を限定するものではない。また、図1には、1つのクライアント9を示したが、本発明の情報処理システムを利用する装置の数を限定するものではない。
(First embodiment)
FIG. 1 shows the configuration of an information processing system 1 as a first embodiment of the present invention. In FIG. 1, the information processing system 1 includes a plurality of nodes 10. The plurality of nodes 10 can communicate with each other by being connected to the internal network 105. Each node 10 communicates with other nodes 10 using node identifiers that can be distinguished from each other. The plurality of nodes 10 can communicate with the outside by being connected to the external network 106. The information processing system 1 executes various processes instructed from the external client 9 via the network 106. Although FIG. 1 shows three nodes 10, the number of nodes provided in the information processing system of the present invention is not limited. FIG. 1 shows one client 9. However, the number of apparatuses using the information processing system of the present invention is not limited.

次に、ノード10の機能ブロック構成を図2に示す。図2において、ノード10は、ノード状態管理部11と、分割データ生成部12と、分割データ送信部13と、分割データ格納部14と、格納先ノード検索部15と、読み出しノード決定部16と、データ読み出し部17とを備える。   Next, the functional block configuration of the node 10 is shown in FIG. In FIG. 2, the node 10 includes a node state management unit 11, a divided data generation unit 12, a divided data transmission unit 13, a divided data storage unit 14, a storage destination node search unit 15, and a read node determination unit 16. And a data reading unit 17.

ここで、各ノード10は、図3に示すようなハードウェア要素によって構成可能である。図3において、ノード10は、CPU(Central Processing Unit)1001、メモリ1002、ネットワークインタフェース1005、および、ネットワークインタフェース1006を含む。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。また、ネットワークインタフェース1005および1006は、それぞれ、内部ネットワーク105および106に接続するインタフェースである。この場合、ノード10の各機能ブロックは、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御するCPU1001によって構成される。なお、ノード10およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   Here, each node 10 can be configured by hardware elements as shown in FIG. In FIG. 3, the node 10 includes a CPU (Central Processing Unit) 1001, a memory 1002, a network interface 1005, and a network interface 1006. The memory 1002 includes a RAM (Random Access Memory), a ROM (Read Only Memory), an auxiliary storage device (such as a hard disk), and the like. Network interfaces 1005 and 1006 are interfaces connected to the internal networks 105 and 106, respectively. In this case, each functional block of the node 10 includes a CPU 1001 that reads and executes a computer program stored in the memory 1002 and controls each unit. Note that the hardware configuration of the node 10 and each functional block thereof is not limited to the above-described configuration.

ノード状態管理部11は、分割数ノード一覧情報を保持する。分割数ノード一覧情報とは、複数のノード10のうち、任意のデータの分散格納先となり得る所定の分割数のノード10の一覧を表す。分割数は、データを分散格納させるノード10の数としてあらかじめ定められる。また、ノード状態管理部11は、分割数ノード一覧情報を、各ノード10の状態に応じて他のノード10と同期して更新する。   The node state management unit 11 holds the division number node list information. The division number node list information represents a list of nodes 10 having a predetermined division number that can be a distributed storage destination of arbitrary data among the plurality of nodes 10. The number of divisions is determined in advance as the number of nodes 10 that store data in a distributed manner. In addition, the node state management unit 11 updates the division number node list information in synchronization with the other nodes 10 according to the state of each node 10.

例えば、複数のノード10のうちいずれかのノード10のノード状態管理部11が、各ノード10の状態を表す情報を収集するようにしてもよい。そして、そのノード10のノード状態管理部11が、各ノード10の状態に基づいて、分散格納先となり得る分割数のノード10を決定し、その一覧を新たな分割数ノード一覧情報としてもよい。そしてこの場合、そのノード10のノード状態管理部11が、他のノード10のノード状態管理部11に対して更新した分割数ノード一覧情報を送信すればよい。他のノード10のノード状態管理部11は、自ノードの分割数ノード一覧情報を、受信した分割数ノード一覧情報で更新すればよい。   For example, the node state management unit 11 of any one of the plurality of nodes 10 may collect information representing the state of each node 10. Then, the node state management unit 11 of the node 10 may determine the number of nodes 10 that can be a distributed storage destination based on the state of each node 10 and use the list as new division number node list information. In this case, the node state management unit 11 of the node 10 may transmit the updated division number node list information to the node state management unit 11 of the other node 10. The node state management unit 11 of the other node 10 may update the division number node list information of the own node with the received division number node list information.

分割データ生成部12は、自ノードに関連する情報を表す対象データから、分割数の分割データを生成する。分割データの生成処理には、分割数の分割データのうち、分割数より少ない復元数の分割データを用いて元の対象データを復元可能な技術を採用する。例えば、そのような分割データ生成処理としては、消失訂正符号(erasure code)を付加して分割する技術が知られている。また、他のそのような分割データ生成処理としては、誤り訂正符号を用いてデータを分散配置するRAID(Redundant Arrays of Independent Disks)技術等が知られている。RAIDを採用する場合、分割数より2つ少ない復元数で復元可能なレベル6を採用することが望ましいが、他のレベルを採用することも可能である。   The divided data generation unit 12 generates divided data of the number of divisions from target data representing information related to the own node. In the divided data generation process, a technique is adopted that can restore the original target data using divided data having a smaller number of restorations than the divided number of divided data. For example, as such divided data generation processing, a technique of dividing by adding an erasure code is known. Further, as such other divided data generation processing, a RAID (Redundant Arrays of Independent Disks) technique for distributing and arranging data using error correction codes is known. When RAID is employed, it is desirable to employ level 6 that can be restored with the number of restorations two less than the number of divisions, but other levels can also be employed.

分割データ送信部13は、ノード状態管理部11に問い合わせることにより、分割数ノード一覧情報に示される分割数のノード10を格納先として決定する。そして、分割データ送信部13は、分割データ生成部12によって生成された分割数の分割データのおのおのを、分割数の格納先のノード10のおのおのに対して送信する。このとき、分割データ送信部13は、それぞれの格納先のノード10に対して、分割データに付随させて生成元ノード情報および格納先ノード一覧情報を送信してもよい。   The divided data transmission unit 13 makes an inquiry to the node state management unit 11 to determine the number of nodes 10 indicated in the division number node list information as the storage destination. Then, the divided data transmission unit 13 transmits each piece of divided data generated by the divided data generation unit 12 to each node 10 that stores the divided number. At this time, the divided data transmission unit 13 may transmit the generation source node information and the storage destination node list information to the respective storage destination nodes 10 along with the divided data.

生成元ノード情報とは、分割データの生成元のノード10を表す情報である。つまり、ここで送信する生成元ノード情報は、自ノードを表す情報である。また、格納先ノード一覧情報とは、これらの分割データの格納先となるノード10の一覧を表す情報である。つまり、ここで送信する格納先ノード一覧情報は、分割数ノード一覧情報に基づき決定した格納先のノード10の一覧を表す情報である。   The generation source node information is information representing the node 10 that is the generation source of the divided data. That is, the source node information transmitted here is information representing the own node. Further, the storage destination node list information is information representing a list of the nodes 10 that are the storage destinations of these divided data. That is, the storage destination node list information transmitted here is information representing a list of storage destination nodes 10 determined based on the division number node list information.

また、分割データ送信部13は、この格納先ノード一覧情報と同一の情報を、送信履歴情報として保持する。つまり、送信履歴情報は、分割数の分割データの送信先(すなわち、格納先)を表している。   Also, the divided data transmission unit 13 holds the same information as the storage destination node list information as transmission history information. That is, the transmission history information represents the transmission destination (that is, the storage destination) of the division data of the division number.

また、分割データ送信部13は、他のノード10における後述の格納先ノード検索部15から、送信履歴情報の取得要求を受信する。そして、分割データ送信部13は、送信履歴情報を、要求元のノード10に返信する。   In addition, the divided data transmission unit 13 receives a transmission history information acquisition request from the storage destination node search unit 15 described later in the other node 10. Then, the divided data transmission unit 13 returns the transmission history information to the requesting node 10.

分割データ格納部14は、他のノード10から受信した分割データを、格納履歴情報と共に格納する。格納履歴情報は、分割データの生成元ノード情報および格納先ノード一覧情報を含む。これらの情報は、前述のように、分割データの送信元(すなわち、生成元)から分割データと共に送信されたものである。つまり、格納履歴情報に含まれる格納先ノード一覧情報は、受信した分割データを含む分割数の分割データの格納先のノード10の一覧を表している。   The divided data storage unit 14 stores the divided data received from the other nodes 10 together with the storage history information. The storage history information includes divided data generation source node information and storage destination node list information. As described above, these pieces of information are transmitted together with the divided data from the transmission source (that is, the generation source) of the divided data. That is, the storage destination node list information included in the storage history information represents a list of nodes 10 that are the storage destinations of the divided data including the received divided data.

また、分割データ格納部14は、他のノード10における後述の格納先ノード検索部15から、特定のノード10に関連する対象データの分割データを格納しているか否かの問い合わせを受信する。問い合わせ対象である特定のノード10に関連する対象データの分割データを格納しているか否かは、自ノードに格納している格納履歴情報に含まれる生成元ノード情報を参照することにより判断できる。そして、分割データ格納部14は、該当する分割データを格納している場合、その分割データと共に格納している格納履歴情報を、問い合わせ元のノード10に返信する。   In addition, the divided data storage unit 14 receives an inquiry as to whether or not the divided data of the target data related to the specific node 10 is stored from the storage destination node search unit 15 described later in the other node 10. Whether or not the divided data of the target data related to the specific node 10 to be inquired is stored can be determined by referring to the generation node information included in the storage history information stored in the own node. If the divided data storage unit 14 stores the corresponding divided data, the divided data storage unit 14 returns the storage history information stored together with the divided data to the inquiring node 10.

また、分割データ格納部14は、他のノード10における後述のデータ読み出し部17から、特定のノード10に関連する対象データの分割データの取得要求を受信する。そして、分割データ格納部14は、該当する分割データを、要求元のノード10に返信する。   Further, the divided data storage unit 14 receives a request for acquiring divided data of target data related to a specific node 10 from a data reading unit 17 described later in another node 10. Then, the divided data storage unit 14 returns the corresponding divided data to the requesting node 10.

格納先ノード検索部15は、対象データの読み出し要求を入力として取得する。ここで、対象データの読み出し要求は、特定のノード10を指定する情報として入力される。つまり、読み出し要求は、指定されたノード10に関連する対象データの各分割データを収集して元の対象データを読み出す要求である。以降、読み出し要求において指定されるノード10を、「読み出し対象のノード10」とも記載する。   The storage node search unit 15 acquires a target data read request as an input. Here, the target data read request is input as information specifying a specific node 10. In other words, the read request is a request for collecting each divided data of the target data related to the designated node 10 and reading the original target data. Hereinafter, the node 10 specified in the read request is also referred to as “read target node 10”.

格納先ノード検索部15は、読み出し要求が入力されると、送信履歴情報、分割数ノード一覧情報、または、格納履歴情報を参照することにより、読み出し対象のノード10に関連する対象データの各分割データの格納先となっているノード10を検索する。そして、格納先ノード検索部15は、復元数以上の該当する格納先のノード10を特定する。ここで、参照する送信履歴情報としては、読み出し対象のノード10に保持される送信履歴情報が適用される。また、参照する分割数ノード一覧情報としては、自ノードのノード状態管理部11に保持される分割数ノード一覧情報が適用される。また、参照する格納履歴情報としては、先に検索されたノード10に、該分割データと共に保持される格納履歴情報が適用される。   When a read request is input, the storage destination node search unit 15 refers to transmission history information, division number node list information, or storage history information, thereby dividing each division of target data related to the node 10 to be read. The node 10 that is the data storage destination is searched. Then, the storage destination node search unit 15 specifies the corresponding storage destination nodes 10 equal to or more than the number of restorations. Here, as the transmission history information to be referred to, transmission history information held in the node 10 to be read is applied. Further, as the division number node list information to be referred to, the division number node list information held in the node state management unit 11 of the own node is applied. Further, as the storage history information to be referred to, the storage history information held together with the divided data is applied to the previously searched node 10.

具体的には、格納先ノード検索部15は、読み出し対象のノード10から送信履歴情報を取得することを試みる。読み出し対象のノード10から送信履歴情報を取得できる場合、格納先ノード検索部15は、その送信履歴情報に示される格納先ノード一覧を、読み出し対象のノード10に関連する対象データの各分割データの格納先のノード10を表す情報として特定する。   Specifically, the storage destination node search unit 15 attempts to acquire transmission history information from the node 10 to be read. When the transmission history information can be acquired from the read target node 10, the storage destination node search unit 15 uses the storage destination node list indicated in the transmission history information for each divided data of the target data related to the read target node 10. It is specified as information representing the storage destination node 10.

また、読み出し対象のノード10から送信履歴情報を取得できないケースも考えられる。例えば、読み出し対象のノード10がその時点でアクセス不可能となっている場合や、読み出し対象のノード10において障害やその他の理由により送信履歴情報が失われている場合等である。この場合、格納先ノード検索部15は、分割数ノード一覧情報に示される各ノード10に問い合わせることにより、読み出し対象のノード10に関連する対象データの各分割データを格納しているノード10を検索する。そして、問い合わせ先のノード10が、該当する分割データを保持している場合、格納先ノード検索部15は、検索したノード10から、問い合わせの返信として、該当する分割データと共に保持されている格納履歴情報を取得する。   Further, there may be a case where transmission history information cannot be acquired from the node 10 to be read. For example, the read target node 10 is inaccessible at that time, or the transmission history information is lost in the read target node 10 due to a failure or other reasons. In this case, the storage destination node searching unit 15 searches the node 10 storing each divided data of the target data related to the node 10 to be read by inquiring each node 10 indicated in the division number node list information. To do. When the inquiry destination node 10 holds the corresponding divided data, the storage destination node search unit 15 stores the storage history held together with the corresponding divided data as a reply to the inquiry from the searched node 10. Get information.

格納先ノード検索部15は、上述の構成により、読み出し対象のノード10に関連する対象データの各分割データの所在(格納先)を全てまたは一部特定することになる。もし、復元数以上の分割データの所在が特定されていない場合、格納先ノード検索部15は、既に検索したノード10から取得された格納履歴情報を参照する。そして、格納先ノード検索部15は、その格納履歴情報に含まれる格納先ノード一覧に示される各ノード10に問い合わせることにより、読み出し対象のノード10に関連する対象データの分割データを格納しているノード10をさらに検索する。このようにして、格納先ノード検索部15は、復元数以上の分割データの所在を特定する。   With the above-described configuration, the storage destination node search unit 15 specifies all or part of the location (storage destination) of each divided data of the target data related to the node 10 to be read. If the location of the divided data exceeding the number of restorations is not specified, the storage destination node search unit 15 refers to the storage history information acquired from the already searched node 10. The storage node search unit 15 stores the divided data of the target data related to the read target node 10 by inquiring each node 10 indicated in the storage node list included in the storage history information. The node 10 is further searched. In this way, the storage node search unit 15 specifies the location of the divided data that is equal to or greater than the number of restorations.

なお、格納先ノード検索部15は、分割数の分割データの所在を全て特定することが望ましい。しかしながら、格納先のノード10の中には、アクセス不可能となっているノード10がある可能性もある。したがって、格納先ノード検索部15は、分割数の分割データのうち復元数以上のアクセス可能な全ての分割データの所在を特定するようにすればよい。   Note that the storage destination node search unit 15 preferably specifies all the locations of the divided data of the number of divisions. However, there is a possibility that some of the storage destination nodes 10 are inaccessible. Therefore, the storage destination node search unit 15 may specify the location of all the divided data that can be accessed more than the number of restorations among the divided data.

読み出しノード決定部16は、格納先ノード検索部15によって特定された格納先のノード10のうち、復元数のノード10を決定する。例えば、読み出しノード決定部16は、各ノード10の状態に基づいて、復元数のノード10を決定してもよい。なお、各ノード10の状態を表す情報は、ノード状態管理部11に問い合わせることにより取得可能である。   The read node determination unit 16 determines the number of restoration nodes 10 among the storage destination nodes 10 specified by the storage destination node search unit 15. For example, the read node determination unit 16 may determine the number of nodes 10 to be restored based on the state of each node 10. Information indicating the state of each node 10 can be acquired by inquiring the node state management unit 11.

データ読み出し部17は、読み出しノード決定部16によって決定された復元数のノード10から、読み出し対象のノード10に関連する対象データの分割データを取得する。そして、データ読み出し部17は、取得した復元数の分割データを用いて対象データを復元する。   The data reading unit 17 acquires the divided data of the target data related to the read target node 10 from the restoration number of nodes 10 determined by the read node determining unit 16. Then, the data reading unit 17 restores the target data using the obtained number of pieces of divided data.

以上のように構成された情報処理システム1の動作について、図面を参照して説明する。   The operation of the information processing system 1 configured as described above will be described with reference to the drawings.

まず、情報処理システム1の対象データ格納動作を図4に示す。なお、図4において、左図は、書き込みを行うノード10の動作を表し、右図は、格納先となった各ノード10の動作を表す。また、ノード状態管理部11の分割数ノード一覧情報は、適宜更新されているものとする。また、書き込みを行うノード10は、任意のタイミングで、下記の動作を開始するものとする。任意のタイミングとは、定められたスケジュールにしたがったタイミング、対象データが所定条件を満たしたと判定したタイミング、または、外部からの入力に基づくタイミング等であってもよい。   First, the target data storage operation of the information processing system 1 is shown in FIG. In FIG. 4, the left diagram shows the operation of the node 10 that performs writing, and the right diagram shows the operation of each node 10 that is the storage destination. Further, the division number node list information of the node state management unit 11 is appropriately updated. In addition, the node 10 that performs writing starts the following operation at an arbitrary timing. The arbitrary timing may be a timing according to a predetermined schedule, a timing when it is determined that the target data satisfies a predetermined condition, a timing based on an input from the outside, or the like.

まず、分割データ生成部12は、対象データから、分割数の分割データを生成する(ステップA1)。前述のように、ここでは、分割数より少ない復元数の分割データを用いて元の対象データを復元可能な分割データ生成技術が用いられる。   First, the divided data generation unit 12 generates divided data of the number of divisions from the target data (step A1). As described above, here, a divided data generation technique capable of restoring the original target data using the divided data having the number of restorations smaller than the number of divisions is used.

次に、分割データ送信部13は、ノード状態管理部11から分割数ノード一覧情報を取得し、取得した分割数ノード一覧情報の示す分割数のノード10を、格納先として決定する(ステップA2)。   Next, the divided data transmission unit 13 acquires the division number node list information from the node state management unit 11, and determines the node 10 having the division number indicated by the acquired division number node list information as a storage destination (step A2). .

次に、分割データ送信部13は、ステップA1で生成された分割数の分割データを、ステップA2で決定された分割数の格納先のノード10に対して、それぞれ送信する(ステップA3)。このとき、前述のように、分割データ送信部13は、生成元ノード情報および格納先ノード一覧情報を、分割データと共に格納先のノード10に対してそれぞれ送信する。   Next, the divided data transmission unit 13 transmits the divided data of the number of divisions generated in step A1 to the storage destination node 10 of the number of divisions determined in step A2 (step A3). At this time, as described above, the divided data transmission unit 13 transmits the generation source node information and the storage destination node list information to the storage destination node 10 together with the division data.

次に、分割データ送信部13は、ステップA3で分割データを送信した格納先ノード一覧を、送信履歴情報として保存する(ステップA4)。   Next, the divided data transmission unit 13 stores the list of storage destination nodes that transmitted the divided data in step A3 as transmission history information (step A4).

次に、分割データを受信したノード10では、分割データ格納部14は、受信した分割データを格納履歴情報と共に格納する(ステップA5)。ここで、格納履歴情報は、分割データと共に受信した生成元ノード情報および格納先ノード一覧情報を含む。   Next, in the node 10 that has received the divided data, the divided data storage unit 14 stores the received divided data together with the storage history information (step A5). Here, the storage history information includes the generation source node information and the storage destination node list information received together with the divided data.

以上で、情報処理システム1は、対象データ格納動作を終了する。   Thus, the information processing system 1 ends the target data storage operation.

次に、情報処理システム1の対象データ読み出し動作を図5に示す。なお、図5において、中央の図は、読み出しを行うノード10の動作を示し、左図は、読み出し対象のノード10の動作を示し、右図は、対象の分割データを格納している各ノード10の動作を示す。また、読み出しを行うノード10は、読み出し対象のノード10を指定する情報が入力されると、下記の動作を開始するものとする。   Next, the target data read operation of the information processing system 1 is shown in FIG. In FIG. 5, the central diagram shows the operation of the node 10 that performs reading, the left diagram shows the operation of the node 10 to be read, and the right diagram shows each node that stores the target divided data. 10 operations are shown. The node 10 that performs reading starts the following operation when information specifying the node 10 to be read is input.

まず、読み出しを行うノード10の格納先ノード検索部15は、読み出し対象のノード10がアクセス可能であるか否かを判断する(ステップB1)。   First, the storage node search unit 15 of the node 10 that performs reading determines whether or not the node 10 to be read is accessible (step B1).

ここで、読み出し対象のノード10がアクセス可能である場合について説明する。この場合、読み出しを行うノード10の格納先ノード検索部15は、読み出し対象のノード10に対して、送信履歴情報の送信を要求する(ステップB2)。   Here, a case where the read target node 10 is accessible will be described. In this case, the storage destination node search unit 15 of the node 10 that performs the reading requests the transmission target node 10 to transmit the transmission history information (step B2).

次に、読み出し対象のノード10の分割データ送信部13は、送信履歴情報を、読み出しを行うノード10に対して送信する(ステップB3)。この送信履歴情報は、読み出し対象のノード10に関連する対象データの分割データを送信した際の送信履歴情報である。ただし、読み出し対象のノード10は、障害やその他の理由により、送信履歴情報を失い保持していない可能性もある。   Next, the divided data transmission unit 13 of the node 10 to be read transmits the transmission history information to the node 10 that performs the reading (step B3). This transmission history information is transmission history information when the divided data of the target data related to the node 10 to be read is transmitted. However, there is a possibility that the node 10 to be read loses and does not hold the transmission history information due to a failure or other reasons.

そこで、次に、読み出しを行うノード10の格納先ノード検索部15は、読み出し対象のノード10から送信履歴情報を取得できたか否かを判断する(ステップB4)。   Therefore, next, the storage node search unit 15 of the node 10 that performs the reading determines whether or not transmission history information has been acquired from the node 10 to be read (step B4).

ここで、送信履歴情報を取得できた場合について説明する。この場合、読み出しを行うノード10の格納先ノード検索部15は、この送信履歴情報に含まれる格納先ノード一覧の示すノード10を特定する(ステップB5)。   Here, a case where transmission history information can be acquired will be described. In this case, the storage node search unit 15 of the node 10 that performs the reading specifies the node 10 indicated by the storage node list included in the transmission history information (step B5).

一方、ステップB1で、読み出し対象のノード10がアクセス可能でなかった場合、または、ステップB4で、送信履歴情報を取得できなかった場合について説明する。この場合、読み出しを行うノード10の格納先ノード検索部15は、分割数ノード一覧情報の示す各ノード10に問い合わせを行い、読み出し対象のノード10に関連する対象データの各分割データを格納しているノード10を検索する(ステップB6)。   On the other hand, a case where the read target node 10 is not accessible in Step B1 or a case where transmission history information cannot be acquired in Step B4 will be described. In this case, the storage node search unit 15 of the node 10 that performs the reading makes an inquiry to each node 10 indicated by the division number node list information, and stores each divided data of the target data related to the node 10 to be read. Search for the existing node 10 (step B6).

次に、検索されたノード10の分割データ格納部14は、その分割データに対応する格納履歴情報を、問い合わせ元のノード10に返信する(ステップB7)。   Next, the divided data storage unit 14 of the searched node 10 returns the storage history information corresponding to the divided data to the inquiring node 10 (step B7).

次に、読み出しを行うノード10の格納先ノード検索部15は、格納履歴情報に含まれる格納先ノード一覧の示す各ノード10に問い合わせを行い、読み出し対象のノード10に関連する対象データの各分割データを格納するノード10を検索する(ステップB8)。   Next, the storage destination node search unit 15 of the node 10 that performs the reading makes an inquiry to each node 10 indicated in the storage destination node list included in the storage history information, and divides each target data related to the node 10 to be read. The node 10 that stores data is searched (step B8).

なお、ステップB6の時点で復元数以上の分割データの所在が特定されていれば、ステップB8は省略可能である。   Note that step B8 can be omitted if the location of divided data equal to or greater than the number of restorations is specified at the time of step B6.

次に、検索されたノード10の読み出しノード決定部16は、ステップB5、または、B6およびB8で特定された格納先のノード10から、復元数のノード10を決定する(ステップB9)。   Next, the read node determination unit 16 of the searched node 10 determines the number of nodes 10 to be restored from the storage destination nodes 10 specified in step B5 or B6 and B8 (step B9).

前述のように、読み出しノード決定部16は、ノード状態管理部11に問い合わせることにより、各ノード10の状態に基づいて、復元数のノード10を決定してもよい。   As described above, the read node determination unit 16 may determine the number of nodes 10 to be restored based on the state of each node 10 by making an inquiry to the node state management unit 11.

次に、読み出しを行うノード10のデータ読み出し部17は、ステップB9で決定された復元数のノード10に対して、読み出し対象のノード10に関連する対象データの分割データをそれぞれ要求する(ステップB10)。   Next, the data reading unit 17 of the node 10 that performs the reading requests each of the divided data of the target data related to the node 10 to be read from the number of restoration nodes 10 determined in Step B9 (Step B10). ).

次に、要求を受けたノード10の分割データ格納部14は、該当する分割データを要求元のノード10に送信する(ステップB11)。   Next, the divided data storage unit 14 of the node 10 that has received the request transmits the corresponding divided data to the requesting node 10 (step B11).

次に、読み出しを行うノード10のデータ読み出し部17は、ステップB11で得られた復元数の分割データを用いて、元の対象データを復元する(ステップB12)。   Next, the data reading unit 17 of the node 10 that performs reading restores the original target data by using the number of pieces of divided data obtained in step B11 (step B12).

以上で、情報処理システム1は、対象データ読み出し動作を終了する。   Thus, the information processing system 1 ends the target data reading operation.

次に、本発明の第1の実施の形態の効果について述べる。   Next, effects of the first exemplary embodiment of the present invention will be described.

本発明の第1の実施の形態としての情報処理システムは、複数のノードからなる情報処理システムにおいて対象データを分散管理する際に、耐障害性を向上させながら、対象データの格納・読み出しによる性能低下を抑えることができる。   The information processing system according to the first exemplary embodiment of the present invention performs performance by storing and reading target data while improving the fault tolerance when the target data is distributed and managed in the information processing system including a plurality of nodes. The decrease can be suppressed.

その理由について説明する。本実施の形態では、各ノードのノード状態管理部が、各ノードの状態に応じて任意のデータの分散格納先となり得る分割数のノードを表す分割数ノード一覧情報を、他のノードと同期して更新しながら保持している。   The reason will be described. In this embodiment, the node state management unit of each node synchronizes the division number node list information representing the number of division nodes that can be a distributed storage destination of arbitrary data according to the state of each node with other nodes. And keep it updated.

そして、対象データを格納する際には、対象データを保持するノードの分割データ生成部が、その対象データから分割数の分割データを生成する。このとき、分割数の分割データの生成処理には、分割数より少ない復元数の分割データを用いて元の対象データを復元可能な処理が適用される。そして、そのノードの分割データ送信部が、分割数ノード一覧情報の示す格納先ノードに分割データをそれぞれ送信し送信履歴情報を保持しておく。送信履歴情報には、格納先ノード一覧が含まれる。そして、分割データを受信したノードの分割データ格納部が、受信した分割データを格納履歴情報と共に格納する。格納履歴情報には、その分割データの元となる対象データの各分割データの格納先ノード一覧が含まれる。   When storing the target data, the divided data generation unit of the node that holds the target data generates the divided data of the number of divisions from the target data. At this time, a process capable of restoring the original target data using the divided data having a smaller number of restorations than the number of divisions is applied to the process of generating the divided data of the number of divisions. Then, the divided data transmission unit of the node transmits the divided data to the storage destination node indicated by the division number node list information, and holds the transmission history information. The transmission history information includes a list of storage destination nodes. Then, the divided data storage unit of the node that has received the divided data stores the received divided data together with the storage history information. The storage history information includes a storage node list of each divided data of the target data that is the source of the divided data.

また、対象データを読み出す際には、いずれかのノードが、読み出し要求として読み出し対象のノードを指定する情報を取得する。そして、読み出し要求を取得したノードの格納先ノード検索部が、読み出し対象のノードに保持される送信履歴情報、分割数ノード一覧情報、または、既に検索したノードに保持される格納履歴情報を参照する。そして、このノードの格納先ノード検索部が、送信履歴情報、分割数ノード一覧情報、または、格納履歴情報に基づいて、読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索する。これにより、このノードの格納先ノード検索部が、復元数以上までの該当する分割データの格納先ノードを特定する。そして、このノードの読み出しノード決定部が、特定された格納先ノードから復元数のノードを決定し、データ読み出し部が、決定された各格納先ノードから分割データを取得し対象データを復元するからである。   In addition, when reading target data, one of the nodes acquires information specifying a read target node as a read request. Then, the storage node search unit of the node that has acquired the read request refers to transmission history information held in the read target node, division number node list information, or storage history information held in the already searched node. . Then, the storage node search unit of this node searches the storage node of each divided data of the target data related to the node to be read based on the transmission history information, the division number node list information, or the storage history information To do. Thereby, the storage destination node search unit of this node specifies the storage node of the corresponding divided data up to the number of restorations. Then, the read node determination unit of this node determines the number of nodes to be restored from the specified storage destination node, and the data read unit acquires the divided data from each determined storage destination node and restores the target data. It is.

このように、本実施の形態は、対象データの分散格納先に分割データと共に格納履歴情報を格納するので、格納済みの対象データに関する情報を一元管理するノードを必要としない。そのため、本実施の形態は、情報処理システムに障害が発生した時でも、対象データを読み出せる可能性を大幅に高めている。例えば、本実施の形態は、元の対象データに関連するノードがアクセス不可能な場合でも、分割数ノード一覧情報を用いて、その対象データの各分割データを保持するノードを検索することができる。   As described above, according to the present embodiment, the storage history information is stored together with the divided data in the distributed storage destination of the target data, so that a node for centrally managing information related to the stored target data is not required. Therefore, the present embodiment greatly increases the possibility that the target data can be read even when a failure occurs in the information processing system. For example, in the present embodiment, even when a node related to the original target data is inaccessible, it is possible to search for a node holding each divided data of the target data using the division number node list information. .

さらに、本実施の形態は、既に検索したノードに該分割データと共に格納される格納履歴情報を用いて、その対象データの各分割データを保持するノードを検索することができる。これにより本実施の形態は、管理ノードを設けなくても、対象データの各分割データを保持するノードを、復元数以上まで特定することができる。   Furthermore, according to the present embodiment, it is possible to search for a node that holds each piece of divided data of the target data by using storage history information stored together with the divided data in the already searched node. Thereby, this Embodiment can specify the node holding each division | segmentation data of object data to more than the restoration | reconstruction number, without providing a management node.

また、本実施の形態は、その対象データの各分割データの格納先ノードのうち一部がアクセス不可能となっていても、復元数の格納先ノードにアクセスできれば、対象データを復元可能である。   Further, according to the present embodiment, even if some of the storage destination nodes of the respective divided data of the target data are inaccessible, the target data can be recovered as long as the recovery number of storage destination nodes can be accessed. .

ここで、例えば、本実施の形態における対象データとしてログを適用する用途では、情報処理システムに障害が発生した時にログの読み出しが必要となることが多い。本実施の形態は、前述のように一元管理のノードを置かないことにより、データの読み出しの耐障害性を高めており、障害発生時に読み出しの必要性が高いという特性を持つデータの分散格納に適している。   Here, for example, in applications where a log is applied as target data in the present embodiment, it is often necessary to read the log when a failure occurs in the information processing system. As described above, this embodiment improves the fault tolerance of data reading by not placing a centrally managed node as described above, and is used for distributed storage of data having the characteristic that the necessity of reading is high when a fault occurs. Is suitable.

また、本実施の形態は、対象データの分散格納の際に、格納した対象データに関する情報を一元管理せず、また、排他制御等の整合性維持のための制御を行わないので、格納処理を効率的に行うことができる。これにより、本実施の形態は、データ格納を効率的に行うことができ、データ格納による情報処理システムの他の機能の性能低下を抑えることができる。例えば、本実施の形態における対象データとしてログを適用する用途では、対象データは新規に書き込まれていき、格納済みの対象データが更新されることは基本的にない。この場合、整合性維持のための制御の多くは、省略しても問題ない。このように、本実施の形態は、基本的に更新されないという特性を持つデータの分散格納に適している。   Further, in the present embodiment, when the target data is distributedly stored, information related to the stored target data is not centrally managed, and control for maintaining consistency such as exclusive control is not performed. Can be done efficiently. Thereby, this Embodiment can perform data storage efficiently and can suppress the performance fall of the other function of the information processing system by data storage. For example, in the application in which the log is applied as the target data in the present embodiment, the target data is newly written, and the stored target data is basically not updated. In this case, many of the controls for maintaining consistency can be omitted. As described above, the present embodiment is suitable for distributed storage of data having a characteristic that it is basically not updated.

また、本実施の形態は、対象データの分散格納を上述のように効率的に行うことにより、代償として対象データの読み出し処理のコストを若干増加させている。しかしながら、例えば、本実施の形態における対象データとしてログを適用する用途では、対象データの書き込み処理は頻繁に発生するが、読み出し処理の頻度は低いという特性がある。この場合、全体として効率は改善される。したがって、本実施の形態は、書き込み処理の頻度が高く読み出し処理の頻度が低いという特性を持つデータの分散格納に適している。   Further, according to the present embodiment, the cost of reading the target data is slightly increased as a compensation by efficiently performing the distributed storage of the target data as described above. However, for example, in the application in which the log is applied as the target data in the present embodiment, the target data writing process frequently occurs, but the read processing frequency is low. In this case, the efficiency is improved as a whole. Therefore, this embodiment is suitable for distributed storage of data having a characteristic that the frequency of the writing process is high and the frequency of the reading process is low.

(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。本実施の形態では、本発明における対象データとして、情報処理システムの動作状況や統計情報等が記録されるログを適用する例について説明する。また、本実施の形態では、本発明における分割データを、断片ログと呼ぶことにする。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, an example will be described in which a log in which an operation state of an information processing system, statistical information, and the like are recorded is applied as target data in the present invention. In the present embodiment, the divided data in the present invention is referred to as a fragment log. Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.

まず、本発明の第2の実施の形態としての情報処理システム2の構成を図6に示す。図6において、情報処理システム2は、複数のノード20からなる。本実施の形態では、複数のノード20のうち1つが、マスタノードとして機能する。ただし、任意のノード20が、マスタノードとして機能することができる。情報処理システム2は、自システムの状況に応じて、マスタノードとなるノード20を切り替えるように構成されていてもよい。   First, FIG. 6 shows the configuration of an information processing system 2 as a second embodiment of the present invention. In FIG. 6, the information processing system 2 includes a plurality of nodes 20. In the present embodiment, one of the plurality of nodes 20 functions as a master node. However, any node 20 can function as a master node. The information processing system 2 may be configured to switch the node 20 serving as a master node according to the situation of the own system.

なお、複数のノード20は、本発明の第1の実施の形態と同様に、内部ネットワーク105を介して互いに通信可能であり、かつ、内部ネットワーク106を介して外部と通信可能になっている。また、情報処理システム2は、本発明の第1の実施の形態と同様に、外部のクライアント9から指示される各種の処理を実行する。また、図6には、3つのノード20を示したが、本発明の情報処理システムが備えるノードの数を限定するものではない。また、図6には、1つのクライアント9を示したが、本発明の情報処理システムを利用する装置の数を限定するものではない。   Note that the plurality of nodes 20 can communicate with each other via the internal network 105 and can communicate with the outside via the internal network 106 as in the first embodiment of the present invention. Further, the information processing system 2 executes various processes instructed from the external client 9 as in the first embodiment of the present invention. 6 shows three nodes 20. However, the number of nodes included in the information processing system of the present invention is not limited. FIG. 6 shows one client 9, but the number of devices using the information processing system of the present invention is not limited.

次に、ノード20の機能ブロック構成を図7に示す。図7において、ノード20は、ノード状態管理部21と、分割データ生成部22と、分割データ送信部23と、分割データ格納部24と、格納先ノード検索部25と、読み出しノード決定部26と、データ読み出し部27とを備える。さらに、ノード20は、ログバッファ28を備える。ここで、ノード20およびその各機能ブロックは、図3を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。なお、ノード20およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   Next, the functional block configuration of the node 20 is shown in FIG. In FIG. 7, the node 20 includes a node state management unit 21, a divided data generation unit 22, a divided data transmission unit 23, a divided data storage unit 24, a storage destination node search unit 25, and a read node determination unit 26. And a data reading unit 27. Further, the node 20 includes a log buffer 28. Here, the node 20 and each functional block thereof can be configured by the same hardware elements as those of the first embodiment of the present invention described with reference to FIG. Note that the hardware configuration of the node 20 and each functional block thereof is not limited to the above-described configuration.

ノード状態管理部21は、ノード状態収集部211と、ノード選択部212とを有する。   The node state management unit 21 includes a node state collection unit 211 and a node selection unit 212.

ノード状態収集部211は、自ノードの状態として負荷を表す情報(ノード状態情報)を、所定のタイミング毎に収集して更新する。また、ノード状態収集部211は、自ノードがマスタノードである場合、さらに、所定のタイミング毎に、他の各ノード20から該ノード20で収集されたノード状態情報を収集する。   The node state collection unit 211 collects and updates information representing the load as the state of the own node (node state information) at predetermined timings. Further, when the node itself is a master node, the node state collection unit 211 further collects node state information collected at the node 20 from each of the other nodes 20 at every predetermined timing.

ノード選択部212は、自ノードがマスタノードである場合、自ノードおよび他の各ノード20のノード状態情報に基づいて、ログの分散格納先となり得る分割数のノード20を選択する。例えば、ノード選択部212は、ノード状態情報の示す負荷が少ないものから順に分割数のノード20を選択してもよい。そして、ノード選択部212は、選択した分割数のノード20を表すよう、分割数ノード一覧情報を更新する。そして、ノード選択部212は、更新した分割数ノード一覧情報を、他の各ノード20に送信する。   When the node is a master node, the node selection unit 212 selects the number of nodes 20 that can be the log storage destination based on the node state information of the node and each of the other nodes 20. For example, the node selection unit 212 may select the number of nodes 20 in order from the node having the smallest load indicated by the node state information. Then, the node selection unit 212 updates the division number node list information to represent the selected number of nodes 20. Then, the node selection unit 212 transmits the updated division number node list information to each of the other nodes 20.

また、ノード選択部212は、自ノードがマスタノードである場合、自ノードおよび他の各ノード20のノード状態情報に基づいて、問い合わせ対象の複数のノード20の中から、ログの読み出し元となる復元数のノード20を選択する。なお、問い合わせ対象の複数のノード20の中から復元数のノード20を選択する処理は、各ノード20の後述する読み出し決定部26によって要求される。例えば、ノード選択部212は、ノード状態情報の示す負荷が少ないものから順に復元数のノード20を選択してもよい。そして、ノード選択部212は、選択した復元数のノード20を表す情報を、問い合わせ元に返信すればよい。   Further, when the own node is the master node, the node selection unit 212 becomes a log reading source from the plurality of nodes 20 to be inquired based on the node state information of the own node and each of the other nodes 20. The number of nodes 20 to be restored is selected. Note that the process of selecting the number of nodes 20 to be restored from the plurality of nodes 20 to be inquired is requested by a read determination unit 26 described later of each node 20. For example, the node selection unit 212 may select the number of nodes 20 to be restored in descending order of load indicated by the node state information. Then, the node selection unit 212 may return information indicating the selected number of restoration nodes 20 to the inquiry source.

例えば、ノード選択部212は、自ノードがマスタノードである場合、次のようにして、情報処理システム2の特性に応じて、負荷のより低いノード20を選択する。例えば、情報処理システム2において、ノード20間での連携が必要な処理とノード20単体で実行する処理とが混在する場合を考える。このとき、ノード20間で連携が必要な処理のノード20内での残処理時間をTiとする(iはノード識別子)。また、ノード20単体で実行する処理の残処理時間をRiとする。この場合、ノード選択部212は、TiおよびRiがそれぞれ最大であるノード20を除いた残りのノード20から、αTi+βRi(α、βは係数)が小さいものから順に、分割数のノード20を選択してもよい。   For example, when the node selection unit 212 is a master node, the node selection unit 212 selects the node 20 having a lower load according to the characteristics of the information processing system 2 as follows. For example, in the information processing system 2, consider a case where processing that requires cooperation between the nodes 20 and processing executed by the node 20 alone are mixed. At this time, let Ti be the remaining processing time in the node 20 of processing that requires cooperation between the nodes 20 (i is a node identifier). Also, Ri is the remaining processing time of processing executed by the node 20 alone. In this case, the node selection unit 212 selects the nodes 20 of the division number in order from the remaining nodes 20 excluding the node 20 where Ti and Ri are the largest, in descending order of αTi + βRi (α and β are coefficients). May be.

また、ノード選択部212は、自ノードがマスタノードでない場合、マスタノードから分割数ノード一覧情報を受信する。そして、ノード選択部212は、受信した分割数ノード一覧更新情報で、自ノードの分割数ノード一覧情報を更新する。   Further, when the node selection unit 212 is not the master node, the node selection unit 212 receives the division number node list information from the master node. Then, the node selection unit 212 updates the division number node list information of the own node with the received division number node list update information.

ログバッファ28は、情報処理システム2の図示しない機能ブロックにより、その動作状況や統計情報等がログとして蓄積される領域である。また、ログは、時間を表す情報と共に蓄積される。   The log buffer 28 is an area where the operation status, statistical information, and the like are accumulated as a log by a function block (not shown) of the information processing system 2. The log is accumulated together with information representing time.

分割データ生成部22は、ログバッファ28に蓄積されたログがあらかじめ定められた量を超えると、ログバッファ28からログを取得する。取得したログは、前回ログを取得した時刻以降、今回取得時刻までの時間帯の情報を表すことになる。そして、分割データ生成部22は、取得したログから、分割数の断片ログを生成する。断片ログの生成処理には、本発明の第1の実施の形態と同様に、分割数の断片ログのうち、分割数より少ない復元数の断片ログを用いて元のログを復元可能な技術を採用する。   The divided data generation unit 22 acquires the log from the log buffer 28 when the log accumulated in the log buffer 28 exceeds a predetermined amount. The acquired log represents information on a time zone from the time when the previous log was acquired to the current acquisition time. Then, the divided data generation unit 22 generates a fragment log of the number of divisions from the acquired log. As in the first embodiment of the present invention, the fragment log generation process uses a technology that can restore the original log using a fragment log having a smaller number of restorations than the number of divisions among the fragment logs having the number of divisions. adopt.

分割データ送信部23は、本発明の第1の実施の形態における分割データ送信部13と略同様に構成される。ただし、本実施の形態では、それぞれの格納先のノード20に対して断片ログに付随させて送信する情報の詳細と、送信履歴情報の詳細とが異なる。詳細には、分割データ送信部23は、それぞれの格納先のノード20に対して、断片ログに付随させて、生成元ノード情報および格納先ノード一覧情報に加えて、分割前のログの時間帯を表す情報を送信する。また、分割データ送信部23は、断片ログを送信した格納先ノード一覧を表す情報に加えて、分割前のログの時間帯を表す情報を含めて、送信履歴情報を保持する。   The divided data transmission unit 23 is configured in substantially the same manner as the divided data transmission unit 13 in the first embodiment of the present invention. However, in the present embodiment, the details of the information transmitted with the fragment log to each storage destination node 20 are different from the details of the transmission history information. Specifically, the divided data transmission unit 23 attaches the fragment log to each storage destination node 20 and adds the time zone of the log before the division in addition to the generation source node information and the storage destination node list information. Send information that represents. Further, the divided data transmission unit 23 holds transmission history information including information indicating the log time zone before the division in addition to the information indicating the list of storage destination nodes that transmitted the fragment log.

また、分割データ送信部23は、他のノード20における後述の格納先ノード検索部25から、指定された時間帯の送信履歴情報の取得要求を受信する。そして、分割データ送信部23は、指定された時間帯に対応する送信履歴情報を、要求元のノード20に返信する。ここで、指定された時間に対応する複数の送信履歴情報があるケースも考えられる。この場合、分割データ送信部23は、各送信履歴情報を、要求元のノード20に返信すればよい。複数の送信履歴情報があるケースの詳細については後述する。   In addition, the divided data transmission unit 23 receives a transmission history information acquisition request for a designated time period from a storage destination node search unit 25 described later in another node 20. Then, the divided data transmission unit 23 returns transmission history information corresponding to the designated time zone to the requesting node 20. Here, there may be a case where there are a plurality of transmission history information corresponding to the specified time. In this case, the divided data transmission unit 23 may return each transmission history information to the requesting node 20. Details of the case with a plurality of transmission history information will be described later.

分割データ格納部24は、本発明の第1の実施の形態における分割データ格納部14と略同様に構成される。ただし、本実施の形態では、断片ログと共に格納する格納履歴情報の詳細が異なる。分割データ格納部24は、格納履歴情報として、断片ログの生成元ノード情報、および、この断片ログに対応する格納先ノード一覧情報に加えて、分割前のログの時間帯を表す情報を、断片ログと共に格納する。これらの情報は、前述のように、断片ログの送信元から断片ログと共に送信されたものである。   The divided data storage unit 24 is configured in substantially the same manner as the divided data storage unit 14 in the first embodiment of the present invention. However, in the present embodiment, the details of the storage history information stored together with the fragment log are different. In addition to the fragment log generation source node information and the storage destination node list information corresponding to this fragment log, the divided data storage unit 24 stores information representing the log time zone before the fragmentation as the storage history information. Store with log. As described above, these pieces of information are transmitted together with the fragment log from the fragment log transmission source.

また、分割データ格納部24は、他のノード20における後述の格納先ノード検索部25から、特定のノード20において特定の時間帯に対応する1つ以上の時間帯の各ログの断片ログを格納しているか否かの問い合わせを受信する。特定のノード20において特定の時間帯に対応する1つ以上の時間帯の各ログの断片ログを格納しているか否かは、自ノードに格納している格納履歴情報に含まれる生成元ノード情報および時間帯を参照することにより判断できる。そして、分割データ格納部24は、該当する断片ログを格納している場合、その断片ログと共に格納している格納履歴情報を、問い合わせ元のノード20に返信する。   Further, the divided data storage unit 24 stores fragment logs of each log of one or more time zones corresponding to a specific time zone in the specific node 20 from a storage destination node search unit 25 described later in the other nodes 20. Inquiries about whether or not Whether or not a fragment log of each log in one or more time zones corresponding to a specific time zone is stored in the specific node 20 is generated source node information included in the storage history information stored in the own node And by referring to the time zone. When the corresponding fragment log is stored, the divided data storage unit 24 returns the storage history information stored together with the fragment log to the inquiry source node 20.

格納先ノード検索部25は、ログの読み出し要求を入力として取得する。ここで、ログの読み出し要求は、ノード20および時間帯を指定する情報として入力される。つまり、読み出し要求は、指定されたノード20で記録された指定された時間帯の情報を含むログを読み出す要求である。以降、読み出し要求において指定されるノード20を、読み出し対象のノード20とも記載する。また、読み出し要求において指定される時間帯を、読み出し対象の時間帯とも記載する。   The storage destination node search unit 25 acquires a log read request as an input. Here, the log read request is input as information specifying the node 20 and the time zone. That is, the read request is a request for reading a log including information on a designated time zone recorded by the designated node 20. Hereinafter, the node 20 specified in the read request is also referred to as a read target node 20. The time zone specified in the read request is also referred to as a read target time zone.

ここで、読み出し対象のノード20において、読み出し対象の時間帯の情報を含むログは、1つのログとして分散格納されているとは限らない。読み出し対象の時間帯の情報を含むログは、複数のログとしてそれぞれ分散格納されている可能性がある。例えば、読み出し対象の時間帯が「時刻t1〜t3」であったとする。また、読み出し対象のノード20において、ログバッファ28のログが所定量を超えて分散格納が行われた時刻が、t0、t2、t4であったとする。なお、t0<t1<t2<t3<t4である。この場合、ノード20には、時間帯t0〜t2のログを分散格納した際の送信履歴情報と、時間帯t2〜t4のログを分散格納した際の送信履歴情報とが保持されている。これらの送信履歴情報が、読み出し対象の時間帯t1〜t3に対応する各時間帯の送信履歴情報となる。   Here, in the node 20 to be read, the log including information on the time zone to be read is not necessarily distributed and stored as one log. There is a possibility that logs including information on the time zone to be read are distributedly stored as a plurality of logs. For example, it is assumed that the time zone to be read is “time t1 to t3”. In addition, it is assumed that the time when the log stored in the log buffer 28 exceeds the predetermined amount and distributedly stored in the node 20 to be read is t0, t2, and t4. Note that t0 <t1 <t2 <t3 <t4. In this case, the node 20 holds transmission history information when the logs of the time zones t0 to t2 are distributed and stored, and transmission history information when the logs of the time zones t2 to t4 are distributed and stored. These pieces of transmission history information become transmission history information for each time zone corresponding to the time zones t1 to t3 to be read.

また、この場合、このノード20における時間帯t0〜t2のログと、時間帯t2〜t4のログとでは、それぞれの断片ログの格納先となったノード20の組合せが、同一であるとは限らない。これは、複数の時間帯のそれぞれのログが格納される時点において、格納先のノード20を決定するために用いられた分割数ノード一覧情報は、更新により異なる可能性があるためである。   Further, in this case, the combination of the nodes 20 that are the storage destinations of the respective fragment logs is not necessarily the same in the log of the time zone t0 to t2 and the log of the time zone t2 to t4. Absent. This is because the division number node list information used to determine the storage destination node 20 may be different depending on the update at the time when each log of a plurality of time zones is stored.

このようなケースを考慮して、格納先ノード検索部25は、読み出し対象の時間帯に対応する1つ以上の時間帯のそれぞれのログについて、その断片ログの格納先となっているノード20を復元数以上まで検索する必要がある。この検索処理を、格納先ノード検索部25は、初期検索部251と、格納先推定部252と、格納先網羅部253とを用いて行う。   In consideration of such a case, the storage destination node search unit 25 selects the node 20 that is the storage destination of the fragment log for each log in one or more time zones corresponding to the time zone to be read. It is necessary to search more than the number of restorations. The storage destination node search unit 25 performs this search process using the initial search unit 251, the storage destination estimation unit 252, and the storage destination coverage unit 253.

なお、格納先ノード検索部25は、初期検索部251を用いて、各時間帯のログについて復元数以上のノード20を特定できれば、格納先推定部252および格納先網羅部253を用いない。また、格納先ノード検索部25は、初期検索部251を用いても復元数以上のノード20を特定できない時間帯がある場合、格納先推定部252を用いて検索を行う。そして、格納先ノード検索部25は、格納先推定部252を用いて各時間帯のログについて復元数以上のノード20を特定できた場合、格納先網羅部253を用いない。また、格納先ノード検索部25は、初期検索部251および格納先推定部252を用いても復元数以上のノード20を特定できない時間帯がある場合、格納先網羅部253を用いて検索を行う。以下、初期検索部251、格納先推定部252、格納先網羅部253について、詳細を説明する。   Note that the storage destination node search unit 25 does not use the storage destination estimation unit 252 and the storage destination coverage unit 253 if the initial search unit 251 can be used to identify the number of nodes 20 that are equal to or greater than the number of restorations for each time period log. In addition, the storage destination node search unit 25 performs a search using the storage destination estimation unit 252 when there is a time zone in which the number of nodes 20 equal to or more than the number of restorations cannot be specified even using the initial search unit 251. Then, the storage destination node search unit 25 does not use the storage destination coverage unit 253 when the storage destination estimation unit 252 can identify the number of nodes 20 equal to or greater than the number of restorations for each time period log. In addition, the storage destination node searching unit 25 searches using the storage destination covering unit 253 when there is a time zone in which the number of nodes 20 equal to or greater than the number of restorations cannot be specified even using the initial search unit 251 and the storage destination estimation unit 252. . Hereinafter, the initial search unit 251, the storage location estimation unit 252, and the storage location coverage unit 253 will be described in detail.

初期検索部251は、読み出し対象のノード20にアクセス可能かつ読み出し対象の時間帯の送信履歴情報が保持されている場合、そのノード20から、読み出し対象の時間帯の送信履歴情報を取得する。なお、上述したように、読み出し対象のノード20において、読み出し対象の時間帯に対応する複数の時間帯に関する送信履歴情報が保持されている場合がある。この場合、初期検索部251は、各時間帯について送信履歴情報を取得する。そして、初期検索部251は、取得したそれぞれの送信履歴情報に含まれる格納先ノード一覧の示すノード20を、該当する断片ログの格納先として特定する。   The initial search unit 251 obtains transmission history information of a read target time zone from the node 20 when the read target node 20 is accessible and transmission history information of the read target time zone is held. As described above, the node 20 to be read may hold transmission history information regarding a plurality of time zones corresponding to the time zone to be read. In this case, the initial search unit 251 acquires transmission history information for each time zone. Then, the initial search unit 251 specifies the node 20 indicated by the storage destination node list included in each acquired transmission history information as the storage destination of the corresponding fragment log.

また、初期検索部251は、読み出し対象のノード20にアクセス不可能または読み出し対象の時間帯の送信履歴情報が保持されていない場合、この時点での分割数ノード一覧情報が示す各ノード20に、該当する断片ログを格納しているか否かを順次問い合わせる。そして、初期検索部251は、該当する断片ログを格納しているノード20を特定する。なお、問い合わせに伴い、初期検索部251は、そのノード20において該当する断片ログと共に保持されている格納履歴情報を取得する。このとき、上述したように、該当するノード20において、読み出し対象の時間帯に対応する複数の時間帯の断片ログが格納されている場合がある。その場合、初期検索部251は、該当するノード20から、該当するそれぞれの断片ログと共に保持されている格納履歴情報を取得すればよい。   In addition, when the read target node 20 is not accessible or the transmission history information of the read target time zone is not held, the initial search unit 251 stores each node 20 indicated by the division number node list information at this point in time. Queries sequentially whether or not the corresponding fragment log is stored. Then, the initial search unit 251 identifies the node 20 that stores the corresponding fragment log. In response to the inquiry, the initial search unit 251 acquires storage history information held together with the corresponding fragment log in the node 20. At this time, as described above, there are cases where fragment logs of a plurality of time zones corresponding to the time zone to be read are stored in the corresponding node 20. In that case, the initial search unit 251 may acquire the storage history information held together with each corresponding fragment log from the corresponding node 20.

ここで、初期検索部251により、読み出し対象の時間帯に対応する1つ以上の全ての時間帯について、該当する断片ログの所在がそれぞれ復元数以上まで特定される可能性がある。この場合、格納先ノード検索部25は、格納先推定部252および格納先網羅部253を用いない。ただし、初期検索部251だけでは、読み出し対象の時間帯に対応する1つ以上の時間帯のうち、該当する断片ログの所在が復元数以上まで特定されない時間帯がある可能性も考えられる。この場合、格納先ノード検索部25は、格納先推定部252を用いて、該当するノード20の検索を続ける。   Here, there is a possibility that the location of the corresponding fragment log is specified by the initial search unit 251 up to the number of restorations or more for all of one or more time zones corresponding to the time zone to be read. In this case, the storage destination node search unit 25 does not use the storage destination estimation unit 252 and the storage destination coverage unit 253. However, only the initial search unit 251 may have a time zone in which the location of the corresponding fragment log is not specified more than the number of restorations among one or more time zones corresponding to the time zone to be read. In this case, the storage destination node search unit 25 continues to search for the corresponding node 20 using the storage destination estimation unit 252.

格納先推定部252は、初期検索部251により検索されたノード20から取得した格納履歴情報を参照する。そして、格納先推定部252は、検索されたノード20から取得した格納履歴情報に含まれる格納先ノード一覧の示す各ノード20のうち、まだ問い合わせを行っていない各ノード20に対して、該当する断片ログを格納しているか否かの問い合わせを順次行う。そして、格納先推定部252は、検索されたノード20から取得した格納履歴情報に基づいて、該当する断片ログを格納しているノード20を検索することを繰り返す。このようにして、格納先推定部252は、初期検索部251だけでは復元数以上の断片ログの所在が特定できていなかった時間帯について、復元数以上となるまで残りの断片ログの所在を特定する。   The storage location estimation unit 252 refers to the storage history information acquired from the node 20 searched by the initial search unit 251. Then, the storage destination estimation unit 252 applies to each node 20 that has not yet been inquired among the nodes 20 indicated by the storage destination node list included in the storage history information acquired from the searched node 20. Inquiries about whether fragment logs are stored are made sequentially. Then, the storage location estimation unit 252 repeats searching for the node 20 storing the corresponding fragment log based on the storage history information acquired from the searched node 20. In this way, the storage location estimation unit 252 identifies the location of the remaining fragment logs until the number of restorations exceeds the number of restorations for the time zone when the location of the fragment logs more than the number of restorations could not be identified by the initial search unit 251 alone. To do.

ここで、格納先推定部252により、読み出し対象の時間帯に対応する1つ以上の全ての時間帯について、該当する断片ログの所在がそれぞれ復元数以上まで特定される可能性がある。この場合、格納先ノード検索部25は、格納先網羅部253を用いない。ただし、初期検索部251および格納先推定部252だけでは、読み出し対象の時間帯に対応する1つ以上の時間帯のうち、該当する断片ログの所在が復元数以上まで特定されない時間帯がある可能性も考えられる。具体的には、既に検索された各ノード20から得られた格納履歴情報の示すノード20のうち、まだ問い合わせていないノード20が無いにも関わらず、復元数以上の断片ログの所在が特定できていない時間帯があるといったケースが考えられる。この場合、格納先ノード検索部25は、格納先網羅部253を用いて、該当するノード20の検索を続ける。   Here, there is a possibility that the storage location estimation unit 252 may identify the location of the corresponding fragment log up to the number of restorations for each of one or more time zones corresponding to the time zone to be read. In this case, the storage destination node searching unit 25 does not use the storage destination covering unit 253. However, only the initial search unit 251 and the storage location estimation unit 252 may have a time zone in which the location of the corresponding fragment log is not specified more than the number of restorations among one or more time zones corresponding to the time zone to be read. Sex is also conceivable. Specifically, among the nodes 20 indicated by the storage history information obtained from the already searched nodes 20, there are no nodes 20 that have not yet been inquired, and the location of fragment logs greater than the number of restorations can be specified. There may be cases where there is no time zone. In this case, the storage destination node searching unit 25 continues to search for the corresponding node 20 using the storage destination covering unit 253.

格納先網羅部253は、情報処理システム2を構成する各ノード20のうち、まだ問い合わせていない各ノード20に対して、該当する断片ログを格納しているか否かを、順次問い合わせる。このようにして、格納先網羅部253は、初期検索部251および格納先推定部252だけでは復元数以上の断片ログの所在が特定できていなかった時間帯について、復元数以上となるまで残りの断片ログの所在を特定する。   The storage location covering unit 253 sequentially inquires of each node 20 that constitutes the information processing system 2 whether or not the corresponding fragment log is stored, to each node 20 that has not yet been inquired. In this way, the storage location covering unit 253 remains in the time zone where the location of the fragment logs equal to or greater than the number of restorations could not be specified only by the initial search unit 251 and the storage location estimation unit 252 until the number of restorations exceeds the number of restorations. Identify the location of the fragment log.

このようにして、格納先ノード検索部25は、初期検索部251、格納先推定部252、格納先網羅部253を用いて、読み出し対象の時間帯に対応する各時間帯について、復元数以上の分割データの所在を特定する。ここで、格納先ノード検索部25は、各時間帯について、分割数の分割データの所在を全て特定できることが望ましい。しかしながら、格納先のノード20の中には、アクセス不可能となっているノード20がある可能性もある。したがって、格納先ノード検索部25は、各時間帯について、分割数の分割データのうち復元数以上のアクセス可能な全ての分割データの所在を特定するようにしてもよい。   In this way, the storage destination node search unit 25 uses the initial search unit 251, the storage destination estimation unit 252, and the storage destination cover unit 253, and for each time zone corresponding to the time zone to be read, is greater than the number of restorations. Specify the location of the divided data. Here, it is desirable that the storage destination node search unit 25 can specify all the locations of the divided data of the divided number for each time zone. However, there is a possibility that some of the storage destination nodes 20 are inaccessible. Therefore, the storage destination node search unit 25 may specify the location of all the divided data that can be accessed more than the number of restorations among the divided data of the divided number for each time zone.

読み出しノード決定部26は、読み出し対象の時間帯に対応する各時間帯のログについて、格納先ノード検索部25によって特定された格納先のノード20のうち、復元数のノード20を決定する。具体的には、読み出しノード決定部26は、マスタノードとなっているノード20のノード状態管理部21に問い合わせることにより、各ノード20の状態に基づいて、復元数以上の格納先のノード20を決定する。   The read node determination unit 26 determines the number of nodes 20 to be restored from among the storage destination nodes 20 specified by the storage destination node search unit 25 for each time zone log corresponding to the time zone to be read. Specifically, the read node determination unit 26 makes an inquiry to the node state management unit 21 of the node 20 that is the master node, so that, based on the state of each node 20, the number of storage destination nodes 20 that is greater than or equal to the number of restorations. decide.

データ読み出し部27は、読み出し対象の時間帯に対応する各時間帯のログについて、読み出しノード決定部26によって決定された復元数のノード20から、該当する断片ログを取得する。取得する断片ログは、読み出し対象のノード20の指定された時間帯に対応する1つ以上の時間帯のログの断片ログである。そして、データ読み出し部27は、読み出し対象の時間帯に対応する1つ以上の各時間帯のログを、それぞれ復元数の断片ログを用いて復元する。   The data reading unit 27 acquires a corresponding fragment log from the restoration number of nodes 20 determined by the read node determining unit 26 for each time zone log corresponding to the time zone to be read. The fragment log to be acquired is a fragment log of a log in one or more time zones corresponding to the designated time zone of the node 20 to be read. Then, the data reading unit 27 restores one or more time zone logs corresponding to the time zone to be read using the fragment logs of the number of restorations.

以上のように構成された情報処理システム2の動作について、図面を参照して説明する。   The operation of the information processing system 2 configured as described above will be described with reference to the drawings.

まず、情報処理システム2のデータ格納動作を図8に示す。なお、図8において、左図は、書き込みを行うノード20の動作を表し、右図は、格納先となった各ノード20の動作を表す。また、ノード状態管理部21の分割数ノード一覧情報は、マスタノードとなっているノード20により適宜更新されているものとする。また、書き込みを行うノード20は、ログバッファ28のログが所定量を超えたタイミングで、下記の動作を開始するものとする。   First, the data storage operation of the information processing system 2 is shown in FIG. In FIG. 8, the left diagram represents the operation of the node 20 that performs writing, and the right diagram represents the operation of each node 20 that is the storage destination. Further, it is assumed that the division number node list information of the node state management unit 21 is appropriately updated by the node 20 that is a master node. In addition, the node 20 that performs writing starts the following operation at a timing when the log in the log buffer 28 exceeds a predetermined amount.

まず、分割データ生成部22は、ログバッファ28から、ログを取得する。また、分割データ生成部22は、取得したログの時間帯を求める(ステップA100)。なお、取得したログの時間帯は、前回取得した時刻から今回取得した時刻までである。あるいは、分割データ生成部22は、取得したログの内容を参照することにより、その時間帯を求めてもよい。   First, the divided data generation unit 22 acquires a log from the log buffer 28. Further, the divided data generation unit 22 obtains the time zone of the acquired log (Step A100). The time zone of the acquired log is from the time acquired last time to the time acquired this time. Alternatively, the divided data generation unit 22 may obtain the time zone by referring to the contents of the acquired log.

次に、分割データ生成部22は、取得したログから、分割数の断片ログを生成する(ステップA101)。ここでは、本発明の第1の実施の形態と同様に、分割数より少ない復元数の断片ログを用いて元のログを復元可能な分割データ生成技術が用いられる。   Next, the divided data generation unit 22 generates a fragment log of the number of divisions from the acquired log (step A101). Here, as in the first embodiment of the present invention, a divided data generation technique capable of restoring the original log using a fragment log having a smaller number of restorations than the number of divisions is used.

次に、分割データ送信部23は、ノード状態管理部21から分割数ノード一覧情報を取得し、取得した分割数ノード一覧情報の示す分割数のノード20を、格納先として決定する(ステップA102)。   Next, the divided data transmission unit 23 acquires the division number node list information from the node state management unit 21, and determines the node 20 having the division number indicated by the acquired division number node list information as a storage destination (step A102). .

次に、分割データ送信部23は、ステップA101で生成された分割数の断片ログを、ステップA102で決定された分割数の格納先のノード20に対して、それぞれ送信する(ステップA103)。このとき、前述のように、分割データ送信部23は、元のログの時間帯、生成元ノード情報および格納先ノード一覧情報を、断片ログと共に格納先のノード20に対してそれぞれ送信する。   Next, the divided data transmission unit 23 transmits the fragment log of the division number generated in step A101 to the storage destination node 20 of the division number determined in step A102 (step A103). At this time, as described above, the divided data transmission unit 23 transmits the original log time zone, the generation source node information, and the storage destination node list information to the storage destination node 20 together with the fragment log.

次に、分割データ送信部23は、ステップA103で送信した断片ログの格納先ノード一覧および元のログの時間帯を表す情報を、送信履歴情報として保存する(ステップA104)。   Next, the divided data transmission unit 23 stores information indicating the fragment log storage destination node list and the original log time zone transmitted in step A103 as transmission history information (step A104).

次に、断片ログを受信したノード20では、分割データ格納部24は、受信した断片ログを格納履歴情報と共に格納する(ステップA105)。ここで、格納履歴情報は、断片ログと共に受信した時間帯を表す情報、生成元ノード情報および格納先ノード一覧情報を含む。   Next, in the node 20 that has received the fragment log, the divided data storage unit 24 stores the received fragment log together with the storage history information (step A105). Here, the storage history information includes information indicating the time zone received together with the fragment log, generation source node information, and storage destination node list information.

以上で、情報処理システム2は、データ格納動作を終了する。   Thus, the information processing system 2 ends the data storage operation.

次に、情報処理システム2のデータ読み出し動作を図9に示す。なお、図9において、中央の図は、読み出しを行うノード20の動作を示し、左図は、読み出し対象のノード20の動作を示し、右図は、対象の断片ログを格納している各ノード20の動作を示す。また、読み出しを行うノード20は、読み出し対象のノード20および読み出し対象の時間帯を指定する情報が入力されると、下記の動作を開始するものとする。   Next, the data read operation of the information processing system 2 is shown in FIG. In FIG. 9, the central diagram shows the operation of the node 20 that performs reading, the left diagram shows the operation of the node 20 to be read, and the right diagram shows each node that stores the target fragment log. 20 operations are shown. In addition, the node 20 that performs reading starts the following operation when information specifying the node 20 to be read and the time zone to be read is input.

まず、読み出しを行うノード20の格納先ノード検索部25は、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、断片ログの格納先のノード20を復元数以上まで特定する(ステップB101)。このステップの詳細については後述する。   First, the storage destination node search unit 25 of the node 20 that performs the reading, for the log of each time zone corresponding to the time zone of the read target in the node 20 to be read, the node 20 of the fragment log storage destination up to the number of restorations or more. Specify (step B101). Details of this step will be described later.

また、ステップB101の格納先検索動作に応じて、読み出し対象のノード20の分割データ送信部23は、読み出し対象の時間帯に対応する各時間帯の送信履歴情報を、読み出しを行うノード20に送信する(ステップB102)。   Further, according to the storage location search operation in step B101, the divided data transmission unit 23 of the read target node 20 transmits the transmission history information of each time slot corresponding to the read target time slot to the read node 20. (Step B102).

また、ステップB101の格納先検索動作に応じて、格納先のノード20の分割データ格納部24は、読み出し対象の時間帯に対応する各時間帯のログの断片ログと共に格納している格納履歴情報を、読み出しを行うノード20に送信する(ステップB103)。   Further, according to the storage location search operation in step B101, the divided data storage unit 24 of the storage destination node 20 stores the storage history information stored together with the fragment logs of the logs in each time zone corresponding to the time zone to be read. Is transmitted to the node 20 that performs reading (step B103).

次に、読み出しを行うノード20の読み出しノード決定部26は、読み出し対象の時間帯に対応する時間帯のそれぞれについて、特定された復元数以上の格納先のノード20から、復元数のノード20を決定する(ステップB104)。   Next, the read node determination unit 26 of the node 20 that performs the read operation, for each of the time zones corresponding to the read time zone, from the storage destination nodes 20 that are equal to or greater than the specified restore number, Determine (step B104).

前述のように、読み出しノード決定部26は、マスタノードのノード状態管理部21に問い合わせることにより、各ノード20の状態に基づいて、復元数のノード20を決定すればよい。   As described above, the read node determination unit 26 may determine the number of nodes 20 to be restored based on the state of each node 20 by making an inquiry to the node state management unit 21 of the master node.

次に、読み出しを行うノード20のデータ読み出し部27は、各時間帯についてステップB104で決定された復元数のノード20に対して、それぞれ該当する断片ログを要求する(ステップB105)。該当する断片ログは、読み出し対象のノード20の読み出し対象の時間帯に対応する各時間帯のログから生成された断片ログである。   Next, the data reading unit 27 of the node 20 that performs reading requests the corresponding fragment log from the number of restoration nodes 20 determined in step B104 for each time slot (step B105). The corresponding fragment log is a fragment log generated from a log in each time zone corresponding to the read target time zone of the read target node 20.

次に、要求を受けたノード20の分割データ格納部24は、該当する断片ログを要求元のノード20に返信する(ステップB106)。   Next, the divided data storage unit 24 of the node 20 that has received the request returns the corresponding fragment log to the requesting node 20 (step B106).

次に、読み出しを行うノード20のデータ読み出し部27は、各時間帯について、復元数の断片ログを用いて元のログを復元する(ステップB107)。   Next, the data reading unit 27 of the node 20 that performs the reading restores the original log using the fragment log of the number of restorations for each time zone (step B107).

以上で、情報処理システム2は、データ読み出し動作を終了する。   Thus, the information processing system 2 ends the data reading operation.

次に、ステップB101における格納先検索動作の詳細を、図10に示す。   Next, details of the storage location search operation in step B101 are shown in FIG.

図10では、まず、読み出しを行うノード20の初期検索部251は、読み出し対象のノード20がアクセス可能であるか否かを判断する(ステップB201)。   In FIG. 10, first, the initial search unit 251 of the node 20 that performs reading determines whether or not the node 20 to be read is accessible (step B201).

ここで、読み出し対象のノード20がアクセス可能である場合について説明する。この場合、読み出しを行うノード20の初期検索部251は、読み出し対象のノード20に対して、読み出し対象の時間帯に対応する1つ以上の各時間帯の送信履歴情報の送信を要求する(ステップB202)。   Here, a case where the read target node 20 is accessible will be described. In this case, the initial search unit 251 of the node 20 that performs reading requests the node 20 to be read out to transmit transmission history information in one or more time zones corresponding to the time zone to be read (step B202).

次に、読み出し対象のノード20の分割データ送信部23は、図9のステップB102で説明したように、読み出し対象の時間帯に対応する1つ以上の各時間帯の送信履歴情報を、読み出しを行うノード20に対して送信する。ここでは、1つまたは複数の時間帯についてそれぞれの送信履歴情報が送信される。ただし、読み出し対象のノード20が、障害やその他の理由により、読み出し対象の時間帯に対応する1つ以上の時間帯の一部または全ての送信履歴情報を失い保持していない可能性もある。   Next, as described in Step B102 of FIG. 9, the divided data transmission unit 23 of the node 20 to be read reads out the transmission history information of one or more time zones corresponding to the time zone to be read. It transmits to the node 20 to perform. Here, each transmission history information is transmitted for one or more time zones. However, there is a possibility that the node 20 to be read loses and does not hold part or all of the transmission history information of one or more time zones corresponding to the time zone to be read due to a failure or other reason.

そこで、次に、読み出しを行うノード20の初期検索部251は、読み出し対象のノード20から、該当する各時間帯の送信履歴情報を取得できたか否かを判断する(ステップB203)。   Therefore, next, the initial search unit 251 of the node 20 that performs the reading determines whether or not transmission history information for each corresponding time period has been acquired from the node 20 to be read (step B203).

ここで、該当する各時間帯の送信履歴情報を取得できた場合について説明する。この場合、読み出しを行うノード20の初期検索部251は、取得した各送信履歴情報に基づいて、各送信履歴情報に含まれる格納先ノード一覧の示すノード20を特定する(ステップB204)。   Here, the case where the transmission history information of each applicable time slot | zone was able to be acquired is demonstrated. In this case, the initial search unit 251 of the node 20 that performs the reading specifies the node 20 indicated by the storage destination node list included in each transmission history information based on each acquired transmission history information (step B204).

そして、読み出しを行うノード20の格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。   Then, the storage destination node search unit 25 of the node 20 that performs the reading returns information representing the storage destination node 20 specified for each time zone (step B211), and ends the storage destination search operation.

一方、ステップB201で、読み出し対象のノード20がアクセス可能でなかった場合、または、ステップB203で、少なくとも一部の時間帯の送信履歴情報を取得できなかった場合について説明する。この場合、読み出しを行うノード20の初期検索部251は、分割数ノード一覧情報の示す各ノード20を問い合わせ対象とする。そして、初期検索部251は、問い合わせ対象のノード20に対して、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、その断片ログを格納しているか否かを問い合わせる(ステップB205)。   On the other hand, a case where the node 20 to be read cannot be accessed in step B201 or a case where transmission history information of at least a part of the time period could not be acquired in step B203 will be described. In this case, the initial search unit 251 of the node 20 that performs reading sets each node 20 indicated by the division number node list information as an inquiry target. Then, the initial search unit 251 inquires of the inquiry target node 20 whether or not the fragment log is stored for each time zone log corresponding to the readout time zone in the readout target node 20. (Step B205).

次に、問い合わせを受けたノード20の分割データ格納部24は、図9のステップB103で説明したように、該当する断片ログを格納している場合、対応する格納履歴情報を、問い合わせ元のノード20に返信する。ここでは、1つまたは複数の時間帯のログの断片ログについてそれぞれの格納履歴情報が送信される。   Next, when the divided data storage unit 24 of the node 20 that has received the inquiry stores the corresponding fragment log as described in step B103 in FIG. 9, the corresponding storage history information is stored in the inquiry source node. Reply to 20. Here, the storage history information is transmitted for each fragment log of one or more time zones.

なお、ステップB205において、初期検索部251は、送信履歴情報を取得できた時間帯については、その送信履歴情報に含まれる格納先ノード一覧の示すノード20を特定すればよい。   In step B205, the initial search unit 251 may identify the node 20 indicated by the list of storage destination nodes included in the transmission history information for the time period in which the transmission history information can be acquired.

次に、読み出しを行うノード20の格納先ノード検索部25は、読み出し対象の時間帯に対応する各時間帯のログについて、格納先となる復元数以上のノード20を特定できたか否かを判断する(ステップB206)。   Next, the storage destination node search unit 25 of the node 20 that performs the reading determines whether or not the number of nodes 20 that are the storage destination or more can be specified for the log of each time zone corresponding to the time zone to be read. (Step B206).

ここで、各時間帯について、格納先となる復元数以上のノード20を特定できていると判断した場合について説明する(ステップB206でYes)。この場合、読み出しを行うノード20の格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。   Here, a case will be described in which it is determined that the number of nodes 20 equal to or greater than the number of restorations serving as storage destinations can be specified for each time zone (Yes in step B206). In this case, the storage destination node search unit 25 of the node 20 that performs the reading returns information representing the storage destination node 20 specified for each time zone (step B211), and ends the storage destination search operation.

一方、格納先となる復元数以上のノード20を特定できていない時間帯があると判断した場合について説明する(ステップB206でNo)。   On the other hand, a case will be described in which it is determined that there is a time zone during which the number of nodes 20 equal to or greater than the number of restorations serving as storage destinations cannot be specified (No in step B206).

この場合、格納先推定部252は、既に検索されたノード20から得られた格納履歴情報に含まれる格納先ノード一覧の示す各ノード20のうち、まだ問い合わせを行っていない各ノード20を問い合わせ対象とする。そして、格納先推定部252は、問い合わせ対象のノード20に対して、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、その断片ログを格納しているか否かを問い合わせる(ステップB207)。   In this case, the storage destination estimation unit 252 asks each node 20 that has not been inquired among the nodes 20 indicated by the storage destination node list included in the storage history information obtained from the already searched nodes 20 to be inquired. And Then, the storage location estimation unit 252 determines whether the fragment log is stored for each time zone log corresponding to the read time zone in the read target node 20 with respect to the query target node 20. An inquiry is made (step B207).

次に、問い合わせを受けたノード20の分割データ格納部24は、図9のステップB103で説明したように、該当する断片ログを格納している場合、対応する格納履歴情報を、問い合わせ元のノード20に返信する。ここでは、1つまたは複数の時間帯のログの断片ログについてそれぞれの格納履歴情報が送信される。   Next, when the divided data storage unit 24 of the node 20 that has received the inquiry stores the corresponding fragment log as described in step B103 in FIG. 9, the corresponding storage history information is stored in the inquiry source node. Reply to 20. Here, the storage history information is transmitted for each fragment log of one or more time zones.

次に、読み出しを行うノード20の格納先ノード検索部25は、読み出し対象の時間帯に対応する各時間帯のログについて、格納先となる復元数以上のノード20を特定できたか否かを判断する(ステップB208)。   Next, the storage destination node search unit 25 of the node 20 that performs the reading determines whether or not the number of nodes 20 that are the storage destination or more can be specified for the log of each time zone corresponding to the time zone to be read. (Step B208).

ここで、各時間帯について、格納先となる復元数以上のノード20を特定できていると判断した場合について説明する(ステップB208でYes)。この場合、読み出しを行うノード20の格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。   Here, a case will be described in which it is determined that more nodes 20 than the number of restorations to be stored can be specified for each time zone (Yes in Step B208). In this case, the storage destination node search unit 25 of the node 20 that performs the reading returns information representing the storage destination node 20 specified for each time zone (step B211), and ends the storage destination search operation.

一方、格納先となる復元数以上のノード20を特定できていない時間帯があると判断した場合について説明する(ステップB208でNo)。   On the other hand, a case will be described in which it is determined that there is a time zone during which the number of nodes 20 equal to or more than the number of restorations to be stored cannot be specified (No in step B208).

この場合、格納先ノード検索部25は、新たに検索されたノード20も含めて既に検索されたノード20から得られた格納履歴情報に含まれる格納先ノード一覧の示す各ノード20のうち、まだ問い合わせていないノード20があるかを判断する(ステップB209)。   In this case, the storage destination node search unit 25 is still out of the nodes 20 indicated by the storage destination node list included in the storage history information obtained from the already searched nodes 20 including the newly searched nodes 20. It is determined whether there is a node 20 that has not been inquired (step B209).

ここで、まだ問い合わせていないノード20がある場合(ステップB209でYes)、格納先推定部252は、ステップB207からの動作を繰り返す。   Here, when there is a node 20 that has not yet been inquired (Yes in Step B209), the storage location estimation unit 252 repeats the operation from Step B207.

一方、まだ問い合わせていないノード20がない場合(ステップB209でNo)、格納先網羅部253は、情報処理システム2を構成する各ノード20のうち、まだ問い合わせを行っていない各ノード20を問い合わせ対象とする。そして、格納先網羅部253は、問い合わせ対象のノード20に対して、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、その断片ログを格納しているか否かを問い合わせる(ステップB210)。   On the other hand, when there is no node 20 that has not been inquired yet (No in Step B209), the storage location covering unit 253 asks each node 20 that has not yet inquired among the nodes 20 constituting the information processing system 2 to be inquired. And Then, the storage location covering unit 253 determines whether or not the fragment log is stored for each time zone log corresponding to the read time zone in the read target node 20 for the query target node 20. An inquiry is made (step B210).

そして、格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。なお、格納先網羅部253によるステップB210の実行後も、格納先となる復元数以上のノード20を特定できていない時間帯がある場合も考えられる。この場合、格納先ノード検索部25は、その時間帯については、読み出し対象となるログが存在しない、もしくは、障害等により失われたと判断する。この場合、格納先ノード検索部25は、復元数以上の格納先ノードが特定できた時間帯について、特定したノード20を返却すればよい。なお、読み出し対象の時間帯に対応する全ての時間帯について復元数以上のノード20を特定できない場合、格納先ノード検索部25は、読み出し要求に対してエラーを返却する。   Then, the storage destination node search unit 25 returns information representing the storage destination node 20 specified for each time zone (step B211), and ends the storage destination search operation. Note that even after execution of step B210 by the storage destination covering unit 253, there may be a time zone in which more nodes 20 than the number of restorations that are storage destinations cannot be specified. In this case, the storage destination node search unit 25 determines that the log to be read does not exist or has been lost due to a failure or the like for the time period. In this case, the storage destination node search unit 25 may return the specified node 20 for a time zone in which storage destination nodes equal to or more than the number of restorations can be specified. Note that if the number of nodes 20 equal to or greater than the number of restorations cannot be specified for all time zones corresponding to the read time zone, the storage node search unit 25 returns an error to the read request.

以上で、ステップB101における格納先検索動作の詳細な説明を終了する。   This is the end of the detailed description of the storage location search operation in step B101.

次に、本発明の第2の実施の形態の効果について述べる。   Next, the effect of the second exemplary embodiment of the present invention will be described.

本発明の第2の実施の形態としての情報処理システムは、複数のノードからなる情報処理システムにおいてログを分散管理する際に、耐障害性を向上させ、ログの格納・読み出しによる性能低下を抑えることができる。   The information processing system according to the second exemplary embodiment of the present invention improves fault tolerance and suppresses performance degradation due to log storage / reading when the log is distributed and managed in an information processing system including a plurality of nodes. be able to.

その理由について説明する。本実施の形態では、本発明の第1の実施の形態と同様の構成に加えて、次の構成を備える。すなわち、読み出し要求としてノードと時間帯の指定を受け付けたノードの格納先ノード検索部が、指定されたノードにおいて指定された時間帯に対応する各時間帯のログの断片ログについて、それぞれ復元数以上まで格納先ノードを特定するからである。具体的には、初期検索部が、読み出し対象のノードから各時間帯の送信履歴情報に基づいて各時間帯の格納先ノードを特定する。また、初期検索部が、読み出し対象のノードから各時間帯の送信履歴情報を取得できない場合、読み出し要求時点での分割数ノード一覧情報の示す各ノードに対して問い合わせることにより、該当する断片ログを格納しているノードを検索する。初期検索部を用いても復元数以上の格納先ノードを特定できない時間帯がある場合、格納先推定部が機能する。格納先推定部は、既に検索されたノードにおいて該当する断片ログと共に保持される格納履歴情報に含まれる格納先ノード一覧の示す各ノードに問い合わせることにより、該当する断片ログを格納しているノードを検索することを繰り返す。初期検索部と格納先推定部を用いても復元数以上の格納先ノードを特定できない時間帯がある場合、格納先網羅部が機能する。格納先網羅部は、情報処理システムを構成する各ノードのうち、まだ問い合わせていないノードに問い合わせることにより、該当する断片ログを格納しているノードを検索する。   The reason will be described. In the present embodiment, the following configuration is provided in addition to the same configuration as that of the first embodiment of the present invention. In other words, the storage node search unit of the node that has received the designation of the node and time zone as a read request causes the fragment log of the log in each time zone corresponding to the designated time zone at the designated node to be greater than the number of restorations. This is because the storage destination node is specified. Specifically, the initial search unit identifies the storage destination node of each time zone based on the transmission history information of each time zone from the node to be read. In addition, when the initial search unit cannot acquire transmission history information of each time period from the node to be read, the corresponding fragment log is obtained by inquiring each node indicated by the division number node list information at the time of the read request. Search the stored node. When there is a time zone in which more storage destination nodes than the number of restorations cannot be specified even using the initial search unit, the storage destination estimation unit functions. The storage destination estimation unit inquires each node indicated in the list of storage destination nodes included in the storage history information held together with the corresponding fragment log in the already searched node to determine the node storing the corresponding fragment log. Repeat the search. When there is a time zone in which the number of storage destination nodes equal to or more than the number of restorations cannot be specified even when the initial search unit and the storage destination estimation unit are used, the storage destination covering unit functions. The storage destination covering unit searches for a node that stores the corresponding fragment log by inquiring a node that has not yet been inquired among the respective nodes constituting the information processing system.

このように、本実施の形態は、ログの読み出し要求時に、低コストで処理を行う初期検索部または格納先推定部により、できるだけ少ないコストで格納先ノードを復元数以上まで特定する。そして、本実施の形態は、初期検索部または格納先推定部を用いても復元数以上の格納先ノードが検索できない時間帯がある場合にのみ、コストのかかる網羅手段を機能させるようにしている。その結果、本実施の形態は、格納済みログに関する情報を一元管理するノードを置かないこと、および、整合性維持のための制御の多くを省略することにより、ログの分散格納を効率化しながらも、ログの読み出し時のコスト増加を抑えることができる。   As described above, according to the present embodiment, at the time of a log read request, the initial search unit or the storage destination estimation unit that performs processing at a low cost identifies the storage destination node up to the number of restorations at as low a cost as possible. In the present embodiment, the costly covering means is made to function only when there is a time zone in which the number of storage destination nodes equal to or greater than the number of restorations cannot be searched using the initial search unit or the storage destination estimation unit. . As a result, this embodiment eliminates many nodes for centrally managing information related to stored logs, and omits much of the control for maintaining consistency, while improving the efficiency of distributed storage of logs. In addition, an increase in cost at the time of reading the log can be suppressed.

また、ログは、頻繁に書き込まれるが滅多に読み出されないという特性がある。このため、本実施の形態は、上述のように格納時のコストを低減する代償として読み出し時のコストを若干増加させていても、全体としての効率を改善している。さらに、本実施の形態は、上述のように読み出し時のコスト増加を低減する構成のため、全体としての効率をさらに改善している。   Also, the log has a characteristic that it is frequently written but rarely read. For this reason, the present embodiment improves the overall efficiency even if the reading cost is slightly increased as a price for reducing the storing cost as described above. Furthermore, since the present embodiment is configured to reduce the increase in cost during reading as described above, the overall efficiency is further improved.

また、ログ読み出しが必要な場面は、情報処理システムに異常がある場合が少なくない。本実施の形態は、このように、格納済みログに関する情報を一元管理するノードを置かないことにより、情報処理システムの障害時などにも、より確実にログを読み出すことを可能にする。   In addition, there are many cases where there is an abnormality in the information processing system at a scene where log reading is necessary. In this embodiment, by not providing a node for centrally managing information related to stored logs, the log can be read more reliably even when an information processing system fails.

また、本実施の形態は、このように、ログを複数のノードに分散格納するので、ログを格納する専用の装置を必要としない。また、本実施の形態は、ログを生成するノードにログを保持させないので、ログを読み出したいノードへアクセスできない場合でも、ログ読み出しを可能とする。   Further, in this embodiment, since logs are distributedly stored in a plurality of nodes as described above, a dedicated device for storing logs is not required. Further, in this embodiment, the log is not stored in the node that generates the log, so that the log can be read even when the node from which the log is to be read cannot be accessed.

なお、本実施の形態において、ノード状態管理部が、各ノードの状態として、負荷を表す情報を収集し、各ノードの負荷に基づいて分割数のノードを選択する例について説明した。ただし、ノードの状態は、負荷を表す情報に限らない。例えば、ノード状態管理部は、ノードの状態として、各ノードに格納される断片ログの容量を収集し、断片ログの容量に基づいて分割数のノードを選択してもよい。例えば、ノード状態管理部は、断片ログの容量が少ない順に、分割数のノードを選択してもよい。その他、ノード状態は、ノードの状態を表す状態であれば、他の情報であってもよい。   In the present embodiment, an example has been described in which the node state management unit collects information representing a load as the state of each node, and selects a division number of nodes based on the load of each node. However, the state of the node is not limited to information indicating the load. For example, the node state management unit may collect the fragment log capacity stored in each node as the node state, and may select the number of division nodes based on the fragment log capacity. For example, the node state management unit may select the number of nodes in the order of decreasing fragment log capacity. In addition, the node state may be other information as long as it represents the state of the node.

また、本実施の形態において、読み出しノード決定部は、マスタノードのノード状態管理部に問い合わせることにより、各ノードの状態に基づいて復元数の読み出しノードを決定する例について説明した。これに限らず、読み出しノード決定部は、読み出した断片ログから元のログを復元する際の計算コストがより少なくなるように、読み出しノードを決定してもよい。例えば、分割データ生成部がRADI6のようなデータ分割技術を採用している場合、読み出しノード決定部は、パリティではない断片ログを持っているノードを優先して読み出しノードとして選択してもよい。   Further, in the present embodiment, an example has been described in which the read node determination unit determines the number of read nodes to be restored based on the state of each node by making an inquiry to the node state management unit of the master node. Not limited to this, the read node determination unit may determine the read node so that the calculation cost for restoring the original log from the read fragment log is further reduced. For example, when the divided data generation unit employs a data division technique such as RADIUS 6, the read node determination unit may preferentially select a node having a fragment log that is not a parity as a read node.

また、本実施の形態において、格納先ノード検索部は、情報処理システム全体の負荷が所定の低負荷条件を満たす場合には、初期検索部および格納先推定部を用いずに、格納先網羅部を用いて格納先ノードを検索してもよい。この場合、マスタノードのノード状態管理部が、情報処理システム全体の負荷が所定の低負荷条件を満たすか否かを判断し、各ノードに通知してもよい。このように、情報処理システムが低負荷である場合には最初から格納先網羅部を用いて全ノードへの問い合わせを行う場合、本実施の形態は、より高速に該当する断片ログを格納しているノードを検索できる。   Further, in the present embodiment, the storage destination node search unit, when the load of the entire information processing system satisfies a predetermined low load condition, does not use the initial search unit and the storage destination estimation unit, The storage destination node may be searched using In this case, the node state management unit of the master node may determine whether or not the load of the entire information processing system satisfies a predetermined low load condition and notify each node. In this way, when the information processing system has a low load, when making an inquiry to all nodes from the beginning using the storage location cover unit, the present embodiment stores the corresponding fragment log at a higher speed. Can be searched.

また、本実施の形態において、格納先ノード検索部が、読み出し対象の時間帯に対応する全ての時間帯についてそれぞれ復元数以上の格納先ノードを特定してから、読み出しノード決定部およびデータ読み出し部が動作するものとして説明した。さらなる改良として、本実施の形態において、格納先ノード検索部により、復元数以上の断片ログの所在を特定できた時間帯から順に、読み出しノード決定部およびデータ読み出し部が動作してもよい。これにより、本実施の形態は、読み出し対象の時間帯に対応する全ての時間帯についてそれぞれ復元数以上の断片ログの所在を特定してから読み出しを開始するよりも、高速に読み出しを行うことができる。また、ログを読み出す際には、読み出すログの示す時間帯の順序性は問われない。したがって、このように、読み出し要求に応じて、復元数以上の断片ログの所在が特定された時間帯から順次読み出しを開始することで、本実施の形態は、より効率的なログの読み出しを可能とする。   In the present embodiment, the storage destination node search unit identifies storage destination nodes equal to or more than the number of restorations for all the time zones corresponding to the time zone to be read, and then the read node determination unit and the data read unit Described as working. As a further improvement, in the present embodiment, the read node determination unit and the data read unit may operate in order from the time zone in which the location of fragment logs equal to or greater than the number of restorations can be specified by the storage destination node search unit. As a result, the present embodiment can perform reading at a higher speed than the start of reading after specifying the location of fragment logs equal to or greater than the number of restorations for all time zones corresponding to the time zone to be read. it can. Further, when reading the log, the order of the time zones indicated by the read log is not questioned. Therefore, in this way, according to the read request, the log can be read more efficiently in this embodiment by starting the reading sequentially from the time zone in which the location of the fragment logs equal to or more than the number of restorations is specified. And

また、本実施の形態において、初期検索部は、読み出し対象のノードにアクセスできない場合、読み出し要求時点での分割数ノード一覧情報に基づいて、格納先ノードの検索を行っていた。これに限らず、初期検索部は、読み出し対象の該当するログが分散格納された時点での分割数ノード一覧情報に基づいて、格納先ノードの検索を行ってもよい。この場合、ノード状態管理部が、分割数ノード一覧情報の更新履歴を更新時刻と共に保持しておいてもよい。そして、初期検索部が、読み出し対象の時間帯に関連する更新時刻に対応する過去の分割数ノード一覧情報を参照すればよい。また、この場合、全てのノード状態管理部が、分割数ノード一覧情報の更新履歴を保持していなくてもよい。例えば、マスタノードのノード状態管理部が分割数ノード一覧情報の更新履歴を保持しておき、各ノードの格納先ノード検索部は、必要に応じて、マスタノードのノード状態管理部に、過去の分割数ノード一覧情報を問い合わせてもよい。ただし、この場合、マスタノードとなるノードの切り替えにより、問い合わせ先のマスタノードのノード状態管理部が、対象の時刻の分割数ノード一覧情報を保持していない場合も考えられる。その場合には、初期検索部は、その時点の分割数ノード一覧情報を用いて、格納先ノードの検索を行えばよい。   In this embodiment, when the initial search unit cannot access the node to be read, the initial search unit searches for the storage destination node based on the division number node list information at the time of the read request. Not limited to this, the initial search unit may search for the storage destination node based on the division number node list information at the time when the corresponding log to be read is distributedly stored. In this case, the node state management unit may hold the update history of the division number node list information together with the update time. And an initial search part should just refer the past division | segmentation number node list information corresponding to the update time relevant to the time slot | zone to be read. In this case, all the node state management units may not hold the update history of the division number node list information. For example, the node state management unit of the master node holds the update history of the division number node list information, and the storage destination node search unit of each node stores the past status in the past in the node state management unit of the master node as necessary. The division number node list information may be inquired. However, in this case, there may be a case where the node status management unit of the inquired master node does not hold the division number node list information of the target time due to the switching of the master node. In this case, the initial search unit may search for the storage destination node using the division number node list information at that time.

また、本実施の形態において、格納先推定部は、復元数以上の格納先ノードを特定できなかった時間帯がある場合に、さらに、ランダムに選択したノードに対して、順次問い合わせて検索を継続してもよい。この場合、問い合わせ先のノードは、情報処理システムを構成する他のノードのまだ問い合わせを行っていないノードからランダムに選択される。そして、これにより、各時間帯について復元数以上の格納先ノードを特定できた場合は、格納先ノード検索部は、格納先網羅部を用いなくてもよい。ただし、ランダムに選択したノードへの問い合わせを所定回数繰り返しても、復元数以上の格納先ノードを特定できなかった時間帯がある場合は、格納先ノード検索部は、格納先網羅部を用いて検索を継続すればよい。   Further, in this embodiment, when there is a time zone in which the storage destination nodes greater than the number of restorations cannot be specified, the storage destination estimation unit further inquires the randomly selected nodes and continues the search. May be. In this case, the inquiry destination node is randomly selected from the nodes that have not yet inquired about other nodes constituting the information processing system. If the storage destination nodes equal to or more than the number of restorations can be identified for each time zone, the storage destination node search unit does not have to use the storage destination cover unit. However, if there are times when it is not possible to identify the storage destination nodes more than the number of restorations even if the inquiry to the randomly selected node is repeated a predetermined number of times, the storage destination node search unit uses the storage destination cover unit. The search can be continued.

また、本実施の形態は、情報処理システムを構成するノードがグループに分割されている場合にも、適用することができる。例えば、大規模なグリッドコンピューティングシステム等を、あらかじめグループ分割を行って適切な規模にしておくことが考えられる。この場合、各ノードの各機能ブロックは、自ノードが属するグループの各ノードを対象として機能すればよい。例えば、各グループにおいてマスタノードとして機能するノードのノード状態管理部は、グループ内の各ノードの状態を収集し、グループ内の各ノードの状態に基づいて、グループ内のノードから分割数のノードを選択すればよい。これにより、分割データ送信部は、自ノードのログの断片ログを、グループ内における分割数のノードの分割データ格納部に分散格納することになる。また、読み出し要求時には、格納先ノード検索部およびデータ読み出し部は、自ノードが属するグループ内のノードのみと通信を行うことにより、格納先ノードの検索およびログ読み出しを行うことができる。このように、本実施の形態は、ノード数が多い大規模な情報処理システムであっても、グループ分割して適切な規模で動作することにより、同様の効果を奏することができる。   Further, the present embodiment can also be applied when nodes constituting the information processing system are divided into groups. For example, it can be considered that a large-scale grid computing system or the like is divided into groups in advance so as to have an appropriate scale. In this case, each functional block of each node may function for each node of the group to which the own node belongs. For example, the node state management unit of a node functioning as a master node in each group collects the state of each node in the group and, based on the state of each node in the group, calculates the number of divided nodes from the nodes in the group. Just choose. Thereby, the divided data transmission unit stores the fragment log of the log of the own node in the divided data storage unit of the node of the number of divisions in the group. Further, at the time of a read request, the storage destination node searching unit and the data reading unit can search the storage destination node and read the log by communicating only with the nodes in the group to which the own node belongs. As described above, the present embodiment can achieve the same effect even when a large-scale information processing system with a large number of nodes is operated by dividing the group into an appropriate scale.

また、本実施の形態において、分割データ格納部が、格納履歴情報を断片ログと共に格納する例について説明した。これに限らず、分割データ格納部は、格納履歴情報を断片ログのファイル名に含めてもよい。あるいは、分割データ格納部は、格納履歴情報を断片ログのファイルヘッダに格納してもよい。そして、この場合、分割データ送信部が、格納履歴情報をファイル名とする断片ログ、または、格納履歴情報をファイルヘッダに含む断片ログを、格納先ノードに送信すればよい。   In the present embodiment, the example in which the divided data storage unit stores the storage history information together with the fragment log has been described. Not limited to this, the divided data storage unit may include the storage history information in the file name of the fragment log. Alternatively, the divided data storage unit may store the storage history information in the file header of the fragment log. In this case, the divided data transmission unit may transmit the fragment log having the storage history information as the file name or the fragment log including the storage history information in the file header to the storage destination node.

また、上述した本発明の各実施の形態において、各ノードの各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。   Further, in each of the embodiments of the present invention described above, the description has focused on an example in which each functional block of each node is realized by a CPU that executes a computer program stored in a memory. However, the present invention is not limited to this, and some, all, or a combination of each functional block may be realized by dedicated hardware.

また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各ノードの動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。   In each embodiment of the present invention described above, the operation of each node described with reference to each flowchart is stored in a storage device (storage medium) of the computer device as a computer program of the present invention. Then, the computer program may be read and executed by the CPU. In such a case, the present invention is constituted by the code of the computer program or a storage medium.

また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。   Moreover, each embodiment mentioned above can be implemented in combination as appropriate.

また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。   The present invention is not limited to the above-described embodiments, and can be implemented in various modes.

また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のノードからなる情報処理システムにおける前記ノードであって、
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持するノード状態管理部と、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成する分割データ生成部と、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割データ生成部によって生成された前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持する分割データ送信部と、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納する分割データ格納部と、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記ノード状態管理部に保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定する格納先ノード検索部と、
前記格納先ノード検索部によって特定された格納先ノードのうち、前記復元数の格納先ノードを決定する読み出しノード決定部と、
前記読み出しノード決定部によって決定された各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元するデータ読み出し部と、
を備えたノード。
(付記2)
前記格納先ノード検索部は、前記検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照して前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードをさらに検索することを繰り返すことにより、前記読み出し対象のノードに関連する対象データ毎に、前記復元数以上の格納先ノードを特定することを特徴とする付記1に記載のノード。
(付記3)
前記格納先ノード検索部は、前記復元数以上の格納先ノードを特定できない場合、前記複数のノードのそれぞれに順次問い合わせることにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定することを特徴とする付記1または付記2に記載のノード。
(付記4)
前記格納先ノード検索部は、前記各ノードの状態が所定条件を満たす場合、前記送信履歴情報、前記分割数ノード一覧情報、および、前記格納履歴情報を参照せずに、前記複数のノードのそれぞれに問い合わせることにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを所定の復元数以上まで特定することを特徴とする付記1から付記3のいずれか1つに記載のノード。
(付記5)
前記対象データが、任意の時間帯に関連する情報を表すとき、
前記分割データ送信部は、前記送信履歴情報に、送信した前記分割データの元となる対象データに関連する時間帯を表す情報を含め、
前記分割データ格納部は、他ノードから受信した前記分割データと共に格納する格納履歴情報に、該分割データの元となる対象データに関連する時間帯を表す情報を含め、
前記格納先ノード検索部は、前記読み出し対象のノードに加えて読み出し対象の時間帯を指定されると、前記読み出し対象のノードに保持される前記読み出し対象の時間帯に対応する1つ以上の時間帯の送信履歴情報、または、前記ノード状態管理部に保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードにおいて前記読み出し対象の時間帯に対応する1つ以上の時間帯に関連する各対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照して前記1つ以上の時間帯に関連する各対象データの各分割データの格納先ノードをさらに検索することを繰り返すことにより、前記1つ以上の時間帯に関連する対象データ毎に、前記復元数以上まで前記格納先ノードを特定することを特徴とする付記1から付記4のいずれか1つに記載のノード。
(付記6)
少なくとも一部のノードの前記ノード状態管理部は、前記分割数ノード一覧情報の更新履歴を保持し、
前記格納先ノード検索部は、前記読み出し対象のノードに関連する対象データの格納時点における前記分割数ノード一覧情報を、前記更新履歴を保持するノードから取得し、取得した分割数ノード一覧情報の示すノードの中から、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索することを特徴とする付記1から付記5のいずれか1つに記載のノード。
(付記7)
前記ノード状態管理部は、自ノードの状態を表す情報を取得して蓄積し、自ノードがマスタノードである場合、他の各ノードからその状態を表す情報を取得して、前記複数のノードそれぞれの状態に基づいて前記分割数のノードを決定して前記分割数ノード一覧情報を更新し、更新した分割数ノード一覧情報を他の各ノードに送信し、自ノードがマスタノードでない場合、前記マスタノードから受信する前記分割数ノード一覧情報を用いて自ノードの前記分割数ノード一覧情報を更新することを特徴とする付記1から付記6のいずれか1つに記載のノード。
(付記8)
前記読み出しノード決定部は、前記各ノードの状態に基づいて、前記格納先ノード検索部によって特定された格納先ノードのうち、前記復元数の格納先ノードを決定することを特徴とする付記1から付記7のいずれか1つに記載のノード。
(付記9)
前記読み出しノード決定部は、復元にかかる計算コストに基づいて、前記格納先ノード検索部によって特定された格納先ノードのうち、前記復元数の格納先ノードを決定することを特徴とする付記1から付記7のいずれか1つに記載のノード。
(付記10)
前記各ノードの状態として、前記各ノードの負荷を表す情報を適用することを特徴とする付記1から付記9のいずれか1つに記載のノード。
(付記11)
前記各ノードの状態として、前記各ノードに格納される前記分割データの量を適用することを特徴とする付記1から付記10のいずれか1つに記載のノード。
(付記12)
前記分割データ生成部は、前記対象データに消失訂正符号を付加して前記分割数に分割することを特徴とする付記1から付記11のいずれか1つに記載のノード。
(付記13)
前記分割データ生成部は、誤り訂正符号を用いてデータを分散配置する技術に基づき前記対象データから前記分割数の分割データを生成することを特徴とする付記1から付記11のいずれか1つに記載のノード。
(付記14)
前記分割データ送信部は、前記各分割データに前記格納履歴情報を含めて、前記格納先ノードに送信し、
前記分割データ格納部は、前記格納履歴情報を含む分割データを格納することを特徴とする付記1から付記13のいずれか1つに記載のノード。
(付記15)
前記情報処理システムを構成する複数のノードがグループに分割されているとき、
自ノードが属するグループ内の複数のノードを対象として機能することを特徴とする付記1から付記14のいずれか1つに記載のノード。
(付記16)
複数の付記1から付記15のいずれか1つに記載のノードからなる情報処理システム。
(付記17)
複数のノードからなる情報処理システムにおいて、前記ノードが、
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持し、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成し、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持し、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納し、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定し、
特定した格納先ノードのうち、前記復元数の格納先ノードを決定し、
決定した各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する方法。
(付記18)
複数のノードからなる情報処理システムにおける前記ノードに、
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持するノード状態管理ステップと、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成する分割データ生成ステップと、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割データ生成ステップで生成された前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持する分割データ送信ステップと、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納する分割データ格納ステップと、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記ノード状態管理ステップで保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定する格納先ノード検索ステップと、
前記格納先ノード検索ステップで特定された格納先ノードのうち、前記復元数の格納先ノードを決定する読み出しノード決定ステップと、
前記読み出しノード決定ステップで決定された各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する分割データ読み出しステップと、
を実行させるプログラム。
A part or all of each of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
The node in an information processing system comprising a plurality of nodes,
Among the plurality of nodes, the division number node list information representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data is maintained while being updated in synchronization with other nodes according to the state of each node. A node state management unit to
A divided data generation unit that generates the divided data of the divided number from the target data representing the information related to the own node so as to be reconstructable with the divided data of the restored number smaller than the divided number;
The division number node indicated by the division number node list information is used as a storage destination node, and the division data generated by the division data generation unit is transmitted to the division number storage destination node, respectively. A divided data transmission unit that holds information representing a storage destination node list of transmission destinations as transmission history information;
The divided data received from another node is stored together with storage history information including information indicating a generation source node of the divided data and information indicating a list of storage destination nodes of divided data divided from target data that is the source of the divided data. A divided data storage unit to store;
By referring to the transmission history information held in a node (read target node) designated as a read request or the division number node list information held in the node state management unit, the read target node By searching the storage destination node of each divided data of the target data related to, and referring to the storage history information held together with the divided data in the searched storage destination node, the target data related to the read target node A storage node search unit for specifying the storage node of each divided data up to the number of restorations; and
Among the storage destination nodes specified by the storage destination node search unit, a read node determination unit that determines the storage destination node of the restoration number;
A data reading unit that acquires the divided data from each storage destination node determined by the read node determining unit, and restores the target data using the acquired number of pieces of divided data;
A node with
(Appendix 2)
The storage destination node search unit further searches a storage destination node of each divided data of the target data related to the read target node with reference to storage history information held together with the divided data in the searched storage destination node 2. The node according to appendix 1, wherein the storage destination nodes equal to or more than the number of restorations are specified for each target data related to the node to be read by repeating the operation.
(Appendix 3)
When the storage destination node search unit cannot specify more storage destination nodes than the number of restorations, the storage destination node search unit sequentially inquires each of the plurality of nodes to store each divided data of the target data related to the read target node. The node according to Supplementary Note 1 or Supplementary Note 2, wherein a node is specified up to the number of restorations or more.
(Appendix 4)
The storage destination node search unit, when the state of each node satisfies a predetermined condition, without referring to the transmission history information, the division number node list information, and the storage history information, each of the plurality of nodes According to any one of appendix 1 to appendix 3, the storage destination node of each divided data of the target data related to the node to be read is specified to a predetermined number of restorations or more node.
(Appendix 5)
When the target data represents information related to an arbitrary time zone,
The divided data transmission unit includes, in the transmission history information, information indicating a time zone related to target data that is a source of the transmitted divided data,
The divided data storage unit includes, in the storage history information stored together with the divided data received from another node, information indicating a time zone related to the target data that is the source of the divided data,
When the storage destination node search unit is designated with a read target time zone in addition to the read target node, the storage destination node search unit stores one or more times corresponding to the read target time zone held in the read target node. One or more time zones corresponding to the time zone to be read in the node to be read by referring to the transmission history information of the zone or the division number node list information held in the node state management unit Each target data related to the one or more time zones is searched with reference to storage history information held together with the divided data in the storage destination node searched for the storage destination node of each divided data of each target data related to By further searching for the storage destination node of each divided data of the data, for each target data related to the one or more time zones, the number of restorations or less. Node according Appendixes 1 to any one of Appendices 4, characterized in that identifying the storage location node to.
(Appendix 6)
The node state management unit of at least some nodes holds an update history of the division number node list information,
The storage destination node search unit acquires the division number node list information at the time of storage of the target data related to the read target node from the node holding the update history, and indicates the acquired division number node list information 6. The node according to any one of appendix 1 to appendix 5, wherein a storage destination node of each divided data of the target data related to the node to be read is searched from the nodes.
(Appendix 7)
The node state management unit acquires and accumulates information representing the state of the own node, and when the own node is a master node, obtains information representing the state from each of the other nodes, and each of the plurality of nodes The node of the division number is determined based on the state of the node, the division node list information is updated, the updated node number node list information is transmitted to each of the other nodes, and when the own node is not the master node, The node according to any one of appendix 1 to appendix 6, wherein the split node list information of its own node is updated using the split node list information received from a node.
(Appendix 8)
From the appendix 1, wherein the read node determination unit determines the storage destination node of the restoration number among the storage destination nodes specified by the storage destination node search unit based on the state of each node. The node according to any one of appendix 7.
(Appendix 9)
From the supplementary note 1, the read node determination unit determines the storage destination node of the number of restorations among the storage destination nodes specified by the storage destination node search unit based on a calculation cost for restoration. The node according to any one of appendix 7.
(Appendix 10)
The node according to any one of appendix 1 to appendix 9, wherein information representing a load of each node is applied as the state of each node.
(Appendix 11)
The node according to any one of appendix 1 to appendix 10, wherein the amount of the divided data stored in each node is applied as the state of each node.
(Appendix 12)
The node according to any one of appendix 1 to appendix 11, wherein the divided data generation unit adds an erasure correction code to the target data and divides the data into the number of divisions.
(Appendix 13)
In any one of Supplementary Note 1 to Supplementary Note 11, wherein the divided data generation unit generates the divided data of the number of divisions from the target data based on a technique of distributing and arranging data using error correction codes. The listed node.
(Appendix 14)
The divided data transmission unit includes the storage history information in the divided data and transmits the divided data to the storage destination node.
The node according to any one of appendix 1 to appendix 13, wherein the segmented data storage unit stores segmented data including the storage history information.
(Appendix 15)
When a plurality of nodes constituting the information processing system are divided into groups,
15. The node according to any one of appendix 1 to appendix 14, wherein the node functions as a target for a plurality of nodes in a group to which the own node belongs.
(Appendix 16)
An information processing system comprising the node according to any one of the supplementary notes 1 to 15.
(Appendix 17)
In an information processing system comprising a plurality of nodes, the nodes are:
Among the plurality of nodes, the division number node list information representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data is maintained while being updated in synchronization with other nodes according to the state of each node. And
The division data of the division number is generated from the target data representing the information related to the own node so as to be reconstructable with the division data of the restoration number smaller than the division number,
The division number node list information indicated by the division number node list information is used as a storage destination node, and the division number division data is transmitted to the division number storage destination node, and the transmission destination storage destination node list is transmitted. Information to be stored as transmission history information,
The divided data received from another node is stored together with storage history information including information indicating a generation source node of the divided data and information indicating a list of storage destination nodes of divided data divided from target data that is the source of the divided data. Store and
Each divided data of the target data related to the read target node by referring to the transmission history information held in the node (read target node) designated as the read request or the division number node list information The storage destination node of each of the divided data of the target data related to the node to be read is determined by referring to the storage history information held together with the divided data in the searched storage destination node. Identify more than the number of restores,
Of the identified storage destination nodes, determine the storage destination nodes for the number of restorations,
A method of acquiring the divided data from each determined storage destination node and restoring the target data using the acquired number of divided data.
(Appendix 18)
In the node in the information processing system composed of a plurality of nodes,
Among the plurality of nodes, the division number node list information representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data is maintained while being updated in synchronization with other nodes according to the state of each node. A node state management step to perform,
A divided data generation step of generating the divided data of the divided number from the target data representing the information related to the own node so as to be reconstructable with the divided data of the restored number smaller than the divided number;
The division number node indicated by the division number node list information is used as a storage destination node, and the division number division data generated in the division data generation step is transmitted to the division number storage destination node, respectively. , A divided data transmission step for storing information representing a storage destination node list of transmission destinations as transmission history information;
The divided data received from another node is stored together with storage history information including information indicating a generation source node of the divided data and information indicating a list of storage destination nodes of divided data divided from target data that is the source of the divided data. A divided data storage step to store;
By referring to the transmission history information held in a node (read target node) designated as a read request or the division number node list information held in the node state management step, the read target node By searching the storage destination node of each divided data of the target data related to, and referring to the storage history information held together with the divided data in the searched storage destination node, the target data related to the read target node A storage node search step for specifying a storage node of each divided data up to the number of restorations; and
Of the storage destination nodes specified in the storage destination node search step, a read node determination step for determining a storage destination node of the number of restorations;
A divided data read step of acquiring the divided data from each storage destination node determined in the read node determining step, and restoring the target data using the acquired number of pieces of divided data;
A program that executes

1、2 情報処理システム
9 クライアント
10、20 ノード
11、21 ノード状態管理部
12、22 分割データ生成部
13、23 分割データ送信部
14、24 分割データ格納部
15、25 格納先ノード検索部
16、26 読み出しノード決定部
17、27 データ読み出し部
28 ログバッファ
105 内部ネットワーク
106 外部ネットワーク
211 ノード状態収集部
212 ノード選択部
251 初期検索部
252 格納先推定部
253 格納先網羅部
1001 CPU
1002 メモリ
1005、1006 ネットワークインタフェース
DESCRIPTION OF SYMBOLS 1, 2 Information processing system 9 Client 10, 20 Node 11, 21 Node state management part 12, 22 Division data generation part 13, 23 Division data transmission part 14, 24 Division data storage part 15, 25 Storage destination node search part 16, 26 Reading node determination unit 17, 27 Data reading unit 28 Log buffer 105 Internal network 106 External network 211 Node state collection unit 212 Node selection unit 251 Initial search unit 252 Storage location estimation unit 253 Storage location coverage unit 1001 CPU
1002 Memory 1005, 1006 Network interface

Claims (10)

複数のノードからなる情報処理システムにおける前記ノードであって、
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持するノード状態管理部と、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成する分割データ生成部と、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割データ生成部によって生成された前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持する分割データ送信部と、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納する分割データ格納部と、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記ノード状態管理部に保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定する格納先ノード検索部と、
前記格納先ノード検索部によって特定された格納先ノードのうち、前記復元数の格納先ノードを決定する読み出しノード決定部と、
前記読み出しノード決定部によって決定された各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元するデータ読み出し部と、
を備えたノード。
The node in an information processing system comprising a plurality of nodes,
Among the plurality of nodes, the division number node list information representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data is maintained while being updated in synchronization with other nodes according to the state of each node. A node state management unit to
A divided data generation unit that generates the divided data of the divided number from the target data representing the information related to the own node so as to be reconstructable with the divided data of the restored number smaller than the divided number;
The division number node indicated by the division number node list information is used as a storage destination node, and the division data generated by the division data generation unit is transmitted to the division number storage destination node, respectively. A divided data transmission unit that holds information representing a storage destination node list of transmission destinations as transmission history information;
The divided data received from another node is stored together with storage history information including information indicating a generation source node of the divided data and information indicating a list of storage destination nodes of divided data divided from target data that is the source of the divided data. A divided data storage unit to store;
By referring to the transmission history information held in a node (read target node) designated as a read request or the division number node list information held in the node state management unit, the read target node By searching the storage destination node of each divided data of the target data related to, and referring to the storage history information held together with the divided data in the searched storage destination node, the target data related to the read target node A storage node search unit for specifying the storage node of each divided data up to the number of restorations; and
Among the storage destination nodes specified by the storage destination node search unit, a read node determination unit that determines the storage destination node of the restoration number;
A data reading unit that acquires the divided data from each storage destination node determined by the read node determining unit, and restores the target data using the acquired number of pieces of divided data;
A node with
前記格納先ノード検索部は、前記検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照して前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードをさらに検索することを繰り返すことにより、前記読み出し対象のノードに関連する対象データ毎に、前記復元数以上の格納先ノードを特定することを特徴とする請求項1に記載のノード。   The storage destination node search unit further searches a storage destination node of each divided data of the target data related to the read target node with reference to storage history information held together with the divided data in the searched storage destination node 2. The node according to claim 1, wherein, by repeating the operation, storage nodes equal to or more than the number of restorations are identified for each target data related to the node to be read. 前記格納先ノード検索部は、前記復元数以上の格納先ノードを特定できない場合、前記複数のノードのそれぞれに順次問い合わせることにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定することを特徴とする請求項1または請求項2に記載のノード。   When the storage destination node search unit cannot specify more storage destination nodes than the number of restorations, the storage destination node search unit sequentially inquires each of the plurality of nodes to store each divided data of the target data related to the read target node. The node according to claim 1, wherein the node is identified up to the number of restorations. 前記格納先ノード検索部は、前記各ノードの状態が所定条件を満たす場合、前記送信履歴情報、前記分割数ノード一覧情報、および、前記格納履歴情報を参照せずに、前記複数のノードのそれぞれに問い合わせることにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを所定の復元数以上まで特定することを特徴とする請求項1から請求項3のいずれか1項に記載のノード。   The storage destination node search unit, when the state of each node satisfies a predetermined condition, without referring to the transmission history information, the division number node list information, and the storage history information, each of the plurality of nodes The storage node of each divided data of the target data related to the node to be read is specified up to a predetermined number of restorations or more by querying to The listed node. 前記対象データが、任意の時間帯に関連する情報を表すとき、
前記分割データ送信部は、前記送信履歴情報に、送信した前記分割データの元となる対象データに関連する時間帯を表す情報を含め、
前記分割データ格納部は、他ノードから受信した前記分割データと共に格納する格納履歴情報に、該分割データの元となる対象データに関連する時間帯を表す情報を含め、
前記格納先ノード検索部は、前記読み出し対象のノードに加えて読み出し対象の時間帯を指定されると、前記読み出し対象のノードに保持される前記読み出し対象の時間帯に対応する1つ以上の時間帯の送信履歴情報、または、前記ノード状態管理部に保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードにおいて前記読み出し対象の時間帯に対応する1つ以上の時間帯に関連する各対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照して前記1つ以上の時間帯に関連する各対象データの各分割データの格納先ノードをさらに検索することを繰り返すことにより、前記1つ以上の時間帯に関連する対象データ毎に、前記復元数以上まで前記格納先ノードを特定することを特徴とする請求項1から請求項4のいずれか1項に記載のノード。
When the target data represents information related to an arbitrary time zone,
The divided data transmission unit includes, in the transmission history information, information indicating a time zone related to target data that is a source of the transmitted divided data,
The divided data storage unit includes, in the storage history information stored together with the divided data received from another node, information indicating a time zone related to the target data that is the source of the divided data,
When the storage destination node search unit is designated with a read target time zone in addition to the read target node, the storage destination node search unit stores one or more times corresponding to the read target time zone held in the read target node. One or more time zones corresponding to the time zone to be read in the node to be read by referring to the transmission history information of the zone or the division number node list information held in the node state management unit Each target data related to the one or more time zones is searched with reference to storage history information held together with the divided data in the storage destination node searched for the storage destination node of each divided data of each target data related to By further searching for the storage destination node of each divided data of the data, for each target data related to the one or more time zones, the number of restorations or less. Node according to any one of claims 1 to 4, characterized in that identifying the storage location node to.
少なくとも一部のノードの前記ノード状態管理部は、前記分割数ノード一覧情報の更新履歴を保持し、
前記格納先ノード検索部は、前記読み出し対象のノードに関連する対象データの格納時点における前記分割数ノード一覧情報を、前記更新履歴を保持するノードから取得し、取得した分割数ノード一覧情報の示すノードの中から、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索することを特徴とする請求項1から請求項5のいずれか1項に記載のノード。
The node state management unit of at least some nodes holds an update history of the division number node list information,
The storage destination node search unit acquires the division number node list information at the time of storage of the target data related to the read target node from the node holding the update history, and indicates the acquired division number node list information The node according to any one of claims 1 to 5, wherein a storage destination node of each divided data of target data related to the node to be read is searched from among the nodes.
前記情報処理システムを構成する複数のノードがグループに分割されているとき、
自ノードが属するグループ内の複数のノードを対象として機能することを特徴とする請求項1から請求項6のいずれか1項に記載のノード。
When a plurality of nodes constituting the information processing system are divided into groups,
The node according to any one of claims 1 to 6, wherein the node functions as a target for a plurality of nodes in a group to which the own node belongs.
複数の請求項1から請求項7のいずれか1項に記載のノードからなる情報処理システム。   An information processing system comprising a plurality of nodes according to any one of claims 1 to 7. 複数のノードからなる情報処理システムにおいて、前記ノードが、
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持し、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成し、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持し、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納し、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定し、
特定した格納先ノードのうち、前記復元数の格納先ノードを決定し、
決定した各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する方法。
In an information processing system comprising a plurality of nodes, the nodes are:
Among the plurality of nodes, the division number node list information representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data is maintained while being updated in synchronization with other nodes according to the state of each node. And
The division data of the division number is generated from the target data representing the information related to the own node so as to be reconstructable with the division data of the restoration number smaller than the division number,
The division number node list information indicated by the division number node list information is used as a storage destination node, and the division number division data is transmitted to the division number storage destination node, and the transmission destination storage destination node list is transmitted. Information to be stored as transmission history information,
The divided data received from another node is stored together with storage history information including information indicating a generation source node of the divided data and information indicating a list of storage destination nodes of divided data divided from target data that is the source of the divided data. Store and
Each divided data of the target data related to the read target node by referring to the transmission history information held in the node (read target node) designated as the read request or the division number node list information The storage destination node of each of the divided data of the target data related to the node to be read is determined by referring to the storage history information held together with the divided data in the searched storage destination node. Identify more than the number of restores,
Of the identified storage destination nodes, determine the storage destination nodes for the number of restorations,
A method of acquiring the divided data from each determined storage destination node and restoring the target data using the acquired number of divided data.
複数のノードからなる情報処理システムにおける前記ノードに、
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持するノード状態管理ステップと、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成する分割データ生成ステップと、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割データ生成ステップで生成された前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持する分割データ送信ステップと、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納する分割データ格納ステップと、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記ノード状態管理ステップで保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定する格納先ノード検索ステップと、
前記格納先ノード検索ステップで特定された格納先ノードのうち、前記復元数の格納先ノードを決定する読み出しノード決定ステップと、
前記読み出しノード決定ステップで決定された各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する分割データ読み出しステップと、
を実行させるプログラム。
In the node in the information processing system composed of a plurality of nodes,
Among the plurality of nodes, the division number node list information representing a node list of a predetermined division number that can be a distributed storage destination of arbitrary data is maintained while being updated in synchronization with other nodes according to the state of each node. A node state management step to perform,
A divided data generation step of generating the divided data of the divided number from the target data representing the information related to the own node so as to be reconstructable with the divided data of the restored number smaller than the divided number;
The division number node indicated by the division number node list information is used as a storage destination node, and the division number division data generated in the division data generation step is transmitted to the division number storage destination node, respectively. , A divided data transmission step for storing information representing a storage destination node list of transmission destinations as transmission history information;
The divided data received from another node is stored together with storage history information including information indicating a generation source node of the divided data and information indicating a list of storage destination nodes of divided data divided from target data that is the source of the divided data. A divided data storage step to store;
By referring to the transmission history information held in a node (read target node) designated as a read request or the division number node list information held in the node state management step, the read target node By searching the storage destination node of each divided data of the target data related to, and referring to the storage history information held together with the divided data in the searched storage destination node, the target data related to the read target node A storage node search step for specifying a storage node of each divided data up to the number of restorations; and
Of the storage destination nodes specified in the storage destination node search step, a read node determination step for determining a storage destination node of the number of restorations;
A divided data read step of acquiring the divided data from each storage destination node determined in the read node determining step, and restoring the target data using the acquired number of pieces of divided data;
A program that executes
JP2015059063A 2015-03-23 2015-03-23 NODE, INFORMATION PROCESSING SYSTEM, METHOD, AND PROGRAM Active JP6432407B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015059063A JP6432407B2 (en) 2015-03-23 2015-03-23 NODE, INFORMATION PROCESSING SYSTEM, METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015059063A JP6432407B2 (en) 2015-03-23 2015-03-23 NODE, INFORMATION PROCESSING SYSTEM, METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2016177724A true JP2016177724A (en) 2016-10-06
JP6432407B2 JP6432407B2 (en) 2018-12-05

Family

ID=57071436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015059063A Active JP6432407B2 (en) 2015-03-23 2015-03-23 NODE, INFORMATION PROCESSING SYSTEM, METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6432407B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221196B1 (en) * 2017-03-15 2017-11-01 株式会社ウフル Log management system, log management apparatus, method, and computer program
JP6268661B1 (en) * 2017-08-31 2018-01-31 株式会社ウフル Log management system, log management apparatus, method, and computer program
JP2020013226A (en) * 2018-07-13 2020-01-23 株式会社日立製作所 Storage system and information management method
JP2020080483A (en) * 2018-11-13 2020-05-28 日本無線株式会社 Relay broadcasting device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007073004A (en) * 2005-09-09 2007-03-22 Canon Inc Data maintenance information apparatus, dispersion storage system, and its method
WO2008056496A1 (en) * 2006-11-09 2008-05-15 Konica Minolta Holdings, Inc. Information management method and information processing device
JP2008181213A (en) * 2007-01-23 2008-08-07 Fuji Xerox Co Ltd Information management system, information management device, and program
JP2010277517A (en) * 2009-06-01 2010-12-09 Ricoh Co Ltd File management server, file management system, file management program and file management method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007073004A (en) * 2005-09-09 2007-03-22 Canon Inc Data maintenance information apparatus, dispersion storage system, and its method
WO2008056496A1 (en) * 2006-11-09 2008-05-15 Konica Minolta Holdings, Inc. Information management method and information processing device
JP2008181213A (en) * 2007-01-23 2008-08-07 Fuji Xerox Co Ltd Information management system, information management device, and program
JP2010277517A (en) * 2009-06-01 2010-12-09 Ricoh Co Ltd File management server, file management system, file management program and file management method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221196B1 (en) * 2017-03-15 2017-11-01 株式会社ウフル Log management system, log management apparatus, method, and computer program
WO2018168140A1 (en) * 2017-03-15 2018-09-20 株式会社ウフル Log management system, log management device, method and computer program
JP2018152011A (en) * 2017-03-15 2018-09-27 株式会社ウフル Log management system, log management device, log management method, and computer program
US11539514B2 (en) * 2017-03-15 2022-12-27 Uhuru Corporation Log management system, log management apparatuses, methods and computer programs
JP6268661B1 (en) * 2017-08-31 2018-01-31 株式会社ウフル Log management system, log management apparatus, method, and computer program
JP2018156620A (en) * 2017-08-31 2018-10-04 株式会社ウフル Log management system, log management device, method and computer program
JP2020013226A (en) * 2018-07-13 2020-01-23 株式会社日立製作所 Storage system and information management method
US10891166B2 (en) 2018-07-13 2021-01-12 Hitachi, Ltd. Storage system and information management method having a plurality of representative nodes and a plurality of general nodes including a plurality of resources
JP2020080483A (en) * 2018-11-13 2020-05-28 日本無線株式会社 Relay broadcasting device
JP7210098B2 (en) 2018-11-13 2023-01-23 日本無線株式会社 Relay broadcasting equipment

Also Published As

Publication number Publication date
JP6432407B2 (en) 2018-12-05

Similar Documents

Publication Publication Date Title
CN107423426B (en) Data archiving method for block chain block data and electronic equipment
EP3531288B1 (en) Data storage method, device, and system
US11301154B2 (en) Distributed storage method and device
US20160232055A1 (en) Methods for distributing erasure-coded fragments in a geo-distributed storage system and devices thereof
EP3223165B1 (en) File processing method, system and server-clustered system for cloud storage
CN111182067B (en) Data writing method and device based on interplanetary file system IPFS
US8069224B2 (en) Method, equipment and system for resource acquisition
US10908834B2 (en) Load balancing for scalable storage system
JP6432407B2 (en) NODE, INFORMATION PROCESSING SYSTEM, METHOD, AND PROGRAM
US20080201428A1 (en) Method for Operating a Fixed Prefix Peer to Peer Network
JP6492123B2 (en) Distributed caching and cache analysis
US20120323864A1 (en) Distributed de-duplication system and processing method thereof
CN109582213B (en) Data reconstruction method and device and data storage system
WO2011071104A1 (en) Distributed file system, data selection method of same and program
CN110147203B (en) File management method and device, electronic equipment and storage medium
JP2011170667A (en) File-synchronizing system, file synchronization method, and file synchronization program
CN112783445A (en) Data storage method, device, system, electronic equipment and readable storage medium
CN104580381A (en) Method for performing job task in multi-node network
CN113760847A (en) Log data processing method, device, equipment and storage medium
JP6951846B2 (en) Computer system and task allocation method
CN105760391B (en) Method, data node, name node and system for dynamically redistributing data
JP6135226B2 (en) Information processing apparatus, information processing method, storage system, and computer program
US20130226867A1 (en) Apparatus and method for converting replication-based file into parity-based file in asymmetric clustering file system
JP5371656B2 (en) File search system
WO2009031158A2 (en) Method and apparatus for network based data recovery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6432407

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150