IP Library Granted Patent US 12,711,016
Granted Patent B2
US 12,711,016 · App. 18/820,561 · Granted Aug 18, 2026

Protection groups for backing up cloud-based key-value stores

Inventors: Chandan Sajjan Agarwal (Sunnyvale, CA); Raghav Anand (New York, NY); Aniruddh Poornabodha Bharadwaj (San Francisco, CA); Deepak Chawla (Mountain View, CA); Xia Hua (Mountain View, CA); Woonho Joseph Jung (Cupertino, CA); Michal Stanislaw Ostrowski (Cedar Park, TX); Hung Hing Anthony Pang (San Jose, CA); Kanwaljeet Sachdev (San Jose, CA); Deepan Balajhi Saravanan (San Francisco, CA); Richa Sehgal (Sunnyvale, CA); Maadhav Kaushal Shah (San Francisco, CA); Nicholas Gerald Zehender (San Jose, CA)
Assignee: Commvault Systems, Inc.
G06F11/1451G06F11/1461G06F11/1464G06F2201/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 12,711,016
App. No.
18/820,561
Filed
Aug 30, 2024
Granted
Aug 18, 2026
Kind
B2
Examiner
XU, MICHAEL
Art Unit
2113
USPC
707/646
Abstract

Techniques are disclosed relating to providing protection groups and rapid determination of expired objects and associated storage resources in a cloud-based backup storage context. In various embodiments, the disclosed techniques include generating, by a computing system, incremental backup data for a backup based on protection group information, including a set of cloud-based key-value data store buckets, filter information, and policy information. Disclosed techniques also include rapid determination of expired objects and associated storage resources. Disclosed techniques may advantageously provide a centralized view across buckets, accounts, and regions and allow users to target specific subsets of their data stores for backup, which may improve performance and reduce backup storage costs, relative to traditional techniques.

Claims (45)

1 . A method performed by a computer system operating in a cloud computing environment, wherein the cloud computing environment comprises a cloud storage service, and

wherein the computer system comprises a processor subsystem coupled to non-transitory media storing computer program instructions executed by the processor subsystem, the method comprising:

responsive to a request for an incremental backup of data objects of a protection group,

wherein the protection group is associated with a first plurality of buckets of the cloud storage service,

wherein the data objects of the protection group are stored among the first plurality of buckets, and

wherein each bucket among the first plurality of buckets is organized as a key-value data store,

determining:

the first plurality of buckets associated with the protection group,

filters associated with the protection group, wherein the filters indicate first data objects to select for backup from among the data objects of the protection group, and

policy parameters for backing up the first data objects;

based on the filters and the policy parameters, generating incremental backup data objects, wherein the incremental backup data objects correspond to second data objects among the first data objects that changed since a preceding backup of the protection group;

after storing the incremental backup data objects in a second plurality of buckets, querying the second plurality of buckets that comprise the incremental backup data objects; and

based on the querying, providing first incremental backup data objects that satisfy query criteria from among the incremental backup data objects stored among the second plurality of buckets.

2 . The method of claim 1 , wherein the first plurality of buckets are configured in a first service account of the cloud computing environment, and wherein the second plurality of buckets are configured in a second service account of the cloud computing environment, wherein the second service account is distinct from the first service account.

3 . The method of claim 1 , wherein the filters comprise one or more key fields that comprise one or more prefixes for identifying the first data objects within the first plurality of buckets.

4 . The method of claim 1 , wherein the filters comprise one or more key fields that comprise one or more prefixes for excluding some of the first data objects.

5 . The method of claim 1 , wherein the filters indicate one or more storage classes for identifying the first data objects within the first plurality of buckets.

6 . The method of claim 1 , wherein the filters include version criteria for identifying the first data objects within the first plurality of buckets.

7 . The method of claim 1 , wherein the policy parameters indicate a target storage tier for the second plurality of buckets.

8 . The method of claim 1 , wherein querying the second plurality of buckets includes an indication of whether to return a latest version of an incremental backup data object or multiple versions thereof.

9 . The method of claim 1 , wherein the first plurality of buckets additionally comprises a bucket that is configured in a second cloud computing environment that is distinct from the cloud computing environment that comprises the cloud storage service.

10 . The method of claim 1 , wherein each data object among the data objects of the protection group comprises a key and version identifier that, collectively, uniquely identify the respective data object within a bucket, and wherein the filters indicate version identifiers to include in the incremental backup.

11 . A computer system operating in a cloud computing environment, wherein the cloud computing environment comprises a cloud storage service, and

wherein the computer system comprises a processor subsystem coupled to non-transitory media storing computer program instructions, which, when executed by the processor subsystem, cause the computer system to:

responsive to a request for an incremental backup of data objects of a protection group,

wherein the protection group is associated with a first plurality of buckets configured in the cloud storage service,

wherein the data objects of the protection group are stored among the first plurality of buckets, and

wherein each bucket among the first plurality of buckets is organized as a key-value data store,

determine:

the first plurality of buckets associated with the protection group,

filters associated with the protection group, wherein the filters indicate first data objects to select for backup from among the data objects of the protection group, and

policy parameters for backing up the first data objects;

based on the filters and the policy parameters, generate incremental backup data objects, wherein the incremental backup data objects correspond to second data objects among the first data objects that changed since a preceding backup of the protection group;

cause the incremental backup data objects to be stored in a second plurality of buckets;

query the second plurality of buckets that comprise the incremental backup data objects; and

provide first incremental backup data objects that satisfy query criteria from among the incremental backup data objects stored among the second plurality of buckets.

12 . The computer system of claim 11 , wherein the first plurality of buckets are configured in a first service account of the cloud computing environment, and wherein the second plurality of buckets are configured in a second service account of the cloud computing environment, wherein the second service account is distinct from the first service account.

13 . The computer system of claim 11 , wherein the filters comprise one or more key fields that comprise one or more prefixes for identifying the first data objects within the first plurality of buckets.

14 . The computer system of claim 11 , wherein the filters comprise one or more key fields that comprise one or more prefixes for excluding some of the first data objects.

15 . The computer system of claim 11 , wherein the filters indicate one or more storage classes for identifying the first data objects within the first plurality of buckets.

16 . The computer system of claim 11 , wherein the filters include version criteria for identifying the first data objects within the first plurality of buckets.

17 . The computer system of claim 11 , wherein the policy parameters indicate a target storage tier for the second plurality of buckets.

18 . The computer system of claim 11 , wherein querying the second plurality of buckets includes an indication of whether to return a latest version of an incremental backup data object or multiple versions thereof.

19 . The computer system of claim 11 , wherein the first plurality of buckets comprises a bucket that is configured in a second cloud computing environment that is distinct from the cloud computing environment that comprises the cloud storage service.

20 . The computer system of claim 11 , wherein each data object among the data objects of the protection group comprises a key and version identifier that, collectively, uniquely identify the respective data object within a bucket, and wherein the filters indicate version identifiers to include in the incremental backup.

Assignments (4)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2024
From: CLUMIO, INC.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 069066/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2024
From: AGARWAL, CHANDAN SAJJAN; ANAND, RAGHAV; BHARADWAJ, ANIRUDDH POORNABODHA; CHAWLA, DEEPAK; HUA, XIA; JUNG, WOONHO JOSEPH; OSTROWSKI, MICHAL STANISLAW; PANG, HUNG HING ANTHONY; SACHDEV, KANWALJEET; SARAVANAN, DEEPAN BALAJHI; SEHGAL, RICHA; SHAH, MAADHAV KAUSHAL; ZEHENDER, NICHOLAS GERALD
To: CLUMIO INC.
Reel/Frame 069022/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: CLUMIO, INC.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 068815/0722 →
Continuity (3)
Continuation 17929591 · Sep 2, 2022
Provisional Application 63362439 · Apr 4, 2022
Related Publication 20250094287A1 · Mar 20, 2025
References Cited (32)
US 8799223B1 · Karmarkar et al. · 2014 [cited by applicant]
US 10635545B1 · Bono · 2020 [cited by examiner]
US 10896097B1 · Purcell et al. · 2021 [cited by applicant]
US 12111734B2 · Agarwal et al. · 2024 [cited by applicant]
US 20110252192A1 · Busch · 2011 [cited by examiner]
US 20130179947A1 · Kline, III et al. · 2013 [cited by applicant]
US 20140089279A1 · Gibson et al. · 2014 [cited by applicant]
US 20140181438A1 · Varadharajan · 2014 [cited by applicant]
US 20140310247A1 · Vijayan et al. · 2014 [cited by applicant]
US 20160203145A1 · Haviv · 2016 [cited by examiner]
US 20170010941A1 · Shimada · 2017 [cited by applicant]
US 20190278663A1 · Mehta · 2019 [cited by examiner]
US 20200241967A1 · Dain · 2020 [cited by examiner]
US 20200311039A1 · Gupta · 2020 [cited by examiner]
US 20210096958A1 · Kumar · 2021 [cited by applicant]
US 20210406129A1 · Zheng · 2021 [cited by examiner]
US 20220229733A1 · Chitloor · 2022 [cited by examiner]
US 20220229735A1 · Chopra · 2022 [cited by examiner]
US 20220263657A1 · Chang · 2022 [cited by applicant]
US 20220283707A1 · Ayzenberg · 2022 [cited by examiner]
US 20230019837A1 · Jennings et al. · 2023 [cited by applicant]
US 20230315582A1 · Anand et al. · 2023 [cited by applicant]
CN 115658382A · 2023 [cited by applicant]
Amazon Simple Storage Service—User Guide: API Version Mar. 1, 2006; copyright 2022; 1565 pages. [cited by applicant]
Gilani, How to Search an S3 Bucket, A Complete Guide, Shade, posted Oct. 29, 2023; https://www.shade.inc/tools/how-to-search-an-s3-bucket (Year: 2023); 10 pages. [cited by applicant]
IBM i 7.3: Systems management Backup, Recovery, and Media Services for i; Copyright International Business Machines Corporation 1998, 2015; 492 pages. [cited by applicant]
IBM, Incremental backups; https://vvvvvv.ibm.com/docsienipsfa/7.2.1?topic=command-incremental-backups; last Updated: Apr. 26, 2022, copyright IBM Corporation 2015, 2016; 1 page. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 17/929,591 mailed Aug. 7, 2024, 8 pages. [cited by applicant]
Office Action in U.S. Appl. No. 17/929,591 mailed Jan. 29, 2024, 30 pages. [cited by applicant]
Office Action in U.S. Appl. No. 17/929,593 mailed Dec. 6, 2023, 20 pages. [cited by applicant]
Office Action in U.S. Appl. No. 17/929,593 mailed May 28, 2024, 23 pages. [cited by applicant]
Oracle, Database Backup and Recover Basics, 4.4-4.4.4.4, 2022, 10 pages. [cited by applicant]