Optimal deployment of open source application servers providing multimedia services

This article shows the usage and the experimental analysis of open source software packages for designing and implementing carrier-grade multimedia services. The shown implementation is based on the use of Java Call Control APIs for managing SIP sessions and MGCP connections. This JCC implementation has been integrated within an open source platform, Mobicents JSLEE. Mobicents is a runtime environment suitable for deploying services integrating voice, video, and messaging over different networks. An extensive experimental campaign has allowed suitable deployment strategies to be identified, depending on the service features. The main contribution of this article is to present these strategies, consisting of resource allocation and configuration in a virtualized environment. The results of our experiments are aimed at providing general guidance on configuring servers in a virtualized environment such as a cloud. They can also be helpful to address the server placement problem, which is beyond the scope of this article. An additional contribution of this article consists of a simple and effective model to predict the achievable server throughput, expressed in calls per second. For this purpose, we have measured the CPU time for processing SIP and MGCP messages, and estimated the maximum sustainable load of each virtual machine. In this way, we can preliminarily estimate the number of virtualized instances of the platform needed for handling a given workload with the desired quality of service.

[1]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[2]  Jean-Charles Grégoire,et al.  IMS Application Servers: Roles, Requirements, and Implementation Technologies , 2008, IEEE Internet Computing.

[3]  Mauro Femminella,et al.  Performance management of Java-based SIP application servers , 2011, 12th IFIP/IEEE International Symposium on Integrated Network Management (IM 2011) and Workshops.

[4]  Azer Bestavros,et al.  Distributed Placement of Service Facilities in Large-Scale Networks , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[5]  Henning Schulzrinne,et al.  The Session Initiation Protocol: Internet-centric signaling , 2000, IEEE Commun. Mag..

[6]  Athanasios V. Vasilakos,et al.  Managing Performance Overhead of Virtual Machines in Cloud Computing: A Survey, State of the Art, and Future Directions , 2014, Proceedings of the IEEE.

[7]  Jordi Torres,et al.  Autonomic Placement of Mixed Batch and Transactional Workloads , 2012, IEEE Transactions on Parallel and Distributed Systems.

[8]  Henning Schulzrinne,et al.  Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP) , 2004, RFC.

[9]  Bryan Veal,et al.  Performance scalability of a multi-core web server , 2007, ANCS '07.

[10]  Yuval Shavitt,et al.  Constrained mirror placement on the Internet , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[11]  Qian Zhu,et al.  Resource Provisioning with Budget Constraints for Adaptive Applications in Cloud Environments , 2010, IEEE Transactions on Services Computing.

[12]  J. Morris Chang,et al.  Multithreading in Java: Performance and Scalability on Multicore Systems , 2011, IEEE Transactions on Computers.

[13]  Asser N. Tantawi,et al.  Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters , 2012, IEEE/ACM Transactions on Networking.

[14]  Yi Zhao,et al.  Tale in the Multi-Core Era: Is Java Still Competitive to Host SIP Applications? , 2009, 2009 IEEE International Conference on Communications.

[15]  Mauro Femminella,et al.  Enhancing java call control with media server control functions , 2013, IEEE Communications Magazine.