NPAC CONFERENCING SYSTEM -------------------------- SUMMARY The goal of this project was to create framework for collaborative system which would enable implementation of real-time conferencing applications such as video and audio tools. Initially these applications were implemented using InSoft’s OpenDVE software development kit but since there were many problems with integration of this system with other NPAC project (f.e. Tango) we decided to create our own environment. The conference in NCS is based on the notion of session. Session is a group of users on different machines connected in virtual many-to-many channel. So far there can only be one session on one machine an just one user on the machine can participate in conference. Many applications can be attached to the session. User can start new session and invite others. Invitation will be visible for remote user provided he has his Conference Manager(CM) running. In this case he can accept orreject the invitation. If he accepts he will become conference participant. From this moment all his NCS application will collaborate within the current session. Each conference participant is free to invite users to participate in conference. There is no other way to join the conference. Each participant can start Conference Application(CA). If it is invoked from CM panel it will be started automatically on all participant machines. Also exiting the application from CM panel causes closing all participant applications. Right now following NCS applications exists: - Video Tool - Audio Tool - Whiteboard TECHNOLOGY Conference System NPAC Conferencing System (NCS) consists of two main modules. First module is the Conference Engine(CE) which contacts the remote hosts, processes control messages from them and passes the indications of events to the Conference Manager(CM). CE also processes the local messages from CM. To create CM the set of API functions is provided. There is also the API for the conference application management. NCS uses UDP (User Datagram Protocol) to speed up data exchange. For real- time applications it fulfills the performance requirements without affecting quality of service. It's up to application to create higher level, more reliable protocol if necessary. However implementing such a protocol for priority messages is also predicted as internal part of CE. Video Tool Using H.261 and H.263 compression it offers very low bandwidth having very good picture quality at the same time. H.263 option takes less bandwidth but is more CPU intensive so for slower machines H.261 algorithm is recommended. Speed can be increased even more by choosing Intra frames only option. However it causes significant increase of used bandwidth. Audio Tool It has two compression options: GSM - used in digital cellular telephony, very bandwidth efficient but designed just for the speech transmission. ADPCM - takes more bandwidth but offers much better quality, good enough even for the music. So far both option exchange 8000 frames per second sound. SCREENDUMPS av.jpg - shows integrated conferencing environment NCS(NPAC Conferencing System) with the audio-video applications attached to it ncsboard.jpg - shows the same system with another application - Whiteboard boardalone.jpg - shows conferencing application Whiteboard alone