JP2008097155A - Data storage controller and data storage device - Google Patents
Data storage controller and data storage device Download PDFInfo
- Publication number
- JP2008097155A JP2008097155A JP2006275820A JP2006275820A JP2008097155A JP 2008097155 A JP2008097155 A JP 2008097155A JP 2006275820 A JP2006275820 A JP 2006275820A JP 2006275820 A JP2006275820 A JP 2006275820A JP 2008097155 A JP2008097155 A JP 2008097155A
- Authority
- JP
- Japan
- Prior art keywords
- storage control
- decision
- data
- control unit
- control units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させる制御をおこなうデータ記憶制御装置および複数のデータ記憶部を有し、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させるデータ記憶装置に関し、特に、トランザクションに係るオーバーヘッドの増大を抑制し、データ処理の効率を向上させることができるデータ記憶制御装置およびデータ記憶装置に関する。 The present invention has a data storage control device and a plurality of data storage units that perform control for storing data and backup data of the data in different data storage units, and the data and backup data of the data are different from each other. More particularly, the present invention relates to a data storage control device and a data storage device capable of suppressing an increase in overhead associated with a transaction and improving data processing efficiency.
従来、SAN(Storage Area Network)などのネットワークを介して接続された各ディスクが、ディクスコントローラ上のプロセッサやメモリを利用して自律的なデータ管理をおこなうとともに、ディスク間で通信をおこなってホストから要求されたデータ処理を実行する自律ディスクが提案されている(非特許文献1を参照)。 Conventionally, each disk connected via a network such as a SAN (Storage Area Network) performs autonomous data management using a processor and memory on a disk controller, and communicates between the disks from the host. An autonomous disk that executes requested data processing has been proposed (see Non-Patent Document 1).
この自律ディスクでは、データ管理の信頼性を高めるため、ディスクに記憶されたデータのバックアップを、当該ディスクとは別のディスクに格納する。そして、ディスクに障害が発生してデータが読み出せなくなった場合には、バックアップされたデータが代わりに読み出され、データ処理が実行される。 In this autonomous disk, in order to improve the reliability of data management, a backup of data stored in the disk is stored in a disk different from the disk. Then, when a failure occurs in the disk and data cannot be read, the backed up data is read instead and data processing is executed.
このようなシステムにおいては、トランザクションの原子性を保障することが極めて重要である。これを実現するコミットプロトコルとして、2フェーズコミット(2PC)プロトコルや、アーリープリペア(ER)プロトコルなどがある(非特許文献2を参照)。 In such a system, it is extremely important to ensure the atomicity of transactions. As a commit protocol for realizing this, there are a two-phase commit (2PC) protocol, an early prepare (ER) protocol, and the like (see Non-Patent Document 2).
しかしながら、上述した従来技術におけるコミットプロトコルが、ディスクに格納されたデータを別のディスクにバックアップする処理をおこなう自律ディスクに適用された場合には、満足できるパフォーマンスが得られないという問題があった。 However, when the above-described commit protocol in the prior art is applied to an autonomous disk that performs processing for backing up data stored in a disk to another disk, there is a problem that satisfactory performance cannot be obtained.
具体的には、2フェーズコミットプロトコルやアーリープリペアプロトコルでは、オペレーションごとにログをディスク装置に書き込み、書き込みが正常終了したことを示すメッセージをオペレーションの実行を要求した装置に応答する必要がある。そのため、トランザクションに係るオーバーヘッドが大きくなり、自律ディスクの処理効率を低下させてしまう。 Specifically, in the two-phase commit protocol or the early prepare protocol, it is necessary to write a log to the disk device for each operation and return a message indicating that the writing has been completed normally to the device that requested the execution of the operation. As a result, the overhead associated with the transaction increases and the processing efficiency of the autonomous disk decreases.
このように、自律ディスクにおいては、トランザクションに係るオーバーヘッドの増大をいかにして抑制し、データ処理の効率を向上させることができるかが重要な課題となっている。 Thus, in an autonomous disk, how to suppress an increase in overhead related to a transaction and improve data processing efficiency is an important issue.
本発明は、上述した従来技術による問題点を解消するためになされたものであり、トランザクションに係るオーバーヘッドの増大を抑制し、データ処理の効率を向上させることができるデータ記憶制御装置およびデータ記憶装置を提供することを目的とする。 The present invention has been made to solve the above-described problems caused by the prior art, and is a data storage control device and a data storage device capable of suppressing an increase in overhead associated with a transaction and improving data processing efficiency. The purpose is to provide.
上述した課題を解決し、目的を達成するため、本発明は、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部(実施例におけるディスク装置40a〜40d)に記憶させる制御をおこなうデータ記憶制御装置であって、データに対するオペレーションの実行要求メッセージを複数送信する第1の記憶制御部(実施例におけるプライマリマスター)と、前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信する1つ以上の第2の記憶制御部(実施例におけるプライマリコホート)と、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶する1つ以上の第3の記憶制御部(実施例におけるバックアップコホート)と、を備え、前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記1つ以上の第2の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータの更新を制御するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、前記1つ以上の第3の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新制御をおこなうことを特徴とする。
In order to solve the above-described problems and achieve the object, the present invention is a data storage control for performing control for storing data and backup data of the data in different data storage units (
また、本発明は、上記発明において、前記1つ以上の第3の記憶制御部は、前記ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信し、前記1つ以上の第2の記憶制御部は、前記1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、前記第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信することを特徴とする。 Further, the present invention is the above invention, wherein the one or more third storage control units, after executing the decision process, transmit a decision completion message indicating completion of the decision process, and When the two storage control units receive the decision completion message from the one or more third storage control units, the synchronization completion indicating that the data synchronization processing has been completed to the first storage control unit A message is transmitted.
また、本発明は、上記発明において、オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報をメモリに記憶する第4の記憶制御部(実施例におけるバックアップマスター)をさらに備え、前記第1の記憶制御部は、前記メンバーシップログ情報を生成して第4の記憶制御部に送信するとともに、前記ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、前記第4の記憶制御部は、前記ディシジョンログ情報を受信した後、前記第1の記憶制御部に係る障害を検出した場合に、前記メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを前記1つ以上の第2の記憶制御部に送信することを特徴とする。 Further, according to the present invention, in the above invention, a fourth storage control unit (backup in the embodiment) for storing membership log information indicating one or more second storage control units for transmitting an operation execution request message in a memory. The first storage control unit generates the membership log information and transmits the membership log information to the fourth storage control unit. When the execution of the decision process is determined, the first storage control unit determines the execution of the decision process. Is generated and transmitted to the fourth storage control unit, and after receiving the decision log information, the fourth storage control unit detects a failure related to the first storage control unit A decision process execution request message for an operation based on the membership log information. And transmits the to the storage control unit.
また、本発明は、上記発明において、前記1つ以上の第2の記憶制御部は、前記第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、前記1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対して前記ディシジョン完了メッセージを送信し、前記障害が復旧した場合に、前記1つ以上の第3の記憶制御部は、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新制御をおこなうことを特徴とする。 Further, the present invention is the above invention, wherein the one or more second storage control units receive the decision processing execution request message from the first storage control unit, and then the one or more third storage control units. When a failure related to the storage control unit is detected, the decision completion message is transmitted to the first storage control unit, and when the failure is recovered, the one or more third storage control units are: Executing a decision process based on the log information stored in the memory, and performing update control of backup data stored in a data storage unit connected to each of the one or more third storage control units; It is characterized by.
また、本発明は、上記発明において、前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、前記1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、前記1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記1つ以上の第3の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、前記障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部は、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することを特徴とする。 Further, the present invention is the above invention, wherein the first storage control unit receives all response messages transmitted by the one or more second storage control units, and then receives the one or more second storage control units. When a failure related to any one of the storage control units is detected, a decision process execution request message for an operation is transmitted to the one or more third storage control units, and the one or more third storage control units are transmitted. The storage control unit executes the decision process when receiving the decision process execution request message transmitted by the first storage control unit, and recovers the log information related to the decision process from the failure when the failure is recovered The second storage control unit, which has transmitted to the second storage control unit and recovered from the failure, receives the log information related to the decision process, and determines based on the received log information. And executes the ® down process.
また、本発明は、複数のデータ記憶部(実施例におけるディスク装置40a〜40d)を有し、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させるデータ記憶装置であって、データに対するオペレーションの実行要求メッセージを複数送信する第1の記憶制御部(実施例におけるプライマリマスター)と、前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信する1つ以上の第2の記憶制御部(実施例におけるプライマリコホート)と、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶する1つ以上の第3の記憶制御部(実施例におけるバックアップコホート)と、を備え、前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記1つ以上の第2の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、前記1つ以上の第3の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなうことを特徴とする。
Further, the present invention is a data storage device that has a plurality of data storage units (
また、本発明は、上記発明において、前記1つ以上の第3の記憶制御部は、前記ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信し、前記1つ以上の第2の記憶制御部は、前記1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、前記第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信することを特徴とする。 Further, the present invention is the above invention, wherein the one or more third storage control units, after executing the decision process, transmit a decision completion message indicating completion of the decision process, and When the two storage control units receive the decision completion message from the one or more third storage control units, the synchronization completion indicating that the data synchronization processing has been completed to the first storage control unit A message is transmitted.
また、本発明は、上記発明において、オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報をメモリに記憶する第4の記憶制御部(実施例におけるバックアップマスター)をさらに備え、前記第1の記憶制御部は、前記メンバーシップログ情報を生成して第4の記憶制御部に送信するとともに、前記ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、前記第4の記憶制御部は、前記ディシジョンログ情報を受信した後、前記第1の記憶制御部に係る障害を検出した場合に、前記メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを前記1つ以上の第2の記憶制御部に送信することを特徴とする。 Further, according to the present invention, in the above invention, a fourth storage control unit (backup in the embodiment) for storing membership log information indicating one or more second storage control units for transmitting an operation execution request message in a memory. The first storage control unit generates the membership log information and transmits the membership log information to the fourth storage control unit. When the execution of the decision process is determined, the first storage control unit determines the execution of the decision process. Is generated and transmitted to the fourth storage control unit, and after receiving the decision log information, the fourth storage control unit detects a failure related to the first storage control unit A decision process execution request message for an operation based on the membership log information. And transmits the to the storage control unit.
また、本発明は、上記発明において、前記1つ以上の第2の記憶制御部は、前記第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、前記1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対して前記ディシジョン完了メッセージを送信し、前記障害が復旧した場合に、前記1つ以上の第3の記憶制御部は、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータを更新することを特徴とする。 Further, the present invention is the above invention, wherein the one or more second storage control units receive the decision processing execution request message from the first storage control unit, and then the one or more third storage control units. When a failure related to the storage control unit is detected, the decision completion message is transmitted to the first storage control unit, and when the failure is recovered, the one or more third storage control units are: A decision process is executed based on the log information stored in the memory to update backup data stored in a data storage unit connected to each of the one or more third storage control units. And
また、本発明は、上記発明において、前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、前記1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、前記1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記1つ以上の第3の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、前記障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部は、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することを特徴とする。 Further, the present invention is the above invention, wherein the first storage control unit receives all response messages transmitted by the one or more second storage control units, and then receives the one or more second storage control units. When a failure related to any one of the storage control units is detected, a decision process execution request message for an operation is transmitted to the one or more third storage control units, and the one or more third storage control units are transmitted. The storage control unit executes the decision process when receiving the decision process execution request message transmitted by the first storage control unit, and recovers the log information related to the decision process from the failure when the failure is recovered The second storage control unit, which has transmitted to the second storage control unit and recovered from the failure, receives the log information related to the decision process, and determines based on the received log information. And executes the ® down process.
また、本発明は、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部(実施例におけるディスク装置40a〜40d)に記憶させるデータ記憶方法であって、第1の記憶制御部(実施例におけるプライマリマスター)が、データに対するオペレーションの実行要求メッセージを送信するオペレーション実行要求メッセージ送信工程と、1つ以上の第2の記憶制御部(実施例におけるプライマリコホート)が、前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上の第3の記憶制御部(実施例におけるバックアップコホート)が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶するオペレーション実行工程と、前記第1の記憶制御部が、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信するディシジョン実行要求メッセージ送信工程と、前記1つ以上の第2の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、前記1つ以上の第3の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなうディシジョン実行工程と、を含んだことを特徴とする。
The present invention is also a data storage method for storing data and backup data of the data in different data storage units (
また、本発明は、上記発明において、前記1つ以上の第3の記憶制御部が、前記ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信するディシジョン完了メッセージ送信工程と、前記1つ以上の第2の記憶制御部が、前記1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、前記第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信する同期完了メッセージ送信工程とをさらに含んだことを特徴とする。 Further, the present invention is the above-mentioned invention, wherein the one or more third storage control units execute a decision process, and then transmit a decision completion message indicating completion of the decision process. When the one or more second storage control units receive a decision completion message from the one or more third storage control units, the data synchronization processing is completed for the first storage control unit And a synchronization completion message transmission step of transmitting a synchronization completion message indicating that the operation has been completed.
また、本発明は、上記発明において、前記オペレーション実行要求メッセージ送信工程は、前記第1の記憶制御部が、オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報を生成して第4の記憶制御部(実施例におけるバックアップマスター)に送信し、第4の記憶制御部が、前記メンバーシップログ情報をメモリに記憶し、前記ディシジョン実行要求メッセージ送信工程は、前記第1の記憶制御部が、前記ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、第4の記憶制御部が、前記ディシジョンログ情報を受信した後、前記第1の記憶制御部に係る障害を検出した場合に、前記メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを前記1つ以上の第2の記憶制御部に送信することを特徴とする。 Further, the present invention is the above invention, wherein the operation execution request message transmission step includes a membership in which the first storage control unit indicates one or more second storage control units that transmit an operation execution request message. Log information is generated and transmitted to a fourth storage control unit (backup master in the embodiment), the fourth storage control unit stores the membership log information in a memory, and the decision execution request message transmission step includes: When the first storage control unit decides to execute the decision process, it generates decision log information indicating the decision to execute the decision process and transmits it to the fourth storage control unit. If the failure relating to the first storage control unit is detected after receiving the decision log information, the membership And transmitting the decision process of the execution request message for operation said one or more second storage controller based on the grayed information.
また、本発明は、上記発明において、前記ディシジョン実行工程は、前記1つ以上の第2の記憶制御部が、前記第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、前記1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対して前記ディシジョン完了メッセージを送信し、前記障害が復旧した場合に、前記1つ以上の第3の記憶制御部が、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータを更新することを特徴とする。 Further, the present invention is the above-described invention, wherein the decision execution step is performed after the one or more second storage control units receive the decision processing execution request message from the first storage control unit. When a failure related to one or more third storage control units is detected, the decision completion message is transmitted to the first storage control unit, and when the failure is recovered, the one or more third storage control units are transmitted. Backup data stored in a data storage unit connected to each of the one or more third storage control units by executing a decision process based on the log information stored in the memory. It is characterized by updating.
また、本発明は、上記発明において、前記ディシジョン実行要求メッセージ送信工程は、前記第1の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、前記1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、前記1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記ディシジョン実行工程は、前記1つ以上の第3の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、前記障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部が、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することを特徴とする。 Also, in the present invention according to the above invention, in the decision execution request message transmission step, the first storage control unit has received all response messages transmitted by the one or more second storage control units. Then, when a failure related to any one of the one or more second storage control units is detected, a decision processing execution request message for an operation is transmitted to the one or more third storage control units. The decision execution step executes the decision process when the one or more third storage control units receive a decision process execution request message transmitted by the first storage control unit, and When log is recovered, log information related to decision processing is transmitted to the second storage control unit recovered from the failure, and the second storage control unit recovered from the failure is It receives the log information related to decision processing, and executes the decision processing based on the received log information.
また、本発明は、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部(実施例におけるディスク装置40a〜40d)に記憶させる制御をおこなうデータ記憶制御プログラムであって、第1の記憶制御部(実施例におけるプライマリマスター)が、データに対するオペレーションの実行要求メッセージを送信するオペレーション実行要求メッセージ送信手順と、1つ以上の第2の記憶制御部(実施例におけるプライマリコホート)が、前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上の第3の記憶制御部(実施例におけるバックアップコホート)が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶するオペレーション実行手順と、前記第1の記憶制御部が、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信するディシジョン実行要求メッセージ送信手順と、前記1つ以上の第2の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、前記1つ以上の第3の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなうディシジョン実行手順と、をコンピュータに実行させることを特徴とする。
Further, the present invention is a data storage control program for performing control for storing data and backup data of the data in different data storage units (
本発明によれば、第1の記憶制御部が、データに対するオペレーションの実行要求メッセージを送信し、1つ以上の第2の記憶制御部が、オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上の第3の記憶制御部が、1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶し、第1の記憶制御部が、1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、1つ以上の第2の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上の第3の記憶制御部が、1つ以上の第2の記憶制御部により送信されたメッセージを受信し、メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなうこととしたので、トランザクションに係るオーバーヘッドの増大を抑制し、データ処理の効率を向上させることができる。 According to the present invention, when the first storage control unit transmits an operation execution request message for data and one or more second storage control units receive the operation execution request message, the operation is performed. Each time execution of the operation is completed, a response message to the operation execution request message is transmitted to the first storage control unit, log information relating to the operation is generated, and a message including the log information is transmitted. The one or more third storage control units receive the message transmitted by the one or more second storage control units, store the log information related to each operation in the memory, and perform the first storage control. The unit receives response messages sent by one or more second storage controllers and executes all operations It is determined whether or not it has been completed, and after execution of all operations is completed, a decision processing execution request message for the operation is transmitted, and one or more second storage control units are transmitted by the first storage control unit When the decision processing execution request message is received, the decision processing is executed to update the data stored in the data storage unit connected to each of the one or more second storage control units, and the decision processing Generating log information and transmitting a message including the log information, wherein one or more third storage control units receive a message transmitted by one or more second storage control units, A data storage unit that executes decision processing based on log information stored in the memory and is connected to each of the one or more third storage control units Since it was decided to update the stored backup data, suppressing an increase in the overhead of the transaction, it is possible to improve the efficiency of data processing.
また、本発明によれば、1つ以上の第3の記憶制御部が、ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信し、1つ以上の第2の記憶制御部が、1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信することとしたので、データとバックアップデータとの間で同期を確実にとることができる。 Further, according to the present invention, after one or more third storage control units execute a decision process, a decision completion message indicating completion of the decision process is transmitted, and one or more second storage control units However, when a decision completion message is received from one or more third storage control units, a synchronization completion message indicating that data synchronization processing has been completed is sent to the first storage control unit Therefore, it is possible to ensure synchronization between the data and the backup data.
また、本発明によれば、第1の記憶制御部が、オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報を生成して第4の記憶制御部に送信し、第4の記憶制御部が、メンバーシップログ情報をメモリに記憶し、第1の記憶制御部が、ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、第4の記憶制御部が、ディシジョンログ情報を受信した後、第1の記憶制御部に係る障害を検出した場合に、メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを1つ以上の第2の記憶制御部に送信することとしたので、第1の記憶制御部に係る障害が発生した場合でも、ディシジョン処理を迅速に実行することができる。 Further, according to the present invention, the first storage control unit generates membership log information indicating one or more second storage control units that transmit the operation execution request message to generate the fourth storage control unit. The fourth storage control unit stores the membership log information in the memory, and when the first storage control unit determines the execution of the decision process, the decision log information indicating the execution determination of the decision process is displayed. Based on the membership log information when the fourth storage control unit detects a failure related to the first storage control unit after receiving the decision log information. The decision processing execution request message for the operation is transmitted to one or more second storage control units, so that a failure related to the first storage control unit occurs. , It is possible to quickly execute the decision process.
また、本発明によれば、1つ以上の第2の記憶制御部が、第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対してディシジョン完了メッセージを送信し、障害が復旧した場合に、1つ以上の第3の記憶制御部が、メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータを更新することとしたので、第3の記憶制御部に係る障害が発生した場合でも、ディシジョン処理を迅速に実行することができる。 Further, according to the present invention, one or more second storage control units receive one or more third storage control units after receiving a decision processing execution request message from the first storage control unit. When a failure is detected, a decision completion message is transmitted to the first storage control unit, and when the failure is recovered, one or more third storage control units store log information stored in the memory. Since the decision processing is executed based on this and the backup data stored in the data storage unit connected to each of the one or more third storage control units is updated, the third storage control unit Even when a failure occurs, the decision process can be executed quickly.
また、本発明によれば、第1の記憶制御部が、1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、1つ以上の第3の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部が、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することとしたので、第2の記憶制御部に係る障害が発生した場合でも、ディシジョン処理を迅速に実行することができる。 In addition, according to the present invention, after the first storage control unit receives all response messages transmitted by the one or more second storage control units, the one or more second storage control units When a failure related to any one of them is detected, a decision processing execution message for the operation is transmitted to one or more third storage control units, and one or more third storage control units When the decision processing execution request message transmitted by the storage control unit is received, the decision processing is executed, and when the failure is recovered, the log information related to the decision processing is restored to the second storage control unit that has recovered from the failure. Since the second storage control unit that has transmitted and recovered from the failure has received the log information related to the decision processing, and decided to execute the decision processing based on the received log information. Even if a failure of the second storage controller has occurred, it can quickly perform the decision process.
本発明によれば、トランザクションに係るオーバーヘッドの増大を抑制することによりデータ処理の効率を向上させることができるため、ホストからのデータ処理要求に対するレスポンスを高速化でき、自律ディスクなどの自律分散型ストレージシステムにおける記憶ノードの増大にも効果的に対処することができるという効果を奏する。 According to the present invention, since it is possible to improve the efficiency of data processing by suppressing an increase in overhead associated with a transaction, it is possible to speed up the response to a data processing request from a host, and an autonomous distributed storage such as an autonomous disk There is an effect that it is possible to effectively cope with an increase in storage nodes in the system.
以下に添付図面を参照して、本発明に係るデータ記憶制御装置およびデータ記憶装置の好適な実施例を詳細に説明する。 Exemplary embodiments of a data storage control device and a data storage device according to the present invention will be described below in detail with reference to the accompanying drawings.
まず、本発明に係る自律ディスクシステムの機能構成について説明する。図1は、本実施例に係る自律ディスクシステムの機能構成を示す図である。図1に示すように、この自律ディスクシステムは、クライアント10a〜10cとプロセッシングエレメント20a〜20dとがSAN(Storage Area Network)などのネットワーク50を介して接続された構成となっている。
First, the functional configuration of the autonomous disk system according to the present invention will be described. FIG. 1 is a diagram illustrating a functional configuration of the autonomous disk system according to the present embodiment. As shown in FIG. 1, this autonomous disk system has a configuration in which
クライアント10a〜10cは、プロセッシングエレメント20a〜20dに対してデータの検索、挿入、削除などの各種データ処理の実行要求を送信するクライアント装置である。
The
プロセッシングエレメント20a〜20dは、クライアント10a〜10cにより送信された各種データ処理の実行要求を受信し、要求されたデータ処理を実行する処理装置である。各プロセッシングエレメント20a〜20dは、処理の対象となるデータを分散して記憶する。そして、各プロセッシングエレメント20a〜20dは、Fat−Btreeと呼ばれるディレクトリ構造を用いてデータの検索をおこなう。なお、本発明はディレクトリ方式として、特にFat−Btree方式に限定するものではなく、ディレクトリを複数のプロセッシングエレメントで共有する分散ディレクトリ方式全般に適用できるものである。
The
図2は、Fat−Btreeについて説明する説明図である。Fat−Btreeは、従来の並列Btreeを改良したものであり、自律ディスクのような分散型データベースシステムにおいて、データに高速にアクセスできるように開発されたディレクトリ構造である。 FIG. 2 is an explanatory diagram for explaining Fat-Btree. Fat-Btree is an improvement over the conventional parallel Btree, and has a directory structure developed so that data can be accessed at high speed in a distributed database system such as an autonomous disk.
このFat−Btreeでは、図2に示すように、B−treeのデータページを各プロセッシングエレメント20a〜20dに均等に記憶させ、そのデータページからみて上位にあるインデックスページのみを各プロセッシングエレメント20a〜20dに記憶させる。すなわち、Fat−Btreeでは、各プロセッシングエレメント20a〜20dは、B−treeの部分木を記憶する。
In this Fat-Btree, as shown in FIG. 2, B-tree data pages are stored evenly in the
このように、Fat−Btreeでは、ルートページに近く、アクセス頻度が高いインデックスページほどより多くのプロセッシングエレメント20a〜20dにコピーされるので、検索速度を高速化することができる。
As described above, in Fat-Btree, an index page that is closer to the root page and has a higher access frequency is copied to
また、更新頻度が高い下位のインデックスページほど、そのコピーを記憶したプロセッシングエレメント20a〜20dの数が減少するため、コピーの更新をおこなう際に同期が必要となるプロセッシングエレメント20a〜20dの数が少なくなり、オーバーヘッドを減らすことができる。
Further, the lower the index page having the higher update frequency, the smaller the number of
図1の説明に戻ると、各プロセッシングエレメント20a〜20dは、コントローラ30a〜30dと、ディスク装置40a〜40dとを有する。
Returning to the description of FIG. 1, the
コントローラ30a〜30dは、ディスク装置40a〜40dに対するデータアクセスの制御をおこなう処理部である。このコントローラ30a〜30dは、図2に示したFat−Btreeを用いてデータの検索をおこない、ディスク装置40a〜40dに記憶されたデータに対する各種データ処理を実行する。コントローラ30a〜30dの詳細な機能構成については、後に図3を用いて説明する。
The
ディスク装置40a〜40dは、ハードディスク装置などの記憶装置である。具体的には、このディスク装置40a〜40dは、図2に示したFat−Btreeのディレクトリ情報、他のディスク装置40a〜40dに記憶されたディレクトリ情報のバックアップデータ、各種データ処理の対象となるデータ、他のディスク装置40a〜40dに記憶されたデータのバックアップデータなどを記憶する。
The
つぎに、図1に示したプロセッシングエレメント20a〜20dの機能構成について詳細に説明する。図3は、図1に示したプロセッシングエレメント20a〜20dの機能構成を示す図である。なお、各プロセッシングエレメント20a〜20dの機能構成は同様なものとなる。
Next, the functional configuration of the
図1で説明したように、プロセッシングエレメント20a(20b,20c,20d)は、コントローラ30a(30b,30c,30d)とディスク装置40a(40b,40c,40d)とから構成されている。そして、コントローラ30a(30b,30c,30d)は、ネットワークインターフェース部31a(31b,31c,31d)、ディスクインターフェース部32a(32b,32c,32d)、メモリ33a(33b,33c,33d)、制御部34a(34b,34c,34d)を有する。
As described with reference to FIG. 1, the
ネットワークインターフェース部31a(31b,31c,31d)は、クライアント10a〜10cとの間でネットワーク50を介してデータの授受をおこなうネットワークインターフェースである。ディスクインターフェース部32a(32b,32c,32d)は、ディスク装置40a(40b,40c,40d)との間でデータの授受をおこなうディスクインターフェースである。
The
メモリ33a(33b,33c,33d)は、制御部34a(34b,34c,34d)によりデータの読み出しや書き込みがなされる半導体主記憶装置である。このメモリ33a(33b,33c,33d)は、ログ330a(330b,330c,330d)、バックアップディスク管理データ331a(331b,331c,331d)、ACK管理データ332a(332b,332c,332d)などの各種データを記憶する。
The
ログ330a(330b,330c,330d)は、各トランザクションにおいてなされた一連のオペレーションの内容に係る情報を記憶したログデータである。バックアップディスク管理データ331a(331b,331c,331d)は、元データを記憶するディスク装置40a〜40dと、元データのバックアップデータを記憶するディスク装置40a〜40dとの間の対応関係を記憶したデータである。
The
図4は、図3に示したバックアップディスク管理データ331a(331b,331c,331d)の一例を示す図である。図4に示すように、このバックアップディスク管理データ331a(331b,331c,331d)は、プライマリディスクIDおよびバックアップディスクIDを記憶している。
FIG. 4 is a diagram showing an example of the backup
プライマリディスクIDは、元データを記憶するディスク装置40a〜40dを識別する識別情報である。バックアップディスクIDは、元データのバックアップデータを記憶するディスク装置40a〜40dを識別する識別情報である。
The primary disk ID is identification information for identifying the
図3の説明に戻ると、ACK管理データ332a(332b,332c,332d)は、制御部34a(34b,34c,34d)が他のプロセッシングエレメント20b〜20dに対してオペレーションの実行要求を送信した場合に、オペレーションの実行完了を示すACKメッセージを他のプロセッシングエレメント20b〜20dから受信したか否かを示すデータである。
Returning to the description of FIG. 3, the ACK management data 332a (332b, 332c, 332d) is obtained when the
図5は、図3に示したACK管理データ332a(332b,332c,332d)の一例を示す図である。図5に示すように、ACK管理データ332a(332b,332c,332d)は、オペレーションID、オペレーション対象ディスクIDおよびACKフラグを記憶している。 FIG. 5 is a diagram illustrating an example of the ACK management data 332a (332b, 332c, 332d) illustrated in FIG. As shown in FIG. 5, the ACK management data 332a (332b, 332c, 332d) stores an operation ID, an operation target disk ID, and an ACK flag.
オペレーションIDは、他のプロセッシングエレメント20b〜20dに対して実行要求を送信した各オペレーションを識別する識別情報である。オペレーション対象ディスクIDは、オペレーションの実行要求を送信したプロセッシングエレメント20b〜20dが有するディスク装置40b〜40dを識別する識別情報である。
The operation ID is identification information for identifying each operation that has transmitted an execution request to the
ACKフラグは、オペレーションの実行要求を送信したプロセッシングエレメント20b〜20dからACKメッセージを受信したか否かを示すフラグである。このフラグが「1」である場合は、プロセッシングエレメント20b〜20dからACKメッセージを受信したことを示し、「0」である場合には、プロセッシングエレメント20b〜20dからACKメッセージを受信していないことを示す。
The ACK flag is a flag indicating whether or not an ACK message has been received from the
図3の説明に戻ると、制御部34a(34b,34c,34d)は、コントローラ30a(30b,30c,30d)を全体制御する制御部であり、各機能部間のデータの授受を司る。この制御部34a(34b,34c,34d)は、トランザクション実行部340a(340b,340c,340d)および障害復旧処理部341a(341b,341c,341d)を有する。
Returning to the description of FIG. 3, the
トランザクション実行部340a(340b,340c,340d)は、クライアント10a〜10cあるいは他のプロセッシングエレメント20b〜20dからトランザクションに係る各種データ処理の実行要求を受信した場合に、Fat−Btreeのディレクトリ情報に基づいて処理対象となるデータを検索し、そのデータに対する各種データ処理を実行する機能部である。
When the
このトランザクション実行部340a(340b,340c,340d)は、バックアップアシスト1.5相コミットプロトコル(BA−1.5PC)を用いてトランザクションを実行する。このBA−1.5PCについては、後に詳しく説明する。
The
障害復旧処理部341a(341b,341c,341d)は、トランザクションの実行中にいずれかのプロセッシングエレメント20a〜20dに障害が発生した場合に、その障害に対する復旧処理をおこなう機能部である。
The failure
この障害復旧処理部341a(341b,341c,341d)は、障害が発生したプロセッシングエレメント20a〜20dの役割(障害が発生したプロセッシングエレメント20a〜20dが元データを記憶するものか、バックアップデータを記憶するものかなど)に応じて異なる方法で復旧処理を実行する。この復旧処理についても後に詳しく説明する。
The failure
ディスク装置40a(40b,40c,40d)は、ディレクトリデータ400a(400b,400c,400d)、ディレクトリバックアップデータ401a(401b,401c,401d)、プライマリデータ402a(402b,402c,402d)、バックアップデータ403a(403b,403c,403d)を記憶する。
The
ディレクトリデータ400a(400b,400c,400d)は、Fat−Btreeにより構成されたディレクトリのデータである。このディレクトリデータ400a(400b,400c,400d)は、図2に示したB−treeの部分木に相当するデータである。 Directory data 400a (400b, 400c, 400d) is data of a directory configured by Fat-Btree. The directory data 400a (400b, 400c, 400d) is data corresponding to the B-tree subtree shown in FIG.
ディレクトリバックアップデータ401a(401b,401c,401d)は、他のプロセッシングエレメント20b〜20dのディスク装置40b〜40dにより記憶されたディレクトリデータのバックアップデータである。
The
プライマリデータ402a(402b,402c,402d)は、トランザクションにおける各種データ処理の実行対象となるデータである。バックアップデータ403a(403b,403c,403d)は、他のプロセッシングエレメント20b〜20dのディスク装置40b〜40dにより記憶されたプライマリデータのバックアップデータである。
The primary data 402a (402b, 402c, 402d) is data that is an execution target of various data processing in a transaction. The backup data 403a (403b, 403c, 403d) is backup data of primary data stored by the
つぎに、非同期neighbor−WALプロトコルについて説明する。図6は、非同期neighbor−WALプロトコルについて説明するシーケンス図である。本実施例では、トランザクションのログオーバーヘッドを抑制するため、非同期neighbor−WALプロトコルを用いる。 Next, the asynchronous neighbor-WAL protocol will be described. FIG. 6 is a sequence diagram illustrating the asynchronous neighbor-WAL protocol. In this embodiment, an asynchronous neighbor-WAL protocol is used to suppress transaction log overhead.
この非同期neighbor−WALプロトコルでは、元データを記憶するプライマリプロセッシングエレメントは、ログフラッシュ要求を受け付けた場合に(ステップS101)、プライマリプロセッシングエレメントのコントローラに備えられたメモリにログを書き込む(ステップS102)。 In this asynchronous neighbor-WAL protocol, when the primary processing element that stores the original data receives a log flush request (step S101), the log is written in the memory provided in the controller of the primary processing element (step S102).
さらに、プライマリプロセッシングエレメントは、メモリに書き込んだログの情報を含んだログメッセージを、バックアップデータを記憶するバックアッププロセッシングエレメントに送信する(ステップS103)。 Further, the primary processing element transmits a log message including information on the log written in the memory to the backup processing element that stores the backup data (step S103).
バックアッププロセッシングエレメントは、このログメッセージを受信すると、バックアッププロセッシングエレメントのコントローラに備えられたメモリにログを書き込み(ステップS104)、非同期neighbor−WALプロトコルを用いたログの書き込み処理を終了する。 When the backup processing element receives this log message, the backup processing element writes the log in the memory provided in the controller of the backup processing element (step S104), and ends the log writing process using the asynchronous neighbor-WAL protocol.
この非同期neighbor−WALプロトコルでは、バックアッププロセッシングエレメントは、ログの書き込み処理の完了を示すACKメッセージをプライマリプロセッシングエレメントに送信しないので、ログ書き込みの同期はとられない。また、ログはディスク装置に書き込まれるのではなく、メモリに書き込まれるので、ログオーバーヘッドを大幅に抑制することができる。一方、ここで、バックアッププロセッシングエレメントからACKメッセージをプライマリプロセッシングエレメントに送信し、ログ書き込みの同期を取る場合を同期neighbor−WALプロトコルと呼ぶ。 In this asynchronous neighbor-WAL protocol, the backup processing element does not send an ACK message indicating the completion of the log writing process to the primary processing element, so log writing is not synchronized. In addition, since the log is not written in the disk device but in the memory, the log overhead can be greatly suppressed. On the other hand, a case where an ACK message is transmitted from the backup processing element to the primary processing element to synchronize log writing is referred to as a synchronous neighbor-WAL protocol.
つぎに、本実施例に係るBA−1.5フェーズコミットプロトコルについて説明する。図7は、本実施例に係るBA−1.5フェーズコミットプロトコルについて説明するシーケンス図である。 Next, the BA-1.5 phase commit protocol according to this embodiment will be described. FIG. 7 is a sequence diagram illustrating the BA-1.5 phase commit protocol according to the present embodiment.
図7では、各プロセッシングエレメント20a〜20dは、プライマリマスター、バックアップマスター、プライマリコホート、バックアップコホートの異なる役割をそれぞれ担っている。
In FIG. 7, the
プライマリマスターは、クライアント10a〜10cからトランザクションの実行要求を受け付け、他のプロセッシングエレメント20a〜20dに当該トランザクションにおける各種オペレーションの実行要求を送信するプロセッシングエレメントである。バックアップマスターは、トランザクションに係る各種ログをプライマリマスターから取得してバックアップ用に記憶するプロセッシングエレメントである。
The primary master is a processing element that receives a transaction execution request from the
プライマリコホートは、トランザクションにおいて更新される元データを記憶したプロセッシングエレメントである。バックアップコホートは、プライマリコホートにより記憶されたデータのバックアップデータを記憶するプロセッシングエレメントである。 The primary cohort is a processing element that stores original data that is updated in a transaction. The backup cohort is a processing element that stores backup data of data stored by the primary cohort.
以下の説明においては、プライマリマスター、バックアップマスター、プライマリコホート、バックアップコホートはそれぞれ、プロセッシングエレメント20a、プロセッシングエレメント20b、プロセッシングエレメント20c、プロセッシングエレメント20dであるものとする。なお、プロセッシングエレメント20c(プライマリコホート)およびプロセッシングエレメント20d(バックアップコホート)はそれぞれ1台だけでなく、複数台あるものとする。
In the following description, it is assumed that the primary master, the backup master, the primary cohort, and the backup cohort are the
まず、プロセッシングエレメント20aのトランザクション実行部340aは、クライアント10a〜10cからトランザクションの実行要求を受け付けた場合に、メンバーシップログを生成し、メモリ33aにログ330aとして記憶するとともに、そのメンバーシップログをプロセッシングエレメント20bに送信し、プロセッシングエレメント20bのメモリ33bにメンバーシップログをログ330bとして記憶させる(ステップS201)。
First, when the
ここで、メンバーシップログは、トランザクションにおいて実行される各種オペレーションの対象データを記憶しているプロセッシングエレメント20cの情報であり、ディレクトリデータ400aに基づいて生成される。
Here, the membership log is information of the
また、プロセッシングエレメント20aのトランザクション実行部340aは、メンバーシップログを送信すべきプロセッシングエレメント20bをバックアップディスク管理データ331bを参照することにより判定し、そのプロセッシングエレメント20bにメンバーシップログを送信する。
The
プロセッシングエレメント20bのトランザクション実行部340bは、プロセッシングエレメント20aからメンバーシップログを受信し、そのメンバーシップログをメモリ33bにログ330bとして記憶する。
The
プロセッシングエレメント20aのトランザクション実行部340aは、メンバーシップログをプロセッシングエレメント20bに送信した後、複数のプロセッシングエレメント20cにトランザクションに係るオペレーションの実行要求メッセージを送信する(ステップS202)。ここで、オペレーションの実行要求メッセージを送信するプロセッシングエレメント20cはメンバーシップログにより特定される。
The
各プロセッシングエレメント20cのトランザクション実行部340cは、このオペレーションの実行要求メッセージを受信し、当該オペレーションを実行する。そして、トランザクション実行部340cは、当該オペレーションに係るログを生成し、図6で説明した非同期neighbor−WALプロトコルを用いて、そのログをメモリ33cにログ330cとして記憶するとともに、各プロセッシングエレメント20cのバックアップデータを記憶するプロセッシングエレメント20dにログを送信する(ステップS203)。このログを受信したプロセッシングエレメント20dのトランザクション実行部340dは、送信されたログをメモリ33dにログ330dとして記憶する。
The
プロセッシングエレメント20cのトランザクション実行部340cは、オペレーションの実行が完了すると、オペレーションの実行要求メッセージを送信したプロセッシングエレメント20aに対して、オペレーションの実行が完了したことを示すACKメッセージを送信する(ステップS204)。
When the execution of the operation is completed, the
プロセッシングエレメント20aのトランザクション実行部340aは、プロセッシングエレメント20cのトランザクション実行部340cからACKメッセージを受信し、ACK管理データ332aのACKフラグを「1」に更新する。
The
そして、トランザクション実行部340aは、プロセッシングエレメント20cに対して実行を要求するオペレーションがさらにある場合、つぎのオペレーションの実行要求メッセージをプロセッシングエレメント20cに送信する(ステップS205)。
Then, when there is an operation for requesting the
以下、プロセッシングエレメント20aのトランザクション実行部340a、プロセッシングエレメント20cのトランザクション実行部340c、および、プロセッシングエレメント20dのトランザクション実行部340dは、ステップS202〜ステップS204と同様の処理を、すべてのオペレーションが完了するまで繰り返す(ステップS206〜ステップS210)。
Hereinafter, the
そして、プロセッシングエレメント20aのトランザクション実行部340aは、すべてのオペレーションに対応するACKメッセージをメンバーシップログに登録されたすべてのプロセッシングエレメント20cから受信したことを確認した後、トランザクションに対するコミット処理(またはアボート処理)の実行要求に係る情報を含んだディシジョンログをメモリ33aにログ330aとして記憶するとともに、プロセッシングエレメント20bにそのディシジョンログを送信する(ステップS211)。
Then, the
プロセッシングエレメント20bのトランザクション実行部340bは、プロセッシングエレメント20aからディシジョンログを受信し、そのディシジョンログをメモリ33bにログ330bとして記憶する。
The
そして、プロセッシングエレメント20aのトランザクション実行部340aは、トランザクションに対するコミット処理(またはアボート処理)の実行を要求するディシジョンメッセージをメンバーシップログに登録されたすべてのプロセッシングエレメント20cに送信する(ステップS212)。
Then, the
プロセッシングエレメント20cのトランザクション実行部340cは、このディシジョンメッセージを受信し、トランザクションのコミット処理(またはアボート処理)を実行して、ペンディング状態となる。このペンディング状態では、トランザクション実行部340cは、当該ディシジョンに係るログを生成し、同期neighbor−WALプロトコルを用いて、そのログをメモリ33cにログ330cとして記憶するとともに、プロセッシングエレメント20dに送信する(ステップS213)。
The
このログを受信したプロセッシングエレメント20dのトランザクション実行部340dは、送信されたログをメモリ33dにログ330dとして記憶する。そして、トランザクション実行部340dは、プロセッシングエレメント20cから受信し、メモリ33dにログ330dとして情報が記憶されたすべてのオペレーションを実行する。
The
オペレーションの実行後、トランザクション実行部340dは、オペレーションの実行完了を示すACKメッセージをプロセッシングエレメント20cに送信する(ステップS214)。ACKメッセージを送信した後、トランザクション実行部340dは、このトランザクションに係るすべてのログをメモリ33dから消去し、メモリ領域を開放する。
After execution of the operation, the
プロセッシングエレメント20cのトランザクション実行部340cは、このACKメッセージを受信すると、プロセッシングエレメント20aに対して、プロセッシングエレメント20cおよびプロセッシングエレメント20dにおいてディシジョン処理が完了したことを示すディシジョンACKメッセージを送信する(ステップS215)。ディシジョンACKメッセージを送信した後、トランザクション実行部340cは、このトランザクションに係るすべてのログをメモリ33cから消去し、メモリ領域を開放する。
Upon receipt of this ACK message, the
プロセッシングエレメント20aのトランザクション実行部340aは、ディシジョンACKメッセージをメンバーシップログに登録されたすべてのプロセッシングエレメント20cから受信すると、トランザクションのディシジョン処理が完了したことを示すエンドログを生成し、非同期neighbor−WALプロトコルを用いて、エンドログをメモリ33aにログ330aとして記憶するとともに、プロセッシングエレメント20bにエンドログを送信する(ステップS216)。
When the
このエンドログを受信したプロセッシングエレメント20bのトランザクション実行部340bは、送信されたエンドログをメモリ33bにログ330bとして記憶し、このBA−1.5フェーズコミットプロトコルを用いたトランザクション処理を終了する。
The
なお、ステップS213において、プライマリコホートであるプロセッシングエレメント20cは、ディシジョンに係るログをバックアップコホートであるプロセッシングエレメント20dに送信し、それに対するACKメッセージを待ち受けるが、プロセッシングエレメント20dに何らかの障害が発生し、ACKメッセージの受信ができなかった場合には、メモリに記憶したログを消去することなく、プライマリマスターであるプロセッシングエレメント20aにディシジョンACKメッセージを送信する。このログは、後にプロセッシングエレメント20dの復旧処理をおこなう際に用いられる。
In step S213, the
このように、プライマリコホートであるプロセッシングエレメント20cは、ディシジョン処理においてペンディング状態を経るが、バックアップコホートであるプロセッシングエレメント20dのペンディング状態における処理結果はトランザクションの最終結果に影響を及ぼさない。
In this way, the
BA−1.5フェーズコミットプロトコルという名称は、このようなペンディング状態におけるプライマリコホートのディシジョン処理を0.5相とカウントし、プライマリマスターのディシジョン処理を1相とカウントすることにより命名されたものである。 The name of the BA-1.5 phase commit protocol is named by counting the primary cohort decision process in such a pending state as 0.5 phase and the primary master decision process as 1 phase. is there.
また、上記トランザクション処理では、トランザクション処理が終了したログをメモリ33c、33dから消去していくため、メモリオーバーフローの発生を抑制することができる。また、メモリオーバーフローが発生する場合には、ログの一部をディスク装置40c、40dに書き込むこととしてもよい。
Further, in the transaction process, the log after the transaction process is completed is deleted from the
つぎに、プライマリマスター、バックアップマスター、プライマリコホート、バックアップコホートのいずれかに障害が発生した場合の復旧処理について説明する。なお、プライマリコホートであるプロセッシングエレメント20c、および、バックアップコホートであるプロセッシングエレメント20dはそれぞれ1台だけでなく、複数台あるものとする。
Next, recovery processing when a failure occurs in any of the primary master, the backup master, the primary cohort, and the backup cohort will be described. It is assumed that there are a plurality of
(1)バックアップマスターに障害が発生した場合
バックアップマスターであるプロセッシングエレメント20bの障害は、トランザクション処理には何の影響も及ぼさない。プライマリマスターであるプロセッシングエレメント20aの障害復旧処理部341aは、プロセッシングエレメント20bに障害が発生したことを検出する。
(1) When a failure occurs in the backup master The failure of the
障害の発生は、常時接続が確立されているソケット通信がタイムアウトなどにより切断されたか否かや、プロセッシングエレメント20bから障害が発生したことを示す障害発生メッセージを受信したか否かなどを調べることにより検出される。
The occurrence of the failure is determined by checking whether or not the socket communication for which the constant connection is established has been disconnected due to a timeout or the like, or whether or not a failure occurrence message indicating that a failure has occurred is received from the
そして、障害が検出された場合には、プロセッシングエレメント20aのトランザクション実行部340aは、非同期neighbor−WALプロトコルによりプロセッシングエレメント20bのメモリ33bにログを書き込むことはせず、プロセッシングエレメント20aのメモリ33aにだけログを書き込み、その後は通常の処理を継続する。
If a failure is detected, the
(2)プライマリマスターに障害が発生した場合
(2−1)トランザクションのディシジョン前に障害が発生した場合
図8は、ディシジョン前にプライマリマスターに障害が検出された場合の復帰処理について説明するシーケンス図である。図8に示すように、バックアップマスターであるプロセッシングエレメント20bの障害復旧処理部341bは、プライマリマスターであるプロセッシングエレメント20aに発生した障害を検出する(ステップS301)。
(2) When a failure occurs in the primary master (2-1) When a failure occurs before the decision of the transaction FIG. 8 is a sequence diagram for explaining the return processing when a failure is detected in the primary master before the decision It is. As illustrated in FIG. 8, the failure
そして、障害復旧処理部341bは、メンバーシップログに登録されたプライマリコホートであるすべてのプロセッシングエレメント20cおよびバックアップコホートであるプロセッシングエレメント20dにトランザクションの実行を中止するアボートメッセージを送信する(ステップS302、ステップS303)。プロセッシングエレメント20cの障害復旧処理部341cおよびプロセッシングエレメント20dの障害復旧処理部341dは、このアボートメッセージを受信して、トランザクションの実行を中止する。
Then, the failure
(2−2)トランザクションのディシジョン処理実行決定後で、すべてのプライマリコホートからACKメッセージを受信する前に障害が発生した場合
図9は、ディシジョン処理実行決定後、すべてのプライマリコホートからACKメッセージを受信する前にプライマリマスターに障害が検出された場合の復帰処理について説明するシーケンス図である。
(2-2) When a failure occurs after deciding to execute a decision process and before receiving ACK messages from all primary cohorts Figure 9 shows receiving ACK messages from all primary cohorts after deciding to execute a decision process It is a sequence diagram explaining a return process when a failure is detected in the primary master before performing.
ここで、バックアップマスターであるプロセッシングエレメント20bは、プライマリマスターであるプロセッシングエレメント20aがディシジョン処理の実行を決定した後、プロセッシングエレメント20aからディシジョンログを受信するので、ディシジョン処理の実行決定を検知することができる。
Here, the
図9に示すように、バックアップマスターであるプロセッシングエレメント20bの障害復旧処理部341bは、プライマリマスターであるプロセッシングエレメント20aに発生した障害を検出する(ステップS401)。そして、障害復旧処理部341bは、メンバーシップログに登録されたすべてのプロセッシングエレメント20cに対してディシジョンメッセージを送信する(ステップS402)。
As illustrated in FIG. 9, the failure
ここで、プロセッシングエレメント20bのメモリ33bには、メンバーシップログがすでに記憶されているので、障害復旧処理部341bは、ディシジョンメッセージを送信すべきすべてのプロセッシングエレメント20cをすべて検出することができる。
Here, since the membership log is already stored in the
このディシジョンメッセージを受信したプロセッシングエレメント20cのトランザクション実行部340cは、ディシジョン処理を実行するとともに、当該ディシジョン処理に係るログを生成し、同期neighbor−WALプロトコルを用いてバックアップコホートであるプロセッシングエレメント20dにログを送信する(ステップS403)。
The
このログを受信したプロセッシングエレメント20dのトランザクション実行部340dは、プロセッシングエレメント20cから受信したログに情報が含まれるすべてのオペレーションを実行し、オペレーションの実行完了を示すACKメッセージをプロセッシングエレメント20cに送信する(ステップS404)。
The
プロセッシングエレメント20cのトランザクション実行部340cは、このACKメッセージを受信すると、プロセッシングエレメント20bに対して、プロセッシングエレメント20cおよびプロセッシングエレメント20dにおいてディシジョン処理が完了したことを示すディシジョンACKメッセージを送信する(ステップS405)。
Upon receipt of this ACK message, the
プロセッシングエレメント20bの障害復旧処理部341bは、ディシジョンACKメッセージを受信すると、ディシジョン処理が完了したことを示すエンドログを生成し、エンドログをメモリ33bにログ330bとして記憶してトランザクション処理を終了する。
Upon receiving the decision ACK message, the failure
(3)バックアップコホートに障害が発生した場合
トランザクション処理においては、バックアップコホートの障害はプライマリマスターおよびバックアップマスターには影響を及ぼさない。実際、プライマリマスターは、ディシジョン処理の実行以前には、プライマリコホートとバックアップコホートとの間で同期処理がおこなわれないので、バックアップコホートの障害を検出できない。
(3) When a failure occurs in the backup cohort In transaction processing, a failure in the backup cohort does not affect the primary master and the backup master. In fact, the primary master cannot detect the failure of the backup cohort because the synchronization process is not performed between the primary cohort and the backup cohort before the decision process is executed.
図10は、バックアップコホートに異常が検出された場合の復帰処理について説明するシーケンス図である。図10に示すように、まず、プライマリコホートであるプロセッシングエレメント20cの障害復旧処理部341cは、バックアップコホートであるプロセッシングエレメント20dに発生した障害を検出する(ステップS501)。
FIG. 10 is a sequence diagram illustrating a return process when an abnormality is detected in the backup cohort. As shown in FIG. 10, first, the failure
障害復旧処理部341cは、障害を検出すると、プライマリマスターであるプロセッシングエレメント20aにACKメッセージを送信する(ステップS502)。ここで、トランザクション実行部340cは、メモリ33cに記憶しているログを消去せず、保持しておく。
When the failure
その後、障害復旧処理部341cは、プロセッシングエレメント20dの復旧を検出する(ステップS503)。そして、障害復旧処理部341cは、復旧の検出後、メモリ33cに保持していたログをプロセッシングエレメント20dに送信する(ステップS504)。プロセッシングエレメント20dのトランザクション実行部340dは、このログを受信してメモリ33dに記憶するとともに、ログを用いてデータを最新の状態に更新する。
Thereafter, the failure
(4)プライマリコホートに障害が発生した場合
(4−1)最後のオペレーションのプリペアード状態前に障害が発生した場合
プライマリマスターであるプロセッシングエレメント20aの障害復旧処理部341aが、最後のオペレーションのプリペアード状態前(図7のログライト(ログn)以前)に、プライマリコホートであるプロセッシングエレメント20cの1つに障害を検出した場合、障害復旧処理部341aは、障害を検出したプロセッシングエレメント20c以外のすべてのプライマリコホートおよびバックアップコホートに対して、トランザクションの中止を要求するアボートメッセージを送信する。
(4) When a failure occurs in the primary cohort (4-1) When a failure occurs before the prepared state of the last operation The failure
(4−2)最後のオペレーションのプリペアード状態以降に障害が発生した場合
この状況においては、プライマリマスターであるプロセッシングエレメント20aは、プライマリコホートであるすべてのプロセッシングエレメント20cからオペレーションの実行要求に対するACKメッセージを収集し、すべてのプロセッシングエレメント20cに対してディシジョンメッセージを送信する。
(4-2) When a Failure Occurs Since the Prepared State of the Last Operation In this situation, the
各プロセッシングエレメント20cにおいてはオペレーションの実行は完了しているので、この段階で障害が発生した場合には、プロセッシングエレメント20aは、トランザクションを中止するのではなく、そのまま継続させる。
Since the execution of the operation is completed in each
図11は、最後のオペレーションのプリペアード状態以降にプライマリコホートに障害が検出された場合の復帰処理について説明するシーケンス図である。図11に示すように、まず、プライマリマスターであるプロセッシングエレメント20aの障害復旧処理部341aは、プライマリコホートであるプロセッシングエレメント20cに発生した障害を検出する(ステップS601)。
FIG. 11 is a sequence diagram for explaining return processing when a failure is detected in the primary cohort after the prepared state of the last operation. As shown in FIG. 11, first, the failure
そして、障害復旧処理部341aは、バックアップコホートであるプロセッシングエレメント20dに、トランザクションに対するディシジョン処理の実行を要求するディシジョンメッセージを送信する(ステップS602)。
Then, the failure
プロセッシングエレメント20dのトランザクション実行部340dは、このディシジョンメッセージを受信し、ディシジョン処理を実行して、ディシジョンACKメッセージをプロセッシングエレメント20aに送信する(ステップS603)。ここで、トランザクション実行部340dは、メモリ33dに記憶しているログを消去せず、保持しておく。
The
プロセッシングエレメント20cの障害復旧処理部341cは、障害から復旧した後、プロセッシングエレメント20dに対して、ログの問い合わせをおこなう(ステップS604)。
The failure
プロセッシングエレメント20dの障害復旧処理部341dは、この問い合わせを受け付けると、プロセッシングエレメント20cにログを送信する(ステップS605)。プロセッシングエレメント20cの障害復旧処理部341cは、このログを用いて、データを最新の状態に更新する。
When the failure
本実施例にて説明してきた各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記各種処理を実現するプログラムを実行するコンピュータの一例について説明する。 The various processes described in the present embodiment can be realized by executing a program prepared in advance on a computer. In the following, an example of a computer that executes a program that implements the various processes will be described.
図12は、図3に示したコントローラ30a〜30dとなるコンピュータのハードウェア構成を示す図である。このコンピュータは、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース100、ディスク装置との間でデータの授受をおこなうディスクインターフェース101、CPU(Central Processing Unit)102、ROM(Read Only Memory)103、RAM(Random Access Memory)104をバス105で接続して構成される。
FIG. 12 is a diagram illustrating a hardware configuration of a computer serving as the
そして、ROM103には、コントローラ30a〜30dの機能と同様の機能を発揮するデータ記憶制御プログラム103aが記憶されている。なお、このデータ記憶制御プログラム103aについては、適宜分散して記憶することとしてもよい。
The
そして、CPU102が、データ記憶制御プログラム103aをROM103から読み出して実行することにより、データ記憶制御プロセス102aが起動され、機能するようになる。なお、ここではCPU102がデータ記憶制御プログラム103aを実行することしているが、MCU(Micro Controller Unit)やMPU(Micro Processing Unit)がデータ記憶制御プログラム103aを実行することとしてもよい。
Then, when the
このデータ記憶制御プログラム103aは、図3に示したトランザクション実行部340a(340b,340c,340d)、障害復旧処理部341a(341b,341c,341d)に対応する。
The data
また、CPU102は、RAM104にログ104a、バックアップディスク管理データ104b、ACK管理データ104cを記憶させるとともに、RAM104からそれらのデータを読み出して各種データ処理を実行する。
Further, the
ログ104a、バックアップディスク管理データ104b、ACK管理データ104cは、図3に示したログ330a(330b,330c,330d)、バックアップディスク管理データ331a(331b,331c,331d)、ACK管理データ332a(332b,332c,332d)にそれぞれ対応する。
The
つぎに、本実施例に係るBA−1.5フェーズコミットプロトコル(BA−1.5PC)、2フェーズコミットプロトコル(2PC)、および、アーリープリペアプロトコル(EP)間でのオーバーヘッドの比較について述べる。ここでいうオーバーヘッドには、トランザクションのオペレーション処理、コミット処理におけるメッセージ交換と、強制ディスク書き込みとの両方を含んでいる。 Next, an overhead comparison between the BA-1.5 phase commit protocol (BA-1.5PC), the two-phase commit protocol (2PC), and the early prepare protocol (EP) according to the present embodiment will be described. The overhead here includes both transaction operation processing, message exchange in commit processing, and forced disk writing.
図13は、各プロトコルのコミットされたトランザクションのオーバーヘッドを示す図である。ここで、Pは、トランザクションにおいて実行されるオペレーションの数であり、Nは、オペレーションを実行するコホートの数である。 FIG. 13 is a diagram illustrating the overhead of committed transactions for each protocol. Here, P is the number of operations performed in the transaction, and N is the number of cohorts that perform the operation.
図13に示されるように、BA−1.5フェーズコミットプロトコル、2フェーズコミットプロトコル、アーリープリペアプロトコルにおいて送信されるメッセージ数はそれぞれ、3+3P+4N、2P+8N、4P+2Nとなる。 As shown in FIG. 13, the numbers of messages transmitted in the BA-1.5 phase commit protocol, the two phase commit protocol, and the early prepare protocol are 3 + 3P + 4N, 2P + 8N, and 4P + 2N, respectively.
また、BA−1.5フェーズコミットプロトコル、2フェーズコミットプロトコル、アーリープリペアプロトコルにおいて実行されるディスク装置への強制ログライト数はそれぞれ、0、4N+1、2P+2となる。 The number of forced log writes to the disk device executed in the BA-1.5 phase commit protocol, the two phase commit protocol, and the early prepare protocol is 0, 4N + 1, and 2P + 2, respectively.
BA−1.5フェーズコミットプロトコルのメッセージ数は、図7から得られる。また、BA−1.5フェーズコミットプロトコルでは、非同期neighbor−WALプロトコルを用いるため、ディスク装置への強制ログライトは不要であり、強制ログライト数は0となる。 The number of messages in the BA-1.5 phase commit protocol can be obtained from FIG. Further, in the BA-1.5 phase commit protocol, the asynchronous neighbor-WAL protocol is used, so that the forced log write to the disk device is unnecessary, and the number of forced log writes becomes zero.
2フェーズコミットプロトコルでは、コホートは、コミット処理時に強制ディスクライトを2回実行する必要がある(1回は投票時、もう1回はディシジョン時)。一方、マスターは、ディシジョン時に1回強制ディスクライトを実行する必要がある。 In the two-phase commit protocol, the cohort needs to execute a forced disk write twice during commit processing (once at voting and once at decision). On the other hand, the master needs to execute a forced disk write once during the decision.
また、マスターは、各コホートとの間でメッセージを2往復分交換する必要がある。したがって、トランザクションにおいてP個のオペレーションをおこなう場合には、交換されるメッセージの数は4N+Pとなり、強制ディスクライトの数は2N+1となる。 The master also needs to exchange two round-trip messages with each cohort. Therefore, when performing P operations in a transaction, the number of exchanged messages is 4N + P, and the number of forced disk writes is 2N + 1.
この2フェーズコミットプロトコルを自律ディスクに適用した場合、プライマリコホートは、オペレーションおよびコミット処理時にバックアップコホートにメッセージを送信してその応答を受信する。また、コミット処理時には強制ログライトが2回発生する。したがって、2フェーズコミットプロトコルにおけるメッセージ数は8N+2Pとなり、強制ログライト数は4N+1となる。 When this two-phase commit protocol is applied to an autonomous disk, the primary cohort sends a message to the backup cohort and receives a response during operation and commit processing. In addition, a forced log write occurs twice during the commit process. Therefore, the number of messages in the two-phase commit protocol is 8N + 2P, and the number of forced log writes is 4N + 1.
アーリープリペアプロトコルでは、コホートは、オペレーションごとに更新データとともにログをディスク装置に強制ライトする。そして、コホートは、マスターにオペレーションに対するACKメッセージを送信する。 In the early prepare protocol, the cohort forcibly writes the log to the disk device together with the update data for each operation. The cohort then sends an ACK message for the operation to the master.
コミット時には、コホートは、中止されたトランザクションに対してのみ強制ログライトをおこない、中止されたトランザクションに対してのみACKメッセージを送信する。マスターがおこなう強制ログライトは、トランザクションの開始時におけるメンバーシップログの強制ログライトと、コミット時におけるディシジョンログの強制ログライトである。したがって、アーリープリペアプロトコルにおけるメッセージ数は2P+Nとなり、強制ログライト数はP+2となる。 At commit time, the cohort performs forced log write only for the aborted transaction and transmits an ACK message only for the aborted transaction. The forced log write performed by the master is a forced log write of the membership log at the start of the transaction and a forced log write of the decision log at the commit time. Therefore, the number of messages in the early prepare protocol is 2P + N, and the number of forced log writes is P + 2.
このアーリープリペアプロトコルを自律ディスクに適用した場合、プライマリコホートはバックアップコホートに対してオペレーションおよびディシジョンメッセージを送信する必要があるため、メッセージ数は4P+2Nとなり、強制ログライト数は2P+2となる。 When this early prepare protocol is applied to an autonomous disk, the primary cohort needs to send operation and decision messages to the backup cohort, so the number of messages is 4P + 2N, and the number of forced log writes is 2P + 2.
図13からわかるように、BA−1.5フェーズコミットプロトコルでは強制ログライトが発生せず、2フェーズコミットプロトコル、アーリープリペアプロトコルと比較してデータ処理を高速におこなうことができる。また、N>3で、2N+3<P<4N−3の関係をPが満足する場合には、メッセージ数も最小となり、他の2つのプロトコルよりもデータ処理を効率的におこなうことができる。
As can be seen from FIG. 13, forced log write does not occur in the BA-1.5 phase commit protocol, and data processing can be performed at a higher speed than the two-phase commit protocol and the early prepare protocol. When N> 3 and P satisfies the
つぎに、BA−1.5フェーズコミットプロトコル、2フェーズコミットプロトコル、および、アーリープリペアプロトコル間でのスループットの比較について述べる。図14は、各プロトコルのスループットの比較結果を示す図である。図14には、24台のディスク装置を有する自律ディスクにおけるさまざまなサイズのデータのインサート処理に係るスループットが示されている。 Next, a comparison of throughput between the BA-1.5 phase commit protocol, the two-phase commit protocol, and the early prepare protocol will be described. FIG. 14 is a diagram showing a comparison result of the throughput of each protocol. FIG. 14 shows throughputs related to insert processing of data of various sizes in an autonomous disk having 24 disk devices.
図14に示すように、BA−1.5フェーズコミットプロトコルのスループットは、すべてのデータサイズにおいて、2フェーズコミットプロトコルおよびアーリープリペアプロトコルのスループットを上回っている。これは、BA−1.5フェーズコミットプロトコルでは、コミット処理におけるメッセージ交換の複雑さを解消し、強制ログライトを不要としたためである。 As shown in FIG. 14, the throughput of the BA-1.5 phase commit protocol exceeds the throughputs of the two-phase commit protocol and the early prepare protocol for all data sizes. This is because the BA-1.5 phase commit protocol eliminates the complexity of message exchange in the commit process and eliminates the need for forced log writing.
図15、16および17はそれぞれ、BA−1.5フェーズコミットプロトコル、2PCプロトコル、および、EPプロトコルのスループットを示す図である。図15、16および17に示されるように、いずれのプロトコルにおいてもディスク装置(ノード)の数が増えるにつれてスループットが増大することがわかる。 FIGS. 15, 16 and 17 are diagrams illustrating the throughput of the BA-1.5 phase commit protocol, the 2PC protocol, and the EP protocol, respectively. As shown in FIGS. 15, 16 and 17, it can be seen that in any protocol, the throughput increases as the number of disk devices (nodes) increases.
そして、BA−1.5フェーズコミットプロトコルにおけるスループットは、ディスク装置の数がいくつであっても、2PCプロトコルおよびEPプロトコルのスループットよりも大きくなっている。このように、自律ディスクにBA−1.5フェーズコミットプロトコルを適用することにより、データ処理を高速におこなうことができる。 The throughput in the BA-1.5 phase commit protocol is larger than the throughput of the 2PC protocol and the EP protocol regardless of the number of disk devices. In this manner, data processing can be performed at high speed by applying the BA-1.5 phase commit protocol to the autonomous disk.
上述してきたように、本実施例では、プライマリマスターであるプロセッシングエレメント20aが、データに対するオペレーションの実行要求メッセージを送信し、プライマリコホートである1つ以上のプロセッシングエレメント20bが、オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対するACKメッセージをプロセッシングエレメント20aに送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、バックアップコホートである1つ以上のプロセッシングエレメント20dが、1つ以上のプロセッシングエレメント20cにより送信されたメッセージを受信して各オペレーションに係るログ情報をメモリ33dに記憶し、プロセッシングエレメント20aが、1つ以上のプロセッシングエレメント20cにより送信されたACKメッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、1つ以上のプロセッシングエレメント20cは、プロセッシングエレメント20aにより送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、1つ以上のプロセッシングエレメント20cのそれぞれに接続されたディスク装置40cに記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上のプロセッシングエレメント20dが、1つ以上のプロセッシングエレメント20cにより送信されたメッセージを受信し、メモリ33dに記憶されたログ情報に基づいてディシジョン処理を実行して、1つ以上のプロセッシングエレメント20dのそれぞれに接続されたディスク装置40dに記憶されたバックアップデータの更新をおこなうこととしたので、トランザクションに係るオーバーヘッドの増大を抑制し、データ処理の効率を向上させることができる。
As described above, in this embodiment, the
また、本実施例では、バックアップコホートである1つ以上のプロセッシングエレメント20dが、ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信し、プライマリコホートである1つ以上のプロセッシングエレメント20cが、1つ以上のプロセッシングエレメント20dからディシジョン完了メッセージを受信した場合に、プライマリマスターであるプロセッシングエレメント20aに対してデータの同期処理が完了したことを示す同期完了メッセージを送信することとしたので、データとバックアップデータとの間で同期を確実にとることができる。
Further, in this embodiment, one or
また、本実施例では、プライマリマスターであるプロセッシングエレメント20aが、オペレーションの実行要求メッセージを送信する1つ以上のプロセッシングエレメント20cを示すメンバーシップログ情報を生成してバックアップマスターであるプロセッシングエレメント20bに送信し、プロセッシングエレメント20bが、メンバーシップログ情報をメモリ33bに記憶し、プロセッシングエレメント20aが、ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成してプロセッシングエレメント20bに送信し、プロセッシングエレメント20bが、ディシジョンログ情報を受信した後、プロセッシングエレメント20aに係る障害を検出した場合に、メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを1つ以上のプロセッシングエレメント20cに送信することとしたので、プロセッシングエレメント20aに係る障害が発生した場合でも、ディシジョン処理を迅速に実行することができる。
In this embodiment, the
また、本実施例では、プライマリコホートである1つ以上のプロセッシングエレメント20cが、プライマリマスターであるプロセッシングエレメント20aからディシジョン処理の実行要求メッセージを受信した後、バックアップコホートである1つ以上のプロセッシングエレメント20dに係る障害を検出した場合に、プロセッシングエレメント20aに対してディシジョン完了メッセージを送信し、障害が復旧した場合に、1つ以上のプロセッシングエレメント20dが、メモリ33dに記憶されたログ情報に基づいてディシジョン処理を実行して、1つ以上のプロセッシングエレメント20dのそれぞれに接続されたディスク装置40dに記憶されたバックアップデータを更新することとしたので、プロセッシングエレメント20dに係る障害が発生した場合でも、ディシジョン処理を迅速に実行することができる。
Further, in this embodiment, after one or
また、本実施例では、プライマリマスターであるプロセッシングエレメント20aが、プライマリコホートである1つ以上のプロセッシングエレメント20cにより送信されたすべての応答メッセージを受信した後、1つ以上のプロセッシングエレメント20cのうちのいずれかに係る障害を検出した場合に、1つ以上のプロセッシングエレメント20dにオペレーションに対するディシジョン処理の実行要求メッセージを送信し、1つ以上のプロセッシングエレメント20dが、プロセッシングエレメント20aにより送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、障害が復旧した場合にディシジョン処理に係るログ情報を障害が発生したプロセッシングエレメント20cに送信し、プロセッシングエレメント20cは、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することとしたので、プロセッシングエレメント20cに係る障害が発生した場合でも、ディシジョン処理を迅速に実行することができる。
Further, in the present embodiment, after the
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。 Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different embodiments in addition to the above-described embodiments within the scope of the technical idea described in the claims. It ’s good.
たとえば、図7のステップS215において、プライマリコホートは、バックアップコホートとの間でデータの同期をとった後に、プライマリマスターに対してディシジョンACKメッセージを送信しているが、バックアップコホートとのデータ同期を待たずに、ディシジョンACKメッセージを送信することとしてもよい。これにより、ディシジョン処理に要する時間をさらに短縮することができる。 For example, in step S215 of FIG. 7, the primary cohort sends a decision ACK message to the primary master after synchronizing data with the backup cohort, but waits for data synchronization with the backup cohort. Instead, a decision ACK message may be transmitted. Thereby, the time required for the decision processing can be further shortened.
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。 In addition, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method.
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(あるいはMCUやMPU)および当該CPU(あるいはMCUやMPU)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Furthermore, each processing function performed in each device is realized by a CPU (or MCU or MPU) and a program that is analyzed and executed by the CPU (or MCU or MPU), Alternatively, it can be realized as hardware by wired logic.
(付記1)データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させる制御をおこなうデータ記憶制御装置であって、
データに対するオペレーションの実行要求メッセージを複数送信する第1の記憶制御部と、
前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信する1つ以上の第2の記憶制御部と、
前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶する1つ以上の第3の記憶制御部と、
を備え、
前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、
前記1つ以上の第2の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータの更新を制御するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、
前記1つ以上の第3の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新制御をおこなう
ことを特徴とするデータ記憶制御装置。
(Supplementary Note 1) A data storage control device that performs control to store data and backup data of the data in different data storage units,
A first storage control unit for transmitting a plurality of operation execution request messages for data;
When the operation execution request message is received, the operation is executed, and a response message to the operation execution request message is transmitted to the first storage control unit every time the execution of the operation is completed. One or more second storage control units for generating information and transmitting a message including the log information;
One or more third storage control units that receive messages transmitted by the one or more second storage control units and store log information related to each operation in a memory;
With
The first storage control unit receives the response message transmitted by the one or more second storage control units, determines whether or not execution of all operations is completed, and executes all operations. After completion, send a decision processing execution message for the operation,
The one or more second storage control units execute the decision processing when receiving the decision processing execution request message transmitted by the first storage control unit, and the one or more second storage control units While controlling the update of the data stored in the data storage unit connected to each of the control unit, generate log information related to the decision processing and send a message including the log information,
The one or more third storage control units receive a message transmitted from the one or more second storage control units and execute a decision process based on log information stored in the memory. A data storage control device that performs update control of backup data stored in a data storage unit connected to each of the one or more third storage control units.
(付記2)前記1つ以上の第3の記憶制御部は、前記ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信し、前記1つ以上の第2の記憶制御部は、前記1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、前記第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信することを特徴とする付記1に記載のデータ記憶制御装置。
(Supplementary Note 2) After the execution of the decision process, the one or more third storage control units transmit a decision completion message indicating the completion of the decision process, and the one or more second storage control units When a decision completion message is received from the one or more third storage control units, a synchronization completion message indicating that data synchronization processing has been completed is transmitted to the first storage control unit. The data storage control device according to
(付記3)オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報をメモリに記憶する第4の記憶制御部をさらに備え、前記第1の記憶制御部は、前記メンバーシップログ情報を生成して第4の記憶制御部に送信するとともに、前記ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、前記第4の記憶制御部は、前記ディシジョンログ情報を受信した後、前記第1の記憶制御部に係る障害を検出した場合に、前記メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを前記1つ以上の第2の記憶制御部に送信することを特徴とする付記1または2に記載のデータ記憶制御装置。 (Additional remark 3) It further has a 4th storage control part which memorizes membership log information which shows one or more 2nd storage control parts which transmit an execution request message of operation in a memory, The 1st storage control part Generates the membership log information and transmits it to the fourth storage control unit, and generates decision log information indicating the decision to execute the decision process when the decision to execute the decision process is generated, and stores the fourth log. When the fourth storage control unit detects a failure related to the first storage control unit after receiving the decision log information, the fourth storage control unit responds to the operation based on the membership log information. The decision process execution request message is transmitted to the one or more second storage control units. Over data storage control device.
(付記4)前記1つ以上の第2の記憶制御部は、前記第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、前記1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対して前記ディシジョン完了メッセージを送信し、前記障害が復旧した場合に、前記1つ以上の第3の記憶制御部は、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新制御をおこなうことを特徴とする付記1、2または3に記載のデータ記憶制御装置。 (Supplementary Note 4) After the one or more second storage control units receive the decision processing execution request message from the first storage control unit, the faults related to the one or more third storage control units When the failure is detected, the decision completion message is transmitted to the first storage control unit. When the failure is recovered, the one or more third storage control units are stored in the memory. The decision processing is executed based on log information, and update control of backup data stored in a data storage unit connected to each of the one or more third storage control units is performed. 2. The data storage control device according to 2 or 3.
(付記5)前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、前記1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、前記1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記1つ以上の第3の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、前記障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部は、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することを特徴とする付記1〜4のいずれか1つに記載のデータ記憶制御装置。
(Supplementary Note 5) The first storage control unit receives all response messages transmitted by the one or more second storage control units, and then includes the one or more second storage control units. When a failure related to any of the above is detected, a decision processing execution request message for an operation is transmitted to the one or more third storage control units, and the one or more third storage control units A second storage control in which the decision process is executed when the decision process execution request message transmitted by the first storage control unit is received, and the log information related to the decision process is restored from the failure when the failure is recovered; The second storage control unit that is transmitted to the unit and recovered from the failure receives the log information related to the decision process, and executes the decision process based on the received log information Data storage control apparatus according to any one of
(付記6)複数のデータ記憶部を有し、データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させるデータ記憶装置であって、
データに対するオペレーションの実行要求メッセージを複数送信する第1の記憶制御部と、
前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信する1つ以上の第2の記憶制御部と、
前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶する1つ以上の第3の記憶制御部と、
を備え、
前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、
前記1つ以上の第2の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、
前記1つ以上の第3の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなう
ことを特徴とするデータ記憶装置。
(Appendix 6) A data storage device that includes a plurality of data storage units and stores data and backup data of the data in different data storage units,
A first storage control unit for transmitting a plurality of operation execution request messages for data;
When the operation execution request message is received, the operation is executed, and a response message to the operation execution request message is transmitted to the first storage control unit every time the execution of the operation is completed. One or more second storage control units for generating information and transmitting a message including the log information;
One or more third storage control units that receive messages transmitted by the one or more second storage control units and store log information related to each operation in a memory;
With
The first storage control unit receives the response message transmitted by the one or more second storage control units, determines whether or not execution of all operations is completed, and executes all operations. After completion, send a decision processing execution message for the operation,
The one or more second storage control units execute the decision processing when receiving the decision processing execution request message transmitted by the first storage control unit, and the one or more second storage control units Update the data stored in the data storage unit connected to each of the control unit, generate log information related to the decision processing and send a message including the log information,
The one or more third storage control units receive a message transmitted from the one or more second storage control units and execute a decision process based on log information stored in the memory. A data storage device that updates backup data stored in a data storage unit connected to each of the one or more third storage control units.
(付記7)前記1つ以上の第3の記憶制御部は、前記ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信し、前記1つ以上の第2の記憶制御部は、前記1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、前記第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信することを特徴とする付記6に記載のデータ記憶装置。 (Supplementary Note 7) The one or more third storage control units, after executing the decision processing, transmit a decision completion message indicating completion of the decision processing, and the one or more second storage control units When a decision completion message is received from the one or more third storage control units, a synchronization completion message indicating that data synchronization processing has been completed is transmitted to the first storage control unit. The data storage device according to appendix 6, which is characterized.
(付記8)オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報をメモリに記憶する第4の記憶制御部をさらに備え、前記第1の記憶制御部は、前記メンバーシップログ情報を生成して第4の記憶制御部に送信するとともに、前記ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、前記第4の記憶制御部は、前記ディシジョンログ情報を受信した後、前記第1の記憶制御部に係る障害を検出した場合に、前記メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを前記1つ以上の第2の記憶制御部に送信することを特徴とする付記6または7に記載のデータ記憶装置。 (Supplementary Note 8) The first storage control unit further includes a fourth storage control unit that stores, in a memory, membership log information indicating one or more second storage control units that transmit the operation execution request message. Generates the membership log information and transmits it to the fourth storage control unit, and generates decision log information indicating the decision to execute the decision process when the decision to execute the decision process is generated, and stores the fourth log. When the fourth storage control unit detects a failure related to the first storage control unit after receiving the decision log information, the fourth storage control unit responds to the operation based on the membership log information. 8. The decision process execution request message is transmitted to the one or more second storage control units. Over data storage device.
(付記9)前記1つ以上の第2の記憶制御部は、前記第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、前記1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対して前記ディシジョン完了メッセージを送信し、前記障害が復旧した場合に、前記1つ以上の第3の記憶制御部は、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータを更新することを特徴とする付記6、7または8に記載のデータ記憶装置。 (Supplementary note 9) The one or more second storage control units receive a decision processing execution request message from the first storage control unit, and then have a failure related to the one or more third storage control units. When the failure is detected, the decision completion message is transmitted to the first storage control unit. When the failure is recovered, the one or more third storage control units are stored in the memory. Appendices 6 and 7, wherein a decision process is executed based on log information to update backup data stored in a data storage unit connected to each of the one or more third storage control units Or the data storage device according to 8;
(付記10)前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、前記1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、前記1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記1つ以上の第3の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、前記障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部は、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することを特徴とする付記6〜9のいずれか1つに記載のデータ記憶装置。 (Supplementary Note 10) The first storage control unit receives all response messages transmitted by the one or more second storage control units, and then includes the one or more second storage control units. When a failure related to any of the above is detected, a decision processing execution request message for an operation is transmitted to the one or more third storage control units, and the one or more third storage control units A second storage control in which the decision process is executed when the decision process execution request message transmitted by the first storage control unit is received, and the log information related to the decision process is restored from the failure when the failure is recovered; The second storage control unit that has been transmitted to the unit and recovered from the failure receives the log information related to the decision process, and executes the decision process based on the received log information. Data storage device according to any one of Appendices 6-9 characterized by.
(付記11)データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させるデータ記憶方法であって、
第1の記憶制御部が、データに対するオペレーションの実行要求メッセージを送信するオペレーション実行要求メッセージ送信工程と、
1つ以上の第2の記憶制御部が、前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上の第3の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶するオペレーション実行工程と、
前記第1の記憶制御部が、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信するディシジョン実行要求メッセージ送信工程と、
前記1つ以上の第2の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、前記1つ以上の第3の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなうディシジョン実行工程と、
を含んだことを特徴とするデータ記憶方法。
(Supplementary note 11) A data storage method for storing data and backup data of the data in different data storage units,
An operation execution request message transmission step in which the first storage control unit transmits an operation execution request message for data;
When one or more second storage control units receive the operation execution request message, the one or more second storage control units execute the operation, and each time the execution of the operation is completed, a first response message to the operation execution request message is sent. To the storage control unit, generates log information related to the operation, transmits a message including the log information, and one or more third storage control units transmit the one or more second storage controls. An operation execution step of receiving a message transmitted by the unit and storing log information related to each operation in a memory;
The first storage control unit receives the response message transmitted by the one or more second storage control units, determines whether or not all the operations have been executed, and executes all the operations. A decision execution request message transmission step for transmitting a decision processing execution request message for the operation after completion;
When the one or more second storage control units receive the decision processing execution request message transmitted by the first storage control unit, the decision processing is executed, and the one or more second storage control units Updating the data stored in the data storage unit connected to each of the control units, generating log information related to the decision process, and transmitting a message including the log information; The storage control unit receives the message transmitted by the one or more second storage control units, executes a decision process based on the log information stored in the memory, and the one or more third storage units A decision execution step for updating backup data stored in a data storage unit connected to each of the storage control units;
A data storage method comprising:
(付記12)前記1つ以上の第3の記憶制御部が、前記ディシジョン処理を実行した後、ディシジョン処理の完了を示すディシジョン完了メッセージを送信するディシジョン完了メッセージ送信工程と、前記1つ以上の第2の記憶制御部が、前記1つ以上の第3の記憶制御部からディシジョン完了メッセージを受信した場合に、前記第1の記憶制御部に対してデータの同期処理が完了したことを示す同期完了メッセージを送信する同期完了メッセージ送信工程とをさらに含んだことを特徴とする付記11に記載のデータ記憶方法。 (Supplementary Note 12) A decision completion message transmission step of transmitting a decision completion message indicating completion of the decision processing after the one or more third storage control units have executed the decision processing, and the one or more first storage control portions. When the two storage control units receive the decision completion message from the one or more third storage control units, the synchronization completion indicating that the data synchronization processing is completed to the first storage control unit The data storage method according to claim 11, further comprising a synchronization completion message transmission step of transmitting a message.
(付記13)前記オペレーション実行要求メッセージ送信工程は、前記第1の記憶制御部が、オペレーションの実行要求メッセージを送信する1つ以上の第2の記憶制御部を示すメンバーシップログ情報を生成して第4の記憶制御部に送信し、第4の記憶制御部が、前記メンバーシップログ情報をメモリに記憶し、前記ディシジョン実行要求メッセージ送信工程は、前記第1の記憶制御部が、前記ディシジョン処理の実行を決定した場合にディシジョン処理の実行決定を示すディシジョンログ情報を生成して第4の記憶制御部に送信し、第4の記憶制御部が、前記ディシジョンログ情報を受信した後、前記第1の記憶制御部に係る障害を検出した場合に、前記メンバーシップログ情報に基づいてオペレーションに対するディシジョン処理の実行要求メッセージを前記1つ以上の第2の記憶制御部に送信することを特徴とする付記11または12に記載のデータ記憶方法。 (Supplementary Note 13) In the operation execution request message transmission step, the first storage control unit generates membership log information indicating one or more second storage control units that transmit the operation execution request message. The fourth storage control unit stores the membership log information in a memory, and the decision execution request message transmission step is performed by the first storage control unit in the decision process. Decision log information indicating decision of execution of decision processing is generated and transmitted to the fourth storage control unit, and after the fourth storage control unit receives the decision log information, When a failure related to one storage control unit is detected, the decision processing for the operation is executed based on the membership log information. Data storage method according to appendix 11 or 12 and transmits the request message the one or more in the second storage control unit.
(付記14)前記ディシジョン実行工程は、前記1つ以上の第2の記憶制御部が、前記第1の記憶制御部からディシジョン処理の実行要求メッセージを受信した後、前記1つ以上の第3の記憶制御部に係る障害を検出した場合に、第1の記憶制御部に対して前記ディシジョン完了メッセージを送信し、前記障害が復旧した場合に、前記1つ以上の第3の記憶制御部が、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータを更新することを特徴とする付記11、12または13に記載のデータ記憶方法。 (Supplementary Note 14) In the decision execution step, the one or more second storage control units receive the decision processing execution request message from the first storage control unit, and then the one or more third storage control units When a failure related to the storage control unit is detected, the decision completion message is transmitted to the first storage control unit, and when the failure is recovered, the one or more third storage control units are: A decision process is executed based on the log information stored in the memory to update backup data stored in a data storage unit connected to each of the one or more third storage control units. The data storage method according to Supplementary Note 11, 12 or 13.
(付記15)前記ディシジョン実行要求メッセージ送信工程は、前記第1の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたすべての応答メッセージを受信した後、前記1つ以上の第2の記憶制御部のうちのいずれかに係る障害を検出した場合に、前記1つ以上の第3の記憶制御部にオペレーションに対するディシジョン処理の実行要求メッセージを送信し、前記ディシジョン実行工程は、前記1つ以上の第3の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合に、ディシジョン処理を実行し、前記障害が復旧した場合にディシジョン処理に係るログ情報を障害から復旧した第2の記憶制御部に送信し、障害から復旧した第2の記憶制御部が、ディシジョン処理に係るログ情報を受信し、受信したログ情報に基づいてディシジョン処理を実行することを特徴とする付記11〜14のいずれか1つに記載のデータ記憶方法。 (Supplementary Note 15) In the decision execution request message transmission step, after the first storage control unit has received all response messages transmitted by the one or more second storage control units, the one or more ones When a failure related to any one of the second storage control units is detected, a decision processing execution request message for an operation is transmitted to the one or more third storage control units, and the decision execution step includes: When the one or more third storage control units receive the decision processing execution request message transmitted by the first storage control unit, the decision processing is executed, and the decision is made when the failure is recovered. The log information related to the process is transmitted to the second storage control unit recovered from the failure, and the second storage control unit recovered from the failure is involved in the decision processing. Data storage method according to the received log information, any one of Appendices 11 to 14, characterized in that to execute the decision processing based on the received log information.
(付記16)データと当該データのバックアップデータとをそれぞれ異なるデータ記憶部に記憶させる制御をおこなうデータ記憶制御プログラムであって、
第1の記憶制御部が、データに対するオペレーションの実行要求メッセージを送信するオペレーション実行要求メッセージ送信手順と、
1つ以上の第2の記憶制御部が、前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、1つ以上の第3の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶するオペレーション実行手順と、
前記第1の記憶制御部が、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信するディシジョン実行要求メッセージ送信手順と、
前記1つ以上の第2の記憶制御部が、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、前記1つ以上の第3の記憶制御部が、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなうディシジョン実行手順と、
をコンピュータに実行させることを特徴とするデータ記憶制御プログラム。
(Supplementary Note 16) A data storage control program for performing control for storing data and backup data of the data in different data storage units,
An operation execution request message transmission procedure in which the first storage control unit transmits an operation execution request message for data;
When one or more second storage control units receive the operation execution request message, the one or more second storage control units execute the operation, and each time the execution of the operation is completed, a first response message to the operation execution request message is sent. To the storage control unit, generates log information related to the operation, transmits a message including the log information, and one or more third storage control units transmit the one or more second storage controls. An operation execution procedure for receiving a message transmitted by the unit and storing log information related to each operation in a memory;
The first storage control unit receives the response message transmitted by the one or more second storage control units, determines whether or not all the operations have been executed, and executes all the operations. After completion, a decision execution request message sending procedure for sending a decision processing execution request message for the operation;
When the one or more second storage control units receive the decision processing execution request message transmitted by the first storage control unit, the decision processing is executed, and the one or more second storage control units Updating the data stored in the data storage unit connected to each of the control units, generating log information related to the decision process, and transmitting a message including the log information; The storage control unit receives the message transmitted by the one or more second storage control units, executes a decision process based on the log information stored in the memory, and the one or more third storage units A decision execution procedure for updating backup data stored in a data storage unit connected to each of the storage control units;
A data storage control program for causing a computer to execute.
以上のように、本発明に係るデータ記憶制御装置およびデータ記憶装置は、トランザクションに係るオーバーヘッドの増大を抑制し、データ処理の効率を向上させることができるデータ記憶システムに有用である。 As described above, the data storage control device and the data storage device according to the present invention are useful for a data storage system that can suppress an increase in overhead related to a transaction and improve the efficiency of data processing.
10a〜10c クライアント
100 ネットワークインターフェース
101 ディスクインターフェース
102 CPU
103 ROM
104 RAM
105 バス
20a〜20d プロセッシングエレメント
30a〜30d コントローラ
31a〜31d ネットワークインターフェース部
32a〜32d ディスクインターフェース部
33a〜33d メモリ
330a〜330d,104a ログ
331a〜331d,104b バックアップディスク管理データ
332a〜332d,104c ACK管理データ
34a〜34d 制御部
340a〜340d トランザクション実行部
341a〜341d 障害復旧処理部
40a〜40d ディスク装置
400a〜400d ディレクトリデータ
401a〜401d ディレクトリバックアップデータ
402a〜402d プライマリデータ
403a〜403d バックアップデータ
50 ネットワーク
10a to
103 ROM
104 RAM
105
Claims (10)
データに対するオペレーションの実行要求メッセージを複数送信する第1の記憶制御部と、
前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信する1つ以上の第2の記憶制御部と、
前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶する1つ以上の第3の記憶制御部と、
を備え、
前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、
前記1つ以上の第2の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータの更新を制御するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、
前記1つ以上の第3の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新制御をおこなう
ことを特徴とするデータ記憶制御装置。 A data storage control device that performs control to store data and backup data of the data in different data storage units,
A first storage control unit for transmitting a plurality of operation execution request messages for data;
When the operation execution request message is received, the operation is executed, and a response message to the operation execution request message is transmitted to the first storage control unit every time the execution of the operation is completed. One or more second storage control units for generating information and transmitting a message including the log information;
One or more third storage control units that receive messages transmitted by the one or more second storage control units and store log information related to each operation in a memory;
With
The first storage control unit receives the response message transmitted by the one or more second storage control units, determines whether or not execution of all operations is completed, and executes all operations. After completion, send a decision processing execution message for the operation,
The one or more second storage control units execute the decision processing when receiving the decision processing execution request message transmitted by the first storage control unit, and the one or more second storage control units While controlling the update of the data stored in the data storage unit connected to each of the control unit, generate log information related to the decision processing and send a message including the log information,
The one or more third storage control units receive a message transmitted from the one or more second storage control units and execute a decision process based on log information stored in the memory. A data storage control device that performs update control of backup data stored in a data storage unit connected to each of the one or more third storage control units.
データに対するオペレーションの実行要求メッセージを複数送信する第1の記憶制御部と、
前記オペレーションの実行要求メッセージを受信した場合に、当該オペレーションを実行するとともに、オペレーションの実行が完了するたびにオペレーションの実行要求メッセージに対する応答メッセージを第1の記憶制御部に送信し、オペレーションに係るログ情報を生成して当該ログ情報を含んだメッセージを送信する1つ以上の第2の記憶制御部と、
前記1つ以上の第2の記憶制御部により送信されたメッセージを受信して各オペレーションに係るログ情報をメモリに記憶する1つ以上の第3の記憶制御部と、
を備え、
前記第1の記憶制御部は、前記1つ以上の第2の記憶制御部により送信された応答メッセージを受信してすべてのオペレーションの実行が完了したか否かを判定し、すべてのオペレーションの実行完了後、オペレーションに対するディシジョン処理の実行要求メッセージを送信し、
前記1つ以上の第2の記憶制御部は、第1の記憶制御部により送信されたディシジョン処理の実行要求メッセージを受信した場合にディシジョン処理を実行して、前記1つ以上の第2の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたデータを更新するとともに、ディシジョン処理に係るログ情報を生成して当該ログ情報を含んだメッセージを送信し、
前記1つ以上の第3の記憶制御部は、前記1つ以上の第2の記憶制御部により送信されたメッセージを受信し、前記メモリに記憶されたログ情報に基づいてディシジョン処理を実行して、前記1つ以上の第3の記憶制御部のそれぞれに接続されたデータ記憶部に記憶されたバックアップデータの更新をおこなう
ことを特徴とするデータ記憶装置。 A data storage device having a plurality of data storage units and storing data and backup data of the data in different data storage units,
A first storage control unit for transmitting a plurality of operation execution request messages for data;
When the operation execution request message is received, the operation is executed, and a response message to the operation execution request message is transmitted to the first storage control unit every time the execution of the operation is completed. One or more second storage control units for generating information and transmitting a message including the log information;
One or more third storage control units that receive messages transmitted by the one or more second storage control units and store log information related to each operation in a memory;
With
The first storage control unit receives the response message transmitted by the one or more second storage control units, determines whether or not execution of all operations is completed, and executes all operations. After completion, send a decision processing execution message for the operation,
The one or more second storage control units execute the decision processing when receiving the decision processing execution request message transmitted by the first storage control unit, and the one or more second storage control units Update the data stored in the data storage unit connected to each of the control unit, generate log information related to the decision processing and send a message including the log information,
The one or more third storage control units receive a message transmitted from the one or more second storage control units and execute a decision process based on log information stored in the memory. A data storage device that updates backup data stored in a data storage unit connected to each of the one or more third storage control units.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006275820A JP2008097155A (en) | 2006-10-06 | 2006-10-06 | Data storage controller and data storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006275820A JP2008097155A (en) | 2006-10-06 | 2006-10-06 | Data storage controller and data storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008097155A true JP2008097155A (en) | 2008-04-24 |
Family
ID=39379964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006275820A Pending JP2008097155A (en) | 2006-10-06 | 2006-10-06 | Data storage controller and data storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008097155A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3298492A4 (en) * | 2015-05-19 | 2019-01-02 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334007A (en) * | 2001-05-11 | 2002-11-22 | Hitachi Ltd | Previous execution method of committing guarantee processing of decentralized database |
JP2005190456A (en) * | 2003-12-03 | 2005-07-14 | Hitachi Ltd | Remote copy system |
JP2006012005A (en) * | 2004-06-29 | 2006-01-12 | Tokyo Institute Of Technology | Autonomous storage device, autonomous storage system, network load distribution program and network load distribution method |
JP2006039976A (en) * | 2004-07-28 | 2006-02-09 | Hitachi Ltd | Remote copy system |
JP2006227816A (en) * | 2005-02-16 | 2006-08-31 | Toshiba Corp | Distributed system, computer, and state transition control method of distributed system |
-
2006
- 2006-10-06 JP JP2006275820A patent/JP2008097155A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334007A (en) * | 2001-05-11 | 2002-11-22 | Hitachi Ltd | Previous execution method of committing guarantee processing of decentralized database |
JP2005190456A (en) * | 2003-12-03 | 2005-07-14 | Hitachi Ltd | Remote copy system |
JP2006012005A (en) * | 2004-06-29 | 2006-01-12 | Tokyo Institute Of Technology | Autonomous storage device, autonomous storage system, network load distribution program and network load distribution method |
JP2006039976A (en) * | 2004-07-28 | 2006-02-09 | Hitachi Ltd | Remote copy system |
JP2006227816A (en) * | 2005-02-16 | 2006-08-31 | Toshiba Corp | Distributed system, computer, and state transition control method of distributed system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3298492A4 (en) * | 2015-05-19 | 2019-01-02 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934107B1 (en) | Designating backup nodes and backing up in parallel in a high-availability environment | |
US10895996B2 (en) | Data synchronization method, system, and apparatus using a work log for synchronizing data greater than a threshold value | |
US11481139B1 (en) | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity | |
JP5647624B2 (en) | Multi-server application synchronization method, program, and system without interrupting I / O | |
US20060047776A1 (en) | Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link | |
JP4461147B2 (en) | Cluster database using remote data mirroring | |
US6622259B1 (en) | Non-disruptive migration of coordinator services in a distributed computer system | |
US11841781B2 (en) | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US11709743B2 (en) | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US20230385244A1 (en) | Facilitating immediate performance of volume resynchronization with the use of passive cache entries | |
JP4500318B2 (en) | Distributed transaction processing method, apparatus, and program | |
JP4560074B2 (en) | Virtual computer system and virtual computer restoration method in the same system | |
US9043283B2 (en) | Opportunistic database duplex operations | |
JP2006338225A (en) | Automatic installation method of computer | |
CN111858143A (en) | Method, apparatus, and computer-readable storage medium for managing storage system | |
US8977897B2 (en) | Computer-readable recording medium, data management method, and storage device | |
US20050044193A1 (en) | Method, system, and program for dual agent processes and dual active server processes | |
US20150213104A1 (en) | Synchronous data replication in a content management system | |
US10649862B1 (en) | Reducing failback performance duration in data replication systems | |
JP2008097155A (en) | Data storage controller and data storage device | |
US11669516B2 (en) | Fault tolerance for transaction mirroring | |
CN114281600A (en) | Disaster recovery backup and recovery method, device, equipment and storage medium | |
US20120191645A1 (en) | Information processing apparatus and database system | |
US20050160242A1 (en) | Asynchronous hybrid mirroring system | |
US20240143215A1 (en) | Fast resynchronization of a mirrored aggregate using disk-level cloning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120410 |