(57)【要約】所望のデータをバックアップするシステムは、システムとバックアップデータを格納するバックアップストレージとの間で情報を伝送するように構成されている通信リンクと、通信リンクに連結されたプロセッサとを備える。プロセッサは、所望のデータの関連実体データを決定し、所望のデータの関連実体データと格納されたデータとを比較し、関連実体データと該格納されたデータとの比較に基づいて、該通信リンクを介して該関連実体データを伝送して格納するように構成されている。
2005502956.tif 000002
【特許請求の範囲】
【請求項１】
所望のデータをバックアップするシステムであって、
該システムとバックアップデータを格納するバックアップストレージとの間で情報を伝送するように構成されている通信リンクと、
該通信リンクに連結されたプロセッサであって、
該所望のデータの関連実体データを決定し、
該所望のデータの該関連実体データと格納されたデータとを比較し、
該関連実体データと該格納されたデータとの比較に基づいて、格納するために、該通信リンクを介して該関連実体データを伝送するように構成されているプロセッサと、
を備えたシステム。
【請求項２】
前記プロセッサが、前記関連データのうち、前記格納されたデータ内に存在する少なくともいくつかであって、格納のために伝送する少なくともいくつかを迂回するように構成されている、請求項１に記載のシステム。
【請求項３】
前記プロセッサが、前記関連実体データが前記格納されたデータ内に存在しない場合にのみ、該関連実体データを格納のために伝送する、請求項１に記載のシステム。
【請求項４】
前記プロセッサが、前記所望のデータの構成と該構成の一部と関連するデータとを分析することにより、前記関連実体データを決定するように構成されている、請求項１に記載のシステム。
【請求項５】
前記プロセッサが、前記関連実体データを変更耐性フォーマットにマッピングし、該変更耐性フォーマットされた実体データを用いて、該関連実体データと前記格納されたデータとを比較するように構成されている、請求項４に記載のシステム。
【請求項６】
前記プロセッサが、前記関連実体データに対して差分バックアップを実行し、該関連実体データと前記格納されたデータとを比較するように構成されている、請求項１に記載のシステム。
【請求項７】
前記プロセッサが、実体データが前記格納されたデータ内に存在しないこと、および該格納されたデータ内の実体データが前記関連実体データ内に存在しないというインディカを、前記通信リンクを介して伝送するようにさらに構成されている、請求項１に記載のシステム。
【請求項８】
前記インディカが、キー追加コマンド、値追加コマンド、キー除去コマンド、値除去コマンド、および値変更コマンドのうちの少なくとも１つを含む、請求項７に記載のシステム。
【請求項９】
前記プロセッサが、前記所望のデータ内のデータのグルーピングを決定することにより、前記関連実体データを決定するように構成されている、請求項１に記載のシステム。
【請求項１０】
前記プロセッサが、前記所望のデータに関連するインデックスを分析することにより、前記データのグルーピングを決定するように構成されている、請求項９に記載のシステム。
【請求項１１】
前記プロセッサが、前記データのグルーピングに対して共通ファイル排除を実行し、前記関連実体データと前記格納されたデータとを比較するように構成されている、請求項９に記載のシステム。
【請求項１２】
前記プロセッサが、前記通信リンクを介して、前記格納されたデータ内に存在するデータグルーピングと前記関連実体データとの関係のインディカを伝送するようにさらに構成されている、請求項１１に記載のシステム。
【請求項１３】
コンピュータ実行可能命令を含むコンピュータ読取り可能媒体上に存在するコンピュータプログラム製品であって、コンピュータに、
実体データとフィラーデータとを複数のレベルで含む集合データを分析させ、
該集合データの該レベルに関連するレベルと値とを示す該実体データを決定させ、
該決定された実体データと格納されたデータとを比較して、該決定された実体データと該格納されたデータとの間の、実体内容レベルおよび値における差分を決定するようにさせる、コンピュータプログラム製品。
【請求項１４】
前記コンピュータに比較させる前記命令が、該コンピュータに、差分バックアップ手法を適用させる、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記命令が、前記コンピュータに、変更耐性フォーマットで前記決定された実体データを格納させる、請求項１３に記載のコンピュータプログラム製品。
【請求項１６】
前記コンピュータに比較させる前記命令が、該コンピュータに、差分バックアップ手法を適用させ、該命令が、該コンピュータに、少なくとも、前記変更耐性フォーマットであり前記格納されたデータ内に存在しない実体データをバックアップさせる命令をさらに含む、請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
前記命令が、前記コンピュータに、前記決定された実体データが前記格納されたデータ内に存在しないデータを含むという追加インディカを提供させ、該格納されたデータが該決定された実体データ内に存在しないデータを含むという除去インディカを提供させる、請求項１３に記載のコンピュータプログラム製品。
【請求項１８】
コンピュータ実行可能命令を含むコンピュータ読取り可能媒体上に存在するコンピュータプログラム製品であって、コンピュータに、
データサブグループを含むデータを分析させ、
データファイル内の該データサブグループを識別させ、
該データサブグループと格納された潜在的に共通のデータセットとを比較させ、
該比較に基づいて該データサブグループをバックアップさせる、コンピュータプログラム製品。
【請求項１９】
前記命令が前記コンピュータに、前記格納された潜在的に共通のデータセット内に存在しないデータサブグループのみをバックアップさせる、請求項１８に記載のコンピュータプログラム製品。
【請求項２０】
前記命令が前記コンピュータに、比較のために前記データサブグループを別々のファイルとして格納させる、請求項１８に記載のコンピュータプログラム製品。
【請求項２１】
前記命令が前記コンピュータに、共通ファイル排除手法を用いて、前記データサブグループと前記格納された潜在的に共通のデータセットとを比較させる、請求項１８に記載のコンピュータプログラム製品。
【請求項２２】
前記命令が前記コンピュータに、前記潜在的に共通のデータセットの少なくとも１つが前記データファイルと関連することを示す除去インディカを提供させる、請求項１８に記載のコンピュータプログラム製品。
【請求項２３】
前記命令が前記コンピュータに、前記潜在的に共通のデータセットの少なくとも１つが前記データファイルの特定の部分と関連することを示す除去インディカを提供させる、請求項２２に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、データをバックアップすること、より詳細には、非決定ファイルをバックアップすることに関する。
【背景技術】
【０００２】
（本発明の背景）
データバックアップによる電子データ保護は、一般のイベントであり、ますます多くのメモリー量および処理能力を費やすイベントである。データファイルは、今日、一般的に、従来のソフトウェアプログラムを使用するよりも、より多くのメモリーを占有している。それ故、これらのファイルのバックアップは、より多くの格納スペースならびにファイルを転送および格納するための通信リンクバンド幅より多くの処理能力および通信リンクバンド幅を要求する。膨大な量のデータをバックアップする場合、変更のなかったデータをバックアップせず、可能な限り少ないファイルのコピー（好ましくは１つ）をバックアップして、データバックアップを低減することが望ましい。
【０００３】
バックアップシステムに必要なバンド幅および格納を大幅に低減する、ネットワークに基づくコンピュータバックアップシステムのための数多くの手法が開発されてきた。２つの例は、差分ファイルおよび共通ファイルの排除（例えば、Ｃａｎｅら、米国特許第５，７６５，１７３号）である。一般的に、差分ファイルのバックアップは、前のファイル内の情報を固定サイズのブロック単位に表す１セットのハッシュコードを使用してファイル内に生じた変更を決定することによって行われる。これらのハッシュコードは、現在変更された同じファイルに対して照合され、変更のあったファイルの領域および変更のなかったファイルの領域を決定する。この結果、変更のあったファイルの部分を送信および格納するための大バンド幅およびスペースが著しく節約される。共通ファイル排除は、バックアップされるべきファイルが他のバックアップされるべきファイルと同じかどうか（例えば、既にバックアップされたファイルか）を決定し、もしそうであれば、そのファイルの１つのコピーのみを格納する。共通ファイル排除手法は、ファイル以外のデータグループに適用され得る。
【発明の開示】
【課題を解決するための手段】
【０００４】
（発明の要旨）
本発明は、一般的に、ある局面で、所望のデータをバックアップするためのシステムであって、そのシステムとバックアップデータを格納するためのバックアップストレージとの間で情報を伝送するよう構成された通信リンクを含むシステム、および、通信リンクと結合されたプロセッサを提供する。そのプロセッサは、所望のデータの関連実体データ決定、格納されたデータと所望のデータの関連実体データとの比較、および格納されたデータと関連実体データの比較に基づいて格納のために通信リンクを介して関連実体データの伝送をするように構成されている。
【０００５】
本発明のインプリメンテーションは、以下のような特徴の１つ以上を含み得る。プロセッサは、格納するために伝送するための関連データのうちの、格納データ中に存在する少なくとも一部を無視するよう構成される。プロセッサは、関連実体データが格納されたデータにない場合に限り、格納のための関連実体データを伝送するよう構成される。プロセッサは、所望のデータの構造およびその構造の部分と関連するデータを分析することで、関連実体データを決定するよう構成される。プロセッサは、変化耐性フォーマットに関する、関連実体データをマッピングし、変化耐性フォーマットされた実体データを用いて関連実体データと格納されたデータを比較するよう構成される。プロセッサは、関連実体データと格納されたデータを比較するように、関連実体データにおいて差動バックアップを行うよう構成される。
【０００６】
本発明のインプリメンテーションは、また、以下のような特徴の１つ以上を含み得る。プロセッサは、実体データが格納されたデータにないというインディカ、および、格納されたデータ内の関連実体データが格納されたデータにないというインディカを、通信ラインを介して、伝送するようさらに構成される。インディカは、追加キーコマンド、追加値コマンド、削除キーコマンド、削除値コマンドおよび変化値コマンドのうち少なくとも１つを含む。プロセッサは、所望のデータ内でデータのグルーピングを決定することによって、関連実体データを決定するように構成されている。プロセッサは、所望のデータに関連するインデックスを分析することによって、データのグルーピングを決定するように構成される。プロセッサは、格納されたデータと関連実体データを比較するように、データのグルーピング上で共通ファイル排除を行うように構成される。さらに、プロセッサは、格納されたデータに存在するデータのグルーピングと関連実体データとの関係のインディカを通信ラインを介して、伝送するよう構成される。
【０００７】
概して、他の局面において、発明は、コンピュータ読出し可能な媒体上に存在するコンピュータプログラム製品を提供する。コンピュータ読出し可能な媒体は、コンピュータが実行可能な命令を含有する。コンピュータが実行可能な命令は、複数のレベルでの実体データおよびフィーラデータを含む集合データの分析、集合データのレベルに関するレベルおよび価値の実体データ指示の決定、および、比較をコンピュータにさせる。この比較は、決定された実体データと格納されたデータの間のレベルまたは値の実体コンテンツにおける差分を決定するための、決定された実体データと格納されたデータとの比較である。
【０００８】
発明のインプリメンテーションは、以下の特徴をひとつ以上含む。コンピュータに比較させる命令は、コンピュータに差分バックアップ技術を適用させる。命令は、コンピュータに決定された実体データを変更登録形式に格納させる。コンピュータに比較させる命令は、コンピュータに差分バックアップ技術を適用させ、その命令は、コンピュータに、少なくとも実体データをバックアップさせる命令をさらに含む。この実体データは、変更登録形式にあり、および格納されたデータに不在である。命令は、コンピュータに決定された実体データが格納されたデータに不在であるデータを含むことについての追加インディカ（ａｄｄ  ｉｎｄｉｃｉａ）を提供させ、および、格納されたデータが決定された実体データに不在のデータを含むことについてのリムーブインディカ（ｒｅｍｏｖｅ  ｉｎｄｉｃｉａ）を提供させる。
【０００９】
概して、他の局面において、発明は、コンピュータ読出し可能な媒体上に存在するコンピュータプログラム製品を提供する。コンピュータ読出し可能な媒体は、コンピュータが実行可能な命令を含有する。コンピュータが実行可能な命令は、コンピュータに、データサブグループを含むデータの分析、データファイル内のデータサブグループの認証、データサブグループと格納された潜在的共通データセットとの比較、および、比較を基礎としたデータサブグループのバックアップをさせる。
【００１０】
発明の実施形態は、以下の特徴をひとつ以上含む。命令は、コンピュータにこれらのデータサブグループのみをバックアップさせる。これらのデータサブグループは、格納された潜在的共通データセットに不在である。命令は、コンピュータにデータサブグループを分離されたファイルとして比較のために格納させる。命令は、コンピュータに、共通のファイル削除技術を用いる格納された潜在的共通データセットとデータサブグループとを比較させる。命令は、コンピュータに潜在的共通データセットの少なくともひとつがデータファイルに関することを示すリムーブインディカを提供させる。命令は、コンピュータに潜在的共通データセットの少なくともひとつがデータファイルの特定の部分に関することを示すリムーブインディカを提供させる。
【００１１】
発明のさまざまな局面は、以下のひとつ以上の優位な点を提供する。伝統的バックアップ技術を破る方法で格納されたデータは、伝統的バックアップ技術の優位な点が達成される間に、バックアップされ得る。少ない実質的な変更を伴うファイル、および、十分な実質的でない変更は、少ない記憶装置かつ／または処理において、少ない実質的な変更に対応してバックアップされ得る。大きいデータサブグループ（集合させられたデータグループ、例えばファイル）は、非冗長的な方法においてバックアップされ得る。
【００１２】
本発明の上記および他の利点および本発明の内容は、以下の図面、詳細な説明および特許請求の範囲を読むことにより完全に理解される。
【発明を実施するための最良の形態】
【００１３】
（好適な実施形態の詳細な説明）
本発明の少なくともいくつかの実施形態は、実体変化を格納するために、および／または、他のデータセットに類似し得るデータのより大きな集合のデータサブセットを決定するために、データの実体差分変化を決定する技術を提供して、類似しているデータセットの二重格納を減らす。ファイルが分析されて、ファイルの実体を決定し得、そして、格納されたファイルの実体と比較され得る。ファイルの実体が異なる場合、実体差分が格納され得るが、実体ではない差分は、無視されて、バックアップされなくてもよい。さらに、意味のあるサブセットを含むファイルが分析されて、サブセット、および、格納されたデータセットと比較されるサブセットを決定し得る。データの二重セットはバックアップを迂回し得て、二重ではないセットはバックアップされ得る。
【００１４】
特定のファイルが従来の差分のファイルバックアップ技術に十分に従わないことが発見されている。いくつかのファイルは、それらのファイル内に計算されたインデックスおよびポインタ（管理データ）（すなわち、多くの場合にはごみ（ｇａｂａｇｅ）バイト）を含む。ごみバイトは、実体コンテンツ／情報を何も表さず、空のスペースにすぎない。若干修正され得るが、実質的に完全に修正されてはいないこのようなファイルは、異なって見える。例えば、ハッシュコード比較法が用いられる場合、これらのファイルは、以前のバージョンとはほぼ完全に異なっているかのようである。この「カオス的」挙動は、そのファイルを信頼して再構成するためにはこれらのファイルのほぼ全ての「データ」がバックアップされる必要があることを意味している。
【００１５】
いくつかのデータファイル（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ．ｐｓｔファイル等のいくつかのメールシステムファイル）も、共通ファイル排除バックアップ技術の効率を減少させている。これらのデータファイルは、添付物をより大きなデータセット内に組み込むことによって、その添付物を取り扱う（例えば、全メールおよび添付物を含むファイル）。添付物を含むファイル全体が格納されたファイルに一致しない場合、共通ファイル排除技術は、ｅ‐メールファイル（添付物）のサブセットがストレージレジストリに存在するデータセットと一致することを認識できない。
【００１６】
本明細書に用いられているように、非決定ファイルまたはデータ群は、あるファイルまたはデータ群である。そのファイルファイルまたはデータ群において、ファイルまたはデータ群の物理的構成は、実体またはコンテンツが非常にささいな変化で、ある瞬間から次の瞬間へ変化してもよいし、データサブグループを含むファイルまたはデータ群のコンテンツは、劇的に変化してもよいが、ファイルまたはデータ群のデータサブグループは、格納された群に一致してもよい。これらの特徴は、従来のバックアップ法を避けて、従来のバックアップ法をより効率悪くする。
【００１７】
図１を参照すると、非決定データをバックアップするシステム１０は、コンピュータ１２、通信ネットワーク１４、およびバックアップストレージ１６を含む。このコンピュータ１２は、プロセッサ１８、およびそのプロセッサ１２によって実行され得るソフトウェア命令を格納して、バックアップされ得るデータを格納するメモリ２０を含む。このソフトウェア命令は、以下に記載される機能を実行するようにプロセッサ１８によって実行されるように構成される。コンピュータ１２は、ネットワーク１４を介して、バックアップするためにストレージ１６にデータを送るように構成される。通常インターネットとして公知のパケット交換式ネットワークとしてここで示されるネットワーク１４は、ワイドエリアネットワーク（ＷＡＮ）であってもよいし、ローカルエリアネットワーク（ＬＡＮ）であってもよい。さらに、ネットワーク１４は、単純な通信ラインと置きかえられてもよい。このネットワーク１４は、リンクの形態は変化し得るが、コンピュータ１２とストレージ１６との間の通信リンクを示す。
【００１８】
コンピュータ１２は、プロセッサ１８にデータを評価させるように構成される。そのデータは、メモリ２０に格納され、バックアップされるべきであり、バックアップするデータがあるかどうか、および、どのデータをバックアップするかを決定する。プロセッサ１８は、格納されたソフトウェアと連動して、ファイル内の実際の、実体情報が評価され得るメカニズムを識別するように構成される。このメカニズムは、好ましくは、実体情報のみを識別して、ファイルのごみデータまたは管理部分は無視される。このプロセッサ１８は、そのファイルを実際の情報を表す部分に分割するようにさらに構成される。このプロセッサ１８は、好ましくは、差分のバックアップまたは共通（冗長）ファイルを排除する等の従来の技術を用いて、バックアップ用に実際の情報を評価するようにさらに構成される。実際のデータの評価は、１つの群（ファイルまたはメモリブロック）または別々の部分に集められた実際のデータによって実行され得る。コンピュータ１２には、また、ファイルとは異なるデータのセットに作用する。
【００１９】
（レジストリバックアップバックグラウンド）
Ｗｉｎｄｏｗｓ（Ｒ）ＮＴシステム上へのレジストリバックアップは、一般に、レジストリセーブキーのためのＲｅｇＳａｖｅＫｅｙと言うＷｉｎ３２  ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を用いるほとんどのバックアップ製品によって実行される。レジストリは、キーとして識別されるアプリケーション用のアプリケーションの記述（例えば、．ｔｘｔといったタイプのファイル）、ユーザ情報（例えば、デスクトップ設定）、および特有の設定（例えば、ワードプロセシングデフォルト、ｅメールデフォルトなど）を含む反転ツリー構造のデータベースである。キーは、レジストリにおける設定の名前であり、以下で使用される値は、設定の値を示す。ＲｅｇＳａｖｅＫｅｙは、ＡＰＩユーザによって特定されるロケーションにおける格納ディスクにレジストリハイブのインメモリ（ｉｎ−ｍｅｍｏｒｙ）バージョンをコピーする。ハイブは、レジストリの論理的ブランチであり、単一ファイル内に含まれる。例えば、以下のハイブはＷｉｎｄｏｗｓ（Ｒ）ＮＴ４．０上に存在する。
【００２０】
ＳＹＳＴＥＭ
ＳＡＭ
ＳＥＣＵＲＩＴＹ
ＳＯＦＴＷＡＲＥ
ＵＳＥＲ
システム上にアカウントを持つユーザにつき１つのＵＳＥＲハイブがあるが、ログオンされるユーザのＵＳＥＲハイブだけがメモリ内にロードされる。全ての他のＵＳＥＲハイブは、ディスクに残る。
【００２１】
レジストリをバックアップすることは、従来は、それぞれのインメモリハイブのためのＷｉｎｄｏｗｓ（Ｒ）ＲｅｇＳａｖｅＫｅｙ（）ＡＰＩをコールすることを含んでいる。このＡＰＩは、ディスク上の対応するハイブファイルがアクセスされ得ないためにコールされる一方で、ハイブが使用中であるのでハイブがロードされる。ＲｅｇＳａｖｅＫｅｙ（）は、従来は、ファイルとしてこれらのレジストリハイブをキャプチャするための唯一のメカニズムであった。ハイブは、差分バックアップソフトウェアエンジンを用いてバックアップされる（例えば、Ｃａｎｅらによる米国特許第５，７６５，１７３号に記載される）。これにより、ハイブファイル（単数または複数）が、最初に完全にバックアップされて、その後、ハイブファイル（単数または複数）に対するバイナリ変化は、それぞれ断続的なバックアップに送信された。このメカニズムにより、それぞれのバックアップ上にバックアップされるハイブにつき、平均で１００Ｋほどのデータが得られた。
【００２２】
Ｗｉｎｄｏｗｓ（Ｒ）２０００の場合、レジストリハイブファイルのサイズは増加した。前述のパラグラフに記載されるレジストリをバックアップするためのメカニズムを用いて、バックアップ毎の生じるデータ量は、ＳＯＦＴＷＡＲＥハイブに対して平均してほぼ１２ＭＢになり、他のハイブは通常１ＭＢを超えた。遅い通信接続を用いる遠隔ユーザに対して、通常毎日、このような遅い接続を介する遠隔のＤａｔａ  Ｃｅｎｔｅｒに、全てのバックアップ上の数メガバイト（１５ＭＢ以上）を送信することは、受け入れることができない。さらに、バックアップデータは、格納される必要がある。このことは、１００００のＷｉｎｄｏｗｓ（Ｒ）２０００ユーザをサポートするＤａｔａ  Ｃｅｎｔｅｒを意味し、１５０ＧＢのデータは、典型的に、ユーザのレジストリハイブをただバックアップするために、毎日格納される必要がある。
【００２３】
Ｗｉｎｄｏｗｓ（Ｒ）２０００上に作成されるデータＲｅｇＳａｖｅＫｅｙ（）が決定的でないことが発見された。ＲｅｇＳａｖｅＫｅｙを用いる２つの断続的なバックアップは、レジストリハイブに実際に変化しないので、ほぼ完全に異なるファイルを作成する。ファイル内の実際のデータは、ばらついている「ジャンク」またはフィラーデータによって、分散された。「ジャンク」またはフィラーデータは、その時点で偶然メモリにあった意味のないバイトであり、変化する。さらに、たとえ、実際のデータ間「ジャンク」が無視された場合でも、データの順序には差がある。
【００２４】
バックアップサイズ問題は、上記と共に対応する検索問題である。数ＭＢのデータは、典型的に、差分技術を用いてバックアップ毎にバックアップされる。レジストリハイブは、Ｄａｔａ  Ｃｅｎｔｅｒによって再構築され、このハイブが検索のために必要とされる場合、ユーザのマシーンに戻るように送信される。Ｗｉｎｄｏｗｓ（Ｒ）２０００上の、再構築されるレジストリの総サイズは、２０ＭＢを超える。つまり、遅い接続については、かなり長くなる。
【００２５】
（システム１０を用いたレジストリハイブバックアップ）
図１をさらに参照して、図２を参照した動作において、システム１０を用いてレジストリハイブをバックアップするためのプロセス３０は、示された工程を含む。しかしながら、プロセス３０は、例示のみであり、限定的ではない。プロセス３０は、例えば、工程を追加、削除または再構成することによって変更され得る。さらに、プロセス３０は、他の非決定ファイルまたは他のデータ群をバックアップするように適合され得る。他の非決定ファイルまたは他のデータ群の物理的構成（例えば、ビット）は、それらの実体コンテンツ（すなわち、物理的構成によって表された実体）が変化するよりもかなり顕著に変化する。プロセス３０は、好ましくは、任意のユーザがバックアップしているシステムにログオンされたかどうかに関係なくバックアップを実行し得るバックグラウンドにおいて実行しているプロセスにおいてインプリメントされる。プロセス３０は、さらに好ましくは、（レジストリおよび任意の適切なファイルへのアクセスを含む）バックアップを達成するために十分な特権を有するローカルシステムアカウント下で実行するバックグラウンドプロセスによってインプリメントされる。これは、プロセスをバックアップおよび復元するための多くのキー（バックアッププログラムを実行するユーザが（例えば、Ｗｉｎｄｏｗ  ＮＴ  セキュリティに起因して）アクセスするための許可を有し得ないキーを含む）へのアクセスを可能にする。プロセス３０は、レジストリを通って実体情報を見い出し、その実体情報を格納された実体情報と比較し、どの実体情報が新しいか、どの実体情報が予め格納されているか、どの実体情報が変化したか、予め格納された、どの実体情報が取り除かれたかを判定する。あるいは、プロセスは、従来のブロック差分技術を適用可能な組織化ファイルを構築し得る。
【００２６】
工程３２において、ユーザはコンピュータ１２を操作し（例えば、マウス、キーボードなどを用いて）、Ｗｉｎ３２  ＡＰＩ  ＲｅｇＳａｖｅＫｅｙ（）にファイルとしてディスク（例えば、メモリ２０）にハイブを格納させる。このバックアップがコンピュータ１２に対するこのハイブのこれまでの第１のバックアップである場合、次いで、コンピュータ１２は、このファイルをストレージ１６に送信し、同様に、ローカルにこのファイルをキャッシュし、そのプロセス３０は終了する。メモリにロードされたファイルは、「（ｂａｓｅ）ベース」レジストリファイルまたは「ＯｌｄＨｉｖｅ（オールドハイブ）」である。このバックアップがハイブの第１のバックアップでない場合、次いで、プロセス３２は、工程３４に進む。
【００２７】
工程３４において、コンピュータ１２は、Ｗｉｎ３２  ＡＰＩ  ＲｅｇＬｏａｄＫｅｙ（）を用いて、レジストリハイブファイルをレジストリに再ロードする。コンピュータは、比較のために、新しい名前「ＣｕｒｒｅｎｔＨｉｖｅ（カレントハイブ）」という名でハイブファイルを再ロードする。
【００２８】
工程３６において、コンピュータ１２は、ローカルディスクキャッシュからＯｌｄＨｉｖｅを回復する。そのレジストリハイブは、第１のバックアップの時間に存在していたようにファイルとして復元される。以下に議論するように、ＯｌｄＨｉｖｅが周期的にリセットされ得る場合、複数のＯｌｄＨｉｖｅが存在し得る。バックアップのために、コンピュータ１２は、複数のＯｌｄＨｉｖｅのどれが、バックアップされるべきハイブと少なくとも同じくらい古いものである最新のＯｌｄＨｉｖｅであるかを判定する。
【００２９】
工程３８において、復元されたハイブはレジストリにロードされている。コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅとの比較のために、キャッシュから復元されたハイブを、「ＯｌｄＨｉｖｅ」という名でレジストリにロードする。
【００３０】
工程４０において、コンピュータ１２は、２つのロードされたレジストリハイブ、ＣｕｒｒｅｎｔＨｉｖｅおよびＯｌｄＨｉｖｅの間の比較を行う。それぞれの差分は、「ＨＫＥＹ ＬＯＣＡＬ ＭＡＣＨＩＮＥ＄＜ＨｉｖｅＮａｍｅ＞＄ＣＬ」と名付けられた差分ファイルに書き込まれる。ここで、＜ＨｉｖｅＮａｍｅ＞はバックアップされているハイブの名前である。その差分ファイルは、元々のバックアップレジストリファイル（ベースレジストリファイル）を取り出し、その差分ファイルが生成された時間において存在していたようなレジストリハイブファイルに等価であるように、それから情報を加算、減算（おそらく変化）するためのコマンドのリストを含む。工程４０のさらなる詳細な説明は図３に関して以下に提示される。
【００３１】
工程４２において、コンピュータ１２は、標準差分バックアップ技術を用いて、工程４０に生成されたファイルをバックアップする。生成された差分は、このレジストリハイブに作成された前の差分ファイルに対して存在し得る。好ましくは、ＯｌｄＨｉｖｅにはなく、ＣｕｒｒｅｎｔＨｉｖｅのみにある実体データは、コンピュータ１２によって、格納のためにバックアップストレージ１６に送信される。ＣｕｒｒｅｎｔＨｉｖｅおよびＯｌｄＨｉｖｅのある実体データは、格納のために、送信または再送信され得、システム１０は、実体データを分析する代わりに、従来の態様でＣｕｒｒｅｎｔＨｉｖｅの全てを格納すること、または、差分を判定することに対して利点がある。したがって、格納のためにある重複データを送信することは、また、本発明の範囲内にあるが、ＣｕｒｒｅｎｔＨｉｖｅおよびＯｌｄＨｉｖｅにある少なくともいくつかの実体データ、好ましくは、全ての実体データは、バックアップストレージ１６に送信されるためにバイパスされる。
【００３２】
さらに図１を参照しながら、図３を参照すると、図２の工程４０が、システム１０を用いて、ロードされたレジストリハイブを比較するプロセス５０として示され、図示されている工程を含む。しかし、このプロセス５０は、一例に過ぎず、これに限定されるものではない。プロセス５０は、例えば、工程を追加、削除、または並べ替えることによって、変更され得る。
【００３３】
工程５２において、コンピュータ１２は、主キー（第１レベルキー）を、対応するキーアレイ、すなわち、ＣｕｒｒｅｎｔＨｉｖｅに対して１つのアレイ、およびＯｌｄＨｉｖｅに対して１つのアレイに読み込む。各キーアレイ要素について、コンピュータ１２は以下のものを格納する。
【００３４】
ｓｚＫｅｙＮａｍｅ：Ｋｅｙの名前
ｎＮｕｍＳｕｂＫｅｙｓ：このキーの下のＳｕｂｋｅｙの数
ｎＮｕｍＶａｌｕｅｓ：このキーの下のＶａｌｕｅの数
ｎＡＣＬＴａｇ：別のマップに格納されるＡｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ（ＡＣＬ）への一意的なタグ
ｎＣｌａｓｓＴａｇ：別のマップに格納されるＣｌａｓｓ  Ｎａｍｅへの一意的なタグ
実際のＡＣＬおよびクラス名は、キーについての他の情報とともに格納されない。これは、実際のＡＣＬおよびクラス名が、他のＡＣＬおよびクラスと同一である傾向があるからである。ＡＣＬまたはクラスへのタグを格納することによって、比較プロセス５０の間のメモリにおいて、ならびに、バックアップされる差異ファイルを作成、送信、および格納する場合において、大幅なスペースの節約となる。例えば、ＡＣＬは、長さが２Ｋであり得るが、４５，０００の異なるキーに取り付けられる（９０ＭＢ）。好ましくは、ＡＣＬの実際のコピーは１つだけマップに保持され、タグが各キーによって参照される状態で、タグにマッピングされる。
【００３５】
主キー情報を入手するために、Ｗｉｎ３２  ＡＰＩ関数ＲｅｇＱｕｅｒｙＩｎｆｏＫｅｙ（）が、ＲｅｇＯｐｅｎＫｅｙ（）ＡＰＩを用いてキーを開けた後、コンピュータ１２によって用いられる。ＡＣＬのキーセキュリティ情報を入手するため、コンピュータ１２は、ＲｅｇＧｅｔＫｅｙＳｅｃｕｒｉｔｙ（）への呼を用いる。ＡＣＬは、別のマップに格納され、一意的なタグを用いて、ルックアップされ得る。このタグは、ＡＣＬのコンテンツに基づく、（このレジストリハイブについて）一意的なハッシュコードである。現在のタグと同一のタグが生成されるが、ＡＣＬのコンテンツが異なる場合（ハッシュコード衝突）、ハッシュコード値は、一意的なタグが生成されるまで、１ずつ増分される。
【００３６】
工程５４において、コンピュータ１２は、ｓｚＫｅｙＮａｍｅによって、２つのキーアレイのそれぞれをソートする。コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅキーアレイ内の各主キーを、ＯｌｄＨｉｖｅキーアレイ内のキーと比較する。主キーを比較することによって、以下の結果のうちの１つがもたらされる。
【００３７】
１．キーはＣｕｒｒｅｎｔＨｉｖｅにはあるが、ＯｌｄＨｉｖｅにはない：この場合、コンピュータ１２は、「Ａｄｄ  Ｋｅｙ」コマンドを、バックアップされるファイルに書く。また、コンピュータ１２は、この主キーのサブキーおよび値の全てを数え上げ、それぞれについて、「Ａｄｄ  Ｋｅｙ」および「Ａｄｄ  Ｖａｌｕｅ」コマンドを追加する。事実上、その主サブキーの下のツリー全体は、現在のハイブにとって新しいものである。
【００３８】
２．キーはＣｕｒｒｅｎｔＨｉｖｅにはないがＯｌｄＨｉｖｅにはある：この場合、コンピュータ１２は、バックアップされるファイルに、「Ｒｅｍｏｖｅ  Ｋｅｙ」コマンドを書く。
【００３９】
３．キーはＣｕｒｒｅｎｔＨｉｖｅおよびＯｌｄＨｉｖｅの両方にある：この場合、コンピュータ１２は、名前が同じであるにも関わらず、クラス名またはＡＣＬがこれらの２つの主キーの間で異なるか否かについて判定する。いずれかが異なる場合、コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅのキーのクラス情報および／またはＡＣＬ情報を、バックアップされるファイル（「差分ファイル」）に、対応するクラスおよび／またはＡＣＬが差分ファイルに既に書き込まれていない場合に書き込む。コンピュータ１２は、「Ｍｏｄｉｆｉｅｄ  Ｋｅｙ」コマンドを、クラスおよび／またはＡＣＬについて、タグを有するファイル（「タグファイル」）に出力する。コンピュータ１２は、サブ工程５６、６８について記載されたように、２つの値アレイを比較する。
【００４０】
工程５２と同様に、サブ工程５６において、一致する主キーの下に存在する、ＣｕｒｒｅｎｔＨｉｖｅおよびＯｌｄＨｉｖｅにおける値の名前およびキーの値が、コンピュータ１２によって、読み出され、ソートされる。これらの値は、ＲｅｇＥｎｕｍＶａｌｕｅ（）Ｗｉｎ３２  ＡＰＩなどの適切なＡＰＩを用いることによって、コンピュータ１２によって入手され得る。コンピュータ１２は、値をＣｕｒｒｅｎｔＨｉｖｅ値アレイおよびＯｌｄＨｉｖｅ値アレイにソートする。
【００４１】
サブ工程５８において、コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅ値アレイにおいて処理されているキーの下の各値を、ＯｌｄＨｉｖｅ値アレイにおいて処理されているキーの下の各値と比較する。それぞれの比較に対して、以下の結果のうちの１つが生じる。
【００４２】
１．値はＣｕｒｒｅｎｔＨｉｖｅにはあるが、ＯｌｄＨｉｖｅにはない：コンピュータ１２は、「Ａｄｄ  Ｖａｌｕｅ」コマンドを差分ファイルに書く。
【００４３】
２．値はＣｕｒｒｅｎｔＨｉｖｅにはないが、ＯｌｄＨｉｖｅにはある：コンピュータ１２は、「Ｒｅｍｏｖｅ  Ｖａｌｕｅ」コマンドを差分ファイルに書く。
【００４４】
３．値はＣｕｒｒｅｎｔＨｉｖｅとＯｌｄＨｉｖｅとの両方にあり、同じである：出力はなし。
【００４５】
４．値はＣｕｒｒｅｎｔＨｉｖｅとＯｌｄＨｉｖｅとの両方にあるが、異なる：コンピュータ１２は、「Ｃｈａｎｇｅ  Ｖａｌｕｅ」コマンド（値変更コマンドなどとも呼ばれる）を差分ファイルに書く。値変更コマンドは、値追加コマンドと組み合わせられた値削除コマンドと論理的に等価であり、そのようにインプリメントされ得る。
【００４６】
また、コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅの主キーおよびＯｌｄＨｉｖｅの主キーのサブキーを、まるでサブキー自体が主キーであるかのように、工程５２および５４に従って、処理する。
【００４７】
工程６０において、コンピュータ１２は、主キーを閉じる。コンピュータ１２は、Ｗｉｎ３２  ＡＰＩ関数ＲｅｇＣｌｏｓｅＫｅｙ（）などの適切なＡＰＩを用いて、主キーを閉じ得る。
【００４８】
図３に示すプロセス５０によって行われる比較は、実体情報が入手されるような「実行中」に行われる。コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅの実体情報のファイル全体を生成して、その後、それを、ＯｌｄＨｉｖｅの（他のファイル内の）実体情報のファイル全体と比較することを待たない。代わりに、コンピュータ１２は、ＣｕｒｒｅｎｔＨｉｖｅが入手される場合、ＣｕｒｒｅｎｔＨｉｖｅからの実体情報をＯｌｄＨｉｖｅからの実体情報と比較する。あるいは、コンピュータは、実体情報の２つのファイルを生成し、例えば、標準的な差動ファイルバックアップ技術を用いて、実体情報ファイルを比較することによって、プロセス５０を行い得る。実体情報ファイルは、ファイルの実体的なコンテンツの小さな変化が変化耐性ファイルの物理的な構成に小さな変化をもたらすという点で、変化耐性ファイルである。「実行中」技術は、時間およびリソースの節約のために、好ましいことがあり得る。
【００４９】
図４を参照すると、ＡＤＤ  ＫＥＹ、ＡＤＤ  ＶＡＬＵＥ、ＲＥＭＯＶＥ  ＫＥＹ、およびＲＥＭＯＶＥ  ＶＡＬＵＥコマンドが例示的に示されている。図示されているように、Ｋｅｙ  ＡのＳｕｂｋｅｙ  ＡＡは、ＣｕｒｒｅｎｔＨｉｖｅにはあるが、ＯｌｄＨｉｖｅにはない。従って、対応するＡＤＤ  ＫＥＹコマンドが生成され、差分ファイルに入れられる。差分ファイルに入れられた各ＡＤＤ  ＫＥＹコマンドについて、キーのＡＣＬは、その特定のＡＣＬが差分ファイルにまだない場合、差分ファイルに追加される。クラス名についても同様である。新たなＳｕｂｋｅｙ  ＡＡと同様に、Ｋｅｙ  ＢのＳｕｂｋｅｙ  ＢＢの値ＢＢ１は、ＣｕｒｒｅｎｔＨｉｖｅにはあるが、ＯｌｄＨｉｖｅにはない。従って、対応するＡＤＤ  ＶＡＬＵＥコマンドが生成され、差分ファイルに入れられる。任意のＡＤＤコマンド（キーまたは値）について、十分な情報が差分ファイルに入れられるので、対応するキーまたは値が、後でレジストリハイブに戻されて追加され得る。Ｋｅｙ  ＡのＳｕｂｋｅｙ  ＡＢの値ＡＢ２は、ＯｌｄＨｉｖｅにはあるがＣｕｒｒｅｎｔＨｉｖｅにはない。従って、対応するＲＥＭＯＶＥ  ＶＡＬＵＥコマンドが生成され、差分ファイルに入れられる。同様に、Ｋｅｙ  ＡのＳｕｂｋｅｙ  ＡＣは、ＯｌｄＨｉｖｅにはあるがＣｕｒｒｅｎｔＨｉｖｅにはない。従って、対応するＲＥＭＯＶＥ  ＫＥＹコマンドが生成され、差分ファイルに入れられる。図４には、ＭＯＤＩＦＹ  ＫＥＹコマンドが示されていないが、示されているキーまたは値の一致のいずれかについて、対応するＡＣＬまたはクラス名が異なる場合、ＭＯＤＩＦＹ  ＫＥＹコマンドが生成され、差分ファイルに入れられ得る。
【００５０】
（バックアップレジストリハイブの復元）
図５によると、図１をさらに参照して、システム１０を用いるバックアップレジストリハイブを復元するためのプロセス７０は、示された工程を含む。しかしながら、プロセス７０は、例示に過ぎず、限定的でない。プロセス７０は、例えば、工程が追加、除去または再構成されることによって変更され得る。さらに、プロセス７０は、他の非決定ファイルまたは他のデータ群を復元するように適合され得る。
【００５１】
工程７２において、コンピュータ１２は、バックアップされた最後のフルレジストリハイブファイル（ベースレジストリファイル）を決定する。所望のサイズよりも大きくなった場合、周期的に、差分ファイルが空にされ得る。例えば、差分ファイルがＣｕｒｒｅｎｔＨｉｖｅよりも大きくなった場合、ＯｌｄＨｉｖｅは、ＣｕｒｒｅｎｔＨｉｖｅになるようにリセットされ得、差分ファイルを実質的に空にする。しかしながら、複数のＯｌｄＨｉｖｅが存在する。バックアップのために、コンピュータ１２は、複数のＯｌｄＨｉｖｅのどれが、バックアップされるべきハイブと少なくとも同じだけ古い最新のＯｌｄＨｉｖｅであるかを決定する。
【００５２】
工程７４において、コンピュータ１２は、オンディスクキャッシュから最後のフルレジストリハイブファイルを復元する。このファイルが（例えば、ディスククラッシュ、機械損等によるメモリ消失により）キャッシュにない場合、コンピュータ１２は、バックアプストレージ１６からファイルを取り出す。
【００５３】
工程７６において、コンピュータ１２は、工程７４から再構築されたファイルをハイブ「ＲｅｓｔｏｒｅＨｉｖｅ」としてロードする。これを行うために、ユーザは、ＲｅｇＬｏａｄＫｅｙ（）Ｗｉｎ３２  ＡＰＩ等のコンピュータ１２の適切なＡＰＩを用いる。
【００５４】
工程７８において、コンピュータ１２は、適切な差分ファイルを取り出す。コンピュータ１２は、レジストリハイブファイルが復元されるべきレジストリハイブバックアップに対応するＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ＄＜ＨｉｖｅＮａｍｅ＞＄ＣＬファイルを取り出す。
【００５５】
工程８０において、コンピュータ１２は、取り出された差分ファイルを開き、かつ処理する。ファイル内の各コマンドについて、コンピュータ１２キーおよび値を追加またはロードされた「ＲｅｓｔｏｒｅＨｉｖｅ」から削除する（変更／改変値コマンドが用いられた場合、値を変更する）。コンピュータ１２は、さらに、ＡＣＬを、適宜、適用し、対応するクラスを見つけ出すためにＣＬＡＳＳ  ＩＤを用いる。
【００５６】
工程８２において、コンピュータは、差分ファイルを閉じ、「ＲｅｓｔｏｒｅＨｉｖｅ」ハイブをアンロードする。コンピュータは、ＲｅｓｔｏｒｅＨｉｖｅファイルをアンロードするために、Ｗｉｎ３２  ＡＰＩ機能ＲｅｇＵｎｌｏａｄＫｅｙ（）等の適切な機能を用いる。
【００５７】
他の実施形態は、本発明の範囲および主旨、ならびに添付の特許請求の範囲に含まれる。例えば、上述の記載は、レジストリのバックアップに焦点を当てたが、上述の技術は、レジストリまたはファイルをバックアップすることに限定されない。この技術は、従来の差分ファイルのバックアップを妨害する任意の数の他のデータセットに適用され得る。データセットがインデックスおよび／またはジャンクデータを含み、ならびに／あるいは、改変が原因で、無秩序な挙動を表示する場合、データセットのコンテンツの実質または意味の知識を用いてこの技術が適用され得る。
【００５８】
さらに、現在のファイルと、そのファイルの前のバージョンとの間の差分の決定および／または格納に関する種々の技術が用いられ得る。上述の記載は、ファイルのベースラインバージョンの格納、ならびに、各後続のバックアップにおいて現在のバージョンとベースラインバージョンとの間の差分を表す差分ファイルの決定、および差分ファイルの格納に焦点を当てられ、新しいベースラインファイルは、場合によっては、周期的に格納される。あるいは、バックアップされるべきファイルは、局所的に格納され得、各後続のバックアップにて、最も最近バックアップされたバージョン（ベースラインバージョンと対照的に）と現在のバージョンとの間の論理差分が決定され得、決定された差分は、差分ファイルとして格納される。さらに、ファイルのバイナリバージョンは、差分バックアップに適用できる標準フォームに変換され得、この標準フォームはバックアップされる。各後続のバックアップにて、現在のファイルは標準フォームに変換され得、２つの標準フォームファイル間の差分を決定するために従来の差分バックアッププロセスが適用される。さらに別の技術が可能であり、本発明および特許請求の範囲および主旨に含まれる。これらの代替的技術を用いる復元は、バックアップファイルの実体データに集中することによって実行され得る。
【００５９】
（システム１０を用いた集合ブロックバックアップ）
図１を参照すると、システム１０はさらに、典型的な共通／冗長ファイル排除（ＣＦＥ／ＲＦＥ）バックアップ手法の有効性をブレークするファイルまたは他のデータセットを効率的にバックアップするために用いられ得る。コンピュータ１２が効率的にバックアップするように構成されているＣＦＥブレークファイルは、大きいファイル内にデータサブグループのインデックスまたは他のインディカ（ｉｎｄｉｃｉａ）を含んでデータベースに似た、電子データ添付物などの、ファイルまたは他のデータグループの集合を含む。このようなＣＦＥブレークファイルがあると、データサブグループはバックアップされるべき他のデータサブグループまたはファイルと同一であり得る。コンピュータ１２は、個々のデータサブグループを決定し、同一のデータサブグループの冗長なバックアップを低減させ、好適には排除するように構成されている。このように、ＣＦＥ手法はファイルへの適用に限定されず、任意のデータグループに適用され得る。
【００６０】
図６に、一例としてのＣＦＥブレークファイル１１０を論理的に示す。ファイル１１０は、適切なポインタで多くの非連続的メモリ位置に物理的に分割され得る。ファイル１１０は、データサブグループ１２０および１２２の、開始を示すインデックス１１２および１１４、ならびに終端を示すインデックス１１６および１１８を含む。他のデータサブグループもファイル１１０に含まれ得るが、例として２つのデータサブグループ１２０および１２２のみを示す。データサブグループ１２０、１２２の例は、電子メールおよび関連する添付物、または電子メールフォルダおよび関連する添付物であるが、データサブグループはこれらに限られない。データサブグループは、ファイルであってもよいし、ファイルでない他の関連データセットであってもよい。
【００６１】
図７さらに図１および図６を参照すると、システム１０を用いてＣＦＥブレークファイルをバックアップするプロセス１３０は図示する工程を含む。しかしプロセス１３０は一例であって、本発明はこれに限定されない。プロセス１３０は、例えば他の工程を追加したり、工程を除去したり、工程を再構成したりすることにより変更され得る。プロセス１３０はファイル以外のデータセットに適用され得る。
【００６２】
工程１３２において、コンピュータ１２はファイル１１０を分析してデータサブグループ１２０および１２２を決定する。コンピュータ１２は、ファイル１１０内のインデックス１１２、１１４、１１６および１１８を見つけ出し、データサブグループ１２０および１２２の開始および終端を決定し、それによりデータサブグループ１２０および１２２の内容を決定する。
【００６３】
工程１３４において、コンピュータ１２はデータサブグループ１２０および１２２を格納し、冗長／共通ファイル排除バックアップを適用する。データサブグループ１２０および１２２が決定されると、コンピュータ１２はデータサブグループ１２０および１２２を一時的ストレージ、例えばキャッシュに格納する。コンピュータ１２はさらに、バックアップストレージ１６内にすでに格納されているファイルに対して各決定され格納されたデータサブグループに、標準共通ファイル排除手法を適用する。あるいはコンピュータ１２は、データサブグループ１２０および１２２をより永久的なストレージに格納し、格納されたグループおよび／またはファイルに対して集合的に共通ファイル排除を実行することができる。
【００６４】
工程１３６において、クロスレファレンスデータベースが生成されて、冗長データサブグループと関連データサブグループとを関連づける。例えば、データサブグループ１２０が電子メールメッセージでありデータサブグループ１２２がバックアップストレージ１６にすでに格納されているファイルと冗長である添付物である場合、データサブグループ１２２はその全体をバックアップすることはない。コンピュータ１２は、データサブグループ１２０を、データサブグループ１２２と同一であり既に格納されているファイルと関連づけるクロスレファレンスデータベースにレファレンスを挿入する。こうしてコンピュータ１２は、クロスレファレンスデータベースを用いて、ファイル１１０内のいずれのデータサブグループ（例えばデータサブグループ１２０）が、関連データサブグループ（例えば、冗長であったデータサブグループ１２２）を有するかを決定し、格納された冗長データサブグループを見つけ出し、格納された冗長データサブグループを用いてファイル１１０と、全体としてはファイル１１０と共に格納されていなかったデータサブグループ（ここではデータサブグループ１２２）とを再アセンブルする。
【００６５】
他の実施形態も特許請求の範囲の範囲および思想に含まれる。例えば、ソフトウェアの性質上、上記した機能はソフトウェア、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのうちのいずれかの組み合わせによってインプリメントされ得る。さらに機能をインプリメントする特徴部も、物理的に様々に配置され得、例えば、機能の異なる部分が異なる物理的位置でインプリメントされるように分散され得る。
【図面の簡単な説明】
【００６６】
【図１】図１は、データのバックアップシステムの単純化されたブロック図である。
【図２】図２は、図１に示されたシステムを利用した非決定レジストリデータファイルデータのバックアップ処理のブロックフロー図である。
【図３】図３は、図１に示されたシステムを利用した非決定レジストリデータファイルデータのバックアップ処理のブロックフロー図である。
【図４】図４は、レジストリファイルのバックアップを図解したブロック図である。
【図５】図５は、バックアップレジストリファイルのリストアを示すブロックフロー図である。
【図６】図６は、データサブグループを含む集合ファイルの一部を単純化したブロック図である。
【図７】図７は、図６に示された集合ファイルのバックアップ処理のブロックフロー図である。
【図１】
2005502956.tif 000003
【図２】
2005502956.tif 000004
【図３】
2005502956.tif 000005
【図４】
2005502956.tif 000006
【図５】
2005502956.tif 000007
【図６】
2005502956.tif 000008
【図７】
2005502956.tif 000009
【国際公開パンフレット】
2005502956.tif 000010
2005502956.tif 000011
2005502956.tif 000012
2005502956.tif 000013
2005502956.tif 000014
2005502956.tif 000015
2005502956.tif 000016
2005502956.tif 000017
2005502956.tif 000018
2005502956.tif 000019
2005502956.tif 000020
2005502956.tif 000021
2005502956.tif 000022
2005502956.tif 000023
2005502956.tif 000024
2005502956.tif 000025
2005502956.tif 000026
2005502956.tif 000027
2005502956.tif 000028
2005502956.tif 000029
2005502956.tif 000030
2005502956.tif 000031
2005502956.tif 000032
2005502956.tif 000033
2005502956.tif 000034
2005502956.tif 000035
2005502956.tif 000036
2005502956.tif 000037
2005502956.tif 000038
【国際公開パンフレット（コレクトバージョン）】
2005502956.tif 000039
2005502956.tif 000040
【国際調査報告】
2005502956.tif 000041
2005502956.tif 000042
2005502956.tif 000043