Suffix-based double reader tag movement RFID anti-collision method

At present, some existing tag anti-collision algorithms are used mostly in scenarios of fixed number of tags and they perform poorly in tag moving scenarios. Therefore, this paper proposes a double reader tag movement RFID anti-collision method based on suffix, and through the cloud platform based on cloud computing, the supply chain data sharing is realized. Tag moving scenarios usually use a single reader. The proposed employs double reader to expand the recognition range and also to prolong the recognition time, but there is the problem of repeated recognition. This article proposes a suffix-based bit-slot ALOHA (SBSA) algorithm, where this problem is solved and the time-slot is reduced. In view of the problem that a large number of tags entering into the recognition area of readers lead to the reduction of the recognition efficiency. This article proposes a suffix-based tag group bit-slot ALOHA (STGBSA) algorithm, tag grouping and tag estimation methods are proposed. Complexity analysis is deployed in this article, from the perspective of the tag loss ratio and identification efficiency, the performances of various anti-collision algorithms are evaluated and compared with those of the existing methods. The simulation results show that the method proposed in this paper is better than the existing methods.

reach 100%. However, this type of protocol has a large delay and it is not suitable for real-time recognition in a dense tag environment. In situations where the tags move quickly in or out of the recognition range of the reader, the ALOHA-based random algorithms are not suitable to be considered as the tree-based deterministic algorithms.
Some scholars proposed ALOHA-based algorithms. Wong [20] proposed a bit slot ALOHA algorithm based on bit sequences. In DSFA algorithms, Chen [21] proposed a method by the Maximum a Posteriori (MAP) to estimate the tag number, HajMirzaei [22] proposed an efficient method to estimate the lower bound of collided tags by Manchester coding, Wang [23] proposed the secant-iteration-based adaptive and dynamic frame slotted Aloha method (SIADA), Yang [24] proposed a low complexity dynamic frame slotted Aloha (LC-DFSA) anti-collision algorithm. The algorithm proposed in this paper will be compared with the algorithms proposed in recent years, reflecting the good performance of the algorithm in TMRS.
The terms used in this article are defined below: Tag flow-A group of tags are scattered on a conveyor belt and moved into or out of the signal area of the reader through the conveyor belt.
Tag moving density (TMD)-The TMD unit represents the number of tags per slot (tag/slot). For example, TMD = 0.8 tag/slot means that there are 0.8 tags in a slot entering the signal area. Defining the unit of TMD is conducive in analyzing the performance of the dynamic RFID system. Since the reader takes a slot to successfully read the complete information of a tag, TMD is greater than 1 tag/slot, which means a high density.
We analyze the tag movement RFID system based on passive tags. It obtains information about goods by making readers (usually a single reader is used) to identify the passive RFID tags on the conveyor belt. However, the recognition range for a single reader is limited. And the conveyor belt needs to maintain a certain speed determined by the power of the used motor and the governor. The torque is not large enough at a low speed. The conveyor belt becomes unable to move whenever a weight is added to it. Further, the waveform of the output voltage is not good if the speed of the governor is low, which is also harmful to a motor running at a low speed for a long time [25,26]. This shortens the recognition time, leading to missing of tags. The design of double reader model is proposed, which expands the recognition range and prolongs the recognition time. But the interference signal area between the readers becomes much larger than the recognition area. Also, there is a problem with a hidden terminal if it is within the signal interference range of a reader. When the recognition areas of the readers are close to each other, interference between them occurs, whereas they need to work separately. In [12], a reader can determine whether the tag is unread by the previous reader. But, if the tag is a passive one and there is any intermediate power cut, the reader will be unable to determine whether the tag is recognized or not. It will identify the already recognized tags again, and thus will waste a lot of slots on repeated identification.
There is a problem of repeated recognition between readers. This paper proposes a suffix-based bit-slot ALOHA (SBSA) algorithm. In this method, this problem can be solved. Hence, the wastage of the slot cost on repeated identification is saved, and also the slot cost of collided slots is also reduced.
When the tag movement density is high, a large number of tags enter into the signal area of the reader at the same time. This results in increasing tag collisions and makes it difficult to read tags successfully. In order to solve this problem, a suffix-based tag group bit-slot ALOHA (STGBSA) algorithm is proposed in this paper, which controls the number of tags to be read at a time, and thus reduces the likelihood of collisions.
The rest of this article is arranged as follows. In the "Double reader model and cloud platform architecture" section, the double reader model and cloud platform architecture are introduced. In the "Algorithm design" section, the correlation algorithm is introduced. In the "Simulation results and analysis" section, the simulation results and analysis are summarized. Finally, the paper is summarized In the "Conclusions" section.

Double reader model and cloud platform architecture
In actual applications, such as the scanning of shipments in an express warehouse, the shipments at the beginning are scattered on a conveyor belt. The UHF reader [27] is selected as it has a very long working distance (its working frequency is 862 (902)~928 MHz, and it fully supports electronic tags that comply with the EPC CLASS1 G2 and ISO18000-6B standards [28]. Its working distance is usually greater than 1 m, typically 4~6 m. Two readers are built and fixed on the upper end of the conveyor belt. In view of the working frequency and signal interference, the readers read information sequentially. When the movement of tags starts, reader 1 runs. There are infrared sensors between the recognition areas of the two readers. When the induction line of the infrared sensor senses the arrival of a tag, the second reader starts and the first reader closes. The flowchart is shown in Fig. 1.
The definition of a double reader tag movement RFID system is that it uses two readers to sequentially identify a batch of moving tags in a tag stream environment. This kind of RFID system is called a double reader tag movement RFID system (DRTMRS). Accordingly, this paper builds a DRTMRS model as shown in Fig. 2.
The steps of building the model are as follows: Firstly, the length and width of the tag stream are set to be Lx and Ly, respectively, and N new tags are randomly distributed among tag stream. Secondly, the signal radius of reader 1 is set to be R1 radius and that of reader 2 is to be R2 radius . There are induction lines between the recognition areas of the two readers. Then, the tag speed is set to be V step . Two readers send the acquired label EPC information to the local server.
The local server uploads the tag EPC information to the corresponding regional cloud platform through EPC information service (EPCIS) to complete EPCrelated data storage. Cloud platforms in each region form a unified cloud platform to realize data sharing among supply chains. The cloud platform is built according to the idea of cloud computing [29,30], and the demand for cloud resources can be adjusted in real time according to the information flow of the supply chain. The cloud platform architecture is shown in Fig. 3. This article is mainly about the double reader method for preventing tag collision in the cloud platform, and it talks only a little about the cloud platform.

BSA algorithm
The bit-slot ALOHA algorithm [20] is implemented based on a bit sequence. The sequence consists of L bit slots. A bit slot is randomly selected for a tag, which is set to be 1 and all other bit slots are set to be 0. The reader sends an inquiry command to the tag, which randomly generates a bit sequence and sends it to the reader. The reader detects the collided bits in all the bit sequences it receives. If a bit collided, it indicates that the bit slot is selected by at least one tag as shown in Fig. 4. The reader records the collided bits, and the EPC code of the tag corresponding to the collided bits is then asked in turn. If only one tag responds, then the tag is read successfully, otherwise, its recognition is failed.  In the bit-slot ALOHA algorithm, the bit sequence includes L bit slots. Assume that the number of tags in the signal area of the reader is N. Then, the probability of a tag being selected for a certain bit slot is p = 1/L.
Thus, the probability of the slot selected only for one tag (success slot) is: The expected value of the total number of slots (success slots) selected only for one tag is: The probability of the slot selected for more than one tag is: The expected number of collided bit slots is: Set an inquiry of the reader and the corresponding response of the tag as an inquiry cycle (it costs one slot). The tag responds to the bit slot and fully recognizes it as a recognition cycle (it costs one slot). If the reader detects that L collide bit slots collided, then L collide recognition cycles are needed to read the EPC code of each tag. The efficiency of identification is defined as the average number of tags identified in each slot. Then, the identification efficiency β can be expressed as: As only the collided bit slots are read and there is no free slot in the algorithm, it is more efficient compared to the frame slotted ALOHA algorithm.

Introduction of suffix
The EPC coding can realize binary 96-byte information storage as shown in Fig. 5. Each tag has a unique code. When processing a tag, only a part of the EPC code (serial number, 36 bytes), namely the suffix, is processed as the entire EPC code is very long. Reading all the information about a tag requires a slot, and the cost of read the suffix is about 37.5% (36/96) of reading all the information.
As only a part of the EPC code is selected, the suffix of the tag may be repeated. When the number of tags to be identified is N and the length of the suffix of a tag is L suffix , the non-repetition probability of the suffix is: Therefore, the repetition probability of the suffix is: When the length of the suffix remains unchanged and the number of tags to be identified changes, the repetition probability of the suffix is as follows: When L suffix = 36 and N = 1000, then P repetitive = 7.268 * 10 −6 ; When L suffix = 36 and N = 5000, then P repetitive = 1.818 * 10 −4 ; When L suffix = 36 and N = 10000, then P repetitive = 7.272 * 10 −4 .
Although the repetition probability of the suffix is very small for the length of the suffix is 36 bytes, it can be seen that the repetition may still take place irrespective of the number of tags. In this situation, the suffix reprocessing (SR) becomes necessary.
For using the suffix, two suffix tables are required, namely the global suffix table (GST) and the bit suffix table (BST). GST is used to store the suffix of all the recognized tags, while BST is used to record the suffix of the tags received by the reader and appeared in GST during a single reading. The hash table data structure and hash lookup store and lookup suffix respectively.

Construction and application of the SBSA algorithm
The combination of the suffix and the BSA algorithm is called the suffix-based bit slot ALOHA (SBSA). As shown in Algorithm. When the reader sends an inquiry command to the tag in the signal area, the tag randomly generates a bit sequence, and then sends it to the reader. The reader records all the collided bits B and their total number L collide , and then inquires the tag for its suffix in turn. The tag sends the suffix and its length L suffix to the reader at the beginning of its bit slot, and there are two types of responses: 1) Multiple tags response: multiple tags send suffix at the same time, collision of suffix will occur consuming slots of the suffix length. Identification tag failure, these tags will participate in the next round of identification cycle. 2) Single tags response: the suffix of the individual response compares the suffix with that of the identified tag (stored in the global suffix table): 2.1)If the suffix appears in the GST, we call the corresponding tag as a similar identification tag. For this type of tag, the reader stores the suffix in the BST. The remaining portion of the EPC code of a similar identification tag is sent to the reader in a certain proportion during the suffix reprocessing. The reason is that the suffix of a similar identification tag may come from an identified or an unidentified tag. If the suffix is derived from an identification tag, it means that the signal area of the reader covers the tag again, otherwise it means that there is at least one tag with the same suffix. The suffix in the BST is processed later. 2.2)If the suffix does not appear in the GST (it means that the tag has not yet been recognized), the tag immediately sends the remaining portion of its EPC code to the reader and puts the suffix in the GST.
The suffix reprocessing (a certain proportion of the suffix should be extracted from the BST for further identification) after all the collided bits slots are over. This ratio is called the suffix reprocessing proportion (SRP). The purpose is not to miss unidentified tags having the same suffix with identified tags. Summary of the SBSA algorithm is as follows: The suffix is used to determine whether the tag is identified and also to reduce the slot. The slot spent by the reader to read the suffix is about 37.5% (36/96) of that spent to read all the information. The identification efficiency β suffix is expressed as:

STGBSA algorithm
In view of the problem that the recognition efficiency will be greatly reduced when a large number of tags will enter into the recognition area of the reader at the same time, the Suffix based Tag Group Bit-slot ALOHA (STGBSA) algorithm is proposed.

Estimated number of tags
The reader sends n query commands to the tag, and then the tag randomly generates a bit sequence consisting of L bit slots and sends it to the reader. The average of the numbers of collision bits obtained separately against n query commands is taken as the actual number of collision bits, and it is denoted by LP collide . Theoretically, the relationship between the numbers of collision bits LT collide and the number of tags N is determined by Eq. (4), when L = 128, then as shown in Table 1. By comparing the actual number of collision bits with the theoretically expected value, the estimated number of tags N estimate is estimated as the theoretical number of tags N theory when the error is minimum. The specific formula is given below: When the error is minimum, N theory becomes N estimate . Figures 6 and 7 show, respectively, the mean error and the maximum error between the estimated number of tags and the actual number of tags obtained through 100,000 Monte Carlo simulations. It can be seen that the larger the value of n, the smaller the mean error, maximum error and variation. Considering the time cost, n = 5 is taken as the number of times the query command is sent. This method can effectively estimate the number of tags with a fewer slots.

Tag grouping method
In the tag movement RFID system, tags keep entering into the signal area of the reader. Li [31] showed that tags can be grouped according to their entry time into the signal area. The procedure is to assign the same sequence number (SN) to all the tags entering into the signal area during the tag identification process. In this way, the tags, entering into the signal area at the same time period, get the same SN and belong to the same tag group. The sequence numbers of the tags, entering into the signal area at different time periods, are different. The SN is set to be 1, 2, 3, ..., etc. This is called the tag grouping method, which implements the tag group sequencing (TGS) as shown in Fig. 8. We can see that tags for a period of time are grouped into the same tag group. The reader sends a command with a SN, and the tag having that SN can respond to the reader. The time interval of the grouping operation is called the time interval of sequencing (TIS). It can be set as needed. Since the grouping also costs one slot, the identification efficiency β grouping can be calculated as follows: Algorithm construction and application The flow of the STGBSA algorithm flow as follows: The tags begin to enter the signal area of the reader. Firstly, the initial time interval is set to T initial . The tags are assigned to group G 1 after grouping. The estimated tag method is used for the tag group G 1 to determine the estimated tag number N estimate . The sequential time interval of the tag group T is determined by the initial time interval T initial , the estimated number of tags N estimate and the number of suitable tags found in the tag group N suitable through the recognition efficiency. The calculation formula is given by Eq. (11). In "Suitable tags for readers" section, the numbers of suitable tags for reader 1 and 2, and the identification using the SBSA algorithm will be discussed. The tags entering into the signal area are grouped according to the sequential time interval of the tag group T, and assigned to groups G i (i = 2, 3, 4, etc.). They are also identified by using the SBSA algorithm. Figure 9 provides the flow chart of the STGBSA algorithm.

Suitable tags for readers
Number of suitable tags for reader 1: In the STGBSA algorithm, reader 1 recognizes a group of tags only once even if it is not fully recognized, which is effective for large TMD. It also uniformly distributes the remaining new tags recognized by reader 2. The single recognition efficiency is considered here. The relationship between the recognition efficiency of reader 1 and the number of tags can be obtained by using Eq. (10). The simulation of the single recognition of the tag group is shown in Fig. 10. When L = 128 and N = 34, the recognition efficiency of the system reaches its maximum value, which is about 88.54%. The best performance is obtained at around N = 34. A better performance can be obtained if reader 1 can always be made to work in this interval. Number of suitable tags for reader 2: In the STGBSA algorithm, reader 2 may need to recognize the same group of tags multiple times until it is fully recognized and then to proceed to recognize the next group of tags, so as to ensure that no tag is missed. Therefore, the recognition efficiency should consider multiple recognitions. The relationship between the recognition efficiency of reader 2 and the number of tags can be obtained by using Eq. (10). The simulation of the full recognition of a tag group is shown in Fig. 11. When L = 128 and N = 42, the recognition efficiency of the system reaches its maximum value, which is about 88.17%. The best performance is obtained at around N = 42. A better performance can be obtained if reader 2 can always be made to work in this interval.
It should be noted that reader 1 recognizes all new tags, and hence no suffix judgment is required here. The suffix and the remaining EPC codes are directly read by the successful slot. Reader 2 also needs to do suffix judgment.

Complexity analysis
Computational complexity is shown in Table 2. Wang estimate the number of initial tags by secant iteration, and used two probing frames to eliminate the Pseudosolution, which has certain computational complexity. HajMirzaei proposed an efficient method that estimates the lower bound of collided tags (ET) by Manchester coding, whose value closest to the number of unidentified tags are determined according to the difference between the optimal and calculated numbers of collided slots in each cycle. The formula used in the method is not complicated. Chen used the polynomial distribution of repeated independent tests to simulate the exact probability of empty slots, success slots, and collided slots, whose formulas are computationally very intensive. Yang estimated the range of tag numbers according to the last frame size, the number of successful slots and the ratio of idle slots. Then the optimal frame size can be calculated. All the demarcation points and border values of LC-DFSA can be fairly simple. The SBSA and STGBSA algorithms used the hash table data structure and hash lookup store and lookup suffix, respectively, for which only a few computing resources are needed. But the STGBSA algorithm also involves the counting of the number of collided bits, estimating of the number of tags, and grouping of tags. The low-complexity HajMirzaei, Yang and SBSA were taken as examples for simulation, when L = 128, frame length interval L interval (2-512), as shown in Fig. 12. It can be seen that the algorithm complexity of SBSA algorithm is not the lowest in static recognition, and some time are spent in generating bit sequences. The Manchester coding collision of HajMirzaei algorithm increases the time slot overhead, and Yang algorithm has the lowest algorithm complexity due to its simple calculation formula.

Simulation results and analysis
In order to verify the applicability and effectiveness of the STGBSA algorithm proposed in this paper. HajMirzaei, Yang algorithms as well as the SBSA and STGBSA algorithms are applied to the double reader tag movement RFID system. The tag loss ratio (TLR) and the identification efficiency (IE) are used as the performance indicators to evaluate the performances of the considered anti-collision algorithms. The TLR refers to the ratio of the number of tags lost to the total number of tags, and the IE refers to the ratio of the number of identification tags to the total slot cost (the tag flow enters and leaves the double reader area). Finally, the influence of the ratio of suffix reprocessing is discussed. MATLAB is used in the simulation experiment. In the simulation, the tags are considered to be uniformly distributed. The detailed information of the parameters is given in Table 3. Analysis and comparison of simulation results of TLR and IE Figures 13 and 14 show that the number of tags increases gradually. The number of tags changes from 1000 to 3000 (that is, the tag moving density TMD is less than 1 tag/slot). In HajMirzaei algorithm, the tag loss ratio increases sharply and the growth rate of the identification efficiency slows down when the number of tags is greater than 1700. When the number of tags reaches 2200, the identification efficiency reaches its peak value of 0.2105 and decreases thereafter. Since estimate the number of tags is more accurate, the performance of Yang algorithm is better than that of HajMirzaei algorithm. When the number of tags is greater than 1800, the tag loss ratio also increases sharply, and the growth rate of the recognition efficiency becomes slow. When the number of tags reaches 2300, the identification efficiency reaches its peak value of 0.221 and decreases thereafter. When the number of tags is 3000, the tag loss ratios of HajMirzaei, Yang, the SBSA and STGBSA algorithms are 0.4587, 0.4317, 0 and 0, respectively, and their recognition efficiencies are 17.51%, 19.04%, 33.33% and 33.33%, respectively. Both HajMirzaei and Yang lose tags and miss reading tags under a low density, IE reaches its own peak. The SBSA and STGBSA algorithms have no tag loss, and the growth rates of their recognition efficiencies remain unchanged, which reflect the efficiencies of the algorithms. The proposed algorithms are highly applicable to the tag movement RFID system.

Simulation results and analysis of TLR and IE under high density
Entering of a large number of tags into the signal area of the reader at the same time results in collision of increased number of tags, and the tag moving density (TMD) greater than 1 tag/slot, which is a high density. HajMirzaei has the highest TLR and the lowest IE under a low density, we need not to talk about it under high density. Figures 15 and 16 show that in the case of a high density, the BSA algorithm always has tag loss, the TLR keeps increasing, and the IE keeps decreasing. The SBSA algorithm starts to lose tags when the TMD is 1.12 tag/slot and the TLR is 0.2%. After that, the TLR gradually increases, making it difficult to handle the case under a higher density. However, the SGSBA algorithm solves the problem that the recognition of a large number of tags at the same time leads to increased tag collisions in the grouping method. The tag loss occurs only when the TMD is 1.30 tag/slot and the TLR is 0.12%. At this point of time, the TLR of the SBSA algorithm  It can be seen that when the tag movement density is high and the number of tags is large, the SGSBA algorithm is able to reduce the possibility of the missing of reading tags and to significantly improve the performance of the system.

Simulation results and analysis of the influence of SRP
When the suffix length L suffix is 36 and the number of tags N is 4000, the suffix repetition probability P repetitive = 1.638 * 10 −4 . Figure 17 shows that the number of losing tags reduces when the SRP increases. This is because, the larger the SRP, the more suffix needs to be processed by consuming more slots. However, if the length of the suffix is large enough, the probability of repeating suffix is inherently low. However, the increased proportion does not have much effect on it. Note that it is useful to increase the proportion if the suffix repeating probability is relatively high.

Conclusions
The tag movement RFID system usually uses a single reader. However, the recognition range of a single reader is limited, which results in a short recognition time and missing of reading tags. In view of this problem, the design of double reader is proposed in this paper. An SBSA algorithm is provided, which uses the suffix to reduce the collision of slots and the slot cost of repeated identification between the readers. The STGBSA algorithm is  also proposed, which groups the estimated number of tags to solve the problem that a large number of tags entering into the signal area of readers at the same time lead to increasing tag collision and difficulty in successfully reading tags. Simulations show that as the number of tags increases, the performances of the proposed SBSA and STGBSA algorithms are greatly improved compared to other algorithms. Especially when the TMD is a high density, the STGBSA algorithm can ensure that no tag is missed in the tag grouping method (which the tags of each tag group successively). It solves the problem, which is left out in the ALOHA algorithm, that the tags are read randomly, resulting in missing of reading tags. Therefore, the design and the algorithms proposed in this paper have certain application values in the movement RFID systems. In the future, the algorithm will be optimized to consider the impact of change the suffix length and bit sequence length.