Gesture-based collaboration
AssigneeXcerion Aktiebolag
InventorDaniel Arthursson
Life of this patent
Estimating the term…
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.
Claims26
A method of actively sharing an application configured to be executed on both an originating and destination computing device, the method comprising:
- binding the application executing on the originating computing device with one or more documents maintained in a data model, the one or more documents representing a state of the executing application;
- initiating a collaboration session between the originating and destination computing devices, in which the state of the application executing on the originating computing device is exported to the destination computing device, comprising:
- serializing the state of the application on the originating computing device;
- propagating a serialized representation of the application state generated on the originating computing device to a server computing device that is configured to manage data exchange between the originating and destination computing devices;
- and
- providing the destination computing device with rights to access resources associated with the application and the serialized representation of the application state generated by the originating computing device;
- in response to the occurrence of a state change to the application executing on the originating computing device:
- updating the one or more documents bound to the application executing on the originating computing to represent the state change;
- generating a transaction on the originating computing that provides a description of the state change;
- and
- transmitting the transaction that provides the description of the state change to the server computing device.
A computer-readable medium bearing computer-executable instructions which, when executed by one or more computer processors, carries out a method of propagating a change affecting an application between computing devices, comprising:
- establishing a collaboration session between a first and second computing device;
- in response to the first computing device experiencing a change that affects the application:
- applying a binding that propagates the change to a data model to implement the change locally on the first computing device;
- generating a transaction that describes the change;
- causing the transaction that describes the change to be transmitted to the second computing device;
- and
- interpreting the received transaction to implement the change on the second computing device, wherein interpreting the received transaction includes updating a state of the application's user interface based on a binding between a data model and a user interface component.
A computing device configured to participate in a collaboration session, comprising:
- a processor;
- a network interface for sending data over a network while participating in the collaboration session;
- a memory having computer-readable media with computer-executable components for exchanging data in the collaboration session, including:
- a data update bus configured to automatically propagate data updates from an application's user interface to one or more documents bound to the application;
- a state manager that automatically causes the state of the application's view to be described in one or more state documents;
- a collaboration manager configured to:
- identify the occurrence of data updates affecting the one or more documents bound to the application and state changes affecting the visual display of the application;
- and
- cause transactions describing the data updates and state change to be encapsulated and transmitted to a second computing device that is participating in the collaboration session.
Dependencies are inferred from the claim text.