IP Library › Granted Patent US 11,327,673
Granted Patent B1
US 11,327,673 · App. 17/078,835 · Granted May 10, 2022

Techniques for persisting data across instances of a cloud shell

Inventors: Christopher S. Kasso (Los Altos, CA); Peter Grant Gavares (Austin, TX); Shih-Chang Chen (Mount Laurel, NJ); Devasena Kiruba Sagar (Burlington, NJ); Michael William Gilbode (Mount Laurel, NJ)
Assignee: Oracle International Corporation
G06F3/064G06F3/067G06F3/0619G06F3/0631G06F3/0644G06F11/1451G06F11/1464G06F11/1469
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,327,673
App. No.
17/078,835
Granted
May 10, 2022
Kind
B1
Abstract

Techniques for persisting user data across secure shell instances are provided. The techniques include a method wherein a computer system receives a request to reserve a block volume, the request being received from a session manager service. The method also includes reserving the block volume, identifying a data center identifier of the block volume, returning the data center identifier of the block volume to the session manager service, attaching the block volume to a volume management fleet machine, receiving an instruction from the session manager service to release the block volume, creating a backup of the block volume comprising the data stored in the block volume, and releasing the block volume.

Claims (82)

1. A method, comprising:

receiving, by a computer system, a request to reserve a block volume, the request being received from a session manager service;

reserving, by the computer system, the block volume;

identifying, by the computer system, a data center identifier of the block volume;

returning, by the computer system, the data center identifier of the block volume to the session manager service;

attaching, by the computer system, the block volume;

receiving, by the computer system, an instruction from the session manager service to release the block volume;

creating, by the computer system, a backup of the block volume comprising data stored in the block volume; and

releasing, by the computer system, the block volume.

2. The method of claim 1 , wherein the request comprises a user identifier, and wherein reserving the block volume comprises:

determining whether a registered block volume is allocated to a user corresponding to the user identifier; and

in accordance with a registered block volume being allocated to the user, reserving the registered block volume;

in accordance with a registered block volume not being allocated to a user corresponding to the user identifier, reserving an empty volume from a pool of empty volumes, the empty volume being preformatted to dock with a secure cloud shell.

3. The method of claim 1 , further comprising:

receiving a request to restore the block volume, the request received from the session manager service;

creating a restore volume using the backup of the block volume, the restore volume comprising the data stored in the block volume; and

returning a data center identifier of the restore volume to the session manager service.

4. The method of claim 3 , wherein the backup of the block volume further comprises an identifier of the backup, and wherein creating the restore volume comprises:

reserving an empty block volume from a pool of empty volumes, the empty block volume being preformatted to dock with a secure cloud shell;

retrieving the backup of the block volume using the identifier of the backup;

provisioning the empty block volume at least in part by loading the backup of the block volume onto the empty block volume; and

identifying the data center identifier of the empty block volume as the data center identifier of the restore volume.

5. The method of claim 1 , further comprising retaining the block volume during a retention period.

6. The method of claim 1 , wherein creating the backup of the block volume comprises creating a disk image of the block volume.

7. The method of claim 1 , wherein creating the backup of the block volume comprises:

converting data of the block volume to object data; and

storing the object data in an object storage system.

8. A computer system, comprising:

one or more processors;

a memory in communication with the one or more processors, the memory configured to store computer-executable instructions, wherein executing the computer-executable instructions causes the one or more processors to perform steps comprising:

receiving, by a computer system, a request to reserve a block volume, the request being received from a session manager service;

reserving, by the computer system, the block volume;

identifying, by the computer system, a data center identifier of the block volume;

returning, by the computer system, the data center identifier of the block volume to the session manager service;

attaching, by the computer system, the block volume;

receiving, by the computer system, an instruction from the session manager service to release the block volume;

creating, by the computer system, a backup of the block volume comprising data stored in the block volume; and

releasing, by the computer system, the block volume.

9. The computer system of claim 8 , wherein the request comprises a user identifier, and wherein reserving the block volume comprises:

determining whether a registered block volume is allocated to a user corresponding to the user identifier; and

in accordance with a registered block volume being allocated to the user, reserving the registered block volume;

in accordance with a registered block volume not being allocated to a user corresponding to the user identifier, reserving an empty volume from a pool of empty volumes, the empty volume being preformatted to dock with a secure cloud shell.

10. The computer system of claim 8 , wherein executing the computer-executable instructions further causes the one or more processors to perform steps comprising:

receiving a request to restore the block volume, the request received from the session manager service;

creating a restore volume using the backup of the block volume, the restore volume comprising the data stored in the block volume; and

returning a data center identifier of the restore volume to the session manager service.

11. The computer system of claim 10 , wherein the backup of the block volume further comprises an identifier of the backup, and wherein creating the restore volume comprises:

reserving an empty block volume from a pool of empty volumes, the empty block volume being preformatted to dock with a secure cloud shell;

retrieving the backup of the block volume using the identifier of the backup;

provisioning the empty block volume at least in part by loading the backup of the block volume onto the empty block volume; and

identifying the data center identifier of the empty block volume as the data center identifier of the restore volume.

12. The computer system of claim 8 , wherein executing the computer-executable instructions further causes the one or more processors to perform steps comprising retaining the block volume during a retention period.

13. The computer system of claim 8 , wherein creating the backup of the block volume comprises creating a disk image of the block volume.

14. The computer system of claim 8 , wherein creating the backup of the block volume comprises:

converting data of the block volume to object data; and

storing the object data in an object storage system.

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

receiving, by a computer system, a request to reserve a block volume, the request being received from a session manager service;

reserving, by the computer system, the block volume;

identifying, by the computer system, a data center identifier of the block volume;

returning, by the computer system, the data center identifier of the block volume to the session manager service;

attaching, by the computer system, the block volume;

receiving, by the computer system, an instruction from the session manager service to release the block volume;

creating, by the computer system, a backup of the block volume comprising data stored in the block volume; and

releasing, by the computer system, the block volume.

16. The computer-readable storage medium of claim 15 , wherein the request comprises a user identifier, and wherein reserving the block volume comprises:

determining whether a registered block volume is allocated to a user corresponding to the user identifier; and

in accordance with a registered block volume being allocated to the user, reserving the registered block volume;

in accordance with a registered block volume not being allocated to a user corresponding to the user identifier, reserving an empty volume from a pool of empty volumes, the empty volume being preformatted to dock with a secure cloud shell.

17. The computer-readable storage medium of claim 15 , wherein executing the computer-executable instructions further causes the one or more processors to perform steps comprising:

receiving a request to restore the block volume, the request received from the session manager service;

creating a restore volume using the backup of the block volume, the restore volume comprising the data stored in the block volume; and

returning a data center identifier of the restore volume to the session manager service.

18. The computer-readable storage medium of claim 17 , wherein the backup of the block volume further comprises an identifier of the backup, and wherein creating the restore volume comprises:

reserving an empty block volume from a pool of empty volumes, the empty block volume being preformatted to dock with a secure cloud shell;

retrieving the backup of the block volume using the identifier of the backup;

provisioning the empty block volume at least in part by loading the backup of the block volume onto the empty block volume; and

identifying the data center identifier of the empty block volume as the data center identifier of the restore volume.

19. The computer-readable storage medium of claim 15 , wherein executing the computer-executable instructions further causes the one or more processors to perform steps comprising retaining the block volume during a retention period.

20. The computer-readable storage medium of claim 15 , wherein creating the backup of the block volume comprises:

converting data of the block volume to object data; and

storing the object data in an object storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: KASSO, CHRISTOPHER S.; GAVARES, PETER GRANT; CHEN, SHIH-CHANG; SAGAR, DEVASENA KIRUBA; GILBODE, MICHAEL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 054153/0841 →
Cited By (1)
US 12,494,946