US 11,861,206 B1
Garbage collection for object-based storage systems
Lakshman Chaitanya, Phoenix, AZ (US); Arindam Chatterjee, Phoenix, AZ (US); Pratap Singh Singh Rathore, Phoenix, AZ (US); Shourya Roy, Bangalore (IN); Nitish Sharma, Phoenix, AZ (US); Swatee Singh, Scottsdale, AZ (US); and Mohammad Torkzahrani, Hoboken, NJ (US)
Assigned to AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC, New York, NY (US)
Filed by American Express Travel Related Services Company, Inc., New York, NY (US)
Filed on Jan. 28, 2021, as Appl. No. 17/160,843.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0652 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0659 (2013.01); G06F 3/0673 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a computing device comprising a processor and a memory; and machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:
identify a first set of objects stored by an object storage service that have been accessed within a previously defined date range and belong to a first projected data structure;
identify a second set of objects stored by the object storage service based on whether the second set of objects are different than the first set of objects accessed within the previously defined date range and that belong to the first projected data structure wherein the second set of objects was previously accessed outside of the previously defined date range, wherein altering the second set of objects according to a retention policy corrupts the first projected data structure;
retain the first set of objects and the second set of objects both belonging to the first projected data structure to prevent the first projected data structure from being corrupted by performing a retention action according to the retention policy;
identify a third set of objects stored by the object storage service that have been created prior to a predefined date;
identify a subset of objects which are members of the third set of objects and are different than members of the first set of objects and the second set of objects, wherein performing the retention action on the subset of objects avoids corruption of the projected data structure; and
perform the retention action on individual members of the subset of objects based at least in part on the retention policy, wherein the retention action comprises retaining an object in the object storage service, moving an object from a first storage class provided by the object storage service to a second storage class provided by the object storage service, or taking no action.