(57)【要約】【課題】  アプリケーションプログラムによるストレージデータの更新毎に、所定のバックアップ条件を満たすファイルの更新データだけをバックアップストレージに保存する。【解決手段】  アプリケーションプログラム１０１を実行する計算機１００において、バックアップ管理部１０５は、アプリケーションプログラム１０１のストレージ１０３に対するデータ更新のファイル名、プロセス名、実行ユーザ名をＯＳ１０２上で取得し、バックアップ条件テーブル１０４に保持されている条件と照合し、条件に合致した場合のみ、ストレージ１０３と同様に遠隔地のバックアップ機１１０に設けられたバックアップストレージ１１１−１〜１１１−３を更新する。【選択図】  図１
2006163560.tif 000002
【特許請求の範囲】
【請求項１】
データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機システムにおいて、バックアップ条件情報を保持するバックアップ条件テーブルと、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、前記バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するバックアップ管理部とを備えることを特徴とするバックアップシステム。
【請求項２】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてファイルに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるファイルに関する情報で特定されるファイルに対する更新操作情報であるかどうかを調べるものであることを特徴とする請求項１記載のバックアップシステム。
【請求項３】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてアプリケーションプログラムに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるアプリケーションプログラムに関する情報で特定されるアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする請求項１記載のバックアップシステム。
【請求項４】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてユーザに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする請求項１記載のバックアップシステム。
【請求項５】
１つのバックアップ条件情報は、バックアップストレージに関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるバックアップストレージに関する情報によって特定されるバックアップストレージにバックアップデータを作成するものであることを特徴とする請求項２、３または４記載のバックアップシステム。
【請求項６】
前記１つのバックアップ条件情報は、バックアップのスケジュールに関する情報を更に含んでおり、前記バックアップ管理部は、前記判定に際して、前記スケジュールの成立の成否を調べるものであることを特徴とする請求項５記載のバックアップシステム。
【請求項７】
前記バックアップストレージとして、前記ストレージが接続された計算機に備わる外部記憶装置を使用することを特徴とする請求項２乃至６の何れか１項に記載のバックアップシステム。
【請求項８】
前記外部記憶装置が着脱自在な可搬型の外部記憶装置であることを特徴とする請求項７記載のバックアップシステム。
【請求項９】
前記バックアップストレージとして、前記ストレージが接続された計算機にネットワーク経由で接続されたバックアップ機に備わる外部記憶装置を使用することを特徴とする請求項２乃至６の何れか１項に記載のバックアップシステム。
【請求項１０】
前記バックアップ機は、前記計算機から前記ネットワークを通じてデータ更新操作情報を受信し前記バックアップストレージをオペレーティングシステムを通じて更新するデータ送受信部を備えることを特徴とする請求項９記載のバックアップシステム。
【請求項１１】
前記バックアップ機は、バックアップ元パスとバックアップ先パスとの対応関係を保持するマシン管理テーブルと、前記計算機から受信したデータ更新操作情報で示されるパスが前記マシン管理テーブル中のバックアップ元パスに一致する場合にそれに対応する前記バックアップ先パスに変換するマシン管理部とを備えることを特徴とする請求項１０記載のバックアップシステム。
【請求項１２】
前記バックアップ機は、バックアップ元パスとフィルター情報との対応関係を保持するマシン管理テーブルと、前記計算機から受信したデータ更新操作情報で示されるパスが前記マシン管理テーブル中のバックアップ元パスに一致する場合にそれに対応するフィルター情報で示されるフィルタープログラムによる処理をバックアップデータに施すマシン管理部とを備えることを特徴とする請求項１０記載のバックアップシステム。
【請求項１３】
１つのバックアップ条件情報は、前記計算機から前記バックアップ機に送信するデータの加工に関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるデータの加工に関する情報によって特定される処理が行われるように制御するものであることを特徴とする請求項１０記載のバックアップシステム。
【請求項１４】
前記データ加工に関する情報がデータのセキュア通信方式を指定したセキュリティ情報であり、前記バックアップ管理部は、前記計算機と前記バックアップ機との間のデータ通信を前記セキュリティ情報で指定されるセキュア通信方式によって暗号化して行うことを特徴とする請求項１３記載のバックアップシステム。
【請求項１５】
前記バックアップ機の前記データ送受信部は、自バックアップ機のバックアップストレージに対する更新操作情報をネットワークを通じて他のバックアップ機に送信して同様の更新を他のバックアップ機にも連鎖的に行わせるものであることを特徴とする請求項１０記載のバックアップシステム。
【請求項１６】
前記バックアップ機に、バックアップ条件情報を保持するバックアップ機用バックアップ条件テーブルと、前記計算機または前段のバックアップ機から送信されてきたバックアップストレージのデータに対する更新操作情報を取得し、前記バックアップ機用バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく自バックアップ機のバックアップストレージの更新と同様の更新が後段のバックアップ機のバックアップストレージに対して実行されるようにデータ更新操作情報の後段バックアップ機への転送を制御するバックアップ機用バックアップ管理部とを備えることを特徴とする請求項１５記載のバックアップシステム。
【請求項１７】
前記計算機のストレージの更新と該更新に対応する前記バックアップストレージの更新とを同期させる構成を有することを特徴とする請求項２乃至６の何れか１項に記載のバックアップシステム。
【請求項１８】
データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機システムにおける前記ストレージのデータのバックアップデータを作成する方法において、バックアップ管理部が、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、バックアップ条件情報を保持するバックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御することを特徴とするバックアップ方法。
【請求項１９】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてファイルに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるファイルに関する情報で特定されるファイルに対する更新操作情報であるかどうかを調べることを特徴とする請求項１８記載のバックアップ方法。
【請求項２０】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてアプリケーションプログラムに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるアプリケーションプログラムに関する情報で特定されるアプリケーションプログラムから発行された更新操作情報であるかどうかを調べることを特徴とする請求項１８記載のバックアップ方法。
【請求項２１】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてユーザに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラムから発行された更新操作情報であるかどうかを調べることを特徴とする請求項１８記載のバックアップ方法。
【請求項２２】
１つのバックアップ条件情報は、バックアップストレージに関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるバックアップストレージに関する情報によって特定されるバックアップストレージにバックアップデータを作成することを特徴とする請求項１９、２０または２１記載のバックアップ方法。
【請求項２３】
前記１つのバックアップ条件情報は、バックアップのスケジュールに関する情報を更に含んでおり、前記バックアップ管理部は、前記判定に際して、前記スケジュールの成立の成否を調べることを特徴とする請求項２２記載のバックアップ方法。
【請求項２４】
データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機において、バックアップ条件情報を保持するバックアップ条件テーブルと、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、前記バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するバックアップ管理部とを備えることを特徴とする計算機。
【請求項２５】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてファイルに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるファイルに関する情報で特定されるファイルに対する更新操作情報であるかどうかを調べるものであることを特徴とする請求項２４記載の計算機。
【請求項２６】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてアプリケーションプログラムに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるアプリケーションプログラムに関する情報で特定されるアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする請求項２４記載の計算機。
【請求項２７】
前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてユーザに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする請求項２４記載の計算機。
【請求項２８】
１つのバックアップ条件情報は、バックアップストレージに関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるバックアップストレージに関する情報によって特定されるバックアップストレージにバックアップデータを作成するものであることを特徴とする請求項２５、２６または２７記載の計算機。
【請求項２９】
前記１つのバックアップ条件情報は、バックアップのスケジュールに関する情報を更に含んでおり、前記バックアップ管理部は、前記判定に際して、前記スケジュールの成立の成否を調べるものであることを特徴とする請求項２８記載の計算機。
【請求項３０】
データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機を、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、バックアップ条件情報を保持するバックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するバックアップ管理手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機システムにおけるデータのバックアップに関し、特にアプリケーションプログラムによるストレージデータの更新毎に更新データを別のストレージに保存するバックアップシステムに関する。
【背景技術】
【０００２】
計算機システムのストレージに蓄積されたデータの消失に備えて、ストレージ全体あるいはファイル全体を一括して別のストレージに複写することが一般に行われている（例えば特許文献１、２）。しかし、このような一括保存では、ストレージに蓄積されたデータが消失した場合、複写時点まで処理を戻す必要がある。そこで、アプリケーションプログラムによるストレージデータの更新毎に更新データを別のストレージに保存することが行われている。
【０００３】
データの更新毎にバックアップを採る従来のバックアップ方式の典型例は、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）のＲＡＩＤ１方式である（例えば非特許文献１）。この従来のバックアップ方式は、通常２台のディスクを用い、同一のデータを双方のディスクに書き込み、一方のディスクが故障しても、他方で処理を続行できるようにし、耐障害性を高めたものである。ここで、２台のディスクは通常はローカルディスクが使用されるが、ネットワーク接続されたディスク、もしくはネットワーク接続された計算機上のディスクをあたかもローカルなディスクとして使えるようにするStorage Area Network（ＳＡＮ）およびNetwork Attached Storage（ＮＡＳ）などの技術を用い、一方のディスクにネットワーク上のディスクを用いることも可能である。こうすることにより、通信遅延による性能低下はあるものの、遠隔地に複製データを保存することが可能である。
【０００４】
また、データの更新毎にバックアップを採る従来のバックアップ方式の別の例が、特許文献３に記載されている。この従来のバックアップ方式は、マスタサーバにおいてアプリケーションプログラムからファイルデータへのデータ更新アクセスがある毎に、更新箇所にかかるデータを抽出してスレーブサーバへ転送し、スレーブサーバのディスクをマスタサーバ側と同様に更新することにより、マスタサーバが故障してもスレーブサーバで処理を続行できるようにし、耐障害性を高めている。
【特許文献１】特開平５−３１３９７２号公報
【特許文献２】特開２００３−３１６６３５号公報
【特許文献３】特開２０００−１６３３００号公報
【非特許文献１】D. A. Patterson, G. Gibson, and R. H. Katz., A case for redundant arrays of inexpensive disks (RAID), Int. Conf. on Management of Data (SIGMOD), pages 109-116, Chicago, IL, USA, June 1988
【発明の開示】
【発明が解決しようとする課題】
【０００５】
データの更新毎にバックアップを採る方式として従来より上述した方式が提案されているが、何れの従来方式もアプリケーションプログラムによるストレージデータの更新毎に常にバックアップデータを保存する考えであり、計算機のストレージに記憶されるデータのうち、一部のデータだけを多重化する考えはない。ここで、一部のデータとは、ストレージに記憶されている複数のファイルのうちの一部のファイルや、一部のアプリケーションプログラムによって更新されるファイルなどである。勿論、多重化するファイルとそれ以外のファイルとを別々のストレージに蓄積し、多重化するファイルを蓄積するストレージだけを非特許文献１の方式で多重化することも可能であるが、ファイルとストレージの対応付けなどの処理が複雑化すると共に、必要なストレージ数も多くなるため、同じストレージに蓄積された状態で一部のファイルだけを多重化できる柔軟なバックアップ方式の実現が望まれる。
【０００６】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、アプリケーションプログラムによるストレージデータの更新毎に、所定のバックアップ条件を満たす更新データだけを別のストレージに保存することのできるバックアップシステムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１にかかるバックアップシステムは、データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機システムにおいて、バックアップ条件情報を保持するバックアップ条件テーブルと、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、前記バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するバックアップ管理部とを備えることを特徴とする。
【０００８】
請求項２にかかるバックアップシステムは、請求項１にかかるバックアップシステムにおいて、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてファイルに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるファイルに関する情報で特定されるファイルに対する更新操作情報であるかどうかを調べるものであることを特徴とする。
【０００９】
請求項３にかかるバックアップシステムは、請求項１にかかるバックアップシステムにおいて、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてアプリケーションプログラムに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるアプリケーションプログラムに関する情報で特定されるアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする。
【００１０】
請求項４にかかるバックアップシステムは、請求項１にかかるバックアップシステムにおいて、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてユーザに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする。
【００１１】
請求項５にかかるバックアップシステムは、請求項２、３または４にかかるバックアップシステムにおいて、１つのバックアップ条件情報は、バックアップストレージに関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるバックアップストレージに関する情報によって特定されるバックアップストレージにバックアップデータを作成するものであることを特徴とする。
【００１２】
請求項６にかかるバックアップシステムは、請求項５にかかるバックアップシステムにおいて、前記１つのバックアップ条件情報は、バックアップのスケジュールに関する情報を更に含んでおり、前記バックアップ管理部は、前記判定に際して、前記スケジュールの成立の成否を調べるものであることを特徴とする。
【００１３】
請求項７にかかるバックアップシステムは、請求項２乃至６の何れか１項にかかるバックアップシステムにおいて、前記バックアップストレージとして、前記ストレージが接続された計算機に備わる外部記憶装置を使用することを特徴とする。
【００１４】
請求項８にかかるバックアップシステムは、請求項７にかかるバックアップシステムにおいて、前記外部記憶装置が着脱自在な可搬型の外部記憶装置であることを特徴とする。
【００１５】
請求項９にかかるバックアップシステムは、請求項２乃至６の何れか１項にかかるバックアップシステムにおいて、前記バックアップストレージとして、前記ストレージが接続された計算機にネットワーク経由で接続されたバックアップ機に備わる外部記憶装置を使用することを特徴とする。
【００１６】
請求項１０にかかるバックアップシステムは、請求項９にかかるバックアップシステムにおいて、前記バックアップ機は、前記計算機から前記ネットワークを通じてデータ更新操作情報を受信し前記バックアップストレージをオペレーティングシステムを通じて更新するデータ送受信部を備えることを特徴とする。
【００１７】
請求項１１にかかるバックアップシステムは、請求項１０にかかるバックアップシステムにおいて、前記バックアップ機は、バックアップ元パスとバックアップ先パスとの対応関係を保持するマシン管理テーブルと、前記計算機から受信したデータ更新操作情報で示されるパスが前記マシン管理テーブル中のバックアップ元パスに一致する場合にそれに対応する前記バックアップ先パスに変換するマシン管理部とを備えることを特徴とする。
【００１８】
請求項１２にかかるバックアップシステムは、請求項１０にかかるバックアップシステムにおいて、前記バックアップ機は、バックアップ元パスとフィルター情報との対応関係を保持するマシン管理テーブルと、前記計算機から受信したデータ更新操作情報で示されるパスが前記マシン管理テーブル中のバックアップ元パスに一致する場合にそれに対応するフィルター情報で示されるフィルタープログラムによる処理をバックアップデータに施すマシン管理部とを備えることを特徴とする。
【００１９】
請求項１３にかかるバックアップシステムは、請求項１０にかかるバックアップシステムにおいて、１つのバックアップ条件情報は、前記計算機から前記バックアップ機に送信するデータの加工に関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるデータの加工に関する情報によって特定される処理が行われるように制御するものであることを特徴とする。
【００２０】
請求項１４にかかるバックアップシステムは、請求項１３にかかるバックアップシステムにおいて、前記データ加工に関する情報がデータのセキュア通信方式を指定したセキュリティ情報であり、前記バックアップ管理部は、前記計算機と前記バックアップ機との間のデータ通信を前記セキュリティ情報で指定されるセキュア通信方式によって暗号化して行うことを特徴とする。
【００２１】
請求項１５にかかるバックアップシステムは、請求項１０にかかるバックアップシステムにおいて、前記バックアップ機の前記データ送受信部は、自バックアップ機のバックアップストレージに対する更新操作情報をネットワークを通じて他のバックアップ機に送信して同様の更新を他のバックアップ機にも連鎖的に行わせるものであることを特徴とする。
【００２２】
請求項１６にかかるバックアップシステムは、請求項１５にかかるバックアップシステムにおいて、前記バックアップ機に、バックアップ条件情報を保持するバックアップ機用バックアップ条件テーブルと、前記計算機または前段のバックアップ機から送信されてきたバックアップストレージのデータに対する更新操作情報を取得し、前記バックアップ機用バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく自バックアップ機のバックアップストレージの更新と同様の更新が後段のバックアップ機のバックアップストレージに対して実行されるようにデータ更新操作情報の後段バックアップ機への転送を制御するバックアップ機用バックアップ管理部とを備えることを特徴とする。
【００２３】
請求項１７にかかるバックアップシステムは、請求項２乃至６の何れか１項にかかるバックアップシステムにおいて、前記計算機のストレージの更新と該更新に対応する前記バックアップストレージの更新とを同期させる構成を有することを特徴とする。
【００２４】
請求項１８にかかるバックアップ方法は、データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機システムにおける前記ストレージのデータのバックアップデータを作成する方法において、バックアップ管理部が、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、バックアップ条件情報を保持するバックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御することを特徴とする。
【００２５】
請求項１９にかかるバックアップ方法は、請求項１８にかかるバックアップ方法において、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてファイルに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるファイルに関する情報で特定されるファイルに対する更新操作情報であるかどうかを調べることを特徴とする。
【００２６】
請求項２０にかかるバックアップ方法は、請求項１８にかかるバックアップ方法において、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてアプリケーションプログラムに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるアプリケーションプログラムに関する情報で特定されるアプリケーションプログラムから発行された更新操作情報であるかどうかを調べることを特徴とする。
【００２７】
請求項２１にかかるバックアップ方法は、請求項１８にかかるバックアップ方法において、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてユーザに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラムから発行された更新操作情報であるかどうかを調べることを特徴とする。
【００２８】
請求項２２にかかるバックアップ方法は、請求項１９、２０または２１にかかるバックアップ方法において、１つのバックアップ条件情報は、バックアップストレージに関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるバックアップストレージに関する情報によって特定されるバックアップストレージにバックアップデータを作成することを特徴とする。
【００２９】
請求項２３にかかるバックアップ方法は、請求項２２にかかるバックアップ方法において、前記１つのバックアップ条件情報は、バックアップのスケジュールに関する情報を更に含んでおり、前記バックアップ管理部は、前記判定に際して、前記スケジュールの成立の成否を調べることを特徴とする。
【００３０】
請求項２４にかかる計算機は、データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機において、バックアップ条件情報を保持するバックアップ条件テーブルと、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、前記バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するバックアップ管理部とを備えることを特徴とする。
【００３１】
請求項２５にかかる計算機は、請求項２４にかかる計算機において、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてファイルに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるファイルに関する情報で特定されるファイルに対する更新操作情報であるかどうかを調べるものであることを特徴とする。
【００３２】
請求項２６にかかる計算機は、請求項２４にかかる計算機において、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてアプリケーションプログラムに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるアプリケーションプログラムに関する情報で特定されるアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする。
【００３３】
請求項２７にかかる計算機は、請求項２４にかかる計算機において、前記バックアップ条件テーブルは、少なくとも１つのバックアップ条件情報を保持し、１つのバックアップ条件情報は、バックアップ対象条件としてユーザに関する情報を含んでおり、前記バックアップ管理部は、前記判定に際して、前記アプリケーションプログラムから発行された更新操作情報が何れかのバックアップ条件情報に含まれるユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラムから発行された更新操作情報であるかどうかを調べるものであることを特徴とする。
【００３４】
請求項２８にかかる計算機は、請求項２５、２６または２７にかかる計算機において、１つのバックアップ条件情報は、バックアップストレージに関する情報を更に含んでおり、前記バックアップ管理部は、前記更新操作情報に適合したバックアップ条件情報に含まれるバックアップストレージに関する情報によって特定されるバックアップストレージにバックアップデータを作成するものであることを特徴とする。
【００３５】
請求項２９にかかる計算機は、請求項２８にかかる計算機において、前記１つのバックアップ条件情報は、バックアップのスケジュールに関する情報を更に含んでおり、前記バックアップ管理部は、前記判定に際して、前記スケジュールの成立の成否を調べるものであることを特徴とする。
【００３６】
請求項３０にかかるプログラムは、データを蓄積するストレージと、前記ストレージのデータを管理するオペレーティングシステムと、前記オペレーティングシステムを通じて前記ストレージのデータを更新するアプリケーションプログラムとを有する計算機を、前記アプリケーションプログラムから前記オペレーティングシステムに発行された前記ストレージのデータに対する更新操作情報を取得し、バックアップ条件情報を保持するバックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に前記更新操作情報に基づく前記ストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するバックアップ管理手段、として機能させることを特徴とする。
【００３７】
『作用』
本発明にあっては、計算機上で動作するアプリケーションプログラムがその計算機に備わるストレージに記憶されたデータを更新するための更新操作情報をオペレーティングシステムに発行すると、バックアップ管理部がその更新操作情報を取得し、バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合にその更新操作情報に基づくストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御する。これにより、アプリケーションプログラムによるストレージデータの更新毎に、所定のバックアップ条件を満たす更新データだけが別のストレージに保存される。
【発明の効果】
【００３８】
本発明によれば、アプリケーションプログラムによるストレージデータの更新毎に、所定のバックアップ条件を満たす更新データだけを別のストレージに保存することができる。その理由は、バックアップ管理部がアプリケーションプログラムからオペレーティングシステムに発行された更新操作情報を取得し、バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に限りその更新操作情報に基づくストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するからである。
【００３９】
また本発明によれば、バックアップストレージの容量をバックアップ元のストレージに比べて小さくでき、バックアップシステムの構築コストを削減することができる。その理由は、バックアップ元ストレージに記憶されている複数のファイルのうちの一部のファイルだけをバックアップ元にすることができるからである。
【００４０】
また本発明によれば、ストレージを参照、更新して各種サービスを提供するアプリケーションプログラムに何ら加工を加える必要がない。その理由は、アプリケーションプログラムとは独立に動作するバックアップ管理部がアプリケーションプログラムからオペレーティングシステムに発行された更新操作情報を取得し、バックアップ条件テーブルに保持された何れかのバックアップ条件情報に適合するかどうかを判定し、適合する場合に限りその更新操作情報に基づくストレージの更新と同様の更新がバックアップストレージに対して実行されるように制御するからである。
【発明を実施するための最良の形態】
【００４１】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００４２】
『第１の実施の形態』
図１を参照すると、本発明の第１の実施の形態にかかる計算機システムは、マスタ計算機として動作する計算機１００と、スレーブ計算機として動作する複数のバックアップ機１１０−１〜１１０−３とが、ネットワーク２０１により相互に通信可能に接続されている。図１では３台のバックアップ機が存在するが、バックアップ機は少なくとも１台あればよい。
【００４３】
計算機１００は、アプリケーションプログラム１０１、オペレーティングシステム（以下、ＯＳと称す）１０２、ストレージ（データベース）１０３、バックアップ条件テーブル１０４、バックアップ管理部１０５およびデータ送受信部１０６を有する。また、各バックアップ機１１０−１〜１１０−３は、バックアップストレージ１１１−１〜１１１−３、データ送受信部１１２およびＯＳ１１３を有する。これらの構成要素はそれぞれ概ね次のような機能を有する。
【００４４】
計算機１００で動作するアプリケーションプログラム１０１は、ストレージ１０３に蓄積されたデータを参照、更新して、データベース機能、ウェブサーバ機能、メールサーバ機能などの所定の機能を利用者に提供する。アプリケーションプログラム１０１はストレージ１０３を参照、更新する場合、データの操作情報をＯＳ１０２に発行する。データの操作情報は、操作対象と操作内容を含む。操作対象は参照、更新するファイルを特定する情報であり、操作内容は参照、更新の種別である。例えば、ＯＳ１０２がUNIX(登録商標)およびPOSIX(Portable Operating System Interface for UNIX)に準拠であれば、コマンドwrite(fd,str)により、文字列strをファイル記述子fdのファイルに書き込むことができる。
【００４５】
図１には１つのアプリケーションプログラム１０１しか図示されていないが、一般には複数のアプリケーションプログラムが存在する。各アプリケーションプログラムは、図示しないコンソール等から入力されたコマンドラインにより計算機１００上で起動され、同時並行的に動作する。動作中のアプリケーションプログラムはそれぞれプロセスと呼ばれ、プロセスＩＤで識別される。また、各プロセスには実行ユーザ（所有者）とグループがあり、それらは実行ユーザ名、グループ名で識別される。
【００４６】
ＯＳ１０２は、計算機１００の基本ソフトウェアであり、アプリケーションプログラム１０１の実行や内部記憶・外部記憶等の計算機リソースの管理や制御を司る。
【００４７】
ストレージ１０３は、ハードディスク装置などで構成される外部記憶装置であり、アプリケーションプログラム１０１の処理するデータを格納したファイルを複数記憶する。各ファイルはファイル名によって識別され、ファイルを目的別や種類別に整理するディレクトリに保管される。各ディレクトリはディレクトリ名によって識別される。ディレクトリはツリー構造になっており、ルートから個々のディレクトリや末端のファイルに至る経路をパスと呼ぶ。ツリーのルートから或るファイルに至るパス上のディレクトリ名とそのファイル名を所定の記号（例えばスラッシュ／）で連結したものは、そのファイルのパス名と呼ばれる。
【００４８】
バックアップ条件テーブル１０４は、ストレージ１０３のバックアップ条件情報を保持するテーブルであり、例えば外部記憶装置に保持され、計算機１００の実行時に内部記憶（主記憶）に展開される。バックアップ条件テーブル１０４には、少なくとも１つのバックアップ条件情報が記述される。バックアップ条件情報の詳細については後述する。
【００４９】
バックアップ管理部１０５は、アプリケーションプログラム１０１からＯＳ１０２に発行されたストレージ１０３のデータに対する操作情報のうち、更新にかかる操作情報（writeなどによる更新操作およびその前提となるファイルのオープン、クローズ操作）であって且つバックアップ条件テーブル１０４に保持された何れかのバックアップ条件情報に適合する操作情報を検知し、その検知結果に応じてバックアップ処理を制御する。このような検知とそれに応じたバックアップ処理の制御を実現する具体例としては、これらの処理を実現するプログラムコードを、アプリケーションプログラム１０１がストレージ１０３のデータを更新する際に利用するＯＳ１０２のシステムコール内に記述しておく方法がある。こうすると、例えば、アプリケーションプログラム１０１で、"write"という関数が呼ばれると、割り込みが発生してＯＳ１０２のカーネル内部でシステムコールsys_write()が実行され、そのシステムコール内でバックアップ管理部１０５の前述した処理が実行される。他の実現例としては、アプリケーションプログラム１０１がストレージ１０３のデータを更新する際に利用するライブラリのプログラムコードを、入出力の形式は同じであるがバックアップ管理部１０５の前記処理を実現するプログラムコードが埋め込まれている別のコードに置き換えておく方法がある。こうすると、例えば、アプリケーションプログラム１０１で、"write"という関数が呼ばれると、ライブラリの該当するコードに埋め込まれているバックアップ管理部１０５の前述した処理が実行される。なお、バックアップ管理部１０５は、上述したような検知とそれに応じたバックアップ処理の制御以外にも、ストレージ１０３とバックアップストレージ１１１−１〜１１１−３を同期させる処理やデータ復旧処理などの処理も実行する。
【００５０】
データ送受信部１０６は、バックアップ管理部１０５からバックアップ処理にかかるデータの更新操作情報を受け取り、ネットワーク２０１を通じてバックアップ機１１０−１〜１１０−３に転送する。また、バックアップ機１１０−１〜１１０−３から受信したデータをバックアップ管理部１０５に転送する。
【００５１】
各バックアップ機１１０−１〜１１０−３のバックアップストレージ１１１−１〜１１１−３は、ハードディスク装置などで構成される外部記憶装置であり、計算機１００のストレージ１０３に格納されているデータのコピーを、ファイル単位で保存する。なお、各バックアップストレージ１１１−１〜１１１−３どうし及びバックアップストレージ１１１−１〜１１１−３とストレージ１０３とは、同一のストレージである必要はなく、異なる容量や異なる諸元（ハードディスクのシリンダ、トラック、セクタ、ヘッダなどの諸元）のものであってもよく、また異なるインタフェースプロトコル（ＳＣＳＩ、ＡＴＡなど）を持つものであってもよい。その理由は、アプリケーションプログラムから発行されるデータの更新操作情報という、より上位レイヤの情報で多重化してバックアップを採るようにしているためである。
【００５２】
ＯＳ１１３は、バックアップ機１１０−１〜１１０−３の基本ソフトウェアであり、図示しないアプリケーションプログラムの実行や内部記憶・外部記憶等の計算機リソースの管理や制御を司る。
【００５３】
データ送受信部１１２は、計算機１００のデータ送受信部１０６とネットワーク２０１を通じて通信する。データ送受信部１０６からデータの更新操作情報を受信すると、その更新操作情報をＯＳ１１３に発行してバックアップストレージ１１３を更新する。
【００５４】
ネットワーク２０１は、ＬＡＮ、無線ＬＡＮ、インターネット、公衆回線などの任意の通信回線であり、また複数を組み合わせた多重化通信回線であってもよい。
【００５５】
次に、図１および図２−１のフローチャートを参照して本実施の形態の動作のうち、アプリケーションプログラム１０１がストレージ１０３のデータを更新する際の動作について詳細に説明する。前提として、多重化するデータに関し、ストレージ１０３のデータのコピーがバックアップストレージ側に保存されているものとする。このような状態にあることを、ストレージ１０３とバックアップストレージ１１１−１〜１１１−３とが同期しているという。初期の同期を採る具体的な方法については後述する。
【００５６】
まず、アプリケーションプログラム１０１からストレージ１０３に対するデータの更新操作情報が発行されると（図２−１のＳ１００１）、ＯＳ１０２においてデータ更新の割り込みが発生もしくはデータ更新のライブラリが呼び出され（Ｓ１００２）、バックアップ管理部１０５に制御が移行する。バックアップ管理部１０５は、アプリケーションプログラム１０１が発行したデータの更新操作情報を解析し、バックアップ条件テーブル１０４に設定されているバックアップ条件情報と照合する（Ｓ１００３）。そして、バックアップ管理部１０５は、アプリケーションプログラム１０１が発行したデータの更新操作情報に適合するバックアップ条件情報が存在すれば（Ｓ１００３でＹｅｓ）、バックアップストレージ１１１−１〜１１１−３をストレージ１０３と同様に更新するための更新操作情報をデータ送受信部１０６に通知した後（Ｓ１００４）、また、適合するバックアップ条件情報が存在しなければ（Ｓ１００３でＮｏ）、ステップＳ１００４の処理をスキップして、ＯＳ１０２を通じて今回の更新操作情報に基づいてストレージ１０３を更新し（Ｓ１００５）、データ更新結果をＯＳ１０２を通じてアプリケーションプログラム１０１に通知する（Ｓ１０１３、Ｓ１０１４）。アプリケーションプログラム１０１は、その更新結果に応じた処理を進める（Ｓ１０１５）。
【００５７】
他方、データ送受信部１０６は、バックアップ管理部１０５から渡されたデータの更新操作情報をネットワーク２０１を通じてバックアップ機１１０−１〜１１０−３へ送信する（Ｓ１００６）。バックアップ機１１０−１〜１１０−３のデータ送受信部１１２は、受信したデータの更新操作情報に基づいてＯＳ１１３を通じてバックアップストレージ１１１−１〜１１１−３を更新する（Ｓ１００８）。
【００５８】
こうして、バックアップ条件テーブル１０４に設定されているバックアップ条件を満たす更新データだけがバックアップストレージ１１１−１〜１１１−３に反映される。
【００５９】
図２−１の処理例では、ステップＳ１００５のストレージ更新処理は、ステップＳ１００４〜Ｓ１００８の処理と独立に行われるため、計算機１００におけるデータ更新処理の遅延を少なくすることができる。しかし、計算機１００においてストレージ１０３のデータが更新されていても、バックアップ機においてバックアップストレージ１１１−１〜１１１−３のデータ更新が行われていない状態が発生し得るため、障害発生直前のデータが失われる可能性がある。このため、信頼性を高めるために、ステップＳ１００５のストレージ更新処理を、ステップＳ１００８のバックアップストレージの更新処理の完了を確認してから実施するようにしてもよい。または、図２−２のフローチャートに示されるように、ステップＳ１００８のバックアップストレージ更新処理結果をデータ送受信部１１２からデータ送受信部１０６へ通知し（Ｓ１００９）、さらにデータ送受信部１０６からバックアップ管理部１０５へ通知し（Ｓ１０１０）、バックアップ管理部１０５において、ステップＳ１００５のストレージ更新処理とステップＳ１００８のバックアップストレージ更新処理の双方が共に成功したか否かを判定し（Ｓ１０１１）、若しも何れか一方のみが失敗していれば、成功した側のストレージ更新を無効化する処理Ｓ１０１２を行うようにしてもよい。ストレージ更新の無効化処理を実現するためには、ストレージ１０３の更新前のデータ、バックアップストレージ１１１−１〜１１１−３の更新前のデータを、例えばＯＳ１０２、ＯＳ１１３で管理される内部記憶に保存しておき、ストレージ更新を無効にする場合には、内部記憶に保存してあった更新前のデータに書き戻すことで可能である。
【００６０】
次に、図１および図３のフローチャートを参照して本実施の形態においてストレージ１０３とバックアップストレージ１１１−１〜１１１−３を同期させる初期動作について説明する。
【００６１】
バックアップ管理部１０５は、ストレージ１０３に記憶されているファイルとバックアップストレージ１１１−１〜１１１−３に記憶されているそのファイルのバックアップとなるファイルが同期されていないことを、例えば各々のファイル更新時刻とファイルサイズに差があることによって検知すると（図３のＳ１１０１）、アプリケーションプログラム１０１からストレージ１０３の被バックアップファイルに対するデータ更新にかかる操作情報を、以後、ＯＳ１０２で管理される図示しないバッファに順次保存することを開始する（Ｓ１１０２）。次に、バックアップ管理部１０５は、ストレージ１０３の被バックアップファイルの全領域のデータを読み出し（Ｓ１１０３）、読み出した領域のデータを含む更新操作情報を、データ送受信部１０６を通じてバックアップ機１１０−１から１１１−３に送信する（Ｓ１１０４）。各バックアップ機１１０−１〜１１０−３のデータ送受信部１１２は、上記のデータを含む更新操作情報を受信し（Ｓ１１０５）、この受信した更新操作情報に基づいてＯＳ１１３を介してバックアップストレージ１１１を更新する（Ｓ１１０６）。更新結果は、逆経路で、バックアップ機１１０−１〜１１０−３のデータ送受信部１１２から送信され（Ｓ１１０７）、計算機１１０のデータ送受信部１０６で受信される（Ｓ１１０８）。読み出しおよび更新領域のサイズが大きい場合には、ステップＳ１１０３〜Ｓ１１０８の処理を繰り返し行うことで、ストレージ１０３とバックアップストレージ１１１のバックアップ対象ファイルの同期を行う。
【００６２】
もし、何らかの理由で同期処理が完了できなければ（Ｓ１１０９でＮｏ）、エラーログを保存するなどのエラー処理を行う（Ｓ１１１０）。もし、同期処理が完了すれば（Ｓ１１０９でＹｅｓ）、同期処理中に、新たにデータ更新が行われたデータの更新操作情報がバッファに蓄積されているので、バックアップ管理部１０５は、それを順次読み出し（Ｓ１１１）、データ送受信部１０６からバックアップ機１１０−１〜１１０−３に送信する（Ｓ１１１２）。バックアップ機１１０−１〜１１０−３のデータ送受信部１１２は、上記の更新操作情報を受信すると（Ｓ１１１３）、ＯＳ１１３を介してバックアップストレージ１１１の更新を行う（Ｓ１１１４）。更新結果は、逆経路で、バックアップ機１１０−１〜１１０−３のデータ送受信部１１２から送信され（Ｓ１１１５）、計算機１１０のデータ送受信部１０６で受信される（Ｓ１１１６）。バッファに保持されている全てのデータの更新操作情報に関して処理が終了したら、ストレージ１０３のバックアップ対象ファイルに対するデータ更新操作情報を、以後バッファに保存することを終了し（Ｓ１１１７）、図２−１および図２−２で説明した方法で処理を行う。これにより、ストレージ１０３とバックアップストレージ１１１とは同期して更新される。
【００６３】
次に、バックアップストレージを利用してサービスを復旧する処理について説明する。
【００６４】
バックアップ機１１０−１〜１１０−３を用いてサービスを再開する場合、図４に示すように、バックアップ機１１０（１１０−１〜１１０−３）において、計算機１００で動作していたアプリケーションプログラム１０１を起動する。アプリケーションプログラム１０１は、処理データがバックアップストレージ１１１（１１１−１〜１１１−３）に保持されているので、そのデータを使って、サービスを再開する。
【００６５】
一方、計算機１１０において、バックアップ機１１０−１〜１１０−３のバックアップストレージ１１１−１〜１１１−３からストレージ１０３にデータを復旧してサービスを再開することも可能である。その場合の処理を、図１および図５のフローチャートを参照して説明する。
【００６６】
ＯＳ１０２において、図示しないコンソールから投入されたストレージ１０３の復旧コマンドが検知されると（Ｓ１２０１）、制御がバックアップ管理部１０５の復旧処理へ移行する。バックアップ管理部１０５は、バックアップ条件テーブル１０４を参照して、最新かつ必要なデータが、どのバックアップ機に保存されているかを判断し、そのバックアップデータの転送要求をデータ送受信部１０６に通知する（Ｓ１２０２）。もし、同一のバックアップデータが複数のバックアップ機にある場合は、任意の一つのバックアップ機に転送要求を行っても良いし、複数の箇所に転送要求し、最も応答が早いバックアップ機と通信しても良いし、複数の箇所にバックアップデータを分割して転送要求を行っても良い。データ送受信部１０６は、バックアップデータの転送要求をバックアップ機１１０−１〜１１０−３に送信し（Ｓ１２０３）、バックアップ機１１０−１〜１１０−３のデータ送受信部１１２はそれを受信し（Ｓ１２０４）、ＯＳ１１３を介して、バックアップストレージ１１０−１〜１１０−３から該当するファイルのデータを読み出す（Ｓ１２０５）。読み出されたデータは、データ送受信部１１２から計算機１００に送信され（Ｓ１２０６）、計算機１００のデータ送受信部１０６で受信される（Ｓ１２０７）。バックアップ管理部１０５は、すべてのデータ転送が成功したかどうかをチェックし（Ｓ１２０８）、もし成功していればその転送されてきたデータを使ってストレージ１０３を更新し（Ｓ１２−９）、処理完了のコマンド結果をＯＳ１０２に返す。他方、データ転送に失敗したときは（Ｓ１２０８でＮｏ）、処理失敗のコマンド結果をＯＳ１０２に返す。
【００６７】
ＯＳ１０２は、コマンドの結果を受け取り（Ｓ１２１０）、その後、アプリケーションプログラム１０１の起動コマンドが実行される（Ｓ１２１１）。アプリケーションプログラム１０１は、対象処理となるデータをストレージ１０３から読み込み、処理を再開し（Ｓ１２１２）、処理結果をＯＳに返す（Ｓ１２１３）。
【００６８】
次に、バックアップ条件テーブル１０４について詳細に説明する。
【００６９】
図６にバックアップ条件テーブル１０４の一例を示す。この例のバックアップ条件テーブルＣ２０００は、合計１０個のバックアップ条件情報Ｒ２００１〜Ｒ２０１０を保持している。個々のバックアップ条件情報は、少なくともバックアップ対象条件としてファイルに関する情報を含んでいる。ここで、ファイルに関する情報とは、ファイル名、ディレクトリ名、パス名などを意味する。図６の例は、バックアップ対象条件としてファイルに関する情報として、バックアップ元パスを使用している。また、図６の場合、個々のバックアップ条件情報は、さらに、バックアップ先マシン名、バックアップ先パスおよびスケジュールを含んでいる。バックアップ先マシン名は、バックアップ機が複数存在する場合にその一つまたは幾つかを選択するための情報である。バックアップ先パスは、バックアップ元パスと異なるパスのファイルにバックアップするときに必要になり、同じ場合には省略される。スケジュールは、付加的なバックアップ条件を指定する。以下、個々のバックアップ条件情報について説明する。
【００７０】
バックアップ条件情報Ｒ２００１は、アプリケーションプログラム１０１が更新するファイルのパスが、バックアップ元パスとして設定された/home/usr1にマッチした場合、つまり/home/usr1のディレクトリ以下のファイルをアプリケーションプログラム１０１が更新する場合、バックアップ先マシン名busrv1に、同じファイルパスでバックアップを行うことを意味する。
【００７１】
バックアップ条件情報Ｒ２００２は、バックアップ条件情報Ｒ２００１と違って、バックアップ先マシン名にＩＰアドレス“192.168.0.1”が指定されている。この場合、バックアップ条件情報Ｒ２００１で指定されたbusrv1のバックアップ機に加えて、ＩＰアドレス192.168.0.1のバックアップ機でもバックアップが行われる。このように、複数のバックアップ条件情報とマッチする場合には、複数のバックアップが作成される。
【００７２】
バックアップ条件情報Ｒ２００３は、スケジュールに“0<=$Hour<12”と記述されている。これは、バックアップ実行時刻が0時から12時までの間、つまり/home/usr2へのデータ更新が午前中の場合は、バックアップ先マシン名busrv1に、同じファイルパスでバックアップを行うことを示す。一方、バックアップ条件情報Ｒ２００４は、スケジュールに“12<=$Hour<24”と記述されており、バックアップ実行時刻が12時から24時までの間、つまり/home/usr2へのデータ更新が午後の場合は、バックアップ先マシン名busrv2に、同じファイルパスでバックアップを行うことを示す。
【００７３】
バックアップ条件情報Ｒ２００５は、スケジュールに“($Times mod 3) == 0”と記述されている。これは、バックアップ回数が3で割り切れる場合は、バックアップ先マシン名busrv1に、同じファイルパスでバックアップを行うことを意味する。一方、バックアップ条件情報Ｒ２００６は、スケジュールに“($Times mod 3) == 1”と記述されており、バックアップ回数が3で割って１余る場合は、バックアップ先マシン名busrv2に、同じファイルパスでバックアップを行い、バックアップ条件情報Ｒ２００７は、スケジュールに“($Times mod 3) == 2”と記述されており、バックアップ回数が3で割って2余る場合は、バックアップ先マシン名busrv3に、同じファイルパスでバックアップを行うことを意味する。なお、バックアップ元パス/home/usr3配下の各ファイルへのデータ更新の累積回数$Timesは例えばＯＳ１０２で管理されるバッファ上に保持される。
【００７４】
バックアップ条件情報Ｒ２００８は、バックアップ先パスに“/srv1/home/usr4”が指定されている。これは、ファイルパスを、バックアップ元の/home/usr4からバックアップ先では/srv1/home/usr4に置き換えてバックアップすることを意味する。つまり、/home/usr4/file.txtというファイルは、バックアップ機busrv1において/srv1/home/usr4/file.txtというファイル名でバックアップされる。
【００７５】
バックアップ条件情報Ｒ２００９は、バックアップ元パス名に“/home/usr/[a-m]*”と指定している。ここで、[a-m]*は先頭１文字がアルファベットのa〜mで始まる任意の文字列を意味する正規表現である。このバックアップ条件情報Ｒ２００９は、ファイルがディレクトリ/home/usrで、ファイル名の最初の1文字がaからmの間のアルファベットの場合、ＩＰアドレスが192.168.0.2のバックアップ機の/disk1/home/usrにバックアップすることを意味する。このように、バックアップ元のパス名には、正規表現を指定することができる。一方、バックアップ条件情報Ｒ２０１０は、バックアップ元パス名に“/home/usr/[n-z]*”と指定し、ファイルがディレクトリ/home/usrで、ファイル名の最初の1文字がnからzの間のアルファベットの場合、ＩＰアドレスが192.168.0.2のバックアップ機の/disk2/home/usrにバックアップすることを意味する。
【００７６】
図６に示したようなバックアップ条件テーブルＣ２０００を使用する場合、バックアップ管理部１０５は、図２−１および図２−２のバックアップ条件照合処理Ｓ１００３において、アプリケーションプログラム１０１が更新対象とするストレージ１０３のファイルのパスと一致するバックアップ元パスを持つバックアップ条件情報をバックアップ条件テーブルＣ２０００から検索する。バックアップ元パスの一致するバックアップ条件情報があれば、そのスケジュールの欄を参照し、設定されていればそのスケジュール条件が真となるバックアップ条件情報を抽出する。そして、更新対象となるファイルのパスと前記抽出したバックアップ条件情報中のバックアップ先パスとからバックアップファイルのパス名を生成し、当該パス名のバックアップファイルをストレージ１０３のファイルと同様に更新するための更新操作情報を生成し、バックアップ先マシン名の情報を添えてデータ送受信部１０６へ通知する。データ送受信部１０６は、通知されたバックアップ先マシン名のバックアップ機に対して、通知されたデータ更新操作情報を送信する。
【００７７】
図７にバックアップ条件テーブル１０４の別の例を示す。この例のバックアップ条件テーブルＣ２１００は、合計３個のバックアップ条件情報Ｒ２１０１〜Ｒ２１０３を保持している。個々のバックアップ条件情報は、少なくともバックアップ対象条件としてアプリケーションプログラムに関する情報を含んでいる。ここで、アプリケーションプログラムに関する情報とは、アプリケーションプログラム名、プロセス名、コマンドラインなどを意味する。図７の例は、バックアップ対象条件としてアプリケーションプログラムに関する情報として、アプリケーションプログラム名を使用している。また、図７の場合、個々のバックアップ条件情報は、図６のバックアップ条件テーブルと同様に、バックアップ先マシン名、バックアップ先パスおよびスケジュールを含んでいる。以下、個々のバックアップ条件情報について説明する。
【００７８】
バックアップ条件情報Ｒ２１０１は、ストレージ１０３を更新するアプリケーションプログラム１０１のアプリケーションプログラム名がsendmailのとき、バックアップ機busrv1の/app/mail以下にファイルのバックアップを行うことを示す。たとえば、sendmailがストレージ１０３中の/var/spool/mail/usr1というファイルを更新すると、busrv1の/app/mail/var/spool/mail/usr1にバックアップを行う。
【００７９】
バックアップ条件情報Ｒ２１０２は、ストレージ１０３を更新するアプリケーションプログラム１０１のアプリケーションプログラム名がhttpdのとき、バックアップ機busrv2の/app/www1以下にファイルのバックアップを行うことを示し、バックアップ条件情報Ｒ２１０３は、ストレージ１０３を更新するアプリケーションプログラム１０１のアプリケーションプログラム名がdbのとき、バックアップ機busrv3の/app/db2以下にファイルのバックアップを行うことを示す。なお、アプリケーションプログラム名には、正規表現を用いることが可能である。
【００８０】
図７に示したようなバックアップ条件テーブルＣ２１００を使用する場合、バックアップ管理部１０５は、図２−１および図２−２のバックアップ条件照合処理Ｓ１００３において、データ更新の呼び出しプロセスのＩＤを検索し、そのＩＤからプロセス名、つまりアプリケーションプログラム名を取得する。これは、例えばＯＳ１０２がUNIXおよびPOSIXに準拠であれば、getpid,getppidというコマンドを使ってプロセスＩＤを取得し、さらにpsコマンドを使って取得した実行中プロセスの一覧情報から、前記取得したプロセスＩＤに対応するプロセス名、つまりアプリケーションプログラム名を取得することで可能である。そして、バックアップ管理部１０５は、前記取得したアプリケーションプログラム名を持つバックアップ条件情報をバックアップ条件テーブルＣ２１００から検索し、一致するバックアップ条件情報があれば、そのスケジュールの欄を参照し、設定されていればそのスケジュール条件が真となるバックアップ条件情報を抽出する。そして、更新対象となるファイルのパスと前記抽出したバックアップ条件情報中のバックアップ先パスとからバックアップファイルのパス名を生成し、当該パス名のバックアップファイルをストレージ１０３のファイルと同様に更新するための更新操作情報を生成し、バックアップ先マシン名の情報を添えてデータ送受信部１０６へ通知する。データ送受信部１０６は、通知されたバックアップ先マシン名のバックアップ機に対して、通知されたデータ更新操作情報を送信する。
【００８１】
図８にバックアップ条件テーブル１０４のさらに別の例を示す。この例のバックアップ条件テーブルＣ２２００は、合計３個のバックアップ条件情報Ｒ２２０１〜Ｒ２２０３を保持している。個々のバックアップ条件情報は、少なくともバックアップ対象条件としてユーザに関する情報を含んでいる。ここで、ユーザに関する情報とは、ユーザ名、ユーザＩＤ、グループ名、グループＩＤなどを意味する。図８の例は、バックアップ対象条件としてユーザに関する情報として、ユーザ名とグループ名を使用している。ユーザ名とグループ名はドットで区切って指定し、それぞれ正規表現を用いることができる。また、図８の場合、個々のバックアップ条件情報は、図６のバックアップ条件テーブルと同様に、バックアップ先マシン名、バックアップ先パスおよびスケジュールを含んでいる。以下、個々のバックアップ条件情報について説明する。
【００８２】
バックアップ条件情報Ｒ２２０１は、ストレージ１０３を更新するアプリケーションプログラム１０１を起動したユーザのユーザ名がusr1かつグループ名がusersの場合、バックアップ機busrv1の/usr1以下にファイルのバックアップを行うことを意味する。たとえば、usr1.usersが/home/usr1/file.txtというファイルを更新すると、busrv1の/usr1/home/usr1/file.txtにバックアップを行う。
【００８３】
バックアップ条件情報Ｒ２２０２は、ストレージ１０３を更新するアプリケーションプログラム１０１を起動したユーザのユーザ名がmailで、グループ名が任意のものである場合、バックアップ機busrv2の/mail以下にファイルのバックアップを行うことを意味する。また、バックアップ条件情報Ｒ２２０３は、ストレージ１０３を更新するアプリケーションプログラム１０１を起動したユーザのユーザ名が任意で、かつグループ名がwheelの場合、バックアップ機busrv3の/system以下にファイルのバックアップを行うことを意味する。ここで、*は正規表現である。
【００８４】
図８に示したようなバックアップ条件テーブルＣ２２００を使用する場合、バックアップ管理部１０５は、図２−１および図２−２のバックアップ条件照合処理Ｓ１００３において、データ更新の呼び出しプロセスのＩＤを検索し、そのＩＤからユーザ名およびグループ名を取得する。これは、例えばＯＳ１０２がUNIXおよびPOSIXに準拠であれば、getpid,getppidというコマンドを使ってプロセスＩＤを取得し、さらにpsコマンドを使って取得した実行中プロセスの一覧情報から、前記取得したプロセスＩＤに対応するユーザ名およびグループ名を取得することで可能である。そして、バックアップ管理部１０５は、前記取得したユーザ名およびグループ名を持つバックアップ条件情報をバックアップ条件テーブルＣ２２００から検索し、一致するバックアップ条件情報があれば、そのスケジュールの欄を参照し、設定されていればそのスケジュール条件が真となるバックアップ条件情報を抽出する。そして、更新対象となるファイルのパスと前記抽出したバックアップ条件情報中のバックアップ先パスとからバックアップファイルのパス名を生成し、当該パス名のバックアップファイルをストレージ１０３のファイルと同様に更新するための更新操作情報を生成し、バックアップ先マシン名の情報を添えてデータ送受信部１０６へ通知する。データ送受信部１０６は、通知されたバックアップ先マシン名のバックアップ機に対して、通知されたデータ更新操作情報を送信する。
【００８５】
次に、本実施の形態の効果を説明する。
【００８６】
本実施の形態によれば、アプリケーションプログラム１０１によるストレージ１０３のデータに対する更新時、予め設定したバックアップ条件を満たす更新データだけを遠隔地にあるバックアップ機１１０−１〜１１０−３に設置したバックアップストレージ１１１−１〜１１１−３に保存することができる。その理由は、少なくとも１つのバックアップ条件情報を保持するバックアップ条件テーブル１０４を備え、アプリケーションプログラム１０１からストレージ１０３のデータに対する更新操作情報がＯＳ１０２に発行された際、バックアップ管理部１０５がその更新操作情報を解析してマッチするバックアップ条件情報をテーブル１０４から検索し、マッチするバックアップ条件情報が登録されていた場合に限って、遠隔地のバックアップ機１１０−１〜１１０−３に設置されたバックアップストレージ１１１−１〜１１１−３にその更新データのバックアップを保存するように動作するからである。このため、ストレージ１０３に比べて容量の小さなバックアップストレージ１１１−１〜１１１−３を使用することができ、ネットワーク２０１の通信回線の帯域も小さくて済むため、遠隔バックアップシステムの構築コストを削減することができる。
【００８７】
図６に示したバックアップ条件テーブルＣ２０００を使用すれば、ストレージ１０３に記憶されている複数のファイルのうち、パス名やファイル名、ディレクトリ名などのファイルに関する情報で特定される一部のファイルのバックアップを遠隔地のバックアップストレージに保存することができる。従って、アプリケーションプログラム１０１によって参照、更新されるストレージ１０３中の複数のファイルのうち、特に重要なファイルは或るパス配下に保管するなどの構成を採用しておけば、アプリケーションプログラム１０１に何ら改造を施すことなく、それら重要なファイルだけを自動的に多重化するといったことが可能となる。
【００８８】
図７に示したバックアップ条件テーブルＣ２１００を使用すれば、ストレージ１０３に記憶されている複数のファイルのうち、アプリケーションプログラム名やプロセス名などのアプリケーションプログラムに関する情報で特定されるアプリケーションプログラム１０１により更新されるファイルだけのバックアップを遠隔地のバックアップストレージに保存することができる。
【００８９】
図８に示したバックアップ条件テーブルＣ２２００を使用すれば、ストレージ１０３に記憶されている複数のファイルのうち、ユーザ名やグループ名などのユーザに関する情報で特定されるユーザによって起動されたアプリケーションプログラム１０１により更新されるファイルだけのバックアップを遠隔地のバックアップストレージに保存することができる。
【００９０】
『第２の実施の形態』
図９を参照すると、本発明の第２の実施の形態は、計算機１００がデータ送受信部１０６の代わりにデータ記録部１５１を備え、ネットワーク２０１経由でバックアップ機１１０−１〜１１０−３が接続される代わりに、計算機１００に対して着脱自在で可搬型のデータ保存媒体１５０が接続されている点、および、バックアップストレージ１１１、ＯＳ１１３およびデータ読出部１５２を有するバックアップ機１１０を備える点で、第１の実施の形態と相違し、それ以外は第１の実施の形態と同じである。
【００９１】
データ保存媒体１５０は、ＭＯなどの読み書き可能で且つ可搬型の記録媒体である。データ記録部１５１は、バックアップ管理部１０５から伝達されたデータの更新操作情報をデータ保存媒体１５０に保存する処理を行う。バックアップ機１１０のデータ読出部１５２は、データ保存部１５０に保存されたデータの更新操作情報を読み出し、この読み出した更新操作情報に基づいて、ＯＳ１１３を通じて、バックアップストレージ１１１のデータを更新する処理を行う。
【００９２】
次に、図９および図１０−１のフローチャートを参照して本実施の形態の動作のうち、アプリケーションプログラム１０１がストレージ１０３のデータを更新する際の動作について詳細に説明する。
【００９３】
まず、アプリケーションプログラム１０１からストレージ１０３に対するデータの更新操作情報が発行されると（図１０−１のＳ１００１）、ＯＳ１０２においてデータ更新の割り込みが発生もしくはデータ更新のライブラリが呼び出され（Ｓ１００２）、バックアップ管理部１０５に制御が移行する。バックアップ管理部１０５は、アプリケーションプログラム１０１が発行したデータの更新操作情報を解析し、バックアップ条件テーブル１０４に設定されているバックアップ条件情報と照合する（Ｓ１００３）。そして、バックアップ管理部１０５は、アプリケーションプログラム１０１が発行したデータの更新操作情報に適合するバックアップ条件情報が存在すれば（Ｓ１００３でＹｅｓ）、その更新操作情報をデータ記録部１５１に通知した後（Ｓ１００４）、また適合するバックアップ条件情報が存在しなければ（Ｓ１００３でＮｏ）、ステップＳ１００４の処理をスキップして、ＯＳ１０２を通じてその更新操作情報に基づいてストレージ１０３を更新する（Ｓ１００５）。そして、データ更新結果をＯＳ１０２を通じてアプリケーションプログラム１０１に通知する（Ｓ１０１３、Ｓ１０１４）。アプリケーションプログラム１０１は、その更新結果に応じた処理を進める（Ｓ１０１５）。他方、データ記録部１５１は、バックアップ管理部１０５から渡されたデータの更新操作情報をデータ保存媒体１５０に保存する（Ｓ１５００）。
【００９４】
図１０−１の処理例では、ステップＳ１００５のストレージ更新処理は、ステップＳ１５００の処理と独立に行われるため、計算機１００におけるデータ更新処理の遅延を少なくすることができる。しかし、計算機１００においてストレージ１０３のデータが更新されていても、データ保存媒体１５０にデータが保存されていない状態が発生し得る。このため、信頼性を高めるために、ステップＳ１００５のストレージ更新処理を、ステップＳ１５００のデータ保存処理の完了を確認してから実施するようにしてもよい。または、図１０−２のフローチャートに示されるように、ステップＳ１５００のデータ保存処理の結果をデータ記録部１５１からバックアップ管理部１０５へ通知し、バックアップ管理部１０５において、ステップＳ１００５のストレージ更新処理とステップＳ１５００のデータ保存処理の双方が共に成功したか否かを判定し（Ｓ１０１１）、若しも何れか一方のみが失敗していれば、成功した側の更新を無効化する処理Ｓ１０１２を行うようにしてもよい。更新の無効化処理を実現するためには、ストレージ１０３の更新前のデータ、データ保存媒体１５０の更新前のデータを、例えばＯＳ１０２で管理される内部記憶に保存しておき、更新を無効にする場合には、内部記憶に保存してあった更新前のデータに書き戻すことで可能である。
【００９５】
本実施の形態では、データ保存媒体１５０に保存されたデータの更新操作情報に基づいて、バックアップ機１１０のバックアップストレージ１１１を更新する。この場合、バックアップ機１１０の設置場所までデータ保存媒体１５０を搬送し、バックアップ機１１０に接続する。データ読出部１５２は、データ保存媒体１５０が接続されると、データ保存媒体１５０に記録されたデータの更新操作情報を順次読み出し、ＯＳ１１３を介して、バックアップストレージ１１１のデータを更新する。これによって、バックアップストレージ１１１のデータがストレージ１０３と同じように更新され、データの多重化が行われる。なお、データ保存媒体１５０とバックアップストレージ１１１が同一であってもよく、その場合は、データ読み出しの処理は、不要である。
【００９６】
図１１に本実施の形態で使用するバックアップ条件テーブル１０４の一例を示す。この例のバックアップ条件テーブルＣ２３００は、第１の実施の形態で使用したバックアップ条件テーブルＣ２０００〜Ｃ２２００と異なり、バックアップ先マシン名として自計算機１００を示すlocalhostを指定し、バックアップ先パスにデータ保存媒体１５０のデバイス名を指定する。なお、バックアップ条件情報Ｒ２３０１は、バックアップ元パス名に“/home/usr/[a-m]*”と指定し、ファイルがディレクトリ/home/usrで、ファイル名の最初の1文字がaからmの間のアルファベットの場合、/dev/od1に指定されたデバイスに保存することを意味する。またバックアップ条件情報Ｒ２３０２は、バックアップ元パス名に“/home/usr/[n-z]*”と指定し、ファイルがディレクトリ/home/usrで、ファイル名の最初の1文字がnからzの間のアルファベットの場合、/dev/od2に指定されたデバイスに保存することを意味する。
【００９７】
図１１に示したようなバックアップ条件テーブルＣ２３００を使用する場合、バックアップ管理部１０５は、図１０−１および図１０−２のバックアップ条件照合処理Ｓ１００３において、アプリケーションプログラム１０１が更新対象とするストレージ１０３のファイルのパスと一致するバックアップ元パスを持つバックアップ条件情報をバックアップ条件テーブルＣ２３００から検索する。バックアップ元パスの一致するバックアップ条件情報があれば、そのスケジュールの欄を参照し、設定されていればそのスケジュール条件が真となるバックアップ条件情報を抽出する。そして、バックアップ条件情報中のバックアップ先パスに指定されたデバイスに、ストレージ１０３のファイルと同様に更新するための更新操作情報を保存する。
【００９８】
図１１に示したバックアップ条件テーブルＣ２３００の代わりに、図７および図８に示したようなアプリケーションプログラム名やユーザ名をバックアップ条件に持つバックアップ条件テーブルを使用することも可能である。
【００９９】
次に本実施の形態の効果について説明する。
【０１００】
本実施の形態によれば、アプリケーションプログラム１０１によるストレージ１０３のデータに対する更新時、予め設定したバックアップ条件を満たす更新データだけをバックアップ機１１０に設置したバックアップストレージ１１１に保存するための更新操作情報をデータ保存媒体１５０に保存することができる。その理由は、少なくとも１つのバックアップ条件情報を保持するバックアップ条件テーブル１０４を備え、アプリケーションプログラム１０１からストレージ１０３のデータに対する更新操作情報がＯＳ１０２に発行された際、バックアップ管理部１０５がその更新操作情報を解析してマッチするバックアップ条件情報をテーブル１０４から検索し、マッチするバックアップ条件情報が登録されていた場合に限って、今回のデータ更新操作情報をデータ保存媒体１５０に記録するからである。
【０１０１】
また本実施の形態によれば、計算機１００とバックアップ機１１０とをネットワークによりオンライン接続する必要がないため、より安価にバックアップシステムを構築することができる。
【０１０２】
『第３の実施の形態』
図１２を参照すると、本発明の第３の実施の形態は、計算機１００にネットワーク２０１を通じて１台のバックアップ機１４０−１が接続され、このバックアップ機１４０−１にネットワーク２０１を通じて更に１台のバックアップ機１４０−２が接続され、このバックアップ機１４０−２にネットワーク２０１を通じて更に別のバックアップ機（図示せず）が接続される如く、複数のバックアップ機が順次連鎖的に接続されている点と、各バックアップ機１４０−１、１４０−２が、図１におけるバックアップ機と同様なＯＳ１１３およびバックアップストレージ１１１−１、１１１−２に加え、データ転送部１２０、バックアップ条件テーブル１２１−１〜１２１−２およびバックアップ管理部１２２を備える点で、第１の実施の形態と相違する。なお、連鎖の終端のバックアップ機には、バックアップ条件テーブルおよびバックアップ管理部は不要である。各バックアップ機の構成要素はそれぞれ概略次のような機能を有する。
【０１０３】
データ転送部１２０は、計算機１００または別のバックアップ機とネットワークを通じて通信する。接続先の計算機１００または別のバックアップ機からデータの更新操作情報を受信すると、データ転送部１２０は、その更新操作情報を自計算機のＯＳ１１３に発行する。またデータ転送部１２０は、自計算機のバックアップ管理から通知されたデータ更新操作情報を次段のバックアップ機へ送信する処理を行う。
【０１０４】
バックアップ条件テーブル１２１−１、１２１−２は、バックアップストレージ１１１−１、１１１−２のバックアップ条件情報を保持するテーブルであり、少なくとも１つのバックアップ条件情報が記述される。バックアップ条件情報のフォーマットなどはバックアップ条件テーブル１０４のバックアップ条件情報と同じである。
【０１０５】
バックアップ管理部１０５は、データ転送部１２０からＯＳ１１３に発行されたバックアップストレージ１１１−１、１１１−２のデータに対するデータ更新操作情報のうち、バックアップ条件テーブル１２１−１、１２１−２に保持された何れかのバックアップ条件情報に適合する操作情報を検知し、その検知結果に応じて次段のバックアップ機バックへのデータ更新操作情報の転送可否を制御する。
【０１０６】
次に本実施の形態の動作のうち、アプリケーションプログラム１０１がストレージ１０３のデータを更新する際の動作について説明する。前提として、多重化するデータに関し、ストレージ１０３のデータとバックアップストレージ１１１−１、１１１−２のデータは同期がとれているものとする。
【０１０７】
計算機１００において、アプリケーションプログラム１０１によるストレージ１０３中の或るファイル更新が、バックアップ条件テーブル１０４に保持しているバックアップ条件情報にマッチすると、第１の実施の形態と同様に、データ送受信部１０６からネットワーク２０１経由でデータ更新操作情報がバックアップ機１４０−１に送信される。
【０１０８】
バックアップ機１４０−１においては、受信したデータ更新操作情報をデータ転送部１２０がＯＳ１１３に発行してバックアップストレージ１１１−１を更新するが、その際、ＯＳ１１９においてデータ更新の割り込みが発生もしくはデータ更新のライブラリが呼び出されて制御がバックアップ管理部１２２に移る。バックアップ管理部１２２は、バックアップ条件テーブル１２１から読み出したバックアップ条件情報とデータ更新操作情報とを照合し、バックアップ条件に合えば、データ転送部１２０にデータ更新操作情報を通知し、データ転送部１２０は、ネットワーク２０２を通じて別のバックアップ機１４０−２にそのデータ更新操作情報を送信する。以下、バックアップ機１４０−２において、バックアップ機１４０−１と同様の動作が実施されることにより、連鎖的にバックアップが行われる。このように、連鎖的な処理を行う場合、バックアップストレージの更新の確認待ちをすると、バックアップ元の処理遅延が大きくなるので、図２−１の処理例のように確認待ちの処理等は省くのが好ましい。
【０１０９】
このように本実施の形態によれば、第１の実施の形態と同様の効果が得られると共に、計算機１００は、１つのバックアップ機１１０−１との通信だけで、複数のバックアップを行うことが可能となり、計算機１００の処理負荷を低減することができる。
【０１１０】
また本実施の形態は、各バックアップ機にもバックアップ条件テーブルおよびバックアップ管理部を備えることにより、ストレージ１０３中の或るファイルは１つのバックアップ機１４０−１にだけバックアップを保存し、別のファイルは２つのバックアップ機１４０−１、１４０−２にバックアップを保存するといったきめ細かなバックアップ制御が可能となる。
【０１１１】
なお、本実施の形態では各バックアップ機にバックアップ条件テーブルおよびバックアップ管理部を備えるようにしたが、データ転送部１２０が受信したデータ更新操作情報を自計算機のＯＳに発行すると同時にネットワークを通じて次段のバックアップ機へ送信するように構成することも可能である。
【０１１２】
『第４の実施の形態』
【０１１３】
図１３を参照すると、本発明の第４の実施の形態は、計算機１００がデータ送受信部１０６およびバックアップ条件テーブル１０４の代わりに暗号データ送受信部１３０およびバックアップ条件テーブル１０４Ａを備え、各バックアップ機１１０−１〜１１０−３がデータ送受信部１１２の代わりに暗号データ送受信部１３１を備えている点で第１の実施の形態と相違し、それ以外は第１の実施の形態と同じである。
【０１１４】
バックアップ条件テーブル１０４Ａは、少なくとも１つのバックアップ条件情報を保持し、個々のバックアップ条件情報はバックアップ対象条件としてファイル、アプリケーションプログラムまたはユーザに関する情報を含んでいる。この点は第１の実施の形態におけるバックアップ条件テーブル１０４と同じであるが、相違する点として、各バックアップ条件情報は、バックアップ機へ送るデータに対して施すべき加工内容の記述を含む。加工内容は、暗号化を施すことを示すセキュリティ、データ圧縮、その他のデータ変換などがある。本実施の形態はそのうち、セキュリティに関する情報を保持する例を示す。
【０１１５】
図１４にバックアップ条件テーブル１０４Ａの内容例を示す。この例のバックアップ条件テーブルＣ２０００は、２個のバックアップ条件情報Ｒ２４０１、Ｒ２４０２を保持している。個々のバックアップ条件情報は、バックアップ元パス、バックアップ先マシン名、バックアップ先パスおよび加工内容の一例であるセキュリティの各項目を含んでいる。前者の３つの項目は第１の実施の形態と同じである。セキュリティには、計算機１００とバックアップ機１１０−１〜１１０−３との間で通信する場合に使うセキュア通信方式が指定されている。
【０１１６】
具体的には、バックアップ条件情報Ｒ２４０１は、/home/usr1/secret/のディレクトリ以下のファイルをアプリケーションプログラム１０１が更新する場合、バックアップ先マシン名busrvに、同じファイルパスでバックアップを行うこと、その際のセキュア通信方式としてDES暗号通信を使用することを示している。
【０１１７】
またバックアップ条件情報Ｒ２４０２は、/home/usr2のディレクトリ以下のファイルをアプリケーションプログラム１０１が更新する場合、バックアップ先マシン名busrvに、同じファイルパスでバックアップを行うこと、その際のセキュア通信方式としてPKI電子署名付通信を使用することを示している。
【０１１８】
本実施の形態の動作は、第１の実施の形態とほぼ同一であり、異なるのは、バックアップアップ管理部１０５において、マッチしたバックアップ条件情報からセキュア通信方式を取得し、そのセキュア通信方式を指定して暗号データ送受信部１３０にデータ更新操作情報の転送を要求することである。暗号データ送受信部１３０は、バックアップ管理部１０５からの転送要求を受けて、指定のセキュア通信方式で送信データを暗号化してバックアップサーバ１１０−１〜１１０−３に送信する。また暗号データ送受信部１３０は、バックアップ機１１０−１〜１１０−３からの暗号受信時には復号を行う。他方、各バックアップ機１１０−１〜１１０−３における暗号データ送受信部１３１は、受信時には、暗号化されたデータを復号し、送信時には同一のセキュア通信方式で暗号化して送信する。
【０１１９】
このように本実施の形態によれば、第１の実施の形態と同様の効果が得られると共に、計算機１００とバックアップ機１１０−１〜１１０−３との通信が暗号化されるため、ネットワーク２０１としてインターネット等のオープンなネットワークを使用した場合であっても、安全に遠隔地のバックアップストレージにバックアップデータを保存することが可能である。また、一律に暗号化するのではなく、バックアップ条件情報で指定するファイル、アプリケーションあるいはユーザ単位で暗号化の可否およびセキュア通信方式の選択が可能になるという効果がある。
【０１２０】
『第５の実施の形態』
図１５を参照すると、本発明の第５の実施の形態は、複数のバックアップ機１１０−１〜１１０−３に対して複数のバックアップ元の計算機１００−１、１００−２がネットワーク２０１を通じて接続されている点と、各バックアップ機１１０−１〜１１０−３がマシン管理テーブル１１５−１〜１１５−３とマシン管理部１１４を備えている点で、第１の実施の形態と相違する。
【０１２１】
マシン管理テーブル１１５−１〜１１５−３は、少なくとも１個のマシン管理情報を保持する。個々のマシン管理情報は、バックアップ元マシン名と、バックアップ元パスと、バックアップ先パスと、フィルター情報とを含む。バックアップ先パスはパス情報をバックアップ機側で変える場合に必要になる。フィルター情報は、日本語コードの変換などを行うフィルタープログラムを指定する情報であり、何らかのフィルターを通した情報をバックアップする場合に必要になる。
【０１２２】
図１６にマシン管理テーブル１１５−１の一例を示す。マシン管理情報Ｒ２５０１は、server1というマシン名のバックアップ元計算機から、“/home/usr1”というパスでバックアップするようなデータを受けた場合、“/server1/usr1”というパスに変換して保存することを示す。つまり、server1の/home/usr1/file.txtは、バックアップ機１１０−１において、/server1/usr1/file.txtとして、バックアップされる。
【０１２３】
一方、マシン管理情報Ｒ２５０２は、ＩＰアドレス192.168.0.200のバックアップ元計算機から、/home/usr1”というパスでバックアップするようなデータを受けた場合、“/server2/usr1”に変換し、さらに“nkf -w”という日本語コード変換のフィルタープログラムを通して、保存することを意味する。
【０１２４】
他のバックアップ機１１０−２、１１０−３のマシン管理テーブル１１５−２、１１５−３にも、バックアップ機１１０−１のマシン管理テーブル１１５−１と同様の内容が登録されている。
【０１２５】
各バックアップ機１１０−１〜１１０−３のマシン管理部１１４は、データ送受信部１１２で受信された各バックアップ元計算機１００−１、１００−２からのデータ更新操作情報のパスを、それに適合するマシン管理テーブル１１５−１〜１１５−３に保持されたマシン管理情報中のバックアップ先パスに基づいて変換し、さらにフィルター情報が指定されている場合には指定されたフィルタープログラムを実行する機能を有する。
【０１２６】
本実施の形態の動作において、バックアップ元の各計算機１００−１、１００−２における動作は第１の実施の形態と同一であり、異なるのは、複数のバックアップサーバ１１０−１〜１１０−３における動作である。以下に、バックアップ機１１０−１を例にその動作を説明する。他のバックアップ機１１０−２、１１０−３も同様の動作を行う。
【０１２７】
データ送受信部１１２は、バックアップ元の計算機１００−１、１００−２からデータ更新操作情報を受信すると、それをマシン管理部１１４に伝達する。マシン管理部１１４は、マシン管理テーブル１１５−１を参照し、データ更新操作情報と照合して、データの保存先パスおよび必要なフィルタープログラムを決定する。例えば、今回受信したデータ更新操作情報の送信元の計算機１００−１のＩＰアドレスを192.168.0.200、受信した情報で指定されるバックアップ元パスを/home/usr1とすると、図１６のマシン管理情報Ｒ２５０２がマッチするので、マシン管理部１１４は、バックアップ先パスに指定されたパス名/server2/usr1に基づいて保存するパス名を変換し、また日本語コードの変換などフィルタープログラムが指定されていれば、そのフィルタを通して、保存を行う。
【０１２８】
このように本実施の形態によれば、第１の実施の形態と同様の効果が得られると共に、複数のバックアップ元計算機のデータを複数のバックアップ機に集約して保存するためにシステムの構築コストを軽減することができる。また、各バックアップ機側で保存パスを自由に変更でき、かつ、日本語コードの変換など任意のフィルタープログラムによる加工をバックアップデータに対して施すことが可能である。
【０１２９】
『第６の実施の形態』
図１７を参照すると、本発明の第６の実施の形態は、計算機１００のデータ送受信部１０６が省略され、ネットワーク２０１経由でバックアップ機１１０−１〜１１０−３が接続される代わりに、バックアップストレージ１１１が接続されており、バックアップ管理部１０５はストレージ１０３のバックアップデータをローカルなバックアップストレージ１１１に保存する点で、第１の実施の形態と相違する。
【０１３０】
バックアップストレージ１１１は、ハードディスク装置などで構成される外部記憶装置であり、ストレージ１０３に格納されているデータのコピーを、ファイル単位で保存する。バックアップストレージ１１１はストレージ１０３と同じ容量である必要はなく、諸元（ハードディスクのシリンダ、トラック、セクタ、ヘッダなどの諸元）も相違していてもよい。
【０１３１】
次に、図１７および図１８−１のフローチャートを参照して本実施の形態の動作のうち、アプリケーションプログラム１０１がストレージ１０３のデータを更新する際の動作について詳細に説明する。
【０１３２】
アプリケーションプログラム１０１からストレージ１０３に対するデータの更新操作情報が発行されると（図１８−１のＳ１００１）、ＯＳ１０２においてデータ更新の割り込みが発生もしくはデータ更新のライブラリが呼び出され（Ｓ１００２）、バックアップ管理部１０５に制御が移行する。バックアップ管理部１０５は、アプリケーションプログラム１０１が発行したデータの更新操作情報を解析し、バックアップ条件テーブル１０４に設定されているバックアップ条件情報と照合する（Ｓ１００３）。そして、バックアップ管理部１０５は、アプリケーションプログラム１０１が発行したデータの更新操作情報に適合するバックアップ条件情報が存在すれば（Ｓ１００３でＹｅｓ）、その更新操作情報に基づいてストレージ１０３およびバックアップストレージ１１１を同じように更新し（Ｓ１００４Ａ、Ｓ１００５）、また適合するバックアップ条件情報が存在しなければ（Ｓ１００３でＮｏ）、その更新操作情報に基づいてストレージ１０３だけを更新する（Ｓ１００５）。そして、データ更新結果をＯＳ１０２を通じてアプリケーションプログラム１０１に通知する（Ｓ１０１３、Ｓ１０１４）。アプリケーションプログラム１０１は、その更新結果に応じた処理を進める（Ｓ１０１５）。
【０１３３】
図１８−１の処理例では、ステップＳ１００５のストレージ更新処理は、ステップＳ１０４Ａのバックアップストレージ更新処理と独立に行われるため、ストレージ１０３のデータが更新されていても、バックアップストレージ１１１が更新されていない状態が発生し得る。このため、信頼性を高めるために、ステップＳ１００５のストレージ更新処理を、ステップＳ１００４Ａのバックアップストレージ更新処理の完了を確認してから実施するようにしてもよい。または、図１８−２のフローチャートに示されるように、バックアップ管理部１０５において、ステップＳ１００５のストレージ更新処理とステップＳ１００４Ａのバックアップストレージ更新処理の双方が共に成功したか否かを判定し（Ｓ１０１１）、若しも何れか一方のみが失敗していれば、成功した側の更新を無効化する処理Ｓ１０１２を行うようにしてもよい。更新の無効化処理を実現するためには、ストレージ１０３の更新前のデータまたはバックアップストレージ１１１の更新前のデータを、例えばＯＳ１０２で管理される内部記憶に保存しておき、更新を無効にする場合には、内部記憶に保存してあった更新前のデータに書き戻すことで可能である。
【０１３４】
図１９に本実施の形態で使用するバックアップ条件テーブル１０４の一例を示す。この例のバックアップ条件テーブルＣ２６００は、第１の実施の形態で使用したバックアップ条件テーブルＣ２０００〜Ｃ２２００と異なり、バックアップ先マシン名として自計算機１００を示すlocalhostを指定する。なお、バックアップ条件情報Ｒ２６０１は、バックアップ元パス名に“/home/usr/[a-m]*”と指定し、ファイルがディレクトリ/home/usrで、ファイル名の最初の1文字がaからmの間のアルファベットの場合、バックアップストレージ１１１の/bp1/usr配下のファイルに保存することを意味する。またバックアップ条件情報Ｒ２３０２は、バックアップ元パス名に“/home/usr/[n-z]*”と指定し、ファイルがディレクトリ/home/usrで、ファイル名の最初の1文字がnからzの間のアルファベットの場合、バックアップストレージ１１１の/bp1/use配下のファイルに保存することを意味する。
【０１３５】
図１９に示したようなバックアップ条件テーブルＣ２６００を使用する場合、バックアップ管理部１０５は、図１８−１および図１８−２のバックアップ条件照合処理Ｓ１００３において、アプリケーションプログラム１０１が更新対象とするストレージ１０３のファイルのパスと一致するバックアップ元パスを持つバックアップ条件情報をバックアップ条件テーブルＣ２６００から検索する。バックアップ元パスの一致するバックアップ条件情報があれば、そのスケジュールの欄を参照し、設定されていればそのスケジュール条件が真となるバックアップ条件情報を抽出する。そして、バックアップ条件情報中のバックアップ先パスに指定されたバックアップストレージ１１１のパスにファイルに対して、ストレージ１０３のファイルと同様の更新を行う。
【０１３６】
図１９に示したバックアップ条件テーブルＣ２３００の代わりに、図７および図８に示したようなアプリケーションプログラム名やユーザ名をバックアップ条件に持つバックアップ条件テーブルを使用することも可能である。
【０１３７】
本実施の形態によれば、アプリケーションプログラム１０１によるストレージ１０３のデータに対する更新時、予め設定したバックアップ条件を満たす更新データだけをローカルなバックアップストレージ１１１に保存することができる。
【０１３８】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明のバックアップ元計算機におけるバックアップ管理部、データ送受信部、データ記録部、暗号データ送受信部の各構成要素や、バックアップ先計算機におけるデータ送受信部、データ読出部、データ転送部、バックアップ管理部、暗号データ送受信部、マシン管理部の各構成要素は、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各構成要素として機能させる。
【図面の簡単な説明】
【０１３９】
【図１】本発明の第１の実施の形態のブロック図である。
【図２−１】本発明の第１の実施の形態におけるデータ更新時の処理例を示す流れ図である。
【図２−２】本発明の第１の実施の形態におけるデータ更新時の別の処理例を示す流れ図である。
【図３】本発明の第１の実施の形態における初期動作をとる処理の流れ図である。
【図４】本発明の第１の実施の形態における復旧動作の一例を説明するブロック図である。
【図５】本発明の第１の実施の形態における復旧動作の他の例を示す流れ図である。
【図６】本発明の第１の実施の形態で使用するバックアップ条件テーブルの一例を示す図である。
【図７】本発明の第１の実施の形態で使用するバックアップ条件テーブルの別の例を示す図である。
【図８】本発明の第１の実施の形態で使用するバックアップ条件テーブルのさらに別の例を示す図である。
【図９】本発明の第２の実施の形態の構成を示すブロック図である。
【図１０−１】本発明の第２の実施の形態におけるデータ更新時の処理例を示す流れ図である。
【図１０−２】本発明の第２の実施の形態におけるデータ更新時の別の処理例を示す流れ図である。
【図１１】本発明の第２の実施の形態で使用するバックアップ条件テーブルの一例を示す図である。
【図１２】本発明の第３の実施の形態の構成を示すブロック図である。
【図１３】本発明の第４の実施の形態の構成を示すブロック図である。
【図１４】本発明の第４の実施の形態で使用するバックアップ条件テーブルの一例を示す図である。
【図１５】本発明の第５の実施の形態の構成を示すブロック図である。
【図１６】本発明の第５の実施の形態で使用するマシン管理テーブルの一例を示す図である。
【図１７】本発明の第６の実施の形態の構成を示すブロック図である。
【図１８−１】本発明の第６の実施の形態におけるデータ更新時の処理例を示す流れ図である。
【図１８−２】本発明の第６の実施の形態におけるデータ更新時の別の処理例を示す流れ図である。
【図１９】本発明の第６の実施の形態で使用するバックアップ条件テーブルの一例を示す図である。
【符号の説明】
【０１４０】
１００、１００−１、１００−２…計算機
１０１…アプリケーションプログラム
１０２、１１３、１１９…ＯＳ
１０３…ストレージ
１０４、１２１−１、１２１−２…バックアップ条件テーブル
１０５、１２２…バックアップ管理部
１０６、１１２…データ送受信部
１１０、１１０−１、１１０−２、１１０−３…バックアップ機
１１１、１１１−１、１１１−２、１１１−３、１２３−１、１２３−２…バックアップストレージ
１１４…マシン管理部
１１５−１、１１５−２、１１５−３…マシン管理テーブル
１２０…データ転送部
１３０、１３１…暗号データ送受信部
１５０…データ保存媒体
１５１…データ記録部
１５２…データ読出部
【図１】
2006163560.tif 000003
【図２−１】
2006163560.tif 000004
【図２−２】
2006163560.tif 000005
【図３】
2006163560.tif 000006
【図４】
2006163560.tif 000007
【図５】
2006163560.tif 000008
【図６】
2006163560.tif 000009
【図７】
2006163560.tif 000010
【図８】
2006163560.tif 000011
【図９】
2006163560.tif 000012
【図１０−１】
2006163560.tif 000013
【図１０−２】
2006163560.tif 000014
【図１１】
2006163560.tif 000015
【図１２】
2006163560.tif 000016
【図１３】
2006163560.tif 000017
【図１４】
2006163560.tif 000018
【図１５】
2006163560.tif 000019
【図１６】
2006163560.tif 000020
【図１７】
2006163560.tif 000021
【図１８−１】
2006163560.tif 000022
【図１８−２】
2006163560.tif 000023
【図１９】
2006163560.tif 000024