IP Library Granted Patent US 11,949,735
Granted Patent B2
US 11,949,735 · App. 17/549,595 · Granted Apr 2, 2024

Centralized approach for managing cross-service data of cloud resources

Inventors: Mohamed Saber Abdelfattah Hassan (Bellevue, WA); Jonathan Jorge Nadal (Seattle, WA); Nathaniel Martin Glass (Bellevue, WA); Yu Wu (Sammamish, WA); Daniel M. Vogel (Seattle, WA); Geoff Hopcraft (Bellevue, WA)
Assignee: Oracle International Corporation
H04L67/10G06F9/466G06F9/50G06F16/951H04L47/10H04L47/70
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,949,735
App. No.
17/549,595
Filed
Dec 13, 2021
Granted
Apr 2, 2024
Kind
B2
Art Unit
2441
USPC
709/226
Abstract

Techniques for managing network-accessible infrastructure metadata are provided. A method includes receiving a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource, determining whether to commit the resource request based at least in part on a constraint associated with the network-accessible infrastructure resource, and, in accordance with a determination to commit the resource request: generating, by the computer system, a resource identifier describing resource metadata in accordance with the resource request, storing, by the computer system, the resource metadata in a data store in communication with the computer system, receiving, by the computer system, a data request to provide the resource metadata described by the resource identifier, and providing, by the computer system, the resource metadata described by the resource identifier in accordance with the data request.

Claims (87)

1. A method, comprising:

receiving, by a computer system, a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource;

determining, by the computer system, that the resource request is to be persisted based at least in part on a constraint associated with the network-accessible infrastructure resource

wherein determining that the resource request is to be persisted comprises:

receiving a resource usage corresponding to the resource request;

determining a quota limit for the resource request based at least in part on the resource metadata;

determining whether the resource usage exceeds the quota limit; and

in accordance with a determination that the resource usage does not exceed the quota limit, persisting the resource request;

generating, by the computer system, a request identifier describing the resource metadata in accordance with the resource request;

receiving, by the computer system, a data request to provide the resource metadata described by the request identifier; and

providing, by the computer system, the resource metadata described by the request identifier in accordance with the data request.

2. A method, comprising:

receiving, by a computer system, a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource;

determining, by the computer system, that the resource request is to be persisted based at least in part on a constraint associated with the network-accessible infrastructure resource;

generating, by the computer system, a request identifier describing the resource metadata in accordance with the resource request,

wherein generating the request identifier comprises:

storing the resource request in a data store as an in-progress request, the in-progress request comprising a pre-defined timeout period;

fetching, in response to a fetch request or after the pre-defined timeout period is elapsed, the in-progress request from the data store;

requesting a resource status associated with the in-progress request;

receiving the resource status corresponding to the network-accessible infrastructure resource identified in the resource metadata; and

reconciling the in-progress request with the resource status

receiving, by the computer system, a data request to provide the resource metadata described by the request identifier; and

providing, by the computer system, the resource metadata described by the request identifier in accordance with the data request.

3. The method of claim 2 , wherein reconciling the in-progress request with the resource status comprises:

ascertaining a lease token value associated with the in-progress request; and

in accordance with the lease token value being true, releasing the in-progress request to the data store; or

in accordance with the lease token value being false, assigning the in-progress request to a default queue of a reconciler instance.

4. The method of claim 2 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating an active status, committing the resource request.

5. The method of claim 2 , wherein the predefined timeout is a first predefined timeout, and wherein reconciling the in-progress request comprises, in accordance with the resource status indicating an in-progress status, rescheduling the resource request after a second predefined timeout, wherein the in-progress status comprises at least one of creating, terminating, or updating.

6. The method of claim 2 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating a terminated status, aborting the resource request, at least in part by removing the resource request from the data store.

7. A computer system, comprising:

a memory configured to store computer-executable instructions; and

one or more processors configured to access the memory and execute the computer-executable instructions to at least:

receive a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource;

determine that the resource request is to be persisted based at least in part on a constraint associated with the network-accessible infrastructure resource

wherein determining that the resource request is to be persisted comprises:

receiving a resource usage corresponding to the resource request;

determining a quota limit for the resource request based at least in part on the resource metadata;

determining whether the resource usage exceeds the quota limit; and

in accordance with a determination that the resource usage does not exceed the quota limit, persisting the resource request;

generate a request identifier in accordance with the resource request;

receive a data request to provide the resource metadata described by the request identifier; and

provide the resource metadata described by the request identifier in accordance with the data request.

8. A computer system, comprising:

a memory configured to store computer-executable instructions; and

one or more processors configured to access the memory and execute the computer-executable instructions to at least:

receive a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource;

determine that the resource request is to be persisted based at least in part on a constraint associated with the network-accessible infrastructure resource;

generate a request identifier in accordance with the resource request;

wherein generating the request identifier comprises:

storing the resource request in a data store as an in-progress request, the in-progress request comprising a pre-defined timeout period;

fetching, in response to a fetch request or after the pre-defined timeout period is elapsed, the in-progress request from the data store;

requesting a resource status associated with the in-progress request;

receiving the resource status corresponding to the network-accessible infrastructure resource identified in the resource metadata; and

reconciling the in-progress request with the resource status

receive a data request to provide the resource metadata described by the request identifier; and

provide the resource metadata described by the request identifier in accordance with the data request.

9. The computer system of claim 8 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating a committed status, committing the resource request.

10. The computer system of claim 8 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating an in-progress status, rescheduling the resource request after a second predefined timeout.

11. The computer system of claim 8 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating an aborted status, aborting the resource request, at least in part by removing the resource request from the data store.

12. The computer system of claim 7 , wherein the resource metadata comprises at least one of a resource identifier, a compartment identifier, an availability domain, a resource kind, a resource status, a last transaction identifier, or a tenancy identifier.

13. A non-transitory computer-readable storage medium, storing computer-executable instructions that, when executed by a computer system, cause one or more processors of a computer system to perform operations comprising:

receiving, by the computer system, a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource;

determining, by the computer system, that the resource request is to be persisted based at least in part on a constraint associated with the network-accessible infrastructure resource

wherein determining that the resource request is to be persisted comprises:

receiving a resource usage corresponding to the resource request;

determining a quota limit for the resource request based at least in part on the resource metadata;

determining whether the resource usage exceeds the quota limit; and

in accordance with a determination that the resource usage does not exceed the quota limit, persisting the resource request;

generating, by the computer system, a resource identifier describing the resource metadata in accordance with the resource request;

receiving, by the computer system, a data request to provide the resource metadata described by the resource identifier; and

providing, by the computer system, the resource metadata described by the resource identifier in accordance with the data request.

14. A non-transitory computer-readable storage medium, storing computer-executable instructions that, when executed by a computer system, cause one or more processors of a computer system to perform operations comprising:

receiving, by the computer system, a resource request comprising resource metadata corresponding to a network-accessible infrastructure resource;

determining, by the computer system, that the resource request is to be persisted based at least in part on a constraint associated with the network-accessible infrastructure resource;

generating, by the computer system, a resource identifier describing the resource metadata in accordance with the resource request,

wherein generating the resource identifier comprises:

storing the resource request in the data store as an in-progress request, the in-progress request comprising a pre-defined timeout period;

fetching, in response to a fetch request or after the pre-defined timeout period is elapsed, the in-progress request from the data store;

requesting a resource status associated with the in-progress request;

receiving the resource status corresponding to the network-accessible infrastructure resource identified in the resource metadata; and

reconciling the in-progress request with the resource status

receiving, by the computer system, a data request to provide the resource metadata described by the resource identifier; and

providing, by the computer system, the resource metadata described by the resource identifier in accordance with the data request.

15. The non-transitory computer-readable storage medium of claim 14 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating a committed status, committing the resource request.

16. The non-transitory computer-readable storage medium of claim 14 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating an in-progress status, rescheduling the resource request after a second predefined timeout.

17. The non-transitory computer-readable storage medium of claim 14 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating an aborted status, aborting the resource request, at least in part by removing the resource request from the data store.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: HASSAN, MOHAMED SABER ABDELFATTAH; NADAL, JONATHAN JORGE; GLASS, NATHANIEL MARTIN; WU, YU; VOGEL, DANIEL MUSIC; HOPCRAFT, GEOFF
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 058390/0409 →
Continuity (2)
Continuation 16921490 · Jul 6, 2020
Related Publication 20220103616A1 · Mar 31, 2022