US 12,141,041 B2
Efficiency and reliability improvement in computing service
Chenggong Fan, Saratoga, CA (US); Yue Li, Fremont, CA (US); Yong Tian, Cupertino, CA (US); Jingchao Sun, San Jose, CA (US); Ashley Tung, Palo Alto, CA (US); and Haiyan Wang, Fremont, CA (US)
Assigned to MEMVERGE, INC., Milpitas, CA (US)
Filed by MemVerge, Inc., Milpitas, CA (US)
Filed on Oct. 3, 2022, as Appl. No. 17/937,760.
Claims priority of provisional application 63/252,360, filed on Oct. 5, 2021.
Prior Publication US 2023/0108757 A1, Apr. 6, 2023
Int. Cl. G06F 11/00 (2006.01); G06F 11/14 (2006.01); G06F 11/20 (2006.01)
CPC G06F 11/203 (2013.01) [G06F 11/1402 (2013.01); G06F 11/1407 (2013.01); G06F 11/1438 (2013.01); G06F 11/2025 (2013.01); G06F 2201/84 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method for saving a state of an application in a cloud environment, the method comprising:
repeatedly capturing, by a computer system associated with the cloud environment, a baseline snapshot of the state of the application running on a first computing instance,
wherein the first computing instance is a virtual machine or container and is one of a plurality of computing instances in a memory pool connected to the computer system, and
wherein the application is a third party application separate from the computer system;
repeatedly capturing, by the computer system, a delta snapshot of the state of the application running on the first computing instance, wherein each delta snapshot comprises data describing change in the state of the application since a most recent snapshot was captured; and
responsive to an indication that the first computing instance is to stop servicing the application:
capturing, by the computing system, a new delta snapshot; and
instructing, by the computer system, the first computing instance to stop running the application;
moving, by the computer system, data from the new delta snapshot, a most recent baseline snapshot, and delta snapshots based on the most recent baseline snapshot to a second computing instance; and
resuming execution of the application on the second computing instance based on the data.