US 12,443,559 B2
Object-based storage with garbage collection and data consolidation
Graham Edwin Ellis, Seattle, WA (US); Ying Fairweather, Sammamish, WA (US); Thorne Davis Garvin, Spokane, WA (US); Steven Henry Haber, Seattle, WA (US); Yuxi Bai, Seattle, WA (US); Michael Anthony Chmiel, Seattle, WA (US); Pathirat Kosakanchit, Seattle, WA (US); Jonathan Michael MacLaren, Seattle, WA (US); Matthew Christopher McMullan, Bellevue, WA (US); Tyler Morrison Moody, Seattle, WA (US); Aaron James Passey, San Rafael, CA (US); Rowan Arthur Phipps, Seattle, WA (US); and Thomas Gregory Rothschilds, Seattle, WA (US)
Assigned to Qumulo, Inc., Seattle, WA (US)
Filed by Qumulo, Inc., Seattle, WA (US)
Filed on Apr. 18, 2025, as Appl. No. 19/183,475.
Application 19/183,475 is a continuation of application No. 18/503,082, filed on Nov. 6, 2023, granted, now 12,292,853, issued on May 6, 2025.
Prior Publication US 2025/0245193 A1, Jul. 31, 2025
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/11 (2019.01); G06F 12/02 (2006.01)
CPC G06F 16/122 (2019.01) [G06F 12/0253 (2013.01); G06F 2212/702 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method for managing data in a file system over a network using one or more processors to execute instructions that are configured to cause performance of actions, comprising:
generating a write ahead log (WAL) object for an object store based on one or more WAL entries for one or more data blocks associated with the one or more write requests;
determining one or more types of index data structures to include the one or more data blocks with the one or more WAL entries, wherein the determination is based on the use of one or more of a rule, instruction or a library to select the one or more types from a plurality of different data structures; and
wherein an in-memory overlay is updated with one or more types of determined index data structures to associate the one or more data blocks with the WAL object;
determining a threshold for a number of stored WAL objects in the object store to initiate performance of further actions, including:
updating an index object to include one or more index entries that associate the one or more data blocks with the WAL object that is converted to a data object stored in the object store, wherein the conversion updates the in-memory overlay to remove the association of the one or more data blocks with the WAL object; and
using one or more additional financial costs charged by a cloud computing provider to initiate execution of garbage collection for one or more data objects stored in the object store.