IP Library › Granted Patent US 12,541,373
Granted Patent B2
US 12,541,373 · App. 18/076,238 · Granted Feb 3, 2026

Techniques for building data centers in cloud regions

Inventors: Erik Joseph Miller (Seattle, WA); Caleb Dockter (Bellevue, WA)
Assignee: Oracle International Corporation
G06F9/4416G06F9/5038G06F9/5077G06F2209/502G06F2209/503
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,541,373
App. No.
18/076,238
Filed
Dec 6, 2022
Granted
Feb 3, 2026
Kind
B2
Art Unit
2196
USPC
718/104
Abstract

Techniques are described for performing an automated region build. An orchestration service (e.g., a Multi-Flock Orchestrator) may managing bootstrapping efforts for any suitable number of services within a region corresponding to one or more data centers. Each service can be associated with a respective set of resources (e.g., infrastructure components, software artifacts, etc.). The orchestration service can identify dependencies between services based on corresponding configuration files associated with the services. The orchestration service can determine, based on the identified dependencies, an order by which operations for bootstrapping the services are to be performed. The orchestration service can incrementally instruct other system components (e.g., a provisioning and deployment manager) to perform operations for bootstrapping the plurality of services in accordance with determined order.

Claims (49)

1 . A computer-implemented method, comprising:

obtaining, by an orchestration service of a cloud-computing environment, a plurality of configuration files corresponding to a plurality of services to be bootstrapped within a region corresponding to one or more data centers, each of the plurality of services being associated with a respective set of resources comprising at least one of an infrastructure component or a corresponding software artifact;

identifying, by the orchestration service, one or more dependencies between the plurality of services based at least in part on performing a static flock analysis of the plurality of configuration files;

generating, by the orchestration service, a build dependency graph that indicates an order by which operations for bootstrapping the plurality of services are to be executed, the order being determined based at least in part on the one or more dependencies that were identified from performing the static flock analysis of the plurality of configuration files;

in accordance with traversing to a first node of the build dependency graph, instructing, by the orchestration service, a provisioning and deployment service of a control plane to bootstrap a first set of resources corresponding to a first service of the plurality of services, the provisioning and deployment service transmitting first desired state data to a declarative infrastructure provisioner causing the declarative infrastructure provisioner to perform within the region a first set of bootstrapping tasks corresponding to the first service; and

in accordance with traversing to a second node of the build dependency graph, instructing, by the orchestration service, the provisioning and deployment manager of the control plane to bootstrap a second set of resources corresponding to a second service of the plurality of services, the provisioning and deployment manager transmitting second desired state data to the declarative infrastructure provisioner causing the declarative infrastructure provisioner to perform within the region a second set of bootstrapping tasks corresponding to the second service.

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

identifying, by the orchestration service from the build dependency graph, that the second service has a corresponding dependency on a capability of the first service being available;

identifying that the capability of the first service is unavailable; and

transmitting data to a capabilities service indicating a request to be notified when the capability of the first service becomes available.

3 . The computer-implemented method of claim 2 , wherein identifying the capability of the first service is unavailable comprises determining that a notification indicating that the capability of the first service is available has yet to be received from the capabilities service of the cloud-computing environment.

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

receiving, by the orchestration service from the capabilities service, a corresponding notification indicating that the capability of the first service is available, wherein the orchestration service instructs the provisioning and deployment manager to bootstrap the second set of resources corresponding to the second service in response to receiving the notification that the capability of the first service is available.

5 . The computer-implemented method of claim 3 , wherein instructing the provisioning and deployment manager to bootstrap the first service of the plurality of services causes the declarative infrastructure provisioner to provision at least one infrastructure component or deploy one or more artifacts within the region.

6 . The computer-implemented method of claim 3 , wherein the static flock analysis comprises executing one or more parses of the plurality of configuration files.

7 . The computer-implemented method of claim 1 , wherein the plurality of configuration files are identified from a predefined version set.

8 . A cloud-computing system comprising:

one or more processors; and

one or more memories storing computer-executable instructions that, when executed by the one or more processors, cause an orchestration service of the cloud-computing system to:

obtain a plurality of configuration files corresponding to a plurality of services to be bootstrapped within a region corresponding to one or more data centers, each of the plurality of services being associated with a respective set of resources comprising an infrastructure component and a corresponding software artifact;

identify one or more dependencies between the plurality of services based at least in part on performing a static flock analysis of the plurality of configuration files;

generate a build dependency graph that indicates an order by which operations for bootstrapping the plurality of services are to be executed, the order being determined based at least in part on the one or more dependencies that were identified from performing the static flock analysis of the plurality of configuration files;

in accordance with traversing to a first node of the build dependency graph, instruct a provisioning and deployment service of a control plane to bootstrap a first set of resources corresponding to a first service of the plurality of services, the provisioning and deployment service transmitting first desired state data to a declarative infrastructure provisioner causing the declarative infrastructure provisioner to perform within the region a first set of bootstrapping tasks corresponding to the first service; and

in accordance with traversing to a second node of the build dependency graph, instruct the provisioning and deployment manager of the control plane to bootstrap a second set of resources corresponding to a second service of the plurality of services, the provisioning and deployment manager transmitting second desired state data to the declarative infrastructure provisioner causing the declarative infrastructure provisioner to perform within the region a second set of bootstrapping tasks corresponding to the second service.

9 . The cloud-computing system of claim 8 , wherein executing the computer-executable instructions further causes the orchestration service to:

identify, from the build dependency graph, that the second service has a corresponding dependency on a capability of the first service being available;

identify that the capability of the first service is unavailable; and

transmit data to a capabilities service indicating a request to be notified when the capability of the first service becomes available.

10 . The cloud-computing system of claim 9 , wherein executing the computer-executable instructions that cause the orchestration service to identify that the capability of the first service is unavailable comprises determining that a notification indicating that the capability of the first service is available has yet to be received from the capabilities service of the cloud-computing system.

11 . The cloud-computing system of claim 10 , wherein executing the computer-executable instructions to instruct the provisioning and deployment manager further causes the orchestration service to:

receive, from the capabilities service, a corresponding notification indicating that the capability of the first service is available, wherein executing the computer-executable instructions that cause the orchestration service to instruct the provisioning and deployment manager to bootstrap the second set of resources corresponding to the second service are executed in response to receiving the notification that the capability of the first service is available.

12 . The cloud-computing system of claim 8 , wherein executing the computer-executable instructions to instruct the provisioning and deployment manager to bootstrap the first service of the plurality of services causes the declarative infrastructure provisioner to provision at least one infrastructure component or deploy one or more artifacts within the region.

13 . The cloud-computing system of claim 8 , wherein the static flock analysis comprises executing one or more parses of the plurality of configuration files.

14 . The cloud-computing system of claim 8 , wherein the plurality of configuration files are identified from a predefined version set.

15 . A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by one or more processors corresponding to an orchestration service of a cloud-computing system, cause the orchestration service to:

obtain a plurality of configuration files corresponding to a plurality of services to be bootstrapped within a region corresponding to one or more data centers, each of the plurality of services being associated with a respective set of resources comprising an infrastructure component and a corresponding software artifact;

identify one or more dependencies between the plurality of services based at least in part on performing a static flock analysis of the plurality of configuration files;

generate a build dependency graph that indicates an order by which operations for bootstrapping the plurality of services are to be executed, the order being determined based at least in part on the one or more dependencies that were identified from performing the static flock analysis of the plurality of configuration files;

in accordance with traversing to a first node of the build dependency graph, instruct a provisioning and deployment service of a control plane to bootstrap a first set of resources corresponding to a first service of the plurality of services, the provisioning and deployment service transmitting first desired state data to a declarative infrastructure provisioner causing the declarative infrastructure provisioner to perform within the region a first set of bootstrapping tasks corresponding to the first service; and

in accordance with traversing to a second node of the build dependency graph, instruct the provisioning and deployment manager of the control plane to bootstrap a second set of resources corresponding to a second service of the plurality of services, the provisioning and deployment manager transmitting second desired state data to the declarative infrastructure provisioner causing the declarative infrastructure provisioner to perform within the region a second set of bootstrapping tasks corresponding to the second service.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein executing the computer-executable instructions further causes the orchestration service to:

identify, from the build dependency graph, that the second service has a corresponding dependency on a capability of the first service being available;

identify that the capability of the first service is unavailable; and

transmit data to a capabilities service indicating a request to be notified when the capability of the first service becomes available.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein executing the computer-executable instructions that cause the orchestration service to identify that the capability of the first service is unavailable comprises determining that a notification indicating that the capability of the first service is available has yet to be received from the capabilities service of the cloud-computing system.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein executing the computer-executable instructions to instruct the provisioning and deployment manager further causes the orchestration service to:

receive, from the capabilities service, a corresponding notification indicating that the capability of the first service is available, wherein executing the computer-executable instructions that cause the orchestration service to instruct the provisioning and deployment manager to bootstrap the second set of resources corresponding to the second service are executed in response to receiving the notification that the capability of the first service is available.

19 . The non-transitory computer-readable storage medium of claim 15 , wherein executing the computer-executable instructions to instruct the provisioning and deployment manager to bootstrap the first service of the plurality of services causes the declarative infrastructure provisioner to provision at least one infrastructure component or deploy one or more artifacts within the region.

20 . The non-transitory computer-readable storage medium of claim 15 , wherein the plurality of configuration files are identified from a predefined version set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: MILLER, ERIK JOSEPH; DOCKTER, CALEB
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 062060/0579 →
Continuity (4)
Provisional Application 63315005 · Feb 28, 2022
Provisional Application 63312814 · Feb 22, 2022
Provisional Application 63308003 · Feb 8, 2022
Related Publication 20230305858A1 · Sep 28, 2023
References Cited (23)
US 8171285B2 · Platt · 2012 [cited by applicant]
US 11425054B1 · Dunsmore et al. · 2022 [cited by applicant]
US 11671325B1 · Kuo et al. · 2023 [cited by applicant]
US 20140372744A1 · Xu et al. · 2014 [cited by applicant]
US 20170228227A1 · Winterfeldt et al. · 2017 [cited by applicant]
US 20210224076A1 · Dockter · 2021 [cited by examiner]
US 20210224107A1 · Vassenkov · 2021 [cited by examiner]
US 20210224122A1 · Glass et al. · 2021 [cited by applicant]
US 20210405985A1 · Shteyman et al. · 2021 [cited by applicant]
US 20220121455A1 · Hoban et al. · 2022 [cited by applicant]
US 20230140164A1 · Chou · 2023 [cited by applicant]
US 20230254382A1 · Miller et al. · 2023 [cited by applicant]
US 20230396590A1 · Adogla · 2023 [cited by applicant]
U.S. Appl. No. 18/163,219, “Non-Final Office Action”, mailed Apr. 25, 2024, 9 pages. [cited by applicant]
International Application No. PCT/US2023/012035, International Search Report and Written Opinion mailed on May 9, 2023, 11 pages. [cited by applicant]
International Application No. PCT/US2023/012212, International Search Report and Written Opinion mailed on May 2, 2023, 12 pages. [cited by applicant]
U.S. Appl. No. 18/076,267, Notice of Allowance, mailed on Apr. 1, 2025, 16 pages. [cited by applicant]
U.S. Appl. No. 18/076,267, “Non-Final Office Action”, mailed Aug. 15, 2024, 10 pages. [cited by applicant]
U.S. Appl. No. 18/163,219, “Notice of Allowance”, mailed Aug. 28, 2024, 7 pages. [cited by applicant]
International Application No. PCT/US2023/012035, “International Preliminary Report on Patentability”, mailed Aug. 22, 2024, 8 pages. [cited by applicant]
International Application No. PCT/US2023/012212, “International Preliminary Report on Patentability”, mailed Aug. 22, 2024, 9 pages. [cited by applicant]
International Application No. IN202447053004, “First Examination Report”, mailed Aug. 22, 2025, 6 pages. [cited by applicant]
International Application No. IN202447054788, “First Examination Report”, mailed Aug. 22, 2025, 10 pages. [cited by applicant]