# US 2021/0279330 A1 · Secure runtime for virtual machines

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0279330 A1
- Document ID: US20210279330A1
- Status: Published application
- Kind: A1
- Application number: 16/811,109
- Filed: 2020-03-06
- Published: 2021-09-09
- Earliest claimed: 2020-03-06
- Assignees: Rubrik, Inc.
- Applicants: Rubrik, Inc.
- Inventors: Abhay Mitra; Vijay Karthik; Vivek Sanjay Jain; Avishek Ganguli; Arohi Kumar; Kushaagra Goyal; Christopher Wong
- Web page: https://patentgrep.com/patent/US20210279330A1

## CPC

- G06F 16/128: {Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16)}
- G06F 21/554: {involving event detection and direct action}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/54: Interprogram communication
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/566: {Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 8/38: for implementing user interfaces
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1461: {Backup scheduling policy}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F 2201/815: Virtual
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F 2221/2125: Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
- H04L 63/0272: {Virtual private networks}
- H04L 63/102: {Entity profiles}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A data management system, comprising:
a server configured to host a virtual machine;
one or more processors in communication with the server, the one or more processors configured to perform operations including:
generating, with the one or more processors, a secure 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;
determining, with the one or more processors, a data source having the requested data;
identifying, with the one or more processors, an API to access the data source; and
providing, with the one or more processors, read-only access to the app to the data source via the API for the app to operate on.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise enabling, with the one or more processors, network access to the app.

### Claim 3

The system of claim I, wherein the data source is a snapshot of the virtual machine.

### Claim 4 (depends on 1)

The system of claim 1, wherein the operations further include restoring a database to a target location and the app performs queries on the restored database.

### Claim 5 (depends on 1)

The system of claim 1, wherein the data includes input and output from the virtual machine and the operations further include disabling the virtual machine upon detection of malware.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations further comprise instantiating a second virtual machine and wherein the containerized runtime is within a section of the memory allocated to the second virtual machine.

### Claim 7 (depends on 1)

The system of claim 1, wherein the app includes a user interface and the operations further comprise generating a user interface to display indexed files.

### Claim 8

A computer-implemented method at a data management system, the method comprising:
generating, with one or more processors, a secure 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;
determining, with the one or more processors, a data source having the requested data;
identifying, with the one or more processors, an API to access the data source; and
providing, with the one or more processors, read-only access to the app to the data source via the API for the app to operate on.

### Claim 9 (depends on 8)

The method of claim 8, further comprising enabling, with the one or more processors, network access to the app.

### Claim 10 (depends on 8)

The method of claim 8, wherein the data source is a snapshot of the virtual machine.

### Claim 11 (depends on 8)

The method of claim 8, further comprising restoring a database to a target location and the app performs queries on the restored database.

### Claim 12 (depends on 8)

The method of claim 8, wherein the data includes input and output from the virtual machine and the operations further include disabling the virtual machine upon detection of malware.

### Claim 13 (depends on 8)

The method of claim 8, further comprising instantiating a second virtual machine and wherein the containerized runtime is within a section of the memory allocated to the second virtual machine.

### Claim 14 (depends on 8)

The method of claim 8, wherein the app includes a user interface and the method further comprising generating a user interface to display indexed files.

### Claim 15

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:
generating, with one or more processors, a secure 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;
determining, with the one or more processors, a data source having the requested data;
identifying, with the one or more processors, an API to access the data source; and
providing, with the one or more processors, read-only access to the app to the data source via the API for the app to operate on.

### Claim 16 (depends on 15)

The medium of claim 15, wherein the operations further comprise enabling, with the one or more processors, network access to the app.

### Claim 17 (depends on 15)

The medium of claim 15, wherein the data source is a snapshot of the virtual machine.

### Claim 18 (depends on 15)

The medium of claim 15, wherein the operations further include restoring a database to a target location and the app performs queries on the restored database.

### Claim 19 (depends on 15)

The medium of claim 15, wherein the data includes input and output from the virtual machine and the operations further include disabling the virtual machine upon detection of malware.

### Claim 20 (depends on 15)

The medium of claim 15, wherein the operations further comprise instantiating a second virtual machine and wherein the containerized runtime within a section of the memory allocated to the second virtual machine.

### Claim 21 (depends on 15)

The medium of claim 15, wherein the app includes a user interface and the operations further comprise generating a user interface to display indexed files.
