Research on Load Balance of Service Capability Interaction Management
Jiexi Zha, Junping Wang, Renmin Han, Maoqiang Song
School of Software Engineering, Beijing University of Posts and Telecommunications, Beijing Jiexi.Zha@gmail.com,
With the evolution of the IP Multimedia Subsystem (IMS), service interaction and management has received an increasing amount of attention. Service Capability Interaction Management (SCIM) is introduced as a component of Service Delivery Platform (SDP) for providing service interaction of IMS. Although there is much work on the standardization of SCIM, architectures based on industry standards like IMS may still have problems, especially the load balance issue, which has been seldom mentioned and discussed. Limited application servers become the bottleneck that affects the quality of service (QoS) due to the rising traffic levels. SCIM should provide load balance function among homogenous application servers to improve the performance of the whole system. We propose a module called Load Balancer that handles service messages from Call Control Network and sends each message to the optimal application server (AS). Four components of this module Load estimator, Load analyzer, Load Policies Center and Dispatcher cooperate together to implement the load balance function. This paper introduces load balance problem of SCIM from the network architecture viewpoint, then describes a load balance model and the mechanism of load balance. It discusses the concept and content of Load Policies which provide the necessary information for deciding the optimal AS to implement the load balance. Then it provides a load balance algorithm and the effectiveness is validated through simulation. Keywords: IP Multimedia Subsystem (IMS), Service Capability Interaction Management (SCIM), Service Delivery Platform (SDP), Load Policies
support the next generation multimedia communication applications. As currently defined, IMS standard proposes a detailed architecture for the transport and control layers of the nextgeneration telecommunication networks, but leaves many questions unanswered on how the service layer should be structured. A more structured approach to service delivery will be required in order to deliver new multi-media applications in an efficient and cost-effective way. An approach based on Service Delivery Platform (SDP) proposes layered service
architecture, with a strong emphasis on re-use of common service enablers and on open API . With the evolution of SDP and IMS, the integration of telecom and IT capabilities and the creation of services beyond technology and network boundaries are required. To deliver such services 3GPP introduces a functional block called SCIM (Service Capability Interaction Manager) . It works at ASs (Application Server) and provides the capability to interact across various service capabilities and thereby enabling a framework to deliver a blended service. Currently, most of such service chaining is done by S-CSCF (Serving-Call Session Control Function) using the iFC(Initial Filter Criteria), which is a static, powerful but simple mechanism that allows to chain services and service capabilities . It is not efficient enough for complex service composition and brings some issues: it may lead to a heavy processing by S-CSCF in addition to other tasks it already has; multiple interactions between S-CSCF and AS may lead to bad loading latency for service delivery. In this paper ?? we defined the Load balancer module of SCIM between S-CSCF and application server for solving the load balance problem. First we would describe the concept and key element of SCIM in section 2. Then, we would define the load balance model of SCIM and discusses the concept and content of load policies in section 3. In Section 4, the performance metrics have proposed to validate the load balance model, and numerical
Telecommunication network technologies and roles of operators are changing through the time. IP Multimedia Subsystem (IMS) of NGN Core network technologies have been widely adopted by both wireline and wireless service providers to
simulation further confirm the effectiveness of the proposed model. Section 5 finally concludes this paper and future work.
2 Description of SCIM and related definition
The issue of managing service interaction becomes more important as the rising requirements of new composition services from the marketplace. Traditional iFC mechanism implements the static chaining of services and lacks of abilities to handle the dynamic conflict among application servers. Service Capability Interaction Management (SCIM) is defined as the functional entity between S-CSCF and application servers that deals with composing business process. SCIM is only mentioned and not standardized in the specification. 3GPP specified the requirements, architectures, interfaces, security and charging of Service Broker which is a specific frame that implements SCIM . Service Broker provides non-conflict service interaction experience to the subscribers. Sometimes we don??t distinguish the termination SCIM and Service Broker, and we use the concept SCIM in the remaining part of this paper.
capabilities and the end-users. As the service implementation in the application server involves multiple service capabilities, the service execution will be performed according to the mechanism by which the application servers and the service capabilities are invoked from SCIM . Generally there are three architectures alternative to SCIM: Centralized Service Interaction Management, Distributed Service Interaction Management and the mixed use of Centralized and Distributed approach called Hybrid architecture.  We propose the Centralized architecture which is more approval by the market. In this approach, the S-CSCF views the SCIM as an AS supporting the ISC interface while the AS views the SCIM as the role of core network. This architecture has lower complexity and its control flow is apt to be designed. When the rule matching completes, SCIM should send to each service message to the optimal Application Server in order to make the best use of AS and guarantee the quality of service. Here, against the above background, load balance issue must be dealt with.
3 Load Balance model of SCIM
3.1 Load Balance Model AS is typically a message processing system, and the basic function of AS is to handle and process the incoming message from S-CSCF. In the processing of tasks, it is likely that some servers are in conditions of heavy load while some servers not. This situation is relative to the decrease of system utilization and prolongation of task response time. Load Balance is designed to implement the optimal resource allocating function of SCIM. We propose a centralized architecture to implement load balance. The most important component is load balancer, which is in charge for allocating each message from S-CSCF to the optimal AS. This function is also called load allocating. The chosen of AS is based on the positioning strategy. We propose the Shortest Positioning Strategy for the load balancing system. In this strategy, load balancer should collect the latest load information of each AS node. The number of Application Servers increases fast due to the rising traffic levels. These servers are classified by network functions they provide. We call a set of application servers which run same services as AS Group, such as SMS Group, Location Group, VOIP Group, etc. And there are several groups that handle the same kind of service message. As is shown in Figure 2, related components to load balancing function include: Load estimator, Load analyzer, Load Policies Center and Dispatcher.
Figure 1 Outline of IMS architecture
As is shown in Figure 1, SCIM is a stand-alone component between S-CSCF and AS . The network for performing call control centered on the call session control function (CSCF) is separated from application servers that make up the service group. An interface called IMS Service Control (ISC) is established between the S-CSCF and AS.
This formal model would explicit the decomposition of a service into service capabilities and the interactions needed between service
service, all incoming message from S-CSCF are handled in load balancer. In order to implement the Load Analyzer function, there are two decisions that Load Balancer has to make: decide the optimal AS Group to send the request to and the optimal destination AS in that group. Load Policies provide the required information for making these decisions, which are introduced in next sections. 3.2 Load Policies Each AS has its own policy that describes the server??s information and condition. We give a definition of Load Policies: Load Policies is a set of rules which control the working environment of application servers. Since each AS is in an AS Group and AS Groups form AS environment, Load Policies should be a hierarchical structure and classified into two policies: Inter-Group Load Policies and Intra-Group Load Policies. Inter-Group Load Policies record the basic information and priority value for each AS Group and Intra-Group Load Policies record the node information and working conditions for each AS in the group. Load Policies are described as Load Policy Tables. 1) Elements of Inter-Group Load Policy ? Service Type: Network function that this AS Group offers. ? Group ID: Each group owns a unique ID. ? Number of Application Servers: Quantity of AS in the group. ? Response Priority Value: Priority value determines the possibilities of sending request to this group. It is computed based on working condition parameters (Capacity Utilization, CPU Utilization, RAM, and Bandwidth) of each AS in the group. 2) Elements of Intra-Group Load Policy ? Service Type: Network function that each AS offers. ? AS ID: Each AS in the group owns a unique ID. ? Max Capacity allowed: Max Capacity allowed in this AS. ? Current Utilized Capacity: The capacity that is already in use. ? CPU Utilization: The utilizing rate of CPU resource. ? Bandwidth: Current rate of data transfer. ? RAM: Memory capacity of an AS. ? Current Utilized RAM: The memory that is already in use.
Figure 2 Load Balancing System Each AS Group owns a Load estimator, which collects the working condition of each AS in the group. We call this AS information as Load Policies and it is discussed on next part. Each AS runs an Agent program. This agent automatically collects information on AS and sends it to the Load estimator every 20ms. If an AS doesn??t respond during the interval of time, load analyzer sets the server??s response priority value to zero. Thus, no request will be sent to this server. In the meantime, Load analyzer collects all the Load Policies from Load estimators and saves them to the Load Policies Center. The working process of load balancing system is as follows: 1) Load Balancer receives messages from S-CSCF. 2) Dispatcher requests the destination AS address from Load analyzer. 3) Load analyzer inquires about the Load Policies from Load Policies Center. 4) Load
analyzer decides the optimal AS Group and the optimal AS based on the service message type (the algorithm is introduced on Part IV). 5) Dispatcher sends the service message to the destination AS. Application Servers mainly provide 2 kinds of services: message service (e.g. IM Service) and conversational service (e.g. phone calling). According to the different service type, load allocating could be divided into 2 models: message load balancing and conversational load balancing. In case of conversational service, load balancer only need to transmit the session initial message, e.g. callEventNotify() method of Parlay Call Control Service  or INVITE message of SIP . Transmission of remaining messages is directly in progress between S-CSCF and AS. In message
Operating Condition: Operating System version which runs on the server. ? Response Priority Value: Affected by weighted value of Capacity Utilization, CPU Utilization, Bandwidth and RAM. The algorithm to compute this value is represented in next Section.
4.2 AS Performance Metric After the destination AS Group is determined, Load analyzer calculates the optimal AS in that group on basis of the Intra-Group Load Policy Table. CPU utilization, bandwidth usage, capability usage and memory utilization are the factors that influence the Response Priority Value of an AS. cnorm (i) ? cuse (i) / (ci ? cuse (i)) bnorm (i) ? breq (i) (bi ? breq (i)) We define the Response Priority Value of the ith AS as g (i) :
4 Numerical Simulation
Load Analyzer inquires load policies from Load Policies Center and chooses the optimal application server (Generally the optimal one has the lowest load.). This section introduces a load balance algorithm that determines the destination AS Group and the destination AS. In AS selection process, a number of factors need to be considered: CPU utility, bandwidth, memory and capacity.  4.1 Group Performance Metric To reflect the performance of an AS group, we should consider multiple performance metrics, instead of just one, to be optimized at the same time. A common approach to achieving multiplemetric optimization is to define a function and generate a single metric from multiple parameters. Let: (1) ci, u i, mi, b i denote, respectively, maximum capacity allowed, current CPU utilization, memory capacity, bandwidth of the i th AS; (2) muse, cuse, breq denote current utilized memory, current utilized capacity and the requested bandwidth from a service message; (3) uave, mave, bnorm, cnorm and cnorm denote the average CPU utilization, average memory utilization, bandwidth usage and capacity usage of an AS group. The four factors are calculated as follows:
g (i ) ?
r3 r1 r2 r 4 ? ? ? 4 , ? i ?1 ri ? 1 ui bnorm (i ) cnorm (i) mi
ri represents the relative weight values of each factors. Load analyzer picks the AS which has the min g(i) as the destination AS, thus completes the load analyzing procedure. 4.3 Simulation The load balance algorithm above is validated through simulation on this part. We consider a scenario with 5 basis types of services and 10 composite services for each is composed by two basis services. For each basis service there are 4 groups that could handle it, and each group has 6 AS. Each AS has the capacity of 1200 ~ 1800 and bandwidth 200~400. Server request rate is 120 per second, total number of requests is 96000, and each request last 180~220 seconds. For each kind of service, the weight value of different determinant is diverse. In the illustration of our result, the weight values are set as ?Á=0.1, ?Â=0.4, ?Ã=0.4, ?Ç=0.1 and r1=0.1, r2=0.4, r3=0.4, r4=0.1. The proposed algorithm is compared with the random algorithm. Replica S S1 S2 S3 S4 S5 0 number 1707 2059 1400 1390 1581 1633 Group 0 1730 1780 1255 1297 1279 1491 Group 1 1519 2044 1426 1913 1617 1474 Group 2 1684 1973 1588 1704 1466 1318 Group 3 Table 1 Replica number of AS for service 0. Table 1 illustrates the total replica number for each AS in function 0 services. We find the Replica number of every AS is difference. This is because each AS has different capacity. The following discussion is based on the data of Group 0. Figure 5 shows the load fluctuation of 6 application servers in Group 0. We find the AS with high capacity is always at first
uave (k ) ? ? i ?1 (ui * ci )
mave (k ) ? ? i ?1 muse
bnorm (k ) ? ? i ?1 breq
(i) ? (i) ?
i ?1 i
n i ?1
(bi ? breq (i ))
cnorm (k ) ? ? i ?1 cuse (i)
n i ?1
(ci ? cuse (i))
n is the quantity of AS in a group and k is the group ID. We define our aggregate performance function as follows: ? ? ? ? f (k ) ? ? ? ? ,? ? ? ? ? ? ? ? 1 uave (k ) bnorm (k ) cnorm (k ) mave
(k ) ? , ? , ? , ? are changeable weight values of CPU utilization, bandwidth usage, capability usage and average memory utilization according to a specific service type. f(k) is the Response Priority Value of group k. Load Analyzer calculate the f(k) of each AS Group that could handle the incoming message from SCS and pick the AS Group that has the min f(k) as the destination group.
chosen as the destination AS and stays at a high load level.
Because S2 has the highest capacity and bandwidth, it really burdens a high load but is relative lower in percent than others. And we find S2 has got a reasonable burden balance compared with others. This illustrates that our system is fairly in load allocating.
300 S0 200 S1 S2 S3 100
800 700 600
S1 S2 S3 S4 S5
500 400 300 200 100
Figure5 Load fluctuation in group 0 of simulated system
1800 1700 1600 1500 S0 S1 S2 S3 S4 S5
1400 1300 1200 1100 1000 900 800
Figure8 Load fluctuation in group 0 of random system Figure8 is the Load fluctuation of random system. Compared Figure8 with Figure5, we find our system has less fluctuation. After 200 second, the system has retained a state with good balance. We introduce
Figure6 Residual capacity fluctuation in group 0 of simulated system Figure 6 is the fluctuation of residual capacity. Compared Figure 5 with Figure 6, we find S1 has a high capacity, and it burdens a high load. S2 also has a high capacity than others, but it only burdens a low load. That is because the bandwidth is also a factor that can??t be ignored. To make our measurement more reasonable, we propose a normalized
LC ? access _ number / (max _ access * bandwidth / avg (bandwidth))
(load (t ) ? AVG)
, then we get the Figure7.
1 S0 0.95 S1 S2 S3 S4 0.85 S5
to analyze the workload stability of this system after 200 seconds. Replica S S1 S2 S3 S4 0 number 0.2530 0.1764 0.1557 0.2367 0.2211 Group 0( ? %) 0.2041 0.2042 0.2292 0.2389 0.2010 Group ? %) 1( 0.2095 0.1861 0.2052 0.2263 0.2603 Group 2( ? %) 0.2633 0.2336 0.2276 0.2166 0.2345 Group 3( ? %) Table 2: ? of ASs of function 0 in simulated system Also we have analyzed the stability of the random system illustrated in Figure8. Replica S S1 S2 S3 S4 0 number 2.2355 1.3102 1.7424 1.0622 0.9506 Group ? %) 0( 1.1804 1.6940 0.8198 1.6043 1.5320 Group ? %) 1( 1.3126 1.4122 1.6110 1.2243 1.3724 Group 2( ? %) 1.8970 2.0576 1.7128 1.4763 1.8002 Group 3( ? %) Table 3: ? of ASs of function 0 in random system
0.1969 0.2334 0.1835 0.1890
normalized load residual
1.8702 2.1550 1.4236 1.8083
0.65 0 100 200 300 400 time 500 600 700 800
Figure7 normalized residual capacity fluctuation in group 0 of simulated system
Compared the two tables, we find our system has better stability. All of this results show that our algorithm is feasible in solving the load balance issue of SCIM.
In this paper, we introduce a load balance model of SCIM, describe the mechanism of the model and the content of Load Policies, and then propose an algorithm to implement load balance. This model adapts to the converged network environment and rising traffic levels. Load policies have the following characteristics: (1) Load policies describe the working environment of AS and provide the necessary information that load analyzer requires to know; (2) Load policies can be classified into two categories: Inter-Group Load policies and Intra-Group Load policies; (3) Each AS has its own Load policies and the information that Load policies presence is dynamically changed. From the simulation results, we conclude our proposed algorithm has a good performance and this indicated the practicable of our Load policies. In the future, we will plan to elaborate Load policies for each specification type of application server and carry out simulations for more complex composition services
 Niklas Blum, Thomas Magedanz, Florian Schreiner, Sebastian Wahle, "A research infrastructure for SOA-based Service Delivery Frameworks", pp.1-6, 2009 5th International Conference on Testbeds and Research Infrastructures for the Development of Networks & Communities and Workshops,
2009  3GPP, TS 23.002 V6.7.0, ??Configuration of IM CN Subsystem entities??, March 2005  C. Huang, N. Crespi, "Enriched SCIM for Service Composition within IMS Environment", International Conference on Engineering Management and Service Sciences EMS 2009, Sept. 2009  3GPP, TR 23.810 V8.0.0, ??Service Interaction Management by Service Brokers??, September 2009  Kenichi Sakurai, Soichiro Tange, and Hisayuki Sekine, Service Delivery Platform Implementing IP Multimedia Subsystem, FUJITSU Sci. Tech. J., Vol. 45, No. 4, pp. 409-414 (October 2009)  A. Gouya and N. Crespi, ??SCIM (Service Capability Interaction Manager) Implementation Issues in IMS Service Architecture??, IEEE International Conference, 4:1748-1753, Jun 2006  Nicholas S. Huslak, A.C. McQuaide, ??Service Brokering: Opportunities and Challenges??,
International Conference on Intelligent Network (ICIN), 2007  3GPP, TS 29.199 V1.0.1, ??Parlay X services??, January 2004  IETF RFC 3261, ??SIP: Session Initiation Protocol??  LI Wen-Zhong, GUO Sheng, XU Ping, LU Sang-Lu, CHEN Dao-Xu, ??An Adaptive Load Balancing Algorithm for Service Composition?? Journal of Software, Vol.17, No.5, May 2006, pp.1068?1077  JI Zhihui, NI Hong , KUANG Zhenguo, ??QoS-based stream media service composition algorithm?? Application Research of Computers, Vol. 26 No. 10Oct. 2009