JP2002082825A - ファイル管理方法 - Google Patents

ファイル管理方法

Info

Publication number
JP2002082825A
JP2002082825A JP2001170443A JP2001170443A JP2002082825A JP 2002082825 A JP2002082825 A JP 2002082825A JP 2001170443 A JP2001170443 A JP 2001170443A JP 2001170443 A JP2001170443 A JP 2001170443A JP 2002082825 A JP2002082825 A JP 2002082825A
Authority
JP
Japan
Prior art keywords
file
history
information
recording
recorded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001170443A
Other languages
English (en)
Inventor
Hirotoshi Iwano
裕利 岩野
Natsuko Ikeda
奈津子 池田
Motohide Nishimura
元秀 西村
Jiro Kiyama
次郎 木山
Hiroyuki Yamamura
博幸 山村
Takayoshi Yamaguchi
孝好 山口
Eiji Kitsuke
英士 木付
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2001170443A priority Critical patent/JP2002082825A/ja
Priority to KR1020027017476A priority patent/KR100546524B1/ko
Priority to US10/312,483 priority patent/US20030163449A1/en
Priority to CNB018144322A priority patent/CN1265293C/zh
Priority to EP01941155A priority patent/EP1306761B1/en
Priority to PCT/JP2001/005315 priority patent/WO2001098905A1/ja
Priority to DE60144424T priority patent/DE60144424D1/de
Publication of JP2002082825A publication Critical patent/JP2002082825A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Abstract

(57)【要約】 【課題】 ファイルシステムにおいて、管理領域と実デ
ータ領域を予め分離しておき、管理領域を2重化するこ
とでバックアップを行う場合、逆に管理領域及びバック
アップ用の管理領域を予め確保しておく必要があるた
め、管理領域の大きさから管理できる最大ファイル数の
制限がでてきてしまう。また、管理領域とデータ領域が
同じ領域に記録されていくようなファイルシステムにお
いて、管理領域という概念はないので、管理領域ごと2
重化するという手法は適用できない。 【解決手段】 前記記録媒体へのファイルの追加、変
更、削除のアクションが行われる毎に、当該ファイルの
ファイル識別子と当該ファイルの記録媒体上の記録位置
情報及びファイルのアクション種別を対応づけた履歴情
報を順次作成し、当該履歴情報を前記ファイル及び管理
情報の記録領域とは異なる履歴テーブル領域に履歴情報
の作成順に記録することで課題を解決する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記録媒体における
ファイルのバックアップ等に関するファイル管理方法に
関するものである。
【0002】
【従来の技術】PC用途やAV用途など様々な用途でデ
ィスク媒体にデータを記録する場合、論理ファイルシス
テムを用いる事が一般的である。論理ファイルシステム
を用いる事によって、記録したデータをファイルとして
管理し、ディレクトリ階層を構築する事が可能となり管
理が容易となる。論理ファイルシステムとしては、広く
普及しているFAT方式やDVDなどで導入されている
UDF(Universal Disk Forma
t)などが挙げられる。
【0003】論理ファイルシステムとは、ディスクに記
録されたデータに対してデータを識別するための情報
と、データが記録されたディスク上の位置情報などを管
理情報としてディスクに記録し、それらの情報にアクセ
スする事によってファイルアクセスを可能とする仕組み
の事である。例えば、論理ファイルシステムの管理情報
には、ファイル名、そのファイルに関する作成日時、フ
ァイルサイズ、状態を示す情報などの属性情報、対応す
る実データが記録されているディスク上の位置情報など
が記録されている。FATやUDFなどと言った様々な
種類の論理ファイルシステムが存在するが、これらの管
理情報の構成や管理する属性情報が異なるだけで、ファ
イル名あるいはそれに準ずる情報からディスク上の目的
のデータにアクセスができると言った意味では同じ目的
のためのものである。
【0004】このような論理ファイルシステムを用いた
ディスクを通常使用している場合には全く問題は無い
が、場合によってディスクに記録した情報が読み出せな
いと言った事が起こる可能性がある。例えば、何らかの
ショックによってディスク自体に傷が付いてしまった
り、書き込み中にショックが加わり本来書き込むべき箇
所でない所に書き込みを行ない記録内容を書き変えてし
まったり、リムーバブルディスクの場合はディスクの表
面に汚れが付着してしまったりする事によって発生する
事が考えられる。
【0005】ディスクに書き込む前に問題のある箇所が
発見できた場合には、ディスクの問題の箇所の代わりに
代替領域に記録するディフェクトマネジメント機能を利
用する事によって問題を回避できるが、情報を書いた後
に問題が発生すると、その情報をディスクから読み出せ
なくなってしまい問題がある。記録したデータ自体が読
みだせない事も問題であるが、前述した論理ファイルシ
ステムの管理情報がディスクから読みだせない事の方が
問題となる。仮にあるファイルにアクセスするための論
理ファイルシステムの管理情報が何らかの理由によって
読み出せないと、例えディスク上のデータに影響が無く
ても、対応するデータがディスクのどこに記録されてい
たかが不明となるため、データにアクセスできなくなっ
てしまう。
【0006】PC用途で使用しているディスクでは、こ
のような事が起こる可能性は稀である。これは、PC用
途のドライブが物理的に安定した環境で使用されている
ことが多いためである。一方、AV用途でリムーバブル
ディスクを記録媒体としたビデオカメラなどを考えた場
合、必ずしも物理的に安定した環境で使用されるとは限
らない。ビデオカメラなので手に持って撮影するが、走
りながらの撮影や、何かにぶつかったりとディスクにデ
ータを記録している最中にショックが加わる事も考えら
れる。このように、PC用途で使用する場合と比較して
苛酷な状況で使用される事が考えられ、前述したような
予期せねディスクからデータが読み出せないと言った状
況が発生する確率が高くなる。
【0007】このような、論理ファイルシステムの管理
情報が読み出せない事によって、データにアクセス出来
なくなってしまう問題を解決するためには、論理ファイ
ルシステムの管理情報を多重する事が考えられる。つま
り、ディスク上に論理ファイルシステムの管理情報を多
重する事によって、万が一ある管理情報が読み出せなく
なった場合でも多重化してあるバックアップの管理情報
を元に、データへのアクセスを可能とする事ができる。
【0008】図35にその様子を示す。このファイルシ
ステムでは、ファイルシステムの管理情報とデータを記
録する領域を区別し、それぞれがディスク上の対応する
領域に記録される。ファイルシステムの管理情報が実際
にはファイルが記録される領域とは別の所定の領域に記
録されるので、管理領域は必ずこの領域内に記録される
ことになる。よって、この管理情報記録領域と全く同じ
状態のバックアップ用の領域を用意する事によって管理
情報を多重する事が可能となる。
【0009】
【発明が解決しようとする課題】上記した図35に示す
ように、管理領域と実データ領域を予め分離しておき、
管理領域を2重化することでバックアップを行う場合、
逆に管理領域及びバックアップ用の管理領域を予め確保
しておく必要があるため、管理領域の大きさから管理で
きる最大ファイル数の制限がでてきてしまうという問題
がある。
【0010】また、上記したFATやUDFファイルシ
ステムは図34に示すように管理領域とデータ領域が同
じ領域に記録されていくことになる。このようなファイ
ルシステムにおいて、管理領域という概念はないので、
管理領域ごと2重化するという手法は適用できない。
【0011】また、ファイルシステムの管理情報はディ
レクトリ階層を構成するように管理されており、各管理
情報の間にはこのディレクトリ階層に従った結び付き
(ディスク上のアドレス位置でリンクされている)があ
るため、単純に管理情報を2重化することは容易ではな
い。例えば、ディレクトリを管理する管理情報にはその
ディレクトリ内に定義されるファイルやディレクトリを
管理する管理情報が記録されているアドレス位置が記述
されている。よって、これらの論理ファイルシステムの
管理情報を所定のバックアップ領域に単純にコピーする
という方法で多重化する場合、管理情報間の連結情報で
あるディスク上のアドレスを、バックアップ領域内に記
録する管理情報の記録位置に応じて変更しなければなら
ない。
【0012】このような構成であると、ファイルの作
成、変更、削除のタイミングで、実際の管理情報を更新
するとともに、バックアップの管理情報のアドレスの更
新処理を行う必要があり、バックアップ作成に多くの処
理が必要となってしまう。
【0013】本願は上記したような課題を解決するもの
であり、ファイルに関する作成、変更、削除、ディレク
トリに関する作成、削除などといったイベントが発生し
た場合、そのファイル或いはディレクトリの識別情報
と、当該ファイルのディスク上での位置あるいはディレ
クトリ情報を履歴情報として作成し、当該履歴情報を履
歴テーブル領域に記録することで、管理情報が正常に読
み出せない場合においても、容易にファイルを読み出す
ことを可能とし、また、バックアップ作成時に複雑な処
理を行う必要がない。
【0014】
【課題を解決するための手段】本願の第1の発明によれ
ば、入力されたデータをファイルとして記録媒体に記録
し、各ファイルを少なくとも該ファイルの記録媒体上に
おける記録位置情報を含む管理情報により管理する記録
装置におけるファイル管理方法であって、前記記録媒体
へのファイルの追加、変更、削除のアクションが行われ
る毎に、当該ファイルのファイル識別情報と当該ファイ
ルの記録媒体上の記録位置情報及びファイルのアクショ
ン種別を対応づけた履歴情報を順次作成し、当該履歴情
報を履歴テーブル領域に履歴情報の作成順に記録するこ
とにより上記課題を解決する。
【0015】本願の第2の発明によれば、入力されたデ
ータをファイルとして記録媒体に記録し、各ファイルを
少なくとも該ファイルの記録媒体上における記録位置情
報を含む管理情報により管理する記録装置におけるファ
イル管理方法であって、前記履歴情報を前記ファイル及
び管理情報の記録領域とは異なる履歴テーブル領域に履
歴情報の作成順に記録することにより上記課題を解決す
る。
【0016】本願の第3の発明によれば、入力されたデ
ータをファイルとして記録媒体に記録し、各ファイルを
少なくとも該ファイルの記録媒体上における記録位置情
報を含む管理情報により管理する記録装置におけるファ
イル管理方法であって、ファイルとして管理される、前
記履歴情報を記録する履歴テーブル領域に履歴情報の作
成順に記録することにより上記課題を解決する。
【0017】本願の第4の発明によれば、入力されたデ
ータをファイルとして記録媒体に記録し、各ファイルを
少なくとも該ファイルの記録媒体上における記録位置情
報を含む管理情報により管理する記録装置におけるファ
イル管理方法であって、前記記録媒体へのファイルの追
加、変更、削除のアクションが行われる毎に、前記履歴
テーブル領域に記録する前記ファイル識別情報として、
当該ファイルのファイル名あるいはファイルIDを含む
ことにより上記課題を解決する。
【0018】本願の第5の発明によれば、入力されたデ
ータをファイルとして記録媒体に記録し、各ファイルを
少なくとも該ファイルの記録媒体上における記録位置情
報を含む管理情報により管理する記録装置におけるファ
イル管理方法であって、前記記録媒体へのファイルの追
加、変更、削除のアクションが行われる毎に、前記履歴
テーブル領域に記録する前記ファイル識別情報として、
当該ファイルを管理する管理情報の記録媒体上の記録位
置情報を含むことにより上記課題を解決する。
【0019】本願の第6の発明によれば、入力されたデ
ータをファイルとして記録媒体に記録し、各ファイルを
少なくとも該ファイルの記録媒体上における記録位置情
報を含む管理情報により管理する記録装置におけるファ
イル管理方法であって、前記記録媒体へのファイルの追
加、変更、削除のアクションが行われる毎に、前記履歴
テーブル領域に記録する前記履歴情報として、当該ファ
イルを管理する管理情報の記録媒体上の記録位置情報を
含むことにより上記課題を解決する。
【0020】本願の第7の発明によれば、前記記録媒体
へのファイルの追加、変更、削除のアクションが行われ
る毎に、前記履歴情報を記録装置のメモリ上に順次作成
し、前記記録装置において、前記記録媒体の取り出し指
示が行われた場合、当該履歴情報を該記録媒体上の履歴
テーブル領域に記録することにより上記課題を解決す
る。
【0021】本願の第8の発明によれば、前記記録媒体
へのファイルの追加、変更、削除のアクションが行われ
る毎に、前記履歴情報を記録装置のメモリ上に順次作成
し、前記記録装置において、メモリへの電源供給切断指
示が行われた場合、当該履歴情報を該記録媒体上の履歴
テーブル領域に記録することにより上記課題を解決す
る。
【0022】本願の第9の発明によれば、履歴テーブル
の履歴確認指示に基づいて、前記履歴テーブル領域に記
録された履歴情報のうち、所定のファイル識別情報を有
する履歴情報のみを抽出することにより上記課題を解決
する。
【0023】本願の第10の発明によれば、履歴テーブ
ルの再構築指示に基づいて、前記履歴テーブル領域に記
録された履歴情報のうち、同一のファイル識別情報を有
する履歴情報を、当該履歴情報のアクション種別に応じ
て一つの履歴情報に統合し、履歴テーブル領域を縮小す
ることにより上記課題を解決する。
【0024】本願の第11の発明によれば、前記管理情
報は、ディレクトリの管理情報を含み、前記記録媒体へ
のディレクトリ情報の追加、削除のアクションが行われ
る毎に、当該ディレクトリの識別情報とアクション種別
を対応づけた履歴情報を順次作成し、当該履歴情報を履
歴テーブル領域に順次追記記録することにより上記課題
を解決する。
【0025】本願の第12の発明によれば、前記履歴情
報を履歴テーブル領域に順次追記記録する際、前記履歴
テーブル領域の後方から前方方向へ順番に記録すること
により上記課題を解決する。
【0026】本願の第13の発明によれば、ファイルの
読出し指示に基づいて、前記管理情報を検索して、ファ
イルの読出しを行う際、当該ファイルの管理情報が読み
出せない場合、前記履歴テーブル領域から、当該ファイ
ルのファイル識別情報を有する最新の履歴情報を読出
し、当該履歴情報に基づいてファイルの読出しを行うこ
とにより上記課題を解決する。
【0027】本願の第14の発明によれば、管理情報の
再構築指示に基づいて、前記履歴テーブル領域から履歴
情報を読みだし、当該履歴情報に基づいて、管理情報を
生成し、当該管理情報を記録媒体に記録することにより
上記課題を解決する。
【0028】
【発明の実施の形態】以下、本発明のディスク管理方法
に関する実施形態について、図1乃至図34とともに詳
細について説明する。本実施例は、ディスク装置とし
て、AV記録再生を目的としたディスクを用いた携帯型
のビデオカメラやビデオデッキ、PCに接続された外部
記憶装置などを想定するものである。ディスク媒体は、
リムーバブルディスクが好ましいが、ハードディスクな
どの据え付け型であっても構わない。また、説明の都合
上ディスクに用いる論理ファイルシステムとしてOST
A(Optical Storage Technol
ogy Association)の規格であるUDF
(Universal Disk Format)を想
定するが、その他の汎用論理ファイルシステムであって
も構わない。
【0029】一般的なディスク装置の構成を図1に示
す。データ入力出力部1はカメラなどから入力される映
像信号を取り込んだり、再生するデータをモニタ等に出
力したりする。データ処理部2は、例えばMPEG符号
をエンコードしたり、デコードしたりする信号処理等を
行う処理部であり、処理されたデータはメモリ3に格納
される。データを記録する場合は、ディスク制御部5に
おいて、ディスク6を制御しディスク上の目的の箇所に
データが記録され、再生時には、ディスク6を制御しデ
ィスク上の目的の箇所からデータが読み出されてメモリ
3に格納される。各処理部はシステム制御部4によって
制御される。
【0030】このようなディスク装置における論理ファ
イルシステムで、論理ファイルシステムの管理情報とデ
ータを記録する領域が明確にわかれている場合、管理情
報の領域を多重する事によって容易に管理情報のバック
アップを持つ事が可能である。しかしながら、論理ファ
イルシステムの管理情報とデータを記録する領域が明確
に分かれていない場合、つまり論理ファイルシステムの
管理情報とデータが同一のディスク空間に記録される場
合は、管理情報のバックアップを容易に持つ事はできな
い。
【0031】管理情報とデータを記録する領域が明確に
分かれている場合とは異なり、ディスクに分散している
管理情報をある特定の大きさのバックアップ用領域に記
録する事ができないからである。これは、ディレクトリ
の管理情報にそのディレクトリに含まれるファイルやデ
ィレクトリの管理情報が記録されているディスク上のア
ドレスが記述されており、バックアップ領域に管理情報
をバックアップする場合、論理ファイルシステムの管理
情報間の連結情報であるディスク上のアドレスを、バッ
クアップ領域内の管理情報の記録位置に応じて変更しな
ければならない事を意味する。
【0032】そこで、本発明では特にファイルやディレ
クトリなどの管理情報を多重して持つ機能の無い汎用の
論理ファイルシステムにおいて、管理情報が読み出せな
くなる事によるデータの読み出しが不可能になる事を防
ぐ事を目標としている。
【0033】既にディスクに記録されているファイルや
ディレクトリはUDFのような論理ファイルシステムに
よって管理されているので、論理ファイルシステムの管
理情報のバックアップを取るのにあまり繁雑な操作が発
生してしまっては意味が無い。そこで本発明では、バッ
クアップ情報として、ファイルやディレクトリにアクセ
スするのに必要最低限の情報のみをバックアップするも
のとする。この必要最低限のバックアップ情報をバック
アップの対象となるファイルシステムの管理する領域と
は別の領域を用意してその領域中に記録する。
【0034】図2に、本発明で用いるバックアップ領域
とUDF規格によって規定されるパーティションの関係
を示す。UDFでは論理セクタ番号256とディスク上
の最後の論理セクタ番号−256にAnchor Vo
lume Descriptor Pointerが記
録される事が決まっており、この情報にアクセスする事
によって、Volume Descriptor Se
quenceを把握する事が可能となる。論理セクタ番
号とは、ユーザシステムがアクセスできるディスク上の
空間に昇順に付加されたアドレスの事である。
【0035】また、Anchor Volume De
scriptor Pointerには、Volume
全体を管理する管理情報で構成される、Volume
Descriptor Sequenceの記録位置が
管理されている。Volume Descriptor
Sequenceには、Volume内に定義される
パーティションに関する管理情報が管理されており、実
際にファイルやディレクトリを作成するUDFのファイ
ルシステムを構築するパーティションの位置情報を取得
する事が可能となる。本発明における、履歴情報を記録
するファイル及び管理情報の記録領域とは異なる領域と
は、このUDFパーティション外に確保する領域の事を
指す。
【0036】このバックアップ情報用領域の位置情報
は、例えば、論理セクタ番号128に記録される本発明
用のAnchor Descriptorによって把握
する事が可能となる。また、バックアップ情報用領域の
領域の位置を把握するためのAnchor Descr
iptorを用いないで、ある特定の固定位置に領域が
あると決めて確保しても構わない。図の例ではVolu
meの管理情報のバックアップであるReserved
Volume Descriptor Sequen
ceがMain Volume Descriptor
Sequenceの後にも記録されている。
【0037】また、図3にバックアップ領域の中の様子
を示す。図中の先頭のVolume管理情報は、図2に
おいてバックアップ情報用領域の手前までの領域に対応
する。バックアップ領域には、Primary His
tory Table Descriptor(PHT
D)と複数のHistory Descriptor
(HD)が記録されている。全てのHDを合わせてHi
story Tableと呼ぶ事とする。このHist
ory TableがUDFファイルシステムの管理情
報のバックアップ情報(履歴情報)となる。PHTDは
バックアップ領域中の最後の論理セクタに記録され、H
DはPHTDの1つ前の論理セクタからバックアップ領
域の先頭方向に向かって順次追記されて行く。論理セク
タ内では、後ろからHistory Descript
orをつめて記録することになる。
【0038】例えば、初めて52byteの大きさのH
istory Descriptorを記録する場合、
PHTDの1つ前の論理セクタ内で1996byte目
(セクタサイズ2048byte−History D
escriptorの大きさ52byte)からHis
tory Descriptorを記録することにな
る。このように記録するのは、論理セクタ番号の低い方
から最新のHistory Descriptorが順
番に記録されているため、バックアップ情報へのアクセ
スが容易になるためである。
【0039】例えば、任意のファイルのバックアップ情
報であるHistory DescriptorをHi
story Tableから抽出する場合、このように
記録されていることによって、ディスクから読み出した
History Tableを格納するメモリ上におい
て、メモリ空間上で先頭から時間的に最新のHisto
ry Descriptorが配置されることになり、
アクセスするのには都合が良い。目的のHistory
Descriptorが比較的新しく追加になってい
れば、すぐに見つかることになる。また使用できるメモ
リの制限から一度に全てのHistory Descr
iptorを読み出せないような場合にも非常に有効で
ある。
【0040】UDFファイルシステムにおいてファイル
が新規に作成されたり、変更が発生したり、削除された
り、またディレクトリの場合は新規に作成されたり、削
除された場合、そのファイルやディレクトリ毎に1つの
History DescriptorがHistor
y Tableに追加される。PHTDには、Hist
ory Tableの大きさが管理されており、常にH
istory Tableの最後尾(ディスク上では最
前部)が分かるようになっているので、History
Descriptorの追加は容易に行なう事が可能
である。UDFなどの汎用ファイルシステムと異なり今
までに記録されたHistory Descripto
r(ファイルやディレクトリのバックアップ情報)をH
istory Tableからは削除しない。
【0041】つまり、UDFファイルシステムにおいて
ファイルやディレクトリの作成、変更、削除などと言っ
たイベントが発生する度に、単純にそれらのイベントに
対応するHistory DescriptorがHi
story Tableの最後尾(ディスク上では最前
部)に追加されるだけである。
【0042】仮に、UDFファイルシステムの管理情報
が読み出せないと言った状況になった場合、目的のファ
イルやディレクトリを特定するための識別情報をキーと
して、History Tableの最後尾(ディスク
上では最前部)から順番に、対応するHistory
Descriptorが見つかるまで見ていく。探し出
したHistory Descriptorを参照する
事によって、対応するファイルが記録されているディス
ク上の位置情報を把握する事ができ、データにアクセス
できないと言った問題点を解決する。
【0043】目的のHistory Descript
orを探し出すのに、History Tableをサ
ーチしなければならないが、本発明の目的であるバック
アップ用途であり、この情報にアクセスする場合は非常
時である事を考慮すれば許容できるものである。その反
面、UDFファイルシステムにおけるファイルやディレ
クトリの作成、変更、削除と言ったイベントが発生した
際のHistoryTableの更新は、Histor
y Descriptorの追加のみと必要最低限のデ
ータ量および処理に抑えられている事が特徴となる。
【0044】またHistory Tableには、H
istory Tableを作り始めてからのUDFフ
ァイルシステムにおけるファイルの作成、変更、削除、
またディレクトリの作成、削除と言ったイベントに対応
するHistory Descriptorが記録され
ている事になるので、History Tableは単
純なUDFファイルシステムの管理情報のバックアップ
だけではなく、ファイルシステムの管理情報の更新履歴
としても利用する事が可能である。
【0045】History Descriptorは
History Tableに追加されて行くだけなの
で、使用過程においてHistory Tableが巨
大になってしまったり、バックアップ領域の空きの残量
が無くなってしまう事も考えられる。そこで、Hist
ory TableからUDFファイルシステムで定義
されているファイルやディレクトリに対応するHist
ory Descriptorだけ残してその他の過去
の更新履歴情報であるHistory Descrip
torを全て削除しHistory Tableを再構
築する事も可能である。
【0046】History Descriptorで
管理するバックアップ対象のファイルやディレクトリを
特定するための識別情報としてファイル名を用いる第1
の実施の形態について説明を行なう。ここで、図4にP
rimary History Table Desc
riptorの内容を示す。Primary Hist
ory Table Descriptorは、His
tory Tableを管理するための情報やバックア
ップ領域の情報を管理する記述子である。
【0047】Area Sizeはバックアップ領域の
大きさをbyte数で表し、Uint32型として記録
される。Last HD Added Timesta
mpは、History DescriptorがHi
story Tableに追加された最終日時を記録す
る。この情報によって、最後にHistory Des
criptorを追加した日時を把握する事ができ、例
えばUDFファイルシステムの管理情報との整合性を見
る場合などに利用する事ができる。LastHT Up
dated Timestampは、History
Tableを最後に再構築した日時を記録する。この情
報によりHistory Tableが保持する更新履
歴がいつからのものであるかを把握する事が可能とな
る。
【0048】Number of History D
escriptorsは、History Table
に記録されているHistory Descripto
rの数を示し、Uint32型で記録される。Hist
ory Table Sizeは、History T
ableのサイズをbyte数で表しUint32型で
記録される。History Table中の全His
tory Descriptorの合計サイズをByt
e数で表す。ディスクへのHistory Descr
iptorの追加は論理セクタ単位で行うのが一般的な
ので、仮に1論理セクタのサイズが2KBとすると、こ
のHistory Table Sizeを2KBで割
り、その商がアクセスすべきバックアップ領域の最後の
論理セクタから1セクタ(PHTDのサイズ)引いた箇
所からみた論理セクタ数となる。
【0049】また、余りが追加を行うべき論理セクタに
既にデータが記録されている量である。つまり、追加を
行う場合には目的の論理セクタを一度読み出して、既に
記録されている情報の前にHistory Descr
iptorを追加して、その論理セクタの内容をディス
クに記録する事になる。
【0050】なお、図中の、RBPはRelative
Byte Positionを意味し、先頭から見た
対応する管理項目の開始位置を示す情報で、Lenはそ
の管理項目の大きさをByteで表し、Field N
ameは管理項目名、Contentsは、管理項目が
どのような形式で記録されなければならないかというこ
とを示す。Contentsで用いられているデータ型
のうち、Uint8は符号無し8bit整数、Uint
16は符号無し16bit整数、Uint32は符号無
し32bit整数を意味する。Stringは文字列を
格納するためのデータ型、Timestampは日時情
報を格納する型である。
【0051】図5にHistory Descript
orの内容を示す。HistoryDescripto
rは、論理ファイルシステムにおけるファイルやディレ
クトリの管理情報のバックアップ情報であり、対応する
ファイルやディレクトリにアクセスするための必要最低
限の情報で構成されている。File Sizeは、バ
ックアップの対象となるファイルのファイルサイズをb
yte数で示し、Uint32型で記録される。具体的
には、対応するUDFファイルシステムのFile E
ntry内のファイルサイズの情報を示すInform
ation Lengthと同じ値を記録する。Mod
ification Date andTimeは、こ
のファイルが追加、変更、削除、またディレクトリが追
加、削除された時刻を示し、Timestamp型で記
録される。バックアップ対象がファイルの場合、対応す
るUDFファイルシステムのFile Entry内の
変更日時を示すModification Date
and Timeと同じ値を、ディレクトリの場合はF
ile Entry内の作成日時を示すAccess
Data and Timeと同じ値を記録する。ま
た、ファイルやディレクトリの削除を示すHistor
y Descriptorの場合は、実際の削除の日時
を記録する。
【0052】LBN of FEは、バックアップ対象
となるファイルやディレクトリのUDFファイルシステ
ムでのFile Entryの記録位置を示すUDFパ
ーティション内の論理ブロック番号を示し、Uint3
2型で記録する。Attributesは、バックアッ
プのイベント種別およびバックアップの対象がファイル
なのかディレクトリなのかをUint16型で示す。B
it0は、バックアップ対象がファイルなのかディレク
トリなのかを示し、0の場合はファイル、1の場合はデ
ィレクトリを示す。Bit1と2は、符号無しの2bi
tの情報として扱い、この2bitが0の場合「作
成」、1の場合は「変更」、2の場合は「削除」を示
す。
【0053】Length of File Iden
tifierは、ファイルやディレクトリを識別するた
めの情報であるFile Identifierの長さ
をbyte数で示し、Uint16型で記録される。L
ength of Allocation Descr
iptorsは、Allocation Descri
ptorsフィールドの長さをbyte数で示し、Ui
nt32型で記録する。バックアップ対象であるファイ
ルのUDFファイルシステムでのFile Entry
のLength of Allocation Des
criptorsと同じ値を記録する。
【0054】File Identifierは、ファ
イルやディレクトリを識別するための情報であり、Le
ngth of File Identifier b
yteだけstring形式で記録される。ファイルや
ディレクトリを識別するための情報とは、通常ファイル
名やディレクトリ名である。ここで、File Ide
ntifierにはファイルやディレクトリのパス名を
併記して記録するものとする。
【0055】例えば、Rootディレクトリ下のDAT
Aディレクトリ下のFILE1.DATというファイル
の場合は、¥DATA¥FILE1.DATと記録す
る。また、前述のLength of File Id
entifierはこの場合、15byteとなる。F
ile Identifierはファイル名である必要
はなく、例えばファイルID番号などファイルやディレ
クトリが特定できるものであれば構わない。ただし、同
一ディスクに色々な種類のFile Identifi
erが混在できるという意味ではない。
【0056】Paddingは、Allocation
Descriptorsフィールドの開始RBPが4
byteアライメントされるように調整を行う情報であ
り、必要な数だけは00hを記録する。4×ip(L_
FI+28+3)/4)―(L_FI+28)によって
Paddingすべきbyte数が求まる。ここで、i
p(n)はnの整数部分を返す関数であり、L_FIは
Length ofFile Identifierフ
ィールドによって示される値である。Allocati
on Descriptors(AD)はディスク上の
データの記録位置を管理するための管理構造であり、U
int32型のExtent Lengthと、Uin
t32型のExtent Positionによって構
成される。ここでは、Extent LengthとE
xtent Positionを合わせてShort_
ad型として扱うものとする。
【0057】Extent Lengthは、分断の長
さをbyte数で示し、Extent Positio
nは分断の開始論理ブロック番号が記録される。1つの
ファイルであってもファイルに対応する実データはディ
スク上で分断されて記録する事も可能であるため、ファ
イルを構成する分断の数だけAllocationDe
scriptorsが記録されることになる。
【0058】実際には、1つのAllocation
Descriptorsが8byteなので、Leng
th of Allocation Descript
orsで示される値を8で割ることによってAlloc
ation Descriptorsの数が求まる。こ
のフィールドには、バックアップ対象のUDFファイル
システムでのFile Entry内のAllocat
ion Descriptorsと同じ内容を記録す
る。
【0059】以上のような管理情報を用いた実際の実施
例を説明して行く。図6に示すようなディレクトリ階層
のファイルやディレクトリがある場合、対応するUDF
ファイルシステムが定義するパーティション内の論理フ
ァイルシステムの管理情報とデータ配置の様子の例を図
7に示す。
【0060】パーティション内の先頭から、パーティシ
ョン内の空き領域情報を管理するSpace Bitm
ap Descriptor(SBD)、ファイルシス
テムの基本管理情報であり、Rootディレクトリを管
理するFile Entry(FE Root)へのポ
インタ情報を持つFile Set Descript
or(FSD)、File Set Descript
orが終った事を示すTerminating Des
criptor(TD)が記録されている。
【0061】また、Rootディレクトリ、DATAデ
ィレクトリをそれぞれ管理するFile Entry
(FE)と、各ディレクトリの下に定義されるファイル
のファイル名や属性情報、そしてそのファイルあるいは
下位のディレクトリを管理するFile Entry
(FE)へのポインタ情報であるFile Ident
ifier Descriptor(FID)、Roo
tディレクトリの下に定義されているREADME.T
XTを管理するFile Entry(FE)とDAT
Aディレクトリの下に定義される、FILE1.DAT
とFILE2.DATを管理するFile Entry
(FE)が記録されている。
【0062】なお、History Descript
or内のLBN of FEフィールドには、このファ
イルを管理するFile Entryが記録された論理
ブロック番号が記録されることになる。ファイルおよび
ディレクトリのFile Entryはそれぞれ対応す
るデータが記録されているディスク上の分断情報をEx
tentとしてAllocation Descrip
torsによって管理している。例えば、図7の例にお
いては、FILE1.DATに対応するデータはディス
クでは分断して記録されており、Extent4および
5によって構成されている。またFILE2.DATに
対応するディスク上のデータは連続的に記録されてお
り、Extent6によって構成されている。
【0063】このような状況のディレクトリ階層に対応
するHistory Tableの例を図8に示す。こ
の図では、一番下にPrimary History
Table Descriptorが配置されており、
History Tableの最後尾は図の一番上に相
当する。この例では、Rootディレクトリ(¥)、¥
README.TXT、¥DATAディレクトリ、¥D
ATA¥FILE1.DAT、¥DATA¥FILE
2.DATの順番で作成された様子を示している。一番
下の枠を除いて1つの枠が1つのHistory De
scriptorに対応し、全てのHistory D
escriptorをまとめてHistory Tab
leを構成する。
【0064】図9に図8に示す状態から、DATAディ
レクトリの下にFILE3.DATというファイルが作
成(追加)された場合の様子を示す。FILE3.DA
TがUDFファイルシステムで作成されると、それに対
応するHistory DescriptorがHis
tory Tableの最後尾(ディスク上では最前
部)に追加される。
【0065】この際、History Descrip
torのFile Identifierには¥DAT
A¥FILE3.DATが記録され、Timestam
pにはファイルの作成された日時、Attribute
にはファイルおよび作成を示す0000h、File
SizeにはFILE3.DATのファイルサイズを、
Length of Allocation Desc
riptorsには、FILE3.DATに対応するデ
ータのディスク上での分断数を8倍した値を、そしてA
llocation Descriptors(AD)
にはそれぞれの分断に関する位置情報を記録する事にな
る。ここでは、FILE3.DATはExtent7の
みによって構成されている(連続して記録されている)
ことになる。
【0066】図10に、図9で示された状態から、さら
にDATAディレクトリの下のFILE2.DATの内
容が変更された場合の様子を示す。UDFファイルシス
テムにおいてFILE2.DATのディスク上の位置が
変更になったり、内容が変更になった場合、Histo
ry Tableの最後尾(ディスク上では最前部)
に、対応するHistory Descriptorを
追加する。この際、Attributeにはファイルお
よび変更を示す0002hを記録する。また、FILE
2.DATのディスク上の位置が変更となり、Allo
cation Descriptors(AD)が管理
する分断がExtent8に変更になる。
【0067】このFILE2.DATの変更に関するH
istory Descriptorが追加になった時
点で、History Table内に既に存在してい
る、FILE2.DATを作成した際のHistory
Descriptorが古い情報となり、更新履歴情
報となる。
【0068】図11に、図10で示された状態から、さ
らにDATAディレクトリの下のFILE1.DATを
削除した場合の様子を示す。UDFファイルシステムに
おいてFILE1.DATが削除された場合、Hist
ory Tableの最後尾(ディスク上では最前部)
に対応するHistory Descriptorを追
加する。この際、Attributeにはファイルおよ
び削除を示す0004hを記録し、Allocatio
n Descriptors(AD)には、削除する直
前のデータの位置情報を記録する。
【0069】削除されるデータであるため直前の記録位
置を記録しないようにしても良い。このFILE1.D
ATの削除に関するHistory Descript
orが追加になった時点で、History Tabl
e内に既に存在しているFILE1.DATを作成した
際のHistory Descriptorが古い情報
となり、更新履歴情報となる。
【0070】なお、図9乃至11においてイベント種別
が作成、変更、削除について説明したが、ファイルシス
テム上では例えば、ファイルやディレクトリのコピーや
移動あるいは名称変更なども起きる。これらのイベント
は基本的に前述の作成、変更、削除を組み合わせること
によって更新情報を表現する事が可能である。
【0071】例えば、あるファイルの移動であれば、移
動元のファイルに対応する削除を表すHistory
Descriptorを作成し、移動先のファイルに対
応する作成を表すHistory Descripto
rを作成する。また、同様に名称変更でも、名称を変更
する前のファイルに対応する削除を表すHistory
Descriptorを作成し、名称変更後のファイ
ルに対応する作成を表すHistory Descri
ptorを追加すれば良いことになる。
【0072】ここで、History Tableを再
構築する場合の様子を図12に示す。History
Tableには、UDFファイルシステムにおいてファ
イルに関する作成、変更、削除、またディレクトリに関
する作成、削除と言ったイベントが発生する度にHis
tory Descriptorが単純に追加になって
いく。History Descriptorを記録す
る領域は決まっているので、状況に応じてHistor
y Tableから不要な情報を削除しHistory
Tableを再構築する事も必要となる。
【0073】この場合は、History Table
の最後部(ディスク上では最前部)のHistory
Descriptorから順番に見て行き、同一のファ
イルやディレクトリに関する情報つまり更新履歴に相当
するHistory DescriptorをHist
ory Tableから削除する。また、Attrib
uteが削除のHistory Descriptor
に関しても同様に削除する。図の例では、左側のHis
tory Tableから更新履歴に相当する「¥DA
TA¥FILE2.DAT作成」と「¥DATA¥FI
LE1.DAT作成」と、「¥DATA¥FILE1.
DAT削除」のHistory Descriptor
を削除し、右のHistory Tableのように最
構築する。この際、残ったHistory Descr
iptorのAttributeは全て作成に変更する
事になる。
【0074】ここで、処理の詳細をフローチャートで説
明する。図13にUDFファイルシステムにおいてファ
イルやディレクトリの作成、変更、削除と言ったイベン
トが発生した場合の処理の流れを示す。
【0075】ステップS1において、ファイルの作成、
変更、削除イベントが発生すると、ステップS2におい
てPrimary History Table De
scriptorを読み出し、History Tab
leの最後部(ディスク上では最前部)を把握する。
【0076】具体的には、History Table
中のHistory TableSizeからHist
ory Tableの最後尾の位置を把握する事が可能
となる。ステップS3において、ファイルに対応するH
istory DescriptorをHistory
Tableの最後に追加する。
【0077】この際History Descript
orには、図5に示すように、ファイルの名前をフルパ
ス形式でFile Identifierに、発生した
イベントの種類およびファイルかディレクトリなのかを
Attribute、イベントが発生した日時、イベン
トが発生した対象のUDFファイルシステムにおけるフ
ァイルの管理するディスク上の分断を管理する形で、A
llocationDescriptorsが記録され
る。ステップS4において、PrimaryHisto
ry Table Descriptor内の最後尾
(ディスク上では最前部)にHistory Desc
riptorを追加した時刻を示すLast HD A
dded Timestampと、History D
escriptor数、History Table
Sizeを更新して処理を終了する。UDFにおけるフ
ァイルに関するイベントが発生した際の処理は以上のよ
うに、単純なHistory Descriptorの
追加処理となる。
【0078】ファイルの場合とは異なり、バックアップ
対象がディレクトリの場合は、ディレクトリの存在のみ
をHistory Descriptorで管理するこ
とにし、File Size、LBN of FEやA
llocation Descriptorsは記録し
ないようにしてもよい。
【0079】このフローチャートでは、UDFのファイ
ルシステムにおいてファイルの作成、変更、削除、また
ディレクトリの作成、削除と言ったイベントが発生する
度に対応するHistory Descriptorを
History Tableに追加する説明になってい
るが、例えば電源投入時やディスクを装着した時にPr
imary History Table Descr
iptorを読み出し、電源を切断する時やディスクを
排出する時などにその期間中に発生した全てのイベント
に対応するHistory Descriptorをま
とめてHistory Tableに追加しPrima
ry History Table Descript
orを更新し記録しても良い。つまりHistory
Descriptorをメモリ上に保持しておき、ある
タイミングで一度にディスク上のHistory Ta
bleを更新しても構わないものとする。
【0080】このように、ファイルやディレクトリに関
するイベントが発生する度にHistory Desc
riptorを追記する訳である。UDFにおいてファ
イルやディレクトリにアクセスする場合、まずFile
Identifier Descriptorにアク
セスしディレクトリ内に記録されているファイルやディ
レクトリ名を把握する。アクセスしたいファイルやディ
レクトリに対応するFile Identifier
Descriptorの情報より、対応するFile
Entryの記録位置を把握し、File Entry
にアクセスする。
【0081】File Entryにはファイルやディ
レクトリの実体の記録位置が管理されているので、この
情報を元に実体にアクセスする訳である。このときファ
イルやディレクトリにアクセスしようとしたが、それら
を管理するFile Entryにアクセスできない非
常時に、バックアップ情報であるHistory Ta
bleにアクセスする手段に関して図14のフローチャ
ートを用いて説明する。
【0082】ステップS10において、バックアップ情
報であるHistory Tableへのアクセス要求
が発生すると、ステップS11において、Primar
yHistory Table Descriptor
を読み出し、History Tableの大きさと、
History Table中のHistoryDes
criptorの数を把握してHistory Tab
leをディスクから読み出す。具体的には、Histo
ry Table中のNumber ofHistor
y DescriptorsによってHistory
Table中のHistory Descriptor
の数を、History Table SizeからH
istory Tableの最後尾の位置(ディスク上
では最前部)を把握する事が可能となり、読み出された
History Tableは制御部のメモリ上でHi
story Descriptor毎に展開される。ス
テップS12において、History Table中
の最後(時間的には最新)のHistory Desc
riptorに注目をする。
【0083】ステップS13において、今アクセスした
いファイルあるいはディレクトリのフルパス形式の名前
と注目しているHistory Descriptor
のFile Identifierが一致するかどうか
を判定する。一致しない場合はステップS14において
全てのHistory Descriptorをサーチ
したかどうかを判定する。全てのHistory De
scriptorをサーチした場合は、探そうとしてい
るバックアップ情報が見つからないという事になり、ス
テップS17においてエラー処理を行ない処理を終了す
る。ステップS14においてまだ全てのHistory
Descriptorをサーチし終っていない場合
は、ステップS15において注目しているHistor
y DescriptorをHistory Tabl
e中の1つ前のHistory Descriptor
に変更し、ステップS13に戻り処理を繰り返す。
【0084】ステップS13において名前が一致すると
判定された場合は、ステップS16において注目してい
るHistory Descriptorのイベント種
別を示すAttributeが削除であるかどうかを判
定する。イベント種別が削除の場合、探そうとしている
ファイルあるいはディレクトリのバックアップ情報が削
除状態を示すものであるためステップS17においてエ
ラー処理して処理を終了する。
【0085】ただし、ここで、ファイルやディレクトリ
の削除した時点での情報が取得したいのであれば、エラ
ー処理を行わず抽出したHistory Descri
ptorを利用しても構わない。ステップS16におい
てイベント種別が削除以外であれば、注目しているHi
story Descriptorが探し出すべきバッ
クアップ情報であり、サーチ処理を終了する。探し出し
たHistory Descriptor中のAllo
cation Descriptorsの情報を用いて
ファイルやディレクトリのデータにアクセスが可能とな
るわけである。
【0086】このように、ある特定のファイルやディレ
クトリのUDFファイルシステム管理情報にアクセスで
きない場合に、History Tableから対応す
る最新のHistory Descriptorを抽出
し、その情報から対応するデータの記録位置を把握しデ
ータにアクセスする事を可能とした。また、この情報を
利用して主の管理情報であるUDFの管理情報を再構築
する事も可能である。例えば、あるファイルを管理する
UDFのFile Entryが読み出せなくなった場
合は、対応するバックアップ情報に相当するHisto
ry Descriptorの情報を元にFile E
ntryをUDFのパーティション内に記録し直す。
【0087】File Entryの情報としては、作
成時刻はFile Entryを作成し直した時刻、属
性情報は標準的な情報にセットされ、問題の発生する前
の状態とは必ずしも同じでは無いが、データにアクセス
するための必要最低限の情報であるデータの記録位置情
報に関しては完全に復活できるわけである。復旧したU
DFのFile Entryの記録位置が問題のあった
元のFile Entryの記録位置と異なる場合、F
ile Entryの記録位置を管理しているUDF管
理情報のFile Identifier Descr
iptor内のポインタ情報を新しく作成し直したFi
le Entryの記録位置に更新を行う。
【0088】続いて、History Tableの再
構築の要求が発生した際の処理の流れを図15に示した
フローチャートに基づいて説明する。
【0089】ステップS20において、History
Tableの再構築の要求が発生した場合、ステップ
S21において、Primary History T
able Descriptorを読み出し、Hist
ory Tableの大きさと、History Ta
ble中のHistory Descriptorの数
を把握してHistory Tableをディスクから
読み出す。具体的には、History Table中
のNumber of History Descri
ptorsによってHistory Table中のH
istoryDescriptorの数を、Histo
ry Table SizeからHistory Ta
bleの最後尾の位置を把握する事が可能となり、読み
出されたHistory Tableは制御部のメモリ
上でHistory Descriptor毎に展開さ
れる。
【0090】ステップS22において、History
Table中の最後のHistory Descri
ptorに注目をする。ステップS23において、Hi
story Table中の全てのHistory D
escriptorを見たかどうかを判定し、全てのH
istory Descriptorについて処理が終
っていれば処理を終了する。まだ処理が終っていない場
合は、ステップS24において、注目しているHist
ory Descriptorのイベント種別を表すA
ttributeが削除かどうかを判定する。イベント
種別が削除の場合は、ステップS28において注目して
いるHistory Descriptorを削除リス
トに追加する。
【0091】具体的には注目しているHistory
DescriptorのFileIdentifier
を削除リストに登録する事を行う。ステップS29にお
いて注目しているHistory Descripto
rをHistory Table中の1つ前のHist
ory Descriptorに変更し、ステップS2
3に戻り処理を繰り返す。
【0092】ステップS24においてイベント種別が削
除でない場合、ステップS25において注目しているH
istory Descriptorが削除リストに含
まれているかを判定する。具体的には、注目しているH
istory DescriptorのFile Id
entifierと削除リストに含まれる名前を比較す
る事によって行う。ステップS26において削除リスト
に含まれていたかを判定し、含まれていた場合は、その
ままステップS29において注目しているHistor
y DescriptorをHistory Tabl
e中の1つ前のHistory Descriptor
に変更し、ステップS23に戻り処理を繰り返す。
【0093】ステップS26において削除リストに含ま
れていないと判定された場合、ステップS27において
抽出結果リストに追加する。具体的には注目しているH
istory Descriptorをそのまま抽出結
果リストにコピーする事を行う。ステップS28におい
て、注目しているHistory Descripto
rを削除リストに追加し、ステップS29において注目
しているHistory DescriptorをHi
story Table中の1つ前のHistory
Descriptorに変更し、ステップS23に戻り
処理を繰り返す。
【0094】このような処理を行う事によって、His
tory Table中の同じファイルやディレクトリ
を示す重複するHistory Descriptor
を削除し、更新履歴として存在した不要な情報を削除す
る事が可能となる。具体的には、処理が終わった段階で
抽出結果リストに残っているHistory Desc
riptorが目的の情報となる。
【0095】続いて、History Tableから
あるファイルやディレクトリに関する更新履歴を取得し
たい要求が発生した際の処理の流れを図16に示したフ
ローチャートに基づいて説明する。
【0096】ステップS40において、History
Tableからあるファイルやディレクトリに関する
更新履歴を取得したい要求が発生した場合、ステップS
41において、Primary History Ta
ble Descriptorを読み出し、Histo
ry Tableの大きさと、History Tab
le中のHistory Descriptorの数を
把握してHistory Tableをディスクから読
み出す。具体的には、History Table中の
Number of History Descrip
torsによってHistory Table中のHi
story Descriptorの数を、Histo
ry Table SizeからHistory Ta
bleの最後尾の位置を把握する事が可能となり、読み
出されたHistory Tableは制御部のメモリ
上でHistory Descriptor毎に展開さ
れる。
【0097】ステップS42において、History
Table中の最後のHistory Descri
ptorに注目をする。ステップS43において、検索
対象を示す変数であるSEARCHKEYに目的のFi
le Identifierをセットする。ステップS
44において、History Table中の全ての
History Descriptorを調べたかどう
かを判定し、全てのHistory Descript
orについて処理が終っていれば処理を終了する。まだ
処理が終っていない場合は、ステップS45において、
注目しているHistory Descriptorの
File Identifierが対象としているファ
イルあるいはディレクトリと一致するかどうかを判定す
る。具体的にはSEARCHKEYと注目しているHi
story DescriptorのFile Ide
ntifierを比較する事によって行う。一致しない
場合はステップS47において注目するHistory
DescriptorをHistory Table
中の1つ前のHistory Descriptorに
変更し、ステップS44に戻り処理を繰り返す。
【0098】ステップS45において、注目しているH
istory DescriptorのFile Id
entifierが対象としているファイルあるいはデ
ィレクトリと一致する場合、ステップS46において現
在注目しているHistory Descriptor
は、更新履歴を取得しようとしている対象のファイルあ
るいはディレクトリに関する更新履歴であるものとし抽
出結果としてリストアップする事になる。ステップS4
7において注目するHistory Descript
orをHistory Table中の1つ前のHis
tory Descriptorに変更し、ステップS
44に戻り処理を繰り返す。
【0099】ステップS47において注目するHist
ory DescriptorをHistory Ta
ble中の1つ前のHistory Descript
orに変更し、ステップS44に戻り処理を繰り返す。
【0100】このような処理によって、History
Tableから更新履歴を取得したいファイルあるい
はディレクトリに関する全てのHistory Des
criptorを簡単に抽出する事が可能となる。具体
的には、処理が終わった段階の抽出結果リストに残って
いるHistory Descriptorが目的の情
報となる。
【0101】説明してきたHistory Table
では、アクセスしようとするファイルやディレクトリが
あらかじめ分かっている場合には、History T
ableに含まれる対応するHistory Desc
riptorを探し出すだけの処理で終わる。仮に管理
情報のバックアップの対象となるファイルシステムの管
理情報が全くディスクから読み出せなくなり、どのよう
なファイルが記録されているか、あるいはどのようなデ
ィレクトリ構造の状態であるかが不明になる事も考えら
れる。このような状況が発生した場合には、Histo
ry Tableを再構築し残されたHistory
Descriptorを参照する事によって、バックア
ップ情報が保持するディレクトリ階層の構造を把握する
事が可能となり、バックアップ情報を介してファイルや
ディレクトリにアクセスしたり、管理情報の復旧をする
ための情報をして利用できる事になる。
【0102】ここで、UDFファイルシステムにおい
て、ファイルやディレクトリを管理するFile En
tryにアクセスできなかった場合に、バックアップ情
報を元に管理情報を復旧する手順を図17に示すフロー
チャートに基づいて説明する。ステップS50におい
て、UDFファイルシステムにおいてファイルやディレ
クトリを管理するFile Entryにアクセスでき
ない事が、例えば、File Entryの読み出しが
物理的に失敗したり、読み出せた場合であってもFil
e Entryのヘッダ情報に記録されているチェック
サムやCRC情報が正しくない事によって検出された場
合、ステップS51において、問題のファイルやディレ
クトリを示すファイル名をフルパス表現で指定してHi
storyTableより対応するバックアップ情報で
あるHistory Descriptorを抽出す
る。具体的な抽出方法は既に述べた通りである。
【0103】ステップS52において、抽出したHis
tory Descriptorの情報からFile
Entryの再生成を行うが、このFile Entr
yには、History Descriptorに含ま
れるAllocationDescriptorsの内
容をコピーする。Allocation Descri
ptorsにはファイルに対応するデータの記録位置情
報が格納されており、この情報が存在すればデータを読
み出すための位置情報がわかるのでデータの読み出しが
可能となる。再生成したFile Entryはディス
ク上に記録する。
【0104】ステップS53において、アクセスできな
かったFile Entryの記録位置を管理している
UDFのFile Identifier Descr
iptorのICBフィールドを、記録し直したFil
e Entryの記録位置を管理するように更新する。
再生成したFile Entryを、読み出せなかった
File Entryと同じ位置に記録し直した場合は
上記の更新処理を行う必要はない。
【0105】続いて、UDFファイルシステムにおい
て、ディレクトリを管理するFileEntryにアク
セスできなかった場合に、バックアップ情報を元に管理
情報を復旧する別の手順を図18に示すフローチャート
に基づいて説明する。ステップS60において、UDF
ファイルシステムにおいてディレクトリを管理するFi
le Entryにアクセスできない事が検出された場
合、ステップS61において問題のディレクトリのFi
le Entryが記録されている位置を管理している
File Identifier Descripto
rを上位のディレクトリのディレクトリ情報から削除す
る。
【0106】ステップS62において、History
Tableから不要なHistory Descri
ptorを削除するHistory Tableの再構
築処理を行う。具体的な処理内容は前述した通りであ
る。ステップS63において問題のディレクトリを示す
ディレクトリ名をフルパス表現で指定してHistor
y Tableより対応するバックアップ情報を含めそ
のディレクトリの下位に作成されたファイルやディレク
トリに対応する全てのHistory Descrip
torを抽出する。
【0107】ステップS64において、ステップS63
で抽出したHistory Descriptorの情
報の中から、Attribute情報を参照しディレク
トリに関連するものだけ抜き出す。抜き出したディレク
トリに関するHistoryDescriptorが示
すディレクトリを全て作成する。この処理によって、デ
ィレクトリ構造が問題の発生する前の状態に復旧される
ことになる。
【0108】ステップS65において、ステップS63
で抽出したHistory DescriptorのA
ttribute情報を参照しファイルに関連するもの
だけを抜き出す。抜き出したファイルに関するHist
ory DescriptorのFile Ident
ifierを解析し、それぞれのファイルが記録されて
いるべきディレクトリのディレクトリ情報にFile
IdentifierDescriptorを追加して
いく。この時、対応するファイルのFileEntry
の記録位置を管理するFile Identifier
Descriptor内のICBには、Histor
y Descriptorで管理するLBN of F
Eの情報を記録する。
【0109】ファイルのFile Entryの復旧の
場合と異なり、ディスク上に記録されているファイルの
File Entryには問題が全く無いので、Fil
eIdentifier Descriptorからの
ポインタ情報を正しくセットするだけでファイルにアク
セスできる事になる。このようにLBN of FEは
ファイルのFile Entryへのポインタ情報を繋
ぎなおすために使用する。またFile Identi
fier DescriptorのFileIdent
ifierには、History Descripto
rのFile Identifierからパス情報を取
り除いたものを記録する。この処理を全てのファイルに
対応するHistory Descriptorに対し
て行うことによってディレクトリ構造と共にファイル構
造の管理情報も復旧された事になる。なお後処理とし
て、ディスク上にどの管理情報からも参照されない管理
情報がゴミとして残る事になるので、不要な管理情報を
検出して空き領域情報を更新し未使用箇所として開放し
ても良い。
【0110】History Descriptorで
管理するバックアップ対象のファイルやディレクトリを
特定するための識別情報として管理情報の記録媒体上の
記録位置情報を用いる第2の実施の形態について説明を
行なう。ここで、図19にPrimary Histo
ry Table Descriptorの内容を示
す。Primary History Table D
escriptorは、History Tableを
管理するための情報やバックアップ領域の情報を管理す
る記述子である。
【0111】Area Sizeはバックアップ領域の
大きさをbyte数で表し、Uint32型として記録
される。Last HD Added Timesta
mpは、History DescriptorがHi
story Tableに追加された最終日時を記録す
る。この情報によって、最後にHistory Des
criptorを追加した日時を把握する事ができ、例
えばUDFファイルシステムの管理情報との整合性を見
る場合などに利用する事ができる。LastHT Up
dated Timestampは、History
Tableを最後に再構築した日時を記録する。この情
報によりHistory Tableが保持する更新履
歴がいつからのものであるかを把握する事が可能とな
る。
【0112】Number of History D
escriptorsは、History Table
に記録されているHistory Descripto
rの数を示し、Uint32型で記録される。Hist
ory Table Sizeは、History T
ableのサイズをbyte数で表しUint32型で
記録される。History Table中の全His
tory Descriptorの合計サイズをByt
e数で表す。ディスクへのHistory Descr
iptorの追加は論理セクタ単位で行うのが一般的な
ので、仮に1論理セクタのサイズが2KBとすると、こ
のHistory Table Sizeを2KBで割
り、その商がアクセスすべきバックアップ領域の最後の
論理セクタから1セクタ(PHTDのサイズ)引いた箇
所からみた論理セクタ数となる。
【0113】また、余りが追加を行うべき論理セクタに
既にデータが記録されている量である。つまり、追加を
行う場合には目的の論理セクタを一度読み出して、既に
記録されている情報の前にHistory Descr
iptorを追加して、その論理セクタの内容をディス
クに記録する事になる。
【0114】なお、図中の、RBPはRelative
Byte Positionを意味し、先頭から見た
対応する管理項目の開始位置を示す情報で、Lenはそ
の管理項目の大きさをByteで表し、Field N
ameは管理項目名、Contentsは、管理項目が
どのような形式で記録されなければならないかというこ
とを示す。Contentsで用いられているデータ型
のうち、Uint8は符号無し8bit整数、Uint
16は符号無し16bit整数、Uint32は符号無
し32bit整数を意味する。Stringは文字列を
格納するためのデータ型、Timestampは日時情
報を格納する型である。
【0115】図20にHistory Descrip
torの内容を示す。History Descrip
torは、論理ファイルシステムにおけるファイルやデ
ィレクトリの管理情報のバックアップ情報であり、対応
するファイルやディレクトリにアクセスするための必要
最低限の情報で構成されている。
【0116】File Sizeは、バックアップの対
象となるファイルのファイルサイズをbyte数で示
し、Uint32型で記録される。具体的には、対応す
るUDFファイルシステムのFile Entry内の
ファイルサイズの情報を示すInformation
Lengthと同じ値を記録する。Modificat
ion Date and Timeは、このファイル
やディレクトリが追加、変更、削除された時刻を示し、
Timestamp型で記録される。バックアップ対象
がファイルの場合、対応するUDFファイルシステムの
File Entry内の変更日時を示すModifi
cation Date and Timeと同じ値
を、ディレクトリの場合はFile Entry内の作
成日時を示すAccess Data and Tim
eと同じ値を記録する。また、ファイルやディレクトリ
の削除を示すHistory Descriptorの
場合は、実際の削除の日時を記録する。
【0117】LBN of FEは、バックアップ対象
となるファイルやディレクトリのUDFファイルシステ
ムでのFile Entryの記録位置を示すUDFパ
ーティション内の論理ブロック番号を示し、Uint3
2型で記録する。Attributesは、バックアッ
プのイベント種別およびバックアップの対象がファイル
なのかディレクトリなのかをUint16型で示す。B
it 0は、バックアップ対象がファイルなのかディレ
クトリなのかを示し、0の場合はファイル、1の場合は
ディレクトリを示す。Bit1と2は、符号無しの2b
itの情報として扱い、この2bitが0の場合「作
成」、1の場合は「変更」、2の場合は「削除」を示
す。
【0118】Length of Allocatio
n Descriptorsは、Allocation
Descriptorsフィールドの長さをbyte
数で示し、Uint32型で記録する。バックアップ対
象であるファイルやディレクトリのUDFファイルシス
テムでのFile EntryのLength ofA
llocation Descriptorsと同じ値
を記録する。Allocation Descript
ors(AD)はディスク上のデータの記録位置を管理
するための管理構造であり、Uint32型のExte
nt Lengthと、Uint32型のExtent
Positionによって構成される。ここでは、E
xtent LengthとExtent Posit
ionを合わせてShort_ad型として扱うものと
する。
【0119】Extent Lengthは、分断の長
さをbyte数で示し、Extent Positio
nは分断の開始論理ブロック番号が記録される。1つの
ファイルであってもファイルに対応する実データはディ
スク上で分断されて記録する事も可能であるため、ファ
イルを構成する分断の数だけAllocationDe
scriptorsが記録されることになる。
【0120】実際には、1つのAllocation
Descriptorsが8byteなので、Leng
th of Allocation Descript
orsで示される値を8で割ることによってAlloc
ation Descriptorsの数が求まる。こ
のフィールドには、バックアップ対象のUDFファイル
システムでのFile Entry内のAllocat
ion Descriptorsと同じ内容を記録す
る。
【0121】以上のような管理情報を用いた実際の実施
例を説明して行く。図21に示すようなディレクトリ階
層のファイルやディレクトリがある場合、対応するUD
Fファイルシステムが定義するパーティション内の論理
ファイルシステムの管理情報とデータ配置の様子の例を
図22に示す。
【0122】パーティション内の先頭から、パーティシ
ョン内の空き領域情報を管理するSpace Bitm
ap Descriptor(SBD)、ファイルシス
テムの基本管理情報であり、Rootディレクトリを管
理するFile Entry(FE Root)へのポ
インタ情報を持つFile Set Descript
or(FSD)、File Set Descript
orが終った事を示すTerminating Des
criptor(TD)が記録されている。
【0123】また、Rootディレクトリ、DATAデ
ィレクトリをそれぞれ管理するFile Entry
(FE)と、各ディレクトリの下に定義されるファイル
のファイル名や属性情報、そしてそのファイルあるいは
下位のディレクトリを管理するFile Entry
(FE)へのポインタ情報であるFile Ident
ifier Descriptor(FID)、Roo
tディレクトリの下に定義されているREADME.T
XTを管理するFile Entry(FE)とDAT
Aディレクトリの下に定義される、FILE1.DAT
とFILE2.DATを管理するFile Entry
(FE)が記録されている。
【0124】なお、History Descript
or内のLBN of FEフィールドには、このファ
イルやディレクトリを管理するFile Entryが
記録された論理ブロック番号が記録されることになる。
図の例ではRootディレクトリ、 README.T
XT、DATAディレクトリ、FILE1.DAT、F
ILE2.DATのFile Entry(FE)はそ
れぞれ、LBN(論理ブロック番号)100、200、
300、400、500に記録されている。
【0125】ファイルおよびディレクトリのFile
Entryはそれぞれ対応するデータが記録されている
ディスク上の分断情報をExtentとしてAlloc
ation Descriptorsによって管理して
いる。例えば、図22の例においては、FILE1.D
ATに対応するデータはディスクでは分断して記録され
ており、Extent4および5によって構成されてい
る。またFILE2.DATに対応するディスク上のデ
ータは連続的に記録されており、Extent6によっ
て構成されている。
【0126】このような状況のディレクトリ階層に対応
するHistory Tableの例を図23に示す。
この図では、一番下にPrimary History
Table Descriptorが配置されてお
り、History Tableの最後尾は図の一番上
に相当する。この例では、Rootディレクトリ
(¥)、README.TXT、¥DATAディレクト
リ、FILE1.DAT、FILE2.DATの順番で
作成された様子を示している。一番下の枠を除いて1つ
の枠が1つのHistory Descriptorに
対応し、全てのHistory Descriptor
をまとめてHistory Tableを構成する。
【0127】図24に図23に示す状態から、DATA
ディレクトリの下にFILE3.DATというファイル
が作成(追加)された場合の様子を示す。FILE3.
DATがUDFファイルシステムで作成されると、それ
に対応するHistoryDescriptorがHi
story Tableの最後尾(ディスク上では最前
部)に追加される。
【0128】この際、History Descrip
torのLBN of FEにはFILE3.DATを
管理するFile Entryの記録されたディスク上
での位置情報が記録され、Timestampにはファ
イルの作成された日時、Attributeにはファイ
ルおよび作成を示す0000h、File Sizeに
はFILE3.DATのファイルサイズを、Lengt
h of Allocation Descripto
rsには、FILE3.DATに対応するデータのディ
スク上での分断数を8倍した値を、そしてAlloca
tion Descriptors(AD)にはそれぞ
れの分断に関する位置情報を記録する事になる。ここで
は、FILE3.DATはExtent7のみによって
構成されている(連続して記録されている)ことにな
る。
【0129】図25に、図24で示された状態から、さ
らにDATAディレクトリの下のFILE2.DATの
内容が変更された場合の様子を示す。UDFファイルシ
ステムにおいてFILE2.DATのディスク上の位置
が変更になったり、内容が変更になった場合、Hist
ory Tableの最後尾(ディスク上では最前部)
に、対応するHistory Descriptorを
追加する。この際、Attributeにはファイルお
よび変更を示す0002hを記録する。また、FILE
2.DATのディスク上の位置が変更となり、Allo
cationDescriptors(AD)が管理す
る分断がExtent8に変更になる。
【0130】このFILE2.DATの変更に関するH
istory Descriptorが追加になった時
点で、History Table内に既に存在してい
る、FILE2.DATを作成した際のHistory
Descriptorが古い情報となり、更新履歴情
報となる。
【0131】図26に、図25で示された状態から、さ
らにDATAディレクトリの下のFILE1.DATを
削除した場合の様子を示す。UDFファイルシステムに
おいてFILE1.DATが削除された場合、Hist
ory Tableの最後尾(ディスク上では最前部)
に対応するHistory Descriptorを追
加する。この際、Attributeにはファイルおよ
び削除を示す0004hを記録し、Allocatio
n Descriptors(AD)には、削除する直
前のデータの位置情報を記録する。削除されるデータで
あるため直前の記録位置を記録しないようにしても良
い。このFILE1.DATの削除に関するHisto
ry Descriptorが追加になった時点で、H
istory Table内に既に存在しているFIL
E1.DATを作成した際のHistory Desc
riptorが古い情報となり、更新履歴情報となる。
【0132】なお、図24乃至26においてイベント種
別が作成、変更、削除について説明したが、ファイルシ
ステム上では例えば、ファイルやディレクトリのコピー
や移動あるいは名称変更なども起きる。これらのイベン
トは基本的に前述の作成、変更、削除を組み合わせるこ
とによって更新情報を表現する事が可能である。例え
ば、あるファイルの移動であれば、移動元のファイルに
対応する削除を表すHistory Descript
orを作成し、移動先のファイルに対応する作成を表す
History Descriptorを作成する。ま
た、同様に名称変更でも、名称を変更する前のファイル
に対応する削除を表すHistory Descrip
torを作成し、名称変更後のファイルに対応する作成
を表すHistory Descriptorを追加す
れば良いことになる。
【0133】ここで、History Tableを再
構築する場合の様子を図27に示す。History
Tableには、UDFファイルシステムにおいてファ
イルに関する作成、変更、削除、またディレクトリに関
する作成、削除と言ったイベントが発生する度にHis
tory Descriptorが単純に追加になって
いく。History Descriptorを記録す
る領域は決まっているので、状況に応じてHistor
y Tableから不要な情報を削除しHistory
Tableを再構築する事も必要となる。
【0134】この場合は、History Table
の最後部(ディスク上では最前部)のHistory
Descriptorから順番に見て行き、同一のファ
イルやディレクトリに関する情報つまり更新履歴に相当
するHistory DescriptorをHist
ory Tableから削除する。また、Attrib
uteが削除のHistory Descriptor
に関しても同様に削除する。
【0135】図の例では、左側のHistory Ta
bleから更新履歴に相当する「FILE2.DAT作
成」と「FILE1.DAT作成」と、「FILE1.
DAT削除」のHistory Descriptor
を削除し、右のHistory Tableのように最
構築する。この際、残ったHistory Descr
iptorのAttributeは全て作成に変更する
事になる。
【0136】ここで、処理の詳細をフローチャートで説
明する。図28にUDFファイルシステムにおいてファ
イルやディレクトリの作成、変更、削除と言ったイベン
トが発生した場合の処理の流れを示す。
【0137】ステップS70において、ファイルやディ
レクトリの作成、変更、削除イベントが発生すると、ス
テップS71においてPrimary History
Table Descriptorを読み出し、Hi
story Tableの最後部(ディスク上では最前
部)を把握する。
【0138】具体的には、History Table
中のHistory TableSizeからHist
ory Tableの最後尾の位置を把握する事が可能
となる。ステップS72において、ファイルやディレク
トリに対応するHistory Descriptor
をHistory Tableの最後に追加する。この
際History Descriptorには、図21
に示すように、ファイルやディレクトリを管理するFi
le Entryの記録位置をLBN ofFEに、発
生したイベントの種類およびファイルかディレクトリな
のかをAttribute、イベントが発生した日時、
イベントが発生した対象のUDFファイルシステムにお
けるファイルの管理するディスク上の分断を管理する形
で、Allocation Descriptorsが
記録される。ステップS73において、Primary
History Table Descriptor
内の最後尾(ディスク上では最前部)にHistory
Descriptorを追加した時刻を示すLast
HD Added Timestampと、Hist
ory Descriptor数、History T
able Sizeを更新して処理を終了する。UDF
におけるファイルに関するイベントが発生した際の処理
は以上のように、単純なHistory Descri
ptorの追加処理となる。
【0139】ファイルの場合とは異なり、バックアップ
対象がディレクトリの場合は、ディレクトリの存在のみ
をHistory Descriptorで管理するこ
とにし、File SizeやAllocation
Descriptorsを記録しないようにしても良
い。
【0140】このフローチャートでは、UDFのファイ
ルシステムにおいてファイルやディレクトリの作成、変
更、削除と言ったイベントが発生する度に対応するHi
story DescriptorをHistory
Tableに追加する説明になっているが、例えば電源
投入時やディスクを装着した時にPrimary Hi
story Table Descriptorを読み
出し、電源を切断する時やディスクを排出する時などに
その期間中に発生した全てのイベントに対応するHis
tory DescriptorをまとめてHisto
ry Tableに追加しPrimary Histo
ry Table Descriptorを更新し記録
しても良い。つまりHistory Descript
orをメモリ上に保持しておき、あるタイミングで一度
にディスク上のHistoryTableを更新しても
構わないものとする。
【0141】このように、ファイルやディレクトリに関
するイベントが発生する度にHistory Desc
riptorを追記する訳である。UDFにおいてファ
イルやディレクトリにアクセスする場合、まずFile
Identifier Descriptorにアク
セスしディレクトリ内に記録されているファイルやディ
レクトリ名を把握する。アクセスしたいファイルやディ
レクトリに対応するFile Identifier
Descriptorの情報より、対応するFile
Entryの記録位置を把握し、File Entry
にアクセスする。
【0142】File Entryにはファイルやディ
レクトリの実体の記録位置が管理されているので、この
情報を元に実体にアクセスする訳である。このときファ
イルやディレクトリにアクセスしようとしたが、それら
を管理するFile Entryにアクセスできない非
常時に、バックアップ情報であるHistory Ta
bleにアクセスする手段に関して図29のフローチャ
ートを用いて説明する。
【0143】ステップS80において、バックアップ情
報であるHistory Tableへのアクセス要求
が発生すると、ステップS81において、Primar
yHistory Table Descriptor
を読み出し、History Tableの大きさと、
History Table中のHistoryDes
criptorの数を把握してHistory Tab
leをディスクから読み出す。具体的には、Histo
ry Table中のNumber ofHistor
y DescriptorsによってHistory
Table中のHistory Descriptor
の数を、History Table SizeからH
istory Tableの最後尾の位置(ディスク上
では最前部)を把握する事が可能となり、読み出された
History Tableは制御部のメモリ上でHi
story Descriptor毎に展開される。ス
テップS82において、History Table中
の最後(時間的には最新)のHistory Desc
riptorに注目をする。
【0144】ステップS83において、今アクセスした
いファイルあるいはディレクトリのFile Entr
yの記録されている位置情報(LBN)と注目している
History DescriptorのLBN of
FEが一致するかどうかを判定する。一致しない場合
はステップS84において全てのHistory De
scriptorをサーチしたかどうかを判定する。全
てのHistoryDescriptorをサーチした
場合は、探そうとしているバックアップ情報が見つから
ないという事になり、ステップS87においてエラー処
理を行ない処理を終了する。ステップS84においてま
だ全てのHistory Descriptorをサー
チし終っていない場合は、ステップS85において注目
しているHistory DescriptorをHi
story Table中の1つ前のHistory
Descriptorに変更し、ステップS83に戻り
処理を繰り返す。
【0145】ステップS83においてLBN of F
Eが一致すると判定された場合は、ステップS86にお
いて注目しているHistory Descripto
rのイベント種別を示すAttributeが削除であ
るかどうかを判定する。イベント種別が削除の場合、探
そうとしているファイルあるいはディレクトリのバック
アップ情報が削除状態を示すものであるためステップS
87においてエラー処理して処理を終了する。ただし、
ここで、ファイルやディレクトリの削除した時点での情
報が取得したいのであれば、エラー処理を行わず抽出し
たHistory Descriptorを利用しても
構わない。ステップS86においてイベント種別が削除
以外であれば、注目しているHistory Desc
riptorが探し出すべきバックアップ情報であり、
サーチ処理を終了する。探し出したHistory D
escriptor中のAllocation Des
criptorsの情報を用いてファイルやディレクト
リのデータにアクセスが可能となるわけである。
【0146】このように、ある特定のファイルやディレ
クトリのUDFファイルシステム管理情報にアクセスで
きない場合に、History Tableから対応す
る最新のHistory Descriptorを抽出
し、その情報から対応するデータの記録位置を把握しデ
ータにアクセスする事を可能とした。また、この情報を
利用して主の管理情報であるUDFの管理情報を再構築
する事も可能である。
【0147】例えば、あるファイルを管理するUDFの
File Entryが読み出せなくなった場合は、対
応するバックアップ情報に相当するHistory D
escriptorの情報を元にFile Entry
をUDFのパーティション内に記録し直す。
【0148】File Entryの情報としては、作
成時刻はFile Entryを作成し直した時刻、属
性情報は標準的な情報にセットされ、問題の発生する前
の状態とは必ずしも同じでは無いが、データにアクセス
するための必要最低限の情報であるデータの記録位置情
報に関しては完全に復活できるわけである。復旧したU
DFのFile Entryの記録位置が問題のあった
元のFile Entryの記録位置と異なる場合、F
ile Entryの記録位置を管理しているUDF管
理情報のFile Identifier Descr
iptor内のポインタ情報を新しく作成し直したFi
le Entryの記録位置に更新を行う。
【0149】続いて、History Tableの再
構築の要求が発生した際の処理の流れを図30に示した
フローチャートに基づいて説明する。
【0150】ステップS90において、History
Tableの再構築の要求が発生した場合、ステップ
S91において、Primary History T
able Descriptorを読み出し、Hist
ory Tableの大きさと、History Ta
ble中のHistory Descriptorの数
を把握してHistory Tableをディスクから
読み出す。具体的には、History Table中
のNumber of History Descri
ptorsによってHistory Table中のH
istoryDescriptorの数を、Histo
ry Table SizeからHistory Ta
bleの最後尾の位置を把握する事が可能となり、読み
出されたHistory Tableは制御部のメモリ
上でHistory Descriptor毎に展開さ
れる。
【0151】ステップS92において、History
Table中の最後のHistory Descri
ptorに注目をする。ステップS93において、Hi
story Table中の全てのHistory D
escriptorを見たかどうかを判定し、全てのH
istory Descriptorについて処理が終
っていれば処理を終了する。まだ処理が終っていない場
合は、ステップS94において、注目しているHist
ory Descriptorのイベント種別を表すA
ttributeが削除かどうかを判定する。イベント
種別が削除の場合は、ステップS98において注目して
いるHistory Descriptorを削除リス
トに追加する。具体的には注目しているHistory
DescriptorのLBN of FEを削除リ
ストに登録する事を行う。ステップS99において注目
しているHistory DescriptorをHi
story Table中の1つ前のHistory
Descriptorに変更し、ステップS93に戻り
処理を繰り返す。
【0152】ステップS94においてイベント種別が削
除でない場合、ステップS95において注目しているH
istory Descriptorが削除リストに含
まれているかを判定する。具体的には、注目しているH
istory DescriptorのLBN of
FEと削除リストに含まれるLBN of FEを比較
する事によって行う。ステップS96において削除リス
トに含まれていたかを判定し、含まれていた場合は、そ
のままステップS99において注目しているHisto
ry DescriptorをHistory Tab
le中の1つ前のHistory Descripto
rに変更し、ステップS93に戻り処理を繰り返す。
【0153】ステップS96において削除リストに含ま
れていないと判定された場合、ステップS97において
抽出結果リストに追加する。具体的には注目しているH
istory Descriptorをそのまま抽出結
果リストにコピーする事を行う。ステップS98におい
て、注目しているHistory Descripto
rを削除リストに追加し、ステップS99において注目
しているHistory DescriptorをHi
story Table中の1つ前のHistory
Descriptorに変更し、ステップS93に戻り
処理を繰り返す。
【0154】このような処理を行う事によって、His
tory Table中の同じファイルやディレクトリ
を示す重複するHistory Descriptor
を削除し、更新履歴として存在した不要な情報を削除す
る事が可能となる。具体的には、処理が終わった段階で
抽出結果リストに残っているHistory Desc
riptorが目的の情報となる。
【0155】続いて、History Tableから
あるファイルやディレクトリに関する更新履歴を取得し
たい要求が発生した際の処理の流れを図31に示したフ
ローチャートに基づいて説明する。
【0156】ステップS100において、Histor
y Tableからあるファイルやディレクトリに関す
る更新履歴を取得したい要求が発生した場合、ステップ
S101において、Primary History
Table Descriptorを読み出し、His
tory Tableの大きさと、HistoryTa
ble中のHistory Descriptorの
数を把握してHistory Tableをディスクか
ら読み出す。
【0157】具体的には、History Table
中のNumber of History Descr
iptorsによってHistory Table中の
History Descriptorの数を、His
tory Table SizeからHistory
Tableの最後尾の位置を把握する事が可能となり、
読み出されたHistory Tableは制御部のメ
モリ上でHistory Descriptor毎に展
開される。
【0158】ステップS102において、Histor
y Table中の最後のHistory Descr
iptorに注目をする。ステップS103において、
検索対象を示す変数であるSEARCHKEYに目的の
LBN of FEをセットする。LBN of FE
は、検出対象のファイルやディレクトリを管理するFi
le Identifier Descriptorに
よって把握する事が可能である。ステップS104にお
いて、History Table中の全てのHist
ory Descriptorを調べたかどうかを判定
し、全てのHistory Descriptorにつ
いて処理が終っていれば処理を終了する。
【0159】まだ処理が終っていない場合は、ステップ
S105において、注目しているHistory De
scriptorのLBN of FEが対象としてい
るファイルあるいはディレクトリと一致するかどうかを
判定する。具体的にはSEARCHKEYと注目してい
るHistory DescriptorのLBNof
FE を比較する事によって行う。一致しない場合は
ステップS107において注目するHistory D
escriptorをHistory Table中の
1つ前のHistory Descriptorに変更
し、ステップS104に戻り処理を繰り返す。
【0160】ステップS105において、注目している
History DescriptorのLBN of
FEが対象としているファイルあるいはディレクトリ
と一致する場合、ステップS106において現在注目し
ているHistory Descriptorは、更新
履歴を取得しようとしている対象のファイルあるいはデ
ィレクトリに関する更新履歴であるものとし抽出結果と
してリストアップする事になる。ステップS107にお
いて注目するHistory Descriptorを
History Table中の1つ前のHistor
y Descriptorに変更し、ステップS104
に戻り処理を繰り返す。
【0161】ステップS107において注目するHis
tory DescriptorをHistory T
able中の1つ前のHistory Descrip
torに変更し、ステップS104に戻り処理を繰り返
す。
【0162】このような処理によって、History
Tableから更新履歴を取得したいファイルあるい
はディレクトリに関する全てのHistory Des
criptorを簡単に抽出する事が可能となる。具体
的には、処理が終わった段階の抽出結果リストに残って
いるHistory Descriptorが目的の情
報となる。
【0163】説明してきたHistory Table
では、アクセスしようとするファイルやディレクトリが
あらかじめ分かっている場合には、History T
ableに含まれる対応するHistory Desc
riptorを探し出すだけの処理で終わる。仮に管理
情報のバックアップの対象となるファイルシステムの管
理情報が全くディスクから読み出せなくなり、どのよう
なファイルが記録されているか、あるいはどのようなデ
ィレクトリ構造の状態であるかが不明になる事も考えら
れる。このような状況が発生した場合には、Histo
ry Tableを再構築し残されたHistory
Descriptorを参照する事によって、バックア
ップ情報を介してファイルの実体にアクセスしたり、管
理情報の復旧をするための情報をして利用できる事にな
る。
【0164】ここで、UDFファイルシステムにおい
て、ファイルやディレクトリを管理するFile En
tryにアクセスできなかった場合に、バックアップ情
報を元に管理情報を復旧する手順を図32に示すフロー
チャートに基づいて説明する。
【0165】ステップS110において、UDFファイ
ルシステムにおいてファイルやディレクトリを管理する
File Entryにアクセスできない事が、例え
ば、File Entryの読み出しが物理的に失敗し
たり、読み出せた場合であってもFile Entry
のヘッダ情報に記録されているチェックサムやCRC情
報が正しくない事によって検出された場合、ステップS
111において、問題のファイルやディレクトリのFi
le Entryの記録位置を示すLBN ofFEで
指定してHistory Tableより対応するバッ
クアップ情報であるHistory Descript
orを抽出する。具体的な抽出方法は既に述べた通りで
ある。ステップS112において、抽出したHisto
ry Descriptorの情報からFile En
tryの再生成を行うが、このFile Entryに
は、History Descriptorに含まれる
Allocation Descriptorsの内容
をコピーする。
【0166】Allocation Descript
orsにはファイルに対応するデータの記録位置情報が
格納されており、この情報が存在すればデータを読み出
すための位置情報がわかるのでデータの読み出しが可能
となる。再生成したFileEntryはディスク上に
記録する。ステップS113において、アクセスできな
かったFile Entryの記録位置を管理している
UDFのFileIdentifier Descri
ptorのICBフィールドを、記録し直したFile
Entryの記録位置を管理するように更新する。再
生成したFile Entryを、読み出せなかったF
ile Entryと同じ位置に記録し直した場合は上
記の更新処理を行う必要はない。
【0167】第2の実施形態では、History D
escriptorで管理するバックアップ対象のファ
イルやディレクトリを特定するための識別情報として管
理情報の記録媒体上の記録位置情報を用い、ファイル名
やディレクトリ名は管理していない。よって、バックア
ップ情報単独でファイルの実体にアクセスする事は可能
であるが、そのファイル名やディレクトリ階層を再構築
する事はできない。つまり、通常はUDFにおけるファ
イルやディレクトリの名前と対応するFileEntr
yの記録位置を管理するFile Identifie
r Descriptorの情報にアクセスできる事が
前提となる。よってFile Identifier
Descriptorにアクセスできなくなると、バッ
クアップ情報だけではファイル名やディレクトリ階層の
復旧ができなくなってしまう。
【0168】この問題を解決するために、図33に示す
ようにディレクトリを管理するFile Entryと
ファイルやディレクトリの名前と対応するFile E
ntryの記録位置等を管理するFile Ident
ifier Descriptorをディレクトリ構造
用管理情報領域に記録する。この領域に記録されている
管理情報にアクセスする事によってディスクに記録され
ているファイルやディレクトリ構造を容易に把握する事
が可能となる。ファイルの実体を管理するFile E
ntryをこの領域に記録しないため、大量のファイル
を作成しても領域として必要な大きさを抑える事が可能
である。これは、File Identifier D
escriptorのデータ量が少ないためである。
【0169】例えば1つのファイルを管理するFile
Entryはディスク上の1論理ブロック(2KB)
を占有してしまうが、File Identifier
Descriptorは12文字のファイル名の場合
52byteしか占有しない。よって同じ2KBで管理
できるFile Identifier Descri
ptorの数は約39ファイル分となる。
【0170】例えば、図33に示すように上記管理情報
用の領域をそのまま後続する領域全体をコピーしその領
域を1つのファイルとして管理する事が考えられる。こ
のディレクトリ構造管理情報用領域のバックアップファ
イルに特定の名前をつける事によって、ディレクトリ構
造を管理するUDFの管理情報のバックアップにアクセ
スする事が可能となる。別の手段としてこの管理情報用
のバックアップをファイルとして管理するのではなく、
UDFのパーティションの外の記録位置が固定された専
用領域に記録しても良い。いずれにしても、File
Identifier Descriptorが2重化
されているため、万が一File Identifie
r Descriptorにアクセスできないような問
題が発生した場合には、このディレクトリ構造の管理情
報のバックアップにアクセスする事によって問題を解決
する事が可能である。
【0171】本発明第1および第2の実施の形態では、
History Tableをディスク上に確保された
専用のバックアップ領域に記録したが、この情報を専用
領域に記録せずにバックアップの対象となるファイルシ
ステム内で普通のファイルとして記録する事も考えられ
る。このような構成を取る事によって、バックアップ用
の専用領域を用意する必要が無く、ファイルとして記録
されるのでバックアップ情報であるHistory T
ableをディスク上の任意の箇所に記録する事が可能
となる。
【0172】また、History Tableの内容
を不揮発性の半導体メモリに格納する事も考えられる。
このように、データ自体が記録されている記録媒体と異
なる媒体にHistory Tableを記録する場合
は、History Tableと対応するファイルシ
ステムが記録されているメディアを識別するための情報
と共に記録する事によって、ディスクメディアとHis
tory Tableの対応を取る事が可能となる。
【0173】
【発明の効果】本発明によれば、論理ファイルシステム
の管理情報を多重する機能が無いようなファイルシステ
ムであっても、ファイルに関する作成、変更、削除、デ
ィレクトリに関する作成、削除と言ったイベントが発生
する度に、対応するファイルやディレクトリにアクセス
するための識別情報と、ファイルやディレクトリの管理
情報を復旧するための必要最低限の情報とで構成される
History DescriptorをHistor
y Tableに単純な処理である追加処理を行う。ま
た、History DescriptorをHist
ory Tableを記録する領域の後方から前方方向
へ順番に記録することによって、History Ta
ble内のHistory Descriptorへの
アクセスを容易に実現させる事になる。
【0174】この事によって、論理ファイルシステムの
管理情報が読み出せなくなった場合にこのバックアップ
情報であるHistory Tableにアクセスする
事によって対応するファイルやディレクトリにアクセス
する事と管理情報の復旧が可能となる。
【0175】また、バックアップ情報であるHisto
ry Tableは、ファイルやディレクトリに関する
作成、変更、削除と言ったイベントが発生する度に追加
されるものなので、ファイルやディレクトリの更新履歴
情報としても用いる事が可能となる。
【図面の簡単な説明】
【図1】本発明のディスク管理方法の実施形態における
ブロック図を示す説明図である。
【図2】本発明のディスク管理方法の実施形態において
UDFのパーティションとバックアップ領域の関係を示
す説明図である。
【図3】本発明のディスク管理方法の実施形態において
バックアップ領域の内容を示す説明図である。
【図4】本発明のディスク管理方法の第1実施形態にお
けるPrimary History Table D
escriptorを示す説明図である。
【図5】本発明のディスク管理方法の第1実施形態にお
けるHistory Descriptorを示す説明
図である。
【図6】本発明のディスク管理方法の第1実施形態にお
けるディレクトリ階層の例を示す説明図である。
【図7】本発明のディスク管理方法の第1実施形態にお
ける図6に対応するUDF管理情報とデータのディスク
上での配置の例を示す説明図である。
【図8】本発明のディスク管理方法の第1実施形態にお
ける図7に対応するHistory Tableの一例
を示す説明図である。
【図9】本発明のディスク管理方法の第1実施形態にお
いてファイルが追加になった場合のHistory T
ableの更新の様子を示す説明図である。
【図10】本発明のディスク管理方法の第1実施形態に
おいてファイルが変更になった場合のHistory
Tableの更新の様子を示す説明図である。
【図11】本発明のディスク管理方法の第1実施形態に
おいてファイルが削除になった場合のHistory
Tableの更新の様子を示す説明図である。
【図12】本発明のディスク管理方法の第1実施形態に
おいてHistory Tableを再構築する様子を
示す説明図である。
【図13】本発明のディスク管理方法の第1実施形態に
おけるファイルやディレクトリの作成、変更、削除と言
ったイベントが発生した際の処理の手順を示すフローチ
ャートである。
【図14】本発明のディスク管理方法の第1実施形態に
おけるバックアップ情報であるHistory Tab
leにアクセスする際の処理の手順を示すフローチャー
トである。
【図15】本発明のディスク管理方法の第1実施形態に
おけるバックアップ情報であるHistory Tab
leを再構築際の処理の手順を示すフローチャートであ
る。
【図16】本発明のディスク管理方法の第1実施形態に
おけるバックアップ情報であるHistory Tab
leから特定のファイルあるいはディレクトリに関する
更新履歴を把握する処理の手順を示すフローチャートで
ある。
【図17】本発明のディスク管理方法の第1実施形態に
おけるバックアップ情報であるHistory Tab
leを用いてUDFファイルシステムにおけるファイル
を管理するFile Entryを復旧する手順を示す
フローチャートである。
【図18】本発明のディスク管理方法の第1実施形態に
おけるバックアップ情報であるHistory Tab
leを用いてUDFファイルシステムにおけるディレク
トリを管理するFile Entryを復旧する手順を
示すフローチャートである。
【図19】本発明のディスク管理方法の第2実施形態に
おけるPrimary History Table
Descriptorを示す説明図である。
【図20】本発明のディスク管理方法の第2実施形態に
おけるHistory Descriptorを示す説
明図である。
【図21】本発明のディスク管理方法の第2実施形態に
おけるディレクトリ階層の例を示す説明図である。
【図22】本発明のディスク管理方法の第2実施形態に
おける図6に対応するUDF管理情報とデータのディス
ク上での配置の例を示す説明図である。
【図23】本発明のディスク管理方法の第2実施形態に
おける図7に対応するHistory Tableの一
例を示す説明図である。
【図24】本発明のディスク管理方法の第2実施形態に
おいてファイルが追加になった場合のHistory
Tableの更新の様子を示す説明図である。
【図25】本発明のディスク管理方法の第2実施形態に
おいてファイルが変更になった場合のHistory
Tableの更新の様子を示す説明図である。
【図26】本発明のディスク管理方法の第2実施形態に
おいてファイルが削除になった場合のHistory
Tableの更新の様子を示す説明図である。
【図27】本発明のディスク管理方法の第2実施形態に
おいてHistory Tableを再構築する様子を
示す説明図である。
【図28】本発明のディスク管理方法の第2実施形態に
おけるファイルやディレクトリの作成、変更、削除と言
ったイベントが発生した際の処理の手順を示すフローチ
ャートである。
【図29】本発明のディスク管理方法の第2実施形態に
おけるバックアップ情報であるHistory Tab
leにアクセスする際の処理の手順を示すフローチャー
トである。
【図30】本発明のディスク管理方法の第2実施形態に
おけるバックアップ情報であるHistory Tab
leを再構築際の処理の手順を示すフローチャートであ
る。
【図31】本発明のディスク管理方法の第2実施形態に
おけるバックアップ情報であるHistory Tab
leから特定のファイルあるいはディレクトリに関する
更新履歴を把握する処理の手順を示すフローチャートで
ある。
【図32】本発明のディスク管理方法の第2実施形態に
おけるバックアップ情報であるHistory Tab
leを用いてUDFファイルシステムにおけるファイル
やディレクトリを管理するFile Entryを復旧
する手順を示すフローチャートである。
【図33】本発明のディスク管理方法の第2実施形態に
おけるディレクトリ構造を管理するUDF管理情報の2
重化の様子の説明図である。
【図34】従来技術における論理ファイルシステムの管
理情報とデータの記録される領域の様子の説明図であ
る。
【図35】従来技術における論理ファイルシステムの管
理情報とデータの記録される領域が別れているファイル
システムの様子の説明図である。
【符号の説明】
1 データ入出力部 2 データ処理部 3 メモリ 4 システム制御部 5 ディスク制御部 6 ディスク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西村 元秀 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 木山 次郎 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 山村 博幸 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 山口 孝好 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 木付 英士 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 Fターム(参考) 5B018 GA04 HA22 MA12 5B082 DE01 EA01 GA14

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 入力されたデータをファイルとして記録
    媒体に記録し、各ファイルを少なくとも該ファイルの記
    録媒体上における記録位置情報を含む管理情報により管
    理する記録装置におけるファイル管理方法であって、 前記記録媒体へのファイルの追加、変更、削除のアクシ
    ョンが行われる毎に、当該ファイルのファイル識別情報
    と当該ファイルの記録媒体上の記録位置情報及びファイ
    ルのアクション種別を対応づけた履歴情報を順次作成
    し、 当該履歴情報を履歴テーブル領域に履歴情報の作成順に
    記録することを特徴とするファイル管理方法。
  2. 【請求項2】 入力されたデータをファイルとして記録
    媒体に記録し、各ファイルを少なくとも該ファイルの記
    録媒体上における記録位置情報を含む管理情報により管
    理する記録装置におけるファイル管理方法であって、 前記履歴情報を前記ファイル及び管理情報の記録領域と
    は異なる履歴テーブル領域に履歴情報の作成順に記録す
    ることを特徴とする請求項1に記載のファイル管理方
    法。
  3. 【請求項3】 入力されたデータをファイルとして記録
    媒体に記録し、各ファイルを少なくとも該ファイルの記
    録媒体上における記録位置情報を含む管理情報により管
    理する記録装置におけるファイル管理方法であって、 ファイルとして管理される、前記履歴情報を記録する履
    歴テーブル領域に履歴情報の作成順に記録することを特
    徴とする請求項1に記載のファイル管理方法。
  4. 【請求項4】 入力されたデータをファイルとして記録
    媒体に記録し、各ファイルを少なくとも該ファイルの記
    録媒体上における記録位置情報を含む管理情報により管
    理する記録装置におけるファイル管理方法であって、 前記記録媒体へのファイルの追加、変更、削除のアクシ
    ョンが行われる毎に、前記履歴テーブル領域に記録する
    前記ファイル識別情報として、当該ファイルのファイル
    名あるいはファイルIDを含むことを特徴とする請求項
    1乃至請求項3に記載のファイル管理方法。
  5. 【請求項5】 入力されたデータをファイルとして記録
    媒体に記録し、各ファイルを少なくとも該ファイルの記
    録媒体上における記録位置情報を含む管理情報により管
    理する記録装置におけるファイル管理方法であって、 前記記録媒体へのファイルの追加、変更、削除のアクシ
    ョンが行われる毎に、前記履歴テーブル領域に記録する
    前記ファイル識別情報として、当該ファイルを管理する
    管理情報の記録媒体上の記録位置情報を含むことを特徴
    とする請求項1乃至請求項3に記載のファイル管理方
    法。
  6. 【請求項6】 入力されたデータをファイルとして記録
    媒体に記録し、各ファイルを少なくとも該ファイルの記
    録媒体上における記録位置情報を含む管理情報により管
    理する記録装置におけるファイル管理方法であって、 前記記録媒体へのファイルの追加、変更、削除のアクシ
    ョンが行われる毎に、前記履歴テーブル領域に記録する
    前記履歴情報として、当該ファイルを管理する管理情報
    の記録媒体上の記録位置情報を含むことを特徴とする請
    求項4に記載のファイル管理方法。
  7. 【請求項7】 前記記録媒体へのファイルの追加、変
    更、削除のアクションが行われる毎に、前記履歴情報を
    記録装置のメモリ上に順次作成し、前記記録装置におい
    て、前記記録媒体の取り出し指示が行われた場合、当該
    履歴情報を該記録媒体上の履歴テーブル領域に記録する
    ことを特徴とする前記請求項1乃至請求項6に記載のフ
    ァイル管理方法。
  8. 【請求項8】 前記記録媒体へのファイルの追加、変
    更、削除のアクションが行われる毎に、前記履歴情報を
    記録装置のメモリ上に順次作成し、前記記録装置におい
    て、メモリへの電源供給切断指示が行われた場合、当該
    履歴情報を該記録媒体上の履歴テーブル領域に記録する
    ことを特徴とする前記請求項1乃至請求項6に記載のフ
    ァイル管理方法。
  9. 【請求項9】 履歴テーブルの履歴確認指示に基づい
    て、前記履歴テーブル領域に記録された履歴情報のう
    ち、所定のファイル識別情報を有する履歴情報のみを抽
    出することを特徴とする前記請求項1乃至請求項8のい
    ずれかに記載のファイル管理方法。
  10. 【請求項10】 履歴テーブルの再構築指示に基づい
    て、前記履歴テーブル領域に記録された履歴情報のう
    ち、同一のファイル識別情報を有する履歴情報を、当該
    履歴情報のアクション種別に応じて一つの履歴情報に統
    合し、履歴テーブル領域を縮小することを特徴とする前
    記請求項1乃至請求項9のいずれかに記載のファイル管
    理方法。
  11. 【請求項11】 前記管理情報は、ディレクトリの管理
    情報を含み、前記記録媒体へのディレクトリ情報の追
    加、削除のアクションが行われる毎に、当該ディレクト
    リの識別情報とアクション種別を対応づけた履歴情報を
    順次作成し、当該履歴情報を履歴テーブル領域に順次追
    記記録することを特徴とする前記請求項1乃至請求項1
    0のいずれかに記載のファイル管理方法。
  12. 【請求項12】 前記履歴情報を履歴テーブル領域に順
    次追記記録する際、前記履歴テーブル領域の後方から前
    方方向へ順番に記録することを特徴する前記請求項1乃
    至請求項11のいずれかに記載のファイル管理方法。
  13. 【請求項13】 ファイルの読出し指示に基づいて、前
    記管理情報を検索して、ファイルの読出しを行う際、当
    該ファイルの管理情報が読み出せない場合、前記履歴テ
    ーブル領域から、当該ファイルのファイル識別情報を有
    する最新の履歴情報を読出し、当該履歴情報に基づいて
    ファイルの読出しを行うことを特徴とする前記請求項1
    乃至請求項12に記載のファイル管理方法。
  14. 【請求項14】 管理情報の再構築指示に基づいて、前
    記履歴テーブル領域から履歴情報を読みだし、当該履歴
    情報に基づいて、管理情報を生成し、当該管理情報を記
    録媒体に記録することを特徴とする前記請求項1乃至請
    求項13のいずれかに記載のファイル管理方法。
JP2001170443A 2000-06-23 2001-06-06 ファイル管理方法 Pending JP2002082825A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2001170443A JP2002082825A (ja) 2000-06-23 2001-06-06 ファイル管理方法
KR1020027017476A KR100546524B1 (ko) 2000-06-23 2001-06-21 파일 관리 방법
US10/312,483 US20030163449A1 (en) 2000-06-23 2001-06-21 File managing method
CNB018144322A CN1265293C (zh) 2000-06-23 2001-06-21 文件管理方法
EP01941155A EP1306761B1 (en) 2000-06-23 2001-06-21 File managing method
PCT/JP2001/005315 WO2001098905A1 (fr) 2000-06-23 2001-06-21 Procédé de gestion des fichiers
DE60144424T DE60144424D1 (de) 2000-06-23 2001-06-21 Dateiverwaltungsverfahren

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-188671 2000-06-23
JP2000188671 2000-06-23
JP2001170443A JP2002082825A (ja) 2000-06-23 2001-06-06 ファイル管理方法

Publications (1)

Publication Number Publication Date
JP2002082825A true JP2002082825A (ja) 2002-03-22

Family

ID=26594509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001170443A Pending JP2002082825A (ja) 2000-06-23 2001-06-06 ファイル管理方法

Country Status (7)

Country Link
US (1) US20030163449A1 (ja)
EP (1) EP1306761B1 (ja)
JP (1) JP2002082825A (ja)
KR (1) KR100546524B1 (ja)
CN (1) CN1265293C (ja)
DE (1) DE60144424D1 (ja)
WO (1) WO2001098905A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100600933B1 (ko) 2003-06-24 2006-07-13 인터내셔널 비지네스 머신즈 코포레이션 파일 시스템 백업 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
JP2007080185A (ja) * 2005-09-16 2007-03-29 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185013B2 (en) * 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
GB0302602D0 (en) * 2003-02-04 2003-03-12 Young Arthur P Equipment and methods for real time application
TW200519592A (en) * 2003-11-06 2005-06-16 Matsushita Electric Ind Co Ltd Information recording medium, access apparatus thereof and recording region setting method
KR100992679B1 (ko) 2003-11-14 2010-11-05 엘지전자 주식회사 이동통신 단말기의 컨텐츠 첨부 방법
JP4106662B2 (ja) * 2003-11-17 2008-06-25 ソニー株式会社 情報記録再生装置および方法、プログラム格納媒体、並びにプログラム
US7328217B2 (en) * 2003-11-26 2008-02-05 Symantec Operating Corporation System and method for detecting and storing file identity change information within a file system
KR20050058939A (ko) * 2003-12-13 2005-06-17 삼성전자주식회사 광디스크의 파일 시스템 포맷의 변환 방법 및 그 장치
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
JP2005267559A (ja) * 2004-03-22 2005-09-29 Sony Corp 記録再生装置、情報転送管理方法および記録媒体
US7610296B2 (en) * 2004-12-17 2009-10-27 Microsoft Corporation Prioritized files
JP4665963B2 (ja) * 2005-02-14 2011-04-06 セイコーエプソン株式会社 外部記録媒体書き込み装置を用いたデータ管理方法およびデータ管理システム
US7672979B1 (en) * 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators
JP2007128448A (ja) * 2005-11-07 2007-05-24 Sony Corp ファイルシステム及びファイル情報処理方法
KR100843075B1 (ko) * 2006-05-29 2008-07-03 삼성전자주식회사 데이터를 관리하는 장치 및 방법
KR100877063B1 (ko) * 2006-05-29 2009-01-07 삼성전자주식회사 데이터를 관리하는 장치 및 방법
CN101237512B (zh) * 2007-01-31 2010-09-15 三洋电机株式会社 内容处理设备
JP5132676B2 (ja) * 2007-04-25 2013-01-30 パナソニック株式会社 情報再生方法及び情報再生装置
KR101207510B1 (ko) * 2008-12-18 2012-12-03 한국전자통신연구원 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법
US8073875B2 (en) * 2009-04-22 2011-12-06 International Business Machines Corporation Managing deleted directory entries
US8285754B2 (en) * 2009-04-22 2012-10-09 International Business Machines Corporation Preserving references to deleted directory entries
JP2014067112A (ja) * 2012-09-25 2014-04-17 Sony Corp 情報処理装置および方法、並びにプログラム
US9892121B2 (en) * 2014-07-15 2018-02-13 Hitachi, Ltd. Methods and systems to identify and use event patterns of application workflows for data management
US20160026941A1 (en) * 2014-07-26 2016-01-28 International Business Machines Corporation Updating and synchronizing existing case instances in response to solution design changes
CN106156129A (zh) * 2015-04-08 2016-11-23 联想(北京)有限公司 文件管理方法及装置
US9910968B2 (en) * 2015-12-30 2018-03-06 Dropbox, Inc. Automatic notifications for inadvertent file events
KR20210026143A (ko) 2019-08-29 2021-03-10 삼성전자주식회사 파일 시스템에 저장된 파일 또는 디렉토리의 크기를 획득하기 위한 전자 장치 및 방법
US11586493B2 (en) * 2021-03-29 2023-02-21 Red Hat, Inc. Efficient checksum computation
CN116541347B (zh) * 2023-06-29 2023-12-01 北京数场科技有限责任公司 获得文档认知的方法、装置以及计算设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827462A (en) * 1987-03-26 1989-05-02 International Business Machines Corporation Modular data storage directories for large-capacity data storage units
JP2633614B2 (ja) * 1988-03-29 1997-07-23 株式会社日立製作所 フアイル保護装置
US5214781A (en) * 1988-07-25 1993-05-25 Matsushita Electric Industrial Co., Ltd. Method of managing storage medium
JPH02132516A (ja) * 1988-11-11 1990-05-22 Matsushita Electric Ind Co Ltd 書込可能型光ディスク管理システム及び方法
JPH0620442A (ja) * 1992-07-02 1994-01-28 Toshiba Corp 光磁気ディスクの障害復旧方法
JPH08147702A (ja) * 1994-11-11 1996-06-07 Mitsumi Electric Co Ltd 光ディスク書き込み方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNB200100200001, ヴァハリア ユーレッシュ, 最前線UNIXのカーネル 初版, 20000515, 第1版, p.397−414, JP, 株式会社ピアソン・エデュケーション *
CSND200200686010, 石川 睦, "最新ファイル・システムを検証する Part3 Ext3 vs ReiserFS vs XFS", UNIX USER, 20000601, 第9巻第6号, p. 99−108, JP, ソフトバンクパブリッシング株式会社 *
JPN6010052670, ヴァハリア ユーレッシュ, 最前線UNIXのカーネル 初版, 20000515, 第1版, p.397−414, JP, 株式会社ピアソン・エデュケーション *
JPN6010052671, 石川 睦, "最新ファイル・システムを検証する Part3 Ext3 vs ReiserFS vs XFS", UNIX USER, 20000601, 第9巻第6号, p. 99−108, JP, ソフトバンクパブリッシング株式会社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100600933B1 (ko) 2003-06-24 2006-07-13 인터내셔널 비지네스 머신즈 코포레이션 파일 시스템 백업 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
US7092976B2 (en) 2003-06-24 2006-08-15 International Business Machines Corporation Parallel high speed backup for a storage area network (SAN) file system
JP2007080185A (ja) * 2005-09-16 2007-03-29 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP4708938B2 (ja) * 2005-09-16 2011-06-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラム及び記憶媒体

Also Published As

Publication number Publication date
DE60144424D1 (de) 2011-05-26
KR100546524B1 (ko) 2006-01-26
WO2001098905A1 (fr) 2001-12-27
US20030163449A1 (en) 2003-08-28
CN1265293C (zh) 2006-07-19
EP1306761A4 (en) 2004-10-20
CN1447939A (zh) 2003-10-08
KR20030010751A (ko) 2003-02-05
EP1306761A1 (en) 2003-05-02
EP1306761B1 (en) 2011-04-13

Similar Documents

Publication Publication Date Title
JP2002082825A (ja) ファイル管理方法
JP3938594B2 (ja) ファイル名生成装置
US7934064B1 (en) System and method for consolidation of backups
US6665815B1 (en) Physical incremental backup using snapshots
JP4256851B2 (ja) ファイル・システム・スナップショットの永続性のための方法および装置
CN108319602B (zh) 数据库管理方法及数据库系统
US8874517B2 (en) Summarizing file system operations with a file system journal
CN108009098B (zh) 具有经压缩的正向映射的存储分层
US9773059B2 (en) Tape data management
JPH10124367A (ja) ファイルおよびディレクトリを変換する方法
US5963961A (en) Database reconstruction using embedded database backup codes
JP2007233638A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR100927282B1 (ko) 기록 방법, 기록 장치 및 기록 매체
JP2005050073A (ja) データ復旧方法およびデータ記録装置
US20050262033A1 (en) Data recording apparatus, data recording method, program for implementing the method, and program recording medium
US6697813B1 (en) Data structures and methods for imaging computer readable media
JP2005189982A (ja) データ保存装置及びデータ保存方法
CN111258503B (zh) 一种cirros文件系统的管理方法和装置
JP2002373099A (ja) ディスク管理方法
JP2001249838A (ja) ファイル管理方法
JPH09152983A (ja) フラッシュメモリに内在するファイルシステムにおけるリエントラントガーベジコレクション処理
JPH0844609A (ja) データバックアップ方法
WO2001067251A1 (fr) Procede de gestion de fichiers
JP2004206742A (ja) 記録再生装置
JP2001092701A (ja) ファイル復旧方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071026

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071205

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110125