(57)【特許請求の範囲】
【請求項１】
所定の記憶媒体に記憶されたファイルに対する要求を処理する要求処理部と、
ファイルを処理するファイル処理部と、
ファイルに関する情報を管理するファイル情報管理部と、
を備え、
記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、
第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、
第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、
前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報を更新する、ファイルシステム。
【請求項２】
前記ファイル情報管理部は、更新前の第１の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第１の差分情報を作成する、請求項１に記載のファイルシステム。
【請求項３】
前記ファイル情報管理部は、第２の差分情報と更新前の第１の差分情報とに基づいて、更新後の第１の差分情報を作成する、請求項１に記載のファイルシステム。
【請求項４】
所定の記憶媒体に記憶されたファイルに対する要求を処理する要求処理部と、
ファイルを処理するファイル処理部と、
ファイルに関する情報を管理するファイル情報管理部と、
を備え、
記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、
第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、
第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、
前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第２の差分情報を更新する、ファイルシステム。
【請求項５】
前記ファイル情報管理部は、更新前の第２の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体を作成し、作成した第１のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第２の差分情報を作成する、請求項４に記載のファイルシステム。
【請求項６】
前記ファイル情報管理部は、第１の差分情報と更新前の第２の差分情報とに基づいて、更新後の第２の差分情報を作成する、請求項４に記載のファイルシステム。
【請求項７】
変更後の第２のファイルをコピーして第３のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第３のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第１の差分情報をコピーして第３の差分情報を作成し、第３の差分情報と第３のファイルのファイル識別情報とを関連付けて管理する、請求項１〜６のいずれか一つに記載のファイルシステム。
【請求項８】
第２のファイルの所定領域のデータを読み出す内容の要求を前記要求処理部が取得した場合、
前記ファイル処理部は、
当該所定領域が第１のファイルと第２のファイルとの差分箇所に対応しているか否かを第１の差分情報に基づいて判別し、
当該所定領域が当該差分箇所に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力し、
当該所定領域が当該差分箇所に対応している場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出し、そのデータと第１の差分情報とをマージすることによって作成したデータを、第２のファイルの当該所定領域のデータとして出力する、請求項１〜７のいずれか一つに記載のファイルシステム。
【請求項９】
第２のファイルの所定領域のデータを読み出す内容の要求を前記要求処理部が取得した場合、
前記ファイル処理部は、
当該所定領域が第１のファイルと第２のファイルとの差分箇所に対応しているか否かを第１の差分情報に基づいて判別し、
当該所定領域が当該差分箇所に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力し、
当該所定領域が当該差分箇所に対応している場合には、第１の差分情報に含まれている当該所定領域に対応するデータ、あるいは第１の差分情報とは別に記憶されている当該所定領域に対応するデータを、第２のファイルの当該所定領域のデータとして出力する、請求項１〜７のいずれか一つに記載のファイルシステム。
【請求項１０】
ファイルアクセスに関する所定の条件を満たす場合、
前記ファイル処理部は、第１のファイルのファイル本体と第１の差分情報とをマージすることによって第２のファイルのファイル本体を作成して記憶媒体に記憶し、
前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを削除し、第２のファイルのファイル識別情報と第２のファイルのファイル本体とを関連付けて管理する、請求項１〜９のいずれか一つに記載のファイルシステム。
【請求項１１】
前記ファイル処理部は、第１のファイルのファイル本体と第１の差分情報とをマージする処理を、所定の空き時間に実行する、請求項１０に記載のファイルシステム。
【請求項１２】
前記ファイル処理部は、第１のファイルのファイル本体を記憶媒体上でコピーすることによって新たなファイル本体を作成し、その新たなファイル本体を記憶媒体からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体に書き込む、請求項１０又は１１に記載のファイルシステム。
【請求項１３】
前記ファイル処理部は、第１のファイルのファイル本体を記憶媒体からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体に書き込む、請求項１０又は１１に記載のファイルシステム。
【請求項１４】
前記ファイル処理部は、第２のファイルへのアクセス数に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する、請求項１０〜１３のいずれか一つに記載のファイルシステム。
【請求項１５】
前記ファイル処理部は、第２のファイルへのアクセス所要時間に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する、請求項１０〜１４のいずれか一つに記載のファイルシステム。
【請求項１６】
前記ファイル処理部は、アクセス数に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する、請求項１０〜１５のいずれか一つに記載のファイルシステム。
【請求項１７】
前記ファイル処理部は、アクセス所要時間に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する、請求項１０〜１６のいずれか一つに記載のファイルシステム。
【請求項１８】
前記ファイル情報管理部が第１のファイルのファイル識別情報及び第２のファイルのファイル識別情報の双方を第１のファイルのファイル本体に関連付けて管理している状況において、第１のファイルを削除する内容の要求を前記要求処理部が取得した場合には、前記ファイル情報管理部は、第１のファイルのファイル識別情報を削除する、請求項１〜１７のいずれか一つに記載のファイルシステム。
【請求項１９】
第１のファイルのファイル識別情報に差分情報が関連付けられている場合には、前記ファイル情報管理部は、第１のファイルのファイル識別情報とともに当該差分情報を削除する、請求項１８に記載のファイルシステム。
【請求項２０】
前記ファイル情報管理部が第１のファイルのファイル識別情報及び第２のファイルのファイル識別情報の双方を第１のファイルのファイル本体に関連付けて管理している状況において、第２のファイルを削除する内容の要求を前記要求処理部が取得した場合には、前記ファイル情報管理部は、第２のファイルのファイル識別情報を削除する、請求項１〜１９のいずれか一つに記載のファイルシステム。
【請求項２１】
第２のファイルのファイル識別情報に差分情報が関連付けられている場合には、前記ファイル情報管理部は、第２のファイルのファイル識別情報とともに当該差分情報を削除する、請求項２０に記載のファイルシステム。
【請求項２２】
（Ａ）所定の記憶媒体に記憶されたファイルに対する要求を処理するステップと、
（Ｂ）ファイルを処理するステップと、
（Ｃ）ファイルに関する情報を管理するステップと、
を備え、
前記ステップ（Ａ）において、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を取得した場合、前記ステップ（Ｃ）において、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、
前記ステップ（Ａ）において、第２のファイルを変更する内容の要求を取得した場合、前記ステップ（Ｃ）において、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、
前記ステップ（Ａ）において、第１のファイルを変更する内容の要求を取得した場合、前記ステップ（Ｃ）において、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、
前記ステップ（Ｃ）において第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ステップ（Ｂ）において第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ステップ（Ｃ）において、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新する、ファイル管理方法。
【請求項２３】
ファイルシステムと記憶部とを備え、
前記ファイルシステムは、
前記記憶部に記憶されたファイルに対する要求を処理する要求処理部と、
ファイルを処理するファイル処理部と、
ファイルに関する情報を管理するファイル情報管理部と、
を有し、
前記記憶部に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、
第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、
第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、
前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新する、半導体記憶装置。
【請求項２４】
ファイルシステムと記憶部とを備え、
前記ファイルシステムは、
前記記憶部に記憶されたファイルに対する要求を処理する要求処理部と、
ファイルを処理するファイル処理部と、
ファイルに関する情報を管理するファイル情報管理部と、
を有し、
前記記憶部に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、
第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、
第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、
前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新する、情報処理装置。
【請求項２５】
コンピュータを、
所定の記憶媒体に記憶されたファイルに対する要求を処理する要求処理部と、
ファイルを処理するファイル処理部と、
ファイルに関する情報を管理するファイル情報管理部と、
として機能させるためのプログラムであって、
第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、
第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、
第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、
前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステム、ファイル管理方法、半導体記憶装置、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
ファイルシステムにおいて、ファイルは、ファイル名とファイルの実体（以下「ファイル本体」と称す）とによって管理される。従来のファイルシステムでは、記憶媒体上でファイルＡのコピーをファイルＢとして作成する場合には、ファイルＢのファイル名が作成されるとともに、ファイルＡのファイル本体がコピーされてファイルＢのファイル本体が作成される。そして、ファイルＢのファイル名とファイルＢのファイル本体とが関連付けられて管理される。
【０００３】
なお、下記特許文献１に開示されたファイル処理装置において、磁気ディスクには複数のデータブロックが設けられており、ファイルは、所定単位の複数のデータに分割されて、各データが各データブロックに格納される。また、磁気ディスクには、ファイル名及び各データブロックへのポインタが格納されたファイル管理テーブルが記憶されている。磁気ディスクに記憶されているファイルＡのコピーをファイルＢとして作成する場合には、データブロックへの新たなデータの書き込みは行われず、ファイルＢのファイル名と、ファイルＡと同一内容のポインタとが、ファイル管理テーブルに追加される。ファイルＢに新たなデータを書き込む場合には、その新たなデータが空のデータブロックに格納されるとともに、そのデータブロックへのポインタがファイル管理テーブルに追加される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−２５７３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した従来のファイルシステムによると、ファイルＡのコピーをファイルＢとして作成する場合に、ファイルＡのファイル本体をコピーしてファイルＢのファイル本体を作成する処理が実行される。従って、ファイルＡのファイル本体のデータ量が大きい場合には、ファイル本体をコピーするための所要時間が長くなるため、コピー処理中のシステム応答速度の低下を招き、ユーザビリティが低下する。また、同一内容の複数のファイル本体が記憶媒体に記憶されるため、ファイルＡのファイル本体のデータ量が大きい場合には、記憶媒体の記憶容量が大きく消費される。
【０００６】
本発明はかかる問題を解決するために成されたものであり、ファイルのコピーに要する所要時間を短縮でき、また、ファイルのコピーに伴う記憶容量の消費を抑制でき、さらに、コピー元のファイルやコピー先のファイルの内容が変更された場合であってもその変更内容を簡易かつ確実に管理することが可能な、ファイルシステム、ファイル管理方法、半導体記憶装置、情報処理装置、及びプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係るファイルシステムは、所定の記憶媒体に記憶されたファイルに対する要求を処理する要求処理部と、ファイルを処理するファイル処理部と、ファイルに関する情報を管理するファイル情報管理部と、を備え、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報を更新することを特徴とするものである。
【０００８】
第１の態様に係るファイルシステムによれば、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、第２のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第１の態様に係るファイルシステムによれば、第１のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第１の態様に係るファイルシステムによれば、ファイル処理部が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第２のファイルを読み出す際には、更新後の第１の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第２のファイルを適切に作成することが可能となる。
【０００９】
本発明の第２の態様に係るファイルシステムは、第１の態様に係るファイルシステムにおいて特に、前記ファイル情報管理部は、更新前の第１の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第１の差分情報を作成することを特徴とするものである。
【００１０】
第２の態様に係るファイルシステムによれば、ファイル情報管理部は、更新前の第１の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第１の差分情報を作成する。これにより、順に適用すべき複数の第１の差分情報が存在する場合であっても、更新後の第１の差分情報は一つに集約されるため、以降の第２のファイルの読み出し要求に対して、読み出しの所要時間を短縮することが可能となる。
【００１１】
本発明の第３の態様に係るファイルシステムは、第１の態様に係るファイルシステムにおいて特に、前記ファイル情報管理部は、第２の差分情報と更新前の第１の差分情報とに基づいて、更新後の第１の差分情報を作成することを特徴とするものである。
【００１２】
第３の態様に係るファイルシステムによれば、ファイル情報管理部は、第２の差分情報と更新前の第１の差分情報とに基づいて、更新後の第１の差分情報を作成する。差分情報のデータ量はファイル本体のデータ量より小さいのが通常であるため、いずれもデータ量の小さい第２の差分情報と更新前の第１の差分情報とに基づいて更新後の第１の差分情報を作成することにより、その作成に要する所要時間を短縮することが可能となる。
【００１３】
本発明の第４の態様に係るファイルシステムは、所定の記憶媒体に記憶されたファイルに対する要求を処理する要求処理部と、ファイルを処理するファイル処理部と、ファイルに関する情報を管理するファイル情報管理部と、を備え、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第２の差分情報を更新することを特徴とするものである。
【００１４】
第４の態様に係るファイルシステムによれば、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、第２のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第４の態様に係るファイルシステムによれば、第１のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第４の態様に係るファイルシステムによれば、ファイル処理部が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第２の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第１のファイルを読み出す際には、更新後の第２の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第１のファイルを適切に作成することが可能となる。
【００１５】
本発明の第５の態様に係るファイルシステムは、第４の態様に係るファイルシステムにおいて特に、前記ファイル情報管理部は、更新前の第２の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体を作成し、作成した第１のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第２の差分情報を作成することを特徴とするものである。
【００１６】
第５の態様に係るファイルシステムによれば、ファイル情報管理部は、更新前の第２の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体を作成し、作成した第１のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第２の差分情報を作成する。これにより、順に適用すべき複数の第２の差分情報が存在する場合であっても、更新後の第２の差分情報は一つに集約されるため、以降の第１のファイルの読み出し要求に対して、読み出しの所要時間を短縮することが可能となる。
【００１７】
本発明の第６の態様に係るファイルシステムは、第４の態様に係るファイルシステムにおいて特に、前記ファイル情報管理部は、第１の差分情報と更新前の第２の差分情報とに基づいて、更新後の第２の差分情報を作成することを特徴とするものである。
【００１８】
第６の態様に係るファイルシステムによれば、ファイル情報管理部は、第１の差分情報と更新前の第２の差分情報とに基づいて、更新後の第２の差分情報を作成する。差分情報のデータ量はファイル本体のデータ量より小さいのが通常であるため、いずれもデータ量の小さい第１の差分情報と更新前の第２の差分情報とに基づいて更新後の第２の差分情報を作成することにより、その作成に要する所要時間を短縮することが可能となる。
【００１９】
本発明の第７の態様に係るファイルシステムは、第１〜第６のいずれか一つの態様に係るファイルシステムにおいて特に、変更後の第２のファイルをコピーして第３のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第３のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第１の差分情報をコピーして第３の差分情報を作成し、第３の差分情報と第３のファイルのファイル識別情報とを関連付けて管理することを特徴とするものである。
【００２０】
第７の態様に係るファイルシステムによれば、変更後の第２のファイルをコピーして第３のファイルを作成する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第３のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第１の差分情報をコピーして第３の差分情報を作成し、第３の差分情報と第３のファイルのファイル識別情報とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第３のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮でき、また、ファイルのコピーに伴う記憶容量の消費を抑制できる。
【００２１】
本発明の第８の態様に係るファイルシステムは、第１〜第７のいずれか一つの態様に係るファイルシステムにおいて特に、第２のファイルの所定領域のデータを読み出す内容の要求を前記要求処理部が取得した場合、前記ファイル処理部は、当該所定領域が第１のファイルと第２のファイルとの差分箇所に対応しているか否かを第１の差分情報に基づいて判別し、当該所定領域が当該差分箇所に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力し、当該所定領域が当該差分箇所に対応している場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出し、そのデータと第１の差分情報とをマージすることによって作成したデータを、第２のファイルの当該所定領域のデータとして出力することを特徴とするものである。
【００２２】
第８の態様に係るファイルシステムによれば、ファイル処理部は、所定領域が差分箇所に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力する。一方、当該所定領域が当該差分箇所に対応している場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出し、そのデータと第１の差分情報とをマージすることによって作成したデータを、第２のファイルの当該所定領域のデータとして出力する。これにより、第２のファイルの所定領域のデータを適切に出力することが可能となる。
【００２３】
本発明の第９の態様に係るファイルシステムは、第１〜第７のいずれか一つの態様に係るファイルシステムにおいて特に、第２のファイルの所定領域のデータを読み出す内容の要求を前記要求処理部が取得した場合、前記ファイル処理部は、当該所定領域が第１のファイルと第２のファイルとの差分箇所に対応しているか否かを第１の差分情報に基づいて判別し、当該所定領域が当該差分箇所に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力し、当該所定領域が当該差分箇所に対応している場合には、第１の差分情報に含まれている当該所定領域に対応するデータ、あるいは第１の差分情報とは別に記憶されている当該所定領域に対応するデータを、第２のファイルの当該所定領域のデータとして出力することを特徴とするものである。
【００２４】
第９の態様に係るファイルシステムによれば、ファイル処理部は、所定領域が差分箇所に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力する。一方、当該所定領域が当該差分箇所に対応している場合には、第１の差分情報に含まれている当該所定領域に対応するデータ、あるいは第１の差分情報とは別に記憶されている当該所定領域に対応するデータを、第２のファイルの当該所定領域のデータとして出力する。これにより、第２のファイルの所定領域のデータを適切に出力することが可能となる。しかも、当該所定領域に対応するデータは、第１の差分情報に含まれており、あるいは第１の差分情報とは別に記憶されている。そのため、当該所定領域のデータを読み出す際に、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出す処理や、そのデータと第１の差分情報とをマージする処理は不要となる。従って、当該所定領域のデータを高速に読み出すことが可能となる。
【００２５】
本発明の第１０の態様に係るファイルシステムは、第１〜第９のいずれか一つの態様に係るファイルシステムにおいて特に、ファイルアクセスに関する所定の条件を満たす場合、前記ファイル処理部は、第１のファイルのファイル本体と第１の差分情報とをマージすることによって第２のファイルのファイル本体を作成して記憶媒体に記憶し、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを削除し、第２のファイルのファイル識別情報と第２のファイルのファイル本体とを関連付けて管理することを特徴とするものである。
【００２６】
第１０の態様に係るファイルシステムによれば、ファイル処理部は、第１のファイルのファイル本体と第１の差分情報とをマージすることによって第２のファイルのファイル本体を作成して記憶媒体に記憶する。従って、以降の第２のファイルの読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とをマージする処理が不要となるため、読み出しの所要時間を短縮することが可能となる。
【００２７】
本発明の第１１の態様に係るファイルシステムは、第１０の態様に係るファイルシステムにおいて特に、前記ファイル処理部は、第１のファイルのファイル本体と第１の差分情報とをマージする処理を、所定の空き時間に実行することを特徴とするものである。
【００２８】
第１１の態様に係るファイルシステムによれば、ファイル処理部は、第１のファイルのファイル本体と第１の差分情報とをマージする処理を、所定の空き時間に実行する。従って、マージの処理が完了するまで他のファイルアクセスが待たされるという事態を回避できるため、ユーザビリティを向上することが可能となる。
【００２９】
本発明の第１２の態様に係るファイルシステムは、第１０又は第１１の態様に係るファイルシステムにおいて特に、前記ファイル処理部は、第１のファイルのファイル本体を記憶媒体上でコピーすることによって新たなファイル本体を作成し、その新たなファイル本体を記憶媒体からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体に書き込むことを特徴とするものである。
【００３０】
第１２の態様に係るファイルシステムによれば、ファイル処理部は、第１のファイルのファイル本体を記憶媒体上でコピーすることによって新たなファイル本体を作成し、その新たなファイル本体を記憶媒体からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体に書き込む。従って、コピーによって新たなファイル本体を早期に作成でき、第２のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを早期に削除できるため、第１のファイルの変更を早期に開始することが可能となる。また、順に適用すべき複数の第１の差分情報が存在する場合には、コピーによって作成した新たなファイル本体に対して複数の第１の差分情報を順に適用することにより、第２のファイルのファイル本体を簡易かつ確実に作成することが可能となる。
【００３１】
本発明の第１３の態様に係るファイルシステムは、第１０又は第１１の態様に係るファイルシステムにおいて特に、前記ファイル処理部は、第１のファイルのファイル本体を記憶媒体からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体に書き込むことを特徴とするものである。
【００３２】
第１３の態様に係るファイルシステムによれば、ファイル処理部は、第１のファイルのファイル本体を記憶媒体からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体に書き込む。従って、第１のファイルのファイル本体を記憶媒体上でコピーすることによって新たなファイル本体を作成するという処理が不要となるため、第２のファイルのファイル本体の作成に要する所要時間を短縮することが可能となる。
【００３３】
本発明の第１４の態様に係るファイルシステムは、第１０〜第１３のいずれか一つの態様に係るファイルシステムにおいて特に、前記ファイル処理部は、第２のファイルへのアクセス数に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行することを特徴とするものである。
【００３４】
第１４の態様に係るファイルシステムによれば、ファイル処理部は、第２のファイルへのアクセス数に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、単位時間あたりのアクセス数、トータルのアクセス数、又は連続アクセス数等に関する条件を予め設定しておくことにより、第２のファイルへのアクセス頻度が高い場合等には、第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、第２のファイルのファイル本体を作成することができる。その結果、以降の第２のファイルの読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【００３５】
本発明の第１５の態様に係るファイルシステムは、第１０〜第１４のいずれか一つの態様に係るファイルシステムにおいて特に、前記ファイル処理部は、第２のファイルへのアクセス所要時間に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行することを特徴とするものである。
【００３６】
第１５の態様に係るファイルシステムによれば、ファイル処理部は、第２のファイルへのアクセス所要時間に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、第１のファイルのファイル本体と第１の差分情報とのマージに要する所要時間が長い場合等には、第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、第２のファイルのファイル本体を作成することができる。その結果、以降の第２のファイルの読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【００３７】
本発明の第１６の態様に係るファイルシステムは、第１０〜第１５のいずれか一つの態様に係るファイルシステムにおいて特に、前記ファイル処理部は、アクセス数に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行することを特徴とするものである。
【００３８】
第１６の態様に係るファイルシステムによれば、ファイル処理部は、アクセス数に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、単位時間あたりのアクセス数、トータルのアクセス数、又は連続アクセス数等に関する条件を予め設定しておくことにより、アクセス頻度が高い特定領域が第２のファイルに含まれている場合等に、当該特定領域を対象として第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、当該特定領域に対応する第２のファイルのファイル本体を作成することができる。その結果、以降の特定領域の読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【００３９】
本発明の第１７の態様に係るファイルシステムは、第１０〜第１６のいずれか一つの態様に係るファイルシステムにおいて特に、前記ファイル処理部は、アクセス所要時間に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行することを特徴とするものである。
【００４０】
第１７の態様に係るファイルシステムによれば、ファイル処理部は、アクセス所要時間に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、第１のファイルのファイル本体と第１の差分情報とのマージに要する所要時間が長い特定領域が第２のファイルに含まれている場合等には、当該特定領域を対象として第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、当該特定領域に対応する第２のファイルのファイル本体を作成することができる。その結果、以降の特定領域の読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【００４１】
本発明の第１８の態様に係るファイルシステムは、第１〜第１７のいずれか一つの態様に係るファイルシステムにおいて特に、前記ファイル情報管理部が第１のファイルのファイル識別情報及び第２のファイルのファイル識別情報の双方を第１のファイルのファイル本体に関連付けて管理している状況において、第１のファイルを削除する内容の要求を前記要求処理部が取得した場合には、前記ファイル情報管理部は、第１のファイルのファイル識別情報を削除することを特徴とするものである。
【００４２】
第１８の態様に係るファイルシステムによれば、第１のファイルを削除する内容の要求を要求処理部が取得した場合には、ファイル情報管理部は、第１のファイルのファイル識別情報を削除する。これにより、第２のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを維持したまま第１のファイルを適切に削除することが可能となる。
【００４３】
本発明の第１９の態様に係るファイルシステムは、第１８の態様に係るファイルシステムにおいて特に、第１のファイルのファイル識別情報に差分情報が関連付けられている場合には、前記ファイル情報管理部は、第１のファイルのファイル識別情報とともに当該差分情報を削除することを特徴とするものである。
【００４４】
第１９の態様に係るファイルシステムによれば、第１のファイルのファイル識別情報に差分情報が関連付けられている場合には、ファイル情報管理部は、第１のファイルのファイル識別情報とともに当該差分情報を削除する。これにより、当該差分情報と第１のファイルのファイル本体との関連付けを適切に削除することが可能となる。
【００４５】
本発明の第２０の態様に係るファイルシステムは、第１〜第１９のいずれか一つの態様に係るファイルシステムにおいて特に、前記ファイル情報管理部が第１のファイルのファイル識別情報及び第２のファイルのファイル識別情報の双方を第１のファイルのファイル本体に関連付けて管理している状況において、第２のファイルを削除する内容の要求を前記要求処理部が取得した場合には、前記ファイル情報管理部は、第２のファイルのファイル識別情報を削除することを特徴とするものである。
【００４６】
第２０の態様に係るファイルシステムによれば、第２のファイルを削除する内容の要求を要求処理部が取得した場合には、ファイル情報管理部は、第２のファイルのファイル識別情報を削除する。これにより、第１のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを維持したまま第２のファイルを適切に削除することが可能となる。
【００４７】
本発明の第２１の態様に係るファイルシステムは、第２０の態様に係るファイルシステムにおいて特に、第２のファイルのファイル識別情報に差分情報が関連付けられている場合には、前記ファイル情報管理部は、第２のファイルのファイル識別情報とともに当該差分情報を削除することを特徴とするものである。
【００４８】
第２１の態様に係るファイルシステムによれば、第２のファイルのファイル識別情報に差分情報が関連付けられている場合には、ファイル情報管理部は、第２のファイルのファイル識別情報とともに当該差分情報を削除する。これにより、当該差分情報と第１のファイルのファイル本体との関連付けを適切に削除することが可能となる。
【００５３】
本発明の第２２の態様に係るファイル管理方法は、（Ａ）所定の記憶媒体に記憶されたファイルに対する要求を処理するステップと、（Ｂ）ファイルを処理するステップと、（Ｃ）ファイルに関する情報を管理するステップと、を備え、前記ステップ（Ａ）において、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を取得した場合、前記ステップ（Ｃ）において、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、前記ステップ（Ａ）において、第２のファイルを変更する内容の要求を取得した場合、前記ステップ（Ｃ）において、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、前記ステップ（Ａ）において、第１のファイルを変更する内容の要求を取得した場合、前記ステップ（Ｃ）において、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、前記ステップ（Ｃ）において第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ステップ（Ｂ）において第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ステップ（Ｃ）において、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新することを特徴とするものである。
【００５４】
第２２の態様に係るファイル管理方法によれば、ステップ（Ａ）において、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を取得した場合、ステップ（Ｃ）において、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、ステップ（Ａ）において、第２のファイルを変更する内容の要求を取得した場合、ステップ（Ｃ）において、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２２の態様に係るファイル管理方法によれば、第１のファイルを変更する内容の要求を取得した場合、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２２の態様に係るファイル管理方法によれば、第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、当該ファイル本体の更新内容に応じて第１の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第２のファイルを読み出す際には、更新後の第１の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第２のファイルを適切に作成することが可能となる。
また、第２２の態様に係るファイル管理方法によれば、第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、当該ファイル本体の更新内容に応じて第２の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第１のファイルを読み出す際には、更新後の第２の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第１のファイルを適切に作成することが可能となる。
【００５５】
本発明の第２３の態様に係る半導体記憶装置は、ファイルシステムと記憶部とを備え、前記ファイルシステムは、前記記憶部に記憶されたファイルに対する要求を処理する要求処理部と、ファイルを処理するファイル処理部と、ファイルに関する情報を管理するファイル情報管理部と、を有し、前記記憶部に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新することを特徴とするものである。
【００５６】
第２３の態様に係る半導体記憶装置によれば、記憶部に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、第２のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２３の態様に係る半導体記憶装置によれば、第１のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２３の態様に係る半導体記憶装置によれば、ファイル処理部が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第２のファイルを読み出す際には、更新後の第１の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第２のファイルを適切に作成することが可能となる。
また、第２３の態様に係る半導体記憶装置によれば、ファイル処理部が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第２の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第１のファイルを読み出す際には、更新後の第２の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第１のファイルを適切に作成することが可能となる。
【００５７】
本発明の第２４の態様に係る情報処理装置は、ファイルシステムと記憶部とを備え、前記ファイルシステムは、前記記憶部に記憶されたファイルに対する要求を処理する要求処理部と、ファイルを処理するファイル処理部と、ファイルに関する情報を管理するファイル情報管理部と、を有し、前記記憶部に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新することを特徴とするものである。
【００５８】
第２４の態様に係る情報処理装置によれば、記憶部に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、第２のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２４の態様に係る情報処理装置によれば、第１のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２４の態様に係る情報処理装置によれば、ファイル処理部が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第２のファイルを読み出す際には、更新後の第１の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第２のファイルを適切に作成することが可能となる。
また、第２４の態様に係る情報処理装置によれば、ファイル処理部が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第２の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第１のファイルを読み出す際には、更新後の第２の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第１のファイルを適切に作成することが可能となる。
【００５９】
本発明の第２５の態様に係るプログラムは、コンピュータを、所定の記憶媒体に記憶されたファイルに対する要求を処理する要求処理部と、ファイルを処理するファイル処理部と、ファイルに関する情報を管理するファイル情報管理部と、として機能させるためのプログラムであって、第１のファイルをコピーして第２のファイルを作成する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理し、第２のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理し、第１のファイルを変更する内容の要求を前記要求処理部が取得した場合、前記ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理し、前記ファイル情報管理部が第１の差分情報及び第２の差分情報の双方を管理している状況において、前記ファイル処理部が第１の差分情報及び第２の差分情報の一方と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、前記ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報及び第２の差分情報の他方を更新することを特徴とするものである。

【００６０】
第２５の態様に係るプログラムによれば、記憶媒体に記憶されている第１のファイルをコピーして第２のファイルを作成する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第２のファイルのファイル識別情報と第１のファイルのファイル本体とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、第２のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２５の態様に係るプログラムによれば、第１のファイルを変更する内容の要求を要求処理部が取得した場合、ファイル情報管理部は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
また、第２５の態様に係るプログラムによれば、ファイル処理部が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第１の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第２のファイルを読み出す際には、更新後の第１の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第２のファイルを適切に作成することが可能となる。
また、第２５の態様に係るプログラムによれば、ファイル処理部が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部は、当該ファイル本体の更新内容に応じて第２の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第１のファイルを読み出す際には、更新後の第２の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第１のファイルを適切に作成することが可能となる。
【発明の効果】
【００６１】
本発明によれば、ファイルのコピーに要する所要時間を短縮でき、また、ファイルのコピーに伴う記憶容量の消費を抑制でき、さらに、コピー元のファイルやコピー先のファイルの内容が変更された場合であってもその変更内容を簡易かつ確実に管理することが可能となる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態に係るファイルシステムを備える情報処理装置の構成を簡略化して示す図である。
【図２】本発明の実施の形態に係るファイルシステムを備える半導体メモリの構成例を簡略化して示す図である。
【図３】ファイルシステムが有する機能を示す図である。
【図４】ファイルシステムが処理するファイルを示す図である。
【図５】ファイルのコピー及び変更処理のシーケンスを示す図である。
【図６】図５の（Ｂ）の状態からファイルを変更した状況を示す図である。
【図７】図５の（Ｃ）の状態からファイルをコピーした状況を示す図である。
【図８】ファイルを模式的に示す図である。
【図９】事前マージのシーケンスを示す図である。
【図１０】事前マージに伴う差分情報の更新処理のシーケンスを示す図である。
【図１１】事前マージに伴う差分情報の更新処理のシーケンスを示す図である。
【図１２】部分的な事前マージ及びそれに伴う差分情報の更新処理の第１の例を示す図である。
【図１３】部分的な事前マージ及びそれに伴う差分情報の更新処理の第２の例を示す図である。
【図１４】部分的な事前マージ及びそれに伴う差分情報の更新処理の第３の例を示す図である。
【図１５】部分的な事前マージ及びそれに伴う差分情報の更新処理の第４の例を示す図である。
【図１６】部分的な事前マージ及びそれに伴う差分情報の更新処理の第４の例を示す図である。
【図１７】部分的な事前マージ及びそれに伴う差分情報の更新処理の第５の例を示す図である。
【図１８】部分的なファイル編集及びそれに伴う差分情報の更新処理の例を示す図である。
【図１９】ファイルの削除処理のシーケンスを示す図である。
【図２０】ファイルの削除処理のシーケンスを示す図である。
【発明を実施するための形態】
【００６３】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００６４】
図１は、本発明の実施の形態に係るファイルシステム１を備える情報処理装置１００の構成を簡略化して示す図である。情報処理装置１００は、ファイルシステム１と、データ処理の作業領域であるワークメモリ２と、プログラム５が格納されたメモリ３と、ハードディスク等の任意の記憶媒体４（記憶部）とを備えている。情報処理装置１００は、例えばパーソナルコンピュータであり、ファイルシステム１は、ＣＰＵ（Central Processing Unit）等のデータ処理装置によって実行されるＯＳ（Operating System）の機能の一部として実装されている。
【００６５】
図２は、本発明の実施の形態に係るファイルシステム１を備える半導体メモリ３００の構成例を簡略化して示す図である。半導体メモリ３００は、ホストコンピュータ２００に着脱自在なメモリカード等であり、ファイルシステム１の機能は半導体メモリ３００に実装されている。半導体メモリ３００は、図１と同様のファイルシステム１、ワークメモリ２、及びメモリ３と、フラッシュメモリ等の任意の記憶媒体４とを備えている。なお、ファイルシステム１の機能は、半導体メモリ３００ではなくホストコンピュータ２００に実装されていてもよい。
【００６６】
図３は、ファイルシステム１が有する機能を示す図である。ファイルシステム１は、要求処理部１１、ファイル処理部１２、ファイル情報管理部１３、及びアクセス解析部１４を備えている。つまり、データ処理装置がメモリ３からプログラム５を読み出して実行することにより、データ処理装置は、要求処理部１１、ファイル処理部１２、ファイル情報管理部１３、及びアクセス解析部１４として機能する。換言すれば、プログラム５は、情報処理装置１００又は半導体メモリ３００に搭載されるコンピュータを、要求処理部１１、ファイル処理部１２、ファイル情報管理部１３、及びアクセス解析部１４として機能させるためのプログラムである。
【００６７】
図４は、ファイルシステム１が処理するファイル２０を示す図である。ファイル２０は、ファイル名３０等の任意のファイル識別情報と、映像、音声、及びテキスト等のデータを含むファイル本体４０とを有している。ファイル本体４０は記憶媒体４に記憶される。ファイル名３０とファイル本体４０とは互いに関連付けられており、その関連付けに関する情報等を含むファイル情報は、ファイル情報管理部１３によって管理される。
【００６８】
＜ファイルのコピー及び変更＞
図５は、ファイルのコピー及び変更処理のシーケンスを示す図である。図５の（Ａ）に例示するように、ファイル名３０Ｘ及びファイル本体４０Ｘを有するファイル２０Ｘが、記憶媒体４に記憶されている。
【００６９】
ファイルのコピー処理に関し、要求処理部１１は、ファイル２０Ｘをコピーしてファイル２０Ｙを作成する内容の要求を、ファイルシステム１より上位層（アプリケーションプログラム等）から取得する。
【００７０】
次にファイル情報管理部１３は、図５の（Ｂ）に例示するように、ファイル２０Ｙのファイル名３０Ｙを作成して、ファイル名３０Ｙとファイル本体４０Ｘとを関連付ける。その際、ファイル処理部１２は、ファイル本体４０Ｙの作成のためにファイル本体４０Ｘをコピーするという処理を実行しない。従って、ファイル名３０Ｘとファイル名３０Ｙとが、共通のファイル本体４０Ｘに関連付けられる。
【００７１】
ファイルの変更処理に関し、要求処理部１１は、ファイル２０Ｙを変更する内容の要求を、上位層から取得する。ここで、ファイルの変更には、データの書き換え、データの追加、一部のデータの削除、データの並び替え等の処理が含まれる。
【００７２】
次にファイル情報管理部１３は、図５の（Ｃ）に例示するように、ファイル２０Ｙの変更の前後の差分を示す差分情報５０Ｙを作成する。具体的に差分情報５０Ｙは、変更前のファイル本体４０Ｙ（つまり記憶媒体４に記憶されているファイル本体４０Ｘ）に対する、変更後のファイル本体４０Ｙの差分を示す情報である。差分情報５０Ｙには、ファイル２０Ｙ内の変更データの位置（例えばファイルの先頭からのアドレスのオフセット値）、変更データの内容、及び変更データのサイズ等に関する情報が含まれる。なお、差分情報５０Ｙは、メモリ３内に記憶してもよいし、記憶媒体４内に記憶してもよい。ファイル情報管理部１３は、差分情報５０Ｙをファイル名３０Ｙに関連付けて管理する。ファイルのコピー処理の場合と同様に、ファイル処理部１２は、変更後のファイル本体４０Ｙの作成のためにファイル本体４０Ｘをコピーするという処理を実行しない。
【００７３】
図６は、図５の（Ｂ）の状態からファイル２０Ｘを変更した状況を示す図である。要求処理部１１は、ファイル２０Ｘを変更する内容の要求を上位層から取得する。ファイル情報管理部１３は、ファイル２０Ｘの変更の前後の差分を示す差分情報５０Ｘを作成する。差分情報５０Ｘは、変更前のファイル本体４０Ｘに対する変更後のファイル本体４０Ｘの差分を示す情報である。ファイル情報管理部１３は、差分情報５０Ｘをファイル名３０Ｘに関連付けて管理する。上記と同様に、ファイル処理部１２は、変更後のファイル本体４０Ｘの作成のためにファイル本体４０Ｘをコピーするという処理を実行しない。
【００７４】
図７は、図５の（Ｃ）の状態からファイル２０Ｙをコピーした状況を示す図である。要求処理部１１は、ファイル２０Ｙをコピーしてファイル２０Ｚを作成する内容の要求を、上位層から取得する。
【００７５】
次にファイル情報管理部１３は、ファイル２０Ｚのファイル名３０Ｚを作成して、ファイル名３０Ｚとファイル本体４０Ｘとを関連付ける。その際、ファイル処理部１２は、ファイル本体４０Ｚの作成のためにファイル本体４０Ｘをコピーするという処理を実行しない。
【００７６】
また、ファイル名３０Ｙには差分情報５０Ｙが関連付けられているため、ファイル情報管理部１３は、差分情報５０Ｙをコピーして差分情報５０Ｚを作成し、作成した差分情報５０Ｚをファイル名３０Ｚに関連付けて管理する。
【００７７】
＜ファイルの読み出し＞
図８は、ファイル２０Ｙを模式的に示す図である。図５の（Ｃ）に示したようにコピー後に変更されたことにより、ファイル２０Ｙは、ファイル本体４０Ｘと同一内容の非変更領域Ｒ１と、ファイル本体４０Ｘとの差分箇所である変更領域Ｒ２とを有している。
【００７８】
要求処理部１１は、ファイル２０Ｙの指定された領域（以下「所定領域」と称す）のデータを読み出す内容の要求を、上位層から取得する。読み出し要求には、ファイル２０Ｙ内のデータの位置（例えばファイルの先頭からのアドレスのオフセット値）が含まれている。
【００７９】
次にファイル処理部１２は、差分情報５０Ｙを参照してアドレスを比較することにより、当該所定領域は変更領域Ｒ２に対応しているか否かを判別する。具体的に、ファイル処理部１２は、読み出し要求に含まれている当該所定領域のアドレスと、差分情報５０Ｙに含まれているアドレスとが重複する場合には、当該所定領域は変更領域Ｒ２に対応していると判別する。一方、読み出し要求に含まれている当該所定領域のアドレスと、差分情報５０Ｙに含まれているアドレスとが重複しない場合には、当該所定領域は変更領域Ｒ２に対応していない（つまり非変更領域Ｒ１に対応している）と判別する。そして、ファイル処理部１２は、当該所定領域が変更領域Ｒ２に対応していない場合には、ファイル本体４０Ｘから当該所定領域に相当するデータを読み出して、そのデータをファイル２０Ｙの当該所定領域のデータとして出力する。
【００８０】
一方、当該所定領域が変更領域Ｒ２に対応している場合には、ファイル本体４０Ｘから当該所定領域に相当するデータを読み出し、そのデータと差分情報５０Ｙに含まれているデータとをマージする。そして、マージによって作成したデータを、ファイル２０Ｙの当該所定領域のデータとして出力する。なお、後述するように、部分的な事前マージ又は部分的なファイル編集によって変更領域Ｒ２の本体データが作成され、当該本体データが差分情報５０Ｙ内又は差分情報５０Ｙとは別の領域（メモリ３内又は記憶媒体４内）に記憶されている場合がある。この状況において、当該所定領域が変更領域Ｒ２に対応している場合には、ファイル処理部１２は、差分情報５０Ｙに含まれている当該所定領域に対応する本体データ、あるいは差分情報５０Ｙとは別に記憶されている当該所定領域に対応する本体データを、ファイル２０Ｙの当該所定領域のデータとして出力する。
【００８１】
なお、データの追加や一部のデータの削除等が行われたことによって、ファイル２０Ｘのサイズとファイル２０Ｙのサイズとが異なる場合であっても、上記と同様の手法によってファイルの読み出しを実行することが可能である。また、差分情報が関連付けられていないファイル（つまりコピー後に変更されていないファイル）を読み出す際には、差分情報の参照やデータのマージ等の処理は省略することができ、ファイル本体４０Ｘから読み出したデータをそのまま出力すればよい。
【００８２】
＜ファイルの事前マージ＞
上記の通り、ファイルを読み出す際に所定領域が変更領域に対応している場合には、読み出し処理の実行中にデータのマージを行う必要がある。従って、差分情報の増大に起因してオーバーヘッドが大きくなってきた場合には、読み出し処理の所要時間が長くなる。そこで、そのような場合には以下に述べる事前マージを行うことが望ましい。
【００８３】
図９は、事前マージのシーケンスを示す図である。図５の（Ｃ）に例示したように、ファイル名３０Ｘにファイル本体４０Ｘが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられているものとする。
【００８４】
ファイル２０Ｙが変更される度に、新たな差分情報５０Ｙが蓄積される。アクセス解析部１４は、差分情報５０Ｙの合計のデータサイズが所定のしきい値を超えた場合に、事前マージの実行を要求する。なお、差分情報５０Ｙの合計の個数が所定のしきい値を超えた場合に、事前マージの実行を要求してもよい。また、変更内容毎に異なるパラメータを事前に設定しておき、全ての差分情報５０Ｙに関して合計したパラメータ値が所定のしきい値を超えた場合に、事前マージの実行を要求してもよい。
【００８５】
あるいは、ファイル２０Ｙへのアクセス数（読み出しアクセス数及び／又は書き込みアクセス数）に関連する所定の条件を予め設定しておき、当該所定の条件を満たす場合に事前マージを実行してもよい。例えば、単位時間あたりのアクセス数、トータルのアクセス数、又は連続アクセス数等に関するしきい値を予め設定しておき、アクセス解析部１４は、アクセス数等がしきい値を超えた場合に事前マージの実行を要求する。なお、事前マージは、ファイル単位で行ってもよいし、ファイル内の領域単位で行ってもよい。例えば、ファイル２０Ｙ内の特定領域にアクセスが集中し、その特定領域についてはアクセス数に関する上記所定の条件が満たされ、他の領域については条件が満たされない場合には、その特定領域のみを対象として事前マージ（つまり部分的な事前マージ）を実行してもよい。
【００８６】
あるいは、ファイル２０Ｙへのアクセス所要時間（読み出しアクセス所要時間及び／又は書き込みアクセス所要時間）に関連する所定の条件を予め設定しておき、当該所定の条件を満たす場合に事前マージを実行してもよい。例えば、アクセス所要時間に関するしきい値を予め設定しておき、アクセス解析部１４は、ファイル２０Ｙへのアクセス時間を実測することにより、アクセス所要時間の実測値がしきい値を超えた場合に事前マージの実行を要求する。なお、上記と同様に、事前マージは、ファイル単位で行ってもよいし、ファイル内の領域単位で行ってもよい。例えば、ファイル２０Ｙ内の特定領域のみに関してアクセス所要時間が大きくなり、その特定領域についてはアクセス所要時間に関する上記所定の条件が満たされ、他の領域については条件が満たされない場合には、その特定領域のみを対象として事前マージ（つまり部分的な事前マージ）を実行してもよい。
【００８７】
また、事前マージの実行に起因するユーザビリティの低下を防止すべく、事前マージは、システムの空き時間に行うことが望ましい。例えば、ユーザ操作が一定時間以上継続して行われていない期間、記憶媒体４へのアクセスが一定時間以上継続して行われていない期間、ファイルアクセスが一定時間以上継続して行われていない期間、又はシャットダウン処理の実行期間に、事前マージを行うことが望ましい。アクセス解析部１４は、このような所定の空き時間に、事前マージの実行を要求する。
【００８８】
以下、事前マージのシーケンスについて詳細に説明する。要求処理部１１は、ファイル２０Ｙの事前マージを実行する内容の要求を、アクセス解析部１４から取得する。
【００８９】
次にファイル処理部１２は、図９の（Ａ）に例示するように、元のファイル本体４０Ｘを記憶媒体４上でコピーすることによって新たなファイル本体４０Ｘを作成する。
【００９０】
次にファイル情報管理部１３は、図９の（Ｂ）に例示するように、ファイル名３０Ｙと元のファイル本体４０Ｘとの関連付けを削除する。
【００９１】
次にファイル処理部１２は、図９の（Ｃ）に例示するように、新たなファイル本体４０Ｘを記憶媒体４からワークメモリ２上に読み出すとともに、差分情報５０Ｙをワークメモリ２上に読み出す。そして、ワークメモリ２上で両者をマージすることによってファイル２０Ｙのファイル本体４０Ｙを作成し、作成したファイル本体４０Ｙを記憶媒体４に書き込む。つまり、新たなファイル本体４０Ｘをファイル本体４０Ｙによって上書きする。また、ファイル情報管理部１３は、ファイル名３０Ｙとファイル本体４０Ｙとを関連付けて管理する。なお、事前マージによって差分情報５０Ｙは削除される。
【００９２】
なお、ファイル本体４０Ｘのデータサイズに対してワークメモリ２の記憶容量が十分である場合には、新たなファイル本体４０Ｘを作成して記憶媒体４に書き込む処理（図９の（Ａ））を省略することもできる。この場合、ファイル処理部１２は、元のファイル本体４０Ｘを記憶媒体４からワークメモリ２上に読み出すとともに、差分情報５０Ｙをワークメモリ２上に読み出す。そして、ワークメモリ２上で両者をマージすることによってファイル２０Ｙのファイル本体４０Ｙを作成し、作成したファイル本体４０Ｙを記憶媒体４に書き込む。
【００９３】
図１０は、事前マージに伴う差分情報の更新処理のシーケンスを示す図である。図１０の（Ａ）に例示するように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられているものとする。
【００９４】
この状況で、ファイル処理部１２が差分情報５０Ｘとファイル本体４０Ｘとをマージすることによって、ファイル本体４０Ｘがファイル本体４０Ｘ１に更新された場合には、ファイル情報管理部１３は、図１０の（Ｂ）に例示するように、ファイル本体４０Ｘの更新内容に応じて差分情報５０Ｙを差分情報５０Ｙ１に更新する。つまり、ファイル情報管理部１３は、ファイル本体４０Ｘ１と差分情報５０Ｙ１とをマージすることによってファイル本体４０Ｙ（つまりファイル本体４０Ｘと差分情報５０Ｙとをマージしたもの）が正しく再現されるよう、差分情報５０Ｙを差分情報５０Ｙ１に更新する。なお、差分情報５０Ｘとファイル本体４０Ｘとのマージが完了した後、差分情報５０Ｘは削除される。
【００９５】
なお、ファイル本体４０Ｘのサイズが小さく、記憶媒体４の記憶容量の消費が特に問題とならない場合には、更新前のファイル本体４０Ｘをコピーすることによって新たなファイル本体４０Ｘを作成し、その新たなファイル本体４０Ｘと差分情報５０Ｙとをファイル名３０Ｙに関連付けて管理してもよい。
【００９６】
差分情報５０Ｙ１の作成手法の第１の例として、ファイル情報管理部１３は、更新前の差分情報５０Ｙと更新前のファイル本体４０Ｘとをマージすることによってファイル本体４０Ｙを作成し、作成したファイル本体４０Ｙと更新後のファイル本体４０Ｘ１との差分に基づいて、更新後の差分情報５０Ｙ１を作成する。つまり、ファイル本体４０Ｙを再現し、ファイル本体４０Ｙとファイル本体４０Ｘ１とを比較することにより、両者の差分箇所を示す差分情報５０Ｙ１を作成する。なお、差分情報５０Ｙ１の作成が完了した後、ファイル本体４０Ｙは削除される。
【００９７】
差分情報５０Ｙ１の作成手法の第２の例として、ファイル情報管理部１３は、差分情報５０Ｘと更新前の差分情報５０Ｙとに基づいて、更新後の差分情報５０Ｙ１を作成する。つまり、ファイル本体４０Ｙとファイル本体４０Ｘ１との比較を行うのではなく、更新前の差分情報５０Ｙに、差分情報５０Ｘの逆特性を示す差分情報（差分情報５０Ｘの適用による影響をキャンセルするための差分情報）を加えることによって、更新後の差分情報５０Ｙ１を作成する。
【００９８】
図１１は、事前マージに伴う差分情報の更新処理のシーケンスを示す図である。図１１の（Ａ）に例示するように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられているものとする。
【００９９】
この状況で、ファイル処理部１２が差分情報５０Ｙとファイル本体４０Ｘとをマージすることによって、ファイル本体４０Ｘがファイル本体４０Ｘ２に更新された場合には、ファイル情報管理部１３は、図１１の（Ｂ）に例示するように、ファイル本体４０Ｘの更新内容に応じて差分情報５０Ｘを差分情報５０Ｘ１に更新する。つまり、情報管理部１３は、ファイル本体４０Ｘ２と差分情報５０Ｘ１とをマージすることによって、ファイル本体４０Ｘと差分情報５０Ｘとをマージしたものが正しく再現されるよう、差分情報５０Ｘを差分情報５０Ｘ１に更新する。差分情報５０Ｘ１の作成手法は、上記と同様である。なお、差分情報５０Ｙとファイル本体４０Ｘとのマージが完了した後、差分情報５０Ｙは削除される。
【０１００】
図１２は、部分的な事前マージ及びそれに伴う差分情報の更新処理の第１の例を示す図である。図１２の（Ａ）に例示するように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている状況を想定する。この状況で、要求処理部１１が、ファイル２０Ｙの部分的な事前マージを実行する内容の要求を、アクセス解析部１４から取得したものとする。
【０１０１】
まずファイル処理部１２は、図１２の（Ｂ）に例示するように、部分的な事前マージの実行対象である差分情報５０Ｙの一部（以下「差分情報５０Ｙ１」と称す）と、ファイル本体４０Ｘとをマージすることによって、ファイル本体４０Ｘをファイル本体４０Ｘ１に更新する。
【０１０２】
次にファイル情報管理部１３は、ファイル本体４０Ｘの更新内容に応じて差分情報５０Ｘを差分情報５０Ｘ１に更新する。つまり、ファイル情報管理部１３は、ファイル本体４０Ｘ１と差分情報５０Ｘ１とをマージすることによって、ファイル本体４０Ｘと差分情報５０Ｘとをマージしたものが正しく再現されるよう、差分情報５０Ｘを差分情報５０Ｘ１に更新する。また、ファイル情報管理部１３は、差分情報５０Ｙから差分情報５０Ｙ１を除いた差分情報５０Ｙ２を作成し、差分情報５０Ｙを差分情報５０Ｙ２に更新する。
【０１０３】
図１３は、部分的な事前マージ及びそれに伴う差分情報の更新処理の第２の例を示す図である。図１２の（Ａ）に例示したように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている状況を想定する。この状況で、要求処理部１１が、ファイル２０Ｙの部分的な事前マージを実行する内容の要求を、アクセス解析部１４から取得したものとする。
【０１０４】
まずファイル処理部１２は、図１３の（Ａ）に例示するように、元のファイル本体４０Ｘを記憶媒体４上でコピーすることによって新たなファイル本体４０Ｘを作成する。次にファイル情報管理部１３は、ファイル名３０Ｙと元のファイル本体４０Ｘとの関連付けを削除する。
【０１０５】
次にファイル処理部１２は、図１３の（Ｂ）に例示するように、部分的な事前マージの実行対象である差分情報５０Ｙ１と、新たなファイル本体４０Ｘとをマージすることによって、新たなファイル本体４０Ｘをファイル本体４０Ｘ１に更新する。
【０１０６】
次にファイル情報管理部１３は、差分情報５０Ｙから差分情報５０Ｙ１を除いた差分情報５０Ｙ２を作成し、差分情報５０Ｙを差分情報５０Ｙ２に更新する。
【０１０７】
図１４は、部分的な事前マージ及びそれに伴う差分情報の更新処理の第３の例を示す図である。図１２の（Ａ）に例示したように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている状況を想定する。この状況で、要求処理部１１が、ファイル２０Ｘを削除する内容の要求を上位層から取得するとともに、ファイル２０Ｙの部分的な事前マージを実行する内容の要求をアクセス解析部１４から取得したものとする。
【０１０８】
まずファイル情報管理部１３は、図１４の（Ａ）に例示するように、ファイル２０Ｘのファイル名３０Ｘ及び差分情報５０Ｘを管理対象から削除する。
【０１０９】
次にファイル処理部１２は、図１４の（Ｂ）に例示するように、部分的な事前マージの実行対象である差分情報５０Ｙ１と、ファイル本体４０Ｘとをマージすることによって、ファイル本体４０Ｘをファイル本体４０Ｘ１に更新する。
【０１１０】
次にファイル情報管理部１３は、差分情報５０Ｙから差分情報５０Ｙ１を除いた差分情報５０Ｙ２を作成し、差分情報５０Ｙを差分情報５０Ｙ２に更新する。
【０１１１】
図１５は、部分的な事前マージ及びそれに伴う差分情報の更新処理の第４の例を示す図である。図１２の（Ａ）に例示したように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている状況を想定する。この状況で、要求処理部１１が、ファイル２０Ｙの部分的な事前マージを実行する内容の要求を、アクセス解析部１４から取得したものとする。
【０１１２】
まずファイル処理部１２は、図１５に例示するように、部分的な事前マージの実行対象である差分情報５０Ｙ１と、ファイル本体４０Ｘの対応領域とをマージすることによって、部分マージ領域の本体データ６０Ｙを作成する。図１５の例において、本体データ６０Ｙは、差分情報５０Ｙとは別の領域（メモリ３内又は記憶媒体４内）に記憶される。次にファイル情報管理部１３は、本体データ６０Ｙをファイル名３０Ｙに関連付けて管理する。
【０１１３】
なお、ファイル２０Ｙの読み出し処理において、読み出し対象である所定領域が部分マージ領域に対応している場合には、ファイル処理部１２は、差分情報５０Ｙとは別に記憶されている当該所定領域に対応する本体データ６０Ｙを、ファイル２０Ｙの当該所定領域のデータとして出力する。また、読み出し対象である所定領域が、部分マージ領域ではない変更領域に対応している場合には、ファイル処理部１２は、ファイル本体４０Ｘから当該所定領域に相当するデータを読み出し、そのデータと差分情報５０Ｙに含まれているデータとをマージする。そして、マージによって作成したデータを、ファイル２０Ｙの当該所定領域のデータとして出力する。
【０１１４】
また、ファイル２０Ｙをコピーする場合には、差分情報５０Ｙとともに本体データ６０Ｙもコピーされる。また、ファイル２０Ｙを削除する場合には、ファイル名３０Ｙとともに差分情報５０Ｙ及び本体データ６０Ｙも削除される。
【０１１５】
なお、図１６の変形例に示すように、ファイル情報管理部１３は、差分情報５０Ｙから差分情報５０Ｙ１を除いた差分情報５０Ｙ２を作成し、差分情報５０Ｙを差分情報５０Ｙ２に更新してもよい。この変形例において、読み出し対象である所定領域が、部分マージ領域ではない変更領域に対応している場合には、ファイル処理部１２は、ファイル本体４０Ｘから当該所定領域に相当するデータを読み出し、そのデータと差分情報５０Ｙ２に含まれているデータとをマージする。そして、マージによって作成したデータを、ファイル２０Ｙの当該所定領域のデータとして出力する。
【０１１６】
図１７は、部分的な事前マージ及びそれに伴う差分情報の更新処理の第５の例を示す図である。図１２の（Ａ）に例示したように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている状況を想定する。この状況で、要求処理部１１が、ファイル２０Ｙの部分的な事前マージを実行する内容の要求を、アクセス解析部１４から取得したものとする。
【０１１７】
ファイル処理部１２は、図１７に例示するように、部分的な事前マージの実行対象である差分情報５０Ｙ１と、ファイル本体４０Ｘの対応領域とをマージすることによって、部分マージ領域の本体データ６０Ｙを作成する。図１７の例において、本体データ６０Ｙは、差分情報５０Ｙ内に含めて記憶される。
【０１１８】
なお、ファイル２０Ｙの読み出し処理において、読み出し対象である所定領域が部分マージ領域に対応している場合には、ファイル処理部１２は、差分情報５０Ｙに含まれている当該所定領域に対応する本体データ６０Ｙを、ファイル２０Ｙの当該所定領域のデータとして出力する。
【０１１９】
図１８は、部分的なファイル編集及びそれに伴う差分情報の更新処理の例を示す図である。図１２の（Ａ）に例示したように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている状況を想定する。この状況で、要求処理部１１が、ファイル２０Ｙの部分的な編集を実行する内容の要求を、上位層から取得したものとする。以下の例では、ファイル２０Ｙ内の特定領域のデータを、新たな本体データ７０Ｙに置換する内容の要求を取得したものとする。
【０１２０】
図１８に例示するように、本体データ７０Ｙは、差分情報５０Ｙ内に含めて記憶される。また、差分情報５０Ｙには、本体データ７０Ｙとともに、ファイル２０Ｙ内における本体データ７０Ｙの位置（例えばファイルの先頭からのアドレスのオフセット値）、及び本体データ７０Ｙのサイズ等に関する情報も記憶される。但し、図１５，１６に示したように、本体データ７０Ｙは、差分情報５０Ｙとは別の領域（メモリ３内又は記憶媒体４内）に記憶されてもよい。
【０１２１】
ファイル２０Ｙの読み出し処理において、読み出し対象である所定領域が当該特定領域に対応している場合には、ファイル処理部１２は、差分情報５０Ｙに含まれている当該所定領域に対応する本体データ７０Ｙを、ファイル２０Ｙの当該所定領域のデータとして出力する。
【０１２２】
＜ファイルの削除＞
図１９は、ファイルの削除処理のシーケンスを示す図である。図１９の（Ａ）に例示するように、ファイル名３０Ｘにファイル本体４０Ｘが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘと差分情報５０Ｙとが関連付けられている。
【０１２３】
この状況で、要求処理部１１が、ファイル２０Ｙを削除する内容の要求を上位層から取得したものとする。この場合、ファイル情報管理部１３は、図１９の（Ｂ）に例示するように、ファイル２０Ｙのファイル名３０Ｙを管理対象から削除する。これにより、ファイル名３０Ｙとファイル本体４０Ｘとの関連付けが削除される。また、削除対象のファイル名３０Ｙに差分情報５０Ｙが関連付けられている場合には、ファイル情報管理部１３は、ファイル名３０Ｙとともに差分情報５０Ｙを管理対象から削除する。
【０１２４】
図２０は、ファイルの削除処理のシーケンスを示す図である。図２０の（Ａ）に例示するように、ファイル名３０Ｘにファイル本体４０Ｘと差分情報５０Ｘとが関連付けられており、ファイル名３０Ｙにファイル本体４０Ｘが関連付けられている。
【０１２５】
この状況で、要求処理部１１が、ファイル２０Ｘを削除する内容の要求を上位層から取得したものとする。この場合、ファイル情報管理部１３は、図２０の（Ｂ）に例示するように、ファイル２０Ｘのファイル名３０Ｘを管理対象から削除する。これにより、ファイル名３０Ｘとファイル本体４０Ｘとの関連付けが削除される。また、削除対象のファイル名３０Ｘに差分情報５０Ｘが関連付けられている場合には、ファイル情報管理部１３は、ファイル名３０Ｘとともに差分情報５０Ｘを管理対象から削除する。
【０１２６】
なお、ファイル名及び差分情報の削除処理においては、記憶領域を初期化することによってデータ自体を消去してもよく、あるいは、データ自体は消去せずに、削除状態を示すフラグを削除対象のデータに付加してもよい。
【０１２７】
また、ファイル本体に一つのファイル名のみが関連付けられている場合（つまりファイル名とファイル本体とが一対一で関連付けられている場合）には、ファイル名（及び差分情報）とともにファイル本体を削除してもよい。
【０１２８】
＜まとめ＞
本実施の形態に係るファイルシステム１によれば、記憶媒体４に記憶されている第１のファイル（ファイル２０Ｘ）をコピーして第２のファイル（ファイル２０Ｙ）を作成する内容の要求を要求処理部１１が取得した場合、ファイル情報管理部１３は、第２のファイルのファイル識別情報（ファイル名３０Ｙ）と第１のファイルのファイル本体（ファイル本体４０Ｘ）とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第２のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮できるとともに、ファイルのコピーに伴う記憶容量の消費を抑制できる。しかも、第２のファイルを変更する内容の要求を要求処理部１１が取得した場合、ファイル情報管理部１３は、第１のファイルのファイル本体と変更後の第２のファイルのファイル本体との差分を示す第１の差分情報（差分情報５０Ｙ）を作成し、第１の差分情報と第２のファイルのファイル識別情報とを関連付けて管理する。従って、コピー先のファイルである第２のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
【０１２９】
また、本実施の形態に係るファイルシステム１によれば、第１のファイルを変更する内容の要求を要求処理部１１が取得した場合、ファイル情報管理部１３は、変更前の第１のファイルのファイル本体と変更後の第１のファイルのファイル本体との差分を示す第２の差分情報（差分情報５０Ｘ）を作成し、第２の差分情報と第１のファイルのファイル識別情報とを関連付けて管理する。従って、コピー元のファイルである第１のファイルの内容が変更された場合であっても、その変更内容を簡易かつ確実に管理することが可能となる。
【０１３０】
また、本実施の形態に係るファイルシステム１によれば、変更後の第２のファイルをコピーして第３のファイル（ファイル２０Ｚ）を作成する内容の要求を要求処理部１１が取得した場合、ファイル情報管理部１３は、第３のファイルのファイル識別情報（ファイル名３０Ｚ）と第１のファイルのファイル本体とを関連付けて管理し、第１の差分情報をコピーして第３の差分情報（差分情報５０Ｚ）を作成し、第３の差分情報と第３のファイルのファイル識別情報とを関連付けて管理する。従って、第１のファイルのファイル本体をコピーして第３のファイルのファイル本体を作成する必要がないため、ファイルのコピーに要する所要時間を短縮でき、また、ファイルのコピーに伴う記憶容量の消費を抑制できる。
【０１３１】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、所定領域が差分箇所（変更領域Ｒ２）に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力する。一方、当該所定領域が当該差分箇所に対応している場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出し、そのデータと第１の差分情報とをマージすることによって作成したデータを、第２のファイルの当該所定領域のデータとして出力する。これにより、第２のファイルの所定領域のデータを適切に出力することが可能となる。
【０１３２】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、所定領域が差分箇所（変更領域Ｒ２）に対応していない場合には、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出して、そのデータを第２のファイルの当該所定領域のデータとして出力する。一方、当該所定領域が当該差分箇所に対応している場合には、第１の差分情報に含まれている当該所定領域に対応するデータ、あるいは第１の差分情報とは別に記憶されている当該所定領域に対応するデータを、第２のファイルの当該所定領域のデータとして出力する。これにより、第２のファイルの所定領域のデータを適切に出力することが可能となる。しかも、当該所定領域に対応するデータは、第１の差分情報に含まれており、あるいは第１の差分情報とは別に記憶されている。そのため、当該所定領域のデータを読み出す際に、第１のファイルのファイル本体から当該所定領域に相当するデータを読み出す処理や、そのデータと第１の差分情報とをマージする処理は不要となる。従って、当該所定領域のデータを高速に読み出すことが可能となる。
【０１３３】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、第１のファイルのファイル本体と第１の差分情報とをマージすることによって第２のファイルのファイル本体（ファイル本体４０Ｙ）を作成して記憶媒体４に記憶する。従って、以降の第２のファイルの読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とをマージする処理が不要となるため、読み出しの所要時間を短縮することが可能となる。
【０１３４】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、第１のファイルのファイル本体と第１の差分情報とをマージする処理を、所定の空き時間に実行する。従って、マージの処理が完了するまで他のファイルアクセスが待たされるという事態を回避できるため、ユーザビリティを向上することが可能となる。
【０１３５】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、第１のファイルのファイル本体を記憶媒体４上でコピーすることによって新たなファイル本体を作成し、その新たなファイル本体を記憶媒体３からメモリ（ワークメモリ２）上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体４に書き込む。従って、コピーによって新たなファイル本体を早期に作成でき、第２のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを早期に削除できるため、第１のファイルの変更を早期に開始することが可能となる。また、順に適用すべき複数の第１の差分情報が存在する場合には、コピーによって作成した新たなファイル本体に対して複数の第１の差分情報を順に適用することにより、第２のファイルのファイル本体を簡易かつ確実に作成することが可能となる。
【０１３６】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、第１のファイルのファイル本体を記憶媒体４からメモリ上に読み出すとともに第１の差分情報をメモリ上に読み出し、メモリ上で両者をマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体を記憶媒体４に書き込む。従って、第１のファイルのファイル本体を記憶媒体４上でコピーすることによって新たなファイル本体を作成するという処理が不要となるため、第２のファイルのファイル本体の作成に要する所要時間を短縮することが可能となる。
【０１３７】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、第２のファイルへのアクセス数に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、単位時間あたりのアクセス数、トータルのアクセス数、又は連続アクセス数等に関する条件を予め設定しておくことにより、第２のファイルへのアクセス頻度が高い場合等には、第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、第２のファイルのファイル本体を作成することができる。その結果、以降の第２のファイルの読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【０１３８】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、第２のファイルへのアクセス所要時間に関連して予め設定された所定の条件を満たす場合に、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、第１のファイルのファイル本体と第１の差分情報とのマージに要する所要時間が長い場合等には、第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、第２のファイルのファイル本体を作成することができる。その結果、以降の第２のファイルの読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【０１３９】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、アクセス数に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、単位時間あたりのアクセス数、トータルのアクセス数、又は連続アクセス数等に関する条件を予め設定しておくことにより、アクセス頻度が高い特定領域が第２のファイルに含まれている場合等に、当該特定領域を対象として第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、当該特定領域に対応する第２のファイルのファイル本体を作成することができる。その結果、以降の特定領域の読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【０１４０】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２は、アクセス所要時間に関連して予め設定された所定の条件を満たす特定領域が第２のファイルに含まれている場合に、当該特定領域を対象として、第１のファイルのファイル本体と第１の差分情報とをマージする処理を実行する。従って、第１のファイルのファイル本体と第１の差分情報とのマージに要する所要時間が長い特定領域が第２のファイルに含まれている場合等には、当該特定領域を対象として第１のファイルのファイル本体と第１の差分情報とのマージを空き時間等に実行することによって、当該特定領域に対応する第２のファイルのファイル本体を作成することができる。その結果、以降の特定領域の読み出し要求に対しては、第２のファイルのファイル本体から目的のデータを読み出せば足り、第１のファイルのファイル本体と第１の差分情報とを毎回マージする必要がないため、読み出しの所要時間を短縮することが可能となる。
【０１４１】
また、本実施の形態に係るファイルシステム１によれば、第１のファイルを削除する内容の要求を要求処理部１１が取得した場合には、ファイル情報管理部１３は、第１のファイルのファイル識別情報を削除する。これにより、第２のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを維持したまま第１のファイルを適切に削除することが可能となる。
【０１４２】
また、本実施の形態に係るファイルシステム１によれば、第１のファイルのファイル識別情報に差分情報が関連付けられている場合には、ファイル情報管理部１３は、第１のファイルのファイル識別情報とともに当該差分情報を削除する。これにより、当該差分情報と第１のファイルのファイル本体との関連付けを適切に削除することが可能となる。
【０１４３】
また、本実施の形態に係るファイルシステム１によれば、第２のファイルを削除する内容の要求を要求処理部１１が取得した場合には、ファイル情報管理部１３は、第２のファイルのファイル識別情報を削除する。これにより、第１のファイルのファイル識別情報と第１のファイルのファイル本体との関連付けを維持したまま第２のファイルを適切に削除することが可能となる。
【０１４４】
また、本実施の形態に係るファイルシステム１によれば、第２のファイルのファイル識別情報に差分情報が関連付けられている場合には、ファイル情報管理部１３は、第２のファイルのファイル識別情報とともに当該差分情報を削除する。これにより、当該差分情報と第１のファイルのファイル本体との関連付けを適切に削除することが可能となる。
【０１４５】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２が第２の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部１３は、当該ファイル本体の更新内容に応じて第１の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体４上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第２のファイルを読み出す際には、更新後の第１の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第２のファイルを適切に作成することが可能となる。
【０１４６】
また、本実施の形態に係るファイルシステム１によれば、ファイル情報管理部１３は、更新前の第１の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第２のファイルのファイル本体を作成し、作成した第２のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第１の差分情報を作成する。これにより、順に適用すべき複数の第１の差分情報が存在する場合であっても、更新後の第１の差分情報は一つに集約されるため、以降の第２のファイルの読み出し要求に対して、読み出しの所要時間を短縮することが可能となる。
【０１４７】
また、本実施の形態に係るファイルシステム１によれば、ファイル情報管理部１３は、第２の差分情報と更新前の第１の差分情報とに基づいて、更新後の第１の差分情報を作成する。差分情報のデータ量はファイル本体のデータ量より小さいのが通常であるため、いずれもデータ量の小さい第２の差分情報と更新前の第１の差分情報とに基づいて更新後の第１の差分情報を作成することにより、その作成に要する所要時間を短縮することが可能となる。
【０１４８】
また、本実施の形態に係るファイルシステム１によれば、ファイル処理部１２が第１の差分情報と第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体が更新された場合には、ファイル情報管理部１３は、当該ファイル本体の更新内容に応じて第２の差分情報を更新する。これにより、更新前の第１のファイルのファイル本体をコピーすることによって新たなファイル本体を記憶媒体４上に作成する場合と比較すると、記憶容量の消費を抑制することが可能となる。また、第１のファイルを読み出す際には、更新後の第２の差分情報と更新後の第１のファイルのファイル本体とをマージすることによって、第１のファイルを適切に作成することが可能となる。
【０１４９】
また、本実施の形態に係るファイルシステム１によれば、ファイル情報管理部１３は、更新前の第２の差分情報と更新前の第１のファイルのファイル本体とをマージすることによって第１のファイルのファイル本体を作成し、作成した第１のファイルのファイル本体と更新後の第１のファイルのファイル本体との差分に基づいて、更新後の第２の差分情報を作成する。これにより、順に適用すべき複数の第２の差分情報が存在する場合であっても、更新後の第２の差分情報は一つに集約されるため、以降の第１のファイルの読み出し要求に対して、読み出しの所要時間を短縮することが可能となる。
【０１５０】
また、本実施の形態に係るファイルシステム１によれば、ファイル情報管理部１３は、第１の差分情報と更新前の第２の差分情報とに基づいて、更新後の第２の差分情報を作成する。差分情報のデータ量はファイル本体のデータ量より小さいのが通常であるため、いずれもデータ量の小さい第１の差分情報と更新前の第２の差分情報とに基づいて更新後の第２の差分情報を作成することにより、その作成に要する所要時間を短縮することが可能となる。
【符号の説明】
【０１５１】
１  ファイルシステム
２  ワークメモリ
４  記憶媒体
５  プログラム
１１  要求処理部
１２  ファイル処理部
１３  ファイル情報管理部
１４  アクセス解析部
１００  情報処理装置
３００  半導体メモリ
【図１】
0005818569.tif 000002
【図２】
0005818569.tif 000003
【図３】
0005818569.tif 000004
【図４】
0005818569.tif 000005
【図５】
0005818569.tif 000006
【図６】
0005818569.tif 000007
【図７】
0005818569.tif 000008
【図８】
0005818569.tif 000009
【図９】
0005818569.tif 000010
【図１０】
0005818569.tif 000011
【図１１】
0005818569.tif 000012
【図１２】
0005818569.tif 000013
【図１３】
0005818569.tif 000014
【図１４】
0005818569.tif 000015
【図１５】
0005818569.tif 000016
【図１６】
0005818569.tif 000017
【図１７】
0005818569.tif 000018
【図１８】
0005818569.tif 000019
【図１９】
0005818569.tif 000020
【図２０】
0005818569.tif 000021