[go: up one dir, main page]

Academia.eduAcademia.edu

Multi-Criteria Server Selection for Over-the-Top Video Streaming

—A video streaming system with over-the-top delivery has to select the servers that handle the service requests such that the content is delivered with the desired quality and system resources are efficiently used. Server selection can be formulated as a multi-criteria optimization problem, but solving this problem requires dynamic information about system resources. In this paper , we study the performance achieved by service providers that deploy a resource monitoring infrastructure and optimize server selection using a Multi-Criteria Decision Algorithm (MCDA), and the performance achieved by lightweight service providers, using only static information and simpler selection methods. We implemented these methods in a simulator and compared their performance. The results show that MCDA offers important performance gains, justifying the costs of resource monitoring. Moreover, they motivate the search for server selection methods that could achieve similar performance with lower costs, by involving the clients in the selection process, using MCDA.

Multi-Criteria Server Selection for Over-the-Top Video Streaming Octavian Catrina University Politehnica of Bucharest, Bucharest, Romania E-mail : octavian.catrina@elcom.pub.ro Abstract—A video streaming system with over-the-top delivery has to select the servers that handle the service requests such that the content is delivered with the desired quality and system resources are efficiently used. Server selection can be formulated as a multi-criteria optimization problem, but solving this problem requires dynamic information about system resources. In this paper, we study the performance achieved by service providers that deploy a resource monitoring infrastructure and optimize server selection using a Multi-Criteria Decision Algorithm (MCDA), and the performance achieved by lightweight service providers, using only static information and simpler selection methods. We implemented these methods in a simulator and compared their performance. The results show that MCDA offers important performance gains, justifying the costs of resource monitoring. Moreover, they motivate the search for server selection methods that could achieve similar performance with lower costs, by involving the clients in the selection process, using MCDA. Key words - content network; video streaming; server selection; multi-criteria decision algorithm. I. I NTRODUCTION The fast growth of the video streaming services and the evolution of their ecosystem require continuous innovation (new architectures, protocols, and algorithms), to improve their performance and efficiency, as well as the service quality. An important task of a video streaming system is to select the servers that deliver the content in a way that uses efficiently the network and server resources and provides the desired Quality of Experience (QoE) to service users. This task can be formalized as a multi-criteria optimization problem that takes into account various static and dynamic attributes of the system’s components (network, servers, clients). These problems are NP-complete, in general, but can be solved efficiently using heuristic methods, such as MultiCriteria Decision Algorithms (MCDA) [1]. These algorithms need information about current network and server resources, requiring an expensive resource monitoring infrastructure. We studied, by simulation, the performance achieved by service providers that have resource monitoring capabilities and can optimize server selection using MCDA, and compared it with the performance achieved by lightweight service providers, that have only static information about the system and hence can only use simpler selection methods. The motivation for this work was twofold: evaluate the performance gain offered by MCDA; then, on this basis, study alternative approaches that can achieve similar performance with lower costs, by splitting the selection process between Figure 1. Video streaming system: main components and interactions. service providers and clients, and enabling the clients to refine the selection using MCDA. The paper has the following structure. Section II introduces a generic video streaming model and Section III describes the server and path selection methods. We implemented these methods in a simulator, presented in Section IV. The results of the simulations are discussed in Section V, followed by a summary in Section VI. II. V IDEO S TREAMING S YSTEM We start with an overview of the simplified model of video streaming system used in this paper. Fig. 1 shows the main components of the system and the interactions between them. The clients request video content from a service provider (SP). The SP is responsible for managing the video streaming service. The video content is delivered to the clients by a collection of content servers (CS). One of the main functions of the SP is to select the content server when a client initiates a video streaming session. A session starts with the following interactions (Fig. 1): – The client sends an SP Request to the service provider, specifying the desired video content. – The SP runs a server selection algorithm and returns in SP Reply a ranked list of servers that could deliver the video content, or rejects the request, if it cannot be fulfilled. – The client asks one of the servers recommended by the SP to deliver the desired video content. The client may choose the first server in the list, or run its own selection algorithm, with additional information (obtained, e.g., from server state reports and/or connection probing). III. S ERVER AND PATH S ELECTION We evaluate and compare several server selection algorithms, corresponding to different capabilities of the service providers to obtain information about the current state of the system. These algorithms offer different tradeoffs between the complexity of the system and the optimality of the solution (e.g., different requirements for the information collected by the provider about the network and the servers). A. Multi-Criteria Decision Algorithms Figure 2. Network infrastructure. For example, if the service is implemented using Dynamic Adaptive Streaming over HTTP (MPEG-DASH) [2], the provider replies with a Media Presentation Description (MPD) file that contains information about the encoding of the video content (including available resolutions and data rates), as well as the URLs of the servers that can deliver it. Fig. 2 provides more details about the infrastructure used to deliver the video content. We assume over-the-top delivery, using video streaming over HTTP or a similar technology [2]. Therefore, we do not require special support from the underlying transport network (e.g., bandwidth reservation). The content servers are usually operated within a Content Delivery Network (CDN) [3]. We assume that the video content is stored on a collection of servers deployed in the Internet, each video file being available from several servers. We expect efficient operation of the CDN, with server placement and content replication adapted to the video streaming traffic. The video streaming service provider can use its own CDN or/and rely on services offered by one or more specialized CDN providers [4][5]. Moreover, it may own a transport network or obtain special support from network service providers. We assume that the main bottlenecks of the transport network are the links between the autonomous systems (AS) of the network service providers. Therefore, the network is modeled as a collection of interconnected nodes, corresponding to an AS-level, multi-tier network topology, similar to the topology of the Internet (as shown in Fig. 2). The clients and the content servers are attached to the nodes of this network. The Border Gateway Protocol (BGP), which is responsible for inter-AS routing in the Internet, determines a single best path between ASes, based on network service provider policies and path length [6]. Load balancing on multiple paths could be achieved using application-level overlays or routing protocol extensions and would help to allocate more efficiently the network resources to video streaming sessions [7]. We consider, therefore, this additional capability for some server selection algorithms. The selection of a server and a path in content delivery systems can be formulated as a multi-criteria optimization problem. Since these problems are NP-complete (in general), they are solved in practice using heuristics methods, such as Multi-Criteria Decision Algorithms (MCDA) [1]. The variant of MCDA used in this paper can be summarized as follows: – The decision maker (service provider) determines a set of candidate solutions (the decision space), S = {Si }i∈1,...,n , based on information about the service request and the content delivery system. A candidate solution is a vector of decision variables, Si = (vi,j )j∈1,...,m , representing characteristics of a server and a path that could deliver the requested content. For multiple paths between a server and a client, each pair consisting of a server and a path is considered a different solution. – For each candidate solution Si , the decision maker calculates the rank of each decision variable vi,j , Ri,j = (ri,j − vi,j )/(ri,j − ai,j ), where vi,j is the current value of the variable, while ri,j and ai,j are the reservation level and aspiration level for this variable, respectively. – For each solution Si , the decision maker calculates the rank of the solution, Ri = minj {Ri,j } and then determines the index of the best solution, argmini {Ri }. We use two decision variables: the available (unused) capacity of the server and the available capacity (unused bandwidth) of the path. For these variables, the reservation level is a lower bound for suitable solutions, and the aspiration level is an upper bound beyond which the preference of the solutions is similar. We set as aspiration level the maximum capacity of the server and of the path (allowed for this service) and as reservation level the amount of server capacity and path capacity consumed by a single session, respectively. B. Selection Process Using the algorithm described above, the provider answers a client’s request by indicating a single server [1]. We consider a more general approach, in which the provider answers with an ordered list of servers. The client can start the session by connecting to the first server in the list and use the others as back-up [5]. Moreover, by delivering a list of servers, the provider enables the client to refine the initial selection (e.g., by running its own selection algorithm, using additional information) and/or use certain adaptive streaming techniques (e.g., switch servers during the session). The selection process proceeds as follows: – The service provider maintains a resource database with the information about network and content servers that is Table I I NFORMATION USED FOR CONTENT SERVER SELECTION . Static or quasi-static information Lists of servers and video files. Mapping of video files to servers. Mapping of clients and servers to network nodes. Length of the paths between servers and clients (hops or delay). Dynamic information Admission control for servers. Available capacity of the servers. Admission control for paths between servers and clients. Available capacity of the network paths between servers and clients. Table II S ERVER SELECTION ALGORITHMS . Algorithm Random servers Closest servers Best servers MCDA Input Set of feasible solutions. Set of feasible solutions. Length of the paths from servers to client. Set of feasible solutions. Available capacity of the servers. Set of feasible solutions. Available capacity of the servers and the paths. Output (list of servers) Random server and shortest or random server-client path. Servers with the shortest paths to the client. Servers with the largest available capacity and shortest or random path. Servers in the solutions with the highest MCDA rank. necessary for server selection. The database contains the static information and some of the dynamic information listed in Table I, depending on the algorithm being used. – When a service request arrives, the provider determines an ordered list of suitable servers and delivers it to the client. The selection is based on information received in the service request (e.g., client and video ids) and information available in the resource database. Candidate solutions consist of a server that has a copy of the requested video file and a path from that server to the client. The selection algorithm takes as input a set of candidate solutions that (optionally) satisfy additional requirements. The algorithms used in our simulation experiments are listed in Table II. If the provider does not find any suitable server (e.g., the video is not available or the system is overloaded), the request is rejected (i.e., the list of servers is empty). – If the request is accepted, the client starts the video session by connecting to the first server in the list. In case of failure, the client can try the next servers, without having to ask the provider to recommend another server. C. Admission Control The server selection process has to take into account two main objectives: allocate efficiently the system’s resources and satisfy the performance requirements of video streaming. Continuous video playout requires timely data delivery, and hence a certain lower bound for the end-to-end data rate. It is important, therefore, to avoid overloading the system’s resources, by adding some form of admission control to the server selection process. This can be achieved by removing the solutions with fully loaded servers or paths from the set of candidate solutions given as input to the selection algorithms. Admission control is simpler for content servers. The available capacity can be estimated by a local monitoring applica- Figure 3. High-level architecture of the simulation software. tion and reported by the servers to the provider or the clients. A fully loaded server can reject additional client requests. This offers a basic admission control method, independent of the server selection process. On the other hand, it is more difficult to determine if the path from a server to a client can handle additional sessions. The service providers need for this purpose a network monitoring infrastructure that measures the throughput between certain network nodes. The server selection process can be extended with optional admission control as follows: – Find the candidate solutions, consisting of a server that has a copy of the requested video file and a path from that server to the client. – Find the feasible solutions, by removing the candidate solutions whose servers or paths are fully loaded. – Find the list of recommended solutions by running the selection algorithm with input the set of feasible solutions. Deliver the list of servers to the client, or reject the request, if the list empty. IV. S IMULATION S OFTWARE We evaluated and compared the server and path selection methods described in Section III by simulation. The simulation software developed for this purpose is written in C++ and uses the discrete event simulator OMNeT++ as basic simulation engine [8][9]. A. Architecture Figure 3 shows the main components of the simulator and the interactions between them. The class ResourceManager provides a resource database with information about the entire system infrastructure: network topology (including network nodes and links, link capacity and load), network paths, list of content servers (including server capacity and load), mapping of video content to servers, mapping of clients and servers to network nodes (Table I). The class RequestProcess generates the service requests, manages the video streaming sessions, and collects relevant statistics. When a session starts or ends, the RequestProcess notifies the ResourceManager, which updates accordingly the load of the server and the load of the links on the path from the server to the client. The server selection process is implemented by the classes ServiceProvider and ServiceClients, and obtains information about system resources from the ResourceManager. The class ServiceProvider handles the clients’ service requests and implements the server selection algorithms run by the service provider. The class ServiceClients implements the algorithms run by the clients to select from the provider’s list the server that will be used for the video streaming session. Finally, the OMNeT++ module is responsible for integrating the entire system in the OMNeT++ simulator, running the simulation experiments, and saving the results. B. Network Model The network model uses random topologies generated using the tool aSHIIP [10]. The network nodes are the autonomous systems (AS) of the network service providers (Figure 2). This high-level topology improves the scalability of the video streaming system model, and is sufficient for our purposes, assuming that the main bottlenecks are the inter-AS links. The network topologies have a multi-tier structure similar to the Internet. We assume that this structure corresponds to the usual business relations between network service providers: peering relations between nodes in the same tier, and customerprovider relations between nodes in different tiers, with the customer in the lower tier. The simulation software provides tools that compute multiple best paths for any pair of nodes, in the order of the path metric, starting with the shortest path. The paths used in the simulations are similar to the paths determined by BGP according to the relations between network providers (“valley-free”) [6]. The clients and the content servers of the video streaming system are attached to network nodes. Servers are deployed all over the network, in “well-connected” network nodes, “close to clients”, taking into account the number of links and their bandwidth. C. System Resources The resources consumed by the video streaming sessions are measured using a metric for server capacity and a metric for link capacity. In general, the sessions may consume different amounts of resources, depending on the video encoding. To simplify the analysis, we assume that a session needs 1 unit of server capacity and 1 unit of link capacity, to deliver the video content with the desired QoE. The video streaming system is provisioned by assigning a fixed maximum capacity to content servers and network links. Server and network resources are generally shared with other applications or services. We assume that the assigned capacity corresponds to the resources that the video streaming service can use (for the duration of a simulation experiment). Servers have the same capacity and are deployed in clusters; better connected nodes have larger clusters. The network is provisioned by assigning capacity to the links according to the hierarchical structure of the network, with higher capacity in upper tiers. Node (autonomous system) capacity is not limited, since the bottlenecks are the links between them. We assume that the video files are replicated according to their popularity, such that to maximize the number of requests that the servers can handle, i.e., at full load the fraction of the total server capacity used by a video is roughly equal to the probability of being requested. D. Performance Metrics The main performance metric used in the analysis of the server selection process is the success rate: the ratio between the number of successful requests and the total number of requests. A request is successful if the system has sufficient server and network resources to deliver the video content to the client, with the desired quality, for its entire duration. Failures can occur in the server selection phase or during the video streaming session. If admission control is available, a request is rejected when the selection process does not find a server and a path with sufficient unused capacity; the load of the system remains unchanged. Otherwise, a new session is created, which may overload the server and/or some links on the path from server to client. The RequestProcess monitors the current sessions and updates their state. If a session has been successful so far and does not have sufficient resources any more, its state changes from success to fail. V. P ERFORMANCE E VALUATION We analyzed by simulation the performance of the algorithms listed in Table II, with different settings for the selection algorithm, admission control and session management, network topology and size, server placement, etc. We summarize in this section the main results. The experiments use a network with 1000 nodes, structured into 4 tiers. The selection algorithms can choose among 3 precomputed shortest paths for any pair of nodes (additional paths do not significantly improve the performance). The total capacity of the servers is about 61500 sessions. Service requests are generated at random time intervals with exponential distribution. The mean duration of a session is 400 seconds. The network is provisioned such that the number of concurrent sessions can reach the total capacity of the servers, for an efficient server selection. We measure the session success rate as a function of the request rate. Table III lists the server selection configurations used in these experiments. These configurations correspond to a range of service provider capabilities and natural combinations of algorithms and admission control settings. Table III C ONFIGURATIONS USED FOR SERVER SELECTION . Name RandRand RandShrt NearSrv BestRand BestShrt MCDA Server and path selection algorithm Random servers, random paths Random servers, shortest paths Servers with shortest paths to client Servers with largest available capacity, random paths Servers with largest available capacity, shortest paths MCDA for available capacity of servers and paths Admission control Server reject Server reject Server reject AC for servers AC for servers AC for servers and paths Table IV E FFECT OF RANDOM PATH CHOICE IN EXPERIMENT WITH 5 PATHS . Path 45->18 45->18 45->18 45->18 45->18 Av.Cap. 41 -342 -250 -180 -250 Metric 100 150 175 175 175 Hops 2 4 5 5 5 Nodes 45:5:18 45:2:1:5:18 45:2:0:1:5:18 45:2:0:6:5:18 45:2:3:1:5:18 Tiers 2:1:2 2:1:1:2 2:1:1:1:2 2:1:1:1:1:2 2:1:1:1:1:2 Fig. 4 and Fig. 5 show the success rate for the initial server placement and two variants of session management. Service providers with server and network monitoring capability can use MCDA with admission control for servers and paths. This configuration offers the most efficient utilization of the system resources. The success rate remains equal to 1 for request rates up to 150 requests/second and about 60000 concurrent sessions, close to the total server capacity. Beyond this threshold, the success rate starts to drop because the system is fully loaded and some of the requests are rejected. Service providers that have only static information about the system (Table I) can select random servers or closest servers, without admission control (e.g., the configurations RandRand, RandShrt, NearSrv). The success rate drops rapidly, starting at lower request rates, because sessions fail due to congested network links or are rejected by fully loaded servers. Selecting the least loaded server (BestRand, BestShrt) does not improve the performance in these experiments, because the video files are replicated according to their popularity, and hence random server selection does a good job at distributing the load among the servers. Congested sessions may be aborted by clients or servers. The freed resources can then be used to start other sessions, which may be successful, e.g., because their paths do not include congested links. Fig. 4 and Fig. 5 show the success rate in two extreme cases: in Fig. 4 the congested sessions are aborted, while in Fig. 5 they are allowed to continue (with inferior QoE, e.g., lower resolution and data rate, if rate adaptation is available). Aborting congested sessions improves substantially the performance for randomly chosen servers and/or paths (RandRand, RandShrt, BestRand), while NearSrv is less affected, because the sessions always use the nearest server and the shortest path. Intuitively, the performance should improve when the load is distributed on multiple network paths. We observe, however, that using the shortest path offers better performance than randomly choosing from a list of 3-5 best paths (e.g., RandShrt versus RandRand in Fig. 4). This is due to the hierarchical Figure 4. Initial server placement, with session abort. Figure 5. Initial server placement, without session abort. structure of the network and the construction of the paths. In a multi-tier network with valley-free paths, the shortest path can avoid the core of the network, while the other paths are more likely to cross it (e.g., the paths between SC2 and CG2 in Figure 1). Thus, the random choice of the path concentrates the traffic in the network core. Table IV shows an example for an experiment with 5 paths: the shortest path from node 45 to node 18 does not cross the core and its available capacity is 41, while the other paths cross the core (links in tier 1) and are heavily overloaded. Therefore, when multiple paths are available, the selection algorithm should take into account the path load (e.g., using MCDA). For similar reasons, the performance improves if the provider selects the servers with the shortest paths to the client (NearSrv), instead of choosing the servers randomly (e.g., RandRand, RandShrt): the sessions use less network resources and the paths are more likely to avoid the core. Figure 6. Server placement optimized for NearSrv, with session abort. Service providers that cannot collect dynamic information about the resources have to use simpler selection methods, based on static and quasi-static information, e.g., mapping of content to servers, mapping of servers and clients to network nodes, and path lengths. The simulations show that these providers obtain the best results by selecting the nearest server. The server selection problem can be efficiently solved using MCDA. However, MCDA requires an expensive monitoring infrastructure, in order to estimate the available capacity of the servers and of the paths between servers and clients. The simulations show that server selection based on MCDA can offer an important performance gain, justifying the deployment of the system monitoring infrastructure. Moreover, to take advantage of multiple paths between servers and clients in a multi-tier network like the Internet, the selection algorithm has to take into account the path load (e.g., using MCDA). A prototype of this video streaming system, using MPEGDASH and MCDA server selection, was implemented during the DISEDAN project and is being evaluated [11]. On the other hand, these results motivate the exploration of other server selection methods, aiming to achieve performance levels close to those offered by MCDA, but with lower costs. The alternative approach we are studying (detailed in another paper) is to split the server selection process between the service provider and the client: the provider recommends a short list of servers, based on static or quasi-static information, and the client makes the final choice, by running its own selection algorithm (including MCDA), using additional information, obtained by interacting directly with these servers. ACKNOWLEDGEMENTS This work was partially supported by the Research Project DISEDAN, No.3-CHIST-ERA C3N, 2014-2015. R EFERENCES Figure 7. Server placement optimized for NearSrv, without session abort. Thus, an important performance gain can be achieved using only quasi-static information. However, the performance of NearSrv is very sensitive to server placement. This can be observed by comparing the results for the initial server placement, shown in Fig. 4 (and Fig. 5), and an improved server placement, shown in Figure 6 (and Fig. 7). The improved server placement consisted of moving about 20% of the total server capacity to better locations, according to server utilization measurements made with the initial server placement. There is a slight performance degradation for the other algorithms, because the number of server clusters was reduced during redeployment, while maintaining the system’s total server capacity. VI. C ONCLUSIONS Video streaming systems have to select the content servers such that to use efficiently the network and server resources, and provide the desired QoE to service users. [1] A. Beben, J. M. Batalla, W. Chai, and J. Sliwinski. Multi-criteria decision algorithms for efficient content delivery in content networks. Annals of Telecommunications, vol. 68, no. 3, pp. 153-165, Springer, 2013. [2] I. Sodagar. The MPEG-DASH standard for multimedia streaming over the Internet. IEEE Multimedia, vol. 18, no. 4, pp. 62-67. IEEE, 2011. [3] M. Hofmann and L. Beaumont. Content Networking. Architecture, Protocols, and Practice. Morgan Kaufmann, 2005. [4] V. K. Adhikari, S. Jain, Y. Chen, and Z. Zhang. Vivisecting YouTube: An Active Measurement Study. Technical Report TR 11-012, Department of Computer Science and Engineering, University of Minnesota, 2011. [5] V. K. Adhikari, Y. Guo, F. Hao, M. Varvello, V. Hilt, M. Steiner, and Z.L. Zhang. Unreeling Netflix: Understanding and improving multi-CDN movie delivery. IEEE INFOCOM 2012, pp. 1620-1628. IEEE, 2012. [6] L. Gao. On inferring autonomous system relationships in the Internet. IEEE/ACM Trans. on Networking, vol. 9, no. 6, pp. 733-745, IEEE, 2001. [7] Jiayue He and J. Rexford. Toward Internet-wide multipath routing. IEEE Network, vol. 22, no. 2, pp. 16-21, IEEE, 2008. [8] K. Wehrle, J. Gross, and M. Gnes. Modeling and Tools for Network Simulation. Springer, 2010. [9] A. Varga. OMNeT++ Discrete Event Simulator. http://www.omnetpp.org. [10] J. Tommasik and M.-A. Weisse. The inter-domain hierarchy in measured and randomly generated AS-level topologies. In IEEE International Conference on Communications (ICC2012). IEEE, 2012. [11] S.G. Obreja, R. Iorga, E. Borcoci, C. Cernat, M. Vochin, J.M. Batalla, D. Negru and J. Bruneau-Queyreix. Over-the-top content streaming adaptive system - Implementation and validation. 9th Int. Conf. on Communication Theory, Reliability, and Quality of Service (CTRQ 2016), IARIA, 2016.