IP Library Granted Patent US 10,296,518
Granted Patent B2
US 10,296,518 · App. 15/399,249 · Granted May 21, 2019

Managing distributed deletes in a replicated storage system

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 10,296,518
App. No.
15/399,249
Granted
May 21, 2019
Kind
B2
Abstract

A data storage system includes multiple storage zones that store replicated copies of data items. Upon receiving a delete operation at a particular time to delete a data item, the system computes a maximum last update time based on the particular time and a minimum data item lifetime. Based on determining that a copy of the data item is stored in the data storage zone, the system then determines a last update time of the data item. In addition, based on determining that the last update time is less than the first maximum last update time, the system deletes the copy of the data item from the data storage zone.

Claims (82)

1. A method, comprising:

receiving, at a first data storage zone, an operation to delete a first data item replicated across multiple data storage zones, the operation received at a particular time;

computing a first maximum last update time based on the particular time that the operation to delete the first data item is received and a minimum data item lifetime, wherein the minimum data item lifetime is a condition on deleting the first data item, the condition being a period of time for which the first data item is not updated;

based, at least in part, on determining that a copy of the first data item is stored in the data storage zone, determining a last update time of the first data item;

based, at least in part, on determining that the last update time is less than the first maximum last update time, deleting the copy of the first data item from the first data storage zone; and

with respect to at least the deleting the copy of the first data item from the first data storage zone, asynchronously sending the operation and the first maximum last update time to a second data storage zone that is not the first data storage zone.

2. A method, comprising:

receiving, at a first data storage zone, an operation to delete a first data item replicated across multiple data storage zones, the operation received at a particular time;

computing a first maximum last update time based on the particular time that the operation to delete the first data item is received and a minimum data item lifetime, wherein the minimum data item lifetime is a condition on deleting the first data item, the condition being a period of time for which the first data item is not updated;

based, at least in part, on determining that a copy of the first data item is stored in the first data storage zone, determining a last update time of the first data item;

based, at least in part, on determining that the last update time of the first data item is not less than the first maximum last update time, processing the operation by not deleting the copy of the first data item from the first data storage zone; and

with respect to at least the processing the operation by not deleting the copy of the first data item from the first data storage zone, asynchronously sending the operation and the first maximum last update time to a second data storage zone that is not the first data storage zone.

3. A method, comprising:

receiving, at a first data storage zone, an operation to delete a first data item replicated across multiple data storage zones, the operation received at a particular time;

computing a first maximum last update time based on the particular time that the operation to delete the first data item is received and a minimum data item lifetime, wherein the minimum data item lifetime is a condition on deleting the first data item, the condition being a period of time for which the first data item is not updated; and

determining that a copy of the first data item is not stored in the first data storage zone;

with respect to at least the determining that the copy of the first data item is not stored in the first data storage zone, asynchronously sending the operation and the first maximum last update time to a second data storage zone that is not the first data storage zone.

4. A non-transitory computer-readable storage medium storing instructions that when executed by a computer system causes the computer system to perform operations comprising:

receiving, at a first data storage zone, an operation to delete a first data item replicated across multiple data storage zones, the operation received at a particular time;

computing a first maximum last update time based on the particular time that the operation to delete the first data item is received and a minimum data item lifetime, wherein the minimum data item lifetime is a condition on deleting the first data item, the condition being a period of time for which the first data item is not updated;

based, at least in part, on determining that a copy of the first data item is stored in the data storage zone, determining a last update time of the first data item;

based, at least in part, on determining that the last update time is less than the first maximum last update time, deleting the copy of the first data item from the first data storage zone; and

with respect to at least the deleting the copy of the first data item from the first data storage zone, asynchronously sending the operation and the first maximum last update time to a second data storage zone that is not the first data storage zone.

5. A non-transitory computer-readable storage medium storing instructions that when executed by a computer system causes the computer system to perform operations comprising:

receiving, at a first data storage zone, an operation to delete a first data item replicated across multiple data storage zones, the operation received at a particular time;

computing a first maximum last update time based on the particular time that the operation to delete the first data item is received and a minimum data item lifetime, wherein the minimum data item lifetime is a condition on deleting the first data item, the condition being a period of time for which the first data item is not updated;

based, at least in part, on determining that a copy of the first data item is stored in the first data storage zone, determining a last update time of the first data item;

based, at least in part, on determining that the last update time of the first data item is not less than the first maximum last update time, processing the operation by not deleting the copy of the first data item from the first data storage zone; and

with respect to at least the processing the operation by not deleting the copy of the first data item from the first data storage zone, asynchronously sending the operation and the first maximum last update time to a second data storage zone that is not the first data storage zone.

6. A non-transitory computer-readable storage medium storing instructions that when executed by a computer system causes the computer system to perform operations comprising:

receiving, at a first data storage zone, an operation to delete a first data item replicated across multiple data storage zones, the operation received at a particular time;

computing a first maximum last update time based on the particular time that the operation to delete the first data item is received and a minimum data item lifetime, wherein the minimum data item lifetime is a condition on deleting the first data item, the condition being a period of time for which the first data item is not updated; and

determining that a copy of the first data item is not stored in the first data storage zone;

with respect to at least the determining that the copy of the first data item is not stored in the first data storage zone, asynchronously sending the operation and the first maximum last update time to a second data storage zone that is not the first data storage zone.

7. The method of claim 1 , further comprising:

receiving, from a remote data storage zone, an operation to delete a second data item at the first data storage zone, wherein the operation includes a second maximum last update time; and

based, at least in part, on determining that a copy of the second data item is stored in the first data storage zone, determining a last update time of the second data item; and

based, at least in part, on determining that the last update time of the second data item is less than the second maximum last update time, deleting the copy of the second data item from the first data storage zone.

8. The method of claim 1 , further comprising:

receiving, from a remote data storage zone, an operation to delete a third data item at the first data storage zone, wherein the operation includes a third maximum last update time; and

based, at least in part, on determining that a copy of the third data item is stored in the first data storage zone, determining a last update time of the third data item; and

based, at least in part, on determining that the last update time of the third data item is not less than the third maximum last update time, not deleting the copy of the third data item from the first data storage zone.

9. The method of claim 2 , further comprising:

receiving, from a remote data storage zone, an operation to delete a second data item at the first data storage zone, wherein the operation includes a second maximum last update time; and

based, at least in part, on determining that a copy of the second data item is stored in the first data storage zone, determining a last update time of the second data item; and

based, at least in part, on determining that the last update time of the second data item is less than the second maximum last update time, deleting the copy of the second data item from the first data storage zone.

10. The method of claim 2 , further comprising:

receiving, from a remote data storage zone, an operation to delete a third data item at the first data storage zone, wherein the operation includes a third maximum last update time; and

based, at least in part, on determining that a copy of the third data item is stored in the first data storage zone, determining a last update time of the third data item; and

based, at least in part, on determining that the last update time of the third data item is not less than the received third maximum last update time, not deleting the copy of the third data item from the first data storage zone.

11. The method of claim 3 , further comprising:

receiving, from a remote data storage zone, an operation to delete a second data item at the first data storage zone, wherein the operation includes a second maximum last update time; and

based, at least in part, on determining that a copy of the second data item is stored in the first data storage zone, determining a last update time of the second data item; and

based, at least in part, on determining that the last update time of the second data item is less than the second maximum last update time, deleting the copy of the second data item from the first data storage zone.

12. The method of claim 3 , further comprising:

receiving, from a remote data storage zone, an operation to delete a third data item at the first data storage zone, wherein the operation includes a third maximum last update time; and

based, at least in part, on determining that a copy of the third data item is stored in the first data storage zone, determining a last update time of the third data item; and

based, at least in part, on determining that the last update time of the third data item is not less than the third maximum last update time, not deleting the copy of the third data item from the first data storage zone.

13. The non-transitory computer-readable storage medium of claim 4 , the operations further comprising:

receiving, from a remote data storage zone, an operation to delete a second data item at the first data storage zone, wherein the operation includes a second maximum last update time; and

based, at least in part, on determining that a copy of the second data item is stored in the first data storage zone, determining a last update time of the second data item; and

based, at least in part, on determining that the last update time of the second data item is less than the second maximum last update time, deleting the copy of the second data item from the first data storage zone.

14. The non-transitory computer-readable storage medium of claim 4 , the operations further comprising:

receiving, from a remote data storage zone, an operation to delete a third data item at the first data storage zone, wherein the operation includes a third maximum last update time; and

based, at least in part, on determining that a copy of the third data item is stored in the first data storage zone, determining a last update time of the third data item; and

based, at least in part, on determining that the last update time of the third data item is not less than the third maximum last update time, not deleting the copy of the third data item from the first data storage zone.

15. The non-transitory computer-readable storage medium of claim 5 , the operations further comprising:

receiving, from a remote data storage zone, an operation to delete a second data item at the first data storage zone, wherein the operation includes a second maximum last update time; and

based, at least in part, on determining that a copy of the second data item is stored in the first data storage zone, determining a last update time of the second data item; and

based, at least in part, on determining that the last update time of the second data item is less than the second maximum last update time, deleting the copy of the second data item from the first data storage zone.

16. The non-transitory computer-readable storage medium of claim 5 , the operations further comprising:

receiving, from a remote data storage zone, an operation to delete a third data item at the first data storage zone, wherein the operation includes a third maximum last update time; and

based, at least in part, on determining that a copy of the third data item is stored in the first data storage zone, determining a last update time of the third data item; and

based, at least in part, on determining that the last update time of the third data item is not less than the received third maximum last update time, not deleting the copy of the third data item from the first data storage zone.

17. The non-transitory computer-readable storage medium of claim 6 , the operations comprising:

receiving, from a remote data storage zone, an operation to delete a second data item at the first data storage zone, wherein the operation includes a second maximum last update time; and

based, at least in part, on determining that a copy of the second data item is stored in the first data storage zone, determining a last update time of the second data item; and

based, at least in part, on determining that the last update time of the second data item is less than the second maximum last update time, deleting the copy of the second data item from the first data storage zone.

18. The non-transitory computer-readable storage medium of claim 6 , the operations comprising:

receiving, from a remote data storage zone, an operation to delete a third data item at the first data storage zone, wherein the operation includes a third maximum last update time; and

based, at least in part, on determining that a copy of the third data item is stored in the first data storage zone, determining a last update time of the third data item; and

based, at least in part, on determining that the last update time of the third data item is not less than the third maximum last update time, not deleting the copy of the third data item from the first data storage zone.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →