IP Library Granted Patent US 9,229,818
Granted Patent B2
US 9,229,818 · App. 13/186,490 · Granted Jan 5, 2016

Adaptive retention for backup data

Inventors: Apurva Ashwin Doshi (Seattle, WA); Grigory Borisovich Lyakhovitskiy (Bothell, WA); Bohdan W. Raciborski (Redmond, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F11/1448
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,229,818
App. No.
13/186,490
Granted
Jan 5, 2016
Kind
B2
Abstract

Aspects of the subject matter described herein relate to adaptive retention for backup data. In aspects, space may be needed on a backup storage in order to store additional backup data. In response, an indication that space is needed provided to a retention manager. The retention manager attempts to prune data on the backup storage to free up space on the backup storage. Before deleting a version on the backup storage, the retention manager determines whether deletion conditions are met. The retention manager may apply one or more retention policies in its efforts to free space. The retention manager may manage and free the space such that versions of files already stored are preserved for the longest possible time.

Claims (28)

1. A method performed on a computing device, the method comprising:

receiving, by the computing device, an indication that, prior to a completion of a started backup procedure, additional free space is needed on a backup storage to complete the started backup procedure, where the received indication comprises a notification that a free space capacity on the backup storage is less than or equal to a first threshold, and where the receiving comprises receiving a value that indicates a maximum amount of space to free; and

performing, by the computing device in response to receiving the indication, pruning actions until the free space capacity is equal to or greater than a second threshold, the pruning actions comprising:

determining a first backup set that is associated with a particular user and that is currently stored on the backup storage, the first backup set having a first backup date, the first backup date being oldest of all backup dates for backup sets that are associated with the particular user and that are currently stored on the backup storage, where each of the backup sets comprises a group of versions of a corresponding group of files backed up together, and where the received indication is further to delete all but a latest of the versions stored on the backup storage that is also still stored on a source storage;

deleting, in response to determining that the first backup set meets one or more deletion conditions, the first backup set, where the one or more deletion conditions comprise a version visibility end time of the first backup set occurring after a start time of the performing;

updating, in response to the deleting, pruning data to indicate a second backup set that is associated with the particular user and that is currently stored on the backup storage, the second backup set having a backup date that is more recent than the first backup date but older than any backup date of any other of the backup sets that are associated with the particular user and that are currently stored on the backup storage; and

updating metadata to adjust effective start times of one or more of the versions.

2. The method of claim 1 , further comprising determining if space freed by the pruning actions equals or exceeds the additional free space needed and, if not, repeating the pruning actions.

3. The method of claim 1 , further comprising determining that an amount of free space on the backup storage is below a threshold.

4. The method of claim 1 , further comprising determining that there is not enough free space to store a backup version of a file.

5. The method of claim 1 where the one or more deletion conditions are specified by a policy.

6. A system comprising:

a computing device and at least one program module that are together configured for performing actions, the computing device comprising at least one processor and memory, the actions comprising:

receiving, by the computing device, an indication that, prior to a completion of a started backup procedure, additional free space is needed on a backup storage to complete the started backup procedure, where the received indication comprises a notification that a free space capacity on the backup storage is less than or equal to a first threshold, and where the receiving comprises receiving a value that indicates a maximum amount of space to free;

performing, by the computing device in response to receiving the indication, pruning actions until the free space capacity is equal to or greater than a second threshold, the pruning actions comprising:

determining a first backup set that is associated with a particular user and that is currently stored on the backup storage, the first backup set having a first backup date, the first backup date being oldest of all backup dates for backup sets that are associated with the particular user and that are currently stored on the backup storage, where each of the backup sets comprises a group of versions of a corresponding group of files backed up together, and where the received indication is further to delete all but a latest of the versions stored on the backup storage that is also still stored on a source storage;

deleting, in response to determining that the first backup set meets one or more deletion conditions, the first backup set, where the one or more deletions conditions comprise a version visibility end time of the first backup set occurring after a start time of the performing; and

updating metadata to adjust effective start times of one or more of the versions.

7. The system of claim 6 , the actions further comprising determining that an amount of free space on the backup storage is below a threshold.

8. The system of claim 6 , the actions further comprising determining if space freed by the pruning actions equals or exceeds the additional free space needed and, if not, repeating.

9. A computer storage device comprising:

a memory storing computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to perform actions comprising:

receiving, by the computing device, an indication that, prior to a completion of a started backup procedure, additional free space is needed on a backup storage used to store versions of files to complete the started backup procedure, where the received indication comprises a notification that a free space capacity on the backup storage is less than or equal to a first threshold, and where the receiving comprises receiving a value that indicates a maximum amount of space to free; and

performing, by the computing device in response to receiving the indication, pruning actions until the free space capacity is equal to or greater than a second threshold, the pruning actions comprising:

determining a first backup set that is associated with a particular user and that is currently stored on the backup storage, the first backup set having a first backup date, the first backup date being oldest of all backup dates for backup sets that are associated with the particular user and that are currently stored on the backup storage, where each of the backup sets comprises a group of versions of a corresponding group of files backed up together, and where the received indication is further to delete all but a latest of the versions stored on the backup storage that is also still stored on a source storage;

deleting, in response to determining that the first backup set meet one or more deletion conditions, the first backup set, where the one or more deletions conditions comprise a version visibility end time of the first backup set occurring after a start time of the performing; and

updating metadata to adjust effective start times of one or more of the versions.

10. The computer storage device of claim 9 , further comprising repeating the pruning actions until at least the amount of space to free is freed or until the one or more deletion conditions cannot be met.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2011
From: DOSHI, APURVA ASHWIN; LYAKHOVITSKIY, GRIGORY BORISOVICH; RACIBORSKI, BOHDAN W.
To: MICROSOFT CORPORATION
Reel/Frame 026617/0138 →
Continuity (1)
Related Publication 20130024423A1 · Jan 24, 2013