(57)【要約】  ボリュームイメージから任意の１つまたは複数のイメージがリストアできるように、他のソフトウェアの他のイメージと結合することができる第１のソフトウェアの第１のイメージ、およびそれに関する方法（図１）。ボリュームイメージを生成する方法は、第１のソフトウェアから第１のイメージを生成するステップ、第２のソフトウェアから第２のイメージを生成するステップ、および第１のイメージおよび第２のイメージをボリュームイメージに結合するステップを含む。各イメージは、そのソフトウェアの記述的データに対応する第１の記述的データ（メタデータ）を備え、そのソフトウェアのファイルデータに対応するファイルデータを備える。
2007521528.tif 000002
【特許請求の範囲】
【請求項１】
第１のソフトウェアのデータ構造の第１のイメージおよび第２のソフトウェアのデータ構造の第２のイメージを備えるボリュームイメージを格納しているコンピュータ読み取り可能な記録媒体であって、第１および第２のイメージは、前記ボリュームイメージの前記第１のイメージおよび／または前記第２のイメージを前記ボリュームイメージからイメージングによりそれぞれ再生成することができるように、前記ボリュームイメージに結合されていて、
前記第１のソフトウェアの記述的データのイメージと、
前記第１のソフトウェアのファイルデータのイメージと、
前記第２のソフトウェアの記述的データのイメージと、
あるファイルデータを除く、前記第２のソフトウェアのファイルデータのイメージと、
１つまたは複数の前記第１のイメージのファイルデータと結合されたときに、前記第２のソフトウェアの除かれたあるファイルデータに対応する、デルタファイルのイメージと
を備えることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２】
前記記述的データは、ファイル名、属性、ファイル時間、圧縮形式、場所、およびストリームのうちの１つまたは複数を備えるメタデータを備えることを特徴とする請求項１に記載の媒体。
【請求項３】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意のほかのデータを備えることを特徴とする請求項１に記載の媒体。
【請求項４】
前記第１のイメージの前記ファイルデータの少なくとも一部は、前記第２のイメージの前記ファイルデータの少なくとも一部と同一であり、前記同一のファイルデータは、前記ボリュームイメージ内に一度のみ現れることを特徴とする請求項１に記載の媒体。
【請求項５】
ファイルデータを改変すること、アップデートすること、またはリストアすること、および／または前記記述的データを、改変、アップデートまたはリストアされた任意のファイルデータを指し示すように改変することをさらに備えることを特徴とする請求項１に記載の媒体。
【請求項６】
前記第１のソフトウェアまたは前記第２のソフトウェアは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項１に記載の媒体。
【請求項７】
前記第１のソフトウェアと前記第２のソフトウェアは類似したアプリケーションであり、前記第１のソフトウェアは第１のオペレーティングシステムとともに使われるもので、前記第２のソフトウェアは第２のオペレーティングシステムとともに使われるものであることを特徴とする請求項１に記載の媒体。
【請求項８】
前記ファイルデータおよび前記デルタファイルは圧縮されていることを特徴とする請求項１に記載の媒体。
【請求項９】
第１のソフトウェアの第１のイメージおよび第２のソフトウェアの第２のイメージを備えるボリュームイメージであって、
前記ボリュームイメージのヘッダと、
前記第１のイメージの第１のメタデータと、
前記第２のイメージの第２のメタデータと、
前記第２のイメージではなく、前記第１のイメージのファイルデータの第１のファイルデータと、
前記第２のイメージと前記第１のイメージとの間の差異のファイルデータのデルタファイルデータと、
前記ボリュームイメージの署名と
を備え、前記第１のイメージおよび／または前記第２のイメージは前記ボリュームイメージからイメージすることができ、前記ボリュームイメージのサイズは前記第１のイメージおよび前記第２のイメージのサイズの合計より小さいことを特徴とするボリュームイメージ。
【請求項１０】
第１のイメージではなく、第２のイメージのファイルデータの第２のファイルデータをさらに備えることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１１】
前記第１のイメージおよび前記第２のイメージの両方のファイルデータの共通のファイルデータをさらに備えることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１２】
前記第１のメタデータおよび前記第２のメタデータのそれぞれは、ファイル名、属性、ファイル時間、圧縮形式、場所、およびストリームのうちの１つまたは複数を備えることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１３】
前記第１および第２のファイルデータは、任意のバイナリファイルデータまたはメタデータ以外のほかのデータを備えることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１４】
ファイルデータを改変すること、アップデータすること、またはリストアすること、および／または改変、アップデート、またはリストアされた任意のファイルデータを指し示すようにオフセットテーブルを改変することをさらに備えることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１５】
前記第１のソフトウェアまたは前記第２のソフトウェアは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１６】
前記第１のソフトウェアと前記第２のソフトウェアは類似したアプリケーションであり、前記第１のソフトウェアは第１のオペレーティングシステムとともに使われるもので、前記第２のソフトウェアは第２のオペレーティングシステムとともに使われるものであることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１７】
前記第１のファイルデータおよび前記デルタファイルデータは、圧縮されたデータであることを特徴とする請求項９に記載のボリュームイメージ。
【請求項１８】
第１のソフトウェアの第１のイメージおよび第２のソフトウェアの第２のイメージを備えるボリュームイメージを有するコンピュータ読み取り可能な記録媒体であって、前記ボリュームイメージは、
前記ボリュームイメージのヘッダと、
前記第１のイメージの第１のメタデータと、
前記第２のイメージの第２のメタデータと、
前記第２のイメージではなく、前記第１のイメージのファイルデータの第１のファイルデータと、
前記第２のイメージと前記第１のイメージとの間の差異のファイルデータのデルタファイルデータと、
前記ボリュームイメージの署名と
を備え、前記第１のイメージおよび／または前記第２のイメージは前記ボリュームイメージからイメージすることができ、前記ボリュームイメージのサイズは前記第１のイメージおよび前記第２のイメージのサイズの合計より小さいことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１９】
第１のソフトウェアから第１のバイナリファイルを生成するステップであって、前記第１のバイナリファイルは、前記第１のソフトウェアのファイルデータに対応する第１のバイナリファイルデータを備えるステップと、
第２のソフトウェアから第２のバイナリファイルを生成するステップであって、前記第２のバイナリファイルは、前記第２のソフトウェアのファイルデータに対応する第２のバイナリファイルデータを備えるステップと、
前記第１のバイナリファイルと前記第２のバイナリファイルとの差異のデルタファイルを生成するするステップと、
前記第１のバイナリファイルおよび前記デルタファイルをボリュームイメージに結合するステップと
を含むことを特徴とする方法。
【請求項２０】
ファイルデータを改変すること、アップデータすること、またはリストアすること、および／または改変、アップデート、またはリストアされた任意のファイルデータを指し示すように前記記述的データを改変することをさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記第１および第２のソフトウェアの両方は、少なくともいくらかの共通のファイルを備え、前期ボリュームイメージは、少なくともいくらかの前記共通のファイルデータを１コピーのみ備えることを特徴とする請求項１９に記載の方法。
【請求項２２】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意のほかのデータを備えることを特徴とする請求項１９に記載の方法。
【請求項２３】
前記第１のソフトウェアまたは前記第２のソフトウェアは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項１９に記載の方法。
【請求項２４】
前記第１のソフトウェアと前記第２のソフトウェアは類似したアプリケーションであり、前記第１のソフトウェアは第１のオペレーティングシステムとともに使われるもので、前記第２のソフトウェアは第２のオペレーティングシステムとともに使われるものであることを特徴とする請求項１９に記載の方法。
【請求項２５】
前記第１のバイナリファイルおよび前記ボリュームイメージの前記デルタファイルは圧縮されていることを特徴とする請求項１９に記載の方法。
【請求項２６】
第１の複数の第１のイメージのバイナリファイルおよび第２の複数の第２のイメージのバイナリファイルを、前記第１のイメージおよび前記第２のイメージのそれぞれがイメージングにより再生成されうる単一のボリュームイメージに結合する方法であって、前記第１および第２の複数のバイナリファイルは共通のファイルデータを備え、
前記第１および第２の複数のバイナリファイルの両方の前記共通のファイルデータを識別するステップと、
前記第１のイメージを、第１のヘッダ、第１のメタデータ、第１のファイルデータ、前記共通のファイルデータ、および第１の署名に分離するステップと、
前記第２のイメージを、第２のヘッダ、第２のメタデータ、第２のファイルデータ、前記共通のファイルデータ、第２の署名，および前記第１の複数のバイナリファイルの１つまたは複数のファイルと、前記第２の複数のバイナリファイルの１つまたは複数のファイルとの間の差異のデルタファイルに分離するステップと、
前記第１のメタデータ、前記第２のメタデータ、前記第１のファイルデータ、前記第２のファイルデータ、前記共通のファイルデータ、およびデルタファイルを、ヘッダおよび署名を有する単一のボリュームイメージを構成する単一のイメージに結合するステップと
を含むことを特徴とする方法。
【請求項２７】
前記メタデータは、ファイル名、属性、ファイル時間、圧縮形式、場所、およびストリームのうちの１つまたは複数を備えることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意のほかのデータを備えることを特徴とする請求項２６に記載の方法。
【請求項２９】
ファイルデータを改変すること、アップデートすること、またはリストアすること、および／または前記メタデータを、改変、アップデートまたはリストアされた任意のファイルデータを指し示すように改変することをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３０】
前記第１のソフトウェアまたは前記第２のソフトウェアは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項２６に記載の方法。
【請求項３１】
前記第１のソフトウェアと前記第２のソフトウェアは類似したアプリケーションであり、前記第１のソフトウェアは第１のオペレーティングシステムとともに使われるもので、前記第２のソフトウェアは第２のオペレーティングシステムとともに使われるものであることを特徴とする請求項２６に記載の方法。
【請求項３２】
前記第１のイメージの前記ファイルデータの少なくとも一部は、前記第２のイメージの前記ファイルデータの少なくとも一部と同一であり、前記同一のファイルデータは、前記ボリュームイメージ内に一度のみ現れることを特徴とする請求項２６に記載の方法。
【請求項３３】
前記単一のイメージの前記ファイルデータおよび前記デルタファイルは圧縮されていることを特徴とする請求項２６に記載の方法。
【請求項３４】
第１のソフトウェアおよび第２のソフトウェアを、前記第１のソフトウェアの第１のイメージおよび前記第２のソフトウェアの第２のイメージのそれぞれがイメージングにより再生成されうる単一のボリュームイメージに結合する方法であって、
前記第１のソフトウェアを複数のファイルを指し示すメタデータを有するベースイメージに変換するステップと、
前記ベースイメージのすべてのファイルの結合された要約を生成するステップと、
前記第２のソフトウェアを複数のファイルを指し示すオフセットテーブルを指し示すメタデータを有する第２のイメージに変換するステップと、
前記第２のイメージの１つまたは複数のファイルとの厳密なマッチについて前記結合された要約を検索するステップと、
厳密にマッチしたファイルを指し示すように、前記第２のイメージの前記メタデータおよび前記結合された要約の前記オフセットテーブルをアップデートするステップと、
前記第２のイメージの前記メタデータとの類似したマッチについて前記メタデータの前記メタデータを検索するステップと、
前記結合された要約の一部として、類似的にマッチしたファイルについてのパッチを生成し、格納するステップと、
前記結合された要約の一部として、厳密にマッチせず、類似的にマッチしない前記第２のイメージのファイルを格納するステップと
を含むことを特徴とする方法。
【請求項３５】
前記メタデータは、ファイル名、属性、ファイル時間、圧縮形式、場所、およびストリームのうちの１つまたは複数を備えることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意の他のデータを備えることを特徴とする請求項３４に記載の方法。
【請求項３７】
ファイルデータを改変すること、アップデートすること、またはリストアすること、および／または前記第１のイメージの前記メタデータを、改変、アップデートまたはリストアされた任意のファイルデータを指し示すように改変することをさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３８】
前記第１のソフトウェアまたは前記第２のソフトウェアは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項３４に記載の方法。
【請求項３９】
前記第１のソフトウェアと前記第２のソフトウェアは類似したアプリケーションであり、前記第１のソフトウェアは第１のオペレーティングシステムとともに使われるもので、前記第２のソフトウェアは第２のオペレーティングシステムとともに使われるものであることを特徴とする請求項３４に記載の方法。
【請求項４０】
前記第１のイメージおよび前記第２のイメージは、類似するファイルデータおよび共通のファイルデータを備えることを特徴とする請求項３４に記載の方法。
【請求項４１】
前記第１のイメージの前記ファイルデータの少なくとも一部は、前記第２のイメージの前記ファイルデータの少なくとも一部と同一であり、前記同一のファイルデータは、前記ボリュームイメージ内に一度のみ現れることを特徴とする請求項３４に記載の方法。
【請求項４２】
前記結合されたイメージの前記ファイルおよび前記パッチは圧縮されていることを特徴とする請求項３４に記載の方法。
【請求項４３】
第２のイメージを、第１のイメージおよび前記第２のイメージを有するボリュームイメージからコンピュータ読み取り可能な記録媒体にリストアする方法であって、前記ボリュームイメージは、前記第１のイメージおよび前記第２のイメージの両方に共通な共通のデータ、前記第１のイメージではなく、前記第２のイメージに特有な第２のファイルデータ、前記第２のイメージの第２の類似するファイルデータに類似する前記第１のイメージの第１の類似するファイルデータ、前記第１の類似するファイルデータと前記第２の類似するファイルデータとの間の差異を示すデルタファイルを備え、前記方法は、
前記共通のファイルデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記第２のファイルデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記第１の類似するファイルデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記デルタファイルを前記コピーされた第１の類似するファイルデータに適用し、前記第２の類似するファイルデータを生成するステップと
を含むことを特徴とする方法。
【請求項４４】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意の他のデータを備えることを特徴とする請求項４３に記載の方法。
【請求項４５】
前記第１のイメージまたは前記第２のイメージは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項４３に記載の方法。
【請求項４６】
第２のイメージを、第１のイメージおよび前記第２のイメージを有するボリュームイメージからコンピュータ読み取り可能な記録媒体にリストアする方法であって、前記ボリュームイメージは、前記第１のイメージおよび前記第２のイメージの両方に共通な共通のデータ、前記第１のイメージではなく、前記第２のイメージに特有な第２のファイルデータ、前記第２のイメージの第２の類似するファイルデータに類似する前記第１のイメージの第１の類似するファイルデータ、前記第１の類似するファイルデータと前記第２の類似するファイルデータとの間の差異を示すデルタファイルを備え、前記方法は、
前記第２のファイルデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記第１の類似するファイルデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記デルタファイルを前記コピーされた第１の類似するファイルデータに適用し、前記第２の類似するファイルデータを生成するステップと
を含むことを特徴とする方法。
【請求項４７】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意の他のデータを備えることを特徴とする請求項４６に記載の方法。
【請求項４８】
前記第１のイメージまたは前記第２のイメージは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項４６に記載の方法。
【請求項４９】
第１のイメージおよび第２のイメージを、前記第１のイメージおよび／または前記第２のイメージを別々にリストアすることができるボリュームイメージにコンピュータ読み取り可能な記録媒体上に結合する方法であって、
前記第１のイメージは、
前記第１のイメージおよび前記第２のイメージの両方に共通な共通のデータと、
前記第２のイメージではなく、前記第１のイメージに特有な第１のファイルデータであって、前記第２のイメージの第２の類似するファイルデータに類似する第１の類似するファイルデータを備える第１のファイルデータとを備え、
前記第２のイメージは、
前記第１のイメージおよび前記第２のイメージの両方に共通な共通のデータと、
前記第１のイメージではなく、前記第２のイメージに特有な第２のファイルデータであって、前記第１のイメージの前記第１の類似するファイルデータに類似する第２の類似するファイルデータを備える第２のファイルデータとを備え、
前記方法は、
前記共通のデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記第１のファイルデータを前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記第２のファイルデータを、前記第２の類似するファイルデータを除いて、前記コンピュータ読み取り可能な記録媒体にコピーするステップと、
前記第２の類似するファイルデータと前記第１の類似するファイルデータとの間の差異を示すデルタファイルを生成するステップと、
前記生成されたデルタファイルを前記コンピュータ読み取り可能な記録媒体にコピーするステップとを含むことを特徴とする方法。
【請求項５０】
前記ファイルデータは、任意のバイナリファイルデータまたはメタデータ以外の任意の他のデータを備えることを特徴とする請求項４９に記載の方法。
【請求項５１】
前記第１のソフトウェアまたは前記第２のソフトウェアは、オペレーティングシステム、アプリケーションプログラム、または両方を備えることを特徴とする請求項４９に記載の方法。
【請求項５２】
第１のソフトウェアおよび第２のソフトウェアを、前記第１のソフトウェアの第１のイメージおよび前記第２のソフトウェア第２のイメージのそれぞれがイメージングにより再生成されうる単一のボリュームイメージに結合する方法であって、
前記第１のソフトウェアを複数のファイルを指し示すメタデータを有するベースイメージに変換するステップと、
前記ベースイメージのすべてのファイルの結合された要約を生成するステップと、
前記第２のソフトウェアを複数のファイルを指し示すオフセットテーブルを指し示すメタデータを有する第２のイメージに変換するステップと、
前記第２のイメージの前記メタデータとの類似したマッチについて前記メタデータの前記メタデータを検索するステップと、
前記結合された要約の一部として、類似的にマッチしたファイルについてのパッチを生成し、格納するステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクイメージングの分野に関する。具体的には、本発明は、複数の個別のイメージを、イメージサイズを減少させるためのパッチングを用いて、個別のイメージのそれぞれを再生成することができる単一のボリュームイメージに縮小するシステムおよび方法に関する。
【背景技術】
【０００２】
個別のソフトウェアイメージのそれぞれは大量のデータを含む。一般に、ソフトウェアイメージのサイズは大きくなっており、所与のコンピュータの永続的および／または非永続的ストレージスペースのますます大きな量を占める。歴史的に、このサイズは幾何級数的な割合で増加している。たとえば、ある場合には、インストールされたオペレーティングシステム、アプリケーション、ユーティリティ、または他のデータのコピーをキャプチャする必要がある（時々、「ボリュームをキャプチャすること」と言及される）。キャプチャされたコピーの１つの目的は、他のコンピュータへ再配布されることなどのように、後に再利用することができるデータを備えるイメージを生成することである。しばしば、キャプチャされたコピーおよびそのデータにより、膨大な量のスペースが占められる。通常、複数のイメージが単一のコンピュータ読み取り可能な記録媒体にコピーされる。同一のメディア上のこれらの複数のイメージは、典型的にはある点でのみ異なり、たとえば、インストールされたＯＳに基づいてどのアプリケーション（およびそれらのアプリケーションのどのバージョン）がそのイメージに含まれるかなどである。複数のイメージのいくつかは、単に同一プログラムの異なるＳＫＵまたはエディションである。結果として、それらの複数のイメージ内のデータの大多数は厳密に同一ではないが非常に似ていて、したがって、同一のメディア上のイメージにわたって、他の情報のために用いることのできる大量の冗長なスペースを生成する。
【０００３】
これらの理由から、１つまたは複数のこれらおよび他の不都合に対して処置を取るために、冗長なスペースの量を減少させるためのシステムおよび方法が望まれる。キャプチャされたボリュームからのオリジナルデータのすべてを依然として維持する、可能な限り小さいイメージサイズを提供する必要がある。可能な限り小さいイメージサイズに対する必要は、コンパクトディスクおよびＲＡＭベースのシナリオのためのメモリに大きなイメージを適合させることを可能にし、ネットワークストレージおよび帯域幅要件を減少させることを可能にする。可能な限り小さいイメージサイズを得ることの利点の１つは、イメージが、コンピュータおよび／またはソフトウェアプログラムの顧客に戦略的に有益であることである。
【０００４】
【特許文献１】“COMBINED IMAGE VIEWS AND METHODS OF CREATING IMAGES”、米国特許出願第10/173,297号、2002年6月17日出願
【特許文献２】米国特許第6216175号
【特許文献３】米国特許第6243766号
【特許文献４】米国特許第6449764号
【特許文献５】米国特許第6496974号
【特許文献６】米国特許第6466999号
【特許文献７】米国特許第6493871号
【特許文献８】米国特許第5745313号
【特許文献９】米国特許第6381742号
【特許文献１０】“Method and System for Updating Software with Smaller Patch Files”、米国特許出願第09/561,447号、2000年4月18日出願
【発明の開示】
【発明が解決しようとする課題】
【０００５】
キャプチャされたボリュームからのオリジナルデータのすべてを依然として維持する、可能な限り小さいイメージサイズを提供する必要がある。可能な限り小さいイメージサイズに対する必要は、コンパクトディスクおよびＲＡＭベースのシナリオのためのメモリに大きなイメージを適合させることを可能にし、ネットワークストレージおよび帯域幅要件を減少させることを可能にする。可能な限り小さいイメージサイズを得ることの利点の１つは、それが、ソフトウェアおよびハードウェアのエンドユーザに戦略的に有益であることである。
【課題を解決するための手段】
【０００６】
本発明は、一態様において、複数の個別のソフトウェアプログラム（イメージ）を、個別のイメージのそれぞれを再生成することができる操作可能なボリュームイメージファイルに縮小する、ソフトウェアイメージ結合方法を含む。もう１つの態様において、本発明は、単一の操作可能なボリュームイメージを複数の個別のイメージから生成することにより、従来技術の問題に対して解決策を提供し、単一の操作可能なボリュームイメージは、（１）各個別のイメージ内のファイルを記述する記述的データ（たとえば、メタデータ）をファイルそれら自体の実際のデータから分離すること、（２）複数のイメージにわたって共通である、各個別のイメージ内のデータを分離すること、および（３）類似したバイナリファイルを再構築するためのパッチを用いることにより生成される。各個別のイメージの記述的データは、それぞれボリュームイメージに含まれるが、ボリュームイメージには、共通のデータおよび／またはデルタファイルが１つのコピーのみ含まれる。このことはボリュームイメージのサイズを減少させる。というのは、パッチを除く共通のデータおよび類似のデータが重複していないためである。新しいボリュームイメージは、単一のイメージファイル内の各イメージを識別する記述的データ（メタデータ）、および共通のファイル、デルタファイル、および各イメージに固有なファイルを識別するビットの蓄積を中に含む。
【０００７】
本発明の一実装は、共通のオペレーティングシステムバージョンの上で走る、個別の異なるアプリケーションのストレージ要件を最小化することである。本発明によると、これらの個別の異なるアプリケーションは、単一のボリュームイメージに結合または縮小されることができる。ボリュームイメージは、あたかもそれぞれが個別に分離して格納されていたかのように、個別の異なるアプリケーションのそれぞれのイメージビューをマウントし、改変し、アップデートし、またはリストアすることを可能にする。本発明のソフトウェア機能は、類似のおよび／または共通のファイルを活用するために、複数の単一のファイルイメージを１つのイメージファイルに結合することを可能にする。
【０００８】
ある形において、本発明は、格納されたボリュームイメージを有するコンピュータ読み取り可能な記録媒体を含み、ボリュームイメージは、第１のソフトウェアのデータ構造の第１のイメージおよび第２ソフトウェアのデータ構造の第２のイメージを備え、ボリュームイメージの第１のイメージおよび／または第２のイメージをボリュームイメージからイメージングによりそれぞれ再生成できるように、第１および第２のイメージがボリュームイメージに縮小されている。当該ボリュームイメージは、
第１のソフトウェアの記述的データのイメージと、
第１のソフトウェアのファイルデータのイメージと、
第２のソフトウェアの記述的データのイメージと、
あるファイルデータを除く、第２のソフトウェアのファイルデータのイメージと、
１つまたは複数の第１のイメージのファイルデータと結合されたときに、第２のソフトウェアの除かれたあるファイルデータに対応するデルタファイルのイメージと
を備える。
【０００９】
もう１つの形において、本発明は、第１のソフトウェアの第１のイメージを備え、第２のソフトウェアの第２のイメージを備えるボリュームイメージを含む。当該ボリュームイメージは、
ボリュームイメージのヘッダと、
第１のイメージの第１のメタデータと、
第２のイメージの第２のメタデータと、
第２のイメージではなく第１のイメージのファイルデータの第１のファイルデータと、
第２のイメージと第１のイメージとの間の差異のファイルデータのデルタファイルデータと、
ボリュームイメージの署名と
を備え、第１のイメージおよび／または第２のイメージはボリュームイメージからイメージすることができ、ボリュームイメージのサイズは第１のイメージと第２のイメージのサイズの合計より小さい。
【００１０】
もう１つの形において、本発明は、第１のソフトウェアの第１のイメージを備え、第２のソフトウェアの第２のイメージを備えるボリュームイメージを有するコンピュータ読み取り可能な記録媒体を含む。当該ボリュームイメージは、
ボリュームイメージのヘッダと、
第１のイメージの第１のメタデータと、
第２のイメージの第２のメタデータと、
第２のイメージではなく第１のイメージのファイルデータの第１のファイルデータと、
第２のイメージと第１のイメージとの間の差異のファイルデータのデルタファイルデータと、
ボリュームイメージの署名と
を備え、第１のイメージおよび／または第２のイメージはボリュームイメージからイメージすることができ、ボリュームイメージのサイズは第１のイメージと第２のイメージのサイズの合計より小さい。
【００１１】
もう１つの形において、本発明は方法を含み、当該方法は、
第１のソフトウェアから第１のバイナリファイルを生成するステップであって、第１のバイナリファイルは第１のソフトウェアのファイルデータに対応する第１のバイナリファイルデータを備えるステップと、
第２のソフトウェアから第２のバイナリファイルを生成するステップであって、第２のバイナリファイルは第２のソフトウェアのファイルデータに対応する第２のバイナリファイルデータを備えるステップと、
第１のバイナリファイルと第２のバイナリファイルとの間の差異のデルタファイルを生成するステップと、
第１のバイナリファイルおよびデルタファイルをボリュームイメージに結合するステップと
を含む。
【００１２】
もう１つの形において、本発明は、第１のイメージの第１の複数のバイナリファイルおよび第２のイメージの第２の複数のバイナリファイルを、第１のイメージおよび第２のイメージをイメージングによりそれぞれ再生成することができる単一のボリュームイメージに結合する方法であって、第１および第２の複数のバイナリファイルは共通のファイルデータを備える方法を含む。当該方法は、
第１および第２の複数のバイナリファイルの両方に共通のファイルデータを特定するステップと、
第１のイメージを、第１のヘッダ、第１のメタデータ、第１のファイルデータ、共通のファイルデータ、および第１の署名に分離するステップと、
第２のイメージを、第２のヘッダ、第２のメタデータ、第２のファイルデータ、共通のファイルデータ、第２の署名、および第１の複数のバイナリファイルの１つまたは複数のファイルと第２の複数のバイナリファイルの１つまたは複数のファイルとの間の差異のデルタファイルに分離するステップと、
第１のメタデータ、第２のメタデータ、第１のファイルデータ、第２のファイルデータ、共通のファイルデータ、およびデルタファイルを、ヘッダおよび署名を有する単一のボリュームイメージを構成する単一のイメージに結合するステップと
を含む。
【００１３】
もう１つの形において、本発明は、第１のソフトウェアおよび第２のソフトウェアを、第１のソフトウェアの第１のイメージおよび第２のソフトウェアの第２のイメージをイメージングによりそれぞれ再生成することができる単一のボリュームイメージに結合する方法を含み、当該方法は、
第１のソフトウェアを、複数のファイルを指し示すメタデータを有するベースイメージに変換するステップと、
ベースイメージのすべてのファイルの結合された要約を生成するステップと、
第２のソフトウェアを、複数のファイルを指し示すオフセットテーブルを指し示すメタデータを有する第２のイメージに変換するステップと、
第２のイメージ内の１つまたは複数のファイルとの厳密なマッチについて、結合された要約を検索するステップと、
厳密にマッチしたファイルを指し示すように、第２のイメージのメタデータおよび結合されたイメージのオフセットテーブルをアップデートするステップと、
第２のイメージのメタデータとの類似したマッチについて、メタデータのメタデータを検索するするステップと、
結合されたイメージの一部として、類似的にマッチしたファイルのパッチを生成し、格納するステップと、
結合されたイメージの一部として、厳密にマッチせず、類似的にマッチしない第２のイメージのファイルを格納するステップと
を含む。
【００１４】
もう１つの形において、本発明は、第１のイメージおよび第２のイメージを有するボリュームイメージから第２のイメージをコンピュータ読み取り可能な記録媒体にリストアする方法を含み、当該ボリュームイメージは、第１のイメージおよび第２のイメージの両方に共通な共通のデータ、第１のイメージではなく第２のイメージに特有の第２のファイルデータ、第２のイメージの第２の類似のファイルデータに類似する第１のイメージの第１の類似のファイルデータ、および第１の類似のファイルデータと第２の類似のファイルデータとの間の差異を示すデルタファイルを備える。当該方法は、
共通のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第２のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第１の類似のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第２の類似のファイルデータを生成するために第１の類似のファイルデータにデルタファイルを適用するステップと
を含む。
【００１５】
もう１つの形において、本発明は、第１のイメージおよび第２のイメージを有するボリュームイメージから第２のイメージをコンピュータ読み取り可能な記録媒体にリストアする方法を含み、当該ボリュームイメージは、第１のイメージではなく第２のイメージに特有の第２のファイルデータ、第２のイメージの第２の類似のファイルデータに類似する第１のイメージの第１の類似のファイルデータ、および第１の類似のファイルデータと第２の類似のファイルデータとの間の差異を示すデルタファイルを備える。当該方法は、
第２のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第１の類似のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第２の類似のファイルデータを生成するために第１の類似のファイルデータにデルタファイルを適用するステップと
を含む。
【００１６】
もう１つの形において、本発明は、第１のイメージおよび第２のイメージを、コンピュータ読み取り可能な記録媒体の上へ、第１のイメージおよび／または第２のイメージを個別にリストアすることのできるボリュームイメージに結合する方法を含む。第１のイメージは、
第１のイメージおよび第２のイメージの両方に共通な共通のデータと、
第２のイメージの第２の類似のファイルデータに類似する第１の類似のファイルデータを備える、第２のイメージではなく第１のイメージに特有の第１のファイルデータと
を備え、第２のイメージは、
第１のイメージおよび第２のイメージの両方に共通な共通のデータと、
第１のイメージの第１の類似のファイルデータに類似する第２の類似のファイルデータを備える、第１のイメージではなく第２のイメージに特有の第２のファイルデータと
を備える。当該方法は、
共通のデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第１のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第２の類似のファイルデータを除く第２のファイルデータをコンピュータ読み取り可能な記録媒体にコピーするステップと、
第２の類似のファイルデータと第１の類似のファイルデータとの間の差異を示すデルタファイルを生成するステップと、
生成されたデルタファイルをコンピュータ読み取り可能な記録媒体にコピーするステップと
を含む。
【００１７】
もう１つの形において、本発明は、第１のソフトウェアおよび第２のソフトウェアを、第１のソフトウェアの第１のイメージおよび第２のソフトウェアの第２のイメージをイメージングによりそれぞれ再生成することができる単一のボリュームイメージに結合する方法を含み、方法は、
第１のソフトウェアを、複数のファイルを指し示すメタデータを有するベースイメージに変換するステップと、
ベースイメージのすべてのファイルの結合された要約を生成するステップと、
第２のソフトウェアを、複数のファイルを指し示すオフセットテーブルを指し示すメタデータを有する第２のイメージに変換するステップと、
第２のイメージのメタデータとの類似したマッチについて、メタデータのメタデータを検索するステップと、
結合されたイメージの一部として、類似的にマッチしたファイルのパッチを生成し、格納するステップと
を含む。
【００１８】
あるいは、本発明は、様々な他の方法および装置を含むことができる。
【００１９】
他の特徴は、以下において一部明らかになり、一部指摘される。
【００２０】
対応する参照番号は、諸図面を通して対応する部分を示している。
【発明を実施するための最良の形態】
【００２１】
図１に示すように、特許文献１に従い結合されたイメージ３００は、第１のソフトウェアの第１のイメージ３０２および第２のソフトウェアの第２のイメージ３０４を備える。結合されたイメージは、結合されたイメージ３００のヘッダ３０６、第１のイメージ３０２に対応する第１のメタデータ３０８、第２のイメージ３０４に対応する第２のメタデータ３１０、第２のイメージ３０４ではなく第１のイメージ３０２のファイルデータの第１のファイルデータ３１２、第１のイメージ３０２ではなく第２のイメージ３０４のファイルデータの第２のファイルデータ３１４、（すべてのファイルデータが、結合されたイメージ内のどこにあるのかを記述する）オフセットテーブル３２０、および結合されたイメージ３００の署名３１６を備える。第１のイメージ３０２と第２のイメージ３０４とがいくらかの同一のファイルデータを有する場合、そのような共通のデータ３１８は結合されたイメージに一度のみコピーされる。結果として、結合されたイメージ３００のサイズは、第１のイメージ３０２および第２のイメージ３０４のサイズの合計よりも小さい。結合されたイメージ３００の１つの利点は、以下に図５に関してより詳細に説明するように、結合されたイメージ３００から第１のイメージ３０２および／または第２のイメージ３０４がリストアできることである。
【００２２】
図１に示すように、結合されたイメージ３００を生成する方法は、まず、第１のソフトウェアから第１のイメージ３０２を生成し、次に、第２のソフトウェアから第２のイメージ３０４を生成し、そして、第１のイメージ３０２および第２のイメージ３０４を結合されたイメージ３００に結合することを含む。上述し、図１に示すように、第１のイメージ３０２は、第１のソフトウェアのファイルデータに対応する第１のファイルデータを指し示すオフセットテーブル（オフセットテーブル１）を指し示す第１のソフトウェアの記述的データに対応する第１の記述的データ（メタデータ１）を備える。同様に、第２のイメージ３０４は、第２のソフトウェアのファイルデータに対応する第２のファイルデータを指し示すオフセットテーブル（オフセットテーブル２）を指し示す第２のソフトウェアの記述的データに対応する第２の記述的データ（メタデータ２）を備える。第１および第２のイメージが共に少なくともいくらかの共通のファイルデータ３１８を備える場合、結合されたイメージ３００は共通のファイルデータを１つのコピーのみ備える。
【００２３】
２つのイメージまたは２つ以上のイメージが結合される場合で、イメージが共通のファイルデータを有することが知られているとき、次のアプローチを用いることができる。まず、第１および第２のイメージの両方に共通のファイルデータが特定される。第１のイメージ３０２は、第１のヘッダ、第１のメタデータ、第１のファイルデータ、共通のファイルデータ、第１のオフセットテーブル、および第１の署名に分離される。同様に、第２のイメージ３０４は、第２のヘッダ、第２のメタデータ、第２のファイルデータ、共通のファイルデータ、第２のオフセットテーブル、および第２の署名に分離される。結合されたイメージを生成するために、第１のメタデータ、第２のメタデータ、第１のファイルデータ、第２のファイルデータ、および共通のファイルデータが、単一の結合されたイメージを構成する単一のイメージに結合される。次に、ヘッダ、オフセットテーブル、および署名が結合されたイメージ３００に追加される。結果として、結合されたイメージ３００は、イメージ１に特有のファイルデータ３１２および共通のデータ３１８を指し示す結合されたイメージのオフセットテーブル３２０を指し示す第１のソフトウェアの記述的データに対応する記述的データ（メタデータ１）３０８を備える。ファイルデータ３１２および共通のデータ３１８は、第１のソフトウェアのファイルデータに対応する。加えて、結合されたイメージ３００は、イメージ２に特有のファイルデータ３１４を指し示す結合されたイメージのオフセットテーブル３２０を指し示す第２のソフトウェアの記述的データに対応する記述的データ（メタデータ２）３１０を備える。ファイルデータ３１４および共通のデータ３１８は、第２のソフトウェアのファイルデータに対応する。
【００２４】
各ファイルのハッシュなどの識別子のリストを生成し、第１のイメージ３０２および第２のイメージ３０４を結合するプロセスにおいて使用することができることが企図されている。まず、結合されたイメージ３００内のファイルの識別子（たとえば、ハッシュ）のリストが生成される。第１のイメージ３０２内の各ファイルデータについて第１のイメージ３０２のファイルデータが読まれ、当該ファイルデータの内容に基づいて、識別子が各読まれたファイルと関連付けられる。第２のイメージの各ファイルデータについて第２のイメージ３０４のファイルデータが読まれ、当該ファイルデータの内容に基づいて、識別子が各読まれたファイルと関連付けられる。この状況において、読まれたファイルデータは、読まれたファイルデータの識別子が結合されたイメージ３００の識別子のリスト内にない場合、結合されたイメージ３００に結合または追加される。結合されたイメージ３００に新しいファイルが追加されるとき、記述的データ（メタデータ１および／またはメタデータ２）は、結合されたイメージ３００に加えられた新しいファイルデータの識別情報を含めるためにアップデートされ、オフセットテーブルは、新しいファイルの新しい場所を含めるためにアップデートされる。各ファイルの識別情報は、他のファイルの識別情報と衝突しないように固有のものでなければならない。この観点から、ファイル識別情報のそれぞれは、メタデータがアップデートされる前に固有であることが検証され、固有でない場合はそうであるように改変される。
【００２５】
図１はイメージ１およびイメージ２を結合されたイメージに結合することを示すが、結合されたイメージ３００のサイズは減少していないことがある。たとえば、イメージ間で極めて少ししか又はまったく共通のデータがない場合、結合されたイメージのサイズはイメージ１のサイズとイメージ２のサイズの合計とほぼ同じとなる。加えて、図１は、非常に類似し、わずかの差異しか有さない２つのバイナリファイルを結合することの可能性を考慮に入れていない。（ＱＦＥ、サービスパック、または異なる言語の場合のように）ファイルがわずかに異なるのみである場合、イメージは依然として固有なファイルの合計サイズの分だけ増加する。一般に、第１および第２のファイルが、相当な量の第１および第２のファイルの両方に共通なデータを備えるが厳密には同一でないデータもいくらか備える場合に、第１のファイルは第２の格納されたファイルと類似するとみなされる。
【００２６】
本発明によると、類似物が一度のみ格納されるように、ボリュームイメージの２つまたは２つ以上の類似するファイルが特定される。加えて、格納されたファイルと他の類似するファイルとの差異が格納される。最初のステップは、異なるファイルがボリュームイメージ内の他のファイルに類似するかどうかを決定する。この決定は、数千のファイルをキャプチャし、比較するときに、スピードに不利な影響を与えないように迅速でなくてはならない。マッチングの基準のいくつかの例は、名前、生成日、類似するファイルサイズ、または他のマッチング基準が同一であるファイルである。潜在的なマッチが発見されると、パッチングテクノロジがデルタファイルを生成する。このデルタファイルは、オリジナルファイルよりも小さい場合、オリジナルファイルの代わりにイメージ内に格納される。複数のマッチが発見される場合、ベースファイルおよびデルタファイルの組み合わせのうち最小のものがイメージ内に格納される。結果として生じる、すべてのファイルインスタンスに対するイメージメタデータは、ファイルがパッチングを介して格納された場合、ベースファイル識別子および追加のデルタファイル識別子を内に含む。ファイルのリストアに当たり、パッチングを用いて格納されたファイルのいずれもが、ベースファイルと適当なデルタファイルとを結合することによってリストアされる。これらのデルタファイルも、１つまたは複数のイメージ内の重複するファイルに関して一度のみ（単一インスタンス）格納することができることに留意されたい。たとえば、デルタファイルは、アップデートおよびパッチングに関する特許文献２〜１０に示すように生成することができる。
【００２７】
図２を参照すると、本発明により、２つの類似するファイルを結合する方法２００が示されている。この方法２００は、コンピュータ読み取り可能な記録媒体に格納されるプログラムの一部である命令として実装することができるが、当業者はこの方法２００を実装するための他の方法を認知するだろう。特に、第１のソフトウェアの第１のイメージの一部であるバイナリファイルデータＡは、第２のソフトウェアの第２のイメージの一部であるバイナリファイルデータＢに類似する場合がある。第１および第２のイメージが単一のボリュームイメージ（図３を参照）に結合されることを仮定すると、ファイルＡおよびＢは同一のメディア上に存在することになる。これらのファイルは類似しておりわずかに異なるのみであるので、パッチングテクノロジを用いることができる。特に、バイナリファイルが圧縮された後、２０２で、パッチングアルゴリズムが用いられ、デルタファイルが生成される。デルタファイルを生成するために、任意のアルゴリズムを用いることができる。たとえば、上述の米国特許および米国特許出願に記述されるパッチング技法を用いることができる。
【００２８】
デルタファイルは、バイナリファイルデータＡとバイナリファイルデータＢとの間の差異を特定する。言い換えると、ファイルデータＡにデルタファイルを適用するとファイルデータＢが生成される（またはその逆）。２０４で、デルタバイナリファイルは圧縮される。２０６で、圧縮されたデルタバイナリファイルのサイズが、圧縮されたバイナリファイルデータＢと比較される。この比較に基づいて、２０８で、デルタバイナリファイルが受取可能かどうかを決定する決定が下される。この決定は、デルタバイナリファイルが取り替えることを意図されているバイナリファイルデータＢのサイズと比較されるとき、圧縮されたデルタバイナリファイルのサイズの比較を単に含むことができ、またはリストア時間などの他の比較を含むことができる。デルタバイナリファイルのサイズが小さい場合（たとえば、少なくとも２５％小さい）、このことは、ファイルデータＡとデルタバイナリファイルとの組み合わせがファイルデータＡとファイルデータＢとの組み合わせよりも小さくなることを意味する。したがって、デルタバイナリファイルは受取可能であり、２１０で、ファイルデータＡおよびデルタファイルが、それらがファイルデータＡおよびファイルデータＢの合計よりも小さくなるため、ボリュームイメージの一部として格納される。デルタバイナリファイルのサイズがファイルデータＢのサイズに近い又はそれより大きい場合、このことは、ファイルデータＡおよびデルタバイナリファイルの組み合わせがファイルデータＡおよびファイルデータＢの組み合わせよりも大きくなることを意味する。したがって、デルタバイナリファイルは、受取不可であり、２１２で、ファイルデータＡおよびファイルデータＢが、それらがファイルデータＡおよびデルタバイナリファイルの合計よりも小さくなるため、ボリュームイメージの一部として格納される。
【００２９】
図３に示すように、ボリュームイメージ３０１は、第１のソフトウェアの第１のイメージ３０３および第２のソフトウェアの第２のイメージ３０５を備える。ボリュームイメージは、ボリュームイメージ３０１のヘッダ３０６、第１のイメージ３０３に対応する第１のメタデータ３０８、第２のイメージ３０５に対応する第２のメタデータ３１０、第２のイメージ３０５ではなく第１のイメージ３０３に特有なファイルデータの第１のファイルデータ３１２、第１のイメージ３０３ではなく第２のイメージ３０５に特有なファイルデータの第２のファイルデータ２Ｂ  ３１３、ファイルデータ１からファイルデータ２Ａを生成するためのデルタファイル３１４、オフセットテーブル３２０、およびボリュームイメージ３０１の署名３１６を備える。第１のイメージ３０３および第２のイメージ３０５が同一のファイルデータをいくらか有する場合、そのような共通のデータ３１８は、ボリュームイメージに一度のみコピーされる。結果として、ボリュームイメージ３０１のサイズは、第１のイメージ３０３および第２のイメージ３０５のサイズの合計よりも小さい。ボリュームイメージ３０１の１つの利点は、以下に図５および６に関して説明されるように、第１のイメージ３０３および／または第２のイメージ３０５を、ボリュームイメージ３０１からリストアすることができることである。
【００３０】
図３に示すように、ボリュームイメージ３０１を生成する方法は、まず、第１のソフトウェアから第１のイメージ３０３を生成し、第２のソフトウェアから第２のイメージ３０５を生成して、そして第１のイメージ３０３および第２のイメージ３０５をボリュームイメージ３０１に結合することを含む。上述し、図３に示すように、第１のイメージ３０３は、第１のソフトウェアのファイルデータに対応する第１のファイルデータを指し示すオフセットテーブル（オフセットテーブル１）を指し示す第１のソフトウェアの記述的データに対応する第１の記述的データ（メタデータ１）を備える。同様に、第２のイメージ３０５は、第２のソフトウェアのファイルデータに対応する第２のファイルデータを指し示すオフセットテーブル（オフセットテーブル２）を指し示す第２のソフトウェアの記述的データに対応する第２の記述的データ（メタデータ２）を備える。第１および第２のイメージが共に少なくともいくらかの共通のファイルデータ３１８を備える場合、ボリュームイメージ３０１は、共通のファイルデータ３１８を１つのコピーのみ備える。
【００３１】
２つのイメージまたは２つ以上のイメージが結合される場合で、イメージが共通のファイルデータおよび／または類似するファイルデータを有することが知られているとき、次のアプローチを用いることができる。まず、第１および第２のイメージの両方の共通のファイルデータおよび類似するファイルデータが特定される。第１のイメージ３０３は、第１のヘッダ、第１のメタデータ、第１のファイルデータ、共通のファイルデータ、第１のオフセットテーブル、および第１の署名に分離される。同様に、第２のイメージ３０５は、第２のヘッダ、第２のメタデータ、第２のファイルデータ、共通のファイルデータ、類似するファイルデータ、第２のオフセットテーブル、および第２の署名に分離される。ボリュームイメージを生成するために、第１のメタデータ、第２のメタデータ、第１のファイルデータ、第２のファイルデータ、共通のファイルデータ、およびデルタファイルが、単一の結合されたイメージを構成する単一のイメージに結合される。デルタファイルは、パッチにより生成され、第２のイメージの類似するファイルデータと第１のイメージのファイルデータとの差異を定義する。次に、ヘッダ、オフセットテーブル、および署名がボリュームイメージ３０１に追加される。結果として、ボリュームイメージ３０１は、第１のソフトウェアのファイルデータに対応する第１のファイルデータおよび共通のファイルデータを指し示すオフセットテーブルを指し示す第１のソフトウェアの記述的データに対応する記述的データ（メタデータ１）を備える。加えて、ボリュームイメージ３０１は、第２のソフトウェアのファイルデータに対応する第２のファイルデータおよび共通のファイルデータを指し示すオフセットテーブルを指し示す第２のソフトウェアの記述的データに対応する記述的データ（メタデータ２）を備える。加えて、ボリュームイメージ３０１は、フラッグを、デルタファイルを指し示す第２の記述的データ（メタデータ２）内に含む。
【００３２】
図３には示されていないが、各ファイルのハッシュなどの識別子のリストを生成し、第１のイメージ３０３および第２のイメージ３０５を結合するプロセスにおいて使用することができることが企図されている。まず、ボリュームイメージ３０１内のファイルの識別子（たとえば、ハッシュ）のリストが生成される。第１のイメージ３０３内の各ファイルデータについて第１のイメージ３０３のファイルデータが読まれ、当該ファイルデータの内容に基づいて、識別子が各読まれたファイルと関連付けられる。第２のイメージの各ファイルデータについて第２のイメージ３０５のファイルデータが読まれ、当該ファイルデータの内容に基づいて、識別子が各読まれたファイルと関連付けられる。この状況において、読まれたファイルデータは、読まれたファイルデータの識別子がボリュームイメージ３０１の識別子のリスト内にない場合、ボリュームイメージ３０１に結合または追加される。ボリュームイメージ３０１に新しいファイルが追加されるとき、記述的データ（メタデータ１および／またはメタデータ２）は、ボリュームイメージ３０１に加えられた新しいファイルデータの識別情報を含めるためにアップデートされ、オフセットテーブルは、新しいファイルの新しい場所を含めるためにアップデートされる。各ファイルの識別子は、他のファイルの識別情報と衝突しないように固有のものでなければならない。この観点から、ファイル識別情報のそれぞれは、メタデータがアップデートされる前に固有であることが検証され、固有でない場合はそうであるように改変される。加えて、識別子は、デルタファイルの生成を検討することができるように、類似するファイルがマッチされることを許容しなければならない。たとえば、識別子は、（ＱＦＥ、サービスパック、または異なる言語の場合のように）わずかにのみ異なるファイルが認識されることを許容すべきである。図４を参照すると、第１のソフトウェアおよび第２のソフトウェアを、第１のソフトウェアの第１のイメージ３０３および第２のソフトウェアの第２のイメージ３０５をイメージングによりそれぞれリストアすることができる単一のボリュームイメージ３０１に結合する方法が示されている。まず、４０２で、第１のソフトウェアは、バイナリファイルデータを指し示すメタデータを有するベースイメージに変換される。一般に、ベースイメージはそこにファイルが加えられるイメージであり、既存のイメージまたは新たに生成されたイメージとすることができる。たとえば、既存のイメージ３０３を、そこにイメージ３０５が加えられるベースイメージとみなすことができる。次に４０４で、ベースイメージのメタデータにより特定されるすべてのファイルのハッシュリスト（たとえば、結合された要約）を備える結合されたオフセットテーブルが生成される。次に４０６で、第２のソフトウェアは、第２のイメージのファイルを載せるオフセットテーブルを備える第２のイメージ３０５に変換される。
【００３３】
４０８で、ベースイメージのハッシュリストが、第２のイメージのオフセットテーブル内の１つまたは複数のファイルとの厳密なマッチについて検索される。判断ステップ４１０で、動作を実行するソフトウェアが、４０８での検索が厳密なマッチのいずれかを発見したかどうかを決定する。検索により厳密なマッチが発見される場合、当該ソフトウェアは４１２に進み、図１に示すように、厳密にマッチしたファイルを指し示すように第２のイメージのメタデータおよび結合されたイメージのオフセットテーブルをアップデートする。
【００３４】
４１０で厳密なマッチが発見されない場合、当該ソフトウェアは４１４に進み、第２のイメージのメタデータとの類似するマッチについてベースイメージのメタデータを検索する。判断ステップ４１６で、動作を実行するソフトウェアが、４１４での検索が類似するマッチのいずれかを発見したかどうかを決定する。検索により類似するマッチが発見される場合、当該ソフトウェアは４１８に進み、図２および３に示すように、結合されたイメージの一部としてパッチを生成し、格納する。４１６で類似するマッチが類似するマッチが発見されない場合、当該ソフトウェアは４２０に進み、結合されたイメージの一部として、第２のイメージを固有のファイルとして格納する。
【００３５】
次に図５を参照すると、この図は、本発明により、ボリュームイメージ５００から第１のイメージ５０２がリストアでき、および／またはボリュームイメージ５００から第２のイメージ５０４がリストアできるようにボリュームイメージ５００を生成することの１つの利点を示している。この利点が当てはまる１つの例は、異なるオペレーティングシステムとの使用のための、異なるＳＫＵおよび／またはエディションを有するソフトウェアアプリケーションである。多くの場合、ソフトウェアのこれらの様々なエディションは大量の類似するデータを有する。しかしながら、過去において、これらのエディションのそれぞれを別々にイメージすることが慣行としてなされてきた。したがって、これらの様々なエディションを販売していたベンダ（ｖｅｎｄｏｒ）は、それぞれのエディションを別々のコンピュータ読み取り可能な記録媒体に別々にインベントリ（ｉｎｖｅｎｔｏｒｙ）することが必要であった。本発明の一態様によると、ソフトウェアのこれらの様々なエディションは、エディション５０２、５０４のいずれも再生成することができる単一のボリュームイメージ５００に結合することができる。また、ボリュームイメージ５００が、外部セットアッププログラムまたはイメージを引き出すための他のツールの一部である実行可能ファイル５０６とともに使用することができることも企図されている。ファイル５０６は、実行されたときに、ボリュームイメージの生成に用いられたイメージの内の特定の１つを引き出す。さらに、実行可能ファイルが、ユーザにより入力されるソフトウェアと関連付けられたプロダクトキー（Ｐ．Ｋ．）または識別子（Ｉ．）に応えて動作することができることも企図されている。
【００３６】
図６を参照すると、フローチャートが、イメージ１  ５０２およびイメージ２  ５０４（図５を参照）を備えるボリュームイメージ５００から、新しいコンピュータ読み取り可能な記録媒体（ＣＲＭ）にイメージをリストアするプロセスを示している。新しいＣＲＭにイメージ１をリストアするために、６０４で、共通のデータが新しいＣＲＭにコピーされ、６０６で、イメージ１に特有のファイルデータが新しいＣＲＭにコピーされる。６０８で、新しいＣＲＭ上のイメージ１のメタデータ、オフセットテーブル、ヘッダ、および署名が完成される。新しいＣＲＭにイメージ２をリストアするために、６１０で、共通のデータが新しいＣＲＭにコピーされ、６１２で、イメージ２に特有のファイルデータ２が新しいＣＲＭにコピーされる。６１４で、イメージ１に特有であり、イメージ２のファイルデータに類似するファイルデータ１がＣＲＭにコピーされる。この後者の、類似するファイルデータ１は、デルタファイルが適用されるファイルデータである。６１６で、デルタファイルが新しいＣＲＭにコピーされ、６１８で、これらのファイルが類似するファイルデータ１に適用される。たとえば、イメージ２は、デルタファイルの別のファイルに対する適用を管理するフラグとともに生成されるだろう。一般に、メタデータエントリは、固有の識別子を有する（上述）。デルタパッチに対して、そのファイルについてのメタデータ内にもう１つの固有の識別子があるだろう。メタデータ内の、そのファイルの主な固有の識別子は、ベースファイルの固有の識別子であるだろう。「フラグ」は、オリジナルデータを取り戻すためにベースファイルと結合させるべきパッチファイルに対する固有の識別子であるだろう。ファイルがメタデータ内にパッチデータに対する固有の識別子を有さない（またはゼロである）場合、フラグは設定されずに、従来通りに動作するだろう。６２０で、新しいＣＲＭ上のイメージ２のメタデータ、オフセットテーブル、ヘッダ、および署名が完成される。
【００３７】
以下は、ボリュームイメージをキャプチャするための図７のプロセスの要約の一例である。このプロセスにおいて、７０２で、ボリュームイメージはイメージ１および２の結合であると仮定する。また、上述のように、イメージ１および２のファイルのいくらかは同一（たとえば、冗長なデータ、共通のデータ）であることと、イメージ１および２のファイルのいくらかは類似していてデルタファイルにより置き換えることができることも仮定する。
【００３８】
特に、図７は、ＣＲＭ上に、第１のイメージおよび第２のイメージを、第１のイメージおよび／または第２のイメージを別々にリストアすることができるボリュームイメージに結合する方法を示している。第１のイメージは、第１のイメージおよび第２のイメージの両方に共通な共通のデータ、および第２のイメージではなく第１のイメージに特有な第１のファイルデータを備える。第２のイメージは、第１のイメージおよび第２のイメージの両方に共通な共通のデータ、および第１のイメージではなく第２のイメージに特有な第２のファイルデータを備える。第２のファイルデータは、第１のイメージの第１の類似するファイルデータに類似する第２の類似するファイルデータを備える。
【００３９】
７０４で、ボリュームイメージにキャプチャされる現在のファイルのそれぞれに対して、ファイルハッシュが生成され、現在のファイルがすでに格納されたかどうかを決定するために用いられる（たとえば、ボリュームイメージを生成するためにイメージ１またはイメージ２からＣＲＭにコピーされるファイルは、すでにＣＲＭにコピーされた）。ファイルがすでに格納されている場合、ファイルに対するメタデータは、現在格納されているファイルエントリを指し示すようにアップデートされる。このプロセスは、より詳細に先に示され、特に、先におよび図１に関して述べた特許文献１において詳細に示されている。したがって、当該方法は７０４で、ＣＲＭに共通のデータをコピーすることを含む。
【００４０】
７０６で、ファイルがまだ格納されていない場合、（たとえば、ファイル名、日付、または他の基準を用いて）類似するファイルの候補となるファイルのリストが生成され、そしてスキャンされ、合計サイズ（ベースファイルサイズとパッチサイズの合計）の最良の組み合わせが決定される。固有なファイルのすべて（第１のファイルデータ、および第２のファイルデータであるが、第２の類似するファイルデータは含まない）は、ＣＲＭに一度コピーされる。次に、ファイルインスタンスに対するメタデータが、固有のファイルに関連するようにアップデートされる。このプロセスは先に、特に図１および３〜５に関して、より詳細に示されている。したがって、当該方法は、第２の類似するファイルデータがＣＲＭにコピーされないということを除いて、第１のファイルデータをＣＲＭにコピーすること、および第２のファイルデータをＣＲＭにコピーすることを含む。
【００４１】
７０８で、（ＣＲＭにコピーされていない）第２の類似するファイルデータと（ＣＲＭにコピーされた）第１の類似するファイルデータとの差異を示すデルタファイルが生成される。加えて、このデルタファイルはＣＲＭにコピーされる。したがって、当該方法は、第２の類似するファイルデータと第１の類似するファイルデータとの差異を表すデルタファイル生成すること、および生成されたデルタファイルをＣＲＭにコピーすることを含む。
【００４２】
図８に、コンピュータ１３０の形の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ１３０などのコンピュータが、本明細書で示され、説明された他の図での使用に適する。コンピュータ１３０は、１つまたは複数のプロセッサまたは処理装置１３２およびシステムメモリ１３４を有する。システムメモリ１３４には、本発明によるボリュームイメージを格納することができ、および／またはボリュームイメージから再生成された個別のイメージを格納することができる。図示の実施形態では、システムバス１３６が、システムメモリ１３４を含むさまざまなシステムコンポーネントをプロセッサ１３２に結合する。バス１３６は、メモリバスまたはメモリコントローラ、周辺バス、ＡＧＰ（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）、および様々なバスアーキテクチャのいずれかを使用するプロセッサバスまたはローカルバスを含む複数のタイプのバス構造のいずれかのうちの１つまたは複数とすることができる。制限ではなく例として、そのようなアーキテクチャに、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｈｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとも称するＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００４３】
コンピュータ１３０は、通常、少なくともなんらかの形のコンピュータ読み取り可能な記録媒体を有する。揮発性媒体および不揮発性媒体、リムーバブル媒体および非リムーバブル媒体の両方を含むコンピュータ読み取り可能な記録媒体は、コンピュータ１３０によってアクセスできる使用可能な媒体のいずれかとすることができる。制限ではなく例として、コンピュータ読み取り可能な記録媒体は、コンピュータ記憶媒体および通信媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の保管のための方法またはテクノロジのいずれかで実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含む。たとえば、コンピュータ記憶媒体に、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリテクノロジ、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）、または他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報の保管に使用でき、コンピュータ１３０によってアクセスできる他のすべての媒体が含まれる。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他のトランスポート機構などの変調されたデータ信号内に具体化し、通信媒体には、すべての情報配布媒体が含まれる。当業者は、変調されたデータ信号に精通しているが、この変調されたデータ信号は、信号内に情報をエンコードする形でその特性の１つまたは複数が設定または変更されている。有線ネットワークまたは直接配線接続などの有線媒体と、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体が、通信媒体の例である。上記のいずれかの組み合わせも、コンピュータ読み取り可能な記録媒体の範囲に含まれる。
【００４４】
システムメモリ１３４は、リムーバブルおよび／または非リムーバブルで揮発性および／または不揮発性のメモリの形のコンピュータ記憶媒体を含む。図示の実施形態では、システムメモリ１３４は、読取専用メモリ（ＲＯＭ）１３８およびランダムアクセスメモリ（ＲＡＭ）１４０を含む。起動中などにコンピュータ１３０内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム１４２（ＢＩＯＳ）が、通常はＲＯＭ  １３８に保管される。ＲＡＭ１４０には、通常は、処理装置１３２から即座にアクセス可能、および／または処理装置１３２によって現在操作中のデータおよび／またはプログラムモジュールが含まれる。制限ではなく例として、図８に、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５１を示す。
【００４５】
コンピュータ１３０に、他のリムーバブル／非リムーバブルで揮発性／不揮発性のコンピュータ記憶媒体も含めることができる。たとえば、図８に、非リムーバブル不揮発性磁気媒体から読み取るかこれに書き込むハードディスクドライブ１５４を示す。図８に、リムーバブル不揮発性磁気ディスク１５８から読み取るかこれに書き込む磁気ディスクドライブ１５６と、ＣＤ−ＲＯＭまたは他の光媒体などのリムーバブル不揮発性光ディスク１６２から読み取るかこれに書き込む光ディスクドライブ１６０も示す。例示的なオペレーティング環境で使用できる他のリムーバブル／非リムーバブルで揮発性／不揮発性のコンピュータ記憶媒体に、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、これに制限はされない。ハードディスクドライブ１４４、磁気ディスクドライブ１５６、および光ディスクドライブ１６１は、通常は、インターフェース１６６などの不揮発性メモリインターフェースによってシステムバス１３６に接続される。
【００４６】
上で説明し、図８に示したドライブまたは他の大容量ストレージデバイスおよびそれに関連するコンピュータ記憶媒体は、コンピュータ１３０のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。図８では、たとえば、ハードディスクドライブ１５４が、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６を保管するものとして図示されている。これらのコンポーネントを、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５１と同一のまたは異なるもののいずれかとすることができることに留意されたい。オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６は、少なくとも異なるコピーであることを示すために、異なる符号を与えられている。
【００４７】
ユーザは、キーボード１８０およびポインティングデバイス１８２（たとえば、マウス、トラックボール、ペン、またはタッチパッド）などの入力デバイスまたはユーザインターフェース選択デバイスを介してコンピュータ１３０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ（ｓａｔｅｌｌｉｔｅ  ｄｉｓｈ）、スキャナなどを含めることができる。上記および他の入力デバイスは、システムバス１３６に結合されたユーザ入力インターフェース１８４を介して処理ユニット１３２に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの他のインターフェースおよびバス構造によって接続することができる。モニタ１８８または他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１３６に接続される。モニタ１８８の他に、コンピュータに、しばしば、プリンタおよびスピーカなどの他の周辺出力デバイス（図示せず）が含まれ、これらの周辺出力デバイスは、出力周辺インターフェース（図示せず）を介して接続することができる。
【００４８】
コンピュータ１３０は、リモートコンピュータ１９４などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、上でコンピュータ１３０に関して説明した要素の多くまたはすべてを含む。図８に示された論理接続に、ローカルエリアネットワーク（ＬＡＮ）１９６および広域ネットワーク（ＷＡＮ）１９８が含まれるが、他のネットワークも含めることができる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびグローバルコンピュータネットワーク（たとえば、インターネット）でありふれたものである。
【００４９】
ローカルエリアネットワーキング環境で使用されるときに、コンピュータ１３０は、ネットワークインターフェースまたはネットワークアダプタ１８６を介してＬＡＮ１９６に接続される。広域ネットワーキング環境で使用されるときに、コンピュータ１３０に、通常は、インターネットなどのＷＡＮ１９８を介する通信を確立する、モデム１７８または他の手段が含まれる。モデム１７８は、内蔵または外付けとすることができるが、ユーザ入力インターフェース１９４または他の適当な機構を介してシステムバス１３６に接続される。ネットワーク化された環境では、コンピュータ１３０に関して図示されたプログラムモジュールまたはその一部を、リモートメモリストレージデバイス（図示せず）に保管することができる。制限ではなく例として、図８に、メモリデバイスに常駐するものとしてリモートアプリケーションプログラム１９２を示す。図示のネットワーク接続は例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用することができることが理解されるだろう。
【００５０】
一般に、コンピュータ１３０のデータプロセッサは、異なる時にコンピュータの様々なコンピュータ可読記憶媒体に保管される命令によってプログラムされる。プログラムおよびオペレーティングシステムは、通常、たとえばフロッピー（登録商標）ディスクまたはＣＤ−ＲＯＭで配布される。そこから、これらが、コンピュータの副メモリにインストールまたはロードされる。実行時に、これらは、少なくとも部分的にコンピュータの主電子メモリにロードされる。本明細書に記載の発明には、これらおよび他の様々なタイプのコンピュータ可読記憶媒体にマイクロプロセッサまたは他のデータプロセッサに関連して以下で説明するステップを実装する命令またはプログラムが含まれるときに、そのような媒体が含まれる。本発明に、本明細書に記載の方法および技法に従ってプログラムされたときのコンピュータ自体も含まれる。
【００５１】
例示のために、オペレーティングシステムなどのプログラムおよび他の実行可能プログラムコンポーネントを、本明細書では別個のブロックとして図示した。しかし、そのようなプログラムおよびコンポーネントが、様々な時にコンピュータの異なるストレージコンポーネントに常駐し、コンピュータのデータプロセッサによって実行されることを理解されたい。
【００５２】
コンピュータ１３０を含む例示的なコンピューティングシステム環境に関して説明したが、本発明は、多数の他の汎用のまたは特殊目的のコンピューティングシステム環境またはコンピューティングシステム構成と共に動作する。このコンピューティングシステム環境は、本発明の使用または機能性の範囲に関する制限を提案することを意図したものではない。さらに、このコンピューティングシステム環境を、この例示的なオペレーティング環境に示されたコンポーネントのいずれかまたはその組み合わせに対する依存性または要件を有すると解釈してはならない。本発明と共に使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例に、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、ラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに制限はされない。
【００５３】
本発明を、プログラムモジュールなど、１つまたは複数のコンピュータまたは他のデバイスによって実行されるコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するかまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれるが、これに制限はされない。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含むローカルとリモートの両方のコンピュータ記憶媒体に配置することができる。
【００５４】
動作において、コンピュータ１３０は、実行可能ファイル５０６などのコンピュータ実行可能命令を実行する。
【００５５】
以下の例は、本発明を説明する。Ｗｉｎｄｏｗｓ（登録商標）ＸＰ  ＨｏｍｅとＷｉｎｄｏｗｓ（登録商標）ＸＰ  Ｐｒｏは、非常に類似し、大量の共通のデータを共有するアプリケーションの異なるＳＫＵナンバ（ｎｕｍｂｅｒ）である。Ｈｏｍｅバージョンは、およそ３５５ＭＢであり、Ｐｒｏバージョンはおよそ３７５ＭＢである。両方のエディションが別々に単一メディアにコピーされる場合、およそ７３０ＭＢが必要である。一方、２つのエディションを単一のボリュームイメージとしてイメージすると、およそ３９０ＭＢの単一のボリュームイメージとなる。したがって、ボリュームイメージは、３００ＭＢのディスク／メディアを節約できる。ＯＥＭシナリオの例として、ＨｏｍｅおよびＰｒｏエディションは両方ともマイクロソフト（登録商標）オフィスを伴い、または伴わずに提供されることができる。当該エディションが別々にコピーされる場合、オフィスを伴わないＨｏｍｅエディションは３５５ＭＢを要し、オフィスを伴うＨｏｍｅエディションは５０５ＭＢを要し、オフィスを伴わないＰｒｏエディションは３７５ＭＢを要し、オフィスを伴うＰｒｏエディションは５２５ＭＢを要し、合計は１７６０ＭＢである。一方、４つの異なる提要物を単一のボリュームイメージとしてイメージすると、５４０ＭＢの単一のボリュームイメージとなる。したがって、ボリュームイメージは１１００ＭＢ以上のディスク／メディアを節約する。
【００５６】
このディスク／メディアの節約は、上述したように、多くの利点につながる。たとえば、イメージの伝送もしくは複製またはネットワークもしくは他のリンクが、より少ない時間または減じられた帯域幅により達成できる。
【００５７】
本発明の要素、またはその諸実施形態について述べるときに、冠詞「ある」および「その」は、１つまたは複数の要素があることを意味するものである。用語「備える」「含む」および「有する」は、包含的なものであり、リストされた要素より追加の要素があり得ることを意味している。
【００５８】
上記内容に鑑みて、本発明の複数の目的が実現され、他の有利な結果が達成されることが理解されるだろう。
【００５９】
本発明の範囲から逸脱せずに、上記構成、製品および方法に様々な変更を加えることができるので、上記説明に含まれ、また添付の図面に示されたすべての事柄は、限定的ではなく、例示的な意味で解釈すべきである。
【図面の簡単な説明】
【００６０】
【図１】特許文献１において説明されているように、結合されたイメージに結合し、共通のファイルの単一インスタンスストレージを利用することのできる、イメージ１およびイメージ２のレイアウトを図式的に示した本発明の例示的実施形態である。
【図２】本発明による、２つのバイナリファイルを結合するための方法の動作を示す例示的流れ図である。
【図３】デルタファイルを備え、任意選択で共通のファイルのいずれかを備えるボリュームイメージに結合されることのできる、イメージ１およびイメージ２のレイアウトを図式的に示した本発明の例示的実施形態である。
【図４】本発明による、ボリュームイメージを生成するための方法の動作を示した例示的流れ図である。
【図５】本発明による、ボリュームイメージを格納することができ、したがってイメージ１を別のコンピュータ読み取り可能な記録媒体にイメージングすることによりリストアでき、またイメージ２をもう１つの別のコンピュータ読み取り可能な記録媒体にイメージングすることによりリストアできる、例示的コンピュータ読み取り可能な記録媒体を示すブロック図である。
【図６】本発明による、ボリュームイメージから中身を取り出す方法の動作を示す例示的流れ図である。
【図７】本発明による、共通のファイルおよびパッチファイルの両方を有するボリュームイメージを生成する方法の動作を示す例示的流れ図である。
【図８】本発明を実施するのに適したコンピュータシステム環境の一例を示すブロック図である。
【図１】
2007521528.tif 000003
【図２】
2007521528.tif 000004
【図３】
2007521528.tif 000005
【図４】
2007521528.tif 000006
【図５】
2007521528.tif 000007
【図６】
2007521528.tif 000008
【図７】
2007521528.tif 000009
【図８】
2007521528.tif 000010
【国際調査報告】
2007521528.tif 000011