JP2005267600A - 長期データ保護システム及び方法 - Google Patents

長期データ保護システム及び方法 Download PDF

Info

Publication number
JP2005267600A
JP2005267600A JP2004283018A JP2004283018A JP2005267600A JP 2005267600 A JP2005267600 A JP 2005267600A JP 2004283018 A JP2004283018 A JP 2004283018A JP 2004283018 A JP2004283018 A JP 2004283018A JP 2005267600 A JP2005267600 A JP 2005267600A
Authority
JP
Japan
Prior art keywords
partition
file
data
partitions
same
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.)
Granted
Application number
JP2004283018A
Other languages
English (en)
Other versions
JP2005267600A5 (ja
JP4473694B2 (ja
Inventor
Yuichi Yagawa
雄一 矢川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2005267600A publication Critical patent/JP2005267600A/ja
Publication of JP2005267600A5 publication Critical patent/JP2005267600A5/ja
Application granted granted Critical
Publication of JP4473694B2 publication Critical patent/JP4473694B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】
長期に信頼性の高いデータの保存を行うシステムの必要性。
【解決手段】
書き込もうとするファイルは1つ又はそれ以上のパーティションに分割することができる。このような入力パーティション各々はハッシュ符号とグループIDで識別される。入力パーティションの複製を作成することで、ある程度の個数の同一パーティションを確保することができる。ファイルにアクセスする際に、読み出される各パーティションは改竄をチェックすることができる。改竄された読み出しパーティションは検証済みの置き換えパーティションで置き換えられ、置き換えパーティションは複製又は別のファイルに由来する。
【選択図】 図1

Description

本発明は一般にストレージ・システムに関連し、さらに詳しくはデータを高い信頼性で長期間保持するためのシステム及び方法に関する。
最近の事件でデータの長期保存の必要性が認識された。ビジネス及びデータのユーザは一般に長期間にわたってデータをアーカイブする必要がある。企業は長期データ保存に関心を示しており、これは政策による条例によるところが大きい。例えば、米国証券取引委員会(SEC)は、証券取引法1934規則17a−4で、取引所会員、ブローカー、ディーラーに対し、口座取引の記録を口座終了後6年間保存することを義務づけ、全ての通信たとえば顧客との電子メールの記録も6年以上の期間保存しておく必要がある。米国証券業者協会(NASD)も規則3010条と3110条で同様の規制を行なっている。詳細については例えば非特許文献1を参照されたい。
長期データ保存が重要な産業の別の例はヘルスケア産業である。規則ではHIPAA(健康保険移動説明責任法)により患者の死後2年にわたり医療記録を保存するよう病院に義務づけている。詳細については非特許文献2を参照されたい。
長期データ保存には、バックアップの頻度、記憶媒体、データ保管室の場所等といった、幾つか重要な問題点がある。最も重要な問題点の一つが長い年月の保管後に正確にデータを復元し、長い時間が経過した後でももともと保存してあった通りに正確に同一のデータをユーザに提供することである。一般に、ユーザはデータ生成時に使用されていたよりもコストの低い記憶システムを使用してデータを保存(又はアーカイブ)している。低コストの記憶システムの例としてはテープ・ライブラリ、光ディスク・ライブラリ、ATA方式ディスク・ストレージ・システムがある。これらのシステムを代表的な高性能高信頼性生成データ用ストレージ・システム、例えばFC/SCSI方式ディスクを使用したRAIDシステムと比較する。アーカイブ・ストレージ・システムは低コストであるので、その信頼性も同様に生成データ用システムより低い。そのため長い期間の後にはデータ損失が発生する可能性がある。
長期データの信頼性及び再現性を向上させるための従来技術はチェックサムの使用である。各ファイルを「分析」してそのファイルに関連するチェックサムを決定する。例えば、ファイル内のデータの各バイト(又は数バイト)を加算してチェックサムと呼ばれる和を発生することができる。チェックサムをファイルと一緒に保存する。後にファイルを検証するには、チェックサムの計算をもう一度行ない保存しておいたチェックサムと照合して、ファイルが時間経過とともに改竄がなかったかを判定することができる。他の同様の技術も例えばハッシュ符号を使用している。これらの方法では、ファイルが改竄されたかどうかを検出できるものの、改竄をもとに戻すことはできない。
もう一つの従来技術はファイルの複製(replica)を1つ又はそれ以上作製しておきファイルとその複製を別々のストレージ・デバイスに保存することである。例えば、特許文献1では内容に基づいて格納位置の特定可能な情報のカプセル化、表現、及び転送の方法を開示している。理解されるように、ハッシュ値を生成してファイル記述子として使用し、ファイルは幾つかのストレージ資源に複製される。ハッシュ値を用いてこれらの複製へユニークにアクセスできる。複製(群)は別のストレージ・システム(群)に存在するので、ハッシュ値を用いることでオリジナルのファイルが改竄されたことを検出した場合でもファイルを復元することが可能である。しかし、この方法ではストレージ・システム上に余分な容量を必要とすると言う問題点がある。その結果、この解決方法のコストは比較的高価なものになる。
PCT国際公開番号WO99/38093号 SECのウェブ・サイトhttp://www.sec.gov http://www.cms.hhs.gov/hipaa/
高信頼で長期のデータ保存の必要性が存在する。低コスト実装でこれを達成するのが望ましい。
本発明によれば、ストレージ・システム上に保存しようとする入力ファイルの1つ又はそれ以上のパーティションが識別される。当該入力区画各々について充分な個数の同一区画がストレージ・システム内に存在するかどうかの判定を行なう。1個又はそれ以上の複製を作製して同一区画の個数を必要なだけ増加させる。逆に、保存されているファイルの区画は、ファイルへアクセスするユーザ要求への応答として、又は保存ファイルの定期チェック中に、読み出すことができる。当該読み出した区画を検証することができる。改竄が検出された読み出し区画は検証済みの予備区画で置き換えることができる。
本発明の態様、利点及び新規な特徴は添付の図面との組み合わせで提示される本発明の以下の詳細な説明から明らかになろう。
図1は本発明の1つの態様による代表的実施例の一般化ブロック図を示す。図面ではファイル構造化したデータ・オブジェクトを操作するためのファイル・サーバ・アーキテクチャを示してあるが、本発明はその他のストレージ・アーキテクチャ、例えばストレージ・エリア・ネットワーク(SAN)やオブジェクトベース・ストレージ・デバイス(OSD)等で実現することができ、またファイルとして構成されたデータ以外のデータ・オブジェクトについて動作可能であること理解されるであろう。
図1の代表的実施例では、ファイル・サーバ・システム1が1台又はそれ以上のクライアント50、51にファイル・サービスを提供する。ファイル・サーバは、ストレージ・システムによってサポートされる1つまたはそれ以上のファイル・システムに格納されたファイルへアクセスするために、1つ又はそれ以上のストレージ・システム70、71、72(及びサブシステム)とデータ通信するように構成することができる。状況によって、用語「ストレージ・システム」を使って個別のストレージ・システム70、71、72を表わす、又は用語「ストレージ・システム」を使ってストレージ・システムの集合体を単一のストレージ・システム(又はストレージ・サブシステム)として表現するのが便利な場合もあろう。負荷バランシング用、冗長性と信頼性の向上のため、等に追加のファイル・サーバを提供できることは理解されよう。代表的には、ストレージ・システムは読み書き可能である。本発明の特定用途のためにはライトワンス型ストレージ媒体を使用するのが適しているかもしれないことは理解されよう。以下で説明するある種の動作はライトワンス型ストレージ媒体には便利でないことがあることも理解されよう。
クライアント50、51はファイル・サーバ・システム1と適切な通信リンク6上で通信する。例えば、通信リンクはTCP/IPによる通信ネットワーク例えばローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)上にある。ファイル・サーバ・システム1とストレージ・システム70、71、72との間の通信は、使用するアーキテクチャに好適な通信リンク7上に提供され得る。例えば、ストレージ・システムがSANをベースとしているなら、ファイバ・チャンネル・プロトコル(FCP)が適切である。ネットワーク接続ストレージ(NAS)アーキテクチャを使用する場合にはTCP/IPベースのプロトコルが適当である。別の例として、ファイル・サーバ・システム1とストレージ・システム70、71、72を単一のシステムとして構成し、この場合通信リンク7はInfiniBand、PCI、又は専用プロトコルとすることができる。説明の目的で、ファイル・サーバ・アーキテクチャを次の想定する。ファイル・サーバ・システム1とストレージ・システムとの間のインタフェースがファイル・インタフェースであって、ストレージ・システム70、71、72がファイル単位でデータを格納するものとする。
ファイル書き込み動作を実行するクライアントは「エントリ・クライアント」と呼ばれる。エントリ・クライアント(例えばクライアント50)はファイル・ライター機能55を使用してファイル・サーバ・システム1と通信し書き込み動作を実行する。本発明の状況ではファイル内容の何らかの変更が「書き込み」動作であると見なし、これにはファイル作成、ファイルの更新、ファイル削除を含む。本発明の詳細な実施例では、あるファイルは「不変(fixity)」の属性(この属性のファイルは一旦書き込まれたら、何度も読み出されるが更新されない)で特徴付けることができる。このようなファイルは「参照情報」とも呼ばれる。
ファイル読み出し動作を実行するクライアントは「ビュー・クライアント」と呼ばれる。ビュー・クライアント(例えばクライアント51)はファイル・リーダ機能56を使用してファイル・サーバ・システム1と通信してファイルにアクセスし、内容を表示したり、又は何らかをクライアントに提示することができる。代表的には、どのクライアントもファイル・サーバ経由でファイルを書き込み読み出す能力を保有でき、つまり実行しようとするファイル操作によってエントリ・クライアント又はビュー・クライアントとなることができる。
ファイル・サーバ・システム1はファイル・サーバ・システムに代表的に見られるハードウェア・コンポーネントを含む。例えば、ファイル・サーバは計算又はその他の適当なデータ処理コンポーネント、適当なメモリ・コンポーネントを含み何らかの形の大容量ストレージ(例えばローカル・ハードディスク・ドライブ)を含むことが多いと理解される。ソフトウェア・コンポーネントはオペレーティング・システム(OS)とその他の支援プログラムを含み、コンピューティング・コンポーネントを制御することでクライアントと通信しまたストレージ・システム70、71、72と通信するものと理解される。ある種のファイル・システム又はファイル・システム群はストレージ・システム上に定義され、ファイル・サーバにはファイル・システムへアクセスしてファイル・ストレージ・サービスを提供するための適当なハードウェア及びソフトウェアのコンポーネントを含んでいるものと理解される。
図1に示した実施例によれば、ファイル・サーバ・システム1はさらにファイル入力プログラム・コンポーネント10も含む。図面に示してあるファイル入力プログラム・コンポーネントは本発明によるファイル書き込み動作を実行するソフトウェアの集合体を表わす。ファイル・サーバはファイル出力プログラム・コンポーネント20を含む。図面に示してあるファイル出力プログラム・コンポーネントは本発明によるファイル・アクセス動作を実行するソフトウェアの集合体を表わす。ファイル・サーバはさらにメタデータ30とパーティション識別情報40を含み、これらは適当な大容量ストレージ・デバイス(例えばRAIDデバイス)上に格納することができる。後に明らかになるように、これらのテーブルは本発明の重要な態様に於けるコンポーネントである。したがってこれらのテーブルを他のストレージ・デバイスにバックアップするか又は他のスタンバイ・システムへ複製することが望ましい。例えば、テーブルの高信頼性ストレージはRAIDデバイスにこれらのテーブルを格納することで提供できる。メタデータ30とパーティション識別情報40はファイル入力プログラム及びファイル出力プログラムを含むソフトウェア・コンポーネントによってアクセス可能である。
ファイル入力プログラム・コンポーネント10の一つの機能はクライアント50と通信してファイル書き込み要求に対応するデータを構成するデータ・ストリームを受信することである。ファイル入力プログラムはストレージ・システムと通信してファイルを構成するデータを格納する。ファイル入力プログラム・コンポーネントによって実行される更なる処理については後述する。図1に示した本発明の詳細な実施例によれば、ファイル入力プログラムもメタデータ30とパーティション識別情報40を必要に応じて更新する。
ファイル入力プログラム・コンポーネント10はファイル・パーティショニング・モジュール11を含む。後述するように、このモジュールはファイルを構成するパーティション(入力パーティションと呼ばれる)を識別する。パーティション・ハッシュ化モジュール12はハッシュ演算を実行する。パーティション同一性検査モジュール13は同一パーティションを識別する。パーティション同一性検査モジュールは複製モジュール14を含む。
ファイル出力プログラム・コンポーネント20の一つの機能はビュー・クライアント51と通信してストレージ・システムから要求されたファイルにアクセスしデータをビュー・クライアントに提供することである。後述するように、これにはメタデータ30へのアクセスを含みパーティション識別情報40へのアクセスを含むことがある。
ファイル出力プログラム・コンポーネント20はファイル・パーティショニング・モジュール21を含む。このモジュールは読み出そうとするファイルに対してファイル・パーティショニング・モジュール11と同じ機能を実行する。読み出そうとするファイルで識別されたパーティションは「読み出しパーティション」と呼ばれる。パーティション認証モジュール22は読み出そうとするファイルを構成する各々の読み出しパーティションを認証する。パーティション訂正モジュール23は改竄された読み出しパーティションを訂正する。パーティション訂正モジュールはパーティション同一性検索モジュール24を含む。
図2及び図3を参照して、図1に示してあるように本発明の詳細な実施例によるファイル書き込み動作の処理を説明する。前述したように、クライアント50はファイル・サーバ・システム1へ要求を通信しファイル書き込み動作を実行させる。要求を処理する一環として、ファイルがストレージ・システムへ書き込まれる。本発明によれば、以下の追加動作がファイルに対して実行される。図3は図1のファイル入力プログラム・コンポーネント10に於いて発生する処理を明示する高レベル・フローチャートである。
本発明によれば、ストレージ・システムへ書き込む(新規ファイルの場合には初回時、又は既存ファイルの変更の結果としてのいずれかで)ファイルは1つ又はそれ以上のパーティションに分割される。各々の構成パーティションに付いて、同一パーティションがストレージ・システムに存在するかしないかを確かめ、見つからない場合複製パーティションが作成される(複製)。各構成パーティションに付いてこれを反復し、ファイルの各パーティションのコピーがストレージ・システムのどこかに見つかるようにする。入力ファイルはパーティション・サイズより小さいことがあり、その場合ファイルは単一パーティションで構成されることが理解されよう。後述する別の実施例では、各ファイルはパーティションと見なすことができ、ここでファイルは単一パーティションを含むことができる。
つまり、本発明の詳細な実施例では、ファイルの構成パーティションは図3のステップ300で識別される。図2はこのプロセスを模式的に示している。クライアント50はファイル100を提供する。パーティショニング・ステップ300によって入力パーティション101〜105と呼ばれる複数のパーティションの識別が行なわれる。パーティションはファイルを構成するデータの一定サイズのブロックと定義することができる。つまり、ファイルのNバイト(又はビット、又は何らかの便利な単位)ごとにあるパーティションを構成することになる。ファイルは何個かのパーティションへ論理的に分割され、各々がNバイトを有する(「パーティション・サイズ」)。ファイルの最後のパーティションはパーティション・サイズより小さくなることがある。しかし、利便のため、これもパーティションと呼ぶことにする。
パーティション・サイズは所定のサイズとすることができる。その時々でパーティション・サイズを変更するシステム管理者を提供することが可能である。パーティション・サイズは、利用可能なストレージ容量等の要因に基づいて、定期的かつ自動的にプログラム的に変更することができる。パーティション・サイズはファイルの何らかの態様、例えばファイル形式、ファイル・サイズ、ファイルがどのストレージ・システム70、71、72に存在するか、等によって決定してもよい。例えば、全てのビットマップ画像ファイルはパーティション・サイズ1Kビットとしてもよく、テキストファイルは512バイト・ブロックに分割することができる。
ループ310を実行してファイル100の各入力パーティション101〜105を処理する。本発明によれば、各入力パーティションはその内容によって識別される。図示した詳細な実施例では、パーティションの内容はハッシュ符号とグループIDとを含むパーティションIDによってユニークに識別できる。ハッシュ符号についてここで説明し「グループID」の概念は後述する。ハッシュ符号(ハッシュ値)はステップ320で、入力パーティションの内容の幾らか又は全部をハッシュ関数に適用することで決定される。ハッシュ関数は一方向アルゴリズム、例えばMD5、SHA−1等とすることができ、一般的に、適切なものであればどのようなアルゴリズムでも良い。つまり、例えば、図2は入力パーティション101をハッシュして値「15」を生じ、入力パーティション102をハッシュして値「11」を生じ、入力パーティション103をハッシュして値「13」を生じ、入力パーティション104をハッシュして値「20」を生じ、入力パーティション105をハッシュして値「40」を生じることを示している。ハッシュ符号の代わりに他の符号化アルゴリズムを使用できることは理解されよう。さらに、例えばテキストファイルとバイナリファイルとビットマップ・ファイル等、異なる内容には異なる符号化技術を使用するのが望ましい。
図3の処理に戻ると、処理中の入力パーティションに付いてハッシュ値を決めた後、ハッシュ値はステップ330でメタデータとしてファイル100に関連付けられる。ここで一旦、図4を参照すると、メタデータ30の代表例が図示してある。従来のファイル・システムは通常ファイルについてのメタデータを格納する。メタデータはファイルの属性、場所、その他ファイルに関する情報、すなわちファイルの内容から分離された情報を表わす。図4に示してあるメタデータ30は本発明の実施例による、各ファイルの持つであろう情報の論理的表現であって、テーブル形式で表現してある。メタデータはファイルID700、位置情報710、その他の情報720(例えばアクセス情報、ファイル・サイズ等)を含む。ファイルに関連付けられたメタデータは複数のハッシュ値を含む。ファイル内で識別されるパーティションごとにハッシュ値が存在する。例えば、図2に示したファイル100はエントリ752として図4の論理表現で示されてあり、識別されたパーティションの各々にハッシュ値を有する。
前述したように、パーティショニング・ステップ300では異なるサイズのパーティションを作成することができる。メタデータ30はサイズ情報740を含むことができる。したがって、例えば、ファイル・エントリ751は512バイトのサイズで(又は何らかの便利な単位で)分割された。
引き続き図3である。次のステップでは処理中の入力パーティションと同一のパーティションがストレージ・システム内のどこかに存在するかを識別する。本発明の本実施例では、ここではストレージ・システム内の各ファイルを構成するパーティション各々を考慮し入力パーティションと同一のパーティションかどうかの判定を行なう。
一方のパーティションの内容が他方のパーティションの内容とビット毎に同一であれば2つのパーティションは「同一」である。一方のファイルからのパーティションにあるデータ(「パーティション・データ」と呼ぶ)は他方のファイルからのパーティション・データと同一であり得る。実際、同一ファイルからの2つ又はそれ以上の異なるパーティションが同一である(同じデータを有する)ことは可能で、例えば、ビットマップ・ファイルでは、広い白色領域(又は暗い領域)を含む画像の場合、長いゼロの列を有することがあるから、このようなファイルの2つ又はそれ以上のパーティションはゼロだけで構成されることがある。図1に示した詳細な実施例では、本発明のこの態様はパーティション識別情報40へのアクセスを含む。
ここで図5を参照すると、パーティション識別情報40の一例が図示してある。パーティション識別情報は同一パーティションとこれらのパーティションを含むファイルを全部識別する。第1に、パーティション識別子を考えてみる。これはパーティションの内容をユニークに識別する。前述したように、パーティション識別子はハッシュ符号(ステップ310)とグループIDとを含む。特定の実装仕様によっては、ハッシュ関数が各パーティションの内容をユニークに識別できる符号を保証しないことも起こりうる。例えば、パーティション・サイズが256バイトで、ハッシュ符号が8バイトの場合、ハッシュ符号の8バイトは256バイト・パーティションで可能な組み合わせ全部を表現するには不十分なことは明白である。結果として、互いに異なる内容を有する2つのパーティションが同じハッシュ値を得ることが可能である。同一のハッシュ値を持つこれらのパーティション間でさらに識別するため、「グループID」を使用することができる。つまり、後述するように、同一の内容を持つ(すなわち同一である)これらのパーティションは同一のハッシュ符号値と同一のグループID値によって識別される。グループIDをどのように決定するかは後述する。
図5に示してあるパーティション識別情報40は便宜的にテーブル形式で論理的に表現してある。パーティション識別情報はストレージ・システムに格納された各ファイルの各パーティションに提供される。各パーティションにはパーティションIDが関連付けられ、これにはハッシュ値800とグループID810が含まれる。各パーティションにはさらにファイルID820も関連付けられており、これでそのパーティションを含むファイルを識別する。このファイルIDは図4に示してあるファイルID700に関連する。各パーティションにはさらにパーティション番号830も関連付けられている。パーティション番号は、そのファイルを含む他のパーティションに対するそのファイル内でのそのパーティションの位置を表わす序数である。つまり、例えば、パーティション・エントリ851はファイルID「1000」によって識別されるファイルに属する。この特定のパーティションはハッシュ値が13(かつグループIDが1)で、ファイルの2番目のパーティションである。エントリ854はパーティション情報への新規パーティションの追加を表わしており、これを以下で説明する。
図3で強調した処理ステップに戻ると、ループ310で処理される入力パーティションと同一のあるパーティションが存在するかどうかを識別するステップは、ステップ340で同一ハッシュ値をもつパーティション識別情報40からエントリを取り出すステップを含む。したがって、図2に示したファイルの3番目のパーティション103が入力パーティションだと仮定する。このパーティションからはハッシュ値「13」がハッシュされる。パーティション情報テーブルにアクセスして同一ハッシュ値をもつ他のパーティション(もしあれば)を識別する。この場合、参照番号851〜853で識別されるパーティションが候補パーティションで、これらが後続のステップで考慮される。
ループ350では、各候補パーティションは次の処理の対象になる:
・ステップ360:候補パーティションの内容にアクセスする。したがって、パーティション851については、「1000」として識別されたファイルにアクセスすれば、ファイル「1000」についてのメタデータ30にアクセスすれば所在が特定できる。ファイル「1000」の2番目のパーティションの内容も読み出せる。
・ステップ370:アクセスされた候補パーティションをハッシュする。つまりファイル「1000」の2番目のパーティションがハッシュされる。
・ステップ380:処理中の入力パーティションのハッシュ値と候補のハッシュ値とを比較する。これらは同一になるはずである。しかし、異なっている場合には、候補パーティション(この場合ではファイル「1000」の2番目のパーティション)が改竄されたと結論することができる。本発明のこの詳細な実施例では、このパーティションに対してこれ以上のことを行なわず、パーティションはスキップされて処理はループ350の先頭に進み次の候補パーティション(群)、この場合にはパーティション852と853の処理を行なう。これ以外に、パーティション識別情報40に追加の情報を提供して、この候補パーティションが改竄されたものであるとの決定を表示できる。さらに別の実施例ではこの候補パーティションが後続の訂正ステップ用にマークされる。さらに別の実施例ではエラーを発見し次第訂正を行なうよう試みる。訂正ステップの一例は図7に関連して後述する。
・ステップ390:ステップ380でハッシュ値が一致した場合には識別テストを実施する。この詳細な実施例では、テストには、処理中の入力パーティションの内容とアクセスした候補パーティションとを比較して2つのパーティションがビット毎に同一であるかを判定する、すなわち同一パーティションであるかを判定するステップを含む。
・ステップ400:候補パーティションと処理中の入力パーティションが同一のものであると判定されたら、パーティション識別情報40を更新して(ステップ410)入力パーティションを含めるようにする。更新情報には入力パーティションのハッシュ値、一致する候補パーティションのグループID、入力パーティションが属するファイルのファイルID、入力パーティションの相対位置が含まれる。この場合、入力パーティションは同一であると判定されているので新規エントリ854をパーティション識別情報40に追加する。ハッシュ値は「13」でグループIDは一致した候補パーティションのそれ、すなわち「1」である。ファイルIDとパーティション番号も記録される。この場合、入力パーティションは「2000」と識別されたファイルからのものでファイル内の3番目のパーティションである(図2参照)。図3の説明を続けると、処理はループ310の先頭へ進み、ここで入力ファイル100の次の入力パーティションを処理する。
・ステップ400:候補パーティションと処理中の入力パーティションが同一でない場合、処理はループ350の先頭へ戻って次の候補パーティションを処理する(この場合次のパーティションは参照番号852である)。
ループ350からの候補パーティションのどれも処理中の入力パーティションと同一ではなかった場合、処理はステップ420へ進む。この時点で、ストレージ・システム内のファイルのどれも入力パーティションと同一のパーティションを含まないと結論することができる。ステップ420で、1つ又はそれ以上のファイルが作成され、その各々が入力パーティションの内容を含む。このようなファイルは「複製(replicas)」又は「複製ファイル」と呼ばれる。複製ファイルは「ユーザ・ファイル」とは区別され、ユーザ・ファイルはクライアント50、51が作成するが、複製ファイルは本発明にしたがって内部的に作成される。同一パーティションがストレージ・システム内に格納された非複製ファイルの中に存在しない場合には、入力パーティションの複製を少なくとも一つ作成することで、入力パーティションの複製(すなわち同一の)パーティションがストレージ・システム内のどこかに存在することが保証される。実際には、信頼性のある長期保存をある程度のレベルで保証するため、1つ以上の複製を作成するのが恐らく望ましいと思われる。複製の実際の個数は所定の値としたり、システム管理者が決定したり、したがって、またその時々で変更したりでき、自動的にアルゴリズムにしたがって決定したり等が可能である。実際には、ストレージ・システム全体に複製を格納するのが恐らくは望ましいと思われる。つまり、例えば、図1に示した構成は複数ストレージ・システム70、71、72を示している。入力パーティションを含むファイルがストレージ・システム70に格納されている場合、例えば1つ又はそれ以上の複製をストレージ・システム71、72に格納して喪失又は改竄データの可能性を減少させるのが望ましいと言える。
この時点で、「パーティション」はファイル内でデータのブロックとして(パーティション・サイズと等しい)存在できることは特筆に値する。ファイルはユーザが作成したファイルだったり、又はユーザとの対話によって作成されたファイル(ユーザ関連ファイル)だったりすることがある。例えば、データベース・システムの構成ファイルはユーザによって直接作成されるものではないが、ユーザがアクセスするデータベースをサポートするために作成される。ファイルはユーザ関連ファイルに存在するパーティションの複製であり得る。つまり、パーティションを参照する、パーティションにアクセスする又は別の方法でパーティションを操作するといった概念は、まずファイルにアクセスし、次に注目するパーティションを含むデータを読み出すことを含む。これ以外に、パーティションを参照するのは単にメタデータ30又はパーティション識別情報40に含まれる情報を参照するだけかもしれない。
図3の説明を続けると、ステップ430で、複製を作成したときに新規のグループIDが作成される。この時点で処理中の入力パーティションはストレージ・システム内に格納されたどのファイルにも同一パーティションがないことが分かっているから(作成されたばかりの複製は除いて)、新規グループIDを作成して新規にユニークなパーティションをシステム内で識別する。入力パーティションのハッシュ値との組み合わせで、得られた新規パーティションIDは入力パーティションの内容をユニークに識別する。グループIDの割り当ては例えば、各ハッシュ値にカウンタを関連付けることによって実現することが可能である。各カウンタは初期化してゼロにすることができる。任意のハッシュ値について新規グループIDを必要とする場合、そのハッシュ値に対応するカウンタをインクリメントして新規IDを発生させる。そのハッシュ値について次回に別の新規グループIDが必要になれば、そのハッシュ値に関連したカウンタをもう一度インクリメントして次のIDを発生させる。当然のことながら、他の何らかのID生成メカニズムを実装可能であることがこの説明から理解されよう。
ステップ440で、メタデータ30を更新して新規作成した複製の各々を反映させる。同様に、パーティション識別情報40を更新して処理中の入力パーティションを識別し、新規作成した複製の各々を識別する情報を含める。新規入力パーティションについて、ファイルに含まれる入力パーティションが処理されるまで、ループ310の先頭で処理を反復実行することが可能である。図2に於いて、ループ310は各パーティション101〜105ごとに1回づつ、計5回実行される。
前述のステップを図示するために図2を考える。図面にはパーティション102がシステム内に同一パーティションを持っていない状況が図示してある。結果として、ループ350の処理は入力パーティションのパーティションIDはまだ存在していないことから得られていない。この時点での入力パーティション102のパーティションIDは図2で(11,NULL)と表現してあるが、これは「11」がパーティション102のハッシュ符号であり、NULLは入力パーティションが存在しないことを表わしている。ここで複製ステップ420を実行して1つ又はそれ以上の複製を作成する。新規グループIDをステップ430で作成する。パーティション102の場合、例えば、システム内の他のパーティションはハッシュ値「11」にハッシュされていない。したがってグループIDの値は「1」とし、ハッシュ値「11」を持つ最初のパーティションであることを示す。ステップ440で、メタデータ30とパーティション識別情報40を更新してパーティション102についてと1つ又はそれ以上の複製についての情報を含める。
図4Aと図5Aはメタデータ30とパーティション識別情報40に対して行なった更新を表わす。幾つか追加の点が特筆に値する。複製を識別するのに命名規則を採用することができる。図4Aの実施例に示してあるように、このような規則の一つは特別なファイルIDの使用である。ここではパーティション102の複製は「R300」として識別され、「R」はそのファイルがあるパーティションの複製であることを示す。本発明のこの詳細な実施例では、各複製は単一パーティションについてのパーティション・データを含む。本発明の別の実施例では、複製ファイルは1つ以上のパーティションを格納できるが、これは利便性の低い実施例であるかも知れないし、そうでないかも知れない。
ステップ410をもう一度参照して、開示した実施例の変形を説明する。処理しようとしている入力パーティションと同一の既存のパーティションが存在する場合にステップ410となる。パーティション識別情報を更新して入力パーティションに関連する情報を含める。さらに、パーティション識別情報を検索して同一パーティションが1つ又はそれ以上のユーザ・ファイルからのパーティションと、複製ファイルであるパーティションを含むかどうかを調べる。このような場合、同一パーティションが1つ又はそれ以上のユーザ・ファイルに存在するので、何らかの複製は冗長である。したがって複製によって消費されるストレージ空間を節約するため複製ファイルの1つ又はそれ以上を削除するのが望ましい。これは独立した処理で実行できることに注意する。
ステップ410のさらに別の態様は、パーティション識別情報から、ユーザ・ファイルに属するパーティションや複製であるパーティションを含めて、処理中の入力パーティションと一致する同一パーティションの個数を決定することである。一つの変形に於いて、同一パーティションの個数は何らかの所定の値に維持しておき、ステップ410で1つ又はそれ以上の複製を作成(又は削除)して同一パーティションの個数を一定の値に維持するようにできる。ストレージ・システムからファイルを削除する場合、削除されることになるファイルの各パーティションについて、1つ又はそれ以上の複製を作成するかどうかを決定するのが望ましい。ステップ410のさらに別の変形では、決定を別の処理で実行できることに注意する。一般に、各種図面で開示したステップは共有メモリ又はその他同様のデータ共有メカニズムを使用して必要に応じて情報を受渡しできるようにした多数の独立した処理へ適切に分割できることに注意する。
さらに別の変形に於いて、第1の所定のレベルと第2の所定のレベルで「バッファ領域」を定義することができる。つまり、任意のパーティションID(ハッシュ符号、グループID)の同一パーティションの個数が第1の所定のレベルを越えた場合、そのパーティションの複製は同一パーティションの個数が第2の所定レベル以下に納まるまで(又は全部の複製が削除されるまで、いずれか最初に発生する方)そのパーティションの複製を削除することができる。この操作はステップ410で実行できるが、ステップ410で実行しなければならないものではない。例えば、これは独立した処理で実行することができる。第1と第2の所定レベルは同一レベルでも又は異なったレベルでも良い。
複製作成について同様のバッファ領域を定義することができる。つまり、任意のパーティションIDの同一パーティションの個数が第3の所定レベル以下の場合には、充分な複製を作成可能であるから第4の所定レベル以上に同一パーティションの個数を増加する。第3と第4の所定レベルは同一レベルでも又は異なるレベルでも良い。
前述の実施例によれば、図1と図3に示した処理はファイルをストレージ・システムに格納するユーザ要求が発生した場合に開始される。図3の処理はストレージ・システムにすでに格納されているファイルに対して実行可能であることが理解されよう。つまり、図3の処理を実行するループが各ファイルについて提供可能である。
ここで図6と図7を参照して、図1に示した本発明の詳細な実施例によるファイル読み出し操作の処理を説明する。前述したように、ビュー・クライアント51はファイル・サーバ・システム1への要求を通信してファイル読み出し操作を実行させる。要求を処理する一環として、ストレージ・システムからファイルがアクセスされてビュー・クライアントへ供給される。本発明によれば、以下の追加の動作をファイルに対して実行する。図7は図1に示したファイル出力プログラム20で発生する処理を示す高レベル・フローチャートである。以下の説明からファイル出力プログラムを含むモジュールでどのステップが実行可能かは明らかであろう。
この詳細な説明に於いて、図7の処理は読み出し動作の状況で実行されることに注意する。しかし図7の処理が読み出し動作とは独立して開始可能であることが当業者には理解されよう。図7に示した活動は改竄ファイルを検出して検出された改竄を修復することに関係する。このような活動は読み出そうとしてユーザがファイルにアクセスすることによる以外でも開始できることが理解されよう。例えば、システム管理者はシステムにコマンドを発行して、アクティブな格納ファイル又はアーカイブしたファイルの保守動作の一環として、ストレージ・システムに格納されたファイルの検証と修復を行なうことができる。自動処理でチェックを定期的に行なうなどが可能である。
本発明によれば、ファイルの各構成パーティションがアクセスされる。各パーティションについて、そのパーティションが改竄されているかどうかの判定を行なう。あるパーティションが改竄されている場合、改竄されていない同一パーティションを見つけ出す試みが行なわれる。このような同一パーティションが見つかった場合改竄されたパーティションのファイルにあるデータを改竄されていない同一パーティションからのデータで置き換える。ファイルを構成する各パーティションに対してこれを反復実行する。
この処理の詳細な実施例について図7を参照すると、ステップ500で、ファイルを含む各パーティションにアクセスする。図6はファイル200についてのこの処理を模式的に示している。パーティショニング・ステップ500では、「読み出しパーティション」と呼ばれる複数の構成パーティション201〜205を作成する。各読み出しパーティションはループ510で以下のように処理される。
ステップ520に於いて、ファイルが書き込まれたときにそのパーティションに対して使用したハッシュ・アルゴリズムを第1の読み出しパーティション201に適用してハッシュ値を作成する。例えば、図6の例は、読み出しパーティション201からハッシュ値(211)の「15」がハッシュされる。読み出しパーティション202はハッシュ値(212)の「11」を持ち、読み出しパーティション203はハッシュ値(213)として「14」を持ち、以下同様である。
ステップ520で作成したハッシュ値を(ステップ530で)ファイルを書き込んだ際に作成された読み出しパーティションの値と比較する。この値はメタデータ30から得られる。つまり、あるファイルのi番目の読み出しパーティションはこれに対応するハッシュ値をメタデータに持っている、言い換えればそのファイルについてメタデータのi番目の値である。計算された値が格納されている値と一致すれば、処理中の読み出しパーティションは改竄されておらず、有効であると仮定することができる。ループ510で処理を継続して次の読み出しパーティション02を処理する。
計算された値がメタデータ30に格納されている値と一致しない場合には、ステップ540で同一パーティションの検索を実行する。これにはパーティション識別情報に問い合わせて処理中の読み出しパーティションと同一なパーティションのリスト(「同一パーティション」)を識別するステップを含む。つまり、図6を参照すると、改竄されたパーティションの一例が読み出しパーティション203であり、これはハッシュ値(213)の「14」を持っている。言い換えれば、ファイルID「2000」のファイルの3番目のパーティションはハッシュ値「14」を持っている。図4Aに示したメタデータ30を参照すると、ファイルID「2000」のファイルの3番目のハッシュ値は「13」である。「14」は「13」と同一ではないから、このファイルの3番目のパーティションは改竄されていると判定される。
つまり、読み出しパーティション203について、図5Aに示したパーティション識別情報40に問い合わせる。読み出しパーティション203についてのパーティション識別情報はそのパーティションのファイルIDをファイル内での順序位置に基づいて識別される。ここで、このパーティションはファイル(ファイルID「2000」)の3番目のパーティションである。これは図5Aに示したパーティション識別情報851に相当する。この情報から、処理中の読み出しパーティション(すなわちパーティション203)はパーティションID(13,1)を持っていると決定できる。つまり、ステップ540によれば、パーティションID(13,1)のパーティション全てがループ550で考慮される。図5Aに示した例では、ファイル(ファイルID「2000」)は読み出しパーティション203と同一であると識別されたパーティション(2番目のパーティション)を含んでいる。
この時点で特筆に値することは、複製ファイルの使用で各パーティションがシステム内にコピーを有することを保証できることである。そのコピーが有効かどうかは別問題であるが、本発明のこの態様はシステム内にあるパーティションが少なくとも一つの同一パーティションを持つように保証する。例えば、図5Aのパーティション識別情報はファイル(ファイルID「2000」)内の第2のパーティションと同一なパーティションだけが複製ファイル(ファイルID「R300」)に格納されたパーティションであることを示している。
続けて、ステップ560で、このような「候補」パーティション各々がストレージ・システムから読み出される。これは候補パーティションが属するファイルにアクセスすることによる。ステップ570で、対応するファイルをストレージ・システムに書き込んだ際に候補パーティションへ最初に適用したハッシュ・アルゴリズムを候補パーティションに適用してハッシュ値を作成する。ハッシュ値を候補パーティションに対応するメタデータ30に格納された値と比較する(ステップ580)。一致が見られなければ、処理はループ550へ進んで次の候補パーティションを考慮する。これ以上候補パーティションが見つからない場合、ステップ600でエラー条件をユーザへ報告するか、又は後に参照するためのログを残すことができる。エラー条件はファイルが改竄されたことを示す。
一致が見つかれば、候補パーティションは有効であると見なされる。ステップ590で、処理しようとしている、改竄された読み出しパーティションを含むデータは、有効な候補パーティションを含むデータによって置換される。この動作はファイル出力プログラム20(図1)においてファイルI/Oユティリティを使用しサポートされるファイル・システム内のファイルを変更することで実行される。例えば、パーティション訂正モジュール23は本発明のこの態様を実行可能である。処理はループ510へ戻って次の読み出しパーティションを処理する。
本発明の前述した実施例は既存のストレージ・システムアーキテクチャに好適である。前述の実施例に於いて、あるファイルの構成パーティションは複製ファイル以外物理的に保存されていない。ファイルのパーティションは論理パーティションである。あるパーティションがサイズ1024バイトの場合、n番目のパーティションを「識別する」動作は1024バイトのデータのブロックを読み出してn番目のブロックを保持することによる。ハッシュ・アルゴリズムをそのデータ・ブロックに適用できる。単純に次の1024バイトのデータを読み出すことによって次のブロックにアクセスする。
しかしストレージ・システムはパーティション単位でファイルを格納するように構成されることがあることは理解されよう。このようなストレージ・アーキテクチャではパーティションへのアクセスを最適化することにより旧来のシステムに対して性能の向上を提供できる。実装によっては、メタデータ830を含む情報とパーティション識別情報840を含む情報について変更が必要になることがあることは当業者には理解されよう。このようなストレージ・システムの周知の例はオブジェクト・ベース・ストレージである。SNIA(ストレージ・ネットワーク工業会)はOSD(オブジェクト・ストレージ・デバイス)についてオブジェクト・ベース・ストレージの標準化を進めて来た。この場合、パーティションは「オブジェクト」と呼ばれる。
図8は本発明のこの態様の実施例の代表例である。図1に示したシステムとの主な相違点は、ストレージ・システム870、871、872の存在である。ストレージ・システムは、情報をファイル80、81、82の単位で格納する図1のストレージ・システム70、71、72と比較して、パーティション880、881、882の単位で各々情報を格納するように示してある。同様に、パーティション複製890、891、892は図1の複製ファイル90、91、92とは異なるものになる。
ファイル・サーバ801はストレージ・システム870、871、872によって提供される追加機能にアクセスできる。例えば、ファイル・サーバはオブジェクト再配置機能により所定のユーザ・ポリシーに基づいてストレージ・システム間でのパーティションの再配置又は構成を行なう。ユーザがシステム全体の冗長性を増加させたい場合、ファイルのパーティションを別のストレージ・システムへ再配置する試みが行なえる。
本発明のこの実施例によるファイル・サーバ801のコンポーネントはファイル入力プログラム・コンポーネント10のファイル・パーティショニング・モジュール11又はファイル出力プログラム・コンポーネント20のファイル・パーティショニング・モジュール21を必要としない。その理由は、パーティショニング機能がストレージ・システム870,871,872によって提供されていることによる。しかし、ストレージ・システムによって提供されるのとは異なるパーティション・サイズを用いてファイルをパーティションすることが望まれることがあり、この場合ファイル・パーティショニング・モジュール11、21が必要とされる。モジュールはグレーの輪郭で示し必要とされる又は必要とされないことのあるコンポーネントであることを示している。
図9を参照すると、本発明の別の実施例の説明は次のようになる。ここで図示したシステム構成は図1に示してある構成と同様である。ユーザ50、51は適当な通信リンク6を介してファイル・サーバ・システム1aにアクセスする。ストレージ・システム70a、71a、72aはユーザにデータ・ストレージ容量を提供する。適当なデータパス7はファイル・サーバとストレージ・システムの間のデータ・リンクを提供する。
ファイル・サーバ1aはファイル入力プログラム10aとファイル出力プログラム20aとを含む。ファイル入力プログラムとファイル出力プログラムを構成するモジュールによって実行される動作は図1に示した相当物と同様である。本発明のこの詳細な実施例では、ストレージ・システムへ書き込まれる入力ファイルのパーティショニングは存在しない。同様に、ストレージ・システムから読み出されるファイルのパーティションのアクセスも存在しない。
ファイルの多数の構成パーティションの代わりに、ファイル全体が単一の大きなパーティションとして処理される。結果として、パーティショニング・モジュールは存在しないが、ファイル入力プログラム10aとファイル出力プログラム20aを含む他のモジュールは図3及び図7に示した処理フロート同様の方法で動作する。つまり、ファイル・ハッシュ化モジュール12aはハッシュ関数を入力ファイルの内容全体に適用する。同様に、ファイル認証モジュール22aはファイルの内容全体に対してハッシュ関数を適用することを含む。ハッシュ関数(又は内容に基づく符号を生成するための何らかの適当なアルゴリズム)をファイルの一部に(例えば1バイトおきに)適用することができることは理解されよう。本発明のこの詳細な実施例はファイルのパーティショニングが実行されていないことを単に指摘するものである。
入力ファイルについてファイル同一性検査モジュール13aは同一パーティションの代わりに同一ファイルを識別する。複製はモジュール14aによって作成される。複製はその結果ファイルのコピーである。つまり、ストレージ・システム70、71、72に格納された複製90a、91a、92aはファイルのコピーである。ファイルを読み出すには、ファイル訂正モジュール23aが同一の有効なファイルを(モジュール24a経由で)検索することによりファイルを修復する。図9の説明を完了するにあたり、メタデータ30aは各ファイルについて単一のハッシュ値しか必要としない、言い換えればファイルのハッシュ値しか必要としない。図1に示したパーティション識別情報40はファイル識別情報40aで置き換えられており、これがパーティション番号830コンポーネントの存在しないパーティション識別情報として同種の情報を提供する。
本発明は長期データ保存を必要とし長期にわたって自動的なデータ保護も必要とされるような全ての用途でとくに有用である。本発明の前述の実施例はデータの単位としてファイルに関して記述したが、ファイル以外のデータ単位を処理することができることは理解されよう。情報は多様な形態でユーザの特定の要求に基づいて保存することができる。用途のサンプルとしては次のようなものが含まれる:
・デジタル・イメージング、データの歴史的価値が非常に重要な場合。
・電子メール・アーカイブ、同一のメッセージと同一の添付ファイルが多数ユーザに配布されるが効率の良いディスク空間でこれらを効果的にアーカイブする場合。
・コンテンツ/文書アーカイブ、バージョンアップが繰り返されその結果同一データ部分が含まれるような場合。
・医用イメージング、データが長期にわたって正確でなければならないような場合。
・デスクトップ・アーカイブ、オフィス内の全部のデスクトップにあるデータをアーカイブし、ユーザがオフィス内で通常同一の環境を使用することがら通常はデータの大半が同一であるような場合。
本発明によるストレージ・システムの代表的実施例を示す一般化したブロック図である。 本発明によるファイル書き込み動作中のファイル処理の略図である。 ファイル書き込み動作中の本発明の態様を明示する高レベル・フローチャートである。 図1に示したメタデータの代表例である。 図1に示したメタデータの代表例である。 図1に示したパーティション識別情報の代表例である。 図1に示したパーティション識別情報の代表例である。 本発明によるファイル読み込み動作中のファイル処理の略図である。 ファイル読み込み動作中の本発明の態様を明示する高レベル・フローチャートである。 本発明の別の実施例を示す一般化したブロック図である。 本発明のさらに別の実施例を示す一般化したブロック図である。
符号の説明
1…ファイル・サーバ、50…クライアント、70…ストレージ・システム。

Claims (50)

  1. ストレージ・システムにアクセスする方法であって、
    データ・オブジェクトにアクセスし、前記データ・オブジェクトは1つ又はそれ以上のパーティションに分割可能であり、前記パーティションは前記データ・オブジェクトからのデータを含み、前記パーティションは入力パーティションと呼ばれるステップと、
    各入力パーティションについて、前記ストレージ・システム内に前記入力パーティションと同一である他のパーティションが存在しない場合には前記入力パーティションの1つ又はそれ以上の複製を作成するステップとを含むことを特徴とする方法。
  2. 前記データ・オブジェクトがファイルであることを特徴とする請求項1に記載の方法。
  3. 第1のパーティションにはパーティションIDが関連付けられ、別のパーティションに前記第1のパーティションの内容と同一な内容を有するようにし、前記別のパーティションには前記第1のパーティションのそれと同じパーティションIDを関連付けるようにし、前記方法はさらに複数のパーティションIDを含むパーティション識別情報を格納し、各パーティションIDは1つ又はそれ以上のパーティションに関連付けられるようにするステップと、前記入力パーティションのパーティションIDを決定するステップと、前記パーティション識別情報にアクセスして前記入力パーティションのパーティションIDに基づいて前記入力パーティションと同一である何らかのパーティションが存在するかどうかを判定するステップとを含むことを特徴とする請求項1に記載の方法。
  4. 前記データ・オブジェクトは前記ストレージ・システムに格納しようとするものであり、前記方法はさらに前記ストレージ・システムへ前記データ・オブジェクトを格納する要求を受信するステップと、前記データ・オブジェクトを含むデータを受信するステップと、前記ストレージ・システムへ前記データ・オブジェクトを格納するステップとを含むことを特徴とする請求項1に記載の方法。
  5. 各入力パーティションについて、少なくとも前記入力パーティションの何らかの内容に基づいた内容に基づく識別子を生成するステップと前記同一の内容に基づく識別子を有する前記ストレージ・システム内の第1のパーティションを識別するステップとをさらに含み、前記第1のパーティションのどれも前記入力パーティションと同一ではない場合に前記1つ又はそれ以上の複製が作成されるようにしてあることを特徴とする請求項1に記載の方法。
  6. 前記生成するステップは前記入力パーティションの内容の合う少なくとも一部に対してハッシュ・アルゴリズムを提供するステップを含むことを特徴とする請求項5に記載の方法。
  7. 前記データ・オブジェクトがファイルであることを特徴とする請求項6に記載の方法。
  8. ストレージ・システムにアクセスするための方法であって、
    前記ストレージ・システムへ格納しようとする第1のファイルのデータを受信するステップと、
    前記第1のファイルの第1のパーティションを構成する前記第1のファイルからのパーティション・データを提供するステップと、
    前記ストレージ・システム内の第2のパーティションの個数が第1の所定の値より少ない場合には、第2の所定の値まで前記第2のパーティションの個数を増加させるのに充分な個数の前記第1のパーティションの複製を作成し、各第2のパーティションには前記パーティション・データと同一であるデータを含むステップと、
    第2のパーティションの個数が第3の所定の値より多く前記第1のパーティションの1つ又はそれ以上の複製が存在する場合には1つ又はそれ以上の前記複製を削除し、第2のパーティションの個数を減少させるステップと、
    前記第1のファイルを含む追加のパーティション・データについて反復するステップとを含むことを特徴とする方法。
  9. 前記第1のファイルを格納する要求を受信するステップと、前記第1のファイルを含むデータを受信するステップと、前記ストレージ・システムへ前記第1のファイルを格納するステップとをさらに含むことを特徴とする請求項8に記載の方法。
  10. パーティション各々が内容に基づく符号とグループIDとによって識別され、一つのパーティションのデータが別のパーティションのデータと異なり両方のパーティションが同一の内容に基づく符号を有する場合には、各パーティションには異なるグループIDを持たせるようにし、同一データを含むパーティションは同一の内容に基づく符号とグループIDとによって識別されるようにすることを特徴とする請求項8に記載の方法。
  11. 前記ストレージ・システム内の各パーティションに対応する内容に基づく符号とグループIDとを含むパーティション識別情報を格納するステップをさらに含み、前記第1のパーティションには第1の内容に基づく符号の値と第1のグループIDの値とを関連付け、対応する内容に基づいた符号が前記パーティション識別情報に問い合わせて前記第1の内容に基づく符号の値と等しく対応するグループIDが前記第1のグループID値に等しいパーティションの個数をカウントすることにより、第2のパーティションの個数を決定できるようにしてあることを特徴とする請求項10に記載の方法。
  12. 前記内容に基づく符号がパーティションの内容に対してハッシュ・アルゴリズムを提供することで作成したハッシュ符号であることを特徴とする請求項8に記載の方法。
  13. 前記ストレージ・システムの各パーティションに対応するハッシュ符号とグループIDとを含むパーティション識別情報を格納するステップをさらに含み、前記第1のパーティションには第1のハッシュ符号値と第1のグループID値とを関連付け、多数の複製を作成する前記ステップは、前記第1のハッシュ符号値と前記第1のグループID値とを含む前記パーティション識別情報へ各複製を識別する情報を追加するステップを含むことを特徴とする請求項10に記載の方法。
  14. 前記第1の所定の値は前記第2の所定の値より少ないことを特徴とする請求項8に記載の方法。
  15. 前記第1の所定の値は前記第2の所定の値と等しいことを特徴とする請求項8に記載の方法。
  16. 1つ又はそれ以上の複製を削除する前記ステップは複製全部が削除されるまでか、又は第2のパーティションの個数が第4の所定の値より少なくなるまで1つ又はそれ以上の複製を削除するステップを含むことを特徴とする請求項8に記載の方法。
  17. 前記第3の所定の値は前記第4の所定の値より大きいことを特徴とする請求項16に記載の方法。
  18. ストレージ・システムにアクセスするための方法であって、
    ファイルを格納する要求を受信するステップと、
    前記ストレージ・システム上に前記ファイルを格納するステップと、
    前記ファイルを集合的に構成する1つ又はそれ以上のパーティションを識別し、前記パーティションは入力パーティションと呼ばれるステップと、
    前記ファイルに関連付けられたパーティション情報を格納し、前記パーティション情報は前記入力パーティションの各々を前記ファイルへ関連付けるステップと、
    各入力パーティションについて同一のパーティションが存在しない場合には
    前記入力パーティションの複製の個数が閾値より少ない場合には前記入力パーティションの少なくとも一つの複製を作成して前記複製を前記ストレージ・システムに格納し、
    同一パーティションが前記入力パーティション以外で、前記ストレージ・システムに格納されていてその内容が前記入力パーティションの内容と同一であるファイルのパーティションであるようにするステップとを含むことを特徴とする方法。
  19. 第1の入力パーティションについて、前記第1の入力パーティションと同一なパーティションを含む少なくとも一つの他のファイルが存在する場合には、前記複製が存在する場合前記第1の入力パーティションの複製を削除することを特徴とする請求項18に記載の方法。
  20. 入力パーティションについて同一パーティションの個数と複製の個数の和が所定の値に等しく、閾値が前記所定の値と同一パーティションの個数との差であるようにすることを特徴とする請求項18に記載の方法。
  21. 前記ファイルに関連付けられたパーティション情報が各入力パーティションについてパーティションIDを含み、前記パーティションIDはハッシュ符号とグループIDとを含み、前記ハッシュ符号はパーティションの内容にハッシュ関数を適用することで決定され、前記グループIDは前記同一ハッシュ符号を有するパーティション間で内容がユニークなパーティションを識別することを特徴とする請求項18に記載の方法。
  22. 1つ又はそれ以上のパーティション・グループを識別する情報を格納するステップをさらに含み、パーティション・グループは同一内容を含む1つ又はそれ以上のファイルの間から識別される1つ又はそれ以上のパーティションを含み、パーティション・グループはさらに前記パーティション・グループ内にパーティションの1つ又はそれ以上の複製を含むことを特徴とする請求項18に記載の方法。
  23. 前記閾値が1であることを特徴とする請求項18に記載の方法。
  24. 前記閾値が1より大きい数値であることを特徴とする請求項18に記載の方法。
  25. 各パーティションは他のパーティションと同一のサイズであることを特徴とする請求項18に記載の方法。
  26. 1つ又はそれ以上のパーティションを識別するステップはファイルのパーティションが識別されるパーティション・サイズを決定することを含むことを特徴とする請求項18に記載の方法。
  27. ファイルのパーティションのパーティション・サイズは別のファイルで異なることがあることを特徴とする請求項18に記載の方法。
  28. データ・ストレージ・システムであって、
    ストレージ・コンポーネントと、
    前記ストレージ・コンポーネントとデータ通信するデータ処理コンポーネントとを含み、前記データ処理コンポーネントはユーザからのアクセス要求を受信し、前記アクセス要求は前記ストレージ・コンポーネントに格納されているデータへアクセスするため又は前記ストレージ・コンポーネントへデータを格納するためのものであり、
    前記データ処理コンポーネントは以下の方法ステップを実行するように構成され、
    ファイルの第1のパーティションにアクセスし、前記第1のパーティションは前記ファイルを構成するデータの第1の部分を含むステップと、
    前記第1のパーティションが前記ストレージ・コンポーネント内に対応する同一パーティションを有していない場合には少なくとも一つの複製を作成するステップと、
    前記ファイルの第2のパーティションについて反復し、前記第2のパーティションは前記データの第2の部分を含むステップとを含むことを特徴とするシステム。
  29. 前記データ処理コンポーネントは以下の方法ステップを実行するように構成され、
    前記ストレージ・システムへデータを格納する要求を受信し、前記要求は前記ファイルを構成するデータを含むステップと、
    前記ストレージ・コンポーネントにアクセスして前記データを格納するステップとを含むことを特徴とする請求項28に記載のシステム。
  30. パーティションはパーティションIDで識別され、前記パーティションIDは前記パーティションの内容に基づき、同一内容を含むパーティションは同一のパーティションIDを有し、
    前記ストレージ・システムは前記ストレージ・コンポーネントに格納される情報をさらに含み、各パーティションはこれに関連したパーティション識別情報を有し、前記パーティション識別情報はこれに関連したパーティションのパーティションIDを含み、同一であるパーティションは前記同一のパーティションIDを有することと、
    これにより前記パーティション識別情報に問い合わせることで同一パーティションを識別できるようにしてあることを含むことを特徴とする請求項28に記載のシステム。
  31. 前記パーティションIDは内容に基づく符号とグループIDとを含み、前記内容に基づく符号はパーティションの内容から決定され、一つのパーティションと別のパーティションが同一の内容に基づく符号を有するが内容が異なる場合には、前記一つのパーティションには第1のグループIDを関連付け前記他方のパーティションには前記第1のグループIDとは異なる第2のグループIDを関連付けるようにし、前記一方のパーティションと前記他方のパーティションが前記同一の内容に基づく符号を有し同一の内容を有する場合には、前記一方のパーティションと前記他方のパーティションの両方に同一のグループIDを関連付けられるようにすることを特徴とする請求項30に記載のシステム。
  32. 前記内容に基づく符号がハッシュ符号であり、前記ハッシュ符号はパーティションの内容にハッシュ関数を適用することで生成されることを特徴とする請求項31に記載のシステム。
  33. データ処理システムであって、
    ファイルを含む各パーティションに対してパーティションIDを作成する第1の手段を含み、パーティションは前記ファイルからのデータを含み、前記第1の手段は第1のファイルの第1のパーティションに第1のパーティションIDを作成することと、
    第1のパーティションIDに基づいて前記ストレージ・システム内の1つ又はそれ以上の同一パーティションを識別するための第2の手段と、
    同一パーティションが存在しないと言う判定を前記第2の手段が行なったことに応答して前記第1のパーティションの複製を作成する第3の手段とをさらに含み、
    前記第1の手段と、前記第2の手段と、前記第3の手段は前記第1のファイルを含む全てのパーティションについて動作することを特徴とするデータ処理システム。
  34. パーティションIDはハッシュ符号とグループIDとを含み、前記第1の手段はパーティションを含むデータに基づいてハッシュ符号を作成するためのハッシュ手段と、グループIDを決定するためのグループID手段とを含むことを特徴とする請求項33に記載のシステム。
  35. ストレージ・システムにアクセスするための方法であって、
    データ・オブジェクトの第1の読み出しパーティションにアクセスし、前記第1の読み出しパーティションは前記データ・オブジェクトを含む内容の少なくとも一部を含むステップと、
    前記第1の読み出しパーティションにある内容が改竄されている場合には、
    前記ストレージ・システムにアクセスして1つ又はそれ以上の候補パーティションの中から置き換えパーティションを検索し、候補パーティションが改竄されているか否かの判定を含み、前記置き換えパーティションは改竄されていない候補パーティションであるステップと、
    前記第1の読み出しパーティションを構成する前記データ・オブジェクトの内容を前記置き換えパーティションの内容で置き換えるステップと
    前記データ・オブジェクトの第2の読み出しパーティションで上記を反復するステップと、を含むことを特徴とする方法。
  36. 各パーティションにはパーティションIDが関連付けられ、2つのパーティションが同一内容を含む場合には前記2つのパーティションは同一のパーティションIDを有するようにし、前記読み出しパーティションには第1のパーティションIDを関連付け、前記1つ又はそれ以上の候補パーティションの各々には前記第1のパーティションIDを関連付けることを特徴とする請求項35に記載の方法。
  37. 前記パーティションIDはハッシュ符号とグループIDとを含み、前記ハッシュ符号はパーティションの内容に基づいたものであり、前記2つのパーティションが同一のハッシュ符号を有しているが各々の内容が互いに異なっている場合には、前記2つのパーティションは各々が異なるグループIDを有するようにしてあり、前記2つのパーティションが同一内容を含む場合には前記2つのパーティションは同一のグループIDを有するようにしてあることを特徴とする請求項36に記載の方法。
  38. 前記第1の読み出しパーティションについて置き換えパーティションが見つからない場合にはエラー条件を表示することを特徴とする請求項35に記載の方法。
  39. データ・アクセス要求を受信し、前記データ・アクセス要求は前記データ・オブジェクトを表わす情報を含むことを特徴とする請求項35に記載の方法。
  40. 前記データ・オブジェクトがファイルであることを特徴とする請求項35に記載の方法。
  41. ストレージ・システム内のデータにアクセスする方法であって、
    第1のデータ・オブジェクトを識別するステップと、
    前記ストレージ・システムから前記第1のデータ・オブジェクトの第1のパーティションを取得するステップと、
    前記第1のデータ・オブジェクトを含むデータを用いた計算を実行して第1の計算値を作成するステップと、
    前記第1のパーティションに関連するパーティション識別情報を取得し、前記パーティション識別情報は第1のあらかじめ計算してある値を含むステップと、
    前記第1の計算値が前記第1のあらかじめ計算してある値と一致しない場合には、
    前記ストレージ・システムから第1の候補パーティションを取得するステップと、
    前記第1の候補パーティションを含むデータを用いた計算を実行して第2の計算値を作成するステップと、
    前記第1の候補パーティションに関連したパーティション識別情報を取得し、前記パーティション識別情報は第2のあらかじめ計算してある値を含むステップと、
    前記第2の計算値が前記第2のあらかじめ計算してある値と一致しない場合には第2の候補パーティションで反復実行するステップと、
    前記第2の計算値が前記第2のあらかじめ計算してある値と一致した場合には、前記第1のデータ・オブジェクトの前記第1のパーティションを含むデータを前記第1の候補パーティションを含むデータで置き換えるステップと、を含むことを特徴とする方法。
  42. 第1のデータ・オブジェクトを識別するステップは前記第1のデータ・オブジェクトについて読み出し要求を受信するステップであることを特徴とする請求項41に記載の方法。
  43. 前記第1の計算値が前記第1のあらかじめ計算してある値と一致した場合には前記第1のデータ・オブジェクトの第2のパーティションで反復実行するようにしてあることを特徴とする請求項41に記載の方法。
  44. 前記第1のデータ・オブジェクトがファイルであることを特徴とする請求項41に記載の方法。
  45. 前記方法を含むステップが第2のデータ・オブジェクトについて反復実行されることを特徴とする請求項41に記載の方法。
  46. データ・ストレージ・システムであって、
    ストレージ・サブシステムと、
    前記ストレージ・サブシステムとデータ通信することで前記ストレージ・サブシステムへデータを格納し前記ストレージ・サブシステム上に格納されたデータへアクセスするデータ処理サブシステムとを含み、
    前記データ処理サブシステムは以下のように構成され、
    前記ストレージ・サブシステムに格納された第1のファイルにアクセスし、前記第1のファイルはデータを含み、前記データは1つ又はそれ以上のアクセスされるパーティションに論理的にグループ化され、
    各々のアクセスされるパーティションについて前記アクセスされるパーティションが改竄されているか判定し、これを改竄パーティションと称し、
    それぞれの改竄パーティションについて、前記ストレージ・システム上に置き換えパーティションが存在するかどうか判定し、前記置き換えパーティションは前記アクセスされるパーティションが改竄されていなかった時点での前記アクセスされるパーティションと同一であることと、
    前記第1のファイルを変更してこれの改竄パーティションの各々を、もし存在するようなら、置き換えパーティションで置き換えるようにする、ことを特徴とするシステム。
  47. 前記データ処理サブシステムはさらに、一人又はそれ以上のユーザと通信して前記ストレージ・サブシステム上に格納されたデータに対するアクセス要求を受信するように構成され、このようなアクセス要求の一つが前記第1のファイルについての要求であることを特徴とする請求項46に記載のシステム。
  48. パーティション識別情報をさらに含み、前記ストレージ・サブシステム上の各パーティションはこれに対応するパーティション識別情報が関連付けられ、前記パーティション識別情報はパーティションIDを含み、前記パーティションIDはあるパーティションの内容をユニークに識別し、同一であるパーティションは同一の前記パーティションIDを有するようにしてあり、
    前記データ処理サブシステムはさらに、アクセスされたパーティションが改竄されているかどうかをアクセスした内容とパーティションIDとに基づいて判定するように構成されることを特徴とする請求項46に記載のシステム。
  49. 前記ストレージ・サブシステム上の各パーティションにはハッシュ符号コンポーネントとグループIDコンポーネントとを含むパーティションIDが関連付けてあり、前記同一のハッシュ符号値を有するパーティションはこれらが同一の内容を有する場合には前記同一のグループIDを有し、
    前記データ処理サブシステムはさらに
    アクセスされるパーティションについて第1のハッシュ値を計算し、
    前記アクセスされるパーティションに関連付けられた前記パーティションIDの前記ハッシュ符号コンポーネントと前記第1のハッシュ値とを比較して前記アクセスされるパーティションが改竄されているかを判定するように構成してあることを特徴とする請求項46に記載のシステム。
  50. データ処理システムであって、
    ストレージ・サブシステム上に格納されたファイルを含むパーティションにアクセスするための第1の手段であって、パーティションは前記ファイルからのデータを含み、パーティションは前記パーティションの内容をユニークに識別するパーティションIDをこれに関連付けてあり、同一内容を含むパーティションは前記同一のパーティションIDを有するようにする第1の手段と、
    パーティションが改竄されているか判定するための第2の手段と、
    前記ストレージ・サブシステム上に格納された複数のパーティションの中から、改竄パーティションを置き換えるため、前記改竄パーティションに関連付けられたパーティションIDと前記複数のパーティションのパーティションIDとに基づいて、置き換えパーティションを識別するための第3の手段であって、前記改竄パーティションは目標ファイルの構成パーティションである第3の手段と、
    前記目標ファイルを変更して前記改竄パーティションを含む内容を置き換えパーティションからの内容で置き換えるための第4の手段と、
    を含むことを特徴とするシステム。
JP2004283018A 2004-03-15 2004-09-29 長期データ保護システム及び方法 Expired - Fee Related JP4473694B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/801,898 US7100008B2 (en) 2004-03-15 2004-03-15 Long term data protection system and method

Publications (3)

Publication Number Publication Date
JP2005267600A true JP2005267600A (ja) 2005-09-29
JP2005267600A5 JP2005267600A5 (ja) 2007-05-17
JP4473694B2 JP4473694B2 (ja) 2010-06-02

Family

ID=34920869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004283018A Expired - Fee Related JP4473694B2 (ja) 2004-03-15 2004-09-29 長期データ保護システム及び方法

Country Status (2)

Country Link
US (2) US7100008B2 (ja)
JP (1) JP4473694B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007234026A (ja) * 2006-03-01 2007-09-13 Quantum Corp ユニークブロックプールマネージャを含むデータ記憶システムおよび階層記憶装置における応用
JP2009512077A (ja) * 2005-10-12 2009-03-19 データキャッスル・コーポレーション データ・バックアップのための方法およびシステム
JP4592115B1 (ja) * 2009-05-29 2010-12-01 誠 後藤 ファイル格納システム、サーバ装置及びプログラム
JP2011022721A (ja) * 2009-07-14 2011-02-03 Fujitsu Ltd アーカイブ装置、データ格納プログラムおよびデータ格納方法
JP2011028331A (ja) * 2009-07-21 2011-02-10 Fujitsu Ltd データ格納プログラム、データ格納方法およびデータ格納システム
JP2016021110A (ja) * 2014-07-14 2016-02-04 日本電気株式会社 オブジェクトストレージシステムおよびその制御方法およびその制御プログラム
JP2017207979A (ja) * 2016-05-19 2017-11-24 株式会社野村総合研究所 改ざん検知システム、及び改ざん検知方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215474A1 (en) * 2000-01-19 2008-09-04 Innovation International Americas, Inc. Systems and methods for management of intangible assets
US7263521B2 (en) * 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
US7895224B2 (en) * 2002-12-10 2011-02-22 Caringo, Inc. Navigation of the content space of a document set
JP4991283B2 (ja) * 2003-02-21 2012-08-01 カリンゴ・インコーポレーテッド コンテンツベースのアドレシングにおける追加ハッシュ関数
EP2141629B1 (en) * 2003-09-26 2017-06-21 Nippon Telegraph and Telephone Corporation Tag privacy protection method, tag device, program therefor and record medium carrying such program in storage
KR100608604B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
FR2879312B1 (fr) * 2004-12-10 2007-08-17 Eastman Kodak Co Procede d'ecriture et de restauration de donnees de conservation
EP1868293A1 (en) * 2005-04-05 2007-12-19 Matsushita Electric Industrial Co., Ltd. Computer system, data structure showing configuration information, and mapping device and method
US7770015B1 (en) * 2005-05-20 2010-08-03 Adobe Systems Incorporated Signatures for multiple encodings
DE102006014327A1 (de) * 2006-03-23 2007-09-27 Siemens Ag Verfahren zum Überwachen der Datenintegrität
US8548948B2 (en) * 2006-04-11 2013-10-01 Oracle International Corporation Methods and apparatus for a fine grained file data storage system
JP2007323218A (ja) * 2006-05-31 2007-12-13 Hitachi Ltd バックアップシステム
BRPI0713385A8 (pt) * 2006-06-22 2015-10-06 Koninklijke Philips Electronics Nv Método de armazenamento de dados, de coleta de dados e de telemonitorização, e, sistema de telemonitoração
US8489702B2 (en) * 2007-06-22 2013-07-16 Apple Inc. Determining playability of media files with minimal downloading
US9081902B2 (en) * 2008-06-20 2015-07-14 Microsoft Technology Licensing, Llc. Generalized architecture to support representation of multi-transport devices
US8117343B2 (en) * 2008-10-28 2012-02-14 Hewlett-Packard Development Company, L.P. Landmark chunking of landmarkless regions
US9077784B2 (en) * 2009-02-06 2015-07-07 Empire Technology Development Llc Media file synchronization
US8001273B2 (en) * 2009-03-16 2011-08-16 Hewlett-Packard Development Company, L.P. Parallel processing of input data to locate landmarks for chunks
EP2302536A1 (en) * 2009-09-21 2011-03-30 Thomson Licensing System and method for automatically verifying storage of redundant contents into communication equipments, by data comparison
US8380675B1 (en) 2010-04-22 2013-02-19 Symantec Corporation Mailbox archiving using adaptive patterns
CN102833294B (zh) * 2011-06-17 2015-05-20 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
US9128862B2 (en) 2012-02-23 2015-09-08 International Business Machines Corporation Efficient checksums for shared nothing clustered filesystems
US9645897B2 (en) * 2015-03-11 2017-05-09 International Business Machines Corporation Using duplicated data to enhance data security in RAID environments
US10482076B2 (en) * 2015-08-14 2019-11-19 Sap Se Single level, multi-dimension, hash-based table partitioning
US10140313B2 (en) * 2015-09-27 2018-11-27 International Business Machines Corporation Parallel processing of large data files on distributed file systems with dynamic workload balancing
CN107220002B (zh) * 2017-05-26 2020-08-21 苏州浪潮智能科技有限公司 一种支持内存快照重复数据删除的存储方法和装置
US11579978B2 (en) * 2018-02-14 2023-02-14 Rubrik, Inc. Fileset partitioning for data storage and management
US11620191B2 (en) * 2018-10-01 2023-04-04 Rubrik, Inc. Fileset passthrough using data management and storage node
US11487628B1 (en) * 2019-05-13 2022-11-01 R-Stor Inc. System and method for rapidly transferring and recovering large data sets

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271018A (en) * 1990-04-27 1993-12-14 Next, Inc. Method and apparatus for media defect management and media addressing
US5440727A (en) 1991-12-18 1995-08-08 International Business Machines Corporation Asynchronous replica management in shared nothing architectures
US5930831A (en) * 1995-02-23 1999-07-27 Powerquest Corporation Partition manipulation architecture supporting multiple file systems
US5815649A (en) 1995-10-20 1998-09-29 Stratus Computer, Inc. Distributed fault tolerant digital data storage subsystem for fault tolerant computer system
US5778395A (en) 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US6405315B1 (en) 1997-09-11 2002-06-11 International Business Machines Corporation Decentralized remotely encrypted file system
US5991414A (en) 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
ATE223595T1 (de) 1998-01-23 2002-09-15 Emc Corp Einkapselung, datendarstellung und übertragung von inhaltsaddressierbaren daten
US6367029B1 (en) 1998-11-03 2002-04-02 Sun Microsystems, Inc. File server system tolerant to software and hardware failures
US6574657B1 (en) 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
US6654771B1 (en) 1999-07-19 2003-11-25 Microsoft Corporation Method and system for network data replication
US6591376B1 (en) * 2000-03-02 2003-07-08 Hewlett-Packard Development Company, L.P. Method and system for failsafe recovery and upgrade of an embedded operating system
AU2001265075A1 (en) 2000-05-26 2001-12-11 Infolibria, Inc. High performance efficient subsystem for data object storage
US7043637B2 (en) 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009512077A (ja) * 2005-10-12 2009-03-19 データキャッスル・コーポレーション データ・バックアップのための方法およびシステム
JP2007234026A (ja) * 2006-03-01 2007-09-13 Quantum Corp ユニークブロックプールマネージャを含むデータ記憶システムおよび階層記憶装置における応用
JP4592115B1 (ja) * 2009-05-29 2010-12-01 誠 後藤 ファイル格納システム、サーバ装置及びプログラム
JP2010277374A (ja) * 2009-05-29 2010-12-09 Makoto Goto ファイル格納システム、サーバ装置及びプログラム
JP2011022721A (ja) * 2009-07-14 2011-02-03 Fujitsu Ltd アーカイブ装置、データ格納プログラムおよびデータ格納方法
US8423556B2 (en) 2009-07-14 2013-04-16 Fujitsu Limited Archive device
JP2011028331A (ja) * 2009-07-21 2011-02-10 Fujitsu Ltd データ格納プログラム、データ格納方法およびデータ格納システム
JP2016021110A (ja) * 2014-07-14 2016-02-04 日本電気株式会社 オブジェクトストレージシステムおよびその制御方法およびその制御プログラム
JP2017207979A (ja) * 2016-05-19 2017-11-24 株式会社野村総合研究所 改ざん検知システム、及び改ざん検知方法

Also Published As

Publication number Publication date
US20070011501A1 (en) 2007-01-11
US7100008B2 (en) 2006-08-29
US7177995B2 (en) 2007-02-13
US20050203973A1 (en) 2005-09-15
JP4473694B2 (ja) 2010-06-02

Similar Documents

Publication Publication Date Title
JP4473694B2 (ja) 長期データ保護システム及び方法
US8712963B1 (en) Method and apparatus for content-aware resizing of data chunks for replication
US7457934B2 (en) Method and apparatus for reducing the amount of data in a storage system
US8639669B1 (en) Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
US8843454B2 (en) Elimination of duplicate objects in storage clusters
US8165221B2 (en) System and method for sampling based elimination of duplicate data
US9043287B2 (en) Deduplication in an extent-based architecture
US8832044B1 (en) Techniques for managing data compression in a data protection system
US8825626B1 (en) Method and system for detecting unwanted content of files
US8433863B1 (en) Hybrid method for incremental backup of structured and unstructured files
US8667032B1 (en) Efficient content meta-data collection and trace generation from deduplicated storage
US9740422B1 (en) Version-based deduplication of incremental forever type backup
US20110258164A1 (en) Detecting Inadvertent or Malicious Data Corruption in Storage Subsystems and Recovering Data
US9043280B1 (en) System and method to repair file system metadata
US11093387B1 (en) Garbage collection based on transmission object models
US8756249B1 (en) Method and apparatus for efficiently searching data in a storage system
US10628298B1 (en) Resumable garbage collection
US9398016B1 (en) Cache-free and lock-free handling of security information for multiple distributed objects in protection storage systems
US11360699B1 (en) Method and system for improved write performance in erasure-coded storage systems
US10331362B1 (en) Adaptive replication for segmentation anchoring type
US20240022597A1 (en) Systems and methods for detecting malware attacks
US9645897B2 (en) Using duplicated data to enhance data security in RAID environments
US11436193B2 (en) System and method for managing data using an enumerator
US9128823B1 (en) Synthetic data generation for backups of block-based storage
US9734195B1 (en) Automated data flow tracking

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070320

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100201

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100225

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100226

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees