Erich Nahum (IBM T.J. Watson Research Center)
The Session Initiation Protocol (SIP) is widely used for controlling communication sessions such as voice and video calls over IP, video conferencing, streaming multimedia distribution, instant messaging, presence information, file transfer and online games. This work introduces several novel load balancing algorithms for distributing SIP requests to a cluster of SIP servers. Our load balancer improves both throughput and response time versus a single node, while exposing a single interface to external clients. We present the design, implementation and evaluation of our system using a cluster of Intel x86 machines running Linux. We compare our algorithms with several well-known approaches and present scalability results for up to 10 nodes. Our best algorithm, Transaction Least-Work-Left (TLWL), achieves its performance by integrating several features: knowledge of the SIP protocol; dynamic estimates of back-end server load; distinguishing transactions from calls; recognizing variability in call length; and exploiting differences in processing costs for different SIP transactions. By combining these features, our algorithm provides finer-grained load balancing than standard approaches, resulting in throughput improvements of up to 24 percent and response time improvements of up to two orders of magnitude. We present a detailed analysis of occupancy to show how our algorithms significantly reduce response time.
Reference: This work appeared in IEEE INFOCOM in 2009 and is accepted to appear in IEEE/ACM Transactions on Networking. This research is joint with Hongbo Jiang of Huazong University of Science and Technology, and Arun Iyengar, Wolfgang Segmuller, Asser Tantawi, and Charles P. Wright of the IBM T.J. Watson Research Center.