US 11,966,300 B2
Optimizing snapshot image processing utilizing first and second levels of snapshot information and first and second levels of cached snapshot information
Jonathan Youngha Joo, Mountain View, CA (US); Adam Gee, San Francisco, CA (US); Vivek Jain, Palo Alto, CA (US); Junyong Lee, Menlo Park, CA (US); and Aravind Menon, Palo Alto, CA (US)
Assigned to Rubrik, Inc., Palo Alto, CA (US)
Filed by Rubrik, Inc., Palo Alto, CA (US)
Filed on Aug. 2, 2022, as Appl. No. 17/879,720.
Application 17/879,720 is a continuation of application No. 16/528,337, filed on Jul. 31, 2019, granted, now 11,422,897.
Prior Publication US 2023/0013846 A1, Jan. 19, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 11/14 (2006.01); G06F 9/455 (2018.01)
CPC G06F 11/1448 (2013.01) [G06F 9/45558 (2013.01); G06F 11/1456 (2013.01); G06F 2009/4557 (2013.01); G06F 2201/835 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
at least one processor and memory having instructions that, when executed, cause the at least one processor to perform operations comprising:
receiving a read request to read data from an optimized snapshot information comprising a snapshot information and a cached snapshot information, wherein the snapshot information and the cached snapshot information are organized into a plurality of levels;
determining that a first portion of the data is not stored in a first level of the cached snapshot information, the first level being a most recent level of the plurality of levels;
determining, in response to determining that the first portion of the data is not stored in the first level of the cached snapshot information, that the first portion of the data is stored in a first level of the snapshot information and that a second portion of the data is not stored in the first level of the snapshot information, wherein the first level of the snapshot information corresponds to the first level of the cached snapshot information and to a first incremental snapshot captured during a first time window, and wherein a second level of the snapshot information corresponds to a second level of the cached snapshot information and to a second incremental snapshot captured during a second time window;
determining that the second portion of the data is stored in the second level of the snapshot information in response to determining that the second portion of the data is not stored in the second level of the cached snapshot information;
reading the first portion of data and the second portion of data from the snapshot information; and
communicating the data to a job, the data including the first portion of the data and the second portion of the data.