(57)【特許請求の範囲】
【請求項１】
電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させる受信部と、
前記電文処理装置による前記電文の処理結果が反映されている更新情報と、前記更新情報に前記電文処理装置による処理結果が反映されている前記電文の情報を示す更新電文情報とを受信し、前記更新情報を用いて、複製データ記憶部に記憶されている複製データに、前記電文処理装置による処理結果を反映する更新情報反映部と、
所定の条件が満たされた場合に、前記電文記憶部に記憶されている前記電文のうち、前記電文処理装置による処理結果が前記複製データに反映されていない前記電文を、前記更新電文情報に基づいて特定し、前記特定された前記電文を処理し、前記特定された前記電文を処理した結果を前記複製データに反映する電文処理反映部と、
を備える複製データ制御装置。
【請求項２】
前記条件は、前記電文の処理を指示する指示入力があった場合、前記電文処理装置から前記電文を所定の時間受信しなかった場合、または、前記電文処理装置の異常を所定の方法で検知した場合のいずれか一つ以上である
ことを特徴とする請求項１に記載の複製データ制御装置。
【請求項３】
前記更新電文情報は、前記更新情報に前記電文処理装置による処理結果が反映されている前記電文の識別情報を含み、
前記識別情報は、前記電文処理装置により前記電文が処理された順番を示し、
前記更新情報反映部は、前記更新電文情報に含まれる前記識別情報に基づく順で前記更新情報を用いて前記電文処理装置による処理結果を前記複製データに反映する
ことを特徴とする請求項１または請求項２に記載の複製データ制御装置。
【請求項４】
前記受信部は、前記電文処理装置から受信した前記電文の前記識別情報を前記電文と対応付けて前記電文記憶部に記憶させ、
前記電文処理反映部は、前記特定された前記電文を前記識別情報が示す順で処理する
ことを特徴とする請求項３に記載の複製データ制御装置。
【請求項５】
前記電文処理反映部は、入力済通番と反映済通番とに基づいて、前記複製データに前記電文処理装置による処理結果が反映されていない前記電文の前記特定を行い、
前記入力済通番は、前記電文記憶部に最後に記憶された前記電文の前記識別情報であり、
前記反映済通番は、前記複製データへの前記電文処理装置による処理結果の反映に用いられた前記更新情報の前記更新電文情報に含まれる前記識別情報である
ことを特徴とする請求項３または請求項４に記載の複製データ制御装置。
【請求項６】
前記更新情報反映部は、前記更新情報と前記更新電文情報とを更新情報記憶部に記憶させ、前記更新電文情報と前記反映済通番とに基づいて、前記更新情報記憶部に記憶されている前記更新情報のうち、前記電文処理装置による前記電文の前記処理結果の前記複製データへの反映に用いられていない前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする請求項５に記載の複製データ制御装置。
【請求項７】
前記受信部は、前記電文処理装置による前記電文の前記処理結果のデータへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を受信し、
前記電文処理反映部は、前記レプリケーション情報に基づいて、前記電文処理装置による前記電文の前記処理結果の前記データへの反映が正常に終了していない前記電文の処理を行わない
ことを特徴とする請求項１から請求項６のいずれか１項に記載の複製データ制御装置。
【請求項８】
請求項１から請求項７のいずれか１項に記載の複製データ制御装置と、
前記電文処理装置と、
を備えることを特徴とする複製データ制御システム。
【請求項９】
複製データ制御装置が、
電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させ、
前記電文処理装置による前記電文の処理結果が反映されている更新情報と、前記更新情報に前記電文処理装置による処理結果が反映されている前記電文の情報を示す更新電文情報とを受信し、前記更新情報を用いて、複製データ記憶部に記憶されている複製データに、前記電文処理装置による処理結果を反映し、
所定の条件が満たされた場合に、前記電文記憶部に記憶されている前記電文のうち、前記電文処理装置による処理結果が前記複製データに反映されていない前記電文を、前記更新電文情報に基づいて特定し、前記特定された前記電文を処理し、前記特定された前記電文を処理した結果を前記複製データに反映する、
複製データ制御方法。
【請求項１０】
コンピュータに、
電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させる受信機能と、
前記電文処理装置による前記電文の処理結果が反映されている更新情報と、前記更新情報に前記電文処理装置による処理結果が反映されている前記電文の情報を示す更新電文情報とを受信し、前記更新情報を用いて、複製データ記憶部に記憶されている複製データに、前記電文処理装置による処理結果を反映する更新情報反映機能と、
所定の条件が満たされた場合に、前記電文記憶部に記憶されている前記電文のうち、前記電文処理装置による処理結果が前記複製データに反映されていない前記電文を、前記更新電文情報に基づいて特定し、前記特定された前記電文を処理し、前記特定された前記電文を処理した結果を前記複製データに反映する電文処理反映機能と、
を実現させる複製データ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複製データ制御装置、複製データ制御システム、複製データ制御方法および複製データ制御プログラムに関する。
【背景技術】
【０００２】
勘定系システムや証券取引システムなどの業務システムは、障害発生後に、障害発生直前の状態から迅速に業務を継続することが求められる。そのため、業務システムは、現用系として稼働する装置に障害が発生した場合に備え、予備の装置を待機系として含むことがある。現用系として稼働する装置に障害が発生した場合、業務システムは、待機系として稼働する予備の装置を用いて業務を継続する。
【０００３】
障害発生直前の状態から迅速に業務を継続するため、これらのシステムでは、現用系として稼働する装置に記憶されているデータと、予備の装置に記憶されている予備のデータとが随時同一になるように制御されていることが望ましい。
【０００４】
ここで、外部から入力を受けた電文を処理し、電文の処理結果を電文処理装置に記憶されているデータに反映する装置を電文処理装置と呼ぶ。また、電文処理装置が記憶しているデータの予備のデータ（複製データ）を記憶する装置を複製データ制御装置と呼ぶ。また、電文処理装置と複製データ制御装置とを含むシステムを、複製データ制御システムと呼ぶ。
【０００５】
電文の入力を受けた電文処理装置が電文を処理して電文の処理結果をデータに反映することにより、電文処理装置に記憶されているデータに変化が生じる。複製データ制御装置は、電文処理装置の電文の処理により生じた、電文処理装置に記憶されているデータの変化を、所定の方法で複製データに反映する。
【０００６】
なお、電文処理装置に記憶されているデータは、業務データベースなどに記憶された、電文処理装置が入力を受けた電文の処理結果が適宜反映された情報である。また、複製データ制御装置に記憶されている複製データは、電文処理装置に記憶されているデータの予備のデータである。
【０００７】
電文処理装置に記憶されているデータと複製データ制御装置に記憶されている複製データとが同一になるように制御する方法に、レプリケーションと呼ばれる方法がある。レプリケーションは、電文処理装置に記憶されているデータに電文の処理結果が反映された場合に、反映前後のデータの差分を、複製データ制御装置に記憶されている複製データに、更新情報を用いて随時反映する方法である。なお、更新情報は、電文処理装置が電文処理結果を電文処理装置に記憶されているデータに反映した場合の、反映前後のデータの差分を示す情報である。
【０００８】
また、レプリケーションの方式には、同期式と非同期式とがある。同期式でレプリケーションを行う場合、電文処理装置は、更新情報を複製データ制御装置に送信し、複製データに更新情報が反映されるまで待機する。待機している間、電文処理装置は新しい電文の入力を受けることができないため、電文処理装置が処理できる電文の量が減少する。一方、非同期式でレプリケーションを行う場合には、電文処理装置は、複製データ制御装置に記憶されている複製データに更新情報が反映される処理を待ち合わせない。そのため、非同期式は、レプリケーションによって電文処理装置が待機する時間が同期式と比較して短い。このように、非同期式には、電文処理装置が電文を処理できる量が同期式よりも増加するという利点がある。
【０００９】
ところが、非同期式では、複製データ制御装置に出力されていない更新情報がある状態で電文処理装置に障害が発生した場合に、複製データ制御装置は、電文処理装置から出力されていない更新情報を複製データに反映することができない。
【００１０】
これに対し、特許文献１では、更新情報を用いて電文の処理結果を複製データに反映するのではなく、電文処理装置の電文の処理と非同期に複製データ制御装置が電文を処理し、その処理結果を複製データに反映することが提案されている。この方法では、複製データ制御装置が、電文処理装置と同様に、電文処理装置とほぼ同時に電文を処理し、複製データ制御装置に記憶されている複製データに電文の処理結果を反映する。これにより、複製データ制御装置は、電文処理装置に記憶されているデータと複製データ制御装置に記憶されている複製データとの差異を小さくすることが可能になる。
【００１１】
また、特許文献２では、レプリケーションを高速に行う方法が提案されている。この方法では、電文処理装置は、同一のトランザクション処理に対応する複数の更新情報に、同一のトランザクション処理に対応する更新情報であることを示す情報と、更新情報が作成された順番を示す番号とを付与する。これにより、複製データ制御装置は、同一のトランザクション処理に対応する更新情報をまとめて複製データに反映することが可能になる。また、電文処理装置は、複数の処理系列に分割して更新情報を転送することが可能になる。そのため、レプリケーションの処理を高速化することが可能になる。このように、特許文献２に記載の方法では、更新情報の反映に関する処理を高速化し、任意の時点で複製データ制御装置と電文処理装置とに記憶されているデータの差異を小さくすることが可能になる。
【００１２】
このように、特許文献１や特許文献２に記載の方法では、レプリケーションを行う場合に、電文処理装置に記憶されているデータと複製データ制御装置に記憶されている複製データとの差異を小さくすることが可能になる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平０４−０６０８６２号公報
【特許文献２】特許第５８４３０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、特許文献１、特許文献２に記載の方法では、複製データ制御装置の処理の負荷を軽減しつつ、電文処理装置に記憶されているデータと複製データ制御装置に記憶されている複製データとの差異を小さくすることができない。
【００１５】
特許文献１に記載の方法では、複製データ制御装置が電文を処理し、その処理結果を複製データに反映する。しかし、この方法では、複製データ制御装置は、電文処理装置から受信した電文を受信する度に処理する。そのため、電文の処理と、複製データ制御装置に記憶されている複製データへの電文の処理結果の反映により、複製データ制御装置に負荷がかかる。
【００１６】
また、特許文献２に記載の方法では、複製データ制御装置は、複製データ制御装置に記憶されている複製データに更新情報を反映する。この方法では、複製データ制御装置が電文の処理を行わないため、複製データ制御装置にかかる負荷は少ない。しかし、電文処理装置から出力されていない更新情報がある状態で電文処理装置に障害が発生した場合に、複製データ制御装置は、複製データ制御装置に出力されていない更新情報を、複製データ制御装置に記憶されている複製データに反映することができない。そのため、電文処理装置に記憶されているデータと複製データ制御装置に記憶されている複製データとの間に、差異が生じる可能性がある。
【００１７】
このように、特許文献１や特許文献２に記載の方法には、複製データ制御装置にかかる処理の負荷を軽減しつつ、電文処理装置に記憶されているデータと複製データ制御装置に記憶されている複製データとの差異を小さくすることができないという問題点がある。
【００１８】
本発明の目的は、複製データ制御装置にかかる処理の負荷を軽減しつつ、電文処理装置による電文の処理結果が反映されたデータと複製データ制御装置によって複製された複製データとの差異を小さくすることを可能にする複製データ制御装置、システム、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の一態様において、複製データ制御装置は、電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させる受信部と、電文処理装置による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを受信し、更新情報を用いて、複製データ記憶部に記憶されている複製データに、電文処理装置による処理結果を反映する更新情報反映部と、所定の条件が満たされた場合に、電文記憶部に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定し、特定された電文を処理し、特定された電文の処理結果を複製データに反映する電文処理反映部と、を備える。
【００２０】
また、本発明の他の態様において、複製データ制御方法は、電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させ、電文処理装置による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを受信し、更新情報を用いて、複製データ記憶部に記憶されている複製データに、電文処理装置による処理結果を反映し、所定の条件が満たされた場合に、電文記憶部に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定し、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。
【００２１】
また、本発明の他の態様において、複製データ制御プログラムは、コンピュータに、電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させる受信機能と、電文処理装置による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを受信し、更新情報を用いて、複製データ記憶部に記憶されている複製データに、電文処理装置による処理結果を反映する更新情報反映機能と、所定の条件が満たされた場合に、電文記憶部に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定し、特定された電文を処理し、特定された電文の処理結果を複製データに反映する電文処理反映機能とを実現させる。
【発明の効果】
【００２２】
本発明の複製データ制御装置、システム、方法およびプログラムにより、複製データ制御装置にかかる処理の負荷を軽減しつつ、電文処理装置による電文の処理結果が反映されたデータと複製データ制御装置によって複製された複製データとの差異を小さくすることが可能になる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第一の実施形態の複製データ制御装置の構成例を示すブロック図である。
【図２】本発明の第一の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図３】本発明の第一の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図４】本発明の第一の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図５】本発明の第二の実施形態の複製データ制御システムの構成例を示すブロック図である。
【図６】本発明の第二の実施形態の複製データ制御装置の電文格納表の一例を示す図である。
【図７】本発明の第二の実施形態の複製データ制御装置の更新履歴管理表の一例を示す図である。
【図８】本発明の第二の実施形態の複製データ制御システムの動作例を示す図である。
【図９】本発明の第二の実施形態の複製データ制御システムの動作例を示す図である。
【図１０】本発明の第二の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図１１】本発明の第三の実施形態の複製データ制御システムの構成例を示すブロック図である。
【図１２】本発明の第三の実施形態の複製データ制御装置の電文格納表の一例を示す図である。
【図１３】本発明の第三の実施形態の複製データ制御装置の更新履歴管理表の一例を示す図である。
【図１４】本発明の第三の実施形態の電文処理装置の更新情報格納表の一例を示す図である。
【図１５】本発明の第三の実施形態の複製データ制御装置の更新情報格納表の一例を示す図である。
【図１６】本発明の第三の実施形態の複製データ制御システムの動作例を示す図である。
【図１７】本発明の第三の実施形態の複製データ制御システムの動作例を示す図である。
【図１８】本発明の第三の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図１９】本発明の第三の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図２０】本発明の第三の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図２１】本発明の第三の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図２２】本発明の第三の実施形態の複製データ制御装置の動作例を示すフローチャートである。
【図２３】本発明の各実施形態のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
［第一の実施形態］
本発明の第一の実施形態について説明する。
【００２５】
図１は本実施形態の複製データ制御装置１の構成例を示すブロック図である。本実施形態の複製データ制御装置１は、受信部１１と、更新情報反映部１２と、電文記憶部１３と、電文処理反映部１４とを含む。
【００２６】
受信部１１は、電文を処理する電文処理装置から受信した電文を電文記憶部１３に記憶させる。
【００２７】
電文記憶部１３は、複製データ制御装置１が受信した電文を記憶する。
【００２８】
更新情報反映部１２は、電文処理装置による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを受信する。また、更新情報反映部１２は、更新情報を用いて、複製データ記憶部７に記憶されている複製データに、電文処理装置による電文の処理結果を反映する。
【００２９】
電文処理反映部１４は、所定の条件が満たされた場合に、電文記憶部１３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、電文処理反映部１４は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。
【００３０】
このように複製データ制御装置１を構成することによって、複製データ制御装置１は、電文記憶部１３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置１は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置１にかかる処理の負荷を軽減しつつ、電文処理装置による電文の処理結果が反映されたデータと複製データ制御装置１によって複製された複製データとの差異を小さくすることが可能になる。
【００３１】
次に、図２から図４を用いて、本実施形態の複製データ制御装置１の動作例を説明する。
【００３２】
図２は受信部１１の、図３は更新情報反映部１２の、図４は電文処理反映部１４の動作例を示すフローチャートである。
【００３３】
まず、図２と図３を用いて、本実施形態の複製データ制御装置１の受信部１１と更新情報反映部１２の動作例を説明する。本実施形態の複製データ制御装置１の電文処理反映部１４の動作例（図４）については、後述する。
【００３４】
受信部１１は、電文処理装置から受信した電文を電文記憶部１３に記憶させる（図２のステップＳ１０１）。
【００３５】
更新情報反映部１２は、電文処理装置による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを受信する（図３のステップＳ２０１）。また、更新情報反映部１２は、更新情報を用いて、複製データ記憶部７に記憶されている複製データに、電文処理装置による電文の処理結果を反映する（ステップＳ２０２）。
【００３６】
次に、図４を用いて、本実施形態の電文処理反映部１４の動作例について説明する。
【００３７】
電文処理反映部１４は、所定の条件が満たされた場合に、電文記憶部１３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、電文処理反映部１４は、特定された電文を処理する（ステップＳ３０１）。そして、電文処理反映部１４は、特定された電文の処理結果を複製データに反映する（ステップＳ３０２）。
【００３８】
このように動作することによって、複製データ制御装置１は、電文記憶部１３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置１は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置１にかかる処理の負荷を軽減しつつ、電文処理装置による電文の処理結果が反映されたデータと複製データ制御装置１によって複製された複製データとの差異を小さくすることが可能になる。
【００３９】
［第二の実施形態］
次に、本発明の第二の実施の形態における複製データ制御装置３について具体的に説明する。
【００４０】
まず、図５に本実施形態の複製データ制御システムの構成例を示す。本実施形態の複製データ制御システムは、複製データ制御装置３と、電文処理装置２とを含む。なお、複製データ制御装置３と電文処理装置２の数は、各々、一つまたは二以上の複数の任意である。
【００４１】
電文処理装置２は、入力された電文を処理し、その処理結果を反映したデータを記憶する装置である。たとえば、勘定系システムや証券取引システムなどの業務システムで使用される現用系の装置が電文処理装置２に相当する。複製データ制御装置３は、電文処理装置２が記憶するデータの予備のデータを記憶する装置である。たとえば、業務システムで使用される待機系の装置が複製データ制御装置３に相当する。複製データ制御装置３が記憶する、電文処理装置２が記憶するデータの予備のデータを複製データと呼ぶ。
【００４２】
次に、図５を用いて、本実施形態の電文処理装置２の構成例を説明する。
【００４３】
電文処理装置２は、送受信部２１と、処理部２２と、データ記憶部２３とを含む。
【００４４】
送受信部２１は、外部から入力を受けた電文と、当該電文を識別する情報である識別情報とを複製データ制御装置３に出力する。また、送受信部２１は、入力を受けた電文と電文の識別情報とを電文処理装置２の処理部２２に出力する。
【００４５】
本実施形態において、電文の識別情報は、電文処理装置２が当該電文を処理した順番を示す番号であるとする。また、電文の識別情報の数値は、電文処理装置２によって処理された順で大きくなる（昇順）とする。送受信部２１は、入力を受けた電文に対し、電文処理装置２が電文を処理する順番に基づいて識別情報を付与してもよい。なお、入力を受けた電文に対し識別情報が予め設定されている場合は、送受信部２１は識別情報を決定せず、設定されている識別情報を用いてもよい。
【００４６】
データ記憶部２３は、データを記憶する。データは、電文処理装置２による電文の処理結果が反映されている情報である。また、データは、複製データ制御装置３によって複製される対象である。データ記憶部２３は、業務データベースなどに相当する。データ記憶部２３に記憶されているデータは、処理部２２によって更新される。また、データは、複数のデータ記憶部２３に分散配置されていてもよい。その場合、電文処理装置２は、データ記憶部２３ごとに処理系列を分け、処理系列ごとに並列処理してもよい。なお、データ記憶部２３は、電文処理装置２の外部の装置に含まれていてもよい。
【００４７】
処理部２２は、送受信部２１から受信した電文を処理し、データ記憶部２３に記憶されているデータに電文の処理結果を反映する。また、処理部２２は、データ記憶部２３に記憶されているデータに電文の処理結果を反映した後に、電文の処理結果の反映が終了したことを示す終了通知を送受信部２１に出力する。
【００４８】
また、処理部２２は、更新情報を作成する。更新情報は、電文処理装置２が電文の処理結果を電文処理装置２に記憶されているデータに反映した場合の、反映前後のデータの差分を示す情報である。たとえば、更新情報は、前回更新情報を作成した時点のデータと、今回の更新情報を作成した時点のデータとの差分を示す情報であってもよい。本実施形態では、処理部２２は、データ記憶部２３に記憶されているデータへ電文の処理結果を反映する度に更新情報を作成する。
【００４９】
また、処理部２２は、送受信部２１による、複製データ制御装置３へ電文を出力する動作とは非同期に、電文の処理結果が反映されている更新情報と、更新電文情報とを複製データ制御装置３の更新情報反映部３２に出力する。更新電文情報は、更新情報に処理結果が反映されている電文の情報を示す。本実施形態の更新電文情報は、更新情報に処理結果が反映されている電文の情報として、更新情報に処理結果が反映されている電文の識別情報を含む。
【００５０】
また、処理部２２は、所定の数の電文の処理結果をデータに反映する度に更新情報を作成してもよい。たとえば、識別情報が９５、９６、９７の電文が処理された後に作成された更新情報に対応する更新電文情報は、９５、９６、９７になる。このように、更新電文情報は、複数の電文の識別情報を含んでいてもよい。更新電文情報は、更新情報に複数の電文の処理結果が反映されている場合、処理結果がデータに最後に反映された電文の識別情報（９７）であってもよい。
【００５１】
なお、処理部２２は、図示しない所定の記憶部に更新情報を記憶させてもよい。電文処理装置２の負荷を鑑み、更新情報の出力のタイミングを制御する所定の制御部からの指示を受けて、処理部２２は、図示しない所定の記憶部から更新情報を読み出し、読み出した更新情報を出力してもよい。
【００５２】
次に、図５を用いて、複製データ制御装置３の構成例を説明する。
【００５３】
複製データ制御装置３は、受信部３１と、更新情報反映部３２と、電文記憶部３３と、電文処理反映部３４と、複製データ記憶部３５と、更新履歴記憶部３６とを含む。
【００５４】
受信部３１は、電文を処理する電文処理装置２から、電文と、電文の識別情報とを受信する。前述のとおり、本実施形態では、電文の識別情報は、電文処理装置２が当該電文を処理した順番を示す番号である。
【００５５】
受信部３１は、電文と電文の識別情報とを対応付けて、電文記憶部３３に記憶されている電文格納表の空き領域に格納する。また、受信部３１は、受信した電文の識別情報を入力済通番として、更新履歴記憶部３６に記憶されている更新履歴管理表に格納する。本実施形態では、入力済通番は、電文処理装置２から最後に受信した電文に対応する識別情報とする。
【００５６】
電文記憶部３３は、電文を記憶する。本実施形態では、電文記憶部３３は、電文格納表を記憶する。電文格納表は、電文と当該電文の識別情報とを含む。
【００５７】
図６に本実施形態の電文格納表の例を示す。この例では、識別情報が９９、１００、１０１の電文が、電文格納表に格納されている。
【００５８】
更新履歴記憶部３６は、更新履歴管理表を記憶する。
【００５９】
図７に本実施形態の更新履歴管理表の例を示す。更新履歴管理表は、入力済通番と、反映済通番とを含む。この例は、受信部３１が最後に受信した電文の識別情報が１０１である場合の例である。この場合、入力済通番に１０１が格納される。反映済通番については、後述する。
【００６０】
複製データ記憶部３５は、複製データを記憶する。複製データは、電文処理装置２に障害が発生した場合などに用いられる予備のデータである。本実施形態では、電文処理装置２のデータ記憶部２３に記憶されているデータと、複製データ制御装置３の複製データ記憶部３５に記憶されている複製データとは、複製データ制御システムの運用開始時において同一であることを前提とする。また、複製データは、複数の複製データ記憶部３５に分散配置されていてもよい。その場合、複製データ制御装置３は、複製データ記憶部３５ごとに処理系列を分け、処理系列ごとに並列処理してもよい。なお、複製データ記憶部３５は、複製データ制御装置３の外部の装置に含まれていてもよい。
【００６１】
更新情報反映部３２は、電文処理装置２による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを、電文処理装置２の処理部２２から受信する。更新電文情報は、電文の情報として、電文処理装置２が電文を処理した順番を示す識別情報を含む。
【００６２】
なお、本実施形態では、電文処理装置２は、電文の処理結果をデータへ反映する度に更新情報を作成する。そのため、更新情報が作成された順番は、更新電文情報に含まれる識別情報の順となる。複製データ制御装置３は、電文処理装置２が更新情報を作成した順、つまり、更新電文情報に含まれる識別情報の順に更新情報を用いて、複製データに電文の処理結果を反映する。
【００６３】
さらに、更新情報反映部３２は、用いた更新情報に対応する更新電文情報に含まれる識別情報を反映済通番として更新履歴管理表に格納する。反映済通番は、どの電文の処理結果が、更新情報を用いて複製データに反映されたかを示す情報である。本実施形態の場合、反映済通番は、複製データへの処理結果の反映に最後に用いた更新情報に対応する、更新電文情報であるとする。複製データへの処理結果の反映に最後に用いた更新情報に対応する更新電文情報に、複数の識別情報が含まれる場合には、反映済通番は、更新電文情報に含まれる識別情報のうち、数値が最大の識別情報であってもよい。
【００６４】
図７の例の場合、更新履歴管理表には、反映済通番として１００が格納されている。これは、複製データへの処理結果の反映に更新情報反映部３２が最後に用いた更新情報に対応する更新電文情報に含まれる識別情報が１００であったこと、つまり、識別情報が１００までの電文の処理結果が複製データに反映されていることを示す。
【００６５】
電文処理反映部３４は、所定の条件が満たされた場合に動作する。たとえば、条件は、電文の処理を指示する指示入力があった場合、電文処理装置２から電文を所定の時間受信しなかった場合、または、電文処理装置２の異常を所定の方法で検知した場合である。
【００６６】
いずれかの条件が満たされた場合に、電文処理反映部３４は、電文記憶部３３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。具体的には、電文処理反映部３４は、処理結果が複製データに反映されていない電文として、電文記憶部３３に記憶されている電文のうち、更新履歴管理表に記憶されている反映済通番より大きい識別情報をもつ電文を特定する。
【００６７】
また、電文処理反映部３４は、特定した電文を電文記憶部３３の電文格納表から読み出し、特定した電文を処理し、特定した電文の処理結果を複製データに反映する。なお、処理結果が複製データに反映されていない電文として複数の電文が特定された場合、電文処理反映部３４は、電文処理装置２が電文を処理した順番を示す識別情報の順番で、特定した電文を処理する。
【００６８】
また、電文処理反映部３４は、電文を処理し、電文の処理結果を複製データに反映する度に、反映済通番として、当該電文の識別情報を更新履歴記憶部３６に記憶されている更新履歴管理表に格納してもよい。この場合、反映済通番は、複製データに処理結果が反映されている電文の識別情報を示す。すなわち、更新情報反映部３２による、更新情報を用いた処理結果の反映と、電文処理反映部３４による、電文の処理結果を用いた処理結果の反映との両方の動作によって、反映済通番が格納される。
【００６９】
また、電文処理反映部３４は、電文処理装置２の処理部２２と同じ処理結果が得られる電文処理機能を備える。そのため、電文処理装置２の処理部２２が処理結果をデータに反映した場合に、反映前後のデータに差分を生じさせない電文は、複製データ制御装置３が複製データに当該電文の処理結果を反映した場合も、反映前後の複製データに差分を生じさせない。
【００７０】
電文処理反映部３４は、電文処理装置２の送受信部２１から記憶部反映情報を受信した場合に、電文記憶部３３に記憶されている電文格納表に記憶部反映情報を格納してもよい。記憶部反映情報は、電文処理装置２による電文の処理結果の反映により反映前後のデータに差分が生じたか否かを示す情報である。記憶部反映情報が電文格納表に格納されている場合には、複製データ制御装置３の電文処理反映部３４は、記憶部反映情報に基づいて、反映前後のデータに差分を生じさせる電文を選択的に処理してもよい。第三の実施形態は、記憶部反映情報を用いる場合の実施の形態である。よって、記憶部反映情報を用いる場合については、第三の実施形態で説明する。
【００７１】
また、電文処理装置２に障害が発生した場合など、電文処理装置２で電文の処理を行うことができない場合は、複製データ制御装置３を実行系として用いることも可能である。複製データ制御装置３は、電文処理装置２から受信した電文の処理結果をすべて複製データに反映した後に、電文処理装置２の代わりに実行系として電文の処理を継続することが可能である。その場合は、複製データ制御装置３は、まず、処理結果が複製データに反映されていない電文として特定された電文を処理し、当該電文の処理結果を複製データへ反映する。その後、受信部３１は、電文を受信するための通信回線を電文処理装置２から外部へ切り替え、外部から電文の入力を受ける。また、電文処理反映部３４は、電文処理装置２の処理部２２と同様に電文を処理し、複製データに電文の処理結果を反映する。
【００７２】
このように複製データ制御装置３を構成することによって、複製データ制御装置３は、電文記憶部３３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置３は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置３にかかる処理の負荷を軽減しつつ、電文処理装置２による電文の処理結果が反映されたデータと複製データ制御装置３によって複製された複製データとの差異を小さくすることが可能になる。
【００７３】
また、本実施形態の複製データ制御装置３は、障害発生など、所定の条件が満たされた場合に、電文記憶部３３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を更新電文情報に基づいて特定する。また、複製データ制御装置３は、特定された電文を処理し、電文の処理結果を複製データに反映する。これにより、特定された電文の処理結果を複製データに反映した後に、複製データに処理結果が反映されていない電文は、電文処理装置２が受信したものの、障害が発生したときに、複製データ制御装置３が電文処理装置２から受信していない電文のみとなる。そのため、本実施形態の複製データ制御装置３は、複製データ制御装置３に記憶されている複製データと、電文処理装置２に記憶されているデータとの差異を最小限にすることが可能である。また、本実施形態の複製データ制御システムは、電文処理装置２の代わりに複製データ制御装置３を実行系として用いて、電文の処理を短時間で再開することが可能になる。
【００７４】
また、本実施形態の電文処理反映部３４は、電文を処理して処理結果を複製データに反映した後に、処理対象の電文の識別情報を反映済通番として更新履歴管理表に格納してもよい。その場合、複製データに処理結果が反映された電文を複製データ制御装置３が随時把握することが可能になる。これにより、電文処理反映部３４は、電文の処理が中断した場合に、中断する直前に処理結果が複製データに反映された電文の次の識別情報をもつ電文（処理が中断された電文）から処理を行うことが可能になる。そのため、複製データ制御装置３は、電文を迅速に処理することが可能になる。
【００７５】
次に、図８から図１０を用いて、本実施形態の複製データ制御システムの動作例を説明する。
【００７６】
図８は、電文処理装置２が電文を処理し、複製データ制御装置３が電文を電文格納表に格納する動作例を示す。図９は、電文処理装置２が更新情報を複製データ制御装置３に出力し、複製データ制御装置３が、受信した更新情報を用いて電文処理装置２による電文の処理結果を複製データに反映する動作例を示す。図１０は、複製データ制御装置３が電文を処理し、電文の処理結果を複製データに反映する動作例を示す。
【００７７】
まず、図８を用いて、電文処理装置２が電文を処理し、複製データ制御装置３が電文を電文格納表に格納する動作を説明する。
【００７８】
電文処理装置２の送受信部２１は、外部から電文（たとえば×××××××××）の入力を受ける（ステップＳ４０１）。また、送受信部２１は、電文を識別する情報である識別情報（たとえば１０１）を電文に付与する（ステップＳ４０２）。さらに、送受信部２１は、入力を受けた電文と電文の識別情報とを複製データ制御装置３に出力する（ステップＳ４０３）。なお、本実施形態では、識別情報は、電文処理装置２が電文を処理した順番を示す。
【００７９】
複製データ制御装置３の受信部３１は、電文を処理する電文処理装置２から、電文と、電文の識別情報とを受信する。受信部３１は、電文処理装置２から受信した電文と、電文の識別情報とを対応付けて、電文記憶部３３に記憶されている電文格納表の空き領域に格納する（図６、３行目、識別情報：１０１／電文：×××××××××）。さらに、受信部３１は、更新履歴記憶部３６に記憶されている更新履歴管理表に、入力済通番として、受信した電文の識別情報（１０１）を格納する（ステップＳ４０４）。また、受信部３１は、電文の格納の終了を示す応答を、電文処理装置２の送受信部２１に出力する（ステップＳ４０５）。
【００８０】
なお、電文記憶部３３に記憶されている電文のうち、更新履歴管理表の反映済通番以下の数値の識別情報をもつ電文は、当該電文の処理結果が複製データに既に反映されている。そのため、受信部３１は、反映済通番以下の値の識別情報をもつ電文を、処理結果が複製データに既に反映されている電文であるとみなすことができる。そのため、受信部３１は、当該電文を電文記憶部３３から削除可能とみなしてもよい。または、電文記憶部３３の、当該電文が記憶されている領域を空き領域とみなしてもよい。たとえば、更新履歴管理表の反映済通番が１００であり、識別情報が９０の電文が電文記憶部３３に記憶されている場合に、識別情報が１０１の電文を受信部３１が受信したとする。この場合は、受信部３１は、電文記憶部３３の、識別情報が９０の電文と識別情報とが記憶されている領域に、識別情報が１０１の電文と識別情報とを記憶させてもよい。
【００８１】
電文処理装置２の送受信部２１は、入力を受けた電文とその電文の識別情報とを処理部２２に出力し（識別情報：１０１／電文：×××××××××）、出力した電文の処理を処理部２２へ要求する。なお、送受信部２１は、ステップＳ４０６の動作をステップＳ４０３の動作と並行して行ってもよい。
【００８２】
処理部２２は、送受信部２１から受信した電文を処理する（ステップＳ４０６）。
【００８３】
また、処理部２２は、ステップＳ４０６における電文の処理結果を、データ記憶部２３に記憶されているデータに反映する。また、処理部２２は、ステップＳ４０６における電文の処理結果を反映した更新情報を作成する。処理部２２は、電文の処理結果のデータへの反映が終了したことを示す終了通知を送受信部２１に出力する（ステップＳ４０７）。
【００８４】
送受信部２１は、ステップＳ４０５の応答とステップＳ４０７の終了通知とを受信した場合に、ステップＳ４０１で入力を受けた電文の処理が終了したとみなす（ステップＳ４０８）。電文処理装置２は、ステップＳ４０１からステップＳ４０８の動作の間は新しい電文の入力を受け付けない。電文処理装置２は、ステップＳ４０８の動作の後、新しい電文の入力を受け付ける。
【００８５】
次に、図９を用いて、電文処理装置２が更新情報を複製データ制御装置３に出力し、複製データ制御装置３が、受信した更新情報を用いて電文処理装置２による電文の処理結果を複製データに反映する動作の例を説明する。
【００８６】
電文処理装置２の処理部２２は、所定のタイミングで、更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報とを、複製データ制御装置３の更新情報反映部３２に出力する（ステップＳ５０１）。たとえば、タイミングは、前回の出力から所定の時間が経過した場合、前回の出力以降に所定の数の電文を処理した場合、図示しない制御部から指示を受けた場合の少なくともいずれか１つの条件を満たした場合である。
【００８７】
また、本実施形態では、更新電文情報は、更新情報に処理結果が反映されている電文の識別情報を含む。また、処理部２２は、更新電文情報の他に、処理部２２が更新情報を作成した順番を示す更新情報通番や、一つの電文の処理結果が反映されている更新情報の総数を出力してもよい。更新情報通番や総数を用いる場合の複製データ制御システムの動作については、第三の実施形態で述べる。
【００８８】
複製データ制御装置３の更新情報反映部３２は、電文処理装置２の処理部２２から受信した更新情報を用いて、複製データ記憶部３５に記憶されている複製データに、電文処理装置２による電文の処理結果を反映する。また、更新情報反映部３２は、用いた更新情報に対応する更新電文情報に含まれる識別情報を反映済通番として、更新履歴記憶部３６に記憶されている更新履歴管理表に格納する（ステップＳ５０２）。
【００８９】
たとえば、更新情報反映部３２が、更新情報を用いて電文処理装置２による電文の処理結果を複製データに反映し、当該更新情報に対応する更新電文情報に含まれる識別情報が１００であったとする。この場合、更新情報反映部３２は、反映済通番として、更新電文情報に含まれる識別情報（１００）を、更新履歴管理表に格納する（図７）。
【００９０】
次に、図１０を用いて、複製データ制御装置３が電文を処理し、電文の処理結果を複製データに反映する動作例を説明する。
【００９１】
所定の条件が満たされた場合に、複製データ制御装置３の電文処理反映部３４は、図１０の動作を行う。
【００９２】
なお、所定の条件が満たされた時点での、複製データへの処理結果の反映の状況には、以下の２通りがある。
（１）複製データ制御装置３の電文記憶部３３に記憶されている電文の処理結果は、複製データにすべて反映されている。
（２）複製データ制御装置３の電文記憶部３３に記憶されている電文に、処理結果が複製データに反映されていない電文がある。
【００９３】
ここでは、（１）と（２）のそれぞれの場合を説明する。
【００９４】
まず、（１）複製データ制御装置３の電文記憶部３３に記憶されている電文の処理結果が複製データにすべて反映されている場合について説明する。なお、（１）の場合、更新履歴管理表に記憶されている入力済通番は、反映済通番と等しい。
【００９５】
電文処理反映部３４は、所定の条件が満たされた場合に、更新履歴管理表の入力済通番と反映済通番との比較を行う。（１）の場合、入力済通番と反映済通番が一致し、電文記憶部３３に記憶されている電文の処理結果がすべて複製データに反映されている（ステップＳ６０１、ＮＯ）。そのため、電文処理反映部３４は、ステップＳ６０２からステップＳ６０６までの動作を行わず、図１０の動作を終了する。
【００９６】
次に、（２）複製データ制御装置３の電文記憶部３３に記憶されている電文に、処理結果が複製データに反映されていない電文がある場合について説明する。
【００９７】
なお、ここでは、更新履歴管理表が図７の状態で、電文処理反映部３４が図１０の動作を開始した場合を例に説明する。更新履歴管理表が図７の状態の場合、識別情報１００までの電文の処理結果が複製データに反映されている。また、電文記憶部３３は、識別情報１０１までの電文を記憶している。
【００９８】
電文処理反映部３４は、更新履歴管理表の入力済通番（図７、入力済通番：１０１）と反映済通番（図７、反映済通番：１００）との比較を行う。そして、入力済通番より反映済通番が小さく、電文の処理結果が複製データに反映されていない電文があるので（ステップＳ６０１、ＹＥＳ）、電文処理反映部３４は、電文の処理結果が複製データに反映されていない電文を特定する。なお、本実施形態では、電文の識別情報は、電文処理装置２が電文を処理した順番を示す番号である。そのため、電文処理反映部３４は、反映済通番の次の番号から入力済通番と同じ番号までの識別情報をもつ電文を、処理結果が複製データに反映されていない電文として特定する。
【００９９】
次に、電文処理反映部３４は、特定した電文のうち、反映済通番の次の番号の識別情報（識別情報：１０１）をもつ電文を、処理対象の電文として、電文記憶部３３に記憶されている電文格納表から読み出す（ステップＳ６０２）。
【０１００】
次に、電文処理反映部３４は、読み出された電文（処理対象の電文）を処理する（ステップＳ６０３）。また、電文処理反映部３４は、当該電文の処理結果を複製データに反映する（ステップＳ６０４）。
【０１０１】
電文処理反映部３４は、ステップＳ６０４で複製データに処理結果が反映された電文（処理対象の電文）の識別情報（識別情報：１０１）と、更新履歴管理表の入力済通番とを比較する（ステップＳ６０５）。電文処理反映部３４は、入力済通番より処理対象の電文の識別情報が小さい場合は（ステップＳ６０５、ＹＥＳ）、処理対象の電文の識別情報の次の番号の識別情報をもつ電文を、次の処理対象の電文として読み出す（ステップＳ６０６）。そして、電文処理反映部３４は、ステップＳ６０３以後の動作を行う。
【０１０２】
電文処理反映部３４は、入力済通番と処理対象の電文の識別情報が一致する場合は（ステップＳ６０５、ＮＯ）、図１０の動作を終了する。更新履歴管理表が図７の状態の場合は、識別情報１０１の電文を処理対象の電文として読み出しており、入力済通番と処理対象の電文の識別情報とが一致する。そのため、電文処理反映部３４は図１０の動作を終了する。
【０１０３】
なお、電文処理反映部３４は、ステップＳ６０４において、複製データに処理結果が反映された電文（処理対象の電文）の識別情報を反映済通番として更新履歴記憶部３６に記憶されている更新履歴管理表に格納してもよい。その場合は、反映済通番は、複製データに処理結果が反映された電文の識別情報を示す。また、この場合、ステップＳ６０５において、電文処理反映部３４は、更新履歴管理表に格納されている反映済通番と入力済通番とを比較してもよい。
【０１０４】
このように動作することによって、複製データ制御装置３は、電文記憶部３３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置３は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置３にかかる処理の負荷を軽減しつつ、電文処理装置２による電文の処理結果が反映されたデータと複製データ制御装置３によって複製された複製データとの差異を小さくすることが可能になる。
【０１０５】
以上で説明したように、本発明の第二の実施形態では、複製データ制御装置３は、電文記憶部３３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置３は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置３にかかる処理の負荷を軽減しつつ、電文処理装置２による電文の処理結果が反映されたデータと複製データ制御装置３によって複製された複製データとの差異を小さくすることが可能になる。
【０１０６】
また、本実施形態の複製データ制御装置３は、障害発生など、所定の条件が満たされた場合に、電文記憶部３３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を更新電文情報に基づいて特定する。また、複製データ制御装置３は、特定された電文を処理し、電文の処理結果を複製データに反映する。これにより、特定された電文の処理結果の複製データへの反映の後に、複製データに処理結果が反映されていない電文は、電文処理装置２が受信したものの、障害が発生したときに、複製データ制御装置３が電文処理装置２から受信していない電文のみとなる。そのため、本実施形態の複製データ制御装置３は、複製データ制御装置３に記憶されている複製データと、電文処理装置２に記憶されているデータとの差異を最小限にすることが可能である。また、本実施形態の複製データ制御システムは、電文処理装置２の代わりに複製データ制御装置３を実行系として用いて、電文の処理を短時間で再開することが可能になる。
【０１０７】
また、本実施形態の電文処理反映部３４は、電文を処理して処理結果を複製データに反映した後に、処理対象の電文の識別情報を反映済通番として更新履歴管理表に格納してもよい。その場合、複製データに処理結果が反映された電文を複製データ制御装置３が随時把握することが可能になる。これにより、電文処理反映部３４は、電文の処理が中断した場合に、中断する直前に処理結果が複製データに反映された電文の次の識別情報をもつ電文（処理が中断された電文）から処理を行うことが可能になる。そのため、複製データ制御装置３は、迅速に電文の処理をすることが可能になる。
【０１０８】
また、上述のように、本実施形態の複製データ制御装置３は、電文記憶部３３に記憶されている反映済通番以下の番号の識別情報をもつ電文を、既に処理結果が複製データに反映されている電文としてみなすことができる。そのため、複製データ制御装置３の受信部３１は、当該電文を電文記憶部３３から削除可能とみなす、または、電文記憶部３３の当該電文が記憶されている領域を空き領域とみなすことができる。これにより、電文記憶部３３は、必要な電文を記憶しつつ、記憶領域を有効に活用できるため、複製データ制御装置３の電文記憶部３３にかかるコストを低減することが可能になる。
【０１０９】
［第三の実施形態］
次に、本発明の第三の実施の形態における複製データ制御システムについて具体的に説明する。第三の実施の形態は、電文処理装置５と複製データ制御装置４のそれぞれが更新情報を記憶する点で、第二の実施形態と異なる。また、第二の実施形態と共通する構成や効果については、重複する説明を省略する。
【０１１０】
まず、図１１に本実施形態の複製データ制御システムの構成例を示す。本実施形態の複製データ制御システムは、複製データ制御装置４と、電文処理装置５とを含む。
【０１１１】
次に、図１１を用いて本実施形態の電文処理装置５の構成例を説明する。
【０１１２】
本実施形態の電文処理装置５は、送受信部５１と、処理部５２と、データ記憶部５３と、更新情報記憶部５４とを含む。本実施形態の電文処理装置５は、更新情報記憶部５４を含む点で、第二の実施形態の電文処理装置２（図５）と異なる。
【０１１３】
送受信部５１は、外部から入力を受けた電文と、当該電文を識別する情報である識別情報とを複製データ制御装置４に出力する。また、送受信部５１は、入力を受けた電文と電文の識別情報とを電文処理装置５の処理部５２に出力する。
【０１１４】
本実施形態において、電文の識別情報は、電文処理装置５が当該電文を処理した順番を示す番号であるとする。また、識別情報の数値は、電文処理装置５によって処理された順で大きくなる（昇順）とする。
【０１１５】
さらに、送受信部５１は、トランザクション情報を処理部５２から受信する。トランザクション情報は、電文の処理に関する情報である。トランザクション情報は、処理対象の電文の識別情報と、電文処理装置５による当該電文の処理に関する情報とを含む。また、本実施形態のトランザクション情報は、電文処理装置５による当該電文の処理に関する情報として、記憶部反映情報とレプリケーション情報とを含む。記憶部反映情報は、電文処理装置５による電文の処理結果の反映により反映前後でデータ記憶部５３に記憶されているデータに差分を生じさせたか否かを示す情報である。レプリケーション情報は、電文処理装置５による電文の処理結果のデータへの反映が正常に終了したか否かを示す情報である。送受信部５１は、電文の処理結果のデータへの反映が終了したことを示す終了通知を、トランザクション情報と共に、アプリケーション実行部５２１から受信する。そして、送受信部５１は、トランザクション情報を複製データ制御装置４に出力する。なお、送受信部５１は、トランザクション情報の出力に対する複製データ制御装置４の応答を待ち合わせない。
【０１１６】
また、送受信部５１は、電文の複製データ制御装置４への出力が終了し、かつ、アプリケーション実行部５２１から終了通知を受信した場合に、コミット処理またはロールバック処理を電文処理結果反映部５２２に要求する。このとき、送受信部５１は、トランザクション情報に含まれるレプリケーション情報に基づいて、コミット処理、または、ロールバック処理を電文処理結果反映部５２２に要求する。なお、電文の処理結果のデータへの反映が正常に終了したか否かを示す情報が終了通知に含まれる場合は、送受信部５１は、終了通知に含まれる情報に基づいて、コミット処理またはロールバック処理を電文処理結果反映部５２２に要求してもよい。また、コミット処理は、電文の処理結果のデータへの反映を確定する処理である。また、ロールバック処理は、電文の処理結果が反映される前の状態にデータを戻す処理である。
【０１１７】
送受信部５１は、受信したトランザクション情報に含まれるレプリケーション情報が電文の処理結果のデータへの反映が正常に終了したことを示す場合に、電文処理結果反映部５２２に、コミット処理を要求する。
【０１１８】
また、送受信部５１は、受信したトランザクション情報に含まれるレプリケーション情報が電文の処理結果のデータへの反映が正常に終了しなかったことを示す場合に、電文処理結果反映部５２２に、ロールバック処理を要求する。送受信部５１は、ロールバック処理、または、コミット処理が終了したことを示す通知を電文処理結果反映部５２２から受信した場合に、電文の処理が終了したとみなし、次の電文の入力を受け付ける。
【０１１９】
なお、送受信部５１から複製データ制御装置４への電文の出力が正常に終了したか否かによらず、レプリケーション情報が電文の処理結果のデータへの反映が正常に終了したことを示す場合は、送受信部５１は、電文処理結果反映部５２２にコミット処理を要求する。そして、電文処理装置５の電文処理結果反映部５２２は、電文の処理結果のデータへの反映を確定する。その後、電文処理装置５の送受信部５１は、コミット処理が終了したことを示す通知を電文処理結果反映部５２２から受信した場合に、電文の処理が終了したとみなし、次の電文の入力を受け付ける。
【０１２０】
複製データ制御装置４への電文の出力が正常に終了しなかった場合には、複製データ制御装置４と電文処理装置５との間の通信の障害、または、複製データ制御装置４の異常が想定される。そのため、電文処理装置５の送受信部５１は、複製データ制御装置４の受信部４１へ出力できなかった電文を受信部４１へ再度出力してもよい。また、複製データ制御装置４がシステム内に複数存在する場合は、異常が発生した複製データ制御装置４の代わりに、異常が生じていない複製データ制御装置４を用いて、電文処理装置５に記憶されているデータを複製してもよい。
【０１２１】
また、複製データ制御装置４や通信回線が障害から復旧した後に、電文処理装置５は、障害が発生している間に作成した更新情報と、更新電文情報とを複製データ制御装置４に出力してもよい。
【０１２２】
データ記憶部５３は、データを記憶する。データは、電文処理装置５による電文の処理結果が反映されている情報である。また、データは、複製データ制御装置４によって複製される対象である。なお、データ記憶部５３は、電文処理装置５の外部の装置に含まれていてもよい。
【０１２３】
処理部５２は、アプリケーション実行部５２１と電文処理結果反映部５２２と更新情報管理部５２３とを含む。
【０１２４】
アプリケーション実行部５２１は、送受信部５１から受信した電文を処理し、電文の処理結果と当該電文の識別情報とを電文処理結果反映部５２２に出力する。また、電文の処理結果のデータへの反映が終了したことを示す終了通知とトランザクション情報とを電文処理結果反映部５２２から受信する。また、アプリケーション実行部５２１は、電文処理結果反映部５２２から受信したトランザクション情報と終了通知とを送受信部５１に出力する。
【０１２５】
電文処理結果反映部５２２は、アプリケーション実行部５２１から電文の処理結果と当該電文の識別情報を受信した場合に、電文の処理結果を反映する前のデータに関する情報を所定の記憶部に記憶する。さらに、電文処理結果反映部５２２は、アプリケーション実行部５２１から受信した電文の処理結果を、データ記憶部５３に記憶されているデータに反映する。
【０１２６】
さらに、電文処理結果反映部５２２は、電文の処理結果が反映された更新情報を作成する。本実施形態では、電文処理結果反映部５２２は、電文の処理結果を反映する前後のデータに関する情報を比較し、電文の処理結果の反映前後のデータに差分がある場合に、更新情報を作成する。また、電文処理結果反映部５２２は、更新情報に対して、当該更新情報が作成された順番を示す更新情報通番を設定する。更新情報は、電文処理装置５が電文の処理結果を電文処理装置５に記憶されているデータに反映した場合の反映前後のデータの差分を示す情報である。
【０１２７】
また、電文処理結果反映部５２２は、更新情報と、更新電文情報と、更新情報通番とを更新情報管理部５２３に出力する。本実施形態の更新電文情報は、更新情報に処理結果が反映されている電文の情報として、更新情報に処理結果が反映されている電文の識別情報を含む。
【０１２８】
また、電文処理結果反映部５２２は、電文の処理結果を反映する前後のデータに関する情報を比較し、記憶部反映情報を作成する。また、電文処理結果反映部５２２は、電文処理結果反映部５２２における電文の処理結果のデータへの反映が正常に終了したか否かに基づいてレプリケーション情報を作成する。また、電文処理結果反映部５２２は、電文の処理結果のデータへの反映が終了したことを示す終了通知とトランザクション情報とを、アプリケーション実行部５２１に出力する。
【０１２９】
さらに、電文処理結果反映部５２２は、送受信部５１からコミット処理を要求された場合に、電文の処理結果のデータへの反映を確定するコミット処理を行う。本実施形態において、電文の処理結果のデータへの反映を確定する、とは、ロールバック処理を行わないことを確定することである。また、電文処理結果反映部５２２は、コミット処理として、所定の記憶部に記憶されている、電文の処理結果を反映する前のデータに関する情報を削除してもよい。
【０１３０】
なお、電文処理結果反映部５２２は、送受信部５１からロールバック処理を要求された場合に、ロールバック処理を行う。具体的には、電文処理結果反映部５２２は、所定の記憶部に記憶されている、電文の処理結果を反映する前のデータに関する情報に基づいて、電文の処理結果が反映される前の状態にデータを戻す。
【０１３１】
また、電文処理結果反映部５２２は、ロールバック処理、または、コミット処理を終了した後に、ロールバック処理、または、コミット処理が終了したことを示す通知を送受信部５１に出力する。
【０１３２】
また、電文処理結果反映部５２２は、ロールバック処理、または、コミット処理を終了した後に、処理結果のデータへの反映が確定された電文を示す情報を更新情報管理部５２３に出力する。なお、電文処理結果反映部５２２は、処理結果が反映される前の状態にデータが戻された電文を示す情報を更新情報管理部５２３に出力してもよい。
【０１３３】
なお、電文処理結果反映部５２２は、一つの電文に対する更新情報の情報容量が大きい場合は、更新情報を任意の数に分割してもよい。この場合など、一つの電文の処理結果が反映された更新情報が複数ある場合は、電文処理結果反映部５２２は、更新情報通番の他に、電文に対する更新情報の総数を示す情報をさらに更新情報管理部５２３に出力する。
【０１３４】
更新情報管理部５２３は、更新情報記憶部５４に記憶されている更新情報格納表に、電文処理結果反映部５２２から受信した更新情報と、更新電文情報と、更新情報通番とを格納する。
【０１３５】
また、更新情報管理部５２３は、処理結果のデータへの反映が確定された電文を示す情報を電文処理結果反映部５２２から受信する。
【０１３６】
更新情報管理部５２３は、送受信部５１、アプリケーション実行部５２１、電文処理結果反映部５２２の動作とは非同期で、更新情報を複製データ制御装置４へ出力する。具体的には、更新情報管理部５２３は、所定のタイミングで、処理結果のデータへの反映が確定された電文を示す情報に基づいて、処理結果のデータへの反映が確定された電文に関する更新情報と、更新電文情報と、更新情報通番とを更新情報格納表から読み出す。また、更新情報管理部５２３は、読み出した更新情報と、更新電文情報と、更新情報通番とを複製データ制御装置４の更新情報反映部４２に出力する。たとえば、所定のタイミングは、更新情報管理部５２３が、電文処理装置５の負荷を鑑み、更新情報の出力のタイミングを制御する所定の制御部の指示を受けた時であってもよい。なお、更新電文情報に対する更新情報の総数がさらに更新情報格納表に含まれる場合は、更新情報管理部５２３は、総数をさらに更新情報反映部４２に出力する。
【０１３７】
なお、更新情報管理部５２３は、処理結果が反映される前の状態にデータが戻された電文を示す情報を電文処理結果反映部５２２から受信してもよい。更新情報管理部５２３は、電文処理結果反映部５２２から受信した、処理結果が反映される前の状態にデータが戻された電文を示す情報に基づいて、処理結果が反映される前の状態にデータが戻された電文に関する更新情報と、更新電文情報と、更新情報通番とを更新情報記憶部５４から削除する。
【０１３８】
更新情報記憶部５４は、更新情報格納表を記憶する。
【０１３９】
図１４に本実施形態の更新情報記憶部５４が記憶する更新情報格納表の例を示す。更新情報格納表は、更新情報と、更新電文情報と、更新情報通番とを含む。また、一つの電文の処理結果が反映されている更新情報の総数を電文処理装置５の更新情報管理部５２３から受信した場合には、更新情報管理部５２３は、更新情報格納表にさらに総数を記憶させる。また、更新電文格納表は、処理結果のデータへの反映が確定された電文を示す情報、または、処理結果が反映される前の状態にデータが戻された電文を示す情報を含んでいてもよい。
【０１４０】
図１４に示す更新情報格納表は、電文処理装置５に記憶されているデータに識別情報が１０２から１０５の電文の処理結果が反映され、識別情報が１０２、１０４、１０５の電文の処理結果のデータへの反映により、反映前後のデータに差分が生じた場合の例である。この例では、電文処理結果反映部５２２から更新情報管理部５２３が受信した、更新情報通番が２００、２０１、２０２（更新電文情報が１０２、１０４、１０５）の更新情報が、更新情報格納表に記憶されている。
【０１４１】
次に、図１１を用いて、複製データ制御装置４の構成例を説明する。本実施形態の複製データ制御装置４は、更新情報記憶部４７を含む点で、第二の実施形態の複製データ制御装置３（図５）と異なる。
【０１４２】
複製データ制御装置４は、受信部４１と、更新情報反映部４２と、電文記憶部４３と、電文処理反映部４４と、複製データ記憶部４５と、更新履歴記憶部４６と、更新情報記憶部４７とを含む。
【０１４３】
受信部４１は、電文を処理する電文処理装置５から、電文と、電文の識別情報とを受信する。前述のとおり、本実施形態では、電文の識別情報は、電文処理装置５が当該電文を処理した順番を示す番号である。また、受信部４１は、電文と、電文の識別情報と、受信した情報が電文であることを示すデータ識別情報（『電文』）とを電文記憶部４３に記憶されている電文格納表の空き領域に格納する。データ識別情報は、受信した情報が電文か、トランザクション情報かを示す情報である。また、受信部４１は、受信した電文の識別情報を入力済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する。本実施形態では、入力済通番は、電文処理装置５から最後に受信した電文に対応する識別情報とする。
【０１４４】
また、受信部４１は、電文処理装置５からトランザクション情報を受信する。受信部４１は、トランザクション情報と、受信した情報がトランザクション情報であることを示すデータ識別情報（『トランザクション終了』）とを、電文記憶部４３に記憶されている電文格納表の空き領域に格納する。トランザクション情報を電文格納表に格納した後に、複製データ制御装置４の受信部４１は、トランザクション情報に対する応答を電文処理装置５の送受信部５１に返す。
【０１４５】
電文記憶部４３は、電文を記憶する。本実施形態では、電文記憶部４３は、電文格納表を記憶する。電文格納表は、電文と当該電文の識別情報と当該電文のトランザクション情報（当該電文の識別情報とレプリケーション情報と記憶部反映情報）とを含む。
【０１４６】
図１２に本実施形態の電文格納表の例を示す。この例では、電文処理装置５から受信した、識別情報が１０３から１０８の電文に関する情報（レコード）がそれぞれ電文記憶部４３に記憶されている。なお、識別情報が１０６の電文については、電文に関するレコードは記憶されているが、トランザクション情報に関するレコードは記憶されていない。なお、図１２における『−』は、データがないことを示す。
【０１４７】
また、図１２における、レプリケーション情報が『異常』とは、電文処理装置５において、電文の処理結果のデータへの反映に関する動作が正常に終了しなかったため、電文の処理結果が電文処理装置５に記憶されているデータに反映されていないことを示す。この場合、電文処理装置５では、ロールバック処理が行われている。本実施形態の複製データ制御装置４は、レプリケーション情報が『異常』である電文を、電文処理装置５に記憶されているデータに処理結果が反映されていない電文とみなす。
【０１４８】
また、記憶部反映情報は、電文処理装置５による電文の処理結果の反映により、データ記憶部５３に記憶されているデータに反映前後で差分が生じたか否かを示す情報である。図１２において、記憶部反映情報が『更新あり』とは、電文処理装置５による電文の処理結果の反映により反映前後のデータに差分が生じたこと示す。つまり、記憶部反映情報が『更新あり』となっている電文は、複製データ制御装置４で処理され、複製データに処理結果が反映された場合に、反映前後の複製データに差分を生じさせる電文である。一方で、記憶部反映情報が『更新なし』とは、電文処理装置５による電文の処理結果の反映により反映前後のデータに差分が生じない（反映の前後でデータの内容が同一である）電文であること示す。つまり、記憶部反映情報が『更新なし』となっている電文は、複製データ制御装置４で処理され、電文の処理結果が反映された場合に、反映前後の複製データに差分を生じさせない。
【０１４９】
更新履歴記憶部４６は、更新履歴管理表を記憶する。
【０１５０】
図１３に本実施形態の更新履歴管理表の例を示す。更新履歴管理表は、入力済通番と、格納済通番と、反映済通番とを含む。この例は、受信部４１が受信した電文の識別情報が１０８である場合の例である。この場合、入力済通番に１０８が格納される。格納済通番と反映済通番については、後述する。
【０１５１】
複製データ記憶部４５は、複製データを記憶する。複製データは、電文処理装置５に障害が発生した場合などに用いられる予備のデータである。本実施形態では、電文処理装置５のデータ記憶部５３に記憶されているデータと、複製データ制御装置４の複製データ記憶部４５に記憶されている複製データは、複製データ制御システムの運用開始時において同一であることを前提とする。なお、複製データ記憶部４５は、複製データ制御装置４の外部の装置に含まれていてもよい。
【０１５２】
更新情報反映部４２は、電文処理装置５による電文の処理結果が反映されている更新情報と、更新情報に処理結果が反映されている電文の情報を示す更新電文情報と、更新情報通番とを、電文処理装置５の更新情報管理部５２３から受信する。更新情報通番は、更新情報が作成された順番を示す。更新電文情報は、電文の情報として、電文の識別情報を含む。電文の識別情報は、電文処理装置５が電文を処理した順番を示す。更新情報反映部４２は、更新情報と、更新電文情報と、更新情報通番とを、更新情報記憶部４７に記憶されている更新情報格納表の空き領域に格納する。
【０１５３】
さらに、更新情報反映部４２は、受信した更新情報に対応する更新電文情報に含まれる識別情報を、格納済通番として、更新履歴管理表に格納する。格納済通番は、複製データ制御装置４が受信して更新情報記憶部４７に記憶されている更新情報に対応する更新電文情報に含まれる、電文処理装置５による処理結果が更新情報に反映されている電文の識別情報である。更新電文情報に複数の識別情報が含まれる場合には、格納済通番は、更新電文情報に含まれる識別情報のうち、数値が最大の識別情報であってもよい。
【０１５４】
また、更新情報反映部４２は、ある電文の処理結果が反映されている更新情報の総数が電文処理装置５から出力されている場合に、次のように動作してもよい。ある電文に対して、総数と同じ個数の更新情報を更新情報格納表に格納した場合に、更新情報反映部４２は、当該更新情報に対応する更新電文情報を格納済通番として更新履歴管理表に格納する。
【０１５５】
たとえば、更新情報反映部４２が電文処理装置５の更新情報管理部５２３から受信した更新電文情報が１０９、また、対応付けられた総数が２であったとする。また、更新情報反映部４２が、電文処理装置５の更新情報管理部５２３から、更新電文情報が１０９、更新情報通番が２０５の更新情報と、更新電文情報が１０９、更新情報通番が２０６の更新情報とを受信したとする。更新情報反映部４２は、更新情報通番が２０５と２０６の２つの更新情報を電文処理装置５の更新情報管理部５２３より受信し、更新情報格納表に格納した場合に、更新電文情報に含まれる識別情報の１０９を格納済通番として更新履歴管理表に格納する。
【０１５６】
図１３の更新履歴管理表の例の場合、格納済通番は１０５である。この例は、更新情報反映部４２が、更新電文情報が１０５である更新情報を受信し、更新情報記憶部４７に記憶されている更新情報格納表に当該更新情報を格納した場合の例である。この場合、更新履歴管理表には、格納済通番として１０５が格納される。
【０１５７】
なお、電文記憶部４３に記憶されている電文のうち、更新履歴管理表に格納されている格納済通番以下の値の識別情報をもつ電文は、当該電文の処理結果が反映されている更新情報が、更新情報記憶部４７に既に記憶されている。そのため、受信部４１は、電文処理装置５から受信した電文を電文記憶部４３に記憶されている電文格納表の空き領域に格納する場合に、電文格納表の、格納済通番以下の識別情報をもつ電文が記憶されている領域を空き領域としてみなしてもよい。
【０１５８】
本実施形態の更新情報反映部４２は、更新電文情報に含まれる識別情報の順ではなく、更新情報通番の順に、更新情報を複製データに反映する。本実施形態では、電文処理装置５の電文処理結果反映部５２２は、電文の処理結果を反映する前後のデータに関する情報を比較し、電文の処理結果の反映により反映前後のデータに差分が生じる場合に更新情報を作成する。このため、更新情報記憶部４７に記憶されている更新情報格納表において、更新情報に処理結果が反映されている電文の識別情報（更新電文情報）が連続しない場合がある。そこで、本実施形態の更新情報反映部４２は、更新情報通番に基づき、更新情報を用いて、電文処理装置５による電文の処理結果を複製データに反映する。更新情報反映部４２は、更新情報記憶部４７に記憶されている更新情報を読み出し、更新情報通番の順に更新情報を用いて、複製データ記憶部４５に記憶されている複製データに、電文処理装置５による電文の処理結果を反映する。
【０１５９】
さらに、更新情報反映部４２は、用いた更新情報に対応する更新電文情報に含まれる識別情報を反映済通番として更新履歴管理表に格納する。反映済通番は、どの電文の処理結果が、更新情報を用いて複製データに反映されたかを示す情報である。本実施形態の場合、反映済通番は、複製データへの処理結果の反映に最後に用いた更新情報に対応する、更新電文情報である。
【０１６０】
更新情報反映部４２は、ある電文について、当該電文の処理結果が反映された更新情報の総数を受信した場合に、更新情報通番の順に更新情報を用いて、電文処理装置５による電文の処理結果を複製データに反映する。また、更新情報反映部４２は、更新情報の総数に基づいて、同じ識別情報を含む更新電文情報に対応するすべての更新情報を用いて電文の処理結果を反映した後に、当該更新電文情報に含まれる識別情報を反映済通番として更新履歴管理表に格納する。
【０１６１】
また、図１３の更新履歴管理表の例の場合、反映済通番は１０４である。この例は、更新情報反映部４２が、更新電文情報が１０４の更新情報を用いて、電文処理装置５による電文の処理結果を複製データに反映したことを示す。この場合、更新履歴管理表には、反映済通番として１０４が格納される。
【０１６２】
更新情報記憶部４７は、更新情報格納表を記憶する。
【０１６３】
図１５に本実施形態の更新情報記憶部４７が記憶する更新情報格納表の例を示す。更新情報格納表は、更新情報と、更新電文情報と、更新情報通番とを含む。さらに、更新情報格納表は、一つの電文の処理結果が反映されている更新情報の総数を含んでもよい。図１５に示す更新情報格納表には、電文処理装置５の更新情報管理部５２３から複製データ制御装置４の更新情報反映部４２が受信した、更新情報通番が２００、２０１、２０２（更新電文情報が１０２、１０４、１０５）の更新情報が記憶されている。
【０１６４】
電文処理反映部４４は、アプリケーション実行部４４１と、電文処理結果反映部４４２とを含む。なお、本実施形態では、アプリケーション実行部４４１は、所定の条件が満たされない場合は電文を処理しないものとする。なお、アプリケーション実行部４４１は、所定の条件が満たされるまで、開発や評価環境として用いられるなど、他の用途に使用されてもよい。
【０１６５】
また、アプリケーション実行部４４１は、電文処理装置５のアプリケーション実行部５２１と同じ処理結果が得られる電文処理機能を備える。
【０１６６】
アプリケーション実行部４４１は、所定の条件が満たされた場合に動作する。たとえば、条件は、電文の処理を指示する指示入力があった場合、電文を所定の時間、電文処理装置５から受信していない場合、または、電文処理装置５の異常を所定の方法で検知した場合である。アプリケーション実行部４４１は、更新履歴管理表の格納済通番が反映済通番より大きい場合には、所定の条件が満たされた場合であっても、電文の処理を行わずに待機する。なぜなら、更新履歴管理表に記憶されている格納済通番が反映済通番より大きい場合には、更新情報記憶部４７に記憶されている更新情報に、更新情報反映部４２が電文の処理結果の複製データへの反映に用いていない更新情報があるためである。
【０１６７】
そして、アプリケーション実行部４４１は、電文記憶部４３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。具体的には、アプリケーション実行部４４１は、処理結果が複製データに反映されていない電文として、電文記憶部４３に記憶されている電文のうち、更新履歴管理表に記憶されている反映済通番より大きい識別情報をもつ電文を特定する。
【０１６８】
アプリケーション実行部４４１は、特定した電文から、電文処理装置５のデータ記憶部５３に記憶されているデータに正常に電文の処理結果が反映され、電文の処理結果の反映前後でデータに差分を生じさせた電文を、トランザクション情報に基づいて抽出する。さらに、アプリケーション実行部４４１は、抽出した電文を処理し、電文の処理結果を電文処理結果反映部４４２に出力する。なお、処理結果が複製データに反映されていない電文として複数の電文が抽出された場合、電文処理反映部４４は、電文処理装置５が電文を処理した順番を示す識別情報に基づいて、識別情報の順で、電文を処理する。
【０１６９】
電文処理結果反映部４４２は、アプリケーション実行部４４１から受信した電文の処理結果を、複製データ記憶部４５に記憶されている複製データに反映する。
【０１７０】
このように複製データ制御装置４を構成することによって、複製データ制御装置４は、電文記憶部４３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置４は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置４にかかる処理の負荷を軽減しつつ、電文処理装置５による電文の処理結果が反映されたデータと複製データ制御装置４によって複製された複製データとの差異を小さくすることが可能になる。
【０１７１】
また、上述のように、本実施形態の複製データ制御装置４は、電文処理装置５によって更新情報が作成された順番を示す更新情報通番と、更新情報と、更新電文情報とを更新情報記憶部４７に記憶する。これにより、複製データ制御装置４は、電文処理装置５による電文の処理結果を、更新情報を用いて、任意のタイミングで複製データに反映することが可能になる。そのため、複製データ制御装置４は、複製データ制御装置４の負荷が高い場合に、更新情報を用いた、電文の処理結果の複製データへの反映が複製データ制御装置４の負荷が低い時に行われるよう、反映のタイミングを制御することが可能になる。これにより、複製データ制御装置４の負荷を軽減することが可能になる。なお、複製データ制御装置４の負荷は、複製データ制御装置４のアプリケーション実行部４４１がデータの複製以外の用途に使用されている場合などに、高くなる可能性がある。
【０１７２】
また、電文処理装置５は、更新情報を作成した順番を示す更新情報通番と、更新情報と、更新電文情報とを更新情報記憶部５４に記憶する。これにより、電文処理装置５は、更新情報を任意のタイミングで複製データ制御装置４に出力することが可能になる。そのため、電文処理装置５の負荷が高くなっている場合に、更新情報の送信を遅らせて電文処理装置５の負荷を軽減することが可能になる。
【０１７３】
また、電文処理装置５は、一つの電文の処理結果が反映された更新情報が複数ある場合に、更新情報通番の他に、当該電文の処理結果が反映されている更新情報の総数を複製データ制御装置４に出力する。これにより、複製データ制御装置４は、同じ識別情報を含む更新電文情報に対応する複数の更新情報を一括して更新情報格納表に格納することや、複製データに、複数の更新情報を用いて電文処理装置５による電文の処理結果を反映することが可能になる。また、電文処理装置５が電文の処理結果をデータに反映した結果、情報容量が大きい更新情報が作成された場合に、電文処理装置５は、更新情報を分割し、分割した更新情報を複製データ制御装置４に出力することが可能になる。そのため、複製データ制御装置４への更新情報の出力にかかる電文処理装置５の負荷を軽減することが可能になる。
【０１７４】
次に、図１６から図２２を用いて、本実施形態の複製データ制御システムの動作例を説明する。
【０１７５】
図１６は、電文処理装置５が電文を処理し、複製データ制御装置４が電文を電文格納表に格納する動作例を示す。図１７は、電文処理装置５が更新情報を複製データ制御装置４に出力し、複製データ制御装置４が、受信した更新情報を用いて電文処理装置５による電文の処理結果を複製データに反映する動作例を示す。図１８から図２２は、複製データ制御装置４の動作例である。
【０１７６】
まず、図１６を用いて、電文処理装置５が電文を処理し、複製データ制御装置４が電文を電文格納表に格納する動作例を説明する。
【０１７７】
電文処理装置５の送受信部５１は、外部から電文の入力を受ける（ステップＳ７０１）。また、送受信部５１は、電文を識別する情報である識別情報を電文に付与する（ステップＳ７０２）。さらに、送受信部５１は、入力を受けた電文と、電文の識別情報とを複製データ制御装置４に出力する（ステップＳ７０３）。なお、本実施形態では、識別情報は、電文処理装置５が電文を処理した順番を示す。
【０１７８】
複製データ制御装置４は、電文を処理する電文処理装置５から、電文と、電文の識別情報とを受信する。複製データ制御装置４は、電文と、電文の識別情報と、データ識別情報（『電文』）とを対応付けて、電文記憶部４３に記憶されている電文格納表の空き領域に格納する。さらに、複製データ制御装置４は、受信した電文の識別情報を入力済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する（ステップＳ７０４）。また、複製データ制御装置４は、電文の格納の終了を示す応答を、電文処理装置５の送受信部５１に出力する（ステップＳ７０５）。
【０１７９】
また、送受信部５１は、アプリケーション実行部５２１に、電文の識別情報と、電文とを出力し、出力した電文の処理を要求する。
【０１８０】
図１２の電文格納表の例の場合、複製データ制御装置４が、識別情報が１０８の電文と、電文の識別情報（１０８）を受信した場合は、図１２の１０行目のレコードが電文格納表に記憶される。
【０１８１】
図１３の更新履歴管理表の例は、受信部４１が、識別情報が１０８の電文を電文格納表に記憶し、入力済通番として、電文の識別情報（１０８）を更新履歴管理表に格納したことを示す。
【０１８２】
電文処理装置５のアプリケーション実行部５２１は、送受信部５１にから受信した電文を処理し、処理結果を電文処理結果反映部５２２に出力する（ステップＳ７０６）。
【０１８３】
電文処理結果反映部５２２は、電文の処理結果を反映する前のデータに関する情報を、後述のステップＳ７０８で電文の処理が終了するまで、所定の記憶部に記憶する。電文処理結果反映部５２２は、アプリケーション実行部５２１から出力された電文の処理結果をデータ記憶部２３に記憶されているデータに反映する。
【０１８４】
なお、本実施形態の電文処理装置５は、ロールバック処理を行う場合がある。ステップＳ７０７の動作の結果、電文の処理結果が反映されたデータは、後述のステップＳ７０８で電文の処理が終了するまで、電文の処理結果が反映される前の状態にデータを戻すロールバック処理が可能な状態である。
【０１８５】
また、電文処理結果反映部５２２は、電文の処理結果を反映する前後のデータに関する情報を比較し、電文の処理結果の反映前後のデータに差分がある場合に、更新情報を作成する（ステップＳ７０７）。また、電文処理結果反映部５２２は、更新情報に対して、当該更新情報が作成された順番を示す更新情報通番を設定する。また、電文処理結果反映部５２２は、更新情報と、更新電文情報と、更新情報通番とを更新情報管理部５２３に出力する。
【０１８６】
更新情報管理部５２３は、更新情報記憶部５４に記憶されている更新情報格納表に、電文処理結果反映部５２２から受信した更新情報と、更新電文情報と、更新情報通番とを格納する。
【０１８７】
また、電文処理結果反映部５２２は、電文の処理結果を反映する前後のデータに関する情報を比較し、記憶部反映情報を作成する。また、電文処理結果反映部５２２は、電文処理装置５における電文の処理結果のデータへの反映が正常に終了したか否かに基づいてレプリケーション情報を作成する。また、電文処理結果反映部５２２は、電文の処理結果の反映が終了したことを示す終了通知と、トランザクション情報とをアプリケーション実行部５２１に出力する。
【０１８８】
アプリケーション実行部５２１は、電文の処理結果のデータへの反映が終了したことを示す終了通知とトランザクション情報とを電文処理結果反映部５２２から受信する。また、アプリケーション実行部５２１は、電文処理結果反映部５２２から終了通知とトランザクション情報とを受信した場合に、トランザクション情報と終了通知とを送受信部５１に出力する。
【０１８９】
送受信部５１は、ステップＳ７０５の応答と、電文処理装置５に記憶されているデータへの電文の処理結果の反映の終了通知とを受信した場合に、送受信部５１は、コミット処理、または、ロールバック処理を電文処理結果反映部５２２に要求する。
【０１９０】
送受信部５１は、受信したトランザクション情報に含まれるレプリケーション情報が電文の処理結果のデータへの反映が正常に終了したことを示す場合に、電文処理結果反映部５２２に、コミット処理を要求する。また、ステップＳ７０８においてロールバック処理を行わないことが確定した場合に、電文処理結果反映部５２２は、更新情報を更新情報管理部５２３に出力する。
【０１９１】
電文処理結果反映部５２２は、送受信部５１からコミット処理を要求された場合に、コミット処理をする。具体的には、電文処理結果反映部５２２は、ロールバック処理を行わないことを確定する。電文処理結果反映部５２２は、コミット処理を終了した後に送受信部５１に通知を出力する。
【０１９２】
また、送受信部５１は、受信したトランザクション情報に含まれるレプリケーション情報が電文の処理結果のデータへの反映が正常に終了しなかったことを示す場合に、電文処理結果反映部５２２に、ロールバック処理を要求する。
【０１９３】
なお、電文処理結果反映部５２２は、送受信部５１からロールバック処理を要求された場合に、ロールバック処理を行う。具体的には、処理部５２は、所定の記憶部に記憶されている、処理結果を反映する前のデータに関する情報に基づいて、電文の処理結果が反映される前の状態にデータを戻す。電文処理結果反映部５２２は、ロールバック処理を終了した後に送受信部５１に通知を出力する。
【０１９４】
また、電文処理結果反映部５２２は、処理結果のデータへの反映が確定された電文を示す情報を更新情報管理部５２３に出力する。なお、電文処理結果反映部５２２は、処理結果が反映される前の状態にデータが戻された電文を示す情報を更新情報管理部５２３に出力してもよい。
【０１９５】
送受信部５１は、コミット処理、または、ロールバック処理の終了の通知を受信した場合に、電文の処理を終了する（ステップＳ７０８）。なお、電文処理装置５は、ステップＳ７０３の動作と、ステップＳ７０６からステップＳ７０７の動作を並行して行ってもよい。また、ステップＳ７０８の後、電文処理装置５は、新しい電文の入力を受け付ける。
【０１９６】
送受信部５１は、トランザクション情報を複製データ制御装置４の受信部４１に出力する（ステップＳ７０９）。複製データ制御装置４の受信部４１は、受信したトランザクション情報を、電文記憶部４３に記憶されている電文格納表に記憶し、トランザクション情報に対する応答を電文処理装置５の送受信部５１に返す。
【０１９７】
トランザクション情報に対する応答を、所定の時間、電文処理装置５の送受信部５１が複製データ制御装置４から受信しなかった場合に、電文処理装置５は、次に述べる動作を行う。電文処理装置５の送受信部５１は、複製データ制御装置４から応答を所定の時間受信しなかったトランザクション情報を複製データ制御装置４に再度出力する。なお、送受信部５１は、次に入力を受けた電文と電文の識別情報の出力と共に、トランザクション情報を再度出力してもよい。また、所定の時間、電文処理装置５の送受信部５１が応答を受信しない場合として、複製データ制御装置４の受信部４１と電文処理装置５の送受信部５１との間の通信で、遅延が発生した、または、トランザクション情報や応答が失われた場合が想定される。
【０１９８】
複製データ制御装置４の受信部４１は、トランザクション情報を受信し、トランザクション情報とデータ識別情報の『トランザクション終了』とを対応付けて、電文記憶部４３に記憶されている電文格納表の空き領域に格納する（ステップＳ７１０）。複製データ制御装置４は、トランザクション情報を電文格納表に格納した後に、トランザクション情報に対する応答を電文処理装置５の送受信部５１に返す。なお、電文処理装置５は、トランザクション情報の出力に対する複製データ制御装置４の応答を待ち合わせない。
【０１９９】
図１２の電文格納表の例の場合、複製データ制御装置４は、受信したトランザクション情報に含まれる識別情報が１０８の場合、図１２の１１行目のレコードを電文格納表に格納する。
【０２００】
次に、図１７を用いて、電文処理装置５が更新情報を複製データ制御装置４に出力し、複製データ制御装置４が更新情報を用いて電文処理装置５による電文の処理結果を複製データに反映する動作の例を説明する。
【０２０１】
電文処理装置５の更新情報管理部５２３は、所定のタイミングで、処理結果のデータへの反映が確定された電文を示す情報に基づいて、処理結果のデータへの反映が確定された電文に関する更新情報と、更新電文情報と、更新情報通番とを更新情報格納表から読み出す。また、更新情報管理部５２３は、読み出した更新情報と、更新電文情報と、更新情報通番とを複製データ制御装置４の更新情報反映部４２に出力する（ステップＳ８０１）。また、所定のタイミングは、前回の出力から所定の時間が経過した場合、前回の出力以降に所定の数の電文を処理した場合、図示しない制御部から指示を受けた場合の少なくともいずれか１つの条件を満たした場合である。なお、一つの電文の処理結果に対し複数の更新情報が生成された場合は、電文処理装置５の更新情報管理部５２３は、更新情報の総数をさらに複製データ制御装置４の更新情報反映部４２へ出力する。
【０２０２】
複製データ制御装置４の更新情報反映部４２は、電文処理装置５の更新情報管理部５２３から受信した更新情報と、更新電文情報と、更新情報通番とを更新情報記憶部４７に記憶されている更新情報格納表に格納する。また、更新情報反映部４２は、格納した更新情報に対応する更新電文情報に含まれる識別情報を、格納済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する（ステップＳ８０２）。
【０２０３】
図１４の更新情報格納表の例は、更新情報反映部４２が受信した、更新情報通番が２０２、更新電文情報が１０５の更新情報（図１４の３行目のレコード）を更新情報格納表に格納したことを示す。
【０２０４】
図１３の更新履歴管理表の例は、更新情報記憶部４７に記憶されている更新情報格納表に更新情報反映部４２が格納した更新情報に対応する更新電文情報に含まれる識別情報が１０５の場合の例である。また、図１３の更新履歴管理表の例は、格納済通番として、更新情報に対応する更新電文情報に含まれる識別情報（１０５）を更新情報反映部４２が更新履歴管理表に格納したことを示す。
【０２０５】
複製データ制御装置４の更新情報反映部４２は、所定のタイミングで、更新情報記憶部４７から、処理結果の複製データへの反映に用いる更新情報を読み出す。本実施形態においては、更新情報反映部１２は、反映済通番より大きい値の識別情報を含む更新電文情報に対応する更新情報を、処理結果の複製データへの反映に用いる更新情報とみなす。更新情報反映部４２は、更新情報通番の順に更新情報を用いて、複製データ記憶部４５に記憶されている複製データに、電文処理装置５による電文の処理結果を反映する。また、更新情報反映部４２は、用いた更新情報に対応する更新電文情報に含まれている識別情報を反映済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する（ステップＳ８０３）。
【０２０６】
図１３の更新履歴管理表の例は、更新情報反映部４２が、１０４の識別情報を含む更新電文情報に対応する更新情報を用いて、電文の処理結果を複製データへ反映したことを示す。
【０２０７】
なお、複製データ制御システムは、図１６に示す動作と、図１７に示す動作とを並行して行ってもよい。
【０２０８】
次に、図１８から図２２を用いて、複製データ制御装置４の動作例について説明する。
【０２０９】
まず、図１８を用いて、複製データ制御装置４が電文を電文格納表に格納する動作を説明する。図１８の動作は、図１６のステップＳ７０４からステップＳ７０５の動作を詳述するものである。
【０２１０】
受信部４１は、電文を処理する電文処理装置５から、電文と、電文の識別情報とを受信する（ステップＳ９０１）。受信部４１は、電文と、電文の識別情報と、データ識別情報（『電文』）とを対応付けて、電文記憶部４３に記憶されている電文格納表の空き領域に格納する。さらに、複製データ制御装置４の受信部４１は、受信した電文の識別情報を入力済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する（ステップＳ９０２）。
【０２１１】
受信部４１は、電文の格納の終了を示す応答を、電文処理装置５の送受信部２１に出力する（ステップＳ９０３）。
【０２１２】
次に図１９を用いて複製データ制御装置４がトランザクション情報を受信し、電文記憶部４３に記憶させる動作例を説明する。図１９の動作は、図１６のステップＳ７０９からステップＳ７１０の動作を詳述するものである。
【０２１３】
受信部４１は、トランザクション情報を電文処理装置５の送受信部５１から受信する（ステップＳ９１１）。また、受信部４１は、トランザクション情報とデータ識別情報（『トランザクション終了』）とを対応付けて、電文記憶部４３に記憶されている電文格納表の空き領域に格納する（ステップＳ９１２）。また、複製データ制御装置４の受信部４１は、トランザクション情報を電文格納表に格納した後に、トランザクション情報に対する応答を電文処理装置５の送受信部５１に返す。
【０２１４】
複製データ制御装置４の、電文格納表に電文を格納する動作（図１８）と、トランザクション情報を電文格納表へ格納する動作（図１９）はそれぞれ独立である。複製データ制御装置４は、図１８に示す電文を格納する動作と、図１９に示すトランザクション情報を格納する動作を並行して行ってもよい。
【０２１５】
次に、図２０を用いて、本実施形態の複製データ制御装置４が、更新情報を更新情報格納表に格納する動作を説明する。図２０の動作は、図１７のステップＳ８０２の動作を詳述するものである。
【０２１６】
更新情報反映部４２は、電文処理装置５の更新情報管理部５２３から、更新情報と、更新電文情報と、更新情報通番とを受信する（ステップＳ１００１）。更新情報反映部４２は、電文処理装置５の更新情報管理部５２３から受信した更新情報と、更新電文情報と、更新情報通番とを、更新情報記憶部４７に記憶されている更新情報格納表に格納する。また、更新情報反映部４２は、格納した更新情報に対応する更新電文情報に含まれる識別情報を、格納済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する（ステップＳ１００２）。
【０２１７】
次に図２１を用いて、複製データ制御装置４が、更新情報記憶部４７に記憶されている更新情報を用いて、電文処理装置５による電文の処理結果を複製データに反映する動作を説明する。図２１の動作は、図１７のステップＳ８０３の動作を詳述するものである。
【０２１８】
更新情報反映部４２は、所定のタイミングで、処理結果の複製データへの反映に用いる更新情報を更新情報記憶部４７から読み出す。更新情報反映部４２は、更新情報通番の順に更新情報を用いて、複製データ記憶部４５に記憶されている複製データに、電文処理装置５による電文の処理結果を反映する（ステップＳ１０１１）。
【０２１９】
さらに、更新情報反映部４２は、用いた更新情報に対応する更新電文情報に含まれる識別情報を反映済通番として、更新履歴記憶部４６に記憶されている更新履歴管理表に格納する（ステップＳ１０１２）。
【０２２０】
更新情報反映部４２の、複製データ制御装置４が更新情報を受信した場合の動作（図２０）と、更新情報を用いて電文処理装置５による電文の処理結果を複製データに反映する動作（図２１）とは、それぞれ独立である。
【０２２１】
次に、図２２を用いて、複製データ制御装置４が電文を処理し、電文の処理結果を複製データに反映する動作例を説明する。
【０２２２】
所定の条件が満たされた場合に、複製データ制御装置４の電文処理反映部４４は、図２２の動作を行う。
【０２２３】
なお、所定の条件が満たされた時点での、複製データへの処理結果の反映の状況には、第二の実施形態で述べたように以下の２通りがある。
（１）複製データ制御装置４の電文記憶部４３に記憶されている電文の処理結果が、複製データにすべて反映されている。
（２）複製データ制御装置４の電文記憶部４３に記憶されている電文に、電文の処理結果が複製データに反映されていない電文が含まれている。
【０２２４】
本実施形態では、（２）についてさらに３通りがある。
（２−１）複製データに処理結果が反映されていない電文のトランザクション情報が電文記憶部４３に記憶されていない。
（２−２）複製データに処理結果が反映されていない電文のレプリケーション情報が『正常』かつ記憶部反映情報が『更新なし』、またはレプリケーション情報が『異常』である。
（２−３）複製データに処理結果が反映されていない電文のレプリケーション情報が『正常』かつ記憶部反映情報が『更新あり』である。
【０２２５】
なお、ここでは、（１）と（２）に共通の動作を説明し、その後、それぞれの場合に特有の動作を説明する。
【０２２６】
まず、（１）と（２）に共通の動作を説明する。
【０２２７】
電文処理反映部４４のアプリケーション実行部４４１は、所定の条件が満たされた場合に、更新履歴管理表の格納済通番と反映済通番との比較を行う。更新履歴管理表の格納済通番が反映済通番より大きい場合、（ステップＳ１１０１、ＹＥＳ）、更新情報反映部４２による、電文の処理結果の複製データへの反映に用いられていない更新情報が更新情報記憶部４７に記憶されている。そのため、更新情報反映部４２がすべての更新情報を用いて電文処理装置５による電文の処理結果を複製データに反映するまで、アプリケーション実行部４４１は待機する。また、反映済通番が格納済通番の値以上の場合（ステップＳ１１０１、ＮＯ）、更新情報記憶部４７に記憶されている更新情報がすべて、電文の処理結果の複製データへの反映に用いられている。そこで、アプリケーション実行部４４１は、反映済通番の次の番号の識別情報をもつ電文を、処理対象の電文とし、ステップＳ１１０２以後の動作を実行する。
【０２２８】
なお、電文処理結果反映部４４２は、電文の処理結果を複製データに反映する度に、反映済通番として、当該電文の識別情報を更新履歴記憶部４６に記憶されている更新履歴管理表に格納してもよい。この場合、反映済通番が格納済通番より大きい値になることがある。
【０２２９】
次に（１）と（２）に特有の動作を説明する。
【０２３０】
まず、（１）複製データ制御装置４の電文記憶部４３に記憶されている電文の処理結果が、複製データにすべて反映されている場合について説明する。なお、（１）の場合、更新履歴管理表に記憶されている入力済通番は、反映済通番と等しい。
【０２３１】
電文処理反映部４４のアプリケーション実行部４４１は、更新履歴管理表の入力済通番と反映済通番との比較を行う。（１）の場合、入力済通番と反映済通番とが一致し、電文記憶部４３に記憶されている電文の処理結果がすべて複製データに反映されている（ステップＳ１１０２、ＮＯ）。そのため、アプリケーション実行部４４１は、ステップＳ１１０３からステップＳ１１０９までの動作を行わない。そして、電文処理反映部４４は、図２２の動作を終了する。
【０２３２】
次に、（２）の場合について、（２−１）から（２−３）に共通の動作を説明し、その後、（２−１）から（２−３）に特有の動作を説明する。
【０２３３】
（２）の場合、アプリケーション実行部４４１は、更新履歴管理表の入力済通番が反映済通番より大きいので（ステップＳ１１０２、ＹＥＳ）、ステップＳ１１０３以後の動作を行う。また、ステップＳ１１０８、ステップＳ１１０９の動作については、（２−１）から（２−３）の場合の動作を述べた後に説明する。
【０２３４】
次に、（２−１）複製データに処理結果が反映されていない電文のトランザクション情報が電文記憶部４３に記憶されていない場合に特有の動作について説明する。ここでは、図１２に示す電文格納表の識別情報が１０６の電文（図１２、７行目）が処理対象の電文である場合を例に説明する。
【０２３５】
アプリケーション実行部４４１は、処理対象の電文の識別情報（１０６）に対応するトランザクション情報のレコードを、電文記憶部４３に記憶されている電文格納表から読み出す。しかし、処理対象の電文の識別情報（１０６）に対応するトランザクション情報のレコードが存在しないので（ステップＳ１１０３、ＮＯ）、アプリケーション実行部４４１は、ステップＳ１１０５の動作を行わない。トランザクション情報のレコードがない場合は、アプリケーション実行部４４１は、処理対象の電文の処理結果が、電文処理装置５に記憶されているデータに反映されているか否かを判断できない。そのため、アプリケーション実行部４４１は、ユーザ（電文処理装置５の使用者、複製データ制御装置４の管理者など）の判断に基づいて電文を処理する（ステップＳ１１０４）。
【０２３６】
当該電文を処理しないことを示す入力がユーザによりなされた場合は（ステップＳ１１０４、ＮＯ）、アプリケーション実行部４４１はステップＳ１１０６の動作を、また、電文処理結果反映部４４２はステップＳ１１０７の動作を行わない。
【０２３７】
また、当該電文を処理することを示す入力がユーザによりなされた場合は（ステップＳ１１０４、ＹＥＳ）、アプリケーション実行部４４１は、電文を処理する（ステップＳ１１０６）。また、電文処理結果反映部４４２は、電文の処理結果を複製データに反映する（ステップＳ１１０７）。
【０２３８】
なお、電文処理反映部４４のアプリケーション実行部４４１は、ステップＳ１１０４において、事前にユーザが設定した設定に基づいて電文を処理を実行するか否かを判断してもよい。たとえば、複製データ制御装置４に『ユーザ判断とする／電文を処理する／電文を処理しない』の各設定を設け、複製データ制御装置４は、いずれかの設定を予めユーザに選択させてもよい。
【０２３９】
次に、（２−２）複製データに処理結果が反映されていない電文のレプリケーション情報が、『正常』かつ記憶部反映情報が『更新なし』、またはレプリケーション情報が『異常』である場合に特有の動作について説明する。前者の場合、特定された電文は、処理結果の反映前後で複製データに差分を生じさせない。後者の場合、特定された電文は、電文処理装置５のデータに反映されていない電文である。そのため、前者の場合も後者の場合も、複製データ制御装置４の電文処理反映部４４は、特定された電文を、処理結果を複製データに反映すべき電文とみなさない。
【０２４０】
ここでは、図１２に示す電文格納表の識別情報が１０７の電文（図１２、８行目）が処理対象の電文である場合を例に説明する。
【０２４１】
アプリケーション実行部４４１は、処理対象の電文の識別情報（１０７）に対応するトランザクション情報のレコード（図１２、９行目）を電文記憶部４３に記憶されている電文格納表から読み出す。アプリケーション実行部４４１は、トランザクション情報のレコードがあり（ステップＳ１１０３、ＹＥＳ）、レプリケーション情報が『異常』の場合は、処理対象の電文を、処理結果を複製データに反映すべき電文とみなさない（ステップＳ１１０５、ＮＯ）。この場合、アプリケーション実行部４４１は、ステップＳ１１０６の動作を、また、電文処理結果反映部４４２はステップＳ１１０７の動作を行わない。なお、アプリケーション実行部４４１は、ステップＳ１１０５について、レプリケーション情報が『正常』かつ記憶部反映情報が『更新なし』の場合も同様に動作する。
【０２４２】
次に、（２−３）複製データに処理結果が反映されていない電文のレプリケーション情報が『正常』かつ記憶部反映情報が『更新あり』である場合に特有の動作について説明する。この場合は、複製データ制御装置４の電文処理反映部４４は、処理対象の電文を、処理結果を複製データに反映すべき電文とみなす。ここでは、図１２に示す電文格納表の識別情報１０８の電文（図１２、１０行目）が処理対象の電文である場合を例に説明する。
【０２４３】
アプリケーション実行部４４１は、処理対象の電文の識別情報（１０８）に対応するトランザクション情報のレコード（図１２、１１行目）を電文記憶部４３に記憶されている電文格納表から読み出す。アプリケーション実行部４４１は、電文格納表にトランザクション情報のレコードがあり（ステップＳ１１０３、ＹＥＳ）、レプリケーション情報が『正常』かつ『更新あり』の場合は、処理対象の電文を、処理結果を複製データに反映すべき電文とみなす（ステップＳ１１０５、ＹＥＳ）。そして、アプリケーション実行部４４１は、処理対象の電文を処理し、電文処理結果反映部４４２に処理結果を出力する（ステップＳ１１０６）。また、電文処理結果反映部４４２は、電文の処理結果を複製データに反映する（ステップＳ１１０７）。
【０２４４】
上述の（２−１）から（２−３）のいずれかの動作を行った後に、電文処理反映部４４は、電文記憶部４３の電文格納表に記憶されている電文の処理結果をすべて複製データ記憶部４５に反映したか否かを確認する。具体的には、アプリケーション実行部４４１は、処理対象の電文の識別情報と、更新履歴管理表の入力済通番とを比較する（ステップＳ１１０８）。アプリケーション実行部４４１は、入力済通番より処理対象の電文の識別情報が小さい場合は（ステップＳ１１０８、ＹＥＳ）、処理対象の電文の次の番号の識別情報をもつ電文を、次の処理対象の電文として電文記憶部４３から読み出す（ステップＳ１１０９）。そして、電文処理反映部４４は、ステップＳ１１０３からステップＳ１１０８までの動作を行う。
【０２４５】
また、電文処理反映部４４は、処理対象の電文の識別情報と、入力済通番が一致する場合は（ステップＳ１１０８、ＮＯ）、図２２の動作を終了する。
【０２４６】
また、電文処理装置５に障害が発生した場合など、電文処理装置５で電文の処理を行うことができない場合は、複製データ制御装置４を実行系として用いることも可能である。複製データ制御装置４は、電文処理装置５から受信した電文の処理結果をすべて複製データに反映した後に、電文処理装置５の代わりに実行系として電文の処理を継続することが可能である。その場合は、複製データ制御装置４は、まず、処理結果が複製データに反映されていない電文として特定された電文を処理し、当該電文の処理結果を複製データへ反映する。その後、受信部４１は、電文を受信するための通信回線を電文処理装置５から外部へ切り替え、外部から電文の入力を受ける。また、電文処理反映部４４は、電文処理装置５の処理部５２と同様に電文を処理し、複製データに電文の処理結果を反映する。
【０２４７】
このように動作することによって、複製データ制御装置４は、電文記憶部４３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置４は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置４にかかる処理の負荷を軽減しつつ、電文処理装置５による電文の処理結果が反映されたデータと複製データ制御装置４によって複製された複製データとの差異を小さくすることが可能になる。
【０２４８】
以上で説明したように、本発明の第三の実施形態では、複製データ制御装置４は、電文記憶部４３に記憶されている電文のうち、処理結果が複製データに反映されていない電文を、更新電文情報に基づいて特定する。また、複製データ制御装置４は、特定された電文を処理し、特定された電文の処理結果を複製データに反映する。そのため、複製データ制御装置４にかかる処理の負荷を軽減しつつ、電文処理装置５による電文の処理結果が反映されたデータと複製データ制御装置４によって複製された複製データとの差異を小さくすることが可能になる。
【０２４９】
また、上述のように、本実施形態の複製データ制御装置４は、電文処理装置５によって更新情報が作成された順番を示す更新情報通番と、更新情報と、更新電文情報とを更新情報記憶部４７に記憶する。これにより、複製データ制御装置４は、電文処理装置５による電文の処理結果を、更新情報を用いて、任意のタイミングで複製データに反映することが可能になる。そのため、複製データ制御装置４は、複製データ制御装置４の負荷が高い場合に、更新情報を用いた、電文の処理結果の複製データへの反映が複製データ制御装置４の負荷が低い時に行われるよう、反映のタイミングを制御することが可能になる。これにより、複製データ制御装置４の負荷を軽減することが可能になる。
【０２５０】
また、電文処理装置５は、更新情報を作成した順番を示す更新情報通番と、更新情報と、更新電文情報とを更新情報記憶部５４に記憶する。これにより、電文処理装置５は、更新情報を任意のタイミングで複製データ制御装置４に出力することが可能になる。そのため、電文処理装置５の負荷が高くなっている場合に、更新情報の送信を遅らせて電文処理装置５の負荷を軽減することが可能になる。
【０２５１】
また、複製データ制御システムは一つの電文の処理結果が反映された更新情報が複数ある場合に、更新情報通番の他に、当該電文の処理結果が反映されている更新情報の総数を複製データ制御装置４に出力する。これにより、複製データ制御装置４は、同じ識別情報を含む更新電文情報に対応する複数の更新情報を一括して更新情報格納表に格納することや、複製データに、複数の更新情報を用いて電文処理装置５による電文の処理結果を反映することが可能になる。また、電文処理装置５が電文の処理結果をデータに反映した結果、情報容量が大きい更新情報が作成された場合に、電文処理装置５は、更新情報を分割し、分割した更新情報を複製データ制御装置４に出力することが可能になる。そのため、複製データ制御装置４への更新情報の出力にかかる電文処理装置５の負荷を軽減することが可能になる。
【０２５２】
また、複製データ制御装置４は、電文処理装置５による電文の処理に関する情報であるトランザクション情報を受信する。これにより、複製データ制御装置４に記憶されている複製データに処理結果が反映されていない電文から、複製データ制御装置４が反映の対象としない電文を抽出することが可能になる。複製データ制御装置４が反映の対象としない電文として抽出するのは、たとえば、電文処理装置５がロールバック処理をし、処理結果がデータに反映されていない電文や、処理結果を反映しても反映前後の複製データに差分を生じさせない電文である。これにより、複製データ制御装置４は、電文処理装置５が処理結果をデータに反映した電文であり、反映前後の複製データに差分を生じさせる電文を選択的に処理することが可能になる。そのため、複製データ制御装置４は、迅速に複製データを電文処理装置５に記憶されているデータとの差異を小さくすることが可能になる。
【０２５３】
［ハードウェア構成例］
上述した本発明の各実施形態における複製データ制御装置（１、３、４）、または、電文処理装置（２、５）を、一つの情報処理装置（コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。なお、複製データ制御装置または電文処理装置は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、複製データ制御装置または電文処理装置は、専用の装置として実現してもよい。また、複製データ制御装置または電文処理装置の一部の機能のみを情報処理装置を用いて実現してもよい。
【０２５４】
図２３は、本発明の各実施形態の複製データ制御装置または電文処理装置を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置６は、通信インタフェース６１、入出力インタフェース６２、演算装置６３、記憶装置６４、不揮発性記憶装置６５およびドライブ装置６６を含む。
【０２５５】
たとえば、図１の受信部１１、更新情報反映部１２および電文処理反映部１４は、演算装置６３で実現することが可能である。また、電文記憶部１３は、記憶装置６４または不揮発性記憶装置６５を用いることで実現することが可能である。
【０２５６】
通信インタフェース６１は、各実施形態の複製データ制御装置または電文処理装置が、有線あるいは／および無線で外部装置と通信するための通信手段である。なお、複製データ制御装置または電文処理装置を、少なくとも二つの情報処理装置を用いて実現する場合は、それらの装置の間を通信インタフェース６１経由で相互に通信可能なように接続してもよい。
【０２５７】
入出力インタフェース６２は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
【０２５８】
演算装置６３は、汎用のＣＰＵ（Central Processing Unit）やマイクロプロセッサ等の演算処理装置や複数の電気回路によって実現される。演算装置６３は、たとえば、不揮発性記憶装置６５に記憶された各種プログラムを記憶装置６４に読み出し、読み出したプログラムに従って処理を実行することが可能である。
【０２５９】
記憶装置６４は、演算装置６３から参照可能な、ＲＡＭ（Random Access Memory）等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置６４は、揮発性のメモリ装置であってもよい。
【０２６０】
不揮発性記憶装置６５は、たとえば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記憶することが可能である。
【０２６１】
ドライブ装置６６は、たとえば、後述する記録媒体６７に対するデータの読み取りや書き込みを処理する装置である。
【０２６２】
記録媒体６７は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【０２６３】
本発明の各実施形態は、たとえば、図２３に例示した情報処理装置６により複製データ制御装置または電文処理装置を構成し、この複製データ制御装置または電文処理装置に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。
【０２６４】
この場合、複製データ制御装置または電文処理装置に対して供給したプログラムを、演算装置６３が実行することによって、実施形態を実現することが可能である。また、複製データ制御装置または電文処理装置のすべてではなく、一部の機能を情報処理装置６で構成することも可能である。
【０２６５】
さらに、上記プログラムを記録媒体６７に記録しておき、複製データ制御装置または電文処理装置の出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置６５に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用して複製データ制御装置または電文処理装置内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
【０２６６】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
【０２６７】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０２６８】
（付記１）
電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させる受信部と、
前記電文処理装置による前記電文の処理結果が反映されている更新情報と、前記更新情報に前記処理結果が反映されている前記電文の情報を示す更新電文情報とを受信し、前記更新情報を用いて、複製データ記憶部に記憶されている複製データに、前記電文処理装置による前記処理結果を反映する更新情報反映部と、
所定の条件が満たされた場合に、前記電文記憶部に記憶されている前記電文のうち、前記処理結果が前記複製データに反映されていない前記電文を、前記更新電文情報に基づいて特定し、前記特定された前記電文を処理し、前記特定された前記電文の前記処理結果を前記複製データに反映する電文処理反映部と、
を備える複製データ制御装置。
【０２６９】
（付記２）
前記条件は、前記電文の処理を指示する指示入力があった場合、前記電文処理装置から前記電文を所定の時間受信しなかった場合、または、前記電文処理装置の異常を所定の方法で検知した場合のいずれか一つ以上である
ことを特徴とする付記１に記載の複製データ制御装置。
【０２７０】
（付記３）
前記受信部は、前記更新電文情報に基づいて、前記電文記憶部に記憶されている前記電文のうち、前記複製データに前記処理結果が反映された前記電文を前記電文記憶部から削除する
ことを特徴とする付記１または付記２に記載の複製データ制御装置。
【０２７１】
（付記４）
前記電文処理反映部は、前記複製データへの前記処理結果の反映に用いられていない前記更新情報がある場合に、前記更新情報を用いて前記処理結果が前記複製データに反映された後に前記特定を行う
ことを特徴とする付記１から付記３のいずれか１項に記載の複製データ制御装置。
【０２７２】
（付記５）
前記更新電文情報は、前記更新情報に前記処理結果が反映されている前記電文の識別情報を含み、
前記識別情報は、前記電文処理装置により前記電文が処理された順番を示し、
前記更新情報反映部は、前記更新電文情報に含まれる前記識別情報に基づく順で前記更新情報を用いて、前記処理結果を前記複製データに反映する
ことを特徴とする付記１から付記４のいずれか１項に記載の複製データ制御装置。
【０２７３】
（付記６）
前記受信部は、前記電文処理装置から受信した前記電文の前記識別情報を前記電文と対応付けて前記電文記憶部に記憶させ、
前記電文処理反映部は、前記特定された前記電文を前記識別情報が示す順で処理する
ことを特徴とする付記５に記載の複製データ制御装置。
【０２７４】
（付記７）
前記電文処理反映部は、入力済通番と反映済通番とに基づいて、前記複製データに前記処理結果が反映されていない前記電文の前記特定を行い、
前記入力済通番は、前記電文記憶部に最後に記憶された前記電文の前記識別情報であり、
前記反映済通番は、前記複製データへの前記処理結果の反映に用いられた前記更新情報の前記更新電文情報に含まれる前記識別情報である
ことを特徴とする付記５または付記６に記載の複製データ制御装置。
【０２７５】
（付記８）
前記更新情報反映部は、前記更新情報と前記更新電文情報とを更新情報記憶部に記憶させ、前記更新電文情報と前記反映済通番とに基づいて、前記更新情報記憶部に記憶されている前記更新情報のうち、前記電文処理装置による前記電文の前記処理結果の前記複製データへの反映に用いられていない前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記７に記載の複製データ制御装置。
【０２７６】
（付記９）
前記更新情報反映部は、前記更新情報が作成された順番を示す更新情報通番を前記電文処理装置から受信し、前記更新情報通番の順に前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記１から付記８のいずれか１項に記載の複製データ制御装置。
【０２７７】
（付記１０）
前記更新情報反映部は、
前記電文の前記処理結果が反映されている前記更新情報の総数を前記電文処理装置から受信し、
前記総数に基づいて前記更新情報通番の順に前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記９に記載の複製データ制御装置。
【０２７８】
（付記１１）
前記受信部は、前記電文処理装置による前記電文の前記処理結果が反映されたデータに反映前後で差分が生じたか否かを示す情報を含む記憶部反映情報を受信し、
前記電文処理反映部は、前記記憶部反映情報に基づいて、前記特定された前記電文のうち、前記電文処理装置による前記電文の前記処理結果の反映前後で前記データに差分を生じさせなかった前記電文の処理を行わない
ことを特徴とする付記１から付記１０のいずれか１項に記載の複製データ制御装置。
【０２７９】
（付記１２）
前記受信部は、前記電文処理装置による前記電文の前記処理結果のデータへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を受信し、
前記電文処理反映部は、前記レプリケーション情報に基づいて、前記電文処理装置による前記電文の前記処理結果の前記データへの反映が正常に終了していない前記電文の処理を行わない
ことを特徴とする付記１から付記１１のいずれか１項に記載の複製データ制御装置。
【０２８０】
（付記１３）
入力を受けた電文を複製データ制御装置に出力する送受信部と、
前記電文を処理し、前記電文の処理結果を、データ記憶部に記憶されているデータに反映し、前記処理結果が反映されている更新情報を作成し、前記更新情報と、前記更新情報に前記処理結果が反映されている前記電文の情報を示す更新電文情報とを、前記電文の出力と非同期で前記複製データ制御装置に出力する処理部と、
を備える電文処理装置。
【０２８１】
（付記１４）
前記更新電文情報は、前記更新情報に前記処理結果が反映されている前記電文の識別情報を含み、
前記電文の前記識別情報は、前記電文を識別する情報であり、前記電文が処理された順番を示す
ことを特徴とする付記１３に記載の電文処理装置。
【０２８２】
（付記１５）
前記送受信部は、前記電文と共に前記電文の前記識別情報を前記複製データ制御装置に出力する
ことを特徴とする付記１４に記載の電文処理装置。
【０２８３】
（付記１６）
前記処理部は、前記更新情報が作成された順番を示す更新情報通番を前記複製データ制御装置に出力する
ことを特徴とする付記１３から付記１５のいずれか１項に記載の電文処理装置。
【０２８４】
（付記１７）
前記処理部は、前記電文の前記処理結果が反映された前記更新情報の、当該電文に対する総数を前記複製データ制御装置に出力する
ことを特徴とする付記１６に記載の電文処理装置。
【０２８５】
（付記１８）
前記送受信部は、前記電文の前記処理結果を反映した前記データに反映前後で差分が生じたか否かを示す情報を含む記憶部反映情報を前記複製データ制御装置に出力する
ことを特徴とする付記１３から付記１７のいずれか１項に記載の電文処理装置。
【０２８６】
（付記１９）
前記送受信部は、前記電文の前記処理結果の前記データへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を前記複製データ制御装置に出力する
ことを特徴とする付記１３から付記１８のいずれか１項に記載の電文処理装置。
【０２８７】
（付記２０）
付記１から付記１２のいずれか１項に記載の複製データ制御装置と、
前記電文処理装置と、
を備えることを特徴とする複製データ制御システム。
【０２８８】
（付記２１）
付記１３から付記１９のいずれか１項に記載の電文処理装置と、
前記複製データ制御装置と、
を備えることを特徴とする複製データ制御システム。
【０２８９】
（付記２２）
前記複製データ制御装置が前記電文を処理して得られる前記処理結果は、前記電文処理装置が前記電文を処理して得られる前記処理結果と同じである
ことを特徴とする付記２０または付記２１に記載の複製データ制御システム。
【０２９０】
（付記２３）
付記１から付記４のいずれか１項に記載の複製データ制御装置と、
付記１３に記載の電文処理装置と、
を備え、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文を受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報とを受信する
ことを特徴とする複製データ制御システム。
【０２９１】
（付記２４）
付記５に記載の複製データ制御装置と、
付記１４に記載の電文処理装置と、
を備え、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文を受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報とを受信する
ことを特徴とする複製データ制御システム。
【０２９２】
（付記２５）
付記６から付記８のいずれか１項に記載の複製データ制御装置と、
付記１５に記載の電文処理装置と、
を備え、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文と前記電文の前記識別情報とを受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報とを受信する
ことを特徴とする複製データ制御システム。
【０２９３】
（付記２６）
付記９に記載の複製データ制御装置と、
付記１６に記載の電文処理装置と、
を備え、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文を受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報と前記更新情報通番とを受信する
ことを特徴とする複製データ制御システム。
【０２９４】
（付記２７）
付記１０に記載の複製データ制御装置と、
付記１７に記載の電文処理装置と、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文を受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報と前記総数とを受信する
ことを特徴とする複製データ制御システム。
【０２９５】
（付記２８）
付記１１に記載の複製データ制御装置と、
付記１８に記載の電文処理装置と、
を備え、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文と、前記記憶部反映情報とを受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報と受信する
ことを特徴とする複製データ制御システム。
【０２９６】
（付記２９）
付記１２に記載の複製データ制御装置と、
付記１９に記載の電文処理装置と、
を備え、
前記複製データ制御装置の前記受信部は、前記電文処理装置の前記送受信部が送信した前記電文と、前記レプリケーション情報とを受信し、
前記複製データ制御装置の前記更新情報反映部は、前記電文処理装置の前記処理部が出力した前記更新情報と前記更新電文情報と受信する
ことを特徴とする複製データ制御システム。
【０２９７】
（付記３０）
電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させ、
前記電文処理装置による前記電文の処理結果が反映されている更新情報と、前記更新情報に前記処理結果が反映されている前記電文の情報を示す更新電文情報とを受信し、前記更新情報を用いて、複製データ記憶部に記憶されている複製データに、前記電文処理装置による前記処理結果を反映し、
所定の条件が満たされた場合に、前記電文記憶部に記憶されている前記電文のうち、前記処理結果が前記複製データに反映されていない前記電文を、前記更新電文情報に基づいて特定し、前記特定された前記電文を処理し、前記特定された前記電文の前記処理結果を前記複製データに反映する、
複製データ制御方法。
【０２９８】
（付記３１）
前記条件は、前記電文の処理を指示する指示入力があった場合、前記電文処理装置から前記電文を所定の時間受信しなかった場合、または、前記電文処理装置の異常を所定の方法で検知した場合のいずれか１つ以上である
ことを特徴とする付記３０に記載の複製データ制御方法。
【０２９９】
（付記３２）
前記更新電文情報に基づいて、前記電文記憶部に記憶されている前記電文のうち、前記複製データに前記処理結果が反映された前記電文を前記電文記憶部から削除する
ことを特徴とする付記３０または付記３１に記載の複製データ制御方法。
【０３００】
（付記３３）
前記複製データへの前記処理結果の反映に用いられていない前記更新情報がある場合に、前記更新情報を用いて前記処理結果が前記複製データに反映された後に前記特定を行う
ことを特徴とする付記３０から付記３２のいずれか１項に記載の複製データ制御方法。
【０３０１】
（付記３４）
前記更新電文情報は、前記更新情報に前記処理結果が反映されている前記電文の識別情報を含み、
前記識別情報は、前記電文処理装置により前記電文が処理された順番を示し、
前記更新電文情報に含まれる前記識別情報に基づく順で前記更新情報を用いて、前記処理結果を前記複製データに反映する、
ことを特徴とする付記３０から付記３３のいずれか１項に記載の複製データ制御方法。
【０３０２】
（付記３５）
前記電文処理装置から受信した前記電文の前記識別情報を前記電文と対応付けて前記電文記憶部に記憶させ、
前記特定された前記電文を前記識別情報が示す順で処理する
ことを特徴とする付記３４に記載の複製データ制御方法。
【０３０３】
（付記３６）
入力済通番と反映済通番とに基づいて、前記複製データに前記処理結果が反映されていない前記電文の前記特定を行い、
前記入力済通番は、前記電文記憶部に最後に記憶された前記電文の前記識別情報であり、
前記反映済通番は、前記複製データへの前記処理結果の反映に用いられた前記更新情報の前記更新電文情報に含まれる前記識別情報である
ことを特徴とする付記３４または付記３５に記載の複製データ制御方法。
【０３０４】
（付記３７）
前記更新情報と前記更新電文情報とを更新情報記憶部に記憶させ、前記更新電文情報と前記反映済通番とに基づいて、前記更新情報記憶部に記憶されている前記更新情報のうち、前記電文処理装置による前記電文の前記処理結果の前記複製データへの反映に用いられていない前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記３６に記載の複製データ制御方法。
【０３０５】
（付記３８）
前記更新情報が作成された順番を示す更新情報通番を前記電文処理装置から受信し、前記更新情報通番の順に前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記３０から付記３７のいずれか１項に記載の複製データ制御方法。
【０３０６】
（付記３９）
前記電文の前記処理結果が反映されている前記更新情報の総数を前記電文処理装置から受信し、
前記総数に基づいて前記更新情報通番の順に前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記３８に記載の複製データ制御方法。
【０３０７】
（付記４０）
前記電文処理装置による前記電文の前記処理結果が反映されたデータに反映前後で差分が生じたか否かを示す情報を含む記憶部反映情報を受信し、
前記記憶部反映情報に基づいて、前記特定された前記電文のうち、前記電文処理装置による前記電文の前記処理結果の反映前後で前記データに差分を生じさせなかった前記電文の処理を行わない
ことを特徴とする付記３０から付記３９のいずれか１項に記載の複製データ制御方法。
【０３０８】
（付記４１）
前記電文処理装置による前記電文の前記処理結果のデータへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を受信し、
前記レプリケーション情報に基づいて、前記電文処理装置による前記電文の前記処理結果の前記データへの反映が正常に終了していない前記電文の処理を行わない
ことを特徴とする付記３０から付記４０のいずれか１項に記載の複製データ制御方法。
【０３０９】
（付記４２）
入力を受けた電文を複製データ制御装置に出力し、
前記電文を処理し、前記電文の処理結果を、データ記憶部に記憶されているデータに反映し、前記処理結果が反映されている更新情報を作成し、前記更新情報と、前記更新情報に前記処理結果が反映されている前記電文の情報を示す更新電文情報とを、前記電文の出力と非同期で前記複製データ制御装置に出力する、
電文処理方法。
【０３１０】
（付記４３）
前記更新電文情報は、前記更新情報に前記処理結果が反映されている前記電文の識別情報を含み、
前記電文の前記識別情報は、前記電文を識別する情報であり、前記電文が処理された順番を示す
ことを特徴とする付記４２に記載の電文処理方法。
【０３１１】
（付記４４）
前記電文と共に前記電文の前記識別情報を前記複製データ制御装置に出力する
ことを特徴とする付記４３に記載の電文処理方法。
【０３１２】
（付記４５）
前記更新情報が作成された順番を示す更新情報通番を前記複製データ制御装置に出力する
ことを特徴とする付記４２から付記４４のいずれか１項に記載の電文処理方法。
【０３１３】
（付記４６）
前記電文の前記処理結果が反映された前記更新情報の、当該電文に対する総数を前記複製データ制御装置に出力する
ことを特徴とする付記４５に記載の電文処理方法。
【０３１４】
（付記４７）
前記電文の前記処理結果を反映した前記データに反映前後で差分が生じたか否かを示す情報を含む記憶部反映情報を前記複製データ制御装置に出力する
ことを特徴とする付記４２から付記４６のいずれか１項に記載の電文処理方法。
【０３１５】
（付記４８）
前記電文の前記処理結果の前記データへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を前記複製データ制御装置に出力する
ことを特徴とする付記４２から付記４７のいずれか１項に記載の電文処理方法。
【０３１６】
（付記４９）
コンピュータに、
電文を処理する電文処理装置から受信した電文を電文記憶部に記憶させる受信機能と、
前記電文処理装置による前記電文の処理結果が反映されている更新情報と、前記更新情報に前記処理結果が反映されている前記電文の情報を示す更新電文情報とを受信し、前記更新情報を用いて、複製データ記憶部に記憶されている複製データに、前記電文処理装置による前記処理結果を反映する更新情報反映機能と、
所定の条件が満たされた場合に、前記電文記憶部に記憶されている前記電文のうち、前記処理結果が前記複製データに反映されていない前記電文を、前記更新電文情報に基づいて特定し、前記特定された前記電文を処理し、前記特定された前記電文の前記処理結果を前記複製データに反映する電文処理反映機能と、
を実現させる複製データ制御プログラム。
【０３１７】
（付記５０）
前記条件は、前記電文の処理を指示する指示入力があった場合、前記電文処理装置から前記電文を所定の時間受信しなかった場合、または、前記電文処理装置の異常を所定の方法で検知した場合のいずれか一つ以上である
ことを特徴とする付記４９に記載の複製データ制御プログラム。
【０３１８】
（付記５１）
前記受信機能は、前記更新電文情報に基づいて、前記電文記憶部に記憶されている前記電文のうち、前記複製データに前記処理結果が反映された前記電文を前記電文記憶部から削除する
ことを特徴とする付記４９または付記５０に記載の複製データ制御プログラム。
【０３１９】
（付記５２）
前記電文処理反映機能は、前記複製データへの前記処理結果の反映に用いられていない前記更新情報がある場合に、前記更新情報を用いて前記処理結果が前記複製データに反映された後に前記特定を行う
ことを特徴とする付記４９から付記５１のいずれか１項に記載の複製データ制御プログラム。
【０３２０】
（付記５３）
前記更新電文情報は、前記更新情報に前記処理結果が反映されている前記電文の識別情報を含み、
前記識別情報は、前記電文処理装置により前記電文が処理された順番を示し、
前記更新情報反映機能は、前記更新電文情報に含まれる前記識別情報に基づく順で前記更新情報を用いて、前記処理結果を前記複製データに反映する
ことを特徴とする付記４９から付記５２のいずれか１項に記載の複製データ制御プログラム。
【０３２１】
（付記５４）
前記受信機能は、前記電文処理装置から受信した前記電文の前記識別情報を前記電文と対応付けて前記電文記憶部に記憶させ、
前記電文処理反映機能は、前記特定された前記電文を前記識別情報が示す順で処理する
ことを特徴とする付記５３に記載の複製データ制御プログラム。
【０３２２】
（付記５５）
前記電文処理反映機能は、入力済通番と反映済通番とに基づいて、前記複製データに前記処理結果が反映されていない前記電文の前記特定を行い、
前記入力済通番は、前記電文記憶部に最後に記憶された前記電文の前記識別情報であり、
前記反映済通番は、前記複製データへの前記処理結果の反映に用いられた前記更新情報の前記更新電文情報に含まれる前記識別情報である
ことを特徴とする付記５３または付記５４に記載の複製データ制御プログラム。
【０３２３】
（付記５６）
前記更新情報反映機能は、前記更新情報と前記更新電文情報とを更新情報記憶部に記憶させ、前記更新電文情報と前記反映済通番とに基づいて、前記更新情報記憶部に記憶されている前記更新情報のうち、前記電文処理装置による前記電文の前記処理結果の前記複製データへの反映に用いられていない前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記５５に記載の複製データ制御プログラム。
【０３２４】
（付記５７）
前記更新情報反映機能は、前記更新情報が作成された順番を示す更新情報通番を前記電文処理装置から受信し、前記更新情報通番の順に前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記４９から付記５６のいずれか１項に記載の複製データ制御プログラム。
【０３２５】
（付記５８）
前記更新情報反映機能は、
前記電文の前記処理結果が反映されている前記更新情報の総数を前記電文処理装置から受信し、
前記総数に基づいて前記更新情報通番の順に前記更新情報を用いて、前記電文処理装置による前記電文の前記処理結果を前記複製データに反映する
ことを特徴とする付記５７に記載の複製データ制御プログラム。
【０３２６】
（付記５９）
前記受信機能は、前記電文処理装置による前記電文の前記処理結果が反映されたデータに反映前後で差分が生じたか否かを示す情報を含む記憶部反映情報を受信し、
前記電文処理反映機能は、前記記憶部反映情報に基づいて、前記特定された前記電文のうち、前記電文処理装置による前記電文の前記処理結果の反映前後で前記データに差分を生じさせなかった前記電文の処理を行わない
ことを特徴とする付記４９から付記５８のいずれか１項に記載の複製データ制御プログラム。
【０３２７】
（付記６０）
前記受信機能は、前記電文処理装置による前記電文の前記処理結果のデータへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を受信し、
前記電文処理反映機能は、前記レプリケーション情報に基づいて、前記電文処理装置による前記電文の前記処理結果の前記データへの反映が正常に終了していない前記電文の処理を行わない
ことを特徴とする付記４９から付記５９のいずれか１項に記載の複製データ制御プログラム。
【０３２８】
（付記６１）
コンピュータに、
入力を受けた電文を複製データ制御装置に出力する送受信機能と、
前記電文を処理し、前記電文の処理結果を、データ記憶部に記憶されているデータに反映し、前記処理結果が反映されている更新情報を作成し、前記更新情報と、前記更新情報に前記処理結果が反映されている前記電文の情報を示す更新電文情報とを、前記電文の出力と非同期で前記複製データ制御装置に出力する処理機能と、
を実現させる電文処理プログラム。
【０３２９】
（付記６２）
前記更新電文情報は、前記更新情報に前記処理結果が反映されている前記電文の識別情報を含み、
前記電文の前記識別情報は、前記電文を識別する情報であり、前記電文が処理された順番を示す
ことを特徴とする付記６１に記載の電文処理プログラム。
【０３３０】
（付記６３）
前記送受信機能は、前記電文と共に前記電文の前記識別情報を前記複製データ制御装置に出力する
ことを特徴とする付記６２に記載の電文処理プログラム。
【０３３１】
（付記６４）
前記処理機能は、前記更新情報が作成された順番を示す更新情報通番を前記複製データ制御装置に出力する
ことを特徴とする付記６１から付記６３のいずれか１項に記載の電文処理プログラム。
【０３３２】
（付記６５）
前記処理機能は、前記電文の前記処理結果が反映された前記更新情報の、当該電文に対する総数を前記複製データ制御装置に出力する
ことを特徴とする付記６４に記載の電文処理プログラム。
【０３３３】
（付記６６）
前記送受信機能は、前記電文の前記処理結果を反映した前記データに反映前後で差分が生じたか否かを示す情報を含む記憶部反映情報を前記複製データ制御装置に出力する
ことを特徴とする付記６１から付記６５のいずれか１項に記載の電文処理プログラム。
【０３３４】
（付記６７）
前記送受信機能は、前記電文の前記処理結果の前記データへの反映が正常に終了したか否かを示す情報を含むレプリケーション情報を前記複製データ制御装置に出力する
ことを特徴とする付記６１から付記６６のいずれか１項に記載の電文処理プログラム。
【符号の説明】
【０３３５】
１、３、４    複製データ制御装置
１１、３１、４１    受信部
１２、３２、４２    更新情報反映部
１３、３３、４３    電文記憶部
１４、３４、４４    電文処理反映部
４４１    アプリケーション実行部
４４２    電文処理結果反映部
３５、４５    複製データ記憶部
３６、４６    更新履歴記憶部
４７    更新情報記憶部
２、５    電文処理装置
２１、５１    送受信部
２２、５２    処理部
５２１    アプリケーション実行部
５２２    電文処理結果反映部
５２３    更新情報管理部
２３、５３    データ記憶部
５４    更新情報記憶部
６    情報処理装置
６１    通信インタフェース
６２    入出力インタフェース
６３    演算装置
６４    記憶装置
６５    不揮発性記憶装置
６６    ドライブ装置
６７    記録媒体
７    複製データ記憶部
【図１】
0006904412.tif 000002
【図２】
0006904412.tif 000003
【図３】
0006904412.tif 000004
【図４】
0006904412.tif 000005
【図５】
0006904412.tif 000006
【図６】
0006904412.tif 000007
【図７】
0006904412.tif 000008
【図８】
0006904412.tif 000009
【図９】
0006904412.tif 000010
【図１０】
0006904412.tif 000011
【図１１】
0006904412.tif 000012
【図１２】
0006904412.tif 000013
【図１３】
0006904412.tif 000014
【図１４】
0006904412.tif 000015
【図１５】
0006904412.tif 000016
【図１６】
0006904412.tif 000017
【図１７】
0006904412.tif 000018
【図１８】
0006904412.tif 000019
【図１９】
0006904412.tif 000020
【図２０】
0006904412.tif 000021
【図２１】
0006904412.tif 000022
【図２２】
0006904412.tif 000023
【図２３】
0006904412.tif 000024