Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A

Similar presentations


Presentation on theme: "Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A"— Presentation transcript:

1 Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A mwang03@syr.edu

2 Outline The Big Picture The Big Picture Collaboration Structure Collaboration Structure Shared Event Model Shared Event Model New Concept for Collaboration New Concept for Collaboration Client/Server Communication Bridge Client/Server Communication Bridge The Master Client The Master Client The Participating Clients The Participating Clients Future Work Future Work

3 The Big Picture Impress is a presentation application in Open Office/Star Office; it has similar functionality as Microsoft PowerPoint. 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 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.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.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.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.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 Narada Message Broker as the underlying message communication system It transmits event messages between the collaborative Impress applications’ master and participant clientsIt transmits event messages between the collaborative Impress applications’ master and participant clients

4 Collaboration Structure Both the Master and Participating clients cooperate with a common message broker, NaradaBrokering Message Service, as the underlying communication environment. 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 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. The participating clients then render the show of the lecture according to the directions of the received messages.

5 Shared Event Model Shared Event vs. Shared Display. Shared Event vs. Shared Display. Event messages are short text strings. 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. 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 It is fast and efficient small text string messages greatly reduce the network traffic.small text string messages greatly reduce the network traffic. it makes full use of the computing power of both sides.it makes full use of the computing power of both sides. It gives consistent and smooth feelings of presentations. 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.”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 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. It also contributes to Peer-to-Peer Grids computing.

6 New Concept for Collaboration Universal Network Object Universal Network Object UNO is a component technology that is designed for universal programming and application of objects.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.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.UNO is available on UNIX, Linux and Windows platforms, thus has the features of availability and popularity. Diverse Programming Environment 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.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.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.The extended Java API of Open Office is neat, efficient and secure.

7 New Concept for Collaboration Fine-grained API 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.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.It has strengths in programs and software, e.g., reuse, effectiveness, efficiency, extensibility, maintenance and management. Frame-Controller-Model Paradigm Frame-Controller-Model Paradigm The Model is the document object; it has document data and also methods that access the data.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 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.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.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.

8 Client/Server Communication Bridge The process of the launch, connection and interaction between the Client and Office Server The process of the launch, connection and interaction between the Client and Office Server

9 Client/Server Communication Bridge Establishing of a Communication Bridge between Client and Office Server Establishing of a Communication Bridge between Client and Office Server

10 Client/Server Communication Bridge Accessing of the Office Server’s functionality by the client through the established UNO Communication Bridge Accessing of the Office Server’s functionality by the client through the established UNO Communication Bridge

11 The Master Client It sets up the remote bridge and takes control of the programming features of Office via FCM paradigm. 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 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 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. It sends message to the Narada Message Broker for broadcasting to all subscribed participating clients for rendering concurrently.

12 The Master Client The function structure in the side of the Master client applications

13 The Participating Clients Each participating client connects to, controls, and makes use of Office server. 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. 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. 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. 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. This rendering process is automation; the functions of the Office server are called under the instructions of the event messages.

14 The Participating Clients The function structure in the side of the Participating client applications

15 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.


Download ppt "Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A"

Similar presentations


Ads by Google