(57)【要約】【課題】外部から改ざんされることのないファイルシステムレベルで履歴管理ができる。【解決手段】ファイルシステム２３は、管理情報部２７とデータ部２６から構成されるファイル２５を磁気ディスク装置１５に記録し、管理情報部２７とデータ部２６から構成されるファイル２５の記録をする際に、必要に応じてデータ部２６に関する管理情報部２７以外の情報を記録する拡張管理情報部２８を追加するものである。【選択図】図２
2007128448.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからのファイルアクセス要求に従い、記録装置内に記録するファイルを管理するオペレーティングシステム内に構成されたファイルシステムであって、
管理情報部とデータ部から構成されるファイルを記録装置に記録する第１の記録手段と、
上記第１の記録手段により上記管理情報部と上記データ部から構成される上記ファイルの記録をする際に、必要に応じて上記データ部に関する上記管理情報部以外の情報を記録する拡張管理情報部を追加する第２の記録手段と
を備えたことを特徴とするファイルシステム。
【請求項２】
上記拡張管理情報部に記録される情報は、上記データ部の更新の際の履歴情報であることを特徴とする請求項１に記載のファイルシステム。
【請求項３】
上記拡張管理情報部に記録される上記履歴情報は、ファイルシステムのみが参照可能であることを特徴とする請求項２に記載のファイルシステム。
【請求項４】
アプリケーションからのファイルアクセス要求に従い、オペレーティングシステム内に構成されたファイルシステムから記録装置内に記録するファイルを管理するファイル情報処理方法であって、
ファイルが新規作成されたら、一定時間後に上記ファイルのデータのコピーデータを上記ファイルの管理情報と共に作成し、上記ファイルの拡張属性に上記コピーデータの管理情報を履歴情報として記録する第１の処理と、
当該ファイルが上書きされるとき、上記ファイルの現在の拡張属性の履歴情報を残したまま新しいファイルのデータと拡張属性の履歴情報を更新する第２の処理と、
上記新しいファイルのデータのコピーデータを上記新しいファイルの管理情報と共に作成し、上記新しいファイルの拡張属性に上記コピーデータの履歴情報を記録する第３の処理と、
上記ファイルの拡張情報及び上記新しいファイルの拡張属性から、更新された履歴情報を参照する第４の処理と、
上記更新された履歴情報から過去のファイルのデータを復元又はコピーすることができ、上記データを復元した場合は復元された上記データが最新のファイルのデータとなる第５の処理と、
を含むことを特徴とするファイル情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、アプリケーションからのファイルアクセス要求に従い、記録装置内に記録するファイルを管理するファイルシステム及びファイル情報処理方法に関する。
【背景技術】
【０００２】
従来、例えば、磁気ディスク記憶装置のコンパクト化と同時に再書き込みの高性能化を図るために、磁気ディスク ファイルに一時記憶（テンポラリ−メモリ−）領域を設け、記録時には、キャッシュメモリ−と同時にこのテンポラリ−メモリ−にデ−タを記録し、磁気ディスク ファイルへの再書き込みには、キャッシュメモリ−のデ−タを用い、停電等の非常時のみテンポラリ−メモリ−のデ−タを用いるキャッシュ付磁気ディスク ファイルシステムが提案されていた（特許文献１参照）。
【特許文献１】特開平５−２３３４４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のファイルシステムでは、ファイルを更新した場合、更新時間等の情報と共にデータ部も新しいデータが上書きされていた。このため、データの更新履歴を管理する場合、アプリケーション等を作成し管理することは可能であるが、ファイルシステムレベルで履歴管理ができるファイルシステムは存在しなかった。
【０００４】
ここで、アプリケーションによりデータの更新履歴を管理する場合には、容易に外部から改ざんされる恐れがあるという不都合があった。
そこで、本発明は、外部から改ざんされることのないファイルシステムレベルで履歴管理ができるファイルシステム及びファイル情報処理方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００５】
上記課題を解決し、本発明の目的を達成するため、本発明のファイルシステムは、管理情報部とデータ部から構成されるファイルを記録装置に記録する第１の記録手段と、第１の記録手段により管理情報部とデータ部から構成されるファイルの記録をする際に、必要に応じてデータ部に関する管理情報部以外の情報を記録する拡張管理情報部を追加する第２の記録手段とを備えたものである。
【０００６】
これにより、第１の記録手段は管理情報部とデータ部から構成されるファイルを記録装置に記録し、第２の記録手段は第１の記録手段により管理情報部とデータ部から構成されるファイルの記録をする際に、必要に応じてデータ部に関する管理情報部以外の情報を記録する拡張管理情報部を追加する。
【０００７】
また、本発明のファイル情報処理方法は、ファイルが新規作成されたら、一定時間後にファイルのデータのコピーデータをファイルの管理情報と共に作成し、ファイルの拡張属性にコピーデータの管理情報を履歴情報として記録する第１の処理と、ファイルが上書きされるとき、ファイルの現在の拡張属性の履歴情報を残したまま新しいファイルのデータと拡張属性の履歴情報を更新する第２の処理と、新しいファイルのデータのコピーデータを新しいファイルの管理情報と共に作成し、新しいファイルの拡張属性にコピーデータの履歴情報を記録する第３の処理と、ファイルの拡張情報及び新しいファイルの拡張属性から、更新された履歴情報を参照する第４の処理と、更新された履歴情報から過去のファイルのデータを復元又はコピーすることができ、データを復元した場合は復元されたデータが最新のファイルのデータとなる第５の処理と、を含むものである。
【０００８】
これにより、第１の処理によればファイルが新規作成されたら、一定時間後にファイルのデータのコピーデータをファイルの管理情報と共に作成し、ファイルの拡張属性にコピーデータの管理情報を履歴情報として記録し、第２の処理によればファイルが上書きされるとき、ファイルの現在の拡張属性の履歴情報を残したまま新しいファイルのデータと拡張属性の履歴情報を更新する。また、第３の処理によれば新しいファイルのデータのコピーデータを新しいファイルの管理情報と共に作成し、新しいファイルの拡張属性にコピーデータの履歴情報を記録する。さらに、第４の処理によればファイルの拡張情報及び新しいファイルの拡張属性から、更新された履歴情報を参照し、第５の処理によれば更新された履歴情報から過去のファイルのデータを復元又はコピーすることができ、データを復元した場合は復元されたデータが最新のファイルのデータとなる。
【０００９】
従って、従来のファイルシステムのように、ファイルの更新を行うたびに情報が上書きされることがなく、また、ファイルの更新履歴をアプリケーションで管理することなく、本発明では、ファイルの更新履歴、データの履歴をファイルシステムレベルで管理することにより、ファイルシステムのみがファイルの更新履歴及びデータの履歴を認識することができるので、これらのデータが改ざんされることがなく、また、ユーザが必要に応じてファイルシステムを介してデータを参照することができる。
【発明の効果】
【００１０】
本発明によれば、ファイルの更新履歴、データの履歴をファイルシステムレベルで管理することができるので、外部から改ざんされることのないファイルシステムレベルで履歴管理ができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の実施の形態について、適宜、図面を参照しながら詳細に説明する。
図１は、記憶装置の構成例を示す図である。
図１において、記憶装置１１は、制御を司るＣＰＵ（Central Processing Unit）１２と、制御データ及び制御プログラムを記憶するメモリ１３と、ＳＣＳＩ（Small Computer System Interface）などのインターフェースを介して図示しないホストコンピュータからのデータ書き込み要求又はホストコンピュータへのデータ読み出し要求を処理する入出力チャネル１４と、データをファイル形式で保存する磁気ディスク装置１５と、ＣＰＵ１２と、メモリ１３と、入出力チャネル１４とを接続する内部バス１６とを有して構成されている。
【００１２】
このように構成された記憶装置１１は、以下のような動作をする。
ＣＰＵ１２は、メモリ１３に記憶されている制御プログラムを読み出して、読み出された制御プログラムを起動させる。起動された制御プログラムにより、ＣＰＵ１２は、メモリ１３に格納されている制御データを読み出して、ホストコンピュータからの要求を待つ。
【００１３】
図示しないホストコンピュータからのデータ書き込み要求があると、ＣＰＵ１２は、入出力チャネル１４に対してデータ書き込み処理のコマンド及び書き込みデータを供給する。ＣＰＵ１２からデータ書き込み処理のコマンド及び書き込みデータの供給があると、入出力チャネル１４は磁気ディスク装置１５に対して書き込みデータのデータ書き込み処理を実行する。これにより、磁気ディスク装置１５は書き込みデータをファイル形式で保存する。なお、入出力チャネル１４が磁気ディスク装置１５に対して書き込みデータのデータ書き込み処理の実行を開始した段階でＣＰＵ１２は、ホストコンピュータに対してデータ書き込み終了を通知する。これにより、高速データ書き込みを実現する。
【００１４】
また、ホストコンピュータへのデータ読み出し要求があると、ＣＰＵ１２は、入出力チャネル１４に対してデータ読み出し処理のコマンドを供給する。ＣＰＵ１２からデータ読み出し処理のコマンドの供給があると、入出力チャネル１４は磁気ディスク装置１５に対して読み出しデータのデータ読み出し処理を実行する。
【００１５】
これにより、磁気ディスク装置１５はファイル形式で保存されている読み出しデータを読み出す。入出力チャネル１４は磁気ディスク装置１５から読み出された読み出しデータをＣＰＵ１２に供給する。ＣＰＵ１２は、入出力チャネル１４から供給された読み出しデータをホストコンピュータへ供給する。なお、入出力チャネル１４が磁気ディスク装置１５に対する読み出しデータのデータ読み出し処理の実行を開始した段階でＣＰＵ１２は、ホストコンピュータに対してデータ読み出し終了を通知する。これにより、高速データ読み出しを実現する。
【００１６】
なお、ここでは記録装置１１の記録媒体として磁気ディスク装置１５を例として示しているが、これに限らず、データをファイル形式で保存することができるものであれば、他の光ディスクや磁気テープ、半導体メモリなどを用いてもよい。
【００１７】
図２は、ソフトウエア構成を示すブロック図である。
図２は、図１に示した記録装置１１で起動された制御プログラムにより実現されるソフトウエアの階層構成を示す図である。
上述した図１に示した各要素から構成された一般的なコンピュータ記憶装置１１において、一般的に下位の磁気ディスク装置１５にファイル２５を書く場合、図２のようにミドルウエアのオペレーティングシステム(ＯＳ（Operating System）)２２内に構成されたファイルシステム２３が下位の磁気ディスク装置１５内に記録するファイル２５を管理する。
【００１８】
例えば、データ書き込みのファイルアクセス２４の要求時には、上位のアプリケーション２１からのファイルアクセス２４の要求に従い、ミドルウエアのファイルシステム（のドライバ）２２は、管理情報部２７とデータ部２６から構成されるファイル２５を下位の磁気ディスク装置１５に記録する。
【００１９】
また、データ読み出しのファイルアクセス２４の要求時には、上位のアプリケーション２１からのファイルアクセス２４の要求に従い、ミドルウエアのファイルシステム（のドライバ）２２は、下位の磁気ディスク装置１５に保存されている管理情報部２７とデータ部２６から構成されるファイル２５からデータを読み出す。
【００２０】
ここで、ファイル２５には、必要に応じて拡張管理情報部２８が追加される。管理情報２７部に記録される管理情報の要素は、一般的にファイルのオーナー、グループ、パーミッション情報、時間情報（ｃｔｉｍｅ(管理情報更新時刻), ｍｔｉｍｅ(データ部更新時刻), ａｔｉｍｅ(アクセス時刻)）、ファイルサイズ、ブロックサイズ、データ部のポインタ情報などである。データ部２６にはファイル２５のデータ部分そのものが記録される。拡張管理情報部２８は、ファイルシステム２３によって違いがあるが、管理情報部２７で管理する以外の情報を記録することができる。
【００２１】
次に、図２に示すように構成されたソフトウエアの動作を説明する。
図３は、ファイル作成時の処理の流れを示すフローチャートである。
図３において、まず、アプリケーション２１がファイルを作成するためにシステムコールを出す（ステップＳ１）。具体的には、アプリケーション２１がファイル作成のためのシステムコールをオペレーティングシステム(ＯＳ)２２に供給する。
【００２２】
次に、オペレーティングシステム(ＯＳ)２２は、システムコールを解釈し、ファイルシステム２３に情報を送る（ステップＳ２）。具体的には、オペレーティングシステム(ＯＳ)２２は、アプリケーション２１から供給されたシステムコールがファイル作成のためのものであることを解釈により判断し、ファイル作成の処理情報をファイルシステム２３に供給する。
【００２３】
そこで、ファイルシステム２３は、磁気ディスク装置１５上に、要求されたファイル２５を記録するため、物理領域を決定する（ステップＳ３）。具体的には、ファイルシステム２３は、要求されたファイル２５の記録容量に対応する、磁気ディスク装置１５上のトラック及びセクタで指定される物理領域を割り当てる。
【００２４】
これにより、決定された物理領域に、管理情報部２７とデータ部２６を記録する。このとき、管理情報に必要なデータ以外の情報が記録される（ステップＳ４）。具体的には、ファイルシステム（のドライバ）２２は、磁気ディスク装置１５上に管理情報部２７とデータ部２６から構成されるファイル２５を記録する。このとき、ファイル２５には、必要に応じて拡張管理情報部２８が追加され、拡張管理情報部２８には、管理情報部２７で管理する以外の情報が記録される。
【００２５】
このようにして、ファイルシステム２３はオペレーティングシステム(ＯＳ)２２を介して、アプリケーション２１から得られるシステムコールを通じて、磁気ディスク装置１５上にファイル２５を作成する。図３で示した処理の流れのように、アプリケーション２１からの要求に従い、ファイルシステム２３は磁気ディスク装置１５上に書き込むべきファイル２５の管理情報部２７とデータ部２６を作成し記録する。
【００２６】
このとき、ファイル２５には、必要に応じて拡張管理情報部２８が追加される。そして、同一ファイル２５に対してアクセスがあった場合には、既存のファイル２５に対して必要な情報を上書きすることでファイル２５が更新される。
ここで、ファイル２５のデータ部２６の自動履歴保存をする場合に、拡張管理情報部２８に履歴情報を保存する例を説明する。
【００２７】
図４は、ファイルシステムによる自動履歴管理の処理の流れを示すフローチャートである。
図４において、まず、ファイルシステム２３は、決められた一定時間毎に各ファイルデータの作成・更新の有無を確認する（ステップＳ１１）。具体的には、ファイルシステム２３は、予め定められたサイクルタイム毎に磁気ディスク装置１５上にファイル２５のデータが作成又は更新を検出する。
【００２８】
次に、ファイルシステム２３は、データが作成又は更新されたファイル２５があるか否かを判断する（ステップＳ１２）。具体的には、ファイルシステム２３は、管理情報部２７が新たに作成又は更新されたファイル２５があるか否かを検出する。
【００２９】
そこで、ステップＳ１２の判断でデータが作成又は更新されたファイル２５があるときは、ファイルシステム２３は、データが作成又は更新されたファイル２５のデータ部２６のコピーを作成する（ステップＳ１３）。具体的には、ファイルシステム２３は、データが作成又は更新された時点毎に、データが作成又は更新されたデータ部２６のコピーを逐次作成して、作成又は更新のデータ内容の変化を区別可能に記録する。
【００３０】
そして、ファイルシステム２３は、拡張管理情報部２８に、コピーしたデータ部２６の物理情報と、その管理情報を保存する（ステップＳ１４）。具体的には、ファイルシステム２３は、拡張管理情報部２８に、コピーしたデータ部２６の記録容量、磁気ディスク装置１５上に割り当てられたトラック及びセクタで指定される物理領域などの物理情報と、そのコピー時点ごとのファイルのオーナー、グループ、パーミッション情報、時間情報（ｃｔｉｍｅ（管理情報更新時刻），ｍｔｉｍｅ（データ部更新時刻），ａｔｉｍｅ（アクセス時刻））、ファイルサイズ、ブロックサイズ、データ部のポインタ情報等の管理情報を履歴情報として保存する。
【００３１】
ステップＳ１４の処理の後、及びステップＳ１２の判断でデータが作成又は更新されたファイル２５がないときは、ステップＳ１１に戻って、ステップＳ１１〜ステップＳ１４の処理及び判断を繰り返す。
【００３２】
上述した図４の処理の流れのように、一定時間毎に各ファイルのデータが作成又は更新されたことを確認し、作成又は更新されたファイルが存在する場合、データ部２６のコピーが逐次作成されると共に、拡張管理情報部２８にデータ部２６の履歴情報が自動で保存される。
【００３３】
上述したデータ部の履歴保存方法は、データが作成又は更新される度にデータ部のコピーを磁気ディスク装置１５上又はメモリや磁気テープ又は光ディスク等の別記録媒体上に繰り返し保存し、ファイルの拡張管理情報部２８にコピーしたデータ部の物理位置情報とその管理情報の履歴情報を繰り返し保存する。
【００３４】
図５は、履歴管理されたファイルの管理状態を示す図である。
図５において、データが作成又は更新される度にデータ部２６のコピーであるデータ部（１）５１−１、データ部（２）５１−２、・・・データ部（ｎ）５１−ｎ、が作成される。そして、拡張管理情報部２８にデータ部２６のコピーであるデータ部（１）５１−１の履歴情報（１）５３−１、データ部（２）５１−２の履歴情報（２）５３−２、・・・データ部（ｎ）５１−ｎの履歴情報（ｎ）５３−ｎ、が自動で保存されている。
【００３５】
ここで、データ部２６には、現在のデータとしてデータ部（ｎ）５１−ｎと同じデータ５１が記録されていて、管理情報部２７には、データ部（ｎ）５１−ｎと同じデータ５１の現在の管理情報５２が記録される。
【００３６】
このような更新された履歴情報の保存を繰り返すことにより、ファイル２５の更新がｎ回発生した場合、図５に示すような保存状態になり、更新されるデータの履歴情報とデータそのものの履歴を共に保存することが可能になる。一定時間毎の更新の有無の判断はファイルの作成・更新後にはすぐに行うことにより、すべての履歴を保存することも可能となる。
【００３７】
一方、管理者の任意の設定により、更新の回数ｎ回を制限し、ｎ＋１回の履歴を自動消去することにより、制限されたｎ回の更新履歴を保存する仕組みも構築可能である。また、更新の回数に限らず、例えば、更新１年、３年などの時間設定による更新履歴を保存するようにしてもよい。
【００３８】
図６は、ファイルの更新履歴表示の処理の流れを示すフローチャートである。
図６において、まず、ファイルシステム２３は、ファイルの更新履歴を参照する（ステップＳ２１）。具体的には、ファイルシステム２３は、アプリケーション２１からの要求によりファイルの更新履歴を参照する処理を開始する。
【００３９】
次に、ファイルシステム２３は、与えられたファイル名から対象ファイルの拡張管理情報部２８を参照する（ステップＳ２２）。具体的には、ファイルシステム２３は、アプリケーション２１からの要求に対応するファイル名２５の拡張管理情報部２８を参照する。ここで、拡張管理情報部２８はファイルシステム２３のみが認識可能で、かつ参照可能なものである。
【００４０】
そして、ファイルシステム２３は、ファイルの更新履歴を各種時刻情報と共に出力する（ステップＳ２３）。具体的には、ファイルシステム２３は、参照対象のファイルの更新履歴を各種時刻情報と共に図示しない表示部に表示出力する。
これにより、ユーザはファイルの更新履歴を参照したいとき、アプリケーション２１からのファイルの更新履歴を参照する処理の要求を行うことにより、ファイルシステム２３を介して表示部に表示出力された更新履歴を参照することができる。
【００４１】
上述したファイルの更新履歴を参照する場合、図６に示す処理の流れのように、与えられたファイル名からファイルシステム２３は対象ファイルの拡張管理情報部２８を参照し、更新履歴を保持している各種情報（時間情報、ファイルサイズ等）と共に表示することができる。
【００４２】
図７は、過去履歴のファイルの復元又はコピーの処理の流れを示すフローチャートである。
図７において、まず、ファイルシステム２３は、過去履歴のデータ部を復元又はコピーする処理を開始する（ステップＳ３１）。具体的には、ファイルシステム２３は、与えられたファイル名から復元又はコピーする処理の対象ファイルの拡張管理情報部２８を参照する。
【００４３】
次に、ファイルシステム２３は、与えられた対象履歴番号のデータを復元又はコピーする（ステップＳ３２）。具体的には、ファイルシステム２３は、与えられた対象履歴番号のデータ部として、例えば、図５に示した履歴情報（１）５３−１のデータ部（１）５１−１、履歴情報（２）５３−２のデータ部（２）５１−２、・・・履歴情報（ｎ）５３−ｎのデータ部（ｎ）５１−ｎ、を復元又はコピーする。
【００４４】
そして、復元の場合、データ部が最新として上書きされるため、最新データ部として管理され、現在の情報となる。具体的には、ファイルシステム２３は、例えば、図５に示した現在の最新データとしてデータ部（ｎ）５１−ｎと同じデータ５１を上書きし、管理情報部２７には、データ部（ｎ）５１−ｎと同じデータ５１の現在の管理情報５２を記録する。
【００４５】
上述したファイルの更新履歴から特定の履歴データを復元又はコピーする場合、図７に示した処理の流れになる。特定の過去履歴のデータ部２６を復元又はコピーするために、そのデータ部に対応する拡張管理情報部２８の履歴番号等が指定される。対象となる履歴のデータ部２６を、コピーの場合与えられた新規ファイルとして、復元の場合同一ファイルの最新データ部２６として上書きすることで復元したデータ部２６が最新履歴のデータ部２６となる。
【００４６】
上述した本実施の形態により、ファイルシステムレベルでデータの更新履歴を保存することが可能になる。これにより、以下のようないくつかの使い方が、上位アプリケーションを開発しなくても実現可能になる。
【００４７】
例えば、ＣＡＤ（Computer Aided Design）分野などのデータを記録するサーバにおいて、バックアップ等を意図的に取得しなくても、自動で更新データの履歴が保存され、また容易に過去データの復元・コピーが可能になる。
【００４８】
また、データ改ざん防止が必要な場合に、ファイルの更新を自動で保存することにより、改ざん不可能なファイルシステムを構築可能になる。
さらに、過去履歴のデータを別ディスクや別記録媒体に保存することにより、複雑なバックアップや全データのバックアップを随時に取得せずに運用可能なシステムを構築できる。
【００４９】
上述した本実施の形態によれば、ファイルの更新を行う際に情報が上書きされることがなく、またファイルの更新履歴を改ざんされる可能性のあるアプリケーションで管理することなく、ファイルの更新履歴、データの履歴を改ざんされる可能性のないファイルシステムレベルで管理することができる、ユーザが必要に応じてファイルシステムを介して過去履歴ファイルを読み出すことができる。
上述した本実施の形態に限らず、本発明の要旨の範囲内であれば、適宜、その構成を変更しうることは言うまでもない。
【図面の簡単な説明】
【００５０】
【図１】記憶装置の構成例を示す図である。
【図２】ソフトウエア構成を示すブロック図である。
【図３】ファイル作成時の処理の流れを示すフローチャートである。
【図４】ファイルシステムによる自動履歴管理の処理の流れを示すフローチャートである。
【図５】履歴管理されたファイルの管理状態を示す図である。
【図６】ファイルの更新履歴表示の処理の流れを示すフローチャートである。
【図７】過去履歴のファイルの復元又はコピーの処理の流れを示すフローチャートである。
【符号の説明】
【００５１】
１１…記憶装置、１２…ＣＰＵ、１３…メモリ、１４…入出力チャネル、１５…磁気ディスク装置、２１…アプリケーション、２２…オペレーティングシステム(ＯＳ)、２３…ファイルシステム、２４…ファイルアクセス、２５…ファイル、２６…データ部、２７…管理情報部、２８…拡張管理情報部
【図１】
2007128448.tif 000003
【図２】
2007128448.tif 000004
【図３】
2007128448.tif 000005
【図４】
2007128448.tif 000006
【図５】
2007128448.tif 000007
【図６】
2007128448.tif 000008
【図７】
2007128448.tif 000009