← Back to Patent Explorer
US6704730B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Hash file system and method for use in a commonality factoring system

Assignee: EMC Corp
•
Filing: 2001-02-05
•
Granted: 2004-03-09
•
Expires: 2021-02-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for a computer file system that is based and organized upon hashes and/or strings of digits of certain, different, or changing lengths and which is capable of eliminating or screening redundant copies of aggregate blocks of data (or parts of data blocks) from the system. The hash file system of the present invention utilizes hash values for computer files or file pieces which may be produced by a checksum generating program, engine or algorithm such as industry standard MD4, MD5, SHA or SHA-1 algorithms. Alternatively, the hash values may be generated by a checksum program, engine, algorithm or other means that produces an effectively unique hash value for a block of data of indeterminate size based upon a non-linear probablistic mathematical algorithm.

Inventors

  • 👤 Gregory Hagan Moulton
  • 👤 Stephen B. Whitehill

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 20:31
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1446; G06F11/1448; G06F11/1453; G06F16/00; G06F16/10; G06F16/13; G06F16/137; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99936; Y10S707/99937; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 94 words
A computing environment comprising: at least one list for maintaining portions of digital sequences and corresponding probabilistically unique identifiers for each of said portions of said digital sequences; at least one new digital sequence; at least one partitioning mechanism for dividing said new digital sequence into a plurality of shorter digital sequences and producing a probabilistically unique identifier for each of said shorter digital sequences; and a comparison mechanism for determining if any one of said probabilistically unique identifiers for each of said plurality of shorter digital sequences is currently maintained in said list.
Claim 2
Dependent Claim 94 words
A computing environment comprising: at least one list for maintaining portions of digital sequences and corresponding probabilistically unique identifiers for each of said portions of said digital sequences; at least one new digital sequence; at least one partitioning mechanism for dividing said new digital sequence into a plurality of shorter digital sequences and producing a probabilistically unique identifier for each of said shorter digital sequences; and a comparison mechanism for determining if any one of said probabilistically unique identifiers for each of said plurality of shorter digital sequences is currently maintained in said list.
Claim 3
Dependent Claim 17 words
The computing environment of claim 1 wherein said at least one list comprises a plurality or lists.
Claim 4
Dependent Claim 20 words
The computing environment of claim 2 wherein said plurality of lists, each contain a portion of said probabilistically unique identifiers.
Claim 5
Dependent Claim 26 words
The computing environment of claim 2 wherein at least one of said plurality of lists is physically displaced from others of said at least one list.
Claim 6
Dependent Claim 18 words
The computing environment of claim 4 wherein said plurality of lists are coupled by means of a network.
Claim 7
Dependent Claim 19 words
The computing environment of claim 2 wherein said plurality of lists is partitioned based on said probabilistically unique identifiers.
Claim 8
Dependent Claim 22 words
The computing environment of claim 1 wherein said at least one list is physically displaced from said at least one partitioning mechanism.
Claim 9
Dependent Claim 41 words
The computing environment of claim 7 wherein said comparison mechanism is operative to utilize at least a portion of said probabilistically unique identifiers for each of said plurality of said shorter digital sequences as a locator correlated with said list partitions.
Claim 10
Dependent Claim 14 words
The computing environment of claim 1 wherein said list comprises a physically distributed database.
Claim 11
Dependent Claim 26 words
The computing environment of claim 1 wherein said at least one partitioning mechanism and said at least one list are coupled by means of a network.
Claim 12
Dependent Claim 17 words
The computing environment of claim 10 wherein said network comprises a public network such as the internet.
Claim 13
Dependent Claim 22 words
The computing environment of claim 11 wherein said at least one partitioning mechanism and said at least one list are physically distributed.
Claim 14
Dependent Claim 19 words
The computing environment of claim 1 wherein said probabilistically unique identifiers are produced by means of a hash function.
Claim 15
Dependent Claim 16 words
The computing environment of claim 13 wherein said hash function comprises an industry standard digest algorithm.
Claim 16
Dependent Claim 19 words
The computing environment of claim 14 wherein said has function comprises one of MD4, MD5 SHA or SHA-1 algorithms.
Claim 17
Dependent Claim 18 words
The computing environment of claim 13 wherein said probabilistically unique identifiers are produced by means of a checksum.
Claim 18
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequences are of variable length.
Claim 19
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequences are of invariable length.
Claim 20
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequence comprises a data file.
Claim 21
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequence comprises a data stream.
Claim 22
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequence comprises an executable file.
Claim 23
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequence comprises a database record.
Claim 24
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequence comprises a database index.
Claim 25
Dependent Claim 15 words
The computing environment of claim 1 wherein said digital sequence comprises a digital device image.
Claim 26
Dependent Claim 14 words
The computing environment of claim 1 wherein said digital sequence comprises a network packet.
Claim 27
Dependent Claim 15 words
The computing environment of claim 1 wherein said digital sequence comprises a digitized analog signal.
Claim 28
Dependent Claim 42 words
The computing environment of claim 1 wherein any of said probabilistically unique identifiers and corresponding ones of said plurality of shorter digital sequences not determined to be maintained in said at least one list are added to said at least one list.
Claim 29
Independent Claim 63 words
A method for establishing an identifier for at least a portion of a digital sequence comprising: performing a function on said at least a portion of said digital sequence to produce a probabilistically unique symbol therefore; establishing a correspondence between said at least a portion of said digital sequence and said probabilistically unique symbol; and utilizing said probabilistically unique symbol as said identifier.
Claim 30
Independent Claim 63 words
A method for establishing an identifier for at least a portion of a digital sequence comprising: performing a function on said at least a portion of said digital sequence to produce a probabilistically unique symbol therefore; establishing a correspondence between said at least a portion of said digital sequence and said probabilistically unique symbol; and utilizing said probabilistically unique symbol as said identifier.
Claim 31
Dependent Claim 27 words
The method of claim 28 wherein said identifier and said corresponding at least a portion of said digital sequence are maintained in at least one data list.
Claim 32
Dependent Claim 39 words
The method of claim 29 wherein at least a portion of said identifier is utilizable as a pointer to a location of said corresponding at least a portion of said digital sequence within said at least one data list.
Claim 33
Dependent Claim 43 words
The method of claim 28 herein said at least a portion of said digital sequence comprises at least a portion of a data file and said identifier is uniquely related to a content of said at least a portion of said data file.
Claim 34
Dependent Claim 43 words
The method of claim 28 wherein said at least a portion of said digital sequence comprises at least a portion of a data stream and said identifier is uniquely related to a content of said at least a portion of said data stream.
Claim 35
Dependent Claim 43 words
The method of claim 28 wherein said at least a portion of said digital sequence comprises at least a portion of an executable file and said identifier is uniquely related to a content of said at least a portion of said executable file.
Claim 36
Dependent Claim 35 words
The method of claim 28 wherein said step of performing a function is carried out by the step of: hashing said at least a portion of said digital sequence to produce said probabilistically unique symbol.
Claim 37
Dependent Claim 21 words
The method of claim 34 wherein said step of hashing is carried out by means of an industry standard digest algorithm.
Claim 38
Dependent Claim 25 words
The method of claim 35 wherein said step of hashing is carried out by means of one of an MD4, MD5, SHA or SHA-1 algorithm.
Claim 39
Dependent Claim 111 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for establishing an identifier for at least a portion of a digital sequence comprising: computer readable program code devices configured to cause a computer to effect performing a function on said at least a portion of said digital sequence to produce a probabilistically unique symbol therefore; computer readable program code devices configured to cause a computer to effect establishing a correspondence between said at least a portion of said digital sequence and said probabilistically unique symbol; and computer readable program code devices configured to cause a to effect utilizing said probabilistically unique symbol as said identifier.
Claim 40
Dependent Claim 111 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for establishing an identifier for at least a portion of a digital sequence comprising: computer readable program code devices configured to cause a computer to effect performing a function on said at least a portion of said digital sequence to produce a probabilistically unique symbol therefore; computer readable program code devices configured to cause a computer to effect establishing a correspondence between said at least a portion of said digital sequence and said probabilistically unique symbol; and computer readable program code devices configured to cause a to effect utilizing said probabilistically unique symbol as said identifier.
Claim 41
Dependent Claim 29 words
The computer program product of claim 37 wherein said identifier and said corresponding at least a portion of said digital sequence are maintained in at least one data list.
Claim 42
Dependent Claim 41 words
The computer program product of claim 38 wherein at least a portion of said identifier is utilizable as a pointer to a location of said corresponding at least a portion of said digital sequence within said at least one data list.
Claim 43
Dependent Claim 45 words
The computer program product of claim 37 wherein said at least a portion of said digital sequence comprises at least a portion of a data file and said identifier is uniquely related to a content of said at least a portion of said data file.
Claim 44
Dependent Claim 45 words
The computer program product of claim 37 wherein said at least a portion of said digital sequence comprises at least a portion of a data stream and said identifier is uniquely related to a content of said at least a portion of said data stream.
Claim 45
Dependent Claim 45 words
The computer program product of claim 37 wherein said at least a portion of said digital sequence comprises at least a portion of an executable file and said identifier is uniquely related to a content of said at least a portion of said executable file.
Claim 46
Dependent Claim 56 words
The computer program product of claim 37 wherein said computer readable program code devices configured to cause a computer to effect performing a function is carried out by: computer readable program code devices configured to cause a computer to effect hashing said at least a portion of said digital sequence to produce said probabilistically unique symbol.
Claim 47
Dependent Claim 33 words
The computer program product of claim 43 wherein said computer readable program code devices configured to cause a computer to effect hashing is carried out by means of an industry standard digest algorithm.
Claim 48
Dependent Claim 37 words
The computer program product of claim 44 wherein said computer readable program code devices configured to cause a computer to effect hashing is carried out by means of one of an MD4, MD5, SHA or SHA-1 algorithm.

References Cited (Backward Citations)

US3668647A Cited
US4215402A Cited
US4404676A Cited
US4887235A Cited
US4649479A Cited
US4901223A Cited
US4761785A Cited
US4761785B1 Cited
US4887204A Cited
US4897781A Cited
US5005122A Cited
US5109515A Cited
US5606719A Cited
US5146568A Cited
US4982324A Cited
US5126739A Cited
US5016009A Cited
US5089958A Cited
US5018060A Cited
US4929946A Cited
US5535407A Cited
US5239637A Cited
US5454099A Cited
US5133065A Cited
US5163148A Cited
US5355453A Cited
US5276867A Cited
US5276860A Cited
US5218695A Cited
US5379418A Cited
US5479654A Cited
US5524205A Cited
US5239647A Cited
US5317728A Cited
US5210866A Cited
US5162986A Cited
US5155835A Cited
US5278838A Cited
US5239659A Cited
US5347653A Cited
US5305389A Cited
US5140321A Cited
US5281967A Cited
US5325505A Cited
US5367698A Cited
US5559991A Cited
US5751936A Cited
US5802264A Cited
US5452454A Cited
US5367637A Cited
US5263154A Cited
US5448718A Cited
US5586322A Cited
US5406279A Cited
US5403639A Cited
US5497483A Cited
US5640561A Cited
US5404508A Cited
US5487160A Cited
US5404527A Cited
US5696901A Cited
US5544320A Cited
US5659747A Cited
US5649196A Cited
US5452440A Cited
US5521597A Cited
US5515502A Cited
US5771354A Cited
US6085298A Cited
US5574906A Cited
US5659743A Cited
US5513314A Cited
WO1996025801A1 Cited
US5990810A Cited
US5604862A Cited
US5978791A Cited
US5802297A Cited
US5742811A Cited
US5778395A Cited
US5933104A Cited
US5754844A Cited
US6219423B1 Cited
US5765173A Cited
US5831558A Cited
US5915024A Cited
US5850565A Cited
US5794254A Cited
US6014676A Cited
US6141421A Cited
US6044220A Cited
US6016553A Cited
US6268809B1 Cited
US6029168A Cited
US6122754A Cited
US6307487B1 Cited
US6320520B1 Cited
US6170744B1 Cited
US6553494B1 Cited
US6377907B1 Cited
US6535894B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-03-09 2007-09-08 2008-03-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-03-09 2011-09-08 2012-03-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-03-09 2015-09-08 2016-03-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag