IP Library Granted Patent US 11,748,332
Granted Patent B2
US 11,748,332 · App. 17/202,071 · Granted Sep 5, 2023

Organically managing storage of a data object based on an expiry timeframe supplied by a user of the data object

Inventor: Kuldeep Kumar (Hyderabad, IN)
Assignee: Commvault Systems, Inc.
G06F16/2365G06F16/27
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,748,332
App. No.
17/202,071
Granted
Sep 5, 2023
Kind
B2
Abstract

Storage of data that no longer has a useful life is established by the data objects' user(s) and overcomes predetermined rules required by information management policies. An illustrative data agent may receive instructions from an illustrative storage manager to perform secondary copy operations for certain data objects. The instructions may instruct that expiry-marked data objects are to be treated based on parsing each data object's user-supplied expiry timeframe. The illustrative system (i) will delete expired data objects including expired secondary copies; (ii) will refrain from making secondary copies of expired data objects; and (iii) if an expiry-marked data object is not expired, the illustrative system will make secondary copies according to the instructions, but will track those expiry-marked secondary copies for future deletion after they expire, (iv) and will delete expired secondary copies even if the original expiry-marked data object has been deleted from the system prior to its expiration.

Claims (56)

1. A computer-implemented method comprising:

by a computing device that comprises one or more hardware processors:

receiving instructions to perform a first secondary copy operation for a data object that is stored in primary data storage,

wherein the data object comprises a user-supplied expiry timeframe for the data object, and

wherein the user-supplied expiry timeframe is supplied when the data object is created;

before the first secondary copy operation, parsing the user-supplied expiry timeframe of the data object to determine whether the data object has expired;

based on determining that the data object has expired:

(i) causing the first secondary copy operation to be canceled for the data object, and

(ii) causing the data object to be deleted from the primary data storage; and

based on determining that the data object has not expired:

(a) performing the first secondary copy operation for the data object,

wherein each of one or more secondary copies that result from at least the first secondary copy operation comprises the user-supplied expiry timeframe, and

wherein each of the one or more secondary copies is stored in a format that is distinct from a native format of the data object, and

(b) causing information about the one or more secondary copies, including the user-supplied expiry timeframe, to be added into an index that tracks expiry-marked data objects.

2. The method of claim 1 , wherein each of one or more secondary copies that result from at least the first secondary copy operation is an expiry-tracked data object.

3. The method of claim 1 , wherein the parsing of the user-supplied expiry timeframe of the data object to determine whether the data object has expired is based on an expiry policy that governs a grouping of data that includes the data object.

4. The method of claim 1 , wherein based on determining that the data object has expired: (iii) causing the data object to be replaced by a stub in the primary data storage, wherein the stub comprises a pointer to an archived copy of the data object stored outside of the primary data storage.

5. The method of claim 1 , wherein the computing device executes a data agent that maintains the index at the computing device.

6. The method of claim 1 , wherein the computing device executes a data agent that transmits the information about the one or more secondary copies, including the user-supplied expiry timeframe, wherein the information is to be added into the index at an other computing device that maintains the index.

7. The method of claim 6 wherein the other computing device executes a storage manager that manages storage operations in a storage management system, and wherein the instructions are received from the storage manager.

8. The method of claim 6 , wherein the other computing device executes a media agent that stores the one or more secondary copies into a storage device.

9. The method of claim 1 further comprising:

by the computing device:

receiving instructions to perform a second secondary copy operation for data objects comprising at least one of: the data object and at least one of the one or more secondary copies of the data object; and

based on determining that the user-supplied expiry timeframe has passed:

(A) identifying the one or more secondary copies of the data object based on the index, and

(B) causing the one or more secondary copies of the data object to be deleted.

10. The method of claim 1 wherein the data object is an email message.

11. The method of claim 1 , wherein the data object comprises a file.

12. The method of claim 1 , wherein the data object comprises a folder in a file system.

13. The method of claim 1 , further comprising: after the user-supplied expiry timeframe, deleting the one or more secondary copies of the data object even if the data object has been deleted prior to the user-supplied expiry timeframe.

14. The method of claim 1 further comprising:

by the computing device, based on the determining that the data object has expired, (iii) responding to the instructions to indicate that at least one of: the data object has expired, and no secondary copies of the data object were generated by the first secondary copy operation.

15. A system comprising:

a computing device that comprises one or more hardware processors, wherein the computing device is programmed to:

receive instructions to perform a first secondary copy operation for a data object that is stored in primary data storage,

wherein the data object comprises a user-supplied expiry timeframe for the data object, and

wherein the user-supplied expiry timeframe is supplied when the data object is created;

before the first secondary copy operation, parse the user-supplied expiry timeframe of the data object to determine whether the data object has expired;

based on determining that the data object has expired:

(i) refrain from performing the first secondary copy operation for the data object, and

(ii) cause the data object to be deleted from the primary data storage; and

based on determining that the data object has not expired:

(a) perform the first secondary copy operation for the data object,

wherein each of one or more secondary copies that result from at least the first secondary copy operation comprises the user-supplied expiry timeframe, and

wherein each of the one or more secondary copies is stored in a format that is distinct from a native format of the data object, and

(b) cause information about the one or more secondary copies, including the user-supplied expiry timeframe, to be added into an index that tracks expiry-marked data objects.

16. The system of claim 15 , wherein the computing device is further programmed to: based on the determining that the data object has expired, (iii) respond to the instructions to indicate that at least one of: the data object has expired, and no secondary copies of the data object were generated by the first secondary copy operation.

17. The system of claim 15 , wherein the computing device is further programmed to:

receive instructions to perform a second secondary copy operation for data objects comprising at least one of: the data object and at least one of the one or more secondary copies of the data object; and

based on determining that the user-supplied expiry timeframe has passed:

(A) identify the one or more secondary copies of the data object based on the index, and

(B) cause the one or more secondary copies of the data object to be deleted.

18. The system of claim 15 , wherein the computing device is further programmed to: based on determining that the data object has expired: (iii) cause the data object to be replaced by a stub in the primary data storage, wherein the stub comprises a pointer to an archived copy of the data object stored outside of the primary data storage.

19. The system of claim 15 , wherein each of one or more secondary copies that result from at least the first secondary copy operation is an expiry-tracked data object.

20. The system of claim 15 , wherein the parsing of the user-supplied expiry timeframe of the data object to determine whether the data object has expired is based on an expiry policy that governs a grouping of data that includes the data object.

Assignments (3)
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 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: KUMAR, KULDEEP
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 055612/0167 →