IP Library › Granted Patent US 12,099,948
Granted Patent B2
US 12,099,948 · App. 18/343,185 · Granted Sep 24, 2024

Attachment and detachment of compute instances owned by different tenancies

Inventors: A M Helali Mortuza Bhuiyan (Redmond, WA); Johannes Klein (Sammamish, WA); Jyotishman Nag (Chicago, IL); Sahitya Gollapudi (Newark, CA); Daniel M. Vogel (Seattle, WA)
Assignee: Oracle International Corporation
G06Q10/06315G06N5/02
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,099,948
App. No.
18/343,185
Granted
Sep 24, 2024
Kind
B2
Abstract

Techniques are disclosed for creating an attachment between two compute instances. An infrastructure and a generalized method is described for attaching two or more cloud resources (e.g., two compute instances) in spite of the compute resources being provisioned by two different services from different cloud tenancies. An automated process is described that is executed for wiring the compute instances. The automated process can be generally applied to attach any two compute instances providing two different services and provisioned from two different service tenancies.

Claims (69)

1. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, wherein executing the set of one or more processing steps includes:

storing, by the second control plane, information about the attachment, wherein the first control plane stores information about the attachment; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

2. The method of claim 1 , wherein the attachment request includes information identifying the first compute instance and the second compute instance.

3. The method of claim 1 , wherein the first control plane is a dominant control plane, the second control plane is a passive control plane, the first compute instance is a dominant compute instance, and the second compute instance is a passive compute instance.

4. The method of claim 1 , wherein executing the set of one or more processing steps includes:

receiving, by the second control plane, from the first control plane, a request to create the second compute instance within the customer tenancy; and

creating, by the second control plane, the second compute instance of the second service within the customer tenancy.

5. The method of claim 1 , wherein after executing the set of one or more processing steps and due to the attachment, the second control plane is restricted from performing at least one operation on the second compute instance.

6. The method of claim 1 , further comprising:

sending, by the second control plane, to the first control plane, an attachment response indicating that the attachment has been processed at the second control plane.

7. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, wherein the attachment request includes a token indicating that the first control plane can communicate with the second control plane on behalf of a customer, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, and wherein executing the set of one or more processing steps includes:

verifying authenticity of the token or permissions associated with the token; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

8. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, wherein executing the set of one or more processing steps includes:

modifying, by the second control plane, a set of allowed operations that can be performed on the second compute instance; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

9. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, wherein executing the set of one or more processing steps includes:

modifying, by the second control plane, ownership associated with the second compute instance; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

10. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, wherein executing the set of one or more processing steps includes:

configuring, by the second control plane, the second compute instance to show that the attachment exists; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

11. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, wherein executing the set of one or more processing steps includes:

configuring, by the second control plane, the second compute instance to enable communication between the first compute instance and the second compute instance; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane.

12. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy, wherein the first control plane creates the first compute instance of the first service within the customer tenancy after receiving a request for the attachment between the first compute instance of the first service and the second compute instance of the second service and before the first control plane sends the attachment request;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

13. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy, wherein the first service is an Enterprise Resource Planning (ERP) service, and the second service is a conversational Artificial Intelligence (AI) service:

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

14. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance;

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance; and

sending, by the second control plane, the first control plane, an attachment response indication that the attachment has been processed at the second control plane, wherein the attachment response includes an attachment identifier, a second compute instance identifier, and a location of the second compute instance.

15. A method, comprising:

receiving, by a second control plane for a second service, from a first control plane for a first service, an attachment request for an attachment between a first compute instance of the first service and a second compute instance of the second service, where the first compute instance is controlled by the first control plane, the second compute instance is controlled by the second control plane, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

before sending an attachment response, providing, by the second control plane, to the first control plane, an asynchronous request identifier to confirm that the attachment request was received and is being processed;

executing, by the second control plane, a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance;

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance; and

sending, by the second control plane, to the first control plane, the attachment response indicating that the attachment has been processed at the second control plane.

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

receiving an attachment request for an attachment between a first compute instance of a first service and a second compute instance of a second service, where the first compute instance is controlled by a first control plane, the second compute instance is controlled by a second control plane of the computer system, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance, wherein executing the set of one or more processing steps includes:

receiving, from the first control plane, a request to create the second compute instance within the customer tenancy; and

creating the second compute instance of the second service within the customer tenancy in response to the request; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance.

17. A computer system comprising:

a processor; and

a memory configured to store a plurality or instructions executable by the processor and upon execution by the processor to cause processing to be performed comprising:

receiving an attachment request for an attachment between a first compute instance of a first service and a second compute instance of a second service, where the first compute instance is controlled by a first control plane, the second compute instance is controlled by a second control plane of the computer system, the first compute instance is within a customer tenancy, the second compute instance is within the customer tenancy, and the first compute instance is isolated from the second compute instance within the customer tenancy;

executing a set of one or more processing steps to create the attachment between the first compute instance and the second compute instance; and

after executing the set of one or more processing steps and due to the attachment, giving control of the second compute instance to the first control plane, wherein communication becomes enabled between the first compute instance and the second compute instance, wherein after executing the set of one or more processing steps and due to the attachment, the second control plane is restricted from performing at least one operation on the second compute instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2023
From: BHUIYAN, A M HELALI MORTUZA; KLEIN, JOHANNES; NAG, JYOTISHMAN; GOLLAPUDI, SAHITYA; VOGEL, DANIEL M.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 064133/0576 →
Continuity (2)
Continuation 17459162 · Aug 27, 2021
Related Publication 20230351288A1 · Nov 2, 2023
Cited By (2)
US 12,381,879 US 12,725,102