IP Library Granted Patent US 11,875,187
Granted Patent B2
US 11,875,187 · App. 16/811,013 · Granted Jan 16, 2024

Secure runtime for virtual machines

Inventors: Abhay Mitra (Santa Clara, CA); Vijay Karthik (Santa Clara, CA); Vivek Sanjay Jain (Palo Alto, CA); Avishek Ganguli (San Mateo, CA); Arohi Kumar (Palo Alto, CA); Kushaagra Goyal (Mountain View, CA); Christopher Wong (Mountain View, CA)
Assignee: Rubrik, Inc.
G06F9/5027G06F9/45558G06F9/541G06F11/1469G06F16/245G06F2009/45595G06F2201/84G06F2209/5013
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,875,187
App. No.
16/811,013
Granted
Jan 16, 2024
Kind
B2
Abstract

A computer-implemented method at a data management system comprises: generating, with one or more processors, a containerized runtime in a memory in communication with the one or more processors; instantiating, with the one or more processors, an app in the runtime; receiving, with the one or more processors, a request from the app for data; retrieving, with the one or more processors, a copy of the requested data from a data source; and transmitting, with the one or more processors, the data to the containerized runtime for the app to operate on.

Claims (43)

1. A data management system, comprising:

a server; and

one or more processors in communication with the server, the one or more processors configured to perform operations including:

instantiating a virtual machine, wherein memory in communication with the one or more processors is allocated to the virtual machine;

generating, with the one or more processors, a sandboxed containerized runtime within the memory allocated to the virtual machine, the sandboxed containerized runtime associated with one or more application programming interfaces (APIs) for accessing a plurality of data sources;

instantiating, with the one or more processors, an application from a first runtime to the sandboxed containerized runtime, wherein the application comprises a first user interface in the first runtime;

generating a second user interface for the application in the sandboxed containerized runtime;

receiving, with the one or more processors and from the application, a request for data stored in a data source of the plurality of data sources;

retrieving, with the one or more processors and using an API of the one or more APIs, a copy of the requested data from the data source, the requested data comprising input and output from a second virtual machine;

transmitting, with the one or more processors and using the API, the copy of the requested data to the sandboxed containerized runtime for the application to operate on, wherein the second user interface for the application that is generated in the sandboxed containerized runtime displays indexed files associated with the requested data; and

disabling the second virtual machine based at least in part on analysis of the input.

2. The data management system of claim 1 , wherein the operations further include identifying the API of the one or more APIs to retrieve the data based on the data source.

3. The data management system of claim 1 , wherein the data is a snapshot of a second virtual machine.

4. The data management system of claim 1 , wherein the operations further comprise:

restoring a database to a target location, wherein the application performs queries on the restored database.

5. A computer-implemented method at a data management system, the method comprising:

instantiating a virtual machine, wherein memory is allocated to the virtual machine;

generating, with one or more processors, a sandboxed containerized runtime in the memory allocated to the virtual machine, the sandboxed containerized runtime associated with one or more application programming interfaces (APIs) for accessing a plurality of data sources;

instantiating, with the one or more processors, an application from a first runtime to the sandboxed containerized runtime, wherein the application comprises a first user interface in the first runtime;

generating a second user interface for the application in the sandboxed containerized runtime;

receiving, with the one or more processors and from the application, a request for data stored in a data source of the plurality of data sources;

retrieving, with the one or more processors and using an API of the one or more APIs, a copy of the requested data from the data source, the requested data comprising input and output from a second virtual machine;

transmitting, with the one or more processors and using the API, the copy of the requested data to the sandboxed containerized runtime for the application to operate on, wherein the second user interface for the application that is generated in the sandboxed containerized runtime displays indexed files associated with the requested data; and

disabling the second virtual machine based at least in part on analysis of the input.

6. The method of claim 5 , further comprising:

identifying the API of the one or more APIs to retrieve the data based on the data source.

7. The method of claim 5 , wherein the data is a snapshot of a second virtual machine.

8. The method of claim 5 , further comprising:

restoring a database to a target location, wherein the application performs queries on the restored database.

9. A non-transitory, machine-readable medium storing instructions which, when read by a data management system, cause the data management system to perform operations comprising, at least:

instantiating a virtual machine, wherein memory is allocated to the virtual machine;

generating, with one or more processors, a sandboxed containerized runtime in the memory allocated to the virtual machine, the sandboxed containerized runtime associated with one or more application programming interfaces (APIs) for accessing a plurality of data sources;

instantiating, with the one or more processors, an application from a first runtime to the sandboxed containerized runtime, wherein the application comprises a first user interface in the first runtime;

generating a second user interface for the application in the sandboxed containerized runtime;

receiving, with the one or more processors and from the application, a request for data stored in a data source of the plurality of data sources;

retrieving, with the one or more processors and using an API of the one or more APIs, a copy of the requested data from the data source, the requested data comprising input and output from a second virtual machine;

transmitting, with the one or more processors and using the API, the copy of the requested data to the sandboxed containerized runtime for the application to operate on, wherein the second user interface for the application that is generated in the sandboxed containerized runtime displays indexed files associated with the requested data; and

disabling the second virtual machine based at least in part on analysis of the input.

10. The medium of claim 9 , wherein the operations further comprise:

identifying the API of the one or more APIs to retrieve the data based on the data source.

11. The medium of claim 9 , wherein the data is a snapshot of a second virtual machine.

12. The medium of claim 9 , wherein the operations further comprise:

restoring a database to a target location, wherein the application performs queries on the restored database.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2020
From: MITRA, ABHAY; KARTHIK, VIJAY; JAIN, VIVEK SANJAY; GANGULI, AVISHEK; KUMAR, AROHI; GOYAL, KUSHAAGRA; WONG, CHRISTOPHER
To: RUBRIK, INC.
Reel/Frame 052222/0595 →
Continuity (1)
Related Publication 20210279108A1 · Sep 9, 2021