JP4277873B2 - トランザクション処理装置、トランザクション処理方法 - Google Patents

トランザクション処理装置、トランザクション処理方法 Download PDF

Info

Publication number
JP4277873B2
JP4277873B2 JP2006142340A JP2006142340A JP4277873B2 JP 4277873 B2 JP4277873 B2 JP 4277873B2 JP 2006142340 A JP2006142340 A JP 2006142340A JP 2006142340 A JP2006142340 A JP 2006142340A JP 4277873 B2 JP4277873 B2 JP 4277873B2
Authority
JP
Japan
Prior art keywords
server
memory
domain
memory domain
transaction processing
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
JP2006142340A
Other languages
English (en)
Other versions
JP2007316691A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006142340A priority Critical patent/JP4277873B2/ja
Priority to US11/752,773 priority patent/US7836162B2/en
Publication of JP2007316691A publication Critical patent/JP2007316691A/ja
Application granted granted Critical
Publication of JP4277873B2 publication Critical patent/JP4277873B2/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/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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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
    • 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/2048Error 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 where the redundant components share neither address space nor persistent storage
    • 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/2038Error 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 a single idle spare processing component

Description

本発明は、高速、高可用性を実現するトランザクション処理装置及びトランザクション処理方法に関する。
従来のトランザクション処理方法では、データベースからのデータの読み出し、更新、確定の間にディスクへのI/Oが発生するため、サーバダウン時の更新データ消失の危険が抑えられている一方、ディスクへのアクセス性能がトランザクション処理性能の上限となり、処理性能をある程度以上に向上させることができなかった。また、システムダウン後の復旧に要する時間を短縮することも困難であった。
また、従来より、トランザクション処理をミラーリングしながらメモリ上で行なうシステムはあるが、次のような問題点があった。
第一の問題点は、サーバダウン後の復旧に時間がかかるという点である。特に、何らかの理由で、データ処理を行なうサーバとその処理データを複製するサーバというように役割が分けられている場合、データ処理を行なうサーバを復旧させるためには、一旦、後者のサーバでデータを保存し、データ処理を行なうサーバへ転送してから復旧操作を行なう必要があった。
第二の問題点は、サーバダウン後の復旧操作が論理的な処理データ単位になってしまうという点である。サーバがダウンして、そこに論理的な処理データ1000個が置かれていた場合、従来の方法では、復旧先サーバでその1000個を順次、又は特定の数ずつ並列に、復旧処理することになり、1000という数に依存した処理が発生することで、処理性能に限界が生じていた。
第三の問題点は、データ処理を行なうサーバとその処理データを複製するサーバの処理内容がほとんど対称であるがゆえに、サーバ台数の低減など、システム構築の柔軟性に問題があるという点である。データ処理を行なうサーバと同等の処理を、複製する側のサーバでも実行するため、複製する側のサーバを集約するなど、柔軟なシステム構築を行なう上で限界があった。
関連する技術として、特開2000−57030号公報に2重更新を行なうデータベースを有するクライアントサーバーシステムが開示されている。
このクライアントサーバーシステムは、少なくとも1つのクライアントと、前記クライアントの接続サーバーを切り替えるゲートウェイと、同一の構成を有する正系サーバーと副系サーバーと、前記正系サーバーと副系サーバーとによってそれぞれ参照及び更新される一対のデータベースとを有する。前記正系サーバーと副系サーバーはともに、前記クライアントのメッセージに対してオンライン処理を行なうオンラインアプリケーション手段と、データベースの参照と更新を行なうデータベースシステムと、自系のデータベースに対するデータベース変更メッセージを一時的に蓄積して他系に送出するメッセージキュー送出手段と、他系のデータベースに対するデータベース変更メッセージを自系に受け入れて一時的に蓄積するメッセージキュー受入手段と、前記メッセージキュー受入手段から他系のデータベースのデータベース変更メッセージを入力し、前記データベースシステムを介して自系のデータベースを更新するメッセージキュー起動アプリケーション手段とを有する。通常の処理においては前記正系サーバーは、そのオンラインアプリケーション手段によってオンライン処理を行ない、必要に応じて正系のデータベースシステムを介して正系のデータベースを変更するとともに、正系のデータベースに対するデータベース変更メッセージを正系のメッセージキュー送出手段に送る。前記副系サーバーは、副系のメッセージキュー受入手段が正系のメッセージキュー送出手段から正系のデータベースに対するデータベース変更メッセージを逐次受け入れ、副系のメッセージキュー起動アプリケーション手段が副系のメッセージキュー受入手段から正系のデータベースに対するデータベース変更メッセージを入力し、副系のデータベースシステムを介して副系のデータベースを更新する。前記正系サーバーにファイルの破損が発生したときは、前記ゲートウェイの切替えによって処理要求のあった前記クライアントを前記副系サーバーに接続し、副系のオンラインアプリケーション手段によってオンライン処理を行ない、必要に応じて副系のデータベースシステムを介して副系のデータベースを変更するとともに、副系のデータベースに対するデータベース変更メッセージを逐次副系のメッセージキュー送出手段に送る。前記正系サーバーは機能が回復した後に、正系のメッセージキュー受入手段が副系のメッセージキュー送出手段から副系処理中の副系のデータベースに対するデータベース変更メッセージを受け入れ、正系のメッセージキュー起動アプリケーション手段が正系のメッセージキュー受入手段から副系のデータベースに対するデータベース変更メッセージを入力し、正系のデータベースシステムを介して正系のデータベースを更新する。
また、特開2003−345523号公報にデータ多重化システムが開示されている。
このデータ多重化システムは、少なくとも一つの正側記憶ボリュームを備える複数の正側記憶装置と、少なくとも一つの副側記憶ボリュームを備えるとともに前記複数の正側記憶装置に接続する副側記憶装置とを備え、前記各正側記憶装置の正側記憶ボリュームに記憶される正側データと同じ内容の副側データを前記副側記憶装置へ転送して前記副側記憶装置の副側記憶ボリュームに記憶することにより、前記正側記憶装置と前記副側記憶装置とにおいてデータを多重に保持する。前記副側記憶装置は、前記副側データの到着状況を管理する手段と、前記複数の正側記憶装置に接続するホストコンピュータが前記各正側記憶装置へ前記正側データを送信した時刻を表すために前記正側データ及び前記副側データに付された時刻情報に基づいて、受信した前記副側データを時系列順に前記副側記憶ボリュームに書き込む手段と、或る前記正側記憶装置からの前記副側データの到着状況が設定された条件を満たすと、前記或る正側記憶装置からの前記副側データの前記到着状況が前記設定された条件から外れるようにするための条件離脱処理を実行する手段とを備える。
特開2005−293315号公報にデータミラー型クラスタシステムが開示されている。
このデータミラー型クラスタシステムは、一台が運用系、少なくとももう一台が待機系として動作するサーバ装置から構成され、運用系データベース上のデータ変更を待機系のデータベースに反映する。各サーバ装置は、それぞれのデータベースと、両サーバ装置からアクセス可能な共有メモリとを備え、トランザクションを相手サーバ装置に転送できるインターコネクトにより相互に接続されている。各サーバ装置は、運用系として動作しているときに、データベース上のデータの変更を共有メモリに書き込む運用系メモリドライバ手段と、待機系として動作しているときに、前記インターコネクトを介して共有メモリ上に転送されてきたデータをデータベースに書き込む待機系メモリドライバ手段とを備える。
特開平4−264937号公報にオンラインデータベース装置が開示されている。
このオンラインデータベース装置は、メモリに展開すべき情報を格納している磁気ディスク装置と、高速度アクセスされる情報が格納されている主記憶装置と、メモリに情報を展開するメモリ情報展開手段と、アプリケーションプログラムよりメモリ情報をアクセスするアプリケーションインタフェース手段と、端末トランザクション制御を行なうオンライン制御手段と、オンラインシステム終了時に磁気ディスク装置に退避するメモリ情報退避手段とを有する。
特開平5−88954号公報にデータベースの更新方法が開示されている。
このデータベースの更新方法は、プロセッサの主記憶装置上にデータベースのプライマリコピーを格納し、ディスク装置上にデータベースのバックアップコピーを格納するデータベース処理システムにおいて用いられる。このデータベース処理システムは、主記憶装置上にトランザクションが更新したデータに関する情報を格納するための更新情報格納領域と、コミットを宣言したトランザクションのトランザクション番号を格納するためのコミットリストと、トランザクションが前記プライマリコピーに対して更新を行った結果を前記バックアップコピーに反映させるための一括コミット処理部を有する。前記トランザクションは、データに対する排他ロックを獲得した後にプライマリコピーに対する前記データの更新と前記更新情報格納領域への登録を行ない、コミットを宣言した時点で前記トランザクション自身のトランザクション番号を前記コミットリストに登録する。また、それまでに獲得したデータに対する排他ロックを全て解除する。前記一括コミット処理部は、前記コミットリストに登録された前記トランザクション番号に対応するトランザクションがコミット可能かどうかを前記更新情報格納領域に登録された情報に基づいて判定を行なう。コミット可能と判定したトランザクション群について、一括して更新データを前記プライマリコピーから前記バックアップコピーに転送して、コミット完了を前記トランザクション群に通知する。
特開平9−244933号公報にデータベースバックアップ装置が開示されている。
この従来技術は、全データベースが常駐する主記憶手段と、データベースのバックアップとログ情報を保持する2次記憶手段とを有するメモリデータベースにおけるデータベースバックアップ装置に関する。このデータベースバックアップ装置は、レコード単位、カラム単位、該レコード単位と該カラム単位の組み合わせのいずれかの単位で、リカバリ処理でデータ保証する種別と保証しない保証種別に基づいて前記主記憶手段の連続した領域上にデータを保持するテーブルと、前記保証種別のデータの領域の前記主記憶手段上のレコードの位置情報を有するテーブル管理情報と、前記主記憶手段の保証種別のデータの領域の前記主記憶手段上のカラムの位置情報を有するデータベース管理情報と、レコード単位、カラム単位、レコード単位とカラム単位の組み合わせのいずれかの単位で、リカバリ処理で保証する種別のデータのみを、テーブル管理情報及びデータベース管理情報と共に格納する2次記憶手段と、前記2次記憶手段に、前記レコード単位、前記カラム単位、前記レコード単位と前記カラム単位の組み合わせのいずれかの単位で、前記リカバリ処理で保証する種別のデータのみを前記テーブル管理情報及びデータベース管理情報と共にバックアップするバックアップ手段とを有する。
特開2000−57030号公報 特開2003−345523号公報 特開2005−293315号公報 特開平4−264937号公報 特開平5−88954号公報 特開平9−244933号公報
本発明の目的は、トランザクション処理を行なうコンピュータシステムにおいて、メモリ上に処理対象となるデータを置く事で高速なデータ処理を実現するトランザクション処理装置を提供することである。
本発明の他の目的は、処理対象データの管理と複数サーバ間の情報交換の工夫によって、システム全体としての高可用性を実現するトランザクション処理装置を提供することである。
以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。但し、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明のトランザクション処理装置は、サーバ(100)のメモリの中に共有メモリとして確保された領域であるメモリドメイン(103)と、前記メモリドメイン(103)及び前記メモリドメイン(103)の内部の情報を管理するメモリドメイン管理機構(101)と、前記メモリドメイン(103)の先頭アドレスを記録するドメイン管理情報(105)と、前記ドメイン管理情報(105)の先頭アドレス及び共有メモリ識別子を記録する管理情報アドレス記録ファイル(102)と、データ処理及びサーバ間の制御を行なうTx処理機構(104)とを具備する。
前記メモリドメイン管理機構(101)は、前記Tx処理機構(104)からのメモリ確保要求によって前記メモリドメイン(103)内に、論理データの領域を確保し、前記ドメイン管理情報(105)内に、前記論理データの位置情報を、前記先頭アドレスからの相対位置によって記録し、前記ドメイン管理情報(105)を前記先頭アドレスから一定の位置に配置する。
前記メモリドメイン管理機構(101)は、前記メモリドメイン(103)の先頭アドレスを、論理サーバ名として使用できない文字を含む固定したファイル名で保存する。
本発明のトランザクション処理装置は、ネットワーク上の各サーバが正常に稼動していることを前記ネットワーク経由で監視するサーバ監視機構と、更新データからのデータ読み込み指示及びトランザクション処理の制御を行なうTx管理機構とを更に具備する。前記サーバ監視機構は、設定ファイルから、現用サーバ及び退避サーバがダウンした場合に実行すべき処理を読み取り、前記各サーバの監視を開始する。前記Tx管理機構は、前記各サーバ上のTx処理機構(104)に対して問合せを行なうことで、前記現用サーバを確認し、前記現用サーバ上のTx処理機構(104)に対してデータ処理の開始を指示する。
第一の効果は、トランザクションデータを高速に処理可能であるという点にある。その理由は、処理対象となるデータが全てメモリ上に配置され、且つメモリ上で更新されており、ディスクへの保存はトランザクション処理完了後に一括して行われるため、ディスクアクセスが処理速度の足枷になることがないからである。
第二の効果は、サーバダウン(異常停止)時に、処理途中のデータが消失する可能性が低減されているという点にある。その理由は、複数のサーバがメモリ上に処理途中のデータの複製を保持しているからである。
第三の効果は、サーバダウン後、迅速に処理の再開が可能という点にある。その理由は、他サーバのメモリ上にあるデータを基に、ダウンしたサーバ上のデータを、待機サーバのメモリ上に展開した形で復元するからである。
第四の効果は、サーバダウン後、待機サーバへの高速なデータ復旧が可能という点にある。その理由は、論理的なデータを直接メモリ上に確保した領域へ配置するのではなく、一旦メモリ上に確保した空間内に論理的なデータを配置することによって、待機サーバへのデータ転送回数が抑制され、転送後の待機サーバ上でのアドレス変換の回数をも低減できるためである。また、確保する共有メモリが広大である場合、最初のメモリアクセス時に論理アドレス−物理アドレスのマッピングに時間を要することになるが、本発明では事前に確保、及びマッピングした領域に転送するため、その時間をも抑制できる。
第五の効果は、退避サーバ側のピーク時のCPU負荷が、現用サーバ側と比較して低減されているという点にある。その理由は、データの処理に2フェーズコミット方式を採用することで、退避サーバ側で2回目のコミットまでのデータ更新内容を最適化することが可能となり、退避サーバ側で2回目のコミット時の処理量(データ更新量)が低減されているためである。
以下に本発明の第1実施形態について添付図面を参照して説明する。
まず図1に、本発明の構成要素となるサーバ内の詳細な構成を示す。
本発明に用いるサーバ100は、メモリドメイン管理機構101と、管理情報アドレス記録ファイル102と、メモリドメイン103と、Tx処理機構104と、ドメイン管理情報105と、論理データ1:106と、論理データ2:107と、論理データ3:108と、アドレスX109を備えている。
メモリドメイン管理機構101は、メモリドメイン103及びその内部の情報を管理する。管理情報アドレス記録ファイル102は、ドメイン管理情報105の先頭アドレス、及び共有メモリ識別子を記録する。メモリドメイン103は、サーバの主記憶装置であるメモリ110の中に共有メモリとして確保された領域である。Tx処理機構104は、データ処理及びサーバ間の制御を仲介するコンピュータプログラムである。ドメイン管理情報105は、メモリドメイン103の先頭アドレスを記録するアドレスX109を有する。論理データ1:106、論理データ2:107、及び論理データ3:108は、メモリドメイン103内に確保された領域であり、その中に処理対象となる情報を含む。
メモリドメイン103はオペレーティングシステムに対する共有メモリ確保要求によって領域確保されるため、同じサイズのメモリ確保要求を別なサーバはもちろん同じサーバで再び行ったとしても、そのメモリ110内における先頭アドレスは必ずしも同じにはならない。ここでメモリドメイン103はシステム内において一意となる管理上の名称(ID:識別情報)を付与される。管理情報アドレス記録ファイル102のファイル名の一部分は、実施例で後述するようにシステムの制御のために使用し、メモリドメイン103の名称を含むことがある。
論理データ1:106、論理データ2:107、論理データ3:108は、メモリドメイン管理機構101に対するメモリ確保要求によって、メモリドメイン103内に領域確保される。メモリドメイン管理機構101は、ドメイン管理情報105内に、論理データ1:106、論理データ2:107、論理データ3:108の位置情報を、アドレスX109内に記録されたメモリドメイン先頭アドレスからの相対位置によって記録する。ドメイン管理情報105は、メモリドメイン先頭アドレスから一定の位置に配置する。
以上によって、メモリドメイン103のシステム内での名称が特定できれば、管理情報アドレス記録ファイル102のファイル名が特定でき、その内部の情報からメモリドメインの先頭アドレスとドメイン管理情報105の先頭アドレスが特定できる。更に、アドレスX109内のメモリドメイン先頭アドレスを変更することによって、ドメイン管理情報105内のその他の情報を変更することなく、メモリドメイン103を異なるアドレスに配置することが可能となる。
次に、本発明の全体図となる図2を参照すると、システムは5種類のサーバで構成されている。詳細は図示していないが、各サーバは前述した図1の構成要素をその内に含んでいる。
図2に示すように、本発明のシステムは、Tx制御サーバ200と、現用サーバ202と、現用待機サーバ222と、退避待機サーバ232と、ネットワーク切替機構260を有する。Tx制御サーバ200は、Tx管理機構201と、サーバ監視機構240を備えている。現用サーバ202は、メモリドメインA:203と、Tx処理機構A:204を備えている。メモリドメインA:203は、ドメイン管理情報A:205と、論理データA1:206と、論理データA2:207を有する。また、現用サーバ202は、更新データ208と、入力データ209を利用する。退避サーバ212は、メモリドメインA’:213と、Tx処理機構A’:214を備えている。メモリドメインA’:213は、ドメイン管理情報A’:215と、論理データA1’:216と、論理データA2’:217を有する。現用待機サーバ222は、メモリドメインS:223と、Tx処理機構S:224を備えている。退避待機サーバ232は、メモリドメインS’:233と、Tx処理機構S’:234を備えている。
更新データ208はトランザクション処理の入力データを表している。更新データ208には”どの論理データをどのように変更するか”、”どの論理データにどのようなレコードを追加するか”、”どの論理データのどのレコードを削除するか”という情報が格納されている。
Tx制御サーバ200上のTx管理機構201は、更新データ208からのデータ読み込み指示等、トランザクション処理の制御を行なう。現用サーバ202上のメモリには、メモリドメインA:203として論理的なメモリ空間が確保され、その上にTx処理機構A:204によって入力データ209から処理の初期情報となるデータが読み込まれる。論理データA1:206、論理データA2:207はデータを読み込む領域及びその中のデータを表しており、一般的なデータベースにおけるテーブルに相当する。
退避サーバ212上のTx処理機構A’:214は、同サーバ上に現用サーバ202上のデータの複製が保持されるよう、Tx処理機構A:204からの指示に従ってデータ更新処理を行なう。
メモリドメインA’:213はメモリドメインA:203の複製であり、論理データA1’:216、論理データA2’:217が、それぞれ論理データA1:206、論理データA2:207の複製として、メモリドメインA’:213に作成される。
現用待機サーバ222は現用サーバ202がダウン(異常発生による停止)した場合、退避待機サーバ232は退避サーバ212がダウンした場合に、それぞれ代替として機能する。
現用待機サーバ222、退避待機サーバ232は、その上でそれぞれTx処理機構S:224、Tx処理機構S’:234が起動し、メモリドメインS:223、メモリドメインS’:233がメモリ上に確保された状態となっている。初期状態で、メモリドメインS:223、メモリドメインS’:233はその中に論理データを含まない。メモリドメインA:203、メモリドメインA’:213、メモリドメインS:223、メモリドメインS’:233は全て同じ大きさの領域であるが、確保されたメモリ上の論理アドレスは必ずしも同じではない。
各サーバはネットワーク切替機構260を介して、相互に高速なネットワークで接続されている。また、接続が図示されていないが更新データ208、入力データ209も、同様に各サーバからアクセスできるよう、高速なネットワークで接続されている。設定ファイル250の内容も全サーバで共有されている。
サーバ監視機構240は、その他の各サーバが正常に稼動していることをネットワーク切替機構260に接続されたネットワーク経由で監視する。
まず、図3A、図3Bを使用して、本発明におけるトランザクションデータ処理時の動作を詳細に説明する。
まず、設定ファイル250の内容を全サーバで共有しておく。
(1)ステップS101
ユーザは現用サーバ202でTx処理機構A:204、退避サーバ212でTx処理機構A’:214を稼動モードで起動する。モードには稼動モードと待機モードが存在する。稼動モードではメモリドメインとして確保される領域内にドメイン管理情報を生成するが、待機モードではドメイン管理情報を生成しない。また、待機モードで確保されたメモリドメインのための領域は初期状態でメモリドメインとしての名称をもたない。
(2)ステップS102
次に退避サーバ212において、その論理サーバ名を”VA’”と命名するためのコマンドを実行する。コマンドは設定ファイル250の情報から論理サーバVA’上にメモリドメインA:203と同じサイズのメモリ領域が必要であることを読み取り、同時に、退避サーバ212のメモリ上に領域を確保してメモリドメインA’:213を”A’”と命名する。メモリドメイン名は、複製している現用サーバの論理サーバ名と一対一に対応する。メモリドメインA’:213の先頭アドレスは、退避サーバ212の内蔵ディスクに、”A’”の名称と関連づけたファイル名で保存される。
(3)ステップS103
現用サーバ202において、その論理サーバ名を”VA”と命名するためのコマンドを実行する。コマンドは同時に、現用サーバ202のメモリ上に領域を確保してメモリドメインA:203を”A”と命名する。メモリドメインA:203の先頭アドレスは、現用サーバ202の内蔵ディスクに、”A”の名称と関連づけたファイル名で保存される。更に、設定ファイル250より論理サーバVA(現用サーバ202)の複製が論理サーバVA’(退避サーバ212)に作成されるべきであることがコマンドによって読み取られ、Tx処理機構A:204の中に複製作成先情報として記憶される。
(4)ステップS104
現用待機サーバ222でTx処理機構S:224、退避待機サーバ232でTx処理機構S’:234を待機モードで起動する。
(5)ステップS105
現用待機サーバ222、退避待機サーバ232では、それぞれ、メモリドメインS:223、メモリドメインS’:233として、メモリドメインA:203と同じサイズの領域が確保される。領域確保のみでドメイン管理情報は生成されない。確保したメモリドメインS:223、メモリドメインS’:233の先頭アドレスは、それぞれ現用待機サーバ222、退避待機サーバ232の内蔵ディスクに、論理サーバ名として使用できない文字を含む、ある固定したファイル名で保存する。例えば、論理サーバ名として”@”を使用できないものと規定し、”@standby.shm”というファイル名で保存する。
(6)ステップS106
更に現用サーバ202でコマンドを実行し、メモリドメインA:203に入力データ209からの情報を読み込む。読み込むにあたってメモリドメインA:203内にそのための領域を確保し、論理データA1:206、論理データA2:207として配置する。なお、入力データ209からデータを読み込むのは、データベースのテーブルが2つであった場合である。
(7)ステップS107
メモリドメインA:203内に確保した領域の位置情報は、メモリの論理アドレスを使わない形でドメイン管理情報A:205に記録される。同時にコマンドはTx処理機構A:204に対し、複製作成先に論理データA1:206、論理データA2:207の複製を作成するよう指示する。これによって、現用サーバ202から退避サーバ212に対してネットワークを通じたデータ転送が為され、論理データA1’:216、論理データA2’:217がメモリドメインA’:213に生成される。論理データA1’:216、論理データA2’:217の位置情報はドメイン管理情報A’:215に記録される。
(8)ステップS108
次にTx制御サーバ200において、Tx管理機構201とサーバ監視機構240を起動する。
(9)ステップS109
サーバ監視機構240は、設定ファイル250から、現用サーバ202、退避サーバ212がダウンした場合に実行すべき処理を読み取り、監視を開始する。
(10)ステップS110
Tx管理機構201は、全サーバ上のTx処理機構に対して問合せを行なうことで、論理サーバVAが現用サーバ202であることを知り、現用サーバ202上のTx処理機構A:204に対してデータ処理の開始を指示する。
(11)ステップS111
Tx処理機構A:204は指示を受けて、更新データ208からトランザクション処理のためのデータを読み込み、処理を開始する。
(12)ステップS112
処理を開始したTx処理機構A:204は、読み込んだデータに従い、論理データA1:206、論理データA2:207を更新する。この際、複製作成先情報に従い、現用サーバ202から退避サーバ212に更新情報(以下、更新ログと表記)をネットワーク転送する。Tx処理機構A’:214はそれを利用して、論理データA1’:216、論理データA2’:217を同様に更新する。更新結果の確定は、Tx処理機構A:204によって、いわゆる2フェーズコミットで行われる。現用サーバ202から退避サーバ212に2段階のコミット(確定)指示が伝送されるが、2段階目のコミット指示で退避サーバ212側での更新を確定させるまでの間、Tx処理機構A’:214は論理データA1’:216、論理データA2’:217のデータ更新量が最小となるよう、更新ログを最適化する。例えば、論理データA1’:216内のあるデータを”5”→”3”→”2”と更新する更新ログが送られてきた場合、最終的に”2”に更新するという情報のみを保持するなどである。
(13)ステップS113
Tx処理機構A’:214側での更新が確定したことはTx処理機構A:204側へネットワークを通じて伝達される。
(14)ステップS114
Tx処理機構A:204が更新データ208から読み込んだデータを処理し終わった場合、Tx処理機構A:204は更新データ208に、処理済の箇所を記録する。全トランザクション処理が完了した場合、Tx処理機構A:204はTx管理機構201にトランザクション処理完了を通知する。
(15)ステップS115
ユーザは必要に応じて現用サーバ202上でコマンドを実行し、論理データA1:206、論理データA2:207をトランザクション処理結果としてディスク上に保存する。
以上で処理は完了となる。
次に、図4において現用サーバ202がダウンした場合の動作について説明する。
(1)ステップS201
サーバ監視機構240は、現用サーバ202がダウンしたことを検知すると、保持していた設定ファイル250の情報から”現用待機サーバ222を論理サーバVAと命名して”現用サーバ202の代替にするための動作を開始する。
(2)ステップS202
まず、サーバ監視機構240は現用待機サーバ222において、”論理サーバVAの情報を論理サーバVA’”のデータから復元するためのコマンドをネットワークを通じて遠隔実行する。実行されたコマンドは全サーバに問合せ、論理サーバVA’が退避サーバ212であることを知る。コマンドは、現用待機サーバ222を”論理サーバVA”として命名し、更にメモリドメインS:223の先頭アドレスを保存してあったファイルから読み取り、Tx処理機構S:224を通じて、それを”新たなメモリドメインA”として命名する。コマンドはTx処理機構A’:214に対して、論理サーバVAが現用待機サーバ222に変更されたことを通知し、メモリドメインA’:213の内容を”新たなメモリドメインA”となったメモリドメインS:223に対して転送するよう指示する。
(3)ステップS203
指示を受けたTx処理機構A’:214はネットワークを通じて、メモリドメインA’:213の内容をメモリドメインS:223へ転送し、上書きする。転送が完了したら、コマンドは、ドメイン管理情報A’:215の特定の位置(図1におけるアドレスX109)に格納されていた論理アドレスを、メモリドメインS:223の先頭アドレスに書き換える。
これによって、退避サーバ212において論理データA1’:216、論理データA2’:217であったデータが、現用待機サーバ222(新たな”論理サーバVA”)上で正常にアクセス可能となる。
(4)ステップS204
サーバ監視機構240は、現用待機サーバ222(新たな”論理サーバVA”)上で実行したコマンドが完了したことを知り、Tx処理機構S:224を通じてトランザクション処理を再開する。
次に、図5において退避サーバ212がダウンした場合の動作について説明する。
(1)ステップS211
サーバ監視機構240は、退避サーバ212がダウンしたことを検知すると、保持していた設定ファイル250の情報から、”退避待機サーバ232を論理サーバVA’と命名して”退避サーバ212の代替にするための動作を開始する。
(2)ステップS212
まず、サーバ監視機構240は退避待機サーバ232において、”論理サーバVA’の情報を論理サーバVA”のデータから復元するためのコマンドを遠隔実行する。実行されたコマンドは全サーバに問合せ、論理サーバVAが現用サーバ202であることを知る。コマンドは、退避待機サーバ232を”論理サーバVA’”として命名し、更にメモリドメインS’:233の先頭アドレスを保存してあったファイルから読み取り、Tx処理機構S’:234を通じて、それを”新たなメモリドメインA’”として命名する。コマンドはTx処理機構A:204に対して、論理サーバVA’が退避待機サーバ232に変更されたことを通知し、メモリドメインA:203の内容を”新たなメモリドメインA’”となったメモリドメインS’:233に対して転送するよう指示する。
(3)ステップS213
指示を受けたTx処理機構A:204はネットワークを通じて、メモリドメインA:203の内容をメモリドメインS’:233へ転送する。転送が完了したら、コマンドはドメイン管理情報A:205の特定の位置(図1におけるアドレスX109)に格納されていた論理アドレスを、メモリドメインS’:233の先頭アドレスに書き換える。
これによって、現用サーバ202において論理データA1:206、論理データA2:207であったデータが、退避待機サーバ232(新たな”論理サーバVA’”)へ正常に複製される。
(4)ステップS214
サーバ監視機構240は、退避待機サーバ232(新たな”論理サーバVA’”)上で実行したコマンドが完了したことを知り、Tx処理機構A:204を通じてトランザクション処理を再開する。
図6を使用して、本発明の第2実施形態について詳細に説明する。
図6に示すように、本発明のシステムは、Tx制御サーバ300と、現用サーバ302と、現用待機サーバ322と、退避待機サーバ332と、ネットワーク切替機構360と、現用サーバ2:372を有する。Tx制御サーバ300は、Tx管理機構301と、サーバ監視機構340を備えている。現用サーバ302は、メモリドメインA:303と、Tx処理機構A:304を備えている。メモリドメインA:303は、ドメイン管理情報A:305と、論理データA1:306と、論理データA2:307を有する。また、現用サーバ302は、更新データ308と、入力データ309を利用する。退避サーバ312は、メモリドメインA’:313と、Tx処理機構A’:314と、メモリドメインB’:383を備えている。メモリドメインA’:313は、ドメイン管理情報A’:315と、論理データA1’:316と、論理データA2’:317を有する。メモリドメインB’:383は、ドメイン管理情報B’:385と、論理データB1’:386と、論理データB2’:387を有する。現用待機サーバ322は、メモリドメイン323と、Tx処理機構S:324を備えている。退避待機サーバ332は、メモリドメインSa:333と、Tx処理機構Sa:334と、メモリドメインSb:393を備えている。現用サーバ2:372は、メモリドメインB:373、Tx処理機構2:374を備えている。メモリドメインB:373は、ドメイン管理情報B:375、論理データB1:376、論理データB2:377を有する。
図6では、図2と比較し、構成要素に現用サーバ2:372、及びその内部のメモリドメインB:373、Tx処理機構2:374、ドメイン管理情報B:375、論理データB1:376、論理データB2:377、そして、退避サーバ312内にメモリドメインB’:383、ドメイン管理情報B’:385、論理データB1’:386、論理データB2’:387が加わっている。
また、退避サーバ312に対応して、退避待機サーバ332内にTx処理機構Sx:334、メモリドメインSa:333、メモリドメインSb:393が存在する。
経路が図示されていないが、図2と同様に、設定ファイル350の内容、更新データ308、入力データ309は、全サーバで共有されている。
図7を使用して、第2実施形態におけるトランザクションデータ処理時の動作を詳細に説明する。
(1)ステップS301
ユーザは現用サーバ1:302でTx処理機構A:304、退避サーバ312でTx処理機構X:314、現用サーバ2:372でTx処理機構2:374を稼動モードで起動する。
(2)ステップS302
ユーザは退避サーバ312において、その論理サーバ名を”Vx”と命名するためのコマンドを実行する。コマンドは設定ファイル350の情報から論理サーバVx上にメモリドメインA:303、メモリドメインB:373と同じサイズのメモリ領域が必要であることを読み取り、同時に、退避サーバ312のメモリ上に領域を確保して、メモリドメインA’:313、メモリドメインB’:383と命名する。メモリドメインA’:313、メモリドメインB’:383の先頭アドレスは、退避サーバ312の内蔵ディスクに、それぞれ”A’”、”B’”の名称と関連づけたファイル名で保存される。
(3)ステップS303
現用サーバ1:302において、その論理サーバ名を”VA”と命名するためのコマンドを実行する。コマンドは同時に、現用サーバ1:302のメモリ上に領域を確保してメモリドメインA:203と命名する。メモリドメインA:303の先頭アドレスは、現用サーバ302の内蔵ディスクに、”A”の名称と関連づけたファイル名で保存される。更に、設定ファイル350より論理サーバVA(現用サーバ1:302)の複製が論理サーバVA’(退避サーバ312)に作成されるべきであることがコマンドによって読み取られ、Tx処理機構1:304の中に複製作成先情報として記憶される。
(4)ステップS304
現用サーバ2:372において、その論理サーバ名を”VB”と命名するためのコマンドを実行する。コマンドは同時に、現用サーバ2:372のメモリ上に領域を確保してメモリドメインB:373と命名する。メモリドメインB:373の先頭アドレスは、現用サーバ372の内蔵ディスクに、”B”の名称と関連づけたファイル名で保存される。更に、設定ファイル350より論理サーバVB(現用サーバ2:372)の複製が論理サーバVx(退避サーバ312)に作成されるべきであることがコマンドによって読み取られ、Tx処理機構2:374の中に複製作成先情報として記憶される。
(5)ステップS305
現用待機サーバ322でTx処理機構S:324を待機モードで起動すると、設定ファイル350の情報より、メモリドメインA:303、メモリドメインB:373のうち、より大きい方の領域サイズで、メモリドメインS:323が確保される。領域確保のみでドメイン管理情報は生成されない。確保したメモリドメインS:323の先頭アドレスは、現用待機サーバ322の内蔵ディスクに、論理サーバ名として使用できない文字を含む、ある法則に従ったファイル名で保存する。例えば、論理サーバ名として”@”を使用できないものと規定し、”@standby.shm”というファイル名で保存する。
(6)ステップS306
退避待機サーバ332でTx処理機構Sx:334を待機モードで起動すると、設定ファイル350の情報より、メモリドメインA’:313と同じ領域サイズのメモリドメインSa:333、メモリドメインB’:383と同じ領域サイズのメモリドメインSb:393が確保される。領域確保のみでドメイン管理情報は生成されない。確保したメモリドメインSa:333、メモリドメインSb:393の先頭アドレスは、退避待機サーバ332の内蔵ディスクに、論理サーバ名として使用できない文字を含む、ある法則に従ったファイル名で保存する。例えば、論理サーバ名として”@”を使用できないものと規定し、ファイル名をそれぞれ”@standby_A.shm”、”@standby_B.shm”とする。
(7)ステップS307
以降、図2の例と同様に、現用サーバ1:302、現用サーバ2:372でコマンドを実行し、入力データ309からの情報を読み込んだ後、Tx制御サーバ300において、Tx管理機構301とサーバ監視機構340を起動して処理を開始する。
(8)ステップS308
現用サーバ1:302、現用サーバ2:372でデータ更新が実行された結果である更新ログは、退避サーバ312上のTx処理機構X:314に送られる。Tx処理機構X:314は、予め読み込んでいた設定ファイル350の情報から、メモリドメインA’:313、メモリドメインB’:383のそれぞれがメモリドメインA:303、メモリドメインB:373に対応することを認識して、送られてきた更新ログをメモリドメインA’:313、メモリドメインB’:383に振り分けて、論理データA1’:316、論理データA2’:317、論理データB1’:386、論理データB2’:387の更新処理を行なう。
図7において、現用サーバ1:302、現用サーバ2:372がダウンした場合の動作は、図2の場合とほぼ同じである。但し、メモリドメインS:323の領域サイズは必ずしも転送元のサイズと一致しないため、退避サーバ312からのメモリドメイン情報の転送後、ドメイン管理情報内に、有効な(使用されている)領域のサイズを記録する。
図8において、退避サーバ312がダウンした場合の動作について説明する。
(1)ステップS311
サーバ監視機構340は、退避サーバ312がダウンしたことを検知すると、保持していた設定ファイル350の情報から”退避待機サーバ332を論理サーバVxと命名して”退避サーバ312の代替にするための動作を開始する。
(2)ステップS312
まず、サーバ監視機構340は退避待機サーバ232において、”論理サーバVxの情報を論理サーバVA、及び論理サーバVB”のデータから復元するためのコマンドを遠隔実行する。
(3)ステップS313
実行されたコマンドは全サーバに問合せ、論理サーバVAが現用サーバ1:302、論理サーバVBが現用サーバ2:372であることを知る。コマンドは、退避待機サーバ332を”論理サーバVx”として命名する。
(4)ステップS314
更に、メモリドメインSa:333がメモリドメインA’:313、すなわちメモリドメインA:303の複製の代替となる領域であることを設定ファイル350から読み取り、予め規定していたファイル命名則に従い(前述の例の場合、”@standby_A.shm”)、先頭アドレスを保存しているファイルを特定する。そこからメモリドメインSa:333の先頭アドレスを読み取り、Tx処理機構Sx:334を通じて、それを”新たなメモリドメインA’”として命名する。同様に、メモリドメインSb:393の先頭アドレスを特定し、”新たなメモリドメインB’”として命名する。
(5)ステップS315
コマンドはTx処理機構1:304、及びTx処理機構2:374に対して、論理サーバVxが退避待機サーバ332に変更されたことを通知し、メモリドメインA:303の内容を”新たなメモリドメインA’”となったメモリドメインSa:333に、メモリドメインB:373の内容を”新たなメモリドメインB’”となったメモリドメインSb:393に対して転送するよう指示する。
(6)ステップS316
指示を受けたTx処理機構1:304、Tx処理機構2:374は、ネットワークを通じてメモリドメインA:303、メモリドメインB:373の内容をメモリドメインSa:333、メモリドメインSb:393へ転送する。転送が完了したら、コマンドはドメイン管理情報A:305の特定の位置(図1におけるアドレスX109)に格納されていた論理アドレスを、メモリドメインSa:333の先頭アドレスに、ドメイン管理情報B:375の特定の位置に格納されていた論理アドレスを、メモリドメインSb:393の先頭アドレスに書き換える。
これによって、現用サーバ1:302において論理データA1:306、論理データA2:307であったデータ、現用サーバ2:372において論理データB1:376、論理データB2:377であったデータが、退避待機サーバ332(新たな”論理サーバVx”)へ正常に複製される。
(7)ステップS317
サーバ監視機構340は、退避待機サーバ332(新たな”論理サーバVx”)上で実行したコマンドが完了したことを知り、Tx処理機構1:304、Tx処理機構2:374を通じてトランザクション処理を再開する。
以上のように、本発明は、いわゆるトランザクション処理を行なうコンピュータシステムにおいて、メモリ上に処理対象となるデータを置く事で高速なデータ処理を実現しつつ、処理対象データの管理と複数サーバ間の情報交換の工夫によって、システム全体としての高可用性をも実現している点に特徴がある。
本発明では、処理データを一旦全てメモリ上に配置し、メモリ上でデータ更新処理を行なう。また、処理が全て完了、或いはある程度まとまった単位の更新が完了した時点でディスクに保存することで、高速なトランザクション処理を実現する。更に、データ処理を行なうサーバとは別のサーバ上に常にデータの複製を持つことで、サーバダウン時のデータ消失を防止し、復旧時もディスクを介さず、直接メモリ上のデータを復旧することで、迅速な処理再開を実現する。
図1は、本発明に用いるサーバ内の構成を示すブロック図である。 図2は、本発明のシステムの全体図である。 図3Aは、本発明におけるトランザクションデータ処理時の動作を示すフローチャートである。 図3Bは、本発明におけるトランザクションデータ処理時の動作を示すフローチャートである。 図4は、現用サーバがダウンした場合の動作を示すフローチャートである。 図5は、退避サーバがダウンした場合の動作を示すフローチャートである。 図6は、本発明の他のシステムの全体図である。 図7は、他のトランザクションデータ処理時の動作を示すフローチャートである。 図8は、他の退避サーバがダウンした場合の動作を示すフローチャートである。
符号の説明
100…サーバ
101…メモリドメイン管理機構
102…管理情報アドレス記録ファイル
103…メモリドメイン
104…Tx処理機構
105…ドメイン管理情報
106…論理データ1
107…論理データ2
108…論理データ3
109…アドレスX
110…メモリ
200,300… Tx制御サーバ
201,301… Tx管理機構
202,302… 現用サーバ
203,303… メモリドメインA
204,304… Tx処理機構A
205,305… ドメイン管理情報A
206,306… 論理データA1
207,307… 論理データA2
208,308… 更新データ
209,309… 入力データ
212,312… 退避サーバ
213,313… メモリドメインA’
214,314… Tx処理機構A’
215,315… ドメイン管理情報A’
216,316… 論理データA1’
217,317… 論理データA2’
222,322… 現用待機サーバ
223,323… メモリドメインS
224,324… Tx処理機構S
232,332… 退避待機サーバ
233… メモリドメインS’
234… Tx処理機構S’
240,340… サーバ監視機構
260,360… ネットワーク切替機構
333… メモリドメインSa
334… Tx処理機構Sa
372… 現用サーバ2
373… メモリドメインB
374… Tx処理機構2
375… ドメイン管理情報B:
376… 論理データB1
377… 論理データB2
383… メモリドメインB’
385… ドメイン管理情報B’
386… 論理データB1’
387… 論理データB2’
393… メモリドメインSb:

Claims (10)

  1. サーバ群の各々のサーバにおけるトランザクション処理装置であって、
    自サーバのメモリの中に共有メモリとして確保された論理的な領域であるメモリドメインと、
    前記メモリドメイン及び前記メモリドメインの内部の情報を管理するメモリドメイン管理手段と、
    前記メモリドメインの先頭アドレスを記録するドメイン管理情報と、
    前記各サーバ上でトランザクション処理を行うTx処理手段と
    を具備し、
    前記メモリドメイン管理手段は、前記メモリドメインの領域を確保する際、前記メモリ内の任意の論理アドレス空間に、前記各サーバ上のメモリドメインと同じ領域サイズで確保し、前記ドメイン管理情報を前記メモリドメイン内の前記メモリドメインの先頭アドレスから一定の位置に配置し、前記メモリドメイン内に論理データ群を格納する際、前記ドメイン管理情報内に、前記論理データ群の各々の論理データの位置情報を、前記メモリドメインの先頭アドレスからの相対位置によって記録する
    トランザクション処理装置。
  2. 請求項1に記載のトランザクション処理装置であって、
    前記サーバ群は、トランザクション処理を行う現用サーバと、現用サーバで行ったトランザクション処理結果の複製先となる退避サーバとを含み、
    前記メモリドメイン管理手段は、前記自サーバが退避サーバである場合、前記メモリドメイン内に、前記Tx処理手段によって前記サーバ群の現用サーバのメモリドメインから取得された論理データ群の各々の論理データを格納し、前記ドメイン管理情報内に、前記格納された論理データ群の各々の論理データの位置情報を、前記メモリドメインの先頭アドレスからの相対位置によって記録する
    トランザクション処理装置。
  3. 請求項1又は2に記載のトランザクション処理装置であって、
    前記サーバ群は、トランザクション処理を行う現用サーバと、現用サーバで行ったトランザクション処理結果の複製先となる退避サーバと、現用サーバ又は退避サーバがダウンした後に、前記ダウンしたサーバの処理を代替する待機サーバとを含み、
    前記メモリドメイン管理手段は、前記自サーバが待機サーバである場合、前記ドメイン管理情報を生成せずに前記メモリドメインの領域を確保し、前記メモリドメインの先頭アドレスを、前記自サーバの内蔵ディスクに、論理サーバ名として使用できない文字を含む固定したファイル名で保存し、前記サーバ群の現用サーバ及び退避サーバのいずれかがダウンした際、前記保存されたファイルから前記メモリドメインの先頭アドレスを取得し、前記メモリドメイン内に、前記Tx処理手段によって取得されたダウンしていないサーバのメモリドメインの内容を格納し、前記格納された内容のドメイン管理情報に記録されている先頭アドレスを、前記保存されたファイルから取得された先頭アドレスに変更し、前記自サーバをダウンしたサーバの代替にする
    トランザクション処理装置。
  4. 請求項1乃至3のいずれか一項に記載のトランザクション処理装置であって、
    前記ドメイン管理情報の先頭アドレス、及び前記メモリドメインを一意に示す共有メモリ識別子を記録するための管理情報アドレス記録ファイルを更に具備し、
    前記メモリドメイン管理手段は、前記共有メモリ識別子が通知された際、前記管理情報アドレス記録ファイルを参照し、前記ドメイン管理情報の先頭アドレスを特定する
    トランザクション処理装置。
  5. サーバ群の各々のサーバにより実施されるトランザクション処理方法であって、
    自サーバのメモリの中に共有メモリとして、論理的なメモリ空間であるメモリドメインの領域を確保するステップと、
    前記メモリドメイン及び前記メモリドメインの内部の情報を管理するステップと、
    前記メモリドメインの先頭アドレスをドメイン管理情報に記録するステップと、
    前記各サーバ上でトランザクション処理を行うステップと、
    前記メモリドメインの領域を確保する際、前記メモリ内の任意の論理アドレス空間に、前記各サーバ上のメモリドメインと同じ領域サイズで確保し、前記ドメイン管理情報を前記メモリドメイン内の前記メモリドメインの先頭アドレスから一定の位置に配置するステップと、
    前記メモリドメイン内に、論理データ群を格納し、前記ドメイン管理情報内に、前記論理データ群の各々の論理データの位置情報を、前記メモリドメインの先頭アドレスからの相対位置によって記録するステップと
    を含むトランザクション処理方法。
  6. 請求項5に記載のトランザクション処理方法であって、
    前記サーバ群の現用サーバは、トランザクション処理を行うサーバであり、
    前記サーバ群の退避サーバは、現用サーバで行ったトランザクション処理結果の複製先となるサーバであり、
    前記自サーバが退避サーバである場合、前記メモリドメイン内に、前記サーバ群の現用サーバのメモリドメインから取得された論理データ群の各々の論理データを格納するステップと、
    前記ドメイン管理情報内に、前記格納された論理データ群の各々の論理データの位置情報を、前記メモリドメインの先頭アドレスからの相対位置によって記録するステップと、を更に含む
    トランザクション処理方法。
  7. 請求項5又は6に記載のトランザクション処理方法であって、
    前記サーバ群の現用サーバは、トランザクション処理を行うサーバであり、
    前記サーバ群の退避サーバは、現用サーバで行ったトランザクション処理結果の複製先となるサーバであり、
    前記サーバ群の待機サーバは、現用サーバ又は退避サーバがダウンした後に、前記ダウンしたサーバの処理を代替するサーバであり、
    前記自サーバが待機サーバである場合、前記ドメイン管理情報を生成せずに前記メモリドメインの領域を確保し、前記メモリドメインの先頭アドレスを、前記自サーバの内蔵ディスクに、論理サーバ名として使用できない文字を含む固定したファイル名で保存するステップと、
    前記サーバ群の現用サーバ及び退避サーバのいずれかがダウンした際、前記保存されたファイルから前記メモリドメインの先頭アドレスを取得し、前記メモリドメイン内に、ダウンしていないサーバのメモリドメインの内容を格納し、前記格納された内容のドメイン管理情報に記録されている先頭アドレスを、前記保存されたファイルから取得された先頭アドレスに変更し、前記自サーバをダウンしたサーバの代替にするステップと、を更に含む
    トランザクション処理方法。
  8. サーバ群の各々のサーバとして機能するコンピュータにより実行されるプログラムであって、
    自サーバのメモリの中に共有メモリとして、論理的なメモリ空間であるメモリドメインの領域を確保するステップと、
    前記メモリドメイン及び前記メモリドメインの内部の情報を管理するステップと、
    前記メモリドメインの先頭アドレスをドメイン管理情報に記録するステップと、
    前記各サーバ上でトランザクション処理を行うステップと、
    前記メモリドメインの領域を確保する際、前記メモリ内の任意の論理アドレス空間に、前記各サーバ上のメモリドメインと同じ領域サイズで確保し、前記ドメイン管理情報を前記メモリドメイン内の前記メモリドメインの先頭アドレスから一定の位置に配置するステップと、
    前記メモリドメイン内に、論理データ群を格納し、前記ドメイン管理情報内に、前記論理データ群の各々の論理データの位置情報を、前記メモリドメインの先頭アドレスからの相対位置によって記録するステップと
    をコンピュータに実行させるためのプログラム。
  9. 請求項8に記載のプログラムであって、
    前記サーバ群の現用サーバは、トランザクション処理を行うサーバであり、
    前記サーバ群の退避サーバは、現用サーバで行ったトランザクション処理結果の複製先となるサーバであり、
    前記自サーバが退避サーバである場合、前記メモリドメイン内に、前記サーバ群の現用サーバのメモリドメインから取得された論理データ群の各々の論理データを格納するステップと、
    前記ドメイン管理情報内に、前記格納された論理データ群の各々の論理データの位置情報を、前記メモリドメインの先頭アドレスからの相対位置によって記録するステップと
    を更にコンピュータに実行させるためのプログラム。
  10. 請求項8又は9に記載のプログラムであって、
    前記サーバ群の現用サーバは、トランザクション処理を行うサーバであり、
    前記サーバ群の退避サーバは、現用サーバで行ったトランザクション処理結果の複製先となるサーバであり、
    前記サーバ群の待機サーバは、現用サーバ又は退避サーバがダウンした後に、前記ダウンしたサーバの処理を代替するサーバであり、
    前記自サーバが待機サーバである場合、前記ドメイン管理情報を生成せずに前記メモリドメインの領域を確保し、前記メモリドメインの先頭アドレスを、前記自サーバの内蔵ディスクに、論理サーバ名として使用できない文字を含む固定したファイル名で保存するステップと、
    前記サーバ群の現用サーバ及び退避サーバのいずれかがダウンした際、前記保存されたファイルから前記メモリドメインの先頭アドレスを取得し、前記メモリドメイン内に、ダウンしていないサーバのメモリドメインの内容を格納し、前記格納された内容のドメイン管理情報に記録されている先頭アドレスを、前記保存されたファイルから取得された先頭アドレスに変更し、前記自サーバをダウンしたサーバの代替にするステップと
    を更にコンピュータに実行させるためのプログラム。
JP2006142340A 2006-05-23 2006-05-23 トランザクション処理装置、トランザクション処理方法 Expired - Fee Related JP4277873B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006142340A JP4277873B2 (ja) 2006-05-23 2006-05-23 トランザクション処理装置、トランザクション処理方法
US11/752,773 US7836162B2 (en) 2006-05-23 2007-05-23 Transaction processing system and transaction processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006142340A JP4277873B2 (ja) 2006-05-23 2006-05-23 トランザクション処理装置、トランザクション処理方法

Publications (2)

Publication Number Publication Date
JP2007316691A JP2007316691A (ja) 2007-12-06
JP4277873B2 true JP4277873B2 (ja) 2009-06-10

Family

ID=38750739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006142340A Expired - Fee Related JP4277873B2 (ja) 2006-05-23 2006-05-23 トランザクション処理装置、トランザクション処理方法

Country Status (2)

Country Link
US (1) US7836162B2 (ja)
JP (1) JP4277873B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918366B2 (en) 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US8275749B2 (en) * 2005-02-07 2012-09-25 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US8812433B2 (en) 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8799206B2 (en) 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
KR100913196B1 (ko) 2007-12-11 2009-08-24 한국전자통신연구원 파일 갱신 시스템 및 방법
JP5625243B2 (ja) * 2009-02-26 2014-11-19 日本電気株式会社 情報処理システム、ディザスタリカバリ方法及びディザスタリカバリプログラム
JP4957765B2 (ja) * 2009-08-24 2012-06-20 日本電気株式会社 ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム
JP6248747B2 (ja) * 2014-03-28 2017-12-20 富士通株式会社 情報処理装置、制御方法および制御プログラム
WO2015193973A1 (ja) * 2014-06-17 2015-12-23 三菱電機株式会社 情報処理装置および情報処理方法
US9830238B2 (en) * 2014-08-29 2017-11-28 Netapp, Inc. Techniques for maintaining communications sessions among nodes in a storage cluster system
US10972335B2 (en) 2018-01-24 2021-04-06 Hewlett Packard Enterprise Development Lp Designation of a standby node
CN113169937B (zh) * 2018-12-21 2023-04-28 瑞典爱立信有限公司 用户数据业务处理的方法、装置、网络节点及介质
US11194501B2 (en) * 2020-01-24 2021-12-07 Netapp, Inc. Standby copies withstand cascading fails

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04264937A (ja) 1991-02-20 1992-09-21 Nec Corp オンラインデータベース装置
JP3105029B2 (ja) 1991-07-09 2000-10-30 富士電機株式会社 二重化制御装置
JPH0588954A (ja) 1991-09-27 1993-04-09 Nippon Telegr & Teleph Corp <Ntt> データベースの更新方法
JP3575811B2 (ja) * 1992-05-07 2004-10-13 株式会社日立製作所 記憶装置
JPH07200390A (ja) * 1993-12-28 1995-08-04 Toshiba Corp データアクセス方法
JPH0926906A (ja) 1995-07-10 1997-01-28 Hitachi Ltd メモリデータベースの回復方法
JPH09244933A (ja) 1996-03-05 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> データベースバックアップ方法及び装置
US6101422A (en) * 1997-12-31 2000-08-08 Dawnlawn Limited Process control for viscous materials
JPH11345139A (ja) 1998-06-01 1999-12-14 Hitachi Ltd 無停止型2重化システム
JP4267094B2 (ja) 1998-08-11 2009-05-27 株式会社野村総合研究所 2重更新を行うデータベースを有するクライアントサーバーシステム
US6466949B2 (en) * 1998-11-23 2002-10-15 Myway.Com Corporation Performing event notification in a database having a distributed web cluster
JP2000341285A (ja) 1999-05-26 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> アドレス変換テーブル書き換えによる予備系立ち上げ方法
JP3608441B2 (ja) * 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器
WO2002057904A1 (fr) * 2001-01-19 2002-07-25 Fujitsu Limited Controleur dote d'un fonction de telechargement
US7895097B2 (en) * 2001-11-26 2011-02-22 Hewlett-Packard Development Company, L.P. Intelligent apparatus, system and method for financial data computation, report remittance and funds transfer over an interactive communications network
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2003345523A (ja) 2002-05-22 2003-12-05 Hitachi Ltd データ多重化システムの制御方法、データ多重化システム、副側記憶装置、および副側記憶装置用プログラム
JP3937438B2 (ja) * 2003-07-28 2007-06-27 船井電機株式会社 ディスク記録再生装置
US20080201576A1 (en) * 2003-08-29 2008-08-21 Yoshiko Kitagawa Information Processing Server And Information Processing Method
JP2005293315A (ja) 2004-03-31 2005-10-20 Nec Corp データミラー型クラスタシステム及びデータミラー型クラスタシステムの同期制御方法
US7870426B2 (en) * 2004-04-14 2011-01-11 International Business Machines Corporation Apparatus, system, and method for transactional peer recovery in a data sharing clustering computer system
US8195744B2 (en) * 2004-07-09 2012-06-05 Orb Networks, Inc. File sharing system for use with a network
JP4671399B2 (ja) * 2004-12-09 2011-04-13 株式会社日立製作所 データ処理システム
US20080090654A1 (en) * 2006-10-17 2008-04-17 Aruze Gaming America, Inc. Server for gaming system and control method thereof
US7831772B2 (en) * 2006-12-12 2010-11-09 Sybase, Inc. System and methodology providing multiple heterogeneous buffer caches

Also Published As

Publication number Publication date
US7836162B2 (en) 2010-11-16
JP2007316691A (ja) 2007-12-06
US20070276842A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
JP4277873B2 (ja) トランザクション処理装置、トランザクション処理方法
JP3992427B2 (ja) ファイルシステム
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US7107411B2 (en) Apparatus method and system for fault tolerant virtual memory management
US8725951B2 (en) Efficient flash memory-based object store
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
JP4170056B2 (ja) 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
JP2006514374A (ja) 障害からデータ・リポジトリを回復するための方法、データ処理システム、回復コンポーネント、記録媒体およびコンピュータ・プログラム
JP2007200114A (ja) データベース回復方法及び計算機システム
EP1131715A1 (en) Distributed transactional processing system and method
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
US20050246576A1 (en) Redundant system utilizing remote disk mirroring technique, and initialization method for remote disk mirroring for in the system
US7743381B1 (en) Checkpoint service
US20100205482A1 (en) Mirroring controller, storage device, and mirroring control method
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP4563412B2 (ja) ソフトウェア複製
US11860828B2 (en) Methods, devices and systems for writer pre-selection in distributed data systems
JP4131621B2 (ja) 分散ミラードディスクシステム
JP2006040065A (ja) データ記憶装置およびデータ記憶方法
JP2009157880A (ja) サーバ装置及びファイルシステム
WO2022003911A1 (ja) ワークフロー整合性確保装置、ワークフロー整合性確保方法、および、ワークフロー整合性確保プログラム
JPH11120017A (ja) 自動採番システム、二重系システム、クラスタシステム
JP3754393B2 (ja) 分散ファイル装置及びそのプロセスマイグレーション方法並びにコンピュータ装置
JP2850756B2 (ja) 分散処理システムにおけるファイルの障害復旧方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081126

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20081126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081127

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090113

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

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

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

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4277873

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees