US 11,899,587 B2
Document locking and cache memory management in cloud computing
Jeffrey Hibser, Chicago, IL (US); Mohammad Amer Ghazal, Chicago, IL (US); Steven Engelhardt, Chicago, IL (US); Michael R. Gayeski, Chicago, IL (US); Brandon Michelsen, Chicago, IL (US); Ankit Khandelwal, Chicago, IL (US); Ranga Sankar, Chicago, IL (US); and Robert A. Skinner, Chicago, IL (US)
Assigned to RELATIVITY ODA LLC, Chicago, IL (US)
Filed by RELATIVITY ODA LLC, Chicago, IL (US)
Filed on Jul. 18, 2022, as Appl. No. 17/867,500.
Claims priority of provisional application 63/289,130, filed on Dec. 13, 2021.
Claims priority of provisional application 63/289,127, filed on Dec. 13, 2021.
Claims priority of provisional application 63/289,134, filed on Dec. 13, 2021.
Prior Publication US 2023/0185722 A1, Jun. 15, 2023
Int. Cl. G06F 12/08 (2016.01); G06F 3/06 (2006.01); G06F 12/0868 (2016.01); G06F 12/0802 (2016.01); G06F 16/93 (2019.01); G06F 16/13 (2019.01)
CPC G06F 12/0868 (2013.01) [G06F 3/0604 (2013.01); G06F 3/067 (2013.01); G06F 3/0659 (2013.01); G06F 12/0802 (2013.01); G06F 16/13 (2019.01); G06F 16/93 (2019.01); G06F 2212/60 (2013.01); G06F 2212/6042 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer system for object-based data storage, the system comprising:
one or more queue processors configured to maintain a queue that stores a plurality of operations that interact with objects maintained at an object-based data storage;
a read/write cache configured to cache (i) objects to be written to the object-based data storage, and (ii) objects that are read from the object-based data storage for provision to a requestor, wherein objects in the read/write cache are associated with a lock state; and
one or more ingestion processors configured communicative coupled with the one or more queue processors and the read/write cache, and configured to:
set the lock state for objects being written to the object-based data storage to a locked state;
set the lock state for objects that finished writing to the object-based data storage to an unlocked state;
set the lock state for objects retrieved from the object-based data storage and not yet provided to a requestor to a locked state;
set the lock state for objects retrieved from the object-based data storage and provided to a requestor to an unlocked state;
delete, from the read/write cache, and according to a first target rate, the objects in the unlocked state if the amount of used memory in the read/write cache is below a read/write cache memory threshold or inode threshold; and
delete, from the read/write cache, and according to a second target rate, the objects in the unlocked state if an amount of used memory in the read/write cache is above the read/write cache memory threshold or inode threshold;
wherein the second target rate is greater than the first target rate.