IP Library Granted Patent US 9,391,865
Granted Patent B1
US 9,391,865 · App. 14/032,615 · Granted Jul 12, 2016

Systems and methods for facilitating fault-tolerant backup jobs

Inventors: Alioune Thiam (Hugo, MN); Girish Jorapurkar (Woodbury, MN)
Assignee: Veritas Technologies LLC
H04L43/10G06F11/2025
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 9,391,865
App. No.
14/032,615
Filed
Sep 20, 2013
Granted
Jul 12, 2016
Kind
B1
Art Unit
2454
USPC
709/213
Abstract

A computer-implemented method for facilitating fault-tolerant backup jobs may include (1) receiving, at a media server, a backup assignment from a master server, (2) detecting a communication failure that inhibits communication between the media server and the master server, (3) initiating a backup job at the media server based at least in part on the backup assignment received from the master server, (4) caching, due at least in part to the communication failure, a catalog of the backup job at the media server instead of forwarding the catalog of the backup job to the master server in real-time during the backup job, and then (5) transferring the catalog of the backup job to the master server upon determining that communication between the media server and the master server is no longer inhibited. Various other methods, systems, and computer-readable media are also disclosed.

Claims (64)

1. A computer-implemented method for facilitating fault-tolerant backup jobs, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving, at a media server, a backup assignment from a master server;

after receiving the backup assignment from the master server:

detecting a communication failure that inhibits communication between the media server and the master server;

initiating a backup job at the media server based at least in part on the backup assignment received from the master server;

caching, due at least in part to the communication failure, a catalog of the backup job at the media server instead of forwarding the catalog of the backup job to the master server in real-time during the backup job;

upon determining that communication between the media server and the master server is no longer inhibited, transferring the catalog of the backup job to the master server to facilitate storing the catalog at the master server.

2. The method of claim 1 , wherein detecting the communication failure that inhibits communication between the media server and the master server comprises:

monitoring a heartbeat of the master server;

while monitoring the heartbeat of the master server, detecting an unexpected absence of the heartbeat of the master server;

determining, based at least in part on the unexpected absence of the heartbeat, that communication between the media server and the master server is inhibited.

3. The method of claim 1 , wherein the communication failure that inhibits communication between the media server and the master server comprises at least one of:

a failure of a communication infrastructure that facilitates communication between the media server and the master server;

a failure of the master server.

4. The method of claim 1 , further comprising scheduling the backup job to be initiated by the media server at a specific time based at least in part on the backup assignment received from the master server;

wherein initiating the backup job at the media server comprises initiating the backup job at the scheduled time.

5. The method of claim 4 , further comprising scheduling at least one additional backup job to be performed by at least one additional media server based at least in part on the backup assignment received from the master server.

6. The method of claim 1 , wherein initiating the backup job at the media server comprises:

capturing a backup image of at least one client device in communication with the media server;

storing the backup image at the media server.

7. The method of claim 6 , further comprising initiating a replication job at the media server by:

making a copy of the backup image stored at the media server;

transferring the copy of the backup image to at least one other server in a remote domain to facilitate replication of the backup image at the remote domain.

8. The method of claim 7 , wherein caching the catalog of the backup job at the media server comprises updating the catalog at the media server to identify the other server at which the backup image has been replicated during the replication job.

9. A system for facilitating fault-tolerant backup jobs, the system comprising:

a reception module that receives, at a media server, a backup assignment from a master server;

a detection module that detects a communication failure that inhibits communication between the media server and the master server;

a backup module that:

initiates a backup job at the media server based at least in part on the backup assignment received from the master server;

caches, due at least in part to the communication failure, a catalog of the backup job at the media server instead of forwarding the catalog of the backup job to the master server in real-time during the backup job;

a transfer module that transfers, in response to a determination that communication between the media server and the master server is no longer inhibited, the catalog of the backup job to the master server to facilitate storing the catalog at the master server;

at least one processor that executes the reception module, the detection module, the backup module, and the transfer module.

10. The system of claim 9 , wherein the detection module further:

monitors a heartbeat of the master server;

detects, while monitoring the heartbeat of the master server, an unexpected absence of the heartbeat of the master server;

determines, based at least in part on the unexpected absence of the heartbeat, that communication between the media server and the master server is inhibited.

11. The system of claim 9 , wherein the communication failure that inhibits communication between the media server and the master server comprises at least one of:

a failure of a communication infrastructure that facilitates communication between the media server and the master server;

a failure of the master server.

12. The system of claim 9 , further comprising a scheduling module that schedules the backup job to be initiated by the media server at a specific time based at least in part on the backup assignment received from the master server;

wherein the backup module further initiates the backup job at the scheduled time.

13. The system of claim 12 , wherein the scheduling module further schedules at least one additional backup job to be performed by at least one additional media server based at least in part on the backup assignment received from the master server.

14. The system of claim 9 , wherein the backup module further:

captures a backup image of at least one client device in communication with the media server;

stores at least a portion of the backup image at the media server.

15. The system of claim 14 , further comprising a replication module that initiates a replication job at the media server by:

making a copy of the backup image stored at the media server;

transferring the copy of the backup image to at least one other server in a remote domain to facilitate replication of the backup image at the remote domain.

16. The system of claim 15 , wherein the replication module further updates the catalog at the media server to identify the other server at which the backup image has been replicated during the replication job.

17. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a media server in a local domain, cause the media server to:

receive a backup assignment from a master server;

after receiving the backup assignment from the master server:

detect a communication failure that inhibits communication between the media server and the master server;

initiate a backup job at the media server based at least in part on the backup assignment received from the master server;

cache, due at least in part to the communication failure, a catalog of the backup job instead of forwarding the catalog of the backup job to the master server in real-time during the backup job;

transfer, in response to a determination that communication between the media server and the master server is no longer inhibited, the catalog of the backup job to the master server to facilitate storing the catalog at the master server.

18. The computer-readable medium of claim 17 , wherein the computer-executable instructions further cause the media server to:

monitor a heartbeat of the master server;

while monitoring the heartbeat of the master server, detect an unexpected absence of the heartbeat of the master server;

determine, based at least in part on the unexpected absence of the heartbeat, that communication between the media server and the master server is inhibited.

19. The computer-readable medium of claim 17 , wherein the computer-executable instructions further cause the media server to:

schedule the backup job to be initiated by the media server at a specific time based at least in part on the backup assignment received from the master server;

initiate the backup job at the scheduled time.

20. The computer-readable medium of claim 17 , wherein the computer-executable instructions further cause the media server to schedule at least one additional backup job to be performed by at least one additional media server in the local domain based at least in part on the backup assignment received from the master server.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075728/0466 →
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 (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
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 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2013
From: THIAM, ALIOUNE; JORAPURKAR, GIRISH
To: SYMANTEC CORPORATION
Reel/Frame 031250/0186 →