IP Library › Granted Patent US 9,344,497
Granted Patent B2
US 9,344,497 · App. 12/240,898 · Granted May 17, 2016

State management of applications and data

Inventors: Daniel Arthursson (Linkoeping, SE); Marcus Bristav (Linkoeping, SE)
Assignee: Xcerion Aktiebolag
H04L67/1095G06F9/455G06F9/45504G06F9/542H04L67/02G06F9/45529H04L67/28H04L67/2842
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,344,497
App. No.
12/240,898
Granted
May 17, 2016
Kind
B2
Abstract

Generally described, the present invention is directed to a network operating system that provides more effective ways of leveraging the connectivity of computer networks. In one embodiment, an XML virtual machine is implemented that accepts high-level application code written in an XML programming language as input. Functionality is provided to interpret or translate the application code written in an XML programming language into code that is suitable for execution across computer platforms. Moreover, the XML virtual machine supports the Model View Controller (MVC) design paradigm that facilitates true data abstraction from applications to a common data model. Multi-instance applications, with each instance potentially supporting multiple views, may be created and executed.

Claims (40)

1. A nontransitory computer-readable medium having computer-executable modules that provide a standard way of representing a state of a user interface component, comprising:

a data model for storing structured data;

at least one user interface component configured to:

cause one or more data items from the data model to be displayed on a visual rendering of the user interface component;

allow the one or more data items to be selected; and

generate a variable that represents a selection state of the user interface component; and

a state manager configured to cause the selection state of the user interface component as represented in the variable to be propagated to the data model.

2. The computer-readable medium as recited in claim 1 , wherein an application defines a binding between the user interface component and an XML document in the data model, wherein the one or more data items displayed on the user interface component are identified by the application in an XPath expression.

3. The computer-readable medium as recited in claim 1 , wherein storing structured data in the data model includes providing a rule handler, the rules of multiple runtime objects bound to the same document.

4. The computer-readable medium as recited in claim 1 , wherein the variable generated by the user interface component has at least three dimensions including a first dimension referencing the document in the data model that stores the one or more data items, a second dimension that limits a selection to an ancestor node in the document, and a third dimension identifying one or more descendent nodes from the ancestor node that stores the selected one or more data items.

5. The computer-readable medium as recited in claim 1 , wherein the variable generated by the user interface component is an XBind having a URL as the first dimension, a base path expression in the second dimension, and a plurality of base path expressions in the third dimension.

6. The computer-readable medium as recited in claim 1 , wherein the state manager is further configured to facilitate synchronization of an application's state across multiple client computing devices, comprising:

for each user interface component associated with an executing application:

propagating the selection state of the user interface component as represented in a common variable format to the data model; and

communicating the selection state of the user interface component, serialized in XML, over a communication channel that abstracts communications with a network service.

7. The computer-readable medium as recited in claim 1 , wherein the state manager is further configured to facilitate restoration of an application's state between sessions, comprising:

for each user interface component associated with an executing application, propagating the state of the user interface component to a state document in the data model;

in a first session, saving the state document to a network file system; and

in a second session, retrieving the state document from the network file system and causing each user interface component associated with the application to restore their selection state.

8. The computer-readable medium as recited in claim 1 , wherein the user interface component is an atomic component that is not associated with a defined data binding, and wherein to generate a variable that represents the selection state of the user interface component, includes:

accessing text input into the user interface component from a runtime object;

causing the text to be inserted into a state document in the data model; and

creating an XBind that points to a location in the state document where the text is stored.

9. The computer-readable medium as recited in claim 1 , wherein the one or more data items from the data model displayed on a visual rendering of the user interface component describes a folder tree of a network file system.

10. A system configured to restore a state of an application from a previous network session, comprising:

a server side data center for storing user data including data describing the state of an application;

at least one client computing device comprising:

a processor;

a memory having computer-executable modules for saving and restoring the state of an application, including:

a data update bus configured to set one or more data items from a data model for display by user interface components associated with the application, wherein the one or more data items displayed by the user interface components may be selected by a user;

a state manager configured to propagate a state of each user interface component associated with the application to a state document and cause the state document to be saved at the server side data center in a first network session;

wherein, in a second network session, the computing device is further configured to:

cause the one or more data items from the data model to be bound and displayed by each of the user interface components; and

obtain the state document from the server side data center and restore the state of the user interface components that existed in the first network session.

11. The system as recited in claim 10 , wherein a selection state of each user interface component associated with the application is described in a common variable format.

12. The system as recited in claim 10 , wherein to restore the state of the user interface components includes causing a user interface component to be rendered at the coordinate positions on a screen display that were occupied during the first network session.

13. The system as recited in claim 10 , wherein to cause the state document to be obtained from the server side data center includes using a communication channel that abstracts communication with a particular network service to load the state document in a client-side cache.

14. The system as recited in claim 10 , wherein to propagate a state of each user interface component associated with the application to a state document, includes:

determining whether a user interface component is associated with a data binding; and

if the user interface component is an atomic component and not associated with a data binding, accessing data input into the user interface component from a runtime object and propagating the data input into the user interface component to the state document.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded Mar 18, 2009
From: ARTHURSSON, DANIEL; BRISTAV, MARCUS
To: XCERION AKTIEBOLAG
Reel/Frame 022413/0554 →
Continuity (22)
Provisional Application 60976216 · Sep 28, 2007
Provisional Application 60976222 · Sep 28, 2007
Provisional Application 60976246 · Sep 28, 2007
Provisional Application 60976249 · Sep 28, 2007
Provisional Application 60976252 · Sep 28, 2007
Provisional Application 60976258 · Sep 28, 2007
Provisional Application 60976266 · Sep 28, 2007
Provisional Application 60976269 · Sep 28, 2007
Provisional Application 60976275 · Sep 28, 2007
Provisional Application 60976281 · Sep 28, 2007
Provisional Application 60976283 · Sep 28, 2007
Provisional Application 60976292 · Sep 28, 2007
Provisional Application 60976301 · Sep 28, 2007
Provisional Application 60976304 · Sep 28, 2007
Provisional Application 60976308 · Sep 28, 2007
Provisional Application 60976311 · Sep 28, 2007
Provisional Application 60976312 · Sep 28, 2007
Provisional Application 60976320 · Sep 28, 2007
Provisional Application 60976325 · Sep 28, 2007
Provisional Application 60976327 · Sep 28, 2007
Provisional Application 60976339 · Sep 28, 2007
Related Publication 20090172568A1 · Jul 2, 2009