
In this paper, we create an end-to-end connection control protocol (ECCP) that allows hosts to communicate over multiple interfaces with dynamically-changing IP addresses and works with multiple data-delivery protocols (i.e., reliable or unreliable transport). As a result, hosts typically cannot spread a connection over multiple interfaces or paths, or change locations without breaking existing connections. These mobile, multi-homed computers are a poor match with an Internet architecture that binds connections to fixed endpoints with topology-dependent addresses. Modern consumer devices, like smartphones and tablets, have multiple interfaces (e.g., WiFi and 4G) that attach to new access points as users move. By facilitating user-defined customized routing, MPIP can route traffic from competing applications in a coordinated fashion to maximize the aggregate user Quality-of-Experience. It not only supports the legacy TCP and UDP protocols, but also works seamlessly with MPTCP.

Through controlled lab experiments and Internet experiments, we demonstrate that MPIP can effectively achieve multipath gains at the network layer.
UNIFIED NETWORKING LAB ANDROID
We implement MPIP in Linux and Android kernels. In this paper, we investigate the possibility of orchestrating multipath transmission from the network layer of end devices, and develop a Multipath IP (MPIP) design consisting of signaling, session and path management, multipath routing, and NAT traversal. However, MPTCP only supports TCP-based applications and its multipath routing flexibility is limited. Recently Multipath TCP (MPTCP) was proposed to implement multipath transmission at the transport layer and has attracted lots of attention from academia and industry. Applications can exploit all available interfaces and benefit from multipath transmission. Most end devices are now equipped with multiple network interfaces. This approach provides user and mobile node independence, from network and access technologies, rendering changes in network availability invisible to the user rather than leading to application failures, as they do today. The proposed virtualized network infrastructure, using dynamic information from layer 2 and 3, along with the mobility mechanisms, and the policy-based logic make intelligent, context-aware decisions on how and when to use each network access, in what combination, and in a secure manner. Policies may be defined by networks, users, devices, and applications, including also security-related policies. The framework takes advantage of dynamic flow reconfiguration capabilities to enable mobility mechanisms based on physical to virtual address encapsulation and tunnelling executed by a simple flow table entry update. This infrastructure, leveraging SDN, NFV, and cloud-based technologies, which play a key role in service differentiation at a very low granularity level, supports user session continuity, through seamless per-flow handovers, while implementing dynamic policy management schemes. With this new architecture, we envision a shift from current applications supporting a single network, location, and device at a time, to applications that can support multiple networks, multiple locations, and multiple devices.Īn intelligent network infrastructure is proposed to provide best user experience in a heterogeneous environment.

The system enables mobile nodes to make decisions about how and when to use each or a combination of networks, in a secure manner. The system core functionalities include mobility, multi-homing, multipath, and disruption tolerance. Since, most Internet devices today are mobile, we propose a unified networking architecture that makes optimal use of a heterogeneous dynamic environment, both in terms of networks and user devices. The existing networking stack, however, offers almost no support for intelligently exploiting such network, location and device diversity. Users are also consuming Internet services from multiple locations and devices, such as smartphones, tablets, laptops, and IP-enabled TVs. Such diverse network connectivity can be used to increase both reliability and performance by running applications over multiple links sequentially, for a seamless user experience, or in parallel, for bandwidth and performance enhancements. Current mobile devices have multiple network interfaces, such as Wi-Fi, LTE, WiMAX, and possibly Ethernet. The Internet was designed under the assumption that end-hosts are stationary and have one interface.
