* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Collaboration Approaches for CTS05 GlobalMMCS Tutorial
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
Zero-configuration networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Distributed operating system wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Distributed firewall wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
Collaboration Approaches for CTS05 GlobalMMCS Tutorial CTS05 St. Louis May 17 2005 Geoffrey Fox CTO Anabas Corporation and Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email protected] http://www.infomall.org Material for Tutorial All talks are at http://grids.ucs.indiana.edu/ptliupages/presentations/cts05/ Both tutorial and conference presentations (Ahmet Uyar, Sangyoon Oh) Open source Software at • http://www.globalmmcs.org and • http://www.naradabrokering.org (Software Overlay Network) • http://www.collab-ogce.org/nmi/index.jsp (Grid Portals) More information about our work http://www.infomall.org Tutorial Overview: 5 Sections Overview of existing audio/video systems; we are trying to address general real-time collaboration but we A/V systems have hard technical challenges • Apply to WebEx, Placeware style shared applications as well Grids and Web Services; current preferred approach to distributed systems but main focus asynchronous sharing; we will apply to synchronous case • Grids are “Internet-Scale Distributed Services” Message-oriented Middleware or Software Overlay Networks; natural approach to both Grids and Collaboration spanning P2P and Server-based scalable systems; NaradaBrokering XGSP provides Web Service (Grid) interfaces for Collaboration Finally GlobalMMCS is the collaboration environment H.323 Introduction • Major audio-video standard but broader • “Binary” format for both “data” and “control” • Supported by many commercial vendors and used throughout the world in commercial and educational markets • Supports small-scale multipoint conferences • Has conference management functionality and the call signaling functionality H.225 ~ call set-up H.245 ~ call control H.243 ~ Audio/Video multipoint control T.120 ~ Data Collaboration H.323 Protocols • H.323 is a “framework” document that describes how the various pieces fit together • H.225.0 defines the call signaling and communication between endpoints (Call Signaling) and the Gatekeeper (RAS) • Annex G/H.225.0 defines communication between Border Elements • H.245 is the conference control protocol Typical H.323 Stack H.323 Multimedia Applications, User Interface Data Applications V.150 T.120 Media Control Audio Video Codecs Codecs G.711 H.261 G.723.1 H.263 G.729 H.264 .. .. T.38 Terminal Control and Management H.225.0 RTCP Call H.245 Signaling H.225.0 RAS RTP UDP TCP TCP/UDP UDP IP http://www.packetizer.com TCP/UDP TCP UDP H.323 Endpoint (Terminal) Architecture Video I/O equipment Audio I/O equipment Audio Codec G.711, G.722, G.723, G.728, G.729 Receive Path Delay H.225.0 Layer System Control H.245 Control System Control User Interface Call Control H.225.0 RAS Control H.225.0 Scope of Rec. H.323 LAN Interface User Data Application T.120, et. Video Codec H.261, H.263 H.323 Architecture Gatekeeper (security, QoS, routing etc.) MC MP MCU Packet Switch Network H.323 Terminal 1 H.323 Terminal 2 .... H.323 Terminal N H.323 MCU Responsible for managing multipoint conferences (two or more endpoints engaged in a conference) The MCU contains • a Multipoint Controller (MC) that manages the call signaling • may optionally have Multipoint Processors (MPs) to handle media mixing, switching, or other media processing H.323 Gatekeeper Admission Control Bandwidth Control Address Resolution DNS style service for VoIP and Videoconferencing Directory Service Call routing route the call to MCUs H.225: Call Setup Signaling Endpoint1 Endpoint2 Gatekeeper ARQ(1) ACF/ARJ(2) Setup(3) Call processing(4) ARQ(5) ACF/ARJ(6) Alert(7) Connect(8) RAS message Call signaling message H.245 Signaling H.245 is used to negotiate capabilities and to control aspects of the conference between two or more endpoints Endpoint Terminal Capability Set M/S Determination Endpoint Terminal Capability Set M/S Determination Ack M/S Determination Ack OpenLogicChannel (OLC) OLC Confirm Open a channel SIP Initially SIP was designed to solve problems for IP telephony. SIP basic functions • user location resolution, • capability negotiation • call management. equivalent to the service H.225 and point to point part of H.245 The major difference from H.323 • SIP was designed in a text format and took request-response protocol style like HTTP • SIP doesn’t define the conference control procedures like multipoint parts of H.245 and T.120. SIP Architecture A Integrated SIP Service System: CINEMA From Columbia University Desktop SIP clients H.323 SIPUA sip323 sipd Gatekeeper SIP-H.323 signaling gateway SIP Programmable SIP servers Conferencing Hardware SIP phone sipconf Unified messaging sipum sipgw SIP-MGCP gateway rtspd MGCP Streaming media SIP-PSTN gateway PSTN Quick-time Regular telephones RTSP Sipconf : SIP based Centralized conferencing SIP323 sipc SIP based conferencing server SIP/SDP and RTP/RTCP Audio mixing Play-out delay algorithm Web based conference setup G.711 A and Mu law, G.721, DVI ADPCM Multiple simultaneous conferences SIP/PSTN http://www.cs.columbia.edu/~kns10/software/sipconf Summary of H.323/SIP Conferencing Systems Most products are Centralized conferencing system MCU integrates the service of media processing service and session management Call-based A conference call represents control connections between clients and MCUs. Most vendors offer hardware solutions Thought as services and controllers but specialized protocols and implementations; NOT Service-Oriented Architectures! Access Grid I Access Grid : a large scale audio/videoconference based on a multicast network provides the group-to-group collaborations among 150 nodes connected to Internet 2 world wide. Use improved MBONE audiovisual tools VIC and RAT Depends upon high-speed network ( each node needs 20Mbps ) Peer to peer architecture for distribution with centralized non standard session control (venue server) Did not develop many new capabilities but made existing public domain software better packaged and easier to use Access Grid II Supports multiple screens and dominates some research communities VRVS: Virtual Rooms VideoConferencing System VRVS is a project from particle physics group at Caltech that extends the service of Access Grid. VRVS builds its collaboration service on top of pure software reflector infrastructure which is a kind of software multicast. (similar to NaradaBrokering ) It is capable of supporting MBONE tools, H.323 terminal as well as QuickTime player. It also supports shared web browsing and shared desktop (VNC). VRVS is not an open project having few documents for their architecture and conference control framework. Skype I Skype: p2p VoIP solution and has become a huge success. • A Peer-to-peer overlay network for VoIP and Instant messages developed by founders of KaZaA. • using p2p overlay (Kazaa) rather than expensive, centralized infrastructure • Free on-net VoIP service and a fee-based off-net SkypeOut service that allows calling to PSTN and cellular phones • provided supplemental features like instant messaging service. • Millions of download and on-line users in the world Skype II Based on Kazaa Overlay network • Unstructured p2p file sharing overlay • Overlay p2p network consisting of ordinary and Super Nodes (SN). • Ordinary node connects to network through a Super Node. Centralized authentication server Excellent Audio quality based on Internet Low Bit rate Codec ILBC (http://rfc3951.x42.com/) iLBC – MOS (Audio Quality) behavior versus percentage packet loss Skype Architecture Skype III Each client maintains a list of super nodes in the Host Cache. Buddy list is local to a machine. Skype client continuously discovers and builds the list of Skype nodes. Use a hybrid DHT and flooding mechanism to search A Super Node acts a proxy for clients and caches the result Skype IV Skype client listens on configured TCP and UDP ports. Uses a variant of STUN to identify the type of NAT and firewall. Usage of TCP port 80 enables client to reach super node even through firewalls. Call signaling is done over TCP, messages are preferably transported over UDP. In the presence of NAT or firewalls, calls between caller and callee are routed by an intermediate node All Skype messages are encrypted. Why is Skype so successful? Better voice quality excellent audio codec, fancy echo cancellation algorithm Global IP Sound ( iLBC audio codec ) Ability to work behind firewalls and NAT Ease of use ( quite simple UI ) based on IM metaphor P2P style without centralized MCU any peer that has enough resource can be selected to host the mixing service limited the number of participants in a conference ( at most 4 which is common for private social meetings ) use p2p overlay to discover resources and route packets But they are simply not good enough! Although all of these systems have advantages, they are not sufficient for building more advanced and integrated collaboration systems: SIP : very limited supported for conference control H.323 : AV collaboration and T.120 are not well integrated. the AV communication services and T.120 overlay networks don’t have very good scalability. H.323 and T.120 are designed in a relative complicated OSI model. It is not easy to understand and develop in their APIs Most H.323 and SIP conferencing products are based on centralized MCU Access Grid : heavily depends on multicast service and limited number of uni-cast bridge servers in the Internet 2 • No way to be deployed in current Internet VRVS : No clear way to generalize Skype : Most promising • use their own propriety protocols and can’t interoperate with other legacy VoIP clients such as H.323 and SIP • only support small-scale audio conferencing ( at most 4-party ) and have no video service What’s the ideal videoconferencing system I A unified, scalable, robust “overlay” network is needed to support AV and data group communication over heterogeneous networking environments • go through firewall and NAT • provide group communication service in whatever unicast and multicast networks • offer reliable data delivery in whatever loss network • to be configured as P2P or distributed server-based overlay to provide differential services for VIP and regular users • Publish-Subscribe collaboration mechanism natural for centralized and P2P modes A service-oriented architecture for hosting media processing service and session control service • More scalable than centralized MCU • Support various style of conferencing ( massive scale of broadcasting as well as medium size of private social meetings ) • Service providers can be highly distributed and p2p ~ Skype p2p audio mixing • Scalable service discovery based on p2p search • Customized media filters for different clients ( PC, PDA, … ) What’s the ideal videoconferencing system II A core conference control mechanism is required for establishing and managing the multi-point conference • Complete conference control service like T.124 (Generic Conference Control) in T.120 framework • more flexible facilities to describe application sessions and entities ( role-based, XML ) • Integrate different AV sessions ( H.323 , SIP, Access Grid, RealStreaming … ) Introduce a common AV signaling protocol to interoperate different AV collaboration endpoints Simply regard these bridging gateways as “add-on services” Global-MMCS is one approach to the ideal conferencing solution NaradaBrokering as “software overlay” • Group communication • Service discovery • Skype and VRVS also are based on similar idea XGSP is Web Service compatible conferencing framework • Service management • Conference control • Common AV signaling protocol Publish-Subscribe as collaboration mechanism • Easy to support new applications Services with SOA as components • Codec conversion or video mixing are separate services • Grids are high performance large scale sevices H.323 Conference Management supported Overlay Network Environment Internet / ISDN Firewall transversal under the support of VPN SIP No IETF Access Grid VRVS Global-MMCS supported supported supported No Need multicast support , No firewall tunneling Reflector Infrastructure Software Multicast Publish/Subscribe Firewall & NAT transversal (VPN optional) Data Collaboration Limited: T.120 whiteboard, File FTP No Limited to ( PowerPoint, Chat ) Limited to ( Shared browsing and VNC ) allows full integration of all tools Floor Control Mechanism H.243 T.120 No Under development No No Chairman based Flexible role setting Scalability Not good Not good Good Good Good Support heterogeneous clients No No No H.323, MBONE CommunityTo-Community Collaboration No No No No H.323, SIP, MBONE, RealPlayer, PDA, Cell Phone Yes Comparison of Global-MMCS with Competitive Systems