SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com
ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62

RESEARCH ARTICLE

OPEN ACCESS

Implementation of a Load Balancer for Instant Messaging over
SIP Server Clusters with Improved Response time
P. Lekha Chandra 1 A.Rama Satish 2
STUDENT, D V R & Dr H S MIC College of Technology, Kanchikacherla, Krishna (Dt).
Associate Professor, D V R & Dr H S MIC College of Technology, Kanchikacherla, Krishna (Dt).

Abstract—
This paper introduces an implementation of a Load balancer in a cluster of SIP servers which supports
instant messages. The implementation uses TLWL algorithm which provides significantly better
response time by distributing requests across the cluster more evenly, thus minimizing occupancy and
the corresponding amount of time a particular request waits behind others for service. Resulting in
this algorithm improves throughput and response-time of servers. Load balancer maintains sessions in
which requests corresponding to the same session are sent by the load balancer to the same server.
Load balancer improves both throughput and response time versus a single node while exposing a
single interface to external clients.
Index Terms— SIP servers, Load balancer, Least-Work-Left algorithm
I. INTRODUCTION
The Session Initiation Protocol (SIP) is a
signaling
protocol
used
for
controlling
communication sessions such as voice and video calls
SIP is an application layer protocol which is
independent of underlying layer. SIP [5],[6],[7] is a
protocol of growing importance with uses in Voice
over IP (VoIP). In large scale ISP’s need to
provide support to millions of users. Hence, a central
component is required to distribute worked across
multiple server clusters. The mechanism is known as
the load balancing and the device that does the load
balancing is called the Load Balancer [4]. It fulfils
the demands included in Integrated Services Digital
Networks (ISDN) decades ago because it achieves
real service integration and offers proven
interoperability. The SIP easily integrates the existing
technologies of the Internet with instant messaging,
presence services, voicemail and email, and network
games. Work on SIP began back in 1995 and the first
mature SIP RFC that fixed the shortcomings of the
previous version (2543) was published in 2002. One
of the fundamental characteristics of VoIP with SIP
is that signaling with SIP usually takes a completely
different path through the Internet than the media of a
running call. It can happen that a call between two
participants cannot be established only because one
of the servers in the signaling chain is not reachable.
We present here a solution to protect a SIP service
against all error types except client failures. We join
the forces of several geographically distributed SIP
servers to a community which we call a federation.
But if their primary server is not reachable for one of
the clients, it can simply switch over to one of the
www.ijera.com

other servers within the federation. A frequent
mechanism to scale a service is to use some form of a
load-balancing dispatcher that distributes requests
across a cluster of servers. We introduce new
algorithms that outperform existing ones. This work
is relevant not just to SIP, but also for other systems
where it is advantageous for the load balancer to
maintain sessions in which requests corresponding to
the same session are sent by the load balancer to the
same server. SIP is a transaction-based protocol
designed to establish and tear down media sessions,
frequently referred to as call .
Session-aware request assignment (SARA) is the
process where a system assigns requests to servers
such that sessions are properly recognized by that
server, and subsequent requests corresponding to that
same session are assigned to the same server. While
SARA can be done in HTTP [2] for performance
reasons, it is not necessary for correctness. HTTP
load balancers do not take sessions into account in
making load-balancing decisions. One another key
aspect of the SIP protocol is that different transaction
types, most notably the INVITE and BYE
transactions, can incur significantly different
overheads. A load balancer can make use of this
information to make better load-balancing decisions
that improve both response time [10] and throughput.

Call-Join-Shortest-Queue (CJSQ) [1] 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
 Transaction-Join-Shortest-Queue
[1](TJSQ)
routes a new call to the server that has the
fewest active transactions, rather than the
fewest calls. CJSQ by recognizing that calls in
58 | P a g e
P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com
ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62
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
Transaction-Least-Work-Left (TLWL) [1] routes a
new call to the server that has the least work. It takes
advantage of the observation that INVITE
transactions are more expensive than BYE
transactions
We implement these algorithms in
software by adding them to the OpenSER [3] opensource SIP server configured as a load balancer.
Using the open-source SIPP workload generator
driving traffic through the load balancer to a cluster
of servers running a commercially available SIP
server[8]. Our load balancer can effectively scale SIP
server throughput and provide significantly lower
response times without becoming a bottleneck.
Dramatic response time reductions that we achieve
with TLWL and TJSQ suggest that these algorithms
should be adapted for other applications, particularly
when response time is crucial.

SIP uses HTTP-like request/response transactions.
The consists of a request to perform a particular
method and at least one response to that request. The
responses may be provisional that they provide some
short-term feedback to the user to indicate progress
or they can be final. A SIP session is a relationship in
SIP between two user agents that lasts for some time
period; in VoIP, a session corresponds to a phone
call, which is called a dialog in SIP and results in
state being maintained on the server for the duration
of the session. A BYE message creates a new
transaction and when the transaction completes, ends
the session. A typical message flow where SIP
messages are routed through the proxy [9] as
illustrated in fig.2.

II. BACKGROUND
Overview of Protocol:
SIP is a signaling protocol designed to establish,
terminate and modify media sessions between two or
more parties. Several kinds of sessions can be used.
The SIP does not allocate and manage network
bandwidth as does a network resource reservation
protocol that is considered outside the scope of the
protocol. ―SIP Trapezoid‖ a typical SIP VoIP
scenario as shown in the fig.1 [1].

Fig. 1. SIP Trapezoid
Fig.2. Message flow of the SIP

Once endpoints are found, communication is
typically performed directly in a peer-to-peer fashion.
The separation of the data plane from the control
plane is one of the key features of SIP and
contributes to its flexibility. The SIP protocol
requires that proxies forward and preserve headers.
SIP Users, Agents, Transactions, and Messages:
A SIP Uniform Resource Identifier (URI)
uniquely identifies a SIP user. This layer of
indirection enables features such as location
independence and mobility. The SIP users employ
endpoints known as user agents. These entities
initiate and receive sessions. User agents are further
decomposed into User Agent Clients (UAC) and User
Agent Servers (UAS), depending on whether they act
as a client in a transaction (UAC) or a server (UAS).
www.ijera.com

Message Header of SIP:
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. SIP messages contain an additional protocol
in VoIP, the Session Description Protocol (SDP),
which negotiates session parameters between
endpoints using an offer/answer model.

III. EXISTING SYSTEM
User Agent Clients send SIP requests (e.g.,
INVITE, BYE) to our load balancer that then selects
a SIP server to handle each request. The system is
depicted in the fig.3 [1]. The SIP responses send by
the servers to the load balancer is then forward to the
client.
59 | P a g e
P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com
ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62
the calls assigned to servers but does not have an
accurate estimate of the transactions assigned to
servers.

Fig. 3. System architecture

Once a session has been established, then
the parties participating in the session would typically
communicate directly with each other using a
different protocol for the media transfer.
Novel Algorithm:
A key aspect of our load balancer is that
requests corresponding to the same call are routed to
the same server. Load balancer has the freedom to
pick a server only on the first request of a call.
Therefore, all subsequent requests corresponding to
the call must go to the same server. Our new loadbalancing algorithms are based on assigning calls to
servers by picking the server with the (estimated)
least amount of work assigned but not yet completed.
The concept of assigning work to servers with the
least amount of work left to do have been applied in
other contexts, and then the specifics of how to do
this efficiently for a real application are often not at
all obvious. The system needs another method to
reliably estimate the amount of work that a server [8]
has left to do at the time load-balancing decisions are
made. The load balancer can estimate the work
assigned to a server based on the requests it has
assigned to the server and the responses it has
received from the server. The responses from servers
to clients first go through the load balancer that
forwards the responses to the appropriate clients. The
load balancer can determine when a server has
finished processing a request or call and update the
estimates it is maintaining for the work assigned to
the server.
The Call-Join-Shortest-Queue algorithm
estimates the amount of work a server has left to do
based on the number of calls assigned to the server.
The counters are maintained by the load balancer
indicating the number of calls assigned to each
server. A limitation of this approach is that the
number of calls assigned to a server is not always an
accurate measure of the load on a server. In addition,
different calls may consist of different numbers of
transactions and may consume different amounts of
server resources. Advantages of CJSQ can be used in
environments in which the load balancer is aware of
www.ijera.com

An alternative method is to estimate server
load based on the number of transactions (requests)
assigned to the servers. Transaction-Join-ShortestQueue algorithm estimates the amount of work a
server has left to do base on the number of
transactions (requests) assigned to the server. The
counters are maintained by the load balancer
indicating the number of transactions assigned to
each server. A limitation of this approach is that all
transactions are weighted equally. New calls are
assigned to servers with the lowest counter. INVITE
requests are more expensive than BYE requests since
the INVITE transaction state machine is more
complex than the one for non-INVITE transactions in
the SIP protocol.
The Transaction-Least-Work-Left algorithm
addresses this issue by assigning different weights to
different transactions depending on their relative
costs. It is quite similar by relative overhead; in the
special case that all transactions have the same
expected overhead. Counters are maintained by the
load balancer indicating the waiting number of
transactions assigned to each server. A ratio is
defined in terms of relative cost of INVITE to BYE
transactions. New calls are assigned to the server
with the lowest counter. TLWL estimates server load
based on the weighted number of transactions a
server is currently handling. TLWL can be adapted to
workloads with other transaction types by using
different weights based on the overheads of the
transaction types.
Implementation:
The rectangles represent key functional modules
of the load balancer, while the irregular shaped boxes
represent state information that is maintained. The
structure of the load balancing factor is illustrated in
fig.4. The arrows represent communication flows.
Receiver receives requests that are then parsed by the
Parser. Session Recognition module determines if the
request corresponds to an already existing session by
querying the Session State. If so, the request is
forwarded to the server to which the session was
previously assigned; else the Server Selection module
assigns the new session to a server using one of the
algorithms described earlier. The Sender forwards
requests to servers and updates Load Estimates and
Session State as needed. Receiver also receives
responses sent by servers. The client to receive the
response is identified by the Session Recognition
module. The Sender then sends the response to the
client and updates Load Estimates and Session State
as needed. Trigger module updates Session State and
60 | P a g e
P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com
ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62
Load Estimates after a session has expired. Our load
balancer selects the appropriate server to handle the
first request of a call. When a new transaction
corresponding to the call is received, it will be routed
to the correct server.

Fig. 4.Load balancer architecture

When an INVITE request arrives
corresponding to a new call, the call is assigned to a
server using one of the algorithms [1]. Subsequent
requests corresponding to the call are always sent to
the same machine to where the original INVITE was
assigned. The load balancer stops sending requests to
the server if a server fails. The load balancer can be
notified to start sending requests to the server again if
the failed server is later revived.
A primary load balancer could be configured
with a secondary load balancer that would take over
in the event that the primary fails. The primary load
balancer would periodically checkpoint its state,
either to the secondary load balancer over the
network or to a shared disk. Future area of research is
to implement this fail over scheme in a manner that
both optimizes performance and minimizes lost
information in the event that the primary load
balancer fails.

IV.PROPOSED SYSTEM
While conceptually and technically TLWL,
TJSQ use similar principles for assigning sessions to
servers, there are considerable differences between
them in terms of performance polling and estimations
of server stress conditions. Although their
performance is validated through a complex data
(VOIP) oriented SIP mechanisms, we would like to
extend them to other areas of communication
technologies.
Propose to evaluate our algorithms
on larger clusters to further test their scalability,
adding a fail-over mechanism using a load balancer
which overcomes the single point of failure
problems, and will implement this scalability on
other SIP workloads such as instant messaging.
Instant messaging (IM) is a type of online chat
which offers real time text transmission over the
internet. Short messages are typically transmitted bidirectionally between two parties, when each user
www.ijera.com

chooses to complete a thought and select "send".
Instant messaging systems tend to facilitate
connections between specified known users .Instant
messaging has proven to be similar to personal
computers, email, and the WWW, in that its adoption
for use as a business communications medium was
driven primarily by individual employees using
consumer software at work, rather than by formal
mandate or provisioning by corporate information
technology departments. Tens of millions of the
consumer IM accounts in use are being used for
business purposes by employees of companies and
other organizations.
V. PERFORMANCE ANALYSIS
TLWL algorithm [1] helps to select a server
from cluster of servers which has very least work left
for messing sending. Graph shows the relationship
between response time and server nodes for both
voice call and instant messaging. In voice call
number of server nodes increases response time also
increases and in instant messing even though the
server nodes increases there is no drastic increment in
response time and it maintain almost equal response
for this proposed system . Server limit is not controls
overall system performance.

Comparison between number of server nodes and response
time

Several opportunities exist for potential future work.
This include design and implementation of secondary
load balancer to handle overall session in failure of
primary load balancer without effecting the data
transformation between clients.
REFERENCES
Hongbo Jiang, Erich Nahum, Wolfgang
Segmuller, Asser N. Tantawi, and Charles
P.Wright, ―Design, Implementation, and
Performance of a Load Balancer for SIP
Server Clusters,‖ in Proc. IEEE/ACM
transactions on networking, Oct. 2009.
[2] R.Fielding ,JGettvs, J.Mogul,H.frvstyk and
t.Berners-Lee, ‖Hypertext Trasfer ProtocolHTTP/1.1,‖ Internet Engineering Task Force,
RFC 2068, Jan 1997.
[3] M. Aron, P. Druschel, and W. Zwaenepoel,
―Efficient support for P-HTTP in cluster[1]

61 | P a g e
P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com
ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62

[4]

[5]

[6]

[7]

[8]

[9]

[10]

based Web servers,‖ in Proc. USENIX Annu.
Tech. Conf., Monterey, CA, Jun. 1999, pp.
185–198.
Hongbo Jiang, Erich Nahum, Wolfgang
Segmuller, Asser N. Tantawi, and Charles
P.Wright, ―Design, Implementation, and
Performance of a Load Balancer for SIP
Server Clusters,‖ in Proc. IEEE/ACM
transactions on networking, Oct. 2009.
V.Hilt and I.Widjaja, ―Controlling overload n
networks
of
SIP
servers,‖
in
Proc.IEEEICNP.Orlandp.FL.
Oct
2008,pp.83-93.
E. Nahum, J. Tracey, and C. P. Wright,
―Evaluating SIP proxy server performance,‖
in
Proc.
17th
NOSSDAV,
Urbanachampaign,IL, Jun 2007,pp.79-85.
Foundry Networks,‖ ServerIron switches
support SIP load balancing VOIP/SIP traffic
Available:http://www.foundrynet.com/solutio
ns/sol-app-switch/sol- voip-sip/
M. Aron and P. Druschel, ―TCP
implementation enhancements for improving
Webserver performance,‖ Computer Science
Department, Rice University, Houston, TX,
Tech. Rep. TR99-335, Jul. 1999.
E. Nahum, J. Tracey, and C. P. Wright,
―Evaluating SIP proxy server performance,‖
in Proc. 17th NOSSDAV, Urbana champaign,
IL, Jun 2007,pp.79-85.
Z. Fei, S. Bhattacharjee, E. Zegura, and M.
Ammar, ―A novel server selection technique
for improving the response time of a
replicated ser vice,‖ in Proc. IEEE
INFOCOM, 1998, vol. 2, pp. 783–791.

www.ijera.com

62 | P a g e

Weitere ähnliche Inhalte

Was ist angesagt?

Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented CommunicationDilum Bandara
 
RPC communication,thread and processes
RPC communication,thread and processesRPC communication,thread and processes
RPC communication,thread and processesshraddha mane
 
Remote procedure call on client server computing
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computingSatya P. Joshi
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Avishek Sarkar
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure CallAbdelrahman Al-Ogail
 
Rpc (Distributed computing)
Rpc (Distributed computing)Rpc (Distributed computing)
Rpc (Distributed computing)Sri Prasanna
 
Reducing download time through mirror servers
Reducing download time through mirror serversReducing download time through mirror servers
Reducing download time through mirror serverseSAT Publishing House
 
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...ijwmn
 
File transfer protocol- Gowdham
File transfer protocol- GowdhamFile transfer protocol- Gowdham
File transfer protocol- GowdhamGowdham P
 
Review on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancingReview on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancingeSAT Publishing House
 
Review on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancingReview on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancingeSAT Journals
 
Asynchronous Message Passing
Asynchronous Message PassingAsynchronous Message Passing
Asynchronous Message PassingVIKASH MAINANWAL
 

Was ist angesagt? (19)

Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
RPC communication,thread and processes
RPC communication,thread and processesRPC communication,thread and processes
RPC communication,thread and processes
 
Rpc
RpcRpc
Rpc
 
Cs 704 d rpc
Cs 704 d rpcCs 704 d rpc
Cs 704 d rpc
 
Rpc
RpcRpc
Rpc
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
message passing
 message passing message passing
message passing
 
Remote procedure call on client server computing
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computing
 
Rpc
RpcRpc
Rpc
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
 
Rpc (Distributed computing)
Rpc (Distributed computing)Rpc (Distributed computing)
Rpc (Distributed computing)
 
Reducing download time through mirror servers
Reducing download time through mirror serversReducing download time through mirror servers
Reducing download time through mirror servers
 
Remote method invocation (RMI)
Remote method invocation (RMI)Remote method invocation (RMI)
Remote method invocation (RMI)
 
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...
 
File transfer protocol- Gowdham
File transfer protocol- GowdhamFile transfer protocol- Gowdham
File transfer protocol- Gowdham
 
Review on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancingReview on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancing
 
Review on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancingReview on tls or ssl session sharing based web cluster load balancing
Review on tls or ssl session sharing based web cluster load balancing
 
Asynchronous Message Passing
Asynchronous Message PassingAsynchronous Message Passing
Asynchronous Message Passing
 

Andere mochten auch (20)

P410498102
P410498102P410498102
P410498102
 
S4103115122
S4103115122S4103115122
S4103115122
 
N41049093
N41049093N41049093
N41049093
 
Q4103103110
Q4103103110Q4103103110
Q4103103110
 
W4103136140
W4103136140W4103136140
W4103136140
 
T4103123127
T4103123127T4103123127
T4103123127
 
B41030620
B41030620B41030620
B41030620
 
Bc4103338340
Bc4103338340Bc4103338340
Bc4103338340
 
Aq4103266271
Aq4103266271Aq4103266271
Aq4103266271
 
Z4103148155
Z4103148155Z4103148155
Z4103148155
 
N41038288
N41038288N41038288
N41038288
 
Ad4103173176
Ad4103173176Ad4103173176
Ad4103173176
 
Aw4103303306
Aw4103303306Aw4103303306
Aw4103303306
 
An4103230235
An4103230235An4103230235
An4103230235
 
História e Literatura MNAA
História e Literatura MNAAHistória e Literatura MNAA
História e Literatura MNAA
 
GMDSS renewd
GMDSS renewdGMDSS renewd
GMDSS renewd
 
Datos UEM
Datos UEMDatos UEM
Datos UEM
 
articol 9
articol 9articol 9
articol 9
 
George Coppock Set work
George Coppock Set workGeorge Coppock Set work
George Coppock Set work
 
4
44
4
 

Ähnlich wie J41035862

Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...
Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...
Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...Impetus Technologies
 
Survey on SIP Overload Protection/Control Algorithms
Survey on SIP Overload Protection/Control AlgorithmsSurvey on SIP Overload Protection/Control Algorithms
Survey on SIP Overload Protection/Control AlgorithmsYang Hong
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecturesuks_87
 
Review of SIP based DoS attacks
Review of SIP based DoS attacksReview of SIP based DoS attacks
Review of SIP based DoS attacksEditor IJCATR
 
Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2Techglyphs
 
Protocol For Streaming Media
Protocol For Streaming MediaProtocol For Streaming Media
Protocol For Streaming MediaKaniska Mandal
 
NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...
NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...
NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...ijngnjournal
 
Performance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticorePerformance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticoreCSCJournals
 
A Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework SurveyA Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework SurveyIRJET Journal
 
An Architectural Framework for Delivering Sip-As Multimedia Services Based on...
An Architectural Framework for Delivering Sip-As Multimedia Services Based on...An Architectural Framework for Delivering Sip-As Multimedia Services Based on...
An Architectural Framework for Delivering Sip-As Multimedia Services Based on...josephjonse
 
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES ijwscjournal
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES ijwscjournal
 
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES ijwscjournal
 

Ähnlich wie J41035862 (20)

Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
50120140501015 2
50120140501015 250120140501015 2
50120140501015 2
 
Performance in soa context
Performance in soa contextPerformance in soa context
Performance in soa context
 
50120140501015 2
50120140501015 250120140501015 2
50120140501015 2
 
50120140501015 2
50120140501015 250120140501015 2
50120140501015 2
 
Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...
Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...
Multiplexing in Thrift: Enhancing thrift to meet Enterprise expectations- Imp...
 
Thrift
ThriftThrift
Thrift
 
Survey on SIP Overload Protection/Control Algorithms
Survey on SIP Overload Protection/Control AlgorithmsSurvey on SIP Overload Protection/Control Algorithms
Survey on SIP Overload Protection/Control Algorithms
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Review of SIP based DoS attacks
Review of SIP based DoS attacksReview of SIP based DoS attacks
Review of SIP based DoS attacks
 
Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2
 
Protocol For Streaming Media
Protocol For Streaming MediaProtocol For Streaming Media
Protocol For Streaming Media
 
NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...
NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...
NETWORK PERFORMANCE EVALUATION WITH REAL TIME APPLICATION ENSURING QUALITY OF...
 
Performance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticorePerformance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On Multicore
 
A Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework SurveyA Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework Survey
 
An Architectural Framework for Delivering Sip-As Multimedia Services Based on...
An Architectural Framework for Delivering Sip-As Multimedia Services Based on...An Architectural Framework for Delivering Sip-As Multimedia Services Based on...
An Architectural Framework for Delivering Sip-As Multimedia Services Based on...
 
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
 
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Kürzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

J41035862

  • 1. P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62 RESEARCH ARTICLE OPEN ACCESS Implementation of a Load Balancer for Instant Messaging over SIP Server Clusters with Improved Response time P. Lekha Chandra 1 A.Rama Satish 2 STUDENT, D V R & Dr H S MIC College of Technology, Kanchikacherla, Krishna (Dt). Associate Professor, D V R & Dr H S MIC College of Technology, Kanchikacherla, Krishna (Dt). Abstract— This paper introduces an implementation of a Load balancer in a cluster of SIP servers which supports instant messages. The implementation uses TLWL algorithm which provides significantly better response time by distributing requests across the cluster more evenly, thus minimizing occupancy and the corresponding amount of time a particular request waits behind others for service. Resulting in this algorithm improves throughput and response-time of servers. Load balancer maintains sessions in which requests corresponding to the same session are sent by the load balancer to the same server. Load balancer improves both throughput and response time versus a single node while exposing a single interface to external clients. Index Terms— SIP servers, Load balancer, Least-Work-Left algorithm I. INTRODUCTION The Session Initiation Protocol (SIP) is a signaling protocol used for controlling communication sessions such as voice and video calls SIP is an application layer protocol which is independent of underlying layer. SIP [5],[6],[7] is a protocol of growing importance with uses in Voice over IP (VoIP). In large scale ISP’s need to provide support to millions of users. Hence, a central component is required to distribute worked across multiple server clusters. The mechanism is known as the load balancing and the device that does the load balancing is called the Load Balancer [4]. It fulfils the demands included in Integrated Services Digital Networks (ISDN) decades ago because it achieves real service integration and offers proven interoperability. The SIP easily integrates the existing technologies of the Internet with instant messaging, presence services, voicemail and email, and network games. Work on SIP began back in 1995 and the first mature SIP RFC that fixed the shortcomings of the previous version (2543) was published in 2002. One of the fundamental characteristics of VoIP with SIP is that signaling with SIP usually takes a completely different path through the Internet than the media of a running call. It can happen that a call between two participants cannot be established only because one of the servers in the signaling chain is not reachable. We present here a solution to protect a SIP service against all error types except client failures. We join the forces of several geographically distributed SIP servers to a community which we call a federation. But if their primary server is not reachable for one of the clients, it can simply switch over to one of the www.ijera.com other servers within the federation. A frequent mechanism to scale a service is to use some form of a load-balancing dispatcher that distributes requests across a cluster of servers. We introduce new algorithms that outperform existing ones. This work is relevant not just to SIP, but also for other systems where it is advantageous for the load balancer to maintain sessions in which requests corresponding to the same session are sent by the load balancer to the same server. SIP is a transaction-based protocol designed to establish and tear down media sessions, frequently referred to as call . Session-aware request assignment (SARA) is the process where a system assigns requests to servers such that sessions are properly recognized by that server, and subsequent requests corresponding to that same session are assigned to the same server. While SARA can be done in HTTP [2] for performance reasons, it is not necessary for correctness. HTTP load balancers do not take sessions into account in making load-balancing decisions. One another key aspect of the SIP protocol is that different transaction types, most notably the INVITE and BYE transactions, can incur significantly different overheads. A load balancer can make use of this information to make better load-balancing decisions that improve both response time [10] and throughput.  Call-Join-Shortest-Queue (CJSQ) [1] 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  Transaction-Join-Shortest-Queue [1](TJSQ) routes a new call to the server that has the fewest active transactions, rather than the fewest calls. CJSQ by recognizing that calls in 58 | P a g e
  • 2. P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62 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 Transaction-Least-Work-Left (TLWL) [1] routes a new call to the server that has the least work. It takes advantage of the observation that INVITE transactions are more expensive than BYE transactions We implement these algorithms in software by adding them to the OpenSER [3] opensource SIP server configured as a load balancer. Using the open-source SIPP workload generator driving traffic through the load balancer to a cluster of servers running a commercially available SIP server[8]. Our load balancer can effectively scale SIP server throughput and provide significantly lower response times without becoming a bottleneck. Dramatic response time reductions that we achieve with TLWL and TJSQ suggest that these algorithms should be adapted for other applications, particularly when response time is crucial. SIP uses HTTP-like request/response transactions. The consists of a request to perform a particular method and at least one response to that request. The responses may be provisional that they provide some short-term feedback to the user to indicate progress or they can be final. A SIP session is a relationship in SIP between two user agents that lasts for some time period; in VoIP, a session corresponds to a phone call, which is called a dialog in SIP and results in state being maintained on the server for the duration of the session. A BYE message creates a new transaction and when the transaction completes, ends the session. A typical message flow where SIP messages are routed through the proxy [9] as illustrated in fig.2. II. BACKGROUND Overview of Protocol: SIP is a signaling protocol designed to establish, terminate and modify media sessions between two or more parties. Several kinds of sessions can be used. The SIP does not allocate and manage network bandwidth as does a network resource reservation protocol that is considered outside the scope of the protocol. ―SIP Trapezoid‖ a typical SIP VoIP scenario as shown in the fig.1 [1]. Fig. 1. SIP Trapezoid Fig.2. Message flow of the SIP Once endpoints are found, communication is typically performed directly in a peer-to-peer fashion. The separation of the data plane from the control plane is one of the key features of SIP and contributes to its flexibility. The SIP protocol requires that proxies forward and preserve headers. SIP Users, Agents, Transactions, and Messages: A SIP Uniform Resource Identifier (URI) uniquely identifies a SIP user. This layer of indirection enables features such as location independence and mobility. The SIP users employ endpoints known as user agents. These entities initiate and receive sessions. User agents are further decomposed into User Agent Clients (UAC) and User Agent Servers (UAS), depending on whether they act as a client in a transaction (UAC) or a server (UAS). www.ijera.com Message Header of SIP: 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. SIP messages contain an additional protocol in VoIP, the Session Description Protocol (SDP), which negotiates session parameters between endpoints using an offer/answer model. III. EXISTING SYSTEM User Agent Clients send SIP requests (e.g., INVITE, BYE) to our load balancer that then selects a SIP server to handle each request. The system is depicted in the fig.3 [1]. The SIP responses send by the servers to the load balancer is then forward to the client. 59 | P a g e
  • 3. P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62 the calls assigned to servers but does not have an accurate estimate of the transactions assigned to servers. Fig. 3. System architecture Once a session has been established, then the parties participating in the session would typically communicate directly with each other using a different protocol for the media transfer. Novel Algorithm: A key aspect of our load balancer is that requests corresponding to the same call are routed to the same server. Load balancer has the freedom to pick a server only on the first request of a call. Therefore, all subsequent requests corresponding to the call must go to the same server. Our new loadbalancing algorithms are based on assigning calls to servers by picking the server with the (estimated) least amount of work assigned but not yet completed. The concept of assigning work to servers with the least amount of work left to do have been applied in other contexts, and then the specifics of how to do this efficiently for a real application are often not at all obvious. The system needs another method to reliably estimate the amount of work that a server [8] has left to do at the time load-balancing decisions are made. The load balancer can estimate the work assigned to a server based on the requests it has assigned to the server and the responses it has received from the server. The responses from servers to clients first go through the load balancer that forwards the responses to the appropriate clients. The load balancer can determine when a server has finished processing a request or call and update the estimates it is maintaining for the work assigned to the server. The Call-Join-Shortest-Queue algorithm estimates the amount of work a server has left to do based on the number of calls assigned to the server. The counters are maintained by the load balancer indicating the number of calls assigned to each server. A limitation of this approach is that the number of calls assigned to a server is not always an accurate measure of the load on a server. In addition, different calls may consist of different numbers of transactions and may consume different amounts of server resources. Advantages of CJSQ can be used in environments in which the load balancer is aware of www.ijera.com An alternative method is to estimate server load based on the number of transactions (requests) assigned to the servers. Transaction-Join-ShortestQueue algorithm estimates the amount of work a server has left to do base on the number of transactions (requests) assigned to the server. The counters are maintained by the load balancer indicating the number of transactions assigned to each server. A limitation of this approach is that all transactions are weighted equally. New calls are assigned to servers with the lowest counter. INVITE requests are more expensive than BYE requests since the INVITE transaction state machine is more complex than the one for non-INVITE transactions in the SIP protocol. The Transaction-Least-Work-Left algorithm addresses this issue by assigning different weights to different transactions depending on their relative costs. It is quite similar by relative overhead; in the special case that all transactions have the same expected overhead. Counters are maintained by the load balancer indicating the waiting number of transactions assigned to each server. A ratio is defined in terms of relative cost of INVITE to BYE transactions. New calls are assigned to the server with the lowest counter. TLWL estimates server load based on the weighted number of transactions a server is currently handling. TLWL can be adapted to workloads with other transaction types by using different weights based on the overheads of the transaction types. Implementation: The rectangles represent key functional modules of the load balancer, while the irregular shaped boxes represent state information that is maintained. The structure of the load balancing factor is illustrated in fig.4. The arrows represent communication flows. Receiver receives requests that are then parsed by the Parser. Session Recognition module determines if the request corresponds to an already existing session by querying the Session State. If so, the request is forwarded to the server to which the session was previously assigned; else the Server Selection module assigns the new session to a server using one of the algorithms described earlier. The Sender forwards requests to servers and updates Load Estimates and Session State as needed. Receiver also receives responses sent by servers. The client to receive the response is identified by the Session Recognition module. The Sender then sends the response to the client and updates Load Estimates and Session State as needed. Trigger module updates Session State and 60 | P a g e
  • 4. P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62 Load Estimates after a session has expired. Our load balancer selects the appropriate server to handle the first request of a call. When a new transaction corresponding to the call is received, it will be routed to the correct server. Fig. 4.Load balancer architecture When an INVITE request arrives corresponding to a new call, the call is assigned to a server using one of the algorithms [1]. Subsequent requests corresponding to the call are always sent to the same machine to where the original INVITE was assigned. The load balancer stops sending requests to the server if a server fails. The load balancer can be notified to start sending requests to the server again if the failed server is later revived. A primary load balancer could be configured with a secondary load balancer that would take over in the event that the primary fails. The primary load balancer would periodically checkpoint its state, either to the secondary load balancer over the network or to a shared disk. Future area of research is to implement this fail over scheme in a manner that both optimizes performance and minimizes lost information in the event that the primary load balancer fails. IV.PROPOSED SYSTEM While conceptually and technically TLWL, TJSQ use similar principles for assigning sessions to servers, there are considerable differences between them in terms of performance polling and estimations of server stress conditions. Although their performance is validated through a complex data (VOIP) oriented SIP mechanisms, we would like to extend them to other areas of communication technologies. Propose to evaluate our algorithms on larger clusters to further test their scalability, adding a fail-over mechanism using a load balancer which overcomes the single point of failure problems, and will implement this scalability on other SIP workloads such as instant messaging. Instant messaging (IM) is a type of online chat which offers real time text transmission over the internet. Short messages are typically transmitted bidirectionally between two parties, when each user www.ijera.com chooses to complete a thought and select "send". Instant messaging systems tend to facilitate connections between specified known users .Instant messaging has proven to be similar to personal computers, email, and the WWW, in that its adoption for use as a business communications medium was driven primarily by individual employees using consumer software at work, rather than by formal mandate or provisioning by corporate information technology departments. Tens of millions of the consumer IM accounts in use are being used for business purposes by employees of companies and other organizations. V. PERFORMANCE ANALYSIS TLWL algorithm [1] helps to select a server from cluster of servers which has very least work left for messing sending. Graph shows the relationship between response time and server nodes for both voice call and instant messaging. In voice call number of server nodes increases response time also increases and in instant messing even though the server nodes increases there is no drastic increment in response time and it maintain almost equal response for this proposed system . Server limit is not controls overall system performance. Comparison between number of server nodes and response time Several opportunities exist for potential future work. This include design and implementation of secondary load balancer to handle overall session in failure of primary load balancer without effecting the data transformation between clients. REFERENCES Hongbo Jiang, Erich Nahum, Wolfgang Segmuller, Asser N. Tantawi, and Charles P.Wright, ―Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters,‖ in Proc. IEEE/ACM transactions on networking, Oct. 2009. [2] R.Fielding ,JGettvs, J.Mogul,H.frvstyk and t.Berners-Lee, ‖Hypertext Trasfer ProtocolHTTP/1.1,‖ Internet Engineering Task Force, RFC 2068, Jan 1997. [3] M. Aron, P. Druschel, and W. Zwaenepoel, ―Efficient support for P-HTTP in cluster[1] 61 | P a g e
  • 5. P. Lekha Chandra et al Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 4, Issue 1( Version 3), January 2014, pp.58-62 [4] [5] [6] [7] [8] [9] [10] based Web servers,‖ in Proc. USENIX Annu. Tech. Conf., Monterey, CA, Jun. 1999, pp. 185–198. Hongbo Jiang, Erich Nahum, Wolfgang Segmuller, Asser N. Tantawi, and Charles P.Wright, ―Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters,‖ in Proc. IEEE/ACM transactions on networking, Oct. 2009. V.Hilt and I.Widjaja, ―Controlling overload n networks of SIP servers,‖ in Proc.IEEEICNP.Orlandp.FL. Oct 2008,pp.83-93. E. Nahum, J. Tracey, and C. P. Wright, ―Evaluating SIP proxy server performance,‖ in Proc. 17th NOSSDAV, Urbanachampaign,IL, Jun 2007,pp.79-85. Foundry Networks,‖ ServerIron switches support SIP load balancing VOIP/SIP traffic Available:http://www.foundrynet.com/solutio ns/sol-app-switch/sol- voip-sip/ M. Aron and P. Druschel, ―TCP implementation enhancements for improving Webserver performance,‖ Computer Science Department, Rice University, Houston, TX, Tech. Rep. TR99-335, Jul. 1999. E. Nahum, J. Tracey, and C. P. Wright, ―Evaluating SIP proxy server performance,‖ in Proc. 17th NOSSDAV, Urbana champaign, IL, Jun 2007,pp.79-85. Z. Fei, S. Bhattacharjee, E. Zegura, and M. Ammar, ―A novel server selection technique for improving the response time of a replicated ser vice,‖ in Proc. IEEE INFOCOM, 1998, vol. 2, pp. 783–791. www.ijera.com 62 | P a g e