Project-based configuration management method and apparatus
First Claim
1. A computer-readable storage medium having computer-executable instructions for performing a method for constructing a desired one of a plurality of configurations of a project, at the request of a user, each of said configurations comprising multiple files, each file having one or more versions, wherein a history of versions is separately tracked for each file in each configuration, the desired configuration being one of said plurality of configurations of the project as of a desired prior time, comprising:
- determining a configuration identifier for the desired configuration;
identifying versions of the multiple files that are to be included in the desired configuration as a set of the versions that are associated with the configuration identifier at the desired prior time, wherein the history of versions separately tracked for at least one of the multiple files includes a version that is the same as a version in a history of versions separately tracked for that file in a different configuration; and
determining whether the user that has requested the desired configuration has access privileges for the file versions that comprise the desired configuration, and if so, assembling the set of versions to construct the desired configuration.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
34 Citations
2 Claims
-
1. A computer-readable storage medium having computer-executable instructions for performing a method for constructing a desired one of a plurality of configurations of a project, at the request of a user, each of said configurations comprising multiple files, each file having one or more versions, wherein a history of versions is separately tracked for each file in each configuration, the desired configuration being one of said plurality of configurations of the project as of a desired prior time, comprising:
-
determining a configuration identifier for the desired configuration; identifying versions of the multiple files that are to be included in the desired configuration as a set of the versions that are associated with the configuration identifier at the desired prior time, wherein the history of versions separately tracked for at least one of the multiple files includes a version that is the same as a version in a history of versions separately tracked for that file in a different configuration; and determining whether the user that has requested the desired configuration has access privileges for the file versions that comprise the desired configuration, and if so, assembling the set of versions to construct the desired configuration.
-
-
2. A system for constructing a desired one of a plurality of configurations of a project, at the request of the user, each of said configurations comprising multiple files, each file having one or more versions, wherein a history of versions is separately tracked for each file in each configuration, the desired configuration being one of said plurality of configurations of the project as of a desired prior time, comprising:
-
means for determining a configuration identifier for the desired configuration; means for identifying versions of the multiple files that are to be included in the desired configuration as a set of the versions that are associated with the configuration identifier at the desired prior time, wherein the history of versions separately tracked for at least one of the multiple files includes a version that is the same as a version in a history of versions separately tracked for that file in a different configuration; and means for determining whether the user that has requested the desired configuration has access privileges for the file versions that comprise the desired configuration; and means for assembling the set of versions to construct the desired configuration.
-
Specification