IP Library Granted Patent US 11,226,870
Granted Patent B2
US 11,226,870 · App. 16/563,611 · Granted Jan 18, 2022

Systems and methods for marking application-consistent points-in-time

Inventors: Chirag Dalal (Pune, IN); Vaijayanti Bharadwaj (Pune, IN); Pradip Kulkarni (Pune, IN)
Assignee: Veritas Technologies LLC
G06F11/1466G06F3/061G06F3/065G06F3/0664G06F3/0673G06F9/45545G06F9/45558G06F11/1448G06F2009/45579
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,226,870
App. No.
16/563,611
Granted
Jan 18, 2022
Kind
B2
Abstract

The disclosed computer-implemented method for marking application-consistent points-in-time may include intercepting, by an I/O filter, a write request from a guest virtual machine to a virtual machine disk and queueing the write request in an I/O filter queue. The method may include sending the write request to the virtual machine disk and receiving a write completion message from the virtual machine disk. The method may also include sending, in response to the write completion message, the write request to an I/O daemon, and queueing the write request in an I/O daemon queue. The method may further include sending the write completion message to the guest virtual machine, and sending the write request to a backup gateway such that the backup gateway mimics writes to the virtual machine disk. Various other methods, systems, and computer-readable media are also disclosed.

Claims (73)

1. A computer-implemented method for marking application-consistent points-in-time, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

intercepting, by an input/output (I/O) filter, a write request from a guest virtual machine to a virtual machine disk;

queueing the write request in an I/O filter queue, wherein the I/O filter queue comprises a first ordered sequence of write requests;

sending, based on the I/O filter queue, the write request to the virtual machine disk;

receiving, by the I/O filter, a write completion message from the virtual machine disk;

sending, by the I/O filter in response to the write completion message, the write request to an I/O daemon;

queueing, by the I/O daemon in response to the write completion message, the write request in an I/O daemon queue, wherein the I/O daemon queue comprises a second ordered sequence of write requests;

sending, by the I/O filter after queueing the write request in the I/O daemon queue, the write completion message to the guest virtual machine; and

sending, based on the I/O daemon queue, the write request to a backup gateway such that the backup gateway mimics writes to the virtual machine disk.

2. The method of claim 1 , further comprising:

receiving, from a backup requester on the guest virtual machine, a message to mark an application-consistent point-in-time for the virtual machine disk;

pausing new write requests for the virtual machine disk;

completing pending write requests for the virtual machine disk in the I/O filter;

receiving, by the I/O filter, a flush completion message in response to completing the pending write requests;

setting, by the I/O daemon, a marker in the I/O daemon queue to mark the application-consistent point-in-time; and

permitting, in response to setting the marker, new write requests from the guest virtual machine.

3. The method of claim 2 , further comprising:

sending, from the backup gateway to the backup requester in response to receiving the message, a virtual machine identifier for the guest virtual machine;

sending, from the backup requester to the I/O daemon, the virtual machine identifier; and

pausing new write requests by the guest virtual machine.

4. The method of claim 2 , further comprising sending the marker to the backup gateway after all write requests before the application-consistent point-in-time and before the new write requests.

5. The method of claim 1 , wherein the backup gateway maintains a mimicked copy of the virtual machine disk.

6. The method of claim 1 , wherein queueing the write request in the I/O daemon queue comprises queueing the write request with a sequence identifier.

7. The method of claim 6 , wherein sending the write request to the backup gateway further comprises sending the write request based on the sequence identifier to maintain an ordered sequence of write requests from the guest virtual machine.

8. The method of claim 1 , wherein the backup gateway mimics the writes to the virtual machine disk asynchronously.

9. A system for marking application-consistent points-in-time, the system comprising:

at least one physical processor;

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:

intercept, by an input/output (I/O) filter, a write request from a guest virtual machine to a virtual machine disk;

queue the write request in an I/O filter queue, wherein the I/O filter queue comprises a first ordered sequence of write requests;

send, based on the I/O filter queue, the write request to the virtual machine disk;

receive, by the I/O filter, a write completion message from the virtual machine disk;

send, by the I/O filter in response to the write completion message, the write request to an I/O daemon;

queue, by the I/O daemon in response to the write completion message, the write request in an I/O daemon queue, wherein the I/O daemon queue comprises a second ordered sequence of write requests;

send, by the I/O filter after queueing the write request in the I/O daemon queue, the write completion message to the guest virtual machine; and

send, based on the I/O daemon queue, the write request to a backup gateway such that the backup gateway mimics writes to the virtual machine disk.

10. The system of claim 9 , wherein the instructions further comprise instructions for:

receiving, from a backup requester on the guest virtual machine, a message to mark an application-consistent point-in-time for the virtual machine disk;

pausing new write requests for the virtual machine disk;

completing pending write requests for the virtual machine disk in the I/O filter;

receiving, by the I/O filter, a flush completion message in response to completing the pending write requests;

setting, by the I/O daemon, a marker in the I/O daemon queue to mark the application-consistent point-in-time; and

permitting, in response to setting the marker, new write requests from the guest virtual machine.

11. The system of claim 10 , wherein the instructions further comprise instructions for:

sending, from the backup gateway to the backup requester in response to receiving the message, a virtual machine identifier for the guest virtual machine;

sending, from the backup requester to the I/O daemon, the virtual machine identifier; and

pausing new write requests by the guest virtual machine.

12. The system of claim 10 , wherein the instructions further comprise instructions for sending the marker to the backup gateway after all write requests before the application-consistent point-in-time and before the new write requests.

13. The system of claim 9 , wherein the backup gateway maintains a mimicked copy of the virtual machine disk.

14. The system of claim 9 , wherein the instructions for queueing the write request in the I/O daemon queue comprises instructions for queueing the write request with a sequence identifier.

15. The system of claim 14 , wherein the instructions for sending the write request to the backup gateway further comprises instructions for sending the write request based on the sequence identifier to maintain an ordered sequence of write requests from the guest virtual machine.

16. The system of claim 9 , wherein the backup gateway mimics the writes to the virtual machine disk asynchronously.

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

intercept, by an input/output (I/O) filter, a write request from a guest virtual machine to a virtual machine disk;

queue the write request in an I/O filter queue, wherein the I/O filter queue comprises a first ordered sequence of write requests;

send, based on the I/O filter queue, the write request to the virtual machine disk;

receive, by the I/O filter, a write completion message from the virtual machine disk;

send, by the I/O filter in response to the write completion message, the write request to an I/O daemon;

queue, by the I/O daemon in response to the write completion message, the write request in an I/O daemon queue, wherein the I/O daemon queue comprises a second ordered sequence of write requests;

send, by the I/O filter after queueing the write request in the I/O daemon queue, the write completion message to the guest virtual machine; and

send, based on the I/O daemon queue, the write request to a backup gateway such that the backup gateway mimics writes to the virtual machine disk.

18. The non-transitory computer-readable medium of claim 17 , wherein the instructions further comprise instructions for:

receiving, from a backup requester on the guest virtual machine, a message to mark an application-consistent point-in-time for the virtual machine disk;

pausing new write requests for the virtual machine disk;

completing pending write requests for the virtual machine disk in the I/O filter;

receiving, by the I/O filter, a flush completion message in response to completing the pending write requests;

setting, by the I/O daemon, a marker in the I/O daemon queue to mark the application-consistent point-in-time; and

permitting, in response to setting the marker, new write requests from the guest virtual machine.

19. The non-transitory computer-readable medium of claim 18 , wherein the instructions further comprise instructions for:

sending, from the backup gateway to the backup requester in response to receiving the message, a virtual machine identifier for the guest virtual machine;

sending, from the backup requester to the I/O daemon, the virtual machine identifier; and

pausing new write requests by the guest virtual machine.

20. The non-transitory computer-readable medium of claim 18 , wherein the instructions further comprise instructions for sending the marker to the backup gateway after all write requests before the application-consistent point-in-time and before the new write requests.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075377/0130 →
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 069697/0238 →
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 INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: DALAL, CHIRAG; BHARADWAJ, VAIJAYANTI; KULKARNI, PRADIP
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 050298/0907 →
Continuity (1)
Related Publication 20210073082A1 · Mar 11, 2021