Resource Allocation Techniques to Improve the Performance of Wireless Networks

Wireless networks are increasingly becoming important in enabling convenient Internet access for users. Many users have WiFi networks in their homes and have access to cellular networks (e.g., 3G, 4G) when they are on the go. Unfortunately, wireless networks do not offer performance guarantees. The download and upload rates achieved with these networks fluctuate and may often degrade to the point where they become practically unusable. One of the major factors that causes this performance degradation is interference, which can be defined as the unwanted noise generated by other devices in the wireless spectrum. The root cause of interference lies within the fact that the open nature of wireless communications enables multiple stations to access the spectrum simultaneously. To eliminate interference, wireless communication systems offer multiple orthogonal channels. If multiple stations access the spectrum using these orthogonal channels, interference is very likely to be avoided (assuming that the signal "leak" between orthogonal channels is negligible), as opposed to the case where stations use the same channel. Therefore, one needs to determine the specific access patterns (i.e., which channel is used by which transmitter at what point in time) to systematically coordinate the transmissions of multiple wireless stations. While a large body of previous work exists to coordinate the use of orthogonal channels between IEEE 802.11 a/b/g stations, we show that they are not able to address the interference problem for IEEE 802.11n devices due to the use of wide channels in 802.11n systems. Thus, we propose a WLAN management system – called ACORN – that not only allocates orthogonal channels to 802.11n access points but also makes intelligent user association decisions to significantly improve aggregate WLAN throughput. Later, we study the interference in cellular networks, in particular OFDMA femtocell systems. We experimentally characterize the interference between OFDMA femtocells and propose design guidelines that help in building resource management solutions to alleviate interference. We observe that resource management solutions for OFDMA femtocells need to implement unique functionalities due to the fundamental differences between OFDMA access technology and 802.11 WiFi systems. Leveraging the guidelines revealed by our study, we later propose FERMI – a resource management solution that mitigates interference between OFDMA femtocells and at the same time leverages spatial reuse opportunities. We implement FERMI on a WiMAX femtocell testbed and show that it provides throughput benefits as much as 7x over a baseline scheme and it is closer to the optimal solution than its simpler theoretical alternatives. In addition to the multi-cell interference setting addressed by our above-mentioned contributions, we study beamforming in a single cell scenario. Beamforming is a technique that allows focusing the energy of transmissions in a particular direction to improve overall signal quality. Since OFDMA schedules multiple users in the same frame (and this is in contrast to WiFi), designing data scheduling solutions and at the same time benefiting from beamforming is challenging. We propose iBUS – a system that addresses uplink data scheduling with beamforming. We show that iBUS is provably efficient in striking the right tradeoffs inherent in this setting. Evaluations from both a prototype system implementation and simulations yield that iBUS improves the throughput by more than 40% compared to an omni-directional scheduling scheme. Finally, we study distributed computing on smartphones. We identify that there are a large number of phones that are left idle (often when being charged overnight) for long periods of time. We envision that an enterprise could use such idle smartphones (e.g., phones of its employees) for enabling parallel computing on them. We believe that smartphones offer precious computing resources that have not previously been tapped into from a distributed computing perspective. In addition to the computing capacity being offered, our cost analysis and projections show that smartphones are also an energy-efficient alternative to using dedicated servers for computing purposes. However, enabling distributed computing on a large number of phones is complicated due to the unique set of challenges that smartphones present, such as heterogeneity in CPU speed and variability in network bandwidth. We design and implement CWC – a distributed computing infrastructure using smartphones. Our extensive evaluations demonstrate that CWC can schedule tasks for 1.6x faster completion that alternative mechanisms.