← Back to Patent Explorer
US5761678A Expired / Lapsed US ⏱️ 0.0 years remaining

Creation of clone storage area with identification of base storage area and deferred cloning of metadata

Assignee: International Business Machines Corp
•
Filing: 1996-06-26
•
Granted: 1998-06-02
•
Expires: 2016-06-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Edward Joseph Bendert
  • 👤 Robert Bradley Bennett
  • 👤 Eugene Johnson
  • 👤 Robert Michael Nugent
  • 👤 James Michael Showalter

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 17:24
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F16/00; G06F16/10; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/955; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99955

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 166 words
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.
Claim 2
Independent Claim 166 words
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.
Claim 3
Dependent Claim 58 words
A method as set forth in claim 1 further comprising the step of incrementing a clone storage area count field in said base storage area pursuant to said request to clone said base storage area and wherein the step of determining that said clone storage area exists comprises the step of reading said clone storage area count field.
Claim 4
Dependent Claim 83 words
A method as set forth in claim 1 wherein there is said request to update said portion of said one object, and further comprising the steps of: receiving a subsequent request to delete said one object, and in response, deleting the updated portion copy and deleting the metadata for said object from said base storage area but maintaining said one object without said updated portion copy and the metadata in said clone storage area for said one object without said update portion copy.
Claim 5
Dependent Claim 25 words
A method as set forth in claim 1 wherein said objects are files and said base storage area is a file set or file space.
Claim 6
Dependent Claim 15 words
A method as set forth in claim 4 wherein said files comprise metadata and data.
Claim 7
Dependent Claim 13 words
A method as set forth in claim 1 wherein said objects comprise metadata.
Claim 8
Dependent Claim 29 words
A method as set forth in claim 1 wherein there is said subsequent request, and said metadata for the other objects is not copied to said clone storage area.
Claim 9
Dependent Claim 50 words
A method as set forth in claim 1 further comprising the subsequent steps of 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 for any of the multiple objects.
Claim 10
Dependent Claim 60 words
A method as set forth in claim 2 further comprising the step of receiving a request to delete said clone storage area, and in response, decrementing said clone storage area count field in said base storage area, deleting said portion without said update and deleting said metadata in said clone storage area and said identification in said clone storage area.
Claim 11
Independent Claim 294 words
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.
Claim 12
Independent Claim 294 words
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.
Claim 13
Dependent Claim 53 words
A method as set forth in claim 10 wherein there is said request to update said other object and further comprising the subsequent step of: receiving a request to delete the first said clone storage area, and in response, deleting said first clone storage area and said one object without the respective update.
Claim 14
Independent Claim 208 words
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.
Claim 15
Independent Claim 208 words
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.
Claim 16
Dependent Claim 164 words
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.
Claim 17
Dependent Claim 164 words
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.
Claim 18
Dependent Claim 199 words
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 wherein each of said program instruction means is recorded on said medium.
Claim 19
Dependent Claim 199 words
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 wherein each of said program instruction means is recorded on said medium.
Claim 20
Independent Claim 227 words
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.
Claim 21
Independent Claim 227 words
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.
Claim 22
Independent Claim 180 words
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.
Claim 23
Independent Claim 180 words
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.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-01 2001-12-01 2002-06-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-01 2005-12-01 2006-06-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-01 2009-12-01 2010-06-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag