OVERVIEW OF DISTRIBUTED MULTIMEDIA COLLABORATION Tao Huang 01

OVERVIEW OF DISTRIBUTED MULTIMEDIA COLLABORATION Tao Huang 01 -09 -2008

OUTLINE Distributed Systems Multimedia Collaboration HCI design in Collaboration Architecture Design of Collaboration Systems 2

DISTRIBUTED SYSTEMS – DEFINITION Definition A collection of (probably heterogeneous) automata whose distribution is transparent to the user so that the system appears as one local machine. Automata coordinate their activities through a distribution middleware Classification DFS: Distributed File System DOS: Distributed Operation System Pros & Cons Transparent to network Resource sharing Fault tolerant Based on flawed assumptions 3

DISTRIBUTED SYSTEMS – HISTORY 1970 -1985 1985 -1995 IBM PC, RFC 791(IP), Ethernet, ARPANET Sun NFS, RFC 1510(Kerberos V 5), GPRS 1995 -Current Internet/World Wide Web Gigabit Ethernet, Fiber optics P 2 P, Napster Soap, Web Services, Grids 4

DISTRIBUTED SYSTEMS – ARCHITECTURES Typical architectures Client Server: Smart client fetch and display data from server 3 -tier: Move client intelligence to middle tier N-tier: Forward requests to other enterprise services Clustered: Tasks are subdivided and processed on integrated machines, results will be put together 5

DISTRIBUTED SYSTEMS – ARCHITECTURES II Typical architectures Parallel Computing Simultaneous use of multiple compute resources to solve a computational problem Distributed Objects RM-ODP & CORBA Peer-to-Peer SOA(Service Oriented Architecture) Web services Grid services Web 2. 0 6

DISTRIBUTED SYSTEMS – STANDARDS & TECHNOLOGIES Related standards RM-ODP (ISO/ITU-T) OMG CORBA Open Group’s DCE W 3 C Web Service Architecture (WS-*) Related platforms Microsoft. Net Framework Java VM ADAPTIVE Communication Environment (ACE) Related techniques Java RMI SOAP 7

DISTRIBUTED SYSTEMS – MIDDLEWARE Richard E. Schantz et al. “Middleware for Distributed Systems” 8

DISTRIBUTED SYSTEMS – MIDDLEWARE CLASSIFICATION Host infrastructure middleware Distribution middleware Defines higher-level distributed programming models Common middleware services Encapsulates and enhances native OS communication and concurrency mechanisms Augment distribution middleware by defining higher-level domain-independent services Domain-specific middleware services Tailored to the requirements of particular domains, such as telecom, e-commerce, health care, process automation, or aerospace 9

DISTRIBUTED SYSTEMS – SOME RESEARCH CHALLENGES From “Report of the NSF Workshop on Research Challenges in Distributed Computer Systems”(2005) Security Simplifying Management Simplify management of technology across the various domains Continuous operation/Fault tolerant Making networks secure, Confidence in the environment Avoiding correlated failures, Living with failure. Failure detection, Self configuration, Software upgrades, Better tools, Availability versus Consistency Real time Qo. S Response time, jitter, throughput, availability, survivability, recovery, time after attack/failure, call drop rate, access failure rate, packet delay, packet drop rate 10

Distributed Systems Multimedia Collaboration HCI design in Collaboration Architecture Design of Collaboration Systems 11

MULTIMEDIA COLLABORATION – DEFINITION Multimedia Handling a variety of representation media in an integrated manner It has both continuous and discrete media types Collaboration Structured, recursive process where two or more people work together toward a common goal Shared generic tools: Text chat, White boards, Audio/Video conferencing Shared applications: Web pages, Power. Point Some Typical Multimedia Collaborations Audio/Video Conferencing E-Learning Online Social Communities 12

MULTIMEDIA COLLABORATION – EXAMPLE SYSTEMS Sync Collaboration • Access Grid & Virtual Room Video conferencing System(VRVS) • Admire from BUAA • Polycom • Skype • Gtalk • Web. Ex • Global. MMCS from IUB Async Collaboration • E-Learning • • Sakai Project (e. g. IU Oncourse), Blackboard Online Social Communities • Face. Book, My. Space & Second Life 13

MULTIMEDIA COLLABORATION – SOME CHALLENGES OF SYNC MULTIMEDIA Supporting streaming multimedia Programming model support System support Quality of service support Qo. S classification Timeliness dimensions Volume dimensions Reliability dimensions Real time synchronization support Static & dynamic Qo. S management intra- & inter-media synchronization Multiparty communications 14

MULTIMEDIA COLLABORATION – SYSTEM I PARTICIPATED IN Global-MMCS A service-oriented collaboration system, which integrates various services including videoconference, instant messaging and streaming Web services based conference control framework Based on XGSP (XML based General Session Protocol) Integrates heterogeneous systems into one collaboration system 15

MULTIMEDIA COLLABORATION – MY CURRENT WORK CGL Annotation System 16

MULTIMEDIA COLLABORATION – MY CURRENT WORK 17

Distributed Systems Multimedia Collaboration HCI design in Collaboration Architecture Design of Collaboration Systems 18

HCI DESIGN IN COLLABORATION – DEFINITION Interaction Design(ID) “Designing interactive products to support the way people communicate and interact in their everyday and working lives” The center of ID is to achieve good user experience Human Computer Interaction(HCI), a subset of ID Being “concerned with the design, evaluation, and implementation of interactive computing systems…”(ACM SIGCHI, 1992, p. 6) People involved in ID Designers/Developers Users/Stakeholders 19

HCI DESIGN IN COLLABORATION – DESIGN PROCEDURE The procedure of ID Identify needs and establish requirements for user experience Develop alternate designs Building interactive versions of the designs Evaluation of ID Usability goals Effectiveness, Efficiency, Safety, Utility, Learnability, Memorability User experience goals Design principles Visibility, Feedback, Constraints, Consistency, Affordance 20

HCI DESIGN IN COLLABORATION – IMPORTANT DESIGN ISSUES Design in Collaboration Conversation Support Communicating in physically different locations Communicating in co-located settings Computer mediated communication Coordination Support Verbal/Non verbal communication Shared external representations Awareness Support Overhearing and monitoring Personalization Support GUI customization Status setup 21

Distributed Systems Multimedia Collaboration HCI design in Collaboration Architecture Design of Collaboration Systems 22

ARCHITECTURE DESIGN OF COLLABORATION SYSTEMS – TOPOLOGY OF EXISTING SYSTEMS Centralized architecture AG, VRVS and Admire: MBONE based, capable of supporting other collaboration systems such as H. 323 Windows Netmeeting and Polycom: highly relies on MCU Windows Live, i. Chat AV and AOL IM Decentralized architecture Skype, P 2 P overlay Hierarchical Hybrid 23

ARCHITECTURE DESIGN OF COLLABORATION SYSTEMS – TOPOLOGY CHARACTERISTICS Centralized architecture Pro: Simple to monitor, control and secure Con: Difficult or expensive to scale for heavy load Decentralized architecture Pro: Easy to scale the system to support heavy load, faulttolerant Con: Insecure and hard to keep coherent Hierarchical Pro: Scalability, partially fault-tolerant Con: Root corruption may cause failure, difficult to keep coherent 24

Questions ? 25

WHY DISTRIBUTED SYSTEMS? Every application is part of your business model must make them work together! Sales Payables/ Receivables Accounting Manufacturing Shipping/ Receiving Inventory Engineering 26

WHY DISTRIBUTED SYSTEMS? Application Integration and Distributed Processing are the same thing Constructing information-sharing distributed systems from diverse sources: heterogeneous networked physically disparate multi-vendor 27 27

WHY DISTRIBUTED SYSTEM? Application Requirements Functional Non-functional requirements drive distribution of a system Scalability Concurrency Openness Heterogeneity Resource sharing Fault-tolerance … 28

ADVANTAGES AND DISADVANTAGES OF DISTRIBUTED SYSTEMS Advantages Sharability Expandability Local autonomy Improved performance Improved reliability and availability Potential cost reductions Disadvantages Network reliance Complexities Security Multiple point of failure 29

WEB SERVICES Ahmet Fatih Mustacoglu Allows applications to communicate with each other in a platform- and programming language-independent manner Operations in a Web Service Architecture: Publish, Find and Bind Based upon the interactions between three roles: service provider, service registry and service requestor Web Services interact by exchanging messages in SOAP format De facto specifications: SOAP WSDL UDDI 30

SOAP Stands for Simple Object Access Protocol Based on XML An envelope which includes Simple and extensible Header Body A communication protocol Provide communication between applications A format for sending messages Platform independent Language independent 31

COBLITZ I P 2 P style but based on existing http CDN Divide large files into large chunks instead of small blocks An agent splits the large file request into requests of multiple chunks, and it is responsible of merging fetched chunks Proxy caches chunks for later client requests 32

COBLITZ II Coping With Scale Unilateral, Asynchronous Peering Make peering a unilateral, asynchronous decision Peer Set Selection Use minimum application-level ping times when determining suitable peers Apply hysteresis to the peer set Request Routing Highest Random Weight 33

DESIGN PRINCIPLES – VISIBILITY & CONSTRAINTS (OLD MRAS)

DESIGN PRINCIPLES – VISIBILITY & CONSTRAINTS (NEW MRAS)
- Slides: 35