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

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

9 C H A P T E R © 2001 The McGraw-Hill Companies, Inc. All Rights Reserved1 Communicating in Real Time Now it is also possible to converse in real time.
© 2005 Avaya Inc. All rights reserved. A Client-Side Architecture for Supporting Pervasive Enterprise Communications Amogh Kavimandan, Reinhard Klemm,
TANDBERG Content Server January Organizational Challenges Corporations have struggled in the past:  Achieving unified communications within a global.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Collaborative Impress Applications in Open Office (Star Office) Minjun Wang EECS Department, Syracuse University, USA Adviser Dr. Geoffrey.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
Workshop on Cyber Infrastructure in Combustion Science April 19-20, 2006 Subrata Bhattacharjee and Christopher Paolini Mechanical.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System interfaces Updated: November 2014.
Collaborative Interactive Data Language (IDL) Minjun Wang EECS Department, Syracuse University, USA Adviser Dr. Geoffrey C. Fox
1 Software Testing and Quality Assurance Lecture 32 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System Supervisor: Prof Michael Lyu Presented by: Lewis Ng,
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
System Design & Software Architecture
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Principles for Collaboration Systems Geoffrey Fox Community Grids Laboratory Indiana University Bloomington IN 47404
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
Client/Server Architectures
Business Computing 550 Lesson 4. Fundamentals of Information Systems, Fifth Edition Chapter 4 Telecommunications, the Internet, Intranets, and Extranets.
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
Ayman Abdel-Hamid Department of Computer Science Lamar University P.O. Box 10056, Beaumont, TX 77710, USA Kurt Maly, C.M. Overstreet,
JMS Compliance in NaradaBrokering Shrideep Pallickara, Geoffrey Fox Community Grid Computing Laboratory Indiana University.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
CHAPTER FOUR COMPUTER SOFTWARE.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Fundamentals of Database Chapter 7 Database Technologies.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Architectures of distributed systems Fundamental Models
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal VideoConference Archives Indexing System.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
A Collaborative Framework for Scientific Data Analysis and Visualization Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox Department of Computer.
Grid-based Collaboration in Interactive Data Language Applications Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Collaboration Entities on Deterministic Finite Automata Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Thin Client Collaboration Web Services Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Welcome. Welcome to this TechNet Event URL for on-line feedback is in your reminder No Planned Fire Drills Please turn your Mobile Phones off To.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
.NET Mobile Application Development XML Web Services.
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
University of Technology
Component--based development
Windows desktop sharing
New Tools In Education Minjun Wang
Presentation transcript:

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

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

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

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.

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.

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.

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.

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

Client/Server Communication Bridge Establishing of a Communication Bridge between Client and Office Server 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 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 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.

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

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.