Load-Balancing Algorithm for Distributing Session Initiation Protocol (SIP) Requests to A Cluster of SIP Servers



Similar documents
An Efficient Server Load Balancing using Session Management

Efficient load balancing system in SIP Servers ABSTRACT:

How To Write A Load Balancer For An Ip Server Cluster

Design, Implementation, and Performance of A Load Balancer for SIP Server Clusters

Performance Analysis of Load Balancing Algorithms in Distributed System

AN APPROACH TOWARDS THE LOAD BALANCING STRATEGY FOR WEB SERVER CLUSTERS

A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

Journal of Engineering Science and Technology Review 7 (3) (2014) 1 6. Research Article

2.2 SIP-based Load Balancing. 3 SIP Load Balancing. 3.1 Proposed Load Balancing Solution. 2 Background Research. 2.1 HTTP-based Load Balancing

ISSN: (Online) Volume 3, Issue 4, April 2015 International Journal of Advance Research in Computer Science and Management Studies

A Scalable Multi-Server Cluster VoIP System

ISSN Vol.03,Issue.01, January-2014, Pages:

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

Contents. Specialty Answering Service. All rights reserved.

This presentation discusses the new support for the session initiation protocol in WebSphere Application Server V6.1.

Various Schemes of Load Balancing in Distributed Systems- A Review

AN IPTEL ARCHITECTURE BASED ON THE SIP PROTOCOL

Research on P2P-SIP based VoIP system enhanced by UPnP technology

Keywords Load balancing, Dispatcher, Distributed Cluster Server, Static Load balancing, Dynamic Load balancing.

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

SIP A Technology Deep Dive

EE4607 Session Initiation Protocol

TSIN02 - Internetworking

Analysis of IP Network for different Quality of Service

Session Initiation Protocol and Services

A Comparative Study of Signalling Protocols Used In VoIP

SIP: Ringing Timer Support for INVITE Client Transaction

Comparative Study of Load Balancing Algorithms

Comparison on Different Load Balancing Algorithms of Peer to Peer Networks

Chapter 2 PSTN and VoIP Services Context

Design, implementation and analysis of a large scale audio conferencing system using SIP

A Novel Pathway for Portability of Networks and Handing-on between Networks

Integrating Voice over IP services in IPv4 and IPv6 networks

Indepth Voice over IP and SIP Networking Course

A Lightweight Secure SIP Model for End-to-End Communication

SIP, Session Initiation Protocol used in VoIP

Computer Networks. Voice over IP (VoIP) Professor Richard Harris School of Engineering and Advanced Technology (SEAT)

NAT TCP SIP ALG Support

SIP : Session Initiation Protocol

TECHNICAL CHALLENGES OF VoIP BYPASS

7 SIP (II) Call flow for basic call scenario In the case of registration and finding the SIP user Collecting the bill Multiparty conferencing with SIP

An Approach to Load Balancing In Cloud Computing

Two-Stage Forking for SIP-based VoIP Services

How To Use Application Layer Multicast For Media Distribution

Dynamic Scalable Model for Video Conferencing (DSMVC) using Request Routing

Voice over IP. Presentation Outline. Objectives

Design of a SIP Outbound Edge Proxy (EPSIP)

SIP: Protocol Overview

Programming SIP Services University Infoline Service

Sangheon Pack, EunKyoung Paik, and Yanghee Choi

Load Balancing for SIP Server Clusters

NTP VoIP Platform: A SIP VoIP Platform and Its Services

Application Note. Onsight TeamLink And Firewall Detect v6.3

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Effective SIP Servers Load Balancing

SIP OVER NAT. Pavel Segeč. University of Žilina, Faculty of Management Science and Informatics, Slovak Republic

Review: Lecture 1 - Internet History

Internet Working 15th lecture (last but one) Chair of Communication Systems Department of Applied Sciences University of Freiburg 2005

Chapter 7 outline. 7.5 providing multiple classes of service 7.6 providing QoS guarantees RTP, RTCP, SIP. 7: Multimedia Networking 7-71

How To Balance A Web Server With Remaining Capacity

SIP Service Providers and The Spam Problem

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

[Jayabal, 3(2): February, 2014] ISSN: Impact Factor: 1.852

Session Initiation Protocol (SIP)

SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University

Media Gateway Controller RTP

Load Balancing Algorithms for Peer to Peer and Client Server Distributed Environments

Voice over IP & Other Multimedia Protocols. SIP: Session Initiation Protocol. IETF service vision. Advanced Networking

VoIP QoS. Version 1.0. September 4, AdvancedVoIP.com. Phone:

High Performance Cluster Support for NLB on Window

Application Note. Onsight Connect Network Requirements V6.1

White paper. SIP An introduction

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP LTM for SIP Traffic Management

Voice over IP (SIP) Milan Milinković

Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1

A Novel Load Balancing Optimization Algorithm Based on Peer-to-Peer

Load Balancing in Mobile Ad Hoc Networks by Using Different Routing Protocols and Algorithms

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Abstract. 1. Introduction

Chapter 2 Voice over Internet Protocol

A VoIP Traffic Monitoring System based on NetFlow v9

User authentication in SIP

Encapsulating Voice in IP Packets

VIDEOCONFERENCING. Video class

An Evaluation of Architectures for IMS Based Video Conferencing

Multimedia & Protocols in the Internet - Introduction to SIP

10 Signaling Protocols for Multimedia Communication

ETM System SIP Trunk Support Technical Discussion

Conferencing Using the IP Multimedia (IM) Core Network (CN) Subsystem

An investigation into multimedia service creation using SIP

Enabling SIP-Based Services in Ad Hoc Networks

Formación en Tecnologías Avanzadas

DESIGN OF CLUSTER OF SIP SERVER BY LOAD BALANCER

Architecture of End-to-End QoS for VoIP Call Processing in the MPLS Network

SHORT DESCRIPTION OF THE PROJECT...3 INTRODUCTION...4 MOTIVATION...4 Session Initiation Protocol (SIP)...5 Java Media Framework (JMF)...

Application Note. Onsight Connect Network Requirements v6.3

Protecting VoIP Services Against DoS Using Overload Control

Implementing Intercluster Lookup Service

Security issues in Voice over IP: A Review

A Lightweight Countermeasure to Cope with Flooding Attacks Against Session Initiation Protocol

Transcription:

IJSTE - International Journal of Science Technology & Engineering Volume 1 Issue 12 June 2015 ISSN (online): 2349-784X Load-Balancing Algorithm for Distributing Session Initiation Protocol (SIP) Requests to A Cluster of SIP Servers Patel Riken Department of Computer Science & Engineering Narayan Shastri Institute of Technology Abstract This paper introduces load balancing algorithm of distributing Session Initiation Protocol (SIP) request to a cluster of SIP servers. Load balancer algorithm Transaction Least Work Left is used to allocate work to least values of the servers. There are basically two types of session state exist in SIP. The first session state is established by the INVITE transaction and is closed by the BYE transaction. Now a days SIP is employed for IPTV, instant messaging system, audio conferencing and VoIP. Sessionaware request assignment is the system process where a system provides requests to servers so that sessions are properly recognized by that particular server, and next requests corresponding to that same session are provided to the same back-end server. This algorithm Transaction Least-Work-Left gains its performance by estimating several features: dynamic estimates the loads of back end servers, load, information of the SIP protocol, finding variability in call length, dividing transactions from calls. Keywords: Session Initiation Protocol (SIP), Load Balancing, Performance, SIP Server I. INTRODUCTION A session is a semi-permanent interactive information interchange, also referred as a dialogue, a conversation between two or more communicating devices, or between a pc and user [15]. A session is set up or established at a definite purpose in time, and then torn down at some other point. A communication session might involve more than one message in each direction. A session is stateful or stateless. In that case at least one of the communicating parts needs to save information regarding the session information in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses [15]. The Session Initiation Protocol (SIP) is a general-purpose signaling protocol used to control various types of media sessions. SIP is widely used in Voice over IP (VoIP), instant messaging, IPTV, voice conferencing, and video conferencing to maintain a sessions. SIP has a number of new features that distinguish it from other protocols such as HTTP. SIP is a transaction-based protocol frequently referred to as calls. There are two types of session state exist in SIP. The 1st, session state, is created by the INVITE transaction and is destroyed by the BYE transaction [16][9]. Each SIP transaction also creates state that exists for the duration of that transaction [9]SIP thus has overheads that are associated both with sessions and with transactions, and taking advantage of this fact can result in more optimized SIP load balancing. The core IETF SIP specification is given in RFC 3261[13]. Several kinds of sessions can be used, including voice, text, and video, which are transported over a separate dataplane protocol. SIP does not allocate and manage network bandwidth as does a network resource reservation protocol such as RSVP that is considered outside the scope of the protocol. As another example, SIP can run over many protocols such as UDP, TCP, TLS, SCTP, IPv4, and IPv6 [3]. SIP defines a number of logical entities, namely user agents, redirect servers, proxy servers and registrars. SIP Servers are essential network elements that enable SIP endpoints to exchange messages, register user location, and seamlessly move between networks. SIP Servers enable network operators to install routing and security policies, authenticate users and manage user locations [3]. II. RELATED WORK A. Overview of the Protocol: The Session Initiation Protocol (SIP) is a signaling protocol, widely used for maintaining and controlling multimedia communication such as voice and video calls over IP networks [9]. The protocol is defined as the messages that are sent between two or more endpoints, which provide establishment, termination and other essential elements of a call. SIP can be used for creating, modifying and terminating sessions consisting of one or several media streams [3][15][16]. SIP can be used for two- All rights reserved by www.ijste.org 186

party (unicast) or multiparty (multicast) sessions. Other SIP application include video conferencing, streaming multimedia distribution, instant messaging, presence information, file transfer, fax over IP and online games. SIP is a signaling (controlplane) protocol designed to establish, modify, and terminate media sessions between two or more parties. The core IETF SIP specification is given in RFC 3261[13], although there are many additional RFCs that enhance and refine the protocol. Several kinds of sessions can be used, including voice, text, and video, which are transported over a separate data-plane protocol. SIP does not allocate and manage network bandwidth as does a network resource reservation protocol such as RSVP; that is considered outside the scope of the protocol. Fig. 1 illustrates a typical SIP VoIP scenario, known as the SIP Trapezoid. Note the separation between control and data paths: SIP messages traverse the SIP overlay network, routed by proxies, to find the eventual destinations [9]. Once endpoints are found, communication is typically performed directly in a peer-to-peer fashion. Fig. 1: SIP Trapezoid [9] In this example, each endpoint is an IP phone. However, an endpoint can also be a server providing services such as voicemail, firewalling, voice conferencing, etc. The separation of the data plane from the control plane is one of the key features of SIP and contributes to its flexibility [9]. B. SIP Users, Agents, Transactions, and Messages A SIP Uniform Resource Identifier (URI) uniquely identifies a SIP user, e.g., sip:xyz@us.ibm.com. This layer of indirection enables features such as location independence and mobility [9]. SIP users employ endpoints known as user agents. These entities initiate and receive sessions. They can be either hardware or software. User agents are further decomposed into User Agent Clients (UAC) and User Agent Servers (UAS) [5], depending on whether they act as a client in a transaction (UAC) or a server (UAS). Most call flows for SIP messages thus display how the UAC and UAS behave for that situation [9]. Fig. 2: SIP Message Flow All rights reserved by www.ijste.org 187

C. SIP Message Header SIP is a text-based protocol that derives much of its syntax from HTTP. Messages contain headers and additionally bodies, depending on the type of message. In VoIP, SIP messages contain an additional protocol, the Session Description Protocol (SDP), which negotiates session parameters (e.g., which voice codec to use) between endpoints using an offer/answer model. Once the end-hosts agree to the session characteristics, the Real-time Transport Protocol (RTP) is typically used to carry voice data [9]. D. Overview of SIP servers SIP Servers are essential network elements that enable SIP endpoints to exchange messages, registration of user location, and loosely move between networks. SIP Servers provides functionality to network operators to install routing and security policies, authentication of users and management of user locations [3]. There are three types of SIP servers: 1) SIP Registrar Server handles location registration messages. 2) SIP Redirect Server returns the address of another server. 3) SIP Proxy Server forwards SIP requests and responses. III. EXISTING SYSTEM A. Types of Load Balancing Algorithms Load balancing algorithms can have two categories based on initiation of process as follows: 1) Sender Initiated: In this type the load balancing algorithm is initialized by the sender. In this type of algorithm the sender sends request messages till it finds a receiver that can accept the load [1]. 2) Receiver Initiated: In this type the load balancing algorithm is initiated by the receiver. In this type of description algorithms the receiver sends request messages till it finds a sender that can get the load [1]. 3) Symmetric: It is the combination of both sender initiated and receiver initiated. Depending on the current state of the system, load balancing algorithms can be divided into two categories as static and dynamic load balancing algorithms. B. Static Load Balancing In static load balancing, the performance of the servers is determined at the beginning of execution. Then depending upon their performance the work load is assigned by the master server. The slave servers calculate their allocated work and submit their result to the master. A task is always executed on the servers to which it is assigned that is static load balancing methods are nonpreemptive. The goal of static load balancing method is to reduce the execution time, minimizing the communication delays [1]. 1) Round Robin Algorithm Round Robin algorithm distributes jobs evenly to all slave servers. All jobs are assigned to slave servers based on Round Robin order, meaning that server choosing is performed in series and will be back to the first server the last server has been reached. Servers choosing are performed locally on each server, independent of allocations of other servers [1]. 2) Randomized Algorithm Randomized algorithm uses random numbers to choose slave servers. The slave servers are chosen randomly following random numbers generated based on a statistic distribution [1]. 3) Central Manager Algorithm Central server will choose a slave server to be assigned a job. The chosen slave server is the server having the least load. The central server is able to gather all slave servers load information, thereof the choosing based on this algorithm are possible to be performed. The load manager makes load balancing decisions based on the system load information, allowing the best decision when of the requests arrived [1]. 4) Threshold Algorithm In Threshold algorithm, the requests are assigned immediately upon creation to hosts. Hosts for new requests are selected locally without sending remote messages. Each server keeps a private copy of the system s load. The load of a server can characterize by one of the three levels: Under loaded, medium and overloaded. Two threshold parameters t_under and t_upper can be used to describe these levels. Under loaded: load <t_under, Medium:t_under load t_upper, Overloaded: load >t_upper [1]. All rights reserved by www.ijste.org 188

C. Dynamic Load Balancing Unlike static algorithms, dynamic algorithms allocate requests dynamically when one of the servers becomes under loaded. Instead, they are buffered in the queue on the main host and allocated dynamically upon requests from remote hosts [1]. Central Queue Algorithm It stores new activities and unfulfilled requests as a cyclic FIFO queue on the main host. Each new activity arriving at the queue manager is inserted into the queue. Then, whenever a request for an activity is received by the queue manager, it removes the first activity from the queue and sends it to the requester. If there are no ready activities in the queue, the request is buffered, until a new activity is available. If a new activity arrives at the queue manager while there are unanswered requests in the queue, the first such request is removed from the queue and the new activity is assigned to it [1]. 1) Local Queue Algorithm The basic idea of the local queue algorithm is static allocation of all new requests with process migration initiated by a host when its load falls under threshold limit, is a user-defined parameter of the algorithm. The parameter defines the minimal number of ready requests the load manager attempts to provide on each server. 2) Response-Time Weighted Moving Average Another method is to make load-balancing decisions based on server response times. The Response-time Weighted Moving Average (RWMA) algorithm assigns calls to the server with the lowest weighted moving average response time of the last n response time samples. The formula for computing the RWMA linearly weights the measurements so that the load balancer is responsive to dynamically changing loads, but does not overreact if the most recent response time measurement is highly anomalous. The most recent sample has a weight of (n), the second most recent a weight of (n-1), and the oldest a weight of one [9]. D. New Methods: 3) Call-Join-Shortest-Queue (CJSQ): Tracks the number of calls allocated to each back-end server and routes new SIP calls to the node with the least number of active calls. The CJSQ algorithm estimates the amount of work a server has left to do base on the number of calls (sessions) assigned to the server. Counters are maintained by the load balancer indicating the number of calls assigned to each server. When a new INVITE request is received (which corresponds to a new call), the request is assigned to the server with the lowest counter, and the counter for the server is incremented by one [9]. 4) Transaction-Join-Shortest-Queue (TJSQ): Routes a new call to the server that has the fewest active transactions, rather than the fewest calls. This algorithm improves on CJSQ by recognizing that calls in SIP are composed of the two transactions, INVITE and BYE, and that by tracking their completion separately, finer-grained estimates of server load can be maintained. This leads to better load balancing, particularly since calls have variable length and thus do not have a unit cost [9]. 5) Transaction-Least-Work-Left (TLWL): Routes a new call to the server that has the least work, where work (i.e., load) is based on relative estimates of transaction costs. TLWL takes advantage of the observation that INVITE transactions are more expensive than BYE transaction. IV. PROPOSED METHOD A. Overview of Proposed Work There are many SIP load balancing methods for servers like Round Robin, Hash algorithm, Response-Time Weighted Moving Average, Call-Join-Shortest-Queue (CJSQ), Transaction-Join Shortest-Queue (TJSQ), Transaction-Least-Work-Left (TLWL).Dynamic algorithms etc. But above algorithms have some disadvantages.the hash algorithm is not guaranteed to assign the same number of calls to each server, In Round robin when the jobs are of unequal processing time this algorithm suffers as the some nodes can become severely loaded while others remain idle. Round Robin is generally used in web servers where generally HTTP requests are of similar nature and thereby be distributed equally. Static load balancing algorithms are more stable than dynamic. But dynamic load balancing algorithms are always better than static as per as overload rejection, reliability, adaptability, cooperativeness, fault tolerant, resource utilization, response & waiting time and throughput is concert. Call-Join-Shortest-Queue (CJSQ), Transaction-Join Shortest-Queue (TJSQ) and Transaction-Least-Work-Left (TLWL) algorithms are recently developed in this research space. From above three algorithms Transaction-Least-Work-Left is more efficient in terms of response time, throughput, Occupancy and Response Time, Heterogeneous Back Ends, Load Balancer Capacity, SIP Server Performance. All rights reserved by www.ijste.org 189

B. System Architecture: Fig. 3: System Architecture Figure 3 depicts our overall system. User Agent Clients send SIP requests (e.g., INVITE, BYE) to our load balancer, which then selects a SIP server to handle each request. The distinction between the various load-balancing algorithms presented in this paper is how they choose which SIP server to handle a request. Servers send SIP responses (e.g., 180 TRYING or 200 OK) to the load balancer, which then forwards the response to the client. Note that SIP is used to establish, alter, or terminate media sessions. Once a session has been established, the parties participating in the session would typically communicate directly with each other using a different protocol for the media transfer, which would not go through our SIP load balancer. C. Work Flow of Proposed system: Fig. 4: Load Balancer Architecture Figure 4 illustrates the structure of the load balancer. The rectangles represent key functional modules of the load balancer, while the irregular shaped Boxes represent state information that is maintained. The arrows represent communication flows. The Receiver receives requests that are then parsed by the Parser. The Session Recognition module determines if the request corresponds to an already existing session by querying the Session State, which is implemented as a hash table as described below. If so, the request is forwarded to the server to which the session was previously assigned. If not, the Server Selection module assigns the new session to a server using one of the algorithms described earlier. For several of the load-balancing algorithms we have implemented, these assignments may be based on Load Estimates maintained for each of the servers. The Sender forwards requests to servers and updates Load Estimates and Session State as needed. The Receiver also receives responses sent by servers. The client to receive the response is identified by the Session Recognition module, which obtains this information by querying the Session State. The Sender then sends the response to the client and updates Load Estimates and Session State as needed. The Trigger module updates Session State and Load Estimates after a session has expired. All rights reserved by www.ijste.org 190

V. IMPLEMENTATION & RESULTS A. Load Balancing Pseudo Code: In this section, we present in detail the experimental results of the load-balancing algorithms with its performance parameters. All rights reserved by www.ijste.org 191

A. Response Time: We observe significant differences in the response times of the both load-balancing algorithms. Performance is limited by the CPU processing power of the servers and not by memory. Figure 5 and 6 shows the average response time for each algorithm versus offered load measured for the INVITE transaction. In this experiment, the load balancer distributes requests across eight back-end SIP server nodes. The sharp increases that are seen in response times for the final data points in the figure are due to the system approaching overload. The significant improvements in response time that TLWL and TJSQ provide present a compelling reason for systems such as these to use our algorithms. Section VI-C provides a detailed analysis of the reasons for the large differences in response times that we observe. Fig. 5: Graph of Response Time versus Load of Server Fig. 6: Graph of Response Time versus Load for Three Algorithms All rights reserved by www.ijste.org 192

B. Throughput: Figure 7 and 8 represents graphs of throughput of existing algorithms (TJSQ and CJSQ) and proposed algorithm TLWL is described. We now examine how our load-balancing algorithms perform in terms of how well throughput scales with increasing numbers of back-end servers. Therefore, linear scalability suggests a maximum possible throughput of about maximum calls for eight nodes. CJSQ is significantly worse than the others since it does not distinguish call hold times in the way that the transaction-based algorithms do. Experiments we ran that did not include pause times showed CJSQ providing very good performance, comparable to TJSQ. This is perhaps not surprising since, when there are no pause times, the algorithms are effectively equivalent. TJSQ does better than most of the other algorithms. This shows that knowledge of SIP transactions and paying attention to the call hold time can make a significant difference, particularly in contrast to CJSQ. Fig. 7: Graph Of Throughput Versus Number Of Nodes Fig. 8: Graph of Throughput Versus Node For Three Algorithms All rights reserved by www.ijste.org 193

C. Occupancy and Response Time: We demonstrate how the different algorithms behave in terms of occupancy namely, the number of requests allocated to the system. The occupancy for a transaction T assigned to a server S is the number of transactions already being handled by when is assigned to it. Figure 9 and 10 shows the cumulative distribution function (CDF) of the occupancy as seen by a request at arrival time for one back-end node for CJSQ and TJSQ algorithms: This shows how many requests are effectively ahead in line of the arriving request. Intuitively, it is clear that the more requests there are in service when a new request arrives, the longer that new request will have to wait for service. One can observe that the two Transaction-based algorithms see lower occupancies for the full range of the distribution. Fig. 9: Graph of Cumulative Distribution Function versus Occupancy Fig. 10: Graph of CDF versus Occupancy for Three Algorithms All rights reserved by www.ijste.org 194

VI. CONCLUSION Our paper introduces three novel approaches to load balancing in SIP server clusters (CJSQ, TJSQ, and TLWL.). We present the design, implementation, and evaluation of a load balancer for cluster based SIP servers. Our load balancer performs sessionaware request assignment to ensure that SIP transactions are routed to the proper back end node that contains the appropriate session state. By combining knowledge of the SIP protocol, recognizing variability in call lengths, distinguishing transactions from calls, and accounting for the difference in processing costs for different SIP transaction types, load balancing for SIP servers can be significantly improved. Several opportunities exist for potential future work. These include evaluating our algorithms on larger clusters to further test their scalability, adding a fail-over mechanism to ensure that the load balancer is not a single point of failure, and looking at other SIP workloads such as instant messaging or presence. REFERENCES [1] A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters. Abhijit A. Rajguru, S.S. Apte. Issue-3, s.l. : International Journal of Recent Technology and Engineering (IJRTE), August 2012, Vols. Volume-1, pp. 175-179. ISSN: 2277-3878. [2] A Comparative Study of SIP Overload Control Algorithms. Yang Hong, Changcheng Huang, James Yan. 2013, pp. 1-15. [3] An Efficient Server Load Balancing using Session Management. S.Tharani, Balika.J.Chelliah, Dr.J.Jagadeesan. 2, s.l. : International Journal of Application or Innovation in Engineering & Management, February 2014, Vol. 3, pp. 26-30. [4] An Evaluation Framework for Highly Available and Scalable SIP Server Clusters. Jong Yul Kim, Gregory W. Bond,Eric Cheung,Thomas M. Smith,Henning Schulzrinne. [5] An Optimization Model of Load Balancing in P2P SIP Architecture. Kai Shuang, Liying Chen. 11.3, s.l. : International Journal of Digital Content Technology and its Applications, 07 11, 2013, Vol. 7, pp. 18-24. [6] Application-Layer Mobility Using SIP. Henning Schulzrinne, ElinWedlund. 2005. IEEE. Vol. 01, pp. 01-09. [7] Comparison between two approaches to overload control in a Real Server: local or hybrid solutions? Pignolo, S. Montagna and M. Valletta : IEEE, 2012. Mediterranean Electrotechnical Conference. pp. 845-849. ISBN:978-1-4244-5793-9. [8] Comparison of SIP and H.323 Protocols. Ilija Basicevic, Miroslav Popovic, Dragan Kukolj. s.l. : IEEE, 2008. The Third International Conference on Digital Telecommunications. pp. 162-167. 978-0-7695-3188. [9] Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters. Hongbo Jiang, Arun Iyengar, Erich Nahum, Wolfgang Segmuller,Asser N. Tantawi and Charles P.Wright. s.l. : IEEE, june 2012, Vol. 4, pp. 1190-1202. [10] Efficient Failover and Load Balancing for Dependable SIP Proxy Servers. Yun-Jung Cheng, Kuochen Wang, Rong-Hong Jan, Chien Chen, Chia-Yuan Huang. Marrakech : IEEE, 2008. Computers and Communications, 2008. ISCC 2008. IEEE Symposium on. pp. 1153-1158. E-ISBN :978-1-4244-2703-1. [11] Past, Present and Future of IP Telephony. Vasco N. G. J. Soares, Paulo A. C. S. Neves, and Joel J. P. C. Rodrigues. Portugal : IEEE, 2008. International Conference on Communication Theory, Reliability, and Quality of Service. pp. 19-24. [12] Performance Analysis of Load Balancing Algorithms in Distributed System. Deepika, Divya Wadhwa and Nitin Kumar. s.l. : Advance in Electronic and Electric Engineering,Research India Publications, 2014, Vol. 4, pp. 59-66. ISSN 2231-1297. [13] RFC-3261. ietf.org. [Online] https://www.ietf.org/rfc/rfc3261.txt. [14] Session Initiated Protocol Message-based Load Balancing. Stalvig, Paul. F5 networks,inc. [Online] may 30, 2008. https://f5.com/. [15] Session(computerscience).en.wikipedia.org.[Online]http://en.wikipedia.org/wiki/Session_%28computer_science%29. [16] Session_Initiation_Protocol.http://en.wikipedia.org.[Online]http://en.wikipedia.org/wiki/Session_Initiation_Protocol. [17] SIP OVERLOAD CONTROL TESTBED: DESIGN, BUILDING AND EVALUATION. Ahmad reza Montazerolghaem, Mohammad Hossein Yaghmaee. Mashhad : International Journal of Ambient Systems and Applications, june 2013, Vol. 1, pp. 17-26. [18] SIP TRAFFIC LOAD BALANCING. Farha, Ramy. 2004, International Association of Science and Technology Development. [19] SIPGlossary.http://www.sipknowledge.com.[Online]http://www.sipknowledge.com/SIPGlossary.htm. [20] Towards effective SIP load Balancing. Georgios Kambourakis, Dimitris Geneiatakis, Tasos Dagiuklas, Costas Lambrinoudakis, Stefanos Gritzalis. [21] Two Stage Secure Dynamic Load Balancing Architecture for SIP Server Clusters. Manikandan, G. Vennila* and MSK. august 2014, JOURNAL OF Engineering Science and Technology Review, pp. 01-06. [22] A new methodology to adapt SIP Protocol for voice traffic transported over IP Network. Abdelhamid Mellouk, Mustapha GUEZOUR. Es Senia, Oran, ALGERIA : IEEE, 2006. pp. 01-06. 0-7695-2522-9/06. [23] Overload Protection in a SIP Signaling Network. Ohta, Masataka. Hiratuka, Kanagawa, Japan : IEEE, 2005, Vol. 06, pp. 01-06. 0-7695-2649-7/06. [24] Research on SIP and H.323 Protocol Conversion. Si Haiyang, Dong Liyan, Liu Zhaojun. Changchun, China : IEEE, 2008. The 3rd Intetnational Conference on Innovative Computing Information. pp. 01-04. 978-0-7695-3161-8/08. [25] Design and Implementation of a Low Cost DNS-based Load Balancing Solution for the SIP-based VoIP Service. Jenq-Shiou Leu, Hui-Ching Hsieh, Yen- Chiu Chen, and Yuan-Po Chi. Taipei, Taiwan : IEEE, 2008. Asia-Pacific Services Computing Conference. pp. 310-314. 97-2221-E-011-085. [26] Performance Evaluation of SIP Servers. Caixia Chi, Dong Wang, Ruibing Hao, Wei Zhou. s.l. : IEEE, 2002, pp. 01-06. [27] Controlling Overload in Networks of SIP Servers. Widjaja, Volker Hilt and Indra. Holmdel,Murray Hill,USA : IEEE, 2008, pp. 83-93. 1-4244-2507-5/08. [28] Overload Control in SIP Servers: Evaluation and Improvement. Maryam Homayouni, Mojtaba Jahanbakhsh, Vahid Azhari, Ahmad Akbari. Tehran, Iran : IEEE, 2010. 17th International Conference on Telecommunications. pp. 666-672. 978-1-4244-5247-7/09. All rights reserved by www.ijste.org 195