IP Library Granted Patent US 11,288,140
Granted Patent B2
US 11,288,140 · App. 16/683,796 · Granted Mar 29, 2022

Point in time blob restore

Inventors: Venkates Paramasivam Balakrishnan (Redmond, WA); Krishnan Varadarajan (Redmond, WA); Maneesh Sah (Sammamish, WA); Sundar P. Subramani (Bellevue, WA); Bitan Deb (Redmond, WA); Bharat Joshi (Kirkland, WA); Malavika Arunmozhi (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/1469G06F11/1471G06F11/1451G06F2201/84
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 11,288,140
App. No.
16/683,796
Granted
Mar 29, 2022
Kind
B2
Abstract

Described herein is a system method for point in time blob restore. In response to receipt of a request to restore a particular blob range to a particular point in time, read and/or write operations on the particular blob range requested to be restored are blocked. Blob(s) in the particular blob range which have changed since the particular point in time are determined based, at least in part, upon information stored in a change log and/or a deleted blob store. A determination is made as to whether the requested restore operation can be performed, for example, based upon a restoration policy. When it is determined that the requested restore operation can be performed, blob(s) determined to have changed since the particular point in time based, at least in part, upon information stored in the change log and/or the deleted blob store are restored.

Claims (37)

1. A system, comprising:

at least one processor; and

at least one memory having computer-executable instructions stored thereupon which, when executed by the at least one processor, cause the system to:

receive a request to restore a particular blob range in blob storage to a particular point in time, the blob storage storing a plurality of blobs;

block read and write operations on the particular blob range requested to be restored;

determine one or more particular blobs in the particular blob range that have changed since the particular point in time based, at least in part, upon information stored in an append-only change log of chronological changes to the plurality of blobs in the blob storage;

determine whether the requested restore operation can be performed; and

when it is determined that the requested restore operation can be performed, restore the one or more particular blobs determined to have changed since the particular point in time based, at least in part, upon the information stored in the append-only change log of chronological changes to the plurality of blobs in the blob storage.

2. The system of claim 1 , wherein the append-only change log stores certain information about changes to data of the one or more particular blobs and metadata of the one or more particular blobs.

3. The system of claim 1 , wherein the append-only change log stores certain information regarding at least one of creation of the one or more particular blobs, modification of the one or more particular blobs, or deletion of the one or more particular blob.

4. The system of claim 1 , wherein at least one change in the append-only change log is stored as an event which identifies a location of a specific blob within cloud storage.

5. The system of claim 1 , wherein at least one change in the append-only change log is stored as an event which identifies an account associated with a specific blob.

6. The system of claim 1 , wherein at least one change in the append-only change log is stored as an event which identifies at least one of a timestamp of the at least one change, metadata of the at least one change, or a context of the at least one change.

7. The system of claim 1 , wherein the append-only change log includes contextual attributes identifying at least one of a type of a particular change to the one or more particular blobs, an account associated with the particular change, or a user associated with the particular change.

8. A method, comprising:

receiving a request to restore a particular blob range in blob storage to a particular point in time, the blob storage storing a plurality of blobs;

blocking read and write operations on the particular blob range requested to be restored;

determining one or more particular blobs in the particular blob range that have changed since the particular point in time based, at least in part, upon information stored in an append-only change log of chronological changes to the plurality of blobs in the blob storage;

determining whether the requested restore operation can be performed; and

when it is determined that the requested restore operation can be performed, restoring the one or more particular blobs determined to have changed since the particular point in time based, at least in part, upon the information stored in the append-only change log of chronological changes to the plurality of blobs in the blob storage.

9. The method of claim 8 , wherein the append-only change log stores certain information about changes to data of the one or more particular blobs and metadata of the one or more particular blobs.

10. The method of claim 8 , wherein the append-only change log stores certain information regarding at least one of creation of the one or more particular blobs, modification of the one or more particular blobs, or deletion of the one or more particular blobs.

11. The method of claim 8 , wherein at least one change in the append-only change log is stored as an event which identifies a location of a specific blob within cloud storage.

12. The method of claim 8 , wherein at least one change in the append-only change log is stored as an event which identifies an account associated with a specific blob.

13. The method of claim 8 , wherein at least one change in the append-only change log is stored as an event which identifies at least one of a timestamp of the at least one change, metadata of the at least one change, or a context of the at least one change.

14. The method of claim 8 , wherein the append-only change log includes contextual attributes identifying at least one of a type of a particular change to the one or more particular blobs, an account associated with the particular change, or a user associated with the particular change.

15. A computer storage medium storing computer-readable instructions that, when executed, cause a computing device to:

receive a request to restore a particular blob range in blob storage to a particular point in time, the blob storage storing a plurality of blobs;

block read and write operations on the particular blob range requested to be restored;

determine one or more particular blobs in the particular blob range that have changed since the particular point in time based, at least in part, upon information stored in at an append-only change log of chronological changes to the plurality of blobs in the blob storage;

determine whether the requested restore operation can be performed; and

when it is determined that the requested restore operation can be performed, restore the one or more particular blobs determined to have changed since the particular point in time based, at least in part, upon the information stored in the append-only change log of chronological changes to the plurality of blobs in the blob storage.

16. The computer storage medium of claim 15 , wherein the append-only change log stores certain information about changes to data of the one or more particular blobs and metadata of the one or more particular blobs.

17. The computer storage medium of claim 15 , wherein the append-only change log stores certain information regarding creation of the one or more particular blobs.

18. The computer storage medium of claim 15 , wherein changes in the append-only change log identify at least one of a location of a specific blob within cloud storage or an account associated with the specific blob.

19. The computer storage medium of claim 15 , wherein the append-only change log includes timestamps of the chronological changes to the plurality of blobs.

20. The computer storage medium of claim 15 , wherein the append-only change log includes contextual attributes identifying accounts associated with individual chronological changes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: PARAMASIVAM BALAKRISHNAN, VENKATES; VARADARAJAN, KRISHNAN; SAH, MANEESH; SUBRAMANI, SUNDAR P.; DEB, BITAN; JOSHI, BHARAT; ARUNMOZHI, MALAVIKA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051010/0092 →
Continuity (2)
Provisional Application 62893663 · Aug 29, 2019
Related Publication 20210064483A1 · Mar 4, 2021
Cited By (1)
US 12,235,723