IP Library › Granted Patent US 9,621,649
Granted Patent B2
US 9,621,649 · App. 12/240,820 · Granted Apr 11, 2017

Network operating system

Inventors: Daniel Arthursson (Linkoeping, SE); Marcus Bristav (Linkoeping, SE)
Assignee: Xcerion Aktiebolag
H04L67/1095G06F8/65G06F9/455G06F9/45504G06F9/54G06F9/542H04L67/02H04L67/2842H04L67/42G06F9/45529H04L67/28
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,621,649
App. No.
12/240,820
Granted
Apr 11, 2017
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 (29)

1. A platform independent XML virtual machine that accepts application process code written in an XML programming language as input and implements a method that causes the application process code to be executed on a computing device, the method comprising:

defining a set of runtime objects for executing an application including an instance object configured to couple operational meaning to the execution of the application process code;

providing low-level constructs (“operation handlers”) configured to execute operations indicated by the application process code; and

executing operation handlers of the application process code using a stateless process object and an instance object separate from the stateless process object; wherein the instance object is provided to the operation handlers to provide access to and persist changes to the application's runtime state while the stateless process object executes the operation handlers indicated by the application process code.

2. The XML virtual machine as recited in claim 1 , wherein defining a set of runtime objects for executing an application includes defining a localized relationship hierarchy that delimits the boundary of an application instance.

3. The XML virtual machine as recited in claim 1 , wherein executing operation handlers of the application process code using a stateless process object and an instance object includes providing a trigger event bus configured to supply the instance object to the stateless process object for use during execution of the operation handlers.

4. The XML virtual machine as recited in claim 1 , wherein executing operation handlers of the application process code using a stateless process object and an instance object includes providing an expression engine configured to evaluate expressions using object names that are global to a multi-instance application and that are evaluated relative to a particular application instance.

5. The XML virtual machine as recited in claim 1 , wherein defining a set of runtime objects for executing an application includes registering a notifier object that represents a trigger encountered in application code with a trigger event bus, the registered notifier object identifying at least a user interface component and an event type that will activate the corresponding trigger.

6. The XML virtual machine as recited in claim 5 , wherein the method further comprises:

receiving notice at the trigger event bus that the user interface component experienced the event type as specified by the registered notifier object; and

activating the notifier object and causing an application process step to be executed.

7. The XML virtual machine as recited in claim 6 , wherein activating the notifier object and causing an application process step to be executed further comprises using an instance object provided by the trigger event bus.

8. The XML virtual machine as recited in claim 5 , wherein the XML virtual machine is configured to use a single copy of application code for more than one application instance that is executing.

9. The XML virtual machine as recited in claim 1 , wherein providing low-level constructs configured to execute operations defined in the application process code includes implementing an open operation handler configured to cause an application view to be instantiated and associated with a corresponding application instance.

10. The XML virtual machine as recited in claim 1 , wherein providing low-level constructs configured to execute operations defined in the application process code includes providing a bind operation handler configured to establish an automated communication path between a user interface component and a document in a data model.

11. The XML virtual machine as recited in claim 1 , wherein the instance object is provided to the operation handlers by configuring a user interface component to provide a corresponding instance object when a trigger defined in application code is activated and sent to a trigger event bus.

12. The XML virtual machine as recited in claim 1 , wherein executing operation handlers of the application process code includes executing at least one step of the application process code, wherein the at least one step includes an indication of at least one operation to be executed.

13. A computer-implemented method of executing application code written in an XML programming language using a platform-independent XML virtual machine on a computing device, the method comprising:

defining a set of runtime objects for executing an application, wherein the set of runtime objects includes an instance object configured to couple operational meaning to the execution of the application's process code, and wherein defining a set of runtime objects includes registering with a trigger event bus a notifier object that represents a trigger encountered in the application's process code, the registered notifier object identifying at least a user interface component and an event type that will activate the corresponding trigger;

providing low-level constructs (“operation handlers”) that execute operations defined in the application's process code;

implementing logic that allows stateless process objects to provide operation handlers with an instance object that accounts for changes in the application's runtime state when executing the application's process code;

receiving notice at the trigger event bus that the user interface component experienced the event type as specified by the registered notifier object; and

activating the notifier object and causing an application process step cached in memory to be executed.

14. A computing device configured to provide a platform-independent XML virtual machine that accepts application code written in an XML programming language as input and implements a method that causes the application code to be executed on the computing device, the method comprising:

defining a set of runtime objects for executing an application, wherein the set of runtime objects includes an instance object configured to couple operational meaning to the execution of the application's process code, and wherein defining a set of runtime objects includes registering with a trigger event bus a notifier object that represents a trigger encountered in the application's process code, the registered notifier object identifying at least a user interface component and an event type that will activate the corresponding trigger;

providing low-level constructs (“operation handlers”) that execute operations defined in the application's process code; and

implementing logic that allows stateless process objects to provide operation handlers with an instance object that accounts for changes in the application's runtime state when executing the application's process code;

wherein the XML virtual machine is configured to use a single version of application code for each application instance that is executing.

15. The XML virtual machine as recited in claim 1 , wherein executing operation handlers of the application process code using a stateless process object and an instance object includes providing a trigger event bus configured to register a trigger using a single notifier object that is shared by multiple application instances.

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 20090193440A1 · Jul 30, 2009