IP Library › Granted Patent US 11,782,748
Granted Patent B2
US 11,782,748 · App. 17/321,240 · Granted Oct 10, 2023

Cloud shell extension framework

Inventors: Christopher S. Kasso (Los Altos, CA); John Wells (Scotch Plains, NJ); Linda K. Schneider (San Jose, CA); Jacco Martijn Flenter (Gouda, NL)
Assignee: Oracle International Corporation
G06F9/45558H04L63/029H04L63/0281H04L67/10H04L67/141H04L67/60G06F2009/45595
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 11,782,748
App. No.
17/321,240
Granted
Oct 10, 2023
Kind
B2
Abstract

The present embodiments relate to a cloud shell extension framework. A cloud infrastructure (CI) service can invoke a cloud shell from a console to the CI. The service may request that context data to be added for use in a terminal session. The cloud shell extension can include a tool or script that can be used to obtain context data or sample code for preparing an environment specific to the service prior to the user interaction with the environment. The cloud shell extension can allow for a service to register an extension in the cloud shell framework, and their extension can be invoked when a client initiates the cloud shell with the service. The extension can allow for the invoked service to forward context data, such as environment variables, to be set in the terminal session for the client.

Claims (46)

1. A method performed by a cloud infrastructure node for implementing a cloud shell extension framework, the method comprising:

receiving, from a client device, a request to initiate a cloud shell, the request associated with a service;

responsive to receiving the request to initiate the cloud shell, identifying a cloud shell extension associated with the service;

creating a virtual machine instance for implementation of a terminal session, wherein web socket data is transmitted between the virtual machine instance and the client device during the terminal session;

executing the cloud shell extension associated with the service, wherein the cloud shell extension includes an initialization extension providing, to the virtual machine, one or more environment variables specific to the service

initiating the terminal session with the client device, wherein the terminal session is initiated using the one or more environment variables;

detecting a termination of the terminal session; and

executing a shutdown script to end the terminal session.

2. The method of claim 1 , wherein executing the cloud shell extension comprises:

providing, to the client device, the one or more environment variables specific to the service;

obtaining one or more selected environment variables of the one or more environment variables; and

terminating the execution of the cloud shell extension responsive to the initiation of the terminal session with the client device.

3. The method of claim 2 , further comprising:

downloading content from an external node according to a script corresponding with the cloud shell extension.

4. The method of claim 1 , wherein the execution of the cloud shell extension is terminated responsive to detecting the termination of the terminal session.

5. The method of claim 1 , wherein executing the cloud shell extension comprises:

executing a secure shell proxy to tunnel data from the client device to a specified virtual machine instance specific to the service.

6. The method of claim 1 , wherein identifying the cloud shell extension associated with the service comprises:

determining that execution of a first version of the cloud shell extension has failed;

responsive to determining that execution of the first version of the cloud shell extension has failed, identifying a second version of the cloud shell extension with an earlier version than the first version of the cloud shell extension; and

executing the second version of the cloud shell extension.

7. A cloud infrastructure node comprising:

a processor; and

a non-transitory computer-readable medium including instructions that, when executed by the processor, cause the processor to:

receive a request to initiate a cloud shell from a client device, the request associated with a service;

responsive to receiving the request to initiate the cloud shell, identify a cloud shell extension associated with the service;

create a virtual machine instance for implementation of a terminal session, wherein web socket data is transmitted between the virtual machine instance and the client device during the terminal session;

execute the cloud shell extension associated with the service, wherein the cloud shell extension includes an initialization extension providing, to the virtual machine, one or more environment variables specific to the service initiate the terminal session with the client device, wherein the terminal session is initiated using the one or more environment variables;

detect a termination of the terminal session; and

execute a shutdown script to end the terminal session.

8. The cloud infrastructure node of claim 7 , wherein executing the cloud shell extension comprises:

identifying one or more selected environment variables of the one or more environment variables for preparing an environment in the terminal session; or

downloading content from an external data source for preparing the environment in the terminal session.

9. The cloud infrastructure node of claim 7 , wherein the non-transitory computer-readable medium further includes instructions to cause the processor to:

terminate the execution of the cloud shell extension responsive to initiating the terminal session with the client device.

10. The cloud infrastructure node of claim 7 , wherein executing the cloud shell extension comprises:

providing, to the client device, a request to select from the one or more environment variables specific to the service; and

obtaining one or more selected environment variables from the client device.

11. The cloud infrastructure node of claim 7 , wherein executing the cloud shell extension comprises:

executing a secure shell proxy to tunnel data from the client device to a specified virtual machine instance corresponding to the service.

12. A non-transitory computer-readable medium storing computer-executable instructions that, when executed by a processor, configure the processor to perform operations comprising: receiving, from a client device, a request to initiate a cloud shell, the request associated with a service; responsive to receiving the request to initiate the cloud shell, identifying a cloud shell extension associated with the service; creating a virtual machine instance for implementation of a terminal session, wherein web socket data is transmitted between the virtual machine instance and the client device during the terminal session;

initiating the terminal session with the client device;

executing the cloud shell extension associated with the service, wherein the cloud shell extension includes an interactive extension running during the terminal session requesting one or more input parameters from the client device and receiving the one or more input parameters from the client device during the terminal session, the one or more input parameters being included in the context data; and initiating the terminal session with the client device, wherein the terminal session is initiated using the received context data; detecting a termination of the terminal session; and executing a shutdown script to end the terminal session.

13. The non-transitory computer-readable medium of claim 12 , wherein executing the cloud shell extension comprises: providing, to the client device, one or more environment variables specific to the service, the plurality of environment variables modifying aspects of an environment provided during the terminal session; obtaining one or more selected environment variables of the one more or environment variables from the client device; and terminating the execution of the cloud shell extension responsive to initiating the terminal session with the client device.

14. The non-transitory computer-readable medium of claim 12 , further comprising: downloading content from an external node according to a script corresponding with the cloud shell extension, wherein the downloaded content is included as part of the context data.

15. The non-transitory computer-readable medium of claim 12 , wherein identifying the cloud shell extension associated with the service comprises: determining that execution of a first version of the cloud shell extension has failed; responsive to determining that execution of the first version of the cloud shell extension has failed, identifying a second version of the cloud shell extension with an earlier version than the first version of the cloud shell extension; and executing the second version of the cloud shell extension.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2021
From: KASSO, CHRISTOPHER S.; WELLS, JOHN; SCHNEIDER, LINDA K.; FLENTER, JACCO MARTIJN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 056251/0783 →
Continuity (1)
Related Publication 20220365801A1 · Nov 17, 2022