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.
Legal claims defining the scope of protection, as filed with the USPTO.
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. 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. 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. 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. 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. 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. 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. The method of claim 2 , further comprising rendering a preview of the undo request prior to processing the undo request.
9. The method of claim 5 , further comprising rendering a preview of the redo request prior to processing the redo request.
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. The computer program product of claim 20 , further comprising instructions for rendering a preview of an undo request prior to processing the undo request.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 3, 2014
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.