JP3509285B2 - 圧縮データ管理方式 - Google Patents
圧縮データ管理方式Info
- Publication number
- JP3509285B2 JP3509285B2 JP11450095A JP11450095A JP3509285B2 JP 3509285 B2 JP3509285 B2 JP 3509285B2 JP 11450095 A JP11450095 A JP 11450095A JP 11450095 A JP11450095 A JP 11450095A JP 3509285 B2 JP3509285 B2 JP 3509285B2
- Authority
- JP
- Japan
- Prior art keywords
- compressed
- file
- record
- block
- compressed data
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 113
- 238000013523 data management Methods 0.000 title claims description 22
- 230000006835 compression Effects 0.000 claims description 144
- 238000007906 compression Methods 0.000 claims description 143
- 230000008569 process Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 57
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000006837 decompression Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000012856 packing Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
に関する。近年、文字コードやベクトル情報、画像情報
など様々な種類のデータがコンピュータ等で扱われるよ
うになっており、それに伴って扱われるデータ量も急速
に増加している。このような大量のデータを扱うときに
は、データ中の冗長な部分を省いてデータ量を圧縮する
ことによって、記憶容量を減らしたり、データ伝送を高
速化できるようにされてきている。
る方法として、以前よりユニバーサル符号化が提案され
ている。ユニバーサル符号化の、データ種類を問わずデ
ータの圧縮が可能であるという特徴を利用して、ハード
ディスク(ディスク)の容量を増大させるためのソフト
ウェアが市販されている(米国Stac社Stacker 等)。こ
れらのディスク圧縮ソフトは、ユーザがデータ圧縮機能
を意識することなく、圧縮が行われない場合のディスク
と同じものを、容量が倍増したディスクとして利用でき
る機能を提供している。
くわけて以下に示す2通りがあった。これらの方法を、
図26に示す。第一の方法は、ディスク上に圧縮ファイ
ルと通常ファイル(圧縮されていないファイル)を混在
させて格納する方法である(図26(1))。この方法
では、個々のファイルに対して圧縮をかける方法を用い
ている。図中、白抜きの四角は通常ファイル、黒の四角
は圧縮ファイルが格納される位置を示している。
に、ディスク上に通常ファイルと圧縮ファイルとが混在
して格納される。この方法では、圧縮ファイルを格納す
る媒体種類には制限がないという特徴がある。この方法
では、デバイスドライバに組み込む、常駐プログラムを
起動させる、付属コマンドによってユーザが個別のファ
イル毎に圧縮/復元を行なう、といった方法によりファ
イルの圧縮が行われる。
使用を意識させないために、ディスクの圧縮ファイル・
アクセスのシステムコールで自動的に圧縮/復元う行な
うようにもできる。この方法では、ファイル全体のシー
ケンシャル圧縮復元に基づいているため、システムコー
ルで圧縮ファイル全体を通常ファイルとして復元し、ユ
ーザプログラムの終了時に通常ファイルを消去、圧縮し
たファイルをディスクに書き込むという手順が用いられ
る。第二の方法は、ディスクの特定領域に圧縮ファイル
のみを格納する方法である(図26(2))。この方法
は、ディスク上に特定領域(以下仮想ドライブと称す)
を確保して、圧縮されたファイルは全て仮想ドライブ内
に配置させる。この方法では、ユーザにデータの圧縮を
意識させることがなく、仮想ドライブの容量を見かけ上
実際の2倍とし、仮想ドライブ上の全てのファイルに対
して自動的に圧縮/復元を行なう。仮想ドライブ領域
は、物理的にはディスク上の一つの隠しファイルとして
存在している。
(Log structured File System)等の方法によって管理さ
れ、例えばBAT(Block Allocation Table)と呼ばれる
テーブルを用いて管理されている。図27はこれを説明
する図面である。仮想ドライブは、アプリケーションプ
ログラムからは8KB/クラスタのディスクとして見え
る。また通常のドライブと同じように、FAT(File Al
locationTable) とディレクトリエントリも保持してい
る。
クタを設置し、これを管理している。一つのクラスタに
書き込まれたデータを圧縮し、これを1〜4個のセクタ
に格納する。BATには、あるクラスタの先頭のデータ
が、どのセクタに格納されているかを記録している。そ
して、1セクタ内に圧縮データが収まりきらない場合に
は、SCT(Sector Chain Table)をたどることによっ
て、後続のセクタを探している。
は、以下のような問題が生じていた。第一の方法の場合
には、圧縮済みのファイルと通常ファイルとを一つのデ
ィスクドライブ内に混在させることができるため、例え
ば画像ファイル、音声ファイル等属性の異なるファイル
と共存させることが可能であり、圧縮ファイルを格納す
る媒体に制限がないという利点がある。しかし、元デー
タファイルを一度復元するためには、元データと同じサ
イズの作業用領域を必要とする。また、ユーザプログラ
ムの起動と終了時にファイル全体の復元/圧縮操作が入
るため、このオーバーヘッドの時間の分だけユーザを待
たせる時間が長くなってしまうという欠点があった。そ
のため、例えば数100KB〜数MB程度の容量の、大き
なファイルでの使用には向いていない。
タ単位で圧縮/復元が行われるため、第一の方法に対し
てプログラムの起動/終了時に、全体の圧縮/復元に要
する大きなオーバーヘッド時間が生じないという利点が
ある。しかし、仮想ドライブが圧縮を実装したドライブ
に付随されているため、フロッピーディスクのような交
換可能な媒体やネットワークドライバには適用すること
ができないという欠点があった。
縮ファイルの各クラスタの格納位置情報が集中的に管理
されているため、管理テーブルや圧縮データに障害が生
じた場合には仮想ドライブ内の全てのファイルを読みだ
すことができなくなるという危険が伴う。本発明は、上
記の問題点に鑑み、従来の2通りの圧縮方法の互いの長
所をいかし、それぞれの欠点を解決する手段を実現する
ことを目的とする。
イルを各レコードの圧縮データと、圧縮データの圧縮フ
ァイル内での格納位置を示す格納位置情報と、格納位置
情報の位置を格納したヘッダ部とにより構成した圧縮デ
ータ管理方式により解決できる。更に、本発明は圧縮フ
ァイルを、ヘッダ、圧縮データ、格納位置情報の順に並
べて構成し、圧縮ファイルが更新されて圧縮データが増
加した場合には、増加した圧縮データを各レコードの圧
縮データに続けて格納するとともに、格納位置情報を、
増加した圧縮データが追加された圧縮データに続けて格
納し、ヘッダ内の格納位置情報の格納位置を更新するこ
とを特徴とする。
原レコードの整数分の一の大きさを持つブロックに分割
され、圧縮データの管理は分割されたブロック単位で行
われることを特徴とする。更に、格納位置情報は各レコ
ードに対応する圧縮データの先頭ブロック番号と、先頭
ブロックに続く後続ブロック番号のブロック接続情報と
を保持する。
情報内のブロック接続情報を検索し、空きブロックが存
在する場合これを空きブロック線形リストとして管理す
ることを特徴とする。そして本発明は、圧縮ファイルを
更新中に空きブロックが発生した場合、新たに発生した
空きブロックを前記空きブロック線形リストに登録する
ことを特徴とする。
レコードの圧縮データが圧縮データ格納ブロックに収ま
らない場合、空きブロック線形リストより空きブロック
を外して割り当て、圧縮データを格納することを特徴と
する。また、本発明では、圧縮ファイルに、原レコード
の大きさよりも大きい所定のサイズを持つブロックが設
定され、前記ブロックに各レコードの圧縮データを複数
個まとめて格納されるよう構成したことを特徴とする。
設定されるブロックが、原レコードサイズの整数倍の大
きさを持つ。また、格納位置情報は、各レコードに格納
されている圧縮データのブロック番号と、圧縮データが
格納されているブロック内での格納位置と、圧縮データ
の格納長とが保持されていることを特徴とする。
にデータが格納されない未使用ブロックが発生する場
合、未使用ブロックを圧縮ファイルの終端に位置するブ
ロックと交換する処理を行なうとともに、格納位置情報
をブロック交換処理に応じて更新することを特徴とす
る。
ータと、圧縮データの圧縮ファイル内での格納位置を示
す格納位置情報と、格納位置情報の位置を格納したヘッ
ダ部とにより構成することにより、圧縮データと通常フ
ァイルとの混在を可能とするとともに、圧縮ファイル毎
に圧縮データの格納位置が管理されているため、一部に
障害が発生したとしても、全てのファイルが読み出せな
いという問題の発生がなくなる。
タ、格納位置情報の順に並べて構成し、圧縮ファイルが
更新されて圧縮データが増加した場合には、増加した圧
縮データを各レコードの圧縮データに続けて格納すると
ともに、格納位置情報を、増加した圧縮データが追加さ
れた圧縮データに続けて格納し、ヘッダ内の格納位置情
報の格納位置を更新することによって、圧縮データの増
加にも容易に対応することができる。
原レコードの整数分の一の大きさを持つブロックに分割
され、圧縮データの管理は分割されたブロック単位で行
われ、特に格納位置情報は各レコードに対応する圧縮デ
ータの先頭ブロック番号と、先頭ブロックに続く後続ブ
ロック番号のブロック接続情報とを保持するようにす
る。
情報内のブロック接続情報を検索し、空きブロックが存
在する場合これを空きブロック線形リストとして管理
し、特に圧縮ファイルを更新中に空きブロックが発生し
た場合、新たに発生した空きブロックを前記空きブロッ
ク線形リストに登録、また、圧縮ファイルの更新中に書
込対象レコードの圧縮データが圧縮データ格納ブロック
に収まらない場合、空きブロック線形リストより空きブ
ロックを外して割り当て、圧縮データを格納するように
する。これによって空きブロックの管理を容易とする。
よりも大きい所定のサイズを持つブロックが設定され、
前記ブロックに各レコードの圧縮データを複数個まとめ
て格納されるよう構成することで、圧縮データを詰めて
圧縮ファイルに格納することができるようになる。特
に、圧縮ファイルに設定されるブロックが、原レコード
サイズの整数倍の大きさを持つ。
されている圧縮データのブロック番号と、圧縮データが
格納されているブロック内での格納位置と、圧縮データ
の格納長とが保持され、圧縮データのアクセスを容易な
ものとする。そして、圧縮ファイルの更新時にデータが
格納されない未使用ブロックが発生する場合、未使用ブ
ロックを圧縮ファイルの終端に位置するブロックと交換
する処理を行なうとともに、格納位置情報をブロック交
換処理に応じて更新して、未使用ブロックが圧縮ファイ
ルの終端に位置するようにする。
ルと通常ファイルとの切換を示す図面である。本実施例
では、従来のディスク圧縮の場合と同様に、ファイルの
各レコード単位に圧縮データを自動的に圧縮/復元す
る。ファイル毎の圧縮復元機能は、ディスクの入出力関
数のライブラリ、即ち圧縮ファイルオープン、圧縮ファ
イル読出、圧縮ファイル書込、圧縮ファイルクローズ、
として構成する。通常ファイルと圧縮ファイルとをディ
スクの同一領域内に共存させるために、新たな入出力関
数は従来より用いられている入出力関数との互換性が必
要となる。
示す図面である。切換設定が行われると、ステップS1
でファイル名またはそのファイルの属性情報、ファイル
内の最初のレコード等に基づいて、そのファイルが通常
ファイルか圧縮ファイルかを識別する。例えば、ファイ
ル名に基づいて識別を行なうならば、ファイル名の最初
の文字が特定文字である場合、あるいは拡張子が特定な
ものならば、それが圧縮ファイルであると取り決めてお
けばよい。
S2においてメモリ上のファイル管理情報に、このファ
イルが通常ファイルである旨が設定される。そして、通
常ファイルオープンの処理を行なう。一方、対象ファイ
ルが圧縮ファイルである場合には、S3にてメモリ上の
ファイル管理情報にそのファイルが圧縮ファイルである
旨設定される。ついで、後述する圧縮ファイルオープン
の処理を実行する。
ファイルクローズ時の処理手順を示す図面である。ファ
イルの読出/書込/クローズが設定された場合には、ま
ずS1にてメモリ上のファイル管理情報を調べ、対象フ
ァイルが通常ファイルか圧縮ファイルかが識別される。
は、S2において上位アプリケーションプログラムで指
定された通常ファイルの入出力機能(読出/書込/クロ
ーズのいずれか)を実行する。一方、対象ファイルが圧
縮ファイルである場合には、S3において上位アプリケ
ーションプログラムで指定される圧縮ファイルの入出力
機能を実行する。圧縮ファイルの入出力機能についての
詳細は後述する。図2は、圧縮データ管理にLFS法を
用いた場合の、ファイル管理方法を示す図面である。
を4KBとして、圧縮レコードのクラスタサイズを1K
Bにとった例について説明する。また、圧縮ファイルは
図2に示されるように、ヘッダ、原レコードの圧縮符
号、圧縮管理テーブルの3つの領域より構成される。図
2の場合には、原レコード番号1のレコードに対応する
圧縮レコードが圧縮クラスタ番号1、2、4の圧縮クラ
スタに、原レコード番号2の原レコードに対応する圧縮
レコードが圧縮クラスタ番号3、5の圧縮クラスタに、
原レコード番号3の原レコードに対応する圧縮レコード
が圧縮クラスタ番号6の圧縮クラスタにそれぞれ格納さ
れている例が示されている。
数、圧縮クラスタ数の情報が含まれている。また、圧縮
管理テーブルには、図3に示されるように、圧縮符号開
始位置テーブル(圧縮クラスタ開始位置テーブル)と圧
縮クラスタチェーンテーブルとが記録されている。圧縮
符号開始位置テーブルは、原レコード番号に対応する圧
縮クラスタの開始位置を、原レコード番号をアドレスと
して求めるものである。例えば、原レコード番号1の原
レコードの対応する圧縮レコードが格納される圧縮クラ
スタの開始一は、圧縮クラスタ番号1の圧縮クラスタで
あることが示されている。
は、クラスタ番号をアドレスとして他のクラスタ番号を
引くためのものである。原レコードの圧縮データが一つ
のクラスタで終了せず、他のクラスタまで続くような場
合には、前のクラスタ番号から後続するクラスタ番号を
求める。例えば、原レコード番号1の原レコードに対応
する圧縮データは、圧縮クラスタ1に続いて圧縮クラス
タ2に格納される点が示される。
ラスタで終了するような場合には、圧縮クラスタチェー
ンテーブルには0が書き込まれる。この場合には、原レ
コードの圧縮符号は1〜4個のクラスタに格納される。
また、4個分のクラスタを要する場合には、生データ
(圧縮しないデータ)が格納される。図4〜図7は、L
FS法によって圧縮データ管理を行った場合の、一実施
例による手順を示したフローチャートである。図4はフ
ァイルオープン時、図5はファイルリード時、図6はフ
ァイルライト時、図7はファイルクローズ時の処理手順
をそれぞれ示すものである。
ープン処理について説明する。ファイルオープンが設定
された場合には、S1において指定されたファイルに対
応する圧縮ファイルのヘッダを圧縮ファイルから読みだ
す。続いて、S2によってヘッダ内に記録されている原
ファイルのレコード長、レコード数を読みだし、このデ
ータより圧縮ファイル中の圧縮型テーブルのレコード長
を求め、圧縮型テーブルをメモリ上に読み込む。
バックアップファイルを、ディスク上に作成する。これ
は、万一ファイル更新の途中で電源等に不測の事態が生
じた場合に、可能な限り原データを復旧できるようにす
るために行われる。次いで、S4において圧縮管理テー
ブルのうち、クラスタチェーンテーブルを参照して、空
きクラスタを探し、空きクラスタ番号を線形リストの待
ち行列に登録する。次に、図5を用いてファイルリード
について説明する。
は、S1においてメモリ上の圧縮管理テーブルのうち、
圧縮クラスタ開始位置テーブルより次の原レコード番号
に対応する圧縮符号開始位置を読み取る。そして、読み
取られた圧縮符号開始位置から、クラスタチェーンテー
ブルに従って原レコードの圧縮符号をディスク上に読み
込む。
号を復元し、S3において原レコード番号を一つインク
リメントする。このため、圧縮レコードの位置決めシー
クが呼び出されなければ、デフォルトでは次の原レコー
ドがアクセスされる。続いて、S4において復元された
原レコードデータを、上位アプリケーションプログラム
に渡し、処理を終了する。続いて、図6に基づいて、本
実施例によるファイルライト処理について説明する。
ずS1において上位のアプリケーションプログラムから
受け取った原レコードデータを圧縮する。続いて、S2
においてメモリ上の圧縮型テーブルの圧縮クラスタ開始
位置テーブルから、その原レコードが格納されるクラス
タ開始位置を読み取る。次に、S3において原レコード
の圧縮データを、圧縮クラスタ開始位置テーブルから読
みだされたクラスタ開始位置からディスクに書き込む。
テーブルを繰りながら圧縮データをディスクに書き込ん
でいき、新たに圧縮された符号データが元の圧縮符号の
クラスタ長と等しいか否かが判定される。もし、新たに
圧縮された符号データが元の圧縮符号のクラスタ長と等
しい場合には、S6において原レコード番号を一つイン
クリメントして処理を終了する。これにより、圧縮レコ
ードの位置決めシークが呼び出されなければ、デフォル
ト時には次の原レコードがアクセスされることになる。
タが元の圧縮符号クラスタ長と等しくない場合には、S
5にて新圧縮符号が元の圧縮符号クラスタ長より小さい
か否かが判定される。新圧縮符号が元の圧縮符号のクラ
スタ長より小さい場合には、クラスタチェーンテーブル
の最終クラスタ位置に0を書き込むとともに、余ったク
ラスタを空きクラスタ待ち行列に登録、S6に進む。
のクラスタ長よりも大きいと判定された場合には、S8
において待ち行列に空きクラスタが登録されているか否
かを調べる。登録されている場合には、S9て空きクラ
スタ待ち行列を一つずつはずし、圧縮符号をディスク上
のそのクラスタに書き込む。また、クラスタチェーンテ
ーブルには、このクラスタ同士の接続関係が記録され
る。
て空きクラスタが不足するか否かが判定される。不足す
る場合には、S11に進む。不足しない場合には、S6
に進み、処理を終了する。一方、S8で待ち行列に空き
クラスタが登録されていないと判定された場合、あるい
はS10にて空きクラスタが不足すると判定された場合
には、S11にて圧縮符号領域の後方に新たなクラスタ
を割り当て、それに応じてクラスタチェーンテーブルも
新たに作成した後、ディスク上に圧縮符号を書き込んで
いく。ここで、圧縮ファイルをシークする場合には、ア
プリケーションプログラムから指定された原レコード番
号を、次のレコード番号として設定する。次に、図7に
より圧縮ファイルクローズ処理について説明する。
には、S1において圧縮管理テーブルを圧縮符号の最終
レコードの次の位置に続けてディスク上に書き込む。続
いてS2においてヘッダ内の原レコード数、圧縮クラス
タ数を更新し、これらをディスクに書き込む。次いでS
3にて圧縮管理テーブルのバックアップファイルをディ
スクから消去し、処理を終了する。このように、LFS
法を用いた場合には、圧縮データの管理は比較的容易で
ある。しかし、圧縮ファイルの更新時に新たなデータは
旧データより圧縮がかかるようになっても圧縮符号領域
中に空きクラスタが残るだけであり、圧縮符号領域を詰
めて取り、圧縮ファイル更新時の領域の縮小を反映させ
るのが難しくなっている。また、ファイル更新が進むに
つれて、原レコードのクラスタが分散されるため、アク
セス速度の低下が生じることがある。これに対しては、
圧縮ファイルの更新を数回実行するたびに定期的に空き
クラスタを詰める処理を行なうとともに、原レコードの
圧縮クラスタを連続的に整理するクリーニング処理を実
行すればよい。次に、PFS(Packed File System)を用
いた場合の本発明の一実施例を説明する。
PFS法によるファイル圧縮を説明する図面である。図
において、aは容量倍増仮想ディスク、bはバッファメ
モリ、cは圧縮管理テーブル、dは実ディスクをそれぞ
れ示す。図示されるように、PFS法ではまずaのよう
な、圧縮によって容量が元のものから倍増された仮想デ
ィスクが仮定される。この仮想ディスクでは、アクセス
の単位である論理セグメントが1〜m個であるとする。
クをアクセスする複数個のセグメント(実セグメント)
が保持されている。実セグメントは論理セグメントの2
〜4倍程度のサイズが取られる。そして,実セグメント
はdの実ディスク上に1〜m/2個取られる。それぞれ
の実セグメントには、論理セグメントを圧縮したデータ
が複数個格納される。
れたときには、実ディスクより読みだされた論理セグメ
ントに対応する圧縮データが格納されている実セグメン
トを読みだして、圧縮データを復元して出力する。ま
た、仮想ディスクで論理セグメントがライトされる場合
には、論理セグメントを圧縮し、バッファメモリ上の複
数個の実セグメントの空き領域に格納する。ここで、も
しバッファメモリ上に空き領域がない場合には、最も詰
まった実セグメントをディスクに書き出して、ディスク
上の空いている実セグメントをバッファメモリ上に確保
し、ここに圧縮データを書き込む。即ち、論理セグメン
トの圧縮データは複数個の実セグメントの中の空き部分
に詰められて、複数個の実セグメント毎に空き領域のパ
ッキングを最適化していることとなる。このため、実デ
ィスク全体で空き領域をパッキングする作業に比較し
て、少ない作業量で準最適化を図ることができる。
と実ディスクでの格納場所のマッピングテーブルとなっ
ている。実ディスクは例えば512Bのクラスタ単位に
管理されており、圧縮管理テーブルには論理セグメント
が格納されている実セグメント、実セグメント中の格納
クラスタ位置、圧縮クラスタ長などが格納される。例え
ば、実ディスクが512MBであり、仮想ディスクは1
GBと仮定し、論理セグメントを8KB、実セグメント
を64KBとしたとき、バッファメモリを640KBに
とり実セグメントを10個格納して圧縮データを割りつ
け、圧縮管理テーブルは512KBと設定する。全体実
容量に対して、圧縮型テーブルの容量は0.1パーセン
トと、問題にならない程度の容量で実現することができ
る。
順と、仮想ディスクライト手順を示すフローチャートで
ある。仮想ディスクリードの場合には、S1においてホ
ストより仮想ディスクの論理レコード単位のリード命令
が与えられる。これに応じて、S2にて該当する論理レ
コードがまとめられている論理セグメントを割り出し、
S3にて圧縮管理テーブル上の該当する論理セグメント
番号の一語を読み取る。次いで、S4にて実ディスク上
の実セグメントをディスクから読み込み、実セグメント
内開始クラスタから圧縮データを復元する。そしてS5
にて復元した論理セグメントより、該当する論理レコー
ド部分をホストに渡して処理を終了する。
ずS1にてホストより仮想ディスクの論理レコード単位
のライト命令が与えられる。つづいて、S2にて論理レ
コードを複数個まとめ、これらより論理セグメントを構
成する。次いで、S3にて論理セグメントを圧縮し、圧
縮データを作成する。ここで、S4にて実セグメントに
割り付け領域が残っているかどうかが判定される。実セ
グメントの割り付け領域が残っていない場合には、S5
にて実セグメントをディスクに書き込む。
域が残っていると判定された場合、あるいはS5に続い
て、S6にて論理セグメントを複数個集め、実セグメン
トをこれに割り付け、処理を終了する。図10は、PF
S法を用いた場合の圧縮データ管理を示す図面である。
図に示されるように、本実施例では原レコードのサイズ
を4KB、圧縮レコードサイズを16KBにとった場合
について説明する。
ダ、原レコードの圧縮符号、圧縮管理テーブルの3つの
領域から構成される。ヘッダ内には、原レコード長、原
レコード数、圧縮クラスタ数などの情報が含まれてい
る。図11は、圧縮管理テーブル内部を示す。圧縮管理
テーブルは、原レコード番号に基づいて、格納されてい
る圧縮レコード番号、圧縮レコード内開始クラスタ、ク
ラスタ長を検索することができる。圧縮符号はクラスタ
長1〜4個で表現されており、圧縮符号が4個分のクラ
スタを必要とする場合には、生データが格納される。図
12〜図15は、PFS法を用いた場合の圧縮データ管
理手順を示したフローチャートである。ここでは、原フ
ァイルが圧縮ファイルに変換されてディスクに書き込ま
れ、この圧縮ファイルを更新する場合を想定する。圧縮
ファイルのオープン/リード/ライト/シーク/クロー
ズはライブラリとして上位アプリケーションプログラム
より呼び出される。図12は、本実施例の圧縮ファイル
オープン処理を示すフローチャートである。
S1において指定された圧縮ファイルのヘッダをディス
クより読み取る。次いで、S2においてヘッダ中に記述
されている原レコードのレコード長、レコード数の情報
により、圧縮データ中の圧縮管理テーブルのレコード位
置を求め、このテーブルをメモリ上に読み込む。続い
て、S3において圧縮管理テーブルのバックアップ・フ
ァイルをディスク上に作成する。これはLFS法のとき
と同様に、ファイル更新の途中での不測の事態に備える
ために行なう。図13は、本実施例による圧縮ファイル
リード処理を示すフローチャートである。
においてメモリ上の圧縮管理テーブルのうち、圧縮クラ
スタ開始位置テーブルより次の原レコード番号に対応す
る圧縮符号開始位置を読み取る。ついでS2にて、読み
取られた圧縮符号開始位置から、原レコードの圧縮符号
をディスクから読みだし、圧縮データを復元する。次
に、S3にて原レコード番号を一つインクリメントす
る。続いて、復元された原レコードデータを上位のアプ
リケーションプログラムに渡し、処理を終了する。図1
4は、本実施例による圧縮ファイルライト処理を示すフ
ローチャートである。
1にて上位アプリケーションプログラムより受け取った
原レコードデータを圧縮する。続いて、S2においてメ
モリ上の圧縮管理テーブルの圧縮クラスタ開始位置テー
ブルから、その原れこーとに対応する圧縮符号位置およ
びクラスタ長を読み取る。次に、S3にてPFS法を用
いて圧縮符号を圧縮レコードにパッキングしながらディ
スクに書き込んでいく。もし新規圧縮レコードが必要な
場合には、圧縮符号領域の後方に新規の圧縮レコードを
確保する。
インクリメントし、処理を終了する。このため、圧縮レ
コード位置決めシークが呼び出されなければ、デフォル
ト時には次の原レコードがアクセスされるようになる。
図15は、本実施例による圧縮ファイルのクローズ処理
を示すフローチャートである。
S1において空き圧縮レコードがあるか否かが調べられ
る。空きレコードがある場合には、S2において最終の
圧縮レコードから順にその内容を空きレコードに移して
いき、圧縮管理テーブル内の対応する圧縮レコード番号
のみを更新、S3に進む。一方、S1にて空きレコード
がなかった場合には、S3にて圧縮管理テーブルを圧縮
符号領域の最終レコードの次に続けて書き込む。
ード数、圧縮クラスタ数を更新し、これらをディスク低
に書き込む。続いて、S5にて圧縮管理テーブルのバッ
クアップファイルをディスクから消去し、処理を終了す
る。図28は、本実施例による圧縮レコード位置決めシ
ークの手順を示す図面である。
呼び出される度に、レコード番号を一つインクリメント
して次のレコード番号をポイントし、リード/ライトの
シーケンシャルアクセスができるようになっている。圧
縮レコード位置決めシークは次にアクセスするレコード
番号を外から与えてやり、これに基づいてランダムアク
セスを行なうものである。
置決めシークが実行される場合、アプリケーションプロ
グラムから指定されたレコード番号を、次にアクセスす
る原レコードとして設定する。このように、PFS法に
よる圧縮データ管理は、圧縮レコード(実セグメント)
にまとめられているため、処理はやや複雑となるが、圧
縮ファイル更新時に新たなデータのサイズが圧縮されて
旧データよりも小さくなった場合には、圧縮符号領域を
詰めて取り、領域の縮小を反映させることができる。ま
た、原レコードの圧縮データは連続したクラスタに格納
されるため、アクセス速度が速くなるというメリットが
ある。図16は、読出専用ファイルにおける圧縮データ
管理の一実施例を示す図面である。本実施例における圧
縮ファイルは、ヘッダ、原レコードの圧縮符号、圧縮管
理テーブルの3つの領域より構成される。ただし、読出
専用ファイルであるため、圧縮符号領域が拡大すること
はないため、圧縮管理テーブルはヘッダの後ろに置くよ
うにしてもよい。
原レコード長、原レコード数、圧縮クラスタ数などの情
報が含まれる。図17は、圧縮管理テーブルを示す図面
である。図に示されるように、圧縮管理テーブルには、
それぞれの原レコードに対応する圧縮符号の開始位置と
クラスタ長情報とが含まれている。この場合、クラスタ
長2ビットで1〜4個のクラスタを必要とするかどうか
が表示されている。また、4個分のクラスタが必要な場
合は生データが格納されている。図18、図19は本実
施例における圧縮ファイルのオープン、リード処理手順
をそれぞれ示す図面である。
ァイルオープン処理の手順について説明する。圧縮ファ
イルオープンの指示がなされた場合には、S1において
指定されたファイルに対応する圧縮ファイルのヘッダを
読み取る。つづいてS2においてヘッダに記録されてい
る原レコード長、原レコード数を読出、このデータに基
づいて圧縮ファイル中の圧縮型テーブルのレコード位置
を求め、圧縮管理テーブルをメモリ上に読み込む。
データの書き替えは発生しないため、バックアップファ
イルは特に作成されない。次に、図19を用いて圧縮フ
ァイルリード処理について説明する。
は、まずS1においてメモリ上の圧縮管理テーブル中、
圧縮符号のクラスタ開始位置からクラスタ長を読み取
り、原レコード番号に対応する圧縮符号を読み取る。続
いて、S2において原レコードの圧縮符号を復元する。
次に、S3において原レコード番号を一つインクリメン
トする。続いて、復元された原レコードデータを上位ア
プリケーションプログラムに渡すことによって、処理が
終了する。図20は、読出・追加書込ファイルにおける
圧縮データ管理を示す図面である。この実施例では、通
常の読出・書込ファイルと同様に、圧縮ファイルがヘッ
ダ、原レコードの圧縮符号、圧縮管理テーブルの3つの
領域から構成される。
数、更新用最終レコード番号、圧縮クラスタ数の情報が
含まれている。このうち、更新用最終レコード番号の詳
細については後述する。図21は本実施例の圧縮管理テ
ーブルを示す図面である。図に示されるように、本実施
例による圧縮管理テーブルには、各々の原レコードに対
して、圧縮符号の開始位置、クラスタ長、更新情報が格
納されている。圧縮ファイルの変更は、新たな原レコー
ドが追加される場合、あるいは既に登録されている原レ
コードが更新される場合に行われる。
は、圧縮管理テーブルに追加分のレコード数を想定して
追加予備レコードを予め確保しておき、予備レコードを
割り当てる。追加用予備レコードのレコード番号は、既
に登録されている原レコード番号に続けて与えられる。
一方、既に登録されている原レコードが更新される場合
には、追加用予備レコード番号以降の番号を更新用レコ
ード番号として割り当てる。従って、更新用レコード番
号は原レコードよりも大きい番号が与えられる。この場
合、圧縮管理テーブル内の更新情報には、ここで与えら
れた更新用のレコード番号が書き込まれる。これによっ
て、原レコード番号から始まって、もし原レコードの更
新があれば、それに対応する更新用レコード番号を順次
チェーンを辿って最新版の原レコードデータに対応する
圧縮符号位置を獲得することができる。最新の原レコー
ドに対応する圧縮符号は、更新情報に例えば0を書き込
んでおくことによって識別することができる。更新の履
歴は全て保存されているため、任意時点での更新レコー
ドデータを参照することができる。図22〜図25は、
LFS法を用いて、読出・追加書込型の圧縮ファイルの
圧縮データ管理を行なう場合の手順を示すフローチャー
トである。図22は圧縮ファイルオープン、図23は圧
縮ファイルリード、図24は圧縮ファイルライト、図2
5は圧縮ファイルクローズの手順をそれぞれ示すもので
ある。図22を用いて、圧縮ファイルオープンの処理手
順を説明する。
には、まずS1において指定されたファイルに対する圧
縮ファイルのヘッダを読み取る。次いでS2において、
ヘッダ内の原ファイルのレコード長、レコード数をよみ
とり、これらのデータに基づいて圧縮ファイル内の圧縮
管理テーブルのレコード位置を求め、圧縮管理テーブル
をメモリ上に読み込む。
バックアップファイルを、ディスク上に作成し、処理を
終了する。次に、図23を用いて圧縮ファイルリード処
理の手順について説明する。圧縮ファイルのリードが指
示された場合には、まずS1においてメモリ上の圧縮管
理テーブル内の圧縮クラスタ開始位置テーブルを読み取
り、次の原レコード番号に対応する最新の圧縮符号開始
位置とそのクラスタ長を読み取る。そして、読みだされ
た圧縮符号開始位置から圧縮符号をディスク上に読み込
む。ここで、原レコード番号に基づいて圧縮管理テーブ
ルを参照すると、元の圧縮符号の位置を求めることがで
きる。
は、更新情報として更新用レコード番号を繰り返し圧縮
管理テーブルから引くことによって、最新の圧縮符号開
始位置とそのクラスタ長を探すことが可能となる。次
に、S2において読みだされた圧縮符号を復元し、S3
において原レコード番号を一つインクリメントする。こ
れによって、圧縮レコードの位置決めシークが呼びださ
れなければ、デフォルト時には次の原レコードがアクセ
スされる。
ータを上位のアプリケーションプログラムに渡し、処理
を終了する。続いて、図24にて圧縮ファイルライトの
処理手順を説明する。圧縮ファイルライトが指示された
場合、まずS1にて上位のアプリケーションプログラム
より受け取った原レコードデータを圧縮する。続いて、
圧縮符号領域の後方に圧縮された原レコードデータのた
めに新たなクラスタを割り当て、ディスクに圧縮符号を
書き込む。
てるデータの更新であるかどうかを調べる。もし既に登
録されているデータの更新である場合には、S4にて圧
縮符号に更新レコード番号を割り当て、メモリ上の圧縮
管理テーブルの原レコードの番号に対する最新の圧縮符
号の更新情報として、割り当てられた更新レコード番号
を書き込む。
テーブルの新たな更新番号の位置に、圧縮符号開始位置
とそのクラスタ長を書き込む。この場合更新情報は0と
し、最新データであることを示す。一方、S3にて既に
登録されているデータの更新ではないと判定された場合
には、これは追加レコードであるため、S6において追
加レコード用の予備レコード番号を割り当て、圧縮管理
テーブルの追加レコードの場所に、圧縮符号開始位置と
クラスタ長を書き込む。
クリメントして、処理を終了する。また、圧縮ファイル
のシークを行なう場合には、アプリケーションから指定
された原レコード番号を次のレコード番号として設定す
る。図25は圧縮ファイルクローズの処理手順を示した
図面である。
には、まずS1にて圧縮管理テーブルを圧縮符号領域の
最終レコードのつぎに続けてディスクに書き込む。続い
て、S2にてヘッダの原レコード数、圧縮クラスタ数を
更新し、ディスクに書き込んだ後、S3にて圧縮型テー
ブルのバックアップファイルをディスクから消去し、処
理を終了する。これらの実施例で扱えるファイルの大き
さは、各レコードの圧縮符号の開始位置を表すビット数
に制約されるが、これは扱うファイルのサイズが大きい
場合にビット数を増やすことによって対応することがで
きる。
イルの圧縮をユーザに意識させることなく、通常ファイ
ルと圧縮ファイルとを混在させつつ、クラスタ単位の圧
縮/復元を行なうことによるオーバーヘッド時間の短縮
を実現することができる。また、圧縮ファイルの媒体種
別は問われず、圧縮管理情報のファイル単位の分散管理
を行なうことによって、障害等による被害の発生をアク
セス対象ファイルのみに止めることができ、信頼性を向
上させることができる。
ルを、同時に扱うことが可能となり、互換性を持たせる
ことが可能となる。
ファイルとの切換説明図
手順
実施例
ル
ン手順
手順
手順
ズ手順
一実施例
プン手順
ド手順
管理の一実施例
ーブル
ープン手順
ード手順
イト手順
ローズ手順
置決めシーク手順
Claims (6)
- 【請求項1】原レコードのデータを圧縮し、1乃至複数
の圧縮データから圧縮ファイルを作成し、前記圧縮ファ
イルにより圧縮データを管理する圧縮データ管理装置で
あって、前記圧縮ファイルは、前記各レコードの圧縮データと、
該圧縮データの該圧縮ファイル内での格納位置情報と、
を有し、 前記レコードに含まれる圧縮データは、原レコードの整
数分の一の大きさを持つブロックに分割されており、 前記格納位置情報は、前記各レコードに対応する圧縮デ
ータの先頭ブロック番号と、該先頭ブロックに続く後続
ブロック番号のブロック接続情報と、を保持しており、 前記圧縮ファイルの更新時に、前記格納位置情報内のブ
ロック接続情報を検索し、空きブロックが存在する場合
これを空きブロック線形リストとして管理することを特
徴とする、圧縮データ管理装置。 - 【請求項2】前記圧縮データ管理装置であって、 前記圧縮ファイルを更新中に空きブロックが発生した場
合、該新たに発生した空きブロックを前記空きブロック
線形リストに登録することを特徴とする、請求項1記載
の圧縮データ管理装置。 - 【請求項3】前記圧縮データ管理装置であって、 前記圧縮ファイルの更新中に、書込対象レコードの圧縮
データが圧縮データ格納ブロックに収まらない場合、前
記空きブロック線形リストより空きブロックを外して割
り当て、該圧縮データを格納することを特徴とする、請
求項2記載の圧縮データ管理装置。 - 【請求項4】原レコードのデータを圧縮し、1ないし複
数の圧縮データより圧縮ファイルを作成し、前記圧縮デ
ータにより圧縮ファイルを管理し、前記圧縮ファイルに
原レコードの大きさよりも大きい所定のサイズを持つブ
ロックが設定され、前記ブロックに各レコードの圧縮デ
ータを複数個まとめて格納されるよう構成したことを特
徴とする、圧縮データ管理装置。 - 【請求項5】前記圧縮データ管理装置であって、 前記圧縮ファイルに設定されるブロックは、前記原レコ
ードサイズの整数倍の大きさを持つことを特徴とする、
請求項4記載の圧縮データ管理装置。 - 【請求項6】前記圧縮データ管理装置であって、 前記圧縮ファイルの更新時にデータが格納されない未使
用ブロックが発生する場合、該未使用ブロックを該圧縮
ファイルの終端に位置するブロックと交換する処理を行
なうとともに、 前記格納情報を、前記ブロック交換処理に応じて更新す
ることを特徴とする、請求項5記載の圧縮データ管理装
置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11450095A JP3509285B2 (ja) | 1995-05-12 | 1995-05-12 | 圧縮データ管理方式 |
US08/644,158 US5813011A (en) | 1995-05-12 | 1996-05-10 | Storage of a compressed file containing its own compression management table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11450095A JP3509285B2 (ja) | 1995-05-12 | 1995-05-12 | 圧縮データ管理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08314689A JPH08314689A (ja) | 1996-11-29 |
JP3509285B2 true JP3509285B2 (ja) | 2004-03-22 |
Family
ID=14639313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11450095A Expired - Fee Related JP3509285B2 (ja) | 1995-05-12 | 1995-05-12 | 圧縮データ管理方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5813011A (ja) |
JP (1) | JP3509285B2 (ja) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092071A (en) | 1997-11-04 | 2000-07-18 | International Business Machines Corporation | Dedicated input/output processor method and apparatus for access and storage of compressed data |
JP3218007B2 (ja) * | 1998-03-20 | 2001-10-15 | 富士通株式会社 | インデックスの管理装置,更新方法及び管理方法並びにコンピュータ読取可能な記憶媒体 |
US6567814B1 (en) * | 1998-08-26 | 2003-05-20 | Thinkanalytics Ltd | Method and apparatus for knowledge discovery in databases |
WO2000014740A1 (fr) * | 1998-09-09 | 2000-03-16 | Sharp Kabushiki Kaisha | Dispositif d'enregistrement d'information multimedia destine a l'enregistrement de fichier d'information multimedia sur support d'enregistrement |
JP2000305822A (ja) * | 1999-04-26 | 2000-11-02 | Denso Corp | データベース管理装置,データベースレコード抽出装置,データベース管理方法及びデータベースレコード抽出方法 |
US6535925B1 (en) | 1999-11-09 | 2003-03-18 | Telefonaktiebolaget L M Ericsson (Publ) | Packet header compression using division remainders |
US20050015608A1 (en) * | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US8230482B2 (en) | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US7844579B2 (en) | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
JP4821042B2 (ja) * | 2000-10-31 | 2011-11-24 | ソニー株式会社 | データ変換装置、記憶装置、プロトコル変換装置、デバイス制御装置、記録再生システム、及び記録再生方法 |
US6766334B1 (en) * | 2000-11-21 | 2004-07-20 | Microsoft Corporation | Project-based configuration management method and apparatus |
US7363540B2 (en) * | 2002-10-22 | 2008-04-22 | Microsoft Corporation | Transaction-safe FAT file system improvements |
US7174420B2 (en) * | 2002-10-22 | 2007-02-06 | Microsoft Corporation | Transaction-safe FAT file system |
US6819272B2 (en) * | 2002-11-06 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System, method and computer readable medium for compressing a data sequence for partial decompressing |
US20060190643A1 (en) * | 2004-04-26 | 2006-08-24 | Storewiz, Inc. | Method and system for compression of data for block mode access storage |
US7424482B2 (en) * | 2004-04-26 | 2008-09-09 | Storwize Inc. | Method and system for compression of data for block mode access storage |
WO2005103878A2 (en) * | 2004-04-26 | 2005-11-03 | Storewiz, Inc. | Method and system for compression of files for storage and operation on compressed files |
US20060230014A1 (en) * | 2004-04-26 | 2006-10-12 | Storewiz Inc. | Method and system for compression of files for storage and operation on compressed files |
US7788299B2 (en) * | 2004-11-03 | 2010-08-31 | Spectra Logic Corporation | File formatting on a non-tape media operable with a streaming protocol |
US8606830B2 (en) | 2004-12-17 | 2013-12-10 | Microsoft Corporation | Contiguous file allocation in an extensible file system |
US7873596B2 (en) | 2006-05-23 | 2011-01-18 | Microsoft Corporation | Extending cluster allocations in an extensible file system |
US8321439B2 (en) | 2004-12-17 | 2012-11-27 | Microsoft Corporation | Quick filename lookup using name hash |
US9639554B2 (en) | 2004-12-17 | 2017-05-02 | Microsoft Technology Licensing, Llc | Extensible file system |
US8327050B2 (en) * | 2005-04-21 | 2012-12-04 | International Business Machines Corporation | Systems and methods for compressing files for storage and operation on compressed files |
CN101346883A (zh) * | 2005-10-26 | 2009-01-14 | 斯多维兹有限公司 | 用于块模式访问存储的数据压缩的方法和系统 |
US20070208893A1 (en) * | 2006-02-23 | 2007-09-06 | Microsoft Corporation | File-based compression on a fat volume |
US8868930B2 (en) | 2006-05-31 | 2014-10-21 | International Business Machines Corporation | Systems and methods for transformation of logical data objects for storage |
US8782436B2 (en) | 2006-05-31 | 2014-07-15 | International Business Machines Corporation | Method and system for transformation of logical data objects for storage |
JP5217155B2 (ja) * | 2006-11-17 | 2013-06-19 | 日本電気株式会社 | ファイル圧縮自動判定方式および方法、並びに、プログラム |
US7840849B2 (en) * | 2006-12-21 | 2010-11-23 | Novell, Inc. | Methods and apparatus for debugging software including divisions of an execution history of a debuggee program |
US7747664B2 (en) * | 2007-01-16 | 2010-06-29 | Microsoft Corporation | Storage system format for transaction safe file system |
US7613738B2 (en) * | 2007-01-16 | 2009-11-03 | Microsoft Corporation | FAT directory structure for use in transaction safe file system |
WO2008138042A1 (en) * | 2007-05-10 | 2008-11-20 | Chrystall, Alexander, George, Mallick | System and/or method for reducing disk space usage and improving input/output performance of computer systems |
US8200959B2 (en) | 2007-06-28 | 2012-06-12 | Cisco Technology, Inc. | Verifying cryptographic identity during media session initialization |
US9362948B2 (en) * | 2008-02-14 | 2016-06-07 | Broadcom Corporation | System, method, and computer program product for saving and restoring a compression/decompression state |
US7987161B2 (en) * | 2007-08-23 | 2011-07-26 | Thomson Reuters (Markets) Llc | System and method for data compression using compression hardware |
US8417942B2 (en) * | 2007-08-31 | 2013-04-09 | Cisco Technology, Inc. | System and method for identifying encrypted conference media traffic |
JP4888566B2 (ja) | 2007-10-30 | 2012-02-29 | 日本電気株式会社 | データ圧縮方法 |
US20090169001A1 (en) * | 2007-12-28 | 2009-07-02 | Cisco Technology, Inc. | System and Method for Encryption and Secure Transmission of Compressed Media |
US8837598B2 (en) * | 2007-12-28 | 2014-09-16 | Cisco Technology, Inc. | System and method for securely transmitting video over a network |
US8179291B2 (en) * | 2009-05-04 | 2012-05-15 | International Business Machines Corporation | Method and system for compression of logical data objects for storage |
KR101643273B1 (ko) | 2010-04-09 | 2016-08-01 | 삼성전자주식회사 | 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템 |
KR20110113420A (ko) * | 2010-04-09 | 2011-10-17 | 삼성전자주식회사 | 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템 |
JP5712609B2 (ja) * | 2010-12-24 | 2015-05-07 | 富士通株式会社 | データ処理装置及びデータ記録方法 |
US8972360B2 (en) | 2011-05-23 | 2015-03-03 | International Business Machines Corporation | Position invariant compression of files within a multi-level compression scheme |
US9830271B2 (en) * | 2012-07-25 | 2017-11-28 | Vmware, Inc. | Transparent virtualization of cloud storage |
US9392212B1 (en) * | 2014-04-17 | 2016-07-12 | Visionary Vr, Inc. | System and method for presenting virtual reality content to a user |
US9767029B2 (en) | 2014-04-23 | 2017-09-19 | International Business Machines Corporation | Data decompression using a construction area |
JP6613568B2 (ja) * | 2015-01-19 | 2019-12-04 | 富士通株式会社 | 処理プログラム、処理装置および処理方法 |
US9665170B1 (en) | 2015-06-10 | 2017-05-30 | Visionary Vr, Inc. | System and method for presenting virtual reality content to a user based on body posture |
US9946462B1 (en) * | 2016-02-15 | 2018-04-17 | Seagate Technology Llc | Address mapping table compression |
US10088898B2 (en) * | 2016-03-31 | 2018-10-02 | Verizon Patent And Licensing Inc. | Methods and systems for determining an effectiveness of content in an immersive virtual reality world |
US11681659B2 (en) * | 2021-05-21 | 2023-06-20 | Red Hat, Inc. | Hybrid file compression model |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6074054A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | デ−タセツト変換処理方式 |
JPS62182948A (ja) * | 1986-02-07 | 1987-08-11 | Nec Corp | 圧縮または属性変換レコ−ド引き伸ばし方式 |
JPH02193236A (ja) * | 1989-01-21 | 1990-07-30 | Fuji Photo Film Co Ltd | メモリカードの記憶管理方式 |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5237675A (en) * | 1990-06-04 | 1993-08-17 | Maxtor Corporation | Apparatus and method for efficient organization of compressed data on a hard disk utilizing an estimated compression factor |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
US5087913A (en) * | 1990-08-27 | 1992-02-11 | Unisys Corporation | Short-record data compression and decompression system |
JP2675429B2 (ja) * | 1990-10-08 | 1997-11-12 | 富士写真フイルム株式会社 | メモリカードにおけるデータ管理方式 |
US5237460A (en) * | 1990-12-14 | 1993-08-17 | Ceram, Inc. | Storage of compressed data on random access storage devices |
US5481701A (en) * | 1991-09-13 | 1996-01-02 | Salient Software, Inc. | Method and apparatus for performing direct read of compressed data file |
JPH06161842A (ja) * | 1992-11-20 | 1994-06-10 | Melco:Kk | 外部記憶装置およびこれを用いたコンピュータ |
JPH06274279A (ja) * | 1993-03-18 | 1994-09-30 | Pfu Ltd | ミラードディスクおよびその制御方式 |
US5463772A (en) * | 1993-04-23 | 1995-10-31 | Hewlett-Packard Company | Transparent peripheral file systems with on-board compression, decompression, and space management |
US5488365A (en) * | 1994-03-01 | 1996-01-30 | Hewlett-Packard Company | Method and apparatus for compressing and decompressing short blocks of data |
JPH0869400A (ja) * | 1994-08-30 | 1996-03-12 | Sony Corp | 圧縮データ記録方法 |
JPH0887398A (ja) * | 1994-09-16 | 1996-04-02 | Hitachi Ltd | 符号化、復号化方式及び情報処理装置 |
JPH08115239A (ja) * | 1994-10-19 | 1996-05-07 | Fuji Xerox Co Ltd | ディスクシステム |
-
1995
- 1995-05-12 JP JP11450095A patent/JP3509285B2/ja not_active Expired - Fee Related
-
1996
- 1996-05-10 US US08/644,158 patent/US5813011A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5813011A (en) | 1998-09-22 |
JPH08314689A (ja) | 1996-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3509285B2 (ja) | 圧縮データ管理方式 | |
JP3005645B2 (ja) | 消去不可能な記憶媒体上にファイルを読出しかつ書込む方法 | |
US7610434B2 (en) | File recording apparatus | |
US5454098A (en) | Method of emulating access to a sequential access data storage device while actually using a random access storage device | |
KR100951107B1 (ko) | 최적의 성능을 위한 파일 관리 방법 | |
EP0479535B1 (en) | File managing method | |
EP1805589B1 (en) | Tape emulating disk based storage and method with automatically resized emulated tape capacity | |
US7146455B2 (en) | System and method for optimized access to memory devices requiring block writing | |
EP0333165A2 (en) | System for managing recording areas on writable type optical disk | |
US6272611B1 (en) | Computer data storage medium having a virtual disk drive and memory management method therefor | |
US9098210B2 (en) | Automatically linking partitions on a tape media device | |
JP4722704B2 (ja) | 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法 | |
US6591356B2 (en) | Cluster buster | |
JP2001101046A (ja) | 情報処理装置及びその方法、コンピュータ可読メモリ | |
US6654851B1 (en) | System, apparatus, and method for using a disk drive for sequential data access | |
JP2831369B2 (ja) | 情報記録再生方式およびシステム | |
US6961812B2 (en) | Universal disk format volumes with variable size | |
JP4221959B2 (ja) | ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 | |
JP2001265628A (ja) | ファイル記録管理システム | |
JP4394467B2 (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 | |
US6209057B1 (en) | Storage device having data buffer | |
JP3725375B2 (ja) | 記憶媒体ライブラリにおけるデータ再編成方法 | |
JPH03166634A (ja) | 情報記録再生方式 | |
EP1237085B1 (en) | Memory management method for configuring a computer data storage medium to include a virtual disk drive | |
JP2008134777A (ja) | ファイル割当テーブルのキャッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20031209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100109 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110109 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110109 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |