Patentable/Patents/US-9268755
US-9268755

Performing persistent undo and redo operation within computer software

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method and apparatus for managing persistent change operations on user data is disclosed. For each change, a record of the change is saved. An index tracks the current state of the user data. Changes can be undone or redone in a sequential manner if certain criteria are met. Variables pertaining to the changes are saved in a persistent storage, enabling an undo/redo history to be preserved if a program is exited and restarted.

Patent Claims
21 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of performing a persistent change operation to user data, comprising: establishing a current index value for user data; establishing a undo limit value; establishing a redo limit value; establishing an increment/decrement value; receiving a request to modify user data; saving a backup copy of the user data corresponding to the current index value; applying the request to modify user data to create a modified copy of the user data; saving the modified copy of the user data; incrementing the current index value by the increment/decrement value to create a new current index value; and saving a backup copy of the user data corresponding to the new current index value.

2

2. The method of claim 1 , further comprising: receiving an undo request; and, processing the undo request if: the current index value is unequal to the undo limit value; and a backup copy of the user data corresponding to a value of the current index value minus the increment/decrement value exists.

3

3. The method of claim 1 , further comprising: receiving an undo request; and, rejecting the undo request if the current index value is equal to the undo limit value.

4

4. The method of claim 1 , further comprising: receiving an undo request; and, rejecting the undo request if a backup copy of the user data corresponding to a value of the current index value minus the increment/decrement value does not exist.

5

5. The method of claim 1 , further comprising: receiving a redo request; and, processing the redo request if: the current index value is unequal to the redo limit value; and a backup copy of the user data corresponding to a value of the current index value plus the increment/decrement value exists.

6

6. The method of claim 1 , further comprising: receiving a redo request; and, rejecting the redo request if the current index value is equal to the redo limit value.

7

7. The method of claim 1 , further comprising: receiving a redo request; and, rejecting the redo request if a backup copy of the user data corresponding to a value of the current index value plus the increment/decrement value does not exist.

8

8. The method of claim 2 , further comprising rendering a preview of the undo request prior to processing the undo request.

9

9. The method of claim 5 , further comprising rendering a preview of the redo request prior to processing the redo request.

10

10. The method of claim 5 , further comprising: receiving a request to change the undo limit value and redo limit value; and updating the undo limit value and redo limit value based on the received request to change the undo limit value and redo limit value.

11

11. A system for performing persistent change operation to user data, comprising: a memory configured and disposed to store machine instructions; a processor configured and disposed to access the memory; a user interface device configured and disposed to receive user input; a display configured and disposed to render the user data; wherein the memory contains instructions, which when executed by the processor, perform steps of: establishing a current index value for user data; establishing a undo limit value; establishing a redo limit value; establishing an increment/decrement value; receiving a request to modify user data; saving a backup copy of the user data corresponding to the current index value; applying the request to modify user data to create a modified copy of the user data; saving the modified copy of the user data; incrementing the current index value by the increment/decrement value to create a new current index value; and saving a backup copy of the user data corresponding to the new current index value.

12

12. The system of claim 11 , wherein the memory further contains instructions, which when executed by the processor, perform the steps of: receiving an undo request; and, processing the undo request if: the current index value is unequal to the undo limit value; and a backup copy of the user data corresponding to a value of the current index value minus the increment/decrement value exists.

13

13. The system of claim 11 , wherein the memory further contains instructions, which when executed by the processor, perform the steps of: receiving an undo request; and, rejecting the undo request if the current index value is equal to the undo limit value.

14

14. The system of claim 11 , wherein the memory further contains instructions, which when executed by the processor, perform the steps of: receiving an undo request; and, rejecting the undo request if a backup copy of the user data corresponding to a value of the current index value minus the increment/decrement value does not exist.

15

15. The system of claim 11 , wherein the memory further contains instructions, which when executed by the processor, perform the steps of: receiving a redo request; and, processing the redo request if: the current index value is unequal to the redo limit value; and a backup copy of the user data corresponding to a value of the current index value plus the increment/decrement value exists.

16

16. The system of claim 11 , wherein the memory further contains instructions, which when executed by the processor, perform the steps of: receiving a redo request; and, rejecting the redo request if the current index value is equal to the redo limit value.

17

17. The system of claim 11 , wherein the memory further contains instructions, which when executed by the processor, perform the steps of: receiving a redo request; and, rejecting the redo request if a backup copy of the user data corresponding to a value of the current index value plus the increment/decrement value does not exist.

18

18. The system of claim 12 , wherein the memory further contains instructions, which when executed by the processor, perform the step of rendering a preview of the undo request prior to processing the undo request.

19

19. The system of claim 15 , wherein the memory further contains instructions, which when executed by the processor, perform the step of rendering a preview of the redo request prior to processing the redo request.

20

20. A computer program product embodied in a non-transitory computer readable medium for implementation of an apparatus for performing persistent change operations on user data, comprising instructions for: establishing a current index value for user data; establishing a undo limit value; establishing a redo limit value; establishing an increment/decrement value; receiving a request to modify user data; saving a backup copy of the user data corresponding to the current index value; applying the request to modify user data; saving the modified copy of the user data to create a modified copy of the user data; incrementing the current index value by the increment/decrement value to create a new current index value; and saving a backup copy of the user data corresponding to the new current index value.

21

21. The computer program product of claim 20 , further comprising instructions for rendering a preview of an undo request prior to processing the undo request.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

March 3, 2014

Publication Date

February 23, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Performing persistent undo and redo operation within computer software” (US-9268755). https://patentable.app/patents/US-9268755

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.