US 11,954,024 B2
Packing objects by predicted lifespans in cloud storage
Wangyuan Zhang, Fremont, CA (US); Sandeep Singhal, Kirkland, WA (US); Sangho Yoon, Palo Alto, CA (US); Guangda Lai, Fremont, CA (US); Arash Baratloo, Mountain View, CA (US); Zhifan Zhang, Mountain View, CA (US); Gael Hatchue Njouyep, Mountain View, CA (US); and Pramod Gaud, Mountian View, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Jan. 24, 2022, as Appl. No. 17/648,724.
Application 17/648,724 is a continuation of application No. 15/795,650, filed on Oct. 27, 2017, granted, now 11,263,128.
Prior Publication US 2022/0147448 A1, May 12, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/02 (2006.01); G06F 3/06 (2006.01); G06F 16/11 (2019.01); G06F 16/17 (2019.01); G06F 16/182 (2019.01); G06F 16/22 (2019.01)
CPC G06F 12/0261 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0608 (2013.01); G06F 16/122 (2019.01); G06F 16/1734 (2019.01); G06F 16/182 (2019.01); G06F 16/2219 (2019.01); G06F 3/0649 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
receiving data objects, each received data object held by a respective data bucket of a plurality of data buckets;
for each received data object:
determining a predicted lifespan of the respective data object based on a historical object lifespan table associated with the respective data bucket holding the respective data object, the historical object lifespan table indicating a creation time for each past data object uploaded into the respective data bucket and a deletion timestamp indicating a time for each past data object that is deleted from the respective data bucket;
selecting, based on the predicted lifespan of the respective data object, a particular shard file of a plurality of shard files that has an associated predicted lifespan range at instantiation of the particular shard file that includes the predicted lifespan of the respective data object; and
writing the respective data object into the selected particular shard file; and
storing the plurality of shard files in a distributed storage system.