JP2010282586A - ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム - Google Patents

ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム Download PDF

Info

Publication number
JP2010282586A
JP2010282586A JP2009137665A JP2009137665A JP2010282586A JP 2010282586 A JP2010282586 A JP 2010282586A JP 2009137665 A JP2009137665 A JP 2009137665A JP 2009137665 A JP2009137665 A JP 2009137665A JP 2010282586 A JP2010282586 A JP 2010282586A
Authority
JP
Japan
Prior art keywords
file
backward
log
file operation
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009137665A
Other languages
English (en)
Inventor
Takeshi Miyamae
剛 宮前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009137665A priority Critical patent/JP2010282586A/ja
Priority to US12/790,978 priority patent/US8255367B2/en
Publication of JP2010282586A publication Critical patent/JP2010282586A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Abstract

【課題】ログ適用後のデータから過去の任意の時点のデータに遡ることを可能にする技術を提供すること。
【解決手段】
フォワードログを取得するステップと、取得したフォワードログのフォワードファイル操作を抽出するステップと、フォワードファイル操作に係るバックワードファイル操作生成規則を特定するステップと、特定したバックワードファイル操作生成規則に従ってフォワードファイル操作適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成するステップと、生成したバックワードファイル操作をバックワードログに記録するステップと、フォワードファイル操作を適用前のファイルに適用するステップと、適用後のファイルに対してバックワードファイル操作を適用して適用前のファイルを復元するステップとをコンピュータに実行させるコンピュータプログラムが提供される。
【選択図】図1

Description

本発明は、ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システムに関する。
近年、コンピュータは、私たちの日常生活や企業の業務などにおいて不可欠なものとなっている。このため、予測不可能な災害などによってコンピュータシステムが被害を受けた場合に、コンピュータシステムを適切かつ迅速に回復させるためのディザスタリカバリ(DR)技術が重要となる。
典型的なディザスタリカバリ技術では、ある時点(チェックポイント)の業務データが、当該業務データに対して各種データ処理を実行するプライマリサイトから、プライマリサイトの遠隔に設けられたセカンダリサイトにバックアップされる。その後、プライマリサイトにおいて当該チェックポイントの業務データに対して各種ファイル操作が適用されると、当該ファイル操作を記録したログがセカンダリサイトに転送される。プライマリサイトにおける災害発生時には、セカンダリサイトにおいて、転送されたログの各ファイル操作がバックアップされた業務データに対して適用される。このようにして、セカンダリサイトにおいて、業務データを比較的新しい任意の状態へ復旧することができる。このようなディザスタリカバリ技術は、例えば、Double−Take Software社により製造販売されるDouble−Takeという製品などにより実現されていることが知られている。
特開2006−12121号公報 特開平04−184641号公報 特開昭60−142446号公報
このようなディザスタリカバリ技術では、バックアップされたあるチェックポイントの業務データから、当該チェックポイントより以前の業務データを復元することは原理的に不可能である。従って、できるだけ過去の時点の業務データまで遡ることを可能にするためには、そのような過去の時点の業務データがバックアップされる必要がある。しかしながら、この場合、現在の業務データを復元するためには、多数のファイル操作が適用される必要があり、業務データの復旧に要する時間が増大してしまう。
また、ログに記録されたファイル操作があるチェックポイントの業務データに適用された後、適用後の業務データから少し過去の時点の業務データに遡ることが所望されるケースがあるかもしれない。この場合、上記ディザスタリカバリ技術では、ログ適用前の業務データに対して、ログの最先のファイル操作から所望される時点までのファイル操作が再度適用されねばならない。
従って、ログ適用後のデータから過去の任意の時点のデータに効率的に遡ることを可能にする技術が所望される。
上記の課題を解決するために、ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得するステップと、前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出するステップと、各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定するステップと、前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成するステップと、前記生成したバックワードファイル操作を生成順にバックワードログに記録するステップと、前記抽出したフォワードファイル操作を前記適用前のファイルに適用するステップと、前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元するステップと、をコンピュータに実行させるコンピュータプログラムが提供される。
本開示の構成は、ログ適用後のデータから過去の任意の時点のデータに効率的に遡ることを可能にする。
図1は、一実施例による情報システムの一例となる構成を示す。 図2は、一実施例によるサーバの一例となるハードウェア構成を示す。 図3は、一実施例によるプライマリエージェントの一例となる機能的構成を示す。 図4は、一実施例によるセカンダリエージェントの一例となる機能的構成を示す。 図5は、一実施例によるCREATE操作に対応するバックワードファイル操作生成規則を示す概念図である。 図6は、一実施例によるWRITE操作に対応するバックワードファイル操作生成規則を示す概念図である。 図7は、一実施例によるREMOVE操作に対応するバックワードファイル操作生成規則を示す概念図である。 図8は、一実施例によるLINK操作に対応するバックワードファイル操作生成規則を示す概念図である。 図9は、一実施例によるMKDIR操作に対応するバックワードファイル操作生成規則を示す概念図である。 図10は、一実施例によるRENAME操作に対応するバックワードファイル操作生成規則を示す概念図である。 図11は、一実施例によるRMDIR操作に対応するバックワードファイル操作生成規則を示す概念図である。 図12は、一実施例によるSETATTR操作に対応するバックワードファイル操作生成規則を示す概念図である。 図13は、一実施例によるフォワードログの一例となるデータ構造と対応するバックワードログの一例となるデータ構造とを示す。 図14は、一実施例によるバックワードログ生成処理を示すフロー図である。 図15は、一実施例によるCREATE操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図16は、一実施例によるWRITE操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図17は、一実施例によるREMOVE操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図18は、一実施例によるLINK操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図19は、一実施例によるMKDIR操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図20は、一実施例によるRENAME操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図21は、一実施例によるRMDIR操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図22は、一実施例によるSETATTR操作に対応するバックワードファイル操作生成処理を示すフロー図である。 図23は、一実施例による生成されたバックワードログによる復元処理を示すフロー図である。
以下、各実施例が添付した図面を参照して説明される。
図1を参照して、一実施例による情報システムが説明される。図1は、一実施例による情報システムの一例となる構成を示す。
情報システム10は、ネットワーク50を介し互いに接続されるプライマリサイト30とセカンダリサイト40とを有する。
プライマリサイト30は、典型的には、情報システム10において運用される業務データに対する各種処理が要求されると、要求された処理を当該業務データに対して実行する業務サイトとして機能する。プライマリサイト30は、プライマリストレージ32とプライマリ(業務)サーバ34とを有する。プライマリストレージ32は、情報システム10において処理される業務データを含む各種データを格納する。プライマリサーバ34は、各種アプリケーションを使用して、プライマリストレージ32に格納されているデータに対して各種処理を実行する。
セカンダリサイト40は、典型的には、プライマリサイト30から遠隔に設けられ、災害発生によりプライマリサイト30が被害を受けた際に、プライマリサイト30の代替サイトとして機能する。セカンダリサイト40は、セカンダリストレージ42と、フォワードログディスク44と、バックワードログディスク46と、セカンダリサーバ48とを有する。
セカンダリストレージ42には、プライマリストレージ32におけるある時点のデータ、すなわち、あるチェックポイントのデータがプライマリサイト30から提供されている。さらに、プライマリサイト30からネットワーク50を介し転送され、フォワードログディスク44に格納されたフォワードログの各ファイル操作(CREATE,WRITE,REMOVEなど)が、セカンダリストレージ42のデータに適用される。
フォワードログディスク44は、ネットワーク50を介しプライマリサイト30からセカンダリサイト40に転送された各種ファイル操作(フォワードファイル操作)をフォワードログとして格納する。このフォワードログは、後述されるように、プライマリストレージ32に格納されている各ファイルに順次適用された各ファイル操作をその適用順に先頭から記録するものであるかもしれない。
バックワードログディスク46は、フォワードログディスク44に格納されているフォワードログから、後述されるバックワードログ生成処理により生成されたバックワードログを格納する。さらに、バックワードログディスク46は、このバックワードログ生成処理及び生成されたバックワードログを利用したデータ復元処理において使用されるデータを一時的に格納するかもしれない。
セカンダリサーバ48は、各種アプリケーションを使用して、セカンダリストレージ42に格納されているデータに対して各種処理を実行する。さらに、セカンダリサーバ48は、後述されるようなセカンダリエージェントを使用して、バックワード生成処理及び生成されたバックワードログを利用したデータ復元処理を実行する。
ネットワーク50は、プライマリサイト30とセカンダリサイト40とを接続する何れか適切なネットワークである。ネットワーク50は、典型的には、専用回線ネットワークであるかもしれない。
図2を参照して、一実施例によるプライマリサーバ34及びセカンダリサーバ48のハードウェア構成が説明される。図2は、一実施例によるセカンダリサーバ48の一例となるハードウェア構成を示す。なお、プライマリサーバ34は、セカンダリサーバ48と同様のハードウェア構成を有してもよいため、プライマリサーバ34のハードウェア構成の説明は、省略される。
セカンダリサーバ48は、互いにバスBを介し接続されるCPU(Central Processing Unit)60と、インタフェース装置62と、ドライブ装置64と、記憶媒体66と、補助記憶装置68と、メモリ装置70とを有する。
セカンダリサーバ48での処理を実現するプログラムは、CD−ROMなどの記憶媒体66によって提供されてもよい。プログラムを記録した記憶媒体66がドライブ装置64に装着されると、プログラムが記憶媒体66からドライブ装置64を介して補助記憶装置68にインストールされる。ハードディスクドライブ(HDD)などの補助記憶装置68は、インストールされたプログラムを格納する。
メモリ装置70は、プログラムの起動指示に応答して、補助記憶装置68からプログラムをロードする。CPU60は、メモリ装置70にロードされたプログラムに従ってセカンダリサーバ48に係る各種機能を実行する。インタフェース装置62は、ネットワーク50及びセカンダリサイトの他の構成要素に接続するためのインタフェースとして用いられる。
図3を参照して、一実施例によるプライマリサイト30のプライマリエージェントの機能的構成が説明される。図3は、一実施例によるプライマリエージェントの一例となる機能的構成を示す。
プライマリエージェント80は、プライマリサイト30のプライマリサーバ34によって実現される一機能である。具体的には、プライマリエージェント80は、プライマリストレージ32の業務データを含む各ファイルに対してプライマリサーバ34により実行された各ファイル操作を検出する。プライマリエージェント80は、これらのファイル操作(フォワードファイル操作)を含むフォワードログを生成し、ネットワーク50を介しセカンダリサイト40に送信する。
プライマリエージェント80は、ファイルシステム要求インタセプト部82と、フォワードログ生成部84と、フォワードログ送信部86と、通信制御部88とを有する。これら各機能的要素は、メモリ装置70にロードされたプログラムをCPU60が実行することにより実現可能である。
ファイルシステム要求インタセプト部82は、プライマリストレージ32の業務データを含む各ファイルに対してプライマリサーバ34により実行された各ファイル操作(CREATE,WRITE,REMOVEなど)を検出する。その後、ファイルシステム要求インタセプト部82は、検出された各ファイル操作をフォワードログ生成部84に提供する。
なお、本開示で使用される「ファイル操作」という用語は、CREATE,WRITE,REMOVEなどの各ファイルに対する各種操作と共に、プライマリストレージ32におけるディレクトリに対する各種操作(MKDIR,RMDIRなど)も含む。後述されるように、各ファイル操作は、当該ファイル操作に対して予め規定されている引数を有する。例えば、CREATE操作は、2つの引数「作成ファイル格納ディレクトリ」と「作成ファイル」とを有し、MKDIR操作は、1つの引数「作成ディレクトリ」を有する。ファイルシステム要求インタセプト部82は、各ファイル操作を当該ファイル操作に係る操作種別と引数の値(オペランド)とにより検出し、フォワードログ生成部84に提供する。
フォワードログ生成部84は、ファイルシステム要求インタセプト部82から受け付けた操作種別及びオペランドを含む各ファイル操作からフォワードログを生成する。具体的には、フォワードログ生成部84は、ファイルシステム要求インタセプト部82から受け付けた各ファイル操作を、プライマリサーバ34によるプライマリストレージ32の各ファイルへの各ファイル操作の適用順にフォワードログに記録する。記録されたフォワードログは、典型的には、プライマリサーバ34の補助記憶装置68に格納されるかもしれない。その後、フォワードログ生成部84は、生成されたフォワードログをフォワードログ送信部86に提供する。
フォワードログ生成部84は、補助記憶装置68に格納されているフォワードログを何れか適当なタイミングでフォワードログ送信部86に提供してもよい。すなわち、フォワードログ生成部84は、ファイルシステム要求インタセプト部82からファイル操作を受け付ける毎に、受け付けたファイル操作を含むフォワードログを生成し、フォワードログ送信部86に提供してもよい。あるいは、フォワードログ生成部84は、ファイルシステム要求インタセプト部82から複数のファイル操作を受け付け、これら複数のファイル操作を含むフォワードログを生成し、フォワードログ送信部86に提供してもよい。
一実施例では、フォワードログ生成部84は、受け付けたファイル操作の個数を計数するカウンタ(図示せず)を有してもよい。この場合、フォワードログ生成部84は、ファイルシステム要求インタセプト部82から所定数のファイル操作を受け付けると、これら所定数のファイル操作を含むフォワードログを生成し、フォワードログ送信部86に提供してもよい。
他の実施例では、フォワードログ生成部84は、タイマ(図示せず)を有してもよい。この場合、フォワードログ生成部84は、ファイルシステム要求インタセプト部82から所定期間内に受け付けたファイル操作を含むフォワードログを生成し、フォワードログ送信部86に提供してもよい。上記何れの実施例においても、フォワードログは、各ファイル操作の適用順が維持されるように生成される必要があることに留意すべきである。
フォワードログ送信部86は、フォワードログ生成部84から受け付けたフォワードログをネットワーク50を介しセカンダリサイト40に送信するよう通信制御部88に指示する。
通信制御部88は、フォワードログ送信部86から送信指示を受け付けると、受け付けたフォワードログを何れかの通信形式に従う電子データに変換し、ネットワーク50を介しセカンダリサイト40に送信する。さらに、この電子データは、必要に応じて圧縮や暗号化など適切な処理が施されてもよい。
図4を参照して、一実施例によるセカンダリサイト40のセカンダリエージェントの機能的構成が説明される。図4は、一実施例によるセカンダリエージェントの一例となる機能的構成を示す。
セカンダリエージェント90は、セカンダリサイト40のセカンダリサーバ48によって実現される一機能である。具体的には、セカンダリエージェント90は、プライマリエージェント80から受け付けたフォワードログをフォワードログディスク44に格納する。フォワードログの適用指示に応答して、セカンダリエージェント90は、フォワードログディスク44のフォワードログから各ファイル操作(フォワードファイル操作)を抽出する。その後、セカンダリエージェント90は、セカンダリストレージ42にバックアップされているデータに各フォワードファイル操作を適用する。このフォワードファイル操作の適用の際、セカンダリエージェント90は、所定の生成規則に従って、各フォワードファイル操作の適用後のファイルから適用前のファイルを復元するためのバックワードファイル操作を生成する。各バックワードファイル操作の生成後、セカンダリエージェント90は、生成したバックワードファイル操作をバックワードログに生成順に記録する。
セカンダリエージェント90は、フォワードログ受信時制御コンポーネント100と、バックグラウンド処理コンポーネント120とを有する。これら各機能的要素は、CPU60がメモリ装置70にロードされたプログラムを実行することにより実現可能である。
フォワードログ受信時制御コンポーネント100は、プライマリサイト30からフォワードログを受け付け、受け付けたフォワードログをフォワードログディスク44に格納する。フォワードログ受信時制御コンポーネント100は、通信制御部102と、フォワードログ受信部104と、フォワードログ保存部106と、ディスク制御部108とを有する。
通信制御部102は、プライマリサイト30からネットワーク50を介し電子データの形式により送信されたフォワードログを受信する。電子データを受信すると、通信制御部102は、通信形式に応じて受信した電子データを復号化し、復号化したデータをフォワードログ受信部104に提供する。
フォワードログ受信部104は、通信制御部102から復号化されたデータを受け付けると、当該データからフォワードログを抽出し、フォワードログ保存部106に提供する。
フォワードログ保存部106は、フォワードログ受信部104からフォワードログを受け付けると、当該フォワードログをフォワードログディスク44に格納するようディスク制御部108に指示する。
ディスク制御部108は、フォワードログ保存部106からのフォワードログの格納指示に応答して、フォワードログディスク44に当該フォワードログを格納する。
バックグラウンド処理コンポーネント120は、フォワードログの適用指示に応答して、バックグラウンド処理によりフォワードログディスク44のフォワードログから各ファイル操作を抽出する。その後、バックグラウンド処理コンポーネント120は、セカンダリストレージ42にバックアップされているデータに各フォワードファイル操作を適用する。このフォワードファイル操作の適用の際、バックグラウンド処理コンポーネント120は、バックワードファイル操作を生成し、生成したバックワードファイル操作をバックワードログに生成順に記録する。
バックグラウンド処理コンポーネント120は、バックグラウンド制御部122と、ログ適用部124と、ログ読み込み部126と、ディスク制御部128と、セカンダリストレージ更新部130と、バックワードログ生成部132と、更新前データ読み込み部134と、バックワードログ保存部136とを有する。
バックグラウンド制御部122は、バックグラウンド処理コンポーネント120がバックグラウンドで実行する各処理を制御する。バックグランド制御部122は、フォワードログの適用指示を受け付けると、セカンダリストレージ42に格納されている各ファイルにフォワードログを適用するようログ適用部124に指示すると共に、適用されるフォワードログに対応するバックワードログを生成するようバックワードログ生成部132に指示する。さらに、バックグランド制御部122は、フォワードログ適用後の各ファイルに生成されたバックワードログを適用する指示を受け付けると、セカンダリストレージ42に格納されている適用後の各ファイルにバックワードログを適用するようログ適用部124に指示する。
ログ適用部124は、バックグラウンド制御部122からのフォワードログ適用指示に応答して、ログ読み込み部126にフォワードログディスク44に格納されているフォワードログを抽出するよう指示する。その後、ログ適用部124は、抽出したフォワードログの各ファイル操作(CREATE,WRITE,REMOVE,MKDIR,RMDIRなど)を適用順にセカンダリストレージ42のデータに適用して、セカンダリストレージ更新部130にセカンダリストレージ42に格納されている各ファイルを更新するよう指示する。例えば、フォワードログの各ファイル操作が、プライマリストレージ32の各ファイルに対して適用された順にフォワードログの先頭から記述されている場合、ログ適用部124は、ログ読み込み部126により読み込まれたフォワードログの先頭から各ファイル操作を順次適用するようにしてもよい。
具体的には、ログ適用部124はまず、適用順のうち最先のファイル操作をフォワードログから抽出する。ログ適用部124は、抽出したファイル操作から、抽出したファイル操作の操作種別(CREATE,WRITE,REMOVEなど)と、当該操作種別に係る引数の各値(オペランド)とを特定する。その後、ログ適用部124は、特定された操作種別とオペランドとを含むファイル操作をバックワードログ生成部132に供給する。その後、ログ適用部124は、抽出したファイル操作をセカンダリストレージ42に適用して、セカンダリストレージ更新部130にセカンダリストレージ42の各ファイルを更新させる。
その後、ログ適用部124は、適用順のうち次に最先のファイル操作をフォワードログから抽出し、上記と同様の処理を実行する。以降、ログ適用部124は、フォワードログの他のファイル操作に対して上記処理を繰り返す。
ログ読み込み部126は、上述されるように、ログ適用部124からのフォワードログの読み込み指示に応答して、ディスク制御部128を介しフォワードログディスク44に格納されているフォワードログを取得する。また、ログ読み込み部126は、ログ適用部124からのバックワードログの読み込み指示に応答して、ディスク制御部128を介しバックワードログディスク46に格納されているバックワードログを取得する。
ディスク制御部128は、セカンダリストレージ42、フォワードログディスク44及びバックワードログディスク46に格納されている各ファイル及びログを読み込み及び書き込みする。
セカンダリストレージ更新部130は、ログ適用部124からログ適用後の各ファイルによる更新指示を受け付けると、セカンダリストレージ42の対応する適用前のファイルを適用後のファイルにより更新する。
バックワードログ生成部132は、ログ適用部124から各フォワードファイル操作を受け付けると、後述されるような補助記憶装置68に格納されている所定のバックワードファイル操作生成規則情報を参照して、受け付けたフォワードファイル操作に対応するバックワードファイル操作を生成する。バックワードログ生成部132は、生成した各バックワードファイル操作を生成順にバックワードログに記録するようバックワードログ保存部136に指示する。
すなわち、ログ適用部124は、フォワードログから適用順に各フォワードファイル操作を順次読み込み、バックワードログ生成部132に読み込んだ各フォワードファイル操作を順次提供する。バックワードログ生成部132は、各フォワードログ操作を受け付けると、当該フォワードファイル操作に対応するバックワードファイル操作を順次生成し、生成順にバックワードログに記録する。従って、バックワードログに記録されている各バックワードファイル操作の順序(生成順)は、フォワードログに記録されている対応する各フォワードファイル操作の順序(適用順)と同じになる。
更新前データ読み込み部134は、後述されるWRITE操作、REMOVE操作、SETATTR操作など、バックワードファイル操作を生成する際にフォワードファイル操作の適用前のもとのデータが保持される必要がある場合、この更新前のデータをディスク制御部128を介しセカンダリストレージ42から読み込み、バックワードログディスク46などに一時的に保持する。
バックワードログ保存部136は、生成したバックワードログをディスク制御部128を介しバックワードログディスク46に格納する。
図5を参照して、一実施例によるCREATE操作に対応するバックワードファイル操作生成規則が説明される。図5は、一実施例によるCREATE操作に対応するバックワードファイル操作生成規則を示す概念図である。
典型的には、CREATE操作は、指定されたディレクトリに指定されたファイルを作成する操作である。すなわち、CREATE操作は、「作成ファイル格納ディレクトリ」と、「作成ファイル」とを引数として有する。
まず、図5の上側の図を参照して、フォワードCREATE操作に対応するバックワードファイル操作の生成処理が説明される。図5の左上側及び右上側には、オペランド「作成ファイル格納ディレクトリX」と「作成ファイルA」とを有するフォワードCREATE操作の適用前後のセカンダリストレージ42が概略的に示される。
図5の左上側に示されるように、ログ適用部124によるフォワードCREATE操作適用前、セカンダリストレージ42はディレクトリXを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードCREATE操作を抽出すると、抽出したフォワードCREATE操作に係る操作種別「CREATE」と、これに係る2つのオペランド「作成ファイル格納ディレクトリX」及び「作成ファイルA」とを特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「作成ファイル格納ディレクトリX」と「作成ファイルA」を有するCREATE操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードCREATE操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「作成ファイル格納ディレクトリDR」と「作成ファイルF」とを有するフォワードCREATE操作から、オペランド「削除ファイル格納ディレクトリDR」と「削除ファイルF」とを有するバックワードREMOVE操作を生成することを規定するバックワードファイル操作生成規則を有している。なお、このREMOVE操作は、セカンダリストレージ42のディレクトリDRからファイルFを削除する操作である。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードCREATE操作に対して、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードREMOVE操作をバックワードログディスク46のバックワードログに生成順に記録する。
次に、図5の下側の図を参照して、フォワードCREATE操作が適用された後のセカンダリストレージ42に対して、対応するバックワードREMOVE操作を適用した復元処理が説明される。図5の左下側及び右下側には、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作の適用前後のセカンダリストレージ42が概略的に示される。
図5の左下側には、フォワードCREATE操作が適用された後のセカンダリストレージ42(図5右上側)が示されている。復元処理において、ログ適用部124は、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作を、フォワードCREATE操作適用後のセカンダリストレージ42に適用する。当該バックワードREMOVE操作が適用されると、図5の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図5左上側)を復元することができる。
図6を参照して、一実施例によるWRITE操作に対応するバックワードファイル操作生成規則が説明される。図6は、一実施例によるWRITE操作に対応するバックワード操作生成規則を示す概念図である。
典型的には、WRITE操作は、指定されたディレクトリの指定されたファイルにおける指定されたデータを更新する操作である。すなわち、WRITE操作は、「更新ファイル格納ディレクトリ」と、「更新ファイル」と、「更新データ」とを引数として有する。
まず、図6の上側の図を参照して、フォワードWRITE操作に対応するバックワードファイル操作の生成処理が説明される。図6の左上側及び右上側には、オペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データT」とを有するフォワードWRITE操作の適用前後のセカンダリストレージ42が概略的に示される。
図6の左上側に示されるように、ログ適用部124によるフォワードWRITE操作適用前、セカンダリストレージ42はディレクトリXのファイルAにデータSを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードWRITE操作を抽出すると、抽出したフォワードWRITE操作に係る操作種別「WRITE」と、これに係る3つのオペランド「更新ファイル格納ディレクトリX」、「更新ファイルA」及び「更新データT」を特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データT」とを有するWRITE操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードWRITE操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「更新ファイル格納ディレクトリDR」と「更新ファイルF」と「更新データD1」とを有するフォワードWRITE操作から、オペランド「更新ファイル格納ディレクトリDR」と、「更新ファイルF」と、「更新データD2」とを有するバックワードWRITE操作を生成することを規定するバックワードファイル操作生成規則を有している。なお、「更新データD2」は、フォワードWRITE操作適用前のもとのデータを表す。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードWRITE操作に対して、オペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データS」とを有するバックワードWRITE操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードWRITE操作をバックワードログディスク46のバックワードログに生成順に記録する。さらにバックワードログ生成部132は、ログ適用部124がセカンダリストレージ42に上記フォワードWRITE操作を適用する前に、更新前データ読み込み部134にセカンダリストレージ42のもとのデータSを読み込ませ、バックワードログディスク46のバックワードログに格納させる。
バックワードWRITE操作に係るもとのデータSをバックワードログディスク46に記録する際、データSを含むもとのファイルA全体がバックワードログディスク46に記録されてもよい。しかしながら、もとのデータSはファイルAの一部であるため、バックワードログディスク46の格納容量を節約するため、実際に更新されるファイルAのもとのデータSのみがバックワードログディスク46に格納されるようにしてもよい。この場合、更新データSは、セカンダリストレージ42における格納開始ブロック番号と、当該ブロックから格納終端ブロック番号までのオフセットなどにより指定されてもよい。
次に、図6の下側の図を参照して、フォワードWRITE操作が適用された後のセカンダリストレージ42に対して、対応するバックワードWRITE操作を適用した復元処理が説明される。図6の左下側及び右下側には、オペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データS」とを有するバックワードWRITE操作の適用前後のセカンダリストレージ42が概略的に示される。
図6の左下側には、フォワードWRITE操作が適用された後のセカンダリストレージ42(図6右上側)が示されている。復元処理において、ログ適用部124は、オペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データS」とを有するバックワードWRITE操作をフォワードWRITE操作適用後のセカンダリストレージ42に適用する。当該バックワードWRITE操作が適用されると、図6右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図6左上側)を復元することができる。
図7を参照して、一実施例によるREMOVE操作に対応するバックワードファイル操作生成規則が説明される。図7は、一実施例によるREMOVE操作に対応するバックワード操作生成規則を示す概念図である。
上述したように、典型的には、REMOVE操作は、指定されたディレクトリの指定されたファイルを削除する操作である。すなわち、REMOVE操作は、「削除ファイル格納ディレクトリ」と、「削除ファイル」とを引数として有する。
まず、図7の上側の図を参照して、フォワードREMOVE操作に対応するバックワードファイル操作の生成処理が説明される。図7の左上側及び右上側には、オペランド「削除ファイル格納ディレクトリX」と、「削除ファイルA」とを有するフォワードREMOVE操作の適用前後のセカンダリストレージ42が概略的に示される。
図7の左上側に示されるように、ログ適用部124によるフォワードREMOVE操作適用前、セカンダリストレージ42はディレクトリXにファイルAを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードREMOVE操作を抽出すると、抽出したフォワードREMOVE操作に係る操作種別「REMOVE」と、これに係る2つのオペランド「削除ファイル格納ディレクトリX」及び「削除ファイルA」とを特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「削除ファイル格納ディレクトリX」と、「削除ファイルA」とを有するREMOVE操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードREMOVE操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「削除ファイル格納ディレクトリDR」と「削除ファイルF」とを有するフォワードREMOVE操作から、オペランド「復元ファイル格納ディレクトリDR」、「復元ファイルF」及び「削除ファイルF1」を有するRECOVER操作、すなわち、4つのオペランド「移動元ディレクトリG」、「移動元ファイルF1」、「移動先ディレクトリDR」及び「移動先ファイルF」を有するバックワードRENAME操作を生成することを規定するバックワードファイル操作生成規則を有している。ここで、ディレクトリGは、一時的にファイルF1を格納するための特殊なディレクトリである。
なお、このRECOVER操作は、セカンダリストレージ42のディレクトリGのファイルF1を、ディレクトリDRにファイルFとして復元する操作である。また、RECOVER操作と等価的であるが、このRENAME操作は、セカンダリストレージ42のディレクトリGのファイルF1をディレクトリDRにファイルFとして移動する操作である。
ログ適用部124は、オペランド「削除格納ファイルディレクトリDR」及び「削除ファイルF」を有するフォワードREMOVE操作を適用する際、実際には当該REMOVE操作を実行せず、オペランド「移動元ディレクトリDR」、「移動元ファイルF」、「移動先ディレクトリG」及び「移動先ファイルF1」を有するフォワードRENAME操作を実行する。
なお、同様にもとのデータSが一時的に保持されるフォワードWRITE操作に係るバックワードファイル操作生成処理では、WRITE操作適用前のもとのデータSはバックログディスク46に格納された。しかしながら、フォワードREMOVE操作に係るバックワードファイル操作生成処理では、上述のようにフォワードREMOVE操作適用前のもとのファイルFは、セカンダリストレージ42内の特殊なディレクトリGに格納される。これは、一般にファイルFはデータSよりデータ量が大きいため、ファイルFをバックログディスク46に格納することは、バックログディスク46の効率的な使用の観点から望ましくないためである。しかしながら、バックログディスク46が十分な格納容量を有する他の実施例では、ファイルFをバックログディスク46に格納してもよい。すなわち、フォワードREMOVE操作に対応するバックワードRENAME操作を適用する際、フォワードREMOVE操作により削除されるファイルFが何れかに維持されていればよい。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードREMOVE操作に対して、オペランド「復元ファイル格納ディレクトリX」、「復元ファイルA」及び「削除ファイルR」を有するRECOVER操作、又はオペランド「移動元ディレクトリG」、「移動元ファイルR」、「移動先ディレクトリX」及び「移動先ファイルA」を有するバックワードRENAME操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードRECOVER操作又はバックワードRENAME操作をバックワードログディスク46のバックワードログに生成順に記録する。
次に、図7の下側の図を参照して、フォワードREMOVE操作、すなわち、上述したフォワードRENAME操作が適用された後のセカンダリストレージ42に対して、対応するバックワードRECOVER又はバックワードRENAME操作を適用した復元処理が説明される。図7の左下側及び右下側には、オペランド「復元ファイル格納ディレクトリX」、「復元ファイルA」及び「削除ファイルR」を有するRECOVER操作、又はオペランド「移動元ディレクトリG」、「移動元ファイルR」、「移動先ディレクトリX」及び「移動先ファイルA」を有するバックワードRENAME操作の適用前後のセカンダリストレージ42が概略的に示される。
図7の左下側には、フォワードREMOVE操作、すなわち、フォワードRENAME操作が適用された後のセカンダリストレージ42(図7右上側)が示されている。復元処理において、ログ適用部124は、オペランド「復元ファイル格納ディレクトリX」、「復元ファイルA」及び「削除ファイルR」を有するRECOVER操作、又はオペランド「移動元ディレクトリG」、「移動元ファイルR」、「移動先ディレクトリX」及び「移動先ファイルA」を有するバックワードRENAME操作をフォワードRENAME操作適用後のセカンダリストレージ42に適用する。当該バックワードRECOVER操作又はバックワードRENAME操作が適用されると、図7の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図7左上側)を復元することができる。
図8を参照して、一実施例によるLINK操作に対応するバックワードファイル操作生成規則が説明される。図8は、一実施例によるLINK操作に対応するバックワード操作生成規則を示す概念図である。
典型的には、LINK操作は、指定されたディレクトリの指定されたファイルに対して他の指定されたディレクトリをさらにリンクさせる操作である。具体的には、他の指定されたディレクトリに当該ファイルを指定するポインタ情報ファイルが作成される。すなわち、LINK操作は、「リンク元ディレクトリ」と、「リンク元ファイル(ポインタ情報ファイル)」と、「リンク先ディレクトリ」と、「リンク先ファイル」とを引数として有する。
まず、図8の上側の図を参照して、フォワードLINK操作に対応するバックワードファイル操作の生成処理が説明される。図8の左上側及び右上側には、オペランド「リンク元ディレクトリX」と、「リンク元ファイルA」と、「リンク先ディレクトリY」と、「リンク先ファイルB」とを有するフォワードLINK操作の適用前後のセカンダリストレージ42が概略的に示される。
図8の左上側に示されるように、ログ適用部124によるフォワードLINK操作適用前、セカンダリストレージ42はディレクトリYにファイルBを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードLINK操作を抽出すると、抽出したフォワードLINK操作に係る操作種別「LINK」と、これに係る4つのオペランド「リンク元ディレクトリX」と、「リンク元ファイルA」と、「リンク先ディレクトリY」と、「リンク先ファイルB」とを特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「リンク元ディレクトリX」と、「リンク元ファイルA」と、「リンク先ディレクトリY」と、「リンク先ファイルB」とを有するフォワードLINK操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードLINK操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「リンク元ディレクトリDR1」と、「リンク元ファイルF1」と、「リンク先ディレクトリDR2」と、「リンク先ファイルF2」とを有するフォワードLINK操作から、オペランド「削除ファイル格納ディレクトリDR1」と「削除ファイルF1」とを有するREMOVE操作を生成することを規定するバックワードファイル操作生成規則を有している。なお、ファイルF1は、上述したようなファイルF2を指定するディレクトリDR1のポインタ情報ファイルである。このバックワードREMOVE操作では、このポイント情報ファイルを削除することによって、リンク元ディレクトリDR1からリンク先ファイルF2へのリンクが解除される。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードLINK操作に対して、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するREMOVE操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードREMOVE操作をバックワードログディスク46のバックワードログに生成順に記録する。
次に、図8の下側の図を参照して、フォワードLINK操作が適用された後のセカンダリストレージ42に対して、対応するバックワードREMOVE操作を適用した復元処理が説明される。図8の左下側及び右下側には、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作の適用前後のセカンダリストレージ42が概略的に示される。
図8の左下側には、フォワードLINK操作が適用された後のセカンダリストレージ42(図8右上側)が示されている。復元処理において、ログ適用部124は、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作をフォワードLINK操作適用後のセカンダリストレージ42に適用する。当該バックワードREMOVE操作が適用されると、図8の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図8左上側)を復元することができる。
図9を参照して、一実施例によるMKDIR操作に対応するバックワードファイル操作生成規則が説明される。図9は、一実施例によるMKDIR操作に対応するバックワードファイル操作生成規則を示す概念図である。
典型的には、MKDIR操作は、ストレージに指定されたディレクトリを作成する操作である。すなわち、MKDIR操作は、「作成ディレクトリ」を引数として有する。
まず、図9の上側の図を参照して、フォワードMKDIR操作に対応するバックワードファイル操作の生成処理が説明される。図9の左上側及び右上側には、オペランド「作成ディレクトリX」を有するフォワードMKDIR操作の適用前後のセカンダリストレージ42が概略的に示される。
図9の左上側に示されるように、ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードMKDIR操作を抽出すると、抽出したフォワードMKDIR操作に係る操作種別「MKDIR」と、これに係るオペランド「作成ディレクトリX」を特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「作成ディレクトリX」を有するMKDIR操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードMKDIR操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「作成ディレクトリDR」を有するフォワードMKDIR操作から、オペランド「削除ディレクトリDR」を有するバックワードRMDIR操作を生成することを規定するバックワードファイル操作生成規則を有している。なお、このRMDIR操作は、セカンダリストレージ42からディレクトリDRを削除する操作である。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードMKDIR操作に対して、オペランド「削除ディレクトリX」を有するバックワードRMDIR操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードRMDIR操作をバックワードログディスク46のバックワードログに生成順に記録する。
次に、図9の下側の図を参照して、フォワードMKDIR操作が適用された後のセカンダリストレージ42に対して、対応するバックワードRMDIR操作を適用した復元処理が説明される。図9の左下側及び右下側には、オペランド「削除ディレクトリX」を有するバックワードRMDIR操作の適用前後のセカンダリストレージ42が概略的に示される。
図9の左下側には、フォワードMKDIR操作が適用された後のセカンダリストレージ42(図9右上側)が示されている。復元処理において、ログ適用部124は、オペランド「削除ディレクトリX」を有するバックワードRMDIR操作をフォワードMKDIR操作適用後のセカンダリストレージ42に適用する。当該バックワードRMDIR操作が適用されると、図9の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図9左上側)を復元することができる。
図10を参照して、一実施例によるRENAME操作に対応するバックワードファイル操作生成規則が説明される。図10は、一実施例によるRENAME操作に対応するバックワード操作生成規則を示す概念図である。
上述されたように、典型的には、RENAME操作は、指定された移動元ディレクトリの移動元ファイルを、指定された移動先ディレクトリの移動先ファイルに移動する操作である。すなわち、RENAME操作は、「移動元ディレクトリ」と、「移動元ファイル」と、「移動先ディレクトリ」と、「移動先ファイル」とを引数として有する。なお、移動元ファイルと移動先ファイルは同じファイル名を有してもよい。この場合、移動元ファイルは、そのファイル名を維持したまま移動元ディレクトリから移動先ディレクトリに移動されることになる。また、移動元ディレクトリと移動先ディレクトリは同一であってもよい。この場合、移動元ファイルは、同一ディレクトリの内部で異なる移動先ファイルのファイル名に変更されることになる。
まず、図10の上側の図を参照して、フォワードRENAME操作に対応するバックワードファイル操作の生成処理が説明される。図10の左上側及び右上側には、オペランド「移動元ディレクトリX」と、「移動元ファイルA」と、「移動先ディレクトリY」と、「移動先ファイルB」とを有するフォワードRENAME操作の適用前後のセカンダリストレージ42が概略的に示される。
図10の左上側に示されるように、ログ適用部124によるフォワードRENAME操作適用前、セカンダリストレージ42はディレクトリXにファイルAを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードRENAME操作を抽出すると、抽出したフォワードRENAME操作に係る操作種別「RENAME」と、これに係る4つのオペランド「移動元ディレクトリX」と、「移動元ファイルA」と、「移動先ディレクトリY」と、「移動先ファイルB」とを特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「移動元ディレクトリX」と、「移動元ファイルA」と、「移動先ディレクトリY」と、「移動先ファイルB」とを有するフォワードRENAME操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードRENAME操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「移動元ディレクトリDR1」と、「移動元ファイルF1」と、「移動先ディレクトリDR2」と、「移動先ファイルF2」とを有するフォワードRENAME操作から、オペランド「移動元ディレクトリDR2」と、「移動元ファイルF2」と、「移動先ディレクトリDR1」と、「移動先ファイルF1」とを有するバックワードRENAME操作を生成することを規定するバックワードファイル操作生成規則を有している。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードRENAME操作に対して、オペランド「移動元ディレクトリY」と、「移動元ファイルB」と、「移動先ディレクトリX」と、「移動先ファイルA」とを有するバックワードRENAME操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードRENAME操作をバックワードログディスク46のバックワードログに生成順に記録する。
次に、図10の下側の図を参照して、フォワードRENAME操作が適用された後のセカンダリストレージ42に対して、対応するバックワードRENAME操作を適用した復元処理が説明される。図10の左下側及び右下側には、オペランド「移動元ディレクトリY」と、「移動元ファイルB」と、「移動先ディレクトリX」と、「移動先ファイルA」とを有するバックワードRENAME操作の適用前後のセカンダリストレージ42が概略的に示される。
図10の左下側には、フォワードRENAME操作が適用された後のセカンダリストレージ42(図10右上側)が示されている。復元処理において、ログ適用部124は、オペランド「移動元ディレクトリY」と、「移動元ファイルB」と、「移動先ディレクトリX」と、「移動先ファイルA」とを有するバックワードRENAME操作をフォワードRENAME操作適用後のセカンダリストレージ42に適用する。当該バックワードRENAME操作が適用されると、図10の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図10左上側)を復元することができる。
図11を参照して、一実施例によるRMDIR操作に対応するバックワードファイル操作生成規則が説明される。図11は、一実施例によるRMDIR操作に対応するバックワードファイル操作生成規則を示す概念図である。
上述されたように、典型的には、RMDIR操作は、指定されたディレクトリをストレージから削除する操作である。すなわち、RMDIR操作は、「削除ディレクトリ」を引数として有する。
まず、図11の上側の図を参照して、フォワードRMDIR操作に対応するバックワードファイル操作の生成処理が説明される。図11の左上側及び右上側には、オペランド「削除ディレクトリX」を有するフォワードRMDIR操作の適用前後のセカンダリストレージ42が概略的に示される。
図11の左上側に示されるように、ログ適用部124によるフォワードRMDIR操作適用前、セカンダリストレージ42はディレクトリXを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードRMDIR操作を抽出すると、抽出したフォワードRMDIR操作に係る操作種別「RMDIR」と、これに係るオペランド「削除ディレクトリX」を特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「削除ディレクトリX」を有するRMDIR操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードRMDIR操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「削除ディレクトリDR」を有するフォワードRMDIR操作から、オペランド「作成ディレクトリDR」を有するバックワードMKDIR操作を生成することを規定するバックワードファイル操作生成規則を有している。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードRMDIR操作に対して、オペランド「作成ディレクトリX」を有するバックワードMKDIR操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードMKDIR操作をバックワードログディスク46のバックワードログに生成順に記録する。
次に、図11の下側の図を参照して、フォワードRMDIR操作が適用された後のセカンダリストレージ42に対して、対応するバックワードMKDIR操作を適用した復元処理が説明される。図11の左下側及び右下側には、オペランド「作成ディレクトリX」を有するバックワードMKDIR操作の適用前後のセカンダリストレージ42が概略的に示される。
図11の左下側には、フォワードRMDIR操作が適用された後のセカンダリストレージ42(図11右上側)が示されている。復元処理において、ログ適用部124は、オペランド「作成ディレクトリX」を有するバックワードMKDIR操作をフォワードRMDIR操作適用後のセカンダリストレージ42に適用する。当該バックワードMKDIR操作が適用されると、図11の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図11左上側)を復元することができる。
図12を参照して、一実施例によるSETATTR操作に対応するバックワードファイル操作生成規則が説明される。図12は、一実施例によるSETATTR操作に対応するバックワード操作生成規則を示す概念図である。
典型的には、SETATTR操作は、指定されたディレクトリの指定されたファイルに係る属性を変更する操作である。すなわち、SETATTR操作は、「属性変更ファイル格納ディレクトリ」と、「属性変更ファイル」と、「属性」とを引数として有する。
まず、図12の上側の図を参照して、フォワードSETATTR操作に対応するバックワードファイル操作の生成処理が説明される。図12の左上側及び右上側には、オペランド「属性変更ファイル格納ディレクトリX」と、「属性変更ファイルA」と、「属性Q」とを有するフォワードSETATTR操作の適用前後のストレージが概略的に示される。
図12の左上側に示されるように、ログ適用部124によるフォワードSETATTR操作適用前、セカンダリストレージ42はディレクトリXのファイルAに係る属性Pを有している。ログ適用部124は、ログ読み込み部126を利用して、フォワードログディスク44のフォワードログからフォワードSETATTR操作を抽出すると、抽出したフォワードSETATTR操作に係る操作種別「SETATTR」と、これに係る3つのオペランド「属性変更ファイル格納ディレクトリX」、「属性変更ファイルA」及び「属性Q」を特定する。
操作種別とこれに係るオペランドを特定すると、ログ適用部124は、抽出したフォワードファイル操作がオペランド「属性変更ファイル格納ディレクトリX」、「属性変更ファイルA」及び「属性Q」を有するSETATTR操作であることをバックワードログ生成部132に通知する。
ログ適用部124からこの通知を受け付けると、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、フォワードSETATTR操作に対応するバックワードファイル操作を生成する。
具体的には、バックワードファイル操作生成規則情報は、オペランド「属性変更ファイル格納ディレクトリDR」、「属性変更ファイルF」及び「属性AT1」を有するSETATTR操作から、オペランド「属性変更ファイル格納ディレクトリDR」、「属性変更ファイルF」及び「属性AT2」を有するバックワードSETATTR操作を生成することを規定するバックワードファイル操作生成規則を有している。なお、「属性AT2」は、フォワードSETATTR操作適用前のもとの属性を表す。
図示された実施例では、バックワードログ生成部132は、上記バックワードファイル操作生成規則に従って、受け付けたフォワードSETATTR操作に対して、オペランド「属性変更ファイル格納ディレクトリX」、「属性変更ファイルA」及び「属性P」を有するバックワードSETATTR操作を生成する。その後、バックワードログ生成部132は、バックワードログ保存部136を利用して、生成したバックワードSETATTR操作をバックワードログディスク46のバックワードログに生成順に記録する。さらにバックワードログ生成部132は、ログ適用部124がセカンダリストレージ42に上記フォワードSETATTR操作を適用する前に、更新前データ読み込み部134を利用して、セカンダリストレージ42のもとの属性Pをバックワードログディスク46のバックワードログに格納する。
次に、図12の下側の図を参照して、フォワードSETATTR操作が適用された後のセカンダリストレージ42に対して、対応するバックワードSETATTR操作を適用した復元処理が説明される。図12の左下側及び右下側には、オペランド「属性変更ファイル格納ディレクトリX」、「属性変更ファイルA」及び「属性P」を有するバックワードSETATTR操作の適用前後のセカンダリストレージ42が概略的に示される。
図12の左下側には、フォワードSETATTR操作が適用された後のセカンダリストレージ42(図12右上側)が示されている。復元処理において、ログ適用部124は、オペランド「属性変更ファイル格納ディレクトリX」、「属性変更ファイルA」及び「属性P」を有するバックワードSETATTR操作をフォワードSETATTR操作適用後のセカンダリストレージ42に適用する。当該バックワードSETATTR操作が適用されると、図12の右下側に示されるように、フォワード操作適用前のセカンダリストレージ42(図12左上側)を復元することができる。
図13を参照して、フォワードログと対応するバックワードログのデータ構造が説明される。図13は、一実施例によるフォワードログの一例となるデータ構造と対応するバックワードログの一例となるデータ構造とを示す。
図示されるように、フォワードログとバックワードログとは、1以上のファイル操作を有する。各ファイル操作は、当該ファイル操作に対して予め規定されている1以上の引数を有する。例えば、CREATE操作は、「作成ファイル格納ディレクトリ」と「作成ファイル」との2つの引数を有する。また、WRITE操作は、「更新ファイル格納ディレクトリ」と、「更新ファイル」と、「更新データ」とを有する。引数「作成ファイル格納ディレクトリ」及び「更新ファイル格納ディレクトリ」については、処理対象となるディレクトリ名(X,Yなど)が指定されるかもしれない。引数「作成ファイル」及び「更新ファイル」については、処理対象となるファイル名(A,Bなど)が指定されるかもしれない。引数「更新データ」については、更新後のデータのブロック番号などが、開始ブロック番号と当該開始ブロック番号から終端ブロック番号までのオフセットとによって、指定されるかもしれない。
フォワードログは、プライマリサイト30においてプライマリサーバ34がプライマリストレージ32の業務データに対して各ファイル操作を適用した適用順が認識できるように生成される。具体的には、図13の上側のデータ構造に示されるように、プライマリサイト30においてプライマリサーバ34がプライマリストレージ32の業務データに対して適用したCREATE,WRITE,REMOVEが適用順にフォワードログの先頭から記述されるかもしれない。
他方、バックワードログは、上述したバックワードファイル操作生成規則に従って、フォワードログに記述された各ファイル操作について生成されたバックワードファイル操作を有する。上述したように、フォワードログの各フォワードファイル操作に対して、バックワードファイル操作が生成され、バックワードログに順次記録される。バックワードログは、セカンダリサイト40においてバックワードログ生成部132がログ適用部124から受け付けた各フォワードファイル操作に対して、各バックワードファイル操作が生成された生成順が認識できるように生成される。具体的には、図13の下側のデータ構造に示されるように、フォワードログの各フォワードファイル操作CREATE,WRITE,REMOVEに対応するバックワードファイル操作REMOVE,WRITE,RECOVERが生成順にバックワードログの先頭から記述される。すなわち、フォワードログに記述される各ファイル操作の適用順序は、バックワードログに記述される対応する各ファイル操作の生成順序と同一となる。
他方、フォワードログの各フォワードファイル操作が適用されたデータから、このバックワードログを使用して何れかのチェックポイントのデータを復元する際、ログ適用部132は、バックワードログを生成順とは逆順に適用する。すなわち、図13のバックワードログでは、最後尾のRECOVERから先頭のREMOVEに向かって各バックワードファイル操作を適用する。
図14を参照して、一実施例によるバックワードログ生成処理が説明される。図14は、一実施例によるバックワードログ生成処理を示すフロー図である。
バックグラウンド処理コンポーネント120がセカンダリストレージ42にバックアップされている現在のデータにフォワードログを適用するよう指示されると、バックワードログ生成処理がスタートする。
S100において、ログ適用部124は、ログ読み込み部126を利用してフォワードログディスク44からフォワードログを取得し、フォワードログに記録されている各フォワードファイル操作をその適用順に読み込む。
S200において、ログ適用部124は、読み込んだフォワードファイル操作から操作種別及び当該操作に係るオペランドを特定する。その後、ログ適用部124は、特定した操作種別とオペランドとをバックワードログ生成部132に通知する。
S300において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、通知されたフォワードファイル操作に係るバックワード操作生成規則に従って、対応するバックワードファイル操作を生成する。バックワードログ生成部132は、生成したバックワードファイル操作をバックワードログディスク46のバックワードログに生成順に記録する。
S400において、ログ適用部124は、取得したフォワードログのすべてのフォワードファイル操作について、対応するバックワードファイル操作が生成されたか判断する。すべてのフォワードファイル操作について対応するバックワードファイル操作が生成されている場合(S400:YES)、当該バックワードログ生成処理は終了される。他方、対応するバックワードファイル操作が生成されていないフォワードファイル操作がフォワードログに存在する場合(S400:NO)、S100に移行して、次のフォワードファイル操作に対して上記処理が繰り返される。
図15〜22を参照して、一実施例による図14のS300のバックワードファイル操作生成処理について、上述した各種ファイル操作に対応する詳細なバックワードファイル操作生成処理が説明される。
図15は、一実施例によるCREATE操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「作成ファイル格納ディレクトリX」と「作成ファイルA」とを有するCREATE操作であると特定し、バックワードログ生成部132に当該フォワードCREATE操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、CREATE操作に対応するバックワードファイル操作生成処理を開始する。
S310において、バックワードログ生成部132は、受け付けたCREATE操作がオペランド「作成ファイル格納ディレクトリX」と「作成ファイルA」とを有することを特定する。
S312において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードCREATE操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作を生成する。
図16は、一実施例によるWRITE操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データT」とを有するWRITE操作であると特定し、バックワードログ生成部132に当該フォワードWRITE操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、WRITE操作に対応するバックワードファイル操作生成処理を開始する。
S320において、バックワードログ生成部132は、受け付けたWRITE操作がオペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データT」とを有することを特定する。
S322において、バックワードログ生成部132は、ファイルAの更新データTと置換されるもとのデータSを決定し、ディスク制御部128を利用して、バックワードログディスク46に格納する。
S324において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードWRITE操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「更新ファイル格納ディレクトリX」と、「更新ファイルA」と、「更新データS」とを有するバックワードWRITE操作を生成する。
図17は、一実施例によるREMOVE操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するREMOVE操作であると特定し、バックワードログ生成部132に当該フォワードREMOVE操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、REMOVE操作に対応するバックワードファイル操作生成処理を開始する。
S330において、バックワードログ生成部132は、受け付けたREMOVE操作がオペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有することを特定する。
S332において、バックワードログ生成部132は、更新前データ読み込み部134を利用して、ディレクトリXのファイルAを、セカンダリストレージ42に特別に設けられたディレクトリGにファイルRとして移動する。
S334において、バックワードログ生成部98は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードREMOVE操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「復元ファイル格納ディレクトリX」と、「復元ファイルA」と、「削除ファイルR」とを有するバックワードRECOVER操作を生成する。上述されたように、このバックワードRECOVER操作は、オペランド「移動元ディレクトリG」、「移動元ファイルR」、「移動先ディレクトリX」及び「移動先ファイルA」を有するRENAME操作として実現されてもよい。
図18は、一実施例によるLINK操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「リンク元ディレクトリX」、「リンク元ファイルA」、「リンク先ディレクトリY」及び「リンク先ファイルB」を有するLINK操作であると特定し、バックワードログ生成部132に当該フォワードLINK操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、LINK操作に対応するバックワードファイル操作生成処理を開始する。
S340において、バックワードログ生成部132は、受け付けたLINK操作がオペランド「リンク元ディレクトリX」、「リンク元ファイルA」、「リンク先ディレクトリY」及び「リンク先ファイルB」を有することを特定する。
S342において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードLINK操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「削除ファイル格納ディレクトリX」と「削除ファイルA」とを有するバックワードREMOVE操作を生成する。上述したように、ファイルAは、ファイルBを指定するディレクトリXのポインタ情報ファイルである。
図19は、一実施例によるMKDIR操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「作成ディレクトリX」を有するMKDIR操作であると特定し、バックワードログ生成部132に当該フォワードMKDIR操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、MKDIR操作に対応するバックワードファイル操作生成処理を開始する。
S350において、バックワードログ生成部132は、受け付けたMKDIR操作がオペランド「作成ディレクトリX」を有することを特定する。
S352において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードMKDIR操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「削除ディレクトリX」を有するバックワードRMDIR操作を生成する。
図20は、一実施例によるRENAME操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「移動元ディレクトリX」、「移動元ファイルA」、「移動先ディレクトリY」及び「移動先ファイルB」を有するRENAME操作であると特定し、バックワードログ生成部132に当該フォワードRENAME操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、RENAME操作に対応するバックワードファイル操作生成処理を開始する。
S360において、バックワードログ生成部132は、受け付けたRENAME操作がオペランド「移動元ディレクトリX」、「移動元ファイルA」、「移動先ディレクトリY」及び「移動先ファイルB」を有することを特定する。
S362において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードRENAME操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「移動元ディレクトリY」、「移動元ファイルB」、「移動先ディレクトリX」及び「移動先ファイルA」を有するバックワードRENAME操作を生成する。
図21は、一実施例によるRMDIR操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「削除ディレクトリX」を有するRMDIR操作であると特定し、バックワードログ生成部132に当該フォワードRMDIR操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、RMDIR操作に対応するバックワードファイル操作生成処理を開始する。
S370において、バックワードログ生成部132は、受け付けたRMDIR操作がオペランド「削除ディレクトリX」を有することを特定する。
S372において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードRMDIR操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「作成ディレクトリX」を有するバックワードMKDIR操作を生成する。
図22は、一実施例によるSETATTR操作に対応するバックワードファイル操作生成処理を示すフロー図である。
S200において、ログ適用部124が、ログ読み込み部126により読み込まれたフォワードファイル操作がオペランド「属性変更ファイル格納ディレクトリX」と、「属性変更ファイルA」と、「属性Q」とを有するSETATTR操作であると特定し、バックワードログ生成部132に当該SETATTR操作を通知する。この通知に応答して、S300において、バックワードログ生成部132は、SETATTR操作に対応するバックワードファイル操作生成処理を開始する。
S380において、バックワードログ生成部132は、受け付けたSETATTR操作がオペランド「属性変更ファイル格納ディレクトリX」と、「属性変更ファイルA」と、「属性Q」とを有することを特定する。
S382において、バックワードログ生成部132は、属性Qと置換されるファイルAのもとの属性Pを決定し、ディスク制御部128を利用して、バックワードログディスク46に格納する。
S384において、バックワードログ生成部132は、補助記憶装置68に格納されているバックワードファイル操作生成規則情報を参照して、このフォワードSETATTR操作に対応するバックワードファイル操作生成規則を特定する。その後、バックワードログ生成部132は、特定したバックワードファイル操作生成規則に従って、オペランド「属性変更ファイル格納ディレクトリX」と、「属性変更ファイルA」と、「属性P」とを有するSETATTR操作を生成する。
図23を参照して、一実施例による生成されたバックワードログによる復元処理が説明される。図23は、一実施例による生成されたバックワードログによる復元処理を示すフロー図である。
バックグラウンド処理コンポーネント120が、セカンダリストレージ42にバックアップされている現在のデータにバックワードログを適用するよう指示されると、バックワードログによる復元処理はスタートする。
S500において、ログ適用部124は、ログ読み込み部126にバックワードログディスク46からバックワードログを取得させる。その後、ログ読み込み部126は、バックワードログに記録されている各バックワードファイル操作をその生成順とは逆順に読み込む。すなわち、ログ読み込み部126は、バックワードログに記録されている各バックワードファイル操作を、対応するフォワードログに記録されている各フォワードファイル操作の適用順とは逆順に読み込む。
S600において、ログ適用部124は、読み込んだバックワードファイル操作をセカンダリストレージ42にバックアップされているデータに適用する。
S700において、ログ適用部124は、取得したバックワードログに未適用のバックワードファイル操作があるか判断する。遡りたいチェックポイントに対応するバックワードファイル操作までのすべてのバックワードファイル操作が適用されている場合(S700:YES)、当該復元処理は終了される。他方、バックワードログに未適用のバックワードファイル操作がある場合(S700:NO)、S500に移行して、次のバックワードファイル操作に対して上記処理が繰り返される。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施例に限定されるものでなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
以上の説明に関し、さらに以下の項を開示する。
(付記1)
ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得するステップと、
前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出するステップと、
各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定するステップと、
前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成するステップと、
前記生成したバックワードファイル操作を生成順にバックワードログに記録するステップと、
前記抽出したフォワードファイル操作を前記適用前のファイルに適用するステップと、
前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元するステップと、
をコンピュータに実行させるコンピュータプログラム。
(付記2)
前記フォワードファイル操作がファイルを削除するファイル操作である場合、前記適用前のファイルを一時的に格納するステップをさらにコンピュータに実行させる、付記1記載のコンピュータプログラム。
(付記3)
前記フォワードファイル操作及び前記バックワードファイル操作は、CREATE、WRITE、REMOVE、RECOVER、LINK、MKDIR、RENAME、RMDIR、SETATTRの各ファイル操作を含む、付記1又は2記載のコンピュータプログラム。
(付記4)
ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得する手段と、
前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出する手段と、
各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定する手段と、
前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成する手段と、
前記生成したバックワードファイル操作を生成順にバックワードログに記録する手段と、
前記抽出したフォワードファイル操作を前記適用前のファイルに適用する手段と、
前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元する手段と、
を有する装置。
(付記5)
ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得するステップと、
前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出するステップと、
各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定するステップと、
前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成するステップと、
前記生成したバックワードファイル操作を生成順にバックワードログに記録するステップと、
前記抽出したフォワードファイル操作を前記適用前のファイルに適用するステップと、
前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元するステップと、を有する方法。
(付記6)
ファイル群を有するプライマリストレージと、前記ファイル群にフォワードファイル操作を適用するプライマリサーバとを有するプライマリサイトと、
ネットワークを介し前記プライマリサイトに接続され、前記ファイル群が複製されたセカンダリストレージと、前記複製されたファイル群に前記プライマリサイトから転送されたフォワードファイル操作を適用するセカンダリサーバとを有するセカンダリサイトと、
を有する情報システムであって、
前記セカンダリサイトは、
前記プライマリストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを前記プライマリサイトから前記ネットワークを介し取得する手段と、
前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出する手段と、
各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定する手段と、
前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成する手段と、
前記生成したバックワードファイル操作を生成順にバックワードログに記録する手段と、
前記抽出したフォワードファイル操作を前記適用前のファイルに適用する手段と、
前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元する手段と、
を有する情報システム。
10 情報システム
30 プライマリサイト
32 プライマリストレージ
34 プライマリサーバ
40 セカンダリサイト
42 セカンダリストレージ
44 フォワードログディスク
46 バックワードログディスク
48 セカンダリサーバ
50 ネットワーク
80 プライマリエージェント
90 セカンダリエージェント
100 フォワードログ受信時制御コンポーネント
120 バックグラウンド処理コンポーネント
124 ログ適用部
132 バックワードログ生成部

Claims (5)

  1. ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得するステップと、
    前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出するステップと、
    各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定するステップと、
    前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成するステップと、
    前記生成したバックワードファイル操作を生成順にバックワードログに記録するステップと、
    前記抽出したフォワードファイル操作を前記適用前のファイルに適用するステップと、
    前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元するステップと、
    をコンピュータに実行させるコンピュータプログラム。
  2. 前記フォワードファイル操作がファイルを削除するファイル操作である場合、前記適用前のファイルを一時的に格納するステップをさらにコンピュータに実行させる、請求項1記載のコンピュータプログラム。
  3. 前記フォワードファイル操作及び前記バックワードファイル操作は、CREATE、WRITE、REMOVE、RECOVER、LINK、MKDIR、RENAME、RMDIR、SETATTRの各ファイル操作を含む、請求項1又は2記載のコンピュータプログラム。
  4. ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得する手段と、
    前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出する手段と、
    各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定する手段と、
    前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成する手段と、
    前記生成したバックワードファイル操作を生成順にバックワードログに記録する手段と、
    前記抽出したフォワードファイル操作を前記適用前のファイルに適用する手段と、
    前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元する手段と、
    を有する装置。
  5. ストレージに格納されているファイル群に順次適用された各フォワードファイル操作を適用順に記録したフォワードログを取得するステップと、
    前記取得したフォワードログに記録されている各フォワードファイル操作を前記適用順に抽出するステップと、
    各フォワードファイル操作に関連付けされたバックワードファイル操作生成規則を含むバックワードファイル操作生成規則情報から、前記抽出したフォワードファイル操作に関連付けされたバックワードファイル操作生成規則を特定するステップと、
    前記特定したバックワードファイル操作生成規則に従って、前記抽出したフォワードファイル操作が適用された適用後のファイルから適用前のファイルを復元するバックワードファイル操作を生成するステップと、
    前記生成したバックワードファイル操作を生成順にバックワードログに記録するステップと、
    前記抽出したフォワードファイル操作を前記適用前のファイルに適用するステップと、
    前記生成されたバックワードログの各バックワードファイル操作を前記生成順とは逆順に順次読み込み、前記適用後のファイルに対して前記読み込んだバックワードファイル操作を適用して、適用前のファイルを復元するステップと、を有する方法。
JP2009137665A 2009-06-08 2009-06-08 ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム Pending JP2010282586A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009137665A JP2010282586A (ja) 2009-06-08 2009-06-08 ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム
US12/790,978 US8255367B2 (en) 2009-06-08 2010-05-31 File management apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009137665A JP2010282586A (ja) 2009-06-08 2009-06-08 ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム

Publications (1)

Publication Number Publication Date
JP2010282586A true JP2010282586A (ja) 2010-12-16

Family

ID=43301472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009137665A Pending JP2010282586A (ja) 2009-06-08 2009-06-08 ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム

Country Status (2)

Country Link
US (1) US8255367B2 (ja)
JP (1) JP2010282586A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015079474A (ja) * 2013-10-18 2015-04-23 ウィンウェイ システムズ,インコーポレイテッドWinway Systems, Inc. データバックアップ方法及びこれを支援するシステム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10482194B1 (en) * 2013-12-17 2019-11-19 EMC IP Holding Company LLC Simulation mode modification management of embedded objects
US9460182B2 (en) 2014-03-20 2016-10-04 International Business Machines Corporation Networking-assisted input/output order preservation for data replication
US10372548B2 (en) 2016-11-17 2019-08-06 International Business Machines Corporation Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
US10261868B2 (en) * 2016-11-17 2019-04-16 International Business Machines Corporation Using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63116234A (ja) * 1986-11-05 1988-05-20 Hitachi Ltd デ−タ処理装置
JPH05225022A (ja) * 1992-02-13 1993-09-03 Nec Corp 実行環境再生方式
JP2000122906A (ja) * 1998-10-12 2000-04-28 Hitachi Ltd ディスク内容障害回復方法及び計算装置
JP2004213435A (ja) * 2003-01-07 2004-07-29 Hitachi Ltd 記憶装置システム
JP2005011296A (ja) * 2003-06-18 2005-01-13 Akihito Hida 二つ以上のデータ経路を有するファイルシステムと、オペレーティングシステム
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
JP2006185125A (ja) * 2004-12-27 2006-07-13 C-Grip:Kk 情報処理方法及び装置
WO2009006023A2 (en) * 2007-06-29 2009-01-08 Microsoft Corporation Memory transaction grouping

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142446A (ja) 1983-12-28 1985-07-27 Fujitsu Ltd バツクワ−ド障害復元処理方式
JPH04184641A (ja) 1990-11-20 1992-07-01 Nec Kansai Ltd データベース復旧方式
US5287501A (en) * 1991-07-11 1994-02-15 Digital Equipment Corporation Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction
US5596710A (en) * 1994-10-25 1997-01-21 Hewlett-Packard Company Method for managing roll forward and roll back logs of a transaction object
US6298425B1 (en) * 1999-01-12 2001-10-02 Compaq Computer Corp. Computer disk management system using doublet A-B logging
US7844577B2 (en) * 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
US7036044B1 (en) * 2002-11-15 2006-04-25 Microsoft Corporation Identifying appropriate undo during a forward pass through a log
JP4624829B2 (ja) 2004-05-28 2011-02-02 富士通株式会社 データバックアップシステム及び方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63116234A (ja) * 1986-11-05 1988-05-20 Hitachi Ltd デ−タ処理装置
JPH05225022A (ja) * 1992-02-13 1993-09-03 Nec Corp 実行環境再生方式
JP2000122906A (ja) * 1998-10-12 2000-04-28 Hitachi Ltd ディスク内容障害回復方法及び計算装置
JP2004213435A (ja) * 2003-01-07 2004-07-29 Hitachi Ltd 記憶装置システム
JP2005011296A (ja) * 2003-06-18 2005-01-13 Akihito Hida 二つ以上のデータ経路を有するファイルシステムと、オペレーティングシステム
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
JP2006185125A (ja) * 2004-12-27 2006-07-13 C-Grip:Kk 情報処理方法及び装置
WO2009006023A2 (en) * 2007-06-29 2009-01-08 Microsoft Corporation Memory transaction grouping

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015079474A (ja) * 2013-10-18 2015-04-23 ウィンウェイ システムズ,インコーポレイテッドWinway Systems, Inc. データバックアップ方法及びこれを支援するシステム

Also Published As

Publication number Publication date
US20100312753A1 (en) 2010-12-09
US8255367B2 (en) 2012-08-28

Similar Documents

Publication Publication Date Title
JP4923016B2 (ja) 仮想的データ長期保存処理技術
JP5646639B2 (ja) メタデータ仮想ハードドライブおよび差分仮想ハードドライブを使用するバックアップ
JP5021929B2 (ja) 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
CN102594849B (zh) 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置
US8117168B1 (en) Methods and systems for creating and managing backups using virtual disks
US8578203B2 (en) Providing a backup service from a remote backup data center to a computer through a network
JP2008171387A (ja) 継続的データ保護を備えたバックアップシステム
CN105550062B (zh) 基于持续数据保护与时间点浏览恢复的数据回流方法
US8762347B1 (en) Method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation
JP4126706B2 (ja) データバックアップのための装置、方法、及びプログラム
CN110825562B (zh) 数据备份方法、装置、系统和存储介质
JP2010282586A (ja) ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム
JP2012093827A (ja) ファイルの重複を排除する装置及び方法
CN109558213A (zh) 管理OpenStack平台的虚拟机快照的方法和装置
CN103838645B (zh) 一种基于哈希的远程差异合成备份实现方法
WO2017113317A1 (zh) 一种文件编辑方法和文件编辑器
CN106528338A (zh) 一种远程数据复制方法、存储设备及存储系统
JP6828253B2 (ja) バックアップ制御装置、バックアップ制御方法及びプログラム
JP6070146B2 (ja) 情報処理装置及びバックアップ方法
TW201516655A (zh) 基於分散式文檔系統的資料備份還原系統及方法
CN105993002A (zh) 就地的盘去格式化
CN108241557A (zh) Hdfs中数据备份的方法
CN110673985A (zh) 一种自动备份版本库的方法、存储介质及服务器
JP2007226733A (ja) データベースの正常性チェック方法、正常性チェックプログラム、および正常性チェック装置
JP6906585B2 (ja) 情報をバックアップするための方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140212