(57)【要約】【課題】  書庫ファイル形式の書庫ファイル内の任意のデータを更新処理する。【解決手段】  書庫ファイルの更新処理前に、更新指示手段による書庫ファイル内の任意のブロックデータの更新指示に従って書庫ファイル内の所定のデータを保護し（Ｓ１〜Ｓ２）、書庫ファイル内の任意のブロックデータの内容更新に伴って保護された所定のデータの内容を更新し（Ｓ３〜Ｓ５）、この更新された所定のデータを内容更新後のブロックデータが書き込まれた書庫ファイルに書き込む（Ｓ６）。これにより、書庫ファイル内の任意のブロックデータを直接的に更新処理しても書庫ファイル形式が破壊されることがなくなり、書庫ファイル内のブロックデータを読取り可能にすることができるので、書庫ファイル形式のデータを保護した状態での書庫ファイルの更新処理ができる。【選択図】    図８
2006059319.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のファイルをブロックデータに変換して単一のファイルに統合した書庫ファイル形式の書庫ファイルを処理する情報処理装置において、
前記書庫ファイル内の任意のブロックデータの更新を指示する更新指示手段と、
この更新指示手段による更新指示に従って前記書庫ファイル内の所定のデータを保護する情報保護手段と、
前記更新指示手段により更新指示された前記書庫ファイル内の任意のブロックデータを逆変換して、変換前の前記ファイルの内容を読み取る読取り手段と、
この読取り手段により読み取られた前記ファイルの内容を更新する第１更新手段と、
この第１更新手段により内容が更新された前記ファイルをブロックデータに変換して前記書庫ファイルに書き込む第１書込み手段と、
前記第１更新手段による内容更新に伴って前記情報保護手段により保護した所定のデータの内容を更新する第２更新手段と、
前記第２更新手段により内容を更新した所定のデータを、前記書込み手段により内容更新後の前記ブロックデータを書き込んだ前記書庫ファイルに書き込む第２書込み手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記情報保護手段は、前記更新指示手段により更新指示された前記書庫ファイル内の任意のブロックデータの位置以下にある前記書庫ファイル内の全てのデータを一時記録手段に退避させ、退避させたデータ内にある属性データの内容を更新する、ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報保護手段は、前記更新指示手段により更新指示された前記書庫ファイル内の属性データを一時記録手段に退避させ、退避させたデータ内にある属性データの内容を更新する、ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記情報保護手段により退避させられる前記属性データには、前記書庫ファイル内にある各ブロックデータの先頭アドレスを示す情報が記載されている、ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記情報保護手段は、前記第１更新手段による内容更新前のブロックデータサイズと前記第１更新手段による内容更新後のブロックデータサイズとを比較して、前記第１更新手段による内容更新後のブロックデータサイズの方が大きい場合には、前記更新指示手段により更新指示された前記書庫ファイル内の属性データを一時記録手段に退避させる、ことを特徴とする請求項３または４記載の情報処理装置。
【請求項６】
前記情報保護手段は、前記第１更新手段による内容更新時に書込まれるブロックデータを読取り、次ブロックデータであることを示すシグネチャ情報が読取られた場合に、前記更新指示手段により更新指示された前記書庫ファイル内の属性データを一時記録手段に退避させる、ことを特徴とする請求項３または４記載の情報処理装置。
【請求項７】
前記情報保護手段は、前記更新指示手段により更新指示された前記書庫ファイル内の任意のブロックデータの位置で、前記書庫ファイルを分割し、分割したデータ内にある属性データの内容を更新する、ことを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記読取り手段は、前記書庫ファイルの書庫ファイル形式が破壊されているか否かを判定し、前記書庫ファイルの書庫ファイル形式が破壊されていると判定した場合には、前記書庫ファイル内のブロックデータ又は属性データを読取る代わりに、前記情報保護手段によって前記一時記録手段に退避されているブロックデータ又は属性データを読取る、ことを特徴とする請求項２ないし６のいずれか一記載の情報処理装置。
【請求項９】
前記読取り手段は、前記書庫ファイルの書庫ファイル形式が破壊されているか否かを判定し、前記書庫ファイルの書庫ファイル形式が破壊されていると判定した場合には、前記書庫ファイル内のブロックデータ又は属性データを読取る代わりに、前記情報保護手段によって分割されたブロックデータ又は属性データを読取る、ことを特徴とする請求項７記載の情報処理装置。
【請求項１０】
前記書庫ファイルの書庫ファイル形式が破壊されているか否かの判定は、前記書庫ファイル内のENDデータ内に更新処理実行フラグの属性データがある場合には、フラグ値に基づいて実行する、ことを特徴とする請求項８または９記載の情報処理装置。
【請求項１１】
前記書庫ファイルの書庫ファイル形式が破壊されているか否かの判定は、ENDデータ内にあるCENデータの格納先頭位置のデータに基づいて実行する、ことを特徴とする請求項８または９記載の情報処理装置。
【請求項１２】
前記読取り手段は、前記第１更新手段により内容が更新されるブロックデータを読取る際には、前記第１更新手段による内容更新処理が終了するまで読取り処理を待機する、ことを特徴とする請求項１ないし１１のいずれか一記載の情報処理装置。
【請求項１３】
前記書庫ファイルは、文書の内容を表すコンテンツファイルと、文書全体を定義する定義ファイルと、前記コンテンツファイルを動作させる動作プログラムファイルとを１つのファイルに書庫ファイル化したカプセル化文書である、ことを特徴とする請求項１ないし１２のいずれか一記載の情報処理装置。
【請求項１４】
１又は複数のファイルをブロックデータに変換して単一のファイルに統合した書庫ファイル形式の書庫ファイルに対する処理をコンピュータに実行させるプログラムであって、前記コンピュータに、
前記書庫ファイル内の任意のブロックデータの更新を指示する更新指示機能と、
この更新指示機能による更新指示に従って前記書庫ファイル内の所定のデータを保護する情報保護機能と、
前記更新指示機能により更新指示された前記書庫ファイル内の任意のブロックデータを逆変換して、変換前の前記ファイルの内容を読み取る読取り機能と、
この読取り機能により読み取られた前記ファイルの内容を更新する第１更新機能と、
この第１更新機能により内容が更新された前記ファイルをブロックデータに変換して前記書庫ファイルに書き込む第１書込み機能と、
前記第１更新機能による内容更新に伴って前記情報保護機能により保護した所定のデータの内容を更新する第２更新機能と、
前記第２更新機能により内容を更新した所定のデータを、前記書込み機能により内容更新後の前記ブロックデータを書き込んだ前記書庫ファイルに書き込む第２書込み機能と、を実行させることを特徴とするプログラム。
【請求項１５】
前記情報保護機能は、前記更新指示機能により更新指示された前記書庫ファイル内の任意のブロックデータの位置以下にある前記書庫ファイル内の全てのデータを一時記録機能に退避させ、退避させたデータ内にある属性データの内容を更新する、ことを特徴とする請求項１４記載のプログラム。
【請求項１６】
前記情報保護機能は、前記更新指示機能により更新指示された前記書庫ファイル内の属性データを一時記録手段に退避させ、退避させたデータ内にある属性データの内容を更新する、ことを特徴とする請求項１４記載のプログラム。
【請求項１７】
前記情報保護機能により退避させられる前記属性データには、前記書庫ファイル内にある各ブロックデータの先頭アドレスを示す情報が記載されている、ことを特徴とする請求項１６記載のプログラム。
【請求項１８】
前記情報保護機能は、前記第１更新機能による内容更新前のブロックデータサイズと前記第１更新機能による内容更新後のブロックデータサイズとを比較して、前記第１更新機能による内容更新後のブロックデータサイズの方が大きい場合には、前記更新指示機能により更新指示された前記書庫ファイル内の属性データを一時記録手段に退避させる、ことを特徴とする請求項１６または１７記載のプログラム。
【請求項１９】
前記情報保護機能は、前記第１更新機能による内容更新時に書込まれるブロックデータを読取り、次ブロックデータであることを示すシグネチャ情報が読取られた場合に、前記更新指示機能により更新指示された前記書庫ファイル内の属性データを一時記録手段に退避させる、ことを特徴とする請求項１６または１７記載のプログラム。
【請求項２０】
前記情報保護機能は、前記更新指示機能により更新指示された前記書庫ファイル内の任意のブロックデータの位置で、前記書庫ファイルを分割し、分割したデータ内にある属性データの内容を更新する、ことを特徴とする請求項１４記載のプログラム。
【請求項２１】
前記読取り機能は、前記書庫ファイルの書庫ファイル形式が破壊されているか否かを判定し、前記書庫ファイルの書庫ファイル形式が破壊されていると判定した場合には、前記書庫ファイル内のブロックデータ又は属性データを読取る代わりに、前記情報保護機能によって前記一時記録手段に退避されているブロックデータ又は属性データを読取る、ことを特徴とする請求項１５ないし１９のいずれか一記載のプログラム。
【請求項２２】
前記読取り機能は、前記書庫ファイルの書庫ファイル形式が破壊されているか否かを判定し、前記書庫ファイルの書庫ファイル形式が破壊されていると判定した場合には、前記書庫ファイル内のブロックデータ又は属性データを読取る代わりに、前記情報保護機能によって分割されたブロックデータ又は属性データを読取る、ことを特徴とする請求項２０記載のプログラム。
【請求項２３】
前記書庫ファイルの書庫ファイル形式が破壊されているか否かの判定は、前記書庫ファイル内のENDデータ内に更新処理実行フラグの属性データがある場合には、フラグ値に基づいて実行する、ことを特徴とする請求項２１または２２記載のプログラム。
【請求項２４】
前記書庫ファイルの書庫ファイル形式が破壊されているか否かの判定は、ENDデータ内にあるCENデータの格納先頭位置のデータに基づいて実行する、ことを特徴とする請求項２１または２２記載のプログラム。
【請求項２５】
前記読取り機能は、前記第１更新機能により内容が更新されるブロックデータを読取る際には、前記第１更新機能による内容更新処理が終了するまで読取り処理を待機する、ことを特徴とする請求項１４ないし２４のいずれか一記載のプログラム。
【請求項２６】
請求項１４ないし２５のいずれか一記載のプログラムを記憶することを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１又は複数のファイルをブロックデータに変換して単一のファイルに統合した書庫ファイル形式の書庫ファイルを処理する情報処理装置、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
一般的にコンピュータ等で使用するファイルは、ハードディスク等の記録媒体に分割された状態で保存されている。記録媒体に保存されたファイルは、コンピュータの基本ソフトであるＯＳ（オペレーションシステム）がサポートするファイルシステム機能によってファイルアクセスされる。ファイルシステムとは、記録媒体のどこにどんなデータが記録されているか管理する仕組みであり、Windows（登録商標）等のＯＳで使用されるファイルシステムとしては、FAT16（ファイル・アロケーション・テーブル）、FAT32、NTFSが有名である。記録媒体にはファイルが保存されているクラスタ領域の位置を示すファイルシステム領域（ファイル・アロケーション・テーブル等）と実際にファイルのデータ等が分割されて保存されているクラスタ領域があり、ＯＳのファイルシステム機能はファイルシステム領域を参照することで、分割されたクラスタ領域に保存されているファイルのデータへアクセスしてファイルを読み込んでいる。
【０００３】
一方、アプリケーションプログラムは、ＯＳのファイルシステム機能によって記録媒体から読み込まれたファイルのデータを使用してファイルアクセスしている。ＯＳのファイルシステム機能がファイルの入出力作業を仲介することより、アプリケーションプログラム側では記録媒体のクラスタ領域等を考慮しなくとも単一のファイルとしてアクセス可能となっている。
【０００４】
アプリケーションプログラム側が使用するファイルのアクセス形式としては、シーケンシャルファイル形式とランダムファイル形式に分けられる。シーケンシャルファイル形式は、ファイルのデータが上から順々に保存されており、レコード番号等の情報が無い保存形式であるため、データの更新やアクセス処理をファイルの先頭から順番に行う必要のあるファイル形式である。また、ランダムファイル形式は、ファイルのデータが保存されるレコードのレコード番号が管理されている保存形式であるため、ファイル内の任意のレコードへ直接的にアクセス可能なファイル形式である。
【０００５】
一方、複数のファイルを圧縮し、一つのファイルとして保持する書庫ファイル形式（ZIP・LHA等）がある。書庫ファイル形式は、アプリケーションプログラム側が使用するファイル形式であり、複数のファイルのデータサイズを小さくして一つの書庫ファイルに集約するので複数のファイルを送受信する際（サーバ等からファイル等をダウンロードする際など）に便利であり、広く利用されている。書庫ファイルを使用する際には、シーケンシャルファイル形式と同様に、書庫ファイルの先頭から順々に圧縮された全てのデータを解凍処理した後で使用する。
【０００６】
近年、コンピュータ処理能力の向上により、テキストデータだけではなく、音声・静止画・動画・３次元画像等の情報を融合したマルチメディア情報を利用する機会が多くなっている。マルチメディア情報は、音声・静止画・動画・３次元画像等で様々なフォーマットが利用されるために、マルチメディア情報は複数のファイルから構成されることが多い。複数のファイルから構成されるマルチメディア情報の送受信には、書庫ファイル形式が便利である。
【０００７】
本出願人は、特許文献１において、文書のデータ構造として、複数のコンテンツファイルと、それらとそれらの構造を定義した文書構造ファイルと、文書構造ファイルに基づく動作プログラムとを１つのファイルにカプセル化した文書のデータ構造（カプセル化文書）を既に提案している。この特許文献１によれば、電子文書情報に閲覧する動作プログラムをカプセル化（書庫ファイル化）することによって、閲覧者は作成者と異なるコンピュータ環境で電子文書を閲覧することが可能になるとともに、ユーザが加筆した加筆情報を電子文書情報に重層して表示することで加筆情報を効率良く管理することが可能になっている。
【特許文献１】特開２００３−０９９４２４公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
書庫ファイル内の任意のデータを読み取る際には、書庫ファイル内の全てのデータを解凍処理しなければならなく、処理時間が多く費やされることになる。そこで、書庫ファイル形式では、書庫ファイル内のデータの読取り処理だけは特別に、書庫ファイル内に保存されている属性情報を利用することで、ランダムファイル形式と同様に書庫ファイル内の任意のデータを直接的に読み取るようにしている。
【０００９】
また、ZIP等の書庫ファイル形式は、書庫ファイル内の任意のブロックデータのみ更新する事をサポートしていない。このように書庫ファイル内の任意のブロックデータのみ更新する事をサポートしていないことについての理由を以下において述べる。
【００１０】
書庫ファイル内のブロックデータに圧縮されているファイルの情報を異なる情報へ変更した場合は、符号化前のファイルサイズが同じでも符号化後のブロックデータのサイズは異なることが多い（通常の圧縮方式は連続するコードパターンを他のコードに置き換えるため、符号化前のコードサイズが同じでもコードパターンが異なると符号化後のコードサイズは異なる）。このため、更新対象となるブロックデータ以降のデータは、更新対象となるブロックデータのサイズの増減によって格納位置が変更される。従って、従来の更新処理方式で書庫ファイル内のブロックデータを直接的に更新処理すると、属性データの格納位置が変更されて書庫ファイル形式が破壊されるため、属性データの読取り処理が実行不可能になる。つまり、ZIP等の書庫ファイル形式においては、書庫ファイルを直接的に更新処理した場合には、書庫ファイル内のデータを読取ることができなくなってしまう。
【００１１】
ところが、ZIP等の書庫ファイル形式のマルチメディア情報を利用するに際し、そのデータの一部を更新したい場合がある。しかしながら、現状の書庫ファイル形式では、書庫ファイル内の任意のデータを直接的に読み取ることは可能であるが、上述した理由により更新処理することができないため、非常に不便である。これは、特許文献１のカプセル化文書ファイルにおいても同様であり、カプセル化文書ファイルがZIP等の書庫ファイル形式であるとした場合には、加筆情報をカプセル化文書ファイル内に保存して更新することができない。
【００１２】
本発明は、書庫ファイル形式の書庫ファイル内の任意のデータを更新処理することができる情報処理装置、プログラムおよび記憶媒体を提供することを目的とする。
【００１３】
本発明は、書庫ファイル形式の書庫ファイルが更新処理中であっても、任意のブロックデータを直接的に読取ることができ、書庫ファイル形式の利便性を向上させることができる情報処理装置、プログラムおよび記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
そこで上記課題を解決するため、本発明は、１又は複数のファイルをブロックデータに変換して単一のファイルに統合した書庫ファイル形式の書庫ファイルを処理する情報処理装置において、前記書庫ファイル内の任意のブロックデータの更新を指示する更新指示手段と、この更新指示手段による更新指示に従って前記書庫ファイル内の所定のデータを保護する情報保護手段と、前記更新指示手段により更新指示された前記書庫ファイル内の任意のブロックデータを逆変換して、変換前の前記ファイルの内容を読み取る読取り手段と、この読取り手段により読み取られた前記ファイルの内容を更新する第１更新手段と、この第１更新手段により内容が更新された前記ファイルをブロックデータに変換して前記書庫ファイルに書き込む第１書込み手段と、前記第１更新手段による内容更新に伴って前記情報保護手段により保護した所定のデータの内容を更新する第２更新手段と、前記第２更新手段により内容を更新した所定のデータを、前記書込み手段により内容更新後の前記ブロックデータを書き込んだ前記書庫ファイルに書き込む第２書込み手段と、を備える。
【発明の効果】
【００１５】
本発明によれば、書庫ファイル形式の書庫ファイル内の任意のデータを更新処理することができる。
【００１６】
本発明によれば、書庫ファイル形式の書庫ファイルが更新処理中であっても、任意のブロックデータを直接的に読取ることができ、書庫ファイル形式の利便性を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
[第一の実施の形態]
本発明の第一の実施の形態を図１ないし図１４に基づいて説明する。
【００１８】
本発明は、パーソナルコンピュータに代表される各種情報処理装置のアプリケーションプログラムが使用するデータファイルの取り扱いに関するものであるので、まず、一般的なパーソナルコンピュータで説明する。
【００１９】
[１．パーソナルコンピュータ１の構成についての説明]
図１は本実施の形態が適用される情報処理装置である一般的又は標準的なパーソナルコンピュータ１のハードウェアの構成図である。パーソナルコンピュータ（以下、コンピュータと略す。）１は、情報処理を行う情報処理部であるＣＰＵ（Central Processing Unit）２と、ＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）３と、情報を処理中に一時的に格納するＲＡＭ（Random Access Memory）４等の一次記憶装置と、アプリケーションプログラムや処理結果、データファイル等を保存するＨＤＤ（Hard Disk Drive）５等の二次記憶装置と、情報を外部に保管又は配布し若しくは情報（データファイルやアプリケーションプログラム）を外部から入手するための記憶媒体であるリムーバブルメディア６のドライブ６ａと、外部の他のコンピュータ１′，…と通信するためのネットワーク７に接続するためのネットワークインタフェース８と、処理経過や処理結果等をユーザに表示するディスプレイ９と、操作者がコンピュータ１に命令や情報等を入力するためのキーボード１０やマウス１１等の入力装置とから構成され、これらの間のデータ通信をバスコントローラ１２が調停して動作している。
【００２０】
なお、リムーバブルメディア６としては、フレキシブルディスク、ハードディスク、磁気テープ等のような磁気的な記憶媒体、ＭＯのような光磁気的な記憶媒体、ＣＤ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等のような光学的な記憶媒体、半導体メモリ等、各種の記憶媒体が適用できる。
【００２１】
データ送信は、コンピュータ１のネットワークインタフェース８にデータが送られ、そのデータに基づいてネットワークインタフェース８がネットワーク７へ信号を出力することにより実現される。また、ネットワークインタフェース８が受け取った信号については、ネットワークインタフェース８において必要かどうかの判断がなされ、必要なデータであれば取り込まれ、不必要であれば破棄される、というような処理が行われる。すなわち、あらゆるデータの送受信は、すべてネットワークインタフェース８を経由して行われることになる。
【００２２】
一般的に、このようなコンピュータ１ではユーザが電源を投入すると、ＣＰＵ２はＲＯＭ３内のＢＩＯＳに含まれるローダーというプログラムを起動させ、ＨＤＤ５からオペレーティングシステム（ＯＳ）という当該コンピュータ１のハードウェアとソフトウェアとを管理するプログラムをＲＡＭ４に読み込む。ＯＳは起動すると、ユーザの操作に応じてアプリケーションプログラムの起動、情報の読み込み、保存等をサポートする。代表的なＯＳとしては、Windows（登録商標）等が知られている。これらのＯＳ上で走るプログラムをアプリケーションプログラムと呼んでいる。ユーザは、通常、このＯＳを通してユーザの目的とするアプリケーションプログラムを起動、必要なデータを編集、保存、消去等を行うために記憶装置に記録されているデジタル情報をファイルと言う単位で操作する。つまり、ユーザがコンピュータに対して各種の操作を行う場合はアプリケーションプログラムやデータは全て“ファイル”と言う単位で扱い、それらは記憶装置に保持されている。
【００２３】
次に、ＯＳが二次記憶装置等の記憶媒体に保持されているアプリケーションプログラムをユーザの指示により起動する場合について説明する。図２は、ＯＳの役割の概要を示す模式図である。ユーザがＯＳに特定のプログラムの起動を指示すると、ＯＳはそのプログラムコードを記憶媒体より記憶装置のハードウェアを使用して読み込み、これをコンピュータ１の一次記憶装置（メモリ）であるＲＡＭ４にコードを展開し、展開された特定のアドレスよりＣＰＵ２が実行することでプログラムが実行される。通常、このような独立に実行されているプログラムのことを“プロセス”又は“タスク”と称し、記憶媒体に保持された“プログラムコード”と区別している。
【００２４】
現在の多くのＯＳは、このようなプロセス又はタスクを複数同時に走らせることのできるマルチタスク機能を有するものが一般的である。また、今日のＯＳはこのような複数のプロセスを同時に走らせるためにプロセス毎に独立してメモリを割り当て動作している。
【００２５】
また、このようなプロセス間でデータをやり取りするプロセス間通信のためにメモリ上にメタファイルと言う仮想的なファイルを形成し、ファイルアクセスを介して情報の送受信を行っている。
【００２６】
[２．データファイルの説明]
本実施の形態のパーソナルコンピュータ１のアプリケーションプログラムが使用するデータファイルは、複数のファイルを圧縮して一つのファイルとして保持する書庫ファイル形式である。
【００２７】
書庫ファイル形式は、複数のファイルを複数のブロックデータへ圧縮変換し、圧縮されたブロックデータを書庫ファイル内に順々に保存することで、複数のファイルを一つの書庫ファイルへと集約する。各々のファイルを圧縮変換したブロックデータは一定のデータサイズにはならないため、書庫ファイル形式では様々なサイズのブロックデータが上から順々に保存されている。したがって、一般的に書庫ファイルを使用する際には、シーケンシャルファイル形式と同様に、書庫ファイルの先頭から順々に書庫ファイル内の圧縮されたブロックデータを複数のファイルへと解凍処理した後で、ファイルの読取り処理や更新処理が実行されている。しかし、上記の処理方法では、書庫ファイル内のブロックデータを読み取る際にも、書庫ファイル内の全てのブロックデータを解凍処理しなければならなく、処理時間が多く費やされる。そこで、書庫ファイル形式では、書庫ファイル内のブロックデータの読取り処理だけは特別に、書庫ファイル内に保存されている属性データを利用することで、ランダムファイル形式と同様に書庫ファイル内の任意のブロックデータを直接的に読取ることができるようになっている。
【００２８】
ここで、書庫ファイル形式の中でも一般的に広く利用されているZIPファイル形式について説明する。図３は、ZIPファイルのフォーマット例を示す説明図である。一般的なZIPファイルは複数のファイルの情報を圧縮してブロックデータ化し、単一ファイルに統合するマルチファイル書庫形式であり、通常ファイルの種類を表す拡張子は“.ｚｉｐ”であり、図３に示すようなフォーマットである。ZIPファイル形式は、LOCデータ（Local file header）と呼ばれる属性データとそれに続く圧縮データと省略可能なExtデータ（Extended local header）と呼ばれる属性データからなる各ファイルのブロックデータと、圧縮された圧縮データに対応するCENデータ（Central directory）と呼ばれる属性データと、ENDデータ（End of Central directory）と呼ばれる属性データから構成される。つまり、３個のファイルをZIP形式で単一ファイル化した場合は、ファイルの先頭からLOCデータで始まる３個の圧縮されたブロックデータと、３個のCENデータと、１個のENDデータから構成される。
【００２９】
図４は、シグネチャで始まる属性データを示す説明図である。各属性データは、図４に示すように、属性データである事を表す４Byteのシグネチャ（データの形式を表す記号（識別子））で始まり、このシグネチャを検出する事で各属性データを検出できる。各シグネチャは、ZIPの開発由来から「ＰＫ」の２Byteのアスキーコードで始まる。
【００３０】
図５にENDデータに保持される属性データの一例を、図６にCENデータに保持される属性データの一例を示す。ENDデータには、ENDデータであることを示すシグネチャが先頭に格納されており、その下に先頭のCENデータが書庫ファイル内に格納されている位置を示す属性データや書庫ファイル内にあるCENデータの総数を示す属性データなどが格納されている。また、ENDデータには、必要に応じて更新処理実行フラグ等の属性データを追加しても良い。更新処理実行フラグのデフォルト値は、“False”である。CENデータには、CENデータであることを示すシグネチャが先頭に格納されており、その下にCENデータと対応するブロックデータのサイズを示す属性情報や書庫ファイル内のブロックデータの格納位置を示す属性情報、ブロックデータ圧縮変換前のファイル名を示す属性情報などが格納されている。
【００３１】
当然ながら、ZIPファイルの利用方法も他の書庫ファイルと同様に、基本的には圧縮変換されたブロックデータをZIPファイルの先頭から規定の解凍方法で解凍していく事で圧縮変換前の情報を復元して利用する。また、読取り処理だけは特別に、ZIPファイル内のENDデータ内の属性データとブロックデータと対応するCENデータ内の属性データからZIPファイル内のブロックデータの名前と格納位置を検出できるので、書庫ファイル内の任意の位置に格納されているブロックデータのみを直接的に解凍し読取り処理を実行することができる。より詳細には、書庫ファイルからユーザが所望する任意のブロックデータのみを解凍（復号）する場合には、書庫ファイル内からシグネチャを元にENDデータを特定し、ENDデータ内の属性データからCENデータの格納位置を特定し、ユーザが所望する任意のファイルと対応するブロックデータの格納位置を特定し、書庫ファイル内の任意の位置に格納されているブロックデータのみを直接的に解凍し読取り処理を実行する。
【００３２】
[３．コンピュータ１が備える特長的な機能の説明]
コンピュータ１は、ＯＳ上で動作するアプリケーションプログラムが起動すると、このアプリケーションプログラムに従い、ＣＰＵ２が各種の演算処理を実行して各部を集中的に制御する。コンピュータ１のＣＰＵ２が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【００３３】
図７は、コンピュータ１の機能構成を示すブロック図である。図７に示すように、コンピュータ１は、ＣＰＵ２がＯＳ上で動作するアプリケーションプログラムに従うことにより、読取り手段２１と、更新手段２２とを実現する。なお、図７中、一時記録手段はＲＡＭ４、書庫ファイルＦ等のデータを保持する記録手段はＨＤＤ５またはリムーバブルメディア６である。
【００３４】
読取り手段２１は、記録手段・一時記録手段等に保存されているデータファイルである書庫ファイルＦ内にある読取り対象となる任意のブロックデータを逆変換して、変換前のファイルの内容を読み取る手段である。
【００３５】
更新手段２２は、書庫ファイルＦ内にある任意のブロックデータを直接的に更新処理する手段であり、書込み手段２３と情報保護手段２４とを有している。書込み手段２３は、記録手段に保存されている書庫ファイルＦへ更新するデータを直接的に書込む手段である。情報保護手段２４は、書庫ファイルＦが直接的に書込まれた際に破壊される書庫ファイル形式を保護するために、破壊される前の書庫ファイルＦ内のデータを一時記録手段に退避させて、書庫ファイルＦ内のデータを保護する手段である。
【００３６】
[３−１．書庫ファイル更新処理]
まず、更新手段２２により実現される書庫ファイル更新処理について詳述する。図８は、書庫ファイル更新処理の流れを示すフローチャートである。図８に示すように、書庫ファイル更新処理は、まず、記録手段（ＨＤＤ５またはリムーバブルメディア６）に保持されている書庫ファイルＦを読取り、更新対象となるブロックデータが格納されている位置を検出する（ステップＳ１：更新指示手段）。更新対象となるブロックデータが格納されている位置の検出方法としては、まず初めに書庫ファイルＦ内からシグネチャを手がかりにENDデータの格納位置を検出し、ENDデータに格納されているCENデータの格納位置の属性データを参照してCENデータを読込む。次に、CENデータに格納されているブロックデータの格納位置の属性データを参照することで更新対象となるブロックデータの格納位置を検出する。図９は、ステップＳ１の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００３７】
続くステップＳ２では、ステップＳ１で検出された更新対象ブロックデータの格納位置以降にある書庫ファイルＦ内のデータを一時記録手段へ一時的に退避させて保護するとともに、保護した保護データ内にある属性データの内容を更新する（情報保護手段）。更新対象となる属性データは、ENDデータと更新対象となるCENデータ以降に格納されているCENデータとが挙げられる。ENDデータでは、ENDデータ内に格納されているCENデータの格納先頭位置の属性データを一時記録手段に保護された保護データ内のCENデータの格納先頭位置に更新する。更新対象以降のCENデータでは、ブロックデータの格納位置の属性データを一時記録手段に保護された保護データ内のブロックデータの格納位置に更新する。また、記録手段に保持された書庫ファイルＦのENDデータ内に更新処理実行フラグの属性データがある場合には、書庫ファイルが更新中になることを示すため、記録手段に保持された書庫ファイルＦの更新処理実行フラグを“True”にする。図１０は、ステップＳ２の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００３８】
ステップＳ３では、記録手段に保持されている書庫ファイルＦ内の更新対象ブロックデータへ更新するブロックデータを書込んで更新処理を行う。書込み処理の一例としては、更新対象ブロックデータを解凍してファイルのデータへ逆変換し（読取り手段）、ファイルのデータ更新を行う（第１更新手段）。次に、更新されたファイルのデータを再び圧縮してブロックデータにし、書庫ファイルＦ内の更新対象ブロックデータの格納位置に更新したブロックデータを書込む（第１書込み手段）。この書込み処理をした時点で、更新対象ブロックデータのサイズが変更され書庫ファイル形式が破壊されるため、書庫ファイルＦ内のデータを保護せずに通常の更新処理を実行すると書庫ファイルＦ内のデータの読込み処理が出来なくなる。図１１は、ステップＳ３の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００３９】
ステップＳ４では、更新後のブロックデータサイズを算出し、更新前と更新後のブロックデータサイズを比較する。この比較処理によって、更新前と更新後のブロックデータサイズ（圧縮サイズ）の差分を求める。比較処理に使用する更新前のブロックデータサイズは、一時記録手段に保護された保護データ内の属性情報を参照しても良いし、ブロックデータの更新処理前に予めデータサイズを算出して利用しても良い。また、更新後のブロックデータサイズは、更新処理後に記録手段に保持されている書庫ファイル内のブロックデータを算出して利用しても良いし、書込む処理の際に更新ブロックデータのサイズを算出して利用しても良い。
【００４０】
ステップＳ５では、算出したブロックデータサイズの差分情報を利用して、一時記録手段に保護した保護データ内にある属性データの内容を更新する（第２更新手段）。更新対象となる属性データはENDデータとCENデータが挙げられる。ここで、ブロックデータサイズの差分情報がＸbyteの増加であったとすると、ENDデータ内に格納されているCENデータの格納先頭位置の属性データをステップＳ２の更新処理前の属性データにＸbyte加算した値に更新する。また、ステップＳ３の更新処理で、書庫ファイルＦ内へ新規にファイルを追加する場合には、ENDデータ内に格納されているCENデータの総数の属性データを追加したファイル数だけ加算する。CENデータは、更新対象ブロックデータに対応するCENデータとそのCENデータ以降に格納されているCENデータが更新される。更新対象のCENデータでは、ブロックデータサイズの属性情報を更新したブロックデータサイズに変更する。また、ステップＳ３の更新処理で、ファイル名の更新等がある場合には、ファイル名の長さ属性情報やファイル名属性情報等も更新する。更新対象以降のCENデータでは、ブロックデータの格納位置の属性データをステップＳ２の更新処理前の属性データにＸbyte加算した値へ更新する。図１２は、ステップＳ５の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００４１】
最後に、ステップＳ６では、保護データを記録手段に保持されている書庫ファイルＦ内の更新対象ブロックデータ以降のデータに上書き保存する（第２書込み手段）。書庫ファイルＦのENDデータ内に更新処理実行フラグの属性データがある場合には、書庫ファイルＦの更新処理が終了したことを示すため、更新処理実行フラグを“False”に更新する。図１３は、ステップＳ６の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００４２】
以上の処理により、書庫ファイルＦの更新処理前に、更新対象となるブロックデータ以降のデータを一時記録手段に退避させることで、書庫ファイルＦ内のデータを保護することにより、書庫ファイルＦ内の任意のブロックデータを直接的に更新処理しても書庫ファイルＦ内のブロックデータを読取り可能にすることができ、書庫ファイル形式のデータを保護することができる。
【００４３】
[３−２．書庫ファイル更新処理時におけるファイル読取り処理]
次に、読取り手段２１と更新手段２２とにより実現される書庫ファイル更新処理時におけるファイル読取り処理について詳述する。図１４は、書庫ファイル更新処理時におけるファイル読取り処理の流れを示すフローチャートである。図１４に示すように、書庫ファイル更新処理時におけるファイル読取りが指示された場合（ステップＳ１１のＹ）、記録手段に保持された書庫ファイルＦ内のENDデータを参照する（ステップＳ１２）。ここで、ENDデータ内に更新処理実行フラグの属性データがある場合には、フラグ値を参照する。更新処理実行フラグの属性データがない場合には、ENDデータ内にあるCENデータの格納先頭位置の属性データを参照する。
【００４４】
続くステップＳ１３では、ステップＳ１２で参照した書庫ファイル形式が破壊されているか否か、すなわち更新処理中であるか否かを判定する。
【００４５】
ENDデータ内に更新処理実行フラグの属性データがある場合には、フラグ値を判定に使用する。更新処理実行フラグのフラグ値が“True”であれば書庫ファイルＦが更新処理中であるので、書庫ファイル形式が破壊されているものと判定し（ステップＳ１３のＹ）、ステップＳ１４に進む。反対に、フラグ値が“False”であれば、書庫ファイルＦが更新処理中でないので、書庫ファイル形式が破壊されていないものと判定し（ステップＳ１３のＮ）、ステップＳ１５に進む。
【００４６】
なお、ENDデータ内に更新処理実行フラグの属性データが無い場合には、ENDデータ内にあるCENデータの格納先頭位置の属性データを利用して、格納先頭位置のデータを参照する。参照先のデータがCENデータであることを示すシグネチャと等しければ、書庫ファイル形式が破壊されていないものと判定し（ステップＳ１３のＮ）、ステップＳ１５に進む。反対に、参照先のデータがシグネチャと等しくなければ、書庫ファイル形式が破壊されているものと判定し（ステップＳ１３のＹ）、ステップＳ１４に進む。
【００４７】
ステップＳ１４では、一時記録手段に保護した保護データを参照する。保護データは、図８に示した書庫ファイル更新処理のフローチャートのステップＳ２で書庫ファイルＦ内のデータを一時記録手段に退避させたデータである。保護データとして保護されたENDデータ内にあるCENデータの格納先頭位置の属性データを利用して、CENデータを参照する。次に、CENデータ内にあるブロックデータの格納位置を参照することで、読取り対象となるブロックデータの格納位置を指定し、ステップＳ１６に進む。また、読取り対象となるブロックデータが更新対象ブロックデータと同じである場合には、更新対象ブロックデータの更新処理が終了するまで、読取り処理を待機させることで更新処理後のブロックデータを読取れるようにしても良い。
【００４８】
一方、ステップＳ１５では、記録手段に保持された書庫ファイルＦ内のデータを参照する。ステップＳ１５は、従来の書庫ファイルＦの読取り処理と同様であり、記録手段に保持された書庫ファイルＦ内のENDデータを参照し、次にCENデータを参照することで読取り対象となるブロックデータの格納位置を指定し、ステップＳ１６に進む。
【００４９】
最後に、ステップＳ１６では、ステップＳ１４又はステップＳ１５で指定された格納位置にあるブロックデータを読取る。
【００５０】
以上の処理により、書庫ファイル形式の書庫ファイルＦが更新処理中であっても、任意のブロックデータを直接的に読取ることができるので、書庫ファイル形式の利便性を向上させることができる。
【００５１】
このように本実施の形態によれば、情報保護手段２４は、書庫ファイルＦの更新処理前に、更新指示手段により更新指示された書庫ファイルＦ内の任意のブロックデータの位置以下にある書庫ファイルＦ内の全てのデータを一時記録手段に退避させる。そして、書庫ファイルＦ内の任意のブロックデータの内容更新に伴って保護された所定のデータの内容が更新され、この更新された所定のデータが内容更新後のブロックデータが書き込まれた書庫ファイルＦに書き込まれる。これにより、書庫ファイルＦ内の任意のブロックデータを直接的に更新処理しても書庫ファイル形式が破壊されることがなくなり、書庫ファイルＦ内のブロックデータを読取り可能にすることが可能になるので、書庫ファイル形式のデータを保護した状態での書庫ファイルＦの更新処理が可能になる。
【００５２】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５３】
［第二の実施の形態］
本発明の第二の実施の形態を図１５ないし図２２に基づいて説明する。なお、前述した第一の実施の形態と同一部分は同一符号で示し説明も省略する。本実施の形態は、第一の実施の形態とは、書庫ファイル更新処理の流れが異なるものである。具体的には、第一の実施の形態では、書庫ファイルＦの更新処理時に更新対象ブロックデータの格納位置以降にある書庫ファイルＦ内のデータを一時記録手段に退避させて保護することで書庫ファイル形式のデータを保護したが、本実施の形態では、更新処理時に書庫ファイルＦ内の属性データだけを一時記録手段に退避させることで書庫ファイル形式のデータを保護するようにしたものである。
【００５４】
[１．コンピュータ１が備える特長的な機能の説明]
[１−１．書庫ファイル更新処理]
更新手段２２により実現される書庫ファイル更新処理について詳述する。図１５は、本実施の形態の書庫ファイル更新処理の流れを示すフローチャートである。図１５に示すように、まず、記録手段（ＨＤＤ５またはリムーバブルメディア６）に保持されている書庫ファイルＦを読取り、更新対象となるブロックデータが格納されている位置を検出する（ステップＳ２１：更新指示手段）。更新対象となるブロックデータが格納されている位置の検出方法は、第一の実施の形態と同様である。
【００５５】
続いて、書庫ファイルＦ内の属性データのみを一時記録手段へ一時的に退避させて保護し、保護した保護データ内にある属性データの内容を更新する（ステップＳ２２：情報保護手段）。ここで、更新対象となる属性データは、ENDデータが挙げられる。ENDデータでは、ENDデータ内に格納されているCENデータの格納先頭位置の属性データを一時記録手段に保護された保護データ内のCENデータの格納先頭位置に更新する。記録手段に保持された書庫ファイルＦのENDデータ内に更新処理実行フラグの属性データがある場合には、書庫ファイルＦが更新中になることを示すため、記録手段に保持された書庫ファイルの更新処理実行フラグを“True”にする。図１６は、ステップＳ２２の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００５６】
続くステップＳ２３では、記録手段に保持されている書庫ファイルＦ内の更新対象ブロックデータへ更新するブロックデータを書込んで更新処理を行う。書込み処理の一例としては、更新対象ブロックデータを解凍してファイルデータへ逆変換し（読取り手段）、ファイルデータの更新を行う（第１更新手段）。次に、更新されたファイルデータを再び圧縮してブロックデータにし、書庫ファイルＦ内の更新対象ブロックデータの格納位置に更新したブロックデータを書込む（第１書込み手段）。
【００５７】
図１７は、更新処理による次ブロックデータの破壊の様子を示す説明図である。本実施の形態においては、書込み処理の際に属性データしか保護していないので、図１７に示すように、更新前のブロックデータのサイズよりも更新後のブロックデータのサイズが大きいと、更新対象ブロックデータの次に格納されている次ブロックデータが破壊されてしまう。そこで、ステップＳ２３においては、更新ブロックデータを書込む際に、更新前のブロックデータサイズと更新後のブロックデータサイズを比較して、更新後のブロックデータサイズの方が大きい時には、書込み処理の前に次ブロックデータを一時記録手段へ退避させ保護する。
【００５８】
ここで、ステップＳ２３の更新処理を図１８のフローチャートを参照しつつ説明する。図１８に示すように、更新前のブロックデータサイズと更新後のブロックデータサイズを算出し（ステップＳ３１、Ｓ３２）、更新前と更新後のデータサイズを比較する（ステップＳ３３）。更新後のデータサイズが大きい場合には（ステップＳ３３のＹ）、更新対象となるブロックデータの次ブロックデータを一時記録手段へ退避させ保護した後（ステップＳ３４）、次ブロックデータと対応するCENデータ内にあるブロックデータの格納位置の属性データを一時記録手段に格納した次ブロックデータの格納位置に更新し（ステップＳ３５）、更新対象のブロックデータの更新処理を実行する（ステップＳ３６）。一方、更新後のデータサイズが小さい場合には（ステップＳ３３のＮ）、そのまま更新対象のブロックデータの更新処理を実行する（ステップＳ３６）。
【００５９】
なお、更新対象のブロックデータの更新後のデータサイズが、更新前のブロックデータサイズと、更新対象の次のブロックデータのデータサイズとの合計よりも大きくなる場合を考慮し、ステップＳ３４では、更新対象の次のブロックデータだけでなく、次のブロックデータ以降のブロックデータを一時記録手段へ退避させるようにしてもよい。この場合、退避されたそれぞれのブロックデータに対応するCENデータ内にあるブロックデータの格納位置の属性データを一時記録手段における格納位置に更新すればよい。
【００６０】
また、上記の例では更新前と更新後のブロックデータのサイズを比較して次ブロックデータの保護処理の実行を判断したが、ブロックデータの先頭にLOCデータであることを示すシグネチャ情報が格納されていることを利用して、更新処理時に書込まれるデータを読取り、次ブロックデータであることを示すシグネチャ情報が読取られたときに次ブロックデータの保護処理を実行するようにしても良い。
【００６１】
ここで、ステップＳ２３の別の更新処理を図１９のフローチャートを参照しつつ説明する。図１９に示すように、まず、更新ブロックデータによって更新処理される位置の書庫ファイルのデータを読取り（ステップＳ４１）、読取ったデータが次ブロックデータの先頭位置（LOCデータ）を示すシグネチャ情報であるかを判定する（ステップＳ４２）。シグネチャ情報であると判定した場合には（ステップＳ４２のＹ）、更新対象となるブロックデータの次ブロックデータを一時記録手段へ退避させ保護した後（ステップＳ４３）、次ブロックデータと対応するCENデータ内にあるブロックデータの格納位置の属性データを一時記録手段に格納した次ブロックデータの格納位置に更新し（ステップＳ４４）、更新対象のブロックデータの更新処理を実行する（ステップＳ４５）。一方、シグネチャ情報でないと判定した場合には（ステップＳ４２のＮ）、そのまま更新対象のブロックデータの更新処理を実行する（ステップＳ４５）。以上の処理を繰り返し実行することで、シグネチャ情報を読取って次ブロックデータの情報まで破壊されるかどうかを判定しながら更新処理することができる。
【００６２】
図２０は、ステップＳ２３の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００６３】
ステップＳ２４では、更新後のブロックデータサイズを算出し、更新前と更新後のブロックデータサイズを比較する。この比較処理によって、更新前と更新後のブロックデータサイズ（圧縮サイズ）の差分を求める。比較処理に使用する更新前のブロックデータサイズは、一時記録手段に保護された保護データ内の属性情報を参照しても良いし、ブロックデータの更新処理前に予めデータサイズを算出して利用しても良い。また、更新後のブロックデータサイズは、更新処理後に記録手段に保持されている書庫ファイル内のブロックデータを算出して利用しても良いし、書込む処理の際に更新ブロックデータのサイズを算出して利用しても良い。
【００６４】
ステップＳ２５では、算出したブロックデータサイズの差分情報を利用して、一時記録手段に保護した保護データ内にある属性データの内容を更新する（第２更新手段）。更新対象となる属性データはENDデータとCENデータが挙げられる。ここで、ブロックデータサイズの差分情報がＸbyteの増加であったとすると、ENDデータ内に格納されているCENデータの格納先頭位置の属性データをステップＳ２の更新処理前の属性データにＸbyte加算した値に更新する。また、ステップＳ２３の更新処理で、書庫ファイルＦ内へ新規にファイルを追加する場合には、ENDデータ内に格納されているCENデータの総数の属性データを追加したファイル数だけ加算する。CENデータは、更新対象ブロックデータに対応するCENデータとそのCENデータ以降に格納されているCENデータが更新される。更新対象のCENデータでは、ブロックデータサイズの属性情報を更新したブロックデータサイズに更新する。また、ステップＳ２３の更新処理で、ファイル名の更新等がある場合には、ファイル名の長さ属性情報やファイル名属性情報等も更新する。更新対象以降のCENデータでは、ブロックデータの格納位置の属性データをステップＳ２の更新処理前の属性データにＸbyte加算した値へ更新する。図２１は、ステップＳ２５の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００６５】
最後に、ステップＳ２６では、保護データとしての属性データを、記録手段に保持されている書庫ファイルＦ内の属性データに上書き保存する（第２書込み手段）。但し、更新対象のブロックデータのサイズが更新後に大きくなった場合は、一時記録手段に退避され保護されているブロックデータを、書庫ファイルＦ内において対応するブロックデータに上書きし、各ブロックデータに対応するCENデータ内のブロックデータの格納位置を書庫ファイルＦ内におけるものに更新する。また、更新対象のブロックデータのサイズが更新後に小さくなった場合は、更新対象のブロックデータの次以降のブロックデータの位置をその差分だけ前方にずらしてもよい。
【００６６】
書庫ファイルＦのENDデータ内に更新処理実行フラグの属性データがある場合には、書庫ファイルＦの更新処理が終了したことを示すため、更新処理実行フラグを“False”に更新する。図２２は、ステップＳ２６の処理が終了した時点における記録手段・一時記録手段での書庫ファイルＦのデータ内容を示したものである。
【００６７】
以上の処理により、一時記録手段の記録容量が小さい情報処理装置を使用しても、更新処理中の書庫ファイル形式のデータを保護することができる。なお、書庫ファイルＦの読込み処理に関しては、第一の実施の形態と同様であり、一時記録手段の記録容量が小さい情報処理装置を使用しても、更新処理中の書庫ファイルＦ内にある任意のブロックデータを直接的に読取ることができる。
【００６８】
このように本実施の形態によれば、情報保護手段２４は、書庫ファイルＦの更新処理前に、更新指示手段により更新指示された書庫ファイルＦ内の属性データを一時記録手段に退避させる。そして、書庫ファイルＦ内の任意のブロックデータの内容更新に伴って保護された所定のデータの内容が更新され、この更新された所定のデータが内容更新後のブロックデータが書き込まれた書庫ファイルＦに書き込まれる。これにより、書庫ファイルＦ内の任意のブロックデータを直接的に更新処理しても書庫ファイル形式が破壊されることがなくなり、書庫ファイルＦ内のブロックデータを読取り可能にすることが可能になるので、書庫ファイル形式のデータを保護した状態での書庫ファイルＦの更新処理が可能になる。
【００６９】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７０】
［第三の実施の形態］
本発明の第三の実施の形態を図２３ないし図３０に基づいて説明する。なお、前述した第一の実施の形態と同一部分は同一符号で示し説明も省略する。第一の実施の形態では、書庫ファイルＦの更新処理時に更新対象ブロックデータの格納位置以降にある書庫ファイルＦ内のデータを一時記録手段に退避させて保護することで書庫ファイル形式のデータを保護したが、本実施の形態では、更新対象ブロックデータの末尾の格納位置で書庫ファイルを分割して保持することで、書庫ファイル形式のデータを保護するようにしたものである。
【００７１】
[１．コンピュータ１が備える特長的な機能の説明]
図２３は、本実施の形態のコンピュータ１の機能構成を示すブロック図である。図２３に示すように、コンピュータ１は、ＣＰＵ２がＯＳ上で動作するアプリケーションプログラムに従うことにより、読取り手段２１と、更新手段２２とを実現する。なお、図２３中、書庫ファイルＦ等のデータを保持する記録手段はＨＤＤ５またはリムーバブルメディア６である。
【００７２】
読取り手段２１は、記録手段・一時記録手段等に保存されているデータファイルである書庫ファイルＦを読取る手段である。
【００７３】
更新手段２２は、書庫ファイルＦ内にある任意のブロックデータを直接的に更新処理する手段であり、書込み手段２３と情報保護手段２４とを有している。書込み手段２３は、記録手段に保存されている書庫ファイルＦへ更新するデータを直接的に書込む手段である。情報保護手段２４は、書庫ファイルＦが直接的に書込まれた際に破壊される書庫ファイル形式を保護するために、破壊される前に書庫ファイルＦを分割して、書庫ファイルＦ内のデータを保護する手段である。
【００７４】
[１−１．書庫ファイル更新処理]
まず、更新手段２２により実現される書庫ファイル更新処理について詳述する。図２４は、書庫ファイル更新処理の流れを示すフローチャートである。図２４に示すように、書庫ファイル更新処理は、まず、記録手段（ＨＤＤ５またはリムーバブルメディア６）に保持されている書庫ファイルＦを読取り、更新対象となるブロックデータが格納されている位置を検出する（ステップＳ５１：更新指示手段）。更新対象となるブロックデータが格納されている位置の検出方法としては、まず初めに書庫ファイルＦ内からシグネチャを手がかりにENDデータの格納位置を検出し、ENDデータに格納されているCENデータの格納位置の属性データを参照してCENデータを読込む。次に、CENデータに格納されているブロックデータの格納位置の属性データを参照することで更新対象となるブロックデータの格納位置を検出する。図２５は、ステップＳ５１の処理が終了した時点における記録手段での書庫ファイルＦのデータ内容を示したものである。
【００７５】
続くステップＳ５２では、ステップＳ５１で検出された更新対象ブロックデータの末尾の格納位置で書庫ファイルＦを分割して書庫ファイルＦ１，Ｆ２として書庫ファイル形式のデータを保護するとともに、保護した保護データ内にある属性データの内容を更新する。更新対象となる属性データはENDデータと更新対象となるCENデータ以降に格納されているCENデータとが挙げられる。ENDデータでは、ENDデータ内に格納されているCENデータの格納先頭位置の属性データを分割した書庫ファイルＦ２内にあるCENデータの格納先頭位置に更新する。更新対象以降のCENデータでは、ブロックデータの格納位置の属性データを分割した書庫ファイルＦ２内のブロックデータの格納位置に更新する。図２６は、ステップＳ５２の処理が終了した時点における記録手段での書庫ファイルＦ（書庫ファイルＦ１，Ｆ２）のデータ内容を示したものである。
【００７６】
ステップＳ５３では、記録手段に保持されている書庫ファイルＦ（書庫ファイルＦ１）内の更新対象ブロックデータへ更新するブロックデータを書込んで更新処理を行う。書込み処理の一例としては、更新対象ブロックデータを解凍してファイルのデータへ逆変換し（読取り手段）、ファイルのデータ更新を行う（第１更新手段）。次に、更新されたファイルのデータを再び圧縮してブロックデータにし、書庫ファイルＦ（書庫ファイルＦ１）内の更新対象ブロックデータの格納位置に更新したブロックデータを書込む（第１書込み手段）。この書込み処理をした時点で、更新対象ブロックデータのサイズが更新され書庫ファイル形式が破壊されるため、書庫ファイルＦ（書庫ファイルＦ１）内のデータを保護せずに通常の更新処理を実行すると書庫ファイルＦ（書庫ファイルＦ２）内のデータの読込み処理が出来なくなる。図２７は、ステップＳ５３の処理が終了した時点における記録手段での書庫ファイルＦ（書庫ファイルＦ１，Ｆ２）のデータ内容を示したものである。
【００７７】
ステップＳ５４では、更新後のブロックデータサイズを算出し、更新前と更新後のブロックデータサイズを比較する。この比較処理によって、更新前と更新後のブロックデータサイズ（圧縮サイズ）の差分を求める。比較処理に使用する更新前のブロックデータサイズは、ブロックデータの更新処理前に予めデータサイズを算出して利用する。また、更新後のブロックデータサイズは、更新処理後に記録手段に保持されている書庫ファイル内のブロックデータを算出して利用しても良いし、書込む処理の際に更新ブロックデータのサイズを算出して利用しても良い。
【００７８】
ステップＳ５５では、算出したブロックデータサイズの差分情報を利用して、分割した書庫ファイルＦ（書庫ファイルＦ２）内にある属性データの内容を更新する（第２更新手段）。更新対象となる属性データはENDデータとCENデータが挙げられる。ここで、ブロックデータサイズの差分情報がＸbyteの増加であったとすると、ENDデータ内に格納されているCENデータの格納先頭位置の属性データをステップＳ５２の更新処理前の属性データにＸbyte加算した値に更新する。CENデータは、更新対象ブロックデータに対応するCENデータとそのCENデータ以降に格納されているCENデータが更新される。更新対象のCENデータでは、ブロックデータサイズの属性情報を更新したブロックデータサイズに更新する。更新対象以降のCENデータでは、ブロックデータの格納位置の属性データをステップＳ５２の更新処理前の属性データにＸbyte加算した値へ更新する。図２８は、ステップＳ５５の処理が終了した時点における記録手段での書庫ファイルＦ（書庫ファイルＦ１，Ｆ２）のデータ内容を示したものである。
【００７９】
最後に、ステップＳ５６では、保護データである分割した書庫ファイルＦ２を基の書庫ファイルＦ１内にある更新対象ブロックデータ以降のデータに上書き保存する（第２書込み手段）。図２９は、ステップＳ５６の処理が終了した時点における記録手段での書庫ファイルＦのデータ内容を示したものである。
【００８０】
以上の処理により、書庫ファイルＦ内の任意のブロックデータを直接的に更新処理しても書庫ファイルＦ内のブロックデータを読取り可能にすることができ、書庫ファイル形式のデータを保護することができる。
【００８１】
[１−２．書庫ファイル更新処理時におけるファイル読取り処理]
次に、読取り手段２１と更新手段２２とにより実現される書庫ファイル更新処理時におけるファイル読取り処理について詳述する。図３０は、書庫ファイル更新処理時におけるファイル読取り処理の流れを示すフローチャートである。図３０に示すように、書庫ファイル更新処理時におけるファイル読取りが指示された場合（ステップＳ６１のＹ）、記録手段に保持された書庫ファイルＦ内のデータからENDデータであることを示すシグネチャ情報を探索する（ステップＳ６２）。
【００８２】
続くステップＳ６３では、ステップＳ６２で探索した書庫ファイル形式が破壊されているか否か、すなわち更新処理中であるか否かを判定する。判定には、書庫ファイルＦ内にあるENDデータであることを示すシグネチャ情報の有無を利用する。ステップＳ６１の探索でENDデータであることを示すシグネチャ情報が検出される場合には、書庫ファイルが更新処理中でないので、書庫ファイル形式が破壊されていないものと判定し（ステップＳ６３のＮ）、ステップＳ６５に進む。反対に、シグネチャ情報が検出されない場合には、書庫ファイルが更新処理中であるので、書庫ファイル形式が破壊されているものと判定し（ステップＳ６３のＹ）、ステップＳ６４に進む。
【００８３】
ステップＳ６４では、分割した書庫ファイルＦ２内の保護データを参照する。保護データは、図２４に示した書庫ファイル更新処理のフローチャートのステップＳ５２で書庫ファイルＦを分割することで生成された書庫ファイルＦ内のデータである。保護データとして保護されたENDデータ内にあるCENデータの格納先頭位置の属性データを利用して、CENデータを参照する。次に，CENデータ内にあるブロックデータの格納位置を参照することで、読取り対象となるブロックデータの格納位置を指定し、ステップＳ６６に進む。
【００８４】
一方、ステップＳ６５では、基の書庫ファイルＦ（書庫ファイルＦ１）内のデータを参照する。ステップＳ６５は、従来の書庫ファイルＦの読取り処理と同様であり、基の書庫ファイルＦ（書庫ファイルＦ１）内のENDデータを参照し、次にCENデータを参照することで読取り対象となるブロックデータの格納位置を指定し、ステップＳ６６に進む。
【００８５】
最後に、ステップＳ６６では、ステップＳ６４又はステップＳ６５で指定された格納位置にあるブロックデータを読取る。
【００８６】
以上の処理により、書庫ファイル形式の書庫ファイルＦが更新処理中であっても、書庫ファイルＦ内にある任意のブロックデータを直接的に読取ることができるので、書庫ファイル形式の利便性を向上させることができる。
【００８７】
このように本実施の形態によれば、情報保護手段２４は、書庫ファイルＦの更新処理前に、更新指示手段により更新指示された書庫ファイルＦ内の任意のブロックデータの位置で、書庫ファイルＦを分割する。そして、書庫ファイルＦ内の任意のブロックデータの内容更新に伴って保護された所定のデータの内容が更新され、この更新された所定のデータが内容更新後のブロックデータが書き込まれた書庫ファイルＦに書き込まれる。これにより、書庫ファイルＦ内の任意のブロックデータを直接的に更新処理しても書庫ファイル形式が破壊されることがなくなり、書庫ファイルＦ内のブロックデータを読取り可能にすることが可能になるので、書庫ファイル形式のデータを保護した状態での書庫ファイルＦの更新処理が可能になる。
【００８８】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８９】
［第四の実施の形態］
本発明の第四の実施の形態を図３１ないし図４３に基づいて説明する。なお、前述した第一の実施の形態ないし第三の実施の形態と同一部分は同一符号で示し説明も省略する。本実施の形態においては、書庫ファイルとしてカプセル化文書を適用した例について述べる。
【００９０】
[１．カプセル化文書の説明]
まず、文書のデータ構造（カプセル化文書構造）の概要について説明する。図３１は、本実施の形態における書庫ファイルであるカプセル化文書ファイルの構成図である。カプセル化文書ファイル１００は、コンピュータ１のＨＤＤ５またはリムーバブルメディア６に保持されている。本実施の形態のカプセル化文書ファイル１００は、カプセル化文書の全体の定義ファイル１０１と、文書上での表現実体となる各種のコンテンツの内容を表すコンテンツファイル１０２と、そのコンテンツファイル１０２のコンテンツを表現実体化（表示、動作、閲覧等）させる動作プログラムであるプログラムファイル１０３とを、単一の文書としてカプセル化手段を用いてカプセル化したものである。これらの情報は、各々一般的なコンピュータ１のＯＳが管理できる個別のファイル単位の構造となっている。したがって、コンテンツファイル１０２を表現実体化させるプログラムファイル１０３が当該コンテンツファイル１０２と一体にカプセル化されているので、作成者のコンピュータと異なる環境でも当該文書を閲覧することが可能になる。
【００９１】
より詳細には、コンテンツファイル１０２のコンテンツ情報は、静止画像、動画像、音声、テキストファイル等であってコンピュータ１で使用、動作出来るファイルフォーマットに準じてファイル化されている。また、プログラムファイル１０３の動作プログラムは、中間言語コードで記述されている事が望ましい。動作プログラムが中間言語で記述されていれば、この中間言語を解釈実行できるコンパイラまたはインタプリタプログラムがコンピュータにインストールされている状況においてコンピュータの機種依存性が無くなる。このような中間言語としては、java（Sun Microsystemsの登録商標）言語がある。
【００９２】
図３２は、カプセル化文書ファイル１００の作成・編集環境を示す説明図である。このようなカプセル化文書ファイル１００を作成、編集する場合は、図３２に示すように、作成編集環境に対し作成者が編集環境（編集アプリケーションプログラム）が提供するＧＵＩ（Graphical User Interface）を使って文書を作成する。この時、必要に応じたコンテンツを外部から文書に挿入しても良い。このような編集作業によって作成されたコンテンツ情報と文書全体に関わる情報をそれぞれコンテンツファイル１０２、文書定義ファイル１０１に変換すると共に、カプセル化文書ファイル１００に共にカプセル化されるプログラムファイル１０３を作成編集環境内にあるプログラムファイルから選択し、共にカプセル化文書ファイル１００としてカプセル化する。ここでカプセル化する手段は幾つか考えられるが、本実施の形態においては、ＺＩＰ、ＬＨＡ等の書庫ファイル形式で複数のファイルをカプセル化する。このように、複数のファイルをカプセル化したカプセル化文書ファイル１００を配布した場合には、文書内容を表示動作させるプログラムが共にカプセル化されているので配布先では閲覧の為のアプリケーションプログラムが不要であるので、閲覧環境を選ばない。
【００９３】
[２．カプセル化文書ファイルの更新処理]
人間同士でマルチメディア情報を介して情報伝達を行う際には、マルチメディア情報にアノテーションを加えて更新処理し、情報伝達を円滑に図りたいという要求がある。ここで、書庫ファイル形式であるカプセル化文書ファイル１００を利用して送受信されたマルチメディア情報の更新処理を実行するには、書庫ファイル内のブロックデータを更新処理しなければならない。従来の書庫ファイルの更新処理方法では、書庫ファイル内の任意のブロックデータを直接的に読取ることは可能であるが、更新をする際に書庫ファイル内の全てのブロックデータを解凍しなければならなく、一部のデータを更新するだけでも処理時間が多く費やされる。
【００９４】
そこで、書庫ファイルとしてカプセル化文書を適用した場合においても、前述した第一の実施の形態ないし第三の実施の形態に記載した更新処理方法をカプセル化文書ファイルの更新処理に適用することで、カプセル化文書ファイル内のマルチメディア情報を直接的に更新可能になり、更新処理時間が低減できる。
【００９５】
なお、アノテーション情報の中でも加筆情報は頻繁に更新される可能性が高いので、図３３に示すように、更新情報ファイル１０４としてカプセル化文書ファイル１００内に別個に保持するようにしても良い。このような構成のカプセル化文書ファイルを前述した第一の実施の形態ないし第三の実施の形態で説明してきた書庫ファイルＦに適用した場合は、図３４に示すようなブロックデータで情報が書庫ファイルＦ内に保持される。
【００９６】
ここで、マルチメディア情報にアノテーション情報（加筆情報）を加えた更新処理について具体的に説明する。例えば、文書作成者がＧＵＩ（図３２参照）を使って図３５に示すような文書２００を作成してカプセル化文書ファイル１００として配布し、閲覧者が閲覧時に図３６に示すように加筆情報２０１を加筆する場合は、図３７のフローチャートに示すようなカプセル化文書閲覧（ステップＳ１０１）、カプセル化文書に加筆（ステップＳ１０２）、加筆情報の保存（ステップＳ１０３）、と言った手順で加筆情報の付加が行われる。
【００９７】
ここで、カプセル化文書ファイル１００において加筆情報を付加する加筆処理（すなわち、更新処理）の流れについて図３８を参照して詳述する。なお、ここでは、第一の実施の形態において説明した更新処理について説明する。
【００９８】
カプセル化文書ファイル１００を閲覧する場合には、カプセル化文書ファイル１００を起動するカプセル化文書起動プログラムを起動させ（ステップＳ２０１）、カプセル化文書ファイル１００内にあるプログラムファイル１０３（文書内容表示プログラム）を起動させ（ステップＳ２０２：読取り手段）、コンピュータ１のディスプレイ９の画面上に図３５に示すカプセル化文書ファイル１００内のコンテンツファイル１０２に保持された情報を表示させる。
【００９９】
次に、ユーザのマウス１１等による加筆入力を取得するプログラムファイル１０３（加筆情報取得プログラム）を起動させ（ステップＳ２０３）、ユーザがマウス１１等のＧＵＩ手段で加筆入力した情報を取得出来るようにする。
【０１００】
なお、特に図示しないが、上述したプログラムファイル１０３（文書内容表示プログラムや加筆情報取得プログラム）は、特許文献１に記載の例を適用することが可能である。
【０１０１】
次に、ユーザの入力した加筆情報を取得し、ＲＡＭ４上に保持した後（ステップＳ２０４：第１更新手段）、保持された加筆情報２０１を文書内容表示プログラムで図３６に示すように重層表示する（ステップＳ２０５）。
【０１０２】
続くステップＳ２０６においては、加筆情報を保存するか否かを判断する。加筆情報を保存するか否かの判断については、ユーザが保存指示を行ったか否かを検出することにより行う。
【０１０３】
ユーザが保存指示を行っておらず、加筆情報を保存しない場合は（ステップＳ２０６のＮ）、引き続きステップＳ２０４〜Ｓ２０５の処理を繰り返し、加筆情報の取得、保持、表示を繰り返す。
【０１０４】
一方、ユーザが保存指示を行い、加筆情報を保存する場合は（ステップＳ２０６のＹ）、加筆情報をカプセル化ファイル内に保存する為の加筆情報ファイル名を取得する（ステップＳ２０７）。この加筆情報ファイル名は、予め文書定義ファイル１０１内に記述しておいても良いし、加筆情報の保存を司るプログラム内に埋め込んでおいても良い。
【０１０５】
次に、カプセル化文書ファイルのディレクトリデータを読取り（ステップＳ２０８）、更新可能情報領域の位置を取得する（ステップＳ２０９：更新指示手段）。このカプセル化ファイルが初めて加筆情報を保存する場合は、図３９に示すように更新情報をカプセル化文書ファイル１００内に保持していないので、最後のブロックデータ以降に更新情報を保持する更新情報ブロックデータを図４０に示すように追加する。
【０１０６】
このようにして更新可能情報領域の位置を取得すると、更新可能情報領域（追加した更新情報ブロックデータ）に対して加筆情報の内容を書込む（ステップＳ２１０：第１書込み手段）。具体的には、図４１に示すように、更新情報ブロックデータ内に圧縮した加筆情報を埋め込む。
【０１０７】
次に、新たに更新情報ブロックデータが追加、更新されたので前述で読取ったディレクトリデータを再作成し（ステップＳ２１１：第２更新手段）、図４０のカプセル化文書ファイルに対してディレクトリデータを付加する（ステップＳ２１２：第２書込み手段）。図４２は、再作成したディレクトリデータを付加したカプセル化文書ファイルの構成を示す説明図である。より具体的には、図４３に示すように、追加した更新情報ブロックデータと対応するCENデータを追加して、新たに作成されたCENデータ群と更新されたENDデータを付加すればよい。
【０１０８】
ステップＳ２０４〜Ｓ２１２の処理は、ユーザにより加筆動作の終了が指示されるまで、繰り返される。
【０１０９】
なお、更新情報ブロックデータを更新情報が生成された時点で追加するように記載したが予めデフォルトの更新情報ブロックデータを文書作成時に付加しておき、更新情報が生成された場合は更新情報ブロックデータとそれに対応するディレクトリデータを更新する様にしても良い。この場合、更新情報ブロックデータのサイズが変わるので更新情報ブロックデータとディレクトリデータは再書込みが必要であるが、図４３のCENデータとENDデータのサイズが等しくなるのでディレクトリデータの作成が容易になる。
【０１１０】
図３８のフローチャートの点線部分Ｘを説明した加筆情報等をカプセル化文書ファイルへ更新するプログラムをカプセル化文書ファイル１００内のプログラムファイル１０３の一つとして備える事で、この様なカプセル化文書ファイル１００はカプセル化文書ファイル１００のみで閲覧表示、加筆取得、加筆情報保存が行えるので、このカプセル化文書ファイル１００のみで閲覧、更新の機能を有することができる。
【０１１１】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第一の実施の形態が適用される一般的又は標準的なパーソナルコンピュータのハードウェアの構成図である。
【図２】ＯＳの役割の概要を示す模式図である。
【図３】ZIPファイルのフォーマット例を示す説明図である。
【図４】シグネチャで始まる属性データを示す説明図である。
【図５】ENDデータに保持される属性データの一例を示す説明図である。
【図６】CENデータに保持される属性データの一例を示す説明図である。
【図７】コンピュータの機能構成を示すブロック図である。
【図８】書庫ファイル更新処理の流れを示すフローチャートである。
【図９】ステップＳ１の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図１０】ステップＳ２の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図１１】ステップＳ３の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図１２】ステップＳ５の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図１３】ステップＳ６の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図１４】書庫ファイル更新処理時におけるファイル読取り処理の流れを示すフローチャートである。
【図１５】本発明の第二の実施の形態の書庫ファイル更新処理の流れを示すフローチャートである。
【図１６】ステップＳ２２の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図１７】更新処理による次ブロックデータの破壊の様子を示す説明図である。
【図１８】ステップＳ２３の更新処理の流れを示すフローチャートである。
【図１９】ステップＳ２３の別の更新処理の流れを示すフローチャートである。
【図２０】ステップＳ２３の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２１】ステップＳ２５の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２２】ステップＳ２５の処理が終了した時点における記録手段・一時記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２３】本発明の第三の実施の形態のコンピュータの機能構成を示すブロック図である。
【図２４】書庫ファイル更新処理の流れを示すフローチャートである。
【図２５】ステップＳ５１の処理が終了した時点における記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２６】ステップＳ５２の処理が終了した時点における記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２７】ステップＳ５３の処理が終了した時点における記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２８】ステップＳ５５の処理が終了した時点における記録手段での書庫ファイルのデータ内容を示す説明図である。
【図２９】ステップＳ５６の処理が終了した時点における記録手段での書庫ファイルＦのデータ内容を示す説明図である。
【図３０】書庫ファイル更新処理時におけるファイル読取り処理の流れを示すフローチャートである。
【図３１】本発明の第四の実施の形態における書庫ファイルであるカプセル化文書ファイルの構成図である。
【図３２】カプセル化文書ファイルの作成・編集環境を示す説明図である。
【図３３】カプセル化文書ファイルの別の構成図である。
【図３４】書庫ファイル形式のカプセル化文書ファイルの構成を示す説明図である。
【図３５】カプセル化文書ファイルとして配布される文書の実行画面を示す正面図である。
【図３６】加筆情報が加筆された文書の実行画面を示す正面図である。
【図３７】カプセル化文書ファイルの加筆処理の流れを概略的に示すフローチャートである。
【図３８】カプセル化文書ファイルの加筆処理の流れを詳細に示すフローチャートである。
【図３９】書庫ファイル形式のカプセル化文書ファイルの構成を示す説明図である。
【図４０】更新情報を保持する更新情報ブロックデータを追加した書庫ファイル形式のカプセル化文書ファイルの構成を示す説明図である。
【図４１】更新情報ブロックデータを示す説明図である。
【図４２】再作成したディレクトリデータを付加したカプセル化文書ファイルの構成を示す説明図である。
【図４３】再作成したディレクトリデータを示す説明図である。
【符号の説明】
【０１１３】
１        情報処理装置
２１      読取り手段
２４      情報保護手段
１００    カプセル化文書
１０１    定義ファイル
１０２    コンテンツファイル
１０３    動作プログラムファイル
Ｆ        書庫ファイル
【図１】
2006059319.tif 000003
【図２】
2006059319.tif 000004
【図３】
2006059319.tif 000005
【図４】
2006059319.tif 000006
【図５】
2006059319.tif 000007
【図６】
2006059319.tif 000008
【図７】
2006059319.tif 000009
【図８】
2006059319.tif 000010
【図９】
2006059319.tif 000011
【図１０】
2006059319.tif 000012
【図１１】
2006059319.tif 000013
【図１２】
2006059319.tif 000014
【図１３】
2006059319.tif 000015
【図１４】
2006059319.tif 000016
【図１５】
2006059319.tif 000017
【図１６】
2006059319.tif 000018
【図１７】
2006059319.tif 000019
【図１８】
2006059319.tif 000020
【図１９】
2006059319.tif 000021
【図２０】
2006059319.tif 000022
【図２１】
2006059319.tif 000023
【図２２】
2006059319.tif 000024
【図２３】
2006059319.tif 000025
【図２４】
2006059319.tif 000026
【図２５】
2006059319.tif 000027
【図２６】
2006059319.tif 000028
【図２７】
2006059319.tif 000029
【図２８】
2006059319.tif 000030
【図２９】
2006059319.tif 000031
【図３０】
2006059319.tif 000032
【図３１】
2006059319.tif 000033
【図３２】
2006059319.tif 000034
【図３３】
2006059319.tif 000035
【図３４】
2006059319.tif 000036
【図３５】
2006059319.tif 000037
【図３６】
2006059319.tif 000038
【図３７】
2006059319.tif 000039
【図３８】
2006059319.tif 000040
【図３９】
2006059319.tif 000041
【図４０】
2006059319.tif 000042
【図４１】
2006059319.tif 000043
【図４２】
2006059319.tif 000044
【図４３】
2006059319.tif 000045