IP Library › Granted Patent US 12,386,711
Granted Patent B2
US 12,386,711 · App. 18/410,128 · Granted Aug 12, 2025

Preserving changes when reverting back to a snapshot

Inventors: Benjamin Graham Thompson (Eastleigh, GB); Mark James Lawrence (Eastleigh, GB); Erhan Mengusoglu (Southampton, GB); Stephen James Haskey (Chandlers Ford, GB)
Assignee: International Business Machines Corporation
G06F11/1469G06F2201/815
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 12,386,711
App. No.
18/410,128
Granted
Aug 12, 2025
Kind
B2
Abstract

Disclosed is a method, system, and computer program product for preserving actions taken after a snapshot. One embodiment of the method may comprise capturing a snapshot of a virtualized container environment (VCE), the VCE comprising one or more applications-of-interest. The method may further comprise intercepting an event-of-interest directed to an application-of-interest within the VCE. The method may further comprise automatically storing the intercepted event in an action database. The method may further comprise, in response to a user instruction to revert the VCE to a prior snapshot, generating an automated script from the intercepted events, wherein the automated script comprises actions that occurred in the VCE after capture of the selected snapshot; and executing the automated script.

Claims (58)

1. A method for preserving actions taken after a snapshot, comprising:

capturing a snapshot of a virtualized container environment (VCE), the VCE comprising a plurality of applications;

receiving a selection of one or more applications-of-interest from the plurality of applications from a user;

intercepting an event-of-interest directed to an application-of-interest within the VCE, wherein the intercepting occurs in response to the application-of-interest being in the selection of one or more applications-of-interest;

automatically storing the intercepted event-of-interest in an action database; and

in response to a user instruction to revert the VCE to a prior snapshot:

presenting intercepted events-of-interest that were stored to the user via a user interface, wherein one or more of the intercepted events-of-interest is a higher risk event that comprises changes by other applications to a file used by the applications-of-interest in the selection of one or more of the applications-of-interest;

receiving, via the user interface, a sub-selection of the intercepted events-of-interest that were stored to be replayed;

receiving, via the user interface, one or more modifications to the sub-selection of the intercepted events-of-interest that were stored;

modifying the sub-selection of intercepted events-of-interest that were stored based on the received one or more modifications, wherein the modifications comprise changes to one or more variables associated with at least one of the sub-selection of intercepted events-of-interest that were stored;

generating an automated script from the modified sub-selection of intercepted events-of-interest, wherein:

the automated script comprises a modified sub-selection of the sub-selection of intercepted events-of-interest that occurred in the VCE after capture of the selected snapshot; and

executing the automated script that replays events-of-interest in a same chronological order as the sub-selection of intercepted events-of-interest occurred in the VCE.

2. The method of claim 1 , further comprising receiving a user selection of a set of events-of-interest in the VCE that are directed to the one or more applications-of-interest, wherein the intercepting is further in response to the event-of-interest being in the user selection of the set of events-of-interest.

3. The method of claim 2 , wherein the set of events-of-interest further includes events taken by other applications that affect the applications-of-interest.

4. The method of claim 3 , wherein the events taken by other applications comprise events related to modifying a file used by one or more of the applications-of-interest.

5. The method of claim 1 , wherein the event-of-interest comprises results of a user interacting with one or more applications in the VCE.

6. The method of claim 1 , wherein the event-of-interest comprises a change in an operating system (OS) configuration.

7. The method of claim 1 , wherein intercepting the event-of-interest comprises defining one or more process handles and events associated with the application-of-interest.

8. The method of claim 1 , wherein intercepting the event-of-interest comprises monitoring instructions entering virtualized hardware drivers.

9. The method of claim 1 , further comprising detecting the event-of-interest by a trained neural network.

10. The method of claim 9 , further comprising:

receiving training data, wherein the training data comprises labeled event data for a plurality of VCEs, wherein at least some of the VCE in the labeled event data have previously crashed; and

training the neural network to automatically identify patterns of event timelines that are indicative of a future crash event, wherein the training comprises:

presenting the labeled event data to the neural network;

calculating, by the neural network, a probability score representing a chance that the VCE with crash in response to the event-of-interest; and

comparing the calculated probability score to the labeled data.

11. The method of claim 1 , further comprising highlighting one or more of the intercepted events-of-interest that were stored in a user interface as higher risk.

12. The method of claim 1 , further comprising intercepting an event-of-interest directed to a file-of-interest within the VCE.

13. A system for preserving actions taken after a snapshot, the system comprising:

one or more processors; and

a memory communicatively coupled to the one or more processors;

wherein the memory comprises instructions which, when executed by the one or more processors, cause the one or more processors to perform a method comprising:

capturing a snapshot of a virtualized container environment (VCE), the VCE comprising a plurality of applications;

receiving a selection of one or more applications-of-interest from the plurality of applications from a user;

intercepting an event-of-interest directed to an application-of-interest within the VCE, wherein the intercepting occurs in response to the application-of-interest being in the selection of one or more applications-of-interest;

automatically storing the intercepted event-of-interest in an action database; and

in response to a user instruction to revert the VCE to a prior snapshot:

presenting intercepted events-of-interest that were stored to the user via a user interface, wherein one or more of the intercepted events-of-interest is a higher risk event that comprises changes by other applications to a file used by the applications-of-interest in the selection of one or more of the applications-of-interest;

receiving, via the user interface, a sub-selection of the intercepted events-of-interest that were stored to be replayed;

receiving, via the user interface, one or more modifications to the sub-selection of the intercepted events-of-interest that were stored;

modifying the sub-selection of intercepted events-of-interest that were stored based on the received one or more modifications, wherein the modifications comprise changes to one or more variables associated with at least one of the sub-selection of intercepted events-of-interest that were stored;

generating an automated script from the modified sub-selection of intercepted events-of-interest, wherein:

the automated script comprises a modified sub-selection of the sub-selection of intercepted events-of-interest that occurred in the VCE after capture of the selected snapshot; and

executing the automated script that replays events-of-interest in a same chronological order as the sub-selection of intercepted events-of-interest occurred in the VCE.

14. A computer program product for preserving actions taken after a snapshot, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to perform a method comprising:

capturing a snapshot of a virtualized container environment (VCE), the VCE comprising a plurality of applications;

receiving a selection of one or more applications-of-interest from the plurality of applications from a user;

intercepting an event-of-interest directed to an application-of-interest within the VCE, wherein the intercepting occurs in response to the application-of-interest being in the selection of one or more applications-of-interest;

automatically storing the intercepted event-of-interest in an action database; and

in response to a user instruction to revert the VCE to a prior snapshot:

presenting intercepted events-of-interest that were stored to the user via a user interface, wherein one or more of the intercepted events-of-interest is a higher risk event that comprises changes by other applications to a file used by the applications-of-interest in the selection of one or more of the applications-of-interest;

receiving, via the user interface, a sub-selection of the intercepted events-of-interest that were stored to be replayed;

receiving, via the user interface, one or more modifications to the sub-selection of the intercepted events-of-interest that were stored;

modifying the sub-selection of intercepted events-of-interest that were stored based on the received one or more modifications, wherein the modifications comprise changes to one or more variables associated with at least one of the sub-selection of intercepted events-of-interest that were stored;

generating an automated script from the modified sub-selection of intercepted events-of-interest, wherein:

the automated script comprises a modified sub-selection of actions the sub-selection of intercepted events-of-interest that occurred in the VCE after capture of the selected snapshot; and

executing the automated script that replays events-of-interest in a same chronological order as the sub-selection of intercepted events-of-interest occurred in the VCE.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2024
From: THOMPSON, BENJAMIN GRAHAM; LAWRENCE, MARK JAMES; MENGUSOGLU, ERHAN; HASKEY, STEPHEN JAMES
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066098/0500 →
Continuity (1)
Related Publication 20250231841A1 · Jul 17, 2025
References Cited (67)
US 7472420B1 · Pavlyushchik · 2008 [cited by examiner]
US 8301686B1 · Appajodu · 2012 [cited by examiner]
US 8321377B2 · Michael · 2012 [cited by examiner]
US 8448165B1 · Conover · 2013 [cited by examiner]
US 8458688B2 · Ashok · 2013 [cited by applicant]
US 8955108B2 · Neystadt · 2015 [cited by examiner]
US 9003131B1 · Lunev · 2015 [cited by examiner]
US 9264923B1 · Sevindik · 2016 [cited by examiner]
US 9286182B2 · Fries · 2016 [cited by applicant]
US 9524389B1 · Roth · 2016 [cited by examiner]
US 9558085B2 · Lakshman · 2017 [cited by examiner]
US 9588793B2 · Warszawski · 2017 [cited by examiner]
US 9778990B2 · Forgette · 2017 [cited by examiner]
US 9817685B2 · Arcese · 2017 [cited by examiner]
US 9823940B2 · Arcese · 2017 [cited by examiner]
US 10114564B2 · Jain · 2018 [cited by examiner]
US 10379967B2 · Wade · 2019 [cited by applicant]
US 10394560B2 · Malyugin · 2019 [cited by applicant]
US 10474542B2 · Mitkar · 2019 [cited by examiner]
US 10481984B1 · Semyonov · 2019 [cited by examiner]
US 10552610B1 · Vashisht · 2020 [cited by applicant]
US 11159550B1 · Wawda · 2021 [cited by examiner]
US 11500661B2 · Ajila · 2022 [cited by examiner]
US 11526410B2 · Mitkar · 2022 [cited by applicant]
US 11663092B2 · Meadowcroft · 2023 [cited by applicant]
US 20040199828A1 · Cabezas · 2004 [cited by examiner]
US 20080077988A1 · Small · 2008 [cited by examiner]
US 20080133208A1 · Stringham · 2008 [cited by examiner]
US 20090288167A1 · Freericks · 2009 [cited by examiner]
US 20100088699A1 · Sasaki · 2010 [cited by examiner]
US 20100107158A1 · Chen · 2010 [cited by applicant]
US 20100180092A1 · Rajaa · 2010 [cited by examiner]
US 20120011397A1 · Murakami · 2012 [cited by examiner]
US 20120151202A1 · Clerc · 2012 [cited by examiner]
US 20120203895A1 · Jaudon · 2012 [cited by examiner]
US 20120311106A1 · Morgan · 2012 [cited by examiner]
US 20130247045A1 · Fitzgerald · 2013 [cited by examiner]
US 20140115285A1 · Arcese · 2014 [cited by examiner]
US 20140195753A1 · Khatri · 2014 [cited by examiner]
US 20140258238A1 · Jin · 2014 [cited by examiner]
US 20140331277A1 · Frascadore · 2014 [cited by examiner]
US 20150067143A1 · Babakhan · 2015 [cited by examiner]
US 20150286539A1 · Gupta · 2015 [cited by examiner]
US 20160019081A1 · Chandrasekaran · 2016 [cited by examiner]
US 20160063014A1 · Chelur · 2016 [cited by applicant]
US 20160241573A1 · Mixer · 2016 [cited by examiner]
US 20160292061A1 · Marron · 2016 [cited by examiner]
US 20170090688A1 · Anderson · 2017 [cited by examiner]
US 20170147819A1 · Vasilenko · 2017 [cited by examiner]
US 20180039548A1 · Bryant · 2018 [cited by applicant]
US 20180095610A1 · Wieder · 2018 [cited by examiner]
US 20180276085A1 · Mitkar · 2018 [cited by examiner]
US 20210208923A1 · Hu · 2021 [cited by examiner]
US 20220029902A1 · Shemer · 2022 [cited by examiner]
US 20220122087A1 · Gosset · 2022 [cited by examiner]
CA 2347647A1 · 2002 [cited by applicant]
CN 111913779A · 2020 [cited by applicant]
King et al., “Debugging Operating Systems with Time-traveling Virtual Machines”, 2005 USENIX Annual Technical Conference (Year: 2005). [cited by examiner]
Grizzard et al., “Analysis of Virtual Machine Record and Replay for Trustworthy Computing”, Johns Hopkins APL Technical Digest (Year: 2013). [cited by examiner]
IBM, List of IBM Patents or Patent Applications Treated as Related, Appendix P, filed herewith, 2 pages. [cited by applicant]
Lawrence et al., “Automatic Snapshot Creation in Virtualized Computing”, U.S. Appl. No. 18/410,101, filed Jan. 11, 2024, 51 pages. [cited by applicant]
Anonymous, “Automatically create snapshot before launching VirtualBox VM?”, Super User, 2 pages, downloaded from the Internet on Oct. 24, 2023, <https://superuser.com/questions/297808/automatically-create-snapshot-befor… [cited by applicant]
Anonymous, “How to automate vm snapshot creation using csv and schedule automatic deletion of the snapshot using VRO 8”, VMware Code, downloaded from the Internet on Sep. 6, 2023, 5 pages, <https://vmwarecode.com/2021/0… [cited by applicant]
Anonymous, “SnapShot Master—Manage and automate VMWare or Hyper-V Snapshots”, Smikar Software, downloaded from the Internet on Sep. 6, 2023, 7 pages, <https://www.smikar.com/snapshot-master/>. [cited by applicant]
Anonymous, “Using VMware Fusion”, VMWare Inc., Copyright 2022, 213 pages, <https://docs.vmware.com/en/VMware-Fusion/13/com.vmware.fusion.using.doc/GUID-15205867-66D9-42A6-9ACE-8E0B6ACC02D9.html>. [cited by applicant]
Anonymous, “Virtual machine snapshots in Intelligent Infrastructure (II)”, downloaded from the Internet on Oct. 24, 2023, 3 pages, <https://kb.iu.edu/d/bhno>. [cited by applicant]
Anonymous, “What are virtual machines (VMs)?”, IBM, downloaded from the Internet on Nov. 13, 2023, 18 pages. [cited by applicant]