(57)【要約】【課題】コピー先の計算機に生成されるファイルはオリジナルファイルと同じ世代のファイルに限定されること。【解決手段】レプリケーション機能を有する計算機２００は、コピー元の計算機１００のファイル１３０のコピーであるファイル２５０と、このファイル２６０の１世代前のコピーであるファイル２６０と、コピー元の計算機１００からファイル１３０に対して実施されたファイル操作の情報をネットワーク３００を介して受信し、蓄積する記憶手段２４０と、レプリケーション手段２７０とを有する。レプリケーション手段２７０は、記憶手段２４０に記憶されたファイル操作の情報に従ってファイル１３０に対して実施されたファイル操作と同じファイル操作をファイル２５０に対して実施する。また、レプリケーション手段２７０は、ファイル２５０に対するクローズ操作を完了する毎に、ファイル２６０をオープンしてファイル２５０と同じ内容に更新した後にクローズする操作を実行する。【選択図】図１
2012178124.tif 000002
【特許請求の範囲】
【請求項１】
コピー元の計算機のオリジナルファイルのコピーである第１のファイルと、
前記第１のファイルの１世代前のコピーである第２のファイルと、
前記コピー元の計算機から前記オリジナルファイルに対して実施されたファイル操作の情報をネットワークを介して受信し、蓄積する操作記憶手段と、
前記操作記憶手段に記憶されたファイル操作の情報に従って前記オリジナルファイルに対して実施されたファイル操作と同じファイル操作を前記第１のファイルに対して実施し、前記第１のファイルに対してクローズ操作を完了する毎に、前記第２のファイルをオープンして前記第１のファイルと同じ内容に更新した後にクローズする操作を実行するレプリケーション手段と
を備えることを特徴とするレプリケーション機能を有する計算機。
【請求項２】
前記操作記憶手段は、前記オリジナルファイルに対して実施されたファイルオープン操作、データアップデート操作、およびファイルクローズ操作の情報を蓄積する
ことを特徴とする請求項１に記載のレプリケーション機能を有する計算機。
【請求項３】
前記レプリケーション手段は、前記操作記憶手段に記憶されたファイル操作の情報に従って前記第１のファイルに対して実施されたファイル操作と同じファイル操作を前記第２のファイルに対して実施することにより、前記第２のファイルを前記第１のファイルと同じ内容に更新する
ことを特徴とする請求項１または２に記載のレプリケーション機能を有する計算機。
【請求項４】
前記レプリケーション手段は、前記第１ファイルを前記第２のファイルにコピーすることにより、前記第２のファイルを前記第１のファイルと同じ内容に更新する
ことを特徴とする請求項１または２に記載のレプリケーション機能を有する計算機。
【請求項５】
前記第２のファイルが存在するファイルシステムは、前記第１のファイルが存在するファイルシステムとは異なるファイルシステムである
ことを特徴とする請求項１乃至４の何れかに記載のレプリケーション機能を有する計算機。
【請求項６】
コピー元の計算機のオリジナルファイルのコピーである第１のファイルと、前記第１のファイルのコピーである第２のファイルと、前記コピー元の計算機から前記オリジナルファイルに対して実施されたファイル操作の情報をネットワークを介して受信し、蓄積する操作記憶手段と、レプリケーション手段とを有する計算機が実行するファイルレプリケーション方法であって、
前記レプリケーション手段が、前記操作記憶手段に記憶されたファイル操作の情報に従って前記オリジナルファイルに対して実施されたファイル操作と同じファイル操作を前記第１のファイルに対して実施し、前記第１のファイルに対するクローズ操作を完了する毎に、前記第２のファイルをオープンして前記第１のファイルと同じ内容に更新した後にクローズする操作を実行する
ことを特徴とするファイルレプリケーション方法。
【請求項７】
コピー元の計算機のオリジナルファイルのコピーである第１のファイルと、前記第１のファイルの１世代前のコピーである第２のファイルと、前記コピー元の計算機から前記オリジナルファイルに対して実施されたファイル操作の情報をネットワークを介して受信し、蓄積する操作記憶手段とを備えたコンピュータを、
前記操作記憶手段に記憶されたファイル操作の情報に従って前記オリジナルファイルに対して実施されたファイル操作と同じファイル操作を前記第１のファイルに対して実施し、前記第１のファイルに対するクローズ操作を完了する毎に、前記第２のファイルをオープンして前記第１のファイルと同じ内容に更新した後にクローズする操作を実行するレプリケーション手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーション機能を有する計算機に関する。
【背景技術】
【０００２】
近年の災害・障害における業務継続性保持の観点から、ファイルサーバを含めた業務で利用するファイルの遠隔地コピーを作成し、本番サイトで障害が発生した場合には、遠隔地コピーを活用して業務を継続するシステムの利用が多くなっている。このようなシステムにおいて、ファイルの複製作成に、レプリケーション機能を利用する場合が多い。
【０００３】
コピー元ファイルの内容をコピー先の計算機へネットワークを介して転送することでファイルのレプリケーションを行う技術の例が特許文献１および特許文献２に記載されている。
【０００４】
特許文献１に記載の技術では、コピー元の計算機のアプリケーションプログラムからデータの書き込み要求が出されると、コピー元の計算機はその書き込み要求に従って自計算機上のオリジナルファイルにデータの書き込みを行う。そして、この書き込みが正常に完了すると、コピー元の計算機は、ネットワークを介して接続されたコピー先の計算機のコピー先ファイルに対して、オリジナルファイルに書き込んだデータと同じデータを書き込む。
【０００５】
また特許文献２に記載の技術では、コピー元の計算機のオリジナルファイルの内容がネットワークを介してコピー先の計算機に転送されると、コピー先の計算機は、オリジナルファイルの内容を複数のコピー先ファイルに対して並行して書き込む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１９８４６７号公報
【特許文献２】特開２００１−３４４１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１および特許文献２に記載される技術では、全てのコピー先ファイルがオリジナルファイルと同じ内容に更新するために同時にオープンされているため、障害に遭遇すると全てのコピー先ファイルが論理的に破壊されてしまうという課題がある。
【０００８】
本発明の目的は、上述したような課題、すなわち、全てのコピー先ファイルが論理的に破壊されてしまう危険性がある、という課題を解決するレプリケーション機能を有する計算機を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態にかかるレプリケーション機能を有する計算機は、
コピー元の計算機のオリジナルファイルのコピーである第１のファイルと、
前記第１のファイルの１世代前のコピーである第２のファイルと、
前記コピー元の計算機から前記オリジナルファイルに対して実施されたファイル操作の情報をネットワークを介して受信し、蓄積する操作記憶手段と、
前記操作記憶手段に記憶されたファイル操作の情報に従って前記オリジナルファイルに対して実施されたファイル操作と同じファイル操作を前記第１のファイルに対して実施し、前記第１のファイルに対してクローズ操作を完了する毎に、前記第２のファイルをオープンして前記第１のファイルと同じ内容に更新した後にクローズする操作を実行するレプリケーション手段と
を備える、といった構成を採る。
【発明の効果】
【００１０】
本発明は上述したような構成を有するため、全てのコピー先ファイルが論理的に破壊されてしまうことを防止することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明におけるファイルの世代の説明図である。
【図３】本発明の第２の実施形態のブロック図である。
【図４】本発明の第２の実施形態の動作説明図である。
【図５】本発明の第２の実施形態の動作説明図である。
【図６】本発明の第２の実施形態の動作説明図である。
【図７】本発明の第２の実施形態の動作説明図である。
【図８】本発明の第２の実施形態の動作説明図である。
【図９】本発明の第２の実施形態の動作説明図である。
【図１０】本発明の第２の実施形態の動作説明図である。
【図１１】本発明の第２の実施形態におけるファイル更新内容の一例を示す図である。
【図１２】本発明の第２の実施形態における処理例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態は、コピー元の計算機１００と、コピー先の計算機２００と、これらを通信可能に接続するネットワーク３００とから構成される。
【００１３】
コピー元の計算機１００は、磁気ディスク等の記憶装置１１０と、ＣＰＵ等の処理装置１２０とを有する。
【００１４】
記憶装置１１０には、オリジナルファイルとなるファイル１３０が格納されている。
【００１５】
処理装置１２０は、ファイル１３０を使用して業務処理を行うアプリケーションプログラム１４０と、レプリケーション手段１５０とを有する。
【００１６】
レプリケーション手段１５０は、アプリケーションプログラム１４０からファイル１３０に対してファイル操作が要求されると、それに応じてファイル１３０を操作すると共に、ネットワーク３００を通じてコピー先の計算機２００に対して、ファイル１３０に対して実施したファイル操作の情報を送信する機能を有する。
【００１７】
コピー先の計算機２００は、磁気ディスク等の記憶装置２１０、２２０と、ＣＰＵ等の処理装置２３０と、ＦＩＦＯメモリ等の記憶装置２４０とを有する。
【００１８】
記憶装置２１０には、コピー元の計算機１００のファイル１３０のコピーであるファイル２５０が格納されている。記憶装置２２０には、ファイル２５０の１世代前のコピーであるファイル２６０が格納されている。
【００１９】
ここで、ファイルの世代は、ファイルのオープンからクローズまでを１つの世代として管理する。例えば、図２に示すように、ファイルをオープンして、アップデート１、アップデート２を行った後にファイルをクローズし、再びファイルをオープンして、アップデート３を行った後にファイルをクローズしたとする。このとき、アップデート２まで反映したファイルＦ０が、アップデート３まで反映したファイルＦ１の１世代前のファイルになる。
【００２０】
記憶装置２４０は、コピー元の計算機１００からファイル１３０に対して実施されたファイル操作の情報をネットワーク３００を介して受信し、到着順に蓄積する機能を有する。
【００２１】
処理装置２３０は、レプリケーション手段２７０を有する。レプリケーション手段２７０は、記憶装置２４０に記憶されたファイル操作の情報をその到着順に読み出し、内部のバッファ２８０に読み出し順に格納すると共に、読み出したファイル操作と同じファイル操作をファイル２５０に対して実施する機能を有する。また、レプリケーション手段２７０は、ファイル２５０に対するクローズ操作が完了する毎に、バッファ２８０に格納した情報に基づいて、ファイル２５０に対して行った操作と同じ操作をファイル２６０に対して実施する機能を有する。
【００２２】
次に本実施形態の動作を説明する。以下では説明を簡単にするために、コピー元の計算機１００のファイル１３０とコピー先の計算機２００のファイル２５０の内容をＡ１とし、ファイル２６０の内容は１世代前のＡ０になっているものとする。
【００２３】
コピー元の計算機１００のアプリケーションプログラム１４０から、ファイル１３０のオープンが要求されると、レプリケーション手段１５０は、ファイル１３０をオープンすると共に、ファイル１３０に対してオープン操作を行った旨の情報をネットワーク３００を通じてコピー先の計算機２００へ送信する。コピー先の計算機２００では、その情報を記憶装置２４０に蓄積する。
【００２４】
続いて、コピー元の計算機１００のアプリケーションプログラム１４０から、ファイル１３０の内容をＡ２に書き換える要求が出されると、レプリケーション手段１５０は、ファイル１３０の内容をＡ２に更新すると共に、ファイル１３０に対してＡ２に更新する操作を行った旨の情報をネットワーク３００を通じてコピー先の計算機２００へ送信する。コピー先の計算機２００では、その情報を記憶装置２４０に蓄積する。
【００２５】
続いて、コピー元の計算機１００のアプリケーションプログラム１４０から、ファイル１３０のクローズが要求されると、レプリケーション手段１５０は、ファイル１３０をクローズすると共に、ファイル１３０に対してクローズ操作を行った旨の情報をネットワーク３００を通じてコピー先の計算機２００へ送信する。コピー先の計算機２００では、その情報を記憶装置２４０に蓄積する。
【００２６】
コピー先の計算機２００のレプリケーション手段２７０は、記憶装置２４０から読み出した情報をバッファ２８０に格納すると共に解析する。そして、その情報が、ファイル１３０に対してオープン操作を行った旨の情報であることを認識すると、レプリケーション手段２７０は、ファイル１３０のコピー先ファイルであるファイル２５０に対して同様のオープン操作を実施する。
【００２７】
また、レプリケーション手段２７０は、記憶装置２４０から次に読み出した情報をバッファ２８０に格納すると共に解析する。そして、その情報が、ファイル１３０の内容をＡ２に更新する操作であることを認識すると、レプリケーション手段２７０は、ファイル２５０に対して同様の操作を実施し、ファイル２５０の内容をＡ２に更新する。
【００２８】
さらに、レプリケーション手段２７０は、記憶装置２４０から次に読み出した情報をバッファ２８０に格納すると共に解析する。そして、その情報が、ファイル１３０に対してクローズ操作を行った旨の情報であることを認識すると、レプリケーション手段２７０は、ファイル２５０に対して同様の操作を実施し、ファイル２５０をクローズする。この時点で、ファイル２５０は、オリジナルファイルであるファイル１３０と同じ内容Ａ２になる。他方、ファイル２６０は、１世代前のＡ１の内容のままである。
【００２９】
レプリケーション手段２７０は、ファイル２５０のクローズ操作が正常に終了すると、それを契機に、バッファ２８０に格納された情報に基づいて、ファイル２６０を更新する。このファイル２６０の更新中にネットワーク３００から受信したファイル１３０に対するファイル操作の情報は、記憶装置２４０に蓄えられる。
【００３０】
レプリケーション手段２７０は、ファイル２６０の更新に際しては、まず、バッファ２８０の情報をその格納順に読み出す。次に、この読み出した情報に従って、ファイル２６０のオープン、内容Ａ２への更新、クローズを実施する。そして、ファイル２６０のクローズが正常に終了した時点で、レプリケーション手段２７０は、記憶装置２４０に記憶された情報に基づくファイル２５０の操作を再開する。
【００３１】
このように本実施形態によれば、コピー先の計算機２００上のファイル２５０とファイル２６０とを同時にオープンして一緒に更新することがないため、更新中に発生する障害による影響は何れか一方のファイルに限定される。つまり、ファイル２５０の更新中に障害が発生しても、その時点ではファイル２６０はオープンされていないので、１世代前のファイル内容は利用することができる。また、ファイル２６０の更新中に障害が発生しても、その時点ではファイル２５０はオープンされていないので、最新世代のファイル内容は利用することができる。
【００３２】
上記の説明ではレプリケーション手段２７０は、ファイル２５０に対して実施されたファイル操作をファイル２６０に対して実施することにより、ファイル２６０をファイル２５０と同じ内容に更新している。しかし、レプリケーション手段２７０は、ファイル２５０をファイル２６０にコピーすることにより、ファイル２６０をファイル２５０と同じ内容に更新するようにしてもよい。
【００３３】
[第２の実施形態]
[概要]
本実施形態は、ネットワークを介したファイルシステムレプリケーションにおいて、ネットワーク障害などによりレプリケーションが中断した場合でも、中断前最終クローズ（close）したファイルイメージまでファイルをロールバックすることにより、業務継続をはかることを特徴とする。
【００３４】
そのために本実施形態は、論理的なファイルＩ／Ｏ単位（ファイルオープンからクローズまで）で１つ前のファイルイメージを保持することで、複製サイトでのファイル利用時に複製ファイルが利用不可の場合でも、ファイル単位で１つ前のファイルイメージを活用して業務を継続する。
【００３５】
より具体的には、本実施形態では、図４に示すように、複製サイト（サイトＢ）には、本番サイト（サイトＡ）のファイルシステム（ファイルシステムＡ−１）と同じサイズのファイルシステムを２つ（ファイルシステムＢ−１、ファイルシステムＢ−２）用意する。
【００３６】
そして、図５に示すように、ファイルシステムＢ−１は、サイトＡで実施されたファイルＩ／Ｏを再実行し、非同期に複製を作成する。さらに、図６に示すように、ファイルＩ／Ｏが完了した段階（ファイルのクローズ処理が実施された段階）で、ファイルシステムＢ−１に対するＩ／Ｏとは別のＩ／Ｏスレッドによって、ファイルシステムＢ−２に対してファイルの複製を実施する。これにより、Ｉ／Ｏ実施中のファイルの１世代前のファイルイメージがファイル単位に常に保持されるようにする。
【００３７】
また図７に示すように、業務がサイトＡからサイトＢに移行した場合、ファイルシステムＢ−１上のファイルが論理的に破壊されているときは、ファイルを利用しようとしたアプリケーションによる復旧機能が実施される。そして、復旧可能となった場合には、復旧したファイルで業務を継続し、そのファイルのクローズ時に２つ目のファイルシステムＢ−２にクローズ時のファイルが複製される。
【００３８】
他方、アプリケーションの復旧機能が正常に完了せずに、アプリケーションがそのファイルを利用できない場合や、アプリケーション自身にファイルの復旧機能が存在しない場合には、図８に示すように、ファイルシステムＢ−２からファイルをファイルシステムＢ−１にコピーし、図９に示すように、業務を実施する。そして、その後、ファイルクローズが発生した場合には、図１０に示すように、ファイルシステムＢ−１からファイルシステムＢ−２にファイルの複製処理を実施する。
【００３９】
[構成の説明]
図３を参照すると、本実施形態は、通常業務を実施する本番サイト（サイトＡ）と、本番サイトに災害や障害が発生した場合に業務を継続するための複製サイト（サイトＢ）とがネットワークで接続されている構成を有する。サイトＡには、サーバ（サーバＡ）とそれに接続された記憶装置（記憶装置Ａ−１）と、その記憶装置Ａ−１上にはファイルシステムＡ−１が配置される。また、サイトＢには、サーバ（サーバＢ）とそれに接続された２つの記憶装置（記憶装置Ｂ−１とＢ−２）と、その記憶装置Ｂ−１上にはファイルシステムＢ−１、記憶装置Ｂ−２にはファイルシステムＢ−１と同じサイズのファイルシステムＢ−２が配置される。
【００４０】
[動作の説明]
（１）オープン・クローズ処理が不要なファイルＩ／Ｏ処理の場合
デリート（delete）やリネーム（rename）、ムーブ（move）などのファイルのオープンやクローズ処理が不要なファイルＩ／Ｏ処理の場合には、ファイルシステムＢ−１に対する処理が完了した後、同一処理をファイルシステムＢ−２で実施する。
【００４１】
（２）オープンやクローズ処理が必要なファイルＩ／Ｏ処理の場合
【００４２】
図１１を参照すると、ファイルシステムＡ−１に対してファイルオープン処理が実施されると（処理１００）、その情報がネットワークを経由してサイトＢに伝播され（処理１１０）、ファイルシステムＢ−１上のファイルのオープン処理がファイルシステムＡ−１とは非同期に実施される（処理２００）。同様に、ファイルシステムＡ−１に対するアップデート処理（処理１０１，１０２）も、ネットワーク経由で情報が伝播され（処理１１１、１１２）、ファイルシステムＢ−１で同じ処理がファイルシステムＡ−１と非同期に実行される（処理２０１，２０１０）。さらに、ファイルシステムＡ−１でファイルクローズ処理が実施されると（処理１０３）、同様にファイルシステムＢ−１に伝播され（処理１１３）、ファイルシステムＢ−１上でファイルクローズ処理が実施される（処理２０３）。その後、ファイルシステムＢ−２に対して、ファイルシステムＢ−１に実行されたＩ／Ｏ処理が順次（処理３００→３０１→３０２→３０３の順に）実行される。
【００４３】
図１２を参照すると、障害発生後、サイトＢにて業務を開始した場合（処理４００）、ファイルシステムＢ−１上のファイルのオープン処理（処理４０１）が正常に終了した場合には、業務継続は可能である（処理４０２〜４０３）。しかし、ファイルシステムＢ−１上の複製処理（処理２００、２０１、２０２、２０３のいずれか）が中断していると、ファイルシステムＢ−１上のファイルをオープンした際（処理４０１）、オープン処理は失敗する。
【００４４】
その場合、サイトＢでは、利用するアプリケーションで復旧可能な場合には、復旧処理を実施し（処理５０１、処理５０２）、業務を継続する。しかし、利用するアプリケーションで復旧不可の場合には、ファイルシステムＢ−２上にある１世代前のファイルをファイルシステムＢ−１にコピーし（処理６０１）、業務を継続する（処理４０３）。
【００４５】
その後、サイトＢでの処理が完了し、ファイルをクローズした（処理４０４）後には、ファイルシステムＢ−１からファイルシステムＢ−２にファイルを別プロセスでコピーする（処理６０２）。
【００４６】
上記の処理により、常にアクセス可能ファイルをファイルシステムＢ−２にも保持し、業務継続をはかる。
【００４７】
このように本実施形態によれば、ファイルを利用するアプリケーションの機能に依存せず復旧可能となる。また、ファイル単位で１世代前に戻すことが可能である。
【００４８】
また、ファイルを利用するアプリケーションにファイル復旧機能が実装されている場合には、その実装機能による復旧を優先して実施することができる。
【００４９】
なお、本実施形態の変形例として、レプリケーション中のファイルシステムＢ−２への複製作成を、ファイルシステムＢ−１からファイルシステムＢ−２にファイルのコピーを実施することで行うようにしてもよい。
【００５０】
[その他の実施形態]
本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。例えば、利用ファイルはデータベースファイルなどの構造化ファイルだけでなく、テキストファイルなどの非構造化ファイルに関しても適用可能である。また、本発明に必要な機能はハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態におけるレプリケーション手段として機能させる。
【符号の説明】
【００５１】
１００…コピー元の計算機
１１０…記憶装置
１２０…処理装置
１３０…ファイル
１４０…アプリケーションプログラム
１５０…レプリケーション手段
２００…コピー先の計算機
２１０、２２０、２４０…記憶装置
２３０…処理装置
２５０…ファイル
２６０…ファイル
２７０…レプリケーション手段
２８０…バッファ
３００…ネットワーク
【図１】
2012178124.tif 000003
【図２】
2012178124.tif 000004
【図３】
2012178124.tif 000005
【図４】
2012178124.tif 000006
【図５】
2012178124.tif 000007
【図６】
2012178124.tif 000008
【図７】
2012178124.tif 000009
【図８】
2012178124.tif 000010
【図９】
2012178124.tif 000011
【図１０】
2012178124.tif 000012
【図１１】
2012178124.tif 000013
【図１２】
2012178124.tif 000014