Method and apparatus for storing data with reduced redundancy using data clusters
First Claim
Patent Images
1. A method for storing a BLOB comprising:
- dividing the BLOB into a plurality of subblocks;
storing the subblocks in a plurality of clusters; and
creating a representation of the BLOB as a plurality of spans, where each span identifies a sequence of subblocks within a cluster and where at least one subblock is referred to by more than one span.
11 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for storing data in a reduced redundancy form. Binary Large Objects (BLOBs) are partitioned into subblocks according to a partitioning method, and the subblocks are stored in subblock clusters. Each BLOB is represented as a list of spans of subblocks which identifies a contiguous sequence of subblocks within a cluster. Storage redundancy can be reduced because the spans of two different BLOBs can refer to the same subblocks. An index may be used to map subblock hashes to subblock cluster numbers.
204 Citations
60 Claims
-
1. A method for storing a BLOB comprising:
-
dividing the BLOB into a plurality of subblocks;
storing the subblocks in a plurality of clusters; and
creating a representation of the BLOB as a plurality of spans, where each span identifies a sequence of subblocks within a cluster and where at least one subblock is referred to by more than one span. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 59, 60)
-
-
14. A method for storing a set of data comprising:
-
dividing the data into a plurality of subblocks;
storing the subblocks in a plurality of clusters; and
creating a representation of the set of data as a plurality of spans, where each span identifies a sequence of subblocks within a cluster and where at least one subblock is referred to by more than one span. - View Dependent Claims (15, 16, 17)
-
-
50. A data processing apparatus for storing a BLOB of data comprising:
-
data processing means for dividing the BLOB into two or more subblocks;
data storage means for storing the subblocks in one or more clusters; and
for representing the BLOB as an ordered list of spans or a tree of spans, where each span identifies a sequence of one or more contiguous subblocks within a cluster and where at least one subblock is referred to by more than one span.
-
-
53. A computer readable memory, encoded with data representing a computer program, that can be used to direct a programmable device for storing a BLOB of data, comprising:
-
processing means for operating the computer readable memory to divide the BLOB into two or more subblocks;
data storage means usable by the computer readable memory for storing the subblocks in one or more clusters; and
for representing the BLOB as an ordered list of spans or a tree of spans, where each span identifies a sequence of one or more contiguous subblocks within a cluster and where at least one subblock is referred to by more than one span. - View Dependent Claims (54, 55)
-
-
56. A computer program element comprising a computer program code means for storing a BLOB of data to make a programmable device execute:
-
a first function of dividing the BLOB into a plurality of subblocks;
a second function of storing the subblocks in a plurality of clusters; and
a third function of representing the BLOB as a group of associated spans, where each span identifies a sequence of one or more subblocks within a cluster and where at least one subblock is referred to by more than one span. - View Dependent Claims (57, 58)
-
Specification