(57)【要約】【課題】データのバックアップの運用の簡易化を図る。【解決手段】フラッシュ部３０５が、コネクション情報に基づいて、アクセスしているクライアント装置１００に対して、データをフラッシュさせる命令を行い、命令に対してフラッシュされたデータをメモリ３０２が一時的に保持し、データ保護部３０７が、コネクション情報に基づいて、メモリ３０２に保持されたデータの静止点の取れたマッピング情報を保存し、スナップショット部３０９が、データ保護部３０７が保存したマッピング情報に基づいて、スナップショットを作成し、記憶部４００が、スナップショット部３０９が作成したスナップショットを記憶する。【選択図】図２
2013037611.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶装置であって、
前記データを保有するクライアント装置に対して、該データを当該記憶装置へフラッシュさせる命令を行うフラッシュ部と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する一時保持メモリと、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時保持メモリに保持されたデータの静止点の取れたマッピング情報を保存するデータ保護部と、
前記データ保護部が保存したマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成するスナップショット部と、
前記スナップショット部が作成したスナップショットを記憶する記憶部とを有し、
前記フラッシュ部は、前記コネクション情報に基づいて、アクセスしているクライアント装置に対して前記命令を行う記憶装置。
【請求項２】
請求項１に記載の記憶装置において、
前記フラッシュ部は、前記クライアント装置が複数存在する場合、当該記憶装置と前記複数のクライアント装置との間における伝送遅延時間をそれぞれ測定し、該伝送遅延時間の長いクライアント装置から順に、前記命令を行うことを特徴とする記憶装置。
【請求項３】
データを記憶装置に記憶する記憶方法であって、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う処理と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する処理と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する処理と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する処理と、
前記作成されたスナップショットを記憶する処理とを行う記憶方法。
【請求項４】
データを記憶する記憶装置に、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う手順と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する手順と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する手順と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する手順と、
前記作成されたスナップショットを記憶する手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記憶する記憶装置、記憶方法およびプログラムに関し、特に、通信ネットワーク経由で送信されてきたデータを記憶する記憶装置、記憶方法およびプログラムに関する。
【背景技術】
【０００２】
一般的なＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）のバックアップ機能としてスナップショット機能が存在する。
【０００３】
スナップショット機能は、ＮＡＳ上のデータの静止点でのファイルのデータイメージ（データおよび記憶領域のブロック等のマッピング情報。以下、マッピング情報と称する）を保存するという一般的に使用されている機能である。その後、ファイルへ更新があった場合の動作には、大きく保存データのマッピング情報は変更せず、更新データを新規領域に書き込み、ファイルのマッピング情報を変更するものと、更新データは既存領域に書き込み、更新前データを別領域に書き込み、保存したスナップショットデータのマッピング情報を変更するものとがある。以下の説明においては、前者を追記型とし、また、後者を押し出し型とする。どちらを使用するかは各ＮＡＳの仕様によるが、データを更新した後からもスナップショット作成時点のデータへアクセスできると言うものである。
【０００４】
スナップショット作成時の負荷が小さいことから、昨今のＮＡＳでは、前者の更新データを新領域に追記していくスナップショットを利用するものが多く、以下の説明において、特に明記なくスナップショットと記述した場合は、前者の更新データを新領域に追記していく追記型のスナップショットとする。その他の細かい仕様は、各ＮＡＳによって異なるが、詳細な説明はここでは省略する。
【０００５】
スナップショット機能は、大きな負荷をかけることなくバックアップが実施できる機能である。そのため、ＮＡＳでは一般的に使用されている機能であるが、１点大きな欠点がある。それは、一般的にクライアントのデータの保証は行っていない点である。
【０００６】
一般的に、ＮＡＳ上の処理はステートレスで行うが、クライアントからＮＡＳへの処理全てをステートレスで実行すると、アクセス性能が悪く、特にネットワーク品質が悪いと大きな性能劣化が生じてしまう。
【０００７】
この欠点を解消するために、ファイルシステムが更新情報を直接ＨＤＤ（Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）等にデータを直接書き込まず、メモリのバッファ上にデータを一旦保存し、その後、データを所定のサイズのブロックにまとめてＨＤＤ等に書き込むことで処理の高速化を図っているように、クライアント上のアプリケーションの更新処理等でＮＡＳ上にデータを書き込む場合、クライアント上で一旦バッファリングして、その後、データを所定のサイズのブロックにまとめてＮＡＳへ書き込むことで性能向上を図っている。
【０００８】
これは、ＮＡＳアクセスの代表的なプロトコルであるＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）やＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）を初めとしたＮＡＳアクセスプロトコルで基本的に共通している。
【０００９】
ここで、スナップショットは、ＮＡＳ装置の観点からＮＡＳ上のデータの静止点確保およびデータの保存を実行しているため、ＮＡＳ上のデータのみに注目して実行している点に着目する必要がある。
【００１０】
ＮＡＳ上でスナップショットを作成する場合、一般的にクライアント側にはスナップショットを作成することを通知しない。そのため、クライアント上に存在するＮＡＳ書き込み時のバッファリングデータやそのバッファリングに書き込み待ちをしているメモリ上のデータ等の更新処理が完了し、静止点が確保されたデータ（以下、バッファデータと称する）を書き込むといったような動作は行わない。その結果、スナップショットのデータはＮＡＳのファイルシステムとしては静止点が確保されているが、その中のファイル自体はクライアントのバッファリングの状況やネットワークでのＮＡＳへの書き込みパケットの状況次第では、バッファデータの書き込み途中等ファイルの静止点が確保されていない状態でスナップショットが取られるといったことが生じるおそれがある。その場合、ファイルのデータがおかしい、メタデータと実データとの不整合によりファイルが壊れるといったことが生じてしまう。
【００１１】
また、ファイルの静止点は確保されている場合であっても、バッファデータの書き込みがまだ発生していない場合は、スナップショット作成前にクライアント上で更新処理を完了させたデータがスナップショットとして保存されていない等といったことも生じてしまう。
【００１２】
特に、前者のようにファイルの状態に異常が発生するというのは、正常なデータを確保しておくという目的で実施するバックアップであるスナップショットの機能としては致命的な欠点と言える。
【００１３】
通常これらの欠点は、スナップショットを複数世代作成することで回避している。
【００１４】
上述のように、スナップショットは、データの更新分だけ保存容量を確保すればよく、スナップショットの作成負荷も領域全てをコピーする一般的なレプリケーション機能と比較すると低く、多くのＮＡＳで１００世代以上のスナップショットを作成することが可能である。そのため、スナップショットを利用する場合は複数世代作成するのが一般的である。
【００１５】
このとき、仮に１００世代作成した場合、人間が直接操作する一般的なテキストファイル等に対してスナップショットを作成する全てのタイミングでファイルを更新しており、ファイルの静止点が確保されていないという確率はきわめて低く、仮に望んだタイミングからのデータのリストアが出来ない場合であっても、その直近からリストアすることで被害を最小限にすることが可能である。
【００１６】
また、ＮＡＳ上のファイルシステムの処理をトランザクション化して書き込み命令中のデータは反映しないようとするものや、クライアントに専用ソフトウェアを導入してクライアント側でデータの静止点を確保してからスナップショットを作成するなどといったことを実施しているＮＡＳも存在し、上述したようなファイル破壊を防ぐ手段を用意している（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００９−１４６３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した各回避策には、それぞれ問題点がある。
【００１９】
複数世代を保存する手段に関しては、いくら必要容量が少なく、機能仕様として１００世代以上保有可能としていても、数十から百を超える世代を保存することは管理や運用面の負荷増大に繋がる。そのため、せいぜい数世代から十数世代分だけ保存するといった運用がほとんどである。その場合、スナップショット作成時に、毎回アクセスする確率は依然低いが、スナップショットの作成間隔が広がるため、直近からのリストアでは不十分である可能性が十分ありえる。
【００２０】
また、バッファデータの書き込みに関しては、何もしていないので、可能性が低いとはいえファイルの破壊や保存データの未反映自体は生じてしまう。
【００２１】
また、ファイルシステムのトランザクション化による回避策の場合は、ＮＡＳ上にあるファイルの更新に対して書き込み命令が完了していないデータに対しては、正規のデータとして認めないので、中途半端にデータが更新され、不完全なファイルとしてスナップショットデータが作成されるというのは防ぐことが出来る。
【００２２】
しかし、バッファデータの書き込み命令をネットワークで転送するブロック等で分割し、複数の書き込み命令として処理している場合は、ファイルとしてはまだ静止点が確保されているとは言えない状態であっても、書き込み命令が完了している部分に関しては正常と判断し、スナップショットを作成して、不完全なファイルデータを保存してしまう。そのため、十分な対策とは言えない。また、更新完了データを正確に反映した状態で保存することは出来ないため、データ損失は発生する。
【００２３】
また、クライアントでＮＡＳとの連携用ソフトウェアを使用する場合は、バッファデータを反映しているためデータ損失やファイル破壊を防ぐことは出来る。
【００２４】
しかし、それらのソフトウェアは、主にデータベースなど独自に静止点を確保する機能との連携が多く、ＮＡＳの一般的な用途であるファイルサーバで使用するのが難しいものが多い。
【００２５】
また、一部のソフトウェアはファイルサーバ用途でも使用することも可能だが、操作はクライアント側からの操作となる。そのため、基本的にそれらの連携用ソフトウェアはインストールされているクライアントのデータのみに注視しており、他のクライアントと連携する機能を有していない。そのため、複数のクライアントで同じファイルシステムを利用している場合、連携用ソフトウェアを使用してスナップショットを作成しても、他のクライアントのデータの整合性は保障出来ない。仮に、他のクライアントと連携できる場合も、せいぜい数クライアントが限度である。一般的なファイルサーバでは数百から数万クライアントが存在するため、その全てのクライアントで同時に静止点を確保してスナップショットを作成するということは現実的に非常に困難である。よって、通常これらの連携用ソフトウェアを使用する場合は、他のクライアントと連携する必要のないようにファイルシステムを分割して使用することが推奨されているが、このように多数のクライアントが存在する環境では、ファイルシステムの数もその数だけ増えていくため、結局運用することが極めて困難であると言える。
【００２６】
また、特許文献１に記載された技術においてもＮＡＳから静止点を確保するものではないため、同様の問題点がある。
【００２７】
本発明の目的は、上述した課題を解決する記憶装置、記憶方法およびプログラムを提供することである。
【課題を解決するための手段】
【００２８】
本発明の記憶装置は、
データを記憶する記憶装置であって、
データを記憶する記憶装置であって、
前記データを保有するクライアント装置に対して、該データを当該記憶装置へフラッシュさせる命令を行うフラッシュ部と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する一時保持メモリと、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時保持メモリに保持されたデータの静止点の取れたマッピング情報を保存するデータ保護部と、
前記データ保護部が保存したマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成するスナップショット部と、
前記スナップショット部が作成したスナップショットを記憶する記憶部とを有し、
前記フラッシュ部は、前記コネクション情報に基づいて、アクセスしているクライアント装置に対して前記命令を行う。
【００２９】
また、本発明の記憶方法は、
データを記憶装置に記憶する記憶方法であって、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う処理と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する処理と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する処理と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する処理と、
前記作成されたスナップショットを記憶する処理とを行う。
【００３０】
また、本発明のプログラムは、
データを記憶する記憶装置に実行させるためのプログラムであって、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う手順と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する手順と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する手順と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する手順と、
前記作成されたスナップショットを記憶する手順とを実行させる。
【発明の効果】
【００３１】
本発明においては、データのバックアップの運用の簡易化を図ることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の記憶装置の第１の実施の形態を示す図である。
【図２】図１に示したＮＡＳ装置およびクライアント装置の内部構成の一例を示すブロック図である。
【図３】図２に示したフラッシュマップの一例を示す図である。
【図４】図２に示したコールドマップの一例を示す図である。
【図５】フラッシュ処理中に既にバッファデータを取得したクライアント装置より更新処理があった場合の概要図である。
【図６】フラッシュ処理中に既にバッファデータを取得したクライアント装置より更新処理があった場合の概要図である。
【図７】本形態における記憶方法のうち、スナップショット作成開始からクライアント装置上のバッファデータのフラッシュまでの処理を説明するためのフローチャートである。
【図８】本形態における記憶方法のうち、フラッシュ処理中のクライアント装置の更新処理を説明するためのフローチャートである。
【図９】本形態における記憶方法のうち、スナップショットを作成する処理を説明するためのフローチャートである。
【図１０】第２の実施の形態において、フラッシュ処理中に既にバッファデータを取得したクライアント装置より更新処理があった場合の概要図である。
【図１１】第３の実施の形態におけるフラッシュマップの一例を示す図である。
【発明を実施するための形態】
【００３３】
以下に、本発明の実施の形態について図面を参照して説明する。
【００３４】
本発明の特徴は、ネットワーク経由で使用するストレージシステムであるＮＡＳについて、特に、複数のクライアントが使用する領域での追記型のスナップショットを利用時に、バックアップ対象領域のデータの静止点をＮＡＳ上からクライアント上の更新処理が完了したデータをフラッシュさせ、ＮＡＳ上に書き込ませることでファイルデータの静止点を確保し、最新のデータを保存させることである。
【００３５】
以下の説明において、ＮＡＳ装置やスナップショット機能等の一般的な用語、技術に関しては、省略可能な部分については一般的なものと同様とし、詳細な説明は行わず、本発明に関わるものを中心に説明する。
【００３６】
図１は、本発明の記憶装置の第１の実施の形態を示す図である。
【００３７】
本形態において、本発明の記憶装置であるＮＡＳ装置１は、少なくとも１台のＮＡＳ装置コントローラ部３００と、記憶部４００とを有するストレージ装置として実現されている。
【００３８】
ＮＡＳ装置１は、ネットワーク２００を介して、ＮＡＳ装置１を利用する少なくとも１台のクライアント装置１００と接続されている。
【００３９】
クライアント装置１００は、データを保有し、通信機能を具備した、利用者が操作する通信装置である。
【００４０】
ネットワーク２００は、例えばインターネット・プロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：ＩＰ）を用いて構成される通信ネットワークである。
【００４１】
図２は、図１に示したＮＡＳ装置１およびクライアント装置１００の内部構成の一例を示すブロック図である。
【００４２】
図１に示したクライアント装置１００には図２に示すように、ＮＡＳバッファ領域１０１と、メモリ１０２と、アプリケーション部１０３と、入出力モジュール１０４と、フラッシュ実行部１０５とが設けられている。
【００４３】
ＮＡＳバッファ領域１０１は、クライアント装置１００上のＮＡＳアクセス用のバッファデータであり、ここにＮＡＳアクセスのデータをバッファすることで性能の向上を図っている。
【００４４】
メモリ１０２は、クライアント装置１００上のメモリ領域である。このメモリ１０２は、クライアント装置１００上の全てのアプリケーションが使用する領域であり、ＮＡＳアクセスを含むクライアント装置１００の全アクセスのバッファデータを保持し、性能向上を図っている。
【００４５】
アプリケーション部１０３は、クライアント装置１００上で稼動しており、ＮＡＳ領域へのアクセスを実行するソフトウェアである。
【００４６】
入出力モジュール１０４は、ＮＡＳ装置１とクライアント装置１００との間のＩ／Ｏの出力・入力処理を行う。
【００４７】
フラッシュ実行部１０５は、フラッシュ部３０５よりフラッシュ実行命令があった後に、ＮＡＳバッファ領域１０１と、メモリ１０２と、アプリケーション部１０３とへ、更新完了済みデータのＮＡＳ領域への書き込み命令を発行し、書き込みが完了したらフラッシュ部３０５へ、書き込み完了したことを伝える機能を有する。これにより、ＮＡＳ装置コントローラ部３００は、書き込もうとされているデータが、バッファデータであるのかバッファデータではない更新完了データであるのかを判断できる。
【００４８】
また、フラッシュ実行部１０５は、フラッシュ処理中に新たに更新処理が確定し、ＮＡＳ領域への書き込みが発生した場合、その更新完了データをＮＡＳ領域へ書き込まないようにメモリ１０２上などに保持し、フラッシュ処理完了後にフラッシュ部３０５よりバッファデータ取得完了の通知を受け取ったらＮＡＳ領域への書き込みを実施する機能を有する。これにより、フラッシュ処理中の追加の更新完了データの書き込みを防ぎ、ファイルの静止点を確保することが出来る。
【００４９】
また、フラッシュ実行部１０５は、クライアント装置１００がＮＡＳ装置１に対して、複数のコネクションを有している場合は、全てのコネクションでバッファデータのフラッシュ処理を実施し、フラッシュ処理が完了するまで更新完了データの書き込み待ちを行い、全てのコネクションでフラッシュが完了してからフラッシュ完了通知を発信する機能を有する。これにより、複数コネクションがある場合に一部のコネクションしかフラッシュが完了していないのに、フラッシュ完了通知を発信して、ＮＡＳ装置１がクライアント装置１００上にバッファデータがないと認識し、その後の更新防止処理が動いてしまうといったようなことを防ぐことが出来る。
【００５０】
また、図１に示したＮＡＳ装置コントローラ部３００には図２に示すように、入出力モジュール３０１と、メモリ３０２と、メインコントローラ３０３と、ディスクコントローラ３０４と、フラッシュ部３０５と、フラッシュマップ３０６と、データ保護部３０７と、コールドマップ３０８と、スナップショット部３０９とが設けられている。
【００５１】
入出力モジュール３０１は、ＮＡＳ装置１とクライアント装置１００と間のＩ／Ｏの出力・入力処理を行う。
【００５２】
メモリ３０２は、ＮＡＳ装置コントローラ部３００内の処理用領域である。また、メモリ３０２は、クライアント装置１００からの書き込みをここで一時的に保持した後に応答を返すことで、応答時間の向上を図っている一時保持メモリでもある。
【００５３】
メインコントローラ３０３は、ＮＡＳアクセスに関する基本機能の処理全てを実行しており、ＮＡＳ装置コントローラ部３００の制御部である。
【００５４】
ディスクコントローラ３０４は、記憶部４００のボリューム管理をしており、メインコントローラ３０３からの記憶部４００へのアクセス命令を受け取りＩ／Ｏ処理を実行する。
【００５５】
フラッシュ部３０５は、メインコントローラ３０３よりクライアント装置１００とのコネクション情報を取得し、フラッシュマップ３０６を作成する機能を有する。
【００５６】
また、フラッシュ部３０５は、作成したフラッシュマップ３０６を確認し、更新完了している情報の書き込み命令をクライアント装置１００のフラッシュ実行部１０５へ発行する機能を有する。
【００５７】
また、フラッシュ部３０５は、フラッシュ実行部１０５よりバッファデータの書き込み完了通知を受けると、フラッシュマップ３０６内のクライアント装置１００の情報に更新完了データを受け取ったことを記述し、更新する機能を有する。
【００５８】
また、フラッシュ部３０５は、フラッシュマップ３０６にバッファデータ取得の情報の記述が完了後、クライアント装置１００上のフラッシュ実行部１０５へバッファデータ取得完了の通知を送信する機能を有する。
【００５９】
また、フラッシュ部３０５は、全てのクライアント装置１００のフラッシュ処理が完了したら、スナップショット部３０９にスナップショットの作成を実行するように命令する機能を有する。
【００６０】
また、フラッシュ部３０５は、スナップショット部３０９よりスナップショット作成完了の通知を受けると、不要になったフラッシュマップ３０６を削除する機能を有する。
【００６１】
フラッシュマップＢ６およびコールドマップＢ８については、図３および図４を用いて、それぞれ説明する。
【００６２】
図３は、図２に示したフラッシュマップ３０６の一例を示す図である。
【００６３】
フラッシュマップ３０６は図３に示すように、バッファデータのフラッシュ処理を行うための情報が記述されており、コネクション番号、接続先ＩＰアドレス、接続先ポート番号、フラッシュ完了情報が記述されている。
【００６４】
コネクション番号には、接続しているクライアント装置１００を判別するために一意に割り当てた番号が記述されてある。これにより、クライアント装置１００を一意に判別している。
【００６５】
接続先ＩＰアドレスには、現在接続しているクライアント装置１００のＩＰアドレスが記述されている。ここに記述してあるＩＰアドレスへフラッシュ処理情報を通達する。
【００６６】
接続先ポート番号には、現在接続しているクライアント装置１００のポート番号が記述されている。ＩＰアドレスと同様に、ここに記述してあるポート番号へフラッシュ処理情報を通達する。
【００６７】
フラッシュ完了情報には、フラッシュ処理が完了したかどうかが記述してある。例えば、図３に示すように、フラッシュ処理が完了したかどうかを「ＯＮ」と「ＯＦＦ」とで表現するものであっても良い。この情報を確認することで、データ保護部３０７はフラッシュ処理中のクライアント装置１００からの更新処理に関して既にフラッシュ処理が完了しているクライアント装置１００かどうかを判断し、処理を行うことが出来る。
【００６８】
図４は、図２に示したコールドマップ３０８の一例を示す図である。
【００６９】
図２に示したコールドマップは図４に示すように、バッファデータ取得後の静止点イメージ情報に関する情報が記述されている。具体的には、ファイルのメタ情報、ファイルの静止点マッピング情報、スナップショットチェックが記述されている。
【００７０】
ファイルのメタ情報には、更新のあったＮＡＳ上のファイルのメタ情報（ファイル名や更新情報など）が記述してある。これを確認することで、スナップショット部３０９へ静止点マッピング情報を渡すファイルを判断している。
【００７１】
ファイルの静止点マッピング情報には、バッファデータ取得後のメタデータを含む静止点のとれたファイルのマッピング情報が記述されている。ここに記述してある静止点のとれたマッピング情報をスナップショット部３０９へ渡すことで、バッファデータ取得時点の静止点のとれたファイルイメージを保存することが出来る。そのため、同じファイルがバッファデータ取得後にスナップショット作成後に複数回更新があった場合であっても、一度記述されれば更新されない。
【００７２】
スナップショットチェックには、対象のファイルのマッピング情報をスナップショット部３０９に渡したかどうかが記述してある。例えば、図４に示すように、対象のファイルのマッピング情報をスナップショット機構に渡したかどうかを「ＯＮ」と「ＯＦＦ」とで表現するものであっても良い。この情報を確認することで、どのファイルのマッピング情報をスナップショット部３０９に渡せばよいかを判断する。
【００７３】
データ保護部３０７は、メインコントローラ３０３と連携し、バッファデータのフラッシュ処理中の更新処理に対してフラッシュマップ３０６を確認し、フラッシュ処理が完了していないクライアント装置１００からの場合は、そのまま通常の更新処理を行うようにメインコントローラ３０３へ指示する機能を有する。
【００７４】
また、データ保護部３０７は、フラッシュマップ３０６を確認し、既にバッファデータを受け取っているクライアント装置１００からの更新処理の場合は、更新対象ファイルのマッピング情報とファイルのメタ情報とを保存後、更新データは新規領域に書き込みようにメインコントローラ３０３に命令する機能を有する。
【００７５】
また、データ保護部３０７は、取得したマッピング情報とメタ情報とを保存するコールドマップ３０８を作成する機能を有し、保存した更新前のファイルのマッピング情報とメタ情報とをコールドマップ３０８に記述する機能も有する。
【００７６】
また、データ保護部３０７は、コールドマップ３０８に記述したファイルにさらに更新があった場合、静止点イメージが保持された領域への更新のときは、上述のバッファデータ取得後の更新処理と同様に、新規領域へ書き込むようにメインコントローラ３０３に命令し、既に新規領域へ書き込まれている領域への再更新や新規領域への追記の場合は、通常と同様の更新および追記を行うようにメインコントローラ３０３に命令する機能を有する。
【００７７】
また、データ保護部３０７は、全てのフラッシュ処理が完了し、スナップショット部３０９がスナップショットを作成するときに、静止点情報について問い合わせを受け、コールドマップ３０８に記述してある静止点の取得後に更新のあったファイルの情報と静止点を取得時のファイルのマッピング情報であるファイルの静止点マッピング情報をスナップショット部３０９に渡し、情報を渡したことをチェックする機能を有する。
【００７８】
また、データ保護部３０７は、スナップショット部３０９よりスナップショットを作成完了の通知を受けると、コールドマップ３０８が存在するときは、不要になったコールドマップ３０８を削除する機能を有する。
【００７９】
スナップショット部３０９は、スナップショットを作成する機能を有する。スナップショットの作成に関しては、一般的な作成法と同等なので詳細な説明は省略する。
【００８０】
また、スナップショット部３０９は、メインコントローラ３０３よりスナップショット作成の命令を受けたとき、フラッシュ部３０５へクライアント装置１００のバッファデータのフラッシュ処理を実行するように命令する機能を有する。
【００８１】
また、スナップショット部３０９は、フラッシュ部３０５より全てのクライアント装置１００でフラッシュ処理が完了した通知を受けたら、データ保護部３０７へバッファデータ取得後に更新があったかどうかを確認し、更新があった場合は、静止点を取得した状態のファイルのマッピング情報とファイル情報とを取得し、スナップショット作成時に更新のあったファイルに関しては作成時のマッピング情報ではなく、データ保護部３０７より取得したマッピング情報を利用してスナップショットを作成する機能を有する。このとき、更新していないファイルに関しては、通常のスナップショット処理と同様の処理を行う。
【００８２】
また、スナップショット部３０９は、スナップショットが作成できたら、フラッシュ部３０５およびデータ保護部３０７へ、スナップショット作成完了通知を送信する機能を有する。
【００８３】
図５および図６は、フラッシュ処理中に既にバッファデータを取得したクライアント装置１００より更新処理があった場合の概要図である。
【００８４】
図５および図６に示すように、記憶部４００の一部を「１」から「１５」のブロックとしたときに、既に「１」から「４」がバッファデータを取得時のファイルのマッピング情報であり、静止点の取得された情報である。
【００８５】
その後、更新処理があった場合、メインコントローラ３０３は、データ保護部３０７へ書き込み問い合わせを実行する。メインコントローラ３０３より問い合わせを受けたデータ保護部３０７は、フラッシュマップ３０６を確認し、既にバッファデータを取得しているクライアント装置１００からの更新であった場合は更新前のマッピング情報（「１」、「２」、「３」、「４」）とファイルのメタ情報を保存し、保存した領域への更新防止と新規領域への追記命令をメインコントローラ３０３へ渡し、更新前のマッピング情報とファイルのメタ情報とをコールドマップ３０８に記述する。このとき、コールドマップ３０８が作成されていないときは、先にコールドマップＢ８を作成してから記述する。
【００８６】
データ保護部３０７より保存した領域への更新防止と新規領域への追記命令を受けたメインコントローラ３０３は、更新データを新規領域へ書き込み、ファイルのマッピング情報を更新する。
【００８７】
その後、全てのフラッシュ処理が完了し、スナップショット作成処理に移ると、スナップショット部３０９は、データ保護部３０７へフラッシュ完了後の更新処理について問い合わせを行う。
【００８８】
問い合わせを受けたデータ保護部３０７は、コールドマップ３０８を確認し、フラッシュ処理完了後に更新のあったファイルのメタ情報と更新前のマッピング情報とを取得する。
【００８９】
情報をコールドマップ３０８から取得したデータ保護部３０７は、取得した情報をスナップショット部３０９へ渡す。
【００９０】
更新のあったファイルのメタ情報と更新前のマッピング情報とを取得したスナップショット部３０９は、受け取った情報をもとにスナップショットを作成する。
【００９１】
以下に、本形態における記憶方法となる、クライアント装置のファイルの静止点の取得およびその情報を利用したスナップショットの作成の動作について、説明する。
【００９２】
まずは、スナップショット作成開始からクライアント装置上のバッファデータのフラッシュまでの処理について説明する。
【００９３】
図７は、本形態における記憶方法のうち、スナップショット作成開始からクライアント装置上のバッファデータのフラッシュまでの処理を説明するためのフローチャートである。
【００９４】
ここで、スナップショットの作成やクライアントとＮＡＳ装置との接続プロトコル動作に関しては、一般技術と同様とする。
【００９５】
まず、ステップＳ１で、メインコントローラ３０３がスナップショット部３０９に対して、スナップショットの作成指示を出す。
【００９６】
作成指示を受けたスナップショット部３０９は、ステップＳ２で、フラッシュ部３０５に対して、クライアント装置１００のバッファデータをフラッシュさせるように指示する。
【００９７】
すると、指示を受けたフラッシュ部３０５は、ステップＳ３で、メインコントローラ３０３より、現在接続しているクライアント装置１００のコネクション情報を取得する。
【００９８】
続いて、コネクション情報を取得したら、ステップＳ４で、フラッシュ部３０５が図３に示したフラッシュマップ３０６を作成する。
【００９９】
フラッシュマップ３０６を作成後、ステップＳ５で、フラッシュ部３０５は、コネクション情報に基づいて、ＮＡＳ装置１と接続している各クライアント装置１００へバッファデータをフラッシュするように指示する。
【０１００】
指示を受けたクライアント装置１００のフラッシュ実行部１０５は、ステップＳ６で、バッファデータを書き込むようにクライアント装置１００上のアプリケーション部１０３等に指示する。
【０１０１】
実際にバッファデータを書き込む処理になった場合、ステップＳ７で、バッファデータを送付するときにフラッシュ実行部１０５は、フラッシュ部３０５へ、これからバッファデータを送付することを伝えるメッセージ（フラッシュ開始通知）を送信する。
【０１０２】
フラッシュ実行部１０５は、フラッシュ開始通知を発信後、ステップＳ８で、フラッシュ処理実行中に更新完了データが発生するかどうかを確認し、新たに更新完了データがあるかを確認する。
【０１０３】
新たに更新完了データがある場合、ステップＳ９で、そのデータは直ぐに書き込まれず一旦メモリ上に確保される。
【０１０４】
フラッシュ実行部１０５は、更新完了データがない場合は、そのままフラッシュ処理完了させ、更新完了データがある場合はメモリ上にデータを確保している間にフラッシュ処理を完了させてから、ステップＳ１０で、フラッシュ完了通知をフラッシュ部３０５に発信する。
【０１０５】
フラッシュ部３０５は、フラッシュ完了通知を受信後、ステップＳ１１で、フラッシュマップ３０６に完了したことを記述し、フラッシュ実行部１０５にバッファデータ取得完了通知を発信する。
【０１０６】
バッファデータ取得完了通知を受け取ったフラッシュ実行部１０５は、ステップＳ１２で、クライアント装置１００上に更新完了データがあるかどうかを確認し、ない場合はそのまま処理を終了させる。一方、ある場合は更新完了データの書き込みを再開する。
【０１０７】
次に、フラッシュ処理中のクライアント装置１００の更新処理について説明する。
【０１０８】
図８は、本形態における記憶方法のうち、フラッシュ処理中のクライアント装置１００の更新処理を説明するためのフローチャートである。
【０１０９】
まず、ステップＳ２１で、更新処理があるかどうかを確認する。
【０１１０】
更新処理がない場合、特に処理を行う必要がないため、処理を終了する。
【０１１１】
一方、更新処理がある場合は、ステップＳ２２で、メインコントローラ３０３が書き込まれた更新処理に対してデータ保護部３０７に問い合わせし、データ保護部３０７はフラッシュマップ３０６を確認する。
【０１１２】
ステップＳ２３で、更新処理を行っているクライアント装置１００のフラッシュ処理が完了しているかどうかをフラッシュマップ３０６で確認する。
【０１１３】
フラッシュ処理が完了していなければ、ステップＳ２４で、データ保護部３０７より通常の処理と同じ処理を行うようにメインコントローラ３０３へ指示する。
【０１１４】
一方、フラッシュ処理が完了している場合は、データ保護部３０７は、ステップＳ２５で、更新対象のファイルのメタ情報と更新前のマップ情報とを保存し、メインコントローラ３０３へは更新情報を新規領域へ書き込むように指示する。新規領域への書き込みを指示されたメインコントローラ３０３は、対象のファイルのメタ情報とマップ情報とを更新する。
【０１１５】
更新前のメタ情報とマップ情報とを保存したデータ保護部３０７は、ステップＳ２６で、コールドマップ３０８が作成されているかを確認する。
【０１１６】
コールドマップ３０８が作成されていない場合、ステップＳ２７で、データ保護部３０７はコールドマップ３０８を作成する。
【０１１７】
コールドマップ３０８が作成されたら、ステップＳ２８で、取得したファイルのメタ情報と更新前マップ情報とをコールドマップ３０８に記述し、保存して処理を終了させる。
【０１１８】
これにより、更新処理を続けながら、静止点の取れたデータを確保できる。
【０１１９】
次に、スナップショットを作成する処理について説明する。
【０１２０】
図９は、本形態における記憶方法のうち、スナップショットを作成する処理を説明するためのフローチャートである。
【０１２１】
まず、ステップＳ３１で、フラッシュ部３０５が、フラッシュマップ３０６を確認する。
【０１２２】
確認後、ステップＳ３２で、全てのコネクションよりフラッシュ処理が完了しているかを判断し、完了していない場合、スナップショット作成を行わず、フラッシュ処理が完了するのを待つ。
【０１２３】
全てのコネクションよりフラッシュ処理が完了している場合は、ステップＳ３３で、スナップショット部３０９がスナップショット作成を開始する。
【０１２４】
スナップショットの作成を開始すると、スナップショット部３０９は、ステップＳ３４で、データ保護部３０７に対して更新前情報がないかどうかを確認する。
【０１２５】
すると、ステップＳ３５で、データ保護部３０７は、コールドマップ３０８が存在するかどうかを確認する。
【０１２６】
コールドマップ３０８が存在しない場合、ステップＳ３６で、データ保護部３０７は、通常のスナップショット作成と同様の処理を行うようにスナップショット部３０９へ指示し、スナップショット部３０９は、現在認識しているファイルに対してスナップショットを作成する。
【０１２７】
スナップショットを作成したら、ステップＳ３７で、スナップショット部３０９は、フラッシュ部３０５とデータ保護部３０７とにスナップショット作成完了通知を発信する。
【０１２８】
フラッシュ部３０５は、スナップショット作成完了通知を取得すると、ステップＳ３８で、フラッシュマップ３０６を削除し、処理を終了させる。このとき、コールドマップ３０８は存在しないため、データ保護部３０７はコールドマップ３０８の削除は行わない。
【０１２９】
一方、コールドマップ３０８が存在する場合は、ステップＳ３９で、データ保護部３０７は、コールドマップ３０８よりフラッシュ処理後に更新のあったファイルの情報と更新前マップ情報とをスナップショット部３０９へ渡す。
【０１３０】
フラッシュ処理後に更新のあったファイルの情報と更新前マップ情報とを取得したスナップショット部３０９は、ステップＳ４０で、フラッシュ処理後に更新のあったファイルに関しては取得したマップ情報を使用し、それ以外のフラッシュ処理後に更新のないファイルに関しては通常の処理と同様に作成時点のマップ情報を取得し、スナップショットを作成する。
【０１３１】
スナップショットが作成できたら、ステップＳ４１で、スナップショット部３０９は、フラッシュ部３０５とデータ保護部３０７とにスナップショット作成完了通知を発信する。
【０１３２】
スナップショット作成完了通知を取得すると、ステップＳ３３で、フラッシュ部３０５はフラッシュマップ３０６を削除し、データ保護部３０７はコールドマップ３０８を削除して処理を終了させる。
【０１３３】
以上説明した処理により、静止点を確保した状態でのスナップショットの作成を実現している。
【０１３４】
次に、本発明の記憶装置の第２の実施の形態について説明する。
【０１３５】
本形態は、第１の実施の形態と同じ構成、同じ処理を行う。異なるのは、使用するスナップショットの機能が追記型ではなく、押し出し型のスナップショットである点である。そのため、データ保護機構処理の流れが異なる。
【０１３６】
図１０は、第２の実施の形態において、フラッシュ処理中に既にバッファデータを取得したクライアント装置１００より更新処理があった場合の概要図である。
【０１３７】
図１０に示すように、既にバッファデータを書き込んだコネクションからの更新データが送信されてきた場合、更新データを別の領域に書き込むのではなく、既に保存されているデータをスナップショット領域４１０へ書き込む。
【０１３８】
その後、スナップショットを作成する場合は、追記型と同様にバッファデータ書き込み完了時のマッピング情報をスナップショット部３０９に渡す。第２の実施の形態を利用すれば追記型だけではなく、押し出し型のスナップショットでも本発明を利用できる。
【０１３９】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【０１４０】
第３の実施の形態は、第１の実施の形態および第２の実施の形態で使用しているフラッシュマップ３０６に、ある情報を追加したものである。
【０１４１】
図１１は、第３の実施の形態におけるフラッシュマップの一例を示す図である。
【０１４２】
図１１に示すように第３の実施の形態で追加する情報は、信号の伝送遅延時間を示すレイテンシ情報である。
【０１４３】
フラッシュ部３０５が、コネクション情報を採取するときに、同時にＮＡＳ装置１とクライアント装置１００との間のネットワークレイテンシを測定し、その情報をフラッシュマップ３０６に記述する。その後、フラッシュ部３０５がクライアント装置１００上のフラッシュ実行部１０５へフラッシュ処理を開始するように通知するときに、レイテンシが大きなクライアント装置１００からフラッシュの命令を通知するようにする。そうすることで、レイテンシの大きなクライアント装置１００からバッファデータの書き込みが開始され、バッファデータの書き込み待ちによるフラッシュ処理の遅延を最小化することで、フラッシュ処理時間の短縮が可能になる。これにより、スナップショットを素早く作成することが出来るため、バックアップ時間の短縮を図ることが可能になる。
【０１４４】
以上説明したように、本発明においては、以下に記載するような効果を奏する。
【０１４５】
第１の効果は、スナップショット作成時点でクライアント装置上の更新処理が完了したデータについて保存ができることである。
【０１４６】
その理由は、通常、クライアント装置での更新処理が完了し、ファイル等にデータを保存処理しても、ＮＡＳ装置上へは即時に反映されず、クライアント装置上でファイルシステムのバッファのようにバッファリングしているため、スナップショット作成開始時には既に更新が完了しているデータでもスナップショットデータに保存されるとは限らないが、本発明では、クライアント装置のバッファデータをスナップショット作成開始時にクライアント装置側でフラッシュさせてＮＡＳ装置上に書き込むことで、クライアント装置上で更新処理が完了したデータを保存できるからである。仮に、フラッシュのタイミングによってデータの保存がずれる可能性があるが、それでも既存スナップショットよりかはその誤差は非常に小さい。
【０１４７】
第２の効果は、スナップショットデータ内のファイル破損の防止が可能であることである。これにより、スナップショットデータ内のファイルからリストアするときに、ファイル破損を原因としてリストアができないといったことはない。
【０１４８】
その理由は、ファイルの更新が完了して、メタデータと実データとの更新データは、クライアント装置のバッファに一旦保存されてからＮＡＳ装置に書き込まれる。ＮＡＳ装置へのバッファデータの書き込みに関して整合性を考慮しながら書き込むことはないため、中途半端にバッファデータの書き込みが完了した状態でスナップショットを作成すると、スナップショットデータにアクセスしたときにファイルのデータに不整合が発生し、アクセスできない可能性がある。本発明では、スナップショット作成時のバッファデータは、全てＮＡＳ装置上に書き込んでいるため、ファイルのメタデータと実データとの不整合が発生することはなく、スナップショットデータ内のファイルが破損しているといったことはないからである。
【０１４９】
第３の効果は、ファイルサーバで使用する領域を分割する必要がなく、１つのボリュームとして使用できることである。これにより、ファイルシステムやファイルの管理などの情報管理の簡易化が可能である。
【０１５０】
その理由は、本発明によりファイルシステムにアクセスする全てのファイルの静止点を確保してバックアップ（スナップショット）することが出来るため、バックアップできるようにファイルシステムの分割を行う必要がなく、ファイルシステムの管理が容易になるからである。また、ファイルシステムを分割する必要がないため、その中に保存されているファイルの管理も容易になり、セキュリティの管理などの負担も軽減するため、情報管理の簡易化が可能である。
【０１５１】
第４の効果は、ＮＡＳ装置がスナップショット処理の全てを主導できることにある。これにより、運用面で多数のクライアントの操作を行う必要がなく、一箇所で処理が完結するため、バックアップの運用の簡易化が可能である。
【０１５２】
その理由は、スナップショットの作成以外に、バッファデータのフラッシュ処理も全てＮＡＳ装置が主導して処理しているためである。クライアント装置と連携する機能の多くは、クライアント装置側が主導で操作するが、本発明では、クライアント装置側で特に操作をする必要がなく、ＮＡＳ装置の操作のみで整合性のとれたスナップショットを取得することが出来る。また、本発明では、１つのファイルシステムのみに注目しているが、本発明は、複数のファイルシステムでも当然利用でき、各ファイルシステムに対して、それぞれ同様の処理を行うことで、複数のファイルシステムがある環境でも、ＮＡＳ装置が主導して処理が出来るため、バックアップ運用の簡易化が可能である。
【０１５３】
さらに、本発明の利点について、一般的なＮＡＳ装置と比較して、以下に説明する。
【０１５４】
一般的なＮＡＳ装置では、指示はクライアント装置から実行することもある。しかしながら、その場合であっても、ＮＡＳ装置上のファイルシステムの静止点は確保するが、ファイルシステム上のデータの静止点は確保しない。そのため、一般的な処理ではデータが壊れているおそれがある。
【０１５５】
また、一般的なＮＡＳ装置にて静止点が確保できた場合であっても、サーバ上にデータがある場合は、スナップショット作成時に最新のデータは確保できない。
【０１５６】
しかし、本発明においては、スナップショットをＮＡＳ装置が作成するときに、ＮＡＳ装置からクライアント装置に対してフラッシュさせるように指示するため、静止点が取れ、最新の情報をバックアップすることができる。
【０１５７】
また、一般的なＮＡＳ装置では、連携ソフトウェアを使うことでデータの静止点を確保することが可能な場合も存在するが、それらの動作は元々ＳＡＮストレージで使用していたような処理をバックアップするための機能であるため、クライアント装置間での連携機能というのはほとんどなく、クライアント（またはアプリケーション）とストレージ（またはスナップショットを作成する領域とが、ＳＡＮストレージのように１対１の関係でないと使用できない。
【０１５８】
もし、使用しようとすると、上記のように通常、クライアント装置同士での連携は行わないため、スナップショットを作成すると、一方は静止点が取れているが、他方は取れていない、または一方ずつ静止点が取れたスナップショットが２つできるといったことになる。その場合、静止点が取れていないものは論外として、２つできる場合も管理が複雑になり、１００台のクライアント装置がある場合、これが１００個できるため、現実的ではない。
【０１５９】
また、クライアント装置間の連携に関しても、１００台以上のクライアント装置間で連携するというのは、連携処理および運用の点から現実的とは言えない。
【０１６０】
そのため、１つの領域に２つ以上のクライアント装置が同時にアクセスするような多対１の構成では使用できない。
【０１６１】
しかし、一般的な用途でＮＡＳ装置を使用する場合は、多対１の構成が基本であるため、連携ソフトウェアの使用も限られる状況である。
【０１６２】
一方、本発明の場合、スナップショットを作成するＮＡＳ装置からフラッシュさせることで、フラッシュ処理させる側が保存／更新されているデータの処理をコントロールできるため、各クライアント装置のデータの整合性や連携といったことは考慮する必要がなくなり、ＮＡＳ装置上のデータの静止点だけに注目すればよい。
【０１６３】
その結果、スナップショットも１つで全てのデータの静止点を確保でき、管理も基本的にはＮＡＳ装置さえ見ておけばよいため簡易になり、連携ソフトウェアと違い、一般的なＮＡＳ装置の構成である多対１の構成も実現可能になる。
【０１６４】
また、本発明においては、クライアント装置の所属するネットワークに関係なくスナップショットが作成可能である。また、コネクション情報を利用することで、スナップショット作成時に静止点を確保すべき（アクセスしている）クライアント装置のみに処理を実施させることが出来る。
【０１６５】
一般的に、クライアント装置間の連携で実現しようとしても、特にユーザが使用しているＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と他のＰＣまたはサーバと連携するというのは、ネットワークの技術観点およびセキュリティの観点からも、とても難しく、現実的ではない。
【０１６６】
しかし、クライアント間の連携を行わず、アクセスしてきた経路でフラッシュ処理を実施する本発明であれば、どのようなネットワークに所属していても、ＮＡＳ装置にアクセスできているのなら、静止点の確保が出来る。
【０１６７】
また、通常サーバなどの常に動いているクライアント装置と違い、ＰＣ等は起動しているかが不定であるが、本発明においては、ＮＡＳ装置上の実際にアクセスしている情報を基にしているため、どのクライアント装置がアクセスしているかを、クライアント装置側で確認する必要がない。
【０１６８】
そのため、本当に必要なクライアント装置のみに対して、フラッシュを指示できるため、無駄な処理がなく、クライアント装置側で実施した場合に発生しうるチェック抜けなどでフラッシュ処理をし忘れたクライアント装置というものが発生することはなく、確実に静止点の確保が可能になる。
【０１６９】
上述したＮＡＳ装置１に設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したコンピュータプログラム（以下、プログラムと称する）をＮＡＳ装置１にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをＮＡＳ装置１に読み込ませ、実行するものであっても良い。ＮＡＳ装置１にて読取可能な記録媒体とは、フロッピー（登録商標）ディスク、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、ＮＡＳ装置１に内蔵されたＲＯＭ、ＲＡＭ等のメモリやＨＤＤ等を指す。この記録媒体に記録されたプログラムは、ＮＡＳ装置１に設けられたＣＰＵ（不図示）にて読み込まれ、ＣＰＵの制御によって、上述したものと同様の処理が行われる。ここで、ＣＰＵは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【符号の説明】
【０１７０】
１    ＮＡＳ装置
１００    クライアント装置
１０１    ＮＡＳバッファ部
１０２，３０２    メモリ
１０３    アプリケーション部
１０４，３０１    入出力モジュール
１０５    フラッシュ実行部
２００    ネットワーク
３００    ＮＡＳコントローラ部
３０３    メインコントローラ
３０４    ディスクコントローラ
３０５    フラッシュ部
３０６    フラッシュマップ
３０７    データ保護部
３０８    コールドマップ
３０９    スナップショット部
４００    記憶部
４１０    スナップショット領域
【図１】
2013037611.tif 000003
【図２】
2013037611.tif 000004
【図３】
2013037611.tif 000005
【図４】
2013037611.tif 000006
【図５】
2013037611.tif 000007
【図６】
2013037611.tif 000008
【図７】
2013037611.tif 000009
【図８】
2013037611.tif 000010
【図９】
2013037611.tif 000011
【図１０】
2013037611.tif 000012
【図１１】
2013037611.tif 000013