IP Library › Granted Patent US 11,995,467
Granted Patent B1
US 11,995,467 · App. 17/376,017 · Granted May 28, 2024

Validation, deletion, and recovery of resources in a service environment

Inventors: Suresh Prakash Goacher (Hyderabad, IN); Arun Anilkumar (Thiruvananthapuram, IN); Nishit Nihal Vas (Mysore, IN)
Assignee: Amazon Technologies, Inc.
G06F9/5005G06F9/547
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,995,467
App. No.
17/376,017
Granted
May 28, 2024
Kind
B1
Abstract

Systems, devices, and methods are provided for validation, deletion, and/or recovery of resources in a service environment. A machine (e.g., server) may receive a request to identify or discover a list of resources that are unused in a service environment. A machine (e.g., server) may receive a request to delete one or more resources in a service environment. In at least one embodiment, deletion of a resource involves a two-stage process where the resource is recoverably deleted in a first stage (e.g., by deactivating or disabling the resource) such that the resource can be recovered prior to a predetermined time period by reactivating or re-enabling the resource and, in a second stage, the resource is unrecoverably deleted.

Claims (90)

1. A computer-implemented method, comprising:

receiving a first application programming interface (API) request from a client to identify resources associated with a service environment, the first API request encoding an identifier for a root entity of the service environment;

providing, as a first response, a list of resources associated with the service environment;

receiving a second API request from the client specifying at least a portion of the first list of resources to validate for deletion;

processing the second API request by:

obtaining a first resource of the at least a portion of the first list of resources;

determining, based on a first resource type of the first resource, a resource type-specific validation task;

executing the resource type-specific validation task to determine whether the first resource is unused;

recording a first result of the execution of the resource type-specific validation task indicating whether the first resource is unused; and

providing the first result to the client;

receiving a third API request from the client to delete at least the first resource;

processing the third API request by:

determining, based on a first resource type of the first resource, a resource type-specific deletion task;

executing the resource type-specific deletion task to disable or deactivate the first resource in a recoverable manner and schedule the first resource to be deleted in an unrecoverable manner after a predetermined period of time has elapsed;

recording a second result of the execution of the resource type-specific deletion task; and

providing the second result to the client.

2. The computer-implemented method of claim 1 , further comprising:

receiving a fourth API request from the client to stop deletion of the first resource, wherein the fourth API request is received before the predetermined period has elapsed;

processing the fourth API request by:

re-enabling or reactivating the first resource; and

cancel the schedule to delete the first resource in the unrecoverable manner.

3. The computer-implemented method of claim 1 , further comprising:

as a result of the predetermined period of time elapsing, permanently deleting the first resource.

4. The computer-implemented method of claim 1 , wherein:

the first resource type is a service deployment environment; and

the executing of the resource type-specific validation task to determine whether the first resource is unused comprises:

performing an active capacity check;

performing a request check;

performing a deployment check; and

performing a consumables check.

5. A system, comprising:

one or more processors; and

memory storing executable instructions that, as a result of execution by the one or more processors, cause the system to:

receive a request from a client to delete one or more resources of a service environment;

identify, for a first resource of the one or more resources, a first resource type;

determine, based on the first resource type, a first deletion task;

execute the first deletion task in connection with the first resource, wherein the execution of the first deletion task causes the first resource to be unusable by the client in the service environment and schedules a second deletion task to delete the first resource in an unrecoverable manner after a predetermined period of time has elapsed; and

record an indication that the first resource was deleted in a recoverable manner.

6. The system of claim 5 , wherein executable instructions include further instructions that, as a result of execution by the one or more processors, further cause the system to:

determine that the predetermined period of time has elapsed;

delete the first resource; and

record a second indication that the first resource was deleted in the unrecoverable manner.

7. The system of claim 5 , wherein executable instructions include further instructions that, as a result of execution by the one or more processors, further cause the system to:

receive a second request from the client to halt deletion of the first resource;

perform one or more operations to re-activate the first resource; and

cancel execution of the second deletion task.

8. The system of claim 5 , wherein executable instructions include further instructions that, as a result of execution by the one or more processors, further cause the system to:

identify, for a second resource of the one or more resources, a second resource type;

determine, based on the second resource type, a third deletion task, wherein the third deletion task is different from the first deletion task; and

execute the third deletion task in connection with the second resource, wherein the execution of the third deletion task causes the second resource to be unusable by the client in the service environment and schedules a fourth deletion task to delete the second resource in an unrecoverable manner after the predetermined period of time has elapsed.

9. The system of claim 5 , wherein the first resource is a service deployment environment.

10. The system of claim 5 , wherein the first deletion task is a serverless compute function.

11. The system of claim 5 , wherein the request is a second request and the executable instructions include further instructions that, as a result of execution by the one or more processors, further cause the system to:

receive a first request from the client to identify unused resources in the service environment, wherein the first request encodes an identifier for a root entity of the service environment;

determine a plurality of resources usable in the service environment;

determine, for the plurality of resources, that the one or more resources are unused; and

provide, as a response to the first request, a list including the one or more resources.

12. The system of claim 11 , wherein the executable instructions to determine, for the plurality of resources, that the one or more resources are unused include instructions that, as a result of execution by the one or more processors, cause the system to:

determine a first member of the plurality of resources;

determine a first resource type-specific validation task based on a first resource type of the first member;

execute the first resource type-specific validation task for the first member;

determine a second member of the plurality of resources;

determine a second resource type-specific validation task based on a second resource type of the second member, wherein the second resource type is different from the first resource type; and

execute the second resource type-specific validation task for the second member.

13. A non-transitory computer-readable storage medium storing executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to:

submit, to a server, a first request to delete one or more resources of a service environment, wherein the request causes the server to delete the one or more resources of the service environment by:

identifying, for a first resource of the one or more resources, a first resource type;

determining, based on the first resource type, a first deletion task; and

executing the first deletion task in connection with the first resource, wherein the execution of the first deletion task causes the first resource to be unusable by the computer system in the service environment and schedules a second deletion task to delete the first resource in an unrecoverable manner after a predetermined period of time has elapsed;

receive, from the server, a first response to the first request indicating fulfillment of the first request;

submit, to the server, a second request, wherein successful fulfillment of the second request utilizes the first resource; and

receive, from the server, a second response indicating failure to successfully fulfill the second request, wherein the failure is based on the deletion of the first resource.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions, as a result of being executed by the one or more processors of the computer system, further cause the system to:

submit, to the server and prior to the predetermined period of time elapsing, a third request, to recover the first resource; and

receive, from the server, a third response to the third request indicating that first resource was successfully recovered.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions, as a result of being executed by the one or more processors of the computer system, further cause the system to:

submit, to the server, a fourth request, wherein successful fulfillment of the second request utilizes the first resource; and

receive, from the server, a fourth response to the fourth request indicating successful fulfillment of the fourth request.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions, as a result of being executed by the one or more processors of the computer system, further cause the system to:

submit, to the server and after the predetermined period of time has elapsed, a third request, to recover the first resource; and

receive, from the server, a third response to the third request indicating failure to recover the first resource.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions, as a result of being executed by the one or more processors of the computer system, further cause the system to:

submit, to the server, a second request to validate a set of resources of the service environment;

receive, from the service, a second response to the second request indicating fulfillment of the second request; and

obtain validation status of the set of resources, wherein the validation status indicates whether resources of the set of resources are unused in the service environment.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the validation status indicates that the one or more resources are unused in the service environment.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the validation status indicates that the first resource is being used in the service environment.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the one or more resources comprises:

the first resource, wherein the first resource is of a first resource type; and

a second resource, wherein the second resource is of a second resource type different from the first resource type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2021
From: GOACHER, SURESH PRAKASH; ANILKUMAR, ARUN; VAS, NISHIT NIHAL
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 056901/0093 →
Cited By (1)
US 12,603,943