{'fraction_non_alphanumeric': 0.015408320493066256, 'fraction_numerical': 0.0, 'mean_word_length': 5.625850340136054, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Towards high-availability for IP telephony using virtual machines

Virtualization technology is popular today for hosting Internet and cloud-based compute services. Recently, the IP Communications domain has seen the adoption of virtualization with enterprise telephony solutions being hosted in virtualized environments. A deployment scenario that is common in the IP communications domain is the virtual appliance. A virtual appliance encapsulates the IP Telephony application, such as a VoIP Call/Proxy Server, and the OS software, within a virtual machine. This allows for a single physical machine to host a number of virtual appliances — each being a telephony application deployed on an OS configuration for which it has been optimized. Apart from the well known benefits of virtualization such as server consolidation and improved resource utilization, a promising capability of virtualization technology is that of live virtual machine migration. In case of failure, a live virtual appliance can be efficiently and transparently migrated to a different physical machine with minimal impact on clients using the hosted IP communication service, thereby providing high-availability and fault tolerance. This work studies the feasibility of deploying IP communications infrastructure on virtualized platforms, with high-availability and reliability as a goal. We model a real IP telephony workload to understand the performance implications of such a deployment, and the effectiveness of these high-availability mechanisms. We use quantitative methods to measure performance such as call throughput, delay and packet loss. By understanding the characteristics of IP telephony workloads, we identify specific aspects that affect performance and also identify some optimal configurations. The results presented in this work will be useful for telecommunication service providers to understand the benefits and limitations of such a deployment.