Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-12-16
2001-06-19
Black, Thomas (Department: 2171)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000, C707S793000, C707S793000, C707S793000
Reexamination Certificate
active
06249792
ABSTRACT:
FIELD OF THE INVENTION
This invention relates generally to data management, and more particularly to shrinking the size of a data file.
COPYRIGHT
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright © 1997, Microsoft Corporation, All Rights Reserved.
BACKGROUND OF THE INVENTION
Many data management systems allow the size of a data file to grow as the amount of data stored in the file increases beyond its initial allocated size. In most systems, the file is logically subdivided into pages which are addressed by multiplying the page number by the page size. Increasing the size of a file is a simple operation as new pages are appended to the end of the file.
On the other hand, deletions from the file mean that the file size is larger than is required to hold its data. Unfortunately, reducing the size of a file is difficult since deletions usually occur randomly throughout the file. While it is possible to move data from one page to another to fill the holes in the file left by deletion, changing the physical location of a page within the file requires that the page number be modified. Therefore, shrinking a file's size has previously required unloading the file, deleting and recreating the file, and reloading the data. All of these operations must be performed when there are no database users present to prevent corrupted data. Preventing user access to the database during the shrinking process can range from merely inconvenient, in the case of a small file, to highly disruptive.
Therefore, there is a need in the art for a mechanism to reduce the physical size of a data file while the data in the file is being read and updated by on-line users
SUMMARY OF THE INVENTION
The above-mentioned shortcomings, disadvantages and problems are addressed by the present invention, which will be understood by reading and studying the following specification.
An on-line dynamic shrink facility sets an allocation fence in a file and moves data from above the fence to below the fence. The fence is based on a target size for the file. When all the data above the fence is moved below the fence, the space above the fence is freed. The target size can be a specified size, an original size for the file when it was created, or a size calculated by examining the amount of space used and adding in an amount of desired free space. Resources that are required to move the data, such as old and new allocation units for the data, or that will be impacted by movement of the data, such as index entries, are locked or latched to prevent corruption of the data while it is being moved. The operations are performed in discreet transactions which are immediately committed to minimize the impact on other users of the file.
The shrink can be manually initiated by a user and/or automatically checked and run by a background process when certain pre-defined conditions are satisfied. Alternatively, the shrink can be initiated through a scheduling facility.
Because the fence acts as an end-of-file marker while the data is being moved, data added by other users will be placed below the fence, so the shrinking has little, if any, affect on those users. Because the shrinking facility transactions hold resources for a very short time, user that need to access the data being moved also experience minimal disruption of their processing. Finally, because the shrink facility can be automatically initiated in response to changing conditions in the file, the shrinking is dynamic and operates when necessary.
The present invention describes systems, clients, servers, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
REFERENCES:
patent: 5987580 (1999-11-01), Jasuja et al.
patent: 6049854 (2000-04-01), Bedarida
patent: 6065020 (2000-05-01), Dussud
Rezaei et al. “A new implementation technique for memory management” by the Univ. of Alabama, pp. 332-339, (IEEE publication), Apr. 2000.*
Srisa-an et al. “Scalable hardware-algorithm for mark-sweep garbage collection” by dept. of Computer Science, Illinois Instit. of tech., pp. 274-281., vol. (IEEE publication), Sep. 2000.*
Yang“Space and time efficient BDD construction via working set control ” by Computer Science Dept., Carnegie Mellon University, pp. 423-432, (IEEE publication0, Feb. 1998.
Agarwal Sameet
Blackman Rande
Lindell Steven J.
Zwilling Michael
Black Thomas
Microsoft Corporation
Mizrahi Diane D.
Woodcock Washburn Kurtz Mackiewicz & Norris LLP
LandOfFree
On-line dynamic file shrink facility does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with On-line dynamic file shrink facility, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and On-line dynamic file shrink facility will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2441513