Real-time data sharing
First Claim
1. A method implemented in computer-executable instructions that, when executed by a computer processor, satisfies a request by a second client computing device to open a file that is open by a first client computing device, the method comprising:
- on a server computing device, retrieving from a file server and caching in memory on the server computing device file data associated with a file requested to be opened by the first client computing device;
transmitting to the first client computing device the file data associated with the file requested to be opened;
transmitting the file data to the second client computing device in response to a request by the second client computing device to open the file;
notifying the first client computing device that the file is concurrently opened by more than one client computing device;
obtaining any previously uncommitted transactions from the first client computing device, wherein a transaction is a code fragment that semantically describes an update to the file data implemented on the first client computing device, and wherein the transaction does not include all of the file data;
notifying the second client computing device that the file is concurrently opened by more than one client computing device; and
propagating any uncommitted transactions obtained from the first client computing device to the second client computing device, the transactions configured to allow the version of the file on the second client computing device to be updated with the updates to the file data implemented on the first client computing device before the file was opened 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.
-
Citations
17 Claims
-
1. A method implemented in computer-executable instructions that, when executed by a computer processor, satisfies a request by a second client computing device to open a file that is open by a first client computing device, the method comprising:
-
on a server computing device, retrieving from a file server and caching in memory on the server computing device file data associated with a file requested to be opened by the first client computing device; transmitting to the first client computing device the file data associated with the file requested to be opened; transmitting the file data to the second client computing device in response to a request by the second client computing device to open the file; notifying the first client computing device that the file is concurrently opened by more than one client computing device; obtaining any previously uncommitted transactions from the first client computing device, wherein a transaction is a code fragment that semantically describes an update to the file data implemented on the first client computing device, and wherein the transaction does not include all of the file data; notifying the second client computing device that the file is concurrently opened by more than one client computing device; and propagating any uncommitted transactions obtained from the first client computing device to the second client computing device, the transactions configured to allow the version of the file on the second client computing device to be updated with the updates to the file data implemented on the first client computing device before the file was opened by the second client computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification