JP2016177724A - Node, information processing system, method, and program - Google Patents
Node, information processing system, method, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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.
しかしながら、特許文献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.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 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
次に、ノード10の機能ブロック構成を図2に示す。図2において、ノード10は、ノード状態管理部11と、分割データ生成部12と、分割データ送信部13と、分割データ格納部14と、格納先ノード検索部15と、読み出しノード決定部16と、データ読み出し部17とを備える。
Next, the functional block configuration of the
ここで、各ノード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
ノード状態管理部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
例えば、複数のノード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
分割データ生成部12は、自ノードに関連する情報を表す対象データから、分割数の分割データを生成する。分割データの生成処理には、分割数の分割データのうち、分割数より少ない復元数の分割データを用いて元の対象データを復元可能な技術を採用する。例えば、そのような分割データ生成処理としては、消失訂正符号(erasure code)を付加して分割する技術が知られている。また、他のそのような分割データ生成処理としては、誤り訂正符号を用いてデータを分散配置するRAID(Redundant Arrays of Independent Disks)技術等が知られている。RAIDを採用する場合、分割数より2つ少ない復元数で復元可能なレベル6を採用することが望ましいが、他のレベルを採用することも可能である。
The divided
分割データ送信部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
生成元ノード情報とは、分割データの生成元のノード10を表す情報である。つまり、ここで送信する生成元ノード情報は、自ノードを表す情報である。また、格納先ノード一覧情報とは、これらの分割データの格納先となるノード10の一覧を表す情報である。つまり、ここで送信する格納先ノード一覧情報は、分割数ノード一覧情報に基づき決定した格納先のノード10の一覧を表す情報である。
The generation source node information is information representing the
また、分割データ送信部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
分割データ格納部14は、他のノード10から受信した分割データを、格納履歴情報と共に格納する。格納履歴情報は、分割データの生成元ノード情報および格納先ノード一覧情報を含む。これらの情報は、前述のように、分割データの送信元(すなわち、生成元)から分割データと共に送信されたものである。つまり、格納履歴情報に含まれる格納先ノード一覧情報は、受信した分割データを含む分割数の分割データの格納先のノード10の一覧を表している。
The divided data storage unit 14 stores the divided data received from the
また、分割データ格納部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
また、分割データ格納部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
格納先ノード検索部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
格納先ノード検索部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
具体的には、格納先ノード検索部15は、読み出し対象のノード10から送信履歴情報を取得することを試みる。読み出し対象のノード10から送信履歴情報を取得できる場合、格納先ノード検索部15は、その送信履歴情報に示される格納先ノード一覧を、読み出し対象のノード10に関連する対象データの各分割データの格納先のノード10を表す情報として特定する。
Specifically, the storage destination node search unit 15 attempts to acquire transmission history information from the
また、読み出し対象のノード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
格納先ノード検索部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
なお、格納先ノード検索部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
読み出しノード決定部16は、格納先ノード検索部15によって特定された格納先のノード10のうち、復元数のノード10を決定する。例えば、読み出しノード決定部16は、各ノード10の状態に基づいて、復元数のノード10を決定してもよい。なお、各ノード10の状態を表す情報は、ノード状態管理部11に問い合わせることにより取得可能である。
The read node determination unit 16 determines the number of
データ読み出し部17は、読み出しノード決定部16によって決定された復元数のノード10から、読み出し対象のノード10に関連する対象データの分割データを取得する。そして、データ読み出し部17は、取得した復元数の分割データを用いて対象データを復元する。
The data reading unit 17 acquires the divided data of the target data related to the
以上のように構成された情報処理システム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
まず、分割データ生成部12は、対象データから、分割数の分割データを生成する(ステップA1)。前述のように、ここでは、分割数より少ない復元数の分割データを用いて元の対象データを復元可能な分割データ生成技術が用いられる。
First, the divided
次に、分割データ送信部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
次に、分割データ送信部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
次に、分割データ送信部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
以上で、情報処理システム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
まず、読み出しを行うノード10の格納先ノード検索部15は、読み出し対象のノード10がアクセス可能であるか否かを判断する(ステップB1)。
First, the storage node search unit 15 of the
ここで、読み出し対象のノード10がアクセス可能である場合について説明する。この場合、読み出しを行うノード10の格納先ノード検索部15は、読み出し対象のノード10に対して、送信履歴情報の送信を要求する(ステップB2)。
Here, a case where the
次に、読み出し対象のノード10の分割データ送信部13は、送信履歴情報を、読み出しを行うノード10に対して送信する(ステップB3)。この送信履歴情報は、読み出し対象のノード10に関連する対象データの分割データを送信した際の送信履歴情報である。ただし、読み出し対象のノード10は、障害やその他の理由により、送信履歴情報を失い保持していない可能性もある。
Next, the divided data transmission unit 13 of the
そこで、次に、読み出しを行うノード10の格納先ノード検索部15は、読み出し対象のノード10から送信履歴情報を取得できたか否かを判断する(ステップB4)。
Therefore, next, the storage node search unit 15 of the
ここで、送信履歴情報を取得できた場合について説明する。この場合、読み出しを行うノード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
一方、ステップB1で、読み出し対象のノード10がアクセス可能でなかった場合、または、ステップB4で、送信履歴情報を取得できなかった場合について説明する。この場合、読み出しを行うノード10の格納先ノード検索部15は、分割数ノード一覧情報の示す各ノード10に問い合わせを行い、読み出し対象のノード10に関連する対象データの各分割データを格納しているノード10を検索する(ステップB6)。
On the other hand, a case where the
次に、検索されたノード10の分割データ格納部14は、その分割データに対応する格納履歴情報を、問い合わせ元のノード10に返信する(ステップB7)。
Next, the divided data storage unit 14 of the searched
次に、読み出しを行うノード10の格納先ノード検索部15は、格納履歴情報に含まれる格納先ノード一覧の示す各ノード10に問い合わせを行い、読み出し対象のノード10に関連する対象データの各分割データを格納するノード10を検索する(ステップB8)。
Next, the storage destination node search unit 15 of the
なお、ステップ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
前述のように、読み出しノード決定部16は、ノード状態管理部11に問い合わせることにより、各ノード10の状態に基づいて、復元数のノード10を決定してもよい。
As described above, the read node determination unit 16 may determine the number of
次に、読み出しを行うノード10のデータ読み出し部17は、ステップB9で決定された復元数のノード10に対して、読み出し対象のノード10に関連する対象データの分割データをそれぞれ要求する(ステップB10)。
Next, the data reading unit 17 of the
次に、要求を受けたノード10の分割データ格納部14は、該当する分割データを要求元のノード10に送信する(ステップB11)。
Next, the divided data storage unit 14 of the
次に、読み出しを行うノード10のデータ読み出し部17は、ステップB11で得られた復元数の分割データを用いて、元の対象データを復元する(ステップB12)。
Next, the data reading unit 17 of the
以上で、情報処理システム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
なお、複数のノード20は、本発明の第1の実施の形態と同様に、内部ネットワーク105を介して互いに通信可能であり、かつ、内部ネットワーク106を介して外部と通信可能になっている。また、情報処理システム2は、本発明の第1の実施の形態と同様に、外部のクライアント9から指示される各種の処理を実行する。また、図6には、3つのノード20を示したが、本発明の情報処理システムが備えるノードの数を限定するものではない。また、図6には、1つのクライアント9を示したが、本発明の情報処理システムを利用する装置の数を限定するものではない。
Note that the plurality of
次に、ノード20の機能ブロック構成を図7に示す。図7において、ノード20は、ノード状態管理部21と、分割データ生成部22と、分割データ送信部23と、分割データ格納部24と、格納先ノード検索部25と、読み出しノード決定部26と、データ読み出し部27とを備える。さらに、ノード20は、ログバッファ28を備える。ここで、ノード20およびその各機能ブロックは、図3を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。なお、ノード20およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
Next, the functional block configuration of the
ノード状態管理部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
ノード選択部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
また、ノード選択部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
例えば、ノード選択部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
また、ノード選択部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
分割データ生成部22は、ログバッファ28に蓄積されたログがあらかじめ定められた量を超えると、ログバッファ28からログを取得する。取得したログは、前回ログを取得した時刻以降、今回取得時刻までの時間帯の情報を表すことになる。そして、分割データ生成部22は、取得したログから、分割数の断片ログを生成する。断片ログの生成処理には、本発明の第1の実施の形態と同様に、分割数の断片ログのうち、分割数より少ない復元数の断片ログを用いて元のログを復元可能な技術を採用する。
The divided
分割データ送信部23は、本発明の第1の実施の形態における分割データ送信部13と略同様に構成される。ただし、本実施の形態では、それぞれの格納先のノード20に対して断片ログに付随させて送信する情報の詳細と、送信履歴情報の詳細とが異なる。詳細には、分割データ送信部23は、それぞれの格納先のノード20に対して、断片ログに付随させて、生成元ノード情報および格納先ノード一覧情報に加えて、分割前のログの時間帯を表す情報を送信する。また、分割データ送信部23は、断片ログを送信した格納先ノード一覧を表す情報に加えて、分割前のログの時間帯を表す情報を含めて、送信履歴情報を保持する。
The divided
また、分割データ送信部23は、他のノード20における後述の格納先ノード検索部25から、指定された時間帯の送信履歴情報の取得要求を受信する。そして、分割データ送信部23は、指定された時間帯に対応する送信履歴情報を、要求元のノード20に返信する。ここで、指定された時間に対応する複数の送信履歴情報があるケースも考えられる。この場合、分割データ送信部23は、各送信履歴情報を、要求元のノード20に返信すればよい。複数の送信履歴情報があるケースの詳細については後述する。
In addition, the divided
分割データ格納部24は、本発明の第1の実施の形態における分割データ格納部14と略同様に構成される。ただし、本実施の形態では、断片ログと共に格納する格納履歴情報の詳細が異なる。分割データ格納部24は、格納履歴情報として、断片ログの生成元ノード情報、および、この断片ログに対応する格納先ノード一覧情報に加えて、分割前のログの時間帯を表す情報を、断片ログと共に格納する。これらの情報は、前述のように、断片ログの送信元から断片ログと共に送信されたものである。
The divided
また、分割データ格納部24は、他のノード20における後述の格納先ノード検索部25から、特定のノード20において特定の時間帯に対応する1つ以上の時間帯の各ログの断片ログを格納しているか否かの問い合わせを受信する。特定のノード20において特定の時間帯に対応する1つ以上の時間帯の各ログの断片ログを格納しているか否かは、自ノードに格納している格納履歴情報に含まれる生成元ノード情報および時間帯を参照することにより判断できる。そして、分割データ格納部24は、該当する断片ログを格納している場合、その断片ログと共に格納している格納履歴情報を、問い合わせ元のノード20に返信する。
Further, the divided
格納先ノード検索部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
ここで、読み出し対象のノード20において、読み出し対象の時間帯の情報を含むログは、1つのログとして分散格納されているとは限らない。読み出し対象の時間帯の情報を含むログは、複数のログとしてそれぞれ分散格納されている可能性がある。例えば、読み出し対象の時間帯が「時刻t1〜t3」であったとする。また、読み出し対象のノード20において、ログバッファ28のログが所定量を超えて分散格納が行われた時刻が、t0、t2、t4であったとする。なお、t0<t1<t2<t3<t4である。この場合、ノード20には、時間帯t0〜t2のログを分散格納した際の送信履歴情報と、時間帯t2〜t4のログを分散格納した際の送信履歴情報とが保持されている。これらの送信履歴情報が、読み出し対象の時間帯t1〜t3に対応する各時間帯の送信履歴情報となる。
Here, in the
また、この場合、このノード20における時間帯t0〜t2のログと、時間帯t2〜t4のログとでは、それぞれの断片ログの格納先となったノード20の組合せが、同一であるとは限らない。これは、複数の時間帯のそれぞれのログが格納される時点において、格納先のノード20を決定するために用いられた分割数ノード一覧情報は、更新により異なる可能性があるためである。
Further, in this case, the combination of the
このようなケースを考慮して、格納先ノード検索部25は、読み出し対象の時間帯に対応する1つ以上の時間帯のそれぞれのログについて、その断片ログの格納先となっているノード20を復元数以上まで検索する必要がある。この検索処理を、格納先ノード検索部25は、初期検索部251と、格納先推定部252と、格納先網羅部253とを用いて行う。
In consideration of such a case, the storage destination node search unit 25 selects the
なお、格納先ノード検索部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
初期検索部251は、読み出し対象のノード20にアクセス可能かつ読み出し対象の時間帯の送信履歴情報が保持されている場合、そのノード20から、読み出し対象の時間帯の送信履歴情報を取得する。なお、上述したように、読み出し対象のノード20において、読み出し対象の時間帯に対応する複数の時間帯に関する送信履歴情報が保持されている場合がある。この場合、初期検索部251は、各時間帯について送信履歴情報を取得する。そして、初期検索部251は、取得したそれぞれの送信履歴情報に含まれる格納先ノード一覧の示すノード20を、該当する断片ログの格納先として特定する。
The initial search unit 251 obtains transmission history information of a read target time zone from the
また、初期検索部251は、読み出し対象のノード20にアクセス不可能または読み出し対象の時間帯の送信履歴情報が保持されていない場合、この時点での分割数ノード一覧情報が示す各ノード20に、該当する断片ログを格納しているか否かを順次問い合わせる。そして、初期検索部251は、該当する断片ログを格納しているノード20を特定する。なお、問い合わせに伴い、初期検索部251は、そのノード20において該当する断片ログと共に保持されている格納履歴情報を取得する。このとき、上述したように、該当するノード20において、読み出し対象の時間帯に対応する複数の時間帯の断片ログが格納されている場合がある。その場合、初期検索部251は、該当するノード20から、該当するそれぞれの断片ログと共に保持されている格納履歴情報を取得すればよい。
In addition, when the
ここで、初期検索部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
格納先推定部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
ここで、格納先推定部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
格納先網羅部253は、情報処理システム2を構成する各ノード20のうち、まだ問い合わせていない各ノード20に対して、該当する断片ログを格納しているか否かを、順次問い合わせる。このようにして、格納先網羅部253は、初期検索部251および格納先推定部252だけでは復元数以上の断片ログの所在が特定できていなかった時間帯について、復元数以上となるまで残りの断片ログの所在を特定する。
The storage
このようにして、格納先ノード検索部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
読み出しノード決定部26は、読み出し対象の時間帯に対応する各時間帯のログについて、格納先ノード検索部25によって特定された格納先のノード20のうち、復元数のノード20を決定する。具体的には、読み出しノード決定部26は、マスタノードとなっているノード20のノード状態管理部21に問い合わせることにより、各ノード20の状態に基づいて、復元数以上の格納先のノード20を決定する。
The read node determination unit 26 determines the number of
データ読み出し部27は、読み出し対象の時間帯に対応する各時間帯のログについて、読み出しノード決定部26によって決定された復元数のノード20から、該当する断片ログを取得する。取得する断片ログは、読み出し対象のノード20の指定された時間帯に対応する1つ以上の時間帯のログの断片ログである。そして、データ読み出し部27は、読み出し対象の時間帯に対応する1つ以上の各時間帯のログを、それぞれ復元数の断片ログを用いて復元する。
The data reading unit 27 acquires a corresponding fragment log from the restoration number of
以上のように構成された情報処理システム2の動作について、図面を参照して説明する。
The operation of the
まず、情報処理システム2のデータ格納動作を図8に示す。なお、図8において、左図は、書き込みを行うノード20の動作を表し、右図は、格納先となった各ノード20の動作を表す。また、ノード状態管理部21の分割数ノード一覧情報は、マスタノードとなっているノード20により適宜更新されているものとする。また、書き込みを行うノード20は、ログバッファ28のログが所定量を超えたタイミングで、下記の動作を開始するものとする。
First, the data storage operation of the
まず、分割データ生成部22は、ログバッファ28から、ログを取得する。また、分割データ生成部22は、取得したログの時間帯を求める(ステップA100)。なお、取得したログの時間帯は、前回取得した時刻から今回取得した時刻までである。あるいは、分割データ生成部22は、取得したログの内容を参照することにより、その時間帯を求めてもよい。
First, the divided
次に、分割データ生成部22は、取得したログから、分割数の断片ログを生成する(ステップA101)。ここでは、本発明の第1の実施の形態と同様に、分割数より少ない復元数の断片ログを用いて元のログを復元可能な分割データ生成技術が用いられる。
Next, the divided
次に、分割データ送信部23は、ノード状態管理部21から分割数ノード一覧情報を取得し、取得した分割数ノード一覧情報の示す分割数のノード20を、格納先として決定する(ステップA102)。
Next, the divided
次に、分割データ送信部23は、ステップA101で生成された分割数の断片ログを、ステップA102で決定された分割数の格納先のノード20に対して、それぞれ送信する(ステップA103)。このとき、前述のように、分割データ送信部23は、元のログの時間帯、生成元ノード情報および格納先ノード一覧情報を、断片ログと共に格納先のノード20に対してそれぞれ送信する。
Next, the divided
次に、分割データ送信部23は、ステップA103で送信した断片ログの格納先ノード一覧および元のログの時間帯を表す情報を、送信履歴情報として保存する(ステップA104)。
Next, the divided
次に、断片ログを受信したノード20では、分割データ格納部24は、受信した断片ログを格納履歴情報と共に格納する(ステップA105)。ここで、格納履歴情報は、断片ログと共に受信した時間帯を表す情報、生成元ノード情報および格納先ノード一覧情報を含む。
Next, in the
以上で、情報処理システム2は、データ格納動作を終了する。
Thus, the
次に、情報処理システム2のデータ読み出し動作を図9に示す。なお、図9において、中央の図は、読み出しを行うノード20の動作を示し、左図は、読み出し対象のノード20の動作を示し、右図は、対象の断片ログを格納している各ノード20の動作を示す。また、読み出しを行うノード20は、読み出し対象のノード20および読み出し対象の時間帯を指定する情報が入力されると、下記の動作を開始するものとする。
Next, the data read operation of the
まず、読み出しを行うノード20の格納先ノード検索部25は、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、断片ログの格納先のノード20を復元数以上まで特定する(ステップB101)。このステップの詳細については後述する。
First, the storage destination node search unit 25 of the
また、ステップB101の格納先検索動作に応じて、読み出し対象のノード20の分割データ送信部23は、読み出し対象の時間帯に対応する各時間帯の送信履歴情報を、読み出しを行うノード20に送信する(ステップB102)。
Further, according to the storage location search operation in step B101, the divided
また、ステップB101の格納先検索動作に応じて、格納先のノード20の分割データ格納部24は、読み出し対象の時間帯に対応する各時間帯のログの断片ログと共に格納している格納履歴情報を、読み出しを行うノード20に送信する(ステップB103)。
Further, according to the storage location search operation in step B101, the divided
次に、読み出しを行うノード20の読み出しノード決定部26は、読み出し対象の時間帯に対応する時間帯のそれぞれについて、特定された復元数以上の格納先のノード20から、復元数のノード20を決定する(ステップB104)。
Next, the read node determination unit 26 of the
前述のように、読み出しノード決定部26は、マスタノードのノード状態管理部21に問い合わせることにより、各ノード20の状態に基づいて、復元数のノード20を決定すればよい。
As described above, the read node determination unit 26 may determine the number of
次に、読み出しを行うノード20のデータ読み出し部27は、各時間帯についてステップB104で決定された復元数のノード20に対して、それぞれ該当する断片ログを要求する(ステップB105)。該当する断片ログは、読み出し対象のノード20の読み出し対象の時間帯に対応する各時間帯のログから生成された断片ログである。
Next, the data reading unit 27 of the
次に、要求を受けたノード20の分割データ格納部24は、該当する断片ログを要求元のノード20に返信する(ステップB106)。
Next, the divided
次に、読み出しを行うノード20のデータ読み出し部27は、各時間帯について、復元数の断片ログを用いて元のログを復元する(ステップB107)。
Next, the data reading unit 27 of the
以上で、情報処理システム2は、データ読み出し動作を終了する。
Thus, the
次に、ステップ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
ここで、読み出し対象のノード20がアクセス可能である場合について説明する。この場合、読み出しを行うノード20の初期検索部251は、読み出し対象のノード20に対して、読み出し対象の時間帯に対応する1つ以上の各時間帯の送信履歴情報の送信を要求する(ステップB202)。
Here, a case where the
次に、読み出し対象のノード20の分割データ送信部23は、図9のステップB102で説明したように、読み出し対象の時間帯に対応する1つ以上の各時間帯の送信履歴情報を、読み出しを行うノード20に対して送信する。ここでは、1つまたは複数の時間帯についてそれぞれの送信履歴情報が送信される。ただし、読み出し対象のノード20が、障害やその他の理由により、読み出し対象の時間帯に対応する1つ以上の時間帯の一部または全ての送信履歴情報を失い保持していない可能性もある。
Next, as described in Step B102 of FIG. 9, the divided
そこで、次に、読み出しを行うノード20の初期検索部251は、読み出し対象のノード20から、該当する各時間帯の送信履歴情報を取得できたか否かを判断する(ステップB203)。
Therefore, next, the initial search unit 251 of the
ここで、該当する各時間帯の送信履歴情報を取得できた場合について説明する。この場合、読み出しを行うノード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
そして、読み出しを行うノード20の格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。
Then, the storage destination node search unit 25 of the
一方、ステップB201で、読み出し対象のノード20がアクセス可能でなかった場合、または、ステップB203で、少なくとも一部の時間帯の送信履歴情報を取得できなかった場合について説明する。この場合、読み出しを行うノード20の初期検索部251は、分割数ノード一覧情報の示す各ノード20を問い合わせ対象とする。そして、初期検索部251は、問い合わせ対象のノード20に対して、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、その断片ログを格納しているか否かを問い合わせる(ステップB205)。
On the other hand, a case where the
次に、問い合わせを受けたノード20の分割データ格納部24は、図9のステップB103で説明したように、該当する断片ログを格納している場合、対応する格納履歴情報を、問い合わせ元のノード20に返信する。ここでは、1つまたは複数の時間帯のログの断片ログについてそれぞれの格納履歴情報が送信される。
Next, when the divided
なお、ステップB205において、初期検索部251は、送信履歴情報を取得できた時間帯については、その送信履歴情報に含まれる格納先ノード一覧の示すノード20を特定すればよい。
In step B205, the initial search unit 251 may identify the
次に、読み出しを行うノード20の格納先ノード検索部25は、読み出し対象の時間帯に対応する各時間帯のログについて、格納先となる復元数以上のノード20を特定できたか否かを判断する(ステップB206)。
Next, the storage destination node search unit 25 of the
ここで、各時間帯について、格納先となる復元数以上のノード20を特定できていると判断した場合について説明する(ステップB206でYes)。この場合、読み出しを行うノード20の格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。
Here, a case will be described in which it is determined that the number of
一方、格納先となる復元数以上のノード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
この場合、格納先推定部252は、既に検索されたノード20から得られた格納履歴情報に含まれる格納先ノード一覧の示す各ノード20のうち、まだ問い合わせを行っていない各ノード20を問い合わせ対象とする。そして、格納先推定部252は、問い合わせ対象のノード20に対して、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、その断片ログを格納しているか否かを問い合わせる(ステップB207)。
In this case, the storage destination estimation unit 252 asks each
次に、問い合わせを受けたノード20の分割データ格納部24は、図9のステップB103で説明したように、該当する断片ログを格納している場合、対応する格納履歴情報を、問い合わせ元のノード20に返信する。ここでは、1つまたは複数の時間帯のログの断片ログについてそれぞれの格納履歴情報が送信される。
Next, when the divided
次に、読み出しを行うノード20の格納先ノード検索部25は、読み出し対象の時間帯に対応する各時間帯のログについて、格納先となる復元数以上のノード20を特定できたか否かを判断する(ステップB208)。
Next, the storage destination node search unit 25 of the
ここで、各時間帯について、格納先となる復元数以上のノード20を特定できていると判断した場合について説明する(ステップB208でYes)。この場合、読み出しを行うノード20の格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。
Here, a case will be described in which it is determined that
一方、格納先となる復元数以上のノード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
この場合、格納先ノード検索部25は、新たに検索されたノード20も含めて既に検索されたノード20から得られた格納履歴情報に含まれる格納先ノード一覧の示す各ノード20のうち、まだ問い合わせていないノード20があるかを判断する(ステップB209)。
In this case, the storage destination node search unit 25 is still out of the
ここで、まだ問い合わせていないノード20がある場合(ステップB209でYes)、格納先推定部252は、ステップB207からの動作を繰り返す。
Here, when there is a
一方、まだ問い合わせていないノード20がない場合(ステップB209でNo)、格納先網羅部253は、情報処理システム2を構成する各ノード20のうち、まだ問い合わせを行っていない各ノード20を問い合わせ対象とする。そして、格納先網羅部253は、問い合わせ対象のノード20に対して、読み出し対象のノード20における読み出し対象の時間帯に対応する各時間帯のログについて、その断片ログを格納しているか否かを問い合わせる(ステップB210)。
On the other hand, when there is no
そして、格納先ノード検索部25は、各時間帯について特定した格納先のノード20を表す情報を返却し(ステップB211)、格納先検索動作を終了する。なお、格納先網羅部253によるステップB210の実行後も、格納先となる復元数以上のノード20を特定できていない時間帯がある場合も考えられる。この場合、格納先ノード検索部25は、その時間帯については、読み出し対象となるログが存在しない、もしくは、障害等により失われたと判断する。この場合、格納先ノード検索部25は、復元数以上の格納先ノードが特定できた時間帯について、特定したノード20を返却すればよい。なお、読み出し対象の時間帯に対応する全ての時間帯について復元数以上のノード20を特定できない場合、格納先ノード検索部25は、読み出し要求に対してエラーを返却する。
Then, the storage destination node search unit 25 returns information representing the
以上で、ステップ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
(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
(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 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
1002
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つ以上の時間帯の送信履歴情報、または、前記ノード状態管理部に保持される前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードにおいて前記読み出し対象の時間帯に対応する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.
前記複数のノードのうち、任意のデータの分散格納先となり得る所定の分割数のノード一覧を表す分割数ノード一覧情報を、前記各ノードの状態に応じて他ノードと同期して更新しながら保持し、
自ノードに関連する情報を表す対象データから前記分割数の分割データを、前記分割数より少ない復元数の分割データで復元可能に生成し、
前記分割数ノード一覧情報の示す前記分割数のノードを格納先ノードとして、前記分割数の分割データを、前記分割数の格納先ノードに対してそれぞれ送信するとともに、送信先の格納先ノード一覧を表す情報を、送信履歴情報として保持し、
他ノードから受信した前記分割データを、該分割データの生成元ノードを表す情報および該分割データの元となる対象データから分割された分割データの格納先ノード一覧を表す情報を含む格納履歴情報と共に格納し、
読み出し要求として指定されるノード(読み出し対象のノード)に保持される前記送信履歴情報、または、前記分割数ノード一覧情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを検索し、検索した格納先ノードに該分割データと共に保持される格納履歴情報を参照することにより、前記読み出し対象のノードに関連する対象データの各分割データの格納先ノードを前記復元数以上まで特定し、
特定した格納先ノードのうち、前記復元数の格納先ノードを決定し、
決定した各格納先ノードから前記分割データを取得し、取得した復元数の分割データを用いて前記対象データを復元する方法。 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
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)
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)
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 |
-
2015
- 2015-03-23 JP JP2015059063A patent/JP6432407B2/en active Active
Patent Citations (4)
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)
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 |