IP Library Granted Patent US 11,307,978
Granted Patent B2
US 11,307,978 · App. 16/838,627 · Granted Apr 19, 2022

Garbage collection for data storage

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
G06F12/0223G06F3/0652G06F12/0238G06F16/185G06F16/93G06F3/0608G06F3/0649G06F12/0246G06F12/0253G06F2212/7205
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 11,307,978
App. No.
16/838,627
Granted
Apr 19, 2022
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 (46)

1. A method comprising:

determining, by one or more server computers, a future storage cost associated with a given data object of a plurality of storage objects in a storage environment, the future storage cost based on:

historical usage of the given data object based on one or more audit logs associated with the given data object, each audit log including, for each access to the given data object, a timestamp indicating an occurrence of the access to the given data object; and

an access window of the given data object as a period of time when the given data object is likely to be accessed based on the audit logs, the access window having a respective expiration date in the future;

determining, by the one or more server computers, whether the future storage cost associated with the given data object satisfies a threshold storage cost; and

when the future storage cost associated with the given data object satisfies the threshold storage cost:

providing, by the one or more server computers and to a computer system hosting a computing agent, a notification prompting the computing agent to determine whether the given data object can be deleted after the respective expiration date of the access window of the given data object;

receiving, by the one or more server computers, a response, from the computer system hosting the computing agent, indicative of whether the given data object can be deleted after the respective expiration date of the access window of the given data object;

when the response indicates that the given data object can be deleted after the respective expiration date of the access window of the given data object, generating an instruction to cause deletion of the given data object after the respective expiration date of the access window of the given data object; and

when the response indicates that the given data object cannot be deleted after the respective expiration date of the access window of the given data object, adjusting the access window of the given data object.

2. The method of claim 1 , wherein the computing agent comprises an artificial intelligence agent.

3. The method of claim 1 , further comprising:

determining, by the computer system that hosts the computing agent, a confidence score for the given data object, the confidence score indicating a likelihood that the given data object will be accessed after the respective expiration date of the access window of the given data object.

4. The method of claim 3 , wherein the future storage cost associated with the given data object is based on the confidence score for the given data object.

5. The method of claim 3 , wherein the computing agent hosted by the computer system determines whether the given data object can be deleted after the respective expiration date of the access window of the given data object based on the confidence score.

6. The method of claim 1 , wherein determining the future storage cost associated with the given data object of the plurality of data storage objects in the storage environment comprises using one or more heuristics to estimate a potential future storage cost of the given data object based on a predicted future depreciation of storage prices.

7. The method of claim 1 , wherein the notification causes the computing agent to prompt a user of the computer system hosting the computing agent for feedback regarding potential storage space reclamation of storage space allocated for a set of one or more candidate data objects including the given data object.

8. A system comprising:

data processing hardware; 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 data processing hardware to perform operations comprising:

determining, by one or more server computers, a future storage cost associated with a given data object of a plurality of storage objects in a storage environment, the future storage cost based on:

historical usage of the given data object based on one or more audit logs associated with the given data object, each audit log including, for each access to the given data object, a timestamp indicating an occurrence of the access to the given data object; and

an access window of the given data object as a period of time when the given data object is likely to be accessed based on the audit logs, the access window having a respective expiration date in the future;

determining, by the one or more server computers, whether the future storage cost associated with the given data object satisfies a threshold storage cost; and

when the future storage cost associated with the given data object satisfies the threshold storage cost:

providing, by the one or more server computers and to a computer system hosting a computing agent, a notification prompting the computing agent to determine whether the given data object can be deleted after the respective expiration date of the access window of the given data object;

receiving, by the one or more server computers, a response, from the computer system hosting the computing agent, indicative of whether the given data object can be deleted after the respective expiration date of the access window of the given data object;

when the response indicates that the given data object can be deleted after the respective expiration date of the access window of the given data object, generating an instruction to cause deletion of the given data object after the respective expiration date of the access window of the given data object; and

when the response indicates that the given data object cannot be deleted after the respective expiration date of the access window of the given data object, adjusting the access window of the given data object.

9. The system of claim 8 , wherein the computing agent comprises an artificial intelligence agent.

10. The system of claim 8 , further comprising:

determining, by the computer system that hosts the computing agent, a confidence score for the given data object, the confidence score indicating a likelihood that the given data object will be accessed after the respective expiration date of the access window of the given data object.

11. The system of claim 10 , wherein the future storage cost associated with the given data object is based on the confidence score for the given data object.

12. The system of claim 10 , wherein the computing agent hosted by the computer system determines whether the given data object can be deleted after the respective expiration date of the access window of the given data object based on the confidence score.

13. The system of claim 8 , wherein determining the future storage cost associated with the given data object of the plurality of data storage objects in the storage environment comprises using one or more heuristics to estimate a potential future storage cost of the given data object based on a predicted future depreciation of storage prices.

14. The system of claim 8 , wherein the notification causes the computing agent to prompt a user of the computer system hosting the computing agent for feedback regarding potential storage space reclamation of storage space allocated for a set of one or more candidate data objects including the given data object.

15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

determining, by one or more server computers, a future storage cost associated with a given data object of a plurality of storage objects in a storage environment, the future storage cost based on:

historical usage of the given data object based on one or more audit logs associated with the given data object, each audit log including, for each access to the given data object, a timestamp indicating an occurrence of the access to the given data object; and

an access window of the given data object as a period of time when the given data object is likely to be accessed based on the audit logs, the access window having a respective expiration date in the future;

determining, by the one or more server computers, whether the future storage cost associated with the given data object satisfies a threshold storage cost; and

when the future storage cost associated with the given data object satisfies the threshold storage cost:

providing, by the one or more server computers and to a computer system hosting a computing agent, a notification prompting the computing agent to determine whether the given data object can be deleted after the respective expiration date of the access window of the given data object;

receiving, by the one or more server computers, a response, from the computer system hosting the computing agent, indicative of whether the given data object can be deleted after the respective expiration date of the access window of the given data object;

when the response indicates that the given data object can be deleted after the respective expiration date of the access window of the given data object, generating an instruction to cause deletion of the given data object after the respective expiration date of the access window of the given data object; and

when the response indicates that the given data object cannot be deleted after the respective expiration date of the access window of the given data object, adjusting the access window of the given data object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2020
From: NIKOLOUDAKIS, KONSTANTINOS; KOEHLER, SVEN; WANG, DANYAO; SABA, SAHAND; FEI, LONG; WISE, SIMON TYLER; SCHNEIDER, DAVID HALLADAY
To: GOOGLE INC.
Reel/Frame 052597/0151 →
CHANGE OF NAME Recorded May 7, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052598/0228 →
Priority Claims (1)
GR 20170100197 · May 2, 2017 · national
Continuity (3)
Continuation 16194115 · Nov 16, 2018
Continuation 15614871 · Jun 6, 2017
Related Publication 20200371907A1 · Nov 26, 2020
Cited By (1)
US 12,260,109