IP Library › Granted Patent US 8,234,315
Granted Patent B2
US 8,234,315 · App. 12/240,897 · Granted Jul 31, 2012

Data source abstraction system and method

Assignee: Xcerion Aktiebolag
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,234,315
App. No.
12/240,897
Granted
Jul 31, 2012
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 (35)

1. A system for connecting a client computing device to multiple data sources, the system comprising:

a first data source associated with a first communication channel for delivering a process virtual machine to the client computing device;

a second data source associated with a second communication channel; and

a client computing device configured to:

instantiate the first communication channel to mount a virtual drive representing the first data source on the client computing device; and

initiate execution of at least one application on the process virtual machine, the application configured to cause the second communication channel to be instantiated to mount a virtual drive representing the second data source on the client computing device;

wherein the second data source is a folder tree, and wherein mounting the virtual drive representing the second data source includes receiving an extensible markup language (XML) document representing the folder tree that is created by:

querying a folder database for information associated with a root folder of the folder tree;

authenticating that a user has rights to access the root folder;

adding metadata associated with the root folder to the XML document; and

for each subfolder within the hierarchy of the root folder:

in response to determining that the subfolder has the same permissions with respect to the user as the root folder:

obtaining folder metadata of the subfolder; and

adding metadata associated with the subfolder to the XML document; and

in response to determining that the subfolder has different permissions with respect to the user as the root folder:

adding an XLink that references the subfolder to the XML document.

2. The system as recited in claim 1 , wherein the first data source is a network file system accessible from the Internet and the second data source is a file system provided from a private network.

3. The system as recited in claim 1 , wherein a data source that is mounted as a virtual drive is one selected from the group of a local storage device, a network file system, and a shared group folder.

4. The system as recited in claim 1 , wherein at least one file in the root folder is of a file type that initiates execution of an application upon the root folder being mounted as a virtual drive on the client computing device.

5. The system as recited in claim 1 , wherein the first and second communication channels are created in accordance with a communicator Application Programming Interface that accepts logic for accessing data from a data source and translating the data into an XML format expected by an executing application.

6. The system as recited in claim 1 , wherein applications executed by the process virtual machine accesses a model document to implement application functionality without interacting directly with a data source that is managed by a communication channel.

7. A computer-implemented method of generating a document for transmission to a computing device to enable the computing device to mount a virtual drive representing a folder tree, the method comprising:

querying, by a computing device, a folder database for information associated with a root folder of the folder tree;

authenticating that a user has rights to access the root folder;

adding metadata associated with the root folder to the document; and

for each subfolder within the hierarchy of the root folder:

in response to determining that the subfolder has the same permissions with respect to the user as the root folder:

obtaining folder metadata of the subfolder; and

adding metadata associated with the subfolder to the document; and

in response to determining that the subfolder has different permissions with respect to the user as the root folder:

adding an XLink that references the subfolder to the document.

8. The method of claim 7 , wherein the document is an extensible markup language (XML) document.

9. The method of claim 7 , further comprising receiving a request from a client device, the request including a uniform resource locator (URL) that identifies the root folder.

10. The method of claim 9 , wherein the uniform resource locator (URL) includes a folder identifier that uniquely identifies the root folder.

11. The method of claim 10 , wherein the folder identifier includes information usable to indicate a location of the folder database.

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