10 research outputs found

    Is there a case for parallel connections with modern web protocols?

    Get PDF
    Modern web protocols like HTTP/2 and QUIC aim to make the web faster by addressing well-known problems of HTTP/1.1 running on top of TCP. Both HTTP/2 and QUIC are specified to run on a single connection, in contrast to the usage of multiple TCP connections in HTTP/1.1. Reducing the number of open connections brings a positive impact on the network infrastructure, besides improving fairness among applications. However, the usage of a single connection may result in poor application performance in common adverse scenarios, such as under high packet losses. In this paper we first investigate these scenarios, confirming that the use of a single connection sometimes impairs application performance. We then propose a practical solution (here called H2-Parallel) that implements multiple TCP connection mechanism for HTTP/2 in Chromium browser. We compare H2-Parallel with HTTP/1.1 over TCP, QUIC over UDP, as well as HTTP/2 over Multipath TCP, which creates parallel connections at the transport layer opaque to the application layer. Experiments with popular live websites as well as controlled emulations show that H2-Parallel is simple and effective. By opening only two connections to load a page with H2-Parallel, the page load time can be reduced substantially in adverse network conditions.Peer ReviewedPostprint (author's final draft

    기계 학습 기반 무선망 선택 기법

    Get PDF
    학위논문 (석사)-- 서울대학교 대학원 : 컴퓨터공학부, 2017. 2. 김종권.Today, more and more public Wi-Fi APs are deployed for user convenience in response to the growing number of smartphone users. However, when both Wi-Fi and LTE interface are on, mobile devices usually select Wi-Fi interface regardless of its connection quality or stability. The blind preference of Wi-Fi interface can degrade user experience called QoE (Quality of Experience). We present a decision tree based network connection management named SISA (Smart Interface Selection Algorithm) which takes account of user context, contents and network features such as RSSI, Link Speed, TCP throughput and Gateway RTT (RTT to gateway) to efficiently select wireless radio interfaces. We observed the effect of intermittent connection or continuous connection with low quality Wi-Fi AP on the TCP throughput. Through extensive measurements and experiments in real-field, especially public places, we confirmed that the mobile devices embedded our platform outperforms commodity devices for various scenarios. We also discovered that there is no correlation between network features measured in real-field. We extend the problem to MPTCP (Multipath TCP) that allows the devices like smartphones and tablets to exploit both interfaces concurrently. Similar with phenomenon over SPTCP (Single Path TCP), in real mobile environments where wireless devices abound and quality of active paths changes frequently, it makes Wi-Fi connection affect the MPTCP performance negatively. To solve the problem, we present a novel path management called MPTCP-ML (MPTCP based on Machine Learning). It manages the usage among multiple paths based on decision calculated by machine learning model. We use path quality metrics as inputs for machine learning model. For accurate capturing of path quality, we utilize different quality metrics including signal strength, data rate, TCP throughput, the number of APs on the same and adjacent channel, and RTT (Round Trip Time). We have implemented MPTCP-ML in Android and conducted experiments for various and dynamic mobile environments. The results show that MPTCP-ML outperforms generic MPTCP, especially for mobile environments.Chapter 1. Introduction 1 1.1 Motivation 1 1.2 Background and Related Work 3 1.3 Goal and Contribution 5 1.4 Thesis Organization 7 Chapter 2. Problem Motivation 8 2.1 Problem Analysis 8 2.2 Correleation 12 2.3 Multipath TCP 13 Chapter 3. StreetSmart: Select the Network Best for You 14 3.1 Introduction 14 3.2 Interface Selection Algorithm over SPTCP 16 3.2.1 Decision Tree 16 3.2.2 Learning and Decision Boundary 17 3.2.3 System Design 18 3.3 Performance Evaluation 20 3.3.1 Experiment Setup 20 3.3.2 Application Layer Performance 21 3.3.3 Transport Layer Performance 27 3.4 Summary 29 Chapter 4. Machine Learning-based Path Management for Mobile Devices over MPTCP 30 4.1 Introduction 30 4.2 Path Management Algorithm over MPTCP 32 4.2.1 Random Decision Forests 32 4.2.2 Tree Learning and Modeling 33 4.2.3 System Design 35 4.3 Performance Evaluation 36 4.3.1 Experiment Setup 36 4.3.2 Performance under Static Environment 37 4.3.3 Performance under Mobile Environment 39 4.4 Summary 41 Chapter 5. Conclusion 42 5.1 Research Contributions 42 5.2 Future Research Directions 43 Bibliography 44 Abstract in Korean 46Maste

    FlexStream: SDN-Based Framework for Programmable and Flexible Adaptive Video Streaming

    Get PDF
    With the tremendous increase in video traffic fueled by smartphones, tablets, 4G LTE networks, and other mobile devices and technologies, providing satisfactory services to end users in terms of playback quality and a fair share of network resources become challenging. As a result, an HTTP video streaming protocol was invented and widely adopted by most video providers today with the goal of maximizing the user’s quality of experience. However, despite the intensive efforts of major video providers such as YouTube and Netflix to improve their players, several studies as well as our measurements indicate that the players still suffer from several performance issues including instability and sub-optimality in the video bitrate, stalls in the playback, unfairness in sharing the available bandwidth, and inefficiency with regard to network utilization, considerably degrading the user’s QoE. These issues are frequently experienced when several players start competing over a common bottleneck. Interestingly, the root cause of these issues is the intermittent traffic pattern of the HTTP adaptive protocol that causes the players to over-estimate the available bandwidth and stream unsustainable video bitrates. In addition, the wireless network standards today do not allow the network to have a fine-grain control over individual devices which is necessary for providing resource usage coordination and global policy enforcement. We show that enabling such a network-side control would drive each device to fairly and efficiently utilize the network resources based on its current context, which would result in maximizing the overall viewing experience in the network and optimizing the bandwidth utilization. In this dissertation, we propose FlexStream, a flexible and programmable Software-Defined Network (SDN) based framework that solves all the adaptive streaming problems mentioned above. We develop FlexStream on top of the SDN-based framework that extends SDN functionality to mobile end devices, allowing for a fine-grained control and management of bandwidth based on real time context-awareness and specified policy. We demonstrate that FlexStream can be used to manage video delivery for a set of end devices over WiFi and cellular links and can effectively alleviate common problems such as player instability, playback stalls, large startup delay, and inappropriate bandwidth allocation. FlexStream offloads several tasks such as monitoring and policy enforcement to end-devices, while a network element (i.e., Global Controller), which has a global view of a network condition, is primarily employed to manage the resource allocation. This also alleviates the need for intrusive, large and costly traffic management solutions within the network, or modifications to servers that are not feasible in practice. We define an optimization method within the global controller for resource allocation to maximize video QoE considering context information, such as screen size and user priority. All features of FlexStream are implemented and validated on real mobile devices over real Wi-Fi and cellular networks. To the best of our knowledge, FlexStream is the first implementation of SDN-based control in a live cellular network that does not require any internal network support for SDN functionality

    Socket Intents: OS Support for Using Multiple Access Networks and its Benefits for Web Browsing

    Get PDF
    In today's Internet, mobile devices are connected to multiple access networks, e.g., WiFi/DSL and LTE. To take advantage of the networks' diverse paths characteristics (delay, bandwidth, and reliability) and aggregate bandwidth, we need smart strategies for choosing which interface(s) to use for what traffic. In this paper, we present an approach how to tackle this challenge as part of the Operating System (OS): With the concept of Socket Intents, applications can express what they know about their communication pattern and their preferences. Using our Socket Intents Prototype and our modified BSD Socket Interface, this information is used to choose the most appropriate path or path combination on a per message or per connection basis. We evaluate our system based on the use case of Web browsing: Using our prototype and a client-side proxy, we show the feasibility and benefits of our design. Using a flow-based simulator and a full factorial experimental design, we study a broad range of access network combinations (based on typical DSL and LTE scenarios) and real workloads (Alexa Top 100 and Top 1000 Web Sites). Our policies achieve performance benefits in more than 50% of the cases and speedups of more than factor two in 20% of the cases without adding overhead in the other cases.Comment: Submitted to IEEE/ACM Transactions on Networkin

    Systems and Methods for Measuring and Improving End-User Application Performance on Mobile Devices

    Full text link
    In today's rapidly growing smartphone society, the time users are spending on their smartphones is continuing to grow and mobile applications are becoming the primary medium for providing services and content to users. With such fast paced growth in smart-phone usage, cellular carriers and internet service providers continuously upgrade their infrastructure to the latest technologies and expand their capacities to improve the performance and reliability of their network and to satisfy exploding user demand for mobile data. On the other side of the spectrum, content providers and e-commerce companies adopt the latest protocols and techniques to provide smooth and feature-rich user experiences on their applications. To ensure a good quality of experience, monitoring how applications perform on users' devices is necessary. Often, network and content providers lack such visibility into the end-user application performance. In this dissertation, we demonstrate that having visibility into the end-user perceived performance, through system design for efficient and coordinated active and passive measurements of end-user application and network performance, is crucial for detecting, diagnosing, and addressing performance problems on mobile devices. My dissertation consists of three projects to support this statement. First, to provide such continuous monitoring on smartphones with constrained resources that operate in such a highly dynamic mobile environment, we devise efficient, adaptive, and coordinated systems, as a platform, for active and passive measurements of end-user performance. Second, using this platform and other passive data collection techniques, we conduct an in-depth user trial of mobile multipath to understand how Multipath TCP (MPTCP) performs in practice. Our measurement study reveals several limitations of MPTCP. Based on the insights gained from our measurement study, we propose two different schemes to address the identified limitations of MPTCP. Last, we show how to provide visibility into the end- user application performance for internet providers and in particular home WiFi routers by passively monitoring users' traffic and utilizing per-app models mapping various network quality of service (QoS) metrics to the application performance.PHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttps://deepblue.lib.umich.edu/bitstream/2027.42/146014/1/ashnik_1.pd

    Towards Faster Web Page Loads Over Multiple Network Paths

    Get PDF
    The rising popularity of mobile devices as the main way people access the web has fuelled a corresponding need for faster web downloads on these devices. Emerging web protocols like HTTP/2 and QUIC employ several features that minimise page load times, but fail to take advantage of the availability of at least two interfaces on today's mobile devices. On the other hand, this spread of devices with access to multiple paths has prompted the design of Multipath TCP, a transport protocol that pools bandwidth across these paths. Although MPTCP was originally evaluated for bandwidth limited bulk transfers, in this work, we determine whether using MPTCP can reduce web page load times, which are often latency bound. To investigate the behaviour of web browsing over MPTCP, we instrumented the Chrome web browser's retrieval of 300 popular web sites in sufficient detail, and computed their dependency graph structure. Furthermore, we implemented PCP, an emulation framework that uses these dependency graphs to ask "what-if" questions about the interactions between a wide range of web site designs, varied network conditions, and different web and transport protocols. Using PCP, we first confirm previous results with respect to the improvements HTTP/2 offers over HTTP/1.1. One obstacle, though, is that many web sites have been sharded to improve performance with HTTP/1.1, spreading their content across multiple subdomains. We therefore examine whether the advice to unshard these domains is beneficial. We find that unsharding is generally advantageous, but is not consistently so. Finally, we examine the behaviour of HTTP/2 over MPTCP. We find that MPTCP can improve web page load times under some regimes; in other cases, using regular TCP on the "best" path is more advantageous. We present enhancements to multipath web browsing that allow it to perform as well as or better than regular TCP on the best path
    corecore