Bluetooth-based P2P Content Distribution to Mobile Users

Similar documents
Amarjeet Singh. February 7, 2012

Bluetooth: Short-range Wireless Communication

Guide to Wireless Communications, 3 rd Edition. Objectives

UNIT 5 P.M.Arun Kumar, Assistant Professor, Department of IT, Sri Krishna College of Engineering and Technology, Coimbatore.

CS4/MSc Computer Networking. Lecture 13: Personal Area Networks Bluetooth

e-pg Pathshala Quadrant 1 e-text

CS263: Wireless Communications and Sensor Networks

Introduction to Wireless Networking ECE 401WN Spring 2009

[A SHORT REPORT ON BLUETOOTH TECHNOLOGY]

Inside Bluetooth. Host. Bluetooth. Module. Application RFCOMM SDP. Transport Interface. Transport Bus. Host Controller Interface

Bluetooth. Bluetooth Radio

Computer Networks II Advanced Features (T )

SIMULATION BASED ANALYSIS OF BLUETOOTH NETWORKS. M. Subramani and M. Ilyas

Bluetooth. Renato Lo Cigno

Bluetooth Demystified

Wireless Sensor Networks

Local Area Networks NETW 901

Sensor Application for Museum Guidance

Simulation of Bluetooth Network

Image acquisition and Communication

PCs Closed! Cell Phones Off! Marketing Assistant Manager - Magic Lin

12/2/09. Mobile and Ubiquitous Computing. Bluetooth Networking" George Roussos! Bluetooth Overview"

A Routing Protocol and Energy Efficient Techniques in Bluetooth Scatternets

By FaaDoOEngineers.com

ENRNG3076 : Oral presentation BEng Computer and Communications Engineering

ADAPTIVE PACKET SELECTION ALGORITHM FOR BLUETOOTH DATA PACKETS

WIRELESS TECHNOLOGIES

Title: BlueTorrent: Cooperative Content Sharing for Bluetooth Users

System Level Analysis of the Bluetooth standard

CHAPTER 12 BLUETOOTH AND IEEE

Analysis of UDP Performance over Bluetooth

Introduction to Bluetooth Wireless Technology

ALL SAINTS COLLEGE OF TECHNOLOGY, BHOPAL

CB-OBS4XX OPTIMIZATION GUIDE

Strengthening Unlicensed Band Wireless Backhaul

Redes Inalámbricas Tema 2.B Wireless PANs: Bluetooth

Bluetooth Serial Port Adapter Optimization

November 1998 doc.: IEEE /378 IEEE P Wireless LANs Extension of Bluetooth and Direct Sequence Interference Model.

Improving Bluetooth EDR Data Throughput Using FEC and Interleaving

Bluetooth. Basic idea

Ad Hoc Nets - MAC layer. Part II TDMA and Polling

MOBILE COMPUTING. Jan-May,2012. ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala.

Master. Slave. Master. Slaves. TCP/IP Traffic with Efficient Bluetooth Technology. Shafqat Hameed 1, Umar F.Khan 2, *Muhammad Saleem 3

Embedded Systems. 8. Communication

Wireless Communications

Communication Systems. WPAN: Bluetooth. Page 1

A COLLOCATED APPROACH FOR COEXISTENCE RESOLUTION IN WIRELESS HOME NETWORKING

Extending or Interconnecting LANS. Physical LAN segment. Virtual LAN. Forwarding Algorithm 11/9/15. segments. VLAN2, Port3. VLAN1, Port1.

CHAPTER 3 BLUETOOTH AND IEEE

original standard a transmission at 5 GHz bit rate 54 Mbit/s b support for 5.5 and 11 Mbit/s e QoS

3 Steps for Managing RF Interference Challenges

Efficient Multicast Schemes for Mobile Multiparty Gaming Applications

SE 4C03 Winter 2005 Bluetooth Wireless Network Technology

Enhancing Bluetooth TCP Throughput via Link Layer Packet Adaptation

CROSS-LAYER APPROACHES TO WIRELESS COMMUNICATIONS AND NETWORKING

Feasibility of a Bluetooth Based Structural Health Monitoring Telemetry System

Performance Evaluation of Bluetooth Links in the Presence of Specific Types of Interference

A Dynamic Interference-Avoidance Algorithm for Frequency Hopping Systems

Implementing A Bluetooth Stack on UEFI

Step-by-Step: Handling RF Interference Challenges

Ad hoc networking using Wi-Fi during natural disasters: overview and improvements.

Bluetooth. Quote of the Day. "I don't have to be careful, I've got a gun. -Homer Simpson. Stephen Carter March 19, 2002

Wireless Personal Area Networks

Wireless and WiFi. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Introduction to Bluetooth

Performance Evaluation of Bluetooth Low Energy Communication

Structure of the Lecture

A Scatternet Formation Protocol for Ad hoc Networks of Bluetooth Devices

A Study of Wireless Compressed Digitalaudio

Wireless Local Area Networks (WLANs)) and Wireless Sensor Networks (WSNs) Computer Networks: Wireless Networks 1

Wireless# Guide to Wireless Communications. Objectives

Wireless Sensor Networks BLUETOOTH LOW ENERGY. Flavia Martelli

Header Compression Capacity Calculations for Wireless Networks

MOBILE COMPUTING. Bluetooth 9/20/15. CSE 40814/60814 Fall Basic idea

WPAN-like Systems. UWB Ultra Wide Band. IrDA Infrared Data Association. Bluetooth. Z-Wave. WPAN Wireless Personal Area Network

101seminartopics.com. Bluetooth Based Smart Sensor Networks

Wireless Personal Area Networks & Wide Area Networks

Wireless Networked Systems

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Correct Bluetooth EDR FEC Performance with SEC-DAEC Decoding

Interference avoidance in wireless multi-hop networks 1

Improving Simultaneous Voice and Data Performance in Bluetooth Systems

Packet-Level Diversity From Theory to Practice: An based Experimental Investigation

By N.Golmie Presented by: Sushanth Divvela

Ah-Hoc, PAN, WSN,... Introduction Bluetooth ( ) Zigbee ( ) Renato Lo Cigno

WPAN/WBANs: ZigBee. Dmitri A. Moltchanov kurssit/elt-53306/

Chapter 4. The Medium Access Control Sublayer. Points and Questions to Consider. Multiple Access Protocols. The Channel Allocation Problem.

IEEE P Wireless LANs Impact of Bluetooth on Direct Sequence. Abstract

Wireless Local Area Network. Internet Protocol Suite

Advanced Mobile Computing and Networking - CS 560. Wireless Technologies. Bluetooth. Bluetooth. Bluetooth. Bluetooth 7/3/2014.

Achieve Significant Throughput Gains in Wireless Networks with Large Delay-Bandwidth Product

Wireless Local Area Networks (WLANs) and Wireless Sensor Networks (WSNs) Primer. Computer Networks: Wireless LANs

Bluetooth Wireless Technology meets CAN

Architecture and Evaluation of an Unplanned b Mesh Network

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection:

BT-22 Product Specification

Subject: Adhoc Networks

Medium Access Control. MAC protocols: design goals, challenges, contention-based and contention-free protocols

CHAPTER 5 PROPAGATION DELAY

Mobile Ad Hoc Networks: Basic Concepts and Research Issues

Transcription:

Bluetooth-based P2P Content Distribution to Mobile Users Uichin Lee, Sewook Jung, Dae-Ki Cho, Alexander Chang, Junho Choi, Mario Gerla Department of Computer Science Broadcom Corporation University of California, Los Angeles {uclee,sewookj,pinecho,acmchang,jchoi,gerla}@cs.ucla.edu ABSTRACT Using handheld devices such as cellular phones and smart phones for personal entertainment has become commonplace in today s lifestyle. Virtually all of these devices are equipped with Bluetooth technology that can be used to distribute entertainment contents such as music and movie clips. Mobile users can download content from the opportunistically available infrastructure (e.g., Digital Billboards) as well as direct Peer-to-Peer (P2P) exchanges. P2P content distribution protocol design is heavily influenced by the characteristics of Bluetooth. However, little has been done to understand the performance of overall Bluetooth operations, ranging from peer discovery to data downloading, in dynamic environments with mobility, interference, and different Bluetooth versions/chipsets. In this paper, we first perform extensive experiments to measure the performance of Bluetooth in dynamic environments. We find that Bluetooth-based content distribution faces several challenges such as time/energy consuming resource discovery and limited bandwidth even with the enhanced features of the latest Bluetooth version. We then propose strategies that can effectively improve the performance of resource discovery and downloading phases. Our simulation and experimental results document the improvements obtained with our proposed techniques.. INTRODUCTION Small, portable devices equipped with one or more wireless technologies (e.g., WiFi, Bluetooth, ZigBee, etc.) are becoming increasingly popular, ranging from smart phones (e.g., iphone, Blackberry) to digital music players (e.g., Microsoft Zune, ipod touch). Beyond the means of wireless synchronization as cable replacement, such radio technologies pave the way of novel applications to mobile users, thus delivering new opportunities to all facets of the industry. Mobile users utilize opportunistically available infrastructure; i.e., WiFi access points that provide the Internet connection such as ipod touch [26], or Infostations that push content to mobile users such as Digital Billboards [39, 3]. So far, mobile users have been tapping this abundance of data directly from the opportunistically available infrastructure. However, as more users simultaneously download from the network while on the move, it Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Copyright 2X ACM X-XXXXX-XX-X/XX/XX...$5.. is natural to expect that several of them may be interested in downloading the same content especially when the data is location relevant, e.g., local events, clubs, etc. Thus, it makes sense to explore the extension of opportunistic networking to include direct Peerto-Peer (P2P) exchanges, and this has already emerged on the market: e.g., Microsoft s Zune music player is equipped with WiFi and allows Zune users to share music files. There are obvious advantages in this P2P and infrastructure downloading synergy lower energy, lower Internet access point overload, faster access to local data, etc. Today, P2P wireless networking with handheld devices can be done mainly with Bluetooth, WiFi and cellular. In this paper, we claim that Bluetooth is a viable solution. First, Bluetooth is energyefficient. The nominal transmission power is mw, yet it supports communication range of m with data rate up to 2.Mbps. WiFi consumes about ten times more power [4]. Cellular radio, say 2.5G and 3G, is also power hungry; moreover, it is costly and has bandwidth limitations and latency problems. Second, Bluetooth is efficiently utilizes the spectrum because it uses channel hopping over the 2.4GHz ISM band that is shared with license-free data communications (e.g., 82. b/g, ZigBee, etc.) [22, 46, 47]. WiFi has the disadvantage of providing less efficient spectrum reuse in crowded environments, say shopping malls; and chaotic deployments of WiFi access points (i.e., unplanned and unmanaged) make the situation worse []. ZigBee is reported to be extremely vulnerable to WiFi interference [4]. Finally, Bluetooth is ubiquitous in portable devices. With continuing proliferation, Bluetooth-enabled devices are forecast to increase by over 4% this year, to around 8 million units worldwide [9]. While we advocate Bluetooth for P2P networking, we recognize however the fact that other technologies are complementary and will in fact all be used opportunistically by the mobile users in different applications. In this paper, we consider the following content distribution scenario. Content is initially uploaded to Bluetooth Access Points (BT- APs), and BT-APs push content to mobile Bluetooth users. For instance, BT-APs distribute a movie preview to the subway passengers. P2P technology enables us to overcome the short contact duration with a BT-AP due to the short communication range (m) and mobility, obviating the needs of installing BT-APs every m. Thus, our goal is to devise an efficient P2P content distribution protocol in this mobile environment with opportunistic infrastructure supports. A good model is offered by Internet-based P2P indexing (resource discovery) and content distribution protocols. A logical overlay network (e.g., Chord [49], Gnutella [2]) is built on top of the Internet to provide efficient ways of resource discovery, even with the dynamics of user participation (i.e., churn). In addition, BitTorrent-like P2P file swarming is commonly used for content distribution where content is divided into a number of small pieces

and users cooperatively share whatever pieces they have [6]. Then the question is whether we can adapt these techniques to mobile environments. The overlay approach may not be feasible in mobile environments because we cannot assume Internet-like connectivity [7, 3]. While proposals for DHT indexes in mobile networks exist (e.g., VRR [], MADPastry [5]), it is neither practical to maintain an overlay network to distant mobile users nor feasible to guarantee the cooperativeness of the intermediate users if they are not interested in the content [44]. The data access patterns become opportunistic since data can be exchanged whenever there is a user of the same interests or the infrastructure in the neighborhood. Yet, BitTorrent-like P2P file swarming can be used to exploit the opportunistic connectivity efficiently. Thus, our focus is on realizing opportunistic P2P file swarming in mobile environments. P2P protocol design in mobile environments is dependent on underlying radio technology, which is the main departure from that in the Internet. P2P file swarming is generally divided into two phases, namely resource discovery (in the immediate neighborhood) and downloading. The protocol design of each component must carefully consider the characteristics of Bluetooth to obtain better performance. However, little efforts have been made to understand the performance of overall Bluetooth operations, from peer discovery to data downloading, in dynamic environments with mobility and interference (WiFi, obstacles). In addition, the performance variation among different Bluetooth versions was not examined, although different Bluetooth versions are currently populated in the market due to the slow adaptation of Bluetooth standards as shown in Figure. Measurement studies thus far reported only the performance of specific operations in static scenarios with a certain Bluetooth version [3, 28, 32, 48]. For instance, Kasten et al. reported the issues of the power consumption and peer discovery latency in a customized Bluetooth-based sensor node [28]; and Leopold showed peer discovery and throughput measurement results of a Bluetooth v. device [32]. As a result, the impacts of the Bluetooth characteristics on protocol design and evaluation were not addressed in most content distribution protocols [29, 33, 3, 27]. In this paper, we perform extensive experiments to accurately characterize the Bluetooth performance in a dynamic mobile environment. We emulate a mobile user with an Amigobot, a programmable robot that carries a laptop on its back and can travel at the speed up to 2.2m/s [2]. Our measurements include peer discovery, connection setup, and download bandwidth under various conditions such as mobility, interference, different Bluetooth versions. To the best of our knowledge, this is the first experiment with Bluetooth in an externally controlled mobile environment. From our experimental results, we find that Bluetooth-based content distribution faces several challenges. First, resource discovery in Bluetooth is time/energy consuming even with the latest Bluetooth version 2.. In Bluetooth, one must first discover its neighbors (peer discovery) and then create a connection to each neighbor sequentially to resolve one s query (content discovery). Second, mobile Bluetooth users experience significant throughput drop. In particular, the measured throughput varies widely over distance and is much lower than the simulation results. We discover that this is mainly due to the auto rate control algorithm in Bluetooth called Channel Quality Driven Data Rate (CQDDR) implementation in Bluetooth devices. The incorrect choice of a packet type results in a significant performance loss as noted in [4]. Third, we find that Bluetooth devices are not optimized for mobile environments. The advance features such as transmission power control that adjusts power to save energy and adaptive frequency hopping that prevents the use of interfered channels, do not work well, mainly because of their long response time as oppose to a short contact pe- Fraction of devices.6.5.4.3.2...2 2...2 2. 26/ 27/ Cordless Cellular Palm SmartPhone Laptop Figure : Bluetooth version distribution: The statistics were gathered in the UCLA campus on Nov. 29/3, 26 and Nov. 29, 27. Bluetooth version information was collected from those devices that allowed making connections (75% of 42 devices in 26 and 6% of 35 devices in 27). riod in mobile scenarios. Finally, we report that the particular type of Bluetooth versions/chipset has a great impact on peer discovery, connection setup, and data throughput. Given this, we investigate the performance improvement strategies of resource discovery/downloading phases. First, we propose solutions that can effectively reduce the content discovery latency; thus, for given contact time, a node can spend more time for data transfer. Second, we consider an energy efficient peer discovery scheme that saves energy with minimal performance penalty. Third, we propose a method for adaptive Bluetooth packet selection so as to fully utilize the channel. Finally, we evaluate coding techniques such as rateless/network coding that can potentially increase the availability of data. These schemes are validated with a combination of simulations and testbed experiments. Our results show that () the cooperative resource discovery method significantly reduces the latency; (2) adaptive inquiry mode where the inquiry mode is initiated by other peers conserves energy with minimal performance degradation; (3) a receiver feedback scheme for packet size selection maximizes the channel utilization; and (4) network/rateless codes yield up to 5% improvement in the tested scenarios. This paper is organized as follows. Section 2 introduces the basics of Bluetooth. Section 3 describes the experimental setup and presents our measurement results. Section 4 describes various schemes to enhance the performance of a file swarming protocol in Bluetooth. The following section evaluates the proposed schemes via extensive simulations. Related work is reviewed in Section 7. Finally, Section 8 concludes the paper. 2. BLUETOOTH OVERVIEW Bluetooth is defined as layered protocol architecture. Radio specifies details of the physical layer of Bluetooth. Baseband concerns with peer discovery, connection setup, addressing, packet format, power control, and timing etc. Link Manager Protocol (LMP) is responsible for link setup between Bluetooth devices and link management. This includes the control and negotiation of baseband packet size and transmission power. Logical link control and adaptation protocol (L2CAP) adapts upper-layer protocols (e.g., segmentation and reassembly, protocol multiplexing, flow control per L2CAP channel, error control and retransmissions, etc.) to the Baseband layer via Host Control Interface (HCI). In this section, we review Radio and Baseband of Bluetooth. Readers can find the details of the Bluetooth radio system in other papers [23, 8] In Bluetooth, the total bandwidth is divided into 79 channels

(each MHz). Frequency hopping (FH) occurs by jumping from one physical channel to another in a pseudorandom sequence. The hop rate is 6 hops per second, so that each physical channel is occupied for 625μs. This interval is referred to as a slot and is numbered sequentially. The basic unit of networking in Bluetooth is a piconet, consisting of a master and from one to seven active slave devices. The master determines a hopping sequence based on its Bluetooth ID (referred as an FH channel) that shall be used by all devices on this piconet. The FH channel is shared between a master and slaves using Time Division Duplex (TDD); i.e., data are transmitted in one direction at a time with transmission alternating both directions. Multiple slaves share the piconet medium using Time Division Multiple Access (TDMA). This FH channel is a form of Code Division Multiple Access (CDMA), and thus, several piconets can coexist with minimal interference. Two piconets will occasionally use the same physical channel during the same time slot, causing a collision and data loss, but this happens rarely, and it is recovered by forward error correction (FEC) and error detection/arq techniques. Multiple piconets in the same area are referred to as a scatternet and different piconets can be interconnected. However, scatternet connection support is defined as optional in all the Bluetooth specifications; thus, many Bluetooth chips do not support scatternet [27]. Physical link and packet types: The Bluetooth link supports synchronous services such as voice traffic via the synchronous connection oriented (SCO) link, and asynchronous services such as bursty data traffic via the asynchronous connectionless (ACL) link. Since we focus on the data traffic, only the ACL link is illustrated in the following. Baseband defines an asynchronous connectionless (ACL) link provides packet switched connection between master and active slaves (one ACL link per slave). The master interleaves traffic between multiple active slaves (up to 7 slaves). Achievable data rates on the ACL link vary depending on the number of slots per packet (, 3, and 5 slots) and on the forward error correction (FEC) strategy. The more the number of slots, the larger is the payload size. FEC packets formats are DM (7B), DM3 (2B), and DM5 (224B), and the non-error coded formats are DH (27B), DH3 (83B), and DH5 (339B). For instance, DH5 can achieve the maximum rate of 732.2Kbps and 433.9Kbps for asymmetric and symmetric communications respectively. The maximum asymmetric and symmetric data rates are 732.2 Kbps and 433.9Kbps with DH5 respectively. As of Bluetooth v2. Enhanced Data Rate (EDR), Phase Shift Keying (PSK) modulation has added. PSK increases coding bits per symbol to 2 and 3 bits, thus introducing EDR packet types without FEC as 2-DH/2-DH3/2-DH5 (packet size = 2 DHx, maximum asymmetric and symmetric rate = 448.5Kbps and 869.7Kbps, respectively) and 3-DH/3-DH3/3- DH5 (packet size = 3 DHx, maximum asymmetric and symmetric rate = 278.Kbps and 36.9Kbps respectively). Peer Discovery: The first step in establishing a piconet is to identify devices in range that wish to participate in the piconet. As shown in Figure 2, the inquiry procedure begins when the potential master transmits an ID packet with Inquiry Hopping Sequence (Tx slot) and waits for the response packets from the slaves with the Inquiry Response Hopping Sequence (Rx slot). The Inquiry Hopping Sequence consists of 32 unique wake-up frequencies distributed equally over the 79 frequencies and is divided into two distinct sequences called A- and B-train. Each train contains 6 physical channels and must be repeated at least 256 times (i.e., 2.56s=256 ms) before switching to another train. During the inquiry window (T w inq), the master repeats the following: send two inquiry packets in each Tx slot, and then listen to response packets from other devices in the following Rx slot. The poten- Master Inquiry Scan Window (Tw_inq_scan) Slave Inquiry Scan Interval (Tinq_scan) Inquiry Window (Tw_inq) 256 A-trains 256 B-trains Inquiry Packet Random Back-off Interval Inquiry Response Packet Inquiry Packet Time Figure 2: Bluetooth inquiry procedure example: The size of the inquiry window is 5.2s (=4.28s). The master node sends inquiry packets during the inquiry window. The slave node periodically listens to a specific channel to wait for an inquiry packet (inquiry scan). After receiving an inquiry packet, the slave performs a random back-off and then sends an inquiry response. tial slaves periodically (i.e., T inq scan) enter the Inquiry scan state and listen to a specific channel to search for inquiry packets for inquiry scan window (T w inq scan). When a node receives an inquiry packet, it enters the Inquiry Response state and returns an FHS packet (i.e., inquiry response) after backing off a random number of slots to avoid collision. A FHS packet contains the device address, page scan repetition mode (PSRM) and clock offset (CO), required by the master to initiate a connection. As of Bluetooth v.2 the interlaced inquiry scan is introduced. In the original scheme, because the master repeats a specific packet train many times, a slave node could miss the whole packet trains if it listens to a channel that belongs to the other packet train (e.g., inquiry A train/scan B train, or inquiry B train/scan A train). To prevent such pathological situations, the interlaced scan allows a slave node to scan two trains (i.e., A and B) in a row. Thus, the probability of missing an inquiry packet becomes negligible [42]. Connection setup: Once the master has found devices within its range, it can establish a connection to a device (i.e., paging). For a device to be paged, the master uses the slave device address to calculate the page hopping sequence. For the phase in the sequence, the master uses the estimate of the slave s clock from the inquiry response, if available. To synchronize the phase, the master node performs the similar procedure as the inquiry procedure, but using the page hopping sequence. The potential slaves periodically (i.e., T page scan) enter the Page scan state and stay there for page scan window (T w page scan) to search for paging packets. The slave page scan repetition mode (i.e., scan frequency) can be either R (T page scan.28s) or R2 (T page scan 2.56s). The slave s setting (i.e., R or R2) is informed to the master via the PSRM field of the inquiry response packet. Since the paging interval should be greater than the page scan interval, the master sets the number of packet train repetition (N page) based on the slave s configuration, namely N page 28 for R and N page 256 for R2. The master then start sending the packet train N page times. After receiving the paging packet, the slave immediately returns the response packet (without back-off). Finally, the master then responds with its FHS packet (master response), and the slave sends back an acknowledgement. As a result, a connection is established and both master and slave begin to use the connection hopping sequence defined in the master s FHS packet. Power class: A Bluetooth device is typically classified into three power classes: Class, Class 2, and Class 3 (m, m, and m radio range respectively). Portable devices (PDA, Smart Phones, etc.) typically use Class 2 interfaces, and commercial Bluetooth-

based content distribution systems such as BlueCasting [6] and BlueBlitz [5] use Class interfaces. The output powers of Class, Class 2, and Class 3 must be in range of [mw (dbm), mw (2dBm)], [.25mW (-6dBm), 2.5mW (4dBm)], and [mw (dbm), N/A] respectively. The nominal output power is only defined in Class 2 as mw (dbm). It is mandatory for Class devices, but optional for Class 2 devices to implement power control. Based on Received Signal Strength Indication (RSSI), devices exchange messages (via LMP) to adjust output power. 3. MEASUREMENT STUDY OF BLUETOOTH- BASED CONTENT DISTRIBUTION In this section, we evaluate the Bluetooth-based content sharing system through measurement. We are mainly interested in measuring peer discovery/connection setup latency and data rate of a mobile user. Peer discovery latency denotes the time to discover a random node. Connection latency is the time to make a connection to a discovered peer. The efficiency of the connection is measured through the download throughput. These performance metrics may depend on various factors; namely, a class of Bluetooth devices (i.e., Class or 2) and versions (i.e., Bluetooth.,.2, or 2. EDR), speed of users, distance between users, and WiFi interference. We measure the impacts of these variables on the metrics of interests. In this section, after describing the experimental setup we first show the results of peer discovery/connection latency. We then present the downloading throughput of a mobile user followed by the impact of WiFi interference. Finally, the downloading performance in a real environment is presented. 3. Measurement Setup Measurement hardware: Evaluating mobile users is challenging since it is nontrivial to control the speed of users. Thus, the key ingredient is the ability to control the speed of mobile users so that we can repeat the experiment multiple times in order to accurately measure the performance. To this end, we use Amigobot, a programmable robot that can travel at the speed up to 2.2m/s. Amigobot can be controlled wirelessly in a remote machine using a 9MHz radio modem pair called AmigoWireFree. A mobile user is emulated by an Amigobot carrying a laptop on its top. In the experiment, the speeds of the Amigobot are set to.5,., and.5m/s (slow, moderate, and fast walking speeds respectively [4, 5]) and our speed measurement results confirm that it can achieve the specified settings of interest. Note that Amigobots are used to measure data rates under various scenarios (Section 3.3 and Section 3.4); for peer discovery/connection setup (Section 3.2), we use static scenarios. The laptop used is Dell Latitude D6 with a Pentium M 77 processor (2.Ghz) and 52MB RAM. The following Bluetooth dongles are used for experiments. In the case of Class 2 devices, we use Belkin F8T3v (CSR chipset, Bluetooth v.), Bluetake BT9Si (Silicon Wave, Bluetooth v.2), and Belkin F8T3V (Broadcom chipset, Bluetooth v2. EDR). Since most commercial Bluetooth-based content distribution systems such as BlueCasting [6] and BlueBlitz [5] use the Class interfaces, we also experiment with a Class device, Belkin F8T2V (Broadcom chipset, Bluetooth v2. EDR) in order to see the potential benefits of its high transmission power for data transfer to Class Note that we used a laptop instead of PDA, mainly due to limited availability of Bluetooth versions. The most recent PDAs (e.g., HP ipaq hx2795) that support our experiment only have Bluetooth v.2 (Class 2). The chipsets they use are no different than dongles we tested. Our measurement results with ipaq 387 (v. CSR) match well with the results in this section. Peer Discovery hci_inquiry() success Connection Setup connect() success Send Data send() Master failure time out Connection Setup listen() Receive Data recv() Slave Figure 3: Measurement software operations 2 devices. Note that a long range transfer is only feasible between Class devices because Bluetooth requires a bidirectional link for handshaking. Measurement Environment: Unless otherwise mentioned, the experiments were carried out in the second level of underground parking lot to exclude external factors, such as WiFi interference and obstacles (i.e., human). There was no physical interference of human/vehicles because the experiments were performed late at night. Measurement software: To measure the metrics of interests, we develop a measurement tool using BlueZ v3.7 [7]. BlueZ is one of the most popular Bluetooth host protocol stack implementations and is included in the official Linux kernel. BlueZ implements core protocols (e.g., L2CAP, RFCOMM, etc.) and provides the BSD socket interfaces. The software is used for peer discovery, connection, and data transfer. On one side, the measurement software operates as master node, and on the other side, it operates as slave node. Peer discovery is carried out using hci-inquiry function by the master node. The duration of inquiry (inquiry length) is one of the parameters of hci-inquiry and its unit is.28s. The actual data transfer is realized through L2CAP sockets. L2CAP is a connection-oriented protocol that sends individual datagram of fixed maximum length. The default transport policy is to retransmit until success or total connection failure, thus providing a reliable point-to-point connection. L2CAP uses Protocol Service Multiplex (PSM) ports to differentiate multiple applications on the same host. The slave node binds a PSM port and waits for a connection. The master node can initiate a connection to the slave node by calling L2CAP connect socket function. An ACL connection is used for data transfer, but this connection initiation routine (i.e., paging) is hidden beneath the L2CAP software layer in BlueZ kernel module. Note that connect requires the timeout value, but this is nothing to do with the actual paging interval. As described in Section 2, the paging interval is determined by PSRM value in the inquiry response. Our tested devices all use PSRM mode R2 in which the page scan interval is less than 2.56s. In this case, the specification recommends that N page, the number of paging train repetitions, should be greater than 256, i.e., > 2.56s. During the period, if the paging node receives a page response, it immediately returns and starts exchanging additional packets to setup an L2CAP connection. Therefore, given that N page =256is used, we can assume that the overall connection takes roughly less than 3s. In our experiment, this value is used as a connection timeout value. If the connection times out, the program retries until it succeeds. The overall procedure can be summarized as follows (see Figure 3). The master node first calls hci-inquiry to discover peers. The number of inquiry attempts is logged to measure the discovery latency. Upon finding a node, it tries to make an L2CAP socket connection to the peer. The latency of L2CAP connect function is logged to measure the connection latency. As described above,

by setting connection timeout as 3s each connection attempt takes less than 3s. The number of connection attempts is also logged. Dummy data with a packet size of 23B is continuously transmitted until the connection is lost. For every packet transfer, the master logs the transmission power level (hci-read-transmit-power-level). The slave node sets on inquiry and page scan, and listens to a specific port in order to accept an L2CAP connection. Once the connection is created, the slave starts receiving packets and logs link quality (hci-read-link-quality) and Receive Signal Strength Indication (RSSI) (hci-read-rssi) information. For every 5ms period, it logs the total amount of received data and the data throughput. In addition, the slave node logs HCI event messages using hcidump, a packet snooping program for Bluetooth. As we will see later, hcidump at the receiver side allows us to infer the current packet type for data transfer. This information is managed by Link Management Protocol (LMP) in Bluetooth and is not revealed to the upper layer. 3.2 Peer Discovery/Connection Setup Latency Peer discovery and connection latencies are the key to Bluetoothbased content distribution. Given limited contact duration, the above overheads determine the useful time for actual data transfer. In this section, we investigate various parameters impacting the performance of these metrics; namely, inquiry length, distance between two peers, and Bluetooth versions. First, we show the impact of inquiry length in the range of [, 6] with different Bluetooth versions. Recall that the unit of the inquiry window is.28s, i.e., inquiry length is equal to.28s. If the inquiry fails, then the master node tries again. We measured the average number of such trials to discover a peer. Upon discovery we measured the connection setup latency. To exactly measure the impact of distance, we use the static scenarios where the distance between two peers was set to m to 2m with a gap of 5m. Bluetooth v., v.2, and v2. EDR were used. For each configuration, we ran experiments 5 times to get the average value. Figure 4 shows the average number of trials for various Bluetooth versions. Bluetooth v2. devices can be successfully discovered with inquiry length, and v.2 devices take less than 2. This is mainly due to the use of interlaced scan operations introduced as of Bluetooth v.2. In the interlaced inquiry scan, scanning one inquiry packet train is immediately followed by scanning the other train. The probability of missing an inquiry packet train is thus negligible [42], but it is still possible for the following reason. The specification recommends random back-off before a node returns an inquiry response, mainly to reduce the chances of collision when multiple devices have opened scan windows and an inquiring device begins transmitting inquiry packets. If the scanning interval is larger than.28s, the range of [,23] is used for back-off; otherwise, the range of [,27] is used. Since the average back-off interval is one half of the maximum interval, the probability of failure with inquiry length is given as P [failure T w inq =,T max bf = 24] = 52.625ms/.28s =.249 and P [failure T w inq =,T max bf = 28] = 64.625ms/.28s =.3. From the figures, we see that the implementation may vary by vendors: Bluetooth v.2 may use T max bf = 24 as the maximum back-off window size, and Bluetooth v2. does not implement any random back-off. In contrast, Bluetooth v. uses inquiry length of at least 3. We try many times with the inquiry length less than 3, but we are not able to succeed in most of the cases. Theoretically speaking, since inquiry length and 2 show about.36 and.48 of discovery probabilities according to [42], the discovery process can be modeled using geometric distribution assuming each trial is independent. On average, by repeating a trial 3 times with inquiry length, we should be able to discover a peer. However, according to our finding this is not true with small inquiry length. In practice, we found that for Bluetooth v. we need at least inquiry length 3. Bluetooth v. scans only a single train, and missing a train incurs 2.56s (i.e., inquiry length 2) of penalty. We suspect that our tested Bluetooth device may always start with the same train, thus requiring at least inquiry length 3. Then, should we repeat with small inquiry length, say 3 or try with bigger inquiry length? For the sake of analysis, we can assume the independence of each trial if the inquiry length is greater or equal to 3. Then, from Figure 4, we can calculate the average latency for each Bluetooth version, i.e., the average number of trials is multiplied by the inquiry length. Let us find the optimal inquiry length to discover each Bluetooth version; i.e., by comparing the average latency of the plots with * to v. in Figure 4. For instance, for v. to v. the latency with inquiry length 3 and 4 is 4.83s (i.e.,.26 average number of trials, and thus,.26.28 3) and 5.47s (i.e.,.7 average number of trials, and thus,.7.28 4) respectively. As a result, we find that the optimal inquiry length to discover Bluetooth v. and v.2 or higher is given as 3 and respectively. We then measure the impact of distance on discovery latency. Figure 5 shows the average number of trials as a function of distance. To discover Bluetooth v. and v2. devices, we use inquiry length of 3 and respectively. The distance is not a critical factor for device discovery. It confirms the fact that the inquiry procedure per se is robust, because an inquiry packet is repeatedly sent and a small size inquiry packet has low packet error rate. Finally, we present the results of connection latency. Again, connection latency is the time for a node to connect to a discovered peer. Figure 6 shows the results as a function of distance and Bluetooth versions. Surprisingly, the latency between Bluetooth v2. devices is twice larger than that between Bluetooth v.. The latency for a Bluetooth v2. device to connect to a Bluetooth v. device takes 5 times longer than that for the other direction. Similar to inquiry, the connection latency is not sensitive to distance. Figure 7 shows the total latency for discovery and connection. In general, it takes much longer to discover and make a connection to a Bluetooth v. device. 3.3 Download Throughput of Mobile Users We measured the downloading throughput of a mobile user as follows. A static node as a master transferred data to a mobile user, initially located at the same place. As described before, the mobile user was emulated using an Amigobot. We programmed the robot to travel up to 25m at the speed of.5,., and.5m/s to mimic slow, moderate, and fast walking speeds respectively. The impact of various Bluetooth versions was explored by testing different Bluetooth versions at the mobile user side. We used a Class Bluetooth v2. device to investigate the benefits of high transmission power at the sender side. We ran each configuration 5 times to calculate the average. Figure 8 shows the average of the total amount of data received while an Amigobot travels 25 meters. It shows that a user moving at a moderate speed (i.e., m/s) can download several mega bytes. As speed increases, the download data size decreases. The decrement is nonlinear since for given fixed distance the traveling time is inversely proportional to speed (i.e.,.5m/s: 5s, m/s: 25s,.5m/s: 6.6s) the contact duration is critical in the mobile environment. Figure 9 show the data rate as a function of distance with different speeds respectively. The results show that the overall trend of data rate is independent of speed and is a function of distance. Due to the lack of space, we do not present the results of Bluetooth v2. Class results because the overall results are quite similar to

Avg. number of trials.7.6.5.4.3.2.. to.. to.2. to 2. Avg. number of trials.7.6.5.4.3.2..2 to..2 to.2.2 to 2. Avg. number of trials.7.6.5.4.3.2. 2. to. 2. to.2 2. to 2. Avg. number of trials 2 3 4 5 6 Inquiry window size 2 3 4 5 6 Inquiry window size 2 3 4 5 6 Inquiry window size (a) Bluetooth v. (b) Bluetooth v.2 (c) Bluetooth v2. Figure 4: Peer discovery as a function of inquiry length with various Bluetooth versions.8 2. to..7 2. to 2.. to 2..6. to..5.4.3.2. 5 5 2 Distance (m) Figure 5: Avg. number of trials as a function of distance Class results, except that it shows on average higher RSSI. High transmission power improves the performance less than 5%, which validates the importance of a symmetric link in Bluetooth Bluetooth protocol operations are bi-directional (e.g., peer discovery, data transfer, etc.). However, later we will show that a Class device may bring improvement in presence of WiFi interference, at the cost of increased interference with WiFi. Figure shows that the RSSI value gradually decreases with distance. On the other hand, the data rate sharply drops after passing by around the 5 meter mark. This sharp drop is counter intuitive because bit error rate rather gradually decreases with distance [34]. We find that this is mainly due to Channel Quality Driven Data Rate (CQDDR), the auto rate control protocol in Bluetooth. The specification states that quality measurement of a link at the receiver side can be used to dynamically control the packet type transmitted from the remote device to improve throughput (closely related to FEC and ARQ). However, the incorrect choice of a packet type may result in a significant performance loss as noted by Chen et al. [4]. Therefore, the CQDDR policy plays a key role in determining the throughput, especially in mobile environments. The results of Bluetooth v. and v.2 in Figure 8 show that different policies may bring considerable throughput difference. Let us further investigate the behavior of CQDDR in our tested Bluetooth devices. CQDDR is implemented in the LMP. The receiver side LMP can ask the sender side LMP to transmit packets using a preferred packet type. Although there is no HCI function that can access current packet type being used, the current packet type can be inferred at the receiver side as follows. L2CAP layer segments an L2CAP packet by ACL MTU size, which can be read from the Bluetooth device. For example, given 7B of ACL MTU (the default value of Broadcom chipset), 23B of an L2CAP packet (+4 bytes for L2CAP header) is segmented into two 7B and one 27B packets. Each segmented packet is attached with a 4byte ACL header (i.e., 2B and 274B packets). The list of L2CAP segment packets are then sent to the lower layer. Avg. connection latency (s) 3 2.5 2.5.5 2. to. 2. to 2.. to 2.. to. 5 5 2 Distance (m) Figure 6: Average connection latency as a function of distance Total latency (s) 8 7 6 5 4 3 2 To. To.2 To 2...2 2. Bluetooth version of the inquiring node Figure 7: Total latency: discovery latency + connection setup latency Bluetooth baseband processes those packets: if the size of an incoming packet is larger then that of the current packet type, a node fragments the incoming packet. For instance, in the above example if the current baseband packet type is 3-DH5, which can load up to 2B, the segmented packet with size 2B is sent directly using a 3-DH5 packet. If the current packet type is 2-DH5 (max 367B), the baseband layer segments the payload, i.e., by generating two 367B packets and one 283B packet. The L2CAP layer of the receiver will reassemble the payload. Thus, by reading HCI event messages at the L2CAP layer, we can determine the current packet type. In our experiment, we use hcidump to log events. Due to the lack of space, we only present our main findings. First, the tested Bluetooth v2. devices start with 3-DH5 and then changes to 2-DH5 and 2-DH3 as link quality degrades. Second, the tested Bluetooth v. devices use DH5 by default and as the distance increases (i.e., after passing on average m), it changes the packet type to DM5. Third, the tested Bluetooth v.2 devices continue to use DH5 regardless of the distance. 3.4 Impact of WiFi Interference Both Bluetooth and IEEE 82. WiFi (i.e., 82. b/g) operate in the same frequency spectrum, i.e., the 2.4GHz ISM band. Thus, it is expected that the performance of these devices is adversely affected in the presence of one other. In view of this, the Coexistence Task Group 2 (TG2) of IEEE 82.5 has included an adaptive frequency hopping (AFH) mechanism. AFH considers the channel condition and changes the hopping frequency dynamically, thus enabling coexistence with other devices in the 2.4GHz ISM band. AFH consists of two steps: channel classification and adaptive control protocol. Channel classification keeps the list of good and bad channels based on the channel quality. This information is then exchanged through an adaptive control protocol. Given this, AFH kernel chooses a set of hop frequencies to use by avoiding as many bad channels as possible. Note that if the number of good channels is less than 5 (i.e., the minimum number of channels that

Total amount of data downloaded (KB) 45 4 35 3 25 2 5 2. C 2. C2.2 C.2 C2. C. C2 Data rate (Kbps) 6 4 2 8 6 4 2.5m/s.m/s.5m/s RSSI -2-4 -6-8 -.5m/s.m/s.5m/s 5.5.5 Speed (m/s) Figure 8: Downloaded data size 5 5 2 25 Distance (m) Figure 9: Date rate of a 2. user (C2) -2 5 5 2 25 Distance (m) Figure : RSSI of a 2. user (C2) NWS WiFi 3m NWC NBS 7m.5m BT NBC Amigobot direction Figure : WiFi interference test setup FCC requires Bluetooth to hop over), some bad channels would still be used. We evaluate the throughput of mobile Bluetooth users in presence of WiFi interference. The system configuration is presented in Figure. Note that there was no other WiFi interference in our experiments. Recall that we performed the experiments on the second level of an underground parking lot to exclude external factors. We use a Linksys Wireless-G router which is configured with channel 8. Node N WC with Orinoco Gold 82.b PCMCIA card is configured as a WiFi client located 3 meters apart from the router. Both Wireless Router and N WS are directly attached to the hub. WiFi interference is induced using iperf, a bandwidth measuring tool [25], by generating 4Mbps of UDP traffic from N WC to N WS. For each experiment, the bandwidth of N WS is logged to show the impact of Bluetooth on WiFi. Node N BS is located 7 meters away from the N WC and sends dummy data using a Bluetooth connection to the mobile node N BC. Figure 2 shows the results of total amount of downloaded data. Compared to Figure 8, WiFi interference incurs throughput loss up to 3% in the scenarios under consideration. AFH is supposed to effectively circumvent this situation in both Bluetooth v.2 and v2., but the loss is prevalent in both cases. To see this, we checked the AFH channel map via hci-read-afh-map. It returns 79 -bit fields that represent the state of the hop sequence specified by the most recent AFH message exchange by LMP. If channel n is used, the corresponding bit is ; otherwise it is. Our tested devices used all available channels even with WiFi interference. Interestingly, when we tested them in a static environment, it took about 3-6 seconds to detect interference. Although the choice of channel estimation method is vendor specific, it is generally believed that some common methods like packet error rate (PER) or bit error rate (BER) are used. However, these methods generally are on a channel-by-channel basis, and thus require a longer response time. Moreover, the interference learning is on per session basis in our tested devices. A session must last at least that period of time to detect it, and the learned information is purged after a session is closed. Thus, AFH is not effective in mobile environments due to its long response time as oppose to short contact duration. From the figure, we also see that unlike Figure 8, a Class device brings more than 2% of throughput gain for Bluetooth v2. but the performance of other versions is merely improved. We plot the rate over distance for Bluetooth v2. Class and Class 2 with WiFi in Figure 3 and Figure 4. The figures show that the impact of WiFi on a Class 2 device is visible enough to observe a drastic throughput decrement when it is near N WC. On the other hand, Class is fairly resilient to WiFi interference. With a Class 2 sender, the throughput drops to around 3.2Mbps. On the other hand, with a Class sender, it drops to around 2.9Mbps (additional % drop). Figure 4 shows that the data rate drops at the very beginning due to its high transmission power unlike Figure 3. The high transmission power has a longer interference range. Thus, it is detrimental to the performance of WiFi users. Note that LMP also uses a power control scheme: if the received signal strength differs too much from the preferred value, then it may request an increase or a decrease of the TX power. Most products implement power control to save energy although it is not mandatory to implement the function. The current transmission power can be read by hci-read-transmit-power-level. Interestingly, we were not able to observe any power control working during the experiments. We examined tested devices to see whether power control is working or not: we located two laptops close by and initiated data transfer. After passing more than 3 seconds the transmission power level gradually decreased. Note that the RSSI values were quite stable. 3.5 Real-world Measurement Results So far we have shown the results in the controlled environment, i.e., an underground parking lot. In reality, P2P content distribution happens in an area or streets with many people carrying their mobile devices. Thus, the performance is affected not only by the obstacles (e.g., human, walls, etc.), but also by the ubiquitous existence of WiFi interference as observed in [, ]. As a pilot study, we measured the downloading bandwidth in a real environment, i.e., the UCLA student union. The student union has a 7m long corridor that leads to all different kinds of restaurants. We carried out the experiment at noon, the busiest period of a day. A master node was located in the middle of a 6 meter long corridor segment. We marked the corridor for every 5 meters. A mobile user (human) carried the laptop and moved at the speed of m/s approximately. A mobile user controlled the speed with a stop watch by checking the marks on the corridor. We measured the downloading bandwidth over among Bluetooth v. devices and among v2. devices. The experimented repeated 5 times and the overall results were fairly consistent with different runs. The average data rate and the cumulative distribution of downloaded data size are shown in Figure 5. In Section 3.3, we show that while traveling 25m without any interference, a mobile user can download.mb and 2.4MB for Bluetooth v. and v2. respectively. Since the AP was located in the middle and a user passed by the AP (the contact period is

Total amount of data downloaded (KB) 45 4 35 3 25 2 5 5.5.5 Speed (m/s) 2. C 2. C2.2 C.2 C2. C. C2 Figure 2: Downloaded data size with interference Data Rate (Kbps) 45 4 35 3 25 2 5 5 Bluetooth Data Rate (Mbps).6.4.2.8.6.4.2 2 3 4 5 6 Time (s) Class 2 Bluetooth WiFi 3.8 3.6 3.4 3.2 2.8 2.6 2.4 5 5 2 25 Distance (m) 4 3 WiFi Data Rate (Mbps) Figure 3: Date rate with interference (C2) Figure 4: Date rate with interference (C) Data Rate Data Size 7 6 5 4 3 2 Downloaded Data Size (KB) (a) Bluetooth v. to v. (b) Bluetooth v2. to v2. Figure 5: Downloading data rate and data size distribution Data Rate (Kbps) 9 8 7 6 5 4 3 2 Bluetooth Data Rate (Mbps).6.4.2.8.6.4.2 Data Rate Data Size 8 6 4 2 2 3 4 5 6 Time (s) Class Bluetooth WiFi 3.8 3.6 3.4 3.2 2.8 2.6 2.4 5 5 2 25 Distance (m) 26 24 22 2 8 6 4 2 Downloaded Data Size (KB) 4 3 WiFi Data Rate (Mbps) doubled), it is expected that the download data size is expected to be at least twice large, i.e., 2.2MB and 4.8MB for Bluetooth v. and v2. respectively. Download data size for Bluetooth v. and v2. is approximately 65KB (29%) and 27KB (56%) respectively. The figure shows a spike in the middle (3s mark is the point where the master node is located) and thus, faster data transfer is only possible when two devices are physically close, i.e., within meter range. Since downloading between Bluetooth v. devices shows a steeper spike than that between Bluetooth v2., it shows a larger throughput drop than Bluetooth v2.. In fact, this is because of CQDDR of Bluetooth v.. The tested Bluetooth v. device uses DM packets in presence of interference. It uses DM till 2s with occasional use of DM3 packets. As the mobile user is getting closer to the sender, the link quality increases (based on the logged link quality and RSSI information), and thus, we observe that the packet type has changed to DM5. As the distance is getting larger, it then switches back to DM3 and finally to DM. In the case of Bluetooth v2., it starts off with 3-DH3, to 2-DH5, and to 2-DH3. The overall change happens in less than 5 seconds. It seems that after detecting EDR functionality, LMP starts off using 3-DH3 and then switches to smaller size packet types based on the channel quality. Once the tested Bluetooth v2. device starts using 2-DH3, it continues to use it for the rest of connection. It may be the case the tested Bluetooth v2. devices only uses 2-DH3 packets if the link quality is below a certain threshold. Also, this behavior persists even in the case the sender is located nearby. It is possible that downgrading the packet type happens quickly, but upgrading may take time. Since the link quality changes dynamically, it may not be stable enough to upgrade the packet type. 3.6 Summary of Measurement Results The experimental results can be summarized as follows. Inquiry and connection latencies vary widely among different versions and chipmakers. Distance is not critical for peer discovery and connection latencies. The optimal inquiry lengths for v. and v.2 or above are given as 3 and respectively. The data throughput of a mobile user is mainly determined by CQDDR. Transferring data with high power (using a Class device) merely improves the performance (less than 5% most of the cases). For an efficient connection management, the data rate/rssi dynamics can be used to estimate the distance between peers. Both WiFi and Bluetooth affect the throughput of each other. Bluetooth v2. EDR is more vulnerable to WiFi interference (35% throughput loss for some case) than the other versions. Bluetooth Class improves the throughput, but it adversely affects the WiFi throughput (additional % drop). A long response time as oppose to a short contact duration in mobile environment makes power control/afh not work well in our tested devices. In the real environment with obstacles and WiFi interference, the average data rate is peaked when a mobile node is within m range. We observe a significant throughput loss, i.e., 7% and 44% for Bluetooth v. and v2. respectively, showing that Bluetooth is vulnerable to ambient interference. The performance mainly depends on the behavior of CQDDR and AFH. 4. PERFORMANCE ENHANCEMENT FEA- TURES We have characterized the system by extensive evaluation of discovery/connection latency and download throughput. Given a dynamic urban environment, our results confirm that resource discovery is time/energy consuming, and a mobile user may experience a considerable throughput drop. In this section, we propose strategies that can improve the performance of file swarming operations (i.e., resource discovery/downloading). For efficient resource discovery,