Patent Number: 6,763,428

Title: Methods and systems for performing push-pull optimization of files while file storage allocations are actively changing

Abstract: A method for performing full optimization of most of the files on a volume in accordance with a composed optimization plan, is performed, including the separation of less frequently accessed files from those whose number or location of clusters is being more frequently modified by user applications. Optimization does not continue indefinitely--it reaches a final state even if a small percentage of its file data is still out of place under the optimization plan and therefore not in the planned part of a plan-defined, Placed Files Area. Each time a Push of out-of-place file data is attempted, or a Pull of file data into a correspondingly planned free space within the Placed Files Area is attempted, a copy of the current volume bitmap is made in order to determine what is the largest free space currently available in the Placed Files Area. Once determined, the size of the largest free space is compared to the size of the largest out-of-place range of corresponding clusters in the Placed Files Area. If the size of the largest free space is greater than or equal to the size of the largest out-of-place range in the Placed Files Area, then a Pull operation is attempted. If any part of the Pull operation fails, then the method updates local data structures for tracking the range of affected clusters. If the method determines that the attempted Pull operation failed because of a problem with the source data, then the leftover pullable free space is disabled from further Pull attempts. If the largest free space is smaller than the largest out-of-place range, then a Push operation is attempted for pushing the out-of-place range of clusters to a scratch area. If any part of the Push operation fails, the local data structures are updated for the range of affected clusters. Regardless of whether or not the Push operation succeeds or fails, the out-of-place range is removed from further consideration for a Push.

Inventors: Cappon; Andrew (Huntington Beach, CA)

Assignee: Symantec Corporation

International Classification: G06F 17/30 (20060101); G06F 012/00 ()

Expiration Date: 07/13/2021