IP Library Granted Patent US 12,333,337
Granted Patent B2
US 12,333,337 · App. 18/444,202 · Granted Jun 17, 2025

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 Music Vogel (Seattle, WA); Geoff Hopcraft (Bellevue, WA)
Assignee: Oracle International Corporation
G06F9/5005G06F9/466G06F9/50G06F16/951H04L47/10H04L47/70H04L67/10
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 12,333,337
App. No.
18/444,202
Filed
Feb 16, 2024
Granted
Jun 17, 2025
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 (67)

1. A method, comprising:

receiving a resource request for access to a network-accessible infrastructure resource, the resource request comprising resource metadata corresponding to the network-accessible infrastructure resource, wherein access to the network-accessible infrastructure resource is granted or denied based at least in part on the resource request;

determining that the resource request is to be persisted based at least in part on whether a resource usage corresponding to the resource request exceeds a quota limit for the resource request;

responsive to determining that the resource request is to be persisted:

persisting at least a portion of the resource request, the portion of the resource request comprising the resource metadata;

receiving a data request to provide the resource metadata, the resource metadata being previously received with the resource request; and

providing, in accordance with the data request, the resource metadata from the portion of the resource request.

2. The method of claim 1 , further comprising:

generating a request identifier describing the resource metadata in accordance with the resource request by:

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

fetching, in response to a fetch request or after the predefined 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.

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 period is a first predefined timeout period, 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 period, 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. The method of claim 1 , wherein determining that the resource request is to be persisted comprises:

receiving a resource usage corresponding to the resource request; and

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

8. A system, comprising:

at least one device including a hardware processor; and

the system being configured to perform operations comprising:

receiving a resource request for access to a network-accessible infrastructure resource, the resource request comprising resource metadata corresponding to the network-accessible infrastructure resource, wherein access to the network-accessible infrastructure resource is granted or denied based at least in part on the resource request;

determining that the resource request is to be persisted based at least in part on whether a resource usage corresponding to the resource request exceeds a quota limit for the resource request;

responsive to determining that the resource request is to be persisted:

persisting at least a portion of the resource request, the portion of the resource request comprising the resource metadata;

receiving a data request to provide the resource metadata, the resource metadata being previously received with the resource request; and

providing, in accordance with the data request, the resource metadata from the resource request.

9. The system of claim 8 , wherein the operations further comprise:

generating a request identifier describing the resource metadata in accordance with the resource request by:

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

fetching, in response to a fetch request or after the predefined 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.

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

11. The system of claim 9 , 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.

12. The system of claim 9 , 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.

13. The system of claim 8 , wherein determining that the resource request is to be persisted comprises:

receiving a resource usage corresponding to the resource request; and

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

14. One or more non-transitory computer-readable media storing instructions that, when executed by one or more hardware processors, cause performance of operations comprising:

receiving a resource request for access to a network-accessible infrastructure resource, the resource request comprising resource metadata corresponding to the network-accessible infrastructure resource, wherein access to the network-accessible infrastructure resource is granted or denied based at least in part on the resource request;

determining that the resource request is to be persisted based at least in part on whether a resource usage corresponding to the resource request exceeds a quota limit for the resource request;

responsive to determining that the resource request is to be persisted:

persisting at least a portion of the resource request, the portion of the resource request comprising the resource metadata;

receiving a data request to provide the resource metadata, the resource metadata being previously received with the resource request; and

providing, in accordance with the data request, the resource metadata from the resource request.

15. The one or more non-transitory computer-readable media of claim 14 , wherein the operations further comprise:

generating a resource identifier describing the resource metadata in accordance with the resource request by:

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

fetching, in response to a fetch request or after the predefined 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.

16. The one or more non-transitory computer-readable media of claim 15 , wherein reconciling the in-progress request comprises, in accordance with the resource status indicating a committed status, committing the resource request.

17. The one or more non-transitory computer-readable media of claim 15 , 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.

18. The one or more non-transitory computer-readable media of claim 15 , 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.

19. The one or more non-transitory computer-readable media of claim 14 , wherein determining that the resource request is to be persisted comprises:

receiving a resource usage corresponding to the resource request; and

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

20. The one or more non-transitory computer-readable media of claim 14 , 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: HASSAN, MOHAMED SABER ABDELFATTAH; NADAL, JONATHAN JORGE; GLASS, NATHANIEL MARTIN; WU, YU; VOGEL, DANIEL MUSIC; HOPCRAFT, GEOFF
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 066517/0309 →
Continuity (3)
Continuation 17549595 · Dec 13, 2021
Continuation 16921490 · Jul 6, 2020
Related Publication 20240187478A1 · Jun 6, 2024
References Cited (29)
US 7933962B1 · Banerjee et al. · 2011 [cited by applicant]
US 8386425B1 · Kadayam · 2013 [cited by examiner]
US 8386433B1 · Kadayam · 2013 [cited by examiner]
US 9559928B1 · Porter · 2017 [cited by examiner]
US 10135708B2 · Dinan · 2018 [cited by examiner]
US 10318491B1 · Graham et al. · 2019 [cited by applicant]
US 10318896B1 · Sarkar et al. · 2019 [cited by applicant]
US 10469330B1 · Roth et al. · 2019 [cited by applicant]
US 11016946B1 · Graham et al. · 2021 [cited by applicant]
US 20050021708A1 · Raghuraman et al. · 2005 [cited by applicant]
US 20080005505A1 · Maegawa · 2008 [cited by examiner]
US 20080201409A1 · Vul et al. · 2008 [cited by applicant]
US 20120151063A1 · Yang et al. · 2012 [cited by applicant]
US 20140201202A1 · Jones et al. · 2014 [cited by applicant]
US 20140214772A1 · Kadayam · 2014 [cited by examiner]
US 20170078409A1 · Yazir et al. · 2017 [cited by applicant]
US 20170134520A1 · Abbasi et al. · 2017 [cited by applicant]
US 20180063089A1 · Moysi et al. · 2018 [cited by applicant]
US 20180137208A1 · Ricker · 2018 [cited by examiner]
US 20180375712A1 · Kröhling · 2018 [cited by examiner]
US 20190034482A1 · Werner et al. · 2019 [cited by applicant]
US 20190042323A1 · Shotton · 2019 [cited by examiner]
US 20190394096A1 · Bernat et al. · 2019 [cited by applicant]
US 20200143011A1 · Kaplan et al. · 2020 [cited by applicant]
US 20210081451A1 · Wong · 2021 [cited by examiner]
US 20210117722A1 · Kal et al. · 2021 [cited by applicant]
US 20210133721A1 · Ponceleon · 2021 [cited by examiner]
U.S. Appl. No. 16/921,490, “Non-Final Office Action”, dated Oct. 15, 2021, 6 pages. [cited by applicant]
U.S. Appl. No. 16/921,490, “Notice of Allowance”, dated Nov. 3, 2021, 8 pages. [cited by applicant]