[go: up one dir, main page]

JP4998549B2 - メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置 - Google Patents

メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置 Download PDF

Info

Publication number
JP4998549B2
JP4998549B2 JP2009501099A JP2009501099A JP4998549B2 JP 4998549 B2 JP4998549 B2 JP 4998549B2 JP 2009501099 A JP2009501099 A JP 2009501099A JP 2009501099 A JP2009501099 A JP 2009501099A JP 4998549 B2 JP4998549 B2 JP 4998549B2
Authority
JP
Japan
Prior art keywords
update
memory
update log
log
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009501099A
Other languages
English (en)
Other versions
JPWO2008105098A1 (ja
Inventor
藤田  和久
和也 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008105098A1 publication Critical patent/JPWO2008105098A1/ja
Application granted granted Critical
Publication of JP4998549B2 publication Critical patent/JP4998549B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

この発明は、複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置に関するものである。
従来、金融機関や交通機関のオンラインシステムに代表されるミッションクリティカルシステムは、「高信頼性」および「高速性」をともに実現することが求められている。
このうち、高信頼性を実現するための技術としては、クラスタ技術やレプリケーション技術など、データベースの二重化を行う技術が一般的に用いられている。
図6は、従来のデータベースにおけるクラスタ技術を示す図である。同図に示すように、クラスタ技術は、クラスタソフトウェアを使用してデータベースを冗長化構成とする方式であり、ハードウェアを冗長構成にする(同図に示す「ノード#1」,「ノード#2」,「ノード#3」,・・・)ことによってデータベースを高信頼化させる技術として、社会基盤システムなどで採用されている。かかるクラスタ技術では、データの保全は共有ディスク(同図に示す「ディスク」)で保証される。
図7は、従来のデータベースにおけるレプリケーション技術を示す図である。同図に示すように、レプリケーション技術は、複写元データベース(同図に示す「ノード#1」)の更新結果のみを複写先データベース(同図に示す「ノード#2」)に搬送して適用する方式であり、データベースの複製(レプリカ)を作る技術として、災害対策システムなどで採用されている。かかるレプリケーション技術では、複写先へのデータの転送方式としてFTP(File Transfer Protocol)転送が利用されている。
一方、高速化を実現するための技術としては、近年、インメモリ・データベースが注目されている。インメモリ・データベースとは、データをディスク上ではなくメインメモリ上に格納することによって、アプリケーションからデータへのアクセスの高速化や負荷分散を実現したデータベースである(例えば、非特許文献1参照。)。
図8は、インメモリ・データベースを説明するための図である。同図に示すように、インメモリ・データベースでは、ハードディスクに格納されたユーザデータがメモリに常駐され、業務アプリケーションは、メモリ内のユーザデータに対して更新を行う。メモリにアクセスするため、高速性を実現することができる。
かかるインメモリ・データベースでは、高速性を実現するとともに、トランザクション処理を保証するためのログをディスクに書き出すことによって、データベースとしての信頼性を実現している。ログを用いて信頼性を実現する方式は、インメモリ・データベースに限らず、ディスクを記憶媒体とする従来のデータベースでも用いられていたものであり、この方式で用いられるログには、一般的には、BI(Before Image)ログおよびAI(After Image)ログがある。
BIログは、データベースの更新前の内容を保持するログであり、主に、ロールバック時にデータベースの内容をトランザクションの更新前の状態に戻すために用いられる。一方、AIログは、データベースの更新後の内容を保持するログであり、主に、ダウンリカバリ時に完結していたトランザクションのデータベースの更新内容を保証するために用いられる。
ここで、ダウンリカバリについて説明すると、従来のダウンリカバリでは、ダウン後のデータベースの再起動時にトランザクションを認識し、ダウン時のトランザクションの状態によって、そのトランザクションを有効にするか無効にするかが選択される。
具体的には、従来のダウンリカバリでは、ダウン時にコミット処理が完了していなかったトランザクションは無効とし、そのトランザクション中に行われたデータ更新も無効になる。一方、ダウン時にコミット処理が完了していたトランザクションは有効とし、そのトランザクション中に行われたデータ更新も有効になる。
図9は、従来のデータベースにおけるダウンリカバリを説明するための図である。例えば、同図(1)に示すように、業務アプリケーションがユーザデータである「あ」を「い」に更新した後に、コミット処理を実行したとする。この時、同図(2)に示すように、ユーザデータである「あ」が「い」に更新されたことを示すログが、ハードディスクに保持される。
そして、この後に、同図(3)に示すように、サーバダウンが発生したとする。この場合、データベースが再起動された際には、ログの情報に基づいてデータベースのユーザデータが最新状態に復旧される。例えば、同図(4)に示すように、データベースのユーザデータが「あ」から「い」に復旧される。
このように、従来の技術では、インメモリ・データベースを用いることによって高速性を実現し、さらに、データの更新内容を示すログ(以下、「更新ログ」と呼ぶ)をハードディスクに保持することによって障害発生時のデータの復旧を可能にし、これにより、高信頼性を実現している。
「Oracle TimesTen In-Memory Database」、[平成17年2月15日検索]、インターネット<URL: http://otn.oracle.co.jp/products/timesten/>
しかしながら、上述した従来の技術では、高信頼性を実現するためディスクに対して更新ログの書き込みを行うが、その際に発生するディスクへのアクセスによって、データベースの高速性が損なわれているという問題があった。この問題を解決するためには、インメモリ・データベースにおけるディスクへのアクセスを完全に排除する必要がある。
しかし、ディスクへのアクセスを完全に排除する場合には、これまでディスクを用いて行われていた高信頼性を実現するための技術に替わって、ディスクを用いずに高信頼性を実現するための新たな技術が必要になり、これが、次世代に向けてミッションクリティカルシステムのさらなる高速性を追求するための大きな課題となっている。
この発明は、上述した従来技術による課題を解決するためになされたものであり、ディスクを用いずにインメモリ・データベースの高信頼性を実現することができるメモリミラー化制御プログラム、メモリミラー方法およびメモリミラー装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、複数のメモリ間におけるデータのミラー化をコンピュータに制御させるメモリミラー化制御プログラムであって、アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、前記所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成する更新ログ生成手順と、前記更新ログ生成手順により生成された更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、前記複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手順により配信された更新ログに基づいて他の複数のノード装置において行われるデータの更新とは非同期に、前記更新ログ生成手順により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを実更新するデータ更新手順をさらにコンピュータに実行させることを特徴とする。
また、本発明は、上記の発明において、前記データ更新手順は、前記メモリミラー化制御手順により更新ログが配信された全てのノード装置から更新ログを受信したことを示す応答が返信された場合に、前記更新ログ生成手順により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを実更新することを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手順は、前記トランザクション処理が完結したことを示すコミット情報が前記アプリケーションから送信された場合に、前記更新ログを他のノード装置に対してマルチキャストで配信し、前記コミット情報が送信される前に前記トランザクション処理の異常を検知した場合には、前記更新ログを破棄することを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手順によりマルチキャストで配信された更新ログを受信する更新ログ受信手順と、前記更新ログ受信手順により受信された更新ログを記憶装置に記憶させる更新ログ記憶手順と、前記トランザクション処理によって、前記データに対する更新指示がマルチキャストで配信された場合に、前記更新ログ記憶手順により記憶された更新ログに基づいて、当該メモリに格納されたデータを実更新するデータ複製手順と、をさらにコンピュータに実行させることを特徴とする。
また、本発明は、複数のメモリ間におけるデータのミラー化をコンピュータが制御するメモリミラー化制御方法であって、前記コンピュータが、アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、前記所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成する更新ログ生成工程と、前記更新ログ生成工程により生成された更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、前記複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御工程と、を実行することを特徴とする。
また、本発明は、複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御装置であって、アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、前記所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成する更新ログ生成手段と、前記更新ログ生成手段により生成された更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、前記複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手段により配信された更新ログに基づいて他の複数のノード装置において行われるデータの更新とは非同期に、前記更新ログ生成手段により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを実更新するデータ更新手段をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記データ更新手段は、前記メモリミラー化制御手段により更新ログが配信された全てのノード装置から更新ログを受信したことを示す応答が返信された場合に、前記更新ログ生成手段により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを実更新することを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手段は、前記トランザクション処理が完結したことを示すコミット情報が前記アプリケーションから送信された場合に、前記更新ログを他のノード装置に対してマルチキャストで配信し、前記コミット情報が送信される前に前記トランザクション処理の異常を検知した場合には、前記更新ログを破棄することを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手段によりマルチキャストで配信された更新ログを受信する更新ログ受信手段と、前記更新ログ受信手段により受信された更新ログを記憶装置に記憶させる更新ログ記憶手段と、前記トランザクション処理によって、前記データに対する更新指示がマルチキャストで配信された場合に、前記更新ログ記憶手段により記憶された更新ログに基づいて、メモリに格納されたデータを実更新するデータ複製手段と、をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記メモリミラー化制御手段によりマルチキャストで配信された更新ログを受信する更新ログ受信手段と、前記更新ログ受信手段により受信された更新ログを記憶装置に記憶させる更新ログ記憶手段と、前記更新ログ受信手段により更新ログが受信された場合に、その時点ですでに前記更新ログ記憶手段により記憶されていた更新ログに基づいて、メモリに格納されたデータを実更新するデータ複製手段と、をさらに備えたことを特徴とする。
本発明によれば、アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成し、生成した更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、複数のメモリ間におけるデータのミラー化を制御するので、複数のメモリに同じデータを保持することが可能になり、ディスクを用いずにインメモリ・データベースの高信頼性を実現することができるという効果を奏する。
また、本発明によれば、配信した更新ログに基づいて他の複数のノード装置において行われるデータの更新とは非同期に、生成した更新ログに基づいて、所定のメモリに格納されたデータを実更新するので、アプリケーションにより行われるトランザクション処理のレスポンスに影響を与えずに、メモリ間のミラー化を行うことができるという効果を奏する。
また、本発明によれば、更新ログが配信された全てのノード装置から更新ログを受信したことを示す応答が返信された場合に、生成した更新ログに基づいて、所定のメモリに格納されたデータを実更新するので、更新ログが全てのノード装置に到達したことを確認した上で、メモリに格納されたデータを更新することが可能になり、インメモリ・データベースの信頼性をさらに高めることができるという効果を奏する。
また、本発明によれば、トランザクション処理が完結したことを示すコミット情報がアプリケーションから送信された場合に、更新ログを他のノード装置に対してマルチキャストで配信し、コミット情報が送信される前にトランザクション処理の異常を検知した場合には、更新ログを破棄するので、トランザクション処理が正常に終了した場合のみメモリ間のミラー化を行うことが可能になり、トランザクション処理に異常が発生した際の影響範囲を最小限にとどめることができるという効果を奏する。
また、本発明によれば、他のノード装置からマルチキャストで配信された更新ログを記憶装置に記憶させ、トランザクション処理によって、データに対する更新指示がマルチキャストで配信された場合に、記憶させておいた更新ログに基づいて、メモリに格納されたデータを実更新するので、マルチキャストで配信される更新指示を用いて、各ノード装置におけるデータの更新を制御することが可能になり、効率よくメモリ間のミラー化を行うことができるという効果を奏する。
また、本発明によれば、他のノード装置からマルチキャストで配信された更新ログを記憶装置に記憶させ、更新ログを受信した場合に、その時点ですでに記憶されていた更新ログに基づいて、メモリに格納されたデータを実更新するので、マルチキャストで配信される更新ログを用いて、各ノード装置におけるデータの更新を制御することが可能になり、効率よくメモリ間のミラー化を行うことができるという効果を奏する。
以下に添付図面を参照して、この発明に係るメモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置の好適な実施の形態を詳細に説明する。なお、本実施の形態では、所定の業務サービスを提供するアプリケーションサーバのバックエンドで各種業務データをインメモリ・データベースに保持するノード装置において、複数のメモリ間におけるデータのミラー化を制御する場合について説明する。
まず、本実施の形態に係るノード装置によるメモリミラー化の概念について説明する。図1は、本実施の形態に係るノード装置によるメモリミラー化の概念を説明するための図である。同図に示すように、本実施の形態に係るノード装置101〜103は、ノード装置101が現用系(Active)として、ノード装置102および103が待機系(Standby)として動作するよう設定されており、図示していないネットワークを介して互いに接続され、さらに、所定の業務アプリケーションを用いて各種トランザクション処理を行うアプリケーションサーバ20とも通信可能に接続されている。
そして、かかる構成のもと、本実施の形態に係るノード装置は、アプリケーションサーバ20により行われるトランザクション処理によって、メモリに格納された業務データに対する更新指示が送信された場合に、その更新指示に基づいて、メモリに格納された業務データに対する更新内容を示す更新ログを生成し、生成した更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、複数のメモリ間におけるデータのミラー化を制御する点に主な特徴がある。
具体的には、ノード装置101は、アプリケーションサーバ20により行われるトランザクション処理によって、業務データに対する更新指示がマルチキャストで配信されると(同図(1)参照)、その更新指示に基づいて、当該業務データに対する更新内容を示す更新ログを生成して、自装置のメモリに保持する(同図(2)参照)。一方、ノード装置102および103は、同様に更新指示が配信されても何ら処理を行わず、配信された更新指示を破棄する(同図(3)および(4)参照)。
その後、ノード装置101は、トランザクション処理が完結したことを示すコミット情報がアプリケーションサーバ20から送信されると、生成した更新ログを、同じ業務グループに属する他のノード装置(ここでは、ノード装置102および103)に対してマルチキャストで配信する(同図(5)参照)。更新ログを受信したノード装置102および103は、それぞれ、受信した更新ログを自装置のメモリに保持するとともに、更新ログを受信したことを示すACK応答をノード装置101に対して返信する(同図(6)および(7)参照)。
そして、ノード装置101は、ノード装置102および103の両方からACK応答が返信されると、メモリに保持しておいた更新ログに基づいて、メモリに格納された業務データを実更新する(同図(8)参照)。一方、ノード装置102および103は、ノード装置101における業務データの更新とは非同期な所定のタイミングで、メモリに保持しておいた更新ログに基づいて、メモリに格納された業務データを実更新する(同図(9)および(10)参照)。
このような特徴により、本実施の形態に係るノード装置101、102および103は、複数のノード装置のメモリに同じ業務データを保持することを可能にし、これにより、ディスクを用いずにインメモリ・データベースの高信頼性を実現することができるようにしている。
次に、本実施の形態に係るノード装置101〜103の構成について説明する。なお、これらノード装置101〜103はいずれも同様の構成を有するので、ここでは、ノード装置101を例にとって説明する。図2は、本実施の形態に係るノード装置101の構成を示す機能ブロック図である。同図に示すように、ノード装置101は、トランザクション通信制御部11と、ノード間通信制御部12と、メモリ13と、制御部14とを有する。
トランザクション通信制御部11は、アプリケーションサーバ20との間でやり取りされるデータの送受信を制御する処理部である。具体的には、このトランザクション通信制御部11は、ノード装置101が現用系として設定されていた場合には、アプリケーションサーバ20からマルチキャストで配信される業務データの更新指示を受信すると、受信した更新指示を後述するログ生成部14aに引き渡す。
また、トランザクション通信制御部11は、トランザクション処理が完結したことを示すコミット情報をアプリケーションサーバ20から受信すると、受信したコミット情報を後述するログ配信制御部14bに引き渡す。
また、トランザクション通信制御部11は、後述するデータ更新部14cから、メモリ13に格納された業務データ13bの実更新が完了したことが通知されると、アプリケーションサーバ20に対して、業務データの更新が完了したことを示すコミット情報を送信する。
一方、ノード装置101が待機系として設定されていた場合には、トランザクション通信制御部11は、アプリケーションサーバ20から業務データに対する更新指示を受信すると、受信した更新指示を破棄するとともに、後述するデータ更新部14cに対して、当該更新指示を受信したことを通知する。
ノード間通信制御部12は、他のノード装置との間でやり取りされるデータの送受信を制御する処理部である。具体的には、このノード間通信制御部12は、ノード装置101が現用系として設定されていた場合には、後述するログ配信制御部14bから引き渡される更新ログ13aを他のノード装置に対してマルチキャストで配信する。また、ノード間通信制御部12は、更新ログを受信したことを示すACK応答を他のノード装置から受信すると、後述するデータ更新部14cに対して、当該ACK応答を受信したことを通知する。
一方、ノード装置101が待機系として設定されていた場合には、ノード間通信制御部12は、現用系として設定されている他のノード装置からマルチキャストで配信される更新ログを受信すると、受信した更新ログを後述するログ配信制御部14bに引き渡すとともに、当該更新ログを受信したことを示すACK応答を、現用系のノード装置に対して返信する。
メモリ13は、各種のデータやプログラムを記憶する記憶部であり、本発明に関連するものとしては、更新ログ13aと、業務データ13bとを記憶する。ここで、更新ログ13aは、業務データ13bに対する更新内容を示すデータであり、アプリケーションサーバ20によって配信される更新指示に基づいて生成される。また、業務データ13bは、アプリケーションサーバ20が提供する業務サービスに関する各種の業務データであり、図示していないインメモリ・データベースによって管理される。
制御部14は、ノード装置101の全体制御を行う制御部であり、本発明に関連するものとしては、ログ生成部14aと、ログ配信制御部14bと、データ更新部14cとを有する。
ログ生成部14aは、業務データ13bに対する更新内容を示す更新ログ13aを生成する処理部である。具体的には、このログ生成部14aは、トランザクション通信制御部11から業務データに対する更新指示が引き渡されると、その更新指示に基づいて、更新ログ13aを生成し、生成した更新ログ13aをメモリ13に記憶させる。
ログ配信制御部14bは、ログ生成部14aにより生成された更新ログ13aを他の複数のノード装置に対して配信したり、他のノード装置から配信された更新ログをメモリ13に記憶させることによって、複数のメモリ間におけるデータのミラー化を制御する処理部である。
具体的には、このログ配信制御部14bは、ノード装置101が現用系として設定されていた場合には、トランザクション通信制御部11から、トランザクション処理が完結したことを示すコミット情報が引き渡されると、メモリ13に保持されている更新ログ13aをノード間通信制御部12に引き渡すことによって、当該更新ログ13aを、他の複数のノード装置に対してマルチキャストで配信する。
なお、ログ配信制御部14bは、コミット情報が送信される前にトランザクション処理の異常を検知した場合には、メモリ13に保持されている更新ログ13aを破棄する。これにより、異常となったトランザクション処理による業務データ13bに対する更新は、他のノード装置の業務データには反映されないように制御することができる。
一方、ノード装置101が待機系として設定されていた場合には、ログ配信制御部14bは、ノード間通信制御部12から更新ログが引き渡されると、当該更新ログをメモリ13に記憶させる。
データ更新部14cは、メモリ13に保持されている更新ログ13aに基づいて、他の複数のノード装置において行われる業務データの更新とは非同期に、業務データ13bを実更新する処理部である。
具体的には、このデータ更新部14cは、ノード装置101が現用系として設定されていた場合には、ノード間通信制御部12によって、ログ配信制御部14bにより更新ログが配信された全てのノード装置からACK応答を受信したことが通知されると、メモリ13に保持されている更新ログ13aに基づいて、業務データ13bを実更新する。そして、業務データ13bの実更新が完了した後に、データ更新部14cは、業務データの更新が完了したことを示すコミット情報を、トランザクション通信制御部11に通知することによって、当該コミット情報をアプリケーションサーバ20に対して送信する。
一方、ノード装置101が待機系として設定されていた場合には、データ更新部14cは、トランザクション通信制御部11から、業務データに対する更新指示を受信したことが通知されると、メモリ13に保持されている更新ログ13aに基づいて、業務データ13bを実更新する。
このように、現用系として設定されているノード装置において行われる業務データの更新と、待機系として設定されているノード装置において行われる業務データの更新とは、それぞれ非同期に行われる。
次に、本実施の形態に係るノード装置の処理手順について説明する。図3は、本実施の形態に係るノード装置の処理手順を示すフローチャートである。同図は、図1に示したノード装置101〜103の処理手順を示しており、ノード装置101が現用系のノード装置(以下、「Activeノード」と呼ぶ)として、ノード装置102および103が待機系のノード装置(以下、「Standbyノード」と呼ぶ)として、それぞれ設定されているとする。
同図に示すように、まず、アプリケーションサーバ20から業務データに対する更新指示がマルチキャストで配信されると(ステップS101)、ノード装置101では、トランザクション通信制御部11が、配信された更新指示を受信し、ログ生成部14aが、当該更新指示に基づいて更新ログ13aを生成する(ステップS102)。
一方、ノード装置102および103では、それぞれのトランザクション通信制御部が、配信された更新指示を受信し、受信した更新指示を破棄する(ステップS103およびS104)。
その後、アプリケーションサーバ20からコミット情報(COMMIT)が送信(発行)されると(ステップS105)、ノード装置101では、トランザクション通信制御部11が、送信されたコミット情報を受信し、ログ配信制御部14bが、更新ログ13aをStandbyノード(ノード装置102および103)にマルチキャストで配信する(ステップS106)。
更新ログ13aが配信されると、ノード装置102および103では、それぞれのノード間通信制御部が、更新ログ13aを受信し、それぞれ、Activeノード(ノード装置101)に対してACK応答を返信する(ステップS107およびS108)。
そして、全てのStandbyノード装置からACK応答が返信されると、ノード装置101では、ノード間通信制御部12が、それぞれのACK応答を受信し(ステップS109)、データ更新部14cが、メモリ13に保持された業務データ13bを実更新し(ステップS110)、トランザクション通信制御部11が、アプリケーションサーバ20に対してコミット情報(COMMIT)を送信(復帰)する(ステップS111)。
そして、上述したノード装置101(Activeノード)における業務データの更新とは非同期に、ノード装置102および103では、それぞれのデータ更新部14cが、自装置のメモリに保持された業務データを実更新する(ステップS112およびS113)。
上述してきたように、本実施の形態では、アプリケーションサーバ20により行われるトランザクション処理によって、メモリに格納された業務データに対する更新指示が送信された場合に、当該更新指示に基づいて、ログ生成部14aが、メモリ13に格納された業務データ13bに対する更新内容を示す更新ログ13aを生成し、生成した更新ログ13aを、ログ配信制御部14bが、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、複数のメモリ間における業務データのミラー化を制御するので、複数のメモリに同じ業務データを保持することが可能になり、ディスクを用いずにインメモリ・データベースの高信頼性を実現することができる。
また、本実施の形態では、データ更新部14cが、配信した更新ログ13aに基づいて他の複数のノード装置において行われる業務データの更新とは非同期に、生成した更新ログ13aに基づいて、メモリ13に格納された業務データ13bを実更新するので、アプリケーションサーバ20により行われるトランザクション処理のレスポンスに影響を与えずに、メモリ間のミラー化を行うことができる。
また、本実施の形態では、データ更新部14cが、更新ログ13aが配信された全てのノード装置から更新ログ13aを受信したことを示すACK応答が返信された場合に、生成した更新ログ13aに基づいて、メモリ13に格納された業務データ13bを実更新するので、更新ログ13aが全てのノード装置に到達したことを確認した上で、メモリ13に格納された業務データ13bを更新することが可能になり、インメモリ・データベースの信頼性をさらに高めることができる。
また、本実施の形態では、ログ配信制御部14bが、トランザクション処理が完結したことを示すコミット情報がアプリケーションサーバ20から送信された場合に、更新ログ13aを他のノード装置に対してマルチキャストで配信し、コミット情報が送信される前にトランザクション処理の異常を検知した場合には、更新ログを破棄するので、トランザクション処理が正常に終了した場合のみメモリ間のミラー化を行うことが可能になり、トランザクション処理に異常が発生した際の影響範囲を最小限にとどめることができる。
また、本実施の形態では、ログ配信制御部14bが、他のノード装置からマルチキャストで配信された更新ログをメモリ13に記憶させ、アプリケーションサーバ20によるトランザクション処理によって、業務データに対する更新指示がマルチキャストで配信された場合に、記憶させておいた更新ログに基づいて、メモリ13に格納された業務データ13bを実更新するので、アプリケーションサーバ20からマルチキャストで配信される更新指示を用いて、各ノード装置における業務データの更新を制御することが可能になり、効率よくメモリ間のミラー化を行うことができる。
また、本実施の形態では、ログ配信制御部14bが、他のノード装置からマルチキャストで配信された更新ログをメモリ13に記憶させ、更新ログを受信した場合に、その時点ですでに記憶されていた更新ログに基づいて、メモリ13に格納された業務データ13bを実更新するので、他のノード装置からマルチキャストで配信される更新ログを用いて、各ノード装置におけるデータの更新を制御することが可能になり、効率よくメモリ間のミラー化を行うことができる。
なお、本実施の形態では、データ更新部14cが、ノード装置101が待機系として設定されていた場合に、アプリケーションサーバ20からマルチキャストで配信される更新指示を契機に業務データ13bを更新する場合について説明したが、本発明はこれに限られるわけではない。
例えば、ノード間通信制御部12が、現用系として設定されている他のノード装置からマルチキャストで配信される更新ログを受信した際に、当該更新ログを受信したことをデータ更新部14cに対して通知し、データ更新部14cが、その通知を受け付けた場合に、その時点ですでにメモリ13により保持されていた更新ログ13aに基づいて、業務データ13bを実更新するようにしてもよい。
これにより、マルチキャストで配信される更新ログを用いて、各ノード装置におけるデータの更新を制御することが可能になり、効率よくメモリ間のミラー化を行うことができる。
また、本実施の形態では、メモリミラー化を行うノード装置について説明したが、かかるノード装置が有する構成をソフトウェアによって実現することで、同様の機能を有するメモリミラー化プログラムを得ることができる。そこで、このメモリミラー化プログラムを実行するコンピュータについて説明する。
図4は、本実施の形態に係るメモリミラー化プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ100は、RAM(Random Access Memory)110と、CPU(Central Processing Unit)120と、HDD(Hard Disk Drive)130と、LAN(Local Area Network)インタフェース140と、入出力インタフェース150と、DVD(Digital Versatile Disk)ドライブ160とを有する。
RAM110は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、図2に示したメモリ13に対応し、更新ログ13aや業務データ13bなども記憶する。CPU120は、RAM110からプログラムを読み出して実行する中央処理装置である。
HDD130は、プログラムやデータを格納するディスク装置である。LANインタフェース140は、コンピュータ100をLAN経由で他のコンピュータに接続するためのインタフェースであり、ノード装置として動作するコンピュータ100を、アプリケーションサーバ20や他のノード装置に接続する。
入出力インタフェース150は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、DVDドライブ160は、DVDの読み書きを行う装置である。
そして、このコンピュータ100において実行されるメモリミラー化プログラム111は、DVDに記憶され、DVDドライブ160によってDVDから読み出されてコンピュータ100にインストールされる。
あるいは、このメモリミラー化プログラム111は、LANインタフェース140を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ100にインストールされる。
そして、インストールされたメモリミラー化プログラム111は、HDD130に記憶され、RAM110に読み出されてCPU120によってメモリミラー化プロセス121として実行される。
また、本実施の形態では、説明の便宜上、2台のノード装置を待機系として設定した場合について説明したが、本発明はこれに限られるわけではなく、待機系として設定されるノード装置は1台であってもよいし、3台以上であってもよい。すなわち、本実施の形態では、信頼性の要件によって、複数台のノード装置を待機系として設定して、データベースの冗長化を行うことができる。
そして、待機系として設定されたノード装置には、現用系として設定されたノード装置と同じ内容の業務データが保持されるので、ネットワーク障害などによって現用系のノード装置の業務データを参照できないような場合でも、待機系のノード装置のデータベースを参照することによって、業務データの確認を行うことができる。
さらに、本実施の形態に係るノード装置では、障害が発生した場合に、所定のリカバリ処理手段を用いて、以下のようにしてリカバリを行うことができる。
まず、現用系のノード装置に障害が発生した場合には、リカバリ処理手段は、その現用系のノード装置を停止するとともに、待機系のノード装置のうちいずれか一台を新たに現用系として設定する。この時、リカバリ処理手段は、新たに現用系として設定したノード装置に対して、障害が発生したノード装置には更新ログを配信しないように設定する。具体的には、リカバリ処理手段は、ノード間通信制御部12による更新ログの配信の基準となるマルチキャストアドレスから、障害が発生したノード装置のアドレスを除外する。
続いて、リカバリ処理手段は、新たに現用系として設定したノード装置のメモリ、および、その他の待機系のノード装置のメモリを参照して、業務データへの更新ログの反映状況を確認し、全てのノード装置について、更新ログが正しく反映されていることを確認した場合には、新たに現用系として設定したノード装置からアプリケーションサーバ20に対して、業務データの更新が完了したことを示すコミット情報を送信する。
ここで、更新ログが業務データに正しく反映されていないノード装置があった場合には、リカバリ処理手段は、すでに更新ログが反映されている業務データをロールバックすることによって、メモリ内の業務データの整合性を保証する。そして、リカバリ処理手段は、以上の一連のリカバリ処理が完了したことを契機に、新たに現用系として設定したノード装置を用いて、業務を再開させる。
一方、待機系のノード装置に障害が発生した場合には、リカバリ処理手段は、その待機系のノード装置を停止するとともに、現用系のノード装置に対して、障害が発生したノード装置には更新ログを配信しないように設定する。具体的には、リカバリ処理手段は、ノード間通信制御部12による更新ログの配信の基準となるマルチキャストアドレスから、障害が発生したノード装置のアドレスを除外する。
リカバリ処理手段が以上のリカバリ処理を行っている間も、現用系のノード装置は稼動を続けている。そのため、待機系のノード装置に障害が発生した場合には、アプリケーションサーバ20によるトランザクション処理、すなわち、アプリケーションサーバ20により提供される業務サービスには、リカバリ処理によって何ら影響が及ぼされることはない。
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以下に、証券取引システムにおける実施例を示す。図5は、本発明のメモリミラー化制御システムを証券取引システムに適用した際のシステム構成図である。
まず、1001は市場管理サーバであり、上記した実施の形態のアプリケーションサーバ20に該当するサーバである。この市場管理サーバ1001は、DBサーバ1002のスケジュール管理10021に蓄積されているスケジュール情報に基づき、ステータス指示手段10011がネットワーク1003を介して上記した実施の形態に示した手順によりステータス指示のマルチキャスト通信を行う(図9では高信頼マルチキャスト10012と明記)。
また、売買管理端末1004からの規制指示を受け所内Webサーバ1005の規制指示手段10051が出力する規制指示情報を市場管理サーバ1001が受けると、市場管理サーバ1001内のステータス指示10013がネットワーク1003を介して上記した実施の形態に示した手順により規制指示のマルチキャスト通信を行う(図5では高信頼マルチキャスト10014と明記)。
1006は、証券取引の参加者への各種通知を行う参加者ゲートウエイであり、市場管理サーバ1001からの各種高信頼マルチキャストの情報を参加者連携アダプタ10061が受けると、参加者連携アダプタ10061が参加者へ通知すべき内容かを判断し、通知を行うと判断されたマルチキャスト情報については、市場管理電文として参加者サーバ1007へ送信を行う。
また、1008は、トレーディングサーバであり、注文DAM10081、特別気配DAM10082、板DAM10083を有する。これらの注文DAM10081、特別気配DAM10082、板DAM10083は、各々、上記してきた業務グループ単位のノード装置101、102および103にて示されたノード装置群である。
即ち、これら注文DAM10081、特別気配DAM10082および板DAM10083は、市場管理サーバ1001からの高信頼マルチキャスト10012や10014を受信すると、自身に関係のある情報であるかを判断し、図3に示した手順により処理を行う。
このように、各DAMや参加者へは全てマルチキャスト送信により指示が行われるため、ステータス変更タイミングや通知タイミングの誤差を最小限に抑える事が可能となる。更に、トレーディングサーバ1008の処理と参加者ゲートウエイ1006を介した参加者サーバ1007への通知を並行して処理するため、より高速に参加者へのステータス変更などの通知を行う事が可能となる。
さらに、各DAMも本発明の実施の形態の手順により処理を行う事で、高速かつ信頼性の高い処理を可能とする。
以上のように、本発明に係るメモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置は、高信頼性および高速性をともに実現することが求められるミッションクリティカルシステムに有用であり、特に、ディスクを用いずにインメモリ・データベースの高信頼性を実現する場合に適している。
図1は、本実施の形態に係るノード装置によるメモリミラー化の概念を説明するための図である。 図2は、本実施の形態に係るノード装置の構成を示す機能ブロック図である。 図3は、本実施の形態に係るノード装置の処理手順を示すフローチャートである。 図4は、本実施の形態に係るメモリミラー化プログラムを実行するコンピュータの構成を示す機能ブロック図である。 図5は、本発明のメモリミラー化制御システムを証券取引システムに適用した際のシステム構成図である。 図6は、従来のデータベースにおけるクラスタ技術を示す図である。 図7は、従来のデータベースにおけるレプリケーション技術を示す図である。 図8は、インメモリ・データベースを説明するための図である。 図9は、従来のデータベースにおけるダウンリカバリを説明するための図である。
101,102,103 ノード装置
11 トランザクション通信制御部
12 ノード間通信制御部
13 メモリ
13a 更新ログ
13b 業務データ
14 制御部
14a ログ生成部
14b ログ配信制御部
14c データ更新部
100 コンピュータ
110 RAM
111 メモリミラー化プログラム
120 CPU
121 メモリミラー化プロセス
130 HDD
140 LANインタフェース
150 入出力インタフェース
160 DVDドライブ
1001 市場管理サーバ
1002 DBサーバ
1003 ネットワーク
1004 売買管理端末
1005 所内Webサーバ
1006 参加者ゲートウエイ
1007 参加者サーバ
1008 トレーディングサーバ
10011 ステータス指示手段
10012,10014 高信頼マルチキャスト
10013 ステータス指示
10021 スケジュール管理
10051 規制指示手段
10061 参加者連携アダプタ
10081 注文DAM
10082 特別気配DAM
10083 板DAM

Claims (12)

  1. 複数のメモリ間におけるデータのミラー化をコンピュータに制御させるメモリミラー化制御プログラムであって、
    アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、前記所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成する更新ログ生成手順と、
    前記更新ログ生成手順により生成された更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、前記複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御手順と、
    前記メモリミラー化制御手順により更新ログが配信された後に、前記更新ログ生成手順により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを更新するデータ更新手順と、
    をコンピュータに実行させるためのメモリミラー化制御プログラム。
  2. 前記データ更新手順は、前記メモリミラー化制御手順により配信された更新ログに基づいて他の複数のノード装置において行われるデータの更新とは非同期に、前記更新ログ生成手順により生成された更新ログに基づいて、前記所定のメモリに格納されたデータの更新をコンピュータに実行させるための請求項1に記載のメモリミラー化制御プログラム。
  3. 前記データ更新手順は、前記メモリミラー化制御手順により更新ログが配信された全てのノード装置から更新ログを受信したことを示す応答が返信された場合に、前記更新ログ生成手順により生成された更新ログに基づいて、前記所定のメモリに格納されたデータの更新をコンピュータに実行させるための請求項2に記載のメモリミラー化制御プログラム。
  4. 前記メモリミラー化制御手順は、前記トランザクション処理が完結したことを示すコミット情報が前記アプリケーションから送信された場合に、前記更新ログを他のノード装置に対してマルチキャストで配信し、前記コミット情報が送信される前に前記トランザクション処理の異常を検知した場合には、前記更新ログの破棄をコンピュータに実行させるための請求項1、2または3に記載のメモリミラー化制御プログラム。
  5. 前記メモリミラー化制御手順によりマルチキャストで配信された更新ログを受信する更新ログ受信手順と、
    前記更新ログ受信手順により受信された更新ログを記憶装置に記憶させる更新ログ記憶手順と、
    前記トランザクション処理によって、前記データに対する更新指示がマルチキャストで配信された場合に、前記更新ログ記憶手順により記憶された更新ログに基づいて、メモリに格納されたデータを更新するデータ複製手順と、
    をさらにコンピュータに実行させるための請求項1に記載のメモリミラー化制御プログラム。
  6. 複数のメモリ間におけるデータのミラー化をコンピュータが制御するメモリミラー化制御方法であって、
    前記コンピュータが、
    アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、前記所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成する更新ログ生成工程と、
    前記更新ログ生成工程により生成された更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、前記複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御工程と、
    前記メモリミラー化制御工程により更新ログが配信された後に、前記更新ログ生成工程により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを更新するデータ更新工程と、
    を実行することを特徴とするメモリミラー化制御方法。
  7. 複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御装置であって、
    アプリケーションにより行われるトランザクション処理によって、所定のメモリに格納されたデータに対する更新指示が送信された場合に、当該更新指示に基づいて、前記所定のメモリに格納されたデータに対する更新内容を示す更新ログを生成する更新ログ生成手段と、
    前記更新ログ生成手段により生成された更新ログを、メモリを有する他の複数のノード装置に対してマルチキャストで配信することによって、前記複数のメモリ間におけるデータのミラー化を制御するメモリミラー化制御手段と、
    前記メモリミラー化制御手段により更新ログが配信された後に、前記更新ログ生成手段により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを更新するデータ更新手段と、
    を備えたことを特徴とするメモリミラー化制御装置。
  8. 前記データ更新手段は、前記メモリミラー化制御手段により配信された更新ログに基づいて他の複数のノード装置において行われるデータの更新とは非同期に、前記更新ログ生成手段により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを更新することを特徴とする請求項7に記載のメモリミラー化制御装置。
  9. 前記データ更新手段は、前記メモリミラー化制御手段により更新ログが配信された全てのノード装置から更新ログを受信したことを示す応答が返信された場合に、前記更新ログ生成手段により生成された更新ログに基づいて、前記所定のメモリに格納されたデータを更新することを特徴とする請求項8に記載のメモリミラー化制御装置。
  10. 前記メモリミラー化制御手段は、前記トランザクション処理が完結したことを示すコミット情報が前記アプリケーションから送信された場合に、前記更新ログを他のノード装置に対してマルチキャストで配信し、前記コミット情報が送信される前に前記トランザクション処理の異常を検知した場合には、前記更新ログを破棄することを特徴とする請求項7、8または9に記載のメモリミラー化制御装置。
  11. 前記メモリミラー化制御手段によりマルチキャストで配信された更新ログを受信する更新ログ受信手段と、
    前記更新ログ受信手段により受信された更新ログを記憶装置に記憶させる更新ログ記憶手段と、
    前記トランザクション処理によって、前記データに対する更新指示がマルチキャストで配信された場合に、前記更新ログ記憶手段により記憶された更新ログに基づいて、メモリに格納されたデータを更新するデータ複製手段と、
    をさらに備えたことを特徴とする請求項7に記載のメモリミラー化制御装置。
  12. 前記メモリミラー化制御手段によりマルチキャストで配信された更新ログを受信する更新ログ受信手段と、
    前記更新ログ受信手段により受信された更新ログを記憶装置に記憶させる更新ログ記憶手段と、
    前記更新ログ受信手段により更新ログが受信された場合に、その時点ですでに前記更新ログ記憶手段により記憶されていた更新ログに基づいて、メモリに格納されたデータを更新するデータ複製手段と、
    をさらに備えたことを特徴とする請求項7に記載のメモリミラー化制御装置。
JP2009501099A 2007-02-28 2007-02-28 メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置 Expired - Fee Related JP4998549B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/053833 WO2008105098A1 (ja) 2007-02-28 2007-02-28 メモリミラー化制御方法

Publications (2)

Publication Number Publication Date
JPWO2008105098A1 JPWO2008105098A1 (ja) 2010-06-03
JP4998549B2 true JP4998549B2 (ja) 2012-08-15

Family

ID=39720942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009501099A Expired - Fee Related JP4998549B2 (ja) 2007-02-28 2007-02-28 メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置

Country Status (3)

Country Link
US (2) US8281092B2 (ja)
JP (1) JP4998549B2 (ja)
WO (1) WO2008105098A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5163179B2 (ja) * 2008-02-25 2013-03-13 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
JP4870190B2 (ja) * 2009-04-27 2012-02-08 株式会社日立製作所 データ処理方法、計算機、及びデータ処理プログラム
JP5256173B2 (ja) * 2009-11-18 2013-08-07 株式会社日立製作所 データベース管理方法、データベース管理システム及びデータベース管理プログラム
JP5459613B2 (ja) * 2010-02-26 2014-04-02 日本電気株式会社 データ処理システム、データ処理方法およびデータ処理プログラム
US8554762B1 (en) * 2010-12-28 2013-10-08 Amazon Technologies, Inc. Data replication framework
JP5640767B2 (ja) * 2011-01-25 2014-12-17 富士通株式会社 情報処理装置、データ管理方法およびデータベースシステム
JP6056408B2 (ja) * 2012-11-21 2017-01-11 日本電気株式会社 フォールトトレラントシステム
US9135164B2 (en) * 2013-03-15 2015-09-15 Virident Systems Inc. Synchronous mirroring in non-volatile memory systems
US10366075B2 (en) * 2014-01-22 2019-07-30 Hitachi, Ltd. Database management system and method
US10140109B2 (en) * 2014-02-25 2018-11-27 Ford Global Technologies, Llc Silent in-vehicle software updates
JP2016031733A (ja) * 2014-07-30 2016-03-07 富士通株式会社 推論容易性算出プログラム、装置、及び方法
WO2017183096A1 (ja) * 2016-04-19 2017-10-26 株式会社日立製作所 計算機システム及び不揮発性メモリの冗長化方法
CN111314479B (zh) * 2016-06-20 2022-08-23 北京奥星贝斯科技有限公司 一种数据处理方法和设备
JP6686762B2 (ja) * 2016-07-22 2020-04-22 富士通株式会社 情報処理システム、情報処理装置、情報処理方法及びプログラム
US10771315B2 (en) 2017-02-14 2020-09-08 Futurewei Technologies, Inc. High availability using multiple network elements
US10735248B2 (en) * 2018-02-12 2020-08-04 Futurewei Technologies, Inc. Cloudified N-way routing protection at hyper scale
JP2024061460A (ja) * 2022-10-21 2024-05-07 株式会社日立製作所 ストレージシステムおよびストレージ制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064578A (ja) * 1992-06-22 1994-01-14 Matsushita Electric Ind Co Ltd データベースシステム
JPH0954718A (ja) * 1995-08-15 1997-02-25 Nec Software Ltd 分散データベース非同期更新機能処理方式
JP2002049517A (ja) * 2000-05-25 2002-02-15 Hitachi Ltd 記憶システム
JP2006053737A (ja) * 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334402A (ja) * 1994-06-13 1995-12-22 Hitachi Ltd メインメモリ化データベース
US6449734B1 (en) * 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
JPH11312111A (ja) * 1998-04-30 1999-11-09 Nec Corp データベース復旧方法及びデータベース管理システム
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
AU2002340403A1 (en) * 2001-11-16 2003-06-10 Paralleldb, Incorporated Data replication system and method
WO2004055674A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 分散トランザクション処理装置、分散トランザクション処理プログラム、分散トランザクション処理方法および分散トランザクション処理システム
JP2005293315A (ja) * 2004-03-31 2005-10-20 Nec Corp データミラー型クラスタシステム及びデータミラー型クラスタシステムの同期制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064578A (ja) * 1992-06-22 1994-01-14 Matsushita Electric Ind Co Ltd データベースシステム
JPH0954718A (ja) * 1995-08-15 1997-02-25 Nec Software Ltd 分散データベース非同期更新機能処理方式
JP2002049517A (ja) * 2000-05-25 2002-02-15 Hitachi Ltd 記憶システム
JP2006053737A (ja) * 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法

Also Published As

Publication number Publication date
US8281092B2 (en) 2012-10-02
US20120324187A1 (en) 2012-12-20
US9612928B2 (en) 2017-04-04
US20090292891A1 (en) 2009-11-26
WO2008105098A1 (ja) 2008-09-04
JPWO2008105098A1 (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
JP4998549B2 (ja) メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置
US11507480B2 (en) Locality based quorums
EP2633423B1 (en) Consistent messaging with replication
US7293192B2 (en) System and method for failover
US8990176B2 (en) Managing a search index
US8301600B1 (en) Failover recovery in a distributed data store
US9710344B1 (en) Locality based quorum eligibility
US20120303791A1 (en) Load balancing when replicating account data
US9798639B2 (en) Failover system and method replicating client message to backup server from primary server
WO2023280127A1 (zh) 一种消息通信方法和装置
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2012008934A (ja) 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法
US8005787B2 (en) Data replication method
US10348817B2 (en) Optimizing latency and/or bandwidth of large client requests for replicated state machines
US11947431B1 (en) Replication data facility failure detection and failover automation
Barrett Delta-4: An open architecture for dependable systems
Ou et al. Symmetric active/active metadata service for highly available cluster storage systems
CN117749818A (zh) 跨机房数据同步系统
Soundarabai et al. Fault Tolerance Algorithms for Distributed Computing
Liu et al. Triple-machine paxos on high availability architecture-quorum
Ding et al. Experience Report State-Replication-Based Matching System
JP2006164126A (ja) データ2重化システム
He et al. SYMMETRIC ACTIVE/ACTIVE METADATA SERVICE FOR HIGHLY AVAILABLE CLUSTER STORAGE SYSTEMS Li Ou1, Christian Engelmann2

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120321

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120430

R150 Certificate of patent or registration of utility model

Ref document number: 4998549

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees