IP Library Granted Patent US 11,436,210
Granted Patent B2
US 11,436,210 · App. 16/917,591 · Granted Sep 6, 2022

Classification of virtualization data

Inventors: Anand Prahlad (Bangalore, IN); Rahul S. Pawar (Marlboro, NJ); Prakash Varadharajan (Morganville, NJ); Pavan Kumar Reddy Bedadala (Piscataway, NJ)
Assignee: Commvault Systems, Inc.
G06F16/2272G06F9/455G06F11/1453G06F11/1458G06F11/1469G06F11/1435G06F11/1456G06F16/14G06F16/383G06F2201/815G06F2201/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,436,210
App. No.
16/917,591
Granted
Sep 6, 2022
Kind
B2
Abstract

A method and system described herein for classifying data of virtual machines in a heterogeneous computing comprising virtual machines and non-virtual machines. The system may access a secondary copy of data stored by a virtual machine, create metadata associated with that data, store the metadata in an index that comprises metadata associated with data stored on non-virtual machines, using a journal file, determine modified data objects within the data stored by the virtual machine, access or create metadata associated with modified data objects, and update the index accordingly.

Claims (58)

1. A method of classifying data of virtual machines in a heterogeneous computing comprising virtual machines and non-virtual machines, wherein the method is performed by one or more computing systems, each computing system having a processor and memory, the method comprising:

accessing a secondary copy of at least some data stored by a virtual machine;

creating metadata associated with the secondary copy of the at least some data of the virtual machine;

storing the metadata in an index, wherein the index also comprises of metadata associated with data stored on at least one non-virtual machine;

accessing a journal file for tracking operations performed on the at least some data stored on the virtual machine;

determining at least one modified data object within the at least some data stored by the virtual machine that has been modified;

accessing or creating metadata associated with the at least one modified data object; and

updating the index with the accessed or created metadata associated with the at least one modified data object.

2. The method of claim 1 , wherein the at least some data stored by the virtual machine resides on a filesystem of a virtual machine host hosting the virtual machine.

3. The method of claim 1 , further comprising:

for at least one modified data object:

generating a substantially unique identifier for the at least one modified data object;

determining, based on the substantially unique identifier, that an instance of the at least one modified data object has not been stored on a secondary storage device; and

in response to determining that an instance of the at least one modified data object has not been stored on a secondary storage device, storing the at least one modified data object on a secondary storage device.

4. The method of claim 1 , wherein the secondary copy of the at least some data stored by a virtual machine was created according to a storage policy, wherein the storage policy specifies how or when to copy data from one or more virtual machines to a secondary storage data store.

5. The method of claim 4 , wherein the storage policy comprises a data structure comprising one or more preferences or criteria associated with performing a storage operation.

6. The method of claim 1 , wherein updating the index is performed by a journaling agent, wherein the journaling agent includes a virtual filter driver module.

7. The method of claim 6 , wherein the journaling agent is deployed on a virtual I/O port or data stack.

8. The method of claim 6 , wherein the journaling agent operates in conjunction with a virtual file management module to record operations executed on the virtual machine.

9. At least one non-transitory computer-readable medium carrying instructions, which when executed by at least one data processor, executes operations to classify data of virtual machines in a heterogeneous computing environment that includes virtual machines and non-virtual machines, the operations comprising:

accessing a secondary copy of the at least some data stored by a virtual machine;

creating metadata associated with the secondary copy of the at least some data of the virtual machine;

storing the metadata in an index, wherein the index also comprises of metadata associated with data stored on at least one non-virtual machine;

accessing a journal file for tracking operations performed on the at least some data stored on the virtual machine;

determining at least one modified data object within the at least some data stored by the virtual machine that has been modified;

accessing or creating metadata associated with the at least one modified data object; and

updating the index with the accessed or created metadata associated with the at least one modified data object.

10. The at least one non-transitory computer-readable medium of claim 9 , wherein the at least some data stored by the virtual machine resides on a filesystem of a virtual machine host hosting the virtual machine.

11. The at least one non-transitory computer-readable medium of claim 9 , further comprising:

for at least one modified data object:

generating a substantially unique identifier for at least one modified data object;

determining, based on the substantially unique identifier, that an instance of the at least one modified data object has not been stored on a secondary storage device; and

in response to determining that an instance of the at least one modified data object has not been stored on a secondary storage device, storing the at least one modified data object on a secondary storage device.

12. The at least one non-transitory computer-readable medium of claim 9 , wherein the secondary copy of the at least some data stored by a virtual machine was created according to a storage policy, wherein the storage policy specifies how or when to copy data from one or more virtual machines to a secondary storage data store.

13. The at least one non-transitory computer-readable medium of claim 12 , wherein the storage policy comprises a data structure comprising one or more preferences or criteria associated with performing a storage operation.

14. The at least one non-transitory computer-readable medium of claim 9 , wherein updating the index is performed by a journaling agent, wherein the journaling agent includes a virtual filter driver module.

15. The at least one non-transitory computer-readable medium of claim 14 , wherein the journaling agent is deployed on a virtual I/O port or data stack.

16. The at least one non-transitory computer-readable medium of claim 14 , wherein the journaling agent operates in conjunction with a virtual file management module to record operations executed on the virtual machine.

17. A system for classifying data of virtual machines in a heterogeneous computing environment that includes virtual machines and non-virtual machines the system comprising:

one or more computing systems, each computing system having a processor and memory, the one or more computing systems configured to:

access a secondary copy of at least some data stored by a virtual machine;

create metadata associated with the secondary copy of the at least some data of the virtual machine;

store the metadata in an index, wherein the index also comprises of metadata associated with data stored on at least one non-virtual machine;

access a journal file for tracking operations performed on the at least some data stored on the virtual machine;

determine at least one modified data object within the at least some data stored by the virtual machine that has been modified;

access or creating metadata associated with the at least one modified data object; and

update the index with the accessed or created metadata associated with the at least one modified data object.

18. The system of claim 17 , wherein the at least some data stored by the virtual machine resides on a filesystem of a virtual machine host hosting the virtual machine.

19. The system of claim 17 , the one or more computing systems further configured to:

for at least one modified data object:

generate a substantially unique identifier for the at least one modified data object;

determine, based on the substantially unique identifier, that an instance of the at least one modified data object has not been stored on a secondary storage device; and

in response to determining that an instance of the at least one modified data object has not been stored on a secondary storage device, store the at least one modified data object on a secondary storage device.

20. The system of claim 17 , wherein the secondary copy of the at least some data stored by a virtual machine was created according to a storage policy, wherein the storage policy specifies how or when to copy data from one or more virtual machines to a secondary storage data store.

21. The system of claim 20 , wherein the storage policy comprises a data structure comprising one or more preferences or criteria associated with performing at least one storage operation.

22. The system of claim 17 , wherein updating the index is performed by a journaling agent, wherein the journaling agent includes a virtual filter driver module.

23. The system of claim 22 , wherein the journaling agent is deployed on a virtual I/O port or data stack.

24. The system of claim 22 , wherein the journaling agent operates in conjunction with a virtual file management module to record operations executed on the virtual machine.

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 Jul 2, 2020
From: PRAHLAD, ANAND; PAWAR, RAHUL S.; VARADHARAJAN, PRAKASH; BEDADALA, PAVAN KUMAR REDDY
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 053113/0024 →