A Holistic Survey of Wireless Multipath Video Streaming <s> 1) SDN/OpenFlow: <s> Poor connectivity is common when we use wireless networks on the go. A natural way to tackle the problem is to take advantage of the multiple network interfaces on our mobile devices, and use all the networks around us. Using multiple networks at a time makes makes possible faster connections, seamless connectivity and potentially lower usage charges. The goal of this paper is to explore how to make use of all the networks with today's technology. Specifically, we prototyped a solution on an Android phone. Using our prototype, we demonstrate the benefits (and difficulties) of using multiple networks at the same time. <s> BIB001 </s> A Holistic Survey of Wireless Multipath Video Streaming <s> 1) SDN/OpenFlow: <s> In order to improve the Quality-of-Service (QoS) of latency sensitive applications in next-generation cellular networks, multi-path is adopted to transmit packet stream in real-time to achieve high-quality video transmission in heterogeneous wireless networks. However, multi-path also introduces two important challenges: out-of-order issue and reordering delay. In this paper, we propose a new architecture based on Software Defined Network (SDN) for flow aggregation and flow splitting, and then design a Multiple Access Radio Scheduling (MARS) scheme based on relative Round-Trip Time (RTT) measurement. The QoS metrics including end-to-end delay, throughput and the packet out-of-order problem at the receiver have been investigated using the extensive simulation experiments. The performance results show that this SDN architecture coupled with the proposed MARS scheme can reduce the end-to-end delay and the reordering delay time caused by packet out-of-order as well as achieve a better throughput than the existing SMOS and Round-Robin algorithms. <s> BIB002
Software-Defined Networking (SDN) is a network architecture based on a logically centralized control plane  and programmatic abstractions (e.g., OpenFlow) to define the behaviour of the forwarding devices (e.g., routers, switches). SDN controllers gather network information including capacity and packet loss rate of links in real-time and dynamically change routing paths based on the network situations and policy definitions. In this survey, we leave out of scope the topic of how paths are computed. We only cover relevant works on refactoring and modifying the networking stack on Android and Linux devices to be able to use multiple network interfaces simultaneously in BIB001 , and we also discuss SDN feedback approach for path decision actions, as proposed by MARS BIB002 . Yap et al. BIB001 explored how to make use of all the available networks around us. The approach provides a seamless HTTP connectivity on heterogeneous networks. In this approach, to transfer data from one application over multiple interfaces, the application uses one IP source address. Then, the networking stack spreads data over multiple interfaces and assigns an IP address for each one. This was implemented by using a virtual Ethernet interface to connect the application, with its local IP address, to a special gateway inside the Linux kernel. This gateway combines multiple interfaces together without the application knowledge. To implement the solution, the authors re-factored the networking stack connectivity service of the Android kernel and added a controller Open vSwitch (OVS) in the kernel of the mobile devices. OVS has an OpenFlow interface and can utilize flow table entries. Therefore, controller and OVS helped to route and re-route the flows and packet controlling. The goal of Multiple Access Radio Scheduling (MARS) BIB002 is solving out-of-order problem and reducing the End-to-End delay. MARS is implemented on separate TCP connections. The authors used SDN for flow aggregation and flow splitting, and also designed a scheduling scheme, named MARS, which is based on relative RTT measurement (which will be explained in Section V-C). The relative RTT is calculated each fixed period of time to make sure it is always valid. Accordingly, the low-latency paths are chosen for data transmission. In MARS, the controller calculates bandwidth and RTT of each path, and notifies them to the sender. The sender can also inquiry such information from the controller. This information would be used in scheduler to split video blocks into several paths. These flows combine on edge router close to the client for one-interface receiver, but it can also work for the receiver with two interfaces. However, the approach considers neither packet loss for path quality calculation nor priority of video data units.