US 12,443,488 B2
Caching snapshot information for snapshot image processing and optimization based on aggregating read requests
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 Apr. 4, 2024, as Appl. No. 18/627,181.
Application 18/627,181 is a continuation of application No. 17/879,720, filed on Aug. 2, 2022, granted, now 11,966,300.
Application 17/879,720 is a continuation of application No. 16/528,337, filed on Jul. 31, 2019, granted, now 11,422,897, issued on Aug. 23, 2022.
Prior Publication US 2024/0248801 A1, Jul. 25, 2024
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 first read request to read data from an optimized snapshot information comprising a snapshot information and a cached snapshot information, wherein the first read request includes a first offset identifying a first storage location and a first length;
receiving a second read request to read data from the optimized snapshot information, wherein the second read request includes a second offset identifying a second storage location and a second length;
identifying that the first read request and the second read request are duplicates based at least in part on the first offset and the second offset;
aggregating the first read request and the second read request into an aggregated read request based at least in part on the first read request and the second read request being duplicates;
reading the data from the snapshot information in accordance with the aggregated read request;
classifying whether the cached snapshot information optimizes a job based at least in part on aggregating the first read request and the second read request; and
utilizing the cached snapshot information for one or more subsequent read operations in accordance with the cached snapshot information optimizing the job.