IP Library Granted Patent US 12,260,109
Granted Patent B2
US 12,260,109 · App. 18/418,253 · Granted Mar 25, 2025

Optimizing data storage with access windows

Inventors: Konstantinos Nikoloudakis (San Francisco, CA); Sven Koehler (Sunnyvale, CA); Danyao Wang (Kitchener, CA); Sahand Saba (Kitchener, CA); Long Fei (Campbell, CA); Simon Tyler Wise (New Hamburg, CA); David Halladay Schneider (Mountain View, CA)
Assignee: Google LLC
G06F3/0652G06F3/0608G06F3/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,260,109
App. No.
18/418,253
Granted
Mar 25, 2025
Kind
B2
Abstract

Methods, systems, apparatus, including computer programs encoded on computer storage media, for reclaiming storage space in a storage environment. In one aspect, the method includes actions of aggregating data that is indicative of access to one or more data objects, determining a future storage cost associated with each of a plurality of data objects, determining an access window for each of the plurality of data objects, identifying a data object based on (i) the future storage cost that satisfies a predetermined threshold and (ii) a data object access window, providing a notification to a user device that requests feedback from a user indicating whether the data object can be deleted, and in response to receiving data that indicates that the data object can be deleted, generating an instruction to cause deletion of the data object upon the expiration of the access window.

Claims (38)

1. A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:

aggregating access data for a plurality of data objects stored at a storage environment;

for each respective data object of the plurality of data objects:

determining a corresponding access window associated with the respective data object based on the aggregated access data, the corresponding access window comprising an expiration date in the future; and

determining a corresponding future storage cost associated with the respective data object;

identifying a particular data object of the plurality of data objects based on:

a likelihood that the particular data object will not be accessed outside the corresponding access window of the particular data object; and

the corresponding future storage cost of the particular data object satisfying a predetermined cost threshold; and

generating an instruction to delete the particular data object upon expiration of the corresponding access window of the particular data object.

2. The computer-implemented method of claim 1 , wherein the operations further comprise, before generating the instruction to delete the particular data object, determining that a policy rule does not apply to the particular data object.

3. The computer-implemented method of claim 2 , wherein generating the instruction to delete the particular data object is based on determining that the policy rule does not apply to the particular data object.

4. The computer-implemented method of claim 3 , wherein the policy rule comprises a data retention policy.

5. The computer-implemented method of claim 3 , wherein the policy rule comprises a legal policy.

6. The computer-implemented method of claim 1 , wherein determining the corresponding future storage cost associated with the respective data object comprises using one or more heuristics to estimate a potential future storage cost associated with the respective data object based on a predicted future depreciation of storage prices.

7. The computer-implemented method of claim 1 , wherein the operations further comprise, for each respective data object of the plurality of data objects, determining a corresponding confidence score indicating a likelihood that the respective data object will be accessed after the expiration date.

8. The computer-implemented method of claim 7 , wherein determining the corresponding future storage cost associated with the respective data object is based on the corresponding confidence score.

9. The computer-implemented method of claim 1 , wherein the operations further comprise providing a notification to a user device, the notification requesting feedback from a user indicating whether the particular data object can be deleted upon expiration of the corresponding access window of the particular data object.

10. The computer-implemented method of claim 1 , wherein the operations further comprise receiving data indicating that the particular object can be deleted upon expiration of the corresponding access window of the particular data object.

11. A system comprising:

data processing hardware of one or more server computers; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the one or more server computers to perform operations comprising:

aggregating access data for a plurality of data objects stored at a storage environment;

for each respective data object of the plurality of data objects:

determining a corresponding access window associated with the respective data object based on the aggregated access data, the corresponding access window comprising an expiration date in the future; and

determining a corresponding future storage cost associated with the respective data object;

identifying a particular data object of the plurality of data objects based on:

a likelihood that the particular data object will not be accessed outside the corresponding access window of the particular data object; and

the corresponding future storage cost of the particular data object satisfying a predetermined cost threshold; and

generating an instruction to delete the particular data object upon expiration of the corresponding access window of the particular data object.

12. The system of claim 11 , wherein the operations further comprise, before generating the instruction to delete the particular data object, determining that a policy rule does not apply to the particular data object.

13. The system of claim 12 , wherein generating the instruction to delete the particular data object is based on determining that the policy rule does not apply to the particular data object.

14. The system of claim 13 , wherein the policy rule comprises a data retention policy.

15. The system of claim 13 , wherein the policy rule comprises a legal policy.

16. The system of claim 11 , wherein determining the corresponding future storage cost associated with the respective data object comprises using one or more heuristics to estimate a potential future storage cost associated with the respective data object based on a predicted future depreciation of storage prices.

17. The system of claim 11 , wherein the operations further comprise, for each respective data object of the plurality of data objects, determining a corresponding confidence score indicating a likelihood that the respective data object will be accessed after the expiration date.

18. The system of claim 17 , wherein determining the corresponding future storage cost associated with the respective data object is based on the corresponding confidence score.

19. The system of claim 11 , wherein the operations further comprise providing a notification to a user device, the notification requesting feedback from a user indicating whether the particular data object can be deleted upon expiration of the corresponding access window of the particular data object.

20. The system of claim 11 , wherein the operations further comprise receiving data indicating that the particular object can be deleted upon expiration of the corresponding access window of the particular data object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2024
From: NIKOLOUDAKIS, KONSTANTINOS; KOEHLER, SVEN; WANG, DANYAO; SABA, SAHAND; FEI, LONG; WISE, SIMON TYLER; SCHNEIDER, DAVID HALLADAY
To: GOOGLE INC.
Reel/Frame 066189/0779 →
CHANGE OF NAME Recorded Jan 20, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 066357/0209 →
Continuity (5)
Continuation 17656645 · Mar 26, 2022
Continuation 16838627 · Apr 2, 2020
Continuation 16194115 · Nov 16, 2018
Continuation 15614871 · Jun 6, 2017
Related Publication 20240160375A1 · May 16, 2024
References Cited (53)
US 7610437B2 · Sinclair et al. · 2009 [cited by applicant]
US 7984084B2 · Sinclair · 2011 [cited by applicant]
US 8285918B2 · Maheshwari · 2012 [cited by applicant]
US 8443263B2 · Selinger et al. · 2013 [cited by applicant]
US 8873284B2 · Sinclair et al. · 2014 [cited by applicant]
US 9223693B2 · Sinclair et al. · 2015 [cited by applicant]
US 9336133B2 · Sinclair et al. · 2016 [cited by applicant]
US 9348746B2 · Sinclair et al. · 2016 [cited by applicant]
US 9465731B2 · Sinclair et al. · 2016 [cited by applicant]
US 9734050B2 · Sinclair et al. · 2017 [cited by applicant]
US 9734911B2 · Sinclair et al. · 2017 [cited by applicant]
US 9778855B2 · Sinclair · 2017 [cited by applicant]
US 10108543B1 · Duggal et al. · 2018 [cited by applicant]
US 10108544B1 · Duggal et al. · 2018 [cited by applicant]
US 10120613B2 · Sinclair et al. · 2018 [cited by applicant]
US 10133490B2 · Sinclair et al. · 2018 [cited by applicant]
US 10133658B1 · Nikoloudakis et al. · 2018 [cited by applicant]
US 10255179B2 · Ji et al. · 2019 [cited by applicant]
US 10311042B1 · Kumar · 2019 [cited by examiner]
US 10430279B1 · Dittia et al. · 2019 [cited by applicant]
US 10621079B2 · Nikoloudakis et al. · 2020 [cited by applicant]
US 10673793B2 · Mutha · 2020 [cited by examiner]
US 10739996B1 · Ebsen et al. · 2020 [cited by applicant]
US 10795812B1 · Duggal et al. · 2020 [cited by applicant]
US 10983715B2 · Sharoni et al. · 2021 [cited by applicant]
US 11086537B2 · Byun · 2021 [cited by applicant]
US 11307978B2 · Nikoloudakis et al. · 2022 [cited by applicant]
US 20070033325A1 · Sinclair · 2007 [cited by applicant]
US 20080082596A1 · Gorobets · 2008 [cited by applicant]
US 20080189477A1 · Asano et al. · 2008 [cited by applicant]
US 20090037479A1 · Bolik et al. · 2009 [cited by applicant]
US 20110145473A1 · Maheshwari · 2011 [cited by applicant]
US 20110161784A1 · Selinger et al. · 2011 [cited by applicant]
US 20120002997A1 · Hiraoka et al. · 2012 [cited by applicant]
US 20120029975A1 · Bisel · 2012 [cited by applicant]
US 20140325148A1 · Choi et al. · 2014 [cited by applicant]
US 20140365719A1 · Kuzmin et al. · 2014 [cited by applicant]
US 20150227602A1 · Ramu et al. · 2015 [cited by applicant]
US 20150373086A1 · Hunt · 2015 [cited by examiner]
US 20160246713A1 · Choi et al. · 2016 [cited by applicant]
US 20170091256A1 · Gordon et al. · 2017 [cited by applicant]
US 20170123655A1 · Sinclair et al. · 2017 [cited by applicant]
US 20170242790A1 · O'Krafka et al. · 2017 [cited by applicant]
US 20180189175A1 · Ji et al. · 2018 [cited by applicant]
US 20180322040A1 · Nikoloudakis et al. · 2018 [cited by applicant]
US 20200089420A1 · Sharoni et al. · 2020 [cited by applicant]
US 20200192794A1 · Lee · 2020 [cited by applicant]
US 20200218653A1 · Ryu · 2020 [cited by applicant]
US 20200293213A1 · Haridas et al. · 2020 [cited by applicant]
US 20200310686A1 · Truong et al. · 2020 [cited by applicant]
US 20200371907A1 · Nikoloudakis et al. · 2020 [cited by applicant]
US 20210342362A1 · Haravu et al. · 2021 [cited by applicant]
European Office Action for the related Application No. 18714087.6, dated Sep. 29, 2021, 6 pages. [cited by applicant]