Systems and methods for continuous data protection comprising storage of completed I/O requests intercepted from an I/O stream using touch points

US12379953B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12379953-B2
Application numberUS-202218083361-A
CountryUS
Kind codeB2
Filing dateDec 16, 2022
Priority dateApr 30, 2019
Publication dateAug 5, 2025
Grant dateAug 5, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Example embodiments relate generally to systems and methods for continuous data protection (CDP) and more specifically to an input and output (I/O) filtering framework and log management system to seek a near-zero recovery point objective (RPO).

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: accessing, in an input/output (I/O) path between a virtual machine (VM) and a virtualization server, an I/O stream comprising records of completed I/O requests and records of uncompleted I/O requests that are exchanged between the VM and the virtualization server; configuring an I/O touchpoint in the I/O stream, the I/O touchpoint associated with I/O request cancellation; filtering out one or more records of one or more canceled I/O requests detected using the I/O touchpoint associated with I/O request cancellation, wherein only the records of the completed I/O requests in the I/O stream are captured based at least in part on filtering out the one or more canceled I/O requests; and forming, based at least in part on the filtering, a snapshot-log chain by associating only the records of the captured completed I/O requests with a snapshot. 2. The method of claim 1 , wherein the I/O touchpoint associated with I/O request cancellation is configured in the I/O stream prior to capturing only the records of the completed I/O requests. 3. The method of claim 1 , further comprising: storing, from among the records of the completed I/O requests and the records of the uncompleted I/O requests, only the records of the completed I/O requests at a backup site based at least in part on the capturing. 4. The method of claim 3 , wherein the snapshot is stored at the backup site. 5. The method of claim 1 , wherein capturing only the records of the completed I/O requests comprises: filtering I/O requests in the I/O stream to intercept only the records of the completed I/O requests. 6. The method of claim 1 , further comprising: establishing, at an interception point in the I/O path, a filter framework comprising an I/O stack and an I/O filter. 7. The method of claim 6 , wherein the filter framework further comprises a filter driver, and the method further comprises: configuring the filter driver to intercept only the completed I/O requests in the I/O stream using the I/O touchpoint, wherein only the records of the completed I/O requests are captured based at least in part on configuring the filter driver. 8. The method of claim 6 , wherein: the I/O request cancellation is a distributed I/O request cancellation of a plurality of I/O requests comprising a first set of completed I/O requests and a second set of uncompleted I/O requests, and the method further comprises managing the distributed I/O request cancellation at the I/O stack of the filter framework. 9. The method of claim 1 , further comprising: receiving, after forming the snapshot-log chain, a request for recoverable data; and sending, in response to the request for recoverable data, data to a replication target based at least on a portion of the snapshot-log chain. 10. An apparatus, comprising: at least one processor; and memory storing instructions that are executable by the at least one processor to cause the apparatus to: access, in an input/output (I/O) path between a virtual machine (VM) and a virtualization server, an I/O stream comprising records of completed I/O requests and records of uncompleted I/O requests that are exchanged between the VM and the virtualization server; configure an I/O touchpoint in the I/O stream, the I/O touchpoint associated with I/O request cancellation; filter out one or more records of one or more canceled I/O requests detected using the I/O touchpoint associated with I/O request cancellation, wherein the instructions are executable by the at least one processor to cause the apparatus to capture only the records of the completed I/O requests in the I/O stream based at least in part on filtering out the one or more canceled I/O requests; and form, based at least in part on the filtering, a snapshot-log chain by associating only the records of the captured completed I/O requests with a snapshot. 11. The apparatus of claim 10 , wherein the instructions are executable by the at least one processor to cause the apparatus to: configure the I/O touchpoint associated with I/O request cancellation in the I/O stream prior to capturing only the records of the completed I/O requests. 12. The apparatus of claim 10 , wherein the instructions are further executable by the at least one processor to cause the apparatus to: store, from among the records of the completed I/O requests and the records of the uncompleted I/O requests, only the records of the completed I/O requests at a backup site based at least in part on the capturing. 13. The apparatus of claim 10 , wherein, to capture only the records of the completed I/O requests, the instructions are further executable by the at least one processor to cause the apparatus to: filter I/O requests in the I/O stream to intercept only the records of the completed I/O requests. 14. The apparatus of claim 10 , wherein the instructions are further executable by the at least one processor to cause the apparatus to: establish, at an interception point in the I/O path, a filter framework comprising an I/O stack and an I/O filter. 15. The apparatus of claim 10 , wherein the instructions are further executable by the at least one processor to cause the apparatus to: receive, after forming the snapshot-log chain, a request for recoverable data; and send, in response to the request for recoverable data, data to a replication target based at least on a portion of the snapshot-log chain. 16. A non-transitory, computer-readable medium that stores instructions that are executable by at least one processor of an electronic device to cause the electronic device to: access, in an input/output (I/O) path between a virtual machine (VM) and a virtualization server, an I/O stream comprising records of completed I/O requests and records of uncompleted I/O requests that are exchanged between the VM and the virtualization server; configure an I/O touchpoint in the I/O stream, the I/O touchpoint associated with I/O request cancellation; filter out one or more records of one or more canceled I/O requests detected using the I/O touchpoint associated with I/O request cancellation, wherein the instructions are executable by the at least one processor to cause the electronic device to capture only the records of the completed I/O requests in the I/O stream based at least in part on filtering out the one or more canceled I/O requests; and form, based at least in part on the filtering, a snapshot-log chain by associating only the records of the captured completed I/O requests with a snapshot. 17. The non-transitory, computer-readable medium of claim 16 , wherein the instructions are further executable by the at least one processor to cause the electronic device to: store, from among the records of the completed I/O requests and the records of the uncompleted I/O requests, only the records of the completed I/O requests at a backup site based at least in part on the capturing. 18. The non-transitory, computer-readable medium of claim 16 , wherein, to capture only the records of the completed I/O requests, the instructions are executable by the at least one processor to cause the electronic device to: filter I/O requests in the I/O stream to intercept only the records of the completed I/O requests. 19. The non-transitory, computer-readable medium of claim 16 , wherein the instructions are further executable by the at least one processor to cause the electronic device to: establish, at an interception point in the I/O path, a filter framework comprising an I/O stack an

Assignees

Inventors

Classifications

  • maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · CPC title

  • with a single idle spare processing component · CPC title

  • Failover techniques · CPC title

  • Virtual · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12379953B2 cover?
Example embodiments relate generally to systems and methods for continuous data protection (CDP) and more specifically to an input and output (I/O) filtering framework and log management system to seek a near-zero recovery point objective (RPO).
Who is the assignee on this patent?
Rubrik Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 05 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).