IP Library › Granted Patent US 8,738,567
Granted Patent B2
US 8,738,567 · App. 12/240,900 · Granted May 27, 2014

Network file system with enhanced collaboration features

Inventor: Daniel Arthursson (Linkoeping, SE)
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,738,567
App. No.
12/240,900
Granted
May 27, 2014
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 non-transitory computer-readable storage medium having computer-executable instructions stored thereon that, if executed by a processor of a computing device, cause the computing device to perform actions of server-side components to create a new file in a group folder that is accessible to multiple client computing devices, the actions comprising:

receiving a subscription request from a first client computing device to mount the group folder locally and listen for changes in the group folder;

adding an object that represents the group folder to a subscription list associated with the first client computing device;

receiving a file creation request from a second client computing device to create a new file in the group folder;

allocating space for raw file data in a storage location;

instructing a folder database to create an entry for the new file and associate the raw file data in the storage location with the group folder;

determining that the first client computing device is listening for real-time changes to the group folder by locating the subscription list associated with the first client computing device in a message chain associated with the group folder; and

in response to receiving the file creation request from the second client computing device and locating the subscription list associated with the first client computing device in the message chain associated with the group folder, causing a transaction to be transmitted to the first client computing device, the transaction configured to cause a view of the group folder mounted on the first client computing device to be updated to reflect creation of the new file in the group folder by the second client computing device.

2. The computer-readable medium as recited in claim 1 , wherein the subscription request is generated on the first client computing device by a communication channel that abstracts the generation and transmission of requests to listen for changes to the group folder.

3. The computer-readable medium as recited in claim 1 , wherein a communication channel causes the group folder to be mounted as a virtual drive at startup of the first and second client computing devices.

4. The computer-readable medium as recited in claim 1 , wherein a semantically defined application executing on the first client computing device requests the new file using a URL to identify the new file, and wherein a communication channel instantiated by the application abstracts loading of the file from a network file system into memory of the first client computing device.

5. The computer-readable medium as recited in claim 1 , wherein creation of the new file in the group folder abstracts the initiation of a real-time communication session between the first and second client computing devices.

6. The computer-readable medium as recited in claim 1 , wherein a semantically defined application executing on the second client computing device causes the new file to be created to initiate a chat session between group members.

7. The computer-readable medium as recited in claim 1 , wherein the file creation request is received by a network service that authenticates a user's right to create the new file in the group folder, comprising:

querying a folder database and obtaining an access control list associated with the group folder; and

comparing the access control list with the permissions associated with the user.

8. The computer-readable medium as recited in claim 1 , wherein the entry for the new file in the folder database associates a file identifier with multiple storage locations that each store raw file data.

9. The computer-readable medium as recited in claim 1 , wherein to associate the new file with the group folder includes propagating metadata associated with the new file to an index server configured to perform full text indexing of file data.

10. The computer-readable medium as recited in claim 1 , wherein the message chain associated with the group folder does not include any subscription lists that do not include objects that represent the group folder.

11. A system allowing multiple users to receive updates affecting a group folder in a network file system, comprising:

a storage component configured to manage storage of raw file data and folders in the network file system;

a message server configured to:

receive subscription requests to listen for modifications to a group folder that is shared by multiple group members;

manage subscription lists associated with client computing devices of group members that are listening for modifications to the group folder;

a transaction coordinator that facilitates access to the group folder by the client computing devices of group members, the transaction coordinator configured to:

retrieve folder information from the storage component; and

in response to a modification affecting the group folder:

traverse a message chain associated with the group folder, the message chain including the subscription lists associated with the client computing devices of group members that are listening for modifications to the group folder; and

cause the message server to transmit a transaction configured to cause a view of the group folder to be updated to reflect the modification to the group folder on each of the client computing devices associated with subscription lists included in the message chain.

12. The system as recited in claim 11 , wherein the storage component includes:

a file server for storing raw file data of one or more files in the group folder;

a folder database for storing folder hierarchy that defines the files and sub-folders in the group folder; and

an index server for storing file metadata for locating files in the group folder based on a text-based search query.

13. The system as recited in claim 11 , wherein the modification affecting the group folder is a creation of a new file by one of the client computing devices, and wherein the transaction coordinator is further configured to:

cause the storage component to allocate space for raw file data associated with the new file; and

instruct a folder database to create an entry for the new file and associate the new file with the group folder.

14. The system as recited in claim 11 , wherein the modification affecting the group folder is the creation of a new file by one of the client computing devices, and wherein creation of the file in the group folder abstracts the initiation of a real-time communication session between group members.

15. The system as recited in claim 11 , wherein the network file system is accessible as a network service in which the group folder is mounted as a drive or a folder on the client computing devices.

16. The system as recited in claim 15 , wherein to mount the group folder includes initiating executing of a group application as dictated by a semantically defined auto start document.

17. The system as recited in claim 11 , wherein the message chain does not include any subscription lists that are associated with client computing devices that are not listening for modifications to the group folder.

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 8, 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 20090171993A1 · Jul 2, 2009