IP Library › Granted Patent US 8,954,526
Granted Patent B2
US 8,954,526 · App. 12/240,854 · Granted Feb 10, 2015

Network operating system

Inventor: Daniel Arthursson (Linkoeping, SE)
Assignee: Xcerion Aktiebolag
H04L67/1095G06F9/45504G06F9/542G06F9/45529
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 8,954,526
App. No.
12/240,854
Granted
Feb 10, 2015
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 (43)

1. A method performed by a virtual machine executing on a client computing device for abstracting communications with a data source located remotely from the client computing device, the method comprising:

based on an expression in an application that requests a model document using a Uniform Resource Locator (“URL”), identifying, from a first portion of the URL, a communication channel that is configured to access a resource from the data source;

instantiating an instance of the identified communication channel configured to communicate with the data source;

causing the communication channel to translate a request represented in a second portion of the URL into a format expected by the data source;

transmitting the request to the data source;

translating content in a response received from the data source into a format of the model document requested by the application;

binding a user interface component associated with the application to the model document, wherein the binding associates the user interface component with a URL object that references the model document, and wherein the URL object is provided by the virtual machine; and

receiving, by the URL object, a call from the user interface component to cause a data update associated with an event to be implemented on the model document;

wherein program logic of the application is defined separately from the virtual machine.

2. The method as recited in claim 1 , wherein the application accesses the model document in implementing application functionality without interfacing directly with the data source that is managed by the communication channel.

3. The method as recited in claim 1 , wherein the communication channel is created dynamically in response to an executing application requesting a document from a network file system and wherein translating content in the response includes implementing a user-specific startup sequence that mounts the network file system as a virtual device on a client computing device.

4. The method as recited in claim 1 , wherein the communication channel provides a protocol name within the URL standard for accessing the data source.

5. The method as recited in claim 1 , wherein the communication channel is configured to receive and process an action URL, the action URL requesting that the communication channel perform processing on an underlying data model along with other resources outside of the underlying data source; wherein the action URL includes an indication of a function and a list of parameters to be passed to the function.

6. The method as recited in claim 1 , wherein binding a user interface component to the model document includes:

accepting a semantic description a data binding in application logic;

instantiating a document object; and

registering the user interface component as a data update listener on the document object.

7. The method as recited in claim 1 , further comprising allowing applications to programmatically modify contents of an XML document using a change operation and implement at least one data manipulation primitive from replace, replace text, append, prepend, insert, remove, remove children, new, and delete.

8. The method as recited in claim 1 , further comprising allowing a user interface component associated with the application to utilize rules and interpret content in the model document without coupling functionality of the user interface component to a structure of data in the model document.

9. The method as recited in claim 8 , wherein allowing a user interface component to utilize rules and interpret content in the model document includes causing semantic logic in the rules of the user interface component to be included in the model document within a defined namespace.

10. The method as recited in claim 8 , further comprising:

notifying a user interface component associated with the application of a data update; and

updating the data that is displayed by the user interface component.

11. The method as recited in claim 1 , wherein causing the communication channel to translate a request includes generating a transaction representing a relative change for transmission to a network service.

12. The method as recited in claim 11 , wherein the transaction provides a semantic description of a relative change that is operable to both implement and reverse a data update on the model document.

13. The method as recited in claim 1 , wherein translating content in the response includes converting SQL relational data to an XML-based format.

14. The method as recited in claim 1 , wherein translating content in the response includes performing an XSLT transform on the content in the response.

15. The method as recited in claim 1 , wherein translating content in the response includes converting a message on a IMAP mail server into an XML-based format.

16. The method is recited in claim 1 , wherein translating content in the response includes converting results produced by a web search service into an XML-based format.

17. The method as recited in claim 1 , wherein communications between the communication channel and the data source are bidirectional so that the communication channel translates content both sent to and received from the data source.

18. A system that provides data source abstraction layer for an application, the system comprising:

a client computing device embedded with memory and a processor, wherein said memory further comprises: a communication manager configured to:

create and hold one or more communication channels for obtaining a resource from an external source,

receive a request to obtain the resource from the external source,

identify a communication channel configured to handle the request, and

cause the communication channel to obtain the resource from the external source;

a URL object that resource and is configured to:

cause a data update to be implemented on the resource in response to receiving a call from a user interface component to implement the data update; a bind operation handler that is configured to:

create a binding between a user interface component associated with the application and the resource by associating the user interface component with the URL object; and

a document manager configured to provide a request to the communication manager to obtain the resource if the resource is accessible from the external source and hold one or more document objects that allows the application to access the resource;

wherein the bind operation handler and the URL object are provided by a virtual machine; and

wherein program logic of the application is defined separately from the virtual machine.

19. The system as recited in claim 18 , wherein the document object provides a runtime representation of an XML document having methods for performing a plurality of data manipulation primitives on the XML document.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT EFFECTIVE 09/27/2007 Recorded Mar 18, 2009
From: ARTHURSSON, DANIEL
To: XCERION AKTIEBOLAG
Reel/Frame 022413/0357 →
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 20090175198A1 · Jul 9, 2009