IP Library Patent Application 18376838
Patent Application
App. No. 18/376,838

SECURELY PERSISTING INFORMATION ACROSS SYSTEM REBOOTS

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 None
App. No.
18/376,838
Abstract

Securely persisting transient data between virtual machine restarts or VM migrations involves terminating, by a first virtual machine (VM) during a shutdown process for the first VM, execution of user-space processes on the first VM, writing, by a first agent executing on the first VM, protected data from transient memory of the first VM to a virtual disk accessible by the first VM and shutting down the first VM. The process also involves initiating a startup process of a second VM, the second VM mounting the virtual disk; and executing, at the second VM and prior to execution of user-space processes, a second agent, the second agent being configured to: read the protected data from the virtual disk into transient memory of the second VM; and delete the protected data from the virtual disk.

Claims (59)

1 . A computerized method of securely persisting transient data between virtual machine restarts, the method comprising:

terminating, by a first virtual machine (VM) during a shutdown process for the first VM, execution of user-space processes on the first VM;

writing, by a first agent executing on the first VM and after user-space processes are terminated on the first VM, protected data from transient memory of the first VM to a virtual disk accessible by the first VM;

shutting down the first VM;

initiating a startup process of a second VM, the second VM mounting the virtual disk; and

executing, at the second VM and prior to execution of user-space processes, a second agent, the second agent being configured to:

read the protected data from the virtual disk into transient memory of the second VM; and

delete the protected data from the virtual disk.

2 . The computerized method of claim 1 , wherein the first agent and the second agent implement malware services on the first VM and the second VM respectively, wherein the protected data includes configuration information associated with the malware services, wherein the second agent uses the configuration information to configure at least one aspect of the malware services.

3 . The computerized method of claim 1 , further comprising:

receiving, by the first agent, a storage request message from a user-space application executing on the first VM, the storage request message representing a request for the first agent to store the protected data, the storage request message including the protected data;

allocating a segment of the transient memory by the first agent on the first VM; and

storing the protected data in the segment of the transient memory.

4 . The computerized method of claim 3 , further comprising:

receiving, by the second VM, a recovery request message from the user-space application executing on the second VM, the recovery request message representing a request for the second agent to provide the protected data to the user-space application; and

transmitting the protected data from the second agent to the user-space application in response to the recovery request message.

5 . The computerized method of claim 1 , wherein the first VM is shut down on a first compute node, wherein the second VM is started on a second compute node different than the first compute node, wherein the shutdown process on the first VM and the startup process on the second VM are part of a virtual machine migration of a particular virtual machine between the first and second compute nodes.

6 . The computerized method of claim 1 , wherein the shutdown process on the first VM and the startup process on the second VM are part of a reboot process of a particular virtual machine on a single compute node.

7 . The computerized method of claim 1 , wherein the writing of the protected data on the first VM is performed after the user-space processes are terminated, wherein the reading of the protected data on the second VM is performed before the user-space processes are started.

8 . A computer system comprising at least one compute node, each compute node of the at least one compute node comprising:

a transient memory device providing transient memory for one or more virtual machines (VMs);

at least one processor; and

a non-transitory computer readable medium having stored thereon program code executable by the at least one processor, the program code causing the at least one processor to:

terminate, by a first virtual machine (VM) during a shutdown process for the first VM, execution of user-space processes on the first VM;

write, by a first agent executing on the first VM and after user-space processes are terminated on the first VM, protected data from transient memory of the first VM to a virtual disk accessible by the first VM;

shut down the first VM;

initiate a startup process of a second VM, the second VM having access to the virtual disk; and

execute, at the second VM and prior to execution of user-space processes, a second agent, the second agent being configured to:

read the protected data from the virtual disk into transient memory of the second VM; and

delete the protected data from the virtual disk.

9 . The computer system of claim 8 , wherein the first agent and the second agent implement malware services on the first VM and the second VM respectively, wherein the protected data includes configuration information associated with the malware services, wherein the second agent uses the configuration information to configure at least one aspect of the malware services.

10 . The computer system of claim 8 , the program code further causing the at least one processor to:

receive, by the first agent, a storage request message from a user-space application executing on the first VM, the storage request message representing a request for the first agent to store the protected data, the storage request message including the protected data;

allocate a block of the transient memory by the first agent on the first VM; and

store the protected data in the block of the transient memory.

11 . The computer system of claim 10 , the program code further causing the at least one processor to:

receive, by the second VM, a recovery request message from the user-space application executing on the second VM, the recovery request message representing a request for the second agent to provide the protected data to the user-space application; and

transmit the protected data from the second agent to the user-space application in response to the recovery request message.

12 . The computer system of claim 8 , wherein the first VM is shut down on a first compute node, wherein the second VM is started on a second compute node different than the first compute node, wherein the shutdown process on the first VM and the startup process on the second VM are part of a virtual machine migration of a particular virtual machine between the first and second compute nodes.

13 . The computer system of claim 8 , wherein the shutdown process on the first VM and the startup process on the second VM are part of a reboot process of a particular virtual machine on a single compute node.

14 . The computer system of claim 8 , wherein the writing of the protected data on the first VM is performed after the user-space processes are terminated, wherein the reading of the protected data on the second VM is performed before the user-space processes are started.

15 . A non-transitory computer storage medium having stored thereon program code executable by a processor, the program code embodying a program code method comprising:

terminating, by a first virtual machine (VM) during a shutdown process for the first VM, execution of user-space processes on the first VM;

writing, by a first agent executing on the first VM and after user-space processes are terminated on the first VM, protected data from transient memory of the first VM to a virtual disk accessible by the first VM;

shutting down the first VM;

initiating a startup process of a second VM, the second VM having access to the virtual disk; and

executing, at the second VM and prior to execution of user-space processes, a second agent, the second agent being configured to:

read the protected data from the virtual disk into transient memory of the second VM; and

delete the protected data from the virtual disk.

16 . The non-transitory computer storage medium of claim 15 , wherein the first agent and the second agent implement malware services on the first VM and the second VM respectively, wherein the protected data includes configuration information associated with the malware services, wherein the second agent uses the configuration information to configure at least one aspect of the malware services.

17 . The non-transitory computer storage medium of claim 15 , wherein the program code method further comprises:

receiving, by the first agent, a storage request message from a user-space application executing on the first VM, the storage request message representing a request for the first agent to store the protected data, the storage request message including the protected data;

allocating a block of the transient memory by the first agent on the first VM; and

storing the protected data in the block of the transient memory.

18 . The non-transitory computer storage medium of claim 17 , wherein the program code method further comprises:

receiving, by the second VM, a recovery request message from a user-space application executing on the second VM, the recovery request message representing a request for the second agent to provide the protected data to the user-space application; and

transmitting the protected data from the second agent to the user-space application in response to the recovery request message.

19 . The non-transitory computer storage medium of claim 15 , wherein the first VM is shut down on a first compute node, wherein the second VM is started on a second compute node different than the first compute node, wherein the shutdown process on the first VM and the startup process on the second VM are part of a virtual machine migration of a particular virtual machine between the first and second compute nodes.

20 . The non-transitory computer storage medium of claim 15 , wherein the writing of the protected data on the first VM is performed after the user-space processes are terminated, wherein the reading of the protected data on the second VM is performed before the user-space processes are started.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2023
From: PAREKH, MANISHA SAMEER GAMBHIR; CHAUDHARI, KEDAR BHALCHANDRA; PHADNAVISS, NIRANJAN; BARVE, MANDAR
To: VMWARE, INC.
Reel/Frame 065128/0603 →