Document locking and cache memory management in cloud computing
AssigneeRelativity Oda LLC
InventorsJeffrey Hibser, Mohammad Amer Ghazal, Steven Engelhardt, Michael R. Gayeski, Brandon Michelsen, Ankit Khandelwal, Ranga Sankar, Robert A. Skinner
Life of this patent
Estimating the term…
Abstract
Systems and methods for object-based data storage are provided. There may be a read/write cache configured to cache objects to be written to an object-based data storage. A document in the read/write cache may have a lock state set to unlocked, thereby allowing the document to be deleted. Or, the document in the read/write cache may have a lock state set to locked, thereby preventing deletion of the document.
Claims20
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.
A computer-implemented method for object-based data storage, comprising:
- maintaining, with one or more queue processors, a queue of operations relating to a plurality of objects maintained at an object-based data storage;
- setting, with one or more ingestion processors, a lock state for objects being written to the object-based data storage to a locked state;
- setting, with the one or more ingestion processors, the lock state for objects that finished writing to the object-based data storage to an unlocked state;
- setting, with the one or more ingestion processors, the lock state for objects retrieved from the object-based data storage and not yet provided to a requestor to a locked state;
- setting, with the one or more ingestion processors, the lock state for objects retrieved from the object-based data storage and provided to a requestor to an unlocked state;
- deleting, with the one or more ingestion processors, from a read/write cache, and according to a first target rate, the objects in the unlocked state in response to the amount of used memory in the read/write cache being below a read/write cache memory threshold or inode threshold;
- and
- deleting, with the one or more ingestion processors, from the read/write cache, and according to a second target rate, the objects in the unlocked state in response to an amount of used memory in the read/write cache being above the read/write cache memory threshold or inode threshold;
- wherein the second target rate is greater than the first target rate.
A computer system for object-based data storage, the system comprising:
- a queue processor 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
- a non-transitory computer readable medium storing processor-executable instructions that, when executed by an ingestion processor, cause the ingestion processor 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 an 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 the 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.
Dependencies are inferred from the claim text.