History preservation in a computer storage system
First Claim
1. A computer implemented method of by which a distributed disk-based data storage system is organized for protecting historical records of stored data entities, the method comprising the following steps performed by computer hardware:
- recording distinct states of entities, corresponding to distinct moments of time, as separate entity versions coexisting within the data storage system, the recording comprising;
storing blocks of content that constitute the entity versions; and
storing references to blocks of stored content to record blocks with identical content;
assigning, within the storage system, expiration times to entity versions, before which times both modification and deletion are prohibited;
determining a plurality of non-overlapping time intervals and associating with a block of stored content a plurality of reference counts, with each of the plurality of reference counts associated with one of the time intervals;
associating with the block of stored content a plurality of expiration times assigned to a plurality of entity versions that the block is a constituent of;
recording an approximation of the plurality of expiration times associated with the block of stored content by using the plurality of reference counts associated with the block, with each reference count recording a number of expiration times that fall in the time interval associated with the reference count; and
determining an expiration time for the block of stored content from the plurality of reference counts, before which time both modification and deletion are prohibited;
wherein each of the time intervals has a specified beginning time; and
wherein a one of the plurality of reference counts is incremented before its specified beginning time.
4 Assignments
0 Petitions
Accused Products
Abstract
A method by which a disk-based distributed data storage system is organized for protecting historical records of stored data entities. The method comprises recording distinct states of an entity, corresponding to different moments of time, as separate entity versions coexisting within the distributed data storage system, and assigning expiration times to the entity versions independently within each of a plurality of storage sites according to a shared set of rules, before which times deletion is prohibited.
54 Citations
24 Claims
-
1. A computer implemented method of by which a distributed disk-based data storage system is organized for protecting historical records of stored data entities, the method comprising the following steps performed by computer hardware:
-
recording distinct states of entities, corresponding to distinct moments of time, as separate entity versions coexisting within the data storage system, the recording comprising; storing blocks of content that constitute the entity versions; and storing references to blocks of stored content to record blocks with identical content; assigning, within the storage system, expiration times to entity versions, before which times both modification and deletion are prohibited; determining a plurality of non-overlapping time intervals and associating with a block of stored content a plurality of reference counts, with each of the plurality of reference counts associated with one of the time intervals; associating with the block of stored content a plurality of expiration times assigned to a plurality of entity versions that the block is a constituent of; recording an approximation of the plurality of expiration times associated with the block of stored content by using the plurality of reference counts associated with the block, with each reference count recording a number of expiration times that fall in the time interval associated with the reference count; and determining an expiration time for the block of stored content from the plurality of reference counts, before which time both modification and deletion are prohibited; wherein each of the time intervals has a specified beginning time; and wherein a one of the plurality of reference counts is incremented before its specified beginning time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification