The limitations of bar-codes in terms of reading distance, complexity and need for a direct line of sight pushed the use and evolution of RFID (Radio Frequency IDentification) technology to find a better performing solution. Indeed, RFID for Radio Frequency IDentification allows contactless identification without the need of a direct line of sight, thanks to a device called a “reader” of goods or people attached, with an entity called “tag”. A reader emits a radio signal used by tags to power themselves and transmit the information they hold. This technique is called “backscattering” [1
The use of radio signals instead of a laser requiring a direct line of sight between devices promoted the use of RFID technology in cases such as logistics, security, transportation systems, etc. Some of these applications, however, rely on the use of several readers deployed sparsely in order to offer a better coverage. For instance, an indoor logistics scenario would be a warehouse where tags are attached on each product to track entries and exits, the lifetime of the product, and the status regarding the production or distribution line. For the purpose of ensuring the smooth running of such a system, many readers need to be installed. Some static readers at entry and exit points as well as on conveyor belts, but also some mobile readers that could either be hand-held by the workers inside the warehouse or mounted on forklifts roaming in the corridors between product shelves. Another example of an outdoor security scenario could be a smart city where tags are deployed on cars and urban constructions. It could then be possible to follow the flow of vehicles, bikes, etc, throughout the city but also monitor the “health” of the city infrastructures using static readers deployed on street corners and others mounted on city bikes or public transportation vehicles. Still, in the scope of integrating RFID in everyday tasks, we could imagine a retail store with RFID tags attached to products displayed on shelves. As such, customers could input their shopping list into a “smart trolley” and roam the aisles. A reader integrated to the trolley would then read the tags and alert the customer when in range of a product. This would not only ease the shopping process for the customer but also allow for easier checkout. Another example would be a hospital where tags are attached to patients to facilitate access to their medical history while doctors and their assistants are equipped with readers. Such an application could help reduce the staff and administrative procedures, while allowing a more precise tracking of patients. Nevertheless, such large deployments of readers in close proximity with simultaneous transmissions beget signal interference between devices, which results in poor performance of these given RFID systems [2
]. Thus, designing algorithms and protocols scheduling readers activity in order to have an efficient RFID setup in terms of throughput, reduction of collisions and fairness of access between readers has become an interesting research in recent times [4
]. Indeed, in all these scenarios and applications, multiple readers are bound to collide in their reading ranges and result in either unidentified crates in the warehouse; unscanned infrastructures, which could be critical in the smart city; missed products in the retail store, impacting the satisfaction of the customer; or a missed patient in the hospital.
Different proposals can be found ranging from TDMA-based (Time Division Multiple Access) solutions, synchronizing readers on given slots to access the medium, to CSMA-based (Carrier Sense Multiple Access) solutions, and relying on the sensing of the medium for its idleness before transmitting. These solutions are themselves either centralized, depending on the use of a central server to coordinate the readers, or distributed, where readers locally schedule their operations. Each solution holds its benefits and drawbacks making them suitable for given scenarios and less adapted to other setups, such as featuring device mobility ones. While all the applications and scenarios presented earlier require multiple readers to be deployed, some interesting works were done to support the fast identification of mobile tags in a given environment and under given constraints. For example, in [5
], authors proposed a protocol for the identification of multiple tags passing through the range of a single reader and allowed the high reduction of the number of missed tags thanks to a priority model and an estimation process. Although these results are promising, they are incompatible with our applications which look at large-scale deployments of readers in high density and mobility.
This paper introduces two proposals for RFID anticollision with the given features:
distributed and local: Each reader runs the same algorithm with a loose TDMA approach based on its internal clock handling clock-drifts with time margins and relying solely on the information given by neighbors in its vicinity. This allows our proposals to be scalable;
mobile-ready: the previous criterion grants our proposals the capacity to handle mobile deployments of readers without mitigating their performance;
efficient: improving the throughput in terms of idle medium accesses while highly reducing the number of collisions compared to the state-of-the-art protocols.
The first proposal, Distributed Efficient and Fair Anticollision for the RFID (DEFAR) [6
] algorithm is, to the best of our knowledge, the first distributed multichannel TDMA-based anticollision proposal for RFID systems. It relies on a beaconing mechanism making each reader aware of its neighbors and their potential behavior in order to compute its own with different priority levels, resulting in a fairer access to tags and thus better coverage. This proposal is later readjusted with mDEFAR to increase its compliance with dense mobile environments by reducing the number of available channels, hence rendering it a monochannel in order to get rid of the adjacent channels’ interference. The second proposal, Coverage Oriented RFID Anticollision (CORA) is a simpler approach with readers according each other in their vicinity, willingly accepting collisions up to some threshold over some tags in order to improve coverage. These characteristics make our proposals perform indifferently to the constraints whilst offering versatile solutions according to the needs of the system. This paper builds on our prior proposal DEFAR [6
] by proposing two new anticollision techniques tackling high density and mobility of both readers and tags. We study different scenarios that were not explored in our previous proposal in order to identify the best performing solution depending on the deployment environment and application needs
The rest of this paper is organized as follows, Section 2
goes trough the problems met and design variations, Section 3
reviews some state-of-the-art anticollision proposals for RFID, going through both TDMA and CSMA based algorithms as well as centralized and distributed ones; we also highlight the drawbacks and breaches that we tried to overcome. In Section 4
and Section 5
, we introduce our different algorithms, their performance over different metrics and applications are then evaluated and analyzed in Section 6
. Prospecting energy consumption and the propagation model regarding our proposals is then discussed in Section 7
. Finally, Section 8
draws conclusions on the presented work.
3. Related Work
Various solutions have been proposed for the RFID reader collision problem, but most of these proposed solutions have not considered highly dense and mobile specifications as we did with our proposals and therefore they are hardly appropriate for dynamic use cases as the ones depicted in Section 1
Reviewed solutions can mainly be classified as either TDMA-based, such as [18
] or CSMA-based [16
In DCS [30
] (Distributed Color Selection), readers only have access to a single tag reading channel. They randomly select a timeslot (color) within a previously fixed, defined framesize and transmit their slot choice to their neighbors. In case two or more readers in the same vicinity choose the same color, they are considered to be colliding, as such, they fail to access tags for the current round. They then randomly choose new colors and advertise (kick) their new choice to neighbors. In a dense environment, it is easy to see how unstable this algorithm would perform. Authors later, in [18
] (VDCS), modified their algorithm to allow the value of the framesize to be dynamically updated by readers locally, after reaching defined collisions thresholds. Finding the optimal value for the framesize is quite troublesome, however, and generates a lot of repetitive failures from readers, thus consuming a decent amount of energy. DCNS [31
] from the same authors tries to alleviate the issue by reducing the overhead with a new color update mechanism and states leverage as a starvation countermeasure. However, this update still fails to consider the mobility of readers.
In NFRA [22
] (Neighbor-Friendly Reader Anticollision), a central server synchronizes the system through broadcast commands. Readers would, at the reception of the first command from the server, randomly choose a timeslot and contend with their neighbors. This proposal was a monochannel one which was later updated by GDRA [25
] (Geometric Distribution Reader Anticollision) which made it multichannel and used a geometric distribution [32
] to alleviate collisions. This allowed more room for contention between readers which could then chose both a timeslot and channel on which to identify tags. These algorithms, however, have heavy requirements, needing readers to be able to communicate simultaneously with a central server, between themselves and with the tags as well as considering the use of bistatic antennas to be able to listen on their channel while they transmit.
In the ACoRAS [21
] (Adaptive Color-based Reader Anticollision Scheduling) algorithm, readers are assigned colors by a central server following the construction of a Minimum Independent Set. The color distribution is then optimized to reduce latency. Even though it performs well, this algorithm has strong requirements regarding the information needed by the central server to efficiently assign colors to each reader, which makes it less suitable for dynamic scenarios.
CSMA-based approaches took a different route. In [17
], from the multichannel for the RFID standard, LBT (Listen Before Talk) was proposed. In this algorithm, readers first listen on a chosen channel, for any ongoing operation, for a specified minimum time, and if any activity is detected, the reader will seek another idle channel. In a dense environment, we might have readers stuck in listening mode, helplessly trying to find an idle channel.
In Pulse [19
], while a reader is identifying tags, it periodically sends a beacon on the dedicated control channel to advertise its running operation to neighbors. Readers receiving the beacon then refrain from accessing tags until the channel becomes idle. This proposal quite unfits dense environments where several readers might get disabled for the sake of a single one. This is inefficient both in terms of throughput and energy consumption.
The HAMAC [28
] (High Adaptive Medium Access Control) protocol has readers trying to find an idle channel among the ones available by listening during a backoff period chosen within a defined Contention Window (CW) size. In case a reader fails to find an idle channel at first, the CW is consecutively reduced by half to have a smaller listening time. Having varying contention frame sizes among readers can induce a lack of fairness among readers, with some readers having a high latency.
] (Anticollision Protocol for RFID) proposes readers to exchange beacons after a backoff period relative to their residual energy levels to estimate the distance between each other according to the strength of the received signal. From this measurement, readers will solve the contention process by having their neighbors identify tags for them. A broadcast of tag information is done by successful readers afterwards to exchange information. This solution, however, fails to consider the tags that are out of the collision range of two readers. A reader that has a single tag in the collision range may be disabled while it has several other tags in its reading range. Also, estimating the distance between two devices only based on the signal power received is very much subject to errors.
From this observation, we deduce that while centralized solutions seem to be the most performing ones, they are either not scalable for more dynamic deployments [21
] or make significant trade-offs regarding throughput and efficiency for the sake of reducing collisions [22
]. CSMA-based approaches, on the other hand, by leveraging on contention window size among readers, impact the fairness of access between readers and affect their energy consumption, with readers having to either continuously emit a jamming signal or listen to the medium before reading tags [17
]. As such, we propose to focus on distributed TDMA-based algorithms that could better suit dynamic environments without the need of a central server and be able to offer a fair access to the medium to all readers while also being able to reduce collisions and improve throughput, so as to be the most efficient possible.
5. Coverage Oriented RFID Anticollision (CORA)
CORA is a monochannel TDMA-based proposal. RFID collisions have for a long time been considered as impactful as WSN (Wireless Sensor Network) collisions [16
]. As such, it was considered that in the event of a collision, readers involved would not access any tags and collisions were just avoided at any cost, forgetting that tags that were not in the collision area would actually be successfully read as shown in Figure 1
. Knowingly, CORA was designed to allow a fair amount of collisions in order to improve coverage delay and throughput.
In Figure 6
a, readers R1 and R2 can resp. read tags T1 and T2 while they share a collision area over T2. In the event of R1 and R2 accessing the medium at the same time, both tags T1 and T2 will successfully be read while T2, being in the collision area, will not; T2 will still be read afterwards by R3 (see Figure 6
b). Thus, instead of having the three readers read at three different times, we can have a total coverage within just two timeslots, improving the coverage delay.
The process of CORA is willingly kept simple as a monochannel and TDMA-based algorithm. The communication with tags is organized in frames, themselves subdivided in slots. Every reader randomly chooses a slot within a value
. The frame is designed such as the frame as a beacon phase, first during which every reader broadcasts its randomly chosen slot to its vicinity and receives others’ beacons, second is a tag interrogation phase. The beaconing phase is organized with a backoff scheme to prevent beacon collisions at this level. Upon reception of all beacons in its vicinity (Algorithm 3, lines 7 and 8), a reader then makes a decision according to the number of contenders that chose the same slot as its own (
) (Algorithm 3, lines 9 and 10) and the different ones (
) (Algorithm 3, lines 11 and 12). Each reader computes a number
> 0 (Algorithm 3, lines 15 and 16), the reader considers there are too many neighbors on the same slot as its own and gets disabled. The potential size of the colliding area between all the contending readers in its vicinity involved makes it inefficient to read. In the example of Figure 7
a, after beacon exchange, reader R5 will not access tags since it collides with both R4 and R6. In Figure 7
b, tags covered by R5 will be read since it is now on a different slot;
≤ 0 (Algorithm 3, lines 17 to 19), the reader accesses the medium even if it might collide with some of its neighbors, considering that the uncovered tags due to collisions will be read by the neighboring readers on different slots within the same frame. As such, in Figure 7
a, all readers except R5 access tags. Regarding tags laying between R2, R3 and R8, they will not be read in the current round but in the following round, Figure 7
b; the previously unread tags will successfully be read since the three involved readers are on different slots.
|Algorithm 3 CORA algorithm|
if no beacon received then ▹ No collision
else ▹ receives beacons from neighbors
while receives beacons do
if then ▹ Neighbor chose the same slot as
else ▹ Neighbor slot is different from
if then ▹ Too many colliding neighbors
Waits for next round
else ▹ Enough neighbors on different slots
Contrary to mDEFAR, readers here need to identify all their contending neighbors and their slots before the contention. The beaconing process is thus made prior to any reading phase. A frame has a length of: .
6. Performance Results
To study the performance of our proposals, we implemented them using WSNet [35
] and observed their behavior under various circumstances. WSNet is a modular event-driven simulator for large-scale wireless networks.
The simulations were done considering two main configurations:
For each configuration, 100 simulations of 400 s each are run. Results are presented within a 95% confidence interval. After multiple tests, it was defined that the best compromise between throughput, collisions and latency would be to set
. The values of
are respectively set to
according to values found in [17
Regarding the performance metrics used, we based our choice on the metrics reviewed in [36
Our algorithms are compared to GDRA in their results over the chosen applications and environments. We chose to compare our works with GDRA since throughout our state-of-the-art review, it consistently remained the best performing algorithm for RFID anticollision. Also, as a centralized and TDMA approach, it seemed to be the best suited to validate our distributed approaches. Indeed, the choice of a distributed approach rather than a centralized approach for our proposals should be investigated to validate that it does not impact the performance. From the observations made in [25
] regarding the results of GDRA in the mentioned deployments, we considered it for our dense and mobile applications.
6.1. Static Deployments
A map of size 1000 × 1000 sqm is considered with 2000 tags randomly distributed. A varying number of readers ranging from 100 to 500 readers are randomly arranged on the maps as well. Following the maximum transmission power defined in [17
], we determined
m with an adjacent channel interference range of
for DEFAR and GDRA and
for mDEFAR and CORA. These settings correspond to an average density of three concurring peers and four tags covered per reader.
: Here defined as the average number of successful query sections (SQS) over simulated time. A successful query section is counted every time a reader successfully goes through the contention process and accesses the medium. The higher the throughput, the better the protocol is considered to be. In Figure 8
a, the throughput of our three proposals is compared with GDRA for the different network densities tested. All throughput values increase with the number of readers deployed in the system; this is expected since with more readers we have more potential query sections. We notice that all throughput values are similar in the beginning, around 100 readers deployed then an increasing gap is noticed between our proposals and GDRA. For GDRA, this is explained by the fact that in case of a collisions, all readers in the same vicinity get disabled. While in DEFAR, mDEFAR and CORA there is always at least one reader enabled to identify tags. The three proposals show quite similar values with mDEFAR and CORA operating slightly better since the smaller interference and communication range induce more readers to have a chance at being enabled.
: Two types of collisions are identified, channel access collision
and reading collision
. Channel access collisions
happen when multiple readers choose the same beaconing slot or when different readers in the same vicinity fail to choose different slots and/or channels. Reading collisions
happen when two or more readers access tags in their intersecting surroundings at the same time (see Figure 1
). When the former occurs, we consider an unsuccessful query section happened, and the involved readers got disabled and covered tags were not read. The latter ones are not computed since, according to our proposals and the ones used to compare, they cannot happen because readers in that situation are disabled by the respective algorithms except in the case of the CORA algorithm, but here again they cannot be computed as we willingly let them occur for a better compromise. Figure 8
b shows the number of collisions according to the density of readers deployed. GDRA registers more collisions than our proposals due to its contention resolution process. Indeed, while we can have up to
for DEFAR or
for mDEFAR, only a single reader can be enabled in a reader’s vicinity in GDRA. This leads to more readers being disabled, hence the number of collisions recorded.
: This is the ratio of the SQS over the attempted query sections (AQS),
. Attempted query sections are counted every time a reader tries to access the medium and goes through the contention process. This metric allows the combination of both the results in terms of throughput and collisions, in order to identify the best performing algorithm. In Figure 8
c, the efficiency for all compared protocols depending on the density is shown. As this result is a combination of the previously introduced, it explains why GDRA has the lowest efficiency (dropping from 92% to 66%) while all our proposals remain above 95%. This proves that our proposals are all well-suited for dense deployments.
Jain’s Fairness Index
: This is the most used equity indicator [37
] in the literature. Since simulations were run with static readers randomly deployed, it is interesting to understand how well each reader gets a fair access to the medium to read the tags that it is covering. If the resource is not fairly distributed, it can result in some tags not being identified. This JFI is computed as follows:
is the throughput of the i-th reader and n
is the cardinal of deployed readers. When all readers get even throughput values,
and in the worst case
. Figure 8
d shows that all tested algorithms perform very well in terms of equity since all of them have values over 90%. However, DEFAR and mDEFAR get better results thanks to the different priority levels introduced which allows failing readers a better chance at succeeding in following rounds.
: This is the minimal time needed to read at least all tags in range at least once. Since readers are here static and both tags and readers were deployed randomly, not all tags are sure to be in range, so only the ones covered were considered in Figure 8
e. It shows that our proposals perform faster than GDRA which is explained by the precedent results. It is, however, interesting to see that the compromise regarding collisions done with CORA allows a faster completion. Regarding the difference between DEFAR and mDEFAR, once again using a single channel allowed the reduction of the interference range. Since less readers are colliding, more are enabled and tags are identified faster.
6.2. Dynamic Deployments
Two applications were considered to define two scenarios detailed below:
A large warehouse of 200 × 200 sqm with 6000 tags deployed on shelves is simulated. Shelves are considered to be aligned in rows spaced by 7-meter-wide aisles. This results in 30 shelves of 200 tags each. Ten readers are deployed on each aisle (i.e., 290 readers in total), all supposed to move at a speed of 0.7 m/s linearly within the aisles and u-turn once they reach an edge of the warehouse. Such a scenario allows our proposals to be challenged in a dynamically dense deployment of readers where the reader contention parameters are permanently changing. A snapshot of the topology is shown in Figure 9
An urban representation of 500 × 500 sqm with 800 tags deployed in the streets is recreated. The tags are used to identify moving vehicles. The vehicles travel through the city at an average speed of 10 m/s. The streets are two-way paths 5-meter-wide. They are considered to be perpendicular with building blocks in between; each building block is 50 × 50 sqm. Two types of readers are identified: static and mobile ones. The static readers are placed on each building block corner. Mobile readers are mounted on bicycles, riding at an average speed of 4 m/s (i.e., 352 readers in total). Two of these bicycles are deployed on each of those streets. This model deals with the coexistence of both mobile and static readers sporadically, dense environments when mobile readers reach an intersection and are in contention with at least four of the corner readers. An example is shown in Figure 9
Results of the simulations run on the considered applications are presented in Figure 10
and Figure 11
: In this case, the throughput can be considered as a gain in tracking capability for security applications, since the higher the throughput, the higher granularity of data regarding products is available. Figure 10
a shows the throughput of the different algorithms in the warehouse scenario. We can see that CORA clearly dominates with a higher throughput value. Indeed, in the warehouse where readers are between shelves with tags on the extremity of the reading range, colliding in a tag-free zone is not harmful and CORA takes advantage of this, hence the results. mDEFAR also performs very well thanks to its smaller interference range. GDRA, however, offers poor results due to the high number of colliding readers. In Figure 10
b, results are different for mDEFAR and DEFAR. Indeed, in the urban scenario where we have both mobile and static readers, DEFAR performs better since it is able to reach a convergence state between readers located in corners and actively read tags, thus coming close to results obtained with CORA.
: A collision in a mobile tag environment could mean that a tag was not identified and in a production chain could lead to a defective product not identified. In Figure 10
c,d, GDRA shows the highest number of collisions which was expected from its poor performance in throughput. It is again interesting to see that in Figure 10
d, DEFAR has the lowest collision values, which is explained by the convergence state that it is able to reach in this static/dynamic environment. mDEFAR and CORA both offer similar results however.
: From the previous results, in terms of throughput and collisions, the efficiency values can be predicted. As such, in the entirely mobile environment of the warehouse (Figure 10
e), GDRA shows remarkably low efficiency (around 1%) compared to our proposals, which proves that it is not suited for mobile environments. mDEFAR, however performs the best despite it having a lower throughput than CORA (see Figure 10
a), but the fewer collisions registered makes it slightly more efficient (75% for mDEFAR and 72% for CORA). In the urban scenario (Figure 10
f), results are better for GDRA (42%), since the static readers on street corners benefit better from the algorithm, but are still lower than our proposals. DEFAR achieves the best results (87%) while mDEFAR and CORA are still quite similar (respectively 73% and 76%).
: In a mobile environment, it can be compelling to get all tags information as fast as possible to know the state of the system at any given moment. Figure 11
shows the percentage of tags covered over time. In the warehouse application (Figure 11
a), while mDEFAR and CORA have overlapping plots and achieve almost total coverage after 20 rounds, GDRA struggles to reach 10% coverage over simulation length. DEFAR, however, slowly reaches total coverage after 80 rounds. For the urban application (Figure 11
b), results are better for GDRA which reaches 94% coverage after 20 rounds, while our proposals all reach 100%. CORA (12 rounds) achieves total coverage slightly faster than DEFAR (22) and mDEFAR (16). Even though DEFAR had a better efficiency and less collisions, it was still not as fast as CORA since the efficiency boost of DEFAR (see Figure 10
d) is offered by the static readers which only cover the tags going through them while the moving readers with CORA bring the gain in coverage delay.
These results comfort us in the belief that a single anticollision scheme cannot suit different deployments and applications. Indeed, the metrics (throughput, collisions, efficiency, fairness, latency, energy...) targeted, as well as the nature of the readers and tags deployed should guide the choice of the anticollision scheme setup. As such, regarding the proposals made in this paper, we believe that when multichannel is a must, only DEFAR should be considered since it is the only compliant one and offers substantial improvements over GDRA in all metrics visited. When, in the case of a mobile deployment, such as a dynamic warehouse with mobile readers and tags roaming through the deployment area, mDEFAR should be chosen as an all-around better performing protocol, but if the goal is to offer the fastest coverage and higher throughput, CORA is the best choice. While in the case of a hybrid deployment of both mobile and static readers, as could be the case in a smart city with different applications running in parallel, DEFAR turns out to be the best in terms of efficiency, so is therefore better suited for long-term and stability, but CORA should be chosen if the system needs to quickly identify all deployed tags and reduce latency.
The low performances of GDRA compared to our proposals can be explained by the contention resolution procedure triggered. Indeed, while in our proposals we can always ensure that at least one reader accesses tags in its vicinity in case of multiple collisions, in GDRA in case of collision, not only do all involved readers get disabled but readers in the vicinity get disabled as well. This further decreases the number of enabled readers on a round and explains the low throughput and high collisions and delay. From our simulations, we believe that GDRA might be more suitable for less dense environments where less readers are involved in contentions and are less compliant with the considered scenarios.
In this paper, we presented three new algorithms designed to reduce collisions between RFID readers using TDMA-based techniques and beacon mechanisms, in order to improve coverage delay, fairness and efficiency of a RFID system in dense or mobile environments. All three proposals are compliant with ETSI EN 302 208 [17
] standards to be adaptable regardless of the environment. Our proposals were compared to what is considered to be the best performing TDMA-based protocol and despite the fact that they are all distributed approaches, achieved better results in all considered metrics. The results show that depending on the application needs and requirements, one algorithm or another should be chosen. Indeed, if the deployment has to be multichannel, DEFAR will be the obvious choice. In a totally mobile environment, depending on the requirements in terms of either coverage delay or energy constraints respectively, CORA or mDEFAR should be chosen since they offer, for the first one the fastest coverage and the other one the best efficiency. If both static and mobile readers are considered with mobile tags, DEFAR can be the best choice to reduce collisions and offer better efficiency at the expense of coverage delay where CORA performs best.
Future works will, jointly with studies mentioned in Section 7
, investigate the periodic gathering of readings towards a base station. As such, readers that failed contention could be used to forward tag information to balance activity.