(57)【要約】【課題】複数のＤＢに対する複製処理を、複数の更新差分ファイルに分散して並行して行う場合でも、複製されたＤＢ間のデータの整合性を確保する技術を提供する。【解決手段】第１の情報処理装置は、記憶装置ごとの更新差分データを含む更新処理データに、制御情報を付加する手段と、更新処理データを第２の情報処理装置に転送する手段とを有し、第２の情報処理装置は、転送された更新処理データ中の更新差分データを１以上の記憶装置にそれぞれ反映する反映手段と、反映手段のうちの、第１の反映手段が更新処理データ中の先頭の更新差分データを反映するときに、記憶装置の一覧が示す記憶装置に排他を設定する排他設定手段と、第２の反映手段が更新処理データ中の最後の更新差分データを記憶装置に反映するときに、排他を解除する排他解除手段と、を有する。【選択図】図１３
2014191497.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置を有する第１の情報処理装置と、前記複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する第２の情報処理装置と、を備える情報処理システムであって、
前記第１の情報処理装置は、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手段と、
前記制御情報が付加された更新処理データを前記第２の情報処理装置に転送する手段と、を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置から前記制御情報を付加されて転送された更新処理データ中の更新差分データを前記第１の情報処理装置の１以上の記憶装置に対応する前記第２の情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手段と、
前記１以上の反映手段のうちの、第１の反映手段が前記更新処理データ中の先頭の更新差分データを前記第２の情報処理装置の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置に排他を設定する排他設定手段と、
前記１以上の反映手段のうちの、第２の反映手段が前記更新処理データ中の最後の更新差分データを前記第２の情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置の排他を解除する排他解除手段と、
を有する情報処理システム。
【請求項２】
前記識別情報は、更新処理の終了順を示す順序番号であり、
前記第２の情報処理装置は、
複数の更新処理データを記憶装置へ反映する処理が前記順序番号順になされるか否かを検査する検査手段と、
前記順序番号が後順の更新処理データを対応する記憶装置へ反映する処理の終了を、前記順序番号が先順の更新処理データを反映する処理の終了まで順序待ちにする順序制御手段と、をさらに有する請求項１記載の情報処理システム。
【請求項３】
排他された記憶装置の排他が解除されるまで排他解消待ちにある排他解消待ちにある排他解消待ち反映装置が排他解消後に反映する排他解消待ち更新処理データの順序番号と、前記反映手段が反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号とを比較する比較手段と、
前記比較手段による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手段と、
を備える請求項２に記載の情報処理システム。
【請求項４】
複数の記憶装置を有する情報処理装置であって、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手段、
を備える情報処理装置。
【請求項５】
他の情報処理装置の有する複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する情報処理装置であって、
前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手段と、
前記１以上の反映手段のうちの、第１の反映手段が前記更新処理データ中の先頭の更新差分データを前記情報処理装置の対応する記憶装置に反映するときに、前記制御情報に含まれる他の情報処理装置の有する記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置に排他を設定する排他設定手段と、
前記１以上の反映手段のうちの、第２の反映手段が前記更新処理データ中の最後の更新差分データを前記情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置の排他を解除する排他解除手段と、
を備える情報処理装置。
【請求項６】
複数の記憶装置を有する第１の情報処理装置と、前記複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する第２の情報処理装置と、を備える情報処理システムの情報処理方法であって、
前記第１の情報処理装置のコンピュータが、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手順と、
前記制御情報が付加された更新処理データを前記第２の情報処理装置に転送する手順と、を実行し、
前記第２の情報処理装置のコンピュータが、
前記第１の情報処理装置から前記制御情報を付加されて転送された更新処理データ中の更新差分データを前記第１の情報処理装置の１以上の記憶装置に対応する前記第２の情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手順と、
前記１以上の反映手順のうちの、第１の反映手順が前記更新処理データ中の先頭の更新差分データを前記第２の情報処理装置の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置に排他を設定する排他設定手順と、
前記１以上の反映手順のうちの、第２の反映手順が前記更新処理データ中の最後の更新差分データを前記第２の情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置の排他を解除する排他解除手順と、
を実行する情報処理方法。
【請求項７】
複数の記憶装置を有する情報処理装置のコンピュータが、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手順、
を実行する情報処理方法。
【請求項８】
他の情報処理装置の有する複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する情報処理装置のコンピュータが、
前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手順と、
前記１以上の反映手順のうちの、第１の反映手順が前記更新処理データ中の先頭の更新差分データを前記情報処理装置の対応する記憶装置に反映するときに、前記制御情報に含
まれる他の情報処理装置の有する記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置に排他を設定する排他設定手順と、
前記１以上の反映手順のうちの、第２の反映手順が前記更新処理データ中の最後の更新差分データを前記情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置の排他を解除する排他解除手順と、
を実行する情報処理方法。
【請求項９】
複数の記憶装置を有する情報処理装置のコンピュータに、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加するステップ、
を実行させる情報処理プログラム。
【請求項１０】
他の情報処理装置の有する複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する情報処理装置のコンピュータに、
前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映ステップと、
前記１以上の反映ステップのうちの、第１の反映ステップが前記更新処理データ中の先頭の更新差分データを前記情報処理装置の対応する記憶装置に反映するときに、前記制御情報に含まれる他の情報処理装置の有する記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置に排他を設定する排他設定ステップと、
前記１以上の反映ステップのうちの、第２の反映ステップが前記更新処理データ中の最後の更新差分データを前記情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置の排他を解除する排他解除ステップと、
を実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
計算機センタ等では、災害発生といった非常事態等に備え、当計算機センタが利用するデータベース（ＤＢ：Data Base）の複製を、例えば、設置位置の異なる副計算機センタ
に作成する形態が知られている。また、例えば、業務の拡張等に伴い、主計算機等が利用するデータベースを複製し、主計算機とは別の計算機（副計算機）が複製されたデータベース（レプリカＤＢと称す）を利用することで、新たな業務を行う形態が知られている。
【０００３】
レプリカＤＢを作成するための手法として、例えば、主計算機が利用するＤＢ更新時の更新差分データ(journal：ジャーナルと称す)をファイル(ジャーナルファイルと称す)に
取得し、取得したジャーナルファイルを副計算機に転送する方法が知られている。副計算機では、ジャーナルファイルに含まれるＤＢ更新時の更新差分データを取り出し、副計算機が利用するレプリカＤＢに反映させることにより、レプリカＤＢの最新性を確保する。
【０００４】
主計算機が利用するＤＢが複数に存在する場合、主計算機は１つのトランザクション（transaction）で複数のＤＢを更新し、主計算機の利用する複数のＤＢ間の整合性をトラ
ンザクションで保証する。トランザクションとは、関連する複数の処理を１つの処理単位に纏めたものであり、トランザクションとして管理された処理は、「全て成功」か「全て失敗」かの何れかとなる。
【０００５】
例えば、主計算機が利用する複数のＤＢとして、「販売ＤＢ」と「在庫ＤＢ」を想定する。「販売ＤＢ」と「在庫ＤＢ」との間の整合性がトランザクションにより保証されている場合、販売数の増加に伴い「販売ＤＢ」で管理する販売数値は増加し、「在庫ＤＢ」で管理する在庫数値は、販売数値は増加と同じタイミングで減少する。
【０００６】
このような、複数のＤＢ間の整合性に対するトランザクションによる保証は、上述した、主計算機／副計算機間でジャーナルファイルを転送する形態でも可能である。例えば、主計算機は、複数のＤＢのジャーナルを1つのジャーナルファイルに纏めて取得し、副計
算機に転送する。副計算機は、転送されたジャーナルを主計算機と同じように１つのトランザクションとしてまとめて複数のレプリカＤＢに反映すればよい。
【０００７】
このように、複数のレプリカＤＢを利用する副計算機においてもレプリカＤＢ間の整合性はトランザクションにより保証されるため、レプリカＤＢへの反映処理を行っている最中でも、レプリカＤＢを参照する業務を動作させることができる。
【０００８】
なお、本明細書で説明する技術に関連する技術が記載されている先行技術文献としては、以下の特許文献が存在している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１２３６７０号公報
【特許文献２】特許第４２６８１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述の形態では、ＤＢの数量の増加は、ジャーナル処理の対象先が増えるため、ジャーナルファイルの処理に係るＩ／Ｏ負荷が増加し、複数のＤＢを利用する主計算機の処理能力を低下させる虞がある。
【００１１】
ジャーナルファイルの処理に係るＩ／Ｏ負荷を軽減させるために、例えば、所定のＤＢグループ（ＤＢ群）単位にジャーナルファイルを分散し、分散したそれぞれのジャーナルファイルを並行して副計算機に転送し、レプリカＤＢに反映する形態が考えられる。しかしながら、ジャーナルファイルを分散させた場合、並行して転送されたジャーナルファイルの副計算機への到達するタイミングは、ジャーナルファイルの転送間隔、データサイズ、通信回線の状態等に左右される。このため、転送されたジャーナルファイル毎に、レプリカＤＢに対してジャーナルを反映させた場合、トランザクションで保証されるＤＢ間の整合性に不整合が生じてしまうといった問題がある。
【００１２】
１つの側面では、本発明は、複数の記憶装置に対する更新差分データを、複数の更新処理データに分散する場合でも、更新処理の結果が反映される複数の記憶装置間のデータの整合性を確保する技術の提供を目的とする。
【課題を解決するための手段】
【００１３】
上記技術は、次の情報処理システムの構成によって例示される。すなわち、複数の記憶装置を有する第１の情報処理装置と、複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する第２の情報処理装置と、を備える情報処理システムである。そして、第１の情報処理装置は、１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、更新処理の識別情報と更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手段と、制御情報が付加された更新処理データを第２の情報処理装置に転送する手段と、を有する。そして、第２の情報処理装置は、第１の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを第１の情報処理装置の１以上の記憶装置に対応する第２の情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手段と、１以上の反映手段のうちの、第１の反映手段が更新処理データ中の先頭の更新差分データを第２の情報処理装置の対応する記憶装置に反映するときに、記憶装置の一覧が示す第１の情報処理装置の更新処理で更新された記憶装置に対応する第２の情報処理装置の記憶装置に排他を設定する排他設定手段と、１以上の反映手段のうちの、第２の反映手段が更新処理データ中の最後の更新差分データを前記第２の情報処理の対応する記憶装置に反映するときに、記憶装置の一覧が示す第１の情報処理装置の更新処理で更新された記憶装置に対応する第２の情報処理装置の記憶装置の排他を解除する排他解除手段と、を有する。
【発明の効果】
【００１４】
上記の情報処理システムによれば、複数の記憶装置に対する更新差分データを、複数の更新処理データに分散する場合でも、更新処理の結果が反映される複数の記憶装置間のデータの整合性を確保する技術が提供できる。
【図面の簡単な説明】
【００１５】
【図１】情報処理システムの比較例を示す図である。
【図２】情報処理システムの比較例を示す図である。
【図３】本実施形態の情報処理システムの一実施例を示す図である。
【図４】情報処理装置のハードウェアの構成を例示する図である。
【図５Ａ】制御情報が付加されたジャーナル例を示す図である。
【図５Ｂ】制御情報が付加されたジャーナル例を示す図である。
【図５Ｃ】反映状況管理ファイルに格納される管理テーブル例を示す図である。
【図５Ｄ】反映状況管理ファイルに格納される管理テーブル例を示す図である。
【図５Ｅ】反映状況管理ファイルに格納される管理テーブル例を示す図である。
【図６】ケース１のレプリカＤＢ間のトランザクションの不整合を説明する図である。
【図７】本実施形態におけるレプリカＤＢ間のトランザクションの整合性を説明する図である。
【図８】ケース２のレプリカＤＢ間のトランザクションの不整合を説明する図である。
【図９】本実施形態におけるレプリカＤＢ間の、トランザクションの終了順序についての整合性を説明する図である。
【図１０Ａ】情報処理システムの処理を例示するフローチャートである。
【図１０Ｂ】情報処理システムの処理を例示するフローチャートである。
【図１１】Ｓ３の詳細な処理を例示するフローチャートである。
【図１２】Ｓ４の詳細な処理を例示するフローチャートである。
【図１３】Ｓ５１の詳細な処理を例示するフローチャートである。
【図１４】Ｓ５２の詳細な処理を例示するフローチャートである。
【図１５】Ｓ５３の詳細な処理を例示するフローチャートである。
【図１６】Ｓ５４の詳細な処理を例示するフローチャートである。
【図１７】本実施形態の排他処理を説明するタイムチャートである。
【図１８】本実施形態の排他処理を説明するタイムチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、一実施形態に係る情報処理システムについて説明する。以下の実施形態の構成は例示であり、情報処理システムは実施形態の構成には限定されない。
【００１７】
以下、図１から図１８の図面に基づいて、情報処理システムを説明する。なお、以下の説明では、データベース（Data Base）を“ＤＢ”と称し、複製されたデータベースを“
レプリカＤＢ”と称する。レプリカＤＢには、複数のＤＢが含まれる。また、ＤＢ更新時の更新差分データを“ジャーナル”と称し、更新差分データを取得してファイル化したものを“ジャーナルファイル”と称する。ジャーナルファイルには複数のジャーナルが含まれる。
【００１８】
＜比較例１＞
先ず、比較例１に係る図１、２の図面に基づいて、複製された複数のＤＢ間の整合性について説明する。比較例１に係る情報処理システムは、複数のＤＢを利用する主計算機とレプリカＤＢを利用する副計算機とを含む計算機システムであり、主計算機は１つのトランザクション（transaction）で複数のＤＢを更新する。図１は、ＤＢ更新時のジャーナ
ルを１つのジャーナルファイルに纏めて取得し、レプリカＤＢに反映する形態の例示である。図２は、ＤＢ更新時のジャーナルを複数のジャーナルファイルに分散して取得し、レプリカＤＢに反映する形態の例示である。
【００１９】
図１の計算機システム１００ａにおいて、黒丸の記号はＤＢ１０２ａ（図中ではＤＢ１）のジャーナルＡを表し、白丸の記号はＤＢ１０３ａ（図中ではＤＢ２）のジャーナルＢを表している。各ＤＢのジャーナルは、１つのトランザクションにより更新される。主計算機１０１ａは、それぞれのジャーナルを１つのジャーナルファイル１０４ａに纏めて取得し、副計算機１０１ｂに転送する。なお、主計算機１０１ａと副計算機１０１ｂとの間のデータ転送手段は、取得したジャーナルファイルの転送が可能であれば、転送手段に限定されない。例えば、データ転送手段として、取得した更新差分データをファイル単位に
一括して転送するファイル転送手段、更新差分データを逐次に転送するメッセージキュー手段等が例示できる。また、データ転送手段は、主計算機１０１ａと副計算機１０１ｂ間のファイルの同値性を保証するミラーリングディスク手段であってもよい。
【００２０】
副計算機１０１ｂでは、転送されたジャーナルファイル１０４ｂの個別のジャーナルを、主計算機と同じように１つのトランザクションとしてまとめてレプリカＤＢに反映することで、レプリカＤＢに含まれる複数のＤＢ間の整合性が保証される。つまり、ＤＢ１０２ａに対応するレプリカＤＢ１０２ｂでは黒丸の記号で示されるジャーナルＡが、ＤＢ１０３ａに対応するレプリカＤＢ１０３ｂでは白丸の記号で示されるジャーナルＢが、１つのトランザクションにより更新される。このため、レプリカＤＢでは、トランザクション完了後のレプリカＤＢ間のデータには不整合は生じない。
【００２１】
図２の計算機システム１００ｂにおいて、主計算機１０１ａはＤＢ更新時のジャーナルをＤＢ単位のジャーナルファイル１０５ａ（図中ではジャーナルファイル１とも記載）、ジャーナルファイル１０６ａ（図中ではジャーナルファイル２とも記載）に分散して取得する。ＤＢ１０２ａ（図中ではＤＢ１）の黒丸の記号で示されるジャーナルＡはジャーナルファイル１０５ａに、ＤＢ１０３ａ（図中ではＤＢ２）の白丸の記号で示されるジャーナルＢはジャーナルファイル１０６ａに、それぞれ分散して取得される。なお、主計算機１０１ａでは、図１に例示の計算機システム１００ａと同様に、各ＤＢのジャーナルは１つのトランザクションで更新される。
【００２２】
主計算機１０１ａで取得されたＤＢ単位の各ジャーナルファイルは、それぞれにデータ転送手段を介して副計算機１０１ｂに転送される。図２の副計算機１０１ｂのジャーナルファイル１０５ｂ（図中ではジャーナルファイル１とも記載）、ジャーナルファイル１０６ｂ（図中ではジャーナルファイル２とも記載）は、ある時点での、各ジャーナルファイルの到達状態を示している。
【００２３】
図２において、主計算機１０１ａから転送されたジャーナルファイル１０５ａは副計算機１０１ｂに到達しているので、ジャーナルファイル１０５ｂにはＤＢ１０２ａの黒丸の記号で示されるジャーナルＡが含まれている。一方、主計算機１０１ａから転送されたジャーナルファイル１０６ａは、図示の状態では副計算機１０１ｂに未到達のため、ジャーナルファイル１０６ｂにはＤＢ１０３ａの白丸の記号で示されるジャーナルＢは含まれていない。
【００２４】
このように、ジャーナルファイルを複数に分散して転送させた場合、副計算機１０１ｂに到達したジャーナルファイル間には、ジャーナルファイルの転送間隔、データサイズ、通信回線の状態等により、時間的な差を生じてしまう。その結果、副計算機１０１ｂに転送されたジャーナルファイルの間には、副計算機１０１ｂに到達順位が発生することとなる。
【００２５】
副計算機１０１ｂにおいて、分散されて転送された各ジャーナルファイルは、それぞれに対応するレプリカＤＢを対象として、並行して更新処理が実行される。つまり、副計算機１０１ｂでは、ジャーナルファイル間に到達順位が発生した状態で、レプリカＤＢが更新されることとなる。図２の例では、ＤＢ１０２ａに対応するレプリカＤＢ１０２ｂにはジャーナルファイル１０５ｂの黒丸の記号で示されるジャーナルＡは反映される。しかし、ＤＢ１０３ａに対応するレプリカＤＢ１０３ｂにはジャーナルファイル１０６ｂは未到達のため、白丸の記号で示されるジャーナルＢを反映することはできない。
【００２６】
このように、到達順位が発生した状態でレプリカＤＢの更新が行われると、一方のＤＢにはジャーナルは反映され、他方のＤＢにはジャーナルは未だ反映されないといった、レ
プリカＤＢ間の不整合を生じてしまうこととなる。図２の例では、ジャーナルファイル１０５ａの後にジャーナルファイル１０６ａが到達するケースであるが、ジャーナルファイル１０６ａの後にジャーナルファイル１０５ａが到達するケースも生じ得る。
【００２７】
図２の、レプリカＤＢ間に不整合が生じた状態では、例えば、副計算機１０１ｂの参照業務は実行できず、参照業務の動作を実行するにはＤＢ１０３ａに対応するレプリカＤＢ１０３ｂへの白丸の記号で示されるジャーナルＢの更新完了を待つことになる。副計算機１０１ｂでは、レプリカＤＢへの分散されたジャーナルの反映が全て完了する迄の期間は、参照業務を動作させることができず、副計算機１０１ｂを有効に活用することができない。このため、図２に例示の計算機システム１００ｂでは、ジャーナルファイルを分散し、ジャーナルファイルの処理に係るＩ／Ｏ負荷を軽減させたのにも拘らず、副計算機側の業務レスポンスの低下を招いてしまうという問題があった。
【００２８】
次の実施例１で説明する、本実施形態の情報処理システムは、複数のＤＢに係る更新差分データを複数のジャーナルファイルに分散して取得し、それぞれを副計算機に転送し、副計算機にて並行してレプリカＤＢに反映する場合であっても、レプリカＤＢ間の整合性を保証する。
【００２９】
＜実施例１＞
図３に、本実施形態の情報処理システムを例示する。本実施例１で説明する、本実施形態の情報処理システムは、図２に例示の比較例１と同様に、複数のＤＢを利用する主計算機とレプリカＤＢを利用する副計算機とを含む計算機システムとして説明する。
【００３０】
〔システム説明〕
図３に例示の計算機システム１０は、ＤＢ１２（図中ではＤＢ１），ＤＢ１３（図中ではＤＢ２）を備える主計算機１１と、ＤＢ２２（図中ではＤＢ１），ＤＢ２３（図中ではＤＢ２）を備える副計算機２１とを含む情報処理システムの一例である。なお、図３においては、主計算機１１のＤＢ１２、ＤＢ１３は、“ＤＢ１”及び“ＤＢ２”と表記され、副計算機２１のＤＢ２２，ＤＢ２３は、“ＤＢ１”及び“ＤＢ２”として表記される。
【００３１】
主計算機１１が複数の記憶装置を有する第１の情報処理装置の一例であり、副計算機２１が複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する第２の情報処理装置の一例である。
【００３２】
主計算機１１と副計算機２１とは、図示しない接続手段により接続される。なお、接続手段には、インターネット等の公衆ネットワーク、携帯電話網等の無線ネットワーク、ＬＡＮ（Local Area Network）等が含まれる。
【００３３】
図３に例示の計算機システム１０において、ＤＢ１２、ＤＢ１３は、業務中の主計算機１１が参照し、或いは管理するデータの格納先として利用するデータベースである。また、ＤＢ２２、ＤＢ２３は、業務中の副計算機２１が参照し、或いは管理するデータの格納先として利用するデータベースである。各ＤＢは、ソリッドステートドライブ装置、ハードディスクドライブ装置等の外部記憶装置を含む。
【００３４】
図３に例示の計算機システム１０において、副計算機２１の備えるＤＢ２２は、主計算機２１のＤＢ１２のレプリカＤＢであり、同様に、ＤＢ２３はＤＢ１３のレプリカＤＢである。なお、主計算機１１の備えるＤＢ１２，ＤＢ１３、及び、副計算機の備えるＤＢ２１，ＤＢ２２は、例えば、さらに複数のＤＢ群を含むとしてもよい。
【００３５】
図３に例示の主計算機１１は、１つのトランザクションで複数のＤＢを更新する。ＤＢ
１２，ＤＢ１３間の更新に係る整合性は、主計算機１１で実行されるトランザクションで保証される。主計算機１１は、ＤＢ更新時の更新差分データであるジャーナルをＤＢ単位で分散して取得する。つまり、ＤＢ１２の更新差分データは、１つのジャーナルファイル１６（図中ではジャーナルファイル１とも記載）に累積して取得され、ＤＢ１３の更新差分データは、１つのジャーナルファイル１７（図中ではジャーナルファイル２とも記載）に累積して取得される。
【００３６】
主計算機１１により分散されて取得されたそれぞれのジャーナルファイルは、所定のデータ転送手段を介して、並行して副計算機２１に転送される。副計算機２１に転送されたジャーナルファイル１６はＤＢ１２のレプリカＤＢであるＤＢ２２に反映され、ジャーナルファイル１７はＤＢ１３のレプリカＤＢであるＤＢ２３に反映される。なお、副計算機２１におけるジャーナルの反映は、並行して実行される。
【００３７】
なお、主計算機１１と副計算機２１との間のデータ転送手段は、取得したジャーナルファイルの転送が可能であれば、転送手段に限定されない。データ転送手段として、例えば、取得した更新差分データをファイル単位に一括して転送するファイル転送手段、更新差分データを逐次に転送するメッセージキュー手段等が例示できる。また、データ転送手段は、主計算機１１と副計算機２１間のファイルの同値性を保証するミラーリングディスク手段であってもよい。
【００３８】
主計算機１１，副計算機２１は、例えば、図４に例示の、コンピュータとしての情報処理装置９０によって実現される。図４は、情報処理装置９０のハードウェアの構成の例示である。図例の情報処理装置９０は、接続バスＢ１によって相互に接続されたＣＰＵ（Central Processing Unit）９１、主記憶部９２、補助記憶部９３、通信部９４を有する。
【００３９】
情報処理装置９０は、ＣＰＵ９１が補助記憶部９３に記憶されたプログラムを主記憶部９２の作業領域に実行可能に展開し、プログラムの実行を通じて周辺機器の制御を行う。これにより、情報処理装置９０は、所定の目的に合致した機能手段を実現することができる。主記憶部９２及び補助記憶部９３は、コンピュータである情報処理装置９０が読み取り可能な記録媒体である。
【００４０】
ＣＰＵ９１は、情報処理装置９０全体の制御を行う中央処理演算装置である。ＣＰＵ９１は、補助記憶部９３に格納されたプログラムに従って処理を行う。主記憶部９２は、ＣＰＵ９１がプログラムやデータをキャッシュしたり、作業領域を展開したりする記憶媒体である。主記憶部９２は、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。
【００４１】
補助記憶部９３は、各種のプログラム及び各種のデータを読み書き自在に記録媒体に格納する。補助記憶部９３は外部記憶装置とも呼ばれる。補助記憶部９３には、オペレーティングシステム（Operating System :ＯＳ）、各種プログラム、各種テーブル等が格納される。ＯＳは、通信部９４を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、ネットワーク等で接続された、他の情報処理装置、外部記憶装置が含まれる。なお、補助記憶部９３は、例えば、ネットワーク上のコンピュータ群であるクラウドの一部であってもよい。
【００４２】
通信部９４は、例えば、ネットワーク等とのインターフェースである。主計算機１１と副計算機１２との間のジャーナルファイルの送受は通信部９４を介してインターフェースされる。
【００４３】
補助記憶部９３は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、ソリッドス
テートドライブ装置、ハードディスクドライブ（ＨＤＤ、Hard Disc Drive）装置等であ
る。また、補助記憶部９３としては、例えば、ＣＤドライブ装置、ＤＶＤドライブ装置、ＢＤドライブ装置等が提示できる。記録媒体としては、例えば、不揮発性半導体メモリ（フラッシュメモリ）を含むシリコンディスク、ハードディスク、ＣＤ、ＤＶＤ、ＢＤ、ＵＳＢ（Universal Serial Bus）メモリ等がある。
【００４４】
図３に例示の情報処理装置９０は、例えば、ユーザ等からの操作指示等を受け付ける入力部を備えるものとしてもよい。このような、入力部として、キーボード、ポインティングデバイス等といった入力デバイスを例示できる。また、情報処理装置９０は、ＣＰＵ９１で処理されるデータや主記憶部９２に記憶されるデータを出力する出力部を備えるものとしてもよい。このような、出力部として、ＣＲＴ（Cathode Ray Tube）ディスプレイ、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、ＥＬ（Electroluminescence）パネル、有機ＥＬパネル、プリンタといった出力デバイスを例示できる。
【００４５】
主計算機１１としての情報処理装置９０は、ＣＰＵ９１が補助記憶部９３に記憶されているＯＳ、各種プログラムや各種データを主記憶部９２に読み出して実行することにより、対象プログラムの実行と共に、図３に例示のジャーナル取得装置１４を実現する。
【００４６】
また、主計算機１１としての情報処理装置９０は、ジャーナル取得装置１４が参照し、或いは管理するデータの格納先として、トラン順序番号管理ファイル１５を有する。トラン順序番号管理ファイル１５は、例えば、補助記憶部９３に含まれる。
【００４７】
副計算機２１としての情報処理装置９０は、ＣＰＵ９１が補助記憶部９３に記憶されているＯＳ、各種プログラムや各種データを主記憶部９２に読み出して実行することにより、対象プログラムの実行と共に、図３に例示の反映装置２４、排他装置２５を実現する。
【００４８】
また、副計算機１１としての情報処理装置９０は、排他装置２５が参照し、或いは管理するデータの格納先として、反映状況管理ファイル２６を有する。反映状況管理ファイル２６は、例えば、補助記憶部９３に含まれる。
【００４９】
（主計算機）
ジャーナル取得装置１４は、１つのトランザクションで更新される各ＤＢのジャーナルを取得する。ジャーナル取得装置１４は、各ＤＢのジャーナルに、（１）トランザクション順序番号、（２）更新ＤＢ名一覧、（３）トランザクション分散数といった制御情報を付加し、各ＤＢのジャーナルを取得する。ジャーナル取得装置１４により付加された制御情報は、例えば、各ジャーナルの先頭部に挿入される。
【００５０】
ジャーナル取得装置１４が付与する、（１）トランザクション順序番号は、トランザクションの終了順に割り当てる番号情報である。また、（２）更新ＤＢ名一覧は、トランザクションで更新されたＤＢ名の一覧情報である。ここで、ＤＢ名はＤＢを一意に特定する識別情報であり、例えば、主計算機１１により付与される。（３）トランザクション分散数は、１つのトランザクションで更新された各ＤＢのジャーナルの分散数を示す情報である。なお、ジャーナル取得装置１４で割り当てられたトランザクション順序番号は、トラン順序番号管理ファイル１５にて管理される。
【００５１】
図５Ａ、５Ｂに、所定の制御情報が付加されたジャーナルを例示する。図５Ａ，５Ｂのジャーナルは、図３に例示の“トラン３”で更新されたジャーナル例である。図５Ａは、ジャーナルファイル１６に累積されるＤＢ１２のジャーナル例であり、図５Ｂは、ジャーナルファイル１７に累積されるＤＢ１３のジャーナル例である。
【００５２】
図５Ａでは、トランザクション順序番号（図中ではトラン順序番号），更新ＤＢ名一覧，トランザクション分散数（図中ではトラン分割数）といった制御情報が、更新対象のＤＢから取得されたジャーナルの先頭部に挿入されている。なお、対象となるＤＢから取得されるジャーナルは、少なくとも更新ＤＢ名，データ更新に係る更新差分データを含む。図例では、“トラン順序番号”に“３”，“更新ＤＢ名一覧”に“ＤＢ１，ＤＢ２”，“トラン分割数”に“２”が例示されている。図５Ｂにおいても、図５Ａで説明した情報が同様に挿入されている。
【００５３】
図３の例では、主計算機１１の“トランＸ”が１つのトランザクションを表し、小黒点を結ぶ実線の長さが更新に係るトランザクションの相対的な期間を示している。図３に例示の主計算機１において、“トラン１”ではＤＢ１２を更新し、ＤＢ１２の更新に係るジャーナルＡは黒丸の記号で示されている。同様に、“トラン２”ではＤＢ１３を更新し、ＤＢ１３の更新に係るジャーナルＰは三角の記号で示されている。また、“トラン３”ではＤＢ１２，ＤＢ１３を更新し、ＤＢ１２の更新に係るジャーナルＢは黒い矩形の記号，ＤＢ１３の更新に係るジャーナルＱは白い矩形の記号で示されている。また、“トラン４”もＤＢ１２，ＤＢ１３を更新し、ＤＢ１２の更新に係るジャーナルＣは黒い星印の記号，ＤＢ１３の更新に係るジャーナルＲは白い星印の記号で示されている。図３の主計算機１１に例示のトランザクションは、“トラン１”，“トラン２”，“トラン３”，“トラン４”の順序で終了する。
【００５４】
本実施形態のジャーナル取得装置１４は、それぞれのトランザクションで更新されたジャーナル毎に、上述の（１）から（３）の制御情報を付加して取得する。例えば、“トラン１”で更新されたジャーナルには、制御情報として、トランザクション順序番号に“１”、更新ＤＢ名一覧に“ＤＢ１”、トランザクション分散数に“１”が付加される。また、例えば、“トラン３”で更新されたジャーナルには、制御情報として、トランザクション順序番号に“３”、更新ＤＢ名一覧に“ＤＢ１、ＤＢ２”、トランザクション分散数に“２”が付加される。
【００５５】
このように、本実施形態の主計算機１１では、ジャーナル取得装置１４により、所定の制御情報が付加され、ジャーナルが取得される。取得されたジャーナルは、ＤＢ単位のジャーナルファイルに纏められる。この結果、ジャーナルファイル１６には、トランザクションの終了順にＤＢ１２の更新に係るジャーナルが時系列順に並び、ジャーナルファイル１７には、トランザクションの終了順にＤＢ１３の更新に係るジャーナルが時系列順に並ぶこととなる。
【００５６】
（副計算機）
反映装置２４は、データ転送手段を介して転送された各ジャーナルファイルのジャーナルをレプリカＤＢに反映する。反映装置２４は、各ジャーナルファイルに纏められたジャーナル毎の制御情報を取得し、レプリカＤＢ間のジャーナル更新に係る所定の排他処理要求を排他装置に要求する。
【００５７】
排他装置２５は、更新時のジャーナルをレプリカＤＢに反映する際の、レプリカＤＢ全体での排他開始処理／排他解消処理を行う。また、排他装置２５は、複数のジャーナルファイルに分散されたトランザクションの実行順を保証する処理を行う。
【００５８】
なお、レプリカＤＢ全体に対するジャーナルの反映状況は、反映状況管理ファイル２６で管理される。また、本実施形態の反映装置２４，排他装置２５によって実行されるＤＢ２２及びＤＢ２３へのジャーナル反映処理は並行して実行される。
【００５９】
図３の例では、副計算機２１の“トランＸ（Ｘは１，２，３，４）”がレプリカＤＢに
反映する１つのトランザクションを表し、小黒点を結ぶ実線の長さが更新に係るトランザクションの相対的な期間を示している。なお、図例で“反映１”は、ジャーナルファイル１６に纏められたＤＢ１２のジャーナルを反映する処理を表し、“反映２”は、ジャーナルファイル１７に纏められたＤＢ１３のジャーナルを反映する処理を表している。ジャーナルファイル１６に纏められたＤＢ１２のジャーナルを反映する処理は、ＤＢ１２のレプリカＤＢであるＤＢ２２を対象として実行される。また、ジャーナルファイル１７に纏められたＤＢ１３のジャーナルを反映する処理は、ＤＢ１３のレプリカＤＢであるＤＢ２３を対象として実行される。
【００６０】
本実施形態の副計算機２１は、反映装置２４，排他装置２５により、主計算機１１で実行されたトランザクションとの整合性を保証するよう、機能する。本実施形態の副計算機２１では、反映装置２４，排他装置２５により、比較例１の図２に例示する形態で発生する、レプリカＤＢ間のトランザクションの不整合を解消する。
【００６１】
なお、比較例１の図２に例示する形態で発生する、レプリカＤＢ間のトランザクションの不整合には、次の２つのケースが想定される。１つ目のケースは、主計算機１１から副計算機２１に転送された各ジャーナルファイルに含まれるジャーナルの出現順とレプリカＤＢへの更新反映順が同じ場合に生ずる不整合である。２つ目のケースは、主計算機１１から副計算機２１に転送された各ジャーナルファイルに含まれるジャーナルの出現順とレプリカＤＢへの更新反映順が異なる場合に生ずる不整合である。以下、ケース１、ケース２のそれぞれに応じて、本実施形態の副計算機２１の機能を説明する。
【００６２】
（ケース１）
図６に、比較例１の図２に例示する形態で発生する、レプリカＤＢ間のトランザクションの不整合を説明する図を例示する。図６は、主計算機１１から副計算機２１に転送された各ジャーナルファイルに含まれるジャーナルの出現順とレプリカＤＢへの更新反映順が同じ場合に生ずるレプリカＤＢ間のトランザクションの不整合のケースを例示する。図６中の、主計算機１１の“トランＸ”と各ＤＢにおけるジャーナルの関係は、図３の主計算機１１で説明した通りである。また、図６中の、副計算機２１の“反映Ｘ”と“ジャーナルファイルＸ”との関係は、図３の副計算機２１で説明した通りである。なお、以下の説明において図７から９についても上述の図６の関係と同様である。
【００６３】
図６に例示の主計算機１１の“トラン３”では、１つのトランザクションでＤＢ１２及びＤＢ１３が更新される。主計算機１１の“トラン３”で更新された各ＤＢのジャーナルは、ＤＢ単位のジャーナルファイルに分散されて副計算機２１に転送される。副計算機２１では、ＤＢ単位で分散されたジャーナルファイルを並行してレプリカＤＢに反映する。しかし、比較例１の図２に例示する形態では、分散されたジャーナルファイル毎に更新処理が行われるため、“反映１”で更新される黒の矩形の記号で示されるジャーナルＢ、及び“反映２”で更新される白の矩形の記号で示されるジャーナルＱが揃って更新される保証はない。
【００６４】
例えば、図６に示すように、“反映１”で“トラン３”の反映が終了し、レプリカＤＢであるＤＢ２２へのジャーナルＢが更新されたとしても、“反映２”の“トラン３”は終了せず、ＤＢ２３へのジャーナルＱが反映されていない状態が生じ得る。このように、比較例１の図２に例示する形態では、副計算機２１は、“反映１”の“トラン３”の終了契機でレプリカＤＢを参照できる。このため、副計算機２１が参照するデータは、ＤＢ２２では“トラン３”を反映したデータ、ＤＢ２３では“トラン２”を反映したデータを参照することとなる。例えば、ＤＢ２２が「販売ＤＢ」，ＤＢ２３が「在庫ＤＢ」の場合、「販売ＤＢ」の販売数は増えているが「在庫ＤＢ」の在庫数は減っていないというレプリカＤＢ間の不整合を生じてしまう。
【００６５】
本実施形態の計算機システム１０の副計算機２１では、反映装置２４，排他装置２５により、並行して実行されるレプリカＤＢ間のジャーナル更新に係るトランザクションの整合性を保証する。本実施形態の副計算機２１では、各ジャーナルに付加された制御情報に基づいて複数のジャーナルファイルに分散されたトランザクションについて、レプリカＤＢ間の整合性を保証する。
【００６６】
図７は、本実施形態の副計算機２１におけるトランザクションのレプリカＤＢ間の整合性を説明する図である。主計算機１１のＤＢ１２のジャーナルファイル１６には、トランザクションの終了順に、各トランザクションで更新されたジャーナルが時系列順に並んでいる。図７のジャーナルファイル１６では、“トラン１”のジャーナルＡ，“トラン３”のジャーナルＢ，“トラン４”のジャーナルＣが並ぶ。同様に、副計算機１２のＤＢ１３のジャーナルファイル１７には、“トラン２”のジャーナルＰ，“トラン３”のジャーナルＱ，“トラン４”のジャーナルＲが、トランザクションの終了順に並ぶ。
【００６７】
図７の“反映１”に示すように、ジャーナルファイル１６の各ジャーナルは、副計算機２１で実行されるトランザクションの排他制御の機能により、ジャーナルＡ、ジャーナルＢ、ジャーナルＣの順に更新されることとなる。同一のＤＢを利用するトランザクションは、２つのトランザクション間で対象となるＤＢが競合するため、トランザクションの排他制御により、後行の処理は先行の処理の終了待ち（排他待ち）となるためである。つまり、図７の“反映１”では、“トラン３”は“トラン１”の終了待ちとなり、“トラン４”は“トラン２”の終了待ちとなる。この結果、副計算機２１での“反映１”の更新処理では、ジャーナルファイル１６に纏められたジャーナル順が保証される。同様に、図７の“反映２”に示すように、ジャーナルファイル１７の各ジャーナルは、副計算機２１で実行されるトランザクションの排他制御の機能により、ジャーナルＰ、ジャーナルＱ、ジャーナルＲの順に更新される。
【００６８】
本実施形態の副計算機２１では、複数のレプリカＤＢを対象とする更新反映のトランザクションでは、レプリカＤＢ間の排他制御を実行する。具体的には、図７の“トラン３”では、先行する“反映１”のトランザクションの開始で更新対象のＤＢ２２，２３を排他し、後行の“反映２”のトランザクションの終了で排他した更新対象のＤＢ２２，２３の排他を解消する。このようなレプリカＤＢ間の排他制御を行うことにより、図７中に示す“排他区間”経過後にレプリカＤＢが参照されることとなり、図６で説明したレプリカＤＢ間の不整合は回避される。つまり、本実施形態の副計算機２１の参照するＤＢ２２ではジャーナルＢが，ＤＢ２３ではジャーナルＱが反映されているため、複数のジャーナルファイルに分散されたトランザクションの整合性は保証される。
【００６９】
（ケース２）
図８に、比較例１の図２に例示する形態で発生する、レプリカＤＢ間のトランザクションの不整合を説明する図を例示する。図８は、主計算機１１から副計算機２１に転送された各ジャーナルファイルに含まれるジャーナルの出現順とレプリカＤＢへの更新反映順が異なる場合に生ずるレプリカＤＢ間のトランザクションの不整合のケースを例示する。
【００７０】
図８に例示の主計算機１１の、“トラン１”と“トラン２”との関係では、“トラン１”の更新後に“トラン２”が更新される。“トラン１”で更新されたＤＢ１２のジャーナルはジャーナルファイル１６、“トラン２”で更新されたＤＢ１３のジャーナルはジャーナルファイル１７に分散されて副計算機２１に転送される。副計算機２１に分散して転送されたジャーナルファイル１６，１７は、並行してレプリカＤＢに反映される。
【００７１】
しかし、比較例１の図２に例示する形態では、分散されたジャーナルファイル毎に更新
処理が行われるため、“反映１”のジャーナルＡの更新後に“反映２”のジャーナルＰが更新される保証はない。例えば、図８に示すように、“反映２”で“トラン２”の更新が終了し、レプリカＤＢであるＤＢ２３へジャーナルＰが反映された後に、“反映１”で“トラン１”の更新が終了し、レプリカＤＢであるＤＢ２２へのジャーナルＡが反映される状態も生じ得る。
【００７２】
比較例１の図２に例示する形態では、副計算機２１は、“反映２”の“トラン２”の終了契機でレプリカＤＢを参照できる。このため、副計算機２１が参照するデータは、ＤＢ２２では反映されたデータがない“反映データなし”の状態、ＤＢ２３では“トラン２”を反映したデータを参照することとなる。例えば、「商品ＤＢ」と「在庫ＤＢ」を想定すると、“トラン１”で「在庫ＤＢ」の在庫数を「０」にし、「商品ＤＢ」の該当商品を削除した場合、商品は削除されているにも関わらず、在庫が存在するという状態となる。副計算機２１が参照するレプリカＤＢ間には不整合が生じてしまう。
【００７３】
本実施形態の副計算機２１では、各ジャーナルに付加された制御情報に基づいて複数のジャーナルファイルに分散されたトランザクションの終了順序について、レプリカＤＢ間での整合性を保証する。
【００７４】
図９は、本実施形態の副計算機２１における、トランザクションの終了順序についてのレプリカＤＢ間での整合性を説明する図である。図９のジャーナルファイル１６では、“トラン１”のジャーナルＡ，“トラン３”のジャーナルＢ，“トラン４”のジャーナルＣが並ぶ。同様に、ＤＢ１３のジャーナルファイル１７には、“トラン２”のジャーナルＰ，“トラン３”のジャーナルＱ，“トラン４”のジャーナルＲが、トランザクションの終了順に並ぶ。
【００７５】
図９の“反映１”では、ジャーナルファイル１６の各ジャーナルは、副計算機２１で実行されるトランザクションの排他制御の機能により、ジャーナルＡ、ジャーナルＢ、ジャーナルＣの順に更新される。同様に、図９の“反映２”では、ジャーナルファイル１７の各ジャーナルは、副計算機２１で実行されるトランザクションの排他制御の機能により、ジャーナルＰ、ジャーナルＱ、ジャーナルＲの順に更新される。
【００７６】
本実施形態の副計算機２１では、主計算機１１のトランザクションの終了順序と同じ順序で、ジャーナルファイルに分散されたトランザクションを反映させる。図９に例示する、“反映１”の“トラン１”と“反映２”の“トラン２”との関係では、“トラン２”の更新処理が先行する。本実施形態の副計算機２１では、更新処理が先行する“トラン２”では、トランザクションの終了順序が早い“反映１”の“トラン１”の更新処理に係るトランザクションの終了待ちを行う。つまり、レプリカＤＢ間で更新処理が先行する“トラン２”では、“トラン１”のジャーナル反映の終了後に“トラン２”のジャーナル反映を終了させる。
【００７７】
このように、副計算機２１は、レプリカＤＢ間において、更新反映に係るトランザクションの終了順番待ち制御を行うことにより、レプリカＤＢ間の整合性を保証できる。本実施形態の副計算機２１では、“反映２”の“トラン２”の終了契機でレプリカＤＢ参照しても、図８で説明したレプリカＤＢ間の不整合が生ずることはない。副計算機２１の、“反映２”の“トラン２”の終了契機で参照するＤＢ２２にはジャーナルＡが，ＤＢ２３にはジャーナルＰが反映される。本実施形態の副計算機２１では、複数のジャーナルファイルに分散されたトランザクションの終了順序について、レプリカＤＢ間での整合性を保証できる。
【００７８】
なお、上述したケース２において、図９に例示する主計算機１１の“トラン２”を１つ
のトランザクションによりＤＢ１２，ＤＢ１３を更新するとした場合、副計算機２１の更新反映のトランザクションではデッドロックが生じる虞がある。
【００７９】
主計算機１１の“トラン２”で、ＤＢ１２，ＤＢ１３を更新する場合、ジャーナルファイル１７のジャーナル順には変更はない。しかし、ジャーナルファイル１６には“トラン１”，“トラン２”，“トラン３”，“トラン４”の順でＤＢ１２に対するジャーナルが並ぶこととなる。従って、図９のように“反映２”で“トラン２”が先行する場合、“トラン２”は複数のレプリカＤＢを更新対象とするため、ＤＢ間の排他制御を実行する。つまり、“反映２”の“トラン２”の開始で、“反映１”の“トラン２”の更新対象となるＤＢ２２は排他されることとなる。
【００８０】
“反映２”の“トラン２”の開始で排他されたＤＢ２２では、“反映１”の“トラン１”が、“反映２”または“反映１”による“トラン２”の排他解消待ちの状態となる。一方、“反映２”の“トラン２”では、トンザクションの終了順序が早い“反映１”の“トラン１”の、トランザクション終了を待つ状態となるため、デッドロック状態が生じる虞がある。
【００８１】
本実施形態の副計算機２１では、先行して実行される更新反映のトランザクションが複数のレプリカＤＢを対象とし、且つ、他のトランザクションの終了待ちを行う場合であっても、デッドロックを防止するよう機能する。
【００８２】
具体的には、本実施形態の副計算機２１は、レプリカＤＢ間で先行する“反映２”の“トラン２”の終了の際に、“反映１”の排他解消待ちの有無を確認する。そして、副計算機２１は、“反映１”の排他解消待ちのトランザクションが、主計算機１１での終了順序が早いトランザクションの場合、“反映２”の“トラン２”に係るトランザクションをキャンセルし、ロールバックさせる。本実施形態の副計算機２１は、“反映２”の“トラン２”に係るトランザクションのロールバックと共に、“反映１”の排他解消待ちを解消でき、“反映１”の“トラン１”の処理動作を開始できる。このように、本実施形態の副計算機２１は、レプリカＤＢ間で生じるデッドロックを防止できる。
【００８３】
〔処理フロー〕
（計算機システム）
以下、図１０から図１８を参照し、本実施形態の計算機システム１０の処理を説明する。図１０Ａ、図１０Ｂは、計算機システム１０の処理のフローチャートの例示である。図１０Ａに例示の処理は、計算機システム１０の主計算機１１によって実行される。図１０Ｂに例示の処理は、計算機システム１０の副計算機２１によって実行される。主計算機１１は、例えば、主記憶部９２に実行可能に展開されたコンピュータプログラムにより、図１０Ａに例示の処理を実行する。同様に、副計算機２１は、例えば、主記憶部９２に展開されたコンピュータプログラムにより、図１０Ｂに例示の処理を実行する。
【００８４】
図１０Ａに例示のフローチャートにおいて、Ｓ１−Ｓ３の処理は、計算機システム１０の業務が終わるまでの間、繰り返して実行される。Ｓ１−Ｓ３の処理は、主計算機１１で実行される。
【００８５】
先ず、業務処理を実行する主計算機１１のアプリケーションは、業務中の副計算機２１が参照し、或いは管理するデータの格納先として利用するＤＢに更新が発生すると、データベースシステムに対して各ＤＢの更新を要求する（Ｓ１）。データベースシステムは、ＤＢ１２（図１０Ａのディスクマークの中では“ＤＢ１”），ＤＢ１３（図１０Ａのディスクマークの中では“ＤＢ２”）を含む。例えば、データベースシステムを管理するＤＢＭＳ（DataBase Management System）は、主計算機１１からの更新要求を受け付け、１つ
のトランザクションでＤＢを更新する。更新対象のＤＢが複数に存在する場合では、ＤＢＭＳは１つのトランザクションで、対象となる複数のＤＢを更新する。そして、ＤＢ更新に係るトランザクションの終了を契機として、ジャーナル取得装置１４に対して更新対象ＤＢの更新差分データ（ジャーナル）の取得を要求する（Ｓ２）。
【００８６】
Ｓ３では、ジャーナル取得装置１４は、所定の制御情報をジャーナルに付加し（Ｓ３３−Ｓ３５）、更新に係るジャーナルを取得する（Ｓ３６）。ジャーナルに付加される制御情報には、トランザクション順序番号，更新ＤＢ名一覧，トランザクション分割数が含まれる。なお、トランザクション順序番号は、トラン順序番号管理ファイル１５にて管理される（Ｓ３２）。Ｓ３の詳細な処理については図１１により後述する。
【００８７】
本実施形態のジャーナル取得装置１４は、取得したジャーナルをＤＢ単位のジャーナルファイルに分散して取得する。本実施形態では、ＤＢ１２のジャーナルはジャーナルファイル１６（図中ではジャーナルファイル１とも記載）に纏めて取得され、ＤＢ１３のジャーナルはジャーナルファイル１７（図中ではジャーナルファイル２とも記載）に累積して取得される。なお、ジャーナルファイルは、ＤＢがＤＢグループ（ＤＢ群）の場合では、ＤＢグループ単位でジャーナルを累積するとしてもよい。ジャーナル取得装置１４で、ＤＢ単位に分散されて累積されたジャーナルファイル１６，１７は、データ転送手段を介して副計算機２１に転送される。
【００８８】
図１０Ｂに例示のフローチャートにより、計算機システム１０の副計算機２１は、転送されたジャーナルファイルに基づいて、レプリカＤＢに対するジャーナルの反映処理を実行する。副計算機２１で実行される反映処理は、複数に分散されたジャーナルファイルに基づき、対象となるレプリカＤＢに対して並行して行われる。図１０Ｂに例示の処理は、例えば、主計算機１１から転送されたジャーナルファイルの到達を契機として実行される。
【００８９】
なお、図１０Ｂにおいて、ジャーナルファイルはＤＢ単位（或いは、ＤＢ群単位）に分散して転送されるため、反映装置２４で実行される反映処理をジャーナルファイル毎に対応付けて例示する。図１０Ｂの例では、反映装置２４で実行されるジャーナルファイル１６（図中ではジャーナルファイル１）の反映処理を“ジャーナルファイル１用”として表す。同様に、図１０Ｂの例では、反映装置２４で実行されるジャーナルファイル１７（図中ではジャーナルファイル２）の反映処理を“ジャーナルファイル２用”として表す。
【００９０】
図１０Ｂに例示するフローチャートでは、“ジャーナルファイル２用”で実行される反映処理は、“ジャーナルファイル１用”で実行される反映処理と同様である。従って、以下の説明では、反映装置２４で実行される反映処理を、“ジャーナルファイル１用”の処理例で説明するとし、適宜、“ジャーナルファイル２用”の処理を説明する。
【００９１】
図１０Ｂに例示のフローチャートにおいて、Ｓ４−Ｓ５の処理は、計算機システム１０の主計算機１１からジャーナルファイルが転送される間、繰り返して実行される。図１０Ｂに例示のフローチャートにおいて、Ｓ４の処理は反映装置２４で実行され、Ｓ５の処理は排他装置２５で実行される。
【００９２】
図１０Ｂに例示のＳ４１では、例えば、反映装置２４の“ジャーナルファイル１用”の反映処理は、分散されて転送されたジャーナルファイル１６の到達を契機としてジャーナルの読みを行う。反映装置２４の“ジャーナルファイル１用”の反映処理は、ジャーナルファイル１６から、主計算機１１のＤＢ１２を対象として処理されたジャーナルを取得する。ジャーナルファイル１６には、複数のジャーナルが、主計算機１１で実行された更新に係るトランザクションの終了順に累積されている。
【００９３】
同様に、Ｓ４１の、反映装置２４の“ジャーナルファイル２用”の反映処理では、分散されて転送されたジャーナルファイル１７の到達を契機としてジャーナルの読み込みを行う。反映装置２４の“ジャーナルファイル２用”の反映処理は、ジャーナルファイル１７から、主計算機１１のＤＢ１３を対象として処理されたジャーナルを取得する。ジャーナルファイル１７には、複数のジャーナルが、主計算機１１で実行された更新に係るトランザクションの終了順に累積されている。
【００９４】
なお、転送されたジャーナルファイルが複数の場合、反映装置２４の“ジャーナルファイル１用”の反映処理，ジャーナルファイル２用”の反映処理は並行して実行される。
【００９５】
次に、反映装置２４の“ジャーナルファイル１用”の反映処理は、Ｓ４１で読み込まれたジャーナルに基づいて、排他装置２５に対してトランザクション開始処理（図中ではトラン開始）を要求する（Ｓ４２）。そして、反映装置２４の“ジャーナルファイル１用”の反映処理は、対象となるレプリカＤＢへのジャーナル反映処理を行う（Ｓ４３）。次に、反映装置２４の“ジャーナルファイル１用”の反映処理は、ジャーナル反映処理の対象となるレプリカＤＢ間の整合性を確保するため、排他装置２５に対して所定の処理要求を実行する（Ｓ４４−Ｓ４６）。排他装置２５に対する所定の処理要求は、例えば、ジャーナル反映処理の対象となるレプリカＤＢのデッドロック検査処理（Ｓ４４），トランザクション終了順検査処理（Ｓ４５、図中ではトラン終了順検査）である。また、排他装置２５に対する所定の処理要求は、例えば、処理中のジャーナルに対するトランザクション終了処理（Ｓ４６、図中ではトラン終了）である。反映装置２４の詳細な処理については図１２により後述する。
【００９６】
図１０Ｂに例示のフローチャートにおいて、排他装置２５のＳ５の処理は、反映装置２４からの要求を契機として実行される。Ｓ５１では、排他装置２５は、反映装置２４のＳ４２の要求により、トランザクション開始処理（図中では、トラン開始）を実行する。トランザクション開始処理では、排他装置２５は、反映処理のトランザクションの開始に伴い、レプリカＤＢ間の整合性を保証するため、ジャーナルに付加された制御情報に基づいて、反映状況管理ファイル２６の格納値の初期設定を行う。また、排他装置２５は、複数のジャーナルファイルに分散されたトランザクションのレプリカＤＢ間の整合性を保証するため、各レプリカＤＢに対するジャーナル反映処理の排他制御を行う。Ｓ５１の排他制御では、例えば、反映状況管理ファイル２６に格納された管理テーブルの格納値に基づいて、反映処理の排他設定，排他解除が実行される。Ｓ５１のトランザクション開始処理の詳細については図１３により後述する。
【００９７】
図５Ｃ、５Ｄ、５Ｅに、反映状況管理ファイル２６に格納される管理テーブルを例示する。図５Ｃは、主計算機１１で実行されたＤＢ更新処理に係るトランザクションの終了順序を保証するための情報が格納される管理テーブル例である。図５Ｃに例示の管理テーブルは、「反映完了トラン順序番号」フィールドを含む。図５Ｃに例示の管理テーブルには、例えば、排他装置２５のＳ５４のトランザクション終了処理で反映処理が完了したトランザクションの順序番号が「反映完了トラン順序番号」に格納される。図５Ｃに格納されるトランザクションの順序番号は、反映処理中のジャーナルのトランザクション順序番号である。図５Ｃに例示の管理テーブルには、反映処理の完了毎に、対象となるジャーナルのトランザクション順序番号が「反映完了トラン順序番号」に格納される。
【００９８】
図５Ｄは、複数のジャーナルファイルに分散されたトランザクション間の排他を保持し続けるための情報が格納される管理テーブル例である。図５Ｄに例示の管理テーブルは、反映装置２４で実行される、ジャーナルファイルの反映処理毎のレコードを有する。図５Ｄに例示の管理テーブルは、「反映中トラン順序番号」，「トラン分割数」のフィールド
を有し、「トラン分割数」フィールドは「完了数」，「全体数」のフィールドを有する。「反映中トラン順序番号」フィールドには、現在反映中のトラン順序番号が格納される。「トラン分割数」の「全体数」フィールドには、複数のジャーナルファイルに分散されたトランザクションの分散数が格納される。「トラン分割数」の「完了数」フィールドには、複数のジャーナルファイルに分散されたトランザクションの中で、反映処理が完了した数値が格納される。
【００９９】
図５Ｅは、トランザクション間のデッドロックを回避するための情報と、排他処理で実行待ちとなったトランザクションの順番待ち状態を解消する情報が格納される管理テーブル例である。図５Ｅに例示の管理テーブルは、反映装置２４で実行される、ジャーナルファイルの反映処理毎のレコードを有する。図５Ｅに例示の管理テーブルは、「反映装置名」，「反映中トラン順序番号」，「ＤＢ使用中反映装置名」のフィールドを有する。「反映装置名」フィールドには、分散されたジャーナルファイル毎の反映装置名が格納される。図例では、「反映装置名」として、“ジャーナルファイル１用”、“ジャーナルファイル２用”が格納される。「反映中トラン順序番号」フィールドには、現在反映中のトラン順序番号が格納される。「ＤＢ使用中反映装置名」フィールドには、「反映装置名」に格納された反映装置の反映処理で対象となるＤＢを使用している反映装置名が格納される。つまり、排他待ちをしている反映装置名が格納される。
【０１００】
図１０Ｂに例示のフローチャートに戻り、Ｓ５２では、排他装置２５は、反映装置２４のＳ４４の要求により、デッドロック検査処理（図中では、デッドロック検査）を実行する。排他装置２５は、反映状況管理ファイル２６に格納された情報に基づいて、実行中の反映処理に係るトランザクションに関するデッドロック検査処理を実行する。Ｓ５２のデッドロック検査処理の詳細については図１４により後述する。
【０１０１】
Ｓ５３では、排他装置２５は、反映装置２４のＳ４５の要求により、トランザクション終了順検査処理（図中では、トラン終了順検査）を実行する。排他装置２５は、主計算機１１におけるトランザクション終了順序を保証するため、反映状況管理ファイル２６の格納された情報に基づいて、反映処理中のトランザクションの終了順序の検査処理を実行する。Ｓ５３のトランザクション終了順検査処理の詳細については図１５により後述する。
【０１０２】
Ｓ５４では、排他装置２５は、反映装置２４のＳ４６の要求により、トランザクション終了処理（図中では、トラン終了）を実行する。排他装置２５は、反映状況管理ファイル２６の格納された情報に基づいて、反映処理中のトランザクションの終了処理を実行する。Ｓ５４のトランザクション終了処置の詳細については図１６により後述する。
【０１０３】
（主計算機）
図１１に、ジャーナル取得装置１４（図１０ＡのＳ３）の詳細なフローチャートを例示する。図１１に例示のＳ３の処理は、例えば、トランザクションの終了毎に実行される。図１１に例示のフローチャートにおいて、主計算機１１のジャーナル取得装置１４は、１つのトランザクションで更新された更新差分データをＤＢ単位に分割して取得する（Ｓ３１）。ジャーナル取得装置１４は、例えば、取得したＤＢ毎のジャーナルを主計算機１１の主記憶部９２の所定の領域に一時的に格納し、Ｓ３２に移行する。
【０１０４】
例えば、Ｓ３１の処理により、図３の“トラン１”では、ＤＢ１２のトランザクションで更新されたジャーナルが取得される。また、図３の“トラン３”では、ＤＢ１２で更新されたジャーナルと、ＤＢ１３で更新されたジャーナルが取得される。
【０１０５】
Ｓ３２では、ジャーナル取得装置１４は、トラン順序番号管理ファイル１５に格納されたトランザクション順序番号（図中では、トラン順序番号）のカウントアップを実行する
。ジャーナル取得装置１４は、トラン順序番号管理ファイル１５に格納されたトランザクション順序番号の格納値を取得し、主記憶部９２の所定の領域に一時的に格納する。また、ジャーナル取得装置１４は、取得した格納値を“１”つインクリメントし、トラン順序番号管理ファイル１５に格納し、Ｓ３３に移行する。
【０１０６】
例えば、Ｓ３２の処理において、図３の“トラン１”では、ジャーナル取得装置１４は、トラン順序番号管理ファイル１５に格納されたトランザクション順序番号である“１”を取得し、主記憶部９２の所定の領域に一時的に格納する。そして、ジャーナル取得装置１４は、取得したトランザクション順序番号を“１”つインクリメントした“２”を、トラン順序番号管理ファイル１５に格納する。そして、次の“トラン２”では、“トラン１”でカウントアップされたトランザクション順序番号である“２”が読み込まれる。つまり、“トランＸ”のＳ３２でカウントアップされたトランザクション順序番号である“Ｘ＋１”が、次のトランザクションのＳ３２の処理で読み込まれることとなる。
【０１０７】
ここで、ジャーナル取得装置１４により付番されるトランザクション順序番号は更新処理の終了順を示す順序番号の一例である。
【０１０８】
Ｓ３３では、ジャーナル取得装置１４は、Ｓ３２で取得したトランザクション順序番号をＳ３１で取得したジャーナルに設定し、Ｓ３４に移行する。Ｓ３４では、ジャーナル取得装置１４は、Ｓ３１で取得したジャーナルから更新ＤＢ名を抽出して更新ＤＢ名一覧に付加し、付加した更新ＤＢ名一覧をＳ３１で取得したジャーナルに設定し、Ｓ３５に移行する。Ｓ３５では、ジャーナル取得装置１４は、ジャーナルファイルの分散数をＳ３１で取得したジャーナルに設定する。ジャーナルファイルの分散数は、トラン分割数としてＳ３１で取得したジャーナルに設定される。つまり、ジャーナル取得装置１４は、当該処理中のトランザクションが、幾つのジャーナルファイルに分散されて取得されるかを示す情報としてのトラン分割数を、Ｓ３１で取得したジャーナルに設定する。なお、Ｓ３３−Ｓ３５の処理は、並行して実行されてもよい。
【０１０９】
例えば、Ｓ３３−３５の処理により、図３の“トラン１”では、トランザクション順序番号として“１”，更新ＤＢ名一覧として“ＤＢ１”，ジャーナルファイルの分散数として“１”が、Ｓ３１で取得されたジャーナルに付加される。また、図３の“トラン３”では、トランザクション順序番号として“３”，更新ＤＢ名一覧として“ＤＢ１、ＤＢ２”，ジャーナルファイルの分散数として“２”が、Ｓ３１で取得されたジャーナルに付加される。
【０１１０】
Ｓ３６では、ジャーナル取得装置１４は、ＤＢ単位で分散されたジャーナルを、対応するジャーナルファイルに取得する。ジャーナル取得装置１４は、Ｓ３１−Ｓ３５の処理により所定の制御情報が付加されたジャーナルを、対応するジャーナルファイルに累積して取得する。
【０１１１】
以上の処理により、本実施形態の主計算機１１では、ジャーナル毎に所定の制御情報が付加されたジャーナルを、ＤＢ単位のジャーナルファイルに、トランザクションの終了順に累積して取得できる。図３の例では、ＤＢ１２に対応するジャーナルファイル１６には、“トラン１”，“トラン３”，“トラン４”のジャーナルが、トランザクションの終了順に累積される。また、ＤＢ１３に対応するジャーナルファイル１７には、“トラン２”，“トラン３”，“トラン４”のジャーナルが、トランザクションの終了順に累積される。
【０１１２】
ここで、ジャーナル取得装置１４で実行されるＳ３３−Ｓ３６の処理は、１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ご
との更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手順、ステップの一例である。また、主計算機１１のＣＰＵ９１等は、１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手段の一例として、Ｓ３３−Ｓ３６の処理を実行する。
【０１１３】
（副計算機：反映装置）
図１２に、反映装置２４（図１０ＢのＳ４）の詳細なフローチャートを例示する。図１２に例示のＳ４の処理は、例えば、ジャーナルファイル毎に並行して実行される。図１２に例示のフローチャートにおいて、Ｓ４１では、副計算機２１の反映装置２４は、例えば、ジャーナルファイル１６の到達を契機としてジャーナルファイル１６に累積されたジャーナルの読込みを行う。また、Ｓ４１では、副計算機２１の反映装置２４は、例えば、ジャーナルファイル１７の到達を契機としてジャーナルファイル１７に累積されたジャーナルの読込みを行う。反映装置２４は、例えば、読み込んだジャーナルを副計算機２１の主記憶部９２の所定の領域に一時的に格納し、Ｓ４２に移行する。
【０１１４】
Ｓ４２では、反映装置２４は、Ｓ４１で読み込んだジャーナルに基づいて、排他装置２５に対するトランザクション開始要求を行う。Ｓ４２において、反映装置２４は、例えば、Ｓ４１で読み込まれたジャーナルのトランザクション順序番号，更新ＤＢ名一覧，トランザクション分散数，反映装置名を排他装置２５に通知するとしてもよい。なお、反映装置名は、例えば、図１０Ｂに例示する“ジャーナルファイル１用”であり、反映装置２４において、ジャーナルファイルに対応付けられた反映処理を一意に識別する識別情報である。また、Ｓ４２の排他装置２５に対するトランザクション開始要求は、反映装置名とトランザクション開始要求を通知するとしてもよい。排他装置２５では、通知されたトランザクション開始要求と反映装置名から、Ｓ４１で格納されたジャーナルを参照し、トランザクション順序番号，更新ＤＢ名一覧，トランザクション分散数を取得するとしてもよい。
【０１１５】
Ｓ４２でトランザクション開始要求を受けた排他装置２５は、Ｓ４２の要求を契機として、Ｓ５１のトラン開始処理を実行する。排他装置２５で実行されるＳ５１のトラン開始処理は、レプリカＤＢ間の整合性を保証するため、ジャーナルに付加された制御情報に基づいて、反映状況管理ファイル２６の格納値の初期設定を行う。また、Ｓ５１のトラン開始処理は、例えば、反映状況管理ファイル２６に格納された管理テーブルの格納値に基づいて、各レプリカＤＢに対するジャーナル反映処理の排他制御を行う。
【０１１６】
Ｓ４３では、反映装置２４は、Ｓ４１で読み込んだジャーナルの反映処理を実行する。反映装置２４は、例えば、ジャーナルに含まれる更新ＤＢ名に対応するレプリカＤＢに対し、ジャーナルに含まれた更新差分データに基づいて反映処理を実行する。例えば、本実施形態では、ジャーナルファイル１６の反映処理はＤＢ２２を対象とし、ジャーナルファイル１７の反映処理はＤＢ２３を対象として実行される。
【０１１７】
Ｓ４４では、反映装置２４は、排他装置２５に対し、反映処理中のトランザクションに関するデッドロック検査処理を要求する。Ｓ４４において、反映装置２４は、例えば、Ｓ４１で読み込まれたジャーナルのトランザクション順序番号，反映装置名を排他装置２５に通知するとしてもよい。また、反映装置２４は、排他装置２５に対して反映装置名とデッドロック検査処理要求を通知し、排他装置２５にてＳ４１で格納されたジャーナルを参照し、トランザクション順序番号を取得するとしてもよい。
【０１１８】
Ｓ４４でデッドロック検査処理を受けた排他装置２５は、Ｓ４４の要求を契機として、
Ｓ５２のデッドロック検査処理を実行する。Ｓ５２のデッドロック検査処理では、排他装置２５は、反映状況管理ファイル２６に格納された情報に基づいて、実行中の反映処理に係るトランザクションに関するデッドロック検査処理を実行する。
【０１１９】
反映装置２４は、デッドロック検査処理より、反映処理中のトランザクションのリトライを必要とする場合（Ｓ４４１、ＹＥＳ）には、反映処理中のトランザクションをキャンセル（Ｓ４４２）し、Ｓ４２に移行する。Ｓ４２に移行した反映処理２４では、Ｓ４４２でキャンセルしたトランザクションについて再び反映処理が開始される。一方、反映装置２４は、デッドロック検査処理より、反映処理中のトランザクションのリトライを必要としない場合（Ｓ４４１、ＮＯ）には、Ｓ４５に移行する。
【０１２０】
本実施形態の副計算機２１では、Ｓ４４，Ｓ４４１，Ｓ４４２の処理を行うことにより、反映処理中のトランザクションの終了前にデッドロックを検査できるため、ケース２で述べた、反映処理中のトランザクションによるデッドロックを防止できる。
【０１２１】
Ｓ４５では、反映装置２４は、排他装置２５に対し、反映処理中のトランザクションに関するトランザクション終了順序検査処理を要求する。Ｓ４５において、反映装置２４は、例えば、Ｓ４１で読み込まれたジャーナルのトランザクション順序番号，反映装置名を排他装置２５に通知するとしてもよい。また、反映装置２４は、排他装置２５に対して反映装置名とトランザクション終了順検査処理要求を通知し、排他装置２５にてＳ４１で格納されたジャーナルを参照し、トランザクション順序番号を取得するとしてもよい。
【０１２２】
Ｓ４５でトランザクション終了順序検査処理を受けた排他装置２５は、Ｓ４５の要求を契機として、Ｓ５３のトランザクション終了順序検査処理を実行する。Ｓ５３のトランザクション終了順序検査処理では、排他装置２５は、反映状況管理ファイル２６に格納された情報に基づいて、主計算機１１におけるトランザクション終了順序を保証するための、反映処理中のトランザクションの終了順序の検査処理を実行する。
【０１２３】
本実施形態の副計算機２１では、Ｓ４５の処理を行うことにより、反映処理中のトランザクションに関する、主計算機１１のトランザクション終了順序を検査できるため、ケース２で述べたレプリカＤＢ間の不整合を防止できる。
【０１２４】
Ｓ４６では、反映装置２４は、排他装置２５に対し、反映処理中のトランザクションのトランザクション終了処理を要求し、Ｓ４１に移行する。Ｓ４６において、反映装置２４は、例えば、Ｓ４１で読み込まれたジャーナルのトランザクション順序番号，反映装置名を排他装置２５に通知するとしてもよい。また、反映装置２４は、排他装置２５に対して反映装置名とトランザクション終了処理要求を通知し、排他装置２５にてＳ４１で格納されたジャーナルを参照し、トランザクション順序番号を取得するとしてもよい。
【０１２５】
Ｓ４６でトランザクション終了処理を受けた排他装置２５は、Ｓ４６の要求を契機として、Ｓ５４のトランザクション終了処理を実行する。Ｓ５４のトランザクション終了処理では、排他装置２５は、反映状況管理ファイル２６に格納された情報に基づいて、反映処理中のトランザクションの終了処理を実行する。
【０１２６】
なお、Ｓ４１に移行した反映装置２４は、次のジャーナルをジャーナルファイルから読み込み、新たなトランザクションでＳ４２−Ｓ４６の反映処理を実行する。この結果、本実施形態の副計算機２１では、図３の“反映１”に例示のように、ジャーナルファイル１６に累積されたジャーナルＡ、ジャーナルＢ、ジャーナルＣを累積順に、対象となるＤＢ２２に反映できる。また、本実施形態の副計算機２１では、図３の“反映２”に例示のように、ジャーナルファイル１７に累積されたジャーナルＰ、ジャーナルＱ、ジャーナルＲ
を累積順に、対象となるＤＢ２３に反映できる。
【０１２７】
ここで、反映装置２４で実行されるＳ４１−Ｓ４６の処理は、前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手順、ステップの一例である。また、副計算機２１のＣＰＵ９１等は、前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手段の一例として、Ｓ４１−Ｓ４６の処理を実行する。
【０１２８】
（副計算機：排他装置）
図１３に、排他装置２５（図１０ＢのＳ５）のＳ５１の詳細なフローチャートを例示する。図１３に例示のＳ５１の処理は、例えば、反映装置２４のＳ４２のトランザクション開始処理要求を契機として実行される。なお、図１３に例示のフローチャートにおいて、トランザクション開始処理要求で通知されたトランザクション順序番号を（Ａ），更新ＤＢ名一覧を（Ｂ），トランザクション分散数を（Ｃ），反映装置名を（Ｄ）として説明する。
【０１２９】
先ず、Ｓ５１１では、排他装置２５は、反映状況管理ファイル２６に格納された管理テーブルを参照し、トランザクション開始要求で通知されたトランザクション順序番号（Ａ）が未設定であることを判断する。排他装置２５は、例えば、図５Ｄに例示する管理テーブルの「反映中トラン順序番号」の反映装置名（Ｄ）に対応するレコードの格納値（ｂ１）を取得する。また、排他装置２５は、例えば、図５Ｅに例示する管理テーブルの反映装置名（Ｄ）に対応するレコードの「反映中トラン順序番号」の格納値（ｂ２）を取得する。排他装置２５は、取得した格納値（ｂ１），（ｂ２）とトランザクション開始要求で通知されたトランザクション順序番号（Ａ）との比較を行うことで、トランザクション順序番号（Ａ）の未設定を判断する。
【０１３０】
Ｓ５１１では、排他装置２５は、トランザクション順序番号（Ａ）が未設定である場合（Ｓ５１１，ＹＥＳ）にはＳ５１２に移行し、トランザクション順序番号（Ａ）が設定されている場合（Ｓ５１１，ＮＯ）にはＳ５１の処理を終了する。
【０１３１】
Ｓ５１２−Ｓ５１３では、排他装置２５は、反映状況管理ファイル２６の初期設定を行う。例えば、排他装置２５は、トランザクション順序番号（Ａ）を、図５Ｄに例示する管理テーブルの反映装置名（Ｄ）に対応するレコードの「反映中トラン順序番号」に格納する。また、排他装置２５は、例えば、トランザクション順序番号（Ａ）を、図５Ｅに例示する管理テーブルの反映装置名（Ｄ）に対応するレコードの「反映中トラン順序番号」に格納する（Ｓ５１２）。そして、排他装置２５は、トランザクション分散数（Ｃ）を、図５Ｄに例示する管理テーブルの、反映装置名（Ｄ）に対応するレコードの「トラン分割数」の「全体数」に格納する（Ｓ５１３）。
【０１３２】
Ｓ５１２の処理により、図５Ｄに例示する管理テーブルの反映装置名（Ｄ）に対応するレコードの「反映中トラン順序番号」の格納値（ｂ１）には、トランザクション順序番号（Ａ）が設定される。また、Ｓ５１２の処理により、図５Ｅに例示する管理テーブルの反映装置名（Ｄ）に対応するレコードの「反映中トラン順序番号」の格納値（ｂ２）には、トランザクション順序番号（Ａ）が設定される。そして、Ｓ５１３の処理により、図５Ｄに例示する管理テーブルの、反映装置名（Ｄ）に対応するレコードの「トラン分割数」の「全体数」の格納値（ｄ）には、トランザクション分散数（Ｃ）が設定される。
【０１３３】
Ｓ５１４−Ｓ５１７では、排他装置２５は、トランザクション開始処理要求を行った反映処理の排他設定，排他解除を実行する。Ｓ５１４では、排他装置２５は、更新ＤＢ名一覧（Ｂ）の全ＤＢが使用可能か否かを判断する。つまり、反映処理が複数のジャーナルファイルに分散されている場合では、図６に例示するケース１の、レプリカＤＢ間の不整合が発生し得る。Ｓ５１４では、複数のジャーナルファイルに分散されたトランザクションの整合性を保証するため、先行する反映処理による排他が既に行われているか否かを判断する。
【０１３４】
Ｓ５１４では、排他装置２５は、反映処理の対象となる更新ＤＢ名一覧（Ｂ）の全てのＤＢが未だ排他されていない場合（Ｓ５１４，ＹＥＳ）には、Ｓ５１５に移行し、更新ＤＢ名一覧（Ｂ）の全てのＤＢの排他を設定し、Ｓ５１の処理を終了する。Ｓ５１４−Ｓ５１５の処理により、複数のジャーナルファイルに分散されたトランザクションの、先行する反映処理では、反映処理に係る全てのＤＢ（更新ＤＢ一覧（Ｂ）の全てのＤＢ）を排他できる。このため、後行の反映処理では、先行する反映処理の終了による排他解消を待って後行の反映処理を行うことができる。
【０１３５】
一方、排他装置２５は、反映処理の対象となる更新ＤＢ名一覧（Ｂ）のいずれかのＤＢが排他されている場合（Ｓ５１４，ＮＯ）には、Ｓ５１６に移行し、先行するトランザクションに対する排他解消待ちを設定する。Ｓ５１６では、排他装置２５は、反映状況管理ファイル２６の図５Ｅに例示する管理テーブルに、排他待ちの相手となる（当該反映処理が反映しようとしたＤＢを使用している）反映装置名を設定する。
【０１３６】
例えば、排他装置２５は、図５Ｅに例示する管理テーブルの、反映装置名（Ｄ）に対応するレコードの「ＤＢ使用中反映装置名」に排他待ちの相手となる反映装置名を格納する。Ｓ５１６の処理により、図５Ｅに例示する管理テーブルの、反映装置名（Ｄ）に対応するレコードの「ＤＢ使用中反映装置名」の格納値（ｅ）には、排他待ちの相手となる反映装置名が設定される。図１０Ｂの例では、例えば、“ジャーナルファイル１用”のレコードの「ＤＢ使用中反映装置名」の格納値（ｅ）には、先行する反映処理中の“ジャーナルファイル２用”が反映装置名として格納される。同様に、“ジャーナルファイル１用”が先行する場合では、後行の“ジャーナルファイル２用”のレコードの「ＤＢ使用中反映装置名」の格納値（ｅ）に、先行する“ジャーナルファイル１用” が反映装置名として格
納される。
【０１３７】
Ｓ５１７では、排他装置２５は先行する反映装置による排他解消待ちを行う。Ｓ５１７の排他解消は、後述のトラン終了処理のＳ５４３により行われる。Ｓ５１７では、排他装置２５は、先行する反映装置のトラン終了処理のＳ５４３の排他解消を受け、Ｓ５１４に移行し、排他解消待ちとなっていた反映処理の初期設定を実行する。
【０１３８】
ここで、排他装置２５で実行されるＳ５１５の処理は、排他設定手順、排他設定ステップの一例である。また、副計算機２１のＣＰＵ９１等は、排他設定手段の一例として、Ｓ５１５の処理を実行する。
【０１３９】
また、排他装置２５で実行されるＳ５１７の処理は、排他解除手順、排他解除ステップの一例である。また、副計算機２１のＣＰＵ９１等は、排他解除手段の一例として、Ｓ５１７の処理を実行する。
【０１４０】
次に、図１４により、排他装置２５（図１０ＢのＳ５）のＳ５２のデッドロック検査処理の詳細を説明する。図１４に、Ｓ５２の詳細なフローチャートを例示する。図１４に例示のＳ５２の処理は、例えば、反映装置２４のＳ４４のデッドロック検査処理要求を契機として実行される。なお、図１４に例示のフローチャートにおいて、デッドロック検査処
理要求で通知されたトランザクション順序番号を（Ａ），反映装置名を（Ｄ）として説明する。
【０１４１】
先ず、Ｓ５２１では、排他装置２５は、反映状況管理ファイル２６のデッドロック解消とトラン順番待ち解消のための管理テーブルを参照し、反映装置名（Ｄ）を排他解消待ちの相手先とする反映装置名に対応するレコードを取得する。排他装置２５は、例えば、図５Ｅに例示する管理テーブルの、反映装置名が（Ｄ）以外のレコードの「ＤＢ使用中反映装置名」のカラムを反映装置名（Ｄ）で検索し、反映装置名（Ｄ）を排他待ち相手とする反映装置名のレコードを取得する。
【０１４２】
Ｓ５２２では、反映装置２５は、Ｓ５２１で取得した反映装置名のレコードの「反映中トラン順序番号」の格納値（ｂ２）とトランザクション順序番号（Ａ）との比較を行い、（ｂ２）と（Ａ）との大小を判断する。反映装置２５は、Ｓ５２１で取得したレコードに「反映中トラン順序番号」の格納値（ｂ２）がトランザクション順序番号（Ａ）より小さいものがない場合（Ｓ５２２，ＮＯ）には、Ｓ５２の処理を終了する。
【０１４３】
一方、反映装置２５は、「反映中トラン順序番号」の格納値（ｂ２）がトランザクション順序番号（Ａ）より大きい場合（Ｓ５２２，ＹＥＳ）には、デッドロックを防止するためのＳ５２３−Ｓ５２４の処理を実行する。
【０１４４】
Ｓ５２３では、排他装置２５は、デッドロック検査処理要求を行った反映装置名（Ｄ）への通知情報を設定する。排他装置２５は、例えば、反映装置名（Ｄ）に対する通知情報として、反映処理中のトランザクションに係る処理をキャンセルし、Ｓ４１の再実行を設定する。Ｓ５２３で設定された通知情報は、例えば、副計算機２１の主記憶部９２の所定の領域に一時的に格納される。
【０１４５】
Ｓ５２４では、排他装置２５は、反映装置名（Ｄ）で処理中のトランザクション順序番号（Ａ）をキャンセルするための処理を行う。排他装置２５は、例えば、Ｓ５１で設定された管理テーブルへの設定値をクリアする。反映装置２５は、例えば、図５Ｄに例示の管理テーブルの、反映装置名（Ｄ）に対応するレコードの格納値（ｂ１）、（ｃ）、（ｄ）をクリアする。また、反映装置２５は、例えば、図５Ｅに例示の管理テーブルの、反映装置名（Ｄ）に対応するレコードの格納値（ｂ２）、（ｅ）をクリアする。
【０１４６】
排他装置２５は、Ｓ５２の処理の終了と共に、Ｓ５２３で設定した通知情報を反映装置名（Ｄ）に通知する。排他装置２５から通知情報を受けた反映装置名（Ｄ）では、例えば、Ｓ４４１−Ｓ４４２を実行し、処理中のトランザクション順序番号（Ａ）に係る反映処理を再実行する。
【０１４７】
ここで、排他装置２５で実行されるＳ５２２の処理は、比較手順、比較ステップの一例である。また、副計算機２１のＣＰＵ９１等は、比較手段の一例として、Ｓ５２２の処理を実行する。
【０１４８】
また、排他装置２５で実行されるＳ５２３の処理、及び、反映装置２４で実行されるＳ４４１−Ｓ４４２の処理は、前記比較手順（ステップ）による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手順、ステップの一例である。また、副計算機２１のＣＰＵ９１等は、前記比較手段による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手段の一例として、Ｓ５２３，Ｓ
４４１−Ｓ４４２の処理を実行する。
【０１４９】
次に、図１５により、排他装置２５（図１０ＢのＳ５）のＳ５３のトランザクション終了順検査処理の詳細を説明する。図１５に、Ｓ５３の詳細なフローチャートを例示する。図１５に例示のＳ５３の処理は、例えば、反映装置２４のＳ４５のトランザクション終了順検査処理要求を契機として実行される。なお、図１５に例示のフローチャートにおいて、トランザクション終了順検査処理要求で通知されたトランザクション順序番号を（Ａ），反映装置名を（Ｄ）として説明する。
【０１５０】
先ず、Ｓ５３１では、排他装置２５は、反映装置名（Ｄ）のトランザクション順序番号（Ａ）が、先行して完了した反映処理のトランザクション順序番号と連番であるか否かを判断する。排他装置２５は、例えば、図５Ｃに例示の管理テーブルの、「反映完了トラン順序番号」の格納値（ａ）を取得する。なお、「反映完了トラン順序番号」の格納値（ａ）には、先行して完了したトランザクションの順序番号が格納される。
【０１５１】
排他装置２５は、例えば、トランザクション順序番号（Ａ）と「反映完了トラン順序番号」の格納値（ａ）とが連続した昇順の関係にある場合（Ｓ５３１、ＹＥＳ）にはＳ５３の処理を終了する。例えば、連続した昇順の関係として、トランザクション順序番号（Ａ）が“３”、「反映完了トラン順序番号」の格納値（ａ）が“２”の場合を例示できる。なお、排他装置２５は、「反映完了トラン順序番号」の格納値（ａ）が未設定であり、トランザクション順序番号（Ａ）が“１”の場合には、連続した昇順の関係と判断する。
【０１５２】
一方、排他装置２５は、例えば、トランザクション順序番号（Ａ）と「反映完了トラン順序番号」の格納値（ａ）とが連続した昇順の関係にない場合（Ｓ５３１、ＮＯ）にはＳ５３２に移行する。例えば、排他装置２５は、「反映完了トラン順序番号」の格納値（ａ）が未設定であり、トランザクション順序番号（Ａ）が“１”以外の場合には、連続した昇順の関係にないと判断する。
【０１５３】
Ｓ５３２では、排他装置２５は、トランザクション順序番号（Ａ）の反映処理に係るトランザクションを先順トランザクションの順番待ちとする。例えば、排他装置２５は、トランザクション順序番号（Ａ）が“２”、「反映完了トラン順序番号」の格納値（ａ）が未設定の場合、トランザクション順序番号“２”の反映処理を、先行するトランザクション順序番号“１”の反映処理の終了待ちとする。図８に例示するケース２の、複数のジャーナルファイルに分散されたジャーナルの出現順とレプリカＤＢへの反映順とが異なるケースで生じるレプリカＤＢ間の不整合を防止するためである。
【０１５４】
なお、Ｓ５３２の先順トランザクションの順番待ちは、後述のトラン終了処理（図１６）のＳ５４７により行われる。排他装置２５は、先行するトラン終了処理のＳ５４７の先順トランザクションの順番待ち解消を受け、トランザクション順序番号（Ａ）のＳ５３の処理を終了する。例えば、排他装置２５は、先行するトランザクション順序番号“１”のＳ５４７の先順トランザクションの順番待ち解消を受け、先順トランザクションの順番待ちとなっていたトランザクション順序番号“２”のトランザクション終了順検査処理を終了する。
【０１５５】
ここで、排他装置２５で実行されるＳ５３１の処理は、検査手順、検査ステップの一例である。また、副計算機２１のＣＰＵ９１等は、検査手段の一例として、Ｓ５３１の処理を実行する。
【０１５６】
また、排他装置２５で実行されるＳ５３２の処理は、順序制御手順、順序制御ステップの一例である。また、副計算機２１のＣＰＵ９１等は、順序制御手段の一例として、Ｓ５
３２の処理を実行する。
【０１５７】
次に、図１６により、排他装置２５（図１０ＢのＳ５）のＳ５４のトランザクション終了処理の詳細を説明する。図１６に、Ｓ５４の詳細なフローチャートを例示する。図１６に例示のＳ５４の処理は、例えば、反映装置２４のＳ４６のトランザクション終了処理要求を契機として実行される。なお、図１６に例示のフローチャートにおいて、トランザクション終了処理要求で通知されたトランザクション順序番号を（Ａ），反映装置名を（Ｄ）として説明する。
【０１５８】
先ず、Ｓ５４１では、例えば、排他装置２５は、トランザクション順序番号（Ａ）により、図５Ｄに例示の管理テーブルで反映装置名（Ｄ）に対応するレコードの「反映中トラン順序番号」の格納値（ｂ１）を検索する。そして反映装置２５は、トランザクション順序番号（Ａ）と一致した「反映中トラン順序番号」の格納値（ｂ１）のレコードを取得する。そして、排他装置２５は、同レコードの「トラン分割数」の「完了数」の格納値（ｃ）をカウントアップする。
【０１５９】
Ｓ５４２では、排他装置２５は、Ｓ５４１でカウントアップした「完了数」の格納値（ｃ）と同レコードの「全体数」の格納値（ｄ）との比較を行い、両者の一致を判断する。排他装置２５は、カウントアップした「完了数」の格納値（ｃ）と同レコードの「全体数」の格納値（ｄ）とが一致しない場合（Ｓ５４２、ＮＯ）には、Ｓ５４３−Ｓ５４７の処理を行わずＳ５４の処理を終了する。
【０１６０】
一方、排他装置２５は、カウントアップした「完了数」の格納値（ｃ）と同レコードの「全体数」の格納値（ｄ）とが一致する場合（Ｓ５４２、ＹＥＳ）には、Ｓ５４３−Ｓ５４７の処理を実行する。Ｓ５４３−Ｓ５４７の処理では、排他解消及び先順トランザクションの順番待ち解消が実行される。
【０１６１】
Ｓ５４３では、排他装置２５は、図１３に例示のＳ５１７で排他解消待ちとした反映処理に係るトランザクションの排他解消待ちを解消する。Ｓ５４３の処理により、複数のジャーナルファイルに分散されて排他解消待ちとなった反映処理に係るトランザクション開始処理は再開される。
【０１６２】
Ｓ５４４では、排他装置２５は、Ｓ５４１で検索した図５Ｄに例示の管理テーブルの、反映装置名（Ｄ）に対応するレコードの各種格納値である（ｂ１）、（ｃ）、（ｄ）をクリアする。また並行して、図５Ｅに例示の管理テーブルの、反映装置名（Ｄ）に対応するレコードの各種格納値である（ｂ２）、（ｅ）をクリアする。
【０１６３】
Ｓ５４５では、反映装置２５は、反映状況管理ファイル２６に格納された図５Ｃに例示の管理テーブルの、「反映完了トラン順序番号」の格納値（ａ）をカウントアップする。例えば、反映装置２５は、「反映完了トラン順序番号」の格納値（ａ）が“１”の場合には、“２”にカウントアップし、「反映完了トラン順序番号」の格納値（ａ）が未設定の場合には、“１”にカウントアップする。つまり、Ｓ５４５の処理でカウントアップされた「反映完了トラン順序番号」の格納値（ａ）は、処理中のトランザクション順序番号（Ａ）に一致する。
【０１６４】
Ｓ５４６では、排他装置２５は、反映状況管理ファイル２６を参照し、反映装置名（Ｄ）のトランザクション順序番号（Ａ）のトランザクション終了待ちとなる反映処理の有無を判断する。排他装置２５は、例えば、図５Ｅに例示の管理テーブルを参照し、反映装置名（Ｄ）以外の反映装置名に対応するレコードを取得する。そして、排他装置２５は、トランザクション順序番号（Ａ）と、取得したレコードの「反映中トラン順序番号」の格納
値（ｂ２）との関係が、連続した昇順の関係にあるかを判断する。例えば、連続した昇順の関係として、トランザクション順序番号（Ａ）が“１”、「反映中トラン順序番号」の格納値（ｂ２）が“２”の場合を例示できる。
【０１６５】
排他装置２５は、トランザクション順序番号（Ａ）と、取得したレコードの「反映中トラン順序番号」の格納値（ｂ２）との関係が、連続した昇順の関係にある場合（Ｓ５４６、ＹＥＳ）にはＳ５４７に移行する。一方、排他装置２５は、トランザクション順序番号（Ａ）と、取得したレコードの「反映中トラン順序番号」の格納値（ｂ２）との関係が、連続した昇順の関係にない場合（Ｓ５４６、ＮＯ）には、Ｓ５４のトラン終了処理を終了する。
【０１６６】
Ｓ５４７では、排他装置２５は、図１５に例示のＳ５３２でトランザクションの終了順待ちとした反映処理に係るトランザクションの先順トランザクションの順番待ちを解消する。Ｓ５４７の処理により、複数のジャーナルファイルに分散されてトランザクションの終了順序待ちとなった反映処理に係るトランザクション終了順検査処理は再開される。
【０１６７】
（タイムチャート：ケース１）
次に、図７に例示のケース１の形態における、レプリカＤＢへの反映処理のタイムチャートを説明する。図１７に、図７に例示のケース１の形態における、レプリカＤＢへの反映処理のタイムチャートを例示する。図１７において、横軸方向は、反映処理における時間経過を表す。そして、図例の“反映１”は、例えば、“ジャーナルファイル１用”の反映装置で実行される反映処理を表し、“反映２”は、例えば、“ジャーナルファイル２用”の反映装置で実行される反映処理を表す。各反映処理に係るトランザクションは“トランＸ”として表される。“反映１”の各“トランＸ”の反映処理完了により、“ＤＢ１”にはジャーナルＡ、ジャーナルＢ、ジャーナルＣがそれぞれ反映される。また、“反映２”の各“トランＸ”の反映処理完了により、“ＤＢ２”にはジャーナルＰ、ジャーナルＱ、ジャーナルＲがそれぞれ反映される。例えば、“ＤＢ１”は副計算機２１のＤＢ２２に対応し、“ＤＢ２”は副計算機２１のＤＢ２３に対応する。なお、“反映１”と“反映２”は並行して実行される。
【０１６８】
先ず、“反映１”の“トラン１”では、“トラン１”の反映処理に係るトラン開始処理（Ｓ４１→Ｓ５１）で反映処理対象の“ＤＢ１”は排他（Ｓ５１５）され、トラン終了処理（Ｓ４６→Ｓ５４）で反映処理対象の“ＤＢ１”の排他は解消される。“トラン１”の反映処理に係るトラン開始処理からトラン終了処理が完了する迄の期間は“トラン１”の排他区間である。“トラン１”の排他区間では、副計算機２１のレプリカＤＢに対する参照処理は排他される。なお、“トラン１”のトラン終了処理の完了後には、“ＤＢ１”に対するジャーナルＡが更新される。副計算機２１は、例えば、“トラン１”の反映処理の完了を契機として割込み処理を実行することにより、レプリカＤＢである“ＤＢ１”を参照できる。
【０１６９】
“反映２”の“トラン２”についても同様の反映処理が実行され、“トラン２”の排他区間では、副計算機２１の“ＤＢ２”の参照処理は排他される。“トラン２”のトラン終了処理の完了後には、“ＤＢ２”に対するジャーナルＰが更新される。副計算機２１は、例えば、“トラン２”の反映処理の完了を契機として割込み処理を実行することにより、レプリカＤＢである“ＤＢ２”を参照できる。
【０１７０】
図１７に例示の“トラン２”の排他区間では、“ＤＢ２”は排他（Ｓ５１５）されるため、“反映１”の“トラン３”は“反映２”の“トラン２”の排他解消待ち（Ｓ５１４、ＮＯ→Ｓ５１６→Ｓ５１７）となる。つまり、“反映１”の“トラン３”のトラン開始処理は、先行する“反映２”の“トラン２”のＳ５４３による排他解消後に実行されるため
、レプリカＤＢ間のトランザクション終了順序は保証される。
【０１７１】
次に、複数のジャーナルファイルに分散された“トラン３”を説明する。図１７に例示の“トラン３”のトラン開始処理は、“反映２”の“トラン２”の排他解消後に実行される。先行する“反映１”の“トラン３”の排他処理（Ｓ５１５）により、“ＤＢ１”及び“ＤＢ２”は排他される。そして、後行の“反映２”の“トラン３”のトラン開始処理は、先行する“反映１”の“トラン３”のＳ５４３による排他解消後に実行される。このため、“反映１”の“トラン３”の開始処理から“反映２”の“トラン３”のトラン終了処理迄の期間が“トラン３”の排他区間となる。従って、“トラン３”の排他区間では、“ＤＢ１”及び“ＤＢ２”に対する反映処理は実行できないため、ジャーナルを反映するトランザクションが開始されることはない。また、“トラン３”の排他区間の間では、副計算機２１のレプリカＤＢである“ＤＢ１”及び“ＤＢ２”を参照する処理は制限されることとなる。副計算機２１のレプリカＤＢに対する参照処理は、ジャーナルＢ，ジャーナルＱが反映された後に実行されるため、ケース１で説明した、レプリカＤＢ間に発生する不整合は発生することはない。
【０１７２】
（タイムチャート：ケース２）
次に、図９に例示のケース２の形態における、レプリカＤＢへの反映処理のタイムチャートを説明する。図１８に、図９に例示のケース１の形態における、レプリカＤＢへの反映処理のタイムチャートを例示する。図１８における横軸方向は、反映処理における時間経過を表し、“反映Ｘ”，“ＤＢＸ”，“トランＸ”等は、図１７と同様である。
【０１７３】
ケース２の形態では、レプリカＤＢに発生する不整合は、分散されたジャーナルファイルに含まれるジャーナルの出現順とレプリカＤＢへの更新反映順が異なることに起因する。このため、図１８の例では、“反映２”の“トラン２”は“反映１”の“トラン１”に先行して実行される。
【０１７４】
先ず、先行する“反映２”の“トラン２”では、“トラン２”のトラン開始処理（Ｓ４１→Ｓ５１）により、反映対象の“ＤＢ２”が排他される。そして、“反映２”の“トラン２”では、トラン終了順検査処理（Ｓ４５→Ｓ５３）が実行される。“トラン２”のトラン終了順検査処理では、トランザクション順序番号（Ａ）は“２”であり、図５Ｃに例示の「反映完了トラン順序番号」は未設定の状態である（Ｓ５３１、ＮＯ）から、Ｓ５３２の排他解消待ちが実行される。つまり、先行する“反映２”の“トラン２”は、後行の“反映１”の“トラン１”のトラン終了処理（Ｓ４６→Ｓ５４）の実行待ちとなる。従って、“トラン２”の“ＤＢ２”への排他は継続されるため、例えば、副計算機２１の“ＤＢ２”に対する参照処理は実行されることはない。
【０１７５】
先行する“反映２”の“トラン２”の排他解消待ちの間に、後行の“反映１”の“トラン１”のトラン開始処理（Ｓ４１→Ｓ５１）が実行され、反映対象の“ＤＢ１”が排他される。そして、後行の“反映１”の“トラン１”のトラン終了処理（Ｓ４６→Ｓ５４）が実行される。後行の“反映１”の“トラン１”のトラン終了処理では、トランザクション順序番号は“１”であり、“反映２”に対応する「反映中トラン順序番号」の格納値（ｂ２）は“２”のため、Ｓ５４６−Ｓ５４７の処理が実行される。この結果、先行する“反映２”の“トラン２”のトラン終了順検査処理で排他解消待ちとなっていた反映処理の排他は解消され、“トラン２”のトラン終了順検査処理は終了する。
【０１７６】
その後、“反映１”の“トラン１”が完了し、“ＤＢ１”へのジャーナルＡは反映される。この時点で、“トラン１”の排他区間は終了するため、副計算機２１は割込み処理等を実行することにより、ジャーナルＡが反映された“ＤＢ１”を参照することができる。図１８に例示するように、“トラン１”の排他区間が終了しても、“トラン２”の排他区
間は継続されているため、副計算機２１は“ＤＢ２”を参照することはできない。つまり、ケース２のレプリカＤＢ間の不整合は発生することはない。
【０１７７】
その後、先行の“反映２”の“トラン２”が完了し、“ＤＢ２”へのジャーナルＰは反映される。そして、“トラン２”の完了と共に“トラン２”の排他区間は終了する。この時点で、副計算機２１の参照できる“ＤＢ２”では、ジャーナルＰの反映が完了している。つまり、本実施形態の計算機システム１０は、分散されたジャーナルファイルに含まれるジャーナルの出現順とレプリカＤＢへの更新反映順が異なる場合でも、主計算機２１のトランザクションの終了順序を保証できる。
【０１７８】
なお、ケース２で説明したように、“反映２”で先行する“トラン２”が、複数のジャーナルファイルに分散する場合、デッドロック状態となる虞がある。本実施形態の計算機システム１０では、“反映２”で先行する“トラン２”が、複数のジャーナルファイルに分散する場合であってもデッドロックを事前に解消することができる。
【０１７９】
例えば、図１８の例において、複数のジャーナルファイルに分散された“反映２”の“トラン２”トラン開始処理では、対象となる全ＤＢ（“ＤＢ１”、“ＤＢ２”）を排他（Ｓ５１５）する。後行の“反映１”の“トラン１”では、対象となる“ＤＢ１”が先行する“反映２”の“トラン２”により排他されているため、“トラン１”のトラン開始処理では、Ｓ５１６−Ｓ５１７の処理が実行される。つまり、“反映１”の“トラン１”では、図５Ｅに例示の「ＤＢ使用中反映装置名」の格納値（ｅ）に“反映２”の反映装置名を格納し、排他解消待ち（Ｓ５１７）となる。
【０１８０】
その後、“反映２”の“トラン２”の、デッドロック検査処理（Ｓ４４→Ｓ５２）では、Ｓ５２２−Ｓ５２４の処-理が実行される。つまり、“反映２”の“トラン２”のトラ
ンザクション順序番号（Ａ）は“２”であり、“反映１”の“トラン１”の「反映中トラン順序番号」の格納値（ｂ２）は“１”である。このため、Ｓ５２２−Ｓ５２４の処理では、“反映２”の“トラン２”をキャンセルし、トラン開始処理に戻るよう通知処理が実行される。この結果、通知処理を受けた“反映２”の“トラン２”では、実行中の“トラン２”がキャンセル（Ｓ４４１−Ｓ４４２）されることとなり、“ＤＢ１”の排他は解消される。後行の“反映１”の“トラン１”では、“ＤＢ１”の排他解消を契機として“トラン１”のトラン開始処理が実行される。
【０１８１】
このように、本実施形態の計算機システム１０では、デッドロックが発生する虞が生じても、事前にデッドロック状態となる反映処理（“反映２”の“トラン２”）をキャンセルできる。このため、“反映２”で先行する“トラン２”が、複数のジャーナルファイルに分散する場合であってもデッドロック状態を回避できる。
【０１８２】
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１８３】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体とし
てハードディスクやＲＯＭ等がある。
【０１８４】
《その他》
以上の実施形態は、さらに以下の付記と呼ぶ態様を含む。以下の各付記に含まれる構成要素は、他の付記に含まれる構成と組み合わせることができる。
【０１８５】
（付記１）
複数の記憶装置を有する第１の情報処理装置と、前記複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する第２の情報処理装置と、を備える情報処理システムであって、
前記第１の情報処理装置は、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手段と、
前記制御情報が付加された更新処理データを前記第２の情報処理装置に転送する手段と、を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置から前記制御情報を付加されて転送された更新処理データ中の更新差分データを前記第１の情報処理装置の１以上の記憶装置に対応する前記第２の情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手段と、
前記１以上の反映手段のうちの、第１の反映手段が前記更新処理データ中の先頭の更新差分データを前記第２の情報処理装置の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置に排他を設定する排他設定手段と、
前記１以上の反映手段のうちの、第２の反映手段が前記更新処理データ中の最後の更新差分データを前記第２の情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置の排他を解除する排他解除手段と、
を有する情報処理システム。
【０１８６】
（付記２）
前記識別情報は、更新処理の終了順を示す順序番号であり、
前記第２の情報処理装置は、
複数の更新処理データを記憶装置へ反映する処理が前記順序番号順になされるか否かを検査する検査手段と、
前記順序番号が後順の更新処理データを対応する記憶装置へ反映する処理の終了を、前記順序番号が先順の更新処理データを反映する処理の終了まで順序待ちにする順序制御手段と、をさらに有する付記１記載の情報処理システム。
【０１８７】
（付記３）
排他された記憶装置の排他が解除されるまで排他解消待ちにある排他解消待ちにある排他解消待ち反映装置が排他解消後に反映する排他解消待ち更新処理データの順序番号と、前記反映手段が反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号とを比較する比較手段と、
前記比較手段による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手段と、
を備える付記２に記載の情報処理システム。
【０１８８】
（付記４）
複数の記憶装置を有する情報処理装置であって、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手段、
を備える情報処理装置。
【０１８９】
（付記５）
前記識別情報は、更新処理の終了順を示す順序番号である、付記４に記載の情報処理装置。
【０１９０】
（付記６）
他の情報処理装置の有する複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する情報処理装置であって、
前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手段と、
前記１以上の反映手段のうちの、第１の反映手段が前記更新処理データ中の先頭の更新差分データを前記情報処理装置の対応する記憶装置に反映するときに、前記制御情報に含まれる他の情報処理装置の有する記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置に排他を設定する排他設定手段と、
前記１以上の反映手段のうちの、第２の反映手段が前記更新処理データ中の最後の更新差分データを前記情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置の排他を解除する排他解除手段と、
を備える情報処理装置。
【０１９１】
（付記７）
前記制御情報は、更新処理の終了順を示す順序番号を含み、
複数の更新処理データを記憶装置へ反映する処理が前記順序番号順になされるか否かを検査する検査手段と、
前記順序番号が後順の更新処理データを対応する記憶装置へ反映する処理の終了を、前記順序番号が先順の更新処理データを反映する処理の終了まで順序待ちにする順序制御手段と、をさらに備える付記６に記載の情報処理装置。
【０１９２】
（付記８）
排他された記憶装置の排他が解除されるまで排他解消待ちにある排他解消待ちにある排他解消待ち反映装置が排他解消後に反映する排他解消待ち更新処理データの順序番号と、前記反映手段が反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号とを比較する比較手段と、
前記比較手段による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手段と、をさらに備える付記７に記載の情報処理装置。
【０１９３】
（付記９）
複数の記憶装置を有する第１の情報処理装置と、前記複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する第２の情報処理装置と、を備える情報処理システムの情報処理方法であって、
前記第１の情報処理装置のコンピュータが、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手順と、
前記制御情報が付加された更新処理データを前記第２の情報処理装置に転送する手順と、を実行し、
前記第２の情報処理装置のコンピュータが、
前記第１の情報処理装置から前記制御情報を付加されて転送された更新処理データ中の更新差分データを前記第１の情報処理装置の１以上の記憶装置に対応する前記第２の情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手順と、
前記１以上の反映手順のうちの、第１の反映手順が前記更新処理データ中の先頭の更新差分データを前記第２の情報処理装置の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置に排他を設定する排他設定手順と、
前記１以上の反映手順のうちの、第２の反映手順が前記更新処理データ中の最後の更新差分データを前記第２の情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記第１の情報処理装置の更新処理で更新された記憶装置に対応する前記第２の情報処理装置の記憶装置の排他を解除する排他解除手順と、
を実行する情報処理方法。
【０１９４】
（付記１０）
前記識別情報は、更新処理の終了順を示す順序番号であり、
前記第２の情報処理装置のコンピュータが、
複数の更新処理データを記憶装置へ反映する処理が前記順序番号順になされるか否かを検査する検査手順と、
前記順序番号が後順の更新処理データを対応する記憶装置へ反映する処理の終了を、前記順序番号が先順の更新処理データを反映する処理の終了まで順序待ちにする順序制御手順と、をさらに実行する付記９に記載の情報処理方法。
【０１９５】
（付記１１）
前記第２の情報処理装置のコンピュータが、
排他された記憶装置の排他が解除されるまで排他解消待ちにある排他解消待ちにある排他解消待ち反映装置が排他解消後に反映する排他解消待ち更新処理データの順序番号と、前記反映手順が反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号とを比較する比較手順と、
前記比較手順による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手順と、をさらに実行する付記１０に記載の情報処理方法。
【０１９６】
（付記１２）
複数の記憶装置を有する情報処理装置のコンピュータが、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加する手順、
を実行する情報処理方法。
【０１９７】
（付記１３）
前記識別情報は、更新処理の終了順を示す順序番号である、付記１２に記載の情報処理方法。
【０１９８】
（付記１４）
他の情報処理装置の有する複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する情報処理装置のコンピュータが、
前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映手順と、
前記１以上の反映手順のうちの、第１の反映手順が前記更新処理データ中の先頭の更新差分データを前記情報処理装置の対応する記憶装置に反映するときに、前記制御情報に含まれる他の情報処理装置の有する記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置に排他を設定する排他設定手順と、
前記１以上の反映手順のうちの、第２の反映手順が前記更新処理データ中の最後の更新差分データを前記情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置の排他を解除する排他解除手順と、
を実行する情報処理方法。
【０１９９】
（付記１５）
前記制御情報は、更新処理の終了順を示す順序番号を含み、
複数の更新処理データを記憶装置へ反映する処理が前記順序番号順になされるか否かを検査する検査手順と、
前記順序番号が後順の更新処理データを対応する記憶装置へ反映する処理の終了を、前記順序番号が先順の更新処理データを反映する処理の終了まで順序待ちにする順序制御手順と、
をさらに実行する付記１４に記載の情報処理方法。
【０２００】
（付記１６）
排他された記憶装置の排他が解除されるまで排他解消待ちにある排他解消待ちにある排他解消待ち反映装置が排他解消後に反映する排他解消待ち更新処理データの順序番号と、前記反映手段が反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号とを比較する比較手順と、
前記比較手順による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消す手順と、
をさらに実行する付記１５に記載の情報処理方法。
【０２０１】
（付記１７）
複数の記憶装置を有する情報処理装置のコンピュータに、
１以上の記憶装置に対する１まとまりで管理される更新処理を実行するときに、更新される記憶装置ごとの更新差分データを含む更新処理データに、前記更新処理の識別情報と前記更新処理で更新される記憶装置の一覧とを含む制御情報を付加するステップ、
を実行させる情報処理プログラム。
【０２０２】
（付記１８）
前記識別情報は、更新処理の終了順を示す順序番号である、付記１７に記載の情報処理プログラム。
【０２０３】
（付記１９）
他の情報処理装置の有する複数の記憶装置への更新処理の結果が反映される複数の記憶装置を有する情報処理装置のコンピュータに、
前記他の情報処理装置から制御情報を付加されて転送された更新処理データ中の更新差分データを前記他の情報処理装置の１以上の記憶装置に対応する前記情報処理装置の１以上の記憶装置にそれぞれ反映する１以上の反映ステップと、
前記１以上の反映ステップのうちの、第１の反映ステップが前記更新処理データ中の先頭の更新差分データを前記情報処理装置の対応する記憶装置に反映するときに、前記制御情報に含まれる他の情報処理装置の有する記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置に排他を設定する排他設定ステップと、
前記１以上の反映ステップのうちの、第２の反映ステップが前記更新処理データ中の最後の更新差分データを前記情報処理の対応する記憶装置に反映するときに、前記記憶装置の一覧が示す前記他の情報処理装置の更新処理で更新された記憶装置に対応する前記情報処理装置の記憶装置の排他を解除する排他解除ステップと、
を実行させる情報処理プログラム。
【０２０４】
（付記２０）
前記制御情報は、更新処理の終了順を示す順序番号を含み、
複数の更新処理データを記憶装置へ反映する処理が前記順序番号順になされるか否かを検査する検査ステップと、
前記順序番号が後順の更新処理データを対応する記憶装置へ反映する処理の終了を、前記順序番号が先順の更新処理データを反映する処理の終了まで順序待ちにする順序制御ステップと、
をさらに実行させる付記１９に記載の情報処理プログラム。
【０２０５】
（付記２１）
排他された記憶装置の排他が解除されるまで排他解消待ちにある排他解消待ちにある排他解消待ち反映装置が排他解消後に反映する排他解消待ち更新処理データの順序番号と、前記反映手段が反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号とを比較する比較ステップと、
前記比較手順による比較の結果、前記反映する処理の終了が順序待ちにされた後順の更新処理データの順序番号よりも排他解消待ち更新処理データの順序番号が先順の場合に、前記後順更新処理データを記憶装置に反映する処理を取り消すステップと、
をさらに実行させる付記２０に記載の情報処理プログラム。
【符号の説明】
【０２０６】
１０  計算機システム
１１  主計算機
１２、１３  ＤＢ
１４  ジャーナル取得装置
１５  トラン順序番号管理ファイル
１６、１７  ジャーナルファイル
２１  副計算機
２２、２３  ＤＢ
２４  反映装置
２５  排他装置
２６  反映状況管理ファイル
９０  情報処理装置
９１  ＣＰＵ
９２  主記憶部
９３  補助記憶部
９４  通信部
１００ａ、１００ｂ  計算機システム
１０１ａ  主計算機、１０１ｂ  副計算機
１０２ａ、１０２ｂ、１０３ａ、１０３ｂ  ＤＢ
１０４ａ、１０４ｂ、１０５ａ、１０６ａ、１０５ｂ、１０６ｂ  ジャーナルファイル
【図１】
2014191497.tif 000003
【図２】
2014191497.tif 000004
【図３】
2014191497.tif 000005
【図４】
2014191497.tif 000006
【図５Ａ】
2014191497.tif 000007
【図５Ｂ】
2014191497.tif 000008
【図５Ｃ】
2014191497.tif 000009
【図５Ｄ】
2014191497.tif 000010
【図５Ｅ】
2014191497.tif 000011
【図６】
2014191497.tif 000012
【図７】
2014191497.tif 000013
【図８】
2014191497.tif 000014
【図９】
2014191497.tif 000015
【図１０Ａ】
2014191497.tif 000016
【図１０Ｂ】
2014191497.tif 000017
【図１１】
2014191497.tif 000018
【図１２】
2014191497.tif 000019
【図１３】
2014191497.tif 000020
【図１４】
2014191497.tif 000021
【図１５】
2014191497.tif 000022
【図１６】
2014191497.tif 000023
【図１７】
2014191497.tif 000024
【図１８】
2014191497.tif 000025