JP2003524243A - 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法 - Google Patents
共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法Info
- Publication number
- JP2003524243A JP2003524243A JP2001560878A JP2001560878A JP2003524243A JP 2003524243 A JP2003524243 A JP 2003524243A JP 2001560878 A JP2001560878 A JP 2001560878A JP 2001560878 A JP2001560878 A JP 2001560878A JP 2003524243 A JP2003524243 A JP 2003524243A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- list
- digital
- digital sequence
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
作権所有者は、米国登録商標特許庁の特許ファイルまたはレコードに記載されて
いるような特許の開示の特許文献が誰によってファクシミリ再生されても異論は
ないが、それ以外においては、いかなるものに対しても全ての著作権の権利を確
保する。以下の通知はソフトウェア、データおよび該当する場合には図面を含む
以下の説明に適用される。Copyright(著作権あり)2000, Undoo Technologies
ステムの分野に関する。より詳細には、本発明は、分散形コンピュータデータ環
境およびそれに対する特定のアプリケーションにおいて電子ファイル間の対応を
判断するシステムおよび方法に関する。
いる。トランザクションおよび豊かさは、データによって表される。政治的なパ
ワーは、データに基づいて分析され修正される。人間の相互作用および関係は、
データ交換によって定義される。したがって、データの効率的な配布、記憶およ
び管理が、人間社会においてますます不可欠な役割を演ずることが予想される。
欠なデータの量は、急激に増加している。コンピュータ処理力が増加するにつれ
て、オペレーティングシステムおよびアプリケーションソフトウェアはより大き
くなっていく。さらに、マルチメディアファイルおよび大容量データベースとい
ったより大きなデータセットにアクセスしたいという要望は、管理されるデータ
量を増大させる。このますます大きくなるデータロードを、コンピューティング
装置間で移動させ、アクセス可能なやり方で格納することは不可欠である。デー
タの指数増加レートは通信帯域および記憶容量の改良を追い越すことが予想され
、従来の方法を用いたデータ管理をより切迫したものにしている。
ステムにおいてはしばしば譲歩される必要がある。データ量が極めて大きいこと
から、記憶されるビットあたりのコストを減らすことに対するプレッシャは絶え
ることがない。また、データ管理システムは、現在のニーズだけでなく将来のニ
ーズを予想してもスケーラブルである必要がある。
ることができるように、インクリメンタルにスケーラブルであることが望ましい
。データユーザーが、データの脱落、損傷および入手不可に対してますます許容
しなくなるのにつれて、高い信頼性および高い可用性も考慮される。
ければならず、そのため、どのアーキテクチャも費用効率の高さ、信頼性、高可
用性、スケーラブルな解決を提供できない。
ディスクといった多重記憶装置の異なる位置に同一データを(したがって冗長に
)格納する方法である。データを多重ディスクに入れることによって、入/出力
(「I/O」)操作はバランスの取れた状態でオーバーラップでき、性能を改善
する。多重ディスクの使用が平均故障間隔(「MTBF」)を増大させることから、
冗長なデータ格納もまた故障の許容範囲を増加させる。RAIDシステムは実際のデ
ータ管理の複雑さを隠すようハードウェアまたはソフトウェアコントローラに依
存しており、そのためRAIDシステムはオペレーティングシステムに一つの論理的
ハードディスクとして現れる。しかしながら、RAIDシステムは、ケーブル接続お
よびコントローラの物理的な限界のために基準化するのが難しい。また、RAIDシ
ステムの可用性はコントローラ自体の機能性にかなり左右されており、そのため
、コントローラが故障すると、コントローラの背後に格納されるデータが利用で
きなくなる。さらに、RAIDシステムは一般的なハードウェアよりむしろ専門的な
ハードウェアを必要とし、したがって高価な解決策である傾向がある。
るのではなく、それ自身のネットワークアドレスによって設定されるハードディ
スクストレージを指す。ファイルリクエストは、NASファイルサーバにマップさ
れる。NASは、RAIDに基づいたハードウェアかソフトウェアを用いたトランスペ
アレントな入出力動作を提供してよい。NASはまた、故障の許容範囲をさらに改
善するために、一つ以上の他のNASデバイスに対してデータのミラーリングを自
動化してもよい。NASデバイスをネットワークに加えることができるので、それ
らのデバイスはネットワークが利用できる記憶領域の全容量の基準化を可能にす
る。しかしながら、NASデバイスは、RAIDアプリケーションにおいて従来のRAID
コントローラの能力に制約される。また、NASシステムはミラーリングおよびノ
ードにわたるパリティーを不可能にし、よって限定された解決策である。
(「WAN」)およびインターネットワーキング技術の改良によって、急速に発展
している。インターネットは、例えば、ほとんどいたる所にあるアクセスによっ
てグローバルにネットワーク化された環境を作りあげた。迅速なネットワークイ
ンフラの改善にもかかわらず、トランスポートを必要とするデータ量の増加割合
は、有効帯域の改良を追い越すであろうと予想される。
および移動のために発展したインフラと一致していない。たとえば、コンピュー
タは特徴として容易にプログラムされ、仮想的に無制限な様々な機能を実行する
汎用機である。しかしながら、コンピュータには、大きな割合で、マシンの特殊
目的にあわせるために汎用的性質を限定されている、固定され且つゆっくり変更
されるデータセットがロードされている。演算速度、周辺装置性能およびデータ
記憶容量の進歩は、商品のコンピュータで最も劇的である。しかしながら、多く
のデータストレージの解決策は、基本となる記憶領域コントローラによって広げ
られるのではなく、むしろ制限されるのでこれらの進歩を利用することができな
い。同様に、インターネットはフォールト・トレラントの複数パス相互接続ネッ
トワークとして発展してきた。しかしながら、ネットワークリソースは、ノード
が接続しているネットワークのフォールト・トレラントにもかかわらずノード障
害がリソースを利用不可にするといった特定のネットワークノードで従来実現さ
れる。ニーズは、高可用性、高信頼性、非常にスケーラブルなデータストレージ
の解決に対して継続して存在している。
たは文字列に基づいて編成されたコンピュータファイルシステムのシステムおよ
び方法が本願に開示されており、システムからデータブロック(またはデータブ
ロックの一部)の冗長コピーを除去するかまたはスクリーニングすることが可能
である。また、業界標準メッセージダイジェスト4(「MD4」)、MD5、安全なハ
ッシュアルゴリズム(「SHA」)またはSHA-1アルゴリズムといったチェックサム
生成プログラム、エンジンまたはアルゴリズムによって生成されてよいコンピュ
ータファイルシステムのシステムおよび方法も本願に開示されている。さらに、
ハッシュが、チェックサムプログラム、エンジン、アルゴリズム、或いは非線形
の確率的な数値計算用アルゴリズムまたは他のデータ/数字シーケンスの入力テ
キストから疑似ランダム値を生成するあらゆる業界標準技術に基づく不定元サイ
ズのデータブロックの確率的に固有のハッシュ値を生成する他の手段によって生
成されてよい、コンピュータファイルシステムのシステムおよび方法も本願に開
示されている。
おいて、データの冗長を自動的に考慮から除外するのに利用されてよく、潜在的
に非常に多量の考慮されていない記憶領域のサイズをいくつかのオーダーで頻繁
に減らすことを可能にする。この事については、本発明のシステムおよび方法は
、特定のハードウェアまたはソフトウェアの特徴に関係なく、全てのコンピュー
タが、単純、効率的かつ安全にデータを共有し、データの読み込み、書き込み、
または参照を達成するユニークで有利な手段を提供するのを可能にする。本発明
のシステムおよび方法は、ネットワーク化されたコンピュータまたはコンピュー
タシステムに関して特に効果的であるが、相当する結果を有する絶縁データスト
レージに適用されてもよい。
ませている多くの問題を有利に解決する。例えば、本発明のシステムおよび方法
は、複製およびわずかに異なるコピーによって必然的に発生する無駄なシステム
リソースすべてと共に莫大なディレクトリおよびファイルの集合を管理する必要
性を除外する。複製ファイルのメンテナンスおよびストレージは、従来の会社お
よび個人のコンピュータシステムを悩ませ、一般に、人にとって骨の折れる「デ
ィスクスペースのクリーンアップ」への関与を必要とする。本発明のハッシュフ
ァイルシステムは、コピーに使われるディスクスペースを除去し、部分コピーに
使われるディスクスペースをほとんど完全に除去することによって、効果的にこ
の問題を取り除く。たとえば、従来のコンピュータシステムでは、ギガバイトの
ディレクトリ構造の新しいロケーションへのコピーには、更なるギガバイトのス
トレージが要求される。特定のアプリケーションにおいて、本発明のハッシュフ
ァイルシステムは、このオペレーションで使われるディスクスペースを最高10万
倍以上減らす。
どれも、短い時間でこのオペレーションを達成する(専門用語では、システムが
基準化されている場合であっても、 O(l)(「一定時間のオーダーの」)時間で
システムがコピーをファクタリングすることを意味する)ことができない。これ
は、O(N**2)、O(N)またはO(log(N))時間を必要とする他のシステムとは対照的に
一定の時間の単位を意味しており、この時間はファクタリングされるストレージ
の量と関連がある。変化する時間においてストレージをファクタリングすること
は、ストレージの量が少ない場合には、かろうじてシステムにとって満足のいく
ようなものであるが、システムが大きなサイズに増大するにつれて、最も効率的
な可変ファクタリングシステムでさえ維持しきれなくなる。本発明のハッシュフ
ァイルシステムは、ストレージを今までに決して試みられなかったスケールでフ
ァクタリングするように設計されていて、第1のインプリメンテーションにおい
て、かなり大きなサイズに拡大する能力を用いて、200万ペタビットのストレー
ジをファクタリングすることができる。既存のファイルシステムは、このような
スケールでデータを管理することはできない。
ータシステムデータ保護およびバックアップを提供するのに利用されてよい。コ
ンピュータファイルシステムは各バックアップ処理の間に全ストレージの2,3
パーセント以上を変更することがほとんどないので、そのファクタリング機能は
非常に効率的に典型的なバックアップデータセット上で作用する。さらに、本発
明のハッシュファイルシステムは、効率的なメッセージ通信(電子メール)シス
テムに基準として使用できる。電子メールシステムは、基本的には、著作者がメ
ッセージを書き、それを受け側のリストに送信するデータコピーメカニズムであ
る。電子メールシステムは、データを1つの位置から別の位置にコピーすること
によって、この「送信」オペレーションを効果的に実現する。著作者は一般に本
人が送信するメッセージのコピーを保持し、受け側は彼ら自身のコピーをそれぞ
れ保持する。これらのコピーは、これもまた保持される応答にしばしば添付され
る(すなわちコピーのコピー)。本発明の共通性ファクタリングの特徴はこの総
非効率性を取り除くことができ、その一方で、電子メールユーザーがこのよく知
られているコピー指向パラダイムを維持するのを明らかに可能にする。
ので、本発明のハッシュファイルシステムはシステム全体の完全なスナップショ
ットの再生を可能にし、例えばスナップショットが存在するあらゆる時間あらゆ
る日の間保持することができ、または、システムニーズによるが分単位(または
それ以下)のインターバルでとられたスナップショットによって連続的に保持す
ることもできる。さらに、従来のコンピュータシステムはファイル(すなわちデ
ジタルエキップメントコーポレーションのVAX(登録商標) VMS(登録商標)フ
ァイルシステム)の限定されたバージョニングをしばしば提供することから、本
発明のハッシュファイルシステムはまたこの事に関して重要な利点を提供する。
従来のシステムでのバージョニングは、良い面および悪い面の両方を提示してい
る。前者においては、それはアクシデントを防ぐ手助けをしているが、後者にお
いては、それは消費するディスクスペースを減らすために正規のパージを要求す
る。本発明のハッシュファイルシステムは、特別なスペースをほとんど用いずに
同一のコピーまたは編集コピーをファクタリングすることによって、オーバーヘ
ッドがほとんどない状態でファイルのバージョニングを提供する。たとえば、典
型的なドキュメントの100リビジョンを保存することは、通常、オリジナルファ
イルのスペースの約100倍のスペースを必要とする。本願で開示されているハッ
シュファイルシステムを用いることによって、それらのリビジョンは、オリジナ
ルのスペースの3倍のみのスペースを必要とするであろう(ドキュメントのサイ
ズ、編集の程度およびタイプ、および外的要素に依存する)。
ウェブサービングを含む。この事に関しては、共通性ファクタリング(ハッシュ
)方法はまた全てのハッシュファイルシステムサーバ上に均一分散を生じること
から、ハッシュファイルシステムは、効率的にウェブコンテンツを分散するのに
使用できる。この均一な分散は、大きなアレーのサーバが、均一に分散されたロ
ードを有する巨大なウェブサーバファームとして機能するのを可能にする。他の
アプリケーションでは、本発明のハッシュファイルシステムは、データ自体の代
わりにデータのプロキシ(ハッシュ)を送信することによってネットワークトラ
フィックを減らすのに使用できることから、ネットワークアクセラレータとして
使用できる。現在のネットワークトラフィックの大きな割合は、ロケーション間
で動いている重複データである。データのプロキシ送信は、効果的なローカルキ
ャッシュメカニズムが機能するのを可能にし、おそらくはインターネット上のト
ラフィックをいくつかのオーダーで減らすのを可能にする。
は、一般的なポインタとして160ビットのハッシュサムを用いて実現されてよい
。これは、中央権限から割り当てられるポインタを用いる従来のファイルシステ
ムとは異なっている(すなわち、Unixでは、32ビットの「iノード」がロックス
テップオペレーションでのカーネルのファイルシステムによって割り当てられ、
固有性を確保する)。本発明のハッシュファイルシステムでは、これらの160ビ
ットのハッシュサムは、ハッシュアルゴリズムによって中央権限なしで(すなわ
ちロッキングなし、 同期なしで)割り当てられる。
成する。ハッシュ関数SHA-1の場合、その範囲は 0〜10e48である。このハッシュ
演算は、格納されるデータのコンテンツだけを調べることによって行なわれ、し
たがって、完全なアイソレーション、非同期、およびインタロックなしで実行で
きる。
ションであり、それらのコンポーネントの全域にわたって信頼されるオペレーシ
ョンの必要性を取り除く。したがって、本願で開示された本発明のハッシュファ
イルシステムおよび方法は、従来の大規模な分散ファイルシステム(すなわち信
頼される包含中央権限)の重要なボトルネックを取り除くよう機能する。それは
同時読取り書込みオペレーションに対して無制限である大規模な分散ファイルシ
ステムの構造を可能にし、非コヒーレンスの危険および特定の従来のボトルネッ
クの制限なしで機能できる。
より明らかになり、本発明は添付の図と以下の好適な実施例の説明を参照するこ
とによって最も理解されるであろう。
特定のインプリメンテーションにおいて、そのアプリケーションは、商品のコン
ピューティング装置およびインターネットといったインターネットワーク技術の
強力な性質の急速な進歩に影響を及ぼす高可用性かつ高信頼性のデータ記憶シス
テムを目的とする。本願に特に開示されているのは、一つ以上のデータブロック
(ファイル、ディレクトリ、ドライブ画像、ソフトウェアアプリケーション、デ
ジタル音声およびリッチ媒体コンテンツを含むがこれに限定されるものではない
)と、そのデータブロックに対する一つ以上の記号の対応を管理するハッシュフ
ァイルシステムであって、記号は、数、ハッシュ、チェックサム、2進シーケン
ス、又はデータブロック自体から導き出され、統計学的に、確率的に、さもなけ
れば効果的にそのデータブロックに特有である他の識別子であってよい。システ
ムは、限定されることなく、以下を含むあらゆるコンピュータシステムに機能す
る:パーソナルコンピュータ;スーパーコンピュータ;分散型または非分散型ネ
ットワーク;IDE、SCSIまたは他のディスクバスを用いた記憶領域ネットワーク
(「SAN」);ネットワーク接続ストレージ(「NAS」)またはデータを格納して
および/または処理することができる他のシステム。
において、記号は、エンジン、プログラム、又はMD4、MD5、SHA、SHA-1またはそ
れらの導出物を含むが、それに限定されないアルゴリズムを生成する一つ以上の
ハッシュまたはチェックサムを用いて導き出されてよい。さらに、記号は、エン
ジン、プログラム、又はMD4、MD5、SHA、SHA-1を含むが、それに限定されないア
ルゴリズムを生成するハッシュまたはチェックサム、或いはデータコンテンツに
基づいた確率的に固有の識別子を生成する他の方法、を用いて導き出された可変
長または不変長の記号の一部を備えてよい。本願で開示される特定のインプリメ
ンテーションにおいて、ファイルシーク或いはデータを検索するか又はデータの
存在/可用性をチェックするルックアップは、記号の全部分または記号の少量の
部分を見ることによって加速可能であり、記号の一部は、データの存在/可用性
を見つけるか、検索するか、或いはチェックするためのルーティング情報を示し
ているか、そうでなければ提供している。
おり、記号は、システム内での冗長コピーの識別を可能にし、および/またはフ
ァイリングおよびストレージシステムに提示されるデータのために冗長なシステ
ム内でのコピーの識別を可能にする。記号は、データの完全性の損失なしで、シ
ステム内のデータおよび/またはデータの一部の冗長コピー或いはシステムに提
示されるデータおよび/またはデータの一部の冗長コピーの除去またはスクリー
ニングを可能にし、システムの有効ストレージ上にデータが均等に分散されるよ
う備えることができる。本願に開示されているように本発明のシステムおよび方
法は、中心操作点、処理バランス、および/または全てのコンピュータ、スーパ
ーコンピュータ、またはシステムに接続されたデータを格納および/または処理
することができる他のデバイスにわたっている入出力(「I/O」)ロードを必
要としない。本願で提供されるデータおよび/またはデータの一部の冗長コピー
のスクリーニングは、システム内の他のデータ、システムに提示されるその後の
データまたはシステムによって格納されるその後のデータをスクリーニングする
インテリジェント境界の作成、反復作成または保存を可能にする。
ティングシステムのような分散コンピューティング環境に関して、図示され説明
される。しかしながら、本発明の重要な特徴は、特定のアプリケーションのニー
ズに合うよう上方および下方に容易に基準化されるということである。したがっ
て、相反するものに対して指示がない限り、本発明は従来のLANシステムのよう
な小さなネットワーク環境と同様に相当に大きくかつ複雑なネットワーク環境に
も適用できる。
に利用できる。この図において、典型的なインターネットワーク環境10は、多重
広域ネットワーク(「WAN」)14とローカルエリアネットワーク(「LAN」)16間
の論理および物理接続によって形成されるグロ―バルインターネットワークを備
えるインターネットを含んでよい。インターネットバックボーン12は、データト
ラフィックのバルクを運ぶメインラインおよびルーターを表す。バックボーン12
は、例えばGTE、MCI、Sprint、UUNetおよびAmerica Onlineといった主要なイン
ターネットサービスプロバイダ(「ISP」)によって管理されるシステムの最大
ネットワークによって形成される。単独接続ラインはインターネットバックボー
ン12へのWAN 14およびLAN 16の接続を好都合に図示するのに用いられているが、
現実には、複数パスでルート可能な物理接続が多重WAN 14とLAN 16間に存在する
ことは理解されるべきである。これは、単一または多重故障ポイントに直面した
際にインターネットワーク10を強力にする。
クコネクションを区別することは重要である。「ネットワーク」は汎用のシステ
ムを備え、通常、ノード18で作動するプロセス間の論理接続を可能にする物理接
続を切り替える。ネットワークによって実現される物理接続は、一般的に、ネッ
トワークを使っているプロセス間で確立される論理接続から独立している。この
ように、ファイル転送、メール転送などに及ぶ異種のプロセスセットが、同じ物
理的なネットワークを使うことができる。逆に言えば、ネットワークは、ネット
ワークを用いて論理的に接続されているプロセスには見えない異質の物理的なネ
ットワーク技術のセットから形成可能である。ネットワークによって実現される
プロセス間の論理接続が物理接続から独立しているので、インターネットワーク
は長距離にわたる仮想的に無制限のノード数に容易に基準化される。
ンテリジェントドライブエレクトロニクス(「IDE」)バス、小型コンピュータ
ーシステムインターフェース(「SCSI」)バスなどといった内部データ経路は、
コンピュータシステム内で特殊目的接続を実現する物理接続を画成する。これら
の接続は、プロセス間の論理接続に対してフィジカルデバイス間の物理接続を実
現する。これらの物理接続は、コンポーネント、該接続に結合できる限定された
数のデバイス、および該接続を介して接続できる条件付きフォーマットのデバイ
ス間の限られた距離によって特徴づけられている。
よい。あらゆるノード18のストレージが、一つのハードディスクを備えてよく、
或いは一つの論理ボリュームとして構成される多重ハードディスクを有する従来
のRAIDデバイスのような管理された記憶システムを備えてもよい。重要なことと
して、本発明は、ノード内で行なうのとは対照的に、ノードの全域にわたって冗
長オペレーションを管理するので、任意のノード内のストレージの特定の構成は
あまり重要ではない。
でノード18にわたってデータストレージを管理するストレージ割付け管理(「SA
M」)プロセスを実現してもよい。SAMプロセスは、全体として、システムを集中
制御しないか或いはほとんどしないように機能するのが望ましい。SAMプロセス
は、ノード18全域にわたってデータ分布を提供し、RAID記憶サブシステムで見つ
けられるパラダイムと同様の方法で、ネットワークノード18全域にわたって故障
を許容するやり方でリカバリを実現する。
ではなくノードの全域にわたって機能するので、該プロセスは従来のRAIDシステ
ムよりも大きな故障許容とストレージ効率レベルを可能にする。たとえば、SAM
プロセスは、ネットワークノード18、LAN 16またはWAN 14が利用できなくなった
場合でさえも回復可能である。さらに、一部のインターネットバックボーン12が
故障または輻輳によって利用できなくなった場合でさえも、SAMプロセスはアク
セス可能なままであるノード18で分配されるデータを用いて回復可能である。こ
のように、本発明はインターネットワークの強力な性質に影響を及ぼし、先例の
ない可用性、信頼性、障害の許容範囲および堅固性を提供する。
環境のより詳細な概念図が表される。先行図のインターネットワーク10(または
この図でのインターネット118)は、スーパーコンピュータ即ちデータセンター1
04からハンドヘルド即ちペンベースのデバイス114の範囲に及ぶ、異質のコンピ
ューティング装置およびメカニズム102のセットの相互接続ネットワーク100を可
能にする。このようなデバイスは異なるデータストレージのニーズを有している
が、それらはネットワーク100を介してデータを検索する能力を共有しており、
それら自身のリソース内のデータに作用する。IBM互換機デバイス108、マッキン
トッシュデバイス110およびラップトップコンピューター112といったパーソナル
コンピュータまたはワークステーションクラスデバイスと同様にメインフレーム
コンピュータ(例えばVAXステーション106およびIBM AS/400ステーション116)
を含む異種のコンピューティング装置102は、インターネットワーク10およびネ
ットワーク100を介して容易に相互接続する。図示されてはいないが、移動式お
よび他のワイヤレスデバイスをインターネットワーク10に結合してもよい。
の幾つかはインターネット118を介して複数の内部ネットワーク122間に作られる
。概念的に、インターネットベースのネットワーク120はWAN 14(図1)と同種で
あり、それは地理的に遠いノード間での論理接続を可能にしている。インターネ
ットベースのネットワーク120は、インターネット118、または専用回線、Fibre
Channelなどを含む他の公共および私用のWAN技術を用いて実現されてもよい。
はWAN 14よりも限られた距離にわたっての論理接続を可能にしている。内部ネッ
トワーク122は、 Ethernet、Fiber Distributed Data Interface(「FDDI」)、
Token Ring、AppleTalk、Fibre Channel、などを含むさまざまなLAN技術を用い
て実現されてもよい。
の冗長配列を接続し、RAINノード18(図1)を実現する。各RAINエレメント124は
、プロセッサ、メモリおよび一つ以上の大容量記憶装置(例えばハードディスク
)を備える。RAINエレメント124はまた、従来のIDE またはSCSIコントローラで
あってよく、RAIDコントローラのような管理コントローラであってもよいハード
ディスクコントローラを含む。RAINエレメント124は、物理的に分散してよく、
冷却および電力といったリソースを共有している一つ以上のラックで同じ位置に
配置されてもよい。各ノード18(図1)は他のノード18から独立しており、1つの
ノード18の故障または不稼働が他のノード18の可用性に影響を及ぼさず、1つの
ノード18に格納されているデータは他のノード18に格納されているデータから復
元可能である。
バスを支持するマザーボードおよび従来のATまたはATXケースに収容される256メ
ガバイトのランダムアクセスメモリー(「RAM」)上に取り付けられるインテル
ベースのマイクロプロセッサーのような商品コンポーネントを用いたコンピュー
タを備えてもよい。SCSIまたはIDEコントローラは、マザーボード上でおよび/
またはPCIバスに接続された拡張カードによって実現されてよい。コントローラ
がマザーボード上のみで実現される場合、PCI拡張バスがオプションとして使わ
れてもよい。特定のインプリメンテーションにおいて、マザーボードは、各RAIN
エレメント124が最高4つ以上のEIDEハードディスクを含むよう、2つのマスタリ
ングEIDEチャネルおよび2つの付加マスタリングEIDEチャネルを実現するのに用
いられるPCI拡張カードを実現できる。特定のインプリメンテーションにおいて
、各ハードディスクは、RAINエレメントにつき320ギガバイト以上の総記憶容量
の80ギガバイトハードディスクを備えてよい。RAINエレメント124内のハードデ
ィスク容量および構成は、特定のアプリケーションのニーズを満たすよう容易に
増大または低減できる。外被もまた、電源および冷却デバイス(図示せず)とい
った支持メカニズムを収容する。
のインプリメンテーションにおいて、UNIX(登録商標)またはLinuxの
ようなUnixバリアントオペレーティングシステムが、使われてよい。しかし
ながら、 DOS、マイクロソフトウインドウズ、アップルマッキントッシュO
S、OS/2、マイクロソフトウインドウズNTなどを含む他のオペレーティン
グシステムを、パフォーマンスにおける予測可能な変更を行なうことで同等に置
換え可能であることが企図される。選択されたオペレーティングシステムは、ア
プリケーションソフトウェアおよびプロセスを実行するプラットホームを形成し
、ハードディスクコントローラを介して大容量記憶域にアクセスするファイルシ
ステムを実現する。様々なアプリケーションソフトウェアおよびプロセスが各R
AINエレメント124上で実現され、適切なネットワークプロトコル(例えば
ユーザーデータグラムプロトコル(「UDP」)、伝送制御プロトコル(TCP
)、インターネットプロトコル(IP)など)を用いたネットワークインターフ
ェースを介して、ネットワークの接続性を提供できる。
テムにコンピュータファイルをエントリするステップを表すために示されており
、ファイルのハッシュ値が、セットまたはデータベースに予め維持されるファイ
ルのハッシュ値と照合される。
を本発明のハッシュファイルシステム(「HF」)に入力することから始まり、ハ
ッシュ関数がステップ204で実行される。次いで、ファイルAのハッシュを表すデ
ータ206が判断ステップ208でハッシュファイル値を含むセットのコンテンツと比
較される。データ206が既にセットにある場合、ファイルのハッシュ値はステッ
プ210でディレクトリリストに加えられる。ハッシュ値を含み、データに対応し
ているセット212のコンテンツは、判断ステップ208の比較演算のために既存のハ
ッシュ値214の形で提供される。一方、ファイルAのハッシュ値がその時点でセッ
トに存在しない場合、ファイルは、ステップ216で(以下でより完全に説明され
るように)ハッシュピースに分割される。
えばファイルまたは他のデータシーケンス)をブレークアップしてハッシュピー
スにするプロセス300でのステップを表すために提供される。このプロセス300は
、多数のデータピースと同様にそれに対応している確率的に固有のハッシュ値を
各ピースに対して最終的に生成することになる。
プ304で共通していることが明らかになるピースの可能性に基づいたピースに分
割される。ファイルデータ302に関するステップ304のオペレーションの結果は、
代表的な例において、A1〜A5と名づけられた4つのファイルピース306を生成する
。
有の数が割り当てられるよう、個々のハッシュ関数オペレーションを通して各々
を配置することによってステップ308で操作される。ステップ308のオペレーショ
ンの結果、ピース306(A1〜A5)の各々は、関連づけられた、確率的に固有のハ
ッシュ値310(それぞれA1ハッシュ〜A5ハッシュとして示される)を有すること
になる。ステップ304のファイル分割プロセスは、ここで開示されている固有の
「スティッキービット」オペレーションとともに、更に詳細に以下で説明される
。
のハッシュ値310を、セット212で維持されている既存のハッシュ値214と比較す
るプロセス400を表すために示される。特に、ステップ402で、ファイルの各ピー
ス306のハッシュ値310は既存のハッシュ値214および新しいハッシュ値408と比較
され、対応する新しいデータピース406がセット212に加えられる。このように、
データベースセット212に予め存在していないハッシュ値408が、それらに関連づ
けられたデータピース406と共に加えられる。プロセス400はまた、全てのファイ
ルピースに対する一つのハッシュ値が様々なピース306のハッシュ値310と同値で
あることを示しているレコード404を生成することになる。
ディレクトリリストハッシュ値と比較し、新しいファイルまたはディレクトリリ
ストハッシュ値をデータベースディレクトリリストに加えるプロセス500を図示
している別のロジックフローチャートを示す。プロセス500は、ファイル名、フ
ァイルメタデータ(例えば日付、時間、ファイルの長さ、ファイルタイプ等)お
よびディレクトリの各項目のファイルのハッシュ値の累積リストを備える記憶デ
ータ502上で機能する。ステップ504で、ハッシュ関数はディレクトリリストのコ
ンテンツに実行される。判断ステップ506は、ディレクトリリストのハッシュ値
が既存のハッシュ値214のセット212であるかどうかを判断するよう機能する。判
断が肯定である場合、プロセス500は、別のファイルハッシュまたはディレクト
リリストハッシュをディレクトリリストに加えるために戻る。これに対して、デ
ィレクトリリストのハッシュ値がデータベースセット212にすでにない場合、デ
ィレクトリリストのハッシュ値およびデータはステップ508でデータベースセッ
ト212に加えられる。
)のピース306とそれらに対応するハッシュ値310の比較600が、典型的なファイ
ルの特定ピースの編集の前後双方で示される。この例では、レコード404はファ
イルA1〜A5のピースの各々のハッシュ値310と同様にファイルAのハッシュ値を含
む。ファイルAの代表的な編集は、306AのファイルピースのピースA2(A2-bによ
って表される)のデータの変化と共にハッシュ値310Aのハッシュ値A2-bの対応す
る変化を生成可能である。編集されたファイルピースは、ファイルAの修正ハッ
シュ値およびピースA2-bの修正ハッシュ値を含む更新済みレコード404Aを生成す
る。
データ(例えば複合データ702および704)は明示的に表されるデータ706と実質
的に同じものであるが、「レシピ」すなわち式によって作成されるという事実を
図示している概念図700が示される。図示される例において、このレシピは、対
応するハッシュ708によって表されるデータの連結またはハッシュによって表さ
れるデータを用いた関数の結果を含む。データブロック706は示されるように可
変長数量であってよく、ハッシュ値708はそれに関連づけられたデータブロック
から導き出される。既に述べたように、ハッシュ値708は対応するデータピース
の確率的に固有のIDであるが、全く固有のIDがその代わりに使われるか、或
いは確率的に固有のIDと混在させることもできる。複合データ702、704はまた
、多くのレベルが深い他の複合データを参照でき、一方、複合データのハッシュ
値708はレシピが生成するデータの値またはレシピ自体のハッシュ値から導き出
されることが可能であることもまた注目されるべきである。
02を編成し、それらが表すデータへのポインタとしてハッシュ値806を使用する
ことによって冗長シーケンスの再利用を最適化するのにどのように利用できるか
を別の概念図800で示していて、データ802は、明確なバイトシーケンス808(原
子データ)か或いはシーケンスのグループ(コンポジット)804として表されて
よい。
を図示する。本発明のハッシュファイルシステムの基本構成は、本質的に、ハッ
シュ値806が従来のポインターの代わりに使われる「ツリー」または「ブッシュ
」である。ハッシュ値806はレシピで使われて、データまたはそれ自体がレシピ
でありえる別のハッシュ値を示している。したがって、本質において、レシピは
他のレシピを示し、他のレシピはさらに他のレシピを示し、最終的に幾つかの特
定データを示し、その特定データ自体は更に多くのデータを示す他のレシピを示
してよく、最後にはデータだけにかかる。
システムアドレス変換機能の実例となる簡略図900が示される。ハッシュ値902は
図示されるように前部904および後部906を備えるデータ構造を含み、図900は対
応するデータを含むシステムにおいて特定のノードのロケーションに行くために
ハッシュ値902の使用を可能にするよう用いられる特定の「1のうちの0」オペレ
ーションを図示する。
08へのハッシュ・プレフィックスを示すのにどのように用いられることができる
か、また、次に、ストライプIDをIPアドレスにマップし、IDクラスをIPアドレス
910にマップするのにどのように利用されるかを図示する。この例では、「S2」
はインデックスノード37 912のストライプ2を示す。ノード37のインデックスス
トライプ912は、次いで、リファレンス番号914によって示されるデータノード73
のストライプ88を示す。次いで、オペレーションにおいて、ハッシュ値902自体
がシステムのどのノードが関連したデータを含むのかを示すのに使用でき、ハッ
シュ値902の別の部分はどのデータストライプがその特定のノードにあるのかを
示すのに使用でき、ハッシュ値902の更に別の部分はそのストライプ内のどこに
データが存在するのかを示すのに使用できる。この3ステッププロセスを通して
、ハッシュ値902によって表されるデータがシステムに既に存在するかどうかを
迅速に判断することができる。
ストライプ分割機能1000の簡略的な典型図が示される。この図において、典型的
な機能1000は、ストライプ1002(S2)を1つのストライプが充分にいっぱいにな
るように2つのストライプ1004(S2)と1006(S7)に効果的に分割するのに使用
可能であることが示されている。この例では、奇数のエントリはストライプ1006
(S7)に動かされ、一方偶数のエントリはストライプ1004に残る。この機能1000
は、システム全体のサイズが大きくなり複雑さが増すにつれて、ストライプエン
トリをどう処理することができるかを示す1つの例である。
、例えば、第1日に多数のプログラムおよびドキュメントファイル1102Aおよび1
104Aを有する代表的な家庭用コンピュータのデータのバックアップに用いられて
いるのを示しており、プログラムファイル1102Bは第2日に同じものを残し、一
方、ドキュメントファイル1104Bのうちの1つは第2日で編集され(Y.doc)、第
3のドキュメントファイル(Z.doc)が加えられる。
からオリジナルデータを復元するためにグロ―バルデータ保護回路(「gDPN」)
上に一連のレシピとしてリストされることができる方法の詳細を示す。この非常
に小さいコンピュータシステムは、「スナップショット」の形で「第1日」で、
次いでその後「第2日」で示される。「第1日」上で「プログラムファイルH5」
および「マイドキュメントH6」が数字1106で図示され、前者はレシピ1108によっ
て表されており、第1の実行可能ファイルはハッシュ値H1 1114で表され、第2
の実行可能ファイルはハッシュ値H2 1112で表されている。ドキュメントファイ
ルはハッシュ値H6 1110によって表され、第1のドキュメントはハッシュ値H3 11
18で表され、第2のドキュメントファイルはハッシュ値H4 1116によって表され
ている。その後、「第2日」で数字1120によって示される「プログラムファイル
H5」および「マイドキュメントH10」は、「プログラムファイルH5」は変更され
ていないが、「マイドキュメントH10」は変更されたことを示している。数字112
2によって示されるH10は、「X.doc」が依然としてハッシュ値H3 1118で表されて
いることを示し、一方「Y.doc」は今では数字1124においてハッシュ値H8で表さ
れていることを示している。新しいドキュメントファイル「Z.doc」は、数字112
6においてハッシュ値H9で表される。
とがわかる。変更されたファイルにおいて、それらのうちの幾つかのピースは変
更されておらず、他のピースは変更されている。本発明のハッシュファイルシス
テムの使用を通して、コンピュータシステムの「スナップショット」が第1日で
作成可能であり(次に存在できるようコンピュータファイルの再生に必要なレシ
ピを生成する)、次いで第2日で以前の日のレシピの幾つかの再使用、他のレシ
ピの再定式化、ならびに新規のレシピの追加によって、その時点でのシステムが
記述される。このように、コンピュータシステムは第1日または第2日双方のい
かなる時ならびにいかなる後続日でもその全体において再現可能である。
る特定のドキュメントファイルの様々なピースの比較1200が、編集前(第1日 1
202A)および編集後(第2日 1202B)の双方で示されており、それによってピー
スのうちの一つが変更され、他のピースは同じままである。
2)、1210(2.1)、1212(2.)、1214(2.3)および1216(3.1)を備える。第2
日では、ピース1206、1208、1210、1214および1216は同じままであり(したがっ
て同じハッシュ値を有する)、一方、ピース1212は編集されてピース1212Aを生
成する(したがって異なるハッシュ値を有する)。
ロック要素がコンピュータ間で通信する必要なく複数の関連したおよび無関連の
コンピュータで見つかるようコンピュータファイルをサブ分割するユニークな完
全自動化の方法である。スティッキーポイントを見つける手段は、本質的に完全
に数学的であり、ファイルのデータコンテンツに関係なく均等かつ適切に実行さ
れる。本発明のハッシュファイルシステムでは、全てのデータオブジェクトはイ
ンデックスを付けられ、格納され、例えば(限定されるものではないが)MD4、M
D5、SHAまたはSHA-1といった業界標準チェックサムを用いて検索されてよい。オ
ペレーションにおいて、2つのファイルが同じチェックサムを有する場合、それ
らが同一ファイルであることは非常に可能性が高いと考えられ得る。本願で開示
されているシステムおよび方法を用いると、データスティッキーポイントは、標
準的な数理分布およびターゲットサイズが僅かな割合である標準偏差で生成でき
る。
の場合、現在のマイクロプロセッサー技術でのインプリメンテーションにおいて
容易であるという理由から、例においては32バイトが使われている。
//f[i]はファイル「f」のi番目のバイトである。 //scrambleは各々が32ビット長の整数の256エントリアレーである。 //これらの整数は均一に範囲にまたがるよう一般的に選択される。 int t=8//後置0のターゲットナンバである。 int hash = 0; int sticky bits; for(int i=O; i<filesize; i++) hash = hash >> 1 |scramble[f[i]]; //ファイルの各バイトで、ハッシュはファイルのローリングハッシュを表す。 sticky bits = (hash - 1)^hash; //sticks bitsは変数であり、「ハッシュ」の後置0の数に対応するハッシュの
数のうちの一つを有する。 number of bits = count ones(stick-bits); if(number of bits > t) output sticky point(i); }
ナンバとして後置ゼロの数を少なくとも有するローリングハッシュになるよう画
成される。統計学的にいうと、このアルゴリズムは、2^tで間隔をあけられるポ
イントを見つけ、ここでtは後置ゼロのターゲットナンバである。この例におい
て、t=8の場合、アルゴリズムは平均で2^8=256バイト離れているスティッキーポ
イントを見つける。
る: int t=8//後置ゼロのターゲットナンバ int target distance = 256; //2の8乗 int hash = 0; int sticky bits; int distance = 0; int last point = 0; for(int i=O; i<filesize; i++) [ hash = hash >> 1| scramble[f[i]]; //ファイルの各バイトでハッシュはファイルのローリングハッシュを表
す。 sticky bits = (hash - 1)^hash; //sticks bitsは変数であり、「ハッシュ」の後置0の数に対応する数の
うちの一つを有する。 number of bits = count ones(stick bits); distance = i-last point; if(number of bits * distance/target distance >t) last point =i; output sticky point(i); } }
適度に複雑な計算を必要とするが、それは現在のコンピュータシステムの能力の
範囲内で充分である。ハッシュ関数は本質的に確率に基づいているので、2つの
異なるデータオブジェクトが偶然同一のハッシュ値を有した場合、どんなハッシ
ュ関数でもあるいは誤った結果を生じるかもしれない。しかしながら、本願で開
示されているシステムおよび方法は、衝突の確率を信頼のおける使用のために許
容できるレベル(すなわち10の24乗に1回の機会)であり、従来のコンピュータ
ハードウェアオペレーションで容認されているエラー率よりはるかに少ないレベ
ルまで低減する、よく知られかつ調査されたハッシュ関数を用いてこの問題を軽
減する。
ェアおよびソフトウェアメカニズムを含んでいるが、該用語は、主に、一つのネ
ットワークノードから別のネットワークノードにデータパケットを移動させる機
能を有するルーター、ルーターソフトウェアおよびこれらのルーター間の物理リ
ンクを指す。また、本願で用いられるように、「デジタルシーケンス」はコンピ
ュータプログラムファイル、コンピュータアプリケーション、データファイル、
ネットワークパケット、マルチメディア(オーディオおよびビデオを含む)とい
ったストリーミングデータ、テレメトリーデータ、およびデジタルまたは数字シ
ーケンスによって表されることができる他のあらゆるデータフォームを含むこと
ができるが、これに限定されるものではない。本発明のハッシュファイルシステ
ムおよび方法によって生成される確率的に固有の識別子はまた、URLとしてネッ
トワークアプリケーションで使われてもよい。
ーションに関連して本発明の原理を以上で説明してきたが、前述の説明は例とし
てのみ成されており、本発明の範囲を限定するものではないことは明白に理解さ
れたであろう。特に、前述の開示内容の教示が他の変形実施例を当業者に示唆し
ていることは理解されたであろう。このような変形実施例は、それ自体が既に知
られており、本願で既に説明された特徴の代わりにまたはそれに加えて使用可能
な他の特徴を含んでもよい。特許請求の範囲は本出願において特定の特徴の組合
せに対して明確に述べているが、本願における開示の範囲はまた、特許請求の範
囲と同一の発明に関連があるにせよ、また本発明が直面したものと同じ技術的な
問題の全てを軽減するにせよ、当業者には明らかな明示的または暗示的に開示さ
れている特徴のあらゆる新規な特徴または組合わせ、またはそれを一般化した例
または変形実施例を含むことを理解されたい。出願人は、これによって本出願の
またはそこから導き出される更なる出願の全ての手続き中に、前記の特徴および
/または前記の特徴の組合せを新しい特許請求の範囲に発展させる権利を確保す
る。
ピュータ環境のハイレベル図である。
図であり、あらゆる数のコンピュータまたはデータセンターで維持されるファイ
ルが、例えば地理的に多様なロケーションに位置する多数の独立ノードの冗長配
列(「RAIN」)ラックへのインターネット接続を通して分散型コンピュータシス
テムに格納されてよい。
プを表すロジックフローチャートであり、ファイルのハッシュ値は、セットまた
はデータベースに予め維持されているファイルのハッシュ値と照合される。
ステップを表す更なるロジックフローチャートであり、多数のデータピースとそ
れに対応している確率的に固有のハッシュ値を各ピースに対して生成することに
なる。
ハッシュ値との比較を表す別のロジックフローチャートであり、レコードの生成
物は、全てのファイルに対する一つのハッシュ値と様々なピースのハッシュ値が
同等であることを示しており、新しいデータピースおよびそれに対応する新しい
ハッシュ値がセットに加えられる。
リストハッシュ値とを比較し、新しいファイルまたはディレクトリリストハッシ
ュ値をセットディレクトリリストに加えるステップを図示する別のロジックフロ
ーチャートである。
ータファイルのピースとそれらに対応しているハッシュ値との比較である。
されるデータと効果的に同一であるが、代わりに、「レシピ」(例えばその対応
するハッシュによって表されるデータの連結、またはハッシュによって表される
データを用いた関数の結果)によって生成されてもよいという事実の概念図であ
る。
すデータへのポインタとしてハッシュ値を使用することによって冗長シーケンス
の再利用を最適化するのにどのように利用できるかを表す別の概念図であり、デ
ータは、明確なバイトシーケンス(原子データ)か或いはシーケンスのグループ
(コンポジット)として表されてよい。
能の実例となる簡略図である。
簡略的な典型図である。
グラムおよびドキュメントファイルを有する代表的な家庭用コンピュータのデー
タのバックアップに用いられているのを示しており、ドキュメントファイルのう
ちの1つが第2日で編集され、第3のドキュメントファイルが加えられる。
マークされる特定のドキュメントファイルの様々なピースの比較であって、それ
によってピースのうちの一つが変更され、他のピースは同じままである、図を示
す。
Claims (85)
- 【請求項1】 データを管理する方法であって、前記方法は: デジタルシーケンスに対して確率的に固有の識別子を生成するステップと; 前記確率的に固有の識別子を対応しているデジタルシーケンスを伴う他の識
別子のリストと比較するステップと、 を備える方法。 - 【請求項2】 前記確率的に固有の識別子が前記リストに予め無い場合、前
記確率的に固有の識別子を前記リストに加えるステップを更に備える、請求項1
記載の方法。 - 【請求項3】 前記確率的に固有の識別子が前記リストに予めある場合、前
記リストから前記確率的に固有の識別子を取るステップを更に備える、請求項1
記載の方法。 - 【請求項4】 前記確率的に固有の識別子に対応する前記デジタルシーケン
スを前記リストに加えるステップを更に備える、請求項2記載の方法。 - 【請求項5】 前記確率的に固有の識別子に対応する前記デジタルシーケン
スを前記リストから取るステップを更に備える、請求項3記載の方法。 - 【請求項6】 前記デジタルシーケンスと、そのシーケンスに対する前記確
率的に固有の識別子間に対応を加えるステップを更に備える、請求項4記載の方
法。 - 【請求項7】 前記生成ステップが、前記デジタルシーケンスをハッシュし
て、前記確率的に固有の識別子を生成するステップを備える、請求項1記載の方
法。 - 【請求項8】 前記ハッシュステップが業界標準ダイジェストアルゴリズム
によって実行される、請求項7記載の方法。 - 【請求項9】 前記ハッシュステップは、MD4、MD5、SHAまたはSHA-1アルゴ
リズムのうちの1つによって実行される、請求項8記載の方法。 - 【請求項10】 前記生成ステップが、前記デジタルシーケンスのチェック
サムを生成して、前記確率的に固有の識別子を生成するステップを備える、請求
項1記載の方法。 - 【請求項11】 前記デジタルシーケンスが、少なくとも1つの他のデジタ
ルシーケンスの記述メタデータ(descriptive meta data)である、請求項1記載
の方法。 - 【請求項12】 前記デジタルシーケンスが、少なくとも1つの確率的に固
有の識別子の記述メタデータである、請求項1記載の方法。 - 【請求項13】 前記デジタルシーケンスが、少なくとも1つのデジタルシ
ーケンスを表す方法を記述する、請求項1記載の方法。 - 【請求項14】 データを管理する方法であって、前記方法は: デジタルシーケンスを複数のより短いデジタルシーケンスに分割するステッ
プと; 前記複数のより短いデジタルシーケンスの各々に対して確率的に固有の識別
子を生成するステップと; 前記確率的に固有の識別子を他の識別子のリストと比較するステップと、 を備える方法。 - 【請求項15】 前記デジタルシーケンスを複数のより短いデジタルシーケ
ンスに分割するステップと; 前記複数のより短いデジタルシーケンスの各々に対応する同様の複数の確率
的に固有の識別子を生成するステップと、 を更に備える、請求項14記載の方法。 - 【請求項16】 複数の識別子の各々を前記リストと比較するステップを更
に備える、請求項14記載の方法。 - 【請求項17】 前記分割ステップが、個々に可変長を有する前記より短い
デジタルシーケンスを生成する、請求項14記載の方法。 - 【請求項18】 前記分割ステップが、前記デジタルシーケンスのコンテン
ツに基づいている、請求項14記載の方法。 - 【請求項19】 前記分割ステップが、前記デジタルシーケンスを記述して
いるメタデータに基づいている、請求項14記載の方法。 - 【請求項20】 前記分割ステップが、実質的に不変長を有する前記より短
いデジタルシーケンスを生成する、請求項14記載の方法。 - 【請求項21】 前記同様の複数の確率的に固有の識別子を生成する前記ス
テップが: 前記より短いデジタルシーケンスを個々にハッシュして、前記同様の複数の
確率的に固有の識別子を生成するステップ を備える、請求項14記載の方法。 - 【請求項22】 前記複数のより短いデジタルシーケンスおよび前記対応す
る同様の複数の確率的に固有の識別子を前記リストに加えるステップ を更に備える、請求項14記載の方法。 - 【請求項23】 前記複数のより短いデジタルシーケンスおよび前記対応す
る同様の複数の確率的に固有の識別子を前記リストから取るステップ を更に備える、請求項14記載の方法。 - 【請求項24】 少なくとも前記確率的に固有の識別子の一部を前記比較ス
テップ用の前記リストのロケーションへのインジケータとして利用するステップ
を更に備える、請求項9記載の方法。 - 【請求項25】 コンピューティング環境であって、前記コンピューティン
グ環境は: デジタルシーケンスの一部と、前記デジタルシーケンスの前記一部の各々
に対して対応する確率的に固有の識別子を維持する、少なくとも1つのリストと
; 少なくとも1つの新しいデジタルシーケンスと; 前記新しいデジタルシーケンスを複数のより短いデジタルシーケンスに分割
し、前記より短いデジタルシーケンスの各々に対して確率的に固有の識別子を生
成する、少なくとも1つの分割メカニズムと; 前記複数のより短いデジタルシーケンスの各々に対する前記確率的に固有の
識別子のうちの任意の1つが前記リストで現在維持されているかどうかを判断す
る、比較メカニズムと、 を備える、コンピューティング環境。 - 【請求項26】 前記少なくとも1つのリストが複数のリストを備える、請
求項25記載のコンピューティング環境。 - 【請求項27】 前記複数のリストが、それぞれ前記確率的に固有の識別子
の一部を含む、請求項26記載のコンピューティング環境。 - 【請求項28】 前記複数のリストのうちの少なくとも1つが、前記少なく
とも1つのリストの他から物理的に移される、請求項26記載のコンピューティ
ング環境。 - 【請求項29】 前記複数のリストが、前記確率的に固有の識別子に基づい
て分割される、請求項26記載のコンピューティング環境。 - 【請求項30】 前記複数のリストはネットワークによって結合する、請求
項28記載のコンピューティング環境。 - 【請求項31】 前記少なくとも1つのリストが、前記少なくとも1つの分割
メカニズムから物理的に移される、請求項25記載のコンピューティング環境。 - 【請求項32】 前記リストが物理的分散データベースを備える、請求項2
5記載のコンピューティング環境。 - 【請求項33】 前記少なくとも1つの分割メカニズムおよび前記少なくと
も1つのリストが、ネットワークによって結合する、請求項25記載のコンピュ
ーティング環境。 - 【請求項34】 前記ネットワークがインターネットのような公衆網を備え
る、請求項33記載のコンピューティング環境。 - 【請求項35】 前記少なくとも1つの分割メカニズムおよび前記少なくと
も1つのリストが、物理的に分散される、請求項34記載のコンピューティング
環境。 - 【請求項36】 前記確率的に固有の識別子がハッシュ関数によって生成さ
れる、請求項25記載のコンピューティング環境。 - 【請求項37】 前記ハッシュ関数が、業界標準ダイジェストアルゴリズム
を備える、請求項36記載のコンピューティング環境。 - 【請求項38】 前記ハッシュ関数が、MD4、MD5 SHAまたはSHA-1アルゴリ
ズムのうちの1つを備える、請求項37記載のコンピューティング環境。 - 【請求項39】 前記確率的に固有の識別子がチェックサムによって生成さ
れる、請求項36記載のコンピューティング環境。 - 【請求項40】 前記デジタルシーケンスは可変長である、請求項25記載
のコンピューティング環境。 - 【請求項41】 前記デジタルシーケンスは不変長である、請求項25記載
のコンピューティング環境。 - 【請求項42】 前記比較メカニズムが、前記複数の前記より短いデジタル
シーケンスに対する前記確率的に固有の識別子の少なくとも一部を、前記リスト
分割に関連があるロケーターとして利用するのに有効である、請求項31記載の
コンピューティング環境。 - 【請求項43】 前記デジタルシーケンスがデータファイルを備える、請求
項25記載のコンピューティング環境。 - 【請求項44】 前記デジタルシーケンスがデータストリームを備える、請
求項25記載のコンピューティング環境。 - 【請求項45】 前記デジタルシーケンスが実行可能ファイルを備える、請
求項25記載のコンピューティング環境。 - 【請求項46】 前記デジタルシーケンスがデータベースレコードを備える
、請求項25記載のコンピューティング環境。 - 【請求項47】 前記デジタルシーケンスがデータベースインデックスを備
える、請求項25記載のコンピューティング環境。 - 【請求項48】 前記デジタルシーケンスがディジタル装置画像を備える、
請求項25記載のコンピューティング環境。 - 【請求項49】 前記デジタルシーケンスがネットワークパケットを備える
、請求項25記載のコンピューティング環境。 - 【請求項50】 前記デジタルシーケンスがデジタル化されたアナログ信号
を備える、請求項25記載のコンピューティング環境。 - 【請求項51】 前記少なくとも1つのリストに維持されていると判断され
なかった前記確率的に固有の識別子のどれかと、それに対応する前記複数のより
短いデジタルシーケンスが、前記少なくとも1つのリストに加えられる、請求項
25記載のコンピューティング環境。 - 【請求項52】 コンピュータープログラム製品であって、前記コンピュー
タープログラム製品は: データが管理されるよう中に含まれるコンピュータ可読コードを有するコン
ピュータ可使用メディアを備え、前記コンピュータープログラム製品は: コンピュータにデジタルシーケンスの確率的に固有の識別子の生成を行わせ
るよう構成されたコンピュータ可読プログラムコード・デバイスと; コンピュータに、前記確率的に固有の識別子と他のデジタルシーケンスに対
応する他の識別子のリストの比較を行わせるよう構成されたコンピュータ可読プ
ログラムコード・デバイスと、 を備える、コンピュータープログラム製品。 - 【請求項53】 前記確率的に固有の識別子が前記リストに予め無かった場
合、コンピュータに前記確率的に固有の識別子の前記リストへの追加を行わせる
よう構成されたコンピュータ可読プログラムコード・デバイスを更に備える、請
求項52記載のコンピュータープログラム製品。 - 【請求項54】 コンピュータに前記対応するデジタルシーケンスの前記リ
ストへの追加を行わせるよう構成されたコンピュータ可読プログラムコード・デ
バイスを更に備える、請求項53記載のコンピュータープログラム製品。 - 【請求項55】 前記コンピュータに生成を行わせるよう構成された前記コ
ンピュータ可読プログラムコード・デバイスは: コンピュータに前記デジタルシーケンスのハッシュを行わせて前記確率的に
固有の識別子を生成させるよう構成されたコンピュータ可読プログラムコード・
デバイスを備える、 請求項52記載のコンピュータープログラム製品。 - 【請求項56】 コンピュータにハッシュを行わせるよう構成された前記コ
ンピュータ可読プログラムコード・デバイスは、業界標準ダイジェストアルゴリ
ズムによって実行される、請求項55記載のコンピュータープログラム製品。 - 【請求項57】 コンピュータにハッシュを行わせるよう構成された前記コ
ンピュータ可読プログラムコード・デバイスは、MD4、MD5、SHAまたはSHA-1アル
ゴリズムのうちの1つによって実行される、請求項56記載のコンピュータープ
ログラム製品。 - 【請求項58】 コンピュータに生成を行わせるよう構成された前記コンピ
ュータ可読プログラムコード・デバイスは: コンピュータに前記デジタルシーケンスのチェックサムの生成を行わせて前
記確率的に固有の識別子を生成させるよう構成されたコンピュータ可読プログラ
ムコード・デバイスを備える、 請求項52記載のコンピュータープログラム製品。 - 【請求項59】 コンピュータに前記デジタルシーケンスの前記確率的に固
有の識別子を含むディレクトリリストの作成を行わせるよう構成されたコンピュ
ータ可読プログラムコード・デバイスを更に備える、請求項52記載のコンピュ
ータープログラム製品。 - 【請求項60】 コンピュータに前記デジタルシーケンスの複数のより短い
デジタルシーケンスへの分割を行わせるよう構成されたコンピュータ可読プログ
ラムコード・デバイスと; コンピュータに前記より短いデジタルシーケンスの各々に対応する同様の複
数の確率的に固有の識別子の生成を行わせるよう構成されたコンピュータ可読プ
ログラムコード・デバイスと、 を更に備える、請求項52記載のコンピュータープログラム製品。 - 【請求項61】 コンピュータに分割を行わせるよう構成された前記コンピ
ュータ可読プログラムコード・デバイスが、個々に可変長を有する前記より短い
デジタルシーケンスを生成する、請求項60記載のコンピュータープログラム製
品。 - 【請求項62】 コンピュータに分割を行わせるよう構成された前記コンピ
ュータ可読プログラムコード・デバイスが、実質的に不変長を有する前記より短
いデジタルシーケンスを生成する、請求項60記載のコンピュータープログラム
製品。 - 【請求項63】 コンピュータに前記同様の複数の確率的に固有の識別子の
生成を行わせるよう構成された前記コンピュータ可読プログラムコード・デバイ
スが: コンピュータに前記より短いデジタルシーケンスのハッシュを個々に行わせ
て前記同様の複数の確率的に固有の識別子を生成させるよう構成されたコンピュ
ータ可読プログラムコード・デバイスを備える、 請求項60記載のコンピュータープログラム製品。 - 【請求項64】 コンピュータに前記複数のより短いデジタルシーケンスお
よび前記対応する同様の複数の確率的に固有の識別子の前記リストへの追加を行
わせるよう構成されたコンピュータ可読プログラムコード・デバイスを更に備え
る、請求項60記載のコンピュータープログラム製品。 - 【請求項65】 コンピュータに、少なくとも前記確率的に固有の識別子の
一部を前記比較ステップ用の前記リストのロケーションテーブルへのインデック
スとして利用させるよう構成されたコンピュータ可読プログラムコード・デバイ
スを更に備える、請求項52記載のコンピュータープログラム製品。 - 【請求項66】 デジタルシーケンスの少なくとも一部の識別子を確立する
方法であって、前記方法は: 前記少なくとも一部の識別子に関数を実行して確率的に固有の記号を生成す
るステップと; その結果、前記少なくとも一部の前記デジタルシーケンスと前記確率的に固
有の記号間に対応を確立するステップと; 前記確率的に固有の記号を前記識別子として利用するステップと、 を備える方法。 - 【請求項67】 前記識別子および前記対応する少なくとも一部の前記デジ
タルシーケンスが少なくとも一つのデータリストで維持される、請求項66記載
の方法。 - 【請求項68】 少なくとも一部の前記識別子が、前記少なくとも一つのデ
ータリスト内の前記対応する少なくとも一部の前記デジタルシーケンスのロケー
ションへのポインタとして利用できる、請求項67記載の方法。 - 【請求項69】 前記少なくとも一部の前記デジタルシーケンスが少なくと
も一部のデータファイルを備え、前記識別子が前記少なくとも一部の前記データ
ファイルのコンテンツに固有に関連している、請求項66記載の方法。 - 【請求項70】 前記少なくとも一部の前記デジタルシーケンスが少なくと
も一部のデータストリームを備え、前記識別子が前記少なくとも一部の前記デー
タストリームのコンテンツに固有に関連している、請求項66記載の方法。 - 【請求項71】 前記少なくとも一部の前記デジタルシーケンスが少なくと
も一部の実行可能ファイルを備え、前記識別子が前記少なくとも一部の前記実行
可能ファイルのコンテンツに固有に関連している、請求項66記載の方法。 - 【請求項72】 前記関数実行ステップが: 前記少なくとも一部の前記デジタルシーケンスをハッシュして前記確率的に
固有の記号を生成するステップによって実行される、 請求項66記載の方法。 - 【請求項73】 前記ハッシュステップが、業界標準ダイジェストアルゴリ
ズムによって実行される、請求項72記載の方法。 - 【請求項74】 前記ハッシュステップが、MD4、MD5、SHAまたはSHA-1アル
ゴリズムのうちの1つによって実行される、請求項73記載の方法。 - 【請求項75】 コンピュータープログラム製品であって、前記コンピュー
タープログラム製品は: 少なくとも一部のデジタルシーケンスの識別子が確立されるよう中に含まれ
るコンピュータ可読コードを有するコンピュータ可使用メディアを備え、前記コ
ンピュータ可使用メディアが: コンピュータに、前記少なくとも一部の前記デジタルシーケンスに関数を実
行させて確率的に固有の記号を生成させるよう構成されたコンピュータ可読プロ
グラムコード・デバイスと; コンピュータに、前記少なくとも一部の前記デジタルシーケンスと前記確率
的に固有の記号間での対応の確立を行わせるよう構成されたコンピュータ可読プ
ログラムコード・デバイスと; コンピュータに前記確率的に固有の記号を前記識別子として利用させるよう
構成されたコンピュータ可読プログラムコード・デバイスと、 を備える、コンピュータープログラム製品。 - 【請求項76】 前記識別子および前記対応する少なくとも一部の前記デジ
タルシーケンスが少なくとも一つのデータリストで維持される、請求項75記載
のコンピュータープログラム製品。 - 【請求項77】 少なくとも一部の前記識別子が、前記少なくとも一つのデ
ータリスト内の前記対応する少なくとも一部の前記デジタルシーケンスのロケー
ションへのポインタとして利用できる、請求項76記載のコンピュータープログ
ラム製品。 - 【請求項78】 前記少なくとも一部の前記デジタルシーケンスが少なくと
も一部のデータファイルを備え、前記識別子が前記少なくとも一部の前記データ
ファイルのコンテンツに固有に関連している、請求項75記載のコンピューター
プログラム製品。 - 【請求項79】 前記少なくとも一部の前記デジタルシーケンスが少なくと
も一部のデータストリームを備え、前記識別子が前記少なくとも一部の前記デー
タストリームのコンテンツに固有に関連している、請求項75記載のコンピュー
タープログラム製品。 - 【請求項80】 前記少なくとも一部の前記デジタルシーケンスが少なくと
も一部の実行可能ファイルを備え、前記識別子が前記少なくとも一部の前記実行
可能ファイルのコンテンツに固有に関連している、請求項75記載のコンピュー
タープログラム製品。 - 【請求項81】 コンピュータに関数を実行させるよう構成された前記コン
ピュータ可読プログラムコード・デバイスが: コンピュータに、前記少なくとも一部の前記デジタルシーケンスに対してハ
ッシュを行わせて前記確率的に固有の記号を生成させるよう構成されたコンピュ
ータ可読プログラムコード・デバイスによって実行される、 請求項75記載のコンピュータープログラム製品。 - 【請求項82】 コンピュータにハッシュを行わせるよう構成されたコンピ
ュータ可読プログラムコード・デバイスが、業界標準ダイジェストアルゴリズム
によって実行される、請求項81記載のコンピュータープログラム製品。 - 【請求項83】 コンピュータにハッシュを行わせるよう構成されたコンピ
ュータ可読プログラムコード・デバイスが、MD4、MD5、SHAまたはSHA-1アルゴリ
ズムのうちの1つによって実行される、請求項82記載のコンピュータープログ
ラム製品。 - 【請求項84】 データを管理する方法であって、前記方法は: デジタルシーケンスに対して確率的に固有の識別子を生成するステップと; 前記確率的に固有の識別子を他のデジタルシーケンスに対応する他の識別子
のリストと比較するステップと、 を備える方法。 - 【請求項85】 前記確率的に固有の識別子が前記リストに予め無かった場
合、前記確率的に固有の識別子を前記リストに加えるステップを更に備える、請
求項84記載の方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18376200P | 2000-02-18 | 2000-02-18 | |
US60/183,762 | 2000-02-18 | ||
US24592000P | 2000-11-06 | 2000-11-06 | |
US60/245,920 | 2000-11-06 | ||
US09/777,150 | 2001-02-05 | ||
US09/777,150 US6704730B2 (en) | 2000-02-18 | 2001-02-05 | Hash file system and method for use in a commonality factoring system |
PCT/US2001/004763 WO2001061563A1 (en) | 2000-02-18 | 2001-02-14 | Hash file system and method for use in a commonality factoring system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003524243A true JP2003524243A (ja) | 2003-08-12 |
JP4846156B2 JP4846156B2 (ja) | 2011-12-28 |
Family
ID=27391739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001560878A Expired - Lifetime JP4846156B2 (ja) | 2000-02-18 | 2001-02-14 | 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1269350A4 (ja) |
JP (1) | JP4846156B2 (ja) |
KR (1) | KR100860821B1 (ja) |
AU (2) | AU2001238269B2 (ja) |
CA (1) | CA2399555A1 (ja) |
WO (1) | WO2001061563A1 (ja) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004514968A (ja) * | 2000-11-06 | 2004-05-20 | アヴァマー テクノロジーズ インコーポレイテッド | 共通デジタルシーケンスを識別するシステム |
JP2005327032A (ja) * | 2004-05-13 | 2005-11-24 | Japan Radio Co Ltd | データ書き換え方法およびデータ書き換えシステムおよび無線装置遠隔制御システム |
JP2007234026A (ja) * | 2006-03-01 | 2007-09-13 | Quantum Corp | ユニークブロックプールマネージャを含むデータ記憶システムおよび階層記憶装置における応用 |
JP2008513891A (ja) * | 2004-09-15 | 2008-05-01 | ディリジェント テクノロジーズ コーポレイション | データを検索し記憶するシステム及び方法 |
JP2008533571A (ja) * | 2005-03-11 | 2008-08-21 | ロックソフト リミテッド | 低冗長記憶システム内のサブブロックの存在を検出する方法 |
JP2008242788A (ja) * | 2007-03-27 | 2008-10-09 | Hitachi Ltd | 重複したファイルの記憶を防ぐコンピュータシステム |
JP2009205201A (ja) * | 2008-02-26 | 2009-09-10 | Kddi Corp | 重複排除技術を用いたデータバックアップ方法、記憶制御通信装置及びプログラム |
JP2009533731A (ja) * | 2006-04-07 | 2009-09-17 | データ ストレージ グループ | データ圧縮技術およびデータ格納技術 |
JP2009276859A (ja) * | 2008-05-12 | 2009-11-26 | Hitachi Ltd | サーバ計算機、計算機システムおよびファイル管理方法 |
JP2009543199A (ja) * | 2006-06-29 | 2009-12-03 | ネットアップ,インコーポレイテッド | 永久的コンシステンシ・ポイント・イメージを使用するストレージシステムのデータ重複解消を管理するシステム、及び方法 |
JP2009543198A (ja) * | 2006-06-29 | 2009-12-03 | ネットアップ,インコーポレイテッド | ブロック指紋を読み出し、ブロック指紋を使用してデータ重複を解消するシステム、及び方法 |
JP2010072746A (ja) * | 2008-09-16 | 2010-04-02 | Hitachi Ltd | ストレージシステム、及びストレージシステムの運用方法 |
JP2010079886A (ja) * | 2008-09-11 | 2010-04-08 | Nec Lab America Inc | 拡張可能な2次ストレージシステムと方法 |
JP2010170475A (ja) * | 2009-01-26 | 2010-08-05 | Nec Corp | ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム |
JP2010541061A (ja) * | 2007-09-25 | 2010-12-24 | バークレイズ・キャピタル・インコーポレーテッド | アプリケーション管理システム及び方法 |
JP2010287167A (ja) * | 2009-06-15 | 2010-12-24 | Nec Corp | アーカイブストレージ装置、ストレージシステム、データ格納方法、およびデータ格納プログラム |
JP2011022721A (ja) * | 2009-07-14 | 2011-02-03 | Fujitsu Ltd | アーカイブ装置、データ格納プログラムおよびデータ格納方法 |
JP2011028331A (ja) * | 2009-07-21 | 2011-02-10 | Fujitsu Ltd | データ格納プログラム、データ格納方法およびデータ格納システム |
JP2011509459A (ja) * | 2008-01-04 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システムの重複除外コンピュータ・ファイル・システムのバックアップのための方法、システム、およびコンピュータ・プログラム |
WO2011108048A1 (ja) * | 2010-03-04 | 2011-09-09 | 日本電気株式会社 | ストレージ装置 |
JP2012093827A (ja) * | 2010-10-25 | 2012-05-17 | Internatl Business Mach Corp <Ibm> | ファイルの重複を排除する装置及び方法 |
US8275756B2 (en) | 2004-09-15 | 2012-09-25 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
JP2013534007A (ja) * | 2010-06-18 | 2013-08-29 | マイクロソフト コーポレーション | データ記憶とデータ送信の最適化 |
JP2014120160A (ja) * | 2012-12-12 | 2014-06-30 | Kofukin Seimitsu Kogyo (Shenzhen) Yugenkoshi | データブロックバックアップシステム及びその方法 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412462B2 (en) | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
US7509356B2 (en) * | 2001-09-06 | 2009-03-24 | Iron Mountain Incorporated | Data backup |
US6795903B2 (en) * | 2002-01-17 | 2004-09-21 | Thomas Licensing S.A. | System and method for searching for duplicate data |
US6667700B1 (en) * | 2002-10-30 | 2003-12-23 | Nbt Technology, Inc. | Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation |
US7478096B2 (en) | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
JP4233564B2 (ja) * | 2003-03-10 | 2009-03-04 | シャープ株式会社 | データ処理装置、データ処理用のプログラムおよび記録媒体 |
US7092976B2 (en) * | 2003-06-24 | 2006-08-15 | International Business Machines Corporation | Parallel high speed backup for a storage area network (SAN) file system |
US7428557B2 (en) * | 2004-03-22 | 2008-09-23 | Microsoft Corporation | Efficient data transfer to/from storage medium of computing device |
EP1866774A4 (en) * | 2005-03-11 | 2010-04-14 | Rocksoft Ltd | METHOD FOR STORING DATA WITH LESS REDUNDANCY USING DATA GROUPS |
US8832045B2 (en) | 2006-04-07 | 2014-09-09 | Data Storage Group, Inc. | Data compression and storage techniques |
EP2021926A4 (en) | 2006-05-05 | 2009-07-15 | Hybir Inc | SYSTEM FOR SAVING INCREMENTAL AND COMPLETE COMPUTER-BASED FILE FILES BASED ON THE GROUP, PROCESS AND APPARATUS |
GB2444344A (en) * | 2006-12-01 | 2008-06-04 | David Irvine | File storage and recovery in a Peer to Peer network |
GB2446200A (en) * | 2006-12-01 | 2008-08-06 | David Irvine | Encryption system for peer-to-peer networks which relies on hash based self-encryption and mapping |
CA2675915C (en) * | 2008-09-11 | 2015-04-28 | Nec Laboratories America, Inc. | Content addressable storage systems and methods employing searchable blocks |
KR101046025B1 (ko) * | 2008-10-07 | 2011-07-01 | 이경수 | 임베디드 시스템 데이터 추출 장치 및 그 방법 |
US9195666B2 (en) * | 2012-01-17 | 2015-11-24 | Apple Inc. | Location independent files |
US10102218B2 (en) * | 2014-09-30 | 2018-10-16 | Microsoft Technology Licensing, Llc | File system with per-extent checksums |
KR101613146B1 (ko) * | 2015-03-24 | 2016-04-18 | 주식회사 티맥스데이터 | 데이터베이스 암호화 방법 |
CN109639807A (zh) * | 2018-12-19 | 2019-04-16 | 中国四维测绘技术有限公司 | 一种基于slice切片的大数据量遥感影像文件网络传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05135108A (ja) * | 1990-03-27 | 1993-06-01 | Sun Microsyst Inc | データベースの編成方法及び装置 |
JPH06103127A (ja) * | 1992-09-22 | 1994-04-15 | Kanebo Ltd | ハッシュファイルデータ管理装置およびハッシュファイルデータ管理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5016009A (en) * | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
US5126739A (en) | 1989-01-13 | 1992-06-30 | Stac Electronics | Data compression apparatus and method |
US5140321A (en) * | 1991-09-04 | 1992-08-18 | Prime Computer, Inc. | Data compression/decompression method and apparatus |
US5406279A (en) | 1992-09-02 | 1995-04-11 | Cirrus Logic, Inc. | General purpose, hash-based technique for single-pass lossless data compression |
WO1996025801A1 (en) * | 1995-02-17 | 1996-08-22 | Trustus Pty. Ltd. | Method for partitioning a block of data into subblocks and for storing and communicating such subblocks |
EP0826181A4 (en) * | 1995-04-11 | 2005-02-09 | Kinetech Inc | IDENTIFYING DATA IN A DATA PROCESSING SYSTEM |
US5754844A (en) | 1995-12-14 | 1998-05-19 | Sun Microsystems, Inc. | Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location |
US5831558A (en) | 1996-06-17 | 1998-11-03 | Digital Equipment Corporation | Method of compressing and decompressing data in a computer system by encoding data using a data dictionary |
US5850565A (en) | 1996-08-26 | 1998-12-15 | Novell, Inc. | Data compression method and apparatus |
US6021491A (en) * | 1996-11-27 | 2000-02-01 | Sun Microsystems, Inc. | Digital signatures for data streams and data archives |
US6098079A (en) * | 1998-04-02 | 2000-08-01 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | File version reconciliation using hash codes |
US7062648B2 (en) * | 2000-02-18 | 2006-06-13 | Avamar Technologies, Inc. | System and method for redundant array network storage |
-
2001
- 2001-02-14 EP EP01910686A patent/EP1269350A4/en not_active Ceased
- 2001-02-14 WO PCT/US2001/004763 patent/WO2001061563A1/en active Application Filing
- 2001-02-14 KR KR1020027010804A patent/KR100860821B1/ko active IP Right Grant
- 2001-02-14 AU AU2001238269A patent/AU2001238269B2/en not_active Ceased
- 2001-02-14 JP JP2001560878A patent/JP4846156B2/ja not_active Expired - Lifetime
- 2001-02-14 CA CA002399555A patent/CA2399555A1/en not_active Abandoned
- 2001-02-14 AU AU3826901A patent/AU3826901A/xx active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05135108A (ja) * | 1990-03-27 | 1993-06-01 | Sun Microsyst Inc | データベースの編成方法及び装置 |
JPH06103127A (ja) * | 1992-09-22 | 1994-04-15 | Kanebo Ltd | ハッシュファイルデータ管理装置およびハッシュファイルデータ管理方法 |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004514968A (ja) * | 2000-11-06 | 2004-05-20 | アヴァマー テクノロジーズ インコーポレイテッド | 共通デジタルシーケンスを識別するシステム |
JP2005327032A (ja) * | 2004-05-13 | 2005-11-24 | Japan Radio Co Ltd | データ書き換え方法およびデータ書き換えシステムおよび無線装置遠隔制御システム |
JP4568532B2 (ja) * | 2004-05-13 | 2010-10-27 | 日本無線株式会社 | 無線装置制御システム、無線装置および制御装置 |
JP2008513891A (ja) * | 2004-09-15 | 2008-05-01 | ディリジェント テクノロジーズ コーポレイション | データを検索し記憶するシステム及び方法 |
US8275782B2 (en) | 2004-09-15 | 2012-09-25 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
JP4939421B2 (ja) * | 2004-09-15 | 2012-05-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データを検索し記憶するシステム及び方法 |
US8725705B2 (en) | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
US10282257B2 (en) | 2004-09-15 | 2019-05-07 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US9378211B2 (en) | 2004-09-15 | 2016-06-28 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US9400796B2 (en) | 2004-09-15 | 2016-07-26 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US10649854B2 (en) | 2004-09-15 | 2020-05-12 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US9430486B2 (en) | 2004-09-15 | 2016-08-30 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US8275756B2 (en) | 2004-09-15 | 2012-09-25 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US8275755B2 (en) | 2004-09-15 | 2012-09-25 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
JP2008533571A (ja) * | 2005-03-11 | 2008-08-21 | ロックソフト リミテッド | 低冗長記憶システム内のサブブロックの存在を検出する方法 |
JP2007234026A (ja) * | 2006-03-01 | 2007-09-13 | Quantum Corp | ユニークブロックプールマネージャを含むデータ記憶システムおよび階層記憶装置における応用 |
JP2009533731A (ja) * | 2006-04-07 | 2009-09-17 | データ ストレージ グループ | データ圧縮技術およびデータ格納技術 |
JP2009543199A (ja) * | 2006-06-29 | 2009-12-03 | ネットアップ,インコーポレイテッド | 永久的コンシステンシ・ポイント・イメージを使用するストレージシステムのデータ重複解消を管理するシステム、及び方法 |
JP2009543198A (ja) * | 2006-06-29 | 2009-12-03 | ネットアップ,インコーポレイテッド | ブロック指紋を読み出し、ブロック指紋を使用してデータ重複を解消するシステム、及び方法 |
US8407431B2 (en) | 2007-03-27 | 2013-03-26 | Hitachi, Ltd. | Computer system preventing storage of duplicate files |
US8151066B2 (en) | 2007-03-27 | 2012-04-03 | Hitachi, Ltd. | Computer system preventing storage of duplicate files |
JP2008242788A (ja) * | 2007-03-27 | 2008-10-09 | Hitachi Ltd | 重複したファイルの記憶を防ぐコンピュータシステム |
JP2010541061A (ja) * | 2007-09-25 | 2010-12-24 | バークレイズ・キャピタル・インコーポレーテッド | アプリケーション管理システム及び方法 |
JP2011509459A (ja) * | 2008-01-04 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システムの重複除外コンピュータ・ファイル・システムのバックアップのための方法、システム、およびコンピュータ・プログラム |
JP2009205201A (ja) * | 2008-02-26 | 2009-09-10 | Kddi Corp | 重複排除技術を用いたデータバックアップ方法、記憶制御通信装置及びプログラム |
US8327097B2 (en) | 2008-02-26 | 2012-12-04 | Kddi Corporation | Data backing up for networked storage devices using de-duplication technique |
JP2009276859A (ja) * | 2008-05-12 | 2009-11-26 | Hitachi Ltd | サーバ計算機、計算機システムおよびファイル管理方法 |
JP2010079886A (ja) * | 2008-09-11 | 2010-04-08 | Nec Lab America Inc | 拡張可能な2次ストレージシステムと方法 |
JP2010072746A (ja) * | 2008-09-16 | 2010-04-02 | Hitachi Ltd | ストレージシステム、及びストレージシステムの運用方法 |
JP2010170475A (ja) * | 2009-01-26 | 2010-08-05 | Nec Corp | ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム |
JP2010287167A (ja) * | 2009-06-15 | 2010-12-24 | Nec Corp | アーカイブストレージ装置、ストレージシステム、データ格納方法、およびデータ格納プログラム |
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 | データ格納プログラム、データ格納方法およびデータ格納システム |
US8650370B2 (en) | 2009-07-21 | 2014-02-11 | Fujitsu Limited | Data storing method and data storing system |
WO2011108048A1 (ja) * | 2010-03-04 | 2011-09-09 | 日本電気株式会社 | ストレージ装置 |
JP5517224B2 (ja) * | 2010-03-04 | 2014-06-11 | 日本電気株式会社 | ストレージ装置 |
JP2013534007A (ja) * | 2010-06-18 | 2013-08-29 | マイクロソフト コーポレーション | データ記憶とデータ送信の最適化 |
US9256610B2 (en) | 2010-10-25 | 2016-02-09 | International Business Machines Corporation | File deduplication in a file system |
US8812460B2 (en) | 2010-10-25 | 2014-08-19 | International Business Machines Corporation | File deduplication in a file system |
US9710336B2 (en) | 2010-10-25 | 2017-07-18 | International Business Machines Corporation | File deduplication in a file system |
JP2012093827A (ja) * | 2010-10-25 | 2012-05-17 | Internatl Business Mach Corp <Ibm> | ファイルの重複を排除する装置及び方法 |
JP2014120160A (ja) * | 2012-12-12 | 2014-06-30 | Kofukin Seimitsu Kogyo (Shenzhen) Yugenkoshi | データブロックバックアップシステム及びその方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20020082851A (ko) | 2002-10-31 |
AU2001238269B2 (en) | 2006-06-22 |
CA2399555A1 (en) | 2001-08-23 |
JP4846156B2 (ja) | 2011-12-28 |
AU3826901A (en) | 2001-08-27 |
KR100860821B1 (ko) | 2008-09-30 |
EP1269350A1 (en) | 2003-01-02 |
EP1269350A4 (en) | 2006-08-16 |
WO2001061563A1 (en) | 2001-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4846156B2 (ja) | 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法 | |
US6704730B2 (en) | Hash file system and method for use in a commonality factoring system | |
AU2001296665B2 (en) | System for identifying common digital sequences | |
US9967298B2 (en) | Appending to files via server-side chunking and manifest manipulation | |
AU2001238269A1 (en) | Hash file system and method for use in a commonality factoring system | |
US9454318B2 (en) | Efficient data storage system | |
US9183213B2 (en) | Indirection objects in a cloud storage system | |
US8694564B2 (en) | Method and system for providing on-demand services through a virtual file system at a computing device | |
AU2001296665A1 (en) | System for identifying common digital sequences | |
Kumar et al. | Differential Evolution based bucket indexed data deduplication for big data storage | |
US11436108B1 (en) | File system agnostic content retrieval from backups using disk extents | |
Bhagwat | DOCTOR OF PHILOSOPHY in COMPUTER SCIENCE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070530 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101210 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110314 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110729 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110808 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110927 |
|
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: 20111012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4846156 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |