Patent ID: 7933870

Claim:
A computer implemented method comprising: searching a set of files for a first file associated with a persistent identifier; identifying the first file associated with the persistent identifier, the persistent identifier uniquely identifying the first file within the set of files, and the persistent identifier identifying a database record of the first file that includes one or more attributes of the first file, wherein the persistent identifier is embedded in the first file in a persistent manner so that the persistent identifier is associated with the file across file operations and operating systems; determining whether at least one value in the database record of the first file does not correspond with one or more attributes of the file including by: accessing the database record associated with the first file to obtain a recorded location, wherein the recorded location is different from a location at which the first file is located; determining whether there exists at the recorded location a second file which includes said persistent identifier; and in the event it is determined there exists at the recorded location a second file which includes said persistent identifier, determining whether the first file is a copy of the second file; and maintaining a database for managing file information including by: in the event it is determined there exists at the recorded location a second file which includes said persistent identifier and it is determined the first file is a copy of the second file: creating a second database record associated with the first file; generating a second persistent identifier which uniquely identifies the first file; updating the persistent identifier embedded in the first file to be the second persistent identifier; and storing the second database record, including by storing in the second database record the second persistent identifier; and in the event it is determined there exists at the recorded location no second file which includes said persistent identifier, updating the recorded location of the database record associated with the first file to be the location at which the first file is located.