360 likes | 544 Views
Overview of distributed multimedia collaboration. Tao Huang 01-09-2008. Outline. Distributed Systems Multimedia Collaboration HCI design in Collaboration Architecture Design of Collaboration Systems. Distributed systems – definition. Definition
E N D
Overview of distributed multimedia collaboration Tao Huang 01-09-2008
Outline • Distributed Systems • Multimedia Collaboration • HCI design in Collaboration • Architecture Design of Collaboration Systems
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
Distributed systems – history • 1970-1985 • IBM PC, RFC 791(IP), Ethernet, ARPANET • 1985-1995 • Sun NFS, RFC 1510(Kerberos V5), GPRS • 1995-Current • Internet/World Wide Web • Gigabit Ethernet, Fiber optics • P2P, Napster • Soap, Web Services, Grids
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
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
Distributed systems – standards & technologies • Related standards • RM-ODP (ISO/ITU-T) • OMG CORBA • Open Group’s DCE • W3C Web Service Architecture (WS-*) • Related platforms • Microsoft .Net Framework • Java VM • ADAPTIVE Communication Environment (ACE) • Related techniques • Java RMI • SOAP
Distributed systems – middleware • Richard E. Schantz et al. “Middleware for Distributed Systems”
Distributed systems – middleware classification • Host infrastructure middleware • Encapsulates and enhances native OS communication and concurrency mechanisms • Distribution middleware • Defines higher-level distributed programming models • Common middleware services • 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
Distributed systems – some research challenges • From “Report of the NSF Workshop on Research Challenges in Distributed Computer Systems”(2005) • Security • Making networks secure, Confidence in the environment • Simplifying Management • Simplify management of technology across the various domains • Continuous operation/Fault tolerant • Avoiding correlated failures, Living with failure. Failure detection, Self configuration, Software upgrades, Better tools, Availability versus Consistency • Real time QoS • Response time, jitter, throughput, availability, survivability, recovery, time after attack/failure, call drop rate, access failure rate, packet delay, packet drop rate
Distributed Systems • Multimedia Collaboration • HCI design in Collaboration • Architecture Design of Collaboration Systems
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, PowerPoint • Some Typical Multimedia Collaborations • Audio/Video Conferencing • E-Learning • Online Social Communities
Multimedia collaboration – example systems • Sync Collaboration • Access Grid & Virtual Room Video conferencing System(VRVS) • Admire from BUAA • Polycom • Skype • Gtalk • WebEx • GlobalMMCS from IUB • Async Collaboration • E-Learning • Sakai Project (e.g. IU Oncourse), Blackboard • Online Social Communities • FaceBook, MySpace & Second Life
Multimedia collaboration – some challenges of sync multimedia • Supporting streaming multimedia • Programming model support • System support • Quality of service support • QoS classification • Timeliness dimensions • Volume dimensions • Reliability dimensions • Static & dynamic QoS management • Real time synchronization support • intra- & inter-media synchronization • Multiparty communications
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
Multimedia collaboration – my current work • CGL Annotation System
Distributed Systems • Multimedia Collaboration • HCI design in Collaboration • Architecture Design of Collaboration Systems
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
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 • Evaluation of ID • Usability goals • Effectiveness, Efficiency, Safety, Utility, Learnability, Memorability • User experience goals • Design principles • Visibility, Feedback, Constraints, Consistency, Affordance
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
Distributed Systems • Multimedia Collaboration • HCI design in Collaboration • Architecture Design of Collaboration Systems
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, iChat AV and AOL IM • Decentralized architecture • Skype, P2P overlay • Hierarchical • Hybrid
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, fault-tolerant • Con: Insecure and hard to keep coherent • Hierarchical • Pro: Scalability, partially fault-tolerant • Con: Root corruption may cause failure, difficult to keep coherent
Why distributed systems? • Every application is part of your business model • must make them work together! Sales Payables/ Receivables Accounting Manufacturing Inventory Shipping/ Receiving Engineering
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
Why distributed system? • Application Requirements • Functional • Non-Functional • Non-functional requirements drive distribution of a system • Scalability • Concurrency • Openness • Heterogeneity • Resource sharing • Fault-tolerance • …
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
Allows applications to communicate with each other in a platform- and programminglanguage-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 SOAPformat De facto specifications: SOAP WSDL UDDI WEB SERVICES Ahmet Fatih Mustacoglu
SOAP • Stands for Simple Object Access Protocol • Based on XML • Simple and extensible • An envelope which includes • Header • Body • A communication protocol • Provide communication between applications • A format for sending messages • Platform independent • Language independent
COBLITZ I • P2P 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
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