US 12,379,953 B2
Systems and methods for continuous data protection comprising storage of completed I/O requests intercepted from an I/O stream using touch points
Benjamin Travis Meadowcroft, San Jose, CA (US); Li Ding, Cupertino, CA (US); Shaomin Chen, San Jose, CA (US); Hardik Vohra, Sunnyvale, CA (US); Arijit Banerjee, Bangalore (IN); Abhay Mitra, Santa Clara, CA (US); Kushaagra Goyal, Mountain View, CA (US); Arnav Gautum Mishra, San Jose, CA (US); Samir Rishi Chaudhry, Saratoga, CA (US); Suman Swaroop, Bengaluru (IN); Kunal Sean Munshani, Fremont, CA (US); and Mudit Malpani, Mountain View, CA (US)
Assigned to Rubrik, Inc., Palo Alto, CA (US)
Filed by Rubrik, Inc., Palo Alto, CA (US)
Filed on Dec. 16, 2022, as Appl. No. 18/083,361.
Application 18/083,361 is a continuation of application No. 16/398,649, filed on Apr. 30, 2019, granted, now 11,609,775.
Prior Publication US 2023/0125719 A1, Apr. 27, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/455 (2018.01); G06F 11/07 (2006.01); G06F 11/14 (2006.01); G06F 11/20 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 11/0712 (2013.01); G06F 11/1464 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45587 (2013.01); G06F 2009/45595 (2013.01); G06F 11/1448 (2013.01); G06F 11/1469 (2013.01); G06F 11/1471 (2013.01); G06F 11/2023 (2013.01); G06F 11/2038 (2013.01); G06F 11/2097 (2013.01); G06F 2201/815 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
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.