A configuration management system creates (602) each configuration by
assigning a configuration identifier to each configuration. In addition,
relational information is computed (706) that indicates the relationships
between the configuration and any configurations upon which it is based.
The system then tracks (604) changes to files of the configuration by
storing information associating each new file version with the
configuration identifier. The system also tracks (1210) changes to file
properties. A configuration is then reconstructed (608) as of a desired
date, by identifying (2104, 2106) the file versions and properties
associated with that configuration as of the desired date. A
determination is made (2110) whether a user that has requested the file
versions has access privileges by first checking a security cache (2600)
for the user privileges information. If the information is not on the
cache, it is computed from a security table (2800) and stored on the
cache. The system automatically compresses (3118) and reconstitutes
(3006) file versions that are stored in the version store.