(57)【要約】  計算処理されたデータを検証および復元するためのバックアップ・アプライアンスは、コンピュータ・ネットワークに取り付けられたコンピュータと、計算処理されたデータを格納する第１ストレージ媒体と、第２ストレージ媒体とを含む。第２ストレージ媒体は、ストレージ・ビンにパーティション分割されている。ストレージ・ビンは、それぞれ、コンピュータに操作可能に取り付け（マウント）られるか、またはコンピュータから操作可能に取り外さ（アンマウント）れる。コンピュータのプロセッサは、ストレージ・ビンのひとつに計算処理されたデータのコピーを格納すると、読み取り動作のためだけにストレージ・ビンを操作可能に取り付け、またはマウントして、コピーのパラメータ（例えば、チェックサム）の格納値を維持する。プロセッサは、格納値と、コンピュータ・データのパラメータの対応する値とを周期的に比較する。格納値と対応する値との間の不一致を検出したとき、不一致が計算処理されたデータから生じた場合には、コピーから該計算処理されたデータを復元し、また不一致がコピーから生じた場合には、（ｉ）計算処理されたデータから該コピーを復元するか、（ｉｉ）他のストレージ・ビン内に計算処理されたデータの他のコピーを復元する。ストレージ・ビンは、コピーの更新のため書き込み動作するために、操作可能に取り付け（マウント）られる。ロギングメカニズムは、書き込み動作のためにストレージ・ビンに操作可能に取り付ける（マウンティング）段階すべてを、検査用途のために文書化する。
2009526286.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・ネットワークに接続され、コンピュータを含むバックアップ・アプライアンス内に格納される計算処理されたデータを検証および復元するためのコンピュータ化された方法であって、前記バックアップ・アプライアンスが、該コンピュータに対して操作可能に接続され、該計算処理されたデータを格納する第１ストレージ媒体を含み、前記方法が、
（ａ）第２ストレージ媒体を複数のストレージ・ビンにパーティション分割するステップであって、それぞれの前記ストレージ・ビンは、前記コンピュータに操作可能に取り付けられるか、または前記コンピュータから操作可能に取り外されるかを選択して実行されるものである、当該ステップと、
（ｂ）少なくとも１つの前記ストレージ・ビンに前記計算処理されたデータのコピーを格納すると、読み取り動作のためだけに前記少なくとも１つのストレージ・ビンを操作可能に取り付けて、前記コピーの少なくとも１つのパラメータの格納値を維持するステップと、
（ｃ）前記格納値と、前記計算処理されたデータへの前記少なくとも１つのパラメータの対応する値とを周期的に比較するステップと、
（ｄ）前記格納値と前記対応する値との間の不一致を検出した場合であって、前記不一致が、前記計算処理されたデータから生じた場合に前記コピーから該計算処理されたデータを復元し、また前記不一致が前記コピーから生じた場合に、（ｉ）前記計算処理されたデータから該コピーを復元するか、（ｉｉ）他の少なくとも１つのストレージ・ビン内に前記計算処理されたデータの他のコピーを復元するかを選択して実行するステップを含む、方法。
【請求項２】
（ｅ）前記コピーの更新のためだけに書き込み動作をするために、前記少なくとも１つのストレージ・ビンを操作可能に取り付けるステップをさらに含む、請求項１に記載の方法。
【請求項３】
（ｆ）前記（ｅ）操作可能に取り付けるステップの段階すべてを、検査用途のために文書化するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記格納の前に、
（ｅ）書き込み動作のために前記少なくとも１つのストレージ・ビンを操作可能に取り付けるステップと、
（ｆ）前記計算処理されたデータの最新のコピーを前記少なくとも１つのストレージ・ビンに書き込むことによって前記計算処理されたデータをバックアップするステップと、
（ｇ）前記バックアップするステップが完了した場合に、読み取り動作のためだけに、前記少なくとも１つのストレージ・ビンを操作可能に取り付けるステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
（ｈ）前記第２ストレージ媒体へのすべての書き込み動作を打刻とともにロギングするステップをさらに含む、請求項１に記載の方法。
【請求項６】
（ｈ）前記第２ストレージ媒体からのすべての読み取り動作を打刻とともにロギングするステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記（ｉｉ）他のコピーを復元することは、前記少なくとも１つのストレージ・ビンへの書き込み中に故障が検出された際に実行される、請求項１に記載の方法。
【請求項８】
（ｅ）前記第２ストレージ媒体を保護して、これによって、コンピュータ上で実行されるオペレーティング・システム、ファイルシステム・マネージャ、およびボリューム・マネージャのいずれかを用いた前記第２ストレージ・メカニズムへのアクセスを止めるステップをさらに含む、請求項１に記載の方法。
【請求項９】
（ｆ）前記第２ストレージ媒体へのすべての読み取りおよび書き込み動作を制御するソフトウェア・ドライバを用い単一の入出力インタフェースを経由してのみ前記第２ストレージ媒体へアクセスすることによって、前記保護を行うステップをさらに含む、請求項８に記載の方法。
【請求項１０】
（ｆ）前記第２ストレージ媒体上にプライベート署名を配置することによって前記保護を行い、これによって、オペレーティング・システム、ファイルシステム・マネージャおよびボリューム・マネージャから前記第２ストレージ媒体の内容を隠蔽するステップをさらに含む、請求項８に記載の方法。
【請求項１１】
前記少なくとも１つのパラメータの前記格納値および前記対応する値は、それぞれすべての前記コピーおよび前記計算処理されたデータのファイルのチェックサムを含む、請求項１に記載の方法。
【請求項１２】
コンピュータと、第１ストレージと、ストレージ・ビンにパーティション分割された第２ストレージとを含み、請求項１に記載の方法のステップを実行する、バックアップ・アプライアンス。
【請求項１３】
コンピュータ・ネットワークに接続されたコンピュータを含むバックアップ・アプライアンスであって、前記バックアップ・アプライアンスは、前記コンピュータに操作可能に接続し、計算処理されたデータを格納する第１ストレージ媒体を含み、前記バックアップ・アプライアンスは、
（ａ）複数のストレージ・ビンにパーティション分割された第２ストレージ媒体であって、それぞれの前記ストレージ・ビンは、前記コンピュータに操作可能に取り付けられるか、または前記コンピュータから操作可能に取り外されるかを選択して実行されるものである、当該第２ストレージ媒体と、
（ｂ）少なくとも１つの前記ストレージ・ビンに前記計算処理されたデータのコピーを格納すると、読み取り動作のためだけに前記少なくとも１つのストレージ・ビンを操作可能に取り付けて、前記コピーの少なくとも１つのパラメータの格納値を維持する前記コンピュータのプロセッサであって、該プロセッサは、前記格納値と、前記計算処理されたデータへの前記少なくとも１つのパラメータの対応する値とを周期的に比較し、前記格納値と前記対応する値との間の不一致を検出した場合であって、前記不一致が前記計算処理されたデータから生じた場合に前記コピーから該計算処理されたデータを復元し、また前記不一致が前記コピーから生じた場合に、（ｉ）前記計算処理されたデータから該コピーを復元するか、（ｉｉ）他の少なくとも１つのストレージ・ビン内に前記計算処理されたデータの他のコピーを復元するかを選択して実行する、バックアップ・アプライアンス。
【請求項１４】
前記少なくとも１つのパラメータの前記格納値および前記対応する値は、それぞれすべての前記コピーおよび前記計算処理されたデータのファイルのチェックサムを含む、請求項１３に記載のバックアップ・アプライアンス。
【請求項１５】
（ｃ）前記コピーの更新のためだけに書き込み動作をするために、前記少なくとも１つのストレージ・ビンを操作可能に取り付けるメカニズムをさらに含む、請求項１３に記載のバックアップ・アプライアンス。
【請求項１６】
（ｃ）書き込み動作のために前記少なくとも１つのストレージ・ビンに操作可能に取り付ける段階すべてを、検査用途のために文書化するロギングメカニズムをさらに含む、請求項１３に記載のバックアップ・アプライアンス。
【請求項１７】
（ｃ）前記第２ストレージ媒体を保護して、これによって、コンピュータ上で実行されるオペレーティング・システム、ファイルシステム・マネージャ、およびボリューム・マネージャのいずれかを用いた前記第２ストレージ・メカニズムへのアクセスを止める保護メカニズムをさらに含む、請求項１３に記載のバックアップ・アプライアンス。
【請求項１８】
前記保護メカニズムは、単一の入出力インタフェースを経由する前記第２ストレージ媒体へのすべての読み取りおよび書き込み動作を制御するソフトウェア・ドライバを含む、請求項１７に記載のバックアップ・アプライアンス。
【請求項１９】
前記保護メカニズムは、前記第２ストレージ媒体上にプライベート署名を配置し、これによって、前記コンピュータ上で動作するオペレーティング・システム、ファイルシステム・マネージャおよびボリューム・マネージャから前記第２ストレージ媒体の内容を隠蔽する、請求項１７に記載のバックアップ・アプライアンス。
【請求項２０】
機械により読み取り可能なプログラム・ストレージ・デバイスであって、請求項１に記載のコンピュータにより実行可能な命令のプログラムを実体的に具現化して、計算処理されたデータの検証および復元のために、請求項１に記載の方法のステップを実行させる、プログラム・ストレージ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算処理されたデータのストレージに関する。特に、本発明は、検査用途および履歴データの情報検索のために、数年間にわたってデータの利用性を維持しつつ、計算処理されたデータの長期間にわたるバックアップおよびストレージを提供する。
【背景技術】
【０００２】
エンタープライズ・データ・ネットワークにおけるバックアップ作業は、しばしば時間を浪費し、高コストであり、かつ信頼性の低い業務である。平均的な企業で生成されるデータ量が増加しているので、バックアップに割ける時間が減少しており、バックアップはより頻繁に行われることになっている。効果的なデータ保護システムを構築するためには、テープ媒体のようなデータストレージ媒体の繰り返し発生するコストに加えて、サーバ、ネットワーク、テープ技術、熟練者への多大な投資を必要とする。テープによるバックアップおよび復元作業は、しばしば業務操作およびデータ利用性を妨害するので、資金的に高くつき、また生産性が低下する。テープ復元作業は、物理媒体の低い信頼性のために、しばしば失敗する。典型的には、自動的なチェック手続が無いので、復元が必要な場合、古いテープが紛失していたり、必要な関連データがすべて揃わなかったりするという数多くの事例がある。
【０００３】
同様に、データ復元作業にとってひとつの問題点は、復元作業が極めて低速で、労働集約型の作業であることである：大部分の復元作業が、典型的には単一ファイルまたはディレクトリといった少量のデータを対象としている。しかし、これらのデータを復元するには、適切なテープまたはテープ・セットを配置し、マウントする必要がある。また、データすべてのボリュームを復元するために充分なディスク・スペースがアロケートされている必要があり、すべてのボリュームが復元され、その後、所望のファイルまたはディレクトリが配置されなければならない。しばしば、全プロセスは、所望のファイルが突き止められるまで繰り返されなければならないであろう。加えて、障害または破壊されたボリュームを復元することは、ファイル・レベルのバックアップがシステム・ファイルを復元できないので、独自の専用のブロックレベルでのバックアップおよび復元プロセスを必要とする。
【０００４】
高速バックアップ・ストレージおよび高速データ復旧方法（ＦＢＳＲＤ）と表題された米国特許出願公開２００５／０２１６７８８号明細書は、すべての目的で、本明細書で全体を説明する場合と同様に、参照により本明細書に含まれるものである。ＦＢＳＲＤは、サーバおよびワークステーションとともにネットワークに結合し、ストレージ・モードおよび復元モードの両方で動作する。ＦＢＳＲＤは、第１ストレージ、レポジトリ、バックアップ・アプリケーションを実行するバックアップ・アライアンス（ＢＡ）コンピュータを含む。ストレージ・モードでは、データは、スナップショットが取られることにより、バックアップのために第１ストレージから取り出される。取り出されたデータは、ブロック・フォーマットでレポジトリに保存される。復元モードでは、バックアップデータがレポジトリから取り出されて、ブロック・フォーマットおよびファイル・フォーマットのいずれか一方により第１ストレージに復旧される。ＢＡは、サーバおよびワークステーションそれぞれで動作するエージェント・コンピュータ・プログラム、およびユーザにより操作されるバックアップ・ユーザ・インタフェース・管理コンピュータ・プログラムとともに、対話的に実行される。
【０００５】
規則遵守および法律上の強制により、信頼性が高く、かつアクセス可能に業務データを長期にストレージすることが余儀なくされている。
【０００６】
米国保健社会福祉省（ＨＨＳ）は、個人特定可能医療情報のプライバシー基準（プライバシー規則）を公布し、１９９６年医療保険の引継・説明責任に関する法律（ＨＩＰＡＡ）の要件を施行した。プライバシー規則の基準は、個人の医療情報の使用および開示、またどのように彼らの医療情報が使用されるかを理解し管理する個人のプライバシー権のための規範を取り扱う。プライバシー規則の主要な目的は、医療情報が必要な場所へ提供され、高品質なヘルス・ケアを促進しつつも、個人の医療情報が正当に保護されることを保障することであり、また公衆衛生および福祉を守ることである。
【０００７】
２００２年サーベンス・オクスリー法（Pub. L. No. 107-204, 116 Stat. 745，２００２年上場企業会計改革および投資家保護法（２００２年７月３０日）としても知られる）は、会計および会計報告実務における民衆の信頼の失墜を生じさせた幾つかの大企業会計スキャンダルに対応するために通過した米国連邦法であり、格納された業務記録の完全性、信頼性および情報検索に関する特別な要件を持っている。
【０００８】
１９３４年証券取引所法の米国証券取引委員会（ＳＥＣ）規則１７ａ−４（１７ａ−３と組合わせて）は、仲介業者−販売業者間で、各証券取引および彼らの証券ビジネス一般の包括的な記録を、容易に入手可能なように作成および保管することを要求する。これら保管された記録は、詐欺禁止規定および賠償資力基準を含む証券準拠法の遵守を監視するためにＳＥＣにより使用される。ＳＥＣ規則１７ａ−４の遵守を保障するためには、仲介業者−販売業者は、要求された保持期間の間、確かな記録を維持し保持しなればならず、上書き、消去または変更されることを防止して記録を蓄積しなければならず、各記録の監査証跡を示すための適当なシステムを有さなければならず、また記録が変更されていないことの証明書を提供しなければならない。
【０００９】
ＮＡＳＤ（全米証券業協会）は、米国における証券業界に関係する個人および法人の規制に責任を追い、米国証券取引委員会から委任された第１の自主規制機関である。ＮＡＳＤ３１１０は、すべての帳簿、計算書、記録、社内メモおよび通信文書をＳＥＣ規則１７ａ−４の指定と同一様式（つまり、再書き込み不可、消去不可、打刻して）にて保持すべきことを要求する。仲介業者と販売業者との取引に関するすべての電子メールおよびインタネット・コミュニケーションは、少なくとも３年、最初の２年は容易にアクセス可能な場所に保持しなければならない。
【００１０】
米国食品医薬品局（ＦＤＡ）により公布された連邦行政令第２１編（ＣＦＲ）第１１部は、電子記録・電子署名、および電子記録上で実施された手書き署名が、確実かつ信頼でき、紙の記録と紙上でなされた手書き署名と同等であると見なす基準を規定するものである。
【特許文献１】米国特許出願公開２００５／０２１６７８８号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
したがって、数年間の予め規定された期間の間、完全性および可用性を保証し、規則による要求事項に応じた、計算処理されたデータのバックアップおよびストレージを提供し、検査用途のために、データの直接的な可用性を維持しつつデータを保護することが求められ、またシステムを手に入れることは、非常に有利であろう。
【課題を解決するための手段】
【００１２】
定義
以下、本明細書で使用する用語を定義する：
オペレーティング・システム（ＯＳ）：入出力動作、メモリ・リソースおよびプログラム実行など、コンピュータ・リソースを制御するために用いられるソフトウェア・プログラム。
【００１３】
ファイルシステム・ボリューム：オペレーティング・システムが、ディレクトリやファイルなどのファイルシステム・データのトラックを保存および編成するために使用されるボリュームまたは固定容量のストレージ。
【００１４】
カーネル：カーネルは、大多数のコンピュータ・オペレーティングシステム（ＯＳｓ）の中核コンポーネントである。カーネルは、システム・リソースおよび、ハードウェアおよびソフトウェアのコンポーネント間の通信を管理する。カーネルは、オペレーティング・システムの基盤コンポーネントとして、アプリケーションが機能を実行するために制御しなければならないリソース（例えば、メモリ、プロセッサ、入出力デバイス）に対する最下位レベルの抽象化層を提供し、プロセス間通信メカニズムおよびシステムコールを介してアプリケーション・プロセスに対しリソースを利用可能とする。
（http://en.wikipedia.org/wiki/Kernel_%28computer_science%29）
【００１５】
ＳＣＳＩ（Small Computer System Interface）は、内部および外部の両コンピュータ・バス上のデバイス間のデータ転送用標準インタフェースおよびコマンド・セットである。ＳＣＳＩは、ハードディスクおよびテープストレージ・デバイスに最も一般に使用されるが、スキャナ、プリンタ、ＣＤ−ＲＯＭドライブ、ＣＤレコーダ、およびＤＶＤドライブなどを含む広範囲の他のデバイスを接続する。
【００１６】
チェックサムは、典型的にはアサートされたビットを合計して計算値を格納することによりデータ中のエラーを検出することで、データの完全性を保護するための誤り検出の一形態である。データ中のアサート・ビットを合計するという最も簡潔な形態のチェックサムは、多くのタイプを検知することができない。特に、このようなチェックサムは：メッセージ中のバイトの並び替え、ゼロ値のバイトの挿入および削除、ゼロに合計される複数のエラーにより変化しない。Ｆｌｅｔｃｈｅｒチェックサム、Ａｄｌｅｒ−３２、巡回冗長検査（ＣＲＣｓ）を含むより洗練されたタイプの誤り検出は、各バイトの値のみならずその位置をも考慮することによって、これらの弱点を扱うために設計されたものである。より多くのタイプのエラーを検出する能力に対するコストは、増大させられる誤り検出値の計算の複雑性である。これらのタイプの誤り検出は、格納データの破損や通信チャネルにおけるエラーのような偶発的な改変を検知する際に有用である。
（http://en.wikipedia.org/wiki/Checksum）
【００１７】
ライト・ワンス・リード・メニイ（write-once-read-many；ＷＯＲＭ）は、ただ一回だけディスクに情報を書き込むことを許可し、ドライブがデータを消去、そのほか改変することを防止するデータストレージ技術である。
【００１８】
コンピュータ：コンピュータ読み取り可能な媒体に記録されたコンピュータ・プログラムの命令を実行し、またコンピュータ・プログラムを格納するメモリを有し、典型的には通信リンクと結合する機械。
【００１９】
イーサネット（登録商標）などのローカル・エリア・ネットワーク（ＬＡＮ）は、物理的に近接（典型的には５００ｍ以下）して位置するコンピュータ間の通信に使用される。
【００２０】
ストレージ・エリア・ネットワーク（ＳＡＮ）：高速、かつ多数のコンピュータとストレージデバイスとの接続に用いられる専用ネットワーク。
【００２１】
ワークステーション：ＬＡＮに取付られているが、ＳＡＮには取付られていないコンピュータ。
【００２２】
サーバ：ＬＡＮおよびＳＡＮに取付られたコンピュータ。
【００２３】
データブロック：単一ユニットとしてアクセスされる多数の連続するセクタの固定サイズ・ユニット。ブロック・フォーマット中のデータは、少なくとも１つ連続するデータブロックとして編成され、データと共に保存される物理位置情報がタグ付けされている。ブロック構造は、高位レベル構造となるブロックの関連性を有さないという意味でフラットである。
【００２４】
第１ストレージ媒体：コンピュータにより利用されて不揮発性データを格納するストレージデバイス（通常、磁気ディスクなどのブロック・ストレージデバイス）。
【００２５】
第２ストレージ媒体：第１ストレージからバックアップされたデータを格納するためのストレージデバイスまたはレポジトリ。
【００２６】
用語「復元する（restore）」または「復元（restoration）」は、これまで説明したように、ネットワークに接続されたサーバおよび／またはワークステーションに取付けられたストレージ上のオリジナル・データ・ブロックを復元することを参照して使用される。以下、用語「復元する（restore）」および用語「復元（restoration）」は、第１のストレージおよび第２のストレージの間で復元されるデータについて参照するのであり、第１のストレージおよび第２のストレージは、ともに本発明のバックアップ・アプライアンスの一部を構成する。
【００２７】
用語「コンピュータ」は、以下では、特に断らない限り、サーバ・コンピュータまたはワークステーション・コンピュータではなく、本発明の実施形態のバックアップ、検証および復元プロセスを実行する機械を参照する。
【００２８】
本明細書でデータを参照して用いられる用語「パラメータ」は、誤り検出、またはデータの完全性を判定するためにデータから導出された他の値である。
【００２９】
用語「マウント（動詞として）」および「操作可能に取付ける」は、本明細書では、相互交換可能に用いる。
【００３０】
用語「アンマウント」および「操作可能に取り外す」は、本明細書では、相互交換可能に用いる。
【００３１】
本発明によれば、コンピュータ・ネットワークに接続されたバックアップ・アプライアンス内に格納される計算処理されたデータを検証および復元するためのコンピュータ化された方法が提供される。バックアップ・アプライアンスは、コンピュータ・ネットワークに接続されたコンピュータと、コンピュータに接続され計算処理されたデータを格納する第１ストレージ媒体とを含む。第２ストレージ媒体は、ストレージ・ビン（storage bin）にパーティション分割されている。各ストレージ・ビンは、コンピュータに操作可能に取り付け、つまりマウントされるか、またはコンピュータから操作可能に取り外され、すなわちアンマウントされる。計算処理されたデータのコピーが１以上のストレージ・ビンに格納された後、ストレージ・ビンは、読み取り動作のためだけに操作可能に取り付けられる。格納値は、例えばコピーのチェックサムといったパラメータについて維持される。格納値は、計算処理されたデータのパラメータの対応する値と周期的に比較される。格納値と対応する値との間に不一致が検出された場合であって、不一致が計算処理されたデータから生じた場合、コピーから計算処理されたデータが復元され、不一致がコピーから生じた場合には、（ｉ）コピーが計算処理されたデータから復元されるか、または（ｉｉ）計算処理されたデータの他のコピーが他のストレージ・ビン内に復元される。好適には、コピーの更新のためだけに書き込み動作するために、ストレージ・ビンが操作可能に取り付けられる。書き込み動作するために操作可能に取り付けるステップは、検査用途のためにログ記録または文書化される。バックアップは、好適には、書き込み動作のためにストレージ・ビンを操作可能に取り付けることにより実行される。計算処理されたデータは、計算処理されたデータの最新のコピーをストレージ・ビンに書き込むことによってバックアップされ；そして、バックアップが完了した場合、読み取り動作のためだけに、ストレージ・ビンが操作可能に取り付けられる。第２ストレージ媒体へのすべての書き込み動作、第２ストレージ媒体からのすべての読み取り動作は、好適には、打刻とともにロギングされる。ストレージ・ビンへの書き込み中に故障が検出された場合には、計算処理されたデータの他のコピーが、好適に他のストレージ・ビン内に復元される。
【００３２】
第２ストレージ媒体は、好適には保護されて、コンピュータ上で実行されるオペレーティング・システム、ファイルシステム・マネージャおよびボリューム・マネージャのいずれかを用いた直接的なアクセスが止められる。保護は、好適には、第２ストレージ媒体へのすべての読み取りおよび書き込み動作を制御するソフトウェア・ドライバ、例えば専用ブロックレベル・カーネルドライバを用い、単一の入出力インタフェースを経由してのみ第２ストレージ媒体へアクセスすることによって行われる。保護は、また、好適には、第２ストレージ媒体上にプライベート署名を置くことによって行われ、これによって、オペレーティング・システム、ファイルシステム・マネージャおよびボリューム・マネージャから、第２ストレージ媒体の内容が隠蔽される。パラメータの格納値および対応する値は、それぞれすべてのコピーおよび計算処理されたデータのファイルのチェックサムを含む。
【００３３】
本発明によれば、コンピュータと、第１ストレージと、ストレージ・ビンにパーティション分割された第２ストレージとを含み、本明細書に開示される方法を実行するバックアップ・アプライアンスが提供される。
【００３４】
本発明によれば、コンピュータ・ネットワークに接続されたコンピュータと、計算処理されたデータを格納する第１ストレージ媒体と、第２ストレージ媒体とを含む、計算処理されたデータを検証および復元するためのバックアップ・アプライアンスが提供される。第２ストレージ媒体は、複数のストレージ・ビンにパーティション分割されている。それぞれのストレージ・ビンは、コンピュータに操作可能に取り付けられる（マウントされる）か、またはコンピュータから操作可能に取り外される（アンマウントされる）かする。コンピュータのプロセッサは、ストレージ・ビンのひとつに計算処理されたデータのコピーを格納すると、読み取り動作のためだけにストレージ・ビンを操作可能に取り付け、またはマウントして、コピーのパラメータ（例えば、チェックサム）の格納値を維持する。プロセッサは、格納値と、計算処理されたデータのパラメータの対応する値とを周期的に比較する。格納値と対応する値との間の不一致を検出したとき、不一致が計算処理されたデータから生じた場合には、コピーから該計算処理されたデータを復元し、また不一致がコピーから生じた場合には、（ｉ）計算処理されたデータから該コピーを復元するか、（ｉｉ）他のストレージ・ビン内に計算処理されたデータの他のコピーを復元する。パラメータの格納値および対応する値は、それぞれすべてのコピーおよび計算処理されたデータのファイルのチェックサムまたは誤り検出値を含む。バックアップ・アプライアンスは、好適には、コピーの更新のためだけに書き込み動作するために、ストレージ・ビンを操作可能に取り付ける（マウントする）メカニズムと、書き込み動作のためにストレージ・ビンに操作可能に取り付ける段階すべてを、検査用途のために文書化するロギングメカニズムと、第２ストレージ媒体を保護して、これによって、コンピュータ上で実行されるオペレーティング・システム、ファイルシステム・マネージャおよびボリューム・マネージャのいずれかを用いた第２ストレージ・メカニズムへのアクセスを止める保護メカニズムとを含む。保護メカニズムは、好適には、単一の入出力インタフェースを経由する第２ストレージ媒体へのすべての読み取りおよび書き込み動作を制御するソフトウェア・ドライバを含む。保護メカニズムは、好適には、第２ストレージ媒体上にプライベート署名を置き、これによって、コンピュータ上で動作するオペレーティング・システム、ファイルシステム・マネージャおよびボリューム・マネージャから第２ストレージ媒体の内容を隠蔽する。
【００３５】
本発明によれば、機械により読み取り可能なプログラム・ストレージ・デバイスであって、機械により実行可能な命令のプログラムを実体的に具現化して、コンピュータに操作可能に接続する第１ストレージ媒体に格納された計算処理されたデータの検証および復元のために、本明細書に開示される方法を実行させる、プログラム・ストレージ・デバイスが提供される。
【発明を実施するための最良の形態】
【００３６】
以下、本発明を、単に例示を目的として、添付の図面を参照しながら、説明する。
【００３７】
本発明は、計算処理されたデータのバックアップおよびストレージを提供するためのシステムおよび方法の発明である。本発明は、数年に及ぶ予め規定された期間の間、完全性および可用性を保証し、かつデータの完全性、データのプライバシーおよびアカウンタビリティに対する規制機関の要件に従いながら、計算処理されたデータの簡単かつ高速なリカバリとともに、長期バックアップおよびストレージを提供する。特に、本発明の実施形態は、例えば２つのディスク（第１ディスクおよび第２ディスク）などのストレージ媒体のセットを含むストレージ・レポジトリを用いる。第１ディスクは、典型的には、慣例的なファイルシステムにより管理されている。第２ディスクは、第１ディスクのデータのコピーを、データ・コンポーネントを静的かつ保護された形態で格納し、規則に従ってオープンまた書き込まれる本発明のストレージ・ビンまたは小ディスク・パーティションに格納する。ストレージ・ビンは、ボリューム・マネージャおよび／またはファイルシステム・マネージャを用いる慣例的なやり方では、オペレーティング・システムとは相互作用しない。ストレージ・ビンは、例えばＳＣＳＩなどのストレージ媒体のハードウェア・インタフェースと物理レベルで相互作用する本発明のソフトウェア・ドライバを用いて、要求された場合のみアクセス可能である。セットとなる第１および第２ディスクは、異なるストレージデバイスに配置することができる。デバイスは、さらなる冗長性を可能とするために、分離された部屋に物理的に配置することができ、また異なる電源供給に接続することができる。
【００３８】
本発明の実施形態は、第１ディスク内およびストレージ・ビンにおける第２ディスク内に格納されたデータの自動検証および自己修復のプロセスを実行する。問題および／または破損は、典型的には、ディスク上に格納されたバックアップ・スナップショットにおいて検出され、典型的には、第２ディスク内のストレージ・ビンに格納されたファイルのすべてのコピー、および第１ディスク内に格納される同様のファイルを用いる、チェックサムを例とする誤り検出などのデータのパラメータを用いて行われる。もし、チェックサムがストレージ・ビン内の１以上のファイルが破損または改竄されていることを示す場合、ストレージ・ビンのファイルは、第１ディスク内の対応するファイルから復元されることができる。同様に、もし第１ディスク内の１以上のファイルが破損していた場合、ファイルは、ストレージ・ビン内のコピーから復元される。自動検証および自己修復プロセスは、好適には、コンピュータ・システムが相対的に不活発な状態にあるときに、バックグランドにおいて定期的に実施される。
【００３９】
本発明のいくつかの実施形態は、ディスク・データ・ライフ・マネジメント（Disk and Data Life Management；ＤＤＬＭ）を実行し、このＤＤＬＭは、ディスクの物理状態または”健康”、ライフ・スパン、または切迫したディスク障害さえも監視し、ディスクの物理状態に基づく自動データ・リロケーションの実行し、および／または前もって設定された現在の満了期間を無効にする。
【００４０】
本発明のいくつかの実施形態は、ファイルシステムの破損を検出し、問題が識別され解決されるまでの間、ストレージの活動を止める。
【００４１】
本発明の実施形態は、好適には、規制目的のために、また所有者の心の平穏のために、レポジトリ内のデータが正当であることを示す報告メカニズムを含む。
【００４２】
各レポジトリ・ディスクストレージは、満了期日を有し、満了が近づいた時またはストレージがまもなく障害に陥ることが示されたとき、データは、一方の物理ディスクから他方へ移動される。
【００４３】
本明細書は、スタンド・アローンのバックアップ・ストレージ・システムとしてローカル・エリアまたはエンタープライズ・ネットワークに直接的に接続されたバックアップ・ストレージ媒体に関して説明する。しかしながら、本発明の原理は、ストレージ・エリア・ネットワークまたはワイド・エリア・ネットワークに接続されたバックアップ・ストレージ・システムに用いるために適合させることができ、また効果的である。さらにストレージ・メカニズムとしては、従来技術として知られる如何なるメカニズムとすることができることに留意されたい。
【００４４】
本発明の計算処理されたデータのバックアップおよびストレージを提供するシステムおよび方法の原理および動作は、図面および対応する説明を参照してより良く理解されるであろう。
【００４５】
本発明の実施形態を詳細に説明する前に、本発明は、その応用において、下記に述べられる説明または図面に図示されるコンポーネントの設計および配置の細部に限られるものではないことが理解されるべきである。本発明は、他の実施形態、種々の方途により実践または実現することが可能である。また、本明細書で用いる語法および用語は、説明を目的とするものであり、限定として見なすべきではないことが理解されるべきである。
【００４６】
本発明の実施形態は、種々のコンピュータ・ハードウェア・コンポーネントを含む一般用途または特定用途のコンピュータ・システムを含んで構成され、これについてはより詳細に後述する。本発明の範囲に含まれる実施形態は、また、格納されるコンピュータ実行可能な命令、コンピュータ可読な命令またはデータ構造を記憶または保持するためのコンピュータ可読媒体を含むことができる。このようなコンピュータ可読媒体としては、一般用途または特定用途のコンピュータ・システムによりアクセス可能な、利用可能ないかなるメディアを挙げることができる。限定する目的ではない例示として、このようなコンピュータ可読媒体としては、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＣＯ−ＲＯＭまたは他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気的なストレージデバイス、または、所望のコンピュータ実行可能命令、コンピュータ可読命令、またはデータ構造の形態でプログラム・コード手段を記憶または格納するために使用され、一般用途または特定用途のコンピュータ・システムによりアクセスされることができる如何なる他の媒体などの物理媒体を挙げることができる。
【００４７】
本明細書および後続する請求項においては、「ネットワーク」とは、２以上のコンピュータ・システムがデータを交換できる如何なるアーキテクチャとして定義される。交換されるデータは、２以上のコンピュータ・システムに対して有意な電気信号の形態とすることができる。データがネットワークまたは他の通信接続（有線または無線または有線および無線の組合わせのいずれか）を越えてコンピュータ・システムまたはコンピュータ・デバイスに転送または提供される場合、接続は、コンピュータ可読媒体として適切に見なされる。したがって、上述した如何なる接続でも、適切にコンピュータ可読媒体とされる。上記した組合わせもまた、コンピュータ可読媒体の範囲に含まれるものである。コンピュータ実行可能な命令は、例えば、一般用途または特定用途コンピュータ・システムに対し、ある機能または機能グループを実行させる命令およびデータを含んで構成される。
【００４８】
本明細書および後続する請求項において、用語「コンピュータ」または「コンピュータ・システム」とは、連動して作用して電子データに対する動作を実行する１以上のソフトウェア・モジュール、１以上のハードウェア・モジュールまたはこれらの組合わせとして定義される。例えば、コンピュータ・システムの定義は、パーソナル・コンピュータのハードウェア・コンポーネント、パーソナル・コンピュータのオペレーティング・システムなどのソフトウェア・モジュールを含む。モジュールの物理構成は、重要ではない。コンピュータ・システムは、コンピュータ・ネットワークを介して結合する１以上のコンピュータを含むことができる。同様に、コンピュータ・システムは、内部モジュール（メモリおよびプロセッサなど）が連動して作用して電子データに対し動作する単一の物理デバイス（携帯電話またはパーソナル・デジタル・アシスタント「ＰＤＡ」など）を含むことができる。
【００４９】
当業者であれば、本発明が、携帯電話、ＰＤＡ、ページャ、ハンドヘルド・デバイス、ラップトップ・コンピュータ、パーソナル・コンピュータ、マルチプロセッサ・システム、マイクロプロセッサ・ベースまたはプログラマブルな家電機器、ネットワークＰＣ，ミニコンピュータ、メインフレームコンピュータなどを含む多くのタイプのコンピュータ・システム構成と共にネットワーク・コンピューティング環境において実施することができることが理解されるであろう。本発明は、また、通信ネットワークを介してリンク（有線リンクまたは無線リンクによるか、または無線または有線リンクの組合わせによるかのいずれか）されたローカルおよびリモートのコンピュータ・システムの両方がタスクを実行する、分散コンピューティング環境において実施することもできる。分散コンピューティング環境においては、プログラム・モジュールは、ローカルおよびリモートのメモリ・ストレージデバイスの両方に位置することができる。
【００５０】
本発明の方法およびシステムの実装は、選択されたタスクまたはステップを手動、自動、またはその組合わせにより実行または完了することを必要とする。さらに、本発明の方法およびシステムの好適な実施形態の実際の装置および設備によれば、いくつかの選択されたステップが、ハードウェア、またはいかなるファームウェアのオペレーティング・システム上のソフトウェア、またはこれらの組合わせにより実装することができる。例えば、ハードウェアとしては、本発明の選択されたステップをチップまたは回路として実装することができる。ソフトウェアとしては、本発明の選択されたステップを、コンピュータにより適切なオペレーティング・システムを用いて実行される複数のソフトウェア命令として実装することができる。いくつかのケースでは、本発明の方法およびシステムの選択されたステップは、複数に命令を実行するためのコンピューティング・プラットフォームのようなデータプロセッサにより実行されるものとして説明することができる。
【００５１】
ここで、図を参照すると、図１は、本発明の実施形態によるネットワーク環境１０を図示する。本発明の実施形態によれば、ネットワーク環境１０は、例えばＬＡＮであるネットワーク１００と、ワークステーション・コンピュータ１０６と、サーバ１０８と、サーバ１０８に取り付けられた製作物ストレージ１１４上に格納される制作物データのバックアップを実行するバックアップ・ストレージ・システム１０１とを含む。バックアップ・ストレージ・システム１０１またはレポジトリストレージ１０１は、ネットワーク・インタフェース１０４を介してネットワーク１００に取り付けられており、例えば磁気ストレージ・ディスクなどの第１ストレージ媒体１１０および第２ストレージ媒体１１２を含む。本発明の実施形態に適切なサーバ１０８は、ＨＰプロライアント（ProLiant）  ＤＬ３８０  Ｇ４  サーバである。第１ストレージ媒体１１０および第２ストレージ媒体１１２を実装するレポジトリストレージは、例えば、６４テラバイトに及ぶストレージを提供するＥＭＣ  ＣＬＡＲｉｉＯＮ  ＣＸ５００（ＥＭＣコーポレーション，アメリカ合衆国  マサチューセッツ州  ホプキントン）である。
【００５２】
ここで、バックアップ・ストレージ・システム１０１の概略を図示する図２について参照する。バックアップ・ストレージ・システム１０１は、プロセッサ２０１と、ランダム・アクセス・メモリ２０９に情報を格納するためのメモリ・バス２０７を含むストレージ機構と、プロセッサ２０１に周辺機器バス２０３によって操作可能に接続するネットワーク・インタフェース１０４とを含む。バックアップ・ストレージ・システム１０１は、さらに、例えば光学ディスクなどプログラム・ストレージ・デバイス２１３からのディスク・ドライブなど、データ入力機構２０５を含む。データ入力機構２０５は、周辺機器バス２０３によってプロセッサ２０１に操作可能に接続されている。ＳＣＳＩなどのインタフェース２１５は、第１ストレージ媒体１１０および第２ストレージ媒体１１２を、周辺機器バス２０３を介してプロセッサ２０１に接続している。第２ストレージ媒体１１２は、ストレージ・ビン２１７にパーティション分割されているように概略的に示されている。ストレージ・ビンは、第２ストレージ媒体内で合わせて管理される個々のディスク、または単一の大きなディスク内の異なるパーティションとして実装することができる。
【００５３】
ここで、システム１０１内の抽象化層３０の概略図である図３について参照する。最下位の抽象化層は、例えば第１ストレージ媒体１１０および第２ストレージ媒体１１２に対する読み取りおよび書き込みなどの物理動作を含む物理層３０９である。物理層３０９の動作は、例えばＳＣＳＩなどのインタフェース層３０７により制御される。インタフェース層３０７の上位には、ボリュームを管理するボリューム・マネージャ３０５、および第１ストレージ媒体１１０上のファイルを管理するファイルシステム・マネージャ３０３のカーネル層がある。アプリケーション層３０１は、ユーザ・アプリケーションへアクセス可能とされる。本発明の実施形態によれば、第２ストレージ媒体１１２へのアクセスは、層３０７に制限され、レイヤ３０１，３０２，３０５から第２ストレージ媒体１１２へのアクセスは、インタフェース層３０７内で動作するＳＣＳＩなどのドライバにより調停されてのみ許可される。第２ストレージ媒体１１２のためのＷＯＲＭマネージャは、好適には、ＳＣＳＩドライバにより層３０７中に実装される。ＳＣＳＩドライバは、第２ストレージ媒体１１２に対するすべての読み取り／書き込み動作を制御および監視するために用いられる。
【００５４】
レポジトリデータに対する他のレベルの保護は、本発明の実施形態により、ストレージとして認識されることを許可する第２ストレージ媒体１１２に対する署名を配置することによる第２ストレージ媒体１１２の保護によって達成される。
【００５５】
ここで、図４、本発明の実施形態によるバックアップ手続４０の概略フロー・ダイアグラムについて参照する。バックアップは、概して、第１ストレージ媒体１１０上の１以上のデータ・ファイルのバックアップである。バックアップは、スナップショットが開始されたときにしばしば実行され、第１ストレージ媒体に格納されたファイルが第２ストレージ媒体１１２のストレージ・ビンにコピーされる。バックアップ手続が開始されたとき（ステップ４０１）、１以上のストレージ・ビン２１７が第２ストレージ媒体１１２上にアロケートされる（ステップ４０３）。使用中のアクティブ・ストレージ・ビン２１７がいっぱいになると、新しいストレージ・ビンが適宜作成されアロケートされる。ストレージ・ビン２１７は、読み取りおよび書き込み動作のためにマウントされる（ステップ４０５）。バックアップは、サーバ・コンピュータ１０８に直接取り付けられた例示的なストレージ１１４について実行され（ステップＳ４０７）、データ・ファイルは、第２ストレージ媒体１１２上にアロケートされたストレージ・ビン２１７内に第１レポジトリ１１０と対応するファイル中にコピーされる。指示されたすべてのファイルがバックアップされ、検証されると、バックアップ手続を終了させ（ステップ４０９）、１以上のストレージ・ビン２１７は、それ以上の読み取りまたは書き込み動作を防止するためにアンマウント（ステップ４１１）される。
【００５６】
ここで、本発明の代表的な実施形態による検証および復元プロセス５０のフロー・ダイアグラムを図示する図５について参照する。データのバックアップ・コピーが第２ストレージメディア１１２に保管されている長期の時間の間、データを取り扱ういくつかの手続がある。好適には、データのバックアップ・コピーは、アンマウントされたストレージ・ビン２１７に維持され、必要に応じて読み取り動作のためだけにマウントされアクセスされる。ストレージ・ビン２１７は、パーティション分割され（ステップ５０２）、第２ストレージ媒体１１２上にアロケートされ、ストレージ・ビン２１７は、読み取り／書き込み動作のためにマウントされ（ステップ４０５）、第１ストレージ媒体１１０からのデータ・ファイルのコピーがストレージ・ビン２１７に格納される。定期的に、例えば数年の長期時間にわたって、そして好適には、バックグラウンド・タスクとして、ストレージ・ビン２１７が読み取り動作のためだけにマウントされる（ステップ５０８）。例えばチェックサムなどの誤り検知または完全性を示す他のパラメータが、第１ストレージ媒体１１０に格納されるオリジナル・データ、およびストレージ・ビン２１７に格納されるコピーの両方のために算出される。チェックサムが同一である場合、ストレージ・ビンはアンマウントされ（図示せず）、それから一定時間後にストレージ・ビン２１７がビン２１７が読み取り動作のためだけにマウントされ（ステップ５０８）、チェックサムが再び比較される（ステップ５１０）。しかしながら、チェックサムが相違していた場合（判定ボックス５１２）には、いずれのチェックサムが変化したかに関して判定が生じる（判定ボックス５１４）。いずれのチェックサムが変化したかは、第１ストレージ媒体１１０に格納されたデータまたは第２ストレージ媒体１１２のコピーが破損または改竄されたか否かを示す。もし、第２ストレージ媒体１１２のコピーが変更されたチェックサムを有していた場合、ストレージ・ビン２１７が、読み取り／書き込み動作のためにマウントされ（ステップ４０５）、第１ストレージ媒体１１０に格納されたデータからコピーが復元される（ステップ５２０）。もし、第１ストレージ媒体１１０に格納されたデータが変更されたチェックサムを持っていた場合（判定ボックス５１４）、その時には、第２ストレージ媒体１１２のコピーからデータが復元される（ステップ５１８）。検証および復元プロセス５０のステップ間、ストレージ・ビンは、読み取りおよび書き込みのために使用中ではないとき、好適にはアンマウントされる（図示せず）。
【００５７】
ここで、本発明の実施形態によるロギング・プロセス６０を図示する図６について参照する。ロギング・プロセス６０は、好適には、ＷＯＲＭ（Write-Once-Read-Many）の規制要件を満たす。ストレージ・ビン２１７が、読み取り動作のためだけにマウントされた場合（ステップ５０８）、好適には打刻するとともにログが開かれて、好適にはすべての読み取り動作がログ記録される（ステップ６０７）。ストレージ・ビン２１７が、読み取り／書き込み動作のためにオープンされる場合（ステップ４０５）、読み取りおよび書き込み動作の両方のためにログがオープンされる。書き込み動作は、ログ記録され（ステップ６０５）、そして読み取り動作もログ記録される（ステップ６０７）。読み取りまたは書き込み動作が完了した後、ログが閉じられ（ステップ６０９）、適宜、打刻とともにストレージ・ビン２１７がアンマウントされる（ステップ６０９）。
【００５８】
書き込み動作のためにマウントしているストレージ・ビン２１７の検査用途向けのロギング（ステップ６０５，６０７）および／または文書化は、典型的には、読み取りおよび書き込み動作を実行する専用カーネルドライバによりのみアクセス可能な１以上のストレージ・ビン２１７Ｌに書き込むことによって実行される。代替としては、検査用途向けのロギング（ステップ６０５，６０７）または他の文書化は、消去能力を有さない読み取り／書き込み光学ディスクドライブ２０５内の光学ディスク２１３のようなＷＯＲＭ媒体上に書き込まれることによって実行されることもできる。
【００５９】
ここで、本発明の実施形態によるストレージ・ビンの修復プロセス７０を図示する図７について参照する。ストレージ・ビン２１７において障害が検出または疑われた場合（ステップ７０１）、修復プロセス７０が開始される。新規にストレージ・ビン２１７がアロケートされ（ステップ７０３）、新規にアロケートされたストレージ・ビン２１７が、読み取り／書き込み動作のためにマウントされる（ステップ４０５）。データが、第１ストレージ媒体１１０から新規ストレージ・ビン２１７へコピーされる（ステップ７０７）。新規ストレージ・ビンは、アンマウント（ステップ７０９）か、または要求により読み取り動作のためだけにマウントされる。
【００６０】
本発明の実施形態によるクリーンナップ動作が図８に図示されている。ストレージ・ビン２１７が、読み出し／書き込み動作のためにマウントされ、ストレージ・ビン内のデータおよび適宜ストレージ・ビン２１７のパーティションが削除される（ステップ８０３）。
【００６１】
本発明を限られた数の実施形態を参照して説明してきたが、数多くの変形例、変更、および本発明の他の応用をなすことができることが理解されるであろう。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態によるネットワーク環境を図示するシステム概略図。
【図２】本発明の実施形態によるシステム概略図。
【図３】本発明の実施形態に従うコンピュータ・アーキテクチャ抽象化層の概略図。
【図４】本発明の実施形態によるバックアップ・プロセスの概略フロー・ダイアグラム。
【図５】本発明の実施形態による検証および復元プロセスの概略フロー・ダイアグラム。
【図６】本発明の実施形態によるロギング・プロセスの概略フロー・ダイアグラム。
【図７】本発明の実施形態による修復／複製プロセスの概略フロー・ダイアグラム。
【図８】本発明の実施形態によるクリーンナップ・プロセスの概略フロー・ダイアグラム。
【図１】
2009526286.tif 000003
【図２】
2009526286.tif 000004
【図３】
2009526286.tif 000005
【図４】
2009526286.tif 000006
【図５】
2009526286.tif 000007
【図６】
2009526286.tif 000008
【図７】
2009526286.tif 000009
【図８】
2009526286.tif 000010