非逐次記録を用いる情報交換用メディアを対象とする論理構造が, 筆者らが参加する国際標準化機構の技術委員会 ISO/IEC JTC1/SC15によってISO/IEC 13346(文献[1])として標準化され(1995年12月), さらに筆者らによって翻訳されてJIS X 0607(文献[2])として制定された(1996年3月)。そこで規定されたフォーマットは, 書換形又は追記形の光ディスクへの適用を主目的し, それらへの効率的な情報記録を可能にするために, 情報制御ブロック(ICB)を導入している。メディアの種別は,追記形,再生専用形,書換形,又はそれらを組み合わせた複合形のどれであってもよい。この論理フォーマットの概要を紹介する。
1. 背景
可換記憶メディアを用いて開放形システム間で情報交換を行うためには,メディアの物理構造によって用意された記憶機能(物理セクタなど)を利用して,ファイル及び論理ボリュームに代表される論理的データ構造を規定し,文書処理等の応用にとって使いやすい論理的記憶単位を,標準化されたフォーマットとして提供する必要がある。フレキシブルディスク及びCD-ROMのこのような論理的記憶単位のフォーマットは,既に国際規格及び日本工業規格(文献[3],[4])によって規定されている。しかし,追記形及び書換形の光ディスクについては, その物理的特徴に基づく論理的構造の標準的な国際規定がこれまでには殆どなく,光ディスクを用いた文書ファイリングシステムなどの異なるベンダの製品間での情報交換を困難にしていた。
可換記憶メディアによる情報交換では,メディアの記憶情報量が大きくなると情報当たりの転送価格が下がり,情報転送完了時間についても通信回線より有利な範囲が存在する。そこで追記形及び書換形の光ディスクによる情報交換が注目され,電子出版物の配布・流通への応用等が期待されている。その実用化には, 追記形及び書換形の情報交換用メディアのボリューム構造及びファイル構造の規格が不可欠であり,国際規格及び日本工業規格の制定が強く望まれていた。
この規格の原文であるISO/IEC 13346の骨子は,米国の標準化委員会X3B11.1の作業によって開発された。その委員会での活動は1989年6月に始まり,光ディスクベンダ並びに主要なソフトベンダ及びシステムベンダの参加があって,彼らから多くの寄与を受けた。X3B11.1はこの作業に関して,欧州電子計算機工業会の技術委員会 ECMA/TC15,国際標準化機構の技術委員会ISO/IEC JTC1/SC15及び日本のJTC1/SC15対応国内委員会の積極的なリエゾンをも求め,国際的なフィードバックを得た。
この活動成果は,まず欧州電子計算機工業規格 ECMA-167(文献[5])として1992年6月に出版された。ECMAは直ちにそれをISO/IEC JTC1に提出して,Fast-Track手続きによって国際規格としての承認を求めた。その結果,ECMA-167はISO/IEC DIS 13346となって配布され,1993年7月を期限とする国際投票を受けた。この規格案は賛成多数で承認されたが,フランス,日本,米国及びECMAが多くのコメントを投票に添付して提出し,それらを反映した内容が国際規格 ISO/IEC 13346となって,1995年12月に出版された。
通産省工業技術院からJIS化作業の依託を受けた光産業技術振興協会の光ディスク標準化委員会は,1993年4月からISO/IEC DIS 13346の翻訳に着手した。翻訳の過程で明らかになった規格内容の問題点は,DIS投票の際のコメントとしてISO/IEC JTC1に提出され,国際規格に反映された。光ディスク標準化委員会は,この国際規格案(DIS)の翻訳を1994年3月に完成し,さらに国際投票の結果に基づく修正版の翻訳(抄訳)をJIS原案として1995年2月に工業技術院に提出している。
ISO/IEC 13346は,ファイル交換のためのISO 9293,ISO 9660のような既存のボリューム構造及びファイル構造の規格に並ぶ規格をターゲットとして,その開発が始まった。しかし多くの議論の結果, この規格は少なくとも次の2点で,既存のボリューム構造及びファイル構造の規格とは異なるものになっている。
この規格は,次に示す5部に分割された構成をとる。
部に分割されているという形式的な特徴に加えて, この規格は次の機能的な特徴をもつ。
この規格は,ボリューム構造とファイル構造とに階層を分けた規格であり,各階層における割付けの単位が次のように異なることに注意が必要である。
ファイル構造は論理ボリューム(区画群)中に記録するため,ファイル構造の階層での位置付けは,区画参照番号(論理ボリュームを構成する区画群中の区画を特定する番号)と,その区画中の相対的な論理ブロック番号とで指定する。
第3部に適合するボリューム構造では,論理ブロックの大きさ及び論理ボリュームを構成する区画群は,論理ボリューム記述子中に指定する。
4. ボリューム認識
CD-ROMの論理構造を規定するJIS X 0606(ISO 9660)は, 論理セクタ番号16(論理セクタ長は2048バイト)から始まる固定領域を, JIS X 0606のボリューム記述子集合を記録する領域としている。JIS X 0607は, この領域, つまり論理セクタ番号0の先頭バイト(バイト位置0)から数えてバイト位置32768を先頭とする固定領域を, ボリューム認識領域と規定している。
ボリューム認識領域中に記録するボリューム認識列を参照することによってJIS X 0606とこの規格(JIS X 0607)との論理的な識別を可能にし,さらにISO/IEC 13490(文献[6])(JIS X 0608(文献[7]))との論理的な識別をも可能にする。この規格のボリューム構造を記録する場合には,ボリューム認識列中に拡張領域を記録し,拡張領域中にNSR記述子を記録する。
ボリューム認識列は,複数の起動記述子を記録することによって,異なる複数のオペレーティングシステムの起動を可能とする構造を提供する。
図 1にボリューム認識列の概要を示す。
ボリューム認識列には,次に示す構造を記録する。
ボリューム認識列の記述子が,拡張領域先頭記述子でない場合,CD-ROMボリューム記述子集合とみなし,JIS X 0606に従って解釈する。ボリューム認識列の記述子が,拡張領域先頭記述子の場合,拡張領域とみなし,この規格に従って解釈する。
拡張領域には,次に示す記述子を記録する。
拡張領域は,拡張領域先頭記述子で始まり,拡張領域終端記述子で終了する。拡張領域中には,その他にボリューム構造記述子及び起動記述子を記録する。
この規格のボリューム構造である場合には,拡張領域中にボリューム構造記述子としてNSR記述子を記録する。JIS X 0608のボリューム構造である場合には,拡張領域中に他のボリューム構造記述子を記録する。
拡張領域中には,複数個の起動記述子を記録できる。起動記述子には,体系種別,起動識別子及び起動情報を指定する。複数の起動記述子により,異なる複数のオペレーティングシステムの起動を可能にする(各オペレーティングシステムは,自システム用の起動記述子を読み出し,それに従って動作すればよい)。
5. ボリューム構造
ボリュームについての情報は,ボリューム記述子列として記録する。ボリューム記述子列は,二重化(予備ボリューム記述子列)も可能である。ボリューム記述子列の位置は,複数の開始点から指定する。
開始点は,論理セクタ番号“256,n-256,n,ip(n/59)の整数倍(n: 最大セクタ番号,ip: 整数部分)”のセクタのうちの,2個以上のセクタである。開始点の位置はこれらの論理セクタに固定され,ボリューム認識列からの指定はない。開始点には,開始ボリューム記述子ポインタを記録する。
開始ボリューム記述子ポインタには,主ボリューム記述子列及び予備ボリューム記述子列の位置を記録する。予備ボリューム記述子列はオプションであり,記録する場合,その内容は主ボリューム記述子列と同等である必要がある。
図 2に開始点とボリューム記述子列との関係を示す。
ボリューム記述子列には,次に示すボリューム記述子を記録する。
基本ボリューム記述子は,ボリュームに関する基本的な情報を記録する。ボリューム記述子には,ボリュームの識別子,ボリュームが属するボリューム集合中でのこのボリュームの順序番号,ボリュームの交換水準,各記述子で使用する文字集合,ボリューム集合の識別子,ボリュームの抄録,ボリュームの著作権,応用プログラム識別子及び処理システム識別子を記録する。
ボリューム記述子ポインタは,ボリューム記述子列が複数のエクステントから成る場合に,後続のエクステントの位置を指定するために使用する。
処理システム用記述子は,処理システムが自由に使用してよい。
区画記述子は,区画を記述する。区画記述子には,区画の識別子,区画の種別,区画の位置及び大きさ,並びに処理システム識別子を記録する。区画中に他のボリューム構造(例えば,JIS X 0605(ISO 9293))を記録してもよい。
論理ボリューム記述子は,区画群から成る論理ボリュームを記述する。論理ボリュームは,複数のボリュームにまたがってもよい。論理ボリューム記述子には,論理ボリュームの識別子,論理ボリューム中の論理ブロックの大きさ,論理ボリュームを構成する区画群,処理システム識別子及び論理ボリューム保全列の位置を記録する。論理ボリュームを構成する区画群は,論理ボリューム記述子中の区画マップで指定する。区画マップには,各区画の識別情報(区画が存在するボリュームのボリューム順序番号及びそのボリューム中での区画番号)を指定する。論理ボリューム中での位置の指定は,論理ボリュームを構成する区画の区画参照番号(区画マップ中での順序番号)とその区画中の相対論理ブロック番号とで指定する。論理ボリューム記述子が指定する論理ボリューム保全列は,論理ボリューム保全記述子を記録することによって論理ボリューム空間の更新状態を管理する。
未割付け空間記述子は,ボリューム中の未使用空間を記述する。
終端記述子は,ボリューム記述子列の終了を示す。
図 3に,ボリューム記述子列及び論理ボリューム保全列の概要を示す。
ファイル構造は,ボリューム構造で規定する論理ボリューム記述子で示す論理ボリューム空間中にファイル集合として記録する。ファイル集合は,ファイル集合記述子で規定する。一つの論理ボリューム中に,複数のファイル集合が存在してよい。ディレクトリ階層は,ファイル集合記述子に対応して作成する。
ファイル集合記述子を記録するファイル集合記述子列の位置は,論理ボリューム記述子中の論理ボリューム内容用欄で指定する。
ファイル集合記述子には,ファイル集合の交換水準,ファイル集合の文字集合,ファイル集合の識別子,ファイル集合の抄録及び著作権,並びにファイル集合のルートディレクトリの位置を記録する。
図 4に,ボリューム構造とファイル構造の関係を示す。
ファイル構造を記録する論理ボリューム空間は,ボリューム構造で規定する区画記述子が指定する区画の集合によって構成する。各々の区画内の空間管理及び更新状態は,次に示す情報によって管理する。
上記の情報は,区画記述子中の区画内容用欄に,区画ヘッダ記述子として指定する。
区画中の未割付け空間は,空間表又は空間ビットマップのいずれかで管理する。媒体の種別によっては,さらに未初期化空間(記録する前に準備処理が必要な空間)を,空間表又は空間ビットマップのいずれかで管理する。
区画中の更新状況は,区画保全表に記録する区画保全エントリで管理する。
図 5に,区画記述子と区画内の管理情報との関係を示す。
ファイル構造では,ディレクトリ階層を作成可能である。ディレクトリは,ディレクトリファイルとして記録する。ディレクトリファイルには,ファイル識別記述子を記録する。
ディレクトリファイルに記録するファイル識別記述子は,ファイル及びディレクトリの名前を示すが,ファイル及びディレクトリのエクステント(データの実体)の位置及び大きさを直接規定しない。エクステントの位置及び大きさは,ICB中のファイルエントリによって規定する。
ICBは,ファイル集合を構成するファイル及びディレクトリを記述する時に,データやファイルの追記に伴う管理情報の追記量を最小化する。ICBの位置は,ディレクトリファイル中のファイル識別記述子で管理する。ICBは,一つ以上のファイルエントリから成り,ファイルエントリは,ファイル及びディレクトリのエクステント(データの実体)の位置及び大きさを示す。
データの実体の位置などを変更する場合は,ICBを更新(ファイルエントリの追記)するだけで,そのICBの位置を指定する上位階層の記述子群の更新(追記)は不要となる。ICBは,下位のICBの位置を示す間接エントリを記録することで,ICBの階層構造を作り,複数回の実データ更新などにも対応可能な構造となっている。
書換形メディア上の区画では,ICB中のファイルエントリ数を一つにすればよい。ICB中のファイルエントリは,ファイルの位置,大きさ及び属性を規定する。ファイルの属性については,ファイルエントリで示す属性のほかに,多様な拡張属性のファイルを作成することによって,アプリケーションなどに依存したファイル属性の定義が可能である。
図 6に,ディレクトリ階層を示し,図 7に,ディレクトリ,ファイル及びICBの関係を示す。
この規格では,いろいろなアプリケーションに対応するために,レコード構造を採らない場合も含めて,様々なレコード種別を定義する。レコード構造を採る場合には,次に示すレコード種別が使用可能である。
この規格では,ボリューム構造及びファイル構造について,それぞれ三つの交換水準(水準1〜水準3)を規定している。水準1には多くの制約が付き,水準2では制約が緩和され,水準3には制約がない。ボリューム構造の交換水準は,基本ボリューム記述子に記録する。ファイル構造の交換水準は,ファイル集合記述子に記録する。
9. むすび
ICBの導入により多様な種別の可換記憶メディアに対応できるようにすると共に, ボリューム構造とファイル構造の明確な区分によって今後の拡張性を高めた, 新しい論理的記憶単位のフォーマットを示した。この記憶構造に基づくフォーマットは, USAのOSTA(Optical Storage Technology Association)によってDVD等の論理フォーマットの規定UDFS(Universal Disk Format Specification)に採用され, 今後の可換記憶メディアによる情報交換のための主要な論理フォーマットを提供することが期待される。
本稿をまとめるに際して貴重な議論を賜った光ディスク標準化委員会 フォーマット分科会の委員の皆様に感謝する。
文献
[1] ISO/IEC 13346, Volume and file structure of write-once and rewritable media using non-sequential recording for information interchange, 1995-12.
[2] JIS X 0607, 非逐次記録を用いる追記形及び書換形の情報交換用媒体のボリューム及びファイルの構造, 1996-03.
[3] JIS X 0605, 情報交換用フレキシブルディスクカートリッジのボリューム及びファイル構成, 1990.
[4] JIS X 0606, 情報交換用CD-ROMのボリューム及びファイル構成, 1990.
[5] ECMA-167, Volume and file structure of write-once and rewritable media using non-sequential recording for information interchange, 1992-06.
[6] ISO/IEC 13490, Volume and file structure of read-only and write-once compact disk media for information interchange, 1995-12.
[7] JIS X 0608(原案), 光ディスクの標準化に関する調査研究 XI, pp.117-182, 光産業技術振興協会, 1996-03.