IP Library Granted Patent US 11,775,396
Granted Patent B1
US 11,775,396 · App. 17/459,612 · Granted Oct 3, 2023

Methods and systems for improved backup performance

Inventors: Vaijayanti Rakshit Bharadwaj (Maharashtra, IN); Chirag Dalal (Maharashtra, IN)
Assignee: Veritas Technologies LLC
G06F11/1464G06F11/1451G06F11/1469G06F11/1471
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,775,396
App. No.
17/459,612
Granted
Oct 3, 2023
Kind
B1
Abstract

Methods, computer program products, computer systems, and the like for improved performance, when backing up objects, are disclosed, which can include assigning a top-level entity to a backup host of a number of backup hosts and performing a backup operation on a number of objects. The objects are associated with the top-level entity. The backup operation is performed by the backup host. The backup operation includes determining whether one of the objects includes at least one new data segment or at least one modified data segment, and, in response to a determination that the object includes at least one new data segment or at least one modified data segment, writing information regarding the at least one new data segment or at least one modified data segment in a tracklog dedicated to the top-level entity.

Claims (97)

1. A method comprising:

assigning a top-level entity to a backup host of a plurality of backup hosts, wherein a plurality of objects are associated with the top-level entity; and

performing a backup operation on the plurality of objects, wherein

the backup operation is performed by the backup host, and

the backup operation comprises

determining whether an object of the plurality of objects comprises

at least one new data segment, or

at least one modified data segment, and

in response to a determination that the object comprises the at least one new data segment or the at least one modified data segment,

writing information regarding the at least one new data segment or the at least one modified data segment in a tracklog dedicated to the top-level entity, wherein

the information comprises

  an INLINE directive, and

  the at least one new data segment or the at least one modified data segment.

2. The method of claim 1 , wherein

the information further comprises an offset and size of the at least one new data segment or at least one modified data segment.

3. The method of claim 1 , wherein

each of the plurality of objects is backed up by the backup host.

4. The method of claim 1 , wherein the object comprises a plurality of data segments, and the backup operation further comprises:

determining whether a data segment of the plurality of data segments remains unchanged from a prior backup operation; and

in response to a determination that the data segment remains unchanged from the prior backup operation, writing additional information regarding the data segment to the tracklog.

5. The method of claim 4 , wherein

the additional information comprises

an INCLUDE directive,

an offset, and

a length.

6. The method of claim 4 , further comprising:

determining whether the data segment was preceded by an unchanged data segment, wherein

the unchanged data segment is another of the plurality of data segments,

the unchanged data segment also remains unchanged from the prior backup operation; and

in response to a determination that the data segment was preceded by the unchanged data segment, increasing a length associated with an existing INCLUDE directive in the tracklog.

7. The method of claim 1 , further comprising:

determining whether the tracklog is stored at the backup host; and

in response to a determination that the tracklog is not stored at the backup host, sending a request for a copy of the tracklog to a master server.

8. The method of claim 1 , wherein the backup operation further comprises:

requesting added/modified/deleted information for the object from a workload, wherein the added/modified/deleted information is used to perform the determining.

9. The method of claim 8 , further comprising:

determining whether the added/modified/deleted information is received; and

in response to a determination that the added/modified/deleted information was not received, skipping the backup operation for the object.

10. The method of claim 1 , further comprising:

subsequent to the backup operation, reassigning the top-level entity to another backup host of the plurality of backup hosts.

11. The method of claim 10 , further comprising:

determining whether the top-level entity was assigned to the another backup host for the backup operation; and

in response to a determination that the top-level entity was not assigned to the another backup host for the backup operation, sending a request for an image to a master server.

12. A non-transitory computer-readable storage medium, comprising program instructions, which, when executed by one or more processors of a computing system, perform a method comprising:

assigning a top-level entity to a backup host of a plurality of backup hosts, wherein a plurality of objects are associated with the top-level entity; and

performing a backup operation on the plurality of objects, wherein the backup operation is performed by the backup host, and

the backup operation comprises

determining whether an object of the plurality of objects comprises

at least one new data segment, or

at least one modified data segment, and

in response to a determination that the object comprises the at least one new data segment or the at least one modified data segment,

writing information regarding the at least one new data segment or the at least one modified data segment in a tracklog dedicated to the top-level entity, wherein

the information comprises

  an INLINE directive, and

  the at least one new data segment or the at least one modified data segment.

13. The non-transitory computer-readable storage medium of claim 12 , wherein

the information further comprises an offset and size of the at least one new data segment or at least one modified data segment.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the object comprises a plurality of data segments, and the backup operation further comprises:

determining whether a data segment of the plurality of data segments remains unchanged from a prior backup operation; and

in response to a determination that the data segment remains unchanged from the prior backup operation, writing additional information regarding the data segment to the tracklog, wherein

the additional information comprises

an INCLUDE directive,

an offset, and

a length.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the object comprises a plurality of data segments, and the backup operation further comprises:

determining whether a data segment of the plurality of data segments remains unchanged from a prior backup operation;

in response to a determination that the data segment remains unchanged from the prior backup operation, writing additional information regarding the data segment to the tracklog;

determining whether the data segment was preceded by an unchanged data segment, wherein

the unchanged data segment is another of the plurality of data segments,

the unchanged data segment also remains unchanged from the prior backup operation; and

in response to a determination that the data segment was preceded by the unchanged data segment, increasing a length associated with an existing INCLUDE directive in the tracklog.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the method further comprises:

determining whether the tracklog is stored at the backup host; and

in response to a determination that the tracklog is not stored at the backup host, sending a request for a copy of the tracklog to a master server.

17. The non-transitory computer-readable storage medium of claim 12 , wherein the backup operation further comprises:

requesting added/modified/deleted information for the object from a workload, wherein the added/modified/deleted information is used to perform the determining;

determining whether the added/modified/deleted information is received; and

in response to a determination that the added/modified/deleted information was not received, skipping the backup operation for the object.

18. The non-transitory computer-readable storage medium of claim 12 , wherein the method further comprises:

subsequent to the backup operation, reassigning the top-level entity to another backup host of the plurality of backup hosts;

determining whether the top-level entity was assigned to the another backup host for the backup operation; and

in response to a determination that the top-level entity was not assigned to the another backup host for the backup operation, sending a request for an image to a master server.

19. A computing system comprising:

one or more processors; and

a computer-readable storage medium coupled to the one or more processors, comprising program instructions, which, when executed by the one or more processors,

perform a method comprising

assigning a top-level entity to a backup host of a plurality of backup hosts, wherein

a plurality of objects are associated with the top-level entity, and

performing a backup operation on the plurality of objects, wherein

the backup operation is performed by the backup host, and

the backup operation comprises

determining whether an object of the plurality of objects comprises

  at least one new data segment, or

  at least one modified data segment, and

in response to a determination that the object comprises the at least one new data segment or the at least one modified data segment, writing information regarding the at least one new data segment or the at least one modified data segment in a tracklog dedicated to the top-level entity, wherein the information comprises

  an INLINE directive, and

  the at least one new data segment or the at least one modified data segment.

Assignments (9)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069591/0510 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069577/0001 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2022
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 059337/0159 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Feb 24, 2022
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059247/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: BHARADWAJ, VAIJAYANTI RAKSHIT; DALAL, CHIRAG
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 057314/0230 →
Continuity (1)
Provisional Application 63236552 · Aug 24, 2021