【誤訳訂正書】
【提出日】平成22年8月17日(2010.8.17)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】発明の詳細な説明
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【０００１】
（技術分野）
本発明はストレージシステムに関する。
【０００２】
（関連明細書）
本明細書は、国際出願番号ＰＣＴ／ＵＳ９９／１７１４８号で出願済みの同じ出願者によるもうひとつの明細書に関連する。「File System Image Transfer」という名称のその関連明細書は、１９９９年７月２８日に出願され、国際公開番号ＷＯ  ００／０７１０４号公報で公開されている。
【０００３】
（背景技術）
情報を格納及び取り出すコンピュータファイルシステムにおいて、ファイルシステムの全て、或いは一部をコピーにすることが時々好都合である。例えば、ファイルシステムをコピーするひとつの目的に、ファイルシステムのバックアップコピーを保持することにより、情報の損失を防止することがある。ファイルシステムをコピーするもうひとつの目的に、複数のサーバが有益な情報にアクセスすることによるロードを共用するために、複数のサーバにおいてファイルシステムの複製を提供することがある。
【０００４】
従来技術におけるひとつの既知の問題は、ファイルシステムのデータをコピーする現存の技術が比較的不便且つ時間を要する（テープへのコピーのように）か、或いは、比較的高価（ディスクドライブの追加セットへのコピーのように）であるかのいずれかであるということである。
【０００５】
予め引用した関連明細書には、転送元のファイルシステムの記憶ブロックに維持されているデータを、転送先のファイルシステム上の記憶ブロックへ効率よく複写する方法が開示され、各ファイルシステムには識別記憶ブロックに同じブロック番号（ＢＮｓ）が与えられている（従って、転送先のファイルシステム上に、転送元のファイルシステムと同一のイメージコピーが作られる）。
【０００６】
（発明の開示）
（発明が解決しようとする技術的課題）
ひとつの問題が、転送先のファイルシステムが転送元のファイルシステムよりサイズが小さくて転送元のファイルシステムにある利用可能な記憶ブロックが転送先のファイルシステムにおいて全部は利用できないときに起こり得る。もうひとつの問題が、転送元のファイルシステム上で用いられた記憶ブロックに対応する位置において、転送先のファイルシステムが利用不可能な記憶ブロックを有するときに起こり得る。別の問題が、転送先のファイルシステム上での記憶ブロックの編成が転送元ファイルシステム上と同じほど効率的に編成されていないので転送元のファイルシステムのＲＡＩＤジオメトリが転送先のファイルシステムのそれと異なるときに発生する。本発明は、これらの問題に取り組んでいる。
【０００７】
本発明は、転送元のファイルシステム（第１の記憶ブロック配置に従って配置された）から、第１の記憶ブロック配置とは異なる第２の記憶ブロック配置に従って配列される転送先のファイルシステムへ記憶ブロックを効率的に複写する技術を提供することを目的とする。
【０００８】
（その解決方法）
本発明は、ファイルシステムの矛盾のない複製を維持する一方で、ファイルシステムの全て、又は一部をコピーするための技術を提供する。ひとつの好ましい実施の形態は第１組のブロック番号（ＢＮ）を確定し、これらのＢＮによって参照される記憶ブロックが何処に格納されるかを確定し、結果としてＢＮを更新する。もうひとつの好ましい実施の形態は、転送元のファイルシステムからデータを読込み（第１の記憶ブロック配置に従って）、イメージストリームを生成し、データをイメージストリームから転送先のファイルシステム上へ書き込む（第２の記憶ブロック配置に従って）。中間の記憶媒体は、データが転送先のファイルシステムへ書き込まれる前に、イメージストリームを格納或いは送信するために用いられる。（例えば、中間の記憶媒体には、（限定はしないが）磁気テープ（或いは、他のアーカイブ装置）又は、ネットワークが含まれ得る。本発明は、転送元のファイルシステムから転送元のファイルシステムとは異なる特性を有する転送先のファイルシステムへイメージファイルシステム複製を作成することを可能にする。
【０００９】
（発明を実施するための最良の形態）
以下の説明においては、１つ或いはそれ以上の発明の実施の形態がこれらのステップを成し遂げる好ましい処理ステップと装置に関して説明する。しかしながら、当業者には、本発明の実施の形態がプログラム制御や他の回路の下で作動する特殊用や汎用のプロセッサを用いることにより実施されることや、その処理のステップの実行に必要以上の実験や更なる発明が必要ないことが認識されるであろう。
【００１０】
本発明は、以下に挙げる明細書に記述されている発明と共に利用できるものである。
【００１１】
・「A Method for Providing Parity in a Raid Sub-System Using Non-Volatile Memory」という名称で、１９９４年１月２日にネットワーク・アプライアンス・コーポレーションにより国際出願番号ＰＣＴ／ＵＳ９４／０６３２１号で出願され、国際公開番号ＷＯ  ９４／２９７９５号公報により公開されている。
【００１２】
・「Write Anywhere File-System Layout」という名称で、１９９４年１月２日にネットワーク・アプライアンス・コーポレーションにより国際出願番号ＰＣＴ／ＵＳ９４／０６３２０号で出願され、国際公開番号ＷＯ  ９４／２９８０７号公報により公開されている。
【００１３】
・「Method for Allocating Files in a File System Integrated with a Raid Disk Sub-System」という名称で、１９９４年１月２日にネットワーク・アプライアンス・コーポレーションにより国際出願番号ＰＣＴ／ＵＳ９４／０６３２２号で出願され、国際公開番号ＷＯ  ９４／２９７９６号公報により公開されている。
【００１４】
（注釈及び用語定義）
以下に挙げる「注釈及び用語定義」は、本発明及び好ましい実施の形態を理解する上で助力となるように与えられる。
【００１５】
ブロック・タイプビットとは、ファイルシステムにおける各記憶ブロックの目的を記述するブロックマップファイルにあるビットである。このように、ブロック・タイプビットは、記憶ブロックがブロック番号（ＢＮ）ポインタを含むかどうかを判定するために用いられる。
【００１６】
ポインタとは、データ構造を参照するために用いられるデータ値である。当業者には、制限されることはないが、「ポインタ」は、メモリのアドレス、又は、情報の関係に対するアドレスを演算するために用いられる値、及び、ハンドル及び類似な構造体を含んでいるいくらかの機能的な相当物とを含むことを理解するだろう。ＢＮポインタはファイルシステムにおける記憶ブロックに対するポインタとして与えられる。
【００１７】
プロシジャとは、所望の結果を導くコンピュータ化されたステップの首尾一貫したシーケンスである。これらのステップは１つ又はそれ以上のコンピュータ命令により定義される。これらのステップは、ステップが定義された命令をコンピュータが実行することにより遂行される。このように、「プロシジャ」という語は命令のシーケンス、プログラム化された手続或いはプログラム化された機能の範囲で編成された命令のシーケンス、又は１つ或いはそれ以上のコンピュータにおいて実行されるプログラム化されたプロセスの範囲内で編成された命令のシーケンスを指す。
【００１８】
ＲＡＩＤとは、独立したディスクの冗長配列。
【００１９】
（詳細な説明）
図１は、命令が組み込まれたコンピュータ１００を示す。コンピュータ１００は、中央処理装置（ＣＰＵ）１０３、メモリセクション１０５及び入力／出力（Ｉ／Ｏ）セクション１０７が組み込まれたプロッセッサ１０１を有する。Ｉ／Ｏセクション１０７には、オペレータインターフェース１０９、第１のディスク記憶ユニット１１３、第２のディスク記憶ユニット１１４及びリムーバブル媒体ドライブユニット１１５が接続されている。リムーバブル媒体ドライブユニット１１５は、プログラム及びデータ１１９を一般的に含んでいるリムーバブル媒体１１７を読込むことが可能である。ディスク記憶ユニット１１３、１１４はディスクの配列である（例えば、ＲＡＩＤ）。コンピュータ１００は、コンピュータ１００とネットワーク１２３を接続するネットワークインタフェース１２１を含んでいる。アプリケーションプログラム１２５は、コンピュータ１００に命令のステップを実行させるメモリセクション１０５に常駐している。アプリケーションプログラム１２５は、ディスク記憶ユニットのうちのひとつ、ネットワークインターフェース１２１、リードオンリーメモリ或いは類似のデータ記憶装置からメモリセクション１０５へロードされる。いくらかの実施の形態においては、メモリセクション１０５はＮＶＲＡＭ１２７を含んでいる。オペレータインタフェース１０９は、ネットワーク、ターミナルコンセントレータ或いは他のＩ／Ｏメカニズムのようなものを介してコンピュータ１００にアクセスすることが可能である。
【００２０】
リムーバブル媒体ドライブユニット１１５（リムーバブル媒体１１７を伴う）、第１のディスク記憶ユニット１１３及び第２のディスク記憶ユニット１１４はファイル記憶メカニズムの一部である。第２のディスク記憶ユニット１１４は、第１のディスク記憶ユニット１１３と同じサイズである必要はない（特に、第２のディスク記憶ユニット１１４は、第１のディスク記憶ユニット１１３より少ないデータ容量であってよい）。加えて、コンピュータ１００は磁気テープ装置（図示せず）を含んでいてもよい。当業者には、図１に示された全ての構成要素があらゆる実施の形態に必ずしも必要でないことが理解できるだろう。
【００２１】
本発明のひとつの態様では、同じ物理ブロック配置が第２のブロック向き媒体上で第１のブロック向き媒体として用いられているということを必要とすることなく、第１のブロック向き媒体上において転送元のファイルシステムを編成する物理的記憶ブロックから第２のブロック向き媒体へデータを転送する。従って、第１の記憶ブロック配置が転送元のファイルシステムのファイル構造に定義され、第２の記憶ブロック配置が転送先のファイルシステムのファイル構造に定義され、第１の記憶ブロック配置と第２の記憶ブロック配置とは異なっている。
【００２２】
スウィズル処理（swizzling）は、ファイルシステム記憶ブロックが転送先のファイルシステム上の異なる記憶位置に格納されるように、ブロック番号（ＢＮ）を再マップする処理である。スウィズル処理は、第１のファイルシステム上で利用されている記憶ブロックのいくらかが第２のファイルシステムの相当する記憶ブロックに転送できないとき、第１のファイルシステムから第２のファイルシステムへイメージを転送することを可能としている。第１と第２のファイルシステムとのサイズが異なるとき、第１のファイルシステム上のいくらかの記憶ブロックが第２のファイルシステム上の同じ記憶ブロックに転送できないとき（例えば、第２のファイルシステムに破損ブロックがある場合）、或いは、両ファイルシステムのジオメトリがより最適なマッピングを必要とするために十分に異なるとき（例えば、ファイルシステムが一方のＲＡＩＤ記憶から異なる性質を有する他方のＲＡＩＤ記憶へ転送される場合）、このような状況が発生する（例えば、限定はされないのだが）。
【００２３】
スウィズル処理は、記憶ブロックが転送先のファイルシステムに書き込まれた後（遅れスウィズル処理）又は、記憶ブロックが転送先のファイルシステムに書き込まれているとき（途中スウィズル処理）に実施されてもよい。バンド・スウィズル処理は、転送先のファイルシステムに基づくＲＡＩＤへの書き込みを最適化し、且つ再マップ処理ステップを最適化する遅れスウィズル処理の形式である。ゴブ・スウィズル処理は、単一記憶ブロックの代わりに記憶ブロックの範囲をスウィズル（swizzle）し、そして維持されているブロックマップ処理情報の量を削減する。例えば、ゴブ・サイズが２５６の記憶ブロックであるならば、ゴブにある各ブロックのＢＮは、同じ方法によりスウィズルされた上位ビットを有し、ＢＮの下位８ビットは変化しないままである。これが２５６の因子だけブロックマップ処理情報を削減する。
【００２４】
好ましい実施の形態では、ボリュームブロック番号（ＶＢＮ）空間内にあるＢＮが用いられる。ＶＢＮは、記憶ブロックのために近接するフラットアドレス空間を提供する。このアドレス空間は、与えられたアドレスに相当する記憶ブロックが存在しないギャップや孔を有さない（例えば、アドレスの上位ビットにあるプラッター識別を用いるいくらかの仕組みや、プラッター内にある記憶ブロック識別子は、プラッター間にアドレスギャップを有している）。
【００２５】
図２Ａは、転送元のファイルシステムから転送先のファイルシステムへデータを転送するファイルシステム複製化処理２００を示す。各ファイルシステムは、１つ又はそれ以上の記憶ブロックにあるデータを格納することが可能である。ファイルシステム複製化処理２００は、「開始」２０１から始まり、「イメージストリームの作成」２０３へ処理を進める。「イメージストリームの作成」２０３は、転送元のファイルシステム上に格納されたデータがイメージストリーム内にどのように、且つ何処に位置付けられるかを明記する第１の記憶ブロック配置を確定することによりイメージストリームを生成する。「イメージストリームの作成」２０３は、第１の記憶ブロック配置に従って、転送元のファイルシステムからデータを読み込むことによってもイメージストリームを生成する。好ましい実施の形態では、転送元のファイルシステムのいずれの記憶ブロックがイメージストリームに含まれているかを判定するブロックマップファイルを走査する。他の実施の形態では、いずれの記憶ブロックがイメージストリームに含まれているかを判定するファイルシステム情報を用いてもよい。このように、「イメージストリームの作成」２０３は、転送元のファイルシステムのファイルシステムメタデータにより定義されるような転送元のファイルシステム上に配置された記憶ブロックに従って、転送元のファイルシステムからいずれの記憶ブロックがイメージストリームに含まれているかを判定する。記憶ブロックが書き込まれるとき、転送元のファイルシステム上の記憶ブロック配置は、転送先のファイルシステム上の記憶ブロック配置とは異なっている。
【００２６】
「イメージストリームの作成」２０３は、転送元のファイルシステムからの記憶ブロックがイメージストリームの何処にあるかを明記する１つ又はそれ以上のブロックリストも生成する。ブロックリストはいずれの記憶ブロックが１つ又はそれ以上のブロック番号（ＢＮ）ポインタを含んでいるかを示すことができる。「イメージストリームの作成」２０３は、イメージストリームにあるブロックを転送先のファイルシステム用の第２の記憶ブロックにマップするために利用される第２のブロックリストを含んでいてもよい。
【００２７】
イメージストリームは、ブロックタイプビット又は、ブロックタイプビットから得た情報を含むことができ、イメージストリームにあるいずれの記憶ブロックがＢＮポインタを含んでいるかを識別する。
【００２８】
ひとたびイメージストリームが生成されると、「イメージストリームの書き込み」２０５は、転送先のファイルシステム用の第２の記憶ブロックを確定し、現実の或いは正規化されたブロックリスト（暗に意味されたブロックリスト）を用いる転送先のファイルシステムへイメージストリームを書き込む。本発明の１つの態様は、転送元のファイルシステム上の特定の記憶ブロックにおいて格納されたデータが、転送先のファイルシステム上の同じ記憶ブロックに格納される必要がないということである。従って、転送元と転送先とのファイルシステム用の記憶ブロックの配置は異なっていてもよい。
【００２９】
ブロックリストは、転送元のファイルシステムから転送先のファイルシステムへ記憶ブロックを直接マップするために利用される情報を含むことができ、及び／又は、転送元及び／又は転送先ファイルシステム上の何処に記憶ブロックが格納されているかを表わす情報を含むことができる。
【００３０】
本発明の１つの態様は、転送元のファイルシステム上の記憶ブロックの記憶位置が転送先のファイルシステム上の記憶ブロックの記憶位置と異なっていることである。従って、転送元のファイルシステム上に与えられたアドレスを有する記憶ブロック内のデータが転送先のファイルシステム上の異なるアドレスを有する記憶ブロック内に格納される。このように、転送元のファイルシステムは、転送先のファイルシステムのような同じ特性を持つ必要はない。特に、これらのファイルシステムは、同じ記憶ブロックの番号、同じトラック／シリンダーレイアウト、或いは同じＲＡＩＤパラメータを持つ必要がない（限定はしないが）。実際、転送元のファイルシステム内に維持されているデータが転送先のファイルシステム上に格納することができさえすれば、転送先のファイルシステムは、転送元のファイルシステムよりサイズが小さくてもよい。
【００３１】
ひとたびデータが転送先のファイルシステムに格納されたならば（第２の記憶配置のように）、ファイルシステム複製化処理２００は「ＢＮポインタの更新」２０７へ処理を進める。「ＢＮポインタの更新」２０７では、第２の記憶ブロック配置、第１のブロックリスト、いくらかの実施の形態においては、第２のブロックリストを用いて、転送先のファイルシステムにある記憶ブロック内に含まれているＢＮポインタを更新する。ひとたびＢＮポインタがスウィズル（swizzle）されると、転送先のファイルシステムは、イメージストリームが生成された時点で、完全で且つ一貫した転送元のファイルシステムを含む。ファイルシステム複製化処理２００は、「終了」２０９に至って完了する。「ＢＮポインタの更新」２０７は、全てのデータが転送先のファイルシステムへ書き込まれた後（遅れスウィズル処理は、図６で後述し、第２の記憶ブロック配置は、遅れスウィズル処理の処理より前に確定する）或いは、データが転送先のファイルシステムへ書き込まれているのと同時に（途中スウィズル処理は、図５で後述し、第２の記憶ブロック配置は、途中スウィズル処理の間に定義される）完了する。
【００３２】
図２Ａに示される「ＢＮポインタの更新」２０７は、記憶ブロックが転送先ファイルシステムへ書き込まれた後、分離したステップとして実行されてもよい。もうひとつの方法として、「ＢＮポインタの更新」２０７は、記憶ブロックが転送先ファイルシステムへ書き込まれるとき、ＢＮポインタがスウィズルされるように「イメージストリームの書き込み」２０５に組み込まれてもよい。
【００３３】
ひとつの好ましい実施の形態においては、第１のブロックリストは、イメージストリームがどのように編成されるかに関する情報を提供する。もうひとつの好ましい実施の形態において、イメージストリームは、「イメージストリームの生成」２０３、「イメージストリームの書き込み」２０５、「ＢＮポインタの更新」２０７の間で了解された標準化フォーマット（或いは、マッピング）に従って編成される。図３Ａ，図３Ｂ及び図３Ｃの各図は、「イメージストリームの生成」２０３及び「イメージストリームの書き込み」２０５により利用されるマップ処理（限定はしないが）の異なる例を示す。
【００３４】
図２Ｂは、古いＢＮポインタを転送元のファイルシステムから転送先のファイルシステムにある新しいＢＮポインタへ、マップするためのスウィズル処理２５０を示す。スウィズル処理２５０は「開始」２５１から始まり、転送先ファイルシステムに対する新しいＢＮポインタの値を検索するために古いＢＮポインタ及び第２のブロックリストを用いる「新しいＢＮポインタの検索」２５３へ処理を進める。「古いＢＮポインタの置き換え」２５５では、古いＢＮポインタを新しいＢＮポインタへ置き換える。当業者には、この処理のために第２のブロックリストが完成される必要がないことが理解できるであろう。その代わりに、記憶ブロックが転送先のファイルシステムに格納される際、第２のブロックリストが途中に構成されてもよい。スウィズル処理２５０は、「終了」２５７に至って完了する。スウィズル処理２５０には、図５、図６、図７に示されるような後述される処理が用いられる。
【００３５】
イメージストリームは、記憶ブロックを転送元のファイルシステムからイメージストリームにあるデータへマップする明確であるか、或いは暗示された情報を含む。このように、イメージストリームは、明記されたフォーマットに従って構築される。
【００３６】
ブロックマップファイルにあるブロックタイプビットは、いずれの記憶ブロックがＢＮポインタを含んでおり、いずれの記憶ブロックがＢＮポインタを含んでないかを判定するために用いられる。ＢＮポインタは、第１の記憶ブロック配置を確定するため、即ち、第１のディスクユニット１１３上のいずれの記憶ブロックがイメージストリームに含まれているかを判定するために利用されてもよい。加えて、ブロックタイプを利用しないファイルシステムにおいて、ＢＮポインタを含んでいる記憶ブロックは、ファイルシステムのメタデータを探索することにより確定される。当業者には、転送元のファイルシステムにある記憶ブロックが何のために用いられるかを確定する本発明において、ブロックタイプビットがほんの一方法を提供するにすぎないことを理解するであろう。ブロックタイプビットや、いずれの記憶ブロックがＢＮポイントを含んでいるかを表わす他の情報がイメージストリームに含まれている。
【００３７】
図３Ａは、第１のブロックリスト生成処理３００を示す。第１のブロックリスト生成処理３００は、「開始」３０１から始まり「第１のブロックリストの確定」３０３へ処理を進める。「第１のブロックリストの確定」３０３では、転送元のファイルシステムを走査し、公知の技術を用いて第１のブロックリストを確定する。「第２のブロックリストの確定」３０５では、転送先のファイルシステムの既知の特性に基づいた第２の記憶ブロック配置を確定する。「データを伴う両ブロックリストの格納」３０７では、データを伴う第１のブロックリストと第２のブロックリストの両者を結合し、イメージストリームを生成する。第１のブロックリスト生成処理３００は、「終了」３０９へ至って完了する。このように、転送先のファイルシステムへイメージストリームを書き込むコンピュータは、イメージストリームを生成するコンピュータが既にそのように動作しているのだから、第２のブロックリストを生成する必要はない。
【００３８】
図３Ｂは、「開始」３２１から始まり「第１のブロックリストの確定」３０３（前述した）へ処理を進めるブロックリスト生成処理３２０を示す。ひとたび転送元のファイルシステム用の第１のブロックリストが確定されると、ブロックリスト生成処理３２０は、「データを伴う第１のブロックリストの格納」３２５へ処理を進める。「データを伴う第１のブロックリストの格納」３２５は、イメージストリームを伴う第１のブロックリストを含む。しかしながら、第１のブロックリスト生成処理３００とは違って、イメージストリームは、転送先のファイルシステム用の第２のブロックリストを含んでいない。イメージストリームが生成された後、ブロックリスト生成処理３２０では、「第２のブロックリストの生成」３２７へ処理を進める。「第２のブロックリストの生成」３２７は、イメージストリームを転送先のファイルシステムへ書き込むコンピュータにより実行される。このコンピュータは、転送先のファイルシステム及び第１のブロックリストについての情報を用いて、第２のブロックリストを生成する。ブロックリスト生成処理３２０は、「終了」３２９へ至って、完了する。当業者は、「第２のブロックリストの生成」３２７が転送先のファイルシステム上のイメージストリームが記憶される前、後、或いはそのときに、第２のブロックリストを生成することができることを理解するだろう。
【００３９】
イメージストリームは、ノーマル形式ブロックリストに従って生成され、このノーマル形式ブロックリストは、送信元からイメージストリームを生成するコンピュータとイメージストリームを受信するコンピュータとの両コンピュータは既知であり、後者のコンピュータがイメージストリームに含まれているデータを転送先のファイルシステムへ書き込む。このノーマル形式ブロックリストは、転送先のジオメトリの予備知識と共に生成されるか、或いは多くのジオメトリにとって十分に好ましいブロックリストである。ノーマル形式は、縮退した複数のブロックリスト（例えば、限定はされないが、記憶ブロックの指定された番号が第１のディスク、第２のディスクなどから読込まれたことを特定し、全ての記憶ブロックが読み込まれるまで、そのシーケンスを繰り返す複数のブロックリスト）を含んでいてもよい。
【００４０】
第３のブロックリスト生成処理３５０は、「開始」３５１から始まり「第１のブロックリストの確定」３０３へ処理を進める。次に、「通常形式のデータの格納」３５５では、第１のブロックリストを利用し、標準化された（暗に意味された、及び／又は、相互に了解された）形式に従ってイメージストリームを生成する。データを転送先のファイルシステムへ書き込むコンピュータは、仮定された通常形式ブロックリストを伴うイメージストリームを受信し、（前述の）「第２のブロックリストの生成」３２７において、転送先ファイルシステム用の第２の記憶ブロック配置を生成する。第３のブロックリスト生成処理３５０は、「終了」３５９に至って完了する。
【００４１】
前述した処理によって生成されたイメージストリームのそれぞれは、１組の磁気媒体などの（限定はしないが）中間記憶装置を用いて格納される。イメージストリームのそれぞれは、ローカルエリアネットワークやインターネット（限定はしないが）のような通信機構を用いて、一方のコンピュータから他方のコンピュータへ送信されてもよい。
【００４２】
「第２のブロックリストの生成」３２７は、転送元のコンピュータ、或いは転送先のコンピュータにより実行されてもよい。転送元のコンピュータにより実行されたならば、転送元のコンピュータは、転送先のファイルシステムの特性を知っていなければならない。
【００４３】
図３Ａ、図３Ｂ、及び図３Ｃに示された処理から出力されたイメージストリームのフォーマットがそれぞれ、図４Ａ、図４Ｂ及び図４Ｃに示されている。図４Ａは、図３Ａに示された第１のブロックリスト生成処理３０から得た第１のイメージストリームフォーマット４００を示す。第１のイメージフォーマット４００は、データ部４０３、第１のブロックリスト部４０５、及び第２のブロックリスト部４０７を含む。データ部４０３は、第１のブロックリスト（第１のブロックリスト部４０５に格納された）に従ったデータを含む。第２のブロックリスト部４０７は、図３Ａに示された「第２のブロックリストの確定」３０５により生成された第２のブロックリストを含む。
【００４４】
図４Ｂは、図３Ｂにおいて示されたブロックリスト生成処理３２０から得た第２のイメージストリームフォーマット４５０を示す。この場合、第２のイメージストリームフォーマット４５０は、第１ブロックリスト部４０５とデータ部４０３を含んでいるが、第２のブロックリスト部４０７は削除されている。
【００４５】
図４Ｃは、図３Ｃにおいて示された第３のブロックリスト生成処理３５０から得た第３のイメージストリームフォーマット４６０を示す。この場合、第３のイメージストリーム４６０は、第１のブロックリストや第２のブロックリストを含まず、データ部４０３だけを含み、仮定された通常形式ブロックリストにより定義された標準化フォーマットに従って格納される。
【００４６】
標準化フォーマットのひとつの利点は、その利用により転送元のファイルシステムを転送先のコンピュータから隠すことである。
【００４７】
好ましい実施の形態において、イメージストリームは、利用されているイメージストリームフォーマットのいずれかを識別する情報を含む。この情報は、イメージストリームのヘッダー部（図示せず）に配置されてもよい。
【００４８】
イメージストリームは、分離されたデータ及びブロックリスト部を有するものとして、説明した（簡単ではあるが）。しかしながら、イメージストリームは、交互にブロックリスト及びデータ部を有していてもよい。
【００４９】
当業者は、転送元のファイルシステム内にある記憶ブロックと転送先のファイルシステム内にある記憶ブロックとの間にマップするために、第１のブロックリストと第２のブロックリストとが結合されてもよいということを理解するだろう。そのような当業者には、これが、第１のブロックリストが転送元のファイルシステム内の何処の記憶ブロックに格納されているかを説明し、第２のブロックリストが転送先のファイルシステム上の何処の記憶ブロックに格納されているかを説明する事前に説明された実施の形態と同じであることも理解できるだろう。これらのアプローチ（及び他の同等のアプローチ）の両方は、本発明が転送先のファイルシステム上の記憶ブロックをスウィズルする十分な情報を提供する。
【００５０】
図５は、「途中スウィズル処理」を実行する途中スウィズル処理５００を示す。途中スウィズル処理において、イメージストリームが転送先のファイルシステムへ書き込まれている間、ＢＮポインタはスウィズルされる。このタイプのスウィズル処理は、全ての記憶ブロックが書き込まれた後にＢＮポインタの更新を実行する代わりに、転送先のファイルシステムへ記憶ブロックが書き込まれているときにＢＮポインタを更新する。このように、各ブロックは一度だけ書き込まれ、しばしば記憶ブロックは、フル・ＲＡＩＤ・ストライプに書き込むために配置されてもよい。途中スウィズル処理５００は、「開始」５０１から始まり、「各ブロックの繰り返し」５０３へ処理を進める。「各ブロックの繰り返し」５０３は、最初は、記憶ブロックをファイルシステム間（第１のブロックリスト部４０５及び第２のブロックリスト部４０７）へマップするために用いられたいくらかの提供済み情報を読込み及び格納し、その後イメージストリームから各ブロックを読込む。イメージストリームから全ての記憶ブロックが読み込まれたとき、途中スウィズル処理５００が「終了」５０５へ至って完了する。「ＢＮブロック判定」５０７は、第１のブロックリスト（又は、等価のもの）にあるブロック情報に対抗して、各記憶ブロックを検査し、その記憶ブロックにＢＮポインタが含まれているかどうかを判定する。記憶ブロックがＢＮポインタを含んでいない場合、途中スウィズル処理５００は、転送先ファイルシステムへブロックを書き込む「ブロックの書き込み」５０９へ処理を進め、続いて「各ブロックの繰り返し」５０３へ処理を進め、追加の記憶ブロックを処理するか、或いは処理を完了する。
【００５１】
しかしながら、「ＢＮブロック判定」５０７において、記憶ブロックがＢＮポインタを有すると判定されたならば、途中スウィズル処理５００は、ブロック内のＢＮポインタを繰り返す「ＢＮポインタの繰り返し」５１１へ処理を進める。ブロック内にある全てのＢＮポインタが繰り返された後に、ログ内にある変更されたブロックのブロック番号を格納することができる「ログブロックＩＤ」５１１へ処理を進める（現実のスウィズルされたブロックが格納される）。次に、途中スウィズル処理５００は、「ブロックの書き込み」５０９へ処理を進め、そのブロックを格納し、その後は前述の通りに処理を進める。スウィズル処理が再開始されなければならないとしても、ログ化されたブロックが利用され、そのことは、図８で後述する。
【００５２】
「ブロックの書き込み」５０９により、ひとたびスウィズルされたブロックがディスクへ書き込まれたならば、そして、「ログブロックＩＤ」５１３により、スウィズルされたブロックがログ化されたならば、スウィズルされたブロックは、ログから削除又はそうでなくとも変化させられて、いずれのブロックが最後のスウィズルされたブロックかを表わすのに十分な情報を維持する間に、転送先の装置上の相当するブロックが完成することを示す。当業者は、途中スウィズル処理の間に、スウィズルされた記憶ブロックのブロック番号のみが再開時にログ化される必要があり、元のスウィズルされていない記憶ブロックが転送元のファイルシステムから獲得されるということを理解するであろう。従って、いずれのブロックが最後にうまくスウィズルされたブロックであるかをログ記録することが、途中スウィズル処理を再開するにおいての十分条件である。
【００５３】
繰り返されたＢＮポインタは、図２Ｂで前述されたスウィズル処理２５０を呼び出す「ＢＮポインタのスウィズル」５１５により処理される。途中スウィズル処理５００は、「ＢＮポインタの繰り返し」５１１へ処理を進め、ブロック内にある追加のＢＮポイントを繰り返すか、或いは、前述のように処理を完了する。当業者は、第２のブロックリストはこの処理の間に完全に構築される必要がないことを理解するだろう。その代わりに、記憶ブロックが転送先ファイルシステムに格納される際に、第２のブロックリストが途中に構築されてもよい。
【００５４】
標準化形式が決定論的であるから、スウィズル処理途中は、イメージストリームの標準化された形式と共に用いられてもよい。第１の記憶ブロック配置と第２の記憶ブロック配置との間のマップ処理が動的に確定されたとき、スウィズル処理途中が利用されない。
【００５５】
図６は、遅れスウィズル処理を実行するための遅れスウィズル処理６００を示す。遅れスウィズル処理において、イメージストリームが転送先ファイルシステムへ書き込まれた後に、ＢＮポインタはスウィズルされる。遅れスウィズル処理６００は、図２Ａに示される「イメージストリームの書き込み」２０５及び「ＢＮポインタの更新」２０７により表現される。遅れスウィズル処理６００は、「開始」６０１から始まり「イメージデータの複写」６０３へ処理を進める。「イメージデータの複写」６０３は、イメージストリームフォーマット（第１のブロックリスト部４０５及び第２のブロックリスト部４０７のような）により要求されたいくらかのマップ処理情報を読込み及び格納し、イメージストリームのデータ部４０３内にあるデータを第２のブロックリストに従って、転送先のファイルシステムへ書き込む。ひとたびデータ部４０３にあるデータが転送先のファイルシステムへ書き込まれると、遅れスウィズル処理６００は、転送元のファイルシステムからのＢＮポインタを含む転送先のファイルシステム上にある各ブロックを繰り返す「ＢＮブロックの繰り返し」６０５へ処理を進める。例えば、これらの記憶ブロックは、第１のブロックリストの利用により識別される（通常形式ブロックリストにより、或いは、遅れスウィズル処理の場合においては、転送先のブロックマップファイル、又は転送先のファイルシステムのメタデータにより）。ＢＮ記憶ブロックの全てが繰り返されたならば、遅れスウィズル処理６００は、「終了」６０７へ至り、処理を完了する。
【００５６】
各ＢＮブロックが「ＢＮブロックの繰り返し」６０５により繰り返された際、ブロックは、データのブロックをメモリへ運ぶ「ブロックの読込み」６０９によりアクセスされる。ひとたびデータのブロックが読込まれると、「ＢＮポインタの繰り返し」６１１は、第１のブロックリスト（或いは、通常形式ブロックリスト）からの情報を利用し、そのブロック内にあるＢＮポインタを配置及び繰り返す。各ＢＮポインタに対して、「ポインタのスウィズル」６１３は、転送先のファイルシステムに配置されたＢＮポインタにより参照されるブロックの場所を確定するために、第二のブロックリストを利用する（このようにして、転送先ファイルシステム用のＢＮを確定する）。この新しいＢＮは、メモリ内の記憶ブロックにあるＢＮを更新するために用いられる。「ポインタのスウィズル」６１３は、図２Ｂで前述されている。ひとたびブロックにあるＢＮポインタの全てがスウィズルされると、遅れスウィズル処理６００は、そのブロックがスウィズルされたことを識別する情報を格納する「ブロックのログ化」６１５へ処理を進める。次に、「ブロックの書き込み」６１７がそのブロックを転送先のファイルシステムへ書き戻し、遅れスウィズル処理６００は「ＢＮブロックの繰り返し」６０５へ処理を戻す。ひとたび「ブロックのログ化」６１５によりログ化されたブロックを格納するのに成功したブロックは、ログから移動されてもよい。
【００５７】
当業者は、ＢＮ記憶ブロックがスウィズル処理されているという結果になるオペレーティングの上述のシーケンスと同等な多くのものが存在することを理解するだろう。
【００５８】
バンドスウィズル処理は、記憶ブロックが初めにＲＡＩＤファイルシステムへ書き込まれる際と、ＢＮ記憶ブロックのスウィズル処理の間との両方において、ＲＡＩＤの実行を最適化するためにＢＮをマップする遅れスウィズル処理の形式である。バンドスウィズル処理は、ＲＡＩＤストライプの交互バンドを生成する。一方の１組のバンドは、スウィズルすべき必要がないデータを含んでおり（記憶ブロック）、他方の１組のバンドは、スウィズルすべきデータを含んでいる（例えば、ｉノード（inodes）及び間接的なブロック）。このように、スウィズルされる必要がある記憶ブロックを含むストライプは、読込まれ、スウィズルされ、ストライプへ書き戻される。バンドスウィズル処理は、スウィズル処理が途中で完全に実施されない場合に、実行を改善するために利用される。バンドスウィズル処理は、マッピングが動的に確定されなければならず、イメージストリームが完全に処理されるまで知ることができない場合に、利用される（例えば、マッピング情報がメモリに保持するには大きすぎる場合）。このように、複数のパスがスウィズル処理を完了するために要求される。データブロックを含まないＲＡＩＤストライプへ書き込むことにより、後に続くパスがＢＮ記憶ブロックを効率的に読込むことができる。
【００５９】
図７は、ブロックを複数組のバンドへ分割するために用いられるバンドスウィズル処理７００を示す。バンドスウィズル処理７００は、「開始」７０１から始まり、「記憶ブロックの繰り返し」７０３へ処理を進める。「記憶ブロックの繰り返し」７０３は、イメージストリームにある各記憶ブロックを読込む。「ＢＮブロック判定」７０５は、各記憶ブロックを検査し、第１のブロックリスト（或いは、通常形式ブロックリスト）を利用して、そのブロックにＢＮポインタが含まれているかどうかを判定する。そのブロックにＢＮポインタが含まれていれば、バンドスウィズル処理７００は、第１組のストライプバンド（ＢＮブロック用に割り当てられた）に属するＲＡＩＤストライプへブロックを書き込む「ＢＮストライプにあるブロックの書き込み」７０７へ処理を進める。しかしながら、ブロックにＢＮポインタが含まれていなければ、バンドスウィズル処理７００は、ＢＮポインタを含む記憶ブロックを含まない第２組のストライプバンドへ記憶ブロックを書き込む「ＢＮストライプがないデータの書き込み」７０９へ処理を進める。イメージストリーム内にある全ての記憶ブロックが「記憶ブロックの繰り返し」７０３により繰り返された後に、バンドスウィズル処理７００は第１組のストライプバンドのそれぞれを読込む「各ＢＮストライプの繰り返し」７１１へ処理を進める。第１組のストライプバンドの全てが繰り返された場合、バンドスウィズル処理７００は、「終了」７１３へ至って処理を完了する。
【００６０】
第１組のストライプバンドのそれぞれが繰り返されるので、「各ＢＮポインタの繰り返し」７１５は、第１のブロックリストを用いて、ストライプ内にある各ＢＮポインタを繰り返す。各ポインタは、「ＢＮポインタのスウィズル」７１７によりスウィズルされ（図２で前述したように）、加えて、ＢＮへのインデックスは、ログ化されてＮＶＲＡＭへ書き込まれ、起こり得る再開を助力する。ストライプ内にある全てのＢＮポインタがスウィズルされた場合、バンドスウィズル処理７００は、「ＢＮポインタ・ストライプバンドのログ化」７１８へ処理を進め、ＢＮポインタをスウィズルする記憶ブロックをログ化する。次に、バンドスウィズル処理７００は、転送先のファイルシステム用の新しいＢＮポインタを含む記憶ブロックを伴って、ストライプを上書きする「ＢＮストライプの書き込み」７１９へ処理を進める。バンドスウィズル処理７００は、「各ＢＮストライプの繰り返し」７１１へ処理を進め、他のストライプを繰り返すか、或いは処理を完了する。
【００６１】
引き続き図８で説明するように、スウィズル処理が再開されなければならないならば、ログ化された記憶ブロックが利用される。加えて、ログ化されたＢＮインデックスは、最後にスウィズルされたＢＮを示す。ひとたびポインタ・ストライプバンドの転送先のファイルシステムへの書き込みが成功したならば、再開するために十分な情報を維持する間に、ログ化されたポインタ・ストライプバンドはログから移動させられるか、或いは、そうでなくとも、妥当でないものとして記録される。
【００６２】
ＢＮを含む全ての記憶ブロックを更新する以前に、スウィズル処理が終了するならば、ＢＮのいくらかがスウィズルされており、その他はスウィズルされていない。従って、転送先のファイルシステムは、矛盾した状態にある。遅れスウィズル処理を再開するにあたっての１つの問題は、ＢＮポインタが一度、再マップされるだけでなければならないことである。１つのアプローチは、ブロックが検証可能でファイルシステムへ書き込まれるまで、不揮発性ＲＡＭ内にあるスウィズルされたＢＮを含む記憶ブロックをログ化することである（いくらかの実施の形態（例えば、バンド移動）は、ブロック内にあるいずれのＢＮがスウィズルされたかを示すインデックスを格納する必要があってもよい）。他のもうひとつのアプローチ（バンドスウィズル処理７００と共に利用される）は、バンド移動を利用することである。バンド移動は１つのポインタ・ストライプバンド（スウィズルバンド）から記憶ブロックを読み出し、スウィズルされたポインタ・ストライプを異なるストライプバンドへ書き出す。従って、本来のポインタ・ストライプバンド内にあるデータは、変更されない。バンド移動は、空きスウィズルバンドを初めに割り当てることにより達成される。ＢＮデータを含む第１のスウィズルバンドからのデータは、第１のスウィズルバンドにあるデータをそのままにする空きスウィズルバンドへスウィズルされる。第２のスウィズルバンドからのデータは、第１のスウィズルバンドへスウィズルされ、その処理は、空きスウィズルバンドが残っている間に、全てのスウィズルバンドがスウィズルされるまで続く。１つの実施の形態では、初めにバンド０は空きであり、ＢＮ記憶ブロックをハンド１からバンドＮに格納し、Ｎより大きいバンドにデータブロックを書き込む。スウィズル処理の間、バンド１からＢＮ記憶ブロックが読込まれ、スウィズルされ、バンド１へ書き込まれる。この処理は、バンドＮからＢＮ記憶ブロックが読込まれ、スウィズルされ、そしてバンドＮ−１へ書き込まれるまで続く。
【００６３】
途中スウィズル処理を再開するということは、イメージストリームに再開ポイントを位置付けるということからなる。この場合、正確に同じマッピングがイメージストリームの第２の処理において発生するのだから、その記憶ブロックは２回にわたって処理される。従って、スウィズル処理を再開するため、及びスウィズル処理をそのポイントから継続するための開始ポイントを位置付けるために、ログが用いられる。
【００６４】
遅れスウィズル処理及びバンドスウィズル処理において、ブロックは、１度更新されるだけでよい。これらの処理において、情報は、スウィズル処理が正確に再開されるようなＮＶＲＡＭに格納される。
【００６５】
図８は、中断されたスウィズル処理を再開するために用いられるスウィズル再開処理８００を示す（遅れスウィズル処理６００、途中スウィズル処理５００及びバンドスウィズル７００のような）。スウィズル再開処理８００は、スウィズル処理が中断された後に呼び出される。スウィズルされていないＢＮをスウィズルすることを継続するために、スウィズル再開処理８００はスウィズルログデータを検査して、いずれのＢＮがスウィズルされたかを判定する。スウィズル再開処理８００は、「開始」８０１から始まり、「更新ログの読込み」８０３へ処理を進める。「更新ログの読込み」８０３は、ＮＶ−ＲＡＭからログを読込むか、或いは、スウィズルバンドからの情報を集める。「スウィズルされていないＢＮの位置付け」８０５は、第１のスウィズルされていないＢＮを位置付ける。ログがＮＶ−ＲＡＭに格納されているならば、第１のスウィズされていないＢＮは、最後に記憶ブロックをログ化した後のＢＮを含む第１の記憶ブロックにある第１のＢＮである。バンド移動を用いるスウィズル処理にとって、第１のスウィズルされていないＢＮは、同じ記憶ブロックの複製を含む２つのバンドを位置付けることにより確定され、即ちそれは、スウィズルされたデータを含んでいるこれらのバンドのうちの第１のバンドとスウィズルされていないデータを含むこれらのバンドのうちの第２のバンドとが上書きされるということである。後に続くスウィズルバンドは、これらバンドのうちの第２のバンドへスウィズルされる。このように、スウィズル再開処理８００は、ログ化された記憶ブロックを省く。「スウィズルされていないＢＮポインタのスウィズル」８０７は、スウィズルされていないＢＮをスウィズルすることを継続する。スウィズル再開処理８００は、「終了」８０９へ至り処理を完了する。
【００６６】
ひとつの好ましい実施の形態において、転送元のファイルシステムと転送先のファイルシステムは、異なる特性を有するＲＡＩＤ装置である。本発明は、単一記憶ブロックの代わりに「ゴブ」をスウィズルすることにより、これらの装置への書き込み及び読み込み操作を最適化することができる。これが転送先のファイルシステムへのデータの書き込みを最適化する。ゴブを利用することにより、第１のブロックリスト及び第２のブロックリストのサイズが削減される。ゴブは記憶ブロックの集合体である。ゴブを定義するひとつの方法に、ＢＮの高位のビットを用いることによるものがある。しかしながら、その他の定義が用いられてもよい。記憶ブロックを転送元のファイルシステムから転送先のファイルシステムにマッピングする代わりに、ゴブ・スウィズル処理が「データのゴブ」を一方のファイルシステムから他方へマップする。しばしば、転送元のファイルシステムは、記憶ブロックが各プラッター上で連続的に（起こり得るインターリービングに従って）進むように編成されている。従って、第２のプラッターが、記憶ブロックｎ＋１−２＊ｎ等を含む一方、第１のプラッターは、記憶ブロック１−ｎを含む。第１のプラッターからのデータの第１の５記憶ブロックがＲＡＩＤストライプに配置されていたならば、５プラッターＲＡＩＤ（実際のＲＡＩＤは、しばしば、パリティ及びエラー補正情報のための追加的なプラッターを有している）は、より効果的となる。このように、ＲＡＩＤストライプがそのサイズの倍数になるように、ゴブのサイズを適切に選択することにより、転送先のファイルシステムは、高い効率性でもって書き込まれる。ゴブのもうひとつの利点は、第１のブロックリスト部４０５及び第２のブロックリスト部４０７のサイズが削減されることである。ゴブは、ＢＮと共に利用される通常形式に類似するゴブ通常形式内で利用されてもよい。
【００６７】
図９Ａ及び図９Ｂは、一般的な参照数字９００により示されるＢＮに基づくイメージストリームと、一般的な参照数字９５０で示されるゴブに基づくイメージストリームとの間の関係を示す。その要点は、ゴブが複数の記憶ブロックを含むことである。
【００６８】
ＢＮに基づくイメージストリーム９００は、ＢＮにより識別される記憶ブロックのシーケンスから構成されている。記憶ブロックのシーケンスは、第ｎブロック９０１、それより前のブロック９０３、第１の後続ブロック９０５、及び第２の後続ブロック９０７を含んでいる。ゴブ境界線は、第ｎブロック９０１とそれより前のブロック９０３との間と、第１の後続ブロック９０５と第２の後続ブロック９０７との間とに引かれる。当業者には、１２８記憶ブロックサイズゴブが一例であり、それよりも大きい及び小さいブロックサイズが用いられてもよいことを理解するだろう。加えて、ゴブサイズは、２の倍数である必要はない。
【００６９】
ゴブに基づくイメージストリーム９５０は、前記コブの前のゴブ９５１、ゴブ９５３及びその後のゴブ９５５を含む。各ゴブは、ゴブ番号（ＧＮＭ）により識別され、同数の記憶ブロックを含む（起こり得る最後のゴブを除き）。第ｎブロック９０１とその前のブロック９０３との間の境界線は、前のゴブ９５１と後のゴブ９５３との間の境界線として与えられる。第１の後のブロック９０５と第２の後のブロック９０７との間の境界線は、ゴブ９５３とその後のゴブ９５５との間の境界線として与えられる。ゴブにあるデータが単一書き込み操作によって、ひとつ以上のＲＡＩＤストライプに書き込むことができるように、ゴブにある記憶ブロックの数は、ＲＡＩＤ装置上のデータプラッター数の倍数であることが好ましい。従って、ゴブに基づくイメージストリーム９５０にとっては、第１のブロックリストにある各エントリーは、多数の記憶ブロックを有するゴブに相当する。ＢＮに基づくイメージストリーム９００にとっては、第１のブロックリストにある各エントリーは、ひとつ以上の前記記憶ブロックに相当する。
【００７０】
本発明は、ファイルシステムを最適化するために用いられてもよい。従って、例えば、限定はしないのだが、ファイルシステムパラメータを変更するに先だって、本発明が、ファイルシステムのイメージをいくらかの中間フォーマットに保存するために用いられてもよい（例えば、追加的なレイドプラッターをファイルシステムに加えることによったり、ファイルシステム区画を変更することによったり、或いは、ファイルシステム上のＢＮを含む記憶ブロックの配置を簡単に最適化したり）。
【００７１】
前述のものより、本発明が次に上げる利点を有することが（限定はしないが）理解されるだろう。
１）本発明により、ファイルシステムイメージの複製を非常に早く行えるようになること。
２）本発明により、ファイルシステムイメージをより大きなファイルシステムからより小さいファイルシステムへ複写することができること。
３）たとえ転送先のファイルシステムに欠損があるとしても、本発明により、より大きなファイルシステムから転送先のファイルシステムへファイルシステムイメージを複写することができること。
４）転送先のファイルシステムの特性に応じて、本発明により、ファイルシステムを最適化することができること。
【００７２】
本発明では、好ましい実施の形態について説明してきたが、当業者には、多様な変形例及び変更例が、本発明の要旨を逸脱しない範囲で可能であることが理解されるだろう。従って、本発明の範囲は、ここで議論された特定の発明の実施の形態だけに限定されるわけではない。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】図面の簡単な説明
【訂正方法】変更
【訂正の内容】
【図面の簡単な説明】
【図１】  好ましい実施の形態に従った本発明を用いたコンピュータシステム機能を示す図である。
【図２Ａ】  好ましい実施の形態における方法の概要を示す図である。
【図２Ｂ】  好ましい実施の形態により利用されるスウィズル処理を示す図である。
【図３Ａ】  好ましい実施の形態に従った第１のブロックリストの生成処理を示す図である。
【図３Ｂ】  好ましい実施の形態に従った第２のブロックリストの生成処理を示す図である。
【図３Ｃ】  好ましい実施の形態に従った第３のブロックリストの生成処理を示す図である。
【図４Ａ】  図３Ａで示された処理を用いて生成された第１のイメージストリームフォーマットを示す図である。
【図４Ｂ】  図３Ｂに従って生成された第２のイメージストリームフォーマットを示す図である。
【図４Ｃ】  図３Ｃに従って生成された第３のイメージストリームフォーマットを示す図である。
【図５】  好ましい実施の形態に従った途中スウィズル処理を示す図である。
【図６】  好ましい実施の形態に従った遅れスウィズル処理を示す図である。
【図７】  好ましい実施の形態に従ったバンドスウィズル処理を示す図である。
【図８】  好ましい実施の形態に従ったスウィズル再開処理を示す図である。
【図９Ａ】  好ましい実施の形態に従ったＢＮに基づくイメージストリームを示す図である。
【図９Ｂ】  好ましい実施の形態に従ったゴブに基づくイメージストリームを示す図である。
【符号の説明】
１００  コンピュータ
１０１  プロセッサ
１０３  中央処理装置（ＣＰＵ）
１０５  メモリ
１０７  Ｉ／Ｏセクション
１０９  オペレータインタフェース
１１３、１１４  ディスク記憶ユニット
１１５  リムーバブル媒体ドライブユニット
１１７  リムーバブル媒体
１１９  プログラム及びデータ
１２１  ネットワークインタフェース
１２３  ネットワーク
１２５  アプリケーションプログラム
１２７  ＮＶＲＡＭ