Efficient DFSA Algorithm in RFID Systems for the Internet of Things

Radio Frequency IDentification (RFID) used in business applications and international business management fields can create and sustain the competitive advantage, which is also one of the wireless telecommunication techniques for recognizing objects to realize Internet of Things (IoT) technologies. In construction of IoT network, the RFID technologies play the role of the front-end data collection via tag identification, as the basis of IoT. Hence, the adoption of RFID technologies is spurring innovation and the development of the IoT. However, in RFID system, one of the most important challenges is the collision resolution between the tags when these tags transmit their data to the reader simultaneously. Hence, in this paper I develop an efficient scheme to estimate the number of unidentified tags for Dynamic Framed Slotted Aloha (DFSA) based RFID system, with the view of increasing system performance. In addition to theoretical analysis, simulations are conducted to evaluate the performance of proposed scheme. The simulation results reveal the proposed schemeworks verywell in providing a substantial performance improvement inRFID system. The proposed algorithm promotes business effectiveness and efficiency while applying the RFID technologies to IoT.


Introduction
The Internet of Things (IoT) enables innovative business opportunities by connecting new era technology and objects to create new applications in business management and enterprise workflows [1][2][3].IoT allows "things (objects)" to be sensed and controlled remotely across the Internet, creating opportunities for more direct integration between the real and cyber world and resulting in increased efficiency, accuracy, and economic benefit.For IoT, each object is uniquely identifiable through its embedded computing system but is able to interoperate within the network infrastructure.In general, the IoT requires a few necessary components to enable communication between devices and objects, and objects need to be augmented with an autoidentified technology, usually a RFID tag, so that the object can be uniquely identified.In other words, the IoT refer to embedding the devices such as RFID tag on the objects, and then through wireless communication technology the objects can automatically communicate the information to each other to achieve intelligent identification and management of the objects.Hence, RFID [4][5][6] plays a very important role in IoT industries and also makes IoT come to people's life or lives.
Because of the success of IoT, nowadays, RFID is one of the most popular wireless communication technologies applied in short range wireless transmission, and the RFID techniques have been successfully applied in a variety of areas, including the logistics and supply chains management, assets management, and inspection and safety compliance management.The advantages of RFID technology can make it have extensively more and more applications in various business areas [7], such as the well-known brand enterprises in the world: Zara, Prada, and Amazon [8,9].A RFID system, as illustrated in Figure 1, consists of a reader and a number of tags.At first the reader sends a request to ask the tags to send their data to the reader.After receiving the request from the reader, the tags will send their data to the reader.Each tag will randomly select a slot in the contending frame to send out its data.If there is only one tag sending its data in an empty slot, then data will be successfully received by the reader.However, sometimes collisions occur when there are more than one tag transmitting its data to the reader, and this will lead to failed transmission, which means these collided tags have to transmit their data to the reader once again.
In RFID systems, each tag has its Unique ID (UID), and it will transmit its data, including its UID, to the reader when the tag receives the request from the reader.If there are more than one tag transmitting its data to the reader simultaneously in the same slot, the reader will not be able to decode the signal sent from the tags, and this means those tags will have to transmit their data once again, which causes degraded system performance and power consumption.According to the latest version of the RFID standard, EPC global UHF Gen2, Dynamic Framed Slotted Aloha (DFSA) has been accepted and employed as the de facto collision resolution algorithm to share the channel usage when multiple tags respond to the reader's signal command simultaneously.For DFSA, the size of contending frame will significantly affect the system performance because severe collisions occurred if the contending frame size is too small and bandwidth wastage is caused if the contending frame size is too large.However, unfortunately, according to current DFSA algorithm, the contending frame size is usually far from optimal since the reader does not have the information of how many unidentified tags are in its interrogation zone.In other words, if the reader is not able to get the information of how many tags exist, it is difficult to make the correct decision [10].
In the literatures, there have been adequate excellent discussions on the issues of collision resolution algorithm and its performance evaluation [11][12][13].In general, collision resolution algorithms in RFID system can be divided into two categories, namely, Aloha-based approach [14,15] and tree-based approach [16].Tree-based algorithms repeatedly split the tags into two subsets until each subset has only one tag inside.Tree-based anticollision algorithm is efficient when the number of tags is small, but this approach is less efficient when the number of tags is large.Another kind of collision resolution algorithm, the Aloha-based algorithm, is a probabilistic approach.It assigns an amount of slots, called contending frame, for tags to transmit their data to the reader.Among all the Aloha-based algorithms, framed slotted Aloha (FSA) is preferred because of its simplicity and efficiency.The FSA algorithm is very similar to slotted Aloha protocol.The only difference is that, in FSA, it groups multiple time slots into a contending frame, and usually the contending frame length is decided based on the current number of unidentified tags.Particularly, according to previous works, the performance of FSA algorithm is optimal when the contending frame size equals the number of unidentified tags.
Since the performance of FSA algorithm depends on a suitable choosing contending frame size, a variant of FSA mechanism, Dynamic Framed Slotted Aloha (DFSA) collision resolution algorithm, is proposed [17] to improve the performance of FSA algorithm.In the DFSA algorithm, the reader can dynamically change the contending frame size according to the number of existing tags to increase the successful rate and decrease the collision rate with the view of increasing the system efficiency.One may think that it is easy to get the conclusion of the maximum system throughput which could be obtained by setting the contending frame size equal to the number of existing tags [18].As a matter of fact, according to my simulation results, the system throughput was not close to its theoretical limitation because the collisions still occurred when the tags transmit their data to the reader (see Figure 2).Besides, the information of the number of existing tags is difficult to get for reader in the current RFID system.Although now we know that we should tune the frame size based on the current number of unidentified tags, however, the information of precise number of unidentified tags is difficult to get.In general, if the frame length is smaller than the optimal one, collisions occur frequently.On the contrary, idle time slots produced and system performance degraded.Therefore, correct estimation of the current number of unidentified tags is the key factor to successfully get an appropriate frame length for high system performance.
Based on the above observations, we can find that a small contending frame size could cause large numbers of collisions and bring bandwidth wastage in dense environments.However, a large contending frame size could cause large numbers of idle slots and this also brings bandwidth wastage in sparse environments.Hence, the reader should dynamically tune the contending frame size based on the information of number of existing unidentified tags.As a matter of fact, choosing an appropriate contending frame size is an effective technique to improve the overall RFID system performance.Now the question is as follows: how does the reader get the information of how many unidentified tags are in its surrounding area?
In this paper, I propose a run-time estimation scheme to effectively estimate the number of existing unidentified tags in reader's surrounding area in the RFID system, and this information can be used to adjust an appropriate contending frame size for DFSA collision resolution algorithm to improve the overall system performance.Instead of analytical analysis, I have also carried out a comprehensive simulation, developed by C language, to evaluate the performance of the proposed scheme.The simulation results confirmed that the proposed scheme can reduce the collision rate and increase the channel utilization comparing with the traditional DFSA collision resolution algorithms.
The remainder of this paper is organized as follows.Section 2 surveys the well-known collision resolution algorithms, FSA and DFSA, and some previous works on tags number estimation.Section 3 introduces the proposed algorithm.Section 4 shows the simulation results of the proposed scheme, and I compared it with some well-known algorithms.The conclusions are presented in Section 5.

Preliminary
According to the latest RFID standard, EPC global UHF Gen2, the Aloha-based collision resolution algorithm is the de facto MAC protocol for the passive RFID system because of its efficiency, and it is easy to implement.In this section, I give the preliminary knowledge on the two most important Aloha-based collision resolution algorithms, FSA and DFSA, and some well-known tags number estimation algorithms.

Framed Slotted Aloha (FSA) Algorithm.
In FSA algorithm, all the contending frames are with the same length.When a tag sends its data to the reader, it randomly selects a slot in the contending frame to its data, and then the reader will send the tag an acknowledgement if the reader receives the data successfully.Note that, in FSA, the reader uses a fixed contending frame size and the tag will send its data in a cyclic sequence until the data was successfully received by the reader.Figure 3 illustrates the process of the FSA collision resolution algorithm.As shown in the figure, assume there are three tags which need to be recognized, and the contending frame size is four.At first, the reader sends a request command to the tags and it will also tell the tags that the contending frame size is four at the same time.In the first read cycle, tag 2 and tag 3 transmit their data in slot 3 at the same time, and hence collisions occurred.Tag 1 and only tag 1 sends its data in slot 2, and hence tag 1 can be successfully recognized by the reader.This process terminated until all the tags were recognized or there is no collision occurring in one contending frame.
FSA algorithm is inefficient since this strategy might incur a high collision rate if the reader selects a small contending frame.However, if the reader selects a large contending frame size, it is not good either since this could create a lot of idle slots, and this also implies bandwidth wastage.dynamically adjusting its contending frame size according to the number of unidentified tags.An enhanced FSA version, DFSA algorithm, was proposed to improve the performance of RFID systems.In general, DFSA algorithm has better performance than FSA algorithm since, in DFSA algorithm, the reader can dynamically adjust its contending frame size according to the number of unidentified tags.Figure 4 illustrates the process of DFSA collision resolution algorithm.As shown in the figure, assume there are three tags which need to be recognized, and, initially, the contending frame size is 4. At first, the reader sends a request command to the tags and indicates the contending frame size.In the first read cycle, tag 2 and tag 3 transmit their data in slot 3 simultaneously, and hence collision occurred.Tag 1 and only tag 1 sends its data in slot 2, and hence the reader can successfully recognize tag 1 because slot 2 is singly occupied.Since there is only one tag recognized in the first read cycle, this implies there are still two tags that need to be recognized.Hence, the reader might determine a new contending frame size, three, for the next read cycle.This process terminated until all tags were recognized or there is no collision occurring in one read cycle.In general, DFSA algorithm is more efficient than FSA algorithm because DFSA algorithm can dynamically adjust the contending frame size based on the current number of unidentified tags in the system [17].

Dynamic Framed
Obviously, the performance of DFSA algorithm largely depends on a proper choice of contending frame size, and of course the contending frame size should be related to the number of unidentified tags in the system.However, when the reader is unable to know the exact number of unidentified tags, it is difficult for the reader to make a correct decision.
Regarding how to estimate the number of unidentified tags, there have been adequate discussions on this issue in the literatures.In [19][20][21][22], the authors developed the following equations to estimate the number of unidentified tags in RFID systems.The parameters  0 ,  1 , and   are the expected values of idle, success, and collision slots in a contending frame, and , , and  are the observed idle, success, and collision slots.According to the theory of Chebyshev's inequality which indicates that in any probability distribution almost all random variables are close to the expected value, we can model the tags number, , as follows: where  is the number of contending tags and the contending frame size is .
In [20], the author also pointed out that it is intuitive to observe that the number of collided slots provides a lower bound of the actual number of unidentified tags trying to access the channel during the last read cycle because some tags might transmit their data in the same slot, and thus we have where  is the number of collision slots,  is the number of successful slots, and  is the estimated number of tags.
In paper [23] the authors proposed a modified equation to estimate the number of unidentified tags.Unlike (3), the authors proposed that the expected number of tags involved in each collided slot can be solved by the following equation: where   and   denote probability of successful slot and collision slot.Hence, the estimated number of unidentified tags is

Enhanced Tag Estimation
Method.This method [24] only utilizes the probability for the collision slot in tag estimation but does not make use of the probabilities for the idle and success slots.Hence, it fully utilizes the mentioned information to increase the estimation accuracy, and it also needs to compute the average number of the tags included in a collision slot, but it does not suppose any condition on the tags number and the frame length.That is, the number of collision slots can be expressed as follows: Hence, the number of tags  can be obtained as follows:  Finally, we can estimate the number of tags by solving the following equation:

Proposed Scheme
The basic idea behind the proposed scheme is simple.That is, in practice, when the reader monitors the channel status, low collision rate and low successful rate imply that the contending frame might be too large.On the other hand, high collision rate and low successful rate imply that the contending frame might be too small.Before we start to discuss the issues of interest, important notations and variables are defined in Table 1, and they will be used throughout this paper.

Run-Time Estimation of Number of Tags.
As mentioned above, in a RFID system, a low collision rate implies that the number of unidentified tags is low, and the contending frame size should be set small.On the other hand, consecutive collisions indicate that there are numerous unidentified tags competing for the channel in the system.In such a case, the size of contending frame should be set considerably large to avoid collisions in the next read cycle.Hence, in order to exploit the information of the channel status, we define the probability of idle slot,  idle , to be the probability that an idle slot occurs in a time slot in the contending frame.Recall that the channel status can be generally divided into three states: idle, successful, and collision.Therefore, the probability of idle slot can be defined as follows: number of idle slots contending frame length .
As the channel statuses are ever-changing, hence, in practice, the value of  idle has to be updated for every ready cycle to reflect the actual state of the channel, as shown in Figure 5.
Pseudocode 1, C language-like pseudocode, describes the proposed scheme.
Finally, in [24] the authors developed an analytical model to study the system throughput of DFSA based RFID systems.Hence, once I get the information of how many existing tags are in reader's surrounding, I will use the model proposed in [24] to search for an optimal frame size that maximizes the system throughput based on the estimated results of number of unidentified tags.

Simulation Results
In this section, I evaluate the performance of the proposed scheme.I carry out the experiments with four different collision resolution algorithms, namely, DFSA with  + 2, DFSA with  + 2.39, DFSA with minimum distance, and the proposed scheme.To focus on the system throughput related issues and to reduce the complexity of simulations, what follows are the basic assumptions used in our simulation.First, no tags leave or enter reader's interrogation zone during simulation.Second, the default values used in the simulations are listed in Table 2, and each simulation runs at least 1,000 times.Finally, in DFSA, optimal frame size means that the contending frame size equals number of existing tags.As for the proposed scheme, frame size  is set according to the research results described in [25].Also, if the tag identification process is not complete yet, both DFSA and the proposed scheme will adjust the contending frame size in next ready cycle.Figure 6 shows the estimated error versus the number of tags.Simulation results indicate that the proposed method has the lowest estimated error rate (less than 6%).However,  + 2 and  + 2.39 usually have higher estimated error rate, especially when the number of tags becomes large.As for the performance of Vogt's method [19][20][21][22][23], this method also can achieve an estimated error rate lower than 6%, in average.
Figure 7 depicts the total delay time as the number of tags increases.Total delay time is defined as the total time for the process of tags identification to identify all tags within reader's interrogation zone.In general, for all algorithms, the total time needed to identify all the tags increases as the number of tags increases.Although there is not much difference in the measured values when the number of tags is large, please note that the proposed scheme reaches a better performance than the DFSA algorithm when the number of tags is small.This is because the slot time is 4.9 ms and the time for request command is 52 ms.Hence, if there is small number of tags in reader's interrogation zone, the length of request command occupies higher ration of each read cycle for DSFA algorithm, and this causes longer total delay time since request command is an overhead.However, as shown in Figure 7, the proposed scheme still reaches a better performance in most cases.
In Figure 8, we compare the number of read cycles for each algorithm as the number of tags gradually increases.As shown in the figure, the proposed scheme has the least number of read cycles because its contending frame size is optimal.On the contrary, the DFSA algorithm has the highest number of read cycles because its frame size is usually the smallest among all the collision resolution algorithms, and this leads to large number of read cycles.
Figure 9 depicts the collision rate as the number of tags increases.As we expected, the proposed scheme has the lowest collision rate because its contending frame size is optimal, and it can effectively reduce the collision rate.However, as shown in Figure 9, the DFSA algorithm has the highest collision rate because it usually has the smallest contending frame size among all of the collision resolution algorithms.Comparing this with the simulation results shown in Figure 7, we can observe that the gain of reduced collision rate is at the cost of increased total delay time.In Figure 10 Please note that, in the above equation, total time slot is the sum of successful slots, idle slots, collision slots, and request command.Obviously, the proposed scheme can get better performance than the DFSA algorithm as it can dynamically adjust its contending frame size according to the current channel status.Furthermore, the proposed scheme obviously outperforms the other three collision resolution algorithms in most cases.This is because the proposed scheme takes the time of request command into account, but DFSA does not consider the time of request command, and, however, request commend is a fixed overhead in each read cycle.Finally, in Figure 11, we depict the simulation results of power consumption versus the number of tags.As shown in the figure, the DFSA algorithm sends the most signals to identify all tags and, on the contrary, the proposed scheme sends the least signals to identify all tags.Based on the simulation results, it is confirmed that the proposed scheme is effective because it achieves lower power consumption, lower reading time, and higher system throughput.

Conclusions
In construction of IoT network, the RFID technologies play the role of the front-end data collection, as the basis of IoT.However, in the RFID system, the contending frame size of traditional DFSA based collision resolution algorithm is far from being optimal, and this brings more power consumption, longer reading time, and degraded system throughput.In this paper, I propose a simple and easy-to-implement but yet well-performing pragmatic solution to find out the number of unidentified tags and then I use this result to search for an optimal contending frame size for DFSA based collision resolution algorithm in RFID systems.According to the simulation results, the proposed tags number estimation algorithm has an estimated error rate less than 5%, and it is a strong evidence that the proposed scheme is very efficient.Also, through extensive simulations, important performance metrics such as total delay time, collision rate, and system utilization are thoroughly investigated.Comparing with traditional DFSA algorithm, the simulation results show that the proposed scheme can reduce 8% of collision rate.That is, it proves that the proposed scheme is very energy-saving and cost-effective.In the future, I am planning to apply the same technique in the next generation WiFi protocol and its application in business [26] and try to develop new technique and solutions to deal with the potential weakness in RFIDbased Internet of Things systems [27].

Disclosure
A preliminary version of this paper was published in the conference proceedings of ISWPC 2011.

Figure 1 :
Figure 1: The conceptual framework of RFID system.

Figure 2 :
Figure 2: Collision rate for DFSA algorithm when the contending frame size is equal to the number of existing tags.

Figure 5 :
Figure 5: Identification process of the proposed scheme.
, I compare the utilization factor of each collision resolution algorithm.Utilization factor is defined below: Utilization factor = Number of successful slots Number of total slots .

Figure 8 :Figure 9 :
Figure 8: Read cycle versus number of tags.
Slotted Aloha (DFSA) Algorithm.Since a small contending frame size could cause a large number of collisions and bring bandwidth wastage in dense environments and a large contending frame size could cause a large number of idle slots and also bring bandwidth wastage in sparse environments, the reader should have the ability of min ,

Table 1 :
Notations and variables used in analysis.

Table 2 :
Default attribute values used in the simulation.