User interface state saving and restoration

US9946601B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946601-B2
Application numberUS-201514718181-A
CountryUS
Kind codeB2
Filing dateMay 21, 2015
Priority dateMay 21, 2015
Publication dateApr 17, 2018
Grant dateApr 17, 2018

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.

Methods, systems, and computer program products are included to persist a state of an application to a memory and to restore the state of the application from the memory. The method includes leveraging two-way binding between a model and a view of the application in order to persist at least a portion of the model to the memory as a state. The persisting of the model to the memory may be performed automatically. This state may later be restored and applied to the model. Updates to the model based on the state restoration are propagated to the view, thereby restoring at least a portion of the view to its appearance at the time the model was persisted to the memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for user interface state saving and restoration, the method comprising: receiving a first data value from a user, the first data value corresponding to an element of a view; propagating the first data value to a property of a model; detecting a first event, the first event corresponding to the view; identifying one or more properties corresponding to the model, the one or more properties including the property; serializing the one or more properties to a memory as a stored model; associating the stored model with a state identifier, the associating including incrementing the state identifier; detecting a second event, wherein the second event is associated with a second state identifier the detecting of the second event further comprising: determining that the state identifier matches the second state identifier; and restoring the stored model; deserializing the stored model, the deserializing including applying one or more data values of the stored model to the one or more properties; and propagating a data value of the one or more data values to the element of the view, wherein the data value corresponds to the first data value. 2. The method of claim 1 , wherein the state identifier is stored in a database in the memory as a key, wherein the stored model is stored in the database, wherein the database associates the key with the stored model. 3. The method of claim 1 , the identifying of the one or more properties corresponding to the model further comprising at least one of the following: (i) comparing a current data value of each of the one or more properties with a previous data value of each of the one or more properties and (ii) listening for a data value change corresponding to at least one of the one or more properties. 4. The method of claim 1 , wherein the memory is a runtime memory. 5. The method of claim 1 , wherein the memory is a persistent memory. 6. The method of claim 1 , further comprising: binding the element to the property, wherein the binding is a two-way binding. 7. The method of claim 1 , wherein the first event corresponds to at least one of: (i) closing a window, (ii) sending the first data value to another machine, and (iii) receiving or modifying the first data value. 8. A non-transitory computer-readable medium, comprising computer-readable instructions for user interface state saving and restoring leveraging two-way data-binding, the computer-readable instructions executable by a processor to cause the processor to: propagate a user input from a first element of a view to a first property of a model; detect a first event; based on the first event, trigger a persist state operation, the persist state operation including: identifying one or more properties corresponding to an active model, the one or more properties including the first property; storing the one or more properties in a memory as a state, the storing including serializing the one or more properties; and associating the state with a state identifier, the associating including incrementing the state identifier; detect a second event, wherein the second event is associated with a second state identifier the detecting of the second event including: determining that the state identifier is a match with the second state identifier; and based on the determining of the match selecting the state; based on the second event, trigger a restore state operation, the restore state operation including: applying the state to the model, the applying including deserializing the state to obtain the one or more properties; and propagating the one or more properties to one or more elements of the view, the one or more elements including the first element. 9. The non-transitory computer-readable medium of 10 , wherein the memory includes a database, wherein the state identifier is stored in the database as a key, wherein the state is stored in the database as a value associated with the key. 10. The non-transitory computer-readable medium of claim 8 , the identifying of the one or more properties corresponding to the active model further comprising at least one of the following: (i) comparing a current data value of each of the one or more properties with a previous data value of each of the one or more properties and (ii) listening for a data value change corresponding to at least one of the one or more properties. 11. The non-transitory computer-readable medium of claim 8 , wherein the first event corresponds to a sending of a data value to another machine. 12. A system including a user interface, the system comprising: a processor and a memory; an application including a model, a view, and a two-way binding between the model and the view; the view to receive a user input; the model to store the user input as a first property; the application further including a state manager, the state manager executed by the processor to: retrieve one or more properties of the model, the one or more properties including the first property; serialize and store the one or more properties in the memory as a state; associate the state with a state identifier, the associating including incrementing the state identifier; and deserialize the one or more properties from the memory, the deserializing including: determining that the state identifier matches a second state identifier; restoring the model; and applying the one or more properties to the model. 13. The system of claim 12 , the applying further comprising: propagating the one or more properties to one or more elements of the view. 14. The system of claim 12 , wherein the memory includes a database, wherein the state identifier is stored in the database as a key, wherein the state is stored in the database, wherein the state is associated with the key. 15. The system of claim 12 , the retrieving of the one or more properties of the model further comprising: selecting the one or more properties based on at least one of: (i) comparing a current data value of each of the one or more properties with a previous data value of each of the one or more properties, and (ii) listening for a data value change corresponding to at least one of the one or more properties. 16. The system of claim 13 , wherein the two-way binding comprises (i) a mapping of the one or more elements of the view to the one or more properties of the model and (ii) a mapping of the one or more properties of the model to one or more elements of the view.

Assignees

Inventors

Classifications

  • Restarting or rejuvenating · CPC title

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

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title

  • Prevention of errors by analysis, debugging or testing of software · 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 US9946601B2 cover?
Methods, systems, and computer program products are included to persist a state of an application to a memory and to restore the state of the application from the memory. The method includes leveraging two-way binding between a model and a view of the application in order to persist at least a portion of the model to the memory as a state. The persisting of the model to the memory may be perfor…
Who is the assignee on this patent?
Red Hat Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1438. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).