Estimation of the cardinality of a set of wireless devices
First Claim
1. A method for estimating the cardinality of a set of one or more tags in a system that comprises the set of one or more tags and one or more readers, wherein:
- the one or more readers are adapted to issue a command requesting that the tags issue a reply to identify themselves, the command including timing information defining a total number of timeslots for the reply; and
in response to the command, one or more of the tags is adapted to (i) select a timeslot in which to reply to the command and (ii) issue the reply in the selected timeslot;
the method comprising;
(a) issuing the command;
(b) receiving, in one or more timeslots, replies from the one or more tags; and
(c) deriving an estimate of the cardinality of the set of one or more tags in the system, wherein the cardinality estimate is at least one of;
(i) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(t0/f)=n0/f, wherein f is the total number of timeslots, and n0 is the number of zero slots;
(ii) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(pt0/f)=n0/f, wherein f is the total number of timeslots, no is the number of zero slots, and p is the probability that a tag will select a given timeslot;
(iii) based on the number of singleton slots, wherein a singleton slot is a timeslot identified as having only one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t1 in the equation
(t1/f)e−
(t1/f)=n1/f, wherein f is the total number of timeslots, and n1 is the number of singleton slots;
(iv) based on the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−
(1+(tc/f))e−
(tc/f)=nc/f, wherein f is the total number of timeslots, and nc is the number of collision slots; and
(v) based on the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1+(1+(ptc/f))e−
(ptc/f)=nc/f, wherein f is the total number of timeslots, nc is the number of collision slots, and p is the probability that a tag will select a given timeslot.
8 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method for estimating the cardinality of one or more tags in a system that has the one or more tags and one or more readers. The reader issues a command requesting that the tags identify themselves. The command includes timing information defining a total number of timeslots. In response to the command, each of the one or more tags (i) selects a timeslot in which to reply to the command and (ii) issues a reply in the selected timeslot. The method includes: (a) issuing the command; (b) receiving, in one or more timeslots, replies from the one or more tags; and (c) deriving an estimate of the cardinality of the one or more tags in the system based on at least one of: (i) the number of zero slots, wherein a zero slot is a timeslot that has no tags transmitting therein, (ii) the number of singleton slots, wherein a singleton slot is a timeslot that has only one tag transmitting therein, and (iii) the number of collision slots, wherein a collision slot is a timeslot that has more than one tag transmitting therein.
-
Citations
23 Claims
-
1. A method for estimating the cardinality of a set of one or more tags in a system that comprises the set of one or more tags and one or more readers, wherein:
-
the one or more readers are adapted to issue a command requesting that the tags issue a reply to identify themselves, the command including timing information defining a total number of timeslots for the reply; and in response to the command, one or more of the tags is adapted to (i) select a timeslot in which to reply to the command and (ii) issue the reply in the selected timeslot; the method comprising; (a) issuing the command; (b) receiving, in one or more timeslots, replies from the one or more tags; and (c) deriving an estimate of the cardinality of the set of one or more tags in the system, wherein the cardinality estimate is at least one of; (i) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(t0 /f)=n0/f,wherein f is the total number of timeslots, and n0 is the number of zero slots; (ii) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(pt0 /f)=n0/f,wherein f is the total number of timeslots, no is the number of zero slots, and p is the probability that a tag will select a given timeslot; (iii) based on the number of singleton slots, wherein a singleton slot is a timeslot identified as having only one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t1 in the equation
(t1/f)e−
(t1 /f)=n1/f,wherein f is the total number of timeslots, and n1 is the number of singleton slots; (iv) based on the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−
(1+(tc/f))e−
(tc /f)=nc/f,wherein f is the total number of timeslots, and nc is the number of collision slots; and (v) based on the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1+(1+(ptc/f))e−
(ptc /f)=nc/f,wherein f is the total number of timeslots, nc is the number of collision slots, and p is the probability that a tag will select a given timeslot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
wherein f is the total number of timeslots, and n0 is the number of zero slots.
-
-
3. The invention of claim 1, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−- (pt
0 /f)=n0/f,wherein f is the total number of timeslots, n0 is the number of zero slots, and p is the probability that a tag will select a given timeslot.
- (pt
-
4. The invention of claim 1, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t1 in the equation
(t1/f)e−- (t
1 /f)=n1/f,wherein f is the total number of timeslots, and n1 is the number of singleton slots.
- (t
-
5. The invention of claim 1, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−- (1+(tc/f))e−
(tc /f)=nc/f,wherein f is the total number of timeslots, and nc is the number of collision slots.
- (1+(tc/f))e−
-
6. The invention of claim 1, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−- (1+(ptc/f))e−
(ptc /f)=nc/f,wherein f is the total number of timeslots, nc is the number of collision slots, and p is the probability that a tag will select a given timeslot.
- (1+(ptc/f))e−
-
7. The invention of claim 1, wherein step (c) further comprises:
determining, based on a load factor of the system, whether to use the number of zero slots or the number of collision slots in deriving the estimate of the cardinality of the set.
-
8. The invention of claim 7, wherein:
-
the load factor is a relationship between (i) an estimated or actual number of tags in the system and (ii) the total number of time slots in the reply; the number of collision slots is used to derive the estimate of the cardinality of the set of one or more tags in the system when the load factor exceeds a specified threshold; and the number of zero slots is used to derive the estimate of the cardinality of the set of one or more tags in the system when the load factor does not exceed the specified threshold.
-
-
9. The invention of claim 1, wherein:
-
steps (a), (b), and (c) are implemented multiple times to generate multiple estimates of cardinality; and the method further comprises deriving a variance of an estimate of the cardinality of the set of one or more tags in the system based on the multiple estimates.
-
-
10. The invention of claim 9, further comprising:
-
deriving a first variance by obtaining a first set of multiple estimates using the number of collision slots; deriving a second variance by obtaining a second set of multiple estimates using the number of zero slots; if the first variance is lower than the second variance, then obtaining one or more subsequent estimates of the cardinality of the set of one or more tags in the system using the number of collision slots; and if the first variance is not lower than the second variance, then obtaining one or more subsequent estimates of the cardinality of the set of one or more tags in the system using the number of zero slots.
-
-
11. Apparatus for estimating the cardinality of a set of one or more tags in a system that comprises the set of one or more tags and one or more readers, wherein:
-
the one or more readers are adapted to issue a command requesting that the tags issue a reply to identify themselves, the command including timing information defining a total number of timeslots for the reply; and in response to the command, one or more of the tags is adapted to (i) select a timeslot in which to reply to the command and (ii) issue the reply in the selected timeslot; the apparatus adapted to; (a) issue the command; (b) receive, in one or more timeslots, replies from the one or more tags; and (c) derive an estimate of the cardinality of the set of one or more tags in the system, wherein the cardinality estimate is at least one of; (i) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(t0 /f)=n0/f,wherein f is the total number of timeslots, and n0 is the number of zero slots; (ii) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(pt0 /f)=n0/f,wherein f is the total number of timeslots, n0 is the number of zero slots, and p is the probability that a tag will select a given timeslot; (iii) based on the number of singleton slots, wherein a singleton slot is a timeslot identified as having only one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t1 in the equation
(t1/f)e−
(t1 /f)=n1/f,wherein f is the total number of timeslots, and n1 is the number of singleton slots; (iv) based on the number of collision slots, wherein a collision slot is a time slot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−
(1+(tc/f))e−
(tc /f)=nc/f,wherein f is the total number of timeslots, and nc is the number of collision slots; and (v) based on the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−
(1+(ptc/f))e−
(ptc /f)=nc/f,wherein f is the total number of timeslots, nc is the number of collision slots, and p is the probability that a tag will select a given timeslot. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
wherein f is the total number of timeslots, and n0 is the number of zero slots.
-
-
15. The invention of claim 11, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−- (pt
0 /f)=n0/f,wherein f is the total number of timeslots, n0 is the number of zero slots, and p is the probability that a tag will select a given timeslot.
- (pt
-
16. The invention of claim 11, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t1 in the equation
(t1/f)e−- (t
1 /f)=n1/f,wherein f is the total number of timeslots, and n1 is the number of singleton slots.
- (t
-
17. The invention of claim 11, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−- (1+(tc/f))e−
(tc /f)=n0/f,wherein f is the total number of timeslots, and nc is the number of collision slots.
- (1+(tc/f))e−
-
18. The invention of claim 11, wherein the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−- (1+(ptc/f))e−
(ptc /f)=nc/f,wherein f is the total number of timeslots, nc is the number of collision slots, and p is the probability that a tag will select a given timeslot.
- (1+(ptc/f))e−
-
19. A machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method for estimating the cardinality of a set of one or more tags in a system that comprises the set of one or more tags and one or more readers, wherein:
-
the one or more readers are adapted to issue a command requesting that the tags issue a reply to identify themselves, the command including timing information defining a total number of timeslots for the reply; and in response to the command, one or more of the tags is adapted to (i) select a timeslot in which to reply to the command and (ii) issue the reply in the selected timeslot; the method comprising; (a) issuing the command; (b) receiving, in one or more timeslots, replies from the one or more tags; and (c) deriving an estimate of the cardinality of the set of one or more tags in the system wherein the cardinality estimate is at least one of; (i) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(t0 /f)=n0/f,wherein f is the total number of timeslots, and n0 is the number of zero slots; (ii) based on the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t0 in the equation
e−
(pt0 /f)=n0/f,wherein f is the total number of timeslots, n0 is the number of zero slots, and p is the probability that a tag will select a given timeslot; (iii) based on the number of singleton slots, wherein a singleton slot is a timeslot identified as having only one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable t1 in the equation
(t1/f)e−
(t1 /f)=n1/f,wherein f is the total number of timeslots, and n1 is the number of singleton slots; (iv) based on the number of collision slots, wherein a collision slot is a time slot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−
(1+(tc/f))e−
(tc /f)=nc/f,wherein f is the total number of timeslots, and nc is the number of collision slots; and (v) based on the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, and the estimate of the cardinality of the set of one or more tags in the system in step (c) is derived by solving for the variable tc in the equation
1−
(1+(ptc/f))e−
(ptc /f)=nc/f,wherein f is the total number of timeslots, nc is the number of collision slots, and p is the probability that a tag will select a given timeslot. - View Dependent Claims (20, 21)
-
-
22. A method for estimating the cardinality of a set of one or more tags in a system that comprises the set of one or more tags and one or more readers, wherein:
-
the one or more readers are adapted to issue a command requesting that the tags issue a reply to identify themselves, the command including timing information defining a total number of timeslots for the reply; and in response to the command, one or more of the tags is adapted to (i) select a timeslot in which to reply to the command and (ii) issue the reply in the selected timeslot; the method comprising; (a) issuing the command; (b) receiving, in one or more timeslots, replies from the one or more tags; and (c) deriving an estimate of the cardinality of the set of one or more tags in the system based on at least one of; (i) the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, (ii) the number of singleton slots, wherein a singleton slot is a timeslot identified as having only one tag transmitting therein, and (iii) the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, wherein; steps (a), (b), and (c) are implemented multiple times to generate multiple estimates of cardinality; and the method further comprises; (d) deriving variances of an estimate of the cardinality of the set of one or more tags in the system based on the multiple estimates, wherein step (d) further comprises; (d1) deriving a first variance by obtaining a first set of multiple estimates using the number of collision slots; (d2) deriving a second variance by obtaining a second set of multiple estimates using the number of zero slots; (d3) if the first variance is lower than the second variance, then obtaining one or more subsequent estimates of the cardinality of the set of one or more tags in the system using the number of collision slots; and (d4) if the first variance is not lower than the second variance, then obtaining one or more subsequent estimates of the cardinality of the set of one or more tags in the system using the number of zero slots.
-
-
23. Apparatus for estimating the cardinality of a set of one or more tags in a system that comprises the set of one or more tags and one or more readers, wherein:
-
the one or more readers are adapted to issue a command requesting that the tags issue a reply to identify themselves, the command including timing information defining a total number of timeslots for the reply; and in response to the command, one or more of the tags is adapted to (i) select a timeslot in which to reply to the command and (ii) issue the reply in the selected timeslot; the apparatus adapted to; (a) issue the command; (b) receive, in one or more timeslots, replies from the one or more tags; and (c) derive an estimate of the cardinality of the set of one or more tags in the system based on at least one of; (i) the number of zero slots, wherein a zero slot is a timeslot identified as having no tags transmitting therein, (ii) the number of singleton slots, wherein a singleton slot is a timeslot identified as having only one tag transmitting therein, and (iii) the number of collision slots, wherein a collision slot is a timeslot identified as having more than one tag transmitting therein, wherein; steps (a), (b), and (c) are implemented multiple times to generate multiple estimates of cardinality; and the method further comprises; (d) deriving variances of an estimate of the cardinality of the set of one or more tags in the system based on the multiple estimates, wherein step (d) further comprises; (d1) deriving a first variance by obtaining a first set of multiple estimates using the number of collision slots; (d2) deriving a second variance by obtaining a second set of multiple estimates using the number of zero slots; (d3) if the first variance is lower than the second variance, then obtaining one or more subsequent estimates of the cardinality of the set of one or more tags in the system using the number of collision slots; and (d4) if the first variance is not lower than the second variance, then obtaining one or more subsequent estimates of the cardinality of the set of one or more tags in the system using the number of zero slots.
-
Specification