IP Library Granted Patent US 12,101,222
Granted Patent B2
US 12,101,222 · App. 18/104,569 · Granted Sep 24, 2024

Architecture of a multi-cloud control plane-network adaptor

Inventors: Jinsu Choi (Seoul, KR); Jwala Dinesh Gupta Chakka (Dublin, CA); Jagwinder Singh Brar (Bellevue, WA); Shane Baker (Bellevue, WA)
Assignee: Oracle International Corporation
H04L41/0806H04L12/4633H04L43/50H04L45/42H04L45/76H04L12/4641
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,101,222
App. No.
18/104,569
Granted
Sep 24, 2024
Kind
B2
Abstract

Techniques are described for creating a network-link between a first virtual network in a first cloud environment and a second virtual network in a second cloud environment. The first virtual network in the first cloud environment is created to enable a user associated with a customer tenancy in the second cloud environment to access one or more services provided in the first cloud environment. The network-link is created based on one or more link-enabling virtual networks being deployed in the first cloud environment and the second cloud environment.

Claims (50)

1. A method comprising:

receiving, by a control plane of a multi-cloud infrastructure included in a first cloud environment, a request to create a network-link between a first virtual network in the first cloud environment and a second virtual network in a second cloud environment, the first virtual network in the first cloud environment being previously created to enable a user associated with a customer tenancy in the second cloud environment to access one or more services provided in the first cloud environment;

executing, by the control plane of the multi-cloud infrastructure, a workflow to provision the network-link, wherein the workflow includes processing comprising:

transmitting a first request to a first endpoint of the first cloud environment, the first request requesting provisioning of a first set of resources in the first cloud environment; and

sending a second request to a second endpoint of the second cloud environment, the second request requesting provisioning of a second set of resources in the second cloud environment; and

responsive to the first set of resources and the second set of resources being provisioned, distributing, network configuration information to one or more resources in the first set of resources and the second set of resources, the network configuration information enabling traffic to be communicated between the first virtual network in the first cloud environment and the second virtual network in the second cloud environment.

2. The method of claim 1 , wherein the first endpoint corresponds to a first resource manager of the first cloud environment and the second endpoint corresponds to a second resource manager of the second cloud environment.

3. The method of claim 1 , wherein provisioning of the second set of resources in the second cloud environment includes deploying a first link-enabling virtual network including a first pair of virtual network adaptors, each of which is configured to encapsulate the traffic received from the second virtual network to generate encapsulated traffic.

4. The method of claim 3 , wherein provisioning of the first set of resources in the first cloud environment includes deploying a second link-enabling virtual network including a second pair of virtual network adaptors, each of which is configured to decapsulate, the encapsulated traffic received from the first link-enabling virtual network in the second cloud environment.

5. The method of claim 1 , wherein the network configuration information includes information corresponding to an IP address of a resource.

6. The method of claim 1 , wherein the control plane distributes the network configuration information to the first set of resources in the first cloud environment via a VNIC.

7. The method of claim 1 , further comprising:

creating, by the control plane a tunnel that communicatively couples the control plane to a service virtual network in the second cloud environment, and wherein the control plane distributes the network configuration information to the second set of resources in the second cloud environment via the tunnel.

8. The method of claim 4 , further comprising:

assigning, by the control plane, a unique classless inter-domain routing IP address space to each of the first link-enabling virtual network and the second link-enabling virtual network.

9. The method of claim 1 , further comprising:

polling, by the control plane, each of the first set of resources and the second set of resources to obtain a corresponding health status, the polling being conducted in a periodic manner having a predetermined polling interval.

10. The method of claim 1 , further comprising:

receiving, by a multi-cloud infrastructure included in a first cloud environment, a request to deploy: (i) a first plurality of compute instances in a first availability domain of a first plurality of availability domains in the first cloud environment, and (ii) a second plurality of compute instances in a second availability domain of a second plurality of availability domains in a second cloud environment, the first plurality of compute instances in the first availability domain of the first cloud environment and the second plurality of compute instances in the second cloud environment enabling a user in the second cloud environment to access one or more services provided in the first cloud environment; and

determining the first availability domain of the first plurality of availability domains included in the first cloud environment where the first plurality of compute instances are to be deployed, and the second availability domain of the second plurality of availability domains included in the second cloud environment where the second plurality of compute instances are to be deployed.

11. The method of claim 10 , wherein the determining further comprises:

for each availability domain of the first plurality of availability domains in the first cloud environment and each availability domain of the second plurality of availability domains in the second cloud environment:

placing a first test compute instance in the availability domain of the first plurality of availability domains in the first cloud environment;

placing a second test compute instance in the availability domain of the second plurality of availability domains in the second cloud environment;

transmitting a test packet from the first test compute instance to the second test compute instance; and

computing a transmission latency corresponding to a pair of availability domains hosting the first test compute instance and the second test compute instance; and

selecting the first availability domain in the first cloud environment and the second availability domain in the second cloud environment based on a condition associated with transmission latencies computed for pairs of availability domains.

12. One or more computer readable non-transitory media storing computer-executable instructions that, when executed by one or more processors, cause:

receiving, by a control plane of a multi-cloud infrastructure included in a first cloud environment, a request to create a network-link between a first virtual network in the first cloud environment and a second virtual network in a second cloud environment, the first virtual network in the first cloud environment being previously created to enable a user associated with a customer tenancy in the second cloud environment to access one or more services provided in the first cloud environment;

executing, by the control plane of the multi-cloud infrastructure, a workflow to provision the network-link, wherein the workflow includes processing comprising:

transmitting a first request to a first endpoint of the first cloud environment, the first request requesting provisioning of a first set of resources in the first cloud environment; and

sending a second request to a second endpoint of the second cloud environment, the second request requesting provisioning of a second set of resources in the second cloud environment; and

responsive to the first set of resources and the second set of resources being provisioned, distributing a network configuration information to one or more resources in the first set of resources and the second set of resources, the network configuration information enabling traffic to be communicated between the first virtual network in the first cloud environment and the second virtual network in the second cloud environment.

13. The one or more computer readable non-transitory media storing computer-executable instructions of claim 12 , wherein the first endpoint corresponds to a first resource manager of the first cloud environment and the second endpoint corresponds to a second resource manager of the second cloud environment.

14. The one or more computer readable non-transitory media storing computer-executable instructions of claim 12 , wherein provisioning of the second set of resources in the second cloud environment includes deploying a first link-enabling virtual network including a first pair of virtual network adaptors, each of which is configured to encapsulate traffic received from the second virtual network to generate encapsulated traffic.

15. The one or more computer readable non-transitory media storing computer-executable instructions of claim 14 , wherein provisioning of the first set of resources in the first cloud environment includes deploying a second link-enabling virtual network including a second pair of virtual network adaptors, each of which is configured to decapsulate, the encapsulated traffic received from the first link-enabling virtual network in the second cloud environment.

16. The one or more computer readable non-transitory media storing computer-executable instructions of claim 12 , wherein the network configuration information includes information corresponding to an IP address of a resource.

17. The one or more computer readable non-transitory media storing computer-executable instructions of claim 12 , wherein the control plane distributes the network configuration information to the first set of resources in the first cloud environment via a VNIC.

18. The one or more computer readable non-transitory media storing computer-executable instructions of claim 12 , further comprising instructions that, when executed by one or more processors, cause:

creating, by the control plane a tunnel that communicatively couples the control plane to a service virtual network in the second cloud environment, and wherein the control plane distributes the network configuration information to the second set of resources in the second cloud environment via the tunnel.

19. The one or more computer readable non-transitory media storing computer-executable instructions of claim 15 , further comprising:

assigning, by the control plane, a unique classless inter-domain routing IP address space to each of the first link-enabling virtual network and the second link-enabling virtual network.

20. A computing device comprising:

one or more processors; and

a memory including instructions that, when executed with the one or more processors, cause the computing device to, at least:

receive, by a control plane of a multi-cloud infrastructure included in a first cloud environment, a request to create a network-link between a first virtual network in the first cloud environment and a second virtual network in a second cloud environment, the first virtual network in the first cloud environment being previously created to enable a user associated with a customer tenancy in the second cloud environment to access one or more services provided in the first cloud environment;

execute, by the control plane of the multi-cloud infrastructure, a workflow to provision the network-link, wherein the workflow includes processing to at least:

transmit a first request to a first endpoint of the first cloud environment, the first request requesting provisioning of a first set of resources in the first cloud environment; and

send a second request to a second endpoint of the second cloud environment, the second request requesting provisioning of a second set of resources in the second cloud environment; and

responsive to the first set of resources and the second set of resources being provisioned, distribute a network configuration information to one or more resources in the first set of resources and the second set of resources, the network configuration information enabling traffic to be communicated between the first virtual network in the first cloud environment and the second virtual network in the second cloud environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2023
From: CHOI, JINSU; CHAKKA, JWALA DINESH GUPTA; BRAR, JAGWINDER SINGH; BAKER, SHANE
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 062644/0272 →
Continuity (11)
Provisional Application 63380326 · Oct 20, 2022
Provisional Application 63389145 · Jul 14, 2022
Provisional Application 63389305 · Jul 14, 2022
Provisional Application 63346004 · May 26, 2022
Provisional Application 63339297 · May 6, 2022
Provisional Application 63336811 · Apr 29, 2022
Provisional Application 63333965 · Apr 22, 2022
Provisional Application 63321614 · Mar 18, 2022
Provisional Application 63306918 · Feb 4, 2022
Provisional Application 63306007 · Feb 2, 2022
Related Publication 20230246879A1 · Aug 3, 2023
Cited By (10)
US 12,204,955 US 12,206,657 US 12,301,556 US 12,341,629 US 12,381,758 US 12,381,867 US 12,438,865 US 12,592,917 US 12,592,931 US 12,726,381