(57)【特許請求の範囲】
【請求項１】
コンピュータプロセッサ及びシステムメモリを含み、コンピュータネットワークを介してバックアップシステムに接続されるコンピュータシステムにおいて、アプリケーションにバックアップインスタンスへのアクセスを提供して復旧動作を実行するための前記コンピュータプロセッサにより実行される方法であって、該方法は、
前記バックアップシステムにおいて常駐の読み取り専用バックアップインスタンスを特定するステップと、
前記アプリケーションに関連するリストアアプリケーションに、前記アプリケーションによる読み取り／書き込みアクセスのためのバックアップインスタンスを構成させるステップであって、
前記読み取り専用バックアップインスタンスにアクセスをするステップと、
読み取り／書き込みストレージにおいて読み取り／書き込みアクセスのためのバックアップインスタンスを作成するために差分機構を構成するステップであって、該差分機構を構成するステップは、前記読み取り専用バックアップインスタンスへのキャプチャされた変更を格納するために、前記読み取り専用バックアップインスタンスを親オブジェクトとして確立するステップと、読み取り／書き込みファイルを前記読み取り専用バックアップインスタンスの子オブジェクトとして確立するステップを含む、ステップと、及び
リモートの読み取り専用バックアップインスタンス及び前記読み取り／書き込みファイルの両方を包含するために、ストレージボリュームを用いて読み取り／書き込みアクセスのためのバックアップインスタンスを前記アプリケーションに示すステップと、
備えたことを特徴とする方法。
【請求項２】
前記差分機構は、
前記読み取り／書き込みストレージを用いて書き込みコマンドを処理し、
前記読み取り専用ストレージを用いて読み取りコマンドを処理するドライバを備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記バックアップシステムにおいて読み取り専用バックアップインスタンスを特定するステップは、前記バックアップシステムにおいてリモートの読み取り専用インスタンスを特定するステップをさらに備え、
読み取り／書き込みアクセスのためのバックアップインスタンスを前記アプリケーションに示すステップは、ローカルに付属のストレージ装置として、前記リモートの読み取り／書き込みアクセスのためのバックアップインスタンスを前記アプリケーションに示すステップを備える
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記読み取り専用バックアップインスタンスにアクセスするステップは、インターネットスモールコンピュータシステムインターフェースプロトコルを用いて前記読み取り専用バックアップインスタンスにアクセスするステップを備える
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記読み取り専用バックアップインスタンスにアクセスするステップは、コモンインターネットファイルシステムプロトコルを用いて前記読み取り専用バックアップインスタンスにアクセスするステップを備える
ことを特徴とする請求項３に記載の方法。
【請求項６】
プロセッサと
ネットワーク接続と
データベースの読み取り専用バックアップインスタンスを備えるバックアップストレージシステムへの接続と
読み取り／書き込みストレージシステムへの接続と
前記読み取り／書き込みストレージシステムを用いて書き込みコマンドを処理するよう構成された差分機構と、及び
バックアップリカバリーシステムと、を備え、該バックアップリカバリーシステムは、
読み取り専用バックアップインスタンスを特定し、
リストアアプリケーションにアプリケーションによる読み取り／書き込みアクセスのためのバックアップインスタンスを構成させ、該構成させることは、
前記読み取り専用バックアップインスタンスにアクセスすること、及び
前記読み取り／書き込みストレージシステムにおいて読み取り／書き込みアクセスのためのバックアップインスタンスを作成するために前記差分機構を構成することであって、前記読み取り専用バックアップインスタンスへのキャプチャされた変更を格納するために、前記読み取り専用バックアップインスタンスを親オブジェクトとして確立し、読み取り／書き込みファイルを前記読み取り専用バックアップインスタンスの子オブジェクトとして確立することを含む、差分機構を構成すること、
を含む、システム。
【請求項７】
前記読み取り専用バックアップインスタンスは、
前記データベースの増分バックアップインスタンスである
ことを特徴とする請求項６に記載のシステム。
【請求項８】
前記バックアップストレージシステムは、
前記システム内に備えられた
ことを特徴とする請求項６に記載のシステム。
【請求項９】
前記バックアップストレージシステムは、
前記ネットワーク接続を経由してアクセスされる
ことを特徴とする請求項６に記載のシステム。
【請求項１０】
前記読み取り／書き込みアクセスのためのバックアップインスタンスを、前記アプリケーションへのローカルストレージ装置として示すプレゼンテーション機構をさらに備え、
前記読み取り／書き込みストレージシステムの利用により示される前記読み取り／書き込みアクセスのためのバックアップインスタンスは前記読み取り専用バックアップインスタンスと前記読み取り／書き込みファイルの両方を包含し、前記アプリケーションからの書き込み動作は、前記差分機構の利用により前記読み取り／書き込みファイルに別個に格納され、前記アプリケーションに関する読み取り動作は前記読み取り専用バックアップインスタンスにアクセスするようにする、
ことを特徴とする請求項６に記載のシステム。
【請求項１１】
前記プレゼンテーション機構は、
インターネットスモールコンピュータシステムインタフェースプロトコルを備えた
ことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記プレゼンテーション機構は、
コモンインターネットファイルシステムプロトコルを備えた
ことを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記差分機構は、
前記アプリケーションにローカルの第２の装置に伝えられることを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記差分機構は
前記読み取り専用バックアップインスタンスから読み取られるよう構成されることを特徴とする、請求項１０に記載のシステム。
【請求項１５】
コンピュータシステムにおける利用のためのコンピュータプログラムであって、該コンピュータプログラムは、リカバリー動作を実行するために、アプリケーションにバックアップインスタンスへのアクセスを提供するための方法を実行するよう構成され、該コンピュータシステムはコンピュータ実行可能な命令を格納するコンピュータ読み取り可能記憶媒体を備え、該命令はプロセッサにより実行されると、前記コンピュータシステムに、
アプリケーションからデータベースのバックアップバージョンに関する要求を受信するステップと、
前記アプリケーションのリモートにあるリモートコンピュータシステムにおいて作成された前記データベースの復旧された読み取り専用バージョンに基づいて、前記データベースの読み取り／書き込み可能バージョンを作成するために差分機構を構成するステップであって、該差分機構を構成するステップは、前記復旧された読み取り専用バージョンへのキャプチャされた変更を格納するために、前記復旧された読み取り専用バージョンを親オブジェクトとして確立するステップと、読み取り／書き込みファイルを前記復旧された読み取り専用バージョンの子オブジェクトとして確立するステップを含む、ステップと、及び
ローカルに付属のストレージ装置として、前記読み取り／書き込みバージョンを前記アプリケーションに示すために、前記リモートコンピュータシステムを対象とするインターネットスモールコンピュータシステムインターフェースと通信するよう、インターネットスモールコンピュータシステムインターフェースを用いるステップと、
を含む方法を実行させることを特徴とするコンピュータプログラム。
【請求項１６】
前記アプリケーションは前記コンピュータシステム上で動作可能であり、前記方法は前記コンピュータシステムで実行されることを特徴とする請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記差分機構はバーチャルハードディスクを備えたことを特徴とする請求項１６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバックアップ及びリストアシステムに関し、より詳細にはローカルリソースとして及び読み取り及び書き込み可能な状態で、復旧されたバックアップデータを提供するバックアップ及びリストアシステムに関する。
【背景技術】
【０００２】
バックアップ及びリストアシステムは、一般に、データの致命的又は一部の欠損が発生した場合にデータを復旧することができるように、データのアーカイブコピーを作成するために用いられる。多くの場合では、バックアップシステムは、認識又は構文解析することができないデータでデータのバックアップを行う。例えば、アプリケーションは、単一のファイル又は一連のファイルで格納されるデータベースを持つことができる。バックアップアプリケーションは、当該データベースに関連したファイルのコピーを作成することができる。しかし、当該データベース中の単一のレコードを取り出すことができない。
【０００３】
多くの場合では、データベースは非常に大きくなり得る。バックアップデータベース中のわずかなデータ１つを取り出したい時、データベース全体をリストアし、当該データベースを作成したアプリケーションが当該データベースにアクセスし、データをリストアするのが一般的な方法となり得る。多くの場合では、アプリケーションはネットワークリソース上で動作することができず、ローカルリソース上のみで動作することができる。このような場合では、データベース全体はテラバイトの容量になり得るが、データベース全体はバックアップシステムからローカルシステムへ転送され、そして、アプリケーションはデータベースにアクセスすることができる。
【発明の概要】
【０００４】
本発明のバックアップ及びリストアシステムは、ローカルリソースとして及び読み取り及び書き込み可能な状態で、復旧されたバックアップデータを提供することができる。そして、当該復旧されたバックアップデータは、当該データを作成したアプリケーションがアクセスすることができる。ある実施形態では、当該復旧されたデータは読み取り専用データとすることができるが、VHD(Virtual Hard Disk)、CIFS(Common Internet File System protocol)、又は差分ドライバ(Differencing Driver)も、読み取り／書き込みバージョンのデータを提供するために用いることができる。更に、当該データがリモートに存在していたとしても、ローカルのデータとして提供するために、当該データをiSCSI又はその他の技術を用いて提供することができる。更に、バックアップ及びリストアシステムは、マルチプルバックアップ(multiple backups)を作成するためにVHD差分技術を用いることができる。
【０００５】
本発明の概要は、後述の発明の詳細な説明においてより詳細に説明される技術思想を、簡潔な態様での抜粋を紹介するために示された。本発明の概要は、特許請求の範囲に記載された発明の技術的範囲の中核となる特徴や本質的な特徴を特定することを意図したものではなく、発明の概要は特許請求の範囲に記載された発明の技術的範囲を制限するために用いられるものでもない。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態における、バックアップシステムを伴うネットワーク環境を示すブロック構成図である。
【図２】本発明の実施形態における、バックアップインスタンスにアクセスするための方法を示す状態遷移図である。
【発明を実施するための形態】
【０００７】
データベースのバックアップコピーは、当該データベース中の単一のアイテムを復旧することができるように、アプリケーションからアクセスができるようになる。ある実施形態では、当該データベースは、アプリケーションが復旧されたバージョンのデータベースとうまく相互作用できるように、読み取り／書き込み可能な状態でアクセス可能となり得る。また、バックアップコピーはローカルのストレージ装置としてアクセス可能となり得る。
【０００８】
多くの複雑なデータベースでは、データベースにアクセスをするアプリケーションは、当該データベースが読み取り専用でアクセスをすることができない。このようなアプリケーションは、アプリケーションの基本設計の一部として読み取り／書き込みアクセスを用いることができ、そして、このようなアプリケーションの基本設計は容易に改変され得るものではない。
【０００９】
多くのバックアップシステムでは、データベースのバックアップコピーは、当該データベースの読み取り専用コピーとして格納することができる。読み取り専用コピーは、アーカイブ運用方針の一部として所定期間格納され、その後法的な又はその他の理由のために参照することができる。このように、当該読み取り専用コピーは、一旦バックアップが実行されると変更することができない。
【００１０】
データベースのバックアップコピーに対する読み取り／書き込みアクセスを許可するために、読み取り専用データベースの読み取り／書き込みバージョンを作成する差分技術を用いることができる。差分技術は差分VHD(Virtual Hard Disk)を用いることが含まれるが、当該差分VHDは書き込みコマンドを差分VHDに対して処理をするように構成され得る。一方で、当該差分VHDは、読み取り専用データベースをそのままに保つことができる。もう一つの差分技術は、読み出し動作から書き込み動作を切り離すことができる、特別のファイルシステムフィルタードライバ又は特別のボリュームバスドライバを用いることを含み得る。そして、これらを用いることにより、読み取り専用データベースをそのままに保ち、書き込み動作を別個に格納することができる。
【００１１】
バックアップシステムはたびたびリモートに格納される。ローカルの装置の外部であれば、あらゆる位置がリモートロケーションとなり得る。例えば、リモートロケーションは、遠隔地または、LAN(Local Area Network)内の他の装置にすぎない場合がある。多くのデータベースアプリケーションでは、当該データベースアプリケーションが、ローカルでアクセスすることができないデータベースにはアクセスしないように構成することができる。
【００１２】
このような場合では、リモートロケーションからローカルロケーションへ大きなデータベースを転送することは、時間、ネットワーク帯域、ローカルのストレージ領域及びその他の要因の観点から非常にコストのかかる運用となる。このような場合では、リモートバックアップはiSCSI又はその他の技術を用いて、ローカルのリソースとして提供することができる。iSCSI又はその他の技術は、リモートのストレージ装置をローカルに接続されたストレージ装置として提供することができる。
【００１３】
図中の説明を通じて類似の参照番号が同一の構成要素を特定するように、本明細書においても同一の参照番号が同一の構成要素を特定する。
【００１４】
構成要素が「接続されている」又は「連結されている」と言及される時は、構成要素が互いに直接的に接続されているか又は連結されている場合か、若しくは構成要素の間に介在する一つ以上の別の構成要素も更に存在する可能性がある。反対に、構成要素が「直接的に接続されている」又は「直接的に連結されている」と言及される場合は、介在する別の構成要素は存在しない。
【００１５】
発明の技術的範囲は、装置、システム、方法、及び／又はコンピュータプログラム製品として具体化することができる。従って、発明の技術的範囲の幾つか又は全てはハードウェアにおいて及び／又はソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコード、ステートマシーン、ゲートアレイ等を含む）に具体化することができる。更には、発明の技術的範囲は、コンピュータが使用可能な又はコンピュータが読み取り可能な記憶媒体上のコンピュータプログラム製品の形式をとることができる。そして、その記憶媒体は、演算実行システムによる使用のため、又は演算実行システムに関連して、コンピュータが使用可能な、又はコンピュータが読み取り可能な記憶媒体において具体化されたプログラムコードを持つ。本明細書の文脈にて、コンピュータが使用可能な又はコンピュータが読み取り可能な媒体は、あらゆる媒体を含む。これら媒体は、演算実行システム、装置又は機器による使用又はこれらに関連して、プログラムを保持し、格納し、通信し、頒布し又は伝送することができる。
【００１６】
コンピュータが使用可能な、又はコンピュータが読み取り可能な媒体は、例えば、以下に限定されないが、電気的、磁気的、光学的、電磁的、赤外線を利用したもの、あるいは半導体システム、装置、機器又は頒布用媒体である。例として、限定するものではないが、コンピュータが読み取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を構成する。
【００１７】
コンピュータ記憶媒体は、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含み、コンピュータが読み取り可能な命令、データ構造、プログラムモジュール又はその他のデータのように情報の格納のためのあらゆる方法や技術で実装される。コンピュータ記憶媒体は、以下に限定はされないが、RAM、ROM、EEPROM、フラッシュメモリ又はその他のメモリ技術であるCD-ROM、DVD又はその他光学ストレージ、磁器カセット、磁器テープ、磁器ディスクストレージ又はその他磁器ストレージ装置又は所望の情報を格納するために使われ、命令実行システムによってアクセスすることができるその他あらゆる媒体が含まれる。注意するべきは、コンピュータが使用可能な、又はコンピュータが読み取り可能な媒体は、紙又はプログラムが印刷されるのに相応しいその他媒体である可能性がある。なぜならば、例えば、紙又はプログラムが印刷されるのに相応しいその他媒体から光学的読み取りを介してプログラムは電子的に読み取られる可能性があり、そしてコンパイルされ、解釈され、さもなければ好適に処理され、必要ならば、コンピュータのメモリに記憶されるからである。
【００１８】
通信媒体は、典型的には、コンピュータが読み取り可能な命令、データ構造、プログラムモジュール又は搬送波や他の伝送機構のように変調されたデータ信号におけるその他のデータを具現化する。また、通信媒体は、典型的には、あらゆる情報配信媒体を含む。「変調されたデータ信号」という用語は、一つ以上の特徴的な信号セットを持つ信号又は信号内の情報を符号化するような態様で変調された信号として定義される。例として、以下は限定するものではないが、通信媒体は有線ネットワーク及び直接接続のような有線媒体を含む。そして、通信媒体は音波、高周波、赤外線及びその他無線媒体のような無線媒体を含む。上記に言及されたあらゆる組み合わせは、いずれもコンピュータが読み取り可能な媒体の範囲に含まれるであろう。
【００１９】
発明の技術的範囲が、コンピュータが実行可能な命令の、一般的環境において具体化される時には、実施形態はプログラムモジュールを備えることができ、これらは一つ以上のシステム、コンピュータ又はその他の装置によって実行される。一般的に、プログラムモジュールはルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。そしてこれらは、特定のタスク処理又は特定の抽象データ形式を実装する処理を行う。典型的に、プログラムモジュールの機能性は、様々な所望の態様で結合又は配布することができる。
【００２０】
図１は実施形態に係る１００の機能ブロック図であり、バックアップシステム及びリストアシステムが動作することができるネットワーク環境である。実施形態に係る１００は、ハードウェア環境とソフトウェア環境の簡素化された例を示している。当該環境は、バックアップインスタンスを作成し、当該バックアップインスタンスを読み出し専用状態に保つ一方で、アプリケーションが読み取り／書き込み可能な状態でアクセスできるようにすることができる。
【００２１】
図１の機能ブロック図は、システムの機能コンポーネントを図示する。ある場合では、当該コンポーネントはハードウェアコンポーネント、ソフトウェアコンポーネント又はハードウェアとソフトウェアの組み合わせであり得る。あるコンポーネントはアプリケーションレベルのソフトウェアであり、一方、その他のコンポーネントはオペレーティングシステムレベルのコンポーネントであり得る。ある場合では、コンポーネント同士の接続は、単一のハードウェアウェア上で動作する二以上のコンポーネントの密接な接続となり得る。その他の場合では、コンポーネント同士の接続は長距離に亘るネットワークを経由したものとすることができる。各々の実施形態は、発明の詳細な説明で開示される機能を実現するために、異なるハードウェア、ソフトウェア及び相互接続アーキテクチャを用いることができる。
【００２２】
実施形態に係る１００は、バックアップデータベースインスタンスが読み取り専用インスタンスであったとしても、データベースのバックアップインスタンスを、読み取り／書き込み可能な状態でアプリケーションに提供することができる。
【００２３】
多くの大規模なアプリケーションは、大規模な共同作業用システム、電子メール、メッセージングシステム及びその他のアプリケーションのように、非常に大容量のデータベースを用いることができる。これらのデータベースは、数ギガバイトや数テラバイトの容量となり、そして読み取り／書き込み可能な状態時にのみ、アクセスが可能となる。換言すれば、データベースが読み取り／書き込み可能な状態の時のみ、アプリケーションがデータベースにアクセスすることが可能であり、当該データベースが読み取り専用の状態の時では、アプリケーションがデータベースにアクセスすることができない。
【００２４】
バックアップインスタンスは、所定のバックアップ動作の一部としてデータベースから作成され得る。当該バックアップ動作では、不注意で削除されてしまったレコードやアイテムをリストアすることができるのと同様に、致命的な欠損が発生した場合に当該データベースをリストアするために用いることができる当該データベースのコピーが作成される。
【００２５】
致命的な欠損から復旧する場合、データベース全体を復旧することができる。復旧されたデータベースは、当該欠損したデータベースと置き換わり、そしてアプリケーションは当該復旧されたデータベースを用いて動作を再開することができる。欠損からの復旧を図る場合の典型では、動作を再開する前に、データベース全体を復旧前のデータベースがあった場所に転送することができる。
【００２６】
データベース中の個々のアイテムを復旧する場合、当該データベースの読み取り／書き込みインスタンスは、差分機構を用いて作成することができる。差分機構は子イメージと親イメージを作成する。当該親イメージは当該データベースの読み取り専用バージョンであり、当該子イメージは当該親イメージから修正されたあらゆるブロックを含むことができる。差分機構を用いることにより、復旧されたデータベースの読み取り専用インスタンスは親イメージとして用いられ、読み取り／書き込みデータセットは子イメージとなり得る。
【００２７】
復旧されたデータベースにアクセスをするアプリケーションの視点からすると、当該復旧されたデータベースは、読み取り／書き込みバージョンのデータベースとして認識することができる。しかしながら、アーカイブ及びバックアップされたデータベースのインスタンスは、読み取り専用バージョンのデータベースのままであり得る。
【００２８】
差分機構を実装するために、幾つかの異なる差分機構を使用することができる。一実施形態では、Virtual Hard Disk(VHD)を差分VHDとして構成することができる。差分VHDは子VHD及び親VHDとの間での変更又は差異を保持することができる。このような実施形態では、復旧された読み取り専用データベースが親VHDに格納され、復旧されたデータベースの読み取り／書き込みバージョンを、アプリケーションに提供するために差分VHDを用いることができる。
【００２９】
もう一つの実施形態では、書き込みコマンドをキャプチャ(capture)するため及び上書きされたデータへの読み取りコマンドに応答するために、差分ドライバが読み取り／書き込みファイルを用いることができる。当該差分ドライバは、復旧されたデータベースの読み取り専用コピーにのみアクセスし、読み取りコマンドに応答することができる。
【００３０】
更に別の実施形態では、差分機構はファイルシステムレベルの機能を用いて実装することができる。例えば、Network File System(NFS)、Server Message Block(SMB)又はCommon Internet File System(CIFS)は差分機構を内包することができる。このような差分機構は、親イメージへの変更をキャプチャ(capture)し、そしてファイルやファイルシステムに変更情報を格納する。
【００３１】
幾つかのアプリケーションはローカルデータベースのみにアクセスするように構成することができ、ネットワークを経由したデータベースへのアクセスが行われる時に、幾つかのアプリケーションは適切に機能することができない。そのような実施形態では、復旧されたバックアップインスタンスは、ネットワーク経由でInternet Small Computer System Interface(iSCSI)を用いることでアクセス可能にすることができる。iSCSIターゲットはストレージ装置を内包するコンピュータシステムであり、iSCSIイニシエータは、ネットワークを経由してiSCSIターゲットが内包するストレージ装置にアクセスすることができる。iSCSIプロトコルは、iSCSIターゲットがiSCSIイニシエータに接続されたローカルの装置と同じ装置として認識されるように、動作を行うことができる。
【００３２】
iSCSIイニシエータ／ターゲットプロトコルを使用すると、復旧されたデータベースが、たとえ同一LAN(Local Area Network)上の別の機器に位置していたとしても、さもなくばインターネットのように、WAN(Wide Area Netrork)を経由してアクセスされたとしても、あたかもローカルに接続されたデータベースのように認識される。
【００３３】
実施形態に係る１００は、アプリケーションによって使用される、復旧されたバックアップインスタンスを準備し提供することができる装置１０２を図示する。装置１０２はバックアップシステムを動作することができ、そして、読み取り／書き込み可能な状態でバックアップデータベースの復旧されたインスタンスを他の装置に提供することもできる。
【００３４】
図１に図示された通り、装置１０２はデータベースのバックアップサービス及びリストアサービスの両方を提供することができる。他の実施形態では、装置１０２はリストアサービスを促進することができ、他の装置がバックアップサービスを提供することができる。
【００３５】
装置１０２は、ハードウェアプラットフォーム１０４及び様々なソフトウェアコンポーネント１０６を有する。他の実施形態では異なる構成、異なるアーキテクチャ又は異なるコンポーネントを有し得るが、図１に示された装置１０２は、従来技術のコンピュータ装置として表されている。
【００３６】
装置１０２はサーバコンピュータ、デスクトップコンピュータ又はこれらに相当する装置とすることが可能である。ある実施形態では、装置１０２はラップトップコンピュータ、ネットブックコンピュータ、タブレット又はスレートコンピュータであり、ワイヤレスハンドセット、携帯電話又はコンピュータ機器のその他いかなる形式をもとることができる。
【００３７】
ハードウェアプラットフォーム１０４は、プロセッサ１０８、ランダムアクセスメモリ１１０及び不揮発性のストレージ装置１１２を含むことができる。また、ハードウェアプラットフォーム１０４は、ネットワークインターフェース１１４及びユーザインターフェース１１６を含むことができる。
【００３８】
ソフトウェアコンポーネント１０６は、様々なアプリケーションが稼働することができるオペレーティングシステム１１６を含むことができる。
アプリケーションに関連したデータベースのバックアップコピーを作成し、そして当該バックアップコピーをバックアップデータベース１２０に格納することができる。多くの実施形態では、バックアップシステム１１８は、夜間毎、週毎又はその他の期間毎に定期的にバックアップ動作を行うことができる。バックアップシステム１１８はフルバックアップを実行し、アプリケーションのデータベース全体をバックアップデータベース１２０へコピーすることができる。ある場合では、バックアップシステム１１８は増分バックアップを実行することができる。増分バックアップでは、データベースの更新があった部分ついては格納することができ、データベースの更新されなかった部分については格納することができない。
【００３９】
バックアップシステム１１８は、アプリケーションに関連したデータベースに関する情報がまったく無くてもバックアップ動作を行うことができる。このようなバックアップシステムは、データファイルを構文解析する機能や解釈する機能を有することなく、当該データファイルのセットに基づいてバックアップ動作を実行することができる。このようなバックアップシステムは、実行可能ファイル及びデータファイルを含む、システム上のあらゆる形式のファイルをバックアップするために用いることができ、汎用バックアップシステムとなり得る。
【００４０】
ある実施形態では、バックアップシステム１１８は特定のファイル又は特定のデータベース上でバックアップを実行することに特化することができる。このような実施形態では、当該バックアップシステムは、データベースをバックアップする一部として、データベースの構文を解析することができ、また当該データベースで制限された動作を実行することができる。これらの実施形態では、様々な設定でのデータベースインスタンスを再作成することや、データベースのサブセットを再作成することができる。
【００４１】
要求を受信した場合、バックアップシステム１１８はバックアップインスタンス１２４を作成することができる。そして、バックアップインスタンス１２４は、特定の期間における全て又は一部のバックアップを表すことができる。典型的な実施形態では、バックアップデータベース１２０は、複数の異なるバックアップ動作からのバックアップデータを保持することができる。
【００４２】
リストアアプリケーション１２２は、アクセスすべき特定のバックアップインスタンスを選択するために、ユーザによって使用することができる。そして、バックアップシステム１１８は、バックアップインスタンスを作成することができる。増分バックアップを使用する実施形態では、バックアップシステム１１８は、バックアップの全てのインスタンスを作成するために様々な動作を実行することができる。
【００４３】
そして、リストアアプリケーション１２２は、バックアップインスタンス１２４の読み取り／書き込みバージョンを作成するために、読み取り／書き込み可能なローカルストレージ１２８を使用する差分機構１２６を構成することができる。当該差分機構は、バックアップインスタンス１２４を読み取り専用インスタンスに保つ一方で、バックアップインスタンス１２４の読み取り／書き込みバージョンをアプリケーションに提供することができる。
【００４４】
ある実施形態では、バックアップインスタンス１２４はアプリケーションに対してローカルに接続されたストレージ装置として提供され得る。そのように実装する機構としては、装置１０２上のiSCSIターゲット１３０を用いることができる。Internet Small Computer System Interface(iSCSI)は、インターネットプロトコル(IP)を基礎とした、データストレージ装置を接続するための、ストレージネットワークの標準技術である。当該iSCSIプロトコルにより、イニシエータと呼ばれるクライアントは、ターゲットと呼ばれるストレージ装置に対して、ネットワークを経由してSCSIコマンドを送信することができる。ある実施形態では、ネットワーク接続はLAN(Local Area Network)となり得る一方で、その他の場合では、ネットワーク接続はインターネットのようなWAN(Wide Area Netork)となり得る。
【００４５】
iSCSIターゲット１３０は、リモートアプリケーションに対してストレージ装置を提供するために用いることができる。iSCSIターゲット１３０により、リモートの装置は、あたかもストレージ装置がローカルのストレージ装置であるかのように、SCSIコマンドを用いてストレージ装置との相互作用ができるようになる。アプリケーション装置上では、iSCSIイニシエータをiSCSIターゲット１３０に対してコマンドを送るために用いることができる。
【００４６】
典型的なユースシナリオでは、当該装置は、差分機構１２６によって提供されるようにバックアップインスタンス１２４を保持するパーティション、Virtual Hard Disk(VHD)、論理ボリューム又はその他ストレージボリュームを作成することができる。iSCSIターゲット１３０は、アプリケーションに対してボリュームを提供するために構成され得る。その他のユースシナリオでは、ボリュームの一部をバックアップインスタンス１２４及び差分機構１２６のために確保することができる。例えば、共有されたディレクトリ構造の内部にあるディレクトリは、バックアップインスタンス１２４及び差分機構１２６が共有する場所に作成される。
【００４７】
もう一つの実施形態では、Common Internet File System(CIFS)又は関連する類型のファイルシステムは、他の装置上のアプリケーションに対して、差分機構１２６及びバックアップインスタンス１２４を提供するために用いることができる。CIFSはServer Messaging Block(SMB)の派生技術であり、Samba、NetBIOS、及びその他関連する通信システムを含む、その他様々なファイルシステムと関連している。本明細書及び特許請求の範囲の目的のため、「CIFS」という用語は、CIFSから派生した関連するあらゆるファイルシステムや、CIFSと類似する形態で作動するあらゆるファイルシステムを含むこととする。
【００４８】
CIFSコンポーネント１３２は、リモートでのアプリケーションがネットワークを経由して差分機構１２６及びバックアップインスタンス１２４にアクセス可能となるように用いることができる。
【００４９】
装置１０２は、ローカルエリアネットワーク１３４を通じて他の装置と接続することができる。このような装置はアプリケーションを実行することができる装置１３６である。
【００５０】
当該装置１３６はハードウェアプラットフォーム１３８を有し得るが、これはハードウェアプラットフォーム１０４と同一か又は類似のものである。オペレーティングシステム１４０はハードウェアプラットフォーム１０４上で実行することができ、アプリケーション１４２はオペレーティングシステム１４０上で実行することができる。
【００５１】
アプリケーション１４２は、アプリケーション１４２の通常動作の一部として、ローカルデータベース１４４にアクセスすることができる。ローカルデータベース１４４は、ファイルシステム内のファイルセット、リレーショナルデータベース、又はその他のデータストレージのように、データストレージのあらゆる類型が該当し得る。
【００５２】
アプリケーション１４２は、復旧動作を実行するためにバックアップインスタンス１４６にアクセスすることができる。多くの場合では、ユーザは、データベースから削除されたファイルやレコードのような削除されたオブジェクトを取り出すために、前回作成したバックアップにアクセスしたいと思うかも知れない。
【００５３】
バックアップインスタンス１４６はローカルでアクセスすることができる。ある実施形態では、バックアップインスタンス１４６は装置１３６へコピーされ得る。別の実施形態では、バックアップインスタンス１４６はネットワークを経由しても利用することができ、バックアップインスタンス１４６にアクセスをするためにiSCSI又はその他の技術を用いることができる。
【００５４】
ある実施形態では、リストアアプリケーション１４８は装置１３６上に常駐することができる。このような実施形態では、リストアアプリケーション１４８は、装置１０２、バックアップシステム１５６又はバックアップシステム１７６のように他の装置上に常駐するバックアップアプリケーションと相互作用を行うことができる。このような実施形態では、リストアアプリケーション１４８は、バックアップインスタンスを取り戻すために他の装置上のバックアップアプリケーションと相互に通信を行うことができる。そして、リストアアプリケーション１４８は、アプリケーション１４２が当該バックアップインスタンスにアクセスできるように当該バックアップインスタンスを構成することができる。このような構成には、差分機構を設定すること及びネットワークを経由してバックアップインスタンスを利用可能に構成することも含み得る。
【００５５】
ローカルのリストアアプリケーション１４８は、装置１３６上で差分機構１５０を構成する。差分機構１５０は装置１３６上に常駐する。
【００５６】
このような実施形態では、差分機構１５０は、リモート又はローカルに存在し、読み取り専用バージョンのバックアップインスタンスにアクセスすることができる。ローカルのバックアップインスタンスの一例では、差分機構１５０はバックアップインスタンス１４６にアクセスすることができる。リモートのバックアップインスタンスの一例では、差分機構１５０はバックアップインスタンス１２４にアクセスすることができる。
【００５７】
差分機構１５０がアプリケーション１４２と同一装置で動作している時、差分機構１５０はまた、装置１３６でアクセス可能である、読み取り／書き込み可能なストレージ装置にもアクセスをすることができる。ある場合では、ローカルの差分機構１５０は、異なる装置上に存在する読み取り／書き込み可能なストレージにアクセスをすることができる。
【００５８】
バックアップインスタンスを提供するために用いられるiSCSI又は類似の技術に係る実施形態では、iSCSIイニシエータ１５２は、装置１０２上のiSCSIターゲット１３０のようにiSCSIターゲットに対してコマンドを送るために用いることができる。このような技術は、差分機構１２６又は読み取り／書き込みローカルストレージ１２８はもちろん、バックアップインスタンス１２４のような読み取り専用バックアップインスタンスにアクセスをするために用いることができる。
【００５９】
クライアント装置１５４は、リストアアプリケーション１２２又はリストアアプリケーション１４８のようなリストアアプリケーションはもちろん、アプリケーション１４２へのアクセス及び制御を行うために用いることができる。クライアント装置１５４は、プロセッサ及びハードウェアプラットフォームを搭載したコンピュータシステムであり得る。ある実施形態では、ブラウザやその他アプリケーションは、リストアアプリケーションと同様にアプリケーション１４２へアクセスするために用いることができる。ユーザ又はシステム管理者は、バックアップインスタンスの選択、バックアップインスタンスの作成、そしてアプリケーション１４２によってバックアップインスタンスを読み取り／書き込み可能とするかを構成する、リストアアプリケーションのアクセス権限を有し得る。
【００６０】
バックアップシステム１５６はローカルエリアネットワーク１３４を通してアクセスをすることができる。バックアップシステム１５６は、ローカルデータベース１４４のバックアップコピーを作成することができ、そしてリストアアプリケーション及び差分機構によってアクセスすることができるバックアップインスタンスを作成することができる。
【００６１】
バックアップシステム１５６はハードウェアプラットフォーム１５８を有し得る。当該ハードウェアプラットフォーム１５８は、プロセッサを含むハードウェアプラットフォーム１０４のものと同様のコンポーネントを含むことができる。オペレーティングシステム１６０は、ハードウェアプラットフォーム上で実行し、バックアップアプリケーション１６２を含む、様々なアプリケーションへのサポートを提供することができる。
【００６２】
バックアップシステム１５６と同様に、リモートバックアップシステム１７６は、ローカルエリアネットワーク１３４、ゲートウェイ１７２及びワイドエリアネットワーク１７４を通してアクセスが可能なように図示されている。ワイドエリアネットワーク１７４はインターネットを含めることができ、バックアップシステム１５６は、クラウドコンピューティング技術に基づいたものであるか、またはその他遠隔バックアップシステムであることを示すことができる。
【００６３】
バックアップシステム１５６及びバックアップシステム１７６は、バックアップシステムのための２つのアーキテクチャを示すことができる。バックアップシステム１５６は、ローカルエリアネットワーク１３４内において動作し、多くの異なるアプリケーション及び装置に対してバックアップサービスを提供することができる、ローカルのバックアップシステムとなり得る。多くの汎用バックアップシステムは、様々なストレージ装置のファイルシステム全体又はコンテンツ全体のバックアップを行うことができる。ある場合において、このようなバックアップシステムは特定の形式のファイルで又はその他ファイルシステムのサブセットでバックアップを行うことができる。一般的に、このような汎用バックアップシステムは、ファイルの中身を考慮することなくバックアップを行い、そしてビット毎のバックアップ技法を用いながらファイルのバックアップを行うことができる。
【００６４】
ある実施形態では、バックアップシステム１５６及びバックアップシステム１７６は、異なるアプリケーション毎に特化されたバックアップ動作を提供する。例えば、メッセージング管理システム又は電子メール管理システムは、バックアップシステムと相互に作用し、管理情報又は構成情報とは別にメッセージのバックアップを行うことができる。もう一つの例では、ファイルを共有するアプリケーションは、他のファイルとは異なる態様で特定のファイルをバックアップすることができる、バックアップシステムを有し得る。このような実施形態では、バックアップシステムは、データを適切に取り扱うために格納されたデータを構文解析する機能を有し得る。
【００６５】
バックアップシステム１７６はハードウェアプラットフォーム１７８を有し得る。ある実施形態では、ハードウェアプラットフォーム１７８は、ハードウェアプラットフォーム１０４と同じであり得る。その他の実施形態では、ハードウェアプラットフォーム１７８はクラウドコンピューティングプラットフォームや、ハードウェアプラットフォームの他の類型にもなり得る。
【００６６】
バックアップシステム１５６及びバックアップシステム１７６は、バックアップアプリケーション１６２及びバックアップアプリケーション１８２をそれぞれ有する。
そして、バックアップデータベース１６４及びバックアップデータベース１８４をそれぞれ維持することができる。ある実施形態では、様々なバックアップシステム１５６及びバックアップシステム１７６は、リストアアプリケーション１６６及びリストアアプリケーション１８６を有し、バックアップインスタンス１６８及びバックアップインスタンス１８８をそれぞれ作成することができる。そして、ある場合では、バックアップシステム１５６及びバックアップシステム１７６は、差分機構１９０のような差分機構を持つことができる。
【００６７】
多くの場合では、バックアップシステム１５６及びバックアップシステム１７６はiSCSIターゲット１７０及びiSCSIターゲット１９２を有し、読み取り専用の状態でバックアップインスタンスにアクセス可能とすることができる。そして、バックアップシステム１５６及びバックアップシステム１７６は、差分機構が使用される時に読み取り／書き込み可能な状態でバックアップインスタンスにアクセス可能とすることができる。
【００６８】
図２は、実施形態２００の状態遷移図であり、バックアップインスタンスへのアクセス方法を示したものである。実施形態２００の処理は、アプリケーション２０２、バックアップアプリケーション２０４、リストアアプリケーション２０６及びバックアップシステム２０８が、バックアップシステムから情報をリストアするために、どのように相互作用を行うことができるかを示す簡素化された例である。
【００６９】
他の実施形態では、異なるシーケンス、追加的又はより少ないステップそして異なる専門技術や用法を用いて同様の機能を実現することができる。ある実施形態では、様々な動作又は動作セットは、その他の動作と並行して、同期状態でも非同期状態でも実行することができる。図２の処理ステップは、簡素化された形態で動作の原理を図示するために選択された。
【００７０】
実施形態２００では、異なるアプリケーション同士又は異なるサービス同士が、バックアップイメージを作成するために相互作用を行い、そして情報を復旧するためにバックアップイメージを用いることを図示する。ある実施形態では、アプリケーション２０２、バックアップアプリケーション２０４、リストアアプリケーション２０６、そしてバックアップシステム２０８はそれぞれ別の装置に常駐し得る。他の実施形態では、アプリケーション２０２、バックアップアプリケーション２０４、リストアアプリケーション２０６、そしてバックアップシステム２０８のうち二以上は同じ装置に常駐し得る。
【００７１】
アプリケーション２０２は、データを使用するあらゆるアプリケーションであり得る。
アプリケーション２０２はデータベース、ファイル、又はその他データストレージ機構にデータを格納することができる。実施形態２００の一例の目的のため、アプリケーション２０２はデータベースにデータを格納することができる。ブロック２１０で、アプリケーション２０２は通常通りに動作を行うことが出来、データベースにデータを格納することができる。
【００７２】
バックアップアプリケーション２０４は、バックアップ動作を実行するアプリケーションとなり得る。ブロック２１２で、バックアップアプリケーション２０４は、バックアップ動作をスケジュールすることができ、データベースのバックアップを作成することができる。そして、ブロック２１４で、バックアップをバックアップシステム２０８へ送信することができる。ブロック２１２でのバックアップ動作は、増分バックアップでもフルバックアップでもよく、実施形態で特定される方法に依存する。
【００７３】
バックアップシステム２０８は、バックアップを維持し、データベースからバックアップインスタンスを取り出すことができるサービスであり得る。ブロック２１６で、バックアップシステム２０８はバックアップを受信し、そしてブロック２１８で、バックアップデータベースにバックアップを格納する（ステップ２１８）。
【００７４】
ブロック２１０からブロック２１８までの動作は定期的に実行され得る。例えば、ある実施形態では、アプリケーション２０２についての要求が少ない時夜毎に、バックアップ動作が実行され得る。ブロック２１０の通常動作及びブロック２１０からブロック２１８までの繰り返して行われるバックアップは、リストアアプリケーション２０６がブロック２２０でバックアップインスタンスの要求を受信できるまで継続することができる。
【００７５】
リストアアプリケーション２０６は、データベースインスタンスの復旧及びアプリケーション２０２へ復旧されたデータの提供について管理することができる。
【００７６】
ブロック２２２で、リストアアプリケーション２０６は、バックアップシステム２０８からのインスタンスを要求することができる。ブロック２２４で、バックアップシステム２０８は要求を受信し、ブロック２２６で、インスタンスを構築することができる。
【００７７】
バックアップインスタンスは、個別のバックアップ動作によって作成された特定のインスタンスとなり得る。例えば、月曜日夜についてのバックアップインスタンスを選択できる。バックアップシステム２０８はバックアップデータベースからインスタンスを構築することができる。ある場合では、バックアップシステム２０８は、フルバックアップ及び増分バックアップからインスタンスを作成することができる。
【００７８】
ブロック２２６で、一旦インスタンスが作成されると、ブロック２２８で、バックアップシステム２０８はインスタンスを読み取り専用として利用可能とする（ブロック２２８）。
【００７９】
多くの実施形態では、バックアップシステム２０８はアプリケーション２０２とは異なるシステム上に存在し得る。このような実施形態では、ブロック２０８で提供されたバックアップインスタンスは、バックアップシステム２０８に格納され、ネットワーク接続を経由してアクセスされ得る。
【００８０】
バックアップインスタンスが非常に大きな容量となり得る場合では、例えば数ギガバイト又は数テラバイトの容量になり得る復旧されたデータベースの場合では、復旧されたデータベースをアプリケーション２０２と同じ装置に移すには多くのコストがかかり得る。コストは、時間やネットワーク帯域、演算処理能力やその他のコストが該当し得る。コストを最低限に抑える一方でリストア動作を行うためには、バックアップシステム２０８はiSCSI又は他の技術を使用することができる。これにより、ネットワーク接続を経由してデータベース全体を送信することなく、復旧されたデータベースにアクセスすることができる。
【００８１】
一旦バックアップインスタンスが利用可能になると、ブロック２３０で、バックアップシステム２０８はリストアアプリケーション２０６へ通知を行うことができる。ブロック２３２で、リストアアプリケーション２０６は通知を受信することができ、そしてアプリケーション２０２が使用するための、復旧されたバックアップインスタンスの準備を開始する。
【００８２】
ブロック２３４で、リストアアプリケーション２０６は差分機構を構成することができる。差分機構の構成には、親オブジェクト及び子オブジェクトを確立することを含み、親オブジェクトをバックアップインスタンスとし、子オブジェクトを読み取り／書き込みファイルとすることを含み得る。ブロック２３６で、差分機構は動作を開始することができる。
【００８３】
ブロック２３８で、リストアアプリケーション２０６は、バックアップインスタンスを利用可能にすることができる。ある実施形態では、ブロック２３８の動作でiSCSI又はその他ファイル共有機構を用いて、アクセス可能とするためのボリューム領域を構成することができる。ある実施形態では、ファイル共有機構は、差分機構とバックアップインスタンスをローカルストレージ機構として提供することができる。
【００８４】
一旦バックアップインスタンスが利用可能となると、ブロック２４０で、リストアアプリケーション２０６はアプリケーションに対して通知を行うことができる。ブロック２４２で、アプリケーション２０２は通知を受信することができる。そして、ブロック２４４で、バックアップインスタンスのマウントを行い、ブロック２４６で、バックアップインスタンスへのアクセスを行う。
【００８５】
ある実施形態では、ブロック２４０で、リストアアプリケーション２０６はアプリケーション２０２に対して、復旧されたバックアップインスタンスへのアクセス用のリンク又はアドレスを含む、メッセージを送信することができる。そして、当該メッセージは、一つ以上のコマンド、スクリプト又はその他の情報を含むことができる。当該メッセージによって、アプリケーション２０２がバックアップインスタンスに接続及びマウントすることができるようになる。
【００８６】
発明の範囲についての先の記述は、図示及び詳細な説明の目的のためになされたものである。発明の詳細な説明は網羅的であること又は発明の範囲を開示された厳密な形態に限定することを意図したものではない。そして、その他の修正や関連する形態も上述の教示に照らし取り得るものである。本実施形態が選択され説明されたが、これは発明の原理を最も良く説明するためのものであり、実施形態の実際上の適用によって、当業者が様々な実施形態や様々な修正形態で 考えられる特定の用途に適する通りに発明を利用することが可能となる。添付された特許請求の範囲が従来技術によって限定される範囲を除いて、その他代替される実施形態を含むと解釈されることを意図している。
【図１】
0005868986.tif 000002
【図２】
0005868986.tif 000003