readers to identify contentious tags collaboratively. Given that the set of active readers is A and the set of passive readers is the p in the current scheduling round. Season-III works as follows. On one hand,for active readers: 1)Each active reader r;A starts a special frame to Fig.3.Cross-range tag collision estimate the number of its contentious tags in its con- tentious regions using USE [19].The number is denoted r1(1) r6(1 re(O) as n,which can be approximated to T.For instance, 4 n6≈5,n2≈3+5+8+9=25 as shown in Fig.4(a). 9 rs(4)/3 9 rs(1 2)Reader r;divides the procedure into several frames.Each m 3 、6 frame contains n time slots,where n is a constant. In each frame,every contentious tag in ri's contentious r3(1) ra(2) r1) r(1) r70 regions randomly selects a slot to transmit its ID.Namely, (a) (b) each tag independently transmits its ID with the proba- Fig.4.The number on the edge represents the real number of contentious bility of 1/n in each time slot. tag.Active readers are shown in highlight.The number in bracket denotes 3)Reader ri always sends an ACKF feedback to the tag even the weight of the reader.(a)In the first round,active reader set is A1= if it successfully receives the tag's ID.This treatment is r2,r6,r7;(b)In the second round,active reader set is A2 =r5 to force contentious tags always transmit its ID in each frame.In this way,we can guarantee every contentious tag has a chance to be identified by either active or passive A are covered by active readers.Thus,the contentious tags readers. in those regions can be powered and successfully collected. However,only one round of finding MWIS is insufficient to 4)After collecting data from all the contentious tags within cover all the contentious regions.From Fig.4(a),we find that its contentious regions,reader ri still keeps the tags in the the tags in the contentious regions corresponding to edges active state by powering the tags in this round because its neighboring passive readers may miss some tags due to (r4,r5)cannot be powered by any active readers because both r4 and r5 are passive readers. the cross-range tag collision.This is in contrast to Season- I which immediately forces a tag to enter the silent state if To cover all contentious regions,we start the next schedul- the tag is collected in a slot.Until it receives "FINISH" ing round.In this round,we first let each node mark the edges that have covered in previous scheduling rounds and messages from all its neighboring passive readers,the active reader ends its job in the current identification modify the node's weight as the number of left unmarked edges connected to this node.If the weight of a node equals procedure.Note that once a reader becomes an active reader,it will quit Season after the current round. zero,this node does not involve in this scheduling round.In 5)Before ending its job,reader ri broadcasts a"SILENCE" this way,the active reader set becomes A2 =r5 and passive reader set is P2=fr4}in RCG,as shown in Fig.4-(b).After command to its contentious tags to force them to enter the second round,all the contentious regions are covered.In the silent state in the following scheduling rounds.The practice,Season-II will be executed iteratively until all nodes' reader also sets its weight to zero in RCG. weights become zero. On the other hand,for passive readers: 1)During the estimate phase of active readers,each passive E.Season-III reader rjp listens to the responses from tags and Season-III is designed to tackle a new tag collision.Assume estimates the number ni of contentious tags within the readers rI and r2 are chosen as active readers,as shown in contentious regions between it and its neighboring ac- Fig.3.A tag collision happens at reader r3 when tag ti and tive readers.The n estimated by passive readers may t2 are interrogated by ri and r2,respectively.In this case, be less than T,since there may exist contentious reader r1 can correctly receive the ID of t1 and reader r2 regions among passive readers.After estimation,n= can retrieve the ID of t2.However,reader r3 cannot collect Urer()A(TenTe)l.For example.n=8 and any ID because of the collision from two tags.We define n5=5+8+9=22 in Fig.4(a). such a tag collision as cross-range tag collision.Furthermore, 2)Reader ri passively listens to the responses from con- both of reader r1 and reader r2 have no knowledge about tentious tags during its neighboring active readers'inter- whether reader ra has collected data from all contentious rogation.After collecting these tags,it sends a"FINISH" tags.This leads to a confusion from readers r1 and r2: message to its neighboring active readers. when they should stop powering contentious tags?The above 3)If reader rj has no neighboring passive readers in this issue indicates that Season-I cannot be directly applied to round,it ends its job in current identification procedure collect data from contentious tags.Therefore,we propose a and sets its weight to zero in RCG.Otherwise,it still randomized protocol,Season-IIl,to allow active and passive executes the Season protocols in the next schedulingr1 t1 r3 t2 r2 Fig. 3. Cross-range tag collision 3 9 5 3 8 5 8 r1(1) r2(4) r3(1) r4(2) r7(1) r5(4) r6(1) (a) 3 9 5 3 8 5 8 r1(0) r2(0) r3(0) r4(1) r7(0) r5(1) r6(0) (b) Fig. 4. The number on the edge represents the real number of contentious tag. Active readers are shown in highlight. The number in bracket denotes the weight of the reader. (a) In the first round, active reader set is A1 = {r2, r6, r7} ; (b) In the second round, active reader set is A2 = {r5} A1 are covered by active readers. Thus, the contentious tags in those regions can be powered and successfully collected. However, only one round of finding MWIS is insufficient to cover all the contentious regions. From Fig. 4(a), we find that the tags in the contentious regions corresponding to edges (r4, r5) cannot be powered by any active readers because both r4 and r5 are passive readers. To cover all contentious regions, we start the next scheduling round. In this round, we first let each node mark the edges that have covered in previous scheduling rounds and modify the node’s weight as the number of left unmarked edges connected to this node. If the weight of a node equals zero, this node does not involve in this scheduling round. In this way, the active reader set becomes A2 = {r5} and passive reader set is P2 = {r4} in RCG, as shown in Fig. 4-(b). After the second round, all the contentious regions are covered. In practice, Season-II will be executed iteratively until all nodes’ weights become zero. E. Season-III Season-III is designed to tackle a new tag collision. Assume readers r1 and r2 are chosen as active readers, as shown in Fig. 3. A tag collision happens at reader r3 when tag t1 and t2 are interrogated by r1 and r2, respectively. In this case, reader r1 can correctly receive the ID of t1 and reader r2 can retrieve the ID of t2. However, reader r3 cannot collect any ID because of the collision from two tags. We define such a tag collision as cross-range tag collision. Furthermore, both of reader r1 and reader r2 have no knowledge about whether reader r3 has collected data from all contentious tags. This leads to a confusion from readers r1 and r2: when they should stop powering contentious tags? The above issue indicates that Season-I cannot be directly applied to collect data from contentious tags. Therefore, we propose a randomized protocol, Season-III, to allow active and passive readers to identify contentious tags collaboratively. Given that the set of active readers is A and the set of passive readers is the P in the current scheduling round. Season-III works as follows. On one hand, for active readers: 1) Each active reader ri ∈ A starts a special frame to estimate the number of its contentious tags in its contentious regions using USE [19]. The number is denoted as n 1 i , which can be approximated to |T C i |. For instance, n 1 6 ≈ 5,n 1 2 ≈ 3 + 5 + 8 + 9 = 25 as shown in Fig. 4(a). 2) Reader ri divides the procedure into several frames. Each frame contains n 1 i time slots, where n 1 i is a constant. In each frame, every contentious tag in ri’s contentious regions randomly selects a slot to transmit its ID. Namely, each tag independently transmits its ID with the probability of 1/n1 i in each time slot. 3) Reader ri always sends an ACKF feedback to the tag even if it successfully receives the tag’s ID. This treatment is to force contentious tags always transmit its ID in each frame. In this way, we can guarantee every contentious tag has a chance to be identified by either active or passive readers. 4) After collecting data from all the contentious tags within its contentious regions, reader ri still keeps the tags in the active state by powering the tags in this round because its neighboring passive readers may miss some tags due to the cross-range tag collision. This is in contrast to SeasonI which immediately forces a tag to enter the silent state if the tag is collected in a slot. Until it receives “FINISH” messages from all its neighboring passive readers, the active reader ends its job in the current identification procedure. Note that once a reader becomes an active reader, it will quit Season after the current round. 5) Before ending its job, reader ri broadcasts a “SILENCE” command to its contentious tags to force them to enter the silent state in the following scheduling rounds. The reader also sets its weight to zero in RCG. On the other hand, for passive readers: 1) During the estimate phase of active readers, each passive reader rj ∈ P listens to the responses from tags and estimates the number n 1 j of contentious tags within the contentious regions between it and its neighboring active readers. The n 1 j estimated by passive readers may be less than |T C j |, since there may exist contentious regions among passive readers. After estimation, n 1 j = | ∪ ri∈Γ(rj )&ri∈A (T C i ∩ T C j )|. For example, n 1 4 = 8 and n 1 5 = 5 + 8 + 9 = 22 in Fig. 4(a). 2) Reader rj passively listens to the responses from contentious tags during its neighboring active readers’ interrogation. After collecting these tags, it sends a “FINISH” message to its neighboring active readers. 3) If reader rj has no neighboring passive readers in this round, it ends its job in current identification procedure and sets its weight to zero in RCG. Otherwise, it still executes the Season protocols in the next scheduling