Virtual Wireless User: a Practical Design for Parallel Multiconnect Using Wifi Direct in Group Communication
Total Page:16
File Type:pdf, Size:1020Kb
Virtual Wireless User: A Practical Design for Parallel MultiConnect Using WiFi Direct in Group Communication B Marat Zhanikeev( ) Computer Science and Systems Engineering, Kyushu Institute of Technology, Kawazu 680-4, Iizuka-shi, Fukuoka-ken 820–8502, Japan [email protected] Abstract. Several MultiConnect technologies are actively discussed in research today. MultiPath TCP (MPTCP) is capable of splitting one flow into subflows and balance the load across multiple access technologies. Multihoming is an older technology that makes it possible for network providers to balance load across multiple up- and down-links dynami- cally. Finally, Software Defined Networking (SDN) achieves the ultimate flexibility of connection and routing decisions. However, none of these technologies enable true (network or otherwise) resource-pooling in com- munications within arbitrary size user groups such as occur in meetings, class discussions, and ad-hoc communities in the wild. This paper pro- poses the concept of a Virtual Wireless User (VWU) which represents the entire group and appears as single user to an over-the-network ser- vice. Each group member is capable of MultiConnect using Wi-Fi Direct in parallel with any other connection method. Modeling based on real measurements shows that VWUs can achieve throughput in the order of tens of Mbps even if throughput of individual users is very low. The paper also formulates a formal optimization problem in relation to VWU. Keywords: Virtual wireless user · Connectivity virtualization · Network access virtualization · MultiConnect · MultiPath · MultiHoming · Wi-Fi Direct · P2P Wi-Fi · Resource pooling · Group communication 1 Introduction Many things are given the prefix multiple in networking today. First, there is the old yet currently active topic of multihoming [1]. RFC6182 recently defined Mul- tiPath connectivity which can be implemented as MultiPath TCP (MPTCP) [3]. Dynamic connectivity can also be achieved using Software Defined Networking (SDN) [8]. All these methods share the following common features: – there is one content (file, flow, etc.); – there is one source (destination of an end-to-end path); c Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2014 I. Stojmenovic et al. (Eds.): MOBIQUITOUS 2013, LNICST 131, pp. 782–793, 2014. DOI: 10.1007/978-3-319-11569-6 68 Virtual Wireless User: A Practical Design for Parallel MultiConnect 783 – the one content is communicated between the user and the source via multiple parallel paths. The main problem is that the above features are insufficient when describing a large set of applications. For example, traditional multipath technology cannot help communications within a group of users, where the new formulation is: – the unit of content is its small piece (block, one file of many, etc.) [7]; – each unit of content can have at least two but potentially a large number of sources [12]; – there are multiple parallel paths as before, but paths are dynamically config- ured to connect to sources decided on the fly. The new design (the one that fits the above new formulation) should have the following required components. Each user should have at least one of each inter- and intra-net connectivity – it is technically possible to work with one connectivity method but this would defeat the purpose. The intranet connection is expected to carry larger throughput than its internet counterpart. A Virtual Wireless User (VWU) is then defined as a virtual entity/application which pools all resources and performs load balancing between intra- and inter-nets. While traditional multipath technologies can double or at most triple throughput in practice, this paper shows that VWUs can theoretically feature arbitrarily large throughputs from the aggregate pools of singular connections. There are several example applications which are done in groups of users. It can be a meeting of users gathered in a room, a class discussion, or an arbitrary size ad-hoc community gathering anytime anywhere. As long as resources within the group are controlled by a single application, the VWU can be created to represent the group before a Service Provider (SP). Note that MultiConnect (propertly defined further on) does not explicitly require a connection-based transport protocol. For example, Delay Tolerant Net- works (DTNs) can work with strict delay constraints [11] and can be used as the transport protocol within the intranet. In this case, content is exchanged in blocks or files [7]. Wi-Fi Direct is a recent technology [16] which makes it possible to create DTN-like intranets. It is also referred to as Wireless P2P [16]. Wi-Fi Direct pursues two objectives: (1) provide fast AP-less communication between two users, which is achieved by implementing lightweight APs inside users [16], and (2) facilitating ubiquity by minimizing overhead, for example, making it possible to have a continuous pairing with a printer [16]. While Wi-Fi Direct is like DTN in that the unit of exchange is a file, the specifications allow for a continuous operation which can support one-hop flows. Note that Wi-Fi Direct itself is not a MultiConnect technology where the latter needs an entire new application layer on top of the raw connectivity options provided by Wi-Fi Direct. This paper makes the following contributions: (1) it is shown how Wi-Fi Direct can be used as a building block for a MultiConnect technology in group communications; (2) it is shown that Wi-Fi Direct is already fully implemented 784 M. Zhanikeev in practice today while multipath technologies are at early development stage; (3) results from real life measurements in combinations of 3G and WLAN with Wi-Fi Direct technologies are presented and analyzed; (4) MultiConnect of 3G and WLAN with Wi-Fi Direct is tested in practice and analyzed for throughput in parallel operation; (5) the Virtual Wireless User (VWU) is formulated and several models with VWU and an example optimization problem are presented. 2 Terminology and the Scope Wi-Fi is difficult to type so it is shortened to WiFi. Traditional WiFi is WLAN. 3G is the umbrella term for 3G, LTE and all other 3.xG cellular technologies. Communication is classified into the two fundamental types of connection- based versus hop-by-hop, where the former can be represented by TCP and the latter by Delay Tolerant Networks (DTN) [10]. Group communication stands for an application in which members of a group communicate among each other. In this context, intranets connect all the users while internets connect each user to a Server Provider (SP) individually. Multi-* technologies are classified into multihoming, multipath and Multi- Connect, where the last one is formulated for the first time in this paper (to the extent of this author’s knowledge). MultiConnect is distinct from the other two technologies by having unique features (explained earlier), thus justifying the new term. Specifically, in this paper MultiConnect is defined as ability to use multiple access technologies in parallel. Note that this formulation is not suffi- cient for multipath which requires all access technologies to support end-to-end paths to the same destination. The MultiConnect has no such requirement. Service Provider (SP), Wireless User (WU) and Virtual Wireless User (VWU) are the main three players in the scope of this paper. Remote players are Network Provider (NP or ISP), Content Provider (CP) and clouds. 3 Related Work Multihoming is an old technology which has received renewed attention in view of high-throughput networking in CDNs [1]. By contrast, there are many multipath technologies considered in research today [2], ranging from I-WLAN and IFOM (3GPP) to MultiPath TCP (MPTCP), SCTP (RFC2960) and IMS method with its multipath RTP. MPTCP is leading in terms of implementation for which there is already a Linux kernel [4] tested in practice [3], but even MPTCP is much less widespread in devices today compared to WiFi Direct. MPTCP has been analyzed for performance as a resource pooling technology in environments with one source [6], while the MultiConnect technology presented in this paper uses multiple sources. MPTCP is still under active discussion in RFC6181, RFC6182, RFC6356, RFC6824, and RFC6897, where RFC6182 presents the fundamentals of the technology. Virtual Wireless User: A Practical Design for Parallel MultiConnect 785 Network virtualization is not considered in existing research on multipath. Virtual networks are supposed to provide truly flexible routing and path estab- lishment decisions – executed in software. Software Defined Networks (SDNs) with OpenvSwitch as the de-facto standard [8] are assumed to make routing decisions at the grain of individual packets. SDNs were shown to be slower than traditional networks, but slightly diminished performance is not a problem for end users [15]. ClickRouter [9] is a non-SDN way to make per-packet routing decisions and is very active in research today. SDN was tried in a multipath implementation at least once in [5] as part of a very crude implementation which installs Linux and then OpenvSwitch onto an originally Android smartphone. Note that none of the above technologies consider resource pooling in groups. The resource pooling problem was originally proposed as part of distributed- rsync (dsync) [7]. The proposal is for group communication but does not use MultiConnect – instead, users have only one connection at a time. In MultiConnect, congestion of wireless channels may pose a practical issue. Although channel congestion is out of scope of this paper, experiments in [13] show that one channel can be shared by many users with minimum effect on throughput up to a given point. Research in [13] can also serve as a reference into other research on this issue. When content grain is a block of data or a file, DTN formulation is applica- ble [10]. RAPID is the most efficient DTN method today [11]. Under RAPID, latency-constrained delivery is possible. The method can be further improved when bandwidth is unreliable.