Rabee Mustapha Abuteir

Anne Fladenmuller
email: anne.fladenmuller@lip6.fr

Olivier Fourmaux
email: olivier.fourmaux@lip6.fr

SDN based architecture to improve video streaming in home networks

Keywords: DASH, Home networks, SDN, Video streaming, Traffic shaping

Nowadays, Internet video is the dominant internet traffic. DASH is an adaptive video streaming technique introduced to enable high quality video delivery over HTTP. In home networks, multiple video streams will compete for bandwidth, thus leading to poor performance and impacting the received quality of experience. In this paper we introduce a new technique to address this issue at the home network gateway without modifying neither the client player nor the video server. We design our framework NAVS (Network Assisted Video Streaming) relies on the deployment of Software Defined Networking (SDN). NAVS performs a dynamic traffic shaping based on the collected network traffic statistics and monitoring of video flows. NAVS dynamically allocates bandwidth for each video flow in real time. NAVS scheme has been evaluated over several metrics: bandwidth utilization, instability of players as well as the average video quality received by the clients. Our results demonstrate an improvement for all these parameters.

I. INTRODUCTION

Internet has been originally designed to transfer data but with the improvement of technologies, new services were introduced such as voice and video. Nowadays, video streaming is the dominant Internet traffic. Last report from Cisco Systems [START_REF] Cisco | Visual networking index: Global ip traffic forecast 2014-2019[END_REF] shows the Internet video traffic represents 59% from the global internet traffic. Although, it will reach 77% by 2019. Over the top (OTT) video services such as Hulu, Netflix and Youtube became the most used services in the Internet. As an example currently Netflix [START_REF] Sandvine | Global internet phenomena report 2015[END_REF] increases its domination of North America traffic to reach 36.5% of downstream traffic in the peak evening hours. In spite of the fact that there is no standard metrics for Quality of Experience (QoE), OTT spends a lot of investments to increase the users engagement with the video services. All these aspects led to develop new protocols for video streaming on the Internet such as DASH.

Dynamic Adaptive Streaming over HTTP (DASH) [START_REF] Anthony | The mpeg-dash standard for multimedia streaming over the internet[END_REF], an ISO standard also known as MPEG-DASH, was developed as a cooperation between industries and standardized organizations aiming to high quality video delivery. DASH run over HTTP due to the support of HTTP by the servers, middleboxes and clients applications. Each video is available on the server with multiple copies and each copy with different encoding. Each copy is divided into chunks with equal duration. The chunks meta data is available in the Media Presentation Description (MPD) which contains the video length, available bitrates and chunks URLs. First, the client requests the MPD file then it chooses the most suitable bitrate and starts downloading chunks. The adaptation logic, to choose the next chunk, is kept open to the implementer. However, many implementations of DASH such as DASH-JS [4] and DASH.as [5] use bandwidth estimation based adaptation logic to select the next chunk bitrate. Further, when link status changes between the client and server then the client player requests either higher or lower bitrate chunks based on the last estimated bandwidth.

DASH runs over HTTP which uses TCP as transport layer, Thus leading to mismatch between the DASH adaptation logic which runs at the client side and the TCP congestion control which runs at server side. Further, the DASH player uses a buffer to minimize effect of packet jitter delays and smooths the playout. In the start of video streaming DASH starts filling the buffer and after a threshold it starts the playout. When the buffer fill ups an on-off pattern starts to appear.During ON periods the DASH player downloads new chunk while in the OFF periods it waits for the buffer drain. When two or more DASH clients compete for bandwidth [START_REF] Akhshabi | What happens when http adaptive streaming players compete for bandwidth?[END_REF] thus leads to instability of the players, unfairness between the players requested bitrates and network bandwidth under-utilization. This situation is common in shared access network such as home networks. Fig. 1 shows a performance of real DASH streaming for three clients over a home networks. The name of the DASH player is kept hidden to stress that the paper is not an evaluation of software. As it is clear from the figure the DASH player shows instability in the video bitrates, unfairness between different clients and the total video bandwidth utilization for the three clients was less than the total available bandwidth.

Software-Defined Networking (SDN) [START_REF] Fundation | Software-defined networking: The new norm for networks[END_REF] is a network architecture that aims to decouple the control plane from the data plane. The controller has global vision about the network and it makes decisions based on real-time view of the entire network rather than within limited visibility. With this separation [START_REF] Kim | Improving network management with software defined networking[END_REF] we could maintain, manage and optimize home networks in better way. Although, to improve the scalability and avoid the controller to become the bottleneck of the network we could use near-sighted [START_REF] Schulz-Zander | Towards a scalable and near-sighted control plane architecture for wifi sdns[END_REF] control plane architecture. Where two controllers were used, the first one called the global controller which could be in the cloud and the second one called nearsighted controller which could be within the home gateway and it has less functionalitys compare to the global controller. In this paper we proposed a new framework NAVS (Network Assisted Video Streaming) which is built based on the SDN architecture. NAVS aims to improve the QoE by reducing player instability, maximize the fairness between client and increase the video quality. NAVS uses dynamic traffic shaping for the clients to achieve these goals.

The rest of the paper is organized as follows. Related work are presented in Section II. In Section III we explain our proposed framework NAVS. The performance evaluation is presented in section IV. Finally, the conclusion and future work is discussed in Section V.

II. RELATED WORK HTTP Adaptive Streaming (HAS) is the most popular video delivery technique due to its compatibility with middleboxes.

There are many HAS based solutions such as Adobe Systems HTTP Dynamic Streaming, Apple HTTP Live Streaming (HLS), Microsoft Smooth Streaming and DASH. These protocols share common behaviour over Internet networks leads to suboptimal performance. The authors in [START_REF] Bae | Why is http adaptive streaming so hard?[END_REF] summarised the main causes of suboptimal behaviour to three reasons: (1) bandwidth estimation depends on the chunks duration (2) disparity between the advertised chunk quality and real encoding (3) the dependence on HTTP/TCP to deliver the video streaming and the on-off pattern leads to inefficient bandwidth utilization.

HAS traffic shaping to improve users QoE in home networks was introduced in [START_REF] Houdaille | Shaping http adaptive streams for a better user experience[END_REF]. The authors applied traffic shaping in the home gateway based on the desired bitrate for each video flow. It is known when a client requests a bitrate R, it needs a bandwidth (1 + α)R. This extra bandwidth is needed due to protocols overhead, queueing and retransmissions. The authors ignore the value of α in their calculation. Although, their technique is not dynamic, the traffic shaping is done in the beginning of session and its not changed when a new video flow starts streaming or video flow leaves the session. Akhshabi et al [START_REF] Akhshabi | Serverbased traffic shaping for stabilizing oscillating adaptive streaming players[END_REF] proposed traffic shaping on the server side to reduce the player oscillations. When instability in the players is detected then the server reduces the player bitrate profile or increases it on the other case. However, this technique solves the instability problem by reducing the bitrate profile and that leads to reduce the video quality. The main cause of player instability is the competition between video flows and the on-off pattern which should be solved at the home gateway. The authors in [START_REF] Ameur | Evaluation of gateway-based shaping methods for http adaptive streaming[END_REF] compare two traffic shaping techniques, the Heretical Token Bucket (HTB) and the Receiver Tuning Methods (RTM). Further, the authors show that RTM gives better performance compare to HTB. Indeed, the authors shaped the traffic to the bitrate R n for the video flow n rather than (1 + α Rn )R n and that leads to bad performance for HTB. Notably, OTT video services [START_REF] Ghobadi | Trickle: rate limiting youtube video streaming[END_REF] use TCP rate limiting in the server side to reduce TCP loss rate and the use of RTM could conflict with the server side control loop. Georgopoulos et al [START_REF] Georgopoulos | Towards network-wide qoe fairness using openflow-assisted adaptive video streaming[END_REF] proposed an SDN based solution to improve the QoE for video streaming in home networks. The client player delegates the adaptation logic to the controller and by this way they reduce the instability and maximize the fairness between the players. Indeed, changing the client player behaviour is a tough assumption and in this paper we keep both the client and server side without change. In [START_REF] Quinlan | Delivery of adaptive bit rate video: balancing fairness, efficiency and quality[END_REF] the authors evaluate the performance of traffic shaping for competing video flows over a shared bottleneck links using SDN. They show the individual traffic shaping gives better results than the aggregate traffic shaping. However, the authors shape the traffic for each client to constant value which is impractical because when the number of clients increases then the available bandwidth will be less than the required bandwidth, which leads to poor performance. In NAVS we will use dynamic bandwidth shaping so the traffic shaping for each client will depend on the available resources and number of video flows. Kleinrouweler et al [START_REF] Kleinrouweler | Modeling stability and bitrate of network-assisted http adaptive streaming players[END_REF] proposed to install HTTP proxy at the gateway. The proxy divides the available bandwidth between the video flows. The proxy rewrites the client requests to force it to reach the selected bitrates. In fact, the authors ignore the extra bandwidth α leads to system instability and as the client HTTP request rewritten then it effects the control loop of the player. In [START_REF] Petrangeli | Network-based dynamic prioritization of http adaptive streams to avoid video freezes[END_REF] the authors proposed SDN based solution with traffic prioritization to reduce video freezing. This solution need to change the client side to be aware of the video traffic prioritization. In comparison, NAVS keeps the client side without any change to prevent the video freezing. Mansy et al [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF] proposed a Video Home Shaper (VHS) to improve video streaming for home networks. VHS allocate bandwidth for different client based on the encoding video rate and screen resolution. In NAVS we used SDN based architecture because we believe in near future we will have more devices in home networks and the best way to manage these devices is through SDN. This vision is consistent with trends of future home networks

[20] [21] [22].
Hence, our proposed solution NAVS used SDN based architecture to improve video performance. NAVS keeps the client and the server without change. NAVS tries to improve the QoE and to reduce the instability. Further, improving video streaming in home networks using SDN is the first step to proof the concept of Software Defined Home Networks (SDHN). We will discuss the proposed architecture in more details in the next section.

III. PROPOSED SOLUTION

In home networks, we have multiple clients connected to ISP network through the gateway. The link between the home network gateway and ISP is often the bottleneck and usually the link speed depends on the selected service price. The bottlenecks in home network [START_REF] Sundaresan | Bismark: a testbed for deploying measurements and applications in broadband access networks[END_REF] [24] could be due to limited bandwidth either in the access or in wireless link. In this paper we focus on solving the first problem. When multiple video flows compete for bandwidth, a poor performance could result as it was shown in Fig. 1. Our proposed framework NAVS (Network Assisted Video Streaming) is based on SDN architecture. NAVS uses dynamic traffic shaping to allocate bandwidth between different clients aiming to increase the QoE. In addition, NAVS used an abstract model for the controller so its location is less important than its function. Fig. 2 shows the NAVS architecture for home network. It presents high level view for NAVS component (controller architecture). The controller consists from five modules and next we will describe each one briefly.

A. Policy Module

Policy module is responsible of the policy that should be applied by the controller within the home network. This policy depends either on service level agreement or on user preferences. We could build this policy either by delegating to the end user the definition of the most appropriate policy using a Graphical User Interface (GUI) [START_REF] Kumar | User control of quality of experience in home networks using sdn[END_REF] or by using some predefined policies [START_REF] Kleinrouweler | Modeling stability and bitrate of network-assisted http adaptive streaming players[END_REF]. To simplify the problem we chose the second solution and we use a predefined policy. Indeed, fairness between video flows is one of the main objective of this research so the used policy was all video flows should get the same bandwidth.

B. Traffic Monitoring Module

This module is responsible of monitoring all the traffic within the home network and classification of flows. When a new client starts using the home network the first packet sent from the client is forwarded from the gateway to the controller and by this way the controller starts monitoring the new traffic flow. The controller could classify the traffic flows using [START_REF] Cisco | Visual networking index: Global ip traffic forecast 2014-2019[END_REF] DNS classification based on the destination IP address (2) Deep Packet Inspection (DPI) [START_REF] Seddiki | Flowqos: Qos for the rest of us[END_REF]. In this paper we choose the first technique because it is easier to implement and it has lower overhead compare to DPI. When the flow becomes inactive for certain time that means the flow has stopped and it will be removed from the active video flows table.

C. MPD Analyzer Module

When a flow is classified as a video flow by the traffic monitoring module the controller adds it to the list of active video flows. Meanwhile, the DASH protocol runs over HTTP which uses request and response messages. When a new client stream a video from DASH server it sends at the beginning a get messages to request the MDP file. This request is monitored by the controller. Then the server sends a response message which contains a copy from the MDP file. When this response reaches to the gateway a copy is forwarded to the controller. The controller passes the MPD file to the MPD analyzer to start the extraction of metadata and store it in the active video flow info table. The metadata contains the video length, the number of chunks, the available bitrates and the chunks URLs. When the video flow removed from active video flows table, the active video flow info table belonging to it is also removed.

D. QoE Optimizer Module

We have multiple clients stream video using DASH from video server. First the traffic module monitors all the traffic in the network and it classifies the video traffic. Then the MDP is sent as a copy to the controller. Based on the predefined policy the QoE optimizer tries to find the optimal allocation for the bandwidth between the clients. Meanwhile, the predefined policy presses the allocated bandwidth should be the same for all clients. We know if client n wants to stream video at bitrate R n it needs bandwidth (1 + α Rn )R n so we can formulate an optimization problem for N users as follow:

arg max N n=1 B n (1)
Subject to:

N n=1 B n ≤ BW (2)
B i = B j ∀ two video flows i and j

Where: video flow n needs bandwidth

B n = (1 + α Rn )R n to stream at bitrate R n .
R n is the bitrate selected by user n, α Rn is the extra bandwidth needed by the flow that stream video with bitrate R n (this extra bandwidth is needed due to the protocol overhead, queuing and retransmission), B n is the bandwidth should be allocated to user n and BW is the total bottleneck bandwidth. The objective function of the QoE optimizer is to maximize the bitrate received by each client which represented by equation 1. This objective is subjected to (1) the bandwidth that assigned to all video flows is less than the overall To solve this equation we need to know the value of α Rn that should be assigned to bitrate R n . In section VI we will explain how we evaluate the value of α Rn but for now we suppose is preloaded at the controller. After solving these equations we could find the value of bandwidth B n that should be assigned to each client n. This values will be sent to the traffic shaping modules to make sure it is applied at the home gateway.

E. Traffic Shaping Module

This module is informed of the bandwidth that should be allocated to each flow. Indeed, in this paper the value B n is the same for all video because the policy is to assign the same bandwidth for all video clients but if the policy was changed the bandwidth could change from one video flow to another depending on the chosen policy. NAVS will do dynamic traffic shaping based on the number of video flows and the policy of the traffic shaping for each client will be defined. Further, if a new video flow starts or video flow is stopped the value of the allocated bandwidth for each client is recalculated. Traffic shaping is supported by most SDN switches such as OpenvSwitch [27] and by that NAVS could be implemented in any SDN based home gateway. We will describe how to calculate the value of α for each bitrate and the performance evaluation of NAVS in the next section.

IV. EVALUATION AND RESULTS

We divide this section to three subsections. In the first subsection we describes how to calculate the value of α. In the second subsection the performance metrics used to evaluate NAVS is presented. In the last subsection we evaluate the performance of NAVS.

A. Alpha Calculation

When a client streams a video at bitrate R n the needed bandwidth is (1 + α Rn )R n and this extra bandwidth is needed due to protocol overhead, queuing and retransmission. We use NS3 [28] network simulation tool to simulate the DASH video streaming over a network. NS3 doesn't include a module for DASH video streaming. However, we have implemented a new module for NS3 to simulate the DASH video streaming. To make the experiment more realistic we used the same bitrates as used by Youtube [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF]. Further, the client streams video with fix bitrate over the whole simulation time and from the average throughput we could calculate the value α. Fig. 3 shows the network topology that was used in the simulation. We use dumbbell network topology to stress the bottleneck bandwidth which was 30 Mbps. Further, table I shows the simulation parameters used for the simulation. In this part we stream the video from streaming server without adaptation logic so in each run the video is streamed from the server using a fix bitrate. Then we evaluate the average throughput and we calculate the value of α Rn that for a video stream with bitrate R n . When the video bitrate increases the value of α decreases and that due to (1) the protocol overhead is less compare to the overall streamed video size (2) when the bitrate increases the TCP protocol will converge to the TCP congestion avoidance period faster and that leads to less queuing and packets retransmission. Hence, the OTT video service provider could calculate the value of α with different scenarios and adds it to the MPD file then the controller could extract the value of α for each available video bitrate. Meanwhile, NAVS framework could start the dynamic traffic shaping for each video stream based on traffic statistics, number of video flows and policy.

B. Performance Metrics

To evaluate NAVS we choose four metrics widely used in the literature to reflect the QoE when multiple DASH video flows share the same bottleneck link.

1) Fairness: based on Jain fairness [START_REF] Jain | A quantitative measure of fairness and discrimination for resource allocation in shared computer systems[END_REF] which is widely used in literature to evaluate the fairness between competing video streams [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF] [START_REF] Chen | A scheduling framework for adaptive video delivery over cellular networks[END_REF]. we define fairness between video streams as follow:

F airness = 1 T T t=1 ( N n=1 R nt ) 2 N N n=1 (R nt ) 2 (4)
Where T is the streaming session length, N is the total number of video streams and R nt is the video bitrate streamed by the video stream n at time t. When the fairness value is 0 that means the streamed bitrates are not fair at all.When the fairness value is 1 that means the streamed bitrates is totally fair.

2) Instability: QoE of DASH based video streams are extremely impacted by the bitrate switches [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF] [START_REF] Chen | A scheduling framework for adaptive video delivery over cellular networks[END_REF]. We defined instability of the video streams as follow:

Instability = N n=1 S n T C n (5)
Where S n is the number of switches of bitrate for video stream n and T C n is the total number of chunks downloaded for video stream n. Smaller instability reflects better performance and vice versa.

3) Average Video Quality: The video quality increases as the bitrate increases [START_REF] Bae | Why is http adaptive streaming so hard?[END_REF]. Higher average video quality means better quality thats leading to increase the user engagement with OTT video service. We defined the Average Video Quality (AVQ) for video streams as follow:

AV Q = 1 N T N n=1 T t=1 R nt (6)
4) Video Traffic Utilization: Video Traffic Utilization (VTU) is a fraction between summation of bitrates used by video flows to the bottleneck bandwidth regardless of any background traffic [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF] [START_REF] Chen | A scheduling framework for adaptive video delivery over cellular networks[END_REF].

V T U = 1 T T t=1 N n=1 R tn BW ( 7
)
Where BW is the bottleneck bandwidth (link capacity). There is a relation between the average video quality and video traffic utilization. When the average video quality increases the video traffic utilization increases and vice versa.

C. NAVS Evaluation

To evaluate NAVS we used the same topology as in Fig. 3 and we used the same simulation parameters of table I. To make the experiment more realistic we add background traffic so one client is downloading a file from the sink node. We compare NAVS architecture with legacy home network(We mean by legacy network a best effort network without NAVS framework). The adaptation logic in both cases was bandwidth estimation based algorithm. We run the simulation multiple times for different number of concurrent video streams ranging from 1 to 8. We analyze the trace files to evaluate different performance metrics (equation from 4 to 8). Fig. 5 shows the fairness vs the number of video streams. In legacy network when the number of video streams increases the fairness decreases. As a result some video flows stream in high bitrates and others in low bitrates due to wrong bandwidth estimation. The background traffic could lead to poor bandwidth estimation for the video flows. Contrarily, NAVS divides the available bandwidth equally between the video clients and makes like separated channel between the video flows so each client could stream the video without any interruption from other clients. Further, this separation reduces the bitrate switches for all clients due to the accurate bandwidth estimation and that leads to total fairness between the client. Hence, the ON-OFF pattern of DASH will not effect because of the separation between video flows resulting from dynamic traffic shaping. The extra bandwidth (after solving equation 1, 2 and 3) will be allocated to the background traffic.

Fig. 6 shows the instability vs the number of video streams. For the legacy network when the number of video streams increases the instability increases sharply and that due to bad bandwidth estimation resulting from the competition between video stream flows and the on-off pattern of DASH. In the other hand, NAVS shows more stability because the dynamic bandwidth shaping so each client could stream the video without any effect from other clients. The effect of background traffic was eliminated due to the traffic shaping. Reducing the instability of video streaming will lead to better QoE and that will increase the client engagement with the OTT video service. Fig. 7. Average video quality for video streams with NAVS and without (labeled 'Legacy') . Fig. 7 shows the average video quality vs the number of video streams. For legacy network the average video quality decreases when the number of video streams increases and that due to unfairness and instability. However, the background traffic will compete with video streams and all of that leads to decrease the average video quality. In comparison, NAVS allocates the maximum possible bandwidth for each client to stream at the maximum possible bandwidth (equation from 1 to 3). When the number of video streams is less than or equal 5, NAVS allocates the maximum equal bandwidth for video flows but when the number of video flows increases more the five that will violate equation 2. Hence, NAVS reduces the allocated bandwidth for video streams and that explains the decrease of average video quality when the number video streams becomes greater than 5. Further, NAVS shows higher average video quality compare to legacy network. The bottleneck bandwidth in our experiment was 30Mbps and when the number of video streams exceeded 5 it reduced the allocated bandwidth for each video stream because it violate equation 2. If we use higher bottleneck bandwidth then NAVS will make the average video quality higher until if the number of video streams exceed 5. Fig. 8 shows the average video quality vs the number of video streams. In legacy network when the number of video streams increases the video traffic utilization increases slowly until it reaches the saturation and that due to the decreases in average video quality and the traffic video utilization never reach 35%. Instead, NAVS shows better video traffic utilization until the number of video streams reach 5 then the video traffic utilization starts decreasing due to the lowering in average video quality. The zigzag pattern is due the bottleneck bandwidth and if we use higher bandwidth we will not see this zigzag pattern because NAVS will allocate higher bandwidth for each video stream. NAVS shows higher traffic utilization up to 60% which means video streams get higher average video quality.

V. CONCLUSION AND FUTURE WORK

We propose NAVS, a new SDN based framework to improve video streaming in home networks. NAVS allocated bandwidth for different video streams based on the policy, number of video flows, available video bitrates and bottleneck bandwidth. When a client streams a video with bitrate R n it needs bandwidth (1 + α Rn )R n . We evaluated the values of α Rn for Youtube bitrates R n and we add them into the MPD. NAVS evaluates the most appropriate bandwidth for each client then makes dynamic traffic shaping.

Our work will continue in the following directions. Firstly, we used a simple policy which allocates the same bandwidth for all clients. We will address the problem of using more complex policies and implement them within NAVS. Secondly, we suppose the video quality increases when the bitrate increases. In fact, other factors such as screen resolution, viewing distance and screen dimension could also effect. We will use more complex video quality function such as used in [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF]. Thirdly, in this work we used bandwidth estimation based adaptation logic. We will evaluate the performance of NAVS with different adaptation strategies such as buffer based approach [START_REF] Huang | A buffer-based approach to rate adaptation: Evidence from a large video streaming service[END_REF]. Fourthly, we will extend NAVS to support wireless home networks. In wireless links, the channel strength depends on the signal to noise ration and that could be another bottleneck in the network. We will address this wireless link bottleneck. Although, we will address the mobile video offloading from mobile operator to home network and vice versa. Finally, NAVS is the first step for Software Defined Home Networking (SDHN) and we will optimize it to be ready for implementation in commodity hardware.

Fig. 1 .

 1 Fig. 1. Video bitrate for three DASH video flows run over home network.

Fig. 2 .

 2 Fig. 2. NAVS architecture for home networks.

Fig. 3 .

 3 Fig. 3. The network topology used for the simulation.

Fig. 4 .

 4 Fig. 4. Alpha vs the video bitrates.

Fig. 4

 4 Fig.4shows the value of α which is needed for each bitrate. When the video bitrate increases the value of α decreases and that due to (1) the protocol overhead is less compare to the overall streamed video size (2) when the bitrate increases the TCP protocol will converge to the TCP congestion avoidance period faster and that leads to less queuing and packets retransmission. Hence, the OTT video service provider could calculate the value of α with different scenarios and adds it to the MPD file then the controller could extract the value of α for each available video bitrate. Meanwhile, NAVS framework

Fig. 5 .

 5 Fig. 5. Fairness between video streams with NAVS and without (labeled 'Legacy') .

Fig. 6 .

 6 Fig. 6. Instability of video streams with NAVS and without (labeled 'Legacy') .

Fig. 8 .

 8 Fig. 8. Video traffic utilization for video streams with NAVS and without (labeled 'Legacy') .


Rabee Mustapha Abuteir

Anne Fladenmuller
email: anne.fladenmuller@lip6.fr

Olivier Fourmaux
email: olivier.fourmaux@lip6.fr

An SDN Approach to Adaptive Video Streaming in Wireless Home Networks

Keywords: DASH, SDN, TCP, Traffic shaping, Video streaming, Wireless home networks

Adaptive video streaming techniques were introduced to enable high quality video delivery over HTTP. These schemes propose to choose dynamically the appropriate video rate to match the operating conditions. In home networks, wireless access is the predominant Internet access. Multiple clients/players with different link qualities compete over a limited wireless bandwidth to transfer their video streams. As a result, some users undergo unpredictable degradations of their Quality of Experience (QoE) while others benefit from these perturbations. In this paper we introduce a new technique to address this issue at the gateway without modifying neither the client nor the video server side. We design a framework WNAVS (Wireless Network Assisted Video Streaming) that relies on the deployment of Software Defined Networking (SDN). WNAVS performs a dynamic traffic shaping based on collected network traffic statistics and allocates bandwidth for the clients in real time. We evaluate WNAVS over several metrics: fairness, instability, average video quality as well as the video traffic utilization. Our results demonstrate an improvement for all these parameters.

I. INTRODUCTION

Internet video is the dominant Internet traffic, last report from Cisco Systems [START_REF] Systems | Visual networking index: Global ip traffic forecast 2014-2019[END_REF] shows the Internet video traffic reaches 59% of the total Internet traffic in 2014 and it should reach 77% by 2019. The same report expects the WiFi and mobile traffic to account 66% of the total Internet traffic by 2019. This tremendous increase in wireless Internet and video usage raise new challenges to maintain users satisfaction while operating conditions may experience strong variations. Dynamic Adaptive Streaming over HTTP (DASH) [START_REF] Anthony | The mpeg-dash standard for multimedia streaming over the internet[END_REF] is an ISO standard also known as MPEG-DASH. It was developed as a cooperation between industries and standards organizations to provide high quality video delivery and increase the user Quality of Experience (QoE). Adaptive video schemes propose to divide the video into chunks and make them available at different bitrates at the server side. The client (player) defines the next chunk bitrate but the way it is chosen is kept open to the implementer. When 2 or more DASH players compete for a limited bandwidth [START_REF] Bae | Why is http adaptive streaming so hard?[END_REF] problems may raise leading to instabilities in resource allocation, unfairness between the players requested bitrates and network bandwidth under-utilization.

In wireless home networks, wireless could cause bottleneck [START_REF] Pefkianakis | Characterizing home wireless performance: The gateway view[END_REF] [START_REF] Sundaresan | Measuring the performance of user traffic in home wireless networks[END_REF]. In addition, the wireless throughput could be effected by many factors such as the number of clients, number of neighbor wireless networks, interference with non-WiFi Fig. 1: Instantaneous TCP throughput for three clients. We used the same topology and parameters in section IV. devices and distance between the client and the gateway 1 . Meanwhile, DASH runs over HTTP which uses TCP as transport layer, Thus lead to mismatch between the DASH adaptation logic which runs at the client side and the TCP congestion control which runs at server side. When multiple clients stream videos over HTTP with different links qualities (one or more with poor link quality) the TCP performance decline. Fig. 1 shows the TCP performance for three clients with different links qualities. In the first scenario only one client run per time, The TCP throughput vary due to the variation in links qualities. In the second scenario the three clients run together, the TCP throughput depressed. This TCP performance issue happened because the wireless channel is shared, TCP fairness and performance anomaly of IEEE 802.11 networks [6] [7]. Hence, the low TCP throughput and the competition between the players will lead to bad QoE.

Software-Defined Networking (SDN) [START_REF] Fundation | Software-defined networking: The new norm for networks[END_REF] is a network architecture aims to decouple the control and data plane. In this paper we proposed a new framework WNAVS (Wireless Network Assisted Video Streaming) which is built on the top of SDN. WNAVS aims to enhance the TCP performance, stream videos in higher bitrates and increase the users QoE. In Addition, WNAVS reduces players instability, maximizes the fairness between clients and increases the videos qualities streamed by the clients.

The rest of the paper is organized as follows. Related work are presented in Section II. In Section III we explain our proposed framework (WNAVS). The performance evaluation is presented in section IV. Finally, the conclusion and future work is discussed in Section V.

DASH protocol behaviour over Internet leads to suboptimal performance due to: (1) the adaptation algorithm performance depends on the chunks duration [START_REF] Anthony | The mpeg-dash standard for multimedia streaming over the internet[END_REF] the disparity between the advertised chunk quality and real encoding rate (3) the dependence on HTTP/TCP to deliver the video streaming and the ON-OFF pattern of video streaming lead to inefficient bandwidth utilization [START_REF] Bae | Why is http adaptive streaming so hard?[END_REF]. In this paper we focus on the third cause which is related to the network behavior and it is common in wireless home networks.

Airtime fairness [START_REF] Lin | Achieving airtime fairness of delaysensitive applications in multirate ieee 802.11 wireless lans[END_REF] was proposed as a solution for 802.11 anomaly (client with bad link quality decreases throughput for the other clients as showed in Fig. 1). Airtime fairness resolves the anomaly problem with uplink traffic but the majority of traffic in video streaming is downlink to the clients through the gateway. The authors in [START_REF] Maity | Tcp download performance in dense wifi scenarios[END_REF] proposed a scheduler at the Access Point (AP) to picks only a subset of clients to be served by the AP during any instant. This technique is not suitable for delay sensitive application such as video streaming. HTTP Adaptive Streaming (HAS) traffic shaping to improve users QoE in home networks was proposed in [START_REF] Houdaille | Shaping http adaptive streams for a better user experience[END_REF] [START_REF] Quinlan | Delivery of adaptive bit rate video: balancing fairness, efficiency and quality[END_REF]. However, in wireless networks the link quality vary from client to other and it should be taken into account. Ramamurthi et al [START_REF] Ramamurthi | Using link awareness for http adaptive streaming over changing wireless conditions[END_REF], introduced a link awareness adaptation logic to make the application layer response to change in wireless link faster. The anomaly behaviour will reduce the TCP throughput and that leads to bad QoE.

In [START_REF] Abdallah | A cross-layer controller for adaptive video streaming over ieee 802.11 networks[END_REF], the authors proposed a heuristic cross-layer adaptation logic to enhance UDP video streaming in WiFi environment but the majority of Internet run over TCP. Chiariotti et al [START_REF] Chiariotti | Qoe-aware video rate adaptation algorithms in multi-user ieee 802.11 wireless networks[END_REF], proposed a centralize QoE aware variable bitrate streaming. WNAVS framework is different because it keeps both the clients and the server side without change. A proxy based solution was proposed in [START_REF] Dong | Qoe-aware adaptive bitrate video streaming over mobile networks with caching proxy[END_REF], the proxy fetches segments and redirects the requests based on channel prediction. This technique is inconsistent with the control loop between the players and the OTT server. In [START_REF] Xiang | Dynamic rate adaptation for adaptive video streaming in wireless networks[END_REF], a dynamic rate adaptation algorithm for wireless networks was proposed. The algorithm collected bandwidth statistics and chooses the optimal rate for the clients. When there is bottleneck in wireless access the optimal rate will be low and that decease the QoE. Chenji et al [START_REF] Chenji | Enhancement of wireless bandwidth utilization through user's qoe[END_REF], proposed a bandwidth allocation algorithm to increase the QoE and reduce the bandwidth utilization. However, this technique will not work with video streaming due to large bandwidth demand of video streams, the competition between player and TCP behavior in wireless networks. In-network QoE measurement framework based on SDN architecture was proposed in [START_REF] Farshad | Leveraging sdn to provide an in-network qoe measurement framework[END_REF]. This framework collects QoE parameters for video streams to assist content distribution services or network management. Mu et al [START_REF] Mu | Userlevel fairness delivered: Network resource allocation for adaptive video streaming[END_REF] proposed SDN framework for user level fairness but the variations in links qualities between the clients aren't taken into account. Mansy et al [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF] proposed a Video Home Shaper (VHS) to improve video streaming for home networks. The variation in links qualities between the clients wasn't taken into account.

In WNAVS we used SDN architecture because we believe in near future we will have more devices in wireless home networks and the best way to manage the network is through SDN. This vision is consistent with trends of future home networks [22]. WNAVS shape the traffic at the gateway, both the clients and the server side is kept without change. WNAVS improves the QoE by increasing the TCP throughput in wireless networks and reduces the competition between video flows. We will discuss the proposed framework in more details in the next section.

III. PROPOSED FRAMEWORK

In wireless home networks, multiple clients accesses the Internet through the gateway. The bottleneck could happen in the access link or in the wireless link [START_REF] Sundaresan | Locating throughput bottlenecks in home networks[END_REF]. In [START_REF] Abuteir | Sdn based architecture to improve video streaming in home networks[END_REF] we proposed a solution to improve video streaming when there is bottleneck in the access link. When the wireless links qualities between the clients and the gateway vary the throughput decreases as showed in Fig. 1. In this paper we propose a solution to enhance the QoE of video streaming when the bottleneck is in the wireless link. We build WNAVS (Wireless Network Assisted Video Streaming) based on SDN architecture. WNAVS uses dynamic traffic shaping to allocates bandwidth, reduces the contention and increases TCP throughput. Subsequently, using WNAVS will lead to better QoE for the users.

Fig. 2 shows a typical architecture for video streaming in wireless home networks. We have multiple clients with different wireless links qualities connected to the gateway. The gateway is connected to the Internet through the ISP network and it managed by the SDN controller. The videos are available at the OTTs with different bitrates and the clients stream this videos using DASH. WNAVS framework run on the top of the SDN controller to improve the users QoE. We build WNAVS as a modular framework so any future upgrade could be easily integrated. In addition, we used an abstract model for the controller so its location is less important than its function. The controller consists from four modules and next we will describe each one briefly.

A. Traffic Monitoring Module

This module is responsible for flows classification and monitoring. When a new traffic flow starts, the first packet reaches the gateway that forwards it to the controller. Then the controller classifies the flows (e.g, using DNS based classification [START_REF] Seddiki | Flowqos: Qos for the rest of us[END_REF]). Further, the gateway sends periodically statistics to the controller. When the controller doesn't receive statistics about a flow for certain period that means is not active any more. The gateway sends statistics periodically to the controller and one of these statistics is the effective wireless rate [START_REF] Patro | Observing home wireless experience through wifi aps[END_REF]. Wireless effective rate is a metric reflects the link quality and packet losses for each clients. Notably, when the link quality is good between the client and the gateway, the effective wireless rate is high and vice versa. The wireless effective rate is defined for client n as :

E n = 1 p n i 1 s ni m i (1)
Where p n is the total packets for the client n, i is the number of physical transmission rate could be used between the client and the gateway (e.g., for 802.11g 1 ≤ i ≤ 8), s ni is the number successfully packet for client n at physical rate m i .

B. MPD Analyzer Module

This module is used to analyze the Media Presentation Description (MPD) file. This file is downloaded from the OTT server by the player and it contains metadata about the video. When this file reaches the gateway, a copy is forwarded to the controller. The MPD file contains the video length, the number of chunks, the available bitrates and the chunks URLs. The statistics collected from the gateway and the MPD metadata for different video streams will be used by the QoE optimizer to allocates bandwidth for the clients.

C. QoE Optimizer Module

When we have multiple clients stream videos using DASH from OTT servers, since DASH run over HTTP which uses TCP as transport protocol, the wireless link could be a bottleneck if one more clients have bad link quality. Hence, the wireless throughput decreases due to the performance anomaly of IEEE 802.11 and TCP fairness. The main cause of performance anomaly is the clients with bad links qualities will slow down the clients with good links qualities. Consequently, the TCP throughput will decrease due to the TCP fairness. To solve this problem we propose a fair link sharing between the clients, so each client will get bandwidth proportionally to its link quality. We choose to implement our solution using traffic shaping because it is widely supported by real wireless home gateways [27] [28].

To increase the aggregate TCP throughput we need to know the maximum achievable throughput by each client individually. We use the same model used in [START_REF] Patro | Observing home wireless experience through wifi aps[END_REF]. The authors found the maximum value of correlation coefficient between the Link Experience (LE) and The TCP throughput over many metrics. The link experience for client n is defined as:

LE n = (1 -a)(1 -c)E n ( 2
)
Where a is the air time utilization from other sources, c local contention. Since we will evaluate our work in simulation there is no air time utilization from other sources. We need to reduce the contention between clients to maximize the aggregate TCP throughput. Since we have N clients, we need each client to have the same contention probability, we should set c = 1 N . Hence, the new expression link experience is:

LE n = 1 N E n (3)
Based on [START_REF] Patro | Observing home wireless experience through wifi aps[END_REF] the WiFi TCP throughput (W itt) for client n is calculated using this expression:

W itt n = β 1 LE n + β 0 (4)
Where β 1 and β 0 are constants, their values depend on the IEEE 802.11 standard (e.g., for IEEE 802.11g they are 0.422 and 0.167 [START_REF] Patro | Observing home wireless experience through wifi aps[END_REF]). The effective wireless rate is collected by the traffic monitoring module periodically. Then the gateway shape the traffic for each client n to bandwidth B n and it is defined as :

B n = W itt n , if W itt n > (1 + C)R min . (1 + C)R min , otherwise. ( 5
)
Where C is the DASH protocol overhead2 , R min is the minimum video bitrate available at the server and is extracted by the MDP analyzer. We use equation 5 to prevents clients with bad links qualities from starvation. The QoE optimizer calculates the bandwidth that should assign to the clients periodically. Using this techniques we evaluate the fair TCP throughput should be assigned to each client proportionally to its link quality. This technique will increase the aggregate wireless throughput since it reduce the performance anomaly of IEEE 802.11 networks. The video flow becomes inactive due to the stop of video session or the ON-OFF pattern of adaptive video streaming when the buffer is full. For ON-OFF pattern of video streaming, WNAVS will increase the bandwidth for each client and it make sure the new bandwidth is less then (1 + C)R N . Where R N is the next bitrate higher than the current bitrate used by the client. Thus, WNAVS increase the wireless throughput without decreasing the video streams instability. If the video session stopped, WNAVS removes the inactive flow and recalculate the bandwidth used for the clients.

D. Traffic Shaping Module

This module is informed about the bandwidth should be allocated to each client. These values are proportional to the clients links qualities. Then the traffic shaping module apply these values at the gateway. WNAVS uses dynamic traffic shaping because the bandwidth allocation for each client depends on the variable number of video flows and wireless links qualities between the clients and the gateway.

IV. EVALUATION AND RESULTS

This section is divided into two subsections. In the first subsection the performance metrics used to evaluate WNAVS are presented. In the second subsection we evaluate the performance of WNAVS.

A. Performance Metrics

To evaluate WNAVS we choose four metrics widely used in the literature reflects the QoE for video streaming.

1) Fairness: It is based on Jain fairness [START_REF] Jain | A quantitative measure of fairness and discrimination for resource allocation in shared computer systems[END_REF] which is widely used in literature to evaluate the fairness between competing video streams [START_REF] Abuteir | Sdn based architecture to improve video streaming in home networks[END_REF] [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF]. We define fairness between video streams as follow:

F airness = 1 T T t=1 ( N n=1 Rnt Ent ) 2 N N n=1 ( Rnt Ent ) 2 (6)
Where T is the streaming session duration, N is the total number of video streams, R nt is the video bitrate streamed by client n at time t and E nt is the wireless effective rate used by client n at time t. The objective of this metric is to find the fairness between the bitrates and the wireless effective rates used to download it.

2) Instability: The QoE of DASH based video streams is extremely impacted by the bitrate switches [START_REF] Bae | Why is http adaptive streaming so hard?[END_REF] [21] [START_REF] Abuteir | Sdn based architecture to improve video streaming in home networks[END_REF]. The instability of video streams is defined as follow:

Instability = N n=1 S n T C n (7)
Where S n is the number of switches in bitrate for video stream n and T C n is the total number of chunks downloaded for client n. Smaller instability reflects better performance and vice versa.

3) Average Video Quality (AVQ): The video quality increases as the bitrate increases [3] [24]. Higher average video quality means better QoE. The AV Q is defined as follow:

AV Q = 1 N T N n=1 T t=1 R nt (8)
4) Video Traffic Utilization (VTU): It is a fraction between the summation of bitrates used by video flows to the maximum wireless throughput (e.g, for IEEE 802.11g is 54mbps) [START_REF] Abuteir | Sdn based architecture to improve video streaming in home networks[END_REF]. The V T U is defined as follow:

V T U = 1 T T t=1 N n=1 R tn BW ( 9
)
Where BW is the maximum wireless throughput. When video streams bitrates increase the video traffic utilization increases and vice versa.

B. WNAVS Evaluation

We implemente WNAVS framework in NS3 simulator [30]. We used the simulation parameters listed in table I. At the time of this work, NS3 didn't include any module for DASH video streaming. However, we have implemented a new module for NS3 to simulate the DASH video streaming. We encoded and open source film (Big Buck Bunny [31]) with the same bitrates used by Netflix [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF] using FFmpeg [32]. Then we segmented the files to chunks using GPAC [33]. These chunks files were used in our simulation to be streamed over the network. To make the experiment more realistic we add background traffic so one client is downloading a file from a sink node. We run the simulation multiple times with different number of concurrent video streams ranging from 1 to 8. The clients where distributed over the gateway coverage area with different links quality. We implement two rate adaptation algorithm widely used in literature, Smooth Adaptation (SA) [START_REF] Akhshabi | An experimental evaluation of rate-adaptation algorithms in adaptive streaming over http[END_REF] and Buffer Based Adaptation (BBA) [START_REF] Huang | A buffer-based approach to rate adaptation: Evidence from a large video streaming service[END_REF]. WNAVS framework allocates the bandwidth at the gateway and it keeps the OTT server and the client side without modification. We compare the the performance metrics for both algorithm with and without WNAVS.

Fig. 3: Fairness between video streams with and without WNAVS framework. Fig. 3 shows the fairness vs the number of video streams. We compare both algorithm (SA and BBA) with and without WNAVS. The number of clients was varied from 1 to 8 with different links qualities. Both algorithm without WNAVS shows low fairness, thus happened because when a client stream video with bad link quality, it decrease the other clients throughput due to the anomaly behaviour of IEEE 802.11 networks. Hence, the TCP throughput of the video streams decrease due to the TCP fairness and that lead to channel under-utilization. In other hand, WNAVS framework shape the traffic for the clients proportionally to their links qualities using equation 5. Thus, the wireless throughput will increase due to the prevention of performance anomaly. As a result fairness between the clients will increase for both algorithm. In this paper, we choose the link quality fairness because it is common in wireless home networks to have clients with different link qualities. Fig. 4 shows the instability vs the number of video streams. When the number of video streams increase that lead to increase the competition between the players. The BBA algorithm chooses the next bitrate based on the buffer occupancy and that lead to higher instability compare to SA algorithm. The instability of players without WNAVS will increase due the contention in wireless networks and the depressed in TCP throughput. In the other hand, WNAVS shows more stability because of the dynamic bandwidth shaping. The clients will stream the video proportionally their links qualifies. Thus, reduces the instability of players and increase the QoE. Higher QoE will increase the clients engagement with the OTT video services.

Fig. 5 shows the average video quality vs the number of video streams. In wireless home networks when the number of clients increase the per-client throughput will decrease due to the share of wireless channel. For both algorithm without the assistance of WNVAS the average video qualities were low due to the depressed in TCP throughput. In comparison, WNAVS framework allocates bandwidth to the clients proportionally to their link qualities. This fairness between the clients eliminates the anomaly in the wireless access. Consequently, the TCP throughput for clients with good link qualities will increase and that lead to stream video in higher rates and delivers the chunks faster. Using WANVS framework both algorithm show higher average video qualities which will increase the users QoE. Fig. 6: Video traffic utilization of video streams with and without WNAVS framework. Fig. 6 shows the video traffic utilization vs the number of video streams. When clients stream video without WNAVS framework, they stream with low TCP throughput and that cause low bitrates selection by the players. Thus, the video traffic utilization will decrease. Instead, WNAVS framework allocate bandwidth to the clients proportionally to their link quantities. Thus, the average video qualities increase and that lead to increase the video traffic utilization. Consequently, we manage the bandwidth in better way without changing neither the server nor the client side.

V. CONCLUSION AND FUTURE WORK

We proposed WNAVS, a new SDN based framework to improve video streaming in wireless home networks. Our scheme is aimed to fairly share a wireless medium among various users and address the performance anomaly of IEEE 802.11 networks. This occurs when a transmission over a slow wireless link reduces the performance of all the other clients which are prevented to transmit concomitantly. Thus, WNAVS allocates bandwidth to the clients proportionally to their links qualities. When ON-OFF behaviour appears, WNAVS reallocates the bandwidth without causing instability for the players. WNAVS showed better performance for different QoE metrics for 2 adaptation algorithms widely used in the literature: SA (Smooth Adaptation) and BBA (Buffer Based Adaptation).

Our work will continue in the following directions. Firstly, we will use more complex QoE optimizer taking into account not only the link quality but also other parameters such as the screen resolution of the client [START_REF] Mansy | Network-layer fairness for adaptive video streams[END_REF]. Secondly, we will address the mobile video offloading from mobile operator to wireless home network and vice versa. Finally, WNAVS is the first step for Software Defined Home Networking (SDHN) and we will optimize it to be ready for implementation in commodity hardware.

  (a) Three clients run individually. (b) Three clients run simultaneously.

Fig. 2 :

 2 Fig. 2: Video streaming in wireless home networks using WNAVS framework.

Fig. 4 :

 4 Fig. 4: Instability of video streams with and without WNAVS framework.

Fig. 5 :

 5 Fig. 5: Average video quality for video streams with and without WNAVS framework.

TABLE I :

 I Simulation Parameters

	Simulation Parameters	Value
	WiFi Standard	IEEE 802.11g
	WiFi Rate Adaptation Algorithm	Minstrel
	DASH Adaptation Logic	Buffer Based and Smooth
		Adaptation
	Video Bitrates	235, 375, 560, 750, 1050,
		1750, 2350 and 3000 Kbps
	Player Buffer Size	80 seconds
	Chunk Duration	8 seconds
	Simulation Time	300 seonds

In this paper wireless home gateway, gateway and access point refer to the same thing.

When a client streams a video at bitrate R it need bandwidth (1 + C)R.In our evaluation we used C = 0.3. For farther details you can refer to our paper in[START_REF] Abuteir | Sdn based architecture to improve video streaming in home networks[END_REF].


Jakub M Tomczak
email: jakub.tomczak@pwr.wroc.pl

On-Line Change Detection for Resource Allocation in Service-Oriented Systems

Keywords: change detection, Bhattacharyya distance, Kullback-Leibler divergence, Poisson process

In this paper, an on-line change detection algorithm for resource allocation in service-oriented systems is presented. The change detection is made basing on a dissimilarity measure between two estimated probability distributions. In our approach we take advantage of the fact that streams of requests in service-oriented systems can be modeled by non-homogenous Poisson processes. Thus, for Bhattacharyya distance measure and Kullback-Leibler divergence analytical expressions can be given. At the end of the paper a simulation study is presented. The aim of the simulation is to demonstrate an effect of applying adaptive approach in resource allocation problem.

Introduction

In the past few years, developing information and communication technologies (ICT) enable entrepreneurs to develop monolithic architectures into distributed ones. Hence Service Oriented Architecture (SOA) becomes crucial paradigm in designing serviceoriented systems (SoS) [START_REF]European Commission: From Grids to Service-Oriented Knowledge Utilities. A critical infrastructure for business and the citizen in the knowledge society[END_REF].

In SoS the key element is a service which provides certain and well-defined functionalities and is characterized by parameters describing quality of required and delivered service [START_REF] Grzech | Translations of Service Level Agreement in Systems Based on Service-Oriented Architectures[END_REF]. Furthermore, services may be instantiated and assembled dynamically that leads to changing structure, behavior and location of software application at run-time [START_REF]European Commission: From Grids to Service-Oriented Knowledge Utilities. A critical infrastructure for business and the citizen in the knowledge society[END_REF]. However, to ensure high quality of service (QoS) a resource allocation problem needs to be solved [START_REF] O'brien | Quality Attributes for Service-Oriented Architecture[END_REF]. The QoS depends on several factors but mainly on a stream of service requests which is time-varying. Many control algorithms, e.g., PID controller, can handle small fluctuations of the stream. However, problems arise in the presence of so called abrupt changes at unknown time instants [START_REF] Basseville | Detection of Abrupt Changes: Theory and Application[END_REF], [START_REF] Gustafsson | Adaptive Filtering and Change Detection[END_REF]. By abrupt changes, we mean changes in characteristics that occur very fast with respect to the sampling period of the measurements, if not instantaneously. The time immediacy refers to a moment at which properties of the stream suddenly change but before and after which properties are more or less constant in some sense, e.g. stationary. Hence, to allow adaptive QoS management, a change detection method can be proposed.

Our approach builds on the change detection using a dissimilarity measure framework [START_REF] D'alconzo | A Distribution-based Approach to Anomaly Detection and Application to 3G Mobile Traffic[END_REF], [START_REF] Rygielski | Context Change Detection for Resource Allocation in Service-oriented Systems LNAI[END_REF], [START_REF] Sebastiao | Monitoring Incremental Histogram Distribution for Change Detection in Data Streams[END_REF], [START_REF] Vorburger | Entropy-based concept shift detection[END_REF]. The dissimilarity measure compares two probability distributions and a change is reported if the dissimilarity value is greater than a given threshold. The change detection using the dissimilarity measure provides an elegant framework for detection of abrupt changes. Furthermore, in our considerations we take advantage of characteristics of streams of service requests. We propose to model them as point processes, i.e., non-homogenous Poisson processes. According to the application of Poisson distributions, the dissimilarity measure, e.g., Bhattacharyya measure or Kullback-Leibler divergence can be expressed in the analytical way.

Together, the change detection with an assumption of Poisson streams of service requests and the dissimilarity measure expressed in the analytical way yield a fast and robust abrupt change detection algorithm.

The paper is organized as follows. In section 2 the contribution to the value creation is outlined. Next, related works are given. In section 4 the problem is stated and in section 5 the algorithm is described. In section 6 the simulation study is carried out. At the end conclusions are drawn and future works are proposed.

Contribution to the Value Creation

Generally speaking, service-oriented systems aim to increase satisfaction of usage for clients and service providers as well. Moreover, the quality of service becomes the crucial value in SoS. Therefore, there is constant need to improve methods and algorithms that sustain high QoS. This work contributes to improvement and creation of value, i.e., QoS, in service-oriented systems.

Related Work

In this paper, we do not focus on resource allocation methods and consider only change detection methods. In the literature, there are used two main approaches to solve the change detection problem [START_REF] Basseville | Detection of Abrupt Changes: Theory and Application[END_REF], [START_REF] Chandola | Anomaly Detection: A Survey[END_REF], [START_REF] Desobry | An Online Kernel Change Detection Algorithm[END_REF], [START_REF] Gustafsson | Adaptive Filtering and Change Detection[END_REF], namely, statistical methods, and machine learning-based methods. The first approach divides into the following:

• Parametric methods -a signal is split into time windows and each time window is described by a parameterized probability distribution (pd). Then parameters are estimated and two consecutive time windows are compared via a likelihood ratio [START_REF] Basseville | Detection of Abrupt Changes: Theory and Application[END_REF], [START_REF] Gustafsson | Adaptive Filtering and Change Detection[END_REF] or using dissimilarity measure between pds, such as Kullback-Leibler divergence [START_REF] D'alconzo | A Distribution-based Approach to Anomaly Detection and Application to 3G Mobile Traffic[END_REF] or entropy [START_REF] Vorburger | Entropy-based concept shift detection[END_REF]. • Non-parametric methods -pd is estimated by using a non-parametric estimator, such as Parzen window estimator or histograms [START_REF] Rygielski | Context Change Detection for Resource Allocation in Service-oriented Systems LNAI[END_REF], [START_REF] Sebastiao | Monitoring Incremental Histogram Distribution for Change Detection in Data Streams[END_REF]. Then typically pds are compared via a dissimilarity measure, e.g., Kullback-Leibler [START_REF] Sebastiao | Monitoring Incremental Histogram Distribution for Change Detection in Data Streams[END_REF].

The second approach applies machine learning algorithms with supervised and unsupervised learning, such as clustering-based [START_REF] Chandola | Anomaly Detection: A Survey[END_REF] and classifier-based methods [START_REF] Baena-Garcia | Early drift detection method[END_REF], [START_REF] Chandola | Anomaly Detection: A Survey[END_REF], [START_REF] Desobry | An Online Kernel Change Detection Algorithm[END_REF]. In general the idea is to support a learning algorithm with observations that are labeled and a change is reported if upcoming observations are classified to a new class. On the other hand, in the case of unsupervised learning, observations are grouped and a change occurs when observations belongs to other cluster than before.

Change detection algorithms are widely applicable in intrusion detection systems [START_REF] Chandola | Anomaly Detection: A Survey[END_REF], quality change detection [START_REF] Basseville | Detection of Abrupt Changes: Theory and Application[END_REF], anomaly detection in network traffic [START_REF] D'alconzo | A Distribution-based Approach to Anomaly Detection and Application to 3G Mobile Traffic[END_REF], change detection in streams of requests [START_REF] Rygielski | Context Change Detection for Resource Allocation in Service-oriented Systems LNAI[END_REF], and many others [START_REF] Chandola | Anomaly Detection: A Survey[END_REF].

Problem Statement

Resource Allocation Problem

Let us assume that the total computational amount of resources equals U (for further simplicity U = 1) and there are S complex services within one computational node. A vector of resources allocation is denoted by u=[u 1 u 2 … u S ] T , 0 < u s < 1 for all s = 1,2,…,S. Furthermore, with each service a stream of requests is associated that at the n th moment expresses the number of service requests to the s th service,

,...} 1 , 0 { ∈ s n r .
In the literature about modeling network traffic it is said that a stream of data during user sessions is characterized with self-similarity [START_REF] Crovella | Self-Similarity in World Wide Web Traffic: Evidence and Possible Causes[END_REF], [START_REF] Paxson | Wide Area Traffic: The Failure of Poisson[END_REF]. However, in the SoS, the stream of upcoming service requests can be successfully modeled with nonhomogenous Poisson processes [START_REF] Van Der Mei | Web Server Performance Modelling[END_REF], [START_REF] Paxson | Wide Area Traffic: The Failure of Poisson[END_REF] like in the typical telecommunication systems [START_REF] Gnedenko | Introduction to Queueing Theory[END_REF]

, ! / ) ( ) exp( ) , , ( ~k k Poisson r s n s n s n s n τ λ τ λ τ λ ⋅ - =
, where s n λ is the intensity of the stream in the n th moment, τ >0 is the length of the time interval, k ≥ 0 is the number of requests in the time interval [n, n+τ].

For further simplicity of this paper it is assumed that only a service time for each service as a QoS is taken into account. Hence, the QoS is expressed as follows

s n s s s s s n s n r u a u a r q ⋅ = ) , ; ( , (1)
for all s = 1,2,…,S, where a s denotes an average service time of 1 request over 1 unit of time. This simplistic model depends inversely on resource which means that if less resources are given to the service, then the total service execution time is longer. Hence, the total quality of the system at n th time step can be considered as a sum of all total service times, i.e. ,

∑ = = S s s s s n s n n u a r q Q 1 ) , ; ( ) (u .
Moreover, the expected value over streams of requests can be considered, i.e.

[ ]

∑ = = = S s s s s n s n n def n u a q Q Q 1 ) , ; ( ) ( ) ( λ u u E . ( 2
)
The equation ( 2) is proper because of the linearity of (1). Furthermore, if we assume that the streams of requests are generated according to random processes with means constant on some periods of time and which change abruptly (point processes), then the final resource allocation problem can be stated as follows: minimize

) ( : u n m Q (3) subject to 1 0 < < s u , s = 1,2,…,S, ∑ = ≤ S s s u 1 1 .
where lower index by mean total quality, m:n, expresses a period from the m th time step to the n th moment. After the change detection resources are re-allocated.

Change Detection Problem

Generally speaking, the problem of change detection points in determining moments of abrupt changes. Thus, we assume there are given S sequences of observations,

where

P
In this work, three dissimilarity measures are considered, i.e., Bhattacharyya distance measure [START_REF] Cha | Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions[END_REF], Kullback-Leibler divergence [START_REF] Cha | Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions[END_REF], and an absolute mean difference [START_REF] Gustafsson | Adaptive Filtering and Change Detection[END_REF] for which analytical formulae for Poisson distributions can be given:

( )          - -         + - - = difference mean absolute an for Leibler Kullback for measure yya Bhattachar for Poisson Poisson D 2 1 2 1 1 1 2 2 2 1 2 1 log 2 1 ) , ( λ λ τ λ λ λ λ λ τ λ λ τ (6)
Hence, the problem of the change detection is as follows: for estimated pds and given dissimilarity measure find the following set of moments

} 1 : { = = n d n t . ( 7
)

Change Detection Algorithm and Resource Re-Allocation

The proposed algorithm for change detection consists of three steps. First, for each service, means of Poisson processes of two consecutive time widows are estimated (lines 7-11 in Table 1). Second, for each service, the value of the dissimilarity measure between two processes is calculated (line 10 in Table 1). Finally the stopping criterion for each service is checked, i.e., if the value of dissimilarity measure is grater or not than given threshold h (line 13 in Table 1). Additionally, resource allocation is initialized (lines 1-3 in Table 1) and in case of detected change the resources are re-allocated due to a given optimization algorithm (line 15 in Table 1), e.g., interior-point algorithm [START_REF] Boyd | Convex Optimization[END_REF]. In order to verify the efficiency of the change detection algorithm a simulation environment implemented in Matlab ® has been developed. We consider a scenario within one computational node (the procedure is the same for each computational node). To keep the example uncluttered only 3 services are examined. The simulation time was set to 1000 units. Moreover, to check if the proposed algorithm can handle abrupt changes the following changes in streams of service requests (modeled as Poisson processed) are considered: (1) for service 1: λ=4 from 1 to 200, λ=8 from 201 to 400, λ=12 from 401 to 800, λ=11 from 801 to 100; (2) service 2: λ=2 from 1 to 500, λ=4 from 501 to 100; (3) service 3: λ=2 from 1 to 300, λ=6 from 301 to 600, λ=3 from 601 to 1000. Hence, the first stream changes three times at 200, 400 and 800, the second one only once at 500, and the third one -two times at 300 and 600. There are 6 abrupt changes at moments 200, 300, 400, 500, 600, and 800.

After detecting a change, the resources are re-allocated due to interior-point algorithm [START_REF] Boyd | Convex Optimization[END_REF]. In order to assess the adaptive approach, an approach with uniform resource allocation was applied (u s = 1/S). The value quality criterion (2) for the uniform allocation is referred to as reference mean quality.

Thus, the change detection algorithm with different dissimilarity measure is compared via three indicators:

1. Good -the ratio of detected real changes. 2. Bad -the ratio of the number of reported wrong changes and the number of all detected changes. 3. Difference -the difference between mean quality after applying reallocation and reference mean quality. The length of time windows were L=50, 75, 100. The threshold values were chosen after several trials and were: h=0.02 for D B , h=0.075 for D KL , h=1.1 for D M .

The simulation was run 1000 times, all results were averaged.

Results and Discussion

The results for considered dissimilarity measures with varying length of time windows L and for three considered indicators are gathered in Table 2. Generally it can be said that applying dissimilarity measure for change detection is sufficient (from 0.87 to 0.96 of good detections, see Table 1). Nevertheless, for too small window length L there can be a lot of wrong detections (from 0.37 to 0.57, see Table 1). It is especially important because in real-life situations each application of resource re-allocation is associated with additional costs that affect the quality of the system.

However, the most important issue, which should be considered, is the difference in the mean quality between the mean quality after applying the re-allocation procedure (an adaptive approach) and a uniform resource allocation (so called reference quality). For assumed values of parameters a, the difference was from 20 to 30 units of time in favor of the adaptive approach. Of course, for other values of a this difference is smaller or bigger but the magnitude is not interesting. The important result is that the adaptive approach performed better than the one with the uniform resource allocation. At the end it is worth noting that the length of the shifting windows has a huge influence on the performance of the change detection. If the length is chosen incorrectly (too small or too high), then the pd is underestimated or overestimated. Thus, some changes remain undetected or can be reported even if there are no changes. However, in the real-life situations when each re-allocation costs extra it may be better to miss some changes then to report them too often.

Last but not least, to maintain the robustness with respect to too often change detection, both the length of the window and the threshold should be tuned appropriately.

Conclusions and Further Work

In this paper, the on-line change detection algorithm based on the dissimilarity measure between two parameterized pds was outlined. Its performance was checked in the simulation environment with linear quality function. It was assumed that the streams of requests were modeled by non-homogenous Poisson processes which is acceptable assumption for streams in service-oriented systems [START_REF] Van Der Mei | Web Server Performance Modelling[END_REF], [START_REF] Paxson | Wide Area Traffic: The Failure of Poisson[END_REF].

In the future following aspects should be considered:

• more sophisticated quality functions to assess QoS [START_REF] Grzech | Translations of Service Level Agreement in Systems Based on Service-Oriented Architectures[END_REF], [START_REF] O'brien | Quality Attributes for Service-Oriented Architecture[END_REF];

• conducting real-life experiment;

• including noise in the streams of requests (omitted in this paper because of lack of space); • proposition of Bayesian framework for change detection.

.

  Basing on observations the probability distributions are estimated and two following hypotheses are checked:

Table 1 .

 1 Adaptive algorithm for resource re-allocation with change detection mechanism

	program Resource Re-Allocation
	Inputs:
	lambda -matrix (nxS) of means, r -matrix (nxS) of
	requests,
	L -length of time window, h -threshold, S -number of
	services, D -vector (1xS) of dissimilarity, n -time step, lambda1 -matrix (nxS) of means for 1 st shifting window,
	lambda2 -matrix (nxS) of means for 2 nd shiftinf window,
	u -vector of allocations, t is empty
	Outputs:
	t -vector of moments of change,
	Procedure:
	Initialization of allocation:
	1. for s from 1 to S do
	2. u(s):=1/S;
	3. end for
	4. n := 0;
	5. repeat
	6.	n:=n+1;
	7.	for s from 1 to S do
	8.	lambda1(s

,n):=mean(r(s,max(1,n-2*L):max(1,n-L))); 9. lambda2(s,n):=mean(r(s,max(1,n-L+1):max(1,n)));

	6 Simulation Study
	6.1 Simulation Details
	10.	D(s):=Dissimilarity(lambda1(s,n),lambda2(s,n));
	11. end for
	12. for s from 1 to S
	13.	if D(s) > h
	14.	extand t by adding n at the end position
	15.	re-calculate u by using optimization algorithm
	16.	break;
	17.	end if
	18. end for
	19. until new requests arrive

Table 2 .

 2 Results for three chosen indicators and three dissimilarity measures with varying L.

		Mean	Bad	Std	Mean	Good	Std	Difference
	DB, L=50	0.55		0.08	0.93		0.09	28.45
	DB, L=75	0.28		0.14	0.88		0.10	29.33
	DB, L=100	0.12		0.14	0.87		0.11	30.43
	DKL, L=50	0.57		0.08	0.94		0.09	28.50
	DKL, L=75	0.32		0.14	0.89		0.11	29.33
	DKL, L=100	0.14		0.15	0.87		0.11	30.44
	DM, L=50	0.37		0.10	0.96		0.07	28.50
	DM, L=75	0.16		0.12	0.94		0.09	29.55
	DM, L=100	0.08		0.10	0.92		0.09	30.70

Acknowledgments. The research is partially supported by the fellowship co-financed by European Union within European Social Fund.