ASAP : A MAC Protocol for Dense and Time Constrained RFID Systems

In this paper, we introduce a novel medium access control (MAC) protocol for Radio Frequency Identification (RFID) systems which exploits the statistical information collected at the reader. The protocol, termed Adaptive Slotted ALOHA Protocol (ASAP), is motivated by the need to significantly improve the total read time performance of the currently suggested MAC protocols for RFID systems. In order to accomplish this task, ASAP estimates the dynamic tag population and adapts the frame size in the subsequent round. We demonstrate that ASAP provides significant improvement in total read time performance over the current RFID MAC protocols. We extend the design to mobile RFID systems where tags move at constant velocity in the reader's field, and show that ASAP performs well in mobile scenarios as well.


I. INTRODUCTION
Radio Frequency Identification (RFID) systems provide an efficient and inexpensive mechanism for automatically collecting the identity information of an object [1], [2]. In these systems, tags with unique identity communicate with an RFID reader over a wireless multi-access channel [3], [4]. Recently, There has been an intense effort towards the development of RFID systems for their many promising applications from providing security to factory automation to supermarket checkouts [5], [6]. All of these envisioned applications call for a need to deploy a large number of tags in small geographical areas and have the tags autonomously communicate with the reader(s). As such, RFID systems of the near future will be dense wireless ad hoc networks with limited radio resources that will have to be shared by the tags via contention based methods. Further, these systems will be considered operational when most or all of the tags in a reader field are successfully identified in a short amount of time.
In such a network setting, the design of an efficient MAC protocol is of paramount importance. The performance degrading impact of excessive collisions in random multicaccess communications is well known [7]. Indeed, tag collisions, which occur when multiple tags simultaneously transmit information in the same channel severely limit the performance * This research is supported in part by Techcollaborative Round 11 project "Design of Efficient RFID Systems" of RFID systems. In this paper, we will focus on alleviating this limitation via intelligent MAC design.
In recent years, many attempts have been made to confront the tag-collision problem. The methods suggested for RFID systems up to date can be classified into two categories: variants of ALOHA that rely on randomizing the access times of tags to reduce collisions; and tree search methods that aim to avoid collisions and identify one tag at a time. STAC, based on slotted ALOHA, has been proposed in [3] for Class 1 RFID systems. Binary tree search has been proposed for Class 0 RFID systems [4]. As neither of the methods provide acceptable performance for dense networks, several modifications have been suggested up to date that provide limited performance improvement over their originally proposed counterparts [3], [4], [8], [9].
In this paper, we propose a novel MAC protocol for RFID systems employing a large number of passive tags. The underlying motivation is to design a MAC protocol that is compatible with the suggested standard in [3], and obtain substantial improvement in read-time performance. Thus, the Adaptive Slotted ALOHA Protocol (ASAP) is based on framed Slotted-ALOHA [10], and it utilizes the statistical information related to the tag population inherently collected at the reader in each round (frame) in order to adaptively adjust the frame size in the subsequent round. This strategy aims at reducing the probability of tag collisions while simultaneously expediting the identification of RFID tags.
The design of the proposed protocol is motivated by the fact that variants of slotted ALOHA with a fixed frame size, such as STAC [3], typically do not perform well in a dense and/or dynamic scenario. Specifically, the presence of a large number of tags results in excessive collisions, while very few tags may lead to under-utilization of the channel, both resulting in extended average tag identification time and low throughput for the RFID system. The problem is even more pronounced in mobile set-ups, where the number of tags may vary rapidly with time. On the other hand, if the reader can adapt the frame size based on the tag population, this performance limitation can be alleviated to a large extent.
The design of ASAP entails an ML-based estimation algo- rithm for the number of tags to be identified with the frame size decision algorithm designed to optimize an efficiency function defined in the sequel. We also extend the design of ASAP to handle mobile RFID systems (m-ASAP) where tags move in the reader's field. We demonstrate that both ASAP and m-ASAP have impressive performance in terms of total read time in dense RFID systems.

II. SYSTEM MODEL AND MECHANICS OF ASAP
We consider the collision limited 1 900MHz UHF RFID system where large number of passive tags try to communicate with one reader over a shared channel. Each passive tag transmits a data packet consisting of 64 bit EPC and 16 bit CRC with a symbol duration of 4µs [4], [12]. Tags transmit the data bits by employing FSK using backscatter modulation [4]. The reader transmits a 900 MHz continuous wave to provide the power required to activate the passive tags.
Reader to tag communication is accomplished using '0', '1' and 'Null' data symbols as defined in [4]. The reader uses '0' and '1' to form commands, and 'Nulls' to signify the beginning of a command, the end of a command, and to close the slots within a frame. The reader transmits data in the former portion of the 12.5µs symbol duration [4]. Communications between the reader and the tags takes place in rounds whose structure is shown in Figure 1. This structure is compatible with STAC [3].
To explain the communication between the reader and the tags, consider tag state machine described in Figure 2. Initially, the tags are in an inactive 'unpowered' state and they transition to the 'activated' state, when they "listen" to the 'reset', the 'oscillator calibration signals' and the 'data symbol calibration signals' as defined in [4]. The 'reader command' provides the frame size for the ongoing round. The tags in the 'activated' state collect the frame size information and transition to the 'select and transmit' state. In this state, each tag randomly selects a slot for transmission and transmits its packets.
'Null' signals the completion of a command and the end of every slot in a frame. This facilitates re-synchronization of the tags with the slot boundaries and allows the tags to keep track of the slot number in the current frame. The duration for the detection of an idle slot is 10 data symbols.
Tags go to 'ack wait' state after sending their identification strings. The reader transmits an 'ACK command' at the end of the round. The length of the command varies in proportion to the frame size of the round. The reader transmits '1', if the transmission in the corresponding slot was successful. It 1 The received SNR is shown to be high enough to justify this assumption with passive tags communicating in a short range in [11].  III. ASAP ASAP proposes the optimum frame size for each round after estimating the number of tags present in the reader's field. In this section, we discuss the design of an optimum frame size followed by a tag count estimation algorithm.

A. Design of an optimum frame size
Consider first that the reader has already acquired the knowledge of the tag count. We will explain how the reader obtains the ML estimate of the tag count later in the paper.
Define the duration of an idle slot, T I , and an occupied (successful or unsuccessful) slot, T B . Note that in ASAP, T I = T B since idle slots are closed prematurely. Given these definitions, we consider an efficiency function, p ef f , defined as the ratio of expected time taken by the successful slots to the expected time taken by the idle and the unsuccessful slots, as our performance metric. The motivation behind defining such a metric is that maximizing this function simultaneously increases the time due to successful transmissions, and decreases the time due to idle and unsuccessful transmissions, thus minimizing the waste of resources. We have are the expected number of successful slots, idle slots, and unsuccessful slots, respectively. Given the (estimated) tag count in the reader's field, K, the problem is to devise a frame size, N, that maximizes the efficiency of the round, p ef f . Since each tag independently selects any particular slot with equal probability, the expected number of successful, idle, and unsuccessful slots in a frame Substituting (2)- (3), (1) becomes Generally speaking, N should be a function of K, i.e., N = f (K). In this paper, we consider a class of simple policies and assume that N is linearly related to K, i.e., N = β K and focus on finding the optimum multiplier. In this case, a closed form for the maximizer of p ef f can easily be found for large K. Using the approximation: (4) simplifies to which is strictly pseudo concave. As a result, the local maximum found at β * = 1.943 is also the global maximum for β > 0 [13]. Therefore, we propose that the frame size in each round should be N = β * K = 1.943K.

B. Tag Count Estimation Algorithm
β * was found under the assumption that the reader knows the tag count. In practice, the reader may not have the tag count. Hence, the reader has to estimate this parameter.
In ASAP, the tags respond with their identification strings in their chosen slots once in a round. Functionally, the reader collects tags' transmissions, performs cyclic redundancy checks, acknowledges successful identifications, and in the process, it inherently collects statistics on the total idle slot count (Z I ), the successful slot count (Z S ) and the unsuccessful slot count (Z U ). We propose to utilize this information to estimate the active tag count. In particular, we can use Z I which has the probability mass function (PMF) for Z I [14] is given by The ML estimation problem becomeŝ The likelihood function in (8) can be enumerated for different K values to find its maximum. Note that we rely on Z I and not Z S for the ML estimation simply because the PMF of Z S [9] has local maxima.
In tag count estimation, one obvious concern is the range of K over which the likelihood function needs to be enumerated. We can use K = Z S + 2Z U as the lower bound since we have ruled out the possibility of erroneous receptions in a slot occupied by a single tag as well as the capture effect. In this case, there are at least the number of successful tags plus twice the number of unsuccessful tags, because when there is an unsuccessful slot, at least two tags contend for the slot. We can also use the fact that for a given N and Z I , the likelihood function has a unique maximum and it is a monotonically decreasing function for K >K ML . Thus, the search forK ML is stopped when the likelihood function value begins to decrease, for increasing K.
Even with this reduction in complexity, the two factorials in (7) may render the enumeration of the likelihood function computationally complex for large N and K. An alternative simpler estimator can be obtained by rearranging the expression in equation (2) Our numerical results, a sample set of which is given in Table I, consistently suggest that the average of the tag count estimate for alternative method compares very closely with the average of ML estimator, even for smaller values of N and K. Note that the alternative tag count estimation method does not consider the observations, Z S and Z U . The ML tag estimation algorithm cannot be invoked when Z I = 0. Similarly, the alternative estimation method cannot be used, when Z I = 0 or 1. In such cases, the tag count is adjusted as the lower bound (Z S + 2Z U ). This is the reason behind the relatively large error in the tag count estimate for N = 25 and K = 80. In all other scenarios, the average of the tag count estimate for both methods is very close to the actual tag count.
IV. EXPECTED TOTAL READ TIME In this section, we derive the expressions for the expected total identification time for reading K tags. The reader recursively offers rounds with adaptive frame sizes N j = βK j , where N j is the frame size in the j th round and K j is the unidentified tag count at the beginning of the j th round. Define T j as the expected time duration of the j th round. Then where S j , I j , and U j denote the successful, idle, and unsuccessful slots respectively in the j th round. For large K, equation (10) simplifies to This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE ICC 2006 proceedings.
We define total expected identification time, T as where K j is given by Using (12) and (5), we get which is the total identification time of K 1 = K tags when the reader employs the policy of offering an adaptive frame size of β times the unidentified tags participating in the round. We note that using (5) for derivation of T results in an underestimate of the actual duration of a round for small K because (1 − 1 βK ) K is smaller than e −1/β for small K, thus, this analysis can be considered a pessimistic view of the performance of the proposed policy.

V. m-ASAP
The biggest challenge that the mobile tags introduce is the time-constrained presence in the RFID field. The time the tag will spend in the reader's field clearly depends on the speed and the coverage of the reader. Tag density in the reader's field also affects the performance. In mobile RFID systems, the tag's basic communication mechanism is still the same: a tag enters the field, collects frame size information and repeatedly attempts the transmission of identification string. The difference is that the tag mutes not only when its transmission succeeds but also when it departs from the RFID field, whichever occurs first. In this setup, new tags continuously arrive into the RFID field. Consequently, a substantial tag population is there to schedule the transmissions in every round. We propose mobile (m)-ASAP for such RFID system setups and we focus on designs that improves the percentage of identified tag in the backdrop of the restricted time-presence of RFID tags. We design the initial tag count, the tag arrival rate and the tag departure rate in a mobile RFID system, such that P % tags are identified.
We assume that passive tags arrive into an RFID reader's field on a conveyor belt moving at a constant velocity, V. In stationary RFID system, the reader schedules the transmission of the 'reset' and 'oscillator calibration signal' cycle in the beginning of an identification process to energize and synchronize the tag's IC chip. In the mobile setting however, new tags arrive in the middle of an identification process and hence we need additional intermediate 'oscillator calibration signal' cycle to provide the synchronization information. Therefore, we propose that in m-ASAP, the reader schedules 'oscillator calibration signal' cycle of duration T cal before the beginning of every new round as shown in Figure 3. The combination of the 'oscillator calibration signal' cycle, followed by a 'Null' and a 'round' is defined as the extended round of duration T.
The system model for m-ASAP is shown in Figure 4. We denote the maximum operating range of the reader as d max  and the vertical distance between the reader and the conveyor belt as h. We denote the total time spent by each tag in the RFID field as t = t e + t f . Here, t e is the time during which new arriving tags energize and collect synchronization information and t f is the time during which the tags schedule the transmission of their packets i.e., EPC and CRC. We choose t e = T + T cal as it ensures that new tags receive at least one 'calibration cycle' after collecting sufficient power while they transit the distance d e . Accordingly, we compute t f as The new tags enter the zone d f when the reader broadcasts an intermediate 'reader command' and this instance also marks the beginning of each tag's infield timer. We denote the tags that enter the reader field at the stroke of the i th 'reader command', or equivalently at the beginning of the round i as group, G i tags. Therefore, the timer t f for a group of tags arriving together in the reader field will expire at the same time.
We define the tag arrival rate as ψ. Since the tags are moving within the reader's field at a constant velocity, the tag arrival rate is equal to the tag departure rate. Other assumptions in the system model remain the same as before. In the mobile scenario, we design the MAC such that P % percentage of tags are identified. This will be accomplished by offering a sufficient number of rounds within time t f for tags arriving in each group such that the desired percentage of the tags from each group are identified.
Assume that G 1 tags arrive into the reader's field at the beginning of the first round. By design, ASAP will dictate that the reader offers a frame size of N = βG 1 to optimize the efficiency of the first round. Recall that in this case, the expected time of a round is given by (11). Thus, in m-ASAP we have where T overhead = T Cal + T Null + T RC + T Ack = 403.5µs.
The key in m-ASAP is to keep an approximately constant number of tags in each round (G 1 ) leading to a duration of T per round. This in turn dictates an arrival rate ψ that can guarantee P % tag identification. The desired arrival rate can be found as follows. For large values of G 1 and N , the expected number of successful tags is given by We thus require the number of new tags that arrive in the second round as G 2 = G 1 e −1/β . When ψ is the tag arrival rate, then the expected value of new tags in the round will be given by ψT . Therefore, ψ must satisfy ψT = G 1 e −1/β : In order to find G 1 , we take advantage of equation (13), which gives us the percentage of unidentified tags left when the reader recursively offers n rounds of appropriate frame sizes in ASAP. Recall that Equivalently, the percentage of tags that remain at the beginning of the n th round is Kn K1 100 (%). Basically, if the reader offers an appropriate frame size in every round in view of the instantaneous tag population, then for large number of experiments, the total number of offered slots in each round will divide proportionally to the remaining tags of each group. In view of this, we can separate the tags from each group and can perform an independent analysis on each group of tags. Hence, we use equation (18) to find the number of rounds, n r that every group of tags must participate in, such that the individual percentage of tags identified from every group is P % . We obtain n r = (n − 1) from Subsequently, we use n r to compute the acceptable expected round duration as T = t−te nr = t−T cal nr+1 . We substitute T in equation (15) to compute G 1 as: We further substitute the value of G 1 in equation (17) to compute the arrival rate that should be met for the target P % . Note that in this design, the reader attempts to offer an approximately fixed duration frame in every round. However, each tag chooses a slot randomly and independently and we also know that the duration of an idle slot is different from the duration of a busy slot within a frame. Consequently, the deviation in the statistics (Z I , Z S , Z U ) in a given frame has the effect of producing a variable duration round. In view of this discussion, it is possible that the timer of a particular group of tags may expire before they participate in all n r rounds. Hence, we propose that the reader should design for either (n − 1) + 1 rounds, or use a threshold time, t th < t f to compute T and G 1 .

VI. NUMERICAL RESULTS
In this section, we provide the simulation result. The simulation was done by using Matlab. We begin by comparing the performance of the ASAP and the fixed frame size policies where the reader offers the same frame size for every round and without any attempt to estimate the tag density. We also compare the performance of the case where the reader has the exact tag count (termed Ideal ASAP) with the case where the reader has the estimated count.
In Figure 5, the average tag identification time (T Av ) for Ideal ASAP is significantly better than the fixed frame policies for any K and is approximately constant (0.578 ms ≈ identification of approximately 1730 tags/second). In contrast, the fixed frame size policies show the best results when N ≈ 2K 1 . When the frame size offsets by a large value from N ≈ 2K 1 , the T Av increases exponentially. For example, a very high values of T Av was observed when (i) K 1 ≥ 200 with N = 50, and (ii) K 1 ≥ 500 with N = 100. Note that we do not observe the instability problem of ALOHA [15], [7], since the tag count is fixed and it decreases as the successful tags do not transmit in subsequent rounds. Next, we look into the performance of ASAP when the reader proposes an arbitrary frame size in the first round and subsequently, it estimates the tag count to propose the optimal frame size. In these simulations, we used the ML estimator, when both N and Z I < 80, and the alternative estimator, otherwise. In Figure 6, We observe that T Av remains below 0.7 ms for any large K (≈ 1400-1450 tags/second for K> 50), even when the frame size is small in the first round. This choice of frame size, however, impacts the T Av for small tag count significantly, e.g., T Av of 1.3 ms, when K is 10 and N 1 = 150. Figure 7 compares the performance of ASAP with different multipliers. As expected β * = 1.943 performs the best. We observe that the multiplier values close to the optimum value, e.g., 2, perform almost as  For m-ASAP, we performed simulations for P % = 99%. We set V = 5 m/s, h = 1 m and d max = 2m to get t = 692.82 ms. The exit criterion of each iteration is the arrival of a total of 50000 tags in the reader's field. The tags arrive a Poisson distributed with the arrival rate ψ that is determined for one target P % . The simulation results are shown in Table II. We observe that m-ASAP as impressive performance in terms of the achieved percentage. We also notice the improvements, when we offer an additional round to each group of tags to ensure that each group of tag must participate in at least n r rounds. We observe that T Av remains close to 0.58ms. This is since the design of m-ASAP ensures that an appropriate frame size is offered in each round.

VII. CONCLUSIONS
In this paper, we proposed ASAP, a MAC protocol tailored for RFID systems with passive tags. Specifically, ASAP takes advantage of the fact that the envisioned RFID systems with passive tags will be collision limited, and utilizes tag count related information inherently collected at the RFID reader  to adjust the frame size in a framed slotted ALOHA setting. The MAC protocol relies on obtaining an estimate of the number of tags in the reader's field based on the observation of the number of idle, successful, and unsuccessful slots in the current frame, to determine the size of the next frame. It is shown that the adaptive frame size improves the currently suggested slotted ALOHA based STAC significantly in terms of the read time of the tags. We also extended the design of ASAP to the scenario with mobile to guarantee that a large percentage of the tags will be identified within the duration they spend in the reader's field. The protocol proposed in this paper aims to gain significant performance improvement with virtually no additional complexity over existing standards. To that end, we note that the frame size can be further fine tuned by assuming estimators with longer memory at the expense of additional complexity.