Creation of clone storage area with identification of base storage area and deferred cloning of metadata
First Claim
1. A method for managing objects in a computer system, said method comprising the steps of:
- receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object;
in response to said request, creating a clone storage area containing an identification of said base storage area but not containing said metadata; and
if there is a subsequent request to update a portion of one of said objects, then determining that said clone storage area exists and consequently copying said portion, copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion,if there is no subsequent request to update any of said multiplicity of objects, then not copying the metadata for any of said multiplicity of objects into said clone storage area.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method efficiently manage clones of an object group. A base storage area contains metadata for each of multiple objects in the object group. The metadata for each object identifies data within each object. The system receives a request to clone a base storage area, and in response, the system creates a clone storage area containing an identification of the base storage area but not the metadata. If there is a subsequent request to update a portion of one of the objects, then the system copies the portion, copies the metadata into the clone storage area for the one object, makes the update to the object copy and changes the metadata in the base storage area to identify the portion copy instead of the original portion. If there is no subsequent request to update any of the multiplicity of objects, then the system does not copy the metadata for any of the multiplicity of objects into the clone storage area.
217 Citations
16 Claims
-
1. A method for managing objects in a computer system, said method comprising the steps of:
-
receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; in response to said request, creating a clone storage area containing an identification of said base storage area but not containing said metadata; and if there is a subsequent request to update a portion of one of said objects, then determining that said clone storage area exists and consequently copying said portion, copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion, if there is no subsequent request to update any of said multiplicity of objects, then not copying the metadata for any of said multiplicity of objects into said clone storage area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing objects, said method comprising the steps of:
-
receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; in response to said request, creating a clone storage area containing an identification of said base storage area but not containing said metadata, and if there is a subsequent request to update a portion of one of said objects, then copying said portion, copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion, if there is no subsequent request to update any of said multiplicity of objects, then not copying the metadata for any of said multiplicity of objects into said clone storage area; and receiving another request to clone said base storage area, and in response, creating another clone storage area containing an identification of said base storage area but not containing said metadata, and wherein there is said request to update said one object, and if there is another, subsequent request to update a portion of another of said objects, then copying said other object portion, copying the metadata from said base storage area into said other clone storage area for said other object, making the requested update to said other object portion copy and changing said metadata in said base storage area to identify said other object portion copy, if there is no other subsequent request to update any of said multiplicity of objects, then not copying said metadata for any of said multiplicity of objects into said other clone storage area. - View Dependent Claims (11)
-
-
12. A method for managing objects, said method comprising the steps of:
-
receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; in response to said request, creating a clone storage area containing an identification of said base storage area but not containing said metadata; and if there is a subsequent request to update a portion of one of said objects, then copying said portion copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion, if there is no subsequent request to update any of said multiplicity of objects, then not copying the metadata for any of said multiplicity of objects into said clone storage area, receiving another request to clone said base storage area, and in response, creating another clone storage area containing an identification of said base storage area but not containing said metadata, and wherein both the first said clone storage area and said other clone storage area are maintained after said other clone storage area is created.
-
-
13. A computer system for managing objects, said system comprising:
-
means for receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; and means, responsive to said request, for creating a clone storage area containing an identification of said base storage area but not containing said metadata, and if there is a subsequent request to update a portion of one of said objects, then determining that said clone storage area exists and consequently copying said portion, copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion, if there is no subsequent request to update any of said multiplicity of objects, then not copying the metadata for any of said multiplicity of objects into said clone storage area.
-
-
14. A computer program product for managing objects, said computer program product comprising:
-
a computer readable medium; first program instruction means for instructing a processor to receive a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; and second program instruction means, responsive to said request, for instructing a processor to create a clone storage area containing an identification of said base storage area but not containing said metadata, and if there is a subsequent request to update a portion of one of said objects, to determine that said clone storage area exists and consequently copy said portion, copy said metadata into said clone storage area for said one object, make said update to the portion copy and change said metadata in said base storage area to identify said portion copy instead of said portion, if there is no subsequent request to update any of said multiplicity of objects, then not to copy the metadata for any of said multiplicity of objects into said clone storage area; and
whereineach of said program instruction means is recorded on said medium.
-
-
15. A method for managing objects in a computer system, said method comprising the steps of:
-
receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; in response to said request, creating a clone storage area containing an identification of said base storage area but not containing said metadata; receiving a subsequent request to update a portion of one of said objects, and in response, copying said portion, copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion; receiving another request to clone said base storage area, and in response, creating another clone storage area containing an identification of said base storage area but not containing said metadata; and receiving another, subsequent request to update a portion of another of said objects, and in response, copying said portion of said other object, copying the metadata from said base storage area into said other clone storage area for said other object, making the requested update to said portion copy of said other object and changing said metadata in said base storage area to identify said portion copy of said other object.
-
-
16. A method for managing objects in a computer system, said method comprising the steps of:
-
receiving a request to clone a base storage area, said base storage area containing metadata for each of multiple objects, said metadata for each object identifying data within said each object; in response to said request, creating a clone storage area containing an identification of said base storage area but not containing said metadata; receiving a subsequent request to update a portion of one of said objects, and in response, copying said portion, copying said metadata into said clone storage area for said one object, making said update to the portion copy and changing said metadata in said base storage area to identify said portion copy instead of said portion; receiving another request to clone said base storage area, and in response, creating another clone storage area containing an identification of said base storage area but not containing said metadata; and wherein both the first said clone storage area and said other clone storage area are maintained after said other clone storage area is created.
-
Specification