Claims
- 1. A method of distributing metadata, comprising:
generating one or more copies of metadata, wherein the one or more copies of metadata are copies of source metadata stored in a data source computing device and wherein the one or more copies and the source metadata constitute a family of metadata copies; modifying a portion of at least one copy of the metadata in the family of metadata copies; and propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies.
- 2. The method of claim 1, wherein modifying a portion of at least one copy of the metadata includes modifying the metadata to point to a new data location to which the data is copied.
- 3. The method of claim 1, wherein propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies includes:
identifying one or more locations of the other copies of the metadata in the family of metadata copies; and sending an update instruction to the one or more locations indicating the modification.
- 4. The method of claim 1, wherein modifying a portion of at least one copy of the metadata in the family of metadata copies includes:
obtaining a lock on a physical storage location of data associated with the portion of at least one copy of the metadata; modifying the data at the physical storage location to generate modified data; and modifying the portion of at least one copy of the metadata to point to the modified data.
- 5. The method of claim 4, wherein the physical storage location is a location to which a copy of data stored in an original physical storage location, to which the portion of at least one copy of the metadata originally pointed, is written.
- 6. The method of claim 4, wherein modifying the data at the physical storage location includes:
copying the data at the physical storage location to a new physical storage location; and modifying the copy of the data in the new physical storage location, wherein modifying the portion of at least one copy of metadata to point to the modified data includes modifying the portion of at least one copy of metadata to point to the new physical storage location.
- 7. The method of claim 6, wherein propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies includes modifying all other copies of the metadata in the family of metadata copies to point to the new physical storage location.
- 8. The method of claim 3, wherein identifying the one or more locations of the other copies of the metadata in the family of metadata copies includes retrieving the one or more locations from a data structure used to keep track of locations of copies of metadata.
- 9. The method of claim 4, further comprising:
maintaining a list of locks for each physical storage location of a data storage device; and maintaining a list of locations of all copies of the metadata.
- 10. The method of claim 4, further comprising:
releasing the lock only when all copies of the metadata in the family of metadata families have been updated to point to the modified data.
- 11. The method of claim 4, further comprising:
sending an update instruction to each location where a copy of the metadata in the family of metadata copies is located; determining if each location has transmitted an acknowledgement of completion of updating a local copy of the metadata; and releasing the lock only when each location has transmitted an acknowledgement of completion of updating a location copy of the metadata.
- 12. A system for distributing metadata, comprising:
means for generating one or more copies of metadata, wherein the one or more copies of metadata are copies of source metadata stored in a data source computing device and wherein the one or more copies and the source metadata constitute a family of metadata copies; means for modifying a portion of at least one copy of the metadata in the family of metadata copies; and means for propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies.
- 13. The system of claim 12, wherein the means for modifying a portion of at least one copy of the metadata includes means for modifying the metadata to point to a new data location to which the data is copied.
- 14. The system of claim 12, wherein the means for propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies includes:
means for identifying one or more locations of the other copies of the metadata in the family of metadata copies; and means for sending an update instruction to the one or more locations indicating the modification.
- 15. The system of claim 12, wherein the means for modifying a portion of at least one copy of the metadata in the family of metadata copies includes:
means for obtaining a lock on a physical storage location of data associated with the portion of at least one copy of the metadata; means for modifying the data at the physical storage location to generate modified data; and means for modifying the portion of at least one copy of the metadata to point to the modified data.
- 16. The system of claim 15, wherein the physical storage location is a location to which a copy of data stored in an original physical storage location, to which the portion of at least one copy of the metadata originally pointed, is written.
- 17. The system of claim 15, wherein the means for modifying the data at the physical storage location includes:
means for copying the data at the physical storage location to a new physical storage location; and means for modifying the copy of the data in the new physical storage location, wherein modifying the portion of at least one copy of metadata to point to the modified data includes modifying the portion of at least one copy of metadata to point to the new physical storage location.
- 18. The system of claim 17, wherein the means for propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies includes means for modifying all other copies of the metadata in the family of metadata copies to point to the new physical storage location.
- 19. The system of claim 14, wherein the means for identifying the one or more locations of the other copies of the metadata in the family of metadata copies includes means for retrieving the one or more locations from a data structure used to keep track of locations of copies of metadata.
- 20. The system of claim 15, further comprising:
means for maintaining a list of locks for each physical storage location of a data storage device; and means for maintaining a list of locations of all copies of the metadata.
- 21. The system of claim 15, further comprising:
means for releasing the lock only when all copies of the metadata in the family of metadata families have been updated to point to the modified data.
- 22. The system of claim 15, further comprising:
means for sending an update instruction to each location where a copy of the metadata in the family of metadata copies is located; means for determining if each location has transmitted an acknowledgement of completion of updating a local copy of the metadata; and means for releasing the lock only when each location has transmitted an acknowledgement of completion of updating a location copy of the metadata.
- 23. A computer program product in a computer readable medium for distributing metadata, comprising:
first instructions for generating one or more copies of metadata, wherein the one or more copies of metadata are copies of source metadata stored in a data source computing device and wherein the one or more copies and the source metadata constitute a family of metadata copies; second instructions for modifying a portion of at least one copy of the metadata in the family of metadata copies; and third instructions for propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies.
- 24. The computer program product of claim 23, wherein the third instructions for modifying a portion of at least one copy of the metadata include instructions for modifying the metadata to point to a new data location to which the data is copied.
- 25. The computer program product of claim 23, wherein the third instructions for propagating the modification to the at least one copy of the metadata to all other copies of the metadata in the family of metadata copies include:
instructions for identifying one or more locations of the other copies of the metadata in the family of metadata copies; and instructions for sending an update instruction to the one or more locations indicating the modification.
- 26. The computer program product of claim 23, wherein the second instructions for modifying a portion of at least one copy of the metadata in the family of metadata copies include:
instructions for obtaining a lock on a physical storage location of data associated with the portion of at least one copy of the metadata; instructions for modifying the data at the physical storage location to generate modified data; and instructions for modifying the portion of at least one copy of the metadata to point to the modified data.
RELATED APPLICATIONS
[0001] The present application is related to commonly assigned and copending U.S. patent application entitled “PROCESSING DISTRIBUTION USING INSTANT COPY,” Ser. No. 10/147,831, filed on May 17, 2002 U.S. patent application entitled “APPARATUS AND METHOD FOR INSTANT COPY OF DATA,” Ser. No. 09/884,822 and U.S. patent application entitled “APPARATUS AND METHOD FOR INSTANT COPY OF DATA IN A DYNAMICALLY CHANGEABLE VIRTUAL MAPPING ENVIRONMENT,” Ser. No. 09/884,687, both of which were filed on Jun. 19, 2001 U.S. patent application entitled “APPARATUS AND METHOD FOR CUSTOMIZATION OF ENVIRONMENTS USING INCREMENTAL CHANGES TO METADATA,” Ser. No. 10/179,557, Attorney Docket Number 2002-020-DSK, filed on Jun. 25, 2002, U.S. patent application Ser. No. 10/307,797 (Attorney Docket No. 2002-078-DSK) entitled “INDEPENDENT DISTRIBUTED METADATA SYSTEM AND METHOD,” filed on Dec. 2, 2002, all of the above applications being hereby incorporated by reference.