IP Library › Granted Patent US 10,185,648
Granted Patent B2
US 10,185,648 · App. 15/163,343 · Granted Jan 22, 2019

Preservation of modifications after overlay removal from a container

Inventors: Martin Vecera (Brno, CZ); Jiri Pechanec (Mokra-Horakov, CZ)
Assignee: Red Hat, Inc.
G06F11/3668G06F17/3028G06F17/30088
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 10,185,648
App. No.
15/163,343
Granted
Jan 22, 2019
Kind
B2
Abstract

An example method of preserving a modification to an internal state of a computer system includes applying an overlay on a target container. The overlay includes a set of events corresponding to a first set of modifications to a computer system. The method also includes after applying the overlay, receiving a set of user requests corresponding to a second set of modifications to the computer system. The method further includes changing, based on the set of user requests, the third set of internal states of the computer system to the fourth set of internal states. The method also includes removing the overlay from the target container, while preserving the second set of modifications to the computer system.

Claims (44)

1. A method of preserving one or more modifications to an internal state of a computer system, comprising:

applying an overlay on a target container, the overlay including a set of events corresponding to a first set of modifications to a computer system, and the first set of modifications including changing a first set of internal states of the computer system to a second set of internal states;

after applying the overlay, receiving a set of user requests corresponding to a second set of modifications to the computer system, the second set of modifications including changing a third set of internal states of the computer system to a fourth set of internal states;

changing, based on the set of user requests, the third set of internal states of the computer system to the fourth set of internal states; and

removing the overlay from the target container, while preserving the fourth set of internal states of the computer system.

2. The method of claim 1 , further comprising:

receiving a user request to record one or more events corresponding to one or more modifications to one or more internal states of a second computer system; and

recording, based on the user request, one or more events based on one or more user interface interactions with the second computer system, the one or more recorded events being the set of events corresponding to the first set of modifications.

3. The method of claim 2 , further comprising:

generating the overlay based on the one or more recorded events.

4. The method of claim 3 , further comprising:

storing the overlay into a data repository.

5. The method of claim 3 , further comprising:

storing the overlay into a file, wherein applying the overlay includes reading the file and replaying the one or more recorded events included in the file on the target container.

6. The method of claim 5 , wherein replaying the one or more recorded events includes changing the first set of internal states of the computer system to the second set of internal states.

7. The method of claim 1 , further comprising:

downloading the overlay from a data repository.

8. The method of claim 1 , wherein removing the overlay includes rolling back the second set of internal states of the computer system.

9. The method of claim 1 , wherein the third set of internal states is changed to the fourth set of internal states while the overlay is installed on the target container.

10. The method of claim 1 , wherein the computer system includes a hard drive, the method further comprising:

creating a first snapshot of the hard drive before applying the overlay, the first snapshot including the first set of internal states of the computer system;

creating a second snapshot of the hard drive after applying the overlay, the second snapshot including the second set of internal states of the computer system;

creating a third snapshot of the hard drive after modifying the third set of internal states of the computer system to the fourth set of internal states; and

determining a difference between the first, second, and third snapshots, wherein removing the overlay includes preserving the fourth set of internal states included in the third snapshot and rolling back the modifications introduced in the second snapshot compared to the first snapshot.

11. The method of claim 1 , further comprising:

receiving a request to remove the overlay from the target container, wherein removing the overlay includes in response to the request to remove the overlay, removing the overlay from the target container.

12. A system for preserving one or more modifications to an internal state of a computer system, comprising:

a memory that stores a first set of internal states of a computer system;

an overlay module that applies an overlay on a target container, wherein the overlay includes a set of events corresponding to a first set of modifications to the computer system, and the first set of modifications includes changing a first set of internal states of the computer system to a second set of internal states;

a user interface that receives a set of user requests corresponding to a second set of modifications to the computer system after the overlay is applied to the target container, wherein the second set of modifications includes changing a third set of internal states of the computer system to a fourth set of internal states;

a modification module that changes, based on the set of user requests, the third set of internal states of the computer system to the fourth set of internal states; and

a preservation module that removes the overlay from the target container, while preserving the fourth set of internal states of the computer system.

13. The system of claim 12 , wherein the container is a docker container.

14. The system of claim 12 , wherein the overlay module stores the overlay into a data repository.

15. The system of claim 12 , wherein the third set of internal states is based on the second set of internal states.

16. The system of claim 12 , wherein the second set of internal states is the same as the third set of internal states.

17. The system of claim 12 , wherein the computer system includes a file system of the target container.

18. The system of claim 12 , wherein the first set of modifications includes one or more modifications to a file system of the target container.

19. The system of claim 18 , wherein the one or more modifications to the file system include creating a file in the file system, deleting a file from the file system, modifying a file in the file system, copying a file stored in the file system, and storing a file into the file system.

20. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:

applying an overlay on a target container, the overlay including a set of events corresponding to a first set of modifications to a computer system, and the first set of modifications including changing a first set of internal states of the computer system to a second set of internal states;

after applying the overlay, receiving a set of user requests corresponding to a second set of modifications to the computer system, the second set of modifications including changing a third set of internal states of the computer system to a fourth set of internal states;

changing, based on the set of user requests, the third set of internal states of the computer system to the fourth set of internal states; and

removing the overlay from the target container, while preserving the fourth set of internal states of the computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2016
From: VECERA, MARTIN; PECHANEC, JIRI
To: RED HAT, INC.
Reel/Frame 038717/0921 →
Continuity (1)
Related Publication 20170344462A1 · Nov 30, 2017