Analysis of the Bluetooth device discovery protocol

Analysis of the Bluetooth device discovery protocol

Analysis of the Bluetooth device discovery protocol

Analysis of the Bluetooth device discovery protocol Goutam Chakraborty Æ Kshirasagar Naik Æ Debasish Chakraborty Æ Norio Shiratori Æ David Wei  Springer Science+Business Media, LLC 2008 Abstract Device discovery and connection establishment are fundamental to communication between two Bluetooth (BT) devices. In this paper, we give an analytical model of the time it takes for the master in a piconet to discover one slave. We show that, even in the absence of packet inter- ference, the discovery time can be long in some instances. We have simulated the discovery protocol by actually implementing it to validate the analytical model. By means of simulations, we show how discovery time is affected by (i) the presence of multiple potential slaves, and (ii) changes in the maximum backoff limit. Using simulation studies we observed the effectiveness of two proposed improvements to device discovery, namely, (i) avoiding repetitions of the A and B trains before a train switch, and (ii) eliminating the idea of random backoff, or reducing the backoff limit. We show that discovery time can be reduced by avoiding repetitions of the A and B trains before a train switch. However, complete elimination of the random backoff is not a good idea, as discovery time will be too long when the number of BT devices is large. Instead, choosing a small backoff limit of 250–300 slots is highly effective in reducing discovery time even in the presence of a large number (say, 50) of potential slaves. Keywords Bluetooth  Device discovery  Inquiry  Inquiry scan 1 Introduction The initial goal of Bluetooth technology [12] was to replace cables between pairs of devices, such as a computer and a printer, a cell phone and a head-set, a laptop and a desktop, and so on. However, the Bluetooth specification has gone far beyond simple cable replacement, by detailing the concepts of piconets and scatternets. Consequently, there have been numerous innovative efforts toward applying the technology to form personal area networks and multi-hop ad hoc networks [3, 7, 8]. In Bluetooth, a piconet is a basic networking unit con- sisting of one master and 1–7 active slave devices. The smallest piconet consists of two devices—one master and one slave. The device which initiates the process of forming a piconet is designated as the master. The process A preliminary version of this paper was presented at the IEEE Vehicular Technology Conference, Fall 2004 [2]. G. Chakraborty Department of Software and Information Science, Iwate Prefectural University, Iwate, Takizawamura 020-0193, Japan e-mail: goutam@soft.iwate-pu.ac.jp K. Naik Department of Electrical and Computer Engineering, University of Waterloo, Waterloo, Canada N2L 3G1 e-mail: knaik@swen.uwateloo.ca D. Chakraborty (&) Research Institute of Electrical Communication, Tohoku University, Sendai 980-8577, Japan e-mail: deba@shiratori.riec.tohoku.ac.jp N. Shiratori Research Institute of Electrical Communication, Graduate School of Information Science, Tohoku University, Sendai 980-8577, Japan e-mail: norio@shiratori.riec.tohoku.ac.jp D. Wei Department of Computer and Information Science, Fordham University, Bronx, NY 10458, USA e-mail: wei@cis.fordham.edu 123 Wireless Netw DOI 10.1007/s11276-008-0142-1

Analysis of the Bluetooth device discovery protocol

followed by a master to form a two-device piconet consists of two sequential steps as explained below. (i) Inquiry: In the inquiry phase, the master invites other devices to join itself to form a piconet. Essentially, the master solicits responses from other devices. Devices willing to join a piconet respond to the master’s solicitation. In the inquiry phase, the master solicits responses by transmitting a standard packet, called ID (identifier) packets, on different hop channels (i.e., on different frequencies), and listens for response pack- ets, called FHS (frequency hopping sequence) packets, from potential slave devices. The sender of an FHS packet puts its own address and clock values in the packet. When the master receives an FHS packet, it knows what device is willing to join the master to form a piconet. However, mere response of a device with an FHS packet does not form a piconet. After receiving an FHS packet, the master executes the paging step as explained below.

(ii) Paging: Having received the address and clock values of a (potential) slave device, the master communicates with the device via the paging process. During the paging process the master establishes a connection with a slave. The paging process falls outside the scope of this work. The master can repeat the inquiry process to discover more devices, and invoke the paging process to establish a connection with a newly discovered slave device. Once a connection is established between the master and a slave in a piconet, upper (application) level data are exchanged between the two devices. Thus, the inquiry and paging processes are fundamental to form a piconet. In this paper, we give an analytical model of the average time it takes for a master to discover a potential slave. To obtain a better insight into the discovery protocol, we have simulated the protocol by actually implementing the rele- vant frequency hopping sequences. We performed extensive simulations to study the pattern of discovery time. Specifically, we have made the following observa- tions: (i) even when there are only two devices, namely one master and one slave, the discovery time can vary from a couple of time-slots to more than 9000 time-slots, and (ii) if device discovery is not successful within a few hundreds of time-slots, it will, more often than not, be delayed by more than 4000 time-slots.

By means of simulations, we have shown how the dis- covery time is affected by more number of slaves and by varying the maximum backoff limit from a small value, say, 32 slots, up to the recommended value of 1023 slots. We have investigated the effectiveness of two proposal to improve the discovery time: (i) avoiding train repetitions for 256 times [15], and (ii) eliminate random backoff or reduce the backoff limit [13]. The rest of the paper is organized as follows. The device discovery protocol has been explained in detail in Sect. 2. In Sect. 3, we review the related works. An analytical model of discovery time is given in Sect. 4. In Sect. 5, we present simulation results. Two suggested improvements to the discovery protocol have been studied in Sect. 6. Finally, some concluding remarks are given in Sect. 7. 2 Device discovery protocol The state diagram of the Bluetooth link controller [12] has been shown in Fig. 1. We have clearly identified the device discovery (inquiry) phase and the connection establishment (paging) phase by enclosing the relevant states in separate dotted boxes. In this paper, we will focus on the device discovery portion. The STANDBY state means that the device is not a part of any piconet. The CONNECTION (Inquiry) STANDBY CONNECTION Page Page Scan Master Response Slave Response Inquiry Scan Inquiry Response Inquiry Connection Establishment (Paging) Device Discovery Fig. 1 State diagram of Bluetooth link controller [12] Wireless Netw 123

Analysis of the Bluetooth device discovery protocol

state means that the device is a part of a piconet. A device can move from its present STANDBY or CONNECTION state to the Inquiry state, if it wants to discover a new device. The device which wants to discover another device to form a piconet is designated as the master in the piconet. Similarly, a device can move from its present STANDBY or CONNECTION state to the Inquiry Scan state, if it wants to be discoverd by another device. While a device is in the process of discovering a new device it can tempo- rarily move to the Inquiry Response state. The device which is willing to be discovered by another device (master) is designated as a slave in a piconet. The device discovery protocol consists of two parts, namely Inquiry and Inquiry Scan. A discovering device (or, master) runs the Inquiry protocol, and a device willing to be discovered (or, slave) runs the Inquiry Scan protocol. The protocol has been explained in textual form in the specification [12]. However, for the purpose of clear understanding and easy analysis, we have represented the protocols in the form of an extended finite-state machine (EFSM). A state transition in an EFSM can be represented as a six-tuple of the following form: {source state, enabling condition, input, output, action, destination state}.

The enabling condition and the input determine whether or not a state transition takes place from the source state to the destination state. In a time slot, if the enabling condi- tion evaluates to true and the baseband layer receives the specified input, then it transmits a packet specified in the output part; after transmitting the packet, the baseband layer takes some local action before transiting to the des- tination state. 2.1 The Inquiry protocol The EFSM model of the Inquiry protocol is shown in Fig. 2. The protocol consists of two states: STANDBY/ CONNECTION and Inquiry. Initially, a device can be in the STANDBY or the CONNECTION state. It is the Link Manager Protocol (LMP) layer that decides when the baseband layer may initiate the Inquiry protocol. At this point, the LMP layer asks the baseband layer to enter the Inquiry state, which has been represented by transition number #1. In the action part of transition #1, the baseband layer starts a time-out (TO) timer called inquiryTO. The baseband layer moves from the Inquiry state to the original STANDBY/CONNECTION state in two ways. The first way, represented by transition #4, occurs when it is asked to do so by the LMP. The second way, represented by transition #5, occurs when the inquiryTO timer expires. When the device is in the Inquiry state, two kinds of state transitions occur depending on whether it is in a Tx (transmission) slot or a Rx (reception) slot, as shown in transition #2 and transition #3, respectively. In transition #2, the discovering device transmits ID packets. Transition #3 fires when the device receives an FHS packet, signaling the discovery of a device. In the action part of transition #3, the baseband layer informs the LMP of the discovery of a device, and the device continues to be in the Inquiry state. It may be noted that the discovering device does not acknowledge the reception of an FHS packet. In transitions #2 and #3, the transmit and receive fre- quencies of a discovering device are determined by the inquiry hopping sequence. The inquiry hopping sequence is generated by the discovering device’s native clock (CLKN) and the General Inquiry Access Code (GIAC). The GIAC has the standard value x9E8B33, in the hexa-decimal notation. In the 79-hop system, the inquiry hopping sequence contains 32 distinct hop frequencies. The inquiry hopping sequence is constructed as follows. The set of 32 frequencies is partitioned into two subsets of 16 frequen- cies each, and two trains, namely train A and train B, are constructed from those two subsets. The two trains are permutations of the two distinct sets of 16 frequencies. Assuming that an ID packet is transmitted twice in each Tx slot, once at the beginning and a second time at the middle of a transmission time-slot, it takes eight Tx slots to transmit a whole train of 16 frequencies. Because the Tx and Rx slots are interleaved, the total length of time to cover each train is 16 slots, or 10 ms (=16 9 625 ls), 625 ls being the duration of a time-slot. A single train is repeated for at least Ninquiry = 256 times before the other train is used. In order to collect all responses in an error- free manner, at least four trains must be used; in other words, three train switches must take place. Therefore, the Inquiry state lasts for 10.24 s (= 256 9 4 9 10 ms). The Inquiry protocol can run concurrently with data traffic. This can be achieved by having the master transmit ID packets for a duration of Tw inquiry time units in a period of Tinquiry, as illustrated in Fig. 3(a). Thus, the master can support data traffic for a duration of Tinquiry  Tw inquiry in each period of Tinquiry time units. The length of Tw inquiry is Inquiry Input: (Nil) Output: Transmit ID packet Action: {} Output: (Nil) Condition: in Rx slot Input: FHS packet Action: {device discovered} STANDBY/ CONNECTION 1 Output: (Nil) Input: (Command from LMP) Condition: True Condition: True Input: (Command from LMP) Action: Start inquiryTO timer Output: (Nil) 2 3 Action: Stop inquiryTO timer Output: (Nil) Condition: True Input: inquiryTO timeout Action: (Nil) 4 5 Condition: in Tx slot Fig. 2 The Inquiry protocol Wireless Netw 123

Analysis of the Bluetooth device discovery protocol

at least equal to the length of three train switches, as explained above, with a duration of 10.24 s. 2.2 The Inquiry Scan protocol The EFSM model of the Inquiry Scan protocol is shown in Fig. 4. If a device wants to be discovered by others, then the LMP layer of the device issues a command to the baseband layer to move from its present STANDBY/ CONNECTION state to the Inquiry Scan state, which has been modeled by transition #1. In the action part, the device starts the inqrespTO timer and initializes a Back- offDone flag to false. It may be noted that the Bluetooth specification does not concern itself with the detailed specification of the backoff mechanism or the relevant parameter of back-off time. However, in this paper, we explicitly specify the backoff mechanism for a clear understanding of the protocol. If the device receives an ID packet and the backoff has not been performed, then it starts an inquiry response timer irRAND, as we name it, with a duration randomly set between 0 and 1023 slots, and moves to its original state; the above behavior is specified in transition #2. The device is allowed to spend irRAND time slots in its STANDBY/CONNECTION state; upon expiry of the irRAND timer the device moves to the Inquiry Scan state, which is shown as transition #3. After the backoff period, but before the expiry of the inqrespTO timer, if the device receives a second ID packet in the Inquiry Scan state, it starts another one-slot timer we call oneslotTO. After the expiry of the oneslotTO it moves to the Inquiry Response state; this behavior has been modeled in transition #4. After waiting for exactly one slot in the Inquiry Response state, the device transmits an FHS packet, reinitializes the BackoffDone flag to false, and moves to the Inquiry Scan state; this behavior has been modeled in transition #5. By repeatedly executing the transitions #2, #3, #4 and #5, the device continues to dis- cover and possibly rediscover other devices in the neighborhood. After the inqrespTO timer expires, the device moves from the Inquiry Scan state to its original STANDBY/CONNECTION state, which has been shown by the transition #6.

The idea behind having the responding devices wait for a random period is to avoid collision of their FHS packets. In the Inquiry Scan protocol shown in Fig. 4, a device Time inquiry Tinquiry w_inquiry T w_inquiry T inquiryscan T w_inquiryscan T inquiryscan T w_inquiryscan T (a) (b) Time T Fig. 3 (a) Inquiry peroid and Inquiry window. (b) Inquiry Scan period and Inquiry Scan window CONNECTION or STANDBY Inquiry Scan Inquiry Response Input: ID packet (Inquiry) inqrespTO timer running Condition: BackoffDone == True && 2 4 Condition: True Input: (Command from LMP) 3 Condition: True Condition: True Input: oneslotTO timeout Input: ID packet (Inquiry) Condition: BackoffDone == False Action: BackoffDone = True Action: Start inqrespTO timer BackoffDone = False Action: Start a timer irRAND with a random length between 0 and 1023 slots. Action: Start a one-slot timer oneslotTO Output: {} Output: {} Output: {} Output: {} Output: FHS packet Action: BackoffDone = False Increment phase offset in the inquiry hop sequence 1 5 6 Output: {} Action: {} Condition: True Input: irRAND timeout Input: inqrespTO timeout Fig. 4 The Inquiry Scan protocol Wireless Netw 123

Analysis of the Bluetooth device discovery protocol

receives ID packets in transitions #4 and #5 using the inquiry scan hopping sequence, and transmits FHS packets in transition #6 using the inquiry response hopping sequence. It is important to note that in the Inquiry Scan protocol a device uses the same 32 frequencies to scan the medium as used in the Inquiry protocol by a master. The difference is that the Inquiry Scan protocol scans the medium on the same frequency for 2048 slots. After 2048 slots, a different scan frequency is chosen for another 2048 slots, and so on. The Inquiry Scan protocol can run concurrently with data traffic. This can be achieved by having a slave scan for ID packets for a duration of Tw inquiryscan time units in a period of Tinquiryscan time units as illustrated in Fig. 3(b). Thus, the slave can support data traffic for a duration of Tinquiryscan  Tw inquiryscan time units in each period of Tinquiryscan time units. The length of Tw inquiryscan is at least 16 slots.

In this paper, we will analyze the discovery time by considering that the master and the slave are fully dedi- cated to device discovery. Therefore, we assume that Tw inquiry ¼ Tinquiry and Tw inquiryscan ¼ Tinquiryscan. Trivi- ally, the discovery time will be more in the absence of the above assumption. 2.3 Combined behavior of Inquiry and Inquiry Scan protocols The combined behavior of the Inquiry and Inquiry Scan protocols is shown in Fig. 5 in the form of a message sequence chart. The master’s behavior running the Inquiry protocol has been shown on the left hand side, whereas a potential slave runs the Inquiry Scan protocol on the right hand side. For simplicity, we assume that, initially, both the master and the potential slave are in their STANDBY states. Next, the master moves into the Inquiry state, and the slave moves into the Inquiry Scan state—these two moves are independently performed.

It is also assumed that a slave enters its Inquiry Scan state no later than the master entering the Inquiry state. In the absence of this assumption, the difference in time between the instant when a slave enters the Inquiry Scan state and the instant when the master enters the Inquiry state becomes a part of the discovery time. However, incorporating this time gap into discovery time is not a fair way to evaluate the protocol. The above assumption ensures that we start measuring discovery time once the master is in its Inquiry state and a slave is in its Inquiry Scan state.

As soon as the master enters the Inquiry state, it starts transmitting ID packets twice per slot. The master is said to have discovered a device when it receives an FHS packet from another device. Thus, as shown in Fig. 5, we define discovery time as follows. Definition 2.1 Discovery time is defined as the time interval between the instant when the master enters the Inquiry state and the instant when it receives an FHS packet from another device. First, we explain how the master transmits ID packets on different hop frequencies, and how a slave hops on dif- ferent frequencies to scan for ID packets. It is essential to understand the two hopping schemes in order to give a model to calculate discovery time.

For simplicity, we discuss the case in which there is one master and one potential slave, as shown in Fig. 6(a). A device willing to be discovered, called a scanning device, scans the medium for ID packets with frequencies hopping very slowly—a scanning frequency that changes once every 2048 slots (1.28 s). In Fig. 6(b), we show how the hopping frequencies of the master and a slave change. Let us denote the set of 16 A-train frequencies as A ¼ fa1; a2; a16g}, and the set of 16 B-train frequencies as B ¼ fb1; b2; b16g. The slow-hopping Inquiry Scanner fre- quencies are a permutation of the 32 frequencies of A [ B: In Fig. 6(b), frequencies f0, f1,…, f31 denote an arbitrary permutation sequence of the elements of A [ B.

An Inquirer repeatedly transmits ID packets on the A-train and B-train frequencies as follows: the A-train is repeated for 256 times, followed by a repetition of the B-train for 256 times, followed by a repetition of the A-train for 256 times, and so on. Let A? represent the repetition of the A-train for 256 times. Similarly, B? rep- resents the repetition of the B-train for 256 times. Thus, the Time Device discovered (Start of discovery process) STANDBY state Random backoff in the range [0, 1023] slots Inquiry Scan state Slow Hopping Inquiry Scan Slow Hopping Inquiry Scan Inquiry by sending ID packets at fast hop state Inquiry response state state Standby MASTER SIDE SLAVE SIDE Standby state Inquiry Scan state Inquiry Fig. 5 Combined behavior of Inquiry and Inquiry Scan protocols Wireless Netw 123

individual length of A? and B? is 2.56 s (= 625 ls 9 16 9 256). In terms of behavior, there is no difference between A? and B? , except in their frequency components. On the other hand, an Inquiry Scanner scans the medium for an ID packet on a single frequency fi (fi [ A [ B) for 2048 slots (= 1.28 s). The scanning frequency changes every 2048 slots. At this moment, it is important to introduce the concept of phase difference between an Inquirer and an Inquiry Scanner, and its impact on device discovery time. If an A? or a B?

train of the Inquirer and a new frequency scanning interval of an Inquiry Scanner begin at the same time instant, we say that the processes of inquiry and inquiry scan are synchronized. Otherwise, there is a phase difference. We denote the phase difference by Dt, as shown in Fig. 6(b). Here, the scanning frequency f0 started Dt time before A? train. For convenience, we let Dt = k*s, where k is an integer and s is the length of one slot (= 625 ls). The range of possible values for k will be discussed in Sect. 4. We identify the notion of phase difference because the discovery time is a function of phase difference. It will be clear from the fol- lowing discussion that restricting k to only integer values does not affect the computation of discovery time. 3 Related research Delay analysis of the device discovery protocol and pro- posals to modify the protocol to reduce the delay have generated much interest [1, 5, 6, 9, 10, 11, 13–15]. Zaruba and Gupta [15] simplify the analysis of the discovery protocol by assuming that none of the trains—A or B—is repeated before a train switch. In other words, an A-train is immediately followed by a B-train, followed by an A-train and so on. They do not repeat a train for 256 times before switching, as it has been specified. Jiang, Lin and Tseng [5] model the elapsed time from the instant a slave starts inquiry scan to the instant it suc- cessfully receives an ID packet from the master. It is assumed that there is a master device performing the inquiry procedure. Thus, the focus of their work is on the average time to receive an ID packet by a slave. They propose three techniques to improve this delay, namely, (i) halve the Tinquiry and Tw inquiry intervals, (ii) use a dual Inquiry Scan scheme, and (iii) use a combination of both. In the dual Inquiry Scan scheme, for every Tinquiryscan period, the slave performs inquiry scan on two frequencies each for a duration of Tw inquiryscan . However, to be pre- cise, device discovery time needs to be measured from the viewpoint of a master. That is, it is more useful to find out how much time it takes a master to discover a slave, assuming that the slave is performing the inquiry scan procedure no later than when the master initiates its inquiry protocol.

Connection establishment between two mutually unknown devices takes 5.76 s in a typical case and as long as 23 s in the worst case [1, 4]. Thus, for Bluetooth tech- nology to be useful in a mobile environment, where two devices may not stay within each other’s radio range for long, there is a need to speed up the discovery time. Welsh, Murphy and Frantz [13] proposed three possible changes to the Bluetooth specification in order to reduce the discovery time. Their proposals are: (i) eliminate or decrease the random backoff delay in the Inquiry Scan protocol, (ii) use a single frequency train instead of two—A and B—in the Inquiry protocol, and (iii) combine the first two approa- ches. The reader may note that the second proposal above is the same as the proposal made by Zaruba and Gupta [15] in their analysis of the discovery protocol. Inquiry scanner T x Rx Rx Rx Rx Rx Rx T x T x (a) Inquirer time slot one packet FHS random backoff transmit timeslot receive timeslot Inquirer Inquiry scanner ∆ Α+ Β+ Α+ 4096 slots 4096 slots 4096 slots 0 f f f f 1 2 3 4 t .

f . 2048 slots 2048 slots (b) Fig. 6 State transition for device discovery: timing diagram Wireless Netw 123

Woodings, et al. [14] proposed to bypass the uncertainty in device discovery by using a direct IrDA channel between devices that could potentially establish a con- nection between them. A master device obtains the details, such as device address and native clock values, of a slave via a connection over an IrDA channel. Once the master obtains the details of the slave, it initiates the paging protocol. Salonidis, Bhagwat and Tassiulas [10] have shown that device discovery time can be reduced by having devices alternate between two roles, namely, a discoverer and one willing to be discovered. In other words, a device alter- natingly runs the Inquiry protocol and the Inquiry Scan protocol. For better effectiveness of this scheme, a device executes those protocols for random durations, rather than follow a periodic scheme.

4 Analysis of discovery time In this section, we will present an analytical model of discovery time as depicted in Fig. 5. The different com- ponents of this time can be found on the slave side in Fig. 5. Discovery time has four components as explained below. TID1: This is the average time taken by a slave to receive the first ID. This time is measured from the instant the master starts transmitting ID packets to the instant when a slave receives an ID. Tb: This is the average of the random backoff time after the slave receives the first ID packet.

TID2: This is the average time taken by the slave to receive a second ID. This time is measured from the instant the slave comes out of its random backoff to the instant when it receives an ID. 1-slot: This is the 1-slot wait by the slave between receiving a second ID and transmitting an FHS packet. We will ignore this 1-slot component from further consideration. Therefore, discovery time, denoted by T , is expressed as follows: T ¼ TID1 þ Tb þ TID2: ð1Þ The Bluetooth specification states that a random backoff interval be uniformly chosen from the range [0, 1023] slots. Thus, the average value of Tb is 512 slots. There is a similarity between TID1 and TID2. Both these intervals are associated with the same condition. For TID1 we have assumed that a slave enters its Inquiry Scan state no later than the master entering the Inquiry state. Essentially, this assumption implies that by the time the master starts transmitting ID packets, a slave has already begun, or just begins, scanning the medium to receive an ID packet. The reader may observe that the same condition holds when a slave returns from its STANDBY state to the Inquiry Scan state at the end of its random backoff as depicted in Fig. 4 and 5. This is because the master continues transmitting ID packets in its transmit slots, without knowing a state change in a slave. The slave starts scanning the medium for an ID packet as soon as it returns to Inquiry Scan. We measure TID2 from the instant a slave enters Inquiry Scan for a second time to when it receives a second ID. Thus, TID1 and TID2 can be computed in the same way. Consequently, we can rewrite Eq. 1 as, T ¼ 2  TID þ Tb; ð2Þ where TID = TID1 = TID2 represents the average time taken by a slave to receive an ID packet from the instant the master is transmitting ID packets and the slave is scanning the medium. Thus, to give an expression for T , we need to compute TID.

Next, we discuss how the value of k (phase difference, as defined in Sect. 2) affects the discovery time, and how k plays an important role in determining the delay. Let F ¼ A [ B be the set of 32 frequencies used in the discovery protocol. The members of F are denoted by fi, where 1 B i B 31. A slave scans the medium on the same frequency, say fi, for 2048 slots. Since a slave scans the medium on the same frequency for 2048 slots and the length of each of A? and B? is 4096 slots, the possible range of phase difference is [0, 2046] slots, i.e., 0 B k B 2046. Moreover, we con- sider only the even values of k in the range [0, 2046]. This is because the master transmits ID packets in its Tx slots, which are followed by the Rx slots to receive an FHS packet.

To show the impact of the value of k on discovery time, we first consider values of k between 0 and 16. If k = 0, as shown in Fig. 7(a), a slave scans the medium on two dif- ferent frequencies during the period when the master transmits ID packets using A? frequencies. Then the slave would not be able to receive ID packets if f0, f1 62 A: On the other hand, if k [ 0, a slave scans the medium on three different frequencies during the period when the master transmits ID packets using A? frequen- cies. This is evident from Figs. 8 and 9. Consequently, the probability of a slave being able to receive an ID packet is higher. We identify another important value of k, namely, k = 16, as follows. Suppose that there is no match during f0 and f1, because both f0 and f1 62 A . When the scan fre- quency changes to f2, as shown in Fig. 9, and if f2 [ A, there will be an immediate match within the 16 consecutive time slots.

On the other hand, if f2 62 A , subsequently there will be a definite match of f2 with a B train frequency as f2 [ A [ B. When 0 B k B 14, the probability of such a match Wireless Netw 123

during the f2 scanning frequency becomes less and less as k takes smaller values in the range [2, 14]. A similar argu- ment can be used to show that the two ranges of k, namely [2, 14] and [2034, 2046], lead to similar discovery times. Therefore, to compute TID, we need to consider four dis- tinct ranges of k as follows: (i) k = 0 (ii) 2 B k B 14 (iii) 16 B k B 2032 (iv) 2034 B k B 2046 As noted above, cases (ii) and (iv) lead to similar delay behavior. In the following, we give a model of TID for each of the three cases. It may be noted that this delay behavior is for one master and one slave. When the number of potential slave devices is increased, the delay would be longer due to collision of FHS packets. Due to the condi- tional dependence of the delay on k, and because the values of k for individual slaves are independent variables, deriving an analytical model for multiple slaves becomes difficult. However, we have obatined simulation results for more than one slaves in Sect. 5.

4.1 Discovery time for k = 0 Computation of TID for k = 0 has been explained using a tree structure in Fig. 7. The scan frequencies f0, f1,…, f31 at the Inquiry Scanner is a permutation of all the 32 (a) (b) Fig. 7 Detailed computation of discovery time for k = 0 Wireless Netw 123

frequencies in the set F. We give an estimation of TID using the tree structure showing possible delays and their corre- sponding probabilities, as shown in Fig. 7(b). If f0 [ A, for which the probability is 16/32, the delay lies between 0.5 and 15 slots with equal probabilities. Thus, the average delay is about 7.5 slots. The probability of the event f0 [ A and the corresponding delay have been shown on the left branch from the root. If f0 62 A; no ID will be received for at least 2048 time slots before the frequency changes to f1. Estimation of the delay will depend on the next frequency f1. Thus, on the right branch of the root we record the probability of f0 [ B (same as f0 62 A) as 16/32, and the delay is denoted as d0. If f1 [ A, for which the probability is 16/31, an ID will be received due to a matching scanning frequency, and the corresponding delay will be 1 9 2048 ? 7.5. This probability and the delay have been shown in the second row, left box. A similar case may happen with f2, f3,… If a match occurs on fi, the corresponding delay will be i 9 2048 ? 7.5, and these have been shown in the left branch boxes.

On the other hand, if f1 [ B, the Inquiry Scanner will not receive an ID packet until f1 changes to f2. The probability of f1 [ B is 15/31, and the estimation of the delay will depend upon the next frequency f2. Thus, in the second row right-hand box we record the probability of f1 [ B as 15/31, and the delay as d1. All the possible situations of receiving or not receiving an ID packet have been shown with their probabilities and delays in the boxes in Fig. 7(b). On the right-hand side box at level 31, the probability of f31 [ A is 1.0 and the delay is denoted by g.

(a) (b) Fig. 8 Delay analysis when k takes a value in the closed range [2, 14] Wireless Netw 123

An expression for TID for k = 0, denoted by TID, k=0, can be obtained by combining the probabilities and delays recorded in the boxes in Fig. 7. Thus, we have the fol- lowing expressions. TID;ðk¼0Þ ¼ 16 32  7:5 þ 16 32  d0 d0 ¼ 16 31  ð2048 þ 7:5Þ þ 15 31  d1 d1 ¼ 14 30  ð2  2048 þ 7:5Þ þ 16 30  d2 d2 . where the general expression for di is, di ¼ 16  bði þ 3Þ=4c  2 ð32  iÞ  ðði þ 1Þ  2048 þ 7:5Þ þ ð32  iÞ  ð16  bði þ 3Þ=4c  2Þ ð32  iÞ  diþ1; where 0  i  30 and d31 ¼ g: One may note that the estimated value of g is TID,k=0, but the probability of occurrence of the event is negligibly small. TID,k=0 is computed by successive approximation. Initially, we set g = 0 and successively modify g with the value of TID,k=0 obtained from the previous iteration. TID,k=0 stabilized after two iterations. 4.2 Average delay when 2 B k B 14 The frequency matching scenario between a master running the Inquiry protocol and a potential slave run- ning the Inquiry Scan protocol when k takes a value in the closed range [2, 14] has been described in Fig. 8. The scanning frequencies have been denoted by fi, 0 B i B 31. The tree structure shown in Fig. 8(b) is obtained using an argument similar to the one used to construct the tree shown in Fig. 7(b). However, there is a differ- ence in Fig. 7(b) and Fig. 8(b). For example, in the tree shown in Fig. 7(b), each node has at most two child (a) (b) Fig. 9 The delay for the case when 16 B k B 2032 Wireless Netw 123

nodes, whereas it is at most three in Fig. 8(b). This is due to the fact that when i is even in fi, the span of fi covers both A-train and B-train of frequencies—A-train partially and B-train completely. Following the argument in Sect. 4.1, it is easy to see how the boxes (i.e. nodes), shown in level 0 and level 1, can be obtained. Here, level i means boxes terminated on a branch of fi [ A or fi [ B. For example, the probability of f0 [ A is 16/ 32 and the delay is approximately 7.5 slots. We represent this information in the left node of level 0. On the other hand, the probability of f0 [ B is 16/32, and the delay, denoted by d0 in Fig. 8, depends on the subsequent scanning frequencies. The value of d0 is computed using the part of the tree rooted at the right node of level 0. With a similar argument the probabilities of events at level 1 are obtained.

However, the situation is different at level 2, where there are three distinct possibilities. This time, the scan- ner’s tuning frequency f2 overlaps with the A? train for k slots and with the B? train for 2048 - k slots. Thus, the probability of f2 [ B is 14/30, and the corresponding delay is 2 9 2048 - k ? k ? 7.5 =2 9 2048 ? 7.5 slots. The probability of f2 [ A is 16/30. The probability of a fre- quency match between the Inquirer and an Inquiry Scanner with f2 [ A is (16/30) 9 (k/16) and the corre- sponding delay is 2 9 2048 - k ? k/2. On the other hand, the probability of no frequency match between the Inquirer and an Inquiry Scanner with f2 [ A is (16/ 30) 9 ((16-k)/16) and the corresponding delay d2 depends on the subtree rooted at this node. These three different situations have been represented by three nodes at level 2 of Fig. 8(b).

Using a similar argument, we can complete the tree shown in Fig. 8(b), and an expression for TID for 2 B k B 14 is given below. TID;ð2k14Þ ¼ 16 32 7:5þ 16 32 d0 d0 ¼ 16 31 ð2048kþ7:5Þþ 15 31 d1 d1 ¼ 14 30 ð22048þ7:5Þ þ 16 30    k 16    22048 k 2   þ 16 30  ð16kÞ 16 d2 d2 ¼ 14 29   ð32048kþ7:5Þþ 15 29   d3 d3 . . where the general expression for di is, di ¼ 16  i 31  i    ði þ 1Þ  2048  k þ 7:5 ð Þ þ 1  16  i 31  i    diþ1; where i ¼ 0 or i is even: di ¼ 15  i 31  i    ði þ 1Þ  2048 þ 7:5 ð Þ þ 1  15  i 31  i    k 16    ði þ 1Þ  2048  k 2   þ 1  15  i 31  i    16  k 16    diþ1; where i is odd: The average delay depends on the value of k, and it decreases as k increases.

4.3 Average delay when 16 B k B 2032 The frequency matching scenario in the case of 16 B k B 2032 has been shown in Fig. 9. The tree showing the probabilities of frequency matching and delay computation is obtained using an argument similar to the one in Sect. 4.1. In this case, there will be a definite match by the time a potential slave scans on f2. This is because by the time the slave completes scanning the medium on frequency f2 for at most (k ? 16) slots, it will have covered all the A- train and B-train of frequencies transmitted by the Inquirer. Thus, the delay TID is given by the following expression.

TID;ð16  k  2032Þ ¼ 16 32  7:5 þ 16 32  16 31  ð2048  k þ 7:5Þ þ 15 31   14 30  ð2  2048 þ 7:5Þ þ 16 30   ð2  2048  k þ 7:5Þ  The average value thus depends on k, and when averaged over all k between 2032 to 16, it is 1142 time- slots. 4.4 Average delay when 2034 B k B 2046 The frequency matching scenario when 2034 B k B 2046 is similar to the scenario for 2 B k B 14 as shown in Fig. 10. Here, k0 = 2048 - k takes values from 14 to 2. A0 is the set of first k0 frequencies of the A-train. The branches show the conditions, and the boxes give the probabilities and corresponding delays. The expression for TID for 2034 B k B 2046 is given below.

Wireless Netw 123

TID;ð2034  k  2046Þ ¼ k0 32  k0 2 þ 32  k0 32    d0 d0 ¼ 16 31  ðk0 þ 7:5Þ þ 15 31  d1 d1 ¼ 16 30  ð2048 þ k0 þ 7:5Þ þ 14 30    k0 16    2  2048 þ k0 2   þ 14 30    16  k0 16    d2 d2 ¼ 13 29  ð2  2048 þ k0 þ 7:5Þ þ 16 29  d3 d3 . ; where the general expression for di is, di ¼ 16i1:5 31i ði2048þk0 þ7:5Þ þ 1 16i1:5 31i   diþ1; wherei¼0oriis even: di ¼ 17i 31i   ði2048þk0 þ7:5Þ þ 1 17i 31i    k0 17i    ðiþ1Þ2048þ k0 2   þ 1 17i 31i    1 k0 17i   diþ1; where i is odd: 4.5 An expression for TID Now we obtain an expression for TID by combining the expressions for TID, (k=0), TID, (2 B k B 14), TID, (16 B k B 2032) and TID, (2034 B k B 2046). The expression for TID is, (a) (b) Fig. 10 Delay analysis when k takes a value in the closed range [2034, 2046] Wireless Netw 123

TID ¼ 1 1024 TID;ðk¼0Þ þ X 14 k¼2 TID;ð2  k  14Þ þ X 2032 k¼16 TID;ð16  k  2032Þ þ X 2046 k¼2034 TID;ð2034  k  2046Þ: ! ð3Þ To get an expression for the discovery time, as given in Eq. 1, we need to substitute TID obtained from Eq. 3. As the constituent terms of the above Eq. 3 are in recursive form, we calculated the value of TID using numerical method. 5 Simulation result We have developed a Bluetooth simulator to study the performance of the device discovery protocol. We imple- mented the frequency hopping kernel box specified in Chapter 11 of the Bluetooth specification [12]. In Sect. 4, we obtained an analytical model of discovery time by considering the phase difference in four distinct blocks, namely, k = 0, 2 B k B 14, 16 B k B 2032, and 2034 B k B 2046.

To verify that discovery time can be studied in terms of those four blocks of k values, we performed 31000 distinct experiments. The idea behind performing 31000 experi- ments is this: There are 1024 distinct values of k, and we wanted each value of k to appear for an average of 30 times. In the discovery protocol, the phase value depends upon the native clocks of the two devices taking part in the discovery process. We observed that each k value appears between 10 and 70 instances in the total number of experiments. In the 31000 experiments, we had two devi- ces—one master and one slave.

For each of the four blocks of k values, we compute their average discovery time and the result has been shown in Fig. 11. As analyzed in Sect. 4, the average delays in the four blocks of k values, namely, k = 0, 2 B k B 14, 16 B k B 2032 and 2034 B k B 2046, are very distinct. The distribution of delay is uniform within each of the four blocks, but it varies from block to block as predicted in Sect. 4. We wanted to compare the analytical model of discov- ery time with data obtained from simulation studies. Using the expression for TID given in Eq. 3, we computed TID to be 1169 slots. When the random backoff range is [0, 1023], the average value of random backoff is 512 slots. Thus, the average discovery time, when there is just one inquiry scanner, is computed to be T ¼ 2  1169 þ 512 ¼ 2850 slots. The average device discovery time obtained from simulations is compared with the theoretical value in Fig. 12. Their small difference is due to non-uniform dis- tribution of experiments with different k-values. We also show the distribution of discovery time in Fig. 12 by sorting the experiments on the basis of their delays. Fig- ure 12 shows that there is a probability of almost 0.5 that device discovery can be much higher than the average value.

We observed in Sect. 4 that discovery delay is a func- tion of k. Moreover, the delay distribution is in the form of a recursive function, and not in close form. Using the same line of approach, and aiming similar accuracy, it is not possible to deal the case for multiple slaves. Two different sets of experiments were performed with one master and multiple slaves as explained below. 1. There is one master, the maximum backoff limit is fixed, and the number of potential slaves is varied. In this experiment we measure the average total time taken to discover all the known potential slaves. This allows us to observe the effect of collision of FHS packets on discovery time. We show the result of the experiments in Fig. 13. Each data point in Fig. 13 has been obtained from 1000 independent experiments. By independent experiments we mean an experiment −500 0 500 1000 1500 2000 2500 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Regions of phase values Average discovery delay in each region (in slots) Fig. 11 The impact of phase difference on discovery time 0 0.5 1 1.5 2 2.5 3 3.5 x 104 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Individual experiments (sorted according to delay) Discovery delay in individual experiments (in slots) Theoretical average delay Simulated average delay Fig. 12 Distribution of discovery time Wireless Netw 123

begins with a new set of values of the device addresses and their native clocks. In real applications, a user may have to discover all the devices before selecting one to activate the desired service. Thus, knowing the distri- bution of the average total time to discover multiple devices is useful. 2. There is one master, the number of potential slaves is fixed, and the maximum backoff limit is varied. This experiment allows us to observe the effect of backoff time on device discovery. The idea of backoff has been introduced to reduce the probability of collision of FHS packets from two or more devices. However, backoff time adds to the discovery delay. Some researchers [13] have proposed to keep it smaller, or even eliminate the idea of backoff. Thus, it is interesting to know to what extent backoff time can be reduced. In Fig. 14 we show how discovery time varies when the backoff limit is increased. If the number of potential slave devices is very small, say 3– 4, it is possible to make the backoff limit very small, say 100 slots. However, for a large number of potential slaves, a small backoff limit cannot prevent collision of FHS packets. There is a threshold backoff time below which the average delay is very long. Thus, the backoff limit needs to be more than the threshold as shown in Fig. 14. Even for a large number of devices, say 50, a backoff limit of 300 slots is a good choice. 6 Improvement of discovery time In order to reduce discovery time, there has been a proposal to avoid the 256-time repetitions of the individual trains [13, 15]. The proposal suggests to use the sequence ABAB…, instead of the sequence A? B?

A? B? …. How- ever, the impact of the proposal on discovery time has not been studied in detail. To observe how the proposal affects discovery time, we further investigated the delay behavior through simulations, and the results are shown in Figs. 15 and 16. In Fig. 15, we show how discovery time varies with increasing number of potential slaves for the two cases of inquiry sequence, namely, A? B? A? B? … and ABAB…, for different fixed values of the backoff limit. In Fig. 16 we show how discovery time varies with increasing backoff limit for the two cases of inquiry sequences, namely, A?

B? A? B? … and ABAB…, for different num- ber of potential slaves. Figures 15 and 16 clearly demonstrate that it is more effective to apply the sequence ABAB… instead of A? B? A? B? …. 2 4 6 8 10 12 14 16 2000 2500 3000 3500 4000 4500 5000 5500 Number of Bluetooth enabled devices in a cluster Average total delay in device discovery (in slots) −o−: Backoff limit = 1023 slots −x−: Backoff limit = 767 slots −+−: Backoff limit = 511 slots __: Backoff limit = 255 slots Fig. 13 Average total delay in device discovery as a function of total number of devices (one device is a master and the rest are potential slaves) 0 200 400 600 800 1000 1200 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 x 104 Backoff limit in slots Average total delay in device discovery (in slots) −o−: Number of devices = 5 −+−: Number of devices = 15 −x−: Number of devices = 25 −*−: Numer of devices = 50 Fig. 14 Average total delay in device discovery as a function of backoff limit 2 4 6 8 10 12 14 16 1000 2000 3000 4000 5000 6000 Upper set of 4 curves: A and B trains are repeated for 256 times each. −o−: Backoff limit = 1023 slots −x−: Backoff limit = 767 slots −+−: Backoff limit = 511 slots −*−: Backoff limit = 255 slots Lower set of 4 curves: A and B trains are repeated for 1 time each. Number of Bluetooth enabled devices in a cluster Average total delay in device discovery (in slots) Fig. 15 Average total delay in device discovery as a function of total number of devices (one device is a master and the rest are potential slaves) Wireless Netw 123

There is another proposal to improve discovery time by eliminating or reducing the random backoff time. How- ever, it is clear from Fig. 14 and Fig. 16 that it is not a good idea to completely eliminate random backoff. Instead, a small backoff limit of 250–300 slots can be used even for an environment with a large number (say, 50) of potential slaves. 7 Discussion and conclusion In this paper, we analyzed Bluetooth device discovery time and compared it with simulation results. We performed a large number of experiments to obtain insights into the distribution of discovery time. We observed that discovery time suffers from high variance. It can be as low as few slots to as high as thousands of slots. By performing additional simulations we observed how the total discovery time varies with the number of potential slaves when the backoff limit is constant. We also observed how the total discovery time varies with the backoff limit when the number of potential slaves is constant. With a very small value of backoff limit, discovery time can be too long, if there are more than 10 potential slaves in the same area. By performing additional simulations we observed the effec- tiveness of two proposed improvements to device discovery. Specifically, it is useful to avoid repetitions of A and B trains before a train switch. On the other hand, complete elimination of the concept of random backoff is not a good idea because discovery time will be too long. As a recommendation, choosing a small backoff limit of 250– 300 slots is highly effective in reducing discovery time even if there is a large number (say, 50) of potential slaves in the same region.

Acknowledgements This work was partially supported by the Ministry of Education, Culture, Sports, Science and Technology, Grants-in-Aid for Scientific Research, 20500071 and 19200005 and Ministry of Internal Affairs and Communications in Japan, SCOPE project(071502003). References 1. Busboom, A., Herwono, I., Schuba, M., & Zavagli, G. (2002). Unambiguous device identification and fast connection setup in Bluetooth. In Proceedings of European Wireless 2002, Florence, Italy. 2. Chakraborty, G., Naik, K., Chakraborty, D., Shiratori, N., & Wei, D. (2004). Delay analysis and improvement of the device dis- covery protocol in Bluetooth. In IEEE Vehicular Technology Conference, Fall 2004, Los Angeles, USA.

3. Conti, A., Dardari, D., Pasolini, G., & Andrisano, O. (2003). Bluetooth and ieee 802.11b coexistence: Analytical performance evaluation in fading channels. IEEE Journal on Selected Areas in Communications, 21(2), 259–269. 4. Haartsen, J. (1998). The universal radio interface for ad hoc, wireless connectivity. Ericsson Review, 3, 110–117. 5. Jiang, J.-R., Lin, B.-R., & Tseng, Y.-C. (2004). Analysis of Bluetooth device discovery and some speedup mechanisms. Journal of the Institute of Electrical Engineering, 11(4), 301–310. 6. Kim, C., Ma, J., & Lee, J. (2001). A random inquiry procedure using Bluetooth. In Proceedings of International Conference on Communications and Computing, Las Vegas.

7. Liu, Y., Lee, M. J., & Saadawi, T. N. (2003). A Bluetooth scatternet-route structure for multihop ad hoc networks. IEEE Journal on Selected Areas in Communications, 21(2), 229–239. 8. Misic, J., & Misic, V. B. (2003). Bridges of Bluetooth county: Topologies, scheduling and performance. IEEE Journal on Selected Areas in Communications, 21(2), 240–258. 9. Murphy, P., Welsh, E., & Frantz, J. P. (2002). Using Bluetooth for short-term ad hoc connections between moving vehicles: A feasibility study. In Proceedings of IEEE Vehicular Technology Conference, Spring 2002, pp. 414–418.

10. Salonidis, T., Bhagwat, P., & Tassiulas, L. (2000). Proximity awareness and fast connection establishment in Bluetooth. In Proc. of Mobile and Ad Hoc Networking and Computing (Mo- biHoc), Boston, pp. 141–146. 11. Siegemund, F., & Rohs, M. (2002). Rendezvous layer protocols for Bluetooth-enabled smart devices. In Proceedings of Interna- tional Conference on Architectures of Computing Systems, Karlsruhe, Germany, pp. 256–273. 12. The Bluetooth Special Interest Group. Baseband specification version 1.1.http://www.bluetooth.com, 2001.

13. Welsh, E., Murphy, P., & Frantz, J. P. (2002). Improving con- nection times for Bluetooth devices in mobile environment. In Proceedings of International Conference on Fundamentals of Electronics, Communications, and Computer Science. 14. Woodings, R., & Joos, D., Clifton, T., & Knutson, C. D. (2002). Rendezvous layer protocols for Bluetooth-enabled smart devices. In Proceedings of 3rd Annual Wireless Communication and Networking Conference (WCNC), pp. 342–349. 15. Zaruba, G.V., & Gupta, V. (2004). Simplified Bluetooth device discovery—analysis and simulation. In Proceedings of the 37th Hawaii International Conference on System Sciences, 2004. 0 200 400 600 800 1000 1200 0.5 1 1.5 2 2.5 3 x 104 Backoff limit in slots Average total delay in device discovery (in slots) −o−: Number of devices = 5 −+−: Number of devices = 15 −x−: Number of devices = 25 −*−: Numer of devices = 50 Upper set of 4 curves: A and B trains are repeated for 256 times each. Lower set of 4 curves: A and B trains are repeated for 1 time each. Fig. 16 Average total delay in device discovery as a function of backoff limit Wireless Netw 123

Author Biographies Goutam Chakraborty received his Ph.D. in 1993 from Tohoku University, Japan. Presently he is Professor and head of the Intel- ligent Informatics Laboratory, Department of Software and Information Science, Iwate Pre- fectural University, Japan. His main research interests are Soft computing algorithms to solve pattern recognition, prediction, scheduling and optimization problems, and problems in wired and wireless networks. Sagar Naik received the B.S. and M.Tech. degrees from Sambalpur University, Sambal- pur, India and the Indian Institute of Technology, Khar- agpur, respectively, the M.Math. degree in Computer Science from the University of Waterloo, Waterloo, Canada and the Ph.D. degree in Electrical and Com- puter Engineering from Concordia University, Montreal, QC, Canada. He was a faculty member with the University of Aizu, Aizu, Japan, and Carleton University, Ottawa, ON, Canada. At present he is an Associate Pro- fessor in the Department of Electrical and Computer Engineering, University of Waterloo. His research interest are in the areas of testing communication protocols, smart antenna-based MAC protocols for wireless LAN and optical networks, mobile computing, data access in wireless networks, power-conscious software systems for portable devices and coexistence of 802.11 and Bluetooth technologies. Debasish Chakraborty re- ceived his doctoral degree from the Graduate School of Infor- mation Science, Tohoku University, Japan in 1999. Pre- viously he was a Telecommu- nication Advancement (TAO) research fellow and a National Institute of Information and Communication Technology (NiCT) foreign researcher at Tohoku Research Center. Now he is working as a visiting Associate Professor in Research Institute of Electrical Commu- nication, Tohoku University. His main research interests are multicast routing algorithm, QoS, Internet traffic analysis, and wireless and ad hoc networking.

Norio Shiratori received his doctoral degree from Tohoku University, Japan in 1977. Pres- ently he is a professor and vice director of Research Institute of Electrical Communication, Tohoku University. He has been engaged in research related to symbiotic computing paradigms between human and Information Technology. He was the reci- pient of IPSJ Memorial Prize Wining paper award in 1985, Telecommunication Advance- ment Foundation Incorporation award in 1991, best paper award of ICOIN-9 in 1994, IPSJ best paper award in 1997, and many others. He is a fellow of IEEE, IPSJ and IEICE.

David Wei received his Ph.D. degree in Computer and Infor- mation Science from the University of Pennsylvania in 1991. He is currently Professor of Computer and Information Science at Fordham University, Bronx, NY. From May 1993 to August 1997, he was on the Faculty of the School of Com- puter Science and Engineering, University of Aizu, Japan, as an Associate Professor and the a Professor. He has authored and co-authored more than 60 technical papers in the areas of distributed and parallel processing, wireless networks and mobile computing, and optical networks in various archival journals and conference pro- ceedings. He is a lead guest editor of IEEE Journal on Selected Areas in Communications for the special issue on Mobile Computing and Networking. Currently, Dr. Wei focuses his research effort on mobile computing and wireless networks.

Wireless Netw 123