Persisting state at scale across browser sessions

US9483549B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9483549-B2
Application numberUS-201414231891-A
CountryUS
Kind codeB2
Filing dateApr 1, 2014
Priority dateSep 30, 2013
Publication dateNov 1, 2016
Grant dateNov 1, 2016

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.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. The computer system in accordance with claim 1 , wherein at least one state that is to be persisted is based on a navigation that includes navigating both intrinsic interface elements and extrinsic interface elements. 3. The computer system in accordance with claim 1 , wherein at least one state that is to be persisted is based on a navigation that includes navigating extrinsic interface elements from a first application, and extrinsic interface elements from a second application. 4. The computer system in accordance with claim 1 , wherein in at least one state that is to be persisted is based on a navigation through multiple parent interface elements to arrive at the state to be persisted. 5. The computer system in accordance with claim 4 , wherein the hierarchical storage agent updates a state to be persisted based on an edit change in one or more parent interface elements. 6. The computer system in accordance with claim 5 , wherein one or more states to be persisted are based on a child interface element of a parent interface element, and wherein the child interface element is marked so as to cause the state for that child interface element to be saved in the remote data store based upon a certain change. 7. The computer system in accordance with claim 1 , wherein the architecture further comprises: a virtualization component that determines 1) when to remove state associated with a given parent interface element, and 2) when to retrieve state associated with the given parent interface element from the remote data store. 8. The computer system in accordance with claim 7 , wherein the determination of when to remove state occurs when it is less likely that the given parent interface element will appear on a display of the computing system based on user navigation behavior. 9. The computer system in accordance with claim 7 , wherein the determination of when to retrieve state occurs when it is more likely that the given parent interface element will appear on a display of the computing system based on user navigation behavior. 10. The computer system in accordance with claim 1 , wherein the editing component makes an edit to only a particular interface element being edited, and not other interface elements. 11. The computer system in accordance with claim 1 , wherein the editing component makes an edit to a particular interface element and then also makes corresponding edits to a set of one or more interface elements hierarchically related to the particular interface element. 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. 13. The computer-implemented method in accordance with claim 12 , wherein at least one state that is to be persisted is based on a navigation that includes navigating both intrinsic interface elements and extrinsic interface elements. 14. The computer-implemented method in accordance with claim 12

Assignees

Inventors

Classifications

  • Execution arrangements for user interfaces · CPC title

  • Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • G06F40/117Primary

    Tagging; Marking up (details of markup languages G06F40/143); Designating a block; Setting of attributes (style sheets, e.g. eXtensible Stylesheet Language Transformation [XSLT], G06F40/154) · CPC title

  • Natural language query formulation · CPC title

  • based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance · 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 US9483549B2 cover?
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 par…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/117. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 01 2016 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).