IP Library Granted Patent US 12,530,266
Granted Patent B2
US 12,530,266 · App. 18/957,553 · Granted Jan 20, 2026

In-place cloud instance restore

Inventors: Prateek Pandey (Santa Clara, CA); Shashank Jain (Mountain View, CA); Vikas Jain (Bangalore, IN)
Assignee: Rubrik, Inc.
G06F11/1469G06F9/45558G06F11/1464G06F2009/45575G06F2009/45583G06F2009/45595G06F2201/84
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 12,530,266
App. No.
18/957,553
Granted
Jan 20, 2026
Kind
B2
Abstract

The disclosed technology teaches recovering a first virtual machine or an instance with an Internet Protocol address, a first root volume and one or more data volumes that are corrupted. The first virtual machine is hosted by a first cloud server that hosts plurality of virtual machines. The disclosed technology includes instructing the first cloud server to launch a recovery virtual machine. The recovery virtual machine launches one or more new data volumes based upon captured file system images in one or more snapshots taken of corrupted data volumes of the first virtual machine prior to becoming corrupted. The recovery virtual machine detaches the corrupted data volumes and attaches the new data volumes launched to the first virtual machine. The Internet Protocol address of the first virtual machine remains unchanged.

Claims (47)

1 . A method, comprising:

identifying a plurality of system files that correspond to a pre-corruption state of one or more corrupted data volumes attached to a first virtual machine of a plurality of virtual machines hosted by a server, the plurality of system files comprising at least one base file and a combination of forward and reverse incremental files that indicate changes with respect to the at least one base file;

generating, at a second virtual machine of the plurality of virtual machines hosted by the server, one or more backup data volumes based at least in part on the plurality of system files;

detaching the one or more corrupted data volumes from the first virtual machine based at least in part on generating the one or more backup data volumes; and

attaching the one or more backup data volumes to the first virtual machine after detaching the one or more corrupted data volumes from the first virtual machine.

2 . The method of claim 1 , wherein an Internet Protocol address of the first virtual machine remains accessible while the one or more corrupted data volumes are detached from the first virtual machine.

3 . The method of claim 1 , wherein the first virtual machine is assigned an Internet Protocol address prior to the plurality of system files being identified at a first time, and wherein the Internet Protocol address remains assigned to the first virtual machine throughout a time period spanning from the first time to a second time associated with the one or more backup data volumes being attached to the first virtual machine.

4 . The method of claim 1 , further comprising:

halting the first virtual machine prior to detaching the one or more corrupted data volumes.

5 . The method of claim 1 , further comprising:

restarting the first virtual machine after attaching the one or more backup data volumes.

6 . The method of claim 1 , further comprising:

launching a root volume at the second virtual machine based at least in part on the plurality of system files.

7 . The method of claim 6 , further comprising:

detaching a corrupted root volume from the first virtual machine; and

attaching the root volume to the first virtual machine.

8 . A data management system, comprising:

one or more memories; and

one or more processors, wherein the one or more memories store code comprising instructions executable, individually or collectively, by the one or more processors to cause the data management system to:

identify a plurality of system files that correspond to a pre-corruption state of one or more corrupted data volumes attached to a first virtual machine of a plurality of virtual machines hosted by a server, the plurality of system files comprising at least one base file and a combination of forward and reverse incremental files that indicate changes with respect to the at least one base file;

generate, at a second virtual machine of the plurality of virtual machines hosted by the server, one or more backup data volumes based at least in part on the plurality of system files;

detach the one or more corrupted data volumes from the first virtual machine based at least in part on generating the one or more backup data volumes; and

attach the one or more backup data volumes to the first virtual machine after detaching the one or more corrupted data volumes from the first virtual machine.

9 . The data management system of claim 8 , wherein an Internet Protocol address of the first virtual machine remains accessible while the one or more corrupted data volumes are detached from the first virtual machine.

10 . The data management system of claim 8 , wherein the first virtual machine is assigned an Internet Protocol address prior to the plurality of system files being identified at a first time, and wherein the Internet Protocol address remains assigned to the first virtual machine throughout a time period spanning from the first time to a second time associated with the one or more backup data volumes being attached to the first virtual machine.

11 . The data management system of claim 8 , wherein the instructions are further executable, individually or collectively, by the one or more processors to cause the data management system to:

halt the first virtual machine prior to detaching the one or more corrupted data volumes.

12 . The data management system of claim 8 , wherein the instructions are further executable, individually or collectively, by the one or more processors to cause the data management system to:

restart the first virtual machine after attaching the one or more backup data volumes.

13 . The data management system of claim 8 , wherein the instructions are further executable, individually or collectively, by the one or more processors to cause the data management system to:

launch a root volume at the second virtual machine based at least in part on the plurality of system files.

14 . The data management system of claim 13 , wherein the instructions are further executable, individually or collectively, by the one or more processors to cause the data management system to:

detach a corrupted root volume from the first virtual machine; and

attach the root volume to the first virtual machine.

15 . A non-transitory, computer-readable medium storing code that comprises instructions that are executable, individually or collectively, by one or more processors of a data management system to cause the data management system to:

identify a plurality of system files that correspond to a pre-corruption state of one or more corrupted data volumes attached to a first virtual machine of a plurality of virtual machines hosted by a server, the plurality of system files comprising at least one base file and a combination of forward and reverse incremental files that indicate changes with respect to the at least one base file;

generate, at a second virtual machine of the plurality of virtual machines hosted by the server, one or more backup data volumes based at least in part on the plurality of system files;

detach the one or more corrupted data volumes from the first virtual machine based at least in part on generating the one or more backup data volumes; and

attach the one or more backup data volumes to the first virtual machine after detaching the one or more corrupted data volumes from the first virtual machine.

16 . The non-transitory, computer-readable medium of claim 15 , wherein an Internet Protocol address of the first virtual machine remains accessible while the one or more corrupted data volumes are detached from the first virtual machine.

17 . The non-transitory, computer-readable medium of claim 15 , wherein the first virtual machine is assigned an Internet Protocol address prior to the plurality of system files being identified at a first time, and wherein the Internet Protocol address remains assigned to the first virtual machine throughout a time period spanning from the first time to a second time associated with the one or more backup data volumes being attached to the first virtual machine.

18 . The non-transitory, computer-readable medium of claim 15 , wherein the instructions are executable, individually or collectively, by the one or more processors to cause the data management system to:

halt the first virtual machine prior to detaching the one or more corrupted data volumes.

19 . The non-transitory, computer-readable medium of claim 15 , wherein the instructions are executable, individually or collectively, by the one or more processors to cause the data management system to:

restart the first virtual machine after attaching the one or more backup data volumes.

20 . The non-transitory, computer-readable medium of claim 15 , wherein the instructions are executable, individually or collectively, by the one or more processors to cause the data management system to:

launch a root volume at the second virtual machine based at least in part on the plurality of system files.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2025
From: PANDEY, PRATEEK; JAIN, SHASHANK; JAIN, VIKAS
To: RUBRIK, INC.
Reel/Frame 070151/0027 →
Continuity (4)
Continuation 18056200 · Nov 16, 2022
Continuation 17738629 · May 6, 2022
Continuation 15826463 · Nov 29, 2017
Related Publication 20250086069A1 · Mar 13, 2025
References Cited (167)
US 7124171B1 · McCann · 2006 [cited by applicant]
US 7797279B1 · Starling et al. · 2010 [cited by applicant]
US 8046547B1 · Chatterjee et al. · 2011 [cited by applicant]
US 8060476B1 · Afonso et al. · 2011 [cited by applicant]
US 8135930B1 · Mattox et al. · 2012 [cited by applicant]
US 8234469B2 · Ranade · 2012 [cited by applicant]
US 8315985B1 · Ohr et al. · 2012 [cited by applicant]
US 8332689B2 · Timashev et al. · 2012 [cited by applicant]
US 8341365B2 · Murase et al. · 2012 [cited by applicant]
US 8359594B1 · Davidson et al. · 2013 [cited by applicant]
US 8375003B1 · Afonso et al. · 2013 [cited by applicant]
US 8402309B2 · Timashev et al. · 2013 [cited by applicant]
US 8566326B2 · Hu et al. · 2013 [cited by applicant]
US 8589350B1 · Lalonde et al. · 2013 [cited by applicant]
US 8645950B2 · Fries et al. · 2014 [cited by applicant]
US 8712978B1 · Shilane et al. · 2014 [cited by applicant]
US 8725871B2 · Ding et al. · 2014 [cited by applicant]
US 8732411B1 · Chatterjee et al. · 2014 [cited by applicant]
US 8756197B1 · Wilde et al. · 2014 [cited by applicant]
US 8910156B1 · Kenchammana-Hosekote et al. · 2014 [cited by applicant]
US 8984221B2 · Satoyama et al. · 2015 [cited by applicant]
US 9037534B1 · Kolesnikov · 2015 [cited by applicant]
US 9047238B2 · Zaslavsky et al. · 2015 [cited by applicant]
US 9116846B2 · Vasilyev et al. · 2015 [cited by applicant]
US 9213512B1 · Montierth et al. · 2015 [cited by applicant]
US 9213572B2 · Farkas et al. · 2015 [cited by applicant]
US 9292327B1 · Von et al. · 2016 [cited by applicant]
US 9311318B1 · Afonso et al. · 2016 [cited by applicant]
US 9372825B1 · Shee · 2016 [cited by applicant]
US 9465518B1 · Koryakina et al. · 2016 [cited by applicant]
US 9515905B1 · Blanding et al. · 2016 [cited by applicant]
US 9521198B1 · Agarwala et al. · 2016 [cited by applicant]
US 9536546B2 · Motta et al. · 2017 [cited by applicant]
US 9569124B2 · Jain et al. · 2017 [cited by applicant]
US 9697268B1 · Prater et al. · 2017 [cited by applicant]
US 9715346B2 · Jain et al. · 2017 [cited by applicant]
US 9824095B1 · Taylor et al. · 2017 [cited by applicant]
US 10007445B2 · Nithrakashyap et al. · 2018 [cited by applicant]
US 10114564B2 · Jain et al. · 2018 [cited by applicant]
US 10114565B2 · Nithrakashyap et al. · 2018 [cited by applicant]
US 10133495B2 · Jain et al. · 2018 [cited by applicant]
US 10140303B1 · Patterson · 2018 [cited by applicant]
US 10241691B2 · Jain et al. · 2019 [cited by applicant]
US 10282112B2 · Jain et al. · 2019 [cited by applicant]
US 10303555B1 · Lee · 2019 [cited by applicant]
US 10346354B2 · Kushwah et al. · 2019 [cited by applicant]
US 10423342B1 · Chheda et al. · 2019 [cited by applicant]
US 10678448B2 · Jain et al. · 2020 [cited by applicant]
US 10824589B2 · Jain et al. · 2020 [cited by applicant]
US 11079941B2 · Jain et al. · 2021 [cited by applicant]
US 11221920B2 · Mazumdar · 2022 [cited by applicant]
US 11334438B2 · Mazumdar · 2022 [cited by applicant]
US 11354046B2 · Jain et al. · 2022 [cited by applicant]
US 11372729B2 · Pandey et al. · 2022 [cited by applicant]
US 20010044807A1 · Kleiman et al. · 2001 [cited by applicant]
US 20020176193A1 · Coonen · 2002 [cited by applicant]
US 20030115433A1 · Kodama · 2003 [cited by applicant]
US 20030131278A1 · Fujibayashi · 2003 [cited by applicant]
US 20030182313A1 · Federwisch et al. · 2003 [cited by applicant]
US 20040085965A1 · Fotedar · 2004 [cited by applicant]
US 20040139128A1 · Becker et al. · 2004 [cited by applicant]
US 20040210885A1 · Wang et al. · 2004 [cited by applicant]
US 20050108486A1 · Sandorfi · 2005 [cited by applicant]
US 20050187992A1 · Prahlad et al. · 2005 [cited by applicant]
US 20070136395A1 · Fries et al. · 2007 [cited by applicant]
US 20070156794A1 · Kisley et al. · 2007 [cited by applicant]
US 20070294563A1 · Bose · 2007 [cited by applicant]
US 20080013830A1 · Patterson et al. · 2008 [cited by applicant]
US 20080256311A1 · Lee · 2008 [cited by applicant]
US 20090043873A1 · Barsness et al. · 2009 [cited by applicant]
US 20090150879A1 · Raghunath · 2009 [cited by applicant]
US 20100049929A1 · Nagarkar et al. · 2010 [cited by applicant]
US 20100070726A1 · Ngo et al. · 2010 [cited by applicant]
US 20100077165A1 · Lu · 2010 [cited by examiner]
US 20100138827A1 · Frank et al. · 2010 [cited by applicant]
US 20100223428A1 · Wayda et al. · 2010 [cited by applicant]
US 20100306484A1 · Obr et al. · 2010 [cited by applicant]
US 20110154331A1 · Ciano et al. · 2011 [cited by applicant]
US 20110191356A1 · Gazula · 2011 [cited by applicant]
US 20110191559A1 · Li et al. · 2011 [cited by applicant]
US 20110213765A1 · Cui et al. · 2011 [cited by applicant]
US 20110265085A1 · Kedem et al. · 2011 [cited by applicant]
US 20110307886A1 · Thanga · 2011 [cited by examiner]
US 20110320882A1 · Beaty et al. · 2011 [cited by applicant]
US 20120072393A1 · Kumar et al. · 2012 [cited by applicant]
US 20120130956A1 · Caputo · 2012 [cited by applicant]
US 20120131480A1 · Kalmbach et al. · 2012 [cited by applicant]
US 20120144391A1 · Ueda · 2012 [cited by applicant]
US 20120158709A1 · Gaonkar et al. · 2012 [cited by applicant]
US 20120191931A1 · Bricker et al. · 2012 [cited by applicant]
US 20120192175A1 · Dorai et al. · 2012 [cited by applicant]
US 20120246645A1 · Iikura et al. · 2012 [cited by applicant]
US 20120254131A1 · Al et al. · 2012 [cited by applicant]
US 20120265732A1 · Gokhale et al. · 2012 [cited by applicant]
US 20120284233A1 · Otani · 2012 [cited by applicant]
US 20120324446A1 · Fries et al. · 2012 [cited by applicant]
US 20130080397A1 · Payne et al. · 2013 [cited by applicant]
US 20130132954A1 · Bolte et al. · 2013 [cited by applicant]
US 20130145105A1 · Sawicki et al. · 2013 [cited by applicant]
US 20130191347A1 · Bensinger · 2013 [cited by applicant]
US 20130262387A1 · Varadharajan et al. · 2013 [cited by applicant]
US 20130305344A1 · Alicherry et al. · 2013 [cited by applicant]
US 20130346976A1 · Robinson et al. · 2013 [cited by applicant]
US 20140047268A1 · Timashev et al. · 2014 [cited by applicant]
US 20140052698A1 · Chen et al. · 2014 [cited by applicant]
US 20140095817A1 · Hsu et al. · 2014 [cited by applicant]
US 20140115579A1 · Kong · 2014 [cited by applicant]
US 20140130040A1 · Lemanski · 2014 [cited by applicant]
US 20140188807A1 · Al-Kiswany et al. · 2014 [cited by applicant]
US 20140201163A1 · Tipton et al. · 2014 [cited by applicant]
US 20140229440A1 · Venkatesh et al. · 2014 [cited by applicant]
US 20140244935A1 · Ezra et al. · 2014 [cited by applicant]
US 20140258238A1 · Jin et al. · 2014 [cited by applicant]
US 20140279909A1 · Sudarsanam et al. · 2014 [cited by applicant]
US 20140297603A1 · Kim et al. · 2014 [cited by applicant]
US 20140325182A1 · Varakur et al. · 2014 [cited by applicant]
US 20150012920A1 · De et al. · 2015 [cited by applicant]
US 20150067283A1 · Basu et al. · 2015 [cited by applicant]
US 20150067390A1 · Blake · 2015 [cited by applicant]
US 20150242283A1 · Simoncelli · 2015 [cited by examiner]
US 20150244775A1 · Vibhor et al. · 2015 [cited by applicant]
US 20150277802A1 · Oikarinen et al. · 2015 [cited by applicant]
US 20150277952A1 · Lin et al. · 2015 [cited by applicant]
US 20150301903A1 · Mutha et al. · 2015 [cited by applicant]
US 20150324215A1 · Borthakur · 2015 [cited by applicant]
US 20150331744A1 · Slik · 2015 [cited by applicant]
US 20160004718A1 · Lin et al. · 2016 [cited by applicant]
US 20160026485A1 · Araujo · 2016 [cited by applicant]
US 20160026492A1 · Son et al. · 2016 [cited by applicant]
US 20160042761A1 · Motta et al. · 2016 [cited by applicant]
US 20160048408A1 · Madhu et al. · 2016 [cited by applicant]
US 20160124665A1 · Jain et al. · 2016 [cited by applicant]
US 20160124676A1 · Jain et al. · 2016 [cited by applicant]
US 20160124764A1 · Nithrakashyap et al. · 2016 [cited by applicant]
US 20160124972A1 · Jain et al. · 2016 [cited by applicant]
US 20160124977A1 · Jain et al. · 2016 [cited by applicant]
US 20160124978A1 · Nithrakashyap et al. · 2016 [cited by applicant]
US 20160125058A1 · Jain et al. · 2016 [cited by applicant]
US 20160125059A1 · Jain et al. · 2016 [cited by applicant]
US 20160127307A1 · Jain et al. · 2016 [cited by applicant]
US 20160139836A1 · Nallathambi et al. · 2016 [cited by applicant]
US 20160142483A1 · Nallathambi et al. · 2016 [cited by applicant]
US 20170139729A1 · Cropper · 2017 [cited by examiner]
US 20180059973A1 · Jain et al. · 2018 [cited by applicant]
US 20180121453A1 · Jain et al. · 2018 [cited by applicant]
US 20180121454A1 · Kushwah et al. · 2018 [cited by applicant]
US 20180232278A1 · Kumarasamy et al. · 2018 [cited by applicant]
US 20180302439A1 · Hoffmann · 2018 [cited by examiner]
US 20180373879A1 · Lango · 2018 [cited by examiner]
US 20190108098A1 · Mazumdar · 2019 [cited by applicant]
US 20190108099A1 · Mazumdar · 2019 [cited by applicant]
US 20190163580A1 · Pandey et al. · 2019 [cited by applicant]
US 20190171374A1 · Jain et al. · 2019 [cited by applicant]
US 20200210075A1 · Jain et al. · 2020 [cited by applicant]
US 20220244864A1 · Jain et al. · 2022 [cited by applicant]
US 20220261315A1 · Mazumdar · 2022 [cited by applicant]
US 20220318103A1 · Pandey et al. · 2022 [cited by applicant]
US 20230081841A1 · Pandey et al. · 2023 [cited by applicant]
EP 3215940A2 · 2017 [cited by applicant]
EP 3567482A1 · 2019 [cited by applicant]
WO 2016073625A2 · 2016 [cited by applicant]
Lorenz et al. (CN-101154234-A), “System And Method For Managing Data Versions”, Apr. 2, 2008, 11 pages. (Year: 2008). [cited by applicant]
“European Application Serial No. 15795291.2, Communication Pursuant to Article 94(3) EPC dated Feb. 15, 2018”, 3 pages. [cited by applicant]
“European Application Serial No. 15795291.2, Communication Pursuant to Article 94(3) EPC dated Jul. 23, 2018”, 7 pages. [cited by applicant]
“European Application Serial No. 15795291.2, Office Action dated May 11, 2018”, 3 pages. [cited by applicant]
Baier et al., Security Aspects of Piecewise Hasing in Computer Forensics, IT Security Incident Management and IT Forensics (IMF), 2011 Sixth International Conference on IEEE (May 10, 2011), 16 pages. [cited by applicant]
PCT International Search Report and Written Opinion of the International Searching Authority, mailed Apr. 22, 2016, PCT Patent Application No. PCT/US2015/059063. [cited by applicant]