バックアップ情報管理
一実施例を挙げると、アプリケーションからの出力を実質上継続して監視(モニター)すること、及び、その出力が予め決められたタイプのバージョンに関連しているかを判断すること、及び、その出力が予め決められたタイプのバージョンに関連している場合、出力に関連したデータを保存すること、から構成される情報管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して言えば電子情報に係り、より詳細には、情報管理に係る。
【0002】
関連出願への相互参照:本特許出願は、引用としてここにその全体を組み入れられた2004年12月31日に出願された米国仮特許出願第60/640,971号、名称「INFORMATION PROTECTION AND MANAGEMENT(情報保護および管理)」に基づくもので、その優先権を主張する。
【背景技術】
【0003】
通常、コンピュータのバックアップ及びリカバリーツールは、一日一回のバックアップのように、スケジュールを組んで設定された数のバックアップを定期的に行うことで使用される。従来のバックアップシステムの潜在的な問題点は、ユーザがデータを復元しなければならない時、最後のバックアップ後に作られたデータが通常は失われるということである。定期的なバックアップ間においても情報が復元されるように、情報を効果的に保護し管理することが望まれている。
【発明の開示】
【課題を解決するための手段】
【0004】
本発明は様々な方法で実現し得る。様々な方法とは、プロセス、装置、システム、合成物、あるいは、コンピュータで読み取り可能なメディア(例えば、コンピュータ読み取り可能記録媒体、又は、プログラム命令が光もしくは電気的な通信リンクに送られるネットワーク等)を含むものである。本明細書では、このような実現方法や本発明がとり得る他の形式を技術として言及する。一般に、開示された処理ステップの順序は発明の範囲で変わり得る。
【0005】
本発明の一又は複数の実施例の詳細な説明が、本発明の原理を示した添付図に従って開示される。そのような実施例に関連して本発明を記載するが、本発明は開示した実施例に限るものではない。発明の範囲は請求項のみにより限定され、発明は多数の代替案、修正、あるいは均等物を含む。本発明の完全な理解を得るため、以下に幾つかの具体的な詳細を説明する。これらの詳細は例を示すためのものであり、本発明は、説明した詳細に関わらず請求項に従い実現され得る。明確さを目的として、本発明を不必要に不明瞭にしないようにするため、本発明に関連する技術分野で知られている技術構成については詳細には説明しない。
【発明を実施するための最良の形態】
【0006】
図1は、情報の保護および管理の一実施例を示す構成要素のブロック図である。図2および図3と関連して論ずると、図1がより良く理解できる。図2は、インターセプター(interceptor)の一例を示すブロック図である。図3は、分配器(distributor)に含まれるルーティング構成要素の一例を示す。
【0007】
図1に示した例において、ユーザアプリケーション100はインターセプター102によりモニターされる。ユーザアプリケーションの例には、ファイルシステム、データベース、および、財務ソフトもしくはワープロなどのアプリケーションが含まれる。すべてのアプリケーションはインターセプター102によりモニターされるように選ばれるか、あるいは、アプリケーションのサブセットがモニターされるように選ばれる。インターセプターは、アプリケーションからオペレーティングシステムへ、入出力(I/O)をインターセプトする。インターセプター102が常にアプリケーションからI/Oをモニターする例もある。
【0008】
他の実施例においては、もしインターセプター102がホストマシンに存在しているならば、情報が記憶装置に書き込まれる前にキャプチャーされる。もしインターセプター102がSANに存在しているならば、オペレーティングシステムがまさに記憶装置に書き込もうとするときに情報がキャプチャーされる。もしインターセプター102がNASあるいはTCP/IPスイッチにあるならば、TCP/IPパケットがインターセプトされる。
【0009】
図2に示した例では、インターセプター102′はファイルインターセプター200、プロトコルパケットインターセプター202、およびブロックインターセプター204を含むように示されている。ある実施例においては、インターセプターコンポーネント200−204の内、ひとつのみをインターセプター102′に含む。また、他の実施例においては、これらインターセプターコンポーネント200−204の内、2つもしくはそれ以上をインターセプター102′に含む。
【0010】
一実施例を挙げると、インターセプター102′がホストマシンに存在し、ファイルI/Oをトラップし、ファイルI/Oにメタ情報を生成するファイルインターセプターを用いる。別の実施例を挙げると、インターセプター102′がNASに存在し、IPプラットフォームのNFS,CIFS,あるいはiSCSIパケットなどのパケットをトラップするプロトコルパケットインターセプターを使う。また別の実施例を挙げると、インターセプター102′がSANとホストマシン双方に存在し、データブロックへの変化をインターセプトするブロックインターセプターを用いる。ファイルインターセプター200及びブロックインターセプター204の使用については、後ほど図12に関連してより詳しく論ずる。
【0011】
図1に戻り、インターセプター102は、情報の重要なイベントを表すマイルストーンマーカ(milestone marker)としてここでは言及されるメタ情報パケットを生成する。ここで用いられるメタ情報は、情報に関する情報を含んでいる。マイルストーンマーカの引き金となるイベントの例には、ファイルの作成、ファイルの消去、およびマイルストーンマーカのバックアップ等が含まれる。バックアップマイルストーンマーカが使用される時の一例は、バックアップマーカがプリセットされたスケジュールに従い書き込まれる時である。他の例は、システムが平穏であり、データを回復するのに良いタイミングと判断される時など、バックアップマイルストーンマーカが日和見主義的に使用される時である。
【0012】
ある実施例では、インターセプター102が情報を受け取り、その情報を単数もしくは複数のパケットに入れ、ディストリビュータ104に受け渡す。
【0013】
ディストリビュータ104はパケットを受け取り、様々なルーティングの仕組みに従いジャーナルログ・ボット(journal logger)106にパケットを送る。ディストリビュータ104が使用する異なるルーティングの仕組みの例には、ネットワークルーティングおよびSANルーティングが含まれる。
【0014】
図3に示した例において、ディストリビュータ104′はネットワークルーティングコンポーネント250およびSANルーティングコンポーネント252が含むように示されている。ディストリビュータ104′が、ネットワークルーティングコンポーネント250あるいはSANルーティングコンポーネント252のどちらかの単一のルーティングコンポーネントを含む例もある。また、ディストリビュータ104′が、ネットワークルーティングコンポーネント250やSANルーティングコンポーネント252などのルーティングコンポーネントを複数含む例もある。ネットワークルーティングコンポーネント250によって使用されるプロトコルの例には、RPC,TCP/IPおよびiSCSIが含まれる。SANルーティングコンポーネント252によって使用されるプロトコルの例には、SCSCIおよびファイバーチャンネルプロトコル(FCP)が含まれる。
【0015】
図1に戻り、ディストリビュータ104は、インターセプター102から離れて位置するか、それともインターセプター102に接して存在し得る。それゆえ、図1に示された情報の保護と管理方法は、アプリケーション100によって使用されるいかなるオペレーティングシステムにも適用され、さらに、いかなるネットワーク構成にも適合する。
【0016】
ディストリビュータ104は、情報をジャーナルログ・ボット106に送る。一実施例として、ジャーナルログ・ボット106はインターセプトされたパケットを変換し、正規化する。するとその結果、これらパケットの記憶と管理がインターセプター102とディストリビュータ104のタイプとは無関係となる。他の実施例として、ジャーナルログ・ボットは受信した情報をメタ情報に変換し、重要ではない情報を取り除く。XMLやXDRなどの技術を使い、あらかじめ決められているフォーマットに標準化してもよい。例えば、ディストリビュータ104はTCP/IPフォーマットのパケットを送り、ジャーナルログ・ボット106はTCP/IPフォーマットをXMLなどのあらかじめ決められているフォーマットに変換する。
【0017】
インターセプター102、ディストリビュータ104並びにジャーナルログ・ボット106は、Cisco社やBrocade社等で製造されているルータおよびマルチプロトコールスイッチなどの市販されている高性能な部品に組み入れられてもよい。
【0018】
メタデータ記憶装置(リポジトリ Repository)112Aを含んだ多重記憶装置112A−112Fから構成される固定記録装置(PS)110に情報が記憶される。一実施例として、データが記憶装置112B−112Fに記録され、そのデータと関連したメタデータがメタデータ記憶装置112Aに記録される。固定記憶装置110は、処理能力を持ったインテリジェントで永続的な記憶装置である。
【0019】
ジャーナルログ・ボット106は、キャッシュメモリ(CS)108、あるいは固定記憶装置110を使い、ジャーナルエンジン114と通信を行う。
【0020】
一実施例として、固定記憶装置110は、記憶されているデータに関するバージョン情報、および記憶されたデータに関連した時間やバージョンなどのインデックスデータ情報を見出し、アップデートすることができるインテリジェントなデータ記憶装置である。固定記憶装置110は、バーチャルLUNなどのバーチャル記憶装置と共に動作してもよい。さらに、様々な技術を使ったファイルシステムやオブジェクト記憶のような、様々な手段と共に作用するマルチバージョニング情報システムとしても動作する。この特徴は、例えば、カーネギーメロン大学で開発された総合バージョニングファイルシステム(CVFS)、Reiser4 FS,あるいはVersioning FSなどの、バージョン分けをサポートするプラグインモジュールあるいはレイヤーを付加することで達成される。マルチバージョニング情報システムの実施に使用される技術の別の例は、Peter J.Varman、Pakesh M.Vermaの「An Efficient Multiversion Access Structure」(IEEE Transaction on Knowlege and Data Engineering,Vol.9,No.3,pp.391−409,May/June 1997)に記載されているマルチバージョンアクセス構造である。固定記憶装置110は、SATA,ATA,SCSI,あるいはFCディスクなどのいかなる記録媒体をも使うことができる。
【0021】
ジャーナルエンジン114は固定記憶装置110に記憶された情報を処理する。ジャーナルエンジン114はユーザ要求に応答するクエリー処理エンジンを含む。さらには、特別なデータのコピー数、そのコピーがどこにあるか、いつそれぞれ異なるバージョンが作られたかといったことを明らかにして、維持する。
【0022】
また、ジャーナルエンジン114は、企業ポリシーやSECコンプライアンスポリシーのようなポリシー(規則)を実施するポリシーエンジンを含む。ジャーナルエンジン114は、例えば、いくつのバージョンのデータが記憶されているか、いつデータが別の記憶デバイスに移されたか、いくつ特定のドキュメントのコピーが保持されているか等々を管理する。さらには、どのプログラムがデータとそのプロパティを作成したか等のオリジナルデータ情報源を保持している。ここで、プロパティとは、誰が作成したか、いつ作成されたか、そのサイズのみならず、データに関連した記憶装置の実体、及び、記憶装置のスタックスキーマ(例えば、ファイルシステム、ボリューム管理、LUNSなど)をいう。また、ジャーナルエンジン114は、例えば固定記憶装置の転記マーカにより、マイルストーンマーカを管理し、マイルストーンマーカが何を意味するかを明らかにする。例えば、マイルストーンマーカは、バックアップを行うための良いタイミングを指示したり、意味のあるバージョンを指示したりする。また、ジャーナルエンジン114は、メタデータ情報を保持する。メタデータ情報の例として、特定のドキュメントから二つのコピーが作られ、その一方が削除され、いつ、誰により削除されたか、などの情報がある。
【0023】
また、ジャーナルエンジン114は、記憶装置の最適化のためのジャーナルの圧縮のみならず、特定のデータの暗号を管理する。また、ジャーナルエンジン114は、ユーザに任意の時刻におけるデータを見せるため、バーチャルスナップショットを管理する。バーチャルスナップショットオプションは、NFS,CIFSファイルシステムやLUNなどの様々な形式で実現され得る。例えば、ユーザの要求が2:00pmにおけるDドライブを見ることであれば、ジャーナルエンジン114は、固定記憶装置110並びにもし必要であれば他の2次的な記憶装置(そこには最適化のためにデータが移されている)から2:00pmにおけるDドライブの完全なデータセットを構築する。ジャーナルエンジン114のさらなる詳細については、後ほど残りの図に関連して論ずる。
【0024】
バーチャルアクセスインターフェース116は、LUN、ファイルシステム、ネットワークファイルシステム、あるいはアプリケーションオブジェクトなどの色々な形式でユーザに要求された情報を提示する。バーチャルアクセスインターフェース116は、グラフィックユーザインターフェースなどのユーザインターフェースとして機能するサービスと管理のコンソール118と連携して動作する。そして、ユーザが、ポリシー、構成、クエリー選択、並びに、閲覧と復元のための一般的なユーザインターフェース等を設定できるようにする。
【0025】
図4は情報を保護し、管理するためのシステムの一実施例を示すイラストである。この例では、アプリケーションサーバ300AはLAN308Aと接続している。アプリケーションサーバはホスト記憶装置304Aとも接続している。また、LAN308Aはデータ保護装置302Aと接続している。データ保護装置302Aは、図4の要素102−110の少なくとも一つのデータ保護を行う能力がある処理マシンである。データ保護装置302Aは記憶装置306Aとも接続している。記憶装置306Aはマルチストレージデバイスを含む保護記憶スペースである。
【0026】
一実施例として、インターセプター102とディストリビュータ104はアプリケーションサーバ300Aに存在する。ジャーナルログ・ボット106、ジャーナルエンジン114、及び固定記憶装置110はデータ保護装置に存在している。付け加えるならば、図1のバーチャルアクセスインターフェース116とサービスと管理のコンソール118はデータ保護装置302Aに存在している。
【0027】
他の実施例では,インターセプター102はホスト記憶装置304Aに存在する。
【0028】
図5はSANすなわちスイッチ機器に基づく構成の一例を示すイラストである。この例では、LAN308Bはアプリケーションサーバ300Bとデータ保護装置302Bに接続されている。アプリケーションサーバ300Bとデータ保護装置302Bは共にスイッチ機器320に接続している。スイッチ機器320は記憶装置304Bと保護記憶装置306Bに接続されている。他の実施例として、データ保護装置302Bが保護記憶装置306Bに直接接続されている例もある。
【0029】
一実施例として、インターセプター102、ディストリビュータ104、およびジャーナルログ・ボット106はスイッチ機器320に存在している。ジャーナルエンジン114と固定記憶装置110はデータ保護装置302Bに存在している。
【0030】
他の実施例として、インターセプター102、ディストリビュータ104、およびジャーナルログ・ボット106は記憶装置304Bに存在している。ジャーナルログ・ボットがデータ保護装置302Bに存在している例もある。また、他の実施例として、インターセプター102、ディストリビュータ104、およびジャーナルログ・ボット106はアプリケーションサーバ300Bに存在している。
【0031】
図6に、情報の保護および管理のためのシステムの他の実施例を示す。この例では、アプリケーションサーバ300CはLAN308Cと接続されており、LAN308CはNAS330Aとデータ保護装置302Cに接続されている。データ保護装置302Cは保護記憶装置306Cに接続されている。
【0032】
一実施例として、インターセプター102、ディストリビュータ104、ジャーナルログ・ボット106、ジャーナルエンジン114、及び、固定記憶装置110はデータ保護装置302Cに存在している。他の実施例では、インターセプター102とディストリビュータ104がアプリケーションサーバ300Cに存在し、ジャーナルログ・ボット106、ジャーナルエンジン114、及び、固定記憶装置110がデータ保護装置302Cに存在する。また、他の実施例では、インターセプター102、ディストリビュータ104、及び、ジャーナルログ・ボット106がNAS330Aに存在し、ジャーナルエンジン114と固定記憶装置110がデータ保護装置302Cに存在している。さらに他の実施例では、インターセプター102、ディストリビュータ104、及び、ジャーナルログ・ボット106がアプリケーションサーバ300Cに存在している。さらに他の実施例では、(図示していない)スイッチ装置がLAN308Cに接続され、そのスイッチ装置にインターセプター102とディストリビュータ104とが存在している。
【0033】
図7に、情報の保護および管理のためのシステムの他の実施例を示す。この例では、LAN308Dが複数のアプリケーションサーバ300D−300Eに接続しているのみならず、データ保護装置302DとNAS330Bにも接続している。アプリケーションサーバ300Dとデータ保護装置302Dはスイッチ装置340に接続され、スイッチ装置340は記憶装置306Dと304Dとに接続されている。
【0034】
一実施例として、保護されるべきコンポーネント102−114はデータ保護装置302Dに存在している。他の実施例では、インターセプター102とディストリビュータ104がアプリケーションサーバ300D−Eに存在する。また他の実施例では、インターセプター102、ディストリビュータ104、並びに、ジャーナルログ・ボット106がスイッチ機器340に存在している。さらに他の実施例では、(図示されていない)LANスイッチ機器がLAN308Dに接続され、インターセプター102とディストリビュータ104がLANスイッチ機器に存在する。
【0035】
図4−7に記述されたシステムは単に可能性のある構成を示した例にすぎない。様々なデバイスの組み合わせに存在する保護されるべきコンポーネント102−114のあらゆる組み合わせを含む他の実施例では、また別の構成が予想される。
【0036】
図8A−8Cは、情報を保護し、管理する手法の1例を示すフロー図である。この例では、入出力(I/O)は常にOS上のアプリケーションから監視されている(400)。I/Oがインターセプトされる(402)。例えば、ドライブDが常に監視されていれば、OS上のドライブDのアプリケーションからのI/Oがインターセプトされる。同様に、特定のファイルが監視されていれば、そのファイルに関連したI/Oが常に監視され、インターセプトされる。
【0037】
一例として、重要なバージョンが作成されたか否かを明らかにする(404)。例えば、ユーザがワード文書で作業しているとき、ワード文書の変化が常に監視され、インターセプトされる。この文書の特定の変化が重要なバージョンであるか否かを明らかにする。重要なバージョンの一例として、ユーザが変更するとき、変更を保存するとき、文書を閉じるときなどがある。
【0038】
これは重要なバージョンであると決定されると(404)、データとメタデータが保存される(406)。ここで用いられるメタデータとは、データに関する情報である。メタデータの例には、データが作成された時間、作成者、関連するアプリケーションなどが含まれる。次に、記憶装置のメタデータがアップデートされ、維持される(408)。ここで用いられる記憶装置のメタデータとは、保存されているデータに関する情報である。記憶装置のメタデータの例には、データの保存場所、この特定のデータのコピーがいくつ保存されているか、この文書やファイルのバージョンがいくつ保存されているか、などがある。
【0039】
次に、このインターセプトされたI/Oがマイルストーンであるか否かを判断する(410)。ここで用いられるマイルストーンとは、ファイルの作成、ファイルの消去、バックアップを行うに良いタイミングなどの情報の重要なイベントである。もし、マイルストーンイベントであれば(410)、マイルストーンマーカがデータに関連付けられる(412)。
【0040】
次に、高性能なメディアに保存すべきか否かを判断する(422)。例えば、特定のファイルはとても重要であり,常に高性能なメディアに保存されるように指定される、あるいは、パワーポイントのプレゼンテーションなどのあるタイプのドキュメントは常に性能の低いメディアに保存されるように指定される。従って、データを高性能なメディアに保存する必要がないと確認されると(422)、性能の低いメディアに保存される(424)。しかし、高性能なメディアに保存すべきと確認されると、高性能なメディアに保存される(426)。次に、メディアの中のデータの位置を表すために、記憶装置のメタデータがアップデートされる(428)。
【0041】
次に、データが定期的に変化しているか否かを判断する(414)。ファイルが低い性能で安価な記憶装置に保存されるべきか、処理レベルを決定するために、変化の定期性即ち頻度レベルは、ポリシーで設計される。もし、データが定期的に変化していなければ、そのデータは安価な低い性能の記憶装置に移される(416)。しかし、データが定期的に変化していれば、そのデータは高性能な記憶装置に維持される(420)。
【0042】
次に、ファイルが削除されるか否かが判断される(450)。インターセプトされたI/Oがファイルを削除するためのものであれば、ポリシーがこのファイルの削除を許可するか否かを判断する(456)。もし、あらかじめ決められたポリシーがファイルの削除を許可しない場合、ファイルのコピーが継続保持される(458)。例えば、企業ポリシーあるいはSECポリシーは、全ての財務文書を数年間保管するように要求する。もしユーザが財務文書を削除しようと試みた場合、ユーザのコンピュータからはファイルが消されるかも知れないが、ポリシーに従い、ファイルのコピーが低性能のアーカイブ記憶措置に保持される。
【0043】
ポリシーがファイルの削除を許可する場合(456)、ファイルは削除される(460)。ファイルがユーザマシン上から削除されるとき、ポリシーがファイルの全てのコピーとバージョンの削除を指示するか否かを判断する(462)。ポリシーが全てのコピーとバージョンの削除を指示しない場合、ファイルのコピーとバージョンは保持される(464)。しかし、ポリシーが全てのコピーとバージョンの削除を指示する場合(462)、ファイルの全てのコピーとバージョンは削除される(466)。例えば、パワーポイントのプレゼンテーションがユーザにより削除され、プレゼンテーションには10個の保存されたバージョンがある場合、ユーザが現在のプレゼンテーションを削除すると保存されている10個のバージョンが全て削除される。
【0044】
次に、ポリシーに特別な動作が必要か否かが確認される(468)。この場合、動作はポリシーに従い実行される(470)。例えば、会社が全ての電子メールを特別な電子メール保管領域に保存するポリシーを持っている。この例では、インターセプトされたI/Oが電子メールに関係しているか否かを確認し、関係していれば特別な電子メール保管領域に保存する。
【0045】
図9は情報をインターセプトし、記憶する手法の1例を示すフロー図である。この例では、I/OはOS上のアプリケーションによりインターセプトされる(500)。メタデータのパケットが作成される(502)。メタデータの例には、変化が起こった時間、どのアプリケーションに起こったのか、あるいはどのコンピュータシステムに起こったのかなどがある。このイベントがマイルストーンであるか否かを判断する(504)。マイルストーンの場合、マイルストーンマーカがメタデータのパケットに含まれる(506)。
【0046】
次に、データとメタデータのパケットがネットワークルーティングプロトコールを通って送られたか否かを判断する(508)。ネットワークルーティングプロトコールを通って送付されていない場合、この例では、SANルーティングプロトコールあるいは共有メモリ方式がパケットを送るために使われる(510)。しかし、ネットワークルーティングプロトコールを使う場合(508)、パケットを送るためにネットワークルーティングプロトコールが使われる(512)。図1のジャーナルログ・ボット106のようなジャーナルログ・ボットにパケットが送られる例がある。
【0047】
パケットは要求されたフォーマットに変換される(514)。例えば、パケットはXMLに変換され、FCパケットフォーマット形式で記録メディアに送られる。次に、パケットが保存される(516)。
【0048】
図10は、記憶装置のインデックス手法の1例を示すフロー図である。この例では、データパケットは記録装置に受信される(600)。パケットがメタデータであるか否かを判断する(602)。パケットがメタデータである場合(602)、パケットはメタデータ保管領域に格納される(604)。パケットがメタデータではない場合(602)、このファイルのコピーがすでに存在するか否かを判断する(606)。ここで使われるファイルとは、ファイル、文書、エクセルのシート、データベース、あるいはファイルシステム・ディレクトリなどのあらゆるデータの集合である。
【0049】
次に、このデータのコピーがすでに存在するか否かを判断する(606)。すでにコピーが記録メディアに存在する場合(606)、記憶インデックス内のコピー情報と記憶場所がアップデートされる(608)。一例として、ファイルのコピーがいくつ格納されているか、いくつのバージョンが格納されているか、また、これらコピーとバージョンそれぞれの記憶場所などの情報を含んだ記憶インデックスが保持される。
【0050】
次に、データの古いバージョンが存在するか否かを判断する(610)。古いバージョンがある場合、記憶インデックス内のバージョン情報と各種バージョンの記憶場所がアップデートされる(612)。
【0051】
次に、受信したパケットがファイルを削除するように指示しているか否かを判断する(614)。削除する場合、記憶インデックスはコピーおよびバージョンが削除されたとアップデートされる(616)。
【0052】
一実施例として、この種の情報のトラックを保持し続けることは、格納されたデータに関連するクエリーへの回答をのみならず、SECコンプライアンスや企業ポリシーコンプライアンスのアシストを促進する。
【0053】
図11A−11Bは、ジャーナルエンジンにより実行させる手法の1例を示すフロー図である。この例では、バージョンの数が最大数に達しているか否かを判断する(700)。例えば、ポリシーで文書のバージョン数10まで保存できるように指示する。バージョンの数が最大数に達する場合、この例では、一番古いバージョンを削除する(702)。
【0054】
次に、現在の特別な状況がリカバリーに良いタイミングであるか否かを判断する(704)。リカバリーに良いタイミングの一例は、ほとんどシステムに変化が起こらない真夜中などの、全て若しくはほとんどのアプリケーションが活動していないか静止状態である時である。リカバリータイミングの別の例は、例えば2時間おきにリカバリーするスケジュールのような、予定されたリカバリータイミングである。
【0055】
一実施例では、現在の状況がリカバリーのタイミングの場合(704)、アプリケーションを静止状態にする(706)。アプリケーションが静止状態にした時、バックアップが為されたクリーンな時点を得るために、この間、I/Oが止められる。他の実施例では、この間バックアップが為されない。アプリケーションが静止状態にされ、バックアップマイルストーンマーカが置かれる(708)。ある実施例では、実際のバックアップが行われない為、アプリケーションの静止とバックアップマイルストーンマーカの設置は素早くかつ効率的に行わねばならない。
【0056】
次に、特定の保存データが古いか否かを判断する(710)。古いと考えるデータの寿命はポリシーで指定される。例えば、一週間前のデータは古いと決める。データが古い場合、低い性能の記憶装置にアーカイブされる(712)。
【0057】
次に、固定記憶装置にあるデータがあらかじめ決められた量に達したか否かを判断する(750)。格納されたデータがあらかじめ決められている量のスペースを占めている場合、データを低い性能の記憶装置に移動する(752)。一実施例では、低い性能の記憶装置に移動するデータに優先順位が付けられ、その結果、あるタイプのデータが、他のタイプのデータに先んじて、低い性能の記憶装置に移動される。例えば、パワーポイントのプレゼンテーションは電子メールより先に低い性能の記憶装置に移動され、順に、電子メールはワードの文書に先立ち低い性能の記憶装置に移動される。
【0058】
次に、格納されたデータがマル秘であるかを判断する(754)。データがマル秘である場合、データに暗号化が適用される(756)。
【0059】
次に、格納されたデータが圧縮可能かを判断する(758)。データが圧縮可能である場合、データに圧縮が適用される(760)。
【0060】
図12はブロックおよびファイルのバージョン付け手法の1例を示すフロー図である。この例では、ファイルのバージョン付けを行うか否かを判断する(800)。ファイルのバージョン付けが起こる場合、モニターするファイルを識別する(802)。例えば、ファイルシステム全体がモニターされるように指定される。あるいは、特別なファイルおよびファイルグループがモニターされるように識別される。次に、選択ファイルに変化するブロックがモニターされ、インターセプトされる(804)。次に、変化したファイルに関連しているこのような変化が保存される。
【0061】
ファイルのバージョン付けが起こらない場合(800)、モニターされるデータブロックが識別される(808)。一例として、モニターされるデータブロックは、そのデータが関連しているファイルと無関係である。次に、ブロックの変化がモニターされ、インターセプトされる(810)。ブロックの変化が保存され、変化に関連したメタデータもまたアップデートされる(812)。変化したブロックに関連したメタデータの例として、データブロックに関連したファイルが含まれる。保存したメタデータを使い、保存されたブロックの存在するファイルが再構成される(814)。
【0062】
このようにして、ブロックおよびファイルのバージョン付けが行われる。ファイルあるいはブロック、あるいはその双方を用いる適切な方法を選択することにより、この例は一部修正されることがある。
【0063】
図13は格納されたデータの復元手法の1例を示すフロー図である。この例では、ファイルを見るという要求が受信される(900)。例えば、D:/A.Textという名称のファイルを見るという要求を受ける。マイルストーン属性を持つ複数のバージョンが見出される(902)。例えば、要求されたファイルの複数のバージョンを探すため、図1の固定記憶装置110などの固定記憶装置にサーチが行われる。これらのバージョンに関連したマイルストーン属性もまた見つかる。マイルストーン属性の例として、バージョンの日付、時刻がある。
【0064】
これらのバージョンはマイルストーン属性と共に表示される(904)。従って、ユーザは、時刻、バージョン、およびこの特別なバージョンがバックアップ品質のバージョンであることを示す静止状態の時点が記載されたバージョンリストを見る。次に、複数のバージョンの内のひとつに復元する要求を受信し(906)、選択されたバージョンに復元される(908)。
【0065】
図14は、データのバックアップ手法の1例を示すフロー図である。この例では、バックアップを行う要求が受信される(950)。次に、リカバリーポイントのマイルストーンマーカの所在を突き止める(952)。次に、リカバリーポイントが選択される(954)。例えば、リカバリーポイントのマイルストーンマーカを持つバージョンの所在が突き止められ、ユーザに表示され、ユーザがバックアップするためのリカバリーポイントを選択する。あるいはまた、バックアップが計画的に行われ、その結果、特定の時刻のバージョンが自動的に選択される(954)。
【0066】
記憶装置のメタデータを使用して、選択されたリカバリーポイントのマイルストーンマーカに関連した格納データの所在が突き止められる(956)。例えば、記憶装置のメタデータは、選択されたデータがどこに格納されているかを示す。次に、この例では、選択された格納データによりバックアップが行われる(958)。一例として、アプリケーションが通常のパフォーマンスレベルで動作することを許可しながら、格納データによりバックアップが行われる。
【0067】
上述の実施例は明瞭な理解を目的として詳しく記述したが、本発明はその詳細な記述に限るものではない。本発明を実現する多くの代替手段がある。説明した実施形態は実施例であり、限定するものではない。
【図面の簡単な説明】
【0068】
【図1】情報の保護および管理の一実施例を示す構成要素のブロック図である。
【図2】インターセプターの一例を示すブロック図である。
【図3】分配器に含まれるルーティング構成要素の一例である。
【図4】情報を保護し、管理するためのシステムの一例を示すイラストである。
【図5】SANすなわちスイッチ機器に基づく構成の一例を示すイラストである。
【図6】情報の保護および管理のためのシステムの他の実施例である。
【図7】情報の保護および管理のためのシステムの他の実施例である。
【図8A−C】情報を保護し、管理する手法の1例を示すフロー図である。
【図9】情報をインターセプトし、記憶する手法の1例を示すフロー図である。
【図10】記憶装置のインデックス手法の1例を示すフロー図である。
【図11A−B】ジャーナルエンジンにより実行させる手法の1例を示すフロー図である。
【図12】ブロックおよびファイルのバージョン付け手法の1例を示すフロー図である。
【図13】格納されたデータの復元手法の1例を示すフロー図である。
【図14】データのバックアップ手法の1例を示すフロー図である。
【技術分野】
【0001】
本発明は、概して言えば電子情報に係り、より詳細には、情報管理に係る。
【0002】
関連出願への相互参照:本特許出願は、引用としてここにその全体を組み入れられた2004年12月31日に出願された米国仮特許出願第60/640,971号、名称「INFORMATION PROTECTION AND MANAGEMENT(情報保護および管理)」に基づくもので、その優先権を主張する。
【背景技術】
【0003】
通常、コンピュータのバックアップ及びリカバリーツールは、一日一回のバックアップのように、スケジュールを組んで設定された数のバックアップを定期的に行うことで使用される。従来のバックアップシステムの潜在的な問題点は、ユーザがデータを復元しなければならない時、最後のバックアップ後に作られたデータが通常は失われるということである。定期的なバックアップ間においても情報が復元されるように、情報を効果的に保護し管理することが望まれている。
【発明の開示】
【課題を解決するための手段】
【0004】
本発明は様々な方法で実現し得る。様々な方法とは、プロセス、装置、システム、合成物、あるいは、コンピュータで読み取り可能なメディア(例えば、コンピュータ読み取り可能記録媒体、又は、プログラム命令が光もしくは電気的な通信リンクに送られるネットワーク等)を含むものである。本明細書では、このような実現方法や本発明がとり得る他の形式を技術として言及する。一般に、開示された処理ステップの順序は発明の範囲で変わり得る。
【0005】
本発明の一又は複数の実施例の詳細な説明が、本発明の原理を示した添付図に従って開示される。そのような実施例に関連して本発明を記載するが、本発明は開示した実施例に限るものではない。発明の範囲は請求項のみにより限定され、発明は多数の代替案、修正、あるいは均等物を含む。本発明の完全な理解を得るため、以下に幾つかの具体的な詳細を説明する。これらの詳細は例を示すためのものであり、本発明は、説明した詳細に関わらず請求項に従い実現され得る。明確さを目的として、本発明を不必要に不明瞭にしないようにするため、本発明に関連する技術分野で知られている技術構成については詳細には説明しない。
【発明を実施するための最良の形態】
【0006】
図1は、情報の保護および管理の一実施例を示す構成要素のブロック図である。図2および図3と関連して論ずると、図1がより良く理解できる。図2は、インターセプター(interceptor)の一例を示すブロック図である。図3は、分配器(distributor)に含まれるルーティング構成要素の一例を示す。
【0007】
図1に示した例において、ユーザアプリケーション100はインターセプター102によりモニターされる。ユーザアプリケーションの例には、ファイルシステム、データベース、および、財務ソフトもしくはワープロなどのアプリケーションが含まれる。すべてのアプリケーションはインターセプター102によりモニターされるように選ばれるか、あるいは、アプリケーションのサブセットがモニターされるように選ばれる。インターセプターは、アプリケーションからオペレーティングシステムへ、入出力(I/O)をインターセプトする。インターセプター102が常にアプリケーションからI/Oをモニターする例もある。
【0008】
他の実施例においては、もしインターセプター102がホストマシンに存在しているならば、情報が記憶装置に書き込まれる前にキャプチャーされる。もしインターセプター102がSANに存在しているならば、オペレーティングシステムがまさに記憶装置に書き込もうとするときに情報がキャプチャーされる。もしインターセプター102がNASあるいはTCP/IPスイッチにあるならば、TCP/IPパケットがインターセプトされる。
【0009】
図2に示した例では、インターセプター102′はファイルインターセプター200、プロトコルパケットインターセプター202、およびブロックインターセプター204を含むように示されている。ある実施例においては、インターセプターコンポーネント200−204の内、ひとつのみをインターセプター102′に含む。また、他の実施例においては、これらインターセプターコンポーネント200−204の内、2つもしくはそれ以上をインターセプター102′に含む。
【0010】
一実施例を挙げると、インターセプター102′がホストマシンに存在し、ファイルI/Oをトラップし、ファイルI/Oにメタ情報を生成するファイルインターセプターを用いる。別の実施例を挙げると、インターセプター102′がNASに存在し、IPプラットフォームのNFS,CIFS,あるいはiSCSIパケットなどのパケットをトラップするプロトコルパケットインターセプターを使う。また別の実施例を挙げると、インターセプター102′がSANとホストマシン双方に存在し、データブロックへの変化をインターセプトするブロックインターセプターを用いる。ファイルインターセプター200及びブロックインターセプター204の使用については、後ほど図12に関連してより詳しく論ずる。
【0011】
図1に戻り、インターセプター102は、情報の重要なイベントを表すマイルストーンマーカ(milestone marker)としてここでは言及されるメタ情報パケットを生成する。ここで用いられるメタ情報は、情報に関する情報を含んでいる。マイルストーンマーカの引き金となるイベントの例には、ファイルの作成、ファイルの消去、およびマイルストーンマーカのバックアップ等が含まれる。バックアップマイルストーンマーカが使用される時の一例は、バックアップマーカがプリセットされたスケジュールに従い書き込まれる時である。他の例は、システムが平穏であり、データを回復するのに良いタイミングと判断される時など、バックアップマイルストーンマーカが日和見主義的に使用される時である。
【0012】
ある実施例では、インターセプター102が情報を受け取り、その情報を単数もしくは複数のパケットに入れ、ディストリビュータ104に受け渡す。
【0013】
ディストリビュータ104はパケットを受け取り、様々なルーティングの仕組みに従いジャーナルログ・ボット(journal logger)106にパケットを送る。ディストリビュータ104が使用する異なるルーティングの仕組みの例には、ネットワークルーティングおよびSANルーティングが含まれる。
【0014】
図3に示した例において、ディストリビュータ104′はネットワークルーティングコンポーネント250およびSANルーティングコンポーネント252が含むように示されている。ディストリビュータ104′が、ネットワークルーティングコンポーネント250あるいはSANルーティングコンポーネント252のどちらかの単一のルーティングコンポーネントを含む例もある。また、ディストリビュータ104′が、ネットワークルーティングコンポーネント250やSANルーティングコンポーネント252などのルーティングコンポーネントを複数含む例もある。ネットワークルーティングコンポーネント250によって使用されるプロトコルの例には、RPC,TCP/IPおよびiSCSIが含まれる。SANルーティングコンポーネント252によって使用されるプロトコルの例には、SCSCIおよびファイバーチャンネルプロトコル(FCP)が含まれる。
【0015】
図1に戻り、ディストリビュータ104は、インターセプター102から離れて位置するか、それともインターセプター102に接して存在し得る。それゆえ、図1に示された情報の保護と管理方法は、アプリケーション100によって使用されるいかなるオペレーティングシステムにも適用され、さらに、いかなるネットワーク構成にも適合する。
【0016】
ディストリビュータ104は、情報をジャーナルログ・ボット106に送る。一実施例として、ジャーナルログ・ボット106はインターセプトされたパケットを変換し、正規化する。するとその結果、これらパケットの記憶と管理がインターセプター102とディストリビュータ104のタイプとは無関係となる。他の実施例として、ジャーナルログ・ボットは受信した情報をメタ情報に変換し、重要ではない情報を取り除く。XMLやXDRなどの技術を使い、あらかじめ決められているフォーマットに標準化してもよい。例えば、ディストリビュータ104はTCP/IPフォーマットのパケットを送り、ジャーナルログ・ボット106はTCP/IPフォーマットをXMLなどのあらかじめ決められているフォーマットに変換する。
【0017】
インターセプター102、ディストリビュータ104並びにジャーナルログ・ボット106は、Cisco社やBrocade社等で製造されているルータおよびマルチプロトコールスイッチなどの市販されている高性能な部品に組み入れられてもよい。
【0018】
メタデータ記憶装置(リポジトリ Repository)112Aを含んだ多重記憶装置112A−112Fから構成される固定記録装置(PS)110に情報が記憶される。一実施例として、データが記憶装置112B−112Fに記録され、そのデータと関連したメタデータがメタデータ記憶装置112Aに記録される。固定記憶装置110は、処理能力を持ったインテリジェントで永続的な記憶装置である。
【0019】
ジャーナルログ・ボット106は、キャッシュメモリ(CS)108、あるいは固定記憶装置110を使い、ジャーナルエンジン114と通信を行う。
【0020】
一実施例として、固定記憶装置110は、記憶されているデータに関するバージョン情報、および記憶されたデータに関連した時間やバージョンなどのインデックスデータ情報を見出し、アップデートすることができるインテリジェントなデータ記憶装置である。固定記憶装置110は、バーチャルLUNなどのバーチャル記憶装置と共に動作してもよい。さらに、様々な技術を使ったファイルシステムやオブジェクト記憶のような、様々な手段と共に作用するマルチバージョニング情報システムとしても動作する。この特徴は、例えば、カーネギーメロン大学で開発された総合バージョニングファイルシステム(CVFS)、Reiser4 FS,あるいはVersioning FSなどの、バージョン分けをサポートするプラグインモジュールあるいはレイヤーを付加することで達成される。マルチバージョニング情報システムの実施に使用される技術の別の例は、Peter J.Varman、Pakesh M.Vermaの「An Efficient Multiversion Access Structure」(IEEE Transaction on Knowlege and Data Engineering,Vol.9,No.3,pp.391−409,May/June 1997)に記載されているマルチバージョンアクセス構造である。固定記憶装置110は、SATA,ATA,SCSI,あるいはFCディスクなどのいかなる記録媒体をも使うことができる。
【0021】
ジャーナルエンジン114は固定記憶装置110に記憶された情報を処理する。ジャーナルエンジン114はユーザ要求に応答するクエリー処理エンジンを含む。さらには、特別なデータのコピー数、そのコピーがどこにあるか、いつそれぞれ異なるバージョンが作られたかといったことを明らかにして、維持する。
【0022】
また、ジャーナルエンジン114は、企業ポリシーやSECコンプライアンスポリシーのようなポリシー(規則)を実施するポリシーエンジンを含む。ジャーナルエンジン114は、例えば、いくつのバージョンのデータが記憶されているか、いつデータが別の記憶デバイスに移されたか、いくつ特定のドキュメントのコピーが保持されているか等々を管理する。さらには、どのプログラムがデータとそのプロパティを作成したか等のオリジナルデータ情報源を保持している。ここで、プロパティとは、誰が作成したか、いつ作成されたか、そのサイズのみならず、データに関連した記憶装置の実体、及び、記憶装置のスタックスキーマ(例えば、ファイルシステム、ボリューム管理、LUNSなど)をいう。また、ジャーナルエンジン114は、例えば固定記憶装置の転記マーカにより、マイルストーンマーカを管理し、マイルストーンマーカが何を意味するかを明らかにする。例えば、マイルストーンマーカは、バックアップを行うための良いタイミングを指示したり、意味のあるバージョンを指示したりする。また、ジャーナルエンジン114は、メタデータ情報を保持する。メタデータ情報の例として、特定のドキュメントから二つのコピーが作られ、その一方が削除され、いつ、誰により削除されたか、などの情報がある。
【0023】
また、ジャーナルエンジン114は、記憶装置の最適化のためのジャーナルの圧縮のみならず、特定のデータの暗号を管理する。また、ジャーナルエンジン114は、ユーザに任意の時刻におけるデータを見せるため、バーチャルスナップショットを管理する。バーチャルスナップショットオプションは、NFS,CIFSファイルシステムやLUNなどの様々な形式で実現され得る。例えば、ユーザの要求が2:00pmにおけるDドライブを見ることであれば、ジャーナルエンジン114は、固定記憶装置110並びにもし必要であれば他の2次的な記憶装置(そこには最適化のためにデータが移されている)から2:00pmにおけるDドライブの完全なデータセットを構築する。ジャーナルエンジン114のさらなる詳細については、後ほど残りの図に関連して論ずる。
【0024】
バーチャルアクセスインターフェース116は、LUN、ファイルシステム、ネットワークファイルシステム、あるいはアプリケーションオブジェクトなどの色々な形式でユーザに要求された情報を提示する。バーチャルアクセスインターフェース116は、グラフィックユーザインターフェースなどのユーザインターフェースとして機能するサービスと管理のコンソール118と連携して動作する。そして、ユーザが、ポリシー、構成、クエリー選択、並びに、閲覧と復元のための一般的なユーザインターフェース等を設定できるようにする。
【0025】
図4は情報を保護し、管理するためのシステムの一実施例を示すイラストである。この例では、アプリケーションサーバ300AはLAN308Aと接続している。アプリケーションサーバはホスト記憶装置304Aとも接続している。また、LAN308Aはデータ保護装置302Aと接続している。データ保護装置302Aは、図4の要素102−110の少なくとも一つのデータ保護を行う能力がある処理マシンである。データ保護装置302Aは記憶装置306Aとも接続している。記憶装置306Aはマルチストレージデバイスを含む保護記憶スペースである。
【0026】
一実施例として、インターセプター102とディストリビュータ104はアプリケーションサーバ300Aに存在する。ジャーナルログ・ボット106、ジャーナルエンジン114、及び固定記憶装置110はデータ保護装置に存在している。付け加えるならば、図1のバーチャルアクセスインターフェース116とサービスと管理のコンソール118はデータ保護装置302Aに存在している。
【0027】
他の実施例では,インターセプター102はホスト記憶装置304Aに存在する。
【0028】
図5はSANすなわちスイッチ機器に基づく構成の一例を示すイラストである。この例では、LAN308Bはアプリケーションサーバ300Bとデータ保護装置302Bに接続されている。アプリケーションサーバ300Bとデータ保護装置302Bは共にスイッチ機器320に接続している。スイッチ機器320は記憶装置304Bと保護記憶装置306Bに接続されている。他の実施例として、データ保護装置302Bが保護記憶装置306Bに直接接続されている例もある。
【0029】
一実施例として、インターセプター102、ディストリビュータ104、およびジャーナルログ・ボット106はスイッチ機器320に存在している。ジャーナルエンジン114と固定記憶装置110はデータ保護装置302Bに存在している。
【0030】
他の実施例として、インターセプター102、ディストリビュータ104、およびジャーナルログ・ボット106は記憶装置304Bに存在している。ジャーナルログ・ボットがデータ保護装置302Bに存在している例もある。また、他の実施例として、インターセプター102、ディストリビュータ104、およびジャーナルログ・ボット106はアプリケーションサーバ300Bに存在している。
【0031】
図6に、情報の保護および管理のためのシステムの他の実施例を示す。この例では、アプリケーションサーバ300CはLAN308Cと接続されており、LAN308CはNAS330Aとデータ保護装置302Cに接続されている。データ保護装置302Cは保護記憶装置306Cに接続されている。
【0032】
一実施例として、インターセプター102、ディストリビュータ104、ジャーナルログ・ボット106、ジャーナルエンジン114、及び、固定記憶装置110はデータ保護装置302Cに存在している。他の実施例では、インターセプター102とディストリビュータ104がアプリケーションサーバ300Cに存在し、ジャーナルログ・ボット106、ジャーナルエンジン114、及び、固定記憶装置110がデータ保護装置302Cに存在する。また、他の実施例では、インターセプター102、ディストリビュータ104、及び、ジャーナルログ・ボット106がNAS330Aに存在し、ジャーナルエンジン114と固定記憶装置110がデータ保護装置302Cに存在している。さらに他の実施例では、インターセプター102、ディストリビュータ104、及び、ジャーナルログ・ボット106がアプリケーションサーバ300Cに存在している。さらに他の実施例では、(図示していない)スイッチ装置がLAN308Cに接続され、そのスイッチ装置にインターセプター102とディストリビュータ104とが存在している。
【0033】
図7に、情報の保護および管理のためのシステムの他の実施例を示す。この例では、LAN308Dが複数のアプリケーションサーバ300D−300Eに接続しているのみならず、データ保護装置302DとNAS330Bにも接続している。アプリケーションサーバ300Dとデータ保護装置302Dはスイッチ装置340に接続され、スイッチ装置340は記憶装置306Dと304Dとに接続されている。
【0034】
一実施例として、保護されるべきコンポーネント102−114はデータ保護装置302Dに存在している。他の実施例では、インターセプター102とディストリビュータ104がアプリケーションサーバ300D−Eに存在する。また他の実施例では、インターセプター102、ディストリビュータ104、並びに、ジャーナルログ・ボット106がスイッチ機器340に存在している。さらに他の実施例では、(図示されていない)LANスイッチ機器がLAN308Dに接続され、インターセプター102とディストリビュータ104がLANスイッチ機器に存在する。
【0035】
図4−7に記述されたシステムは単に可能性のある構成を示した例にすぎない。様々なデバイスの組み合わせに存在する保護されるべきコンポーネント102−114のあらゆる組み合わせを含む他の実施例では、また別の構成が予想される。
【0036】
図8A−8Cは、情報を保護し、管理する手法の1例を示すフロー図である。この例では、入出力(I/O)は常にOS上のアプリケーションから監視されている(400)。I/Oがインターセプトされる(402)。例えば、ドライブDが常に監視されていれば、OS上のドライブDのアプリケーションからのI/Oがインターセプトされる。同様に、特定のファイルが監視されていれば、そのファイルに関連したI/Oが常に監視され、インターセプトされる。
【0037】
一例として、重要なバージョンが作成されたか否かを明らかにする(404)。例えば、ユーザがワード文書で作業しているとき、ワード文書の変化が常に監視され、インターセプトされる。この文書の特定の変化が重要なバージョンであるか否かを明らかにする。重要なバージョンの一例として、ユーザが変更するとき、変更を保存するとき、文書を閉じるときなどがある。
【0038】
これは重要なバージョンであると決定されると(404)、データとメタデータが保存される(406)。ここで用いられるメタデータとは、データに関する情報である。メタデータの例には、データが作成された時間、作成者、関連するアプリケーションなどが含まれる。次に、記憶装置のメタデータがアップデートされ、維持される(408)。ここで用いられる記憶装置のメタデータとは、保存されているデータに関する情報である。記憶装置のメタデータの例には、データの保存場所、この特定のデータのコピーがいくつ保存されているか、この文書やファイルのバージョンがいくつ保存されているか、などがある。
【0039】
次に、このインターセプトされたI/Oがマイルストーンであるか否かを判断する(410)。ここで用いられるマイルストーンとは、ファイルの作成、ファイルの消去、バックアップを行うに良いタイミングなどの情報の重要なイベントである。もし、マイルストーンイベントであれば(410)、マイルストーンマーカがデータに関連付けられる(412)。
【0040】
次に、高性能なメディアに保存すべきか否かを判断する(422)。例えば、特定のファイルはとても重要であり,常に高性能なメディアに保存されるように指定される、あるいは、パワーポイントのプレゼンテーションなどのあるタイプのドキュメントは常に性能の低いメディアに保存されるように指定される。従って、データを高性能なメディアに保存する必要がないと確認されると(422)、性能の低いメディアに保存される(424)。しかし、高性能なメディアに保存すべきと確認されると、高性能なメディアに保存される(426)。次に、メディアの中のデータの位置を表すために、記憶装置のメタデータがアップデートされる(428)。
【0041】
次に、データが定期的に変化しているか否かを判断する(414)。ファイルが低い性能で安価な記憶装置に保存されるべきか、処理レベルを決定するために、変化の定期性即ち頻度レベルは、ポリシーで設計される。もし、データが定期的に変化していなければ、そのデータは安価な低い性能の記憶装置に移される(416)。しかし、データが定期的に変化していれば、そのデータは高性能な記憶装置に維持される(420)。
【0042】
次に、ファイルが削除されるか否かが判断される(450)。インターセプトされたI/Oがファイルを削除するためのものであれば、ポリシーがこのファイルの削除を許可するか否かを判断する(456)。もし、あらかじめ決められたポリシーがファイルの削除を許可しない場合、ファイルのコピーが継続保持される(458)。例えば、企業ポリシーあるいはSECポリシーは、全ての財務文書を数年間保管するように要求する。もしユーザが財務文書を削除しようと試みた場合、ユーザのコンピュータからはファイルが消されるかも知れないが、ポリシーに従い、ファイルのコピーが低性能のアーカイブ記憶措置に保持される。
【0043】
ポリシーがファイルの削除を許可する場合(456)、ファイルは削除される(460)。ファイルがユーザマシン上から削除されるとき、ポリシーがファイルの全てのコピーとバージョンの削除を指示するか否かを判断する(462)。ポリシーが全てのコピーとバージョンの削除を指示しない場合、ファイルのコピーとバージョンは保持される(464)。しかし、ポリシーが全てのコピーとバージョンの削除を指示する場合(462)、ファイルの全てのコピーとバージョンは削除される(466)。例えば、パワーポイントのプレゼンテーションがユーザにより削除され、プレゼンテーションには10個の保存されたバージョンがある場合、ユーザが現在のプレゼンテーションを削除すると保存されている10個のバージョンが全て削除される。
【0044】
次に、ポリシーに特別な動作が必要か否かが確認される(468)。この場合、動作はポリシーに従い実行される(470)。例えば、会社が全ての電子メールを特別な電子メール保管領域に保存するポリシーを持っている。この例では、インターセプトされたI/Oが電子メールに関係しているか否かを確認し、関係していれば特別な電子メール保管領域に保存する。
【0045】
図9は情報をインターセプトし、記憶する手法の1例を示すフロー図である。この例では、I/OはOS上のアプリケーションによりインターセプトされる(500)。メタデータのパケットが作成される(502)。メタデータの例には、変化が起こった時間、どのアプリケーションに起こったのか、あるいはどのコンピュータシステムに起こったのかなどがある。このイベントがマイルストーンであるか否かを判断する(504)。マイルストーンの場合、マイルストーンマーカがメタデータのパケットに含まれる(506)。
【0046】
次に、データとメタデータのパケットがネットワークルーティングプロトコールを通って送られたか否かを判断する(508)。ネットワークルーティングプロトコールを通って送付されていない場合、この例では、SANルーティングプロトコールあるいは共有メモリ方式がパケットを送るために使われる(510)。しかし、ネットワークルーティングプロトコールを使う場合(508)、パケットを送るためにネットワークルーティングプロトコールが使われる(512)。図1のジャーナルログ・ボット106のようなジャーナルログ・ボットにパケットが送られる例がある。
【0047】
パケットは要求されたフォーマットに変換される(514)。例えば、パケットはXMLに変換され、FCパケットフォーマット形式で記録メディアに送られる。次に、パケットが保存される(516)。
【0048】
図10は、記憶装置のインデックス手法の1例を示すフロー図である。この例では、データパケットは記録装置に受信される(600)。パケットがメタデータであるか否かを判断する(602)。パケットがメタデータである場合(602)、パケットはメタデータ保管領域に格納される(604)。パケットがメタデータではない場合(602)、このファイルのコピーがすでに存在するか否かを判断する(606)。ここで使われるファイルとは、ファイル、文書、エクセルのシート、データベース、あるいはファイルシステム・ディレクトリなどのあらゆるデータの集合である。
【0049】
次に、このデータのコピーがすでに存在するか否かを判断する(606)。すでにコピーが記録メディアに存在する場合(606)、記憶インデックス内のコピー情報と記憶場所がアップデートされる(608)。一例として、ファイルのコピーがいくつ格納されているか、いくつのバージョンが格納されているか、また、これらコピーとバージョンそれぞれの記憶場所などの情報を含んだ記憶インデックスが保持される。
【0050】
次に、データの古いバージョンが存在するか否かを判断する(610)。古いバージョンがある場合、記憶インデックス内のバージョン情報と各種バージョンの記憶場所がアップデートされる(612)。
【0051】
次に、受信したパケットがファイルを削除するように指示しているか否かを判断する(614)。削除する場合、記憶インデックスはコピーおよびバージョンが削除されたとアップデートされる(616)。
【0052】
一実施例として、この種の情報のトラックを保持し続けることは、格納されたデータに関連するクエリーへの回答をのみならず、SECコンプライアンスや企業ポリシーコンプライアンスのアシストを促進する。
【0053】
図11A−11Bは、ジャーナルエンジンにより実行させる手法の1例を示すフロー図である。この例では、バージョンの数が最大数に達しているか否かを判断する(700)。例えば、ポリシーで文書のバージョン数10まで保存できるように指示する。バージョンの数が最大数に達する場合、この例では、一番古いバージョンを削除する(702)。
【0054】
次に、現在の特別な状況がリカバリーに良いタイミングであるか否かを判断する(704)。リカバリーに良いタイミングの一例は、ほとんどシステムに変化が起こらない真夜中などの、全て若しくはほとんどのアプリケーションが活動していないか静止状態である時である。リカバリータイミングの別の例は、例えば2時間おきにリカバリーするスケジュールのような、予定されたリカバリータイミングである。
【0055】
一実施例では、現在の状況がリカバリーのタイミングの場合(704)、アプリケーションを静止状態にする(706)。アプリケーションが静止状態にした時、バックアップが為されたクリーンな時点を得るために、この間、I/Oが止められる。他の実施例では、この間バックアップが為されない。アプリケーションが静止状態にされ、バックアップマイルストーンマーカが置かれる(708)。ある実施例では、実際のバックアップが行われない為、アプリケーションの静止とバックアップマイルストーンマーカの設置は素早くかつ効率的に行わねばならない。
【0056】
次に、特定の保存データが古いか否かを判断する(710)。古いと考えるデータの寿命はポリシーで指定される。例えば、一週間前のデータは古いと決める。データが古い場合、低い性能の記憶装置にアーカイブされる(712)。
【0057】
次に、固定記憶装置にあるデータがあらかじめ決められた量に達したか否かを判断する(750)。格納されたデータがあらかじめ決められている量のスペースを占めている場合、データを低い性能の記憶装置に移動する(752)。一実施例では、低い性能の記憶装置に移動するデータに優先順位が付けられ、その結果、あるタイプのデータが、他のタイプのデータに先んじて、低い性能の記憶装置に移動される。例えば、パワーポイントのプレゼンテーションは電子メールより先に低い性能の記憶装置に移動され、順に、電子メールはワードの文書に先立ち低い性能の記憶装置に移動される。
【0058】
次に、格納されたデータがマル秘であるかを判断する(754)。データがマル秘である場合、データに暗号化が適用される(756)。
【0059】
次に、格納されたデータが圧縮可能かを判断する(758)。データが圧縮可能である場合、データに圧縮が適用される(760)。
【0060】
図12はブロックおよびファイルのバージョン付け手法の1例を示すフロー図である。この例では、ファイルのバージョン付けを行うか否かを判断する(800)。ファイルのバージョン付けが起こる場合、モニターするファイルを識別する(802)。例えば、ファイルシステム全体がモニターされるように指定される。あるいは、特別なファイルおよびファイルグループがモニターされるように識別される。次に、選択ファイルに変化するブロックがモニターされ、インターセプトされる(804)。次に、変化したファイルに関連しているこのような変化が保存される。
【0061】
ファイルのバージョン付けが起こらない場合(800)、モニターされるデータブロックが識別される(808)。一例として、モニターされるデータブロックは、そのデータが関連しているファイルと無関係である。次に、ブロックの変化がモニターされ、インターセプトされる(810)。ブロックの変化が保存され、変化に関連したメタデータもまたアップデートされる(812)。変化したブロックに関連したメタデータの例として、データブロックに関連したファイルが含まれる。保存したメタデータを使い、保存されたブロックの存在するファイルが再構成される(814)。
【0062】
このようにして、ブロックおよびファイルのバージョン付けが行われる。ファイルあるいはブロック、あるいはその双方を用いる適切な方法を選択することにより、この例は一部修正されることがある。
【0063】
図13は格納されたデータの復元手法の1例を示すフロー図である。この例では、ファイルを見るという要求が受信される(900)。例えば、D:/A.Textという名称のファイルを見るという要求を受ける。マイルストーン属性を持つ複数のバージョンが見出される(902)。例えば、要求されたファイルの複数のバージョンを探すため、図1の固定記憶装置110などの固定記憶装置にサーチが行われる。これらのバージョンに関連したマイルストーン属性もまた見つかる。マイルストーン属性の例として、バージョンの日付、時刻がある。
【0064】
これらのバージョンはマイルストーン属性と共に表示される(904)。従って、ユーザは、時刻、バージョン、およびこの特別なバージョンがバックアップ品質のバージョンであることを示す静止状態の時点が記載されたバージョンリストを見る。次に、複数のバージョンの内のひとつに復元する要求を受信し(906)、選択されたバージョンに復元される(908)。
【0065】
図14は、データのバックアップ手法の1例を示すフロー図である。この例では、バックアップを行う要求が受信される(950)。次に、リカバリーポイントのマイルストーンマーカの所在を突き止める(952)。次に、リカバリーポイントが選択される(954)。例えば、リカバリーポイントのマイルストーンマーカを持つバージョンの所在が突き止められ、ユーザに表示され、ユーザがバックアップするためのリカバリーポイントを選択する。あるいはまた、バックアップが計画的に行われ、その結果、特定の時刻のバージョンが自動的に選択される(954)。
【0066】
記憶装置のメタデータを使用して、選択されたリカバリーポイントのマイルストーンマーカに関連した格納データの所在が突き止められる(956)。例えば、記憶装置のメタデータは、選択されたデータがどこに格納されているかを示す。次に、この例では、選択された格納データによりバックアップが行われる(958)。一例として、アプリケーションが通常のパフォーマンスレベルで動作することを許可しながら、格納データによりバックアップが行われる。
【0067】
上述の実施例は明瞭な理解を目的として詳しく記述したが、本発明はその詳細な記述に限るものではない。本発明を実現する多くの代替手段がある。説明した実施形態は実施例であり、限定するものではない。
【図面の簡単な説明】
【0068】
【図1】情報の保護および管理の一実施例を示す構成要素のブロック図である。
【図2】インターセプターの一例を示すブロック図である。
【図3】分配器に含まれるルーティング構成要素の一例である。
【図4】情報を保護し、管理するためのシステムの一例を示すイラストである。
【図5】SANすなわちスイッチ機器に基づく構成の一例を示すイラストである。
【図6】情報の保護および管理のためのシステムの他の実施例である。
【図7】情報の保護および管理のためのシステムの他の実施例である。
【図8A−C】情報を保護し、管理する手法の1例を示すフロー図である。
【図9】情報をインターセプトし、記憶する手法の1例を示すフロー図である。
【図10】記憶装置のインデックス手法の1例を示すフロー図である。
【図11A−B】ジャーナルエンジンにより実行させる手法の1例を示すフロー図である。
【図12】ブロックおよびファイルのバージョン付け手法の1例を示すフロー図である。
【図13】格納されたデータの復元手法の1例を示すフロー図である。
【図14】データのバックアップ手法の1例を示すフロー図である。
【特許請求の範囲】
【請求項1】
アプリケーションからの出力を、実質上継続的に監視(モニター)するステップと、
前記出力が予め決められたタイプのバージョンと関連しているかを判断するステップと、
前記出力が予め決められたタイプのバージョンと関連している場合、前記出力に関連したデータを保存するステップと、
を含む情報管理方法。
【請求項2】
前記出力がオペレーティングシステム上のアプリケーションからのものである、請求項1に記載の方法。
【請求項3】
前記予め決められたタイプのバージョンが重要なバージョンである、請求項1に記載の方法。
【請求項4】
保存と終了が実行された場合、前記出力が予め決められたタイプのバージョンに関連している、請求項1に記載の方法。
【請求項5】
記憶装置のメタデータをアップデートするステップを、更に備えた請求項1に記載の方法。
【請求項6】
保存データがデータ保護と関連する、請求項1に記載の方法。
【請求項7】
アプリケーションが存在するデバイス外のメディアにデータが保存される、請求項1に記載の方法。
【請求項8】
データがマイルストーンに関連するかを判断するステップを、更に備えた請求項1に記載の方法。
【請求項9】
前記マイルストーンがバックアップのための候補である、請求項8に記載の方法。
【請求項10】
前記マイルストーンが重要なバージョンである、請求項8に記載の方法。
【請求項11】
(a)アプリケーションからの出力を、実質上継続的に監視(モニター)し、
前記出力が予め決められたタイプのバージョンと関連しているかを判断する、
ように構成されたプロセッサーと、
(b)前記プロセッサーと接合し、
前記出力が予め決められたタイプのバージョンと関連している場合、前記出力に関連したデータを保存する、
ように構成されたメモリーと、
を備えた情報管理システム。
【請求項12】
前記メモリーが前記プロセッサーから離れている、請求項11に記載のシステム。
【請求項13】
前記メモリーが前記プロセッサーの一部である、請求項11に記載のシステム。
【請求項14】
前記メモリーがLANを経由して前記プロセッサーと接合している、請求項11に記載のシステム。
【請求項15】
前記予め決められたタイプのバージョンが重要なバージョンである、請求項11に記載のシステム。
【請求項16】
保存と終了が実行された場合、前記出力が予め決められたタイプのバージョンに関連している、請求項11に記載のシステム。
【請求項17】
コンピュータ読み取り可能な記録媒体に実装されたコンピュータプログラム製品であって、
アプリケーションからの出力を、実質上継続的に監視(モニター)するステップと、
前記出力が予め決められたタイプのバージョンと関連しているかを判断するステップと、
前記出力が予め決められたタイプのバージョンと関連している場合、前記出力に関連したデータを保存するステップと、
に関するコンピュータ命令を含んだ、情報管理のためのコンピュータプログラム製品。
【請求項18】
前記予め決められたタイプのバージョンが重要なバージョンである、請求項17に記載のコンピュータプログラム製品。
【請求項19】
保存と終了が実行された場合、前記出力が予め決められたタイプのバージョンに関連している、請求項17に記載のコンピュータプログラム製品。
【請求項20】
前記データがバックアップのための候補であるマイルストーンに関連するかを判断する命令を更に含む、請求項17に記載のコンピュータプログラム製品。
【請求項1】
アプリケーションからの出力を、実質上継続的に監視(モニター)するステップと、
前記出力が予め決められたタイプのバージョンと関連しているかを判断するステップと、
前記出力が予め決められたタイプのバージョンと関連している場合、前記出力に関連したデータを保存するステップと、
を含む情報管理方法。
【請求項2】
前記出力がオペレーティングシステム上のアプリケーションからのものである、請求項1に記載の方法。
【請求項3】
前記予め決められたタイプのバージョンが重要なバージョンである、請求項1に記載の方法。
【請求項4】
保存と終了が実行された場合、前記出力が予め決められたタイプのバージョンに関連している、請求項1に記載の方法。
【請求項5】
記憶装置のメタデータをアップデートするステップを、更に備えた請求項1に記載の方法。
【請求項6】
保存データがデータ保護と関連する、請求項1に記載の方法。
【請求項7】
アプリケーションが存在するデバイス外のメディアにデータが保存される、請求項1に記載の方法。
【請求項8】
データがマイルストーンに関連するかを判断するステップを、更に備えた請求項1に記載の方法。
【請求項9】
前記マイルストーンがバックアップのための候補である、請求項8に記載の方法。
【請求項10】
前記マイルストーンが重要なバージョンである、請求項8に記載の方法。
【請求項11】
(a)アプリケーションからの出力を、実質上継続的に監視(モニター)し、
前記出力が予め決められたタイプのバージョンと関連しているかを判断する、
ように構成されたプロセッサーと、
(b)前記プロセッサーと接合し、
前記出力が予め決められたタイプのバージョンと関連している場合、前記出力に関連したデータを保存する、
ように構成されたメモリーと、
を備えた情報管理システム。
【請求項12】
前記メモリーが前記プロセッサーから離れている、請求項11に記載のシステム。
【請求項13】
前記メモリーが前記プロセッサーの一部である、請求項11に記載のシステム。
【請求項14】
前記メモリーがLANを経由して前記プロセッサーと接合している、請求項11に記載のシステム。
【請求項15】
前記予め決められたタイプのバージョンが重要なバージョンである、請求項11に記載のシステム。
【請求項16】
保存と終了が実行された場合、前記出力が予め決められたタイプのバージョンに関連している、請求項11に記載のシステム。
【請求項17】
コンピュータ読み取り可能な記録媒体に実装されたコンピュータプログラム製品であって、
アプリケーションからの出力を、実質上継続的に監視(モニター)するステップと、
前記出力が予め決められたタイプのバージョンと関連しているかを判断するステップと、
前記出力が予め決められたタイプのバージョンと関連している場合、前記出力に関連したデータを保存するステップと、
に関するコンピュータ命令を含んだ、情報管理のためのコンピュータプログラム製品。
【請求項18】
前記予め決められたタイプのバージョンが重要なバージョンである、請求項17に記載のコンピュータプログラム製品。
【請求項19】
保存と終了が実行された場合、前記出力が予め決められたタイプのバージョンに関連している、請求項17に記載のコンピュータプログラム製品。
【請求項20】
前記データがバックアップのための候補であるマイルストーンに関連するかを判断する命令を更に含む、請求項17に記載のコンピュータプログラム製品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11A】
【図11B】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11A】
【図11B】
【図12】
【図13】
【図14】
【公表番号】特表2008−527494(P2008−527494A)
【公表日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−549468(P2007−549468)
【出願日】平成17年12月19日(2005.12.19)
【国際出願番号】PCT/US2005/046111
【国際公開番号】WO2006/073803
【国際公開日】平成18年7月13日(2006.7.13)
【出願人】(507024769)イーエムシー コーポレイション (13)
【Fターム(参考)】
【公表日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願日】平成17年12月19日(2005.12.19)
【国際出願番号】PCT/US2005/046111
【国際公開番号】WO2006/073803
【国際公開日】平成18年7月13日(2006.7.13)
【出願人】(507024769)イーエムシー コーポレイション (13)
【Fターム(参考)】
[ Back to top ]