(57)【要約】【課題】効率良くレプリケーションを行う。【解決手段】記憶装置に対する実データの更新処理を実データの管理情報であるメタデータに基づいて行うジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムの、第１の記憶装置を備える第１の情報処理装置が、第１の記憶装置に書き込む実データの入力を受け付け、実データに対応するメタデータを生成し、メタデータを第１の記憶装置に書き込み、実データとメタデータとを、第２の情報処理装置に送信し、第２の記憶装置を備える第２の情報処理装置が、第１の情報処理装置から送信される実データとメタデータとを受信し、受信した実データとメタデータとに基づいて、第２の記憶装置に記憶されている情報を更新する。【選択図】図１
2013182430.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に対する実データの更新処理を当該実データの管理情報であるメタデータに基づいて行うジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムであって、
第１の記憶装置を備える第１の前記情報処理装置が、
前記第１の記憶装置に書き込む実データの入力を受け付ける受付部と、
前記実データに対応するメタデータを生成し、当該メタデータを前記第１の記憶装置に書き込むジャーナル書き込み部と、
前記実データと前記メタデータとを、第２の前記情報処理装置に送信する送信部と、
を備え、
第２の記憶装置を備える前記第２の情報処理装置が、
前記第１の情報処理装置から送信される前記実データと前記メタデータとを受信する受信部と、
前記受信部が受信した前記実データと前記メタデータとに基づいて、前記第２の記憶装置に記憶されている情報を更新する更新部と、
を備えることを特徴とするレプリケーションシステム。
【請求項２】
前記第１の情報処理装置は、
前記第２の情報処理装置との間に複数のコネクションを確立するコネクション生成部を備え、
前記送信部は、前記複数のコネクションを介して前記実データと前記メタデータとを前記第２の情報処理装置に送信する
ことを特徴とする請求項１に記載のレプリケーションシステム。
【請求項３】
前記第１の情報処理装置は、
前記送信部による送信処理と並行して、前記受付部に入力された前記実データを前記第１の記憶装置に書き込む実データ書き込み部を備える
ことを特徴とする請求項１または請求項２に記載のレプリケーションシステム。
【請求項４】
記憶装置に対する実データの更新処理を当該実データの管理情報であるメタデータに基づいて管理するジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムにおける第１の前記情報処理装置であって、
自身が備える第１の記憶装置に書き込む実データの入力を受け付ける受付部と、
前記メタデータを生成し、当該メタデータを前記第１の記憶装置に書き込むジャーナル書き込み部と、
前記実データと前記メタデータとを、第２の前記情報処理装置に送信する送信部と、
を備えることを特徴とする情報処理装置。
【請求項５】
記憶装置に対する実データの更新処理を当該実データの管理情報であるメタデータに基づいて管理するジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムにおける第１の前記情報処理装置であって、自身が備える第１の記憶装置に書き込む実データの入力を受け付ける受付部と、前記メタデータを生成し、当該メタデータを前記第１の記憶装置に書き込むジャーナル書き込み部と、前記実データと前記メタデータとを、第２の前記情報処理装置に送信する送信部と、を備える前記第１の情報処理装置に接続された前記第２の情報処理装置であって、
前記第１の情報処理装置から送信される前記実データと前記メタデータとを受信する受信部と、
前記受信部が受信した前記実データと前記メタデータとに基づいて、自身が備える第２の記憶装置に記憶されている情報を更新する更新部と、
を備えることを特徴とする情報処理装置。
【請求項６】
記憶装置に対する実データの更新処理を当該実データの管理情報であるメタデータに基づいて行うジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムのレプリケーション方法であって、
第１の記憶装置を備える第１の前記情報処理装置が、
前記第１の記憶装置に書き込む実データの入力を受け付けるステップと、
前記実データに対応するメタデータを生成し、当該メタデータを前記第１の記憶装置に書き込むステップと、
前記実データと前記メタデータとを、第２の前記情報処理装置に送信するステップと、
第２の記憶装置を備える前記第２の情報処理装置が、
前記第１の情報処理装置から送信される前記実データと前記メタデータとを受信するステップと、
受信した前記実データと前記メタデータとに基づいて、前記第２の記憶装置に記憶されている情報を更新するステップと、
を備えることを特徴とするレプリケーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同じデータを複数の記憶装置に書き込むレプリケーション技術に関する。
【背景技術】
【０００２】
同じデータを複数の記憶装置に同期して書き込むことにより、負荷を分散したり耐障害性を高めたりするレプリケーションの技術が存在する（例えば、特許文献１、２参照）。例えば、ＤＲＢＤ（Distributed Replicated Block Device）等のブロックデバイスレイヤで行うレプリケーションでは、ストレージに書き込む内容と同内容のデータを、レプリケーション先の記憶装置に送信して書き込む。ＲＤＢＭＳ（Relational DataBase Management System）等のデータベースアプリケーションレイヤで行うレプリケーションでは、データベースアプリケーションにおける書き込みログをレプリケーション先に送信し、レプリケーション先において書き込みログに基づいてデータを更新する。データを利用するアプリケーションレイヤで行うレプリケーションでは、アプリケーションにおいて更新するデータの差分データを生成してレプリケーション先に送信し、レプリケーション先において差分データに基づいてデータを更新する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−３０５０号公報
【特許文献２】特開２０１１−２１０１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えばブロックデバイスレイヤでレプリケーションを行う場合、データ量の小さいブロック単位でレプリケーション先にデータを送信してＴＣＰ（Transmission Control Protocol）通信を行うことになるため応答待ち時間が長く、ネットワーク遅延が発生する。データベースアプリケーションレイヤでレプリケーションを行う場合、データベースアプリケーションがレプリケーションの機能を備えていなければレプリケーションを作成できない。また、具体的なレプリケーションの方法について、データベースアプリケーションの仕様に依存することとなる。また、データベースアプリケーションを利用していないアプリケーションにおいてはレプリケーションを作成できない。アプリケーションレイヤでレプリケーションを行う場合、アプリケーション毎にレプリケーションの機能を実装するのは手間がかかる。そこで、ネットワーク遅延を低減し、効率良く、汎用的なレプリケーションを行うことが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、レプリケーションを行うレプリケーションシステム、情報処理装置、レプリケーション方法を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、記憶装置に対する実データの更新処理を実データの管理情報であるメタデータに基づいて行うジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムであって、第１の記憶装置を備える第１の情報処理装置が、第１の記憶装置に書き込む実データの入力を受け付ける受付部と、実データに対応するメタデータを生成し、メタデータを第１の記憶装置に書き込むジャーナル書き込み部と、実データとメタデータとを、第２の情報処理装置に送信する送信部と、を備え、第２の記憶装置を備える第２の情報処理装置が、第１の情報処理装置から送信される実データとメタデータとを受信する受信部と、受信部が受信した実データとメタデータとに基づいて、第２の記憶装置に記憶されている情報を更新する更新部と、を備えることを特徴とする。
【０００７】
また、本発明は、第１の情報処理装置は、第２の情報処理装置との間に複数のコネクションを確立するコネクション生成部を備え、送信部は、複数のコネクションを介して実データとメタデータとを第２の情報処理装置に送信することを特徴とする。
【０００８】
また、本発明は、第１の情報処理装置は、送信部による送信処理と並行して、受付部に入力された実データを第１の記憶装置に書き込む実データ書き込み部を備えることを特徴とする。
【０００９】
また、本発明は、記憶装置に対する実データの更新処理を実データの管理情報であるメタデータに基づいて管理するジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムにおける第１の情報処理装置であって、自身が備える第１の記憶装置に書き込む実データの入力を受け付ける受付部と、メタデータを生成し、メタデータを第１の記憶装置に書き込むジャーナル書き込み部と、実データとメタデータとを、第２の情報処理装置に送信する送信部と、を備えることを特徴とする。
【００１０】
また、本発明は、記憶装置に対する実データの更新処理を実データの管理情報であるメタデータに基づいて管理するジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムにおける第１の情報処理装置であって、自身が備える第１の記憶装置に書き込む実データの入力を受け付ける受付部と、メタデータを生成し、メタデータを第１の記憶装置に書き込むジャーナル書き込み部と、実データとメタデータとを、第２の情報処理装置に送信する送信部と、を備える第１の情報処理装置に接続された第２の情報処理装置であって、第１の情報処理装置から送信される実データとメタデータとを受信する受信部と、受信部が受信した実データとメタデータとに基づいて、自身が備える第２の記憶装置に記憶されている情報を更新する更新部と、を備えることを特徴とする。
【００１１】
また、本発明は、記憶装置に対する実データの更新処理を実データの管理情報であるメタデータに基づいて行うジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムのレプリケーション方法であって、第１の記憶装置を備える第１の情報処理装置が、第１の記憶装置に書き込む実データの入力を受け付けるステップと、実データに対応するメタデータを生成し、メタデータを第１の記憶装置に書き込むステップと、実データとメタデータとを、第２の情報処理装置に送信するステップと、第２の記憶装置を備える第２の情報処理装置が、第１の情報処理装置から送信される実データとメタデータとを受信するステップと、受信した実データとメタデータとに基づいて、第２の記憶装置に記憶されている情報を更新するステップと、を備えることを特徴とする。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、記憶装置に対する実データの更新処理を実データの管理情報であるメタデータに基づいて行うジャーナリングファイルシステムの機能を有する複数の情報処理装置を備えるレプリケーションシステムの、第１の記憶装置を備える第１の情報処理装置が、第１の記憶装置に書き込む実データの入力を受け付け、実データに対応するメタデータを生成し、メタデータを第１の記憶装置に書き込み、実データとメタデータとを、第２の情報処理装置に送信し、第２の記憶装置を備える第２の情報処理装置が、第１の情報処理装置から送信される実データとメタデータとを受信し、受信した実データとメタデータとに基づいて、第２の記憶装置に記憶されている情報を更新する。ようにしたので、レプリケーションを行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるレプリケーションシステムの構成例を示すブロック図である。
【図２】本発明の一実施形態によるジャーナルデータの例を示す図である。
【図３】本発明の一実施形態による情報処理装置の動作例を示すフローチャートである。
【図４】本発明の一実施形態による送受信部の送信処理を示すフローチャートである。
【図５】本発明の一実施形態による待ち受け部の待ち受け処理を示すフローチャートである。
【図６】本発明の一実施形態による第２のジャーナルデータの受信処理の動作例を示すフローチャートである。
【図７】本発明の一実施形態による第２のジャーナルデータに基づく更新処理の動作例を示すフローチャートである。
【図８】本発明の一実施形態によるレプリケーションシステムの評価結果を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態によるレプリケーションシステム１の構成を示すブロック図である。レプリケーションシステム１は、情報処理装置１００と、情報処理装置２００とのコンピュータ装置を備えており、情報処理装置１００と、情報処理装置２００とはネットワークを介して接続されている。情報処理装置１００と情報処理装置２００とは、ジャーナリングファイルシステムの機能を有する。
【００１５】
ジャーナリングファイルシステムとは、記憶装置に対する実データの更新処理を、その実データの管理情報であるメタデータに基づいて行い、異常が発生した際にもデータの整合性を保つための仕組みである。ジャーナリングファイルシステムでは、複数のブロックが含まれるジャーナルトランザクションと呼ばれる単位で実データを記憶装置に書き込む。例えば、ジャーナルと呼ばれる記憶領域を確保し、記憶装置に実データを書き込む前にジャーナルにメタデータを書き込む。そして、記憶装置へのメタデータと実データとの書き込み処理を開始し、ジャーナルトランザクションに含まれる全てのブロックについて書き込み処理が正常に完了すれば、ジャーナルに書き込んだメタデータを解放する。一方、記憶装置への実データの書き込み処理中に異常が発生すれば、異常が発生したジャーナルトランザクション中に書き込み処理を行っていた実データに対応するメタデータをジャーナルから読み出す。そして、記憶装置においてジャーナルトランザクション中の実データを更新前の状態に戻す。これにより、異常が発生した際にもジャーナルのメタデータに基づいて矛盾が発生する前の状態に戻すことができ、記憶装置に書き込まれたメタデータと実データとに不整合が生じることを防ぐことができる。
【００１６】
本実施形態のレプリケーションシステム１は、このようなジャーナリングファイルシステムの機能を用いて、情報処理装置１００の記憶装置１０２に書き込まれるデータと同様のデータを情報処理装置２００の記憶装置２０１に書き込み、情報処理装置１００の記憶装置１０２に記憶されているデータのレプリケーションを行う。このように、ファイルシステムレイヤでデータのレプリケーションを行うことにより、効率良くレプリケーションを作成することができる。例えば、ファイルシステムレイヤにおいてデータを管理するジャーナルトランザクションの単位は、ブロックデバイスレイヤにおいてデータを管理するデータよりも大きい。このため、ファイルシステムレイヤにおいてレプリケーションを行えば、情報処理装置１００からレプリケーション先の情報処理装置２００に更新データを送信する際に送信するデータ量を増やすことができるため、情報処理装置１００と情報処理装置２００との間の帯域を有効に使うことができる。
【００１７】
さらに、ＯＳが持つジャーナリングファイルシステムの仕組みを利用してレプリケーションを実現すれば、データベースアプリケーションレイヤやアプリケーションレイヤの実装に依存せずに、汎用的なレプリケーションを行うことができる。このようなレプリケーションは、例えば、クラウドシステムのような仕組みに適用することができる。すなわち、クラウドシステム上において様々なユーザが様々なアプリケーションを動作させる場合にも、ＯＳレベルでレプリケーションを作成することができるため、データベースアプリケーションレイヤやアプリケーションレイヤにおいてデータ同期を意識する必要がない。以下、ファイルシステムレイヤにおけるレプリケーションについて詳細に説明する。
【００１８】
情報処理装置１００は、アプリケーション１０１と、記憶装置１０２と、通信部１０５と、コネクション生成部１０６と、受付部１０７と、ジャーナル書き込み部１０８と、実データ書き込み部１０９と、送受信部１１０と、待ち受け部１１１とを備えている。
アプリケーション１０１は、情報処理装置１００におけるＯＳ上で動作するアプリケーションである。
【００１９】
記憶装置１０２は、ハードディスク等のブロックデバイスであり、各種データが記憶される。記憶装置１０２は、ジャーナル記憶部１０３と、実データ記憶部１０４とを備えている。
ジャーナル記憶部１０３は、情報処理装置１００上で動作するＯＳが備えるジャーナリングファイルシステムの機能により生成されたジャーナルが書き込まれる記憶領域である。
実データ記憶部１０４は、各種データの実体が書き込まれる記憶領域である。実データ記憶部１０４には、実データとメタデータとが記憶される。
【００２０】
通信部１０５は、ネットワークを介して他のコンピュータ装置と通信する。ここで、通信部１０５におけるＴＣＰのウィンドウサイズを最適化することで、効率良く通信を行うことができる。
コネクション生成部１０６は、情報処理装置２００との間に複数のＴＣＰコネクションを確立する。
【００２１】
受付部１０７は、アプリケーション１０１から、記憶装置１０２に書き込む実データの入力を受け付ける。
ジャーナル書き込み部１０８は、受付部１０７に入力された実データに対応するメタデータを生成し、生成したメタデータが含まれる第１のジャーナルデータを、所定のジャーナルトランザクション単位でジャーナル記憶部１０３に書き込む。メタデータには、例えば、記憶装置１０２において実データを書き込む位置、ファイル名、更新日時、アクセス権限等の情報が含まれる。また、ジャーナル書き込み部１０８は、メタデータと実データとが含まれる第２のジャーナルデータを生成する。第２のジャーナルデータは、送受信部１１０によって情報処理装置２００に送信される。このように、ジャーナル書き込み部１０８は、自身のジャーナル記憶部１０３に書き込むためにメタデータのみが含まれる第１のジャーナルデータと、情報処理装置２００に送信するために実データとメタデータとが含まれる第２のジャーナルデータとを生成する。
実データ書き込み部１０９は、受付部１０７に入力された実データと、ジャーナル書き込み部１０８によって生成されたメタデータとを、所定のジャーナルトランザクション単位で実データ記憶部１０４に書き込む。
【００２２】
送受信部１１０は、受付部１０７に入力された実データと、その実データに対応するメタデータとが含まれる第２のジャーナルデータを、通信部１０５を介して情報処理装置２００に送信する。図２は、ジャーナルトランザクション単位の第２のジャーナルデータの例を示す図である。ジャーナルトランザクションは、ディスクリプタブロックで始まり、コミッタブロックで終わる。ジャーナル対象ブロックは、メタデータか、データの差分の１ブロックである。送受信部１１０は、このような第２のジャーナルデータを、自身の送信待ちキューに入力し、コネクション生成部１０６によって通信部１０５と情報処理装置２００との間に確立された複数のコネクションを介して、情報処理装置２００に送信する。このとき、送受信部１１０は、送信待ちキューに入力された第２のジャーナルデータのうち、通信部１０５と情報処理装置２００との間に確立された複数のコネクションの数と同数のブロック分の第２のジャーナルデータを読み出し、複数のコネクション毎にブロックを送信する。このように、複数のコネクションを確立してジャーナルトランザクションの複数ブロックをまとめて送信することで、一度に送信するデータ量を増やすことができる。これにより、情報処理装置１００と情報処理装置２００との間の帯域を有効に使うことができる。
【００２３】
待ち受け部１１１は、記憶装置１０２に対する実データの書き込み処理と、情報処理装置２００に対する実データの送信処理との完了応答を待ち受ける。また、待ち受け部１１１は、完了応答を受信すると、アプリケーション１０１に対して書き込み完了応答を入力する。
【００２４】
情報処理装置２００は、記憶装置２０１と、通信部２０４と、送受信部２０５と、更新部２０６とを備えている。
記憶装置２０１は、ハードディスク等のブロックデバイスであり、各種データが記憶される。記憶装置２０１は、ジャーナル記憶部２０２と、実データ記憶部２０３とを備えている。
ジャーナル記憶部２０２は、情報処理装置１００から送信された第２のジャーナルデータが記憶される記憶領域である。
実データ記憶部２０３は、各種データの実体が書き込まれる記憶領域である。実データ記憶部１０４には、実データとメタデータとが記憶される。
通信部２０４は、ネットワークを介して他のコンピュータ装置と通信する。
【００２５】
送受信部２０５は、情報処理装置１００から送信される第２のジャーナルデータを受信し、記憶装置２０１のジャーナル記憶部２０２に書き込む。
更新部２０６は、送受信部２０５が受信し、ジャーナル記憶部２０２に書き込まれた第２のジャーナルデータに基づいて、実データ記憶部２０３に記憶されている情報を更新する。ここでは、ジャーナリングファイルシステムにおけるデータの復旧処理を動作させることで、第２のジャーナルデータに基づいて情報を更新することができる。
【００２６】
次に、図面を参照して、本実施形態によるレプリケーションシステム１の動作例を説明する。図３は、本実施形態による情報処理装置１００の動作例を示すフローチャートである。ここでは、事前にコネクション生成部１０６が動作し、通信部１０５と情報処理装置２００との間に複数のコネクションを確立しているものとする。受付部１０７は、アプリケーション１０１からの実データの書き込み要求の入力を受け付ける（ステップＳ１）。ジャーナル書き込み部１０８は、受付部１０７に入力された実データの管理情報であるメタデータを生成する（ステップＳ２）。送受信部１１０は、受付部１０７に入力された実データと、ジャーナル書き込み部１０８によって生成されたメタデータとが含まれる第２のジャーナルデータを、ジャーナルトランザクション単位で自身の送信待ちキューに入力する（ステップＳ３）。そして、送受信部１１０は、自身の送信待ちキューに入力された第２のジャーナルデータの送信処理を行う（ステップＳ４）。
【００２７】
ここで、図４を参照して、送受信部１１０による送信処理を詳細に説明する。まず、送受信部１１０は、自身の送信待ちキューに入力されている第２のジャーナルデータのうち、確立されたコネクションの数と同数のブロック数の第２のジャーナルデータを読み出す（ステップＳ１０）。送受信部１１０は、読み出した第２のジャーナルデータを、通信部１０５と情報処理装置２００との間に確立した複数のコネクションを介して送信する（ステップＳ１１）。送受信部１１０は、第２のジャーナルデータを送信した複数のコネクションからの全ての応答を受信すると（ステップＳ１３）、送信した第２のジャーナルデータのブロックを、待ち受け部１１１の待ち受けキューに入力する（ステップＳ１３）。送受信部１１０は、自身の送信待ちキューに未送信の第２のジャーナルデータのブロックが存在すれば（ステップＳ１４：ＹＥＳ）、ステップＳ１０に戻る。未送信の第２のジャーナルデータのブロックが存在しなければ（ステップＳ１４：ＮＯ）、送信処理を終了する。
【００２８】
図３に戻り、送受信部１１０による第２のジャーナルデータの送信処理と並行して、ジャーナル書き込み部１０８と実データ書き込み部１０９とが、ジャーナルトランザクション単位で記憶装置１０２への書き込み処理を行う。このように、情報処理装置２００への第２のジャーナルデータの送信処理と、記憶装置１０２への書き込み処理とを並行して（オーバーラップして）行うことで、処理の待ち時間を減らし、レプリケーション処理を高速化することができる。まず、ジャーナル書き込み部１０８が、ステップＳ２において生成したメタデータのみが含まれる第１のジャーナルデータを、ジャーナル記憶部１０３に書き込む（ステップＳ５）。
【００２９】
ここで、ジャーナリングファイルシステムでは、一般的に、メタデータと実データとをジャーナルデータとして用いる場合と、メタデータのみをジャーナルデータとして用いる場合がある。ここでは、レプリケーション先である情報処理装置２００に対しては、データを復元するためにメタデータと実データとを含むジャーナルデータを送信する必要があるが、情報処理装置１００のジャーナル記憶部１０３に書き込むジャーナルデータは、実データを含んでいなくてもよい。そこで、本実施形態では、情報処理装置２００に対してはメタデータと実データとが含まれる第２のジャーナルデータを送信することに対し、ローカル環境であるジャーナル記憶部１０３に書き込む際にはメタデータのみが含まれるジャーナルデータを書き込むようにして、ローカル環境における負荷を低減している。
【００３０】
ジャーナル書き込み部１０８による第１のジャーナルデータの書き込み処理が完了すると、実データ書き込み部１０９は、実データとメタデータとを実データ記憶部１０４に書き込む（ステップＳ６）。ジャーナル書き込み部１０８は、ジャーナル記憶部１０３への書き込み完了応答を生成する（ステップＳ７）。送受信部１１０による第２のジャーナルデータの送信処理と、ジャーナル書き込み部１０８および実データ書き込み部１０９による書き込み処理とが完了すると、待ち受け部１１１は、待ち受け処理を行う（ステップＳ８）。
【００３１】
ここで、図５を参照して、待ち受け部１１１による待ち受け処理を詳細に説明する。待ち受け部１１１の待ち受けキューに、情報処理装置２００への送信が完了した第２のジャーナルデータのブロックが入力されると（ステップＳ２０）、待ち受け部１１１は、ジャーナル書き込み部１０８が書き込み完了応答を生成したブロックと、待ち受けキューに入力されているブロックとが一致しているか否かを判定する（ステップＳ２１）。書き込み完了応答を生成したブロックと、待ち受けキューに入力されているブロックとが一致しないと判定すると、ステップＳ２０に戻る（ステップＳ２１：ＮＯ）。
【００３２】
待ち受け部１１１が、ジャーナル書き込み部１０８が書き込み完了応答を生成したブロックと、待ち受けキューに入力されているブロックとが一致すると判定すると、一致した第２のジャーナルデータのブロックを、待ち受けキューから削除する（ステップＳ２２）。そして、待ち受け部１１１は、書き込み完了応答をアプリケーション１０１に送信する。これにより、情報処理装置１００の処理を終了する。
【００３３】
図６は、情報処理装置２００による第２のジャーナルデータの受信処理の動作例を示すフローチャートである。情報処理装置２００の送受信部２０５は、情報処理装置１００から送信される第２のジャーナルデータを、通信部２０４を介して受信する（ステップＳ３０）。送受信部２０５は、受信した第２のジャーナルデータを、記憶装置２０１に書き込む（ステップＳ３１）。そして、送受信部２０５は、応答を情報処理装置１００に送信する（ステップＳ３２）。
【００３４】
図７は、情報処理装置２００による第２のジャーナルデータに基づく更新処理の動作例を示すフローチャートである。このような更新処理は、上述の第２のジャーナルデータの受信処理と並行して行うことができる。更新部２０６は、ジャーナル記憶部２０２に記憶されている第２のジャーナルデータを読み出す（ステップＳ４０）。更新部２０６は、読み出した第２のジャーナルデータに基づいて、実データ記憶部２０３に記憶されている実データを更新する（ステップＳ４１）。
以上説明したように、本実施形態によれば、ファイルデバイスレイヤにおけるジャーナリングの仕組みを利用して、効率良く汎用的なレプリケーションを行うことができる。
【００３５】
図８は、本実施形態によるレプリケーションシステム１の評価結果を示す図である。図において、ｂｏｎｎｉｅ＋＋は、ディスクの書き込み速度を計測するベンチマークソフトウェアである。（Ｐｅｒ  Ｃｈｒ）は１バイトずつ書き込んだときの書き込み速度を示す。（ｂｌｏｃｋ）は８Ｋバイトずつ書き込んだときの書き込み速度を示す。ｐｇｂｅｎｃｈは、ＰｏｓｔｇｒｅＳＱＬに付属するベンチマークソフトウェアである。ｔｐｓ（ｔｒａｎｓａｃｔｉｏｎ  ｐｅｒ  ｓｅｃｏｎｄ）は、トランザクション毎の書き込み速度を示す。このように、情報処理装置１００と情報処理装置２００との間に複数のコネクションを確立させて通信を行うことや、ジャーナル書き込み部１０８と実データ書き込み部１０９とによる記憶装置１０２への書き込み処理と送受信部１１０から情報処理装置２００への第２のジャーナルデータの更新処理とを並列して行うことにより、レプリケーション作成処理が効率化できることが確認できた。
【００３６】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりレプリケーションを行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３８】
１  レプリケーションシステム
１００  情報処理装置
１０１  アプリケーション
１０２  記憶装置
１０３  ジャーナル記憶部
１０４  実データ記憶部
１０５  通信部
１０６  コネクション生成部
１０７  受付部
１０８  ジャーナル書き込み部
１０９  実データ書き込み部
１１０  送受信部
１１１  待ち受け部
２００  情報処理装置
２０１  記憶装置
２０２  ジャーナル記憶部
２０３  実データ記憶部
２０４  通信部
２０５  送受信部
２０６  更新部
【図１】
2013182430.tif 000003
【図２】
2013182430.tif 000004
【図３】
2013182430.tif 000005
【図４】
2013182430.tif 000006
【図５】
2013182430.tif 000007
【図６】
2013182430.tif 000008
【図７】
2013182430.tif 000009
【図８】
2013182430.tif 000010