JP2012198786A - ファイル処理プログラム及び装置 - Google Patents

ファイル処理プログラム及び装置 Download PDF

Info

Publication number
JP2012198786A
JP2012198786A JP2011062832A JP2011062832A JP2012198786A JP 2012198786 A JP2012198786 A JP 2012198786A JP 2011062832 A JP2011062832 A JP 2011062832A JP 2011062832 A JP2011062832 A JP 2011062832A JP 2012198786 A JP2012198786 A JP 2012198786A
Authority
JP
Japan
Prior art keywords
file
writing
written
storage device
contents
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
JP2011062832A
Other languages
English (en)
Inventor
Yasuo Noguchi
泰生 野口
Toshihiro Ozawa
年弘 小沢
Kazuichi Oe
和一 大江
Yoshihiro Tsuchiya
芳浩 土屋
Kazutaka Ogiwara
一隆 荻原
Masatoshi Tamura
雅寿 田村
Takashi Watanabe
高志 渡辺
Tatsuo Kumano
達夫 熊野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011062832A priority Critical patent/JP2012198786A/ja
Publication of JP2012198786A publication Critical patent/JP2012198786A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】冗長性除去機能を有する記憶装置において、冗長性をさらに除去する。
【解決手段】第1の記憶装置から読み出された一つのファイル(A)を、同一の内容を有するファイルを別領域に書き込むことを回避する冗長性除去機能を有する第2の記憶装置に書き込む際に、前記一つのファイルについて、それぞれ別個に変更可能な複数のデータ領域(410〜440)を検出し、前記一つのファイルを前記複数のデータ領域ごとに、別個の複数のファイルに分割し、分割した該複数のファイルを前記第2の記憶装置に書き込む。このような技術によれば、電子文書という単位で冗長性の有無を判断するのではなく、それぞれ別個に内容を変更することができる部品という単位で冗長性の有無を判断することができる。したがって、電子文書という単位で冗長性の有無を判断した場合には除去しきれない冗長性を除去することができる。
【選択図】 図4

Description

本発明は、冗長性を除去する技術に関する。
情報技術の進歩に伴い、コンピュータを用いて電子文書を編集することが日常的に行われている。このような電子文書は、テキスト、画像、表といった部品を含んでいる。また、ある電子文書をファイルとして記憶装置に記憶させた上で、当該電子文書に変更を加えた電子文書を別のファイルとして記憶装置に記憶させることも頻繁に行われている。
そして、前記2つのファイルを解析することにより、前記2つの電子文書の相違点を差分として検出する文書差分検出装置が知られている。
特開2006−268638号公報
前記した電子文書に含まれているテキスト、画像、表といった各部品の内容は、それぞれ別個に変更することができる。例えば、前記した2つの電子文書の双方に同一の画像が含まれている一方で、テキストの内容が両者で異なる場合がある。つまり、電子文書全体として見ると前記2つの電子文書は内容が異なるものの、画像という部品単位で見ると内容が同じである。
このような2つの電子文書を、同一の内容を有するファイルを別領域に書き込むことを回避する冗長性除去機能を有する記憶装置に記憶させる際に、2つの電子文書が前記記憶装置内の別々の領域に書き込まれることがある。この場合、一方の文書を記憶した領域には前記画像の情報を記憶した領域があり、他方の文書を記憶した領域にも同一の画像の情報を記憶した領域がある。すなわち、冗長性除去機能を有する記憶装置であっても、除去しきれない冗長性が存在する。そこで、本願の開示内容は、冗長性除去機能を有する記憶装置において、冗長性をさらに除去することを目的とする。
本願に開示するファイルを処理する技術では、第1の記憶装置から読み出された一つのファイルを、同一の内容を有するファイルを別領域に書き込むことを回避する冗長性除去機能を有する第2の記憶装置に書き込む際に、前記一つのファイルについて、それぞれ別個に変更可能な複数のデータ領域を検出する。そして、前記一つのファイルを前記複数のデータ領域ごとに、別個の複数のファイルに分割し、分割した該複数のファイルを前記第2の記憶装置に書き込む。
本願の開示内容によれば、冗長性除去機能を有する記憶装置において、冗長性をさらに除去することができる。
冗長性除去ディスクを備えたコンピュータの構成例を示す説明図である。 コンピュータのハードウェア構成例を示す説明図である。 (a)及び(b)はプレゼンテーションの一例を示す説明図である。 (a)及び(b)はローカルディスクに書き込まれるファイル構造の一例を示す説明図である。 (a)〜(e)は全て、冗長性除去ディスクに書き込まれた分割ファイルの構造の一例を示す説明図である。 マスタファイルの内容の一例を示す説明図である。 分割ファイルを作成して冗長性除去ディスクに書き込む処理のフローチャートの一例である。 分割ファイルを作成する処理のフローチャートの一例である。 分割ファイルから元ファイルを復元する処理のフローチャートの一例である。 分割ファイルの内容を復元ファイルに書き込む処理のフローチャートの一例である。 (a)及び(b)は、同じ内容の2つの分割ファイルが別々のブロックに書き込まれないことを示す説明図である。 (a)及び(b)は、冗長性除去ディスクにおけるファイル構造の別の例を示す説明図である。 冗長性除去ファイルシステムを備えたコンピュータの構成例を示す説明図である。 (a)及び(b)は、アンカーが挿入されたファイルの構造の一例を示す説明図である。 アンカーが挿入されたファイルを作成して、当該ファイルを冗長性除去ファイルシステムに書き込む処理のフローチャートの一例である。 アンカーが挿入されたファイルから元ファイルを復元する処理のフローチャートの一例である。
[1.概要]
以下に説明する技術では、電子文書に含まれているテキスト、画像、表といった各部品の内容をそれぞれ別個に変更することができるという点を踏まえて、次のような処理を行う。まず、ある記憶装置に書き込まれている電子文書のファイルを読み込む。そして、当該ファイルの内容を、部品ごとに分けて、冗長性除去機能を有する記憶装置に書き込む。
このような技術によれば、電子文書という単位で冗長性の有無が判断されるのではなく、それぞれ別個に内容を変更することができる部品という単位で冗長性の有無が判断される。したがって、電子文書という単位で冗長性の有無が判断された場合には除去しきれない冗長性を除去することができる。
[2.冗長性除去ディスクを備えた記憶システム]
図1は、第1の記憶装置に相当するローカルディスク2と、第2の記憶装置に相当する冗長性除去ディスク3とを備えたコンピュータ1を示している。コンピュータ1には、OS(オペレーティング・システム)11と、アプリケーション12と、前記冗長性除去ディスク3にファイルを書き込むためのファイル書き込みソフトウェア13とがインストールされている。アプリケーション12は、プレゼンテーションと呼ばれる電子文書を編集するためのアプリケーションである。アプリケーション12としては、ワードプロセッサアプリケーション、DTP(デスクトップパブリッシング)アプリケーション、表計算アプリケーションが挙げられる。
このようなアプリケーション12によってローカルディスク2にファイルが書き込まれると、ファイル書き込みソフトウェア13は、当該ファイルを読み込んでその内容を冗長性除去ディスク3に書き込む。その後、ファイル書き込みソフトウェア13は、ローカルディスク2にあったファイルを削除する。つまり、ローカルディスク2はファイルを一時的に記憶させるために用いる。
また、ファイル書き込みソフトウェア13は、冗長性除去ディスク3上のファイルを読み込んでその内容をローカルディスク2上に復元する処理をも行う。つまり、ファイル書き込みソフトウェア13は、コンピュータ1を、ローカルディスク2と冗長性除去ディスク3との両者にアクセスしてファイルを処理するファイル処理装置として具現化する。
冗長性除去ディスク3の記憶領域は、一定のサイズの複数のブロックから構成されている。ブロックとは、OS11がデータの読み込み及び書き込みを行う際のデータの最小の単位である。一例として、1ブロックあたりの容量は512バイトである。
冗長性除去ディスク3は、新たに書き込もうとするブロックと同じ内容のブロックを、冗長性除去ディスク3に既に書き込まれているブロックの中から検索することにより、同じ内容のブロックを別の領域に再び書き込むことはしないディスクである。このようにして、冗長性除去ディスク3は冗長性の除去を実現している。
図2は、コンピュータ1のハードウェア構成例を示している。コンピュータ1は、CPU111と、インタフェース装置112と、表示装置113と、入力装置114と、ドライブ装置117と、メモリ装置115と、補助記憶装置116を備えており、これらがバス119により相互に接続されている。このうち、補助記憶装置116は、図1に示したローカルディスク2及び冗長性除去ディスク3に相当する。
コンピュータ1の機能を実現するプログラムは、CD−ROM等の記録媒体118によって提供される。プログラムを記録した記録媒体118がドライブ装置117にセットされると、プログラムが記録媒体118からドライブ装置117を介して補助記憶装置116にインストールされる。あるいは、プログラムのインストールは必ずしも記録媒体118により行う必要はなく、インタフェース112を介してネットワーク経由で他のコンピュータからダウンロードしてインストールすることもできる。補助記憶装置116は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置115は、プログラムの起動指示があった場合に、補助記憶装置116からプログラムを読み出して格納する。CPU111は、メモリ装置115に格納されたプログラムに従ってコンピュータ1の機能を実現する。表示装置113はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置114はキーボード及びマウス等であり、ユーザがアプリケーション12を用いてプレゼンテーションを編集するなど様々な指示を入力するために用いるものである。
このようなハードウェア構成の元で、入力装置114を通してユーザの入力指示を受けたアプリケーション12により、図3(a)に示したようなプレゼンテーション4が作成される。図示しているように、プレゼンテーション4は、テキスト41と画像42と写真43とを含んでいる。これらテキスト41と画像42と写真43とをそれぞれ、プレゼンテーション4に含まれる部品と呼ぶ。そして、これら部品は、それぞれ、プレゼンテーション4内のある位置に配置されている。つまり、プレゼンテーションは、一つまたは複数の部品と、そのプレゼンテーションにおける各部品のレイアウトとを有している。
そして、各部品はそれぞれバージョン番号を有している。このバージョン番号は、次回以降ユーザの指示を受けてアプリケーション12が各部品を変更する場合に、その変更前後を区別するために便宜的に付した番号である。プレゼンテーション4が作成された時点でのテキスト41のバージョン番号は「1.0」であり、画像42のバージョン番号は「2.0」であり、写真43のバージョン番号は「3.0」である。また、レイアウトにもバージョン番号を付すが、詳細は後述する。
さらに、ユーザの入力指示を受けたアプリケーション12により、図3(b)に示したようなプレゼンテーション5が作成される。プレゼンテーション5は、プレゼンテーション4に変更を加えたものである。一例として、プレゼンテーション4がある顧客への提案書であり、プレゼンテーション5が別の顧客への提案書である。プレゼンテーション5は、プレゼンテーション4と比較して、テキスト41からテキスト51にテキストの内容が変わったために、バージョン番号が「1.0」から「1.1」に変わっている。これと同時に、プレゼンテーション5におけるテキスト51のレイアウトも変わっている。その一方で、画像42及び写真43の内容には変更がないため、それぞれのバージョン番号にも変更はない。
アプリケーション12は、前記プレゼンテーション4をOS11を通してローカルディスク2にファイルとして書き込む。このファイルを元ファイルAと呼ぶ。前記したように元ファイルAは最終的に削除される。つまり、ローカルディスク2は、元ファイルAを一時的に記憶させるために用いられる。その後、アプリケーション12は、前記プレゼンテーション5をOS11を通してローカルディスク2に元ファイルBとして書き込む。元ファイルBも最終的に削除される。
元ファイルA及び元ファイルBの構造を図4(a)及び図4(b)にそれぞれ示している。図示しているように、元ファイルAは、メタ情報領域405とテキスト情報領域410と画像情報領域420と写真情報領域430とレイアウト情報領域440とを有している。メタ情報領域405は、元ファイルAのメタ情報、すなわち領域410〜440のそれぞれの先端及び終端と元ファイルAの先端との距離に関する情報が書き込まれた領域である。この距離のことをオフセットともいう。テキスト情報領域410は、プレゼンテーション4に含まれる部品であるテキスト41の情報が書き込まれた領域である。画像情報領域420と写真情報領域430も同様である。また、レイアウト情報領域440は、プレゼンテーション4における各部品のレイアウトに関する情報が書き込まれた領域である。レイアウト情報領域440に書き込まれたレイアウト情報もバージョン番号を有しており、その値は「4.0」である。
ドキュメント4内のテキスト41と、画像42と、写真43と、これらのレイアウトとは、それぞれ別個に内容を変更することができる。例えば、アプリケーション12のユーザは、テキスト41の内容とテキスト41のレイアウトとを変更し、画像42及び写真43の内容を変更しないとすることができる。つまり、テキスト情報領域410と、画像情報領域420と、写真情報領域430と、レイアウト情報領域440とは、それぞれ別個に変更することのできる情報を有する領域である。
そして、元ファイルAは、テキスト情報領域410と画像情報領域420と写真情報領域430とレイアウト情報領域440とが元ファイルAの先頭から順に隣接した状態で保存されている。同様に、元ファイルBはメタ情報領域505とテキスト情報領域510と画像情報領域520と写真情報領域530とレイアウト情報領域540とを有している。
再び図1を参照すると、ファイル書き込みソフトウェア13は、ファイル分割モジュール14を有している。このファイル分割モジュール14は、ローカルディスク2に書き込まれた元ファイルAを読み込む。続いて、ファイル分割モジュール14は、読み込んだ元ファイルAの内容を分割し、分割ファイルA1〜A5を作成し、OS11を通して冗長性除去ディスク3に書き込む。これら分割ファイルA1〜A5の各々は、それ自体別個のファイルである。図1には、分割ファイルA1〜A5が書き込まれた冗長性除去ディスク3を示している。なお、ファイル分割モジュール14は、元ファイルAの内容を冗長性除去ディスク3の分割ファイルA1〜A5に書き込んだ後、元ファイルAを削除する。
その後、ファイル分割モジュール14は、ローカルディスク2に書き込まれた元ファイルBを読み込む。続いて、ファイル分割モジュール14は、読み込んだ元ファイルAの内容を分割し、分割ファイルB1〜B5を作成する。これら分割ファイルB1〜B5の各々も、それ自体別個のファイルである。これら分割ファイルは、OS11を通して冗長性除去ディスク3に書き込まれる。ただし、分割ファイルB1〜B5の各々のブロックの内容が、既に冗長性除去ディスク3に書き込まれている分割ファイルA1〜A5のいずれかのブロックの内容と同じである場合は、その分割ファイルが別のブロックに再び書き込まれることはない。なお、ファイル分割モジュール14は、分割ファイルを冗長性除去ディスク3に書き込んだ後、ローカルディスク2にある元ファイルBを削除する。
分割ファイルA1〜A5の構造と、これら分割ファイルA1〜A5が書き込まれている冗長性除去ディスク3上のブロックの並びとを図5(a)〜図5(e)に示している。このうち、分割ファイルA2〜A4はプレゼンテーション4の各部品すなわちテキスト、画像、写真の内容をそれぞれ有している。そして、分割ファイルA5は、各部品のレイアウト情報を有している。つまり、分割ファイルA2〜A5は、それぞれ別個に変更することのできる情報を有する領域410〜440のそれぞれに対応している。
また、分割ファイルA1は、冗長性除去ディスク3における分割ファイルA2〜A5の保存場所に関する情報(以下、マスタ情報とも呼ぶ)を有している。このマスタ情報は、ファイル分割モジュール13が分割ファイルA2〜A5から元ファイルAを復元する際に必要となる。復元については後述する。以下、分割ファイルA1をマスタファイルA1とも呼ぶことにする。マスタファイルは1つの元ファイルに対して1つ作成される。
マスタファイルA1は、第0ブロックの先端から第3ブロックにかけて書き込まれている。分割ファイルA2は、第10ブロックの先端から第16ブロックの途中にかけて書き込まれている。分割ファイルA3は、第20ブロックの先端から第26ブロックの途中にかけて書き込まれている。分割ファイルA4は、第30ブロックの先端から第37ブロックの途中にかけて書き込まれている。分割ファイルA5は、第40ブロックの先端から第46ブロックの途中にかけて書き込まれている。なお、ブロックに付した番号は、単に複数のブロックをそれぞれ区別することを目的としたものに過ぎない。また、第4ブロックと第10ブロックとが隣接していてもよく、第17ブロックと第20ブロックとが隣接していてもよい。つまり、分割ファイルA1〜A5がどのブロックに書き込まれているかが問題なのではなく、それぞれが別個のファイルとして冗長性除去ディスク3に書き込まれていればよい。
マスタファイルA1の内容を図6に示している。マスタファイルA1には、分割ファイルA2〜A5のそれぞれの保存場所を示すパスが書き込まれている。本実施形態では、分割ファイルA2〜A5は全て「/xx/yy/」という場所に保存されている。
同様に、分割ファイルB2〜B4は、プレゼンテーション5の各部品すなわちテキスト、画像、写真の内容をそれぞれ有している。そして、分割ファイルB5は、各部品のレイアウト情報を有している。つまり、分割ファイルB2〜B5は、それぞれ別個に変更することのできる情報を有する領域510〜540のそれぞれに対応している。また、分割ファイルB1はマスタ情報を有している。分割ファイルB1(あるいは、マスタファイルB1)は1つの元ファイルBに対して1つ作成される。
以上のような記憶システムの構成及びファイル構造のもとに、アプリケーション12がローカルディスク2に書き込んだ元ファイルAをファイル分割モジュール14が分割ファイルA1〜A5に分割して冗長性除去ディスク3に書き込む処理手順を図7及び図8に示している。
まず、ステップS110にて書き込みを開始し、ステップS120にてファイル分割モジュール14がローカルディスク2にある元ファイルAをオープンする。なお、「オープン」という用語は、既にオープンの対象であるファイルが存在している場合には当該ファイルを開くことを意味する。また、オープンの対象であるファイルが存在していない場合には、当該ファイルを新たに作成した上で開く意味で、「オープン」という用語を今後用いる。さらに、このステップS120にて、ファイル分割モジュール14は、メタ情報領域405を読み込み、元ファイルAに領域410〜440が含まれていることを検出する。
ステップS130にてファイル分割モジュール14が、まだ分割ファイルに書き込まれていない1つ以上の部品あるいはレイアウト情報があるか否かを判断する。この時点では、元ファイルA内の領域410〜440にある部品またはレイアウトのいずれの情報も分割ファイルに書き込まれていないため、この判断結果は「正」となる。
そして、ステップS140に進み、ファイル分割モジュール14が分割ファイルに書き込まれていないと判断した領域410〜440のうちの1つを選択する。ここでは、テキスト情報領域410が選択されたとする。
ステップS150では、ファイル分割モジュール14が、ステップS140にて選択したテキスト情報領域410の内容を、冗長性除去ディスク3の「/xx/yy/」という場所に作成した分割ファイルA2として書き込む。このステップS150の詳細については図8を参照して後述する。
このようなステップS130〜S150は、部品情報あるいはレイアウト情報の全てが分割ファイルに書き込まれるまで繰り返される。この反復により、図5に示したような分割ファイルA3〜A5が冗長性除去ディスク3の「/xx/yy/」という場所に書き込まれる。そして、最終的にステップS130の判断結果が「否」となる。
続いてステップS160に進み、ファイル分割モジュール14は、冗長性除去ディスク3の「/xx/yy/」という場所にマスタファイルA1をオープンする。
ステップS170では、ファイル分割モジュール14は、冗長性除去ディスク3における分割ファイルA2〜A5の保存場所を示すパスをマスタファイルA1に書き込む。このマスタファイルA1の内容は図6に示したとおりである。
ステップS180では、ファイル分割モジュール14は、元ファイルA及びマスタファイルA1をクローズする。ステップS190にて書き込み処理は終了する。なお、図示していないが、ファイル分割モジュール14はステップS190の後にローカルディスク2にある元ファイルAを削除する。
続いて、図8を参照して前記ステップS150の詳細を説明する。まずステップS151にて分割ファイル書き込み処理を開始する。
ファイル分割モジュール14は、ステップS152にて分割ファイルの1つをオープンする。ここでは、分割ファイルA2がオープンされたとする。ステップS153にてファイル分割モジュール14は、分割ファイルA2の先頭から書き込む準備をする。
ステップ154では、ファイル分割モジュール14が、元ファイルA内のテキスト情報情報領域410の内容を分割ファイルA2に書き込む。
ステップS155では、ファイル分割モジュール14が書き込みを終えた分割ファイルA2をクローズする。そして、ステップS156にて分割ファイル書き込み処理は終了する。なお、分割ファイルA3〜A5も同様の手順で作成される。
次に、冗長性除去ディスク3に保存されている分割ファイルA1〜A5を元にしてファイル分割モジュール14がローカルディスク2において元ファイルAを復元する処理手順を図9及び図10を参照して説明する。
まずステップS210にて復元を開始する。続いてファイル分割モジュール14は、ステップS220にてマスタファイルA1をオープンし、ステップS230にてマスタファイルA1に書き込まれている分割ファイルA2〜A5の保存場所を示すパスを読み込む。
ステップS240では、ファイル分割モジュール14は、ローカルディスク2において復元ファイルをオープンする。この復元ファイルが最終的に元ファイルAとなる。ステップS250にて、ファイル分割モジュール14は、復元ファイルの先頭から書き込む準備をする。
ステップS260では、ファイル分割モジュール14が、まだ読み込まれていない分割ファイルがあるか否かを判断する。この時点では、分割ファイルA2〜A5のいずれの内容も読み込まれていないため、この判断結果は「正」となる。
そして、ステップS270に進み、ファイル分割モジュール14がまだ読み込まれていないと判断した分割ファイルA2〜A5のうちの1つを選択する。ここでは、分割ファイルA2が選択されたとする。
ステップS280では、ファイル分割モジュール14が、ステップS270にて選択した分割ファイルA2を読み込む。このステップS280の詳細については図10を参照して後述する。
このようなステップS260〜S280は、全ての分割ファイルが読み込まれてその内容が復元ファイルに書き込まれるまで繰り返される。この反復により、図4(a)に示したような元ファイルA内の領域410〜440がローカルディスク2に復元される。そして、最終的にステップS260の判断結果が「否」となる。
続いてファイル分割モジュール14は、ステップS290にてマスタファイルA1をクローズし、ステップS292にてローカルディスク2の復元ファイルの先頭にメタ情報領域405を作成した上で当該復元ファイルをクローズする。そして、ステップS294にて復元処理を終了する。なお、図示していないが、ファイル分割モジュール14はステップS294の後に冗長性除去ディスク3にある分割ファイルA1〜A5を削除する。
続いて、図10を参照して前記ステップS280の詳細を説明する。まずステップS281にて分割ファイル読み込み処理を開始する。
ファイル分割モジュール14は、ステップS282にて分割ファイルの1つをオープンする。ここでは、分割ファイルA2がオープンされたとする。ステップS283にてファイル分割モジュール14は、分割ファイルA2を読み込む。
ステップS284では、ファイル分割モジュール14が、分割ファイルA2の内容すなわちプレゼンテーション4のテキストの内容を復元ファイルに書き込む。
ステップS285では、ファイル分割モジュール14が復元ファイルに内容の書き込みを終えた分割ファイルA2をクローズする。そして、ステップS286にて分割ファイル書き込み処理は終了する。なお、分割ファイルA3〜A5の内容も同様の手順で復元ファイルに書き込まれる。
これまで、プレゼンテーション4に対応する元ファイルAを分割ファイルA1〜A5に分割して冗長性除去ディスク3に書き込む流れと、これら分割ファイルA1〜A5から元ファイルAを復元する流れとについて説明してきた。同様の流れで、元ファイルBは分割ファイルB1〜B5に分割されて冗長性除去ディスク3に書き込まれる。ただし、分割ファイルB1〜B5の各々の内容が、既に冗長性除去ディスク3に書き込まれている分割ファイルA1〜A5のいずれかの内容と同じである場合は、その分割ファイルが別のブロックに再び書き込まれることはない。そして、冗長性除去ディスク3に書き込まれている分割ファイルから元ファイルBが復元される。
図5(c)に示した分割ファイルA3の構造を図11(a)に示している。さらに、分割ファイルB3の構造を図11(b)に示している。図示しているように、分割ファイルA3は、冗長性除去ディスク3上の第20ブロックの先端から第26ブロックの途中にかけて書き込まれている。この第20ブロックの先端から第26ブロックの途中にかけての画像情報領域は、プレゼンテーション4内の画像42の情報を含んだ領域であると同時に、プレゼンテーション5内の画像42の情報を含んだ領域でもある。すなわち、プレゼンテーション5内の画像42の情報を含んだ分割ファイルB3が、冗長性除去ディスク3上の別のブロックに再び書き込まれることはない。
つまり、分割ファイルA3が第20ブロックの先端から第26ブロックの途中にかけていったん書き込まれると、その後、これらブロックと同じ内容が別のブロックに書き込まれることはない。これは、元ファイルAの内容が、冗長性除去ディスク3上の単一のファイルに書き込まれるのではなく、複数のファイルに分割されて書き込まれることによるものである。そのため、冗長性除去ディスク3上に単一のファイルとして書き込まれた場合には除去しきれない冗長性を除去することができる。
なお、図5(d)に示した冗長性除去ディスク3の第30ブロックから第37ブロックの途中にかけての写真情報領域は、プレゼンテーション4内の写真43の情報を含んだ領域であると同時に、プレゼンテーション5内の写真43の情報を含んだ領域でもある。つまり、分割ファイルB4が別のブロックに再び書き込まれることはない。
前記実施形態との比較として、元ファイルA及び元ファイルBを分割せずにそれぞれ単一のファイルA’及びB’として冗長性除去ディスク3に書き込む場合を説明する。ファイルA’及びB’の構造を図12(a)及び図12(b)に示している。ファイルA’は、メタ情報領域605とテキスト情報領域610と画像情報領域620と写真情報領域630とレイアウト情報領域640とを有しており、メタ情報領域605を先頭にしてこれら領域が順に隣り合って配置されている。また、ファイルA’の先端からテキスト情報領域610の終端までのオフセットはD1である。
ファイルB’は、メタ情報領域705とテキスト情報領域710と画像情報領域720と写真情報領域730とレイアウト情報領域740とを有しており、メタ情報領域705を先頭にしてこれら領域が順に隣り合って配置されている。また、ファイルB’の先端からテキスト情報領域710の終端までのオフセットはD2である。オフセットD2はオフセットD1よりも大きい。なお、ファイルA’内のメタ情報領域605のサイズは1ブロックであり、ファイルB’内のメタ情報領域705のサイズも1ブロックである。
図示しているように、画像情報領域620は第87ブロックの途中から第93ブロックの終端にかけて書き込まれている。これに対し、画像情報領域720は第118ブロックの先端から第124ブロックの途中にかけて書き込まれている。つまり、画像情報領域620と画像情報領域720とは内容が同じであるにも関わらず、両者は異なるブロックに書き込まれている。これは、オフセットD1よりもオフセットD2が大きいために、画像情報領域620の先端と画像情報領域720の先端とがずれてしまい、第87ブロックから第93ブロックと第118ブロックから第124ブロックとが、ブロック単位で見ると、異なる内容になっていることによるものである。これと同じ理由により、写真情報領域630と写真情報領域730とについても、内容が同じであるにも関わらず、両者は別々のブロックに書き込まれている。
つまり、元ファイルA及び元ファイルBを分割せずにそれぞれ単一のファイルA’及びB’として冗長性除去ディスク3に書き込むと、ファイルA’の一部とファイルB’の一部とが同じ内容であるにも関わらず、異なるブロックに書き込まれることになるため、冗長性除去ディスク3であっても冗長性を除去しきれない。
これに対し、元ファイルA及び元ファイルBをそれぞれ分割ファイルに分割した上で、冗長性除去ディスク3に書き込んだ場合には、図11(a)及び図11(b)に示したように、既に書き込まれている分割ファイルとブロックの内容が同一の分割ファイルが別のブロックに再び書き込まれることはない。したがって、単一のファイルとして冗長性除去ディスク3に書き込んだ場合には除去しきれない冗長性を除去することができる。
[3.冗長性除去ファイルシステムを備えた記憶システム]
図13は、第1の記憶装置に相当するローカルディスク2と、第2の記憶装置に相当する冗長性除去ファイルシステム6とを備えたコンピュータ1を示している。コンピュータ1には、OS11と、アプリケーション12と、前記冗長性除去ファイルシステム6にファイルを書き込むためのファイル書き込みソフトウェア15とがインストールされている。
冗長性除去ファイルシステム6は、外部から読み込んだファイルを複数のサブファイルに分割し、分割されたサブファイルのそれぞれと同じ内容のサブファイルが既に冗長性除去ファイルシステム6に書き込まれていれば、当該サブファイルを再度書き込むことはしないファイルシステムである。
サブファイルへの分割について具体的に説明する。冗長性除去ファイルシステム6は、前記外部から読み込んだファイルの内容つまりビット列からアンカーと呼ばれる所定のビット列を検索する。そして、そのアンカーを区切りとして前記外部から読み込んだファイルをサブファイルに分割する。アンカーは、例えばビット列「01」をn個並べてできるようなビット列であり、冗長性除去ファイルシステムごとに事前に定められている。
具体的には、ファイル書き込みソフトウェア15は、アンカー挿入モジュール16を有している。アンカー挿入モジュール16は、アプリケーション12によってローカルディスク2に書き込まれた元ファイルA内のメタ情報領域405を読み込み、元ファイルAに領域410〜440が含まれていることを検出する。そして、アンカー挿入モジュール16は、テキスト情報領域410の内容を、後述するアンカーが挿入されたファイルPの先頭に書き込み、続けて冗長性除去ファイルシステム6によって定められているアンカーを書き込む。元ファイルA及びアンカーが挿入されたファイルPは、それぞれ第1のファイル及び第2のファイルに相当する。
このようにして、アンカー挿入モジュール16は、元ファイルAにおける部品の情報を有する全ての領域がファイルPにそれぞれ書き込まれるまで、ファイルPへの各領域の内容の書き込みとアンカーの書き込みとを繰り返す。つまり、このアンカーは元ファイルA内のいずれの領域にも含まれていないビット列である。このようにして、アンカーが挿入されたファイルPが作成される。
そして、アンカー挿入モジュール16は、アンカーが挿入されたファイルPを冗長性除去ファイルシステム6に書き込む。このときファイルPは、アンカー挿入モジュール16によって挿入されたアンカーにより、部品の情報を有する領域ごとにサブファイルに分割されて書き込まれる。これらサブファイルの各々は、それ自体別個のファイルである。なお、アンカー挿入モジュール16は、アンカーが挿入されたファイルPを冗長性除去ファイルシステム6に書き込んだ後、ローカルディスク2にある元ファイルAを削除する。
同様に、アンカー挿入モジュール16は、アプリケーション12によってローカルディスク2に書き込まれた元ファイルBを読み込み、この元ファイルBにアンカーを挿入して、アンカーが挿入されたファイルQを作成する。続いて、アンカー挿入モジュール16は、アンカーが挿入されたファイルQを冗長性除去ファイルシステム6に書き込む。このときファイルQは、アンカー挿入モジュール16によって挿入されたアンカーにより、サブファイルに分割されて書き込まれる。これらサブファイルの各々も、それ自体別個のファイルである。ただし、ファイルQに含まれるサブファイルが、既に冗長性除去ファイルシステム6に書き込まれているファイルPのサブファイルのいずれかと内容が同じである場合には、当該サブファイルが別の領域に再び書き込まれることはない。この後、アンカー挿入モジュール16は、ローカルディスク2にある元ファイルBを削除する。
アンカーが挿入されたファイルP及びQの構造を図14(a)及び図14(b)にそれぞれ示している。ファイルPは、サブファイル810〜840という4つのサブファイルを有している。サブファイル810には、元ファイルA内のテキスト情報領域410の内容が書き込まれている。サブファイル820には、画像情報領域420の内容が書き込まれている。サブファイル830には、写真情報領域430の内容が書き込まれている。サブファイル840には、レイアウト情報領域440の内容が書き込まれている。そして、サブファイル810とサブファイル820との間にはアンカー850が挿入されている。同様に、サブファイルとサブファイルを区切るために、アンカー860及び870が挿入されている。前記したように、アンカー850〜870は元ファイルAに含まれていたものではなく、アンカー挿入モジュール16が挿入したものである。ファイルQも、ファイルPと同様の構造である。ここで、サブファイル820とサブファイル920とは内容が同じである。また、サブファイル830とサブファイル930とは内容が同じである。
また、ファイル書き込みソフトウェア15は、冗長性除去ファイルシステム6上のファイルP及びQを読み込み、その内容をローカルディスク2上の元ファイルA及びBとしてそれぞれ復元する処理をも行う。つまり、ファイル書き込みソフトウェア15は、コンピュータ1を、ローカルディスク2と冗長性除去ファイルシステム6との両者にアクセスしてファイルを処理するファイル処理装置として具現化する。
以上のような記憶システムの構成及びファイル構造のもとに、アプリケーション12がローカルディスク2に書き込んだ元ファイルAにアンカーを挿入し、アンカーが挿入されたファイルPを冗長性除去ファイルシステム6に書き込む処理手順を図15に示している。
まず、ステップS410にて書き込みを開始し、ステップS420にてアンカー挿入モジュール16が元ファイルAと、冗長性除去ファイルシステム上の書き込み用ファイルとをオープンする。この書き込み用ファイルは、最終的にはファイルPとなるファイルである。さらに、このステップS420にて、アンカー挿入モジュール16は、メタ情報領域405を読み込み、元ファイルAに領域410〜440が含まれていることを検出する。ステップS430にて、アンカー挿入モジュール16が書き込み用ファイルの先頭に書き込む準備をする。
ステップS440にてアンカー挿入モジュール16が、まだ書き込み用ファイルに書き込まれていない1つ以上の部品あるいはレイアウト情報があるか否かを判断する。この時点では、元ファイルA内のテキスト領域51と画像領域52と写真領域53との各部品領域とレイアウト情報領域54とのいずれの領域にある情報も分割ファイルに書き込まれていないため、この判断結果は「正」となる。
そして、ステップS450に進み、アンカー挿入モジュール16が書き込み用ファイルに書き込まれていないと判断した領域51〜54のうちの1つを選択する。ここでは、テキスト領域51が選択されたとする。
ステップS460では、アンカー挿入モジュール16が、ステップS450にて選択したテキスト領域51の内容を書き込み用ファイルに書き込む。
ステップS470では、アンカー挿入モジュール16がステップS460の結果を受けて現在の書き込み位置を更新する。
ステップS480では、アンカー挿入モジュール16が、アンカーを書き込む。ステップS490では、アンカー挿入モジュール16がステップS480の結果を受けて現在の書き込み位置を更新し、ステップS440に戻る。
このようなステップS440〜S490は、部品あるいはレイアウト情報の全てが書き込み用ファイルに書き込まれるまで繰り返される。この反復により、図14(a)に示したようなファイルPが冗長性除去ファイルシステム6に書き込まれる。そして、最終的にステップS440の判断結果が「否」となる。
続いてステップS492に進み、アンカー挿入モジュール16は、元ファイルAと、書き込み用ファイルつまりファイルPをクローズする。そして、ステップS494にて書き込み処理を終了する。なお、図示していないが、アンカー挿入モジュール16はステップS494の後にローカルディスク2にある元ファイルAを削除する。
次に、冗長性除去ファイルシステム6に書き込まれているファイルPを元にしてアンカー挿入モジュール16がローカルディスク2において元ファイルAを復元する処理手順を図16を参照して説明する。
まずステップS510にて復元を開始する。続いてアンカー挿入モジュール16は、ステップS520にて、アンカーが挿入されたファイルPをオープンする。このとき、ファイルPの読み込み位置はファイルPの先頭である。
ステップS530にて、アンカー挿入モジュール16は、ローカルディスク2において復元ファイルをオープンする。この復元ファイルが最終的には元ファイルAとなる。ステップS550にて、アンカー挿入モジュール16は、アンカーが挿入されたファイルPの読み込み位置がファイルPの終端に到達した否かを判断する。ここでの判断結果は、「否」となるため、ステップS550に進む。
ステップS560では、アンカー挿入モジュール16が、ファイルPの先頭からアンカー850までの領域を読み込む。つまり、サブファイル810の内容が読み込まれることになる。
ステップS570では、アンカー挿入モジュール16が、ステップS560で読み込んだ内容を前記復元ファイルの現在の書き込み位置に書き込む。そして、ステップS580にて、アンカー挿入モジュール16が復元ファイルにおける現在の書き込み位置を更新する。
ステップS590では、アンカー挿入モジュール16が、ファイルP内のアンカー850を読みとばす。そして、ステップS550に戻る。
このようなステップS550〜S590は、ファイルP内のサブファイル810〜840の内容が復元ファイルに書き込まれるまで繰り返される。この反復により、図4(a)に示したような元ファイルA内の領域410〜440がローカルディスク2に復元される。そして、最終的にステップS550の判断結果が「正」となる。
続いてアンカー挿入モジュール16は、ステップS592にてローカルディスク2上の復元ファイルの先頭にメタ情報領域405を作成した上で当該復元ファイルをクローズし、ステップS594にて冗長性除去ファイルシステム6上のファイルPをクローズする。そして、ステップS596にて復元処理を終了する。なお、図示していないが、アンカー挿入モジュール16はステップS596の後に冗長性除去ファイルシステム6にあるファイルPを削除する。
これまで、ローカルディスク2上の元ファイルAが冗長性除去ファイルシステム6上のアンカーが挿入されたファイルPとして書き込まれる流れと、このファイルPから元ファイルAが復元される流れとについて説明してきた。これと同様に、ローカルディスク2上の元ファイルBは、アンカーが挿入されたファイルQとして冗長性除去ファイルシステム6に書き込まれる。ただし、既に書き込まれているファイルP内のサブファイルと同じ内容のサブファイルがファイルQ内にある場合には、ファイルQ内の当該サブファイルが冗長性除去ファイルシステム6の別の領域に再び書き込まれることはない。そして、このようにして冗長性除去ファイルシステム6に書き込まれたファイルから元ファイルBが復元される。
つまり、前記形態によれば、既にサブファイル820が冗長性除去ファイルシステム6に書き込まれているため、内容が同じサブファイル920が再び別の領域に書き込まれることはない。また、既にサブファイル830が冗長性除去ファイルシステム6に書き込まれているため、内容が同じサブファイル930が別の領域に再び書き込まれることはない。
これに対し、前記実施形態との比較として、元ファイルA及び元ファイルBに対してアンカーを挿入せずにそのまま冗長性除去ファイルシステム6に書き込んだ場合について説明する。まず、プレゼンテーション4に対応する元ファイルAがそのままファイルXとして冗長性除去ファイルシステム6に書き込まれているとする。続いて、プレゼンテーション5に対応する元ファイルBがそのままファイルYとして冗長性除去ファイルシステム6に書き込まれたとする。
このとき、ファイルXとファイルYとで画像42に関する情報は同一である。しかし、画像42に関する情報の中にアンカーが含まれない場合には、画像42に関する情報のみが書き込まれたサブファイルは作成されない。そのため、冗長性除去ファイルシステム6において、ファイルX内の画像42に関する情報が書き込まれた部分と、ファイルY内の画像42に関する情報が書き込まれた部分と重複して存在することとなる。結果として、除去しきれない冗長性が生まれてしまう。
アンカーによるサブファイルへの分割は、バックアップストリームなどの容量が巨大なデータの分割に適している。しかし、上述したように、アプリケーション12が作成した比較的小さな容量のデータには、所定のアンカーが含まれていないことがあり、その場合には前記データを部品ごとにサブファイルに分割することは不可能である。すると、同じ部品の情報であっても、冗長性除去ファイルシステム6上の別々のファイルにそれぞれ書き込まれるため、冗長性を除去しきれない。
これに対し、先に述べたような、部品と部品との間にアンカーを新たに挿入したファイルを作る形態によれば、部品ごとにサブファイルが作られる。したがって、冗長性除去ファイルシステム6に既に書き込まれているサブファイルに格納されている部品情報と同一の部品情報を含んだサブファイルが再び別の領域に書き込まれることはない。よって、アプリケーション12が作成したファイルにアンカーを挿入しない場合には除去しきれない冗長性を、アンカーを新たに挿入する実施形態では除去することができる。
[4.他の形態]
図5及び図6を参照して述べた実施形態では、分割ファイルA2〜A5がいずれも「/xx/yy/」という同じ場所に保存されている。しかし、全ての分割ファイルが同じ場所に保存されている必要はない。例えば、分割ファイルA3が「/xx/zz/」という場所に保存されていて、その他の分割ファイルA1、A2、A4、A5が「/yy/xx/」という場所に保存されていてもよい。
補助記憶装置116は、物理的にコンピュータ1の外部に設けることもできる。また、補助記憶装置116に相当するローカルディスク2及び冗長性除去ディスク3の両者が物理的に一体化されていてもよい。同じく補助記憶装置116に相当するローカルディスク2及び冗長性除去ファイルシステム6の両者が物理的に一体化されていてもよい。
また、前記実施形態では、ローカルディスク2が不揮発性の補助記憶装置116に相当するとしたが、揮発性のメモリ装置とすることもできる。
前記実施形態では、メタ情報領域405は、元ファイルA内の領域410〜440のそれぞれの先端及び終端と元ファイルAの先端とのオフセットに関する情報が書き込まれた領域である。しかし、これに限られず、メタ情報領域405には、元ファイルA内の領域410〜440のそれぞれの先端と元ファイルAの先端とのオフセットに関する情報と各領域のサイズに関する情報とが書き込まれていてもよい。元ファイルB内のメタ情報領域505についても同様である。
前述した情報処理装置の機能的構成及び物理的構成は、前述の態様に限られるものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。
1 コンピュータ
2 ローカルディスク
3 冗長性除去ディスク
4 プレゼンテーション
5 プレゼンテーション
6 冗長性除去ファイルシステム
11 OS
12 アプリケーション
13 ファイル書き込みソフトウェア
14 ファイル分割モジュール
15 ファイル書き込みソフトウェア
16 アンカー挿入モジュール
111 CPU
112 インタフェース装置
113 表示装置
114 入力装置
115 メモリ装置
116 補助記憶装置
117 ドライブ装置
118 記録媒体
119 バス

Claims (8)

  1. 第1の記憶装置から読み出された一つのファイルを、同一の内容を有するファイルを別領域に書き込むことを回避する冗長性除去機能を有する第2の記憶装置に書き込む際に、前記一つのファイルについて、それぞれ別個に変更可能な複数のデータ領域を検出し、
    前記一つのファイルを前記複数のデータ領域ごとに、別個の複数のファイルに分割し、
    分割した該複数のファイルを前記第2の記憶装置に書き込む、
    処理をコンピュータに実行させるファイル処理プログラム。
  2. 前記別個の複数のファイルに分割する処理は、
    前記データ領域ごとに対応した分割ファイルを前記第2の記憶装置にそれぞれ作成し、
    各データ領域の内容を前記分割ファイルにそれぞれ書き込み、
    前記一つのファイルに対応するマスタファイルを前記第2の記憶装置上に作成し、
    前記分割ファイルのそれぞれの保存場所を前記マスタファイルに書き込む
    処理である、請求項1に記載のファイル処理プログラム。
  3. 前記マスタファイルを読み込み、
    前記第1の記憶装置上に復元ファイルを作成し、
    前記読み込まれたマスタファイルの内容に基づいて前記分割ファイルを1つ読み込み、
    前記読み込まれた分割ファイルの内容を前記復元ファイルに書き込み、
    全ての分割ファイルの内容が前記復元ファイルに書き込まれるまで、前記分割ファイルを1つ読み込む処理と読み込まれた分割ファイルの内容を前記復元ファイルに書き込む処理とを繰り返す、
    前記一つのファイルを前記復元ファイルとして復元する処理をコンピュータにさらに実行させる請求項2に記載のファイル処理プログラム。
  4. 前記別個の複数のファイルに分割する処理は、
    前記第2の記憶装置上に第2のファイルを作成し、前記データ領域のうちの1つのデータ領域の内容を前記第2のファイル内のサブファイルとして書き込み、
    前記書き込まれたサブファイルに続けて当該サブファイルの区切りであることを示す情報を書き込み、
    前記データ領域の全てが前記第2のファイル内のサブファイルとして書き込まれるまで、前記サブファイルとして書き込む処理と当該サブファイルの区切りであることを示す情報を書き込む処理とを繰り返す
    処理である、請求項1に記載のファイル処理プログラム。
  5. 前記第1の記憶装置上に復元ファイルを作成し、
    前記第2のファイルの先頭から最初のサブファイルの区切りであることを示す情報まで前記第2のファイルを読み込むことにより、前記第2のファイル内のサブファイルを1つ読み込み、
    前記読み込まれたサブファイルの内容を前記復元ファイルに書き込み、
    前記第2のファイル内の全てのサブファイルが読み込まれるまで、前記第2のファイル内の次のサブファイルの区切りであることを示す情報まで前記第2のファイルを読み込むことにより前記第2のファイル内の次のサブファイルを読み込む処理と、読み込まれたサブファイルの内容を前記復元ファイルに書き込む処理とを繰り返す、
    前記一つのファイルを前記復元ファイルとして復元する処理をコンピュータにさらに実行させる請求項4に記載のファイル処理プログラム。
  6. 第1の記憶装置から読み出された一つのファイルを、同一の内容を有するファイルを別領域に書き込むことを回避する冗長性除去機能を有する第2の記憶装置に書き込む際に、前記一つのファイルについて、それぞれ別個に変更可能な複数のデータ領域を検出し、
    前記一つのファイルを前記複数のデータ領域ごとに、別個の複数のファイルに分割し、
    分割した該複数のファイルを前記第2の記憶装置に書き込むファイル処理装置。
  7. 前記別個の複数のファイルに分割する処理は、
    前記データ領域ごとに対応した分割ファイルを前記第2の記憶装置にそれぞれ作成し、
    各データ領域の内容を前記分割ファイルにそれぞれ書き込み、
    前記一つのファイルに対応するマスタファイルを前記第2の記憶装置上に作成し、
    前記分割ファイルのそれぞれの保存場所を前記マスタファイルに書き込む
    処理である、請求項6に記載のファイル処理装置。
  8. 前記別個の複数のファイルに分割する処理は、
    前記第2の記憶装置上に第2のファイルを作成し、前記データ領域のうちの1つのデータ領域の内容を前記第2のファイル内のサブファイルとして書き込み、
    前記書き込まれたサブファイルに続けて当該サブファイルの区切りであることを示す情報を書き込み、
    前記データ領域の全てが前記第2のファイル内のサブファイルとして書き込まれるまで、前記サブファイルとして書き込む処理と当該サブファイルの区切りであることを示す情報を書き込む処理とを繰り返す
    処理である、請求項6に記載のファイル処理装置。
JP2011062832A 2011-03-22 2011-03-22 ファイル処理プログラム及び装置 Pending JP2012198786A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011062832A JP2012198786A (ja) 2011-03-22 2011-03-22 ファイル処理プログラム及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011062832A JP2012198786A (ja) 2011-03-22 2011-03-22 ファイル処理プログラム及び装置

Publications (1)

Publication Number Publication Date
JP2012198786A true JP2012198786A (ja) 2012-10-18

Family

ID=47180929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011062832A Pending JP2012198786A (ja) 2011-03-22 2011-03-22 ファイル処理プログラム及び装置

Country Status (1)

Country Link
JP (1) JP2012198786A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018018240A (ja) * 2016-07-27 2018-02-01 富士ゼロックス株式会社 データ処理装置およびプログラム

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227836A (ja) * 1985-07-29 1987-02-05 Nec Corp ドキユメントデ−タの格納方式
JPS6319064A (ja) * 1986-07-11 1988-01-26 Canon Inc 文書処理装置
JPH04165563A (ja) * 1990-10-30 1992-06-11 Canon Inc 文書作成装置
JP2000293413A (ja) * 1999-04-09 2000-10-20 Canon Inc データ保存装置および記憶媒体
JP2004022075A (ja) * 2002-06-17 2004-01-22 Sharp Corp データ記録システムおよびデータ記録方法
WO2004107179A1 (ja) * 2003-05-29 2004-12-09 Sharp Kabushiki Kaisha 電子文書のための情報処理装置、情報処理方法、情報処理プログラムおよび情報処理プログラムを記録したコンピュータ読取可能な記録媒体
JP2006268638A (ja) * 2005-03-25 2006-10-05 Shigenori Tanaka 文書差分検出装置
US20070101074A1 (en) * 2003-06-30 2007-05-03 Data Domain, Inc. Data storage using identifiers
JP2007299311A (ja) * 2006-05-02 2007-11-15 Access Co Ltd 端末装置、及び、端末装置用プログラム
JP2008146104A (ja) * 2006-12-05 2008-06-26 Canon Inc 画像文書管理装置及び画像文書管理方法
JP2010061518A (ja) * 2008-09-05 2010-03-18 Nec Corp データ保存装置及びデータ保存方法並びにプログラム
JP2010204970A (ja) * 2009-03-04 2010-09-16 Nec Corp ストレージシステム
US20100313036A1 (en) * 2009-06-09 2010-12-09 Data Domain, Inc. Segment deduplication system with encryption of segments

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227836A (ja) * 1985-07-29 1987-02-05 Nec Corp ドキユメントデ−タの格納方式
JPS6319064A (ja) * 1986-07-11 1988-01-26 Canon Inc 文書処理装置
JPH04165563A (ja) * 1990-10-30 1992-06-11 Canon Inc 文書作成装置
JP2000293413A (ja) * 1999-04-09 2000-10-20 Canon Inc データ保存装置および記憶媒体
JP2004022075A (ja) * 2002-06-17 2004-01-22 Sharp Corp データ記録システムおよびデータ記録方法
WO2004107179A1 (ja) * 2003-05-29 2004-12-09 Sharp Kabushiki Kaisha 電子文書のための情報処理装置、情報処理方法、情報処理プログラムおよび情報処理プログラムを記録したコンピュータ読取可能な記録媒体
US20070101074A1 (en) * 2003-06-30 2007-05-03 Data Domain, Inc. Data storage using identifiers
JP2006268638A (ja) * 2005-03-25 2006-10-05 Shigenori Tanaka 文書差分検出装置
JP2007299311A (ja) * 2006-05-02 2007-11-15 Access Co Ltd 端末装置、及び、端末装置用プログラム
JP2008146104A (ja) * 2006-12-05 2008-06-26 Canon Inc 画像文書管理装置及び画像文書管理方法
JP2010061518A (ja) * 2008-09-05 2010-03-18 Nec Corp データ保存装置及びデータ保存方法並びにプログラム
JP2010204970A (ja) * 2009-03-04 2010-09-16 Nec Corp ストレージシステム
US20100313036A1 (en) * 2009-06-09 2010-12-09 Data Domain, Inc. Segment deduplication system with encryption of segments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018018240A (ja) * 2016-07-27 2018-02-01 富士ゼロックス株式会社 データ処理装置およびプログラム

Similar Documents

Publication Publication Date Title
US7707603B2 (en) Digital media transfer based on user behavior
RU2378685C2 (ru) Устройство управления файлами, способ управления этим устройством, компьютерная программа и носитель данных
CN107463467A (zh) 一种可快速还原虚拟化平台的方法及系统
CN101996109A (zh) 计算机系统及其控制方法和存储计算机程序的记录介质
JP2005302233A (ja) 情報記憶装置、情報格納方法及び情報記憶処理プログラム
JP2012198786A (ja) ファイル処理プログラム及び装置
JP4732067B2 (ja) コンピュータ装置及びその制御方法、プログラム
US11675513B2 (en) Selectively shearing data when manipulating data during record processing
US20120296867A1 (en) Method and system for file synchronization
JP2006323462A (ja) ファイルコピー装置およびファイルコピー方法
TWI653574B (zh) 頁面劃分的方法及電子顯示裝置
KR100502989B1 (ko) 가상 씨디롬 드라이브 구현 방법
JP3771826B2 (ja) 書籍型データ差分追加更新装置,そのプログラムの記録媒体およびそのプログラム
JP4348880B2 (ja) ファイル管理プログラム、ファイル管理プログラムを記録したコンピュータ読取可能な記録媒体、およびファイル管理方法
JP5855989B2 (ja) データ処理装置及びデータ処理方法及びデータ処理プログラム
JP2013228791A (ja) ソフトウェア冗長化装置及び方法
JP5928577B2 (ja) 判定装置、判定システム、判定方法および判定プログラム
JP2006185374A (ja) アレイ装置を構築可能な情報処理装置及び同装置におけるディスクドライブの認識方法
JP7356013B2 (ja) 情報提示プログラム、情報提示装置、及び情報提示方法
JP2010044503A (ja) コンピュータプログラム、および、記録媒体
US20110314108A1 (en) Data migration between disparate data structures
JP2005332042A (ja) 削除データ復元装置及びデータ複製装置兼削除データ復元装置
JP2003084977A (ja) コンピュータシステム及びその制御方法
JP2006079215A (ja) 情報処理装置、移行プログラム、及び移行制御方法
US20080010323A1 (en) Method for duplicating data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150303