Network file system with enhanced collaboration features
First Claim
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.
1 Assignment
0 Petitions
Accused Products
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.
249 Citations
17 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
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. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification