1 Introduction

As a result of the rapid development in the technology of micro-electromechanical systems and advances in wireless communications, wireless sensor networks (WSNs) have emerged [1, 2]. Area monitoring is a common application of WSNs where wireless sensor nodes gather information from the environment, after which they are sent to the base station. Area monitoring is a common application of WSNs [3, 4]. Given the vast area to be covered by the sensors’ network, the short lifetime of the power-operated sensors, in addition to the potentiality of damaged nodes during the activities, large populations of nodes are used in most WSNs’ Area monitoring operations. Designing and operating such large size networks would need scalable designs, structures and management methods. In addition, nodes in such situations are energy-constrained, and their batteries cannot be recharged. Thus, designing energy-efficient algorithms becomes a key factor for increasing the lifetime of the nodes [5, 6].

Radio frequency identification (RFID) is an emerging identification technology which allows objects to be identified automatically and is widely applied for various functions. An RFID system [7] includes tags and reader. An RFID tag transmits data and information in reaction to interrogation signals by a reader, while each tag has a unique ID.

In case the innovative technologies of the RFIDs and WSNs are merged, the effectiveness of the two will be maximized and new perspectives will emerge for a large number of applications. This is because the resulting integrated technology will have extended capabilities, scalability, and portability as well as reduced unnecessary costs [8, 9].

In Refs. [10] and [11], different techniques for integrating sensor nodes with RFIDs are discussed. One of the possible strategies of integrating RFID systems with WSNs is by integrating RFID readers with sensor nodes. In this integration scenario, the existence of three types of devices is assumed: the integrated RFID readers or sensor nodes, simple RFID tags, and the sink or base station. The integrated RFID reader WSN node can be considered as a sensor node that can be used as an RFID reader, having extended its sensing capabilities. These nodes are responsible for collecting data from simple RFID tags in their range, and communicating with each other to relay data to the sink or base station where all the data is collected and processed by a human. The architecture of this integrated network, illustrated in Fig. 1, is similar to the hierarchical clustering-based two-tiered WSN [12].

Fig. 1
figure 1

Integrating RFID readers with wireless sensor nodes

RFID-Enhanced WSNs can help researchers in wildlife monitoring. For example, RFID Reader enhanced nodes can be spread in a wetland or swamp to indicate the birds that have landed for feeding. Birds carry an RFID tag. With RFID-Enhanced WSNs, the bird’s presence can be easily detected, and it is possible to obtain more information about them.

To perform a broader adoption of RFID-Enhanced WSNs, it is serious to resolve the reduction of possible collision in large integrated RFID-Enhanced WSNs, because the greater the number of Reader-Enhanced nodes in an RFID-Enhanced WSN, the larger the potential of a possible collision. Reader-to-reader collisions are individually serious in dense reader-enhanced WSNs, where multiple readers are located in close proximity to each other. Thus, it is important to define a good reader anti-collision protocol for RFID-enhanced WSNs. The fact that both WSN nodes and RFID readers possess only a limited amount of energy resources requires the RFID-Enhanced WSNs to take this limitation seriously. The reader anti-collision protocol should be energy-efficient to make sure that accurate and reliable communication will be achieved with the minimum possible energy consumption. A key problem with RFID-Enhanced WSNs is the limited battery life of sensor nodes, which imposes a severe energy constraint on communication protocols, and the RFID reader consumes a significant amount of energy whilst scanning RFID tags [13, 14]. Therefore, any reader anti-collision protocol developed for RFID-enhanced WSNs must be energy-efficient, and must also consider the WSNs’ specifications [15].

The rest of the paper is organized as follows. In Sect. 2, we presented four types of problems in RFID-enhanced WSNs. We then presented prior works in Sect. 3, while in Sect. 4, the proposed protocol is described. Section 5 analyzes performance of our algorithm, and present simulation results. And finally, in Sect. 6, conclusions are drawn.

2 RFID-Enhanced Wireless Sensor Network problems

The goal of our protocol is to use beacon messages, the multi-channel capability, and to measure the distance between adjacent nodes and tags’ ID forwarding mechanism for increasing throughput and reducing the cost of reading RFID tags in Reader-Enhanced WSN nodes. Our purposed protocol can put tag ID information into the beacon message and share it among close multiple readers. It is worth mentioning that there will be fewer reader collisions and better energy efficiency as multiple readers are able to share the workload of reading tags.

In use of multiple readers in RFID-enhanced WSNs, there are four types of problems: (a) reader-to-reader collision, (b) multiple reader-to-tag collision, (c) energy constraint matters and (d) the duplicate data generation problem.

Problem (a) occurs when, as illustrated in Fig. 2a, reader R1 transmits a signal that interferes with the weak reflected signal of reader R2; this will cause the reader R1 not to be able to receive the information of tag T1 correctly. Problem (b) occurs when readers R1 and R2 transmit messages to a tag at the same time; in Fig. 2b tag T1 might not be able to read the data from readers (R1, R2) due to collision. Regarding problem (c) as illustrated in Fig. 2c, an energy constraint problem occurs when all tags reply to one reader in all rounds, as a result, that reader will drain its energy quicker than other readers, and therefore this problem may have a profound impact on the stability of WSN. Finally, the duplicate data generation problem occurs when tags in the overlapped reading areas are read by multiple proximate readers. These problems consume network bandwidth and decrease the network lifetime. To collect accurate information from the environment, readers interrogate tags periodically. These multiple readings generate a lot of duplications by reading already read tags several times. Therewith, in WSNs, the nodes are densely deployed and have overlapping areas with neighboring nodes. Tags that exist in overlapping areas are read by more than one reader which results in reader collisions and duplicate data generation. Reading these duplicate tags and transmitting data packets towards the base station consumes an enormous amount of the nodes’ energy, whereas, energy consumption is an important issue in WSNs due to the limited battery life of the nodes [16]. So, any reader anti-collision protocol developed for RFID-enhanced WSNs must take into consideration all types of the described problems.

Fig. 2
figure 2

Problems in an RFID-enhanced WSN

3 Related Works

For the RFID reader collision problem, various solutions have been proposed [1721], but these proposed solutions have not considered WSNs’ specifications, and therefore most of the algorithms are not appropriate for RFID-Enhanced WSNs.

Many of the solutions proposed to reduce reader collisions are based on the Carrier Sense Multiple Access (CSMA) technique, like the European standard [22], Pulse [18] and GENTLE 1, GENTLE 2 [20], or on TDMA technique, like Colorwave [17].

In the Colorwave protocol, each reader selects any time slot. In case a reader selects a color that is the same as that of other readers, reader collision would occur, and the reader will select another new time slot and transmit ‘kick’ messages to the other readers in order to let them notice the new time slot. For RFID-enhanced WSNs, this protocol is not appropriate, because TDMA scheduling needs reader synchronization, and finding the minimum colors or a transmission schedule is a difficult problem which will generate lots of communication and consume RFID-enhanced nodes’ energy quickly. Moreover, Colorwave makes reader’s waiting time long because it does not employ multi-channel capability. Lately, the authors in [21] have proposed a DCNS algorithm based on Colorwave. Its main changes are reducing channel control overhead; a new color update mechanism; and a dynamic reader state, which have the role of a starvation countermeasure. However, it does not consider mobile readers, energy constraint and duplicate data reading problems.

In NFRA [23], the server assigns the start of a new round, broadcasting an arrangement command on the control channel and managing the Communication which is synchronized by a central server. This protocol has heavy requirements, and does not consider energy constraint, because readers need to work simultaneously on one channel for tag interrogation and on another one for network control.

In E2MAC [24], a specific media access control (MAC) for RFID-enhanced WSNs is presented. E2MAC exploits the low power capability of an ultra-wideband transceiver and distinct pulses to address the reader collision problem. Before querying tags, the node transmits on the control channel a sequence of pulses that corresponds to its identifier. If a reader detects that the channel is busy, it waits for a specific amount of time and otherwise it starts to query tags. E2MAC does not consider mobile readers and duplicate data generation problems.

A multi-channel protocol which was proposed by ETSI in the European standard for UHF RFID, named listen before talk (LBT) [22] lets a reader first listen on the data channel for any ongoing communication for a specified minimum time, and if any signal strength greater than the threshold is detected on the channel, the reader will seek another empty channel. It is based on CSMA and solves the reader-to-reader collision problem, but still, the multiple reader-to-tag collision problems and WSNs specification problems are remaining nuisances.

The PULSE protocol [18] divides a data channel from the control channel. A reader communicating with tags periodically transmits beacon messages to an extent greater than its interference through the control channel, and readers receiving the beacon messages do not communicate immediately with tags and rather wait until they do not receive any beacon messages any longer. The authors in [20] propose GENTLE protocols based on PULSE. GENTLE 2 can also put tag information into the beacon message and share it among close readers. In [20], the authors have shown that the hidden terminal problem actually does not exist in practice. GENTLE 1 improves the PULSE and LBT approaches. In this protocol, the beacon message is to be sent only up to the distance that multiple reader-to-tag collisions might happen. The basic idea in GENTLE 2 is that a reader reading tags forwards the data to neighbor readers which want to read the same tags. The difference of our proposed mechanism with the GENTLE 2 protocols is that in GENTLE 2, the reading tags’ data is forwarded to neighbor readers after a random backoff time, while in our proposed mechanism, in order to reduce duplicate data reading and avoid energy constraint, the ID of the read tags are forwarded to neighbor RFID-enhanced readers after a random backoff that has been calculated based on each nodes initial and residual energy.

Among the described protocols, LBT, GENTLE 1, GENTLE 2 and Pulse use the CSMA technique and an additional control channel, while Colorwave and DCNS use the TDMA technique. The proposed protocol uses the basic technique common to PULSE and GENTLE protocols, with the additional problem-solving approach for the utilization in RFID-enhanced WSNs. Furthermore, it does not require ultra-wideband transceivers to organize the RFID data channel like E2MAC.

4 The Proposed Protocol

In an RFID-enhanced WSN system, in order to collect data from RFID tags, when more than one reader is involved in reading an RFID tag, it is acceptable that leastwise one reader reads the same tag and forwards the data of the tag to the base-station. Moreover, in the RFID-enhanced WSN environment, if more than two readers have the same tag within their range, every reader does not need to read the tag. Therefore, we propose APR; a novel mechanism to decrease the duplicate data problem of all readers when there is high probability of multiple reader-to-tag collision.

Since in WSNs, sensor nodes are randomly distributed in the region, it is possible that some nodes be adjacent to each other.

When more than two readers are close to each other and the used channels are different, then multiple reader-to-tag collision occurs since the readers cannot detect their neighbors’ signals. So, the APR mechanism is considered as a control channel that all readers can share, moreover, the control channel transmission range is greater than that of the data Channel, and approximately equal to the reader interference range to avoid reader-to-reader collision. When a reader communicates with a tag, it periodically sends a beacon message on the control channel. Neighbor readers which receive any beacon message, by measuring the strength of the received signal, estimate the distance between themselves and the beacon message sender node. If the distance is too short, it means that two neighbor nodes are exactly adjacent to each other, so they have totally overlapped reading area. In this case, because more than two readers have the same tags within their range, there’s no need for every reader to read the tags. Thus, among the two readers, one of them can turn itself off until the end of the current round. This can cause energy saving and increase the node’s lifetime and yet can reduce collisions.

The reader, after reading the tag, broadcasts the ID of the tag with a beacon message. When the distance between proximate nodes and the active reader-node is long enough, they must listen to the control channel to hear the beacon message. Simultaneously, a reader that is communicating with the tags periodically sends a beacon message on the control channel. This beacon message contains identification (ID) data of tags, for neighbor readers which want to know about the read tags. To avoid same tag readings, each reader who received a beacon message from the control channel, buffers a list of reading tags in each round. Also, the beacon message works as a notification message to the other proximate RFID readers. Then, they can withhold any communication with the tags to avoid possible reader collisions.

The reader, before sending a beacon message, first senses the control channel. If it is busy, it continues to sense the control channel. When the channel is empty, the reader waits for a time while before sending the packet and then sends the beacon message.

The beacon message is transmitted to other neighbor readers with the same [18, 20] mechanism. However, the main difference of our mechanism in comparison to others is that in our algorithm,, in order to consume less network bandwidth, avoiding all types of reader collision and energy constraint problems, in addition to measuring the distance between adjacent nodes, a method has been used to calculate special contend-backoff time, based on Reader-Enhanced remaining energy by using Eq. (1).

$$\begin{aligned} T_{\hbox {contend}\_\hbox {backoff}} = Rand \left( CW \times \frac{E-E_{\mathrm{Re}} }{2E}, CW \right) \end{aligned}$$
(1)

where, \(\hbox {E}_{\mathrm{Re}}\) is the residual energy of given reader node, E is the initial energy of nodes and CW is maximum contention window size. \(\hbox {T}_{\mathrm{contend}\_\mathrm{backoff} }\) is a random number between the fraction of the CW and CW. In the beginning, for homogenous WSNs, all the nodes have the same initial energy, so \(T_{ contend \_ backoff }\) is a random number between 0 and CW.

Before the reader communicates with the RFID tags, it has to wait for a random backoff time based on RFID-enhanced nodes’ residual energy. If the reader did not receive anything in the elapsed time period, after sending a beacon message on the control channel, the reader starts transmitting and receiving data with the tags on the data channel. This calculated random backoff time helps to avoid collisions between readers, and helps readers with less residual energy (weak readers) to wait longer, so strong readers can read overlapped areas’ tags sooner than weak readers. Strong readers broadcast read-tag IDs in a beacon message through the control channel so they forward read tag IDs into their neighbors. As a result, weak readers do not need to communicate with previously read tags in the readers’ overlapped interrogation area again. This feature significantly Increases the throughput and reduces the number of collisions in RFID-enhanced WSN systems.

For instance, in Fig. 3, reader R1 forwards T1’s ID to readers R2 and R3 by beacon messages on the control channel, while R1 reads T1. R2 and R3 can get the ID of T1 during their waiting time, so they do not communicate with T1 after the end of their waiting time.

Fig. 3
figure 3

The example of APR mechanism

In Fig. 4, R2 has the minimum remaining energy, thus based on Eq. (1) it must similarly wait more than other readers. So if R3’s calculated random backoff time was spent and R3 did not receive any beacon, after sending a beacon message on the control channel, R3 starts communicating with the T2 on the data channel. Although both T1 and T2 are located in R3’s read range, since R3 knows that T1 has already been read, it does not read it again and only reads T2.

Fig. 4
figure 4

The example of APR mechanism

Then R3 forwards T2’s ID into R2 by a beacon message on the common control channel. As a result, R2 does not need to communicate with any tag in this example, which leads to energy saving and improvement on network lifetime and throughput. In this way, through sending beacon messages, when a reader is closely located in an interfering reader’s range, reader-to-reader and multiple reader-to-tag collision, energy constraint, duplicate data reading and generation problems can be solved. In Algorithm 1, the mechanism of APR as a pseudo code has been shown.

figure e

5 Simulation Results

To study the APR protocol, we have assumed that each WSN node is equipped with an RFID reader; each node has enough memory and knows its own residual energy. We have omitted characteristics of WSNs and only considered RFID reader collision problems in the RFID-Enhanced WSN.

Performance of reader anti-collision protocols can be evaluated according to various parameters, throughput being one of the most important ones considered in [1821]. In our paper, throughput is considered as the average number of read tags per time to read one tag without reader collisions. In order to evaluate the performance of the APR protocol, the simulator, specific to the needs of our model, with a network of reader-enhanced nodes and tags is randomly deployed in a \(100\times 100\,(\hbox {m}^{2})\) geographical region. In order to reach a fair analogy, all the protocols have been simulated with the same parameters considered in [20]. Channel listening time and tag reading time have been set at 5 ms according to [22]. In addition, the beacon transmission is considered as 5 ms. We considered that when the reader data rate is 40 kbps, the slot of successful tag reading is 2.88 ms, the slot that no tag responds is 0.5 ms, and the tag collision slot 2.88 ms according to [25]. Maximum contention window (CW) for PULSE has been set at 60 (PULSE has less collisions when using 60 as the maximum CW) and for others, it has been set at 5.

Figure 5 shows the average number of reader-to-reader collisions according to various values of reader number in different anti collision protocols. In our protocol, the average number of reader-to-reader collision is less than others, and PULSE has the greatest number. Pulse protocol is considered a hidden terminal problem, so to detoxify such a problem, the reader must broadcast the beacon messages at a farther distance than the GENTLE1, GENTLE2 and APR protocol. PULSE cannot benefit from multi-channels. The APR, due to the tags ID forwarding mechanism, has a smaller number of reader-to-reader collisions than GENTLE protocols.

Fig. 5
figure 5

Average number of collisions according to number of readers

Figure 6 shows the average number of multiple reader-to-tag collisions according to various values of reader number in different anti collision protocols. The LBT protocol does not have any mechanism to avoid multiple reader-to-tag collision, but GENTLE protocols and APR use beacon messages. In our protocol, tags’ ID forwarding can reduce the number of collisions.

Fig. 6
figure 6

Average number of collisions according to number of readers

Figure 7 shows the throughput of the compared algorithms with varying numbers of readers. PULSE has low average read throughput due to number of reader-to-reader and multiple reader collisions.

Fig. 7
figure 7

The number of throughput versus the number of tags

Figure 8 shows the relationship between the number of tags and average read throughput. For the APR protocol, the difference in tag numbers does not affect average read throughput as much as changing the number of readers does.

Fig. 8
figure 8

The number of throughput versus the number of tags

6 Conclusions and Further Works

In this paper, we proposed a novel high throughput mechanism, based on CSMA, for solving reader collision, energy constraint and duplicate data readings problems in RFID-enhanced WSNs. Among the existing protocols, APR achieves a smaller number of reader collisions and the highest network throughput. It better manages RFID-enhanced WSNs, compared to the performances of other protocols, like LBT, Pulse, GENTLE1 and GENTLE2. However, in APR, when the reader reads a tag, it broadcasts the read ID to neighbor readers by a beacon message. Since the neighbor readers know that the present tag has already been read, they avoid reading it a second time. When using the proposed backoff and beckoning mechanism, energy consumption of weaker readers decreases. As a result, network life time can increase. The APR would be a suitable solution to the RFID-enhanced WSNs which have environments including mobile nodes, and need a high throughput and a low power consumption anti-collision mechanism. Future studies will focus on, evaluation factors that lead to optimal energy utilization, simulation, and a study, based on current results, on how network energy consumption is affected by APR, when compared with other protocols.