150 likes | 166 Views
This paper outlines a collaborative system for online presentations using OpenOffice Impress, focusing on collaboration structure, shared event model, and new concepts. The system utilizes small text-based event messages to achieve synchronous presentation sharing and efficient communication. It incorporates the use of Narada Message Broker for message transmission and promotes universal network object technology for cross-platform compatibility. Additionally, the system features fine-grained API and follows a frame-controller-model paradigm for effective programming and software design.
E N D
Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A mwang03@syr.edu
Outline • The Big Picture • Collaboration Structure • Shared Event Model • New Concept for Collaboration • Client/Server Communication Bridge • The Master Client • The Participating Clients • Future Work
The Big Picture • Impress is a presentation application in Open Office/Star Office; it has similar functionality as Microsoft PowerPoint. • Making Impress applications collaborative across computers is useful in distance education, e-learning, and online conferencing • One of the collaborative applications is a type of Master client, the other is a type of participant. • The presentation files are deployed or downloaded beforehand to the hosts of both master and participants clients, and in the same directories. The Impress application is installed on all the hosts. • Use small text-based event messages to communicate between the master and participants, compared to image data communication as in Shared Display; thus lower network traffic and improve performance. • The Master client captures events and sends the event messages to participants during its presentation; the participants then render and share the presentation screens synchronously with the master. • Narada Message Broker as the underlying message communication system • It transmits event messages between the collaborative Impress applications’ master and participant clients
Collaboration Structure • Both the Master and Participating clients cooperate with a common message broker, NaradaBrokering Message Service, as the underlying communication environment. • The master client lectures, captures events and sends its event messages to NaradaBrokering, which then broadcasts to all participating clients. • The participating clients then render the show of the lecture according to the directions of the received messages.
Shared Event Model • Shared Event vs. Shared Display. • Event messages are short text strings. • The Master client captures events and sends the event messages to participants during its presentation; the participants then render and share the presentation screens synchronously with the master. • It is fast and efficient • small text string messages greatly reduce the network traffic. • it makes full use of the computing power of both sides. • It gives consistent and smooth feelings of presentations. • The size of the messages are small and approximately equal, so the time for transferring them should remain in a relatively constant range, just as mentioned in the paper “The Rule of the Millisecond.” • It shares the advantages of the modern common message brokers such as tolerance and quality of service. • It also contributes to Peer-to-Peer Grids computing.
New Concept for Collaboration • Universal Network Object • UNO is a component technology that is designed for universal programming and application of objects. • Components in UNO can interact with each other across programming languages, component technologies, computer platforms, and networks. • UNO is available on UNIX, Linux and Windows platforms, thus has the features of availability and popularity. • Diverse Programming Environment • It enables people to develop codes in languages such as C++, Java, Java Script, Visual Basic, VBScript, and Delphi; on platforms such as UNIX, Linux and Windows. • People can connect to a local or remote instance of Open Office from C++, Java, or COM/DCOM. • The extended Java API of Open Office is neat, efficient and secure.
New Concept for Collaboration • Fine-grained API • Open Office defines a comprehensive specification describing its programmable features. It is called Application Programming Interfaces (API), and it is fine-grained. • It has strengths in programs and software, e.g., reuse, effectiveness, efficiency, extensibility, maintenance and management. • Frame-Controller-Model Paradigm • The Model is the document object; it has document data and also methods that access the data. • The controller is the screen interaction with the model; it observes the changes made to the model, and manages the presentation of the document. • The frame is the controller-window linkage; it contains the controller for a model, and has knowledge about the window, but not the functionality of the window. That functionality is encapsulated in the underlying windows system. • In programming, from a model object, we can use the method getCurrentController() of the API to get the controller object associated with this model; and from this controller, we can use the method getModel() to get the model object. And so on.
Client/Server Communication Bridge • The process of the launch, connection and interaction between the Client and Office Server
Client/Server Communication Bridge • Establishing of a Communication Bridge between Client and Office Server
Client/Server Communication Bridge • Accessing of the Office Server’s functionality by the client through the established UNO Communication Bridge
The Master Client • It sets up the remote bridge and takes control of the programming features of Office via FCM paradigm. • It registers listeners at the remote bridge to listen to events fired at the Office server. • It makes the listener listen to changes of “Properties” of the current presentation file; the listener catches the event and notifies the event handler to do further processing, such as getting the event message and adding XML tag and properties to it. • It sends message to the Narada Message Broker for broadcasting to all subscribed participating clients for rendering concurrently.
The Master Client The function structure in the side of the Master client applications
The Participating Clients • Each participating client connects to, controls, and makes use of Office server. • To connect to the Office server, the participating client creates a remote bridge, and gets the server’s component context and service manager through it. It then gets control of the server’s Frame, Controller and Model, and makes use of the FCM paradigm to call the server’s functionality in controlling the rendering process. • When the Narada message broker receives event messages from the Master client, it notifies the participating clients and broadcasts the messages to them. • The participating client then parses the received message and gets different parts of it such as event type and its properties. The event type is the key to call different processing functions, and its associated properties are used in the functions to generate the correct presentation results. • This rendering process is automation; the functions of the Office server are called under the instructions of the event messages.
The Participating Clients The function structure in the side of the Participating client applications
Future Work • Integrating the collaborative Impress applications with an Audio/Video system, such as Anabas Collaboration Environment. This is to bring multimedia into virtual classrooms and online conferencing. • Making the collaborative system work with a session server, so that presentation/conference sessions can be registered with the session server, and subscribed by subscribers.