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
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.
대표청구항▼
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
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; andpropagating 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. 2. The method as recited in claim 1, further comprising interpreting the transactions propagated to the second client computing device and updating the version of the file stored locally on the second client computing device. 3. The method as recited in claim 1, wherein the file data is retrieved from a file server and cached in memory by a transaction coordinator, the transaction coordinator configured to instruct a message server to add the file to subscription lists associated with both the first and second client computing devices. 4. The method as recited in claim 1, wherein propagating any previously uncommitted transactions between the first and second client computing devices includes; receiving a transaction at a network service;determining that the file is shared by multiple client computing devices; andcausing a message server to send the transaction to each client computing device that is registered as a listener on the file. 5. The method as recited in claim 1, wherein data updates that occur when the file is open by the first and second client computing devices as represented in transactions are sent to the server-side and committed to the file data cached in memory without immediately being committed to the file maintained, in storage on a file server. 6. The method as recited in claim 1, wherein a transaction affecting a file that is open by multiple users is committed to storage on the file server in response to a commit event; wherein the commit event is one of a user generating a command to save the file, each client computing device closing the file, and after a predetermined time period elapsing from creation of the transaction. 7. The method as recited in claim 6, wherein, in response to the commit event, all transactions affecting a file that is open by multiple users are committed to storage on the file server, and the transactions affecting the file are cleared from the server computing device. 8. The method as recited in claim 7, wherein, in response to the commit event, a notification is transmitted to all client computing devices having the file open to apply any outstanding transactions to the file data and to clear a list of transactions associated with the file. 9. The method as recited in claim 1, wherein a user is authenticated as having rights to access the file before the file data is transmitted to a computing device associated with the user. 10. The method as recited in claim 1, wherein a transaction manager on the second client computing device is configured to determine whether any conflicts exist between transactions committed to the file by the first client computing device and transactions generated locally when the second client computing device was offline. 11. The method as recited in claim 1, further comprising committing the previously uncommitted transactions from the first client computing device to the cached file data in memory on the server computing device, 12. The method as recited in claim 1, wherein the previously uncommitted transactions are created and stored by a transaction manager of the first client computing device. 13. The method as recited in claim 1, further comprising: receiving, by the server computing device, additional uncommitted transactions from the first client computing device and the second client computing device representing updates to the file data associated with the file concurrently opened by the computing devices;distributing, by the server computing device, the additional uncommitted transactions received from the first client computing device to the second client computing device; anddistributing, by the server computing device, the additional uncommitted transactions received from the second client computing device to the first client computing device. 14. The method as recited in claim 13, wherein a first additional uncommitted transaction is received by the server computing device from the first client computing device, wherein a second additional uncommitted transaction is received by the server computing device from the second client computing device, and wherein the first additional uncommitted transaction and the second additional uncommitted transaction are concurrently created by the first client computing device and the second client computing device and represent updates to the file data of the same file concurrently opened by the computing devices. 15. The method as recited in claim 1, further comprising: creating, by a transaction manager of the first client computing device, an uncommitted transaction that represents an update made by the first client computing device to the file data associated with the file;applying, by the transaction manager of the first client computing device, the update to the file data associated with the file to a version of the file cached by the first client computing device; andstoring, by the transaction manager of the first client computing device, the uncommitted transaction. 16. The method as recited in claim 1, further comprising: receiving, by a transaction manager of the second client computing device, an uncommitted transaction that represents an update made by the first client computing device to the file data associated with the file;applying, by the transaction manager of the second client computing device, the update to the file data associated with the file to a version of the file cached by the second client computing device; andstoring, by the transaction manager of the second client computing device, the uncommitted transaction. 17. The method as recited in claim 1, wherein the file represents one or more of a tile system folder, an XML document, a UI XML document, a process XML document, a view XML document, a data document, a state XML document, a directory listing, an atom feed, an RSS feed, a JSON object, a text file, a binary file, a data object, and a data model.
Berkowitz David B. (Palo Alto CA) Hao Ming C. (Los Altos CA) Lieu Hung C. (Santa Clara CA) Snow Franklin D. (Saratoga CA), Collaborative computing system using pseudo server process to allow input from different server processes individually a.
Mahajan Sameer S. ; Donahoo Michael J. ; Navathe Shamkant B. ; Ammar Mostafa H. ; McGeough Frank H. ; Malik Sanjoy, Database synchronization and organization system and method.
Turner,Bryan C.; Toebes,John, Delivery of services to a network enabled telephony device based on transfer of selected model view controller objects to reachable network nodes.
Bilansky Mark Alan ; Huang Kevin Chuang-Chi ; Ryder James William ; Stavana Edward James, Dual communication services interface for distributed transaction processing.
Napolitano Richard ; Silverman Herbert W. ; Juzsczak Chester ; Panner Bryan K. ; Franklin Chris ; Noya Eric S. ; Hoskins Timothy Lee ; Luke Stanley ; Shaughnessy Paul Richard ; McLeod Alexander C. ; , File array storage architecture having file system distributed across a data processing platform.
Eshel Marc M. (Tarrytown NY) Hunt Guerney D. H. (Ithaca NY) Jones Donald N. (Vestal NY) Meyer Christopher (Vestal NY) Schwartz Frederick A. (Binghamton NY), File manager for files shared by heterogeneous clients.
Uresh K. Vahalia ; Xiaoye Jiang ; Jeffrey Jon Darcy ; Boris Zuckerman ; Ronald Curtis Searls, File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration.
Ahern, Michael I.; Carr, Derek W.; Jones, Carol A.; Wesley, Ajamu A.; Wong, Cesar A., Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API).
Elko, David A.; Dievendorff, Richard; Flaherty, Dermot J.; Nick, Jeffrey M.; Surman, David H.; Warnes, James H.; Westcott, Douglas W., Method and apparatus for implementing a shared message queue using a list structure.
Glasser Daniel S. ; McCurdy Ann Elizabeth ; Price Robert M., Method and system for controlling user access to a resource in a networked computing environment.
Salas Pito ; Beir Jeffrey ; Leffler Melissa ; McDonald Glenn ; Dennie Andy ; Kleppner Paul ; Finnegan Neal ; Morrissey Craig ; Steele Alan ; Crowley Patrick, Method and system for providing a networked collaborative work environment.
Shaw Andrew,GBX ; Burgess Karl Richard,GBX ; Pullan John Marcus,GBX ; Cartwright Peter Charles,GBX, Method of displaying an application on a variety of client devices in a client/server network.
Narang, Inderpal Singh; Brannon, Karen Wolfe; Bhattacharya, Suparna; Hsiao, Hui-I, Method of maintaining data consistency in a loose transaction model.
Maes, Stephane Herman; Raman, Thiruvilvama Lai V., Methods and systems for multi-modal browsing and implementation of a conversational markup language.
Alsafadi,Yasser; Dasgupta,Aninda; Krasinski,Raymond, Methods for initiating activity in intelligent devices connected to an in home digital network using extensible markup language (XML) for information exchange and systems therefor.
Al-Attas, Sami Hussain Salem; Kamel, Ashraf Hassan; Alireza, Maummer Mustafa; Abushanab, Samy Khalil, Node for providing a file service to a mobile terminal.
Heifets, Abraham; Kostoulas, Margaret G.; Matsa, Moshe Morris Emanuel; Perkins, Eric, Orthogonal Integration of de-serialization into an interpretive validating XML parser.
Lonnroth, Magnus M.; Svensson, Roland; Svensson, Johan, Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients.
Bsaibes Mounir Emile (Austin TX) Kells Timothy Roger (Round Rock TX), System and method for managing arbitrary subsets of access control lists in a computer network.
Vaschillo,Alexander; Bolognese,Luca; Pfleiger,Todd F.; Conrad,Andrew James; Burugapalli,Srinivasa Rao; Suver,Christopher Allen, System and method providing API interface between XML and SQL while interacting with a managed object environment.
Keith A. Bentley ; Samuel W. Wilson ; Barry J. Bentley ; Raymond B. Bentley ; John B. Gooding, System for collaborative engineering using component and file-oriented tools.
Alves de Moura, Francisca Rodrigues; de Melo Peixoto, Tiago; de Moura Junior, José Walter, System for management of interactions between users and software applications in a web environment.
Andrew Shaw GB; Karl Richard Burgess GB; John Marcus Pullan GB; Peter Charles Cartwright GB; Roger David Binns GB; Andrew James Shire GB; Barry John Sturgeon GB; Christopher Scheybeler GB; Ra, Universal application server for providing applications on a variety of client devices in a client/server network.
Bly Sara A. (Mountain View CA) Hodges Jeffrey D. (Newark CA) Kupfer Michael D. (Mountain View CA) Lewis Brian T. (Palo Alto CA) Tallan Michael L. (Mountain View CA) Tom Stephen B. (San Francisco CA), Updating local copy of shared data in a collaborative system.
Upp, Steven D.; Upp, Karen M., Method and apparatus for binding of a user-based public identity to a shared device in an internet protocol multimedia subsystem (IMS)-based communication system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.