IP Library Granted Patent US 11,042,449
Granted Patent B2
US 11,042,449 · App. 16/227,190 · Granted Jun 22, 2021

Database protection using block-level mapping

Inventors: Henry Wallace Dornemann (Eatontown, NJ); Rahul S. Pawar (Marlboro, NJ); Jun H. Ahn (Manalapan, NJ)
Assignee: Commvault Systems, Inc.
G06F11/1464G06F3/061G06F3/064G06F3/065G06F3/067G06F3/0619G06F3/0643G06F11/14G06F11/1448G06F11/1451G06F11/1458G06F11/1469G06F11/3034G06F11/3476G06F16/113G06F16/1727G06F16/184G06F16/1827G06F16/214G06F16/2282G06F16/2358G06F16/27G06F16/275G06F2201/80G06F2201/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,042,449
App. No.
16/227,190
Granted
Jun 22, 2021
Kind
B2
Abstract

A system according to certain aspects may include a client computing device including: a database application configured to output a database file in a primary storage device(s), the database application outputting the database file as a series of application-level blocks; and a data agent configured to divide the database file into a plurality of first blocks having a first granularity larger than a second granularity of the application-level blocks such that each of the first blocks spans a plurality of the application-level blocks. The system may include a secondary storage controller computer(s) configured to: in response to instructions to create a secondary copy of the database file: copy the plurality of first blocks to a secondary storage device(s) to create a secondary copy of the database file; and create a table that provides a mapping between the copied plurality of first blocks and corresponding locations on the secondary storage device(s).

Claims (40)

1. A method of protecting database files, the method comprising:

monitoring a plurality of application-level blocks associated with a database, file, the plurality of application-level blocks stored in primary memory with a first granularity;

converting the plurality of application-level blocks to one or more secondary storage blocks having a second granularity that is larger than the first granularity,

wherein the one or more of the secondary storage blocks comprises at least a portion of the plurality of application-level blocks;

copying the one or more secondary storage blocks to one or more secondary storage devices in a secondary storage subsystem to create a secondary copy of the plurality of application-level blocks associated with the database file; and

creating an index that maps the one or more secondary storage blocks with the plurality of application-level blocks.

2. The method of claim 1 , wherein the second granularity of the one or more secondary storage blocks is a multiple of the first granularity of the plurality of the application-level blocks.

3. The method of claim 1 , wherein size of one of the one or more secondary storage blocks is a multiple of size of one of the plurality of application-level blocks.

4. The method of claim 1 , wherein each of the one or more secondary storage blocks has a unique identifier (ID).

5. The method of claim 1 , wherein the index comprises information relating to at least:

the secondary copy of the plurality of application-level blocks associated with the database file,

at least one secondary storage block of the one or more secondary storage blocks,

a backup file identifier for a location of the at least one secondary storage block,

and a backup file offset for the location of the at least one secondary storage block in the secondary storage subsystem.

6. The method of claim 1 , wherein the secondary copy of the plurality of application-level blocks associated with the database file is provided as a file system in a user interface.

7. The method of claim 1 , further comprising:

dividing the database file into the plurality of application-level blocks by a data agent executing on a computing device that is different from a client computing device that generates the database file.

8. The method of claim 7 , wherein the data agent is a proxy data agent that executes on a computing device that is different from a computing device on which a database application associated with the database executes.

9. The method of claim 1 , wherein the second granularity of the one or more secondary storage blocks is based on size of a read operation by a database application that generates the database file.

10. The system method of claim 1 , wherein the index is stored separately from the one or more secondary storage blocks.

11. A data storage system for protecting database files, the system comprising:

a data agent executing on a hardware processor,

the data agent configured to monitor a plurality of application-level blocks associated with a database file, the plurality of application-level blocks stored in primary memory with a first granularity; and

one or more secondary storage controller computers comprising computer hardware configured to:

convert the plurality of application-level blocks to one or more secondary storage blocks having a second granularity that is larger than the first granularity, wherein the one or more secondary storage blocks comprises at least a portion of the plurality of application-level blocks,

copy the one or more secondary storage blocks to one or more secondary storage devices in a secondary storage subsystem to create a secondary copy of the plurality of application-level blocks associated with the database file; and

create an index that maps the one or more secondary storage blocks with the plurality of application-level blocks.

12. The system of claim 11 , wherein the second granularity of the one or more secondary storage blocks is a multiple of the first granularity of the plurality of application-level blocks.

13. The system of claim 11 , wherein size of one of the one or more secondary storage blocks is a multiple of size of one of the plurality of application-level blocks.

14. The system of claim 11 , wherein each of the one or more secondary storage blocks has a unique identifier (ID).

15. The system of claim 11 , wherein the index comprises information relating to at least:

the secondary copy of plurality of application-level blocks associated with the database file,

at least one secondary storage block of the one or more secondary storage blocks,

a backup file identifier for a location of the at least one secondary storage block, and

a backup file offset for the location of the at least one secondary storage block in the secondary storage subsystem.

16. The system of claim 11 , wherein the secondary copy of the plurality of application-level blocks associated with the database file is provided as a file system in a user interface.

17. The system of claim 11 , wherein the data agent is executing on a computing device that is different from a client computing device that generates the database file, the data agent is configured to divide the database file into the plurality of application-level blocks.

18. The system of claim 11 , wherein the second granularity of the one or more secondary storage blocks is based on size of a read operation by a database application that generates the database file.

19. The system of claim 11 , wherein the index is stored separately from the one or more secondary storage blocks.

20. The system of claim 11 , wherein the data agent is a proxy data agent that executes on a computing device that is different from a computing device on which a database application associated with the database file executes.

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 Apr 17, 2019
From: DORNEMANN, HENRY WALLACE; PAWAR, RAHUL S.; AHN, JUN H.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 048909/0905 →