logging in or signing up HAPPY DIWALI aSGuest1329 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 762 Category: Occasions/ Fam.. License: All Rights Reserved Like it (0) Dislike it (0) Added: October 19, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Happy DiwaliA Festival of Light : Happy DiwaliA Festival of Light Diwali or Deepaawali means an Array of Lamps i.e .Rows of diyas (Deep = Lamp, Vali =Array). Of all the festivals celebrated in India, Diwali is by far the most glamorous and important. Enthusiastically enjoyed by people of every religion, its magical and radiant touch creates an atmosphere of joy and festivity. As a family festival, it is celebrated 20 days after Dussehra, on the 13th day of the dark fortnight of the month of Ashwin (October / November). This year it falls on 14th Nov. It is a festival of lights symbolizing the victory of righteousness and the lifting of spiritual darkness. It celebrates the victory of good over evil - and the glory of light. This festival commemorates Lord Rama's return to his kingdom Ayodhya after completing his 14-year exile. Homes are decorated, sweets are distributed by everyone and thousands of lamps lit to create a world of fantasy. Diwali is a time for fun and revelry. Diwali is also a time for pooja and tradition. An Overview of CINEMA Implementation : An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Presented by: Kundan Singh Joint work with Wenyu Jiang, Jonathan Lennox, Sankaran Narayanan, Henning Schulzrinne and Min Yan Nov 14, 2001 IRT Group Meeting OverviewMultimedia Communication Protocols : 3 OverviewMultimedia Communication Protocols OverviewCINEMA - Columbia InterNet Extensible Multimedia Architecture : 4 OverviewCINEMA - Columbia InterNet Extensible Multimedia Architecture CINEMA Libraries CINEMA Applications A flexible architecture to support wide range of multimedia communication applications, both clients and servers Proxy server, media server, voice mail, conferencing, etc. Parsing, SIP, SDP, RTP, mySQL interface, SNMP interface, Portability stubs, etc. OverviewSIP and sipd : 5 OverviewSIP and sipd Address based on email (alice@home.com) Columbia.edu Cisco.com home.com office.com Alice Bob DNS home.compc1.home.com pc1.home.com 129.59.19.140 INVITE alice@home.com INVITE alice@m2.home.com (proxy mode) (2) (3) m2.home.com sipd Overviewsipd – Example scenario : 6 Overviewsipd – Example scenario (1) An Overview of CINEMA Implementation : 7 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Various CINEMA libraries and their functionality ModulesFunctionality : 8 ModulesFunctionality Message parsing: SIP, RTSP Transaction state and client branch User agent call state Interface to external modules: database, SNMP Higher level policy: sip-cgi Canonicalize: e.g., Henning.Schulzrinne => hgs Authentication: basic, digest ModulesMessage Parsing (libcine) : 9 ModulesMessage Parsing (libcine) GET /sip HTTP/1.0 Host: www.cs.columbia.edu … DESCRIBE rtsp://… RTSP/1.0 Accept: application/sdp … INVITE sip:… SIP/2.0 From: kns10@cs … Utilities for URL, headers, constructing and parsing messages ModulesTransaction state (libsip) : 10 ModulesTransaction state (libsip) A request and all its responses RTSP vs SIP requests Request can be Proxied Redirected Generated Terminated ModulesCall state (libsip++) : 11 ModulesCall state (libsip++) Modulescanonicalization [libcanon] : 12 Modulescanonicalization [libcanon] Bob.Wilson canonicalize bob@cs ModulesLibraries : 13 ModulesLibraries Parsing, SIP, SDP, RTP, mySQL interface, SNMP interface, Portability stubs, etc. ModulesLayered structure : 14 ModulesLayered structure Transport layer (TCP/UDP) RTP Interface HTTP Message Parsing RTSP transaction SIP transaction Client Branch RTSP API RTSP server SIPUA API SIP proxy Other Applications An Overview of CINEMA Implementation : 15 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Our test-bed architecture and its components Test-bed Architecture : 16 Test-bed Architecture Proxy, Redirect, Registration server. Authentication Programmable (SIP- CGI) OpenSource SQL database: MySQL http://www.mysql.com User information: Contact location Profile (e.g., password) Aliases Address book System information Configuration Test-bed Architecture : 17 Test-bed Architecture User profile can be modified using web browser. Creating new user (admin/normal) Changing profile and contact information (“follow me” service). Web CGI scripts Both sipd and web scripts use the database Test-bed Architecture : 18 Test-bed Architecture IP phones connected to the departmental LAN. Users are identified by id, e.g., “hgs@cs.columbia.edu” Software (sipc) for desktop. Allows audio, video, chat, white board, device control, instant message, presence and desktop sharing. Test-bed Architecture : 19 Test-bed Architecture Phones register themselves with sipd when powered up. Sipd stores the contact information in the database table: hgs@cs.columbia.edu => hgs@128.59.19.233 There can be multiple contacts. All registered phones ring, and the first to pick up is connected. Registration can also be altered from the web interface Test-bed Architecture : 20 Test-bed Architecture (2) Phone rings, the user picks up the call and can talk to the caller. (1) When somebody calls hgs@cs.columbia.edu, sipd gets the INVITE message and “proxies” the call to the current location. Another IP phone Based on user profile, sipd may ask for caller authentication. Test-bed Architecture : 21 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Cisco 2600 router with SIP/PSTN gateway connects the departmental LAN with the PBX. Departmental PBX (Nortel Meridian) connects both internal and external lines to the gateway. Telephone switch Internal T1 External T1 (Extension:713x) Dial “8” to reach outside line Test-bed Architecture : 22 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX (2) The gateway forwards all PSTN calls to sipd; sip:7132@128.59.19.141 (1) When PBX receives a call for 9397132, it forwards the call to extension 7132. 7130-7139 is assigned to the gateway. Telephone switch Internal T1 (Extension:713x) Dials 9397132 128.59.19.141 (3) Sipd looks into the dialplan, finds a mapping 7132=>hgs@cs.columbia.edu and forwards the call to the current location of “hgs”. Test-bed Architecture : 23 Test-bed Architecture Telephone SIP/PSTN Gateway 128.59.19.28 Department PBX (2) Sipd authenticates the caller and checks permissions. Sipd maps the number 5551212 to 85551212@128.59.19.28, adding the prefix “8” and the gateway address. (3) PBX forwards the call to external line. Telephone switch 128.59.19.141 (1) The IP user dials “sip:5551212@cs.columbia.edu”. Dial “8” to reach outside line External T1 (4) PSTN user receives the call. Test-bed Architecture : 24 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Can use no-DID (direct inward dialing) mode for more numbers. Telephone number mappings and privileges modifiable from the web Telephone switch Internal T1 External T1 Additional Services : 25 Additional Services Advantage: cost savings + new services “Think of receiving your voicemail messages in an email that you can later play out in a conference to show it to others” Easy integration of email, web, instant messaging, etc. Open architecture vs Close architecture (traditional telephones) Test-bed Architecture : 26 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Programmable server: SIP-CGI and Call Processing Language (CPL) Telephone switch Scripts can be uploaded by clients also. Test-bed Architecture : 27 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX SNMP agent for SIP MIB. Allows remote monitoring and control of the SIP server. (e.g., prompt when an unauthorized registration is attempted) Telephone switch Test-bed Architecture : 28 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Allows an H323 client (Netmeeting) to use the services of our SIP infrastructure. Test-bed Architecture : 29 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Provides a voice mail and answering machine service to all the registered users. Has web interface for accessing voice mails. Generic media server for playback and recording of messages. Can work with existing RTSP client, Apple’s QuickTime. Test-bed Architecture : 30 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Centralized conferencing server for audio and video. Users can join from IP as well as PSTN. Test-bed Architecture : 31 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Netmeeting user dials “sip:meeting@cs.columbia.edu” SIP user dials “sip:meeting@cs.columbia.edu” PSTN user dials 1-212-9397139 Sipd maps 7139=> meeting@128.59.19.196 128.59.19.196 Our IP telephony test-bed : 32 Our IP telephony test-bed Telephone SIP/PSTN Gateway Department PBX Telephone switch W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, “Towards Junking the PBX: Deploying IP Telephony". NOSSDAV 2001, PSTN to IP Call : 33 PSTN to IP Call Direct Inward Dial (DID) - direct and simple No-DID - dial extension, supports more users IP to PSTN Call : 34 IP to PSTN Call Note: In this direction there is no distinction between DID and non-DID calls. An Overview of CINEMA Implementation : 35 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Discussion of some performance issues and solutions PerformanceWhy is it important ? : 36 PerformanceWhy is it important ? Reduce server cost per user => more users per server Registration: 100 requests/s => 180000 registered users (1 hr refresh time, digest authentication) Call: 100 requests/s => 120000 calls per hour (record route) Bandwidth: 1 Gb/s => (approx) 6250 bi-directional G.711 simultaneous participants in a conference. PerformanceFor which components ? : 37 PerformanceFor which components ? Signaling: proxy, registrar (sipd) Receive message Act on it (canonicalize, database lookup) Proxy the message Send/proxy response back Media: sipconf, rtspd Some processing for each media stream File I/O Encode/decode (audio mixing) Forward packets (video) PerformanceThreads : 38 PerformanceThreads One thread per request For 1MB virtual memory per thread on 32 bit machine: max limit of 4000 threads. OS limits (for regular user 1024 pthreads on solaris) 30 second wait per stateful INVITE request; limits to 130 R/s Thread creation overhead Customize stack size Use thread pool or event model PerformanceThread pool : 39 PerformanceThread pool Request are put in an event queue Worker threads pick up the event and execute Fix the number of worker threads G/G/T/N queue Use thread pool for all requests Need to rewrite sleep/wakeup so that 30 sec wait does not waste a thread Will multiple process help? may be for stateless proxies PerformanceIn-memory DB : 40 PerformanceIn-memory DB Every query to database affects turn-around time Duplicate the DB in main memory; hash-table Less than 4k per user (?) Replacement algorithm? Not needed Synchronization: separate threads Primary user table, aliases: relatively static, readonly by sipd, refresh every 30 min Contacts table: read-write, refreshed every 2 min Read only modified records since last read, write back only modified records PerformanceDatabase : 41 PerformanceDatabase NFS issues (log, scripts, database files?) SQL logging: currently serialized; use lazy write back; logging at the end of request processing, so it does not affect response time but consumes resources (worker thread) for longer time per request DB on same machine or on remote machine? PerformanceBandwidth : 42 PerformanceBandwidth Assuming avg message length 130 bytes; on 100 Mb/s with effective 40%, 3000 requests/s Affects more to media components Number of simultaneous media streams served by rtspd Number of participants in a conference by sipconf Number of simultaneous three party conferences by sipconf PerformanceGeneral Comments : 43 PerformanceGeneral Comments Measure performance on various platforms (Linux, Solaris Netra, Dec Alpha) Compare stateless vs stateful proxy Compare in-memory (fastsql) vs database (sql) An Overview of CINEMA Implementation : 44 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Compilation : 45 Compilation Autoconf, configure and make for Unix platforms Solaris, Linux, FreeBSD, Tru64 $ ./configure –with-mysql=… --with-… $ make sipconf Microsoft VC++ 6.0 for Windows NT/2000 Makefile.in (global), module.mk (per module) InstallationAnd software distribution : 46 InstallationAnd software distribution GUI based configuration Package manager (Sun, Linux, FreeBSD,…), Installation scripts, windows install shield Monitor scripts, RC PortabilityCross platform support : 47 PortabilityCross platform support Endian-ness: Big endian (Sparc, DEC), little endian (Intel) 32 bit vs 64 bit Unix vs Windows standard libraries (threads) Re-entrant APIs (gethostbyname_r, strtok_r) NTutils for win32 Shared libraries compilation (?) Documentation : 48 Documentation software documentation: http://www.cs.columbia.edu/IRT/cinema Overview: Paper: http://www.cs.columbia.edu/~hgs/papers/Jian0106_Junking.pdf Tech report (incomplete): http://www.cs.columbia.edu/~kns10/publication/cinematr.pdf Compilation instructions: README, README.build, NT/README.win32 files This presentation: http://www.cs.columbia.edu/~kns10/talks (will be put up shortly) Current and Future Work : 49 Current and Future Work Improved installation Address book Calendar and event notification Conference recording (local file, media server) File sharing in a conference from web Voice dialogs for conferencing and voicemail Load balancing on multiple conference servers Conference (floor) control from web Current and Future Work : 50 Current and Future Work From a multimedia communication test bed to a multimedia collaboration portal environment Scaling to large call volumes and users PublicationsFor more information : 51 PublicationsFor more information W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, “Towards Junking the PBX: Deploying IP Telephony". NOSSDAV 2001, H. Schulzrinne, S. Narayanan, J. Lennox and M. Doyle, “SIPstone – Benchmarking SIP Server Performance”. Aug 2001. http://www.sipstone.org Kundan Singh, Gautam Nair and Henning Schulzrinne, "Centralized Conferencing using SIP". Proceedings of the 2nd IP-Telephony Workshop (IPTel'2001), April 2001. K. Singh, H.Schulzrinne, "Interworking Between SIP/SDP and H.323". Proceedings of the 1st IP-Telephony Workshop (IPTel'2000), April 2000. Kundan Singh and Henning Schulzrinne, "Unified Messaging using SIP and RTSP". IP Telecom Services Workshop 2000, Sept 2000. Atlanta, Georgia, U.S.A. You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
HAPPY DIWALI aSGuest1329 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 762 Category: Occasions/ Fam.. License: All Rights Reserved Like it (0) Dislike it (0) Added: October 19, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Happy DiwaliA Festival of Light : Happy DiwaliA Festival of Light Diwali or Deepaawali means an Array of Lamps i.e .Rows of diyas (Deep = Lamp, Vali =Array). Of all the festivals celebrated in India, Diwali is by far the most glamorous and important. Enthusiastically enjoyed by people of every religion, its magical and radiant touch creates an atmosphere of joy and festivity. As a family festival, it is celebrated 20 days after Dussehra, on the 13th day of the dark fortnight of the month of Ashwin (October / November). This year it falls on 14th Nov. It is a festival of lights symbolizing the victory of righteousness and the lifting of spiritual darkness. It celebrates the victory of good over evil - and the glory of light. This festival commemorates Lord Rama's return to his kingdom Ayodhya after completing his 14-year exile. Homes are decorated, sweets are distributed by everyone and thousands of lamps lit to create a world of fantasy. Diwali is a time for fun and revelry. Diwali is also a time for pooja and tradition. An Overview of CINEMA Implementation : An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Presented by: Kundan Singh Joint work with Wenyu Jiang, Jonathan Lennox, Sankaran Narayanan, Henning Schulzrinne and Min Yan Nov 14, 2001 IRT Group Meeting OverviewMultimedia Communication Protocols : 3 OverviewMultimedia Communication Protocols OverviewCINEMA - Columbia InterNet Extensible Multimedia Architecture : 4 OverviewCINEMA - Columbia InterNet Extensible Multimedia Architecture CINEMA Libraries CINEMA Applications A flexible architecture to support wide range of multimedia communication applications, both clients and servers Proxy server, media server, voice mail, conferencing, etc. Parsing, SIP, SDP, RTP, mySQL interface, SNMP interface, Portability stubs, etc. OverviewSIP and sipd : 5 OverviewSIP and sipd Address based on email (alice@home.com) Columbia.edu Cisco.com home.com office.com Alice Bob DNS home.compc1.home.com pc1.home.com 129.59.19.140 INVITE alice@home.com INVITE alice@m2.home.com (proxy mode) (2) (3) m2.home.com sipd Overviewsipd – Example scenario : 6 Overviewsipd – Example scenario (1) An Overview of CINEMA Implementation : 7 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Various CINEMA libraries and their functionality ModulesFunctionality : 8 ModulesFunctionality Message parsing: SIP, RTSP Transaction state and client branch User agent call state Interface to external modules: database, SNMP Higher level policy: sip-cgi Canonicalize: e.g., Henning.Schulzrinne => hgs Authentication: basic, digest ModulesMessage Parsing (libcine) : 9 ModulesMessage Parsing (libcine) GET /sip HTTP/1.0 Host: www.cs.columbia.edu … DESCRIBE rtsp://… RTSP/1.0 Accept: application/sdp … INVITE sip:… SIP/2.0 From: kns10@cs … Utilities for URL, headers, constructing and parsing messages ModulesTransaction state (libsip) : 10 ModulesTransaction state (libsip) A request and all its responses RTSP vs SIP requests Request can be Proxied Redirected Generated Terminated ModulesCall state (libsip++) : 11 ModulesCall state (libsip++) Modulescanonicalization [libcanon] : 12 Modulescanonicalization [libcanon] Bob.Wilson canonicalize bob@cs ModulesLibraries : 13 ModulesLibraries Parsing, SIP, SDP, RTP, mySQL interface, SNMP interface, Portability stubs, etc. ModulesLayered structure : 14 ModulesLayered structure Transport layer (TCP/UDP) RTP Interface HTTP Message Parsing RTSP transaction SIP transaction Client Branch RTSP API RTSP server SIPUA API SIP proxy Other Applications An Overview of CINEMA Implementation : 15 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Our test-bed architecture and its components Test-bed Architecture : 16 Test-bed Architecture Proxy, Redirect, Registration server. Authentication Programmable (SIP- CGI) OpenSource SQL database: MySQL http://www.mysql.com User information: Contact location Profile (e.g., password) Aliases Address book System information Configuration Test-bed Architecture : 17 Test-bed Architecture User profile can be modified using web browser. Creating new user (admin/normal) Changing profile and contact information (“follow me” service). Web CGI scripts Both sipd and web scripts use the database Test-bed Architecture : 18 Test-bed Architecture IP phones connected to the departmental LAN. Users are identified by id, e.g., “hgs@cs.columbia.edu” Software (sipc) for desktop. Allows audio, video, chat, white board, device control, instant message, presence and desktop sharing. Test-bed Architecture : 19 Test-bed Architecture Phones register themselves with sipd when powered up. Sipd stores the contact information in the database table: hgs@cs.columbia.edu => hgs@128.59.19.233 There can be multiple contacts. All registered phones ring, and the first to pick up is connected. Registration can also be altered from the web interface Test-bed Architecture : 20 Test-bed Architecture (2) Phone rings, the user picks up the call and can talk to the caller. (1) When somebody calls hgs@cs.columbia.edu, sipd gets the INVITE message and “proxies” the call to the current location. Another IP phone Based on user profile, sipd may ask for caller authentication. Test-bed Architecture : 21 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Cisco 2600 router with SIP/PSTN gateway connects the departmental LAN with the PBX. Departmental PBX (Nortel Meridian) connects both internal and external lines to the gateway. Telephone switch Internal T1 External T1 (Extension:713x) Dial “8” to reach outside line Test-bed Architecture : 22 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX (2) The gateway forwards all PSTN calls to sipd; sip:7132@128.59.19.141 (1) When PBX receives a call for 9397132, it forwards the call to extension 7132. 7130-7139 is assigned to the gateway. Telephone switch Internal T1 (Extension:713x) Dials 9397132 128.59.19.141 (3) Sipd looks into the dialplan, finds a mapping 7132=>hgs@cs.columbia.edu and forwards the call to the current location of “hgs”. Test-bed Architecture : 23 Test-bed Architecture Telephone SIP/PSTN Gateway 128.59.19.28 Department PBX (2) Sipd authenticates the caller and checks permissions. Sipd maps the number 5551212 to 85551212@128.59.19.28, adding the prefix “8” and the gateway address. (3) PBX forwards the call to external line. Telephone switch 128.59.19.141 (1) The IP user dials “sip:5551212@cs.columbia.edu”. Dial “8” to reach outside line External T1 (4) PSTN user receives the call. Test-bed Architecture : 24 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Can use no-DID (direct inward dialing) mode for more numbers. Telephone number mappings and privileges modifiable from the web Telephone switch Internal T1 External T1 Additional Services : 25 Additional Services Advantage: cost savings + new services “Think of receiving your voicemail messages in an email that you can later play out in a conference to show it to others” Easy integration of email, web, instant messaging, etc. Open architecture vs Close architecture (traditional telephones) Test-bed Architecture : 26 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Programmable server: SIP-CGI and Call Processing Language (CPL) Telephone switch Scripts can be uploaded by clients also. Test-bed Architecture : 27 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX SNMP agent for SIP MIB. Allows remote monitoring and control of the SIP server. (e.g., prompt when an unauthorized registration is attempted) Telephone switch Test-bed Architecture : 28 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Allows an H323 client (Netmeeting) to use the services of our SIP infrastructure. Test-bed Architecture : 29 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Provides a voice mail and answering machine service to all the registered users. Has web interface for accessing voice mails. Generic media server for playback and recording of messages. Can work with existing RTSP client, Apple’s QuickTime. Test-bed Architecture : 30 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Centralized conferencing server for audio and video. Users can join from IP as well as PSTN. Test-bed Architecture : 31 Test-bed Architecture Telephone SIP/PSTN Gateway Department PBX Telephone switch Netmeeting user dials “sip:meeting@cs.columbia.edu” SIP user dials “sip:meeting@cs.columbia.edu” PSTN user dials 1-212-9397139 Sipd maps 7139=> meeting@128.59.19.196 128.59.19.196 Our IP telephony test-bed : 32 Our IP telephony test-bed Telephone SIP/PSTN Gateway Department PBX Telephone switch W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, “Towards Junking the PBX: Deploying IP Telephony". NOSSDAV 2001, PSTN to IP Call : 33 PSTN to IP Call Direct Inward Dial (DID) - direct and simple No-DID - dial extension, supports more users IP to PSTN Call : 34 IP to PSTN Call Note: In this direction there is no distinction between DID and non-DID calls. An Overview of CINEMA Implementation : 35 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Discussion of some performance issues and solutions PerformanceWhy is it important ? : 36 PerformanceWhy is it important ? Reduce server cost per user => more users per server Registration: 100 requests/s => 180000 registered users (1 hr refresh time, digest authentication) Call: 100 requests/s => 120000 calls per hour (record route) Bandwidth: 1 Gb/s => (approx) 6250 bi-directional G.711 simultaneous participants in a conference. PerformanceFor which components ? : 37 PerformanceFor which components ? Signaling: proxy, registrar (sipd) Receive message Act on it (canonicalize, database lookup) Proxy the message Send/proxy response back Media: sipconf, rtspd Some processing for each media stream File I/O Encode/decode (audio mixing) Forward packets (video) PerformanceThreads : 38 PerformanceThreads One thread per request For 1MB virtual memory per thread on 32 bit machine: max limit of 4000 threads. OS limits (for regular user 1024 pthreads on solaris) 30 second wait per stateful INVITE request; limits to 130 R/s Thread creation overhead Customize stack size Use thread pool or event model PerformanceThread pool : 39 PerformanceThread pool Request are put in an event queue Worker threads pick up the event and execute Fix the number of worker threads G/G/T/N queue Use thread pool for all requests Need to rewrite sleep/wakeup so that 30 sec wait does not waste a thread Will multiple process help? may be for stateless proxies PerformanceIn-memory DB : 40 PerformanceIn-memory DB Every query to database affects turn-around time Duplicate the DB in main memory; hash-table Less than 4k per user (?) Replacement algorithm? Not needed Synchronization: separate threads Primary user table, aliases: relatively static, readonly by sipd, refresh every 30 min Contacts table: read-write, refreshed every 2 min Read only modified records since last read, write back only modified records PerformanceDatabase : 41 PerformanceDatabase NFS issues (log, scripts, database files?) SQL logging: currently serialized; use lazy write back; logging at the end of request processing, so it does not affect response time but consumes resources (worker thread) for longer time per request DB on same machine or on remote machine? PerformanceBandwidth : 42 PerformanceBandwidth Assuming avg message length 130 bytes; on 100 Mb/s with effective 40%, 3000 requests/s Affects more to media components Number of simultaneous media streams served by rtspd Number of participants in a conference by sipconf Number of simultaneous three party conferences by sipconf PerformanceGeneral Comments : 43 PerformanceGeneral Comments Measure performance on various platforms (Linux, Solaris Netra, Dec Alpha) Compare stateless vs stateful proxy Compare in-memory (fastsql) vs database (sql) An Overview of CINEMA Implementation : 44 An Overview of CINEMA Implementation Overview Modules Applications Performance Misc Compilation Installation Portability Current and Future work Compilation : 45 Compilation Autoconf, configure and make for Unix platforms Solaris, Linux, FreeBSD, Tru64 $ ./configure –with-mysql=… --with-… $ make sipconf Microsoft VC++ 6.0 for Windows NT/2000 Makefile.in (global), module.mk (per module) InstallationAnd software distribution : 46 InstallationAnd software distribution GUI based configuration Package manager (Sun, Linux, FreeBSD,…), Installation scripts, windows install shield Monitor scripts, RC PortabilityCross platform support : 47 PortabilityCross platform support Endian-ness: Big endian (Sparc, DEC), little endian (Intel) 32 bit vs 64 bit Unix vs Windows standard libraries (threads) Re-entrant APIs (gethostbyname_r, strtok_r) NTutils for win32 Shared libraries compilation (?) Documentation : 48 Documentation software documentation: http://www.cs.columbia.edu/IRT/cinema Overview: Paper: http://www.cs.columbia.edu/~hgs/papers/Jian0106_Junking.pdf Tech report (incomplete): http://www.cs.columbia.edu/~kns10/publication/cinematr.pdf Compilation instructions: README, README.build, NT/README.win32 files This presentation: http://www.cs.columbia.edu/~kns10/talks (will be put up shortly) Current and Future Work : 49 Current and Future Work Improved installation Address book Calendar and event notification Conference recording (local file, media server) File sharing in a conference from web Voice dialogs for conferencing and voicemail Load balancing on multiple conference servers Conference (floor) control from web Current and Future Work : 50 Current and Future Work From a multimedia communication test bed to a multimedia collaboration portal environment Scaling to large call volumes and users PublicationsFor more information : 51 PublicationsFor more information W. Jiang, J. Lennox, H. Schulzrinne and K. Singh, “Towards Junking the PBX: Deploying IP Telephony". NOSSDAV 2001, H. Schulzrinne, S. Narayanan, J. Lennox and M. Doyle, “SIPstone – Benchmarking SIP Server Performance”. Aug 2001. http://www.sipstone.org Kundan Singh, Gautam Nair and Henning Schulzrinne, "Centralized Conferencing using SIP". Proceedings of the 2nd IP-Telephony Workshop (IPTel'2001), April 2001. K. Singh, H.Schulzrinne, "Interworking Between SIP/SDP and H.323". Proceedings of the 1st IP-Telephony Workshop (IPTel'2000), April 2000. Kundan Singh and Henning Schulzrinne, "Unified Messaging using SIP and RTSP". IP Telecom Services Workshop 2000, Sept 2000. Atlanta, Georgia, U.S.A.