IP Library › Granted Patent US 12,743,286
Granted Patent B2
US 12,743,286 · App. 18/814,174 · Granted Sep 22, 2026

Techniques for providing cloud services on demand

Inventors: Eden Grail Adogla (Seattle, WA); Matthew Victor Rushton (Portsmouth, NH); Iliya Roitburg (Seattle, WA); Brijesh Singh (Mercer Island, WA)
Assignee: Oracle International Corporation
G06F9/4416G06F8/61H04L67/1031H04L67/51H04L67/63
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,743,286
App. No.
18/814,174
Granted
Sep 22, 2026
Kind
B2
Abstract

Techniques are disclosed for deploying a computing resource (e.g., a service) in response to user input. A computer-implemented method can include operations of receiving (e.g., by a gateway computer of a cloud-computing environment) a request comprising an identifier for a computing component of the cloud-computing environment. The computing device receiving the request may determine whether the identifier exists in a routing table that is accessible to the computing device. If so, the request may be forwarded to the computing component. If not, the device may transmit an error code (e.g., to the user device that initiated the request) indicating the computing component is unavailable and a bootstrap request to a deployment orchestrator that is configured to deploy the requested computing component. Once deployed, the computing component may be added to a routing table such that subsequent requests can be properly routed to and processed by the computing component.

Claims (42)

1 . A computer-implemented method, comprising:

receiving, by a computing device of a cloud-computing environment, a request comprising an identifier for a computing component of the cloud-computing environment;

determining, by the computing device, that the identifier is missing from a routing table that comprises identifiers of previously deployed computing components of the cloud- computing environment;

responsive to determining that the identifier is missing from the routing table, transmitting, by the computing device to a deployment orchestrator of the cloud-computing environment, a bootstrap request corresponding to the computing component, the deployment orchestrator configured to deploy the computing component to the cloud-computing environment based at least in part on the bootstrap request and adding the identifier to the routing table; and

transmitting a subsequent request to the computing component based at least in part on determining that the routing table comprises the identifier of the computing component.

2 . The computer-implemented method of claim 1 , further comprising transmitting, by the computing device, an error code in response to the request, the error code indicating that the computing component is unavailable.

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

presenting an indication that the computing component was successfully deployed; and

updating the routing table with the identifier.

4 . The computer-implemented method of claim 1 , wherein the deployment orchestrator is configured to identify one or more computing components from which the computing component depends and deploy the one or more computing components prior to deploying the computing component.

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

setting a timer corresponding to the computing component, the timer being set to a predefined period of time;

determining, based at least in part on the timer, that the computing component has not been called for at least the predefined period of time; and

transmitting, by the computing device to the deployment orchestrator of the cloud-computing environment, a spin-down request corresponding to the computing component, whereby transmitting the spin-down request causes the deployment orchestrator to remove the computing component from the cloud-computing environment.

6 . The computer-implemented method of claim 5 , wherein transmitting the spin-down request is further based at least in part on determining that no other component of the cloud-computing environment depends on the computing component.

7 . The computer-implemented method of claim 5 , further comprising requesting and receiving user input indicating approval to proceed with the spin-down request prior to transmitting the spin-down request.

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

transmitting, to the deployment orchestrator, a spin-down request corresponding to the computing component, the spin-down request being transmitted in response to 1) receiving a corresponding request to spin down the computing component, or 2) identifying a last time at which a last request for the computing component was received and determining that a difference between the last time and a current time exceeds a predefined threshold period of time.

9 . A computing device of a cloud-computing environment, comprising:

one or more processors; and

one or more memories storing computer-executable instructions that, when executed by the one or more processors, causes the computing device to:

receive a request comprising an identifier for a computing component of the cloud-computing environment;

determine that the identifier is missing from a routing table that comprises identifiers of previously deployed computing components of the cloud-computing environment;

responsive to determining that the identifier is missing from the routing table, transmit, to a deployment orchestrator of the cloud-computing environment, a bootstrap request corresponding to the computing component, the deployment orchestrator configured to deploy the computing component to the cloud-computing environment based at least in part on the bootstrap request and adding the identifier to the routing table; and

transmit a subsequent request to the computing component based at least in part on determining that the routing table comprises the identifier of the computing component.

10 . The computing device of claim 9 , wherein executing the computer-executable instructions further causes the one or more processors to:

determine whether the identifier exists in the routing table; and

forward the request to the computing component based at least in part on determining that the identifier exists in the routing table.

11 . The computing device of claim 9 , wherein transmitting the bootstrap request causes the deployment orchestrator to provision or deploy at least one other resource within the cloud-computing environment.

12 . The computing device of claim 11 , wherein the deployment orchestrator identifies the at least one other resource based at least in part on a directed acyclic graph.

13 . The computing device of claim 9 , wherein the routing table identifies one or more services that have been previously deployed within the cloud-computing environment.

14 . The computing device of claim 9 , wherein the computing device is a gateway computer of the cloud-computing environment.

15 . A non-transitory computer-readable storage medium, comprising computer-executable instructions that, when executed by one or more processors of a computing device, cause the computing device of a cloud-computing environment to:

receive a request comprising an identifier for a computing component of the cloud-computing environment;

determine that the identifier is missing from a routing table that comprises identifiers of previously deployed computing components of the cloud-computing environment;

responsive to determining that the identifier is missing from the routing table, transmit, to a deployment orchestrator of the cloud-computing environment, a bootstrap request corresponding to the computing component, the deployment orchestrator configured to deploy the computing component to the cloud-computing environment based at least in part on the bootstrap request and adding the identifier to the routing table; and

transmit a subsequent request to the computing component based at least in part on determining that the routing table comprises the identifier of the computing component.

16 . The non-transitory computer-readable of claim 15 , wherein the deployment orchestrator identifies one or more dependencies of the computing component and provisions or deploys at least one resource within the cloud-computing environment based at least in part on identifying the one or more dependencies.

17 . The non-transitory computer-readable of claim 15 , wherein the request was initiated based at least in part on user input.

18 . The non-transitory computer-readable of claim 15 , wherein executing the computer-executable instructions further causes the one or more processors to transmit data indicating that the computing component was successfully deployed.

19 . The non-transitory computer-readable of claim 15 , wherein the request was initiated based at least in part on an application programming interface call.

20 . The non-transitory computer-readable of claim 15 , transmitting data that causes a set of computing components that are currently deployed in the cloud-computing environment to be presented at one or more user interfaces.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2024
From: ADOGLA, EDEN GRAIL; RUSHTON, MATTHEW VICTOR; ROITBURG, ILIYA; SINGH, BRIJESH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 068388/0667 →
Continuity (3)
Continuation 18510144 · Nov 15, 2023
Continuation 17494533 · Oct 5, 2021
Related Publication 20240419455A1 · Dec 19, 2024
References Cited (35)
US 6321229B1 · Goldman · 2001 [cited by examiner]
US 6799189B2 · Huxoll · 2004 [cited by examiner]
US 6816898B1 · Scarpelli · 2004 [cited by examiner]
US 6895586B1 · Brasher · 2005 [cited by examiner]
US 7027411B1 · Pulsipher · 2006 [cited by examiner]
US 8627426B2 · Lucovsky et al. · 2014 [cited by applicant]
US 9274811B1 · Reeves et al. · 2016 [cited by applicant]
US 10382413B1 · Friel et al. · 2019 [cited by applicant]
US 10423442B2 · Gupta et al. · 2019 [cited by applicant]
US 10917358B1 · Herle · 2021 [cited by examiner]
US 11861373B2 · Adogla et al. · 2024 [cited by applicant]
US 12099882B2 · Adogla et al. · 2024 [cited by applicant]
US 12106117B2 · Adogla et al. · 2024 [cited by applicant]
US 20120047357A1 · Bealkowski · 2012 [cited by examiner]
US 20130080623A1 · Thireault · 2013 [cited by applicant]
US 20140075021A1 · Revanuru · 2014 [cited by examiner]
US 20140075239A1 · Prathipati et al. · 2014 [cited by applicant]
US 20170134301A1 · Chen et al. · 2017 [cited by applicant]
US 20180159735A1 · Beyh · 2018 [cited by applicant]
US 20190050213A1 · Schanafelt · 2019 [cited by examiner]
US 20200389393A1 · Bosch · 2020 [cited by examiner]
JP 2019191740A · 2019 [cited by applicant]
WO 2016191639A1 · 2016 [cited by applicant]
WO 2021109686A1 · 2021 [cited by applicant]
WO WO2021150435A1 · 2021 [cited by examiner]
U.S. Appl. No. 17/494,495, Non-Final Office Action mailed on Apr. 2, 2024, 9 pages. [cited by applicant]
U.S. Appl. No. 17/494,495, Notice of Allowance mailed on Jul. 18, 2024, 5 pages. [cited by applicant]
U.S. Appl. No. 17/494,533, Notice of Allowance mailed on Sep. 19, 2023, 9 pages. [cited by applicant]
U.S. Appl. No. 18/510,144, Non-Final Office Action mailed on Jun. 21, 2024, 10 pages. [cited by applicant]
U.S. Appl. No. 18/510,144, Notice of Allowance mailed on Aug. 5, 2024, 7 pages. [cited by applicant]
International Application No. PCT/US2022/023715, International Preliminary Report on Patentability mailed on Apr. 18, 2024, 11 pages. [cited by applicant]
International Application No. PCT/US2022/023715, International Search Report and Written Opinion mailed on Jul. 13, 2022, 14 pages. [cited by applicant]
International Application No. JP2024-520760, Notice of Decision to Grant, mailed on Sep. 2, 2025, 3 pages. [cited by applicant]
Japanese Application No. 2025-004785, Office Action mailed on Apr. 14, 2026, 4 pages (2 pages of English Translation and 2 pages of Original Document). [cited by applicant]
International Application No. IN202447014437, “First Examination Report”, mailed on Jun. 12, 2026, 10 pages. [cited by applicant]