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.