Persisting state at scale across browser sessions
First Claim
1. A computer system comprising;
- a remote data store;
one or more processors;
one or more computer-readable storage media having thereon computer-executable instructions which, when executed by the one or more processors, cause the computing system to operate with an architecture that tracks a user'"'"'s navigation among various interface elements having a hierarchal relationship to one another, and saves one or more states representing the user'"'"'s navigation in order to permit the one or more states to be later restored; and
wherein the architecture comprises;
a user interface presentation component for presenting an interface having multiple interface elements comprised of both parent interface elements and child interface elements, with each parent interface element having a corresponding hierarchy of contained child interface elements;
a navigation component that detects navigation through the multiple interface elements of the interface;
an edit component that provides for editing of any of the multiple interface elements of the interface;
a hierarchical storage agent that;
(i) in response to notification of the navigation through the multiple interface elements detected by the navigation component, determines a state that is to be persisted for one or more navigations through the multiple interface elements, and wherein the determined state of the one or more navigations represents a corresponding part of the hierarchal relationship traversed during a given navigation; and
(ii) in response to notification from the edit component of changes to one or more interface elements, updates any state that is to be persisted for a given navigation in which an interface element was edited; and
an application program interface that receives each state that is to be persisted and communicates each received state to the remote data store, in order to enable any of the stored states to be recalled from the remote data store and then used in all of the following scenarios;
(i) an application restart scenario using an interface on a display which is the same as the display used when first navigating the multiple interface elements and determining the stored state;
(ii) a roaming scenario that permits a given user to recall at a second display device a state stored as a result of the given user'"'"'s navigation of the multiple interface elements at a different display device; and
(iii) a sharing scenario in which a given user'"'"'s navigation resulting in one or more stored states permits recall of the given user'"'"'s one or more stored states by a user other than the given user.
2 Assignments
0 Petitions
Accused Products
Abstract
The management of application state storage associated with a hierarchical application. The hierarchical application includes multiple parent user interface elements, each of at least some having child user interface elements arranged in a corresponding hierarchy. The user may navigate through the hierarchical application. For instance, by selecting a child user interface element of a first parent user interface element having a first hierarchy of child user interface elements, the user might navigate to (and potentially also create) a second parent user interface element having a second hierarchy of child user interface elements. A hierarchical storage agent manages the state of the hierarchical application. The hierarchical storage agent provides application state to a remote storage over an application program interface in a manner that preserves at least some of the hierarchy of one or more parent user interface elements of the hierarchical application.
-
Citations
23 Claims
-
1. A computer system comprising;
-
a remote data store; one or more processors; one or more computer-readable storage media having thereon computer-executable instructions which, when executed by the one or more processors, cause the computing system to operate with an architecture that tracks a user'"'"'s navigation among various interface elements having a hierarchal relationship to one another, and saves one or more states representing the user'"'"'s navigation in order to permit the one or more states to be later restored; and wherein the architecture comprises; a user interface presentation component for presenting an interface having multiple interface elements comprised of both parent interface elements and child interface elements, with each parent interface element having a corresponding hierarchy of contained child interface elements; a navigation component that detects navigation through the multiple interface elements of the interface; an edit component that provides for editing of any of the multiple interface elements of the interface; a hierarchical storage agent that; (i) in response to notification of the navigation through the multiple interface elements detected by the navigation component, determines a state that is to be persisted for one or more navigations through the multiple interface elements, and wherein the determined state of the one or more navigations represents a corresponding part of the hierarchal relationship traversed during a given navigation; and (ii) in response to notification from the edit component of changes to one or more interface elements, updates any state that is to be persisted for a given navigation in which an interface element was edited; and an application program interface that receives each state that is to be persisted and communicates each received state to the remote data store, in order to enable any of the stored states to be recalled from the remote data store and then used in all of the following scenarios; (i) an application restart scenario using an interface on a display which is the same as the display used when first navigating the multiple interface elements and determining the stored state; (ii) a roaming scenario that permits a given user to recall at a second display device a state stored as a result of the given user'"'"'s navigation of the multiple interface elements at a different display device; and (iii) a sharing scenario in which a given user'"'"'s navigation resulting in one or more stored states permits recall of the given user'"'"'s one or more stored states by a user other than the given user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for tracking a user'"'"'s navigation among various interface elements having a hierarchal relationship to one another, and saving one or more states representing the user'"'"'s navigation in order to permit the one or more states to be later restored, the computer-implemented method being performed by one or more processors executing computer executable instructions for the computer-implemented method, and the computer-implemented method comprising:
-
presenting at an interface multiple interface elements comprised of both parent interface elements and child interface elements, with each parent interface element having a corresponding hierarchy of contained child interface elements; tracking navigation through the multiple interface elements of the interface; editing any of the multiple interface elements of the interface; in response to the navigation tracked through the multiple interface elements, determining a state that is to be persisted for one or more navigations through the multiple interface elements, wherein the determined state of the one or more navigations represents a corresponding part of the hierarchal relationship traversed during a given navigation; in response to notification of edit changes to one or more interface elements, updating any state that is to be persisted for a given navigation in which an interface element was edited; and communicating each state that is to be persisted to a remote data store, in order to enable any of the stored states to be recalled from the remote data store and then used in all of the following scenarios; (i) an application restart scenario using an interface on a display which is the same as the display used when first navigating the multiple interface elements and determining the stored state; (ii) a roaming scenario that permits a given user to recall at a second display device a state stored as a result of the given user'"'"'s navigation of the multiple interface elements at a different display device; and (iii) a sharing scenario in which a given user'"'"'s navigation resulting in one or more stored states permits recall of the given user'"'"'s one or more stored states by a user other than the given user. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product comprising one or more computer storage media storing computer executable instructions which, when executed by one or more processors, cause the one or more processors to perform a computer-implemented method for tracking a user'"'"'s navigation among various interface elements having a hierarchal relationship to one another, and saving one or more states representing the user'"'"'s navigation in order to permit the one or more states to be later restored, and wherein the computer-implemented method comprises:
-
presenting at an interface multiple interface elements comprised of both parent interface elements and child interface elements, with each parent interface element having a corresponding hierarchy of contained child interface elements; tracking navigation through the multiple interface elements of the interface; editing any of the multiple interface elements of the interface; in response to the navigation tracked through the multiple interface elements, determining a state that is to be persisted for one or more navigations through the multiple interface elements, wherein the determined state of the one or more navigations represents a corresponding part of the hierarchal relationship traversed during a given navigation; in response to notification of edit changes to one or more interface elements, updating any state that is to be persisted for a given navigation in which an interface element was edited; and communicating each state that is to be persisted to a remote data store, in order to enable any of the stored states to be recalled from the remote data store and then used in all of the following scenarios; (i) an application restart scenario using an interface on a display which is the same as the display used when first navigating the multiple interface elements and determining the stored state; (ii) a roaming scenario that permits a given user to recall at a second display device a state stored as a result of the given user'"'"'s navigation of the multiple interface elements at a different display device; and (iii) a sharing scenario in which a given user'"'"'s navigation resulting in one or more stored states permits recall of the given user'"'"'s one or more stored states by a user other than the given user.
-
Specification