IP Library › Granted Patent US 11,694,211
Granted Patent B2
US 11,694,211 · App. 17/360,113 · Granted Jul 4, 2023

Constant-time cascading deletion of resources

Inventors: Ji Huang (San Francisco, CA); Tushar Dhoot (San Francisco, CA)
Assignee: STRIPE, INC.
G06Q30/016H04L67/025
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,694,211
App. No.
17/360,113
Granted
Jul 4, 2023
Kind
B2
Abstract

A method and apparatus for deleting resources are described. In one embodiment, the method comprises: detecting, by a network commerce system, a deletion request in a first message sent over a network as an electronic communication to delete a first resource; identifying one or more additional resources that have a hierarchical relationship to the first resource, including identifying one or more child resources related the first resource, the one or more child resources being in a parent-child relationship with the first resource as the parent; causing a module of the network commerce system to perform a delete action with respect to the first resource, where the delete action deletes the first resource and causes the one or more child resources to be deleted in the future and to appear deleted when receiving access requests prior to deletion of the one or more child resources; detecting, by the network commerce system, an access request in a second message sent over the network as an electronic communication to access one child resource of the one or more child resources after deletion of the first resource but prior to deletion of the one child resource; determining, in response to the access request, if the first resource has been deleted; and denying access to the one child resource if the first resource is determined to have been deleted.

Claims (38)

1. A method comprising: detecting, by a network commerce system, a deletion request in a first message sent over a network as an electronic communication to delete a first resource;

identifying one or more additional resources that have a hierarchical relationship to the first resource, including identifying one or more child resources related the first resource, the one or more child resources being in a parent-child relationship with the first resource as the parent;

causing a module of the network commerce system to perform a delete action with respect to the first resource, where the delete action deletes the first resource and causes the one or more child resources to be deleted in the future and to appear deleted when receiving access requests prior to deletion of the one or more child resources; and

after deletion of the first resource but prior to deletion of the one child resource,

detecting, by the network commerce system, an access request in a second message sent over the network as an electronic communication to access one child resource of the one or more child resources;

in response to detecting the access request to access the one child resource and prior to attempting to access the one child resource, attempting to access the first resource and placing a shared lock on the first resource;

determining, in response to the access request, if the first resource has been deleted; and

denying access to the one child resource upon determining that the first resource has been deleted.

2. The method of claim 1 wherein the one or more child resources comprise a set of one or more resources in a parent-child relationship with another child resource in the one or more child resources.

3. The method of claim 1 wherein causing a module of the network commerce system to perform a delete action comprises the module deleting the first resource by: taking an exclusive lock on the first resource; and

setting an indication to indicate the first resource has been deleted, the indication examined when access to any of the one or more child resources is requested to determine whether to grant access to any of the one or more child resources.

4. The method of claim 3 wherein setting the indication comprises setting a bit associated with the first resource.

5. The method of claim 1 wherein the first resource is a customer resource.

6. The method of claim 1 wherein the first resource is a user-facing resource.

7. The method of claim 6 wherein the user-facing resource is stored in a distributed system over a number of network locations.

8. The method of claim 7 further comprising performing deletion of the user-facing resource, responsive to the delete action, in constant time.

9. A system comprising: a memory to store instructions; and

one or more processors coupled to the memory to execute the stored instructions to: detect, by a network commerce system, a deletion request in a first message sent over a network as an electronic communication to delete a first resource; identify one or more additional resources that have a hierarchical relationship to the first resource, including identifying one or more child resources related the first resource, the one or more child resources being in a parent-child relationship with the first resource as the parent;

cause a module of the network commerce system to perform a delete action with respect to the first resource, where the delete action deletes the first resource and causes the one or more child resources to be deleted in the future and to appear deleted when receiving access requests prior to deletion of the one or more child resources; and

after deletion of the first resource but prior to deletion of the one child resource, detect, by the network commerce system, an access request in a second message sent over the network as an electronic communication to access one child resource of the one or more child resources;

in response to detecting the access request to access the one child resource and prior to attempting to access the one child resource, attempt to access the first resource and place a shared lock on the first resource:

determine, in response to the access request, if the first resource has been deleted; and

deny access to the one child resource upon determining that # the first resource has been deleted.

10. The system of claim 9 wherein the one or more child resources comprise a set of one or more resources in a parent-child relationship with another child resource in the one or more child resources.

11. The system of claim 9 wherein causing a module of the network commerce system to perform a delete action comprises the module deleting the first resource by: taking an exclusive lock on the first resource; and

setting an indication to indicate the first resource has been deleted, the indication examined when access to any of the one or more child resources is requested to determine whether to grant access to any of the one or more child resources.

12. The system of claim 9 wherein the first resource is a user-facing resource.

13. The system of claim 12 further comprising performing deletion of the user-facing resource, responsive to the delete action, in constant time.

14. One or more non-transitory computer readable storage media having instructions stored thereupon which, when executed by a system having at least a processor and a memory therein, cause the system to perform operations comprising: detecting, by a network commerce system, a deletion request in a first message sent over a network as an electronic communication to delete a first resource;

identifying one or more additional resources that have a hierarchical relationship to the first resource, including identifying one or more child resources related the first resource, the one or more child resources being in a parent-child relationship with the first resource as the parent;

causing a module of the network commerce system to perform a delete action with respect to the first resource, where the delete action deletes the first resource and causes the one or more child resources to be deleted in the future and to appear deleted when receiving access requests prior to deletion of the one or more child resources; and

after deletion of the first resource but prior to deletion of the one child resource, detecting, by the network commerce system, an access request in a second message sent over the network as an electronic communication to access one child resource of the one or more child resources;

in response to detecting the access request to access the one child resource and prior to attempting to access the one child resource, attempting to access the first resource and placing a shared lock on the first resource;

determining, in response to the access request, if the first resource has been deleted; and denying access to the one child resource upon determining that the first resource has been deleted.

15. The one or more non-transitory computer readable storage media of claim 14 wherein the one or more child resources comprise a set of one or more resources in a parent-child relationship with another child resource in the one or more child resources.

16. The one or more non-transitory computer readable storage media of claim 14 wherein causing a module of the network commerce system to perform a delete action comprises deleting the first resource comprises: taking an exclusive lock on the first resource; and

setting an indication to indicate the first resource has been deleted, the indication examined when access to any of the one or more child resources is requested to determine whether to grant access to any of the one or more child resources.

17. The one or more non-transitory computer readable storage media of claim 14 wherein the first resource is a user-facing resource, and the method further comprises performing deletion of the user-facing resource, responsive to the delete action, in constant time.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 075033/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: HUANG, JI; DHOOT, TUSHAR
To: STRIPE, INC.
Reel/Frame 056691/0466 →
Continuity (1)
Related Publication 20220414678A1 · Dec 29, 2022