US 11,860,836 B2
Object management system for efficient content item management
Anup Chenthamarakshan, Sunnyvale, CA (US); Adam Faulkner, San Francisco, CA (US); Ping Hu, San Francisco, CA (US); and Alexander Sosa, San Jose, CA (US)
Assigned to DROPBOX, INC., San Francisco, CA (US)
Filed by Dropbox, Inc., San Francisco, CA (US)
Filed on Dec. 29, 2020, as Appl. No. 17/137,092.
Prior Publication US 2022/0207005 A1, Jun. 30, 2022
Int. Cl. G06F 16/215 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/28 (2019.01); H04L 67/01 (2022.01)
CPC G06F 16/215 (2019.01) [G06F 16/22 (2019.01); G06F 16/2365 (2019.01); G06F 16/289 (2019.01); H04L 67/01 (2022.05)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by an object management system, a plurality of objects to be stored;
identifying, within the plurality of objects, a subset of objects associated with both a same time period and a same namespace, the identifying comprising distinguishing the subset of objects from other objects within the plurality of objects that do not share the same time period and the same namespace;
generating a batch object comprising the subset of objects and excluding the other objects;
issuing a write request to store the batch object in an object storage system;
for each object in the subset of objects, storing, by the object management system, an entry in a data structure comprising an identifier of the batch object and a position of the object within the batch object;
upon receiving, by the object management system, a first read request for a first object in the subset of objects, accessing the data structure to determine whether the object is stored in the object storage system;
based on a determination that the object is stored in the object storage system, issuing a second read request to the object storage system based on the identifier of the batch object and the position of the first object within the batch object;
detecting that all objects of the subset of objects in the batch object are expired based on an expiration time associated with each object; and
responsive to detecting that all of the subset of objects in the batch object are expired:
sending to the object storage system a request to delete the batch object from the object storage system; and
deleting the respective entries from the data structure associated with each of the subset of objects.