Overload Control in SIP Networks: A Heuristic Approach Based on Mathematical Optimization
Ahmadreza Montazerolghaem, Mohammad Hossein Yaghmaee Moghaddam, Farzad Tashtarian
OOverload Control in SIP Networks: A Heuristic Approach based on Mathematical Optimization
Ahmadreza Montazerolghaem , Mohammad Hossein Yaghmaee Moghaddam , Farzad Tashtarian Department of Computer Engineering, Ferdowsi University of Mashhad, Mashhad, Iran Young
Researchers and Elite Club, Mashhad Branch, Islamic Azad University, Mashhad, Iran [email protected], [email protected], [email protected]
Abstract — The Session Initiation Protocol (SIP) is an application-layer control protocol for creating, modifying and terminating multimedia sessions. An open issue is the control of overload that occurs when a SIP server lacks sufficient CPU and memory resources to process all messages. We prove that the problem of overload control in SIP network with a set of n servers and limited resources is in the form of NP-hard. This paper proposes a Load-Balanced Call Admission Controller (LB-CAC) based on a heuristic mathematical model to determine an optimal resource allocation in such a way that maximizes call admission rates regarding the limited resources of the SIP servers. In fact, LB-CAC by having some critical information of SIP servers determines the optimal “call admission rates” and “signaling paths” for admitted calls along optimal allocation of CPU and memory resources of the SIP servers through a new linear programming model. A comparison between the numerical and experimental results implies the efficiency of the proposed method. Keywords—
Multi-objective optimization; linear programming; SIP overload; Resource allocation I. I NTRODUCTION
SIP is an application layer signaling protocol standardized by IETF for initiating, modifying, and tearing down multimedia sessions [1].
The architecture of SIP protocol consists of two entities including User Agent (UA) and SIP Server (briefly referred as server).
UAs themselves are divided into User Agent Client (UAC) and User Agent Server (UAS) that transmit signaling messages of request and response, respectively.
A request message along with all its related responses is called as SIP transaction.
SIP servers are designed in such a way that both record (stateful) or do not record (stateless) the history of transaction operations for every request. The messages and their exchange process for initiating and tearing down a session are illustrated in Fig. 1. Call setup message or “INVITE” (briefly referred as Call Request) is the most important request message since its transaction has maximum process load on CPU server [7, 9]. Once a session is created, media such as audio and video are exchanged between the parties without passing from the servers, so that the only load on the server would be signaling messages. Considering the widespread use of this protocol and its numerous (several millions) users in the near future, it is necessary to assess the performance of SIP servers in overload states. SIP overload occurs whenever SIP server lacks enough resources to process all messages [2, 3]. In this regard, the most important resources are processing power of CPU and memory [4].
Fig. 1.
Transmission of SIP signaling messages for initiating and tearing down a session by using the upstream and downstream SIP servers A. Processing power of CPU and memory of SIP server
Each SIP server has a limited capacity and therefore, its total capacity decreases when an overload occurs. This is because most of its processing resources are allocated for rejecting or processing the messages that would be ultimately rejected [5]. SIP servers make use of their reliable mechanism whenever, in particular, they are applied to an unreliable transmission protocol such as UDP [4]. To this end, it needs to provide reliability by retransmission of the messages with unconfirmed delivery [5]. In this state, a large set of retransmission timers are employed [2, 4]. Although this mechanism is useful in case of unreliable links, under the overload conditions, it imposes high loads to the server and decreases its efficiency [4] . This is because the redundant retransmissions and manipulation of the mentioned timers increase CPU and memory occupation and worsen server overload. In this state, the server’s queue would be filled with duplicate messages and the processing power of the server would be spent on processing and transmitting duplicate messages or answering the expired timers. On the other hand, the base mechanism of SIP protocol which lacks required efficiency for overload control would be activated [2]. In this method, once the server reaches its maximum capacity, it rejects new call request messages by issuing “503 service unavailable” message. The cost of this method is not negligible Nevertheless, UDP is more common, as compared to TCP, for transmission of SIP messages. Because TCP suffers from high delay and scalability issues which are not acceptable for the real-time signaling protocols [1, 2].
Upstream SIP Server domain A Downstream SIP Server domain B
SIP User Agent Client SIP User Agent Server
INVITE INVITE INVITE 100 Trying 180 Ringing 180 Ringing 180 Ringing200 OK200 OK200 OK ACKACKACK Media(end to end)BYE BYE BYE200 OK200 OK200 OK I n iti a t e s e ss i on T ea r do w n s e ss i on I NV I TE t r a n s ac ti on as compared with giving service to a request. In addition, for servers configured statefully (as the dominant configuration), some state information are stored for each transaction. In case of no supervision over the number of established calls, the entire memory of the server might be engaged and no memory is remained to allocate for the new calls. As previously discussed, both saturation of processors and memory shortage in overload state may degrade the performance of SIP servers. Therefore, to obtain maximum capacity and prevent overload occurrence, it is necessary to make optimum use of resources and prevent its waste in tasks such as rejecting or responding messages that would be ultimately rejected. The main goal pursued in this work is how to optimally allocate SIP servers’ resources to the admitted calls. In section 2, the recent work studying overload control in SIP networks are pointed out. System model and problem formulations (section 3), presentation of the proposed method (section 4), performance evaluation (section 5), and conclusion and future work (section 6) comprise the next parts of this study. II. R ELATED W ORK
One approach to overload avoidance is the distribution of new input traffic over the SIP servers based on their accessible capacity by using a “Load Balancer” [6-8]. Taking this approach, consequently, reduces the probability of overload occurrence in a given server. However, the performance of these methods depends on Load Balancer’s efficiency because the whole signaling traffic of SIP network passes through it. As a result, Load Balancer itself is threatened by the risk of overload in case of severe overloads and therefore its capacity needs to be enhanced by the available techniques. Another approach for dealing with overload issue is to apply overload control methods, which are divided into two categories: local and distributed. Through the local overload control methods, the overloaded server itself has a consistent control over its resources usage without any need for interaction with other network servers and applies its controlling method, and rejects the excess calls. The criteria for identifying the overload in some of these methods are queue length and CPU usage level. According to these criteria, a set of thresholds are defined, exceeding which makes the server to enter overload stage, so that it starts to reject the incoming calls. The main drawback of this method is that the cost of call reject cannot be ignored, and when dealing with heavy overloads, the server must use its entire resources for rejecting the excess calls. Accordingly, the server will not be able to respond any services [9]. On the other hand, depending that the overloaded server whether notifies its status to the upstream servers or the upstream servers are themselves informed of the current status of the downstream (overloaded) server, the distributed methods are categorized into two explicit and implicit methods [3]. Based on the information exchanged among the servers, these methods are also classified into the rate-based, loss-based, signal-based, window-based, and on/off control techniques [11]. Within the rate-based techniques, downstream server has a consistent supervision over the rate of messages delivered from total upstream servers and announces its admissible rate to them [5, 10]. In loss-based technique, downstream server frequently measures its current load and accordingly requests the upstream servers to reduce their transmitted load [12]. In window-based methods, the load is not transmitted to the downstream server, unless there are empty slots in upstream server window. The main issue of these methods is window size which is adjusted using the feedback of the downstream server [1, 2, and 13]. The signal-based methods are those in which the upstream server reduces its transmission rate when receiving “503 Service Unavailable” message in order to prevent further transmission of 503 message from the downstream server [14]. Unlike signal-based method which is based on not using “Retry-After” header, within the on/off control method a given server can either hold off or on its received load by transmission of Retry-After feedback. However, the hold-on or hold-off state of the received traffic flow can be also controlled using the other mentioned methods [15]. The third approach applied for overload control is based on retransmission rate methods which review retransmission mechanism of SIP by studying servers’ buffer size [4, 16]. By limiting the dedicated memory of the server, it can be prevented from admitting the over-capacity calls. However, this policy loses its efficiency once the call rate rises, as the server processor is forced to analyze the messages to recognize their content. Therefore, under such conditions, the server reaches saturation, which typically occurs under the higher loads. The next approach to overload avoidance is based on TCP flow control for the purpose of regulating SIP overload [17]. However, problems such as scalability and high delay hinder use of this protocol. Furthermore, the congestion designed for TCP control mechanism occurs due to limited bandwidth, whereas the overload in SIP is caused by the limited processing capacity of servers’ CPU [4]. Based on the mentioned points, it can be stated that the main disadvantages of the present overload control approaches are: Firstly, their reliance merely over the local call reject reduces their throughput. Secondly, for the majority of explicit feedback-based methods, continuous revision of the status and feedback calculation (which is the function of overloaded server) has complexity and header. The third defect of these methods is the delay in feedback arrival to the upstream, which results in instability of these methods. Nevertheless, these methods are more accurate in overload detection as compared to the implicit methods. Therefore, overload detection, feedback generation, and running the overload control algorithm incurs CPU and memory usage costs and affects throughput of the server. The contributions of this work are summarized as follows: (1) Proving the NP-hard nature of the overload control problem for n number of servers with limited memory and CPU; (2) Presenting a Load-Balanced Call Admission Controller (LB-CAC) for optimum allocation of server resources; (3) Proposing a mathematical model to maximize the performance of SIP severs in terms of throughput and the usage of their resources; and (4) Implementing the proposed method in a testbed and comparing the experimental and simulated results. III. S YSTEM M ODEL AND P ROBLEM F ORMULATION
In general, SIP network consists of a set of n SIP servers with limited processing and memory resources. Each server uses its resources to make session between the local users and users in other domains.
In this paper, it is assumed that the binary symmetric matrix 𝐿 𝑖𝑗 , 𝑖, 𝑗 ∈ {1, … , 𝑛} makes the topology of SIP server network. In this matrix, 𝐿 𝑖𝑗 = 1 implies presence of a physical link between servers 𝑖 and 𝑗 , while 𝐿 𝑖𝑗 = 0 indicates that the two given SIP servers are not adjacent through a direct link. Note that the main diagonal of this matrix is zero. Assume a two-dimensional array ℂ with the size of ( n × n ), where ℂ 𝑖𝑖 and ℂ 𝑖𝑗 demonstrate the number of local calls in server 𝑖 (where both caller and callee are registered in a same server) and the number of outbound calls from server 𝑖 to server 𝑗 , respectively. Let 𝐶 𝑖𝑗 be the optimal number of admitted calls established from server 𝑖 to server 𝑗 where C ij ≤ ℂ ij . Regarding the optimal value of C ij , R klij shows the number of calls from origin 𝑖 to destination 𝑗 which must be relied from server 𝑘 to server 𝑙 (see Fig.2). Fig. 2.
Transmitting calls from the origin 𝑖 to the destination 𝑗 assisted by sip servers 𝑘 and 𝑙 To perform its operation, each server 𝑖 relies on its remaining CPU and memory resources, which are denoted as 𝑃 𝑖 and 𝑀 𝑖 , respectively. The duty cycle of Load-Balanced Call Admission Controller (LB-CAC) is presented in Fig. 3. At the beginning of each time slot 𝜏 , all servers transmit the amount of remaining resources and the number of new local and outbound requests to LB-CAC through the UDP packets. This critical information are gathered in 𝑡 𝑔 units of time. By proposing a mathematical linear programming model in the next part, LB-CAC determines the optimal values of 𝐶 𝑖𝑗 and 𝑅 𝑘𝑙𝑖𝑗 and then broadcasts the results to the servers in 𝑡 𝑐 and 𝑡 𝑛 , respectively (Fig. 3). After that, LB-CAC enters into the idle state and waits 𝑡 𝑖𝑑𝑙𝑒 units of time for the next time slot 𝜏 . In fact, a new incoming call during 𝜏 should be entered into hold-on state by SIP server until the next 𝜏 . Compared to a duration of a call, this time is negligible which can also be shortened by reducing the 𝜏 time. Regarding the definition of the duty cycle of LB-CAC, the number of calls per 𝜏 is called flow. Fig. 3.
The duty cycle of LB-CAC
IV.
LB-CAC In this section, LB-CAC controller is designed in a way to optimally determine 𝐶 𝑖𝑗 and 𝑅 𝑘𝑙𝑖𝑗 based on a new mathematical linear optimization model. Before proposing the model, it would be proved that the problem of overload controlling in SIP networks is NP-hard. Theory 1 : Overload control problem for a set of 𝑛 SIP servers with limited CPU and memory resources is in the form of mixed integer nonlinear programming (MINLP) model, which is generally NP-hard ( 𝑛 > 2 ). Proof : Let 𝐵 𝑘𝑙𝑖𝑗 be a binary variable in which 𝐵 𝑘𝑙𝑖𝑗 = 1 states that a call request from server 𝑖 to sever 𝑗 can be transmitted from server 𝑘 to server 𝑙 , unless ( 𝐵 𝑘𝑙𝑖𝑗 = 0 ) server 𝑘 and 𝑙 do not participate in transferring request from server 𝑖 to server 𝑗 . Regarding the limited hardware resource in the servers, the optimal values of 𝐵 𝑘𝑙𝑖𝑗 , 𝐶 𝑖𝑗 , and 𝑅 𝑘𝑙𝑖𝑗 can be obtained through a following MINLP model: max ∑ ∑ 𝐶 𝑖𝑗𝑛𝑗=1𝑛𝑖=1 (1) Subject to: 𝐶 𝑖𝑗 ≤ ℂ 𝑖𝑗 , ∀𝑖, 𝑗 (I) ∑ 𝐵 𝑘𝑙𝑖𝑗 𝑅 𝑘𝑙𝑖𝑗𝑛𝑘=1 = ∑ 𝐵 𝑙𝑒𝑖𝑗 𝑅 𝑙𝑒𝑖𝑗𝑛𝑒=1 , ∀𝑖, 𝑗, 𝑙, 𝑖 ≠ 𝑙 , 𝑗 ≠ 𝑙 (II) ∑ 𝐵 𝑘𝑙𝑖𝑗 𝑅 𝑘𝑙𝑖𝑙 = 𝐶 𝑖𝑙𝑛𝑘=1 , ∀𝑖, 𝑗, 𝑙, 𝑖 ≠ 𝑙 (III) ∑ 𝐵 𝑙𝑒𝑖𝑗 𝑅 𝑙𝑒𝑙𝑗𝑛𝑒=1 = 𝐶 𝑙𝑗 , ∀𝑖, 𝑙, 𝑗, 𝑗 ≠ 𝑙 (IV) 𝑅 𝑘𝑙𝑖𝑖 = 0 , ∀𝑖, 𝑘, 𝑙 (V) 𝑅 𝑘𝑖𝑖𝑗 = 0 , ∀𝑖, 𝑗, 𝑘 (VI) 𝐵 𝑘𝑙𝑖𝑗 − 𝐿 𝑘𝑙 ≤ 0 , ∀𝑖, 𝑗, 𝑘 (VII) 𝛼 𝐶 𝑙𝑙 + 𝛼 (∑ ∑ ∑ 𝐵 𝑙𝑘𝑖𝑗 𝑅 𝑙𝑘𝑖𝑗𝑛𝑘=1𝑛𝑗=1𝑛𝑖=1 +∑ ∑ ∑ 𝐵 𝑘𝑙𝑖𝑗 𝑅 𝑘𝑙𝑖𝑗 ) 𝑛𝑘=1𝑛𝑗=1𝑛𝑖=1 ≤ 𝑃 𝑙 , ∀𝑙 (VIII) 𝛽 𝐶 𝑙𝑙 + 𝛽 (∑ ∑ ∑ 𝐵 𝑙𝑘𝑖𝑗 𝑅 𝑙𝑘𝑖𝑗𝑛𝑘=1𝑛𝑗=1𝑛𝑖=1 +∑ ∑ ∑ 𝐵 𝑘𝑙𝑖𝑗 𝑅 𝑘𝑙𝑖𝑗𝑛𝑘=1 ) 𝑛𝑗=1𝑛𝑖=1 ≤ 𝑀 𝑙 , ∀𝑙 (IX) Variables: 𝐵 𝑘𝑙𝑖𝑗 ∈ {0,1}, 𝐶 𝑖𝑗 , 𝑅 𝑘𝑙𝑖𝑗 , 𝑃 𝑙 , 𝑀 𝑙 ≥ 0 , ∀𝑘, 𝑙, 𝑖, 𝑗 Constraint (I) limits the number of admitted calls to the number of existing call requests. Constraint (II) makes a trade-off between the input and output flows; meaning that the total input and output flows in server 𝑙 must be equaled for a couple of origin and destination. Constraint (III) aggregates the total input flows to server 𝑙 from origin 𝑖 passing through its neighbors. The next constraint, distributes the total output flows from server 𝑙 to server 𝑗 among its neighbors. Constraint (V) prevents flow with the same origin and destination. Constraint (VI), which restricts creation of some loops in a given path, will be discussed later on. Constrain (VII) limits the binary 𝐵 𝑘𝑙𝑖𝑗 variable in such a way that if 𝐿 𝑘𝑙 equals zero, 𝐵 𝑘𝑙𝑖𝑗 must be set to zero, unless if 𝐿 𝑘𝑙 =1, 𝐵 𝑘𝑙𝑖𝑗 can be either zero or one. The next two constraints consider the limited SIP servers’ resources: Constraint (VIII) allocates the residual processing power of server 𝑙 with coefficients 𝛼 and 𝛼 to establish local and outbound calls of server 𝑙 ; similarly, constrain (IX) allocates residual memory of server 𝑙 with coefficients 𝛽 and 𝛽 to establish local and outbound calls of server 𝑙 . Note that two variables 𝑅 𝑙𝑘𝑖𝑗 and 𝑅 𝑘𝑙𝑖𝑗 have an identical influence on servers’ resources. To estimate parameters 𝛼 , 𝛼 , 𝛽 , and 𝛽 , two linear programming models will be proposed in the next part. Although the objective function and constraints I, V , VI , and VII are linear, presence of nonlinear constraints II , III , IV , VIII , and IX and the binary 𝐵 𝑘𝑙𝑖𝑗 variables has made the problem in MINLP model which is NP-hard [18, 19]. k e ji l τ τ t idle t n t c t g time A. Proposed heuristic method
Before elaborating the proposed method, first consider Fig. 4 with origin server 1 and destination server 3. In this study, two types of loop are presented between the origin and the destination: k-hop source loop (SL) and k-hop non-source loop (nSL). In the former type, the origin server participates in the loop, while in the later, the loop is created by some servers expect the origin server. The proposed model in Eq. (1) can only restrict SLs, as it applies constraints (V) and (VI).
Fig. 4.
Sl and nSL loops between the origin and destination flow path
Although the proposed model in Eq.(1) increases the total number of admitted calls, it can be easily shown that considering ∑ ∑ 𝐶 𝑖𝑗𝑛𝑗=1𝑛𝑖=1 as the objective function, it is not possible to prevent nSLs. Furthermore, as previously discussed, this nonlinear model is NP-hard and is unsolvable in polynomial time [19]. In this regard, the objective function should be modified in such a way that not only it maximizes the total number of admitted calls, but also it minimizes CPU and memory usages. Since the loop creation requires resource usage, the next model should prevent nSL. As a result, by modifying the objective function and some constraints, we can convert the proposed model in Eq. (1) into a linear programming (LP) model as follows: 𝑚𝑎𝑥 𝛾 ∑ ∑ 𝐶 𝑖𝑗𝑛𝑗=1𝑛𝑖=1 ∑ ∑ ℂ 𝑖𝑗 𝑛𝑗=1𝑛𝑖=1 − 𝜑( ∑ (𝑝 𝑙 ) 𝑛𝑙=1 ∑ (𝑃 𝑙 ) 𝑛𝑙=1 + ∑ (𝑚 𝑙 ) 𝑛𝑙=1 ∑ (𝑀 𝑙 ) 𝑛𝑙=1 ) (2) Subject to: 𝐶 𝑖𝑗 ≤ ℂ 𝑖𝑗 , ∀𝑖, 𝑗 (I) ∑ 𝐿 𝑘𝑙 𝑅 𝑘𝑙𝑖𝑗𝑛𝑘=1 = ∑ 𝐿 𝑙𝑒 𝑅 𝑙𝑒𝑖𝑗𝑛𝑒=1 , ∀𝑖, 𝑗, 𝑙, 𝑖 ≠ 𝑙 , 𝑗 ≠ 𝑙 (II) ∑ 𝐿 𝑘𝑙 𝑅 𝑘𝑙𝑖𝑙 = 𝐶 𝑖𝑙𝑛𝑘=1 , ∀𝑖, 𝑙, 𝑖 ≠ 𝑙 (III) ∑ 𝐿 𝑙𝑒 𝑅 𝑙𝑒𝑙𝑗𝑛𝑒=1 = 𝐶 𝑙𝑗 , ∀𝑙, 𝑗, 𝑗 ≠ 𝑙 (IV) 𝑅 𝑘𝑙𝑖𝑖 = 0 , ∀𝑖, 𝑘, 𝑙 (V) 𝑅 𝑘𝑖𝑖𝑗 = 0 , ∀𝑖, 𝑗, 𝑘 (VI) 𝛼 𝐶 𝑙𝑙 + 𝛼 (∑ ∑ ∑ 𝐿 𝑙𝑘 𝑅 𝑙𝑘𝑖𝑗𝑛𝑘=1𝑛𝑗=1𝑛𝑖=1 +∑ ∑ ∑ 𝐿 𝑘𝑙 𝑅 𝑘𝑙𝑖𝑗 ) 𝑛𝑘=1𝑛𝑗=1𝑛𝑖=1 ≤ 𝑝 𝑙 , ∀𝑙 (VII) 𝛽 𝐶 𝑙𝑙 + 𝛽 (∑ ∑ ∑ 𝐿 𝑙𝑘 𝑅 𝑙𝑘𝑖𝑗𝑛𝑘=1𝑛𝑗=1𝑛𝑖=1 +∑ ∑ ∑ 𝐿 𝑘𝑙 𝑅 𝑘𝑙𝑖𝑗𝑛𝑘=1 ) 𝑛𝑗=1𝑛𝑖=1 ≤ 𝑚 𝑙 , ∀𝑙 (VIII) 𝑝 𝑙 ≤ 𝑃 𝑙 , ∀l (IX) 𝑚 𝑙 ≤ 𝑀 𝑙 , ∀𝑙 (X) Variables: 𝐶 𝑖𝑗 , 𝑅 𝑘𝑙𝑖𝑗 , 𝑝 𝑙 , 𝑚 𝑙 ≥ 0 , ∀𝑖, 𝑗, 𝑘, 𝑙 Connectivity between two servers is developed using the matrix 𝐿 𝑖𝑗 . The loose upper bound of the optimal CPU and memory usages are denoted with 𝑝 𝑙 and 𝑚 𝑙 , respectively; where, based on constraints (IX) and (X), they can reach to the maximum values of 𝑃 𝑙 and 𝑀 𝑙 as the strict power bound. Constraints (VII) and (VIII) will also help the objective function to prevent creation of extra 𝑅 𝑘𝑙𝑖𝑗 , SL and nSL loops. Coefficients 𝛾 and 𝜑 indicate the significance of variables 𝐶 𝑖𝑗 and resource usage ( 𝑝 𝑙 and 𝑚 𝑙 ) in the objective function, respectively. In other words, they make a trade-off between the resources usage and network throughput. Ultimately, this model enhances the total throughput of the servers, without any overload, using the optimal resource allocation. Here, the overall throughput can be considered as the total flow passing through the servers. Therefore, considering the servers’ resources, LB-CAC tries to maximize call admission through distributing calls among the servers. B. Calculation of α and β The two following linear models are designed to approximate the coefficients 𝛼 and 𝛽 . These coefficients indicate the impact of establishing the local and outbound calls of a given server regarding its resource usage. By considering a dataset consists of h- tuple of ( 𝐶̅ 𝑞𝑖𝑖 , 𝑅̅ 𝑖𝑗,𝑞𝑖𝑗 , p̅ q , m̅ q ) 𝑞=1,..,ℎ , the proposed model determine the optimal values of 𝛼 and 𝛽 , where 𝐶̅ 𝑞𝑖𝑖 , 𝑅̅ 𝑖𝑗,𝑞𝑖𝑗 , 𝑝̅ 𝑞 , and 𝑚̅ 𝑞 indicating the number of local calls in server 𝑖 , number of outbound calls of server 𝑖 , CPU and memory usages in server 𝑖 , respectively. By considering the first constraint, the objective functions in these two models are designed in a way that minimizes the sum of difference between measured values of 𝑝̅ 𝑞 and 𝑚̅ 𝑞 as 𝛼 𝐶̅ 𝑞𝑖𝑖 +𝛼 𝑅̅ 𝑖𝑗,𝑞𝑖𝑗 and 𝛽 𝐶̅ 𝑞𝑖𝑖 + 𝛽 𝑅̅ 𝑖𝑗,𝑞 𝑖𝑗 , respectively. Here, constraint (II) normalizes constraint (I). 𝑚𝑖𝑛 ∑ 𝑥 𝑞𝑛𝑞=1 (3) Subject to: 𝑝̅ 𝑞 − (𝛼 𝐶̅ 𝑞𝑖𝑖 + 𝛼 𝑅̅ 𝑖𝑗,𝑞𝑖𝑗 ) ≤ 𝑥 𝑞 , 𝑞 = 1, … , 𝑛 (I) 𝛼 + 𝛼 = 𝑚𝑎𝑥 {𝑝̅ 𝑞 }𝑚𝑎𝑥 {𝐶̅ 𝑞𝑖𝑖 } , 𝑞 = 1, … , 𝑛 (II) Variables: 𝛼 , 𝛼 , 𝑥 𝑞 ≥ 0 , 𝑞 = 1, … , 𝑛 𝑚𝑖𝑛 ∑ 𝑦 𝑞𝑛𝑞=1 (4) Subject to: 𝑚̅ 𝑞 − (𝛽 𝐶̅ 𝑞𝑖𝑖 + 𝛽 𝑅̅ 𝑖𝑗,𝑞𝑖𝑗 ) ≤ 𝑦 𝑞 , 𝑞 = 1, … , 𝑛 (I) 𝛽 + 𝛽 = 𝑚𝑎𝑥 {𝑚̅ 𝑞 }𝑚𝑎𝑥 {𝐶̅ 𝑞𝑖𝑖 } , 𝑞 = 1, … , 𝑛 (II) Variables: 𝛽 , 𝛽 , 𝑦 𝑞 ≥ 0 , 𝑞 = 1, … , 𝑛 V. P ERFORMANCE E VALUATION
To assess the performance of the proposed model in Eq. (2), the open-source Asterisk software [20] is used to implement SIP severs. Besides, to implement user agent, the open source SIPp software [21] is used. Finally, to implement LB-CAC and solve the mathematical models, MATLAB software is utilized. All considered servers and LB-CAC in this study have a homogenous hardware composing of an INTEL Dual Core 3GHZ CPU and a 512 MB memory, using a Linux CentOS v.6.3 operating system. Moreover, the reports of Asterisk software are used to measure call status, and Oprofile software is utilized to measure CPU and memory usages. To compute coefficients 𝛼 and 𝛽 , some (random) local and outbound calls are established in the server and CPU and memory usages of the server are measured. This experiment is repeated for 100 times ( ℎ = 100) and the obtained data are gathered in a dataset. By solving models Eq. (3) and Eq. (4), 𝛼 and 𝛼 are determined as 0.074104 and 0.025896, respectively; while 𝛽 and 𝛽 obtaining as 0.327393 and 0.184607, respectively . We prepared this dataset by conducting some tests on a real testbed in IP-PBX laboratory. The complete information of the dataset is available at: http://ippbx-lab.um.ac.ir/index.php?&newlang=eng (a) k-hop Source Loop(SL) (b) k-hop non Source Loop(nSL)
K= 0K= 1K= 2 A. Simulations and the Numerical Results
To evaluate the performance of the proposed heuristic method, we consider the topology shown in Fig. 5; moreover, the following three scenarios in Table 1 are investigated with different 𝛾 and 𝜑 (represented in four cases: f1 to f4 ). Here, 𝑀 𝑙 and 𝑃 𝑙 ( 𝑙: 1, … , 𝑛 ) are considered as 512 and 100 for all servers, respectively. Also 𝜏 is considered as 3 sec for all runs. Fig. 6 and Fig. 7 illustrate optimal values of 𝑝 𝑙 and 𝑚 𝑙 for all servers. In addition, Fig. 8 presents optimal call admission rate for different states.
43 6521
User AgentUser AgentUser Agent User AgentUser AgentUser Agent
Fig. 5.
The studied topology TABLE I. T HE SCENARIOS ℂ 𝑖𝑗 ∑ ∑ ℂ 𝑖𝑗𝑛𝑗=1𝑛𝑖=1 Scenario 1 (low load)
58 96 65 64 110 100 90 92 70 70 95 60 92 110 80 120 65 40 94 110 86 70 80 50 80 70 50 60 76 90 85 70 94 70 95 46
Scenario 2 (medium load)
65 105 80 84 120 110 98 100 75 80 105 70 98 120 90 125 75 50 100 115 95 80 90 60 80 74 60 80 86 100 85 78 104 80 105 66
Scenario 3 (high load)
Fig. 6.
The optimal CPU usages ( 𝑝 𝑙 ) Fig. 7. The optimal memory usage ( 𝑚 𝑙 ) Fig. 8. The optimal call admission rate
In Fig. 6, Fig. 7, and Fig. 8, for all scenarios, by considering f1 to f4 , the resource usage and call admission rate show increasing trend. In this regard, the ratio between parameters 𝛾 and 𝜑 illustrates the importance of call admission or resource preservation. In case f1 , resource preservation is more significant as compared to case f4 and even results in blockage of some calls. In contrast, in case f4 , the maximum admission of the calls is preferred, even if it results in higher resource consumption (Fig. 8). By making a trade-off between theses parameters, it is possible to promote the call admission rates and optimal usage of the resources. Moreover, regarding the amount of load from scenario 1 to scenario 3, Fig. 6 and Fig. 7 reveal that resource usages would be raised; however, the load input of the network must be that high that even using the entire resource, it is not possible to respond all input calls (Fig. 8, scenario 3, cases f3 and f4 ). In scenario 1, the SIP network does not enter the overload stage, as all input load of the network is admissible by using almost limited amount of resource (Fig. 8, scenario 1, cases f3 and f4 ). For instance, in this scenario, in case f3 , optimal 𝑚 and 𝑝 for admitting all input calls are 101.3384 and 19.68201, respectively. In scenario 2, in which the input load is higher than that of scenario 1, maximum call admission rate can be obtained in case f4 (Fig. 8). In f4 , however, the resources are almost entirely used (Fig. 6 and Fig.7). The comparison of Fig. 6, Fig. 7, and Fig. 8 indicates that in scenario 3 even using the entire servers’ resources, it is not possible to reach optimum call admission rate greater than 89%, as the input load would exceed the network capacity and the extra load would be blocked. By solving model in Eq. (2), in addition to determination of the optimal values of 𝑚 𝑙 , 𝑝 𝑙 , and 𝐶 𝑖𝑗 , the optimal 𝑅 𝑘𝑙𝑖𝑗 is specified. For instance, in scenario 3 and case f4 , the total call requests from path 1 to 6 ( ℂ ) is 65 in which 27.5 is admitted ( 𝐶 ). Distribution of these admitted calls is shown in Fig. 9. As it is shown, 𝐶 is distributed between two paths to reach the maximum objective function as Path 1: ( 𝑅 =11.2, 𝑅 = 11.2, 𝑅 = 11.2) and path 2: (𝑅 = 16.3, 𝑅 =16.3, 𝑅 = 16.3) . For all cases f1 to f4 , the load is distributed among the servers in a way that maximum objective function is achieved. The average time for each run ( 𝑡 𝑐 ) is almost 0.95 sec, which can be ignored considering the length of one call. B. Implementation and the Experimental Results
To evaluate operational performance of the heuristic method, a testbed with topology shown in Fig. 5 is prepared using Asterisk servers). To this aim, 𝐶 𝑖𝑗 and 𝑅 𝑘𝑙𝑖𝑗 values f1 f2 f3 f4 f1 f2 f3 f4 f1 f2 f3 f4 C P U u s ag e ( % ) Senario 1 Senario 2 Senario 3 p1 p2 p3 p4 p5 p6 f1 : =1, =2 f2 : =1, =1.5 f3 : =1, =1 f4 : =1, =0.5 f1 f2 f3 f4 f1 f2 f3 f4 f1 f2 f3 f4 C a ll A d m i s ii on R a t e ( % ) Senario 1 Senario 2 Senario 3 f1 : =1, =2 f2 : =1, =1.5 f3 : =1, =1 f4 : =1, =0.5 f1 f2 f3 f4 f1 f2 f3 f4 f1 f2 f3 f4 M e m o r y u s ag e ( M B ) Senario 1 Senario 2 Senario 3 m1 m2 m3 m4 m5 m6 f1 : =1, =2 f2 : =1, =1.5 f3 : =1, =1 f4 : =1, =0.5 obtained in the previous part for scenario 2, cases f2 and f4 are injected to testbed and then the numbers of successful calls as well as the CPU and memory usages are measured. Note that, if 𝐶 𝑖𝑗 and 𝑅 𝑘𝑙𝑖𝑗 are not integer numbers, they would be rounded down. Fig. 10 and Fig. 11 indicate that the performance of the servers and optimal computations of LB-CAC yield rather similar results. It is found that, due to some extra operations in the testbed’s servers, the implementation values are slightly higher than the simulation ones. However, this difference can be minimized by excluding the extra modules e.g. billing module. The links used in the testbed are 1 Gbps. While adding bandwidth constraint into the proposed model in Eq. (2) can be easily performed, while the obtained model can be remained in LP form. As illustrated in Table 1, the total number of call requests in scenario 2 is 2,853 among which 1,638 requests are admitted in case f2 , so that an admission rate of 57.41% is obtained (Fig. 8). On the other hand, only 7 calls from 1,638 call requests in the testbed are failed. As illustrated in Table 2, repeating this experiment clarifies that by rounding down the results of analytical values from LB-CAC, it does not seriously influence on the number of successfully serviced calls (measured in testbed) and the constraints of the proposed model in Eq. (2) are still in feasible space as well.
43 6521 𝑅 = 16.3 𝑅 = 11.2 𝑅 = 11.2 𝑅 = 11.2 𝑅 = 16.3 𝑅 = 16.3 Fig. 9.
Load distribution in paths among servers 1 through 6 (signaling paths) Fig. 10.
Comparison between controller 𝑝 𝑙 and implementation case 𝑝 𝑙 Fig. 11.
Comparison between controller 𝑚 𝑙 and implementation case 𝑚 𝑙 TABLE II. A COMPARISON BETWEEN THE NUMBER OF ADMITTED AND SERVICED REQUESTS
Scenario 2 Scenario 3 f1 f2 f3 f4 f1 f2 f3 f4
Admitted by LB-CAC
556 1638 2710 2853 594 1815 2777 2837
Serviced in testbed
552 1631 2704 2845 589 1806 2767 2828
VI. C ONCLUSION AND F UTURE W ORK
Overload phenomenon in SIP signalling network occurs when a SIP server does not have enough resources to process messages.We showed that the problem of overload control in SIP network with 𝑛 > 2 servers and limited resources is in the form of NP-hard. Then, we introduced a Load-Balanced Call Admission Controller (LB-CAC) based on a heuristic mathematical model to determine an optimal resource allocation in a way that maximizes the number of requested local and outbound calls. In fact, the linear optimization model was proposed to maximize call admission rate along optimal allocation of CPU and memory resources of the SIP servers. Comparison the analytical and experimental results in various scenarios showed the efficiency of the proposed method. Developing the proposed method in distributed form (instead of a central controller) can be mentioned as a future work. R
EFERENCES [1]
M. Homayouni, H. Nemati, V. Azhari, and A. Akbari, "Controlling Overload in SIP Proxies: An Adaptive Window Based Approach Using No Explicit Feedback," GLOBECOM 2010, pp. 1-5. [2]
S. V. Azhari, M. Homayouni, H. Nemati, J. Enayatizadeh, and A. Akbari, "Overload control in SIP networks using no explicit feedback: A window based approach," Computer Communications, vol. 35, pp. 1472-1483, 7/1/ 2012. [3]
V. Hilt and I. Widjaja, "Controlling overload in networks of SIP servers," ICNP 2008, pp. 83-93. [4]
Y. Hong, C. Huang, and J. Yan, "Modeling and simulation of SIP tandem server with finite buffer," ACM Trans. Model. Comput. Simul, vol. 21, pp. 1-27, 2011. [5]
J. Liao, J. Wang, T. Li, J. Wang, J. Wang, and X. Zhu, "A distributed end-to-end overload control mechanism for networks of SIP servers," Computer Networks, vol. 56, pp. 2847-2868, 8/16/ 2012. [6]
A. Montazerolghaem, S. K. Shekofteh, G. Khojaste, M. Naghibzadeh, and M. H. Yaghmaee-M, "A novel load scheduling for session initiation protocol networks," ICCKE 2014, pp. 509-514. [7]
J. Hongbo, A. Iyengar, E. Nahum, W. Segmuller, A. N. Tantawi, and C. P. Wright, "Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters," Networking, IEEE/ACM Transactions on, vol. 20, pp. 1190-1202, 2012. [8]
K. Singh and H. Schulzrinne, "Failover, load sharing and server architecture in SIP telephony," Computer Communications, vol. 30, pp. 927-942, 3/8/ 2007. [9]
L. De Cicco, "Local SIP Overload Control: Controller Design and Optimization by Extremum Seeking," Control of Network Systems, IEEE Transactions on, vol. PP, pp. 1-1, 2015. [10]
J. Wang, J. Liao, T. Li, J. Wang, J. Wang, and Q. Qi, "Probe-based end-to-end overload control for networks of SIP servers," Journal of Network and Computer Applications, vol. 41, pp. 114-125, 5// 2014. [11]
R. G. Garroppo, S. Giordano, S. Niccolini, and S. Spagna, "A Prediction-Based Overload Control Algorithm for SIP Servers," Network and Service Management, IEEE Transactions on, vol. 8, pp. 39-51, 2011. [12]
G. Mishra, S. Dharmaraja, and S. Kar, "Reducing session establishment delay using timed out packets in SIP signaling network," International Journal of Communication Systems, 2014. [13]
C. Shen, H. Schulzrinne, and E. Nahum, "Session Initiation Protocol (SIP) Server Overload Control: Design and Evaluation," in Principles, Systems and Applications of IP Telecommunications, 2008, pp. 149-173. [14]
A. Abdelal and W. Matragi, "Signal-Based Overload Control for SIP Servers," CCNC 2010, pp. 1-7. [15]
E. Noel and C. R. Johnson, "Novel overload controls for SIP networks," ITC 2009, pp. 1-8. [16]
H. Yang, H. Changcheng, and J. Yan, "Mitigating SIP Overload Using a Control-Theoretic Approach," GLOBECOM 2010, pp. 1-5. [17]
C. Shen and H. Schulzrinne, "On TCP-based SIP server overload control," presented at the Principles, Systems and Applications of IP Telecommunications, Munich, Germany, 2010. [18]
S. A. Vavasis, "Nonlinear Optimization: Complexity Issues". London, U.K.: Oxford Univ. Press, 1991. [19]
J. Lee and S. Leyffer, "Mixed Integer Nonlinear Programming", IMA Volume in Mathematics and Its Applications. New York, NY, USA: Springer-Verlag, 2011. [20] http://sipp.sourceforge.net/ SIP Server1 SIP Server2 SIP Server3 SIP Server4 SIP Server5 SIP Server6 M e m o r y u s ag e ( M B ) Senario ml(Simulation)-f2 ml(Implementation)-f2 ml(Simulation)-f4 ml(Implementation)-f4 f2 : =1, =1.5 f4 : =1, =0.5 SIP Server1 SIP Server2 SIP Server3 SIP Server4 SIP Server5 SIP Server6 C P U u s ag e ( % ) Senario pl(Simulation)-f2 pl(Implementation)-f2 pl(Simulation)-f4 pl(Implementation)-f4 f2 : =1, =1.5 f4 : =1,=1,