Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
67 words
A computerized method for shrinking a file that is subdivided into allocation units comprising: determining a target size for the file; setting an allocation fence address for the file, wherein the allocation fence address corresponds to the target size; moving data stored in each allocation unit above the fence address to an allocation unit below the fence address; and deleting the allocation units above the fence address.
Claim 2
Dependent Claim
67 words
A computerized method for shrinking a file that is subdivided into allocation units comprising: determining a target size for the file; setting an allocation fence address for the file, wherein the allocation fence address corresponds to the target size; moving data stored in each allocation unit above the fence address to an allocation unit below the fence address; and deleting the allocation units above the fence address.
Claim 3
Dependent Claim
61 words
The computerized method of claim 1 , wherein determining the target size comprises: estimating the target size based on a number of allocation units having data stored therein; comparing the estimated target size to an original size for the file when it was created; and setting the target size to the greater of the estimated target size and the original size.
Claim 4
Dependent Claim
26 words
The computerized method of claim 2 , wherein the estimated target size is further based on a number of allocation units having no data stored therein.
Claim 5
Dependent Claim
50 words
The computerized method of claim 1 , further comprising: scanning the allocation units above the fence address when all the data have been moved to allocation units below the fence; and moving any new data stored in an allocation unit above the fence to an allocation unit above the fence.
Claim 6
Dependent Claim
34 words
The computerized method of claim 1 , wherein moving the data comprises: examining each allocation unit above the fence starting at a tail of the file and terminating when the fence address is reached.
Claim 7
Dependent Claim
31 words
The computerized method of claim 1 , wherein the data on an allocation unit is one of a plurality of data types and the data is moved based on the type.
Claim 8
Dependent Claim
33 words
The computerized method of claim 6 , further comprising: if the type of the data is heap data, deleting the data; reinserting the deleted data; and dellocating the allocation unit above the page.
Claim 9
Dependent Claim
62 words
The computerized method of claim 6 , further comprising: if the type of the data is clustered data, extracting a cluster key from the data; searching a key structure to find a lowest parent for the data based on the cluster key; moving the data below the fence; updating links to the lowest parent; and deallocating the allocation unit above the fence.
Claim 10
Dependent Claim
38 words
The computerized method of claim 6 , further comprising: if the type of the data is text data, deleting the data on each allocation unit above the fence that contains related text data; and reinserting the deleted data.
Claim 11
Dependent Claim
64 words
The computerized method of claim 6 , further comprising: if the type of the data is intermediate index node data, extracting an index key from the data; searching a key structure to find a lowest parent for the data based on the index key; moving the data below the fence; updating links to the lowest parent; and deallocating the allocation unit above the fence.
Claim 12
Dependent Claim
37 words
The computerize method of claim 6 , further comprising: if the type of the data is root index node data, moving the data on each allocation unit above the fence that contains related root index node data.
Claim 13
Dependent Claim
31 words
The computerized method of claim 6 , further comprising: if the type of the data is logical log data, moving the data and deleting the allocation units in a deferred manner.
Claim 14
Dependent Claim
28 words
The computerized method of claim 12 , wherein determining the target size comprises: calculating an amount of space used during a set time period as the target size.
Claim 15
Dependent Claim
30 words
The computerize method of claim 1 , further comprising: securing exclusive use of the data before moving the data; and releasing the data from exclusive use after moving the data.
Claim 16
Dependent Claim
64 words
A computer-readable medium having computer-executable modules comprising: a set fence module that places an allocation fence in a file; a compress to fence module that scans the file from a tail end until the fence; and a move page module that moves data in the file above the fence to below the fence when the compress to fence module finds data above the fence.
Claim 17
Dependent Claim
64 words
A computer-readable medium having computer-executable modules comprising: a set fence module that places an allocation fence in a file; a compress to fence module that scans the file from a tail end until the fence; and a move page module that moves data in the file above the fence to below the fence when the compress to fence module finds data above the fence.
Claim 18
Dependent Claim
41 words
The computer-readable medium of claim 15 , further comprising a plurality of move modules specific to a type of data that are invoked by the move page module when a corresponding data type is found by the compress to fence module.
Claim 19
Dependent Claim
63 words
The computer-readable medium of claim 15 , wherein the plurality of move modules comprise: a move index page module that moves index data below the fence; a move head page module that moves heap data below the fence; a move text page module that moves text data below the fence; and a move allocation page module that move allocation data below the fence.
Claim 20
Dependent Claim
98 words
A computerized system comprising: a processing unit; a system memory coupled to the processing unit through a system bus; a computer-readable medium coupled to the processing unit through a system bus; and a shrink facility executed from the computer-readable medium by the processing unit, wherein the shrink facility causes the processing unit to place an allocation fence in a file, scan the file from a tail end to the allocation fence, move data found in the file allocation units above the fence to file allocation units below the fence, and delete the file allocation units above the fence.
Claim 21
Dependent Claim
98 words
A computerized system comprising: a processing unit; a system memory coupled to the processing unit through a system bus; a computer-readable medium coupled to the processing unit through a system bus; and a shrink facility executed from the computer-readable medium by the processing unit, wherein the shrink facility causes the processing unit to place an allocation fence in a file, scan the file from a tail end to the allocation fence, move data found in the file allocation units above the fence to file allocation units below the fence, and delete the file allocation units above the fence.
Claim 22
Dependent Claim
44 words
The computerized system of claim 18 , flirther comprising: a file allocation manager executed from the computer-readable by the processing unit, wherein the file allocation manager is coupled to the shrink facility and is responsive to the allocation fence being placed in the file.
Claim 23
Dependent Claim
33 words
The computerized system of claim 19 , wherein the shrink facility invokes the file allocation unit to cause the processing unit to allocate appropriate new allocation units in the file below the fence.
Claim 24
Dependent Claim
39 words
The computerized system of 19 , wherein the file allocation manager causes the processing unit to move the allocation fence toward the tail of the file when data to be stored in the file cannot fit below the fence.
Claim 25
Dependent Claim
39 words
The computerized system of 19 , wherein the file allocation manager causes the processing unit to move the allocation fence toward the tail of the file when data to be stored in the file cannot fit below the fence.