Live rollback for a computing environment

US10379967B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10379967-B2
Application numberUS-201715583975-A
CountryUS
Kind codeB2
Filing dateMay 1, 2017
Priority dateDec 1, 2014
Publication dateAug 13, 2019
Grant dateAug 13, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A first computing device is provided for rolling back a computing environment. The computing device includes processors configured to acquire a stream containing entries including snapshot entries, memory entries, and input/output entries wherein each entry includes information and is associated with a timestamp. The processors are further configured to receive a snapshot entry associated with a first timestamp, revert to a memory state using information provided in at least one memory entry associated with a timestamp after the first timestamp, and re-execute a previously executed process, wherein the re-execution of the process is started using the first timestamp, information from the received snapshot entry, and information for input/output operations corresponding to the input/output entries associated with timestamps after the first timestamp.

First claim

Opening claim text (preview).

What is claimed is: 1. A device for creating a rollback stream, the device comprising: a memory wherein one or more streams are stored in the memory, the one or more streams comprising data to allow for execution of a running process by a computing environment; one or more processors configured to: monitor the computing device for an occurrence of an event comprising one of a timer expiration, a memory exception or an input/output operation; responsive to detecting the occurrence of the event: gather snapshot data and generate a timestamp based on the event; marking at least a portion of the memory as one of copy-on-write, read-only or write based on which event is detected; and responsive to the event, write the snapshot data associated with the event and the timestamp to the one or more streams. 2. The device of claim 1 , wherein the event is the timer expiration and wherein the snapshot data associated with the event comprises a state of at least one of the one or more processors. 3. The device of claim 2 , wherein the one or more processors are configured to mark all the memory as one of copy-on-write or read-only responsive to the timer expiration. 4. The device of claim 1 , wherein the event is the memory exception. 5. The device of claim 4 , wherein, responsive to the memory exception, the one or more processors are further configured to mark at least a portion of memory as read-only. 6. The device of claim 4 , wherein, responsive to the memory exception, the one or more processors being further configured to: mark at least the portion of memory as copy-on-write. 7. The device of claim 1 , wherein the event is the input/output operation and the one or more processors being further configure to mark at least the portion of memory as write and write the I/O operation data and previously generated timestamp to the one or more streams. 8. The device of claim 1 , wherein the timestamp is based on a processor register value. 9. The device of claim 1 , wherein the timestamp is based on a processor retired instruction counter. 10. A method for the creation of a rollback stream, the method being performed by a computing device, the method comprising: storing one or more streams in memory for a computing device, the one or more streams comprising data to allow for execution of a running process by a computing environment; monitoring the computing device for an occurrence of an event comprising one of a timer expiration, a memory exception or an input/output operation; responsive to detecting the occurrence of the event: gather snapshot data and generate a timestamp based on the event; marking at least a portion of the memory as one of copy-on-write, read-only or write based on which event is detected; and responsive to the event, write the snapshot data associated with the event and the timestamp to the one or more streams. 11. The method of claim 10 , wherein the event is the timer expiration and wherein the snapshot data associated with the event comprises a state of at least one of the one or more processors. 12. The method of claim 11 , wherein all the memory is marked as one of copy-on-write or read-only responsive to the timer expiration. 13. The method of claim 11 , wherein the timer expiration is the expiration of a plurality of timers operating at variable intervals. 14. The method of claim 10 , wherein the event is the memory exception. 15. The method of claim 14 , wherein responsive to the memory exception and marking at least a portion of memory as read-only. 16. The method of claim 14 , wherein responsive to the memory exception marking at least the portion of memory as copy-on-write. 17. The method of claim 10 , wherein the timestamp is based on a processor register value. 18. The method of claim 10 , wherein the timestamp is based on a processor retired instruction counter. 19. A non-transitory computer readable storage medium storing instructions that are executable by one or more processors of a computing device to cause the device to perform a method for the creation of a rollback stream, the method comprising: storing one or more streams in memory for a computing device, the one or more comprising data to allow for execution of a running process by a computing environment monitoring the computing device for an occurrence of an event comprising one of a timer expiration, a memory exception or an input/output operation; responsive to detecting the occurrence of the event: gather snapshot data and generate a timestamp based on the event; marking at least a portion of the memory as one of copy-on-write, read-only or write based on which event is detected; and responsive to the event, write the snapshot data associated with the event and the timestamp to the one or more streams. 20. The non-transitory computer readable storage medium of claim 19 , wherein the event is the timer expiration and wherein the snapshot data associated with the event comprises a state of at least one of the one or more processors. 21. The non-transitory computer readable storage medium of claim 20 , wherein the timer expiration is an expiration of one of a plurality of timers operating at variable intervals. 22. The non-transitory computer readable storage medium of claim 20 , wherein the expiration is an expiration of a plurality of timers operating at variable intervals. 23. The non-transitory computer readable storage medium of claim 19 , wherein the event is the memory exception. 24. The non-transitory computer readable storage medium of claim 23 , wherein responsive to the memory exception marking at least the portion of memory as read only. 25. The non-transitory computer readable storage medium of claim 23 , wherein responsive to the memory exception marking at least the portion of memory as copy-on-write. 26. The non-transitory computer readable storage medium of claim 19 , wherein the timestamp is based on a processor register value. 27. The non-transitory computer readable storage medium of claim 19 , wherein the timestamp is based on a processor retired instruction counter.

Assignees

Inventors

Classifications

  • Virtual · CPC title

  • Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data · CPC title

  • Backup restoration techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10379967B2 cover?
A first computing device is provided for rolling back a computing environment. The computing device includes processors configured to acquire a stream containing entries including snapshot entries, memory entries, and input/output entries wherein each entry includes information and is associated with a timestamp. The processors are further configured to receive a snapshot entry associated with …
Who is the assignee on this patent?
Citrix System Inc, Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1469. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 13 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).