Patent ID: 8095516

Claim:
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.