US 11,720,447 B2
Application high availability via application transparent battery-backed replication of persistent data
Pratap Subrahmanyam, Saratoga, CA (US); Rajesh Venkatasubramanian, San Jose, CA (US); Kiran Tati, Fremont, CA (US); Qasim Ali, Santa Clara, CA (US); Marcos Aguilera, Mountain View, CA (US); Irina Calciu, Palo Alto, CA (US); Venkata Subhash Reddy Peddamallu, Sunnyvale, CA (US); Xavier Deguillard, Mountain View, CA (US); and Yi Yao, Cupertino, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Jan. 7, 2021, as Appl. No. 17/144,082.
Application 17/144,082 is a continuation of application No. 15/881,379, filed on Jan. 26, 2018, granted, now 10,929,233.
Claims priority of provisional application 62/578,323, filed on Oct. 27, 2017.
Prior Publication US 2021/0133032 A1, May 6, 2021
Int. Cl. G06F 11/14 (2006.01); G06F 11/20 (2006.01); G06F 16/27 (2019.01); G06F 1/26 (2006.01)
CPC G06F 11/1438 (2013.01) [G06F 1/263 (2013.01); G06F 11/1464 (2013.01); G06F 11/1471 (2013.01); G06F 11/1484 (2013.01); G06F 11/2025 (2013.01); G06F 16/27 (2019.01); G06F 2201/805 (2013.01); G06F 2201/82 (2013.01); G06F 2201/84 (2013.01); G06F 2201/85 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a first computer system, a first portion of dirty memory pages created by an application previously running on a second computer system, wherein the dirty memory pages are maintained in a persistent memory of the second computer system and copied by the second computer system from the persistent memory to a storage system shared by the first computer system and the second computer system, and wherein the receiving comprises reading, by the first computer system, the first portion from the storage system in response to a determination that the application has failed on the second computer system;
upon reading the first portion from the storage system, storing, by the first computer system, the first portion in a persistent memory of the first computer system that is distinct from the persistent memory of the second computer system;
restarting, by the first computer system, the application on the first computer system; and
subsequently to the restarting:
reading, by the first computer system, one or more additional portions of the dirty memory pages from the storage system; and
storing, by the first computer system, the one or more additional portions in the persistent memory of the first computer system.